diff --git a/.attw.json b/.attw.json index a4bd686a..b9d2af96 100644 --- a/.attw.json +++ b/.attw.json @@ -2,6 +2,6 @@ "color": true, "emoji": true, "format": "ascii", - "ignoreRules": ["cjs-resolves-to-esm"], + "ignoreRules": ["cjs-resolves-to-esm", "internal-resolution-error"], "summary": true } diff --git a/.codecov.yml b/.codecov.yml index 6d32c89f..f99a45aa 100644 --- a/.codecov.yml +++ b/.codecov.yml @@ -4,12 +4,12 @@ --- codecov: notify: - after_n_builds: 4 + after_n_builds: 1 wait_for_ci: true require_ci_to_pass: true comment: - after_n_builds: 4 + after_n_builds: 1 behavior: default layout: header,diff,flags,components,tree,footer require_base: false @@ -27,23 +27,19 @@ component_management: - component_id: cli name: cli paths: - - src/cli/**/*.ts - - component_id: config - name: config - paths: - - src/config/*.ts + - src/cli/**/*.mts - component_id: internal name: internal paths: - - src/internal/*.ts + - src/internal/*.mts - component_id: plugins name: plugins paths: - - src/plugins/**/*.ts + - src/plugins/*.mts - component_id: utils name: utils paths: - - src/utils/*.ts + - src/utils/*.mts coverage: precision: 2 @@ -92,19 +88,7 @@ coverage: threshold: 0% flags: - node20: - carryforward: false - paths: - - src/ - node19: - carryforward: false - paths: - - src/ - node18: - carryforward: false - paths: - - src/ - node16: + node23: carryforward: false paths: - src/ @@ -113,16 +97,19 @@ github_checks: annotations: true ignore: - - '**/__mocks__/**' - - '**/__tests__/**' - - '**/index.ts' + - '**/*.d.mts' + - '**/__mocks__/' + - '**/__tests__/' + - '**/index.mts' - '**/interfaces/' - '**/types/' - - src/plugins/**/options.ts + - '!src/index.mts' + - src/internal/*.browser.mts profiling: critical_files_paths: - - src/cli/**/*.ts - - src/config/*.ts - - src/internal/create-context.ts - - src/make.ts + - src/cli/**/*.mts + - src/make.mts + - src/plugins/*.mts + - src/utils/load-build-config.mts + - src/utils/runnable-task.mts diff --git a/.commitlintrc.cts b/.commitlintrc.ts similarity index 77% rename from .commitlintrc.cts rename to .commitlintrc.ts index d515ed66..7aca4c86 100644 --- a/.commitlintrc.cts +++ b/.commitlintrc.ts @@ -18,11 +18,12 @@ import { scopes } from '@flex-development/commitlint-config' const config: UserConfig = { extends: ['@flex-development'], rules: { - 'scope-enum': [ - Severity.Error, - 'always', - scopes(['bundle', 'options', 'transpile']) - ] + 'scope-enum': [Severity.Error, 'always', scopes([ + 'bundle', + 'chore', + 'options', + 'transpile' + ])] } } diff --git a/.cspell.json b/.cspell.json index 32d4d0c6..1237839a 100644 --- a/.cspell.json +++ b/.cspell.json @@ -13,8 +13,9 @@ "failFast": false, "flagWords": [], "ignorePaths": [ - "**/*.log", + "**/*.patch", "**/*.snap", + "**/*.wasm", "**/.*ignore", "**/.gitconfig", "**/CHANGELOG.md", @@ -26,15 +27,10 @@ ".husky/_/", ".vscode/settings.json", ".yarn/", - "dist/", "patches/", "yarn.lock" ], - "ignoreRegExpList": [ - "/@flex-development\\/.*/", - "/from\\s+(['\"]).*\\1/", - "import\\(.*\\)" - ], + "ignoreRegExpList": [], "ignoreWords": [], "language": "en-US", "patterns": [], diff --git a/.dictionary.txt b/.dictionary.txt index 61712686..51ee9755 100644 --- a/.dictionary.txt +++ b/.dictionary.txt @@ -1,48 +1,33 @@ -ardatan -atoi attw -bdougie -booleanish cefc codecov -commitish commitlintrc dedupe -defu -dequal dessant +devlop dists +docast dohm dprint -emojify esbuild -evanw fbca +finalised ggshield gpgsign -groupby hmarr -iife -infile -iterare -keyid +jchen +kaisugi ksort -larsgw lcov -lintstagedrc -memfs mkbuild -mlly -nestjs -nocheck -npmrc nvmrc -onrequest -pathe pkgs -preid +reexporter +remarkrc +rollup +sarif shfmt -swcrc +smob toodles tribonacci tscu diff --git a/.dprint.jsonc b/.dprint.jsonc index 9e81f898..c0a3b18b 100644 --- a/.dprint.jsonc +++ b/.dprint.jsonc @@ -1,37 +1,33 @@ { "$schema": "https://dprint.dev/schemas/v0.json", "excludes": [ - "!**/__fixtures__/**/dist/", - "!**/__fixtures__/**/node_modules/", - "!**/typings/**/dist/", + "!*.scratch.*", + "!scratch.*", "**/*.patch", "**/*.snap", - "**/*config.*.timestamp*", - "**/.temp/", - "**/.vercel/", - "**/__tests__/report.json", - "**/coverage/", - "**/dist/", - "**/node_modules", - "**/tsconfig*temp.json", + "**/CHANGELOG.md", + "**/LICENSE.md", + "**/RELEASE_NOTES.md", ".git/", ".husky/_/", ".yarn/", - "CHANGELOG.md", - "LICENSE.md", - "RELEASE_NOTES.md", "yarn.lock" ], "exec": { "commands": [ { - "command": "node ./dprint/prettier.mjs {{file_path}}", - "exts": ["json5", "yaml", "yml"], + "command": "node --experimental-strip-types --experimental-transform-types ./dprint/prettier.mts {{file_path}}", + "exts": ["css", "html", "json5", "scss", "yaml", "yml"], "stdin": true }, { - "command": "node ./dprint/shfmt.mjs {{file_path}}", - "exts": ["sh", "txt", "zsh"], + "command": "node --experimental-strip-types --experimental-transform-types ./dprint/remark.mts {{file_path}}", + "exts": ["md", "mdx"], + "stdin": true + }, + { + "command": "node --experimental-strip-types --experimental-transform-types ./dprint/shfmt.mts {{file_path}}", + "exts": ["sh", "zsh"], "fileNames": [ ".editorconfig", ".env", @@ -42,7 +38,6 @@ ".gitattributes", ".gitconfig", ".gitignore", - ".markdownlintignore", ".npmrc", ".nvmrc", "Brewfile", @@ -52,35 +47,24 @@ ], "stdin": true } - ] + ], + "cwd": "${configDir}" }, - "incremental": true, "indentWidth": 2, "json": { "associations": ["**/*.{jsonc,json}"], "array.preferSingleLine": false, "commentLine.forceSpaceAfterSlashes": true, "ignoreNodeCommentText": "dprint-ignore", - "object.preferSingleLine": false + "object.preferSingleLine": false, + "trailingCommas": "never" }, "lineWidth": 80, - "markdown": { - "associations": ["**/*.{md,mdx}"], - "emphasisKind": "asterisks", - "ignoreDirective": "dprint-ignore", - "ignoreEndDirective": "dprint-ignore-end", - "ignoreFileDirective": "dprint-ignore-file", - "ignoreStartDirective": "dprint-ignore-start", - "lineWidth": 120, - "strongKind": "asterisks", - "textWrap": "maintain" - }, "newLineKind": "lf", "plugins": [ - "https://plugins.dprint.dev/typescript-0.87.1.wasm", - "https://plugins.dprint.dev/json-0.17.4.wasm", - "https://plugins.dprint.dev/markdown-0.16.0.wasm", - "https://plugins.dprint.dev/exec-0.4.3.json@42343548b8022c99b1d750be6b894fe6b6c7ee25f72ae9f9082226dd2e515072" + "https://plugins.dprint.dev/typescript-0.91.6.wasm", + "https://plugins.dprint.dev/json-0.19.3.wasm", + "https://plugins.dprint.dev/exec-0.5.0.json@8d9972eee71fa1590e04873540421f3eda7674d0f1aae3d7c788615e7b7413d0" ], "typescript": { "arrowFunction.useParentheses": "preferNone", @@ -88,13 +72,13 @@ "binaryExpression.operatorPosition": "sameLine", "binaryExpression.spaceSurroundingBitwiseAndArithmeticOperator": true, "bracePosition": "sameLine", - "commentLine.forceSpaceAfterSlashes": true, + "commentLine.forceSpaceAfterSlashes": false, "constructSignature.spaceAfterNewKeyword": true, "constructor.spaceBeforeParentheses": false, "constructorType.spaceAfterNewKeyword": true, "doWhileStatement.spaceAfterWhileKeyword": true, "enumDeclaration.memberSpacing": "maintain", - "exportDeclaration.forceMultiLine": false, + "exportDeclaration.forceMultiLine": "never", "exportDeclaration.forceSingleLine": false, "exportDeclaration.sortNamedExports": "maintain", "exportDeclaration.spaceSurroundingNamedExports": true, @@ -109,15 +93,15 @@ "ifStatement.spaceAfterIfKeyword": true, "ignoreFileCommentText": "dprint-ignore-file", "ignoreNodeCommentText": "dprint-ignore", - "importDeclaration.forceMultiLine": false, + "importDeclaration.forceMultiLine": "never", "importDeclaration.forceSingleLine": false, "importDeclaration.sortNamedImports": "maintain", "importDeclaration.spaceSurroundingNamedImports": true, "jsx.bracketPosition": "nextLine", "jsx.forceNewLinesSurroundingContent": false, - "jsx.multiLineParens": "always", + "jsx.multiLineParens": "prefer", "jsx.quoteStyle": "preferSingle", - "jsxExpressionContainer.spaceSurroundingExpression": true, + "jsxExpressionContainer.spaceSurroundingExpression": false, "jsxSelfClosingElement.spaceBeforeSlash": true, "memberExpression.linePerExpression": false, "method.spaceBeforeParentheses": false, diff --git a/.editorconfig b/.editorconfig index d931b04e..c7bacd95 100644 --- a/.editorconfig +++ b/.editorconfig @@ -22,12 +22,8 @@ spaces_around_operators = true tab_width = 2 trim_trailing_whitespace = true -# handlebars -[*.hbs] -max_line_length = 100 - # markdown -[*.md] +[{*.md,*.mdx}] max_line_length = 120 # shellscript @@ -45,10 +41,6 @@ switch_case_indent = true [*.snap] max_line_length = 130 -# xml -[*.xml] -max_line_length = 100 - # yaml [{*.yaml,*.yml}] max_line_length = 100 diff --git a/.env.vars b/.env.vars new file mode 100644 index 00000000..cb4e28c1 --- /dev/null +++ b/.env.vars @@ -0,0 +1,3 @@ +# repository variables + +GH_PROJECT_NUMBER=12 diff --git a/.env.zsh b/.env.zsh index 019440a5..5ff969e5 100644 --- a/.env.zsh +++ b/.env.zsh @@ -8,3 +8,4 @@ [ -f $PWD/.env.repo ] && source $PWD/.env.repo HOMEBREW_BREWFILE=./Brewfile NODE_NO_WARNINGS=1 +NODE_OPTIONS='--experimental-strip-types --experimental-transform-types' diff --git a/.eslintignore b/.eslintignore deleted file mode 100644 index 7f0839ac..00000000 --- a/.eslintignore +++ /dev/null @@ -1,31 +0,0 @@ -# ESLINT IGNORE -# https://eslint.org/docs/user-guide/configuring/ignoring-code#the-eslintignore-file - -# DIRECTORIES & FILES -**/*.patch -**/*.snap -**/*config.*.timestamp* -**/.DS_Store -**/__tests__/report.json -**/coverage/ -**/.temp/ -**/dist/ -**/node_modules/ -**/tsconfig*temp.json -yarn.lock - -# NEGATED PATTERNS -!**/.eslintrc* -!**/__fixtures__/**/dist/ -!**/__fixtures__/**/node_modules/ -!**/typings/**/dist/ -!.attw.json -!.codecov.yml -!.commitlintrc.* -!.cspell.json -!.dprint.* -!.github/ -!.lintstagedrc.json -!.markdownlint.jsonc -!.vscode/ -!.yarnrc.yml diff --git a/.eslintrc.base.cjs b/.eslintrc.base.cjs deleted file mode 100644 index 811b0465..00000000 --- a/.eslintrc.base.cjs +++ /dev/null @@ -1,1289 +0,0 @@ -/** - * @file ESLint Configuration - Base - * @module config/eslint/base - * @see https://eslint.org/docs/user-guide/configuring - */ - -/** - * @type {typeof import('node:fs')} - * @const fs - */ -const fs = require('node:fs') - -/** - * @type {typeof import('./tsconfig.json')} - * @const tsconfig - Tsconfig object - */ -const tsconfig = require('./tsconfig.json') - -/** - * @type {boolean} - * @const jsx - JSX check - */ -const jsx = Boolean(tsconfig.compilerOptions.jsx) - -/** - * @type {import('eslint').Linter.Config} - * @const config - ESLint configuration object - */ -const config = { - env: { - [require('./tsconfig.build.json').compilerOptions.target]: true, - node: true - }, - extends: [], - overrides: [ - { - extends: ['eslint:recommended', 'plugin:@typescript-eslint/recommended'], - files: '**/*.+(cjs|cts|js|jsx|mjs|mts|ts|tsx)', - globals: { - BufferEncoding: 'readonly', - Chai: 'readonly', - Console: 'readonly', - JSX: jsx ? 'readonly' : false, - NodeJS: 'readonly' - }, - parser: '@typescript-eslint/parser', - parserOptions: { - extraFileExtensions: [], - project: ['./tsconfig.json', './tsconfig.cjs.json'], - sourceType: require('./package.json').type, - tsconfigRootDir: process.cwd(), - warnOnUnsupportedTypeScriptVersion: true - }, - plugins: [ - '@typescript-eslint', - 'import', - 'jsdoc', - 'node', - 'promise', - 'unicorn' - ], - rules: { - '@typescript-eslint/adjacent-overload-signatures': 2, - '@typescript-eslint/array-type': [ - 2, - { - default: 'array', - readonly: 'array' - } - ], - '@typescript-eslint/await-thenable': 2, - '@typescript-eslint/ban-ts-comment': [ - 2, - { - minimumDescriptionLength: 3, - 'ts-expect-error': 'allow-with-description', - 'ts-ignore': 'allow-with-description', - 'ts-nocheck': 'allow-with-description' - } - ], - '@typescript-eslint/ban-tslint-comment': 2, - '@typescript-eslint/ban-types': [ - 2, - { - extendDefaults: true, - types: {} - } - ], - '@typescript-eslint/camelcase': 0, - '@typescript-eslint/class-literal-property-style': [2, 'getters'], - '@typescript-eslint/consistent-indexed-object-style': [2, 'record'], - '@typescript-eslint/consistent-type-assertions': [ - 2, - { - assertionStyle: 'as', - objectLiteralTypeAssertions: 'allow' - } - ], - '@typescript-eslint/consistent-type-definitions': 0, - '@typescript-eslint/consistent-type-exports': [ - 2, - { - fixMixedExportsWithInlineTypeSpecifier: true - } - ], - '@typescript-eslint/consistent-type-imports': 0, - '@typescript-eslint/default-param-last': 2, - '@typescript-eslint/dot-notation': [ - 2, - { - allowIndexSignaturePropertyAccess: false, - allowKeywords: true, - allowPattern: undefined, - allowPrivateClassPropertyAccess: false, - allowProtectedClassPropertyAccess: false - } - ], - '@typescript-eslint/explicit-function-return-type': 0, - '@typescript-eslint/explicit-member-accessibility': [ - 2, - { - accessibility: 'explicit', - overrides: { - constructors: 'no-public' - } - } - ], - '@typescript-eslint/init-declarations': 0, - '@typescript-eslint/lines-between-class-members': [ - 2, - 'always', - { - exceptAfterOverload: true, - exceptAfterSingleLine: false - } - ], - '@typescript-eslint/member-ordering': [ - 2, - { - default: { - memberTypes: [ - 'static-field', - 'instance-field', - 'constructor', - 'signature', - 'static-get', - 'static-set', - 'static-method', - 'instance-get', - 'instance-set', - 'instance-method' - ], - order: 'alphabetically' - } - } - ], - '@typescript-eslint/method-signature-style': [2, 'method'], - '@typescript-eslint/no-array-constructor': 2, - '@typescript-eslint/no-base-to-string': [ - 2, - { - ignoredTypeNames: ['Error', 'RegExp', 'URL', 'URLSearchParams'] - } - ], - '@typescript-eslint/no-confusing-non-null-assertion': 0, - '@typescript-eslint/no-confusing-void-expression': [ - 2, - { - ignoreArrowShorthand: true, - ignoreVoidOperator: true - } - ], - '@typescript-eslint/no-dupe-class-members': 2, - '@typescript-eslint/no-dynamic-delete': 2, - '@typescript-eslint/no-empty-function': [ - 2, - { - allow: ['constructors', 'decoratedFunctions'] - } - ], - '@typescript-eslint/no-empty-interface': 0, - '@typescript-eslint/no-explicit-any': 0, - '@typescript-eslint/no-extra-non-null-assertion': 2, - '@typescript-eslint/no-extra-parens': 0, - '@typescript-eslint/no-extra-semi': 0, - '@typescript-eslint/no-extraneous-class': [ - 2, - { - allowConstructorOnly: false, - allowEmpty: true, - allowStaticOnly: true, - allowWithDecorator: true - } - ], - '@typescript-eslint/no-floating-promises': [ - 2, - { - ignoreIIFE: false, - ignoreVoid: true - } - ], - '@typescript-eslint/no-for-in-array': 2, - '@typescript-eslint/no-implied-eval': 2, - '@typescript-eslint/no-inferrable-types': 0, - '@typescript-eslint/no-invalid-this': [2, { capIsConstructor: true }], - '@typescript-eslint/no-invalid-void-type': [ - 2, - { - allowAsThisParameter: true, - allowInGenericTypeArguments: true - } - ], - '@typescript-eslint/no-loop-func': 2, - '@typescript-eslint/no-loss-of-precision': 2, - '@typescript-eslint/no-magic-numbers': 0, - '@typescript-eslint/no-meaningless-void-operator': 0, - '@typescript-eslint/no-misused-new': 2, - '@typescript-eslint/no-misused-promises': [ - 2, - { - checksConditionals: true, - checksVoidReturn: true - } - ], - '@typescript-eslint/no-namespace': 0, - '@typescript-eslint/no-non-null-asserted-nullish-coalescing': 2, - '@typescript-eslint/no-non-null-asserted-optional-chain': 0, - '@typescript-eslint/no-non-null-assertion': 0, - '@typescript-eslint/no-parameter-properties': 0, - '@typescript-eslint/no-redeclare': [ - 2, - { - builtinGlobals: true, - ignoreDeclarationMerge: true - } - ], - '@typescript-eslint/no-redundant-type-constituents': 2, - '@typescript-eslint/no-require-imports': 2, - '@typescript-eslint/no-restricted-imports': 0, - '@typescript-eslint/no-shadow': 0, - '@typescript-eslint/no-this-alias': [ - 2, - { - allowDestructuring: false, - allowedNames: ['self'] - } - ], - '@typescript-eslint/no-throw-literal': 0, - '@typescript-eslint/no-type-alias': 0, - '@typescript-eslint/no-unnecessary-boolean-literal-compare': [ - 2, - { - allowComparingNullableBooleansToFalse: true, - allowComparingNullableBooleansToTrue: true - } - ], - '@typescript-eslint/no-unnecessary-condition': [ - 2, - { - allowConstantLoopConditions: true, - allowRuleToRunWithoutStrictNullChecksIKnowWhatIAmDoing: false - } - ], - '@typescript-eslint/no-unnecessary-qualifier': 2, - '@typescript-eslint/no-unnecessary-type-arguments': 2, - '@typescript-eslint/no-unnecessary-type-assertion': [ - 2, - { - typesToIgnore: [] - } - ], - '@typescript-eslint/no-unnecessary-type-constraint': 2, - '@typescript-eslint/no-unsafe-argument': 2, - '@typescript-eslint/no-unsafe-assignment': 0, - '@typescript-eslint/no-unsafe-call': 2, - '@typescript-eslint/no-unsafe-member-access': 2, - '@typescript-eslint/no-unsafe-return': 2, - '@typescript-eslint/no-unused-expressions': [ - 2, - { - allowShortCircuit: true, - allowTaggedTemplates: true, - allowTernary: true, - enforceForJSX: true - } - ], - '@typescript-eslint/no-unused-vars': [ - 2, - { - args: 'after-used', - caughtErrors: 'all', - ignoreRestSiblings: false, - vars: 'all' - } - ], - '@typescript-eslint/no-use-before-define': [ - 2, - { - classes: true, - enums: true, - functions: true, - ignoreTypeReferences: true, - typedefs: true, - variables: true - } - ], - '@typescript-eslint/no-useless-constructor': 2, - '@typescript-eslint/no-useless-empty-export': 2, - '@typescript-eslint/no-var-requires': 2, - '@typescript-eslint/non-nullable-type-assertion-style': 2, - '@typescript-eslint/padding-line-between-statements': 0, - '@typescript-eslint/prefer-as-const': 2, - '@typescript-eslint/prefer-enum-initializers': 0, - '@typescript-eslint/prefer-for-of': 2, - '@typescript-eslint/prefer-function-type': 2, - '@typescript-eslint/prefer-includes': 0, - '@typescript-eslint/prefer-literal-enum-member': [ - 2, - { - allowBitwiseExpressions: true - } - ], - '@typescript-eslint/prefer-namespace-keyword': 2, - '@typescript-eslint/prefer-nullish-coalescing': [ - 2, - { - ignoreConditionalTests: true, - ignoreMixedLogicalExpressions: true, - ignorePrimitives: { string: true } - } - ], - '@typescript-eslint/prefer-optional-chain': 2, - '@typescript-eslint/prefer-readonly': 2, - '@typescript-eslint/prefer-readonly-parameter-types': 0, - '@typescript-eslint/prefer-reduce-type-parameter': 2, - '@typescript-eslint/prefer-regexp-exec': 2, - '@typescript-eslint/prefer-return-this-type': 0, - '@typescript-eslint/prefer-string-starts-ends-with': 2, - '@typescript-eslint/prefer-ts-expect-error': 2, - '@typescript-eslint/promise-function-async': 2, - '@typescript-eslint/quotes': [ - 2, - 'single', - { - allowTemplateLiterals: true, - avoidEscape: true - } - ], - '@typescript-eslint/require-array-sort-compare': 2, - '@typescript-eslint/require-await': 2, - '@typescript-eslint/restrict-plus-operands': [ - 2, - { - allowAny: false, - allowBoolean: false, - allowNullish: false, - allowNumberAndString: true, - allowRegExp: false, - skipCompoundAssignments: true - } - ], - '@typescript-eslint/restrict-template-expressions': [ - 2, - { - allowAny: false, - allowBoolean: true, - allowNullish: true, - allowNumber: true, - allowRegExp: true - } - ], - '@typescript-eslint/return-await': [2, 'in-try-catch'], - '@typescript-eslint/sort-type-constituents': 2, - '@typescript-eslint/strict-boolean-expressions': [ - 2, - { - allowAny: false, - allowNullableBoolean: true, - allowNullableNumber: true, - allowNullableObject: true, - allowNullableString: true, - allowNumber: true, - allowRuleToRunWithoutStrictNullChecksIKnowWhatIAmDoing: false, - allowString: true - } - ], - '@typescript-eslint/switch-exhaustiveness-check': 2, - '@typescript-eslint/triple-slash-reference': [ - 2, - { - lib: 'never', - path: 'never', - types: 'prefer-import' - } - ], - '@typescript-eslint/typedef': 0, - '@typescript-eslint/unbound-method': [2, { ignoreStatic: true }], - '@typescript-eslint/unified-signatures': 2, - 'default-param-last': 0, - eqeqeq: 1, - 'import/no-duplicates': [ - 2, - { - considerQueryString: true, - 'prefer-inline': true - } - ], - 'init-declarations': 0, - 'jsdoc/check-access': 1, - 'jsdoc/check-alignment': 1, - 'jsdoc/check-examples': 0, - // https://github.com/gajus/eslint-plugin-jsdoc/issues/541 - 'jsdoc/check-indentation': 0, - 'jsdoc/check-line-alignment': 1, - 'jsdoc/check-param-names': [ - 1, - { - allowExtraTrailingParamDocs: false, - checkDestructured: true, - checkRestProperty: true, - disableExtraPropertyReporting: true, - enableFixer: true - } - ], - 'jsdoc/check-property-names': [1, { enableFixer: true }], - 'jsdoc/check-syntax': 1, - 'jsdoc/check-tag-names': [ - 1, - { - definedTags: [ - 'decorator', - 'experimental', - 'maximum', - 'minimum', - 'next', - 'packageManager', - 'visibleName' - ], - jsxTags: false - } - ], - 'jsdoc/check-types': [1, { unifyParentAndChildTypeChecks: true }], - 'jsdoc/check-values': 1, - 'jsdoc/empty-tags': 1, - 'jsdoc/implements-on-classes': 1, - 'jsdoc/match-description': 0, - 'jsdoc/match-name': 0, - 'jsdoc/multiline-blocks': 1, - 'jsdoc/no-bad-blocks': [1, { preventAllMultiAsteriskBlocks: true }], - 'jsdoc/no-defaults': 0, - 'jsdoc/no-missing-syntax': 0, - 'jsdoc/no-multi-asterisks': [ - 1, - { - allowWhitespace: true, - preventAtEnd: true, - preventAtMiddleLines: true - } - ], - 'jsdoc/no-restricted-syntax': 0, - 'jsdoc/no-types': 0, - 'jsdoc/no-undefined-types': [1, { definedTypes: ['never', 'unknown'] }], - 'jsdoc/require-asterisk-prefix': [1, 'always'], - 'jsdoc/require-description': [ - 1, - { - checkConstructors: true, - checkGetters: true, - checkSetters: true, - descriptionStyle: 'body' - } - ], - 'jsdoc/require-description-complete-sentence': 0, - 'jsdoc/require-example': 0, - 'jsdoc/require-file-overview': [ - 1, - { - tags: { - file: { - initialCommentsOnly: true, - mustExist: true, - preventDuplicates: true - }, - module: { - initialCommentsOnly: true, - mustExist: true, - preventDuplicates: true - } - } - } - ], - 'jsdoc/require-hyphen-before-param-description': 1, - 'jsdoc/require-jsdoc': [ - 1, - { - checkConstructors: true, - checkGetters: true, - checkSetters: true, - enableFixer: true, - exemptEmptyConstructors: true, - exemptEmptyFunctions: false - } - ], - 'jsdoc/require-param': [ - 1, - { - autoIncrementBase: 0, - checkConstructors: true, - checkDestructured: true, - checkDestructuredRoots: true, - checkGetters: true, - checkRestProperty: true, - checkSetters: true, - enableFixer: true, - enableRestElementFixer: true, - enableRootFixer: true, - exemptedBy: ['inheritdoc', 'this'], - unnamedRootBase: ['param'], - useDefaultObjectProperties: true - } - ], - 'jsdoc/require-param-description': 1, - 'jsdoc/require-param-name': 1, - 'jsdoc/require-param-type': 1, - 'jsdoc/require-property': 1, - 'jsdoc/require-property-description': 1, - 'jsdoc/require-property-name': 1, - 'jsdoc/require-property-type': 1, - 'jsdoc/require-returns': [ - 1, - { - checkConstructors: false, - checkGetters: true, - forceRequireReturn: true, - forceReturnsWithAsync: true - } - ], - 'jsdoc/require-returns-check': [ - 1, - { - exemptAsync: false, - exemptGenerators: true, - reportMissingReturnForUndefinedTypes: true - } - ], - 'jsdoc/require-returns-description': 1, - 'jsdoc/require-returns-type': 1, - 'jsdoc/require-throws': 1, - 'jsdoc/require-yields': [ - 1, - { - forceRequireNext: true, - forceRequireYields: true, - next: true, - nextWithGeneratorTag: true, - withGeneratorTag: true - } - ], - 'jsdoc/require-yields-check': [ - 1, - { - checkGeneratorsOnly: true, - next: true - } - ], - 'jsdoc/sort-tags': 0, - 'jsdoc/tag-lines': [ - 1, - 'any', - { - applyToEndTag: true, - count: 1, - endLines: 0, - startLines: 1, - tags: {} - } - ], - 'jsdoc/valid-types': [1, { allowEmptyNamepaths: true }], - 'lines-between-class-members': 0, - 'no-array-constructor': 0, - 'no-case-declarations': 0, - 'no-duplicate-imports': 0, - 'no-empty': [2, { allowEmptyCatch: true }], - 'no-empty-function': 0, - 'no-ex-assign': 0, - 'no-extra-parens': 0, - 'no-extra-semi': 0, - 'no-implied-eval': 0, - 'no-invalid-this': 0, - 'no-loop-func': 0, - 'no-loss-of-precision': 0, - 'no-magic-numbers': 0, - 'no-restricted-imports': 0, - 'no-return-await': 0, - 'no-shadow': 0, - 'no-sparse-arrays': 0, - 'no-throw-literal': 0, - 'no-unused-expressions': 0, - 'no-unused-vars': 0, - 'no-use-before-define': 0, - 'no-useless-constructor': 0, - 'no-warning-comments': 0, - 'node/callback-return': [2, ['callback', 'cb', 'done', 'next']], - 'node/exports-style': [2, 'module.exports', { allowBatchAssign: true }], - 'node/file-extension-in-import': 0, - 'node/global-require': 0, - 'node/handle-callback-err': [2, '^(err|error)$'], - 'node/no-callback-literal': 2, - 'node/no-deprecated-api': 2, - 'node/no-exports-assign': 2, - 'node/no-extraneous-import': 0, - 'node/no-extraneous-require': 0, - 'node/no-missing-import': 0, - 'node/no-new-require': 2, - 'node/no-path-concat': 2, - 'node/no-process-env': 0, - 'node/no-process-exit': 0, - 'node/no-unpublished-bin': 0, - 'node/no-unpublished-import': 0, - 'node/no-unpublished-require': 0, - 'node/no-unsupported-features/es-builtins': 2, - 'node/no-unsupported-features/es-syntax': 0, - 'node/no-unsupported-features/node-builtins': 2, - 'node/prefer-global/buffer': 2, - 'node/prefer-global/console': 2, - 'node/prefer-global/process': 2, - 'node/prefer-global/text-decoder': 2, - 'node/prefer-global/text-encoder': 2, - 'node/prefer-global/url': 2, - 'node/prefer-global/url-search-params': 2, - 'node/prefer-promises/dns': 2, - 'node/prefer-promises/fs': 2, - 'node/process-exit-as-throw': 2, - 'node/shebang': 0, - 'padding-line-between-statements': 0, - 'prefer-arrow-callback': 0, - 'promise/always-return': 2, - 'promise/avoid-new': 0, - 'promise/catch-or-return': [2, { allowFinally: true, allowThen: true }], - 'promise/no-callback-in-promise': 2, - 'promise/no-native': 0, - 'promise/no-nesting': 2, - 'promise/no-new-statics': 2, - 'promise/no-promise-in-callback': 2, - 'promise/no-return-in-finally': 2, - 'promise/no-return-wrap': [2, { allowReject: false }], - 'promise/param-names': 2, - 'promise/prefer-await-to-callbacks': 1, - 'promise/prefer-await-to-then': 2, - 'promise/valid-params': 2, - quotes: 0, - 'require-await': 0, - 'sort-keys': [ - 2, - 'asc', - { - caseSensitive: true, - minKeys: 2, - natural: true - } - ], - 'unicorn/better-regex': [2, { sortCharacterClasses: true }], - 'unicorn/catch-error-name': [2, { name: 'e' }], - 'unicorn/consistent-destructuring': 2, - 'unicorn/custom-error-definition': 2, - 'unicorn/empty-brace-spaces': 2, - 'unicorn/error-message': 2, - 'unicorn/escape-case': 2, - 'unicorn/expiring-todo-comments': [ - 2, - { - allowWarningComments: true, - ignore: [], - ignoreDatesOnPullRequests: true, - terms: ['@fixme', '@todo'] - } - ], - 'unicorn/explicit-length-check': 0, - 'unicorn/filename-case': [ - 2, - { - cases: { kebabCase: true }, - ignore: [] - } - ], - 'unicorn/import-index': 2, - 'unicorn/import-style': [ - 2, - { - styles: { - shelljs: { default: true } - } - } - ], - 'unicorn/new-for-builtins': 2, - 'unicorn/no-abusive-eslint-disable': 2, - 'unicorn/no-array-callback-reference': 0, - 'unicorn/no-array-for-each': 2, - 'unicorn/no-array-method-this-argument': 2, - 'unicorn/no-array-push-push': 0, - 'unicorn/no-array-reduce': 0, - 'unicorn/no-await-expression-member': 0, - 'unicorn/no-console-spaces': 2, - 'unicorn/no-empty-file': 2, - 'unicorn/no-for-loop': 0, - 'unicorn/no-hex-escape': 2, - 'unicorn/no-instanceof-array': 2, - 'unicorn/no-keyword-prefix': [ - 2, - { - checkProperties: false, - disallowedPrefixes: ['class', 'new'], - onlyCamelCase: true - } - ], - 'unicorn/no-lonely-if': 0, - 'unicorn/no-nested-ternary': 0, - 'unicorn/no-new-array': 2, - 'unicorn/no-new-buffer': 2, - 'unicorn/no-null': 0, - 'unicorn/no-object-as-default-parameter': 2, - 'unicorn/no-process-exit': 2, - 'unicorn/no-static-only-class': 0, - 'unicorn/no-thenable': 2, - 'unicorn/no-this-assignment': 2, - 'unicorn/no-unreadable-array-destructuring': 0, - 'unicorn/no-unsafe-regex': 0, - 'unicorn/no-unused-properties': 2, - 'unicorn/no-useless-fallback-in-spread': 2, - 'unicorn/no-useless-length-check': 2, - 'unicorn/no-useless-promise-resolve-reject': 2, - 'unicorn/no-useless-spread': 2, - 'unicorn/no-useless-undefined': 2, - 'unicorn/no-zero-fractions': 2, - 'unicorn/number-literal-case': 0, - // https://github.com/sindresorhus/eslint-plugin-unicorn/issues/2003 - 'unicorn/numeric-separators-style': 0, - 'unicorn/prefer-add-event-listener': 2, - 'unicorn/prefer-array-find': 2, - 'unicorn/prefer-array-flat': [2, { functions: [] }], - 'unicorn/prefer-array-flat-map': 2, - 'unicorn/prefer-array-index-of': 2, - 'unicorn/prefer-array-some': 2, - 'unicorn/prefer-at': 0, - 'unicorn/prefer-code-point': 2, - 'unicorn/prefer-date-now': 2, - 'unicorn/prefer-default-parameters': 2, - 'unicorn/prefer-export-from': [2, { ignoreUsedVariables: true }], - 'unicorn/prefer-includes': 2, - 'unicorn/prefer-json-parse-buffer': 0, - 'unicorn/prefer-math-trunc': 2, - 'unicorn/prefer-module': 2, - 'unicorn/prefer-negative-index': 2, - 'unicorn/prefer-node-protocol': 2, - 'unicorn/prefer-number-properties': 2, - 'unicorn/prefer-object-from-entries': [2, { functions: [] }], - 'unicorn/prefer-optional-catch-binding': 2, - 'unicorn/prefer-prototype-methods': 2, - 'unicorn/prefer-reflect-apply': 2, - 'unicorn/prefer-regexp-test': 0, - 'unicorn/prefer-set-has': 2, - 'unicorn/prefer-spread': 2, - 'unicorn/prefer-string-replace-all': 0, - 'unicorn/prefer-string-slice': 2, - 'unicorn/prefer-string-starts-ends-with': 2, - 'unicorn/prefer-string-trim-start-end': 2, - 'unicorn/prefer-switch': 2, - 'unicorn/prefer-ternary': 2, - 'unicorn/prefer-top-level-await': 0, - 'unicorn/prefer-type-error': 2, - 'unicorn/prevent-abbreviations': 0, - 'unicorn/relative-url-style': [2, 'never'], - 'unicorn/require-array-join-separator': 2, - 'unicorn/require-number-to-fixed-digits-argument': 2, - 'unicorn/string-content': [2, { patterns: {} }], - 'unicorn/template-indent': [2, { indent: 2 }], - 'unicorn/text-encoding-identifier-case': 2, - 'unicorn/throw-new-error': 2 - } - }, - { - files: '**/*.+(cts|mts|ts)', - rules: { - '@typescript-eslint/explicit-module-boundary-types': [ - 2, - { - allowArgumentsExplicitlyTypedAsAny: true, - allowDirectConstAssertionInArrowFunctions: true, - allowHigherOrderFunctions: false, - allowTypedFunctionExpressions: false, - allowedNames: [] - } - ], - 'no-undef': 0 - } - }, - { - files: '**/*.d.+(cts|mts|ts)', - rules: { - '@typescript-eslint/ban-types': 0, - '@typescript-eslint/triple-slash-reference': 0, - 'jsdoc/no-undefined-types': 0, - 'jsdoc/require-file-overview': 0, - 'no-var': 0, - 'unicorn/filename-case': 0, - 'unicorn/no-keyword-prefix': 0 - } - }, - { - files: '**/*.+(cjs|cts)', - rules: { - '@typescript-eslint/no-require-imports': 0, - '@typescript-eslint/no-var-requires': 0, - 'unicorn/prefer-module': 0 - } - }, - { - files: '**/__mocks__/**/*.ts', - rules: { - '@typescript-eslint/no-unused-vars': 0, - '@typescript-eslint/require-await': 0 - } - }, - { - files: '**/__tests__/*.+(spec|spec-d).ts', - globals: { - afterAll: true, - afterEach: true, - assert: true, - beforeAll: true, - beforeEach: true, - chai: true, - describe: true, - expect: true, - faker: fs.existsSync('node_modules/@faker-js/faker'), - it: true, - pf: fs.existsSync('node_modules/pretty-format'), - suite: true, - test: true, - vi: true, - vitest: true - }, - plugins: ['chai-expect', 'jest-formatting'], - rules: { - '@typescript-eslint/class-literal-property-style': 0, - '@typescript-eslint/consistent-indexed-object-style': 0, - '@typescript-eslint/no-base-to-string': 0, - '@typescript-eslint/no-empty-function': 0, - '@typescript-eslint/no-invalid-void-type': 0, - '@typescript-eslint/no-unused-expressions': 0, - '@typescript-eslint/prefer-as-const': 0, - '@typescript-eslint/prefer-ts-expect-error': 0, - '@typescript-eslint/require-await': 0, - '@typescript-eslint/restrict-template-expressions': 0, - '@typescript-eslint/unbound-method': 0, - 'chai-expect/missing-assertion': 2, - 'chai-expect/no-inner-compare': 2, - 'chai-expect/no-inner-literal': 2, - 'chai-expect/terminating-properties': [2, { properties: [] }], - 'jest-formatting/padding-around-after-all-blocks': 1, - 'jest-formatting/padding-around-after-each-blocks': 1, - 'jest-formatting/padding-around-before-all-blocks': 1, - 'jest-formatting/padding-around-before-each-blocks': 1, - 'jest-formatting/padding-around-describe-blocks': 1, - 'jest-formatting/padding-around-expect-groups': 1, - 'jest-formatting/padding-around-test-blocks': 1, - 'promise/prefer-await-to-callbacks': 0, - 'promise/valid-params': 0, - 'unicorn/consistent-destructuring': 0, - 'unicorn/error-message': 0, - 'unicorn/no-array-for-each': 0, - 'unicorn/no-hex-escape': 0, - 'unicorn/no-useless-undefined': 0, - 'unicorn/prefer-at': 0, - 'unicorn/prefer-dom-node-append': 0, - 'unicorn/string-content': 0 - } - }, - { - files: '**/__tests__/*.spec-d.ts', - globals: { - assertType: true, - expectTypeOf: true - }, - rules: { - '@typescript-eslint/ban-types': 0, - '@typescript-eslint/no-redundant-type-constituents': 0 - } - }, - { - files: ['**/decorators/*.constraint.ts', '**/*.decorator.ts'], - rules: { - '@typescript-eslint/ban-types': 0, - '@typescript-eslint/no-invalid-void-type': 0 - } - }, - { - files: ['**/enums/*.ts', '**/interfaces/*.ts', '**/types/*.ts'], - rules: { - 'jsdoc/check-indentation': 0, - 'unicorn/no-keyword-prefix': 0 - } - }, - { - files: '**/*.+(cjs|js|mjs)', - rules: { - '@typescript-eslint/explicit-member-accessibility': 0 - } - }, - { - files: '**/*.+(json|json5|jsonc)', - parser: 'jsonc-eslint-parser', - plugins: ['jsonc'], - rules: { - 'jsonc/no-bigint-literals': 2, - 'jsonc/no-binary-expression': 2, - 'jsonc/no-binary-numeric-literals': 2, - 'jsonc/no-escape-sequence-in-identifier': 2, - 'jsonc/no-hexadecimal-numeric-literals': 2, - 'jsonc/no-infinity': 2, - 'jsonc/no-multi-str': 2, - 'jsonc/no-nan': 2, - 'jsonc/no-number-props': 2, - 'jsonc/no-numeric-separators': 2, - 'jsonc/no-octal': 0, - 'jsonc/no-octal-escape': 2, - 'jsonc/no-octal-numeric-literals': 2, - 'jsonc/no-parenthesized': 2, - 'jsonc/no-plus-sign': 2, - 'jsonc/no-regexp-literals': 2, - 'jsonc/no-sparse-arrays': 2, - 'jsonc/no-template-literals': 2, - 'jsonc/no-undefined-value': 2, - 'jsonc/no-unicode-codepoint-escapes': 2, - 'jsonc/no-useless-escape': 2, - 'jsonc/sort-array-values': [ - 2, - { - order: { caseSensitive: true, type: 'asc' }, - pathPattern: '^$' - } - ], - 'jsonc/sort-keys': [ - 2, - { - order: { caseSensitive: true, type: 'asc' }, - pathPattern: '^$' - } - ], - 'jsonc/valid-json-number': 2, - 'jsonc/vue-custom-block/no-parsing-error': 2 - } - }, - { - files: ['**/*.+(json5|jsonc)', 'tsconfig*.json'], - rules: { - 'jsonc/no-comments': 0 - } - }, - { - files: ['**/package.json'], - rules: { - 'jsonc/sort-keys': [ - 2, - { - order: [ - 'name', - 'description', - 'version', - 'keywords', - 'license', - 'homepage', - 'repository', - 'bugs', - 'author', - 'contributors', - 'publishConfig', - 'type', - 'files', - 'exports', - 'main', - 'module', - 'types', - 'scripts', - 'dependencies', - 'devDependencies', - 'optionalDependencies', - 'peerDependencies', - 'resolutions', - 'engines', - 'packageManager', - 'readme' - ], - pathPattern: '^$' - } - ] - } - }, - { - files: '**/*.md', - parser: 'eslint-plugin-markdownlint/parser', - plugins: ['markdown', 'markdownlint'], - processor: 'markdown/markdown' - }, - { - files: '**/*.md/*.+(cjs|cts|js|jsx|mjs|mts|ts|tsx)', - parserOptions: { project: false }, - rules: { - '@typescript-eslint/await-thenable': 0, - '@typescript-eslint/consistent-type-exports': 0, - '@typescript-eslint/dot-notation': 0, - '@typescript-eslint/naming-convention': 0, - '@typescript-eslint/no-base-to-string': 0, - '@typescript-eslint/no-confusing-void-expression': 0, - '@typescript-eslint/no-duplicate-type-constituents': 0, - '@typescript-eslint/no-floating-promises': 0, - '@typescript-eslint/no-for-in-array': 0, - '@typescript-eslint/no-implied-eval': 0, - '@typescript-eslint/no-meaningless-void-operator': 0, - '@typescript-eslint/no-misused-promises': 0, - '@typescript-eslint/no-mixed-enums': 0, - '@typescript-eslint/no-redundant-type-constituents': 0, - '@typescript-eslint/no-throw-literal': 0, - '@typescript-eslint/no-unnecessary-boolean-literal-compare': 0, - '@typescript-eslint/no-unnecessary-condition': 0, - '@typescript-eslint/no-unnecessary-qualifier': 0, - '@typescript-eslint/no-unnecessary-type-arguments': 0, - '@typescript-eslint/no-unnecessary-type-assertion': 0, - '@typescript-eslint/no-unsafe-argument': 0, - '@typescript-eslint/no-unsafe-assignment': 0, - '@typescript-eslint/no-unsafe-call': 0, - '@typescript-eslint/no-unsafe-enum-comparison': 0, - '@typescript-eslint/no-unsafe-member-access': 0, - '@typescript-eslint/no-unsafe-return': 0, - '@typescript-eslint/no-unused-expressions': 0, - '@typescript-eslint/non-nullable-type-assertion-style': 0, - '@typescript-eslint/prefer-includes': 0, - '@typescript-eslint/prefer-nullish-coalescing': 0, - '@typescript-eslint/prefer-optional-chain': 0, - '@typescript-eslint/prefer-readonly': 0, - '@typescript-eslint/prefer-readonly-parameter-types': 0, - '@typescript-eslint/prefer-reduce-type-parameter': 0, - '@typescript-eslint/prefer-regexp-exec': 0, - '@typescript-eslint/prefer-return-this-type': 0, - '@typescript-eslint/prefer-string-starts-ends-with': 0, - '@typescript-eslint/promise-function-async': 0, - '@typescript-eslint/require-array-sort-compare': 0, - '@typescript-eslint/require-await': 0, - '@typescript-eslint/restrict-plus-operands': 0, - '@typescript-eslint/restrict-template-expressions': 0, - '@typescript-eslint/return-await': 0, - '@typescript-eslint/strict-boolean-expressions': 0, - '@typescript-eslint/switch-exhaustiveness-check': 0, - '@typescript-eslint/unbound-method': 0, - 'jsdoc/require-file-overview': 0, - 'unicorn/filename-case': 0 - } - }, - { - files: '**/*.+(yaml|yml)', - parser: 'yaml-eslint-parser', - plugins: ['yml'], - rules: { - 'spaced-comment': 0, - 'yml/block-mapping': 2, - 'yml/block-mapping-question-indicator-newline': [2, 'never'], - 'yml/block-sequence': 2, - 'yml/block-sequence-hyphen-indicator-newline': [2, 'never'], - 'yml/flow-mapping-curly-newline': 2, - 'yml/flow-mapping-curly-spacing': [ - 2, - 'always', - { - arraysInObjects: false, - objectsInObjects: false - } - ], - 'yml/flow-sequence-bracket-newline': 2, - 'yml/flow-sequence-bracket-spacing': 2, - 'yml/indent': [2, 2], - 'yml/key-name-casing': [ - 2, - { - SCREAMING_SNAKE_CASE: true, - camelCase: false, - 'kebab-case': true, - snake_case: true - } - ], - 'yml/key-spacing': 2, - 'yml/no-empty-document': 0, - 'yml/no-empty-key': 2, - 'yml/no-empty-mapping-value': 0, - 'yml/no-empty-sequence-entry': 2, - 'yml/no-irregular-whitespace': 2, - 'yml/no-multiple-empty-lines': [2, { max: 2, maxBOF: 0, maxEOF: 1 }], - 'yml/no-tab-indent': 2, - 'yml/plain-scalar': [2, 'always'], - 'yml/quotes': [2, { avoidEscape: true, prefer: 'single' }], - 'yml/require-string-key': 2, - 'yml/sort-keys': [ - 2, - { - order: { caseSensitive: true, type: 'asc' }, - pathPattern: '^$' - } - ], - 'yml/sort-sequence-values': [ - 2, - { - order: { caseSensitive: true, type: 'asc' }, - pathPattern: '^$' - } - ], - 'yml/spaced-comment': 2 - } - }, - { - files: '.eslintrc.*', - rules: { - '@typescript-eslint/no-unsafe-member-access': 0, - 'unicorn/string-content': 0 - } - }, - { - files: '.github/ISSUE_TEMPLATE/*.yml', - rules: { - 'yml/sort-keys': [ - 2, - { - order: [ - 'name', - 'description', - 'title', - 'assignees', - 'labels', - 'body' - ], - pathPattern: '^$' - } - ] - } - }, - { - files: '.github/ISSUE_TEMPLATE/config.yml', - rules: { - 'yml/sort-keys': [ - 2, - { - order: { caseSensitive: true, type: 'asc' }, - pathPattern: '^$' - } - ] - } - }, - { - files: [ - '.github/dependabot.yml', - '.github/workflows/*.yml', - 'action.yml', - 'docker*.yml' - ], - rules: { - 'yml/sort-keys': 0 - } - }, - { - files: ['.github/workflows/*.yml', '.yarnrc.yml', 'docker*.yml'], - rules: { - 'yml/key-name-casing': 0 - } - }, - { - files: ['.vscode/launch.json'], - rules: { - 'jsonc/sort-keys': 0 - } - } - ], - plugins: [], - reportUnusedDisableDirectives: true, - rules: {}, - settings: { - 'import/parsers': { - '@typescript-eslint/parser': ['.cts', '.mts', '.ts', '.tsx'] - }, - 'import/resolver': { - node: true, - typescript: true - }, - jsdoc: { - augmentsExtendsReplacesDocs: true, - ignoreInternal: false, - ignorePrivate: false, - implementsReplacesDocs: true, - overrideReplacesDocs: true, - preferredTypes: { - '*': false, - '.<>': false, - 'Array<>': { replacement: '[]' }, - Object: { replacement: 'object' }, - 'Object<>': { replacement: 'Record<>' }, - object: 'object' - }, - structuredTags: { - const: { - name: 'namepath-defining', - required: ['name'] - }, - decorator: { - name: 'none' - }, - enum: { - name: 'namepath-defining', - required: ['name', 'type'] - }, - experimental: { - name: 'none' - }, - extends: { - name: 'namepath-defining', - required: ['type'] - }, - implements: { - name: 'namepath-defining', - required: ['type'] - }, - maximum: { - name: 'text', - required: ['name'] - }, - member: { - name: 'namepath-defining', - required: ['name', 'type'] - }, - minimum: { - name: 'text', - required: ['name'] - }, - next: { - name: 'namepath-defining', - required: ['type'] - }, - packageManager: { - name: 'text', - required: ['name'] - }, - param: { - name: 'namepath-defining', - required: ['name', 'type'] - }, - return: { - name: 'namepath-defining', - required: ['type'] - }, - throws: { - name: 'namepath-defining', - required: ['type'] - }, - type: { - name: 'namepath-defining', - required: ['type'] - }, - var: { - name: 'namepath-defining', - required: ['name'] - }, - visibleName: { - required: ['name'] - }, - yield: { - name: 'namepath-defining', - required: ['type'] - } - }, - tagNamePreference: { - augments: 'extends', - constant: 'const', - fileoverview: 'file', - member: 'member', - returns: 'return', - var: 'var', - yields: 'yield' - } - } - } -} - -module.exports = config diff --git a/.eslintrc.cjs b/.eslintrc.cjs deleted file mode 100644 index ed40d050..00000000 --- a/.eslintrc.cjs +++ /dev/null @@ -1,25 +0,0 @@ -/** - * @file ESLint Configuration - Root - * @module config/eslint - * @see https://eslint.org/docs/user-guide/configuring - */ - -/** - * @type {import('eslint').Linter.Config} - * @const config - ESLint configuration object - */ -const config = { - extends: ['./.eslintrc.base.cjs'], - overrides: [ - ...require('./.eslintrc.base.cjs').overrides, - { - files: ['src/cli/app.module.ts'], - rules: { - 'unicorn/no-process-exit': 0 - } - } - ], - root: true -} - -module.exports = config diff --git a/.gitattributes b/.gitattributes index ac4b1285..3393ce02 100644 --- a/.gitattributes +++ b/.gitattributes @@ -21,9 +21,9 @@ *.cjs text eol=lf *.cts text eol=lf *.gql text eol=lf -*.hbs text eol=lf +*.html text eol=lf diff=html *.js text eol=lf -*.json text eol=lf +*.json text eol=lf linguist-language=JSON-with-Comments *.json5 text eol=lf *.jsonc text eol=lf *.jsx text eol=lf diff --git a/.github/.gitconfig b/.github/.gitconfig index bd74537b..2e50bbc9 100644 --- a/.github/.gitconfig +++ b/.github/.gitconfig @@ -25,7 +25,7 @@ chb = "!f() { git checkout -b \"$@\" && git pou \"$@\"; }; f" chp = "!f() { git checkout $@ && git pull; }; f" # commit with message -cm = "!f() { git commit -s -m \"$@\"; }; f" +cm = "!f() { git commit -S -s -m \"$@\"; }; f" # tell git to start tracking branch and push to origin pou = "!f() { git push origin --no-verify -u $@; }; f" @@ -62,7 +62,7 @@ fpnv = "!f() { git pnv --force ; }; f" pnv = "!f() { git push --no-verify $@; }; f" [branch] -autosetuprebase = always +autoSetupRebase = always [checkout] defaultRemote = origin @@ -85,6 +85,12 @@ tool = vscode [difftool "vscode"] cmd = code-insiders --wait --diff $LOCAL $REMOTE +[filter "lfs"] +clean = git-lfs clean -- %f +smudge = git-lfs smudge -- %f +process = git-lfs filter-process +required = true + [gitflow "prefix"] feature = feat/ hotfix = hotfix/ @@ -97,6 +103,10 @@ program = gpg2 [init] defaultBranch = main +[log] +date = iso8601-strict +decorate = short + [merge] tool = vscode @@ -111,6 +121,8 @@ autoStash = true [tag] forceSignAnnotated = true +gpgsign = true +sort = -creatordate [url "git@github.com:"] insteadOf = gh: diff --git a/.github/ISSUE_TEMPLATE/feature.yml b/.github/ISSUE_TEMPLATE/feature.yml index c21cc46c..0be64223 100644 --- a/.github/ISSUE_TEMPLATE/feature.yml +++ b/.github/ISSUE_TEMPLATE/feature.yml @@ -2,8 +2,8 @@ name: Feature description: Suggest new feature or improvement title: 👀 labels: - - type:feat - status:needs-triage + - type:feat body: - type: markdown attributes: diff --git a/.github/PULL_REQUEST_TEMPLATE.md b/.github/PULL_REQUEST_TEMPLATE.md index 51edcab4..ee6716c4 100755 --- a/.github/PULL_REQUEST_TEMPLATE.md +++ b/.github/PULL_REQUEST_TEMPLATE.md @@ -1,5 +1,9 @@ +<!--lint disable--> + ## Description +<!--lint enable--> + <!-- A clear and concise description of your changes. --> ## Linked issues @@ -31,6 +35,6 @@ Include additional details here. Be sure to note if any tolerable vulnerabilitie - [ ] tests added and/or updated - [ ] documentation added or updated - [ ] new, **tolerable** vulnerabilities and/or warnings documented, if any -- [ ] [pr naming conventions][1] +- [ ] [pr naming conventions][pr-naming] -[1]: https://github.com/flex-development/mkbuild/blob/main/CONTRIBUTING.md#pull-request-titles +[pr-naming]: https://github.com/flex-development/mkbuild/blob/main/CONTRIBUTING.md#pull-request-titles diff --git a/.github/dependabot.yml b/.github/dependabot.yml index 7a742684..e8ebc563 100644 --- a/.github/dependabot.yml +++ b/.github/dependabot.yml @@ -8,7 +8,7 @@ version: 2 registries: github: - token: ${{ secrets.PAT_BOT }} + token: ${{ secrets.GH_REGISTRY_TOKEN }} type: npm-registry url: https://npm.pkg.github.com updates: @@ -20,9 +20,6 @@ updates: labels: - scope:dependencies - type:ci - reviewers: - - flex-development/dependabot-review - - flexdevelopment schedule: interval: daily - package-ecosystem: npm @@ -31,31 +28,37 @@ updates: include: scope directory: / groups: - conventional-changelog: + commitlint: patterns: - - conventional-recommended-bump + - '@commitlint/*' + eslint: + patterns: + - '@eslint/js' + - '@types/eslint' + - '@types/eslint__js' + - eslint flex-development: patterns: - '@flex-development/*' nestjs: patterns: - '@nestjs/*' + remark: + patterns: + - 'remark-*' + - remark typescript-eslint: patterns: - '@typescript-eslint/*' + - typescript-eslint vitest: patterns: - '@vitest/*' - - vitest* - ignore: - - dependency-name: nest-commander + - vitest labels: - scope:dependencies - type:build registries: - github - reviewers: - - flex-development/dependabot-review - - flexdevelopment schedule: interval: daily diff --git a/.github/infrastructure.yml b/.github/infrastructure.yml index 0b48cf89..b5109079 100644 --- a/.github/infrastructure.yml +++ b/.github/infrastructure.yml @@ -1,6 +1,6 @@ -# REPOSITORY INFRASTRUCTURE SETTINGS +# REPOSITORY INFRASTRUCTURE +# https://github.com/flex-development/repostructure-action --- -# https://docs.github.com/rest/branches/branch-protection#update-branch-protection branches: - name: main protection: @@ -23,42 +23,23 @@ branches: checks: - context: add-to-project - context: auto-merge + - context: auto-review - context: build - - context: codecov/changes - app_id: 254 - - context: codecov/patch - app_id: 254 - - context: codecov/project - app_id: 254 - - context: codecov/project/config - app_id: 254 - - context: codecov/project/internal - app_id: 254 - - context: codecov/project/plugins - app_id: 254 - - context: codecov/project/utils - app_id: 254 + - context: changelog - context: commitlint - - context: dependabot-auto + - context: dependabot-dedupe - context: format - context: gitguardian - context: lint - context: spelling - - context: test (16) - - context: test (18) - - context: test (19) - - context: test (20.6.1) - - context: typescript (5.1.6) - - context: typescript (5.2.2) - - context: typescript (latest) + - context: test (23) + - context: typescript (5.7.3) strict: true restrictions: null -# https://docs.github.com/rest/deployments/environments#create-or-update-an-environment environments: - environment_name: gpr - environment_name: npm - environment_name: release -# https://docs.github.com/rest/issues/labels#create-a-label labels: - name: flag:breaking-change description: contains changes that require major version bump @@ -186,7 +167,6 @@ labels: - name: type:task description: project tasks color: 0052cc -# https://docs.github.com/rest/repos/repos#update-a-repository repository: allow_auto_merge: true allow_merge_commit: false @@ -197,7 +177,7 @@ repository: automated_security_fixes: true default_branch: main delete_branch_on_merge: true - description: 🚧 An esbuild based file-to-file transformer and bundler + description: 🚧 A file-to-file transformer and bundler has_issues: true has_projects: true has_wiki: false @@ -212,23 +192,14 @@ repository: squash_merge_commit_message: BLANK squash_merge_commit_title: PR_TITLE topics: - - bundle + - build-tool - bundler - - cli - - dts - esbuild - file-to-file - - jsx - - nest-commander - - nestjs-commander - - react - - transpile + - rollup - transpiler - typescript visibility: public vulnerability_alerts: true web_commit_signoff_required: true -# https://docs.github.com/rest/teams/teams#add-or-update-team-repository-permissions -teams: - - team_slug: dependabot-review - permission: triage +teams: [] diff --git a/.github/workflows/add-to-project.yml b/.github/workflows/add-to-project.yml index 02e37f29..724baa14 100644 --- a/.github/workflows/add-to-project.yml +++ b/.github/workflows/add-to-project.yml @@ -11,6 +11,8 @@ # - https://docs.github.com/webhooks-and-events/webhooks/webhook-events-and-payloads#issues # - https://docs.github.com/webhooks-and-events/webhooks/webhook-events-and-payloads#pull_request # - https://github.com/actions/add-to-project +# - https://github.com/actions/create-github-app-token +# - https://github.com/hmarr/debug-action --- name: add-to-project @@ -26,10 +28,19 @@ jobs: add-to-project: runs-on: ubuntu-latest steps: + - id: debug + name: Print environment variables and event payload + uses: hmarr/debug-action@v3.0.0 + - id: bot-token + name: Get bot token + uses: actions/create-github-app-token@v1.11.1 + with: + app-id: ${{ secrets.BOT_APP_ID }} + private-key: ${{ secrets.BOT_PRIVATE_KEY }} - id: add-item name: Add ${{ format('#{0}', github.event.number) }} to project - uses: actions/add-to-project@v0.5.0 + uses: actions/add-to-project@v1.0.2 with: - github-token: ${{ secrets.PAT_REPO }} + github-token: ${{ steps.bot-token.outputs.token }} project-url: | - ${{ format('{0}/orgs/{1}/projects/{2}', github.server_url, github.repository_owner, secrets.GH_PROJECT_ID) }} + ${{ format('{0}/orgs/{1}/projects/{2}', github.server_url, github.repository_owner, vars.GH_PROJECT_NUMBER) }} diff --git a/.github/workflows/approve-pr.yml b/.github/workflows/approve-pr.yml deleted file mode 100644 index 36d0ead7..00000000 --- a/.github/workflows/approve-pr.yml +++ /dev/null @@ -1,48 +0,0 @@ -# Approve Pull Request -# -# Automatically approve a pull request when a review is requested from @flexdevelopment by certain -# users. -# -# References: -# -# - https://cli.github.com/manual/gh_pr_review -# - https://docs.github.com/actions/learn-github-actions/contexts -# - https://docs.github.com/actions/learn-github-actions/expressions -# - https://docs.github.com/actions/using-workflows/events-that-trigger-workflows#pull_request -# - https://docs.github.com/actions/using-workflows/using-github-cli-in-workflows -# - https://docs.github.com/actions/using-workflows/workflow-commands-for-github-actions -# - https://docs.github.com/webhooks-and-events/webhooks/webhook-events-and-payloads#pull_request -# - https://github.com/actions/checkout -# - https://github.com/hmarr/debug-action - ---- -name: approve-pr -on: - pull_request: - types: - - review_requested -env: - GITHUB_TOKEN: ${{ secrets.PAT_BOT }} -jobs: - approve-pr: - runs-on: ubuntu-latest - steps: - - id: debug - name: Print environment variables and event payload - uses: hmarr/debug-action@v2.1.0 - - id: checkout - name: Checkout ${{ github.head_ref }} - uses: actions/checkout@v4.1.1 - with: - persist-credentials: false - ref: ${{ github.head_ref }} - - id: requested-reviewers - name: Get requested reviewers - run: | - echo "result=${{ join(github.event.pull_request.requested_reviewers.*.login, ',') }}" >>$GITHUB_OUTPUT - - id: approve - name: Approve pull request - if: | - contains(steps.requested-reviewers.outputs.result, 'flexdevelopment') - && (github.actor == 'dependabot[bot]' || github.actor == 'unicornware') - run: gh pr review ${{ github.event.number }} --approve --body 'lgtm 👍🏾' diff --git a/.github/workflows/auto-merge.yml b/.github/workflows/auto-merge.yml index 5b178cf5..e2e03596 100644 --- a/.github/workflows/auto-merge.yml +++ b/.github/workflows/auto-merge.yml @@ -1,4 +1,4 @@ -# Pull request auto-merge +# Auto Merge # # Automatically merge pull requests after requirements are met. # @@ -6,36 +6,42 @@ # # - https://cli.github.com/manual/gh_pr_merge # - https://docs.github.com/actions/learn-github-actions/contexts +# - https://docs.github.com/actions/learn-github-actions/expressions # - https://docs.github.com/actions/using-workflows/events-that-trigger-workflows#pull_request # - https://docs.github.com/actions/using-workflows/using-github-cli-in-workflows +# - https://docs.github.com/actions/using-workflows/workflow-commands-for-github-actions # - https://docs.github.com/repositories/configuring-branches-and-merges-in-your-repository/configuring-pull-request-merges/managing-auto-merge-for-pull-requests-in-your-repository # - https://docs.github.com/webhooks-and-events/webhooks/webhook-events-and-payloads#pull_request # - https://github.com/actions/checkout +# - https://github.com/actions/create-github-app-token # - https://github.com/hmarr/debug-action --- name: auto-merge -on: - pull_request: - types: - - opened - - synchronize -env: - GITHUB_TOKEN: ${{ secrets.PAT_REPO }} +on: pull_request jobs: auto-merge: - if: github.event.pull_request.auto_merge == null && github.event.pull_request.draft == false + if: github.event.pull_request.auto_merge == null && !github.event.pull_request.draft runs-on: ubuntu-latest steps: - id: debug name: Print environment variables and event payload - uses: hmarr/debug-action@v2.1.0 + uses: hmarr/debug-action@v3.0.0 + - id: bot-token + name: Get bot token + uses: actions/create-github-app-token@v1.11.1 + with: + app-id: ${{ secrets.BOT_APP_ID }} + private-key: ${{ secrets.BOT_PRIVATE_KEY }} - id: checkout name: Checkout ${{ github.head_ref }} - uses: actions/checkout@v4.1.1 + uses: actions/checkout@v4.2.2 with: persist-credentials: false ref: ${{ github.head_ref }} + token: ${{ steps.bot-token.outputs.token }} - id: enable name: Enable auto-merge + env: + GITHUB_TOKEN: ${{ steps.bot-token.outputs.token }} run: gh pr merge ${{ github.event.number }} --auto --squash diff --git a/.github/workflows/auto-review.yml b/.github/workflows/auto-review.yml new file mode 100644 index 00000000..f2b58dad --- /dev/null +++ b/.github/workflows/auto-review.yml @@ -0,0 +1,77 @@ +# Auto Review +# +# Automatically approve pull requests by privileged actors after all status checks are successfully +# completed. +# +# References: +# +# - https://cli.github.com/manual/gh_auth_status +# - https://cli.github.com/manual/gh_pr_review +# - https://docs.github.com/actions/learn-github-actions/contexts +# - https://docs.github.com/actions/learn-github-actions/expressions +# - https://docs.github.com/actions/using-workflows/events-that-trigger-workflows#pull_request +# - https://docs.github.com/actions/using-workflows/using-github-cli-in-workflows +# - https://docs.github.com/actions/using-workflows/workflow-commands-for-github-actions +# - https://docs.github.com/webhooks-and-events/webhooks/webhook-events-and-payloads#pull_request +# - https://github.com/actions/checkout +# - https://github.com/actions/create-github-app-token +# - https://github.com/hmarr/debug-action +# - https://github.com/jchen1/wait-for-green + +--- +name: auto-review +on: pull_request +concurrency: + cancel-in-progress: true + group: ${{ github.workflow }}-${{ github.ref }} +jobs: + auto-review: + if: | + github.event.pull_request.draft == false && + github.event.pull_request.state == 'open' && + contains(vars.PRIVILEGED_ACTORS, github.actor) + runs-on: ubuntu-latest + steps: + - id: debug + name: Print environment variables and event payload + uses: hmarr/debug-action@v3.0.0 + - id: bot-token + name: Get bot token + uses: actions/create-github-app-token@v1.11.1 + with: + app-id: ${{ secrets.BOT_APP_ID }} + private-key: ${{ secrets.BOT_PRIVATE_KEY }} + - id: github-token + name: Set env.GITHUB_TOKEN + run: | + GITHUB_TOKEN= + + if [[ $GITHUB_ACTOR == 'flex-development[bot]' ]]; then + GITHUB_TOKEN=${{ secrets.GH_REPO_TOKEN }} + else + GITHUB_TOKEN=${{ steps.bot-token.outputs.token }} + fi + + echo "GITHUB_TOKEN=$GITHUB_TOKEN" >>$GITHUB_ENV + - id: gh-auth + name: Check gh authentication state + run: gh auth status + - id: checkout + name: Checkout ${{ github.head_ref }} + uses: actions/checkout@v4.2.2 + with: + persist-credentials: false + ref: ${{ github.head_ref }} + token: ${{ steps.bot-token.outputs.token }} + - id: status-checks + name: Wait for status checks to complete + uses: jchen1/wait-for-green@v2.0.0 + with: + check_interval: 45 + commit: ${{ github.head_ref }} + ignored_checks: ${{ github.workflow }} + token: ${{ steps.bot-token.outputs.token }} + - id: approve + if: steps.status-checks.outputs.success == 'true' + name: Approve pull request + run: gh pr review ${{ github.event.number }} --approve --body='lgtm 👍🏾' diff --git a/.github/workflows/cache-cleanup.yml b/.github/workflows/cache-cleanup.yml index acb001af..5cb90578 100644 --- a/.github/workflows/cache-cleanup.yml +++ b/.github/workflows/cache-cleanup.yml @@ -43,10 +43,10 @@ jobs: steps: - id: debug name: Print environment variables and event payload - uses: hmarr/debug-action@v2.1.0 + uses: hmarr/debug-action@v3.0.0 - id: checkout name: Checkout main - uses: actions/checkout@v4.1.1 + uses: actions/checkout@v4.2.2 with: persist-credentials: false ref: main diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 1fe851b6..147c499f 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -21,6 +21,7 @@ # - https://github.com/actions/upload-artifact # - https://github.com/andstor/file-existence-action # - https://github.com/codecov/codecov-action +# - https://github.com/flex-development/grease # - https://github.com/hmarr/debug-action # - https://yarnpkg.com/cli/pack @@ -33,14 +34,13 @@ on: - feat/** - hotfix/** - main - - release/** workflow_dispatch: permissions: contents: read packages: read env: CACHE_PATH: node_modules - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + GITHUB_TOKEN: ${{ secrets.GH_REGISTRY_TOKEN }} HUSKY: 0 REF: ${{ github.head_ref || github.ref }} REF_NAME: ${{ github.head_ref || github.ref_name }} @@ -52,67 +52,86 @@ jobs: preflight: if: | github.event.head_commit.author.name != 'dependabot[bot]' - && github.event.head_commit.author.username != 'flexdevelopment' + && github.event.head_commit.author.username != 'flexdevelopment[bot]' && !startsWith(github.event.head_commit.message, 'release:') + && !startsWith(github.event.head_commit.message, 'release(chore):') runs-on: ubuntu-latest outputs: - version: ${{ steps.version.outputs.result }} + cache-key: ${{ steps.cache-key.outputs.result }} + test-files: ${{ steps.test-files.outputs.files_exists }} + typecheck-files: ${{ steps.typecheck-files.outputs.files_exists }} version-typescript: ${{ steps.version-typescript.outputs.result }} + version: ${{ steps.version.outputs.result }} steps: - id: debug name: Print environment variables and event payload - uses: hmarr/debug-action@v2.1.0 + uses: hmarr/debug-action@v3.0.0 - id: checkout name: Checkout ${{ env.REF_NAME }} - uses: actions/checkout@v4.1.1 + uses: actions/checkout@v4.2.2 with: persist-credentials: false ref: ${{ env.REF }} - id: node name: Setup Node.js - uses: actions/setup-node@v3.8.1 + uses: actions/setup-node@v4.1.0 with: cache: yarn cache-dependency-path: yarn.lock node-version-file: .nvmrc - id: yarn name: Install dependencies - run: yarn ${{ github.actor == 'dependabot[bot]' && '--no-immutable' || '--immutable' }} + env: + YARN_ENABLE_IMMUTABLE_INSTALLS: ${{ github.actor != 'dependabot[bot]' }} + run: yarn + - id: cache-key + name: Get cache key + run: echo "result=${{ runner.os }}-${{ github.run_id }}" >>$GITHUB_OUTPUT - id: cache name: Cache dependencies - uses: actions/cache@v3.3.2 + uses: actions/cache@v4.2.0 with: - key: ${{ runner.os }}-${{ github.run_id }} + key: ${{ steps.cache-key.outputs.result }} path: ${{ env.CACHE_PATH }} - id: version - name: Get package version + name: Get manifest version run: echo "result=$(jq .version package.json -r)" >>$GITHUB_OUTPUT - id: version-typescript name: Get TypeScript version run: echo "result=$(jq .devDependencies.typescript package.json -r)" >>$GITHUB_OUTPUT + - id: test-files + name: Check for test files + uses: andstor/file-existence-action@v3.0.0 + with: + files: 'src/**/__tests__/*.spec.+(mts|tsx)' + - id: typecheck-files + name: Check for typecheck files + uses: andstor/file-existence-action@v3.0.0 + with: + files: 'src/**/__tests__/*.spec-d.mts' commitlint: needs: preflight runs-on: ubuntu-latest steps: - id: checkout name: Checkout ${{ env.REF_NAME }} - uses: actions/checkout@v4.1.1 + uses: actions/checkout@v4.2.2 with: fetch-depth: 0 persist-credentials: false ref: ${{ env.REF }} - id: node name: Setup Node.js - uses: actions/setup-node@v3.8.1 + uses: actions/setup-node@v4.1.0 with: cache: yarn cache-dependency-path: yarn.lock node-version-file: .nvmrc - id: cache name: Restore dependencies cache - uses: actions/cache@v3.3.2 + uses: actions/cache@v4.2.0 with: - key: ${{ runner.os }}-${{ github.run_id }} + key: ${{ needs.preflight.outputs.cache-key }} path: ${{ env.CACHE_PATH }} - id: lint name: Check commitlint status @@ -123,47 +142,46 @@ jobs: runs-on: ubuntu-latest steps: - id: checkout - name: Checkout ${{ env.REF_NAME }} - uses: actions/checkout@v4.1.1 + name: Checkout + uses: actions/checkout@v4.2.2 with: fetch-depth: 0 - persist-credentials: false - ref: ${{ env.REF }} - id: scan - name: Scan commits for secrets and policy breaches - uses: GitGuardian/ggshield-action@master - with: - args: --all-policies --show-secrets --verbose + name: Scan commits with ggshield + uses: GitGuardian/ggshield-action@v1.35.0 env: GITGUARDIAN_API_KEY: ${{ secrets.GITGUARDIAN_API_KEY }} GITHUB_DEFAULT_BRANCH: ${{ github.event.repository.default_branch }} GITHUB_PULL_BASE_SHA: ${{ github.event.pull_request.base.sha }} GITHUB_PUSH_BASE_SHA: ${{ github.event.base }} GITHUB_PUSH_BEFORE_SHA: ${{ github.event.before }} + with: + args: --all-policies --format sarif --show-secrets --with-incident-details --verbose format: needs: - commitlint - gitguardian + - preflight runs-on: ubuntu-latest steps: - id: checkout name: Checkout ${{ env.REF_NAME }} - uses: actions/checkout@v4.1.1 + uses: actions/checkout@v4.2.2 with: persist-credentials: false ref: ${{ env.REF }} - id: node name: Setup Node.js - uses: actions/setup-node@v3.8.1 + uses: actions/setup-node@v4.1.0 with: cache: yarn cache-dependency-path: yarn.lock node-version-file: .nvmrc - id: cache name: Restore dependencies cache - uses: actions/cache@v3.3.2 + uses: actions/cache@v4.2.0 with: - key: ${{ runner.os }}-${{ github.run_id }} + key: ${{ needs.preflight.outputs.cache-key }} path: ${{ env.CACHE_PATH }} - id: format name: Check code formatting @@ -172,26 +190,27 @@ jobs: needs: - commitlint - gitguardian + - preflight runs-on: ubuntu-latest steps: - id: checkout name: Checkout ${{ env.REF_NAME }} - uses: actions/checkout@v4.1.1 + uses: actions/checkout@v4.2.2 with: persist-credentials: false ref: ${{ env.REF }} - id: node name: Setup Node.js - uses: actions/setup-node@v3.8.1 + uses: actions/setup-node@v4.1.0 with: cache: yarn cache-dependency-path: yarn.lock node-version-file: .nvmrc - id: cache name: Restore dependencies cache - uses: actions/cache@v3.3.2 + uses: actions/cache@v4.2.0 with: - key: ${{ runner.os }}-${{ github.run_id }} + key: ${{ needs.preflight.outputs.cache-key }} path: ${{ env.CACHE_PATH }} - id: lint name: Check lint status @@ -200,26 +219,27 @@ jobs: needs: - commitlint - gitguardian + - preflight runs-on: ubuntu-latest steps: - id: checkout name: Checkout ${{ env.REF_NAME }} - uses: actions/checkout@v4.1.1 + uses: actions/checkout@v4.2.2 with: persist-credentials: false ref: ${{ env.REF }} - id: node name: Setup Node.js - uses: actions/setup-node@v3.8.1 + uses: actions/setup-node@v4.1.0 with: cache: yarn cache-dependency-path: yarn.lock node-version-file: .nvmrc - id: cache name: Restore dependencies cache - uses: actions/cache@v3.3.2 + uses: actions/cache@v4.2.0 with: - key: ${{ runner.os }}-${{ github.run_id }} + key: ${{ needs.preflight.outputs.cache-key }} path: ${{ env.CACHE_PATH }} - id: spelling name: Check spelling @@ -235,119 +255,126 @@ jobs: matrix: typescript-version: - ${{ needs.preflight.outputs.version-typescript }} - - latest - - 5.1.6 + env: + TYPESCRIPT_VERSION: ${{ matrix.typescript-version }} + VITEST_REPORT: ./.vitest-reports/typecheck.blob.json + if: ${{ fromJson(needs.preflight.outputs.typecheck-files) }} steps: - id: checkout name: Checkout ${{ env.REF_NAME }} - uses: actions/checkout@v4.1.1 + uses: actions/checkout@v4.2.2 with: persist-credentials: false ref: ${{ env.REF }} - - id: test-files-check - name: Check for typecheck files - uses: andstor/file-existence-action@v2.0.0 - with: - files: '**/__tests__/*.spec-d.ts' - id: node - if: steps.test-files-check.outputs.files_exists == 'true' name: Setup Node.js - uses: actions/setup-node@v3.8.1 + uses: actions/setup-node@v4.1.0 with: cache: yarn cache-dependency-path: yarn.lock node-version-file: .nvmrc - id: cache - if: steps.test-files-check.outputs.files_exists == 'true' name: Restore dependencies cache - uses: actions/cache@v3.3.2 + uses: actions/cache@v4.2.0 with: - key: ${{ runner.os }}-${{ github.run_id }} + key: ${{ needs.preflight.outputs.cache-key }} path: ${{ env.CACHE_PATH }} - id: typescript - if: steps.test-files-check.outputs.files_exists == 'true' - name: Install typescript@${{ matrix.typescript-version }} - run: yarn add -D typescript@${{ matrix.typescript-version }} + name: Install typescript@${{ env.TYPESCRIPT_VERSION }} + run: yarn add -D typescript@${{ env.TYPESCRIPT_VERSION }} - id: print-typescript-version - if: steps.test-files-check.outputs.files_exists == 'true' name: Print TypeScript version run: jq .devDependencies.typescript package.json -r - id: typecheck - if: steps.test-files-check.outputs.files_exists == 'true' name: Run typecheck run: yarn typecheck + - id: report + name: Upload report + uses: actions/upload-artifact@v4.6.0 + with: + name: | + ${{ format('typecheck-{0}-{1}-{2}.blob.json', env.TYPESCRIPT_VERSION, github.event.repository.name, env.SHA) }} + path: ${{ env.VITEST_REPORT }} test: needs: - commitlint - gitguardian + - preflight runs-on: ubuntu-latest strategy: fail-fast: false matrix: node-version: - - 20.6.1 - - 19 - - 18 - - 16 + - 23 + env: + COVERAGE_SUMMARY: ./coverage/coverage-summary.json + NODE_NO_WARNINGS: 1 + NODE_VERSION: ${{ matrix.node-version }} + PCT: .total.branches.pct + .total.functions.pct + .total.lines.pct + .total.statements.pct + VITEST_REPORT: ./.vitest-reports/test.blob.json + if: ${{ fromJson(needs.preflight.outputs.test-files) }} steps: - id: checkout name: Checkout ${{ env.REF_NAME }} - uses: actions/checkout@v4.1.1 + uses: actions/checkout@v4.2.2 with: persist-credentials: false ref: ${{ env.REF }} - - id: test-files-check - name: Check for test files - uses: andstor/file-existence-action@v2.0.0 - with: - files: '**/__tests__/*.spec.+(ts|tsx)' - - id: yarn-ignore-node - if: | - steps.test-files-check.outputs.files_exists == 'true' - && startsWith(matrix.node-version, '16') - name: Set env.YARN_IGNORE_NODE - run: echo "YARN_IGNORE_NODE=1" >>$GITHUB_ENV - id: node - if: steps.test-files-check.outputs.files_exists == 'true' name: Setup Node.js v${{ matrix.node-version }} - uses: actions/setup-node@v3.8.1 + uses: actions/setup-node@v4.1.0 with: cache: yarn cache-dependency-path: yarn.lock check-latest: true node-version: ${{ matrix.node-version }} - id: cache - if: steps.test-files-check.outputs.files_exists == 'true' name: Restore dependencies cache - uses: actions/cache@v3.3.2 + uses: actions/cache@v4.2.0 with: - key: ${{ runner.os }}-${{ github.run_id }} + key: ${{ needs.preflight.outputs.cache-key }} path: ${{ env.CACHE_PATH }} - id: test - if: steps.test-files-check.outputs.files_exists == 'true' name: Run tests - run: yarn test:cov --segfault-retry=3 + run: | + yarn test:cov --coverage.thresholds.100=false \ + && echo "coverage=$(jq '${{ env.PCT }}' ${{ env.COVERAGE_SUMMARY }} -r)" >>$GITHUB_OUTPUT + - id: pct + name: Print coverage points + run: echo ${{ steps.test.outputs.coverage }} + - id: report + name: Upload report + uses: actions/upload-artifact@v4.6.0 + with: + name: | + ${{ format('test-{0}-{1}-{2}.blob.json', env.NODE_VERSION, github.event.repository.name, env.SHA) }} + path: ${{ env.VITEST_REPORT }} + - id: coverage-summary + name: Upload coverage summary + uses: actions/upload-artifact@v4.6.0 + with: + name: | + ${{ format('coverage-summary-{0}-{1}-{2}.json', env.NODE_VERSION, github.event.repository.name, env.SHA) }} + path: ${{ env.COVERAGE_SUMMARY }} - id: codecov name: Upload coverage report to Codecov - if: steps.test-files-check.outputs.files_exists == 'true' - uses: codecov/codecov-action@v3.1.4 + uses: codecov/codecov-action@v5.1.2 with: - env_vars: GITHUB_JOB,GITHUB_REF,GITHUB_REF_TYPE,GITHUB_RUN_ID,GITHUB_SHA,GITHUB_WORKSPACE + env_vars: GITHUB_JOB,GITHUB_REF_TYPE fail_ci_if_error: true - file: ./coverage/lcov.info + files: ./coverage/lcov.info flags: ${{ format('node{0}', matrix.node-version) }} + name: ${{ format('node{0}-{1}', matrix.node-version, env.SHA) }} override_branch: ${{ env.REF }} override_build: ${{ github.run_id }} override_commit: ${{ env.SHA }} token: ${{ secrets.CODECOV_TOKEN }} verbose: true - env: - GITHUB_JOB: ${{ github.job }} - GITHUB_REF: ${{ github.ref }} - GITHUB_REF_TYPE: ${{ github.ref_type }} - GITHUB_RUN_ID: ${{ github.run_id }} - GITHUB_SHA: ${{ env.SHA }} - GITHUB_WORKSPACE: ${{ github.workspace }} + working-directory: ${{ github.workspace }} + - id: coverage-failure + if: steps.test.outputs.coverage != '400' + name: Coverage threshold failure (${{ steps.test.outputs.coverage }}) + run: yarn test:cov:reports build: needs: - commitlint @@ -360,22 +387,22 @@ jobs: steps: - id: checkout name: Checkout ${{ env.REF_NAME }} - uses: actions/checkout@v4.1.1 + uses: actions/checkout@v4.2.2 with: persist-credentials: false ref: ${{ env.REF }} - id: node name: Setup Node.js - uses: actions/setup-node@v3.8.1 + uses: actions/setup-node@v4.1.0 with: cache: yarn cache-dependency-path: yarn.lock node-version-file: .nvmrc - id: cache name: Restore dependencies cache - uses: actions/cache@v3.3.2 + uses: actions/cache@v4.2.0 with: - key: ${{ runner.os }}-${{ github.run_id }} + key: ${{ needs.preflight.outputs.cache-key }} path: ${{ env.CACHE_PATH }} - id: local-binaries name: Add local binaries to $PATH @@ -389,12 +416,52 @@ jobs: - id: attw name: Analyze types distribution run: attw ${{ env.TARFILE }} - - id: pkg-size-report - name: Package size report - run: yarn pkg-size - id: archive name: Archive production artifacts - uses: actions/upload-artifact@v3.1.3 + uses: actions/upload-artifact@v4.6.0 with: name: ${{ env.TARFILE }} path: ${{ env.TARFILE }} + changelog: + needs: + - build + - commitlint + - format + - gitguardian + - lint + - preflight + - spelling + - test + - typescript + runs-on: ubuntu-latest + env: + NODE_NO_WARNINGS: 1 + steps: + - id: checkout + name: Checkout ${{ env.REF_NAME }} + uses: actions/checkout@v4.2.2 + with: + fetch-depth: 0 + persist-credentials: false + ref: ${{ env.REF }} + - id: node + name: Setup Node.js + uses: actions/setup-node@v4.1.0 + with: + cache: yarn + cache-dependency-path: yarn.lock + node-version-file: .nvmrc + - id: cache + name: Restore dependencies cache + uses: actions/cache@v4.2.0 + with: + key: ${{ needs.preflight.outputs.cache-key }} + path: ${{ env.CACHE_PATH }} + - id: local-binaries + name: Add local binaries to $PATH + run: echo "$GITHUB_WORKSPACE/$CACHE_PATH/.bin" >>$GITHUB_PATH + - id: summary + name: Get changelog preview + env: + TZ: ${{ vars.TZ }} + run: echo "$(grease changelog)" >>$GITHUB_STEP_SUMMARY diff --git a/.github/workflows/dependabot-auto.yml b/.github/workflows/dependabot-auto.yml deleted file mode 100644 index 8084fc8d..00000000 --- a/.github/workflows/dependabot-auto.yml +++ /dev/null @@ -1,92 +0,0 @@ -# Dependabot Auto -# -# Enable auto-merge and approve pull requests authored by @dependabot. -# -# Note: @dependabot generates Yarn v1 lockfiles despite this project using a different Yarn version. -# This corrupts the project lockfile. A workaround has been implemented to autofix lockfile format -# and deduplicate dependencies. Check https://github.com/dependabot/dependabot-core/issues/1297 for -# details pertaining to the safe removal of this workflow. -# -# References: -# -# - https://cli.github.com/manual/gh_pr_merge -# - https://cli.github.com/manual/gh_pr_review -# - https://docs.github.com/actions/learn-github-actions/contexts -# - https://docs.github.com/actions/using-workflows/events-that-trigger-workflows#pull_request -# - https://docs.github.com/actions/using-workflows/using-github-cli-in-workflows -# - https://docs.github.com/code-security/dependabot/working-with-dependabot/automating-dependabot-with-github-actions -# - https://docs.github.com/webhooks-and-events/webhooks/webhook-events-and-payloads#pull_request -# - https://github.com/actions/checkout -# - https://github.com/crazy-max/ghaction-import-gpg -# - https://github.com/dependabot/fetch-metadata -# - https://github.com/hmarr/debug-action - ---- -name: dependabot-auto -on: pull_request -env: - GITHUB_TOKEN: ${{ secrets.PAT_BOT }} - YARN_ENABLE_GLOBAL_CACHE: true - YARN_ENABLE_IMMUTABLE_INSTALLS: false -jobs: - dependabot-auto: - if: github.actor == 'dependabot[bot]' || github.actor == 'flexdevelopment' - runs-on: ubuntu-latest - steps: - - id: debug - name: Print environment variables and event payload - uses: hmarr/debug-action@v2.1.0 - - id: metadata - name: Fetch metadata - uses: dependabot/fetch-metadata@v1.6.0 - with: - skip-commit-verification: true - - id: checkout - name: Checkout ${{ github.head_ref }} - uses: actions/checkout@v4.1.1 - with: - persist-credentials: ${{ steps.metadata.outputs.package-ecosystem == 'npm_and_yarn' }} - ref: ${{ github.head_ref }} - token: ${{ env.GITHUB_TOKEN }} - - id: gpg-import - name: Import GPG key - if: steps.metadata.outputs.package-ecosystem == 'npm_and_yarn' - uses: crazy-max/ghaction-import-gpg@v6.0.0 - with: - git_commit_gpgsign: true - git_config_global: true - git_user_signingkey: true - gpg_private_key: ${{ secrets.GPG_PRIVATE_KEY }} - # todo: remove when https://github.com/crazy-max/ghaction-import-gpg/issues/118 is resolved - - id: gpg-trust - name: Set trust on GPG key - if: steps.metadata.outputs.package-ecosystem == 'npm_and_yarn' - run: | - gpg --no-tty --command-fd 0 --edit-key ${{ steps.gpg-import.outputs.keyid }} << EOTRUST - trust - 5 - y - quit - EOTRUST - - id: lockfile-fix - name: Fix yarn.lock - if: steps.metadata.outputs.package-ecosystem == 'npm_and_yarn' - run: yarn --mode=update-lockfile - - id: dedupe - name: Deduplicate dependencies - if: steps.metadata.outputs.package-ecosystem == 'npm_and_yarn' - run: yarn dedupe --mode=update-lockfile - - id: lockfile-push - name: Push yarn.lock - if: steps.metadata.outputs.package-ecosystem == 'npm_and_yarn' - env: - GIT_AUTHOR_EMAIL: ${{ steps.gpg-import.outputs.email }} - GIT_COMMITTER_EMAIL: ${{ steps.gpg-import.outputs.email }} - COMMIT_MESSAGE: 'build(yarn): [dependabot skip] fix lockfile for @dependabot' - run: | - git add yarn.lock - git status - git diff-index --quiet HEAD || git commit -s -m "$COMMIT_MESSAGE" && git push -f - - id: approve-pr - name: Approve pull request - run: gh pr review ${{ github.event.number }} --approve --body 'lgtm 👍🏾' diff --git a/.github/workflows/dependabot-dedupe.yml b/.github/workflows/dependabot-dedupe.yml new file mode 100644 index 00000000..02bf0d35 --- /dev/null +++ b/.github/workflows/dependabot-dedupe.yml @@ -0,0 +1,80 @@ +# Dependabot Dedupe +# +# Deduplicate dependencies for @dependabot. +# +# Note: This workflow can be removed once dependabot supports some type of automatic deduplication. +# See https://github.com/dependabot/dependabot-core/issues/5830 for details. +# +# References: +# +# - https://docs.github.com/actions/learn-github-actions/contexts +# - https://docs.github.com/actions/learn-github-actions/expressions +# - https://docs.github.com/actions/using-workflows/events-that-trigger-workflows#pull_request +# - https://docs.github.com/code-security/dependabot/working-with-dependabot/automating-dependabot-with-github-actions +# - https://docs.github.com/webhooks-and-events/webhooks/webhook-events-and-payloads#pull_request +# - https://github.com/actions/checkout +# - https://github.com/actions/create-github-app-token +# - https://github.com/actions/setup-node +# - https://github.com/actions/setup-node/blob/main/docs/advanced-usage.md#yarn2-configuration +# - https://github.com/flex-development/gh-commit +# - https://github.com/hmarr/debug-action + +--- +name: dependabot-dedupe +on: + pull_request: + branches: + - main +permissions: + packages: read +concurrency: + cancel-in-progress: true + group: ${{ github.workflow }}-${{ github.ref }} +jobs: + dependabot-dedupe: + if: github.actor == 'dependabot[bot]' && startsWith(github.head_ref, 'dependabot/npm_and_yarn/') + permissions: + packages: read + runs-on: ubuntu-latest + steps: + - id: debug + name: Print environment variables and event payload + uses: hmarr/debug-action@v3.0.0 + - id: bot-token + name: Get bot token + uses: actions/create-github-app-token@v1.11.1 + with: + app-id: ${{ secrets.BOT_APP_ID }} + private-key: ${{ secrets.BOT_PRIVATE_KEY }} + - id: checkout + name: Checkout ${{ github.head_ref }} + uses: actions/checkout@v4.2.2 + with: + persist-credentials: false + ref: ${{ github.head_ref }} + token: ${{ steps.bot-token.outputs.token }} + - id: node + name: Setup Node.js + uses: actions/setup-node@v4.1.0 + with: + cache: yarn + cache-dependency-path: yarn.lock + node-version-file: .nvmrc + - id: dedupe + name: Deduplicate dependencies + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + YARN_ENABLE_GLOBAL_CACHE: true + YARN_ENABLE_IMMUTABLE_INSTALLS: false + YARN_ENABLE_SCRIPTS: false + run: yarn dedupe --mode=update-lockfile + - id: status + name: Print git status + run: git status --porcelain + - id: commit + name: Commit and push yarn.lock + uses: flex-development/gh-commit@1.0.0 + with: + message: 'build(yarn): [dependabot skip] deduplicate dependencies for @dependabot' + token: ${{ steps.bot-token.outputs.token }} + trailers: 'Signed-off-by: ${{ vars.BOT_NAME }} <${{ vars.BOT_EMAIL }}>' diff --git a/.github/workflows/infrastructure.yml b/.github/workflows/infrastructure.yml index 0c0e8661..dfefd5c6 100644 --- a/.github/workflows/infrastructure.yml +++ b/.github/workflows/infrastructure.yml @@ -11,13 +11,14 @@ # References: # # - https://docs.github.com/actions/learn-github-actions/contexts +# - https://docs.github.com/actions/learn-github-actions/expressions # - https://docs.github.com/actions/using-workflows/events-that-trigger-workflows#push # - https://docs.github.com/actions/using-workflows/events-that-trigger-workflows#workflow_dispatch # - https://docs.github.com/webhooks-and-events/webhooks/webhook-events-and-payloads#push # - https://docs.github.com/webhooks-and-events/webhooks/webhook-events-and-payloads#workflow_dispatch -# - https://github.com/actions-cool/check-user-permission # - https://github.com/actions/checkout -# - https://github.com/flex-development/rice-action +# - https://github.com/actions/create-github-app-token +# - https://github.com/flex-development/repostructure-action # - https://github.com/hmarr/debug-action --- @@ -36,26 +37,27 @@ concurrency: group: ${{ github.workflow }}-${{ github.ref }} jobs: infrastructure: + if: contains(vars.MAINTAINERS, github.actor) runs-on: ubuntu-latest steps: - id: debug name: Print environment variables and event payload - uses: hmarr/debug-action@v2.1.0 - - id: check-actor-permission - name: Check @${{ github.actor }} permission level - uses: actions-cool/check-user-permission@v2.2.0 + uses: hmarr/debug-action@v3.0.0 + - id: bot-token + name: Get bot token + uses: actions/create-github-app-token@v1.11.1 with: - require: admin - username: ${{ github.actor }} + app-id: ${{ secrets.BOT_APP_ID }} + private-key: ${{ secrets.BOT_PRIVATE_KEY }} - id: checkout - name: Checkout ${{ github.ref_name }} - uses: actions/checkout@v4.1.1 + name: Checkout ${{ github.ref_name }}@${{ github.sha }} + uses: actions/checkout@v4.2.2 with: persist-credentials: false - ref: ${{ github.ref }} + ref: ${{ github.sha }} + token: ${{ steps.bot-token.outputs.token }} - id: update - if: steps.check-actor-permission.outputs.require-result == 'true' name: Update repository infrastructure uses: flex-development/rice-action@1.0.0 with: - token: ${{ secrets.PAT_REPO }} + token: ${{ steps.bot-token.outputs.token }} diff --git a/.github/workflows/integrity.yml b/.github/workflows/integrity.yml index a32ff90c..9366edf5 100644 --- a/.github/workflows/integrity.yml +++ b/.github/workflows/integrity.yml @@ -3,6 +3,7 @@ # References: # # - https://docs.github.com/actions/learn-github-actions/contexts +# - https://docs.github.com/actions/learn-github-actions/expressions # - https://docs.github.com/actions/using-workflows/events-that-trigger-workflows#pull_request # - https://docs.github.com/actions/using-workflows/events-that-trigger-workflows#push # - https://docs.github.com/actions/using-workflows/events-that-trigger-workflows#workflow_dispatch @@ -20,10 +21,6 @@ on: - .github/workflows/integrity.yml - .yarnrc.yml - yarn.lock - types: - - opened - - reopened - - synchronize push: branches: - main @@ -46,7 +43,7 @@ jobs: steps: - id: checkout name: Checkout ${{ github.head_ref || github.ref_name }} - uses: actions/checkout@v4.1.1 + uses: actions/checkout@v4.2.2 with: persist-credentials: false ref: ${{ github.head_ref || github.ref }} diff --git a/.github/workflows/label-linked-issues.yml b/.github/workflows/label-linked-issues.yml index 00061080..d71922cb 100644 --- a/.github/workflows/label-linked-issues.yml +++ b/.github/workflows/label-linked-issues.yml @@ -41,10 +41,10 @@ jobs: steps: - id: debug name: Print environment variables and event payload - uses: hmarr/debug-action@v2.1.0 + uses: hmarr/debug-action@v3.0.0 - id: checkout name: Checkout main - uses: actions/checkout@v4.1.1 + uses: actions/checkout@v4.2.2 with: persist-credentials: false ref: main @@ -53,7 +53,7 @@ jobs: run: echo "result=$(jq .version package.json -r)" >>$GITHUB_OUTPUT - id: query name: Query linked issues - uses: octokit/graphql-action@v2.2.25 + uses: octokit/graphql-action@v2.3.2 env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} with: @@ -79,7 +79,7 @@ jobs: repo: ${{ github.event.repository.name }} - id: label name: Label linked issues - uses: actions/github-script@v6.4.1 + uses: actions/github-script@v7.0.1 env: DATA: ${{ steps.query.outputs.data }} PRERELEASE: ${{ contains(steps.version.outputs.result, '-') }} diff --git a/.github/workflows/lock-inactive-threads.yml b/.github/workflows/lock-inactive-threads.yml index 94efb84f..062fac01 100644 --- a/.github/workflows/lock-inactive-threads.yml +++ b/.github/workflows/lock-inactive-threads.yml @@ -2,6 +2,7 @@ # # References: # +# - https://github.com/actions/create-github-app-token # - https://github.com/dessant/lock-threads # - https://docs.github.com/actions/using-workflows/events-that-trigger-workflows#schedule @@ -10,17 +11,21 @@ name: lock-inactive-threads on: schedule: - cron: 0 0 * * * -permissions: - issues: write - pull-requests: write jobs: lock-inactive-threads: runs-on: ubuntu-latest steps: + - id: bot-token + name: Get bot token + uses: actions/create-github-app-token@v1.11.1 + with: + app-id: ${{ secrets.BOT_APP_ID }} + private-key: ${{ secrets.BOT_PRIVATE_KEY }} - id: lock name: Lock inactive issues and pull requests - uses: dessant/lock-threads@v4.0.1 + uses: dessant/lock-threads@v5.0.1 with: + github-token: ${{ steps.bot-token.outputs.token }} issue-comment: | This issue has been automatically locked since there has not been any recent activity after it was closed. Please open a new issue for related bugs or features. Be sure to diff --git a/.github/workflows/no-response.yml b/.github/workflows/no-response.yml index fe59ae1f..112aa26b 100644 --- a/.github/workflows/no-response.yml +++ b/.github/workflows/no-response.yml @@ -1,12 +1,13 @@ # No Response # -# Closes issues that don't have enough information to be actionable. +# Close issues that don't have enough information to be actionable. # # References: # # - https://docs.github.com/actions/using-workflows/events-that-trigger-workflows#issue_comment # - https://docs.github.com/actions/using-workflows/events-that-trigger-workflows#schedule # - https://docs.github.com/webhooks-and-events/webhooks/webhook-events-and-payloads#issue_comment +# - https://github.com/actions/create-github-app-token # - https://github.com/lee-dohm/no-response --- @@ -18,12 +19,16 @@ on: schedule: # five minutes after the hour, every hour - cron: 5 * * * * -permissions: - issues: write jobs: no-response: runs-on: ubuntu-latest steps: + - id: bot-token + name: Get bot token + uses: actions/create-github-app-token@v1.11.1 + with: + app-id: ${{ secrets.BOT_APP_ID }} + private-key: ${{ secrets.BOT_PRIVATE_KEY }} - id: close-issues name: Closes issues missing actionable info uses: lee-dohm/no-response@v0.5.0 @@ -35,4 +40,4 @@ jobs: you have or find the answers needed so next steps, if any, can be determined. daysUntilClose: 14 responseRequiredLabel: status:awaiting-answers - token: ${{ secrets.GITHUB_TOKEN }} + token: ${{ steps.bot-token.outputs.token }} diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml index a6b172ce..2f1e8f84 100644 --- a/.github/workflows/publish.yml +++ b/.github/workflows/publish.yml @@ -12,6 +12,7 @@ # - https://docs.github.com/actions/using-workflows/workflow-commands-for-github-actions # - https://docs.github.com/webhooks-and-events/webhooks/webhook-events-and-payloads#release # - https://docs.github.com/webhooks-and-events/webhooks/webhook-events-and-payloads#workflow_dispatch +# - https://docs.npmjs.com/generating-provenance-statements # - https://github.com/actions/checkout # - https://github.com/actions/setup-node # - https://github.com/actions/setup-node/blob/main/docs/advanced-usage.md#yarn2-configuration @@ -29,71 +30,69 @@ on: description: release tag required: true type: string -env: - REF: ${{ format('refs/tags/{0}', inputs.tag || github.event.release.tag_name) }} - TAG: ${{ inputs.tag || github.event.release.tag_name }} concurrency: cancel-in-progress: true - group: ${{ github.workflow }}-${{ inputs.tag || github.event.release.tag_name }} + group: ${{ github.workflow }}-${{ inputs.tag || github.ref_name }} jobs: preflight: permissions: contents: read runs-on: ubuntu-latest outputs: - publish-command: ${{ steps.publish-command.outputs.result }} + command: ${{ steps.command.outputs.result }} version: ${{ steps.version.outputs.result }} steps: - id: debug name: Print environment variables and event payload - uses: hmarr/debug-action@v2.1.0 + uses: hmarr/debug-action@v3.0.0 - id: checkout - name: Checkout ${{ env.TAG }} - uses: actions/checkout@v4.1.1 + name: Checkout ${{ github.ref_name }} + uses: actions/checkout@v4.2.2 with: persist-credentials: false - ref: ${{ env.REF }} + ref: ${{ github.ref }} - id: version name: Get package version run: echo "result=$(jq .version package.json -r)" >>$GITHUB_OUTPUT - id: artifact name: Get release artifact download URL run: | - echo "result=${{ github.event_name == 'release' && github.event.release.assets[0].browser_download_url || format('{0}/{1}/releases/download/{2}/%40{3}-{4}-{5}.tgz', github.server_url, github.repository, env.TAG, github.repository_owner, github.event.repository.name, steps.version.outputs.result) }}" >>$GITHUB_OUTPUT + echo "result=${{ github.event_name == 'release' && github.event.release.assets[0].browser_download_url || format('{0}/{1}/releases/download/{2}/%40{3}-{4}-{5}.tgz', github.server_url, github.repository, inputs.tag || github.ref_name, github.repository_owner, github.event.repository.name, steps.version.outputs.result) }}" >>$GITHUB_OUTPUT - id: dist-tag name: Get dist tag uses: flex-development/dist-tag-action@1.1.2 with: target: ${{ steps.version.outputs.result }} - - id: publish-command + - id: command name: Get publish command env: ARTIFACT: ${{ steps.artifact.outputs.result }} FLAGS: ${{ steps.dist-tag.outputs.flag }} - run: echo "result=npm publish $ARTIFACT $FLAGS" >>$GITHUB_OUTPUT + run: echo "result=npm publish --provenance $FLAGS $ARTIFACT" >>$GITHUB_OUTPUT gpr: needs: preflight permissions: + contents: read + id-token: write packages: write runs-on: ubuntu-latest environment: name: gpr url: | - ${{ format('{0}/{1}/pkgs/npm/{2}', github.server_url, github.repository, - github.event.repository.name) }} + ${{ format('{0}/{1}/pkgs/npm/{2}', github.server_url, github.repository, github.event.repository.name) }} steps: - id: checkout - name: Checkout ${{ env.TAG }} - uses: actions/checkout@v4.1.1 + name: Checkout ${{ github.ref_name }} + uses: actions/checkout@v4.2.2 with: persist-credentials: false - ref: ${{ env.REF }} + ref: ${{ github.ref }} - id: npmrc-cleanup name: Remove stale .npmrc file run: rm .npmrc - id: npmrc name: Setup .npmrc file - uses: actions/setup-node@v3.8.1 + uses: actions/setup-node@v4.1.0 with: always-auth: true node-version-file: .nvmrc @@ -104,34 +103,35 @@ jobs: run: cat $NPM_CONFIG_USERCONFIG - id: publish name: Publish package - run: ${{ needs.preflight.outputs.publish-command }} env: NODE_AUTH_TOKEN: ${{ secrets.GITHUB_TOKEN }} + run: ${{ needs.preflight.outputs.command }} npm: needs: - gpr - preflight permissions: + contents: read + id-token: write packages: write runs-on: ubuntu-latest environment: name: npm url: | - ${{ format('https://npmjs.com/package/@{0}/v/{1}', github.repository, - needs.preflight.outputs.version) }} + ${{ format('https://npmjs.com/package/@{0}/v/{1}', github.repository, needs.preflight.outputs.version) }} steps: - id: checkout - name: Checkout ${{ env.TAG }} - uses: actions/checkout@v4.1.1 + name: Checkout ${{ github.ref_name }} + uses: actions/checkout@v4.2.2 with: persist-credentials: false - ref: ${{ env.REF }} + ref: ${{ github.ref }} - id: npmrc-cleanup name: Remove stale .npmrc file run: rm .npmrc - id: npmrc name: Setup .npmrc file - uses: actions/setup-node@v3.8.1 + uses: actions/setup-node@v4.1.0 with: always-auth: true node-version-file: .nvmrc @@ -142,6 +142,6 @@ jobs: run: cat $NPM_CONFIG_USERCONFIG - id: publish name: Publish package - run: ${{ needs.preflight.outputs.publish-command }} env: NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }} + run: ${{ needs.preflight.outputs.command }} diff --git a/.github/workflows/release-chore.yml b/.github/workflows/release-chore.yml new file mode 100644 index 00000000..8195704f --- /dev/null +++ b/.github/workflows/release-chore.yml @@ -0,0 +1,249 @@ +# Release Chore +# +# Execute branch, version bump, changelog, and pull request operations on release chore commit. +# +# References: +# +# - https://cli.github.com/manual/gh_pr_create +# - https://docs.github.com/actions/learn-github-actions/contexts +# - https://docs.github.com/actions/learn-github-actions/expressions +# - https://docs.github.com/actions/using-workflows/events-that-trigger-workflows#push +# - https://docs.github.com/actions/using-workflows/using-github-cli-in-workflows +# - https://docs.github.com/actions/using-workflows/workflow-commands-for-github-actions +# - https://docs.github.com/webhooks-and-events/webhooks/webhook-events-and-payloads#push +# - https://github.com/actions/checkout +# - https://github.com/actions/create-github-app-token +# - https://github.com/actions/github-script +# - https://github.com/actions/setup-node +# - https://github.com/actions/setup-node/blob/main/docs/advanced-usage.md#yarn2-configuration +# - https://github.com/flex-development/gh-commit +# - https://github.com/flex-development/grease +# - https://github.com/hmarr/debug-action +# - https://github.com/kaisugi/action-regex-match +# - https://regex101.com/r/OwpOr2 +# - https://regex101.com/r/VIIVGd + +--- +name: release-chore +on: + push: + branches: + - main +concurrency: + cancel-in-progress: true + group: ${{ github.workflow }}-${{ github.ref }} +jobs: + preflight: + if: startsWith(github.event.head_commit.message, 'release(chore):') + runs-on: ubuntu-latest + outputs: + branch: ${{ steps.branch.outputs.result }} + message: ${{ steps.message.outputs.result }} + tag: ${{ steps.tag.outputs.result }} + version: ${{ steps.version.outputs.match }} + steps: + - id: debug + name: Print environment variables and event payload + uses: hmarr/debug-action@v3.0.0 + - id: fail-actor + if: contains(vars.MAINTAINERS, github.actor) == false + name: Fail on unauthorized actor + run: | + echo '**Unauthorized actor: ${{ github.actor }}**' >>$GITHUB_STEP_SUMMARY + exit 1 + - id: checkout + name: Checkout ${{ github.ref_name }} + uses: actions/checkout@v4.2.2 + with: + persist-credentials: false + ref: ${{ github.ref }} + - id: diff-tree + name: Get diff tree + run: echo "result=$(git diff-tree --name-only -r ${{ github.sha }})" >>$GITHUB_OUTPUT + - id: fail-diff-tree + if: steps.diff-tree.outputs.result != '' + name: Fail on invalid diff tree + run: | + ERR='**Invalid diff tree** + ```sh + ${{ steps.diff-tree.outputs.result }} + ```' + echo "$ERR" >>$GITHUB_STEP_SUMMARY + exit 1 + - id: version + name: Get release version + uses: kaisugi/action-regex-match@v1.0.1 + with: + regex: ${{ vars.RELEASE_CHORE_REGEX }} + text: ${{ github.event.head_commit.message }} + - id: fail-version + if: steps.version.outputs.match == '' + name: Fail on invalid release version + run: | + ERR='**Invalid release chore commit** + ```sh + ${{ github.event.head_commit.message }} + ``` + Message must match [`${{ vars.RELEASE_CHORE_REGEX }}`](https://regex101.com/r/OwpOr2)' + echo "$ERR" >>$GITHUB_STEP_SUMMARY + exit 1 + - id: tag + name: Get release tag + run: | + echo "result=$(jq .tagprefix grease.config.json -r)${{ steps.version.outputs.match }}" >>$GITHUB_OUTPUT + - id: message + name: Get release message + run: 'echo "result=release: ${{ steps.tag.outputs.result }}" >>$GITHUB_OUTPUT' + - id: branch + name: Get release branch name + run: echo "result=release/${{ steps.version.outputs.match }}" >>$GITHUB_OUTPUT + branch: + needs: preflight + runs-on: ubuntu-latest + steps: + - id: bot-token + name: Get bot token + uses: actions/create-github-app-token@v1.11.1 + with: + app-id: ${{ secrets.BOT_APP_ID }} + private-key: ${{ secrets.BOT_PRIVATE_KEY }} + - id: checkout + name: Checkout ${{ github.ref_name }} + uses: actions/checkout@v4.2.2 + with: + ref: ${{ github.ref }} + token: ${{ steps.bot-token.outputs.token }} + - id: branch + name: Create and push branch ${{ needs.preflight.outputs.branch }} + run: | + git branch ${{ needs.preflight.outputs.branch }} + git push origin --no-verify ${{ needs.preflight.outputs.branch }} + prepare: + needs: + - branch + - preflight + permissions: + packages: read + runs-on: ubuntu-latest + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + steps: + - id: bot-token + name: Get bot token + uses: actions/create-github-app-token@v1.11.1 + with: + app-id: ${{ secrets.BOT_APP_ID }} + private-key: ${{ secrets.BOT_PRIVATE_KEY }} + - id: checkout + name: Checkout ${{ needs.preflight.outputs.branch }} + uses: actions/checkout@v4.2.2 + with: + fetch-depth: 0 + persist-credentials: false + ref: ${{ needs.preflight.outputs.branch }} + token: ${{ steps.bot-token.outputs.token }} + - id: node + name: Setup Node.js + uses: actions/setup-node@v4.1.0 + with: + cache: yarn + cache-dependency-path: yarn.lock + node-version-file: .nvmrc + - id: yarn + name: Install dependencies + env: + HUSKY: 0 + run: yarn && echo "$GITHUB_WORKSPACE/node_modules/.bin" >>$GITHUB_PATH + - id: bump-manifest + name: Bump manifest version to ${{ needs.preflight.outputs.version }} + run: grease bump -w ${{ needs.preflight.outputs.version }} + - id: changelog + name: Add CHANGELOG entry for ${{ needs.preflight.outputs.tag }} + env: + TZ: ${{ vars.TZ }} + run: | + echo "$(grease changelog)" >>$GITHUB_STEP_SUMMARY + grease changelog -sw + - id: build + name: Build project + env: + NODE_NO_WARNINGS: 1 + run: yarn build + - id: commit + name: Commit and push release preparation + uses: flex-development/gh-commit@1.0.0 + with: + message: ${{ needs.preflight.outputs.message }} + ref: ${{ needs.preflight.outputs.branch }} + token: ${{ steps.bot-token.outputs.token }} + trailers: 'Signed-off-by: ${{ vars.BOT_NAME }} <${{ vars.BOT_EMAIL }}>' + - id: commit-url + name: Print commit url + run: | + echo ${{ format('{0}/{1}/commit/{2}', github.server_url, github.repository, steps.commit.outputs.sha) }} + pr: + needs: + - branch + - preflight + - prepare + runs-on: ubuntu-latest + steps: + - id: bot-token + name: Get bot token + uses: actions/create-github-app-token@v1.11.1 + with: + app-id: ${{ secrets.BOT_APP_ID }} + private-key: ${{ secrets.BOT_PRIVATE_KEY }} + - id: checkout + name: Checkout ${{ needs.preflight.outputs.branch }} + uses: actions/checkout@v4.2.2 + with: + persist-credentials: false + ref: ${{ needs.preflight.outputs.branch }} + token: ${{ steps.bot-token.outputs.token }} + - id: pr + name: Create pull request + env: + GITHUB_TOKEN: ${{ steps.bot-token.outputs.token }} + run: | + gh pr create --title='${{ needs.preflight.outputs.message }}' --label=scope:release --assignee=${{ github.actor }} --reviewer=${{ github.actor }} --body='## Description + + <!-- A clear and concise description of your changes. --> + + - bumped manifest version to `${{ needs.preflight.outputs.version }}` + - added `CHANGELOG` entry for `${{ needs.preflight.outputs.tag }}` + + ## Linked issues + + <!-- + A list of linked issues and/or pull requests. + + - <closes|fixes|resolves> #<issue-number> + - <prereleases|releases> #<pr-number> + --> + + N/A + + ## Related documents + + <!-- A list of related documents (e.g. docs, proposals, specs, etc), if any. --> + + N/A + + ## Additional context + + <!-- + Include additional details here. Be sure to note if any tolerable vulnerabilities or warnings have been introduced. + --> + + N/A + + ## Submission checklist + + - [x] self-review performed + - [x] tests added and/or updated + - [x] documentation added or updated + - [x] new, **tolerable** vulnerabilities and/or warnings documented, if any + - [x] [pr naming conventions][1] + + [1]: https://github.com/${{ github.repository }}/blob/main/CONTRIBUTING.md#pull-request-titles' diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 6a5a84e3..f259381f 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -15,9 +15,9 @@ # - https://docs.github.com/webhooks-and-events/webhooks/webhook-events-and-payloads#workflow_dispatch # - https://git-scm.com/book/en/v2/Git-Basics-Tagging # - https://github.com/actions/checkout -# - https://github.com/bdougie/close-issues-based-on-label # - https://github.com/crazy-max/ghaction-import-gpg # - https://github.com/flex-development/dist-tag-action +# - https://github.com/flex-development/grease # - https://github.com/hmarr/debug-action # - https://yarnpkg.com/cli/pack @@ -37,15 +37,16 @@ on: type: string env: REF: ${{ inputs.sha || github.event.pull_request.merge_commit_sha }} - REF_NAME: ${{ format('main@{0}', inputs.sha || github.event.pull_request.merge_commit_sha) }} + REF_NAME: | + ${{ format('{0}@{1}', github.base_ref, inputs.sha || github.event.pull_request.merge_commit_sha) }} jobs: preflight: if: | (github.event.pull_request.merged && startsWith(github.head_ref, 'release/')) || (github.event_name == 'workflow_dispatch' && github.ref_name == 'main') - runs-on: ubuntu-latest permissions: contents: read + runs-on: ubuntu-latest outputs: prerelease: ${{ steps.dist-tag.outputs.prerelease }} tag: ${{ steps.tag.outputs.result }} @@ -53,18 +54,18 @@ jobs: steps: - id: debug name: Print environment variables and event payload - uses: hmarr/debug-action@v2.1.0 + uses: hmarr/debug-action@v3.0.0 - id: checkout name: Checkout ${{ env.REF_NAME }} - uses: actions/checkout@v4.1.1 + uses: actions/checkout@v4.2.2 with: ref: ${{ env.REF }} - id: version - name: Get package version + name: Get release version run: echo "result=$(jq .version package.json -r)" >>$GITHUB_OUTPUT - id: tag-prefix name: Get release tag prefix - run: echo "result=$(jq .tagPrefix package.json -r)" >>$GITHUB_OUTPUT + run: echo "result=$(jq .tagprefix grease.config.json -r)" >>$GITHUB_OUTPUT - id: tag name: Get release tag run: | @@ -76,74 +77,60 @@ jobs: target: ${{ steps.version.outputs.result }} publish: needs: preflight - permissions: - contents: write - packages: read runs-on: ubuntu-latest environment: name: release - url: - ${{ format('{0}/{1}/releases/tag/{2}', github.server_url, github.repository, - needs.preflight.outputs.tag) }} + url: | + ${{ format('{0}/{1}/releases/tag/{2}', github.server_url, github.repository, needs.preflight.outputs.tag) }} env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + GITHUB_TOKEN: ${{ secrets.GH_REPO_TOKEN }} HUSKY: 0 - NODE_ENV: production - NODE_NO_WARNINGS: 1 - NOTES_FILE: ./RELEASE_NOTES.md - PRERELEASE: ${{ needs.preflight.outputs.prerelease }} - TAG: ${{ needs.preflight.outputs.tag }} + NOTES_FILE: RELEASE_NOTES.md steps: - id: checkout name: Checkout ${{ env.REF_NAME }} - uses: actions/checkout@v4.1.1 + uses: actions/checkout@v4.2.2 with: fetch-depth: 0 persist-credentials: true ref: ${{ env.REF }} + token: ${{ env.GITHUB_TOKEN }} - id: gpg-import name: Import GPG key - uses: crazy-max/ghaction-import-gpg@v6.0.0 + uses: crazy-max/ghaction-import-gpg@v6.2.0 with: git_config_global: true + git_push_gpgsign: false git_tag_gpgsign: true git_user_signingkey: true gpg_private_key: ${{ secrets.GPG_PRIVATE_KEY }} - # todo: remove when https://github.com/crazy-max/ghaction-import-gpg/issues/118 is resolved - - id: gpg-trust - name: Set trust on GPG key - run: | - gpg --no-tty --command-fd 0 --edit-key ${{ steps.gpg-import.outputs.keyid }} << EOTRUST - trust - 5 - y - quit - EOTRUST + passphrase: ${{ secrets.GPG_PASSPHRASE }} + trust_level: 5 + - id: node + name: Setup Node.js + uses: actions/setup-node@v4.1.0 + with: + cache: yarn + cache-dependency-path: yarn.lock + node-version-file: .nvmrc - id: yarn name: Install dependencies - run: yarn + run: yarn && echo "$GITHUB_WORKSPACE/node_modules/.bin" >>$GITHUB_PATH - id: pack name: Pack project run: yarn pack -o %s-%v.tgz - id: release-notes name: Generate release notes - run: yarn changelog --outfile $NOTES_FILE --write + env: + TZ: ${{ vars.TZ }} + run: grease changelog -wo $NOTES_FILE && echo "$(cat $NOTES_FILE)" >>$GITHUB_STEP_SUMMARY - id: tag name: Create annotated tag - env: - GIT_AUTHOR_EMAIL: ${{ steps.gpg-import.outputs.email }} - GIT_COMMITTER_EMAIL: ${{ steps.gpg-import.outputs.email }} - run: | - git tag --annotate --force --sign $TAG --message "release: $TAG" - git tag --verify $TAG - git push origin $TAG + run: 'grease tag -ps -m "release: {tag}" ${{ needs.preflight.outputs.version }}' - id: publish name: Publish release env: - GITHUB_TOKEN: ${{ secrets.PAT_REPO }} - run: gh release create $TAG *.tgz -t=$TAG -p=$PRERELEASE -F=$NOTES_FILE - - id: close-issues - name: Close released issues - uses: bdougie/close-issues-based-on-label@master - env: - LABEL: status:${{ needs.preflight.outputs.prerelease && 'prereleased' || 'released' }} + PRERELEASE: ${{ needs.preflight.outputs.prerelease }} + TAG: ${{ needs.preflight.outputs.tag }} + run: | + gh release create $TAG *.tgz --title=$TAG --notes-file=$NOTES_FILE --verify-tag --prerelease=$PRERELEASE --discussion-category=releases diff --git a/.github/workflows/typescript-canary.yml b/.github/workflows/typescript-canary.yml index 7f102aa9..4fd6a982 100644 --- a/.github/workflows/typescript-canary.yml +++ b/.github/workflows/typescript-canary.yml @@ -1,4 +1,4 @@ -# TypeScript Canary Check +# TypeScript Canary # # Run type tests against the latest and next versions of TypeScript. # @@ -45,23 +45,23 @@ jobs: steps: - id: debug name: Print environment variables and event payload - uses: hmarr/debug-action@v2.1.0 + uses: hmarr/debug-action@v3.0.0 - id: checkout name: Checkout ${{ github.ref_name }} - uses: actions/checkout@v4.1.1 + uses: actions/checkout@v4.2.2 with: persist-credentials: false ref: ${{ github.ref }} - id: node name: Setup Node.js - uses: actions/setup-node@v3.8.1 + uses: actions/setup-node@v4.1.0 with: cache: yarn cache-dependency-path: yarn.lock node-version-file: .nvmrc - id: yarn name: Install dependencies - run: yarn ${{ github.actor == 'dependabot[bot]' && '--no-immutable' || '--immutable' }} + run: yarn - id: typescript name: Install typescript@${{ matrix.typescript-version }} run: yarn add -D typescript@${{ matrix.typescript-version }} diff --git a/.gitignore b/.gitignore index 3e109722..fca2c8bd 100644 --- a/.gitignore +++ b/.gitignore @@ -20,7 +20,8 @@ pids report.[0-9]*.[0-9]*.[0-9]*.[0-9]*.json yarn-debug.log* yarn-error.log* -!**/__fixtures__/**/node_modules/ +!**/__fixtures__/node_modules/ +!**/__fixtures__/**/*.log # Yarn 2 (Not using Zero-Installs) # https://yarnpkg.com/getting-started/qa#which-files-should-be-gitignored @@ -44,8 +45,8 @@ yarn-error.log* # Testing # ------------------------------------------------------------------------------ -**/*config.*.timestamp* -**/__tests__/report.json +**/.vitest-reports/ +**/__tests__/reports/* **/coverage/ **/tsconfig*temp.json *.lcov @@ -57,9 +58,8 @@ codecov # Builds # ------------------------------------------------------------------------------ -**/.temp/ +**/.vitepress/cache **/dist/ -!**/__fixtures__/**/*.log !**/__fixtures__/**/dist/ !**/typings/**/dist/ @@ -73,4 +73,7 @@ codecov # Misc # ------------------------------------------------------------------------------ +**/*config.*.timestamp* +**/.temp/ +**/*.scratch.* **/scratch.* diff --git a/.husky/pre-commit b/.husky/pre-commit deleted file mode 100755 index 68a9d1fd..00000000 --- a/.husky/pre-commit +++ /dev/null @@ -1,9 +0,0 @@ -#!/bin/sh - -# Pre-Commit Workflow -# -# References: -# -# - https://github.com/okonet/lint-staged#command-line-flags - -cross-env LINT_STAGED=1 lint-staged --config=.lintstagedrc.json --relative --verbose diff --git a/.lintstagedrc.json b/.lintstagedrc.json deleted file mode 100644 index 5041102b..00000000 --- a/.lintstagedrc.json +++ /dev/null @@ -1,13 +0,0 @@ -{ - "*": ["dprint check", "cspell lint --color --no-progress --relative $@"], - "**/*.{cjs,cts,js,json,json5,jsonc,jsx,md,mdx,mjs,mts,ts,tsx,yaml,yml}": [ - "eslint --exit-on-fatal-error" - ], - "**/*.{cts,mts,ts}": "vitest typecheck --changed --run", - "**/yarn.lock": "yarn dedupe --check", - "src/**/*.ts": [ - "vitest --changed --coverage --run", - "yarn build", - "yarn check:types:build" - ] -} diff --git a/.markdownlint.jsonc b/.markdownlint.jsonc deleted file mode 100644 index df296b2c..00000000 --- a/.markdownlint.jsonc +++ /dev/null @@ -1,133 +0,0 @@ -// MARKDOWNLINT CONFIGURATION -// https://github.com/DavidAnson/vscode-markdownlint#configure -{ - "MD001": true, - "MD002": { - "level": 1 - }, - "MD003": { - "style": "consistent" - }, - "MD004": { - "style": "consistent" - }, - "MD005": true, - "MD006": true, - "MD007": { - "indent": 2, - "start_indent": 2, - "start_indented": false - }, - "MD009": { - "br_spaces": 2, - "list_item_empty_lines": false - }, - "MD010": { - "code_blocks": true, - "spaces_per_tab": 1 - }, - "MD011": true, - "MD012": { - "maximum": 1 - }, - "MD013": { - "code_block_line_length": 120, - "code_blocks": true, - "headers": true, - "heading_line_length": 120, - "headings": true, - "line_length": 120, - "stern": false, - "strict": false, - "tables": false - }, - "MD014": true, - "MD018": true, - "MD019": true, - "MD020": true, - "MD021": true, - "MD022": { - "lines_above": 1, - "lines_below": 1 - }, - "MD023": true, - "MD024": { - "siblings_only": true - }, - "MD025": { - "front_matter_title": "^\\s*title\\s*[:=]", - "level": 1 - }, - "MD026": { - "punctuation": ".,;!。,;:!" - }, - "MD027": true, - "MD028": true, - "MD029": { - "style": "one_or_ordered" - }, - "MD030": { - "ol_multi": 1, - "ol_single": 1, - "ul_multi": 1, - "ul_single": 1 - }, - "MD031": { - "list_items": true - }, - "MD032": true, - "MD033": { - "allowed_elements": [ - "a", - "blockquote", - "br", - "code", - "div", - "figcaption", - "figure", - "img", - "script", - "small", - "style", - "sub", - "sup" - ] - }, - "MD034": true, - "MD035": { - "style": "consistent" - }, - "MD036": { - "punctuation": ".,;!?。,;:!?" - }, - "MD037": true, - "MD038": false, - "MD039": true, - "MD040": true, - "MD041": { - "front_matter_title": "^\\s*title\\s*[:=]", - "level": 1 - }, - "MD042": true, - "MD043": true, - "MD044": { - "code_blocks": true, - "names": [] - }, - "MD045": true, - "MD046": { - "style": "fenced" - }, - "MD047": true, - "MD048": { - "style": "backtick" - }, - "MD049": { - "style": "asterisk" - }, - "MD050": { - "style": "asterisk" - }, - "default": true, - "extends": null -} diff --git a/.markdownlintignore b/.markdownlintignore deleted file mode 100644 index 4a4c8c79..00000000 --- a/.markdownlintignore +++ /dev/null @@ -1,7 +0,0 @@ -# MARKDOWNLINT IGNORE -# https://github.com/DavidAnson/vscode-markdownlint#markdownlintignore - -# DIRECTORIES & FILES -**/CHANGELOG.md -**/LICENSE.md -**/RELEASE_NOTES.md diff --git a/.npmrc b/.npmrc index a196de9e..58e6651e 100644 --- a/.npmrc +++ b/.npmrc @@ -1,5 +1,5 @@ # https://docs.npmjs.com/cli/configuring-npm/npmrc @flex-development:registry=https://npm.pkg.github.com -//npm.pkg.github.com/:_authToken=${PAT_BOT} +//npm.pkg.github.com/:_authToken=${GITHUB_TOKEN} //npm.pkg.github.com/:always-auth=true diff --git a/.nvmrc b/.nvmrc index 5538e1c3..40994076 100644 --- a/.nvmrc +++ b/.nvmrc @@ -1 +1 @@ -20.6.1 +23 diff --git a/.remarkignore b/.remarkignore new file mode 100644 index 00000000..5bed9db4 --- /dev/null +++ b/.remarkignore @@ -0,0 +1,7 @@ +# REMARK IGNORE +# https://github.com/unifiedjs/unified-engine#ignore-files + +**/CHANGELOG.md +**/LICENSE.md +**/RELEASE_NOTES.md +**/.remarkignore diff --git a/.remarkrc.mjs b/.remarkrc.mjs new file mode 100644 index 00000000..4d43be9c --- /dev/null +++ b/.remarkrc.mjs @@ -0,0 +1,158 @@ +/** + * @file Config - remark + * @module config/remark + */ + +import remarkDirective from 'remark-directive' +import remarkFrontmatter from 'remark-frontmatter' +import remarkGfm from 'remark-gfm' +import remarkLint from 'remark-lint' +import remarkLintBlockquoteIndentation from 'remark-lint-blockquote-indentation' +import remarkLintCheckboxCharacterStyle from 'remark-lint-checkbox-character-style' +import remarkLintCheckboxContentIndent from 'remark-lint-checkbox-content-indent' +import remarkLintCodeBlockStyle from 'remark-lint-code-block-style' +import remarkLintDefinitionCase from 'remark-lint-definition-case' +import remarkLintDefinitionSpacing from 'remark-lint-definition-spacing' +import remarkLintEmphasisMarker from 'remark-lint-emphasis-marker' +import remarkLintFencedCodeFlag from 'remark-lint-fenced-code-flag' +import remarkLintFencedCodeMarker from 'remark-lint-fenced-code-marker' +import remarkLintFileExtension from 'remark-lint-file-extension' +import remarkLintFinalDefinition from 'remark-lint-final-definition' +import remarkLintFinalNewline from 'remark-lint-final-newline' +import remarkLintFirstHeadingLevel from 'remark-lint-first-heading-level' +import remarkLintHardBreakSpaces from 'remark-lint-hard-break-spaces' +import remarkLintHeadingIncrement from 'remark-lint-heading-increment' +import remarkLintHeadingStyle from 'remark-lint-heading-style' +import remarkLintLinebreakStyle from 'remark-lint-linebreak-style' +import remarkLintLinkTitleStyle from 'remark-lint-link-title-style' +import remarkLintListItemBulletIndent from 'remark-lint-list-item-bullet-indent' +import remarkLintListItemContentIndent from 'remark-lint-list-item-content-indent' +import remarkLintListItemIndent from 'remark-lint-list-item-indent' +import remarkLintListItemSpacing from 'remark-lint-list-item-spacing' +import remarkLintMaximumHeadingLength from 'remark-lint-maximum-heading-length' +import remarkLintMaximumLineLength from 'remark-lint-maximum-line-length' +import remarkLintNoBlockquoteWithoutMarker from 'remark-lint-no-blockquote-without-marker' +import remarkLintNoConsecutiveBlankLines from 'remark-lint-no-consecutive-blank-lines' +import remarkLintNoDuplicateDefinedUrls from 'remark-lint-no-duplicate-defined-urls' +import remarkLintNoDuplicateDefinitions from 'remark-lint-no-duplicate-definitions' +import remarkLintNoDuplicateHeadingsInSection from 'remark-lint-no-duplicate-headings-in-section' +import remarkLintNoEmphasisAsHeading from 'remark-lint-no-emphasis-as-heading' +import remarkLintNoEmptyUrl from 'remark-lint-no-empty-url' +import remarkLintNoFileNameArticles from 'remark-lint-no-file-name-articles' +import remarkLintNoFileNameConsecutiveDashes from 'remark-lint-no-file-name-consecutive-dashes' +import remarkLintNoFileNameIrregularCharacters from 'remark-lint-no-file-name-irregular-characters' +import remarkLintNoFileNameMixedCase from 'remark-lint-no-file-name-mixed-case' +import remarkLintNoFileNameOuterDashes from 'remark-lint-no-file-name-outer-dashes' +import remarkLintNoHeadingContentIndent from 'remark-lint-no-heading-content-indent' +import remarkLintNoHeadingPunctuation from 'remark-lint-no-heading-punctuation' +import remarkLintNoLiteralUrls from 'remark-lint-no-literal-urls' +import remarkLintNoMissingBlankLines from 'remark-lint-no-missing-blank-lines' +import remarkLintNoMultipleToplevelHeadings from 'remark-lint-no-multiple-toplevel-headings' +import remarkLintNoParagraphContentIndent from 'remark-lint-no-paragraph-content-indent' +import remarkLintNoShellDollars from 'remark-lint-no-shell-dollars' +import remarkLintNoShortcutReferenceImage from 'remark-lint-no-shortcut-reference-image' +import remarkLintNoShortcutReferenceLink from 'remark-lint-no-shortcut-reference-link' +import remarkLintNoTableIndentation from 'remark-lint-no-table-indentation' +import remarkLintNoTabs from 'remark-lint-no-tabs' +import remarkLintNoUndefinedReferences from 'remark-lint-no-undefined-references' +import remarkLintNoUnneededFullReferenceImage from 'remark-lint-no-unneeded-full-reference-image' +import remarkLintNoUnneededFullReferenceLink from 'remark-lint-no-unneeded-full-reference-link' +import remarkLintNoUnusedDefinitions from 'remark-lint-no-unused-definitions' +import remarkLintOrderedListMarkerStyle from 'remark-lint-ordered-list-marker-style' +import remarkLintOrderedListMarkerValue from 'remark-lint-ordered-list-marker-value' +import remarkLintRuleStyle from 'remark-lint-rule-style' +import remarkLintStrikethroughMarker from 'remark-lint-strikethrough-marker' +import remarkLintStrongMarker from 'remark-lint-strong-marker' +import remarkLintTableCellPadding from 'remark-lint-table-cell-padding' +import remarkLintTablePipeAlignment from 'remark-lint-table-pipe-alignment' +import remarkLintTablePipes from 'remark-lint-table-pipes' +import remarkLintUnorderedListMarkerStyle from 'remark-lint-unordered-list-marker-style' +import remarkLintValidateLinks from 'remark-validate-links' + +/** + * remark-lint preset. + * + * @type {import('unified').Preset} + * @const remarkLint + */ +const lint = { + plugins: [ + remarkLint, + [remarkLintBlockquoteIndentation, 2], + [remarkLintCheckboxCharacterStyle, { checked: 'x', unchecked: ' ' }], + remarkLintCheckboxContentIndent, + [remarkLintCodeBlockStyle, 'fenced'], + remarkLintDefinitionCase, + remarkLintDefinitionSpacing, + [remarkLintEmphasisMarker, '*'], + [remarkLintFencedCodeFlag, { allowEmpty: false }], + [remarkLintFencedCodeMarker, '`'], + [remarkLintFileExtension, ['md', 'mdx']], + remarkLintFinalDefinition, + remarkLintFinalNewline, + remarkLintFirstHeadingLevel, + remarkLintHardBreakSpaces, + remarkLintHardBreakSpaces, + remarkLintHeadingIncrement, + [remarkLintHeadingStyle, 'atx'], + remarkLintLinebreakStyle, + [remarkLintLinkTitleStyle, '"'], + remarkLintListItemBulletIndent, + remarkLintListItemContentIndent, + [remarkLintListItemIndent, 'one'], + [remarkLintListItemSpacing, { checkBlanks: true }], + remarkLintMaximumHeadingLength, + [remarkLintMaximumLineLength, 120], + remarkLintNoBlockquoteWithoutMarker, + remarkLintNoBlockquoteWithoutMarker, + remarkLintNoConsecutiveBlankLines, + remarkLintNoDuplicateDefinedUrls, + remarkLintNoDuplicateDefinitions, + remarkLintNoDuplicateHeadingsInSection, + remarkLintNoEmphasisAsHeading, + remarkLintNoEmptyUrl, + remarkLintNoFileNameArticles, + remarkLintNoFileNameConsecutiveDashes, + [remarkLintNoFileNameIrregularCharacters, /[^\w.-]/], + remarkLintNoFileNameMixedCase, + remarkLintNoFileNameOuterDashes, + remarkLintNoHeadingContentIndent, + [remarkLintNoHeadingPunctuation, '.'], + remarkLintNoLiteralUrls, + [remarkLintNoMissingBlankLines, { exceptTightLists: true }], + remarkLintNoMultipleToplevelHeadings, + remarkLintNoParagraphContentIndent, + remarkLintNoShellDollars, + remarkLintNoShortcutReferenceImage, + remarkLintNoShortcutReferenceImage, + remarkLintNoShortcutReferenceLink, + remarkLintNoShortcutReferenceLink, + remarkLintNoTableIndentation, + remarkLintNoTabs, + remarkLintNoUndefinedReferences, + remarkLintNoUnneededFullReferenceImage, + remarkLintNoUnneededFullReferenceLink, + remarkLintNoUnusedDefinitions, + [remarkLintOrderedListMarkerStyle, '.'], + [remarkLintOrderedListMarkerValue, 'ordered'], + remarkLintStrikethroughMarker, + [remarkLintRuleStyle, '---'], + [remarkLintStrongMarker, '*'], + [remarkLintTableCellPadding, 'padded'], + remarkLintTablePipeAlignment, + remarkLintTablePipes, + [remarkLintUnorderedListMarkerStyle, '-'], + remarkLintValidateLinks + ], + settings: {} +} + +/** + * remark configuration. + * + * @type {import('unified').Preset} + */ +export default { + plugins: [remarkFrontmatter, remarkDirective, remarkGfm, lint], + settings: { bullet: '-', rule: '-' } +} diff --git a/.vscode/launch.json b/.vscode/launch.json index 513ebb3f..dcf4f800 100644 --- a/.vscode/launch.json +++ b/.vscode/launch.json @@ -1,14 +1,5 @@ // https://code.visualstudio.com/docs/editor/debugging { "version": "0.2.0", - "configurations": [ - { - "name": "mkbuild", - "request": "launch", - "type": "node", - "console": "integratedTerminal", - "runtimeArgs": ["--loader=./loader.mjs"], - "program": "./src/cli" - } - ] + "configurations": [] } diff --git a/.vscode/settings.json b/.vscode/settings.json index 6bc294f2..68d557ce 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -20,6 +20,7 @@ "rewrap.wrappingColumn": 130 }, "[markdown]": { + "editor.formatOnSave": true, "editor.rulers": [ { "color": "var(--vscode-editorRuler-foreground)", @@ -29,6 +30,19 @@ "editor.wordWrapColumn": 120, "rewrap.wrappingColumn": 120 }, + "[mdx]": { + "editor.rulers": [ + { + "color": "var(--vscode-editorRuler-foreground)", + "column": 120 + } + ], + "editor.wordWrapColumn": 120, + "rewrap.wrappingColumn": 120 + }, + "[plaintext]": { + "files.trimTrailingWhitespace": false + }, "[shellscript]": { "editor.rulers": [ { @@ -40,13 +54,6 @@ "editor.wordWrapColumn": 100, "rewrap.wrappingColumn": 100 }, - "[xml]": { - "editor.defaultFormatter": "redhat.vscode-xml", - "editor.rulers": [100], - "editor.wordWrap": "wordWrapColumn", - "editor.wordWrapColumn": 100, - "rewrap.wrappingColumn": 100 - }, "[yaml]": { "editor.rulers": [ { @@ -57,54 +64,6 @@ "editor.wordWrapColumn": 100, "rewrap.wrappingColumn": 100 }, - "better-comments.highlightPlainText": true, - "better-comments.tags": [ - { - "backgroundColor": "transparent", - "bold": false, - "color": "#ff2d00", - "italic": false, - "strikethrough": false, - "tag": "!", - "underline": false - }, - { - "backgroundColor": "transparent", - "bold": false, - "color": "#3498db", - "italic": false, - "strikethrough": false, - "tag": "?", - "underline": false - }, - { - "backgroundColor": "transparent", - "bold": false, - "color": "#474747", - "italic": false, - "strikethrough": true, - "tag": "//", - "underline": false - }, - { - "backgroundColor": "transparent", - "bold": false, - "color": "#ff8c00", - "italic": false, - "strikethrough": false, - "tag": "todo", - "underline": false - }, - { - "backgroundColor": "transparent", - "bold": false, - "color": "#98c379", - "italic": false, - "strikethrough": false, - "tag": "*", - "underline": false - } - ], "breadcrumbs.enabled": true, "cSpell.enabled": true, "debug.showBreakpointsInOverviewRuler": true, @@ -118,9 +77,9 @@ "editor.bracketPairColorization.enabled": true, "editor.bracketPairColorization.independentColorPoolPerBracketType": true, "editor.codeActionsOnSave": { - "source.fixAll": true, - "source.fixAll.sortJSON": false, - "source.organizeImports": true + "source.fixAll": "always", + "source.fixAll.sortJSON": "never", + "source.organizeImports": "always" }, "editor.defaultFormatter": "dprint.dprint", "editor.detectIndentation": false, @@ -149,33 +108,22 @@ "emmet.triggerExpansionOnTab": true, "eslint.enable": true, "eslint.lintTask.enable": true, - "eslint.nodePath": "node_modules/.bin/eslint", - "eslint.options": { - "extensions": [ - "cjs", - "cts", - "js", - "json", - "json5", - "jsonc", - "jsx", - "md", - "mdx", - "mjs", - "mts", - "ts", - "tsx", - "yaml", - "yml" - ], - "overrideConfigFile": ".eslintrc.cjs" - }, + "eslint.nodePath": "node_modules", + "eslint.options": {}, + "eslint.runtime": "node", + "eslint.trace.server": "messages", + "eslint.useFlatConfig": true, "eslint.validate": [ + "css", + "github-actions-workflow", + "graphql", + "html", "javascript", "json", "json5", "jsonc", "markdown", + "mdx", "typescript", "yaml" ], @@ -183,8 +131,9 @@ "*.log": "log", "*.snap": "jest-snapshot", ".env.zsh": "shellscript", - ".markdownlintignore": "ignore", + "*.map": "json", ".npmrc": "ini", + ".remarkignore": "ignore", "commit-msg": "shellscript", "pre-commit": "shellscript", "pre-push": "shellscript" @@ -215,25 +164,13 @@ "javascript.validate.enable": true, "markdown.extension.toc.slugifyMode": "github", "markdown.extension.toc.updateOnSave": false, - "markdownlint.ignore": ".markdownlintignore", - "markdownlint.lintWorkspaceGlobs": [ - "**/*.md", - "!**/node_modules", - "!**/.git", - "!**/CHANGELOG.md", - "!**/LICENSE.md", - "!**/RELEASE_NOTES.md" - ], - "npm-intellisense.scanDevDependencies": true, - "prettier.enable": false, + "mdx.trace.server.verbosity": "verbose", "rewrap.autoWrap.enabled": true, "rewrap.doubleSentenceSpacing": true, "rewrap.reformat": true, "rewrap.wrappingColumn": 80, - "shellformat.flag": "-ci -fn -i=2 -sr", - "shellformat.useEditorConfig": true, "terminal.integrated.copyOnSelection": true, - "terminal.integrated.scrollback": 20000, + "terminal.integrated.scrollback": 10000, "todo-tree.filtering.ignoreGitSubmodules": true, "todo-tree.filtering.includeHiddenFiles": false, "todo-tree.filtering.useBuiltInExcludes": "file and search excludes", @@ -266,7 +203,7 @@ "todo-tree.tree.buttons.viewStyle": true, "todo-tree.tree.expanded": true, "todo-tree.tree.filterCaseSensitive": true, - "todo-tree.tree.scanMode": "workspace", + "todo-tree.tree.scanMode": "workspace only", "todo-tree.tree.showBadges": true, "todo-tree.tree.showCountsInTree": true, "todo-tree.tree.showCurrentScanMode": true, @@ -275,7 +212,7 @@ "typescript.format.insertSpaceAfterTypeAssertion": true, "typescript.format.semicolons": "remove", "typescript.inlayHints.enumMemberValues.enabled": true, - "typescript.preferences.autoImportFileExcludePatterns": ["src/index.ts"], + "typescript.preferences.importModuleSpecifier": "non-relative", "typescript.preferences.importModuleSpecifierEnding": "minimal", "typescript.preferences.includePackageJsonAutoImports": "on", "typescript.preferences.quoteStyle": "single", @@ -287,8 +224,6 @@ "typescript.suggest.jsdoc.generateReturns": true, "typescript.suggest.paths": true, "typescript.tsdk": "node_modules/typescript/lib", - "typescript.tsserver.enableTracing": true, - "typescript.tsserver.log": "verbose", "typescript.updateImportsOnFileMove.enabled": "always", "typescript.validate.enable": true, "versionlens.npm.dependencyProperties": [ @@ -298,17 +233,7 @@ ], "vsicons.associations.files": [ { - "extensions": [".commitlintrc.cts"], - "format": "svg", - "icon": "commitlint" - }, - { - "extensions": [".eslintrc.base.cjs"], - "format": "svg", - "icon": "eslint" - }, - { - "extensions": ["build.json", "cjs.json", "typecheck.json"], + "extensions": ["build.json", "typecheck.json"], "format": "svg", "icon": "tsconfig" }, @@ -318,14 +243,9 @@ "icon": "vitest" }, { - "extensions": ["spec-d.ts"], + "extensions": ["spec-d.mts"], "format": "svg", "icon": "testts" - }, - { - "extensions": ["yarnrc.yml"], - "format": "svg", - "icon": "yarn" } ], "vsicons.associations.folders": [ @@ -354,6 +274,11 @@ "format": "svg", "icon": "config" }, + { + "extensions": ["testing"], + "format": "svg", + "icon": "test" + }, { "extensions": ["types"], "format": "svg", @@ -363,11 +288,6 @@ "workbench.editor.closeOnFileDelete": true, "workbench.editor.enablePreview": false, "workbench.iconTheme": "vscode-icons", - "xml.format.closingBracketNewLine": true, - "xml.format.maxLineWidth": 100, - "xml.format.spaceBeforeEmptyCloseTag": false, - "xml.format.splitAttributes": "splitNewLine", - "xml.format.splitAttributesIndentSize": 0, "yaml.schemas": { "https://json.schemastore.org/github-issue-config": ".github/ISSUE_TEMPLATE/config.yml", "https://json.schemastore.org/github-workflow": ".github/workflows/*.yml" diff --git a/.yarn/releases/yarn-4.0.0-rc.50.cjs b/.yarn/releases/yarn-4.0.0-rc.50.cjs deleted file mode 100755 index 97c6fa21..00000000 --- a/.yarn/releases/yarn-4.0.0-rc.50.cjs +++ /dev/null @@ -1,891 +0,0 @@ -#!/usr/bin/env node -/* eslint-disable */ -//prettier-ignore -(()=>{var X3e=Object.create;var TR=Object.defineProperty;var Z3e=Object.getOwnPropertyDescriptor;var $3e=Object.getOwnPropertyNames;var e_e=Object.getPrototypeOf,t_e=Object.prototype.hasOwnProperty;var Ie=(e=>typeof require<"u"?require:typeof Proxy<"u"?new Proxy(e,{get:(t,r)=>(typeof require<"u"?require:t)[r]}):e)(function(e){if(typeof require<"u")return require.apply(this,arguments);throw new Error('Dynamic require of "'+e+'" is not supported')});var yt=(e,t)=>()=>(e&&(t=e(e=0)),t);var _=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports),Jt=(e,t)=>{for(var r in t)TR(e,r,{get:t[r],enumerable:!0})},r_e=(e,t,r,o)=>{if(t&&typeof t=="object"||typeof t=="function")for(let a of $3e(t))!t_e.call(e,a)&&a!==r&&TR(e,a,{get:()=>t[a],enumerable:!(o=Z3e(t,a))||o.enumerable});return e};var $e=(e,t,r)=>(r=e!=null?X3e(e_e(e)):{},r_e(t||!e||!e.__esModule?TR(r,"default",{value:e,enumerable:!0}):r,e));var Bi={};Jt(Bi,{SAFE_TIME:()=>x7,S_IFDIR:()=>wD,S_IFLNK:()=>CD,S_IFMT:()=>Uu,S_IFREG:()=>_C});var Uu,wD,_C,CD,x7,b7=yt(()=>{Uu=61440,wD=16384,_C=32768,CD=40960,x7=456789e3});var or={};Jt(or,{EBADF:()=>Io,EBUSY:()=>n_e,EEXIST:()=>c_e,EINVAL:()=>s_e,EISDIR:()=>l_e,ENOENT:()=>o_e,ENOSYS:()=>i_e,ENOTDIR:()=>a_e,ENOTEMPTY:()=>A_e,EOPNOTSUPP:()=>f_e,EROFS:()=>u_e,ERR_DIR_CLOSED:()=>NR});function Rl(e,t){return Object.assign(new Error(`${e}: ${t}`),{code:e})}function n_e(e){return Rl("EBUSY",e)}function i_e(e,t){return Rl("ENOSYS",`${e}, ${t}`)}function s_e(e){return Rl("EINVAL",`invalid argument, ${e}`)}function Io(e){return Rl("EBADF",`bad file descriptor, ${e}`)}function o_e(e){return Rl("ENOENT",`no such file or directory, ${e}`)}function a_e(e){return Rl("ENOTDIR",`not a directory, ${e}`)}function l_e(e){return Rl("EISDIR",`illegal operation on a directory, ${e}`)}function c_e(e){return Rl("EEXIST",`file already exists, ${e}`)}function u_e(e){return Rl("EROFS",`read-only filesystem, ${e}`)}function A_e(e){return Rl("ENOTEMPTY",`directory not empty, ${e}`)}function f_e(e){return Rl("EOPNOTSUPP",`operation not supported, ${e}`)}function NR(){return Rl("ERR_DIR_CLOSED","Directory handle was closed")}var ID=yt(()=>{});var Tl={};Jt(Tl,{BigIntStatsEntry:()=>ey,DEFAULT_MODE:()=>MR,DirEntry:()=>LR,StatEntry:()=>$m,areStatsEqual:()=>UR,clearStats:()=>BD,convertToBigIntStats:()=>h_e,makeDefaultStats:()=>Q7,makeEmptyStats:()=>p_e});function Q7(){return new $m}function p_e(){return BD(Q7())}function BD(e){for(let t in e)if(Object.hasOwn(e,t)){let r=e[t];typeof r=="number"?e[t]=0:typeof r=="bigint"?e[t]=BigInt(0):OR.types.isDate(r)&&(e[t]=new Date(0))}return e}function h_e(e){let t=new ey;for(let r in e)if(Object.hasOwn(e,r)){let o=e[r];typeof o=="number"?t[r]=BigInt(o):OR.types.isDate(o)&&(t[r]=new Date(o))}return t.atimeNs=t.atimeMs*BigInt(1e6),t.mtimeNs=t.mtimeMs*BigInt(1e6),t.ctimeNs=t.ctimeMs*BigInt(1e6),t.birthtimeNs=t.birthtimeMs*BigInt(1e6),t}function UR(e,t){if(e.atimeMs!==t.atimeMs||e.birthtimeMs!==t.birthtimeMs||e.blksize!==t.blksize||e.blocks!==t.blocks||e.ctimeMs!==t.ctimeMs||e.dev!==t.dev||e.gid!==t.gid||e.ino!==t.ino||e.isBlockDevice()!==t.isBlockDevice()||e.isCharacterDevice()!==t.isCharacterDevice()||e.isDirectory()!==t.isDirectory()||e.isFIFO()!==t.isFIFO()||e.isFile()!==t.isFile()||e.isSocket()!==t.isSocket()||e.isSymbolicLink()!==t.isSymbolicLink()||e.mode!==t.mode||e.mtimeMs!==t.mtimeMs||e.nlink!==t.nlink||e.rdev!==t.rdev||e.size!==t.size||e.uid!==t.uid)return!1;let r=e,o=t;return!(r.atimeNs!==o.atimeNs||r.mtimeNs!==o.mtimeNs||r.ctimeNs!==o.ctimeNs||r.birthtimeNs!==o.birthtimeNs)}var OR,MR,LR,$m,ey,_R=yt(()=>{OR=$e(Ie("util")),MR=33188,LR=class{constructor(){this.name="";this.path="";this.mode=0}isBlockDevice(){return!1}isCharacterDevice(){return!1}isDirectory(){return(this.mode&61440)===16384}isFIFO(){return!1}isFile(){return(this.mode&61440)===32768}isSocket(){return!1}isSymbolicLink(){return(this.mode&61440)===40960}},$m=class{constructor(){this.uid=0;this.gid=0;this.size=0;this.blksize=0;this.atimeMs=0;this.mtimeMs=0;this.ctimeMs=0;this.birthtimeMs=0;this.atime=new Date(0);this.mtime=new Date(0);this.ctime=new Date(0);this.birthtime=new Date(0);this.dev=0;this.ino=0;this.mode=MR;this.nlink=1;this.rdev=0;this.blocks=1}isBlockDevice(){return!1}isCharacterDevice(){return!1}isDirectory(){return(this.mode&61440)===16384}isFIFO(){return!1}isFile(){return(this.mode&61440)===32768}isSocket(){return!1}isSymbolicLink(){return(this.mode&61440)===40960}},ey=class{constructor(){this.uid=BigInt(0);this.gid=BigInt(0);this.size=BigInt(0);this.blksize=BigInt(0);this.atimeMs=BigInt(0);this.mtimeMs=BigInt(0);this.ctimeMs=BigInt(0);this.birthtimeMs=BigInt(0);this.atimeNs=BigInt(0);this.mtimeNs=BigInt(0);this.ctimeNs=BigInt(0);this.birthtimeNs=BigInt(0);this.atime=new Date(0);this.mtime=new Date(0);this.ctime=new Date(0);this.birthtime=new Date(0);this.dev=BigInt(0);this.ino=BigInt(0);this.mode=BigInt(MR);this.nlink=BigInt(1);this.rdev=BigInt(0);this.blocks=BigInt(1)}isBlockDevice(){return!1}isCharacterDevice(){return!1}isDirectory(){return(this.mode&BigInt(61440))===BigInt(16384)}isFIFO(){return!1}isFile(){return(this.mode&BigInt(61440))===BigInt(32768)}isSocket(){return!1}isSymbolicLink(){return(this.mode&BigInt(61440))===BigInt(40960)}}});function F7(e){if(process.platform!=="win32")return e;let t,r;if(t=e.match(m_e))e=t[1];else if(r=e.match(y_e))e=`\\\\${r[1]?".\\":""}${r[2]}`;else return e;return e.replace(/\//g,"\\")}function HR(e){if(process.platform!=="win32")return e;e=e.replace(/\\/g,"/");let t,r;return(t=e.match(g_e))?e=`/${t[1]}`:(r=e.match(d_e))&&(e=`/unc/${r[1]?".dot/":""}${r[2]}`),e}function vD(e,t){return e===Ae?F7(t):HR(t)}function bi(e){if(Ae.parse(e).dir!==""||J.parse(e).dir!=="")throw new Error(`Invalid filename: "${e}"`);return e}var HC,Bt,gr,Ae,J,k7,g_e,d_e,m_e,y_e,wa=yt(()=>{HC=$e(Ie("path")),Bt={root:"/",dot:".",parent:".."},gr={home:"~",nodeModules:"node_modules",manifest:"package.json",lockfile:"yarn.lock",virtual:"__virtual__",pnpJs:".pnp.js",pnpCjs:".pnp.cjs",pnpData:".pnp.data.json",pnpEsmLoader:".pnp.loader.mjs",rc:".yarnrc.yml",env:".env"},Ae=Object.create(HC.default),J=Object.create(HC.default.posix);Ae.cwd=()=>process.cwd();J.cwd=()=>HR(process.cwd());J.resolve=(...e)=>e.length>0&&J.isAbsolute(e[0])?HC.default.posix.resolve(...e):HC.default.posix.resolve(J.cwd(),...e);k7=function(e,t,r){return t=e.normalize(t),r=e.normalize(r),t===r?".":(t.endsWith(e.sep)||(t=t+e.sep),r.startsWith(t)?r.slice(t.length):null)};Ae.fromPortablePath=F7;Ae.toPortablePath=HR;Ae.contains=(e,t)=>k7(Ae,e,t);J.contains=(e,t)=>k7(J,e,t);g_e=/^([a-zA-Z]:.*)$/,d_e=/^\/\/(\.\/)?(.*)$/,m_e=/^\/([a-zA-Z]:.*)$/,y_e=/^\/unc\/(\.dot\/)?(.*)$/});async function DD(e,t){let r="0123456789abcdef";await e.mkdirPromise(t.indexPath,{recursive:!0});let o=[];for(let a of r)for(let n of r)o.push(e.mkdirPromise(e.pathUtils.join(t.indexPath,`${a}${n}`),{recursive:!0}));return await Promise.all(o),t.indexPath}async function R7(e,t,r,o,a){let n=e.pathUtils.normalize(t),u=r.pathUtils.normalize(o),A=[],p=[],{atime:h,mtime:w}=a.stableTime?{atime:Ng,mtime:Ng}:await r.lstatPromise(u);await e.mkdirpPromise(e.pathUtils.dirname(t),{utimes:[h,w]}),await jR(A,p,e,n,r,u,{...a,didParentExist:!0});for(let I of A)await I();await Promise.all(p.map(I=>I()))}async function jR(e,t,r,o,a,n,u){let A=u.didParentExist?await T7(r,o):null,p=await a.lstatPromise(n),{atime:h,mtime:w}=u.stableTime?{atime:Ng,mtime:Ng}:p,I;switch(!0){case p.isDirectory():I=await w_e(e,t,r,o,A,a,n,p,u);break;case p.isFile():I=await B_e(e,t,r,o,A,a,n,p,u);break;case p.isSymbolicLink():I=await v_e(e,t,r,o,A,a,n,p,u);break;default:throw new Error(`Unsupported file type (${p.mode})`)}return(u.linkStrategy?.type!=="HardlinkFromIndex"||!p.isFile())&&((I||A?.mtime?.getTime()!==w.getTime()||A?.atime?.getTime()!==h.getTime())&&(t.push(()=>r.lutimesPromise(o,h,w)),I=!0),(A===null||(A.mode&511)!==(p.mode&511))&&(t.push(()=>r.chmodPromise(o,p.mode&511)),I=!0)),I}async function T7(e,t){try{return await e.lstatPromise(t)}catch{return null}}async function w_e(e,t,r,o,a,n,u,A,p){if(a!==null&&!a.isDirectory())if(p.overwrite)e.push(async()=>r.removePromise(o)),a=null;else return!1;let h=!1;a===null&&(e.push(async()=>{try{await r.mkdirPromise(o,{mode:A.mode})}catch(v){if(v.code!=="EEXIST")throw v}}),h=!0);let w=await n.readdirPromise(u),I=p.didParentExist&&!a?{...p,didParentExist:!1}:p;if(p.stableSort)for(let v of w.sort())await jR(e,t,r,r.pathUtils.join(o,v),n,n.pathUtils.join(u,v),I)&&(h=!0);else(await Promise.all(w.map(async b=>{await jR(e,t,r,r.pathUtils.join(o,b),n,n.pathUtils.join(u,b),I)}))).some(b=>b)&&(h=!0);return h}async function C_e(e,t,r,o,a,n,u,A,p,h){let w=await n.checksumFilePromise(u,{algorithm:"sha1"}),I=r.pathUtils.join(h.indexPath,w.slice(0,2),`${w}.dat`),v;(ee=>(ee[ee.Lock=0]="Lock",ee[ee.Rename=1]="Rename"))(v||={});let b=1,E=await T7(r,I);if(a){let U=E&&a.dev===E.dev&&a.ino===E.ino,V=E?.mtimeMs!==E_e;if(U&&V&&h.autoRepair&&(b=0,E=null),!U)if(p.overwrite)e.push(async()=>r.removePromise(o)),a=null;else return!1}let R=!E&&b===1?`${I}.${Math.floor(Math.random()*4294967296).toString(16).padStart(8,"0")}`:null,N=!1;return e.push(async()=>{if(!E&&(b===0&&await r.lockPromise(I,async()=>{let U=await n.readFilePromise(u);await r.writeFilePromise(I,U)}),b===1&&R)){let U=await n.readFilePromise(u);await r.writeFilePromise(R,U);try{await r.linkPromise(R,I)}catch(V){if(V.code==="EEXIST")N=!0,await r.unlinkPromise(R);else throw V}}a||await r.linkPromise(I,o)}),t.push(async()=>{E||await r.lutimesPromise(I,Ng,Ng),R&&!N&&await r.unlinkPromise(R)}),!1}async function I_e(e,t,r,o,a,n,u,A,p){if(a!==null)if(p.overwrite)e.push(async()=>r.removePromise(o)),a=null;else return!1;return e.push(async()=>{let h=await n.readFilePromise(u);await r.writeFilePromise(o,h)}),!0}async function B_e(e,t,r,o,a,n,u,A,p){return p.linkStrategy?.type==="HardlinkFromIndex"?C_e(e,t,r,o,a,n,u,A,p,p.linkStrategy):I_e(e,t,r,o,a,n,u,A,p)}async function v_e(e,t,r,o,a,n,u,A,p){if(a!==null)if(p.overwrite)e.push(async()=>r.removePromise(o)),a=null;else return!1;return e.push(async()=>{await r.symlinkPromise(vD(r.pathUtils,await n.readlinkPromise(u)),o)}),!0}var Ng,E_e,qR=yt(()=>{wa();Ng=new Date(456789e3*1e3),E_e=Ng.getTime()});function SD(e,t,r,o){let a=()=>{let n=r.shift();return typeof n>"u"?null:Object.assign(e.statSync(e.pathUtils.join(t,n)),{name:n,path:void 0})};return new jC(t,a,o)}var jC,N7=yt(()=>{ID();jC=class{constructor(t,r,o={}){this.path=t;this.nextDirent=r;this.opts=o;this.closed=!1}throwIfClosed(){if(this.closed)throw NR()}async*[Symbol.asyncIterator](){try{let t;for(;(t=await this.read())!==null;)yield t}finally{await this.close()}}read(t){let r=this.readSync();return typeof t<"u"?t(null,r):Promise.resolve(r)}readSync(){return this.throwIfClosed(),this.nextDirent()}close(t){return this.closeSync(),typeof t<"u"?t(null):Promise.resolve()}closeSync(){this.throwIfClosed(),this.opts.onClose?.(),this.closed=!0}}});function L7(e,t){if(e!==t)throw new Error(`Invalid StatWatcher status: expected '${t}', got '${e}'`)}var O7,ty,M7=yt(()=>{O7=Ie("events");_R();ty=class extends O7.EventEmitter{constructor(r,o,{bigint:a=!1}={}){super();this.status="ready";this.changeListeners=new Map;this.startTimeout=null;this.fakeFs=r,this.path=o,this.bigint=a,this.lastStats=this.stat()}static create(r,o,a){let n=new ty(r,o,a);return n.start(),n}start(){L7(this.status,"ready"),this.status="running",this.startTimeout=setTimeout(()=>{this.startTimeout=null,this.fakeFs.existsSync(this.path)||this.emit("change",this.lastStats,this.lastStats)},3)}stop(){L7(this.status,"running"),this.status="stopped",this.startTimeout!==null&&(clearTimeout(this.startTimeout),this.startTimeout=null),this.emit("stop")}stat(){try{return this.fakeFs.statSync(this.path,{bigint:this.bigint})}catch{let o=this.bigint?new ey:new $m;return BD(o)}}makeInterval(r){let o=setInterval(()=>{let a=this.stat(),n=this.lastStats;UR(a,n)||(this.lastStats=a,this.emit("change",a,n))},r.interval);return r.persistent?o:o.unref()}registerChangeListener(r,o){this.addListener("change",r),this.changeListeners.set(r,this.makeInterval(o))}unregisterChangeListener(r){this.removeListener("change",r);let o=this.changeListeners.get(r);typeof o<"u"&&clearInterval(o),this.changeListeners.delete(r)}unregisterAllChangeListeners(){for(let r of this.changeListeners.keys())this.unregisterChangeListener(r)}hasChangeListeners(){return this.changeListeners.size>0}ref(){for(let r of this.changeListeners.values())r.ref();return this}unref(){for(let r of this.changeListeners.values())r.unref();return this}}});function ry(e,t,r,o){let a,n,u,A;switch(typeof r){case"function":a=!1,n=!0,u=5007,A=r;break;default:({bigint:a=!1,persistent:n=!0,interval:u=5007}=r),A=o;break}let p=PD.get(e);typeof p>"u"&&PD.set(e,p=new Map);let h=p.get(t);return typeof h>"u"&&(h=ty.create(e,t,{bigint:a}),p.set(t,h)),h.registerChangeListener(A,{persistent:n,interval:u}),h}function Lg(e,t,r){let o=PD.get(e);if(typeof o>"u")return;let a=o.get(t);typeof a>"u"||(typeof r>"u"?a.unregisterAllChangeListeners():a.unregisterChangeListener(r),a.hasChangeListeners()||(a.stop(),o.delete(t)))}function Og(e){let t=PD.get(e);if(!(typeof t>"u"))for(let r of t.keys())Lg(e,r)}var PD,GR=yt(()=>{M7();PD=new WeakMap});function D_e(e){let t=e.match(/\r?\n/g);if(t===null)return _7.EOL;let r=t.filter(a=>a===`\r -`).length,o=t.length-r;return r>o?`\r -`:` -`}function Mg(e,t){return t.replace(/\r?\n/g,D_e(e))}var U7,_7,gf,_u,Ug=yt(()=>{U7=Ie("crypto"),_7=Ie("os");qR();wa();gf=class{constructor(t){this.pathUtils=t}async*genTraversePromise(t,{stableSort:r=!1}={}){let o=[t];for(;o.length>0;){let a=o.shift();if((await this.lstatPromise(a)).isDirectory()){let u=await this.readdirPromise(a);if(r)for(let A of u.sort())o.push(this.pathUtils.join(a,A));else throw new Error("Not supported")}else yield a}}async checksumFilePromise(t,{algorithm:r="sha512"}={}){let o=await this.openPromise(t,"r");try{let n=Buffer.allocUnsafeSlow(65536),u=(0,U7.createHash)(r),A=0;for(;(A=await this.readPromise(o,n,0,65536))!==0;)u.update(A===65536?n:n.slice(0,A));return u.digest("hex")}finally{await this.closePromise(o)}}async removePromise(t,{recursive:r=!0,maxRetries:o=5}={}){let a;try{a=await this.lstatPromise(t)}catch(n){if(n.code==="ENOENT")return;throw n}if(a.isDirectory()){if(r){let n=await this.readdirPromise(t);await Promise.all(n.map(u=>this.removePromise(this.pathUtils.resolve(t,u))))}for(let n=0;n<=o;n++)try{await this.rmdirPromise(t);break}catch(u){if(u.code!=="EBUSY"&&u.code!=="ENOTEMPTY")throw u;n<o&&await new Promise(A=>setTimeout(A,n*100))}}else await this.unlinkPromise(t)}removeSync(t,{recursive:r=!0}={}){let o;try{o=this.lstatSync(t)}catch(a){if(a.code==="ENOENT")return;throw a}if(o.isDirectory()){if(r)for(let a of this.readdirSync(t))this.removeSync(this.pathUtils.resolve(t,a));this.rmdirSync(t)}else this.unlinkSync(t)}async mkdirpPromise(t,{chmod:r,utimes:o}={}){if(t=this.resolve(t),t===this.pathUtils.dirname(t))return;let a=t.split(this.pathUtils.sep),n;for(let u=2;u<=a.length;++u){let A=a.slice(0,u).join(this.pathUtils.sep);if(!this.existsSync(A)){try{await this.mkdirPromise(A)}catch(p){if(p.code==="EEXIST")continue;throw p}if(n??=A,r!=null&&await this.chmodPromise(A,r),o!=null)await this.utimesPromise(A,o[0],o[1]);else{let p=await this.statPromise(this.pathUtils.dirname(A));await this.utimesPromise(A,p.atime,p.mtime)}}}return n}mkdirpSync(t,{chmod:r,utimes:o}={}){if(t=this.resolve(t),t===this.pathUtils.dirname(t))return;let a=t.split(this.pathUtils.sep),n;for(let u=2;u<=a.length;++u){let A=a.slice(0,u).join(this.pathUtils.sep);if(!this.existsSync(A)){try{this.mkdirSync(A)}catch(p){if(p.code==="EEXIST")continue;throw p}if(n??=A,r!=null&&this.chmodSync(A,r),o!=null)this.utimesSync(A,o[0],o[1]);else{let p=this.statSync(this.pathUtils.dirname(A));this.utimesSync(A,p.atime,p.mtime)}}}return n}async copyPromise(t,r,{baseFs:o=this,overwrite:a=!0,stableSort:n=!1,stableTime:u=!1,linkStrategy:A=null}={}){return await R7(this,t,o,r,{overwrite:a,stableSort:n,stableTime:u,linkStrategy:A})}copySync(t,r,{baseFs:o=this,overwrite:a=!0}={}){let n=o.lstatSync(r),u=this.existsSync(t);if(n.isDirectory()){this.mkdirpSync(t);let p=o.readdirSync(r);for(let h of p)this.copySync(this.pathUtils.join(t,h),o.pathUtils.join(r,h),{baseFs:o,overwrite:a})}else if(n.isFile()){if(!u||a){u&&this.removeSync(t);let p=o.readFileSync(r);this.writeFileSync(t,p)}}else if(n.isSymbolicLink()){if(!u||a){u&&this.removeSync(t);let p=o.readlinkSync(r);this.symlinkSync(vD(this.pathUtils,p),t)}}else throw new Error(`Unsupported file type (file: ${r}, mode: 0o${n.mode.toString(8).padStart(6,"0")})`);let A=n.mode&511;this.chmodSync(t,A)}async changeFilePromise(t,r,o={}){return Buffer.isBuffer(r)?this.changeFileBufferPromise(t,r,o):this.changeFileTextPromise(t,r,o)}async changeFileBufferPromise(t,r,{mode:o}={}){let a=Buffer.alloc(0);try{a=await this.readFilePromise(t)}catch{}Buffer.compare(a,r)!==0&&await this.writeFilePromise(t,r,{mode:o})}async changeFileTextPromise(t,r,{automaticNewlines:o,mode:a}={}){let n="";try{n=await this.readFilePromise(t,"utf8")}catch{}let u=o?Mg(n,r):r;n!==u&&await this.writeFilePromise(t,u,{mode:a})}changeFileSync(t,r,o={}){return Buffer.isBuffer(r)?this.changeFileBufferSync(t,r,o):this.changeFileTextSync(t,r,o)}changeFileBufferSync(t,r,{mode:o}={}){let a=Buffer.alloc(0);try{a=this.readFileSync(t)}catch{}Buffer.compare(a,r)!==0&&this.writeFileSync(t,r,{mode:o})}changeFileTextSync(t,r,{automaticNewlines:o=!1,mode:a}={}){let n="";try{n=this.readFileSync(t,"utf8")}catch{}let u=o?Mg(n,r):r;n!==u&&this.writeFileSync(t,u,{mode:a})}async movePromise(t,r){try{await this.renamePromise(t,r)}catch(o){if(o.code==="EXDEV")await this.copyPromise(r,t),await this.removePromise(t);else throw o}}moveSync(t,r){try{this.renameSync(t,r)}catch(o){if(o.code==="EXDEV")this.copySync(r,t),this.removeSync(t);else throw o}}async lockPromise(t,r){let o=`${t}.flock`,a=1e3/60,n=Date.now(),u=null,A=async()=>{let p;try{[p]=await this.readJsonPromise(o)}catch{return Date.now()-n<500}try{return process.kill(p,0),!0}catch{return!1}};for(;u===null;)try{u=await this.openPromise(o,"wx")}catch(p){if(p.code==="EEXIST"){if(!await A())try{await this.unlinkPromise(o);continue}catch{}if(Date.now()-n<60*1e3)await new Promise(h=>setTimeout(h,a));else throw new Error(`Couldn't acquire a lock in a reasonable time (via ${o})`)}else throw p}await this.writePromise(u,JSON.stringify([process.pid]));try{return await r()}finally{try{await this.closePromise(u),await this.unlinkPromise(o)}catch{}}}async readJsonPromise(t){let r=await this.readFilePromise(t,"utf8");try{return JSON.parse(r)}catch(o){throw o.message+=` (in ${t})`,o}}readJsonSync(t){let r=this.readFileSync(t,"utf8");try{return JSON.parse(r)}catch(o){throw o.message+=` (in ${t})`,o}}async writeJsonPromise(t,r,{compact:o=!1}={}){let a=o?0:2;return await this.writeFilePromise(t,`${JSON.stringify(r,null,a)} -`)}writeJsonSync(t,r,{compact:o=!1}={}){let a=o?0:2;return this.writeFileSync(t,`${JSON.stringify(r,null,a)} -`)}async preserveTimePromise(t,r){let o=await this.lstatPromise(t),a=await r();typeof a<"u"&&(t=a),await this.lutimesPromise(t,o.atime,o.mtime)}async preserveTimeSync(t,r){let o=this.lstatSync(t),a=r();typeof a<"u"&&(t=a),this.lutimesSync(t,o.atime,o.mtime)}},_u=class extends gf{constructor(){super(J)}}});var Ps,df=yt(()=>{Ug();Ps=class extends gf{getExtractHint(t){return this.baseFs.getExtractHint(t)}resolve(t){return this.mapFromBase(this.baseFs.resolve(this.mapToBase(t)))}getRealPath(){return this.mapFromBase(this.baseFs.getRealPath())}async openPromise(t,r,o){return this.baseFs.openPromise(this.mapToBase(t),r,o)}openSync(t,r,o){return this.baseFs.openSync(this.mapToBase(t),r,o)}async opendirPromise(t,r){return Object.assign(await this.baseFs.opendirPromise(this.mapToBase(t),r),{path:t})}opendirSync(t,r){return Object.assign(this.baseFs.opendirSync(this.mapToBase(t),r),{path:t})}async readPromise(t,r,o,a,n){return await this.baseFs.readPromise(t,r,o,a,n)}readSync(t,r,o,a,n){return this.baseFs.readSync(t,r,o,a,n)}async writePromise(t,r,o,a,n){return typeof r=="string"?await this.baseFs.writePromise(t,r,o):await this.baseFs.writePromise(t,r,o,a,n)}writeSync(t,r,o,a,n){return typeof r=="string"?this.baseFs.writeSync(t,r,o):this.baseFs.writeSync(t,r,o,a,n)}async closePromise(t){return this.baseFs.closePromise(t)}closeSync(t){this.baseFs.closeSync(t)}createReadStream(t,r){return this.baseFs.createReadStream(t!==null?this.mapToBase(t):t,r)}createWriteStream(t,r){return this.baseFs.createWriteStream(t!==null?this.mapToBase(t):t,r)}async realpathPromise(t){return this.mapFromBase(await this.baseFs.realpathPromise(this.mapToBase(t)))}realpathSync(t){return this.mapFromBase(this.baseFs.realpathSync(this.mapToBase(t)))}async existsPromise(t){return this.baseFs.existsPromise(this.mapToBase(t))}existsSync(t){return this.baseFs.existsSync(this.mapToBase(t))}accessSync(t,r){return this.baseFs.accessSync(this.mapToBase(t),r)}async accessPromise(t,r){return this.baseFs.accessPromise(this.mapToBase(t),r)}async statPromise(t,r){return this.baseFs.statPromise(this.mapToBase(t),r)}statSync(t,r){return this.baseFs.statSync(this.mapToBase(t),r)}async fstatPromise(t,r){return this.baseFs.fstatPromise(t,r)}fstatSync(t,r){return this.baseFs.fstatSync(t,r)}lstatPromise(t,r){return this.baseFs.lstatPromise(this.mapToBase(t),r)}lstatSync(t,r){return this.baseFs.lstatSync(this.mapToBase(t),r)}async fchmodPromise(t,r){return this.baseFs.fchmodPromise(t,r)}fchmodSync(t,r){return this.baseFs.fchmodSync(t,r)}async chmodPromise(t,r){return this.baseFs.chmodPromise(this.mapToBase(t),r)}chmodSync(t,r){return this.baseFs.chmodSync(this.mapToBase(t),r)}async fchownPromise(t,r,o){return this.baseFs.fchownPromise(t,r,o)}fchownSync(t,r,o){return this.baseFs.fchownSync(t,r,o)}async chownPromise(t,r,o){return this.baseFs.chownPromise(this.mapToBase(t),r,o)}chownSync(t,r,o){return this.baseFs.chownSync(this.mapToBase(t),r,o)}async renamePromise(t,r){return this.baseFs.renamePromise(this.mapToBase(t),this.mapToBase(r))}renameSync(t,r){return this.baseFs.renameSync(this.mapToBase(t),this.mapToBase(r))}async copyFilePromise(t,r,o=0){return this.baseFs.copyFilePromise(this.mapToBase(t),this.mapToBase(r),o)}copyFileSync(t,r,o=0){return this.baseFs.copyFileSync(this.mapToBase(t),this.mapToBase(r),o)}async appendFilePromise(t,r,o){return this.baseFs.appendFilePromise(this.fsMapToBase(t),r,o)}appendFileSync(t,r,o){return this.baseFs.appendFileSync(this.fsMapToBase(t),r,o)}async writeFilePromise(t,r,o){return this.baseFs.writeFilePromise(this.fsMapToBase(t),r,o)}writeFileSync(t,r,o){return this.baseFs.writeFileSync(this.fsMapToBase(t),r,o)}async unlinkPromise(t){return this.baseFs.unlinkPromise(this.mapToBase(t))}unlinkSync(t){return this.baseFs.unlinkSync(this.mapToBase(t))}async utimesPromise(t,r,o){return this.baseFs.utimesPromise(this.mapToBase(t),r,o)}utimesSync(t,r,o){return this.baseFs.utimesSync(this.mapToBase(t),r,o)}async lutimesPromise(t,r,o){return this.baseFs.lutimesPromise(this.mapToBase(t),r,o)}lutimesSync(t,r,o){return this.baseFs.lutimesSync(this.mapToBase(t),r,o)}async mkdirPromise(t,r){return this.baseFs.mkdirPromise(this.mapToBase(t),r)}mkdirSync(t,r){return this.baseFs.mkdirSync(this.mapToBase(t),r)}async rmdirPromise(t,r){return this.baseFs.rmdirPromise(this.mapToBase(t),r)}rmdirSync(t,r){return this.baseFs.rmdirSync(this.mapToBase(t),r)}async linkPromise(t,r){return this.baseFs.linkPromise(this.mapToBase(t),this.mapToBase(r))}linkSync(t,r){return this.baseFs.linkSync(this.mapToBase(t),this.mapToBase(r))}async symlinkPromise(t,r,o){let a=this.mapToBase(r);if(this.pathUtils.isAbsolute(t))return this.baseFs.symlinkPromise(this.mapToBase(t),a,o);let n=this.mapToBase(this.pathUtils.join(this.pathUtils.dirname(r),t)),u=this.baseFs.pathUtils.relative(this.baseFs.pathUtils.dirname(a),n);return this.baseFs.symlinkPromise(u,a,o)}symlinkSync(t,r,o){let a=this.mapToBase(r);if(this.pathUtils.isAbsolute(t))return this.baseFs.symlinkSync(this.mapToBase(t),a,o);let n=this.mapToBase(this.pathUtils.join(this.pathUtils.dirname(r),t)),u=this.baseFs.pathUtils.relative(this.baseFs.pathUtils.dirname(a),n);return this.baseFs.symlinkSync(u,a,o)}async readFilePromise(t,r){return this.baseFs.readFilePromise(this.fsMapToBase(t),r)}readFileSync(t,r){return this.baseFs.readFileSync(this.fsMapToBase(t),r)}readdirPromise(t,r){return this.baseFs.readdirPromise(this.mapToBase(t),r)}readdirSync(t,r){return this.baseFs.readdirSync(this.mapToBase(t),r)}async readlinkPromise(t){return this.mapFromBase(await this.baseFs.readlinkPromise(this.mapToBase(t)))}readlinkSync(t){return this.mapFromBase(this.baseFs.readlinkSync(this.mapToBase(t)))}async truncatePromise(t,r){return this.baseFs.truncatePromise(this.mapToBase(t),r)}truncateSync(t,r){return this.baseFs.truncateSync(this.mapToBase(t),r)}async ftruncatePromise(t,r){return this.baseFs.ftruncatePromise(t,r)}ftruncateSync(t,r){return this.baseFs.ftruncateSync(t,r)}watch(t,r,o){return this.baseFs.watch(this.mapToBase(t),r,o)}watchFile(t,r,o){return this.baseFs.watchFile(this.mapToBase(t),r,o)}unwatchFile(t,r){return this.baseFs.unwatchFile(this.mapToBase(t),r)}fsMapToBase(t){return typeof t=="number"?t:this.mapToBase(t)}}});var Hu,H7=yt(()=>{df();Hu=class extends Ps{constructor(r,{baseFs:o,pathUtils:a}){super(a);this.target=r,this.baseFs=o}getRealPath(){return this.target}getBaseFs(){return this.baseFs}mapFromBase(r){return r}mapToBase(r){return r}}});var j7,Rn,_g=yt(()=>{j7=$e(Ie("fs"));Ug();wa();Rn=class extends _u{constructor(r=j7.default){super();this.realFs=r}getExtractHint(){return!1}getRealPath(){return Bt.root}resolve(r){return J.resolve(r)}async openPromise(r,o,a){return await new Promise((n,u)=>{this.realFs.open(Ae.fromPortablePath(r),o,a,this.makeCallback(n,u))})}openSync(r,o,a){return this.realFs.openSync(Ae.fromPortablePath(r),o,a)}async opendirPromise(r,o){return await new Promise((a,n)=>{typeof o<"u"?this.realFs.opendir(Ae.fromPortablePath(r),o,this.makeCallback(a,n)):this.realFs.opendir(Ae.fromPortablePath(r),this.makeCallback(a,n))}).then(a=>Object.defineProperty(a,"path",{value:r,configurable:!0,writable:!0}))}opendirSync(r,o){let a=typeof o<"u"?this.realFs.opendirSync(Ae.fromPortablePath(r),o):this.realFs.opendirSync(Ae.fromPortablePath(r));return Object.defineProperty(a,"path",{value:r,configurable:!0,writable:!0})}async readPromise(r,o,a=0,n=0,u=-1){return await new Promise((A,p)=>{this.realFs.read(r,o,a,n,u,(h,w)=>{h?p(h):A(w)})})}readSync(r,o,a,n,u){return this.realFs.readSync(r,o,a,n,u)}async writePromise(r,o,a,n,u){return await new Promise((A,p)=>typeof o=="string"?this.realFs.write(r,o,a,this.makeCallback(A,p)):this.realFs.write(r,o,a,n,u,this.makeCallback(A,p)))}writeSync(r,o,a,n,u){return typeof o=="string"?this.realFs.writeSync(r,o,a):this.realFs.writeSync(r,o,a,n,u)}async closePromise(r){await new Promise((o,a)=>{this.realFs.close(r,this.makeCallback(o,a))})}closeSync(r){this.realFs.closeSync(r)}createReadStream(r,o){let a=r!==null?Ae.fromPortablePath(r):r;return this.realFs.createReadStream(a,o)}createWriteStream(r,o){let a=r!==null?Ae.fromPortablePath(r):r;return this.realFs.createWriteStream(a,o)}async realpathPromise(r){return await new Promise((o,a)=>{this.realFs.realpath(Ae.fromPortablePath(r),{},this.makeCallback(o,a))}).then(o=>Ae.toPortablePath(o))}realpathSync(r){return Ae.toPortablePath(this.realFs.realpathSync(Ae.fromPortablePath(r),{}))}async existsPromise(r){return await new Promise(o=>{this.realFs.exists(Ae.fromPortablePath(r),o)})}accessSync(r,o){return this.realFs.accessSync(Ae.fromPortablePath(r),o)}async accessPromise(r,o){return await new Promise((a,n)=>{this.realFs.access(Ae.fromPortablePath(r),o,this.makeCallback(a,n))})}existsSync(r){return this.realFs.existsSync(Ae.fromPortablePath(r))}async statPromise(r,o){return await new Promise((a,n)=>{o?this.realFs.stat(Ae.fromPortablePath(r),o,this.makeCallback(a,n)):this.realFs.stat(Ae.fromPortablePath(r),this.makeCallback(a,n))})}statSync(r,o){return o?this.realFs.statSync(Ae.fromPortablePath(r),o):this.realFs.statSync(Ae.fromPortablePath(r))}async fstatPromise(r,o){return await new Promise((a,n)=>{o?this.realFs.fstat(r,o,this.makeCallback(a,n)):this.realFs.fstat(r,this.makeCallback(a,n))})}fstatSync(r,o){return o?this.realFs.fstatSync(r,o):this.realFs.fstatSync(r)}async lstatPromise(r,o){return await new Promise((a,n)=>{o?this.realFs.lstat(Ae.fromPortablePath(r),o,this.makeCallback(a,n)):this.realFs.lstat(Ae.fromPortablePath(r),this.makeCallback(a,n))})}lstatSync(r,o){return o?this.realFs.lstatSync(Ae.fromPortablePath(r),o):this.realFs.lstatSync(Ae.fromPortablePath(r))}async fchmodPromise(r,o){return await new Promise((a,n)=>{this.realFs.fchmod(r,o,this.makeCallback(a,n))})}fchmodSync(r,o){return this.realFs.fchmodSync(r,o)}async chmodPromise(r,o){return await new Promise((a,n)=>{this.realFs.chmod(Ae.fromPortablePath(r),o,this.makeCallback(a,n))})}chmodSync(r,o){return this.realFs.chmodSync(Ae.fromPortablePath(r),o)}async fchownPromise(r,o,a){return await new Promise((n,u)=>{this.realFs.fchown(r,o,a,this.makeCallback(n,u))})}fchownSync(r,o,a){return this.realFs.fchownSync(r,o,a)}async chownPromise(r,o,a){return await new Promise((n,u)=>{this.realFs.chown(Ae.fromPortablePath(r),o,a,this.makeCallback(n,u))})}chownSync(r,o,a){return this.realFs.chownSync(Ae.fromPortablePath(r),o,a)}async renamePromise(r,o){return await new Promise((a,n)=>{this.realFs.rename(Ae.fromPortablePath(r),Ae.fromPortablePath(o),this.makeCallback(a,n))})}renameSync(r,o){return this.realFs.renameSync(Ae.fromPortablePath(r),Ae.fromPortablePath(o))}async copyFilePromise(r,o,a=0){return await new Promise((n,u)=>{this.realFs.copyFile(Ae.fromPortablePath(r),Ae.fromPortablePath(o),a,this.makeCallback(n,u))})}copyFileSync(r,o,a=0){return this.realFs.copyFileSync(Ae.fromPortablePath(r),Ae.fromPortablePath(o),a)}async appendFilePromise(r,o,a){return await new Promise((n,u)=>{let A=typeof r=="string"?Ae.fromPortablePath(r):r;a?this.realFs.appendFile(A,o,a,this.makeCallback(n,u)):this.realFs.appendFile(A,o,this.makeCallback(n,u))})}appendFileSync(r,o,a){let n=typeof r=="string"?Ae.fromPortablePath(r):r;a?this.realFs.appendFileSync(n,o,a):this.realFs.appendFileSync(n,o)}async writeFilePromise(r,o,a){return await new Promise((n,u)=>{let A=typeof r=="string"?Ae.fromPortablePath(r):r;a?this.realFs.writeFile(A,o,a,this.makeCallback(n,u)):this.realFs.writeFile(A,o,this.makeCallback(n,u))})}writeFileSync(r,o,a){let n=typeof r=="string"?Ae.fromPortablePath(r):r;a?this.realFs.writeFileSync(n,o,a):this.realFs.writeFileSync(n,o)}async unlinkPromise(r){return await new Promise((o,a)=>{this.realFs.unlink(Ae.fromPortablePath(r),this.makeCallback(o,a))})}unlinkSync(r){return this.realFs.unlinkSync(Ae.fromPortablePath(r))}async utimesPromise(r,o,a){return await new Promise((n,u)=>{this.realFs.utimes(Ae.fromPortablePath(r),o,a,this.makeCallback(n,u))})}utimesSync(r,o,a){this.realFs.utimesSync(Ae.fromPortablePath(r),o,a)}async lutimesPromise(r,o,a){return await new Promise((n,u)=>{this.realFs.lutimes(Ae.fromPortablePath(r),o,a,this.makeCallback(n,u))})}lutimesSync(r,o,a){this.realFs.lutimesSync(Ae.fromPortablePath(r),o,a)}async mkdirPromise(r,o){return await new Promise((a,n)=>{this.realFs.mkdir(Ae.fromPortablePath(r),o,this.makeCallback(a,n))})}mkdirSync(r,o){return this.realFs.mkdirSync(Ae.fromPortablePath(r),o)}async rmdirPromise(r,o){return await new Promise((a,n)=>{o?this.realFs.rmdir(Ae.fromPortablePath(r),o,this.makeCallback(a,n)):this.realFs.rmdir(Ae.fromPortablePath(r),this.makeCallback(a,n))})}rmdirSync(r,o){return this.realFs.rmdirSync(Ae.fromPortablePath(r),o)}async linkPromise(r,o){return await new Promise((a,n)=>{this.realFs.link(Ae.fromPortablePath(r),Ae.fromPortablePath(o),this.makeCallback(a,n))})}linkSync(r,o){return this.realFs.linkSync(Ae.fromPortablePath(r),Ae.fromPortablePath(o))}async symlinkPromise(r,o,a){return await new Promise((n,u)=>{this.realFs.symlink(Ae.fromPortablePath(r.replace(/\/+$/,"")),Ae.fromPortablePath(o),a,this.makeCallback(n,u))})}symlinkSync(r,o,a){return this.realFs.symlinkSync(Ae.fromPortablePath(r.replace(/\/+$/,"")),Ae.fromPortablePath(o),a)}async readFilePromise(r,o){return await new Promise((a,n)=>{let u=typeof r=="string"?Ae.fromPortablePath(r):r;this.realFs.readFile(u,o,this.makeCallback(a,n))})}readFileSync(r,o){let a=typeof r=="string"?Ae.fromPortablePath(r):r;return this.realFs.readFileSync(a,o)}async readdirPromise(r,o){return await new Promise((a,n)=>{o?this.realFs.readdir(Ae.fromPortablePath(r),o,this.makeCallback(a,n)):this.realFs.readdir(Ae.fromPortablePath(r),this.makeCallback(u=>a(u),n))})}readdirSync(r,o){return o?this.realFs.readdirSync(Ae.fromPortablePath(r),o):this.realFs.readdirSync(Ae.fromPortablePath(r))}async readlinkPromise(r){return await new Promise((o,a)=>{this.realFs.readlink(Ae.fromPortablePath(r),this.makeCallback(o,a))}).then(o=>Ae.toPortablePath(o))}readlinkSync(r){return Ae.toPortablePath(this.realFs.readlinkSync(Ae.fromPortablePath(r)))}async truncatePromise(r,o){return await new Promise((a,n)=>{this.realFs.truncate(Ae.fromPortablePath(r),o,this.makeCallback(a,n))})}truncateSync(r,o){return this.realFs.truncateSync(Ae.fromPortablePath(r),o)}async ftruncatePromise(r,o){return await new Promise((a,n)=>{this.realFs.ftruncate(r,o,this.makeCallback(a,n))})}ftruncateSync(r,o){return this.realFs.ftruncateSync(r,o)}watch(r,o,a){return this.realFs.watch(Ae.fromPortablePath(r),o,a)}watchFile(r,o,a){return this.realFs.watchFile(Ae.fromPortablePath(r),o,a)}unwatchFile(r,o){return this.realFs.unwatchFile(Ae.fromPortablePath(r),o)}makeCallback(r,o){return(a,n)=>{a?o(a):r(n)}}}});var hn,q7=yt(()=>{_g();df();wa();hn=class extends Ps{constructor(r,{baseFs:o=new Rn}={}){super(J);this.target=this.pathUtils.normalize(r),this.baseFs=o}getRealPath(){return this.pathUtils.resolve(this.baseFs.getRealPath(),this.target)}resolve(r){return this.pathUtils.isAbsolute(r)?J.normalize(r):this.baseFs.resolve(J.join(this.target,r))}mapFromBase(r){return r}mapToBase(r){return this.pathUtils.isAbsolute(r)?r:this.pathUtils.join(this.target,r)}}});var G7,ju,Y7=yt(()=>{_g();df();wa();G7=Bt.root,ju=class extends Ps{constructor(r,{baseFs:o=new Rn}={}){super(J);this.target=this.pathUtils.resolve(Bt.root,r),this.baseFs=o}getRealPath(){return this.pathUtils.resolve(this.baseFs.getRealPath(),this.pathUtils.relative(Bt.root,this.target))}getTarget(){return this.target}getBaseFs(){return this.baseFs}mapToBase(r){let o=this.pathUtils.normalize(r);if(this.pathUtils.isAbsolute(r))return this.pathUtils.resolve(this.target,this.pathUtils.relative(G7,r));if(o.match(/^\.\.\/?/))throw new Error(`Resolving this path (${r}) would escape the jail`);return this.pathUtils.resolve(this.target,r)}mapFromBase(r){return this.pathUtils.resolve(G7,this.pathUtils.relative(this.target,r))}}});var ny,W7=yt(()=>{df();ny=class extends Ps{constructor(r,o){super(o);this.instance=null;this.factory=r}get baseFs(){return this.instance||(this.instance=this.factory()),this.instance}set baseFs(r){this.instance=r}mapFromBase(r){return r}mapToBase(r){return r}}});var Hg,Ca,Up,K7=yt(()=>{Hg=Ie("fs");Ug();_g();GR();ID();wa();Ca=4278190080,Up=class extends _u{constructor({baseFs:r=new Rn,filter:o=null,magicByte:a=42,maxOpenFiles:n=1/0,useCache:u=!0,maxAge:A=5e3,typeCheck:p=Hg.constants.S_IFREG,getMountPoint:h,factoryPromise:w,factorySync:I}){if(Math.floor(a)!==a||!(a>1&&a<=127))throw new Error("The magic byte must be set to a round value between 1 and 127 included");super();this.fdMap=new Map;this.nextFd=3;this.isMount=new Set;this.notMount=new Set;this.realPaths=new Map;this.limitOpenFilesTimeout=null;this.baseFs=r,this.mountInstances=u?new Map:null,this.factoryPromise=w,this.factorySync=I,this.filter=o,this.getMountPoint=h,this.magic=a<<24,this.maxAge=A,this.maxOpenFiles=n,this.typeCheck=p}getExtractHint(r){return this.baseFs.getExtractHint(r)}getRealPath(){return this.baseFs.getRealPath()}saveAndClose(){if(Og(this),this.mountInstances)for(let[r,{childFs:o}]of this.mountInstances.entries())o.saveAndClose?.(),this.mountInstances.delete(r)}discardAndClose(){if(Og(this),this.mountInstances)for(let[r,{childFs:o}]of this.mountInstances.entries())o.discardAndClose?.(),this.mountInstances.delete(r)}resolve(r){return this.baseFs.resolve(r)}remapFd(r,o){let a=this.nextFd++|this.magic;return this.fdMap.set(a,[r,o]),a}async openPromise(r,o,a){return await this.makeCallPromise(r,async()=>await this.baseFs.openPromise(r,o,a),async(n,{subPath:u})=>this.remapFd(n,await n.openPromise(u,o,a)))}openSync(r,o,a){return this.makeCallSync(r,()=>this.baseFs.openSync(r,o,a),(n,{subPath:u})=>this.remapFd(n,n.openSync(u,o,a)))}async opendirPromise(r,o){return await this.makeCallPromise(r,async()=>await this.baseFs.opendirPromise(r,o),async(a,{subPath:n})=>await a.opendirPromise(n,o),{requireSubpath:!1})}opendirSync(r,o){return this.makeCallSync(r,()=>this.baseFs.opendirSync(r,o),(a,{subPath:n})=>a.opendirSync(n,o),{requireSubpath:!1})}async readPromise(r,o,a,n,u){if((r&Ca)!==this.magic)return await this.baseFs.readPromise(r,o,a,n,u);let A=this.fdMap.get(r);if(typeof A>"u")throw Io("read");let[p,h]=A;return await p.readPromise(h,o,a,n,u)}readSync(r,o,a,n,u){if((r&Ca)!==this.magic)return this.baseFs.readSync(r,o,a,n,u);let A=this.fdMap.get(r);if(typeof A>"u")throw Io("readSync");let[p,h]=A;return p.readSync(h,o,a,n,u)}async writePromise(r,o,a,n,u){if((r&Ca)!==this.magic)return typeof o=="string"?await this.baseFs.writePromise(r,o,a):await this.baseFs.writePromise(r,o,a,n,u);let A=this.fdMap.get(r);if(typeof A>"u")throw Io("write");let[p,h]=A;return typeof o=="string"?await p.writePromise(h,o,a):await p.writePromise(h,o,a,n,u)}writeSync(r,o,a,n,u){if((r&Ca)!==this.magic)return typeof o=="string"?this.baseFs.writeSync(r,o,a):this.baseFs.writeSync(r,o,a,n,u);let A=this.fdMap.get(r);if(typeof A>"u")throw Io("writeSync");let[p,h]=A;return typeof o=="string"?p.writeSync(h,o,a):p.writeSync(h,o,a,n,u)}async closePromise(r){if((r&Ca)!==this.magic)return await this.baseFs.closePromise(r);let o=this.fdMap.get(r);if(typeof o>"u")throw Io("close");this.fdMap.delete(r);let[a,n]=o;return await a.closePromise(n)}closeSync(r){if((r&Ca)!==this.magic)return this.baseFs.closeSync(r);let o=this.fdMap.get(r);if(typeof o>"u")throw Io("closeSync");this.fdMap.delete(r);let[a,n]=o;return a.closeSync(n)}createReadStream(r,o){return r===null?this.baseFs.createReadStream(r,o):this.makeCallSync(r,()=>this.baseFs.createReadStream(r,o),(a,{archivePath:n,subPath:u})=>{let A=a.createReadStream(u,o);return A.path=Ae.fromPortablePath(this.pathUtils.join(n,u)),A})}createWriteStream(r,o){return r===null?this.baseFs.createWriteStream(r,o):this.makeCallSync(r,()=>this.baseFs.createWriteStream(r,o),(a,{subPath:n})=>a.createWriteStream(n,o))}async realpathPromise(r){return await this.makeCallPromise(r,async()=>await this.baseFs.realpathPromise(r),async(o,{archivePath:a,subPath:n})=>{let u=this.realPaths.get(a);return typeof u>"u"&&(u=await this.baseFs.realpathPromise(a),this.realPaths.set(a,u)),this.pathUtils.join(u,this.pathUtils.relative(Bt.root,await o.realpathPromise(n)))})}realpathSync(r){return this.makeCallSync(r,()=>this.baseFs.realpathSync(r),(o,{archivePath:a,subPath:n})=>{let u=this.realPaths.get(a);return typeof u>"u"&&(u=this.baseFs.realpathSync(a),this.realPaths.set(a,u)),this.pathUtils.join(u,this.pathUtils.relative(Bt.root,o.realpathSync(n)))})}async existsPromise(r){return await this.makeCallPromise(r,async()=>await this.baseFs.existsPromise(r),async(o,{subPath:a})=>await o.existsPromise(a))}existsSync(r){return this.makeCallSync(r,()=>this.baseFs.existsSync(r),(o,{subPath:a})=>o.existsSync(a))}async accessPromise(r,o){return await this.makeCallPromise(r,async()=>await this.baseFs.accessPromise(r,o),async(a,{subPath:n})=>await a.accessPromise(n,o))}accessSync(r,o){return this.makeCallSync(r,()=>this.baseFs.accessSync(r,o),(a,{subPath:n})=>a.accessSync(n,o))}async statPromise(r,o){return await this.makeCallPromise(r,async()=>await this.baseFs.statPromise(r,o),async(a,{subPath:n})=>await a.statPromise(n,o))}statSync(r,o){return this.makeCallSync(r,()=>this.baseFs.statSync(r,o),(a,{subPath:n})=>a.statSync(n,o))}async fstatPromise(r,o){if((r&Ca)!==this.magic)return this.baseFs.fstatPromise(r,o);let a=this.fdMap.get(r);if(typeof a>"u")throw Io("fstat");let[n,u]=a;return n.fstatPromise(u,o)}fstatSync(r,o){if((r&Ca)!==this.magic)return this.baseFs.fstatSync(r,o);let a=this.fdMap.get(r);if(typeof a>"u")throw Io("fstatSync");let[n,u]=a;return n.fstatSync(u,o)}async lstatPromise(r,o){return await this.makeCallPromise(r,async()=>await this.baseFs.lstatPromise(r,o),async(a,{subPath:n})=>await a.lstatPromise(n,o))}lstatSync(r,o){return this.makeCallSync(r,()=>this.baseFs.lstatSync(r,o),(a,{subPath:n})=>a.lstatSync(n,o))}async fchmodPromise(r,o){if((r&Ca)!==this.magic)return this.baseFs.fchmodPromise(r,o);let a=this.fdMap.get(r);if(typeof a>"u")throw Io("fchmod");let[n,u]=a;return n.fchmodPromise(u,o)}fchmodSync(r,o){if((r&Ca)!==this.magic)return this.baseFs.fchmodSync(r,o);let a=this.fdMap.get(r);if(typeof a>"u")throw Io("fchmodSync");let[n,u]=a;return n.fchmodSync(u,o)}async chmodPromise(r,o){return await this.makeCallPromise(r,async()=>await this.baseFs.chmodPromise(r,o),async(a,{subPath:n})=>await a.chmodPromise(n,o))}chmodSync(r,o){return this.makeCallSync(r,()=>this.baseFs.chmodSync(r,o),(a,{subPath:n})=>a.chmodSync(n,o))}async fchownPromise(r,o,a){if((r&Ca)!==this.magic)return this.baseFs.fchownPromise(r,o,a);let n=this.fdMap.get(r);if(typeof n>"u")throw Io("fchown");let[u,A]=n;return u.fchownPromise(A,o,a)}fchownSync(r,o,a){if((r&Ca)!==this.magic)return this.baseFs.fchownSync(r,o,a);let n=this.fdMap.get(r);if(typeof n>"u")throw Io("fchownSync");let[u,A]=n;return u.fchownSync(A,o,a)}async chownPromise(r,o,a){return await this.makeCallPromise(r,async()=>await this.baseFs.chownPromise(r,o,a),async(n,{subPath:u})=>await n.chownPromise(u,o,a))}chownSync(r,o,a){return this.makeCallSync(r,()=>this.baseFs.chownSync(r,o,a),(n,{subPath:u})=>n.chownSync(u,o,a))}async renamePromise(r,o){return await this.makeCallPromise(r,async()=>await this.makeCallPromise(o,async()=>await this.baseFs.renamePromise(r,o),async()=>{throw Object.assign(new Error("EEXDEV: cross-device link not permitted"),{code:"EEXDEV"})}),async(a,{subPath:n})=>await this.makeCallPromise(o,async()=>{throw Object.assign(new Error("EEXDEV: cross-device link not permitted"),{code:"EEXDEV"})},async(u,{subPath:A})=>{if(a!==u)throw Object.assign(new Error("EEXDEV: cross-device link not permitted"),{code:"EEXDEV"});return await a.renamePromise(n,A)}))}renameSync(r,o){return this.makeCallSync(r,()=>this.makeCallSync(o,()=>this.baseFs.renameSync(r,o),()=>{throw Object.assign(new Error("EEXDEV: cross-device link not permitted"),{code:"EEXDEV"})}),(a,{subPath:n})=>this.makeCallSync(o,()=>{throw Object.assign(new Error("EEXDEV: cross-device link not permitted"),{code:"EEXDEV"})},(u,{subPath:A})=>{if(a!==u)throw Object.assign(new Error("EEXDEV: cross-device link not permitted"),{code:"EEXDEV"});return a.renameSync(n,A)}))}async copyFilePromise(r,o,a=0){let n=async(u,A,p,h)=>{if((a&Hg.constants.COPYFILE_FICLONE_FORCE)!==0)throw Object.assign(new Error(`EXDEV: cross-device clone not permitted, copyfile '${A}' -> ${h}'`),{code:"EXDEV"});if(a&Hg.constants.COPYFILE_EXCL&&await this.existsPromise(A))throw Object.assign(new Error(`EEXIST: file already exists, copyfile '${A}' -> '${h}'`),{code:"EEXIST"});let w;try{w=await u.readFilePromise(A)}catch{throw Object.assign(new Error(`EINVAL: invalid argument, copyfile '${A}' -> '${h}'`),{code:"EINVAL"})}await p.writeFilePromise(h,w)};return await this.makeCallPromise(r,async()=>await this.makeCallPromise(o,async()=>await this.baseFs.copyFilePromise(r,o,a),async(u,{subPath:A})=>await n(this.baseFs,r,u,A)),async(u,{subPath:A})=>await this.makeCallPromise(o,async()=>await n(u,A,this.baseFs,o),async(p,{subPath:h})=>u!==p?await n(u,A,p,h):await u.copyFilePromise(A,h,a)))}copyFileSync(r,o,a=0){let n=(u,A,p,h)=>{if((a&Hg.constants.COPYFILE_FICLONE_FORCE)!==0)throw Object.assign(new Error(`EXDEV: cross-device clone not permitted, copyfile '${A}' -> ${h}'`),{code:"EXDEV"});if(a&Hg.constants.COPYFILE_EXCL&&this.existsSync(A))throw Object.assign(new Error(`EEXIST: file already exists, copyfile '${A}' -> '${h}'`),{code:"EEXIST"});let w;try{w=u.readFileSync(A)}catch{throw Object.assign(new Error(`EINVAL: invalid argument, copyfile '${A}' -> '${h}'`),{code:"EINVAL"})}p.writeFileSync(h,w)};return this.makeCallSync(r,()=>this.makeCallSync(o,()=>this.baseFs.copyFileSync(r,o,a),(u,{subPath:A})=>n(this.baseFs,r,u,A)),(u,{subPath:A})=>this.makeCallSync(o,()=>n(u,A,this.baseFs,o),(p,{subPath:h})=>u!==p?n(u,A,p,h):u.copyFileSync(A,h,a)))}async appendFilePromise(r,o,a){return await this.makeCallPromise(r,async()=>await this.baseFs.appendFilePromise(r,o,a),async(n,{subPath:u})=>await n.appendFilePromise(u,o,a))}appendFileSync(r,o,a){return this.makeCallSync(r,()=>this.baseFs.appendFileSync(r,o,a),(n,{subPath:u})=>n.appendFileSync(u,o,a))}async writeFilePromise(r,o,a){return await this.makeCallPromise(r,async()=>await this.baseFs.writeFilePromise(r,o,a),async(n,{subPath:u})=>await n.writeFilePromise(u,o,a))}writeFileSync(r,o,a){return this.makeCallSync(r,()=>this.baseFs.writeFileSync(r,o,a),(n,{subPath:u})=>n.writeFileSync(u,o,a))}async unlinkPromise(r){return await this.makeCallPromise(r,async()=>await this.baseFs.unlinkPromise(r),async(o,{subPath:a})=>await o.unlinkPromise(a))}unlinkSync(r){return this.makeCallSync(r,()=>this.baseFs.unlinkSync(r),(o,{subPath:a})=>o.unlinkSync(a))}async utimesPromise(r,o,a){return await this.makeCallPromise(r,async()=>await this.baseFs.utimesPromise(r,o,a),async(n,{subPath:u})=>await n.utimesPromise(u,o,a))}utimesSync(r,o,a){return this.makeCallSync(r,()=>this.baseFs.utimesSync(r,o,a),(n,{subPath:u})=>n.utimesSync(u,o,a))}async lutimesPromise(r,o,a){return await this.makeCallPromise(r,async()=>await this.baseFs.lutimesPromise(r,o,a),async(n,{subPath:u})=>await n.lutimesPromise(u,o,a))}lutimesSync(r,o,a){return this.makeCallSync(r,()=>this.baseFs.lutimesSync(r,o,a),(n,{subPath:u})=>n.lutimesSync(u,o,a))}async mkdirPromise(r,o){return await this.makeCallPromise(r,async()=>await this.baseFs.mkdirPromise(r,o),async(a,{subPath:n})=>await a.mkdirPromise(n,o))}mkdirSync(r,o){return this.makeCallSync(r,()=>this.baseFs.mkdirSync(r,o),(a,{subPath:n})=>a.mkdirSync(n,o))}async rmdirPromise(r,o){return await this.makeCallPromise(r,async()=>await this.baseFs.rmdirPromise(r,o),async(a,{subPath:n})=>await a.rmdirPromise(n,o))}rmdirSync(r,o){return this.makeCallSync(r,()=>this.baseFs.rmdirSync(r,o),(a,{subPath:n})=>a.rmdirSync(n,o))}async linkPromise(r,o){return await this.makeCallPromise(o,async()=>await this.baseFs.linkPromise(r,o),async(a,{subPath:n})=>await a.linkPromise(r,n))}linkSync(r,o){return this.makeCallSync(o,()=>this.baseFs.linkSync(r,o),(a,{subPath:n})=>a.linkSync(r,n))}async symlinkPromise(r,o,a){return await this.makeCallPromise(o,async()=>await this.baseFs.symlinkPromise(r,o,a),async(n,{subPath:u})=>await n.symlinkPromise(r,u))}symlinkSync(r,o,a){return this.makeCallSync(o,()=>this.baseFs.symlinkSync(r,o,a),(n,{subPath:u})=>n.symlinkSync(r,u))}async readFilePromise(r,o){return this.makeCallPromise(r,async()=>await this.baseFs.readFilePromise(r,o),async(a,{subPath:n})=>await a.readFilePromise(n,o))}readFileSync(r,o){return this.makeCallSync(r,()=>this.baseFs.readFileSync(r,o),(a,{subPath:n})=>a.readFileSync(n,o))}async readdirPromise(r,o){return await this.makeCallPromise(r,async()=>await this.baseFs.readdirPromise(r,o),async(a,{subPath:n})=>await a.readdirPromise(n,o),{requireSubpath:!1})}readdirSync(r,o){return this.makeCallSync(r,()=>this.baseFs.readdirSync(r,o),(a,{subPath:n})=>a.readdirSync(n,o),{requireSubpath:!1})}async readlinkPromise(r){return await this.makeCallPromise(r,async()=>await this.baseFs.readlinkPromise(r),async(o,{subPath:a})=>await o.readlinkPromise(a))}readlinkSync(r){return this.makeCallSync(r,()=>this.baseFs.readlinkSync(r),(o,{subPath:a})=>o.readlinkSync(a))}async truncatePromise(r,o){return await this.makeCallPromise(r,async()=>await this.baseFs.truncatePromise(r,o),async(a,{subPath:n})=>await a.truncatePromise(n,o))}truncateSync(r,o){return this.makeCallSync(r,()=>this.baseFs.truncateSync(r,o),(a,{subPath:n})=>a.truncateSync(n,o))}async ftruncatePromise(r,o){if((r&Ca)!==this.magic)return this.baseFs.ftruncatePromise(r,o);let a=this.fdMap.get(r);if(typeof a>"u")throw Io("ftruncate");let[n,u]=a;return n.ftruncatePromise(u,o)}ftruncateSync(r,o){if((r&Ca)!==this.magic)return this.baseFs.ftruncateSync(r,o);let a=this.fdMap.get(r);if(typeof a>"u")throw Io("ftruncateSync");let[n,u]=a;return n.ftruncateSync(u,o)}watch(r,o,a){return this.makeCallSync(r,()=>this.baseFs.watch(r,o,a),(n,{subPath:u})=>n.watch(u,o,a))}watchFile(r,o,a){return this.makeCallSync(r,()=>this.baseFs.watchFile(r,o,a),()=>ry(this,r,o,a))}unwatchFile(r,o){return this.makeCallSync(r,()=>this.baseFs.unwatchFile(r,o),()=>Lg(this,r,o))}async makeCallPromise(r,o,a,{requireSubpath:n=!0}={}){if(typeof r!="string")return await o();let u=this.resolve(r),A=this.findMount(u);return A?n&&A.subPath==="/"?await o():await this.getMountPromise(A.archivePath,async p=>await a(p,A)):await o()}makeCallSync(r,o,a,{requireSubpath:n=!0}={}){if(typeof r!="string")return o();let u=this.resolve(r),A=this.findMount(u);return!A||n&&A.subPath==="/"?o():this.getMountSync(A.archivePath,p=>a(p,A))}findMount(r){if(this.filter&&!this.filter.test(r))return null;let o="";for(;;){let a=r.substring(o.length),n=this.getMountPoint(a,o);if(!n)return null;if(o=this.pathUtils.join(o,n),!this.isMount.has(o)){if(this.notMount.has(o))continue;try{if(this.typeCheck!==null&&(this.baseFs.lstatSync(o).mode&Hg.constants.S_IFMT)!==this.typeCheck){this.notMount.add(o);continue}}catch{return null}this.isMount.add(o)}return{archivePath:o,subPath:this.pathUtils.join(Bt.root,r.substring(o.length))}}}limitOpenFiles(r){if(this.mountInstances===null)return;let o=Date.now(),a=o+this.maxAge,n=r===null?0:this.mountInstances.size-r;for(let[u,{childFs:A,expiresAt:p,refCount:h}]of this.mountInstances.entries())if(!(h!==0||A.hasOpenFileHandles?.())){if(o>=p){A.saveAndClose?.(),this.mountInstances.delete(u),n-=1;continue}else if(r===null||n<=0){a=p;break}A.saveAndClose?.(),this.mountInstances.delete(u),n-=1}this.limitOpenFilesTimeout===null&&(r===null&&this.mountInstances.size>0||r!==null)&&isFinite(a)&&(this.limitOpenFilesTimeout=setTimeout(()=>{this.limitOpenFilesTimeout=null,this.limitOpenFiles(null)},a-o).unref())}async getMountPromise(r,o){if(this.mountInstances){let a=this.mountInstances.get(r);if(!a){let n=await this.factoryPromise(this.baseFs,r);a=this.mountInstances.get(r),a||(a={childFs:n(),expiresAt:0,refCount:0})}this.mountInstances.delete(r),this.limitOpenFiles(this.maxOpenFiles-1),this.mountInstances.set(r,a),a.expiresAt=Date.now()+this.maxAge,a.refCount+=1;try{return await o(a.childFs)}finally{a.refCount-=1}}else{let a=(await this.factoryPromise(this.baseFs,r))();try{return await o(a)}finally{a.saveAndClose?.()}}}getMountSync(r,o){if(this.mountInstances){let a=this.mountInstances.get(r);return a||(a={childFs:this.factorySync(this.baseFs,r),expiresAt:0,refCount:0}),this.mountInstances.delete(r),this.limitOpenFiles(this.maxOpenFiles-1),this.mountInstances.set(r,a),a.expiresAt=Date.now()+this.maxAge,o(a.childFs)}else{let a=this.factorySync(this.baseFs,r);try{return o(a)}finally{a.saveAndClose?.()}}}}});var Zt,YR,qC,J7=yt(()=>{Ug();wa();Zt=()=>Object.assign(new Error("ENOSYS: unsupported filesystem access"),{code:"ENOSYS"}),YR=class extends gf{constructor(){super(J)}getExtractHint(){throw Zt()}getRealPath(){throw Zt()}resolve(){throw Zt()}async openPromise(){throw Zt()}openSync(){throw Zt()}async opendirPromise(){throw Zt()}opendirSync(){throw Zt()}async readPromise(){throw Zt()}readSync(){throw Zt()}async writePromise(){throw Zt()}writeSync(){throw Zt()}async closePromise(){throw Zt()}closeSync(){throw Zt()}createWriteStream(){throw Zt()}createReadStream(){throw Zt()}async realpathPromise(){throw Zt()}realpathSync(){throw Zt()}async readdirPromise(){throw Zt()}readdirSync(){throw Zt()}async existsPromise(t){throw Zt()}existsSync(t){throw Zt()}async accessPromise(){throw Zt()}accessSync(){throw Zt()}async statPromise(){throw Zt()}statSync(){throw Zt()}async fstatPromise(t){throw Zt()}fstatSync(t){throw Zt()}async lstatPromise(t){throw Zt()}lstatSync(t){throw Zt()}async fchmodPromise(){throw Zt()}fchmodSync(){throw Zt()}async chmodPromise(){throw Zt()}chmodSync(){throw Zt()}async fchownPromise(){throw Zt()}fchownSync(){throw Zt()}async chownPromise(){throw Zt()}chownSync(){throw Zt()}async mkdirPromise(){throw Zt()}mkdirSync(){throw Zt()}async rmdirPromise(){throw Zt()}rmdirSync(){throw Zt()}async linkPromise(){throw Zt()}linkSync(){throw Zt()}async symlinkPromise(){throw Zt()}symlinkSync(){throw Zt()}async renamePromise(){throw Zt()}renameSync(){throw Zt()}async copyFilePromise(){throw Zt()}copyFileSync(){throw Zt()}async appendFilePromise(){throw Zt()}appendFileSync(){throw Zt()}async writeFilePromise(){throw Zt()}writeFileSync(){throw Zt()}async unlinkPromise(){throw Zt()}unlinkSync(){throw Zt()}async utimesPromise(){throw Zt()}utimesSync(){throw Zt()}async lutimesPromise(){throw Zt()}lutimesSync(){throw Zt()}async readFilePromise(){throw Zt()}readFileSync(){throw Zt()}async readlinkPromise(){throw Zt()}readlinkSync(){throw Zt()}async truncatePromise(){throw Zt()}truncateSync(){throw Zt()}async ftruncatePromise(t,r){throw Zt()}ftruncateSync(t,r){throw Zt()}watch(){throw Zt()}watchFile(){throw Zt()}unwatchFile(){throw Zt()}},qC=YR;qC.instance=new YR});var _p,V7=yt(()=>{df();wa();_p=class extends Ps{constructor(r){super(Ae);this.baseFs=r}mapFromBase(r){return Ae.fromPortablePath(r)}mapToBase(r){return Ae.toPortablePath(r)}}});var S_e,WR,P_e,di,z7=yt(()=>{_g();df();wa();S_e=/^[0-9]+$/,WR=/^(\/(?:[^/]+\/)*?(?:\$\$virtual|__virtual__))((?:\/((?:[^/]+-)?[a-f0-9]+)(?:\/([^/]+))?)?((?:\/.*)?))$/,P_e=/^([^/]+-)?[a-f0-9]+$/,di=class extends Ps{constructor({baseFs:r=new Rn}={}){super(J);this.baseFs=r}static makeVirtualPath(r,o,a){if(J.basename(r)!=="__virtual__")throw new Error('Assertion failed: Virtual folders must be named "__virtual__"');if(!J.basename(o).match(P_e))throw new Error("Assertion failed: Virtual components must be ended by an hexadecimal hash");let u=J.relative(J.dirname(r),a).split("/"),A=0;for(;A<u.length&&u[A]==="..";)A+=1;let p=u.slice(A);return J.join(r,o,String(A),...p)}static resolveVirtual(r){let o=r.match(WR);if(!o||!o[3]&&o[5])return r;let a=J.dirname(o[1]);if(!o[3]||!o[4])return a;if(!S_e.test(o[4]))return r;let u=Number(o[4]),A="../".repeat(u),p=o[5]||".";return di.resolveVirtual(J.join(a,A,p))}getExtractHint(r){return this.baseFs.getExtractHint(r)}getRealPath(){return this.baseFs.getRealPath()}realpathSync(r){let o=r.match(WR);if(!o)return this.baseFs.realpathSync(r);if(!o[5])return r;let a=this.baseFs.realpathSync(this.mapToBase(r));return di.makeVirtualPath(o[1],o[3],a)}async realpathPromise(r){let o=r.match(WR);if(!o)return await this.baseFs.realpathPromise(r);if(!o[5])return r;let a=await this.baseFs.realpathPromise(this.mapToBase(r));return di.makeVirtualPath(o[1],o[3],a)}mapToBase(r){if(r==="")return r;if(this.pathUtils.isAbsolute(r))return di.resolveVirtual(r);let o=di.resolveVirtual(this.baseFs.resolve(Bt.dot)),a=di.resolveVirtual(this.baseFs.resolve(r));return J.relative(o,a)||Bt.dot}mapFromBase(r){return r}}});function x_e(e,t){return typeof KR.default.isUtf8<"u"?KR.default.isUtf8(e):Buffer.byteLength(t)===e.byteLength}var KR,bD,X7,xD,Z7=yt(()=>{KR=$e(Ie("buffer")),bD=Ie("url"),X7=Ie("util");df();wa();xD=class extends Ps{constructor(r){super(Ae);this.baseFs=r}mapFromBase(r){return r}mapToBase(r){if(typeof r=="string")return r;if(r instanceof bD.URL)return(0,bD.fileURLToPath)(r);if(Buffer.isBuffer(r)){let o=r.toString();if(!x_e(r,o))throw new Error("Non-utf8 buffers are not supported at the moment. Please upvote the following issue if you encounter this error: https://github.com/yarnpkg/berry/issues/4942");return o}throw new Error(`Unsupported path type: ${(0,X7.inspect)(r)}`)}}});var $7,Bo,mf,Hp,QD,kD,iy,Tc,Nc,b_e,Q_e,k_e,F_e,GC,eY=yt(()=>{$7=Ie("readline"),Bo=Symbol("kBaseFs"),mf=Symbol("kFd"),Hp=Symbol("kClosePromise"),QD=Symbol("kCloseResolve"),kD=Symbol("kCloseReject"),iy=Symbol("kRefs"),Tc=Symbol("kRef"),Nc=Symbol("kUnref"),GC=class{constructor(t,r){this[b_e]=1;this[Q_e]=void 0;this[k_e]=void 0;this[F_e]=void 0;this[Bo]=r,this[mf]=t}get fd(){return this[mf]}async appendFile(t,r){try{this[Tc](this.appendFile);let o=(typeof r=="string"?r:r?.encoding)??void 0;return await this[Bo].appendFilePromise(this.fd,t,o?{encoding:o}:void 0)}finally{this[Nc]()}}async chown(t,r){try{return this[Tc](this.chown),await this[Bo].fchownPromise(this.fd,t,r)}finally{this[Nc]()}}async chmod(t){try{return this[Tc](this.chmod),await this[Bo].fchmodPromise(this.fd,t)}finally{this[Nc]()}}createReadStream(t){return this[Bo].createReadStream(null,{...t,fd:this.fd})}createWriteStream(t){return this[Bo].createWriteStream(null,{...t,fd:this.fd})}datasync(){throw new Error("Method not implemented.")}sync(){throw new Error("Method not implemented.")}async read(t,r,o,a){try{this[Tc](this.read);let n;return Buffer.isBuffer(t)?n=t:(t??={},n=t.buffer??Buffer.alloc(16384),r=t.offset||0,o=t.length??n.byteLength,a=t.position??null),r??=0,o??=0,o===0?{bytesRead:o,buffer:n}:{bytesRead:await this[Bo].readPromise(this.fd,n,r,o,a),buffer:n}}finally{this[Nc]()}}async readFile(t){try{this[Tc](this.readFile);let r=(typeof t=="string"?t:t?.encoding)??void 0;return await this[Bo].readFilePromise(this.fd,r)}finally{this[Nc]()}}readLines(t){return(0,$7.createInterface)({input:this.createReadStream(t),crlfDelay:1/0})}async stat(t){try{return this[Tc](this.stat),await this[Bo].fstatPromise(this.fd,t)}finally{this[Nc]()}}async truncate(t){try{return this[Tc](this.truncate),await this[Bo].ftruncatePromise(this.fd,t)}finally{this[Nc]()}}utimes(t,r){throw new Error("Method not implemented.")}async writeFile(t,r){try{this[Tc](this.writeFile);let o=(typeof r=="string"?r:r?.encoding)??void 0;await this[Bo].writeFilePromise(this.fd,t,o)}finally{this[Nc]()}}async write(...t){try{if(this[Tc](this.write),ArrayBuffer.isView(t[0])){let[r,o,a,n]=t;return{bytesWritten:await this[Bo].writePromise(this.fd,r,o??void 0,a??void 0,n??void 0),buffer:r}}else{let[r,o,a]=t;return{bytesWritten:await this[Bo].writePromise(this.fd,r,o,a),buffer:r}}}finally{this[Nc]()}}async writev(t,r){try{this[Tc](this.writev);let o=0;if(typeof r<"u")for(let a of t){let n=await this.write(a,void 0,void 0,r);o+=n.bytesWritten,r+=n.bytesWritten}else for(let a of t){let n=await this.write(a);o+=n.bytesWritten}return{buffers:t,bytesWritten:o}}finally{this[Nc]()}}readv(t,r){throw new Error("Method not implemented.")}close(){if(this[mf]===-1)return Promise.resolve();if(this[Hp])return this[Hp];if(this[iy]--,this[iy]===0){let t=this[mf];this[mf]=-1,this[Hp]=this[Bo].closePromise(t).finally(()=>{this[Hp]=void 0})}else this[Hp]=new Promise((t,r)=>{this[QD]=t,this[kD]=r}).finally(()=>{this[Hp]=void 0,this[kD]=void 0,this[QD]=void 0});return this[Hp]}[(Bo,mf,b_e=iy,Q_e=Hp,k_e=QD,F_e=kD,Tc)](t){if(this[mf]===-1){let r=new Error("file closed");throw r.code="EBADF",r.syscall=t.name,r}this[iy]++}[Nc](){if(this[iy]--,this[iy]===0){let t=this[mf];this[mf]=-1,this[Bo].closePromise(t).then(this[QD],this[kD])}}}});function YC(e,t){t=new xD(t);let r=(o,a,n)=>{let u=o[a];o[a]=n,typeof u?.[sy.promisify.custom]<"u"&&(n[sy.promisify.custom]=u[sy.promisify.custom])};{r(e,"exists",(o,...a)=>{let u=typeof a[a.length-1]=="function"?a.pop():()=>{};process.nextTick(()=>{t.existsPromise(o).then(A=>{u(A)},()=>{u(!1)})})}),r(e,"read",(...o)=>{let[a,n,u,A,p,h]=o;if(o.length<=3){let w={};o.length<3?h=o[1]:(w=o[1],h=o[2]),{buffer:n=Buffer.alloc(16384),offset:u=0,length:A=n.byteLength,position:p}=w}if(u==null&&(u=0),A|=0,A===0){process.nextTick(()=>{h(null,0,n)});return}p==null&&(p=-1),process.nextTick(()=>{t.readPromise(a,n,u,A,p).then(w=>{h(null,w,n)},w=>{h(w,0,n)})})});for(let o of tY){let a=o.replace(/Promise$/,"");if(typeof e[a]>"u")continue;let n=t[o];if(typeof n>"u")continue;r(e,a,(...A)=>{let h=typeof A[A.length-1]=="function"?A.pop():()=>{};process.nextTick(()=>{n.apply(t,A).then(w=>{h(null,w)},w=>{h(w)})})})}e.realpath.native=e.realpath}{r(e,"existsSync",o=>{try{return t.existsSync(o)}catch{return!1}}),r(e,"readSync",(...o)=>{let[a,n,u,A,p]=o;return o.length<=3&&({offset:u=0,length:A=n.byteLength,position:p}=o[2]||{}),u==null&&(u=0),A|=0,A===0?0:(p==null&&(p=-1),t.readSync(a,n,u,A,p))});for(let o of R_e){let a=o;if(typeof e[a]>"u")continue;let n=t[o];typeof n>"u"||r(e,a,n.bind(t))}e.realpathSync.native=e.realpathSync}{let o=e.promises;for(let a of tY){let n=a.replace(/Promise$/,"");if(typeof o[n]>"u")continue;let u=t[a];typeof u>"u"||a!=="open"&&r(o,n,(A,...p)=>A instanceof GC?A[n].apply(A,p):u.call(t,A,...p))}r(o,"open",async(...a)=>{let n=await t.openPromise(...a);return new GC(n,t)})}e.read[sy.promisify.custom]=async(o,a,...n)=>({bytesRead:await t.readPromise(o,a,...n),buffer:a}),e.write[sy.promisify.custom]=async(o,a,...n)=>({bytesWritten:await t.writePromise(o,a,...n),buffer:a})}function FD(e,t){let r=Object.create(e);return YC(r,t),r}var sy,R_e,tY,rY=yt(()=>{sy=Ie("util");Z7();eY();R_e=new Set(["accessSync","appendFileSync","createReadStream","createWriteStream","chmodSync","fchmodSync","chownSync","fchownSync","closeSync","copyFileSync","linkSync","lstatSync","fstatSync","lutimesSync","mkdirSync","openSync","opendirSync","readlinkSync","readFileSync","readdirSync","readlinkSync","realpathSync","renameSync","rmdirSync","statSync","symlinkSync","truncateSync","ftruncateSync","unlinkSync","unwatchFile","utimesSync","watch","watchFile","writeFileSync","writeSync"]),tY=new Set(["accessPromise","appendFilePromise","fchmodPromise","chmodPromise","fchownPromise","chownPromise","closePromise","copyFilePromise","linkPromise","fstatPromise","lstatPromise","lutimesPromise","mkdirPromise","openPromise","opendirPromise","readdirPromise","realpathPromise","readFilePromise","readdirPromise","readlinkPromise","renamePromise","rmdirPromise","statPromise","symlinkPromise","truncatePromise","ftruncatePromise","unlinkPromise","utimesPromise","writeFilePromise","writeSync"])});function nY(e){let t=Math.ceil(Math.random()*4294967296).toString(16).padStart(8,"0");return`${e}${t}`}function iY(){if(JR)return JR;let e=Ae.toPortablePath(sY.default.tmpdir()),t=ae.realpathSync(e);return process.once("exit",()=>{ae.rmtempSync()}),JR={tmpdir:e,realTmpdir:t}}var sY,Lc,JR,ae,oY=yt(()=>{sY=$e(Ie("os"));_g();wa();Lc=new Set,JR=null;ae=Object.assign(new Rn,{detachTemp(e){Lc.delete(e)},mktempSync(e){let{tmpdir:t,realTmpdir:r}=iY();for(;;){let o=nY("xfs-");try{this.mkdirSync(J.join(t,o))}catch(n){if(n.code==="EEXIST")continue;throw n}let a=J.join(r,o);if(Lc.add(a),typeof e>"u")return a;try{return e(a)}finally{if(Lc.has(a)){Lc.delete(a);try{this.removeSync(a)}catch{}}}}},async mktempPromise(e){let{tmpdir:t,realTmpdir:r}=iY();for(;;){let o=nY("xfs-");try{await this.mkdirPromise(J.join(t,o))}catch(n){if(n.code==="EEXIST")continue;throw n}let a=J.join(r,o);if(Lc.add(a),typeof e>"u")return a;try{return await e(a)}finally{if(Lc.has(a)){Lc.delete(a);try{await this.removePromise(a)}catch{}}}}},async rmtempPromise(){await Promise.all(Array.from(Lc.values()).map(async e=>{try{await ae.removePromise(e,{maxRetries:0}),Lc.delete(e)}catch{}}))},rmtempSync(){for(let e of Lc)try{ae.removeSync(e),Lc.delete(e)}catch{}}})});var WC={};Jt(WC,{AliasFS:()=>Hu,BasePortableFakeFS:()=>_u,CustomDir:()=>jC,CwdFS:()=>hn,FakeFS:()=>gf,Filename:()=>gr,JailFS:()=>ju,LazyFS:()=>ny,MountFS:()=>Up,NoFS:()=>qC,NodeFS:()=>Rn,PortablePath:()=>Bt,PosixFS:()=>_p,ProxiedFS:()=>Ps,VirtualFS:()=>di,constants:()=>Bi,errors:()=>or,extendFs:()=>FD,normalizeLineEndings:()=>Mg,npath:()=>Ae,opendir:()=>SD,patchFs:()=>YC,ppath:()=>J,setupCopyIndex:()=>DD,statUtils:()=>Tl,toFilename:()=>bi,unwatchAllFiles:()=>Og,unwatchFile:()=>Lg,watchFile:()=>ry,xfs:()=>ae});var St=yt(()=>{b7();ID();_R();qR();N7();GR();Ug();wa();wa();H7();Ug();q7();Y7();W7();K7();J7();_g();V7();df();z7();rY();oY()});var AY=_((MPt,uY)=>{uY.exports=cY;cY.sync=N_e;var aY=Ie("fs");function T_e(e,t){var r=t.pathExt!==void 0?t.pathExt:process.env.PATHEXT;if(!r||(r=r.split(";"),r.indexOf("")!==-1))return!0;for(var o=0;o<r.length;o++){var a=r[o].toLowerCase();if(a&&e.substr(-a.length).toLowerCase()===a)return!0}return!1}function lY(e,t,r){return!e.isSymbolicLink()&&!e.isFile()?!1:T_e(t,r)}function cY(e,t,r){aY.stat(e,function(o,a){r(o,o?!1:lY(a,e,t))})}function N_e(e,t){return lY(aY.statSync(e),e,t)}});var dY=_((UPt,gY)=>{gY.exports=pY;pY.sync=L_e;var fY=Ie("fs");function pY(e,t,r){fY.stat(e,function(o,a){r(o,o?!1:hY(a,t))})}function L_e(e,t){return hY(fY.statSync(e),t)}function hY(e,t){return e.isFile()&&O_e(e,t)}function O_e(e,t){var r=e.mode,o=e.uid,a=e.gid,n=t.uid!==void 0?t.uid:process.getuid&&process.getuid(),u=t.gid!==void 0?t.gid:process.getgid&&process.getgid(),A=parseInt("100",8),p=parseInt("010",8),h=parseInt("001",8),w=A|p,I=r&h||r&p&&a===u||r&A&&o===n||r&w&&n===0;return I}});var yY=_((HPt,mY)=>{var _Pt=Ie("fs"),RD;process.platform==="win32"||global.TESTING_WINDOWS?RD=AY():RD=dY();mY.exports=VR;VR.sync=M_e;function VR(e,t,r){if(typeof t=="function"&&(r=t,t={}),!r){if(typeof Promise!="function")throw new TypeError("callback not provided");return new Promise(function(o,a){VR(e,t||{},function(n,u){n?a(n):o(u)})})}RD(e,t||{},function(o,a){o&&(o.code==="EACCES"||t&&t.ignoreErrors)&&(o=null,a=!1),r(o,a)})}function M_e(e,t){try{return RD.sync(e,t||{})}catch(r){if(t&&t.ignoreErrors||r.code==="EACCES")return!1;throw r}}});var DY=_((jPt,vY)=>{var oy=process.platform==="win32"||process.env.OSTYPE==="cygwin"||process.env.OSTYPE==="msys",EY=Ie("path"),U_e=oy?";":":",wY=yY(),CY=e=>Object.assign(new Error(`not found: ${e}`),{code:"ENOENT"}),IY=(e,t)=>{let r=t.colon||U_e,o=e.match(/\//)||oy&&e.match(/\\/)?[""]:[...oy?[process.cwd()]:[],...(t.path||process.env.PATH||"").split(r)],a=oy?t.pathExt||process.env.PATHEXT||".EXE;.CMD;.BAT;.COM":"",n=oy?a.split(r):[""];return oy&&e.indexOf(".")!==-1&&n[0]!==""&&n.unshift(""),{pathEnv:o,pathExt:n,pathExtExe:a}},BY=(e,t,r)=>{typeof t=="function"&&(r=t,t={}),t||(t={});let{pathEnv:o,pathExt:a,pathExtExe:n}=IY(e,t),u=[],A=h=>new Promise((w,I)=>{if(h===o.length)return t.all&&u.length?w(u):I(CY(e));let v=o[h],b=/^".*"$/.test(v)?v.slice(1,-1):v,E=EY.join(b,e),R=!b&&/^\.[\\\/]/.test(e)?e.slice(0,2)+E:E;w(p(R,h,0))}),p=(h,w,I)=>new Promise((v,b)=>{if(I===a.length)return v(A(w+1));let E=a[I];wY(h+E,{pathExt:n},(R,N)=>{if(!R&&N)if(t.all)u.push(h+E);else return v(h+E);return v(p(h,w,I+1))})});return r?A(0).then(h=>r(null,h),r):A(0)},__e=(e,t)=>{t=t||{};let{pathEnv:r,pathExt:o,pathExtExe:a}=IY(e,t),n=[];for(let u=0;u<r.length;u++){let A=r[u],p=/^".*"$/.test(A)?A.slice(1,-1):A,h=EY.join(p,e),w=!p&&/^\.[\\\/]/.test(e)?e.slice(0,2)+h:h;for(let I=0;I<o.length;I++){let v=w+o[I];try{if(wY.sync(v,{pathExt:a}))if(t.all)n.push(v);else return v}catch{}}}if(t.all&&n.length)return n;if(t.nothrow)return null;throw CY(e)};vY.exports=BY;BY.sync=__e});var PY=_((qPt,zR)=>{"use strict";var SY=(e={})=>{let t=e.env||process.env;return(e.platform||process.platform)!=="win32"?"PATH":Object.keys(t).reverse().find(o=>o.toUpperCase()==="PATH")||"Path"};zR.exports=SY;zR.exports.default=SY});var kY=_((GPt,QY)=>{"use strict";var xY=Ie("path"),H_e=DY(),j_e=PY();function bY(e,t){let r=e.options.env||process.env,o=process.cwd(),a=e.options.cwd!=null,n=a&&process.chdir!==void 0&&!process.chdir.disabled;if(n)try{process.chdir(e.options.cwd)}catch{}let u;try{u=H_e.sync(e.command,{path:r[j_e({env:r})],pathExt:t?xY.delimiter:void 0})}catch{}finally{n&&process.chdir(o)}return u&&(u=xY.resolve(a?e.options.cwd:"",u)),u}function q_e(e){return bY(e)||bY(e,!0)}QY.exports=q_e});var FY=_((YPt,ZR)=>{"use strict";var XR=/([()\][%!^"`<>&|;, *?])/g;function G_e(e){return e=e.replace(XR,"^$1"),e}function Y_e(e,t){return e=`${e}`,e=e.replace(/(\\*)"/g,'$1$1\\"'),e=e.replace(/(\\*)$/,"$1$1"),e=`"${e}"`,e=e.replace(XR,"^$1"),t&&(e=e.replace(XR,"^$1")),e}ZR.exports.command=G_e;ZR.exports.argument=Y_e});var TY=_((WPt,RY)=>{"use strict";RY.exports=/^#!(.*)/});var LY=_((KPt,NY)=>{"use strict";var W_e=TY();NY.exports=(e="")=>{let t=e.match(W_e);if(!t)return null;let[r,o]=t[0].replace(/#! ?/,"").split(" "),a=r.split("/").pop();return a==="env"?o:o?`${a} ${o}`:a}});var MY=_((JPt,OY)=>{"use strict";var $R=Ie("fs"),K_e=LY();function J_e(e){let r=Buffer.alloc(150),o;try{o=$R.openSync(e,"r"),$R.readSync(o,r,0,150,0),$R.closeSync(o)}catch{}return K_e(r.toString())}OY.exports=J_e});var jY=_((VPt,HY)=>{"use strict";var V_e=Ie("path"),UY=kY(),_Y=FY(),z_e=MY(),X_e=process.platform==="win32",Z_e=/\.(?:com|exe)$/i,$_e=/node_modules[\\/].bin[\\/][^\\/]+\.cmd$/i;function e8e(e){e.file=UY(e);let t=e.file&&z_e(e.file);return t?(e.args.unshift(e.file),e.command=t,UY(e)):e.file}function t8e(e){if(!X_e)return e;let t=e8e(e),r=!Z_e.test(t);if(e.options.forceShell||r){let o=$_e.test(t);e.command=V_e.normalize(e.command),e.command=_Y.command(e.command),e.args=e.args.map(n=>_Y.argument(n,o));let a=[e.command].concat(e.args).join(" ");e.args=["/d","/s","/c",`"${a}"`],e.command=process.env.comspec||"cmd.exe",e.options.windowsVerbatimArguments=!0}return e}function r8e(e,t,r){t&&!Array.isArray(t)&&(r=t,t=null),t=t?t.slice(0):[],r=Object.assign({},r);let o={command:e,args:t,options:r,file:void 0,original:{command:e,args:t}};return r.shell?o:t8e(o)}HY.exports=r8e});var YY=_((zPt,GY)=>{"use strict";var eT=process.platform==="win32";function tT(e,t){return Object.assign(new Error(`${t} ${e.command} ENOENT`),{code:"ENOENT",errno:"ENOENT",syscall:`${t} ${e.command}`,path:e.command,spawnargs:e.args})}function n8e(e,t){if(!eT)return;let r=e.emit;e.emit=function(o,a){if(o==="exit"){let n=qY(a,t,"spawn");if(n)return r.call(e,"error",n)}return r.apply(e,arguments)}}function qY(e,t){return eT&&e===1&&!t.file?tT(t.original,"spawn"):null}function i8e(e,t){return eT&&e===1&&!t.file?tT(t.original,"spawnSync"):null}GY.exports={hookChildProcess:n8e,verifyENOENT:qY,verifyENOENTSync:i8e,notFoundError:tT}});var iT=_((XPt,ay)=>{"use strict";var WY=Ie("child_process"),rT=jY(),nT=YY();function KY(e,t,r){let o=rT(e,t,r),a=WY.spawn(o.command,o.args,o.options);return nT.hookChildProcess(a,o),a}function s8e(e,t,r){let o=rT(e,t,r),a=WY.spawnSync(o.command,o.args,o.options);return a.error=a.error||nT.verifyENOENTSync(a.status,o),a}ay.exports=KY;ay.exports.spawn=KY;ay.exports.sync=s8e;ay.exports._parse=rT;ay.exports._enoent=nT});var VY=_((ZPt,JY)=>{"use strict";function o8e(e,t){function r(){this.constructor=e}r.prototype=t.prototype,e.prototype=new r}function jg(e,t,r,o){this.message=e,this.expected=t,this.found=r,this.location=o,this.name="SyntaxError",typeof Error.captureStackTrace=="function"&&Error.captureStackTrace(this,jg)}o8e(jg,Error);jg.buildMessage=function(e,t){var r={literal:function(h){return'"'+a(h.text)+'"'},class:function(h){var w="",I;for(I=0;I<h.parts.length;I++)w+=h.parts[I]instanceof Array?n(h.parts[I][0])+"-"+n(h.parts[I][1]):n(h.parts[I]);return"["+(h.inverted?"^":"")+w+"]"},any:function(h){return"any character"},end:function(h){return"end of input"},other:function(h){return h.description}};function o(h){return h.charCodeAt(0).toString(16).toUpperCase()}function a(h){return h.replace(/\\/g,"\\\\").replace(/"/g,'\\"').replace(/\0/g,"\\0").replace(/\t/g,"\\t").replace(/\n/g,"\\n").replace(/\r/g,"\\r").replace(/[\x00-\x0F]/g,function(w){return"\\x0"+o(w)}).replace(/[\x10-\x1F\x7F-\x9F]/g,function(w){return"\\x"+o(w)})}function n(h){return h.replace(/\\/g,"\\\\").replace(/\]/g,"\\]").replace(/\^/g,"\\^").replace(/-/g,"\\-").replace(/\0/g,"\\0").replace(/\t/g,"\\t").replace(/\n/g,"\\n").replace(/\r/g,"\\r").replace(/[\x00-\x0F]/g,function(w){return"\\x0"+o(w)}).replace(/[\x10-\x1F\x7F-\x9F]/g,function(w){return"\\x"+o(w)})}function u(h){return r[h.type](h)}function A(h){var w=new Array(h.length),I,v;for(I=0;I<h.length;I++)w[I]=u(h[I]);if(w.sort(),w.length>0){for(I=1,v=1;I<w.length;I++)w[I-1]!==w[I]&&(w[v]=w[I],v++);w.length=v}switch(w.length){case 1:return w[0];case 2:return w[0]+" or "+w[1];default:return w.slice(0,-1).join(", ")+", or "+w[w.length-1]}}function p(h){return h?'"'+a(h)+'"':"end of input"}return"Expected "+A(e)+" but "+p(t)+" found."};function a8e(e,t){t=t!==void 0?t:{};var r={},o={Start:fg},a=fg,n=function(L){return L||[]},u=function(L,K,re){return[{command:L,type:K}].concat(re||[])},A=function(L,K){return[{command:L,type:K||";"}]},p=function(L){return L},h=";",w=Ir(";",!1),I="&",v=Ir("&",!1),b=function(L,K){return K?{chain:L,then:K}:{chain:L}},E=function(L,K){return{type:L,line:K}},R="&&",N=Ir("&&",!1),U="||",V=Ir("||",!1),ee=function(L,K){return K?{...L,then:K}:L},le=function(L,K){return{type:L,chain:K}},fe="|&",de=Ir("|&",!1),ge="|",oe=Ir("|",!1),Be="=",be=Ir("=",!1),g=function(L,K){return{name:L,args:[K]}},we=function(L){return{name:L,args:[]}},Se="(",ce=Ir("(",!1),ne=")",te=Ir(")",!1),Ee=function(L,K){return{type:"subshell",subshell:L,args:K}},Re="{",dt=Ir("{",!1),H="}",at=Ir("}",!1),Te=function(L,K){return{type:"group",group:L,args:K}},Qe=function(L,K){return{type:"command",args:K,envs:L}},ke=function(L){return{type:"envs",envs:L}},He=function(L){return L},Ne=function(L){return L},Ve=/^[0-9]/,je=Cs([["0","9"]],!1,!1),x=function(L,K,re){return{type:"redirection",subtype:K,fd:L!==null?parseInt(L):null,args:[re]}},C=">>",P=Ir(">>",!1),y=">&",F=Ir(">&",!1),z=">",X=Ir(">",!1),Z="<<<",ie=Ir("<<<",!1),Pe="<&",Le=Ir("<&",!1),ot="<",gt=Ir("<",!1),jt=function(L){return{type:"argument",segments:[].concat(...L)}},$t=function(L){return L},xt="$'",on=Ir("$'",!1),br="'",dr=Ir("'",!1),Pr=function(L){return[{type:"text",text:L}]},Yr='""',Wn=Ir('""',!1),Os=function(){return{type:"text",text:""}},Ti='"',hs=Ir('"',!1),io=function(L){return L},Si=function(L){return{type:"arithmetic",arithmetic:L,quoted:!0}},Ms=function(L){return{type:"shell",shell:L,quoted:!0}},so=function(L){return{type:"variable",...L,quoted:!0}},cc=function(L){return{type:"text",text:L}},Au=function(L){return{type:"arithmetic",arithmetic:L,quoted:!1}},op=function(L){return{type:"shell",shell:L,quoted:!1}},ap=function(L){return{type:"variable",...L,quoted:!1}},Us=function(L){return{type:"glob",pattern:L}},vn=/^[^']/,oo=Cs(["'"],!0,!1),_s=function(L){return L.join("")},dl=/^[^$"]/,ml=Cs(["$",'"'],!0,!1),ao=`\\ -`,Kn=Ir(`\\ -`,!1),Ln=function(){return""},Ni="\\",On=Ir("\\",!1),Hi=/^[\\$"`]/,ve=Cs(["\\","$",'"',"`"],!1,!1),Li=function(L){return L},ni="\\a",Ma=Ir("\\a",!1),pr=function(){return"a"},uc="\\b",fu=Ir("\\b",!1),Ac=function(){return"\b"},yl=/^[Ee]/,DA=Cs(["E","e"],!1,!1),pu=function(){return"\x1B"},Ce="\\f",Rt=Ir("\\f",!1),fc=function(){return"\f"},ji="\\n",hu=Ir("\\n",!1),Yt=function(){return` -`},El="\\r",SA=Ir("\\r",!1),lp=function(){return"\r"},pc="\\t",PA=Ir("\\t",!1),Qn=function(){return" "},pi="\\v",hc=Ir("\\v",!1),xA=function(){return"\v"},oa=/^[\\'"?]/,Oi=Cs(["\\","'",'"',"?"],!1,!1),_o=function(L){return String.fromCharCode(parseInt(L,16))},Ze="\\x",lo=Ir("\\x",!1),gc="\\u",gu=Ir("\\u",!1),qi="\\U",du=Ir("\\U",!1),bA=function(L){return String.fromCodePoint(parseInt(L,16))},Ua=/^[0-7]/,dc=Cs([["0","7"]],!1,!1),gs=/^[0-9a-fA-f]/,Ut=Cs([["0","9"],["a","f"],["A","f"]],!1,!1),kn=lg(),Ei="{}",aa=Ir("{}",!1),co=function(){return"{}"},Hs="-",la=Ir("-",!1),ca="+",Ho=Ir("+",!1),wi=".",ds=Ir(".",!1),ms=function(L,K,re){return{type:"number",value:(L==="-"?-1:1)*parseFloat(K.join("")+"."+re.join(""))}},ys=function(L,K){return{type:"number",value:(L==="-"?-1:1)*parseInt(K.join(""))}},js=function(L){return{type:"variable",...L}},Mn=function(L){return{type:"variable",name:L}},Dn=function(L){return L},Es="*",We=Ir("*",!1),tt="/",It=Ir("/",!1),rr=function(L,K,re){return{type:K==="*"?"multiplication":"division",right:re}},$=function(L,K){return K.reduce((re,pe)=>({left:re,...pe}),L)},me=function(L,K,re){return{type:K==="+"?"addition":"subtraction",right:re}},Oe="$((",ft=Ir("$((",!1),pt="))",Tt=Ir("))",!1),er=function(L){return L},Xr="$(",Gi=Ir("$(",!1),$i=function(L){return L},Pi="${",jo=Ir("${",!1),QA=":-",kA=Ir(":-",!1),cp=function(L,K){return{name:L,defaultValue:K}},rg=":-}",mu=Ir(":-}",!1),ng=function(L){return{name:L,defaultValue:[]}},yu=":+",uo=Ir(":+",!1),FA=function(L,K){return{name:L,alternativeValue:K}},mc=":+}",ua=Ir(":+}",!1),ig=function(L){return{name:L,alternativeValue:[]}},yc=function(L){return{name:L}},Sm="$",sg=Ir("$",!1),Xn=function(L){return t.isGlobPattern(L)},up=function(L){return L},og=/^[a-zA-Z0-9_]/,RA=Cs([["a","z"],["A","Z"],["0","9"],"_"],!1,!1),qs=function(){return ag()},Eu=/^[$@*?#a-zA-Z0-9_\-]/,Ha=Cs(["$","@","*","?","#",["a","z"],["A","Z"],["0","9"],"_","-"],!1,!1),Yi=/^[()}<>$|&; \t"']/,Aa=Cs(["(",")","}","<",">","$","|","&",";"," "," ",'"',"'"],!1,!1),wu=/^[<>&; \t"']/,ws=Cs(["<",">","&",";"," "," ",'"',"'"],!1,!1),Ec=/^[ \t]/,wc=Cs([" "," "],!1,!1),Y=0,Dt=0,wl=[{line:1,column:1}],xi=0,Cc=[],ct=0,Cu;if("startRule"in t){if(!(t.startRule in o))throw new Error(`Can't start parsing from rule "`+t.startRule+'".');a=o[t.startRule]}function ag(){return e.substring(Dt,Y)}function dC(){return Ic(Dt,Y)}function TA(L,K){throw K=K!==void 0?K:Ic(Dt,Y),Ag([ug(L)],e.substring(Dt,Y),K)}function Ap(L,K){throw K=K!==void 0?K:Ic(Dt,Y),Pm(L,K)}function Ir(L,K){return{type:"literal",text:L,ignoreCase:K}}function Cs(L,K,re){return{type:"class",parts:L,inverted:K,ignoreCase:re}}function lg(){return{type:"any"}}function cg(){return{type:"end"}}function ug(L){return{type:"other",description:L}}function fp(L){var K=wl[L],re;if(K)return K;for(re=L-1;!wl[re];)re--;for(K=wl[re],K={line:K.line,column:K.column};re<L;)e.charCodeAt(re)===10?(K.line++,K.column=1):K.column++,re++;return wl[L]=K,K}function Ic(L,K){var re=fp(L),pe=fp(K);return{start:{offset:L,line:re.line,column:re.column},end:{offset:K,line:pe.line,column:pe.column}}}function wt(L){Y<xi||(Y>xi&&(xi=Y,Cc=[]),Cc.push(L))}function Pm(L,K){return new jg(L,null,null,K)}function Ag(L,K,re){return new jg(jg.buildMessage(L,K),L,K,re)}function fg(){var L,K,re;for(L=Y,K=[],re=kt();re!==r;)K.push(re),re=kt();return K!==r?(re=Iu(),re===r&&(re=null),re!==r?(Dt=L,K=n(re),L=K):(Y=L,L=r)):(Y=L,L=r),L}function Iu(){var L,K,re,pe,ze;if(L=Y,K=Bu(),K!==r){for(re=[],pe=kt();pe!==r;)re.push(pe),pe=kt();re!==r?(pe=pg(),pe!==r?(ze=xm(),ze===r&&(ze=null),ze!==r?(Dt=L,K=u(K,pe,ze),L=K):(Y=L,L=r)):(Y=L,L=r)):(Y=L,L=r)}else Y=L,L=r;if(L===r)if(L=Y,K=Bu(),K!==r){for(re=[],pe=kt();pe!==r;)re.push(pe),pe=kt();re!==r?(pe=pg(),pe===r&&(pe=null),pe!==r?(Dt=L,K=A(K,pe),L=K):(Y=L,L=r)):(Y=L,L=r)}else Y=L,L=r;return L}function xm(){var L,K,re,pe,ze;for(L=Y,K=[],re=kt();re!==r;)K.push(re),re=kt();if(K!==r)if(re=Iu(),re!==r){for(pe=[],ze=kt();ze!==r;)pe.push(ze),ze=kt();pe!==r?(Dt=L,K=p(re),L=K):(Y=L,L=r)}else Y=L,L=r;else Y=L,L=r;return L}function pg(){var L;return e.charCodeAt(Y)===59?(L=h,Y++):(L=r,ct===0&&wt(w)),L===r&&(e.charCodeAt(Y)===38?(L=I,Y++):(L=r,ct===0&&wt(v))),L}function Bu(){var L,K,re;return L=Y,K=fa(),K!==r?(re=mC(),re===r&&(re=null),re!==r?(Dt=L,K=b(K,re),L=K):(Y=L,L=r)):(Y=L,L=r),L}function mC(){var L,K,re,pe,ze,mt,Ar;for(L=Y,K=[],re=kt();re!==r;)K.push(re),re=kt();if(K!==r)if(re=bm(),re!==r){for(pe=[],ze=kt();ze!==r;)pe.push(ze),ze=kt();if(pe!==r)if(ze=Bu(),ze!==r){for(mt=[],Ar=kt();Ar!==r;)mt.push(Ar),Ar=kt();mt!==r?(Dt=L,K=E(re,ze),L=K):(Y=L,L=r)}else Y=L,L=r;else Y=L,L=r}else Y=L,L=r;else Y=L,L=r;return L}function bm(){var L;return e.substr(Y,2)===R?(L=R,Y+=2):(L=r,ct===0&&wt(N)),L===r&&(e.substr(Y,2)===U?(L=U,Y+=2):(L=r,ct===0&&wt(V))),L}function fa(){var L,K,re;return L=Y,K=hg(),K!==r?(re=Bc(),re===r&&(re=null),re!==r?(Dt=L,K=ee(K,re),L=K):(Y=L,L=r)):(Y=L,L=r),L}function Bc(){var L,K,re,pe,ze,mt,Ar;for(L=Y,K=[],re=kt();re!==r;)K.push(re),re=kt();if(K!==r)if(re=Cl(),re!==r){for(pe=[],ze=kt();ze!==r;)pe.push(ze),ze=kt();if(pe!==r)if(ze=fa(),ze!==r){for(mt=[],Ar=kt();Ar!==r;)mt.push(Ar),Ar=kt();mt!==r?(Dt=L,K=le(re,ze),L=K):(Y=L,L=r)}else Y=L,L=r;else Y=L,L=r}else Y=L,L=r;else Y=L,L=r;return L}function Cl(){var L;return e.substr(Y,2)===fe?(L=fe,Y+=2):(L=r,ct===0&&wt(de)),L===r&&(e.charCodeAt(Y)===124?(L=ge,Y++):(L=r,ct===0&&wt(oe))),L}function vu(){var L,K,re,pe,ze,mt;if(L=Y,K=yg(),K!==r)if(e.charCodeAt(Y)===61?(re=Be,Y++):(re=r,ct===0&&wt(be)),re!==r)if(pe=qo(),pe!==r){for(ze=[],mt=kt();mt!==r;)ze.push(mt),mt=kt();ze!==r?(Dt=L,K=g(K,pe),L=K):(Y=L,L=r)}else Y=L,L=r;else Y=L,L=r;else Y=L,L=r;if(L===r)if(L=Y,K=yg(),K!==r)if(e.charCodeAt(Y)===61?(re=Be,Y++):(re=r,ct===0&&wt(be)),re!==r){for(pe=[],ze=kt();ze!==r;)pe.push(ze),ze=kt();pe!==r?(Dt=L,K=we(K),L=K):(Y=L,L=r)}else Y=L,L=r;else Y=L,L=r;return L}function hg(){var L,K,re,pe,ze,mt,Ar,Er,mn,si,Mi;for(L=Y,K=[],re=kt();re!==r;)K.push(re),re=kt();if(K!==r)if(e.charCodeAt(Y)===40?(re=Se,Y++):(re=r,ct===0&&wt(ce)),re!==r){for(pe=[],ze=kt();ze!==r;)pe.push(ze),ze=kt();if(pe!==r)if(ze=Iu(),ze!==r){for(mt=[],Ar=kt();Ar!==r;)mt.push(Ar),Ar=kt();if(mt!==r)if(e.charCodeAt(Y)===41?(Ar=ne,Y++):(Ar=r,ct===0&&wt(te)),Ar!==r){for(Er=[],mn=kt();mn!==r;)Er.push(mn),mn=kt();if(Er!==r){for(mn=[],si=ja();si!==r;)mn.push(si),si=ja();if(mn!==r){for(si=[],Mi=kt();Mi!==r;)si.push(Mi),Mi=kt();si!==r?(Dt=L,K=Ee(ze,mn),L=K):(Y=L,L=r)}else Y=L,L=r}else Y=L,L=r}else Y=L,L=r;else Y=L,L=r}else Y=L,L=r;else Y=L,L=r}else Y=L,L=r;else Y=L,L=r;if(L===r){for(L=Y,K=[],re=kt();re!==r;)K.push(re),re=kt();if(K!==r)if(e.charCodeAt(Y)===123?(re=Re,Y++):(re=r,ct===0&&wt(dt)),re!==r){for(pe=[],ze=kt();ze!==r;)pe.push(ze),ze=kt();if(pe!==r)if(ze=Iu(),ze!==r){for(mt=[],Ar=kt();Ar!==r;)mt.push(Ar),Ar=kt();if(mt!==r)if(e.charCodeAt(Y)===125?(Ar=H,Y++):(Ar=r,ct===0&&wt(at)),Ar!==r){for(Er=[],mn=kt();mn!==r;)Er.push(mn),mn=kt();if(Er!==r){for(mn=[],si=ja();si!==r;)mn.push(si),si=ja();if(mn!==r){for(si=[],Mi=kt();Mi!==r;)si.push(Mi),Mi=kt();si!==r?(Dt=L,K=Te(ze,mn),L=K):(Y=L,L=r)}else Y=L,L=r}else Y=L,L=r}else Y=L,L=r;else Y=L,L=r}else Y=L,L=r;else Y=L,L=r}else Y=L,L=r;else Y=L,L=r;if(L===r){for(L=Y,K=[],re=kt();re!==r;)K.push(re),re=kt();if(K!==r){for(re=[],pe=vu();pe!==r;)re.push(pe),pe=vu();if(re!==r){for(pe=[],ze=kt();ze!==r;)pe.push(ze),ze=kt();if(pe!==r){if(ze=[],mt=pp(),mt!==r)for(;mt!==r;)ze.push(mt),mt=pp();else ze=r;if(ze!==r){for(mt=[],Ar=kt();Ar!==r;)mt.push(Ar),Ar=kt();mt!==r?(Dt=L,K=Qe(re,ze),L=K):(Y=L,L=r)}else Y=L,L=r}else Y=L,L=r}else Y=L,L=r}else Y=L,L=r;if(L===r){for(L=Y,K=[],re=kt();re!==r;)K.push(re),re=kt();if(K!==r){if(re=[],pe=vu(),pe!==r)for(;pe!==r;)re.push(pe),pe=vu();else re=r;if(re!==r){for(pe=[],ze=kt();ze!==r;)pe.push(ze),ze=kt();pe!==r?(Dt=L,K=ke(re),L=K):(Y=L,L=r)}else Y=L,L=r}else Y=L,L=r}}}return L}function NA(){var L,K,re,pe,ze;for(L=Y,K=[],re=kt();re!==r;)K.push(re),re=kt();if(K!==r){if(re=[],pe=hp(),pe!==r)for(;pe!==r;)re.push(pe),pe=hp();else re=r;if(re!==r){for(pe=[],ze=kt();ze!==r;)pe.push(ze),ze=kt();pe!==r?(Dt=L,K=He(re),L=K):(Y=L,L=r)}else Y=L,L=r}else Y=L,L=r;return L}function pp(){var L,K,re;for(L=Y,K=[],re=kt();re!==r;)K.push(re),re=kt();if(K!==r?(re=ja(),re!==r?(Dt=L,K=Ne(re),L=K):(Y=L,L=r)):(Y=L,L=r),L===r){for(L=Y,K=[],re=kt();re!==r;)K.push(re),re=kt();K!==r?(re=hp(),re!==r?(Dt=L,K=Ne(re),L=K):(Y=L,L=r)):(Y=L,L=r)}return L}function ja(){var L,K,re,pe,ze;for(L=Y,K=[],re=kt();re!==r;)K.push(re),re=kt();return K!==r?(Ve.test(e.charAt(Y))?(re=e.charAt(Y),Y++):(re=r,ct===0&&wt(je)),re===r&&(re=null),re!==r?(pe=gg(),pe!==r?(ze=hp(),ze!==r?(Dt=L,K=x(re,pe,ze),L=K):(Y=L,L=r)):(Y=L,L=r)):(Y=L,L=r)):(Y=L,L=r),L}function gg(){var L;return e.substr(Y,2)===C?(L=C,Y+=2):(L=r,ct===0&&wt(P)),L===r&&(e.substr(Y,2)===y?(L=y,Y+=2):(L=r,ct===0&&wt(F)),L===r&&(e.charCodeAt(Y)===62?(L=z,Y++):(L=r,ct===0&&wt(X)),L===r&&(e.substr(Y,3)===Z?(L=Z,Y+=3):(L=r,ct===0&&wt(ie)),L===r&&(e.substr(Y,2)===Pe?(L=Pe,Y+=2):(L=r,ct===0&&wt(Le)),L===r&&(e.charCodeAt(Y)===60?(L=ot,Y++):(L=r,ct===0&&wt(gt))))))),L}function hp(){var L,K,re;for(L=Y,K=[],re=kt();re!==r;)K.push(re),re=kt();return K!==r?(re=qo(),re!==r?(Dt=L,K=Ne(re),L=K):(Y=L,L=r)):(Y=L,L=r),L}function qo(){var L,K,re;if(L=Y,K=[],re=Is(),re!==r)for(;re!==r;)K.push(re),re=Is();else K=r;return K!==r&&(Dt=L,K=jt(K)),L=K,L}function Is(){var L,K;return L=Y,K=Ci(),K!==r&&(Dt=L,K=$t(K)),L=K,L===r&&(L=Y,K=Qm(),K!==r&&(Dt=L,K=$t(K)),L=K,L===r&&(L=Y,K=km(),K!==r&&(Dt=L,K=$t(K)),L=K,L===r&&(L=Y,K=Go(),K!==r&&(Dt=L,K=$t(K)),L=K))),L}function Ci(){var L,K,re,pe;return L=Y,e.substr(Y,2)===xt?(K=xt,Y+=2):(K=r,ct===0&&wt(on)),K!==r?(re=an(),re!==r?(e.charCodeAt(Y)===39?(pe=br,Y++):(pe=r,ct===0&&wt(dr)),pe!==r?(Dt=L,K=Pr(re),L=K):(Y=L,L=r)):(Y=L,L=r)):(Y=L,L=r),L}function Qm(){var L,K,re,pe;return L=Y,e.charCodeAt(Y)===39?(K=br,Y++):(K=r,ct===0&&wt(dr)),K!==r?(re=dp(),re!==r?(e.charCodeAt(Y)===39?(pe=br,Y++):(pe=r,ct===0&&wt(dr)),pe!==r?(Dt=L,K=Pr(re),L=K):(Y=L,L=r)):(Y=L,L=r)):(Y=L,L=r),L}function km(){var L,K,re,pe;if(L=Y,e.substr(Y,2)===Yr?(K=Yr,Y+=2):(K=r,ct===0&&wt(Wn)),K!==r&&(Dt=L,K=Os()),L=K,L===r)if(L=Y,e.charCodeAt(Y)===34?(K=Ti,Y++):(K=r,ct===0&&wt(hs)),K!==r){for(re=[],pe=LA();pe!==r;)re.push(pe),pe=LA();re!==r?(e.charCodeAt(Y)===34?(pe=Ti,Y++):(pe=r,ct===0&&wt(hs)),pe!==r?(Dt=L,K=io(re),L=K):(Y=L,L=r)):(Y=L,L=r)}else Y=L,L=r;return L}function Go(){var L,K,re;if(L=Y,K=[],re=gp(),re!==r)for(;re!==r;)K.push(re),re=gp();else K=r;return K!==r&&(Dt=L,K=io(K)),L=K,L}function LA(){var L,K;return L=Y,K=qr(),K!==r&&(Dt=L,K=Si(K)),L=K,L===r&&(L=Y,K=mp(),K!==r&&(Dt=L,K=Ms(K)),L=K,L===r&&(L=Y,K=Dc(),K!==r&&(Dt=L,K=so(K)),L=K,L===r&&(L=Y,K=dg(),K!==r&&(Dt=L,K=cc(K)),L=K))),L}function gp(){var L,K;return L=Y,K=qr(),K!==r&&(Dt=L,K=Au(K)),L=K,L===r&&(L=Y,K=mp(),K!==r&&(Dt=L,K=op(K)),L=K,L===r&&(L=Y,K=Dc(),K!==r&&(Dt=L,K=ap(K)),L=K,L===r&&(L=Y,K=yC(),K!==r&&(Dt=L,K=Us(K)),L=K,L===r&&(L=Y,K=ha(),K!==r&&(Dt=L,K=cc(K)),L=K)))),L}function dp(){var L,K,re;for(L=Y,K=[],vn.test(e.charAt(Y))?(re=e.charAt(Y),Y++):(re=r,ct===0&&wt(oo));re!==r;)K.push(re),vn.test(e.charAt(Y))?(re=e.charAt(Y),Y++):(re=r,ct===0&&wt(oo));return K!==r&&(Dt=L,K=_s(K)),L=K,L}function dg(){var L,K,re;if(L=Y,K=[],re=pa(),re===r&&(dl.test(e.charAt(Y))?(re=e.charAt(Y),Y++):(re=r,ct===0&&wt(ml))),re!==r)for(;re!==r;)K.push(re),re=pa(),re===r&&(dl.test(e.charAt(Y))?(re=e.charAt(Y),Y++):(re=r,ct===0&&wt(ml)));else K=r;return K!==r&&(Dt=L,K=_s(K)),L=K,L}function pa(){var L,K,re;return L=Y,e.substr(Y,2)===ao?(K=ao,Y+=2):(K=r,ct===0&&wt(Kn)),K!==r&&(Dt=L,K=Ln()),L=K,L===r&&(L=Y,e.charCodeAt(Y)===92?(K=Ni,Y++):(K=r,ct===0&&wt(On)),K!==r?(Hi.test(e.charAt(Y))?(re=e.charAt(Y),Y++):(re=r,ct===0&&wt(ve)),re!==r?(Dt=L,K=Li(re),L=K):(Y=L,L=r)):(Y=L,L=r)),L}function an(){var L,K,re;for(L=Y,K=[],re=Ao(),re===r&&(vn.test(e.charAt(Y))?(re=e.charAt(Y),Y++):(re=r,ct===0&&wt(oo)));re!==r;)K.push(re),re=Ao(),re===r&&(vn.test(e.charAt(Y))?(re=e.charAt(Y),Y++):(re=r,ct===0&&wt(oo)));return K!==r&&(Dt=L,K=_s(K)),L=K,L}function Ao(){var L,K,re;return L=Y,e.substr(Y,2)===ni?(K=ni,Y+=2):(K=r,ct===0&&wt(Ma)),K!==r&&(Dt=L,K=pr()),L=K,L===r&&(L=Y,e.substr(Y,2)===uc?(K=uc,Y+=2):(K=r,ct===0&&wt(fu)),K!==r&&(Dt=L,K=Ac()),L=K,L===r&&(L=Y,e.charCodeAt(Y)===92?(K=Ni,Y++):(K=r,ct===0&&wt(On)),K!==r?(yl.test(e.charAt(Y))?(re=e.charAt(Y),Y++):(re=r,ct===0&&wt(DA)),re!==r?(Dt=L,K=pu(),L=K):(Y=L,L=r)):(Y=L,L=r),L===r&&(L=Y,e.substr(Y,2)===Ce?(K=Ce,Y+=2):(K=r,ct===0&&wt(Rt)),K!==r&&(Dt=L,K=fc()),L=K,L===r&&(L=Y,e.substr(Y,2)===ji?(K=ji,Y+=2):(K=r,ct===0&&wt(hu)),K!==r&&(Dt=L,K=Yt()),L=K,L===r&&(L=Y,e.substr(Y,2)===El?(K=El,Y+=2):(K=r,ct===0&&wt(SA)),K!==r&&(Dt=L,K=lp()),L=K,L===r&&(L=Y,e.substr(Y,2)===pc?(K=pc,Y+=2):(K=r,ct===0&&wt(PA)),K!==r&&(Dt=L,K=Qn()),L=K,L===r&&(L=Y,e.substr(Y,2)===pi?(K=pi,Y+=2):(K=r,ct===0&&wt(hc)),K!==r&&(Dt=L,K=xA()),L=K,L===r&&(L=Y,e.charCodeAt(Y)===92?(K=Ni,Y++):(K=r,ct===0&&wt(On)),K!==r?(oa.test(e.charAt(Y))?(re=e.charAt(Y),Y++):(re=r,ct===0&&wt(Oi)),re!==r?(Dt=L,K=Li(re),L=K):(Y=L,L=r)):(Y=L,L=r),L===r&&(L=OA()))))))))),L}function OA(){var L,K,re,pe,ze,mt,Ar,Er,mn,si,Mi,wg;return L=Y,e.charCodeAt(Y)===92?(K=Ni,Y++):(K=r,ct===0&&wt(On)),K!==r?(re=qa(),re!==r?(Dt=L,K=_o(re),L=K):(Y=L,L=r)):(Y=L,L=r),L===r&&(L=Y,e.substr(Y,2)===Ze?(K=Ze,Y+=2):(K=r,ct===0&&wt(lo)),K!==r?(re=Y,pe=Y,ze=qa(),ze!==r?(mt=ii(),mt!==r?(ze=[ze,mt],pe=ze):(Y=pe,pe=r)):(Y=pe,pe=r),pe===r&&(pe=qa()),pe!==r?re=e.substring(re,Y):re=pe,re!==r?(Dt=L,K=_o(re),L=K):(Y=L,L=r)):(Y=L,L=r),L===r&&(L=Y,e.substr(Y,2)===gc?(K=gc,Y+=2):(K=r,ct===0&&wt(gu)),K!==r?(re=Y,pe=Y,ze=ii(),ze!==r?(mt=ii(),mt!==r?(Ar=ii(),Ar!==r?(Er=ii(),Er!==r?(ze=[ze,mt,Ar,Er],pe=ze):(Y=pe,pe=r)):(Y=pe,pe=r)):(Y=pe,pe=r)):(Y=pe,pe=r),pe!==r?re=e.substring(re,Y):re=pe,re!==r?(Dt=L,K=_o(re),L=K):(Y=L,L=r)):(Y=L,L=r),L===r&&(L=Y,e.substr(Y,2)===qi?(K=qi,Y+=2):(K=r,ct===0&&wt(du)),K!==r?(re=Y,pe=Y,ze=ii(),ze!==r?(mt=ii(),mt!==r?(Ar=ii(),Ar!==r?(Er=ii(),Er!==r?(mn=ii(),mn!==r?(si=ii(),si!==r?(Mi=ii(),Mi!==r?(wg=ii(),wg!==r?(ze=[ze,mt,Ar,Er,mn,si,Mi,wg],pe=ze):(Y=pe,pe=r)):(Y=pe,pe=r)):(Y=pe,pe=r)):(Y=pe,pe=r)):(Y=pe,pe=r)):(Y=pe,pe=r)):(Y=pe,pe=r)):(Y=pe,pe=r),pe!==r?re=e.substring(re,Y):re=pe,re!==r?(Dt=L,K=bA(re),L=K):(Y=L,L=r)):(Y=L,L=r)))),L}function qa(){var L;return Ua.test(e.charAt(Y))?(L=e.charAt(Y),Y++):(L=r,ct===0&&wt(dc)),L}function ii(){var L;return gs.test(e.charAt(Y))?(L=e.charAt(Y),Y++):(L=r,ct===0&&wt(Ut)),L}function ha(){var L,K,re,pe,ze;if(L=Y,K=[],re=Y,e.charCodeAt(Y)===92?(pe=Ni,Y++):(pe=r,ct===0&&wt(On)),pe!==r?(e.length>Y?(ze=e.charAt(Y),Y++):(ze=r,ct===0&&wt(kn)),ze!==r?(Dt=re,pe=Li(ze),re=pe):(Y=re,re=r)):(Y=re,re=r),re===r&&(re=Y,e.substr(Y,2)===Ei?(pe=Ei,Y+=2):(pe=r,ct===0&&wt(aa)),pe!==r&&(Dt=re,pe=co()),re=pe,re===r&&(re=Y,pe=Y,ct++,ze=Fm(),ct--,ze===r?pe=void 0:(Y=pe,pe=r),pe!==r?(e.length>Y?(ze=e.charAt(Y),Y++):(ze=r,ct===0&&wt(kn)),ze!==r?(Dt=re,pe=Li(ze),re=pe):(Y=re,re=r)):(Y=re,re=r))),re!==r)for(;re!==r;)K.push(re),re=Y,e.charCodeAt(Y)===92?(pe=Ni,Y++):(pe=r,ct===0&&wt(On)),pe!==r?(e.length>Y?(ze=e.charAt(Y),Y++):(ze=r,ct===0&&wt(kn)),ze!==r?(Dt=re,pe=Li(ze),re=pe):(Y=re,re=r)):(Y=re,re=r),re===r&&(re=Y,e.substr(Y,2)===Ei?(pe=Ei,Y+=2):(pe=r,ct===0&&wt(aa)),pe!==r&&(Dt=re,pe=co()),re=pe,re===r&&(re=Y,pe=Y,ct++,ze=Fm(),ct--,ze===r?pe=void 0:(Y=pe,pe=r),pe!==r?(e.length>Y?(ze=e.charAt(Y),Y++):(ze=r,ct===0&&wt(kn)),ze!==r?(Dt=re,pe=Li(ze),re=pe):(Y=re,re=r)):(Y=re,re=r)));else K=r;return K!==r&&(Dt=L,K=_s(K)),L=K,L}function vc(){var L,K,re,pe,ze,mt;if(L=Y,e.charCodeAt(Y)===45?(K=Hs,Y++):(K=r,ct===0&&wt(la)),K===r&&(e.charCodeAt(Y)===43?(K=ca,Y++):(K=r,ct===0&&wt(Ho))),K===r&&(K=null),K!==r){if(re=[],Ve.test(e.charAt(Y))?(pe=e.charAt(Y),Y++):(pe=r,ct===0&&wt(je)),pe!==r)for(;pe!==r;)re.push(pe),Ve.test(e.charAt(Y))?(pe=e.charAt(Y),Y++):(pe=r,ct===0&&wt(je));else re=r;if(re!==r)if(e.charCodeAt(Y)===46?(pe=wi,Y++):(pe=r,ct===0&&wt(ds)),pe!==r){if(ze=[],Ve.test(e.charAt(Y))?(mt=e.charAt(Y),Y++):(mt=r,ct===0&&wt(je)),mt!==r)for(;mt!==r;)ze.push(mt),Ve.test(e.charAt(Y))?(mt=e.charAt(Y),Y++):(mt=r,ct===0&&wt(je));else ze=r;ze!==r?(Dt=L,K=ms(K,re,ze),L=K):(Y=L,L=r)}else Y=L,L=r;else Y=L,L=r}else Y=L,L=r;if(L===r){if(L=Y,e.charCodeAt(Y)===45?(K=Hs,Y++):(K=r,ct===0&&wt(la)),K===r&&(e.charCodeAt(Y)===43?(K=ca,Y++):(K=r,ct===0&&wt(Ho))),K===r&&(K=null),K!==r){if(re=[],Ve.test(e.charAt(Y))?(pe=e.charAt(Y),Y++):(pe=r,ct===0&&wt(je)),pe!==r)for(;pe!==r;)re.push(pe),Ve.test(e.charAt(Y))?(pe=e.charAt(Y),Y++):(pe=r,ct===0&&wt(je));else re=r;re!==r?(Dt=L,K=ys(K,re),L=K):(Y=L,L=r)}else Y=L,L=r;if(L===r&&(L=Y,K=Dc(),K!==r&&(Dt=L,K=js(K)),L=K,L===r&&(L=Y,K=Ga(),K!==r&&(Dt=L,K=Mn(K)),L=K,L===r)))if(L=Y,e.charCodeAt(Y)===40?(K=Se,Y++):(K=r,ct===0&&wt(ce)),K!==r){for(re=[],pe=kt();pe!==r;)re.push(pe),pe=kt();if(re!==r)if(pe=es(),pe!==r){for(ze=[],mt=kt();mt!==r;)ze.push(mt),mt=kt();ze!==r?(e.charCodeAt(Y)===41?(mt=ne,Y++):(mt=r,ct===0&&wt(te)),mt!==r?(Dt=L,K=Dn(pe),L=K):(Y=L,L=r)):(Y=L,L=r)}else Y=L,L=r;else Y=L,L=r}else Y=L,L=r}return L}function Il(){var L,K,re,pe,ze,mt,Ar,Er;if(L=Y,K=vc(),K!==r){for(re=[],pe=Y,ze=[],mt=kt();mt!==r;)ze.push(mt),mt=kt();if(ze!==r)if(e.charCodeAt(Y)===42?(mt=Es,Y++):(mt=r,ct===0&&wt(We)),mt===r&&(e.charCodeAt(Y)===47?(mt=tt,Y++):(mt=r,ct===0&&wt(It))),mt!==r){for(Ar=[],Er=kt();Er!==r;)Ar.push(Er),Er=kt();Ar!==r?(Er=vc(),Er!==r?(Dt=pe,ze=rr(K,mt,Er),pe=ze):(Y=pe,pe=r)):(Y=pe,pe=r)}else Y=pe,pe=r;else Y=pe,pe=r;for(;pe!==r;){for(re.push(pe),pe=Y,ze=[],mt=kt();mt!==r;)ze.push(mt),mt=kt();if(ze!==r)if(e.charCodeAt(Y)===42?(mt=Es,Y++):(mt=r,ct===0&&wt(We)),mt===r&&(e.charCodeAt(Y)===47?(mt=tt,Y++):(mt=r,ct===0&&wt(It))),mt!==r){for(Ar=[],Er=kt();Er!==r;)Ar.push(Er),Er=kt();Ar!==r?(Er=vc(),Er!==r?(Dt=pe,ze=rr(K,mt,Er),pe=ze):(Y=pe,pe=r)):(Y=pe,pe=r)}else Y=pe,pe=r;else Y=pe,pe=r}re!==r?(Dt=L,K=$(K,re),L=K):(Y=L,L=r)}else Y=L,L=r;return L}function es(){var L,K,re,pe,ze,mt,Ar,Er;if(L=Y,K=Il(),K!==r){for(re=[],pe=Y,ze=[],mt=kt();mt!==r;)ze.push(mt),mt=kt();if(ze!==r)if(e.charCodeAt(Y)===43?(mt=ca,Y++):(mt=r,ct===0&&wt(Ho)),mt===r&&(e.charCodeAt(Y)===45?(mt=Hs,Y++):(mt=r,ct===0&&wt(la))),mt!==r){for(Ar=[],Er=kt();Er!==r;)Ar.push(Er),Er=kt();Ar!==r?(Er=Il(),Er!==r?(Dt=pe,ze=me(K,mt,Er),pe=ze):(Y=pe,pe=r)):(Y=pe,pe=r)}else Y=pe,pe=r;else Y=pe,pe=r;for(;pe!==r;){for(re.push(pe),pe=Y,ze=[],mt=kt();mt!==r;)ze.push(mt),mt=kt();if(ze!==r)if(e.charCodeAt(Y)===43?(mt=ca,Y++):(mt=r,ct===0&&wt(Ho)),mt===r&&(e.charCodeAt(Y)===45?(mt=Hs,Y++):(mt=r,ct===0&&wt(la))),mt!==r){for(Ar=[],Er=kt();Er!==r;)Ar.push(Er),Er=kt();Ar!==r?(Er=Il(),Er!==r?(Dt=pe,ze=me(K,mt,Er),pe=ze):(Y=pe,pe=r)):(Y=pe,pe=r)}else Y=pe,pe=r;else Y=pe,pe=r}re!==r?(Dt=L,K=$(K,re),L=K):(Y=L,L=r)}else Y=L,L=r;return L}function qr(){var L,K,re,pe,ze,mt;if(L=Y,e.substr(Y,3)===Oe?(K=Oe,Y+=3):(K=r,ct===0&&wt(ft)),K!==r){for(re=[],pe=kt();pe!==r;)re.push(pe),pe=kt();if(re!==r)if(pe=es(),pe!==r){for(ze=[],mt=kt();mt!==r;)ze.push(mt),mt=kt();ze!==r?(e.substr(Y,2)===pt?(mt=pt,Y+=2):(mt=r,ct===0&&wt(Tt)),mt!==r?(Dt=L,K=er(pe),L=K):(Y=L,L=r)):(Y=L,L=r)}else Y=L,L=r;else Y=L,L=r}else Y=L,L=r;return L}function mp(){var L,K,re,pe;return L=Y,e.substr(Y,2)===Xr?(K=Xr,Y+=2):(K=r,ct===0&&wt(Gi)),K!==r?(re=Iu(),re!==r?(e.charCodeAt(Y)===41?(pe=ne,Y++):(pe=r,ct===0&&wt(te)),pe!==r?(Dt=L,K=$i(re),L=K):(Y=L,L=r)):(Y=L,L=r)):(Y=L,L=r),L}function Dc(){var L,K,re,pe,ze,mt;return L=Y,e.substr(Y,2)===Pi?(K=Pi,Y+=2):(K=r,ct===0&&wt(jo)),K!==r?(re=Ga(),re!==r?(e.substr(Y,2)===QA?(pe=QA,Y+=2):(pe=r,ct===0&&wt(kA)),pe!==r?(ze=NA(),ze!==r?(e.charCodeAt(Y)===125?(mt=H,Y++):(mt=r,ct===0&&wt(at)),mt!==r?(Dt=L,K=cp(re,ze),L=K):(Y=L,L=r)):(Y=L,L=r)):(Y=L,L=r)):(Y=L,L=r)):(Y=L,L=r),L===r&&(L=Y,e.substr(Y,2)===Pi?(K=Pi,Y+=2):(K=r,ct===0&&wt(jo)),K!==r?(re=Ga(),re!==r?(e.substr(Y,3)===rg?(pe=rg,Y+=3):(pe=r,ct===0&&wt(mu)),pe!==r?(Dt=L,K=ng(re),L=K):(Y=L,L=r)):(Y=L,L=r)):(Y=L,L=r),L===r&&(L=Y,e.substr(Y,2)===Pi?(K=Pi,Y+=2):(K=r,ct===0&&wt(jo)),K!==r?(re=Ga(),re!==r?(e.substr(Y,2)===yu?(pe=yu,Y+=2):(pe=r,ct===0&&wt(uo)),pe!==r?(ze=NA(),ze!==r?(e.charCodeAt(Y)===125?(mt=H,Y++):(mt=r,ct===0&&wt(at)),mt!==r?(Dt=L,K=FA(re,ze),L=K):(Y=L,L=r)):(Y=L,L=r)):(Y=L,L=r)):(Y=L,L=r)):(Y=L,L=r),L===r&&(L=Y,e.substr(Y,2)===Pi?(K=Pi,Y+=2):(K=r,ct===0&&wt(jo)),K!==r?(re=Ga(),re!==r?(e.substr(Y,3)===mc?(pe=mc,Y+=3):(pe=r,ct===0&&wt(ua)),pe!==r?(Dt=L,K=ig(re),L=K):(Y=L,L=r)):(Y=L,L=r)):(Y=L,L=r),L===r&&(L=Y,e.substr(Y,2)===Pi?(K=Pi,Y+=2):(K=r,ct===0&&wt(jo)),K!==r?(re=Ga(),re!==r?(e.charCodeAt(Y)===125?(pe=H,Y++):(pe=r,ct===0&&wt(at)),pe!==r?(Dt=L,K=yc(re),L=K):(Y=L,L=r)):(Y=L,L=r)):(Y=L,L=r),L===r&&(L=Y,e.charCodeAt(Y)===36?(K=Sm,Y++):(K=r,ct===0&&wt(sg)),K!==r?(re=Ga(),re!==r?(Dt=L,K=yc(re),L=K):(Y=L,L=r)):(Y=L,L=r)))))),L}function yC(){var L,K,re;return L=Y,K=mg(),K!==r?(Dt=Y,re=Xn(K),re?re=void 0:re=r,re!==r?(Dt=L,K=up(K),L=K):(Y=L,L=r)):(Y=L,L=r),L}function mg(){var L,K,re,pe,ze;if(L=Y,K=[],re=Y,pe=Y,ct++,ze=Eg(),ct--,ze===r?pe=void 0:(Y=pe,pe=r),pe!==r?(e.length>Y?(ze=e.charAt(Y),Y++):(ze=r,ct===0&&wt(kn)),ze!==r?(Dt=re,pe=Li(ze),re=pe):(Y=re,re=r)):(Y=re,re=r),re!==r)for(;re!==r;)K.push(re),re=Y,pe=Y,ct++,ze=Eg(),ct--,ze===r?pe=void 0:(Y=pe,pe=r),pe!==r?(e.length>Y?(ze=e.charAt(Y),Y++):(ze=r,ct===0&&wt(kn)),ze!==r?(Dt=re,pe=Li(ze),re=pe):(Y=re,re=r)):(Y=re,re=r);else K=r;return K!==r&&(Dt=L,K=_s(K)),L=K,L}function yg(){var L,K,re;if(L=Y,K=[],og.test(e.charAt(Y))?(re=e.charAt(Y),Y++):(re=r,ct===0&&wt(RA)),re!==r)for(;re!==r;)K.push(re),og.test(e.charAt(Y))?(re=e.charAt(Y),Y++):(re=r,ct===0&&wt(RA));else K=r;return K!==r&&(Dt=L,K=qs()),L=K,L}function Ga(){var L,K,re;if(L=Y,K=[],Eu.test(e.charAt(Y))?(re=e.charAt(Y),Y++):(re=r,ct===0&&wt(Ha)),re!==r)for(;re!==r;)K.push(re),Eu.test(e.charAt(Y))?(re=e.charAt(Y),Y++):(re=r,ct===0&&wt(Ha));else K=r;return K!==r&&(Dt=L,K=qs()),L=K,L}function Fm(){var L;return Yi.test(e.charAt(Y))?(L=e.charAt(Y),Y++):(L=r,ct===0&&wt(Aa)),L}function Eg(){var L;return wu.test(e.charAt(Y))?(L=e.charAt(Y),Y++):(L=r,ct===0&&wt(ws)),L}function kt(){var L,K;if(L=[],Ec.test(e.charAt(Y))?(K=e.charAt(Y),Y++):(K=r,ct===0&&wt(wc)),K!==r)for(;K!==r;)L.push(K),Ec.test(e.charAt(Y))?(K=e.charAt(Y),Y++):(K=r,ct===0&&wt(wc));else L=r;return L}if(Cu=a(),Cu!==r&&Y===e.length)return Cu;throw Cu!==r&&Y<e.length&&wt(cg()),Ag(Cc,xi<e.length?e.charAt(xi):null,xi<e.length?Ic(xi,xi+1):Ic(xi,xi))}JY.exports={SyntaxError:jg,parse:a8e}});function ND(e,t={isGlobPattern:()=>!1}){try{return(0,zY.parse)(e,t)}catch(r){throw r.location&&(r.message=r.message.replace(/(\.)?$/,` (line ${r.location.start.line}, column ${r.location.start.column})$1`)),r}}function ly(e,{endSemicolon:t=!1}={}){return e.map(({command:r,type:o},a)=>`${LD(r)}${o===";"?a!==e.length-1||t?";":"":" &"}`).join(" ")}function LD(e){return`${cy(e.chain)}${e.then?` ${sT(e.then)}`:""}`}function sT(e){return`${e.type} ${LD(e.line)}`}function cy(e){return`${aT(e)}${e.then?` ${oT(e.then)}`:""}`}function oT(e){return`${e.type} ${cy(e.chain)}`}function aT(e){switch(e.type){case"command":return`${e.envs.length>0?`${e.envs.map(t=>TD(t)).join(" ")} `:""}${e.args.map(t=>lT(t)).join(" ")}`;case"subshell":return`(${ly(e.subshell)})${e.args.length>0?` ${e.args.map(t=>KC(t)).join(" ")}`:""}`;case"group":return`{ ${ly(e.group,{endSemicolon:!0})} }${e.args.length>0?` ${e.args.map(t=>KC(t)).join(" ")}`:""}`;case"envs":return e.envs.map(t=>TD(t)).join(" ");default:throw new Error(`Unsupported command type: "${e.type}"`)}}function TD(e){return`${e.name}=${e.args[0]?qg(e.args[0]):""}`}function lT(e){switch(e.type){case"redirection":return KC(e);case"argument":return qg(e);default:throw new Error(`Unsupported argument type: "${e.type}"`)}}function KC(e){return`${e.subtype} ${e.args.map(t=>qg(t)).join(" ")}`}function qg(e){return e.segments.map(t=>cT(t)).join("")}function cT(e){let t=(o,a)=>a?`"${o}"`:o,r=o=>o===""?"''":o.match(/[()}<>$|&;"'\n\t ]/)?o.match(/['\t\p{C}]/u)?o.match(/'/)?`"${o.replace(/["$\t\p{C}]/u,c8e)}"`:`$'${o.replace(/[\t\p{C}]/u,ZY)}'`:`'${o}'`:o;switch(e.type){case"text":return r(e.text);case"glob":return e.pattern;case"shell":return t(`\${${ly(e.shell)}}`,e.quoted);case"variable":return t(typeof e.defaultValue>"u"?typeof e.alternativeValue>"u"?`\${${e.name}}`:e.alternativeValue.length===0?`\${${e.name}:+}`:`\${${e.name}:+${e.alternativeValue.map(o=>qg(o)).join(" ")}}`:e.defaultValue.length===0?`\${${e.name}:-}`:`\${${e.name}:-${e.defaultValue.map(o=>qg(o)).join(" ")}}`,e.quoted);case"arithmetic":return`$(( ${OD(e.arithmetic)} ))`;default:throw new Error(`Unsupported argument segment type: "${e.type}"`)}}function OD(e){let t=a=>{switch(a){case"addition":return"+";case"subtraction":return"-";case"multiplication":return"*";case"division":return"/";default:throw new Error(`Can't extract operator from arithmetic expression of type "${a}"`)}},r=(a,n)=>n?`( ${a} )`:a,o=a=>r(OD(a),!["number","variable"].includes(a.type));switch(e.type){case"number":return String(e.value);case"variable":return e.name;default:return`${o(e.left)} ${t(e.type)} ${o(e.right)}`}}var zY,XY,l8e,ZY,c8e,$Y=yt(()=>{zY=$e(VY());XY=new Map([["\f","\\f"],[` -`,"\\n"],["\r","\\r"],[" ","\\t"],["\v","\\v"],["\0","\\0"]]),l8e=new Map([["\\","\\\\"],["$","\\$"],['"','\\"'],...Array.from(XY,([e,t])=>[e,`"$'${t}'"`])]),ZY=e=>XY.get(e)??`\\x${e.charCodeAt(0).toString(16).padStart(2,"0")}`,c8e=e=>l8e.get(e)??`"$'${ZY(e)}'"`});var tW=_((fxt,eW)=>{"use strict";function u8e(e,t){function r(){this.constructor=e}r.prototype=t.prototype,e.prototype=new r}function Gg(e,t,r,o){this.message=e,this.expected=t,this.found=r,this.location=o,this.name="SyntaxError",typeof Error.captureStackTrace=="function"&&Error.captureStackTrace(this,Gg)}u8e(Gg,Error);Gg.buildMessage=function(e,t){var r={literal:function(h){return'"'+a(h.text)+'"'},class:function(h){var w="",I;for(I=0;I<h.parts.length;I++)w+=h.parts[I]instanceof Array?n(h.parts[I][0])+"-"+n(h.parts[I][1]):n(h.parts[I]);return"["+(h.inverted?"^":"")+w+"]"},any:function(h){return"any character"},end:function(h){return"end of input"},other:function(h){return h.description}};function o(h){return h.charCodeAt(0).toString(16).toUpperCase()}function a(h){return h.replace(/\\/g,"\\\\").replace(/"/g,'\\"').replace(/\0/g,"\\0").replace(/\t/g,"\\t").replace(/\n/g,"\\n").replace(/\r/g,"\\r").replace(/[\x00-\x0F]/g,function(w){return"\\x0"+o(w)}).replace(/[\x10-\x1F\x7F-\x9F]/g,function(w){return"\\x"+o(w)})}function n(h){return h.replace(/\\/g,"\\\\").replace(/\]/g,"\\]").replace(/\^/g,"\\^").replace(/-/g,"\\-").replace(/\0/g,"\\0").replace(/\t/g,"\\t").replace(/\n/g,"\\n").replace(/\r/g,"\\r").replace(/[\x00-\x0F]/g,function(w){return"\\x0"+o(w)}).replace(/[\x10-\x1F\x7F-\x9F]/g,function(w){return"\\x"+o(w)})}function u(h){return r[h.type](h)}function A(h){var w=new Array(h.length),I,v;for(I=0;I<h.length;I++)w[I]=u(h[I]);if(w.sort(),w.length>0){for(I=1,v=1;I<w.length;I++)w[I-1]!==w[I]&&(w[v]=w[I],v++);w.length=v}switch(w.length){case 1:return w[0];case 2:return w[0]+" or "+w[1];default:return w.slice(0,-1).join(", ")+", or "+w[w.length-1]}}function p(h){return h?'"'+a(h)+'"':"end of input"}return"Expected "+A(e)+" but "+p(t)+" found."};function A8e(e,t){t=t!==void 0?t:{};var r={},o={resolution:Qe},a=Qe,n="/",u=Se("/",!1),A=function(je,x){return{from:je,descriptor:x}},p=function(je){return{descriptor:je}},h="@",w=Se("@",!1),I=function(je,x){return{fullName:je,description:x}},v=function(je){return{fullName:je}},b=function(){return Be()},E=/^[^\/@]/,R=ce(["/","@"],!0,!1),N=/^[^\/]/,U=ce(["/"],!0,!1),V=0,ee=0,le=[{line:1,column:1}],fe=0,de=[],ge=0,oe;if("startRule"in t){if(!(t.startRule in o))throw new Error(`Can't start parsing from rule "`+t.startRule+'".');a=o[t.startRule]}function Be(){return e.substring(ee,V)}function be(){return dt(ee,V)}function g(je,x){throw x=x!==void 0?x:dt(ee,V),Te([Ee(je)],e.substring(ee,V),x)}function we(je,x){throw x=x!==void 0?x:dt(ee,V),at(je,x)}function Se(je,x){return{type:"literal",text:je,ignoreCase:x}}function ce(je,x,C){return{type:"class",parts:je,inverted:x,ignoreCase:C}}function ne(){return{type:"any"}}function te(){return{type:"end"}}function Ee(je){return{type:"other",description:je}}function Re(je){var x=le[je],C;if(x)return x;for(C=je-1;!le[C];)C--;for(x=le[C],x={line:x.line,column:x.column};C<je;)e.charCodeAt(C)===10?(x.line++,x.column=1):x.column++,C++;return le[je]=x,x}function dt(je,x){var C=Re(je),P=Re(x);return{start:{offset:je,line:C.line,column:C.column},end:{offset:x,line:P.line,column:P.column}}}function H(je){V<fe||(V>fe&&(fe=V,de=[]),de.push(je))}function at(je,x){return new Gg(je,null,null,x)}function Te(je,x,C){return new Gg(Gg.buildMessage(je,x),je,x,C)}function Qe(){var je,x,C,P;return je=V,x=ke(),x!==r?(e.charCodeAt(V)===47?(C=n,V++):(C=r,ge===0&&H(u)),C!==r?(P=ke(),P!==r?(ee=je,x=A(x,P),je=x):(V=je,je=r)):(V=je,je=r)):(V=je,je=r),je===r&&(je=V,x=ke(),x!==r&&(ee=je,x=p(x)),je=x),je}function ke(){var je,x,C,P;return je=V,x=He(),x!==r?(e.charCodeAt(V)===64?(C=h,V++):(C=r,ge===0&&H(w)),C!==r?(P=Ve(),P!==r?(ee=je,x=I(x,P),je=x):(V=je,je=r)):(V=je,je=r)):(V=je,je=r),je===r&&(je=V,x=He(),x!==r&&(ee=je,x=v(x)),je=x),je}function He(){var je,x,C,P,y;return je=V,e.charCodeAt(V)===64?(x=h,V++):(x=r,ge===0&&H(w)),x!==r?(C=Ne(),C!==r?(e.charCodeAt(V)===47?(P=n,V++):(P=r,ge===0&&H(u)),P!==r?(y=Ne(),y!==r?(ee=je,x=b(),je=x):(V=je,je=r)):(V=je,je=r)):(V=je,je=r)):(V=je,je=r),je===r&&(je=V,x=Ne(),x!==r&&(ee=je,x=b()),je=x),je}function Ne(){var je,x,C;if(je=V,x=[],E.test(e.charAt(V))?(C=e.charAt(V),V++):(C=r,ge===0&&H(R)),C!==r)for(;C!==r;)x.push(C),E.test(e.charAt(V))?(C=e.charAt(V),V++):(C=r,ge===0&&H(R));else x=r;return x!==r&&(ee=je,x=b()),je=x,je}function Ve(){var je,x,C;if(je=V,x=[],N.test(e.charAt(V))?(C=e.charAt(V),V++):(C=r,ge===0&&H(U)),C!==r)for(;C!==r;)x.push(C),N.test(e.charAt(V))?(C=e.charAt(V),V++):(C=r,ge===0&&H(U));else x=r;return x!==r&&(ee=je,x=b()),je=x,je}if(oe=a(),oe!==r&&V===e.length)return oe;throw oe!==r&&V<e.length&&H(te()),Te(de,fe<e.length?e.charAt(fe):null,fe<e.length?dt(fe,fe+1):dt(fe,fe))}eW.exports={SyntaxError:Gg,parse:A8e}});function MD(e){let t=e.match(/^\*{1,2}\/(.*)/);if(t)throw new Error(`The override for '${e}' includes a glob pattern. Glob patterns have been removed since their behaviours don't match what you'd expect. Set the override to '${t[1]}' instead.`);try{return(0,rW.parse)(e)}catch(r){throw r.location&&(r.message=r.message.replace(/(\.)?$/,` (line ${r.location.start.line}, column ${r.location.start.column})$1`)),r}}function UD(e){let t="";return e.from&&(t+=e.from.fullName,e.from.description&&(t+=`@${e.from.description}`),t+="/"),t+=e.descriptor.fullName,e.descriptor.description&&(t+=`@${e.descriptor.description}`),t}var rW,nW=yt(()=>{rW=$e(tW())});var Wg=_((hxt,Yg)=>{"use strict";function iW(e){return typeof e>"u"||e===null}function f8e(e){return typeof e=="object"&&e!==null}function p8e(e){return Array.isArray(e)?e:iW(e)?[]:[e]}function h8e(e,t){var r,o,a,n;if(t)for(n=Object.keys(t),r=0,o=n.length;r<o;r+=1)a=n[r],e[a]=t[a];return e}function g8e(e,t){var r="",o;for(o=0;o<t;o+=1)r+=e;return r}function d8e(e){return e===0&&Number.NEGATIVE_INFINITY===1/e}Yg.exports.isNothing=iW;Yg.exports.isObject=f8e;Yg.exports.toArray=p8e;Yg.exports.repeat=g8e;Yg.exports.isNegativeZero=d8e;Yg.exports.extend=h8e});var uy=_((gxt,sW)=>{"use strict";function JC(e,t){Error.call(this),this.name="YAMLException",this.reason=e,this.mark=t,this.message=(this.reason||"(unknown reason)")+(this.mark?" "+this.mark.toString():""),Error.captureStackTrace?Error.captureStackTrace(this,this.constructor):this.stack=new Error().stack||""}JC.prototype=Object.create(Error.prototype);JC.prototype.constructor=JC;JC.prototype.toString=function(t){var r=this.name+": ";return r+=this.reason||"(unknown reason)",!t&&this.mark&&(r+=" "+this.mark.toString()),r};sW.exports=JC});var lW=_((dxt,aW)=>{"use strict";var oW=Wg();function uT(e,t,r,o,a){this.name=e,this.buffer=t,this.position=r,this.line=o,this.column=a}uT.prototype.getSnippet=function(t,r){var o,a,n,u,A;if(!this.buffer)return null;for(t=t||4,r=r||75,o="",a=this.position;a>0&&`\0\r -\x85\u2028\u2029`.indexOf(this.buffer.charAt(a-1))===-1;)if(a-=1,this.position-a>r/2-1){o=" ... ",a+=5;break}for(n="",u=this.position;u<this.buffer.length&&`\0\r -\x85\u2028\u2029`.indexOf(this.buffer.charAt(u))===-1;)if(u+=1,u-this.position>r/2-1){n=" ... ",u-=5;break}return A=this.buffer.slice(a,u),oW.repeat(" ",t)+o+A+n+` -`+oW.repeat(" ",t+this.position-a+o.length)+"^"};uT.prototype.toString=function(t){var r,o="";return this.name&&(o+='in "'+this.name+'" '),o+="at line "+(this.line+1)+", column "+(this.column+1),t||(r=this.getSnippet(),r&&(o+=`: -`+r)),o};aW.exports=uT});var ss=_((mxt,uW)=>{"use strict";var cW=uy(),m8e=["kind","resolve","construct","instanceOf","predicate","represent","defaultStyle","styleAliases"],y8e=["scalar","sequence","mapping"];function E8e(e){var t={};return e!==null&&Object.keys(e).forEach(function(r){e[r].forEach(function(o){t[String(o)]=r})}),t}function w8e(e,t){if(t=t||{},Object.keys(t).forEach(function(r){if(m8e.indexOf(r)===-1)throw new cW('Unknown option "'+r+'" is met in definition of "'+e+'" YAML type.')}),this.tag=e,this.kind=t.kind||null,this.resolve=t.resolve||function(){return!0},this.construct=t.construct||function(r){return r},this.instanceOf=t.instanceOf||null,this.predicate=t.predicate||null,this.represent=t.represent||null,this.defaultStyle=t.defaultStyle||null,this.styleAliases=E8e(t.styleAliases||null),y8e.indexOf(this.kind)===-1)throw new cW('Unknown kind "'+this.kind+'" is specified for "'+e+'" YAML type.')}uW.exports=w8e});var Kg=_((yxt,fW)=>{"use strict";var AW=Wg(),_D=uy(),C8e=ss();function AT(e,t,r){var o=[];return e.include.forEach(function(a){r=AT(a,t,r)}),e[t].forEach(function(a){r.forEach(function(n,u){n.tag===a.tag&&n.kind===a.kind&&o.push(u)}),r.push(a)}),r.filter(function(a,n){return o.indexOf(n)===-1})}function I8e(){var e={scalar:{},sequence:{},mapping:{},fallback:{}},t,r;function o(a){e[a.kind][a.tag]=e.fallback[a.tag]=a}for(t=0,r=arguments.length;t<r;t+=1)arguments[t].forEach(o);return e}function Ay(e){this.include=e.include||[],this.implicit=e.implicit||[],this.explicit=e.explicit||[],this.implicit.forEach(function(t){if(t.loadKind&&t.loadKind!=="scalar")throw new _D("There is a non-scalar type in the implicit list of a schema. Implicit resolving of such types is not supported.")}),this.compiledImplicit=AT(this,"implicit",[]),this.compiledExplicit=AT(this,"explicit",[]),this.compiledTypeMap=I8e(this.compiledImplicit,this.compiledExplicit)}Ay.DEFAULT=null;Ay.create=function(){var t,r;switch(arguments.length){case 1:t=Ay.DEFAULT,r=arguments[0];break;case 2:t=arguments[0],r=arguments[1];break;default:throw new _D("Wrong number of arguments for Schema.create function")}if(t=AW.toArray(t),r=AW.toArray(r),!t.every(function(o){return o instanceof Ay}))throw new _D("Specified list of super schemas (or a single Schema object) contains a non-Schema object.");if(!r.every(function(o){return o instanceof C8e}))throw new _D("Specified list of YAML types (or a single Type object) contains a non-Type object.");return new Ay({include:t,explicit:r})};fW.exports=Ay});var hW=_((Ext,pW)=>{"use strict";var B8e=ss();pW.exports=new B8e("tag:yaml.org,2002:str",{kind:"scalar",construct:function(e){return e!==null?e:""}})});var dW=_((wxt,gW)=>{"use strict";var v8e=ss();gW.exports=new v8e("tag:yaml.org,2002:seq",{kind:"sequence",construct:function(e){return e!==null?e:[]}})});var yW=_((Cxt,mW)=>{"use strict";var D8e=ss();mW.exports=new D8e("tag:yaml.org,2002:map",{kind:"mapping",construct:function(e){return e!==null?e:{}}})});var HD=_((Ixt,EW)=>{"use strict";var S8e=Kg();EW.exports=new S8e({explicit:[hW(),dW(),yW()]})});var CW=_((Bxt,wW)=>{"use strict";var P8e=ss();function x8e(e){if(e===null)return!0;var t=e.length;return t===1&&e==="~"||t===4&&(e==="null"||e==="Null"||e==="NULL")}function b8e(){return null}function Q8e(e){return e===null}wW.exports=new P8e("tag:yaml.org,2002:null",{kind:"scalar",resolve:x8e,construct:b8e,predicate:Q8e,represent:{canonical:function(){return"~"},lowercase:function(){return"null"},uppercase:function(){return"NULL"},camelcase:function(){return"Null"}},defaultStyle:"lowercase"})});var BW=_((vxt,IW)=>{"use strict";var k8e=ss();function F8e(e){if(e===null)return!1;var t=e.length;return t===4&&(e==="true"||e==="True"||e==="TRUE")||t===5&&(e==="false"||e==="False"||e==="FALSE")}function R8e(e){return e==="true"||e==="True"||e==="TRUE"}function T8e(e){return Object.prototype.toString.call(e)==="[object Boolean]"}IW.exports=new k8e("tag:yaml.org,2002:bool",{kind:"scalar",resolve:F8e,construct:R8e,predicate:T8e,represent:{lowercase:function(e){return e?"true":"false"},uppercase:function(e){return e?"TRUE":"FALSE"},camelcase:function(e){return e?"True":"False"}},defaultStyle:"lowercase"})});var DW=_((Dxt,vW)=>{"use strict";var N8e=Wg(),L8e=ss();function O8e(e){return 48<=e&&e<=57||65<=e&&e<=70||97<=e&&e<=102}function M8e(e){return 48<=e&&e<=55}function U8e(e){return 48<=e&&e<=57}function _8e(e){if(e===null)return!1;var t=e.length,r=0,o=!1,a;if(!t)return!1;if(a=e[r],(a==="-"||a==="+")&&(a=e[++r]),a==="0"){if(r+1===t)return!0;if(a=e[++r],a==="b"){for(r++;r<t;r++)if(a=e[r],a!=="_"){if(a!=="0"&&a!=="1")return!1;o=!0}return o&&a!=="_"}if(a==="x"){for(r++;r<t;r++)if(a=e[r],a!=="_"){if(!O8e(e.charCodeAt(r)))return!1;o=!0}return o&&a!=="_"}for(;r<t;r++)if(a=e[r],a!=="_"){if(!M8e(e.charCodeAt(r)))return!1;o=!0}return o&&a!=="_"}if(a==="_")return!1;for(;r<t;r++)if(a=e[r],a!=="_"){if(a===":")break;if(!U8e(e.charCodeAt(r)))return!1;o=!0}return!o||a==="_"?!1:a!==":"?!0:/^(:[0-5]?[0-9])+$/.test(e.slice(r))}function H8e(e){var t=e,r=1,o,a,n=[];return t.indexOf("_")!==-1&&(t=t.replace(/_/g,"")),o=t[0],(o==="-"||o==="+")&&(o==="-"&&(r=-1),t=t.slice(1),o=t[0]),t==="0"?0:o==="0"?t[1]==="b"?r*parseInt(t.slice(2),2):t[1]==="x"?r*parseInt(t,16):r*parseInt(t,8):t.indexOf(":")!==-1?(t.split(":").forEach(function(u){n.unshift(parseInt(u,10))}),t=0,a=1,n.forEach(function(u){t+=u*a,a*=60}),r*t):r*parseInt(t,10)}function j8e(e){return Object.prototype.toString.call(e)==="[object Number]"&&e%1===0&&!N8e.isNegativeZero(e)}vW.exports=new L8e("tag:yaml.org,2002:int",{kind:"scalar",resolve:_8e,construct:H8e,predicate:j8e,represent:{binary:function(e){return e>=0?"0b"+e.toString(2):"-0b"+e.toString(2).slice(1)},octal:function(e){return e>=0?"0"+e.toString(8):"-0"+e.toString(8).slice(1)},decimal:function(e){return e.toString(10)},hexadecimal:function(e){return e>=0?"0x"+e.toString(16).toUpperCase():"-0x"+e.toString(16).toUpperCase().slice(1)}},defaultStyle:"decimal",styleAliases:{binary:[2,"bin"],octal:[8,"oct"],decimal:[10,"dec"],hexadecimal:[16,"hex"]}})});var xW=_((Sxt,PW)=>{"use strict";var SW=Wg(),q8e=ss(),G8e=new RegExp("^(?:[-+]?(?:0|[1-9][0-9_]*)(?:\\.[0-9_]*)?(?:[eE][-+]?[0-9]+)?|\\.[0-9_]+(?:[eE][-+]?[0-9]+)?|[-+]?[0-9][0-9_]*(?::[0-5]?[0-9])+\\.[0-9_]*|[-+]?\\.(?:inf|Inf|INF)|\\.(?:nan|NaN|NAN))$");function Y8e(e){return!(e===null||!G8e.test(e)||e[e.length-1]==="_")}function W8e(e){var t,r,o,a;return t=e.replace(/_/g,"").toLowerCase(),r=t[0]==="-"?-1:1,a=[],"+-".indexOf(t[0])>=0&&(t=t.slice(1)),t===".inf"?r===1?Number.POSITIVE_INFINITY:Number.NEGATIVE_INFINITY:t===".nan"?NaN:t.indexOf(":")>=0?(t.split(":").forEach(function(n){a.unshift(parseFloat(n,10))}),t=0,o=1,a.forEach(function(n){t+=n*o,o*=60}),r*t):r*parseFloat(t,10)}var K8e=/^[-+]?[0-9]+e/;function J8e(e,t){var r;if(isNaN(e))switch(t){case"lowercase":return".nan";case"uppercase":return".NAN";case"camelcase":return".NaN"}else if(Number.POSITIVE_INFINITY===e)switch(t){case"lowercase":return".inf";case"uppercase":return".INF";case"camelcase":return".Inf"}else if(Number.NEGATIVE_INFINITY===e)switch(t){case"lowercase":return"-.inf";case"uppercase":return"-.INF";case"camelcase":return"-.Inf"}else if(SW.isNegativeZero(e))return"-0.0";return r=e.toString(10),K8e.test(r)?r.replace("e",".e"):r}function V8e(e){return Object.prototype.toString.call(e)==="[object Number]"&&(e%1!==0||SW.isNegativeZero(e))}PW.exports=new q8e("tag:yaml.org,2002:float",{kind:"scalar",resolve:Y8e,construct:W8e,predicate:V8e,represent:J8e,defaultStyle:"lowercase"})});var fT=_((Pxt,bW)=>{"use strict";var z8e=Kg();bW.exports=new z8e({include:[HD()],implicit:[CW(),BW(),DW(),xW()]})});var pT=_((xxt,QW)=>{"use strict";var X8e=Kg();QW.exports=new X8e({include:[fT()]})});var TW=_((bxt,RW)=>{"use strict";var Z8e=ss(),kW=new RegExp("^([0-9][0-9][0-9][0-9])-([0-9][0-9])-([0-9][0-9])$"),FW=new RegExp("^([0-9][0-9][0-9][0-9])-([0-9][0-9]?)-([0-9][0-9]?)(?:[Tt]|[ \\t]+)([0-9][0-9]?):([0-9][0-9]):([0-9][0-9])(?:\\.([0-9]*))?(?:[ \\t]*(Z|([-+])([0-9][0-9]?)(?::([0-9][0-9]))?))?$");function $8e(e){return e===null?!1:kW.exec(e)!==null||FW.exec(e)!==null}function eHe(e){var t,r,o,a,n,u,A,p=0,h=null,w,I,v;if(t=kW.exec(e),t===null&&(t=FW.exec(e)),t===null)throw new Error("Date resolve error");if(r=+t[1],o=+t[2]-1,a=+t[3],!t[4])return new Date(Date.UTC(r,o,a));if(n=+t[4],u=+t[5],A=+t[6],t[7]){for(p=t[7].slice(0,3);p.length<3;)p+="0";p=+p}return t[9]&&(w=+t[10],I=+(t[11]||0),h=(w*60+I)*6e4,t[9]==="-"&&(h=-h)),v=new Date(Date.UTC(r,o,a,n,u,A,p)),h&&v.setTime(v.getTime()-h),v}function tHe(e){return e.toISOString()}RW.exports=new Z8e("tag:yaml.org,2002:timestamp",{kind:"scalar",resolve:$8e,construct:eHe,instanceOf:Date,represent:tHe})});var LW=_((Qxt,NW)=>{"use strict";var rHe=ss();function nHe(e){return e==="<<"||e===null}NW.exports=new rHe("tag:yaml.org,2002:merge",{kind:"scalar",resolve:nHe})});var UW=_((kxt,MW)=>{"use strict";var Jg;try{OW=Ie,Jg=OW("buffer").Buffer}catch{}var OW,iHe=ss(),hT=`ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/= -\r`;function sHe(e){if(e===null)return!1;var t,r,o=0,a=e.length,n=hT;for(r=0;r<a;r++)if(t=n.indexOf(e.charAt(r)),!(t>64)){if(t<0)return!1;o+=6}return o%8===0}function oHe(e){var t,r,o=e.replace(/[\r\n=]/g,""),a=o.length,n=hT,u=0,A=[];for(t=0;t<a;t++)t%4===0&&t&&(A.push(u>>16&255),A.push(u>>8&255),A.push(u&255)),u=u<<6|n.indexOf(o.charAt(t));return r=a%4*6,r===0?(A.push(u>>16&255),A.push(u>>8&255),A.push(u&255)):r===18?(A.push(u>>10&255),A.push(u>>2&255)):r===12&&A.push(u>>4&255),Jg?Jg.from?Jg.from(A):new Jg(A):A}function aHe(e){var t="",r=0,o,a,n=e.length,u=hT;for(o=0;o<n;o++)o%3===0&&o&&(t+=u[r>>18&63],t+=u[r>>12&63],t+=u[r>>6&63],t+=u[r&63]),r=(r<<8)+e[o];return a=n%3,a===0?(t+=u[r>>18&63],t+=u[r>>12&63],t+=u[r>>6&63],t+=u[r&63]):a===2?(t+=u[r>>10&63],t+=u[r>>4&63],t+=u[r<<2&63],t+=u[64]):a===1&&(t+=u[r>>2&63],t+=u[r<<4&63],t+=u[64],t+=u[64]),t}function lHe(e){return Jg&&Jg.isBuffer(e)}MW.exports=new iHe("tag:yaml.org,2002:binary",{kind:"scalar",resolve:sHe,construct:oHe,predicate:lHe,represent:aHe})});var HW=_((Rxt,_W)=>{"use strict";var cHe=ss(),uHe=Object.prototype.hasOwnProperty,AHe=Object.prototype.toString;function fHe(e){if(e===null)return!0;var t=[],r,o,a,n,u,A=e;for(r=0,o=A.length;r<o;r+=1){if(a=A[r],u=!1,AHe.call(a)!=="[object Object]")return!1;for(n in a)if(uHe.call(a,n))if(!u)u=!0;else return!1;if(!u)return!1;if(t.indexOf(n)===-1)t.push(n);else return!1}return!0}function pHe(e){return e!==null?e:[]}_W.exports=new cHe("tag:yaml.org,2002:omap",{kind:"sequence",resolve:fHe,construct:pHe})});var qW=_((Txt,jW)=>{"use strict";var hHe=ss(),gHe=Object.prototype.toString;function dHe(e){if(e===null)return!0;var t,r,o,a,n,u=e;for(n=new Array(u.length),t=0,r=u.length;t<r;t+=1){if(o=u[t],gHe.call(o)!=="[object Object]"||(a=Object.keys(o),a.length!==1))return!1;n[t]=[a[0],o[a[0]]]}return!0}function mHe(e){if(e===null)return[];var t,r,o,a,n,u=e;for(n=new Array(u.length),t=0,r=u.length;t<r;t+=1)o=u[t],a=Object.keys(o),n[t]=[a[0],o[a[0]]];return n}jW.exports=new hHe("tag:yaml.org,2002:pairs",{kind:"sequence",resolve:dHe,construct:mHe})});var YW=_((Nxt,GW)=>{"use strict";var yHe=ss(),EHe=Object.prototype.hasOwnProperty;function wHe(e){if(e===null)return!0;var t,r=e;for(t in r)if(EHe.call(r,t)&&r[t]!==null)return!1;return!0}function CHe(e){return e!==null?e:{}}GW.exports=new yHe("tag:yaml.org,2002:set",{kind:"mapping",resolve:wHe,construct:CHe})});var fy=_((Lxt,WW)=>{"use strict";var IHe=Kg();WW.exports=new IHe({include:[pT()],implicit:[TW(),LW()],explicit:[UW(),HW(),qW(),YW()]})});var JW=_((Oxt,KW)=>{"use strict";var BHe=ss();function vHe(){return!0}function DHe(){}function SHe(){return""}function PHe(e){return typeof e>"u"}KW.exports=new BHe("tag:yaml.org,2002:js/undefined",{kind:"scalar",resolve:vHe,construct:DHe,predicate:PHe,represent:SHe})});var zW=_((Mxt,VW)=>{"use strict";var xHe=ss();function bHe(e){if(e===null||e.length===0)return!1;var t=e,r=/\/([gim]*)$/.exec(e),o="";return!(t[0]==="/"&&(r&&(o=r[1]),o.length>3||t[t.length-o.length-1]!=="/"))}function QHe(e){var t=e,r=/\/([gim]*)$/.exec(e),o="";return t[0]==="/"&&(r&&(o=r[1]),t=t.slice(1,t.length-o.length-1)),new RegExp(t,o)}function kHe(e){var t="/"+e.source+"/";return e.global&&(t+="g"),e.multiline&&(t+="m"),e.ignoreCase&&(t+="i"),t}function FHe(e){return Object.prototype.toString.call(e)==="[object RegExp]"}VW.exports=new xHe("tag:yaml.org,2002:js/regexp",{kind:"scalar",resolve:bHe,construct:QHe,predicate:FHe,represent:kHe})});var $W=_((Uxt,ZW)=>{"use strict";var jD;try{XW=Ie,jD=XW("esprima")}catch{typeof window<"u"&&(jD=window.esprima)}var XW,RHe=ss();function THe(e){if(e===null)return!1;try{var t="("+e+")",r=jD.parse(t,{range:!0});return!(r.type!=="Program"||r.body.length!==1||r.body[0].type!=="ExpressionStatement"||r.body[0].expression.type!=="ArrowFunctionExpression"&&r.body[0].expression.type!=="FunctionExpression")}catch{return!1}}function NHe(e){var t="("+e+")",r=jD.parse(t,{range:!0}),o=[],a;if(r.type!=="Program"||r.body.length!==1||r.body[0].type!=="ExpressionStatement"||r.body[0].expression.type!=="ArrowFunctionExpression"&&r.body[0].expression.type!=="FunctionExpression")throw new Error("Failed to resolve function");return r.body[0].expression.params.forEach(function(n){o.push(n.name)}),a=r.body[0].expression.body.range,r.body[0].expression.body.type==="BlockStatement"?new Function(o,t.slice(a[0]+1,a[1]-1)):new Function(o,"return "+t.slice(a[0],a[1]))}function LHe(e){return e.toString()}function OHe(e){return Object.prototype.toString.call(e)==="[object Function]"}ZW.exports=new RHe("tag:yaml.org,2002:js/function",{kind:"scalar",resolve:THe,construct:NHe,predicate:OHe,represent:LHe})});var VC=_((Hxt,tK)=>{"use strict";var eK=Kg();tK.exports=eK.DEFAULT=new eK({include:[fy()],explicit:[JW(),zW(),$W()]})});var wK=_((jxt,zC)=>{"use strict";var yf=Wg(),lK=uy(),MHe=lW(),cK=fy(),UHe=VC(),qp=Object.prototype.hasOwnProperty,qD=1,uK=2,AK=3,GD=4,gT=1,_He=2,rK=3,HHe=/[\x00-\x08\x0B\x0C\x0E-\x1F\x7F-\x84\x86-\x9F\uFFFE\uFFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF]/,jHe=/[\x85\u2028\u2029]/,qHe=/[,\[\]\{\}]/,fK=/^(?:!|!!|![a-z\-]+!)$/i,pK=/^(?:!|[^,\[\]\{\}])(?:%[0-9a-f]{2}|[0-9a-z\-#;\/\?:@&=\+\$,_\.!~\*'\(\)\[\]])*$/i;function nK(e){return Object.prototype.toString.call(e)}function qu(e){return e===10||e===13}function zg(e){return e===9||e===32}function Ia(e){return e===9||e===32||e===10||e===13}function py(e){return e===44||e===91||e===93||e===123||e===125}function GHe(e){var t;return 48<=e&&e<=57?e-48:(t=e|32,97<=t&&t<=102?t-97+10:-1)}function YHe(e){return e===120?2:e===117?4:e===85?8:0}function WHe(e){return 48<=e&&e<=57?e-48:-1}function iK(e){return e===48?"\0":e===97?"\x07":e===98?"\b":e===116||e===9?" ":e===110?` -`:e===118?"\v":e===102?"\f":e===114?"\r":e===101?"\x1B":e===32?" ":e===34?'"':e===47?"/":e===92?"\\":e===78?"\x85":e===95?"\xA0":e===76?"\u2028":e===80?"\u2029":""}function KHe(e){return e<=65535?String.fromCharCode(e):String.fromCharCode((e-65536>>10)+55296,(e-65536&1023)+56320)}var hK=new Array(256),gK=new Array(256);for(Vg=0;Vg<256;Vg++)hK[Vg]=iK(Vg)?1:0,gK[Vg]=iK(Vg);var Vg;function JHe(e,t){this.input=e,this.filename=t.filename||null,this.schema=t.schema||UHe,this.onWarning=t.onWarning||null,this.legacy=t.legacy||!1,this.json=t.json||!1,this.listener=t.listener||null,this.implicitTypes=this.schema.compiledImplicit,this.typeMap=this.schema.compiledTypeMap,this.length=e.length,this.position=0,this.line=0,this.lineStart=0,this.lineIndent=0,this.documents=[]}function dK(e,t){return new lK(t,new MHe(e.filename,e.input,e.position,e.line,e.position-e.lineStart))}function Sr(e,t){throw dK(e,t)}function YD(e,t){e.onWarning&&e.onWarning.call(null,dK(e,t))}var sK={YAML:function(t,r,o){var a,n,u;t.version!==null&&Sr(t,"duplication of %YAML directive"),o.length!==1&&Sr(t,"YAML directive accepts exactly one argument"),a=/^([0-9]+)\.([0-9]+)$/.exec(o[0]),a===null&&Sr(t,"ill-formed argument of the YAML directive"),n=parseInt(a[1],10),u=parseInt(a[2],10),n!==1&&Sr(t,"unacceptable YAML version of the document"),t.version=o[0],t.checkLineBreaks=u<2,u!==1&&u!==2&&YD(t,"unsupported YAML version of the document")},TAG:function(t,r,o){var a,n;o.length!==2&&Sr(t,"TAG directive accepts exactly two arguments"),a=o[0],n=o[1],fK.test(a)||Sr(t,"ill-formed tag handle (first argument) of the TAG directive"),qp.call(t.tagMap,a)&&Sr(t,'there is a previously declared suffix for "'+a+'" tag handle'),pK.test(n)||Sr(t,"ill-formed tag prefix (second argument) of the TAG directive"),t.tagMap[a]=n}};function jp(e,t,r,o){var a,n,u,A;if(t<r){if(A=e.input.slice(t,r),o)for(a=0,n=A.length;a<n;a+=1)u=A.charCodeAt(a),u===9||32<=u&&u<=1114111||Sr(e,"expected valid JSON character");else HHe.test(A)&&Sr(e,"the stream contains non-printable characters");e.result+=A}}function oK(e,t,r,o){var a,n,u,A;for(yf.isObject(r)||Sr(e,"cannot merge mappings; the provided source object is unacceptable"),a=Object.keys(r),u=0,A=a.length;u<A;u+=1)n=a[u],qp.call(t,n)||(t[n]=r[n],o[n]=!0)}function hy(e,t,r,o,a,n,u,A){var p,h;if(Array.isArray(a))for(a=Array.prototype.slice.call(a),p=0,h=a.length;p<h;p+=1)Array.isArray(a[p])&&Sr(e,"nested arrays are not supported inside keys"),typeof a=="object"&&nK(a[p])==="[object Object]"&&(a[p]="[object Object]");if(typeof a=="object"&&nK(a)==="[object Object]"&&(a="[object Object]"),a=String(a),t===null&&(t={}),o==="tag:yaml.org,2002:merge")if(Array.isArray(n))for(p=0,h=n.length;p<h;p+=1)oK(e,t,n[p],r);else oK(e,t,n,r);else!e.json&&!qp.call(r,a)&&qp.call(t,a)&&(e.line=u||e.line,e.position=A||e.position,Sr(e,"duplicated mapping key")),t[a]=n,delete r[a];return t}function dT(e){var t;t=e.input.charCodeAt(e.position),t===10?e.position++:t===13?(e.position++,e.input.charCodeAt(e.position)===10&&e.position++):Sr(e,"a line break is expected"),e.line+=1,e.lineStart=e.position}function Ki(e,t,r){for(var o=0,a=e.input.charCodeAt(e.position);a!==0;){for(;zg(a);)a=e.input.charCodeAt(++e.position);if(t&&a===35)do a=e.input.charCodeAt(++e.position);while(a!==10&&a!==13&&a!==0);if(qu(a))for(dT(e),a=e.input.charCodeAt(e.position),o++,e.lineIndent=0;a===32;)e.lineIndent++,a=e.input.charCodeAt(++e.position);else break}return r!==-1&&o!==0&&e.lineIndent<r&&YD(e,"deficient indentation"),o}function WD(e){var t=e.position,r;return r=e.input.charCodeAt(t),!!((r===45||r===46)&&r===e.input.charCodeAt(t+1)&&r===e.input.charCodeAt(t+2)&&(t+=3,r=e.input.charCodeAt(t),r===0||Ia(r)))}function mT(e,t){t===1?e.result+=" ":t>1&&(e.result+=yf.repeat(` -`,t-1))}function VHe(e,t,r){var o,a,n,u,A,p,h,w,I=e.kind,v=e.result,b;if(b=e.input.charCodeAt(e.position),Ia(b)||py(b)||b===35||b===38||b===42||b===33||b===124||b===62||b===39||b===34||b===37||b===64||b===96||(b===63||b===45)&&(a=e.input.charCodeAt(e.position+1),Ia(a)||r&&py(a)))return!1;for(e.kind="scalar",e.result="",n=u=e.position,A=!1;b!==0;){if(b===58){if(a=e.input.charCodeAt(e.position+1),Ia(a)||r&&py(a))break}else if(b===35){if(o=e.input.charCodeAt(e.position-1),Ia(o))break}else{if(e.position===e.lineStart&&WD(e)||r&&py(b))break;if(qu(b))if(p=e.line,h=e.lineStart,w=e.lineIndent,Ki(e,!1,-1),e.lineIndent>=t){A=!0,b=e.input.charCodeAt(e.position);continue}else{e.position=u,e.line=p,e.lineStart=h,e.lineIndent=w;break}}A&&(jp(e,n,u,!1),mT(e,e.line-p),n=u=e.position,A=!1),zg(b)||(u=e.position+1),b=e.input.charCodeAt(++e.position)}return jp(e,n,u,!1),e.result?!0:(e.kind=I,e.result=v,!1)}function zHe(e,t){var r,o,a;if(r=e.input.charCodeAt(e.position),r!==39)return!1;for(e.kind="scalar",e.result="",e.position++,o=a=e.position;(r=e.input.charCodeAt(e.position))!==0;)if(r===39)if(jp(e,o,e.position,!0),r=e.input.charCodeAt(++e.position),r===39)o=e.position,e.position++,a=e.position;else return!0;else qu(r)?(jp(e,o,a,!0),mT(e,Ki(e,!1,t)),o=a=e.position):e.position===e.lineStart&&WD(e)?Sr(e,"unexpected end of the document within a single quoted scalar"):(e.position++,a=e.position);Sr(e,"unexpected end of the stream within a single quoted scalar")}function XHe(e,t){var r,o,a,n,u,A;if(A=e.input.charCodeAt(e.position),A!==34)return!1;for(e.kind="scalar",e.result="",e.position++,r=o=e.position;(A=e.input.charCodeAt(e.position))!==0;){if(A===34)return jp(e,r,e.position,!0),e.position++,!0;if(A===92){if(jp(e,r,e.position,!0),A=e.input.charCodeAt(++e.position),qu(A))Ki(e,!1,t);else if(A<256&&hK[A])e.result+=gK[A],e.position++;else if((u=YHe(A))>0){for(a=u,n=0;a>0;a--)A=e.input.charCodeAt(++e.position),(u=GHe(A))>=0?n=(n<<4)+u:Sr(e,"expected hexadecimal character");e.result+=KHe(n),e.position++}else Sr(e,"unknown escape sequence");r=o=e.position}else qu(A)?(jp(e,r,o,!0),mT(e,Ki(e,!1,t)),r=o=e.position):e.position===e.lineStart&&WD(e)?Sr(e,"unexpected end of the document within a double quoted scalar"):(e.position++,o=e.position)}Sr(e,"unexpected end of the stream within a double quoted scalar")}function ZHe(e,t){var r=!0,o,a=e.tag,n,u=e.anchor,A,p,h,w,I,v={},b,E,R,N;if(N=e.input.charCodeAt(e.position),N===91)p=93,I=!1,n=[];else if(N===123)p=125,I=!0,n={};else return!1;for(e.anchor!==null&&(e.anchorMap[e.anchor]=n),N=e.input.charCodeAt(++e.position);N!==0;){if(Ki(e,!0,t),N=e.input.charCodeAt(e.position),N===p)return e.position++,e.tag=a,e.anchor=u,e.kind=I?"mapping":"sequence",e.result=n,!0;r||Sr(e,"missed comma between flow collection entries"),E=b=R=null,h=w=!1,N===63&&(A=e.input.charCodeAt(e.position+1),Ia(A)&&(h=w=!0,e.position++,Ki(e,!0,t))),o=e.line,gy(e,t,qD,!1,!0),E=e.tag,b=e.result,Ki(e,!0,t),N=e.input.charCodeAt(e.position),(w||e.line===o)&&N===58&&(h=!0,N=e.input.charCodeAt(++e.position),Ki(e,!0,t),gy(e,t,qD,!1,!0),R=e.result),I?hy(e,n,v,E,b,R):h?n.push(hy(e,null,v,E,b,R)):n.push(b),Ki(e,!0,t),N=e.input.charCodeAt(e.position),N===44?(r=!0,N=e.input.charCodeAt(++e.position)):r=!1}Sr(e,"unexpected end of the stream within a flow collection")}function $He(e,t){var r,o,a=gT,n=!1,u=!1,A=t,p=0,h=!1,w,I;if(I=e.input.charCodeAt(e.position),I===124)o=!1;else if(I===62)o=!0;else return!1;for(e.kind="scalar",e.result="";I!==0;)if(I=e.input.charCodeAt(++e.position),I===43||I===45)gT===a?a=I===43?rK:_He:Sr(e,"repeat of a chomping mode identifier");else if((w=WHe(I))>=0)w===0?Sr(e,"bad explicit indentation width of a block scalar; it cannot be less than one"):u?Sr(e,"repeat of an indentation width identifier"):(A=t+w-1,u=!0);else break;if(zg(I)){do I=e.input.charCodeAt(++e.position);while(zg(I));if(I===35)do I=e.input.charCodeAt(++e.position);while(!qu(I)&&I!==0)}for(;I!==0;){for(dT(e),e.lineIndent=0,I=e.input.charCodeAt(e.position);(!u||e.lineIndent<A)&&I===32;)e.lineIndent++,I=e.input.charCodeAt(++e.position);if(!u&&e.lineIndent>A&&(A=e.lineIndent),qu(I)){p++;continue}if(e.lineIndent<A){a===rK?e.result+=yf.repeat(` -`,n?1+p:p):a===gT&&n&&(e.result+=` -`);break}for(o?zg(I)?(h=!0,e.result+=yf.repeat(` -`,n?1+p:p)):h?(h=!1,e.result+=yf.repeat(` -`,p+1)):p===0?n&&(e.result+=" "):e.result+=yf.repeat(` -`,p):e.result+=yf.repeat(` -`,n?1+p:p),n=!0,u=!0,p=0,r=e.position;!qu(I)&&I!==0;)I=e.input.charCodeAt(++e.position);jp(e,r,e.position,!1)}return!0}function aK(e,t){var r,o=e.tag,a=e.anchor,n=[],u,A=!1,p;for(e.anchor!==null&&(e.anchorMap[e.anchor]=n),p=e.input.charCodeAt(e.position);p!==0&&!(p!==45||(u=e.input.charCodeAt(e.position+1),!Ia(u)));){if(A=!0,e.position++,Ki(e,!0,-1)&&e.lineIndent<=t){n.push(null),p=e.input.charCodeAt(e.position);continue}if(r=e.line,gy(e,t,AK,!1,!0),n.push(e.result),Ki(e,!0,-1),p=e.input.charCodeAt(e.position),(e.line===r||e.lineIndent>t)&&p!==0)Sr(e,"bad indentation of a sequence entry");else if(e.lineIndent<t)break}return A?(e.tag=o,e.anchor=a,e.kind="sequence",e.result=n,!0):!1}function e6e(e,t,r){var o,a,n,u,A=e.tag,p=e.anchor,h={},w={},I=null,v=null,b=null,E=!1,R=!1,N;for(e.anchor!==null&&(e.anchorMap[e.anchor]=h),N=e.input.charCodeAt(e.position);N!==0;){if(o=e.input.charCodeAt(e.position+1),n=e.line,u=e.position,(N===63||N===58)&&Ia(o))N===63?(E&&(hy(e,h,w,I,v,null),I=v=b=null),R=!0,E=!0,a=!0):E?(E=!1,a=!0):Sr(e,"incomplete explicit mapping pair; a key node is missed; or followed by a non-tabulated empty line"),e.position+=1,N=o;else if(gy(e,r,uK,!1,!0))if(e.line===n){for(N=e.input.charCodeAt(e.position);zg(N);)N=e.input.charCodeAt(++e.position);if(N===58)N=e.input.charCodeAt(++e.position),Ia(N)||Sr(e,"a whitespace character is expected after the key-value separator within a block mapping"),E&&(hy(e,h,w,I,v,null),I=v=b=null),R=!0,E=!1,a=!1,I=e.tag,v=e.result;else if(R)Sr(e,"can not read an implicit mapping pair; a colon is missed");else return e.tag=A,e.anchor=p,!0}else if(R)Sr(e,"can not read a block mapping entry; a multiline key may not be an implicit key");else return e.tag=A,e.anchor=p,!0;else break;if((e.line===n||e.lineIndent>t)&&(gy(e,t,GD,!0,a)&&(E?v=e.result:b=e.result),E||(hy(e,h,w,I,v,b,n,u),I=v=b=null),Ki(e,!0,-1),N=e.input.charCodeAt(e.position)),e.lineIndent>t&&N!==0)Sr(e,"bad indentation of a mapping entry");else if(e.lineIndent<t)break}return E&&hy(e,h,w,I,v,null),R&&(e.tag=A,e.anchor=p,e.kind="mapping",e.result=h),R}function t6e(e){var t,r=!1,o=!1,a,n,u;if(u=e.input.charCodeAt(e.position),u!==33)return!1;if(e.tag!==null&&Sr(e,"duplication of a tag property"),u=e.input.charCodeAt(++e.position),u===60?(r=!0,u=e.input.charCodeAt(++e.position)):u===33?(o=!0,a="!!",u=e.input.charCodeAt(++e.position)):a="!",t=e.position,r){do u=e.input.charCodeAt(++e.position);while(u!==0&&u!==62);e.position<e.length?(n=e.input.slice(t,e.position),u=e.input.charCodeAt(++e.position)):Sr(e,"unexpected end of the stream within a verbatim tag")}else{for(;u!==0&&!Ia(u);)u===33&&(o?Sr(e,"tag suffix cannot contain exclamation marks"):(a=e.input.slice(t-1,e.position+1),fK.test(a)||Sr(e,"named tag handle cannot contain such characters"),o=!0,t=e.position+1)),u=e.input.charCodeAt(++e.position);n=e.input.slice(t,e.position),qHe.test(n)&&Sr(e,"tag suffix cannot contain flow indicator characters")}return n&&!pK.test(n)&&Sr(e,"tag name cannot contain such characters: "+n),r?e.tag=n:qp.call(e.tagMap,a)?e.tag=e.tagMap[a]+n:a==="!"?e.tag="!"+n:a==="!!"?e.tag="tag:yaml.org,2002:"+n:Sr(e,'undeclared tag handle "'+a+'"'),!0}function r6e(e){var t,r;if(r=e.input.charCodeAt(e.position),r!==38)return!1;for(e.anchor!==null&&Sr(e,"duplication of an anchor property"),r=e.input.charCodeAt(++e.position),t=e.position;r!==0&&!Ia(r)&&!py(r);)r=e.input.charCodeAt(++e.position);return e.position===t&&Sr(e,"name of an anchor node must contain at least one character"),e.anchor=e.input.slice(t,e.position),!0}function n6e(e){var t,r,o;if(o=e.input.charCodeAt(e.position),o!==42)return!1;for(o=e.input.charCodeAt(++e.position),t=e.position;o!==0&&!Ia(o)&&!py(o);)o=e.input.charCodeAt(++e.position);return e.position===t&&Sr(e,"name of an alias node must contain at least one character"),r=e.input.slice(t,e.position),qp.call(e.anchorMap,r)||Sr(e,'unidentified alias "'+r+'"'),e.result=e.anchorMap[r],Ki(e,!0,-1),!0}function gy(e,t,r,o,a){var n,u,A,p=1,h=!1,w=!1,I,v,b,E,R;if(e.listener!==null&&e.listener("open",e),e.tag=null,e.anchor=null,e.kind=null,e.result=null,n=u=A=GD===r||AK===r,o&&Ki(e,!0,-1)&&(h=!0,e.lineIndent>t?p=1:e.lineIndent===t?p=0:e.lineIndent<t&&(p=-1)),p===1)for(;t6e(e)||r6e(e);)Ki(e,!0,-1)?(h=!0,A=n,e.lineIndent>t?p=1:e.lineIndent===t?p=0:e.lineIndent<t&&(p=-1)):A=!1;if(A&&(A=h||a),(p===1||GD===r)&&(qD===r||uK===r?E=t:E=t+1,R=e.position-e.lineStart,p===1?A&&(aK(e,R)||e6e(e,R,E))||ZHe(e,E)?w=!0:(u&&$He(e,E)||zHe(e,E)||XHe(e,E)?w=!0:n6e(e)?(w=!0,(e.tag!==null||e.anchor!==null)&&Sr(e,"alias node should not have any properties")):VHe(e,E,qD===r)&&(w=!0,e.tag===null&&(e.tag="?")),e.anchor!==null&&(e.anchorMap[e.anchor]=e.result)):p===0&&(w=A&&aK(e,R))),e.tag!==null&&e.tag!=="!")if(e.tag==="?"){for(e.result!==null&&e.kind!=="scalar"&&Sr(e,'unacceptable node kind for !<?> tag; it should be "scalar", not "'+e.kind+'"'),I=0,v=e.implicitTypes.length;I<v;I+=1)if(b=e.implicitTypes[I],b.resolve(e.result)){e.result=b.construct(e.result),e.tag=b.tag,e.anchor!==null&&(e.anchorMap[e.anchor]=e.result);break}}else qp.call(e.typeMap[e.kind||"fallback"],e.tag)?(b=e.typeMap[e.kind||"fallback"][e.tag],e.result!==null&&b.kind!==e.kind&&Sr(e,"unacceptable node kind for !<"+e.tag+'> tag; it should be "'+b.kind+'", not "'+e.kind+'"'),b.resolve(e.result)?(e.result=b.construct(e.result),e.anchor!==null&&(e.anchorMap[e.anchor]=e.result)):Sr(e,"cannot resolve a node with !<"+e.tag+"> explicit tag")):Sr(e,"unknown tag !<"+e.tag+">");return e.listener!==null&&e.listener("close",e),e.tag!==null||e.anchor!==null||w}function i6e(e){var t=e.position,r,o,a,n=!1,u;for(e.version=null,e.checkLineBreaks=e.legacy,e.tagMap={},e.anchorMap={};(u=e.input.charCodeAt(e.position))!==0&&(Ki(e,!0,-1),u=e.input.charCodeAt(e.position),!(e.lineIndent>0||u!==37));){for(n=!0,u=e.input.charCodeAt(++e.position),r=e.position;u!==0&&!Ia(u);)u=e.input.charCodeAt(++e.position);for(o=e.input.slice(r,e.position),a=[],o.length<1&&Sr(e,"directive name must not be less than one character in length");u!==0;){for(;zg(u);)u=e.input.charCodeAt(++e.position);if(u===35){do u=e.input.charCodeAt(++e.position);while(u!==0&&!qu(u));break}if(qu(u))break;for(r=e.position;u!==0&&!Ia(u);)u=e.input.charCodeAt(++e.position);a.push(e.input.slice(r,e.position))}u!==0&&dT(e),qp.call(sK,o)?sK[o](e,o,a):YD(e,'unknown document directive "'+o+'"')}if(Ki(e,!0,-1),e.lineIndent===0&&e.input.charCodeAt(e.position)===45&&e.input.charCodeAt(e.position+1)===45&&e.input.charCodeAt(e.position+2)===45?(e.position+=3,Ki(e,!0,-1)):n&&Sr(e,"directives end mark is expected"),gy(e,e.lineIndent-1,GD,!1,!0),Ki(e,!0,-1),e.checkLineBreaks&&jHe.test(e.input.slice(t,e.position))&&YD(e,"non-ASCII line breaks are interpreted as content"),e.documents.push(e.result),e.position===e.lineStart&&WD(e)){e.input.charCodeAt(e.position)===46&&(e.position+=3,Ki(e,!0,-1));return}if(e.position<e.length-1)Sr(e,"end of the stream or a document separator is expected");else return}function mK(e,t){e=String(e),t=t||{},e.length!==0&&(e.charCodeAt(e.length-1)!==10&&e.charCodeAt(e.length-1)!==13&&(e+=` -`),e.charCodeAt(0)===65279&&(e=e.slice(1)));var r=new JHe(e,t),o=e.indexOf("\0");for(o!==-1&&(r.position=o,Sr(r,"null byte is not allowed in input")),r.input+="\0";r.input.charCodeAt(r.position)===32;)r.lineIndent+=1,r.position+=1;for(;r.position<r.length-1;)i6e(r);return r.documents}function yK(e,t,r){t!==null&&typeof t=="object"&&typeof r>"u"&&(r=t,t=null);var o=mK(e,r);if(typeof t!="function")return o;for(var a=0,n=o.length;a<n;a+=1)t(o[a])}function EK(e,t){var r=mK(e,t);if(r.length!==0){if(r.length===1)return r[0];throw new lK("expected a single document in the stream, but found more")}}function s6e(e,t,r){return typeof t=="object"&&t!==null&&typeof r>"u"&&(r=t,t=null),yK(e,t,yf.extend({schema:cK},r))}function o6e(e,t){return EK(e,yf.extend({schema:cK},t))}zC.exports.loadAll=yK;zC.exports.load=EK;zC.exports.safeLoadAll=s6e;zC.exports.safeLoad=o6e});var qK=_((qxt,CT)=>{"use strict";var ZC=Wg(),$C=uy(),a6e=VC(),l6e=fy(),xK=Object.prototype.toString,bK=Object.prototype.hasOwnProperty,c6e=9,XC=10,u6e=13,A6e=32,f6e=33,p6e=34,QK=35,h6e=37,g6e=38,d6e=39,m6e=42,kK=44,y6e=45,FK=58,E6e=61,w6e=62,C6e=63,I6e=64,RK=91,TK=93,B6e=96,NK=123,v6e=124,LK=125,vo={};vo[0]="\\0";vo[7]="\\a";vo[8]="\\b";vo[9]="\\t";vo[10]="\\n";vo[11]="\\v";vo[12]="\\f";vo[13]="\\r";vo[27]="\\e";vo[34]='\\"';vo[92]="\\\\";vo[133]="\\N";vo[160]="\\_";vo[8232]="\\L";vo[8233]="\\P";var D6e=["y","Y","yes","Yes","YES","on","On","ON","n","N","no","No","NO","off","Off","OFF"];function S6e(e,t){var r,o,a,n,u,A,p;if(t===null)return{};for(r={},o=Object.keys(t),a=0,n=o.length;a<n;a+=1)u=o[a],A=String(t[u]),u.slice(0,2)==="!!"&&(u="tag:yaml.org,2002:"+u.slice(2)),p=e.compiledTypeMap.fallback[u],p&&bK.call(p.styleAliases,A)&&(A=p.styleAliases[A]),r[u]=A;return r}function CK(e){var t,r,o;if(t=e.toString(16).toUpperCase(),e<=255)r="x",o=2;else if(e<=65535)r="u",o=4;else if(e<=4294967295)r="U",o=8;else throw new $C("code point within a string may not be greater than 0xFFFFFFFF");return"\\"+r+ZC.repeat("0",o-t.length)+t}function P6e(e){this.schema=e.schema||a6e,this.indent=Math.max(1,e.indent||2),this.noArrayIndent=e.noArrayIndent||!1,this.skipInvalid=e.skipInvalid||!1,this.flowLevel=ZC.isNothing(e.flowLevel)?-1:e.flowLevel,this.styleMap=S6e(this.schema,e.styles||null),this.sortKeys=e.sortKeys||!1,this.lineWidth=e.lineWidth||80,this.noRefs=e.noRefs||!1,this.noCompatMode=e.noCompatMode||!1,this.condenseFlow=e.condenseFlow||!1,this.implicitTypes=this.schema.compiledImplicit,this.explicitTypes=this.schema.compiledExplicit,this.tag=null,this.result="",this.duplicates=[],this.usedDuplicates=null}function IK(e,t){for(var r=ZC.repeat(" ",t),o=0,a=-1,n="",u,A=e.length;o<A;)a=e.indexOf(` -`,o),a===-1?(u=e.slice(o),o=A):(u=e.slice(o,a+1),o=a+1),u.length&&u!==` -`&&(n+=r),n+=u;return n}function yT(e,t){return` -`+ZC.repeat(" ",e.indent*t)}function x6e(e,t){var r,o,a;for(r=0,o=e.implicitTypes.length;r<o;r+=1)if(a=e.implicitTypes[r],a.resolve(t))return!0;return!1}function wT(e){return e===A6e||e===c6e}function dy(e){return 32<=e&&e<=126||161<=e&&e<=55295&&e!==8232&&e!==8233||57344<=e&&e<=65533&&e!==65279||65536<=e&&e<=1114111}function b6e(e){return dy(e)&&!wT(e)&&e!==65279&&e!==u6e&&e!==XC}function BK(e,t){return dy(e)&&e!==65279&&e!==kK&&e!==RK&&e!==TK&&e!==NK&&e!==LK&&e!==FK&&(e!==QK||t&&b6e(t))}function Q6e(e){return dy(e)&&e!==65279&&!wT(e)&&e!==y6e&&e!==C6e&&e!==FK&&e!==kK&&e!==RK&&e!==TK&&e!==NK&&e!==LK&&e!==QK&&e!==g6e&&e!==m6e&&e!==f6e&&e!==v6e&&e!==E6e&&e!==w6e&&e!==d6e&&e!==p6e&&e!==h6e&&e!==I6e&&e!==B6e}function OK(e){var t=/^\n* /;return t.test(e)}var MK=1,UK=2,_K=3,HK=4,KD=5;function k6e(e,t,r,o,a){var n,u,A,p=!1,h=!1,w=o!==-1,I=-1,v=Q6e(e.charCodeAt(0))&&!wT(e.charCodeAt(e.length-1));if(t)for(n=0;n<e.length;n++){if(u=e.charCodeAt(n),!dy(u))return KD;A=n>0?e.charCodeAt(n-1):null,v=v&&BK(u,A)}else{for(n=0;n<e.length;n++){if(u=e.charCodeAt(n),u===XC)p=!0,w&&(h=h||n-I-1>o&&e[I+1]!==" ",I=n);else if(!dy(u))return KD;A=n>0?e.charCodeAt(n-1):null,v=v&&BK(u,A)}h=h||w&&n-I-1>o&&e[I+1]!==" "}return!p&&!h?v&&!a(e)?MK:UK:r>9&&OK(e)?KD:h?HK:_K}function F6e(e,t,r,o){e.dump=function(){if(t.length===0)return"''";if(!e.noCompatMode&&D6e.indexOf(t)!==-1)return"'"+t+"'";var a=e.indent*Math.max(1,r),n=e.lineWidth===-1?-1:Math.max(Math.min(e.lineWidth,40),e.lineWidth-a),u=o||e.flowLevel>-1&&r>=e.flowLevel;function A(p){return x6e(e,p)}switch(k6e(t,u,e.indent,n,A)){case MK:return t;case UK:return"'"+t.replace(/'/g,"''")+"'";case _K:return"|"+vK(t,e.indent)+DK(IK(t,a));case HK:return">"+vK(t,e.indent)+DK(IK(R6e(t,n),a));case KD:return'"'+T6e(t,n)+'"';default:throw new $C("impossible error: invalid scalar style")}}()}function vK(e,t){var r=OK(e)?String(t):"",o=e[e.length-1]===` -`,a=o&&(e[e.length-2]===` -`||e===` -`),n=a?"+":o?"":"-";return r+n+` -`}function DK(e){return e[e.length-1]===` -`?e.slice(0,-1):e}function R6e(e,t){for(var r=/(\n+)([^\n]*)/g,o=function(){var h=e.indexOf(` -`);return h=h!==-1?h:e.length,r.lastIndex=h,SK(e.slice(0,h),t)}(),a=e[0]===` -`||e[0]===" ",n,u;u=r.exec(e);){var A=u[1],p=u[2];n=p[0]===" ",o+=A+(!a&&!n&&p!==""?` -`:"")+SK(p,t),a=n}return o}function SK(e,t){if(e===""||e[0]===" ")return e;for(var r=/ [^ ]/g,o,a=0,n,u=0,A=0,p="";o=r.exec(e);)A=o.index,A-a>t&&(n=u>a?u:A,p+=` -`+e.slice(a,n),a=n+1),u=A;return p+=` -`,e.length-a>t&&u>a?p+=e.slice(a,u)+` -`+e.slice(u+1):p+=e.slice(a),p.slice(1)}function T6e(e){for(var t="",r,o,a,n=0;n<e.length;n++){if(r=e.charCodeAt(n),r>=55296&&r<=56319&&(o=e.charCodeAt(n+1),o>=56320&&o<=57343)){t+=CK((r-55296)*1024+o-56320+65536),n++;continue}a=vo[r],t+=!a&&dy(r)?e[n]:a||CK(r)}return t}function N6e(e,t,r){var o="",a=e.tag,n,u;for(n=0,u=r.length;n<u;n+=1)Xg(e,t,r[n],!1,!1)&&(n!==0&&(o+=","+(e.condenseFlow?"":" ")),o+=e.dump);e.tag=a,e.dump="["+o+"]"}function L6e(e,t,r,o){var a="",n=e.tag,u,A;for(u=0,A=r.length;u<A;u+=1)Xg(e,t+1,r[u],!0,!0)&&((!o||u!==0)&&(a+=yT(e,t)),e.dump&&XC===e.dump.charCodeAt(0)?a+="-":a+="- ",a+=e.dump);e.tag=n,e.dump=a||"[]"}function O6e(e,t,r){var o="",a=e.tag,n=Object.keys(r),u,A,p,h,w;for(u=0,A=n.length;u<A;u+=1)w="",u!==0&&(w+=", "),e.condenseFlow&&(w+='"'),p=n[u],h=r[p],Xg(e,t,p,!1,!1)&&(e.dump.length>1024&&(w+="? "),w+=e.dump+(e.condenseFlow?'"':"")+":"+(e.condenseFlow?"":" "),Xg(e,t,h,!1,!1)&&(w+=e.dump,o+=w));e.tag=a,e.dump="{"+o+"}"}function M6e(e,t,r,o){var a="",n=e.tag,u=Object.keys(r),A,p,h,w,I,v;if(e.sortKeys===!0)u.sort();else if(typeof e.sortKeys=="function")u.sort(e.sortKeys);else if(e.sortKeys)throw new $C("sortKeys must be a boolean or a function");for(A=0,p=u.length;A<p;A+=1)v="",(!o||A!==0)&&(v+=yT(e,t)),h=u[A],w=r[h],Xg(e,t+1,h,!0,!0,!0)&&(I=e.tag!==null&&e.tag!=="?"||e.dump&&e.dump.length>1024,I&&(e.dump&&XC===e.dump.charCodeAt(0)?v+="?":v+="? "),v+=e.dump,I&&(v+=yT(e,t)),Xg(e,t+1,w,!0,I)&&(e.dump&&XC===e.dump.charCodeAt(0)?v+=":":v+=": ",v+=e.dump,a+=v));e.tag=n,e.dump=a||"{}"}function PK(e,t,r){var o,a,n,u,A,p;for(a=r?e.explicitTypes:e.implicitTypes,n=0,u=a.length;n<u;n+=1)if(A=a[n],(A.instanceOf||A.predicate)&&(!A.instanceOf||typeof t=="object"&&t instanceof A.instanceOf)&&(!A.predicate||A.predicate(t))){if(e.tag=r?A.tag:"?",A.represent){if(p=e.styleMap[A.tag]||A.defaultStyle,xK.call(A.represent)==="[object Function]")o=A.represent(t,p);else if(bK.call(A.represent,p))o=A.represent[p](t,p);else throw new $C("!<"+A.tag+'> tag resolver accepts not "'+p+'" style');e.dump=o}return!0}return!1}function Xg(e,t,r,o,a,n){e.tag=null,e.dump=r,PK(e,r,!1)||PK(e,r,!0);var u=xK.call(e.dump);o&&(o=e.flowLevel<0||e.flowLevel>t);var A=u==="[object Object]"||u==="[object Array]",p,h;if(A&&(p=e.duplicates.indexOf(r),h=p!==-1),(e.tag!==null&&e.tag!=="?"||h||e.indent!==2&&t>0)&&(a=!1),h&&e.usedDuplicates[p])e.dump="*ref_"+p;else{if(A&&h&&!e.usedDuplicates[p]&&(e.usedDuplicates[p]=!0),u==="[object Object]")o&&Object.keys(e.dump).length!==0?(M6e(e,t,e.dump,a),h&&(e.dump="&ref_"+p+e.dump)):(O6e(e,t,e.dump),h&&(e.dump="&ref_"+p+" "+e.dump));else if(u==="[object Array]"){var w=e.noArrayIndent&&t>0?t-1:t;o&&e.dump.length!==0?(L6e(e,w,e.dump,a),h&&(e.dump="&ref_"+p+e.dump)):(N6e(e,w,e.dump),h&&(e.dump="&ref_"+p+" "+e.dump))}else if(u==="[object String]")e.tag!=="?"&&F6e(e,e.dump,t,n);else{if(e.skipInvalid)return!1;throw new $C("unacceptable kind of an object to dump "+u)}e.tag!==null&&e.tag!=="?"&&(e.dump="!<"+e.tag+"> "+e.dump)}return!0}function U6e(e,t){var r=[],o=[],a,n;for(ET(e,r,o),a=0,n=o.length;a<n;a+=1)t.duplicates.push(r[o[a]]);t.usedDuplicates=new Array(n)}function ET(e,t,r){var o,a,n;if(e!==null&&typeof e=="object")if(a=t.indexOf(e),a!==-1)r.indexOf(a)===-1&&r.push(a);else if(t.push(e),Array.isArray(e))for(a=0,n=e.length;a<n;a+=1)ET(e[a],t,r);else for(o=Object.keys(e),a=0,n=o.length;a<n;a+=1)ET(e[o[a]],t,r)}function jK(e,t){t=t||{};var r=new P6e(t);return r.noRefs||U6e(e,r),Xg(r,0,e,!0,!0)?r.dump+` -`:""}function _6e(e,t){return jK(e,ZC.extend({schema:l6e},t))}CT.exports.dump=jK;CT.exports.safeDump=_6e});var YK=_((Gxt,Qi)=>{"use strict";var JD=wK(),GK=qK();function VD(e){return function(){throw new Error("Function "+e+" is deprecated and cannot be used.")}}Qi.exports.Type=ss();Qi.exports.Schema=Kg();Qi.exports.FAILSAFE_SCHEMA=HD();Qi.exports.JSON_SCHEMA=fT();Qi.exports.CORE_SCHEMA=pT();Qi.exports.DEFAULT_SAFE_SCHEMA=fy();Qi.exports.DEFAULT_FULL_SCHEMA=VC();Qi.exports.load=JD.load;Qi.exports.loadAll=JD.loadAll;Qi.exports.safeLoad=JD.safeLoad;Qi.exports.safeLoadAll=JD.safeLoadAll;Qi.exports.dump=GK.dump;Qi.exports.safeDump=GK.safeDump;Qi.exports.YAMLException=uy();Qi.exports.MINIMAL_SCHEMA=HD();Qi.exports.SAFE_SCHEMA=fy();Qi.exports.DEFAULT_SCHEMA=VC();Qi.exports.scan=VD("scan");Qi.exports.parse=VD("parse");Qi.exports.compose=VD("compose");Qi.exports.addConstructor=VD("addConstructor")});var KK=_((Yxt,WK)=>{"use strict";var H6e=YK();WK.exports=H6e});var VK=_((Wxt,JK)=>{"use strict";function j6e(e,t){function r(){this.constructor=e}r.prototype=t.prototype,e.prototype=new r}function Zg(e,t,r,o){this.message=e,this.expected=t,this.found=r,this.location=o,this.name="SyntaxError",typeof Error.captureStackTrace=="function"&&Error.captureStackTrace(this,Zg)}j6e(Zg,Error);Zg.buildMessage=function(e,t){var r={literal:function(h){return'"'+a(h.text)+'"'},class:function(h){var w="",I;for(I=0;I<h.parts.length;I++)w+=h.parts[I]instanceof Array?n(h.parts[I][0])+"-"+n(h.parts[I][1]):n(h.parts[I]);return"["+(h.inverted?"^":"")+w+"]"},any:function(h){return"any character"},end:function(h){return"end of input"},other:function(h){return h.description}};function o(h){return h.charCodeAt(0).toString(16).toUpperCase()}function a(h){return h.replace(/\\/g,"\\\\").replace(/"/g,'\\"').replace(/\0/g,"\\0").replace(/\t/g,"\\t").replace(/\n/g,"\\n").replace(/\r/g,"\\r").replace(/[\x00-\x0F]/g,function(w){return"\\x0"+o(w)}).replace(/[\x10-\x1F\x7F-\x9F]/g,function(w){return"\\x"+o(w)})}function n(h){return h.replace(/\\/g,"\\\\").replace(/\]/g,"\\]").replace(/\^/g,"\\^").replace(/-/g,"\\-").replace(/\0/g,"\\0").replace(/\t/g,"\\t").replace(/\n/g,"\\n").replace(/\r/g,"\\r").replace(/[\x00-\x0F]/g,function(w){return"\\x0"+o(w)}).replace(/[\x10-\x1F\x7F-\x9F]/g,function(w){return"\\x"+o(w)})}function u(h){return r[h.type](h)}function A(h){var w=new Array(h.length),I,v;for(I=0;I<h.length;I++)w[I]=u(h[I]);if(w.sort(),w.length>0){for(I=1,v=1;I<w.length;I++)w[I-1]!==w[I]&&(w[v]=w[I],v++);w.length=v}switch(w.length){case 1:return w[0];case 2:return w[0]+" or "+w[1];default:return w.slice(0,-1).join(", ")+", or "+w[w.length-1]}}function p(h){return h?'"'+a(h)+'"':"end of input"}return"Expected "+A(e)+" but "+p(t)+" found."};function q6e(e,t){t=t!==void 0?t:{};var r={},o={Start:gu},a=gu,n=function($){return[].concat(...$)},u="-",A=Qn("-",!1),p=function($){return $},h=function($){return Object.assign({},...$)},w="#",I=Qn("#",!1),v=hc(),b=function(){return{}},E=":",R=Qn(":",!1),N=function($,me){return{[$]:me}},U=",",V=Qn(",",!1),ee=function($,me){return me},le=function($,me,Oe){return Object.assign({},...[$].concat(me).map(ft=>({[ft]:Oe})))},fe=function($){return $},de=function($){return $},ge=oa("correct indentation"),oe=" ",Be=Qn(" ",!1),be=function($){return $.length===rr*It},g=function($){return $.length===(rr+1)*It},we=function(){return rr++,!0},Se=function(){return rr--,!0},ce=function(){return SA()},ne=oa("pseudostring"),te=/^[^\r\n\t ?:,\][{}#&*!|>'"%@`\-]/,Ee=pi(["\r",` -`," "," ","?",":",",","]","[","{","}","#","&","*","!","|",">","'",'"',"%","@","`","-"],!0,!1),Re=/^[^\r\n\t ,\][{}:#"']/,dt=pi(["\r",` -`," "," ",",","]","[","{","}",":","#",'"',"'"],!0,!1),H=function(){return SA().replace(/^ *| *$/g,"")},at="--",Te=Qn("--",!1),Qe=/^[a-zA-Z\/0-9]/,ke=pi([["a","z"],["A","Z"],"/",["0","9"]],!1,!1),He=/^[^\r\n\t :,]/,Ne=pi(["\r",` -`," "," ",":",","],!0,!1),Ve="null",je=Qn("null",!1),x=function(){return null},C="true",P=Qn("true",!1),y=function(){return!0},F="false",z=Qn("false",!1),X=function(){return!1},Z=oa("string"),ie='"',Pe=Qn('"',!1),Le=function(){return""},ot=function($){return $},gt=function($){return $.join("")},jt=/^[^"\\\0-\x1F\x7F]/,$t=pi(['"',"\\",["\0",""],"\x7F"],!0,!1),xt='\\"',on=Qn('\\"',!1),br=function(){return'"'},dr="\\\\",Pr=Qn("\\\\",!1),Yr=function(){return"\\"},Wn="\\/",Os=Qn("\\/",!1),Ti=function(){return"/"},hs="\\b",io=Qn("\\b",!1),Si=function(){return"\b"},Ms="\\f",so=Qn("\\f",!1),cc=function(){return"\f"},Au="\\n",op=Qn("\\n",!1),ap=function(){return` -`},Us="\\r",vn=Qn("\\r",!1),oo=function(){return"\r"},_s="\\t",dl=Qn("\\t",!1),ml=function(){return" "},ao="\\u",Kn=Qn("\\u",!1),Ln=function($,me,Oe,ft){return String.fromCharCode(parseInt(`0x${$}${me}${Oe}${ft}`))},Ni=/^[0-9a-fA-F]/,On=pi([["0","9"],["a","f"],["A","F"]],!1,!1),Hi=oa("blank space"),ve=/^[ \t]/,Li=pi([" "," "],!1,!1),ni=oa("white space"),Ma=/^[ \t\n\r]/,pr=pi([" "," ",` -`,"\r"],!1,!1),uc=`\r -`,fu=Qn(`\r -`,!1),Ac=` -`,yl=Qn(` -`,!1),DA="\r",pu=Qn("\r",!1),Ce=0,Rt=0,fc=[{line:1,column:1}],ji=0,hu=[],Yt=0,El;if("startRule"in t){if(!(t.startRule in o))throw new Error(`Can't start parsing from rule "`+t.startRule+'".');a=o[t.startRule]}function SA(){return e.substring(Rt,Ce)}function lp(){return _o(Rt,Ce)}function pc($,me){throw me=me!==void 0?me:_o(Rt,Ce),gc([oa($)],e.substring(Rt,Ce),me)}function PA($,me){throw me=me!==void 0?me:_o(Rt,Ce),lo($,me)}function Qn($,me){return{type:"literal",text:$,ignoreCase:me}}function pi($,me,Oe){return{type:"class",parts:$,inverted:me,ignoreCase:Oe}}function hc(){return{type:"any"}}function xA(){return{type:"end"}}function oa($){return{type:"other",description:$}}function Oi($){var me=fc[$],Oe;if(me)return me;for(Oe=$-1;!fc[Oe];)Oe--;for(me=fc[Oe],me={line:me.line,column:me.column};Oe<$;)e.charCodeAt(Oe)===10?(me.line++,me.column=1):me.column++,Oe++;return fc[$]=me,me}function _o($,me){var Oe=Oi($),ft=Oi(me);return{start:{offset:$,line:Oe.line,column:Oe.column},end:{offset:me,line:ft.line,column:ft.column}}}function Ze($){Ce<ji||(Ce>ji&&(ji=Ce,hu=[]),hu.push($))}function lo($,me){return new Zg($,null,null,me)}function gc($,me,Oe){return new Zg(Zg.buildMessage($,me),$,me,Oe)}function gu(){var $;return $=bA(),$}function qi(){var $,me,Oe;for($=Ce,me=[],Oe=du();Oe!==r;)me.push(Oe),Oe=du();return me!==r&&(Rt=$,me=n(me)),$=me,$}function du(){var $,me,Oe,ft,pt;return $=Ce,me=gs(),me!==r?(e.charCodeAt(Ce)===45?(Oe=u,Ce++):(Oe=r,Yt===0&&Ze(A)),Oe!==r?(ft=Dn(),ft!==r?(pt=dc(),pt!==r?(Rt=$,me=p(pt),$=me):(Ce=$,$=r)):(Ce=$,$=r)):(Ce=$,$=r)):(Ce=$,$=r),$}function bA(){var $,me,Oe;for($=Ce,me=[],Oe=Ua();Oe!==r;)me.push(Oe),Oe=Ua();return me!==r&&(Rt=$,me=h(me)),$=me,$}function Ua(){var $,me,Oe,ft,pt,Tt,er,Xr,Gi;if($=Ce,me=Dn(),me===r&&(me=null),me!==r){if(Oe=Ce,e.charCodeAt(Ce)===35?(ft=w,Ce++):(ft=r,Yt===0&&Ze(I)),ft!==r){if(pt=[],Tt=Ce,er=Ce,Yt++,Xr=tt(),Yt--,Xr===r?er=void 0:(Ce=er,er=r),er!==r?(e.length>Ce?(Xr=e.charAt(Ce),Ce++):(Xr=r,Yt===0&&Ze(v)),Xr!==r?(er=[er,Xr],Tt=er):(Ce=Tt,Tt=r)):(Ce=Tt,Tt=r),Tt!==r)for(;Tt!==r;)pt.push(Tt),Tt=Ce,er=Ce,Yt++,Xr=tt(),Yt--,Xr===r?er=void 0:(Ce=er,er=r),er!==r?(e.length>Ce?(Xr=e.charAt(Ce),Ce++):(Xr=r,Yt===0&&Ze(v)),Xr!==r?(er=[er,Xr],Tt=er):(Ce=Tt,Tt=r)):(Ce=Tt,Tt=r);else pt=r;pt!==r?(ft=[ft,pt],Oe=ft):(Ce=Oe,Oe=r)}else Ce=Oe,Oe=r;if(Oe===r&&(Oe=null),Oe!==r){if(ft=[],pt=We(),pt!==r)for(;pt!==r;)ft.push(pt),pt=We();else ft=r;ft!==r?(Rt=$,me=b(),$=me):(Ce=$,$=r)}else Ce=$,$=r}else Ce=$,$=r;if($===r&&($=Ce,me=gs(),me!==r?(Oe=aa(),Oe!==r?(ft=Dn(),ft===r&&(ft=null),ft!==r?(e.charCodeAt(Ce)===58?(pt=E,Ce++):(pt=r,Yt===0&&Ze(R)),pt!==r?(Tt=Dn(),Tt===r&&(Tt=null),Tt!==r?(er=dc(),er!==r?(Rt=$,me=N(Oe,er),$=me):(Ce=$,$=r)):(Ce=$,$=r)):(Ce=$,$=r)):(Ce=$,$=r)):(Ce=$,$=r)):(Ce=$,$=r),$===r&&($=Ce,me=gs(),me!==r?(Oe=co(),Oe!==r?(ft=Dn(),ft===r&&(ft=null),ft!==r?(e.charCodeAt(Ce)===58?(pt=E,Ce++):(pt=r,Yt===0&&Ze(R)),pt!==r?(Tt=Dn(),Tt===r&&(Tt=null),Tt!==r?(er=dc(),er!==r?(Rt=$,me=N(Oe,er),$=me):(Ce=$,$=r)):(Ce=$,$=r)):(Ce=$,$=r)):(Ce=$,$=r)):(Ce=$,$=r)):(Ce=$,$=r),$===r))){if($=Ce,me=gs(),me!==r)if(Oe=co(),Oe!==r)if(ft=Dn(),ft!==r)if(pt=la(),pt!==r){if(Tt=[],er=We(),er!==r)for(;er!==r;)Tt.push(er),er=We();else Tt=r;Tt!==r?(Rt=$,me=N(Oe,pt),$=me):(Ce=$,$=r)}else Ce=$,$=r;else Ce=$,$=r;else Ce=$,$=r;else Ce=$,$=r;if($===r)if($=Ce,me=gs(),me!==r)if(Oe=co(),Oe!==r){if(ft=[],pt=Ce,Tt=Dn(),Tt===r&&(Tt=null),Tt!==r?(e.charCodeAt(Ce)===44?(er=U,Ce++):(er=r,Yt===0&&Ze(V)),er!==r?(Xr=Dn(),Xr===r&&(Xr=null),Xr!==r?(Gi=co(),Gi!==r?(Rt=pt,Tt=ee(Oe,Gi),pt=Tt):(Ce=pt,pt=r)):(Ce=pt,pt=r)):(Ce=pt,pt=r)):(Ce=pt,pt=r),pt!==r)for(;pt!==r;)ft.push(pt),pt=Ce,Tt=Dn(),Tt===r&&(Tt=null),Tt!==r?(e.charCodeAt(Ce)===44?(er=U,Ce++):(er=r,Yt===0&&Ze(V)),er!==r?(Xr=Dn(),Xr===r&&(Xr=null),Xr!==r?(Gi=co(),Gi!==r?(Rt=pt,Tt=ee(Oe,Gi),pt=Tt):(Ce=pt,pt=r)):(Ce=pt,pt=r)):(Ce=pt,pt=r)):(Ce=pt,pt=r);else ft=r;ft!==r?(pt=Dn(),pt===r&&(pt=null),pt!==r?(e.charCodeAt(Ce)===58?(Tt=E,Ce++):(Tt=r,Yt===0&&Ze(R)),Tt!==r?(er=Dn(),er===r&&(er=null),er!==r?(Xr=dc(),Xr!==r?(Rt=$,me=le(Oe,ft,Xr),$=me):(Ce=$,$=r)):(Ce=$,$=r)):(Ce=$,$=r)):(Ce=$,$=r)):(Ce=$,$=r)}else Ce=$,$=r;else Ce=$,$=r}return $}function dc(){var $,me,Oe,ft,pt,Tt,er;if($=Ce,me=Ce,Yt++,Oe=Ce,ft=tt(),ft!==r?(pt=Ut(),pt!==r?(e.charCodeAt(Ce)===45?(Tt=u,Ce++):(Tt=r,Yt===0&&Ze(A)),Tt!==r?(er=Dn(),er!==r?(ft=[ft,pt,Tt,er],Oe=ft):(Ce=Oe,Oe=r)):(Ce=Oe,Oe=r)):(Ce=Oe,Oe=r)):(Ce=Oe,Oe=r),Yt--,Oe!==r?(Ce=me,me=void 0):me=r,me!==r?(Oe=We(),Oe!==r?(ft=kn(),ft!==r?(pt=qi(),pt!==r?(Tt=Ei(),Tt!==r?(Rt=$,me=fe(pt),$=me):(Ce=$,$=r)):(Ce=$,$=r)):(Ce=$,$=r)):(Ce=$,$=r)):(Ce=$,$=r),$===r&&($=Ce,me=tt(),me!==r?(Oe=kn(),Oe!==r?(ft=bA(),ft!==r?(pt=Ei(),pt!==r?(Rt=$,me=fe(ft),$=me):(Ce=$,$=r)):(Ce=$,$=r)):(Ce=$,$=r)):(Ce=$,$=r),$===r))if($=Ce,me=Hs(),me!==r){if(Oe=[],ft=We(),ft!==r)for(;ft!==r;)Oe.push(ft),ft=We();else Oe=r;Oe!==r?(Rt=$,me=de(me),$=me):(Ce=$,$=r)}else Ce=$,$=r;return $}function gs(){var $,me,Oe;for(Yt++,$=Ce,me=[],e.charCodeAt(Ce)===32?(Oe=oe,Ce++):(Oe=r,Yt===0&&Ze(Be));Oe!==r;)me.push(Oe),e.charCodeAt(Ce)===32?(Oe=oe,Ce++):(Oe=r,Yt===0&&Ze(Be));return me!==r?(Rt=Ce,Oe=be(me),Oe?Oe=void 0:Oe=r,Oe!==r?(me=[me,Oe],$=me):(Ce=$,$=r)):(Ce=$,$=r),Yt--,$===r&&(me=r,Yt===0&&Ze(ge)),$}function Ut(){var $,me,Oe;for($=Ce,me=[],e.charCodeAt(Ce)===32?(Oe=oe,Ce++):(Oe=r,Yt===0&&Ze(Be));Oe!==r;)me.push(Oe),e.charCodeAt(Ce)===32?(Oe=oe,Ce++):(Oe=r,Yt===0&&Ze(Be));return me!==r?(Rt=Ce,Oe=g(me),Oe?Oe=void 0:Oe=r,Oe!==r?(me=[me,Oe],$=me):(Ce=$,$=r)):(Ce=$,$=r),$}function kn(){var $;return Rt=Ce,$=we(),$?$=void 0:$=r,$}function Ei(){var $;return Rt=Ce,$=Se(),$?$=void 0:$=r,$}function aa(){var $;return $=ms(),$===r&&($=ca()),$}function co(){var $,me,Oe;if($=ms(),$===r){if($=Ce,me=[],Oe=Ho(),Oe!==r)for(;Oe!==r;)me.push(Oe),Oe=Ho();else me=r;me!==r&&(Rt=$,me=ce()),$=me}return $}function Hs(){var $;return $=wi(),$===r&&($=ds(),$===r&&($=ms(),$===r&&($=ca()))),$}function la(){var $;return $=wi(),$===r&&($=ms(),$===r&&($=Ho())),$}function ca(){var $,me,Oe,ft,pt,Tt;if(Yt++,$=Ce,te.test(e.charAt(Ce))?(me=e.charAt(Ce),Ce++):(me=r,Yt===0&&Ze(Ee)),me!==r){for(Oe=[],ft=Ce,pt=Dn(),pt===r&&(pt=null),pt!==r?(Re.test(e.charAt(Ce))?(Tt=e.charAt(Ce),Ce++):(Tt=r,Yt===0&&Ze(dt)),Tt!==r?(pt=[pt,Tt],ft=pt):(Ce=ft,ft=r)):(Ce=ft,ft=r);ft!==r;)Oe.push(ft),ft=Ce,pt=Dn(),pt===r&&(pt=null),pt!==r?(Re.test(e.charAt(Ce))?(Tt=e.charAt(Ce),Ce++):(Tt=r,Yt===0&&Ze(dt)),Tt!==r?(pt=[pt,Tt],ft=pt):(Ce=ft,ft=r)):(Ce=ft,ft=r);Oe!==r?(Rt=$,me=H(),$=me):(Ce=$,$=r)}else Ce=$,$=r;return Yt--,$===r&&(me=r,Yt===0&&Ze(ne)),$}function Ho(){var $,me,Oe,ft,pt;if($=Ce,e.substr(Ce,2)===at?(me=at,Ce+=2):(me=r,Yt===0&&Ze(Te)),me===r&&(me=null),me!==r)if(Qe.test(e.charAt(Ce))?(Oe=e.charAt(Ce),Ce++):(Oe=r,Yt===0&&Ze(ke)),Oe!==r){for(ft=[],He.test(e.charAt(Ce))?(pt=e.charAt(Ce),Ce++):(pt=r,Yt===0&&Ze(Ne));pt!==r;)ft.push(pt),He.test(e.charAt(Ce))?(pt=e.charAt(Ce),Ce++):(pt=r,Yt===0&&Ze(Ne));ft!==r?(Rt=$,me=H(),$=me):(Ce=$,$=r)}else Ce=$,$=r;else Ce=$,$=r;return $}function wi(){var $,me;return $=Ce,e.substr(Ce,4)===Ve?(me=Ve,Ce+=4):(me=r,Yt===0&&Ze(je)),me!==r&&(Rt=$,me=x()),$=me,$}function ds(){var $,me;return $=Ce,e.substr(Ce,4)===C?(me=C,Ce+=4):(me=r,Yt===0&&Ze(P)),me!==r&&(Rt=$,me=y()),$=me,$===r&&($=Ce,e.substr(Ce,5)===F?(me=F,Ce+=5):(me=r,Yt===0&&Ze(z)),me!==r&&(Rt=$,me=X()),$=me),$}function ms(){var $,me,Oe,ft;return Yt++,$=Ce,e.charCodeAt(Ce)===34?(me=ie,Ce++):(me=r,Yt===0&&Ze(Pe)),me!==r?(e.charCodeAt(Ce)===34?(Oe=ie,Ce++):(Oe=r,Yt===0&&Ze(Pe)),Oe!==r?(Rt=$,me=Le(),$=me):(Ce=$,$=r)):(Ce=$,$=r),$===r&&($=Ce,e.charCodeAt(Ce)===34?(me=ie,Ce++):(me=r,Yt===0&&Ze(Pe)),me!==r?(Oe=ys(),Oe!==r?(e.charCodeAt(Ce)===34?(ft=ie,Ce++):(ft=r,Yt===0&&Ze(Pe)),ft!==r?(Rt=$,me=ot(Oe),$=me):(Ce=$,$=r)):(Ce=$,$=r)):(Ce=$,$=r)),Yt--,$===r&&(me=r,Yt===0&&Ze(Z)),$}function ys(){var $,me,Oe;if($=Ce,me=[],Oe=js(),Oe!==r)for(;Oe!==r;)me.push(Oe),Oe=js();else me=r;return me!==r&&(Rt=$,me=gt(me)),$=me,$}function js(){var $,me,Oe,ft,pt,Tt;return jt.test(e.charAt(Ce))?($=e.charAt(Ce),Ce++):($=r,Yt===0&&Ze($t)),$===r&&($=Ce,e.substr(Ce,2)===xt?(me=xt,Ce+=2):(me=r,Yt===0&&Ze(on)),me!==r&&(Rt=$,me=br()),$=me,$===r&&($=Ce,e.substr(Ce,2)===dr?(me=dr,Ce+=2):(me=r,Yt===0&&Ze(Pr)),me!==r&&(Rt=$,me=Yr()),$=me,$===r&&($=Ce,e.substr(Ce,2)===Wn?(me=Wn,Ce+=2):(me=r,Yt===0&&Ze(Os)),me!==r&&(Rt=$,me=Ti()),$=me,$===r&&($=Ce,e.substr(Ce,2)===hs?(me=hs,Ce+=2):(me=r,Yt===0&&Ze(io)),me!==r&&(Rt=$,me=Si()),$=me,$===r&&($=Ce,e.substr(Ce,2)===Ms?(me=Ms,Ce+=2):(me=r,Yt===0&&Ze(so)),me!==r&&(Rt=$,me=cc()),$=me,$===r&&($=Ce,e.substr(Ce,2)===Au?(me=Au,Ce+=2):(me=r,Yt===0&&Ze(op)),me!==r&&(Rt=$,me=ap()),$=me,$===r&&($=Ce,e.substr(Ce,2)===Us?(me=Us,Ce+=2):(me=r,Yt===0&&Ze(vn)),me!==r&&(Rt=$,me=oo()),$=me,$===r&&($=Ce,e.substr(Ce,2)===_s?(me=_s,Ce+=2):(me=r,Yt===0&&Ze(dl)),me!==r&&(Rt=$,me=ml()),$=me,$===r&&($=Ce,e.substr(Ce,2)===ao?(me=ao,Ce+=2):(me=r,Yt===0&&Ze(Kn)),me!==r?(Oe=Mn(),Oe!==r?(ft=Mn(),ft!==r?(pt=Mn(),pt!==r?(Tt=Mn(),Tt!==r?(Rt=$,me=Ln(Oe,ft,pt,Tt),$=me):(Ce=$,$=r)):(Ce=$,$=r)):(Ce=$,$=r)):(Ce=$,$=r)):(Ce=$,$=r)))))))))),$}function Mn(){var $;return Ni.test(e.charAt(Ce))?($=e.charAt(Ce),Ce++):($=r,Yt===0&&Ze(On)),$}function Dn(){var $,me;if(Yt++,$=[],ve.test(e.charAt(Ce))?(me=e.charAt(Ce),Ce++):(me=r,Yt===0&&Ze(Li)),me!==r)for(;me!==r;)$.push(me),ve.test(e.charAt(Ce))?(me=e.charAt(Ce),Ce++):(me=r,Yt===0&&Ze(Li));else $=r;return Yt--,$===r&&(me=r,Yt===0&&Ze(Hi)),$}function Es(){var $,me;if(Yt++,$=[],Ma.test(e.charAt(Ce))?(me=e.charAt(Ce),Ce++):(me=r,Yt===0&&Ze(pr)),me!==r)for(;me!==r;)$.push(me),Ma.test(e.charAt(Ce))?(me=e.charAt(Ce),Ce++):(me=r,Yt===0&&Ze(pr));else $=r;return Yt--,$===r&&(me=r,Yt===0&&Ze(ni)),$}function We(){var $,me,Oe,ft,pt,Tt;if($=Ce,me=tt(),me!==r){for(Oe=[],ft=Ce,pt=Dn(),pt===r&&(pt=null),pt!==r?(Tt=tt(),Tt!==r?(pt=[pt,Tt],ft=pt):(Ce=ft,ft=r)):(Ce=ft,ft=r);ft!==r;)Oe.push(ft),ft=Ce,pt=Dn(),pt===r&&(pt=null),pt!==r?(Tt=tt(),Tt!==r?(pt=[pt,Tt],ft=pt):(Ce=ft,ft=r)):(Ce=ft,ft=r);Oe!==r?(me=[me,Oe],$=me):(Ce=$,$=r)}else Ce=$,$=r;return $}function tt(){var $;return e.substr(Ce,2)===uc?($=uc,Ce+=2):($=r,Yt===0&&Ze(fu)),$===r&&(e.charCodeAt(Ce)===10?($=Ac,Ce++):($=r,Yt===0&&Ze(yl)),$===r&&(e.charCodeAt(Ce)===13?($=DA,Ce++):($=r,Yt===0&&Ze(pu)))),$}let It=2,rr=0;if(El=a(),El!==r&&Ce===e.length)return El;throw El!==r&&Ce<e.length&&Ze(xA()),gc(hu,ji<e.length?e.charAt(ji):null,ji<e.length?_o(ji,ji+1):_o(ji,ji))}JK.exports={SyntaxError:Zg,parse:q6e}});function XK(e){return e.match(G6e)?e:JSON.stringify(e)}function $K(e){return typeof e>"u"?!0:typeof e=="object"&&e!==null&&!Array.isArray(e)?Object.keys(e).every(t=>$K(e[t])):!1}function IT(e,t,r){if(e===null)return`null -`;if(typeof e=="number"||typeof e=="boolean")return`${e.toString()} -`;if(typeof e=="string")return`${XK(e)} -`;if(Array.isArray(e)){if(e.length===0)return`[] -`;let o=" ".repeat(t);return` -${e.map(n=>`${o}- ${IT(n,t+1,!1)}`).join("")}`}if(typeof e=="object"&&e){let[o,a]=e instanceof zD?[e.data,!1]:[e,!0],n=" ".repeat(t),u=Object.keys(o);a&&u.sort((p,h)=>{let w=zK.indexOf(p),I=zK.indexOf(h);return w===-1&&I===-1?p<h?-1:p>h?1:0:w!==-1&&I===-1?-1:w===-1&&I!==-1?1:w-I});let A=u.filter(p=>!$K(o[p])).map((p,h)=>{let w=o[p],I=XK(p),v=IT(w,t+1,!0),b=h>0||r?n:"",E=I.length>1024?`? ${I} -${b}:`:`${I}:`,R=v.startsWith(` -`)?v:` ${v}`;return`${b}${E}${R}`}).join(t===0?` -`:"")||` -`;return r?` -${A}`:`${A}`}throw new Error(`Unsupported value type (${e})`)}function Ba(e){try{let t=IT(e,0,!1);return t!==` -`?t:""}catch(t){throw t.location&&(t.message=t.message.replace(/(\.)?$/,` (line ${t.location.start.line}, column ${t.location.start.column})$1`)),t}}function Y6e(e){return e.endsWith(` -`)||(e+=` -`),(0,ZK.parse)(e)}function K6e(e){if(W6e.test(e))return Y6e(e);let t=(0,XD.safeLoad)(e,{schema:XD.FAILSAFE_SCHEMA,json:!0});if(t==null)return{};if(typeof t!="object")throw new Error(`Expected an indexed object, got a ${typeof t} instead. Does your file follow Yaml's rules?`);if(Array.isArray(t))throw new Error("Expected an indexed object, got an array instead. Does your file follow Yaml's rules?");return t}function Ji(e){return K6e(e)}var XD,ZK,G6e,zK,zD,W6e,eJ=yt(()=>{XD=$e(KK()),ZK=$e(VK()),G6e=/^(?![-?:,\][{}#&*!|>'"%@` \t\r\n]).([ \t]*(?![,\][{}:# \t\r\n]).)*$/,zK=["__metadata","version","resolution","dependencies","peerDependencies","dependenciesMeta","peerDependenciesMeta","binaries"],zD=class{constructor(t){this.data=t}};Ba.PreserveOrdering=zD;W6e=/^(#.*(\r?\n))*?#\s+yarn\s+lockfile\s+v1\r?\n/i});var eI={};Jt(eI,{parseResolution:()=>MD,parseShell:()=>ND,parseSyml:()=>Ji,stringifyArgument:()=>lT,stringifyArgumentSegment:()=>cT,stringifyArithmeticExpression:()=>OD,stringifyCommand:()=>aT,stringifyCommandChain:()=>cy,stringifyCommandChainThen:()=>oT,stringifyCommandLine:()=>LD,stringifyCommandLineThen:()=>sT,stringifyEnvSegment:()=>TD,stringifyRedirectArgument:()=>KC,stringifyResolution:()=>UD,stringifyShell:()=>ly,stringifyShellLine:()=>ly,stringifySyml:()=>Ba,stringifyValueArgument:()=>qg});var Nl=yt(()=>{$Y();nW();eJ()});var rJ=_((Xxt,BT)=>{"use strict";var J6e=e=>{let t=!1,r=!1,o=!1;for(let a=0;a<e.length;a++){let n=e[a];t&&/[a-zA-Z]/.test(n)&&n.toUpperCase()===n?(e=e.slice(0,a)+"-"+e.slice(a),t=!1,o=r,r=!0,a++):r&&o&&/[a-zA-Z]/.test(n)&&n.toLowerCase()===n?(e=e.slice(0,a-1)+"-"+e.slice(a-1),o=r,r=!1,t=!0):(t=n.toLowerCase()===n&&n.toUpperCase()!==n,o=r,r=n.toUpperCase()===n&&n.toLowerCase()!==n)}return e},tJ=(e,t)=>{if(!(typeof e=="string"||Array.isArray(e)))throw new TypeError("Expected the input to be `string | string[]`");t=Object.assign({pascalCase:!1},t);let r=a=>t.pascalCase?a.charAt(0).toUpperCase()+a.slice(1):a;return Array.isArray(e)?e=e.map(a=>a.trim()).filter(a=>a.length).join("-"):e=e.trim(),e.length===0?"":e.length===1?t.pascalCase?e.toUpperCase():e.toLowerCase():(e!==e.toLowerCase()&&(e=J6e(e)),e=e.replace(/^[_.\- ]+/,"").toLowerCase().replace(/[_.\- ]+(\w|$)/g,(a,n)=>n.toUpperCase()).replace(/\d+(\w|$)/g,a=>a.toUpperCase()),r(e))};BT.exports=tJ;BT.exports.default=tJ});var nJ=_((Zxt,V6e)=>{V6e.exports=[{name:"AppVeyor",constant:"APPVEYOR",env:"APPVEYOR",pr:"APPVEYOR_PULL_REQUEST_NUMBER"},{name:"Azure Pipelines",constant:"AZURE_PIPELINES",env:"SYSTEM_TEAMFOUNDATIONCOLLECTIONURI",pr:"SYSTEM_PULLREQUEST_PULLREQUESTID"},{name:"Appcircle",constant:"APPCIRCLE",env:"AC_APPCIRCLE"},{name:"Bamboo",constant:"BAMBOO",env:"bamboo_planKey"},{name:"Bitbucket Pipelines",constant:"BITBUCKET",env:"BITBUCKET_COMMIT",pr:"BITBUCKET_PR_ID"},{name:"Bitrise",constant:"BITRISE",env:"BITRISE_IO",pr:"BITRISE_PULL_REQUEST"},{name:"Buddy",constant:"BUDDY",env:"BUDDY_WORKSPACE_ID",pr:"BUDDY_EXECUTION_PULL_REQUEST_ID"},{name:"Buildkite",constant:"BUILDKITE",env:"BUILDKITE",pr:{env:"BUILDKITE_PULL_REQUEST",ne:"false"}},{name:"CircleCI",constant:"CIRCLE",env:"CIRCLECI",pr:"CIRCLE_PULL_REQUEST"},{name:"Cirrus CI",constant:"CIRRUS",env:"CIRRUS_CI",pr:"CIRRUS_PR"},{name:"AWS CodeBuild",constant:"CODEBUILD",env:"CODEBUILD_BUILD_ARN"},{name:"Codefresh",constant:"CODEFRESH",env:"CF_BUILD_ID",pr:{any:["CF_PULL_REQUEST_NUMBER","CF_PULL_REQUEST_ID"]}},{name:"Codeship",constant:"CODESHIP",env:{CI_NAME:"codeship"}},{name:"Drone",constant:"DRONE",env:"DRONE",pr:{DRONE_BUILD_EVENT:"pull_request"}},{name:"dsari",constant:"DSARI",env:"DSARI"},{name:"GitHub Actions",constant:"GITHUB_ACTIONS",env:"GITHUB_ACTIONS",pr:{GITHUB_EVENT_NAME:"pull_request"}},{name:"GitLab CI",constant:"GITLAB",env:"GITLAB_CI",pr:"CI_MERGE_REQUEST_ID"},{name:"GoCD",constant:"GOCD",env:"GO_PIPELINE_LABEL"},{name:"LayerCI",constant:"LAYERCI",env:"LAYERCI",pr:"LAYERCI_PULL_REQUEST"},{name:"Hudson",constant:"HUDSON",env:"HUDSON_URL"},{name:"Jenkins",constant:"JENKINS",env:["JENKINS_URL","BUILD_ID"],pr:{any:["ghprbPullId","CHANGE_ID"]}},{name:"Magnum CI",constant:"MAGNUM",env:"MAGNUM"},{name:"Netlify CI",constant:"NETLIFY",env:"NETLIFY",pr:{env:"PULL_REQUEST",ne:"false"}},{name:"Nevercode",constant:"NEVERCODE",env:"NEVERCODE",pr:{env:"NEVERCODE_PULL_REQUEST",ne:"false"}},{name:"Render",constant:"RENDER",env:"RENDER",pr:{IS_PULL_REQUEST:"true"}},{name:"Sail CI",constant:"SAIL",env:"SAILCI",pr:"SAIL_PULL_REQUEST_NUMBER"},{name:"Semaphore",constant:"SEMAPHORE",env:"SEMAPHORE",pr:"PULL_REQUEST_NUMBER"},{name:"Screwdriver",constant:"SCREWDRIVER",env:"SCREWDRIVER",pr:{env:"SD_PULL_REQUEST",ne:"false"}},{name:"Shippable",constant:"SHIPPABLE",env:"SHIPPABLE",pr:{IS_PULL_REQUEST:"true"}},{name:"Solano CI",constant:"SOLANO",env:"TDDIUM",pr:"TDDIUM_PR_ID"},{name:"Strider CD",constant:"STRIDER",env:"STRIDER"},{name:"TaskCluster",constant:"TASKCLUSTER",env:["TASK_ID","RUN_ID"]},{name:"TeamCity",constant:"TEAMCITY",env:"TEAMCITY_VERSION"},{name:"Travis CI",constant:"TRAVIS",env:"TRAVIS",pr:{env:"TRAVIS_PULL_REQUEST",ne:"false"}},{name:"Vercel",constant:"VERCEL",env:"NOW_BUILDER"},{name:"Visual Studio App Center",constant:"APPCENTER",env:"APPCENTER_BUILD_ID"}]});var $g=_(Xa=>{"use strict";var sJ=nJ(),Gu=process.env;Object.defineProperty(Xa,"_vendors",{value:sJ.map(function(e){return e.constant})});Xa.name=null;Xa.isPR=null;sJ.forEach(function(e){let r=(Array.isArray(e.env)?e.env:[e.env]).every(function(o){return iJ(o)});if(Xa[e.constant]=r,r)switch(Xa.name=e.name,typeof e.pr){case"string":Xa.isPR=!!Gu[e.pr];break;case"object":"env"in e.pr?Xa.isPR=e.pr.env in Gu&&Gu[e.pr.env]!==e.pr.ne:"any"in e.pr?Xa.isPR=e.pr.any.some(function(o){return!!Gu[o]}):Xa.isPR=iJ(e.pr);break;default:Xa.isPR=null}});Xa.isCI=!!(Gu.CI||Gu.CONTINUOUS_INTEGRATION||Gu.BUILD_NUMBER||Gu.RUN_ID||Xa.name);function iJ(e){return typeof e=="string"?!!Gu[e]:Object.keys(e).every(function(t){return Gu[t]===e[t]})}});var _n,ln,ed,vT,ZD,oJ,DT,ST,$D=yt(()=>{(function(e){e.StartOfInput="\0",e.EndOfInput="",e.EndOfPartialInput=""})(_n||(_n={}));(function(e){e[e.InitialNode=0]="InitialNode",e[e.SuccessNode=1]="SuccessNode",e[e.ErrorNode=2]="ErrorNode",e[e.CustomNode=3]="CustomNode"})(ln||(ln={}));ed=-1,vT=/^(-h|--help)(?:=([0-9]+))?$/,ZD=/^(--[a-z]+(?:-[a-z]+)*|-[a-zA-Z]+)$/,oJ=/^-[a-zA-Z]{2,}$/,DT=/^([^=]+)=([\s\S]*)$/,ST=process.env.DEBUG_CLI==="1"});var it,my,eS,PT,tS=yt(()=>{$D();it=class extends Error{constructor(t){super(t),this.clipanion={type:"usage"},this.name="UsageError"}},my=class extends Error{constructor(t,r){if(super(),this.input=t,this.candidates=r,this.clipanion={type:"none"},this.name="UnknownSyntaxError",this.candidates.length===0)this.message="Command not found, but we're not sure what's the alternative.";else if(this.candidates.every(o=>o.reason!==null&&o.reason===r[0].reason)){let[{reason:o}]=this.candidates;this.message=`${o} - -${this.candidates.map(({usage:a})=>`$ ${a}`).join(` -`)}`}else if(this.candidates.length===1){let[{usage:o}]=this.candidates;this.message=`Command not found; did you mean: - -$ ${o} -${PT(t)}`}else this.message=`Command not found; did you mean one of: - -${this.candidates.map(({usage:o},a)=>`${`${a}.`.padStart(4)} ${o}`).join(` -`)} - -${PT(t)}`}},eS=class extends Error{constructor(t,r){super(),this.input=t,this.usages=r,this.clipanion={type:"none"},this.name="AmbiguousSyntaxError",this.message=`Cannot find which to pick amongst the following alternatives: - -${this.usages.map((o,a)=>`${`${a}.`.padStart(4)} ${o}`).join(` -`)} - -${PT(t)}`}},PT=e=>`While running ${e.filter(t=>t!==_n.EndOfInput&&t!==_n.EndOfPartialInput).map(t=>{let r=JSON.stringify(t);return t.match(/\s/)||t.length===0||r!==`"${t}"`?r:t}).join(" ")}`});function z6e(e){let t=e.split(` -`),r=t.filter(a=>a.match(/\S/)),o=r.length>0?r.reduce((a,n)=>Math.min(a,n.length-n.trimStart().length),Number.MAX_VALUE):0;return t.map(a=>a.slice(o).trimRight()).join(` -`)}function Do(e,{format:t,paragraphs:r}){return e=e.replace(/\r\n?/g,` -`),e=z6e(e),e=e.replace(/^\n+|\n+$/g,""),e=e.replace(/^(\s*)-([^\n]*?)\n+/gm,`$1-$2 - -`),e=e.replace(/\n(\n)?\n*/g,(o,a)=>a||" "),r&&(e=e.split(/\n/).map(o=>{let a=o.match(/^\s*[*-][\t ]+(.*)/);if(!a)return o.match(/(.{1,80})(?: |$)/g).join(` -`);let n=o.length-o.trimStart().length;return a[1].match(new RegExp(`(.{1,${78-n}})(?: |$)`,"g")).map((u,A)=>" ".repeat(n)+(A===0?"- ":" ")+u).join(` -`)}).join(` - -`)),e=e.replace(/(`+)((?:.|[\n])*?)\1/g,(o,a,n)=>t.code(a+n+a)),e=e.replace(/(\*\*)((?:.|[\n])*?)\1/g,(o,a,n)=>t.bold(a+n+a)),e?`${e} -`:""}var xT,aJ,lJ,bT=yt(()=>{xT=Array(80).fill("\u2501");for(let e=0;e<=24;++e)xT[xT.length-e]=`\x1B[38;5;${232+e}m\u2501`;aJ={header:e=>`\x1B[1m\u2501\u2501\u2501 ${e}${e.length<80-5?` ${xT.slice(e.length+5).join("")}`:":"}\x1B[0m`,bold:e=>`\x1B[1m${e}\x1B[22m`,error:e=>`\x1B[31m\x1B[1m${e}\x1B[22m\x1B[39m`,code:e=>`\x1B[36m${e}\x1B[39m`},lJ={header:e=>e,bold:e=>e,error:e=>e,code:e=>e}});function Ko(e){return{...e,[tI]:!0}}function Yu(e,t){return typeof e>"u"?[e,t]:typeof e=="object"&&e!==null&&!Array.isArray(e)?[void 0,e]:[e,t]}function rS(e,{mergeName:t=!1}={}){let r=e.match(/^([^:]+): (.*)$/m);if(!r)return"validation failed";let[,o,a]=r;return t&&(a=a[0].toLowerCase()+a.slice(1)),a=o!=="."||!t?`${o.replace(/^\.(\[|$)/,"$1")}: ${a}`:`: ${a}`,a}function rI(e,t){return t.length===1?new it(`${e}${rS(t[0],{mergeName:!0})}`):new it(`${e}: -${t.map(r=>` -- ${rS(r)}`).join("")}`)}function td(e,t,r){if(typeof r>"u")return t;let o=[],a=[],n=A=>{let p=t;return t=A,n.bind(null,p)};if(!r(t,{errors:o,coercions:a,coercion:n}))throw rI(`Invalid value for ${e}`,o);for(let[,A]of a)A();return t}var tI,Ef=yt(()=>{tS();tI=Symbol("clipanion/isOption")});var Jo={};Jt(Jo,{KeyRelationship:()=>Wu,TypeAssertionError:()=>Yp,applyCascade:()=>rd,as:()=>gje,assert:()=>fje,assertWithErrors:()=>pje,cascade:()=>hJ,fn:()=>dje,hasAtLeastOneKey:()=>LT,hasExactLength:()=>pJ,hasForbiddenKeys:()=>Nje,hasKeyRelationship:()=>oI,hasMaxLength:()=>yje,hasMinLength:()=>mje,hasMutuallyExclusiveKeys:()=>Lje,hasRequiredKeys:()=>Tje,hasUniqueItems:()=>Eje,isArray:()=>nS,isAtLeast:()=>TT,isAtMost:()=>Ije,isBase64:()=>Qje,isBoolean:()=>ije,isDate:()=>oje,isDict:()=>cje,isEnum:()=>Vs,isHexColor:()=>bje,isISO8601:()=>xje,isInExclusiveRange:()=>vje,isInInclusiveRange:()=>Bje,isInstanceOf:()=>Aje,isInteger:()=>NT,isJSON:()=>kje,isLiteral:()=>uJ,isLowerCase:()=>Dje,isMap:()=>lje,isNegative:()=>wje,isNullable:()=>Rje,isNumber:()=>FT,isObject:()=>AJ,isOneOf:()=>RT,isOptional:()=>Fje,isPartial:()=>uje,isPayload:()=>sje,isPositive:()=>Cje,isRecord:()=>sS,isSet:()=>aje,isString:()=>Ey,isTuple:()=>iS,isUUID4:()=>Pje,isUnknown:()=>kT,isUpperCase:()=>Sje,makeTrait:()=>fJ,makeValidator:()=>_r,matchesRegExp:()=>iI,softAssert:()=>hje});function Hn(e){return e===null?"null":e===void 0?"undefined":e===""?"an empty string":typeof e=="symbol"?`<${e.toString()}>`:Array.isArray(e)?"an array":JSON.stringify(e)}function yy(e,t){if(e.length===0)return"nothing";if(e.length===1)return Hn(e[0]);let r=e.slice(0,-1),o=e[e.length-1],a=e.length>2?`, ${t} `:` ${t} `;return`${r.map(n=>Hn(n)).join(", ")}${a}${Hn(o)}`}function Gp(e,t){var r,o,a;return typeof t=="number"?`${(r=e?.p)!==null&&r!==void 0?r:"."}[${t}]`:X6e.test(t)?`${(o=e?.p)!==null&&o!==void 0?o:""}.${t}`:`${(a=e?.p)!==null&&a!==void 0?a:"."}[${JSON.stringify(t)}]`}function QT(e,t,r){return e===1?t:r}function fr({errors:e,p:t}={},r){return e?.push(`${t??"."}: ${r}`),!1}function rje(e,t){return r=>{e[t]=r}}function Ku(e,t){return r=>{let o=e[t];return e[t]=r,Ku(e,t).bind(null,o)}}function nI(e,t,r){let o=()=>(e(r()),a),a=()=>(e(t),o);return o}function kT(){return _r({test:(e,t)=>!0})}function uJ(e){return _r({test:(t,r)=>t!==e?fr(r,`Expected ${Hn(e)} (got ${Hn(t)})`):!0})}function Ey(){return _r({test:(e,t)=>typeof e!="string"?fr(t,`Expected a string (got ${Hn(e)})`):!0})}function Vs(e){let t=Array.isArray(e)?e:Object.values(e),r=t.every(a=>typeof a=="string"||typeof a=="number"),o=new Set(t);return o.size===1?uJ([...o][0]):_r({test:(a,n)=>o.has(a)?!0:r?fr(n,`Expected one of ${yy(t,"or")} (got ${Hn(a)})`):fr(n,`Expected a valid enumeration value (got ${Hn(a)})`)})}function ije(){return _r({test:(e,t)=>{var r;if(typeof e!="boolean"){if(typeof t?.coercions<"u"){if(typeof t?.coercion>"u")return fr(t,"Unbound coercion result");let o=nje.get(e);if(typeof o<"u")return t.coercions.push([(r=t.p)!==null&&r!==void 0?r:".",t.coercion.bind(null,o)]),!0}return fr(t,`Expected a boolean (got ${Hn(e)})`)}return!0}})}function FT(){return _r({test:(e,t)=>{var r;if(typeof e!="number"){if(typeof t?.coercions<"u"){if(typeof t?.coercion>"u")return fr(t,"Unbound coercion result");let o;if(typeof e=="string"){let a;try{a=JSON.parse(e)}catch{}if(typeof a=="number")if(JSON.stringify(a)===e)o=a;else return fr(t,`Received a number that can't be safely represented by the runtime (${e})`)}if(typeof o<"u")return t.coercions.push([(r=t.p)!==null&&r!==void 0?r:".",t.coercion.bind(null,o)]),!0}return fr(t,`Expected a number (got ${Hn(e)})`)}return!0}})}function sje(e){return _r({test:(t,r)=>{var o;if(typeof r?.coercions>"u")return fr(r,"The isPayload predicate can only be used with coercion enabled");if(typeof r.coercion>"u")return fr(r,"Unbound coercion result");if(typeof t!="string")return fr(r,`Expected a string (got ${Hn(t)})`);let a;try{a=JSON.parse(t)}catch{return fr(r,`Expected a JSON string (got ${Hn(t)})`)}let n={value:a};return e(a,Object.assign(Object.assign({},r),{coercion:Ku(n,"value")}))?(r.coercions.push([(o=r.p)!==null&&o!==void 0?o:".",r.coercion.bind(null,n.value)]),!0):!1}})}function oje(){return _r({test:(e,t)=>{var r;if(!(e instanceof Date)){if(typeof t?.coercions<"u"){if(typeof t?.coercion>"u")return fr(t,"Unbound coercion result");let o;if(typeof e=="string"&&cJ.test(e))o=new Date(e);else{let a;if(typeof e=="string"){let n;try{n=JSON.parse(e)}catch{}typeof n=="number"&&(a=n)}else typeof e=="number"&&(a=e);if(typeof a<"u")if(Number.isSafeInteger(a)||!Number.isSafeInteger(a*1e3))o=new Date(a*1e3);else return fr(t,`Received a timestamp that can't be safely represented by the runtime (${e})`)}if(typeof o<"u")return t.coercions.push([(r=t.p)!==null&&r!==void 0?r:".",t.coercion.bind(null,o)]),!0}return fr(t,`Expected a date (got ${Hn(e)})`)}return!0}})}function nS(e,{delimiter:t}={}){return _r({test:(r,o)=>{var a;let n=r;if(typeof r=="string"&&typeof t<"u"&&typeof o?.coercions<"u"){if(typeof o?.coercion>"u")return fr(o,"Unbound coercion result");r=r.split(t)}if(!Array.isArray(r))return fr(o,`Expected an array (got ${Hn(r)})`);let u=!0;for(let A=0,p=r.length;A<p&&(u=e(r[A],Object.assign(Object.assign({},o),{p:Gp(o,A),coercion:Ku(r,A)}))&&u,!(!u&&o?.errors==null));++A);return r!==n&&o.coercions.push([(a=o.p)!==null&&a!==void 0?a:".",o.coercion.bind(null,r)]),u}})}function aje(e,{delimiter:t}={}){let r=nS(e,{delimiter:t});return _r({test:(o,a)=>{var n,u;if(Object.getPrototypeOf(o).toString()==="[object Set]")if(typeof a?.coercions<"u"){if(typeof a?.coercion>"u")return fr(a,"Unbound coercion result");let A=[...o],p=[...o];if(!r(p,Object.assign(Object.assign({},a),{coercion:void 0})))return!1;let h=()=>p.some((w,I)=>w!==A[I])?new Set(p):o;return a.coercions.push([(n=a.p)!==null&&n!==void 0?n:".",nI(a.coercion,o,h)]),!0}else{let A=!0;for(let p of o)if(A=e(p,Object.assign({},a))&&A,!A&&a?.errors==null)break;return A}if(typeof a?.coercions<"u"){if(typeof a?.coercion>"u")return fr(a,"Unbound coercion result");let A={value:o};return r(o,Object.assign(Object.assign({},a),{coercion:Ku(A,"value")}))?(a.coercions.push([(u=a.p)!==null&&u!==void 0?u:".",nI(a.coercion,o,()=>new Set(A.value))]),!0):!1}return fr(a,`Expected a set (got ${Hn(o)})`)}})}function lje(e,t){let r=nS(iS([e,t])),o=sS(t,{keys:e});return _r({test:(a,n)=>{var u,A,p;if(Object.getPrototypeOf(a).toString()==="[object Map]")if(typeof n?.coercions<"u"){if(typeof n?.coercion>"u")return fr(n,"Unbound coercion result");let h=[...a],w=[...a];if(!r(w,Object.assign(Object.assign({},n),{coercion:void 0})))return!1;let I=()=>w.some((v,b)=>v[0]!==h[b][0]||v[1]!==h[b][1])?new Map(w):a;return n.coercions.push([(u=n.p)!==null&&u!==void 0?u:".",nI(n.coercion,a,I)]),!0}else{let h=!0;for(let[w,I]of a)if(h=e(w,Object.assign({},n))&&h,!h&&n?.errors==null||(h=t(I,Object.assign(Object.assign({},n),{p:Gp(n,w)}))&&h,!h&&n?.errors==null))break;return h}if(typeof n?.coercions<"u"){if(typeof n?.coercion>"u")return fr(n,"Unbound coercion result");let h={value:a};return Array.isArray(a)?r(a,Object.assign(Object.assign({},n),{coercion:void 0}))?(n.coercions.push([(A=n.p)!==null&&A!==void 0?A:".",nI(n.coercion,a,()=>new Map(h.value))]),!0):!1:o(a,Object.assign(Object.assign({},n),{coercion:Ku(h,"value")}))?(n.coercions.push([(p=n.p)!==null&&p!==void 0?p:".",nI(n.coercion,a,()=>new Map(Object.entries(h.value)))]),!0):!1}return fr(n,`Expected a map (got ${Hn(a)})`)}})}function iS(e,{delimiter:t}={}){let r=pJ(e.length);return _r({test:(o,a)=>{var n;if(typeof o=="string"&&typeof t<"u"&&typeof a?.coercions<"u"){if(typeof a?.coercion>"u")return fr(a,"Unbound coercion result");o=o.split(t),a.coercions.push([(n=a.p)!==null&&n!==void 0?n:".",a.coercion.bind(null,o)])}if(!Array.isArray(o))return fr(a,`Expected a tuple (got ${Hn(o)})`);let u=r(o,Object.assign({},a));for(let A=0,p=o.length;A<p&&A<e.length&&(u=e[A](o[A],Object.assign(Object.assign({},a),{p:Gp(a,A),coercion:Ku(o,A)}))&&u,!(!u&&a?.errors==null));++A);return u}})}function sS(e,{keys:t=null}={}){let r=nS(iS([t??Ey(),e]));return _r({test:(o,a)=>{var n;if(Array.isArray(o)&&typeof a?.coercions<"u")return typeof a?.coercion>"u"?fr(a,"Unbound coercion result"):r(o,Object.assign(Object.assign({},a),{coercion:void 0}))?(o=Object.fromEntries(o),a.coercions.push([(n=a.p)!==null&&n!==void 0?n:".",a.coercion.bind(null,o)]),!0):!1;if(typeof o!="object"||o===null)return fr(a,`Expected an object (got ${Hn(o)})`);let u=Object.keys(o),A=!0;for(let p=0,h=u.length;p<h&&(A||a?.errors!=null);++p){let w=u[p],I=o[w];if(w==="__proto__"||w==="constructor"){A=fr(Object.assign(Object.assign({},a),{p:Gp(a,w)}),"Unsafe property name");continue}if(t!==null&&!t(w,a)){A=!1;continue}if(!e(I,Object.assign(Object.assign({},a),{p:Gp(a,w),coercion:Ku(o,w)}))){A=!1;continue}}return A}})}function cje(e,t={}){return sS(e,t)}function AJ(e,{extra:t=null}={}){let r=Object.keys(e),o=_r({test:(a,n)=>{if(typeof a!="object"||a===null)return fr(n,`Expected an object (got ${Hn(a)})`);let u=new Set([...r,...Object.keys(a)]),A={},p=!0;for(let h of u){if(h==="constructor"||h==="__proto__")p=fr(Object.assign(Object.assign({},n),{p:Gp(n,h)}),"Unsafe property name");else{let w=Object.prototype.hasOwnProperty.call(e,h)?e[h]:void 0,I=Object.prototype.hasOwnProperty.call(a,h)?a[h]:void 0;typeof w<"u"?p=w(I,Object.assign(Object.assign({},n),{p:Gp(n,h),coercion:Ku(a,h)}))&&p:t===null?p=fr(Object.assign(Object.assign({},n),{p:Gp(n,h)}),`Extraneous property (got ${Hn(I)})`):Object.defineProperty(A,h,{enumerable:!0,get:()=>I,set:rje(a,h)})}if(!p&&n?.errors==null)break}return t!==null&&(p||n?.errors!=null)&&(p=t(A,n)&&p),p}});return Object.assign(o,{properties:e})}function uje(e){return AJ(e,{extra:sS(kT())})}function fJ(e){return()=>e}function _r({test:e}){return fJ(e)()}function fje(e,t){if(!t(e))throw new Yp}function pje(e,t){let r=[];if(!t(e,{errors:r}))throw new Yp({errors:r})}function hje(e,t){}function gje(e,t,{coerce:r=!1,errors:o,throw:a}={}){let n=o?[]:void 0;if(!r){if(t(e,{errors:n}))return a?e:{value:e,errors:void 0};if(a)throw new Yp({errors:n});return{value:void 0,errors:n??!0}}let u={value:e},A=Ku(u,"value"),p=[];if(!t(e,{errors:n,coercion:A,coercions:p})){if(a)throw new Yp({errors:n});return{value:void 0,errors:n??!0}}for(let[,h]of p)h();return a?u.value:{value:u.value,errors:void 0}}function dje(e,t){let r=iS(e);return(...o)=>{if(!r(o))throw new Yp;return t(...o)}}function mje(e){return _r({test:(t,r)=>t.length>=e?!0:fr(r,`Expected to have a length of at least ${e} elements (got ${t.length})`)})}function yje(e){return _r({test:(t,r)=>t.length<=e?!0:fr(r,`Expected to have a length of at most ${e} elements (got ${t.length})`)})}function pJ(e){return _r({test:(t,r)=>t.length!==e?fr(r,`Expected to have a length of exactly ${e} elements (got ${t.length})`):!0})}function Eje({map:e}={}){return _r({test:(t,r)=>{let o=new Set,a=new Set;for(let n=0,u=t.length;n<u;++n){let A=t[n],p=typeof e<"u"?e(A):A;if(o.has(p)){if(a.has(p))continue;fr(r,`Expected to contain unique elements; got a duplicate with ${Hn(t)}`),a.add(p)}else o.add(p)}return a.size===0}})}function wje(){return _r({test:(e,t)=>e<=0?!0:fr(t,`Expected to be negative (got ${e})`)})}function Cje(){return _r({test:(e,t)=>e>=0?!0:fr(t,`Expected to be positive (got ${e})`)})}function TT(e){return _r({test:(t,r)=>t>=e?!0:fr(r,`Expected to be at least ${e} (got ${t})`)})}function Ije(e){return _r({test:(t,r)=>t<=e?!0:fr(r,`Expected to be at most ${e} (got ${t})`)})}function Bje(e,t){return _r({test:(r,o)=>r>=e&&r<=t?!0:fr(o,`Expected to be in the [${e}; ${t}] range (got ${r})`)})}function vje(e,t){return _r({test:(r,o)=>r>=e&&r<t?!0:fr(o,`Expected to be in the [${e}; ${t}[ range (got ${r})`)})}function NT({unsafe:e=!1}={}){return _r({test:(t,r)=>t!==Math.round(t)?fr(r,`Expected to be an integer (got ${t})`):!e&&!Number.isSafeInteger(t)?fr(r,`Expected to be a safe integer (got ${t})`):!0})}function iI(e){return _r({test:(t,r)=>e.test(t)?!0:fr(r,`Expected to match the pattern ${e.toString()} (got ${Hn(t)})`)})}function Dje(){return _r({test:(e,t)=>e!==e.toLowerCase()?fr(t,`Expected to be all-lowercase (got ${e})`):!0})}function Sje(){return _r({test:(e,t)=>e!==e.toUpperCase()?fr(t,`Expected to be all-uppercase (got ${e})`):!0})}function Pje(){return _r({test:(e,t)=>tje.test(e)?!0:fr(t,`Expected to be a valid UUID v4 (got ${Hn(e)})`)})}function xje(){return _r({test:(e,t)=>cJ.test(e)?!0:fr(t,`Expected to be a valid ISO 8601 date string (got ${Hn(e)})`)})}function bje({alpha:e=!1}){return _r({test:(t,r)=>(e?Z6e.test(t):$6e.test(t))?!0:fr(r,`Expected to be a valid hexadecimal color string (got ${Hn(t)})`)})}function Qje(){return _r({test:(e,t)=>eje.test(e)?!0:fr(t,`Expected to be a valid base 64 string (got ${Hn(e)})`)})}function kje(e=kT()){return _r({test:(t,r)=>{let o;try{o=JSON.parse(t)}catch{return fr(r,`Expected to be a valid JSON string (got ${Hn(t)})`)}return e(o,r)}})}function hJ(e,...t){let r=Array.isArray(t[0])?t[0]:t;return _r({test:(o,a)=>{var n,u;let A={value:o},p=typeof a?.coercions<"u"?Ku(A,"value"):void 0,h=typeof a?.coercions<"u"?[]:void 0;if(!e(o,Object.assign(Object.assign({},a),{coercion:p,coercions:h})))return!1;let w=[];if(typeof h<"u")for(let[,I]of h)w.push(I());try{if(typeof a?.coercions<"u"){if(A.value!==o){if(typeof a?.coercion>"u")return fr(a,"Unbound coercion result");a.coercions.push([(n=a.p)!==null&&n!==void 0?n:".",a.coercion.bind(null,A.value)])}(u=a?.coercions)===null||u===void 0||u.push(...h)}return r.every(I=>I(A.value,a))}finally{for(let I of w)I()}}})}function rd(e,...t){let r=Array.isArray(t[0])?t[0]:t;return hJ(e,r)}function Fje(e){return _r({test:(t,r)=>typeof t>"u"?!0:e(t,r)})}function Rje(e){return _r({test:(t,r)=>t===null?!0:e(t,r)})}function Tje(e,t){var r;let o=new Set(e),a=sI[(r=t?.missingIf)!==null&&r!==void 0?r:"missing"];return _r({test:(n,u)=>{let A=new Set(Object.keys(n)),p=[];for(let h of o)a(A,h,n)||p.push(h);return p.length>0?fr(u,`Missing required ${QT(p.length,"property","properties")} ${yy(p,"and")}`):!0}})}function LT(e,t){var r;let o=new Set(e),a=sI[(r=t?.missingIf)!==null&&r!==void 0?r:"missing"];return _r({test:(n,u)=>Object.keys(n).some(h=>a(o,h,n))?!0:fr(u,`Missing at least one property from ${yy(Array.from(o),"or")}`)})}function Nje(e,t){var r;let o=new Set(e),a=sI[(r=t?.missingIf)!==null&&r!==void 0?r:"missing"];return _r({test:(n,u)=>{let A=new Set(Object.keys(n)),p=[];for(let h of o)a(A,h,n)&&p.push(h);return p.length>0?fr(u,`Forbidden ${QT(p.length,"property","properties")} ${yy(p,"and")}`):!0}})}function Lje(e,t){var r;let o=new Set(e),a=sI[(r=t?.missingIf)!==null&&r!==void 0?r:"missing"];return _r({test:(n,u)=>{let A=new Set(Object.keys(n)),p=[];for(let h of o)a(A,h,n)&&p.push(h);return p.length>1?fr(u,`Mutually exclusive properties ${yy(p,"and")}`):!0}})}function oI(e,t,r,o){var a,n;let u=new Set((a=o?.ignore)!==null&&a!==void 0?a:[]),A=sI[(n=o?.missingIf)!==null&&n!==void 0?n:"missing"],p=new Set(r),h=Oje[t],w=t===Wu.Forbids?"or":"and";return _r({test:(I,v)=>{let b=new Set(Object.keys(I));if(!A(b,e,I)||u.has(I[e]))return!0;let E=[];for(let R of p)(A(b,R,I)&&!u.has(I[R]))!==h.expect&&E.push(R);return E.length>=1?fr(v,`Property "${e}" ${h.message} ${QT(E.length,"property","properties")} ${yy(E,w)}`):!0}})}var X6e,Z6e,$6e,eje,tje,cJ,nje,Aje,RT,Yp,sI,Wu,Oje,Za=yt(()=>{X6e=/^[a-zA-Z_][a-zA-Z0-9_]*$/;Z6e=/^#[0-9a-f]{6}$/i,$6e=/^#[0-9a-f]{6}([0-9a-f]{2})?$/i,eje=/^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$/,tje=/^[a-f0-9]{8}-[a-f0-9]{4}-4[a-f0-9]{3}-[89aAbB][a-f0-9]{3}-[a-f0-9]{12}$/i,cJ=/^(?:[1-9]\d{3}(-?)(?:(?:0[1-9]|1[0-2])\1(?:0[1-9]|1\d|2[0-8])|(?:0[13-9]|1[0-2])\1(?:29|30)|(?:0[13578]|1[02])(?:\1)31|00[1-9]|0[1-9]\d|[12]\d{2}|3(?:[0-5]\d|6[0-5]))|(?:[1-9]\d(?:0[48]|[2468][048]|[13579][26])|(?:[2468][048]|[13579][26])00)(?:(-?)02(?:\2)29|-?366))T(?:[01]\d|2[0-3])(:?)[0-5]\d(?:\3[0-5]\d)?(?:Z|[+-][01]\d(?:\3[0-5]\d)?)$/;nje=new Map([["true",!0],["True",!0],["1",!0],[1,!0],["false",!1],["False",!1],["0",!1],[0,!1]]);Aje=e=>_r({test:(t,r)=>t instanceof e?!0:fr(r,`Expected an instance of ${e.name} (got ${Hn(t)})`)}),RT=(e,{exclusive:t=!1}={})=>_r({test:(r,o)=>{var a,n,u;let A=[],p=typeof o?.errors<"u"?[]:void 0;for(let h=0,w=e.length;h<w;++h){let I=typeof o?.errors<"u"?[]:void 0,v=typeof o?.coercions<"u"?[]:void 0;if(e[h](r,Object.assign(Object.assign({},o),{errors:I,coercions:v,p:`${(a=o?.p)!==null&&a!==void 0?a:"."}#${h+1}`}))){if(A.push([`#${h+1}`,v]),!t)break}else p?.push(I[0])}if(A.length===1){let[,h]=A[0];return typeof h<"u"&&((n=o?.coercions)===null||n===void 0||n.push(...h)),!0}return A.length>1?fr(o,`Expected to match exactly a single predicate (matched ${A.join(", ")})`):(u=o?.errors)===null||u===void 0||u.push(...p),!1}});Yp=class extends Error{constructor({errors:t}={}){let r="Type mismatch";if(t&&t.length>0){r+=` -`;for(let o of t)r+=` -- ${o}`}super(r)}};sI={missing:(e,t)=>e.has(t),undefined:(e,t,r)=>e.has(t)&&typeof r[t]<"u",nil:(e,t,r)=>e.has(t)&&r[t]!=null,falsy:(e,t,r)=>e.has(t)&&!!r[t]};(function(e){e.Forbids="Forbids",e.Requires="Requires"})(Wu||(Wu={}));Oje={[Wu.Forbids]:{expect:!1,message:"forbids using"},[Wu.Requires]:{expect:!0,message:"requires using"}}});var nt,Wp=yt(()=>{Ef();nt=class{constructor(){this.help=!1}static Usage(t){return t}async catch(t){throw t}async validateAndExecute(){let r=this.constructor.schema;if(Array.isArray(r)){let{isDict:a,isUnknown:n,applyCascade:u}=await Promise.resolve().then(()=>(Za(),Jo)),A=u(a(n()),r),p=[],h=[];if(!A(this,{errors:p,coercions:h}))throw rI("Invalid option schema",p);for(let[,I]of h)I()}else if(r!=null)throw new Error("Invalid command schema");let o=await this.execute();return typeof o<"u"?o:0}};nt.isOption=tI;nt.Default=[]});function va(e){ST&&console.log(e)}function dJ(){let e={nodes:[]};for(let t=0;t<ln.CustomNode;++t)e.nodes.push($a());return e}function Mje(e){let t=dJ(),r=[],o=t.nodes.length;for(let a of e){r.push(o);for(let n=0;n<a.nodes.length;++n)yJ(n)||t.nodes.push(Wje(a.nodes[n],o));o+=a.nodes.length-ln.CustomNode+1}for(let a of r)wy(t,ln.InitialNode,a);return t}function Oc(e,t){return e.nodes.push(t),e.nodes.length-1}function Uje(e){let t=new Set,r=o=>{if(t.has(o))return;t.add(o);let a=e.nodes[o];for(let u of Object.values(a.statics))for(let{to:A}of u)r(A);for(let[,{to:u}]of a.dynamics)r(u);for(let{to:u}of a.shortcuts)r(u);let n=new Set(a.shortcuts.map(({to:u})=>u));for(;a.shortcuts.length>0;){let{to:u}=a.shortcuts.shift(),A=e.nodes[u];for(let[p,h]of Object.entries(A.statics)){let w=Object.prototype.hasOwnProperty.call(a.statics,p)?a.statics[p]:a.statics[p]=[];for(let I of h)w.some(({to:v})=>I.to===v)||w.push(I)}for(let[p,h]of A.dynamics)a.dynamics.some(([w,{to:I}])=>p===w&&h.to===I)||a.dynamics.push([p,h]);for(let p of A.shortcuts)n.has(p.to)||(a.shortcuts.push(p),n.add(p.to))}};r(ln.InitialNode)}function _je(e,{prefix:t=""}={}){if(ST){va(`${t}Nodes are:`);for(let r=0;r<e.nodes.length;++r)va(`${t} ${r}: ${JSON.stringify(e.nodes[r])}`)}}function Hje(e,t,r=!1){va(`Running a vm on ${JSON.stringify(t)}`);let o=[{node:ln.InitialNode,state:{candidateUsage:null,requiredOptions:[],errorMessage:null,ignoreOptions:!1,options:[],path:[],positionals:[],remainder:null,selectedIndex:null,partial:!1,tokens:[]}}];_je(e,{prefix:" "});let a=[_n.StartOfInput,...t];for(let n=0;n<a.length;++n){let u=a[n],A=u===_n.EndOfInput||u===_n.EndOfPartialInput,p=n-1;va(` Processing ${JSON.stringify(u)}`);let h=[];for(let{node:w,state:I}of o){va(` Current node is ${w}`);let v=e.nodes[w];if(w===ln.ErrorNode){h.push({node:w,state:I});continue}console.assert(v.shortcuts.length===0,"Shortcuts should have been eliminated by now");let b=Object.prototype.hasOwnProperty.call(v.statics,u);if(!r||n<a.length-1||b)if(b){let E=v.statics[u];for(let{to:R,reducer:N}of E)h.push({node:R,state:typeof N<"u"?oS(MT,N,I,u,p):I}),va(` Static transition to ${R} found`)}else va(" No static transition found");else{let E=!1;for(let R of Object.keys(v.statics))if(!!R.startsWith(u)){if(u===R)for(let{to:N,reducer:U}of v.statics[R])h.push({node:N,state:typeof U<"u"?oS(MT,U,I,u,p):I}),va(` Static transition to ${N} found`);else for(let{to:N}of v.statics[R])h.push({node:N,state:{...I,remainder:R.slice(u.length)}}),va(` Static transition to ${N} found (partial match)`);E=!0}E||va(" No partial static transition found")}if(!A)for(let[E,{to:R,reducer:N}]of v.dynamics)oS(Kje,E,I,u,p)&&(h.push({node:R,state:typeof N<"u"?oS(MT,N,I,u,p):I}),va(` Dynamic transition to ${R} found (via ${E})`))}if(h.length===0&&A&&t.length===1)return[{node:ln.InitialNode,state:gJ}];if(h.length===0)throw new my(t,o.filter(({node:w})=>w!==ln.ErrorNode).map(({state:w})=>({usage:w.candidateUsage,reason:null})));if(h.every(({node:w})=>w===ln.ErrorNode))throw new my(t,h.map(({state:w})=>({usage:w.candidateUsage,reason:w.errorMessage})));o=qje(h)}if(o.length>0){va(" Results:");for(let n of o)va(` - ${n.node} -> ${JSON.stringify(n.state)}`)}else va(" No results");return o}function jje(e,t,{endToken:r=_n.EndOfInput}={}){let o=Hje(e,[...t,r]);return Gje(t,o.map(({state:a})=>a))}function qje(e){let t=0;for(let{state:r}of e)r.path.length>t&&(t=r.path.length);return e.filter(({state:r})=>r.path.length===t)}function Gje(e,t){let r=t.filter(v=>v.selectedIndex!==null),o=r.filter(v=>!v.partial);if(o.length>0&&(r=o),r.length===0)throw new Error;let a=r.filter(v=>v.selectedIndex===ed||v.requiredOptions.every(b=>b.some(E=>v.options.find(R=>R.name===E))));if(a.length===0)throw new my(e,r.map(v=>({usage:v.candidateUsage,reason:null})));let n=0;for(let v of a)v.path.length>n&&(n=v.path.length);let u=a.filter(v=>v.path.length===n),A=v=>v.positionals.filter(({extra:b})=>!b).length+v.options.length,p=u.map(v=>({state:v,positionalCount:A(v)})),h=0;for(let{positionalCount:v}of p)v>h&&(h=v);let w=p.filter(({positionalCount:v})=>v===h).map(({state:v})=>v),I=Yje(w);if(I.length>1)throw new eS(e,I.map(v=>v.candidateUsage));return I[0]}function Yje(e){let t=[],r=[];for(let o of e)o.selectedIndex===ed?r.push(o):t.push(o);return r.length>0&&t.push({...gJ,path:mJ(...r.map(o=>o.path)),options:r.reduce((o,a)=>o.concat(a.options),[])}),t}function mJ(e,t,...r){return t===void 0?Array.from(e):mJ(e.filter((o,a)=>o===t[a]),...r)}function $a(){return{dynamics:[],shortcuts:[],statics:{}}}function yJ(e){return e===ln.SuccessNode||e===ln.ErrorNode}function OT(e,t=0){return{to:yJ(e.to)?e.to:e.to>=ln.CustomNode?e.to+t-ln.CustomNode+1:e.to+t,reducer:e.reducer}}function Wje(e,t=0){let r=$a();for(let[o,a]of e.dynamics)r.dynamics.push([o,OT(a,t)]);for(let o of e.shortcuts)r.shortcuts.push(OT(o,t));for(let[o,a]of Object.entries(e.statics))r.statics[o]=a.map(n=>OT(n,t));return r}function xs(e,t,r,o,a){e.nodes[t].dynamics.push([r,{to:o,reducer:a}])}function wy(e,t,r,o){e.nodes[t].shortcuts.push({to:r,reducer:o})}function Vo(e,t,r,o,a){(Object.prototype.hasOwnProperty.call(e.nodes[t].statics,r)?e.nodes[t].statics[r]:e.nodes[t].statics[r]=[]).push({to:o,reducer:a})}function oS(e,t,r,o,a){if(Array.isArray(t)){let[n,...u]=t;return e[n](r,o,a,...u)}else return e[t](r,o,a)}var gJ,Kje,MT,el,UT,Cy,aS=yt(()=>{$D();tS();gJ={candidateUsage:null,requiredOptions:[],errorMessage:null,ignoreOptions:!1,path:[],positionals:[],options:[],remainder:null,selectedIndex:ed,partial:!1,tokens:[]};Kje={always:()=>!0,isOptionLike:(e,t)=>!e.ignoreOptions&&t!=="-"&&t.startsWith("-"),isNotOptionLike:(e,t)=>e.ignoreOptions||t==="-"||!t.startsWith("-"),isOption:(e,t,r,o)=>!e.ignoreOptions&&t===o,isBatchOption:(e,t,r,o)=>!e.ignoreOptions&&oJ.test(t)&&[...t.slice(1)].every(a=>o.has(`-${a}`)),isBoundOption:(e,t,r,o,a)=>{let n=t.match(DT);return!e.ignoreOptions&&!!n&&ZD.test(n[1])&&o.has(n[1])&&a.filter(u=>u.nameSet.includes(n[1])).every(u=>u.allowBinding)},isNegatedOption:(e,t,r,o)=>!e.ignoreOptions&&t===`--no-${o.slice(2)}`,isHelp:(e,t)=>!e.ignoreOptions&&vT.test(t),isUnsupportedOption:(e,t,r,o)=>!e.ignoreOptions&&t.startsWith("-")&&ZD.test(t)&&!o.has(t),isInvalidOption:(e,t)=>!e.ignoreOptions&&t.startsWith("-")&&!ZD.test(t)},MT={setCandidateState:(e,t,r,o)=>({...e,...o}),setSelectedIndex:(e,t,r,o)=>({...e,selectedIndex:o}),setPartialIndex:(e,t,r,o)=>({...e,selectedIndex:o,partial:!0}),pushBatch:(e,t,r,o)=>{let a=e.options.slice(),n=e.tokens.slice();for(let u=1;u<t.length;++u){let A=o.get(`-${t[u]}`),p=u===1?[0,2]:[u,u+1];a.push({name:A,value:!0}),n.push({segmentIndex:r,type:"option",option:A,slice:p})}return{...e,options:a,tokens:n}},pushBound:(e,t,r)=>{let[,o,a]=t.match(DT),n=e.options.concat({name:o,value:a}),u=e.tokens.concat([{segmentIndex:r,type:"option",slice:[0,o.length],option:o},{segmentIndex:r,type:"assign",slice:[o.length,o.length+1]},{segmentIndex:r,type:"value",slice:[o.length+1,o.length+a.length+1]}]);return{...e,options:n,tokens:u}},pushPath:(e,t,r)=>{let o=e.path.concat(t),a=e.tokens.concat({segmentIndex:r,type:"path"});return{...e,path:o,tokens:a}},pushPositional:(e,t,r)=>{let o=e.positionals.concat({value:t,extra:!1}),a=e.tokens.concat({segmentIndex:r,type:"positional"});return{...e,positionals:o,tokens:a}},pushExtra:(e,t,r)=>{let o=e.positionals.concat({value:t,extra:!0}),a=e.tokens.concat({segmentIndex:r,type:"positional"});return{...e,positionals:o,tokens:a}},pushExtraNoLimits:(e,t,r)=>{let o=e.positionals.concat({value:t,extra:el}),a=e.tokens.concat({segmentIndex:r,type:"positional"});return{...e,positionals:o,tokens:a}},pushTrue:(e,t,r,o)=>{let a=e.options.concat({name:o,value:!0}),n=e.tokens.concat({segmentIndex:r,type:"option",option:o});return{...e,options:a,tokens:n}},pushFalse:(e,t,r,o)=>{let a=e.options.concat({name:o,value:!1}),n=e.tokens.concat({segmentIndex:r,type:"option",option:o});return{...e,options:a,tokens:n}},pushUndefined:(e,t,r,o)=>{let a=e.options.concat({name:t,value:void 0}),n=e.tokens.concat({segmentIndex:r,type:"option",option:t});return{...e,options:a,tokens:n}},pushStringValue:(e,t,r)=>{var o;let a=e.options[e.options.length-1],n=e.options.slice(),u=e.tokens.concat({segmentIndex:r,type:"value"});return a.value=((o=a.value)!==null&&o!==void 0?o:[]).concat([t]),{...e,options:n,tokens:u}},setStringValue:(e,t,r)=>{let o=e.options[e.options.length-1],a=e.options.slice(),n=e.tokens.concat({segmentIndex:r,type:"value"});return o.value=t,{...e,options:a,tokens:n}},inhibateOptions:e=>({...e,ignoreOptions:!0}),useHelp:(e,t,r,o)=>{let[,,a]=t.match(vT);return typeof a<"u"?{...e,options:[{name:"-c",value:String(o)},{name:"-i",value:a}]}:{...e,options:[{name:"-c",value:String(o)}]}},setError:(e,t,r,o)=>t===_n.EndOfInput||t===_n.EndOfPartialInput?{...e,errorMessage:`${o}.`}:{...e,errorMessage:`${o} ("${t}").`},setOptionArityError:(e,t)=>{let r=e.options[e.options.length-1];return{...e,errorMessage:`Not enough arguments to option ${r.name}.`}}},el=Symbol(),UT=class{constructor(t,r){this.allOptionNames=new Map,this.arity={leading:[],trailing:[],extra:[],proxy:!1},this.options=[],this.paths=[],this.cliIndex=t,this.cliOpts=r}addPath(t){this.paths.push(t)}setArity({leading:t=this.arity.leading,trailing:r=this.arity.trailing,extra:o=this.arity.extra,proxy:a=this.arity.proxy}){Object.assign(this.arity,{leading:t,trailing:r,extra:o,proxy:a})}addPositional({name:t="arg",required:r=!0}={}){if(!r&&this.arity.extra===el)throw new Error("Optional parameters cannot be declared when using .rest() or .proxy()");if(!r&&this.arity.trailing.length>0)throw new Error("Optional parameters cannot be declared after the required trailing positional arguments");!r&&this.arity.extra!==el?this.arity.extra.push(t):this.arity.extra!==el&&this.arity.extra.length===0?this.arity.leading.push(t):this.arity.trailing.push(t)}addRest({name:t="arg",required:r=0}={}){if(this.arity.extra===el)throw new Error("Infinite lists cannot be declared multiple times in the same command");if(this.arity.trailing.length>0)throw new Error("Infinite lists cannot be declared after the required trailing positional arguments");for(let o=0;o<r;++o)this.addPositional({name:t});this.arity.extra=el}addProxy({required:t=0}={}){this.addRest({required:t}),this.arity.proxy=!0}addOption({names:t,description:r,arity:o=0,hidden:a=!1,required:n=!1,allowBinding:u=!0}){if(!u&&o>1)throw new Error("The arity cannot be higher than 1 when the option only supports the --arg=value syntax");if(!Number.isInteger(o))throw new Error(`The arity must be an integer, got ${o}`);if(o<0)throw new Error(`The arity must be positive, got ${o}`);let A=t.reduce((p,h)=>h.length>p.length?h:p,"");for(let p of t)this.allOptionNames.set(p,A);this.options.push({preferredName:A,nameSet:t,description:r,arity:o,hidden:a,required:n,allowBinding:u})}setContext(t){this.context=t}usage({detailed:t=!0,inlineOptions:r=!0}={}){let o=[this.cliOpts.binaryName],a=[];if(this.paths.length>0&&o.push(...this.paths[0]),t){for(let{preferredName:u,nameSet:A,arity:p,hidden:h,description:w,required:I}of this.options){if(h)continue;let v=[];for(let E=0;E<p;++E)v.push(` #${E}`);let b=`${A.join(",")}${v.join("")}`;!r&&w?a.push({preferredName:u,nameSet:A,definition:b,description:w,required:I}):o.push(I?`<${b}>`:`[${b}]`)}o.push(...this.arity.leading.map(u=>`<${u}>`)),this.arity.extra===el?o.push("..."):o.push(...this.arity.extra.map(u=>`[${u}]`)),o.push(...this.arity.trailing.map(u=>`<${u}>`))}return{usage:o.join(" "),options:a}}compile(){if(typeof this.context>"u")throw new Error("Assertion failed: No context attached");let t=dJ(),r=ln.InitialNode,o=this.usage().usage,a=this.options.filter(A=>A.required).map(A=>A.nameSet);r=Oc(t,$a()),Vo(t,ln.InitialNode,_n.StartOfInput,r,["setCandidateState",{candidateUsage:o,requiredOptions:a}]);let n=this.arity.proxy?"always":"isNotOptionLike",u=this.paths.length>0?this.paths:[[]];for(let A of u){let p=r;if(A.length>0){let v=Oc(t,$a());wy(t,p,v),this.registerOptions(t,v),p=v}for(let v=0;v<A.length;++v){let b=Oc(t,$a());Vo(t,p,A[v],b,"pushPath"),p=b}if(this.arity.leading.length>0||!this.arity.proxy){let v=Oc(t,$a());xs(t,p,"isHelp",v,["useHelp",this.cliIndex]),xs(t,v,"always",v,"pushExtra"),Vo(t,v,_n.EndOfInput,ln.SuccessNode,["setSelectedIndex",ed]),this.registerOptions(t,p)}this.arity.leading.length>0&&(Vo(t,p,_n.EndOfInput,ln.ErrorNode,["setError","Not enough positional arguments"]),Vo(t,p,_n.EndOfPartialInput,ln.SuccessNode,["setPartialIndex",this.cliIndex]));let h=p;for(let v=0;v<this.arity.leading.length;++v){let b=Oc(t,$a());(!this.arity.proxy||v+1!==this.arity.leading.length)&&this.registerOptions(t,b),(this.arity.trailing.length>0||v+1!==this.arity.leading.length)&&(Vo(t,b,_n.EndOfInput,ln.ErrorNode,["setError","Not enough positional arguments"]),Vo(t,b,_n.EndOfPartialInput,ln.SuccessNode,["setPartialIndex",this.cliIndex])),xs(t,h,"isNotOptionLike",b,"pushPositional"),h=b}let w=h;if(this.arity.extra===el||this.arity.extra.length>0){let v=Oc(t,$a());if(wy(t,h,v),this.arity.extra===el){let b=Oc(t,$a());this.arity.proxy||this.registerOptions(t,b),xs(t,h,n,b,"pushExtraNoLimits"),xs(t,b,n,b,"pushExtraNoLimits"),wy(t,b,v)}else for(let b=0;b<this.arity.extra.length;++b){let E=Oc(t,$a());(!this.arity.proxy||b>0)&&this.registerOptions(t,E),xs(t,w,n,E,"pushExtra"),wy(t,E,v),w=E}w=v}this.arity.trailing.length>0&&(Vo(t,w,_n.EndOfInput,ln.ErrorNode,["setError","Not enough positional arguments"]),Vo(t,w,_n.EndOfPartialInput,ln.SuccessNode,["setPartialIndex",this.cliIndex]));let I=w;for(let v=0;v<this.arity.trailing.length;++v){let b=Oc(t,$a());this.arity.proxy||this.registerOptions(t,b),v+1<this.arity.trailing.length&&(Vo(t,b,_n.EndOfInput,ln.ErrorNode,["setError","Not enough positional arguments"]),Vo(t,b,_n.EndOfPartialInput,ln.SuccessNode,["setPartialIndex",this.cliIndex])),xs(t,I,"isNotOptionLike",b,"pushPositional"),I=b}xs(t,I,n,ln.ErrorNode,["setError","Extraneous positional argument"]),Vo(t,I,_n.EndOfInput,ln.SuccessNode,["setSelectedIndex",this.cliIndex]),Vo(t,I,_n.EndOfPartialInput,ln.SuccessNode,["setSelectedIndex",this.cliIndex])}return{machine:t,context:this.context}}registerOptions(t,r){xs(t,r,["isOption","--"],r,"inhibateOptions"),xs(t,r,["isBatchOption",this.allOptionNames],r,["pushBatch",this.allOptionNames]),xs(t,r,["isBoundOption",this.allOptionNames,this.options],r,"pushBound"),xs(t,r,["isUnsupportedOption",this.allOptionNames],ln.ErrorNode,["setError","Unsupported option name"]),xs(t,r,["isInvalidOption"],ln.ErrorNode,["setError","Invalid option name"]);for(let o of this.options)if(o.arity===0)for(let a of o.nameSet)xs(t,r,["isOption",a],r,["pushTrue",o.preferredName]),a.startsWith("--")&&!a.startsWith("--no-")&&xs(t,r,["isNegatedOption",a],r,["pushFalse",o.preferredName]);else{let a=Oc(t,$a());for(let n of o.nameSet)xs(t,r,["isOption",n],a,["pushUndefined",o.preferredName]);for(let n=0;n<o.arity;++n){let u=Oc(t,$a());Vo(t,a,_n.EndOfInput,ln.ErrorNode,"setOptionArityError"),Vo(t,a,_n.EndOfPartialInput,ln.ErrorNode,"setOptionArityError"),xs(t,a,"isOptionLike",ln.ErrorNode,"setOptionArityError");let A=o.arity===1?"setStringValue":"pushStringValue";xs(t,a,"isNotOptionLike",u,A),a=u}wy(t,a,r)}}},Cy=class{constructor({binaryName:t="..."}={}){this.builders=[],this.opts={binaryName:t}}static build(t,r={}){return new Cy(r).commands(t).compile()}getBuilderByIndex(t){if(!(t>=0&&t<this.builders.length))throw new Error(`Assertion failed: Out-of-bound command index (${t})`);return this.builders[t]}commands(t){for(let r of t)r(this.command());return this}command(){let t=new UT(this.builders.length,this.opts);return this.builders.push(t),t}compile(){let t=[],r=[];for(let a of this.builders){let{machine:n,context:u}=a.compile();t.push(n),r.push(u)}let o=Mje(t);return Uje(o),{machine:o,contexts:r,process:(a,{partial:n}={})=>{let u=n?_n.EndOfPartialInput:_n.EndOfInput;return jje(o,a,{endToken:u})}}}}});function wJ(){return lS.default&&"getColorDepth"in lS.default.WriteStream.prototype?lS.default.WriteStream.prototype.getColorDepth():process.env.FORCE_COLOR==="0"?1:process.env.FORCE_COLOR==="1"||typeof process.stdout<"u"&&process.stdout.isTTY?8:1}function CJ(e){let t=EJ;if(typeof t>"u"){if(e.stdout===process.stdout&&e.stderr===process.stderr)return null;let{AsyncLocalStorage:r}=Ie("async_hooks");t=EJ=new r;let o=process.stdout._write;process.stdout._write=function(n,u,A){let p=t.getStore();return typeof p>"u"?o.call(this,n,u,A):p.stdout.write(n,u,A)};let a=process.stderr._write;process.stderr._write=function(n,u,A){let p=t.getStore();return typeof p>"u"?a.call(this,n,u,A):p.stderr.write(n,u,A)}}return r=>t.run(e,r)}var lS,EJ,IJ=yt(()=>{lS=$e(Ie("tty"),1)});var Iy,BJ=yt(()=>{Wp();Iy=class extends nt{constructor(t){super(),this.contexts=t,this.commands=[]}static from(t,r){let o=new Iy(r);o.path=t.path;for(let a of t.options)switch(a.name){case"-c":o.commands.push(Number(a.value));break;case"-i":o.index=Number(a.value);break}return o}async execute(){let t=this.commands;if(typeof this.index<"u"&&this.index>=0&&this.index<t.length&&(t=[t[this.index]]),t.length===0)this.context.stdout.write(this.cli.usage());else if(t.length===1)this.context.stdout.write(this.cli.usage(this.contexts[t[0]].commandClass,{detailed:!0}));else if(t.length>1){this.context.stdout.write(`Multiple commands match your selection: -`),this.context.stdout.write(` -`);let r=0;for(let o of this.commands)this.context.stdout.write(this.cli.usage(this.contexts[o].commandClass,{prefix:`${r++}. `.padStart(5)}));this.context.stdout.write(` -`),this.context.stdout.write(`Run again with -h=<index> to see the longer details of any of those commands. -`)}}}});async function SJ(...e){let{resolvedOptions:t,resolvedCommandClasses:r,resolvedArgv:o,resolvedContext:a}=xJ(e);return os.from(r,t).runExit(o,a)}async function PJ(...e){let{resolvedOptions:t,resolvedCommandClasses:r,resolvedArgv:o,resolvedContext:a}=xJ(e);return os.from(r,t).run(o,a)}function xJ(e){let t,r,o,a;switch(typeof process<"u"&&typeof process.argv<"u"&&(o=process.argv.slice(2)),e.length){case 1:r=e[0];break;case 2:e[0]&&e[0].prototype instanceof nt||Array.isArray(e[0])?(r=e[0],Array.isArray(e[1])?o=e[1]:a=e[1]):(t=e[0],r=e[1]);break;case 3:Array.isArray(e[2])?(t=e[0],r=e[1],o=e[2]):e[0]&&e[0].prototype instanceof nt||Array.isArray(e[0])?(r=e[0],o=e[1],a=e[2]):(t=e[0],r=e[1],a=e[2]);break;default:t=e[0],r=e[1],o=e[2],a=e[3];break}if(typeof o>"u")throw new Error("The argv parameter must be provided when running Clipanion outside of a Node context");return{resolvedOptions:t,resolvedCommandClasses:r,resolvedArgv:o,resolvedContext:a}}function DJ(e){return e()}var vJ,os,bJ=yt(()=>{$D();aS();bT();IJ();Wp();BJ();vJ=Symbol("clipanion/errorCommand");os=class{constructor({binaryLabel:t,binaryName:r="...",binaryVersion:o,enableCapture:a=!1,enableColors:n}={}){this.registrations=new Map,this.builder=new Cy({binaryName:r}),this.binaryLabel=t,this.binaryName=r,this.binaryVersion=o,this.enableCapture=a,this.enableColors=n}static from(t,r={}){let o=new os(r),a=Array.isArray(t)?t:[t];for(let n of a)o.register(n);return o}register(t){var r;let o=new Map,a=new t;for(let p in a){let h=a[p];typeof h=="object"&&h!==null&&h[nt.isOption]&&o.set(p,h)}let n=this.builder.command(),u=n.cliIndex,A=(r=t.paths)!==null&&r!==void 0?r:a.paths;if(typeof A<"u")for(let p of A)n.addPath(p);this.registrations.set(t,{specs:o,builder:n,index:u});for(let[p,{definition:h}]of o.entries())h(n,p);n.setContext({commandClass:t})}process(t,r){let{input:o,context:a,partial:n}=typeof t=="object"&&Array.isArray(t)?{input:t,context:r}:t,{contexts:u,process:A}=this.builder.compile(),p=A(o,{partial:n}),h={...os.defaultContext,...a};switch(p.selectedIndex){case ed:{let w=Iy.from(p,u);return w.context=h,w.tokens=p.tokens,w}default:{let{commandClass:w}=u[p.selectedIndex],I=this.registrations.get(w);if(typeof I>"u")throw new Error("Assertion failed: Expected the command class to have been registered.");let v=new w;v.context=h,v.tokens=p.tokens,v.path=p.path;try{for(let[b,{transformer:E}]of I.specs.entries())v[b]=E(I.builder,b,p,h);return v}catch(b){throw b[vJ]=v,b}}break}}async run(t,r){var o,a;let n,u={...os.defaultContext,...r},A=(o=this.enableColors)!==null&&o!==void 0?o:u.colorDepth>1;if(!Array.isArray(t))n=t;else try{n=this.process(t,u)}catch(w){return u.stdout.write(this.error(w,{colored:A})),1}if(n.help)return u.stdout.write(this.usage(n,{colored:A,detailed:!0})),0;n.context=u,n.cli={binaryLabel:this.binaryLabel,binaryName:this.binaryName,binaryVersion:this.binaryVersion,enableCapture:this.enableCapture,enableColors:this.enableColors,definitions:()=>this.definitions(),definition:w=>this.definition(w),error:(w,I)=>this.error(w,I),format:w=>this.format(w),process:(w,I)=>this.process(w,{...u,...I}),run:(w,I)=>this.run(w,{...u,...I}),usage:(w,I)=>this.usage(w,I)};let p=this.enableCapture&&(a=CJ(u))!==null&&a!==void 0?a:DJ,h;try{h=await p(()=>n.validateAndExecute().catch(w=>n.catch(w).then(()=>0)))}catch(w){return u.stdout.write(this.error(w,{colored:A,command:n})),1}return h}async runExit(t,r){process.exitCode=await this.run(t,r)}definition(t,{colored:r=!1}={}){if(!t.usage)return null;let{usage:o}=this.getUsageByRegistration(t,{detailed:!1}),{usage:a,options:n}=this.getUsageByRegistration(t,{detailed:!0,inlineOptions:!1}),u=typeof t.usage.category<"u"?Do(t.usage.category,{format:this.format(r),paragraphs:!1}):void 0,A=typeof t.usage.description<"u"?Do(t.usage.description,{format:this.format(r),paragraphs:!1}):void 0,p=typeof t.usage.details<"u"?Do(t.usage.details,{format:this.format(r),paragraphs:!0}):void 0,h=typeof t.usage.examples<"u"?t.usage.examples.map(([w,I])=>[Do(w,{format:this.format(r),paragraphs:!1}),I.replace(/\$0/g,this.binaryName)]):void 0;return{path:o,usage:a,category:u,description:A,details:p,examples:h,options:n}}definitions({colored:t=!1}={}){let r=[];for(let o of this.registrations.keys()){let a=this.definition(o,{colored:t});!a||r.push(a)}return r}usage(t=null,{colored:r,detailed:o=!1,prefix:a="$ "}={}){var n;if(t===null){for(let p of this.registrations.keys()){let h=p.paths,w=typeof p.usage<"u";if(!h||h.length===0||h.length===1&&h[0].length===0||((n=h?.some(b=>b.length===0))!==null&&n!==void 0?n:!1))if(t){t=null;break}else t=p;else if(w){t=null;continue}}t&&(o=!0)}let u=t!==null&&t instanceof nt?t.constructor:t,A="";if(u)if(o){let{description:p="",details:h="",examples:w=[]}=u.usage||{};p!==""&&(A+=Do(p,{format:this.format(r),paragraphs:!1}).replace(/^./,b=>b.toUpperCase()),A+=` -`),(h!==""||w.length>0)&&(A+=`${this.format(r).header("Usage")} -`,A+=` -`);let{usage:I,options:v}=this.getUsageByRegistration(u,{inlineOptions:!1});if(A+=`${this.format(r).bold(a)}${I} -`,v.length>0){A+=` -`,A+=`${this.format(r).header("Options")} -`;let b=v.reduce((E,R)=>Math.max(E,R.definition.length),0);A+=` -`;for(let{definition:E,description:R}of v)A+=` ${this.format(r).bold(E.padEnd(b))} ${Do(R,{format:this.format(r),paragraphs:!1})}`}if(h!==""&&(A+=` -`,A+=`${this.format(r).header("Details")} -`,A+=` -`,A+=Do(h,{format:this.format(r),paragraphs:!0})),w.length>0){A+=` -`,A+=`${this.format(r).header("Examples")} -`;for(let[b,E]of w)A+=` -`,A+=Do(b,{format:this.format(r),paragraphs:!1}),A+=`${E.replace(/^/m,` ${this.format(r).bold(a)}`).replace(/\$0/g,this.binaryName)} -`}}else{let{usage:p}=this.getUsageByRegistration(u);A+=`${this.format(r).bold(a)}${p} -`}else{let p=new Map;for(let[v,{index:b}]of this.registrations.entries()){if(typeof v.usage>"u")continue;let E=typeof v.usage.category<"u"?Do(v.usage.category,{format:this.format(r),paragraphs:!1}):null,R=p.get(E);typeof R>"u"&&p.set(E,R=[]);let{usage:N}=this.getUsageByIndex(b);R.push({commandClass:v,usage:N})}let h=Array.from(p.keys()).sort((v,b)=>v===null?-1:b===null?1:v.localeCompare(b,"en",{usage:"sort",caseFirst:"upper"})),w=typeof this.binaryLabel<"u",I=typeof this.binaryVersion<"u";w||I?(w&&I?A+=`${this.format(r).header(`${this.binaryLabel} - ${this.binaryVersion}`)} - -`:w?A+=`${this.format(r).header(`${this.binaryLabel}`)} -`:A+=`${this.format(r).header(`${this.binaryVersion}`)} -`,A+=` ${this.format(r).bold(a)}${this.binaryName} <command> -`):A+=`${this.format(r).bold(a)}${this.binaryName} <command> -`;for(let v of h){let b=p.get(v).slice().sort((R,N)=>R.usage.localeCompare(N.usage,"en",{usage:"sort",caseFirst:"upper"})),E=v!==null?v.trim():"General commands";A+=` -`,A+=`${this.format(r).header(`${E}`)} -`;for(let{commandClass:R,usage:N}of b){let U=R.usage.description||"undocumented";A+=` -`,A+=` ${this.format(r).bold(N)} -`,A+=` ${Do(U,{format:this.format(r),paragraphs:!1})}`}}A+=` -`,A+=Do("You can also print more details about any of these commands by calling them with the `-h,--help` flag right after the command name.",{format:this.format(r),paragraphs:!0})}return A}error(t,r){var o,{colored:a,command:n=(o=t[vJ])!==null&&o!==void 0?o:null}=r===void 0?{}:r;(!t||typeof t!="object"||!("stack"in t))&&(t=new Error(`Execution failed with a non-error rejection (rejected value: ${JSON.stringify(t)})`));let u="",A=t.name.replace(/([a-z])([A-Z])/g,"$1 $2");A==="Error"&&(A="Internal Error"),u+=`${this.format(a).error(A)}: ${t.message} -`;let p=t.clipanion;return typeof p<"u"?p.type==="usage"&&(u+=` -`,u+=this.usage(n)):t.stack&&(u+=`${t.stack.replace(/^.*\n/,"")} -`),u}format(t){var r;return((r=t??this.enableColors)!==null&&r!==void 0?r:os.defaultContext.colorDepth>1)?aJ:lJ}getUsageByRegistration(t,r){let o=this.registrations.get(t);if(typeof o>"u")throw new Error("Assertion failed: Unregistered command");return this.getUsageByIndex(o.index,r)}getUsageByIndex(t,r){return this.builder.getBuilderByIndex(t).usage(r)}};os.defaultContext={env:process.env,stdin:process.stdin,stdout:process.stdout,stderr:process.stderr,colorDepth:wJ()}});var aI,QJ=yt(()=>{Wp();aI=class extends nt{async execute(){this.context.stdout.write(`${JSON.stringify(this.cli.definitions(),null,2)} -`)}};aI.paths=[["--clipanion=definitions"]]});var lI,kJ=yt(()=>{Wp();lI=class extends nt{async execute(){this.context.stdout.write(this.cli.usage())}};lI.paths=[["-h"],["--help"]]});function cS(e={}){return Ko({definition(t,r){var o;t.addProxy({name:(o=e.name)!==null&&o!==void 0?o:r,required:e.required})},transformer(t,r,o){return o.positionals.map(({value:a})=>a)}})}var _T=yt(()=>{Ef()});var cI,FJ=yt(()=>{Wp();_T();cI=class extends nt{constructor(){super(...arguments),this.args=cS()}async execute(){this.context.stdout.write(`${JSON.stringify(this.cli.process(this.args).tokens,null,2)} -`)}};cI.paths=[["--clipanion=tokens"]]});var uI,RJ=yt(()=>{Wp();uI=class extends nt{async execute(){var t;this.context.stdout.write(`${(t=this.cli.binaryVersion)!==null&&t!==void 0?t:"<unknown>"} -`)}};uI.paths=[["-v"],["--version"]]});var HT={};Jt(HT,{DefinitionsCommand:()=>aI,HelpCommand:()=>lI,TokensCommand:()=>cI,VersionCommand:()=>uI});var TJ=yt(()=>{QJ();kJ();FJ();RJ()});function NJ(e,t,r){let[o,a]=Yu(t,r??{}),{arity:n=1}=a,u=e.split(","),A=new Set(u);return Ko({definition(p){p.addOption({names:u,arity:n,hidden:a?.hidden,description:a?.description,required:a.required})},transformer(p,h,w){let I,v=typeof o<"u"?[...o]:void 0;for(let{name:b,value:E}of w.options)!A.has(b)||(I=b,v=v??[],v.push(E));return typeof v<"u"?td(I??h,v,a.validator):v}})}var LJ=yt(()=>{Ef()});function OJ(e,t,r){let[o,a]=Yu(t,r??{}),n=e.split(","),u=new Set(n);return Ko({definition(A){A.addOption({names:n,allowBinding:!1,arity:0,hidden:a.hidden,description:a.description,required:a.required})},transformer(A,p,h){let w=o;for(let{name:I,value:v}of h.options)!u.has(I)||(w=v);return w}})}var MJ=yt(()=>{Ef()});function UJ(e,t,r){let[o,a]=Yu(t,r??{}),n=e.split(","),u=new Set(n);return Ko({definition(A){A.addOption({names:n,allowBinding:!1,arity:0,hidden:a.hidden,description:a.description,required:a.required})},transformer(A,p,h){let w=o;for(let{name:I,value:v}of h.options)!u.has(I)||(w??(w=0),v?w+=1:w=0);return w}})}var _J=yt(()=>{Ef()});function HJ(e={}){return Ko({definition(t,r){var o;t.addRest({name:(o=e.name)!==null&&o!==void 0?o:r,required:e.required})},transformer(t,r,o){let a=u=>{let A=o.positionals[u];return A.extra===el||A.extra===!1&&u<t.arity.leading.length},n=0;for(;n<o.positionals.length&&a(n);)n+=1;return o.positionals.splice(0,n).map(({value:u})=>u)}})}var jJ=yt(()=>{aS();Ef()});function Jje(e,t,r){let[o,a]=Yu(t,r??{}),{arity:n=1}=a,u=e.split(","),A=new Set(u);return Ko({definition(p){p.addOption({names:u,arity:a.tolerateBoolean?0:n,hidden:a.hidden,description:a.description,required:a.required})},transformer(p,h,w,I){let v,b=o;typeof a.env<"u"&&I.env[a.env]&&(v=a.env,b=I.env[a.env]);for(let{name:E,value:R}of w.options)!A.has(E)||(v=E,b=R);return typeof b=="string"?td(v??h,b,a.validator):b}})}function Vje(e={}){let{required:t=!0}=e;return Ko({definition(r,o){var a;r.addPositional({name:(a=e.name)!==null&&a!==void 0?a:o,required:e.required})},transformer(r,o,a){var n;for(let u=0;u<a.positionals.length;++u){if(a.positionals[u].extra===el||t&&a.positionals[u].extra===!0||!t&&a.positionals[u].extra===!1)continue;let[A]=a.positionals.splice(u,1);return td((n=e.name)!==null&&n!==void 0?n:o,A.value,e.validator)}}})}function qJ(e,...t){return typeof e=="string"?Jje(e,...t):Vje(e)}var GJ=yt(()=>{aS();Ef()});var he={};Jt(he,{Array:()=>NJ,Boolean:()=>OJ,Counter:()=>UJ,Proxy:()=>cS,Rest:()=>HJ,String:()=>qJ,applyValidator:()=>td,cleanValidationError:()=>rS,formatError:()=>rI,isOptionSymbol:()=>tI,makeCommandOption:()=>Ko,rerouteArguments:()=>Yu});var YJ=yt(()=>{Ef();_T();LJ();MJ();_J();jJ();GJ()});var AI={};Jt(AI,{Builtins:()=>HT,Cli:()=>os,Command:()=>nt,Option:()=>he,UsageError:()=>it,formatMarkdownish:()=>Do,run:()=>PJ,runExit:()=>SJ});var qt=yt(()=>{tS();bT();Wp();bJ();TJ();YJ()});var WJ=_((sQt,zje)=>{zje.exports={name:"dotenv",version:"16.3.1",description:"Loads environment variables from .env file",main:"lib/main.js",types:"lib/main.d.ts",exports:{".":{types:"./lib/main.d.ts",require:"./lib/main.js",default:"./lib/main.js"},"./config":"./config.js","./config.js":"./config.js","./lib/env-options":"./lib/env-options.js","./lib/env-options.js":"./lib/env-options.js","./lib/cli-options":"./lib/cli-options.js","./lib/cli-options.js":"./lib/cli-options.js","./package.json":"./package.json"},scripts:{"dts-check":"tsc --project tests/types/tsconfig.json",lint:"standard","lint-readme":"standard-markdown",pretest:"npm run lint && npm run dts-check",test:"tap tests/*.js --100 -Rspec",prerelease:"npm test",release:"standard-version"},repository:{type:"git",url:"git://github.com/motdotla/dotenv.git"},funding:"https://github.com/motdotla/dotenv?sponsor=1",keywords:["dotenv","env",".env","environment","variables","config","settings"],readmeFilename:"README.md",license:"BSD-2-Clause",devDependencies:{"@definitelytyped/dtslint":"^0.0.133","@types/node":"^18.11.3",decache:"^4.6.1",sinon:"^14.0.1",standard:"^17.0.0","standard-markdown":"^7.1.0","standard-version":"^9.5.0",tap:"^16.3.0",tar:"^6.1.11",typescript:"^4.8.4"},engines:{node:">=12"},browser:{fs:!1}}});var zJ=_((oQt,wf)=>{var KJ=Ie("fs"),qT=Ie("path"),Xje=Ie("os"),Zje=Ie("crypto"),$je=WJ(),GT=$je.version,eqe=/(?:^|^)\s*(?:export\s+)?([\w.-]+)(?:\s*=\s*?|:\s+?)(\s*'(?:\\'|[^'])*'|\s*"(?:\\"|[^"])*"|\s*`(?:\\`|[^`])*`|[^#\r\n]+)?\s*(?:#.*)?(?:$|$)/mg;function tqe(e){let t={},r=e.toString();r=r.replace(/\r\n?/mg,` -`);let o;for(;(o=eqe.exec(r))!=null;){let a=o[1],n=o[2]||"";n=n.trim();let u=n[0];n=n.replace(/^(['"`])([\s\S]*)\1$/mg,"$2"),u==='"'&&(n=n.replace(/\\n/g,` -`),n=n.replace(/\\r/g,"\r")),t[a]=n}return t}function rqe(e){let t=VJ(e),r=bs.configDotenv({path:t});if(!r.parsed)throw new Error(`MISSING_DATA: Cannot parse ${t} for an unknown reason`);let o=JJ(e).split(","),a=o.length,n;for(let u=0;u<a;u++)try{let A=o[u].trim(),p=sqe(r,A);n=bs.decrypt(p.ciphertext,p.key);break}catch(A){if(u+1>=a)throw A}return bs.parse(n)}function nqe(e){console.log(`[dotenv@${GT}][INFO] ${e}`)}function iqe(e){console.log(`[dotenv@${GT}][WARN] ${e}`)}function jT(e){console.log(`[dotenv@${GT}][DEBUG] ${e}`)}function JJ(e){return e&&e.DOTENV_KEY&&e.DOTENV_KEY.length>0?e.DOTENV_KEY:process.env.DOTENV_KEY&&process.env.DOTENV_KEY.length>0?process.env.DOTENV_KEY:""}function sqe(e,t){let r;try{r=new URL(t)}catch(A){throw A.code==="ERR_INVALID_URL"?new Error("INVALID_DOTENV_KEY: Wrong format. Must be in valid uri format like dotenv://:key_1234@dotenv.org/vault/.env.vault?environment=development"):A}let o=r.password;if(!o)throw new Error("INVALID_DOTENV_KEY: Missing key part");let a=r.searchParams.get("environment");if(!a)throw new Error("INVALID_DOTENV_KEY: Missing environment part");let n=`DOTENV_VAULT_${a.toUpperCase()}`,u=e.parsed[n];if(!u)throw new Error(`NOT_FOUND_DOTENV_ENVIRONMENT: Cannot locate environment ${n} in your .env.vault file.`);return{ciphertext:u,key:o}}function VJ(e){let t=qT.resolve(process.cwd(),".env");return e&&e.path&&e.path.length>0&&(t=e.path),t.endsWith(".vault")?t:`${t}.vault`}function oqe(e){return e[0]==="~"?qT.join(Xje.homedir(),e.slice(1)):e}function aqe(e){nqe("Loading env from encrypted .env.vault");let t=bs._parseVault(e),r=process.env;return e&&e.processEnv!=null&&(r=e.processEnv),bs.populate(r,t,e),{parsed:t}}function lqe(e){let t=qT.resolve(process.cwd(),".env"),r="utf8",o=Boolean(e&&e.debug);e&&(e.path!=null&&(t=oqe(e.path)),e.encoding!=null&&(r=e.encoding));try{let a=bs.parse(KJ.readFileSync(t,{encoding:r})),n=process.env;return e&&e.processEnv!=null&&(n=e.processEnv),bs.populate(n,a,e),{parsed:a}}catch(a){return o&&jT(`Failed to load ${t} ${a.message}`),{error:a}}}function cqe(e){let t=VJ(e);return JJ(e).length===0?bs.configDotenv(e):KJ.existsSync(t)?bs._configVault(e):(iqe(`You set DOTENV_KEY but you are missing a .env.vault file at ${t}. Did you forget to build it?`),bs.configDotenv(e))}function uqe(e,t){let r=Buffer.from(t.slice(-64),"hex"),o=Buffer.from(e,"base64"),a=o.slice(0,12),n=o.slice(-16);o=o.slice(12,-16);try{let u=Zje.createDecipheriv("aes-256-gcm",r,a);return u.setAuthTag(n),`${u.update(o)}${u.final()}`}catch(u){let A=u instanceof RangeError,p=u.message==="Invalid key length",h=u.message==="Unsupported state or unable to authenticate data";if(A||p){let w="INVALID_DOTENV_KEY: It must be 64 characters long (or more)";throw new Error(w)}else if(h){let w="DECRYPTION_FAILED: Please check your DOTENV_KEY";throw new Error(w)}else throw console.error("Error: ",u.code),console.error("Error: ",u.message),u}}function Aqe(e,t,r={}){let o=Boolean(r&&r.debug),a=Boolean(r&&r.override);if(typeof t!="object")throw new Error("OBJECT_REQUIRED: Please check the processEnv argument being passed to populate");for(let n of Object.keys(t))Object.prototype.hasOwnProperty.call(e,n)?(a===!0&&(e[n]=t[n]),o&&jT(a===!0?`"${n}" is already defined and WAS overwritten`:`"${n}" is already defined and was NOT overwritten`)):e[n]=t[n]}var bs={configDotenv:lqe,_configVault:aqe,_parseVault:rqe,config:cqe,decrypt:uqe,parse:tqe,populate:Aqe};wf.exports.configDotenv=bs.configDotenv;wf.exports._configVault=bs._configVault;wf.exports._parseVault=bs._parseVault;wf.exports.config=bs.config;wf.exports.decrypt=bs.decrypt;wf.exports.parse=bs.parse;wf.exports.populate=bs.populate;wf.exports=bs});var ZJ=_((aQt,XJ)=>{"use strict";XJ.exports=(e,...t)=>new Promise(r=>{r(e(...t))})});var nd=_((lQt,YT)=>{"use strict";var fqe=ZJ(),$J=e=>{if(e<1)throw new TypeError("Expected `concurrency` to be a number from 1 and up");let t=[],r=0,o=()=>{r--,t.length>0&&t.shift()()},a=(A,p,...h)=>{r++;let w=fqe(A,...h);p(w),w.then(o,o)},n=(A,p,...h)=>{r<e?a(A,p,...h):t.push(a.bind(null,A,p,...h))},u=(A,...p)=>new Promise(h=>n(A,h,...p));return Object.defineProperties(u,{activeCount:{get:()=>r},pendingCount:{get:()=>t.length}}),u};YT.exports=$J;YT.exports.default=$J});function Ju(e){return`YN${e.toString(10).padStart(4,"0")}`}function uS(e){let t=Number(e.slice(2));if(typeof wr[t]>"u")throw new Error(`Unknown message name: "${e}"`);return t}var wr,AS=yt(()=>{wr=(ve=>(ve[ve.UNNAMED=0]="UNNAMED",ve[ve.EXCEPTION=1]="EXCEPTION",ve[ve.MISSING_PEER_DEPENDENCY=2]="MISSING_PEER_DEPENDENCY",ve[ve.CYCLIC_DEPENDENCIES=3]="CYCLIC_DEPENDENCIES",ve[ve.DISABLED_BUILD_SCRIPTS=4]="DISABLED_BUILD_SCRIPTS",ve[ve.BUILD_DISABLED=5]="BUILD_DISABLED",ve[ve.SOFT_LINK_BUILD=6]="SOFT_LINK_BUILD",ve[ve.MUST_BUILD=7]="MUST_BUILD",ve[ve.MUST_REBUILD=8]="MUST_REBUILD",ve[ve.BUILD_FAILED=9]="BUILD_FAILED",ve[ve.RESOLVER_NOT_FOUND=10]="RESOLVER_NOT_FOUND",ve[ve.FETCHER_NOT_FOUND=11]="FETCHER_NOT_FOUND",ve[ve.LINKER_NOT_FOUND=12]="LINKER_NOT_FOUND",ve[ve.FETCH_NOT_CACHED=13]="FETCH_NOT_CACHED",ve[ve.YARN_IMPORT_FAILED=14]="YARN_IMPORT_FAILED",ve[ve.REMOTE_INVALID=15]="REMOTE_INVALID",ve[ve.REMOTE_NOT_FOUND=16]="REMOTE_NOT_FOUND",ve[ve.RESOLUTION_PACK=17]="RESOLUTION_PACK",ve[ve.CACHE_CHECKSUM_MISMATCH=18]="CACHE_CHECKSUM_MISMATCH",ve[ve.UNUSED_CACHE_ENTRY=19]="UNUSED_CACHE_ENTRY",ve[ve.MISSING_LOCKFILE_ENTRY=20]="MISSING_LOCKFILE_ENTRY",ve[ve.WORKSPACE_NOT_FOUND=21]="WORKSPACE_NOT_FOUND",ve[ve.TOO_MANY_MATCHING_WORKSPACES=22]="TOO_MANY_MATCHING_WORKSPACES",ve[ve.CONSTRAINTS_MISSING_DEPENDENCY=23]="CONSTRAINTS_MISSING_DEPENDENCY",ve[ve.CONSTRAINTS_INCOMPATIBLE_DEPENDENCY=24]="CONSTRAINTS_INCOMPATIBLE_DEPENDENCY",ve[ve.CONSTRAINTS_EXTRANEOUS_DEPENDENCY=25]="CONSTRAINTS_EXTRANEOUS_DEPENDENCY",ve[ve.CONSTRAINTS_INVALID_DEPENDENCY=26]="CONSTRAINTS_INVALID_DEPENDENCY",ve[ve.CANT_SUGGEST_RESOLUTIONS=27]="CANT_SUGGEST_RESOLUTIONS",ve[ve.FROZEN_LOCKFILE_EXCEPTION=28]="FROZEN_LOCKFILE_EXCEPTION",ve[ve.CROSS_DRIVE_VIRTUAL_LOCAL=29]="CROSS_DRIVE_VIRTUAL_LOCAL",ve[ve.FETCH_FAILED=30]="FETCH_FAILED",ve[ve.DANGEROUS_NODE_MODULES=31]="DANGEROUS_NODE_MODULES",ve[ve.NODE_GYP_INJECTED=32]="NODE_GYP_INJECTED",ve[ve.AUTHENTICATION_NOT_FOUND=33]="AUTHENTICATION_NOT_FOUND",ve[ve.INVALID_CONFIGURATION_KEY=34]="INVALID_CONFIGURATION_KEY",ve[ve.NETWORK_ERROR=35]="NETWORK_ERROR",ve[ve.LIFECYCLE_SCRIPT=36]="LIFECYCLE_SCRIPT",ve[ve.CONSTRAINTS_MISSING_FIELD=37]="CONSTRAINTS_MISSING_FIELD",ve[ve.CONSTRAINTS_INCOMPATIBLE_FIELD=38]="CONSTRAINTS_INCOMPATIBLE_FIELD",ve[ve.CONSTRAINTS_EXTRANEOUS_FIELD=39]="CONSTRAINTS_EXTRANEOUS_FIELD",ve[ve.CONSTRAINTS_INVALID_FIELD=40]="CONSTRAINTS_INVALID_FIELD",ve[ve.AUTHENTICATION_INVALID=41]="AUTHENTICATION_INVALID",ve[ve.PROLOG_UNKNOWN_ERROR=42]="PROLOG_UNKNOWN_ERROR",ve[ve.PROLOG_SYNTAX_ERROR=43]="PROLOG_SYNTAX_ERROR",ve[ve.PROLOG_EXISTENCE_ERROR=44]="PROLOG_EXISTENCE_ERROR",ve[ve.STACK_OVERFLOW_RESOLUTION=45]="STACK_OVERFLOW_RESOLUTION",ve[ve.AUTOMERGE_FAILED_TO_PARSE=46]="AUTOMERGE_FAILED_TO_PARSE",ve[ve.AUTOMERGE_IMMUTABLE=47]="AUTOMERGE_IMMUTABLE",ve[ve.AUTOMERGE_SUCCESS=48]="AUTOMERGE_SUCCESS",ve[ve.AUTOMERGE_REQUIRED=49]="AUTOMERGE_REQUIRED",ve[ve.DEPRECATED_CLI_SETTINGS=50]="DEPRECATED_CLI_SETTINGS",ve[ve.PLUGIN_NAME_NOT_FOUND=51]="PLUGIN_NAME_NOT_FOUND",ve[ve.INVALID_PLUGIN_REFERENCE=52]="INVALID_PLUGIN_REFERENCE",ve[ve.CONSTRAINTS_AMBIGUITY=53]="CONSTRAINTS_AMBIGUITY",ve[ve.CACHE_OUTSIDE_PROJECT=54]="CACHE_OUTSIDE_PROJECT",ve[ve.IMMUTABLE_INSTALL=55]="IMMUTABLE_INSTALL",ve[ve.IMMUTABLE_CACHE=56]="IMMUTABLE_CACHE",ve[ve.INVALID_MANIFEST=57]="INVALID_MANIFEST",ve[ve.PACKAGE_PREPARATION_FAILED=58]="PACKAGE_PREPARATION_FAILED",ve[ve.INVALID_RANGE_PEER_DEPENDENCY=59]="INVALID_RANGE_PEER_DEPENDENCY",ve[ve.INCOMPATIBLE_PEER_DEPENDENCY=60]="INCOMPATIBLE_PEER_DEPENDENCY",ve[ve.DEPRECATED_PACKAGE=61]="DEPRECATED_PACKAGE",ve[ve.INCOMPATIBLE_OS=62]="INCOMPATIBLE_OS",ve[ve.INCOMPATIBLE_CPU=63]="INCOMPATIBLE_CPU",ve[ve.FROZEN_ARTIFACT_EXCEPTION=64]="FROZEN_ARTIFACT_EXCEPTION",ve[ve.TELEMETRY_NOTICE=65]="TELEMETRY_NOTICE",ve[ve.PATCH_HUNK_FAILED=66]="PATCH_HUNK_FAILED",ve[ve.INVALID_CONFIGURATION_VALUE=67]="INVALID_CONFIGURATION_VALUE",ve[ve.UNUSED_PACKAGE_EXTENSION=68]="UNUSED_PACKAGE_EXTENSION",ve[ve.REDUNDANT_PACKAGE_EXTENSION=69]="REDUNDANT_PACKAGE_EXTENSION",ve[ve.AUTO_NM_SUCCESS=70]="AUTO_NM_SUCCESS",ve[ve.NM_CANT_INSTALL_EXTERNAL_SOFT_LINK=71]="NM_CANT_INSTALL_EXTERNAL_SOFT_LINK",ve[ve.NM_PRESERVE_SYMLINKS_REQUIRED=72]="NM_PRESERVE_SYMLINKS_REQUIRED",ve[ve.UPDATE_LOCKFILE_ONLY_SKIP_LINK=73]="UPDATE_LOCKFILE_ONLY_SKIP_LINK",ve[ve.NM_HARDLINKS_MODE_DOWNGRADED=74]="NM_HARDLINKS_MODE_DOWNGRADED",ve[ve.PROLOG_INSTANTIATION_ERROR=75]="PROLOG_INSTANTIATION_ERROR",ve[ve.INCOMPATIBLE_ARCHITECTURE=76]="INCOMPATIBLE_ARCHITECTURE",ve[ve.GHOST_ARCHITECTURE=77]="GHOST_ARCHITECTURE",ve[ve.RESOLUTION_MISMATCH=78]="RESOLUTION_MISMATCH",ve[ve.PROLOG_LIMIT_EXCEEDED=79]="PROLOG_LIMIT_EXCEEDED",ve[ve.NETWORK_DISABLED=80]="NETWORK_DISABLED",ve[ve.NETWORK_UNSAFE_HTTP=81]="NETWORK_UNSAFE_HTTP",ve[ve.RESOLUTION_FAILED=82]="RESOLUTION_FAILED",ve[ve.AUTOMERGE_GIT_ERROR=83]="AUTOMERGE_GIT_ERROR",ve[ve.CONSTRAINTS_CHECK_FAILED=84]="CONSTRAINTS_CHECK_FAILED",ve[ve.UPDATED_RESOLUTION_RECORD=85]="UPDATED_RESOLUTION_RECORD",ve[ve.EXPLAIN_PEER_DEPENDENCIES_CTA=86]="EXPLAIN_PEER_DEPENDENCIES_CTA",ve[ve.MIGRATION_SUCCESS=87]="MIGRATION_SUCCESS",ve[ve.VERSION_NOTICE=88]="VERSION_NOTICE",ve[ve.TIPS_NOTICE=89]="TIPS_NOTICE",ve))(wr||{})});var fI=_((uQt,eV)=>{var pqe="2.0.0",hqe=Number.MAX_SAFE_INTEGER||9007199254740991,gqe=16,dqe=256-6,mqe=["major","premajor","minor","preminor","patch","prepatch","prerelease"];eV.exports={MAX_LENGTH:256,MAX_SAFE_COMPONENT_LENGTH:gqe,MAX_SAFE_BUILD_LENGTH:dqe,MAX_SAFE_INTEGER:hqe,RELEASE_TYPES:mqe,SEMVER_SPEC_VERSION:pqe,FLAG_INCLUDE_PRERELEASE:1,FLAG_LOOSE:2}});var pI=_((AQt,tV)=>{var yqe=typeof process=="object"&&process.env&&process.env.NODE_DEBUG&&/\bsemver\b/i.test(process.env.NODE_DEBUG)?(...e)=>console.error("SEMVER",...e):()=>{};tV.exports=yqe});var By=_((Cf,rV)=>{var{MAX_SAFE_COMPONENT_LENGTH:WT,MAX_SAFE_BUILD_LENGTH:Eqe,MAX_LENGTH:wqe}=fI(),Cqe=pI();Cf=rV.exports={};var Iqe=Cf.re=[],Bqe=Cf.safeRe=[],ar=Cf.src=[],lr=Cf.t={},vqe=0,KT="[a-zA-Z0-9-]",Dqe=[["\\s",1],["\\d",wqe],[KT,Eqe]],Sqe=e=>{for(let[t,r]of Dqe)e=e.split(`${t}*`).join(`${t}{0,${r}}`).split(`${t}+`).join(`${t}{1,${r}}`);return e},Jr=(e,t,r)=>{let o=Sqe(t),a=vqe++;Cqe(e,a,t),lr[e]=a,ar[a]=t,Iqe[a]=new RegExp(t,r?"g":void 0),Bqe[a]=new RegExp(o,r?"g":void 0)};Jr("NUMERICIDENTIFIER","0|[1-9]\\d*");Jr("NUMERICIDENTIFIERLOOSE","\\d+");Jr("NONNUMERICIDENTIFIER",`\\d*[a-zA-Z-]${KT}*`);Jr("MAINVERSION",`(${ar[lr.NUMERICIDENTIFIER]})\\.(${ar[lr.NUMERICIDENTIFIER]})\\.(${ar[lr.NUMERICIDENTIFIER]})`);Jr("MAINVERSIONLOOSE",`(${ar[lr.NUMERICIDENTIFIERLOOSE]})\\.(${ar[lr.NUMERICIDENTIFIERLOOSE]})\\.(${ar[lr.NUMERICIDENTIFIERLOOSE]})`);Jr("PRERELEASEIDENTIFIER",`(?:${ar[lr.NUMERICIDENTIFIER]}|${ar[lr.NONNUMERICIDENTIFIER]})`);Jr("PRERELEASEIDENTIFIERLOOSE",`(?:${ar[lr.NUMERICIDENTIFIERLOOSE]}|${ar[lr.NONNUMERICIDENTIFIER]})`);Jr("PRERELEASE",`(?:-(${ar[lr.PRERELEASEIDENTIFIER]}(?:\\.${ar[lr.PRERELEASEIDENTIFIER]})*))`);Jr("PRERELEASELOOSE",`(?:-?(${ar[lr.PRERELEASEIDENTIFIERLOOSE]}(?:\\.${ar[lr.PRERELEASEIDENTIFIERLOOSE]})*))`);Jr("BUILDIDENTIFIER",`${KT}+`);Jr("BUILD",`(?:\\+(${ar[lr.BUILDIDENTIFIER]}(?:\\.${ar[lr.BUILDIDENTIFIER]})*))`);Jr("FULLPLAIN",`v?${ar[lr.MAINVERSION]}${ar[lr.PRERELEASE]}?${ar[lr.BUILD]}?`);Jr("FULL",`^${ar[lr.FULLPLAIN]}$`);Jr("LOOSEPLAIN",`[v=\\s]*${ar[lr.MAINVERSIONLOOSE]}${ar[lr.PRERELEASELOOSE]}?${ar[lr.BUILD]}?`);Jr("LOOSE",`^${ar[lr.LOOSEPLAIN]}$`);Jr("GTLT","((?:<|>)?=?)");Jr("XRANGEIDENTIFIERLOOSE",`${ar[lr.NUMERICIDENTIFIERLOOSE]}|x|X|\\*`);Jr("XRANGEIDENTIFIER",`${ar[lr.NUMERICIDENTIFIER]}|x|X|\\*`);Jr("XRANGEPLAIN",`[v=\\s]*(${ar[lr.XRANGEIDENTIFIER]})(?:\\.(${ar[lr.XRANGEIDENTIFIER]})(?:\\.(${ar[lr.XRANGEIDENTIFIER]})(?:${ar[lr.PRERELEASE]})?${ar[lr.BUILD]}?)?)?`);Jr("XRANGEPLAINLOOSE",`[v=\\s]*(${ar[lr.XRANGEIDENTIFIERLOOSE]})(?:\\.(${ar[lr.XRANGEIDENTIFIERLOOSE]})(?:\\.(${ar[lr.XRANGEIDENTIFIERLOOSE]})(?:${ar[lr.PRERELEASELOOSE]})?${ar[lr.BUILD]}?)?)?`);Jr("XRANGE",`^${ar[lr.GTLT]}\\s*${ar[lr.XRANGEPLAIN]}$`);Jr("XRANGELOOSE",`^${ar[lr.GTLT]}\\s*${ar[lr.XRANGEPLAINLOOSE]}$`);Jr("COERCE",`(^|[^\\d])(\\d{1,${WT}})(?:\\.(\\d{1,${WT}}))?(?:\\.(\\d{1,${WT}}))?(?:$|[^\\d])`);Jr("COERCERTL",ar[lr.COERCE],!0);Jr("LONETILDE","(?:~>?)");Jr("TILDETRIM",`(\\s*)${ar[lr.LONETILDE]}\\s+`,!0);Cf.tildeTrimReplace="$1~";Jr("TILDE",`^${ar[lr.LONETILDE]}${ar[lr.XRANGEPLAIN]}$`);Jr("TILDELOOSE",`^${ar[lr.LONETILDE]}${ar[lr.XRANGEPLAINLOOSE]}$`);Jr("LONECARET","(?:\\^)");Jr("CARETTRIM",`(\\s*)${ar[lr.LONECARET]}\\s+`,!0);Cf.caretTrimReplace="$1^";Jr("CARET",`^${ar[lr.LONECARET]}${ar[lr.XRANGEPLAIN]}$`);Jr("CARETLOOSE",`^${ar[lr.LONECARET]}${ar[lr.XRANGEPLAINLOOSE]}$`);Jr("COMPARATORLOOSE",`^${ar[lr.GTLT]}\\s*(${ar[lr.LOOSEPLAIN]})$|^$`);Jr("COMPARATOR",`^${ar[lr.GTLT]}\\s*(${ar[lr.FULLPLAIN]})$|^$`);Jr("COMPARATORTRIM",`(\\s*)${ar[lr.GTLT]}\\s*(${ar[lr.LOOSEPLAIN]}|${ar[lr.XRANGEPLAIN]})`,!0);Cf.comparatorTrimReplace="$1$2$3";Jr("HYPHENRANGE",`^\\s*(${ar[lr.XRANGEPLAIN]})\\s+-\\s+(${ar[lr.XRANGEPLAIN]})\\s*$`);Jr("HYPHENRANGELOOSE",`^\\s*(${ar[lr.XRANGEPLAINLOOSE]})\\s+-\\s+(${ar[lr.XRANGEPLAINLOOSE]})\\s*$`);Jr("STAR","(<|>)?=?\\s*\\*");Jr("GTE0","^\\s*>=\\s*0\\.0\\.0\\s*$");Jr("GTE0PRE","^\\s*>=\\s*0\\.0\\.0-0\\s*$")});var fS=_((fQt,nV)=>{var Pqe=Object.freeze({loose:!0}),xqe=Object.freeze({}),bqe=e=>e?typeof e!="object"?Pqe:e:xqe;nV.exports=bqe});var JT=_((pQt,oV)=>{var iV=/^[0-9]+$/,sV=(e,t)=>{let r=iV.test(e),o=iV.test(t);return r&&o&&(e=+e,t=+t),e===t?0:r&&!o?-1:o&&!r?1:e<t?-1:1},Qqe=(e,t)=>sV(t,e);oV.exports={compareIdentifiers:sV,rcompareIdentifiers:Qqe}});var So=_((hQt,uV)=>{var pS=pI(),{MAX_LENGTH:aV,MAX_SAFE_INTEGER:hS}=fI(),{safeRe:lV,t:cV}=By(),kqe=fS(),{compareIdentifiers:vy}=JT(),tl=class{constructor(t,r){if(r=kqe(r),t instanceof tl){if(t.loose===!!r.loose&&t.includePrerelease===!!r.includePrerelease)return t;t=t.version}else if(typeof t!="string")throw new TypeError(`Invalid version. Must be a string. Got type "${typeof t}".`);if(t.length>aV)throw new TypeError(`version is longer than ${aV} characters`);pS("SemVer",t,r),this.options=r,this.loose=!!r.loose,this.includePrerelease=!!r.includePrerelease;let o=t.trim().match(r.loose?lV[cV.LOOSE]:lV[cV.FULL]);if(!o)throw new TypeError(`Invalid Version: ${t}`);if(this.raw=t,this.major=+o[1],this.minor=+o[2],this.patch=+o[3],this.major>hS||this.major<0)throw new TypeError("Invalid major version");if(this.minor>hS||this.minor<0)throw new TypeError("Invalid minor version");if(this.patch>hS||this.patch<0)throw new TypeError("Invalid patch version");o[4]?this.prerelease=o[4].split(".").map(a=>{if(/^[0-9]+$/.test(a)){let n=+a;if(n>=0&&n<hS)return n}return a}):this.prerelease=[],this.build=o[5]?o[5].split("."):[],this.format()}format(){return this.version=`${this.major}.${this.minor}.${this.patch}`,this.prerelease.length&&(this.version+=`-${this.prerelease.join(".")}`),this.version}toString(){return this.version}compare(t){if(pS("SemVer.compare",this.version,this.options,t),!(t instanceof tl)){if(typeof t=="string"&&t===this.version)return 0;t=new tl(t,this.options)}return t.version===this.version?0:this.compareMain(t)||this.comparePre(t)}compareMain(t){return t instanceof tl||(t=new tl(t,this.options)),vy(this.major,t.major)||vy(this.minor,t.minor)||vy(this.patch,t.patch)}comparePre(t){if(t instanceof tl||(t=new tl(t,this.options)),this.prerelease.length&&!t.prerelease.length)return-1;if(!this.prerelease.length&&t.prerelease.length)return 1;if(!this.prerelease.length&&!t.prerelease.length)return 0;let r=0;do{let o=this.prerelease[r],a=t.prerelease[r];if(pS("prerelease compare",r,o,a),o===void 0&&a===void 0)return 0;if(a===void 0)return 1;if(o===void 0)return-1;if(o===a)continue;return vy(o,a)}while(++r)}compareBuild(t){t instanceof tl||(t=new tl(t,this.options));let r=0;do{let o=this.build[r],a=t.build[r];if(pS("prerelease compare",r,o,a),o===void 0&&a===void 0)return 0;if(a===void 0)return 1;if(o===void 0)return-1;if(o===a)continue;return vy(o,a)}while(++r)}inc(t,r,o){switch(t){case"premajor":this.prerelease.length=0,this.patch=0,this.minor=0,this.major++,this.inc("pre",r,o);break;case"preminor":this.prerelease.length=0,this.patch=0,this.minor++,this.inc("pre",r,o);break;case"prepatch":this.prerelease.length=0,this.inc("patch",r,o),this.inc("pre",r,o);break;case"prerelease":this.prerelease.length===0&&this.inc("patch",r,o),this.inc("pre",r,o);break;case"major":(this.minor!==0||this.patch!==0||this.prerelease.length===0)&&this.major++,this.minor=0,this.patch=0,this.prerelease=[];break;case"minor":(this.patch!==0||this.prerelease.length===0)&&this.minor++,this.patch=0,this.prerelease=[];break;case"patch":this.prerelease.length===0&&this.patch++,this.prerelease=[];break;case"pre":{let a=Number(o)?1:0;if(!r&&o===!1)throw new Error("invalid increment argument: identifier is empty");if(this.prerelease.length===0)this.prerelease=[a];else{let n=this.prerelease.length;for(;--n>=0;)typeof this.prerelease[n]=="number"&&(this.prerelease[n]++,n=-2);if(n===-1){if(r===this.prerelease.join(".")&&o===!1)throw new Error("invalid increment argument: identifier already exists");this.prerelease.push(a)}}if(r){let n=[r,a];o===!1&&(n=[r]),vy(this.prerelease[0],r)===0?isNaN(this.prerelease[1])&&(this.prerelease=n):this.prerelease=n}break}default:throw new Error(`invalid increment argument: ${t}`)}return this.raw=this.format(),this.build.length&&(this.raw+=`+${this.build.join(".")}`),this}};uV.exports=tl});var id=_((gQt,fV)=>{var AV=So(),Fqe=(e,t,r=!1)=>{if(e instanceof AV)return e;try{return new AV(e,t)}catch(o){if(!r)return null;throw o}};fV.exports=Fqe});var hV=_((dQt,pV)=>{var Rqe=id(),Tqe=(e,t)=>{let r=Rqe(e,t);return r?r.version:null};pV.exports=Tqe});var dV=_((mQt,gV)=>{var Nqe=id(),Lqe=(e,t)=>{let r=Nqe(e.trim().replace(/^[=v]+/,""),t);return r?r.version:null};gV.exports=Lqe});var EV=_((yQt,yV)=>{var mV=So(),Oqe=(e,t,r,o,a)=>{typeof r=="string"&&(a=o,o=r,r=void 0);try{return new mV(e instanceof mV?e.version:e,r).inc(t,o,a).version}catch{return null}};yV.exports=Oqe});var IV=_((EQt,CV)=>{var wV=id(),Mqe=(e,t)=>{let r=wV(e,null,!0),o=wV(t,null,!0),a=r.compare(o);if(a===0)return null;let n=a>0,u=n?r:o,A=n?o:r,p=!!u.prerelease.length;if(!!A.prerelease.length&&!p)return!A.patch&&!A.minor?"major":u.patch?"patch":u.minor?"minor":"major";let w=p?"pre":"";return r.major!==o.major?w+"major":r.minor!==o.minor?w+"minor":r.patch!==o.patch?w+"patch":"prerelease"};CV.exports=Mqe});var vV=_((wQt,BV)=>{var Uqe=So(),_qe=(e,t)=>new Uqe(e,t).major;BV.exports=_qe});var SV=_((CQt,DV)=>{var Hqe=So(),jqe=(e,t)=>new Hqe(e,t).minor;DV.exports=jqe});var xV=_((IQt,PV)=>{var qqe=So(),Gqe=(e,t)=>new qqe(e,t).patch;PV.exports=Gqe});var QV=_((BQt,bV)=>{var Yqe=id(),Wqe=(e,t)=>{let r=Yqe(e,t);return r&&r.prerelease.length?r.prerelease:null};bV.exports=Wqe});var Ll=_((vQt,FV)=>{var kV=So(),Kqe=(e,t,r)=>new kV(e,r).compare(new kV(t,r));FV.exports=Kqe});var TV=_((DQt,RV)=>{var Jqe=Ll(),Vqe=(e,t,r)=>Jqe(t,e,r);RV.exports=Vqe});var LV=_((SQt,NV)=>{var zqe=Ll(),Xqe=(e,t)=>zqe(e,t,!0);NV.exports=Xqe});var gS=_((PQt,MV)=>{var OV=So(),Zqe=(e,t,r)=>{let o=new OV(e,r),a=new OV(t,r);return o.compare(a)||o.compareBuild(a)};MV.exports=Zqe});var _V=_((xQt,UV)=>{var $qe=gS(),eGe=(e,t)=>e.sort((r,o)=>$qe(r,o,t));UV.exports=eGe});var jV=_((bQt,HV)=>{var tGe=gS(),rGe=(e,t)=>e.sort((r,o)=>tGe(o,r,t));HV.exports=rGe});var hI=_((QQt,qV)=>{var nGe=Ll(),iGe=(e,t,r)=>nGe(e,t,r)>0;qV.exports=iGe});var dS=_((kQt,GV)=>{var sGe=Ll(),oGe=(e,t,r)=>sGe(e,t,r)<0;GV.exports=oGe});var VT=_((FQt,YV)=>{var aGe=Ll(),lGe=(e,t,r)=>aGe(e,t,r)===0;YV.exports=lGe});var zT=_((RQt,WV)=>{var cGe=Ll(),uGe=(e,t,r)=>cGe(e,t,r)!==0;WV.exports=uGe});var mS=_((TQt,KV)=>{var AGe=Ll(),fGe=(e,t,r)=>AGe(e,t,r)>=0;KV.exports=fGe});var yS=_((NQt,JV)=>{var pGe=Ll(),hGe=(e,t,r)=>pGe(e,t,r)<=0;JV.exports=hGe});var XT=_((LQt,VV)=>{var gGe=VT(),dGe=zT(),mGe=hI(),yGe=mS(),EGe=dS(),wGe=yS(),CGe=(e,t,r,o)=>{switch(t){case"===":return typeof e=="object"&&(e=e.version),typeof r=="object"&&(r=r.version),e===r;case"!==":return typeof e=="object"&&(e=e.version),typeof r=="object"&&(r=r.version),e!==r;case"":case"=":case"==":return gGe(e,r,o);case"!=":return dGe(e,r,o);case">":return mGe(e,r,o);case">=":return yGe(e,r,o);case"<":return EGe(e,r,o);case"<=":return wGe(e,r,o);default:throw new TypeError(`Invalid operator: ${t}`)}};VV.exports=CGe});var XV=_((OQt,zV)=>{var IGe=So(),BGe=id(),{safeRe:ES,t:wS}=By(),vGe=(e,t)=>{if(e instanceof IGe)return e;if(typeof e=="number"&&(e=String(e)),typeof e!="string")return null;t=t||{};let r=null;if(!t.rtl)r=e.match(ES[wS.COERCE]);else{let o;for(;(o=ES[wS.COERCERTL].exec(e))&&(!r||r.index+r[0].length!==e.length);)(!r||o.index+o[0].length!==r.index+r[0].length)&&(r=o),ES[wS.COERCERTL].lastIndex=o.index+o[1].length+o[2].length;ES[wS.COERCERTL].lastIndex=-1}return r===null?null:BGe(`${r[2]}.${r[3]||"0"}.${r[4]||"0"}`,t)};zV.exports=vGe});var $V=_((MQt,ZV)=>{"use strict";ZV.exports=function(e){e.prototype[Symbol.iterator]=function*(){for(let t=this.head;t;t=t.next)yield t.value}}});var CS=_((UQt,ez)=>{"use strict";ez.exports=En;En.Node=sd;En.create=En;function En(e){var t=this;if(t instanceof En||(t=new En),t.tail=null,t.head=null,t.length=0,e&&typeof e.forEach=="function")e.forEach(function(a){t.push(a)});else if(arguments.length>0)for(var r=0,o=arguments.length;r<o;r++)t.push(arguments[r]);return t}En.prototype.removeNode=function(e){if(e.list!==this)throw new Error("removing node which does not belong to this list");var t=e.next,r=e.prev;return t&&(t.prev=r),r&&(r.next=t),e===this.head&&(this.head=t),e===this.tail&&(this.tail=r),e.list.length--,e.next=null,e.prev=null,e.list=null,t};En.prototype.unshiftNode=function(e){if(e!==this.head){e.list&&e.list.removeNode(e);var t=this.head;e.list=this,e.next=t,t&&(t.prev=e),this.head=e,this.tail||(this.tail=e),this.length++}};En.prototype.pushNode=function(e){if(e!==this.tail){e.list&&e.list.removeNode(e);var t=this.tail;e.list=this,e.prev=t,t&&(t.next=e),this.tail=e,this.head||(this.head=e),this.length++}};En.prototype.push=function(){for(var e=0,t=arguments.length;e<t;e++)SGe(this,arguments[e]);return this.length};En.prototype.unshift=function(){for(var e=0,t=arguments.length;e<t;e++)PGe(this,arguments[e]);return this.length};En.prototype.pop=function(){if(!!this.tail){var e=this.tail.value;return this.tail=this.tail.prev,this.tail?this.tail.next=null:this.head=null,this.length--,e}};En.prototype.shift=function(){if(!!this.head){var e=this.head.value;return this.head=this.head.next,this.head?this.head.prev=null:this.tail=null,this.length--,e}};En.prototype.forEach=function(e,t){t=t||this;for(var r=this.head,o=0;r!==null;o++)e.call(t,r.value,o,this),r=r.next};En.prototype.forEachReverse=function(e,t){t=t||this;for(var r=this.tail,o=this.length-1;r!==null;o--)e.call(t,r.value,o,this),r=r.prev};En.prototype.get=function(e){for(var t=0,r=this.head;r!==null&&t<e;t++)r=r.next;if(t===e&&r!==null)return r.value};En.prototype.getReverse=function(e){for(var t=0,r=this.tail;r!==null&&t<e;t++)r=r.prev;if(t===e&&r!==null)return r.value};En.prototype.map=function(e,t){t=t||this;for(var r=new En,o=this.head;o!==null;)r.push(e.call(t,o.value,this)),o=o.next;return r};En.prototype.mapReverse=function(e,t){t=t||this;for(var r=new En,o=this.tail;o!==null;)r.push(e.call(t,o.value,this)),o=o.prev;return r};En.prototype.reduce=function(e,t){var r,o=this.head;if(arguments.length>1)r=t;else if(this.head)o=this.head.next,r=this.head.value;else throw new TypeError("Reduce of empty list with no initial value");for(var a=0;o!==null;a++)r=e(r,o.value,a),o=o.next;return r};En.prototype.reduceReverse=function(e,t){var r,o=this.tail;if(arguments.length>1)r=t;else if(this.tail)o=this.tail.prev,r=this.tail.value;else throw new TypeError("Reduce of empty list with no initial value");for(var a=this.length-1;o!==null;a--)r=e(r,o.value,a),o=o.prev;return r};En.prototype.toArray=function(){for(var e=new Array(this.length),t=0,r=this.head;r!==null;t++)e[t]=r.value,r=r.next;return e};En.prototype.toArrayReverse=function(){for(var e=new Array(this.length),t=0,r=this.tail;r!==null;t++)e[t]=r.value,r=r.prev;return e};En.prototype.slice=function(e,t){t=t||this.length,t<0&&(t+=this.length),e=e||0,e<0&&(e+=this.length);var r=new En;if(t<e||t<0)return r;e<0&&(e=0),t>this.length&&(t=this.length);for(var o=0,a=this.head;a!==null&&o<e;o++)a=a.next;for(;a!==null&&o<t;o++,a=a.next)r.push(a.value);return r};En.prototype.sliceReverse=function(e,t){t=t||this.length,t<0&&(t+=this.length),e=e||0,e<0&&(e+=this.length);var r=new En;if(t<e||t<0)return r;e<0&&(e=0),t>this.length&&(t=this.length);for(var o=this.length,a=this.tail;a!==null&&o>t;o--)a=a.prev;for(;a!==null&&o>e;o--,a=a.prev)r.push(a.value);return r};En.prototype.splice=function(e,t,...r){e>this.length&&(e=this.length-1),e<0&&(e=this.length+e);for(var o=0,a=this.head;a!==null&&o<e;o++)a=a.next;for(var n=[],o=0;a&&o<t;o++)n.push(a.value),a=this.removeNode(a);a===null&&(a=this.tail),a!==this.head&&a!==this.tail&&(a=a.prev);for(var o=0;o<r.length;o++)a=DGe(this,a,r[o]);return n};En.prototype.reverse=function(){for(var e=this.head,t=this.tail,r=e;r!==null;r=r.prev){var o=r.prev;r.prev=r.next,r.next=o}return this.head=t,this.tail=e,this};function DGe(e,t,r){var o=t===e.head?new sd(r,null,t,e):new sd(r,t,t.next,e);return o.next===null&&(e.tail=o),o.prev===null&&(e.head=o),e.length++,o}function SGe(e,t){e.tail=new sd(t,e.tail,null,e),e.head||(e.head=e.tail),e.length++}function PGe(e,t){e.head=new sd(t,null,e.head,e),e.tail||(e.tail=e.head),e.length++}function sd(e,t,r,o){if(!(this instanceof sd))return new sd(e,t,r,o);this.list=o,this.value=e,t?(t.next=this,this.prev=t):this.prev=null,r?(r.prev=this,this.next=r):this.next=null}try{$V()(En)}catch{}});var sz=_((_Qt,iz)=>{"use strict";var xGe=CS(),od=Symbol("max"),Bf=Symbol("length"),Dy=Symbol("lengthCalculator"),dI=Symbol("allowStale"),ad=Symbol("maxAge"),If=Symbol("dispose"),tz=Symbol("noDisposeOnSet"),Qs=Symbol("lruList"),Mc=Symbol("cache"),nz=Symbol("updateAgeOnGet"),ZT=()=>1,eN=class{constructor(t){if(typeof t=="number"&&(t={max:t}),t||(t={}),t.max&&(typeof t.max!="number"||t.max<0))throw new TypeError("max must be a non-negative number");let r=this[od]=t.max||1/0,o=t.length||ZT;if(this[Dy]=typeof o!="function"?ZT:o,this[dI]=t.stale||!1,t.maxAge&&typeof t.maxAge!="number")throw new TypeError("maxAge must be a number");this[ad]=t.maxAge||0,this[If]=t.dispose,this[tz]=t.noDisposeOnSet||!1,this[nz]=t.updateAgeOnGet||!1,this.reset()}set max(t){if(typeof t!="number"||t<0)throw new TypeError("max must be a non-negative number");this[od]=t||1/0,gI(this)}get max(){return this[od]}set allowStale(t){this[dI]=!!t}get allowStale(){return this[dI]}set maxAge(t){if(typeof t!="number")throw new TypeError("maxAge must be a non-negative number");this[ad]=t,gI(this)}get maxAge(){return this[ad]}set lengthCalculator(t){typeof t!="function"&&(t=ZT),t!==this[Dy]&&(this[Dy]=t,this[Bf]=0,this[Qs].forEach(r=>{r.length=this[Dy](r.value,r.key),this[Bf]+=r.length})),gI(this)}get lengthCalculator(){return this[Dy]}get length(){return this[Bf]}get itemCount(){return this[Qs].length}rforEach(t,r){r=r||this;for(let o=this[Qs].tail;o!==null;){let a=o.prev;rz(this,t,o,r),o=a}}forEach(t,r){r=r||this;for(let o=this[Qs].head;o!==null;){let a=o.next;rz(this,t,o,r),o=a}}keys(){return this[Qs].toArray().map(t=>t.key)}values(){return this[Qs].toArray().map(t=>t.value)}reset(){this[If]&&this[Qs]&&this[Qs].length&&this[Qs].forEach(t=>this[If](t.key,t.value)),this[Mc]=new Map,this[Qs]=new xGe,this[Bf]=0}dump(){return this[Qs].map(t=>IS(this,t)?!1:{k:t.key,v:t.value,e:t.now+(t.maxAge||0)}).toArray().filter(t=>t)}dumpLru(){return this[Qs]}set(t,r,o){if(o=o||this[ad],o&&typeof o!="number")throw new TypeError("maxAge must be a number");let a=o?Date.now():0,n=this[Dy](r,t);if(this[Mc].has(t)){if(n>this[od])return Sy(this,this[Mc].get(t)),!1;let p=this[Mc].get(t).value;return this[If]&&(this[tz]||this[If](t,p.value)),p.now=a,p.maxAge=o,p.value=r,this[Bf]+=n-p.length,p.length=n,this.get(t),gI(this),!0}let u=new tN(t,r,n,a,o);return u.length>this[od]?(this[If]&&this[If](t,r),!1):(this[Bf]+=u.length,this[Qs].unshift(u),this[Mc].set(t,this[Qs].head),gI(this),!0)}has(t){if(!this[Mc].has(t))return!1;let r=this[Mc].get(t).value;return!IS(this,r)}get(t){return $T(this,t,!0)}peek(t){return $T(this,t,!1)}pop(){let t=this[Qs].tail;return t?(Sy(this,t),t.value):null}del(t){Sy(this,this[Mc].get(t))}load(t){this.reset();let r=Date.now();for(let o=t.length-1;o>=0;o--){let a=t[o],n=a.e||0;if(n===0)this.set(a.k,a.v);else{let u=n-r;u>0&&this.set(a.k,a.v,u)}}}prune(){this[Mc].forEach((t,r)=>$T(this,r,!1))}},$T=(e,t,r)=>{let o=e[Mc].get(t);if(o){let a=o.value;if(IS(e,a)){if(Sy(e,o),!e[dI])return}else r&&(e[nz]&&(o.value.now=Date.now()),e[Qs].unshiftNode(o));return a.value}},IS=(e,t)=>{if(!t||!t.maxAge&&!e[ad])return!1;let r=Date.now()-t.now;return t.maxAge?r>t.maxAge:e[ad]&&r>e[ad]},gI=e=>{if(e[Bf]>e[od])for(let t=e[Qs].tail;e[Bf]>e[od]&&t!==null;){let r=t.prev;Sy(e,t),t=r}},Sy=(e,t)=>{if(t){let r=t.value;e[If]&&e[If](r.key,r.value),e[Bf]-=r.length,e[Mc].delete(r.key),e[Qs].removeNode(t)}},tN=class{constructor(t,r,o,a,n){this.key=t,this.value=r,this.length=o,this.now=a,this.maxAge=n||0}},rz=(e,t,r,o)=>{let a=r.value;IS(e,a)&&(Sy(e,r),e[dI]||(a=void 0)),a&&t.call(o,a.value,a.key,e)};iz.exports=eN});var Ol=_((HQt,cz)=>{var ld=class{constructor(t,r){if(r=QGe(r),t instanceof ld)return t.loose===!!r.loose&&t.includePrerelease===!!r.includePrerelease?t:new ld(t.raw,r);if(t instanceof rN)return this.raw=t.value,this.set=[[t]],this.format(),this;if(this.options=r,this.loose=!!r.loose,this.includePrerelease=!!r.includePrerelease,this.raw=t.trim().split(/\s+/).join(" "),this.set=this.raw.split("||").map(o=>this.parseRange(o.trim())).filter(o=>o.length),!this.set.length)throw new TypeError(`Invalid SemVer Range: ${this.raw}`);if(this.set.length>1){let o=this.set[0];if(this.set=this.set.filter(a=>!az(a[0])),this.set.length===0)this.set=[o];else if(this.set.length>1){for(let a of this.set)if(a.length===1&&OGe(a[0])){this.set=[a];break}}}this.format()}format(){return this.range=this.set.map(t=>t.join(" ").trim()).join("||").trim(),this.range}toString(){return this.range}parseRange(t){let o=((this.options.includePrerelease&&NGe)|(this.options.loose&&LGe))+":"+t,a=oz.get(o);if(a)return a;let n=this.options.loose,u=n?Da[zo.HYPHENRANGELOOSE]:Da[zo.HYPHENRANGE];t=t.replace(u,KGe(this.options.includePrerelease)),li("hyphen replace",t),t=t.replace(Da[zo.COMPARATORTRIM],FGe),li("comparator trim",t),t=t.replace(Da[zo.TILDETRIM],RGe),li("tilde trim",t),t=t.replace(Da[zo.CARETTRIM],TGe),li("caret trim",t);let A=t.split(" ").map(I=>MGe(I,this.options)).join(" ").split(/\s+/).map(I=>WGe(I,this.options));n&&(A=A.filter(I=>(li("loose invalid filter",I,this.options),!!I.match(Da[zo.COMPARATORLOOSE])))),li("range list",A);let p=new Map,h=A.map(I=>new rN(I,this.options));for(let I of h){if(az(I))return[I];p.set(I.value,I)}p.size>1&&p.has("")&&p.delete("");let w=[...p.values()];return oz.set(o,w),w}intersects(t,r){if(!(t instanceof ld))throw new TypeError("a Range is required");return this.set.some(o=>lz(o,r)&&t.set.some(a=>lz(a,r)&&o.every(n=>a.every(u=>n.intersects(u,r)))))}test(t){if(!t)return!1;if(typeof t=="string")try{t=new kGe(t,this.options)}catch{return!1}for(let r=0;r<this.set.length;r++)if(JGe(this.set[r],t,this.options))return!0;return!1}};cz.exports=ld;var bGe=sz(),oz=new bGe({max:1e3}),QGe=fS(),rN=mI(),li=pI(),kGe=So(),{safeRe:Da,t:zo,comparatorTrimReplace:FGe,tildeTrimReplace:RGe,caretTrimReplace:TGe}=By(),{FLAG_INCLUDE_PRERELEASE:NGe,FLAG_LOOSE:LGe}=fI(),az=e=>e.value==="<0.0.0-0",OGe=e=>e.value==="",lz=(e,t)=>{let r=!0,o=e.slice(),a=o.pop();for(;r&&o.length;)r=o.every(n=>a.intersects(n,t)),a=o.pop();return r},MGe=(e,t)=>(li("comp",e,t),e=HGe(e,t),li("caret",e),e=UGe(e,t),li("tildes",e),e=qGe(e,t),li("xrange",e),e=YGe(e,t),li("stars",e),e),Xo=e=>!e||e.toLowerCase()==="x"||e==="*",UGe=(e,t)=>e.trim().split(/\s+/).map(r=>_Ge(r,t)).join(" "),_Ge=(e,t)=>{let r=t.loose?Da[zo.TILDELOOSE]:Da[zo.TILDE];return e.replace(r,(o,a,n,u,A)=>{li("tilde",e,o,a,n,u,A);let p;return Xo(a)?p="":Xo(n)?p=`>=${a}.0.0 <${+a+1}.0.0-0`:Xo(u)?p=`>=${a}.${n}.0 <${a}.${+n+1}.0-0`:A?(li("replaceTilde pr",A),p=`>=${a}.${n}.${u}-${A} <${a}.${+n+1}.0-0`):p=`>=${a}.${n}.${u} <${a}.${+n+1}.0-0`,li("tilde return",p),p})},HGe=(e,t)=>e.trim().split(/\s+/).map(r=>jGe(r,t)).join(" "),jGe=(e,t)=>{li("caret",e,t);let r=t.loose?Da[zo.CARETLOOSE]:Da[zo.CARET],o=t.includePrerelease?"-0":"";return e.replace(r,(a,n,u,A,p)=>{li("caret",e,a,n,u,A,p);let h;return Xo(n)?h="":Xo(u)?h=`>=${n}.0.0${o} <${+n+1}.0.0-0`:Xo(A)?n==="0"?h=`>=${n}.${u}.0${o} <${n}.${+u+1}.0-0`:h=`>=${n}.${u}.0${o} <${+n+1}.0.0-0`:p?(li("replaceCaret pr",p),n==="0"?u==="0"?h=`>=${n}.${u}.${A}-${p} <${n}.${u}.${+A+1}-0`:h=`>=${n}.${u}.${A}-${p} <${n}.${+u+1}.0-0`:h=`>=${n}.${u}.${A}-${p} <${+n+1}.0.0-0`):(li("no pr"),n==="0"?u==="0"?h=`>=${n}.${u}.${A}${o} <${n}.${u}.${+A+1}-0`:h=`>=${n}.${u}.${A}${o} <${n}.${+u+1}.0-0`:h=`>=${n}.${u}.${A} <${+n+1}.0.0-0`),li("caret return",h),h})},qGe=(e,t)=>(li("replaceXRanges",e,t),e.split(/\s+/).map(r=>GGe(r,t)).join(" ")),GGe=(e,t)=>{e=e.trim();let r=t.loose?Da[zo.XRANGELOOSE]:Da[zo.XRANGE];return e.replace(r,(o,a,n,u,A,p)=>{li("xRange",e,o,a,n,u,A,p);let h=Xo(n),w=h||Xo(u),I=w||Xo(A),v=I;return a==="="&&v&&(a=""),p=t.includePrerelease?"-0":"",h?a===">"||a==="<"?o="<0.0.0-0":o="*":a&&v?(w&&(u=0),A=0,a===">"?(a=">=",w?(n=+n+1,u=0,A=0):(u=+u+1,A=0)):a==="<="&&(a="<",w?n=+n+1:u=+u+1),a==="<"&&(p="-0"),o=`${a+n}.${u}.${A}${p}`):w?o=`>=${n}.0.0${p} <${+n+1}.0.0-0`:I&&(o=`>=${n}.${u}.0${p} <${n}.${+u+1}.0-0`),li("xRange return",o),o})},YGe=(e,t)=>(li("replaceStars",e,t),e.trim().replace(Da[zo.STAR],"")),WGe=(e,t)=>(li("replaceGTE0",e,t),e.trim().replace(Da[t.includePrerelease?zo.GTE0PRE:zo.GTE0],"")),KGe=e=>(t,r,o,a,n,u,A,p,h,w,I,v,b)=>(Xo(o)?r="":Xo(a)?r=`>=${o}.0.0${e?"-0":""}`:Xo(n)?r=`>=${o}.${a}.0${e?"-0":""}`:u?r=`>=${r}`:r=`>=${r}${e?"-0":""}`,Xo(h)?p="":Xo(w)?p=`<${+h+1}.0.0-0`:Xo(I)?p=`<${h}.${+w+1}.0-0`:v?p=`<=${h}.${w}.${I}-${v}`:e?p=`<${h}.${w}.${+I+1}-0`:p=`<=${p}`,`${r} ${p}`.trim()),JGe=(e,t,r)=>{for(let o=0;o<e.length;o++)if(!e[o].test(t))return!1;if(t.prerelease.length&&!r.includePrerelease){for(let o=0;o<e.length;o++)if(li(e[o].semver),e[o].semver!==rN.ANY&&e[o].semver.prerelease.length>0){let a=e[o].semver;if(a.major===t.major&&a.minor===t.minor&&a.patch===t.patch)return!0}return!1}return!0}});var mI=_((jQt,gz)=>{var yI=Symbol("SemVer ANY"),Py=class{static get ANY(){return yI}constructor(t,r){if(r=uz(r),t instanceof Py){if(t.loose===!!r.loose)return t;t=t.value}t=t.trim().split(/\s+/).join(" "),iN("comparator",t,r),this.options=r,this.loose=!!r.loose,this.parse(t),this.semver===yI?this.value="":this.value=this.operator+this.semver.version,iN("comp",this)}parse(t){let r=this.options.loose?Az[fz.COMPARATORLOOSE]:Az[fz.COMPARATOR],o=t.match(r);if(!o)throw new TypeError(`Invalid comparator: ${t}`);this.operator=o[1]!==void 0?o[1]:"",this.operator==="="&&(this.operator=""),o[2]?this.semver=new pz(o[2],this.options.loose):this.semver=yI}toString(){return this.value}test(t){if(iN("Comparator.test",t,this.options.loose),this.semver===yI||t===yI)return!0;if(typeof t=="string")try{t=new pz(t,this.options)}catch{return!1}return nN(t,this.operator,this.semver,this.options)}intersects(t,r){if(!(t instanceof Py))throw new TypeError("a Comparator is required");return this.operator===""?this.value===""?!0:new hz(t.value,r).test(this.value):t.operator===""?t.value===""?!0:new hz(this.value,r).test(t.semver):(r=uz(r),r.includePrerelease&&(this.value==="<0.0.0-0"||t.value==="<0.0.0-0")||!r.includePrerelease&&(this.value.startsWith("<0.0.0")||t.value.startsWith("<0.0.0"))?!1:!!(this.operator.startsWith(">")&&t.operator.startsWith(">")||this.operator.startsWith("<")&&t.operator.startsWith("<")||this.semver.version===t.semver.version&&this.operator.includes("=")&&t.operator.includes("=")||nN(this.semver,"<",t.semver,r)&&this.operator.startsWith(">")&&t.operator.startsWith("<")||nN(this.semver,">",t.semver,r)&&this.operator.startsWith("<")&&t.operator.startsWith(">")))}};gz.exports=Py;var uz=fS(),{safeRe:Az,t:fz}=By(),nN=XT(),iN=pI(),pz=So(),hz=Ol()});var EI=_((qQt,dz)=>{var VGe=Ol(),zGe=(e,t,r)=>{try{t=new VGe(t,r)}catch{return!1}return t.test(e)};dz.exports=zGe});var yz=_((GQt,mz)=>{var XGe=Ol(),ZGe=(e,t)=>new XGe(e,t).set.map(r=>r.map(o=>o.value).join(" ").trim().split(" "));mz.exports=ZGe});var wz=_((YQt,Ez)=>{var $Ge=So(),e9e=Ol(),t9e=(e,t,r)=>{let o=null,a=null,n=null;try{n=new e9e(t,r)}catch{return null}return e.forEach(u=>{n.test(u)&&(!o||a.compare(u)===-1)&&(o=u,a=new $Ge(o,r))}),o};Ez.exports=t9e});var Iz=_((WQt,Cz)=>{var r9e=So(),n9e=Ol(),i9e=(e,t,r)=>{let o=null,a=null,n=null;try{n=new n9e(t,r)}catch{return null}return e.forEach(u=>{n.test(u)&&(!o||a.compare(u)===1)&&(o=u,a=new r9e(o,r))}),o};Cz.exports=i9e});var Dz=_((KQt,vz)=>{var sN=So(),s9e=Ol(),Bz=hI(),o9e=(e,t)=>{e=new s9e(e,t);let r=new sN("0.0.0");if(e.test(r)||(r=new sN("0.0.0-0"),e.test(r)))return r;r=null;for(let o=0;o<e.set.length;++o){let a=e.set[o],n=null;a.forEach(u=>{let A=new sN(u.semver.version);switch(u.operator){case">":A.prerelease.length===0?A.patch++:A.prerelease.push(0),A.raw=A.format();case"":case">=":(!n||Bz(A,n))&&(n=A);break;case"<":case"<=":break;default:throw new Error(`Unexpected operation: ${u.operator}`)}}),n&&(!r||Bz(r,n))&&(r=n)}return r&&e.test(r)?r:null};vz.exports=o9e});var Pz=_((JQt,Sz)=>{var a9e=Ol(),l9e=(e,t)=>{try{return new a9e(e,t).range||"*"}catch{return null}};Sz.exports=l9e});var BS=_((VQt,kz)=>{var c9e=So(),Qz=mI(),{ANY:u9e}=Qz,A9e=Ol(),f9e=EI(),xz=hI(),bz=dS(),p9e=yS(),h9e=mS(),g9e=(e,t,r,o)=>{e=new c9e(e,o),t=new A9e(t,o);let a,n,u,A,p;switch(r){case">":a=xz,n=p9e,u=bz,A=">",p=">=";break;case"<":a=bz,n=h9e,u=xz,A="<",p="<=";break;default:throw new TypeError('Must provide a hilo val of "<" or ">"')}if(f9e(e,t,o))return!1;for(let h=0;h<t.set.length;++h){let w=t.set[h],I=null,v=null;if(w.forEach(b=>{b.semver===u9e&&(b=new Qz(">=0.0.0")),I=I||b,v=v||b,a(b.semver,I.semver,o)?I=b:u(b.semver,v.semver,o)&&(v=b)}),I.operator===A||I.operator===p||(!v.operator||v.operator===A)&&n(e,v.semver))return!1;if(v.operator===p&&u(e,v.semver))return!1}return!0};kz.exports=g9e});var Rz=_((zQt,Fz)=>{var d9e=BS(),m9e=(e,t,r)=>d9e(e,t,">",r);Fz.exports=m9e});var Nz=_((XQt,Tz)=>{var y9e=BS(),E9e=(e,t,r)=>y9e(e,t,"<",r);Tz.exports=E9e});var Mz=_((ZQt,Oz)=>{var Lz=Ol(),w9e=(e,t,r)=>(e=new Lz(e,r),t=new Lz(t,r),e.intersects(t,r));Oz.exports=w9e});var _z=_(($Qt,Uz)=>{var C9e=EI(),I9e=Ll();Uz.exports=(e,t,r)=>{let o=[],a=null,n=null,u=e.sort((w,I)=>I9e(w,I,r));for(let w of u)C9e(w,t,r)?(n=w,a||(a=w)):(n&&o.push([a,n]),n=null,a=null);a&&o.push([a,null]);let A=[];for(let[w,I]of o)w===I?A.push(w):!I&&w===u[0]?A.push("*"):I?w===u[0]?A.push(`<=${I}`):A.push(`${w} - ${I}`):A.push(`>=${w}`);let p=A.join(" || "),h=typeof t.raw=="string"?t.raw:String(t);return p.length<h.length?p:t}});var Wz=_((ekt,Yz)=>{var Hz=Ol(),aN=mI(),{ANY:oN}=aN,wI=EI(),lN=Ll(),B9e=(e,t,r={})=>{if(e===t)return!0;e=new Hz(e,r),t=new Hz(t,r);let o=!1;e:for(let a of e.set){for(let n of t.set){let u=D9e(a,n,r);if(o=o||u!==null,u)continue e}if(o)return!1}return!0},v9e=[new aN(">=0.0.0-0")],jz=[new aN(">=0.0.0")],D9e=(e,t,r)=>{if(e===t)return!0;if(e.length===1&&e[0].semver===oN){if(t.length===1&&t[0].semver===oN)return!0;r.includePrerelease?e=v9e:e=jz}if(t.length===1&&t[0].semver===oN){if(r.includePrerelease)return!0;t=jz}let o=new Set,a,n;for(let b of e)b.operator===">"||b.operator===">="?a=qz(a,b,r):b.operator==="<"||b.operator==="<="?n=Gz(n,b,r):o.add(b.semver);if(o.size>1)return null;let u;if(a&&n){if(u=lN(a.semver,n.semver,r),u>0)return null;if(u===0&&(a.operator!==">="||n.operator!=="<="))return null}for(let b of o){if(a&&!wI(b,String(a),r)||n&&!wI(b,String(n),r))return null;for(let E of t)if(!wI(b,String(E),r))return!1;return!0}let A,p,h,w,I=n&&!r.includePrerelease&&n.semver.prerelease.length?n.semver:!1,v=a&&!r.includePrerelease&&a.semver.prerelease.length?a.semver:!1;I&&I.prerelease.length===1&&n.operator==="<"&&I.prerelease[0]===0&&(I=!1);for(let b of t){if(w=w||b.operator===">"||b.operator===">=",h=h||b.operator==="<"||b.operator==="<=",a){if(v&&b.semver.prerelease&&b.semver.prerelease.length&&b.semver.major===v.major&&b.semver.minor===v.minor&&b.semver.patch===v.patch&&(v=!1),b.operator===">"||b.operator===">="){if(A=qz(a,b,r),A===b&&A!==a)return!1}else if(a.operator===">="&&!wI(a.semver,String(b),r))return!1}if(n){if(I&&b.semver.prerelease&&b.semver.prerelease.length&&b.semver.major===I.major&&b.semver.minor===I.minor&&b.semver.patch===I.patch&&(I=!1),b.operator==="<"||b.operator==="<="){if(p=Gz(n,b,r),p===b&&p!==n)return!1}else if(n.operator==="<="&&!wI(n.semver,String(b),r))return!1}if(!b.operator&&(n||a)&&u!==0)return!1}return!(a&&h&&!n&&u!==0||n&&w&&!a&&u!==0||v||I)},qz=(e,t,r)=>{if(!e)return t;let o=lN(e.semver,t.semver,r);return o>0?e:o<0||t.operator===">"&&e.operator===">="?t:e},Gz=(e,t,r)=>{if(!e)return t;let o=lN(e.semver,t.semver,r);return o<0?e:o>0||t.operator==="<"&&e.operator==="<="?t:e};Yz.exports=B9e});var Zn=_((tkt,Vz)=>{var cN=By(),Kz=fI(),S9e=So(),Jz=JT(),P9e=id(),x9e=hV(),b9e=dV(),Q9e=EV(),k9e=IV(),F9e=vV(),R9e=SV(),T9e=xV(),N9e=QV(),L9e=Ll(),O9e=TV(),M9e=LV(),U9e=gS(),_9e=_V(),H9e=jV(),j9e=hI(),q9e=dS(),G9e=VT(),Y9e=zT(),W9e=mS(),K9e=yS(),J9e=XT(),V9e=XV(),z9e=mI(),X9e=Ol(),Z9e=EI(),$9e=yz(),e5e=wz(),t5e=Iz(),r5e=Dz(),n5e=Pz(),i5e=BS(),s5e=Rz(),o5e=Nz(),a5e=Mz(),l5e=_z(),c5e=Wz();Vz.exports={parse:P9e,valid:x9e,clean:b9e,inc:Q9e,diff:k9e,major:F9e,minor:R9e,patch:T9e,prerelease:N9e,compare:L9e,rcompare:O9e,compareLoose:M9e,compareBuild:U9e,sort:_9e,rsort:H9e,gt:j9e,lt:q9e,eq:G9e,neq:Y9e,gte:W9e,lte:K9e,cmp:J9e,coerce:V9e,Comparator:z9e,Range:X9e,satisfies:Z9e,toComparators:$9e,maxSatisfying:e5e,minSatisfying:t5e,minVersion:r5e,validRange:n5e,outside:i5e,gtr:s5e,ltr:o5e,intersects:a5e,simplifyRange:l5e,subset:c5e,SemVer:S9e,re:cN.re,src:cN.src,tokens:cN.t,SEMVER_SPEC_VERSION:Kz.SEMVER_SPEC_VERSION,RELEASE_TYPES:Kz.RELEASE_TYPES,compareIdentifiers:Jz.compareIdentifiers,rcompareIdentifiers:Jz.rcompareIdentifiers}});var Xz=_((rkt,zz)=>{"use strict";function u5e(e,t){function r(){this.constructor=e}r.prototype=t.prototype,e.prototype=new r}function cd(e,t,r,o){this.message=e,this.expected=t,this.found=r,this.location=o,this.name="SyntaxError",typeof Error.captureStackTrace=="function"&&Error.captureStackTrace(this,cd)}u5e(cd,Error);cd.buildMessage=function(e,t){var r={literal:function(h){return'"'+a(h.text)+'"'},class:function(h){var w="",I;for(I=0;I<h.parts.length;I++)w+=h.parts[I]instanceof Array?n(h.parts[I][0])+"-"+n(h.parts[I][1]):n(h.parts[I]);return"["+(h.inverted?"^":"")+w+"]"},any:function(h){return"any character"},end:function(h){return"end of input"},other:function(h){return h.description}};function o(h){return h.charCodeAt(0).toString(16).toUpperCase()}function a(h){return h.replace(/\\/g,"\\\\").replace(/"/g,'\\"').replace(/\0/g,"\\0").replace(/\t/g,"\\t").replace(/\n/g,"\\n").replace(/\r/g,"\\r").replace(/[\x00-\x0F]/g,function(w){return"\\x0"+o(w)}).replace(/[\x10-\x1F\x7F-\x9F]/g,function(w){return"\\x"+o(w)})}function n(h){return h.replace(/\\/g,"\\\\").replace(/\]/g,"\\]").replace(/\^/g,"\\^").replace(/-/g,"\\-").replace(/\0/g,"\\0").replace(/\t/g,"\\t").replace(/\n/g,"\\n").replace(/\r/g,"\\r").replace(/[\x00-\x0F]/g,function(w){return"\\x0"+o(w)}).replace(/[\x10-\x1F\x7F-\x9F]/g,function(w){return"\\x"+o(w)})}function u(h){return r[h.type](h)}function A(h){var w=new Array(h.length),I,v;for(I=0;I<h.length;I++)w[I]=u(h[I]);if(w.sort(),w.length>0){for(I=1,v=1;I<w.length;I++)w[I-1]!==w[I]&&(w[v]=w[I],v++);w.length=v}switch(w.length){case 1:return w[0];case 2:return w[0]+" or "+w[1];default:return w.slice(0,-1).join(", ")+", or "+w[w.length-1]}}function p(h){return h?'"'+a(h)+'"':"end of input"}return"Expected "+A(e)+" but "+p(t)+" found."};function A5e(e,t){t=t!==void 0?t:{};var r={},o={Expression:y},a=y,n="|",u=Te("|",!1),A="&",p=Te("&",!1),h="^",w=Te("^",!1),I=function(Z,ie){return!!ie.reduce((Pe,Le)=>{switch(Le[1]){case"|":return Pe|Le[3];case"&":return Pe&Le[3];case"^":return Pe^Le[3]}},Z)},v="!",b=Te("!",!1),E=function(Z){return!Z},R="(",N=Te("(",!1),U=")",V=Te(")",!1),ee=function(Z){return Z},le=/^[^ \t\n\r()!|&\^]/,fe=Qe([" "," ",` -`,"\r","(",")","!","|","&","^"],!0,!1),de=function(Z){return t.queryPattern.test(Z)},ge=function(Z){return t.checkFn(Z)},oe=Ne("whitespace"),Be=/^[ \t\n\r]/,be=Qe([" "," ",` -`,"\r"],!1,!1),g=0,we=0,Se=[{line:1,column:1}],ce=0,ne=[],te=0,Ee;if("startRule"in t){if(!(t.startRule in o))throw new Error(`Can't start parsing from rule "`+t.startRule+'".');a=o[t.startRule]}function Re(){return e.substring(we,g)}function dt(){return je(we,g)}function H(Z,ie){throw ie=ie!==void 0?ie:je(we,g),P([Ne(Z)],e.substring(we,g),ie)}function at(Z,ie){throw ie=ie!==void 0?ie:je(we,g),C(Z,ie)}function Te(Z,ie){return{type:"literal",text:Z,ignoreCase:ie}}function Qe(Z,ie,Pe){return{type:"class",parts:Z,inverted:ie,ignoreCase:Pe}}function ke(){return{type:"any"}}function He(){return{type:"end"}}function Ne(Z){return{type:"other",description:Z}}function Ve(Z){var ie=Se[Z],Pe;if(ie)return ie;for(Pe=Z-1;!Se[Pe];)Pe--;for(ie=Se[Pe],ie={line:ie.line,column:ie.column};Pe<Z;)e.charCodeAt(Pe)===10?(ie.line++,ie.column=1):ie.column++,Pe++;return Se[Z]=ie,ie}function je(Z,ie){var Pe=Ve(Z),Le=Ve(ie);return{start:{offset:Z,line:Pe.line,column:Pe.column},end:{offset:ie,line:Le.line,column:Le.column}}}function x(Z){g<ce||(g>ce&&(ce=g,ne=[]),ne.push(Z))}function C(Z,ie){return new cd(Z,null,null,ie)}function P(Z,ie,Pe){return new cd(cd.buildMessage(Z,ie),Z,ie,Pe)}function y(){var Z,ie,Pe,Le,ot,gt,jt,$t;if(Z=g,ie=F(),ie!==r){for(Pe=[],Le=g,ot=X(),ot!==r?(e.charCodeAt(g)===124?(gt=n,g++):(gt=r,te===0&&x(u)),gt===r&&(e.charCodeAt(g)===38?(gt=A,g++):(gt=r,te===0&&x(p)),gt===r&&(e.charCodeAt(g)===94?(gt=h,g++):(gt=r,te===0&&x(w)))),gt!==r?(jt=X(),jt!==r?($t=F(),$t!==r?(ot=[ot,gt,jt,$t],Le=ot):(g=Le,Le=r)):(g=Le,Le=r)):(g=Le,Le=r)):(g=Le,Le=r);Le!==r;)Pe.push(Le),Le=g,ot=X(),ot!==r?(e.charCodeAt(g)===124?(gt=n,g++):(gt=r,te===0&&x(u)),gt===r&&(e.charCodeAt(g)===38?(gt=A,g++):(gt=r,te===0&&x(p)),gt===r&&(e.charCodeAt(g)===94?(gt=h,g++):(gt=r,te===0&&x(w)))),gt!==r?(jt=X(),jt!==r?($t=F(),$t!==r?(ot=[ot,gt,jt,$t],Le=ot):(g=Le,Le=r)):(g=Le,Le=r)):(g=Le,Le=r)):(g=Le,Le=r);Pe!==r?(we=Z,ie=I(ie,Pe),Z=ie):(g=Z,Z=r)}else g=Z,Z=r;return Z}function F(){var Z,ie,Pe,Le,ot,gt;return Z=g,e.charCodeAt(g)===33?(ie=v,g++):(ie=r,te===0&&x(b)),ie!==r?(Pe=F(),Pe!==r?(we=Z,ie=E(Pe),Z=ie):(g=Z,Z=r)):(g=Z,Z=r),Z===r&&(Z=g,e.charCodeAt(g)===40?(ie=R,g++):(ie=r,te===0&&x(N)),ie!==r?(Pe=X(),Pe!==r?(Le=y(),Le!==r?(ot=X(),ot!==r?(e.charCodeAt(g)===41?(gt=U,g++):(gt=r,te===0&&x(V)),gt!==r?(we=Z,ie=ee(Le),Z=ie):(g=Z,Z=r)):(g=Z,Z=r)):(g=Z,Z=r)):(g=Z,Z=r)):(g=Z,Z=r),Z===r&&(Z=z())),Z}function z(){var Z,ie,Pe,Le,ot;if(Z=g,ie=X(),ie!==r){if(Pe=g,Le=[],le.test(e.charAt(g))?(ot=e.charAt(g),g++):(ot=r,te===0&&x(fe)),ot!==r)for(;ot!==r;)Le.push(ot),le.test(e.charAt(g))?(ot=e.charAt(g),g++):(ot=r,te===0&&x(fe));else Le=r;Le!==r?Pe=e.substring(Pe,g):Pe=Le,Pe!==r?(we=g,Le=de(Pe),Le?Le=void 0:Le=r,Le!==r?(we=Z,ie=ge(Pe),Z=ie):(g=Z,Z=r)):(g=Z,Z=r)}else g=Z,Z=r;return Z}function X(){var Z,ie;for(te++,Z=[],Be.test(e.charAt(g))?(ie=e.charAt(g),g++):(ie=r,te===0&&x(be));ie!==r;)Z.push(ie),Be.test(e.charAt(g))?(ie=e.charAt(g),g++):(ie=r,te===0&&x(be));return te--,Z===r&&(ie=r,te===0&&x(oe)),Z}if(Ee=a(),Ee!==r&&g===e.length)return Ee;throw Ee!==r&&g<e.length&&x(He()),P(ne,ce<e.length?e.charAt(ce):null,ce<e.length?je(ce,ce+1):je(ce,ce))}zz.exports={SyntaxError:cd,parse:A5e}});var Zz=_(vS=>{var{parse:f5e}=Xz();vS.makeParser=(e=/[a-z]+/)=>(t,r)=>f5e(t,{queryPattern:e,checkFn:r});vS.parse=vS.makeParser()});var eX=_((ikt,$z)=>{"use strict";$z.exports={aliceblue:[240,248,255],antiquewhite:[250,235,215],aqua:[0,255,255],aquamarine:[127,255,212],azure:[240,255,255],beige:[245,245,220],bisque:[255,228,196],black:[0,0,0],blanchedalmond:[255,235,205],blue:[0,0,255],blueviolet:[138,43,226],brown:[165,42,42],burlywood:[222,184,135],cadetblue:[95,158,160],chartreuse:[127,255,0],chocolate:[210,105,30],coral:[255,127,80],cornflowerblue:[100,149,237],cornsilk:[255,248,220],crimson:[220,20,60],cyan:[0,255,255],darkblue:[0,0,139],darkcyan:[0,139,139],darkgoldenrod:[184,134,11],darkgray:[169,169,169],darkgreen:[0,100,0],darkgrey:[169,169,169],darkkhaki:[189,183,107],darkmagenta:[139,0,139],darkolivegreen:[85,107,47],darkorange:[255,140,0],darkorchid:[153,50,204],darkred:[139,0,0],darksalmon:[233,150,122],darkseagreen:[143,188,143],darkslateblue:[72,61,139],darkslategray:[47,79,79],darkslategrey:[47,79,79],darkturquoise:[0,206,209],darkviolet:[148,0,211],deeppink:[255,20,147],deepskyblue:[0,191,255],dimgray:[105,105,105],dimgrey:[105,105,105],dodgerblue:[30,144,255],firebrick:[178,34,34],floralwhite:[255,250,240],forestgreen:[34,139,34],fuchsia:[255,0,255],gainsboro:[220,220,220],ghostwhite:[248,248,255],gold:[255,215,0],goldenrod:[218,165,32],gray:[128,128,128],green:[0,128,0],greenyellow:[173,255,47],grey:[128,128,128],honeydew:[240,255,240],hotpink:[255,105,180],indianred:[205,92,92],indigo:[75,0,130],ivory:[255,255,240],khaki:[240,230,140],lavender:[230,230,250],lavenderblush:[255,240,245],lawngreen:[124,252,0],lemonchiffon:[255,250,205],lightblue:[173,216,230],lightcoral:[240,128,128],lightcyan:[224,255,255],lightgoldenrodyellow:[250,250,210],lightgray:[211,211,211],lightgreen:[144,238,144],lightgrey:[211,211,211],lightpink:[255,182,193],lightsalmon:[255,160,122],lightseagreen:[32,178,170],lightskyblue:[135,206,250],lightslategray:[119,136,153],lightslategrey:[119,136,153],lightsteelblue:[176,196,222],lightyellow:[255,255,224],lime:[0,255,0],limegreen:[50,205,50],linen:[250,240,230],magenta:[255,0,255],maroon:[128,0,0],mediumaquamarine:[102,205,170],mediumblue:[0,0,205],mediumorchid:[186,85,211],mediumpurple:[147,112,219],mediumseagreen:[60,179,113],mediumslateblue:[123,104,238],mediumspringgreen:[0,250,154],mediumturquoise:[72,209,204],mediumvioletred:[199,21,133],midnightblue:[25,25,112],mintcream:[245,255,250],mistyrose:[255,228,225],moccasin:[255,228,181],navajowhite:[255,222,173],navy:[0,0,128],oldlace:[253,245,230],olive:[128,128,0],olivedrab:[107,142,35],orange:[255,165,0],orangered:[255,69,0],orchid:[218,112,214],palegoldenrod:[238,232,170],palegreen:[152,251,152],paleturquoise:[175,238,238],palevioletred:[219,112,147],papayawhip:[255,239,213],peachpuff:[255,218,185],peru:[205,133,63],pink:[255,192,203],plum:[221,160,221],powderblue:[176,224,230],purple:[128,0,128],rebeccapurple:[102,51,153],red:[255,0,0],rosybrown:[188,143,143],royalblue:[65,105,225],saddlebrown:[139,69,19],salmon:[250,128,114],sandybrown:[244,164,96],seagreen:[46,139,87],seashell:[255,245,238],sienna:[160,82,45],silver:[192,192,192],skyblue:[135,206,235],slateblue:[106,90,205],slategray:[112,128,144],slategrey:[112,128,144],snow:[255,250,250],springgreen:[0,255,127],steelblue:[70,130,180],tan:[210,180,140],teal:[0,128,128],thistle:[216,191,216],tomato:[255,99,71],turquoise:[64,224,208],violet:[238,130,238],wheat:[245,222,179],white:[255,255,255],whitesmoke:[245,245,245],yellow:[255,255,0],yellowgreen:[154,205,50]}});var uN=_((skt,rX)=>{var CI=eX(),tX={};for(let e of Object.keys(CI))tX[CI[e]]=e;var ur={rgb:{channels:3,labels:"rgb"},hsl:{channels:3,labels:"hsl"},hsv:{channels:3,labels:"hsv"},hwb:{channels:3,labels:"hwb"},cmyk:{channels:4,labels:"cmyk"},xyz:{channels:3,labels:"xyz"},lab:{channels:3,labels:"lab"},lch:{channels:3,labels:"lch"},hex:{channels:1,labels:["hex"]},keyword:{channels:1,labels:["keyword"]},ansi16:{channels:1,labels:["ansi16"]},ansi256:{channels:1,labels:["ansi256"]},hcg:{channels:3,labels:["h","c","g"]},apple:{channels:3,labels:["r16","g16","b16"]},gray:{channels:1,labels:["gray"]}};rX.exports=ur;for(let e of Object.keys(ur)){if(!("channels"in ur[e]))throw new Error("missing channels property: "+e);if(!("labels"in ur[e]))throw new Error("missing channel labels property: "+e);if(ur[e].labels.length!==ur[e].channels)throw new Error("channel and label counts mismatch: "+e);let{channels:t,labels:r}=ur[e];delete ur[e].channels,delete ur[e].labels,Object.defineProperty(ur[e],"channels",{value:t}),Object.defineProperty(ur[e],"labels",{value:r})}ur.rgb.hsl=function(e){let t=e[0]/255,r=e[1]/255,o=e[2]/255,a=Math.min(t,r,o),n=Math.max(t,r,o),u=n-a,A,p;n===a?A=0:t===n?A=(r-o)/u:r===n?A=2+(o-t)/u:o===n&&(A=4+(t-r)/u),A=Math.min(A*60,360),A<0&&(A+=360);let h=(a+n)/2;return n===a?p=0:h<=.5?p=u/(n+a):p=u/(2-n-a),[A,p*100,h*100]};ur.rgb.hsv=function(e){let t,r,o,a,n,u=e[0]/255,A=e[1]/255,p=e[2]/255,h=Math.max(u,A,p),w=h-Math.min(u,A,p),I=function(v){return(h-v)/6/w+1/2};return w===0?(a=0,n=0):(n=w/h,t=I(u),r=I(A),o=I(p),u===h?a=o-r:A===h?a=1/3+t-o:p===h&&(a=2/3+r-t),a<0?a+=1:a>1&&(a-=1)),[a*360,n*100,h*100]};ur.rgb.hwb=function(e){let t=e[0],r=e[1],o=e[2],a=ur.rgb.hsl(e)[0],n=1/255*Math.min(t,Math.min(r,o));return o=1-1/255*Math.max(t,Math.max(r,o)),[a,n*100,o*100]};ur.rgb.cmyk=function(e){let t=e[0]/255,r=e[1]/255,o=e[2]/255,a=Math.min(1-t,1-r,1-o),n=(1-t-a)/(1-a)||0,u=(1-r-a)/(1-a)||0,A=(1-o-a)/(1-a)||0;return[n*100,u*100,A*100,a*100]};function p5e(e,t){return(e[0]-t[0])**2+(e[1]-t[1])**2+(e[2]-t[2])**2}ur.rgb.keyword=function(e){let t=tX[e];if(t)return t;let r=1/0,o;for(let a of Object.keys(CI)){let n=CI[a],u=p5e(e,n);u<r&&(r=u,o=a)}return o};ur.keyword.rgb=function(e){return CI[e]};ur.rgb.xyz=function(e){let t=e[0]/255,r=e[1]/255,o=e[2]/255;t=t>.04045?((t+.055)/1.055)**2.4:t/12.92,r=r>.04045?((r+.055)/1.055)**2.4:r/12.92,o=o>.04045?((o+.055)/1.055)**2.4:o/12.92;let a=t*.4124+r*.3576+o*.1805,n=t*.2126+r*.7152+o*.0722,u=t*.0193+r*.1192+o*.9505;return[a*100,n*100,u*100]};ur.rgb.lab=function(e){let t=ur.rgb.xyz(e),r=t[0],o=t[1],a=t[2];r/=95.047,o/=100,a/=108.883,r=r>.008856?r**(1/3):7.787*r+16/116,o=o>.008856?o**(1/3):7.787*o+16/116,a=a>.008856?a**(1/3):7.787*a+16/116;let n=116*o-16,u=500*(r-o),A=200*(o-a);return[n,u,A]};ur.hsl.rgb=function(e){let t=e[0]/360,r=e[1]/100,o=e[2]/100,a,n,u;if(r===0)return u=o*255,[u,u,u];o<.5?a=o*(1+r):a=o+r-o*r;let A=2*o-a,p=[0,0,0];for(let h=0;h<3;h++)n=t+1/3*-(h-1),n<0&&n++,n>1&&n--,6*n<1?u=A+(a-A)*6*n:2*n<1?u=a:3*n<2?u=A+(a-A)*(2/3-n)*6:u=A,p[h]=u*255;return p};ur.hsl.hsv=function(e){let t=e[0],r=e[1]/100,o=e[2]/100,a=r,n=Math.max(o,.01);o*=2,r*=o<=1?o:2-o,a*=n<=1?n:2-n;let u=(o+r)/2,A=o===0?2*a/(n+a):2*r/(o+r);return[t,A*100,u*100]};ur.hsv.rgb=function(e){let t=e[0]/60,r=e[1]/100,o=e[2]/100,a=Math.floor(t)%6,n=t-Math.floor(t),u=255*o*(1-r),A=255*o*(1-r*n),p=255*o*(1-r*(1-n));switch(o*=255,a){case 0:return[o,p,u];case 1:return[A,o,u];case 2:return[u,o,p];case 3:return[u,A,o];case 4:return[p,u,o];case 5:return[o,u,A]}};ur.hsv.hsl=function(e){let t=e[0],r=e[1]/100,o=e[2]/100,a=Math.max(o,.01),n,u;u=(2-r)*o;let A=(2-r)*a;return n=r*a,n/=A<=1?A:2-A,n=n||0,u/=2,[t,n*100,u*100]};ur.hwb.rgb=function(e){let t=e[0]/360,r=e[1]/100,o=e[2]/100,a=r+o,n;a>1&&(r/=a,o/=a);let u=Math.floor(6*t),A=1-o;n=6*t-u,(u&1)!==0&&(n=1-n);let p=r+n*(A-r),h,w,I;switch(u){default:case 6:case 0:h=A,w=p,I=r;break;case 1:h=p,w=A,I=r;break;case 2:h=r,w=A,I=p;break;case 3:h=r,w=p,I=A;break;case 4:h=p,w=r,I=A;break;case 5:h=A,w=r,I=p;break}return[h*255,w*255,I*255]};ur.cmyk.rgb=function(e){let t=e[0]/100,r=e[1]/100,o=e[2]/100,a=e[3]/100,n=1-Math.min(1,t*(1-a)+a),u=1-Math.min(1,r*(1-a)+a),A=1-Math.min(1,o*(1-a)+a);return[n*255,u*255,A*255]};ur.xyz.rgb=function(e){let t=e[0]/100,r=e[1]/100,o=e[2]/100,a,n,u;return a=t*3.2406+r*-1.5372+o*-.4986,n=t*-.9689+r*1.8758+o*.0415,u=t*.0557+r*-.204+o*1.057,a=a>.0031308?1.055*a**(1/2.4)-.055:a*12.92,n=n>.0031308?1.055*n**(1/2.4)-.055:n*12.92,u=u>.0031308?1.055*u**(1/2.4)-.055:u*12.92,a=Math.min(Math.max(0,a),1),n=Math.min(Math.max(0,n),1),u=Math.min(Math.max(0,u),1),[a*255,n*255,u*255]};ur.xyz.lab=function(e){let t=e[0],r=e[1],o=e[2];t/=95.047,r/=100,o/=108.883,t=t>.008856?t**(1/3):7.787*t+16/116,r=r>.008856?r**(1/3):7.787*r+16/116,o=o>.008856?o**(1/3):7.787*o+16/116;let a=116*r-16,n=500*(t-r),u=200*(r-o);return[a,n,u]};ur.lab.xyz=function(e){let t=e[0],r=e[1],o=e[2],a,n,u;n=(t+16)/116,a=r/500+n,u=n-o/200;let A=n**3,p=a**3,h=u**3;return n=A>.008856?A:(n-16/116)/7.787,a=p>.008856?p:(a-16/116)/7.787,u=h>.008856?h:(u-16/116)/7.787,a*=95.047,n*=100,u*=108.883,[a,n,u]};ur.lab.lch=function(e){let t=e[0],r=e[1],o=e[2],a;a=Math.atan2(o,r)*360/2/Math.PI,a<0&&(a+=360);let u=Math.sqrt(r*r+o*o);return[t,u,a]};ur.lch.lab=function(e){let t=e[0],r=e[1],a=e[2]/360*2*Math.PI,n=r*Math.cos(a),u=r*Math.sin(a);return[t,n,u]};ur.rgb.ansi16=function(e,t=null){let[r,o,a]=e,n=t===null?ur.rgb.hsv(e)[2]:t;if(n=Math.round(n/50),n===0)return 30;let u=30+(Math.round(a/255)<<2|Math.round(o/255)<<1|Math.round(r/255));return n===2&&(u+=60),u};ur.hsv.ansi16=function(e){return ur.rgb.ansi16(ur.hsv.rgb(e),e[2])};ur.rgb.ansi256=function(e){let t=e[0],r=e[1],o=e[2];return t===r&&r===o?t<8?16:t>248?231:Math.round((t-8)/247*24)+232:16+36*Math.round(t/255*5)+6*Math.round(r/255*5)+Math.round(o/255*5)};ur.ansi16.rgb=function(e){let t=e%10;if(t===0||t===7)return e>50&&(t+=3.5),t=t/10.5*255,[t,t,t];let r=(~~(e>50)+1)*.5,o=(t&1)*r*255,a=(t>>1&1)*r*255,n=(t>>2&1)*r*255;return[o,a,n]};ur.ansi256.rgb=function(e){if(e>=232){let n=(e-232)*10+8;return[n,n,n]}e-=16;let t,r=Math.floor(e/36)/5*255,o=Math.floor((t=e%36)/6)/5*255,a=t%6/5*255;return[r,o,a]};ur.rgb.hex=function(e){let r=(((Math.round(e[0])&255)<<16)+((Math.round(e[1])&255)<<8)+(Math.round(e[2])&255)).toString(16).toUpperCase();return"000000".substring(r.length)+r};ur.hex.rgb=function(e){let t=e.toString(16).match(/[a-f0-9]{6}|[a-f0-9]{3}/i);if(!t)return[0,0,0];let r=t[0];t[0].length===3&&(r=r.split("").map(A=>A+A).join(""));let o=parseInt(r,16),a=o>>16&255,n=o>>8&255,u=o&255;return[a,n,u]};ur.rgb.hcg=function(e){let t=e[0]/255,r=e[1]/255,o=e[2]/255,a=Math.max(Math.max(t,r),o),n=Math.min(Math.min(t,r),o),u=a-n,A,p;return u<1?A=n/(1-u):A=0,u<=0?p=0:a===t?p=(r-o)/u%6:a===r?p=2+(o-t)/u:p=4+(t-r)/u,p/=6,p%=1,[p*360,u*100,A*100]};ur.hsl.hcg=function(e){let t=e[1]/100,r=e[2]/100,o=r<.5?2*t*r:2*t*(1-r),a=0;return o<1&&(a=(r-.5*o)/(1-o)),[e[0],o*100,a*100]};ur.hsv.hcg=function(e){let t=e[1]/100,r=e[2]/100,o=t*r,a=0;return o<1&&(a=(r-o)/(1-o)),[e[0],o*100,a*100]};ur.hcg.rgb=function(e){let t=e[0]/360,r=e[1]/100,o=e[2]/100;if(r===0)return[o*255,o*255,o*255];let a=[0,0,0],n=t%1*6,u=n%1,A=1-u,p=0;switch(Math.floor(n)){case 0:a[0]=1,a[1]=u,a[2]=0;break;case 1:a[0]=A,a[1]=1,a[2]=0;break;case 2:a[0]=0,a[1]=1,a[2]=u;break;case 3:a[0]=0,a[1]=A,a[2]=1;break;case 4:a[0]=u,a[1]=0,a[2]=1;break;default:a[0]=1,a[1]=0,a[2]=A}return p=(1-r)*o,[(r*a[0]+p)*255,(r*a[1]+p)*255,(r*a[2]+p)*255]};ur.hcg.hsv=function(e){let t=e[1]/100,r=e[2]/100,o=t+r*(1-t),a=0;return o>0&&(a=t/o),[e[0],a*100,o*100]};ur.hcg.hsl=function(e){let t=e[1]/100,o=e[2]/100*(1-t)+.5*t,a=0;return o>0&&o<.5?a=t/(2*o):o>=.5&&o<1&&(a=t/(2*(1-o))),[e[0],a*100,o*100]};ur.hcg.hwb=function(e){let t=e[1]/100,r=e[2]/100,o=t+r*(1-t);return[e[0],(o-t)*100,(1-o)*100]};ur.hwb.hcg=function(e){let t=e[1]/100,o=1-e[2]/100,a=o-t,n=0;return a<1&&(n=(o-a)/(1-a)),[e[0],a*100,n*100]};ur.apple.rgb=function(e){return[e[0]/65535*255,e[1]/65535*255,e[2]/65535*255]};ur.rgb.apple=function(e){return[e[0]/255*65535,e[1]/255*65535,e[2]/255*65535]};ur.gray.rgb=function(e){return[e[0]/100*255,e[0]/100*255,e[0]/100*255]};ur.gray.hsl=function(e){return[0,0,e[0]]};ur.gray.hsv=ur.gray.hsl;ur.gray.hwb=function(e){return[0,100,e[0]]};ur.gray.cmyk=function(e){return[0,0,0,e[0]]};ur.gray.lab=function(e){return[e[0],0,0]};ur.gray.hex=function(e){let t=Math.round(e[0]/100*255)&255,o=((t<<16)+(t<<8)+t).toString(16).toUpperCase();return"000000".substring(o.length)+o};ur.rgb.gray=function(e){return[(e[0]+e[1]+e[2])/3/255*100]}});var iX=_((okt,nX)=>{var DS=uN();function h5e(){let e={},t=Object.keys(DS);for(let r=t.length,o=0;o<r;o++)e[t[o]]={distance:-1,parent:null};return e}function g5e(e){let t=h5e(),r=[e];for(t[e].distance=0;r.length;){let o=r.pop(),a=Object.keys(DS[o]);for(let n=a.length,u=0;u<n;u++){let A=a[u],p=t[A];p.distance===-1&&(p.distance=t[o].distance+1,p.parent=o,r.unshift(A))}}return t}function d5e(e,t){return function(r){return t(e(r))}}function m5e(e,t){let r=[t[e].parent,e],o=DS[t[e].parent][e],a=t[e].parent;for(;t[a].parent;)r.unshift(t[a].parent),o=d5e(DS[t[a].parent][a],o),a=t[a].parent;return o.conversion=r,o}nX.exports=function(e){let t=g5e(e),r={},o=Object.keys(t);for(let a=o.length,n=0;n<a;n++){let u=o[n];t[u].parent!==null&&(r[u]=m5e(u,t))}return r}});var oX=_((akt,sX)=>{var AN=uN(),y5e=iX(),xy={},E5e=Object.keys(AN);function w5e(e){let t=function(...r){let o=r[0];return o==null?o:(o.length>1&&(r=o),e(r))};return"conversion"in e&&(t.conversion=e.conversion),t}function C5e(e){let t=function(...r){let o=r[0];if(o==null)return o;o.length>1&&(r=o);let a=e(r);if(typeof a=="object")for(let n=a.length,u=0;u<n;u++)a[u]=Math.round(a[u]);return a};return"conversion"in e&&(t.conversion=e.conversion),t}E5e.forEach(e=>{xy[e]={},Object.defineProperty(xy[e],"channels",{value:AN[e].channels}),Object.defineProperty(xy[e],"labels",{value:AN[e].labels});let t=y5e(e);Object.keys(t).forEach(o=>{let a=t[o];xy[e][o]=C5e(a),xy[e][o].raw=w5e(a)})});sX.exports=xy});var II=_((lkt,AX)=>{"use strict";var aX=(e,t)=>(...r)=>`\x1B[${e(...r)+t}m`,lX=(e,t)=>(...r)=>{let o=e(...r);return`\x1B[${38+t};5;${o}m`},cX=(e,t)=>(...r)=>{let o=e(...r);return`\x1B[${38+t};2;${o[0]};${o[1]};${o[2]}m`},SS=e=>e,uX=(e,t,r)=>[e,t,r],by=(e,t,r)=>{Object.defineProperty(e,t,{get:()=>{let o=r();return Object.defineProperty(e,t,{value:o,enumerable:!0,configurable:!0}),o},enumerable:!0,configurable:!0})},fN,Qy=(e,t,r,o)=>{fN===void 0&&(fN=oX());let a=o?10:0,n={};for(let[u,A]of Object.entries(fN)){let p=u==="ansi16"?"ansi":u;u===t?n[p]=e(r,a):typeof A=="object"&&(n[p]=e(A[t],a))}return n};function I5e(){let e=new Map,t={modifier:{reset:[0,0],bold:[1,22],dim:[2,22],italic:[3,23],underline:[4,24],inverse:[7,27],hidden:[8,28],strikethrough:[9,29]},color:{black:[30,39],red:[31,39],green:[32,39],yellow:[33,39],blue:[34,39],magenta:[35,39],cyan:[36,39],white:[37,39],blackBright:[90,39],redBright:[91,39],greenBright:[92,39],yellowBright:[93,39],blueBright:[94,39],magentaBright:[95,39],cyanBright:[96,39],whiteBright:[97,39]},bgColor:{bgBlack:[40,49],bgRed:[41,49],bgGreen:[42,49],bgYellow:[43,49],bgBlue:[44,49],bgMagenta:[45,49],bgCyan:[46,49],bgWhite:[47,49],bgBlackBright:[100,49],bgRedBright:[101,49],bgGreenBright:[102,49],bgYellowBright:[103,49],bgBlueBright:[104,49],bgMagentaBright:[105,49],bgCyanBright:[106,49],bgWhiteBright:[107,49]}};t.color.gray=t.color.blackBright,t.bgColor.bgGray=t.bgColor.bgBlackBright,t.color.grey=t.color.blackBright,t.bgColor.bgGrey=t.bgColor.bgBlackBright;for(let[r,o]of Object.entries(t)){for(let[a,n]of Object.entries(o))t[a]={open:`\x1B[${n[0]}m`,close:`\x1B[${n[1]}m`},o[a]=t[a],e.set(n[0],n[1]);Object.defineProperty(t,r,{value:o,enumerable:!1})}return Object.defineProperty(t,"codes",{value:e,enumerable:!1}),t.color.close="\x1B[39m",t.bgColor.close="\x1B[49m",by(t.color,"ansi",()=>Qy(aX,"ansi16",SS,!1)),by(t.color,"ansi256",()=>Qy(lX,"ansi256",SS,!1)),by(t.color,"ansi16m",()=>Qy(cX,"rgb",uX,!1)),by(t.bgColor,"ansi",()=>Qy(aX,"ansi16",SS,!0)),by(t.bgColor,"ansi256",()=>Qy(lX,"ansi256",SS,!0)),by(t.bgColor,"ansi16m",()=>Qy(cX,"rgb",uX,!0)),t}Object.defineProperty(AX,"exports",{enumerable:!0,get:I5e})});var pX=_((ckt,fX)=>{"use strict";fX.exports=(e,t=process.argv)=>{let r=e.startsWith("-")?"":e.length===1?"-":"--",o=t.indexOf(r+e),a=t.indexOf("--");return o!==-1&&(a===-1||o<a)}});var gN=_((ukt,gX)=>{"use strict";var B5e=Ie("os"),hX=Ie("tty"),Ml=pX(),{env:as}=process,Kp;Ml("no-color")||Ml("no-colors")||Ml("color=false")||Ml("color=never")?Kp=0:(Ml("color")||Ml("colors")||Ml("color=true")||Ml("color=always"))&&(Kp=1);"FORCE_COLOR"in as&&(as.FORCE_COLOR==="true"?Kp=1:as.FORCE_COLOR==="false"?Kp=0:Kp=as.FORCE_COLOR.length===0?1:Math.min(parseInt(as.FORCE_COLOR,10),3));function pN(e){return e===0?!1:{level:e,hasBasic:!0,has256:e>=2,has16m:e>=3}}function hN(e,t){if(Kp===0)return 0;if(Ml("color=16m")||Ml("color=full")||Ml("color=truecolor"))return 3;if(Ml("color=256"))return 2;if(e&&!t&&Kp===void 0)return 0;let r=Kp||0;if(as.TERM==="dumb")return r;if(process.platform==="win32"){let o=B5e.release().split(".");return Number(o[0])>=10&&Number(o[2])>=10586?Number(o[2])>=14931?3:2:1}if("CI"in as)return["TRAVIS","CIRCLECI","APPVEYOR","GITLAB_CI"].some(o=>o in as)||as.CI_NAME==="codeship"?1:r;if("TEAMCITY_VERSION"in as)return/^(9\.(0*[1-9]\d*)\.|\d{2,}\.)/.test(as.TEAMCITY_VERSION)?1:0;if("GITHUB_ACTIONS"in as)return 1;if(as.COLORTERM==="truecolor")return 3;if("TERM_PROGRAM"in as){let o=parseInt((as.TERM_PROGRAM_VERSION||"").split(".")[0],10);switch(as.TERM_PROGRAM){case"iTerm.app":return o>=3?3:2;case"Apple_Terminal":return 2}}return/-256(color)?$/i.test(as.TERM)?2:/^screen|^xterm|^vt100|^vt220|^rxvt|color|ansi|cygwin|linux/i.test(as.TERM)||"COLORTERM"in as?1:r}function v5e(e){let t=hN(e,e&&e.isTTY);return pN(t)}gX.exports={supportsColor:v5e,stdout:pN(hN(!0,hX.isatty(1))),stderr:pN(hN(!0,hX.isatty(2)))}});var mX=_((Akt,dX)=>{"use strict";var D5e=(e,t,r)=>{let o=e.indexOf(t);if(o===-1)return e;let a=t.length,n=0,u="";do u+=e.substr(n,o-n)+t+r,n=o+a,o=e.indexOf(t,n);while(o!==-1);return u+=e.substr(n),u},S5e=(e,t,r,o)=>{let a=0,n="";do{let u=e[o-1]==="\r";n+=e.substr(a,(u?o-1:o)-a)+t+(u?`\r -`:` -`)+r,a=o+1,o=e.indexOf(` -`,a)}while(o!==-1);return n+=e.substr(a),n};dX.exports={stringReplaceAll:D5e,stringEncaseCRLFWithFirstIndex:S5e}});var IX=_((fkt,CX)=>{"use strict";var P5e=/(?:\\(u(?:[a-f\d]{4}|\{[a-f\d]{1,6}\})|x[a-f\d]{2}|.))|(?:\{(~)?(\w+(?:\([^)]*\))?(?:\.\w+(?:\([^)]*\))?)*)(?:[ \t]|(?=\r?\n)))|(\})|((?:.|[\r\n\f])+?)/gi,yX=/(?:^|\.)(\w+)(?:\(([^)]*)\))?/g,x5e=/^(['"])((?:\\.|(?!\1)[^\\])*)\1$/,b5e=/\\(u(?:[a-f\d]{4}|\{[a-f\d]{1,6}\})|x[a-f\d]{2}|.)|([^\\])/gi,Q5e=new Map([["n",` -`],["r","\r"],["t"," "],["b","\b"],["f","\f"],["v","\v"],["0","\0"],["\\","\\"],["e","\x1B"],["a","\x07"]]);function wX(e){let t=e[0]==="u",r=e[1]==="{";return t&&!r&&e.length===5||e[0]==="x"&&e.length===3?String.fromCharCode(parseInt(e.slice(1),16)):t&&r?String.fromCodePoint(parseInt(e.slice(2,-1),16)):Q5e.get(e)||e}function k5e(e,t){let r=[],o=t.trim().split(/\s*,\s*/g),a;for(let n of o){let u=Number(n);if(!Number.isNaN(u))r.push(u);else if(a=n.match(x5e))r.push(a[2].replace(b5e,(A,p,h)=>p?wX(p):h));else throw new Error(`Invalid Chalk template style argument: ${n} (in style '${e}')`)}return r}function F5e(e){yX.lastIndex=0;let t=[],r;for(;(r=yX.exec(e))!==null;){let o=r[1];if(r[2]){let a=k5e(o,r[2]);t.push([o].concat(a))}else t.push([o])}return t}function EX(e,t){let r={};for(let a of t)for(let n of a.styles)r[n[0]]=a.inverse?null:n.slice(1);let o=e;for(let[a,n]of Object.entries(r))if(!!Array.isArray(n)){if(!(a in o))throw new Error(`Unknown Chalk style: ${a}`);o=n.length>0?o[a](...n):o[a]}return o}CX.exports=(e,t)=>{let r=[],o=[],a=[];if(t.replace(P5e,(n,u,A,p,h,w)=>{if(u)a.push(wX(u));else if(p){let I=a.join("");a=[],o.push(r.length===0?I:EX(e,r)(I)),r.push({inverse:A,styles:F5e(p)})}else if(h){if(r.length===0)throw new Error("Found extraneous } in Chalk template literal");o.push(EX(e,r)(a.join(""))),a=[],r.pop()}else a.push(w)}),o.push(a.join("")),r.length>0){let n=`Chalk template literal is missing ${r.length} closing bracket${r.length===1?"":"s"} (\`}\`)`;throw new Error(n)}return o.join("")}});var CN=_((pkt,SX)=>{"use strict";var BI=II(),{stdout:mN,stderr:yN}=gN(),{stringReplaceAll:R5e,stringEncaseCRLFWithFirstIndex:T5e}=mX(),BX=["ansi","ansi","ansi256","ansi16m"],ky=Object.create(null),N5e=(e,t={})=>{if(t.level>3||t.level<0)throw new Error("The `level` option should be an integer from 0 to 3");let r=mN?mN.level:0;e.level=t.level===void 0?r:t.level},EN=class{constructor(t){return vX(t)}},vX=e=>{let t={};return N5e(t,e),t.template=(...r)=>M5e(t.template,...r),Object.setPrototypeOf(t,PS.prototype),Object.setPrototypeOf(t.template,t),t.template.constructor=()=>{throw new Error("`chalk.constructor()` is deprecated. Use `new chalk.Instance()` instead.")},t.template.Instance=EN,t.template};function PS(e){return vX(e)}for(let[e,t]of Object.entries(BI))ky[e]={get(){let r=xS(this,wN(t.open,t.close,this._styler),this._isEmpty);return Object.defineProperty(this,e,{value:r}),r}};ky.visible={get(){let e=xS(this,this._styler,!0);return Object.defineProperty(this,"visible",{value:e}),e}};var DX=["rgb","hex","keyword","hsl","hsv","hwb","ansi","ansi256"];for(let e of DX)ky[e]={get(){let{level:t}=this;return function(...r){let o=wN(BI.color[BX[t]][e](...r),BI.color.close,this._styler);return xS(this,o,this._isEmpty)}}};for(let e of DX){let t="bg"+e[0].toUpperCase()+e.slice(1);ky[t]={get(){let{level:r}=this;return function(...o){let a=wN(BI.bgColor[BX[r]][e](...o),BI.bgColor.close,this._styler);return xS(this,a,this._isEmpty)}}}}var L5e=Object.defineProperties(()=>{},{...ky,level:{enumerable:!0,get(){return this._generator.level},set(e){this._generator.level=e}}}),wN=(e,t,r)=>{let o,a;return r===void 0?(o=e,a=t):(o=r.openAll+e,a=t+r.closeAll),{open:e,close:t,openAll:o,closeAll:a,parent:r}},xS=(e,t,r)=>{let o=(...a)=>O5e(o,a.length===1?""+a[0]:a.join(" "));return o.__proto__=L5e,o._generator=e,o._styler=t,o._isEmpty=r,o},O5e=(e,t)=>{if(e.level<=0||!t)return e._isEmpty?"":t;let r=e._styler;if(r===void 0)return t;let{openAll:o,closeAll:a}=r;if(t.indexOf("\x1B")!==-1)for(;r!==void 0;)t=R5e(t,r.close,r.open),r=r.parent;let n=t.indexOf(` -`);return n!==-1&&(t=T5e(t,a,o,n)),o+t+a},dN,M5e=(e,...t)=>{let[r]=t;if(!Array.isArray(r))return t.join(" ");let o=t.slice(1),a=[r.raw[0]];for(let n=1;n<r.length;n++)a.push(String(o[n-1]).replace(/[{}\\]/g,"\\$&"),String(r.raw[n]));return dN===void 0&&(dN=IX()),dN(e,a.join(""))};Object.defineProperties(PS.prototype,ky);var vI=PS();vI.supportsColor=mN;vI.stderr=PS({level:yN?yN.level:0});vI.stderr.supportsColor=yN;vI.Level={None:0,Basic:1,Ansi256:2,TrueColor:3,0:"None",1:"Basic",2:"Ansi256",3:"TrueColor"};SX.exports=vI});var bS=_(Ul=>{"use strict";Ul.isInteger=e=>typeof e=="number"?Number.isInteger(e):typeof e=="string"&&e.trim()!==""?Number.isInteger(Number(e)):!1;Ul.find=(e,t)=>e.nodes.find(r=>r.type===t);Ul.exceedsLimit=(e,t,r=1,o)=>o===!1||!Ul.isInteger(e)||!Ul.isInteger(t)?!1:(Number(t)-Number(e))/Number(r)>=o;Ul.escapeNode=(e,t=0,r)=>{let o=e.nodes[t];!o||(r&&o.type===r||o.type==="open"||o.type==="close")&&o.escaped!==!0&&(o.value="\\"+o.value,o.escaped=!0)};Ul.encloseBrace=e=>e.type!=="brace"?!1:e.commas>>0+e.ranges>>0===0?(e.invalid=!0,!0):!1;Ul.isInvalidBrace=e=>e.type!=="brace"?!1:e.invalid===!0||e.dollar?!0:e.commas>>0+e.ranges>>0===0||e.open!==!0||e.close!==!0?(e.invalid=!0,!0):!1;Ul.isOpenOrClose=e=>e.type==="open"||e.type==="close"?!0:e.open===!0||e.close===!0;Ul.reduce=e=>e.reduce((t,r)=>(r.type==="text"&&t.push(r.value),r.type==="range"&&(r.type="text"),t),[]);Ul.flatten=(...e)=>{let t=[],r=o=>{for(let a=0;a<o.length;a++){let n=o[a];Array.isArray(n)?r(n,t):n!==void 0&&t.push(n)}return t};return r(e),t}});var QS=_((gkt,xX)=>{"use strict";var PX=bS();xX.exports=(e,t={})=>{let r=(o,a={})=>{let n=t.escapeInvalid&&PX.isInvalidBrace(a),u=o.invalid===!0&&t.escapeInvalid===!0,A="";if(o.value)return(n||u)&&PX.isOpenOrClose(o)?"\\"+o.value:o.value;if(o.value)return o.value;if(o.nodes)for(let p of o.nodes)A+=r(p);return A};return r(e)}});var QX=_((dkt,bX)=>{"use strict";bX.exports=function(e){return typeof e=="number"?e-e===0:typeof e=="string"&&e.trim()!==""?Number.isFinite?Number.isFinite(+e):isFinite(+e):!1}});var UX=_((mkt,MX)=>{"use strict";var kX=QX(),ud=(e,t,r)=>{if(kX(e)===!1)throw new TypeError("toRegexRange: expected the first argument to be a number");if(t===void 0||e===t)return String(e);if(kX(t)===!1)throw new TypeError("toRegexRange: expected the second argument to be a number.");let o={relaxZeros:!0,...r};typeof o.strictZeros=="boolean"&&(o.relaxZeros=o.strictZeros===!1);let a=String(o.relaxZeros),n=String(o.shorthand),u=String(o.capture),A=String(o.wrap),p=e+":"+t+"="+a+n+u+A;if(ud.cache.hasOwnProperty(p))return ud.cache[p].result;let h=Math.min(e,t),w=Math.max(e,t);if(Math.abs(h-w)===1){let R=e+"|"+t;return o.capture?`(${R})`:o.wrap===!1?R:`(?:${R})`}let I=OX(e)||OX(t),v={min:e,max:t,a:h,b:w},b=[],E=[];if(I&&(v.isPadded=I,v.maxLen=String(v.max).length),h<0){let R=w<0?Math.abs(w):1;E=FX(R,Math.abs(h),v,o),h=v.a=0}return w>=0&&(b=FX(h,w,v,o)),v.negatives=E,v.positives=b,v.result=U5e(E,b,o),o.capture===!0?v.result=`(${v.result})`:o.wrap!==!1&&b.length+E.length>1&&(v.result=`(?:${v.result})`),ud.cache[p]=v,v.result};function U5e(e,t,r){let o=IN(e,t,"-",!1,r)||[],a=IN(t,e,"",!1,r)||[],n=IN(e,t,"-?",!0,r)||[];return o.concat(n).concat(a).join("|")}function _5e(e,t){let r=1,o=1,a=TX(e,r),n=new Set([t]);for(;e<=a&&a<=t;)n.add(a),r+=1,a=TX(e,r);for(a=NX(t+1,o)-1;e<a&&a<=t;)n.add(a),o+=1,a=NX(t+1,o)-1;return n=[...n],n.sort(q5e),n}function H5e(e,t,r){if(e===t)return{pattern:e,count:[],digits:0};let o=j5e(e,t),a=o.length,n="",u=0;for(let A=0;A<a;A++){let[p,h]=o[A];p===h?n+=p:p!=="0"||h!=="9"?n+=G5e(p,h,r):u++}return u&&(n+=r.shorthand===!0?"\\d":"[0-9]"),{pattern:n,count:[u],digits:a}}function FX(e,t,r,o){let a=_5e(e,t),n=[],u=e,A;for(let p=0;p<a.length;p++){let h=a[p],w=H5e(String(u),String(h),o),I="";if(!r.isPadded&&A&&A.pattern===w.pattern){A.count.length>1&&A.count.pop(),A.count.push(w.count[0]),A.string=A.pattern+LX(A.count),u=h+1;continue}r.isPadded&&(I=Y5e(h,r,o)),w.string=I+w.pattern+LX(w.count),n.push(w),u=h+1,A=w}return n}function IN(e,t,r,o,a){let n=[];for(let u of e){let{string:A}=u;!o&&!RX(t,"string",A)&&n.push(r+A),o&&RX(t,"string",A)&&n.push(r+A)}return n}function j5e(e,t){let r=[];for(let o=0;o<e.length;o++)r.push([e[o],t[o]]);return r}function q5e(e,t){return e>t?1:t>e?-1:0}function RX(e,t,r){return e.some(o=>o[t]===r)}function TX(e,t){return Number(String(e).slice(0,-t)+"9".repeat(t))}function NX(e,t){return e-e%Math.pow(10,t)}function LX(e){let[t=0,r=""]=e;return r||t>1?`{${t+(r?","+r:"")}}`:""}function G5e(e,t,r){return`[${e}${t-e===1?"":"-"}${t}]`}function OX(e){return/^-?(0+)\d/.test(e)}function Y5e(e,t,r){if(!t.isPadded)return e;let o=Math.abs(t.maxLen-String(e).length),a=r.relaxZeros!==!1;switch(o){case 0:return"";case 1:return a?"0?":"0";case 2:return a?"0{0,2}":"00";default:return a?`0{0,${o}}`:`0{${o}}`}}ud.cache={};ud.clearCache=()=>ud.cache={};MX.exports=ud});var DN=_((ykt,KX)=>{"use strict";var W5e=Ie("util"),jX=UX(),_X=e=>e!==null&&typeof e=="object"&&!Array.isArray(e),K5e=e=>t=>e===!0?Number(t):String(t),BN=e=>typeof e=="number"||typeof e=="string"&&e!=="",DI=e=>Number.isInteger(+e),vN=e=>{let t=`${e}`,r=-1;if(t[0]==="-"&&(t=t.slice(1)),t==="0")return!1;for(;t[++r]==="0";);return r>0},J5e=(e,t,r)=>typeof e=="string"||typeof t=="string"?!0:r.stringify===!0,V5e=(e,t,r)=>{if(t>0){let o=e[0]==="-"?"-":"";o&&(e=e.slice(1)),e=o+e.padStart(o?t-1:t,"0")}return r===!1?String(e):e},HX=(e,t)=>{let r=e[0]==="-"?"-":"";for(r&&(e=e.slice(1),t--);e.length<t;)e="0"+e;return r?"-"+e:e},z5e=(e,t)=>{e.negatives.sort((u,A)=>u<A?-1:u>A?1:0),e.positives.sort((u,A)=>u<A?-1:u>A?1:0);let r=t.capture?"":"?:",o="",a="",n;return e.positives.length&&(o=e.positives.join("|")),e.negatives.length&&(a=`-(${r}${e.negatives.join("|")})`),o&&a?n=`${o}|${a}`:n=o||a,t.wrap?`(${r}${n})`:n},qX=(e,t,r,o)=>{if(r)return jX(e,t,{wrap:!1,...o});let a=String.fromCharCode(e);if(e===t)return a;let n=String.fromCharCode(t);return`[${a}-${n}]`},GX=(e,t,r)=>{if(Array.isArray(e)){let o=r.wrap===!0,a=r.capture?"":"?:";return o?`(${a}${e.join("|")})`:e.join("|")}return jX(e,t,r)},YX=(...e)=>new RangeError("Invalid range arguments: "+W5e.inspect(...e)),WX=(e,t,r)=>{if(r.strictRanges===!0)throw YX([e,t]);return[]},X5e=(e,t)=>{if(t.strictRanges===!0)throw new TypeError(`Expected step "${e}" to be a number`);return[]},Z5e=(e,t,r=1,o={})=>{let a=Number(e),n=Number(t);if(!Number.isInteger(a)||!Number.isInteger(n)){if(o.strictRanges===!0)throw YX([e,t]);return[]}a===0&&(a=0),n===0&&(n=0);let u=a>n,A=String(e),p=String(t),h=String(r);r=Math.max(Math.abs(r),1);let w=vN(A)||vN(p)||vN(h),I=w?Math.max(A.length,p.length,h.length):0,v=w===!1&&J5e(e,t,o)===!1,b=o.transform||K5e(v);if(o.toRegex&&r===1)return qX(HX(e,I),HX(t,I),!0,o);let E={negatives:[],positives:[]},R=V=>E[V<0?"negatives":"positives"].push(Math.abs(V)),N=[],U=0;for(;u?a>=n:a<=n;)o.toRegex===!0&&r>1?R(a):N.push(V5e(b(a,U),I,v)),a=u?a-r:a+r,U++;return o.toRegex===!0?r>1?z5e(E,o):GX(N,null,{wrap:!1,...o}):N},$5e=(e,t,r=1,o={})=>{if(!DI(e)&&e.length>1||!DI(t)&&t.length>1)return WX(e,t,o);let a=o.transform||(v=>String.fromCharCode(v)),n=`${e}`.charCodeAt(0),u=`${t}`.charCodeAt(0),A=n>u,p=Math.min(n,u),h=Math.max(n,u);if(o.toRegex&&r===1)return qX(p,h,!1,o);let w=[],I=0;for(;A?n>=u:n<=u;)w.push(a(n,I)),n=A?n-r:n+r,I++;return o.toRegex===!0?GX(w,null,{wrap:!1,options:o}):w},kS=(e,t,r,o={})=>{if(t==null&&BN(e))return[e];if(!BN(e)||!BN(t))return WX(e,t,o);if(typeof r=="function")return kS(e,t,1,{transform:r});if(_X(r))return kS(e,t,0,r);let a={...o};return a.capture===!0&&(a.wrap=!0),r=r||a.step||1,DI(r)?DI(e)&&DI(t)?Z5e(e,t,r,a):$5e(e,t,Math.max(Math.abs(r),1),a):r!=null&&!_X(r)?X5e(r,a):kS(e,t,1,r)};KX.exports=kS});var zX=_((Ekt,VX)=>{"use strict";var e7e=DN(),JX=bS(),t7e=(e,t={})=>{let r=(o,a={})=>{let n=JX.isInvalidBrace(a),u=o.invalid===!0&&t.escapeInvalid===!0,A=n===!0||u===!0,p=t.escapeInvalid===!0?"\\":"",h="";if(o.isOpen===!0||o.isClose===!0)return p+o.value;if(o.type==="open")return A?p+o.value:"(";if(o.type==="close")return A?p+o.value:")";if(o.type==="comma")return o.prev.type==="comma"?"":A?o.value:"|";if(o.value)return o.value;if(o.nodes&&o.ranges>0){let w=JX.reduce(o.nodes),I=e7e(...w,{...t,wrap:!1,toRegex:!0});if(I.length!==0)return w.length>1&&I.length>1?`(${I})`:I}if(o.nodes)for(let w of o.nodes)h+=r(w,o);return h};return r(e)};VX.exports=t7e});var $X=_((wkt,ZX)=>{"use strict";var r7e=DN(),XX=QS(),Fy=bS(),Ad=(e="",t="",r=!1)=>{let o=[];if(e=[].concat(e),t=[].concat(t),!t.length)return e;if(!e.length)return r?Fy.flatten(t).map(a=>`{${a}}`):t;for(let a of e)if(Array.isArray(a))for(let n of a)o.push(Ad(n,t,r));else for(let n of t)r===!0&&typeof n=="string"&&(n=`{${n}}`),o.push(Array.isArray(n)?Ad(a,n,r):a+n);return Fy.flatten(o)},n7e=(e,t={})=>{let r=t.rangeLimit===void 0?1e3:t.rangeLimit,o=(a,n={})=>{a.queue=[];let u=n,A=n.queue;for(;u.type!=="brace"&&u.type!=="root"&&u.parent;)u=u.parent,A=u.queue;if(a.invalid||a.dollar){A.push(Ad(A.pop(),XX(a,t)));return}if(a.type==="brace"&&a.invalid!==!0&&a.nodes.length===2){A.push(Ad(A.pop(),["{}"]));return}if(a.nodes&&a.ranges>0){let I=Fy.reduce(a.nodes);if(Fy.exceedsLimit(...I,t.step,r))throw new RangeError("expanded array length exceeds range limit. Use options.rangeLimit to increase or disable the limit.");let v=r7e(...I,t);v.length===0&&(v=XX(a,t)),A.push(Ad(A.pop(),v)),a.nodes=[];return}let p=Fy.encloseBrace(a),h=a.queue,w=a;for(;w.type!=="brace"&&w.type!=="root"&&w.parent;)w=w.parent,h=w.queue;for(let I=0;I<a.nodes.length;I++){let v=a.nodes[I];if(v.type==="comma"&&a.type==="brace"){I===1&&h.push(""),h.push("");continue}if(v.type==="close"){A.push(Ad(A.pop(),h,p));continue}if(v.value&&v.type!=="open"){h.push(Ad(h.pop(),v.value));continue}v.nodes&&o(v,a)}return h};return Fy.flatten(o(e))};ZX.exports=n7e});var tZ=_((Ckt,eZ)=>{"use strict";eZ.exports={MAX_LENGTH:1024*64,CHAR_0:"0",CHAR_9:"9",CHAR_UPPERCASE_A:"A",CHAR_LOWERCASE_A:"a",CHAR_UPPERCASE_Z:"Z",CHAR_LOWERCASE_Z:"z",CHAR_LEFT_PARENTHESES:"(",CHAR_RIGHT_PARENTHESES:")",CHAR_ASTERISK:"*",CHAR_AMPERSAND:"&",CHAR_AT:"@",CHAR_BACKSLASH:"\\",CHAR_BACKTICK:"`",CHAR_CARRIAGE_RETURN:"\r",CHAR_CIRCUMFLEX_ACCENT:"^",CHAR_COLON:":",CHAR_COMMA:",",CHAR_DOLLAR:"$",CHAR_DOT:".",CHAR_DOUBLE_QUOTE:'"',CHAR_EQUAL:"=",CHAR_EXCLAMATION_MARK:"!",CHAR_FORM_FEED:"\f",CHAR_FORWARD_SLASH:"/",CHAR_HASH:"#",CHAR_HYPHEN_MINUS:"-",CHAR_LEFT_ANGLE_BRACKET:"<",CHAR_LEFT_CURLY_BRACE:"{",CHAR_LEFT_SQUARE_BRACKET:"[",CHAR_LINE_FEED:` -`,CHAR_NO_BREAK_SPACE:"\xA0",CHAR_PERCENT:"%",CHAR_PLUS:"+",CHAR_QUESTION_MARK:"?",CHAR_RIGHT_ANGLE_BRACKET:">",CHAR_RIGHT_CURLY_BRACE:"}",CHAR_RIGHT_SQUARE_BRACKET:"]",CHAR_SEMICOLON:";",CHAR_SINGLE_QUOTE:"'",CHAR_SPACE:" ",CHAR_TAB:" ",CHAR_UNDERSCORE:"_",CHAR_VERTICAL_LINE:"|",CHAR_ZERO_WIDTH_NOBREAK_SPACE:"\uFEFF"}});var oZ=_((Ikt,sZ)=>{"use strict";var i7e=QS(),{MAX_LENGTH:rZ,CHAR_BACKSLASH:SN,CHAR_BACKTICK:s7e,CHAR_COMMA:o7e,CHAR_DOT:a7e,CHAR_LEFT_PARENTHESES:l7e,CHAR_RIGHT_PARENTHESES:c7e,CHAR_LEFT_CURLY_BRACE:u7e,CHAR_RIGHT_CURLY_BRACE:A7e,CHAR_LEFT_SQUARE_BRACKET:nZ,CHAR_RIGHT_SQUARE_BRACKET:iZ,CHAR_DOUBLE_QUOTE:f7e,CHAR_SINGLE_QUOTE:p7e,CHAR_NO_BREAK_SPACE:h7e,CHAR_ZERO_WIDTH_NOBREAK_SPACE:g7e}=tZ(),d7e=(e,t={})=>{if(typeof e!="string")throw new TypeError("Expected a string");let r=t||{},o=typeof r.maxLength=="number"?Math.min(rZ,r.maxLength):rZ;if(e.length>o)throw new SyntaxError(`Input length (${e.length}), exceeds max characters (${o})`);let a={type:"root",input:e,nodes:[]},n=[a],u=a,A=a,p=0,h=e.length,w=0,I=0,v,b={},E=()=>e[w++],R=N=>{if(N.type==="text"&&A.type==="dot"&&(A.type="text"),A&&A.type==="text"&&N.type==="text"){A.value+=N.value;return}return u.nodes.push(N),N.parent=u,N.prev=A,A=N,N};for(R({type:"bos"});w<h;)if(u=n[n.length-1],v=E(),!(v===g7e||v===h7e)){if(v===SN){R({type:"text",value:(t.keepEscaping?v:"")+E()});continue}if(v===iZ){R({type:"text",value:"\\"+v});continue}if(v===nZ){p++;let N=!0,U;for(;w<h&&(U=E());){if(v+=U,U===nZ){p++;continue}if(U===SN){v+=E();continue}if(U===iZ&&(p--,p===0))break}R({type:"text",value:v});continue}if(v===l7e){u=R({type:"paren",nodes:[]}),n.push(u),R({type:"text",value:v});continue}if(v===c7e){if(u.type!=="paren"){R({type:"text",value:v});continue}u=n.pop(),R({type:"text",value:v}),u=n[n.length-1];continue}if(v===f7e||v===p7e||v===s7e){let N=v,U;for(t.keepQuotes!==!0&&(v="");w<h&&(U=E());){if(U===SN){v+=U+E();continue}if(U===N){t.keepQuotes===!0&&(v+=U);break}v+=U}R({type:"text",value:v});continue}if(v===u7e){I++;let U={type:"brace",open:!0,close:!1,dollar:A.value&&A.value.slice(-1)==="$"||u.dollar===!0,depth:I,commas:0,ranges:0,nodes:[]};u=R(U),n.push(u),R({type:"open",value:v});continue}if(v===A7e){if(u.type!=="brace"){R({type:"text",value:v});continue}let N="close";u=n.pop(),u.close=!0,R({type:N,value:v}),I--,u=n[n.length-1];continue}if(v===o7e&&I>0){if(u.ranges>0){u.ranges=0;let N=u.nodes.shift();u.nodes=[N,{type:"text",value:i7e(u)}]}R({type:"comma",value:v}),u.commas++;continue}if(v===a7e&&I>0&&u.commas===0){let N=u.nodes;if(I===0||N.length===0){R({type:"text",value:v});continue}if(A.type==="dot"){if(u.range=[],A.value+=v,A.type="range",u.nodes.length!==3&&u.nodes.length!==5){u.invalid=!0,u.ranges=0,A.type="text";continue}u.ranges++,u.args=[];continue}if(A.type==="range"){N.pop();let U=N[N.length-1];U.value+=A.value+v,A=U,u.ranges--;continue}R({type:"dot",value:v});continue}R({type:"text",value:v})}do if(u=n.pop(),u.type!=="root"){u.nodes.forEach(V=>{V.nodes||(V.type==="open"&&(V.isOpen=!0),V.type==="close"&&(V.isClose=!0),V.nodes||(V.type="text"),V.invalid=!0)});let N=n[n.length-1],U=N.nodes.indexOf(u);N.nodes.splice(U,1,...u.nodes)}while(n.length>0);return R({type:"eos"}),a};sZ.exports=d7e});var cZ=_((Bkt,lZ)=>{"use strict";var aZ=QS(),m7e=zX(),y7e=$X(),E7e=oZ(),rl=(e,t={})=>{let r=[];if(Array.isArray(e))for(let o of e){let a=rl.create(o,t);Array.isArray(a)?r.push(...a):r.push(a)}else r=[].concat(rl.create(e,t));return t&&t.expand===!0&&t.nodupes===!0&&(r=[...new Set(r)]),r};rl.parse=(e,t={})=>E7e(e,t);rl.stringify=(e,t={})=>aZ(typeof e=="string"?rl.parse(e,t):e,t);rl.compile=(e,t={})=>(typeof e=="string"&&(e=rl.parse(e,t)),m7e(e,t));rl.expand=(e,t={})=>{typeof e=="string"&&(e=rl.parse(e,t));let r=y7e(e,t);return t.noempty===!0&&(r=r.filter(Boolean)),t.nodupes===!0&&(r=[...new Set(r)]),r};rl.create=(e,t={})=>e===""||e.length<3?[e]:t.expand!==!0?rl.compile(e,t):rl.expand(e,t);lZ.exports=rl});var SI=_((vkt,hZ)=>{"use strict";var w7e=Ie("path"),Vu="\\\\/",uZ=`[^${Vu}]`,vf="\\.",C7e="\\+",I7e="\\?",RS="\\/",B7e="(?=.)",AZ="[^/]",PN=`(?:${RS}|$)`,fZ=`(?:^|${RS})`,xN=`${vf}{1,2}${PN}`,v7e=`(?!${vf})`,D7e=`(?!${fZ}${xN})`,S7e=`(?!${vf}{0,1}${PN})`,P7e=`(?!${xN})`,x7e=`[^.${RS}]`,b7e=`${AZ}*?`,pZ={DOT_LITERAL:vf,PLUS_LITERAL:C7e,QMARK_LITERAL:I7e,SLASH_LITERAL:RS,ONE_CHAR:B7e,QMARK:AZ,END_ANCHOR:PN,DOTS_SLASH:xN,NO_DOT:v7e,NO_DOTS:D7e,NO_DOT_SLASH:S7e,NO_DOTS_SLASH:P7e,QMARK_NO_DOT:x7e,STAR:b7e,START_ANCHOR:fZ},Q7e={...pZ,SLASH_LITERAL:`[${Vu}]`,QMARK:uZ,STAR:`${uZ}*?`,DOTS_SLASH:`${vf}{1,2}(?:[${Vu}]|$)`,NO_DOT:`(?!${vf})`,NO_DOTS:`(?!(?:^|[${Vu}])${vf}{1,2}(?:[${Vu}]|$))`,NO_DOT_SLASH:`(?!${vf}{0,1}(?:[${Vu}]|$))`,NO_DOTS_SLASH:`(?!${vf}{1,2}(?:[${Vu}]|$))`,QMARK_NO_DOT:`[^.${Vu}]`,START_ANCHOR:`(?:^|[${Vu}])`,END_ANCHOR:`(?:[${Vu}]|$)`},k7e={alnum:"a-zA-Z0-9",alpha:"a-zA-Z",ascii:"\\x00-\\x7F",blank:" \\t",cntrl:"\\x00-\\x1F\\x7F",digit:"0-9",graph:"\\x21-\\x7E",lower:"a-z",print:"\\x20-\\x7E ",punct:"\\-!\"#$%&'()\\*+,./:;<=>?@[\\]^_`{|}~",space:" \\t\\r\\n\\v\\f",upper:"A-Z",word:"A-Za-z0-9_",xdigit:"A-Fa-f0-9"};hZ.exports={MAX_LENGTH:1024*64,POSIX_REGEX_SOURCE:k7e,REGEX_BACKSLASH:/\\(?![*+?^${}(|)[\]])/g,REGEX_NON_SPECIAL_CHARS:/^[^@![\].,$*+?^{}()|\\/]+/,REGEX_SPECIAL_CHARS:/[-*+?.^${}(|)[\]]/,REGEX_SPECIAL_CHARS_BACKREF:/(\\?)((\W)(\3*))/g,REGEX_SPECIAL_CHARS_GLOBAL:/([-*+?.^${}(|)[\]])/g,REGEX_REMOVE_BACKSLASH:/(?:\[.*?[^\\]\]|\\(?=.))/g,REPLACEMENTS:{"***":"*","**/**":"**","**/**/**":"**"},CHAR_0:48,CHAR_9:57,CHAR_UPPERCASE_A:65,CHAR_LOWERCASE_A:97,CHAR_UPPERCASE_Z:90,CHAR_LOWERCASE_Z:122,CHAR_LEFT_PARENTHESES:40,CHAR_RIGHT_PARENTHESES:41,CHAR_ASTERISK:42,CHAR_AMPERSAND:38,CHAR_AT:64,CHAR_BACKWARD_SLASH:92,CHAR_CARRIAGE_RETURN:13,CHAR_CIRCUMFLEX_ACCENT:94,CHAR_COLON:58,CHAR_COMMA:44,CHAR_DOT:46,CHAR_DOUBLE_QUOTE:34,CHAR_EQUAL:61,CHAR_EXCLAMATION_MARK:33,CHAR_FORM_FEED:12,CHAR_FORWARD_SLASH:47,CHAR_GRAVE_ACCENT:96,CHAR_HASH:35,CHAR_HYPHEN_MINUS:45,CHAR_LEFT_ANGLE_BRACKET:60,CHAR_LEFT_CURLY_BRACE:123,CHAR_LEFT_SQUARE_BRACKET:91,CHAR_LINE_FEED:10,CHAR_NO_BREAK_SPACE:160,CHAR_PERCENT:37,CHAR_PLUS:43,CHAR_QUESTION_MARK:63,CHAR_RIGHT_ANGLE_BRACKET:62,CHAR_RIGHT_CURLY_BRACE:125,CHAR_RIGHT_SQUARE_BRACKET:93,CHAR_SEMICOLON:59,CHAR_SINGLE_QUOTE:39,CHAR_SPACE:32,CHAR_TAB:9,CHAR_UNDERSCORE:95,CHAR_VERTICAL_LINE:124,CHAR_ZERO_WIDTH_NOBREAK_SPACE:65279,SEP:w7e.sep,extglobChars(e){return{"!":{type:"negate",open:"(?:(?!(?:",close:`))${e.STAR})`},"?":{type:"qmark",open:"(?:",close:")?"},"+":{type:"plus",open:"(?:",close:")+"},"*":{type:"star",open:"(?:",close:")*"},"@":{type:"at",open:"(?:",close:")"}}},globChars(e){return e===!0?Q7e:pZ}}});var PI=_(Sa=>{"use strict";var F7e=Ie("path"),R7e=process.platform==="win32",{REGEX_BACKSLASH:T7e,REGEX_REMOVE_BACKSLASH:N7e,REGEX_SPECIAL_CHARS:L7e,REGEX_SPECIAL_CHARS_GLOBAL:O7e}=SI();Sa.isObject=e=>e!==null&&typeof e=="object"&&!Array.isArray(e);Sa.hasRegexChars=e=>L7e.test(e);Sa.isRegexChar=e=>e.length===1&&Sa.hasRegexChars(e);Sa.escapeRegex=e=>e.replace(O7e,"\\$1");Sa.toPosixSlashes=e=>e.replace(T7e,"/");Sa.removeBackslashes=e=>e.replace(N7e,t=>t==="\\"?"":t);Sa.supportsLookbehinds=()=>{let e=process.version.slice(1).split(".").map(Number);return e.length===3&&e[0]>=9||e[0]===8&&e[1]>=10};Sa.isWindows=e=>e&&typeof e.windows=="boolean"?e.windows:R7e===!0||F7e.sep==="\\";Sa.escapeLast=(e,t,r)=>{let o=e.lastIndexOf(t,r);return o===-1?e:e[o-1]==="\\"?Sa.escapeLast(e,t,o-1):`${e.slice(0,o)}\\${e.slice(o)}`};Sa.removePrefix=(e,t={})=>{let r=e;return r.startsWith("./")&&(r=r.slice(2),t.prefix="./"),r};Sa.wrapOutput=(e,t={},r={})=>{let o=r.contains?"":"^",a=r.contains?"":"$",n=`${o}(?:${e})${a}`;return t.negated===!0&&(n=`(?:^(?!${n}).*$)`),n}});var IZ=_((Skt,CZ)=>{"use strict";var gZ=PI(),{CHAR_ASTERISK:bN,CHAR_AT:M7e,CHAR_BACKWARD_SLASH:xI,CHAR_COMMA:U7e,CHAR_DOT:QN,CHAR_EXCLAMATION_MARK:kN,CHAR_FORWARD_SLASH:wZ,CHAR_LEFT_CURLY_BRACE:FN,CHAR_LEFT_PARENTHESES:RN,CHAR_LEFT_SQUARE_BRACKET:_7e,CHAR_PLUS:H7e,CHAR_QUESTION_MARK:dZ,CHAR_RIGHT_CURLY_BRACE:j7e,CHAR_RIGHT_PARENTHESES:mZ,CHAR_RIGHT_SQUARE_BRACKET:q7e}=SI(),yZ=e=>e===wZ||e===xI,EZ=e=>{e.isPrefix!==!0&&(e.depth=e.isGlobstar?1/0:1)},G7e=(e,t)=>{let r=t||{},o=e.length-1,a=r.parts===!0||r.scanToEnd===!0,n=[],u=[],A=[],p=e,h=-1,w=0,I=0,v=!1,b=!1,E=!1,R=!1,N=!1,U=!1,V=!1,ee=!1,le=!1,fe=!1,de=0,ge,oe,Be={value:"",depth:0,isGlob:!1},be=()=>h>=o,g=()=>p.charCodeAt(h+1),we=()=>(ge=oe,p.charCodeAt(++h));for(;h<o;){oe=we();let Ee;if(oe===xI){V=Be.backslashes=!0,oe=we(),oe===FN&&(U=!0);continue}if(U===!0||oe===FN){for(de++;be()!==!0&&(oe=we());){if(oe===xI){V=Be.backslashes=!0,we();continue}if(oe===FN){de++;continue}if(U!==!0&&oe===QN&&(oe=we())===QN){if(v=Be.isBrace=!0,E=Be.isGlob=!0,fe=!0,a===!0)continue;break}if(U!==!0&&oe===U7e){if(v=Be.isBrace=!0,E=Be.isGlob=!0,fe=!0,a===!0)continue;break}if(oe===j7e&&(de--,de===0)){U=!1,v=Be.isBrace=!0,fe=!0;break}}if(a===!0)continue;break}if(oe===wZ){if(n.push(h),u.push(Be),Be={value:"",depth:0,isGlob:!1},fe===!0)continue;if(ge===QN&&h===w+1){w+=2;continue}I=h+1;continue}if(r.noext!==!0&&(oe===H7e||oe===M7e||oe===bN||oe===dZ||oe===kN)===!0&&g()===RN){if(E=Be.isGlob=!0,R=Be.isExtglob=!0,fe=!0,oe===kN&&h===w&&(le=!0),a===!0){for(;be()!==!0&&(oe=we());){if(oe===xI){V=Be.backslashes=!0,oe=we();continue}if(oe===mZ){E=Be.isGlob=!0,fe=!0;break}}continue}break}if(oe===bN){if(ge===bN&&(N=Be.isGlobstar=!0),E=Be.isGlob=!0,fe=!0,a===!0)continue;break}if(oe===dZ){if(E=Be.isGlob=!0,fe=!0,a===!0)continue;break}if(oe===_7e){for(;be()!==!0&&(Ee=we());){if(Ee===xI){V=Be.backslashes=!0,we();continue}if(Ee===q7e){b=Be.isBracket=!0,E=Be.isGlob=!0,fe=!0;break}}if(a===!0)continue;break}if(r.nonegate!==!0&&oe===kN&&h===w){ee=Be.negated=!0,w++;continue}if(r.noparen!==!0&&oe===RN){if(E=Be.isGlob=!0,a===!0){for(;be()!==!0&&(oe=we());){if(oe===RN){V=Be.backslashes=!0,oe=we();continue}if(oe===mZ){fe=!0;break}}continue}break}if(E===!0){if(fe=!0,a===!0)continue;break}}r.noext===!0&&(R=!1,E=!1);let Se=p,ce="",ne="";w>0&&(ce=p.slice(0,w),p=p.slice(w),I-=w),Se&&E===!0&&I>0?(Se=p.slice(0,I),ne=p.slice(I)):E===!0?(Se="",ne=p):Se=p,Se&&Se!==""&&Se!=="/"&&Se!==p&&yZ(Se.charCodeAt(Se.length-1))&&(Se=Se.slice(0,-1)),r.unescape===!0&&(ne&&(ne=gZ.removeBackslashes(ne)),Se&&V===!0&&(Se=gZ.removeBackslashes(Se)));let te={prefix:ce,input:e,start:w,base:Se,glob:ne,isBrace:v,isBracket:b,isGlob:E,isExtglob:R,isGlobstar:N,negated:ee,negatedExtglob:le};if(r.tokens===!0&&(te.maxDepth=0,yZ(oe)||u.push(Be),te.tokens=u),r.parts===!0||r.tokens===!0){let Ee;for(let Re=0;Re<n.length;Re++){let dt=Ee?Ee+1:w,H=n[Re],at=e.slice(dt,H);r.tokens&&(Re===0&&w!==0?(u[Re].isPrefix=!0,u[Re].value=ce):u[Re].value=at,EZ(u[Re]),te.maxDepth+=u[Re].depth),(Re!==0||at!=="")&&A.push(at),Ee=H}if(Ee&&Ee+1<e.length){let Re=e.slice(Ee+1);A.push(Re),r.tokens&&(u[u.length-1].value=Re,EZ(u[u.length-1]),te.maxDepth+=u[u.length-1].depth)}te.slashes=n,te.parts=A}return te};CZ.exports=G7e});var DZ=_((Pkt,vZ)=>{"use strict";var TS=SI(),nl=PI(),{MAX_LENGTH:NS,POSIX_REGEX_SOURCE:Y7e,REGEX_NON_SPECIAL_CHARS:W7e,REGEX_SPECIAL_CHARS_BACKREF:K7e,REPLACEMENTS:BZ}=TS,J7e=(e,t)=>{if(typeof t.expandRange=="function")return t.expandRange(...e,t);e.sort();let r=`[${e.join("-")}]`;try{new RegExp(r)}catch{return e.map(a=>nl.escapeRegex(a)).join("..")}return r},Ry=(e,t)=>`Missing ${e}: "${t}" - use "\\\\${t}" to match literal characters`,TN=(e,t)=>{if(typeof e!="string")throw new TypeError("Expected a string");e=BZ[e]||e;let r={...t},o=typeof r.maxLength=="number"?Math.min(NS,r.maxLength):NS,a=e.length;if(a>o)throw new SyntaxError(`Input length: ${a}, exceeds maximum allowed length: ${o}`);let n={type:"bos",value:"",output:r.prepend||""},u=[n],A=r.capture?"":"?:",p=nl.isWindows(t),h=TS.globChars(p),w=TS.extglobChars(h),{DOT_LITERAL:I,PLUS_LITERAL:v,SLASH_LITERAL:b,ONE_CHAR:E,DOTS_SLASH:R,NO_DOT:N,NO_DOT_SLASH:U,NO_DOTS_SLASH:V,QMARK:ee,QMARK_NO_DOT:le,STAR:fe,START_ANCHOR:de}=h,ge=x=>`(${A}(?:(?!${de}${x.dot?R:I}).)*?)`,oe=r.dot?"":N,Be=r.dot?ee:le,be=r.bash===!0?ge(r):fe;r.capture&&(be=`(${be})`),typeof r.noext=="boolean"&&(r.noextglob=r.noext);let g={input:e,index:-1,start:0,dot:r.dot===!0,consumed:"",output:"",prefix:"",backtrack:!1,negated:!1,brackets:0,braces:0,parens:0,quotes:0,globstar:!1,tokens:u};e=nl.removePrefix(e,g),a=e.length;let we=[],Se=[],ce=[],ne=n,te,Ee=()=>g.index===a-1,Re=g.peek=(x=1)=>e[g.index+x],dt=g.advance=()=>e[++g.index]||"",H=()=>e.slice(g.index+1),at=(x="",C=0)=>{g.consumed+=x,g.index+=C},Te=x=>{g.output+=x.output!=null?x.output:x.value,at(x.value)},Qe=()=>{let x=1;for(;Re()==="!"&&(Re(2)!=="("||Re(3)==="?");)dt(),g.start++,x++;return x%2===0?!1:(g.negated=!0,g.start++,!0)},ke=x=>{g[x]++,ce.push(x)},He=x=>{g[x]--,ce.pop()},Ne=x=>{if(ne.type==="globstar"){let C=g.braces>0&&(x.type==="comma"||x.type==="brace"),P=x.extglob===!0||we.length&&(x.type==="pipe"||x.type==="paren");x.type!=="slash"&&x.type!=="paren"&&!C&&!P&&(g.output=g.output.slice(0,-ne.output.length),ne.type="star",ne.value="*",ne.output=be,g.output+=ne.output)}if(we.length&&x.type!=="paren"&&(we[we.length-1].inner+=x.value),(x.value||x.output)&&Te(x),ne&&ne.type==="text"&&x.type==="text"){ne.value+=x.value,ne.output=(ne.output||"")+x.value;return}x.prev=ne,u.push(x),ne=x},Ve=(x,C)=>{let P={...w[C],conditions:1,inner:""};P.prev=ne,P.parens=g.parens,P.output=g.output;let y=(r.capture?"(":"")+P.open;ke("parens"),Ne({type:x,value:C,output:g.output?"":E}),Ne({type:"paren",extglob:!0,value:dt(),output:y}),we.push(P)},je=x=>{let C=x.close+(r.capture?")":""),P;if(x.type==="negate"){let y=be;if(x.inner&&x.inner.length>1&&x.inner.includes("/")&&(y=ge(r)),(y!==be||Ee()||/^\)+$/.test(H()))&&(C=x.close=`)$))${y}`),x.inner.includes("*")&&(P=H())&&/^\.[^\\/.]+$/.test(P)){let F=TN(P,{...t,fastpaths:!1}).output;C=x.close=`)${F})${y})`}x.prev.type==="bos"&&(g.negatedExtglob=!0)}Ne({type:"paren",extglob:!0,value:te,output:C}),He("parens")};if(r.fastpaths!==!1&&!/(^[*!]|[/()[\]{}"])/.test(e)){let x=!1,C=e.replace(K7e,(P,y,F,z,X,Z)=>z==="\\"?(x=!0,P):z==="?"?y?y+z+(X?ee.repeat(X.length):""):Z===0?Be+(X?ee.repeat(X.length):""):ee.repeat(F.length):z==="."?I.repeat(F.length):z==="*"?y?y+z+(X?be:""):be:y?P:`\\${P}`);return x===!0&&(r.unescape===!0?C=C.replace(/\\/g,""):C=C.replace(/\\+/g,P=>P.length%2===0?"\\\\":P?"\\":"")),C===e&&r.contains===!0?(g.output=e,g):(g.output=nl.wrapOutput(C,g,t),g)}for(;!Ee();){if(te=dt(),te==="\0")continue;if(te==="\\"){let P=Re();if(P==="/"&&r.bash!==!0||P==="."||P===";")continue;if(!P){te+="\\",Ne({type:"text",value:te});continue}let y=/^\\+/.exec(H()),F=0;if(y&&y[0].length>2&&(F=y[0].length,g.index+=F,F%2!==0&&(te+="\\")),r.unescape===!0?te=dt():te+=dt(),g.brackets===0){Ne({type:"text",value:te});continue}}if(g.brackets>0&&(te!=="]"||ne.value==="["||ne.value==="[^")){if(r.posix!==!1&&te===":"){let P=ne.value.slice(1);if(P.includes("[")&&(ne.posix=!0,P.includes(":"))){let y=ne.value.lastIndexOf("["),F=ne.value.slice(0,y),z=ne.value.slice(y+2),X=Y7e[z];if(X){ne.value=F+X,g.backtrack=!0,dt(),!n.output&&u.indexOf(ne)===1&&(n.output=E);continue}}}(te==="["&&Re()!==":"||te==="-"&&Re()==="]")&&(te=`\\${te}`),te==="]"&&(ne.value==="["||ne.value==="[^")&&(te=`\\${te}`),r.posix===!0&&te==="!"&&ne.value==="["&&(te="^"),ne.value+=te,Te({value:te});continue}if(g.quotes===1&&te!=='"'){te=nl.escapeRegex(te),ne.value+=te,Te({value:te});continue}if(te==='"'){g.quotes=g.quotes===1?0:1,r.keepQuotes===!0&&Ne({type:"text",value:te});continue}if(te==="("){ke("parens"),Ne({type:"paren",value:te});continue}if(te===")"){if(g.parens===0&&r.strictBrackets===!0)throw new SyntaxError(Ry("opening","("));let P=we[we.length-1];if(P&&g.parens===P.parens+1){je(we.pop());continue}Ne({type:"paren",value:te,output:g.parens?")":"\\)"}),He("parens");continue}if(te==="["){if(r.nobracket===!0||!H().includes("]")){if(r.nobracket!==!0&&r.strictBrackets===!0)throw new SyntaxError(Ry("closing","]"));te=`\\${te}`}else ke("brackets");Ne({type:"bracket",value:te});continue}if(te==="]"){if(r.nobracket===!0||ne&&ne.type==="bracket"&&ne.value.length===1){Ne({type:"text",value:te,output:`\\${te}`});continue}if(g.brackets===0){if(r.strictBrackets===!0)throw new SyntaxError(Ry("opening","["));Ne({type:"text",value:te,output:`\\${te}`});continue}He("brackets");let P=ne.value.slice(1);if(ne.posix!==!0&&P[0]==="^"&&!P.includes("/")&&(te=`/${te}`),ne.value+=te,Te({value:te}),r.literalBrackets===!1||nl.hasRegexChars(P))continue;let y=nl.escapeRegex(ne.value);if(g.output=g.output.slice(0,-ne.value.length),r.literalBrackets===!0){g.output+=y,ne.value=y;continue}ne.value=`(${A}${y}|${ne.value})`,g.output+=ne.value;continue}if(te==="{"&&r.nobrace!==!0){ke("braces");let P={type:"brace",value:te,output:"(",outputIndex:g.output.length,tokensIndex:g.tokens.length};Se.push(P),Ne(P);continue}if(te==="}"){let P=Se[Se.length-1];if(r.nobrace===!0||!P){Ne({type:"text",value:te,output:te});continue}let y=")";if(P.dots===!0){let F=u.slice(),z=[];for(let X=F.length-1;X>=0&&(u.pop(),F[X].type!=="brace");X--)F[X].type!=="dots"&&z.unshift(F[X].value);y=J7e(z,r),g.backtrack=!0}if(P.comma!==!0&&P.dots!==!0){let F=g.output.slice(0,P.outputIndex),z=g.tokens.slice(P.tokensIndex);P.value=P.output="\\{",te=y="\\}",g.output=F;for(let X of z)g.output+=X.output||X.value}Ne({type:"brace",value:te,output:y}),He("braces"),Se.pop();continue}if(te==="|"){we.length>0&&we[we.length-1].conditions++,Ne({type:"text",value:te});continue}if(te===","){let P=te,y=Se[Se.length-1];y&&ce[ce.length-1]==="braces"&&(y.comma=!0,P="|"),Ne({type:"comma",value:te,output:P});continue}if(te==="/"){if(ne.type==="dot"&&g.index===g.start+1){g.start=g.index+1,g.consumed="",g.output="",u.pop(),ne=n;continue}Ne({type:"slash",value:te,output:b});continue}if(te==="."){if(g.braces>0&&ne.type==="dot"){ne.value==="."&&(ne.output=I);let P=Se[Se.length-1];ne.type="dots",ne.output+=te,ne.value+=te,P.dots=!0;continue}if(g.braces+g.parens===0&&ne.type!=="bos"&&ne.type!=="slash"){Ne({type:"text",value:te,output:I});continue}Ne({type:"dot",value:te,output:I});continue}if(te==="?"){if(!(ne&&ne.value==="(")&&r.noextglob!==!0&&Re()==="("&&Re(2)!=="?"){Ve("qmark",te);continue}if(ne&&ne.type==="paren"){let y=Re(),F=te;if(y==="<"&&!nl.supportsLookbehinds())throw new Error("Node.js v10 or higher is required for regex lookbehinds");(ne.value==="("&&!/[!=<:]/.test(y)||y==="<"&&!/<([!=]|\w+>)/.test(H()))&&(F=`\\${te}`),Ne({type:"text",value:te,output:F});continue}if(r.dot!==!0&&(ne.type==="slash"||ne.type==="bos")){Ne({type:"qmark",value:te,output:le});continue}Ne({type:"qmark",value:te,output:ee});continue}if(te==="!"){if(r.noextglob!==!0&&Re()==="("&&(Re(2)!=="?"||!/[!=<:]/.test(Re(3)))){Ve("negate",te);continue}if(r.nonegate!==!0&&g.index===0){Qe();continue}}if(te==="+"){if(r.noextglob!==!0&&Re()==="("&&Re(2)!=="?"){Ve("plus",te);continue}if(ne&&ne.value==="("||r.regex===!1){Ne({type:"plus",value:te,output:v});continue}if(ne&&(ne.type==="bracket"||ne.type==="paren"||ne.type==="brace")||g.parens>0){Ne({type:"plus",value:te});continue}Ne({type:"plus",value:v});continue}if(te==="@"){if(r.noextglob!==!0&&Re()==="("&&Re(2)!=="?"){Ne({type:"at",extglob:!0,value:te,output:""});continue}Ne({type:"text",value:te});continue}if(te!=="*"){(te==="$"||te==="^")&&(te=`\\${te}`);let P=W7e.exec(H());P&&(te+=P[0],g.index+=P[0].length),Ne({type:"text",value:te});continue}if(ne&&(ne.type==="globstar"||ne.star===!0)){ne.type="star",ne.star=!0,ne.value+=te,ne.output=be,g.backtrack=!0,g.globstar=!0,at(te);continue}let x=H();if(r.noextglob!==!0&&/^\([^?]/.test(x)){Ve("star",te);continue}if(ne.type==="star"){if(r.noglobstar===!0){at(te);continue}let P=ne.prev,y=P.prev,F=P.type==="slash"||P.type==="bos",z=y&&(y.type==="star"||y.type==="globstar");if(r.bash===!0&&(!F||x[0]&&x[0]!=="/")){Ne({type:"star",value:te,output:""});continue}let X=g.braces>0&&(P.type==="comma"||P.type==="brace"),Z=we.length&&(P.type==="pipe"||P.type==="paren");if(!F&&P.type!=="paren"&&!X&&!Z){Ne({type:"star",value:te,output:""});continue}for(;x.slice(0,3)==="/**";){let ie=e[g.index+4];if(ie&&ie!=="/")break;x=x.slice(3),at("/**",3)}if(P.type==="bos"&&Ee()){ne.type="globstar",ne.value+=te,ne.output=ge(r),g.output=ne.output,g.globstar=!0,at(te);continue}if(P.type==="slash"&&P.prev.type!=="bos"&&!z&&Ee()){g.output=g.output.slice(0,-(P.output+ne.output).length),P.output=`(?:${P.output}`,ne.type="globstar",ne.output=ge(r)+(r.strictSlashes?")":"|$)"),ne.value+=te,g.globstar=!0,g.output+=P.output+ne.output,at(te);continue}if(P.type==="slash"&&P.prev.type!=="bos"&&x[0]==="/"){let ie=x[1]!==void 0?"|$":"";g.output=g.output.slice(0,-(P.output+ne.output).length),P.output=`(?:${P.output}`,ne.type="globstar",ne.output=`${ge(r)}${b}|${b}${ie})`,ne.value+=te,g.output+=P.output+ne.output,g.globstar=!0,at(te+dt()),Ne({type:"slash",value:"/",output:""});continue}if(P.type==="bos"&&x[0]==="/"){ne.type="globstar",ne.value+=te,ne.output=`(?:^|${b}|${ge(r)}${b})`,g.output=ne.output,g.globstar=!0,at(te+dt()),Ne({type:"slash",value:"/",output:""});continue}g.output=g.output.slice(0,-ne.output.length),ne.type="globstar",ne.output=ge(r),ne.value+=te,g.output+=ne.output,g.globstar=!0,at(te);continue}let C={type:"star",value:te,output:be};if(r.bash===!0){C.output=".*?",(ne.type==="bos"||ne.type==="slash")&&(C.output=oe+C.output),Ne(C);continue}if(ne&&(ne.type==="bracket"||ne.type==="paren")&&r.regex===!0){C.output=te,Ne(C);continue}(g.index===g.start||ne.type==="slash"||ne.type==="dot")&&(ne.type==="dot"?(g.output+=U,ne.output+=U):r.dot===!0?(g.output+=V,ne.output+=V):(g.output+=oe,ne.output+=oe),Re()!=="*"&&(g.output+=E,ne.output+=E)),Ne(C)}for(;g.brackets>0;){if(r.strictBrackets===!0)throw new SyntaxError(Ry("closing","]"));g.output=nl.escapeLast(g.output,"["),He("brackets")}for(;g.parens>0;){if(r.strictBrackets===!0)throw new SyntaxError(Ry("closing",")"));g.output=nl.escapeLast(g.output,"("),He("parens")}for(;g.braces>0;){if(r.strictBrackets===!0)throw new SyntaxError(Ry("closing","}"));g.output=nl.escapeLast(g.output,"{"),He("braces")}if(r.strictSlashes!==!0&&(ne.type==="star"||ne.type==="bracket")&&Ne({type:"maybe_slash",value:"",output:`${b}?`}),g.backtrack===!0){g.output="";for(let x of g.tokens)g.output+=x.output!=null?x.output:x.value,x.suffix&&(g.output+=x.suffix)}return g};TN.fastpaths=(e,t)=>{let r={...t},o=typeof r.maxLength=="number"?Math.min(NS,r.maxLength):NS,a=e.length;if(a>o)throw new SyntaxError(`Input length: ${a}, exceeds maximum allowed length: ${o}`);e=BZ[e]||e;let n=nl.isWindows(t),{DOT_LITERAL:u,SLASH_LITERAL:A,ONE_CHAR:p,DOTS_SLASH:h,NO_DOT:w,NO_DOTS:I,NO_DOTS_SLASH:v,STAR:b,START_ANCHOR:E}=TS.globChars(n),R=r.dot?I:w,N=r.dot?v:w,U=r.capture?"":"?:",V={negated:!1,prefix:""},ee=r.bash===!0?".*?":b;r.capture&&(ee=`(${ee})`);let le=oe=>oe.noglobstar===!0?ee:`(${U}(?:(?!${E}${oe.dot?h:u}).)*?)`,fe=oe=>{switch(oe){case"*":return`${R}${p}${ee}`;case".*":return`${u}${p}${ee}`;case"*.*":return`${R}${ee}${u}${p}${ee}`;case"*/*":return`${R}${ee}${A}${p}${N}${ee}`;case"**":return R+le(r);case"**/*":return`(?:${R}${le(r)}${A})?${N}${p}${ee}`;case"**/*.*":return`(?:${R}${le(r)}${A})?${N}${ee}${u}${p}${ee}`;case"**/.*":return`(?:${R}${le(r)}${A})?${u}${p}${ee}`;default:{let Be=/^(.*?)\.(\w+)$/.exec(oe);if(!Be)return;let be=fe(Be[1]);return be?be+u+Be[2]:void 0}}},de=nl.removePrefix(e,V),ge=fe(de);return ge&&r.strictSlashes!==!0&&(ge+=`${A}?`),ge};vZ.exports=TN});var PZ=_((xkt,SZ)=>{"use strict";var V7e=Ie("path"),z7e=IZ(),NN=DZ(),LN=PI(),X7e=SI(),Z7e=e=>e&&typeof e=="object"&&!Array.isArray(e),Ui=(e,t,r=!1)=>{if(Array.isArray(e)){let w=e.map(v=>Ui(v,t,r));return v=>{for(let b of w){let E=b(v);if(E)return E}return!1}}let o=Z7e(e)&&e.tokens&&e.input;if(e===""||typeof e!="string"&&!o)throw new TypeError("Expected pattern to be a non-empty string");let a=t||{},n=LN.isWindows(t),u=o?Ui.compileRe(e,t):Ui.makeRe(e,t,!1,!0),A=u.state;delete u.state;let p=()=>!1;if(a.ignore){let w={...t,ignore:null,onMatch:null,onResult:null};p=Ui(a.ignore,w,r)}let h=(w,I=!1)=>{let{isMatch:v,match:b,output:E}=Ui.test(w,u,t,{glob:e,posix:n}),R={glob:e,state:A,regex:u,posix:n,input:w,output:E,match:b,isMatch:v};return typeof a.onResult=="function"&&a.onResult(R),v===!1?(R.isMatch=!1,I?R:!1):p(w)?(typeof a.onIgnore=="function"&&a.onIgnore(R),R.isMatch=!1,I?R:!1):(typeof a.onMatch=="function"&&a.onMatch(R),I?R:!0)};return r&&(h.state=A),h};Ui.test=(e,t,r,{glob:o,posix:a}={})=>{if(typeof e!="string")throw new TypeError("Expected input to be a string");if(e==="")return{isMatch:!1,output:""};let n=r||{},u=n.format||(a?LN.toPosixSlashes:null),A=e===o,p=A&&u?u(e):e;return A===!1&&(p=u?u(e):e,A=p===o),(A===!1||n.capture===!0)&&(n.matchBase===!0||n.basename===!0?A=Ui.matchBase(e,t,r,a):A=t.exec(p)),{isMatch:Boolean(A),match:A,output:p}};Ui.matchBase=(e,t,r,o=LN.isWindows(r))=>(t instanceof RegExp?t:Ui.makeRe(t,r)).test(V7e.basename(e));Ui.isMatch=(e,t,r)=>Ui(t,r)(e);Ui.parse=(e,t)=>Array.isArray(e)?e.map(r=>Ui.parse(r,t)):NN(e,{...t,fastpaths:!1});Ui.scan=(e,t)=>z7e(e,t);Ui.compileRe=(e,t,r=!1,o=!1)=>{if(r===!0)return e.output;let a=t||{},n=a.contains?"":"^",u=a.contains?"":"$",A=`${n}(?:${e.output})${u}`;e&&e.negated===!0&&(A=`^(?!${A}).*$`);let p=Ui.toRegex(A,t);return o===!0&&(p.state=e),p};Ui.makeRe=(e,t={},r=!1,o=!1)=>{if(!e||typeof e!="string")throw new TypeError("Expected a non-empty string");let a={negated:!1,fastpaths:!0};return t.fastpaths!==!1&&(e[0]==="."||e[0]==="*")&&(a.output=NN.fastpaths(e,t)),a.output||(a=NN(e,t)),Ui.compileRe(a,t,r,o)};Ui.toRegex=(e,t)=>{try{let r=t||{};return new RegExp(e,r.flags||(r.nocase?"i":""))}catch(r){if(t&&t.debug===!0)throw r;return/$^/}};Ui.constants=X7e;SZ.exports=Ui});var bZ=_((bkt,xZ)=>{"use strict";xZ.exports=PZ()});var Zo=_((Qkt,RZ)=>{"use strict";var kZ=Ie("util"),FZ=cZ(),zu=bZ(),ON=PI(),QZ=e=>e===""||e==="./",mi=(e,t,r)=>{t=[].concat(t),e=[].concat(e);let o=new Set,a=new Set,n=new Set,u=0,A=w=>{n.add(w.output),r&&r.onResult&&r.onResult(w)};for(let w=0;w<t.length;w++){let I=zu(String(t[w]),{...r,onResult:A},!0),v=I.state.negated||I.state.negatedExtglob;v&&u++;for(let b of e){let E=I(b,!0);!(v?!E.isMatch:E.isMatch)||(v?o.add(E.output):(o.delete(E.output),a.add(E.output)))}}let h=(u===t.length?[...n]:[...a]).filter(w=>!o.has(w));if(r&&h.length===0){if(r.failglob===!0)throw new Error(`No matches found for "${t.join(", ")}"`);if(r.nonull===!0||r.nullglob===!0)return r.unescape?t.map(w=>w.replace(/\\/g,"")):t}return h};mi.match=mi;mi.matcher=(e,t)=>zu(e,t);mi.isMatch=(e,t,r)=>zu(t,r)(e);mi.any=mi.isMatch;mi.not=(e,t,r={})=>{t=[].concat(t).map(String);let o=new Set,a=[],n=A=>{r.onResult&&r.onResult(A),a.push(A.output)},u=new Set(mi(e,t,{...r,onResult:n}));for(let A of a)u.has(A)||o.add(A);return[...o]};mi.contains=(e,t,r)=>{if(typeof e!="string")throw new TypeError(`Expected a string: "${kZ.inspect(e)}"`);if(Array.isArray(t))return t.some(o=>mi.contains(e,o,r));if(typeof t=="string"){if(QZ(e)||QZ(t))return!1;if(e.includes(t)||e.startsWith("./")&&e.slice(2).includes(t))return!0}return mi.isMatch(e,t,{...r,contains:!0})};mi.matchKeys=(e,t,r)=>{if(!ON.isObject(e))throw new TypeError("Expected the first argument to be an object");let o=mi(Object.keys(e),t,r),a={};for(let n of o)a[n]=e[n];return a};mi.some=(e,t,r)=>{let o=[].concat(e);for(let a of[].concat(t)){let n=zu(String(a),r);if(o.some(u=>n(u)))return!0}return!1};mi.every=(e,t,r)=>{let o=[].concat(e);for(let a of[].concat(t)){let n=zu(String(a),r);if(!o.every(u=>n(u)))return!1}return!0};mi.all=(e,t,r)=>{if(typeof e!="string")throw new TypeError(`Expected a string: "${kZ.inspect(e)}"`);return[].concat(t).every(o=>zu(o,r)(e))};mi.capture=(e,t,r)=>{let o=ON.isWindows(r),n=zu.makeRe(String(e),{...r,capture:!0}).exec(o?ON.toPosixSlashes(t):t);if(n)return n.slice(1).map(u=>u===void 0?"":u)};mi.makeRe=(...e)=>zu.makeRe(...e);mi.scan=(...e)=>zu.scan(...e);mi.parse=(e,t)=>{let r=[];for(let o of[].concat(e||[]))for(let a of FZ(String(o),t))r.push(zu.parse(a,t));return r};mi.braces=(e,t)=>{if(typeof e!="string")throw new TypeError("Expected a string");return t&&t.nobrace===!0||!/\{.*\}/.test(e)?[e]:FZ(e,t)};mi.braceExpand=(e,t)=>{if(typeof e!="string")throw new TypeError("Expected a string");return mi.braces(e,{...t,expand:!0})};RZ.exports=mi});var NZ=_((kkt,TZ)=>{"use strict";TZ.exports=({onlyFirst:e=!1}={})=>{let t=["[\\u001B\\u009B][[\\]()#;?]*(?:(?:(?:(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]+)*|[a-zA-Z\\d]+(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]*)*)?\\u0007)","(?:(?:\\d{1,4}(?:;\\d{0,4})*)?[\\dA-PR-TZcf-ntqry=><~]))"].join("|");return new RegExp(t,e?void 0:"g")}});var LS=_((Fkt,LZ)=>{"use strict";var $7e=NZ();LZ.exports=e=>typeof e=="string"?e.replace($7e(),""):e});var MZ=_((Rkt,OZ)=>{function eYe(){this.__data__=[],this.size=0}OZ.exports=eYe});var Ty=_((Tkt,UZ)=>{function tYe(e,t){return e===t||e!==e&&t!==t}UZ.exports=tYe});var bI=_((Nkt,_Z)=>{var rYe=Ty();function nYe(e,t){for(var r=e.length;r--;)if(rYe(e[r][0],t))return r;return-1}_Z.exports=nYe});var jZ=_((Lkt,HZ)=>{var iYe=bI(),sYe=Array.prototype,oYe=sYe.splice;function aYe(e){var t=this.__data__,r=iYe(t,e);if(r<0)return!1;var o=t.length-1;return r==o?t.pop():oYe.call(t,r,1),--this.size,!0}HZ.exports=aYe});var GZ=_((Okt,qZ)=>{var lYe=bI();function cYe(e){var t=this.__data__,r=lYe(t,e);return r<0?void 0:t[r][1]}qZ.exports=cYe});var WZ=_((Mkt,YZ)=>{var uYe=bI();function AYe(e){return uYe(this.__data__,e)>-1}YZ.exports=AYe});var JZ=_((Ukt,KZ)=>{var fYe=bI();function pYe(e,t){var r=this.__data__,o=fYe(r,e);return o<0?(++this.size,r.push([e,t])):r[o][1]=t,this}KZ.exports=pYe});var QI=_((_kt,VZ)=>{var hYe=MZ(),gYe=jZ(),dYe=GZ(),mYe=WZ(),yYe=JZ();function Ny(e){var t=-1,r=e==null?0:e.length;for(this.clear();++t<r;){var o=e[t];this.set(o[0],o[1])}}Ny.prototype.clear=hYe;Ny.prototype.delete=gYe;Ny.prototype.get=dYe;Ny.prototype.has=mYe;Ny.prototype.set=yYe;VZ.exports=Ny});var XZ=_((Hkt,zZ)=>{var EYe=QI();function wYe(){this.__data__=new EYe,this.size=0}zZ.exports=wYe});var $Z=_((jkt,ZZ)=>{function CYe(e){var t=this.__data__,r=t.delete(e);return this.size=t.size,r}ZZ.exports=CYe});var t$=_((qkt,e$)=>{function IYe(e){return this.__data__.get(e)}e$.exports=IYe});var n$=_((Gkt,r$)=>{function BYe(e){return this.__data__.has(e)}r$.exports=BYe});var MN=_((Ykt,i$)=>{var vYe=typeof global=="object"&&global&&global.Object===Object&&global;i$.exports=vYe});var _l=_((Wkt,s$)=>{var DYe=MN(),SYe=typeof self=="object"&&self&&self.Object===Object&&self,PYe=DYe||SYe||Function("return this")();s$.exports=PYe});var fd=_((Kkt,o$)=>{var xYe=_l(),bYe=xYe.Symbol;o$.exports=bYe});var u$=_((Jkt,c$)=>{var a$=fd(),l$=Object.prototype,QYe=l$.hasOwnProperty,kYe=l$.toString,kI=a$?a$.toStringTag:void 0;function FYe(e){var t=QYe.call(e,kI),r=e[kI];try{e[kI]=void 0;var o=!0}catch{}var a=kYe.call(e);return o&&(t?e[kI]=r:delete e[kI]),a}c$.exports=FYe});var f$=_((Vkt,A$)=>{var RYe=Object.prototype,TYe=RYe.toString;function NYe(e){return TYe.call(e)}A$.exports=NYe});var pd=_((zkt,g$)=>{var p$=fd(),LYe=u$(),OYe=f$(),MYe="[object Null]",UYe="[object Undefined]",h$=p$?p$.toStringTag:void 0;function _Ye(e){return e==null?e===void 0?UYe:MYe:h$&&h$ in Object(e)?LYe(e):OYe(e)}g$.exports=_Ye});var il=_((Xkt,d$)=>{function HYe(e){var t=typeof e;return e!=null&&(t=="object"||t=="function")}d$.exports=HYe});var OS=_((Zkt,m$)=>{var jYe=pd(),qYe=il(),GYe="[object AsyncFunction]",YYe="[object Function]",WYe="[object GeneratorFunction]",KYe="[object Proxy]";function JYe(e){if(!qYe(e))return!1;var t=jYe(e);return t==YYe||t==WYe||t==GYe||t==KYe}m$.exports=JYe});var E$=_(($kt,y$)=>{var VYe=_l(),zYe=VYe["__core-js_shared__"];y$.exports=zYe});var I$=_((eFt,C$)=>{var UN=E$(),w$=function(){var e=/[^.]+$/.exec(UN&&UN.keys&&UN.keys.IE_PROTO||"");return e?"Symbol(src)_1."+e:""}();function XYe(e){return!!w$&&w$ in e}C$.exports=XYe});var _N=_((tFt,B$)=>{var ZYe=Function.prototype,$Ye=ZYe.toString;function eWe(e){if(e!=null){try{return $Ye.call(e)}catch{}try{return e+""}catch{}}return""}B$.exports=eWe});var D$=_((rFt,v$)=>{var tWe=OS(),rWe=I$(),nWe=il(),iWe=_N(),sWe=/[\\^$.*+?()[\]{}|]/g,oWe=/^\[object .+?Constructor\]$/,aWe=Function.prototype,lWe=Object.prototype,cWe=aWe.toString,uWe=lWe.hasOwnProperty,AWe=RegExp("^"+cWe.call(uWe).replace(sWe,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");function fWe(e){if(!nWe(e)||rWe(e))return!1;var t=tWe(e)?AWe:oWe;return t.test(iWe(e))}v$.exports=fWe});var P$=_((nFt,S$)=>{function pWe(e,t){return e?.[t]}S$.exports=pWe});var Jp=_((iFt,x$)=>{var hWe=D$(),gWe=P$();function dWe(e,t){var r=gWe(e,t);return hWe(r)?r:void 0}x$.exports=dWe});var MS=_((sFt,b$)=>{var mWe=Jp(),yWe=_l(),EWe=mWe(yWe,"Map");b$.exports=EWe});var FI=_((oFt,Q$)=>{var wWe=Jp(),CWe=wWe(Object,"create");Q$.exports=CWe});var R$=_((aFt,F$)=>{var k$=FI();function IWe(){this.__data__=k$?k$(null):{},this.size=0}F$.exports=IWe});var N$=_((lFt,T$)=>{function BWe(e){var t=this.has(e)&&delete this.__data__[e];return this.size-=t?1:0,t}T$.exports=BWe});var O$=_((cFt,L$)=>{var vWe=FI(),DWe="__lodash_hash_undefined__",SWe=Object.prototype,PWe=SWe.hasOwnProperty;function xWe(e){var t=this.__data__;if(vWe){var r=t[e];return r===DWe?void 0:r}return PWe.call(t,e)?t[e]:void 0}L$.exports=xWe});var U$=_((uFt,M$)=>{var bWe=FI(),QWe=Object.prototype,kWe=QWe.hasOwnProperty;function FWe(e){var t=this.__data__;return bWe?t[e]!==void 0:kWe.call(t,e)}M$.exports=FWe});var H$=_((AFt,_$)=>{var RWe=FI(),TWe="__lodash_hash_undefined__";function NWe(e,t){var r=this.__data__;return this.size+=this.has(e)?0:1,r[e]=RWe&&t===void 0?TWe:t,this}_$.exports=NWe});var q$=_((fFt,j$)=>{var LWe=R$(),OWe=N$(),MWe=O$(),UWe=U$(),_We=H$();function Ly(e){var t=-1,r=e==null?0:e.length;for(this.clear();++t<r;){var o=e[t];this.set(o[0],o[1])}}Ly.prototype.clear=LWe;Ly.prototype.delete=OWe;Ly.prototype.get=MWe;Ly.prototype.has=UWe;Ly.prototype.set=_We;j$.exports=Ly});var W$=_((pFt,Y$)=>{var G$=q$(),HWe=QI(),jWe=MS();function qWe(){this.size=0,this.__data__={hash:new G$,map:new(jWe||HWe),string:new G$}}Y$.exports=qWe});var J$=_((hFt,K$)=>{function GWe(e){var t=typeof e;return t=="string"||t=="number"||t=="symbol"||t=="boolean"?e!=="__proto__":e===null}K$.exports=GWe});var RI=_((gFt,V$)=>{var YWe=J$();function WWe(e,t){var r=e.__data__;return YWe(t)?r[typeof t=="string"?"string":"hash"]:r.map}V$.exports=WWe});var X$=_((dFt,z$)=>{var KWe=RI();function JWe(e){var t=KWe(this,e).delete(e);return this.size-=t?1:0,t}z$.exports=JWe});var $$=_((mFt,Z$)=>{var VWe=RI();function zWe(e){return VWe(this,e).get(e)}Z$.exports=zWe});var tee=_((yFt,eee)=>{var XWe=RI();function ZWe(e){return XWe(this,e).has(e)}eee.exports=ZWe});var nee=_((EFt,ree)=>{var $We=RI();function eKe(e,t){var r=$We(this,e),o=r.size;return r.set(e,t),this.size+=r.size==o?0:1,this}ree.exports=eKe});var US=_((wFt,iee)=>{var tKe=W$(),rKe=X$(),nKe=$$(),iKe=tee(),sKe=nee();function Oy(e){var t=-1,r=e==null?0:e.length;for(this.clear();++t<r;){var o=e[t];this.set(o[0],o[1])}}Oy.prototype.clear=tKe;Oy.prototype.delete=rKe;Oy.prototype.get=nKe;Oy.prototype.has=iKe;Oy.prototype.set=sKe;iee.exports=Oy});var oee=_((CFt,see)=>{var oKe=QI(),aKe=MS(),lKe=US(),cKe=200;function uKe(e,t){var r=this.__data__;if(r instanceof oKe){var o=r.__data__;if(!aKe||o.length<cKe-1)return o.push([e,t]),this.size=++r.size,this;r=this.__data__=new lKe(o)}return r.set(e,t),this.size=r.size,this}see.exports=uKe});var _S=_((IFt,aee)=>{var AKe=QI(),fKe=XZ(),pKe=$Z(),hKe=t$(),gKe=n$(),dKe=oee();function My(e){var t=this.__data__=new AKe(e);this.size=t.size}My.prototype.clear=fKe;My.prototype.delete=pKe;My.prototype.get=hKe;My.prototype.has=gKe;My.prototype.set=dKe;aee.exports=My});var cee=_((BFt,lee)=>{var mKe="__lodash_hash_undefined__";function yKe(e){return this.__data__.set(e,mKe),this}lee.exports=yKe});var Aee=_((vFt,uee)=>{function EKe(e){return this.__data__.has(e)}uee.exports=EKe});var pee=_((DFt,fee)=>{var wKe=US(),CKe=cee(),IKe=Aee();function HS(e){var t=-1,r=e==null?0:e.length;for(this.__data__=new wKe;++t<r;)this.add(e[t])}HS.prototype.add=HS.prototype.push=CKe;HS.prototype.has=IKe;fee.exports=HS});var gee=_((SFt,hee)=>{function BKe(e,t){for(var r=-1,o=e==null?0:e.length;++r<o;)if(t(e[r],r,e))return!0;return!1}hee.exports=BKe});var mee=_((PFt,dee)=>{function vKe(e,t){return e.has(t)}dee.exports=vKe});var HN=_((xFt,yee)=>{var DKe=pee(),SKe=gee(),PKe=mee(),xKe=1,bKe=2;function QKe(e,t,r,o,a,n){var u=r&xKe,A=e.length,p=t.length;if(A!=p&&!(u&&p>A))return!1;var h=n.get(e),w=n.get(t);if(h&&w)return h==t&&w==e;var I=-1,v=!0,b=r&bKe?new DKe:void 0;for(n.set(e,t),n.set(t,e);++I<A;){var E=e[I],R=t[I];if(o)var N=u?o(R,E,I,t,e,n):o(E,R,I,e,t,n);if(N!==void 0){if(N)continue;v=!1;break}if(b){if(!SKe(t,function(U,V){if(!PKe(b,V)&&(E===U||a(E,U,r,o,n)))return b.push(V)})){v=!1;break}}else if(!(E===R||a(E,R,r,o,n))){v=!1;break}}return n.delete(e),n.delete(t),v}yee.exports=QKe});var jN=_((bFt,Eee)=>{var kKe=_l(),FKe=kKe.Uint8Array;Eee.exports=FKe});var Cee=_((QFt,wee)=>{function RKe(e){var t=-1,r=Array(e.size);return e.forEach(function(o,a){r[++t]=[a,o]}),r}wee.exports=RKe});var Bee=_((kFt,Iee)=>{function TKe(e){var t=-1,r=Array(e.size);return e.forEach(function(o){r[++t]=o}),r}Iee.exports=TKe});var xee=_((FFt,Pee)=>{var vee=fd(),Dee=jN(),NKe=Ty(),LKe=HN(),OKe=Cee(),MKe=Bee(),UKe=1,_Ke=2,HKe="[object Boolean]",jKe="[object Date]",qKe="[object Error]",GKe="[object Map]",YKe="[object Number]",WKe="[object RegExp]",KKe="[object Set]",JKe="[object String]",VKe="[object Symbol]",zKe="[object ArrayBuffer]",XKe="[object DataView]",See=vee?vee.prototype:void 0,qN=See?See.valueOf:void 0;function ZKe(e,t,r,o,a,n,u){switch(r){case XKe:if(e.byteLength!=t.byteLength||e.byteOffset!=t.byteOffset)return!1;e=e.buffer,t=t.buffer;case zKe:return!(e.byteLength!=t.byteLength||!n(new Dee(e),new Dee(t)));case HKe:case jKe:case YKe:return NKe(+e,+t);case qKe:return e.name==t.name&&e.message==t.message;case WKe:case JKe:return e==t+"";case GKe:var A=OKe;case KKe:var p=o&UKe;if(A||(A=MKe),e.size!=t.size&&!p)return!1;var h=u.get(e);if(h)return h==t;o|=_Ke,u.set(e,t);var w=LKe(A(e),A(t),o,a,n,u);return u.delete(e),w;case VKe:if(qN)return qN.call(e)==qN.call(t)}return!1}Pee.exports=ZKe});var jS=_((RFt,bee)=>{function $Ke(e,t){for(var r=-1,o=t.length,a=e.length;++r<o;)e[a+r]=t[r];return e}bee.exports=$Ke});var Hl=_((TFt,Qee)=>{var eJe=Array.isArray;Qee.exports=eJe});var GN=_((NFt,kee)=>{var tJe=jS(),rJe=Hl();function nJe(e,t,r){var o=t(e);return rJe(e)?o:tJe(o,r(e))}kee.exports=nJe});var Ree=_((LFt,Fee)=>{function iJe(e,t){for(var r=-1,o=e==null?0:e.length,a=0,n=[];++r<o;){var u=e[r];t(u,r,e)&&(n[a++]=u)}return n}Fee.exports=iJe});var YN=_((OFt,Tee)=>{function sJe(){return[]}Tee.exports=sJe});var qS=_((MFt,Lee)=>{var oJe=Ree(),aJe=YN(),lJe=Object.prototype,cJe=lJe.propertyIsEnumerable,Nee=Object.getOwnPropertySymbols,uJe=Nee?function(e){return e==null?[]:(e=Object(e),oJe(Nee(e),function(t){return cJe.call(e,t)}))}:aJe;Lee.exports=uJe});var Mee=_((UFt,Oee)=>{function AJe(e,t){for(var r=-1,o=Array(e);++r<e;)o[r]=t(r);return o}Oee.exports=AJe});var Xu=_((_Ft,Uee)=>{function fJe(e){return e!=null&&typeof e=="object"}Uee.exports=fJe});var Hee=_((HFt,_ee)=>{var pJe=pd(),hJe=Xu(),gJe="[object Arguments]";function dJe(e){return hJe(e)&&pJe(e)==gJe}_ee.exports=dJe});var TI=_((jFt,Gee)=>{var jee=Hee(),mJe=Xu(),qee=Object.prototype,yJe=qee.hasOwnProperty,EJe=qee.propertyIsEnumerable,wJe=jee(function(){return arguments}())?jee:function(e){return mJe(e)&&yJe.call(e,"callee")&&!EJe.call(e,"callee")};Gee.exports=wJe});var Wee=_((qFt,Yee)=>{function CJe(){return!1}Yee.exports=CJe});var LI=_((NI,Uy)=>{var IJe=_l(),BJe=Wee(),Vee=typeof NI=="object"&&NI&&!NI.nodeType&&NI,Kee=Vee&&typeof Uy=="object"&&Uy&&!Uy.nodeType&&Uy,vJe=Kee&&Kee.exports===Vee,Jee=vJe?IJe.Buffer:void 0,DJe=Jee?Jee.isBuffer:void 0,SJe=DJe||BJe;Uy.exports=SJe});var OI=_((GFt,zee)=>{var PJe=9007199254740991,xJe=/^(?:0|[1-9]\d*)$/;function bJe(e,t){var r=typeof e;return t=t??PJe,!!t&&(r=="number"||r!="symbol"&&xJe.test(e))&&e>-1&&e%1==0&&e<t}zee.exports=bJe});var GS=_((YFt,Xee)=>{var QJe=9007199254740991;function kJe(e){return typeof e=="number"&&e>-1&&e%1==0&&e<=QJe}Xee.exports=kJe});var $ee=_((WFt,Zee)=>{var FJe=pd(),RJe=GS(),TJe=Xu(),NJe="[object Arguments]",LJe="[object Array]",OJe="[object Boolean]",MJe="[object Date]",UJe="[object Error]",_Je="[object Function]",HJe="[object Map]",jJe="[object Number]",qJe="[object Object]",GJe="[object RegExp]",YJe="[object Set]",WJe="[object String]",KJe="[object WeakMap]",JJe="[object ArrayBuffer]",VJe="[object DataView]",zJe="[object Float32Array]",XJe="[object Float64Array]",ZJe="[object Int8Array]",$Je="[object Int16Array]",eVe="[object Int32Array]",tVe="[object Uint8Array]",rVe="[object Uint8ClampedArray]",nVe="[object Uint16Array]",iVe="[object Uint32Array]",ci={};ci[zJe]=ci[XJe]=ci[ZJe]=ci[$Je]=ci[eVe]=ci[tVe]=ci[rVe]=ci[nVe]=ci[iVe]=!0;ci[NJe]=ci[LJe]=ci[JJe]=ci[OJe]=ci[VJe]=ci[MJe]=ci[UJe]=ci[_Je]=ci[HJe]=ci[jJe]=ci[qJe]=ci[GJe]=ci[YJe]=ci[WJe]=ci[KJe]=!1;function sVe(e){return TJe(e)&&RJe(e.length)&&!!ci[FJe(e)]}Zee.exports=sVe});var YS=_((KFt,ete)=>{function oVe(e){return function(t){return e(t)}}ete.exports=oVe});var WS=_((MI,_y)=>{var aVe=MN(),tte=typeof MI=="object"&&MI&&!MI.nodeType&&MI,UI=tte&&typeof _y=="object"&&_y&&!_y.nodeType&&_y,lVe=UI&&UI.exports===tte,WN=lVe&&aVe.process,cVe=function(){try{var e=UI&&UI.require&&UI.require("util").types;return e||WN&&WN.binding&&WN.binding("util")}catch{}}();_y.exports=cVe});var KS=_((JFt,ite)=>{var uVe=$ee(),AVe=YS(),rte=WS(),nte=rte&&rte.isTypedArray,fVe=nte?AVe(nte):uVe;ite.exports=fVe});var KN=_((VFt,ste)=>{var pVe=Mee(),hVe=TI(),gVe=Hl(),dVe=LI(),mVe=OI(),yVe=KS(),EVe=Object.prototype,wVe=EVe.hasOwnProperty;function CVe(e,t){var r=gVe(e),o=!r&&hVe(e),a=!r&&!o&&dVe(e),n=!r&&!o&&!a&&yVe(e),u=r||o||a||n,A=u?pVe(e.length,String):[],p=A.length;for(var h in e)(t||wVe.call(e,h))&&!(u&&(h=="length"||a&&(h=="offset"||h=="parent")||n&&(h=="buffer"||h=="byteLength"||h=="byteOffset")||mVe(h,p)))&&A.push(h);return A}ste.exports=CVe});var JS=_((zFt,ote)=>{var IVe=Object.prototype;function BVe(e){var t=e&&e.constructor,r=typeof t=="function"&&t.prototype||IVe;return e===r}ote.exports=BVe});var JN=_((XFt,ate)=>{function vVe(e,t){return function(r){return e(t(r))}}ate.exports=vVe});var cte=_((ZFt,lte)=>{var DVe=JN(),SVe=DVe(Object.keys,Object);lte.exports=SVe});var Ate=_(($Ft,ute)=>{var PVe=JS(),xVe=cte(),bVe=Object.prototype,QVe=bVe.hasOwnProperty;function kVe(e){if(!PVe(e))return xVe(e);var t=[];for(var r in Object(e))QVe.call(e,r)&&r!="constructor"&&t.push(r);return t}ute.exports=kVe});var _I=_((eRt,fte)=>{var FVe=OS(),RVe=GS();function TVe(e){return e!=null&&RVe(e.length)&&!FVe(e)}fte.exports=TVe});var VS=_((tRt,pte)=>{var NVe=KN(),LVe=Ate(),OVe=_I();function MVe(e){return OVe(e)?NVe(e):LVe(e)}pte.exports=MVe});var VN=_((rRt,hte)=>{var UVe=GN(),_Ve=qS(),HVe=VS();function jVe(e){return UVe(e,HVe,_Ve)}hte.exports=jVe});var mte=_((nRt,dte)=>{var gte=VN(),qVe=1,GVe=Object.prototype,YVe=GVe.hasOwnProperty;function WVe(e,t,r,o,a,n){var u=r&qVe,A=gte(e),p=A.length,h=gte(t),w=h.length;if(p!=w&&!u)return!1;for(var I=p;I--;){var v=A[I];if(!(u?v in t:YVe.call(t,v)))return!1}var b=n.get(e),E=n.get(t);if(b&&E)return b==t&&E==e;var R=!0;n.set(e,t),n.set(t,e);for(var N=u;++I<p;){v=A[I];var U=e[v],V=t[v];if(o)var ee=u?o(V,U,v,t,e,n):o(U,V,v,e,t,n);if(!(ee===void 0?U===V||a(U,V,r,o,n):ee)){R=!1;break}N||(N=v=="constructor")}if(R&&!N){var le=e.constructor,fe=t.constructor;le!=fe&&"constructor"in e&&"constructor"in t&&!(typeof le=="function"&&le instanceof le&&typeof fe=="function"&&fe instanceof fe)&&(R=!1)}return n.delete(e),n.delete(t),R}dte.exports=WVe});var Ete=_((iRt,yte)=>{var KVe=Jp(),JVe=_l(),VVe=KVe(JVe,"DataView");yte.exports=VVe});var Cte=_((sRt,wte)=>{var zVe=Jp(),XVe=_l(),ZVe=zVe(XVe,"Promise");wte.exports=ZVe});var Bte=_((oRt,Ite)=>{var $Ve=Jp(),eze=_l(),tze=$Ve(eze,"Set");Ite.exports=tze});var Dte=_((aRt,vte)=>{var rze=Jp(),nze=_l(),ize=rze(nze,"WeakMap");vte.exports=ize});var HI=_((lRt,Fte)=>{var zN=Ete(),XN=MS(),ZN=Cte(),$N=Bte(),eL=Dte(),kte=pd(),Hy=_N(),Ste="[object Map]",sze="[object Object]",Pte="[object Promise]",xte="[object Set]",bte="[object WeakMap]",Qte="[object DataView]",oze=Hy(zN),aze=Hy(XN),lze=Hy(ZN),cze=Hy($N),uze=Hy(eL),hd=kte;(zN&&hd(new zN(new ArrayBuffer(1)))!=Qte||XN&&hd(new XN)!=Ste||ZN&&hd(ZN.resolve())!=Pte||$N&&hd(new $N)!=xte||eL&&hd(new eL)!=bte)&&(hd=function(e){var t=kte(e),r=t==sze?e.constructor:void 0,o=r?Hy(r):"";if(o)switch(o){case oze:return Qte;case aze:return Ste;case lze:return Pte;case cze:return xte;case uze:return bte}return t});Fte.exports=hd});var _te=_((cRt,Ute)=>{var tL=_S(),Aze=HN(),fze=xee(),pze=mte(),Rte=HI(),Tte=Hl(),Nte=LI(),hze=KS(),gze=1,Lte="[object Arguments]",Ote="[object Array]",zS="[object Object]",dze=Object.prototype,Mte=dze.hasOwnProperty;function mze(e,t,r,o,a,n){var u=Tte(e),A=Tte(t),p=u?Ote:Rte(e),h=A?Ote:Rte(t);p=p==Lte?zS:p,h=h==Lte?zS:h;var w=p==zS,I=h==zS,v=p==h;if(v&&Nte(e)){if(!Nte(t))return!1;u=!0,w=!1}if(v&&!w)return n||(n=new tL),u||hze(e)?Aze(e,t,r,o,a,n):fze(e,t,p,r,o,a,n);if(!(r&gze)){var b=w&&Mte.call(e,"__wrapped__"),E=I&&Mte.call(t,"__wrapped__");if(b||E){var R=b?e.value():e,N=E?t.value():t;return n||(n=new tL),a(R,N,r,o,n)}}return v?(n||(n=new tL),pze(e,t,r,o,a,n)):!1}Ute.exports=mze});var Gte=_((uRt,qte)=>{var yze=_te(),Hte=Xu();function jte(e,t,r,o,a){return e===t?!0:e==null||t==null||!Hte(e)&&!Hte(t)?e!==e&&t!==t:yze(e,t,r,o,jte,a)}qte.exports=jte});var Wte=_((ARt,Yte)=>{var Eze=Gte();function wze(e,t){return Eze(e,t)}Yte.exports=wze});var rL=_((fRt,Kte)=>{var Cze=Jp(),Ize=function(){try{var e=Cze(Object,"defineProperty");return e({},"",{}),e}catch{}}();Kte.exports=Ize});var XS=_((pRt,Vte)=>{var Jte=rL();function Bze(e,t,r){t=="__proto__"&&Jte?Jte(e,t,{configurable:!0,enumerable:!0,value:r,writable:!0}):e[t]=r}Vte.exports=Bze});var nL=_((hRt,zte)=>{var vze=XS(),Dze=Ty();function Sze(e,t,r){(r!==void 0&&!Dze(e[t],r)||r===void 0&&!(t in e))&&vze(e,t,r)}zte.exports=Sze});var Zte=_((gRt,Xte)=>{function Pze(e){return function(t,r,o){for(var a=-1,n=Object(t),u=o(t),A=u.length;A--;){var p=u[e?A:++a];if(r(n[p],p,n)===!1)break}return t}}Xte.exports=Pze});var ere=_((dRt,$te)=>{var xze=Zte(),bze=xze();$te.exports=bze});var iL=_((jI,jy)=>{var Qze=_l(),ire=typeof jI=="object"&&jI&&!jI.nodeType&&jI,tre=ire&&typeof jy=="object"&&jy&&!jy.nodeType&&jy,kze=tre&&tre.exports===ire,rre=kze?Qze.Buffer:void 0,nre=rre?rre.allocUnsafe:void 0;function Fze(e,t){if(t)return e.slice();var r=e.length,o=nre?nre(r):new e.constructor(r);return e.copy(o),o}jy.exports=Fze});var ZS=_((mRt,ore)=>{var sre=jN();function Rze(e){var t=new e.constructor(e.byteLength);return new sre(t).set(new sre(e)),t}ore.exports=Rze});var sL=_((yRt,are)=>{var Tze=ZS();function Nze(e,t){var r=t?Tze(e.buffer):e.buffer;return new e.constructor(r,e.byteOffset,e.length)}are.exports=Nze});var $S=_((ERt,lre)=>{function Lze(e,t){var r=-1,o=e.length;for(t||(t=Array(o));++r<o;)t[r]=e[r];return t}lre.exports=Lze});var Are=_((wRt,ure)=>{var Oze=il(),cre=Object.create,Mze=function(){function e(){}return function(t){if(!Oze(t))return{};if(cre)return cre(t);e.prototype=t;var r=new e;return e.prototype=void 0,r}}();ure.exports=Mze});var eP=_((CRt,fre)=>{var Uze=JN(),_ze=Uze(Object.getPrototypeOf,Object);fre.exports=_ze});var oL=_((IRt,pre)=>{var Hze=Are(),jze=eP(),qze=JS();function Gze(e){return typeof e.constructor=="function"&&!qze(e)?Hze(jze(e)):{}}pre.exports=Gze});var gre=_((BRt,hre)=>{var Yze=_I(),Wze=Xu();function Kze(e){return Wze(e)&&Yze(e)}hre.exports=Kze});var aL=_((vRt,mre)=>{var Jze=pd(),Vze=eP(),zze=Xu(),Xze="[object Object]",Zze=Function.prototype,$ze=Object.prototype,dre=Zze.toString,eXe=$ze.hasOwnProperty,tXe=dre.call(Object);function rXe(e){if(!zze(e)||Jze(e)!=Xze)return!1;var t=Vze(e);if(t===null)return!0;var r=eXe.call(t,"constructor")&&t.constructor;return typeof r=="function"&&r instanceof r&&dre.call(r)==tXe}mre.exports=rXe});var lL=_((DRt,yre)=>{function nXe(e,t){if(!(t==="constructor"&&typeof e[t]=="function")&&t!="__proto__")return e[t]}yre.exports=nXe});var tP=_((SRt,Ere)=>{var iXe=XS(),sXe=Ty(),oXe=Object.prototype,aXe=oXe.hasOwnProperty;function lXe(e,t,r){var o=e[t];(!(aXe.call(e,t)&&sXe(o,r))||r===void 0&&!(t in e))&&iXe(e,t,r)}Ere.exports=lXe});var gd=_((PRt,wre)=>{var cXe=tP(),uXe=XS();function AXe(e,t,r,o){var a=!r;r||(r={});for(var n=-1,u=t.length;++n<u;){var A=t[n],p=o?o(r[A],e[A],A,r,e):void 0;p===void 0&&(p=e[A]),a?uXe(r,A,p):cXe(r,A,p)}return r}wre.exports=AXe});var Ire=_((xRt,Cre)=>{function fXe(e){var t=[];if(e!=null)for(var r in Object(e))t.push(r);return t}Cre.exports=fXe});var vre=_((bRt,Bre)=>{var pXe=il(),hXe=JS(),gXe=Ire(),dXe=Object.prototype,mXe=dXe.hasOwnProperty;function yXe(e){if(!pXe(e))return gXe(e);var t=hXe(e),r=[];for(var o in e)o=="constructor"&&(t||!mXe.call(e,o))||r.push(o);return r}Bre.exports=yXe});var qy=_((QRt,Dre)=>{var EXe=KN(),wXe=vre(),CXe=_I();function IXe(e){return CXe(e)?EXe(e,!0):wXe(e)}Dre.exports=IXe});var Pre=_((kRt,Sre)=>{var BXe=gd(),vXe=qy();function DXe(e){return BXe(e,vXe(e))}Sre.exports=DXe});var Rre=_((FRt,Fre)=>{var xre=nL(),SXe=iL(),PXe=sL(),xXe=$S(),bXe=oL(),bre=TI(),Qre=Hl(),QXe=gre(),kXe=LI(),FXe=OS(),RXe=il(),TXe=aL(),NXe=KS(),kre=lL(),LXe=Pre();function OXe(e,t,r,o,a,n,u){var A=kre(e,r),p=kre(t,r),h=u.get(p);if(h){xre(e,r,h);return}var w=n?n(A,p,r+"",e,t,u):void 0,I=w===void 0;if(I){var v=Qre(p),b=!v&&kXe(p),E=!v&&!b&&NXe(p);w=p,v||b||E?Qre(A)?w=A:QXe(A)?w=xXe(A):b?(I=!1,w=SXe(p,!0)):E?(I=!1,w=PXe(p,!0)):w=[]:TXe(p)||bre(p)?(w=A,bre(A)?w=LXe(A):(!RXe(A)||FXe(A))&&(w=bXe(p))):I=!1}I&&(u.set(p,w),a(w,p,o,n,u),u.delete(p)),xre(e,r,w)}Fre.exports=OXe});var Lre=_((RRt,Nre)=>{var MXe=_S(),UXe=nL(),_Xe=ere(),HXe=Rre(),jXe=il(),qXe=qy(),GXe=lL();function Tre(e,t,r,o,a){e!==t&&_Xe(t,function(n,u){if(a||(a=new MXe),jXe(n))HXe(e,t,u,r,Tre,o,a);else{var A=o?o(GXe(e,u),n,u+"",e,t,a):void 0;A===void 0&&(A=n),UXe(e,u,A)}},qXe)}Nre.exports=Tre});var cL=_((TRt,Ore)=>{function YXe(e){return e}Ore.exports=YXe});var Ure=_((NRt,Mre)=>{function WXe(e,t,r){switch(r.length){case 0:return e.call(t);case 1:return e.call(t,r[0]);case 2:return e.call(t,r[0],r[1]);case 3:return e.call(t,r[0],r[1],r[2])}return e.apply(t,r)}Mre.exports=WXe});var uL=_((LRt,Hre)=>{var KXe=Ure(),_re=Math.max;function JXe(e,t,r){return t=_re(t===void 0?e.length-1:t,0),function(){for(var o=arguments,a=-1,n=_re(o.length-t,0),u=Array(n);++a<n;)u[a]=o[t+a];a=-1;for(var A=Array(t+1);++a<t;)A[a]=o[a];return A[t]=r(u),KXe(e,this,A)}}Hre.exports=JXe});var qre=_((ORt,jre)=>{function VXe(e){return function(){return e}}jre.exports=VXe});var Wre=_((MRt,Yre)=>{var zXe=qre(),Gre=rL(),XXe=cL(),ZXe=Gre?function(e,t){return Gre(e,"toString",{configurable:!0,enumerable:!1,value:zXe(t),writable:!0})}:XXe;Yre.exports=ZXe});var Jre=_((URt,Kre)=>{var $Xe=800,eZe=16,tZe=Date.now;function rZe(e){var t=0,r=0;return function(){var o=tZe(),a=eZe-(o-r);if(r=o,a>0){if(++t>=$Xe)return arguments[0]}else t=0;return e.apply(void 0,arguments)}}Kre.exports=rZe});var AL=_((_Rt,Vre)=>{var nZe=Wre(),iZe=Jre(),sZe=iZe(nZe);Vre.exports=sZe});var Xre=_((HRt,zre)=>{var oZe=cL(),aZe=uL(),lZe=AL();function cZe(e,t){return lZe(aZe(e,t,oZe),e+"")}zre.exports=cZe});var $re=_((jRt,Zre)=>{var uZe=Ty(),AZe=_I(),fZe=OI(),pZe=il();function hZe(e,t,r){if(!pZe(r))return!1;var o=typeof t;return(o=="number"?AZe(r)&&fZe(t,r.length):o=="string"&&t in r)?uZe(r[t],e):!1}Zre.exports=hZe});var tne=_((qRt,ene)=>{var gZe=Xre(),dZe=$re();function mZe(e){return gZe(function(t,r){var o=-1,a=r.length,n=a>1?r[a-1]:void 0,u=a>2?r[2]:void 0;for(n=e.length>3&&typeof n=="function"?(a--,n):void 0,u&&dZe(r[0],r[1],u)&&(n=a<3?void 0:n,a=1),t=Object(t);++o<a;){var A=r[o];A&&e(t,A,o,n)}return t})}ene.exports=mZe});var nne=_((GRt,rne)=>{var yZe=Lre(),EZe=tne(),wZe=EZe(function(e,t,r,o){yZe(e,t,r,o)});rne.exports=wZe});var _e={};Jt(_e,{AsyncActions:()=>hL,BufferStream:()=>pL,CachingStrategy:()=>gne,DefaultStream:()=>gL,allSettledSafe:()=>Uc,assertNever:()=>mL,bufferStream:()=>Ky,buildIgnorePattern:()=>PZe,convertMapsToIndexableObjects:()=>nP,dynamicRequire:()=>Vp,escapeRegExp:()=>IZe,getArrayWithDefault:()=>Gy,getFactoryWithDefault:()=>_c,getMapWithDefault:()=>Yy,getSetWithDefault:()=>dd,groupBy:()=>wL,isIndexableObject:()=>fL,isPathLike:()=>xZe,isTaggedYarnVersion:()=>CZe,makeDeferred:()=>fne,mapAndFilter:()=>sl,mapAndFind:()=>GI,mergeIntoTarget:()=>mne,overrideType:()=>BZe,parseBoolean:()=>YI,parseInt:()=>Jy,parseOptionalBoolean:()=>dne,plural:()=>rP,prettifyAsyncErrors:()=>Wy,prettifySyncErrors:()=>yL,releaseAfterUseAsync:()=>DZe,replaceEnvVariables:()=>iP,sortMap:()=>ks,toMerged:()=>bZe,tryParseOptionalBoolean:()=>EL,validateEnum:()=>vZe});function CZe(e){return!!(cne.default.valid(e)&&e.match(/^[^-]+(-rc\.[0-9]+)?$/))}function rP(e,{one:t,more:r,zero:o=r}){return e===0?o:e===1?t:r}function IZe(e){return e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function BZe(e){}function mL(e){throw new Error(`Assertion failed: Unexpected object '${e}'`)}function vZe(e,t){let r=Object.values(e);if(!r.includes(t))throw new it(`Invalid value for enumeration: ${JSON.stringify(t)} (expected one of ${r.map(o=>JSON.stringify(o)).join(", ")})`);return t}function sl(e,t){let r=[];for(let o of e){let a=t(o);a!==une&&r.push(a)}return r}function GI(e,t){for(let r of e){let o=t(r);if(o!==Ane)return o}}function fL(e){return typeof e=="object"&&e!==null}async function Uc(e){let t=await Promise.allSettled(e),r=[];for(let o of t){if(o.status==="rejected")throw o.reason;r.push(o.value)}return r}function nP(e){if(e instanceof Map&&(e=Object.fromEntries(e)),fL(e))for(let t of Object.keys(e)){let r=e[t];fL(r)&&(e[t]=nP(r))}return e}function _c(e,t,r){let o=e.get(t);return typeof o>"u"&&e.set(t,o=r()),o}function Gy(e,t){let r=e.get(t);return typeof r>"u"&&e.set(t,r=[]),r}function dd(e,t){let r=e.get(t);return typeof r>"u"&&e.set(t,r=new Set),r}function Yy(e,t){let r=e.get(t);return typeof r>"u"&&e.set(t,r=new Map),r}async function DZe(e,t){if(t==null)return await e();try{return await e()}finally{await t()}}async function Wy(e,t){try{return await e()}catch(r){throw r.message=t(r.message),r}}function yL(e,t){try{return e()}catch(r){throw r.message=t(r.message),r}}async function Ky(e){return await new Promise((t,r)=>{let o=[];e.on("error",a=>{r(a)}),e.on("data",a=>{o.push(a)}),e.on("end",()=>{t(Buffer.concat(o))})})}function fne(){let e,t;return{promise:new Promise((o,a)=>{e=o,t=a}),resolve:e,reject:t}}function pne(e){return qI(Ae.fromPortablePath(e))}function hne(path){let physicalPath=Ae.fromPortablePath(path),currentCacheEntry=qI.cache[physicalPath];delete qI.cache[physicalPath];let result;try{result=pne(physicalPath);let freshCacheEntry=qI.cache[physicalPath],dynamicModule=eval("module"),freshCacheIndex=dynamicModule.children.indexOf(freshCacheEntry);freshCacheIndex!==-1&&dynamicModule.children.splice(freshCacheIndex,1)}finally{qI.cache[physicalPath]=currentCacheEntry}return result}function SZe(e){let t=ine.get(e),r=ae.statSync(e);if(t?.mtime===r.mtimeMs)return t.instance;let o=hne(e);return ine.set(e,{mtime:r.mtimeMs,instance:o}),o}function Vp(e,{cachingStrategy:t=2}={}){switch(t){case 0:return hne(e);case 1:return SZe(e);case 2:return pne(e);default:throw new Error("Unsupported caching strategy")}}function ks(e,t){let r=Array.from(e);Array.isArray(t)||(t=[t]);let o=[];for(let n of t)o.push(r.map(u=>n(u)));let a=r.map((n,u)=>u);return a.sort((n,u)=>{for(let A of o){let p=A[n]<A[u]?-1:A[n]>A[u]?1:0;if(p!==0)return p}return 0}),a.map(n=>r[n])}function PZe(e){return e.length===0?null:e.map(t=>`(${ane.default.makeRe(t,{windows:!1,dot:!0}).source})`).join("|")}function iP(e,{env:t}){let r=/\${(?<variableName>[\d\w_]+)(?<colon>:)?(?:-(?<fallback>[^}]*))?}/g;return e.replace(r,(...o)=>{let{variableName:a,colon:n,fallback:u}=o[o.length-1],A=Object.hasOwn(t,a),p=t[a];if(p||A&&!n)return p;if(u!=null)return u;throw new it(`Environment variable not found (${a})`)})}function YI(e){switch(e){case"true":case"1":case 1:case!0:return!0;case"false":case"0":case 0:case!1:return!1;default:throw new Error(`Couldn't parse "${e}" as a boolean`)}}function dne(e){return typeof e>"u"?e:YI(e)}function EL(e){try{return dne(e)}catch{return null}}function xZe(e){return!!(Ae.isAbsolute(e)||e.match(/^(\.{1,2}|~)\//))}function mne(e,...t){let r=u=>({value:u}),o=r(e),a=t.map(u=>r(u)),{value:n}=(0,one.default)(o,...a,(u,A)=>{if(Array.isArray(u)&&Array.isArray(A)){for(let p of A)u.find(h=>(0,sne.default)(h,p))||u.push(p);return u}});return n}function bZe(...e){return mne({},...e)}function wL(e,t){let r=Object.create(null);for(let o of e){let a=o[t];r[a]??=[],r[a].push(o)}return r}function Jy(e){return typeof e=="string"?Number.parseInt(e,10):e}var sne,one,ane,lne,cne,dL,une,Ane,pL,hL,gL,qI,ine,gne,jl=yt(()=>{St();qt();sne=$e(Wte()),one=$e(nne()),ane=$e(Zo()),lne=$e(nd()),cne=$e(Zn()),dL=Ie("stream");une=Symbol();sl.skip=une;Ane=Symbol();GI.skip=Ane;pL=class extends dL.Transform{constructor(){super(...arguments);this.chunks=[]}_transform(r,o,a){if(o!=="buffer"||!Buffer.isBuffer(r))throw new Error("Assertion failed: BufferStream only accept buffers");this.chunks.push(r),a(null,null)}_flush(r){r(null,Buffer.concat(this.chunks))}};hL=class{constructor(t){this.deferred=new Map;this.promises=new Map;this.limit=(0,lne.default)(t)}set(t,r){let o=this.deferred.get(t);typeof o>"u"&&this.deferred.set(t,o=fne());let a=this.limit(()=>r());return this.promises.set(t,a),a.then(()=>{this.promises.get(t)===a&&o.resolve()},n=>{this.promises.get(t)===a&&o.reject(n)}),o.promise}reduce(t,r){let o=this.promises.get(t)??Promise.resolve();this.set(t,()=>r(o))}async wait(){await Promise.all(this.promises.values())}},gL=class extends dL.Transform{constructor(r=Buffer.alloc(0)){super();this.active=!0;this.ifEmpty=r}_transform(r,o,a){if(o!=="buffer"||!Buffer.isBuffer(r))throw new Error("Assertion failed: DefaultStream only accept buffers");this.active=!1,a(null,r)}_flush(r){this.active&&this.ifEmpty.length>0?r(null,this.ifEmpty):r(null)}},qI=eval("require");ine=new Map;gne=(o=>(o[o.NoCache=0]="NoCache",o[o.FsTime=1]="FsTime",o[o.Node=2]="Node",o))(gne||{})});var Vy,CL,IL,yne=yt(()=>{Vy=(r=>(r.HARD="HARD",r.SOFT="SOFT",r))(Vy||{}),CL=(o=>(o.Dependency="Dependency",o.PeerDependency="PeerDependency",o.PeerDependencyMeta="PeerDependencyMeta",o))(CL||{}),IL=(o=>(o.Inactive="inactive",o.Redundant="redundant",o.Active="active",o))(IL||{})});var ye={};Jt(ye,{LogLevel:()=>cP,Style:()=>oP,Type:()=>Et,addLogFilterSupport:()=>JI,applyColor:()=>zs,applyHyperlink:()=>Xy,applyStyle:()=>md,json:()=>yd,jsonOrPretty:()=>FZe,mark:()=>PL,pretty:()=>_t,prettyField:()=>Zu,prettyList:()=>SL,prettyTruncatedLocatorList:()=>lP,stripAnsi:()=>zy.default,supportsColor:()=>aP,supportsHyperlinks:()=>DL,tuple:()=>Hc});function Ene(e){let t=["KiB","MiB","GiB","TiB"],r=t.length;for(;r>1&&e<1024**r;)r-=1;let o=1024**r;return`${Math.floor(e*100/o)/100} ${t[r-1]}`}function Hc(e,t){return[t,e]}function md(e,t,r){return e.get("enableColors")&&r&2&&(t=KI.default.bold(t)),t}function zs(e,t,r){if(!e.get("enableColors"))return t;let o=QZe.get(r);if(o===null)return t;let a=typeof o>"u"?r:vL.level>=3?o[0]:o[1],n=typeof a=="number"?BL.ansi256(a):a.startsWith("#")?BL.hex(a):BL[a];if(typeof n!="function")throw new Error(`Invalid format type ${a}`);return n(t)}function Xy(e,t,r){return e.get("enableHyperlinks")?kZe?`\x1B]8;;${r}\x1B\\${t}\x1B]8;;\x1B\\`:`\x1B]8;;${r}\x07${t}\x1B]8;;\x07`:t}function _t(e,t,r){if(t===null)return zs(e,"null",Et.NULL);if(Object.hasOwn(sP,r))return sP[r].pretty(e,t);if(typeof t!="string")throw new Error(`Assertion failed: Expected the value to be a string, got ${typeof t}`);return zs(e,t,r)}function SL(e,t,r,{separator:o=", "}={}){return[...t].map(a=>_t(e,a,r)).join(o)}function yd(e,t){if(e===null)return null;if(Object.hasOwn(sP,t))return sP[t].json(e);if(typeof e!="string")throw new Error(`Assertion failed: Expected the value to be a string, got ${typeof e}`);return e}function FZe(e,t,[r,o]){return e?yd(r,o):_t(t,r,o)}function PL(e){return{Check:zs(e,"\u2713","green"),Cross:zs(e,"\u2718","red"),Question:zs(e,"?","cyan")}}function Zu(e,{label:t,value:[r,o]}){return`${_t(e,t,Et.CODE)}: ${_t(e,r,o)}`}function lP(e,t,r){let o=[],a=[...t],n=r;for(;a.length>0;){let h=a[0],w=`${jr(e,h)}, `,I=xL(h).length+2;if(o.length>0&&n<I)break;o.push([w,I]),n-=I,a.shift()}if(a.length===0)return o.map(([h])=>h).join("").slice(0,-2);let u="X".repeat(a.length.toString().length),A=`and ${u} more`,p=a.length;for(;o.length>1&&n<A.length;)n+=o[o.length-1][1],p+=1,o.pop();return[o.map(([h])=>h).join(""),A.replace(u,_t(e,p,Et.NUMBER))].join("")}function JI(e,{configuration:t}){let r=t.get("logFilters"),o=new Map,a=new Map,n=[];for(let I of r){let v=I.get("level");if(typeof v>"u")continue;let b=I.get("code");typeof b<"u"&&o.set(b,v);let E=I.get("text");typeof E<"u"&&a.set(E,v);let R=I.get("pattern");typeof R<"u"&&n.push([wne.default.matcher(R,{contains:!0}),v])}n.reverse();let u=(I,v,b)=>{if(I===null||I===0)return b;let E=a.size>0||n.length>0?(0,zy.default)(v):v;if(a.size>0){let R=a.get(E);if(typeof R<"u")return R??b}if(n.length>0){for(let[R,N]of n)if(R(E))return N??b}if(o.size>0){let R=o.get(Ju(I));if(typeof R<"u")return R??b}return b},A=e.reportInfo,p=e.reportWarning,h=e.reportError,w=function(I,v,b,E){switch(u(v,b,E)){case"info":A.call(I,v,b);break;case"warning":p.call(I,v??0,b);break;case"error":h.call(I,v??0,b);break}};e.reportInfo=function(...I){return w(this,...I,"info")},e.reportWarning=function(...I){return w(this,...I,"warning")},e.reportError=function(...I){return w(this,...I,"error")}}var KI,WI,wne,zy,Cne,Et,oP,vL,aP,DL,BL,QZe,Po,sP,kZe,cP,ql=yt(()=>{St();KI=$e(CN()),WI=$e($g());qt();wne=$e(Zo()),zy=$e(LS()),Cne=Ie("util");AS();xo();Et={NO_HINT:"NO_HINT",ID:"ID",NULL:"NULL",SCOPE:"SCOPE",NAME:"NAME",RANGE:"RANGE",REFERENCE:"REFERENCE",NUMBER:"NUMBER",PATH:"PATH",URL:"URL",ADDED:"ADDED",REMOVED:"REMOVED",CODE:"CODE",INSPECT:"INSPECT",DURATION:"DURATION",SIZE:"SIZE",SIZE_DIFF:"SIZE_DIFF",IDENT:"IDENT",DESCRIPTOR:"DESCRIPTOR",LOCATOR:"LOCATOR",RESOLUTION:"RESOLUTION",DEPENDENT:"DEPENDENT",PACKAGE_EXTENSION:"PACKAGE_EXTENSION",SETTING:"SETTING",MARKDOWN:"MARKDOWN",MARKDOWN_INLINE:"MARKDOWN_INLINE"},oP=(t=>(t[t.BOLD=2]="BOLD",t))(oP||{}),vL=WI.default.GITHUB_ACTIONS?{level:2}:KI.default.supportsColor?{level:KI.default.supportsColor.level}:{level:0},aP=vL.level!==0,DL=aP&&!WI.default.GITHUB_ACTIONS&&!WI.default.CIRCLE&&!WI.default.GITLAB,BL=new KI.default.Instance(vL),QZe=new Map([[Et.NO_HINT,null],[Et.NULL,["#a853b5",129]],[Et.SCOPE,["#d75f00",166]],[Et.NAME,["#d7875f",173]],[Et.RANGE,["#00afaf",37]],[Et.REFERENCE,["#87afff",111]],[Et.NUMBER,["#ffd700",220]],[Et.PATH,["#d75fd7",170]],[Et.URL,["#d75fd7",170]],[Et.ADDED,["#5faf00",70]],[Et.REMOVED,["#ff3131",160]],[Et.CODE,["#87afff",111]],[Et.SIZE,["#ffd700",220]]]),Po=e=>e;sP={[Et.ID]:Po({pretty:(e,t)=>typeof t=="number"?zs(e,`${t}`,Et.NUMBER):zs(e,t,Et.CODE),json:e=>e}),[Et.INSPECT]:Po({pretty:(e,t)=>(0,Cne.inspect)(t,{depth:1/0,colors:e.get("enableColors"),compact:!0,breakLength:1/0}),json:e=>e}),[Et.NUMBER]:Po({pretty:(e,t)=>zs(e,`${t}`,Et.NUMBER),json:e=>e}),[Et.IDENT]:Po({pretty:(e,t)=>ls(e,t),json:e=>An(e)}),[Et.LOCATOR]:Po({pretty:(e,t)=>jr(e,t),json:e=>xa(e)}),[Et.DESCRIPTOR]:Po({pretty:(e,t)=>jn(e,t),json:e=>Pa(e)}),[Et.RESOLUTION]:Po({pretty:(e,{descriptor:t,locator:r})=>VI(e,t,r),json:({descriptor:e,locator:t})=>({descriptor:Pa(e),locator:t!==null?xa(t):null})}),[Et.DEPENDENT]:Po({pretty:(e,{locator:t,descriptor:r})=>bL(e,t,r),json:({locator:e,descriptor:t})=>({locator:xa(e),descriptor:Pa(t)})}),[Et.PACKAGE_EXTENSION]:Po({pretty:(e,t)=>{switch(t.type){case"Dependency":return`${ls(e,t.parentDescriptor)} \u27A4 ${zs(e,"dependencies",Et.CODE)} \u27A4 ${ls(e,t.descriptor)}`;case"PeerDependency":return`${ls(e,t.parentDescriptor)} \u27A4 ${zs(e,"peerDependencies",Et.CODE)} \u27A4 ${ls(e,t.descriptor)}`;case"PeerDependencyMeta":return`${ls(e,t.parentDescriptor)} \u27A4 ${zs(e,"peerDependenciesMeta",Et.CODE)} \u27A4 ${ls(e,Xs(t.selector))} \u27A4 ${zs(e,t.key,Et.CODE)}`;default:throw new Error(`Assertion failed: Unsupported package extension type: ${t.type}`)}},json:e=>{switch(e.type){case"Dependency":return`${An(e.parentDescriptor)} > ${An(e.descriptor)}`;case"PeerDependency":return`${An(e.parentDescriptor)} >> ${An(e.descriptor)}`;case"PeerDependencyMeta":return`${An(e.parentDescriptor)} >> ${e.selector} / ${e.key}`;default:throw new Error(`Assertion failed: Unsupported package extension type: ${e.type}`)}}}),[Et.SETTING]:Po({pretty:(e,t)=>(e.get(t),Xy(e,zs(e,t,Et.CODE),`https://yarnpkg.com/configuration/yarnrc#${t}`)),json:e=>e}),[Et.DURATION]:Po({pretty:(e,t)=>{if(t>1e3*60){let r=Math.floor(t/1e3/60),o=Math.ceil((t-r*60*1e3)/1e3);return o===0?`${r}m`:`${r}m ${o}s`}else{let r=Math.floor(t/1e3),o=t-r*1e3;return o===0?`${r}s`:`${r}s ${o}ms`}},json:e=>e}),[Et.SIZE]:Po({pretty:(e,t)=>zs(e,Ene(t),Et.NUMBER),json:e=>e}),[Et.SIZE_DIFF]:Po({pretty:(e,t)=>{let r=t>=0?"+":"-",o=r==="+"?Et.REMOVED:Et.ADDED;return zs(e,`${r} ${Ene(Math.max(Math.abs(t),1))}`,o)},json:e=>e}),[Et.PATH]:Po({pretty:(e,t)=>zs(e,Ae.fromPortablePath(t),Et.PATH),json:e=>Ae.fromPortablePath(e)}),[Et.MARKDOWN]:Po({pretty:(e,{text:t,format:r,paragraphs:o})=>Do(t,{format:r,paragraphs:o}),json:({text:e})=>e}),[Et.MARKDOWN_INLINE]:Po({pretty:(e,t)=>(t=t.replace(/(`+)((?:.|[\n])*?)\1/g,(r,o,a)=>_t(e,o+a+o,Et.CODE)),t=t.replace(/(\*\*)((?:.|[\n])*?)\1/g,(r,o,a)=>md(e,a,2)),t),json:e=>e})};kZe=!!process.env.KONSOLE_VERSION;cP=(a=>(a.Error="error",a.Warning="warning",a.Info="info",a.Discard="discard",a))(cP||{})});var Ine=_(Zy=>{"use strict";Object.defineProperty(Zy,"__esModule",{value:!0});Zy.splitWhen=Zy.flatten=void 0;function RZe(e){return e.reduce((t,r)=>[].concat(t,r),[])}Zy.flatten=RZe;function TZe(e,t){let r=[[]],o=0;for(let a of e)t(a)?(o++,r[o]=[]):r[o].push(a);return r}Zy.splitWhen=TZe});var Bne=_(uP=>{"use strict";Object.defineProperty(uP,"__esModule",{value:!0});uP.isEnoentCodeError=void 0;function NZe(e){return e.code==="ENOENT"}uP.isEnoentCodeError=NZe});var vne=_(AP=>{"use strict";Object.defineProperty(AP,"__esModule",{value:!0});AP.createDirentFromStats=void 0;var QL=class{constructor(t,r){this.name=t,this.isBlockDevice=r.isBlockDevice.bind(r),this.isCharacterDevice=r.isCharacterDevice.bind(r),this.isDirectory=r.isDirectory.bind(r),this.isFIFO=r.isFIFO.bind(r),this.isFile=r.isFile.bind(r),this.isSocket=r.isSocket.bind(r),this.isSymbolicLink=r.isSymbolicLink.bind(r)}};function LZe(e,t){return new QL(e,t)}AP.createDirentFromStats=LZe});var Dne=_($u=>{"use strict";Object.defineProperty($u,"__esModule",{value:!0});$u.removeLeadingDotSegment=$u.escape=$u.makeAbsolute=$u.unixify=void 0;var OZe=Ie("path"),MZe=2,UZe=/(\\?)([()*?[\]{|}]|^!|[!+@](?=\())/g;function _Ze(e){return e.replace(/\\/g,"/")}$u.unixify=_Ze;function HZe(e,t){return OZe.resolve(e,t)}$u.makeAbsolute=HZe;function jZe(e){return e.replace(UZe,"\\$2")}$u.escape=jZe;function qZe(e){if(e.charAt(0)==="."){let t=e.charAt(1);if(t==="/"||t==="\\")return e.slice(MZe)}return e}$u.removeLeadingDotSegment=qZe});var Pne=_((sTt,Sne)=>{Sne.exports=function(t){if(typeof t!="string"||t==="")return!1;for(var r;r=/(\\).|([@?!+*]\(.*\))/g.exec(t);){if(r[2])return!0;t=t.slice(r.index+r[0].length)}return!1}});var Qne=_((oTt,bne)=>{var GZe=Pne(),xne={"{":"}","(":")","[":"]"},YZe=function(e){if(e[0]==="!")return!0;for(var t=0,r=-2,o=-2,a=-2,n=-2,u=-2;t<e.length;){if(e[t]==="*"||e[t+1]==="?"&&/[\].+)]/.test(e[t])||o!==-1&&e[t]==="["&&e[t+1]!=="]"&&(o<t&&(o=e.indexOf("]",t)),o>t&&(u===-1||u>o||(u=e.indexOf("\\",t),u===-1||u>o)))||a!==-1&&e[t]==="{"&&e[t+1]!=="}"&&(a=e.indexOf("}",t),a>t&&(u=e.indexOf("\\",t),u===-1||u>a))||n!==-1&&e[t]==="("&&e[t+1]==="?"&&/[:!=]/.test(e[t+2])&&e[t+3]!==")"&&(n=e.indexOf(")",t),n>t&&(u=e.indexOf("\\",t),u===-1||u>n))||r!==-1&&e[t]==="("&&e[t+1]!=="|"&&(r<t&&(r=e.indexOf("|",t)),r!==-1&&e[r+1]!==")"&&(n=e.indexOf(")",r),n>r&&(u=e.indexOf("\\",r),u===-1||u>n))))return!0;if(e[t]==="\\"){var A=e[t+1];t+=2;var p=xne[A];if(p){var h=e.indexOf(p,t);h!==-1&&(t=h+1)}if(e[t]==="!")return!0}else t++}return!1},WZe=function(e){if(e[0]==="!")return!0;for(var t=0;t<e.length;){if(/[*?{}()[\]]/.test(e[t]))return!0;if(e[t]==="\\"){var r=e[t+1];t+=2;var o=xne[r];if(o){var a=e.indexOf(o,t);a!==-1&&(t=a+1)}if(e[t]==="!")return!0}else t++}return!1};bne.exports=function(t,r){if(typeof t!="string"||t==="")return!1;if(GZe(t))return!0;var o=YZe;return r&&r.strict===!1&&(o=WZe),o(t)}});var Fne=_((aTt,kne)=>{"use strict";var KZe=Qne(),JZe=Ie("path").posix.dirname,VZe=Ie("os").platform()==="win32",kL="/",zZe=/\\/g,XZe=/[\{\[].*[\}\]]$/,ZZe=/(^|[^\\])([\{\[]|\([^\)]+$)/,$Ze=/\\([\!\*\?\|\[\]\(\)\{\}])/g;kne.exports=function(t,r){var o=Object.assign({flipBackslashes:!0},r);o.flipBackslashes&&VZe&&t.indexOf(kL)<0&&(t=t.replace(zZe,kL)),XZe.test(t)&&(t+=kL),t+="a";do t=JZe(t);while(KZe(t)||ZZe.test(t));return t.replace($Ze,"$1")}});var _ne=_(Hr=>{"use strict";Object.defineProperty(Hr,"__esModule",{value:!0});Hr.matchAny=Hr.convertPatternsToRe=Hr.makeRe=Hr.getPatternParts=Hr.expandBraceExpansion=Hr.expandPatternsWithBraceExpansion=Hr.isAffectDepthOfReadingPattern=Hr.endsWithSlashGlobStar=Hr.hasGlobStar=Hr.getBaseDirectory=Hr.isPatternRelatedToParentDirectory=Hr.getPatternsOutsideCurrentDirectory=Hr.getPatternsInsideCurrentDirectory=Hr.getPositivePatterns=Hr.getNegativePatterns=Hr.isPositivePattern=Hr.isNegativePattern=Hr.convertToNegativePattern=Hr.convertToPositivePattern=Hr.isDynamicPattern=Hr.isStaticPattern=void 0;var e$e=Ie("path"),t$e=Fne(),FL=Zo(),Rne="**",r$e="\\",n$e=/[*?]|^!/,i$e=/\[[^[]*]/,s$e=/(?:^|[^!*+?@])\([^(]*\|[^|]*\)/,o$e=/[!*+?@]\([^(]*\)/,a$e=/,|\.\./;function Tne(e,t={}){return!Nne(e,t)}Hr.isStaticPattern=Tne;function Nne(e,t={}){return e===""?!1:!!(t.caseSensitiveMatch===!1||e.includes(r$e)||n$e.test(e)||i$e.test(e)||s$e.test(e)||t.extglob!==!1&&o$e.test(e)||t.braceExpansion!==!1&&l$e(e))}Hr.isDynamicPattern=Nne;function l$e(e){let t=e.indexOf("{");if(t===-1)return!1;let r=e.indexOf("}",t+1);if(r===-1)return!1;let o=e.slice(t,r);return a$e.test(o)}function c$e(e){return fP(e)?e.slice(1):e}Hr.convertToPositivePattern=c$e;function u$e(e){return"!"+e}Hr.convertToNegativePattern=u$e;function fP(e){return e.startsWith("!")&&e[1]!=="("}Hr.isNegativePattern=fP;function Lne(e){return!fP(e)}Hr.isPositivePattern=Lne;function A$e(e){return e.filter(fP)}Hr.getNegativePatterns=A$e;function f$e(e){return e.filter(Lne)}Hr.getPositivePatterns=f$e;function p$e(e){return e.filter(t=>!RL(t))}Hr.getPatternsInsideCurrentDirectory=p$e;function h$e(e){return e.filter(RL)}Hr.getPatternsOutsideCurrentDirectory=h$e;function RL(e){return e.startsWith("..")||e.startsWith("./..")}Hr.isPatternRelatedToParentDirectory=RL;function g$e(e){return t$e(e,{flipBackslashes:!1})}Hr.getBaseDirectory=g$e;function d$e(e){return e.includes(Rne)}Hr.hasGlobStar=d$e;function One(e){return e.endsWith("/"+Rne)}Hr.endsWithSlashGlobStar=One;function m$e(e){let t=e$e.basename(e);return One(e)||Tne(t)}Hr.isAffectDepthOfReadingPattern=m$e;function y$e(e){return e.reduce((t,r)=>t.concat(Mne(r)),[])}Hr.expandPatternsWithBraceExpansion=y$e;function Mne(e){return FL.braces(e,{expand:!0,nodupes:!0})}Hr.expandBraceExpansion=Mne;function E$e(e,t){let{parts:r}=FL.scan(e,Object.assign(Object.assign({},t),{parts:!0}));return r.length===0&&(r=[e]),r[0].startsWith("/")&&(r[0]=r[0].slice(1),r.unshift("")),r}Hr.getPatternParts=E$e;function Une(e,t){return FL.makeRe(e,t)}Hr.makeRe=Une;function w$e(e,t){return e.map(r=>Une(r,t))}Hr.convertPatternsToRe=w$e;function C$e(e,t){return t.some(r=>r.test(e))}Hr.matchAny=C$e});var Gne=_((cTt,qne)=>{"use strict";var I$e=Ie("stream"),Hne=I$e.PassThrough,B$e=Array.prototype.slice;qne.exports=v$e;function v$e(){let e=[],t=B$e.call(arguments),r=!1,o=t[t.length-1];o&&!Array.isArray(o)&&o.pipe==null?t.pop():o={};let a=o.end!==!1,n=o.pipeError===!0;o.objectMode==null&&(o.objectMode=!0),o.highWaterMark==null&&(o.highWaterMark=64*1024);let u=Hne(o);function A(){for(let w=0,I=arguments.length;w<I;w++)e.push(jne(arguments[w],o));return p(),this}function p(){if(r)return;r=!0;let w=e.shift();if(!w){process.nextTick(h);return}Array.isArray(w)||(w=[w]);let I=w.length+1;function v(){--I>0||(r=!1,p())}function b(E){function R(){E.removeListener("merge2UnpipeEnd",R),E.removeListener("end",R),n&&E.removeListener("error",N),v()}function N(U){u.emit("error",U)}if(E._readableState.endEmitted)return v();E.on("merge2UnpipeEnd",R),E.on("end",R),n&&E.on("error",N),E.pipe(u,{end:!1}),E.resume()}for(let E=0;E<w.length;E++)b(w[E]);v()}function h(){r=!1,u.emit("queueDrain"),a&&u.end()}return u.setMaxListeners(0),u.add=A,u.on("unpipe",function(w){w.emit("merge2UnpipeEnd")}),t.length&&A.apply(null,t),u}function jne(e,t){if(Array.isArray(e))for(let r=0,o=e.length;r<o;r++)e[r]=jne(e[r],t);else{if(!e._readableState&&e.pipe&&(e=e.pipe(Hne(t))),!e._readableState||!e.pause||!e.pipe)throw new Error("Only readable stream can be merged.");e.pause()}return e}});var Wne=_(pP=>{"use strict";Object.defineProperty(pP,"__esModule",{value:!0});pP.merge=void 0;var D$e=Gne();function S$e(e){let t=D$e(e);return e.forEach(r=>{r.once("error",o=>t.emit("error",o))}),t.once("close",()=>Yne(e)),t.once("end",()=>Yne(e)),t}pP.merge=S$e;function Yne(e){e.forEach(t=>t.emit("close"))}});var Kne=_($y=>{"use strict";Object.defineProperty($y,"__esModule",{value:!0});$y.isEmpty=$y.isString=void 0;function P$e(e){return typeof e=="string"}$y.isString=P$e;function x$e(e){return e===""}$y.isEmpty=x$e});var Df=_(bo=>{"use strict";Object.defineProperty(bo,"__esModule",{value:!0});bo.string=bo.stream=bo.pattern=bo.path=bo.fs=bo.errno=bo.array=void 0;var b$e=Ine();bo.array=b$e;var Q$e=Bne();bo.errno=Q$e;var k$e=vne();bo.fs=k$e;var F$e=Dne();bo.path=F$e;var R$e=_ne();bo.pattern=R$e;var T$e=Wne();bo.stream=T$e;var N$e=Kne();bo.string=N$e});var zne=_(Qo=>{"use strict";Object.defineProperty(Qo,"__esModule",{value:!0});Qo.convertPatternGroupToTask=Qo.convertPatternGroupsToTasks=Qo.groupPatternsByBaseDirectory=Qo.getNegativePatternsAsPositive=Qo.getPositivePatterns=Qo.convertPatternsToTasks=Qo.generate=void 0;var Sf=Df();function L$e(e,t){let r=Jne(e),o=Vne(e,t.ignore),a=r.filter(p=>Sf.pattern.isStaticPattern(p,t)),n=r.filter(p=>Sf.pattern.isDynamicPattern(p,t)),u=TL(a,o,!1),A=TL(n,o,!0);return u.concat(A)}Qo.generate=L$e;function TL(e,t,r){let o=[],a=Sf.pattern.getPatternsOutsideCurrentDirectory(e),n=Sf.pattern.getPatternsInsideCurrentDirectory(e),u=NL(a),A=NL(n);return o.push(...LL(u,t,r)),"."in A?o.push(OL(".",n,t,r)):o.push(...LL(A,t,r)),o}Qo.convertPatternsToTasks=TL;function Jne(e){return Sf.pattern.getPositivePatterns(e)}Qo.getPositivePatterns=Jne;function Vne(e,t){return Sf.pattern.getNegativePatterns(e).concat(t).map(Sf.pattern.convertToPositivePattern)}Qo.getNegativePatternsAsPositive=Vne;function NL(e){let t={};return e.reduce((r,o)=>{let a=Sf.pattern.getBaseDirectory(o);return a in r?r[a].push(o):r[a]=[o],r},t)}Qo.groupPatternsByBaseDirectory=NL;function LL(e,t,r){return Object.keys(e).map(o=>OL(o,e[o],t,r))}Qo.convertPatternGroupsToTasks=LL;function OL(e,t,r,o){return{dynamic:o,positive:t,negative:r,base:e,patterns:[].concat(t,r.map(Sf.pattern.convertToNegativePattern))}}Qo.convertPatternGroupToTask=OL});var Zne=_(eE=>{"use strict";Object.defineProperty(eE,"__esModule",{value:!0});eE.removeDuplicateSlashes=eE.transform=void 0;var O$e=/(?!^)\/{2,}/g;function M$e(e){return e.map(t=>Xne(t))}eE.transform=M$e;function Xne(e){return e.replace(O$e,"/")}eE.removeDuplicateSlashes=Xne});var eie=_(hP=>{"use strict";Object.defineProperty(hP,"__esModule",{value:!0});hP.read=void 0;function U$e(e,t,r){t.fs.lstat(e,(o,a)=>{if(o!==null){$ne(r,o);return}if(!a.isSymbolicLink()||!t.followSymbolicLink){ML(r,a);return}t.fs.stat(e,(n,u)=>{if(n!==null){if(t.throwErrorOnBrokenSymbolicLink){$ne(r,n);return}ML(r,a);return}t.markSymbolicLink&&(u.isSymbolicLink=()=>!0),ML(r,u)})})}hP.read=U$e;function $ne(e,t){e(t)}function ML(e,t){e(null,t)}});var tie=_(gP=>{"use strict";Object.defineProperty(gP,"__esModule",{value:!0});gP.read=void 0;function _$e(e,t){let r=t.fs.lstatSync(e);if(!r.isSymbolicLink()||!t.followSymbolicLink)return r;try{let o=t.fs.statSync(e);return t.markSymbolicLink&&(o.isSymbolicLink=()=>!0),o}catch(o){if(!t.throwErrorOnBrokenSymbolicLink)return r;throw o}}gP.read=_$e});var rie=_(zp=>{"use strict";Object.defineProperty(zp,"__esModule",{value:!0});zp.createFileSystemAdapter=zp.FILE_SYSTEM_ADAPTER=void 0;var dP=Ie("fs");zp.FILE_SYSTEM_ADAPTER={lstat:dP.lstat,stat:dP.stat,lstatSync:dP.lstatSync,statSync:dP.statSync};function H$e(e){return e===void 0?zp.FILE_SYSTEM_ADAPTER:Object.assign(Object.assign({},zp.FILE_SYSTEM_ADAPTER),e)}zp.createFileSystemAdapter=H$e});var nie=_(_L=>{"use strict";Object.defineProperty(_L,"__esModule",{value:!0});var j$e=rie(),UL=class{constructor(t={}){this._options=t,this.followSymbolicLink=this._getValue(this._options.followSymbolicLink,!0),this.fs=j$e.createFileSystemAdapter(this._options.fs),this.markSymbolicLink=this._getValue(this._options.markSymbolicLink,!1),this.throwErrorOnBrokenSymbolicLink=this._getValue(this._options.throwErrorOnBrokenSymbolicLink,!0)}_getValue(t,r){return t??r}};_L.default=UL});var Ed=_(Xp=>{"use strict";Object.defineProperty(Xp,"__esModule",{value:!0});Xp.statSync=Xp.stat=Xp.Settings=void 0;var iie=eie(),q$e=tie(),HL=nie();Xp.Settings=HL.default;function G$e(e,t,r){if(typeof t=="function"){iie.read(e,jL(),t);return}iie.read(e,jL(t),r)}Xp.stat=G$e;function Y$e(e,t){let r=jL(t);return q$e.read(e,r)}Xp.statSync=Y$e;function jL(e={}){return e instanceof HL.default?e:new HL.default(e)}});var oie=_((wTt,sie)=>{sie.exports=W$e;function W$e(e,t){var r,o,a,n=!0;Array.isArray(e)?(r=[],o=e.length):(a=Object.keys(e),r={},o=a.length);function u(p){function h(){t&&t(p,r),t=null}n?process.nextTick(h):h()}function A(p,h,w){r[p]=w,(--o===0||h)&&u(h)}o?a?a.forEach(function(p){e[p](function(h,w){A(p,h,w)})}):e.forEach(function(p,h){p(function(w,I){A(h,w,I)})}):u(null),n=!1}});var qL=_(yP=>{"use strict";Object.defineProperty(yP,"__esModule",{value:!0});yP.IS_SUPPORT_READDIR_WITH_FILE_TYPES=void 0;var mP=process.versions.node.split(".");if(mP[0]===void 0||mP[1]===void 0)throw new Error(`Unexpected behavior. The 'process.versions.node' variable has invalid value: ${process.versions.node}`);var aie=Number.parseInt(mP[0],10),K$e=Number.parseInt(mP[1],10),lie=10,J$e=10,V$e=aie>lie,z$e=aie===lie&&K$e>=J$e;yP.IS_SUPPORT_READDIR_WITH_FILE_TYPES=V$e||z$e});var cie=_(EP=>{"use strict";Object.defineProperty(EP,"__esModule",{value:!0});EP.createDirentFromStats=void 0;var YL=class{constructor(t,r){this.name=t,this.isBlockDevice=r.isBlockDevice.bind(r),this.isCharacterDevice=r.isCharacterDevice.bind(r),this.isDirectory=r.isDirectory.bind(r),this.isFIFO=r.isFIFO.bind(r),this.isFile=r.isFile.bind(r),this.isSocket=r.isSocket.bind(r),this.isSymbolicLink=r.isSymbolicLink.bind(r)}};function X$e(e,t){return new YL(e,t)}EP.createDirentFromStats=X$e});var WL=_(wP=>{"use strict";Object.defineProperty(wP,"__esModule",{value:!0});wP.fs=void 0;var Z$e=cie();wP.fs=Z$e});var KL=_(CP=>{"use strict";Object.defineProperty(CP,"__esModule",{value:!0});CP.joinPathSegments=void 0;function $$e(e,t,r){return e.endsWith(r)?e+t:e+r+t}CP.joinPathSegments=$$e});var gie=_(Zp=>{"use strict";Object.defineProperty(Zp,"__esModule",{value:!0});Zp.readdir=Zp.readdirWithFileTypes=Zp.read=void 0;var eet=Ed(),uie=oie(),tet=qL(),Aie=WL(),fie=KL();function ret(e,t,r){if(!t.stats&&tet.IS_SUPPORT_READDIR_WITH_FILE_TYPES){pie(e,t,r);return}hie(e,t,r)}Zp.read=ret;function pie(e,t,r){t.fs.readdir(e,{withFileTypes:!0},(o,a)=>{if(o!==null){IP(r,o);return}let n=a.map(A=>({dirent:A,name:A.name,path:fie.joinPathSegments(e,A.name,t.pathSegmentSeparator)}));if(!t.followSymbolicLinks){JL(r,n);return}let u=n.map(A=>net(A,t));uie(u,(A,p)=>{if(A!==null){IP(r,A);return}JL(r,p)})})}Zp.readdirWithFileTypes=pie;function net(e,t){return r=>{if(!e.dirent.isSymbolicLink()){r(null,e);return}t.fs.stat(e.path,(o,a)=>{if(o!==null){if(t.throwErrorOnBrokenSymbolicLink){r(o);return}r(null,e);return}e.dirent=Aie.fs.createDirentFromStats(e.name,a),r(null,e)})}}function hie(e,t,r){t.fs.readdir(e,(o,a)=>{if(o!==null){IP(r,o);return}let n=a.map(u=>{let A=fie.joinPathSegments(e,u,t.pathSegmentSeparator);return p=>{eet.stat(A,t.fsStatSettings,(h,w)=>{if(h!==null){p(h);return}let I={name:u,path:A,dirent:Aie.fs.createDirentFromStats(u,w)};t.stats&&(I.stats=w),p(null,I)})}});uie(n,(u,A)=>{if(u!==null){IP(r,u);return}JL(r,A)})})}Zp.readdir=hie;function IP(e,t){e(t)}function JL(e,t){e(null,t)}});var wie=_($p=>{"use strict";Object.defineProperty($p,"__esModule",{value:!0});$p.readdir=$p.readdirWithFileTypes=$p.read=void 0;var iet=Ed(),set=qL(),die=WL(),mie=KL();function oet(e,t){return!t.stats&&set.IS_SUPPORT_READDIR_WITH_FILE_TYPES?yie(e,t):Eie(e,t)}$p.read=oet;function yie(e,t){return t.fs.readdirSync(e,{withFileTypes:!0}).map(o=>{let a={dirent:o,name:o.name,path:mie.joinPathSegments(e,o.name,t.pathSegmentSeparator)};if(a.dirent.isSymbolicLink()&&t.followSymbolicLinks)try{let n=t.fs.statSync(a.path);a.dirent=die.fs.createDirentFromStats(a.name,n)}catch(n){if(t.throwErrorOnBrokenSymbolicLink)throw n}return a})}$p.readdirWithFileTypes=yie;function Eie(e,t){return t.fs.readdirSync(e).map(o=>{let a=mie.joinPathSegments(e,o,t.pathSegmentSeparator),n=iet.statSync(a,t.fsStatSettings),u={name:o,path:a,dirent:die.fs.createDirentFromStats(o,n)};return t.stats&&(u.stats=n),u})}$p.readdir=Eie});var Cie=_(eh=>{"use strict";Object.defineProperty(eh,"__esModule",{value:!0});eh.createFileSystemAdapter=eh.FILE_SYSTEM_ADAPTER=void 0;var tE=Ie("fs");eh.FILE_SYSTEM_ADAPTER={lstat:tE.lstat,stat:tE.stat,lstatSync:tE.lstatSync,statSync:tE.statSync,readdir:tE.readdir,readdirSync:tE.readdirSync};function aet(e){return e===void 0?eh.FILE_SYSTEM_ADAPTER:Object.assign(Object.assign({},eh.FILE_SYSTEM_ADAPTER),e)}eh.createFileSystemAdapter=aet});var Iie=_(zL=>{"use strict";Object.defineProperty(zL,"__esModule",{value:!0});var cet=Ie("path"),uet=Ed(),Aet=Cie(),VL=class{constructor(t={}){this._options=t,this.followSymbolicLinks=this._getValue(this._options.followSymbolicLinks,!1),this.fs=Aet.createFileSystemAdapter(this._options.fs),this.pathSegmentSeparator=this._getValue(this._options.pathSegmentSeparator,cet.sep),this.stats=this._getValue(this._options.stats,!1),this.throwErrorOnBrokenSymbolicLink=this._getValue(this._options.throwErrorOnBrokenSymbolicLink,!0),this.fsStatSettings=new uet.Settings({followSymbolicLink:this.followSymbolicLinks,fs:this.fs,throwErrorOnBrokenSymbolicLink:this.throwErrorOnBrokenSymbolicLink})}_getValue(t,r){return t??r}};zL.default=VL});var BP=_(th=>{"use strict";Object.defineProperty(th,"__esModule",{value:!0});th.Settings=th.scandirSync=th.scandir=void 0;var Bie=gie(),fet=wie(),XL=Iie();th.Settings=XL.default;function pet(e,t,r){if(typeof t=="function"){Bie.read(e,ZL(),t);return}Bie.read(e,ZL(t),r)}th.scandir=pet;function het(e,t){let r=ZL(t);return fet.read(e,r)}th.scandirSync=het;function ZL(e={}){return e instanceof XL.default?e:new XL.default(e)}});var Die=_((QTt,vie)=>{"use strict";function get(e){var t=new e,r=t;function o(){var n=t;return n.next?t=n.next:(t=new e,r=t),n.next=null,n}function a(n){r.next=n,r=n}return{get:o,release:a}}vie.exports=get});var Pie=_((kTt,$L)=>{"use strict";var det=Die();function Sie(e,t,r){if(typeof e=="function"&&(r=t,t=e,e=null),r<1)throw new Error("fastqueue concurrency must be greater than 1");var o=det(met),a=null,n=null,u=0,A=null,p={push:R,drain:Gl,saturated:Gl,pause:w,paused:!1,concurrency:r,running:h,resume:b,idle:E,length:I,getQueue:v,unshift:N,empty:Gl,kill:V,killAndDrain:ee,error:le};return p;function h(){return u}function w(){p.paused=!0}function I(){for(var fe=a,de=0;fe;)fe=fe.next,de++;return de}function v(){for(var fe=a,de=[];fe;)de.push(fe.value),fe=fe.next;return de}function b(){if(!!p.paused){p.paused=!1;for(var fe=0;fe<p.concurrency;fe++)u++,U()}}function E(){return u===0&&p.length()===0}function R(fe,de){var ge=o.get();ge.context=e,ge.release=U,ge.value=fe,ge.callback=de||Gl,ge.errorHandler=A,u===p.concurrency||p.paused?n?(n.next=ge,n=ge):(a=ge,n=ge,p.saturated()):(u++,t.call(e,ge.value,ge.worked))}function N(fe,de){var ge=o.get();ge.context=e,ge.release=U,ge.value=fe,ge.callback=de||Gl,u===p.concurrency||p.paused?a?(ge.next=a,a=ge):(a=ge,n=ge,p.saturated()):(u++,t.call(e,ge.value,ge.worked))}function U(fe){fe&&o.release(fe);var de=a;de?p.paused?u--:(n===a&&(n=null),a=de.next,de.next=null,t.call(e,de.value,de.worked),n===null&&p.empty()):--u===0&&p.drain()}function V(){a=null,n=null,p.drain=Gl}function ee(){a=null,n=null,p.drain(),p.drain=Gl}function le(fe){A=fe}}function Gl(){}function met(){this.value=null,this.callback=Gl,this.next=null,this.release=Gl,this.context=null,this.errorHandler=null;var e=this;this.worked=function(r,o){var a=e.callback,n=e.errorHandler,u=e.value;e.value=null,e.callback=Gl,e.errorHandler&&n(r,u),a.call(e.context,r,o),e.release(e)}}function yet(e,t,r){typeof e=="function"&&(r=t,t=e,e=null);function o(w,I){t.call(this,w).then(function(v){I(null,v)},I)}var a=Sie(e,o,r),n=a.push,u=a.unshift;return a.push=A,a.unshift=p,a.drained=h,a;function A(w){var I=new Promise(function(v,b){n(w,function(E,R){if(E){b(E);return}v(R)})});return I.catch(Gl),I}function p(w){var I=new Promise(function(v,b){u(w,function(E,R){if(E){b(E);return}v(R)})});return I.catch(Gl),I}function h(){var w=a.drain,I=new Promise(function(v){a.drain=function(){w(),v()}});return I}}$L.exports=Sie;$L.exports.promise=yet});var vP=_(eA=>{"use strict";Object.defineProperty(eA,"__esModule",{value:!0});eA.joinPathSegments=eA.replacePathSegmentSeparator=eA.isAppliedFilter=eA.isFatalError=void 0;function Eet(e,t){return e.errorFilter===null?!0:!e.errorFilter(t)}eA.isFatalError=Eet;function wet(e,t){return e===null||e(t)}eA.isAppliedFilter=wet;function Cet(e,t){return e.split(/[/\\]/).join(t)}eA.replacePathSegmentSeparator=Cet;function Iet(e,t,r){return e===""?t:e.endsWith(r)?e+t:e+r+t}eA.joinPathSegments=Iet});var rO=_(tO=>{"use strict";Object.defineProperty(tO,"__esModule",{value:!0});var Bet=vP(),eO=class{constructor(t,r){this._root=t,this._settings=r,this._root=Bet.replacePathSegmentSeparator(t,r.pathSegmentSeparator)}};tO.default=eO});var sO=_(iO=>{"use strict";Object.defineProperty(iO,"__esModule",{value:!0});var vet=Ie("events"),Det=BP(),Pet=Pie(),DP=vP(),xet=rO(),nO=class extends xet.default{constructor(t,r){super(t,r),this._settings=r,this._scandir=Det.scandir,this._emitter=new vet.EventEmitter,this._queue=Pet(this._worker.bind(this),this._settings.concurrency),this._isFatalError=!1,this._isDestroyed=!1,this._queue.drain=()=>{this._isFatalError||this._emitter.emit("end")}}read(){return this._isFatalError=!1,this._isDestroyed=!1,setImmediate(()=>{this._pushToQueue(this._root,this._settings.basePath)}),this._emitter}get isDestroyed(){return this._isDestroyed}destroy(){if(this._isDestroyed)throw new Error("The reader is already destroyed");this._isDestroyed=!0,this._queue.killAndDrain()}onEntry(t){this._emitter.on("entry",t)}onError(t){this._emitter.once("error",t)}onEnd(t){this._emitter.once("end",t)}_pushToQueue(t,r){let o={directory:t,base:r};this._queue.push(o,a=>{a!==null&&this._handleError(a)})}_worker(t,r){this._scandir(t.directory,this._settings.fsScandirSettings,(o,a)=>{if(o!==null){r(o,void 0);return}for(let n of a)this._handleEntry(n,t.base);r(null,void 0)})}_handleError(t){this._isDestroyed||!DP.isFatalError(this._settings,t)||(this._isFatalError=!0,this._isDestroyed=!0,this._emitter.emit("error",t))}_handleEntry(t,r){if(this._isDestroyed||this._isFatalError)return;let o=t.path;r!==void 0&&(t.path=DP.joinPathSegments(r,t.name,this._settings.pathSegmentSeparator)),DP.isAppliedFilter(this._settings.entryFilter,t)&&this._emitEntry(t),t.dirent.isDirectory()&&DP.isAppliedFilter(this._settings.deepFilter,t)&&this._pushToQueue(o,r===void 0?void 0:t.path)}_emitEntry(t){this._emitter.emit("entry",t)}};iO.default=nO});var xie=_(aO=>{"use strict";Object.defineProperty(aO,"__esModule",{value:!0});var bet=sO(),oO=class{constructor(t,r){this._root=t,this._settings=r,this._reader=new bet.default(this._root,this._settings),this._storage=[]}read(t){this._reader.onError(r=>{Qet(t,r)}),this._reader.onEntry(r=>{this._storage.push(r)}),this._reader.onEnd(()=>{ket(t,this._storage)}),this._reader.read()}};aO.default=oO;function Qet(e,t){e(t)}function ket(e,t){e(null,t)}});var bie=_(cO=>{"use strict";Object.defineProperty(cO,"__esModule",{value:!0});var Fet=Ie("stream"),Ret=sO(),lO=class{constructor(t,r){this._root=t,this._settings=r,this._reader=new Ret.default(this._root,this._settings),this._stream=new Fet.Readable({objectMode:!0,read:()=>{},destroy:()=>{this._reader.isDestroyed||this._reader.destroy()}})}read(){return this._reader.onError(t=>{this._stream.emit("error",t)}),this._reader.onEntry(t=>{this._stream.push(t)}),this._reader.onEnd(()=>{this._stream.push(null)}),this._reader.read(),this._stream}};cO.default=lO});var Qie=_(AO=>{"use strict";Object.defineProperty(AO,"__esModule",{value:!0});var Tet=BP(),SP=vP(),Net=rO(),uO=class extends Net.default{constructor(){super(...arguments),this._scandir=Tet.scandirSync,this._storage=[],this._queue=new Set}read(){return this._pushToQueue(this._root,this._settings.basePath),this._handleQueue(),this._storage}_pushToQueue(t,r){this._queue.add({directory:t,base:r})}_handleQueue(){for(let t of this._queue.values())this._handleDirectory(t.directory,t.base)}_handleDirectory(t,r){try{let o=this._scandir(t,this._settings.fsScandirSettings);for(let a of o)this._handleEntry(a,r)}catch(o){this._handleError(o)}}_handleError(t){if(!!SP.isFatalError(this._settings,t))throw t}_handleEntry(t,r){let o=t.path;r!==void 0&&(t.path=SP.joinPathSegments(r,t.name,this._settings.pathSegmentSeparator)),SP.isAppliedFilter(this._settings.entryFilter,t)&&this._pushToStorage(t),t.dirent.isDirectory()&&SP.isAppliedFilter(this._settings.deepFilter,t)&&this._pushToQueue(o,r===void 0?void 0:t.path)}_pushToStorage(t){this._storage.push(t)}};AO.default=uO});var kie=_(pO=>{"use strict";Object.defineProperty(pO,"__esModule",{value:!0});var Let=Qie(),fO=class{constructor(t,r){this._root=t,this._settings=r,this._reader=new Let.default(this._root,this._settings)}read(){return this._reader.read()}};pO.default=fO});var Fie=_(gO=>{"use strict";Object.defineProperty(gO,"__esModule",{value:!0});var Oet=Ie("path"),Met=BP(),hO=class{constructor(t={}){this._options=t,this.basePath=this._getValue(this._options.basePath,void 0),this.concurrency=this._getValue(this._options.concurrency,Number.POSITIVE_INFINITY),this.deepFilter=this._getValue(this._options.deepFilter,null),this.entryFilter=this._getValue(this._options.entryFilter,null),this.errorFilter=this._getValue(this._options.errorFilter,null),this.pathSegmentSeparator=this._getValue(this._options.pathSegmentSeparator,Oet.sep),this.fsScandirSettings=new Met.Settings({followSymbolicLinks:this._options.followSymbolicLinks,fs:this._options.fs,pathSegmentSeparator:this._options.pathSegmentSeparator,stats:this._options.stats,throwErrorOnBrokenSymbolicLink:this._options.throwErrorOnBrokenSymbolicLink})}_getValue(t,r){return t??r}};gO.default=hO});var xP=_(tA=>{"use strict";Object.defineProperty(tA,"__esModule",{value:!0});tA.Settings=tA.walkStream=tA.walkSync=tA.walk=void 0;var Rie=xie(),Uet=bie(),_et=kie(),dO=Fie();tA.Settings=dO.default;function Het(e,t,r){if(typeof t=="function"){new Rie.default(e,PP()).read(t);return}new Rie.default(e,PP(t)).read(r)}tA.walk=Het;function jet(e,t){let r=PP(t);return new _et.default(e,r).read()}tA.walkSync=jet;function qet(e,t){let r=PP(t);return new Uet.default(e,r).read()}tA.walkStream=qet;function PP(e={}){return e instanceof dO.default?e:new dO.default(e)}});var bP=_(yO=>{"use strict";Object.defineProperty(yO,"__esModule",{value:!0});var Get=Ie("path"),Yet=Ed(),Tie=Df(),mO=class{constructor(t){this._settings=t,this._fsStatSettings=new Yet.Settings({followSymbolicLink:this._settings.followSymbolicLinks,fs:this._settings.fs,throwErrorOnBrokenSymbolicLink:this._settings.followSymbolicLinks})}_getFullEntryPath(t){return Get.resolve(this._settings.cwd,t)}_makeEntry(t,r){let o={name:r,path:r,dirent:Tie.fs.createDirentFromStats(r,t)};return this._settings.stats&&(o.stats=t),o}_isFatalError(t){return!Tie.errno.isEnoentCodeError(t)&&!this._settings.suppressErrors}};yO.default=mO});var CO=_(wO=>{"use strict";Object.defineProperty(wO,"__esModule",{value:!0});var Wet=Ie("stream"),Ket=Ed(),Jet=xP(),Vet=bP(),EO=class extends Vet.default{constructor(){super(...arguments),this._walkStream=Jet.walkStream,this._stat=Ket.stat}dynamic(t,r){return this._walkStream(t,r)}static(t,r){let o=t.map(this._getFullEntryPath,this),a=new Wet.PassThrough({objectMode:!0});a._write=(n,u,A)=>this._getEntry(o[n],t[n],r).then(p=>{p!==null&&r.entryFilter(p)&&a.push(p),n===o.length-1&&a.end(),A()}).catch(A);for(let n=0;n<o.length;n++)a.write(n);return a}_getEntry(t,r,o){return this._getStat(t).then(a=>this._makeEntry(a,r)).catch(a=>{if(o.errorFilter(a))return null;throw a})}_getStat(t){return new Promise((r,o)=>{this._stat(t,this._fsStatSettings,(a,n)=>a===null?r(n):o(a))})}};wO.default=EO});var Nie=_(BO=>{"use strict";Object.defineProperty(BO,"__esModule",{value:!0});var zet=xP(),Xet=bP(),Zet=CO(),IO=class extends Xet.default{constructor(){super(...arguments),this._walkAsync=zet.walk,this._readerStream=new Zet.default(this._settings)}dynamic(t,r){return new Promise((o,a)=>{this._walkAsync(t,r,(n,u)=>{n===null?o(u):a(n)})})}async static(t,r){let o=[],a=this._readerStream.static(t,r);return new Promise((n,u)=>{a.once("error",u),a.on("data",A=>o.push(A)),a.once("end",()=>n(o))})}};BO.default=IO});var Lie=_(DO=>{"use strict";Object.defineProperty(DO,"__esModule",{value:!0});var rE=Df(),vO=class{constructor(t,r,o){this._patterns=t,this._settings=r,this._micromatchOptions=o,this._storage=[],this._fillStorage()}_fillStorage(){let t=rE.pattern.expandPatternsWithBraceExpansion(this._patterns);for(let r of t){let o=this._getPatternSegments(r),a=this._splitSegmentsIntoSections(o);this._storage.push({complete:a.length<=1,pattern:r,segments:o,sections:a})}}_getPatternSegments(t){return rE.pattern.getPatternParts(t,this._micromatchOptions).map(o=>rE.pattern.isDynamicPattern(o,this._settings)?{dynamic:!0,pattern:o,patternRe:rE.pattern.makeRe(o,this._micromatchOptions)}:{dynamic:!1,pattern:o})}_splitSegmentsIntoSections(t){return rE.array.splitWhen(t,r=>r.dynamic&&rE.pattern.hasGlobStar(r.pattern))}};DO.default=vO});var Oie=_(PO=>{"use strict";Object.defineProperty(PO,"__esModule",{value:!0});var $et=Lie(),SO=class extends $et.default{match(t){let r=t.split("/"),o=r.length,a=this._storage.filter(n=>!n.complete||n.segments.length>o);for(let n of a){let u=n.sections[0];if(!n.complete&&o>u.length||r.every((p,h)=>{let w=n.segments[h];return!!(w.dynamic&&w.patternRe.test(p)||!w.dynamic&&w.pattern===p)}))return!0}return!1}};PO.default=SO});var Mie=_(bO=>{"use strict";Object.defineProperty(bO,"__esModule",{value:!0});var QP=Df(),ett=Oie(),xO=class{constructor(t,r){this._settings=t,this._micromatchOptions=r}getFilter(t,r,o){let a=this._getMatcher(r),n=this._getNegativePatternsRe(o);return u=>this._filter(t,u,a,n)}_getMatcher(t){return new ett.default(t,this._settings,this._micromatchOptions)}_getNegativePatternsRe(t){let r=t.filter(QP.pattern.isAffectDepthOfReadingPattern);return QP.pattern.convertPatternsToRe(r,this._micromatchOptions)}_filter(t,r,o,a){if(this._isSkippedByDeep(t,r.path)||this._isSkippedSymbolicLink(r))return!1;let n=QP.path.removeLeadingDotSegment(r.path);return this._isSkippedByPositivePatterns(n,o)?!1:this._isSkippedByNegativePatterns(n,a)}_isSkippedByDeep(t,r){return this._settings.deep===1/0?!1:this._getEntryLevel(t,r)>=this._settings.deep}_getEntryLevel(t,r){let o=r.split("/").length;if(t==="")return o;let a=t.split("/").length;return o-a}_isSkippedSymbolicLink(t){return!this._settings.followSymbolicLinks&&t.dirent.isSymbolicLink()}_isSkippedByPositivePatterns(t,r){return!this._settings.baseNameMatch&&!r.match(t)}_isSkippedByNegativePatterns(t,r){return!QP.pattern.matchAny(t,r)}};bO.default=xO});var Uie=_(kO=>{"use strict";Object.defineProperty(kO,"__esModule",{value:!0});var wd=Df(),QO=class{constructor(t,r){this._settings=t,this._micromatchOptions=r,this.index=new Map}getFilter(t,r){let o=wd.pattern.convertPatternsToRe(t,this._micromatchOptions),a=wd.pattern.convertPatternsToRe(r,this._micromatchOptions);return n=>this._filter(n,o,a)}_filter(t,r,o){if(this._settings.unique&&this._isDuplicateEntry(t)||this._onlyFileFilter(t)||this._onlyDirectoryFilter(t)||this._isSkippedByAbsoluteNegativePatterns(t.path,o))return!1;let a=this._settings.baseNameMatch?t.name:t.path,n=t.dirent.isDirectory(),u=this._isMatchToPatterns(a,r,n)&&!this._isMatchToPatterns(t.path,o,n);return this._settings.unique&&u&&this._createIndexRecord(t),u}_isDuplicateEntry(t){return this.index.has(t.path)}_createIndexRecord(t){this.index.set(t.path,void 0)}_onlyFileFilter(t){return this._settings.onlyFiles&&!t.dirent.isFile()}_onlyDirectoryFilter(t){return this._settings.onlyDirectories&&!t.dirent.isDirectory()}_isSkippedByAbsoluteNegativePatterns(t,r){if(!this._settings.absolute)return!1;let o=wd.path.makeAbsolute(this._settings.cwd,t);return wd.pattern.matchAny(o,r)}_isMatchToPatterns(t,r,o){let a=wd.path.removeLeadingDotSegment(t),n=wd.pattern.matchAny(a,r);return!n&&o?wd.pattern.matchAny(a+"/",r):n}};kO.default=QO});var _ie=_(RO=>{"use strict";Object.defineProperty(RO,"__esModule",{value:!0});var ttt=Df(),FO=class{constructor(t){this._settings=t}getFilter(){return t=>this._isNonFatalError(t)}_isNonFatalError(t){return ttt.errno.isEnoentCodeError(t)||this._settings.suppressErrors}};RO.default=FO});var jie=_(NO=>{"use strict";Object.defineProperty(NO,"__esModule",{value:!0});var Hie=Df(),TO=class{constructor(t){this._settings=t}getTransformer(){return t=>this._transform(t)}_transform(t){let r=t.path;return this._settings.absolute&&(r=Hie.path.makeAbsolute(this._settings.cwd,r),r=Hie.path.unixify(r)),this._settings.markDirectories&&t.dirent.isDirectory()&&(r+="/"),this._settings.objectMode?Object.assign(Object.assign({},t),{path:r}):r}};NO.default=TO});var kP=_(OO=>{"use strict";Object.defineProperty(OO,"__esModule",{value:!0});var rtt=Ie("path"),ntt=Mie(),itt=Uie(),stt=_ie(),ott=jie(),LO=class{constructor(t){this._settings=t,this.errorFilter=new stt.default(this._settings),this.entryFilter=new itt.default(this._settings,this._getMicromatchOptions()),this.deepFilter=new ntt.default(this._settings,this._getMicromatchOptions()),this.entryTransformer=new ott.default(this._settings)}_getRootDirectory(t){return rtt.resolve(this._settings.cwd,t.base)}_getReaderOptions(t){let r=t.base==="."?"":t.base;return{basePath:r,pathSegmentSeparator:"/",concurrency:this._settings.concurrency,deepFilter:this.deepFilter.getFilter(r,t.positive,t.negative),entryFilter:this.entryFilter.getFilter(t.positive,t.negative),errorFilter:this.errorFilter.getFilter(),followSymbolicLinks:this._settings.followSymbolicLinks,fs:this._settings.fs,stats:this._settings.stats,throwErrorOnBrokenSymbolicLink:this._settings.throwErrorOnBrokenSymbolicLink,transform:this.entryTransformer.getTransformer()}}_getMicromatchOptions(){return{dot:this._settings.dot,matchBase:this._settings.baseNameMatch,nobrace:!this._settings.braceExpansion,nocase:!this._settings.caseSensitiveMatch,noext:!this._settings.extglob,noglobstar:!this._settings.globstar,posix:!0,strictSlashes:!1}}};OO.default=LO});var qie=_(UO=>{"use strict";Object.defineProperty(UO,"__esModule",{value:!0});var att=Nie(),ltt=kP(),MO=class extends ltt.default{constructor(){super(...arguments),this._reader=new att.default(this._settings)}async read(t){let r=this._getRootDirectory(t),o=this._getReaderOptions(t);return(await this.api(r,t,o)).map(n=>o.transform(n))}api(t,r,o){return r.dynamic?this._reader.dynamic(t,o):this._reader.static(r.patterns,o)}};UO.default=MO});var Gie=_(HO=>{"use strict";Object.defineProperty(HO,"__esModule",{value:!0});var ctt=Ie("stream"),utt=CO(),Att=kP(),_O=class extends Att.default{constructor(){super(...arguments),this._reader=new utt.default(this._settings)}read(t){let r=this._getRootDirectory(t),o=this._getReaderOptions(t),a=this.api(r,t,o),n=new ctt.Readable({objectMode:!0,read:()=>{}});return a.once("error",u=>n.emit("error",u)).on("data",u=>n.emit("data",o.transform(u))).once("end",()=>n.emit("end")),n.once("close",()=>a.destroy()),n}api(t,r,o){return r.dynamic?this._reader.dynamic(t,o):this._reader.static(r.patterns,o)}};HO.default=_O});var Yie=_(qO=>{"use strict";Object.defineProperty(qO,"__esModule",{value:!0});var ftt=Ed(),ptt=xP(),htt=bP(),jO=class extends htt.default{constructor(){super(...arguments),this._walkSync=ptt.walkSync,this._statSync=ftt.statSync}dynamic(t,r){return this._walkSync(t,r)}static(t,r){let o=[];for(let a of t){let n=this._getFullEntryPath(a),u=this._getEntry(n,a,r);u===null||!r.entryFilter(u)||o.push(u)}return o}_getEntry(t,r,o){try{let a=this._getStat(t);return this._makeEntry(a,r)}catch(a){if(o.errorFilter(a))return null;throw a}}_getStat(t){return this._statSync(t,this._fsStatSettings)}};qO.default=jO});var Wie=_(YO=>{"use strict";Object.defineProperty(YO,"__esModule",{value:!0});var gtt=Yie(),dtt=kP(),GO=class extends dtt.default{constructor(){super(...arguments),this._reader=new gtt.default(this._settings)}read(t){let r=this._getRootDirectory(t),o=this._getReaderOptions(t);return this.api(r,t,o).map(o.transform)}api(t,r,o){return r.dynamic?this._reader.dynamic(t,o):this._reader.static(r.patterns,o)}};YO.default=GO});var Kie=_(iE=>{"use strict";Object.defineProperty(iE,"__esModule",{value:!0});iE.DEFAULT_FILE_SYSTEM_ADAPTER=void 0;var nE=Ie("fs"),mtt=Ie("os"),ytt=Math.max(mtt.cpus().length,1);iE.DEFAULT_FILE_SYSTEM_ADAPTER={lstat:nE.lstat,lstatSync:nE.lstatSync,stat:nE.stat,statSync:nE.statSync,readdir:nE.readdir,readdirSync:nE.readdirSync};var WO=class{constructor(t={}){this._options=t,this.absolute=this._getValue(this._options.absolute,!1),this.baseNameMatch=this._getValue(this._options.baseNameMatch,!1),this.braceExpansion=this._getValue(this._options.braceExpansion,!0),this.caseSensitiveMatch=this._getValue(this._options.caseSensitiveMatch,!0),this.concurrency=this._getValue(this._options.concurrency,ytt),this.cwd=this._getValue(this._options.cwd,process.cwd()),this.deep=this._getValue(this._options.deep,1/0),this.dot=this._getValue(this._options.dot,!1),this.extglob=this._getValue(this._options.extglob,!0),this.followSymbolicLinks=this._getValue(this._options.followSymbolicLinks,!0),this.fs=this._getFileSystemMethods(this._options.fs),this.globstar=this._getValue(this._options.globstar,!0),this.ignore=this._getValue(this._options.ignore,[]),this.markDirectories=this._getValue(this._options.markDirectories,!1),this.objectMode=this._getValue(this._options.objectMode,!1),this.onlyDirectories=this._getValue(this._options.onlyDirectories,!1),this.onlyFiles=this._getValue(this._options.onlyFiles,!0),this.stats=this._getValue(this._options.stats,!1),this.suppressErrors=this._getValue(this._options.suppressErrors,!1),this.throwErrorOnBrokenSymbolicLink=this._getValue(this._options.throwErrorOnBrokenSymbolicLink,!1),this.unique=this._getValue(this._options.unique,!0),this.onlyDirectories&&(this.onlyFiles=!1),this.stats&&(this.objectMode=!0)}_getValue(t,r){return t===void 0?r:t}_getFileSystemMethods(t={}){return Object.assign(Object.assign({},iE.DEFAULT_FILE_SYSTEM_ADAPTER),t)}};iE.default=WO});var FP=_((rNt,zie)=>{"use strict";var Jie=zne(),Vie=Zne(),Ett=qie(),wtt=Gie(),Ctt=Wie(),KO=Kie(),Cd=Df();async function JO(e,t){sE(e);let r=VO(e,Ett.default,t),o=await Promise.all(r);return Cd.array.flatten(o)}(function(e){function t(u,A){sE(u);let p=VO(u,Ctt.default,A);return Cd.array.flatten(p)}e.sync=t;function r(u,A){sE(u);let p=VO(u,wtt.default,A);return Cd.stream.merge(p)}e.stream=r;function o(u,A){sE(u);let p=Vie.transform([].concat(u)),h=new KO.default(A);return Jie.generate(p,h)}e.generateTasks=o;function a(u,A){sE(u);let p=new KO.default(A);return Cd.pattern.isDynamicPattern(u,p)}e.isDynamicPattern=a;function n(u){return sE(u),Cd.path.escape(u)}e.escapePath=n})(JO||(JO={}));function VO(e,t,r){let o=Vie.transform([].concat(e)),a=new KO.default(r),n=Jie.generate(o,a),u=new t(a);return n.map(u.read,u)}function sE(e){if(![].concat(e).every(o=>Cd.string.isString(o)&&!Cd.string.isEmpty(o)))throw new TypeError("Patterns must be a string (non empty) or an array of strings")}zie.exports=JO});var wn={};Jt(wn,{checksumFile:()=>TP,checksumPattern:()=>NP,makeHash:()=>Fs});function Fs(...e){let t=(0,RP.createHash)("sha512"),r="";for(let o of e)typeof o=="string"?r+=o:o&&(r&&(t.update(r),r=""),t.update(o));return r&&t.update(r),t.digest("hex")}async function TP(e,{baseFs:t,algorithm:r}={baseFs:ae,algorithm:"sha512"}){let o=await t.openPromise(e,"r");try{let n=Buffer.allocUnsafeSlow(65536),u=(0,RP.createHash)(r),A=0;for(;(A=await t.readPromise(o,n,0,65536))!==0;)u.update(A===65536?n:n.slice(0,A));return u.digest("hex")}finally{await t.closePromise(o)}}async function NP(e,{cwd:t}){let o=(await(0,zO.default)(e,{cwd:Ae.fromPortablePath(t),onlyDirectories:!0})).map(A=>`${A}/**/*`),a=await(0,zO.default)([e,...o],{cwd:Ae.fromPortablePath(t),onlyFiles:!1});a.sort();let n=await Promise.all(a.map(async A=>{let p=[Buffer.from(A)],h=Ae.toPortablePath(A),w=await ae.lstatPromise(h);return w.isSymbolicLink()?p.push(Buffer.from(await ae.readlinkPromise(h))):w.isFile()&&p.push(await ae.readFilePromise(h)),p.join("\0")})),u=(0,RP.createHash)("sha512");for(let A of n)u.update(A);return u.digest("hex")}var RP,zO,rh=yt(()=>{St();RP=Ie("crypto"),zO=$e(FP())});var G={};Jt(G,{areDescriptorsEqual:()=>tse,areIdentsEqual:()=>e1,areLocatorsEqual:()=>t1,areVirtualPackagesEquivalent:()=>Qtt,bindDescriptor:()=>xtt,bindLocator:()=>btt,convertDescriptorToLocator:()=>LP,convertLocatorToDescriptor:()=>ZO,convertPackageToLocator:()=>Dtt,convertToIdent:()=>vtt,convertToManifestRange:()=>Ttt,copyPackage:()=>XI,devirtualizeDescriptor:()=>ZI,devirtualizeLocator:()=>$I,ensureDevirtualizedDescriptor:()=>Stt,ensureDevirtualizedLocator:()=>Ptt,getIdentVendorPath:()=>rM,isPackageCompatible:()=>_P,isVirtualDescriptor:()=>Pf,isVirtualLocator:()=>jc,makeDescriptor:()=>Cn,makeIdent:()=>rA,makeLocator:()=>Rs,makeRange:()=>MP,parseDescriptor:()=>nh,parseFileStyleRange:()=>Ftt,parseIdent:()=>Xs,parseLocator:()=>xf,parseRange:()=>Id,prettyDependent:()=>bL,prettyDescriptor:()=>jn,prettyIdent:()=>ls,prettyLocator:()=>jr,prettyLocatorNoColors:()=>xL,prettyRange:()=>lE,prettyReference:()=>n1,prettyResolution:()=>VI,prettyWorkspace:()=>i1,renamePackage:()=>$O,slugifyIdent:()=>XO,slugifyLocator:()=>aE,sortDescriptors:()=>cE,stringifyDescriptor:()=>Pa,stringifyIdent:()=>An,stringifyLocator:()=>xa,tryParseDescriptor:()=>r1,tryParseIdent:()=>rse,tryParseLocator:()=>OP,tryParseRange:()=>ktt,virtualizeDescriptor:()=>eM,virtualizePackage:()=>tM});function rA(e,t){if(e?.startsWith("@"))throw new Error("Invalid scope: don't prefix it with '@'");return{identHash:Fs(e,t),scope:e,name:t}}function Cn(e,t){return{identHash:e.identHash,scope:e.scope,name:e.name,descriptorHash:Fs(e.identHash,t),range:t}}function Rs(e,t){return{identHash:e.identHash,scope:e.scope,name:e.name,locatorHash:Fs(e.identHash,t),reference:t}}function vtt(e){return{identHash:e.identHash,scope:e.scope,name:e.name}}function LP(e){return{identHash:e.identHash,scope:e.scope,name:e.name,locatorHash:e.descriptorHash,reference:e.range}}function ZO(e){return{identHash:e.identHash,scope:e.scope,name:e.name,descriptorHash:e.locatorHash,range:e.reference}}function Dtt(e){return{identHash:e.identHash,scope:e.scope,name:e.name,locatorHash:e.locatorHash,reference:e.reference}}function $O(e,t){return{identHash:t.identHash,scope:t.scope,name:t.name,locatorHash:t.locatorHash,reference:t.reference,version:e.version,languageName:e.languageName,linkType:e.linkType,conditions:e.conditions,dependencies:new Map(e.dependencies),peerDependencies:new Map(e.peerDependencies),dependenciesMeta:new Map(e.dependenciesMeta),peerDependenciesMeta:new Map(e.peerDependenciesMeta),bin:new Map(e.bin)}}function XI(e){return $O(e,e)}function eM(e,t){if(t.includes("#"))throw new Error("Invalid entropy");return Cn(e,`virtual:${t}#${e.range}`)}function tM(e,t){if(t.includes("#"))throw new Error("Invalid entropy");return $O(e,Rs(e,`virtual:${t}#${e.reference}`))}function Pf(e){return e.range.startsWith(zI)}function jc(e){return e.reference.startsWith(zI)}function ZI(e){if(!Pf(e))throw new Error("Not a virtual descriptor");return Cn(e,e.range.replace(/^[^#]*#/,""))}function $I(e){if(!jc(e))throw new Error("Not a virtual descriptor");return Rs(e,e.reference.replace(/^[^#]*#/,""))}function Stt(e){return Pf(e)?Cn(e,e.range.replace(/^[^#]*#/,"")):e}function Ptt(e){return jc(e)?Rs(e,e.reference.replace(/^[^#]*#/,"")):e}function xtt(e,t){return e.range.includes("::")?e:Cn(e,`${e.range}::${oE.default.stringify(t)}`)}function btt(e,t){return e.reference.includes("::")?e:Rs(e,`${e.reference}::${oE.default.stringify(t)}`)}function e1(e,t){return e.identHash===t.identHash}function tse(e,t){return e.descriptorHash===t.descriptorHash}function t1(e,t){return e.locatorHash===t.locatorHash}function Qtt(e,t){if(!jc(e))throw new Error("Invalid package type");if(!jc(t))throw new Error("Invalid package type");if(!e1(e,t)||e.dependencies.size!==t.dependencies.size)return!1;for(let r of e.dependencies.values()){let o=t.dependencies.get(r.identHash);if(!o||!tse(r,o))return!1}return!0}function Xs(e){let t=rse(e);if(!t)throw new Error(`Invalid ident (${e})`);return t}function rse(e){let t=e.match(/^(?:@([^/]+?)\/)?([^@/]+)$/);if(!t)return null;let[,r,o]=t;return rA(typeof r<"u"?r:null,o)}function nh(e,t=!1){let r=r1(e,t);if(!r)throw new Error(`Invalid descriptor (${e})`);return r}function r1(e,t=!1){let r=t?e.match(/^(?:@([^/]+?)\/)?([^@/]+?)(?:@(.+))$/):e.match(/^(?:@([^/]+?)\/)?([^@/]+?)(?:@(.+))?$/);if(!r)return null;let[,o,a,n]=r;if(n==="unknown")throw new Error(`Invalid range (${e})`);let u=typeof o<"u"?o:null,A=typeof n<"u"?n:"unknown";return Cn(rA(u,a),A)}function xf(e,t=!1){let r=OP(e,t);if(!r)throw new Error(`Invalid locator (${e})`);return r}function OP(e,t=!1){let r=t?e.match(/^(?:@([^/]+?)\/)?([^@/]+?)(?:@(.+))$/):e.match(/^(?:@([^/]+?)\/)?([^@/]+?)(?:@(.+))?$/);if(!r)return null;let[,o,a,n]=r;if(n==="unknown")throw new Error(`Invalid reference (${e})`);let u=typeof o<"u"?o:null,A=typeof n<"u"?n:"unknown";return Rs(rA(u,a),A)}function Id(e,t){let r=e.match(/^([^#:]*:)?((?:(?!::)[^#])*)(?:#((?:(?!::).)*))?(?:::(.*))?$/);if(r===null)throw new Error(`Invalid range (${e})`);let o=typeof r[1]<"u"?r[1]:null;if(typeof t?.requireProtocol=="string"&&o!==t.requireProtocol)throw new Error(`Invalid protocol (${o})`);if(t?.requireProtocol&&o===null)throw new Error(`Missing protocol (${o})`);let a=typeof r[3]<"u"?decodeURIComponent(r[2]):null;if(t?.requireSource&&a===null)throw new Error(`Missing source (${e})`);let n=typeof r[3]<"u"?decodeURIComponent(r[3]):decodeURIComponent(r[2]),u=t?.parseSelector?oE.default.parse(n):n,A=typeof r[4]<"u"?oE.default.parse(r[4]):null;return{protocol:o,source:a,selector:u,params:A}}function ktt(e,t){try{return Id(e,t)}catch{return null}}function Ftt(e,{protocol:t}){let{selector:r,params:o}=Id(e,{requireProtocol:t,requireBindings:!0});if(typeof o.locator!="string")throw new Error(`Assertion failed: Invalid bindings for ${e}`);return{parentLocator:xf(o.locator,!0),path:r}}function Xie(e){return e=e.replace(/%/g,"%25"),e=e.replace(/:/g,"%3A"),e=e.replace(/#/g,"%23"),e}function Rtt(e){return e===null?!1:Object.entries(e).length>0}function MP({protocol:e,source:t,selector:r,params:o}){let a="";return e!==null&&(a+=`${e}`),t!==null&&(a+=`${Xie(t)}#`),a+=Xie(r),Rtt(o)&&(a+=`::${oE.default.stringify(o)}`),a}function Ttt(e){let{params:t,protocol:r,source:o,selector:a}=Id(e);for(let n in t)n.startsWith("__")&&delete t[n];return MP({protocol:r,source:o,params:t,selector:a})}function An(e){return e.scope?`@${e.scope}/${e.name}`:`${e.name}`}function Pa(e){return e.scope?`@${e.scope}/${e.name}@${e.range}`:`${e.name}@${e.range}`}function xa(e){return e.scope?`@${e.scope}/${e.name}@${e.reference}`:`${e.name}@${e.reference}`}function XO(e){return e.scope!==null?`@${e.scope}-${e.name}`:e.name}function aE(e){let{protocol:t,selector:r}=Id(e.reference),o=t!==null?t.replace(/:$/,""):"exotic",a=Zie.default.valid(r),n=a!==null?`${o}-${a}`:`${o}`,u=10,A=e.scope?`${XO(e)}-${n}-${e.locatorHash.slice(0,u)}`:`${XO(e)}-${n}-${e.locatorHash.slice(0,u)}`;return bi(A)}function ls(e,t){return t.scope?`${_t(e,`@${t.scope}/`,Et.SCOPE)}${_t(e,t.name,Et.NAME)}`:`${_t(e,t.name,Et.NAME)}`}function UP(e){if(e.startsWith(zI)){let t=UP(e.substring(e.indexOf("#")+1)),r=e.substring(zI.length,zI.length+Itt);return`${t} [${r}]`}else return e.replace(/\?.*/,"?[...]")}function lE(e,t){return`${_t(e,UP(t),Et.RANGE)}`}function jn(e,t){return`${ls(e,t)}${_t(e,"@",Et.RANGE)}${lE(e,t.range)}`}function n1(e,t){return`${_t(e,UP(t),Et.REFERENCE)}`}function jr(e,t){return`${ls(e,t)}${_t(e,"@",Et.REFERENCE)}${n1(e,t.reference)}`}function xL(e){return`${An(e)}@${UP(e.reference)}`}function cE(e){return ks(e,[t=>An(t),t=>t.range])}function i1(e,t){return ls(e,t.anchoredLocator)}function VI(e,t,r){let o=Pf(t)?ZI(t):t;return r===null?`${jn(e,o)} \u2192 ${PL(e).Cross}`:o.identHash===r.identHash?`${jn(e,o)} \u2192 ${n1(e,r.reference)}`:`${jn(e,o)} \u2192 ${jr(e,r)}`}function bL(e,t,r){return r===null?`${jr(e,t)}`:`${jr(e,t)} (via ${lE(e,r.range)})`}function rM(e){return`node_modules/${An(e)}`}function _P(e,t){return e.conditions?Btt(e.conditions,r=>{let[,o,a]=r.match(ese),n=t[o];return n?n.includes(a):!0}):!0}var oE,Zie,$ie,zI,Itt,ese,Btt,xo=yt(()=>{St();oE=$e(Ie("querystring")),Zie=$e(Zn()),$ie=$e(Zz());ql();rh();jl();xo();zI="virtual:",Itt=5,ese=/(os|cpu|libc)=([a-z0-9_-]+)/,Btt=(0,$ie.makeParser)(ese)});var nse,ise=yt(()=>{xo();nse={hooks:{reduceDependency:(e,t,r,o,{resolver:a,resolveOptions:n})=>{for(let{pattern:u,reference:A}of t.topLevelWorkspace.manifest.resolutions){if(u.from&&(u.from.fullName!==An(r)||t.configuration.normalizeLocator(Rs(Xs(u.from.fullName),u.from.description??r.reference)).locatorHash!==r.locatorHash)||u.descriptor.fullName!==An(e)||t.configuration.normalizeDependency(Cn(xf(u.descriptor.fullName),u.descriptor.description??e.range)).descriptorHash!==e.descriptorHash)continue;return a.bindDescriptor(t.configuration.normalizeDependency(Cn(e,A)),t.topLevelWorkspace.anchoredLocator,n)}return e},validateProject:async(e,t)=>{for(let r of e.workspaces){let o=i1(e.configuration,r);await e.configuration.triggerHook(a=>a.validateWorkspace,r,{reportWarning:(a,n)=>t.reportWarning(a,`${o}: ${n}`),reportError:(a,n)=>t.reportError(a,`${o}: ${n}`)})}},validateWorkspace:async(e,t)=>{let{manifest:r}=e;r.resolutions.length&&e.cwd!==e.project.cwd&&r.errors.push(new Error("Resolutions field will be ignored"));for(let o of r.errors)t.reportWarning(57,o.message)}}}});var s1,Vn,Bd=yt(()=>{s1=class{supportsDescriptor(t,r){return!!(t.range.startsWith(s1.protocol)||r.project.tryWorkspaceByDescriptor(t)!==null)}supportsLocator(t,r){return!!t.reference.startsWith(s1.protocol)}shouldPersistResolution(t,r){return!1}bindDescriptor(t,r,o){return t}getResolutionDependencies(t,r){return{}}async getCandidates(t,r,o){return[o.project.getWorkspaceByDescriptor(t).anchoredLocator]}async getSatisfying(t,r,o,a){let[n]=await this.getCandidates(t,r,a);return{locators:o.filter(u=>u.locatorHash===n.locatorHash),sorted:!1}}async resolve(t,r){let o=r.project.getWorkspaceByCwd(t.reference.slice(s1.protocol.length));return{...t,version:o.manifest.version||"0.0.0",languageName:"unknown",linkType:"SOFT",conditions:null,dependencies:r.project.configuration.normalizeDependencyMap(new Map([...o.manifest.dependencies,...o.manifest.devDependencies])),peerDependencies:new Map([...o.manifest.peerDependencies]),dependenciesMeta:o.manifest.dependenciesMeta,peerDependenciesMeta:o.manifest.peerDependenciesMeta,bin:o.manifest.bin}}},Vn=s1;Vn.protocol="workspace:"});var Qr={};Jt(Qr,{SemVer:()=>cse.SemVer,clean:()=>Ltt,getComparator:()=>ase,mergeComparators:()=>nM,satisfiesWithPrereleases:()=>bf,simplifyRanges:()=>iM,stringifyComparator:()=>lse,validRange:()=>ba});function bf(e,t,r=!1){if(!e)return!1;let o=`${t}${r}`,a=sse.get(o);if(typeof a>"u")try{a=new ih.default.Range(t,{includePrerelease:!0,loose:r})}catch{return!1}finally{sse.set(o,a||null)}else if(a===null)return!1;let n;try{n=new ih.default.SemVer(e,a)}catch{return!1}return a.test(n)?!0:(n.prerelease&&(n.prerelease=[]),a.set.some(u=>{for(let A of u)A.semver.prerelease&&(A.semver.prerelease=[]);return u.every(A=>A.test(n))}))}function ba(e){if(e.indexOf(":")!==-1)return null;let t=ose.get(e);if(typeof t<"u")return t;try{t=new ih.default.Range(e)}catch{t=null}return ose.set(e,t),t}function Ltt(e){let t=Ntt.exec(e);return t?t[1]:null}function ase(e){if(e.semver===ih.default.Comparator.ANY)return{gt:null,lt:null};switch(e.operator){case"":return{gt:[">=",e.semver],lt:["<=",e.semver]};case">":case">=":return{gt:[e.operator,e.semver],lt:null};case"<":case"<=":return{gt:null,lt:[e.operator,e.semver]};default:throw new Error(`Assertion failed: Unexpected comparator operator (${e.operator})`)}}function nM(e){if(e.length===0)return null;let t=null,r=null;for(let o of e){if(o.gt){let a=t!==null?ih.default.compare(o.gt[1],t[1]):null;(a===null||a>0||a===0&&o.gt[0]===">")&&(t=o.gt)}if(o.lt){let a=r!==null?ih.default.compare(o.lt[1],r[1]):null;(a===null||a<0||a===0&&o.lt[0]==="<")&&(r=o.lt)}}if(t&&r){let o=ih.default.compare(t[1],r[1]);if(o===0&&(t[0]===">"||r[0]==="<")||o>0)return null}return{gt:t,lt:r}}function lse(e){if(e.gt&&e.lt){if(e.gt[0]===">="&&e.lt[0]==="<="&&e.gt[1].version===e.lt[1].version)return e.gt[1].version;if(e.gt[0]===">="&&e.lt[0]==="<"){if(e.lt[1].version===`${e.gt[1].major+1}.0.0-0`)return`^${e.gt[1].version}`;if(e.lt[1].version===`${e.gt[1].major}.${e.gt[1].minor+1}.0-0`)return`~${e.gt[1].version}`}}let t=[];return e.gt&&t.push(e.gt[0]+e.gt[1].version),e.lt&&t.push(e.lt[0]+e.lt[1].version),t.length?t.join(" "):"*"}function iM(e){let t=e.map(o=>ba(o).set.map(a=>a.map(n=>ase(n)))),r=t.shift().map(o=>nM(o)).filter(o=>o!==null);for(let o of t){let a=[];for(let n of r)for(let u of o){let A=nM([n,...u]);A!==null&&a.push(A)}r=a}return r.length===0?null:r.map(o=>lse(o)).join(" || ")}var ih,cse,sse,ose,Ntt,Qf=yt(()=>{ih=$e(Zn()),cse=$e(Zn()),sse=new Map;ose=new Map;Ntt=/^(?:[\sv=]*?)((0|[1-9]\d*)\.(0|[1-9]\d*)\.(0|[1-9]\d*)(?:-((?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*)(?:\.(?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*))*))?(?:\+([0-9a-zA-Z-]+(?:\.[0-9a-zA-Z-]+)*))?)(?:\s*)$/});function use(e){let t=e.match(/^[ \t]+/m);return t?t[0]:" "}function Ase(e){return e.charCodeAt(0)===65279?e.slice(1):e}function $o(e){return e.replace(/\\/g,"/")}function HP(e,{yamlCompatibilityMode:t}){return t?EL(e):typeof e>"u"||typeof e=="boolean"?e:null}function fse(e,t){let r=t.search(/[^!]/);if(r===-1)return"invalid";let o=r%2===0?"":"!",a=t.slice(r);return`${o}${e}=${a}`}function sM(e,t){return t.length===1?fse(e,t[0]):`(${t.map(r=>fse(e,r)).join(" | ")})`}var pse,uE,Ot,AE=yt(()=>{St();Nl();pse=$e(Zn());Bd();jl();Qf();xo();uE=class{constructor(){this.indent=" ";this.name=null;this.version=null;this.os=null;this.cpu=null;this.libc=null;this.type=null;this.packageManager=null;this.private=!1;this.license=null;this.main=null;this.module=null;this.browser=null;this.languageName=null;this.bin=new Map;this.scripts=new Map;this.dependencies=new Map;this.devDependencies=new Map;this.peerDependencies=new Map;this.workspaceDefinitions=[];this.dependenciesMeta=new Map;this.peerDependenciesMeta=new Map;this.resolutions=[];this.files=null;this.publishConfig=null;this.installConfig=null;this.preferUnplugged=null;this.raw={};this.errors=[]}static async tryFind(t,{baseFs:r=new Rn}={}){let o=J.join(t,"package.json");try{return await uE.fromFile(o,{baseFs:r})}catch(a){if(a.code==="ENOENT")return null;throw a}}static async find(t,{baseFs:r}={}){let o=await uE.tryFind(t,{baseFs:r});if(o===null)throw new Error("Manifest not found");return o}static async fromFile(t,{baseFs:r=new Rn}={}){let o=new uE;return await o.loadFile(t,{baseFs:r}),o}static fromText(t){let r=new uE;return r.loadFromText(t),r}loadFromText(t){let r;try{r=JSON.parse(Ase(t)||"{}")}catch(o){throw o.message+=` (when parsing ${t})`,o}this.load(r),this.indent=use(t)}async loadFile(t,{baseFs:r=new Rn}){let o=await r.readFilePromise(t,"utf8"),a;try{a=JSON.parse(Ase(o)||"{}")}catch(n){throw n.message+=` (when parsing ${t})`,n}this.load(a),this.indent=use(o)}load(t,{yamlCompatibilityMode:r=!1}={}){if(typeof t!="object"||t===null)throw new Error(`Utterly invalid manifest data (${t})`);this.raw=t;let o=[];if(this.name=null,typeof t.name=="string")try{this.name=Xs(t.name)}catch{o.push(new Error("Parsing failed for the 'name' field"))}if(typeof t.version=="string"?this.version=t.version:this.version=null,Array.isArray(t.os)){let n=[];this.os=n;for(let u of t.os)typeof u!="string"?o.push(new Error("Parsing failed for the 'os' field")):n.push(u)}else this.os=null;if(Array.isArray(t.cpu)){let n=[];this.cpu=n;for(let u of t.cpu)typeof u!="string"?o.push(new Error("Parsing failed for the 'cpu' field")):n.push(u)}else this.cpu=null;if(Array.isArray(t.libc)){let n=[];this.libc=n;for(let u of t.libc)typeof u!="string"?o.push(new Error("Parsing failed for the 'libc' field")):n.push(u)}else this.libc=null;if(typeof t.type=="string"?this.type=t.type:this.type=null,typeof t.packageManager=="string"?this.packageManager=t.packageManager:this.packageManager=null,typeof t.private=="boolean"?this.private=t.private:this.private=!1,typeof t.license=="string"?this.license=t.license:this.license=null,typeof t.languageName=="string"?this.languageName=t.languageName:this.languageName=null,typeof t.main=="string"?this.main=$o(t.main):this.main=null,typeof t.module=="string"?this.module=$o(t.module):this.module=null,t.browser!=null)if(typeof t.browser=="string")this.browser=$o(t.browser);else{this.browser=new Map;for(let[n,u]of Object.entries(t.browser))this.browser.set($o(n),typeof u=="string"?$o(u):u)}else this.browser=null;if(this.bin=new Map,typeof t.bin=="string")this.name!==null?this.bin.set(this.name.name,$o(t.bin)):o.push(new Error("String bin field, but no attached package name"));else if(typeof t.bin=="object"&&t.bin!==null)for(let[n,u]of Object.entries(t.bin)){if(typeof u!="string"){o.push(new Error(`Invalid bin definition for '${n}'`));continue}let A=Xs(n);this.bin.set(A.name,$o(u))}if(this.scripts=new Map,typeof t.scripts=="object"&&t.scripts!==null)for(let[n,u]of Object.entries(t.scripts)){if(typeof u!="string"){o.push(new Error(`Invalid script definition for '${n}'`));continue}this.scripts.set(n,u)}if(this.dependencies=new Map,typeof t.dependencies=="object"&&t.dependencies!==null)for(let[n,u]of Object.entries(t.dependencies)){if(typeof u!="string"){o.push(new Error(`Invalid dependency range for '${n}'`));continue}let A;try{A=Xs(n)}catch{o.push(new Error(`Parsing failed for the dependency name '${n}'`));continue}let p=Cn(A,u);this.dependencies.set(p.identHash,p)}if(this.devDependencies=new Map,typeof t.devDependencies=="object"&&t.devDependencies!==null)for(let[n,u]of Object.entries(t.devDependencies)){if(typeof u!="string"){o.push(new Error(`Invalid dependency range for '${n}'`));continue}let A;try{A=Xs(n)}catch{o.push(new Error(`Parsing failed for the dependency name '${n}'`));continue}let p=Cn(A,u);this.devDependencies.set(p.identHash,p)}if(this.peerDependencies=new Map,typeof t.peerDependencies=="object"&&t.peerDependencies!==null)for(let[n,u]of Object.entries(t.peerDependencies)){let A;try{A=Xs(n)}catch{o.push(new Error(`Parsing failed for the dependency name '${n}'`));continue}(typeof u!="string"||!u.startsWith(Vn.protocol)&&!ba(u))&&(o.push(new Error(`Invalid dependency range for '${n}'`)),u="*");let p=Cn(A,u);this.peerDependencies.set(p.identHash,p)}typeof t.workspaces=="object"&&t.workspaces!==null&&t.workspaces.nohoist&&o.push(new Error("'nohoist' is deprecated, please use 'installConfig.hoistingLimits' instead"));let a=Array.isArray(t.workspaces)?t.workspaces:typeof t.workspaces=="object"&&t.workspaces!==null&&Array.isArray(t.workspaces.packages)?t.workspaces.packages:[];this.workspaceDefinitions=[];for(let n of a){if(typeof n!="string"){o.push(new Error(`Invalid workspace definition for '${n}'`));continue}this.workspaceDefinitions.push({pattern:n})}if(this.dependenciesMeta=new Map,typeof t.dependenciesMeta=="object"&&t.dependenciesMeta!==null)for(let[n,u]of Object.entries(t.dependenciesMeta)){if(typeof u!="object"||u===null){o.push(new Error(`Invalid meta field for '${n}`));continue}let A=nh(n),p=this.ensureDependencyMeta(A),h=HP(u.built,{yamlCompatibilityMode:r});if(h===null){o.push(new Error(`Invalid built meta field for '${n}'`));continue}let w=HP(u.optional,{yamlCompatibilityMode:r});if(w===null){o.push(new Error(`Invalid optional meta field for '${n}'`));continue}let I=HP(u.unplugged,{yamlCompatibilityMode:r});if(I===null){o.push(new Error(`Invalid unplugged meta field for '${n}'`));continue}Object.assign(p,{built:h,optional:w,unplugged:I})}if(this.peerDependenciesMeta=new Map,typeof t.peerDependenciesMeta=="object"&&t.peerDependenciesMeta!==null)for(let[n,u]of Object.entries(t.peerDependenciesMeta)){if(typeof u!="object"||u===null){o.push(new Error(`Invalid meta field for '${n}'`));continue}let A=nh(n),p=this.ensurePeerDependencyMeta(A),h=HP(u.optional,{yamlCompatibilityMode:r});if(h===null){o.push(new Error(`Invalid optional meta field for '${n}'`));continue}Object.assign(p,{optional:h})}if(this.resolutions=[],typeof t.resolutions=="object"&&t.resolutions!==null)for(let[n,u]of Object.entries(t.resolutions)){if(typeof u!="string"){o.push(new Error(`Invalid resolution entry for '${n}'`));continue}try{this.resolutions.push({pattern:MD(n),reference:u})}catch(A){o.push(A);continue}}if(Array.isArray(t.files)){this.files=new Set;for(let n of t.files){if(typeof n!="string"){o.push(new Error(`Invalid files entry for '${n}'`));continue}this.files.add(n)}}else this.files=null;if(typeof t.publishConfig=="object"&&t.publishConfig!==null){if(this.publishConfig={},typeof t.publishConfig.access=="string"&&(this.publishConfig.access=t.publishConfig.access),typeof t.publishConfig.main=="string"&&(this.publishConfig.main=$o(t.publishConfig.main)),typeof t.publishConfig.module=="string"&&(this.publishConfig.module=$o(t.publishConfig.module)),t.publishConfig.browser!=null)if(typeof t.publishConfig.browser=="string")this.publishConfig.browser=$o(t.publishConfig.browser);else{this.publishConfig.browser=new Map;for(let[n,u]of Object.entries(t.publishConfig.browser))this.publishConfig.browser.set($o(n),typeof u=="string"?$o(u):u)}if(typeof t.publishConfig.registry=="string"&&(this.publishConfig.registry=t.publishConfig.registry),typeof t.publishConfig.bin=="string")this.name!==null?this.publishConfig.bin=new Map([[this.name.name,$o(t.publishConfig.bin)]]):o.push(new Error("String bin field, but no attached package name"));else if(typeof t.publishConfig.bin=="object"&&t.publishConfig.bin!==null){this.publishConfig.bin=new Map;for(let[n,u]of Object.entries(t.publishConfig.bin)){if(typeof u!="string"){o.push(new Error(`Invalid bin definition for '${n}'`));continue}this.publishConfig.bin.set(n,$o(u))}}if(Array.isArray(t.publishConfig.executableFiles)){this.publishConfig.executableFiles=new Set;for(let n of t.publishConfig.executableFiles){if(typeof n!="string"){o.push(new Error("Invalid executable file definition"));continue}this.publishConfig.executableFiles.add($o(n))}}}else this.publishConfig=null;if(typeof t.installConfig=="object"&&t.installConfig!==null){this.installConfig={};for(let n of Object.keys(t.installConfig))n==="hoistingLimits"?typeof t.installConfig.hoistingLimits=="string"?this.installConfig.hoistingLimits=t.installConfig.hoistingLimits:o.push(new Error("Invalid hoisting limits definition")):n=="selfReferences"?typeof t.installConfig.selfReferences=="boolean"?this.installConfig.selfReferences=t.installConfig.selfReferences:o.push(new Error("Invalid selfReferences definition, must be a boolean value")):o.push(new Error(`Unrecognized installConfig key: ${n}`))}else this.installConfig=null;if(typeof t.optionalDependencies=="object"&&t.optionalDependencies!==null)for(let[n,u]of Object.entries(t.optionalDependencies)){if(typeof u!="string"){o.push(new Error(`Invalid dependency range for '${n}'`));continue}let A;try{A=Xs(n)}catch{o.push(new Error(`Parsing failed for the dependency name '${n}'`));continue}let p=Cn(A,u);this.dependencies.set(p.identHash,p);let h=Cn(A,"unknown"),w=this.ensureDependencyMeta(h);Object.assign(w,{optional:!0})}typeof t.preferUnplugged=="boolean"?this.preferUnplugged=t.preferUnplugged:this.preferUnplugged=null,this.errors=o}getForScope(t){switch(t){case"dependencies":return this.dependencies;case"devDependencies":return this.devDependencies;case"peerDependencies":return this.peerDependencies;default:throw new Error(`Unsupported value ("${t}")`)}}hasConsumerDependency(t){return!!(this.dependencies.has(t.identHash)||this.peerDependencies.has(t.identHash))}hasHardDependency(t){return!!(this.dependencies.has(t.identHash)||this.devDependencies.has(t.identHash))}hasSoftDependency(t){return!!this.peerDependencies.has(t.identHash)}hasDependency(t){return!!(this.hasHardDependency(t)||this.hasSoftDependency(t))}getConditions(){let t=[];return this.os&&this.os.length>0&&t.push(sM("os",this.os)),this.cpu&&this.cpu.length>0&&t.push(sM("cpu",this.cpu)),this.libc&&this.libc.length>0&&t.push(sM("libc",this.libc)),t.length>0?t.join(" & "):null}ensureDependencyMeta(t){if(t.range!=="unknown"&&!pse.default.valid(t.range))throw new Error(`Invalid meta field range for '${Pa(t)}'`);let r=An(t),o=t.range!=="unknown"?t.range:null,a=this.dependenciesMeta.get(r);a||this.dependenciesMeta.set(r,a=new Map);let n=a.get(o);return n||a.set(o,n={}),n}ensurePeerDependencyMeta(t){if(t.range!=="unknown")throw new Error(`Invalid meta field range for '${Pa(t)}'`);let r=An(t),o=this.peerDependenciesMeta.get(r);return o||this.peerDependenciesMeta.set(r,o={}),o}setRawField(t,r,{after:o=[]}={}){let a=new Set(o.filter(n=>Object.hasOwn(this.raw,n)));if(a.size===0||Object.hasOwn(this.raw,t))this.raw[t]=r;else{let n=this.raw,u=this.raw={},A=!1;for(let p of Object.keys(n))u[p]=n[p],A||(a.delete(p),a.size===0&&(u[t]=r,A=!0))}}exportTo(t,{compatibilityMode:r=!0}={}){if(Object.assign(t,this.raw),this.name!==null?t.name=An(this.name):delete t.name,this.version!==null?t.version=this.version:delete t.version,this.os!==null?t.os=this.os:delete t.os,this.cpu!==null?t.cpu=this.cpu:delete t.cpu,this.type!==null?t.type=this.type:delete t.type,this.packageManager!==null?t.packageManager=this.packageManager:delete t.packageManager,this.private?t.private=!0:delete t.private,this.license!==null?t.license=this.license:delete t.license,this.languageName!==null?t.languageName=this.languageName:delete t.languageName,this.main!==null?t.main=this.main:delete t.main,this.module!==null?t.module=this.module:delete t.module,this.browser!==null){let n=this.browser;typeof n=="string"?t.browser=n:n instanceof Map&&(t.browser=Object.assign({},...Array.from(n.keys()).sort().map(u=>({[u]:n.get(u)}))))}else delete t.browser;this.bin.size===1&&this.name!==null&&this.bin.has(this.name.name)?t.bin=this.bin.get(this.name.name):this.bin.size>0?t.bin=Object.assign({},...Array.from(this.bin.keys()).sort().map(n=>({[n]:this.bin.get(n)}))):delete t.bin,this.workspaceDefinitions.length>0?this.raw.workspaces&&!Array.isArray(this.raw.workspaces)?t.workspaces={...this.raw.workspaces,packages:this.workspaceDefinitions.map(({pattern:n})=>n)}:t.workspaces=this.workspaceDefinitions.map(({pattern:n})=>n):this.raw.workspaces&&!Array.isArray(this.raw.workspaces)&&Object.keys(this.raw.workspaces).length>0?t.workspaces=this.raw.workspaces:delete t.workspaces;let o=[],a=[];for(let n of this.dependencies.values()){let u=this.dependenciesMeta.get(An(n)),A=!1;if(r&&u){let p=u.get(null);p&&p.optional&&(A=!0)}A?a.push(n):o.push(n)}o.length>0?t.dependencies=Object.assign({},...cE(o).map(n=>({[An(n)]:n.range}))):delete t.dependencies,a.length>0?t.optionalDependencies=Object.assign({},...cE(a).map(n=>({[An(n)]:n.range}))):delete t.optionalDependencies,this.devDependencies.size>0?t.devDependencies=Object.assign({},...cE(this.devDependencies.values()).map(n=>({[An(n)]:n.range}))):delete t.devDependencies,this.peerDependencies.size>0?t.peerDependencies=Object.assign({},...cE(this.peerDependencies.values()).map(n=>({[An(n)]:n.range}))):delete t.peerDependencies,t.dependenciesMeta={};for(let[n,u]of ks(this.dependenciesMeta.entries(),([A,p])=>A))for(let[A,p]of ks(u.entries(),([h,w])=>h!==null?`0${h}`:"1")){let h=A!==null?Pa(Cn(Xs(n),A)):n,w={...p};r&&A===null&&delete w.optional,Object.keys(w).length!==0&&(t.dependenciesMeta[h]=w)}if(Object.keys(t.dependenciesMeta).length===0&&delete t.dependenciesMeta,this.peerDependenciesMeta.size>0?t.peerDependenciesMeta=Object.assign({},...ks(this.peerDependenciesMeta.entries(),([n,u])=>n).map(([n,u])=>({[n]:u}))):delete t.peerDependenciesMeta,this.resolutions.length>0?t.resolutions=Object.assign({},...this.resolutions.map(({pattern:n,reference:u})=>({[UD(n)]:u}))):delete t.resolutions,this.files!==null?t.files=Array.from(this.files):delete t.files,this.preferUnplugged!==null?t.preferUnplugged=this.preferUnplugged:delete t.preferUnplugged,this.scripts!==null&&this.scripts.size>0){t.scripts??={};for(let n of Object.keys(t.scripts))this.scripts.has(n)||delete t.scripts[n];for(let[n,u]of this.scripts.entries())t.scripts[n]=u}else delete t.scripts;return t}},Ot=uE;Ot.fileName="package.json",Ot.allDependencies=["dependencies","devDependencies","peerDependencies"],Ot.hardDependencies=["dependencies","devDependencies"]});var gse=_((ENt,hse)=>{var Ott=_l(),Mtt=function(){return Ott.Date.now()};hse.exports=Mtt});var mse=_((wNt,dse)=>{var Utt=/\s/;function _tt(e){for(var t=e.length;t--&&Utt.test(e.charAt(t)););return t}dse.exports=_tt});var Ese=_((CNt,yse)=>{var Htt=mse(),jtt=/^\s+/;function qtt(e){return e&&e.slice(0,Htt(e)+1).replace(jtt,"")}yse.exports=qtt});var fE=_((INt,wse)=>{var Gtt=pd(),Ytt=Xu(),Wtt="[object Symbol]";function Ktt(e){return typeof e=="symbol"||Ytt(e)&&Gtt(e)==Wtt}wse.exports=Ktt});var vse=_((BNt,Bse)=>{var Jtt=Ese(),Cse=il(),Vtt=fE(),Ise=0/0,ztt=/^[-+]0x[0-9a-f]+$/i,Xtt=/^0b[01]+$/i,Ztt=/^0o[0-7]+$/i,$tt=parseInt;function ert(e){if(typeof e=="number")return e;if(Vtt(e))return Ise;if(Cse(e)){var t=typeof e.valueOf=="function"?e.valueOf():e;e=Cse(t)?t+"":t}if(typeof e!="string")return e===0?e:+e;e=Jtt(e);var r=Xtt.test(e);return r||Ztt.test(e)?$tt(e.slice(2),r?2:8):ztt.test(e)?Ise:+e}Bse.exports=ert});var Pse=_((vNt,Sse)=>{var trt=il(),oM=gse(),Dse=vse(),rrt="Expected a function",nrt=Math.max,irt=Math.min;function srt(e,t,r){var o,a,n,u,A,p,h=0,w=!1,I=!1,v=!0;if(typeof e!="function")throw new TypeError(rrt);t=Dse(t)||0,trt(r)&&(w=!!r.leading,I="maxWait"in r,n=I?nrt(Dse(r.maxWait)||0,t):n,v="trailing"in r?!!r.trailing:v);function b(de){var ge=o,oe=a;return o=a=void 0,h=de,u=e.apply(oe,ge),u}function E(de){return h=de,A=setTimeout(U,t),w?b(de):u}function R(de){var ge=de-p,oe=de-h,Be=t-ge;return I?irt(Be,n-oe):Be}function N(de){var ge=de-p,oe=de-h;return p===void 0||ge>=t||ge<0||I&&oe>=n}function U(){var de=oM();if(N(de))return V(de);A=setTimeout(U,R(de))}function V(de){return A=void 0,v&&o?b(de):(o=a=void 0,u)}function ee(){A!==void 0&&clearTimeout(A),h=0,o=p=a=A=void 0}function le(){return A===void 0?u:V(oM())}function fe(){var de=oM(),ge=N(de);if(o=arguments,a=this,p=de,ge){if(A===void 0)return E(p);if(I)return clearTimeout(A),A=setTimeout(U,t),b(p)}return A===void 0&&(A=setTimeout(U,t)),u}return fe.cancel=ee,fe.flush=le,fe}Sse.exports=srt});var aM=_((DNt,xse)=>{var ort=Pse(),art=il(),lrt="Expected a function";function crt(e,t,r){var o=!0,a=!0;if(typeof e!="function")throw new TypeError(lrt);return art(r)&&(o="leading"in r?!!r.leading:o,a="trailing"in r?!!r.trailing:a),ort(e,t,{leading:o,maxWait:t,trailing:a})}xse.exports=crt});function Art(e){return typeof e.reportCode<"u"}var bse,Qse,kse,urt,zt,Zs,Yl=yt(()=>{bse=$e(aM()),Qse=Ie("stream"),kse=Ie("string_decoder"),urt=15,zt=class extends Error{constructor(r,o,a){super(o);this.reportExtra=a;this.reportCode=r}};Zs=class{constructor(){this.cacheHits=new Set;this.cacheMisses=new Set;this.reportedInfos=new Set;this.reportedWarnings=new Set;this.reportedErrors=new Set}getRecommendedLength(){return 180}reportCacheHit(t){this.cacheHits.add(t.locatorHash)}reportCacheMiss(t,r){this.cacheMisses.add(t.locatorHash)}static progressViaCounter(t){let r=0,o,a=new Promise(p=>{o=p}),n=p=>{let h=o;a=new Promise(w=>{o=w}),r=p,h()},u=(p=0)=>{n(r+1)},A=async function*(){for(;r<t;)await a,yield{progress:r/t}}();return{[Symbol.asyncIterator](){return A},hasProgress:!0,hasTitle:!1,set:n,tick:u}}static progressViaTitle(){let t,r,o=new Promise(u=>{r=u}),a=(0,bse.default)(u=>{let A=r;o=new Promise(p=>{r=p}),t=u,A()},1e3/urt),n=async function*(){for(;;)await o,yield{title:t}}();return{[Symbol.asyncIterator](){return n},hasProgress:!1,hasTitle:!0,setTitle:a}}async startProgressPromise(t,r){let o=this.reportProgress(t);try{return await r(t)}finally{o.stop()}}startProgressSync(t,r){let o=this.reportProgress(t);try{return r(t)}finally{o.stop()}}reportInfoOnce(t,r,o){let a=o&&o.key?o.key:r;this.reportedInfos.has(a)||(this.reportedInfos.add(a),this.reportInfo(t,r),o?.reportExtra?.(this))}reportWarningOnce(t,r,o){let a=o&&o.key?o.key:r;this.reportedWarnings.has(a)||(this.reportedWarnings.add(a),this.reportWarning(t,r),o?.reportExtra?.(this))}reportErrorOnce(t,r,o){let a=o&&o.key?o.key:r;this.reportedErrors.has(a)||(this.reportedErrors.add(a),this.reportError(t,r),o?.reportExtra?.(this))}reportExceptionOnce(t){Art(t)?this.reportErrorOnce(t.reportCode,t.message,{key:t,reportExtra:t.reportExtra}):this.reportErrorOnce(1,t.stack||t.message,{key:t})}createStreamReporter(t=null){let r=new Qse.PassThrough,o=new kse.StringDecoder,a="";return r.on("data",n=>{let u=o.write(n),A;do if(A=u.indexOf(` -`),A!==-1){let p=a+u.substring(0,A);u=u.substring(A+1),a="",t!==null?this.reportInfo(null,`${t} ${p}`):this.reportInfo(null,p)}while(A!==-1);a+=u}),r.on("end",()=>{let n=o.end();n!==""&&(t!==null?this.reportInfo(null,`${t} ${n}`):this.reportInfo(null,n))}),r}}});var pE,lM=yt(()=>{Yl();xo();pE=class{constructor(t){this.fetchers=t}supports(t,r){return!!this.tryFetcher(t,r)}getLocalPath(t,r){return this.getFetcher(t,r).getLocalPath(t,r)}async fetch(t,r){return await this.getFetcher(t,r).fetch(t,r)}tryFetcher(t,r){let o=this.fetchers.find(a=>a.supports(t,r));return o||null}getFetcher(t,r){let o=this.fetchers.find(a=>a.supports(t,r));if(!o)throw new zt(11,`${jr(r.project.configuration,t)} isn't supported by any available fetcher`);return o}}});var vd,cM=yt(()=>{xo();vd=class{constructor(t){this.resolvers=t.filter(r=>r)}supportsDescriptor(t,r){return!!this.tryResolverByDescriptor(t,r)}supportsLocator(t,r){return!!this.tryResolverByLocator(t,r)}shouldPersistResolution(t,r){return this.getResolverByLocator(t,r).shouldPersistResolution(t,r)}bindDescriptor(t,r,o){return this.getResolverByDescriptor(t,o).bindDescriptor(t,r,o)}getResolutionDependencies(t,r){return this.getResolverByDescriptor(t,r).getResolutionDependencies(t,r)}async getCandidates(t,r,o){return await this.getResolverByDescriptor(t,o).getCandidates(t,r,o)}async getSatisfying(t,r,o,a){return this.getResolverByDescriptor(t,a).getSatisfying(t,r,o,a)}async resolve(t,r){return await this.getResolverByLocator(t,r).resolve(t,r)}tryResolverByDescriptor(t,r){let o=this.resolvers.find(a=>a.supportsDescriptor(t,r));return o||null}getResolverByDescriptor(t,r){let o=this.resolvers.find(a=>a.supportsDescriptor(t,r));if(!o)throw new Error(`${jn(r.project.configuration,t)} isn't supported by any available resolver`);return o}tryResolverByLocator(t,r){let o=this.resolvers.find(a=>a.supportsLocator(t,r));return o||null}getResolverByLocator(t,r){let o=this.resolvers.find(a=>a.supportsLocator(t,r));if(!o)throw new Error(`${jr(r.project.configuration,t)} isn't supported by any available resolver`);return o}}});var hE,uM=yt(()=>{St();xo();hE=class{supports(t){return!!t.reference.startsWith("virtual:")}getLocalPath(t,r){let o=t.reference.indexOf("#");if(o===-1)throw new Error("Invalid virtual package reference");let a=t.reference.slice(o+1),n=Rs(t,a);return r.fetcher.getLocalPath(n,r)}async fetch(t,r){let o=t.reference.indexOf("#");if(o===-1)throw new Error("Invalid virtual package reference");let a=t.reference.slice(o+1),n=Rs(t,a),u=await r.fetcher.fetch(n,r);return await this.ensureVirtualLink(t,u,r)}getLocatorFilename(t){return aE(t)}async ensureVirtualLink(t,r,o){let a=r.packageFs.getRealPath(),n=o.project.configuration.get("virtualFolder"),u=this.getLocatorFilename(t),A=di.makeVirtualPath(n,u,a),p=new Hu(A,{baseFs:r.packageFs,pathUtils:J});return{...r,packageFs:p}}}});var gE,o1,Fse=yt(()=>{gE=class{static isVirtualDescriptor(t){return!!t.range.startsWith(gE.protocol)}static isVirtualLocator(t){return!!t.reference.startsWith(gE.protocol)}supportsDescriptor(t,r){return gE.isVirtualDescriptor(t)}supportsLocator(t,r){return gE.isVirtualLocator(t)}shouldPersistResolution(t,r){return!1}bindDescriptor(t,r,o){throw new Error('Assertion failed: calling "bindDescriptor" on a virtual descriptor is unsupported')}getResolutionDependencies(t,r){throw new Error('Assertion failed: calling "getResolutionDependencies" on a virtual descriptor is unsupported')}async getCandidates(t,r,o){throw new Error('Assertion failed: calling "getCandidates" on a virtual descriptor is unsupported')}async getSatisfying(t,r,o,a){throw new Error('Assertion failed: calling "getSatisfying" on a virtual descriptor is unsupported')}async resolve(t,r){throw new Error('Assertion failed: calling "resolve" on a virtual locator is unsupported')}},o1=gE;o1.protocol="virtual:"});var dE,AM=yt(()=>{St();Bd();dE=class{supports(t){return!!t.reference.startsWith(Vn.protocol)}getLocalPath(t,r){return this.getWorkspace(t,r).cwd}async fetch(t,r){let o=this.getWorkspace(t,r).cwd;return{packageFs:new hn(o),prefixPath:Bt.dot,localPath:o}}getWorkspace(t,r){return r.project.getWorkspaceByCwd(t.reference.slice(Vn.protocol.length))}}});function a1(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}function Rse(e){return typeof e>"u"?3:a1(e)?0:Array.isArray(e)?1:2}function hM(e,t){return Object.hasOwn(e,t)}function prt(e){return a1(e)&&hM(e,"onConflict")&&typeof e.onConflict=="string"}function hrt(e){if(typeof e>"u")return{onConflict:"default",value:e};if(!prt(e))return{onConflict:"default",value:e};if(hM(e,"value"))return e;let{onConflict:t,...r}=e;return{onConflict:t,value:r}}function Tse(e,t){let r=a1(e)&&hM(e,t)?e[t]:void 0;return hrt(r)}function mE(e,t){return[e,t,Nse]}function gM(e){return Array.isArray(e)?e[2]===Nse:!1}function fM(e,t){if(a1(e)){let r={};for(let o of Object.keys(e))r[o]=fM(e[o],t);return mE(t,r)}return Array.isArray(e)?mE(t,e.map(r=>fM(r,t))):mE(t,e)}function pM(e,t,r,o,a){let n,u=[],A=a,p=0;for(let w=a-1;w>=o;--w){let[I,v]=e[w],{onConflict:b,value:E}=Tse(v,r),R=Rse(E);if(R!==3){if(n??=R,R!==n||b==="hardReset"){p=A;break}if(R===2)return mE(I,E);if(u.unshift([I,E]),b==="reset"){p=w;break}b==="extend"&&w===o&&(o=0),A=w}}if(typeof n>"u")return null;let h=u.map(([w])=>w).join(", ");switch(n){case 1:return mE(h,new Array().concat(...u.map(([w,I])=>I.map(v=>fM(v,w)))));case 0:{let w=Object.assign({},...u.map(([,R])=>R)),I=Object.keys(w),v={},b=e.map(([R,N])=>[R,Tse(N,r).value]),E=frt(b,([R,N])=>{let U=Rse(N);return U!==0&&U!==3});if(E!==-1){let R=b.slice(E+1);for(let N of I)v[N]=pM(R,t,N,0,R.length)}else for(let R of I)v[R]=pM(b,t,R,p,b.length);return mE(h,v)}default:throw new Error("Assertion failed: Non-extendable value type")}}function Lse(e){return pM(e.map(([t,r])=>[t,{["."]:r}]),[],".",0,e.length)}function l1(e){return gM(e)?e[1]:e}function jP(e){let t=gM(e)?e[1]:e;if(Array.isArray(t))return t.map(r=>jP(r));if(a1(t)){let r={};for(let[o,a]of Object.entries(t))r[o]=jP(a);return r}return t}function dM(e){return gM(e)?e[0]:null}var frt,Nse,Ose=yt(()=>{frt=(e,t,r)=>{let o=[...e];return o.reverse(),o.findIndex(t,r)};Nse=Symbol()});var qP={};Jt(qP,{getDefaultGlobalFolder:()=>yM,getHomeFolder:()=>yE,isFolderInside:()=>EM});function yM(){if(process.platform==="win32"){let e=Ae.toPortablePath(process.env.LOCALAPPDATA||Ae.join((0,mM.homedir)(),"AppData","Local"));return J.resolve(e,"Yarn/Berry")}if(process.env.XDG_DATA_HOME){let e=Ae.toPortablePath(process.env.XDG_DATA_HOME);return J.resolve(e,"yarn/berry")}return J.resolve(yE(),".yarn/berry")}function yE(){return Ae.toPortablePath((0,mM.homedir)()||"/usr/local/share")}function EM(e,t){let r=J.relative(t,e);return r&&!r.startsWith("..")&&!J.isAbsolute(r)}var mM,GP=yt(()=>{St();mM=Ie("os")});var Hse=_(EE=>{"use strict";var MNt=Ie("net"),drt=Ie("tls"),wM=Ie("http"),Mse=Ie("https"),mrt=Ie("events"),UNt=Ie("assert"),yrt=Ie("util");EE.httpOverHttp=Ert;EE.httpsOverHttp=wrt;EE.httpOverHttps=Crt;EE.httpsOverHttps=Irt;function Ert(e){var t=new kf(e);return t.request=wM.request,t}function wrt(e){var t=new kf(e);return t.request=wM.request,t.createSocket=Use,t.defaultPort=443,t}function Crt(e){var t=new kf(e);return t.request=Mse.request,t}function Irt(e){var t=new kf(e);return t.request=Mse.request,t.createSocket=Use,t.defaultPort=443,t}function kf(e){var t=this;t.options=e||{},t.proxyOptions=t.options.proxy||{},t.maxSockets=t.options.maxSockets||wM.Agent.defaultMaxSockets,t.requests=[],t.sockets=[],t.on("free",function(o,a,n,u){for(var A=_se(a,n,u),p=0,h=t.requests.length;p<h;++p){var w=t.requests[p];if(w.host===A.host&&w.port===A.port){t.requests.splice(p,1),w.request.onSocket(o);return}}o.destroy(),t.removeSocket(o)})}yrt.inherits(kf,mrt.EventEmitter);kf.prototype.addRequest=function(t,r,o,a){var n=this,u=CM({request:t},n.options,_se(r,o,a));if(n.sockets.length>=this.maxSockets){n.requests.push(u);return}n.createSocket(u,function(A){A.on("free",p),A.on("close",h),A.on("agentRemove",h),t.onSocket(A);function p(){n.emit("free",A,u)}function h(w){n.removeSocket(A),A.removeListener("free",p),A.removeListener("close",h),A.removeListener("agentRemove",h)}})};kf.prototype.createSocket=function(t,r){var o=this,a={};o.sockets.push(a);var n=CM({},o.proxyOptions,{method:"CONNECT",path:t.host+":"+t.port,agent:!1,headers:{host:t.host+":"+t.port}});t.localAddress&&(n.localAddress=t.localAddress),n.proxyAuth&&(n.headers=n.headers||{},n.headers["Proxy-Authorization"]="Basic "+new Buffer(n.proxyAuth).toString("base64")),sh("making CONNECT request");var u=o.request(n);u.useChunkedEncodingByDefault=!1,u.once("response",A),u.once("upgrade",p),u.once("connect",h),u.once("error",w),u.end();function A(I){I.upgrade=!0}function p(I,v,b){process.nextTick(function(){h(I,v,b)})}function h(I,v,b){if(u.removeAllListeners(),v.removeAllListeners(),I.statusCode!==200){sh("tunneling socket could not be established, statusCode=%d",I.statusCode),v.destroy();var E=new Error("tunneling socket could not be established, statusCode="+I.statusCode);E.code="ECONNRESET",t.request.emit("error",E),o.removeSocket(a);return}if(b.length>0){sh("got illegal response body from proxy"),v.destroy();var E=new Error("got illegal response body from proxy");E.code="ECONNRESET",t.request.emit("error",E),o.removeSocket(a);return}return sh("tunneling connection has established"),o.sockets[o.sockets.indexOf(a)]=v,r(v)}function w(I){u.removeAllListeners(),sh(`tunneling socket could not be established, cause=%s -`,I.message,I.stack);var v=new Error("tunneling socket could not be established, cause="+I.message);v.code="ECONNRESET",t.request.emit("error",v),o.removeSocket(a)}};kf.prototype.removeSocket=function(t){var r=this.sockets.indexOf(t);if(r!==-1){this.sockets.splice(r,1);var o=this.requests.shift();o&&this.createSocket(o,function(a){o.request.onSocket(a)})}};function Use(e,t){var r=this;kf.prototype.createSocket.call(r,e,function(o){var a=e.request.getHeader("host"),n=CM({},r.options,{socket:o,servername:a?a.replace(/:.*$/,""):e.host}),u=drt.connect(0,n);r.sockets[r.sockets.indexOf(o)]=u,t(u)})}function _se(e,t,r){return typeof e=="string"?{host:e,port:t,localAddress:r}:e}function CM(e){for(var t=1,r=arguments.length;t<r;++t){var o=arguments[t];if(typeof o=="object")for(var a=Object.keys(o),n=0,u=a.length;n<u;++n){var A=a[n];o[A]!==void 0&&(e[A]=o[A])}}return e}var sh;process.env.NODE_DEBUG&&/\btunnel\b/.test(process.env.NODE_DEBUG)?sh=function(){var e=Array.prototype.slice.call(arguments);typeof e[0]=="string"?e[0]="TUNNEL: "+e[0]:e.unshift("TUNNEL:"),console.error.apply(console,e)}:sh=function(){};EE.debug=sh});var qse=_((HNt,jse)=>{jse.exports=Hse()});var Rf=_((Ff,YP)=>{"use strict";Object.defineProperty(Ff,"__esModule",{value:!0});var Gse=["Int8Array","Uint8Array","Uint8ClampedArray","Int16Array","Uint16Array","Int32Array","Uint32Array","Float32Array","Float64Array","BigInt64Array","BigUint64Array"];function Brt(e){return Gse.includes(e)}var vrt=["Function","Generator","AsyncGenerator","GeneratorFunction","AsyncGeneratorFunction","AsyncFunction","Observable","Array","Buffer","Object","RegExp","Date","Error","Map","Set","WeakMap","WeakSet","ArrayBuffer","SharedArrayBuffer","DataView","Promise","URL","FormData","URLSearchParams","HTMLElement",...Gse];function Drt(e){return vrt.includes(e)}var Srt=["null","undefined","string","number","bigint","boolean","symbol"];function Prt(e){return Srt.includes(e)}function wE(e){return t=>typeof t===e}var{toString:Yse}=Object.prototype,c1=e=>{let t=Yse.call(e).slice(8,-1);if(/HTML\w+Element/.test(t)&&xe.domElement(e))return"HTMLElement";if(Drt(t))return t},$n=e=>t=>c1(t)===e;function xe(e){if(e===null)return"null";switch(typeof e){case"undefined":return"undefined";case"string":return"string";case"number":return"number";case"boolean":return"boolean";case"function":return"Function";case"bigint":return"bigint";case"symbol":return"symbol";default:}if(xe.observable(e))return"Observable";if(xe.array(e))return"Array";if(xe.buffer(e))return"Buffer";let t=c1(e);if(t)return t;if(e instanceof String||e instanceof Boolean||e instanceof Number)throw new TypeError("Please don't use object wrappers for primitive types");return"Object"}xe.undefined=wE("undefined");xe.string=wE("string");var xrt=wE("number");xe.number=e=>xrt(e)&&!xe.nan(e);xe.bigint=wE("bigint");xe.function_=wE("function");xe.null_=e=>e===null;xe.class_=e=>xe.function_(e)&&e.toString().startsWith("class ");xe.boolean=e=>e===!0||e===!1;xe.symbol=wE("symbol");xe.numericString=e=>xe.string(e)&&!xe.emptyStringOrWhitespace(e)&&!Number.isNaN(Number(e));xe.array=(e,t)=>Array.isArray(e)?xe.function_(t)?e.every(t):!0:!1;xe.buffer=e=>{var t,r,o,a;return(a=(o=(r=(t=e)===null||t===void 0?void 0:t.constructor)===null||r===void 0?void 0:r.isBuffer)===null||o===void 0?void 0:o.call(r,e))!==null&&a!==void 0?a:!1};xe.nullOrUndefined=e=>xe.null_(e)||xe.undefined(e);xe.object=e=>!xe.null_(e)&&(typeof e=="object"||xe.function_(e));xe.iterable=e=>{var t;return xe.function_((t=e)===null||t===void 0?void 0:t[Symbol.iterator])};xe.asyncIterable=e=>{var t;return xe.function_((t=e)===null||t===void 0?void 0:t[Symbol.asyncIterator])};xe.generator=e=>xe.iterable(e)&&xe.function_(e.next)&&xe.function_(e.throw);xe.asyncGenerator=e=>xe.asyncIterable(e)&&xe.function_(e.next)&&xe.function_(e.throw);xe.nativePromise=e=>$n("Promise")(e);var brt=e=>{var t,r;return xe.function_((t=e)===null||t===void 0?void 0:t.then)&&xe.function_((r=e)===null||r===void 0?void 0:r.catch)};xe.promise=e=>xe.nativePromise(e)||brt(e);xe.generatorFunction=$n("GeneratorFunction");xe.asyncGeneratorFunction=e=>c1(e)==="AsyncGeneratorFunction";xe.asyncFunction=e=>c1(e)==="AsyncFunction";xe.boundFunction=e=>xe.function_(e)&&!e.hasOwnProperty("prototype");xe.regExp=$n("RegExp");xe.date=$n("Date");xe.error=$n("Error");xe.map=e=>$n("Map")(e);xe.set=e=>$n("Set")(e);xe.weakMap=e=>$n("WeakMap")(e);xe.weakSet=e=>$n("WeakSet")(e);xe.int8Array=$n("Int8Array");xe.uint8Array=$n("Uint8Array");xe.uint8ClampedArray=$n("Uint8ClampedArray");xe.int16Array=$n("Int16Array");xe.uint16Array=$n("Uint16Array");xe.int32Array=$n("Int32Array");xe.uint32Array=$n("Uint32Array");xe.float32Array=$n("Float32Array");xe.float64Array=$n("Float64Array");xe.bigInt64Array=$n("BigInt64Array");xe.bigUint64Array=$n("BigUint64Array");xe.arrayBuffer=$n("ArrayBuffer");xe.sharedArrayBuffer=$n("SharedArrayBuffer");xe.dataView=$n("DataView");xe.directInstanceOf=(e,t)=>Object.getPrototypeOf(e)===t.prototype;xe.urlInstance=e=>$n("URL")(e);xe.urlString=e=>{if(!xe.string(e))return!1;try{return new URL(e),!0}catch{return!1}};xe.truthy=e=>Boolean(e);xe.falsy=e=>!e;xe.nan=e=>Number.isNaN(e);xe.primitive=e=>xe.null_(e)||Prt(typeof e);xe.integer=e=>Number.isInteger(e);xe.safeInteger=e=>Number.isSafeInteger(e);xe.plainObject=e=>{if(Yse.call(e)!=="[object Object]")return!1;let t=Object.getPrototypeOf(e);return t===null||t===Object.getPrototypeOf({})};xe.typedArray=e=>Brt(c1(e));var Qrt=e=>xe.safeInteger(e)&&e>=0;xe.arrayLike=e=>!xe.nullOrUndefined(e)&&!xe.function_(e)&&Qrt(e.length);xe.inRange=(e,t)=>{if(xe.number(t))return e>=Math.min(0,t)&&e<=Math.max(t,0);if(xe.array(t)&&t.length===2)return e>=Math.min(...t)&&e<=Math.max(...t);throw new TypeError(`Invalid range: ${JSON.stringify(t)}`)};var krt=1,Frt=["innerHTML","ownerDocument","style","attributes","nodeValue"];xe.domElement=e=>xe.object(e)&&e.nodeType===krt&&xe.string(e.nodeName)&&!xe.plainObject(e)&&Frt.every(t=>t in e);xe.observable=e=>{var t,r,o,a;return e?e===((r=(t=e)[Symbol.observable])===null||r===void 0?void 0:r.call(t))||e===((a=(o=e)["@@observable"])===null||a===void 0?void 0:a.call(o)):!1};xe.nodeStream=e=>xe.object(e)&&xe.function_(e.pipe)&&!xe.observable(e);xe.infinite=e=>e===1/0||e===-1/0;var Wse=e=>t=>xe.integer(t)&&Math.abs(t%2)===e;xe.evenInteger=Wse(0);xe.oddInteger=Wse(1);xe.emptyArray=e=>xe.array(e)&&e.length===0;xe.nonEmptyArray=e=>xe.array(e)&&e.length>0;xe.emptyString=e=>xe.string(e)&&e.length===0;xe.nonEmptyString=e=>xe.string(e)&&e.length>0;var Rrt=e=>xe.string(e)&&!/\S/.test(e);xe.emptyStringOrWhitespace=e=>xe.emptyString(e)||Rrt(e);xe.emptyObject=e=>xe.object(e)&&!xe.map(e)&&!xe.set(e)&&Object.keys(e).length===0;xe.nonEmptyObject=e=>xe.object(e)&&!xe.map(e)&&!xe.set(e)&&Object.keys(e).length>0;xe.emptySet=e=>xe.set(e)&&e.size===0;xe.nonEmptySet=e=>xe.set(e)&&e.size>0;xe.emptyMap=e=>xe.map(e)&&e.size===0;xe.nonEmptyMap=e=>xe.map(e)&&e.size>0;xe.propertyKey=e=>xe.any([xe.string,xe.number,xe.symbol],e);xe.formData=e=>$n("FormData")(e);xe.urlSearchParams=e=>$n("URLSearchParams")(e);var Kse=(e,t,r)=>{if(!xe.function_(t))throw new TypeError(`Invalid predicate: ${JSON.stringify(t)}`);if(r.length===0)throw new TypeError("Invalid number of values");return e.call(r,t)};xe.any=(e,...t)=>(xe.array(e)?e:[e]).some(o=>Kse(Array.prototype.some,o,t));xe.all=(e,...t)=>Kse(Array.prototype.every,e,t);var Ht=(e,t,r,o={})=>{if(!e){let{multipleValues:a}=o,n=a?`received values of types ${[...new Set(r.map(u=>`\`${xe(u)}\``))].join(", ")}`:`received value of type \`${xe(r)}\``;throw new TypeError(`Expected value which is \`${t}\`, ${n}.`)}};Ff.assert={undefined:e=>Ht(xe.undefined(e),"undefined",e),string:e=>Ht(xe.string(e),"string",e),number:e=>Ht(xe.number(e),"number",e),bigint:e=>Ht(xe.bigint(e),"bigint",e),function_:e=>Ht(xe.function_(e),"Function",e),null_:e=>Ht(xe.null_(e),"null",e),class_:e=>Ht(xe.class_(e),"Class",e),boolean:e=>Ht(xe.boolean(e),"boolean",e),symbol:e=>Ht(xe.symbol(e),"symbol",e),numericString:e=>Ht(xe.numericString(e),"string with a number",e),array:(e,t)=>{Ht(xe.array(e),"Array",e),t&&e.forEach(t)},buffer:e=>Ht(xe.buffer(e),"Buffer",e),nullOrUndefined:e=>Ht(xe.nullOrUndefined(e),"null or undefined",e),object:e=>Ht(xe.object(e),"Object",e),iterable:e=>Ht(xe.iterable(e),"Iterable",e),asyncIterable:e=>Ht(xe.asyncIterable(e),"AsyncIterable",e),generator:e=>Ht(xe.generator(e),"Generator",e),asyncGenerator:e=>Ht(xe.asyncGenerator(e),"AsyncGenerator",e),nativePromise:e=>Ht(xe.nativePromise(e),"native Promise",e),promise:e=>Ht(xe.promise(e),"Promise",e),generatorFunction:e=>Ht(xe.generatorFunction(e),"GeneratorFunction",e),asyncGeneratorFunction:e=>Ht(xe.asyncGeneratorFunction(e),"AsyncGeneratorFunction",e),asyncFunction:e=>Ht(xe.asyncFunction(e),"AsyncFunction",e),boundFunction:e=>Ht(xe.boundFunction(e),"Function",e),regExp:e=>Ht(xe.regExp(e),"RegExp",e),date:e=>Ht(xe.date(e),"Date",e),error:e=>Ht(xe.error(e),"Error",e),map:e=>Ht(xe.map(e),"Map",e),set:e=>Ht(xe.set(e),"Set",e),weakMap:e=>Ht(xe.weakMap(e),"WeakMap",e),weakSet:e=>Ht(xe.weakSet(e),"WeakSet",e),int8Array:e=>Ht(xe.int8Array(e),"Int8Array",e),uint8Array:e=>Ht(xe.uint8Array(e),"Uint8Array",e),uint8ClampedArray:e=>Ht(xe.uint8ClampedArray(e),"Uint8ClampedArray",e),int16Array:e=>Ht(xe.int16Array(e),"Int16Array",e),uint16Array:e=>Ht(xe.uint16Array(e),"Uint16Array",e),int32Array:e=>Ht(xe.int32Array(e),"Int32Array",e),uint32Array:e=>Ht(xe.uint32Array(e),"Uint32Array",e),float32Array:e=>Ht(xe.float32Array(e),"Float32Array",e),float64Array:e=>Ht(xe.float64Array(e),"Float64Array",e),bigInt64Array:e=>Ht(xe.bigInt64Array(e),"BigInt64Array",e),bigUint64Array:e=>Ht(xe.bigUint64Array(e),"BigUint64Array",e),arrayBuffer:e=>Ht(xe.arrayBuffer(e),"ArrayBuffer",e),sharedArrayBuffer:e=>Ht(xe.sharedArrayBuffer(e),"SharedArrayBuffer",e),dataView:e=>Ht(xe.dataView(e),"DataView",e),urlInstance:e=>Ht(xe.urlInstance(e),"URL",e),urlString:e=>Ht(xe.urlString(e),"string with a URL",e),truthy:e=>Ht(xe.truthy(e),"truthy",e),falsy:e=>Ht(xe.falsy(e),"falsy",e),nan:e=>Ht(xe.nan(e),"NaN",e),primitive:e=>Ht(xe.primitive(e),"primitive",e),integer:e=>Ht(xe.integer(e),"integer",e),safeInteger:e=>Ht(xe.safeInteger(e),"integer",e),plainObject:e=>Ht(xe.plainObject(e),"plain object",e),typedArray:e=>Ht(xe.typedArray(e),"TypedArray",e),arrayLike:e=>Ht(xe.arrayLike(e),"array-like",e),domElement:e=>Ht(xe.domElement(e),"HTMLElement",e),observable:e=>Ht(xe.observable(e),"Observable",e),nodeStream:e=>Ht(xe.nodeStream(e),"Node.js Stream",e),infinite:e=>Ht(xe.infinite(e),"infinite number",e),emptyArray:e=>Ht(xe.emptyArray(e),"empty array",e),nonEmptyArray:e=>Ht(xe.nonEmptyArray(e),"non-empty array",e),emptyString:e=>Ht(xe.emptyString(e),"empty string",e),nonEmptyString:e=>Ht(xe.nonEmptyString(e),"non-empty string",e),emptyStringOrWhitespace:e=>Ht(xe.emptyStringOrWhitespace(e),"empty string or whitespace",e),emptyObject:e=>Ht(xe.emptyObject(e),"empty object",e),nonEmptyObject:e=>Ht(xe.nonEmptyObject(e),"non-empty object",e),emptySet:e=>Ht(xe.emptySet(e),"empty set",e),nonEmptySet:e=>Ht(xe.nonEmptySet(e),"non-empty set",e),emptyMap:e=>Ht(xe.emptyMap(e),"empty map",e),nonEmptyMap:e=>Ht(xe.nonEmptyMap(e),"non-empty map",e),propertyKey:e=>Ht(xe.propertyKey(e),"PropertyKey",e),formData:e=>Ht(xe.formData(e),"FormData",e),urlSearchParams:e=>Ht(xe.urlSearchParams(e),"URLSearchParams",e),evenInteger:e=>Ht(xe.evenInteger(e),"even integer",e),oddInteger:e=>Ht(xe.oddInteger(e),"odd integer",e),directInstanceOf:(e,t)=>Ht(xe.directInstanceOf(e,t),"T",e),inRange:(e,t)=>Ht(xe.inRange(e,t),"in range",e),any:(e,...t)=>Ht(xe.any(e,...t),"predicate returns truthy for any value",t,{multipleValues:!0}),all:(e,...t)=>Ht(xe.all(e,...t),"predicate returns truthy for all values",t,{multipleValues:!0})};Object.defineProperties(xe,{class:{value:xe.class_},function:{value:xe.function_},null:{value:xe.null_}});Object.defineProperties(Ff.assert,{class:{value:Ff.assert.class_},function:{value:Ff.assert.function_},null:{value:Ff.assert.null_}});Ff.default=xe;YP.exports=xe;YP.exports.default=xe;YP.exports.assert=Ff.assert});var Jse=_((jNt,IM)=>{"use strict";var WP=class extends Error{constructor(t){super(t||"Promise was canceled"),this.name="CancelError"}get isCanceled(){return!0}},CE=class{static fn(t){return(...r)=>new CE((o,a,n)=>{r.push(n),t(...r).then(o,a)})}constructor(t){this._cancelHandlers=[],this._isPending=!0,this._isCanceled=!1,this._rejectOnCancel=!0,this._promise=new Promise((r,o)=>{this._reject=o;let a=A=>{this._isPending=!1,r(A)},n=A=>{this._isPending=!1,o(A)},u=A=>{if(!this._isPending)throw new Error("The `onCancel` handler was attached after the promise settled.");this._cancelHandlers.push(A)};return Object.defineProperties(u,{shouldReject:{get:()=>this._rejectOnCancel,set:A=>{this._rejectOnCancel=A}}}),t(a,n,u)})}then(t,r){return this._promise.then(t,r)}catch(t){return this._promise.catch(t)}finally(t){return this._promise.finally(t)}cancel(t){if(!(!this._isPending||this._isCanceled)){if(this._cancelHandlers.length>0)try{for(let r of this._cancelHandlers)r()}catch(r){this._reject(r)}this._isCanceled=!0,this._rejectOnCancel&&this._reject(new WP(t))}}get isCanceled(){return this._isCanceled}};Object.setPrototypeOf(CE.prototype,Promise.prototype);IM.exports=CE;IM.exports.CancelError=WP});var Vse=_((vM,DM)=>{"use strict";Object.defineProperty(vM,"__esModule",{value:!0});var Trt=Ie("tls"),BM=(e,t)=>{let r;typeof t=="function"?r={connect:t}:r=t;let o=typeof r.connect=="function",a=typeof r.secureConnect=="function",n=typeof r.close=="function",u=()=>{o&&r.connect(),e instanceof Trt.TLSSocket&&a&&(e.authorized?r.secureConnect():e.authorizationError||e.once("secureConnect",r.secureConnect)),n&&e.once("close",r.close)};e.writable&&!e.connecting?u():e.connecting?e.once("connect",u):e.destroyed&&n&&r.close(e._hadError)};vM.default=BM;DM.exports=BM;DM.exports.default=BM});var zse=_((PM,xM)=>{"use strict";Object.defineProperty(PM,"__esModule",{value:!0});var Nrt=Vse(),Lrt=Number(process.versions.node.split(".")[0]),SM=e=>{let t={start:Date.now(),socket:void 0,lookup:void 0,connect:void 0,secureConnect:void 0,upload:void 0,response:void 0,end:void 0,error:void 0,abort:void 0,phases:{wait:void 0,dns:void 0,tcp:void 0,tls:void 0,request:void 0,firstByte:void 0,download:void 0,total:void 0}};e.timings=t;let r=u=>{let A=u.emit.bind(u);u.emit=(p,...h)=>(p==="error"&&(t.error=Date.now(),t.phases.total=t.error-t.start,u.emit=A),A(p,...h))};r(e),e.prependOnceListener("abort",()=>{t.abort=Date.now(),(!t.response||Lrt>=13)&&(t.phases.total=Date.now()-t.start)});let o=u=>{t.socket=Date.now(),t.phases.wait=t.socket-t.start;let A=()=>{t.lookup=Date.now(),t.phases.dns=t.lookup-t.socket};u.prependOnceListener("lookup",A),Nrt.default(u,{connect:()=>{t.connect=Date.now(),t.lookup===void 0&&(u.removeListener("lookup",A),t.lookup=t.connect,t.phases.dns=t.lookup-t.socket),t.phases.tcp=t.connect-t.lookup},secureConnect:()=>{t.secureConnect=Date.now(),t.phases.tls=t.secureConnect-t.connect}})};e.socket?o(e.socket):e.prependOnceListener("socket",o);let a=()=>{var u;t.upload=Date.now(),t.phases.request=t.upload-(u=t.secureConnect,u??t.connect)};return(()=>typeof e.writableFinished=="boolean"?e.writableFinished:e.finished&&e.outputSize===0&&(!e.socket||e.socket.writableLength===0))()?a():e.prependOnceListener("finish",a),e.prependOnceListener("response",u=>{t.response=Date.now(),t.phases.firstByte=t.response-t.upload,u.timings=t,r(u),u.prependOnceListener("end",()=>{t.end=Date.now(),t.phases.download=t.end-t.response,t.phases.total=t.end-t.start})}),t};PM.default=SM;xM.exports=SM;xM.exports.default=SM});var noe=_((qNt,kM)=>{"use strict";var{V4MAPPED:Ort,ADDRCONFIG:Mrt,ALL:roe,promises:{Resolver:Xse},lookup:Urt}=Ie("dns"),{promisify:bM}=Ie("util"),_rt=Ie("os"),IE=Symbol("cacheableLookupCreateConnection"),QM=Symbol("cacheableLookupInstance"),Zse=Symbol("expires"),Hrt=typeof roe=="number",$se=e=>{if(!(e&&typeof e.createConnection=="function"))throw new Error("Expected an Agent instance as the first argument")},jrt=e=>{for(let t of e)t.family!==6&&(t.address=`::ffff:${t.address}`,t.family=6)},eoe=()=>{let e=!1,t=!1;for(let r of Object.values(_rt.networkInterfaces()))for(let o of r)if(!o.internal&&(o.family==="IPv6"?t=!0:e=!0,e&&t))return{has4:e,has6:t};return{has4:e,has6:t}},qrt=e=>Symbol.iterator in e,toe={ttl:!0},Grt={all:!0},KP=class{constructor({cache:t=new Map,maxTtl:r=1/0,fallbackDuration:o=3600,errorTtl:a=.15,resolver:n=new Xse,lookup:u=Urt}={}){if(this.maxTtl=r,this.errorTtl=a,this._cache=t,this._resolver=n,this._dnsLookup=bM(u),this._resolver instanceof Xse?(this._resolve4=this._resolver.resolve4.bind(this._resolver),this._resolve6=this._resolver.resolve6.bind(this._resolver)):(this._resolve4=bM(this._resolver.resolve4.bind(this._resolver)),this._resolve6=bM(this._resolver.resolve6.bind(this._resolver))),this._iface=eoe(),this._pending={},this._nextRemovalTime=!1,this._hostnamesToFallback=new Set,o<1)this._fallback=!1;else{this._fallback=!0;let A=setInterval(()=>{this._hostnamesToFallback.clear()},o*1e3);A.unref&&A.unref()}this.lookup=this.lookup.bind(this),this.lookupAsync=this.lookupAsync.bind(this)}set servers(t){this.clear(),this._resolver.setServers(t)}get servers(){return this._resolver.getServers()}lookup(t,r,o){if(typeof r=="function"?(o=r,r={}):typeof r=="number"&&(r={family:r}),!o)throw new Error("Callback must be a function.");this.lookupAsync(t,r).then(a=>{r.all?o(null,a):o(null,a.address,a.family,a.expires,a.ttl)},o)}async lookupAsync(t,r={}){typeof r=="number"&&(r={family:r});let o=await this.query(t);if(r.family===6){let a=o.filter(n=>n.family===6);r.hints&Ort&&(Hrt&&r.hints&roe||a.length===0)?jrt(o):o=a}else r.family===4&&(o=o.filter(a=>a.family===4));if(r.hints&Mrt){let{_iface:a}=this;o=o.filter(n=>n.family===6?a.has6:a.has4)}if(o.length===0){let a=new Error(`cacheableLookup ENOTFOUND ${t}`);throw a.code="ENOTFOUND",a.hostname=t,a}return r.all?o:o[0]}async query(t){let r=await this._cache.get(t);if(!r){let o=this._pending[t];if(o)r=await o;else{let a=this.queryAndCache(t);this._pending[t]=a,r=await a}}return r=r.map(o=>({...o})),r}async _resolve(t){let r=async h=>{try{return await h}catch(w){if(w.code==="ENODATA"||w.code==="ENOTFOUND")return[];throw w}},[o,a]=await Promise.all([this._resolve4(t,toe),this._resolve6(t,toe)].map(h=>r(h))),n=0,u=0,A=0,p=Date.now();for(let h of o)h.family=4,h.expires=p+h.ttl*1e3,n=Math.max(n,h.ttl);for(let h of a)h.family=6,h.expires=p+h.ttl*1e3,u=Math.max(u,h.ttl);return o.length>0?a.length>0?A=Math.min(n,u):A=n:A=u,{entries:[...o,...a],cacheTtl:A}}async _lookup(t){try{return{entries:await this._dnsLookup(t,{all:!0}),cacheTtl:0}}catch{return{entries:[],cacheTtl:0}}}async _set(t,r,o){if(this.maxTtl>0&&o>0){o=Math.min(o,this.maxTtl)*1e3,r[Zse]=Date.now()+o;try{await this._cache.set(t,r,o)}catch(a){this.lookupAsync=async()=>{let n=new Error("Cache Error. Please recreate the CacheableLookup instance.");throw n.cause=a,n}}qrt(this._cache)&&this._tick(o)}}async queryAndCache(t){if(this._hostnamesToFallback.has(t))return this._dnsLookup(t,Grt);try{let r=await this._resolve(t);r.entries.length===0&&this._fallback&&(r=await this._lookup(t),r.entries.length!==0&&this._hostnamesToFallback.add(t));let o=r.entries.length===0?this.errorTtl:r.cacheTtl;return await this._set(t,r.entries,o),delete this._pending[t],r.entries}catch(r){throw delete this._pending[t],r}}_tick(t){let r=this._nextRemovalTime;(!r||t<r)&&(clearTimeout(this._removalTimeout),this._nextRemovalTime=t,this._removalTimeout=setTimeout(()=>{this._nextRemovalTime=!1;let o=1/0,a=Date.now();for(let[n,u]of this._cache){let A=u[Zse];a>=A?this._cache.delete(n):A<o&&(o=A)}o!==1/0&&this._tick(o-a)},t),this._removalTimeout.unref&&this._removalTimeout.unref())}install(t){if($se(t),IE in t)throw new Error("CacheableLookup has been already installed");t[IE]=t.createConnection,t[QM]=this,t.createConnection=(r,o)=>("lookup"in r||(r.lookup=this.lookup),t[IE](r,o))}uninstall(t){if($se(t),t[IE]){if(t[QM]!==this)throw new Error("The agent is not owned by this CacheableLookup instance");t.createConnection=t[IE],delete t[IE],delete t[QM]}}updateInterfaceInfo(){let{_iface:t}=this;this._iface=eoe(),(t.has4&&!this._iface.has4||t.has6&&!this._iface.has6)&&this._cache.clear()}clear(t){if(t){this._cache.delete(t);return}this._cache.clear()}};kM.exports=KP;kM.exports.default=KP});var ooe=_((GNt,FM)=>{"use strict";var Yrt=typeof URL>"u"?Ie("url").URL:URL,Wrt="text/plain",Krt="us-ascii",ioe=(e,t)=>t.some(r=>r instanceof RegExp?r.test(e):r===e),Jrt=(e,{stripHash:t})=>{let r=e.match(/^data:([^,]*?),([^#]*?)(?:#(.*))?$/);if(!r)throw new Error(`Invalid URL: ${e}`);let o=r[1].split(";"),a=r[2],n=t?"":r[3],u=!1;o[o.length-1]==="base64"&&(o.pop(),u=!0);let A=(o.shift()||"").toLowerCase(),h=[...o.map(w=>{let[I,v=""]=w.split("=").map(b=>b.trim());return I==="charset"&&(v=v.toLowerCase(),v===Krt)?"":`${I}${v?`=${v}`:""}`}).filter(Boolean)];return u&&h.push("base64"),(h.length!==0||A&&A!==Wrt)&&h.unshift(A),`data:${h.join(";")},${u?a.trim():a}${n?`#${n}`:""}`},soe=(e,t)=>{if(t={defaultProtocol:"http:",normalizeProtocol:!0,forceHttp:!1,forceHttps:!1,stripAuthentication:!0,stripHash:!1,stripWWW:!0,removeQueryParameters:[/^utm_\w+/i],removeTrailingSlash:!0,removeDirectoryIndex:!1,sortQueryParameters:!0,...t},Reflect.has(t,"normalizeHttps"))throw new Error("options.normalizeHttps is renamed to options.forceHttp");if(Reflect.has(t,"normalizeHttp"))throw new Error("options.normalizeHttp is renamed to options.forceHttps");if(Reflect.has(t,"stripFragment"))throw new Error("options.stripFragment is renamed to options.stripHash");if(e=e.trim(),/^data:/i.test(e))return Jrt(e,t);let r=e.startsWith("//");!r&&/^\.*\//.test(e)||(e=e.replace(/^(?!(?:\w+:)?\/\/)|^\/\//,t.defaultProtocol));let a=new Yrt(e);if(t.forceHttp&&t.forceHttps)throw new Error("The `forceHttp` and `forceHttps` options cannot be used together");if(t.forceHttp&&a.protocol==="https:"&&(a.protocol="http:"),t.forceHttps&&a.protocol==="http:"&&(a.protocol="https:"),t.stripAuthentication&&(a.username="",a.password=""),t.stripHash&&(a.hash=""),a.pathname&&(a.pathname=a.pathname.replace(/((?!:).|^)\/{2,}/g,(n,u)=>/^(?!\/)/g.test(u)?`${u}/`:"/")),a.pathname&&(a.pathname=decodeURI(a.pathname)),t.removeDirectoryIndex===!0&&(t.removeDirectoryIndex=[/^index\.[a-z]+$/]),Array.isArray(t.removeDirectoryIndex)&&t.removeDirectoryIndex.length>0){let n=a.pathname.split("/"),u=n[n.length-1];ioe(u,t.removeDirectoryIndex)&&(n=n.slice(0,n.length-1),a.pathname=n.slice(1).join("/")+"/")}if(a.hostname&&(a.hostname=a.hostname.replace(/\.$/,""),t.stripWWW&&/^www\.([a-z\-\d]{2,63})\.([a-z.]{2,5})$/.test(a.hostname)&&(a.hostname=a.hostname.replace(/^www\./,""))),Array.isArray(t.removeQueryParameters))for(let n of[...a.searchParams.keys()])ioe(n,t.removeQueryParameters)&&a.searchParams.delete(n);return t.sortQueryParameters&&a.searchParams.sort(),t.removeTrailingSlash&&(a.pathname=a.pathname.replace(/\/$/,"")),e=a.toString(),(t.removeTrailingSlash||a.pathname==="/")&&a.hash===""&&(e=e.replace(/\/$/,"")),r&&!t.normalizeProtocol&&(e=e.replace(/^http:\/\//,"//")),t.stripProtocol&&(e=e.replace(/^(?:https?:)?\/\//,"")),e};FM.exports=soe;FM.exports.default=soe});var coe=_((YNt,loe)=>{loe.exports=aoe;function aoe(e,t){if(e&&t)return aoe(e)(t);if(typeof e!="function")throw new TypeError("need wrapper function");return Object.keys(e).forEach(function(o){r[o]=e[o]}),r;function r(){for(var o=new Array(arguments.length),a=0;a<o.length;a++)o[a]=arguments[a];var n=e.apply(this,o),u=o[o.length-1];return typeof n=="function"&&n!==u&&Object.keys(u).forEach(function(A){n[A]=u[A]}),n}}});var TM=_((WNt,RM)=>{var uoe=coe();RM.exports=uoe(JP);RM.exports.strict=uoe(Aoe);JP.proto=JP(function(){Object.defineProperty(Function.prototype,"once",{value:function(){return JP(this)},configurable:!0}),Object.defineProperty(Function.prototype,"onceStrict",{value:function(){return Aoe(this)},configurable:!0})});function JP(e){var t=function(){return t.called?t.value:(t.called=!0,t.value=e.apply(this,arguments))};return t.called=!1,t}function Aoe(e){var t=function(){if(t.called)throw new Error(t.onceError);return t.called=!0,t.value=e.apply(this,arguments)},r=e.name||"Function wrapped with `once`";return t.onceError=r+" shouldn't be called more than once",t.called=!1,t}});var NM=_((KNt,poe)=>{var Vrt=TM(),zrt=function(){},Xrt=function(e){return e.setHeader&&typeof e.abort=="function"},Zrt=function(e){return e.stdio&&Array.isArray(e.stdio)&&e.stdio.length===3},foe=function(e,t,r){if(typeof t=="function")return foe(e,null,t);t||(t={}),r=Vrt(r||zrt);var o=e._writableState,a=e._readableState,n=t.readable||t.readable!==!1&&e.readable,u=t.writable||t.writable!==!1&&e.writable,A=function(){e.writable||p()},p=function(){u=!1,n||r.call(e)},h=function(){n=!1,u||r.call(e)},w=function(E){r.call(e,E?new Error("exited with error code: "+E):null)},I=function(E){r.call(e,E)},v=function(){if(n&&!(a&&a.ended))return r.call(e,new Error("premature close"));if(u&&!(o&&o.ended))return r.call(e,new Error("premature close"))},b=function(){e.req.on("finish",p)};return Xrt(e)?(e.on("complete",p),e.on("abort",v),e.req?b():e.on("request",b)):u&&!o&&(e.on("end",A),e.on("close",A)),Zrt(e)&&e.on("exit",w),e.on("end",h),e.on("finish",p),t.error!==!1&&e.on("error",I),e.on("close",v),function(){e.removeListener("complete",p),e.removeListener("abort",v),e.removeListener("request",b),e.req&&e.req.removeListener("finish",p),e.removeListener("end",A),e.removeListener("close",A),e.removeListener("finish",p),e.removeListener("exit",w),e.removeListener("end",h),e.removeListener("error",I),e.removeListener("close",v)}};poe.exports=foe});var doe=_((JNt,goe)=>{var $rt=TM(),ent=NM(),LM=Ie("fs"),u1=function(){},tnt=/^v?\.0/.test(process.version),VP=function(e){return typeof e=="function"},rnt=function(e){return!tnt||!LM?!1:(e instanceof(LM.ReadStream||u1)||e instanceof(LM.WriteStream||u1))&&VP(e.close)},nnt=function(e){return e.setHeader&&VP(e.abort)},int=function(e,t,r,o){o=$rt(o);var a=!1;e.on("close",function(){a=!0}),ent(e,{readable:t,writable:r},function(u){if(u)return o(u);a=!0,o()});var n=!1;return function(u){if(!a&&!n){if(n=!0,rnt(e))return e.close(u1);if(nnt(e))return e.abort();if(VP(e.destroy))return e.destroy();o(u||new Error("stream was destroyed"))}}},hoe=function(e){e()},snt=function(e,t){return e.pipe(t)},ont=function(){var e=Array.prototype.slice.call(arguments),t=VP(e[e.length-1]||u1)&&e.pop()||u1;if(Array.isArray(e[0])&&(e=e[0]),e.length<2)throw new Error("pump requires two streams per minimum");var r,o=e.map(function(a,n){var u=n<e.length-1,A=n>0;return int(a,u,A,function(p){r||(r=p),p&&o.forEach(hoe),!u&&(o.forEach(hoe),t(r))})});return e.reduce(snt)};goe.exports=ont});var yoe=_((VNt,moe)=>{"use strict";var{PassThrough:ant}=Ie("stream");moe.exports=e=>{e={...e};let{array:t}=e,{encoding:r}=e,o=r==="buffer",a=!1;t?a=!(r||o):r=r||"utf8",o&&(r=null);let n=new ant({objectMode:a});r&&n.setEncoding(r);let u=0,A=[];return n.on("data",p=>{A.push(p),a?u=A.length:u+=p.length}),n.getBufferedValue=()=>t?A:o?Buffer.concat(A,u):A.join(""),n.getBufferedLength=()=>u,n}});var Eoe=_((zNt,BE)=>{"use strict";var lnt=doe(),cnt=yoe(),zP=class extends Error{constructor(){super("maxBuffer exceeded"),this.name="MaxBufferError"}};async function XP(e,t){if(!e)return Promise.reject(new Error("Expected a stream"));t={maxBuffer:1/0,...t};let{maxBuffer:r}=t,o;return await new Promise((a,n)=>{let u=A=>{A&&(A.bufferedData=o.getBufferedValue()),n(A)};o=lnt(e,cnt(t),A=>{if(A){u(A);return}a()}),o.on("data",()=>{o.getBufferedLength()>r&&u(new zP)})}),o.getBufferedValue()}BE.exports=XP;BE.exports.default=XP;BE.exports.buffer=(e,t)=>XP(e,{...t,encoding:"buffer"});BE.exports.array=(e,t)=>XP(e,{...t,array:!0});BE.exports.MaxBufferError=zP});var Coe=_((ZNt,woe)=>{"use strict";var unt=new Set([200,203,204,206,300,301,404,405,410,414,501]),Ant=new Set([200,203,204,300,301,302,303,307,308,404,405,410,414,501]),fnt=new Set([500,502,503,504]),pnt={date:!0,connection:!0,"keep-alive":!0,"proxy-authenticate":!0,"proxy-authorization":!0,te:!0,trailer:!0,"transfer-encoding":!0,upgrade:!0},hnt={"content-length":!0,"content-encoding":!0,"transfer-encoding":!0,"content-range":!0};function Dd(e){let t=parseInt(e,10);return isFinite(t)?t:0}function gnt(e){return e?fnt.has(e.status):!0}function OM(e){let t={};if(!e)return t;let r=e.trim().split(/\s*,\s*/);for(let o of r){let[a,n]=o.split(/\s*=\s*/,2);t[a]=n===void 0?!0:n.replace(/^"|"$/g,"")}return t}function dnt(e){let t=[];for(let r in e){let o=e[r];t.push(o===!0?r:r+"="+o)}if(!!t.length)return t.join(", ")}woe.exports=class{constructor(t,r,{shared:o,cacheHeuristic:a,immutableMinTimeToLive:n,ignoreCargoCult:u,_fromObject:A}={}){if(A){this._fromObject(A);return}if(!r||!r.headers)throw Error("Response headers missing");this._assertRequestHasHeaders(t),this._responseTime=this.now(),this._isShared=o!==!1,this._cacheHeuristic=a!==void 0?a:.1,this._immutableMinTtl=n!==void 0?n:24*3600*1e3,this._status="status"in r?r.status:200,this._resHeaders=r.headers,this._rescc=OM(r.headers["cache-control"]),this._method="method"in t?t.method:"GET",this._url=t.url,this._host=t.headers.host,this._noAuthorization=!t.headers.authorization,this._reqHeaders=r.headers.vary?t.headers:null,this._reqcc=OM(t.headers["cache-control"]),u&&"pre-check"in this._rescc&&"post-check"in this._rescc&&(delete this._rescc["pre-check"],delete this._rescc["post-check"],delete this._rescc["no-cache"],delete this._rescc["no-store"],delete this._rescc["must-revalidate"],this._resHeaders=Object.assign({},this._resHeaders,{"cache-control":dnt(this._rescc)}),delete this._resHeaders.expires,delete this._resHeaders.pragma),r.headers["cache-control"]==null&&/no-cache/.test(r.headers.pragma)&&(this._rescc["no-cache"]=!0)}now(){return Date.now()}storable(){return!!(!this._reqcc["no-store"]&&(this._method==="GET"||this._method==="HEAD"||this._method==="POST"&&this._hasExplicitExpiration())&&Ant.has(this._status)&&!this._rescc["no-store"]&&(!this._isShared||!this._rescc.private)&&(!this._isShared||this._noAuthorization||this._allowsStoringAuthenticated())&&(this._resHeaders.expires||this._rescc["max-age"]||this._isShared&&this._rescc["s-maxage"]||this._rescc.public||unt.has(this._status)))}_hasExplicitExpiration(){return this._isShared&&this._rescc["s-maxage"]||this._rescc["max-age"]||this._resHeaders.expires}_assertRequestHasHeaders(t){if(!t||!t.headers)throw Error("Request headers missing")}satisfiesWithoutRevalidation(t){this._assertRequestHasHeaders(t);let r=OM(t.headers["cache-control"]);return r["no-cache"]||/no-cache/.test(t.headers.pragma)||r["max-age"]&&this.age()>r["max-age"]||r["min-fresh"]&&this.timeToLive()<1e3*r["min-fresh"]||this.stale()&&!(r["max-stale"]&&!this._rescc["must-revalidate"]&&(r["max-stale"]===!0||r["max-stale"]>this.age()-this.maxAge()))?!1:this._requestMatches(t,!1)}_requestMatches(t,r){return(!this._url||this._url===t.url)&&this._host===t.headers.host&&(!t.method||this._method===t.method||r&&t.method==="HEAD")&&this._varyMatches(t)}_allowsStoringAuthenticated(){return this._rescc["must-revalidate"]||this._rescc.public||this._rescc["s-maxage"]}_varyMatches(t){if(!this._resHeaders.vary)return!0;if(this._resHeaders.vary==="*")return!1;let r=this._resHeaders.vary.trim().toLowerCase().split(/\s*,\s*/);for(let o of r)if(t.headers[o]!==this._reqHeaders[o])return!1;return!0}_copyWithoutHopByHopHeaders(t){let r={};for(let o in t)pnt[o]||(r[o]=t[o]);if(t.connection){let o=t.connection.trim().split(/\s*,\s*/);for(let a of o)delete r[a]}if(r.warning){let o=r.warning.split(/,/).filter(a=>!/^\s*1[0-9][0-9]/.test(a));o.length?r.warning=o.join(",").trim():delete r.warning}return r}responseHeaders(){let t=this._copyWithoutHopByHopHeaders(this._resHeaders),r=this.age();return r>3600*24&&!this._hasExplicitExpiration()&&this.maxAge()>3600*24&&(t.warning=(t.warning?`${t.warning}, `:"")+'113 - "rfc7234 5.5.4"'),t.age=`${Math.round(r)}`,t.date=new Date(this.now()).toUTCString(),t}date(){let t=Date.parse(this._resHeaders.date);return isFinite(t)?t:this._responseTime}age(){let t=this._ageValue(),r=(this.now()-this._responseTime)/1e3;return t+r}_ageValue(){return Dd(this._resHeaders.age)}maxAge(){if(!this.storable()||this._rescc["no-cache"]||this._isShared&&this._resHeaders["set-cookie"]&&!this._rescc.public&&!this._rescc.immutable||this._resHeaders.vary==="*")return 0;if(this._isShared){if(this._rescc["proxy-revalidate"])return 0;if(this._rescc["s-maxage"])return Dd(this._rescc["s-maxage"])}if(this._rescc["max-age"])return Dd(this._rescc["max-age"]);let t=this._rescc.immutable?this._immutableMinTtl:0,r=this.date();if(this._resHeaders.expires){let o=Date.parse(this._resHeaders.expires);return Number.isNaN(o)||o<r?0:Math.max(t,(o-r)/1e3)}if(this._resHeaders["last-modified"]){let o=Date.parse(this._resHeaders["last-modified"]);if(isFinite(o)&&r>o)return Math.max(t,(r-o)/1e3*this._cacheHeuristic)}return t}timeToLive(){let t=this.maxAge()-this.age(),r=t+Dd(this._rescc["stale-if-error"]),o=t+Dd(this._rescc["stale-while-revalidate"]);return Math.max(0,t,r,o)*1e3}stale(){return this.maxAge()<=this.age()}_useStaleIfError(){return this.maxAge()+Dd(this._rescc["stale-if-error"])>this.age()}useStaleWhileRevalidate(){return this.maxAge()+Dd(this._rescc["stale-while-revalidate"])>this.age()}static fromObject(t){return new this(void 0,void 0,{_fromObject:t})}_fromObject(t){if(this._responseTime)throw Error("Reinitialized");if(!t||t.v!==1)throw Error("Invalid serialization");this._responseTime=t.t,this._isShared=t.sh,this._cacheHeuristic=t.ch,this._immutableMinTtl=t.imm!==void 0?t.imm:24*3600*1e3,this._status=t.st,this._resHeaders=t.resh,this._rescc=t.rescc,this._method=t.m,this._url=t.u,this._host=t.h,this._noAuthorization=t.a,this._reqHeaders=t.reqh,this._reqcc=t.reqcc}toObject(){return{v:1,t:this._responseTime,sh:this._isShared,ch:this._cacheHeuristic,imm:this._immutableMinTtl,st:this._status,resh:this._resHeaders,rescc:this._rescc,m:this._method,u:this._url,h:this._host,a:this._noAuthorization,reqh:this._reqHeaders,reqcc:this._reqcc}}revalidationHeaders(t){this._assertRequestHasHeaders(t);let r=this._copyWithoutHopByHopHeaders(t.headers);if(delete r["if-range"],!this._requestMatches(t,!0)||!this.storable())return delete r["if-none-match"],delete r["if-modified-since"],r;if(this._resHeaders.etag&&(r["if-none-match"]=r["if-none-match"]?`${r["if-none-match"]}, ${this._resHeaders.etag}`:this._resHeaders.etag),r["accept-ranges"]||r["if-match"]||r["if-unmodified-since"]||this._method&&this._method!="GET"){if(delete r["if-modified-since"],r["if-none-match"]){let a=r["if-none-match"].split(/,/).filter(n=>!/^\s*W\//.test(n));a.length?r["if-none-match"]=a.join(",").trim():delete r["if-none-match"]}}else this._resHeaders["last-modified"]&&!r["if-modified-since"]&&(r["if-modified-since"]=this._resHeaders["last-modified"]);return r}revalidatedPolicy(t,r){if(this._assertRequestHasHeaders(t),this._useStaleIfError()&&gnt(r))return{modified:!1,matches:!1,policy:this};if(!r||!r.headers)throw Error("Response headers missing");let o=!1;if(r.status!==void 0&&r.status!=304?o=!1:r.headers.etag&&!/^\s*W\//.test(r.headers.etag)?o=this._resHeaders.etag&&this._resHeaders.etag.replace(/^\s*W\//,"")===r.headers.etag:this._resHeaders.etag&&r.headers.etag?o=this._resHeaders.etag.replace(/^\s*W\//,"")===r.headers.etag.replace(/^\s*W\//,""):this._resHeaders["last-modified"]?o=this._resHeaders["last-modified"]===r.headers["last-modified"]:!this._resHeaders.etag&&!this._resHeaders["last-modified"]&&!r.headers.etag&&!r.headers["last-modified"]&&(o=!0),!o)return{policy:new this.constructor(t,r),modified:r.status!=304,matches:!1};let a={};for(let u in this._resHeaders)a[u]=u in r.headers&&!hnt[u]?r.headers[u]:this._resHeaders[u];let n=Object.assign({},r,{status:this._status,method:this._method,headers:a});return{policy:new this.constructor(t,n,{shared:this._isShared,cacheHeuristic:this._cacheHeuristic,immutableMinTimeToLive:this._immutableMinTtl}),modified:!1,matches:!0}}}});var ZP=_(($Nt,Ioe)=>{"use strict";Ioe.exports=e=>{let t={};for(let[r,o]of Object.entries(e))t[r.toLowerCase()]=o;return t}});var voe=_((eLt,Boe)=>{"use strict";var mnt=Ie("stream").Readable,ynt=ZP(),MM=class extends mnt{constructor(t,r,o,a){if(typeof t!="number")throw new TypeError("Argument `statusCode` should be a number");if(typeof r!="object")throw new TypeError("Argument `headers` should be an object");if(!(o instanceof Buffer))throw new TypeError("Argument `body` should be a buffer");if(typeof a!="string")throw new TypeError("Argument `url` should be a string");super(),this.statusCode=t,this.headers=ynt(r),this.body=o,this.url=a}_read(){this.push(this.body),this.push(null)}};Boe.exports=MM});var Soe=_((tLt,Doe)=>{"use strict";var Ent=["destroy","setTimeout","socket","headers","trailers","rawHeaders","statusCode","httpVersion","httpVersionMinor","httpVersionMajor","rawTrailers","statusMessage"];Doe.exports=(e,t)=>{let r=new Set(Object.keys(e).concat(Ent));for(let o of r)o in t||(t[o]=typeof e[o]=="function"?e[o].bind(e):e[o])}});var xoe=_((rLt,Poe)=>{"use strict";var wnt=Ie("stream").PassThrough,Cnt=Soe(),Int=e=>{if(!(e&&e.pipe))throw new TypeError("Parameter `response` must be a response stream.");let t=new wnt;return Cnt(e,t),e.pipe(t)};Poe.exports=Int});var boe=_(UM=>{UM.stringify=function e(t){if(typeof t>"u")return t;if(t&&Buffer.isBuffer(t))return JSON.stringify(":base64:"+t.toString("base64"));if(t&&t.toJSON&&(t=t.toJSON()),t&&typeof t=="object"){var r="",o=Array.isArray(t);r=o?"[":"{";var a=!0;for(var n in t){var u=typeof t[n]=="function"||!o&&typeof t[n]>"u";Object.hasOwnProperty.call(t,n)&&!u&&(a||(r+=","),a=!1,o?t[n]==null?r+="null":r+=e(t[n]):t[n]!==void 0&&(r+=e(n)+":"+e(t[n])))}return r+=o?"]":"}",r}else return typeof t=="string"?JSON.stringify(/^:/.test(t)?":"+t:t):typeof t>"u"?"null":JSON.stringify(t)};UM.parse=function(e){return JSON.parse(e,function(t,r){return typeof r=="string"?/^:base64:/.test(r)?Buffer.from(r.substring(8),"base64"):/^:/.test(r)?r.substring(1):r:r})}});var Foe=_((iLt,koe)=>{"use strict";var Bnt=Ie("events"),Qoe=boe(),vnt=e=>{let t={redis:"@keyv/redis",mongodb:"@keyv/mongo",mongo:"@keyv/mongo",sqlite:"@keyv/sqlite",postgresql:"@keyv/postgres",postgres:"@keyv/postgres",mysql:"@keyv/mysql"};if(e.adapter||e.uri){let r=e.adapter||/^[^:]*/.exec(e.uri)[0];return new(Ie(t[r]))(e)}return new Map},_M=class extends Bnt{constructor(t,r){if(super(),this.opts=Object.assign({namespace:"keyv",serialize:Qoe.stringify,deserialize:Qoe.parse},typeof t=="string"?{uri:t}:t,r),!this.opts.store){let o=Object.assign({},this.opts);this.opts.store=vnt(o)}typeof this.opts.store.on=="function"&&this.opts.store.on("error",o=>this.emit("error",o)),this.opts.store.namespace=this.opts.namespace}_getKeyPrefix(t){return`${this.opts.namespace}:${t}`}get(t,r){t=this._getKeyPrefix(t);let{store:o}=this.opts;return Promise.resolve().then(()=>o.get(t)).then(a=>typeof a=="string"?this.opts.deserialize(a):a).then(a=>{if(a!==void 0){if(typeof a.expires=="number"&&Date.now()>a.expires){this.delete(t);return}return r&&r.raw?a:a.value}})}set(t,r,o){t=this._getKeyPrefix(t),typeof o>"u"&&(o=this.opts.ttl),o===0&&(o=void 0);let{store:a}=this.opts;return Promise.resolve().then(()=>{let n=typeof o=="number"?Date.now()+o:null;return r={value:r,expires:n},this.opts.serialize(r)}).then(n=>a.set(t,n,o)).then(()=>!0)}delete(t){t=this._getKeyPrefix(t);let{store:r}=this.opts;return Promise.resolve().then(()=>r.delete(t))}clear(){let{store:t}=this.opts;return Promise.resolve().then(()=>t.clear())}};koe.exports=_M});var Noe=_((oLt,Toe)=>{"use strict";var Dnt=Ie("events"),$P=Ie("url"),Snt=ooe(),Pnt=Eoe(),HM=Coe(),Roe=voe(),xnt=ZP(),bnt=xoe(),Qnt=Foe(),qc=class{constructor(t,r){if(typeof t!="function")throw new TypeError("Parameter `request` must be a function");return this.cache=new Qnt({uri:typeof r=="string"&&r,store:typeof r!="string"&&r,namespace:"cacheable-request"}),this.createCacheableRequest(t)}createCacheableRequest(t){return(r,o)=>{let a;if(typeof r=="string")a=jM($P.parse(r)),r={};else if(r instanceof $P.URL)a=jM($P.parse(r.toString())),r={};else{let[I,...v]=(r.path||"").split("?"),b=v.length>0?`?${v.join("?")}`:"";a=jM({...r,pathname:I,search:b})}r={headers:{},method:"GET",cache:!0,strictTtl:!1,automaticFailover:!1,...r,...knt(a)},r.headers=xnt(r.headers);let n=new Dnt,u=Snt($P.format(a),{stripWWW:!1,removeTrailingSlash:!1,stripAuthentication:!1}),A=`${r.method}:${u}`,p=!1,h=!1,w=I=>{h=!0;let v=!1,b,E=new Promise(N=>{b=()=>{v||(v=!0,N())}}),R=N=>{if(p&&!I.forceRefresh){N.status=N.statusCode;let V=HM.fromObject(p.cachePolicy).revalidatedPolicy(I,N);if(!V.modified){let ee=V.policy.responseHeaders();N=new Roe(p.statusCode,ee,p.body,p.url),N.cachePolicy=V.policy,N.fromCache=!0}}N.fromCache||(N.cachePolicy=new HM(I,N,I),N.fromCache=!1);let U;I.cache&&N.cachePolicy.storable()?(U=bnt(N),(async()=>{try{let V=Pnt.buffer(N);if(await Promise.race([E,new Promise(de=>N.once("end",de))]),v)return;let ee=await V,le={cachePolicy:N.cachePolicy.toObject(),url:N.url,statusCode:N.fromCache?p.statusCode:N.statusCode,body:ee},fe=I.strictTtl?N.cachePolicy.timeToLive():void 0;I.maxTtl&&(fe=fe?Math.min(fe,I.maxTtl):I.maxTtl),await this.cache.set(A,le,fe)}catch(V){n.emit("error",new qc.CacheError(V))}})()):I.cache&&p&&(async()=>{try{await this.cache.delete(A)}catch(V){n.emit("error",new qc.CacheError(V))}})(),n.emit("response",U||N),typeof o=="function"&&o(U||N)};try{let N=t(I,R);N.once("error",b),N.once("abort",b),n.emit("request",N)}catch(N){n.emit("error",new qc.RequestError(N))}};return(async()=>{let I=async b=>{await Promise.resolve();let E=b.cache?await this.cache.get(A):void 0;if(typeof E>"u")return w(b);let R=HM.fromObject(E.cachePolicy);if(R.satisfiesWithoutRevalidation(b)&&!b.forceRefresh){let N=R.responseHeaders(),U=new Roe(E.statusCode,N,E.body,E.url);U.cachePolicy=R,U.fromCache=!0,n.emit("response",U),typeof o=="function"&&o(U)}else p=E,b.headers=R.revalidationHeaders(b),w(b)},v=b=>n.emit("error",new qc.CacheError(b));this.cache.once("error",v),n.on("response",()=>this.cache.removeListener("error",v));try{await I(r)}catch(b){r.automaticFailover&&!h&&w(r),n.emit("error",new qc.CacheError(b))}})(),n}}};function knt(e){let t={...e};return t.path=`${e.pathname||"/"}${e.search||""}`,delete t.pathname,delete t.search,t}function jM(e){return{protocol:e.protocol,auth:e.auth,hostname:e.hostname||e.host||"localhost",port:e.port,pathname:e.pathname,search:e.search}}qc.RequestError=class extends Error{constructor(e){super(e.message),this.name="RequestError",Object.assign(this,e)}};qc.CacheError=class extends Error{constructor(e){super(e.message),this.name="CacheError",Object.assign(this,e)}};Toe.exports=qc});var Ooe=_((cLt,Loe)=>{"use strict";var Fnt=["aborted","complete","headers","httpVersion","httpVersionMinor","httpVersionMajor","method","rawHeaders","rawTrailers","setTimeout","socket","statusCode","statusMessage","trailers","url"];Loe.exports=(e,t)=>{if(t._readableState.autoDestroy)throw new Error("The second stream must have the `autoDestroy` option set to `false`");let r=new Set(Object.keys(e).concat(Fnt)),o={};for(let a of r)a in t||(o[a]={get(){let n=e[a];return typeof n=="function"?n.bind(e):n},set(n){e[a]=n},enumerable:!0,configurable:!1});return Object.defineProperties(t,o),e.once("aborted",()=>{t.destroy(),t.emit("aborted")}),e.once("close",()=>{e.complete&&t.readable?t.once("end",()=>{t.emit("close")}):t.emit("close")}),t}});var Uoe=_((uLt,Moe)=>{"use strict";var{Transform:Rnt,PassThrough:Tnt}=Ie("stream"),qM=Ie("zlib"),Nnt=Ooe();Moe.exports=e=>{let t=(e.headers["content-encoding"]||"").toLowerCase();if(!["gzip","deflate","br"].includes(t))return e;let r=t==="br";if(r&&typeof qM.createBrotliDecompress!="function")return e.destroy(new Error("Brotli is not supported on Node.js < 12")),e;let o=!0,a=new Rnt({transform(A,p,h){o=!1,h(null,A)},flush(A){A()}}),n=new Tnt({autoDestroy:!1,destroy(A,p){e.destroy(),p(A)}}),u=r?qM.createBrotliDecompress():qM.createUnzip();return u.once("error",A=>{if(o&&!e.readable){n.end();return}n.destroy(A)}),Nnt(e,n),e.pipe(a).pipe(u).pipe(n),n}});var YM=_((ALt,_oe)=>{"use strict";var GM=class{constructor(t={}){if(!(t.maxSize&&t.maxSize>0))throw new TypeError("`maxSize` must be a number greater than 0");this.maxSize=t.maxSize,this.onEviction=t.onEviction,this.cache=new Map,this.oldCache=new Map,this._size=0}_set(t,r){if(this.cache.set(t,r),this._size++,this._size>=this.maxSize){if(this._size=0,typeof this.onEviction=="function")for(let[o,a]of this.oldCache.entries())this.onEviction(o,a);this.oldCache=this.cache,this.cache=new Map}}get(t){if(this.cache.has(t))return this.cache.get(t);if(this.oldCache.has(t)){let r=this.oldCache.get(t);return this.oldCache.delete(t),this._set(t,r),r}}set(t,r){return this.cache.has(t)?this.cache.set(t,r):this._set(t,r),this}has(t){return this.cache.has(t)||this.oldCache.has(t)}peek(t){if(this.cache.has(t))return this.cache.get(t);if(this.oldCache.has(t))return this.oldCache.get(t)}delete(t){let r=this.cache.delete(t);return r&&this._size--,this.oldCache.delete(t)||r}clear(){this.cache.clear(),this.oldCache.clear(),this._size=0}*keys(){for(let[t]of this)yield t}*values(){for(let[,t]of this)yield t}*[Symbol.iterator](){for(let t of this.cache)yield t;for(let t of this.oldCache){let[r]=t;this.cache.has(r)||(yield t)}}get size(){let t=0;for(let r of this.oldCache.keys())this.cache.has(r)||t++;return Math.min(this._size+t,this.maxSize)}};_oe.exports=GM});var KM=_((fLt,Goe)=>{"use strict";var Lnt=Ie("events"),Ont=Ie("tls"),Mnt=Ie("http2"),Unt=YM(),ea=Symbol("currentStreamsCount"),Hoe=Symbol("request"),Wl=Symbol("cachedOriginSet"),vE=Symbol("gracefullyClosing"),_nt=["maxDeflateDynamicTableSize","maxSessionMemory","maxHeaderListPairs","maxOutstandingPings","maxReservedRemoteStreams","maxSendHeaderBlockLength","paddingStrategy","localAddress","path","rejectUnauthorized","minDHSize","ca","cert","clientCertEngine","ciphers","key","pfx","servername","minVersion","maxVersion","secureProtocol","crl","honorCipherOrder","ecdhCurve","dhparam","secureOptions","sessionIdContext"],Hnt=(e,t,r)=>{let o=0,a=e.length;for(;o<a;){let n=o+a>>>1;r(e[n],t)?o=n+1:a=n}return o},jnt=(e,t)=>e.remoteSettings.maxConcurrentStreams>t.remoteSettings.maxConcurrentStreams,WM=(e,t)=>{for(let r of e)r[Wl].length<t[Wl].length&&r[Wl].every(o=>t[Wl].includes(o))&&r[ea]+t[ea]<=t.remoteSettings.maxConcurrentStreams&&qoe(r)},qnt=(e,t)=>{for(let r of e)t[Wl].length<r[Wl].length&&t[Wl].every(o=>r[Wl].includes(o))&&t[ea]+r[ea]<=r.remoteSettings.maxConcurrentStreams&&qoe(t)},joe=({agent:e,isFree:t})=>{let r={};for(let o in e.sessions){let n=e.sessions[o].filter(u=>{let A=u[nA.kCurrentStreamsCount]<u.remoteSettings.maxConcurrentStreams;return t?A:!A});n.length!==0&&(r[o]=n)}return r},qoe=e=>{e[vE]=!0,e[ea]===0&&e.close()},nA=class extends Lnt{constructor({timeout:t=6e4,maxSessions:r=1/0,maxFreeSessions:o=10,maxCachedTlsSessions:a=100}={}){super(),this.sessions={},this.queue={},this.timeout=t,this.maxSessions=r,this.maxFreeSessions=o,this._freeSessionsCount=0,this._sessionsCount=0,this.settings={enablePush:!1},this.tlsSessionCache=new Unt({maxSize:a})}static normalizeOrigin(t,r){return typeof t=="string"&&(t=new URL(t)),r&&t.hostname!==r&&(t.hostname=r),t.origin}normalizeOptions(t){let r="";if(t)for(let o of _nt)t[o]&&(r+=`:${t[o]}`);return r}_tryToCreateNewSession(t,r){if(!(t in this.queue)||!(r in this.queue[t]))return;let o=this.queue[t][r];this._sessionsCount<this.maxSessions&&!o.completed&&(o.completed=!0,o())}getSession(t,r,o){return new Promise((a,n)=>{Array.isArray(o)?(o=[...o],a()):o=[{resolve:a,reject:n}];let u=this.normalizeOptions(r),A=nA.normalizeOrigin(t,r&&r.servername);if(A===void 0){for(let{reject:w}of o)w(new TypeError("The `origin` argument needs to be a string or an URL object"));return}if(u in this.sessions){let w=this.sessions[u],I=-1,v=-1,b;for(let E of w){let R=E.remoteSettings.maxConcurrentStreams;if(R<I)break;if(E[Wl].includes(A)){let N=E[ea];if(N>=R||E[vE]||E.destroyed)continue;b||(I=R),N>v&&(b=E,v=N)}}if(b){if(o.length!==1){for(let{reject:E}of o){let R=new Error(`Expected the length of listeners to be 1, got ${o.length}. -Please report this to https://github.com/szmarczak/http2-wrapper/`);E(R)}return}o[0].resolve(b);return}}if(u in this.queue){if(A in this.queue[u]){this.queue[u][A].listeners.push(...o),this._tryToCreateNewSession(u,A);return}}else this.queue[u]={};let p=()=>{u in this.queue&&this.queue[u][A]===h&&(delete this.queue[u][A],Object.keys(this.queue[u]).length===0&&delete this.queue[u])},h=()=>{let w=`${A}:${u}`,I=!1;try{let v=Mnt.connect(t,{createConnection:this.createConnection,settings:this.settings,session:this.tlsSessionCache.get(w),...r});v[ea]=0,v[vE]=!1;let b=()=>v[ea]<v.remoteSettings.maxConcurrentStreams,E=!0;v.socket.once("session",N=>{this.tlsSessionCache.set(w,N)}),v.once("error",N=>{for(let{reject:U}of o)U(N);this.tlsSessionCache.delete(w)}),v.setTimeout(this.timeout,()=>{v.destroy()}),v.once("close",()=>{if(I){E&&this._freeSessionsCount--,this._sessionsCount--;let N=this.sessions[u];N.splice(N.indexOf(v),1),N.length===0&&delete this.sessions[u]}else{let N=new Error("Session closed without receiving a SETTINGS frame");N.code="HTTP2WRAPPER_NOSETTINGS";for(let{reject:U}of o)U(N);p()}this._tryToCreateNewSession(u,A)});let R=()=>{if(!(!(u in this.queue)||!b())){for(let N of v[Wl])if(N in this.queue[u]){let{listeners:U}=this.queue[u][N];for(;U.length!==0&&b();)U.shift().resolve(v);let V=this.queue[u];if(V[N].listeners.length===0&&(delete V[N],Object.keys(V).length===0)){delete this.queue[u];break}if(!b())break}}};v.on("origin",()=>{v[Wl]=v.originSet,b()&&(R(),WM(this.sessions[u],v))}),v.once("remoteSettings",()=>{if(v.ref(),v.unref(),this._sessionsCount++,h.destroyed){let N=new Error("Agent has been destroyed");for(let U of o)U.reject(N);v.destroy();return}v[Wl]=v.originSet;{let N=this.sessions;if(u in N){let U=N[u];U.splice(Hnt(U,v,jnt),0,v)}else N[u]=[v]}this._freeSessionsCount+=1,I=!0,this.emit("session",v),R(),p(),v[ea]===0&&this._freeSessionsCount>this.maxFreeSessions&&v.close(),o.length!==0&&(this.getSession(A,r,o),o.length=0),v.on("remoteSettings",()=>{R(),WM(this.sessions[u],v)})}),v[Hoe]=v.request,v.request=(N,U)=>{if(v[vE])throw new Error("The session is gracefully closing. No new streams are allowed.");let V=v[Hoe](N,U);return v.ref(),++v[ea],v[ea]===v.remoteSettings.maxConcurrentStreams&&this._freeSessionsCount--,V.once("close",()=>{if(E=b(),--v[ea],!v.destroyed&&!v.closed&&(qnt(this.sessions[u],v),b()&&!v.closed)){E||(this._freeSessionsCount++,E=!0);let ee=v[ea]===0;ee&&v.unref(),ee&&(this._freeSessionsCount>this.maxFreeSessions||v[vE])?v.close():(WM(this.sessions[u],v),R())}}),V}}catch(v){for(let b of o)b.reject(v);p()}};h.listeners=o,h.completed=!1,h.destroyed=!1,this.queue[u][A]=h,this._tryToCreateNewSession(u,A)})}request(t,r,o,a){return new Promise((n,u)=>{this.getSession(t,r,[{reject:u,resolve:A=>{try{n(A.request(o,a))}catch(p){u(p)}}}])})}createConnection(t,r){return nA.connect(t,r)}static connect(t,r){r.ALPNProtocols=["h2"];let o=t.port||443,a=t.hostname||t.host;return typeof r.servername>"u"&&(r.servername=a),Ont.connect(o,a,r)}closeFreeSessions(){for(let t of Object.values(this.sessions))for(let r of t)r[ea]===0&&r.close()}destroy(t){for(let r of Object.values(this.sessions))for(let o of r)o.destroy(t);for(let r of Object.values(this.queue))for(let o of Object.values(r))o.destroyed=!0;this.queue={}}get freeSessions(){return joe({agent:this,isFree:!0})}get busySessions(){return joe({agent:this,isFree:!1})}};nA.kCurrentStreamsCount=ea;nA.kGracefullyClosing=vE;Goe.exports={Agent:nA,globalAgent:new nA}});var VM=_((pLt,Yoe)=>{"use strict";var{Readable:Gnt}=Ie("stream"),JM=class extends Gnt{constructor(t,r){super({highWaterMark:r,autoDestroy:!1}),this.statusCode=null,this.statusMessage="",this.httpVersion="2.0",this.httpVersionMajor=2,this.httpVersionMinor=0,this.headers={},this.trailers={},this.req=null,this.aborted=!1,this.complete=!1,this.upgrade=null,this.rawHeaders=[],this.rawTrailers=[],this.socket=t,this.connection=t,this._dumped=!1}_destroy(t){this.req._request.destroy(t)}setTimeout(t,r){return this.req.setTimeout(t,r),this}_dump(){this._dumped||(this._dumped=!0,this.removeAllListeners("data"),this.resume())}_read(){this.req&&this.req._request.resume()}};Yoe.exports=JM});var zM=_((hLt,Woe)=>{"use strict";Woe.exports=e=>{let t={protocol:e.protocol,hostname:typeof e.hostname=="string"&&e.hostname.startsWith("[")?e.hostname.slice(1,-1):e.hostname,host:e.host,hash:e.hash,search:e.search,pathname:e.pathname,href:e.href,path:`${e.pathname||""}${e.search||""}`};return typeof e.port=="string"&&e.port.length!==0&&(t.port=Number(e.port)),(e.username||e.password)&&(t.auth=`${e.username||""}:${e.password||""}`),t}});var Joe=_((gLt,Koe)=>{"use strict";Koe.exports=(e,t,r)=>{for(let o of r)e.on(o,(...a)=>t.emit(o,...a))}});var zoe=_((dLt,Voe)=>{"use strict";Voe.exports=e=>{switch(e){case":method":case":scheme":case":authority":case":path":return!0;default:return!1}}});var Zoe=_((yLt,Xoe)=>{"use strict";var DE=(e,t,r)=>{Xoe.exports[t]=class extends e{constructor(...a){super(typeof r=="string"?r:r(a)),this.name=`${super.name} [${t}]`,this.code=t}}};DE(TypeError,"ERR_INVALID_ARG_TYPE",e=>{let t=e[0].includes(".")?"property":"argument",r=e[1],o=Array.isArray(r);return o&&(r=`${r.slice(0,-1).join(", ")} or ${r.slice(-1)}`),`The "${e[0]}" ${t} must be ${o?"one of":"of"} type ${r}. Received ${typeof e[2]}`});DE(TypeError,"ERR_INVALID_PROTOCOL",e=>`Protocol "${e[0]}" not supported. Expected "${e[1]}"`);DE(Error,"ERR_HTTP_HEADERS_SENT",e=>`Cannot ${e[0]} headers after they are sent to the client`);DE(TypeError,"ERR_INVALID_HTTP_TOKEN",e=>`${e[0]} must be a valid HTTP token [${e[1]}]`);DE(TypeError,"ERR_HTTP_INVALID_HEADER_VALUE",e=>`Invalid value "${e[0]} for header "${e[1]}"`);DE(TypeError,"ERR_INVALID_CHAR",e=>`Invalid character in ${e[0]} [${e[1]}]`)});var t4=_((ELt,sae)=>{"use strict";var Ynt=Ie("http2"),{Writable:Wnt}=Ie("stream"),{Agent:$oe,globalAgent:Knt}=KM(),Jnt=VM(),Vnt=zM(),znt=Joe(),Xnt=zoe(),{ERR_INVALID_ARG_TYPE:XM,ERR_INVALID_PROTOCOL:Znt,ERR_HTTP_HEADERS_SENT:eae,ERR_INVALID_HTTP_TOKEN:$nt,ERR_HTTP_INVALID_HEADER_VALUE:eit,ERR_INVALID_CHAR:tit}=Zoe(),{HTTP2_HEADER_STATUS:tae,HTTP2_HEADER_METHOD:rae,HTTP2_HEADER_PATH:nae,HTTP2_METHOD_CONNECT:rit}=Ynt.constants,ko=Symbol("headers"),ZM=Symbol("origin"),$M=Symbol("session"),iae=Symbol("options"),ex=Symbol("flushedHeaders"),A1=Symbol("jobs"),nit=/^[\^`\-\w!#$%&*+.|~]+$/,iit=/[^\t\u0020-\u007E\u0080-\u00FF]/,e4=class extends Wnt{constructor(t,r,o){super({autoDestroy:!1});let a=typeof t=="string"||t instanceof URL;if(a&&(t=Vnt(t instanceof URL?t:new URL(t))),typeof r=="function"||r===void 0?(o=r,r=a?t:{...t}):r={...t,...r},r.h2session)this[$M]=r.h2session;else if(r.agent===!1)this.agent=new $oe({maxFreeSessions:0});else if(typeof r.agent>"u"||r.agent===null)typeof r.createConnection=="function"?(this.agent=new $oe({maxFreeSessions:0}),this.agent.createConnection=r.createConnection):this.agent=Knt;else if(typeof r.agent.request=="function")this.agent=r.agent;else throw new XM("options.agent",["Agent-like Object","undefined","false"],r.agent);if(r.protocol&&r.protocol!=="https:")throw new Znt(r.protocol,"https:");let n=r.port||r.defaultPort||this.agent&&this.agent.defaultPort||443,u=r.hostname||r.host||"localhost";delete r.hostname,delete r.host,delete r.port;let{timeout:A}=r;if(r.timeout=void 0,this[ko]=Object.create(null),this[A1]=[],this.socket=null,this.connection=null,this.method=r.method||"GET",this.path=r.path,this.res=null,this.aborted=!1,this.reusedSocket=!1,r.headers)for(let[p,h]of Object.entries(r.headers))this.setHeader(p,h);r.auth&&!("authorization"in this[ko])&&(this[ko].authorization="Basic "+Buffer.from(r.auth).toString("base64")),r.session=r.tlsSession,r.path=r.socketPath,this[iae]=r,n===443?(this[ZM]=`https://${u}`,":authority"in this[ko]||(this[ko][":authority"]=u)):(this[ZM]=`https://${u}:${n}`,":authority"in this[ko]||(this[ko][":authority"]=`${u}:${n}`)),A&&this.setTimeout(A),o&&this.once("response",o),this[ex]=!1}get method(){return this[ko][rae]}set method(t){t&&(this[ko][rae]=t.toUpperCase())}get path(){return this[ko][nae]}set path(t){t&&(this[ko][nae]=t)}get _mustNotHaveABody(){return this.method==="GET"||this.method==="HEAD"||this.method==="DELETE"}_write(t,r,o){if(this._mustNotHaveABody){o(new Error("The GET, HEAD and DELETE methods must NOT have a body"));return}this.flushHeaders();let a=()=>this._request.write(t,r,o);this._request?a():this[A1].push(a)}_final(t){if(this.destroyed)return;this.flushHeaders();let r=()=>{if(this._mustNotHaveABody){t();return}this._request.end(t)};this._request?r():this[A1].push(r)}abort(){this.res&&this.res.complete||(this.aborted||process.nextTick(()=>this.emit("abort")),this.aborted=!0,this.destroy())}_destroy(t,r){this.res&&this.res._dump(),this._request&&this._request.destroy(),r(t)}async flushHeaders(){if(this[ex]||this.destroyed)return;this[ex]=!0;let t=this.method===rit,r=o=>{if(this._request=o,this.destroyed){o.destroy();return}t||znt(o,this,["timeout","continue","close","error"]);let a=u=>(...A)=>{!this.writable&&!this.destroyed?u(...A):this.once("finish",()=>{u(...A)})};o.once("response",a((u,A,p)=>{let h=new Jnt(this.socket,o.readableHighWaterMark);this.res=h,h.req=this,h.statusCode=u[tae],h.headers=u,h.rawHeaders=p,h.once("end",()=>{this.aborted?(h.aborted=!0,h.emit("aborted")):(h.complete=!0,h.socket=null,h.connection=null)}),t?(h.upgrade=!0,this.emit("connect",h,o,Buffer.alloc(0))?this.emit("close"):o.destroy()):(o.on("data",w=>{!h._dumped&&!h.push(w)&&o.pause()}),o.once("end",()=>{h.push(null)}),this.emit("response",h)||h._dump())})),o.once("headers",a(u=>this.emit("information",{statusCode:u[tae]}))),o.once("trailers",a((u,A,p)=>{let{res:h}=this;h.trailers=u,h.rawTrailers=p}));let{socket:n}=o.session;this.socket=n,this.connection=n;for(let u of this[A1])u();this.emit("socket",this.socket)};if(this[$M])try{r(this[$M].request(this[ko]))}catch(o){this.emit("error",o)}else{this.reusedSocket=!0;try{r(await this.agent.request(this[ZM],this[iae],this[ko]))}catch(o){this.emit("error",o)}}}getHeader(t){if(typeof t!="string")throw new XM("name","string",t);return this[ko][t.toLowerCase()]}get headersSent(){return this[ex]}removeHeader(t){if(typeof t!="string")throw new XM("name","string",t);if(this.headersSent)throw new eae("remove");delete this[ko][t.toLowerCase()]}setHeader(t,r){if(this.headersSent)throw new eae("set");if(typeof t!="string"||!nit.test(t)&&!Xnt(t))throw new $nt("Header name",t);if(typeof r>"u")throw new eit(r,t);if(iit.test(r))throw new tit("header content",t);this[ko][t.toLowerCase()]=r}setNoDelay(){}setSocketKeepAlive(){}setTimeout(t,r){let o=()=>this._request.setTimeout(t,r);return this._request?o():this[A1].push(o),this}get maxHeadersCount(){if(!this.destroyed&&this._request)return this._request.session.localSettings.maxHeaderListSize}set maxHeadersCount(t){}};sae.exports=e4});var aae=_((wLt,oae)=>{"use strict";var sit=Ie("tls");oae.exports=(e={})=>new Promise((t,r)=>{let o=sit.connect(e,()=>{e.resolveSocket?(o.off("error",r),t({alpnProtocol:o.alpnProtocol,socket:o})):(o.destroy(),t({alpnProtocol:o.alpnProtocol}))});o.on("error",r)})});var cae=_((CLt,lae)=>{"use strict";var oit=Ie("net");lae.exports=e=>{let t=e.host,r=e.headers&&e.headers.host;return r&&(r.startsWith("[")?r.indexOf("]")===-1?t=r:t=r.slice(1,-1):t=r.split(":",1)[0]),oit.isIP(t)?"":t}});var fae=_((ILt,n4)=>{"use strict";var uae=Ie("http"),r4=Ie("https"),ait=aae(),lit=YM(),cit=t4(),uit=cae(),Ait=zM(),tx=new lit({maxSize:100}),f1=new Map,Aae=(e,t,r)=>{t._httpMessage={shouldKeepAlive:!0};let o=()=>{e.emit("free",t,r)};t.on("free",o);let a=()=>{e.removeSocket(t,r)};t.on("close",a);let n=()=>{e.removeSocket(t,r),t.off("close",a),t.off("free",o),t.off("agentRemove",n)};t.on("agentRemove",n),e.emit("free",t,r)},fit=async e=>{let t=`${e.host}:${e.port}:${e.ALPNProtocols.sort()}`;if(!tx.has(t)){if(f1.has(t))return(await f1.get(t)).alpnProtocol;let{path:r,agent:o}=e;e.path=e.socketPath;let a=ait(e);f1.set(t,a);try{let{socket:n,alpnProtocol:u}=await a;if(tx.set(t,u),e.path=r,u==="h2")n.destroy();else{let{globalAgent:A}=r4,p=r4.Agent.prototype.createConnection;o?o.createConnection===p?Aae(o,n,e):n.destroy():A.createConnection===p?Aae(A,n,e):n.destroy()}return f1.delete(t),u}catch(n){throw f1.delete(t),n}}return tx.get(t)};n4.exports=async(e,t,r)=>{if((typeof e=="string"||e instanceof URL)&&(e=Ait(new URL(e))),typeof t=="function"&&(r=t,t=void 0),t={ALPNProtocols:["h2","http/1.1"],...e,...t,resolveSocket:!0},!Array.isArray(t.ALPNProtocols)||t.ALPNProtocols.length===0)throw new Error("The `ALPNProtocols` option must be an Array with at least one entry");t.protocol=t.protocol||"https:";let o=t.protocol==="https:";t.host=t.hostname||t.host||"localhost",t.session=t.tlsSession,t.servername=t.servername||uit(t),t.port=t.port||(o?443:80),t._defaultAgent=o?r4.globalAgent:uae.globalAgent;let a=t.agent;if(a){if(a.addRequest)throw new Error("The `options.agent` object can contain only `http`, `https` or `http2` properties");t.agent=a[o?"https":"http"]}return o&&await fit(t)==="h2"?(a&&(t.agent=a.http2),new cit(t,r)):uae.request(t,r)};n4.exports.protocolCache=tx});var hae=_((BLt,pae)=>{"use strict";var pit=Ie("http2"),hit=KM(),i4=t4(),git=VM(),dit=fae(),mit=(e,t,r)=>new i4(e,t,r),yit=(e,t,r)=>{let o=new i4(e,t,r);return o.end(),o};pae.exports={...pit,ClientRequest:i4,IncomingMessage:git,...hit,request:mit,get:yit,auto:dit}});var o4=_(s4=>{"use strict";Object.defineProperty(s4,"__esModule",{value:!0});var gae=Rf();s4.default=e=>gae.default.nodeStream(e)&&gae.default.function_(e.getBoundary)});var Eae=_(a4=>{"use strict";Object.defineProperty(a4,"__esModule",{value:!0});var mae=Ie("fs"),yae=Ie("util"),dae=Rf(),Eit=o4(),wit=yae.promisify(mae.stat);a4.default=async(e,t)=>{if(t&&"content-length"in t)return Number(t["content-length"]);if(!e)return 0;if(dae.default.string(e))return Buffer.byteLength(e);if(dae.default.buffer(e))return e.length;if(Eit.default(e))return yae.promisify(e.getLength.bind(e))();if(e instanceof mae.ReadStream){let{size:r}=await wit(e.path);return r===0?void 0:r}}});var c4=_(l4=>{"use strict";Object.defineProperty(l4,"__esModule",{value:!0});function Cit(e,t,r){let o={};for(let a of r)o[a]=(...n)=>{t.emit(a,...n)},e.on(a,o[a]);return()=>{for(let a of r)e.off(a,o[a])}}l4.default=Cit});var wae=_(u4=>{"use strict";Object.defineProperty(u4,"__esModule",{value:!0});u4.default=()=>{let e=[];return{once(t,r,o){t.once(r,o),e.push({origin:t,event:r,fn:o})},unhandleAll(){for(let t of e){let{origin:r,event:o,fn:a}=t;r.removeListener(o,a)}e.length=0}}}});var Iae=_(p1=>{"use strict";Object.defineProperty(p1,"__esModule",{value:!0});p1.TimeoutError=void 0;var Iit=Ie("net"),Bit=wae(),Cae=Symbol("reentry"),vit=()=>{},rx=class extends Error{constructor(t,r){super(`Timeout awaiting '${r}' for ${t}ms`),this.event=r,this.name="TimeoutError",this.code="ETIMEDOUT"}};p1.TimeoutError=rx;p1.default=(e,t,r)=>{if(Cae in e)return vit;e[Cae]=!0;let o=[],{once:a,unhandleAll:n}=Bit.default(),u=(I,v,b)=>{var E;let R=setTimeout(v,I,I,b);(E=R.unref)===null||E===void 0||E.call(R);let N=()=>{clearTimeout(R)};return o.push(N),N},{host:A,hostname:p}=r,h=(I,v)=>{e.destroy(new rx(I,v))},w=()=>{for(let I of o)I();n()};if(e.once("error",I=>{if(w(),e.listenerCount("error")===0)throw I}),e.once("close",w),a(e,"response",I=>{a(I,"end",w)}),typeof t.request<"u"&&u(t.request,h,"request"),typeof t.socket<"u"){let I=()=>{h(t.socket,"socket")};e.setTimeout(t.socket,I),o.push(()=>{e.removeListener("timeout",I)})}return a(e,"socket",I=>{var v;let{socketPath:b}=e;if(I.connecting){let E=Boolean(b??Iit.isIP((v=p??A)!==null&&v!==void 0?v:"")!==0);if(typeof t.lookup<"u"&&!E&&typeof I.address().address>"u"){let R=u(t.lookup,h,"lookup");a(I,"lookup",R)}if(typeof t.connect<"u"){let R=()=>u(t.connect,h,"connect");E?a(I,"connect",R()):a(I,"lookup",N=>{N===null&&a(I,"connect",R())})}typeof t.secureConnect<"u"&&r.protocol==="https:"&&a(I,"connect",()=>{let R=u(t.secureConnect,h,"secureConnect");a(I,"secureConnect",R)})}if(typeof t.send<"u"){let E=()=>u(t.send,h,"send");I.connecting?a(I,"connect",()=>{a(e,"upload-complete",E())}):a(e,"upload-complete",E())}}),typeof t.response<"u"&&a(e,"upload-complete",()=>{let I=u(t.response,h,"response");a(e,"response",I)}),w}});var vae=_(A4=>{"use strict";Object.defineProperty(A4,"__esModule",{value:!0});var Bae=Rf();A4.default=e=>{e=e;let t={protocol:e.protocol,hostname:Bae.default.string(e.hostname)&&e.hostname.startsWith("[")?e.hostname.slice(1,-1):e.hostname,host:e.host,hash:e.hash,search:e.search,pathname:e.pathname,href:e.href,path:`${e.pathname||""}${e.search||""}`};return Bae.default.string(e.port)&&e.port.length>0&&(t.port=Number(e.port)),(e.username||e.password)&&(t.auth=`${e.username||""}:${e.password||""}`),t}});var Dae=_(f4=>{"use strict";Object.defineProperty(f4,"__esModule",{value:!0});var Dit=Ie("url"),Sit=["protocol","host","hostname","port","pathname","search"];f4.default=(e,t)=>{var r,o;if(t.path){if(t.pathname)throw new TypeError("Parameters `path` and `pathname` are mutually exclusive.");if(t.search)throw new TypeError("Parameters `path` and `search` are mutually exclusive.");if(t.searchParams)throw new TypeError("Parameters `path` and `searchParams` are mutually exclusive.")}if(t.search&&t.searchParams)throw new TypeError("Parameters `search` and `searchParams` are mutually exclusive.");if(!e){if(!t.protocol)throw new TypeError("No URL protocol specified");e=`${t.protocol}//${(o=(r=t.hostname)!==null&&r!==void 0?r:t.host)!==null&&o!==void 0?o:""}`}let a=new Dit.URL(e);if(t.path){let n=t.path.indexOf("?");n===-1?t.pathname=t.path:(t.pathname=t.path.slice(0,n),t.search=t.path.slice(n+1)),delete t.path}for(let n of Sit)t[n]&&(a[n]=t[n].toString());return a}});var Sae=_(h4=>{"use strict";Object.defineProperty(h4,"__esModule",{value:!0});var p4=class{constructor(){this.weakMap=new WeakMap,this.map=new Map}set(t,r){typeof t=="object"?this.weakMap.set(t,r):this.map.set(t,r)}get(t){return typeof t=="object"?this.weakMap.get(t):this.map.get(t)}has(t){return typeof t=="object"?this.weakMap.has(t):this.map.has(t)}};h4.default=p4});var d4=_(g4=>{"use strict";Object.defineProperty(g4,"__esModule",{value:!0});var Pit=async e=>{let t=[],r=0;for await(let o of e)t.push(o),r+=Buffer.byteLength(o);return Buffer.isBuffer(t[0])?Buffer.concat(t,r):Buffer.from(t.join(""))};g4.default=Pit});var xae=_(Sd=>{"use strict";Object.defineProperty(Sd,"__esModule",{value:!0});Sd.dnsLookupIpVersionToFamily=Sd.isDnsLookupIpVersion=void 0;var Pae={auto:0,ipv4:4,ipv6:6};Sd.isDnsLookupIpVersion=e=>e in Pae;Sd.dnsLookupIpVersionToFamily=e=>{if(Sd.isDnsLookupIpVersion(e))return Pae[e];throw new Error("Invalid DNS lookup IP version")}});var m4=_(nx=>{"use strict";Object.defineProperty(nx,"__esModule",{value:!0});nx.isResponseOk=void 0;nx.isResponseOk=e=>{let{statusCode:t}=e,r=e.request.options.followRedirect?299:399;return t>=200&&t<=r||t===304}});var Qae=_(y4=>{"use strict";Object.defineProperty(y4,"__esModule",{value:!0});var bae=new Set;y4.default=e=>{bae.has(e)||(bae.add(e),process.emitWarning(`Got: ${e}`,{type:"DeprecationWarning"}))}});var kae=_(E4=>{"use strict";Object.defineProperty(E4,"__esModule",{value:!0});var ui=Rf(),xit=(e,t)=>{if(ui.default.null_(e.encoding))throw new TypeError("To get a Buffer, set `options.responseType` to `buffer` instead");ui.assert.any([ui.default.string,ui.default.undefined],e.encoding),ui.assert.any([ui.default.boolean,ui.default.undefined],e.resolveBodyOnly),ui.assert.any([ui.default.boolean,ui.default.undefined],e.methodRewriting),ui.assert.any([ui.default.boolean,ui.default.undefined],e.isStream),ui.assert.any([ui.default.string,ui.default.undefined],e.responseType),e.responseType===void 0&&(e.responseType="text");let{retry:r}=e;if(t?e.retry={...t.retry}:e.retry={calculateDelay:o=>o.computedValue,limit:0,methods:[],statusCodes:[],errorCodes:[],maxRetryAfter:void 0},ui.default.object(r)?(e.retry={...e.retry,...r},e.retry.methods=[...new Set(e.retry.methods.map(o=>o.toUpperCase()))],e.retry.statusCodes=[...new Set(e.retry.statusCodes)],e.retry.errorCodes=[...new Set(e.retry.errorCodes)]):ui.default.number(r)&&(e.retry.limit=r),ui.default.undefined(e.retry.maxRetryAfter)&&(e.retry.maxRetryAfter=Math.min(...[e.timeout.request,e.timeout.connect].filter(ui.default.number))),ui.default.object(e.pagination)){t&&(e.pagination={...t.pagination,...e.pagination});let{pagination:o}=e;if(!ui.default.function_(o.transform))throw new Error("`options.pagination.transform` must be implemented");if(!ui.default.function_(o.shouldContinue))throw new Error("`options.pagination.shouldContinue` must be implemented");if(!ui.default.function_(o.filter))throw new TypeError("`options.pagination.filter` must be implemented");if(!ui.default.function_(o.paginate))throw new Error("`options.pagination.paginate` must be implemented")}return e.responseType==="json"&&e.headers.accept===void 0&&(e.headers.accept="application/json"),e};E4.default=xit});var Fae=_(h1=>{"use strict";Object.defineProperty(h1,"__esModule",{value:!0});h1.retryAfterStatusCodes=void 0;h1.retryAfterStatusCodes=new Set([413,429,503]);var bit=({attemptCount:e,retryOptions:t,error:r,retryAfter:o})=>{if(e>t.limit)return 0;let a=t.methods.includes(r.options.method),n=t.errorCodes.includes(r.code),u=r.response&&t.statusCodes.includes(r.response.statusCode);if(!a||!n&&!u)return 0;if(r.response){if(o)return t.maxRetryAfter===void 0||o>t.maxRetryAfter?0:o;if(r.response.statusCode===413)return 0}let A=Math.random()*100;return 2**(e-1)*1e3+A};h1.default=bit});var m1=_(In=>{"use strict";Object.defineProperty(In,"__esModule",{value:!0});In.UnsupportedProtocolError=In.ReadError=In.TimeoutError=In.UploadError=In.CacheError=In.HTTPError=In.MaxRedirectsError=In.RequestError=In.setNonEnumerableProperties=In.knownHookEvents=In.withoutBody=In.kIsNormalizedAlready=void 0;var Rae=Ie("util"),Tae=Ie("stream"),Qit=Ie("fs"),oh=Ie("url"),Nae=Ie("http"),w4=Ie("http"),kit=Ie("https"),Fit=zse(),Rit=noe(),Lae=Noe(),Tit=Uoe(),Nit=hae(),Lit=ZP(),st=Rf(),Oit=Eae(),Oae=o4(),Mit=c4(),Mae=Iae(),Uit=vae(),Uae=Dae(),_it=Sae(),Hit=d4(),_ae=xae(),jit=m4(),ah=Qae(),qit=kae(),Git=Fae(),C4,$s=Symbol("request"),ox=Symbol("response"),SE=Symbol("responseSize"),PE=Symbol("downloadedSize"),xE=Symbol("bodySize"),bE=Symbol("uploadedSize"),ix=Symbol("serverResponsesPiped"),Hae=Symbol("unproxyEvents"),jae=Symbol("isFromCache"),I4=Symbol("cancelTimeouts"),qae=Symbol("startedReading"),QE=Symbol("stopReading"),sx=Symbol("triggerRead"),lh=Symbol("body"),g1=Symbol("jobs"),Gae=Symbol("originalResponse"),Yae=Symbol("retryTimeout");In.kIsNormalizedAlready=Symbol("isNormalizedAlready");var Yit=st.default.string(process.versions.brotli);In.withoutBody=new Set(["GET","HEAD"]);In.knownHookEvents=["init","beforeRequest","beforeRedirect","beforeError","beforeRetry","afterResponse"];function Wit(e){for(let t in e){let r=e[t];if(!st.default.string(r)&&!st.default.number(r)&&!st.default.boolean(r)&&!st.default.null_(r)&&!st.default.undefined(r))throw new TypeError(`The \`searchParams\` value '${String(r)}' must be a string, number, boolean or null`)}}function Kit(e){return st.default.object(e)&&!("statusCode"in e)}var B4=new _it.default,Jit=async e=>new Promise((t,r)=>{let o=a=>{r(a)};e.pending||t(),e.once("error",o),e.once("ready",()=>{e.off("error",o),t()})}),Vit=new Set([300,301,302,303,304,307,308]),zit=["context","body","json","form"];In.setNonEnumerableProperties=(e,t)=>{let r={};for(let o of e)if(!!o)for(let a of zit)a in o&&(r[a]={writable:!0,configurable:!0,enumerable:!1,value:o[a]});Object.defineProperties(t,r)};var Vi=class extends Error{constructor(t,r,o){var a;if(super(t),Error.captureStackTrace(this,this.constructor),this.name="RequestError",this.code=r.code,o instanceof px?(Object.defineProperty(this,"request",{enumerable:!1,value:o}),Object.defineProperty(this,"response",{enumerable:!1,value:o[ox]}),Object.defineProperty(this,"options",{enumerable:!1,value:o.options})):Object.defineProperty(this,"options",{enumerable:!1,value:o}),this.timings=(a=this.request)===null||a===void 0?void 0:a.timings,st.default.string(r.stack)&&st.default.string(this.stack)){let n=this.stack.indexOf(this.message)+this.message.length,u=this.stack.slice(n).split(` -`).reverse(),A=r.stack.slice(r.stack.indexOf(r.message)+r.message.length).split(` -`).reverse();for(;A.length!==0&&A[0]===u[0];)u.shift();this.stack=`${this.stack.slice(0,n)}${u.reverse().join(` -`)}${A.reverse().join(` -`)}`}}};In.RequestError=Vi;var ax=class extends Vi{constructor(t){super(`Redirected ${t.options.maxRedirects} times. Aborting.`,{},t),this.name="MaxRedirectsError"}};In.MaxRedirectsError=ax;var lx=class extends Vi{constructor(t){super(`Response code ${t.statusCode} (${t.statusMessage})`,{},t.request),this.name="HTTPError"}};In.HTTPError=lx;var cx=class extends Vi{constructor(t,r){super(t.message,t,r),this.name="CacheError"}};In.CacheError=cx;var ux=class extends Vi{constructor(t,r){super(t.message,t,r),this.name="UploadError"}};In.UploadError=ux;var Ax=class extends Vi{constructor(t,r,o){super(t.message,t,o),this.name="TimeoutError",this.event=t.event,this.timings=r}};In.TimeoutError=Ax;var d1=class extends Vi{constructor(t,r){super(t.message,t,r),this.name="ReadError"}};In.ReadError=d1;var fx=class extends Vi{constructor(t){super(`Unsupported protocol "${t.url.protocol}"`,{},t),this.name="UnsupportedProtocolError"}};In.UnsupportedProtocolError=fx;var Xit=["socket","connect","continue","information","upgrade","timeout"],px=class extends Tae.Duplex{constructor(t,r={},o){super({autoDestroy:!1,highWaterMark:0}),this[PE]=0,this[bE]=0,this.requestInitialized=!1,this[ix]=new Set,this.redirects=[],this[QE]=!1,this[sx]=!1,this[g1]=[],this.retryCount=0,this._progressCallbacks=[];let a=()=>this._unlockWrite(),n=()=>this._lockWrite();this.on("pipe",h=>{h.prependListener("data",a),h.on("data",n),h.prependListener("end",a),h.on("end",n)}),this.on("unpipe",h=>{h.off("data",a),h.off("data",n),h.off("end",a),h.off("end",n)}),this.on("pipe",h=>{h instanceof w4.IncomingMessage&&(this.options.headers={...h.headers,...this.options.headers})});let{json:u,body:A,form:p}=r;if((u||A||p)&&this._lockWrite(),In.kIsNormalizedAlready in r)this.options=r;else try{this.options=this.constructor.normalizeArguments(t,r,o)}catch(h){st.default.nodeStream(r.body)&&r.body.destroy(),this.destroy(h);return}(async()=>{var h;try{this.options.body instanceof Qit.ReadStream&&await Jit(this.options.body);let{url:w}=this.options;if(!w)throw new TypeError("Missing `url` property");if(this.requestUrl=w.toString(),decodeURI(this.requestUrl),await this._finalizeBody(),await this._makeRequest(),this.destroyed){(h=this[$s])===null||h===void 0||h.destroy();return}for(let I of this[g1])I();this[g1].length=0,this.requestInitialized=!0}catch(w){if(w instanceof Vi){this._beforeError(w);return}this.destroyed||this.destroy(w)}})()}static normalizeArguments(t,r,o){var a,n,u,A,p;let h=r;if(st.default.object(t)&&!st.default.urlInstance(t))r={...o,...t,...r};else{if(t&&r&&r.url!==void 0)throw new TypeError("The `url` option is mutually exclusive with the `input` argument");r={...o,...r},t!==void 0&&(r.url=t),st.default.urlInstance(r.url)&&(r.url=new oh.URL(r.url.toString()))}if(r.cache===!1&&(r.cache=void 0),r.dnsCache===!1&&(r.dnsCache=void 0),st.assert.any([st.default.string,st.default.undefined],r.method),st.assert.any([st.default.object,st.default.undefined],r.headers),st.assert.any([st.default.string,st.default.urlInstance,st.default.undefined],r.prefixUrl),st.assert.any([st.default.object,st.default.undefined],r.cookieJar),st.assert.any([st.default.object,st.default.string,st.default.undefined],r.searchParams),st.assert.any([st.default.object,st.default.string,st.default.undefined],r.cache),st.assert.any([st.default.object,st.default.number,st.default.undefined],r.timeout),st.assert.any([st.default.object,st.default.undefined],r.context),st.assert.any([st.default.object,st.default.undefined],r.hooks),st.assert.any([st.default.boolean,st.default.undefined],r.decompress),st.assert.any([st.default.boolean,st.default.undefined],r.ignoreInvalidCookies),st.assert.any([st.default.boolean,st.default.undefined],r.followRedirect),st.assert.any([st.default.number,st.default.undefined],r.maxRedirects),st.assert.any([st.default.boolean,st.default.undefined],r.throwHttpErrors),st.assert.any([st.default.boolean,st.default.undefined],r.http2),st.assert.any([st.default.boolean,st.default.undefined],r.allowGetBody),st.assert.any([st.default.string,st.default.undefined],r.localAddress),st.assert.any([_ae.isDnsLookupIpVersion,st.default.undefined],r.dnsLookupIpVersion),st.assert.any([st.default.object,st.default.undefined],r.https),st.assert.any([st.default.boolean,st.default.undefined],r.rejectUnauthorized),r.https&&(st.assert.any([st.default.boolean,st.default.undefined],r.https.rejectUnauthorized),st.assert.any([st.default.function_,st.default.undefined],r.https.checkServerIdentity),st.assert.any([st.default.string,st.default.object,st.default.array,st.default.undefined],r.https.certificateAuthority),st.assert.any([st.default.string,st.default.object,st.default.array,st.default.undefined],r.https.key),st.assert.any([st.default.string,st.default.object,st.default.array,st.default.undefined],r.https.certificate),st.assert.any([st.default.string,st.default.undefined],r.https.passphrase),st.assert.any([st.default.string,st.default.buffer,st.default.array,st.default.undefined],r.https.pfx)),st.assert.any([st.default.object,st.default.undefined],r.cacheOptions),st.default.string(r.method)?r.method=r.method.toUpperCase():r.method="GET",r.headers===o?.headers?r.headers={...r.headers}:r.headers=Lit({...o?.headers,...r.headers}),"slashes"in r)throw new TypeError("The legacy `url.Url` has been deprecated. Use `URL` instead.");if("auth"in r)throw new TypeError("Parameter `auth` is deprecated. Use `username` / `password` instead.");if("searchParams"in r&&r.searchParams&&r.searchParams!==o?.searchParams){let b;if(st.default.string(r.searchParams)||r.searchParams instanceof oh.URLSearchParams)b=new oh.URLSearchParams(r.searchParams);else{Wit(r.searchParams),b=new oh.URLSearchParams;for(let E in r.searchParams){let R=r.searchParams[E];R===null?b.append(E,""):R!==void 0&&b.append(E,R)}}(a=o?.searchParams)===null||a===void 0||a.forEach((E,R)=>{b.has(R)||b.append(R,E)}),r.searchParams=b}if(r.username=(n=r.username)!==null&&n!==void 0?n:"",r.password=(u=r.password)!==null&&u!==void 0?u:"",st.default.undefined(r.prefixUrl)?r.prefixUrl=(A=o?.prefixUrl)!==null&&A!==void 0?A:"":(r.prefixUrl=r.prefixUrl.toString(),r.prefixUrl!==""&&!r.prefixUrl.endsWith("/")&&(r.prefixUrl+="/")),st.default.string(r.url)){if(r.url.startsWith("/"))throw new Error("`input` must not start with a slash when using `prefixUrl`");r.url=Uae.default(r.prefixUrl+r.url,r)}else(st.default.undefined(r.url)&&r.prefixUrl!==""||r.protocol)&&(r.url=Uae.default(r.prefixUrl,r));if(r.url){"port"in r&&delete r.port;let{prefixUrl:b}=r;Object.defineProperty(r,"prefixUrl",{set:R=>{let N=r.url;if(!N.href.startsWith(R))throw new Error(`Cannot change \`prefixUrl\` from ${b} to ${R}: ${N.href}`);r.url=new oh.URL(R+N.href.slice(b.length)),b=R},get:()=>b});let{protocol:E}=r.url;if(E==="unix:"&&(E="http:",r.url=new oh.URL(`http://unix${r.url.pathname}${r.url.search}`)),r.searchParams&&(r.url.search=r.searchParams.toString()),E!=="http:"&&E!=="https:")throw new fx(r);r.username===""?r.username=r.url.username:r.url.username=r.username,r.password===""?r.password=r.url.password:r.url.password=r.password}let{cookieJar:w}=r;if(w){let{setCookie:b,getCookieString:E}=w;st.assert.function_(b),st.assert.function_(E),b.length===4&&E.length===0&&(b=Rae.promisify(b.bind(r.cookieJar)),E=Rae.promisify(E.bind(r.cookieJar)),r.cookieJar={setCookie:b,getCookieString:E})}let{cache:I}=r;if(I&&(B4.has(I)||B4.set(I,new Lae((b,E)=>{let R=b[$s](b,E);return st.default.promise(R)&&(R.once=(N,U)=>{if(N==="error")R.catch(U);else if(N==="abort")(async()=>{try{(await R).once("abort",U)}catch{}})();else throw new Error(`Unknown HTTP2 promise event: ${N}`);return R}),R},I))),r.cacheOptions={...r.cacheOptions},r.dnsCache===!0)C4||(C4=new Rit.default),r.dnsCache=C4;else if(!st.default.undefined(r.dnsCache)&&!r.dnsCache.lookup)throw new TypeError(`Parameter \`dnsCache\` must be a CacheableLookup instance or a boolean, got ${st.default(r.dnsCache)}`);st.default.number(r.timeout)?r.timeout={request:r.timeout}:o&&r.timeout!==o.timeout?r.timeout={...o.timeout,...r.timeout}:r.timeout={...r.timeout},r.context||(r.context={});let v=r.hooks===o?.hooks;r.hooks={...r.hooks};for(let b of In.knownHookEvents)if(b in r.hooks)if(st.default.array(r.hooks[b]))r.hooks[b]=[...r.hooks[b]];else throw new TypeError(`Parameter \`${b}\` must be an Array, got ${st.default(r.hooks[b])}`);else r.hooks[b]=[];if(o&&!v)for(let b of In.knownHookEvents)o.hooks[b].length>0&&(r.hooks[b]=[...o.hooks[b],...r.hooks[b]]);if("family"in r&&ah.default('"options.family" was never documented, please use "options.dnsLookupIpVersion"'),o?.https&&(r.https={...o.https,...r.https}),"rejectUnauthorized"in r&&ah.default('"options.rejectUnauthorized" is now deprecated, please use "options.https.rejectUnauthorized"'),"checkServerIdentity"in r&&ah.default('"options.checkServerIdentity" was never documented, please use "options.https.checkServerIdentity"'),"ca"in r&&ah.default('"options.ca" was never documented, please use "options.https.certificateAuthority"'),"key"in r&&ah.default('"options.key" was never documented, please use "options.https.key"'),"cert"in r&&ah.default('"options.cert" was never documented, please use "options.https.certificate"'),"passphrase"in r&&ah.default('"options.passphrase" was never documented, please use "options.https.passphrase"'),"pfx"in r&&ah.default('"options.pfx" was never documented, please use "options.https.pfx"'),"followRedirects"in r)throw new TypeError("The `followRedirects` option does not exist. Use `followRedirect` instead.");if(r.agent){for(let b in r.agent)if(b!=="http"&&b!=="https"&&b!=="http2")throw new TypeError(`Expected the \`options.agent\` properties to be \`http\`, \`https\` or \`http2\`, got \`${b}\``)}return r.maxRedirects=(p=r.maxRedirects)!==null&&p!==void 0?p:0,In.setNonEnumerableProperties([o,h],r),qit.default(r,o)}_lockWrite(){let t=()=>{throw new TypeError("The payload has been already provided")};this.write=t,this.end=t}_unlockWrite(){this.write=super.write,this.end=super.end}async _finalizeBody(){let{options:t}=this,{headers:r}=t,o=!st.default.undefined(t.form),a=!st.default.undefined(t.json),n=!st.default.undefined(t.body),u=o||a||n,A=In.withoutBody.has(t.method)&&!(t.method==="GET"&&t.allowGetBody);if(this._cannotHaveBody=A,u){if(A)throw new TypeError(`The \`${t.method}\` method cannot be used with a body`);if([n,o,a].filter(p=>p).length>1)throw new TypeError("The `body`, `json` and `form` options are mutually exclusive");if(n&&!(t.body instanceof Tae.Readable)&&!st.default.string(t.body)&&!st.default.buffer(t.body)&&!Oae.default(t.body))throw new TypeError("The `body` option must be a stream.Readable, string or Buffer");if(o&&!st.default.object(t.form))throw new TypeError("The `form` option must be an Object");{let p=!st.default.string(r["content-type"]);n?(Oae.default(t.body)&&p&&(r["content-type"]=`multipart/form-data; boundary=${t.body.getBoundary()}`),this[lh]=t.body):o?(p&&(r["content-type"]="application/x-www-form-urlencoded"),this[lh]=new oh.URLSearchParams(t.form).toString()):(p&&(r["content-type"]="application/json"),this[lh]=t.stringifyJson(t.json));let h=await Oit.default(this[lh],t.headers);st.default.undefined(r["content-length"])&&st.default.undefined(r["transfer-encoding"])&&!A&&!st.default.undefined(h)&&(r["content-length"]=String(h))}}else A?this._lockWrite():this._unlockWrite();this[xE]=Number(r["content-length"])||void 0}async _onResponseBase(t){let{options:r}=this,{url:o}=r;this[Gae]=t,r.decompress&&(t=Tit(t));let a=t.statusCode,n=t;n.statusMessage=n.statusMessage?n.statusMessage:Nae.STATUS_CODES[a],n.url=r.url.toString(),n.requestUrl=this.requestUrl,n.redirectUrls=this.redirects,n.request=this,n.isFromCache=t.fromCache||!1,n.ip=this.ip,n.retryCount=this.retryCount,this[jae]=n.isFromCache,this[SE]=Number(t.headers["content-length"])||void 0,this[ox]=t,t.once("end",()=>{this[SE]=this[PE],this.emit("downloadProgress",this.downloadProgress)}),t.once("error",A=>{t.destroy(),this._beforeError(new d1(A,this))}),t.once("aborted",()=>{this._beforeError(new d1({name:"Error",message:"The server aborted pending request",code:"ECONNRESET"},this))}),this.emit("downloadProgress",this.downloadProgress);let u=t.headers["set-cookie"];if(st.default.object(r.cookieJar)&&u){let A=u.map(async p=>r.cookieJar.setCookie(p,o.toString()));r.ignoreInvalidCookies&&(A=A.map(async p=>p.catch(()=>{})));try{await Promise.all(A)}catch(p){this._beforeError(p);return}}if(r.followRedirect&&t.headers.location&&Vit.has(a)){if(t.resume(),this[$s]&&(this[I4](),delete this[$s],this[Hae]()),(a===303&&r.method!=="GET"&&r.method!=="HEAD"||!r.methodRewriting)&&(r.method="GET","body"in r&&delete r.body,"json"in r&&delete r.json,"form"in r&&delete r.form,this[lh]=void 0,delete r.headers["content-length"]),this.redirects.length>=r.maxRedirects){this._beforeError(new ax(this));return}try{let p=Buffer.from(t.headers.location,"binary").toString(),h=new oh.URL(p,o),w=h.toString();decodeURI(w),h.hostname!==o.hostname||h.port!==o.port?("host"in r.headers&&delete r.headers.host,"cookie"in r.headers&&delete r.headers.cookie,"authorization"in r.headers&&delete r.headers.authorization,(r.username||r.password)&&(r.username="",r.password="")):(h.username=r.username,h.password=r.password),this.redirects.push(w),r.url=h;for(let I of r.hooks.beforeRedirect)await I(r,n);this.emit("redirect",n,r),await this._makeRequest()}catch(p){this._beforeError(p);return}return}if(r.isStream&&r.throwHttpErrors&&!jit.isResponseOk(n)){this._beforeError(new lx(n));return}t.on("readable",()=>{this[sx]&&this._read()}),this.on("resume",()=>{t.resume()}),this.on("pause",()=>{t.pause()}),t.once("end",()=>{this.push(null)}),this.emit("response",t);for(let A of this[ix])if(!A.headersSent){for(let p in t.headers){let h=r.decompress?p!=="content-encoding":!0,w=t.headers[p];h&&A.setHeader(p,w)}A.statusCode=a}}async _onResponse(t){try{await this._onResponseBase(t)}catch(r){this._beforeError(r)}}_onRequest(t){let{options:r}=this,{timeout:o,url:a}=r;Fit.default(t),this[I4]=Mae.default(t,o,a);let n=r.cache?"cacheableResponse":"response";t.once(n,p=>{this._onResponse(p)}),t.once("error",p=>{var h;t.destroy(),(h=t.res)===null||h===void 0||h.removeAllListeners("end"),p=p instanceof Mae.TimeoutError?new Ax(p,this.timings,this):new Vi(p.message,p,this),this._beforeError(p)}),this[Hae]=Mit.default(t,this,Xit),this[$s]=t,this.emit("uploadProgress",this.uploadProgress);let u=this[lh],A=this.redirects.length===0?this:t;st.default.nodeStream(u)?(u.pipe(A),u.once("error",p=>{this._beforeError(new ux(p,this))})):(this._unlockWrite(),st.default.undefined(u)?(this._cannotHaveBody||this._noPipe)&&(A.end(),this._lockWrite()):(this._writeRequest(u,void 0,()=>{}),A.end(),this._lockWrite())),this.emit("request",t)}async _createCacheableRequest(t,r){return new Promise((o,a)=>{Object.assign(r,Uit.default(t)),delete r.url;let n,u=B4.get(r.cache)(r,async A=>{A._readableState.autoDestroy=!1,n&&(await n).emit("cacheableResponse",A),o(A)});r.url=t,u.once("error",a),u.once("request",async A=>{n=A,o(n)})})}async _makeRequest(){var t,r,o,a,n;let{options:u}=this,{headers:A}=u;for(let U in A)if(st.default.undefined(A[U]))delete A[U];else if(st.default.null_(A[U]))throw new TypeError(`Use \`undefined\` instead of \`null\` to delete the \`${U}\` header`);if(u.decompress&&st.default.undefined(A["accept-encoding"])&&(A["accept-encoding"]=Yit?"gzip, deflate, br":"gzip, deflate"),u.cookieJar){let U=await u.cookieJar.getCookieString(u.url.toString());st.default.nonEmptyString(U)&&(u.headers.cookie=U)}for(let U of u.hooks.beforeRequest){let V=await U(u);if(!st.default.undefined(V)){u.request=()=>V;break}}u.body&&this[lh]!==u.body&&(this[lh]=u.body);let{agent:p,request:h,timeout:w,url:I}=u;if(u.dnsCache&&!("lookup"in u)&&(u.lookup=u.dnsCache.lookup),I.hostname==="unix"){let U=/(?<socketPath>.+?):(?<path>.+)/.exec(`${I.pathname}${I.search}`);if(U?.groups){let{socketPath:V,path:ee}=U.groups;Object.assign(u,{socketPath:V,path:ee,host:""})}}let v=I.protocol==="https:",b;u.http2?b=Nit.auto:b=v?kit.request:Nae.request;let E=(t=u.request)!==null&&t!==void 0?t:b,R=u.cache?this._createCacheableRequest:E;p&&!u.http2&&(u.agent=p[v?"https":"http"]),u[$s]=E,delete u.request,delete u.timeout;let N=u;if(N.shared=(r=u.cacheOptions)===null||r===void 0?void 0:r.shared,N.cacheHeuristic=(o=u.cacheOptions)===null||o===void 0?void 0:o.cacheHeuristic,N.immutableMinTimeToLive=(a=u.cacheOptions)===null||a===void 0?void 0:a.immutableMinTimeToLive,N.ignoreCargoCult=(n=u.cacheOptions)===null||n===void 0?void 0:n.ignoreCargoCult,u.dnsLookupIpVersion!==void 0)try{N.family=_ae.dnsLookupIpVersionToFamily(u.dnsLookupIpVersion)}catch{throw new Error("Invalid `dnsLookupIpVersion` option value")}u.https&&("rejectUnauthorized"in u.https&&(N.rejectUnauthorized=u.https.rejectUnauthorized),u.https.checkServerIdentity&&(N.checkServerIdentity=u.https.checkServerIdentity),u.https.certificateAuthority&&(N.ca=u.https.certificateAuthority),u.https.certificate&&(N.cert=u.https.certificate),u.https.key&&(N.key=u.https.key),u.https.passphrase&&(N.passphrase=u.https.passphrase),u.https.pfx&&(N.pfx=u.https.pfx));try{let U=await R(I,N);st.default.undefined(U)&&(U=b(I,N)),u.request=h,u.timeout=w,u.agent=p,u.https&&("rejectUnauthorized"in u.https&&delete N.rejectUnauthorized,u.https.checkServerIdentity&&delete N.checkServerIdentity,u.https.certificateAuthority&&delete N.ca,u.https.certificate&&delete N.cert,u.https.key&&delete N.key,u.https.passphrase&&delete N.passphrase,u.https.pfx&&delete N.pfx),Kit(U)?this._onRequest(U):this.writable?(this.once("finish",()=>{this._onResponse(U)}),this._unlockWrite(),this.end(),this._lockWrite()):this._onResponse(U)}catch(U){throw U instanceof Lae.CacheError?new cx(U,this):new Vi(U.message,U,this)}}async _error(t){try{for(let r of this.options.hooks.beforeError)t=await r(t)}catch(r){t=new Vi(r.message,r,this)}this.destroy(t)}_beforeError(t){if(this[QE])return;let{options:r}=this,o=this.retryCount+1;this[QE]=!0,t instanceof Vi||(t=new Vi(t.message,t,this));let a=t,{response:n}=a;(async()=>{if(n&&!n.body){n.setEncoding(this._readableState.encoding);try{n.rawBody=await Hit.default(n),n.body=n.rawBody.toString()}catch{}}if(this.listenerCount("retry")!==0){let u;try{let A;n&&"retry-after"in n.headers&&(A=Number(n.headers["retry-after"]),Number.isNaN(A)?(A=Date.parse(n.headers["retry-after"])-Date.now(),A<=0&&(A=1)):A*=1e3),u=await r.retry.calculateDelay({attemptCount:o,retryOptions:r.retry,error:a,retryAfter:A,computedValue:Git.default({attemptCount:o,retryOptions:r.retry,error:a,retryAfter:A,computedValue:0})})}catch(A){this._error(new Vi(A.message,A,this));return}if(u){let A=async()=>{try{for(let p of this.options.hooks.beforeRetry)await p(this.options,a,o)}catch(p){this._error(new Vi(p.message,t,this));return}this.destroyed||(this.destroy(),this.emit("retry",o,t))};this[Yae]=setTimeout(A,u);return}}this._error(a)})()}_read(){this[sx]=!0;let t=this[ox];if(t&&!this[QE]){t.readableLength&&(this[sx]=!1);let r;for(;(r=t.read())!==null;){this[PE]+=r.length,this[qae]=!0;let o=this.downloadProgress;o.percent<1&&this.emit("downloadProgress",o),this.push(r)}}}_write(t,r,o){let a=()=>{this._writeRequest(t,r,o)};this.requestInitialized?a():this[g1].push(a)}_writeRequest(t,r,o){this[$s].destroyed||(this._progressCallbacks.push(()=>{this[bE]+=Buffer.byteLength(t,r);let a=this.uploadProgress;a.percent<1&&this.emit("uploadProgress",a)}),this[$s].write(t,r,a=>{!a&&this._progressCallbacks.length>0&&this._progressCallbacks.shift()(),o(a)}))}_final(t){let r=()=>{for(;this._progressCallbacks.length!==0;)this._progressCallbacks.shift()();if(!($s in this)){t();return}if(this[$s].destroyed){t();return}this[$s].end(o=>{o||(this[xE]=this[bE],this.emit("uploadProgress",this.uploadProgress),this[$s].emit("upload-complete")),t(o)})};this.requestInitialized?r():this[g1].push(r)}_destroy(t,r){var o;this[QE]=!0,clearTimeout(this[Yae]),$s in this&&(this[I4](),!((o=this[ox])===null||o===void 0)&&o.complete||this[$s].destroy()),t!==null&&!st.default.undefined(t)&&!(t instanceof Vi)&&(t=new Vi(t.message,t,this)),r(t)}get _isAboutToError(){return this[QE]}get ip(){var t;return(t=this.socket)===null||t===void 0?void 0:t.remoteAddress}get aborted(){var t,r,o;return((r=(t=this[$s])===null||t===void 0?void 0:t.destroyed)!==null&&r!==void 0?r:this.destroyed)&&!(!((o=this[Gae])===null||o===void 0)&&o.complete)}get socket(){var t,r;return(r=(t=this[$s])===null||t===void 0?void 0:t.socket)!==null&&r!==void 0?r:void 0}get downloadProgress(){let t;return this[SE]?t=this[PE]/this[SE]:this[SE]===this[PE]?t=1:t=0,{percent:t,transferred:this[PE],total:this[SE]}}get uploadProgress(){let t;return this[xE]?t=this[bE]/this[xE]:this[xE]===this[bE]?t=1:t=0,{percent:t,transferred:this[bE],total:this[xE]}}get timings(){var t;return(t=this[$s])===null||t===void 0?void 0:t.timings}get isFromCache(){return this[jae]}pipe(t,r){if(this[qae])throw new Error("Failed to pipe. The response has been emitted already.");return t instanceof w4.ServerResponse&&this[ix].add(t),super.pipe(t,r)}unpipe(t){return t instanceof w4.ServerResponse&&this[ix].delete(t),super.unpipe(t),this}};In.default=px});var y1=_(Gc=>{"use strict";var Zit=Gc&&Gc.__createBinding||(Object.create?function(e,t,r,o){o===void 0&&(o=r),Object.defineProperty(e,o,{enumerable:!0,get:function(){return t[r]}})}:function(e,t,r,o){o===void 0&&(o=r),e[o]=t[r]}),$it=Gc&&Gc.__exportStar||function(e,t){for(var r in e)r!=="default"&&!Object.prototype.hasOwnProperty.call(t,r)&&Zit(t,e,r)};Object.defineProperty(Gc,"__esModule",{value:!0});Gc.CancelError=Gc.ParseError=void 0;var Wae=m1(),v4=class extends Wae.RequestError{constructor(t,r){let{options:o}=r.request;super(`${t.message} in "${o.url.toString()}"`,t,r.request),this.name="ParseError"}};Gc.ParseError=v4;var D4=class extends Wae.RequestError{constructor(t){super("Promise was canceled",{},t),this.name="CancelError"}get isCanceled(){return!0}};Gc.CancelError=D4;$it(m1(),Gc)});var Jae=_(S4=>{"use strict";Object.defineProperty(S4,"__esModule",{value:!0});var Kae=y1(),est=(e,t,r,o)=>{let{rawBody:a}=e;try{if(t==="text")return a.toString(o);if(t==="json")return a.length===0?"":r(a.toString());if(t==="buffer")return a;throw new Kae.ParseError({message:`Unknown body type '${t}'`,name:"Error"},e)}catch(n){throw new Kae.ParseError(n,e)}};S4.default=est});var P4=_(ch=>{"use strict";var tst=ch&&ch.__createBinding||(Object.create?function(e,t,r,o){o===void 0&&(o=r),Object.defineProperty(e,o,{enumerable:!0,get:function(){return t[r]}})}:function(e,t,r,o){o===void 0&&(o=r),e[o]=t[r]}),rst=ch&&ch.__exportStar||function(e,t){for(var r in e)r!=="default"&&!Object.prototype.hasOwnProperty.call(t,r)&&tst(t,e,r)};Object.defineProperty(ch,"__esModule",{value:!0});var nst=Ie("events"),ist=Rf(),sst=Jse(),hx=y1(),Vae=Jae(),zae=m1(),ost=c4(),ast=d4(),Xae=m4(),lst=["request","response","redirect","uploadProgress","downloadProgress"];function Zae(e){let t,r,o=new nst.EventEmitter,a=new sst((u,A,p)=>{let h=w=>{let I=new zae.default(void 0,e);I.retryCount=w,I._noPipe=!0,p(()=>I.destroy()),p.shouldReject=!1,p(()=>A(new hx.CancelError(I))),t=I,I.once("response",async E=>{var R;if(E.retryCount=w,E.request.aborted)return;let N;try{N=await ast.default(I),E.rawBody=N}catch{return}if(I._isAboutToError)return;let U=((R=E.headers["content-encoding"])!==null&&R!==void 0?R:"").toLowerCase(),V=["gzip","deflate","br"].includes(U),{options:ee}=I;if(V&&!ee.decompress)E.body=N;else try{E.body=Vae.default(E,ee.responseType,ee.parseJson,ee.encoding)}catch(le){if(E.body=N.toString(),Xae.isResponseOk(E)){I._beforeError(le);return}}try{for(let[le,fe]of ee.hooks.afterResponse.entries())E=await fe(E,async de=>{let ge=zae.default.normalizeArguments(void 0,{...de,retry:{calculateDelay:()=>0},throwHttpErrors:!1,resolveBodyOnly:!1},ee);ge.hooks.afterResponse=ge.hooks.afterResponse.slice(0,le);for(let Be of ge.hooks.beforeRetry)await Be(ge);let oe=Zae(ge);return p(()=>{oe.catch(()=>{}),oe.cancel()}),oe})}catch(le){I._beforeError(new hx.RequestError(le.message,le,I));return}if(!Xae.isResponseOk(E)){I._beforeError(new hx.HTTPError(E));return}r=E,u(I.options.resolveBodyOnly?E.body:E)});let v=E=>{if(a.isCanceled)return;let{options:R}=I;if(E instanceof hx.HTTPError&&!R.throwHttpErrors){let{response:N}=E;u(I.options.resolveBodyOnly?N.body:N);return}A(E)};I.once("error",v);let b=I.options.body;I.once("retry",(E,R)=>{var N,U;if(b===((N=R.request)===null||N===void 0?void 0:N.options.body)&&ist.default.nodeStream((U=R.request)===null||U===void 0?void 0:U.options.body)){v(R);return}h(E)}),ost.default(I,o,lst)};h(0)});a.on=(u,A)=>(o.on(u,A),a);let n=u=>{let A=(async()=>{await a;let{options:p}=r.request;return Vae.default(r,u,p.parseJson,p.encoding)})();return Object.defineProperties(A,Object.getOwnPropertyDescriptors(a)),A};return a.json=()=>{let{headers:u}=t.options;return!t.writableFinished&&u.accept===void 0&&(u.accept="application/json"),n("json")},a.buffer=()=>n("buffer"),a.text=()=>n("text"),a}ch.default=Zae;rst(y1(),ch)});var $ae=_(x4=>{"use strict";Object.defineProperty(x4,"__esModule",{value:!0});var cst=y1();function ust(e,...t){let r=(async()=>{if(e instanceof cst.RequestError)try{for(let a of t)if(a)for(let n of a)e=await n(e)}catch(a){e=a}throw e})(),o=()=>r;return r.json=o,r.text=o,r.buffer=o,r.on=o,r}x4.default=ust});var rle=_(b4=>{"use strict";Object.defineProperty(b4,"__esModule",{value:!0});var ele=Rf();function tle(e){for(let t of Object.values(e))(ele.default.plainObject(t)||ele.default.array(t))&&tle(t);return Object.freeze(e)}b4.default=tle});var ile=_(nle=>{"use strict";Object.defineProperty(nle,"__esModule",{value:!0})});var Q4=_(Jl=>{"use strict";var Ast=Jl&&Jl.__createBinding||(Object.create?function(e,t,r,o){o===void 0&&(o=r),Object.defineProperty(e,o,{enumerable:!0,get:function(){return t[r]}})}:function(e,t,r,o){o===void 0&&(o=r),e[o]=t[r]}),fst=Jl&&Jl.__exportStar||function(e,t){for(var r in e)r!=="default"&&!Object.prototype.hasOwnProperty.call(t,r)&&Ast(t,e,r)};Object.defineProperty(Jl,"__esModule",{value:!0});Jl.defaultHandler=void 0;var sle=Rf(),Kl=P4(),pst=$ae(),dx=m1(),hst=rle(),gst={RequestError:Kl.RequestError,CacheError:Kl.CacheError,ReadError:Kl.ReadError,HTTPError:Kl.HTTPError,MaxRedirectsError:Kl.MaxRedirectsError,TimeoutError:Kl.TimeoutError,ParseError:Kl.ParseError,CancelError:Kl.CancelError,UnsupportedProtocolError:Kl.UnsupportedProtocolError,UploadError:Kl.UploadError},dst=async e=>new Promise(t=>{setTimeout(t,e)}),{normalizeArguments:gx}=dx.default,ole=(...e)=>{let t;for(let r of e)t=gx(void 0,r,t);return t},mst=e=>e.isStream?new dx.default(void 0,e):Kl.default(e),yst=e=>"defaults"in e&&"options"in e.defaults,Est=["get","post","put","patch","head","delete"];Jl.defaultHandler=(e,t)=>t(e);var ale=(e,t)=>{if(e)for(let r of e)r(t)},lle=e=>{e._rawHandlers=e.handlers,e.handlers=e.handlers.map(o=>(a,n)=>{let u,A=o(a,p=>(u=n(p),u));if(A!==u&&!a.isStream&&u){let p=A,{then:h,catch:w,finally:I}=p;Object.setPrototypeOf(p,Object.getPrototypeOf(u)),Object.defineProperties(p,Object.getOwnPropertyDescriptors(u)),p.then=h,p.catch=w,p.finally=I}return A});let t=(o,a={},n)=>{var u,A;let p=0,h=w=>e.handlers[p++](w,p===e.handlers.length?mst:h);if(sle.default.plainObject(o)){let w={...o,...a};dx.setNonEnumerableProperties([o,a],w),a=w,o=void 0}try{let w;try{ale(e.options.hooks.init,a),ale((u=a.hooks)===null||u===void 0?void 0:u.init,a)}catch(v){w=v}let I=gx(o,a,n??e.options);if(I[dx.kIsNormalizedAlready]=!0,w)throw new Kl.RequestError(w.message,w,I);return h(I)}catch(w){if(a.isStream)throw w;return pst.default(w,e.options.hooks.beforeError,(A=a.hooks)===null||A===void 0?void 0:A.beforeError)}};t.extend=(...o)=>{let a=[e.options],n=[...e._rawHandlers],u;for(let A of o)yst(A)?(a.push(A.defaults.options),n.push(...A.defaults._rawHandlers),u=A.defaults.mutableDefaults):(a.push(A),"handlers"in A&&n.push(...A.handlers),u=A.mutableDefaults);return n=n.filter(A=>A!==Jl.defaultHandler),n.length===0&&n.push(Jl.defaultHandler),lle({options:ole(...a),handlers:n,mutableDefaults:Boolean(u)})};let r=async function*(o,a){let n=gx(o,a,e.options);n.resolveBodyOnly=!1;let u=n.pagination;if(!sle.default.object(u))throw new TypeError("`options.pagination` must be implemented");let A=[],{countLimit:p}=u,h=0;for(;h<u.requestLimit;){h!==0&&await dst(u.backoff);let w=await t(void 0,void 0,n),I=await u.transform(w),v=[];for(let E of I)if(u.filter(E,A,v)&&(!u.shouldContinue(E,A,v)||(yield E,u.stackAllItems&&A.push(E),v.push(E),--p<=0)))return;let b=u.paginate(w,A,v);if(b===!1)return;b===w.request.options?n=w.request.options:b!==void 0&&(n=gx(void 0,b,n)),h++}};t.paginate=r,t.paginate.all=async(o,a)=>{let n=[];for await(let u of r(o,a))n.push(u);return n},t.paginate.each=r,t.stream=(o,a)=>t(o,{...a,isStream:!0});for(let o of Est)t[o]=(a,n)=>t(a,{...n,method:o}),t.stream[o]=(a,n)=>t(a,{...n,method:o,isStream:!0});return Object.assign(t,gst),Object.defineProperty(t,"defaults",{value:e.mutableDefaults?e:hst.default(e),writable:e.mutableDefaults,configurable:e.mutableDefaults,enumerable:!0}),t.mergeOptions=ole,t};Jl.default=lle;fst(ile(),Jl)});var Ale=_((Tf,mx)=>{"use strict";var wst=Tf&&Tf.__createBinding||(Object.create?function(e,t,r,o){o===void 0&&(o=r),Object.defineProperty(e,o,{enumerable:!0,get:function(){return t[r]}})}:function(e,t,r,o){o===void 0&&(o=r),e[o]=t[r]}),cle=Tf&&Tf.__exportStar||function(e,t){for(var r in e)r!=="default"&&!Object.prototype.hasOwnProperty.call(t,r)&&wst(t,e,r)};Object.defineProperty(Tf,"__esModule",{value:!0});var Cst=Ie("url"),ule=Q4(),Ist={options:{method:"GET",retry:{limit:2,methods:["GET","PUT","HEAD","DELETE","OPTIONS","TRACE"],statusCodes:[408,413,429,500,502,503,504,521,522,524],errorCodes:["ETIMEDOUT","ECONNRESET","EADDRINUSE","ECONNREFUSED","EPIPE","ENOTFOUND","ENETUNREACH","EAI_AGAIN"],maxRetryAfter:void 0,calculateDelay:({computedValue:e})=>e},timeout:{},headers:{"user-agent":"got (https://github.com/sindresorhus/got)"},hooks:{init:[],beforeRequest:[],beforeRedirect:[],beforeRetry:[],beforeError:[],afterResponse:[]},cache:void 0,dnsCache:void 0,decompress:!0,throwHttpErrors:!0,followRedirect:!0,isStream:!1,responseType:"text",resolveBodyOnly:!1,maxRedirects:10,prefixUrl:"",methodRewriting:!0,ignoreInvalidCookies:!1,context:{},http2:!1,allowGetBody:!1,https:void 0,pagination:{transform:e=>e.request.options.responseType==="json"?e.body:JSON.parse(e.body),paginate:e=>{if(!Reflect.has(e.headers,"link"))return!1;let t=e.headers.link.split(","),r;for(let o of t){let a=o.split(";");if(a[1].includes("next")){r=a[0].trimStart().trim(),r=r.slice(1,-1);break}}return r?{url:new Cst.URL(r)}:!1},filter:()=>!0,shouldContinue:()=>!0,countLimit:1/0,backoff:0,requestLimit:1e4,stackAllItems:!0},parseJson:e=>JSON.parse(e),stringifyJson:e=>JSON.stringify(e),cacheOptions:{}},handlers:[ule.defaultHandler],mutableDefaults:!1},k4=ule.default(Ist);Tf.default=k4;mx.exports=k4;mx.exports.default=k4;mx.exports.__esModule=!0;cle(Q4(),Tf);cle(P4(),Tf)});var tn={};Jt(tn,{Method:()=>yle,del:()=>Pst,get:()=>N4,getNetworkSettings:()=>mle,post:()=>L4,put:()=>Sst,request:()=>E1});function hle(e){let t=new yx.URL(e),r={host:t.hostname,headers:{}};return t.port&&(r.port=Number(t.port)),t.username&&t.password&&(r.proxyAuth=`${t.username}:${t.password}`),{proxy:r}}async function F4(e){return _c(ple,e,()=>ae.readFilePromise(e).then(t=>(ple.set(e,t),t)))}function Dst({statusCode:e,statusMessage:t},r){let o=_t(r,e,Et.NUMBER),a=`https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/${e}`;return Xy(r,`${o}${t?` (${t})`:""}`,a)}async function Ex(e,{configuration:t,customErrorMessage:r}){try{return await e}catch(o){if(o.name!=="HTTPError")throw o;let a=r?.(o,t)??o.response.body?.error;a==null&&(o.message.startsWith("Response code")?a="The remote server failed to provide the requested resource":a=o.message),o.code==="ETIMEDOUT"&&o.event==="socket"&&(a+=`(can be increased via ${_t(t,"httpTimeout",Et.SETTING)})`);let n=new zt(35,a,u=>{o.response&&u.reportError(35,` ${Zu(t,{label:"Response Code",value:Hc(Et.NO_HINT,Dst(o.response,t))})}`),o.request&&(u.reportError(35,` ${Zu(t,{label:"Request Method",value:Hc(Et.NO_HINT,o.request.options.method)})}`),u.reportError(35,` ${Zu(t,{label:"Request URL",value:Hc(Et.URL,o.request.requestUrl)})}`)),o.request.redirects.length>0&&u.reportError(35,` ${Zu(t,{label:"Request Redirects",value:Hc(Et.NO_HINT,SL(t,o.request.redirects,Et.URL))})}`),o.request.retryCount===o.request.options.retry.limit&&u.reportError(35,` ${Zu(t,{label:"Request Retry Count",value:Hc(Et.NO_HINT,`${_t(t,o.request.retryCount,Et.NUMBER)} (can be increased via ${_t(t,"httpRetry",Et.SETTING)})`)})}`)});throw n.originalError=o,n}}function mle(e,t){let r=[...t.configuration.get("networkSettings")].sort(([u],[A])=>A.length-u.length),o={enableNetwork:void 0,httpsCaFilePath:void 0,httpProxy:void 0,httpsProxy:void 0,httpsKeyFilePath:void 0,httpsCertFilePath:void 0},a=Object.keys(o),n=typeof e=="string"?new yx.URL(e):e;for(let[u,A]of r)if(T4.default.isMatch(n.hostname,u))for(let p of a){let h=A.get(p);h!==null&&typeof o[p]>"u"&&(o[p]=h)}for(let u of a)typeof o[u]>"u"&&(o[u]=t.configuration.get(u));return o}async function E1(e,t,{configuration:r,headers:o,jsonRequest:a,jsonResponse:n,method:u="GET",wrapNetworkRequest:A}){let p={target:e,body:t,configuration:r,headers:o,jsonRequest:a,jsonResponse:n,method:u},h=async()=>await xst(e,t,p),w=typeof A<"u"?await A(h,p):h;return await(await r.reduceHook(v=>v.wrapNetworkRequest,w,p))()}async function N4(e,{configuration:t,jsonResponse:r,customErrorMessage:o,wrapNetworkRequest:a,...n}){let u=()=>Ex(E1(e,null,{configuration:t,wrapNetworkRequest:a,...n}),{configuration:t,customErrorMessage:o}).then(p=>p.body),A=await(typeof a<"u"?u():_c(fle,e,()=>u().then(p=>(fle.set(e,p),p))));return r?JSON.parse(A.toString()):A}async function Sst(e,t,{customErrorMessage:r,...o}){return(await Ex(E1(e,t,{...o,method:"PUT"}),{customErrorMessage:r,configuration:o.configuration})).body}async function L4(e,t,{customErrorMessage:r,...o}){return(await Ex(E1(e,t,{...o,method:"POST"}),{customErrorMessage:r,configuration:o.configuration})).body}async function Pst(e,{customErrorMessage:t,...r}){return(await Ex(E1(e,null,{...r,method:"DELETE"}),{customErrorMessage:t,configuration:r.configuration})).body}async function xst(e,t,{configuration:r,headers:o,jsonRequest:a,jsonResponse:n,method:u="GET"}){let A=typeof e=="string"?new yx.URL(e):e,p=mle(A,{configuration:r});if(p.enableNetwork===!1)throw new zt(80,`Request to '${A.href}' has been blocked because of your configuration settings`);if(A.protocol==="http:"&&!T4.default.isMatch(A.hostname,r.get("unsafeHttpWhitelist")))throw new zt(81,`Unsafe http requests must be explicitly whitelisted in your configuration (${A.hostname})`);let w={agent:{http:p.httpProxy?R4.default.httpOverHttp(hle(p.httpProxy)):Bst,https:p.httpsProxy?R4.default.httpsOverHttp(hle(p.httpsProxy)):vst},headers:o,method:u};w.responseType=n?"json":"buffer",t!==null&&(Buffer.isBuffer(t)||!a&&typeof t=="string"?w.body=t:w.json=t);let I=r.get("httpTimeout"),v=r.get("httpRetry"),b=r.get("enableStrictSsl"),E=p.httpsCaFilePath,R=p.httpsCertFilePath,N=p.httpsKeyFilePath,{default:U}=await Promise.resolve().then(()=>$e(Ale())),V=E?await F4(E):void 0,ee=R?await F4(R):void 0,le=N?await F4(N):void 0,fe=U.extend({timeout:{socket:I},retry:v,https:{rejectUnauthorized:b,certificateAuthority:V,certificate:ee,key:le},...w});return r.getLimit("networkConcurrency")(()=>fe(A))}var gle,dle,T4,R4,yx,fle,ple,Bst,vst,yle,wx=yt(()=>{St();gle=Ie("https"),dle=Ie("http"),T4=$e(Zo()),R4=$e(qse()),yx=Ie("url");Yl();ql();jl();fle=new Map,ple=new Map,Bst=new dle.Agent({keepAlive:!0}),vst=new gle.Agent({keepAlive:!0});yle=(a=>(a.GET="GET",a.PUT="PUT",a.POST="POST",a.DELETE="DELETE",a))(yle||{})});var cs={};Jt(cs,{availableParallelism:()=>U4,builtinModules:()=>O4,getArchitecture:()=>w1,getArchitectureName:()=>kst,getArchitectureSet:()=>M4,getCaller:()=>Nst,openUrl:()=>bst});function O4(){return new Set(Ile.default.builtinModules||Object.keys(process.binding("natives")))}function Qst(){if(process.platform==="win32")return null;let t=(process.report?.getReport()??{}).sharedObjects??[],r=/\/(?:(ld-linux-|[^/]+-linux-gnu\/)|(libc.musl-|ld-musl-))/;return GI(t,o=>{let a=o.match(r);if(!a)return GI.skip;if(a[1])return"glibc";if(a[2])return"musl";throw new Error("Assertion failed: Expected the libc variant to have been detected")})??null}function w1(){return wle=wle??{os:process.platform,cpu:process.arch,libc:Qst()}}function kst(e=w1()){return e.libc?`${e.os}-${e.cpu}-${e.libc}`:`${e.os}-${e.cpu}`}function M4(){let e=w1();return Cle=Cle??{os:[e.os],cpu:[e.cpu],libc:e.libc?[e.libc]:[]}}function Tst(e){let t=Fst.exec(e);if(!t)return null;let r=t[2]&&t[2].indexOf("native")===0,o=t[2]&&t[2].indexOf("eval")===0,a=Rst.exec(t[2]);return o&&a!=null&&(t[2]=a[1],t[3]=a[2],t[4]=a[3]),{file:r?null:t[2],methodName:t[1]||"<unknown>",arguments:r?[t[2]]:[],line:t[3]?+t[3]:null,column:t[4]?+t[4]:null}}function Nst(){let t=new Error().stack.split(` -`)[3];return Tst(t)}function U4(){return typeof Cx.default.availableParallelism<"u"?Cx.default.availableParallelism():Math.max(1,Cx.default.cpus().length)}var Ile,Cx,Ele,bst,wle,Cle,Fst,Rst,C1=yt(()=>{St();Ile=$e(Ie("module")),Cx=$e(Ie("os"));Ix();jl();Ele=new Map([["darwin","open"],["linux","xdg-open"],["win32","explorer.exe"]]).get(process.platform),bst=typeof Ele<"u"?async e=>{try{return await _4(Ele,[e],{cwd:J.cwd()}),!0}catch{return!1}}:void 0;Fst=/^\s*at (.*?) ?\(((?:file|https?|blob|chrome-extension|native|eval|webpack|<anonymous>|\/|[a-z]:\\|\\\\).*?)(?::(\d+))?(?::(\d+))?\)?\s*$/i,Rst=/\((\S*)(?::(\d+))(?::(\d+))\)/});function G4(e,t,r,o,a){let n=l1(r);if(o.isArray||o.type==="ANY"&&Array.isArray(n))return Array.isArray(n)?n.map((u,A)=>H4(e,`${t}[${A}]`,u,o,a)):String(n).split(/,/).map(u=>H4(e,t,u,o,a));if(Array.isArray(n))throw new Error(`Non-array configuration settings "${t}" cannot be an array`);return H4(e,t,r,o,a)}function H4(e,t,r,o,a){let n=l1(r);switch(o.type){case"ANY":return jP(n);case"SHAPE":return Ust(e,t,r,o,a);case"MAP":return _st(e,t,r,o,a)}if(n===null&&!o.isNullable&&o.default!==null)throw new Error(`Non-nullable configuration settings "${t}" cannot be set to null`);if(o.values?.includes(n))return n;let A=(()=>{if(o.type==="BOOLEAN"&&typeof n!="string")return YI(n);if(typeof n!="string")throw new Error(`Expected configuration setting "${t}" to be a string, got ${typeof n}`);let p=iP(n,{env:e.env});switch(o.type){case"ABSOLUTE_PATH":{let h=a,w=dM(r);return w&&(h=J.resolve(w,"..")),J.resolve(h,Ae.toPortablePath(p))}case"LOCATOR_LOOSE":return xf(p,!1);case"NUMBER":return parseInt(p);case"LOCATOR":return xf(p);case"BOOLEAN":return YI(p);default:return p}})();if(o.values&&!o.values.includes(A))throw new Error(`Invalid value, expected one of ${o.values.join(", ")}`);return A}function Ust(e,t,r,o,a){let n=l1(r);if(typeof n!="object"||Array.isArray(n))throw new it(`Object configuration settings "${t}" must be an object`);let u=Y4(e,o,{ignoreArrays:!0});if(n===null)return u;for(let[A,p]of Object.entries(n)){let h=`${t}.${A}`;if(!o.properties[A])throw new it(`Unrecognized configuration settings found: ${t}.${A} - run "yarn config -v" to see the list of settings supported in Yarn`);u.set(A,G4(e,h,p,o.properties[A],a))}return u}function _st(e,t,r,o,a){let n=l1(r),u=new Map;if(typeof n!="object"||Array.isArray(n))throw new it(`Map configuration settings "${t}" must be an object`);if(n===null)return u;for(let[A,p]of Object.entries(n)){let h=o.normalizeKeys?o.normalizeKeys(A):A,w=`${t}['${h}']`,I=o.valueDefinition;u.set(h,G4(e,w,p,I,a))}return u}function Y4(e,t,{ignoreArrays:r=!1}={}){switch(t.type){case"SHAPE":{if(t.isArray&&!r)return[];let o=new Map;for(let[a,n]of Object.entries(t.properties))o.set(a,Y4(e,n));return o}break;case"MAP":return t.isArray&&!r?[]:new Map;case"ABSOLUTE_PATH":return t.default===null?null:e.projectCwd===null?Array.isArray(t.default)?t.default.map(o=>J.normalize(o)):J.isAbsolute(t.default)?J.normalize(t.default):t.isNullable?null:void 0:Array.isArray(t.default)?t.default.map(o=>J.resolve(e.projectCwd,o)):J.resolve(e.projectCwd,t.default);default:return t.default}}function vx(e,t,r){if(t.type==="SECRET"&&typeof e=="string"&&r.hideSecrets)return Mst;if(t.type==="ABSOLUTE_PATH"&&typeof e=="string"&&r.getNativePaths)return Ae.fromPortablePath(e);if(t.isArray&&Array.isArray(e)){let o=[];for(let a of e)o.push(vx(a,t,r));return o}if(t.type==="MAP"&&e instanceof Map){let o=new Map;for(let[a,n]of e.entries())o.set(a,vx(n,t.valueDefinition,r));return o}if(t.type==="SHAPE"&&e instanceof Map){let o=new Map;for(let[a,n]of e.entries()){let u=t.properties[a];o.set(a,vx(n,u,r))}return o}return e}function Hst(){let e={};for(let[t,r]of Object.entries(process.env))t=t.toLowerCase(),t.startsWith(Sx)&&(t=(0,Ble.default)(t.slice(Sx.length)),e[t]=r);return e}function Dx(){let e=`${Sx}rc_filename`;for(let[t,r]of Object.entries(process.env))if(t.toLowerCase()===e&&typeof r=="string")return r;return q4}async function jst({configuration:e,selfPath:t}){let r=e.get("yarnPath"),o=e.get("ignorePath"),a=u=>ae.readFilePromise(u).catch(()=>Buffer.of());return!o&&await(async()=>r&&(r===t||Buffer.compare(...await Promise.all([a(r),a(t)]))===0))()?null:r!==null&&!o?r:null}var Ble,Nf,vle,Dle,j4,Lst,I1,Ost,kE,Sx,q4,Mst,B1,Sle,Px,Bx,W4,Yc,Ke,v1=yt(()=>{St();Nl();Ble=$e(rJ()),Nf=$e($g());qt();vle=$e(zJ()),Dle=$e(nd()),j4=Ie("stream");ise();AE();lM();cM();uM();Fse();AM();Bd();Ose();GP();ql();rh();wx();jl();C1();Qf();xo();Lst=Nf.GITHUB_ACTIONS&&process.env.GITHUB_EVENT_PATH?!(ae.readJsonSync(Ae.toPortablePath(process.env.GITHUB_EVENT_PATH)).repository?.private??!0):!1,I1=new Set(["@yarnpkg/plugin-constraints","@yarnpkg/plugin-exec","@yarnpkg/plugin-interactive-tools","@yarnpkg/plugin-stage","@yarnpkg/plugin-typescript","@yarnpkg/plugin-version","@yarnpkg/plugin-workspace-tools"]),Ost=new Set(["isTestEnv","injectNpmUser","injectNpmPassword","injectNpm2FaToken","cacheCheckpointOverride","cacheVersionOverride","lockfileVersionOverride","binFolder","version","flags","profile","gpg","ignoreNode","wrapOutput","home","confDir","registry","ignoreCwd"]),kE=/^(?!v)[a-z0-9._-]+$/i,Sx="yarn_",q4=".yarnrc.yml",Mst="********",B1=(w=>(w.ANY="ANY",w.BOOLEAN="BOOLEAN",w.ABSOLUTE_PATH="ABSOLUTE_PATH",w.LOCATOR="LOCATOR",w.LOCATOR_LOOSE="LOCATOR_LOOSE",w.NUMBER="NUMBER",w.STRING="STRING",w.SECRET="SECRET",w.SHAPE="SHAPE",w.MAP="MAP",w))(B1||{}),Sle=Et,Px=(r=>(r.JUNCTIONS="junctions",r.SYMLINKS="symlinks",r))(Px||{}),Bx={lastUpdateCheck:{description:"Last timestamp we checked whether new Yarn versions were available",type:"STRING",default:null},yarnPath:{description:"Path to the local executable that must be used over the global one",type:"ABSOLUTE_PATH",default:null},ignorePath:{description:"If true, the local executable will be ignored when using the global one",type:"BOOLEAN",default:!1},globalFolder:{description:"Folder where all system-global files are stored",type:"ABSOLUTE_PATH",default:yM()},cacheFolder:{description:"Folder where the cache files must be written",type:"ABSOLUTE_PATH",default:"./.yarn/cache"},compressionLevel:{description:"Zip files compression level, from 0 to 9 or mixed (a variant of 9, which stores some files uncompressed, when compression doesn't yield good results)",type:"NUMBER",values:["mixed",0,1,2,3,4,5,6,7,8,9],default:0},virtualFolder:{description:"Folder where the virtual packages (cf doc) will be mapped on the disk (must be named __virtual__)",type:"ABSOLUTE_PATH",default:"./.yarn/__virtual__"},installStatePath:{description:"Path of the file where the install state will be persisted",type:"ABSOLUTE_PATH",default:"./.yarn/install-state.gz"},immutablePatterns:{description:"Array of glob patterns; files matching them won't be allowed to change during immutable installs",type:"STRING",default:[],isArray:!0},rcFilename:{description:"Name of the files where the configuration can be found",type:"STRING",default:Dx()},enableGlobalCache:{description:"If true, the system-wide cache folder will be used regardless of `cache-folder`",type:"BOOLEAN",default:!0},cacheMigrationMode:{description:"Defines the conditions under which Yarn upgrades should cause the cache archives to be regenerated.",type:"STRING",values:["always","match-spec","required-only"],default:"always"},enableColors:{description:"If true, the CLI is allowed to use colors in its output",type:"BOOLEAN",default:aP,defaultText:"<dynamic>"},enableHyperlinks:{description:"If true, the CLI is allowed to use hyperlinks in its output",type:"BOOLEAN",default:DL,defaultText:"<dynamic>"},enableInlineBuilds:{description:"If true, the CLI will print the build output on the command line",type:"BOOLEAN",default:Nf.isCI,defaultText:"<dynamic>"},enableMessageNames:{description:"If true, the CLI will prefix most messages with codes suitable for search engines",type:"BOOLEAN",default:!0},enableProgressBars:{description:"If true, the CLI is allowed to show a progress bar for long-running events",type:"BOOLEAN",default:!Nf.isCI,defaultText:"<dynamic>"},enableTimers:{description:"If true, the CLI is allowed to print the time spent executing commands",type:"BOOLEAN",default:!0},enableTips:{description:"If true, installs will print a helpful message every day of the week",type:"BOOLEAN",default:!Nf.isCI,defaultText:"<dynamic>"},preferInteractive:{description:"If true, the CLI will automatically use the interactive mode when called from a TTY",type:"BOOLEAN",default:!1},preferTruncatedLines:{description:"If true, the CLI will truncate lines that would go beyond the size of the terminal",type:"BOOLEAN",default:!1},progressBarStyle:{description:"Which style of progress bar should be used (only when progress bars are enabled)",type:"STRING",default:void 0,defaultText:"<dynamic>"},defaultLanguageName:{description:"Default language mode that should be used when a package doesn't offer any insight",type:"STRING",default:"node"},defaultProtocol:{description:"Default resolution protocol used when resolving pure semver and tag ranges",type:"STRING",default:"npm:"},enableTransparentWorkspaces:{description:"If false, Yarn won't automatically resolve workspace dependencies unless they use the `workspace:` protocol",type:"BOOLEAN",default:!0},supportedArchitectures:{description:"Architectures that Yarn will fetch and inject into the resolver",type:"SHAPE",properties:{os:{description:"Array of supported process.platform strings, or null to target them all",type:"STRING",isArray:!0,isNullable:!0,default:["current"]},cpu:{description:"Array of supported process.arch strings, or null to target them all",type:"STRING",isArray:!0,isNullable:!0,default:["current"]},libc:{description:"Array of supported libc libraries, or null to target them all",type:"STRING",isArray:!0,isNullable:!0,default:["current"]}}},enableMirror:{description:"If true, the downloaded packages will be retrieved and stored in both the local and global folders",type:"BOOLEAN",default:!0},enableNetwork:{description:"If false, the package manager will refuse to use the network if required to",type:"BOOLEAN",default:!0},httpProxy:{description:"URL of the http proxy that must be used for outgoing http requests",type:"STRING",default:null},httpsProxy:{description:"URL of the http proxy that must be used for outgoing https requests",type:"STRING",default:null},unsafeHttpWhitelist:{description:"List of the hostnames for which http queries are allowed (glob patterns are supported)",type:"STRING",default:[],isArray:!0},httpTimeout:{description:"Timeout of each http request in milliseconds",type:"NUMBER",default:6e4},httpRetry:{description:"Retry times on http failure",type:"NUMBER",default:3},networkConcurrency:{description:"Maximal number of concurrent requests",type:"NUMBER",default:50},networkSettings:{description:"Network settings per hostname (glob patterns are supported)",type:"MAP",valueDefinition:{description:"",type:"SHAPE",properties:{httpsCaFilePath:{description:"Path to file containing one or multiple Certificate Authority signing certificates",type:"ABSOLUTE_PATH",default:null},enableNetwork:{description:"If false, the package manager will refuse to use the network if required to",type:"BOOLEAN",default:null},httpProxy:{description:"URL of the http proxy that must be used for outgoing http requests",type:"STRING",default:null},httpsProxy:{description:"URL of the http proxy that must be used for outgoing https requests",type:"STRING",default:null},httpsKeyFilePath:{description:"Path to file containing private key in PEM format",type:"ABSOLUTE_PATH",default:null},httpsCertFilePath:{description:"Path to file containing certificate chain in PEM format",type:"ABSOLUTE_PATH",default:null}}}},httpsCaFilePath:{description:"A path to a file containing one or multiple Certificate Authority signing certificates",type:"ABSOLUTE_PATH",default:null},httpsKeyFilePath:{description:"Path to file containing private key in PEM format",type:"ABSOLUTE_PATH",default:null},httpsCertFilePath:{description:"Path to file containing certificate chain in PEM format",type:"ABSOLUTE_PATH",default:null},enableStrictSsl:{description:"If false, SSL certificate errors will be ignored",type:"BOOLEAN",default:!0},logFilters:{description:"Overrides for log levels",type:"SHAPE",isArray:!0,concatenateValues:!0,properties:{code:{description:"Code of the messages covered by this override",type:"STRING",default:void 0},text:{description:"Code of the texts covered by this override",type:"STRING",default:void 0},pattern:{description:"Code of the patterns covered by this override",type:"STRING",default:void 0},level:{description:"Log level override, set to null to remove override",type:"STRING",values:Object.values(cP),isNullable:!0,default:void 0}}},enableTelemetry:{description:"If true, telemetry will be periodically sent, following the rules in https://yarnpkg.com/advanced/telemetry",type:"BOOLEAN",default:!0},telemetryInterval:{description:"Minimal amount of time between two telemetry uploads, in days",type:"NUMBER",default:7},telemetryUserId:{description:"If you desire to tell us which project you are, you can set this field. Completely optional and opt-in.",type:"STRING",default:null},enableHardenedMode:{description:"If true, automatically enable --check-resolutions --refresh-lockfile on installs",type:"BOOLEAN",default:Nf.isPR&&Lst,defaultText:"<true on public PRs>"},enableScripts:{description:"If true, packages are allowed to have install scripts by default",type:"BOOLEAN",default:!0},enableStrictSettings:{description:"If true, unknown settings will cause Yarn to abort",type:"BOOLEAN",default:!0},enableImmutableCache:{description:"If true, the cache is reputed immutable and actions that would modify it will throw",type:"BOOLEAN",default:!1},checksumBehavior:{description:"Enumeration defining what to do when a checksum doesn't match expectations",type:"STRING",default:"throw"},injectEnvironmentFiles:{description:"List of all the environment files that Yarn should inject inside the process when it starts",type:"ABSOLUTE_PATH",default:[".env.yarn?"],isArray:!0},packageExtensions:{description:"Map of package corrections to apply on the dependency tree",type:"MAP",valueDefinition:{description:"The extension that will be applied to any package whose version matches the specified range",type:"SHAPE",properties:{dependencies:{description:"The set of dependencies that must be made available to the current package in order for it to work properly",type:"MAP",valueDefinition:{description:"A range",type:"STRING"}},peerDependencies:{description:"Inherited dependencies - the consumer of the package will be tasked to provide them",type:"MAP",valueDefinition:{description:"A semver range",type:"STRING"}},peerDependenciesMeta:{description:"Extra information related to the dependencies listed in the peerDependencies field",type:"MAP",valueDefinition:{description:"The peerDependency meta",type:"SHAPE",properties:{optional:{description:"If true, the selected peer dependency will be marked as optional by the package manager and the consumer omitting it won't be reported as an error",type:"BOOLEAN",default:!1}}}}}}}};W4=(o=>(o[o.LOCKFILE=0]="LOCKFILE",o[o.MANIFEST=1]="MANIFEST",o[o.NONE=2]="NONE",o))(W4||{}),Yc=class{constructor(t){this.isCI=Nf.isCI;this.projectCwd=null;this.plugins=new Map;this.settings=new Map;this.values=new Map;this.sources=new Map;this.invalid=new Map;this.env={};this.packageExtensions=new Map;this.limits=new Map;this.startingCwd=t}static create(t,r,o){let a=new Yc(t);typeof r<"u"&&!(r instanceof Map)&&(a.projectCwd=r),a.importSettings(Bx);let n=typeof o<"u"?o:r instanceof Map?r:new Map;for(let[u,A]of n)a.activatePlugin(u,A);return a}static async find(t,r,{lookup:o=0,strict:a=!0,usePathCheck:n=null,useRc:u=!0}={}){let A=Hst();delete A.rcFilename;let p=await Yc.findRcFiles(t),h=await Yc.findHomeRcFile();h&&(p.find(oe=>oe.path===h.path)||p.unshift(h));let w=Lse(p.map(ge=>[ge.path,ge.data])),I=".",v=new Set(Object.keys(Bx)),b=({yarnPath:ge,ignorePath:oe,injectEnvironmentFiles:Be})=>({yarnPath:ge,ignorePath:oe,injectEnvironmentFiles:Be}),E=({yarnPath:ge,ignorePath:oe,injectEnvironmentFiles:Be,...be})=>{let g={};for(let[we,Se]of Object.entries(be))v.has(we)&&(g[we]=Se);return g},R=({yarnPath:ge,ignorePath:oe,...Be})=>{let be={};for(let[g,we]of Object.entries(Be))v.has(g)||(be[g]=we);return be},N=new Yc(t);if(N.importSettings(b(Bx)),N.useWithSource("<environment>",b(A),t,{strict:!1}),w){let[ge,oe]=w;N.useWithSource(ge,b(oe),I,{strict:!1})}if(n){if(await jst({configuration:N,selfPath:n})!==null)return N;N.useWithSource("<override>",{ignorePath:!0},t,{strict:!1,overwrite:!0})}let U;switch(o){case 0:U=await Yc.findProjectCwd(t,gr.lockfile);break;case 1:U=await Yc.findProjectCwd(t,null);break;case 2:ae.existsSync(J.join(t,"package.json"))?U=J.resolve(t):U=null;break}N.startingCwd=t,N.projectCwd=U;let V=Object.assign(Object.create(null),process.env);N.env=V;let ee=await Promise.all(N.get("injectEnvironmentFiles").map(async ge=>{let oe=ge.endsWith("?")?await ae.readFilePromise(ge.slice(0,-1),"utf8").catch(()=>""):await ae.readFilePromise(ge,"utf8");return(0,vle.parse)(oe)}));for(let ge of ee)for(let[oe,Be]of Object.entries(ge))N.env[oe]=iP(Be,{env:V});if(N.importSettings(E(Bx)),N.useWithSource("<environment>",E(A),t,{strict:a}),w){let[ge,oe]=w;N.useWithSource(ge,E(oe),I,{strict:a})}let le=ge=>"default"in ge?ge.default:ge,fe=new Map([["@@core",nse]]);if(r!==null)for(let ge of r.plugins.keys())fe.set(ge,le(r.modules.get(ge)));for(let[ge,oe]of fe)N.activatePlugin(ge,oe);let de=new Map([]);if(r!==null){let ge=new Map;for(let be of O4())ge.set(be,()=>Vp(be));for(let[be,g]of r.modules)ge.set(be,()=>g);let oe=new Set,Be=async(be,g)=>{let{factory:we,name:Se}=Vp(be);if(!we||oe.has(Se))return;let ce=new Map(ge),ne=Ee=>{if(ce.has(Ee))return ce.get(Ee)();throw new it(`This plugin cannot access the package referenced via ${Ee} which is neither a builtin, nor an exposed entry`)},te=await Wy(async()=>le(await we(ne)),Ee=>`${Ee} (when initializing ${Se}, defined in ${g})`);ge.set(Se,()=>te),oe.add(Se),de.set(Se,te)};if(A.plugins)for(let be of A.plugins.split(";")){let g=J.resolve(t,Ae.toPortablePath(be));await Be(g,"<environment>")}for(let{path:be,cwd:g,data:we}of p)if(!!u&&!!Array.isArray(we.plugins))for(let Se of we.plugins){let ce=typeof Se!="string"?Se.path:Se,ne=Se?.spec??"",te=Se?.checksum??"";if(I1.has(ne))continue;let Ee=J.resolve(g,Ae.toPortablePath(ce));if(!await ae.existsPromise(Ee)){if(!ne){let H=_t(N,J.basename(Ee,".cjs"),Et.NAME),at=_t(N,".gitignore",Et.NAME),Te=_t(N,N.values.get("rcFilename"),Et.NAME),Qe=_t(N,"https://yarnpkg.com/getting-started/qa#which-files-should-be-gitignored",Et.URL);throw new it(`Missing source for the ${H} plugin - please try to remove the plugin from ${Te} then reinstall it manually. This error usually occurs because ${at} is incorrect, check ${Qe} to make sure your plugin folder isn't gitignored.`)}if(!ne.match(/^https?:/)){let H=_t(N,J.basename(Ee,".cjs"),Et.NAME),at=_t(N,N.values.get("rcFilename"),Et.NAME);throw new it(`Failed to recognize the source for the ${H} plugin - please try to delete the plugin from ${at} then reinstall it manually.`)}let Re=await N4(ne,{configuration:N}),dt=Fs(Re);if(te&&te!==dt){let H=_t(N,J.basename(Ee,".cjs"),Et.NAME),at=_t(N,N.values.get("rcFilename"),Et.NAME),Te=_t(N,`yarn plugin import ${ne}`,Et.CODE);throw new it(`Failed to fetch the ${H} plugin from its remote location: its checksum seems to have changed. If this is expected, please remove the plugin from ${at} then run ${Te} to reimport it.`)}await ae.mkdirPromise(J.dirname(Ee),{recursive:!0}),await ae.writeFilePromise(Ee,Re)}await Be(Ee,be)}}for(let[ge,oe]of de)N.activatePlugin(ge,oe);if(N.useWithSource("<environment>",R(A),t,{strict:a}),w){let[ge,oe]=w;N.useWithSource(ge,R(oe),I,{strict:a})}return N.get("enableGlobalCache")&&(N.values.set("cacheFolder",`${N.get("globalFolder")}/cache`),N.sources.set("cacheFolder","<internal>")),await N.refreshPackageExtensions(),N}static async findRcFiles(t){let r=Dx(),o=[],a=t,n=null;for(;a!==n;){n=a;let u=J.join(n,r);if(ae.existsSync(u)){let A=await ae.readFilePromise(u,"utf8"),p;try{p=Ji(A)}catch{let w="";throw A.match(/^\s+(?!-)[^:]+\s+\S+/m)&&(w=" (in particular, make sure you list the colons after each key name)"),new it(`Parse error when loading ${u}; please check it's proper Yaml${w}`)}o.unshift({path:u,cwd:n,data:p})}a=J.dirname(n)}return o}static async findHomeRcFile(){let t=Dx(),r=yE(),o=J.join(r,t);if(ae.existsSync(o)){let a=await ae.readFilePromise(o,"utf8"),n=Ji(a);return{path:o,cwd:r,data:n}}return null}static async findProjectCwd(t,r){let o=null,a=t,n=null;for(;a!==n;){if(n=a,ae.existsSync(J.join(n,"package.json"))&&(o=n),r!==null){if(ae.existsSync(J.join(n,r))){o=n;break}}else if(o!==null)break;a=J.dirname(n)}return o}static async updateConfiguration(t,r,o={}){let a=Dx(),n=J.join(t,a),u=ae.existsSync(n)?Ji(await ae.readFilePromise(n,"utf8")):{},A=!1,p;if(typeof r=="function"){try{p=r(u)}catch{p=r({})}if(p===u)return!1}else{p=u;for(let h of Object.keys(r)){let w=u[h],I=r[h],v;if(typeof I=="function")try{v=I(w)}catch{v=I(void 0)}else v=I;w!==v&&(v===Yc.deleteProperty?delete p[h]:p[h]=v,A=!0)}if(!A)return!1}return await ae.changeFilePromise(n,Ba(p),{automaticNewlines:!0}),!0}static async addPlugin(t,r){r.length!==0&&await Yc.updateConfiguration(t,o=>{let a=o.plugins??[];if(a.length===0)return{...o,plugins:r};let n=[],u=[...r];for(let A of a){let p=typeof A!="string"?A.path:A,h=u.find(w=>w.path===p);h?(n.push(h),u=u.filter(w=>w!==h)):n.push(A)}return n.push(...u),{...o,plugins:n}})}static async updateHomeConfiguration(t){let r=yE();return await Yc.updateConfiguration(r,t)}activatePlugin(t,r){this.plugins.set(t,r),typeof r.configuration<"u"&&this.importSettings(r.configuration)}importSettings(t){for(let[r,o]of Object.entries(t))if(o!=null){if(this.settings.has(r))throw new Error(`Cannot redefine settings "${r}"`);this.settings.set(r,o),this.values.set(r,Y4(this,o))}}useWithSource(t,r,o,a){try{this.use(t,r,o,a)}catch(n){throw n.message+=` (in ${_t(this,t,Et.PATH)})`,n}}use(t,r,o,{strict:a=!0,overwrite:n=!1}={}){a=a&&this.get("enableStrictSettings");for(let u of["enableStrictSettings",...Object.keys(r)]){let A=r[u],p=dM(A);if(p&&(t=p),typeof A>"u"||u==="plugins"||t==="<environment>"&&Ost.has(u))continue;if(u==="rcFilename")throw new it(`The rcFilename settings can only be set via ${`${Sx}RC_FILENAME`.toUpperCase()}, not via a rc file`);let h=this.settings.get(u);if(!h){let I=yE(),v=J.resolve(t,"..");if(a&&!(I===v))throw new it(`Unrecognized or legacy configuration settings found: ${u} - run "yarn config -v" to see the list of settings supported in Yarn`);this.invalid.set(u,t);continue}if(this.sources.has(u)&&!(n||h.type==="MAP"||h.isArray&&h.concatenateValues))continue;let w;try{w=G4(this,u,A,h,o)}catch(I){throw I.message+=` in ${_t(this,t,Et.PATH)}`,I}if(u==="enableStrictSettings"&&t!=="<environment>"){a=w;continue}if(h.type==="MAP"){let I=this.values.get(u);this.values.set(u,new Map(n?[...I,...w]:[...w,...I])),this.sources.set(u,`${this.sources.get(u)}, ${t}`)}else if(h.isArray&&h.concatenateValues){let I=this.values.get(u);this.values.set(u,n?[...I,...w]:[...w,...I]),this.sources.set(u,`${this.sources.get(u)}, ${t}`)}else this.values.set(u,w),this.sources.set(u,t)}}get(t){if(!this.values.has(t))throw new Error(`Invalid configuration key "${t}"`);return this.values.get(t)}getSpecial(t,{hideSecrets:r=!1,getNativePaths:o=!1}){let a=this.get(t),n=this.settings.get(t);if(typeof n>"u")throw new it(`Couldn't find a configuration settings named "${t}"`);return vx(a,n,{hideSecrets:r,getNativePaths:o})}getSubprocessStreams(t,{header:r,prefix:o,report:a}){let n,u,A=ae.createWriteStream(t);if(this.get("enableInlineBuilds")){let p=a.createStreamReporter(`${o} ${_t(this,"STDOUT","green")}`),h=a.createStreamReporter(`${o} ${_t(this,"STDERR","red")}`);n=new j4.PassThrough,n.pipe(p),n.pipe(A),u=new j4.PassThrough,u.pipe(h),u.pipe(A)}else n=A,u=A,typeof r<"u"&&n.write(`${r} -`);return{stdout:n,stderr:u}}makeResolver(){let t=[];for(let r of this.plugins.values())for(let o of r.resolvers||[])t.push(new o);return new vd([new o1,new Vn,...t])}makeFetcher(){let t=[];for(let r of this.plugins.values())for(let o of r.fetchers||[])t.push(new o);return new pE([new hE,new dE,...t])}getLinkers(){let t=[];for(let r of this.plugins.values())for(let o of r.linkers||[])t.push(new o);return t}getSupportedArchitectures(){let t=w1(),r=this.get("supportedArchitectures"),o=r.get("os");o!==null&&(o=o.map(u=>u==="current"?t.os:u));let a=r.get("cpu");a!==null&&(a=a.map(u=>u==="current"?t.cpu:u));let n=r.get("libc");return n!==null&&(n=sl(n,u=>u==="current"?t.libc??sl.skip:u)),{os:o,cpu:a,libc:n}}async refreshPackageExtensions(){this.packageExtensions=new Map;let t=this.packageExtensions,r=(o,a,{userProvided:n=!1}={})=>{if(!ba(o.range))throw new Error("Only semver ranges are allowed as keys for the packageExtensions setting");let u=new Ot;u.load(a,{yamlCompatibilityMode:!0});let A=Gy(t,o.identHash),p=[];A.push([o.range,p]);let h={status:"inactive",userProvided:n,parentDescriptor:o};for(let w of u.dependencies.values())p.push({...h,type:"Dependency",descriptor:w});for(let w of u.peerDependencies.values())p.push({...h,type:"PeerDependency",descriptor:w});for(let[w,I]of u.peerDependenciesMeta)for(let[v,b]of Object.entries(I))p.push({...h,type:"PeerDependencyMeta",selector:w,key:v,value:b})};await this.triggerHook(o=>o.registerPackageExtensions,this,r);for(let[o,a]of this.get("packageExtensions"))r(nh(o,!0),nP(a),{userProvided:!0})}normalizeLocator(t){return ba(t.reference)?Rs(t,`${this.get("defaultProtocol")}${t.reference}`):kE.test(t.reference)?Rs(t,`${this.get("defaultProtocol")}${t.reference}`):t}normalizeDependency(t){return ba(t.range)?Cn(t,`${this.get("defaultProtocol")}${t.range}`):kE.test(t.range)?Cn(t,`${this.get("defaultProtocol")}${t.range}`):t}normalizeDependencyMap(t){return new Map([...t].map(([r,o])=>[r,this.normalizeDependency(o)]))}normalizePackage(t){let r=XI(t);if(this.packageExtensions==null)throw new Error("refreshPackageExtensions has to be called before normalizing packages");let o=this.packageExtensions.get(t.identHash);if(typeof o<"u"){let n=t.version;if(n!==null){for(let[u,A]of o)if(!!bf(n,u))for(let p of A)switch(p.status==="inactive"&&(p.status="redundant"),p.type){case"Dependency":typeof r.dependencies.get(p.descriptor.identHash)>"u"&&(p.status="active",r.dependencies.set(p.descriptor.identHash,this.normalizeDependency(p.descriptor)));break;case"PeerDependency":typeof r.peerDependencies.get(p.descriptor.identHash)>"u"&&(p.status="active",r.peerDependencies.set(p.descriptor.identHash,p.descriptor));break;case"PeerDependencyMeta":{let h=r.peerDependenciesMeta.get(p.selector);(typeof h>"u"||!Object.hasOwn(h,p.key)||h[p.key]!==p.value)&&(p.status="active",_c(r.peerDependenciesMeta,p.selector,()=>({}))[p.key]=p.value)}break;default:mL(p);break}}}let a=n=>n.scope?`${n.scope}__${n.name}`:`${n.name}`;for(let n of r.peerDependenciesMeta.keys()){let u=Xs(n);r.peerDependencies.has(u.identHash)||r.peerDependencies.set(u.identHash,Cn(u,"*"))}for(let n of r.peerDependencies.values()){if(n.scope==="types")continue;let u=a(n),A=rA("types",u),p=An(A);r.peerDependencies.has(A.identHash)||r.peerDependenciesMeta.has(p)||(r.peerDependencies.set(A.identHash,Cn(A,"*")),r.peerDependenciesMeta.set(p,{optional:!0}))}return r.dependencies=new Map(ks(r.dependencies,([,n])=>Pa(n))),r.peerDependencies=new Map(ks(r.peerDependencies,([,n])=>Pa(n))),r}getLimit(t){return _c(this.limits,t,()=>(0,Dle.default)(this.get(t)))}async triggerHook(t,...r){for(let o of this.plugins.values()){let a=o.hooks;if(!a)continue;let n=t(a);!n||await n(...r)}}async triggerMultipleHooks(t,r){for(let o of r)await this.triggerHook(t,...o)}async reduceHook(t,r,...o){let a=r;for(let n of this.plugins.values()){let u=n.hooks;if(!u)continue;let A=t(u);!A||(a=await A(a,...o))}return a}async firstHook(t,...r){for(let o of this.plugins.values()){let a=o.hooks;if(!a)continue;let n=t(a);if(!n)continue;let u=await n(...r);if(typeof u<"u")return u}return null}},Ke=Yc;Ke.deleteProperty=Symbol(),Ke.telemetry=null});var Mr={};Jt(Mr,{EndStrategy:()=>z4,ExecError:()=>xx,PipeError:()=>D1,execvp:()=>_4,pipevp:()=>Wc});function Pd(e){return e!==null&&typeof e.fd=="number"}function K4(){}function J4(){for(let e of xd)e.kill()}async function Wc(e,t,{cwd:r,env:o=process.env,strict:a=!1,stdin:n=null,stdout:u,stderr:A,end:p=2}){let h=["pipe","pipe","pipe"];n===null?h[0]="ignore":Pd(n)&&(h[0]=n),Pd(u)&&(h[1]=u),Pd(A)&&(h[2]=A);let w=(0,V4.default)(e,t,{cwd:Ae.fromPortablePath(r),env:{...o,PWD:Ae.fromPortablePath(r)},stdio:h});xd.add(w),xd.size===1&&(process.on("SIGINT",K4),process.on("SIGTERM",J4)),!Pd(n)&&n!==null&&n.pipe(w.stdin),Pd(u)||w.stdout.pipe(u,{end:!1}),Pd(A)||w.stderr.pipe(A,{end:!1});let I=()=>{for(let v of new Set([u,A]))Pd(v)||v.end()};return new Promise((v,b)=>{w.on("error",E=>{xd.delete(w),xd.size===0&&(process.off("SIGINT",K4),process.off("SIGTERM",J4)),(p===2||p===1)&&I(),b(E)}),w.on("close",(E,R)=>{xd.delete(w),xd.size===0&&(process.off("SIGINT",K4),process.off("SIGTERM",J4)),(p===2||p===1&&E!==0)&&I(),E===0||!a?v({code:X4(E,R)}):b(new D1({fileName:e,code:E,signal:R}))})})}async function _4(e,t,{cwd:r,env:o=process.env,encoding:a="utf8",strict:n=!1}){let u=["ignore","pipe","pipe"],A=[],p=[],h=Ae.fromPortablePath(r);typeof o.PWD<"u"&&(o={...o,PWD:h});let w=(0,V4.default)(e,t,{cwd:h,env:o,stdio:u});return w.stdout.on("data",I=>{A.push(I)}),w.stderr.on("data",I=>{p.push(I)}),await new Promise((I,v)=>{w.on("error",b=>{let E=Ke.create(r),R=_t(E,e,Et.PATH);v(new zt(1,`Process ${R} failed to spawn`,N=>{N.reportError(1,` ${Zu(E,{label:"Thrown Error",value:Hc(Et.NO_HINT,b.message)})}`)}))}),w.on("close",(b,E)=>{let R=a==="buffer"?Buffer.concat(A):Buffer.concat(A).toString(a),N=a==="buffer"?Buffer.concat(p):Buffer.concat(p).toString(a);b===0||!n?I({code:X4(b,E),stdout:R,stderr:N}):v(new xx({fileName:e,code:b,signal:E,stdout:R,stderr:N}))})})}function X4(e,t){let r=qst.get(t);return typeof r<"u"?128+r:e??1}function Gst(e,t,{configuration:r,report:o}){o.reportError(1,` ${Zu(r,e!==null?{label:"Exit Code",value:Hc(Et.NUMBER,e)}:{label:"Exit Signal",value:Hc(Et.CODE,t)})}`)}var V4,z4,D1,xx,xd,qst,Ix=yt(()=>{St();V4=$e(iT());v1();Yl();ql();z4=(o=>(o[o.Never=0]="Never",o[o.ErrorCode=1]="ErrorCode",o[o.Always=2]="Always",o))(z4||{}),D1=class extends zt{constructor({fileName:r,code:o,signal:a}){let n=Ke.create(J.cwd()),u=_t(n,r,Et.PATH);super(1,`Child ${u} reported an error`,A=>{Gst(o,a,{configuration:n,report:A})});this.code=X4(o,a)}},xx=class extends D1{constructor({fileName:r,code:o,signal:a,stdout:n,stderr:u}){super({fileName:r,code:o,signal:a});this.stdout=n,this.stderr=u}};xd=new Set;qst=new Map([["SIGINT",2],["SIGQUIT",3],["SIGKILL",9],["SIGTERM",15]])});function xle(e){Ple=e}function S1(){return typeof Z4>"u"&&(Z4=Ple()),Z4}var Z4,Ple,$4=yt(()=>{Ple=()=>{throw new Error("Assertion failed: No libzip instance is available, and no factory was configured")}});var ble=_((bx,tU)=>{var Yst=Object.assign({},Ie("fs")),eU=function(){var e=typeof document<"u"&&document.currentScript?document.currentScript.src:void 0;return typeof __filename<"u"&&(e=e||__filename),function(t){t=t||{};var r=typeof t<"u"?t:{},o,a;r.ready=new Promise(function(We,tt){o=We,a=tt});var n={},u;for(u in r)r.hasOwnProperty(u)&&(n[u]=r[u]);var A=[],p="./this.program",h=function(We,tt){throw tt},w=!1,I=!0,v="";function b(We){return r.locateFile?r.locateFile(We,v):v+We}var E,R,N,U;I&&(w?v=Ie("path").dirname(v)+"/":v=__dirname+"/",E=function(tt,It){var rr=ni(tt);return rr?It?rr:rr.toString():(N||(N=Yst),U||(U=Ie("path")),tt=U.normalize(tt),N.readFileSync(tt,It?null:"utf8"))},R=function(tt){var It=E(tt,!0);return It.buffer||(It=new Uint8Array(It)),we(It.buffer),It},process.argv.length>1&&(p=process.argv[1].replace(/\\/g,"/")),A=process.argv.slice(2),h=function(We){process.exit(We)},r.inspect=function(){return"[Emscripten Module object]"});var V=r.print||console.log.bind(console),ee=r.printErr||console.warn.bind(console);for(u in n)n.hasOwnProperty(u)&&(r[u]=n[u]);n=null,r.arguments&&(A=r.arguments),r.thisProgram&&(p=r.thisProgram),r.quit&&(h=r.quit);var le=0,fe=function(We){le=We},de;r.wasmBinary&&(de=r.wasmBinary);var ge=r.noExitRuntime||!0;typeof WebAssembly!="object"&&Ti("no native wasm support detected");function oe(We,tt,It){switch(tt=tt||"i8",tt.charAt(tt.length-1)==="*"&&(tt="i32"),tt){case"i1":return He[We>>0];case"i8":return He[We>>0];case"i16":return ap((We>>1)*2);case"i32":return Us((We>>2)*4);case"i64":return Us((We>>2)*4);case"float":return Au((We>>2)*4);case"double":return op((We>>3)*8);default:Ti("invalid type for getValue: "+tt)}return null}var Be,be=!1,g;function we(We,tt){We||Ti("Assertion failed: "+tt)}function Se(We){var tt=r["_"+We];return we(tt,"Cannot call unknown function "+We+", make sure it is exported"),tt}function ce(We,tt,It,rr,$){var me={string:function($i){var Pi=0;if($i!=null&&$i!==0){var jo=($i.length<<2)+1;Pi=Mn(jo),dt($i,Pi,jo)}return Pi},array:function($i){var Pi=Mn($i.length);return Te($i,Pi),Pi}};function Oe($i){return tt==="string"?Ee($i):tt==="boolean"?Boolean($i):$i}var ft=Se(We),pt=[],Tt=0;if(rr)for(var er=0;er<rr.length;er++){var Xr=me[It[er]];Xr?(Tt===0&&(Tt=ys()),pt[er]=Xr(rr[er])):pt[er]=rr[er]}var Gi=ft.apply(null,pt);return Gi=Oe(Gi),Tt!==0&&js(Tt),Gi}function ne(We,tt,It,rr){It=It||[];var $=It.every(function(Oe){return Oe==="number"}),me=tt!=="string";return me&&$&&!rr?Se(We):function(){return ce(We,tt,It,arguments,rr)}}var te=new TextDecoder("utf8");function Ee(We,tt){if(!We)return"";for(var It=We+tt,rr=We;!(rr>=It)&&Ne[rr];)++rr;return te.decode(Ne.subarray(We,rr))}function Re(We,tt,It,rr){if(!(rr>0))return 0;for(var $=It,me=It+rr-1,Oe=0;Oe<We.length;++Oe){var ft=We.charCodeAt(Oe);if(ft>=55296&&ft<=57343){var pt=We.charCodeAt(++Oe);ft=65536+((ft&1023)<<10)|pt&1023}if(ft<=127){if(It>=me)break;tt[It++]=ft}else if(ft<=2047){if(It+1>=me)break;tt[It++]=192|ft>>6,tt[It++]=128|ft&63}else if(ft<=65535){if(It+2>=me)break;tt[It++]=224|ft>>12,tt[It++]=128|ft>>6&63,tt[It++]=128|ft&63}else{if(It+3>=me)break;tt[It++]=240|ft>>18,tt[It++]=128|ft>>12&63,tt[It++]=128|ft>>6&63,tt[It++]=128|ft&63}}return tt[It]=0,It-$}function dt(We,tt,It){return Re(We,Ne,tt,It)}function H(We){for(var tt=0,It=0;It<We.length;++It){var rr=We.charCodeAt(It);rr>=55296&&rr<=57343&&(rr=65536+((rr&1023)<<10)|We.charCodeAt(++It)&1023),rr<=127?++tt:rr<=2047?tt+=2:rr<=65535?tt+=3:tt+=4}return tt}function at(We){var tt=H(We)+1,It=Oi(tt);return It&&Re(We,He,It,tt),It}function Te(We,tt){He.set(We,tt)}function Qe(We,tt){return We%tt>0&&(We+=tt-We%tt),We}var ke,He,Ne,Ve,je,x,C,P,y,F;function z(We){ke=We,r.HEAP_DATA_VIEW=F=new DataView(We),r.HEAP8=He=new Int8Array(We),r.HEAP16=Ve=new Int16Array(We),r.HEAP32=x=new Int32Array(We),r.HEAPU8=Ne=new Uint8Array(We),r.HEAPU16=je=new Uint16Array(We),r.HEAPU32=C=new Uint32Array(We),r.HEAPF32=P=new Float32Array(We),r.HEAPF64=y=new Float64Array(We)}var X=r.INITIAL_MEMORY||16777216,Z,ie=[],Pe=[],Le=[],ot=!1;function gt(){if(r.preRun)for(typeof r.preRun=="function"&&(r.preRun=[r.preRun]);r.preRun.length;)xt(r.preRun.shift());oo(ie)}function jt(){ot=!0,oo(Pe)}function $t(){if(r.postRun)for(typeof r.postRun=="function"&&(r.postRun=[r.postRun]);r.postRun.length;)br(r.postRun.shift());oo(Le)}function xt(We){ie.unshift(We)}function on(We){Pe.unshift(We)}function br(We){Le.unshift(We)}var dr=0,Pr=null,Yr=null;function Wn(We){dr++,r.monitorRunDependencies&&r.monitorRunDependencies(dr)}function Os(We){if(dr--,r.monitorRunDependencies&&r.monitorRunDependencies(dr),dr==0&&(Pr!==null&&(clearInterval(Pr),Pr=null),Yr)){var tt=Yr;Yr=null,tt()}}r.preloadedImages={},r.preloadedAudios={};function Ti(We){r.onAbort&&r.onAbort(We),We+="",ee(We),be=!0,g=1,We="abort("+We+"). Build with -s ASSERTIONS=1 for more info.";var tt=new WebAssembly.RuntimeError(We);throw a(tt),tt}var hs="data:application/octet-stream;base64,";function io(We){return We.startsWith(hs)}var Si="data:application/octet-stream;base64,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QCAAKAJIIgEgASADaiADEAcaAkAgAyAAKAJsIgFNBEAgACABIANrNgJsDAELIABCADcCbAsgACAAKAJoIANrIgE2AmggACAAKAJYIANrNgJYIAEgACgChC5JBEAgACABNgKELgsgAEH8gAEoAgARAwAgAiADaiECCwJAIAAoAgAiASgCBCIERQ0AIAAoAjwhBSAAIAIgBCACIARJGyICBH8gACgCSCAAKAJoaiAFaiEFIAEgBCACazYCBAJAAkACQAJAIAEoAhwiBCgCFEEBaw4CAQACCyAEQaABaiAFIAEoAgAgAkHcgAEoAgARCAAMAgsgASABKAIwIAUgASgCACACQcSAASgCABEEADYCMAwBCyAFIAEoAgAgAhAHGgsgASABKAIAIAJqNgIAIAEgASgCCCACajYCCCAAKAI8BSAFCyACaiICNgI8AkAgACgChC4iASACakEDSQ0AIAAoAmggAWshAQJAIAAoAnRBgQhPBEAgACAAIAAoAkggAWoiAi0AACACLQABIAAoAnwRAAA2AlQMAQsgAUUNACAAIAFBAWsgACgChAERAgAaCyAAKAKELiAAKAI8IgJBAUZrIgRFDQAgACABIAQgACgCgAERBQAgACAAKAKELiAEazYChC4gACgCPCECCyACQYUCSw0AIAAoAgAoAgRFDQAgACgCMCEBDAELCwJAIAAoAkQiAiAAKAJAIgNNDQAgAAJ/IAAoAjwgACgCaGoiASADSwRAIAAoAkggAWpBACACIAFrIgNBggIgA0GCAkkbIgMQGSABIANqDAELIAFBggJqIgEgA00NASAAKAJIIANqQQAgAiADayICIAEgA2siAyACIANJGyIDEBkgACgCQCADags2AkALC50CAQF/AkAgAAJ/IAAoAqAuIgFBwABGBEAgACgCBCAAKAIQaiAAKQOYLjcAACAAQgA3A5guIAAgACgCEEEIajYCEEEADAELIAFBIE4EQCAAKAIEIAAoAhBqIAApA5guPgAAIAAgAEGcLmo1AgA3A5guIAAgACgCEEEEajYCECAAIAAoAqAuQSBrIgE2AqAuCyABQRBOBEAgACgCBCAAKAIQaiAAKQOYLj0AACAAIAAoAhBBAmo2AhAgACAAKQOYLkIQiDcDmC4gACAAKAKgLkEQayIBNgKgLgsgAUEISA0BIAAgACgCECIBQQFqNgIQ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KAJUIgEEfyABQQAgARAiEBkgACgCVAVBAAsQBiAAQQA2AlQLC9wMAgl/AX4jAEFAaiIGJAACQAJAAkACQAJAIAEoAjBBABAjIgVBAkZBACABKAI4QQAQIyIEQQFGGw0AIAVBAUZBACAEQQJGGw0AIAVBAkciAw0BIARBAkcNAQsgASABLwEMQYAQcjsBDEEAIQMMAQsgASABLwEMQf/vA3E7AQxBACEFIANFBEBB9eABIAEoAjAgAEEIahBpIgVFDQILIAJBgAJxBEAgBSEDDAELIARBAkcEQCAFIQMMAQtB9cYBIAEoAjggAEEIahBpIgNFBEAgBRAcDAILIAMgBTYCAAsgASABLwEMQf7/A3EgAS8BUiIFQQBHcjsBDAJAAkACQAJAAn8CQAJAIAEpAyhC/v///w9WDQAgASkDIEL+////D1YNACACQYAEcUUNASABKQNIQv////8PVA0BCyAFQYECa0H//wNxQQNJIQdBAQwBCyAFQYECa0H//wNxIQQgAkGACnFBgApHDQEgBEEDSSEHQQALIQkgBkIcEBciBEUEQCAAQQhqIgAEQCAAQQA2AgQgAEEONgIACyADEBwMBQsgAkGACHEhBQJAAkAgAkGAAnEEQAJAIAUNACABKQMgQv////8PVg0AIAEpAyhCgICAgBBUDQMLIAQgASkDKBAYIAEpAyAhDAwBCwJAAkACQCAFDQAgASkDIEL/////D1YNACABKQMoIgxC/////w9WDQEgASkDSEKAgICAEFQNBAsgASkDKCIMQv////8PVA0BCyAEIAwQGAsgASkDICIMQv////8PWgRAIAQgDBAYCyABKQNIIgxC/////w9UDQELIAQgDBAYCyAELQAARQRAIABBCGoiAARAIABBADYCBCAAQRQ2AgALIAQQCCADEBwMBQtBASEKQQEgBC0AAAR+IAQpAxAFQgALp0H//wNxIAYQRyEFIAQQCCAFIAM2AgAgBw0BDAILIAMhBSAEQQJLDQELIAZCBxAXIgRFBEAgAEEIaiIABEAgAEEANgIEIABBDjYCAAsgBRAcDAMLIARBAhANIARBhxJBAhAsIAQgAS0AUhBwIAQgAS8BEBANIAQtAABFBEAgAEEIaiIABEAgAEEANgIEIABBFDYCAAsgBBAIDAILQYGyAkEHIAYQRyEDIAQQCCADIAU2AgBBASEL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NgIEIABB7A42AhggGiEdDAMLIARB/wFxIgJBwABxRQRAIAggDSADLwECQQJ0aiAdp0F/IAJ0QX9zcUECdGoiAy0AASICayEIIB0gAq2IIR0gAy0AACIERQ0HDAELCyAEQSBxBEAgB0G//gA2AgQgASECDAgLIAdB0f4ANgIEIABB0A42AhggASECDAcLIB1BfyAGdEF/c62DIBt8IhunIQUgCCAEQQ9xIgNrIQggGiAErUIPg4ghHSABIBdrIgYgAjMBAiAaQX8gA3RBf3Otg3ynIgRPDQIgBCAGayIGIBlNDQEgBygCjEdFDQEgB0HR/gA2AgQgAEG5DDYCGAsgASECIAshBQwFCwJAIA5FBEAgDCARIAZraiEDDAELIAYgDk0EQCAMIA4gBmtqIQMMAQsgDCARIAYgDmsiBmtqIQMgBSAGTQ0AIAUgBmshBQJAAkAgASADTSABIA8gAWusIhogBq0iGyAaIBtUGyIapyIGaiICIANLcQ0AIAMgBmogAUsgASADT3ENACABIAMgBhAHGiACIQEMAQsgASADIAMgAWsiASABQR91IgFqIAFzIgIQByACaiEBIBogAq0iHn0iHFANACACIANqIQIDQAJAIBwgHiAcIB5UGyIbQiBUBEAgGyEaDAELIBsiGkIgfSIgQgWIQgF8QgODIh9QRQRAA0AgASACKQAANwAAIAEgAikAGDcAGCABIAIpABA3ABAgASACKQAINwAIIBpCIH0hGiACQSBqIQIgAUEgaiEBIB9CAX0iH0IAUg0ACwsgIELgAFQNAANAIAEgAikAADcAACABIAIpABg3ABggASACKQAQNwAQIAEgAikACDcACCABIAIpADg3ADggASACKQAwNwAwIAEgAikAKDcAKCABIAIpACA3ACAgASACKQBYNwBYIAEgAikAUDcAUCABIAIpAEg3AEggASACKQBANwBAIAEgAikAYDcAYCABIAIpAGg3AGggASACKQBwNwBwIAEgAikAeDcAeCACQYABaiECIAFBgAFqIQEgGkKAAX0iGkIfVg0ACwsgGkIQWgRAIAEgAikAADcAACABIAIpAAg3AAggGkIQfSEaIAJBEGohAiABQRBqIQELIBpCCFoEQCABIAIpAAA3AAAgGkIIfSEaIAJBCGohAiABQQhqIQELIBpCBFoEQCABIAIoAAA2AAAgGkIEfSEaIAJBBGohAiABQQRqIQELIBpCAloEQCABIAIvAAA7AAAgGkICfSEaIAJBAmohAiABQQJqIQELIBwgG30hHCAaUEUEQCABIAItAAA6AAAgAkEBaiECIAFBAWohAQsgHEIAUg0ACwsgDiEGIAwhAwsgBSAGSwRAAkACQCABIANNIAEgDyABa6wiGiAGrSIbIBogG1QbIhqnIglqIgIgA0txDQAgAyAJaiABSyABIANPcQ0AIAEgAyAJEAcaDAELIAEgAyADIAFrIgEgAUEfdSIBaiABcyIBEAcgAWohAiAaIAGtIh59IhxQDQAgASADaiEBA0ACQCAcIB4gHCAeVBsiG0IgVARAIBshGgwBCyAbIhpCIH0iIEIFiEIBfEIDgyIfUEUEQANAIAIgASkAADcAACACIAEpABg3ABggAiABKQAQNwAQIAIgASkACDcACCAaQiB9IRogAUEgaiEBIAJBIGohAiAfQgF9Ih9CAFINAAsLICBC4ABUDQADQCACIAEpAAA3AAAgAiABKQAYNwAYIAIgASkAEDcAECACIAEpAAg3AAggAiABKQA4NwA4IAIgASkAMDcAMCACIAEpACg3ACggAiABKQAgNwAgIAIgASkAWDcAWCACIAEpAFA3AFAgAiABKQBINwBIIAIgASkAQDcAQCACIAEpAGA3AGAgAiABKQBoNwBoIAIgASkAcDcAcCACIAEpAHg3AHggAUGAAWohASACQYABaiECIBpCgAF9IhpCH1YNAAsLIBpCEFoEQCACIAEpAAA3AAAgAiABKQAINwAIIBpCEH0hGiACQRBqIQIgAUEQaiEBCyAaQghaBEAgAiABKQAANwAAIBpCCH0hGiACQQhqIQIgAUEIaiEBCyAaQgRaBEAgAiABKAAANgAAIBpCBH0hGiACQQRqIQIgAUEEaiEBCyAaQgJaBEAgAiABLwAAOwAAIBpCAn0hGiACQQJqIQIgAUECaiEBCyAcIBt9IRwgGlBFBEAgAiABLQAAOgAAIAJBAWohAiABQQFqIQELIBxCAFINAAsLIAUgBmshAUEAIARrIQUCQCAEQQdLBEAgBCEDDAELIAEgBE0EQCAEIQMMAQsgAiAEayEFA0ACQCACIAUpAAA3AAAgBEEBdCEDIAEgBGshASACIARqIQIgBEEDSw0AIAMhBCABIANLDQELC0EAIANrIQULIAIgBWohBAJAIAUgDyACa6wiGiABrSIbIBogG1QbIhqnIgFIIAVBf0pxDQAgBUEBSCABIARqIAJLcQ0AIAIgBCABEAcgAWohAgwDCyACIAQgAyADQR91IgFqIAFzIgEQByABaiECIBogAa0iHn0iHFANAiABIARqIQEDQAJAIBwgHiAcIB5UGyIbQiBUBEAgGyEaDAELIBsiGkIgfSIgQgWIQgF8QgODIh9QRQRAA0AgAiABKQAANwAAIAIgASkAGDcAGCACIAEpABA3ABAgAiABKQAINwAIIBpCIH0hGiABQSBqIQEgAkEgaiECIB9CAX0iH0IAUg0ACwsgIELgAFQNAANAIAIgASkAADcAACACIAEpABg3ABggAiABKQAQNwAQIAIgASkACDcACCACIAEpADg3ADggAiABKQAwNwAwIAIgASkAKDcAKCACIAEpACA3ACAgAiABKQBYNwBYIAIgASkAUDcAUCACIAEpAEg3AEggAiABKQBANwBAIAIgASkAYDcAYCACIAEpAGg3AGggAiABKQBwNwBwIAIgASkAeDcAeCABQYABaiEBIAJBgAFqIQIgGkKAAX0iGkIfVg0ACwsgGkIQWgRAIAIgASkAADcAACACIAEpAAg3AAggGkIQfSEaIAJBEGohAiABQRBqIQELIBpCCFoEQCACIAEpAAA3AAAgGkIIfSEaIAJBCGohAiABQQhqIQELIBpCBFoEQCACIAEoAAA2AAAgGkIEfSEaIAJBBGohAiABQQRqIQELIBpCAloEQCACIAEvAAA7AAAgGkICfSEaIAJBAmohAiABQQJqIQELIBwgG30hHCAaUEUEQCACIAEtAAA6AAAgAkEBaiECIAFBAWohAQsgHFBFDQALDAILAkAgASADTSABIA8gAWusIhogBa0iGyAaIBtUGyIapyIEaiICIANLcQ0AIAMgBGogAUsgASADT3ENACABIAMgBBAHGgwCCyABIAMgAyABayIBIAFBH3UiAWogAXMiARAHIAFqIQIgGiABrSIefSIcUA0BIAEgA2ohAQNAAkAgHCAeIBwgHlQbIhtCIFQEQCAbIRoMAQsgGyIaQiB9IiBCBYhCAXxCA4MiH1BFBEADQCACIAEpAAA3AAAgAiABKQAYNwAYIAIgASkAEDcAECACIAEpAAg3AAggGkIgfSEaIAFBIGohASACQSBqIQIgH0IBfSIfQgBSDQALCyAgQuAAVA0AA0AgAiABKQAANwAAIAIgASkAGDcAGCACIAEpABA3ABAgAiABKQAINwAIIAIgASkAODcAOCACIAEpADA3ADAgAiABKQAoNwAoIAIgASkAIDcAICACIAEpAFg3AFggAiABKQBQNwBQIAIgASkASDcASCACIAEpAEA3AEAgAiABKQBgNwBgIAIgASkAaDcAaCACIAEpAHA3AHAgAiABKQB4NwB4IAFBgAFqIQEgAkGAAWohAiAaQoABfSIaQh9WDQALCyAaQhBaBEAgAiABKQAANwAAIAIgASkACDcACCAaQhB9IRogAkEQaiECIAFBEGohAQsgGkIIWgRAIAIgASkAADcAACAaQgh9IRogAkEIaiECIAFBCGohAQsgGkIEWgRAIAIgASgAADYAACAaQgR9IRogAkEEaiECIAFBBGohAQsgGkICWgRAIAIgAS8AADsAACAaQgJ9IRogAkECaiECIAFBAmohAQsgHCAbfSEcIBpQRQRAIAIgAS0AADoAACACQQFqIQIgAUEBaiEBCyAcUEUNAAsMAQsCQAJAIBYEQAJAIAQgBUkEQCAHKAKYRyAESw0BCyABIARrIQMCQEEAIARrIgVBf0ogDyABa6wiGiAbIBogG1QbIhqnIgIgBUpxDQAgBUEBSCACIANqIAFLcQ0AIAEgAyACEAcgAmohAgwFCyABIAMgBCAEQR91IgFqIAFzIgEQByABaiECIBogAa0iHn0iHFANBCABIANqIQEDQAJAIBwgHiAcIB5UGyIbQiBUBEAgGyEaDAELIBsiGkIgfSIgQgWIQgF8QgODIh9QRQRAA0AgAiABKQAANwAAIAIgASkAGDcAGCACIAEpABA3ABAgAiABKQAINwAIIBpCIH0hGiABQSBqIQEgAkEgaiECIB9CAX0iH0IAUg0ACwsgIELgAFQNAANAIAIgASkAADcAACACIAEpABg3ABggAiABKQAQNwAQIAIgASkACDcACCACIAEpADg3ADggAiABKQAwNwAwIAIgASkAKDcAKCACIAEpACA3ACAgAiABKQBYNwBYIAIgASkAUDcAUCACIAEpAEg3AEggAiABKQBANwBAIAIgASkAYDcAYCACIAEpAGg3AGggAiABKQBwNwBwIAIgASkAeDcAeCABQYABaiEBIAJBgAFqIQIgGkKAAX0iGkIfVg0ACwsgGkIQWgRAIAIgASkAADcAACACIAEpAAg3AAggGkIQfSEaIAJBEGohAiABQRBqIQELIBpCCFoEQCACIAEpAAA3AAAgGkIIfSEaIAJBCGohAiABQQhqIQELIBpCBFoEQCACIAEoAAA2AAAgGkIEfSEaIAJBBGohAiABQQRqIQELIBpCAloEQCACIAEvAAA7AAAgGkICfSEaIAJBAmohAiABQQJqIQELIBwgG30hHCAaUEUEQCACIAEtAAA6AAAgAkEBaiECIAFBAWohAQsgHFBFDQALDAQLIBAgAWsiCUEBaiIGIAUgBSAGSxshAyABIARrIQIgAUEHcUUNAiADRQ0CIAEgAi0AADoAACACQQFqIQIgAUEBaiIGQQdxQQAgA0EBayIFGw0BIAYhASAFIQMgCSEGDAILAkAgBCAFSQRAIAcoAphHIARLDQELIAEgASAEayIGKQAANwAAIAEgBUEBa0EHcUEBaiIDaiECIAUgA2siBEUNAyADIAZqIQEDQCACIAEpAAA3AAAgAUEIaiEBIAJBCGohAiAEQQhrIgQNAAsMAwsgASAEIAUQPyECDAILIAEgAi0AADoAASAJQQFrIQYgA0ECayEFIAJBAWohAgJAIAFBAmoiCkEHcUUNACAFRQ0AIAEgAi0AADoAAiAJQQJrIQYgA0EDayEFIAJBAWohAgJAIAFBA2oiCkEHcUUNACAFRQ0AIAEgAi0AADoAAyAJQQNrIQYgA0EEayEFIAJBAWohAgJAIAFBBGoiCkEHcUUNACAFRQ0AIAEgAi0AADoABCAJQQRrIQYgA0EFayEFIAJBAWohAgJAIAFBBWoiCkEHcUUNACAFRQ0AIAEgAi0AADoABSAJQQVrIQYgA0EGayEFIAJBAWohAgJAIAFBBmoiCkEHcUUNACAFRQ0AIAEgAi0AADoABiAJQQZrIQYgA0EHayEFIAJBAWohAgJAIAFBB2oiCkEHcUUNACAFRQ0AIAEgAi0AADoAByAJQQdrIQYgA0EIayEDIAFBCGohASACQQFqIQIMBgsgCiEBIAUhAwwFCyAKIQEgBSEDDAQLIAohASAFIQMMAwsgCiEBIAUhAwwCCyAKIQEgBSEDDAELIAohASAFIQMLAkACQCAGQRdNBEAgA0UNASADQQFrIQUgA0EHcSIEBEADQCABIAItAAA6AAAgA0EBayEDIAFBAWohASACQQFqIQIgBEEBayIEDQALCyAFQQdJDQEDQCABIAItAAA6AAAgASACLQABOgABIAEgAi0AAjoAAiABIAItAAM6AAMgASACLQAEOgAEIAEgAi0ABToABSABIAItAAY6AAYgASACLQAHOgAHIAFBCGohASACQQhqIQIgA0EIayIDDQALDAELIAMNAQsgASECDAELIAEgBCADED8hAgsgCyEFDAELIAEgAy0AAjoAACABQQFqIQILIAUgFE8NACACIBNJDQELCyAAIAI2AgwgACAFIAhBA3ZrIgE2AgAgACATIAJrQYMCajYCECAAIBQgAWtBDmo2AgQgByAIQQdxIgA2AogBIAcgHUJ/IACthkJ/hYM+AoQBC+cFAQR/IAMgAiACIANLGyEEIAAgAWshAgJAIABBB3FFDQAgBEUNACAAIAItAAA6AAAgA0EBayEGIAJBAWohAiAAQQFqIgdBB3FBACAEQQFrIgUbRQRAIAchACAFIQQgBiEDDAELIAAgAi0AADoAASADQQJrIQYgBEECayEFIAJBAWohAgJAIABBAmoiB0EHcUUNACAFRQ0AIAAgAi0AADoAAiADQQNrIQYgBEEDayEFIAJBAWohAgJAIABBA2oiB0EHcUUNACAFRQ0AIAAgAi0AADoAAyADQQRrIQYgBEEEayEFIAJBAWohAgJAIABBBGoiB0EHcUUNACAFRQ0AIAAgAi0AADoABCADQQVrIQYgBEEFayEFIAJBAWohAgJAIABBBWoiB0EHcUUNACAFRQ0AIAAgAi0AADoABSADQQZrIQYgBEEGayEFIAJBAWohAgJAIABBBmoiB0EHcUUNACAFRQ0AIAAgAi0AADoABiADQQdrIQYgBEEHayEFIAJBAWohAgJAIABBB2oiB0EHcUUNACAFRQ0AIAAgAi0AADoAByADQQhrIQMgBEEIayEEIABBCGohACACQQFqIQIMBgsgByEAIAUhBCAGIQMMBQsgByEAIAUhBCAGIQMMBAsgByEAIAUhBCAGIQMMAwsgByEAIAUhBCAGIQMMAgsgByEAIAUhBCAGIQMMAQsgByEAIAUhBCAGIQMLAkAgA0EXTQRAIARFDQEgBEEBayEBIARBB3EiAwRAA0AgACACLQAAOgAAIARBAWshBCAAQQFqIQAgAkEBaiECIANBAWsiAw0ACwsgAUEHSQ0BA0AgACACLQAAOgAAIAAgAi0AAToAASAAIAItAAI6AAIgACACLQADOgADIAAgAi0ABDoABCAAIAItAAU6AAUgACACLQAGOgAGIAAgAi0ABzoAByAAQQhqIQAgAkEIaiECIARBCGsiBA0ACwwBCyAERQ0AIAAgASAEED8hAAsgAAvyCAEXfyAAKAJoIgwgACgCMEGGAmsiBWtBACAFIAxJGyENIAAoAnQhAiAAKAKQASEPIAAoAkgiDiAMaiIJIAAoAnAiBUECIAUbIgVBAWsiBmoiAy0AASESIAMtAAAhEyAGIA5qIQZBAyEDIAAoApQBIRYgACgCPCEUIAAoAkwhECAAKAI4IRECQAJ/IAVBA0kEQCANIQggDgwBCyAAIABBACAJLQABIAAoAnwRAAAgCS0AAiAAKAJ8EQAAIQoDQCAAIAogAyAJai0AACAAKAJ8EQAAIQogACgCUCAKQQF0ai8BACIIIAEgCCABQf//A3FJIggbIQEgA0ECayAHIAgbIQcgA0EBaiIDIAVNDQALIAFB//8DcSAHIA1qIghB//8DcU0NASAGIAdB//8DcSIDayEGIA4gA2sLIQMCQAJAIAwgAUH//wNxTQ0AIAIgAkECdiAFIA9JGyEKIA1B//8DcSEVIAlBAmohDyAJQQRrIRcDQAJAAkAgBiABQf//A3EiC2otAAAgE0cNACAGIAtBAWoiAWotAAAgEkcNACADIAtqIgItAAAgCS0AAEcNACABIANqLQAAIAktAAFGDQELIApBAWsiCkUNAiAQIAsgEXFBAXRqLwEAIgEgCEH//wNxSw0BDAILIAJBAmohAUEAIQQgDyECAkADQCACLQAAIAEtAABHDQEgAi0AASABLQABRwRAIARBAXIhBAwCCyACLQACIAEtAAJHBEAgBEECciEEDAILIAItAAMgAS0AA0cEQCAEQQNyIQQMAgsgAi0ABCABLQAERwRAIARBBHIhBAwCCyACLQAFIAEtAAVHBEAgBEEFciEEDAILIAItAAYgAS0ABkcEQCAEQQZyIQQMAgsgAi0AByABLQAHRwRAIARBB3IhBAwCCyABQQhqIQEgAkEIaiECIARB+AFJIRggBEEIaiEEIBgNAAtBgAIhBAsCQAJAIAUgBEECaiICSQRAIAAgCyAHQf//A3FrIgY2AmwgAiAUSwRAIBQPCyACIBZPBEAgAg8LIAkgBEEBaiIFaiIBLQABIRIgAS0AACETAkAgAkEESQ0AIAIgBmogDE8NACAGQf//A3EhCCAEQQFrIQtBACEDQQAhBwNAIBAgAyAIaiARcUEBdGovAQAiASAGQf//A3FJBEAgAyAVaiABTw0IIAMhByABIQYLIANBAWoiAyALTQ0ACyAAIAAgAEEAIAIgF2oiAS0AACAAKAJ8EQAAIAEtAAEgACgCfBEAACABLQACIAAoAnwRAAAhASAAKAJQIAFBAXRqLwEAIgEgBkH//wNxTwRAIAdB//8DcSEDIAYhAQwDCyAEQQJrIgdB//8DcSIDIBVqIAFPDQYMAgsgAyAFaiEGIAIhBQsgCkEBayIKRQ0DIBAgCyARcUEBdGovAQAiASAIQf//A3FNDQMMAQsgByANaiEIIA4gA2siAyAFaiEGIAIhBQsgDCABQf//A3FLDQALCyAFDwsgAiEFCyAFIAAoAjwiACAAIAVLGwuGBQETfyAAKAJ0IgMgA0ECdiAAKAJwIgNBAiADGyIDIAAoApABSRshByAAKAJoIgogACgCMEGGAmsiBWtB//8DcUEAIAUgCkkbIQwgACgCSCIIIApqIgkgA0EBayICaiIFLQABIQ0gBS0AACEOIAlBAmohBSACIAhqIQsgACgClAEhEiAAKAI8IQ8gACgCTCEQIAAoAjghESAAKAKIAUEFSCETA0ACQCAKIAFB//8DcU0NAANAAkACQCALIAFB//8DcSIGai0AACAORw0AIAsgBkEBaiIBai0AACANRw0AIAYgCGoiAi0AACAJLQAARw0AIAEgCGotAAAgCS0AAUYNAQsgB0EBayIHRQ0CIAwgECAGIBFxQQF0ai8BACIBSQ0BDAILCyACQQJqIQRBACECIAUhAQJAA0AgAS0AACAELQAARw0BIAEtAAEgBC0AAUcEQCACQQFyIQIMAgsgAS0AAiAELQACRwRAIAJBAnIhAgwCCyABLQADIAQtAANHBEAgAkEDciECDAILIAEtAAQgBC0ABEcEQCACQQRyIQIMAgsgAS0ABSAELQAFRwRAIAJBBXIhAgwCCyABLQAGIAQtAAZHBEAgAkEGciECDAILIAEtAAcgBC0AB0cEQCACQQdyIQIMAgsgBEEIaiEEIAFBCGohASACQfgBSSEUIAJBCGohAiAUDQALQYACIQILAkAgAyACQQJqIgFJBEAgACAGNgJsIAEgD0sEQCAPDwsgASASTwRAIAEPCyAIIAJBAWoiA2ohCyADIAlqIgMtAAEhDSADLQAAIQ4gASEDDAELIBMNAQsgB0EBayIHRQ0AIAwgECAGIBFxQQF0ai8BACIBSQ0BCwsgAwvLAQECfwJAA0AgAC0AACABLQAARw0BIAAtAAEgAS0AAUcEQCACQQFyDwsgAC0AAiABLQACRwRAIAJBAnIPCyAALQADIAEtAANHBEAgAkEDcg8LIAAtAAQgAS0ABEcEQCACQQRyDwsgAC0ABSABLQAFRwRAIAJBBXIPCyAALQAGIAEtAAZHBEAgAkEGcg8LIAAtAAcgAS0AB0cEQCACQQdyDwsgAUEIaiEBIABBCGohACACQfgBSSEDIAJBCGohAiADDQALQYACIQILIAIL5wwBB38gAEF/cyEAIAJBF08EQAJAIAFBA3FFDQAgAS0AACAAQf8BcXNBAnRB0BhqKAIAIABBCHZzIQAgAkEBayIEQQAgAUEBaiIDQQNxG0UEQCAEIQIgAyEBDAELIAEtAAEgAEH/AXFzQQJ0QdAYaigCACAAQQh2cyEAIAFBAmohAwJAIAJBAmsiBEUNACADQQNxRQ0AIAEtAAIgAEH/AXFzQQJ0QdAYaigCACAAQQh2cyEAIAFBA2ohAwJAIAJBA2siBEUNACADQQNxRQ0AIAEtAAMgAEH/AXFzQQJ0QdAYaigCACAAQQh2cyEAIAFBBGohASACQQRrIQIMAgsgBCECIAMhAQwBCyAEIQIgAyEBCyACQRRuIgNBbGwhCQJAIANBAWsiCEUEQEEAIQQMAQsgA0EUbCABakEUayEDQQAhBANAIAEoAhAgB3MiB0EWdkH8B3FB0DhqKAIAIAdBDnZB/AdxQdAwaigCACAHQQZ2QfwHcUHQKGooAgAgB0H/AXFBAnRB0CBqKAIAc3NzIQcgASgCDCAGcyIGQRZ2QfwHcUHQOGooAgAgBkEOdkH8B3FB0DBqKAIAIAZBBnZB/AdxQdAoaigCACAGQf8BcUECdEHQIGooAgBzc3MhBiABKAIIIAVzIgVBFnZB/AdxQdA4aigCACAFQQ52QfwHcUHQMGooAgAgBUEGdkH8B3FB0ChqKAIAIAVB/wFxQQJ0QdAgaigCAHNzcyEFIAEoAgQgBHMiBEEWdkH8B3FB0DhqKAIAIARBDnZB/AdxQdAwaigCACAEQQZ2QfwHcUHQKGooAgAgBEH/AXFBAnRB0CBqKAIAc3NzIQQgASgCACAAcyIAQRZ2QfwHcUHQOGooAgAgAEEOdkH8B3FB0DBqKAIAIABBBnZB/AdxQdAoaigCACAAQf8BcUECdEHQIGooAgBzc3MhACABQRRqIQEgCEEBayIIDQALIAMhAQsgAiAJaiECIAEoAhAgASgCDCABKAIIIAEoAgQgASgCACAAcyIAQQh2IABB/wFxQQJ0QdAYaigCAHMiAEEIdiAAQf8BcUECdEHQGGooAgBzIgBBCHYgAEH/AXFBAnRB0BhqKAIAcyIAQf8BcUECdEHQGGooAgAgBHNzIABBCHZzIgBBCHYgAEH/AXFBAnRB0BhqKAIAcyIAQQh2IABB/wFxQQJ0QdAYaigCAHMiAEEIdiAAQf8BcUECdEHQGGooAgBzIgBB/wFxQQJ0QdAYaigCACAFc3MgAEEIdnMiAEEIdiAAQf8BcUECdEHQGGooAgBzIgBBCHYgAEH/AXFBAnRB0BhqKAIAcyIAQQh2IABB/wFxQQJ0QdAYaigCAHMiAEH/AXFBAnRB0BhqKAIAIAZzcyAAQQh2cyIAQQh2IABB/wFxQQJ0QdAYaigCAHMiAEEIdiAAQf8BcUECdEHQGGooAgBzIgBBCHYgAEH/AXFBAnRB0BhqKAIAcyIAQf8BcUECdEHQGGooAgAgB3NzIABBCHZzIgBBCHYgAEH/AXFBAnRB0BhqKAIAcyIAQQh2IABB/wFxQQJ0QdAYaigCAHMiAEEIdiAAQf8BcUECdEHQGGooAgBzIgBBCHYgAEH/AXFBAnRB0BhqKAIAcyEAIAFBFGohAQsgAkEHSwRAA0AgAS0AByABLQAGIAEtAAUgAS0ABCABLQADIAEtAAIgAS0AASABLQAAIABB/wFxc0ECdEHQGGooAgAgAEEIdnMiAEH/AXFzQQJ0QdAYaigCACAAQQh2cyIAQf8BcXNBAnRB0BhqKAIAIABBCHZzIgBB/wFxc0ECdEHQGGooAgAgAEEIdnMiAEH/AXFzQQJ0QdAYaigCACAAQQh2cyIAQf8BcXNBAnRB0BhqKAIAIABBCHZzIgBB/wFxc0ECdEHQGGooAgAgAEEIdnMiAEH/AXFzQQJ0QdAYaigCACAAQQh2cyEAIAFBCGohASACQQhrIgJBB0sNAAsLAkAgAkUNACACQQFxBH8gAS0AACAAQf8BcXNBAnRB0BhqKAIAIABBCHZzIQAgAUEBaiEBIAJBAWsFIAILIQMgAkEBRg0AA0AgAS0AASABLQAAIABB/wFxc0ECdEHQGGooAgAgAEEIdnMiAEH/AXFzQQJ0QdAYaigCACAAQQh2cyEAIAFBAmohASADQQJrIgMNAAsLIABBf3MLwgIBA38jAEEQayIIJAACfwJAIAAEQCAEDQEgBVANAQsgBgRAIAZBADYCBCAGQRI2AgALQQAMAQtBgAEQCSIHRQRAIAYEQCAGQQA2AgQgBkEONgIAC0EADAELIAcgATcDCCAHQgA3AwAgB0EoaiIJECogByAFNwMYIAcgBDYCECAHIAM6AGAgB0EANgJsIAdCADcCZCAAKQMYIQEgCEF/NgIIIAhCjoCAgPAANwMAIAdBECAIECQgAUL/gQGDhCIBNwNwIAcgAadBBnZBAXE6AHgCQCACRQ0AIAkgAhBgQX9KDQAgBxAGQQAMAQsgBhBfIgIEQCAAIAAoAjBBAWo2AjAgAiAHNgIIIAJBATYCBCACIAA2AgAgAkI/IAAgB0EAQgBBDkEBEQoAIgEgAUIAUxs3AxgLIAILIQAgCEEQaiQAIAALYgEBf0E4EAkiAUUEQCAABEAgAEEANgIEIABBDjYCAAtBAA8LIAFBADYCCCABQgA3AwAgAUIANwMgIAFCgICAgBA3AiwgAUEAOgAoIAFBADYCFCABQgA3AgwgAUEAOwE0IAELuwEBAX4gASkDACICQgKDUEUEQCAAIAEpAxA3AxALIAJCBINQRQRAIAAgASkDGDcDGAsgAkIIg1BFBEAgACABKQMgNwMgCyACQhCDUEUEQCAAIAEoAig2AigLIAJCIINQRQRAIAAgASgCLDYCLAsgAkLAAINQRQRAIAAgAS8BMDsBMAsgAkKAAYNQRQRAIAAgAS8BMjsBMgsgAkKAAoNQRQRAIAAgASgCNDYCNAsgACAAKQMAIAKENwMAQQALGQAgAUUEQEEADwsgACABKAIAIAEzAQQQGws3AQJ/IABBACABG0UEQCAAIAFGDwsgAC8BBCIDIAEvAQRGBH8gACgCACABKAIAIAMQPQVBAQtFCyIBAX8gAUUEQEEADwsgARAJIgJFBEBBAA8LIAIgACABEAcLKQAgACABIAIgAyAEEEUiAEUEQEEADwsgACACQQAgBBA1IQEgABAGIAELcQEBfgJ/AkAgAkJ/VwRAIAMEQCADQQA2AgQgA0EUNgIACwwBCyAAIAEgAhARIgRCf1cEQCADBEAgAyAAKAIMNgIAIAMgACgCEDYCBAsMAQtBACACIARXDQEaIAMEQCADQQA2AgQgA0ERNgIACwtBfwsLNQAgACABIAJBABAmIgBFBEBBfw8LIAMEQCADIAAtAAk6AAALIAQEQCAEIAAoAkQ2AgALQQAL/AECAn8BfiMAQRBrIgMkAAJAIAAgA0EOaiABQYAGQQAQRiIARQRAIAIhAAwBCyADLwEOIgFBBUkEQCACIQAMAQsgAC0AAEEBRwRAIAIhAAwBCyAAIAGtQv//A4MQFyIBRQRAIAIhAAwBCyABEH0aAkAgARAVIAIEfwJ/IAIvAQQhAEEAIAIoAgAiBEUNABpBACAEIABB1IABKAIAEQAACwVBAAtHBEAgAiEADAELIAEgAS0AAAR+IAEpAwggASkDEH0FQgALIgVC//8DgxATIAWnQf//A3FBgBBBABA1IgBFBEAgAiEADAELIAIQEAsgARAICyADQRBqJAAgAAvmDwIIfwJ+IwBB4ABrIgckAEEeQS4gAxshCwJAAkAgAgRAIAIiBSIGLQAABH4gBikDCCAGKQMQfQVCAAsgC61aDQEgBARAIARBADYCBCAEQRM2AgALQn8hDQwCCyABIAutIAcgBBAtIgUNAEJ/IQ0MAQsgBUIEEBMoAABBoxJBqBIgAxsoAABHBEAgBARAIARBADYCBCAEQRM2AgALQn8hDSACDQEgBRAIDAELIABCADcDICAAQQA2AhggAEL/////DzcDECAAQQA7AQwgAEG/hig2AgggAEEBOgAGIABBADsBBCAAQQA2AgAgAEIANwNIIABBgIDYjXg2AkQgAEIANwMoIABCADcDMCAAQgA3AzggAEFAa0EAOwEAIABCADcDUCAAIAMEf0EABSAFEAwLOwEIIAAgBRAMOwEKIAAgBRAMOwEMIAAgBRAMNgIQIAUQDCEGIAUQDCEJIAdBADYCWCAHQgA3A1AgB0IANwNIIAcgCUEfcTYCPCAHIAZBC3Y2AjggByAGQQV2QT9xNgI0IAcgBkEBdEE+cTYCMCAHIAlBCXZB0ABqNgJEIAcgCUEFdkEPcUEBazYCQCAAIAdBMGoQBTYCFCAAIAUQFTYCGCAAIAUQFa03AyAgACAFEBWtNwMoIAUQDCEIIAUQDCEGIAACfiADBEBBACEJIABBADYCRCAAQQA7AUAgAEEANgI8QgAMAQsgBRAMIQkgACAFEAw2AjwgACAFEAw7AUAgACAFEBU2AkQgBRAVrQs3A0ggBS0AAEUEQCAEBEAgBEEANgIEIARBFDYCAAtCfyENIAINASAFEAgMAQsCQCAALwEMIgpBAXEEQCAKQcAAcQRAIABB//8DOwFSDAILIABBATsBUgwBCyAAQQA7AVILIABBADYCOCAAQgA3AzAgBiAIaiAJaiEKAkAgAgRAIAUtAAAEfiAFKQMIIAUpAxB9BUIACyAKrVoNASAEBEAgBEEANgIEIARBFTYCAAtCfyENDAILIAUQCCABIAqtQQAgBBAtIgUNAEJ/IQ0MAQsCQCAIRQ0AIAAgBSABIAhBASAEEGQiCDYCMCAIRQRAIAQoAgBBEUYEQCAEBEAgBEEANgIEIARBFTYCAAsLQn8hDSACDQIgBRAIDAILIAAtAA1BCHFFDQAgCEECECNBBUcNACAEBEAgBEEANgIEIARBFTYCAAtCfyENIAINASAFEAgMAQsgAEE0aiEIAkAgBkUNACAFIAEgBkEAIAQQRSIMRQRAQn8hDSACDQIgBRAIDAILIAwgBkGAAkGABCADGyAIIAQQbiEGIAwQBiAGRQRAQn8hDSACDQIgBRAIDAILIANFDQAgAEEBOgAECwJAIAlFDQAgACAFIAEgCUEAIAQQZCIBNgI4IAFFBEBCfyENIAINAiAFEAgMAgsgAC0ADUEIcUUNACABQQIQI0EFRw0AIAQEQCAEQQA2AgQgBEEVNgIAC0J/IQ0gAg0BIAUQCAwBCyAAIAAoAjRB9eABIAAoAjAQZzYCMCAAIAAoAjRB9cYBIAAoAjgQZzYCOAJAAkAgACkDKEL/////D1ENACAAKQMgQv////8PUQ0AIAApA0hC/////w9SDQELAkACQAJAIAgoAgAgB0EwakEBQYACQYAEIAMbIAQQRiIBRQRAIAJFDQEMAgsgASAHMwEwEBciAUUEQCAEBEAgBEEANgIEIARBDjYCAAsgAkUNAQwCCwJAIAApAyhC/////w9RBEAgACABEB03AygMAQsgA0UNAEEAIQYCQCABKQMQIg5CCHwiDSAOVA0AIAEpAwggDVQNACABIA03AxBBASEGCyABIAY6AAALIAApAyBC/////w9RBEAgACABEB03AyALAkAgAw0AIAApA0hC/////w9RBEAgACABEB03A0gLIAAoAjxB//8DRw0AIAAgARAVNgI8CyABLQAABH8gASkDECABKQMIUQVBAAsNAiAEBEAgBEEANgIEIARBFTYCAAsgARAIIAINAQsgBRAIC0J/IQ0MAgsgARAICyAFLQAARQRAIAQEQCAEQQA2AgQgBEEUNgIAC0J/IQ0gAg0BIAUQCAwBCyACRQRAIAUQCAtCfyENIAApA0hCf1cEQCAEBEAgBEEWNgIEIARBBDYCAAsMAQsjAEEQayIDJABBASEBAkAgACgCEEHjAEcNAEEAIQECQCAAKAI0IANBDmpBgbICQYAGQQAQRiICBEAgAy8BDiIFQQZLDQELIAQEQCAEQQA2AgQgBEEVNgIACwwBCyACIAWtQv//A4MQFyICRQRAIAQEQCAEQQA2AgQgBEEUNgIACwwBC0EBIQECQAJAAkAgAhAMQQFrDgICAQALQQAhASAEBEAgBEEANgIEIARBGDYCAAsgAhAIDAILIAApAyhCE1YhAQsgAkICEBMvAABBwYoBRwRAQQAhASAEBEAgBEEANgIEIARBGDYCAAsgAhAIDAELIAIQfUEBayIFQf8BcUEDTwRAQQAhASAEBEAgBEEANgIEIARBGDYCAAsgAhAIDAELIAMvAQ5BB0cEQEEAIQEgBARAIARBADYCBCAEQRU2AgALIAIQCAwBCyAAIAE6AAYgACAFQf8BcUGBAmo7AVIgACACEAw2AhAgAhAIQQEhAQsgA0EQaiQAIAFFDQAgCCAIKAIAEG02AgAgCiALaq0hDQsgB0HgAGokACANC4ECAQR/IwBBEGsiBCQAAkAgASAEQQxqQcAAQQAQJSIGRQ0AIAQoAgxBBWoiA0GAgARPBEAgAgRAIAJBADYCBCACQRI2AgALDAELQQAgA60QFyIDRQRAIAIEQCACQQA2AgQgAkEONgIACwwBCyADQQEQcCADIAEEfwJ/IAEvAQQhBUEAIAEoAgAiAUUNABpBACABIAVB1IABKAIAEQAACwVBAAsQEiADIAYgBCgCDBAsAn8gAy0AAEUEQCACBEAgAkEANgIEIAJBFDYCAAtBAAwBCyAAIAMtAAAEfiADKQMQBUIAC6dB//8DcSADKAIEEEcLIQUgAxAICyAEQRBqJAAgBQvgAQICfwF+QTAQCSICRQRAIAEEQCABQQA2AgQgAUEONgIAC0EADwsgAkIANwMIIAJBADYCACACQgA3AxAgAkIANwMYIAJCADcDICACQgA3ACUgAFAEQCACDwsCQCAAQv////8AVg0AIACnQQR0EAkiA0UNACACIAM2AgBBACEBQgEhBANAIAMgAUEEdGoiAUIANwIAIAFCADcABSAAIARSBEAgBKchASAEQgF8IQQMAQsLIAIgADcDCCACIAA3AxAgAg8LIAEEQCABQQA2AgQgAUEONgIAC0EAEBAgAhAGQQAL7gECA38BfiMAQRBrIgQkAAJAIARBDGpCBBAXIgNFBEBBfyECDAELAkAgAQRAIAJBgAZxIQUDQAJAIAUgASgCBHFFDQACQCADKQMIQgBUBEAgA0EAOgAADAELIANCADcDECADQQE6AAALIAMgAS8BCBANIAMgAS8BChANIAMtAABFBEAgAEEIaiIABEAgAEEANgIEIABBFDYCAAtBfyECDAQLQX8hAiAAIARBDGpCBBAbQQBIDQMgATMBCiIGUA0AIAAgASgCDCAGEBtBAEgNAwsgASgCACIBDQALC0EAIQILIAMQCAsgBEEQaiQAIAILPAEBfyAABEAgAUGABnEhAQNAIAEgACgCBHEEQCACIAAvAQpqQQRqIQILIAAoAgAiAA0ACwsgAkH//wNxC5wBAQN/IABFBEBBAA8LIAAhAwNAAn8CQAJAIAAvAQgiAUH04AFNBEAgAUEBRg0BIAFB9cYBRg0BDAILIAFBgbICRg0AIAFB9eABRw0BCyAAKAIAIQEgAEEANgIAIAAoAgwQBiAAEAYgASADIAAgA0YbIQMCQCACRQRAQQAhAgwBCyACIAE2AgALIAEMAQsgACICKAIACyIADQALIAMLsgQCBX8BfgJAAkACQCAAIAGtEBciAQRAIAEtAAANAUEAIQAMAgsgBARAIARBADYCBCAEQQ42AgALQQAPC0EAIQADQCABLQAABH4gASkDCCABKQMQfQVCAAtCBFQNASABEAwhByABIAEQDCIGrRATIghFBEBBACECIAQEQCAEQQA2AgQgBEEVNgIACyABEAggAEUNAwNAIAAoAgAhASAAKAIMEAYg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DCAAQRg2AggLDAMLIAAgBiAFLwFqQQAgBCABEQYAIQEgBhALIAFFDQILAkAgDUUEQCABIQMMAQsgACABIAUvAWgQgQEhAyABEAsgA0UNAQsCQCAJRSAMckUEQCADIQEMAQsgACADQQEQgAEhASADEAsgAUUNAQsgASEDDAELQQAhAwsgBUHwAGokACADC4UBAQF/IAFFBEAgAEEIaiIABEAgAEEANgIEIABBEjYCAAtBAA8LQTgQCSIDRQRAIABBCGoiAARAIABBADYCBCAAQQ42AgALQQAPCyADQQA2AhAgA0IANwIIIANCADcDKCADQQA2AgQgAyACNgIAIANCADcDGCADQQA2AjAgACABQTsgAxBCCw8AIAAgASACQQBBABCCAQusAgECfyABRQRAIABBCGoiAARAIABBADYCBCAAQRI2AgALQQAPCwJAIAJBfUsNACACQf//A3FBCEYNACAAQQhqIgAEQCAAQQA2AgQgAEEQNgIAC0EADwsCQEGwwAAQCSIFBEAgBUEANgIIIAVCADcCACAFQYiBAUGogQEgAxs2AqhAIAUgAjYCFCAFIAM6ABAgBUEAOgAPIAVBADsBDCAFIAMgAkF9SyIGcToADiAFQQggAiAGG0H//wNxIAQgBUGIgQFBqIEBIAMbKAIAEQAAIgI2AqxAIAINASAFEDEgBRAGCyAAQQhqIgAEQCAAQQA2AgQgAEEONgIAC0EADwsgACABQTogBRBCIgAEfyAABSAFKAKsQCAFKAKoQCgCBBEDACAFEDEgBRAGQQALC6ABAQF/IAIgACgCBCIDIAIgA0kbIgIEQCAAIAMgAms2AgQCQAJAAkACQCAAKAIcIgMoAhRBAWsOAgEAAgsgA0GgAWogASAAKAIAIAJB3IABKAIAEQgADAILIAAgACgCMCABIAAoAgAgAkHEgAEoAgARBAA2AjAMAQsgASAAKAIAIAIQBxoLIAAgACgCACACajYCACAAIAAoAgggAmo2AggLC7cCAQR/QX4hAgJAIABFDQAgACgCIEUNACAAKAIkIgRFDQAgACgCHCIBRQ0AIAEoAgAgAEcNAAJAAkAgASgCICIDQTlrDjkBAgICAgICAgICAgIBAgICAQICAgICAgICAgICAgICAgICAQICAgICAgICAgICAQICAgICAgICAgEACyADQZoFRg0AIANBKkcN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DCABajYCDCAGIAYoAgggAWo2AgggBSAFKAIUIAFqNgIUIAUgBSgCECABazYCECAGIAYoAhAgAWsiATYCECABDQAgBiAGKAIENgIIC0EAIQRBACEJIAMoAhBFDQAMCgsgAygCHCgCJCEGIAMgAygCGCIBQQFqNgIYIAEgBmotAAAhASADIARBAWo2AhAgAygCBCAEaiABOgAAIAEEQCADKAIQIQQMAQsLIAMoAhwoAixFDQAgAygCECIGIAlNDQAgBQJ/IAUoAjAhBEEAIAMoAgQgCWoiAUUNABogBCABIAYgCWtB1IABKAIAEQAACzYCMAsgA0HnADYCIAsCQCADKAIcKAIsBEAgAygCDCADKAIQIgFBAmpJBH8gBRAKIAMoAhANAkEABSABCyADKAIEaiAFKAIwOwAAIAMgAygCEEECajYCECADQaABakHkgAEoAgARAQAaCyADQfEANgIgIAUQCiADKAIQRQ0BDAcLDAYLIAUoAgQNAQsgAygCPA0AIApFDQEgAygCIEGaBUYNAQsCfyADKAKIASIBRQRAIAMgChCFAQwBCwJAAkACQCADKAKMAUECaw4CAAECCwJ/AkADQAJAAkAgAygCPA0AIAMQLyADKAI8DQAgCg0BQQAMBAsgAygCSCADKAJoai0AACEEIAMgAygC8C0iAUEBajYC8C0gASADKALsLWpBADoAACADIAMoAvAtIgFBAWo2AvAtIAEgAygC7C1qQQA6AAAgAyADKALwLSIBQQFqNgLwLSABIAMoAuwtaiAEOgAAIAMgBEECdGoiASABLwHkAUEBajsB5AEgAyADKAI8QQFrNgI8IAMgAygCaEEBaiIBNgJoIAMoAvAtIAMoAvQtRw0BQQAhBCADIAMoAlgiBkEATgR/IAMoAkggBmoFQQALIAEgBmtBABAPIAMgAygCaDYCWCADKAIAEAogAygCACgCEA0BDAILCyADQQA2AoQuIApBBEYEQCADIAMoAlgiAUEATgR/IAMoAkggAWoFQQALIAMoAmggAWtBARAPIAMgAygCaDYCWCADKAIAEApBA0ECIAMoAgAoAhAbDAILIAMoAvAtBEBBACEEIAMgAygCWCIBQQBOBH8gAygCSCABagVBAAsgAygCaCABa0EAEA8gAyADKAJoNgJYIAMoAgAQCiADKAIAKAIQRQ0BC0EBIQQLIAQL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bGl0ZXJhbC9sZW5ndGhzIHNldABpbnZhbGlkIGNvZGUgbGVuZ3RocyBzZXQAdW5rbm93biBoZWFkZXIgZmxhZ3Mgc2V0AGludmFsaWQgZGlzdGFuY2VzIHNldABpbnZhbGlkIGJpdCBsZW5ndGggcmVwZWF0AEZpbGUgYWxyZWFkeSBleGlzdHMAdG9vIG1hbnkgbGVuZ3RoIG9yIGRpc3RhbmNlIHN5bWJvbHMAaW52YWxpZCBzdG9yZWQgYmxvY2sgbGVuZ3RocwAlcyVzJXMAYnVmZmVyIGVycm9yAE5vIGVycm9yAHN0cmVhbSBlcnJvcgBUZWxsIGVycm9yAEludGVybmFsIGVycm9yAFNlZWsgZXJyb3IAV3JpdGUgZXJyb3IAZmlsZSBlcnJvcgBSZWFkIGVycm9yAFpsaWIgZXJyb3IAZGF0YSBlcnJvcgBDUkMgZXJyb3IAaW5jb21wYXRpYmxlIHZlcnNpb24AaW52YWxpZCBjb2RlIC0tIG1pc3NpbmcgZW5kLW9mLWJsb2NrAGluY29ycmVjdCBoZWFkZXIgY2hlY2sAaW5jb3JyZWN0IGxlbmd0aCBjaGVjawBpbmNvcnJlY3QgZGF0YSBjaGVjawBpbnZhbGlkIGRpc3RhbmNlIHRvbyBmYXIgYmFjawBoZWFkZXIgY3JjIG1pc21hdGNoADEuMi4xMy56bGliLW5nAGludmFsaWQgd2luZG93IHNpemUAUmVhZC1vbmx5IGFyY2hpdmUATm90IGEgemlwIGFyY2hpdmUAUmVzb3VyY2Ugc3RpbGwgaW4gdXNlAE1hbGxvYyBmYWlsdXJlAGludmFsaWQgYmxvY2sgdHlwZQBGYWlsdXJlIHRvIGNyZWF0ZSB0ZW1wb3JhcnkgZmlsZQBDYW4ndCBvcGVuIGZpbGUATm8gc3VjaCBmaWxlAFByZW1hdHVyZSBlbmQgb2YgZmlsZQBDYW4ndCByZW1vdmUgZmlsZQBpbnZhbGlkIGxpdGVyYWwvbGVuZ3RoIGNvZGUAaW52YWxpZCBkaXN0YW5jZSBjb2RlAHVua25vd24gY29tcHJlc3Npb24gbWV0aG9kAHN0cmVhbSBlbmQAQ29tcHJlc3NlZCBkYXRhIGludmFsaWQATXVsdGktZGlzayB6aXAgYXJjaGl2ZXMgbm90IHN1cHBvcnRl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UgAIANIACAAyAAgAsgAIAHIACADyAAgACgAIAIoACABKAAgAygAIACoACACqAAgAagAIAOoACAAaAAgAmgAIAFoACADaAAgAOgAIALoACAB6AAgA+gAIAAYACACGAAgARgAIAMYACAAmAAgApgAIAGYACADmAAgAFgAIAJYACABWAAgA1gAIADYACAC2AAgAdgAIAPYACAAOAAgAjgAIAE4ACADOAAgALgAIAK4ACABuAAgA7gAIAB4ACACeAAgAXgAIAN4ACAA+AAgAvgAIAH4ACAD+AAgAAQAIAIEACABBAAgAwQAIACEACAChAAgAYQAIAOEACAARAAgAkQAIAFEACADRAAgAMQAIALEACABxAAgA8QAIAAkACACJAAgASQAIAMkACAApAAgAqQAIAGkACADpAAgAGQAIAJkACABZAAgA2QAIADkACAC5AAgAeQAIAPkACAAFAAgAhQAIAEUACADFAAgAJQAIAKUACABlAAgA5QAIABUACACVAAgAVQAIANUACAA1AAgAtQAIAHUACAD1AAgADQAIAI0ACABNAAgAzQAIAC0ACACtAAgAbQAIAO0ACAAdAAgAnQAIAF0ACADdAAgAPQAIAL0ACAB9AAgA/QAIABMACQATAQkAkwAJAJMBCQBTAAkAUwEJANMACQDTAQkAMwAJADMBCQCzAAkAswEJAHMACQBzAQkA8wAJAPMBCQALAAkACwEJAIsACQCLAQkASwAJAEsBCQDLAAkAywEJACsACQArAQkAqwAJAKsBCQBrAAkAawEJAOsACQDrAQkAGwAJABsBCQCbAAkAmwEJAFsACQBbAQkA2wAJANsBCQA7AAkAOwEJALsACQC7AQkAewAJAHsBCQD7AAkA+wEJAAcACQAHAQkAhwAJAIcBCQBHAAkARwEJAMcACQDHAQkAJwAJACcBCQCnAAkApwEJAGcACQBnAQkA5wAJAOcBCQAXAAkAFwEJAJcACQCXAQkAVwAJAFcBCQDXAAkA1wEJADcACQA3AQkAtwAJALcBCQB3AAkAdwEJAPcACQD3AQkADwAJAA8BCQCPAAkAjwEJAE8ACQBPAQkAzwAJAM8BCQAvAAkALwEJAK8ACQCvAQkAbwAJAG8BCQDvAAkA7wEJAB8ACQAfAQkAnwAJAJ8BCQBfAAkAXwEJAN8ACQDfAQkAPwAJAD8BCQC/AAkA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SXMgYSBkaXJlY3RvcnkAVGV4dCBmaWxlIGJ1c3kARXhlYyBmb3JtYXQgZXJyb3IASW52YWxpZCBhcmd1bWVudABBcmd1bWVudCBsaXN0IHRvbyBsb25nAFN5bWJvbGljIGxpbmsgbG9vcABGaWxlbmFtZSB0b28gbG9uZwBUb28gbWFueSBvcGVuIGZpbGVzIGluIHN5c3RlbQBObyBmaWxlIGRlc2NyaXB0b3JzIGF2YWlsYWJsZQBCYWQgZmlsZSBkZXNjcmlwdG9yAE5vIGNoaWxkIHByb2Nlc3MAQmFkIGFkZHJlc3MARmlsZSB0b28gbGFyZ2UAVG9vIG1hbnkgbGlua3MATm8gbG9ja3MgYXZhaWxhYmxlAFJlc291cmNlIGRlYWRsb2NrIHdvdWxkIG9jY3VyAFN0YXRlIG5vdCByZWNvdmVyYWJsZQBQcmV2aW91cyBvd25lciBkaWVkAE9wZXJhdGlvbiBjYW5jZWxlZABGdW5jdGlvbiBub3QgaW1wbGVtZW50ZWQATm8gbWVzc2FnZSBvZiBkZXNpcmVkIHR5cGUASWRlbnRpZmllciByZW1vdmVkAERldmljZSBub3QgYSBzdHJlYW0ATm8gZGF0YSBhdmFpbGFibGUARGV2aWNlIHRpbWVvdXQAT3V0IG9mIHN0cmVhbXMgcmVzb3VyY2VzAExpbmsgaGFzIGJlZW4gc2V2ZXJlZABQcm90b2NvbCBlcnJvcgBCYWQgbWVzc2FnZQBGaWxlIGRlc2NyaXB0b3IgaW4gYmFkIHN0YXRlAE5vdCBhIHNvY2tldABEZXN0aW5hdGlvbiBhZGRyZXNzIHJlcXVpcmVkAE1lc3NhZ2UgdG9vIGxhcmdlAFByb3RvY29sIHdyb25nIHR5cGUgZm9yIHNvY2tldABQcm90b2NvbCBub3QgYXZhaWxhYmxlAFByb3RvY29sIG5vdCBzdXBwb3J0ZWQAU29ja2V0IHR5cGUgbm90IHN1cHBvcnRlZABOb3Qgc3VwcG9ydGVkAFByb3RvY29sIGZhbWlseSBub3Qgc3VwcG9ydGVkAEFkZHJlc3MgZmFtaWx5IG5vdCBzdXBwb3J0ZWQgYnkgcHJvdG9jb2wAQWRkcmVzcyBub3QgYXZhaWxhYmxlAE5ldHdvcmsgaXMgZG93bgBOZXR3b3JrIHVucmVhY2hhYmxlAENvbm5lY3Rpb24gcmVzZXQgYnkgbmV0d29yawBDb25uZWN0aW9uIGFib3J0ZWQATm8gYnVmZmVyIHNwYWNlIGF2YWlsYWJsZQBTb2NrZXQgaXMgY29ubmVjdGVkAFNvY2tldCBub3QgY29ubmVjdGVkAENhbm5vdCBzZW5kIGFmdGVyIHNvY2tldCBzaHV0ZG93bgBPcGVyYXRpb24gYWxyZWFkeSBpbiBwcm9ncmVzcwBPcGVyYXRpb24gaW4gcHJvZ3Jlc3MAU3RhbGUgZmlsZSBoYW5kbGUAUmVtb3RlIEkvTyBlcnJvcgBRdW90YSBleGNlZWRlZABObyBtZWRpdW0gZm91bmQAV3JvbmcgbWVkaXVtIHR5cGUATm8gZXJyb3IgaW5mb3JtYXRpb24AQcCAAQuFARMAAAAUAAAAFQAAABYAAAAXAAAAGAAAABkAAAAaAAAAGwAAABwAAAAdAAAAHgAAAB8AAAAgAAAAIQAAACIAAAAjAAAAgERQADEAAAAyAAAAMwAAADQAAAA1AAAANgAAADcAAAA4AAAAOQAAADIAAAAzAAAANAAAADUAAAA2AAAANwAAADgAQfSCAQsCXEQAQbCDAQsQ/////////////////////w==";io(Si)||(Si=b(Si));function Ms(We){try{if(We==Si&&de)return new Uint8Array(de);var tt=ni(We);if(tt)return tt;if(R)return R(We);throw"sync fetching of the wasm failed: you can preload it to Module['wasmBinary'] manually, or emcc.py will do that for you when generating HTML (but not JS)"}catch(It){Ti(It)}}function so(We,tt){var It,rr,$;try{$=Ms(We),rr=new WebAssembly.Module($),It=new WebAssembly.Instance(rr,tt)}catch(Oe){var me=Oe.toString();throw ee("failed to compile wasm module: "+me),(me.includes("imported Memory")||me.includes("memory import"))&&ee("Memory size incompatibility issues may be due to changing INITIAL_MEMORY at runtime to something too large. Use ALLOW_MEMORY_GROWTH to allow any size memory (and also make sure not to set INITIAL_MEMORY at runtime to something smaller than it was at compile time)."),Oe}return[It,rr]}function cc(){var We={a:Ma};function tt($,me){var Oe=$.exports;r.asm=Oe,Be=r.asm.g,z(Be.buffer),Z=r.asm.W,on(r.asm.h),Os("wasm-instantiate")}if(Wn("wasm-instantiate"),r.instantiateWasm)try{var It=r.instantiateWasm(We,tt);return It}catch($){return ee("Module.instantiateWasm callback failed with error: "+$),!1}var rr=so(Si,We);return tt(rr[0]),r.asm}function Au(We){return F.getFloat32(We,!0)}function op(We){return F.getFloat64(We,!0)}function ap(We){return F.getInt16(We,!0)}function Us(We){return F.getInt32(We,!0)}function vn(We,tt){F.setInt32(We,tt,!0)}function oo(We){for(;We.length>0;){var tt=We.shift();if(typeof tt=="function"){tt(r);continue}var It=tt.func;typeof It=="number"?tt.arg===void 0?Z.get(It)():Z.get(It)(tt.arg):It(tt.arg===void 0?null:tt.arg)}}function _s(We,tt){var It=new Date(Us((We>>2)*4)*1e3);vn((tt>>2)*4,It.getUTCSeconds()),vn((tt+4>>2)*4,It.getUTCMinutes()),vn((tt+8>>2)*4,It.getUTCHours()),vn((tt+12>>2)*4,It.getUTCDate()),vn((tt+16>>2)*4,It.getUTCMonth()),vn((tt+20>>2)*4,It.getUTCFullYear()-1900),vn((tt+24>>2)*4,It.getUTCDay()),vn((tt+36>>2)*4,0),vn((tt+32>>2)*4,0);var rr=Date.UTC(It.getUTCFullYear(),0,1,0,0,0,0),$=(It.getTime()-rr)/(1e3*60*60*24)|0;return vn((tt+28>>2)*4,$),_s.GMTString||(_s.GMTString=at("GMT")),vn((tt+40>>2)*4,_s.GMTString),tt}function dl(We,tt){return _s(We,tt)}function ml(We,tt,It){Ne.copyWithin(We,tt,tt+It)}function ao(We){try{return Be.grow(We-ke.byteLength+65535>>>16),z(Be.buffer),1}catch{}}function Kn(We){var tt=Ne.length;We=We>>>0;var It=2147483648;if(We>It)return!1;for(var rr=1;rr<=4;rr*=2){var $=tt*(1+.2/rr);$=Math.min($,We+100663296);var me=Math.min(It,Qe(Math.max(We,$),65536)),Oe=ao(me);if(Oe)return!0}return!1}function Ln(We){fe(We)}function Ni(We){var tt=Date.now()/1e3|0;return We&&vn((We>>2)*4,tt),tt}function On(){if(On.called)return;On.called=!0;var We=new Date().getFullYear(),tt=new Date(We,0,1),It=new Date(We,6,1),rr=tt.getTimezoneOffset(),$=It.getTimezoneOffset(),me=Math.max(rr,$);vn((ms()>>2)*4,me*60),vn((ds()>>2)*4,Number(rr!=$));function Oe(Xr){var Gi=Xr.toTimeString().match(/\(([A-Za-z ]+)\)$/);return Gi?Gi[1]:"GMT"}var ft=Oe(tt),pt=Oe(It),Tt=at(ft),er=at(pt);$<rr?(vn((wi()>>2)*4,Tt),vn((wi()+4>>2)*4,er)):(vn((wi()>>2)*4,er),vn((wi()+4>>2)*4,Tt))}function Hi(We){On();var tt=Date.UTC(Us((We+20>>2)*4)+1900,Us((We+16>>2)*4),Us((We+12>>2)*4),Us((We+8>>2)*4),Us((We+4>>2)*4),Us((We>>2)*4),0),It=new Date(tt);vn((We+24>>2)*4,It.getUTCDay());var rr=Date.UTC(It.getUTCFullYear(),0,1,0,0,0,0),$=(It.getTime()-rr)/(1e3*60*60*24)|0;return vn((We+28>>2)*4,$),It.getTime()/1e3|0}var ve=typeof atob=="function"?atob:function(We){var tt="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",It="",rr,$,me,Oe,ft,pt,Tt,er=0;We=We.replace(/[^A-Za-z0-9\+\/\=]/g,"");do Oe=tt.indexOf(We.charAt(er++)),ft=tt.indexOf(We.charAt(er++)),pt=tt.indexOf(We.charAt(er++)),Tt=tt.indexOf(We.charAt(er++)),rr=Oe<<2|ft>>4,$=(ft&15)<<4|pt>>2,me=(pt&3)<<6|Tt,It=It+String.fromCharCode(rr),pt!==64&&(It=It+String.fromCharCode($)),Tt!==64&&(It=It+String.fromCharCode(me));while(er<We.length);return It};function Li(We){if(typeof I=="boolean"&&I){var tt;try{tt=Buffer.from(We,"base64")}catch{tt=new Buffer(We,"base64")}return new Uint8Array(tt.buffer,tt.byteOffset,tt.byteLength)}try{for(var It=ve(We),rr=new Uint8Array(It.length),$=0;$<It.length;++$)rr[$]=It.charCodeAt($);return rr}catch{throw new Error("Converting base64 string to bytes failed.")}}function ni(We){if(!!io(We))return Li(We.slice(hs.length))}var Ma={e:dl,c:ml,d:Kn,a:Ln,b:Ni,f:Hi},pr=cc(),uc=r.___wasm_call_ctors=pr.h,fu=r._zip_ext_count_symlinks=pr.i,Ac=r._zip_file_get_external_attributes=pr.j,yl=r._zipstruct_statS=pr.k,DA=r._zipstruct_stat_size=pr.l,pu=r._zipstruct_stat_mtime=pr.m,Ce=r._zipstruct_stat_crc=pr.n,Rt=r._zipstruct_errorS=pr.o,fc=r._zipstruct_error_code_zip=pr.p,ji=r._zipstruct_stat_comp_size=pr.q,hu=r._zipstruct_stat_comp_method=pr.r,Yt=r._zip_close=pr.s,El=r._zip_delete=pr.t,SA=r._zip_dir_add=pr.u,lp=r._zip_discard=pr.v,pc=r._zip_error_init_with_code=pr.w,PA=r._zip_get_error=pr.x,Qn=r._zip_file_get_error=pr.y,pi=r._zip_error_strerror=pr.z,hc=r._zip_fclose=pr.A,xA=r._zip_file_add=pr.B,oa=r._free=pr.C,Oi=r._malloc=pr.D,_o=r._zip_source_error=pr.E,Ze=r._zip_source_seek=pr.F,lo=r._zip_file_set_external_attributes=pr.G,gc=r._zip_file_set_mtime=pr.H,gu=r._zip_fopen_index=pr.I,qi=r._zip_fread=pr.J,du=r._zip_get_name=pr.K,bA=r._zip_get_num_entries=pr.L,Ua=r._zip_source_read=pr.M,dc=r._zip_name_locate=pr.N,gs=r._zip_open_from_source=pr.O,Ut=r._zip_set_file_compression=pr.P,kn=r._zip_source_buffer=pr.Q,Ei=r._zip_source_buffer_create=pr.R,aa=r._zip_source_close=pr.S,co=r._zip_source_free=pr.T,Hs=r._zip_source_keep=pr.U,la=r._zip_source_open=pr.V,ca=r._zip_source_tell=pr.X,Ho=r._zip_stat_index=pr.Y,wi=r.__get_tzname=pr.Z,ds=r.__get_daylight=pr._,ms=r.__get_timezone=pr.$,ys=r.stackSave=pr.aa,js=r.stackRestore=pr.ba,Mn=r.stackAlloc=pr.ca;r.cwrap=ne,r.getValue=oe;var Dn;Yr=function We(){Dn||Es(),Dn||(Yr=We)};function Es(We){if(We=We||A,dr>0||(gt(),dr>0))return;function tt(){Dn||(Dn=!0,r.calledRun=!0,!be&&(jt(),o(r),r.onRuntimeInitialized&&r.onRuntimeInitialized(),$t()))}r.setStatus?(r.setStatus("Running..."),setTimeout(function(){setTimeout(function(){r.setStatus("")},1),tt()},1)):tt()}if(r.run=Es,r.preInit)for(typeof r.preInit=="function"&&(r.preInit=[r.preInit]);r.preInit.length>0;)r.preInit.pop()();return Es(),t}}();typeof bx=="object"&&typeof tU=="object"?tU.exports=eU:typeof define=="function"&&define.amd?define([],function(){return eU}):typeof bx=="object"&&(bx.createModule=eU)});var Lf,Qle,kle,Fle=yt(()=>{Lf=["number","number"],Qle=(te=>(te[te.ZIP_ER_OK=0]="ZIP_ER_OK",te[te.ZIP_ER_MULTIDISK=1]="ZIP_ER_MULTIDISK",te[te.ZIP_ER_RENAME=2]="ZIP_ER_RENAME",te[te.ZIP_ER_CLOSE=3]="ZIP_ER_CLOSE",te[te.ZIP_ER_SEEK=4]="ZIP_ER_SEEK",te[te.ZIP_ER_READ=5]="ZIP_ER_READ",te[te.ZIP_ER_WRITE=6]="ZIP_ER_WRITE",te[te.ZIP_ER_CRC=7]="ZIP_ER_CRC",te[te.ZIP_ER_ZIPCLOSED=8]="ZIP_ER_ZIPCLOSED",te[te.ZIP_ER_NOENT=9]="ZIP_ER_NOENT",te[te.ZIP_ER_EXISTS=10]="ZIP_ER_EXISTS",te[te.ZIP_ER_OPEN=11]="ZIP_ER_OPEN",te[te.ZIP_ER_TMPOPEN=12]="ZIP_ER_TMPOPEN",te[te.ZIP_ER_ZLIB=13]="ZIP_ER_ZLIB",te[te.ZIP_ER_MEMORY=14]="ZIP_ER_MEMORY",te[te.ZIP_ER_CHANGED=15]="ZIP_ER_CHANGED",te[te.ZIP_ER_COMPNOTSUPP=16]="ZIP_ER_COMPNOTSUPP",te[te.ZIP_ER_EOF=17]="ZIP_ER_EOF",te[te.ZIP_ER_INVAL=18]="ZIP_ER_INVAL",te[te.ZIP_ER_NOZIP=19]="ZIP_ER_NOZIP",te[te.ZIP_ER_INTERNAL=20]="ZIP_ER_INTERNAL",te[te.ZIP_ER_INCONS=21]="ZIP_ER_INCONS",te[te.ZIP_ER_REMOVE=22]="ZIP_ER_REMOVE",te[te.ZIP_ER_DELETED=23]="ZIP_ER_DELETED",te[te.ZIP_ER_ENCRNOTSUPP=24]="ZIP_ER_ENCRNOTSUPP",te[te.ZIP_ER_RDONLY=25]="ZIP_ER_RDONLY",te[te.ZIP_ER_NOPASSWD=26]="ZIP_ER_NOPASSWD",te[te.ZIP_ER_WRONGPASSWD=27]="ZIP_ER_WRONGPASSWD",te[te.ZIP_ER_OPNOTSUPP=28]="ZIP_ER_OPNOTSUPP",te[te.ZIP_ER_INUSE=29]="ZIP_ER_INUSE",te[te.ZIP_ER_TELL=30]="ZIP_ER_TELL",te[te.ZIP_ER_COMPRESSED_DATA=31]="ZIP_ER_COMPRESSED_DATA",te))(Qle||{}),kle=e=>({get HEAPU8(){return e.HEAPU8},errors:Qle,SEEK_SET:0,SEEK_CUR:1,SEEK_END:2,ZIP_CHECKCONS:4,ZIP_EXCL:2,ZIP_RDONLY:16,ZIP_FL_OVERWRITE:8192,ZIP_FL_COMPRESSED:4,ZIP_OPSYS_DOS:0,ZIP_OPSYS_AMIGA:1,ZIP_OPSYS_OPENVMS:2,ZIP_OPSYS_UNIX:3,ZIP_OPSYS_VM_CMS:4,ZIP_OPSYS_ATARI_ST:5,ZIP_OPSYS_OS_2:6,ZIP_OPSYS_MACINTOSH:7,ZIP_OPSYS_Z_SYSTEM:8,ZIP_OPSYS_CPM:9,ZIP_OPSYS_WINDOWS_NTFS:10,ZIP_OPSYS_MVS:11,ZIP_OPSYS_VSE:12,ZIP_OPSYS_ACORN_RISC:13,ZIP_OPSYS_VFAT:14,ZIP_OPSYS_ALTERNATE_MVS:15,ZIP_OPSYS_BEOS:16,ZIP_OPSYS_TANDEM:17,ZIP_OPSYS_OS_400:18,ZIP_OPSYS_OS_X:19,ZIP_CM_DEFAULT:-1,ZIP_CM_STORE:0,ZIP_CM_DEFLATE:8,uint08S:e._malloc(1),uint32S:e._malloc(4),malloc:e._malloc,free:e._free,getValue:e.getValue,openFromSource:e.cwrap("zip_open_from_source","number",["number","number","number"]),close:e.cwrap("zip_close","number",["number"]),discard:e.cwrap("zip_discard",null,["number"]),getError:e.cwrap("zip_get_error","number",["number"]),getName:e.cwrap("zip_get_name","string",["number","number","number"]),getNumEntries:e.cwrap("zip_get_num_entries","number",["number","number"]),delete:e.cwrap("zip_delete","number",["number","number"]),statIndex:e.cwrap("zip_stat_index","number",["number",...Lf,"number","number"]),fopenIndex:e.cwrap("zip_fopen_index","number",["number",...Lf,"number"]),fread:e.cwrap("zip_fread","number",["number","number","number","number"]),fclose:e.cwrap("zip_fclose","number",["number"]),dir:{add:e.cwrap("zip_dir_add","number",["number","string"])},file:{add:e.cwrap("zip_file_add","number",["number","string","number","number"]),getError:e.cwrap("zip_file_get_error","number",["number"]),getExternalAttributes:e.cwrap("zip_file_get_external_attributes","number",["number",...Lf,"number","number","number"]),setExternalAttributes:e.cwrap("zip_file_set_external_attributes","number",["number",...Lf,"number","number","number"]),setMtime:e.cwrap("zip_file_set_mtime","number",["number",...Lf,"number","number"]),setCompression:e.cwrap("zip_set_file_compression","number",["number",...Lf,"number","number"])},ext:{countSymlinks:e.cwrap("zip_ext_count_symlinks","number",["number"])},error:{initWithCode:e.cwrap("zip_error_init_with_code",null,["number","number"]),strerror:e.cwrap("zip_error_strerror","string",["number"])},name:{locate:e.cwrap("zip_name_locate","number",["number","string","number"])},source:{fromUnattachedBuffer:e.cwrap("zip_source_buffer_create","number",["number",...Lf,"number","number"]),fromBuffer:e.cwrap("zip_source_buffer","number",["number","number",...Lf,"number"]),free:e.cwrap("zip_source_free",null,["number"]),keep:e.cwrap("zip_source_keep",null,["number"]),open:e.cwrap("zip_source_open","number",["number"]),close:e.cwrap("zip_source_close","number",["number"]),seek:e.cwrap("zip_source_seek","number",["number",...Lf,"number"]),tell:e.cwrap("zip_source_tell","number",["number"]),read:e.cwrap("zip_source_read","number",["number","number","number"]),error:e.cwrap("zip_source_error","number",["number"])},struct:{statS:e.cwrap("zipstruct_statS","number",[]),statSize:e.cwrap("zipstruct_stat_size","number",["number"]),statCompSize:e.cwrap("zipstruct_stat_comp_size","number",["number"]),statCompMethod:e.cwrap("zipstruct_stat_comp_method","number",["number"]),statMtime:e.cwrap("zipstruct_stat_mtime","number",["number"]),statCrc:e.cwrap("zipstruct_stat_crc","number",["number"]),errorS:e.cwrap("zipstruct_errorS","number",[]),errorCodeZip:e.cwrap("zipstruct_error_code_zip","number",["number"])}})});function rU(e,t){let r=e.indexOf(t);if(r<=0)return null;let o=r;for(;r>=0&&(o=r+t.length,e[o]!==J.sep);){if(e[r-1]===J.sep)return null;r=e.indexOf(t,o)}return e.length>o&&e[o]!==J.sep?null:e.slice(0,o)}var Vl,Rle=yt(()=>{St();St();iA();Vl=class extends Up{static async openPromise(t,r){let o=new Vl(r);try{return await t(o)}finally{o.saveAndClose()}}constructor(t={}){let r=t.fileExtensions,o=t.readOnlyArchives,a=typeof r>"u"?A=>rU(A,".zip"):A=>{for(let p of r){let h=rU(A,p);if(h)return h}return null},n=(A,p)=>new us(p,{baseFs:A,readOnly:o,stats:A.statSync(p)}),u=async(A,p)=>{let h={baseFs:A,readOnly:o,stats:await A.statPromise(p)};return()=>new us(p,h)};super({...t,factorySync:n,factoryPromise:u,getMountPoint:a})}}});function Wst(e){if(typeof e=="string"&&String(+e)===e)return+e;if(typeof e=="number"&&Number.isFinite(e))return e<0?Date.now()/1e3:e;if(Tle.types.isDate(e))return e.getTime()/1e3;throw new Error("Invalid time")}function Qx(){return Buffer.from([80,75,5,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0])}var ta,nU,Tle,iU,Nle,kx,us,sU=yt(()=>{St();St();St();St();St();St();ta=Ie("fs"),nU=Ie("stream"),Tle=Ie("util"),iU=$e(Ie("zlib"));$4();Nle="mixed";kx=class extends Error{constructor(r,o){super(r);this.name="Libzip Error",this.code=o}},us=class extends _u{constructor(r,o={}){super();this.listings=new Map;this.entries=new Map;this.fileSources=new Map;this.fds=new Map;this.nextFd=0;this.ready=!1;this.readOnly=!1;let a=o;if(this.level=typeof a.level<"u"?a.level:Nle,r??=Qx(),typeof r=="string"){let{baseFs:A=new Rn}=a;this.baseFs=A,this.path=r}else this.path=null,this.baseFs=null;if(o.stats)this.stats=o.stats;else if(typeof r=="string")try{this.stats=this.baseFs.statSync(r)}catch(A){if(A.code==="ENOENT"&&a.create)this.stats=Tl.makeDefaultStats();else throw A}else this.stats=Tl.makeDefaultStats();this.libzip=S1();let n=this.libzip.malloc(4);try{let A=0;o.readOnly&&(A|=this.libzip.ZIP_RDONLY,this.readOnly=!0),typeof r=="string"&&(r=a.create?Qx():this.baseFs.readFileSync(r));let p=this.allocateUnattachedSource(r);try{this.zip=this.libzip.openFromSource(p,A,n),this.lzSource=p}catch(h){throw this.libzip.source.free(p),h}if(this.zip===0){let h=this.libzip.struct.errorS();throw this.libzip.error.initWithCode(h,this.libzip.getValue(n,"i32")),this.makeLibzipError(h)}}finally{this.libzip.free(n)}this.listings.set(Bt.root,new Set);let u=this.libzip.getNumEntries(this.zip,0);for(let A=0;A<u;++A){let p=this.libzip.getName(this.zip,A,0);if(J.isAbsolute(p))continue;let h=J.resolve(Bt.root,p);this.registerEntry(h,A),p.endsWith("/")&&this.registerListing(h)}if(this.symlinkCount=this.libzip.ext.countSymlinks(this.zip),this.symlinkCount===-1)throw this.makeLibzipError(this.libzip.getError(this.zip));this.ready=!0}makeLibzipError(r){let o=this.libzip.struct.errorCodeZip(r),a=this.libzip.error.strerror(r),n=new kx(a,this.libzip.errors[o]);if(o===this.libzip.errors.ZIP_ER_CHANGED)throw new Error(`Assertion failed: Unexpected libzip error: ${n.message}`);return n}getExtractHint(r){for(let o of this.entries.keys()){let a=this.pathUtils.extname(o);if(r.relevantExtensions.has(a))return!0}return!1}getAllFiles(){return Array.from(this.entries.keys())}getRealPath(){if(!this.path)throw new Error("ZipFS don't have real paths when loaded from a buffer");return this.path}prepareClose(){if(!this.ready)throw or.EBUSY("archive closed, close");Og(this)}getBufferAndClose(){if(this.prepareClose(),this.entries.size===0)return this.discardAndClose(),Qx();try{if(this.libzip.source.keep(this.lzSource),this.libzip.close(this.zip)===-1)throw this.makeLibzipError(this.libzip.getError(this.zip));if(this.libzip.source.open(this.lzSource)===-1)throw this.makeLibzipError(this.libzip.source.error(this.lzSource));if(this.libzip.source.seek(this.lzSource,0,0,this.libzip.SEEK_END)===-1)throw this.makeLibzipError(this.libzip.source.error(this.lzSource));let r=this.libzip.source.tell(this.lzSource);if(r===-1)throw this.makeLibzipError(this.libzip.source.error(this.lzSource));if(this.libzip.source.seek(this.lzSource,0,0,this.libzip.SEEK_SET)===-1)throw this.makeLibzipError(this.libzip.source.error(this.lzSource));let o=this.libzip.malloc(r);if(!o)throw new Error("Couldn't allocate enough memory");try{let a=this.libzip.source.read(this.lzSource,o,r);if(a===-1)throw this.makeLibzipError(this.libzip.source.error(this.lzSource));if(a<r)throw new Error("Incomplete read");if(a>r)throw new Error("Overread");let n=this.libzip.HEAPU8.subarray(o,o+r);return Buffer.from(n)}finally{this.libzip.free(o)}}finally{this.libzip.source.close(this.lzSource),this.libzip.source.free(this.lzSource),this.ready=!1}}discardAndClose(){this.prepareClose(),this.libzip.discard(this.zip),this.ready=!1}saveAndClose(){if(!this.path||!this.baseFs)throw new Error("ZipFS cannot be saved and must be discarded when loaded from a buffer");if(this.readOnly){this.discardAndClose();return}let r=this.baseFs.existsSync(this.path)||this.stats.mode===Tl.DEFAULT_MODE?void 0:this.stats.mode;this.baseFs.writeFileSync(this.path,this.getBufferAndClose(),{mode:r}),this.ready=!1}resolve(r){return J.resolve(Bt.root,r)}async openPromise(r,o,a){return this.openSync(r,o,a)}openSync(r,o,a){let n=this.nextFd++;return this.fds.set(n,{cursor:0,p:r}),n}hasOpenFileHandles(){return!!this.fds.size}async opendirPromise(r,o){return this.opendirSync(r,o)}opendirSync(r,o={}){let a=this.resolveFilename(`opendir '${r}'`,r);if(!this.entries.has(a)&&!this.listings.has(a))throw or.ENOENT(`opendir '${r}'`);let n=this.listings.get(a);if(!n)throw or.ENOTDIR(`opendir '${r}'`);let u=[...n],A=this.openSync(a,"r");return SD(this,a,u,{onClose:()=>{this.closeSync(A)}})}async readPromise(r,o,a,n,u){return this.readSync(r,o,a,n,u)}readSync(r,o,a=0,n=o.byteLength,u=-1){let A=this.fds.get(r);if(typeof A>"u")throw or.EBADF("read");let p=u===-1||u===null?A.cursor:u,h=this.readFileSync(A.p);h.copy(o,a,p,p+n);let w=Math.max(0,Math.min(h.length-p,n));return(u===-1||u===null)&&(A.cursor+=w),w}async writePromise(r,o,a,n,u){return typeof o=="string"?this.writeSync(r,o,u):this.writeSync(r,o,a,n,u)}writeSync(r,o,a,n,u){throw typeof this.fds.get(r)>"u"?or.EBADF("read"):new Error("Unimplemented")}async closePromise(r){return this.closeSync(r)}closeSync(r){if(typeof this.fds.get(r)>"u")throw or.EBADF("read");this.fds.delete(r)}createReadStream(r,{encoding:o}={}){if(r===null)throw new Error("Unimplemented");let a=this.openSync(r,"r"),n=Object.assign(new nU.PassThrough({emitClose:!0,autoDestroy:!0,destroy:(A,p)=>{clearImmediate(u),this.closeSync(a),p(A)}}),{close(){n.destroy()},bytesRead:0,path:r,pending:!1}),u=setImmediate(async()=>{try{let A=await this.readFilePromise(r,o);n.bytesRead=A.length,n.end(A)}catch(A){n.destroy(A)}});return n}createWriteStream(r,{encoding:o}={}){if(this.readOnly)throw or.EROFS(`open '${r}'`);if(r===null)throw new Error("Unimplemented");let a=[],n=this.openSync(r,"w"),u=Object.assign(new nU.PassThrough({autoDestroy:!0,emitClose:!0,destroy:(A,p)=>{try{A?p(A):(this.writeFileSync(r,Buffer.concat(a),o),p(null))}catch(h){p(h)}finally{this.closeSync(n)}}}),{close(){u.destroy()},bytesWritten:0,path:r,pending:!1});return u.on("data",A=>{let p=Buffer.from(A);u.bytesWritten+=p.length,a.push(p)}),u}async realpathPromise(r){return this.realpathSync(r)}realpathSync(r){let o=this.resolveFilename(`lstat '${r}'`,r);if(!this.entries.has(o)&&!this.listings.has(o))throw or.ENOENT(`lstat '${r}'`);return o}async existsPromise(r){return this.existsSync(r)}existsSync(r){if(!this.ready)throw or.EBUSY(`archive closed, existsSync '${r}'`);if(this.symlinkCount===0){let a=J.resolve(Bt.root,r);return this.entries.has(a)||this.listings.has(a)}let o;try{o=this.resolveFilename(`stat '${r}'`,r,void 0,!1)}catch{return!1}return o===void 0?!1:this.entries.has(o)||this.listings.has(o)}async accessPromise(r,o){return this.accessSync(r,o)}accessSync(r,o=ta.constants.F_OK){let a=this.resolveFilename(`access '${r}'`,r);if(!this.entries.has(a)&&!this.listings.has(a))throw or.ENOENT(`access '${r}'`);if(this.readOnly&&o&ta.constants.W_OK)throw or.EROFS(`access '${r}'`)}async statPromise(r,o={bigint:!1}){return o.bigint?this.statSync(r,{bigint:!0}):this.statSync(r)}statSync(r,o={bigint:!1,throwIfNoEntry:!0}){let a=this.resolveFilename(`stat '${r}'`,r,void 0,o.throwIfNoEntry);if(a!==void 0){if(!this.entries.has(a)&&!this.listings.has(a)){if(o.throwIfNoEntry===!1)return;throw or.ENOENT(`stat '${r}'`)}if(r[r.length-1]==="/"&&!this.listings.has(a))throw or.ENOTDIR(`stat '${r}'`);return this.statImpl(`stat '${r}'`,a,o)}}async fstatPromise(r,o){return this.fstatSync(r,o)}fstatSync(r,o){let a=this.fds.get(r);if(typeof a>"u")throw or.EBADF("fstatSync");let{p:n}=a,u=this.resolveFilename(`stat '${n}'`,n);if(!this.entries.has(u)&&!this.listings.has(u))throw or.ENOENT(`stat '${n}'`);if(n[n.length-1]==="/"&&!this.listings.has(u))throw or.ENOTDIR(`stat '${n}'`);return this.statImpl(`fstat '${n}'`,u,o)}async lstatPromise(r,o={bigint:!1}){return o.bigint?this.lstatSync(r,{bigint:!0}):this.lstatSync(r)}lstatSync(r,o={bigint:!1,throwIfNoEntry:!0}){let a=this.resolveFilename(`lstat '${r}'`,r,!1,o.throwIfNoEntry);if(a!==void 0){if(!this.entries.has(a)&&!this.listings.has(a)){if(o.throwIfNoEntry===!1)return;throw or.ENOENT(`lstat '${r}'`)}if(r[r.length-1]==="/"&&!this.listings.has(a))throw or.ENOTDIR(`lstat '${r}'`);return this.statImpl(`lstat '${r}'`,a,o)}}statImpl(r,o,a={}){let n=this.entries.get(o);if(typeof n<"u"){let u=this.libzip.struct.statS();if(this.libzip.statIndex(this.zip,n,0,0,u)===-1)throw this.makeLibzipError(this.libzip.getError(this.zip));let p=this.stats.uid,h=this.stats.gid,w=this.libzip.struct.statSize(u)>>>0,I=512,v=Math.ceil(w/I),b=(this.libzip.struct.statMtime(u)>>>0)*1e3,E=b,R=b,N=b,U=new Date(E),V=new Date(R),ee=new Date(N),le=new Date(b),fe=this.listings.has(o)?ta.constants.S_IFDIR:this.isSymbolicLink(n)?ta.constants.S_IFLNK:ta.constants.S_IFREG,de=fe===ta.constants.S_IFDIR?493:420,ge=fe|this.getUnixMode(n,de)&511,oe=this.libzip.struct.statCrc(u),Be=Object.assign(new Tl.StatEntry,{uid:p,gid:h,size:w,blksize:I,blocks:v,atime:U,birthtime:V,ctime:ee,mtime:le,atimeMs:E,birthtimeMs:R,ctimeMs:N,mtimeMs:b,mode:ge,crc:oe});return a.bigint===!0?Tl.convertToBigIntStats(Be):Be}if(this.listings.has(o)){let u=this.stats.uid,A=this.stats.gid,p=0,h=512,w=0,I=this.stats.mtimeMs,v=this.stats.mtimeMs,b=this.stats.mtimeMs,E=this.stats.mtimeMs,R=new Date(I),N=new Date(v),U=new Date(b),V=new Date(E),ee=ta.constants.S_IFDIR|493,le=0,fe=Object.assign(new Tl.StatEntry,{uid:u,gid:A,size:p,blksize:h,blocks:w,atime:R,birthtime:N,ctime:U,mtime:V,atimeMs:I,birthtimeMs:v,ctimeMs:b,mtimeMs:E,mode:ee,crc:le});return a.bigint===!0?Tl.convertToBigIntStats(fe):fe}throw new Error("Unreachable")}getUnixMode(r,o){if(this.libzip.file.getExternalAttributes(this.zip,r,0,0,this.libzip.uint08S,this.libzip.uint32S)===-1)throw this.makeLibzipError(this.libzip.getError(this.zip));return this.libzip.getValue(this.libzip.uint08S,"i8")>>>0!==this.libzip.ZIP_OPSYS_UNIX?o:this.libzip.getValue(this.libzip.uint32S,"i32")>>>16}registerListing(r){let o=this.listings.get(r);if(o)return o;this.registerListing(J.dirname(r)).add(J.basename(r));let n=new Set;return this.listings.set(r,n),n}registerEntry(r,o){this.registerListing(J.dirname(r)).add(J.basename(r)),this.entries.set(r,o)}unregisterListing(r){this.listings.delete(r),this.listings.get(J.dirname(r))?.delete(J.basename(r))}unregisterEntry(r){this.unregisterListing(r);let o=this.entries.get(r);this.entries.delete(r),!(typeof o>"u")&&(this.fileSources.delete(o),this.isSymbolicLink(o)&&this.symlinkCount--)}deleteEntry(r,o){if(this.unregisterEntry(r),this.libzip.delete(this.zip,o)===-1)throw this.makeLibzipError(this.libzip.getError(this.zip))}resolveFilename(r,o,a=!0,n=!0){if(!this.ready)throw or.EBUSY(`archive closed, ${r}`);let u=J.resolve(Bt.root,o);if(u==="/")return Bt.root;let A=this.entries.get(u);if(a&&A!==void 0)if(this.symlinkCount!==0&&this.isSymbolicLink(A)){let p=this.getFileSource(A).toString();return this.resolveFilename(r,J.resolve(J.dirname(u),p),!0,n)}else return u;for(;;){let p=this.resolveFilename(r,J.dirname(u),!0,n);if(p===void 0)return p;let h=this.listings.has(p),w=this.entries.has(p);if(!h&&!w){if(n===!1)return;throw or.ENOENT(r)}if(!h)throw or.ENOTDIR(r);if(u=J.resolve(p,J.basename(u)),!a||this.symlinkCount===0)break;let I=this.libzip.name.locate(this.zip,u.slice(1),0);if(I===-1)break;if(this.isSymbolicLink(I)){let v=this.getFileSource(I).toString();u=J.resolve(J.dirname(u),v)}else break}return u}allocateBuffer(r){Buffer.isBuffer(r)||(r=Buffer.from(r));let o=this.libzip.malloc(r.byteLength);if(!o)throw new Error("Couldn't allocate enough memory");return new Uint8Array(this.libzip.HEAPU8.buffer,o,r.byteLength).set(r),{buffer:o,byteLength:r.byteLength}}allocateUnattachedSource(r){let o=this.libzip.struct.errorS(),{buffer:a,byteLength:n}=this.allocateBuffer(r),u=this.libzip.source.fromUnattachedBuffer(a,n,0,1,o);if(u===0)throw this.libzip.free(o),this.makeLibzipError(o);return u}allocateSource(r){let{buffer:o,byteLength:a}=this.allocateBuffer(r),n=this.libzip.source.fromBuffer(this.zip,o,a,0,1);if(n===0)throw this.libzip.free(o),this.makeLibzipError(this.libzip.getError(this.zip));return n}setFileSource(r,o){let a=Buffer.isBuffer(o)?o:Buffer.from(o),n=J.relative(Bt.root,r),u=this.allocateSource(o);try{let A=this.libzip.file.add(this.zip,n,u,this.libzip.ZIP_FL_OVERWRITE);if(A===-1)throw this.makeLibzipError(this.libzip.getError(this.zip));if(this.level!=="mixed"){let p=this.level===0?this.libzip.ZIP_CM_STORE:this.libzip.ZIP_CM_DEFLATE;if(this.libzip.file.setCompression(this.zip,A,0,p,this.level)===-1)throw this.makeLibzipError(this.libzip.getError(this.zip))}return this.fileSources.set(A,a),A}catch(A){throw this.libzip.source.free(u),A}}isSymbolicLink(r){if(this.symlinkCount===0)return!1;if(this.libzip.file.getExternalAttributes(this.zip,r,0,0,this.libzip.uint08S,this.libzip.uint32S)===-1)throw this.makeLibzipError(this.libzip.getError(this.zip));return this.libzip.getValue(this.libzip.uint08S,"i8")>>>0!==this.libzip.ZIP_OPSYS_UNIX?!1:(this.libzip.getValue(this.libzip.uint32S,"i32")>>>16&ta.constants.S_IFMT)===ta.constants.S_IFLNK}getFileSource(r,o={asyncDecompress:!1}){let a=this.fileSources.get(r);if(typeof a<"u")return a;let n=this.libzip.struct.statS();if(this.libzip.statIndex(this.zip,r,0,0,n)===-1)throw this.makeLibzipError(this.libzip.getError(this.zip));let A=this.libzip.struct.statCompSize(n),p=this.libzip.struct.statCompMethod(n),h=this.libzip.malloc(A);try{let w=this.libzip.fopenIndex(this.zip,r,0,this.libzip.ZIP_FL_COMPRESSED);if(w===0)throw this.makeLibzipError(this.libzip.getError(this.zip));try{let I=this.libzip.fread(w,h,A,0);if(I===-1)throw this.makeLibzipError(this.libzip.file.getError(w));if(I<A)throw new Error("Incomplete read");if(I>A)throw new Error("Overread");let v=this.libzip.HEAPU8.subarray(h,h+A),b=Buffer.from(v);if(p===0)return this.fileSources.set(r,b),b;if(o.asyncDecompress)return new Promise((E,R)=>{iU.default.inflateRaw(b,(N,U)=>{N?R(N):(this.fileSources.set(r,U),E(U))})});{let E=iU.default.inflateRawSync(b);return this.fileSources.set(r,E),E}}finally{this.libzip.fclose(w)}}finally{this.libzip.free(h)}}async fchmodPromise(r,o){return this.chmodPromise(this.fdToPath(r,"fchmod"),o)}fchmodSync(r,o){return this.chmodSync(this.fdToPath(r,"fchmodSync"),o)}async chmodPromise(r,o){return this.chmodSync(r,o)}chmodSync(r,o){if(this.readOnly)throw or.EROFS(`chmod '${r}'`);o&=493;let a=this.resolveFilename(`chmod '${r}'`,r,!1),n=this.entries.get(a);if(typeof n>"u")throw new Error(`Assertion failed: The entry should have been registered (${a})`);let A=this.getUnixMode(n,ta.constants.S_IFREG|0)&-512|o;if(this.libzip.file.setExternalAttributes(this.zip,n,0,0,this.libzip.ZIP_OPSYS_UNIX,A<<16)===-1)throw this.makeLibzipError(this.libzip.getError(this.zip))}async fchownPromise(r,o,a){return this.chownPromise(this.fdToPath(r,"fchown"),o,a)}fchownSync(r,o,a){return this.chownSync(this.fdToPath(r,"fchownSync"),o,a)}async chownPromise(r,o,a){return this.chownSync(r,o,a)}chownSync(r,o,a){throw new Error("Unimplemented")}async renamePromise(r,o){return this.renameSync(r,o)}renameSync(r,o){throw new Error("Unimplemented")}async copyFilePromise(r,o,a){let{indexSource:n,indexDest:u,resolvedDestP:A}=this.prepareCopyFile(r,o,a),p=await this.getFileSource(n,{asyncDecompress:!0}),h=this.setFileSource(A,p);h!==u&&this.registerEntry(A,h)}copyFileSync(r,o,a=0){let{indexSource:n,indexDest:u,resolvedDestP:A}=this.prepareCopyFile(r,o,a),p=this.getFileSource(n),h=this.setFileSource(A,p);h!==u&&this.registerEntry(A,h)}prepareCopyFile(r,o,a=0){if(this.readOnly)throw or.EROFS(`copyfile '${r} -> '${o}'`);if((a&ta.constants.COPYFILE_FICLONE_FORCE)!==0)throw or.ENOSYS("unsupported clone operation",`copyfile '${r}' -> ${o}'`);let n=this.resolveFilename(`copyfile '${r} -> ${o}'`,r),u=this.entries.get(n);if(typeof u>"u")throw or.EINVAL(`copyfile '${r}' -> '${o}'`);let A=this.resolveFilename(`copyfile '${r}' -> ${o}'`,o),p=this.entries.get(A);if((a&(ta.constants.COPYFILE_EXCL|ta.constants.COPYFILE_FICLONE_FORCE))!==0&&typeof p<"u")throw or.EEXIST(`copyfile '${r}' -> '${o}'`);return{indexSource:u,resolvedDestP:A,indexDest:p}}async appendFilePromise(r,o,a){if(this.readOnly)throw or.EROFS(`open '${r}'`);return typeof a>"u"?a={flag:"a"}:typeof a=="string"?a={flag:"a",encoding:a}:typeof a.flag>"u"&&(a={flag:"a",...a}),this.writeFilePromise(r,o,a)}appendFileSync(r,o,a={}){if(this.readOnly)throw or.EROFS(`open '${r}'`);return typeof a>"u"?a={flag:"a"}:typeof a=="string"?a={flag:"a",encoding:a}:typeof a.flag>"u"&&(a={flag:"a",...a}),this.writeFileSync(r,o,a)}fdToPath(r,o){let a=this.fds.get(r)?.p;if(typeof a>"u")throw or.EBADF(o);return a}async writeFilePromise(r,o,a){let{encoding:n,mode:u,index:A,resolvedP:p}=this.prepareWriteFile(r,a);A!==void 0&&typeof a=="object"&&a.flag&&a.flag.includes("a")&&(o=Buffer.concat([await this.getFileSource(A,{asyncDecompress:!0}),Buffer.from(o)])),n!==null&&(o=o.toString(n));let h=this.setFileSource(p,o);h!==A&&this.registerEntry(p,h),u!==null&&await this.chmodPromise(p,u)}writeFileSync(r,o,a){let{encoding:n,mode:u,index:A,resolvedP:p}=this.prepareWriteFile(r,a);A!==void 0&&typeof a=="object"&&a.flag&&a.flag.includes("a")&&(o=Buffer.concat([this.getFileSource(A),Buffer.from(o)])),n!==null&&(o=o.toString(n));let h=this.setFileSource(p,o);h!==A&&this.registerEntry(p,h),u!==null&&this.chmodSync(p,u)}prepareWriteFile(r,o){if(typeof r=="number"&&(r=this.fdToPath(r,"read")),this.readOnly)throw or.EROFS(`open '${r}'`);let a=this.resolveFilename(`open '${r}'`,r);if(this.listings.has(a))throw or.EISDIR(`open '${r}'`);let n=null,u=null;typeof o=="string"?n=o:typeof o=="object"&&({encoding:n=null,mode:u=null}=o);let A=this.entries.get(a);return{encoding:n,mode:u,resolvedP:a,index:A}}async unlinkPromise(r){return this.unlinkSync(r)}unlinkSync(r){if(this.readOnly)throw or.EROFS(`unlink '${r}'`);let o=this.resolveFilename(`unlink '${r}'`,r);if(this.listings.has(o))throw or.EISDIR(`unlink '${r}'`);let a=this.entries.get(o);if(typeof a>"u")throw or.EINVAL(`unlink '${r}'`);this.deleteEntry(o,a)}async utimesPromise(r,o,a){return this.utimesSync(r,o,a)}utimesSync(r,o,a){if(this.readOnly)throw or.EROFS(`utimes '${r}'`);let n=this.resolveFilename(`utimes '${r}'`,r);this.utimesImpl(n,a)}async lutimesPromise(r,o,a){return this.lutimesSync(r,o,a)}lutimesSync(r,o,a){if(this.readOnly)throw or.EROFS(`lutimes '${r}'`);let n=this.resolveFilename(`utimes '${r}'`,r,!1);this.utimesImpl(n,a)}utimesImpl(r,o){this.listings.has(r)&&(this.entries.has(r)||this.hydrateDirectory(r));let a=this.entries.get(r);if(a===void 0)throw new Error("Unreachable");if(this.libzip.file.setMtime(this.zip,a,0,Wst(o),0)===-1)throw this.makeLibzipError(this.libzip.getError(this.zip))}async mkdirPromise(r,o){return this.mkdirSync(r,o)}mkdirSync(r,{mode:o=493,recursive:a=!1}={}){if(a)return this.mkdirpSync(r,{chmod:o});if(this.readOnly)throw or.EROFS(`mkdir '${r}'`);let n=this.resolveFilename(`mkdir '${r}'`,r);if(this.entries.has(n)||this.listings.has(n))throw or.EEXIST(`mkdir '${r}'`);this.hydrateDirectory(n),this.chmodSync(n,o)}async rmdirPromise(r,o){return this.rmdirSync(r,o)}rmdirSync(r,{recursive:o=!1}={}){if(this.readOnly)throw or.EROFS(`rmdir '${r}'`);if(o){this.removeSync(r);return}let a=this.resolveFilename(`rmdir '${r}'`,r),n=this.listings.get(a);if(!n)throw or.ENOTDIR(`rmdir '${r}'`);if(n.size>0)throw or.ENOTEMPTY(`rmdir '${r}'`);let u=this.entries.get(a);if(typeof u>"u")throw or.EINVAL(`rmdir '${r}'`);this.deleteEntry(r,u)}hydrateDirectory(r){let o=this.libzip.dir.add(this.zip,J.relative(Bt.root,r));if(o===-1)throw this.makeLibzipError(this.libzip.getError(this.zip));return this.registerListing(r),this.registerEntry(r,o),o}async linkPromise(r,o){return this.linkSync(r,o)}linkSync(r,o){throw or.EOPNOTSUPP(`link '${r}' -> '${o}'`)}async symlinkPromise(r,o){return this.symlinkSync(r,o)}symlinkSync(r,o){if(this.readOnly)throw or.EROFS(`symlink '${r}' -> '${o}'`);let a=this.resolveFilename(`symlink '${r}' -> '${o}'`,o);if(this.listings.has(a))throw or.EISDIR(`symlink '${r}' -> '${o}'`);if(this.entries.has(a))throw or.EEXIST(`symlink '${r}' -> '${o}'`);let n=this.setFileSource(a,r);if(this.registerEntry(a,n),this.libzip.file.setExternalAttributes(this.zip,n,0,0,this.libzip.ZIP_OPSYS_UNIX,(ta.constants.S_IFLNK|511)<<16)===-1)throw this.makeLibzipError(this.libzip.getError(this.zip));this.symlinkCount+=1}async readFilePromise(r,o){typeof o=="object"&&(o=o?o.encoding:void 0);let a=await this.readFileBuffer(r,{asyncDecompress:!0});return o?a.toString(o):a}readFileSync(r,o){typeof o=="object"&&(o=o?o.encoding:void 0);let a=this.readFileBuffer(r);return o?a.toString(o):a}readFileBuffer(r,o={asyncDecompress:!1}){typeof r=="number"&&(r=this.fdToPath(r,"read"));let a=this.resolveFilename(`open '${r}'`,r);if(!this.entries.has(a)&&!this.listings.has(a))throw or.ENOENT(`open '${r}'`);if(r[r.length-1]==="/"&&!this.listings.has(a))throw or.ENOTDIR(`open '${r}'`);if(this.listings.has(a))throw or.EISDIR("read");let n=this.entries.get(a);if(n===void 0)throw new Error("Unreachable");return this.getFileSource(n,o)}async readdirPromise(r,o){return this.readdirSync(r,o)}readdirSync(r,o){let a=this.resolveFilename(`scandir '${r}'`,r);if(!this.entries.has(a)&&!this.listings.has(a))throw or.ENOENT(`scandir '${r}'`);let n=this.listings.get(a);if(!n)throw or.ENOTDIR(`scandir '${r}'`);if(o?.recursive)if(o?.withFileTypes){let u=Array.from(n,A=>Object.assign(this.statImpl("lstat",J.join(r,A)),{name:A,path:Bt.dot}));for(let A of u){if(!A.isDirectory())continue;let p=J.join(A.path,A.name),h=this.listings.get(J.join(a,p));for(let w of h)u.push(Object.assign(this.statImpl("lstat",J.join(r,p,w)),{name:w,path:p}))}return u}else{let u=[...n];for(let A of u){let p=this.listings.get(J.join(a,A));if(!(typeof p>"u"))for(let h of p)u.push(J.join(A,h))}return u}else return o?.withFileTypes?Array.from(n,u=>Object.assign(this.statImpl("lstat",J.join(r,u)),{name:u,path:void 0})):[...n]}async readlinkPromise(r){let o=this.prepareReadlink(r);return(await this.getFileSource(o,{asyncDecompress:!0})).toString()}readlinkSync(r){let o=this.prepareReadlink(r);return this.getFileSource(o).toString()}prepareReadlink(r){let o=this.resolveFilename(`readlink '${r}'`,r,!1);if(!this.entries.has(o)&&!this.listings.has(o))throw or.ENOENT(`readlink '${r}'`);if(r[r.length-1]==="/"&&!this.listings.has(o))throw or.ENOTDIR(`open '${r}'`);if(this.listings.has(o))throw or.EINVAL(`readlink '${r}'`);let a=this.entries.get(o);if(a===void 0)throw new Error("Unreachable");if(!this.isSymbolicLink(a))throw or.EINVAL(`readlink '${r}'`);return a}async truncatePromise(r,o=0){let a=this.resolveFilename(`open '${r}'`,r),n=this.entries.get(a);if(typeof n>"u")throw or.EINVAL(`open '${r}'`);let u=await this.getFileSource(n,{asyncDecompress:!0}),A=Buffer.alloc(o,0);return u.copy(A),await this.writeFilePromise(r,A)}truncateSync(r,o=0){let a=this.resolveFilename(`open '${r}'`,r),n=this.entries.get(a);if(typeof n>"u")throw or.EINVAL(`open '${r}'`);let u=this.getFileSource(n),A=Buffer.alloc(o,0);return u.copy(A),this.writeFileSync(r,A)}async ftruncatePromise(r,o){return this.truncatePromise(this.fdToPath(r,"ftruncate"),o)}ftruncateSync(r,o){return this.truncateSync(this.fdToPath(r,"ftruncateSync"),o)}watch(r,o,a){let n;switch(typeof o){case"function":case"string":case"undefined":n=!0;break;default:({persistent:n=!0}=o);break}if(!n)return{on:()=>{},close:()=>{}};let u=setInterval(()=>{},24*60*60*1e3);return{on:()=>{},close:()=>{clearInterval(u)}}}watchFile(r,o,a){let n=J.resolve(Bt.root,r);return ry(this,n,o,a)}unwatchFile(r,o){let a=J.resolve(Bt.root,r);return Lg(this,a,o)}}});function Ole(e,t,r=Buffer.alloc(0),o){let a=new us(r),n=I=>I===t||I.startsWith(`${t}/`)?I.slice(0,t.length):null,u=async(I,v)=>()=>a,A=(I,v)=>a,p={...e},h=new Rn(p),w=new Up({baseFs:h,getMountPoint:n,factoryPromise:u,factorySync:A,magicByte:21,maxAge:1/0,typeCheck:o?.typeCheck});return YC(Lle.default,new _p(w)),a}var Lle,Mle=yt(()=>{St();Lle=$e(Ie("fs"));sU()});var Ule=yt(()=>{Rle();sU();Mle()});var P1={};Jt(P1,{DEFAULT_COMPRESSION_LEVEL:()=>Nle,LibzipError:()=>kx,ZipFS:()=>us,ZipOpenFS:()=>Vl,getArchivePart:()=>rU,getLibzipPromise:()=>Jst,getLibzipSync:()=>Kst,makeEmptyArchive:()=>Qx,mountMemoryDrive:()=>Ole});function Kst(){return S1()}async function Jst(){return S1()}var _le,iA=yt(()=>{$4();_le=$e(ble());Fle();Ule();xle(()=>{let e=(0,_le.default)();return kle(e)})});var FE,Hle=yt(()=>{St();qt();x1();FE=class extends nt{constructor(){super(...arguments);this.cwd=he.String("--cwd",process.cwd(),{description:"The directory to run the command in"});this.commandName=he.String();this.args=he.Proxy()}async execute(){let r=this.args.length>0?`${this.commandName} ${this.args.join(" ")}`:this.commandName;return await RE(r,[],{cwd:Ae.toPortablePath(this.cwd),stdin:this.context.stdin,stdout:this.context.stdout,stderr:this.context.stderr})}};FE.usage={description:"run a command using yarn's portable shell",details:` - This command will run a command using Yarn's portable shell. - - Make sure to escape glob patterns, redirections, and other features that might be expanded by your own shell. - - Note: To escape something from Yarn's shell, you might have to escape it twice, the first time from your own shell. - - Note: Don't use this command in Yarn scripts, as Yarn's shell is automatically used. - - For a list of features, visit: https://github.com/yarnpkg/berry/blob/master/packages/yarnpkg-shell/README.md. - `,examples:[["Run a simple command","$0 echo Hello"],["Run a command with a glob pattern","$0 echo '*.js'"],["Run a command with a redirection","$0 echo Hello World '>' hello.txt"],["Run a command with an escaped glob pattern (The double escape is needed in Unix shells)",`$0 echo '"*.js"'`],["Run a command with a variable (Double quotes are needed in Unix shells, to prevent them from expanding the variable)",'$0 "GREETING=Hello echo $GREETING World"']]}});var ol,jle=yt(()=>{ol=class extends Error{constructor(t){super(t),this.name="ShellError"}}});var Tx={};Jt(Tx,{fastGlobOptions:()=>Yle,isBraceExpansion:()=>oU,isGlobPattern:()=>Vst,match:()=>zst,micromatchOptions:()=>Rx});function Vst(e){if(!Fx.default.scan(e,Rx).isGlob)return!1;try{Fx.default.parse(e,Rx)}catch{return!1}return!0}function zst(e,{cwd:t,baseFs:r}){return(0,qle.default)(e,{...Yle,cwd:Ae.fromPortablePath(t),fs:FD(Gle.default,new _p(r))})}function oU(e){return Fx.default.scan(e,Rx).isBrace}var qle,Gle,Fx,Rx,Yle,Wle=yt(()=>{St();qle=$e(FP()),Gle=$e(Ie("fs")),Fx=$e(Zo()),Rx={strictBrackets:!0},Yle={onlyDirectories:!1,onlyFiles:!1}});function aU(){}function lU(){for(let e of bd)e.kill()}function zle(e,t,r,o){return a=>{let n=a[0]instanceof sA.Transform?"pipe":a[0],u=a[1]instanceof sA.Transform?"pipe":a[1],A=a[2]instanceof sA.Transform?"pipe":a[2],p=(0,Jle.default)(e,t,{...o,stdio:[n,u,A]});return bd.add(p),bd.size===1&&(process.on("SIGINT",aU),process.on("SIGTERM",lU)),a[0]instanceof sA.Transform&&a[0].pipe(p.stdin),a[1]instanceof sA.Transform&&p.stdout.pipe(a[1],{end:!1}),a[2]instanceof sA.Transform&&p.stderr.pipe(a[2],{end:!1}),{stdin:p.stdin,promise:new Promise(h=>{p.on("error",w=>{switch(bd.delete(p),bd.size===0&&(process.off("SIGINT",aU),process.off("SIGTERM",lU)),w.code){case"ENOENT":a[2].write(`command not found: ${e} -`),h(127);break;case"EACCES":a[2].write(`permission denied: ${e} -`),h(128);break;default:a[2].write(`uncaught error: ${w.message} -`),h(1);break}}),p.on("close",w=>{bd.delete(p),bd.size===0&&(process.off("SIGINT",aU),process.off("SIGTERM",lU)),h(w!==null?w:129)})})}}}function Xle(e){return t=>{let r=t[0]==="pipe"?new sA.PassThrough:t[0];return{stdin:r,promise:Promise.resolve().then(()=>e({stdin:r,stdout:t[1],stderr:t[2]}))}}}function Nx(e,t){return TE.start(e,t)}function Kle(e,t=null){let r=new sA.PassThrough,o=new Vle.StringDecoder,a="";return r.on("data",n=>{let u=o.write(n),A;do if(A=u.indexOf(` -`),A!==-1){let p=a+u.substring(0,A);u=u.substring(A+1),a="",e(t!==null?`${t} ${p}`:p)}while(A!==-1);a+=u}),r.on("end",()=>{let n=o.end();n!==""&&e(t!==null?`${t} ${n}`:n)}),r}function Zle(e,{prefix:t}){return{stdout:Kle(r=>e.stdout.write(`${r} -`),e.stdout.isTTY?t:null),stderr:Kle(r=>e.stderr.write(`${r} -`),e.stderr.isTTY?t:null)}}var Jle,sA,Vle,bd,zl,cU,TE,uU=yt(()=>{Jle=$e(iT()),sA=Ie("stream"),Vle=Ie("string_decoder"),bd=new Set;zl=class{constructor(t){this.stream=t}close(){}get(){return this.stream}},cU=class{constructor(){this.stream=null}close(){if(this.stream===null)throw new Error("Assertion failed: No stream attached");this.stream.end()}attach(t){this.stream=t}get(){if(this.stream===null)throw new Error("Assertion failed: No stream attached");return this.stream}},TE=class{constructor(t,r){this.stdin=null;this.stdout=null;this.stderr=null;this.pipe=null;this.ancestor=t,this.implementation=r}static start(t,{stdin:r,stdout:o,stderr:a}){let n=new TE(null,t);return n.stdin=r,n.stdout=o,n.stderr=a,n}pipeTo(t,r=1){let o=new TE(this,t),a=new cU;return o.pipe=a,o.stdout=this.stdout,o.stderr=this.stderr,(r&1)===1?this.stdout=a:this.ancestor!==null&&(this.stderr=this.ancestor.stdout),(r&2)===2?this.stderr=a:this.ancestor!==null&&(this.stderr=this.ancestor.stderr),o}async exec(){let t=["ignore","ignore","ignore"];if(this.pipe)t[0]="pipe";else{if(this.stdin===null)throw new Error("Assertion failed: No input stream registered");t[0]=this.stdin.get()}let r;if(this.stdout===null)throw new Error("Assertion failed: No output stream registered");r=this.stdout,t[1]=r.get();let o;if(this.stderr===null)throw new Error("Assertion failed: No error stream registered");o=this.stderr,t[2]=o.get();let a=this.implementation(t);return this.pipe&&this.pipe.attach(a.stdin),await a.promise.then(n=>(r.close(),o.close(),n))}async run(){let t=[];for(let o=this;o;o=o.ancestor)t.push(o.exec());return(await Promise.all(t))[0]}}});var F1={};Jt(F1,{EntryCommand:()=>FE,ShellError:()=>ol,execute:()=>RE,globUtils:()=>Tx});function $le(e,t,r){let o=new al.PassThrough({autoDestroy:!0});switch(e){case 0:(t&1)===1&&r.stdin.pipe(o,{end:!1}),(t&2)===2&&r.stdin instanceof al.Writable&&o.pipe(r.stdin,{end:!1});break;case 1:(t&1)===1&&r.stdout.pipe(o,{end:!1}),(t&2)===2&&o.pipe(r.stdout,{end:!1});break;case 2:(t&1)===1&&r.stderr.pipe(o,{end:!1}),(t&2)===2&&o.pipe(r.stderr,{end:!1});break;default:throw new ol(`Bad file descriptor: "${e}"`)}return o}function Ox(e,t={}){let r={...e,...t};return r.environment={...e.environment,...t.environment},r.variables={...e.variables,...t.variables},r}async function Zst(e,t,r){let o=[],a=new al.PassThrough;return a.on("data",n=>o.push(n)),await Mx(e,t,Ox(r,{stdout:a})),Buffer.concat(o).toString().replace(/[\r\n]+$/,"")}async function ece(e,t,r){let o=e.map(async n=>{let u=await Qd(n.args,t,r);return{name:n.name,value:u.join(" ")}});return(await Promise.all(o)).reduce((n,u)=>(n[u.name]=u.value,n),{})}function Lx(e){return e.match(/[^ \r\n\t]+/g)||[]}async function oce(e,t,r,o,a=o){switch(e.name){case"$":o(String(process.pid));break;case"#":o(String(t.args.length));break;case"@":if(e.quoted)for(let n of t.args)a(n);else for(let n of t.args){let u=Lx(n);for(let A=0;A<u.length-1;++A)a(u[A]);o(u[u.length-1])}break;case"*":{let n=t.args.join(" ");if(e.quoted)o(n);else for(let u of Lx(n))a(u)}break;case"PPID":o(String(process.ppid));break;case"RANDOM":o(String(Math.floor(Math.random()*32768)));break;default:{let n=parseInt(e.name,10),u,A=Number.isFinite(n);if(A?n>=0&&n<t.args.length&&(u=t.args[n]):Object.hasOwn(r.variables,e.name)?u=r.variables[e.name]:Object.hasOwn(r.environment,e.name)&&(u=r.environment[e.name]),typeof u<"u"&&e.alternativeValue?u=(await Qd(e.alternativeValue,t,r)).join(" "):typeof u>"u"&&(e.defaultValue?u=(await Qd(e.defaultValue,t,r)).join(" "):e.alternativeValue&&(u="")),typeof u>"u")throw A?new ol(`Unbound argument #${n}`):new ol(`Unbound variable "${e.name}"`);if(e.quoted)o(u);else{let p=Lx(u);for(let w=0;w<p.length-1;++w)a(p[w]);let h=p[p.length-1];typeof h<"u"&&o(h)}}break}}async function b1(e,t,r){if(e.type==="number"){if(Number.isInteger(e.value))return e.value;throw new Error(`Invalid number: "${e.value}", only integers are allowed`)}else if(e.type==="variable"){let o=[];await oce({...e,quoted:!0},t,r,n=>o.push(n));let a=Number(o.join(" "));return Number.isNaN(a)?b1({type:"variable",name:o.join(" ")},t,r):b1({type:"number",value:a},t,r)}else return $st[e.type](await b1(e.left,t,r),await b1(e.right,t,r))}async function Qd(e,t,r){let o=new Map,a=[],n=[],u=w=>{n.push(w)},A=()=>{n.length>0&&a.push(n.join("")),n=[]},p=w=>{u(w),A()},h=(w,I,v)=>{let b=JSON.stringify({type:w,fd:I}),E=o.get(b);typeof E>"u"&&o.set(b,E=[]),E.push(v)};for(let w of e){let I=!1;switch(w.type){case"redirection":{let v=await Qd(w.args,t,r);for(let b of v)h(w.subtype,w.fd,b)}break;case"argument":for(let v of w.segments)switch(v.type){case"text":u(v.text);break;case"glob":u(v.pattern),I=!0;break;case"shell":{let b=await Zst(v.shell,t,r);if(v.quoted)u(b);else{let E=Lx(b);for(let R=0;R<E.length-1;++R)p(E[R]);u(E[E.length-1])}}break;case"variable":await oce(v,t,r,u,p);break;case"arithmetic":u(String(await b1(v.arithmetic,t,r)));break}break}if(A(),I){let v=a.pop();if(typeof v>"u")throw new Error("Assertion failed: Expected a glob pattern to have been set");let b=await t.glob.match(v,{cwd:r.cwd,baseFs:t.baseFs});if(b.length===0){let E=oU(v)?". Note: Brace expansion of arbitrary strings isn't currently supported. For more details, please read this issue: https://github.com/yarnpkg/berry/issues/22":"";throw new ol(`No matches found: "${v}"${E}`)}for(let E of b.sort())p(E)}}if(o.size>0){let w=[];for(let[I,v]of o.entries())w.splice(w.length,0,I,String(v.length),...v);a.splice(0,0,"__ysh_set_redirects",...w,"--")}return a}function Q1(e,t,r){t.builtins.has(e[0])||(e=["command",...e]);let o=Ae.fromPortablePath(r.cwd),a=r.environment;typeof a.PWD<"u"&&(a={...a,PWD:o});let[n,...u]=e;if(n==="command")return zle(u[0],u.slice(1),t,{cwd:o,env:a});let A=t.builtins.get(n);if(typeof A>"u")throw new Error(`Assertion failed: A builtin should exist for "${n}"`);return Xle(async({stdin:p,stdout:h,stderr:w})=>{let{stdin:I,stdout:v,stderr:b}=r;r.stdin=p,r.stdout=h,r.stderr=w;try{return await A(u,t,r)}finally{r.stdin=I,r.stdout=v,r.stderr=b}})}function eot(e,t,r){return o=>{let a=new al.PassThrough,n=Mx(e,t,Ox(r,{stdin:a}));return{stdin:a,promise:n}}}function tot(e,t,r){return o=>{let a=new al.PassThrough,n=Mx(e,t,r);return{stdin:a,promise:n}}}function tce(e,t,r,o){if(t.length===0)return e;{let a;do a=String(Math.random());while(Object.hasOwn(o.procedures,a));return o.procedures={...o.procedures},o.procedures[a]=e,Q1([...t,"__ysh_run_procedure",a],r,o)}}async function rce(e,t,r){let o=e,a=null,n=null;for(;o;){let u=o.then?{...r}:r,A;switch(o.type){case"command":{let p=await Qd(o.args,t,r),h=await ece(o.envs,t,r);A=o.envs.length?Q1(p,t,Ox(u,{environment:h})):Q1(p,t,u)}break;case"subshell":{let p=await Qd(o.args,t,r),h=eot(o.subshell,t,u);A=tce(h,p,t,u)}break;case"group":{let p=await Qd(o.args,t,r),h=tot(o.group,t,u);A=tce(h,p,t,u)}break;case"envs":{let p=await ece(o.envs,t,r);u.environment={...u.environment,...p},A=Q1(["true"],t,u)}break}if(typeof A>"u")throw new Error("Assertion failed: An action should have been generated");if(a===null)n=Nx(A,{stdin:new zl(u.stdin),stdout:new zl(u.stdout),stderr:new zl(u.stderr)});else{if(n===null)throw new Error("Assertion failed: The execution pipeline should have been setup");switch(a){case"|":n=n.pipeTo(A,1);break;case"|&":n=n.pipeTo(A,3);break}}o.then?(a=o.then.type,o=o.then.chain):o=null}if(n===null)throw new Error("Assertion failed: The execution pipeline should have been setup");return await n.run()}async function rot(e,t,r,{background:o=!1}={}){function a(n){let u=["#2E86AB","#A23B72","#F18F01","#C73E1D","#CCE2A3"],A=u[n%u.length];return nce.default.hex(A)}if(o){let n=r.nextBackgroundJobIndex++,u=a(n),A=`[${n}]`,p=u(A),{stdout:h,stderr:w}=Zle(r,{prefix:p});return r.backgroundJobs.push(rce(e,t,Ox(r,{stdout:h,stderr:w})).catch(I=>w.write(`${I.message} -`)).finally(()=>{r.stdout.isTTY&&r.stdout.write(`Job ${p}, '${u(cy(e))}' has ended -`)})),0}return await rce(e,t,r)}async function not(e,t,r,{background:o=!1}={}){let a,n=A=>{a=A,r.variables["?"]=String(A)},u=async A=>{try{return await rot(A.chain,t,r,{background:o&&typeof A.then>"u"})}catch(p){if(!(p instanceof ol))throw p;return r.stderr.write(`${p.message} -`),1}};for(n(await u(e));e.then;){if(r.exitCode!==null)return r.exitCode;switch(e.then.type){case"&&":a===0&&n(await u(e.then.line));break;case"||":a!==0&&n(await u(e.then.line));break;default:throw new Error(`Assertion failed: Unsupported command type: "${e.then.type}"`)}e=e.then.line}return a}async function Mx(e,t,r){let o=r.backgroundJobs;r.backgroundJobs=[];let a=0;for(let{command:n,type:u}of e){if(a=await not(n,t,r,{background:u==="&"}),r.exitCode!==null)return r.exitCode;r.variables["?"]=String(a)}return await Promise.all(r.backgroundJobs),r.backgroundJobs=o,a}function ace(e){switch(e.type){case"variable":return e.name==="@"||e.name==="#"||e.name==="*"||Number.isFinite(parseInt(e.name,10))||"defaultValue"in e&&!!e.defaultValue&&e.defaultValue.some(t=>k1(t))||"alternativeValue"in e&&!!e.alternativeValue&&e.alternativeValue.some(t=>k1(t));case"arithmetic":return AU(e.arithmetic);case"shell":return fU(e.shell);default:return!1}}function k1(e){switch(e.type){case"redirection":return e.args.some(t=>k1(t));case"argument":return e.segments.some(t=>ace(t));default:throw new Error(`Assertion failed: Unsupported argument type: "${e.type}"`)}}function AU(e){switch(e.type){case"variable":return ace(e);case"number":return!1;default:return AU(e.left)||AU(e.right)}}function fU(e){return e.some(({command:t})=>{for(;t;){let r=t.chain;for(;r;){let o;switch(r.type){case"subshell":o=fU(r.subshell);break;case"command":o=r.envs.some(a=>a.args.some(n=>k1(n)))||r.args.some(a=>k1(a));break}if(o)return!0;if(!r.then)break;r=r.then.chain}if(!t.then)break;t=t.then.line}return!1})}async function RE(e,t=[],{baseFs:r=new Rn,builtins:o={},cwd:a=Ae.toPortablePath(process.cwd()),env:n=process.env,stdin:u=process.stdin,stdout:A=process.stdout,stderr:p=process.stderr,variables:h={},glob:w=Tx}={}){let I={};for(let[E,R]of Object.entries(n))typeof R<"u"&&(I[E]=R);let v=new Map(Xst);for(let[E,R]of Object.entries(o))v.set(E,R);u===null&&(u=new al.PassThrough,u.end());let b=ND(e,w);if(!fU(b)&&b.length>0&&t.length>0){let{command:E}=b[b.length-1];for(;E.then;)E=E.then.line;let R=E.chain;for(;R.then;)R=R.then.chain;R.type==="command"&&(R.args=R.args.concat(t.map(N=>({type:"argument",segments:[{type:"text",text:N}]}))))}return await Mx(b,{args:t,baseFs:r,builtins:v,initialStdin:u,initialStdout:A,initialStderr:p,glob:w},{cwd:a,environment:I,exitCode:null,procedures:{},stdin:u,stdout:A,stderr:p,variables:Object.assign({},h,{["?"]:0}),nextBackgroundJobIndex:1,backgroundJobs:[]})}var nce,ice,al,sce,Xst,$st,x1=yt(()=>{St();Nl();nce=$e(CN()),ice=Ie("os"),al=Ie("stream"),sce=Ie("timers/promises");Hle();jle();Wle();uU();uU();Xst=new Map([["cd",async([e=(0,ice.homedir)(),...t],r,o)=>{let a=J.resolve(o.cwd,Ae.toPortablePath(e));if(!(await r.baseFs.statPromise(a).catch(u=>{throw u.code==="ENOENT"?new ol(`cd: no such file or directory: ${e}`):u})).isDirectory())throw new ol(`cd: not a directory: ${e}`);return o.cwd=a,0}],["pwd",async(e,t,r)=>(r.stdout.write(`${Ae.fromPortablePath(r.cwd)} -`),0)],[":",async(e,t,r)=>0],["true",async(e,t,r)=>0],["false",async(e,t,r)=>1],["exit",async([e,...t],r,o)=>o.exitCode=parseInt(e??o.variables["?"],10)],["echo",async(e,t,r)=>(r.stdout.write(`${e.join(" ")} -`),0)],["sleep",async([e],t,r)=>{if(typeof e>"u")throw new ol("sleep: missing operand");let o=Number(e);if(Number.isNaN(o))throw new ol(`sleep: invalid time interval '${e}'`);return await(0,sce.setTimeout)(1e3*o,0)}],["__ysh_run_procedure",async(e,t,r)=>{let o=r.procedures[e[0]];return await Nx(o,{stdin:new zl(r.stdin),stdout:new zl(r.stdout),stderr:new zl(r.stderr)}).run()}],["__ysh_set_redirects",async(e,t,r)=>{let o=r.stdin,a=r.stdout,n=r.stderr,u=[],A=[],p=[],h=0;for(;e[h]!=="--";){let I=e[h++],{type:v,fd:b}=JSON.parse(I),E=V=>{switch(b){case null:case 0:u.push(V);break;default:throw new Error(`Unsupported file descriptor: "${b}"`)}},R=V=>{switch(b){case null:case 1:A.push(V);break;case 2:p.push(V);break;default:throw new Error(`Unsupported file descriptor: "${b}"`)}},N=Number(e[h++]),U=h+N;for(let V=h;V<U;++h,++V)switch(v){case"<":E(()=>t.baseFs.createReadStream(J.resolve(r.cwd,Ae.toPortablePath(e[V]))));break;case"<<<":E(()=>{let ee=new al.PassThrough;return process.nextTick(()=>{ee.write(`${e[V]} -`),ee.end()}),ee});break;case"<&":E(()=>$le(Number(e[V]),1,r));break;case">":case">>":{let ee=J.resolve(r.cwd,Ae.toPortablePath(e[V]));R(ee==="/dev/null"?new al.Writable({autoDestroy:!0,emitClose:!0,write(le,fe,de){setImmediate(de)}}):t.baseFs.createWriteStream(ee,v===">>"?{flags:"a"}:void 0))}break;case">&":R($le(Number(e[V]),2,r));break;default:throw new Error(`Assertion failed: Unsupported redirection type: "${v}"`)}}if(u.length>0){let I=new al.PassThrough;o=I;let v=b=>{if(b===u.length)I.end();else{let E=u[b]();E.pipe(I,{end:!1}),E.on("end",()=>{v(b+1)})}};v(0)}if(A.length>0){let I=new al.PassThrough;a=I;for(let v of A)I.pipe(v)}if(p.length>0){let I=new al.PassThrough;n=I;for(let v of p)I.pipe(v)}let w=await Nx(Q1(e.slice(h+1),t,r),{stdin:new zl(o),stdout:new zl(a),stderr:new zl(n)}).run();return await Promise.all(A.map(I=>new Promise((v,b)=>{I.on("error",E=>{b(E)}),I.on("close",()=>{v()}),I.end()}))),await Promise.all(p.map(I=>new Promise((v,b)=>{I.on("error",E=>{b(E)}),I.on("close",()=>{v()}),I.end()}))),w}]]);$st={addition:(e,t)=>e+t,subtraction:(e,t)=>e-t,multiplication:(e,t)=>e*t,division:(e,t)=>Math.trunc(e/t)}});var Ux=_((LMt,lce)=>{function iot(e,t){for(var r=-1,o=e==null?0:e.length,a=Array(o);++r<o;)a[r]=t(e[r],r,e);return a}lce.exports=iot});var hce=_((OMt,pce)=>{var cce=fd(),sot=Ux(),oot=Hl(),aot=fE(),lot=1/0,uce=cce?cce.prototype:void 0,Ace=uce?uce.toString:void 0;function fce(e){if(typeof e=="string")return e;if(oot(e))return sot(e,fce)+"";if(aot(e))return Ace?Ace.call(e):"";var t=e+"";return t=="0"&&1/e==-lot?"-0":t}pce.exports=fce});var R1=_((MMt,gce)=>{var cot=hce();function uot(e){return e==null?"":cot(e)}gce.exports=uot});var pU=_((UMt,dce)=>{function Aot(e,t,r){var o=-1,a=e.length;t<0&&(t=-t>a?0:a+t),r=r>a?a:r,r<0&&(r+=a),a=t>r?0:r-t>>>0,t>>>=0;for(var n=Array(a);++o<a;)n[o]=e[o+t];return n}dce.exports=Aot});var yce=_((_Mt,mce)=>{var fot=pU();function pot(e,t,r){var o=e.length;return r=r===void 0?o:r,!t&&r>=o?e:fot(e,t,r)}mce.exports=pot});var hU=_((HMt,Ece)=>{var hot="\\ud800-\\udfff",got="\\u0300-\\u036f",dot="\\ufe20-\\ufe2f",mot="\\u20d0-\\u20ff",yot=got+dot+mot,Eot="\\ufe0e\\ufe0f",wot="\\u200d",Cot=RegExp("["+wot+hot+yot+Eot+"]");function Iot(e){return Cot.test(e)}Ece.exports=Iot});var Cce=_((jMt,wce)=>{function Bot(e){return e.split("")}wce.exports=Bot});var bce=_((qMt,xce)=>{var Ice="\\ud800-\\udfff",vot="\\u0300-\\u036f",Dot="\\ufe20-\\ufe2f",Sot="\\u20d0-\\u20ff",Pot=vot+Dot+Sot,xot="\\ufe0e\\ufe0f",bot="["+Ice+"]",gU="["+Pot+"]",dU="\\ud83c[\\udffb-\\udfff]",Qot="(?:"+gU+"|"+dU+")",Bce="[^"+Ice+"]",vce="(?:\\ud83c[\\udde6-\\uddff]){2}",Dce="[\\ud800-\\udbff][\\udc00-\\udfff]",kot="\\u200d",Sce=Qot+"?",Pce="["+xot+"]?",Fot="(?:"+kot+"(?:"+[Bce,vce,Dce].join("|")+")"+Pce+Sce+")*",Rot=Pce+Sce+Fot,Tot="(?:"+[Bce+gU+"?",gU,vce,Dce,bot].join("|")+")",Not=RegExp(dU+"(?="+dU+")|"+Tot+Rot,"g");function Lot(e){return e.match(Not)||[]}xce.exports=Lot});var kce=_((GMt,Qce)=>{var Oot=Cce(),Mot=hU(),Uot=bce();function _ot(e){return Mot(e)?Uot(e):Oot(e)}Qce.exports=_ot});var Rce=_((YMt,Fce)=>{var Hot=yce(),jot=hU(),qot=kce(),Got=R1();function Yot(e){return function(t){t=Got(t);var r=jot(t)?qot(t):void 0,o=r?r[0]:t.charAt(0),a=r?Hot(r,1).join(""):t.slice(1);return o[e]()+a}}Fce.exports=Yot});var Nce=_((WMt,Tce)=>{var Wot=Rce(),Kot=Wot("toUpperCase");Tce.exports=Kot});var mU=_((KMt,Lce)=>{var Jot=R1(),Vot=Nce();function zot(e){return Vot(Jot(e).toLowerCase())}Lce.exports=zot});var Oce=_((JMt,_x)=>{function Xot(){var e=0,t=1,r=2,o=3,a=4,n=5,u=6,A=7,p=8,h=9,w=10,I=11,v=12,b=13,E=14,R=15,N=16,U=17,V=0,ee=1,le=2,fe=3,de=4;function ge(g,we){return 55296<=g.charCodeAt(we)&&g.charCodeAt(we)<=56319&&56320<=g.charCodeAt(we+1)&&g.charCodeAt(we+1)<=57343}function oe(g,we){we===void 0&&(we=0);var Se=g.charCodeAt(we);if(55296<=Se&&Se<=56319&&we<g.length-1){var ce=Se,ne=g.charCodeAt(we+1);return 56320<=ne&&ne<=57343?(ce-55296)*1024+(ne-56320)+65536:ce}if(56320<=Se&&Se<=57343&&we>=1){var ce=g.charCodeAt(we-1),ne=Se;return 55296<=ce&&ce<=56319?(ce-55296)*1024+(ne-56320)+65536:ne}return Se}function Be(g,we,Se){var ce=[g].concat(we).concat([Se]),ne=ce[ce.length-2],te=Se,Ee=ce.lastIndexOf(E);if(Ee>1&&ce.slice(1,Ee).every(function(H){return H==o})&&[o,b,U].indexOf(g)==-1)return le;var Re=ce.lastIndexOf(a);if(Re>0&&ce.slice(1,Re).every(function(H){return H==a})&&[v,a].indexOf(ne)==-1)return ce.filter(function(H){return H==a}).length%2==1?fe:de;if(ne==e&&te==t)return V;if(ne==r||ne==e||ne==t)return te==E&&we.every(function(H){return H==o})?le:ee;if(te==r||te==e||te==t)return ee;if(ne==u&&(te==u||te==A||te==h||te==w))return V;if((ne==h||ne==A)&&(te==A||te==p))return V;if((ne==w||ne==p)&&te==p)return V;if(te==o||te==R)return V;if(te==n)return V;if(ne==v)return V;var dt=ce.indexOf(o)!=-1?ce.lastIndexOf(o)-1:ce.length-2;return[b,U].indexOf(ce[dt])!=-1&&ce.slice(dt+1,-1).every(function(H){return H==o})&&te==E||ne==R&&[N,U].indexOf(te)!=-1?V:we.indexOf(a)!=-1?le:ne==a&&te==a?V:ee}this.nextBreak=function(g,we){if(we===void 0&&(we=0),we<0)return 0;if(we>=g.length-1)return g.length;for(var Se=be(oe(g,we)),ce=[],ne=we+1;ne<g.length;ne++)if(!ge(g,ne-1)){var te=be(oe(g,ne));if(Be(Se,ce,te))return ne;ce.push(te)}return g.length},this.splitGraphemes=function(g){for(var we=[],Se=0,ce;(ce=this.nextBreak(g,Se))<g.length;)we.push(g.slice(Se,ce)),Se=ce;return Se<g.length&&we.push(g.slice(Se)),we},this.iterateGraphemes=function(g){var we=0,Se={next:function(){var ce,ne;return(ne=this.nextBreak(g,we))<g.length?(ce=g.slice(we,ne),we=ne,{value:ce,done:!1}):we<g.length?(ce=g.slice(we),we=g.length,{value:ce,done:!1}):{value:void 0,done:!0}}.bind(this)};return typeof Symbol<"u"&&Symbol.iterator&&(Se[Symbol.iterator]=function(){return Se}),Se},this.countGraphemes=function(g){for(var we=0,Se=0,ce;(ce=this.nextBreak(g,Se))<g.length;)Se=ce,we++;return Se<g.length&&we++,we};function be(g){return 1536<=g&&g<=1541||g==1757||g==1807||g==2274||g==3406||g==69821||70082<=g&&g<=70083||g==72250||72326<=g&&g<=72329||g==73030?v:g==13?e:g==10?t:0<=g&&g<=9||11<=g&&g<=12||14<=g&&g<=31||127<=g&&g<=159||g==173||g==1564||g==6158||g==8203||8206<=g&&g<=8207||g==8232||g==8233||8234<=g&&g<=8238||8288<=g&&g<=8292||g==8293||8294<=g&&g<=8303||55296<=g&&g<=57343||g==65279||65520<=g&&g<=65528||65529<=g&&g<=65531||113824<=g&&g<=113827||119155<=g&&g<=119162||g==917504||g==917505||917506<=g&&g<=917535||917632<=g&&g<=917759||918e3<=g&&g<=921599?r:768<=g&&g<=879||1155<=g&&g<=1159||1160<=g&&g<=1161||1425<=g&&g<=1469||g==1471||1473<=g&&g<=1474||1476<=g&&g<=1477||g==1479||1552<=g&&g<=1562||1611<=g&&g<=1631||g==1648||1750<=g&&g<=1756||1759<=g&&g<=1764||1767<=g&&g<=1768||1770<=g&&g<=1773||g==1809||1840<=g&&g<=1866||1958<=g&&g<=1968||2027<=g&&g<=2035||2070<=g&&g<=2073||2075<=g&&g<=2083||2085<=g&&g<=2087||2089<=g&&g<=2093||2137<=g&&g<=2139||2260<=g&&g<=2273||2275<=g&&g<=2306||g==2362||g==2364||2369<=g&&g<=2376||g==2381||2385<=g&&g<=2391||2402<=g&&g<=2403||g==2433||g==2492||g==2494||2497<=g&&g<=2500||g==2509||g==2519||2530<=g&&g<=2531||2561<=g&&g<=2562||g==2620||2625<=g&&g<=2626||2631<=g&&g<=2632||2635<=g&&g<=2637||g==2641||2672<=g&&g<=2673||g==2677||2689<=g&&g<=2690||g==2748||2753<=g&&g<=2757||2759<=g&&g<=2760||g==2765||2786<=g&&g<=2787||2810<=g&&g<=2815||g==2817||g==2876||g==2878||g==2879||2881<=g&&g<=2884||g==2893||g==2902||g==2903||2914<=g&&g<=2915||g==2946||g==3006||g==3008||g==3021||g==3031||g==3072||3134<=g&&g<=3136||3142<=g&&g<=3144||3146<=g&&g<=3149||3157<=g&&g<=3158||3170<=g&&g<=3171||g==3201||g==3260||g==3263||g==3266||g==3270||3276<=g&&g<=3277||3285<=g&&g<=3286||3298<=g&&g<=3299||3328<=g&&g<=3329||3387<=g&&g<=3388||g==3390||3393<=g&&g<=3396||g==3405||g==3415||3426<=g&&g<=3427||g==3530||g==3535||3538<=g&&g<=3540||g==3542||g==3551||g==3633||3636<=g&&g<=3642||3655<=g&&g<=3662||g==3761||3764<=g&&g<=3769||3771<=g&&g<=3772||3784<=g&&g<=3789||3864<=g&&g<=3865||g==3893||g==3895||g==3897||3953<=g&&g<=3966||3968<=g&&g<=3972||3974<=g&&g<=3975||3981<=g&&g<=3991||3993<=g&&g<=4028||g==4038||4141<=g&&g<=4144||4146<=g&&g<=4151||4153<=g&&g<=4154||4157<=g&&g<=4158||4184<=g&&g<=4185||4190<=g&&g<=4192||4209<=g&&g<=4212||g==4226||4229<=g&&g<=4230||g==4237||g==4253||4957<=g&&g<=4959||5906<=g&&g<=5908||5938<=g&&g<=5940||5970<=g&&g<=5971||6002<=g&&g<=6003||6068<=g&&g<=6069||6071<=g&&g<=6077||g==6086||6089<=g&&g<=6099||g==6109||6155<=g&&g<=6157||6277<=g&&g<=6278||g==6313||6432<=g&&g<=6434||6439<=g&&g<=6440||g==6450||6457<=g&&g<=6459||6679<=g&&g<=6680||g==6683||g==6742||6744<=g&&g<=6750||g==6752||g==6754||6757<=g&&g<=6764||6771<=g&&g<=6780||g==6783||6832<=g&&g<=6845||g==6846||6912<=g&&g<=6915||g==6964||6966<=g&&g<=6970||g==6972||g==6978||7019<=g&&g<=7027||7040<=g&&g<=7041||7074<=g&&g<=7077||7080<=g&&g<=7081||7083<=g&&g<=7085||g==7142||7144<=g&&g<=7145||g==7149||7151<=g&&g<=7153||7212<=g&&g<=7219||7222<=g&&g<=7223||7376<=g&&g<=7378||7380<=g&&g<=7392||7394<=g&&g<=7400||g==7405||g==7412||7416<=g&&g<=7417||7616<=g&&g<=7673||7675<=g&&g<=7679||g==8204||8400<=g&&g<=8412||8413<=g&&g<=8416||g==8417||8418<=g&&g<=8420||8421<=g&&g<=8432||11503<=g&&g<=11505||g==11647||11744<=g&&g<=11775||12330<=g&&g<=12333||12334<=g&&g<=12335||12441<=g&&g<=12442||g==42607||42608<=g&&g<=42610||42612<=g&&g<=42621||42654<=g&&g<=42655||42736<=g&&g<=42737||g==43010||g==43014||g==43019||43045<=g&&g<=43046||43204<=g&&g<=43205||43232<=g&&g<=43249||43302<=g&&g<=43309||43335<=g&&g<=43345||43392<=g&&g<=43394||g==43443||43446<=g&&g<=43449||g==43452||g==43493||43561<=g&&g<=43566||43569<=g&&g<=43570||43573<=g&&g<=43574||g==43587||g==43596||g==43644||g==43696||43698<=g&&g<=43700||43703<=g&&g<=43704||43710<=g&&g<=43711||g==43713||43756<=g&&g<=43757||g==43766||g==44005||g==44008||g==44013||g==64286||65024<=g&&g<=65039||65056<=g&&g<=65071||65438<=g&&g<=65439||g==66045||g==66272||66422<=g&&g<=66426||68097<=g&&g<=68099||68101<=g&&g<=68102||68108<=g&&g<=68111||68152<=g&&g<=68154||g==68159||68325<=g&&g<=68326||g==69633||69688<=g&&g<=69702||69759<=g&&g<=69761||69811<=g&&g<=69814||69817<=g&&g<=69818||69888<=g&&g<=69890||69927<=g&&g<=69931||69933<=g&&g<=69940||g==70003||70016<=g&&g<=70017||70070<=g&&g<=70078||70090<=g&&g<=70092||70191<=g&&g<=70193||g==70196||70198<=g&&g<=70199||g==70206||g==70367||70371<=g&&g<=70378||70400<=g&&g<=70401||g==70460||g==70462||g==70464||g==70487||70502<=g&&g<=70508||70512<=g&&g<=70516||70712<=g&&g<=70719||70722<=g&&g<=70724||g==70726||g==70832||70835<=g&&g<=70840||g==70842||g==70845||70847<=g&&g<=70848||70850<=g&&g<=70851||g==71087||71090<=g&&g<=71093||71100<=g&&g<=71101||71103<=g&&g<=71104||71132<=g&&g<=71133||71219<=g&&g<=71226||g==71229||71231<=g&&g<=71232||g==71339||g==71341||71344<=g&&g<=71349||g==71351||71453<=g&&g<=71455||71458<=g&&g<=71461||71463<=g&&g<=71467||72193<=g&&g<=72198||72201<=g&&g<=72202||72243<=g&&g<=72248||72251<=g&&g<=72254||g==72263||72273<=g&&g<=72278||72281<=g&&g<=72283||72330<=g&&g<=72342||72344<=g&&g<=72345||72752<=g&&g<=72758||72760<=g&&g<=72765||g==72767||72850<=g&&g<=72871||72874<=g&&g<=72880||72882<=g&&g<=72883||72885<=g&&g<=72886||73009<=g&&g<=73014||g==73018||73020<=g&&g<=73021||73023<=g&&g<=73029||g==73031||92912<=g&&g<=92916||92976<=g&&g<=92982||94095<=g&&g<=94098||113821<=g&&g<=113822||g==119141||119143<=g&&g<=119145||119150<=g&&g<=119154||119163<=g&&g<=119170||119173<=g&&g<=119179||119210<=g&&g<=119213||119362<=g&&g<=119364||121344<=g&&g<=121398||121403<=g&&g<=121452||g==121461||g==121476||121499<=g&&g<=121503||121505<=g&&g<=121519||122880<=g&&g<=122886||122888<=g&&g<=122904||122907<=g&&g<=122913||122915<=g&&g<=122916||122918<=g&&g<=122922||125136<=g&&g<=125142||125252<=g&&g<=125258||917536<=g&&g<=917631||917760<=g&&g<=917999?o:127462<=g&&g<=127487?a:g==2307||g==2363||2366<=g&&g<=2368||2377<=g&&g<=2380||2382<=g&&g<=2383||2434<=g&&g<=2435||2495<=g&&g<=2496||2503<=g&&g<=2504||2507<=g&&g<=2508||g==2563||2622<=g&&g<=2624||g==2691||2750<=g&&g<=2752||g==2761||2763<=g&&g<=2764||2818<=g&&g<=2819||g==2880||2887<=g&&g<=2888||2891<=g&&g<=2892||g==3007||3009<=g&&g<=3010||3014<=g&&g<=3016||3018<=g&&g<=3020||3073<=g&&g<=3075||3137<=g&&g<=3140||3202<=g&&g<=3203||g==3262||3264<=g&&g<=3265||3267<=g&&g<=3268||3271<=g&&g<=3272||3274<=g&&g<=3275||3330<=g&&g<=3331||3391<=g&&g<=3392||3398<=g&&g<=3400||3402<=g&&g<=3404||3458<=g&&g<=3459||3536<=g&&g<=3537||3544<=g&&g<=3550||3570<=g&&g<=3571||g==3635||g==3763||3902<=g&&g<=3903||g==3967||g==4145||4155<=g&&g<=4156||4182<=g&&g<=4183||g==4228||g==6070||6078<=g&&g<=6085||6087<=g&&g<=6088||6435<=g&&g<=6438||6441<=g&&g<=6443||6448<=g&&g<=6449||6451<=g&&g<=6456||6681<=g&&g<=6682||g==6741||g==6743||6765<=g&&g<=6770||g==6916||g==6965||g==6971||6973<=g&&g<=6977||6979<=g&&g<=6980||g==7042||g==7073||7078<=g&&g<=7079||g==7082||g==7143||7146<=g&&g<=7148||g==7150||7154<=g&&g<=7155||7204<=g&&g<=7211||7220<=g&&g<=7221||g==7393||7410<=g&&g<=7411||g==7415||43043<=g&&g<=43044||g==43047||43136<=g&&g<=43137||43188<=g&&g<=43203||43346<=g&&g<=43347||g==43395||43444<=g&&g<=43445||43450<=g&&g<=43451||43453<=g&&g<=43456||43567<=g&&g<=43568||43571<=g&&g<=43572||g==43597||g==43755||43758<=g&&g<=43759||g==43765||44003<=g&&g<=44004||44006<=g&&g<=44007||44009<=g&&g<=44010||g==44012||g==69632||g==69634||g==69762||69808<=g&&g<=69810||69815<=g&&g<=69816||g==69932||g==70018||70067<=g&&g<=70069||70079<=g&&g<=70080||70188<=g&&g<=70190||70194<=g&&g<=70195||g==70197||70368<=g&&g<=70370||70402<=g&&g<=70403||g==70463||70465<=g&&g<=70468||70471<=g&&g<=70472||70475<=g&&g<=70477||70498<=g&&g<=70499||70709<=g&&g<=70711||70720<=g&&g<=70721||g==70725||70833<=g&&g<=70834||g==70841||70843<=g&&g<=70844||g==70846||g==70849||71088<=g&&g<=71089||71096<=g&&g<=71099||g==71102||71216<=g&&g<=71218||71227<=g&&g<=71228||g==71230||g==71340||71342<=g&&g<=71343||g==71350||71456<=g&&g<=71457||g==71462||72199<=g&&g<=72200||g==72249||72279<=g&&g<=72280||g==72343||g==72751||g==72766||g==72873||g==72881||g==72884||94033<=g&&g<=94078||g==119142||g==119149?n:4352<=g&&g<=4447||43360<=g&&g<=43388?u:4448<=g&&g<=4519||55216<=g&&g<=55238?A:4520<=g&&g<=4607||55243<=g&&g<=55291?p:g==44032||g==44060||g==44088||g==44116||g==44144||g==44172||g==44200||g==44228||g==44256||g==44284||g==44312||g==44340||g==44368||g==44396||g==44424||g==44452||g==44480||g==44508||g==44536||g==44564||g==44592||g==44620||g==44648||g==44676||g==44704||g==44732||g==44760||g==44788||g==44816||g==44844||g==44872||g==44900||g==44928||g==44956||g==44984||g==45012||g==45040||g==45068||g==45096||g==45124||g==45152||g==45180||g==45208||g==45236||g==45264||g==45292||g==45320||g==45348||g==45376||g==45404||g==45432||g==45460||g==45488||g==45516||g==45544||g==45572||g==45600||g==45628||g==45656||g==45684||g==45712||g==45740||g==45768||g==45796||g==45824||g==45852||g==45880||g==45908||g==45936||g==45964||g==45992||g==46020||g==46048||g==46076||g==46104||g==46132||g==46160||g==46188||g==46216||g==46244||g==46272||g==46300||g==46328||g==46356||g==46384||g==46412||g==46440||g==46468||g==46496||g==46524||g==46552||g==46580||g==46608||g==46636||g==46664||g==46692||g==46720||g==46748||g==46776||g==46804||g==46832||g==46860||g==46888||g==46916||g==46944||g==46972||g==47e3||g==47028||g==47056||g==47084||g==47112||g==47140||g==47168||g==47196||g==47224||g==47252||g==47280||g==47308||g==47336||g==47364||g==47392||g==47420||g==47448||g==47476||g==47504||g==47532||g==47560||g==47588||g==47616||g==47644||g==47672||g==47700||g==47728||g==47756||g==47784||g==47812||g==47840||g==47868||g==47896||g==47924||g==47952||g==47980||g==48008||g==48036||g==48064||g==48092||g==48120||g==48148||g==48176||g==48204||g==48232||g==48260||g==48288||g==48316||g==48344||g==48372||g==48400||g==48428||g==48456||g==48484||g==48512||g==48540||g==48568||g==48596||g==48624||g==48652||g==48680||g==48708||g==48736||g==48764||g==48792||g==48820||g==48848||g==48876||g==48904||g==48932||g==48960||g==48988||g==49016||g==49044||g==49072||g==49100||g==49128||g==49156||g==49184||g==49212||g==49240||g==49268||g==49296||g==49324||g==49352||g==49380||g==49408||g==49436||g==49464||g==49492||g==49520||g==49548||g==49576||g==49604||g==49632||g==49660||g==49688||g==49716||g==49744||g==49772||g==49800||g==49828||g==49856||g==49884||g==49912||g==49940||g==49968||g==49996||g==50024||g==50052||g==50080||g==50108||g==50136||g==50164||g==50192||g==50220||g==50248||g==50276||g==50304||g==50332||g==50360||g==50388||g==50416||g==50444||g==50472||g==50500||g==50528||g==50556||g==50584||g==50612||g==50640||g==50668||g==50696||g==50724||g==50752||g==50780||g==50808||g==50836||g==50864||g==50892||g==50920||g==50948||g==50976||g==51004||g==51032||g==51060||g==51088||g==51116||g==51144||g==51172||g==51200||g==51228||g==51256||g==51284||g==51312||g==51340||g==51368||g==51396||g==51424||g==51452||g==51480||g==51508||g==51536||g==51564||g==51592||g==51620||g==51648||g==51676||g==51704||g==51732||g==51760||g==51788||g==51816||g==51844||g==51872||g==51900||g==51928||g==51956||g==51984||g==52012||g==52040||g==52068||g==52096||g==52124||g==52152||g==52180||g==52208||g==52236||g==52264||g==52292||g==52320||g==52348||g==52376||g==52404||g==52432||g==52460||g==52488||g==52516||g==52544||g==52572||g==52600||g==52628||g==52656||g==52684||g==52712||g==52740||g==52768||g==52796||g==52824||g==52852||g==52880||g==52908||g==52936||g==52964||g==52992||g==53020||g==53048||g==53076||g==53104||g==53132||g==53160||g==53188||g==53216||g==53244||g==53272||g==53300||g==53328||g==53356||g==53384||g==53412||g==53440||g==53468||g==53496||g==53524||g==53552||g==53580||g==53608||g==53636||g==53664||g==53692||g==53720||g==53748||g==53776||g==53804||g==53832||g==53860||g==53888||g==53916||g==53944||g==53972||g==54e3||g==54028||g==54056||g==54084||g==54112||g==54140||g==54168||g==54196||g==54224||g==54252||g==54280||g==54308||g==54336||g==54364||g==54392||g==54420||g==54448||g==54476||g==54504||g==54532||g==54560||g==54588||g==54616||g==54644||g==54672||g==54700||g==54728||g==54756||g==54784||g==54812||g==54840||g==54868||g==54896||g==54924||g==54952||g==54980||g==55008||g==55036||g==55064||g==55092||g==55120||g==55148||g==55176?h:44033<=g&&g<=44059||44061<=g&&g<=44087||44089<=g&&g<=44115||44117<=g&&g<=44143||44145<=g&&g<=44171||44173<=g&&g<=44199||44201<=g&&g<=44227||44229<=g&&g<=44255||44257<=g&&g<=44283||44285<=g&&g<=44311||44313<=g&&g<=44339||44341<=g&&g<=44367||44369<=g&&g<=44395||44397<=g&&g<=44423||44425<=g&&g<=44451||44453<=g&&g<=44479||44481<=g&&g<=44507||44509<=g&&g<=44535||44537<=g&&g<=44563||44565<=g&&g<=44591||44593<=g&&g<=44619||44621<=g&&g<=44647||44649<=g&&g<=44675||44677<=g&&g<=44703||44705<=g&&g<=44731||44733<=g&&g<=44759||44761<=g&&g<=44787||44789<=g&&g<=44815||44817<=g&&g<=44843||44845<=g&&g<=44871||44873<=g&&g<=44899||44901<=g&&g<=44927||44929<=g&&g<=44955||44957<=g&&g<=44983||44985<=g&&g<=45011||45013<=g&&g<=45039||45041<=g&&g<=45067||45069<=g&&g<=45095||45097<=g&&g<=45123||45125<=g&&g<=45151||45153<=g&&g<=45179||45181<=g&&g<=45207||45209<=g&&g<=45235||45237<=g&&g<=45263||45265<=g&&g<=45291||45293<=g&&g<=45319||45321<=g&&g<=45347||45349<=g&&g<=45375||45377<=g&&g<=45403||45405<=g&&g<=45431||45433<=g&&g<=45459||45461<=g&&g<=45487||45489<=g&&g<=45515||45517<=g&&g<=45543||45545<=g&&g<=45571||45573<=g&&g<=45599||45601<=g&&g<=45627||45629<=g&&g<=45655||45657<=g&&g<=45683||45685<=g&&g<=45711||45713<=g&&g<=45739||45741<=g&&g<=45767||45769<=g&&g<=45795||45797<=g&&g<=45823||45825<=g&&g<=45851||45853<=g&&g<=45879||45881<=g&&g<=45907||45909<=g&&g<=45935||45937<=g&&g<=45963||45965<=g&&g<=45991||45993<=g&&g<=46019||46021<=g&&g<=46047||46049<=g&&g<=46075||46077<=g&&g<=46103||46105<=g&&g<=46131||46133<=g&&g<=46159||46161<=g&&g<=46187||46189<=g&&g<=46215||46217<=g&&g<=46243||46245<=g&&g<=46271||46273<=g&&g<=46299||46301<=g&&g<=46327||46329<=g&&g<=46355||46357<=g&&g<=46383||46385<=g&&g<=46411||46413<=g&&g<=46439||46441<=g&&g<=46467||46469<=g&&g<=46495||46497<=g&&g<=46523||46525<=g&&g<=46551||46553<=g&&g<=46579||46581<=g&&g<=46607||46609<=g&&g<=46635||46637<=g&&g<=46663||46665<=g&&g<=46691||46693<=g&&g<=46719||46721<=g&&g<=46747||46749<=g&&g<=46775||46777<=g&&g<=46803||46805<=g&&g<=46831||46833<=g&&g<=46859||46861<=g&&g<=46887||46889<=g&&g<=46915||46917<=g&&g<=46943||46945<=g&&g<=46971||46973<=g&&g<=46999||47001<=g&&g<=47027||47029<=g&&g<=47055||47057<=g&&g<=47083||47085<=g&&g<=47111||47113<=g&&g<=47139||47141<=g&&g<=47167||47169<=g&&g<=47195||47197<=g&&g<=47223||47225<=g&&g<=47251||47253<=g&&g<=47279||47281<=g&&g<=47307||47309<=g&&g<=47335||47337<=g&&g<=47363||47365<=g&&g<=47391||47393<=g&&g<=47419||47421<=g&&g<=47447||47449<=g&&g<=47475||47477<=g&&g<=47503||47505<=g&&g<=47531||47533<=g&&g<=47559||47561<=g&&g<=47587||47589<=g&&g<=47615||47617<=g&&g<=47643||47645<=g&&g<=47671||47673<=g&&g<=47699||47701<=g&&g<=47727||47729<=g&&g<=47755||47757<=g&&g<=47783||47785<=g&&g<=47811||47813<=g&&g<=47839||47841<=g&&g<=47867||47869<=g&&g<=47895||47897<=g&&g<=47923||47925<=g&&g<=47951||47953<=g&&g<=47979||47981<=g&&g<=48007||48009<=g&&g<=48035||48037<=g&&g<=48063||48065<=g&&g<=48091||48093<=g&&g<=48119||48121<=g&&g<=48147||48149<=g&&g<=48175||48177<=g&&g<=48203||48205<=g&&g<=48231||48233<=g&&g<=48259||48261<=g&&g<=48287||48289<=g&&g<=48315||48317<=g&&g<=48343||48345<=g&&g<=48371||48373<=g&&g<=48399||48401<=g&&g<=48427||48429<=g&&g<=48455||48457<=g&&g<=48483||48485<=g&&g<=48511||48513<=g&&g<=48539||48541<=g&&g<=48567||48569<=g&&g<=48595||48597<=g&&g<=48623||48625<=g&&g<=48651||48653<=g&&g<=48679||48681<=g&&g<=48707||48709<=g&&g<=48735||48737<=g&&g<=48763||48765<=g&&g<=48791||48793<=g&&g<=48819||48821<=g&&g<=48847||48849<=g&&g<=48875||48877<=g&&g<=48903||48905<=g&&g<=48931||48933<=g&&g<=48959||48961<=g&&g<=48987||48989<=g&&g<=49015||49017<=g&&g<=49043||49045<=g&&g<=49071||49073<=g&&g<=49099||49101<=g&&g<=49127||49129<=g&&g<=49155||49157<=g&&g<=49183||49185<=g&&g<=49211||49213<=g&&g<=49239||49241<=g&&g<=49267||49269<=g&&g<=49295||49297<=g&&g<=49323||49325<=g&&g<=49351||49353<=g&&g<=49379||49381<=g&&g<=49407||49409<=g&&g<=49435||49437<=g&&g<=49463||49465<=g&&g<=49491||49493<=g&&g<=49519||49521<=g&&g<=49547||49549<=g&&g<=49575||49577<=g&&g<=49603||49605<=g&&g<=49631||49633<=g&&g<=49659||49661<=g&&g<=49687||49689<=g&&g<=49715||49717<=g&&g<=49743||49745<=g&&g<=49771||49773<=g&&g<=49799||49801<=g&&g<=49827||49829<=g&&g<=49855||49857<=g&&g<=49883||49885<=g&&g<=49911||49913<=g&&g<=49939||49941<=g&&g<=49967||49969<=g&&g<=49995||49997<=g&&g<=50023||50025<=g&&g<=50051||50053<=g&&g<=50079||50081<=g&&g<=50107||50109<=g&&g<=50135||50137<=g&&g<=50163||50165<=g&&g<=50191||50193<=g&&g<=50219||50221<=g&&g<=50247||50249<=g&&g<=50275||50277<=g&&g<=50303||50305<=g&&g<=50331||50333<=g&&g<=50359||50361<=g&&g<=50387||50389<=g&&g<=50415||50417<=g&&g<=50443||50445<=g&&g<=50471||50473<=g&&g<=50499||50501<=g&&g<=50527||50529<=g&&g<=50555||50557<=g&&g<=50583||50585<=g&&g<=50611||50613<=g&&g<=50639||50641<=g&&g<=50667||50669<=g&&g<=50695||50697<=g&&g<=50723||50725<=g&&g<=50751||50753<=g&&g<=50779||50781<=g&&g<=50807||50809<=g&&g<=50835||50837<=g&&g<=50863||50865<=g&&g<=50891||50893<=g&&g<=50919||50921<=g&&g<=50947||50949<=g&&g<=50975||50977<=g&&g<=51003||51005<=g&&g<=51031||51033<=g&&g<=51059||51061<=g&&g<=51087||51089<=g&&g<=51115||51117<=g&&g<=51143||51145<=g&&g<=51171||51173<=g&&g<=51199||51201<=g&&g<=51227||51229<=g&&g<=51255||51257<=g&&g<=51283||51285<=g&&g<=51311||51313<=g&&g<=51339||51341<=g&&g<=51367||51369<=g&&g<=51395||51397<=g&&g<=51423||51425<=g&&g<=51451||51453<=g&&g<=51479||51481<=g&&g<=51507||51509<=g&&g<=51535||51537<=g&&g<=51563||51565<=g&&g<=51591||51593<=g&&g<=51619||51621<=g&&g<=51647||51649<=g&&g<=51675||51677<=g&&g<=51703||51705<=g&&g<=51731||51733<=g&&g<=51759||51761<=g&&g<=51787||51789<=g&&g<=51815||51817<=g&&g<=51843||51845<=g&&g<=51871||51873<=g&&g<=51899||51901<=g&&g<=51927||51929<=g&&g<=51955||51957<=g&&g<=51983||51985<=g&&g<=52011||52013<=g&&g<=52039||52041<=g&&g<=52067||52069<=g&&g<=52095||52097<=g&&g<=52123||52125<=g&&g<=52151||52153<=g&&g<=52179||52181<=g&&g<=52207||52209<=g&&g<=52235||52237<=g&&g<=52263||52265<=g&&g<=52291||52293<=g&&g<=52319||52321<=g&&g<=52347||52349<=g&&g<=52375||52377<=g&&g<=52403||52405<=g&&g<=52431||52433<=g&&g<=52459||52461<=g&&g<=52487||52489<=g&&g<=52515||52517<=g&&g<=52543||52545<=g&&g<=52571||52573<=g&&g<=52599||52601<=g&&g<=52627||52629<=g&&g<=52655||52657<=g&&g<=52683||52685<=g&&g<=52711||52713<=g&&g<=52739||52741<=g&&g<=52767||52769<=g&&g<=52795||52797<=g&&g<=52823||52825<=g&&g<=52851||52853<=g&&g<=52879||52881<=g&&g<=52907||52909<=g&&g<=52935||52937<=g&&g<=52963||52965<=g&&g<=52991||52993<=g&&g<=53019||53021<=g&&g<=53047||53049<=g&&g<=53075||53077<=g&&g<=53103||53105<=g&&g<=53131||53133<=g&&g<=53159||53161<=g&&g<=53187||53189<=g&&g<=53215||53217<=g&&g<=53243||53245<=g&&g<=53271||53273<=g&&g<=53299||53301<=g&&g<=53327||53329<=g&&g<=53355||53357<=g&&g<=53383||53385<=g&&g<=53411||53413<=g&&g<=53439||53441<=g&&g<=53467||53469<=g&&g<=53495||53497<=g&&g<=53523||53525<=g&&g<=53551||53553<=g&&g<=53579||53581<=g&&g<=53607||53609<=g&&g<=53635||53637<=g&&g<=53663||53665<=g&&g<=53691||53693<=g&&g<=53719||53721<=g&&g<=53747||53749<=g&&g<=53775||53777<=g&&g<=53803||53805<=g&&g<=53831||53833<=g&&g<=53859||53861<=g&&g<=53887||53889<=g&&g<=53915||53917<=g&&g<=53943||53945<=g&&g<=53971||53973<=g&&g<=53999||54001<=g&&g<=54027||54029<=g&&g<=54055||54057<=g&&g<=54083||54085<=g&&g<=54111||54113<=g&&g<=54139||54141<=g&&g<=54167||54169<=g&&g<=54195||54197<=g&&g<=54223||54225<=g&&g<=54251||54253<=g&&g<=54279||54281<=g&&g<=54307||54309<=g&&g<=54335||54337<=g&&g<=54363||54365<=g&&g<=54391||54393<=g&&g<=54419||54421<=g&&g<=54447||54449<=g&&g<=54475||54477<=g&&g<=54503||54505<=g&&g<=54531||54533<=g&&g<=54559||54561<=g&&g<=54587||54589<=g&&g<=54615||54617<=g&&g<=54643||54645<=g&&g<=54671||54673<=g&&g<=54699||54701<=g&&g<=54727||54729<=g&&g<=54755||54757<=g&&g<=54783||54785<=g&&g<=54811||54813<=g&&g<=54839||54841<=g&&g<=54867||54869<=g&&g<=54895||54897<=g&&g<=54923||54925<=g&&g<=54951||54953<=g&&g<=54979||54981<=g&&g<=55007||55009<=g&&g<=55035||55037<=g&&g<=55063||55065<=g&&g<=55091||55093<=g&&g<=55119||55121<=g&&g<=55147||55149<=g&&g<=55175||55177<=g&&g<=55203?w:g==9757||g==9977||9994<=g&&g<=9997||g==127877||127938<=g&&g<=127940||g==127943||127946<=g&&g<=127948||128066<=g&&g<=128067||128070<=g&&g<=128080||g==128110||128112<=g&&g<=128120||g==128124||128129<=g&&g<=128131||128133<=g&&g<=128135||g==128170||128372<=g&&g<=128373||g==128378||g==128400||128405<=g&&g<=128406||128581<=g&&g<=128583||128587<=g&&g<=128591||g==128675||128692<=g&&g<=128694||g==128704||g==128716||129304<=g&&g<=129308||129310<=g&&g<=129311||g==129318||129328<=g&&g<=129337||129341<=g&&g<=129342||129489<=g&&g<=129501?b:127995<=g&&g<=127999?E:g==8205?R:g==9792||g==9794||9877<=g&&g<=9878||g==9992||g==10084||g==127752||g==127806||g==127859||g==127891||g==127908||g==127912||g==127979||g==127981||g==128139||128187<=g&&g<=128188||g==128295||g==128300||g==128488||g==128640||g==128658?N:128102<=g&&g<=128105?U:I}return this}typeof _x<"u"&&_x.exports&&(_x.exports=Xot)});var Uce=_((VMt,Mce)=>{var Zot=/^(.*?)(\x1b\[[^m]+m|\x1b\]8;;.*?(\x1b\\|\u0007))/,Hx;function $ot(){if(Hx)return Hx;if(typeof Intl.Segmenter<"u"){let e=new Intl.Segmenter("en",{granularity:"grapheme"});return Hx=t=>Array.from(e.segment(t),({segment:r})=>r)}else{let e=Oce(),t=new e;return Hx=r=>t.splitGraphemes(r)}}Mce.exports=(e,t=0,r=e.length)=>{if(t<0||r<0)throw new RangeError("Negative indices aren't supported by this implementation");let o=r-t,a="",n=0,u=0;for(;e.length>0;){let A=e.match(Zot)||[e,e,void 0],p=$ot()(A[1]),h=Math.min(t-n,p.length);p=p.slice(h);let w=Math.min(o-u,p.length);a+=p.slice(0,w).join(""),n+=h,u+=w,typeof A[2]<"u"&&(a+=A[2]),e=e.slice(A[0].length)}return a}});var en,T1=yt(()=>{en=process.env.YARN_IS_TEST_ENV?"0.0.0":"4.0.0-rc.50"});function Yce(e,{configuration:t,json:r}){if(!t.get("enableMessageNames"))return"";let a=Ju(e===null?0:e);return!r&&e===null?_t(t,a,"grey"):a}function yU(e,{configuration:t,json:r}){let o=Yce(e,{configuration:t,json:r});if(!o||e===null||e===0)return o;let a=wr[e],n=`https://yarnpkg.com/advanced/error-codes#${o}---${a}`.toLowerCase();return Xy(t,o,n)}var qce,jx,eat,_ce,Hce,uh,Gce,jce,tat,rat,qx,nat,Nt,N1=yt(()=>{qce=$e(Uce()),jx=$e($g());AS();Yl();T1();ql();eat="\xB7",_ce=["\u280B","\u2819","\u2839","\u2838","\u283C","\u2834","\u2826","\u2827","\u2807","\u280F"],Hce=80,uh=jx.default.GITHUB_ACTIONS?{start:e=>`::group::${e} -`,end:e=>`::endgroup:: -`}:jx.default.TRAVIS?{start:e=>`travis_fold:start:${e} -`,end:e=>`travis_fold:end:${e} -`}:jx.default.GITLAB?{start:e=>`section_start:${Math.floor(Date.now()/1e3)}:${e.toLowerCase().replace(/\W+/g,"_")}[collapsed=true]\r\x1B[0K${e} -`,end:e=>`section_end:${Math.floor(Date.now()/1e3)}:${e.toLowerCase().replace(/\W+/g,"_")}\r\x1B[0K`}:null,Gce=uh!==null,jce=new Date,tat=["iTerm.app","Apple_Terminal","WarpTerminal","vscode"].includes(process.env.TERM_PROGRAM)||!!process.env.WT_SESSION,rat=e=>e,qx=rat({patrick:{date:[17,3],chars:["\u{1F340}","\u{1F331}"],size:40},simba:{date:[19,7],chars:["\u{1F981}","\u{1F334}"],size:40},jack:{date:[31,10],chars:["\u{1F383}","\u{1F987}"],size:40},hogsfather:{date:[31,12],chars:["\u{1F389}","\u{1F384}"],size:40},default:{chars:["=","-"],size:80}}),nat=tat&&Object.keys(qx).find(e=>{let t=qx[e];return!(t.date&&(t.date[0]!==jce.getDate()||t.date[1]!==jce.getMonth()+1))})||"default";Nt=class extends Zs{constructor({configuration:r,stdout:o,json:a=!1,forceSectionAlignment:n=!1,includeNames:u=!0,includePrefix:A=!0,includeFooter:p=!0,includeLogs:h=!a,includeInfos:w=h,includeWarnings:I=h}){super();this.uncommitted=new Set;this.warningCount=0;this.errorCount=0;this.timerFooter=[];this.startTime=Date.now();this.indent=0;this.level=0;this.progress=new Map;this.progressTime=0;this.progressFrame=0;this.progressTimeout=null;this.progressStyle=null;this.progressMaxScaledSize=null;if(JI(this,{configuration:r}),this.configuration=r,this.forceSectionAlignment=n,this.includeNames=u,this.includePrefix=A,this.includeFooter=p,this.includeInfos=w,this.includeWarnings=I,this.json=a,this.stdout=o,r.get("enableProgressBars")&&!a&&o.isTTY&&o.columns>22){let v=r.get("progressBarStyle")||nat;if(!Object.hasOwn(qx,v))throw new Error("Assertion failed: Invalid progress bar style");this.progressStyle=qx[v];let b=Math.min(this.getRecommendedLength(),80);this.progressMaxScaledSize=Math.floor(this.progressStyle.size*b/80)}}static async start(r,o){let a=new this(r),n=process.emitWarning;process.emitWarning=(u,A)=>{if(typeof u!="string"){let h=u;u=h.message,A=A??h.name}let p=typeof A<"u"?`${A}: ${u}`:u;a.reportWarning(0,p)},r.includeVersion&&a.reportInfo(0,md(r.configuration,`Yarn ${en}`,2));try{await o(a)}catch(u){a.reportExceptionOnce(u)}finally{await a.finalize(),process.emitWarning=n}return a}hasErrors(){return this.errorCount>0}exitCode(){return this.hasErrors()?1:0}getRecommendedLength(){let o=this.progressStyle!==null?this.stdout.columns-1:super.getRecommendedLength();return Math.max(40,o-10-this.indent*2)}startSectionSync({reportHeader:r,reportFooter:o,skipIfEmpty:a},n){let u={committed:!1,action:()=>{r?.()}};a?this.uncommitted.add(u):(u.action(),u.committed=!0);let A=Date.now();try{return n()}catch(p){throw this.reportExceptionOnce(p),p}finally{let p=Date.now();this.uncommitted.delete(u),u.committed&&o?.(p-A)}}async startSectionPromise({reportHeader:r,reportFooter:o,skipIfEmpty:a},n){let u={committed:!1,action:()=>{r?.()}};a?this.uncommitted.add(u):(u.action(),u.committed=!0);let A=Date.now();try{return await n()}catch(p){throw this.reportExceptionOnce(p),p}finally{let p=Date.now();this.uncommitted.delete(u),u.committed&&o?.(p-A)}}startTimerImpl(r,o,a){return{cb:typeof o=="function"?o:a,reportHeader:()=>{this.level+=1,this.reportInfo(null,`\u250C ${r}`),this.indent+=1,uh!==null&&!this.json&&this.includeInfos&&this.stdout.write(uh.start(r))},reportFooter:A=>{if(this.indent-=1,uh!==null&&!this.json&&this.includeInfos){this.stdout.write(uh.end(r));for(let p of this.timerFooter)p()}this.configuration.get("enableTimers")&&A>200?this.reportInfo(null,`\u2514 Completed in ${_t(this.configuration,A,Et.DURATION)}`):this.reportInfo(null,"\u2514 Completed"),this.level-=1},skipIfEmpty:(typeof o=="function"?{}:o).skipIfEmpty}}startTimerSync(r,o,a){let{cb:n,...u}=this.startTimerImpl(r,o,a);return this.startSectionSync(u,n)}async startTimerPromise(r,o,a){let{cb:n,...u}=this.startTimerImpl(r,o,a);return this.startSectionPromise(u,n)}reportSeparator(){this.indent===0?this.writeLine(""):this.reportInfo(null,"")}reportInfo(r,o){if(!this.includeInfos)return;this.commit();let a=this.formatNameWithHyperlink(r),n=a?`${a}: `:"",u=`${this.formatPrefix(n,"blueBright")}${o}`;this.json?this.reportJson({type:"info",name:r,displayName:this.formatName(r),indent:this.formatIndent(),data:o}):this.writeLine(u)}reportWarning(r,o){if(this.warningCount+=1,!this.includeWarnings)return;this.commit();let a=this.formatNameWithHyperlink(r),n=a?`${a}: `:"";this.json?this.reportJson({type:"warning",name:r,displayName:this.formatName(r),indent:this.formatIndent(),data:o}):this.writeLine(`${this.formatPrefix(n,"yellowBright")}${o}`)}reportError(r,o){this.errorCount+=1,this.timerFooter.push(()=>this.reportErrorImpl(r,o)),this.reportErrorImpl(r,o)}reportErrorImpl(r,o){this.commit();let a=this.formatNameWithHyperlink(r),n=a?`${a}: `:"";this.json?this.reportJson({type:"error",name:r,displayName:this.formatName(r),indent:this.formatIndent(),data:o}):this.writeLine(`${this.formatPrefix(n,"redBright")}${o}`,{truncate:!1})}reportFold(r,o){if(!uh)return;let a=`${uh.start(r)}${o}${uh.end(r)}`;this.timerFooter.push(()=>this.stdout.write(a))}reportProgress(r){if(this.progressStyle===null)return{...Promise.resolve(),stop:()=>{}};if(r.hasProgress&&r.hasTitle)throw new Error("Unimplemented: Progress bars can't have both progress and titles.");let o=!1,a=Promise.resolve().then(async()=>{let u={progress:r.hasProgress?0:void 0,title:r.hasTitle?"":void 0};this.progress.set(r,{definition:u,lastScaledSize:r.hasProgress?-1:void 0,lastTitle:void 0}),this.refreshProgress({delta:-1});for await(let{progress:A,title:p}of r)o||u.progress===A&&u.title===p||(u.progress=A,u.title=p,this.refreshProgress());n()}),n=()=>{o||(o=!0,this.progress.delete(r),this.refreshProgress({delta:1}))};return{...a,stop:n}}reportJson(r){this.json&&this.writeLine(`${JSON.stringify(r)}`)}async finalize(){if(!this.includeFooter)return;let r="";this.errorCount>0?r="Failed with errors":this.warningCount>0?r="Done with warnings":r="Done";let o=_t(this.configuration,Date.now()-this.startTime,Et.DURATION),a=this.configuration.get("enableTimers")?`${r} in ${o}`:r;this.errorCount>0?this.reportError(0,a):this.warningCount>0?this.reportWarning(0,a):this.reportInfo(0,a)}writeLine(r,{truncate:o}={}){this.clearProgress({clear:!0}),this.stdout.write(`${this.truncate(r,{truncate:o})} -`),this.writeProgress()}writeLines(r,{truncate:o}={}){this.clearProgress({delta:r.length});for(let a of r)this.stdout.write(`${this.truncate(a,{truncate:o})} -`);this.writeProgress()}commit(){let r=this.uncommitted;this.uncommitted=new Set;for(let o of r)o.committed=!0,o.action()}clearProgress({delta:r=0,clear:o=!1}){this.progressStyle!==null&&this.progress.size+r>0&&(this.stdout.write(`\x1B[${this.progress.size+r}A`),(r>0||o)&&this.stdout.write("\x1B[0J"))}writeProgress(){if(this.progressStyle===null||(this.progressTimeout!==null&&clearTimeout(this.progressTimeout),this.progressTimeout=null,this.progress.size===0))return;let r=Date.now();r-this.progressTime>Hce&&(this.progressFrame=(this.progressFrame+1)%_ce.length,this.progressTime=r);let o=_ce[this.progressFrame];for(let a of this.progress.values()){let n="";if(typeof a.lastScaledSize<"u"){let h=this.progressStyle.chars[0].repeat(a.lastScaledSize),w=this.progressStyle.chars[1].repeat(this.progressMaxScaledSize-a.lastScaledSize);n=` ${h}${w}`}let u=this.formatName(null),A=u?`${u}: `:"",p=a.definition.title?` ${a.definition.title}`:"";this.stdout.write(`${_t(this.configuration,"\u27A4","blueBright")} ${A}${o}${n}${p} -`)}this.progressTimeout=setTimeout(()=>{this.refreshProgress({force:!0})},Hce)}refreshProgress({delta:r=0,force:o=!1}={}){let a=!1,n=!1;if(o||this.progress.size===0)a=!0;else for(let u of this.progress.values()){let A=typeof u.definition.progress<"u"?Math.trunc(this.progressMaxScaledSize*u.definition.progress):void 0,p=u.lastScaledSize;u.lastScaledSize=A;let h=u.lastTitle;if(u.lastTitle=u.definition.title,A!==p||(n=h!==u.definition.title)){a=!0;break}}a&&(this.clearProgress({delta:r,clear:n}),this.writeProgress())}truncate(r,{truncate:o}={}){return this.progressStyle===null&&(o=!1),typeof o>"u"&&(o=this.configuration.get("preferTruncatedLines")),o&&(r=(0,qce.default)(r,0,this.stdout.columns-1)),r}formatName(r){return this.includeNames?Yce(r,{configuration:this.configuration,json:this.json}):""}formatPrefix(r,o){return this.includePrefix?`${_t(this.configuration,"\u27A4",o)} ${r}${this.formatIndent()}`:""}formatNameWithHyperlink(r){return this.includeNames?yU(r,{configuration:this.configuration,json:this.json}):""}formatIndent(){return this.level>0||!this.forceSectionAlignment?"\u2502 ".repeat(this.indent):`${eat} `}}});var cn={};Jt(cn,{PackageManager:()=>Jce,detectPackageManager:()=>Vce,executePackageAccessibleBinary:()=>eue,executePackageScript:()=>Gx,executePackageShellcode:()=>EU,executeWorkspaceAccessibleBinary:()=>uat,executeWorkspaceLifecycleScript:()=>Zce,executeWorkspaceScript:()=>Xce,getPackageAccessibleBinaries:()=>Yx,getWorkspaceAccessibleBinaries:()=>$ce,hasPackageScript:()=>aat,hasWorkspaceScript:()=>wU,isNodeScript:()=>CU,makeScriptEnv:()=>L1,maybeExecuteWorkspaceLifecycleScript:()=>cat,prepareExternalProject:()=>oat});async function Ah(e,t,r,o=[]){if(process.platform==="win32"){let a=`@goto #_undefined_# 2>NUL || @title %COMSPEC% & @setlocal & @"${r}" ${o.map(n=>`"${n.replace('"','""')}"`).join(" ")} %*`;await ae.writeFilePromise(J.format({dir:e,name:t,ext:".cmd"}),a)}await ae.writeFilePromise(J.join(e,t),`#!/bin/sh -exec "${r}" ${o.map(a=>`'${a.replace(/'/g,`'"'"'`)}'`).join(" ")} "$@" -`,{mode:493})}async function Vce(e){let t=await Ot.tryFind(e);if(t?.packageManager){let o=OP(t.packageManager);if(o?.name){let a=`found ${JSON.stringify({packageManager:t.packageManager})} in manifest`,[n]=o.reference.split(".");switch(o.name){case"yarn":return{packageManagerField:!0,packageManager:Number(n)===1?"Yarn Classic":"Yarn",reason:a};case"npm":return{packageManagerField:!0,packageManager:"npm",reason:a};case"pnpm":return{packageManagerField:!0,packageManager:"pnpm",reason:a}}}}let r;try{r=await ae.readFilePromise(J.join(e,gr.lockfile),"utf8")}catch{}return r!==void 0?r.match(/^__metadata:$/m)?{packageManager:"Yarn",reason:'"__metadata" key found in yarn.lock'}:{packageManager:"Yarn Classic",reason:'"__metadata" key not found in yarn.lock, must be a Yarn classic lockfile'}:ae.existsSync(J.join(e,"package-lock.json"))?{packageManager:"npm",reason:`found npm's "package-lock.json" lockfile`}:ae.existsSync(J.join(e,"pnpm-lock.yaml"))?{packageManager:"pnpm",reason:`found pnpm's "pnpm-lock.yaml" lockfile`}:null}async function L1({project:e,locator:t,binFolder:r,ignoreCorepack:o,lifecycleScript:a,baseEnv:n=e?.configuration.env??process.env}){let u={};for(let[w,I]of Object.entries(n))typeof I<"u"&&(u[w.toLowerCase()!=="path"?w:"PATH"]=I);let A=Ae.fromPortablePath(r);u.BERRY_BIN_FOLDER=Ae.fromPortablePath(A);let p=process.env.COREPACK_ROOT&&!o?Ae.join(process.env.COREPACK_ROOT,"dist/yarn.js"):process.argv[1];if(await Promise.all([Ah(r,"node",process.execPath),...en!==null?[Ah(r,"run",process.execPath,[p,"run"]),Ah(r,"yarn",process.execPath,[p]),Ah(r,"yarnpkg",process.execPath,[p]),Ah(r,"node-gyp",process.execPath,[p,"run","--top-level","node-gyp"])]:[]]),e&&(u.INIT_CWD=Ae.cwd(),u.PROJECT_CWD=Ae.fromPortablePath(e.cwd)),u.PATH=u.PATH?`${A}${Ae.delimiter}${u.PATH}`:`${A}`,u.npm_execpath=`${A}${Ae.sep}yarn`,u.npm_node_execpath=`${A}${Ae.sep}node`,t){if(!e)throw new Error("Assertion failed: Missing project");let w=e.tryWorkspaceByLocator(t),I=w?w.manifest.version??"":e.storedPackages.get(t.locatorHash).version??"";u.npm_package_name=An(t),u.npm_package_version=I;let v;if(w)v=w.cwd;else{let b=e.storedPackages.get(t.locatorHash);if(!b)throw new Error(`Package for ${jr(e.configuration,t)} not found in the project`);let E=e.configuration.getLinkers(),R={project:e,report:new Nt({stdout:new fh.PassThrough,configuration:e.configuration})},N=E.find(U=>U.supportsPackage(b,R));if(!N)throw new Error(`The package ${jr(e.configuration,b)} isn't supported by any of the available linkers`);v=await N.findPackageLocation(b,R)}u.npm_package_json=Ae.fromPortablePath(J.join(v,gr.manifest))}let h=en!==null?`yarn/${en}`:`yarn/${Vp("@yarnpkg/core").version}-core`;return u.npm_config_user_agent=`${h} npm/? node/${process.version} ${process.platform} ${process.arch}`,a&&(u.npm_lifecycle_event=a),e&&await e.configuration.triggerHook(w=>w.setupScriptEnvironment,e,u,async(w,I,v)=>await Ah(r,bi(w),I,v)),u}async function oat(e,t,{configuration:r,report:o,workspace:a=null,locator:n=null}){await sat(async()=>{await ae.mktempPromise(async u=>{let A=J.join(u,"pack.log"),p=null,{stdout:h,stderr:w}=r.getSubprocessStreams(A,{prefix:Ae.fromPortablePath(e),report:o}),I=n&&jc(n)?$I(n):n,v=I?xa(I):"an external project";h.write(`Packing ${v} from sources -`);let b=await Vce(e),E;b!==null?(h.write(`Using ${b.packageManager} for bootstrap. Reason: ${b.reason} - -`),E=b.packageManager):(h.write(`No package manager configuration detected; defaulting to Yarn - -`),E="Yarn");let R=E==="Yarn"&&!b?.packageManagerField;await ae.mktempPromise(async N=>{let U=await L1({binFolder:N,ignoreCorepack:R}),ee=new Map([["Yarn Classic",async()=>{let fe=a!==null?["workspace",a]:[],de=J.join(e,gr.manifest),ge=await ae.readFilePromise(de),oe=await Wc(process.execPath,[process.argv[1],"set","version","classic","--only-if-needed","--yarn-path"],{cwd:e,env:U,stdin:p,stdout:h,stderr:w,end:1});if(oe.code!==0)return oe.code;await ae.writeFilePromise(de,ge),await ae.appendFilePromise(J.join(e,".npmignore"),`/.yarn -`),h.write(` -`),delete U.NODE_ENV;let Be=await Wc("yarn",["install"],{cwd:e,env:U,stdin:p,stdout:h,stderr:w,end:1});if(Be.code!==0)return Be.code;h.write(` -`);let be=await Wc("yarn",[...fe,"pack","--filename",Ae.fromPortablePath(t)],{cwd:e,env:U,stdin:p,stdout:h,stderr:w});return be.code!==0?be.code:0}],["Yarn",async()=>{let fe=a!==null?["workspace",a]:[];U.YARN_ENABLE_INLINE_BUILDS="1";let de=J.join(e,gr.lockfile);await ae.existsPromise(de)||await ae.writeFilePromise(de,"");let ge=await Wc("yarn",[...fe,"pack","--install-if-needed","--filename",Ae.fromPortablePath(t)],{cwd:e,env:U,stdin:p,stdout:h,stderr:w});return ge.code!==0?ge.code:0}],["npm",async()=>{if(a!==null){let we=new fh.PassThrough,Se=Ky(we);we.pipe(h,{end:!1});let ce=await Wc("npm",["--version"],{cwd:e,env:U,stdin:p,stdout:we,stderr:w,end:0});if(we.end(),ce.code!==0)return h.end(),w.end(),ce.code;let ne=(await Se).toString().trim();if(!bf(ne,">=7.x")){let te=rA(null,"npm"),Ee=Cn(te,ne),Re=Cn(te,">=7.x");throw new Error(`Workspaces aren't supported by ${jn(r,Ee)}; please upgrade to ${jn(r,Re)} (npm has been detected as the primary package manager for ${_t(r,e,Et.PATH)})`)}}let fe=a!==null?["--workspace",a]:[];delete U.npm_config_user_agent,delete U.npm_config_production,delete U.NPM_CONFIG_PRODUCTION,delete U.NODE_ENV;let de=await Wc("npm",["install","--legacy-peer-deps"],{cwd:e,env:U,stdin:p,stdout:h,stderr:w,end:1});if(de.code!==0)return de.code;let ge=new fh.PassThrough,oe=Ky(ge);ge.pipe(h);let Be=await Wc("npm",["pack","--silent",...fe],{cwd:e,env:U,stdin:p,stdout:ge,stderr:w});if(Be.code!==0)return Be.code;let be=(await oe).toString().trim().replace(/^.*\n/s,""),g=J.resolve(e,Ae.toPortablePath(be));return await ae.renamePromise(g,t),0}]]).get(E);if(typeof ee>"u")throw new Error("Assertion failed: Unsupported workflow");let le=await ee();if(!(le===0||typeof le>"u"))throw ae.detachTemp(u),new zt(58,`Packing the package failed (exit code ${le}, logs can be found here: ${_t(r,A,Et.PATH)})`)})})})}async function aat(e,t,{project:r}){let o=r.tryWorkspaceByLocator(e);if(o!==null)return wU(o,t);let a=r.storedPackages.get(e.locatorHash);if(!a)throw new Error(`Package for ${jr(r.configuration,e)} not found in the project`);return await Vl.openPromise(async n=>{let u=r.configuration,A=r.configuration.getLinkers(),p={project:r,report:new Nt({stdout:new fh.PassThrough,configuration:u})},h=A.find(b=>b.supportsPackage(a,p));if(!h)throw new Error(`The package ${jr(r.configuration,a)} isn't supported by any of the available linkers`);let w=await h.findPackageLocation(a,p),I=new hn(w,{baseFs:n});return(await Ot.find(Bt.dot,{baseFs:I})).scripts.has(t)})}async function Gx(e,t,r,{cwd:o,project:a,stdin:n,stdout:u,stderr:A}){return await ae.mktempPromise(async p=>{let{manifest:h,env:w,cwd:I}=await zce(e,{project:a,binFolder:p,cwd:o,lifecycleScript:t}),v=h.scripts.get(t);if(typeof v>"u")return 1;let b=async()=>await RE(v,r,{cwd:I,env:w,stdin:n,stdout:u,stderr:A});return await(await a.configuration.reduceHook(R=>R.wrapScriptExecution,b,a,e,t,{script:v,args:r,cwd:I,env:w,stdin:n,stdout:u,stderr:A}))()})}async function EU(e,t,r,{cwd:o,project:a,stdin:n,stdout:u,stderr:A}){return await ae.mktempPromise(async p=>{let{env:h,cwd:w}=await zce(e,{project:a,binFolder:p,cwd:o});return await RE(t,r,{cwd:w,env:h,stdin:n,stdout:u,stderr:A})})}async function lat(e,{binFolder:t,cwd:r,lifecycleScript:o}){let a=await L1({project:e.project,locator:e.anchoredLocator,binFolder:t,lifecycleScript:o});return await IU(t,await $ce(e)),typeof r>"u"&&(r=J.dirname(await ae.realpathPromise(J.join(e.cwd,"package.json")))),{manifest:e.manifest,binFolder:t,env:a,cwd:r}}async function zce(e,{project:t,binFolder:r,cwd:o,lifecycleScript:a}){let n=t.tryWorkspaceByLocator(e);if(n!==null)return lat(n,{binFolder:r,cwd:o,lifecycleScript:a});let u=t.storedPackages.get(e.locatorHash);if(!u)throw new Error(`Package for ${jr(t.configuration,e)} not found in the project`);return await Vl.openPromise(async A=>{let p=t.configuration,h=t.configuration.getLinkers(),w={project:t,report:new Nt({stdout:new fh.PassThrough,configuration:p})},I=h.find(N=>N.supportsPackage(u,w));if(!I)throw new Error(`The package ${jr(t.configuration,u)} isn't supported by any of the available linkers`);let v=await L1({project:t,locator:e,binFolder:r,lifecycleScript:a});await IU(r,await Yx(e,{project:t}));let b=await I.findPackageLocation(u,w),E=new hn(b,{baseFs:A}),R=await Ot.find(Bt.dot,{baseFs:E});return typeof o>"u"&&(o=b),{manifest:R,binFolder:r,env:v,cwd:o}})}async function Xce(e,t,r,{cwd:o,stdin:a,stdout:n,stderr:u}){return await Gx(e.anchoredLocator,t,r,{cwd:o,project:e.project,stdin:a,stdout:n,stderr:u})}function wU(e,t){return e.manifest.scripts.has(t)}async function Zce(e,t,{cwd:r,report:o}){let{configuration:a}=e.project,n=null;await ae.mktempPromise(async u=>{let A=J.join(u,`${t}.log`),p=`# This file contains the result of Yarn calling the "${t}" lifecycle script inside a workspace ("${Ae.fromPortablePath(e.cwd)}") -`,{stdout:h,stderr:w}=a.getSubprocessStreams(A,{report:o,prefix:jr(a,e.anchoredLocator),header:p});o.reportInfo(36,`Calling the "${t}" lifecycle script`);let I=await Xce(e,t,[],{cwd:r,stdin:n,stdout:h,stderr:w});if(h.end(),w.end(),I!==0)throw ae.detachTemp(u),new zt(36,`${(0,Wce.default)(t)} script failed (exit code ${_t(a,I,Et.NUMBER)}, logs can be found here: ${_t(a,A,Et.PATH)}); run ${_t(a,`yarn ${t}`,Et.CODE)} to investigate`)})}async function cat(e,t,r){wU(e,t)&&await Zce(e,t,r)}function CU(e){let t=J.extname(e);if(t.match(/\.[cm]?[jt]sx?$/))return!0;if(t===".exe"||t===".bin")return!1;let r=Buffer.alloc(4),o;try{o=ae.openSync(e,"r")}catch{return!0}try{ae.readSync(o,r,0,r.length,0)}finally{ae.closeSync(o)}let a=r.readUint32BE();return!(a===3405691582||a===3489328638||a===2135247942||(a&4294901760)===1297743872)}async function Yx(e,{project:t}){let r=t.configuration,o=new Map,a=t.storedPackages.get(e.locatorHash);if(!a)throw new Error(`Package for ${jr(r,e)} not found in the project`);let n=new fh.Writable,u=r.getLinkers(),A={project:t,report:new Nt({configuration:r,stdout:n})},p=new Set([e.locatorHash]);for(let w of a.dependencies.values()){let I=t.storedResolutions.get(w.descriptorHash);if(!I)throw new Error(`Assertion failed: The resolution (${jn(r,w)}) should have been registered`);p.add(I)}let h=await Promise.all(Array.from(p,async w=>{let I=t.storedPackages.get(w);if(!I)throw new Error(`Assertion failed: The package (${w}) should have been registered`);if(I.bin.size===0)return sl.skip;let v=u.find(E=>E.supportsPackage(I,A));if(!v)return sl.skip;let b=null;try{b=await v.findPackageLocation(I,A)}catch(E){if(E.code==="LOCATOR_NOT_INSTALLED")return sl.skip;throw E}return{dependency:I,packageLocation:b}}));for(let w of h){if(w===sl.skip)continue;let{dependency:I,packageLocation:v}=w;for(let[b,E]of I.bin){let R=J.resolve(v,E);o.set(b,[I,Ae.fromPortablePath(R),CU(R)])}}return o}async function $ce(e){return await Yx(e.anchoredLocator,{project:e.project})}async function IU(e,t){await Promise.all(Array.from(t,([r,[,o,a]])=>a?Ah(e,bi(r),process.execPath,[o]):Ah(e,bi(r),o,[])))}async function eue(e,t,r,{cwd:o,project:a,stdin:n,stdout:u,stderr:A,nodeArgs:p=[],packageAccessibleBinaries:h}){h??=await Yx(e,{project:a});let w=h.get(t);if(!w)throw new Error(`Binary not found (${t}) for ${jr(a.configuration,e)}`);return await ae.mktempPromise(async I=>{let[,v]=w,b=await L1({project:a,locator:e,binFolder:I});await IU(b.BERRY_BIN_FOLDER,h);let E=CU(Ae.toPortablePath(v))?Wc(process.execPath,[...p,v,...r],{cwd:o,env:b,stdin:n,stdout:u,stderr:A}):Wc(v,r,{cwd:o,env:b,stdin:n,stdout:u,stderr:A}),R;try{R=await E}finally{await ae.removePromise(b.BERRY_BIN_FOLDER)}return R.code})}async function uat(e,t,r,{cwd:o,stdin:a,stdout:n,stderr:u,packageAccessibleBinaries:A}){return await eue(e.anchoredLocator,t,r,{project:e.project,cwd:o,stdin:a,stdout:n,stderr:u,packageAccessibleBinaries:A})}var Wce,Kce,fh,Jce,iat,sat,BU=yt(()=>{St();St();iA();x1();Wce=$e(mU()),Kce=$e(nd()),fh=Ie("stream");AE();Yl();N1();T1();Ix();ql();jl();Qf();xo();Jce=(a=>(a.Yarn1="Yarn Classic",a.Yarn2="Yarn",a.Npm="npm",a.Pnpm="pnpm",a))(Jce||{});iat=2,sat=(0,Kce.default)(iat)});var NE=_((d4t,rue)=>{"use strict";var tue=new Map([["C","cwd"],["f","file"],["z","gzip"],["P","preservePaths"],["U","unlink"],["strip-components","strip"],["stripComponents","strip"],["keep-newer","newer"],["keepNewer","newer"],["keep-newer-files","newer"],["keepNewerFiles","newer"],["k","keep"],["keep-existing","keep"],["keepExisting","keep"],["m","noMtime"],["no-mtime","noMtime"],["p","preserveOwner"],["L","follow"],["h","follow"]]);rue.exports=e=>e?Object.keys(e).map(t=>[tue.has(t)?tue.get(t):t,e[t]]).reduce((t,r)=>(t[r[0]]=r[1],t),Object.create(null)):{}});var OE=_((m4t,Aue)=>{"use strict";var nue=typeof process=="object"&&process?process:{stdout:null,stderr:null},Aat=Ie("events"),iue=Ie("stream"),sue=Ie("string_decoder").StringDecoder,Of=Symbol("EOF"),Mf=Symbol("maybeEmitEnd"),ph=Symbol("emittedEnd"),Wx=Symbol("emittingEnd"),O1=Symbol("emittedError"),Kx=Symbol("closed"),oue=Symbol("read"),Jx=Symbol("flush"),aue=Symbol("flushChunk"),Qa=Symbol("encoding"),Uf=Symbol("decoder"),Vx=Symbol("flowing"),M1=Symbol("paused"),LE=Symbol("resume"),Ts=Symbol("bufferLength"),vU=Symbol("bufferPush"),DU=Symbol("bufferShift"),Fo=Symbol("objectMode"),Ro=Symbol("destroyed"),SU=Symbol("emitData"),lue=Symbol("emitEnd"),PU=Symbol("emitEnd2"),_f=Symbol("async"),U1=e=>Promise.resolve().then(e),cue=global._MP_NO_ITERATOR_SYMBOLS_!=="1",fat=cue&&Symbol.asyncIterator||Symbol("asyncIterator not implemented"),pat=cue&&Symbol.iterator||Symbol("iterator not implemented"),hat=e=>e==="end"||e==="finish"||e==="prefinish",gat=e=>e instanceof ArrayBuffer||typeof e=="object"&&e.constructor&&e.constructor.name==="ArrayBuffer"&&e.byteLength>=0,dat=e=>!Buffer.isBuffer(e)&&ArrayBuffer.isView(e),zx=class{constructor(t,r,o){this.src=t,this.dest=r,this.opts=o,this.ondrain=()=>t[LE](),r.on("drain",this.ondrain)}unpipe(){this.dest.removeListener("drain",this.ondrain)}proxyErrors(){}end(){this.unpipe(),this.opts.end&&this.dest.end()}},xU=class extends zx{unpipe(){this.src.removeListener("error",this.proxyErrors),super.unpipe()}constructor(t,r,o){super(t,r,o),this.proxyErrors=a=>r.emit("error",a),t.on("error",this.proxyErrors)}};Aue.exports=class uue extends iue{constructor(t){super(),this[Vx]=!1,this[M1]=!1,this.pipes=[],this.buffer=[],this[Fo]=t&&t.objectMode||!1,this[Fo]?this[Qa]=null:this[Qa]=t&&t.encoding||null,this[Qa]==="buffer"&&(this[Qa]=null),this[_f]=t&&!!t.async||!1,this[Uf]=this[Qa]?new sue(this[Qa]):null,this[Of]=!1,this[ph]=!1,this[Wx]=!1,this[Kx]=!1,this[O1]=null,this.writable=!0,this.readable=!0,this[Ts]=0,this[Ro]=!1}get bufferLength(){return this[Ts]}get encoding(){return this[Qa]}set encoding(t){if(this[Fo])throw new Error("cannot set encoding in objectMode");if(this[Qa]&&t!==this[Qa]&&(this[Uf]&&this[Uf].lastNeed||this[Ts]))throw new Error("cannot change encoding");this[Qa]!==t&&(this[Uf]=t?new sue(t):null,this.buffer.length&&(this.buffer=this.buffer.map(r=>this[Uf].write(r)))),this[Qa]=t}setEncoding(t){this.encoding=t}get objectMode(){return this[Fo]}set objectMode(t){this[Fo]=this[Fo]||!!t}get async(){return this[_f]}set async(t){this[_f]=this[_f]||!!t}write(t,r,o){if(this[Of])throw new Error("write after end");if(this[Ro])return this.emit("error",Object.assign(new Error("Cannot call write after a stream was destroyed"),{code:"ERR_STREAM_DESTROYED"})),!0;typeof r=="function"&&(o=r,r="utf8"),r||(r="utf8");let a=this[_f]?U1:n=>n();return!this[Fo]&&!Buffer.isBuffer(t)&&(dat(t)?t=Buffer.from(t.buffer,t.byteOffset,t.byteLength):gat(t)?t=Buffer.from(t):typeof t!="string"&&(this.objectMode=!0)),this[Fo]?(this.flowing&&this[Ts]!==0&&this[Jx](!0),this.flowing?this.emit("data",t):this[vU](t),this[Ts]!==0&&this.emit("readable"),o&&a(o),this.flowing):t.length?(typeof t=="string"&&!(r===this[Qa]&&!this[Uf].lastNeed)&&(t=Buffer.from(t,r)),Buffer.isBuffer(t)&&this[Qa]&&(t=this[Uf].write(t)),this.flowing&&this[Ts]!==0&&this[Jx](!0),this.flowing?this.emit("data",t):this[vU](t),this[Ts]!==0&&this.emit("readable"),o&&a(o),this.flowing):(this[Ts]!==0&&this.emit("readable"),o&&a(o),this.flowing)}read(t){if(this[Ro])return null;if(this[Ts]===0||t===0||t>this[Ts])return this[Mf](),null;this[Fo]&&(t=null),this.buffer.length>1&&!this[Fo]&&(this.encoding?this.buffer=[this.buffer.join("")]:this.buffer=[Buffer.concat(this.buffer,this[Ts])]);let r=this[oue](t||null,this.buffer[0]);return this[Mf](),r}[oue](t,r){return t===r.length||t===null?this[DU]():(this.buffer[0]=r.slice(t),r=r.slice(0,t),this[Ts]-=t),this.emit("data",r),!this.buffer.length&&!this[Of]&&this.emit("drain"),r}end(t,r,o){return typeof t=="function"&&(o=t,t=null),typeof r=="function"&&(o=r,r="utf8"),t&&this.write(t,r),o&&this.once("end",o),this[Of]=!0,this.writable=!1,(this.flowing||!this[M1])&&this[Mf](),this}[LE](){this[Ro]||(this[M1]=!1,this[Vx]=!0,this.emit("resume"),this.buffer.length?this[Jx]():this[Of]?this[Mf]():this.emit("drain"))}resume(){return this[LE]()}pause(){this[Vx]=!1,this[M1]=!0}get destroyed(){return this[Ro]}get flowing(){return this[Vx]}get paused(){return this[M1]}[vU](t){this[Fo]?this[Ts]+=1:this[Ts]+=t.length,this.buffer.push(t)}[DU](){return this.buffer.length&&(this[Fo]?this[Ts]-=1:this[Ts]-=this.buffer[0].length),this.buffer.shift()}[Jx](t){do;while(this[aue](this[DU]()));!t&&!this.buffer.length&&!this[Of]&&this.emit("drain")}[aue](t){return t?(this.emit("data",t),this.flowing):!1}pipe(t,r){if(this[Ro])return;let o=this[ph];return r=r||{},t===nue.stdout||t===nue.stderr?r.end=!1:r.end=r.end!==!1,r.proxyErrors=!!r.proxyErrors,o?r.end&&t.end():(this.pipes.push(r.proxyErrors?new xU(this,t,r):new zx(this,t,r)),this[_f]?U1(()=>this[LE]()):this[LE]()),t}unpipe(t){let r=this.pipes.find(o=>o.dest===t);r&&(this.pipes.splice(this.pipes.indexOf(r),1),r.unpipe())}addListener(t,r){return this.on(t,r)}on(t,r){let o=super.on(t,r);return t==="data"&&!this.pipes.length&&!this.flowing?this[LE]():t==="readable"&&this[Ts]!==0?super.emit("readable"):hat(t)&&this[ph]?(super.emit(t),this.removeAllListeners(t)):t==="error"&&this[O1]&&(this[_f]?U1(()=>r.call(this,this[O1])):r.call(this,this[O1])),o}get emittedEnd(){return this[ph]}[Mf](){!this[Wx]&&!this[ph]&&!this[Ro]&&this.buffer.length===0&&this[Of]&&(this[Wx]=!0,this.emit("end"),this.emit("prefinish"),this.emit("finish"),this[Kx]&&this.emit("close"),this[Wx]=!1)}emit(t,r,...o){if(t!=="error"&&t!=="close"&&t!==Ro&&this[Ro])return;if(t==="data")return r?this[_f]?U1(()=>this[SU](r)):this[SU](r):!1;if(t==="end")return this[lue]();if(t==="close"){if(this[Kx]=!0,!this[ph]&&!this[Ro])return;let n=super.emit("close");return this.removeAllListeners("close"),n}else if(t==="error"){this[O1]=r;let n=super.emit("error",r);return this[Mf](),n}else if(t==="resume"){let n=super.emit("resume");return this[Mf](),n}else if(t==="finish"||t==="prefinish"){let n=super.emit(t);return this.removeAllListeners(t),n}let a=super.emit(t,r,...o);return this[Mf](),a}[SU](t){for(let o of this.pipes)o.dest.write(t)===!1&&this.pause();let r=super.emit("data",t);return this[Mf](),r}[lue](){this[ph]||(this[ph]=!0,this.readable=!1,this[_f]?U1(()=>this[PU]()):this[PU]())}[PU](){if(this[Uf]){let r=this[Uf].end();if(r){for(let o of this.pipes)o.dest.write(r);super.emit("data",r)}}for(let r of this.pipes)r.end();let t=super.emit("end");return this.removeAllListeners("end"),t}collect(){let t=[];this[Fo]||(t.dataLength=0);let r=this.promise();return this.on("data",o=>{t.push(o),this[Fo]||(t.dataLength+=o.length)}),r.then(()=>t)}concat(){return this[Fo]?Promise.reject(new Error("cannot concat in objectMode")):this.collect().then(t=>this[Fo]?Promise.reject(new Error("cannot concat in objectMode")):this[Qa]?t.join(""):Buffer.concat(t,t.dataLength))}promise(){return new Promise((t,r)=>{this.on(Ro,()=>r(new Error("stream destroyed"))),this.on("error",o=>r(o)),this.on("end",()=>t())})}[fat](){return{next:()=>{let r=this.read();if(r!==null)return Promise.resolve({done:!1,value:r});if(this[Of])return Promise.resolve({done:!0});let o=null,a=null,n=h=>{this.removeListener("data",u),this.removeListener("end",A),a(h)},u=h=>{this.removeListener("error",n),this.removeListener("end",A),this.pause(),o({value:h,done:!!this[Of]})},A=()=>{this.removeListener("error",n),this.removeListener("data",u),o({done:!0})},p=()=>n(new Error("stream destroyed"));return new Promise((h,w)=>{a=w,o=h,this.once(Ro,p),this.once("error",n),this.once("end",A),this.once("data",u)})}}}[pat](){return{next:()=>{let r=this.read();return{value:r,done:r===null}}}}destroy(t){return this[Ro]?(t?this.emit("error",t):this.emit(Ro),this):(this[Ro]=!0,this.buffer.length=0,this[Ts]=0,typeof this.close=="function"&&!this[Kx]&&this.close(),t?this.emit("error",t):this.emit(Ro),this)}static isStream(t){return!!t&&(t instanceof uue||t instanceof iue||t instanceof Aat&&(typeof t.pipe=="function"||typeof t.write=="function"&&typeof t.end=="function"))}}});var pue=_((y4t,fue)=>{var mat=Ie("zlib").constants||{ZLIB_VERNUM:4736};fue.exports=Object.freeze(Object.assign(Object.create(null),{Z_NO_FLUSH:0,Z_PARTIAL_FLUSH:1,Z_SYNC_FLUSH:2,Z_FULL_FLUSH:3,Z_FINISH:4,Z_BLOCK:5,Z_OK:0,Z_STREAM_END:1,Z_NEED_DICT:2,Z_ERRNO:-1,Z_STREAM_ERROR:-2,Z_DATA_ERROR:-3,Z_MEM_ERROR:-4,Z_BUF_ERROR:-5,Z_VERSION_ERROR:-6,Z_NO_COMPRESSION:0,Z_BEST_SPEED:1,Z_BEST_COMPRESSION:9,Z_DEFAULT_COMPRESSION:-1,Z_FILTERED:1,Z_HUFFMAN_ONLY:2,Z_RLE:3,Z_FIXED:4,Z_DEFAULT_STRATEGY:0,DEFLATE:1,INFLATE:2,GZIP:3,GUNZIP:4,DEFLATERAW:5,INFLATERAW:6,UNZIP:7,BROTLI_DECODE:8,BROTLI_ENCODE:9,Z_MIN_WINDOWBITS:8,Z_MAX_WINDOWBITS:15,Z_DEFAULT_WINDOWBITS:15,Z_MIN_CHUNK:64,Z_MAX_CHUNK:1/0,Z_DEFAULT_CHUNK:16384,Z_MIN_MEMLEVEL:1,Z_MAX_MEMLEVEL:9,Z_DEFAULT_MEMLEVEL:8,Z_MIN_LEVEL:-1,Z_MAX_LEVEL:9,Z_DEFAULT_LEVEL:-1,BROTLI_OPERATION_PROCESS:0,BROTLI_OPERATION_FLUSH:1,BROTLI_OPERATION_FINISH:2,BROTLI_OPERATION_EMIT_METADATA:3,BROTLI_MODE_GENERIC:0,BROTLI_MODE_TEXT:1,BROTLI_MODE_FONT:2,BROTLI_DEFAULT_MODE:0,BROTLI_MIN_QUALITY:0,BROTLI_MAX_QUALITY:11,BROTLI_DEFAULT_QUALITY:11,BROTLI_MIN_WINDOW_BITS:10,BROTLI_MAX_WINDOW_BITS:24,BROTLI_LARGE_MAX_WINDOW_BITS:30,BROTLI_DEFAULT_WINDOW:22,BROTLI_MIN_INPUT_BLOCK_BITS:16,BROTLI_MAX_INPUT_BLOCK_BITS:24,BROTLI_PARAM_MODE:0,BROTLI_PARAM_QUALITY:1,BROTLI_PARAM_LGWIN:2,BROTLI_PARAM_LGBLOCK:3,BROTLI_PARAM_DISABLE_LITERAL_CONTEXT_MODELING:4,BROTLI_PARAM_SIZE_HINT:5,BROTLI_PARAM_LARGE_WINDOW:6,BROTLI_PARAM_NPOSTFIX:7,BROTLI_PARAM_NDIRECT:8,BROTLI_DECODER_RESULT_ERROR:0,BROTLI_DECODER_RESULT_SUCCESS:1,BROTLI_DECODER_RESULT_NEEDS_MORE_INPUT:2,BROTLI_DECODER_RESULT_NEEDS_MORE_OUTPUT:3,BROTLI_DECODER_PARAM_DISABLE_RING_BUFFER_REALLOCATION:0,BROTLI_DECODER_PARAM_LARGE_WINDOW:1,BROTLI_DECODER_NO_ERROR:0,BROTLI_DECODER_SUCCESS:1,BROTLI_DECODER_NEEDS_MORE_INPUT:2,BROTLI_DECODER_NEEDS_MORE_OUTPUT:3,BROTLI_DECODER_ERROR_FORMAT_EXUBERANT_NIBBLE:-1,BROTLI_DECODER_ERROR_FORMAT_RESERVED:-2,BROTLI_DECODER_ERROR_FORMAT_EXUBERANT_META_NIBBLE:-3,BROTLI_DECODER_ERROR_FORMAT_SIMPLE_HUFFMAN_ALPHABET:-4,BROTLI_DECODER_ERROR_FORMAT_SIMPLE_HUFFMAN_SAME:-5,BROTLI_DECODER_ERROR_FORMAT_CL_SPACE:-6,BROTLI_DECODER_ERROR_FORMAT_HUFFMAN_SPACE:-7,BROTLI_DECODER_ERROR_FORMAT_CONTEXT_MAP_REPEAT:-8,BROTLI_DECODER_ERROR_FORMAT_BLOCK_LENGTH_1:-9,BROTLI_DECODER_ERROR_FORMAT_BLOCK_LENGTH_2:-10,BROTLI_DECODER_ERROR_FORMAT_TRANSFORM:-11,BROTLI_DECODER_ERROR_FORMAT_DICTIONARY:-12,BROTLI_DECODER_ERROR_FORMAT_WINDOW_BITS:-13,BROTLI_DECODER_ERROR_FORMAT_PADDING_1:-14,BROTLI_DECODER_ERROR_FORMAT_PADDING_2:-15,BROTLI_DECODER_ERROR_FORMAT_DISTANCE:-16,BROTLI_DECODER_ERROR_DICTIONARY_NOT_SET:-19,BROTLI_DECODER_ERROR_INVALID_ARGUMENTS:-20,BROTLI_DECODER_ERROR_ALLOC_CONTEXT_MODES:-21,BROTLI_DECODER_ERROR_ALLOC_TREE_GROUPS:-22,BROTLI_DECODER_ERROR_ALLOC_CONTEXT_MAP:-25,BROTLI_DECODER_ERROR_ALLOC_RING_BUFFER_1:-26,BROTLI_DECODER_ERROR_ALLOC_RING_BUFFER_2:-27,BROTLI_DECODER_ERROR_ALLOC_BLOCK_TYPE_TREES:-30,BROTLI_DECODER_ERROR_UNREACHABLE:-31},mat))});var GU=_(ll=>{"use strict";var RU=Ie("assert"),hh=Ie("buffer").Buffer,due=Ie("zlib"),kd=ll.constants=pue(),yat=OE(),hue=hh.concat,Fd=Symbol("_superWrite"),UE=class extends Error{constructor(t){super("zlib: "+t.message),this.code=t.code,this.errno=t.errno,this.code||(this.code="ZLIB_ERROR"),this.message="zlib: "+t.message,Error.captureStackTrace(this,this.constructor)}get name(){return"ZlibError"}},Eat=Symbol("opts"),_1=Symbol("flushFlag"),gue=Symbol("finishFlushFlag"),qU=Symbol("fullFlushFlag"),ei=Symbol("handle"),Xx=Symbol("onError"),ME=Symbol("sawError"),bU=Symbol("level"),QU=Symbol("strategy"),kU=Symbol("ended"),E4t=Symbol("_defaultFullFlush"),Zx=class extends yat{constructor(t,r){if(!t||typeof t!="object")throw new TypeError("invalid options for ZlibBase constructor");super(t),this[ME]=!1,this[kU]=!1,this[Eat]=t,this[_1]=t.flush,this[gue]=t.finishFlush;try{this[ei]=new due[r](t)}catch(o){throw new UE(o)}this[Xx]=o=>{this[ME]||(this[ME]=!0,this.close(),this.emit("error",o))},this[ei].on("error",o=>this[Xx](new UE(o))),this.once("end",()=>this.close)}close(){this[ei]&&(this[ei].close(),this[ei]=null,this.emit("close"))}reset(){if(!this[ME])return RU(this[ei],"zlib binding closed"),this[ei].reset()}flush(t){this.ended||(typeof t!="number"&&(t=this[qU]),this.write(Object.assign(hh.alloc(0),{[_1]:t})))}end(t,r,o){return t&&this.write(t,r),this.flush(this[gue]),this[kU]=!0,super.end(null,null,o)}get ended(){return this[kU]}write(t,r,o){if(typeof r=="function"&&(o=r,r="utf8"),typeof t=="string"&&(t=hh.from(t,r)),this[ME])return;RU(this[ei],"zlib binding closed");let a=this[ei]._handle,n=a.close;a.close=()=>{};let u=this[ei].close;this[ei].close=()=>{},hh.concat=h=>h;let A;try{let h=typeof t[_1]=="number"?t[_1]:this[_1];A=this[ei]._processChunk(t,h),hh.concat=hue}catch(h){hh.concat=hue,this[Xx](new UE(h))}finally{this[ei]&&(this[ei]._handle=a,a.close=n,this[ei].close=u,this[ei].removeAllListeners("error"))}this[ei]&&this[ei].on("error",h=>this[Xx](new UE(h)));let p;if(A)if(Array.isArray(A)&&A.length>0){p=this[Fd](hh.from(A[0]));for(let h=1;h<A.length;h++)p=this[Fd](A[h])}else p=this[Fd](hh.from(A));return o&&o(),p}[Fd](t){return super.write(t)}},Hf=class extends Zx{constructor(t,r){t=t||{},t.flush=t.flush||kd.Z_NO_FLUSH,t.finishFlush=t.finishFlush||kd.Z_FINISH,super(t,r),this[qU]=kd.Z_FULL_FLUSH,this[bU]=t.level,this[QU]=t.strategy}params(t,r){if(!this[ME]){if(!this[ei])throw new Error("cannot switch params when binding is closed");if(!this[ei].params)throw new Error("not supported in this implementation");if(this[bU]!==t||this[QU]!==r){this.flush(kd.Z_SYNC_FLUSH),RU(this[ei],"zlib binding closed");let o=this[ei].flush;this[ei].flush=(a,n)=>{this.flush(a),n()};try{this[ei].params(t,r)}finally{this[ei].flush=o}this[ei]&&(this[bU]=t,this[QU]=r)}}}},TU=class extends Hf{constructor(t){super(t,"Deflate")}},NU=class extends Hf{constructor(t){super(t,"Inflate")}},FU=Symbol("_portable"),LU=class extends Hf{constructor(t){super(t,"Gzip"),this[FU]=t&&!!t.portable}[Fd](t){return this[FU]?(this[FU]=!1,t[9]=255,super[Fd](t)):super[Fd](t)}},OU=class extends Hf{constructor(t){super(t,"Gunzip")}},MU=class extends Hf{constructor(t){super(t,"DeflateRaw")}},UU=class extends Hf{constructor(t){super(t,"InflateRaw")}},_U=class extends Hf{constructor(t){super(t,"Unzip")}},$x=class extends Zx{constructor(t,r){t=t||{},t.flush=t.flush||kd.BROTLI_OPERATION_PROCESS,t.finishFlush=t.finishFlush||kd.BROTLI_OPERATION_FINISH,super(t,r),this[qU]=kd.BROTLI_OPERATION_FLUSH}},HU=class extends $x{constructor(t){super(t,"BrotliCompress")}},jU=class extends $x{constructor(t){super(t,"BrotliDecompress")}};ll.Deflate=TU;ll.Inflate=NU;ll.Gzip=LU;ll.Gunzip=OU;ll.DeflateRaw=MU;ll.InflateRaw=UU;ll.Unzip=_U;typeof due.BrotliCompress=="function"?(ll.BrotliCompress=HU,ll.BrotliDecompress=jU):ll.BrotliCompress=ll.BrotliDecompress=class{constructor(){throw new Error("Brotli is not supported in this version of Node.js")}}});var _E=_((I4t,mue)=>{var wat=process.env.TESTING_TAR_FAKE_PLATFORM||process.platform;mue.exports=wat!=="win32"?e=>e:e=>e&&e.replace(/\\/g,"/")});var eb=_((v4t,yue)=>{"use strict";var Cat=OE(),YU=_E(),WU=Symbol("slurp");yue.exports=class extends Cat{constructor(t,r,o){switch(super(),this.pause(),this.extended=r,this.globalExtended=o,this.header=t,this.startBlockSize=512*Math.ceil(t.size/512),this.blockRemain=this.startBlockSize,this.remain=t.size,this.type=t.type,this.meta=!1,this.ignore=!1,this.type){case"File":case"OldFile":case"Link":case"SymbolicLink":case"CharacterDevice":case"BlockDevice":case"Directory":case"FIFO":case"ContiguousFile":case"GNUDumpDir":break;case"NextFileHasLongLinkpath":case"NextFileHasLongPath":case"OldGnuLongPath":case"GlobalExtendedHeader":case"ExtendedHeader":case"OldExtendedHeader":this.meta=!0;break;default:this.ignore=!0}this.path=YU(t.path),this.mode=t.mode,this.mode&&(this.mode=this.mode&4095),this.uid=t.uid,this.gid=t.gid,this.uname=t.uname,this.gname=t.gname,this.size=t.size,this.mtime=t.mtime,this.atime=t.atime,this.ctime=t.ctime,this.linkpath=YU(t.linkpath),this.uname=t.uname,this.gname=t.gname,r&&this[WU](r),o&&this[WU](o,!0)}write(t){let r=t.length;if(r>this.blockRemain)throw new Error("writing more to entry than is appropriate");let o=this.remain,a=this.blockRemain;return this.remain=Math.max(0,o-r),this.blockRemain=Math.max(0,a-r),this.ignore?!0:o>=r?super.write(t):super.write(t.slice(0,o))}[WU](t,r){for(let o in t)t[o]!==null&&t[o]!==void 0&&!(r&&o==="path")&&(this[o]=o==="path"||o==="linkpath"?YU(t[o]):t[o])}}});var KU=_(tb=>{"use strict";tb.name=new Map([["0","File"],["","OldFile"],["1","Link"],["2","SymbolicLink"],["3","CharacterDevice"],["4","BlockDevice"],["5","Directory"],["6","FIFO"],["7","ContiguousFile"],["g","GlobalExtendedHeader"],["x","ExtendedHeader"],["A","SolarisACL"],["D","GNUDumpDir"],["I","Inode"],["K","NextFileHasLongLinkpath"],["L","NextFileHasLongPath"],["M","ContinuationFile"],["N","OldGnuLongPath"],["S","SparseFile"],["V","TapeVolumeHeader"],["X","OldExtendedHeader"]]);tb.code=new Map(Array.from(tb.name).map(e=>[e[1],e[0]]))});var Iue=_((S4t,Cue)=>{"use strict";var Iat=(e,t)=>{if(Number.isSafeInteger(e))e<0?vat(e,t):Bat(e,t);else throw Error("cannot encode number outside of javascript safe integer range");return t},Bat=(e,t)=>{t[0]=128;for(var r=t.length;r>1;r--)t[r-1]=e&255,e=Math.floor(e/256)},vat=(e,t)=>{t[0]=255;var r=!1;e=e*-1;for(var o=t.length;o>1;o--){var a=e&255;e=Math.floor(e/256),r?t[o-1]=Eue(a):a===0?t[o-1]=0:(r=!0,t[o-1]=wue(a))}},Dat=e=>{let t=e[0],r=t===128?Pat(e.slice(1,e.length)):t===255?Sat(e):null;if(r===null)throw Error("invalid base256 encoding");if(!Number.isSafeInteger(r))throw Error("parsed number outside of javascript safe integer range");return r},Sat=e=>{for(var t=e.length,r=0,o=!1,a=t-1;a>-1;a--){var n=e[a],u;o?u=Eue(n):n===0?u=n:(o=!0,u=wue(n)),u!==0&&(r-=u*Math.pow(256,t-a-1))}return r},Pat=e=>{for(var t=e.length,r=0,o=t-1;o>-1;o--){var a=e[o];a!==0&&(r+=a*Math.pow(256,t-o-1))}return r},Eue=e=>(255^e)&255,wue=e=>(255^e)+1&255;Cue.exports={encode:Iat,parse:Dat}});var jE=_((P4t,vue)=>{"use strict";var JU=KU(),HE=Ie("path").posix,Bue=Iue(),VU=Symbol("slurp"),cl=Symbol("type"),ZU=class{constructor(t,r,o,a){this.cksumValid=!1,this.needPax=!1,this.nullBlock=!1,this.block=null,this.path=null,this.mode=null,this.uid=null,this.gid=null,this.size=null,this.mtime=null,this.cksum=null,this[cl]="0",this.linkpath=null,this.uname=null,this.gname=null,this.devmaj=0,this.devmin=0,this.atime=null,this.ctime=null,Buffer.isBuffer(t)?this.decode(t,r||0,o,a):t&&this.set(t)}decode(t,r,o,a){if(r||(r=0),!t||!(t.length>=r+512))throw new Error("need 512 bytes for header");if(this.path=Rd(t,r,100),this.mode=gh(t,r+100,8),this.uid=gh(t,r+108,8),this.gid=gh(t,r+116,8),this.size=gh(t,r+124,12),this.mtime=zU(t,r+136,12),this.cksum=gh(t,r+148,12),this[VU](o),this[VU](a,!0),this[cl]=Rd(t,r+156,1),this[cl]===""&&(this[cl]="0"),this[cl]==="0"&&this.path.substr(-1)==="/"&&(this[cl]="5"),this[cl]==="5"&&(this.size=0),this.linkpath=Rd(t,r+157,100),t.slice(r+257,r+265).toString()==="ustar\x0000")if(this.uname=Rd(t,r+265,32),this.gname=Rd(t,r+297,32),this.devmaj=gh(t,r+329,8),this.devmin=gh(t,r+337,8),t[r+475]!==0){let u=Rd(t,r+345,155);this.path=u+"/"+this.path}else{let u=Rd(t,r+345,130);u&&(this.path=u+"/"+this.path),this.atime=zU(t,r+476,12),this.ctime=zU(t,r+488,12)}let n=8*32;for(let u=r;u<r+148;u++)n+=t[u];for(let u=r+156;u<r+512;u++)n+=t[u];this.cksumValid=n===this.cksum,this.cksum===null&&n===8*32&&(this.nullBlock=!0)}[VU](t,r){for(let o in t)t[o]!==null&&t[o]!==void 0&&!(r&&o==="path")&&(this[o]=t[o])}encode(t,r){if(t||(t=this.block=Buffer.alloc(512),r=0),r||(r=0),!(t.length>=r+512))throw new Error("need 512 bytes for header");let o=this.ctime||this.atime?130:155,a=xat(this.path||"",o),n=a[0],u=a[1];this.needPax=a[2],this.needPax=Td(t,r,100,n)||this.needPax,this.needPax=dh(t,r+100,8,this.mode)||this.needPax,this.needPax=dh(t,r+108,8,this.uid)||this.needPax,this.needPax=dh(t,r+116,8,this.gid)||this.needPax,this.needPax=dh(t,r+124,12,this.size)||this.needPax,this.needPax=XU(t,r+136,12,this.mtime)||this.needPax,t[r+156]=this[cl].charCodeAt(0),this.needPax=Td(t,r+157,100,this.linkpath)||this.needPax,t.write("ustar\x0000",r+257,8),this.needPax=Td(t,r+265,32,this.uname)||this.needPax,this.needPax=Td(t,r+297,32,this.gname)||this.needPax,this.needPax=dh(t,r+329,8,this.devmaj)||this.needPax,this.needPax=dh(t,r+337,8,this.devmin)||this.needPax,this.needPax=Td(t,r+345,o,u)||this.needPax,t[r+475]!==0?this.needPax=Td(t,r+345,155,u)||this.needPax:(this.needPax=Td(t,r+345,130,u)||this.needPax,this.needPax=XU(t,r+476,12,this.atime)||this.needPax,this.needPax=XU(t,r+488,12,this.ctime)||this.needPax);let A=8*32;for(let p=r;p<r+148;p++)A+=t[p];for(let p=r+156;p<r+512;p++)A+=t[p];return this.cksum=A,dh(t,r+148,8,this.cksum),this.cksumValid=!0,this.needPax}set(t){for(let r in t)t[r]!==null&&t[r]!==void 0&&(this[r]=t[r])}get type(){return JU.name.get(this[cl])||this[cl]}get typeKey(){return this[cl]}set type(t){JU.code.has(t)?this[cl]=JU.code.get(t):this[cl]=t}},xat=(e,t)=>{let o=e,a="",n,u=HE.parse(e).root||".";if(Buffer.byteLength(o)<100)n=[o,a,!1];else{a=HE.dirname(o),o=HE.basename(o);do Buffer.byteLength(o)<=100&&Buffer.byteLength(a)<=t?n=[o,a,!1]:Buffer.byteLength(o)>100&&Buffer.byteLength(a)<=t?n=[o.substr(0,100-1),a,!0]:(o=HE.join(HE.basename(a),o),a=HE.dirname(a));while(a!==u&&!n);n||(n=[e.substr(0,100-1),"",!0])}return n},Rd=(e,t,r)=>e.slice(t,t+r).toString("utf8").replace(/\0.*/,""),zU=(e,t,r)=>bat(gh(e,t,r)),bat=e=>e===null?null:new Date(e*1e3),gh=(e,t,r)=>e[t]&128?Bue.parse(e.slice(t,t+r)):kat(e,t,r),Qat=e=>isNaN(e)?null:e,kat=(e,t,r)=>Qat(parseInt(e.slice(t,t+r).toString("utf8").replace(/\0.*$/,"").trim(),8)),Fat={12:8589934591,8:2097151},dh=(e,t,r,o)=>o===null?!1:o>Fat[r]||o<0?(Bue.encode(o,e.slice(t,t+r)),!0):(Rat(e,t,r,o),!1),Rat=(e,t,r,o)=>e.write(Tat(o,r),t,r,"ascii"),Tat=(e,t)=>Nat(Math.floor(e).toString(8),t),Nat=(e,t)=>(e.length===t-1?e:new Array(t-e.length-1).join("0")+e+" ")+"\0",XU=(e,t,r,o)=>o===null?!1:dh(e,t,r,o.getTime()/1e3),Lat=new Array(156).join("\0"),Td=(e,t,r,o)=>o===null?!1:(e.write(o+Lat,t,r,"utf8"),o.length!==Buffer.byteLength(o)||o.length>r);vue.exports=ZU});var rb=_((x4t,Due)=>{"use strict";var Oat=jE(),Mat=Ie("path"),H1=class{constructor(t,r){this.atime=t.atime||null,this.charset=t.charset||null,this.comment=t.comment||null,this.ctime=t.ctime||null,this.gid=t.gid||null,this.gname=t.gname||null,this.linkpath=t.linkpath||null,this.mtime=t.mtime||null,this.path=t.path||null,this.size=t.size||null,this.uid=t.uid||null,this.uname=t.uname||null,this.dev=t.dev||null,this.ino=t.ino||null,this.nlink=t.nlink||null,this.global=r||!1}encode(){let t=this.encodeBody();if(t==="")return null;let r=Buffer.byteLength(t),o=512*Math.ceil(1+r/512),a=Buffer.allocUnsafe(o);for(let n=0;n<512;n++)a[n]=0;new Oat({path:("PaxHeader/"+Mat.basename(this.path)).slice(0,99),mode:this.mode||420,uid:this.uid||null,gid:this.gid||null,size:r,mtime:this.mtime||null,type:this.global?"GlobalExtendedHeader":"ExtendedHeader",linkpath:"",uname:this.uname||"",gname:this.gname||"",devmaj:0,devmin:0,atime:this.atime||null,ctime:this.ctime||null}).encode(a),a.write(t,512,r,"utf8");for(let n=r+512;n<a.length;n++)a[n]=0;return a}encodeBody(){return this.encodeField("path")+this.encodeField("ctime")+this.encodeField("atime")+this.encodeField("dev")+this.encodeField("ino")+this.encodeField("nlink")+this.encodeField("charset")+this.encodeField("comment")+this.encodeField("gid")+this.encodeField("gname")+this.encodeField("linkpath")+this.encodeField("mtime")+this.encodeField("size")+this.encodeField("uid")+this.encodeField("uname")}encodeField(t){if(this[t]===null||this[t]===void 0)return"";let r=this[t]instanceof Date?this[t].getTime()/1e3:this[t],o=" "+(t==="dev"||t==="ino"||t==="nlink"?"SCHILY.":"")+t+"="+r+` -`,a=Buffer.byteLength(o),n=Math.floor(Math.log(a)/Math.log(10))+1;return a+n>=Math.pow(10,n)&&(n+=1),n+a+o}};H1.parse=(e,t,r)=>new H1(Uat(_at(e),t),r);var Uat=(e,t)=>t?Object.keys(e).reduce((r,o)=>(r[o]=e[o],r),t):e,_at=e=>e.replace(/\n$/,"").split(` -`).reduce(Hat,Object.create(null)),Hat=(e,t)=>{let r=parseInt(t,10);if(r!==Buffer.byteLength(t)+1)return e;t=t.substr((r+" ").length);let o=t.split("="),a=o.shift().replace(/^SCHILY\.(dev|ino|nlink)/,"$1");if(!a)return e;let n=o.join("=");return e[a]=/^([A-Z]+\.)?([mac]|birth|creation)time$/.test(a)?new Date(n*1e3):/^[0-9]+$/.test(n)?+n:n,e};Due.exports=H1});var qE=_((b4t,Sue)=>{Sue.exports=e=>{let t=e.length-1,r=-1;for(;t>-1&&e.charAt(t)==="/";)r=t,t--;return r===-1?e:e.slice(0,r)}});var nb=_((Q4t,Pue)=>{"use strict";Pue.exports=e=>class extends e{warn(t,r,o={}){this.file&&(o.file=this.file),this.cwd&&(o.cwd=this.cwd),o.code=r instanceof Error&&r.code||t,o.tarCode=t,!this.strict&&o.recoverable!==!1?(r instanceof Error&&(o=Object.assign(r,o),r=r.message),this.emit("warn",o.tarCode,r,o)):r instanceof Error?this.emit("error",Object.assign(r,o)):this.emit("error",Object.assign(new Error(`${t}: ${r}`),o))}}});var e3=_((F4t,xue)=>{"use strict";var ib=["|","<",">","?",":"],$U=ib.map(e=>String.fromCharCode(61440+e.charCodeAt(0))),jat=new Map(ib.map((e,t)=>[e,$U[t]])),qat=new Map($U.map((e,t)=>[e,ib[t]]));xue.exports={encode:e=>ib.reduce((t,r)=>t.split(r).join(jat.get(r)),e),decode:e=>$U.reduce((t,r)=>t.split(r).join(qat.get(r)),e)}});var t3=_((R4t,Que)=>{var{isAbsolute:Gat,parse:bue}=Ie("path").win32;Que.exports=e=>{let t="",r=bue(e);for(;Gat(e)||r.root;){let o=e.charAt(0)==="/"&&e.slice(0,4)!=="//?/"?"/":r.root;e=e.substr(o.length),t+=o,r=bue(e)}return[t,e]}});var Fue=_((T4t,kue)=>{"use strict";kue.exports=(e,t,r)=>(e&=4095,r&&(e=(e|384)&-19),t&&(e&256&&(e|=64),e&32&&(e|=8),e&4&&(e|=1)),e)});var A3=_((O4t,Wue)=>{"use strict";var Uue=OE(),_ue=rb(),Hue=jE(),aA=Ie("fs"),Rue=Ie("path"),oA=_E(),Yat=qE(),jue=(e,t)=>t?(e=oA(e).replace(/^\.(\/|$)/,""),Yat(t)+"/"+e):oA(e),Wat=16*1024*1024,Tue=Symbol("process"),Nue=Symbol("file"),Lue=Symbol("directory"),n3=Symbol("symlink"),Oue=Symbol("hardlink"),j1=Symbol("header"),sb=Symbol("read"),i3=Symbol("lstat"),ob=Symbol("onlstat"),s3=Symbol("onread"),o3=Symbol("onreadlink"),a3=Symbol("openfile"),l3=Symbol("onopenfile"),mh=Symbol("close"),ab=Symbol("mode"),c3=Symbol("awaitDrain"),r3=Symbol("ondrain"),lA=Symbol("prefix"),Mue=Symbol("hadError"),que=nb(),Kat=e3(),Gue=t3(),Yue=Fue(),lb=que(class extends Uue{constructor(t,r){if(r=r||{},super(r),typeof t!="string")throw new TypeError("path is required");this.path=oA(t),this.portable=!!r.portable,this.myuid=process.getuid&&process.getuid()||0,this.myuser=process.env.USER||"",this.maxReadSize=r.maxReadSize||Wat,this.linkCache=r.linkCache||new Map,this.statCache=r.statCache||new Map,this.preservePaths=!!r.preservePaths,this.cwd=oA(r.cwd||process.cwd()),this.strict=!!r.strict,this.noPax=!!r.noPax,this.noMtime=!!r.noMtime,this.mtime=r.mtime||null,this.prefix=r.prefix?oA(r.prefix):null,this.fd=null,this.blockLen=null,this.blockRemain=null,this.buf=null,this.offset=null,this.length=null,this.pos=null,this.remain=null,typeof r.onwarn=="function"&&this.on("warn",r.onwarn);let o=!1;if(!this.preservePaths){let[a,n]=Gue(this.path);a&&(this.path=n,o=a)}this.win32=!!r.win32||process.platform==="win32",this.win32&&(this.path=Kat.decode(this.path.replace(/\\/g,"/")),t=t.replace(/\\/g,"/")),this.absolute=oA(r.absolute||Rue.resolve(this.cwd,t)),this.path===""&&(this.path="./"),o&&this.warn("TAR_ENTRY_INFO",`stripping ${o} from absolute path`,{entry:this,path:o+this.path}),this.statCache.has(this.absolute)?this[ob](this.statCache.get(this.absolute)):this[i3]()}emit(t,...r){return t==="error"&&(this[Mue]=!0),super.emit(t,...r)}[i3](){aA.lstat(this.absolute,(t,r)=>{if(t)return this.emit("error",t);this[ob](r)})}[ob](t){this.statCache.set(this.absolute,t),this.stat=t,t.isFile()||(t.size=0),this.type=Vat(t),this.emit("stat",t),this[Tue]()}[Tue](){switch(this.type){case"File":return this[Nue]();case"Directory":return this[Lue]();case"SymbolicLink":return this[n3]();default:return this.end()}}[ab](t){return Yue(t,this.type==="Directory",this.portable)}[lA](t){return jue(t,this.prefix)}[j1](){this.type==="Directory"&&this.portable&&(this.noMtime=!0),this.header=new Hue({path:this[lA](this.path),linkpath:this.type==="Link"?this[lA](this.linkpath):this.linkpath,mode:this[ab](this.stat.mode),uid:this.portable?null:this.stat.uid,gid:this.portable?null:this.stat.gid,size:this.stat.size,mtime:this.noMtime?null:this.mtime||this.stat.mtime,type:this.type,uname:this.portable?null:this.stat.uid===this.myuid?this.myuser:"",atime:this.portable?null:this.stat.atime,ctime:this.portable?null:this.stat.ctime}),this.header.encode()&&!this.noPax&&super.write(new _ue({atime:this.portable?null:this.header.atime,ctime:this.portable?null:this.header.ctime,gid:this.portable?null:this.header.gid,mtime:this.noMtime?null:this.mtime||this.header.mtime,path:this[lA](this.path),linkpath:this.type==="Link"?this[lA](this.linkpath):this.linkpath,size:this.header.size,uid:this.portable?null:this.header.uid,uname:this.portable?null:this.header.uname,dev:this.portable?null:this.stat.dev,ino:this.portable?null:this.stat.ino,nlink:this.portable?null:this.stat.nlink}).encode()),super.write(this.header.block)}[Lue](){this.path.substr(-1)!=="/"&&(this.path+="/"),this.stat.size=0,this[j1](),this.end()}[n3](){aA.readlink(this.absolute,(t,r)=>{if(t)return this.emit("error",t);this[o3](r)})}[o3](t){this.linkpath=oA(t),this[j1](),this.end()}[Oue](t){this.type="Link",this.linkpath=oA(Rue.relative(this.cwd,t)),this.stat.size=0,this[j1](),this.end()}[Nue](){if(this.stat.nlink>1){let t=this.stat.dev+":"+this.stat.ino;if(this.linkCache.has(t)){let r=this.linkCache.get(t);if(r.indexOf(this.cwd)===0)return this[Oue](r)}this.linkCache.set(t,this.absolute)}if(this[j1](),this.stat.size===0)return this.end();this[a3]()}[a3](){aA.open(this.absolute,"r",(t,r)=>{if(t)return this.emit("error",t);this[l3](r)})}[l3](t){if(this.fd=t,this[Mue])return this[mh]();this.blockLen=512*Math.ceil(this.stat.size/512),this.blockRemain=this.blockLen;let r=Math.min(this.blockLen,this.maxReadSize);this.buf=Buffer.allocUnsafe(r),this.offset=0,this.pos=0,this.remain=this.stat.size,this.length=this.buf.length,this[sb]()}[sb](){let{fd:t,buf:r,offset:o,length:a,pos:n}=this;aA.read(t,r,o,a,n,(u,A)=>{if(u)return this[mh](()=>this.emit("error",u));this[s3](A)})}[mh](t){aA.close(this.fd,t)}[s3](t){if(t<=0&&this.remain>0){let a=new Error("encountered unexpected EOF");return a.path=this.absolute,a.syscall="read",a.code="EOF",this[mh](()=>this.emit("error",a))}if(t>this.remain){let a=new Error("did not encounter expected EOF");return a.path=this.absolute,a.syscall="read",a.code="EOF",this[mh](()=>this.emit("error",a))}if(t===this.remain)for(let a=t;a<this.length&&t<this.blockRemain;a++)this.buf[a+this.offset]=0,t++,this.remain++;let r=this.offset===0&&t===this.buf.length?this.buf:this.buf.slice(this.offset,this.offset+t);this.write(r)?this[r3]():this[c3](()=>this[r3]())}[c3](t){this.once("drain",t)}write(t){if(this.blockRemain<t.length){let r=new Error("writing more data than expected");return r.path=this.absolute,this.emit("error",r)}return this.remain-=t.length,this.blockRemain-=t.length,this.pos+=t.length,this.offset+=t.length,super.write(t)}[r3](){if(!this.remain)return this.blockRemain&&super.write(Buffer.alloc(this.blockRemain)),this[mh](t=>t?this.emit("error",t):this.end());this.offset>=this.length&&(this.buf=Buffer.allocUnsafe(Math.min(this.blockRemain,this.buf.length)),this.offset=0),this.length=this.buf.length-this.offset,this[sb]()}}),u3=class extends lb{[i3](){this[ob](aA.lstatSync(this.absolute))}[n3](){this[o3](aA.readlinkSync(this.absolute))}[a3](){this[l3](aA.openSync(this.absolute,"r"))}[sb](){let t=!0;try{let{fd:r,buf:o,offset:a,length:n,pos:u}=this,A=aA.readSync(r,o,a,n,u);this[s3](A),t=!1}finally{if(t)try{this[mh](()=>{})}catch{}}}[c3](t){t()}[mh](t){aA.closeSync(this.fd),t()}},Jat=que(class extends Uue{constructor(t,r){r=r||{},super(r),this.preservePaths=!!r.preservePaths,this.portable=!!r.portable,this.strict=!!r.strict,this.noPax=!!r.noPax,this.noMtime=!!r.noMtime,this.readEntry=t,this.type=t.type,this.type==="Directory"&&this.portable&&(this.noMtime=!0),this.prefix=r.prefix||null,this.path=oA(t.path),this.mode=this[ab](t.mode),this.uid=this.portable?null:t.uid,this.gid=this.portable?null:t.gid,this.uname=this.portable?null:t.uname,this.gname=this.portable?null:t.gname,this.size=t.size,this.mtime=this.noMtime?null:r.mtime||t.mtime,this.atime=this.portable?null:t.atime,this.ctime=this.portable?null:t.ctime,this.linkpath=oA(t.linkpath),typeof r.onwarn=="function"&&this.on("warn",r.onwarn);let o=!1;if(!this.preservePaths){let[a,n]=Gue(this.path);a&&(this.path=n,o=a)}this.remain=t.size,this.blockRemain=t.startBlockSize,this.header=new Hue({path:this[lA](this.path),linkpath:this.type==="Link"?this[lA](this.linkpath):this.linkpath,mode:this.mode,uid:this.portable?null:this.uid,gid:this.portable?null:this.gid,size:this.size,mtime:this.noMtime?null:this.mtime,type:this.type,uname:this.portable?null:this.uname,atime:this.portable?null:this.atime,ctime:this.portable?null:this.ctime}),o&&this.warn("TAR_ENTRY_INFO",`stripping ${o} from absolute path`,{entry:this,path:o+this.path}),this.header.encode()&&!this.noPax&&super.write(new _ue({atime:this.portable?null:this.atime,ctime:this.portable?null:this.ctime,gid:this.portable?null:this.gid,mtime:this.noMtime?null:this.mtime,path:this[lA](this.path),linkpath:this.type==="Link"?this[lA](this.linkpath):this.linkpath,size:this.size,uid:this.portable?null:this.uid,uname:this.portable?null:this.uname,dev:this.portable?null:this.readEntry.dev,ino:this.portable?null:this.readEntry.ino,nlink:this.portable?null:this.readEntry.nlink}).encode()),super.write(this.header.block),t.pipe(this)}[lA](t){return jue(t,this.prefix)}[ab](t){return Yue(t,this.type==="Directory",this.portable)}write(t){let r=t.length;if(r>this.blockRemain)throw new Error("writing more to entry than is appropriate");return this.blockRemain-=r,super.write(t)}end(){return this.blockRemain&&super.write(Buffer.alloc(this.blockRemain)),super.end()}});lb.Sync=u3;lb.Tar=Jat;var Vat=e=>e.isFile()?"File":e.isDirectory()?"Directory":e.isSymbolicLink()?"SymbolicLink":"Unsupported";Wue.exports=lb});var yb=_((U4t,$ue)=>{"use strict";var db=class{constructor(t,r){this.path=t||"./",this.absolute=r,this.entry=null,this.stat=null,this.readdir=null,this.pending=!1,this.ignore=!1,this.piped=!1}},zat=OE(),Xat=GU(),Zat=eb(),w3=A3(),$at=w3.Sync,elt=w3.Tar,tlt=CS(),Kue=Buffer.alloc(1024),fb=Symbol("onStat"),ub=Symbol("ended"),cA=Symbol("queue"),GE=Symbol("current"),Nd=Symbol("process"),Ab=Symbol("processing"),Jue=Symbol("processJob"),uA=Symbol("jobs"),f3=Symbol("jobDone"),pb=Symbol("addFSEntry"),Vue=Symbol("addTarEntry"),d3=Symbol("stat"),m3=Symbol("readdir"),hb=Symbol("onreaddir"),gb=Symbol("pipe"),zue=Symbol("entry"),p3=Symbol("entryOpt"),y3=Symbol("writeEntryClass"),Zue=Symbol("write"),h3=Symbol("ondrain"),mb=Ie("fs"),Xue=Ie("path"),rlt=nb(),g3=_E(),C3=rlt(class extends zat{constructor(t){super(t),t=t||Object.create(null),this.opt=t,this.file=t.file||"",this.cwd=t.cwd||process.cwd(),this.maxReadSize=t.maxReadSize,this.preservePaths=!!t.preservePaths,this.strict=!!t.strict,this.noPax=!!t.noPax,this.prefix=g3(t.prefix||""),this.linkCache=t.linkCache||new Map,this.statCache=t.statCache||new Map,this.readdirCache=t.readdirCache||new Map,this[y3]=w3,typeof t.onwarn=="function"&&this.on("warn",t.onwarn),this.portable=!!t.portable,this.zip=null,t.gzip?(typeof t.gzip!="object"&&(t.gzip={}),this.portable&&(t.gzip.portable=!0),this.zip=new Xat.Gzip(t.gzip),this.zip.on("data",r=>super.write(r)),this.zip.on("end",r=>super.end()),this.zip.on("drain",r=>this[h3]()),this.on("resume",r=>this.zip.resume())):this.on("drain",this[h3]),this.noDirRecurse=!!t.noDirRecurse,this.follow=!!t.follow,this.noMtime=!!t.noMtime,this.mtime=t.mtime||null,this.filter=typeof t.filter=="function"?t.filter:r=>!0,this[cA]=new tlt,this[uA]=0,this.jobs=+t.jobs||4,this[Ab]=!1,this[ub]=!1}[Zue](t){return super.write(t)}add(t){return this.write(t),this}end(t){return t&&this.write(t),this[ub]=!0,this[Nd](),this}write(t){if(this[ub])throw new Error("write after end");return t instanceof Zat?this[Vue](t):this[pb](t),this.flowing}[Vue](t){let r=g3(Xue.resolve(this.cwd,t.path));if(!this.filter(t.path,t))t.resume();else{let o=new db(t.path,r,!1);o.entry=new elt(t,this[p3](o)),o.entry.on("end",a=>this[f3](o)),this[uA]+=1,this[cA].push(o)}this[Nd]()}[pb](t){let r=g3(Xue.resolve(this.cwd,t));this[cA].push(new db(t,r)),this[Nd]()}[d3](t){t.pending=!0,this[uA]+=1;let r=this.follow?"stat":"lstat";mb[r](t.absolute,(o,a)=>{t.pending=!1,this[uA]-=1,o?this.emit("error",o):this[fb](t,a)})}[fb](t,r){this.statCache.set(t.absolute,r),t.stat=r,this.filter(t.path,r)||(t.ignore=!0),this[Nd]()}[m3](t){t.pending=!0,this[uA]+=1,mb.readdir(t.absolute,(r,o)=>{if(t.pending=!1,this[uA]-=1,r)return this.emit("error",r);this[hb](t,o)})}[hb](t,r){this.readdirCache.set(t.absolute,r),t.readdir=r,this[Nd]()}[Nd](){if(!this[Ab]){this[Ab]=!0;for(let t=this[cA].head;t!==null&&this[uA]<this.jobs;t=t.next)if(this[Jue](t.value),t.value.ignore){let r=t.next;this[cA].removeNode(t),t.next=r}this[Ab]=!1,this[ub]&&!this[cA].length&&this[uA]===0&&(this.zip?this.zip.end(Kue):(super.write(Kue),super.end()))}}get[GE](){return this[cA]&&this[cA].head&&this[cA].head.value}[f3](t){this[cA].shift(),this[uA]-=1,this[Nd]()}[Jue](t){if(!t.pending){if(t.entry){t===this[GE]&&!t.piped&&this[gb](t);return}if(t.stat||(this.statCache.has(t.absolute)?this[fb](t,this.statCache.get(t.absolute)):this[d3](t)),!!t.stat&&!t.ignore&&!(!this.noDirRecurse&&t.stat.isDirectory()&&!t.readdir&&(this.readdirCache.has(t.absolute)?this[hb](t,this.readdirCache.get(t.absolute)):this[m3](t),!t.readdir))){if(t.entry=this[zue](t),!t.entry){t.ignore=!0;return}t===this[GE]&&!t.piped&&this[gb](t)}}}[p3](t){return{onwarn:(r,o,a)=>this.warn(r,o,a),noPax:this.noPax,cwd:this.cwd,absolute:t.absolute,preservePaths:this.preservePaths,maxReadSize:this.maxReadSize,strict:this.strict,portable:this.portable,linkCache:this.linkCache,statCache:this.statCache,noMtime:this.noMtime,mtime:this.mtime,prefix:this.prefix}}[zue](t){this[uA]+=1;try{return new this[y3](t.path,this[p3](t)).on("end",()=>this[f3](t)).on("error",r=>this.emit("error",r))}catch(r){this.emit("error",r)}}[h3](){this[GE]&&this[GE].entry&&this[GE].entry.resume()}[gb](t){t.piped=!0,t.readdir&&t.readdir.forEach(a=>{let n=t.path,u=n==="./"?"":n.replace(/\/*$/,"/");this[pb](u+a)});let r=t.entry,o=this.zip;o?r.on("data",a=>{o.write(a)||r.pause()}):r.on("data",a=>{super.write(a)||r.pause()})}pause(){return this.zip&&this.zip.pause(),super.pause()}}),E3=class extends C3{constructor(t){super(t),this[y3]=$at}pause(){}resume(){}[d3](t){let r=this.follow?"statSync":"lstatSync";this[fb](t,mb[r](t.absolute))}[m3](t,r){this[hb](t,mb.readdirSync(t.absolute))}[gb](t){let r=t.entry,o=this.zip;t.readdir&&t.readdir.forEach(a=>{let n=t.path,u=n==="./"?"":n.replace(/\/*$/,"/");this[pb](u+a)}),o?r.on("data",a=>{o.write(a)}):r.on("data",a=>{super[Zue](a)})}};C3.Sync=E3;$ue.exports=C3});var ZE=_(G1=>{"use strict";var nlt=OE(),ilt=Ie("events").EventEmitter,ka=Ie("fs"),v3=ka.writev;if(!v3){let e=process.binding("fs"),t=e.FSReqWrap||e.FSReqCallback;v3=(r,o,a,n)=>{let u=(p,h)=>n(p,h,o),A=new t;A.oncomplete=u,e.writeBuffers(r,o,a,A)}}var zE=Symbol("_autoClose"),Kc=Symbol("_close"),q1=Symbol("_ended"),qn=Symbol("_fd"),eAe=Symbol("_finished"),Eh=Symbol("_flags"),I3=Symbol("_flush"),D3=Symbol("_handleChunk"),S3=Symbol("_makeBuf"),Bb=Symbol("_mode"),Eb=Symbol("_needDrain"),JE=Symbol("_onerror"),XE=Symbol("_onopen"),B3=Symbol("_onread"),WE=Symbol("_onwrite"),wh=Symbol("_open"),jf=Symbol("_path"),Ld=Symbol("_pos"),AA=Symbol("_queue"),KE=Symbol("_read"),tAe=Symbol("_readSize"),yh=Symbol("_reading"),wb=Symbol("_remain"),rAe=Symbol("_size"),Cb=Symbol("_write"),YE=Symbol("_writing"),Ib=Symbol("_defaultFlag"),VE=Symbol("_errored"),vb=class extends nlt{constructor(t,r){if(r=r||{},super(r),this.readable=!0,this.writable=!1,typeof t!="string")throw new TypeError("path must be a string");this[VE]=!1,this[qn]=typeof r.fd=="number"?r.fd:null,this[jf]=t,this[tAe]=r.readSize||16*1024*1024,this[yh]=!1,this[rAe]=typeof r.size=="number"?r.size:1/0,this[wb]=this[rAe],this[zE]=typeof r.autoClose=="boolean"?r.autoClose:!0,typeof this[qn]=="number"?this[KE]():this[wh]()}get fd(){return this[qn]}get path(){return this[jf]}write(){throw new TypeError("this is a readable stream")}end(){throw new TypeError("this is a readable stream")}[wh](){ka.open(this[jf],"r",(t,r)=>this[XE](t,r))}[XE](t,r){t?this[JE](t):(this[qn]=r,this.emit("open",r),this[KE]())}[S3](){return Buffer.allocUnsafe(Math.min(this[tAe],this[wb]))}[KE](){if(!this[yh]){this[yh]=!0;let t=this[S3]();if(t.length===0)return process.nextTick(()=>this[B3](null,0,t));ka.read(this[qn],t,0,t.length,null,(r,o,a)=>this[B3](r,o,a))}}[B3](t,r,o){this[yh]=!1,t?this[JE](t):this[D3](r,o)&&this[KE]()}[Kc](){if(this[zE]&&typeof this[qn]=="number"){let t=this[qn];this[qn]=null,ka.close(t,r=>r?this.emit("error",r):this.emit("close"))}}[JE](t){this[yh]=!0,this[Kc](),this.emit("error",t)}[D3](t,r){let o=!1;return this[wb]-=t,t>0&&(o=super.write(t<r.length?r.slice(0,t):r)),(t===0||this[wb]<=0)&&(o=!1,this[Kc](),super.end()),o}emit(t,r){switch(t){case"prefinish":case"finish":break;case"drain":typeof this[qn]=="number"&&this[KE]();break;case"error":return this[VE]?void 0:(this[VE]=!0,super.emit(t,r));default:return super.emit(t,r)}}},P3=class extends vb{[wh](){let t=!0;try{this[XE](null,ka.openSync(this[jf],"r")),t=!1}finally{t&&this[Kc]()}}[KE](){let t=!0;try{if(!this[yh]){this[yh]=!0;do{let r=this[S3](),o=r.length===0?0:ka.readSync(this[qn],r,0,r.length,null);if(!this[D3](o,r))break}while(!0);this[yh]=!1}t=!1}finally{t&&this[Kc]()}}[Kc](){if(this[zE]&&typeof this[qn]=="number"){let t=this[qn];this[qn]=null,ka.closeSync(t),this.emit("close")}}},Db=class extends ilt{constructor(t,r){r=r||{},super(r),this.readable=!1,this.writable=!0,this[VE]=!1,this[YE]=!1,this[q1]=!1,this[Eb]=!1,this[AA]=[],this[jf]=t,this[qn]=typeof r.fd=="number"?r.fd:null,this[Bb]=r.mode===void 0?438:r.mode,this[Ld]=typeof r.start=="number"?r.start:null,this[zE]=typeof r.autoClose=="boolean"?r.autoClose:!0;let o=this[Ld]!==null?"r+":"w";this[Ib]=r.flags===void 0,this[Eh]=this[Ib]?o:r.flags,this[qn]===null&&this[wh]()}emit(t,r){if(t==="error"){if(this[VE])return;this[VE]=!0}return super.emit(t,r)}get fd(){return this[qn]}get path(){return this[jf]}[JE](t){this[Kc](),this[YE]=!0,this.emit("error",t)}[wh](){ka.open(this[jf],this[Eh],this[Bb],(t,r)=>this[XE](t,r))}[XE](t,r){this[Ib]&&this[Eh]==="r+"&&t&&t.code==="ENOENT"?(this[Eh]="w",this[wh]()):t?this[JE](t):(this[qn]=r,this.emit("open",r),this[I3]())}end(t,r){return t&&this.write(t,r),this[q1]=!0,!this[YE]&&!this[AA].length&&typeof this[qn]=="number"&&this[WE](null,0),this}write(t,r){return typeof t=="string"&&(t=Buffer.from(t,r)),this[q1]?(this.emit("error",new Error("write() after end()")),!1):this[qn]===null||this[YE]||this[AA].length?(this[AA].push(t),this[Eb]=!0,!1):(this[YE]=!0,this[Cb](t),!0)}[Cb](t){ka.write(this[qn],t,0,t.length,this[Ld],(r,o)=>this[WE](r,o))}[WE](t,r){t?this[JE](t):(this[Ld]!==null&&(this[Ld]+=r),this[AA].length?this[I3]():(this[YE]=!1,this[q1]&&!this[eAe]?(this[eAe]=!0,this[Kc](),this.emit("finish")):this[Eb]&&(this[Eb]=!1,this.emit("drain"))))}[I3](){if(this[AA].length===0)this[q1]&&this[WE](null,0);else if(this[AA].length===1)this[Cb](this[AA].pop());else{let t=this[AA];this[AA]=[],v3(this[qn],t,this[Ld],(r,o)=>this[WE](r,o))}}[Kc](){if(this[zE]&&typeof this[qn]=="number"){let t=this[qn];this[qn]=null,ka.close(t,r=>r?this.emit("error",r):this.emit("close"))}}},x3=class extends Db{[wh](){let t;if(this[Ib]&&this[Eh]==="r+")try{t=ka.openSync(this[jf],this[Eh],this[Bb])}catch(r){if(r.code==="ENOENT")return this[Eh]="w",this[wh]();throw r}else t=ka.openSync(this[jf],this[Eh],this[Bb]);this[XE](null,t)}[Kc](){if(this[zE]&&typeof this[qn]=="number"){let t=this[qn];this[qn]=null,ka.closeSync(t),this.emit("close")}}[Cb](t){let r=!0;try{this[WE](null,ka.writeSync(this[qn],t,0,t.length,this[Ld])),r=!1}finally{if(r)try{this[Kc]()}catch{}}}};G1.ReadStream=vb;G1.ReadStreamSync=P3;G1.WriteStream=Db;G1.WriteStreamSync=x3});var Fb=_((j4t,cAe)=>{"use strict";var slt=nb(),olt=jE(),alt=Ie("events"),llt=CS(),clt=1024*1024,ult=eb(),nAe=rb(),Alt=GU(),b3=Buffer.from([31,139]),Xl=Symbol("state"),Od=Symbol("writeEntry"),qf=Symbol("readEntry"),Q3=Symbol("nextEntry"),iAe=Symbol("processEntry"),Zl=Symbol("extendedHeader"),Y1=Symbol("globalExtendedHeader"),Ch=Symbol("meta"),sAe=Symbol("emitMeta"),Ai=Symbol("buffer"),Gf=Symbol("queue"),Md=Symbol("ended"),oAe=Symbol("emittedEnd"),Ud=Symbol("emit"),Fa=Symbol("unzip"),Sb=Symbol("consumeChunk"),Pb=Symbol("consumeChunkSub"),k3=Symbol("consumeBody"),aAe=Symbol("consumeMeta"),lAe=Symbol("consumeHeader"),xb=Symbol("consuming"),F3=Symbol("bufferConcat"),R3=Symbol("maybeEnd"),W1=Symbol("writing"),Ih=Symbol("aborted"),bb=Symbol("onDone"),_d=Symbol("sawValidEntry"),Qb=Symbol("sawNullBlock"),kb=Symbol("sawEOF"),flt=e=>!0;cAe.exports=slt(class extends alt{constructor(t){t=t||{},super(t),this.file=t.file||"",this[_d]=null,this.on(bb,r=>{(this[Xl]==="begin"||this[_d]===!1)&&this.warn("TAR_BAD_ARCHIVE","Unrecognized archive format")}),t.ondone?this.on(bb,t.ondone):this.on(bb,r=>{this.emit("prefinish"),this.emit("finish"),this.emit("end"),this.emit("close")}),this.strict=!!t.strict,this.maxMetaEntrySize=t.maxMetaEntrySize||clt,this.filter=typeof t.filter=="function"?t.filter:flt,this.writable=!0,this.readable=!1,this[Gf]=new llt,this[Ai]=null,this[qf]=null,this[Od]=null,this[Xl]="begin",this[Ch]="",this[Zl]=null,this[Y1]=null,this[Md]=!1,this[Fa]=null,this[Ih]=!1,this[Qb]=!1,this[kb]=!1,typeof t.onwarn=="function"&&this.on("warn",t.onwarn),typeof t.onentry=="function"&&this.on("entry",t.onentry)}[lAe](t,r){this[_d]===null&&(this[_d]=!1);let o;try{o=new olt(t,r,this[Zl],this[Y1])}catch(a){return this.warn("TAR_ENTRY_INVALID",a)}if(o.nullBlock)this[Qb]?(this[kb]=!0,this[Xl]==="begin"&&(this[Xl]="header"),this[Ud]("eof")):(this[Qb]=!0,this[Ud]("nullBlock"));else if(this[Qb]=!1,!o.cksumValid)this.warn("TAR_ENTRY_INVALID","checksum failure",{header:o});else if(!o.path)this.warn("TAR_ENTRY_INVALID","path is required",{header:o});else{let a=o.type;if(/^(Symbolic)?Link$/.test(a)&&!o.linkpath)this.warn("TAR_ENTRY_INVALID","linkpath required",{header:o});else if(!/^(Symbolic)?Link$/.test(a)&&o.linkpath)this.warn("TAR_ENTRY_INVALID","linkpath forbidden",{header:o});else{let n=this[Od]=new ult(o,this[Zl],this[Y1]);if(!this[_d])if(n.remain){let u=()=>{n.invalid||(this[_d]=!0)};n.on("end",u)}else this[_d]=!0;n.meta?n.size>this.maxMetaEntrySize?(n.ignore=!0,this[Ud]("ignoredEntry",n),this[Xl]="ignore",n.resume()):n.size>0&&(this[Ch]="",n.on("data",u=>this[Ch]+=u),this[Xl]="meta"):(this[Zl]=null,n.ignore=n.ignore||!this.filter(n.path,n),n.ignore?(this[Ud]("ignoredEntry",n),this[Xl]=n.remain?"ignore":"header",n.resume()):(n.remain?this[Xl]="body":(this[Xl]="header",n.end()),this[qf]?this[Gf].push(n):(this[Gf].push(n),this[Q3]())))}}}[iAe](t){let r=!0;return t?Array.isArray(t)?this.emit.apply(this,t):(this[qf]=t,this.emit("entry",t),t.emittedEnd||(t.on("end",o=>this[Q3]()),r=!1)):(this[qf]=null,r=!1),r}[Q3](){do;while(this[iAe](this[Gf].shift()));if(!this[Gf].length){let t=this[qf];!t||t.flowing||t.size===t.remain?this[W1]||this.emit("drain"):t.once("drain",o=>this.emit("drain"))}}[k3](t,r){let o=this[Od],a=o.blockRemain,n=a>=t.length&&r===0?t:t.slice(r,r+a);return o.write(n),o.blockRemain||(this[Xl]="header",this[Od]=null,o.end()),n.length}[aAe](t,r){let o=this[Od],a=this[k3](t,r);return this[Od]||this[sAe](o),a}[Ud](t,r,o){!this[Gf].length&&!this[qf]?this.emit(t,r,o):this[Gf].push([t,r,o])}[sAe](t){switch(this[Ud]("meta",this[Ch]),t.type){case"ExtendedHeader":case"OldExtendedHeader":this[Zl]=nAe.parse(this[Ch],this[Zl],!1);break;case"GlobalExtendedHeader":this[Y1]=nAe.parse(this[Ch],this[Y1],!0);break;case"NextFileHasLongPath":case"OldGnuLongPath":this[Zl]=this[Zl]||Object.create(null),this[Zl].path=this[Ch].replace(/\0.*/,"");break;case"NextFileHasLongLinkpath":this[Zl]=this[Zl]||Object.create(null),this[Zl].linkpath=this[Ch].replace(/\0.*/,"");break;default:throw new Error("unknown meta: "+t.type)}}abort(t){this[Ih]=!0,this.emit("abort",t),this.warn("TAR_ABORT",t,{recoverable:!1})}write(t){if(this[Ih])return;if(this[Fa]===null&&t){if(this[Ai]&&(t=Buffer.concat([this[Ai],t]),this[Ai]=null),t.length<b3.length)return this[Ai]=t,!0;for(let o=0;this[Fa]===null&&o<b3.length;o++)t[o]!==b3[o]&&(this[Fa]=!1);if(this[Fa]===null){let o=this[Md];this[Md]=!1,this[Fa]=new Alt.Unzip,this[Fa].on("data",n=>this[Sb](n)),this[Fa].on("error",n=>this.abort(n)),this[Fa].on("end",n=>{this[Md]=!0,this[Sb]()}),this[W1]=!0;let a=this[Fa][o?"end":"write"](t);return this[W1]=!1,a}}this[W1]=!0,this[Fa]?this[Fa].write(t):this[Sb](t),this[W1]=!1;let r=this[Gf].length?!1:this[qf]?this[qf].flowing:!0;return!r&&!this[Gf].length&&this[qf].once("drain",o=>this.emit("drain")),r}[F3](t){t&&!this[Ih]&&(this[Ai]=this[Ai]?Buffer.concat([this[Ai],t]):t)}[R3](){if(this[Md]&&!this[oAe]&&!this[Ih]&&!this[xb]){this[oAe]=!0;let t=this[Od];if(t&&t.blockRemain){let r=this[Ai]?this[Ai].length:0;this.warn("TAR_BAD_ARCHIVE",`Truncated input (needed ${t.blockRemain} more bytes, only ${r} available)`,{entry:t}),this[Ai]&&t.write(this[Ai]),t.end()}this[Ud](bb)}}[Sb](t){if(this[xb])this[F3](t);else if(!t&&!this[Ai])this[R3]();else{if(this[xb]=!0,this[Ai]){this[F3](t);let r=this[Ai];this[Ai]=null,this[Pb](r)}else this[Pb](t);for(;this[Ai]&&this[Ai].length>=512&&!this[Ih]&&!this[kb];){let r=this[Ai];this[Ai]=null,this[Pb](r)}this[xb]=!1}(!this[Ai]||this[Md])&&this[R3]()}[Pb](t){let r=0,o=t.length;for(;r+512<=o&&!this[Ih]&&!this[kb];)switch(this[Xl]){case"begin":case"header":this[lAe](t,r),r+=512;break;case"ignore":case"body":r+=this[k3](t,r);break;case"meta":r+=this[aAe](t,r);break;default:throw new Error("invalid state: "+this[Xl])}r<o&&(this[Ai]?this[Ai]=Buffer.concat([t.slice(r),this[Ai]]):this[Ai]=t.slice(r))}end(t){this[Ih]||(this[Fa]?this[Fa].end(t):(this[Md]=!0,this.write(t)))}})});var Rb=_((q4t,pAe)=>{"use strict";var plt=NE(),AAe=Fb(),$E=Ie("fs"),hlt=ZE(),uAe=Ie("path"),T3=qE();pAe.exports=(e,t,r)=>{typeof e=="function"?(r=e,t=null,e={}):Array.isArray(e)&&(t=e,e={}),typeof t=="function"&&(r=t,t=null),t?t=Array.from(t):t=[];let o=plt(e);if(o.sync&&typeof r=="function")throw new TypeError("callback not supported for sync tar functions");if(!o.file&&typeof r=="function")throw new TypeError("callback only supported with file option");return t.length&&dlt(o,t),o.noResume||glt(o),o.file&&o.sync?mlt(o):o.file?ylt(o,r):fAe(o)};var glt=e=>{let t=e.onentry;e.onentry=t?r=>{t(r),r.resume()}:r=>r.resume()},dlt=(e,t)=>{let r=new Map(t.map(n=>[T3(n),!0])),o=e.filter,a=(n,u)=>{let A=u||uAe.parse(n).root||".",p=n===A?!1:r.has(n)?r.get(n):a(uAe.dirname(n),A);return r.set(n,p),p};e.filter=o?(n,u)=>o(n,u)&&a(T3(n)):n=>a(T3(n))},mlt=e=>{let t=fAe(e),r=e.file,o=!0,a;try{let n=$E.statSync(r),u=e.maxReadSize||16*1024*1024;if(n.size<u)t.end($E.readFileSync(r));else{let A=0,p=Buffer.allocUnsafe(u);for(a=$E.openSync(r,"r");A<n.size;){let h=$E.readSync(a,p,0,u,A);A+=h,t.write(p.slice(0,h))}t.end()}o=!1}finally{if(o&&a)try{$E.closeSync(a)}catch{}}},ylt=(e,t)=>{let r=new AAe(e),o=e.maxReadSize||16*1024*1024,a=e.file,n=new Promise((u,A)=>{r.on("error",A),r.on("end",u),$E.stat(a,(p,h)=>{if(p)A(p);else{let w=new hlt.ReadStream(a,{readSize:o,size:h.size});w.on("error",A),w.pipe(r)}})});return t?n.then(t,t):n},fAe=e=>new AAe(e)});var EAe=_((G4t,yAe)=>{"use strict";var Elt=NE(),Tb=yb(),hAe=ZE(),gAe=Rb(),dAe=Ie("path");yAe.exports=(e,t,r)=>{if(typeof t=="function"&&(r=t),Array.isArray(e)&&(t=e,e={}),!t||!Array.isArray(t)||!t.length)throw new TypeError("no files or directories specified");t=Array.from(t);let o=Elt(e);if(o.sync&&typeof r=="function")throw new TypeError("callback not supported for sync tar functions");if(!o.file&&typeof r=="function")throw new TypeError("callback only supported with file option");return o.file&&o.sync?wlt(o,t):o.file?Clt(o,t,r):o.sync?Ilt(o,t):Blt(o,t)};var wlt=(e,t)=>{let r=new Tb.Sync(e),o=new hAe.WriteStreamSync(e.file,{mode:e.mode||438});r.pipe(o),mAe(r,t)},Clt=(e,t,r)=>{let o=new Tb(e),a=new hAe.WriteStream(e.file,{mode:e.mode||438});o.pipe(a);let n=new Promise((u,A)=>{a.on("error",A),a.on("close",u),o.on("error",A)});return N3(o,t),r?n.then(r,r):n},mAe=(e,t)=>{t.forEach(r=>{r.charAt(0)==="@"?gAe({file:dAe.resolve(e.cwd,r.substr(1)),sync:!0,noResume:!0,onentry:o=>e.add(o)}):e.add(r)}),e.end()},N3=(e,t)=>{for(;t.length;){let r=t.shift();if(r.charAt(0)==="@")return gAe({file:dAe.resolve(e.cwd,r.substr(1)),noResume:!0,onentry:o=>e.add(o)}).then(o=>N3(e,t));e.add(r)}e.end()},Ilt=(e,t)=>{let r=new Tb.Sync(e);return mAe(r,t),r},Blt=(e,t)=>{let r=new Tb(e);return N3(r,t),r}});var L3=_((Y4t,SAe)=>{"use strict";var vlt=NE(),wAe=yb(),ul=Ie("fs"),CAe=ZE(),IAe=Rb(),BAe=Ie("path"),vAe=jE();SAe.exports=(e,t,r)=>{let o=vlt(e);if(!o.file)throw new TypeError("file is required");if(o.gzip)throw new TypeError("cannot append to compressed archives");if(!t||!Array.isArray(t)||!t.length)throw new TypeError("no files or directories specified");return t=Array.from(t),o.sync?Dlt(o,t):Plt(o,t,r)};var Dlt=(e,t)=>{let r=new wAe.Sync(e),o=!0,a,n;try{try{a=ul.openSync(e.file,"r+")}catch(p){if(p.code==="ENOENT")a=ul.openSync(e.file,"w+");else throw p}let u=ul.fstatSync(a),A=Buffer.alloc(512);e:for(n=0;n<u.size;n+=512){for(let w=0,I=0;w<512;w+=I){if(I=ul.readSync(a,A,w,A.length-w,n+w),n===0&&A[0]===31&&A[1]===139)throw new Error("cannot append to compressed archives");if(!I)break e}let p=new vAe(A);if(!p.cksumValid)break;let h=512*Math.ceil(p.size/512);if(n+h+512>u.size)break;n+=h,e.mtimeCache&&e.mtimeCache.set(p.path,p.mtime)}o=!1,Slt(e,r,n,a,t)}finally{if(o)try{ul.closeSync(a)}catch{}}},Slt=(e,t,r,o,a)=>{let n=new CAe.WriteStreamSync(e.file,{fd:o,start:r});t.pipe(n),xlt(t,a)},Plt=(e,t,r)=>{t=Array.from(t);let o=new wAe(e),a=(u,A,p)=>{let h=(E,R)=>{E?ul.close(u,N=>p(E)):p(null,R)},w=0;if(A===0)return h(null,0);let I=0,v=Buffer.alloc(512),b=(E,R)=>{if(E)return h(E);if(I+=R,I<512&&R)return ul.read(u,v,I,v.length-I,w+I,b);if(w===0&&v[0]===31&&v[1]===139)return h(new Error("cannot append to compressed archives"));if(I<512)return h(null,w);let N=new vAe(v);if(!N.cksumValid)return h(null,w);let U=512*Math.ceil(N.size/512);if(w+U+512>A||(w+=U+512,w>=A))return h(null,w);e.mtimeCache&&e.mtimeCache.set(N.path,N.mtime),I=0,ul.read(u,v,0,512,w,b)};ul.read(u,v,0,512,w,b)},n=new Promise((u,A)=>{o.on("error",A);let p="r+",h=(w,I)=>{if(w&&w.code==="ENOENT"&&p==="r+")return p="w+",ul.open(e.file,p,h);if(w)return A(w);ul.fstat(I,(v,b)=>{if(v)return ul.close(I,()=>A(v));a(I,b.size,(E,R)=>{if(E)return A(E);let N=new CAe.WriteStream(e.file,{fd:I,start:R});o.pipe(N),N.on("error",A),N.on("close",u),DAe(o,t)})})};ul.open(e.file,p,h)});return r?n.then(r,r):n},xlt=(e,t)=>{t.forEach(r=>{r.charAt(0)==="@"?IAe({file:BAe.resolve(e.cwd,r.substr(1)),sync:!0,noResume:!0,onentry:o=>e.add(o)}):e.add(r)}),e.end()},DAe=(e,t)=>{for(;t.length;){let r=t.shift();if(r.charAt(0)==="@")return IAe({file:BAe.resolve(e.cwd,r.substr(1)),noResume:!0,onentry:o=>e.add(o)}).then(o=>DAe(e,t));e.add(r)}e.end()}});var xAe=_((W4t,PAe)=>{"use strict";var blt=NE(),Qlt=L3();PAe.exports=(e,t,r)=>{let o=blt(e);if(!o.file)throw new TypeError("file is required");if(o.gzip)throw new TypeError("cannot append to compressed archives");if(!t||!Array.isArray(t)||!t.length)throw new TypeError("no files or directories specified");return t=Array.from(t),klt(o),Qlt(o,t,r)};var klt=e=>{let t=e.filter;e.mtimeCache||(e.mtimeCache=new Map),e.filter=t?(r,o)=>t(r,o)&&!(e.mtimeCache.get(r)>o.mtime):(r,o)=>!(e.mtimeCache.get(r)>o.mtime)}});var kAe=_((K4t,QAe)=>{var{promisify:bAe}=Ie("util"),Bh=Ie("fs"),Flt=e=>{if(!e)e={mode:511,fs:Bh};else if(typeof e=="object")e={mode:511,fs:Bh,...e};else if(typeof e=="number")e={mode:e,fs:Bh};else if(typeof e=="string")e={mode:parseInt(e,8),fs:Bh};else throw new TypeError("invalid options argument");return e.mkdir=e.mkdir||e.fs.mkdir||Bh.mkdir,e.mkdirAsync=bAe(e.mkdir),e.stat=e.stat||e.fs.stat||Bh.stat,e.statAsync=bAe(e.stat),e.statSync=e.statSync||e.fs.statSync||Bh.statSync,e.mkdirSync=e.mkdirSync||e.fs.mkdirSync||Bh.mkdirSync,e};QAe.exports=Flt});var RAe=_((J4t,FAe)=>{var Rlt=process.platform,{resolve:Tlt,parse:Nlt}=Ie("path"),Llt=e=>{if(/\0/.test(e))throw Object.assign(new TypeError("path must be a string without null bytes"),{path:e,code:"ERR_INVALID_ARG_VALUE"});if(e=Tlt(e),Rlt==="win32"){let t=/[*|"<>?:]/,{root:r}=Nlt(e);if(t.test(e.substr(r.length)))throw Object.assign(new Error("Illegal characters in path."),{path:e,code:"EINVAL"})}return e};FAe.exports=Llt});var MAe=_((V4t,OAe)=>{var{dirname:TAe}=Ie("path"),NAe=(e,t,r=void 0)=>r===t?Promise.resolve():e.statAsync(t).then(o=>o.isDirectory()?r:void 0,o=>o.code==="ENOENT"?NAe(e,TAe(t),t):void 0),LAe=(e,t,r=void 0)=>{if(r!==t)try{return e.statSync(t).isDirectory()?r:void 0}catch(o){return o.code==="ENOENT"?LAe(e,TAe(t),t):void 0}};OAe.exports={findMade:NAe,findMadeSync:LAe}});var U3=_((z4t,_Ae)=>{var{dirname:UAe}=Ie("path"),O3=(e,t,r)=>{t.recursive=!1;let o=UAe(e);return o===e?t.mkdirAsync(e,t).catch(a=>{if(a.code!=="EISDIR")throw a}):t.mkdirAsync(e,t).then(()=>r||e,a=>{if(a.code==="ENOENT")return O3(o,t).then(n=>O3(e,t,n));if(a.code!=="EEXIST"&&a.code!=="EROFS")throw a;return t.statAsync(e).then(n=>{if(n.isDirectory())return r;throw a},()=>{throw a})})},M3=(e,t,r)=>{let o=UAe(e);if(t.recursive=!1,o===e)try{return t.mkdirSync(e,t)}catch(a){if(a.code!=="EISDIR")throw a;return}try{return t.mkdirSync(e,t),r||e}catch(a){if(a.code==="ENOENT")return M3(e,t,M3(o,t,r));if(a.code!=="EEXIST"&&a.code!=="EROFS")throw a;try{if(!t.statSync(e).isDirectory())throw a}catch{throw a}}};_Ae.exports={mkdirpManual:O3,mkdirpManualSync:M3}});var qAe=_((X4t,jAe)=>{var{dirname:HAe}=Ie("path"),{findMade:Olt,findMadeSync:Mlt}=MAe(),{mkdirpManual:Ult,mkdirpManualSync:_lt}=U3(),Hlt=(e,t)=>(t.recursive=!0,HAe(e)===e?t.mkdirAsync(e,t):Olt(t,e).then(o=>t.mkdirAsync(e,t).then(()=>o).catch(a=>{if(a.code==="ENOENT")return Ult(e,t);throw a}))),jlt=(e,t)=>{if(t.recursive=!0,HAe(e)===e)return t.mkdirSync(e,t);let o=Mlt(t,e);try{return t.mkdirSync(e,t),o}catch(a){if(a.code==="ENOENT")return _lt(e,t);throw a}};jAe.exports={mkdirpNative:Hlt,mkdirpNativeSync:jlt}});var KAe=_((Z4t,WAe)=>{var GAe=Ie("fs"),qlt=process.version,_3=qlt.replace(/^v/,"").split("."),YAe=+_3[0]>10||+_3[0]==10&&+_3[1]>=12,Glt=YAe?e=>e.mkdir===GAe.mkdir:()=>!1,Ylt=YAe?e=>e.mkdirSync===GAe.mkdirSync:()=>!1;WAe.exports={useNative:Glt,useNativeSync:Ylt}});var $Ae=_(($4t,ZAe)=>{var ew=kAe(),tw=RAe(),{mkdirpNative:JAe,mkdirpNativeSync:VAe}=qAe(),{mkdirpManual:zAe,mkdirpManualSync:XAe}=U3(),{useNative:Wlt,useNativeSync:Klt}=KAe(),rw=(e,t)=>(e=tw(e),t=ew(t),Wlt(t)?JAe(e,t):zAe(e,t)),Jlt=(e,t)=>(e=tw(e),t=ew(t),Klt(t)?VAe(e,t):XAe(e,t));rw.sync=Jlt;rw.native=(e,t)=>JAe(tw(e),ew(t));rw.manual=(e,t)=>zAe(tw(e),ew(t));rw.nativeSync=(e,t)=>VAe(tw(e),ew(t));rw.manualSync=(e,t)=>XAe(tw(e),ew(t));ZAe.exports=rw});var ofe=_((eUt,sfe)=>{"use strict";var $l=Ie("fs"),Hd=Ie("path"),Vlt=$l.lchown?"lchown":"chown",zlt=$l.lchownSync?"lchownSync":"chownSync",tfe=$l.lchown&&!process.version.match(/v1[1-9]+\./)&&!process.version.match(/v10\.[6-9]/),efe=(e,t,r)=>{try{return $l[zlt](e,t,r)}catch(o){if(o.code!=="ENOENT")throw o}},Xlt=(e,t,r)=>{try{return $l.chownSync(e,t,r)}catch(o){if(o.code!=="ENOENT")throw o}},Zlt=tfe?(e,t,r,o)=>a=>{!a||a.code!=="EISDIR"?o(a):$l.chown(e,t,r,o)}:(e,t,r,o)=>o,H3=tfe?(e,t,r)=>{try{return efe(e,t,r)}catch(o){if(o.code!=="EISDIR")throw o;Xlt(e,t,r)}}:(e,t,r)=>efe(e,t,r),$lt=process.version,rfe=(e,t,r)=>$l.readdir(e,t,r),ect=(e,t)=>$l.readdirSync(e,t);/^v4\./.test($lt)&&(rfe=(e,t,r)=>$l.readdir(e,r));var Nb=(e,t,r,o)=>{$l[Vlt](e,t,r,Zlt(e,t,r,a=>{o(a&&a.code!=="ENOENT"?a:null)}))},nfe=(e,t,r,o,a)=>{if(typeof t=="string")return $l.lstat(Hd.resolve(e,t),(n,u)=>{if(n)return a(n.code!=="ENOENT"?n:null);u.name=t,nfe(e,u,r,o,a)});if(t.isDirectory())j3(Hd.resolve(e,t.name),r,o,n=>{if(n)return a(n);let u=Hd.resolve(e,t.name);Nb(u,r,o,a)});else{let n=Hd.resolve(e,t.name);Nb(n,r,o,a)}},j3=(e,t,r,o)=>{rfe(e,{withFileTypes:!0},(a,n)=>{if(a){if(a.code==="ENOENT")return o();if(a.code!=="ENOTDIR"&&a.code!=="ENOTSUP")return o(a)}if(a||!n.length)return Nb(e,t,r,o);let u=n.length,A=null,p=h=>{if(!A){if(h)return o(A=h);if(--u===0)return Nb(e,t,r,o)}};n.forEach(h=>nfe(e,h,t,r,p))})},tct=(e,t,r,o)=>{if(typeof t=="string")try{let a=$l.lstatSync(Hd.resolve(e,t));a.name=t,t=a}catch(a){if(a.code==="ENOENT")return;throw a}t.isDirectory()&&ife(Hd.resolve(e,t.name),r,o),H3(Hd.resolve(e,t.name),r,o)},ife=(e,t,r)=>{let o;try{o=ect(e,{withFileTypes:!0})}catch(a){if(a.code==="ENOENT")return;if(a.code==="ENOTDIR"||a.code==="ENOTSUP")return H3(e,t,r);throw a}return o&&o.length&&o.forEach(a=>tct(e,a,t,r)),H3(e,t,r)};sfe.exports=j3;j3.sync=ife});var ufe=_((tUt,q3)=>{"use strict";var afe=$Ae(),ec=Ie("fs"),Lb=Ie("path"),lfe=ofe(),Jc=_E(),Ob=class extends Error{constructor(t,r){super("Cannot extract through symbolic link"),this.path=r,this.symlink=t}get name(){return"SylinkError"}},Mb=class extends Error{constructor(t,r){super(r+": Cannot cd into '"+t+"'"),this.path=t,this.code=r}get name(){return"CwdError"}},Ub=(e,t)=>e.get(Jc(t)),K1=(e,t,r)=>e.set(Jc(t),r),rct=(e,t)=>{ec.stat(e,(r,o)=>{(r||!o.isDirectory())&&(r=new Mb(e,r&&r.code||"ENOTDIR")),t(r)})};q3.exports=(e,t,r)=>{e=Jc(e);let o=t.umask,a=t.mode|448,n=(a&o)!==0,u=t.uid,A=t.gid,p=typeof u=="number"&&typeof A=="number"&&(u!==t.processUid||A!==t.processGid),h=t.preserve,w=t.unlink,I=t.cache,v=Jc(t.cwd),b=(N,U)=>{N?r(N):(K1(I,e,!0),U&&p?lfe(U,u,A,V=>b(V)):n?ec.chmod(e,a,r):r())};if(I&&Ub(I,e)===!0)return b();if(e===v)return rct(e,b);if(h)return afe(e,{mode:a}).then(N=>b(null,N),b);let R=Jc(Lb.relative(v,e)).split("/");_b(v,R,a,I,w,v,null,b)};var _b=(e,t,r,o,a,n,u,A)=>{if(!t.length)return A(null,u);let p=t.shift(),h=Jc(Lb.resolve(e+"/"+p));if(Ub(o,h))return _b(h,t,r,o,a,n,u,A);ec.mkdir(h,r,cfe(h,t,r,o,a,n,u,A))},cfe=(e,t,r,o,a,n,u,A)=>p=>{p?ec.lstat(e,(h,w)=>{if(h)h.path=h.path&&Jc(h.path),A(h);else if(w.isDirectory())_b(e,t,r,o,a,n,u,A);else if(a)ec.unlink(e,I=>{if(I)return A(I);ec.mkdir(e,r,cfe(e,t,r,o,a,n,u,A))});else{if(w.isSymbolicLink())return A(new Ob(e,e+"/"+t.join("/")));A(p)}}):(u=u||e,_b(e,t,r,o,a,n,u,A))},nct=e=>{let t=!1,r="ENOTDIR";try{t=ec.statSync(e).isDirectory()}catch(o){r=o.code}finally{if(!t)throw new Mb(e,r)}};q3.exports.sync=(e,t)=>{e=Jc(e);let r=t.umask,o=t.mode|448,a=(o&r)!==0,n=t.uid,u=t.gid,A=typeof n=="number"&&typeof u=="number"&&(n!==t.processUid||u!==t.processGid),p=t.preserve,h=t.unlink,w=t.cache,I=Jc(t.cwd),v=N=>{K1(w,e,!0),N&&A&&lfe.sync(N,n,u),a&&ec.chmodSync(e,o)};if(w&&Ub(w,e)===!0)return v();if(e===I)return nct(I),v();if(p)return v(afe.sync(e,o));let E=Jc(Lb.relative(I,e)).split("/"),R=null;for(let N=E.shift(),U=I;N&&(U+="/"+N);N=E.shift())if(U=Jc(Lb.resolve(U)),!Ub(w,U))try{ec.mkdirSync(U,o),R=R||U,K1(w,U,!0)}catch{let ee=ec.lstatSync(U);if(ee.isDirectory()){K1(w,U,!0);continue}else if(h){ec.unlinkSync(U),ec.mkdirSync(U,o),R=R||U,K1(w,U,!0);continue}else if(ee.isSymbolicLink())return new Ob(U,U+"/"+E.join("/"))}return v(R)}});var Y3=_((rUt,Afe)=>{var G3=Object.create(null),{hasOwnProperty:ict}=Object.prototype;Afe.exports=e=>(ict.call(G3,e)||(G3[e]=e.normalize("NFKD")),G3[e])});var gfe=_((nUt,hfe)=>{var ffe=Ie("assert"),sct=Y3(),oct=qE(),{join:pfe}=Ie("path"),act=process.env.TESTING_TAR_FAKE_PLATFORM||process.platform,lct=act==="win32";hfe.exports=()=>{let e=new Map,t=new Map,r=h=>h.split("/").slice(0,-1).reduce((I,v)=>(I.length&&(v=pfe(I[I.length-1],v)),I.push(v||"/"),I),[]),o=new Set,a=h=>{let w=t.get(h);if(!w)throw new Error("function does not have any path reservations");return{paths:w.paths.map(I=>e.get(I)),dirs:[...w.dirs].map(I=>e.get(I))}},n=h=>{let{paths:w,dirs:I}=a(h);return w.every(v=>v[0]===h)&&I.every(v=>v[0]instanceof Set&&v[0].has(h))},u=h=>o.has(h)||!n(h)?!1:(o.add(h),h(()=>A(h)),!0),A=h=>{if(!o.has(h))return!1;let{paths:w,dirs:I}=t.get(h),v=new Set;return w.forEach(b=>{let E=e.get(b);ffe.equal(E[0],h),E.length===1?e.delete(b):(E.shift(),typeof E[0]=="function"?v.add(E[0]):E[0].forEach(R=>v.add(R)))}),I.forEach(b=>{let E=e.get(b);ffe(E[0]instanceof Set),E[0].size===1&&E.length===1?e.delete(b):E[0].size===1?(E.shift(),v.add(E[0])):E[0].delete(h)}),o.delete(h),v.forEach(b=>u(b)),!0};return{check:n,reserve:(h,w)=>{h=lct?["win32 parallelization disabled"]:h.map(v=>sct(oct(pfe(v))).toLowerCase());let I=new Set(h.map(v=>r(v)).reduce((v,b)=>v.concat(b)));return t.set(w,{dirs:I,paths:h}),h.forEach(v=>{let b=e.get(v);b?b.push(w):e.set(v,[w])}),I.forEach(v=>{let b=e.get(v);b?b[b.length-1]instanceof Set?b[b.length-1].add(w):b.push(new Set([w])):e.set(v,[new Set([w])])}),u(w)}}}});var yfe=_((iUt,mfe)=>{var cct=process.platform,uct=cct==="win32",Act=global.__FAKE_TESTING_FS__||Ie("fs"),{O_CREAT:fct,O_TRUNC:pct,O_WRONLY:hct,UV_FS_O_FILEMAP:dfe=0}=Act.constants,gct=uct&&!!dfe,dct=512*1024,mct=dfe|pct|fct|hct;mfe.exports=gct?e=>e<dct?mct:"w":()=>"w"});var e_=_((sUt,Ffe)=>{"use strict";var yct=Ie("assert"),Ect=Fb(),Bn=Ie("fs"),wct=ZE(),Yf=Ie("path"),bfe=ufe(),Efe=e3(),Cct=gfe(),Ict=t3(),Al=_E(),Bct=qE(),vct=Y3(),wfe=Symbol("onEntry"),J3=Symbol("checkFs"),Cfe=Symbol("checkFs2"),qb=Symbol("pruneCache"),V3=Symbol("isReusable"),tc=Symbol("makeFs"),z3=Symbol("file"),X3=Symbol("directory"),Gb=Symbol("link"),Ife=Symbol("symlink"),Bfe=Symbol("hardlink"),vfe=Symbol("unsupported"),Dfe=Symbol("checkPath"),vh=Symbol("mkdir"),To=Symbol("onError"),Hb=Symbol("pending"),Sfe=Symbol("pend"),nw=Symbol("unpend"),W3=Symbol("ended"),K3=Symbol("maybeClose"),Z3=Symbol("skip"),J1=Symbol("doChown"),V1=Symbol("uid"),z1=Symbol("gid"),X1=Symbol("checkedCwd"),Qfe=Ie("crypto"),kfe=yfe(),Dct=process.env.TESTING_TAR_FAKE_PLATFORM||process.platform,Z1=Dct==="win32",Sct=(e,t)=>{if(!Z1)return Bn.unlink(e,t);let r=e+".DELETE."+Qfe.randomBytes(16).toString("hex");Bn.rename(e,r,o=>{if(o)return t(o);Bn.unlink(r,t)})},Pct=e=>{if(!Z1)return Bn.unlinkSync(e);let t=e+".DELETE."+Qfe.randomBytes(16).toString("hex");Bn.renameSync(e,t),Bn.unlinkSync(t)},Pfe=(e,t,r)=>e===e>>>0?e:t===t>>>0?t:r,xfe=e=>vct(Bct(Al(e))).toLowerCase(),xct=(e,t)=>{t=xfe(t);for(let r of e.keys()){let o=xfe(r);(o===t||o.indexOf(t+"/")===0)&&e.delete(r)}},bct=e=>{for(let t of e.keys())e.delete(t)},$1=class extends Ect{constructor(t){if(t||(t={}),t.ondone=r=>{this[W3]=!0,this[K3]()},super(t),this[X1]=!1,this.reservations=Cct(),this.transform=typeof t.transform=="function"?t.transform:null,this.writable=!0,this.readable=!1,this[Hb]=0,this[W3]=!1,this.dirCache=t.dirCache||new Map,typeof t.uid=="number"||typeof t.gid=="number"){if(typeof t.uid!="number"||typeof t.gid!="number")throw new TypeError("cannot set owner without number uid and gid");if(t.preserveOwner)throw new TypeError("cannot preserve owner in archive and also set owner explicitly");this.uid=t.uid,this.gid=t.gid,this.setOwner=!0}else this.uid=null,this.gid=null,this.setOwner=!1;t.preserveOwner===void 0&&typeof t.uid!="number"?this.preserveOwner=process.getuid&&process.getuid()===0:this.preserveOwner=!!t.preserveOwner,this.processUid=(this.preserveOwner||this.setOwner)&&process.getuid?process.getuid():null,this.processGid=(this.preserveOwner||this.setOwner)&&process.getgid?process.getgid():null,this.forceChown=t.forceChown===!0,this.win32=!!t.win32||Z1,this.newer=!!t.newer,this.keep=!!t.keep,this.noMtime=!!t.noMtime,this.preservePaths=!!t.preservePaths,this.unlink=!!t.unlink,this.cwd=Al(Yf.resolve(t.cwd||process.cwd())),this.strip=+t.strip||0,this.processUmask=t.noChmod?0:process.umask(),this.umask=typeof t.umask=="number"?t.umask:this.processUmask,this.dmode=t.dmode||511&~this.umask,this.fmode=t.fmode||438&~this.umask,this.on("entry",r=>this[wfe](r))}warn(t,r,o={}){return(t==="TAR_BAD_ARCHIVE"||t==="TAR_ABORT")&&(o.recoverable=!1),super.warn(t,r,o)}[K3](){this[W3]&&this[Hb]===0&&(this.emit("prefinish"),this.emit("finish"),this.emit("end"),this.emit("close"))}[Dfe](t){if(this.strip){let r=Al(t.path).split("/");if(r.length<this.strip)return!1;if(t.path=r.slice(this.strip).join("/"),t.type==="Link"){let o=Al(t.linkpath).split("/");if(o.length>=this.strip)t.linkpath=o.slice(this.strip).join("/");else return!1}}if(!this.preservePaths){let r=Al(t.path),o=r.split("/");if(o.includes("..")||Z1&&/^[a-z]:\.\.$/i.test(o[0]))return this.warn("TAR_ENTRY_ERROR","path contains '..'",{entry:t,path:r}),!1;let[a,n]=Ict(r);a&&(t.path=n,this.warn("TAR_ENTRY_INFO",`stripping ${a} from absolute path`,{entry:t,path:r}))}if(Yf.isAbsolute(t.path)?t.absolute=Al(Yf.resolve(t.path)):t.absolute=Al(Yf.resolve(this.cwd,t.path)),!this.preservePaths&&t.absolute.indexOf(this.cwd+"/")!==0&&t.absolute!==this.cwd)return this.warn("TAR_ENTRY_ERROR","path escaped extraction target",{entry:t,path:Al(t.path),resolvedPath:t.absolute,cwd:this.cwd}),!1;if(t.absolute===this.cwd&&t.type!=="Directory"&&t.type!=="GNUDumpDir")return!1;if(this.win32){let{root:r}=Yf.win32.parse(t.absolute);t.absolute=r+Efe.encode(t.absolute.substr(r.length));let{root:o}=Yf.win32.parse(t.path);t.path=o+Efe.encode(t.path.substr(o.length))}return!0}[wfe](t){if(!this[Dfe](t))return t.resume();switch(yct.equal(typeof t.absolute,"string"),t.type){case"Directory":case"GNUDumpDir":t.mode&&(t.mode=t.mode|448);case"File":case"OldFile":case"ContiguousFile":case"Link":case"SymbolicLink":return this[J3](t);case"CharacterDevice":case"BlockDevice":case"FIFO":default:return this[vfe](t)}}[To](t,r){t.name==="CwdError"?this.emit("error",t):(this.warn("TAR_ENTRY_ERROR",t,{entry:r}),this[nw](),r.resume())}[vh](t,r,o){bfe(Al(t),{uid:this.uid,gid:this.gid,processUid:this.processUid,processGid:this.processGid,umask:this.processUmask,preserve:this.preservePaths,unlink:this.unlink,cache:this.dirCache,cwd:this.cwd,mode:r,noChmod:this.noChmod},o)}[J1](t){return this.forceChown||this.preserveOwner&&(typeof t.uid=="number"&&t.uid!==this.processUid||typeof t.gid=="number"&&t.gid!==this.processGid)||typeof this.uid=="number"&&this.uid!==this.processUid||typeof this.gid=="number"&&this.gid!==this.processGid}[V1](t){return Pfe(this.uid,t.uid,this.processUid)}[z1](t){return Pfe(this.gid,t.gid,this.processGid)}[z3](t,r){let o=t.mode&4095||this.fmode,a=new wct.WriteStream(t.absolute,{flags:kfe(t.size),mode:o,autoClose:!1});a.on("error",p=>{a.fd&&Bn.close(a.fd,()=>{}),a.write=()=>!0,this[To](p,t),r()});let n=1,u=p=>{if(p){a.fd&&Bn.close(a.fd,()=>{}),this[To](p,t),r();return}--n===0&&Bn.close(a.fd,h=>{h?this[To](h,t):this[nw](),r()})};a.on("finish",p=>{let h=t.absolute,w=a.fd;if(t.mtime&&!this.noMtime){n++;let I=t.atime||new Date,v=t.mtime;Bn.futimes(w,I,v,b=>b?Bn.utimes(h,I,v,E=>u(E&&b)):u())}if(this[J1](t)){n++;let I=this[V1](t),v=this[z1](t);Bn.fchown(w,I,v,b=>b?Bn.chown(h,I,v,E=>u(E&&b)):u())}u()});let A=this.transform&&this.transform(t)||t;A!==t&&(A.on("error",p=>{this[To](p,t),r()}),t.pipe(A)),A.pipe(a)}[X3](t,r){let o=t.mode&4095||this.dmode;this[vh](t.absolute,o,a=>{if(a){this[To](a,t),r();return}let n=1,u=A=>{--n===0&&(r(),this[nw](),t.resume())};t.mtime&&!this.noMtime&&(n++,Bn.utimes(t.absolute,t.atime||new Date,t.mtime,u)),this[J1](t)&&(n++,Bn.chown(t.absolute,this[V1](t),this[z1](t),u)),u()})}[vfe](t){t.unsupported=!0,this.warn("TAR_ENTRY_UNSUPPORTED",`unsupported entry type: ${t.type}`,{entry:t}),t.resume()}[Ife](t,r){this[Gb](t,t.linkpath,"symlink",r)}[Bfe](t,r){let o=Al(Yf.resolve(this.cwd,t.linkpath));this[Gb](t,o,"link",r)}[Sfe](){this[Hb]++}[nw](){this[Hb]--,this[K3]()}[Z3](t){this[nw](),t.resume()}[V3](t,r){return t.type==="File"&&!this.unlink&&r.isFile()&&r.nlink<=1&&!Z1}[J3](t){this[Sfe]();let r=[t.path];t.linkpath&&r.push(t.linkpath),this.reservations.reserve(r,o=>this[Cfe](t,o))}[qb](t){t.type==="SymbolicLink"?bct(this.dirCache):t.type!=="Directory"&&xct(this.dirCache,t.absolute)}[Cfe](t,r){this[qb](t);let o=A=>{this[qb](t),r(A)},a=()=>{this[vh](this.cwd,this.dmode,A=>{if(A){this[To](A,t),o();return}this[X1]=!0,n()})},n=()=>{if(t.absolute!==this.cwd){let A=Al(Yf.dirname(t.absolute));if(A!==this.cwd)return this[vh](A,this.dmode,p=>{if(p){this[To](p,t),o();return}u()})}u()},u=()=>{Bn.lstat(t.absolute,(A,p)=>{if(p&&(this.keep||this.newer&&p.mtime>t.mtime)){this[Z3](t),o();return}if(A||this[V3](t,p))return this[tc](null,t,o);if(p.isDirectory()){if(t.type==="Directory"){let h=!this.noChmod&&t.mode&&(p.mode&4095)!==t.mode,w=I=>this[tc](I,t,o);return h?Bn.chmod(t.absolute,t.mode,w):w()}if(t.absolute!==this.cwd)return Bn.rmdir(t.absolute,h=>this[tc](h,t,o))}if(t.absolute===this.cwd)return this[tc](null,t,o);Sct(t.absolute,h=>this[tc](h,t,o))})};this[X1]?n():a()}[tc](t,r,o){if(t){this[To](t,r),o();return}switch(r.type){case"File":case"OldFile":case"ContiguousFile":return this[z3](r,o);case"Link":return this[Bfe](r,o);case"SymbolicLink":return this[Ife](r,o);case"Directory":case"GNUDumpDir":return this[X3](r,o)}}[Gb](t,r,o,a){Bn[o](r,t.absolute,n=>{n?this[To](n,t):(this[nw](),t.resume()),a()})}},jb=e=>{try{return[null,e()]}catch(t){return[t,null]}},$3=class extends $1{[tc](t,r){return super[tc](t,r,()=>{})}[J3](t){if(this[qb](t),!this[X1]){let n=this[vh](this.cwd,this.dmode);if(n)return this[To](n,t);this[X1]=!0}if(t.absolute!==this.cwd){let n=Al(Yf.dirname(t.absolute));if(n!==this.cwd){let u=this[vh](n,this.dmode);if(u)return this[To](u,t)}}let[r,o]=jb(()=>Bn.lstatSync(t.absolute));if(o&&(this.keep||this.newer&&o.mtime>t.mtime))return this[Z3](t);if(r||this[V3](t,o))return this[tc](null,t);if(o.isDirectory()){if(t.type==="Directory"){let u=!this.noChmod&&t.mode&&(o.mode&4095)!==t.mode,[A]=u?jb(()=>{Bn.chmodSync(t.absolute,t.mode)}):[];return this[tc](A,t)}let[n]=jb(()=>Bn.rmdirSync(t.absolute));this[tc](n,t)}let[a]=t.absolute===this.cwd?[]:jb(()=>Pct(t.absolute));this[tc](a,t)}[z3](t,r){let o=t.mode&4095||this.fmode,a=A=>{let p;try{Bn.closeSync(n)}catch(h){p=h}(A||p)&&this[To](A||p,t),r()},n;try{n=Bn.openSync(t.absolute,kfe(t.size),o)}catch(A){return a(A)}let u=this.transform&&this.transform(t)||t;u!==t&&(u.on("error",A=>this[To](A,t)),t.pipe(u)),u.on("data",A=>{try{Bn.writeSync(n,A,0,A.length)}catch(p){a(p)}}),u.on("end",A=>{let p=null;if(t.mtime&&!this.noMtime){let h=t.atime||new Date,w=t.mtime;try{Bn.futimesSync(n,h,w)}catch(I){try{Bn.utimesSync(t.absolute,h,w)}catch{p=I}}}if(this[J1](t)){let h=this[V1](t),w=this[z1](t);try{Bn.fchownSync(n,h,w)}catch(I){try{Bn.chownSync(t.absolute,h,w)}catch{p=p||I}}}a(p)})}[X3](t,r){let o=t.mode&4095||this.dmode,a=this[vh](t.absolute,o);if(a){this[To](a,t),r();return}if(t.mtime&&!this.noMtime)try{Bn.utimesSync(t.absolute,t.atime||new Date,t.mtime)}catch{}if(this[J1](t))try{Bn.chownSync(t.absolute,this[V1](t),this[z1](t))}catch{}r(),t.resume()}[vh](t,r){try{return bfe.sync(Al(t),{uid:this.uid,gid:this.gid,processUid:this.processUid,processGid:this.processGid,umask:this.processUmask,preserve:this.preservePaths,unlink:this.unlink,cache:this.dirCache,cwd:this.cwd,mode:r})}catch(o){return o}}[Gb](t,r,o,a){try{Bn[o+"Sync"](r,t.absolute),a(),t.resume()}catch(n){return this[To](n,t)}}};$1.Sync=$3;Ffe.exports=$1});var Ofe=_((oUt,Lfe)=>{"use strict";var Qct=NE(),Yb=e_(),Tfe=Ie("fs"),Nfe=ZE(),Rfe=Ie("path"),t_=qE();Lfe.exports=(e,t,r)=>{typeof e=="function"?(r=e,t=null,e={}):Array.isArray(e)&&(t=e,e={}),typeof t=="function"&&(r=t,t=null),t?t=Array.from(t):t=[];let o=Qct(e);if(o.sync&&typeof r=="function")throw new TypeError("callback not supported for sync tar functions");if(!o.file&&typeof r=="function")throw new TypeError("callback only supported with file option");return t.length&&kct(o,t),o.file&&o.sync?Fct(o):o.file?Rct(o,r):o.sync?Tct(o):Nct(o)};var kct=(e,t)=>{let r=new Map(t.map(n=>[t_(n),!0])),o=e.filter,a=(n,u)=>{let A=u||Rfe.parse(n).root||".",p=n===A?!1:r.has(n)?r.get(n):a(Rfe.dirname(n),A);return r.set(n,p),p};e.filter=o?(n,u)=>o(n,u)&&a(t_(n)):n=>a(t_(n))},Fct=e=>{let t=new Yb.Sync(e),r=e.file,o=Tfe.statSync(r),a=e.maxReadSize||16*1024*1024;new Nfe.ReadStreamSync(r,{readSize:a,size:o.size}).pipe(t)},Rct=(e,t)=>{let r=new Yb(e),o=e.maxReadSize||16*1024*1024,a=e.file,n=new Promise((u,A)=>{r.on("error",A),r.on("close",u),Tfe.stat(a,(p,h)=>{if(p)A(p);else{let w=new Nfe.ReadStream(a,{readSize:o,size:h.size});w.on("error",A),w.pipe(r)}})});return t?n.then(t,t):n},Tct=e=>new Yb.Sync(e),Nct=e=>new Yb(e)});var Mfe=_(As=>{"use strict";As.c=As.create=EAe();As.r=As.replace=L3();As.t=As.list=Rb();As.u=As.update=xAe();As.x=As.extract=Ofe();As.Pack=yb();As.Unpack=e_();As.Parse=Fb();As.ReadEntry=eb();As.WriteEntry=A3();As.Header=jE();As.Pax=rb();As.types=KU()});var Ufe,_fe,Dh,Wb,Hfe=yt(()=>{Ufe=$e(nd()),_fe=Ie("worker_threads");C1();Dh=Symbol("kTaskInfo"),Wb=class{constructor(t){this.source=t;this.workers=[];this.limit=(0,Ufe.default)(U4());this.cleanupInterval=setInterval(()=>{if(this.limit.pendingCount===0&&this.limit.activeCount===0){let r=this.workers.pop();r?r.terminate():clearInterval(this.cleanupInterval)}},5e3).unref()}createWorker(){this.cleanupInterval.refresh();let t=new _fe.Worker(this.source,{eval:!0,execArgv:[...process.execArgv,"--unhandled-rejections=strict"]});return t.on("message",r=>{if(!t[Dh])throw new Error("Assertion failed: Worker sent a result without having a task assigned");t[Dh].resolve(r),t[Dh]=null,t.unref(),this.workers.push(t)}),t.on("error",r=>{t[Dh]?.reject(r),t[Dh]=null}),t.on("exit",r=>{r!==0&&t[Dh]?.reject(new Error(`Worker exited with code ${r}`)),t[Dh]=null}),t}run(t){return this.limit(()=>{let r=this.workers.pop()??this.createWorker();return r.ref(),new Promise((o,a)=>{r[Dh]={resolve:o,reject:a},r.postMessage(t)})})}}});var qfe=_((cUt,jfe)=>{var r_;jfe.exports.getContent=()=>(typeof r_>"u"&&(r_=Ie("zlib").brotliDecompressSync(Buffer.from("W9E8doE5hrBU+1N3Veou1m5DFipQju0inWPLDgKSqbyO8oTCbocCnbfBF2HpgusdVVVNTCpDZgKatMC2wdTr72vkQKK17JTZCzF4kPtGjdpOez96wA5oJKS6E7OLVvEsbIbjpKtTPCCaUZp8wlDdEyuEvFYprom8Gtrrh7YD6x1YtMgPw2O3mreoW/gM0aI3exh+vOCxEDCe8UE7aKlwYELIj2uihTrm3qYLrXOwODFgmhQdRxsRkWEnpNrHjd51euHXgmASSX+1+urWZmUiIXy/9DfuL/55kNgiqXrbby6VBJGEYdfGuKum0lsAJ7d6+CHGFI4stvhgqkdDbjOYh/n0v96f1tcvVqk0944Omsnuu8WhixA7Tz/KeF6rUZFeuLF7DWkKickyluz1Ne3rm7wm3bqQckl9G8wuBINXm+yTU8bES2mcVEH/+2v2X782h+MkeqXL21OujNp2xi7Wdp+VQRIoLVx4SRRmBuzrTbX//fkyJheYE/Rxc6sa44nzciPKudoUBVPtx65QpGrmMdosyn75qvn1e8Bodh5Citx16TjP2qEnSG2ipWswA/c7IlV7sbeWb6drPopKRIQfV73XNBxaEdl9nPNuzycWs2xm9rLyXW9fv3FApY7aSg5IVmuOcN8Bu3THW9mAHjhhD/zXV+t1tRVEq/TurwMN8pzZyYvyzGLNJ4wH1EbDiMdX96VpVe2Nq4u5/ZxKDyshljdCekBO836pml+1J46Hg5Xe4ZZIRPAzHIrSpQz/qKYydzUrfX0D5zTg3Rw3UyGgJWqsjkQZpDRHWoGv9v721Rke/stv2nKRmT859vbWk9R6RTdQgGzwzjR2CfrQTkImmkS1iUFy1WLHcZJKIyPT8OsZbLD4vk09Xsc+ulvu2KbSTV/ygwaTRXCGhcXm8+HDFK21z9nNJhfgwFyISH9o616IiGrbIw7Mi/9WXlsQonHj5wDCI5rqj8NvZzt1fAAhCZFSmPTRFYSZrvuhKXjiE6/jwUFRxPHNz6T5NJgSmt5IdawssbK7U1oE7Gqv1frln67ZCakwaETXiOrJaAhR+aKPt770Q40+P+7u1k3SbvbzSaMZhAFHkHGM/1zcCEoSZxe3JPXjf0z///Pj3vdKEntrPteaPRsGgWRDsTV/xpwO1LZoMEWPH9/YOh46SGm7dnzzGXBQqAGp6EYYA1Gh4u6X/l9j3y+3CjlnXILvifIn3heTS+ys5qB5MadKI///e0vt++0jkQCyai19taTv7bDdvBOJpNoYO+zBMOOYu4l4L14QaSLFdJDg2AVCogSCpAzr1znnvki89yLBiowE9TMTKjUJqdai+B1Vqu+sTHuz5j0ZOzsyftY9mvDXN270Zz3swbD/z5/2tvfOnbmjlWxpQf//JFYISiqamXnPXmlXOccOoIsqKZqs3lzP+daTtPCJSJIBA0QlVEDYFFSmT/qCyvh9e62XPknjGCCYyXZGRtzb3ffVnpE0+iFkQEy7UpeUN41zRpkgc2jGNXZm+//3pVpt7/s/EAgQFAVSzBRk58CcpRpd47YDAGXPObgn9zQt9sa79/6X/O+9H1b8H4F0/B+BEiICaCMAMhMIgFkEQP6PAOkASKlASZkN0nYeSrb7ULazDp3OzKPMmkWQyrZE+ZyUZNcg12i752GlrGGcdrXradWrGuZVLvv0qhbrXmx2vevlspe9WfZi2fD8//Wv+mbvm98ZSv6A0QTorgGKeeYm/X7/9ooFSkutaEtQLGjdB59gASsgFew13X+zBJYYSZ44BJMv1hTXlDcPuvX//ahEB0S23HdnRmlKCTXUhBZ6EloCSGnSpReVplP/7oJMOWeH/212gM4dqPeZlBWE2cSsXqHe7uuXeGFMtuX/pN08wXK4tA4ewhqwQlalwqoUVivv28lO3zUmoRdGX1gwGOQxWOLfrP7bz2uYk8v+hD5EaDVgHArMDKVkhtIppIQc6pDBgFEjtJBDH+rQhyfOsvnWRf31LXzAg4GGgYWFhoFAQyAQCDwIPEjVDzSsr67/4H2zKz38+bYLLhgQMCCqBkRVQEBAVAVYVYArBRi4rYHBAQYBSzS53WcYNg8wxKxp3/9Tt85x5/M/xjHaaKOMNsooQwxiEIwYxCJDLIJNQ+ymIUMLMnIgjdgljTTKeP/3bvaHXegKlWeCVRBL8CDeoBIsISltEiBQWP/4qsyd6ZaJd7N+QguLpZy/FfAgIiHglRgQwZIghQp4Kax8/LTdkLzUN7l2Y3iN95w/7ZL9wTymXQbuLhNCx53PSDj7guR4PvSJz5w2oa5Ks2U7YhIvxYBplq6B/GV74nB/ybv+v4sbuCTQn3WshnLt262RvIjXfdmO+Jid9ZNhq8OYYtm+PrvdQv/P8OaUfjFDAqy02g7bvpVqKiFDRL2J0HYJ5GeLtiWLk0kw+WzzvI93vJbl5CUHT+9MKpN/4Ze+/AJg+FHoQ5qXm7z1/DQU5L+J2rU3KXyS74oGhXamCWNg/qkido2T7tfUAjoPTdGkQ0olTV5H5m431PjM9mDfHz4LhqZYCSZ/5QNCBiT/c34vCwf4p6fWebFjGN/X9X1tl1WtZeSHXKuCfYLnRMa9X+cSJuCtvzYynp6TDt8SYoenOvkTgm3x+ROzVDpOPbLPURG7evR2ACAEK7eGjqss9dmrDvWfEhInwgpBeUsdkiPWOXuOWe2H0IkME4n/Moq9LizF0pwhBddXhiQOzhHjry90cMn2/DUzH51iHf/NMJK1VMip3LO0vm6CLYXZvC57ByBTq+qr06idWBKvQH3+9WILj3uXB+i3wPLMRi/BZZivrURh7Xp9RTWnRxHvnpmYyfkhrqXqnuGIhLWJtb7oVPitSHzCbJiI9tsbOSWhU6xFsFaYfRMrhnjGd/vjzgZUVnpU0JQc57eCK3FjiGh/WqeW2WY1t+evWgb582+ihSQMFcOsr90NUo2eMOnZZtIzLQ7BvNwngM1fCuZViWgf2KpayiApkNz5NyE1KsB3+zOpMphkEUhdTSbn7Y3nSF7rXKX0BTZ3klNVOQ2v151/M9r3/QwQfYLdjERaLGvlh8RCEvt/Z2RedS/txgRLc0r5kl9miczwMMU5unXSA5sB+mcp050GvehC8S13p08+wQ29Ry+tdile3OhHgvxV46SYcL2MOGehjDPT7vnDAFJpH73yFeoKidOZyu80qHDFveMkGuXvXD2pxvm7B9l2+h3wSNeUNm6hU8mdgSaON5m5mqaYk68Pdsz22F5fSp+Y8LTBhTAar2fFwOtwZyTGKYcU/c5cZhf90jOu3sUKhxrwT6jGx4UOP4VVS8/mzqXHz/WYJMsn0Ejjjc278eaBMdJ7daRz9I4hkLD/TuJXnwQWfFSWoz4rBFZRr5q8j8sbsIrVKlarXK24+vD7bOgLH+751XUTy5F8c2YkiGEW6jb4CAGQ/CEMCaqH4iMxlFeDxuPNjMnV1KDyVs6MyTX+WOZj2+kqScRJCDKUnlwV9BiyuImcSH8ezDz0LFETZb9yDvZ2Q4mmlPl5UxAre6aHaDy0rXkX/H/GlXraxCxSfw4Xnx4p+cIfIWCDNzx8WToRFFpfiRxRA9bRvKHNh3YCs6m5GEYYvjRqS68ulmJBV9OLss1LNnvufsFZIYBlPiLVqBg+XRo9lF/3As8Y4up1KV01+chEebKQxol35yvDHnckY3zgTHZCcWavoVsJEufctGoBiSqQlawUWk7lJpCk9IGZch0xm8mgqckQomckgT5Gtz9BUREQAZ/gkQiIgIg6icRAMJKXo1sq14vk5SNMgzLwxnI08lLxypWB+rkspkAOUNqlbOXLsT09UzleKFTGVI4h6VMoat3zqlViFGbz54hdmWtPMQZwLXfRzWAQgjcS3buBEouMR+FXrzDzm4uGgOdWt7qJ06D6i8Rxfk6gEknt1O2U2j6uc1m54b207+H6Y8+XfNX+sMZ2eo4lklHxVq6wIBUnfR2VW1lVtVT63VbToHtV+rZlfpUWqZLAUOBC9Ngz2aAt0hNDHwV8AXZHvj97a7hURt2eH3aSNOZtRzkHKJ94vG7KpLKcvUWhRLQV67ByJYNU6O4WnPAKSEbcvUdhc1mKWCpHcfbxTkI9Pdi9z2TPhWtRC1YiyzdbrauBqd1sEEvVEohbRK/bqDSkw2xoFFgO7RaU1+19SchdAjJwj4p8Hgpm5bB+XFuBQqQMIKTeVk/y0mvFnm56/MCe3aO0zZz/nwt3vMb0cP5vcfZ7G5+Pwkvf/nLwBrww9odP4bIb9kIHdHoWk/giq3I9Gbt/jo3qp1RyH0xBVWiXWrL8QGwi/TWUBCdyTmULppj5+sFwnRE6t+xT+P8rW5N7sxbxyxv9u0IF3AhQOq1DLq0p7DNQR8P2xaL5GZk6uec96hK1gpeUXHZM5qLlC+D9o5G1ZwS/OdXqi0lwBqss7QKe93TIzXL9jAY9GFaZF01PnOfSbYdsJjpC9QX1Y3XReBrI9kXoBB0hcEiUJtrTvxcgYOPu9s55Dz+PCKdBSbtSj/bDA9NL69fNqOBzPAMlD4WWZ9cn+7jLV1kZb426VZ9HDZHI5S5ES4b2nBa+9q0/RV501OYb0xh3e3qg6PJP8j/Fcq+6JStuOK8avSxb25GRhqEUa1IR73h3+pibC+xGJQNpJXT3mqbIb4JcPm+jOTCcsftk92soLzeW87N5vumyYuwWKhAGvvh9rXdSmMkW/Hs1LJ/7/pLXUY0dwoMCvNd1bErBvxbXUjopQKOKRlL2H9OHhzvJuQy19JVN1+Nq6zb21XBc3aWj2f96kRUcGqXXh6vCB5ep42tSFNq8hywxHYapk1zd4ZPcihzqNqf6lSbf7FhGk4eOnCw8FZMctrgqs4UZi3J+LfMiq13LWhUkBb1y5p/s0qf3InX6LqXTaqqUKvb0Ka9mm0n+//inUaqppeFUP+VWn29z0vF6L5DlbFPvEqQT9frAW8N0T5tNq/jTMBaFz4ptD2Feinpf6Kfz5mDJtWEYOCVp3Bh5WNpV4mWVc3XyKp056bNZCaEnH/AvJVaMkJjUsUAun7lom9K8/+g49iElvFEbnsVLQjGAez09eebSSleN6d/Id1tcFepHRWtKAVPA9fi6RdTXMSXQZOSuUeMMfmnAuYXCHIeoNXs2z6UcC9/vBpcz8eNGBCbJPYS5WUuxuFTTg0G23TChRYHhemWVeArq1w1V2NwacUkEZexxsDy7bFkICjZnFLVcgWLAAWYJWAoSfRBuiYpxTeEMR98+8DkJWgMGzWW6cvhBdjKwsG3lxUAC+B0dJdMG6p3GlkkPLKIbjBvWVa7CvJB6uZiANkuB4pBn4nCRC20w4a5YhlMgU3rqeWFUjP7wxB693gNHwjQDRImUKxgHeSHdleA0PNp9ZAjiGV/3AisPXYWbj+x0p1I+3GYby6p2H0z2KRwyu1ZslqIuMJETyMMxGX5zwH15PPh5o+9VcMgUeX0+bijzH+V03J8078as5Z10OeWP5+mZw6r06cWMp/3G9/8bRV1bc7kumDrf0ZFr7Bm1FFOjhIYVZ93aF0iFsjubzf4j8X0iH4mAHwJv+gdonxDhFOla6eZU4MNCHWVKtTXlVThywD5Y/X9C6XIA1fTS5++4Hyw3WD/6O5/vrhbbyfdn25jn8x+Gllo52fFyr5NTaTPGXr0usq+D2s2Ir3iKdLDJN+cbHKiAkk5sQrbOvT8KYEjrrd2QhjlIyfPZ7EQlmqrwwRoEpOkd1YSdx4nuTAR5b7I27Pm3z0cHc2HXTArGUZoR81ZMEdbrlgM7hibHxzhfg3f7vJs2MNOiuumo1V5WHM+1poSvu3lYsCvg7r1gMQ2VrNsDdeL3S+zhiWn2gnQVcoomj07Flqdi1YLm9M1JedOQVgpKr6fhzKqxkaq70e6C7ZKDl45SunQPe5a2t+B6qkSBfSEP0vJIqTl65g1bJaRYmWi8VEZy4dkQj7h2rO0d8Tb15BU1mt1k3EjV+S12Yn5z931ZcBdiT1aShtqoyl49YfP7L79Jocyz/j4e/99Opm2pOgoPC2SNhi+8oOrJlbQhDuW7fZ9c/S/qYjuBN6BMmIRRbvGVLcOWo0CdYuX4GuZSV5TBQHc2TN3+DoiwWy1S4zQl5IPNqkbOEWJzT1Y2VgcUspDA7AaJDKhqKVBTe5rkfKMNoa3wkQH3a3J1G9Ud3d7GlK+/BP7sCpl0xyOkImbkGtphj6Wix6AJ1AAJwcIh3onkyadJAQbLirfXRTGlU3HXZHIGutIsUya4NOU3lNfdjSzXMDVcIjk8pN6mmaGxK9c+aPBRvagHPoN7WXI3PRz/EUKNU0Pb4rlafDyD2e/gsuautwBWLo8O112EFg5sXIc4uYn8VLd4lGG5lNq8Ml3qrpmuRObGd6HL2jJ9ixGmKMJ5qIQ3O/PQqyH5IsUEKeTuSbDVhhXVJMKUdkqaZ655werRjEJsHyIW7l/KZJ+VFfLP7eFe1syXENmDrmAiZ1Xb2FmIcEL7kI3aYoKDo/wcXe0hfBSdpBVTRE4T8REJ9h5QXfH61lILhGx9Lo+URY6Nf6YAduEkFncU9XgVEevQSNbikW15IHb2QpzgEjhq8aVzzDD7R+tW/FT/GLrtqud31C7LT0OBugjYbvmJoy0t+MxzoNyks350y8UKEX6fBLo0SSfvrDAzYfjeBhYd/IP9VpjHOFoqK9e1by9DJOssRHgA/21vWd2mIyB/tnJzgp7HDF2RrjUME1BTE1kOaoDntV6gfg5Ry1kGzO7xKERYvhD5Fkx3zkKKDz/USVRwmVWRdohvYyXRutb9Bv5nsNqoW2VV50rP3enBPGxyZLibBJ1vLFlmM3Vgyx62aqrQszW72GhU82b3encWEosfESoNZ3vqGnr1zOBOoks6F0gDaUqUHnSrBG0boTyoZ3UCzxF9l8ZHqieKovij4sGbJZkn62cZ6fn8Re6OVZSsF8qCnpiJeEBMPfZyFlJJvcpRl5Qo7FZmVaYwtVDU/JI4jtHyWx+LvmwusjY7ZC22OkpFTs+XlrO0vbg2Vk16Ynwmhw+jvtrOQC4CzlDZAA2KByaZF6GuZ0bJTyL8OQeqJwwLJb+lUCyfEy3ctBxVjZEfprzU2My7Cym2OPtyZIfnSqUhtvTuQlQM3oF9VpGIEnguXQS6hkTgFpEheOBm9GBx17GGVRs1lvzDsWMqCs229ib0TMIoqtirIWGENCqbpdllDXwB8XmASnOBC0ZRlB+q2JkS0p3H4qrpciur2LnASgWe5fPhT53DJ4glvqL2qSl3o7nWbAHgFVinzt/91xE2bDnLUHrfKN9NJiuWAea+8jznWCDtWkxQsenNlPykXe1oTb4HeIi1XV80pNJ2gZf083vO5DKDIde2Yk2GU1Z7ZwAyceX5u+u0Xvngc6MU5VFuu4Yb/0OzKsfMbC/xxdoMOT5oU6nDpcw4sJbmdvmxuDMKE2/chHZ2VvetC57ZH1mmkP08mYt8fL4VWilUAlLkkEra+7lp/uhgxMA4AdFl8rQvco/aKnI2DclLs5DCIfpA3sQV3veUBmvcsZOGYG5nlNYe1Coub3ZtlYK8upkhOgnkiu/2WVVqxn5H4EveuU3qvwpcq94jMAkJBq0ov60HsTgnb2PPNd65GDOiW4q8Q766uoKQ7gHVrpQgEK7vSlV6AGAINqwjqIj68vSoGgBXr+07snq6DMcgeqjpbBjITXsYyJRxjwF7QN1RbR8fydpyi+/HVuPXrwSHgZGPjHbqk0ar/00w3wTCvoyqQmlZxObonlVVg1R9WdgRalHyklJXX+ey94udx5pVo4Sy1dxXUx5UsLJzVipWMG1Y96JJi4YcUh4FGmsVOWpSxwV69aiplTZYHUIDwwNh5y9u2kgS7GR/wnNlCEHvPOIrgwMC111ZD1ExtVwdns2Qda8ycOt6sIb6sI7NYOk2vnfmktaNUFC9LnWvs8mpBVMB2rmKC+4K0jdcy2sQn+Ier3tDWacdMPS3WvoLfxFd9P9vIJhs48ls4BI1p4yKxOkhdp6TODSZFlbVW3ypDlIB10fYLabeLnhpHg+ka5yc4FqGPOAtmNHZbOhhu6LLaWitUfDpaXB5lBUfEXM4tC+J5ApLT1Fmo/Y7VEzKGk9JTZkPpaEKXUvH1QE9JK9NL6Tv+HrJgCnfbN4+Wzynhi1vYdpKozkAUimigv7Ku8UbIADkwAesVbKYuo5D9AHYYk95uPfpaq0age/XJPEmb5+4EStrCMUi7FWZpwFF47R4EEjUhKX1OpqRNPXp8/MlSVIVhJHlDNaUuaqj39KFl5xE1OeJKIuMRzxvvtEyGMjuDW52sWMjoEZDNrlljAz91Zdvx7R9/OVfmyVS3LEtXz+QxsKRJbXsdFLKbn5ncbEpWrXYJV8QbKS+8pHggqpR68pKmWrFh+j2HnMCY3IXz1IL781Zo+c9l6s36nKyaD5Sl81bAN4JIg1yft1MO+qMSJ0k5VzSzV8DnbIyV6gVCTMXJx6QaP6ZeyCjiAlUDwhZk+jpoVz5e5IYHoetyAXbBiJ8isIBHhhgfZ9C3Pz8UnrVBHc0NZKI45RAVXuPKa8mMQW8+NwJPQTThGZIJ2QeKRhDPnhX6pmqlVto7WzadNNdcKjEhipob9jwo+EeD8qyikjyRR09fT2a/2d1TDi6EuauS696NguqZqwyOWmJmWu+e7M+7fx1e6/lidXufP3u8WQLpGgWI425v0bqzWvYb1LC7vuL4tOJM9Fni7//H4OapQ4pYoKxXrgsMxka55WYnmWqJ78TVZtCDZtZzjAWwqgz5QtivtYCHNDaXSLWCI9cSeXEMYVDlm3Fm+EFv+Xm5K07JXln3K5f7D4E+YfX6dbSjYaGIlzVo2aPXm91AvaaxEK0qsPB2apkpJnu+lO/X0pWP8qjhn6RRxfM1VAi8f7Hx88vbDgsf1hXGao8qYFqabfujvyQkI2k6pbAHSCRpC10X/AzkBNfWLtrH4wc1sXIGkmtgquwAEmMUUN/p7VAx1cYJuAguLXNkEJzbWqQz0fXWgTSMsl1mf4yN3ep6rbcOy3hovvJVxyPH/xXjz/cUuNKP9GT1BtOW/XqLHcOLLmdmByxPL8tr1HOQG9BD/Dw+K35nXdvenjI6yWdDWLZKN13WanYwgbG7IJlUoXC6e9Tdh7vcDmnOhkaPgpdBYOmGNS3XO/qOvzvOhevM+9Y27jTbZp+krIeuPLtGQfV2WgsTgGUbxdoCu3SfQpZAsjKhfFcC1nrP6iRabtn863miK6SuqbKOY07yRpR/bCB1VD8dIY7bSCtvlbORloUp5z64CcEmTKmlumvKtZmZszImn4VFRrlQXYkWhUQF7DXGvJMhsvb4LL9NsfBhTfqwGdEFfVmYDGwIpSJWCawi4m8Qa19aDJRsVLDep9E2dg7yEW/mKDTN286FN9wbkXDcdLM1skc9DcEtQ6rvlwPj10Fn9EcD3LyOJ2T6u67mbZqExpbhxI05fKBG7LGqmpMaAxHXc8rgTFqKRsqrq5h68lM5eXnjFHDmTRdh1RZFjOkYeSW2uAxYx2WwR7I0vSeGitHTkaqGmmMXFlSW3CpdayeDObjxwGG0ydWu6dkGI8H/OFaRkIQg0XrGRSENpetEiQt6O4567PiQZe1LNDhdSiX8iHaW5J9IqVgyE5dTXEPhmYX6Sxjmc/1e2QZvVH0rVzpPMqHW/uI3m1UcnaTcLqglq9AJc7Wr72cJbb8rXMQs4P+G/razTjhSZNwgnpvP5bZI0lbLl3FThdQHGqQg7t9C8cFbg5vkYaZlk2/gFxJi0VYd97tIaW7l6qyI4Gbfg23LHBbArHBHNNxFBztkqe2SNo7PEmAi6GREol4qjmTThFzPHV+fwtTM+kqJNcSzK6KooeXBbgaHCmRmMmhOwVVxD87xHx7UGUqOFbWcn99dgLFtL2WVXLNk4A8oHNx0gSpbeGCqLkznnKHeULMRs2JGFqqesH+A34yNe5v/RsJeczj6JsvRvdeufDAvLaKNUPVTCukOU9zqOH2E/nINwgpPua9oZ6HA36GG7kZiO8bA/M6o4sRg02PkKldITBy5sl1MbZOCyDmB1hCD/NNhSSILQJjlRga+aVdH9K1U4EbfA23KBChoFG+NlsIGbFlwQ5Iyg2w/zhqnJHNRAKYCgBZ304LSbkBupOQAgbYn0FUsmrnIBbHYf9XXGuFFRPgn5T762kWfZuY6FMhMc8wmknuhW3UfmiLvBlCb3muVn+jy2vw0mFAUXnL2jQJGr3ceidGTdxzBRfxPLfk5/MC7eWzV2aeVLsZ3WnnXEZbVebdoKEOBAcfunyNaBoDGNoB/fhri+OJNsFNdnuSkFdxL9gRF3WvnkSnjqz4Fqz8mVAkxz6HaO12i4KnP0WHGe14UHJhSsdMdcAu7aXBKGMmyeOXflfVc4G45xt7KvN/F+hv2lcLPbrTcNajqVYlOaJJXnhUo1oVIlMt9gLde6VGRrn86AxK9sLA4wR++eudMxk8DV3raElK3OX0uzgpfzDOmy22aUta67v1BXVAuHn2ugHN50n9+rObzCs9Ye9WV41BQLVE2Aw876V9Vzg2pJLgWGZuIo9NVzu72D66Bhrs8L8fDXbQ/LhTnVkOp3Tn3LhHifcWPb7/5tyv7F/XaHM3DebxiLmSXBcO0FzvRuj+OpwzDqSWoL6xyStlew29Zw8MEnP7KuMDng3ezMjSft6FxUnJ3RparZR2pyGvZhiOnxkmQ9yzwkoD0jjNvuqOpZlmDWdXaoGXe4h7SvUmqyB1In19xJdVj3yHaX2IMXt5P12VqrCNLsD+Teo2asc8tiAdP7lF+rp9UR/Ck9fzYgP/nsdbM1XLN9hch6Iz1Pp3T2W9aE4DFs3pqzfHYnvlkn49GajuRB38XzG+tdI9x02f7VHU2NcZnvtHtH+Y8qYll8fuR7QHSi+CIgHx31KG+ir3DeuW8m3jweoSDQGpeeX3BDwbuCT4ZXQRAVfcJ5F4/SU94shphXQqg3x2/bHTpjalgPT+iC5lrVhbhJkDOYKzyE4olA+pcrfIGILLnRmMyAljUFew5xSrOjsM5JRoNIrp4idu382DQ/raqLLHqmX+cQyRHcbCImm0h42M5eAiHL6cC/45+ySq1e9TxYMGQgrRr9qB+rGKifdw+G19+StM08z4D2kaSi8PJBbi/EChPVeN08WzA1PBApAlRXVsq0vwV0AZ6cFWSrEpsTyghmR84WZMhbU7LTlxVZKrPyZP0o6x8PyjPFED1XSRaLpgrg1lzAZ4it90hM4FNX7JEjJ8Fh7DJKTKUavSKxp58MmAOnJXBBsWFbbXvPkTQVR6gJqlaT6iX0tBhVBGiPwiqqautXn4F10fPQx+x3fpZRbhr2lFbgXMDNRnbmLv/dPHkPpnZsps+zHsu7Iz0U8H9BqzurHe21rCJtfT9+AhikJKjFRaH+AwcE5TGJuZvno10PUkG7D8znCHnstPLdqlutf/K4zlkwo0ChUTTWBN7/f084IxwD5RaEpwfz23iPiQX+q+1fgKKeHq/eXDlNRycyk3mxck0xbb6IhMrqMtGDaYDpA2GztwPXp25DsBUwQY2xkSBaMH1cbTwnDdHFcDl24GcFxb50iOOD08tvkIQraCvsRZ4pjIiAZ/nxRtLj5py6PqjIfRhrgOPk6AFXPyEdO8rR/vVx3crsBVBdzR13BTgasLiMDbSBZYsWxBRpbiIrbcjGPJTGzy7fWR5Dib7+wP4Gb9gGsB5NsBAPp2QEoM6KHJAbxCBP4sOkYFEfik0d+vZRbd0Nme57h0wEqoAGTPBGLbwIOvg2unYlXnj4gbjWQPzfZXUo4h8u8TSR5I2cEd12512fWpjRMqus9LCYZVMC214vF0OnzKGBYZOZkuxCm9xkt6ybF+JhaQdTmNPWCkJHYz7b8RCTzEodiICPtoBKGAaBncaRJTj1Dz+pYRKhc+oEISjN7uPSnIRKCbds+9/cZ6+Dycn9za18GhD8d7/zRmAWkxfjd8P30Ulf1pV/7+nsSUya6+8Lky2dWZeJptuvLq7LfsdokMGAPpwRdMAPLKYDL/pB8Y2QOdXVdHVD84/MqGG1Mexj3IlwGJvj6pM/7QEE6fOatokFh5GOY8JE0//PIM9eLUSRE9xiszQbkn3LN+xG9bwUg1uNgzr0/T0Ki28/+H9Cl6Za26+5N5pzjJFPR0H3FORtYnOO5PCaymQ0MfL++JYOovkf6mZooUcnqLvdoJH95E/8lpnOIHQm9km1zE/tSb1hKXPY6roAmG985KPcu953G0NSmhMZljtjQcS5upm8sSJJUaiedUWvQ8JuE3nA1o6iPxQ2YhEwPdjD49EOUPxNfT9y3nYLkpA0OVwf0YBuReBtIKo54MC84thuteM4AaB+Vmc8C1dcDkCOgny4J5YLerN1CVhfIgRCATdgGyqvC/d/DS9gWuU8Adfg23IXDNAj5UN8971bhZP8e1BqEfi/NTQ8lwLCtCSQYPVd1T8hW1/Rcx+6/Oj/sv0/Z0QcB+cC5mFiHhuiYQy6jWheXknH+gxbT1EdbCXa4L80G6YI+opn20QJMj+8k5Pz0KgZ5DpEjIe3CufcMBYUNEqhz1DwIQmbAj5eQcp2evniuw2paiBuHAkA7KM/sFMe3APg36OKmfl/WofoWM/MjYzHPR9XlgLpgawm5Wt6AqNj08iABkwg5IVgF0zC1yu5osBSNCNkRSHNG9MMSxwlPiWMPmMc7sjGHzYS5T1/u4kDoQO4gYECPHwEYJPcAf7imPjecU/YkJDzEU4AF4V7kTth84hF0okGHkHyaXVCP78jQPGJAeo/lE41phhCCaNye/beGRVWw86H4P8Ps9XG955SmVVzcVrvrObIkz61WTRo1gtiegSzweUCl1pMd8Z5+PztIfHtuSRb0NGcXgSjqeq7nIOkaHAuja9n+nCzgemXPqaUB1imWePTRGCE/i0HwxDzM7V9I0sDj1sp7pTMgRJY/W0CrwibekgtwU87N0bSx5UWQUJakN0MoSwmaSsNnjeRkIQZdEmg1VvmbSBjH2UK0iap0FW6zhHB2m+Rj8t7UjTQjDz2UFZoOStOyQOvVuc06Ua+yadxHqWhx0L1Ui0Ibi2ZaGftK4To4ycui1QaaWoNMg1Tt/HO4wadLnPZN16bxYZBXHjFrXLEI2VEt3Lv6RlnaN4eM4qw4oZTcRgWdOWoV0Yv0j1A87tmr63lHzdAOa23pJTJ4NZ3YrtSymHmwTa154ja1paOKaXX+3Cxi69qzlqHemh8uI/AUg+bqyXbHGecvV1Dw/OX/9Lsg5CEaRyrnvxHTDhNqILxDyo3RQzjw62meWEG3SYG5XRxXJtXP2jyn6b9ZWeZ2Yhr4iIRKdtOxlA/WWXr+bbB5DccvoE6f0GRhlnqagAwo2yPmgNo4KsaeWbT3Cy1ZUVrJjvUBZbyqjyiH8fkt6+3y62kpPp1cUEIjyuHvUoyQD1T1yubBLe4B6TVf98wH/5d0NHjOBxZx7TOoNPEMhXipxpUzZgLkQl1c6laQEYX8KxWz2DDQliPw8lH7AvVU6OMTNn7Ge97l7QlPdRRVd8aMs11OnIaDaKnbJvPvNHAJ0T8qg1cY0Kcn0pi8APCgEZqTFOXjuboRPS34LoG73/w7m5Qs3/9f9tMQx82SToCv8Lj0BVsNfT3OSdZ7Zpf/3iE4z1SgviRahPPD/3HbLOxyee24YLvN37jtnnN1c4GT+zM8ISJXSa+HHYGKVu5j6KS2mwjRrxd2bWDQmovsLDcRheGcEphCQUspDgynzQBliI74HWj7x7rs0zvEzh5+xVulpwL4ublOueU7fdzQuY4gNfLStfcN5hoyY/mLgsd4XtMbbsrMo5DkZ3cTIKe16Z9J2M3nrYLxwvZOK7O8Yv6Y4H+A3O1xMk/llq+jrYNTxgq6N9ycftai909A4E7Ieumupnsy7RMeken+ZLMe8jiVMy2PC+Ds8L14yjsz87OVfTtr/6y1pD0jclUii5TNWjAt2B64e/0gUUh8q7s7TmvVaLJuXr5P9Du7PZ2A2H694xSCLkSz21vJombibRpucJVuvfmvbY5ultjV441l3JGWv4FC5xdteM8OJR8o4dWnmg27udsQAXvx9N/3pgmErt5mWnCnZWqxNviR95ZmFTwp88szJ6+9JE+z+NWsw5wKYxZFOsJbS6TZ390MnhvKWDJ2f6r/ZtAMGk59Y+CkmSi/3IWHxk17E1+bms2Iyq/v7OSQpqsf3zA+L3X6ixXtZyotE6DuQy1nGJq4x8mPtDFnovistXmOZnK8+zz1fqTBZKSf/4qpyDu5qm02QziCCmSVYbnvVaRxD5ruRvslPPUi3mkYOTCZjZVgQwK+18wPwjdfO7g8SiXHJiRzkwpxrekv+GeGDV9FqanmaofOlIPSkPnMSPjBABR2mKyHvommHS+Sm0QF5gXJk6qpj0d8nqjxdZz6GVlQOOt10ZG3UvG2vOfpMCOxnsOd/0cuJ4j1cO/HruxU3JIj3mc6EWe31IyJOlgqK7534MKBasMt6MBnM0AjDXmkCZ8UJozWkbO0lSwdvlfg/+8/Ve67mpmge3VSL5i7zd1lExF4oGLhr3/arRtqkqrCYtDZvuKRwc8Jws96yX2WvzJa42T+4w5kXuMVN5CNHGjVvluRthZalCFmNB4QWkCYsHUoVSoMlakaVgNy23GeiMY02A9aPftLMtUJMyLrWLFu2WfCWK/iVjq3Ocmhlp6E+Rs+YYoRxMQzP+0CXNcR9wNv9rLJysppMfl26GfYkRWnT1ryqzgbuHK4qh+sax3qeTNYHTYzHLnl+dm7hGtrplxD4JKFeB3FXBU1mM2t8HRlC2n0MDIT7gfeD+IFUmyCGkxZXUp9Z58VRoUzODvW6hJieqUDf2yCeCXyeZ/pU8iSmEZ6Yq+NISF0UlXH8eIuortbPpsmFqblHtedOl5NfM3f7Q8rxzA2YBcE3rZRrUcCnijvZDTllW+fLz/ITQctvL3G3TxcN7ef3dHa/L7fQD19CUAWQFn/hh9sli5MVq/q2nDzWqwIceh/e2l/Dk/sXvovls2zW9PF+iQzTGXi6OctG4MN9uatixpt9Sof+kcD8negw9lPrwJjL/yni9L//x/m28xcTvotrU7TgxC/vgHFuG4upMn2Ba+xJ9kxBipEJ9r3LfTuIjm/jvSkU+xcyl6sr+H36WZtgpSQtVVaX31ZlFfoLhChNlI6GbXWv5pl+W8weoBbCuE0mNIzNQx8XhC/Tmf0I4QoShUUtam8Y39JEZtn2Xb/+25ubznzerzNp1/ydkKzvvGaftg3L6QwfKU19NLZwvyDreVL185wEQA5D5g7Xh7urW9kdQ3YRLzsuD3e/6/rqkITuTn56FFyk4+HQ5/AiVbqLrQ9IV4H51zXt3gED32E1qU/L4dR5u7jgcOHcXhRuiFutqRgASaeYa1jpGAcu4GFzcHAB0hdooAXeEJh7mCVRYszJw+kBkgLDBvNg4gmGqGXcHKTBg8TzVhW1lwG4/DRAurROOqteQXOFX47CmwMMjsJvJ8P7/wdPLU+jfsEaCA2EFiVeOu8bcQ3lqq9gRam0RmTi1ZX3g8IaEZsqRGNZkYQG3CsKBUFYuNlFdB4JIW82lWgt0W95P4fgNZETzjOWE55TdQfZ+AWyiOcCny01Zg5rE6kpMVpgIaZJrC1TTB1cg1iuMc0JUjJTDEmoJBsFMRCmIq5JvIOQVbCFmimwAi2T6SXGZbJBYJqSj4DmFlMhYDyzWEaCrXgUgBLPLKYqVgWPxaFYL+hInpHEBz5HJM9vAp+KC5c/PPUJVCPR5MnsH6z6QzUJHidWE3mGP7HqL1sXPM75DKXnkBesCraNsFZGRHqXR6z6oUZYG/9caWt8ilXH6CS/IxSsmtO4YD3wEUovHhirhGYQtJl/iFiQaI1kVcVVJ7Qdf0NpFWmGVZllK7QDV0TuPH1h1ZJlFtpgMZF7S4FVN1wVQlvwH5GW9A+rVlzNhIfMFyJtcGJvpKjuuTLhoaPx6gFDHklfWLXhahQ8jHy40jpKh+lAbcJ7NVIVwvvlSDUX3q9HqpmktQtUJf2cFX409OZ55OHz+ecSdx+R/2b/8sL+qB/NbR5+Pz5xHOVovmPTy4vn92xMhsgTG5Uzq0d+9Pzu9Qs/jOZW7/gBnXj9m3Nw5vUjfSvHVndse37z+p6t0SzqxFZpRn1LP6cf6xr6ic31LkK3R9fF4tTqpkTrXfghegBKKCgKFQ4RPU2zAiKKpwlFIcfVoQs4pTnMUGShJhkoIuE2RqGyo8FuoVCPH6YNXS3SFopOAwrg2I4NjKDNaOhMIINGB9J2zb3mUNQj6iMFUs3uzFvCbUtLM6r7bu9QR3OxTii3FvbeCXIKBsgFJbUjcn7QGzh6rLOjQJlZLxDHYccOq/AMu4X2YpVThyCoR3QZyYNGh7CFqropNpULHUigN3CvYZNEh6B5fjK1E4oi2EDREKcxKSFgkaBEYKYQUmEDR7FOYD1Z8imdt1CopxUYpDmdLIojmQiLBEUlOBOhcsDirP0KlkBRG5pL54RVkyB9vPN4GlPYBNKzOYhCbuBQxID6PhpyWpEZw58Tq0bN1VhChBHy7nIGPF/ODXx2JKTMbEeoMKKhLUg2mcGRZPQqAEni2o5YdUz0C7twskEW+j+mWULTS8h9Bnu/KTqgMYMiO3K8aX47Rw5BQISD3MCTghHqBI0Zgp8dDW7vM0CBFnIDlDLC2wZiOHOREnjZnpjo1yIJ6js4yVskbUTCFQyc0lGg/loRan5mRV3XYJOvBzg+01LIugH3lWBPs+woJkbnETKzrJJHbl2DQha5nM9ChXOQw3yxQLvhXYqSvtws4TC6mGZBOtwUT8fc9zAdscz0bFyQuqML4hp7XTm7wzXp40MrgezP50wm3nHCDGVKhboTO2JsV7IT1qYj9JHNe0dpJoh/H+/vHOiM+v534/v4cYw9mFyUJ+An6GY59iga2eo+Y5GUOEuZQPp6z3gnEVrGX+rJgBs4lgKihRdXxHCISEW0YWxAudD3BSmewY4H7XkomCahMF/0asurwUqegS1UeVYWwPG1Y+fA8Se8rsXRAJAH6ldxX2m+HlCwarjCCIUUi8VhUSThGJHbVCL9Kqrw5unuRCneHFjKvLfAcZcVDsHrqDDkyxxCAW9fcOlyCpc7QwI3IzL8nkey0EEARaTo5XifNLoejvq0T2ML0gwsr7gqH7QbBo/vFpkVJTCT/pnAVN28Ax8kFE2fxdileSej0A9gfJ4ERYPxC04EkaOgJBzezoaSNsHu/U2EBXJBMSJmUMgkbEKMQrO1TN6/2teqQwKrRoGZOBmkml/36Z3mdJILdRWGbiD5UX+B9kTsOYiebJFFR2J1/LZCB5EHP2IUtIJ3CA5qVTzk+FBR/pcWT9OIxIWA740a2H8UgoT2BtYK8uhbKOBIYIaeHHhwM6AoTxZTpw5QxN8Us2sbc2CGQiQolr+hCVTLUJUKrNVG6AZ8RUGD674C+AaQZbROIyg7T2NS12S2gP9japJQUTlfQtFQW8gkUgAyN2CwoCWNx5S8NEADhTqSCeRsy6TxwAJtoRqEt8Lmw8KIQyNEzmfhB2Ox5BfheRXzfFIocWgKseQ/RZ9PC4d06GcSd/lrcQdPL420pLNFdtSI0zQW7DM1etZw2lOoHHSzAKrNyxDFawvSaQD2Nva3qnlCDAcze+/DpR86OU2TzptD4Z9rp6BHB50VAD8nML0V9cVrEfdxdHYUKKaBzaIAwI8+eBGNnEz/VySYQwMsVQCq2KBACwWugIg5YAsVQb8TwMjm6pSPGG7WPyFi9bQ+AVhRAvMfIqeDnAfM12UoksXAm7z9/+zEIVIV+TQqzpaB1ledn1eOiwZSajpwnW5Vs8A80r0Z1Vl9Tabd2SJYHYQMM0UzYOuu6BH397kbtBc1Op9anIxHFdymaSRBIicngjZZp/ehTi7CnmbRmvHwv6TEYGVhQRmYk8DA6cIcCXwoZEIECjofeqF6GhRE4eaNuOCJ110hSzwcNQxdgKKcDeLoboIdGR1GKKQ7UXPAP6R7YqBRR9DXTblQfjvVyjxuUw/yACYH1Ug9AVmcTaS3tr8zxxuhWR66EDklBMS1AEf8Cg9wYQOkpVHffWQoMD8PE6qrpRrN+e6I048IAz6VLTFcaqrbNIWonh+JcmF0AzrQQQLlyAm+EgnRFLLhMAmWjfMgBIIjjL4Y9JIVeTf8CJ0wsEtyp2NtOMhXLlMJ/PokVTiPl2uK0dkUCpH6cNTYdD4ve75L2l3v214NiWQwZ8OCJubiw21+n4i3lu6tD0Fi90UXe+2uhvHdYmpIzNiA1YG3UBOnI4ajhDgnaDWgTPpjQc20VDTF7XEJsy6vEuP2sJtBA85wrOdNg23UCw8NMdptcxgH/TCgMZ5ksTiFlTCknPgK2RCnSGdAP5k1Dhaht4vTQouQ/QY8oLS/PAQsVXxdD8KAvT9+KnwGlOIp4cdJUXsfWfiZylwDmMLFTwMm5PRi/g2RBMzHBnRkNyNY++nwMIrKKk60e+cMiNd3zgA8AONiHFy4AjoOnYp5lMw5Dr1ZOuICcfA+VYzYBdP74gLxpnf7Caf5Qx4vE8l+OsxQFAp3eSdonkKtFxAY9KRHj+5YaxLkHeTawXmbR6TN60aUERb6mEGF4ZXYcuAggWap7uyEHzjhDhLwfy0d/nIzvFxN6UJNDdJ0aRFfO1gcUkdXDdFFBdo0xwGPlteGcR6wX9tVIJOWEZXnmKiYFjPPBpYk0mqDsf8pLpepD9TMhGzEgN8jCmxk9IEJorDmk5M+9qrr8zHACdSWxs4mG1RV8oIx9SNq1FYPh32D+ZENUNgX1S4AzeJboh7FuZxndKrI8E4uocAeNYZeg6q+huePa5LTXIKCVIMgjHAVd6XyMqqO2TA2/SFNzR52KUySmSb9vzQQvEI1W6kmZnkd2Uf8qNXObzlU4IjUo0DsLOGwMNxUs6mhcFddBjCYt3FGD6OqDLdoKRcPAHfJc5an/aLMoC0v3DhyND3ys37wh9EcVf2/fh1n8fmSAj5o4yOfCkd3m/P23bdfsiO1hlDwureV7iVWcGlGdbpThWM7jXKlezY8arDRj1nAuUGIie5tqMcvbK04TklC2GtQCcQpS8P+wlsbuFTANL+GWLKi1EVLThAPrWAIPVNAwLk3NO3TvhuaXajp7ke7c/LBKwXh3TRSm+0y6mGxZxpMxUxTccsY1KThNWmOH6671przgSDYi3Dn6lywp8V/6Kff6O+oJTF07WL4SIPrKJoszNV/LJDOZ4Wb4ZiHEQblPmMIrwKy8zg7r3SSXNwsDg8PJZgbKt4TDAH2ftFazVQhI7BIdIC9PuShwkVk3SdurwHsrRCN60kwO7eXs7VTl6tp3MHlwiLrxLZlXOS+6/jc/2oSoMa1w5VgxPoBb7kukWdALRyW2aLs4ehyYi040E9Sncbi2kxcUPhhicaPLKAyJoEma/uliYwWPuOZatuCSRV/CRT2qui2ajZE6LGHD0xQK7pzjS6w0Bf9q2APxDTpz9yihHjyetFVMcO/8YpBYj7V1EsbO4h3/rK3xKFXRAKf2by2sZ06nUOkKia6ERGZH4aQ66e+NSN9XTt3YTVbpUZ7b8JUaGCI2cYQPzE0p0Ijnbua/jMNEBGRf4N4O2XgAK3DWS4zVl/NlxHSkmBd251TPFzzZuWsUPskHaCICBexkNETF+FG4kI7OPqJL9VnnxdX4IO84QaMICDUvCOhcNloIceuvl/RqeRSE1eG87sQMvxmRvXUtWvaz7E/iwMifL0jb9GFk6rwU58eyw9MKOqup2NiB5FGasYOwKiWzmuduCOmiRtpsAzmR49amGHREWXMXaXEp5BFh+qsYF4qfjkHCCzabS6zi3+Dha7wDXJNk2KhsRCbMPNOogKWzAM07hVyKj84BzJ8o9mUmqAZ/Mu/pA8F14sWTS9QlOTiI2mp3/fpTuAu2zHlOA8oOMH5jJiwL+KivoY14KgOCSzR4UJUkfU7CpVK796FBTwQzuMUsFilWGsk7A1zrx+ZFsdGLnXOvR6dmw0Icfm1MVmg2zbWH0s3lEH0so4uPOhIqDLpPXE4HGQWrjXcmqGDbd+9yNHgBYf5wLMzIt0L+2pANgwWDWYZ0MuNZ4ulo9C1b1a/0FL7R3vFtgKXUY+oJ/SxIydKhrv+TLDamspRKKY6FyCoE5jzDL77HkOxLsANqiuEsQwQmb4/J4zkDPT6MAZSd431wm4OkIjgZ6+vY9Xu/haS8NcnfU4DdYdqY27Dd+RRiuOQQyT/I0mT9OHeII4rc3TJ2ZSEgxoKsPz59HZUar7PaROPDVicBTRmT4ajQ2hEGHBE9pp+1LQOB0tRl/+XuzJUIEANn4KxXKoDGATVSQtqnOghr03bF5t1t8L7rtt7M/Zirgu0perhKEP3c5SY8cR6fRLUKKJM5HpwO3VFf5sTzNFgfAvk/AQp0SXL/sEK9DXNKSV7xpYCM9K33GMCVrWUzBCIcYruLiPp+r+CMYdga46vpiXFv+s11pbmZrCE02DXzVysh0VLg2T91W/IzeUEAllyyJV63p3z1IJpk9FERBu1Q6YFGbWJYlBtrDwFCzQ+nA+f300lOSmIqlJ74nHT9OErEXZeBzAPpIYBTXUCaABqHg51/IuVA322CKcxNN6i2FNCzClHqQy8dkPmtpX64Lsxe+CpEuHRM5HAEGgAOta0hpgAft2goIAyaTwbjnKuvaGddwDdtQbHAai75uDEwFbiNOEyZx0FoPZLOrV+6aNeRrxCX8B6YAMDHbhgkmIMtph2Y5UwOAKXYBP7tKNf9XtM5UsEoChuL9TyBOcDBzmv+OmngsiCoYYT4Ca5BsAMJSd5fH4AQ1priREC9VAjbIOX0z+edEMkRzqaE0X8QLd3xXE7sdSLqVDqozuaBo02AqwBBjYl7swq2cWRlG/B6ENSW2ZoLSSlYgTOzbsL+ThiJjagKRLrxCXwERYNUbb5f4T54YPuuXDPfBeYw/9/vmnDOowPBHjCBayQjaMBXBwHeypzPSMPbSgNHPJazcpAHUXDkysgutYoWl3NKRfYdEIkU/KFBcLpI41BvCIWETcEnnEurtB7WIXXHRJTjdYROo4z2BhqmshmKC0yKldcM+aJKyRy+pdhrq4jQY1SiilVfCzFp1QZchs1yQ+WhAPvzdcmWx+OVKDJrw9lxGFZizFAk8GyB4AZWNv4Z6CAtyYbOpisRuD35TNUYh1+vYBxaJsODA/QmKIEKU8KlClTH+zVfPrSpHF04S7f/7W6uOejFKoeJ9+O0BZT5Un+PjZxkluVyH0aGgHzoRHCWmdTzBaYNpMJ4XLrpfpyJXpdizpgey4uHFCIeVPm/tyaDFJVC2wS8O1Igr1eGBAaL1VBZ04xitFcJAqdV1Eow+TdC5XiUg53oELJ9caFBdnaOJbiFJgpCW+lKnrDrst0YNAMhJ+t7ELlGm6zdi9EZ3ry5BCr+QLnbBHdQmFaWthNsXc1ZetBldwZgn7nbifF24rtUl6SbBqVNnT4Hef5XD5szXu10eFtGSlgq6k8YUM3A6b4BhCB4NRCQZMwPqV/qcCZr6OgNuxvztUEsL8M0PIC67UoSihwhWl8Mx6CsLD+3H37GK3GrQ6FuqZhZ5Urrg4jwH31siOSxb7lTOmeQ5Bo+yOV/VgjlT/YFa/i0QFeLwJLFhIkTtMorMBc4AzvEM678r0ObGudjYTx6I0BAvGl9jIr0Z+1sZL48qIQQGQavlCcBJdtDyFgVG4hcRtnWIqX3N4JhdfYEMXTE3vFn64hYGmwSR1lkUmtR3V2zjpCi1okUSHT75HnMYb6E8swIvnJpAPJbKmaNxm2mjprhINy8ayj8K96NLJ38jDZ+kobZQ8wdrJdxqFl6pGuexQiY4pEv73qx3unsntemgurxnAHSeWrmd/2wikYNZKgPAuJUltSLNmvuxp4zXtIg0+g8sWJGAQBfuPPoNU0AXfW1jSe3S6emT9Bz97DZx8RnJMdzmRN49Ht/0aBxlNyZpsbv91ZWlU7EvWpJv5D+W6daIGR2iz1uVX5ICHW2RQKtQ20SU7VVNRGbunMosPv6Q/+1GZuiKh6vT3WvKryZl7IQL+DKkQ9bdkxvsgLFzhqvG19FgUxCrWsyWZHVVeni1pTY70QHRduNlOiacz/ZUoxbo5TzR2gIHrg20kd97vgOpJv4i9NQF9JKucI/5XhZ+aNq0KSRt9TUwbsTV/qtEFA9MlfJ4sHgjkJPgi5U2MptBolwN4t3pJYws/LPPL5pnNs4GRWBVyaranuX1IltcUjEstYTbrvv6XFoghNFx4EX34q/S2r+COtjjNxEpZDb+sytF0d2/eij24ZUovLRZhnwz9mhe+YX3oSK50NQfGSW+WTAy4ifMjf+MX7k+lOWZ4RIlTfz7SCbq3KIxNMiJ35X/AUj6X38ygFv/MKxf70NClMMVLLS6GNiInwqQutRslKMqIazTx439DnQYN2gvxdmq4EPkicPDB2rbf0nkOK2mbTH0R0N+5N8/fqa13sF5/xA0b9SGRS8/dZJ7wflrFUpTp92Wq6AJt6hgntBtN9olNpWP2E8amfFkNbHyEauQo7X7ZdwXvPN8FD4TOkntDYy+w4CgYXRplbxrgHirHqkqdlu09v6/r/tfZpfAqDc1pe7HhUGa09juY02Rb5VHV7hBFpI8eVa22Jm+YwTTup+QKW1QqqWmOmdxcz/Oz1jWiGi/08hARVG6qA1UO1IknKVOPd7F4VLvz3C14fyROwavy0z2cENkjDlF5iMGzfq0kRFKc6wCEpjr6bRjsILMEXww67+0e1XmTDy4EYvGFRb7boOtqVWi5eDls1en8OcNHx4Sr4D6rxvg9Q77fK+X+Uev+uwUY5aH4xJ85ppqp9n6jURNq2G9+4YKWWX7pbuu+TSNeygpXL2YUiyRc25X9aODEK+YZuSEe0X/9DPz5HhWOYGnQQxbmwqjtBQ3g9X2wQBw/hKNdDZGCLrVXFSTU7mb7xLniE7hbpMozkUaTTkcZt6WatjyabziJtgNZaFsQa50oaI9oGYPivIbl4REogaTZ9uLMW6LzbWQy2BOCwf2T7IInyRYn09DINbEjaAIp4ft/poDo7GF3mn3a7XlLG/+LfgJ67FlgVbkFuA7ORO6f3TjrG/FF/9w8f1GkLov1nzdSckFWRPCjmKEtFT6+T3HjoxPtEROW1FcR0b2cf0vm920KeG/1nP/WlUkIecGz/raNK52ZASW4r8KaujXotXmuKx8m4fZabqyjmD9amm4FVMkrkpVa7lBf/RILH9DhXhkenE8l/3MT0MpYnG77UG9BcVr8X6d3Z7/XX2YbEUcHZdHwJb0C929L1vyqpKQCGnJ7cm7apUeTv/ZgHJpRnkU6wp8d5btAhnjvJij3Ry3gI1rgW8jiy6TCRZ7ihvk39+qMeyvc7wW02qLEobU5OvfBc/5fcuT/PhR6l/+WMqPvLeyFd6zixzDP+stOatPlZDQzZHe/5sZqjsZzCgNv3UaiIhbasbdrFG9HIL1lUbPYwkxpv8I9rC4W4grrGFl2QyWIjJ94hCelb+II0rgCtF6yW3tcE5txamhS5l3sLpMZFY9xpEurYCBe0o081Mj+qptOC7HTHtXnsKMNy/yFDjnToAxNS7jMArFHFB5JU55Ajsg+DpFuwpNH18/DBvwLl58kCohfqjVqP2MlnKbMVV9bA4339Wp8p3btbTz9cPS7vxuDRrfJGv28hqamO0xkc1FB9u8ItyZxdNdHZtDKJvo/59USbdcs/Irb62O8+s4YP4rUCTnQGi31pjOv63/v3Qgyw3TZLVQvFXQxP8gj0yStYzsTiEEFjqq4DqzOq0/xSBYjcBiGJpnqiXnws/7MQltxsdztt6NPYGqDswgQ52GE1boqFL3AWWEBsRQjkBd2lm1aKL0HJgTm8KVhdyeASG8gfoFe4e9snLGgekrKFvYv9PH7f8p+WHh3f0s/a0WBLmsCRZNP0WBC0665a8TK9EhDB/OSbemu4ZS94uNrRAJAjzgYVL/njbFeV835OHgJH1sAEGgh+Vlq4kT4iBLEDBu/G3J+F/vBzYhvGkVi6uCp3fvBkSH/80hgBrj08SqAgFVwXb81Ncd9c76/LRL6cUDV1x1p6iw/H7jfseD8dfi/K7a2G5XQ2rSskLsTUqazz+idzIMbmaKGdV+c0P3YYsZuO3GJFS+u0I1GH9ZBwowRS/o/XKywOo1ZnhcJ2z9649Sjj8n/fTtpkxNgQhlva9Gtog/1ve8ZhxfYGEL+WUMgtmKmuxDwNvbDhnJ/qXQ/1IfaTXHo9oEDKbKVxDSxYmCYEfauzC4I5Uq1fEB4lvaSWF9KPYhaH8ay7H1GJLZ8VahnFhFLcAlRp8Qzvgu+kGuqB7tk0wTOFpOssNO6RZBH4/dGPG8TGj9by6kjp3IRtCg9r6nv39cbn1veRwTpn8FN/jn4HFGuzrmOZQP1cfi63FV8DudxrcECc/iA+Xc7pARt5VsIXfi9lY7sKTp7luxzU2d7F+dFnU74BvS7YQgPsgU0TIGDq9USDBhfaP/OH0irc+OJ8Ol/KPZCHatoMPFO7669xHZHtFsyx99876vQX3xINaJ3zWXDfqCRXzg0cU1lsJTfbLp48a4FUr+8prJj7petEEGccGlMQ734Yf7OcGllyAZkyJi7OddkS3dc0dDdTOR+KlO3Gf/2CzP5fkYjJXFEGzjLkW3y4i0XjPSpOuuu1ROAe44ik6euqPnfTqupxUdsK1zCKa0MawiEUI1wjIvYpI0SDO/raUe5Gxo4pozIYI7IMgq/E4iFeFpZRc92JwaF2VxAM/ACSdgm5+zVRqmi9mnn1bZUZBG0ypLqylpfP+SVq597C+gD/rF/l2R1lxflcS8ZdJd5ye2eGYh0yaqyvP/lV1B9dviCHWOxUg/9Mk8sw5MHQItXF5C8wVJ9yFr/6eZmrOYSS28PbFptYzlg06iGH6vtT8b1TcwDl3g5n1a0s3AQ6sb3UxDJosGkYQa0o9HPcjvJzb9QeJK/TQbvbvazdvaT2ADzj8ycSK7qtG4/wpaa01c6fw2m6gAGxBuznG1iT9W+0hIu89FPP/Wt1BcG0zc8s1yDcrAdok3BY88zyLdqFvq4lsXrTFys9yM2liq9cdoqYR+0w8rKTkQLJ6TxMmwzqQdbRleXvB0fWO0g/l8EuO+JQ8XJN3K4dzOSre96xTTxmpp1BHq3W8VAiFJbkEsUWI3DF68O/hoacN7lc086RTW+vDWjkCSQr+4sL4DTWeaeXBeg4uO4rErOgFnggN/dTdbUYuc3aIcwgyGsKdKWtIEKiSVrkpGCtErvaylZooIQy9yWn3Od9bUFPxA/r7qCv6YlCtuLCbaNKWMLnqR5/QNd8yoC3tbQ3sH5ATd8BuRfZKyqDUdqKMWubcA316H7JyWJGYE6qTl+2oxbXOES0RtwQE5FjDpG3K9L75tlJmlpVVGJfCZnj09CsG0y4nYK0SSp4NIcGs8T5K8OoGRT5CpTk4a5pB8p9JoK5ASPuFOFR4lC+abqYbegKJ52VfYg3Te0Qo0pHOPdQykP0ughbH/hAxkF3GYdKRN66v9GapNN0/mIUKn346Ayc3Pkq6ID/drsO2kBhvrx1jGNWJ4zHXUYZNXRXfB+MSIj6+rAxS86qd93SEy0pF1Jk+odtZEJaEAXkhFHEppJWla4arsGcVeGsycfkJKFwl+G2wV1txmVUL8p7D0jUMy0RU1VDdesyQx5eHRS56LjWJMu9rB5cWXkV9X5Yo2rMa5pOCsGeOiPJI49a2yJ4qfI1ggDz95NM1mOjLSG3VFNz1cIFVk5HO41i8fs5TVpziMyvhncqXBLfnZ6seCA9Hw+JDLRdUyODh65Fy7XraR6rgEs7GJZhREOdhbrImGWHnALm0nm9eklGSmJ8438FoSK/nC3qTmA7xjyK6Rt0iKrszELFdR6kKtSeCcwJGzgTijrN4m3trL6SWlxCN5tVK3dexjxhu7bboI6rXs7FPwStWBDh292MZLesMWJ2tbmyDwMK18EPpN5S+nmhp2UkaOYdevaecDMdgpVKZ8EL3otRm2Fs3dO47gq21S9L0ZYE9rBsVwKrKc19j9HdSKCoGM+p1OzUUrbu4eKhO1qXCS+TRok5TNXPxKuaYPlCcxkZE0sB+ia9YLOdIos7K4mOzcjyhhkyaCRncWiKFESZQqhg/WCfmllCTadmWW6Q5dBOMmX0rrBdDcvr6qjf9f5RRlw7O/TyQYzMCm1WTtxXzBnapIYAcR11mIWSNUGcH5qzPwpzp+bANMqNXBRC8RW/Fj4J6pTzoiHYLiVZyYMD5mLtuTIgs/7u5AS8Th34JTCm/Q9Js3TRExWQb9yD5urfAmZdGYzIml+sBfhuuCWOzOThFXKt0QLMHQlS5iLoZ7L81VzQkawU2EMLRDy/WpxhfiZyHahcfIm2P/jWCG+P7EyoI638cE7d4+2hCwyA9VVfDllmpV3DcgoQldiwcaMwS+2VVxPXlVYFI8vaqMFe11XmoZBysUOInxwXGi5mNjGV3eKjtUE94NMdsrthN0oOoRnw62vT3VlRgVDaJSQkJLLyUrQkoiKmgKZX4tPNsCuK5uN2327VfoH+r3ajHbZPJDyOUA9t8RkzZCTd3G9jZqvP73qP+TZUn7BopXdvh/54M+K0vAiQiDJ6jh59oN7u+1DcrQu1/WvF+93aPCm+JW1/XuZSUR6mtVEKAt1Wja7T4cWV8LayovQxuswnLiS6mua2rpeg4hyQ6NTSkVmkGBEW1u4t5u+jDYVHCCStQwEjAmvEnSamKy2JAV8WT+TRpr19rW+loEO7EAzFKRKw/QcFFRD2H1fQ3Yoe866CICdI+M9TBagbnLAIERd9XQLtlLYCSW10dPINcgkrGRB1V4pitp3HzZNFezcQK7C+dOIAKOM6IK4PejXZwNLYhVJSQhrC7ce8aJ0YW5I/RhdOBVoVnfFIQcOVwSkdcSiUp+sDiXusoN3ivMzG6XTjjr62IvvNiQGGdBrwqJy78xf7WYmcxoqSZa0zpWcFw75q0znAnJSddKX/25BysjdhXdVQ5+XHepg77lXCD6fjl3ChHNe27/upLBDXS3PR8Q6itfhMndh07FG3b5jYKidnp3NutPwcJxEjlkcQG9/IwGpTneHVP231FOzss9lRvpeZM5ltRPMh5H9cui8oBqwyhsAFKD0P1CZ5rcxPs7jaLahTBJxM4tlYbbhpqBzXuDrNCSR5fX3aMVlmjHKhG/X5OBaqx0pgYDdDrIbqxAlEnlaLp6KRg9XMA2uvhjxkHwZFFzVikTNM0bPKQns29Wxhywbo3fJlHBdvvGeB6Gaw29y+xYw2T78eSeBaABZwAV/cTgNieytfW7I0PrfOwwBHw/z+C8DgnaH0bZcWwA1eUg/jHSWd6O0KSAuHQdvactWXRJv17Hw8m7Yu1MFoexKq6VNdJ+QvZAY1XO04tl1y4avMKU7k1U16xxNHQeMeKICwWSU9eRYelqdovwUYcPKquj2KI8JsteFgce7gkNXrGAs+zwxIzEuPesFkDbrJyECU4lAJVDPCPnj5jYivt0wDxOcLdcz3mLF095nAZLUqixqyXw2E3lrOOShF1stICFD4J52IPszrKGlO39IMNjR03bVSB66enkU7bFhKM0rDBoKR1ymVCuvsix2DngRnq/xKJblzTEicJAf3QmQ/G1p3ZpUE8+mQm0JKcfMDRyhEDg/1bqdlS90pFvL+XAHaOERp0EnetDxzYmGzh9ChN+0WWJh0sVoqbtUsrjIi2blEFTljVoJLmJVS+O73hRkJhJ39PG5DhRwOu1OBquqLU/gbjyrjPNoP2op6L1qFcfV3VrDd+nwsL6lIsXo7f9X6Ck3JQaRg3FXufnLY5VMGxaoPKPFcDRQnw781xUNvDjXnzLiqu4+3nlQvpZ/Vi+FkGmVBTOnBOxqUCGXBtMIKW5XHqVOCVBBHPh5RdlhwBkZoI68wDfxCp8yXCSX59ZhG4gJ1giVullMSKjsTSlxpBY5ziolT4udKjhKJxZ8w9DcvxTpDi3jhmk6bGxigIB7yyEDCtGeOOLvIkBVIzVE5C6I+Khwupxxwcv22AbnoCwDeDmcIufp+gw2EdFnBMQl3mFxRn3RY7tVeHnshDrz4WhLekLzDCQlkW+mzGZcnvQDoeCDoLRVRtYoDBLG/1hSlNdxyqxICs3gyb07rHKhR2tZLGsKbrrLjSHzsuqQM/tHX22ph9DVTfrwe8AS+LWGEUAlGLU/w+J3IcGuDtuwuNUFBQ01FFzuU0FWzEMDpUHI5+2e0qiasuEKTJEKUxIDzrca9zogKsfM8IAw6KVXjzY0M3WRRhw8gP5JDVrJGf2g5uXfnOw+q+I+XstGG6pAlj34gIONT/E2z1JU6pwy5IOiFmuI5YXB8GS9qmsHpAEx+RcCHR5bGHBDcAm9XLBOwjskfaujTpxJ7iQs8+rRv1gyEv/lRG+o9W4kbgqDPVPSHnj64lbAmJK6xk0C0TllYdzN5A8tNhcmFrhXXuaOasGzOydWfxIRbgU0CtxbomiynhfgRCkl4ljzGTOce+7SYm6q6m+TNsCfYNLBq3rb/hiSLOWN+l9/ymt4ZNFmOCVHVuxjEGDjPhL3rrbWh6NAhb+VmIjkk2/v2zJwRlUMDhhgPAbUg719UJ8iSQbNi+fDb3M0Q/tsTLFnAsE0OQMSwMOowrGArh60amSvszzSBIPhTAo5DDD67IgxLKrJ2pYijD4CKpbHL6Tsl5jDXBcz+PZfZa3AP1bKE+cg2rmJiWf+e3SKWRH3ZZ3lJS/ew1PBfu+If7U9IxCndQ7mEFN+BBMJP0y1hfiFW0XfKQH8OvhLHsEuInLhGTJPPZD6Mmhta2bVdex7aee21gjU/Z1pyQZq5v4T203/mSv+GXQnmKGim0nr4ByrGUYz5xjdTMiCoLMQcPQ0n8GukAL1ZvPDnYZdT7GHjHkcGDEJNjUpsQ6mhL5+WOdKaJSoX0qZCZjRKFHXJO9ogcJmhVfOyNIQgFZgWlOZXvYKg10tpq5nY/29oFs/P6Ha104q5XtyPMEscmMc2f8eRr6k5+CeSyXTNRmerKLhQaxsHZ7UnpWa6LJR7uGLubp8ZlsnXpFN2dcMCHD9aeFOpKrumxL87tSnLGlinxnBSid1pa6G1IPSJOsawcKyF+mNT+QW/ODa6XsVr1OUXSryFG0OiZoTlupqTuskVoliTTxQH/bJivukaeuoh/Ur0/VXipFQK8PHEztVVAlPnWkRfSm91zmfFAYD2RrAjznBqWB57XIle81nds41APaoAHmXcMU3M7IqtODq64sF8ojH30vxuaJZxs76bwYjVtdZdyxU+tWnxVh45XQ9YkwnNR34B6MVdUVgjKOoGreIZVbtKAzYIaFyCjuuU4ySl8+8dxzhuCL7B5J9a85OpiP2bLhRxoCLsnXn7BMGsz5leOeFK4KZjxWbivux2blUEUSC/EceDV7RgYYHwaf3PykWfs+IToigRXD2fZS0aQf8tKegnMXDbIz3FYz0kmVS0xOwXg/lI2v33lSKFQu50YfSV0Soeaewo1DVyWATRzicRvQJUy5mlOuSnH8B6OvyemiSoJqEUCMTlb+e0L4CBj5y+w7xif1vDr/f9iMR5c2vVsc0qm8DkOXdFmm3I0I4G7nKoXNfgg3ZHd8SwyC0gYW+/qrhgSahdlsBKP9lv736g/XGZk0yT30N5yLPvKWuXICoiv5/xP6JGqujS++5KipGf+ur6nb7nb/XNedxUdebOPNXoM0vlVagUjAZTk9F3+3Mo4qfeomQhURTpWf7YFcnNF4gkok4Pn8CnL8AFgDyP2K2mSqWCr3i0qIYzgqKlVvEZks22Fg4ra63KuNivC4vFdVErJE6XJ2Ok4OZs4Z95ZwKHRiAu/OiUiXHnHqZbKsSqUvBomey+L5VtcOXzTRduhteSziXgopcGliwEuQIYoYaWgYFKerCyCSFLlJyRCVclnQT5oUIBLljqVXJTkXJ0bY+/B1i9pwu7q0V1rQwlqxSfLTm2/+OqFvBv7B8aESAPoSrcbQOCvVTno4ac5N5u4ahUYPjeFZ4g4e1cahSd3snEqTL1R27o0TfYizkKqNhMfwrcUH65AI19Nd9F1EcRgKjWfqVGy721l+4E18enlYsqH/iygVIxHr06xpXs4jZRcxA/F+MX/gy+RR9h0yLvFIcZbUzLjVCM5wdQUvtQ/73kkGzq0nu1RQGOpTgDvWIFsD9jqT4QHQ5rtgPHSX64EhuYC/luKnhUQPl9zb7KhKwEYmZveXsFS2ACLrTcPgdNlvAeZew25enf+5MhW01D7x90gHhBvkj3+m6qV/jwKsCOmNxxX7GhgcJGFIr9jeXAxnl3Vmol0Hdl6HHw7EbLk2eiWLWCjxZktiQQSBmUWtzl5Q5uM71r4/x2KL5wUXJtPogXYsBGhRss8/bZUGGEn+4aU2T9/fDEVV2hmRWZWWjRPc1gGbpuZ4XmIRBK2s+4iX8PwTsASyer0NwoYv1vC50dH80Lz0KD7QotVM+n9mq2dTSs+7OBGs2UH4ZKgKofC8mH71mZtEvo8LWEA1M9StstAUzcLw9IlyrYJtkJIUKHhxB2mRwThSewKjPAtX/D+k7gmFoLDFDTDZi+QiEDmRQOYWND3qZ8Dg72pEEB1nX2xHJsgoau0eDKzYVbm9rB4gmr7AeF0AChrYaWbAXYOGDqPQYvXiM8l8a39vhgJpA0AWw+msgGbmkD8CKSJapIRMEKiWqIreQwHXjdakPfj135m5Q1/aLUhtaEDXOokkHJaFGmAyi1efDmT2b6NfnybD55/Bq/5Jo+jnhlkksOA7yM0YgTKfvsRwr46r2CmiuKDoGw1WgyKAgLL+v4KgvcjXTl1W3iNcvroQYhpgqUWeYANuNwMAm+elfPrI1dswEA+2XIsOVmoVMpBCdhbk4wpFSBwbSJqih2J5btNJRvK0JZCluew4OgbDVYGAASIdN86+wrp5QW6Nt/LKkH//WBu9H5eDMSENEmITNIpwHSEC8FcVTTcf/0Ks2I8woN0NgkUe5ktJmXMYhpYJGWerXRZKcMgleIdCQfwo9K7r0fTbWOU9gbWLydhuV7hmnuwYB4zTn/iaco+LUSSq1vMTOOPdQH6teuLOAi2zsNpsFobZR7f4euXPmpktB7yVJiy/dugf3ZNLpQRcliQOuA43QFGg8ArbZINQ97NhOQlrrPqo47ZJHTWEVAGa5qvNOPAAsFBJJVnia9s3WkqW4DIUqFZpbRy05sOmTmuI+kiwsW/IFwNIrXb2VfzDxgBVpFqbDk79gG+8Ri4H6c3NdU84JiBCA2VcZlfK4Odg4ogB6qyi4COYoQVVQdnK4jrUHJYPixUphjXeWU64b3kOTOO851cQavZwPqOHGok+0ea6CvtiSg/5ZWIP1ffahCkFotsREitxjrqTQGkIF0Go7xkCMZUzA3QHPR/OAZr3jZI9YciCN9DNWrVw7KYutzDsT7e5cF6y9ICGMKc546RPhiSyTeeDVGOC/woh9an3YxC+aU67thrb4txrQhS3WGpRXTMXOjZ3+gEMmWnacAWDFLagVUAEwQdRvfCEJWS2+Gg6O7siXLlI3AJcGzPiP+16zmD6Vqr7DBL1/k4kGJKc+URLW6A+vc9xQY8dfM20i06Q2mjH20TEMXo55W7DUXgxlxDaMYicIjNwhvctOKza03xTI/EJUhy4dzYUu+FcQpA/frUAj48kMCWUoldlQPRp9HVXU+MKhBY6kqarJRpwh/qjurW8cRlIKsPI2K9TIEVHUbhRwi0fUwxppaHvYw20j/booif8y+7z7M0c1wbraxhuUtZYmnlc0ktsF+f98wwVI9Oi1XGrNnbDAfw4NUAcOmBqv/m1HgGclVB63D3hveMUHx4KMKIz1g1Ygx5ElE3ybBKgfhQ2hBXJGmR+pjvt6ZW9U6Epkilu3YtwiBsaEuPWOqgYXTu1Jkd43jPVsqiyWqj9gIiR5lhnXVCJH1PUuwoPa2ZkiQITAEb66wlrysy1lsZtmiH0Ghey5tW8BSqLXq27BBFNAaAK5EgvSV2L80MvZztMA3AJWLWS/AAZRZ9INimsaRnBUiGsm6O1RITSdRFSOmhkAjazrL4BwZjnZDOm1EuA2+YaNhIo+K5VEjSqU9qSW3NycCCYbFvxGxOVP96CNXNjwjfHCT2t0eiMMD2fsYbGJBbUwYxk33+RtmDpOD5sMCUoOiHnqLEj+YXUQNq0qZGmRQkE344tPfD4kiz8v2QoK0gtvDHFDRRrDxK39MZxUiDbF4k1iOn110bQSt5WL8u90TizYUxjEZp8mbfDMYxphcQ5qrItnpZrtbfrrmDcYHTvOsWNQmhRirWYKSZXkf0OraiwXOfM2L0nSXBD0u9H62uTb7MNwSu/sNzVOTkqQUtOW9k0SbNRp4krAn6MbOfnFh6beP/SjO0v0so1plNRfnzEFvP36syD7Ff3x+G4bjVZenoLi+HdYwX0EY9zjW5pvKxwFgh3cSIYFabfNFaTnCuxvraigvQ9Q7aqrgFcd+pPDLg7wmz/wnE40FIxHgxLfGCWwzzE/XRsiPQDZZE/XRAQhyuMRnT4bDIqfd9RENRRdyfnQduoSWNA137d/1PmJ3rxEgWj1sIWn5v8DCDOuafDGqea2XEvxHqt577dTVvrWVrS+5wAasfFj+kN/JdhQV8aJAdJYrQUbIAz+XF9JTw8zwLjj4UcvIoz2UGHBh3nahMB/4T61glLPkq1NgTxPYtkApDGvfKdx6RwIgPjg2GRlcvUyDLMEa3GbK4rweMhogACYThLkIaEel3WU0i08lVTw4bIOriBSLse5+15gOlTnfDTHjSztdlbAOr6eyPfK8cqmMvQuXa2nHl7ADcJrmEkBKlsu+jT0gu5uatsK+M0PgigPH63emJEGJOjgz93CcHdmHOYdbT/vKwUjByoha2J3S1iGuXwplKn4YECPmFUYlr9vePZWIEe6FWrTWPEkfbRKrlGasL62h5fnUzy9XIFJSDg06REFUZQW1wR7JjWK1qe80WS/wAQm1Fs/xsmkfx9kVmScQftiwqgTShEWVprETYn8BD2RZ94tu9z4LBaAU/Co+QTuAdE9niw9Ex60gEm4mXggS3iCrwCyl7uk4fT7Rgz2WgrshJCCouebcYFYCYEBKEXFn60SHT7h9bgMcI6+T8hhemeiLtcxvGECuNYJlbt04uPyW98jVVs49trDUrMTtnYTQB0dDz5abURevywMsW39j4YU2wYw/1HAMvKS/UWPMgEN6tCC8l/ENkUTuRSyKZQbUn3kG4ujEM0I3lWJ7rvnOxbAoNsIIqpOVKR6fraLHdUI7BWuBn0oMbCIWiHs783Qhl93LiDULXJxkh2C5EnSstQ47PM9G3DgWaBtRgFmMbV0DnIhzSY4hx+lLm6rZ9uJi8JylCpfZPOQ816oQKGQUjHLdgn3jlbnhMEX9SCm+XYnJNEaJdgNWEbqqOObEaOZ4eGw4vnkini0FGYdAwsQhtJ0ZmoGmwOaxD74JxSMrtZIJrM/FQRJiMzjlITZcnUeITckdSQ1p/JuvmT9ctwyIF2ygVizRCEMqe2tYozgt+rXzWVFSkLPYVyALgJGFxaBegKT747zv+fMX0EnKhS/UgBx4SEGZTZx0+TEKtbLA0GznaTMrCiuSGSd9Ebp/YsIVNhqrCjjzOjAXO8wRJyK11T60V8ZPTRiGCQ+ad6iE+HLbjbNPLlfTxYXH8kcpf7f4RmButK5Bbe3KrNYnf/Q2ibUIRpz3zUmfH64GcWR50F+6I/3L6eLZSA+O/VgNJOl4/CuE77sjWz192n/eyc3hw5LLhXg00f6aejljrIqwsyVHWOyvDRb6UIdaVM7IEKKfszDC0ntRYqUEBrhTUAdMAlETqTvMLIKud2X9tkwxFLsw7KM32tbuGf8LTwFY+9TIF9ib8YrA4WOSZBe14bdZMkaEKBb6P3FX+aHK8f9LIyNrcQ1mcjOiWOPI4odOakF+h8G0cQQYmEL+vdDB4+JAu4w0PQMnIWtrtOKm2ezxm9gYUfR/5YsVF1lGmRuooabGyoIo7sv5HdHRU9pdImNA8yBabjyUjEbuQoOAtRLyexyvb30t3pwmFwYGX8ZV4eXwDTIyu7aKehr9l0Ncsr9uFXDvrQdZPh+zQil/sDFdYcPlogFokTqrjHSl3NwPTa2/hLEbHDpol2Gqhi9ol0bzdgObQ9a2dE+UYA011npNZ4Rxy+7n8+Mpq0ssOn+wY+6rfPoe2mVE4jXE/fUoUwtswjAojG9rdPs+eq96nPd52Gv5q2Kmgyrsu7SGx3p40gX00nxkOimvxqEY3s4OjaQrrdjisjB7dGhbnzup8yR4MfkaIebR/joWctryBMWzdapwGeiPuSob5vXtJhoU68AC8VEB8+2GaZDojWfMNeo1EasQKRG3iHUrMTfdEuNCb3LPSbgSU9jsMd1wJqzPH12HYB3RGQp5Wgr9Jq1IFkI+jyH9eYd+ExL1pQGjKFjfXqpIN0ho4RPBmbpTYSSjxfn5WOABm+hmwAq4NJCg12QGOXrtEdGT2dr0Q95uadrOfjHmSGygNcEzv5sfAKubK4MKyyiAcwXX0DGvXGopvRh+ICK7TSQcNt6n5lhBv8pNIRmcNv4a+ZZ18KfDN1AsLglJEAnEZzBTCNs1vMRjFShJUdCGPdZ1keqo+qMAUZRGiOsS0IAvnc1jYZTk1gTxV9PTWQ44bei60ZScGfFqgFrDKl8TImvhXwdG0sqBNqkmM2B7uBR6VXxsUAweCL/eCspUJwR0yf0qwNsjD4/HiZ9IelQtxgbrhEoKBAMYmgtdF0qN7ORbNUk5hBjYD6Cj8rw0f5yiMHC9oDN+QAnxjq0ifY5FDs4x1JNpNdeULG/4UAwfWuqCE2iFWkDNgHkQw0q41QMcU+giDvcCG4nuK1j5GRs0zUMWsqiq64a/mGPOFZc3KMFXeJ+d5PxPBWZW4xupYtUG7Xc4mejV1pOJmNwcXiy4kBdnjcOWnEfjHtNHlbVy73DwAzcOv0sS9R4QdyPYUf5ZVgukxYPR9kgYBGfYb/TGa66uVHpGz+OEt2grFsoF+iEFKyNi4AYhdhE9sfzjicr2pJs2qk2/glW4G1svP+08x/MjCoYWThdqtRO0IuM+YcDxqC0rWFQdGRJ1jqmljHoqdsxyF/dsYgoDJGxHVUrL5L8UkXheBB0sLghAMBixq38vMlFJK7W5U7ZLBy86DrQ7s2UxkvYLiuwuOujhD3UQOOiXDRFPU79wQZsHOf5z3ARTQ2JYMLdHce6XC3TZ2kxtaA93BFo0KFrrfCNQar+5ENMJret+mFO0Nfbag4K2L1bNHgaoxkdh3tDuOq+QHYw904aatm38HJQ+seqU4N7UyjxaGyvyHMc4ncpy4fwa8mK7ExG0Gy5hjpa6r08arCjiXJdoqoT9ckU99ELuwAmYrNMKzMEfY0HyuSYDEtMLZVZHSEoBa8a6FO6ZFnr6/iHFenHyylbn/kwWXrKtSC3oL4CM0xxHOVVwjzZYZuOP0frtva4/LlvqulMwpnLFIJ1wjZw6NjDbMGDNmxI/5iDBQmW+K6Nx4+q2n8cuVGbXX7Izub3ThtDa3Tqq4Hvo/bImsYBKYjedbTWIWA7FvhGoCLB879p/D4ETprdlGLRGkoa+wEYbw3IM/hgUf1r4Fm566RhZhAIqyOsQhEP+tYpwb37il7NrNSjPl2RszglzGTKpjAAHfRUbyv528J4Nq/sDIgBI+mJyQRfpsGCLqc0FLDZVjFMgEMllRLpMJ+U5IT1TuKFw0GFkmxmf72AvEQFwP1AmPDYmgR22rOh6dpZfnVUt05rRcu1xmk59eOHnQn0dnFUM3R/j07eektXyiFAYQo8QSFdU22LgzTNDMt5N2Y2+QoZyld3/KoJLGMk35mTBL54P4q1Mf3PR5kH8GDmgBHNxrE+j+CGhYFIqj/zwbfkFftw+R3rccJHiImtRnrOC9a0aup3XC3nVFcyak2VDFXU1cHCh5du0NZ+wgWnw5N/Upg5F182Hv9hYA5FKbEqDqpnxqEzdFUpYqym4Uf9mqa8mz7G6NVZ1quNTVcyVBJR0YwBNHcvro3gqS6FQIO/EHaAkoq4b1oAzsxh4J+83V6WNtBeik4BGzEHcXzOSUJkvdc7h/n2or+yOhsjxJ8kRGVLGKBSC3iuf58GKo8X1sXueG2SROsu0N8ZDlv7GAQvosOHuNVo97j0ZR0gmYDTs+MTGLvWxkbRiQqwmUMz+LMbc+Mzl7Jzs4V+Ol8oGOWbLSXv/BSbPdRlVX7bLeWTpX6Mb8zfjRz3uqG/+QRhoC+yGYW7QoRS6VKE9EsyqOBNhIiY6wf0XmBob7oToZLr7AauMDV4o+TBmMjOa3HjzbFb6bbaFORgxX0bNVVez+LJSQHemHeLB+NX383xb/wQBBoxyi/0UBeuNSNBB38qyJS64dUE3gWxTIPDaKHgn1+UGNwTuLS4i1EiSTckz6yUjcVxaaJ/bk7PpbumSzTWxtEAc5WChxsNfQ8ZuE8HftjSriVdI2K0KnjEXmjwf5yFkycrsDZ8EedJiuz0Y1bBZiWDGAC1+HRiN6rGympGlMKoU/j5hzCX9U2asSytW1XrhvLetKpIDLnzfAkyTDTFq+NrrVPGFrlygoOUdmoOExw1RHfx29TOsFRMaOSzHP4Ccsc6aBNU2lXY8U7Ju9jCbhzjZ6GHMLVEXCcMWVx723gerl0QCml3OrQCeY4VVjKHfln2ANdo4hso8yjifZCrD11escfJQuDuM1uvr2uNV6ljY25lOZskS1fVW/aLkNqF9XJWFBo9fE+hwFOAbABdswIGSdv6SmVUgk84e+BX8bCi+XkNExQtGaqpQJTaIc+TdEk+sDxVCJ+A1WXlc2r77kGKUheMWrrlV2YqX0/Nic1O6HFOIL6BcOxSezjQht316VXZJeBBsPJznsSi185pGlHyUcHeShrt6ai+YB0EpL86l04JOhvEt40tISBcVYc4XOX9XpwcotZGsA0cEKRKORYLFBabXyx8buuCtekomCFWmplDi6zXEg5ECU4JNEHvYdAOa6yXPiI6JM8ekOF6IN8rb5AQXwm86KugoCfBbi1SEAyg6S+RhSHnvQzw+eIBAndHAXeEo23n21xHRsTUxZjgY2YJMQXmjuJmyIX/tzwvJc20AdRzvkrJfeyl1TG3iNJO/lQvIvR1GdclaVLF0cF2N+K3P+/EZq3HrzaVWYYLwXeJo4VvEdLnTapeAqYhYlucTvw4F90OA69RBQ3jHhQ9UTIKNmfytXElLij4Zvtx9DkU8YJ7UuZTWNX60NYT2yPV62xzy8nZQ3kEc3grKXYR6JFlHQ8kcdvoavQcwTYTAY6ho7jY2V7dDIn5bHzjQ/B1aKT/BBsV5xJI4p3eyel1whW94TxEjRMcaGkVnLXQra/62MHi6vlXQNDHaMRv16lvXvUmAoon+7dmP7+eJ9oXjeOK7vJxTJLqFfPBMO4PAsyDDgVI+JPkAd3u2uN5QrKqXsWl6rRP+E23D+cqAs8Z47Ejrl8iGGizsWPCWOdCD6tVa3/PPOJsiSJWaKtYNXDhJ8WwVwFGdi/BxlR5XrcWtHKlWlTlFXEnAJPceiBaLIvrqc4CPfOhe+lWiRwCgSgRP9NUTakOTli4T416Zv/GDv887z8giilKri0r4o+9VKBhZ42UoXs5pH6d92krQd4w9ywgp76CmQzMo6AWdIES2AxHJUIipfpA0etfS3oJNFJthxkjUgymuA3WFkx+BTd7EtFaZTStQyMSggFlEG0GvZsF0SVJxVNTY+G1xqFYFwljRBQRumokxKERDPeZmUF2DzmcPFDfPjDlnqzpypERO9da3BpHT/YQGMYudVfcm45yJhxyxrKT60GFn1pv6Y4wO0cQw9R4f013sZYQRN3+gOCqyYeJvomM+D3KVUGAIbxlS11JVRkSkVcBlD+WuK7CWMNBExflIyPQkRjHgaD2mTErh6GQ6MWiZU07269mFqjIw1EIBxTpuBW03Eskols3wkB6WIwyp66csBD5p9jFSb4+IzCYOj5ACJk3DpZHbNq3w8NQDabvUC3Xios1iJYdVQuANeJtp+1Dn8kPKsUGeGimNpJcxPxoVv8mL1JHGr/go9TP8pAIKuhFGBsnB5HWHw9Mc1EzSVRCbqB2sCIY8jK0VoMxtyzT9R6SAe2qK+ggNkuFO85AaaErCtp1ff5atQF3q/JpidHpSQJGdh5mYEAUDLkfKbDPFcQXPo9ycdA1s0KfYMnBsaypRIL2hGChUzOPK28eW66BeKKTcw4NIBbOlzptLqrQjmrh1ykwsbv37tPoDC33MGFO6Xg1xviHkS2zT4eRYzTqwWfgcf+DhQm6A5B3zCN3kdoVF8YU2MgYQmKsmpGeg1ogPwys5CUJDMGBv/vu+G5qxNb/4+yyFy4YF0mhK25XPBOCwg3omSqLTFNGqV4MSb6up+Q/yRXLY03nQHQsqq4OurbdUbOjQtZa/iC3IiqZgohzmNUjtTDzbOhHpOFvXg/at81cTiq8brZp2jfbVApedchoHklXbT/V4qUWOU4vYFQEIqqVbiYb16dsVeddfxMdMaLiL4Zgh4Rilmd/4pGz2uO+mYslVbX3PVEzKfYrHEQ6JA+sKm1oDVHRaHxImpncUlTbVMNc8fUeSk0/TF9giqbQSMHXThDDazPoQku3bhfyx100NZSg5xw7N932KROdSNsBanpKy3vVFzzNtC142Kqff8qvP+6tjxHCFlg/ZyFx+Gs6aaQa/G+nQ4Gq8Xt/PIEc88KolgUnJKL3r+Yz9qQkJqo+YlHm0MuRIsUAcCTKb3tATWAJkKv3odGsj106x2zvfbezaXez2znebde1h7PbOd5twOyd3cl7bnGuPYrd3vtu8a49jt3e+q517BfzG4B3bJ/9Fe08w4wzEeWhYXhRb0e1KdPLyAslJcJQbkiH8xZ4u6VQuMG+ck1H0JPA0/seOgfv9QtBnznYLnoRutNfwnhULrNmZr3+f+JJO+2gm+nzcRD9lJj7UccudaXo+2q7f/6Y+X4fm+5yYQfXFToJ+GXiQwRW3J3bGHuvJg0Z8sjOCHG/hc1klxBGjF/5zS5h6qDjrFUGG3gbhm4OJQqKfzzHPUpRST5ZZES+6fDY86klJ74gywzZYAwivhLmssILc2iMsXwh0jIIOoZzFRdVRhBx5k28UMhXel468/dHnJUBxgw8o/JPYoho60e8I0lpG1DWrxtn62Xtn973Mmk+b2Tyg5t9YcBTICDRvBONQpKlcEOOK0z9TzXtCvMo2SIAuwm2p9Nj2LellnJQ7XxPViPJFDU5t0dm2tQsiQfOD3sDIJH/LkXO1/m/MvPobq4ZOAzp/DSSXAQMiCBhIwn8Zg/qQHtu+Jb0Up+w1iywasc25gQ57YauCtxHr4EBdkQaCkr4apUEHiaB9QftdhnuROcj8evY75E6HKgiEksoLNj4hmqRWGlkbnP543n+bzgCI3AueVozfGDu+zxZOKa6fwpzSQMHBtwSbnhmEUMhDqL4uLxmPTjVQwigMFSFpRgTYpfq9S3se/JibYwP0jNUE5Zwoze4SN/UG78++mJy+nc77NFFEovj88FB+pjdqbLsgU1uXz3JeQzHnhjYSrjEgr5Yb43SzlawI+3AAbqoowz2ngBvM1EAEYONXd1K/WRetrw7CpoUsTmixriSmUwLg9tJp4J4GcR5oa9/gArOcWkx+xdbwoB2OD3c/lZfnTAEFPZ2AQi/RR3mipVZSR/AlYnXdHhuedStEZEv5YUNafBL+A6mvCb/nIWKsNRzMAWk2r6YXS98WhrZ0rPAIt0ciGVE+7xvucKnFDZorx7un7gPGPMEWQK9N2tj2nTtjeDzRv7NQVPbzEExcWBk3TcDlXAPcLR3v/xgl1yZUM49ikUnUwAar6ocye0eajzJSVaZZYoGXgI0XCXTe6bjbX7u+Ro72iYuWsEhjqEp0w13dCn50EGsRoIkzoLxxQtCWU5HLm0hTElxJd+c6W0lQF4PjbYVxNmwvo8rZKOEDdHKq3utQZNISG0ovby8UOBe3Eq6eVMfzH6PuyoplY5J0dKj5cDUNE7UoDuagYsvMaQkY6ULYkgFgyADeyU91zOlxZku4fTmneMgBy+X1L6KMuVgzerkzODk7c7qhTFluTTKCDVUqwLEjX9CnoFvlPUaQ+7WV7HJqH5oKxqNMNW8+8MK8tCyx5AYgKSAiH9Y071Nnmh8rL3LJX9zdY4yG9htr5kYj03ArWZkd95DA1PQ25vdpduUyED869JzFnQseCUozeL83wb2xtFsNCvnVEivIUlph8sXCmZOZH5s5hJfMBZyAoUy35f6c/EHdoiHug9BlbePHd4tll+lGnl/+68ODrXwoEkjo8E7GpYeaMLEnegBXt3+6+sPtj2l7F6pET+SOvtlY5Zk2D/o7/kybIi/dknQfAhFYcJ1gGRh9XAL9tUsI0M4ez/tE4r+2t1CzjbXgznm8nEF6TGOifpzHW2xMoRaLI6wKRsfDsDLX54t7x/bf0cYp+J6N24a906X3s+1/3sxLvHDX5Ih6YQrkJWP5Uhsw6EZHvWZZjH1QG8grxg5p/nBHlLWIv6YWaSbhi5LQGHjPxt1rNu4cQF3a5J8GJZS8F4Uno3usmz+mIpkYnjfdN/IbRNO4raY/uuBJvwWzeJvsycr4mPKAdgYb+pzFUTp82MA7kEDfQbgFJYWuCUpHCUUwh4oW0GGSxUvf9yA4tI0hm1oefl+TyuB0XeUNwgKNDW0Yk8jMaG3AlSdc8KLCmGVUqKpzh5lzRbwujmDgjnfobULPE/4Z/gF9Lk3jYFkFDuI1ed2Axgu31Z63J/RZxBdrm0AAeqFL204WU05Fy2nO01zRv5Oj0eITQoEDu4Z2DuHF3LBYsnkDL/jb/M1cx6tJXtJ7fpUNxQ2nD5Kf8bpykiG1FDG6T5q8kKE8NhTzgnUAeNdPG+OyGZx1pskW9g9toPrJMm4L/tyF70Zj5N/S+/qcr780S2/3DhB350wxZ5RPU+3L7VLGMBP5uMwKfKdHIMvzWxcoenlzs5hJUfVX7h3pYuPnRxuvySqCjckL/z6D0coLxo+PxQPzuC1aKE1DoPXSRxun84tHF429BWo1BLvZc1vp/HwchVxpHsWVLlCbvq5TLfLT2vHkQlH6Oc9J48/rHwWRQ+/L5FagkuflTQWoA9jzDmUkSXR2vONr7LlHtozOilveVhxmIyokdQaMHNHbhCOf8ImfzusM/RpkaGtrmuZBOkqPxvNP0t3uen4p05jaRKIdi82V/QQ3Y1912Is8IRSY69o56rQIbZY4d8SWlZ2f2a11vHFimMFtnowuj9Z6z6VF9qC9U/KEB6LSdSjeKhqc/pT92bDdTOeNgRAc8UKmVtaWoqrdUx024HYHs+HJQifE9FNPoaAyhU4IAok6zh5VFR2i8xsMOmHIJ09riqyEAZ6AfvYYFHtqsxMF2GMHepmg3H0hl6SmnugSlI02Mmyyzo4Kcrl4b6fsnySRLzMsKhCoTcAskpxcniZgqvl5cw4kkQgBahMwixBCAFsRCIYAZokSUJsMAZkyt0xdsaGAF1SAF1SAj4oAz0OucBTxFjK5NjYO78OSx8d4uRJRleIJ3xJps+w78Y8IPKQ9AwrpTqb+2B93XRh6bBh+HU7n4YsFLua3+qKByy4S3Gb4rsZVxywW8xdPwlR1gsNVcFf3u2+U3JRV7NHXWsb13ZL4+EcWxqjtwnNSJtn1HaTpH9hjM3VJ4prXaG3AC58wjMLyorGhcsTECcUKGivu7R6RLlxtu2bhG1BzcNQl9QSNF57q+PjthHbmik7mHBp7onKscSomNmW6xTqvPHFwnCNopuKWxSGHcW0mLpln8PprCsb3H50MRsc06DMGCbpbWW6mG3rJzcHEuCaDyuJ7nhnzDMW12yqfz50jS1ppSAe82KtafdsmZp60jie4PS8jMDYqpjh7cdERokz348KQS5b835Gup9lOqHDJhvkAR5n36/XXecA0ZeLnFU1gqbQeJsieCgnOc3/sOZlrf56LfUZB3yEhiqUmidMy30FGLGK4yGbF21AEtIaXkV8J2TvNSx6cPB56pnfGVuxkx2wO1NAmNsfZbrKIWQ3FvQmR+1OiFtmWK0SR7clIy9Rl99CeD8j43BXUHpnWElCZrY0dZsSxGJmYB0nOxOHB3Dif+WxCeQcoPkAun08cH8yLU+SfJ04P5tvp828TFw/mzpnzB6Elu5ilNFA8kKllAM08YlqF9kKMQ53CgstIr0yxpseRMVLanbeM8oNlT8dZTBiLU/7oi6YLQowglsB4hd8ST94JFSu8Ydzhqp05R8ZSv0MDMliABpWTQvJSoP0hKkSf70WxQ9ek03HLBPkzYslR1Snmbb2METisLc1rpKkTVlwOmKviZk+i3EviMmU5S1XsAJz8MD3qlIapWpDnPgrKc9ql7nRASHrQvmG/p5PcJuDsnz9muAQDBi9yuRD4MhzLyy7ubzBWcjeNfZDUhiNu0u4EgoTkIQKZpXcWUq6Loct+LydcVPXtML4VbcuH0sJhqDZnatQA20AbCG7yNikuvVUxYwA2yHImDg/mxvnM5xPKO0DxAXL554njg3lxivzbxOnBfDt9/jBx8WDunFl0TioUxNA1Dr+OTTFDRtLK45F+ToC3hXUiH9+8s9i5g2n1lJZxAoUt/X5G32TPpaSaaOkXS+jKMAT/9gUZG8gET1lowBzVFDliPBGhgSZFyFtD4+BL5HwWadDr3+YFvGK5MNqSiw8ISMmqzuIEIRDgGPD7Jo1DezszQq7FfM8pxl6tsr04qP7HrQ9gdRIXXpOr01F0/PA5Wn0snb5On1/wCrKOBfm76dbgDo7as8WdQGVrNS2Wfz1bfCPQ/hxceEsk7fESmxGdI4Pyar2zlll/3ae8ObrTGjHzcOQM6GqM8nzHgksKUHxjuVYD1Eab0160wmQZy1ji2szYurRWAShLx1bjRByvYvYpoJOeaIjFvN+CagjisVVTuMpm+Eh600AX5nwpC8C/a2+62oBDKFurIwdPSXEaNXdRqfv/MIJF8MUSg71+2ayV0Jhm19CAs0GpUNXJKzHqf7SS4OoD2e3NrSLIXUzpb5tavoBs4yJ0zRcgxpyq33s3GhmDeGpxfYg8zS51VZE6HlimBBfhIIsWmjKOZviFkAJteMnJTlqg3LdwgEDwyAA+5BjdYVyKVjOavGroFTZQsDkE1clmi0oTCR8ml5e3pE0u5vfjRLc/RMM4b+48WOSXSiBmp9x9gyqR1qgq8kyyBrhSEfWClH4OAEfOuwGdWduNFM7zuxleF1fOXTIB9QkLHapYCl1XghkiqOnq9HYr0oqNBvMjyDXbaYDfWjCBT2waU3WUNSecVAdTfcXUQAnn3PcyNH61FN+bEsMVa+/rhPY+M2Ug2l6rdqfADiz3dqZqKFIGjer+NGE1GC0zXvZMAfjqZyrY8XgK6CbjPMhKXkT/2bys9N3pQiPufWq2iBl0IT6FWvVNMR3wizoyTsgo2uF+IAKyaRsDOpWFKyanQhULNNhxzO0LJAp2PIzwlykhDT7tAuMdAMV+F/uPLSk/Eh8CU7tIREY8voOhispsND4dVOTTwIUYd2KKaRnhtNSjr6cTLfW7M+PZ8lIuHNZXWOAMdqTS1EZi1FPGyRfIqCdoQlt/tjaOrVbgvuNGQZZYOH5UU7Dti2StoNHNGQKHIdGezxQXFHx0y9LNbdjD13ziohh8O5IiYZR7D49qmk4EvMbVlZGEout61KlQnDGY9Z7NfeVWHhG9dh6ylZcBrxY5wK990CEy9q/owZ2Abeu9WPNoyFSl2IxtYIuW2mbc8ZTv2iHisfkwFfn4lvSaS/njOD435IP8QREtu6Vu3DpTwVlEyL324Uora8rCa88oNcilCstPk4BMtOghFBbsNfmiu1IIi+gZ1tO2ghejLpTR2MLVh5W3ZR+T0m6PG6Hz4Y1jFYyZ+3S5iFy8FSQsrLnL8Ujia/T4ViBIbY0O3xKJM7G/cUhduZQ/FvnckA9yByWJclTizorDGDsv0Or+BK1YarE9sUgSBWv5re6DEhtOLj4btETNd9BIHLDbAOHdvZu3Xx3crJiCrWmL8GDUGS2hSZquekAL/k//6iWTA3ZbGCRncx+K+X4ylSAR5mbASmmH194IWnxzXDcPus6ujlV9FEgKqVfFxmap5fk/lSfv+SRHp5GiwAMKWNwymr/bKdXzafY1gA0BPhvlVd2L0afDsbjlMlIQ8rjDmfbnhRbYXtNvTKF1gZFb1y7FU9/pdtsaK01EynNYqDk8NL+EjPYzz4DU3Mxr/jn/uKfq+v4Afasj0cBJp9KQqVio8nUWvw4PdceC5r/R/td0S9Hngeu5qHr/lU/vzZLukk7v156cl6vLi+z3cFOXWkGT6CaUCduJ5bjEVYDAhHibkAnpuECAT1rzG2FtTsDC0RKkf27jxVlS0pxEJiiW+QoDpZfb/SjSHhE9j2EG4tDUes2rSaYR6PLmn1ZA2WW/bbHlC+/PYL2+lzNi81Dbx0v/8/3+++75/QsUx99z8TdW4m+iq/f/N7ekjeZc2s+kEJklohQhJr+6LhdcHUYXIODlhyyqyvY8GvsRWH/9Q0mvP5aCZ2c1lJvJ0f5turJb93XWIlNPkmhPhRvltpR4f2bQu8sVJ57SWkD+HO1DvfNuhFvw5fWhBFglp4ULRvcgPxZS8B5wbALz9btMgf2sKXpAKUlCiyrbI3rw3qBQF83Q6GUwW8c8BhscFlAPyl5gKJr1H6RTA8JFWWgkv6StpmroKC60ixtHOUwKfwag4Nf9TGGosBpytTDHh50EynwzGQbH/qYXbowDf0NhW7MVs2OkIjZj5zkWjdH6yGeB9VNAAf3j0UL3+pLwCJyDU78czqOD0lerIpuqHHvhojWdq0wJk3D+aqsgYhRcqq5QSAll8MwCbjENOGHDcfqUj6y/j6xqXqFU/4YSDitHGgJYWG1jZ2WBO77jjCt8YCkoHUmzCNH4sL8Pm+CxOKoFXyMFDrKRWEhsuzu5qAxF8SgSPMRS744rK+D9p14zDSf2sBmvF58DtsPlqlg5GRVrHootS9QxRRXXOI1kpq4XuP0fRNXYzw+wZKF7rsZBlDDGHwjEymCXah4j8lKX9q/1SZ8Jdok8G17Wu6kQTsVloBilqWqBoQP9kRtEJE9I2FuyKpyEL2YMcRqRqpHmarhkaO9FvUg9a2RBsyoqM/OtE94FDYD64gzpdV573XFbRvSWVpHWlgTCqymj97cSbhpop+b/ARATM9pOSYfDBXZae9mOmGsPrXFHo7tTQlohqcLyDTJhDGVe3C4trNUjrZLYxjGFZrqScv9hHop0MWfXmNd/mdiJLraIiwA+eHLAXoCdWqG/EbVjeCzJUftCkBbRrZXkAWIA+wjXsRqUVgUJEtgHJJy8drEUAdxnRnzLg88Gu2IjePphZTNkJMLul+zFphqjdL6SUEYd98fv32Gy0F/qNOFwhsiPmlaO25966Emt8f+qPUmStFOANitn6YEd0lZTbdO9AxaXm7t9iSyPTmsnp4agaw1/rd0QE67b1i4pF2JBK/8FIqsIpSMgGh9KOjE4zvMEaEOMG3EChzCDTjiD7gAlLagvFq6wMFmwBIiFycITpqKm3/M5U1CByFirAuGfhHNA/bjq4pd7n0YksFuRLXScfoISoBC89LHzxQu6ZHDJ8nyzCXiC4tiR3HJnfgpl0cK0vH+4sQEYM0hCair/E3FTeAlf39QjrUZLuYj2mJW7RnxGDXnWmX08Vtqb27w3W6R8HNULJKSbEZleLmlhhD6NdDNwO2KJiRDNpSDPqpS7Mr5NVmNMJREbLodY9ZT8ix/opi5zehEO2J/T5wM27kyq3h5q3KkoVAcsWwm0QUYpgIdfMfls/EQcWMxhqw0wpAFCg/rjGo0ZuonwODFPeRSjsZcqWumxJAagWhqifYvqBRneI5wVsf7vq58sFTxjcd6eXqGLULSnIFG2fdrH/veSIqrH0QKdVIFkNbSsg0hSHaNOT2yOcElIDDDeyv3+pZI5UTaD4gsxsj0iAirrfW1rWcw4RI53TdBN0oRPOh6j/x8aa4XUyFsIYlfEn87/B0k73cT0fdv1CSbq8Z91E55bYk7Yl2BcL8RBya03J4QpQ5hDKsrAZN1qcKD0eekSk41GNr+5qD+3x+w6Ds2YL3UTU6xt0WIO4vj2m1/q/a7DzvXSIzwtA2gCvYIBZNeB0gBgGKvldKkttnVGtk7XfVfSChuGgNwyrJodYo25B+LsFKnXCWQFuWehhsNPGmzGpFsYZLAFLYWWmTTDBWmYvrEfMUqoTRX/DHs/qyTs9tigZ00A5wOZjSah3nFSSyGZ0M3jocGg7JsS6n2abLxKXl9bgjImipBK4/nBYIw2hiDa6MiecaqXMlWEOx4PakSrBYFa9b/v4FvRs19qLpXmT/hCVeSYTI0qVP6pj+AD3igFi6kGJO9aKVJ8QoaMHGYdsW7EQ9fqqzHRGSbT9WuGvTvVt9Vo73oowgXe9kRxl87xlVVLH2v3ayP63e/PFtQYhqpn21biMAcY6aBy1uXLjuHc3Jgp/Q8Q+d2JNs//GhOcbQUnzJK+t8L+AkmtwntOH5R2L4Jyy70CbRIj68AK47bvRwhZX9LX3LV6TAmC4ajKbIDbnRVwiaRAULimsKx/ZUOYoJTu+VjjVsoXyc2cXmGCmF7P6QkwhSWFpFyDDtLXFdkvBUwOx/CkO3eFjX5nHDeZCI7tpcx218pYO2FrBDJM964cYHblbjLQRHsPDaaAgOECswdFHj0xDFlEUm94V/Bnoif0ZCwywKafhDOCNdMxxv8O4LPihe5hrqiBI3m6HFn/0luHHaoxAe9d7Jis+ShwGTrE8nCj3B1HsLfT+CfFPDA+UPgZ0lWjygzg2SdWz7kYMDCksQHgNmyL0oeLpgKo+VHaqVl1WBMEDvxB67qKHAqVGPyPgOqvK+N2ZA4kv7WknRQiHLADul2MG2l+E4s3Z/h1Faoim1U4AwI3jWoq5mZjoNl0FBrnAQX6WIh+elrTEZpft7sQODp7DalNSXIFClHMd92GvK2BSCP3WrASJqwKE7wMVs8CjwWnACNItCzWY49WT2B+3DY36EfNBxmqgFlYRiXY8364VGkCPQEyL1WWyveFsGyISfMSxjCwApeunWMjuQhWwOSElPeYjrQjV2pmHbtl0jTeC/8APoWZDzjJnWAQwiIMQN3s3uXrJdZNBto5ynSVCISl3LM8G/Dsp02emF41YzycwnQhIKrn6iuABtlqcOs6JvOQCS3NvXE+jFRE+1+FIs3QgRjrAulFIBY6SecWj+KD/fSlca/q+T8tyeZ2rw0wlnhRg9HzKM4yWgJDsERC2B7FyeqUJKEYu0GGdZh4l2ne6cAXRx5MDQK1KsE+IiO7hB13944TGspzALPU2kpgZkVzkhBFmxUbOI0Smp0HuWlO3GtyQ0OuWKq2oGxkO4RjLW+PtX+9ZrtQ54q40bxZYQPaC5Pbg7cSP7E4lwH0EYX6ect+IM7fiEFqwfy3sLMOu2YV5jZFpVJD00yPkkbtWECpDqsQ9+5GcCko6U6Ucbh3J7WCr4b7JZ9z0qVbLM4B/7QaiKXijgCoeggpB7wm4Cs50W3D73CAbJCLiAxUzMYWqyF7LT2ye+OQBxi1EoIuI72fDs+yZe4RltFUgaK8LCDyYFuKFk6bMbjtEPlNUSjsTAgmt89FW+IPrO3zP/XxptbNYAZZn/6+mQUGpEFVvZY2ehgM817CNuWXAgdILNwQnfOLYMPYh8aOD8aKNkZuYvMiWgttE94KFlYUr6URCZnuWqcv8E/HUXUIhZNIYH6NS4VEhG9AxCWrChiOnCOcMIvKKb+R5axlAboFjjNErw85ipwmpk5lIhu8DxZvCprMJDJJ5ybK7qTYX4+ipc2Y7H3GoJXDjX1ZtbN2qinKa2ZwCD7xqafPVTAD5lfUwHV1xyL+PCu0PV0c9PtgXmXH2bai+8jkdWvhB3cKYBaVIiodneBCcSkETxEtsFDaymjAUCsh8f+hC7VnbMwIwXPHq7LgzpDYsk6N+thPgcbd7UXqWyvIULxn0w0qeRWjaeQpq4FhssJGWWl7J6X+cJXhtxV/jIqC6Uz9Al59SSBztX56KVKNutHnOhIUL6IYQSivQDuoZLXnbnZ5XUbdY1LKiyDWkfFYTdxn1aopg3IhWyJBJwwkbzOzbFTUbBoskrqRYHX/JOUxo/hDIvmWtJkZA5NDCrFDfuE79NONv0Ilh502uZ6Y7fcVo2wOTGiTxugdwDli0XZB7jYY1NyRvcLkp5mTEcbXuuuqEGlVMt/SCus+fX1LIPxMMeunvSIMV8JZlvOvbdW0FOsK8cL39sMHQ7CwE2xDIY1h40UfZYilVhvdhUJCSRVYVeObXym2z10NppVlhFhFmlTGYeG8LTyNloYgun7vnfywrhILtckz7YJMCcVE9sbLSctcThbNPPq9gMJZSYTDBsqMlLko9Bntu0KNxWBcV7bM1PKg5uXdiFg9APTPvOQxJ8Vqb0QdWgoNJeZrZbhHwvtoSq2tBMdiV0ngbo3vMtEED+6CST6uIMFUARF9KZ2o0RwIaC5qW7MGr7RBDQDmdIiSGP4mxE4Dmox18RIoXqWieDcMj3Bb1QgGqhqXpaICNpxRu/JgK/P1hO/GEjm+Yt4WT4vHGgGkaooopKPcKZQxRYKEqSpdp6ZEaRq8oWOeBvQTd5Mfi0vVQOiQCG4o3myLnjMMkrWiI4Lgz+i9W/pQ+Pm0yz/EiJyUVYiZT8TniRPnpmGmEwQzJQDgBUrHIjXjqzyt/vku0S4qb/AwFdgbB4PkjaPloUthNQvhpARW5jfpBe5BNEBAzjUyUgNjvwobLdA+mSc0xf8hHcos1CeT+E4+jXKYoDwjcCdLiR2r2uf4wIoDxNldYfE+m2VhQEMj7pQi0ZZw1Lg93xfkBosTMwmMUzHL60gA4o+JyjtnoC47K1WlR7UGAgQcY8HZ4VUjaINelyP79JKk4FEQ9xZfZ4rDFIKn8XpEkR7Kzao1zXDJAahLgLPpc4zYK/cJvkxEwLAE8l767OyljXOfWJi8Ykb1xoX42Z68bgBKMEbwSiPSIUV1GmUMnt4N323k1E/Wp1oCFuwnIFCHD6RkwBBAQV1sGcFzJ1D8tvr8+4KVQmaDaUiWNtL4qapc1XbFTRSfAFEaX5AxDhSectUAmIOZtajzsBtvGNsLrgZ4KpL7XnA0tD6qGDrro8idzzxZ/HpkKeux2gDCWJMjOxjreAhQSx6UTWXGiMAHCdyfDW30HWjCBGUiUoDhRejv7n4Ph3Dxeyh0PNL07B0EgC9MeDG5A2e7ALEG5hYB7IAcKKiBvvl6Aeig5u0HU+oxnpjuFMmKn9e0cwvMdhkGUsr8BTBe/rYMMsIv8VpXhbAP9PKQUiHEBz68tseAZq1gAOPHQGEBOs8I/lmPbH0I2BbPrb319d3hWEx9CO3v8/K93PRWw42jnonJwLEZVXmioOwwepOc//s/9abFndrNXjbjP6TSYN2obFp2RcUHrkIbhyq7Eu+KJ83vA4pUyd5tNOWqfQ/NPgzG1moovqnFV//AAsuKwwrcwzwLxKrYdRjfuchw/cdOjAaCfNNtJJjNNn6bxVHSC4BnumBhC1V62t4rWf1zR0X1UYVazKHGVWL6WYGtr9XUpgz/8C9jUI5rjjSNJ+8a/HNb9oC/qut8ERb38Xi51/rS8tvoMzinwGxNWd8aK8lzPlpaOX8xWLSGJVC4m0UB/kNDIb3AaVnqJg30tnge286cT0FZesla2NpV5TcMwWOptsabLvXDQOtCGNap2UxZaKE4ftPvfVcAlVuZwF/QH0MiT0C+z2w90LkcAJLC7FoCNN5anrPN1/+WqUkCQSSftRR0l/R/TXtYNiaIz21aIepIlt2WXC0GbbeTw2qQaMr3BrK/jrEq/41McrqeU4rJGDIN3/RodW5cnJtwU0MlKtjoE5NjYGQYn1u36CB2zNbVxE2mCwQcvww9UAF+usdd8mht/KL/bPgbt/fF6vtJ7/6Un/jkjqV5EtpHFBRB+sGkrW+96sWRAEIjtoDtSy+L00sKmFaCkeJbcIVDapQLmSsDM6q1gAQ3ZBzwOnEkI8kFDwrhLNohR1M6sVIlFKgeN9AFTmlbBGsuZVwJm7qCiE2rP+uF8owqP3g18Z6DklZsPgcP6yDlu4b/9AkinxQexK0mGR7PVg85dMwqXnbM/VLCIHc745NlGAWDFKHci+3P8La6sG9egI/2xQG7pZHi/AbLYsbw9ZuJM8vdvskCwOon3OLKm0dhYjQ43igg4JhrXi02ABmd98un8m9sbWvXkiKKXtcfCTlfTS+8eBobaDeeODYB7o4/8dYV2wj4wdMgUUak91mdY/DFJQvapU4lCzXHrV+SGpfsMDWzh8MMPRoFd5UPh8LuW1qjdnLs3RKLed5vtXeK/SgJFGIPf8zOOpCqxSkHPacA71eF8lyOEOQn+uYZ6IQKmN6FB2SkQWl5jivsh3beSgblu6dhhm0GPIIuLyCzbyWxKbZnyAoS1gUhBDWEk0mgQetdoqTzeU+kkEs7UhcMSK8uaGNluJqkooATszgTF0+gVE0CreCLmqLS14eaGM4RS9ZkJIBJLOa0C+eDoiAjuX9/gtFxOdeIcWhod07ufHxP88Myq6DGN2lJouXucMhAQTozGDr2taRJRjQQY/XFa8YVZV6gbuDSihvRzN40g2xq8JOb1U46UYXYvZ4Lv1KBUOgJoidOnN+zFgt6b2l0yQFdnp1zgxku6MEDHcMhsm2xsj/SwN573tufVPoc+8lxJju/VnPRZLDGOdi/I5QuL5mC9UCtLJTU9p9EyKvzD9pxz+23W9+PcvKLJMI4Yo+T+PscRlDon7kX5DRGEsd5vse/AwdpRg5xPySIdi5wJ/bJRPv+kgw1/uxm883XE7bHqVodSzF2/7MwY07iydHJhAT1+2LnHHWb4d8rVqY6rMg/uOTmiMU7Tn50DA6h+EgyaKPmdkr8A+MzmBBxAN+QJau7PyhXSYkLf/eY4+s+ydQG7Jd7MlqjsS8bCAqdznqCK+Az9/CoFDMsLRdK1tgg2/IQbXvWQnkJCaXC6qhLCmyqmMRBrg2uWLd773jFfw/Lroa+roRbanKbCkK22+Yprt05oT05BdotAx/+w2gSWILuv97D4Ui48T/Ti2O9jku2wyhLSd7GzTokaWhrDoF2vBaadUEMyhRYeXGobfocbGzsDS8o6KwxHqYiSn3En74MBn4NmxF2ns5MteZc4cBMqzRmmdzcEcO2BL60eYDsJUGKMY2kh1tUai4o2m7W8N9I/75LZDWEIqrUVtoWGZcQ5sui2ZNrWUCszCJtb53MyIoFvjLp0VuD5ZP9RD1a/JHVPxm6Bedzuzd/opuIDFZG3JHgB3llSsua2MKbCEofx22C840N28jqfcynjdQ3IcL28LmM+Xg17eNjp+wnpMs2C3IXbU+Mu5O4osiX0c5whyfsAbC61oTgMuK97FLjLSpldniM4SwhDAz2TuycTdTY+CnoZ0wrZlIV5ukzHFPt8IcTpU/ygs3BqGBVzAAGNGdZh8Ba093UcsI2B50K4QM4p+7MLj9XRgr0iKRMRQthQmnsaYHL1lGy7TlUVv6LDbzXHoKfkUkNTEoBUGnOqrjpABf25AyX+o/Z2nqxzPsxLthiiPWyblHIZpZ5UGdR8V5qNIWkH56QTTDQlY/yeL5paEOMxijJUCpyW7CZ5bVRj1O2ls6y6s7tmJ+DHSbgXuwJVLC7PLUyX8f0jMviDFxxnZ0eZ6Au1Hd48UZW00lgPgYQaAYo8U5CFQAx5AqBMIsc/7Kleqi09qGa+tuq19N1zVmw4IcXynjmD4LMTpNHJjL34qM0S/gSGl4Z/wS19ZdfeFhUSgoLiEJflbdvMqCamArC8k0qSV+VYhRCflC9BOCKL1QyVitu+k1KSsZdWXFYcFDMrirO3U6bq9UGNVu0bs6oYqlylnrrLmyZsNCoBVbplM1YwgjxB5A0SbypKoUkzVGSxavEzVpWb7ft1JhFZcwQOZYOGhhgpLW5NW3j6iqNo6fJl0wtgt0oZWn1trjFEuKsao9fefzmOlF2LTO0KwRO69PGjV/cq2RfOuWmhK1qQmBwPD/eTquFn5V/1qG1xGr0tgJ9EJ6DkIZt05zsKAzLCp/nixTkW3TQNKtD+KzQBgpfPEbLCH5IIxauMlkwsZclNncgOTavH0bzJE3JvEAJgaTX79RiHV84lUnG7gyNI/tp9yFhlBI2/dJvzJntg6V0bdVJzkeQLbvfHmxwo3TRBPR4XWiQtyvsbvYPPeD0/9YxRLwnRdwZrVlW+muH9c7i4FJ3gkqZL+QotVOiSntmP7oxn2/Vk+K0jaCNqTsqPSvukCKZoHEXpsO4XNJF2HwB0NSlUO6PZsIDtQfC9Bib0id3XcD7RV8Clwy7YsAFBJVy5M6J/0OrfMy+fysF1mFK19d0XBu0JO5ZhkNHXJ05He3Cn2aBY/iPW4sSattrGsFOPrWWXduarNL2srZaJw57ur6244jR/5nBF5oNGxziea6cfB9X+zxGva3F8fdB5fMUiRxHtjxuOQr65pk4zKtQ88ZoWIO+JN+vgrfsQQlB91fXGlEOd83GccP2wm+601qT1Xk3uFNpUMaur+WAQLe1kFUogpRWevtFpr5CW7VQN5vRXHvLh1zfkMMVWPnEd8eluwUXKhbeMr9e6AI/AxTOq0Y4RX89IEFDDS04yA47BBAocATVYnjWBj9hNFiY1t/P1L2/t9I5/VZuIzHgPFVpmJyUBUEsSUxpcfDhSaOaKvXvnskcRsejEnutOztV/wfAKhVUY4nWX4hIY2zBTlKsgUV8wnTcftzrBKKun9/xFmLs1OqzCX8WSCoMXW+pSEHUl1QqtvNUqrjzQbqK12RCsuhjRMgLNccmSczeTa+u9V8WTF+izfJOKppKuhuIChH6amm0OBxz4HUKmhyYj69pF+6QxhWA26b9JOgpfbHzymLVj3E5IeIeYSx1An9uaa9EykYFBFXJx3tnIZPIdQLMJk3I77gWkiYK7HmmmYFK9EwMl9TWa+J+hBEnTNX1LR73izil2f4r0Xhagb7FWtB8VaMiyRNFJc+1WYxkGGnlsJeIr+BEbqLMR6idnVg+krpJJl6OMHhCVte3dugcF2jbx2Hqo2h1N8urNYxwi+kpDPA2GJGjKDagOuh1mVEZfp+4KiAh1eiNHy9xPvi+5IvZIVFO1xc7/nQmkS7dh2jgr5NUQ+Gd0ujqp8IqOw90Ppa0y3bxDT2/URHEFx+Bv/7Y+VEDK7/pPHjg1tclzdIvmTks4Rj78P93plXnewpM/tRZR+DoW+ebD3wHSh+BT186K/XtDYu13ixp/euSB2a+7/wYgT+BwcdfPkrR+Oq2KsqAc6YzCIgjYaffp5qq+G+P1fzs/0ZtHBZyK1uBZHdD7bDfYl0wxTur8rKllYMDrC+nEmDxGwml6MW90jOXu1gPwMzORyVI2Mi+lrYdIidECRXJOORp7Qm3OHLGNgKEeUawfkZgnUDn84/psAiumR6MCTDyfsI0UOvW4Z61GT5DlYMhHafXKCy2Ai1NaBLR8+Sf0sD4bX1jtA3SsGpFKnD46kF09iDbiGosPPVYwWsY251bNuFZHwX//kkxC5o5rHEOX6KXSFtKeJWgV+rt8Zb8/oUo4ahajgy7GM2JcKd+uHdRr23Whekz8D0olwE5DCRCXNFn0NVnjCnSo53PRwqsMkf1P2xk5IJsOSL7ZIMdhI4d0Xwm/9nQIFtoptOfdgghNCH8HCMjfuARr6byMT2u2tL/hfGyMMAuQP8uTbl62oEAL4NmO7Un2RoZl8VxOk1cnIqaHa9GeMXjk4CPlknrLdF/YFU/w7yCR6YOpBUtCp8xtvJyaeg/A1Z2Fkn32P8wWK635aU1fHUBcxPXumSTjzyUl3+eRCtHUSSOR2WXz4oQTzt3J8bN5/pIcucm0DxeaO0z5Kpn9AEwKAwyPThPAaUhML9Olrl7P7RKlgwP+68Gk0CifdekZLL00hZS+sF368QHQFGwIGMM30IOMkw1cfE6EIsKH8lEWwoT2zWC6ds8kNgbY+mSsDJVvE8cs3fSYEfVOXh6CC2CNX/SqrPOgkELhJfi/EQAUe+RGLb7A92U0qbDsK3AbTcYKSJqZdCNH+GSgHe3Zz8x1AEkccABQgro1ORK4J9mJDBfBLnWlN7W9drfmXTnbVKfVMZVqYkzVyJSiKXclmIKs17KCIYzKJUAQGwJQfMFiDyp9A8FRMyK0/GCh9NkKHr6DiCHkQLcEuApf7OAE/kK4b0exhJp1IBBYcwQfY3ZtABqmfbqeAvA3ouvhx/x+6vKw+FYXCyiuO7TXYjSTjVTag1vg2Xartwd3hmK6HjCp37sicDiDg/TYJhNlLGoUFsimq4mx0sNQNJ1/fhw/efTmXb5Qov/VNGMaMowFYa+2msGKTSmAhgdKzicc7T6F0o4yF4FRw5r8fXBKkfIwl7Chm4w4bf0jEnoUkRM8TFTQSblXSpRt3G4pYox1XSpQdxFc0sPjMnoUotUXREj7aJqJ7Ns9N3wHC0m2I+MVBNS3X/OLQTamP56o/pg6drKvzb+0bx3cOXo0sk7vbcGBq78dc1c5/Aq6yspi6K2j9r43xYB/824UeqlVvL68Ahzgic3nbZ2zCcd4c8vq5pCA/d6P538Zaxd6OBe89PGX6o6DC3dq36a+ovUHGQfRe/nKhm1TbYqzf3A/+IjgwjlT0HRvPMs87laza7In9Y5mj+lDQtRbz2YUYMz6hAS6fcoBHZAgfmzhmMwIIEvOPDrr0bEugf/2ccg4HNuOAfdA3+KZOlPy9SqqQk/9lKAs/rX1och3D3aP5hIoZrKsSpAkSRLARFta5JbJPK3Nh3BRzzynhCKTIX8/vxDw7LvkjqWqi1oIcVpdm2hLlPVur+8Z9yuGqZWESb45+t18T8WVgcJnTLWJQIijLlkHUrWpiQ7VgGNc9FozyMskAvHNNJx6Ul+3Zaax/izrmaTBec1DP/FpV+s3ozK+Jc4kH5UxH2YRSa+oXHHbxeivuV21Tu+Jdmg2Ys6gdMmK1qGfKUNXjrugby3rpYHbHi7ruhM4x0ffdY4IykbzptF7nHC5oiN3hnIEzca+4a2C1HHAjB+zo76rsSTGHF9HOkew6WMhFLW4vcm4L1+KTHXlZID8aJvfddKCC/YbLBJnJKJ6wYLQGrb+DUtQUlp2fpMYInPXIahF63uuZuTTVAigVIn++1ShUVsXX6hgouCWZ808Odfzjsohywj5STGDMf9ozSOFWqVoRVg9skyC5XaitTLk9er+w1LTTZfVAlWtz/TiPkQtI93paFi5lBBDALwgyxhQCzgVx1pG491x/L8th8Ddcl5BqUgs1ilpDe7n0RSCEt+uKGGIohcYsjM9dIQI2EuKojaCR2qiu1X6hsBAM+b6z1qyxhtAJojhqvDZlGA3hrOH4QP6lrfsinM5eRnw4XRK6d/zYLOHfjcBx+mqmgQ0YvwtSYcVg7CH9PIotN3BRz76+pxUWrHj3tHpoE7hdJq/Qnw3oxqS5i7PLOOSTSOg8iDLIp3X9PsuUOItB+JCvcwKbx0PbL9FrxepGH1jfS1PJt5ia1oZ0x3gWRKSralrWxPWSr//tflAQ21/d8bs5AL+ktvzkEtZluqvJlL0iYJ5nLpDIjNLrpRznZazkhq6iQm+mRLjTq1FeBaVq4MxRi4nXhKPmUgZCzxHmaXmMeyCoVwaZTuiA2/blG4w6Ij4dMJcptW20pOM4VDYVqVuy7l3GQTB31fU1S4cTvu35u9Z46bOxE9WWtrMefrSmDIu0Rl5gYfnwVhAz8qBrtKjXSQ5gqpc4mTBkqg77yt5IyBTkVobaBQjegShHMXVQfiRM34wtoViCZyrsu7sF8c7yHRZvUnPnT5syjhbSXtWOy5kbl0QpPac3syMsb+mNxNW9w0h+VCdlQw0A4fvxq8x+Ja5yoGg26lr3+bNninG/YE6iKH0JNInxD9Oy2Ji4+ISVDcs4XYsGKqWxtYROmwF1XVzHoBGOOml0HyXpjNmg6IbFmmg8RiqzJ7YhrVWiKk1vXTVlAuJyMSc7b6TMHmUF/ObIBNsyUUeksgPG1eQLnXbq2kWCINsBBQpZVEYlFCxEvrNrrcKgqEqiwK2LRSasTbJrZJUM6pRp1Q1LFBQeA/moTotXeUop2oA5PVKAleTjg7+gZ4MQWB7Kbz76NhiGN1cCLN7IGJNBkNGVQ/ZCs2iU95oF85W/1aEa5sBbuaJh6pdkO+VCNw50P57/c3x2pOwpUs7/JJipBv85InS0kuMT8d0y1jlkmaWhRoZQaI/G5V2iFeZ/RLxbWBXUm0OvdjSQJpPWQEaJCNbkcJZUrqj66JrwmIr/qD1YN17rDoMyGoGMCLEo6JbQMN3M8BUpIzAuSAd/e7mC5g9z3mQ+Oexa9A7HulHR4dkrRM+Jz0dQZXhjMKOFtfSQbHCgn+W9iKqU24Mu2tMMyxaA5JHGfJ6AIX2slJw0RaehXMzQj1iEVEZLn6LylUiqzKa0Th6WmY2lWIkCIFrc8JcuamYXtxKPMpkmY574qOi7pfP07Vbjm+tOFybc8eb20lrUFn0+MRauBfKvKVYCAJGhxWIlXZ8dZLh7fPnKwn9M7YcHtHSutLHV/DjbxJ2J4XGXV5/skb0p0vPUzzglGrhPf5vqE2B0OHlSj8j+1Nt4kZ44LcYn1xUncTD/x3BcwMF1r2LnYE/LbnRzdj41a16TeL9mabkCB5izSnx/H7jxPyKLQNhbI8nm2heXdNQ5dL/QeHtYIXrtNYF3MJxhN30yNlH9uqVZ8v0QIvWlrB4XlaMYKHUuV0vSPd5fZiDUd6FWBvC2Z7FmR3PLA1ZFHERrC+UxTvmqkjzDDXV0a/vTWprbvghev3mYTE8lG2MrswwxhhddewzKOjlOCyRDC4YN/RiMq5m81eCoJMtNZHqcdY7FvDGivapbo6grGrS8+/Taz4ujYyQVah4mVH8tgi2FlXCvUUkEmkUY2SRT8V60VD6SEwPwrUikKiGDLHwMUcy2kW+x5og2Sca/vY/Ttj/PZjiVYOqEyHZDlvUOmoEIcTJZJW7sWVcsoXdRDpGN/+yJSpYt8Zg3FPlsf+UdZvQBSgrd12t6PnMZDfvz5qntJuSRmc3BJmUDWbkyP+3H4o02yp7YWZcuGzGyOvFRu0vBahZZq/ISjSgeuCOj9iO3wM9GyKUk97++KeWhjR4JZMjvfppa+GCo+RVUoJgT/W12knW/3chRJ3mpAna4EZSh4Cs+b9UG6OAN8tsS6t70jdRKIYJ+ajoQQNLGzqhMdFcEnUdy4Xycv+9d30jfJ6ITazRi4XsmpCdPoY7FjdjAcW7+upvjAmdPgLNBQAzoKtH3gjIApYirN/r2/rTjXVJw1AlrTqKlN8ozFjYUwk/WNRuNeVpnO7wh5PHh+LB4APRVqJ9/Gv4p7NGGiY/9DNPlH2/VAFZf2x5+GTEpqVtfLytC6vMKm+v53TkJ83AOwg2++vYyEqjzvtjLI6SpZgGhjYYk/lfNQKHYThAjWztmjfK8BsMz8otVm33AXpeO3XWgdpP0MhtSkYN5ShlCKH8qpfTDH/WM72Oaxt7FUbtq2Ep2fTrpT2n6xPo9AgTNNnideS57iTp/72SGp6lY2bBIk/tiT6DxoJlc28khuYOeVboC9OJiqRVjTOatecqBMYcC0q+STDxFJ5kaKxR60Gyvo5WmN84n/Lat0UvI8/KyKD4uf3CanFh6vYjff4oiuUSamvpJmnmxwCw2V+2pRR1+NjZSEmWNyof9HHsy7foP3qjYfcv9pIJ42Qs6QfftIQ824O8AlIw6rJ3CU9izuNKlTILFTK5W8hH5huuwTffmX+KT3pYXrncDyaDBq/cZG2PFbDk+YlXBtfl3Gb8PRCTSqFgSfVvwWClHf0WUJ+wl99CWRqOm0Z+SfRWv19KGQes/6KqA26PBSNYVOwdaz5psfKqHZeZ6aHQxDspaExXegmzN7fUsvOqlFKCXapWo66X0Lr/FJxEmrxl0q5KY+cjkYFFz8vuV7GTaE7d2HfSuiFUoudHzc9cV7JkdMor4Lfr9xxg8hyDCwPVGWeeMNsJ4lWbXEjJsJuGmYPOVmqM5iqIVSZxR++z3yIprNg6TW+uN1y142f64Ra+SeCqaw6b8FbI3G9un7rE15mducr0BLhaG3VSVLbF7JE26xTniQK07usz4rTamOZB0ItAOmu1guwRqOT7wFXQocb9REbe5kmcShFzXZr/zmLM7aYslBbzG6zsdwR9+SIUHZB6YDTajKlfZB4wifXdfbkZsPpbN5Kzooada8tgdTY6LS/6dzgfLj0rRLSV4mz2CUiO0bravAcUtt8LmRvqlAfQcFMpAs85ryTJ7RoSPra5kimmeCzCjvFEmJqsdq/j9gEvK3Ls1Zl3LIZpBDz9FzXKAhZ6MXYq2TfM9w/oO9t1cz1mLLPqpSw4pf1nXQvhnCxUbDeMH0RYOnERlvIHnUPJ/dCSQ6ZpnSDF4kgnVccniLRUAWc9ndKpZMEzBuCqUtrZNG+ZSWaz5XWwpUzWRfqzenOZbU6gfSURZORi0cm2off/7PYNscZ1QgabnECuaDimo1B3Pu8Ka/+RD53PtmQ9BCOTuIdD58Umhj1kW+MoDJIsXlXks6g0jOb8hSlG6EQqzV0BsmLlWBpFvc1WH6u4ZFoL6GlWWGI5zwJJQ82voBE00Ujess2jecvIhhMmXPdmGESm42ocer3CkudFnMlJHVgm1sbVaFwlsOslUHbjsZwZx8XBrH4EIGzfiAmio7QYctnZ3tyPSmEtsBTRg4srn+CDaOtq0LbOJryuS0R8YoZHcPD83Xdv2KDbSUXDoHdYeutw0+aj/cmlzvCjtGuXuCnmmv3LoIqHSYdFlesFngVcK85yDiiLg56mSCpzLSygeQArFm05+PNQgWmQYY8rIty3GL4BihE31VDGpZagopFRl50KhYgTRX0l9uZWQf9QgozwZbYVBG+lts3NJDUeDM/VJIkV+iPk0XZ0k8XwN3z/9Z4gwseJZzEydcRVTNeWgCOE290+rVvl/WIfLbuRnt9hod1jNJhlJOC/fTJnaGZTRuiTWW4ssCTWa3lJJy5YNNPFzYp693K17zXJyeV+jLJqIYuwzW1VlprUQ/LDA2dSm3Frzarh2RrTej4Q92B6HTEXXy2VBYxbjPe25qFnYJ+rx6FYZvNKXrcmBFyKRIosAp4EdFqGY6BhLIFBxGRA5Ay6Usj29xnwc3YqMVbG2tlGkIfaQasgT2W2MCus+/RjJwWF4whkOdbBUGArF+aa/2jqjmJMpajsw67xhqc9d62hdcKyUMwT2DM7Pqyl9MIHplkUctSh8hSORGDtRuMU4zTKG5zqtNht9Yn8s9XEt0V0BUKf+FTIRO8OnPsYQV7g3XJSsYih/HfbUJfszvoSBmq5N+krWhcwerFWWALzwm69bW4To2Sm5U4Hs/o02MbJWqVCsGRvdCHBynvW+EGS5sLY4N6A4hghTPhO4Yh+yhJ+pwHwZU4PAq2W7Eh5Z6Yxn7Dntid3Y+0o+U4c5SKyLg/O800EjZO3WvO7oxZG5ZJ/RGOUxAz1+XhaY2lnjKkrMqDq0u5Dp8czXpxZYIrgeucg0GI99+dv6WZP8hmztD6AoohbOBmcDMqIKl7qK9/0CLj8IzJ0snM5BcejpmGva24+NG5bL2tp1WrnulCUmOZkpQyhw5KXn7PUTLLpVzMp/bksZjEh2PNmfZ/7uYh6uwsC8JsNn8Q+tpdPho5w4cXOrsU+t7HuimkL8Kp5XHqRS5FlO9sO9R4fk9VH0nF6EW/Axooi3bgsXLghoZq/ioncNPWoOhyextxNUZ20/vCNzGVaIrKnlnrstyBuaN+IqYzNvrzvyDtF303d1WDtpUNQEASbtXakuZYajqhGHs/r6aF1WS+9gyJQ6/9duGygpd+8PRrJe8wPlrDRuitVNdHGyqLjF6wyMY4mji8/RRa+KU29ysNqhC1e08bVGe+QflfmJAmmzH6RGXbox0+awODvL1do0Qk4zZeTxLQFcVFJNthqYcBvix3R4Jv2O106WhJtO9jxmmX4mmYTV2dlKvJLJL2m94kEJBoWkvd5tzR1jCg+Vq51/s9ZdW+7iZCkaNIvMCpK2PSODJDuaOBEatWRj1gfqafA9B2F3GsNd4elfUfQ0oPC48yZgsjcL9EzyY/J0JtTK8/TGhVpGA0088rhahrpy7ukf4WKO03tWEXBEsiyGxrW2LjckX5jWItlWNOTJHNgRGis/3CjhoV8s+g9EbcCkAUjw0WWCuHLqiM511AgIz1K7m/s+0qHXei4FzoEyR98voGJjOR80pimbumt+39KHIzcyogWfNQ1pNbV91kVR8sMw1UyREsoV/A6w//0p6YgWFO8Jd745HlsfQWSo/fjOafNkyuxqiVkH8lT9PUPRUKNrnf7f8ZyQ/HsHBgoekzPqEoxyCMk9O/RsI/kUvyOGk4OVTz4XKBRrfkma7jkVH6+aq8vqOVcqPYDQmUMutWbqemx5fUHyasFUXkazIcuPSS/HJVlPmNlr33bIhy8rgmT96w2m+pMwaMDVoGTRUd4Ssy0oYMlalcUDbSwcJWF6Pfw2+6EmUbek8v529bbd20ieuuPUVye6cQzuezNldZd1rbiFXILrjyTwHpESp2sdn1cTmluQhcGqiyjiNjyqCqldlSJZNDXRyvgUfLiL+a3X5KCbX8gBFHft1CBKEqy7PMOXwJBuoETIcQwdcxDDtXPUbYJ5JtAs1MRZ6AUEVEjA4YDXVgR2KAaqiTFmsROBEhC4q7lNM80Ijj8dpET1ZuzTuia8Goh8+CtWCFFbpqgdq7fwUImJ/nS2b2v0Wx5pKBqhHrndBLXmnJlnhWCravgLwwy6+AZeiqozdZKXt5crgkMi7UbBXwsXo2pQ4/KKWk/rMwMWLqFzsRMlZldE3QCoxmJbgqG5DQaKjIXO7MjiBaiC9bqKeCgsaThGIRYaJCna+fgiGYHJLWOel0AnyUmsK5VMecDW/xKIH18T2sryOrXu+fiWHZaEJSJq+CM0ZeODsS9MgzIWXM0Xc5OQZXenfSynu/i9kH+9flMtoVViedsww+LNHCsFGs+S3gU+QJK6qJ34HmFp/JcBpzFOCntrG/wqfjaXpvw3L/k6yvt5Xgf13QTLDW9p+FFmp8zYWKt99SwWPeluvH+6/wbfceYDutsNUKLPTsbPW0fgr6W1z658jBQw5M3Hv9eVo31/BrT1PkcQ7sjyOpBLbdrHe1ORk3s21oQKkNFXKopPPrU5HBywc206ld+fPULFn7ECR+8Ywr8xFFppRwfdpAdogi9lUmPnTXCw7x43M+q1fszRZCK74JZZAysgqFgTStBBwmEgy0eC+jJDvLyCQB8lNk5maWzTGpa1flO4w9ysBkykBUWQYXburdgeA32DN+UR90D70fbRHx4fakAfE8qxsKFBwHNgx1bUm8EjAoJfJZNWNn09KPKYPzVQAjV0q6qSpELEpREnDbTs5ceW9iXswCUZ84/hAbLC1WgGmtiWAyydOdGmVDZFUSS28WNduz2gRrb+91uGnVQCzPt0s/+CkelJxPz7Wum5D3SEJokSqS21SZohpTdazqyZC4pzoSUCQicQr1AZ+io93ctiXy/i/NqQCEVsaSsU8ziELbwWNW7DWH0su9teDVc86M8eQ64iZwEsMr1SjCpf7SAeHz/tJR8NyF4793OP14oJCGLj3rRbQGhHiymsY8quIb+fNpEaeJhKS45OnjyQvBmBr6TvUfI3liOBWVNKIR4H8+n6jXhBhx/d1oGAeVymJMGhQ5sUdNUTVTo7yAVGg8kekTkO1WQrTwwigJYcUGFt6NTRiuWYvGFA2lVCMhb+5rKAq5nu24vx58igrbB9Da2hf6TU7xplwyf8h7LF2J1eJpa8HcDC5AHwq6ayjb9zHp2Q/FWC4qBRigteHiubcvZMFp1vn9wEcz1YDQuHtQseNyVNWCmjcUV4jPUeYYRUYmOSf6GUQuAZbm+Ukhp5UaT9sIxF6qQzeuntGjka+hn5NKz7vgAZ/2EeGELd4KubhX5dgGtBdGgW8oNJZdfbw3y+iJS+4E2thHr+9Ba8Ak2LJi9QU29ub6ZcEkqDNw6/5xONPcsLvRy1FExAdsqRiiBpMV4HkOgJ7cvW3qLKLaBV4s3Mi6QXaxr9XWH7ZVruQ+hhsP4nX3KZutPN+fwiL3YBw7fzWoNMeJims8slKwM6uATUMzevUWyJuALDWJKfYmAOXDL8wCy1mIOKaaIiKTTZWKUDqb4rkJLhh9ODkS2JpBfkISzOyGh9u2F3yKLFS4/dPCiIuwfIuY2azVwI98piGrrYE5PbcmMa/g3NhaPsM9nLSs3W5vH+fB6PRTu8l1+6U9xxfUZzefvNHpZCFpt3d6cJvf6kVbytgSKimqiSfbiNCeHkLl9apBmJmUPY6KoK6UGn1gztKdmGwZbZi28FfQh3Yl9MFbWyEQJlygAWkqdi2W7klXU0QxHWJAVPCgxt0XMri82iiFB1afP+C2wcaCLgqtx+16UR2ZPVOqXSEMwoZE0NFc9eBnxMsjgvafFlvXPwSDNoI2vYH/Oo5eZsP7rVfQpVr9F88epX4Pqn0qmbPqX8Xm510gJCOFPMYGNuJeQouy+uTuRqqSFtH85/MzlESExXAkEDpBb1GqxSKM72kzJ2xPGChMVPiKa7xkEVOUtddMfEWCddob7o/xc18WujnJxOLbCYv7bwtezeUw96C1Wdb1lFr0bZmzLwb06gSRDDdoKMsabbCvMU3sVyeGO7IlsV9f1JJlBF91iWrZVQmlXWy7C8brqIDXTLPrlGYPVVJVYRgIME8JpoZKT0nbySkm5Mwu3GXl+1KhECB8gqyaPH0aEzQkOo+SSKTOaTQoUXa1D2Xf161+qMIzU2caL9Qmj56MPU6AmNHiS4qtVLciDeKnT9+78ekg2g1x8kFbXeFJObxEgYdZvGJMon/8LbbiqliLZRws1+VYe3JPjphNhi0upQ1L1UkDB8fp74DczZO+Y+NLtgrJE40wPVnoxUw7qQ960ml0nIxwIrKVxillGQGOZPusdk5efeYCnQXeg4Zald381SFSXJBSpipnp8eaPip0UqvQdRK8I9CqfjjAZA2o7ORNDR46fEsSTytI8mvHaObfRszgmSrl48Kvi0dkETS5owcZZ69s0zTG+A6BBQuBMCs/IV6vL8WB5zFhGuiMSmTTyhRqcnrAZNLFjvFDPO0UHZqxj+gciyg9B05OuNWZcxra4Bzn3VE9/1RLfc+L6chpmRojZ6JxmZWMZ3QJO+BpvfEvopXZaanQQLsk0kVROF1FqRm1V5wVzADyq9OKjDSZkv0OVk+DTTkkDSMiZvh6ETkFyUTrO4IgdJtzYK2KoPmTchGwrIfcnyM0SSnQmeun4MqRCIFnNLWxOgkVi6rneLeqBSFd6Ifjawle6kRVPYywoCSf6JyGY+mDjwuoFMC+ZwST98MVkDENc/cWfWQZGE/IVUARMR7N6AZ42sHOLDae3g2Xd7mdczecsrk4VpB2fjKbyNb/D3JPrsmT/+8mXpuVZ8GL4hcrauVOIvNiSWjgS7UxuBsc1A6VKiUmi3rzUWJSsJ6KQhJnXsP3pUncdOO/tNiXKeGqN4FktvVjaHmIywEzOCssFoL2aqfY1jDxcsf0OffW7VpSMzusDc8MG/BAk0Wpn4dWBLFNe8gNbUlMMNMyLO0dLahFNCbtY/zsYt92UhsDZqZgw8h5Thc0D+YvDsDejLVtuv/uttKwa8iKBzmDEUPGrJldqxJPOlmbAiU4rociBwFhEx3vDMzZtzTAI2FbNRtHOWlV4vVMhwOuxLtOkxaHluDTBTwu5HlLD5Bqwk6XWNFTBdCexb3ILuMGZEnLDns3oESM4plljD4lhcu5rnX2kU3ahSpKmKsVs/53/XqTQse/cGNgQSg9MUet4tFl8e0AG0CHpdOaM2p6/U9lqiphn1jjwltXObvMPDPlYIqSIYKYVaG8a3ElWsLJNl09XxGRCJYywHtUPIkpNIjT3CDdk2UwPlUEuQcf68VlufrEk4g2lJgPDluVZv1uKuxRDASvHdl/03XEu0o1oqfMQGWnc3YGgS2DjFHrkgvvV/zooWleiI3xXx+o7SSGcIkG7zLbQQ/ieE5rSVemAEGDQl401YiNYnXowkPwgLW89oMxJMf7ibc1EtL7QgdYZDXDdBNC3dTdaIZrRWJsM+p6OyssLGlCH3l1irQhzZ4bjFxYIMXgZtggLQj2L6HowYRU+KpnCBXeHHpWMna9WI2sjXA4lFp+WZK18fkVSKjxzc036w6kPc6T6ykes1AvP6vci4pnZH+k8g7MrzpuRfqWWe81Y/LgWg+gcRlSva+ehUA98bjYLD9zOZjFSh6cFtZWUiIJWuyxCikSNVzU1C5Q9IgKcg5heys4BA3UvVMYMfJKW/W8QfDtpSoiFeszOidQELX956t8zTQUE+cDnwCm/8Xmj61cCbdW6jsm8mWKIz9KUb9rWLrELpNUCL7MOPmuxl3BLATQKouKPNPhMFnb6vmvQ4ZWBWgjqwJ+IJ9pBV010nabS+/eXPFWVI6UNQjZs3nKlspU58BivJK2880hYoIhzVn/6u733DtksIvU7IEsPRt3NTQfLlOJvbyX0hJV7c+H8ahwGlhaJSENzPHrRYH91AhlBvKLFy11rS/k7sCvix8IP+6Wl4t8E4wmX/L8NgQTV5kWTrzhbUi/KxEGDK8sO/ecFWL8+nWnQBfee0aTNgrEFYWJHh7ZD4UpWu5hplxw6zdndtvfj+lPkc8fT7lUdXAYCj5Yh5o6nX412Z6M/5Tfvu1CZSsSiBVOPwqwoG/FHG/KihOcWsk+99yxKGqTw44TGIbBWrUUAjRNfPdhVFgU+lBmCIGXYmCfSmQwdpTTLjqCHs8Ts8NiWTglD7psO0oJ6iawX7CjFwX16vqsYIOLuG7BkYisSK1xWclNu9l6DOBjoEmHTH/vRLy87hMxjYL0ejBaOTvfxnenjVUkuQ1ep5ROtV4cC76n92Wh4L5MwEliiMp6at6aKa4MpgST0G03Sa9ZqkKP7aSUY9fdQ8kjRosL8r8BRnuIFw1pI1eINcBgLB9qxQU0newz7B4N7WxRA6zTpOLH4JjS8lo+Ordff9os4XhIaLNsyG3UkBP+MvOcYnd/+DnDN4Ny+uZuICyUowiSlyx5ipBQHV/aX/SsHv48FU/fw4s5Xi8bQk9/mw8/dzcMqb9QvCCTRBpqSwSgrWyu/6qH2tTxSZycJ6wNR3rMPT/fkELTvai0nxhORenlTtNpJ4/sfqdAvUzl3TpOu2lzfl7XhjhUNUJv9l4hrUQefU8R/Sj2NR6JvFC7gZQH68VURjKCUalMtV++d33IoqXxVHmSaBt74Nh6nKc02J8AE8CTHpVpjQxTmwO2MRC3eiBUbBBvC+JZVVdMen906bixsunqEYw1q6nbXclKlTxldONIkPNttYDa3UnlXpxb91qgDedDelO34Y/pdhTZjE1xfwM+spjeyw4Gj+TKQSOLKCJhHoi3a/7Bq+fLVbU6FrLE8Crb4JiquvtRWMdSliNjkK7YwQ8rljjzTcleln5k9u5zEzobWmKn2kKXRkLUtcnjmatDOnO+rJRAKHncLuLgEIs4VHJ3rzxxK79sUBMr+2Nqp02P01j9BIwJIgT7Z6HF9uSaeY7cLqJtdrPLqFxIcmVoohfoy3fvzyaSHtuj2geE3UGEcP3KWUoo4h570S/aStVxdqI8KMJs81inOre3BpuLb4RMod0kqY/fCNpzWpzzjHdQKSA2MaLdPREASLkljAT63ATprpR11D0N4HTW2xYLnmISLb2BA9XxoG38lLqTtIpoEXO9sXxRSRvY1MibKKSc8DOtWx8gitnF6PtsLT7AhlRqEtwJ2zEkhqrcP/oq2zEPT20WxmCJfrKCqFre16EFZ1LhcgAbKYy9SlhU/GBRxi1I3jTwNcTzPLJor4hQVpx4E/hQ/HWHhTn9n9TMbJJWDn3Nv22KMXvcdMwFLFWWu8el2QedjFXNUSeLpDkFaUFuaumGsQmIKiJhsnkc58vCbfoDS4KXxmrb1UVwGQtHcNnDY1AuV8r2gpeVR4aQqoYjZJieqWOT+2PeLojaEA5tr6Ql7l3sf8LlXsd9ATmeF5MBOntHTIsUI75NhlACwgiokYDFINqeZQz7UgxYCG0qFhep5BtDPvLZEThZ/sSHR4XTFGqhjCzaKwpAQ19JDNegdlbHa+aOU3uqjnR2EY9eLhhqwHSSbX5DR794rXH1r+/SULsM/GQbwyvxbuvIKno9KYgVPSVYwR1vQO3pUTRBO6Ae23pT7WNqo2RVUWA4VIyExiKsKPnwDiNIDb9ykP4CPa0oFWWy6vKTmYziYC4x8WwxRRaeHyN2viKVoVLqVlLrLqK+H1N1zQgCxC+bxgSZ26RoqXErQYvIlclwupoqh6HcNo3/+Euu+GsQq/ZDbht20bfZylepYHJhEl79b1z2iVC9pUE7eemsFxWm7I3vEPKC+6HoHNyGtXtDbxLOUyj6aaa/7RS5OjJw68VHgT3oy5dyddFx90ClP+1CEB6uE3SdfRG6F5yUSpho21YV+IvgXWSn7r0V8kFs8cU5fkQXor3p+dw39X6hNuIx1Yv5JApRbnpb4YgeVx6shmvHlpA37OUAVIMgQNkjiINueOUNUGCScpGQlx0E44y9yQinXDaY39G8XIpjSv9LuMJJo5X40zUXX80JvPINABpmeedEyFsUh1NYXOW0i1LEKYVUfgWpSLmnjKo8o56gRFDWQ539yYZAl7HYAUHJxDYKSoxoqJCvw4Rf5/VfrIBqErVEadIZyUZAeq4tXfTzNio66dVNgeQO+qCcsgZA5sVy6uuMXfJXzwXykMQPvE1GY4vEfeV+CbXKAdiSSeSXj7YoRnp4hFrlI13x10uLZEayFUDZGhLIb/ypIY49TUWFG+LDlWQ19XMpuAzhzGhepR7nG+PvM/pzfUu4mdtw8ikNsJRupxQP//oihFjCiuaU/kQZN+tq5kYwOT4X+M//wL/96ym35TsxtIcV4khJ08CfdlCVAwY5sASDamFTei7EYjwxi9e81fGcIixkHdHRwSW5lm6u1FRSNwq4jF1gT87zHudJN4+Pr1fNCC02F/tFYrKg9dGUdj7/PkjJDYROBXaKDpf9stTv6lf3oBPBgISzPcwsSTFJYNHktWxG0tNyfDj0Unjsm5IsMRUTJ1srQqMXejSZ4C1JUIY4CRs3XE7tqOSg5rvMrs5bfjSB2wZCrkA9pq1Tli4hZylneEnmeu/PylHJW3xJk2ctzajv/KpEX7sxl73+FMZyy2HcLlSbL/z5foDWSI3azLVIvYH8ac5aDrA3soDttr4a3v2HEw35ujndDCo0kJQ3auudXJe4Wu5e6zWfZJnLAYBnRvl14IGsis4yTpdFKDngZumP6T4QPwxkU6a244bdZtgwg0i5PNypmRTV+7reCWneZe4R98nJzK65jPOLefOGUO4Q2nB/+GNLMVYpZHN1RaUgapOYuScO5eFSj7B8slkzEa0yj4w5wV8hupnaIDGoFM/8hTGtkHgjq2ZD4lx3eYBeOTXbZtFg0+ZNFBbCm8i5gr6t2vvXCywu7IL581wtI6+WsHUqrRRfFnkW8VSXFk0BO/fFlvzz9fxRO/ONQ2FY/3hMvub31PKEQt8X7tOeAu7JCQ6v8CTK4XbZ2N3GaHooisG/jQHC4oNt7TBxqiQ2hgSZfZC2KhhT2gyp7ZqPw/z2N9mf/9AUI/8+X+M0Vj847QLr+LUs15Mkf6ni9OIt9fhpX9iUaHz2hD+/LJVrlRK80Rw9z6Lo2yXcYaqihGDFbrFldW/ryNpfSDD3UdZ6OxR1eZbdo89ODsdapThJCwL2Pl6SOlZg7yWMeBAwhcWd9kTDsbEOosYuHteA5rRh6dBTWJRiRpqQucLk9MCGhd9Ldz6oyXFqUnCad6XVwMlM1+7R5ZfIc3nwJL+uRlv9BeKIpCTGQOE+sIwL4xhrtNOgWWEdEkp/aidjSGXldxilfd6tg4VA/4/9kBO9r2PTqe8jjehDNVelkToRnhWrIPzwIyPjjEr9EBfhfR7rd0o+Wca7uwgSXRM1f6hC9cHfyI+iHz+3KJz4CN2Dfvd3yKRm3ciJcd1drsHZCGb/PwXkG4C8hMHk3bwTokIZbSxfMtp1/D77gAIpqSg5ktt882fzBBSDPjcaOk4ecqN+mVGVvO1OhaBWekgsIbTKcybeaqgmBRacW36VuHSUrXfxiGAJ5kuQkpioxRGh8e43D0xoOpo+Ygmu6pe/EVlu+rYT868KZo2DTeQoa8MEvjwLNgg2A7Gu6nnkZBENRY2PU1wrA21Ty7w2DT/ow5kX5js2BbwOswDlR2Wr/qGE5JP/B6P6882a2aOeU3+j35c4encc0yqai1IOgV5wkeRsh64wY0Lgy0Mq+M4aYTCJu1lSzbIQNhdAxzwMHrjBczvdxX9MkTzUDeutWSn8vZ9wysoaG/AjmYdaFeeRpMUaTIGcVr4aVE7UoK2X90KVhdk8JWqbZw8oYIAyItvxMSYE0BFm7FWBQJaopp5n0CXvgpiDYie07ecbdhgJuaGASxoZ1gvv38QVRSQCHj68OnU6mYiBF0dXNPwh7l4fcJnJU1tKqor8/HpsBe/kjIufmd2hCNf02iL3rsdLNi/yFws9FBe73IVa69pz92vuh1ia3/QIULvFpcuWh8186OuTCIL33Zgva9fzQ0NcsKSMOwYIhx/5M90ttaWfQ3lHT5mLNn2xg6PAsNVp8xy2iqXDkkngHqebBVEYNo1Ua/7D7qygEm96pvamEIpKEH1BWoZ2AvM508ny+hF2Uvw0hIfGBfFhZ0y8ZU21py+BDr5/ysR5FNGuEhQJ1k6RVGyu5646m8/RSh5UCPH+S7TQKgRu9cPbCkrTSQppo0XFQXsw79lh16nUHAVDqZmQAw1mcHkKKcnBPs19klNIORLbipcR9me8+VwiNm2a/G6oYLZIEUYdoj5KW+rc6bm1XDqaH3p3SGHrOf1AMjokPPgCXHwofAsqERqlaPkHZwfdlL8pysaZxqVhiIgnoLrBvrW8ckEYs89LJnPWAfEGZEWGWArna4q1ZEqGf0wOOwRdzNzQoHOiiVYEvgQ9BxiPTTxvm6eK5H6U2Km/3TpvucjvwTKxfWDH9wkdv4Nh8/pNsO9dCTaviBlbELL96juWUoK9k7DMuvTRxvtHxvZxRS8Y5PmyGWJHyD7Kse2Dk+Hr5tNuOC6tevDfG6xGOjmq3LJURBIwNUzjMM9svXXsIvLrrKxRqyvFmG7MFn6vVI0Hf2m81qqk0AIlGVumG5P7OhhjhAuxsNctbRNLLIqHEvTOzIHCccJHWUFKG5yzVIXjYI63yjELfafsuCSQ27+ocEwWlA7JLF/NiiCQMvgxRGr6Ta0GwJvqMGlBU5ZNUEvfAA5IK2B9B/dwnELM/KoY9gWojAJ93VoS2QI6eR9tnz4C8VDrSjwHRoivq1r6rfcWakR2x1KU2Bvp7LvzP/cYxTarSrW7zmbIKwhr3UdTTpBSTTDjerXkRlmpQKEf3+Ig93HZQRgHtPZopuqE2QZmQlPsD2nornOD+mY7TUiAJYZjl6B11VIVMj7WY9kx92nzX5uFs5fQVCuW/lIDTbY4qVOoFfRMXHBttfXiFVgbU9k9I6aS5bS/uqfIKNT0Zi5rqvrgMh8x7UCpWXTydIyUQzPVJxkq7zOEely8EUG2ao5sspi4+EgAIRJpYbmGxWu7UmiQVNGGRBQqStdKvtX/z+LiDOzZTw4QLt7Im38NffQtHoEMlG9OJ1zGbGX1RVb3eBsm8qHDIUtxV7oYKs52WGzKO8blZFSqX25tZxu1zzwzpefynFYI3fM+q4iBPm0tHtiuYEukazqRfzuFuAMSK5o4a6tvNy+YD7zbXHpan7XBsKVOY3s32Oj8gdtb0aTGXqhXX1b2VEO5jLlNJ7XzWzoHXtde2JPUpAHDiSeGka3q4r7r80E6vclw+Wcp7uS30KkRIzgWymUcnnztB9XXzPlbrIGG0nehTdWLzLgLZVElaDRLsed6Q6A9TOixvpKcduvK2eX+esEEs6n6JnePXtiNKW+SCBYkGq9pcQYQoau7uuBFnGQ/VveSPTzgzEDDYNUKuuZfRNc/RgMvUfvq2h8TXci77DAmK19J3gDj9Kp/ylY0rHn/X/pxqi2HckCnKLIHQUxW111xqxb0GSlotx6cksc9Qhhyz7sPsrC0TR2gHJA6zkRVBVeyWRiqOiRtAp9kqmqY4rEUzFAq1zdarX3sRAWqIJH3w6YaF5Q7UaWs+E3c81dU0mT67OE4Uh98HuN0B6EpAQg2QFGPjj7s75eX9O4MOEv5wvAGaPyTYgYqh4/ctR9IPL/hmAG/9KrC4ddwvxuLcT28X3+766TE9wjPz89sxwN1pV7efKZjDTa8vtFmqZPoCuyUmbRuNZM+XNmarzdiLjjDPZEI1lTfs/SWiJwrk7S0gRdsXsF3duNHGCYpzqpoXhcn/yWi50jDTllIMmJkeNxOjRHl6gNLyBTSamxjYut2b5RMT5NzNCPgJfQ+0Pn6yf+YczZN9LSlwEfxr7jPSJkzNZaOOmq3RGPcu2jwLwDFxcZ7rTci3GII945BymGDaVmMDSZDH1Nt9s/2BMwvaqx5JvM4Py718vE4LkYLMD1Q3O/ps/oqvkB+BZmxNJ1dZptdyqeT3eM/53j6Y4CulE/snQLPB3pUz1jJO2tTMN95U+41VRC8bMPwWviATBu3Ob4nJSzsvFMw/GqdcIEfnZK40NE5zdked08CiBcQrzVvWAglVxu9ghHwnkW204kFJ3ky5yYsnEutaQKzlYvJE5bBC+GYsIUnxV9ZaS/1cVmf0u+wP7VgIR/syLm8YQOGlbdWzSmQKVEfE8Gm4iIHLPFRxu71lwiv/lwJChbNbUbkJG9vfQDUClXZ40/U7oqMrCB4JbdDLPk2LRCxrdKnggjU2jzIhyVDW+LAf/TuTOXqqUURbvlWS7hlO4FUw8e7/VXJb2zSYV3ITjJmFwnayWMU5uPQHvTZGcGJeEknXO+zoXWT+KqzIJIlPz0WWxBYKBp8JhHdn+jwphzGOzgHsluGWrsHg9zki8AyoCEs2ddStAvz1CTflk5z5HvtUm8I6DCw7fwWXbGq0T7BXF/b6aBOd1PUBQrcVf/F9xVRCF4JJXioAJ0MDabHWSIQLxBTelTyV8U2y5y75reP+xePSyzN1UyausWtnjB/ttL92AvG/rfVGEXCkeVuLNf/CczgsHeP2DoPrWArfuAI03iHd0xF9+bGC7/PPiGeF56NhrTpfcXj38m3bIad9W/I2jSNmPtZwYIH9h9E2eDB5Iz5KDqXjRdJTZjTF3hwSQjmJ1/Nr+EA2eVFPW31WIsTwjz0iACFiWrFltHxdn2Cjhc9MZsNiip6Ly2TNVJdTYeGGNL/3nd2FRc9dBZvOmOGiUPiVtxr7Y89WWHR6jcYt2fTz02Ks2T/xn9+ZQpmmfCsrXZGfBwFwrgPieiX9tKUvlxbIjka6J4iPvBUnIaFK6Z8LmedxN/iJKGOYdMmgVsyGlVCFzxYSSh+Vwk6x8mcPx+aOcHi0gY5Un9vf/ce6n7zwC5XO9PZlJZDxOV46iaJ7B1DrEdnkLNX7ZxucOO+kMdjjNQXPCe43ru62xY7qnk2vGzL0isZ/Myh2BdAhVv8XTSq5y7O1l9GNOLzIa5qctmqqM2ju0FEhv7GyjGPRpTNWOYrK5lFw7JHjBBZMBwDX+VAeZKIRKufGcuqeN6Z7FA9anhfoeFngjVVLfcHxzBEZmlWdPkXBNrMIB+bq4nCTyKN+EArlIHuEjyOkc0tPUyGpRWVztXkHSrplCYAHjcRJufbBn/FoE/TWt/WMZHf3EgvXmb2Nl0K+gxsZIvY+XfOr9p21nGapGplF89+mbpHU6nxsvniRAcLk0W7b7rgXo8cLKnolGcnrioi17keKSu+zKVGAaGxJYzyhOR4NhoW4/UfNp2JSbR3UsYrphJSNKnkFWIuuWLz9BE6idUksXUIWZjRLYi37nB93kGtKCxK2GY1+Guhv84ME2f0iUg1JScGZlhKIdnQgGoU5sUCKc2rmHtA6UGPDlVul9Q8mB6lRvqtfzc1m8GbUque4Z1oraoVpBYsKkS1fz9V7Sefc3/GVTypQRzgJTaEK4o+kLaWgn9wnupSVXQ1QfQIpbejpk6dWr9yef/hnPvmyV/tX53IxdvqMF+vHVJp4aKjFzpvLR0U2xgN7yTLzqr+coCZ+MtZmi2F4KEh1kmsF6X61zJ6wsNMAIlmlPWln00UZhjNz3NcrbhawvSRptHfD6NuxxSZXRqi75pOJUTZpnlhNoWKnyJfNxFmcYlGMFLrSxS8o1sPNgXxBXauipcRNRNzMU//7MWtYem8F13LqZWMn8YgiaB4dhEzZ8XG57NMnv3XxvTxDcgoF5kJCM9yKqdajaOWJZRzg1PmRPm57UVulDVNEBZoZIkUMnMkhBAgPAshBIidBYKQREIIIUwJc9O21Cy3ea5ZnroiqVmGkV5akiCgdY6kA1QBVuaGdg5FEYslmzfwEkXMdbya5KrU7NUzrWEE4Zky/WVTtwrELjOFN0Xx1AFa69x3v87Bb/+f467TguIfzlNDU8GzuMo7xznUygzcDA1hhXoKlmEaH9kJwreDlU0+Gt9jamCqfQwmumEeaYljbhGi2IYBz1CQtejE5CwQSp5ic5GE5STT29JFBt2R93IfOTNg0kgLriuEqR13OdbLFD+yxQtAmEtk2udJIXdZoI2/FsOnzI+XirPtKF01TllsZE8cp8WlmrNpE+Uqn7LQeeXQMDzVw8qOzWxnlzX0GINMXElam+tqVK9VK7C80IS+i1vsZLyItYHua1REBpoHcf6GYZdflnAHD4EfetSSxFvF+Ca9PO7hOkjlgqXMv0U8j3ZvJM8ssUHpT8a6W6GML8cjBc8rdD4TQaTfvysQTaW8JA1vLsApdNriMHFEgeVrSAGR321voaOtjxKkWzesx9f2UX9TGKQvHHlZi4trZvsdBHUP0oYRBEPGYTbv32cWG+2zRzsgje3+YTtGfujV+smW5ohjJnh/Dzi0SCbPBqjLuY8E+8uL6iE2YCxH0EMLNHKBE88DO2ycmoUy6OzMKXgXvrAuYW7NTPuihRLi4DqgpfHkzXKxLwYsQe9hFRtrd8j2K5sHoMA63IZjGX0jUmIV+VhyQNJYJViV5HX/NbtyEqXXjlBP6C2PlOlSKbtisr5FkbwqQUCJatWQwb2FvYkpmhYSCPJFheVxh8JUw8ZcZGUcTdM2tgjOIUSlS2Wabw6GLBHeCrMgCLnGkeN3lBLFaZ3RxcwH3oO+5rOqaMQgsBHXoMfmLF9Mo49/03epdUBBSKND0tFsKg6ZdnNR5AX2FeQM/zlr44bm5U24WpLGOBQWBOZDA+WqlbjyWeRQLBn0nYZl3pYxDvlLCO4j/bC5LxbuXH9gbINMAjOBkXpMWxj1DEtCr5M/SbmdnCOJfK/rSLRsT/P1j3NP/u8K7aDhLIja/PgP2r/DYIe03vmYkJTjbY5z3vTBzciwyChOrquUO/SyLZvylQ9YBQMbSPX5FPQgfAxrZFa19SMGbriCSAgdlHuqEeW4YGBP68N15PwRASSRbeKqqIESXAY7jY1xiwR1ecsGRp6g3rCeE/6nqyXYv8fA4J6yTPyvOWaYKtLeLLNSRjpBeVYbrQ3V29S4KEhp0+jGIZRuTsEnYz92QfQqzzEqrRWa3Di1IJitPlDTc2JfEoMcNqwCslheXV/vxNXqRVkQejBstyGhar0K/GkKJXlsJ7vp9tIYK/ws2z8MpB/HeqmA7aOYNmtp0xGsZN4ixk7aq60DUzknkzygzLzJK+b0QjkTp7iKmWXoGb6tbh5FUQII9+TcMJa4ZlR05zkuNUYUyCptjYEq6o0dkBNHBoeWjCeFT75BzLw9+VFoVQ4AAqB3FAkRjxSSMptfcILnrI84WVThmw1hWGGIJ8hQKvOywOO3hYNqXKRDl+UNVYcgFdv63JNP1IrMqtMhZcweq54yszLexNCouAnMyFPTvfq/uHhOvGYGXx6qMlWH4jY2nK3ErEpdqVI2b95vwGD9uN//voADsxrFQ7wN0IPHyRQSDQUE92AxkbQ41EyfP2gJN1fiZr7H7/TXBokplSMFLnm2tTInorSoVKzfHgpFRL7ux+qzSNbRXv98yfqiaUHiyX9qDLGZkkQ2KQktyiAv4VilbVkvk0JeKLFzKWi4TPYDhiUJx5Rm8pjFXbqeFRuBerTUuQTBxg364Dt+iAwJ+nW234TaFx2BDmS/l/ts+77vuWYL5N2aLFWk5eJOfHLkYh2/Tzw0PdQM0p+p+Gbi5W/B5675dkrPPzuI8ZuR7iHpGDltyiyr05hrN6b86gXWf0JQKaW9duQ9P51KifYXMb3OppEujS4hdOD9MtRF+h528ApTv8G7TmRZTvM9yNIAGnv9Wny3aFI7ojqejfoxf78haeXIks34IXmsvqb2cm5ZMsCZi7Je0rbcD3Bl3zOU35YYiv7wJb5Ap0g4WsyAsGpd0xzj68jh17098qMXH8FDA3w8lIHBhUVmj2Y93uZ40kJc27rJ3kBI69KBUit8UFofstt1cCWurrd0+ZZr6ZegywP2ujvnXdCnPemWS42VpmOclK154eAVbSvfarSBAJqbvXRSaii/4Fr7UtB7Dx7Te5xYfgzcM2y4fS5sWPY8yRch20NqLi6o0ps9ksOOOk5e9htg/ux1YXof6fkrNN61xqXSDSeRt7w7PBHtrtsU4A7gUPcQnuSgT5VHgYHvqnaum4J8Mx2FEPK136aH/LxRyk51m2/NxDJx3OeY5olsAoU6u1UmolBOGBuBsiqwm53ANJNj/d8hIkVhW4LPFRkUhCRkf5PxsS5qIYoXYOJWETgiNH+rp83DSKzcDo1x7+LhyjHJtwbIZeCBMiee5gPTDvOnYu3FStuozDOlZpdiqXXRhulpipqi4PVDfDnvurl7ND9pcxPGNhBwpZcf79vcfNb+LX4dnkMacyhEfoUYAGCeiz4ywQFkyiKusosbv6J4J1WPHnNmgIWEabBUz7gyfJFlc+xiRxxqa1Z7zB8IMiWHiUvF29nsYJmTLZ996sBCJlUcIebAnpx2PamZx7TKd8Mr1J/WGwyPTduPDwKcenHSLWSf/GYORCVYdkqM5bR8IcM8UMcwT2IxVEoiFe57v2I/bn6pwyZPEpoIIXiLI2vINMIoTAJSJZrFiw74tZxe4TKqpNZbhpkgBzyciDm7FIuEZ5uaOuXFXK+D2Eo7r6rOCPWg1gUa78kDnkHX7VXxUlhNCMwc44XAdhSEd8QcbiQjyO4WMcBgjDme/tBfaKtwJsUujuIOZFsriNta+7ApohyuWEmyNIDmNpEWGZgbA1+AYWM3U2gcy3s+fOdT/KgUTLL7XFttkZTkuJ60Vjza9q3K8ZOE7ddfO0C+NmJJ4kuLKh6oAIDfb6/pUm9IeZ/B2XjFbXLXbsgd2jDtaHwwJdh8yoXjVPintm4vpWQ6L49mZ+M2XO8OEKQF8VQ5GsCBzw6EoSSR5Hi1fBo/3nfQMS6RRPmXtbojmIs129E9Ee0+DMqFc/jxfmtmxMnJkeJcYfII8/w0SRtxGP/OMwoKQF/qu1pwpEQuKGDFDhra6EJDxLOPVVXISrdijdyBqIucYVXAuD9eztNfw2n90YVOLW5CFdfoZ65pV7n6yd3WZ+AYYPpIa6I14oceg4l/6/o9UQo8miZsScHBUTdw0mvFmqrbS+KQmB/5R0sBfpWTctDElFeofO21mv6KVrV2NNKAk2fi6XiYIIIkAzFsNj1bSnjeCH256UHpR5xTJQIk2Lo/JnIWcD+bNl2ertRDU8lTfHB68abUdChcnKYHlByfXm+SZ3lpBUZ1n80uNbMA/wxeaVhaUnDYKzHfR5pqzl914kg+4EvnQCk6kSrZe+FFdu1ks6NQVHUPSB5/z7V60GGY6fjoBoNaVWlWetTlNogNNbY7jzhti5w7PvBtFkbPpTtVQIOxD1raMw30nVHfBS1mndNmlQqsdMZtq9PN43RLhjTpsEkf75raYIQBzUQYsJd/rp0Yi58mAkBkh8fZh1YR3+p3CVvBGM7EMKpOItjEKYWV5ogJc0tI37Cbq+hYAQsCH1XRqXM+GwS7vIImUyOrZAzJjD0NLq4AbS7w8prOTpouFzxYvJZ+F7PtZYaSqchyST3OiQ75bOwSy5uw/AwuDqb9+o80wbwYRxmkLGvEGI2Udobm7uWen6VmTJ9CsaP1yBJixsNJRdexAjQX78NL7NiBks7tW313A8NPXQVLGXGQ28LDMwKf7xJKN7i+HuXcvAX7NWgqQqPFMaBL/9Qqk836BCjhBq8gkCqlFesN4WnU2Rbg6qgiY3YfHEaOjUtW2ijm4+fiWlQO0Q60uuVjDYPJcLOEH92xL5X+pxCKQsLijRsj92WhRso0s417cX+4pMNzoO+jBD5YlHu+yX25YQ5K35z09NLLYBn4xUCdF2XU+nFKk2CEbnE9R51GuZgsPocCkIpAoeTFHr/+usn+SNJl7f5GTTHgsiDZW7uWlZ6DAXshWz/lNl/wnW/CqpV3oXHb9egcQsuD0gtRWNop9p2Sk/dFlyd/3ajHavvw9MTV5Unhj7zRMSiPt+m8zXkzFzK2MGekClwncr1RkV+o9eeI/hTzN86YXeLSvH5xzDZPknagfRhFSXonlU/aKFyaWJbJvx4KHMK4OITZVw2OGWCQB1HEZJK85GOhNxmA0jL/LdHw+bOeYXKQXApTLg2ocqNZ/W3F5tNEPIQ6TlnxkvjOc4xlhlz9Mf+ER5/nuOZnXV+Agf0hJMxfjq/8ZxeGuAZscXO8TW+Ow5n5qPAdHGsZTA2pZ+XKUD6p7qH1deyoEYwSdzWcL1LSqu6pePcmNCd0k9I9PDIeuer462Vg35uwrYep7fcOoPTkBiwwH8S2lWeS+XJVNkmVMkfLDoHtnKw+/+FHG9Fya8dsII8nOwlTeZSEPwHv8rmeeD0UF/EHuVXoyUjEvV3neVP+L2phAnuDKl/JCtPHw0dthm3bZWXpInSsW2elIXf1Y2V6q/33XBkD3IWkeYiu9DcnAn3sZVBirmA6Xy5hFS9R0/0cdYQWTXXN2LTKtXDIMhloEnpskmajiorW8fORes8CGwx2yqZO9oUdMa7ogd4pk21+rLCRJUcDGzERxVfgdUveEw76pIFRgwuiOFP7G28sFfS+r5kEdLxjH57KYiVdlOzvoiKJD0JxSfBDOixVh5Q40sTG6fLV25CmLJuGvIzq/6NnCLmHd94zyIwDldb64k1WYRrj0k0xod0Fk2VTPk8wX/ve2p7AFritb3d1hU0h1NBW56OXdHYyllwo48Av6kSGDlsjK0KQ/q0GfZW+u5BMze4d6WG3WdNF7TiGuSEZ0GIdP6iQC7+o8xSKoBK6fDDxtmRZ6Hwqu8ZGQNl0Nem0rJFFQ/OahI3bIN7NhdxO+bvDb48/trH55uulwUEYlun43HHYt42SuX5eR27p7okNPw6qx3GpnrXFAFLtPszZFjoRRB9IqhJSwtOjNDPY7f0DfREG3tgR3MNd6tEs8o1ujrp80wPr2yfPBDZBiZDpSkxn896V3LKs2qnFpXLXQA2+11o4zwI8etzQOAG+Fl9XqumTm8EsbRURiHQmgt358iuHeTHyg/hxjcjR9qvavAuUh2DqaQwh8TxRGLU+U34OZbATD9qZcy19syqGDDkwbuDZIbdyKufBpaplikCorot3FjrA1ywYycSr51+MxD2Uuc63M2AlFaVeRQS/eUv0mtPqec3me0+L8Gzo3cJj/fvJDuwGvEKRE5BSYBIvssw5GMTodzsPeyABdnvyHJCgnDSsdLpScg8sCrqTvFtgmKoDTooD8EC3wE3wW8QdFILfh7wJaRWT/XOCdQcyqMTES/VIUXG9WEKLHzg/OMYw7BMIatcOyjzAnobXJk56VuLQccTmvhnp3XPmC6guWpYfJbO/40ozeQtjWtb93ASLgAzBjfUBV2NV8G49iRZdHifjhv4ytUeoB5bb7fY9d/1+CaSrx3TWDNZKijtXgS2JySIabmKROaMqPS2gPYAyTuQHqJHJ4jjZuxDQuOmzJ4D2AmXgSNMNo6d/XQCxO8M1i7CxQ0rl3Qv6aVnBjuE1HEkeJ85Z8MxuVggsHoBHM2iovqrjdV+Bt4s4YUWoxHQAm3qEbv54uOQpujeHqDlBk0u2/0hPl38o5goVwRsJ3XnEr8c1O6XX3DK+fsrcOKRHZw/Hv1RksjdVYFQb4ig8V8o/bJh4wqAaIPfwFC4IKmGxKIxYAIAlKjGB8P2dzuXV4rRf/t8JOxdWydMh8mA6kDznUMpua2IBuj027quUpxOFd9osm4wiIh+A+9PhdgAb2o3lQzT4r5kgXgCW7D6QN8OViGn2++rgrCoWSlE6681U2G8RvVKnQNIS4Hd/zebbG8ddyQGaUoys0psQy1meuQOd4EWdE09iTr196uFs+ibj/GehUfKvqJg8RBCq+/ypHG+DTZlEmbbDU2CIUr/+/9kKZgP0iviSFX6HhtxJq5FDSBg/c6yyceuzhSCMZCfxXguYy2JbgZtBdpwjaqBesJOxGDflZQsgZEd6V3Op+5MFeNltuQez/fUYyodfXI2QvS+c30OYZxvCQVp6aaknglKMJZ270NNDFs/j1pvrKtivCp1IKIcVSddvv0cblDOj/h+P2Uuc+y3/OsgImTWVCazZ2V4sdnc3aNV+/fh4/J9udIupgo93KmYzO2tLEFjqqgVb/gaVUoEcK03uJfDh2ruwwE4uck6SSwPNPwF1EJSh1RCyqFBVOEbBQ04iODeGO3lIv9u+GLJp7zZUuBm4bATO9Gaodz/tSelnFenHPRQtL/TPF9khhF1y1PVLrGkeGtgRtqHPCjZuQ+IKM2kGzBXSQ55xaj7m6RByPubpEPJgjFQdJVAxbe2I6An1Vr7Jy6GZ+gjVpTC8tbl49MSgFfV1IN1FnuUS7aoTZz35kNQH1wTTri7Yvg9+lna+lNTHvItrsmc96Iol+IRqpZ4HFVKUUvkrs/iE3/DFrTdxmYd3Ob3dvU1t9pc9MyQR2MtRJMn7xa635BrjlamjoRO0D8nyoGjX5t+AaJ0eEJXOZFTZHLQSUumQQipRBGu7sDnK4rChJu9tXeVLqFLtoLHXTW9ZqW6fcsebLe5dVwSjuL8sDYAJkla8GEgAfue7EMBenX2NHwbClFiEJ97cWNUdrvRLH359FihgfZ18DWvyXCyoj1od+cQcT4+TTSnD7bsprKsAw0UiSJHwHsL9YREl+IVr8Vt6LxWZMsFWBKrT0QQZrY2b3QGPq6XmwE9uNGdLbG7PXCfDITd8VcUqyaodCm2lGUY0ZaI/xG88C5pfKUtYFztCisB0vywoPHcPcWAFS7nOAj9bC2zy2w3GWC9G6mH/H/ShGunTarwTSw+cRVgLh+/PXpyCXPUXY6wdz2C1YS/dimC3YaQ5FLPqw01OzSqBHiUyV4i50wWx6M9RMowLtbbV6CzgZgskU2CQQgNOokv2L/FszNM6+zEpfxrlnXaw4T0IXJel24mnNUVIJ5SMm+qMPvw/lNOf64xsSYUM2AP9aGzTT5Q8VHrUdqATTwHnKW8Wn+tPrcxffhYUaI3cowl7qH41g+lZdg0hiQSqdZPvpt+gXp1L1GDN5y4wtKiesE2m+WC+a0C80Vk0iWZZJf578S5B7kHI5m3F6117/j791U3YY6r4fzma/dknybIjcYMgtQTZuSYCNAat0aSdJvLHnXLAu25AE4rYfM18Olv/x8WmXXVcm7dbBAQINwQnFaNdd2OEO1LtlkJAKAknCDqNemyfn0ol76zoU8+z4cYETQIb/Uhn+IydXWq69FRXkcuX9DRAfaKkhd99aiYQGCWIqFiZRFKnIzkGFzUKiCeWOJHwZG83NjbyQPMP4/xH0ReEXjZcqNn6iC9bqi5Y7qTA9umRLqRsJDnMUAiUCmpRYvAUD+cHyHMfqL/mWUJEJpOcyRBWFTBCP+QL1yilQWd5cO7yjmRajOIZYx7IM3v79qYK4CoNsiqqZDZwahna/S0jYvU3oC+40SAYpv64Y69Y/YVK9vAC9LqiLRj+KWDwcclxYMwZONMAIsd0qIu4fASly24J8iD/HGK9YsC/MDG7nSUQSV6NwqT0dBYcCjqkty/oyFWDTRMgememF+sM6mrTi3wWrozxBc/0bIxKx/9RYw+D9bYKNqb7l9Jfh79wteOYo4QYb4G++jRnDVZ5ngs0ViFnWUc0JS541xDWLILGSg2Tu572ubwRIne0FCYeRSBkpdhyh/bBwA+jAKhHrJ1XFN0Ea5+LgaDJ+GQZm2ureVoCznkOjKpaytq/r8isFC94Ilg3irYP1lseGrXxeAUoem8NRE0wu9zj+/yxIYq3jL6ifHd8r8BaoDXwUXsN05OlhqidUAh2M5KWA4QM5beWg4u1WdwkEaeldnXcHwBRFzwECTq/tOQER6whsQO4X7fIOETf/CJmBO4GAsib+AIXs69ew3A29JCaK4HyqwUqwrAQTWxJ64YLs6USV1LI/NOPKelU+pJY65S+Su6TDi4FjKTo/a2aSWFFJuKoD6NHHYR8KonrpBqjBvjMtWvrLz9EujD41nsa0STGLj3+xTwwrQDrln7KYEhqwEiJFGKkr1DQATnqgYBSVNJKipeuUYmkGxjTPswoBMO10fZdjKwhRzLmD/PrMZBzvgDdEl1c4jzECzBvaHA9paLUs5NaxNVAiUiv6UfMEZl4Tw6rTIRs1vPaWEZvC2CQV+Y+w2+n3APX0jKM9lVj57DPpKh2/8174c5BfwoTfkkC/f+qcSw0eCD/OWufrtbJn+C/a6tWSicp//xNswEygsGGwV1uTKBxanhO3UnCn7sFap+LWuWe5lVPj6zy0Ez7KRuPVo8WYmN69dzy4FRBcMaF+qt3+Ys8YQCgCf7qeRRgku1aWs8PkUQO+u2xinKPQjLuKC7m6IaOmPEq3rtJ87pc2Zv+Dz84//Hyd5dhFZT/aqWd9U12cHBBQS0C2RGJtADyfW74S8BMlPTC9GsByTqbJ1a1j7ZmtjVffBfKZXku+GBB3dQ6pITTkVxPRvBwEebljORp7gYI7OtURqHpuf2Y8h1BYD4wlA+Fxv+sR87KAUU+/sJzF8OhLhTuouWvTbWK6DyEeQn9ulnkH7ENuzTZGiGn+Oc3gXISW3sJu8HRV2/EJJVFYH288sUkJSzKxQuO8OP07TmYTaBMwrdbIDrP8N67+dxyzKDPUO3Z5TGvlNIO84Q2QynfEwP7y2pAUEiFytDIFdWe9U12wvBeuoJ/XOR7gcZz2K1HMmb7Dd3Yi0XziXbPjnMKElKkZKKFPAbJ6vqHq1CJDWZAy9FmuZrnnYP3GD6M02UPQul/jlGhwKN1VkbQmhkaFxedd50L5eGA0N5dTjeIy9hDvbyLKBOe/eqm163M+u84A0m3bPXCYYd14erT1AKyozDZfpUaiZMNpXRptIyGs3dv2L9APryAfCTqHoS60d6CuXrBuZtJV45kTHtDKqOASkh8XqdwSfpbflVhrrrxBUGtNktk+umx1VbxzzJbqldEHjilHB6CqdSYxivunwmSdi7ULYTv1+t49n6N57/wiP9/IJsL95+KE5ycyE+pUksOHbqQBinSivDOalFGJt3yEjocwnVC4tvngNuGIg9/QI3Vfr0V8McltraHXetWYZC0g3jXI+53AI4OUqWnxNpwqXDrGi5CmLFGSclcSOSMRCDdgspi+16AyQ5fN93NveCrCfOiVIC/arFDuPJGzVULHhTehUUeBdLOKxOl5YjQeJAjBEPt6qHbZKiX30tBZxm2Kj+XPCPJd5rUqoSRzKQV5iWFwryUZNXJrmVyvbFKojyTdg7AJPqY9+UgtF2sCfoIvY6tHojWmexgzcPFtFHEd+sj/6V/zLcRedUlJ87uPRh92kql9sRXmzUK4/+f8SOrk3sEnr08DSpmyxNt8kmp93MxVFfUQBuSf2LcTOR7F2YKolZYHsWqT3iSz17JjMTQnSMfBRgVNDZNIpD1t+LkolwQ8OWy3LzllO3eM9nVM0mOHihdVjziVXtYkPgLokToDZ4K2ZwKvd7y1UIZcyvBTJ3ccMXM5bne6FvKfEiIsWi18iVpUl0vqeCDUUVxKicqeAR1iywzl/2JJGwpoJh7iin7mPf/Pe469p/IjvG4LWVoGN0kS/HeMr4viku7i3bHJEs2s4zvogP/FMPGEbXJlHmCp1ioOqGcieHdF6Yu40k2/NsN7zXDH+k4s3DwBfGdMLsTXlNqgR88YscE/xPceM9QZIYDCbz6I4chM7wk/Ow9+7xDeRDDrxwRaL3fx14L0MAIBWgi59Isk/nQv+Zd2pL/34TRnn2J0MI431Uw6tX/+boNP5+CMXDgKD6O5CeF/SMvPTajMBkWoY/H3/G+wHcBpj5s7dMXc9hu5V8hdO32Qz+Kpta//0shYjxtcffDwCucycEMt1w6b7CzNf7AExX8hecsg5WgNM4fgnFtHFP27OCUcmQX3FPOuHX+QsBMEtqwQiq0YxUS0IHOZYkGjyY3aEGLrKgybUimanlweaBynkyeiBMHZEucsw5RktK5HEjGxuSd1HOCPkkjp+Anacaz8z8F9EbfFA1b6Ii6Yxu8ph744fxBHTwbHYD8tl/CLTcDd15WdnBq5Qe7kW9RntgVnHv5SW3szV5y07H3YLjtKLz8we3AX2G3XAcXlwPbls9vSbwozq384WHk3soVVyO/XC4h3r7AFyyDi/EX1QQTzt/QSrfHMP3OEb6RxwTSdMgxaWnOxbbmHM2jfHPXyUODL0V3jg3Dj8L8jeZ3acbUSZiKG5OPhiEKM0fwxRUGo5kKFKaVZo8azb+offkqoJbHBmcFNPLIcLyD012LeRp6rH/itg4vyTK+7cJvrN/xI4Wb/uDxdx+2RdLZh+JYJIMVDpaelhAfj8BR/jvA9y8uZSm46NYAAOCXFO/JZoHqkmCR2+JySZ88EiR3oLvmfDjEwNgNoVcac5fxq4ehcl8SRVS35uQN72Ec9UhXugiwL4LhuFBcONsLel5QLXenffOclV06GSFUxS+VzqtHQ9g9ih/0YNGvhtM4Y21mlY6+vIYWLA9qEi92xAg+Et5SjBg0D24w77Tmy7GnBWNO6n+9E/JBPonTfMg98z0yzLg6GPsmNJ4wt0bEqvtwpravc2TqSR8MkL07hnyxMQU5CkU2X2R5+EPdlbhvxIsJxsTdWpSjl00aSAdgWncahfK+YBmDc6fsJUOwaas5jWkVNgBexPkk1er1PS6o7KXcn9TE6wM39w86ki11nOJB2EnOmOyuoaVeBTO62jh8cheAjzodcB2oDNrDCE1XWbSGAIexu7VWh6aN+VMi+XAB9R98cGqxJ6rARpI90qK4pYjaZOwXG1Io/mq2pU4kYMeHXBwhuytHqYdK4MFIQjJ28K0RFc4Vu+aDavWJQh+0iPv+QJroq0zLSPzPB+Cm2XvU8jOfKBiOmgHlPmmXXQpag/EotkNUgNIfSZvZLz2HxQG/JOtcqZXKA9KbGpmMgxV+g+wYXwTd2roPFF9AVO4EztoLnPowDkcSksJ8qpoFc0BaYvYyKiyl+AS4zVeTODoQ8Vv0i7J0zq57M0zlkZ2ZSe0gkN4d+ZWVR6ZvjKJYGJml34XPBrbF/HhoT8EPMlyuV0FrhehlGasYISobHofYXcMf/cDja+YgczguBEdRFq6iIJcY01Yz2p5gcuV7Px7kvflu5dRWWPkiOXYcigDR0RcphloWkIydJnY8zqK5fPAMG4QNaXnMzidsRYKA1VlNOEkSlkMSqEiH1i7x80xnYbXY7pz/OIRvPOqgbSosSSgsokvLCnbzQe9LX8+cN75oDOleL7qfeXNkCVaQeRLhq6Cgp9UCrKwT8WscpE43m/dZ+WR7a2ikBvNUZ38JUN64efc+ydONOaWlRjYIAYvcRI056X1R04PbhXQz8wUE7d3JNqSH+nT0u5ySZUjyXKLuIzXa+6SZa+Gsv8zRFrYec/uLLQILJhZVfsHNiHW/goPrEqelnRopkhZ7Irx6WtCimNcRDQcAnitOrpD78qHDkpxT96mq/dCwOWt6rj43BepgH88qawqSvQqoRCUrSTmludMaBGO3S8lw64wrg9MY2mmKt4Bpg+mJKH7IHZaWos0W6fFF4de3a92bwVuhMCZEhYoj7/z8YvGKA806XEsP6UTFLUTCWEch/rboGvUJglrzsDxpHPxIVSYqADbY770yRLu3TTNU6/OJtDs4RzQPjujvLPq8IUIHD0zovtOnZdzJRotzh5OQphi449K6EuBIr+nqj5doSgxn9GJaiGEYhnG7Y0riB/n2Tful4xWW1/FrQKdtr2DyLKEnEgHL9BDBUYjMPsxemSBA2yzv9M3+Zb/NSdxjLHSA7ZtcpSk1vSRMspw5DhfUqVcSSK4f+jAagREl9OkUnw2JHpt1LUWVC9OQnxASu+sQWRSG/vO+JbsNrD0GOOEwnsRZ80gm5nBAdjFT/ACbN34hQyiCLPDOR/RFhUWMgjRRnIjprSPPOJ4aEMgdS4EpazBz6rQ0iz3efRyDFdkzdheYd65jJD6BbyNSgy0mQjNpnu+PxQyKh48OXth2UyaTZgCuAAYk/D6wsErFOeYEcb+2IKk9oxOf+l5qEN5+wnjfp2G3RCiJK4+ZAZdNMJfCXQaiFuyOPa2L0a7mslLeH5rtsS9dptcXrTVjPSx8Xs2QoXpa2CyDCWrh2zmusfkQN7ObNDt5P0O3jwA2xPG+UPSWwUEa0GXFTCvTzRMCTw3lQKq3aIbqAh08oxrrFjLX9+Q8nDVwukY4Ji35kO4CgZc+ViXntC8oxrlC6ui8RZLeM4quFGFc9lpiR6m7+qdkXrl1Q8J8KzWipL7IWRcpMOOWUrAVDYp8P53a7SQYo5UE+Ziq1eNniRf3oXi9pCukO7dINckWS9KtY8LUQl1P5lnjERfdtITWuYP36Qlg3hkJ4w1z6zwNIRkkq0HRo0Ml8FsoeUexvw9Dhcda4rE18zE459gMDRden3swcJZ07KmATgDMtlCblnilj/b4JYaHWQ4VmCcf5gX9kC3rrnzh3bua19CdNblKfKX+o1mHnMMC8GV+WbDeZ/j0cWPySvm8aBx77OEv3XaaZDOanY/PhPYWlcXbzaYWrsV4seDRDon6w5V5JDpUfRgzD4Utbbwt2S2SDJAenUgS4ynsVoqUmqGTzjzES7jgObIdApGndcdb4pKqRWn+4yBynucwMgomBIOZHTmPdzTyxUWh1j6o2yExpDok7vDM57JKDg/2PPKRYENXjul7lyCHt5OwQHpKokmpbDl8BkYJ9LXrSuYpqZiv5Ww9sCACY4ayMo/TItPwwX/3lvJPfF+9wPl3jUZX5W3p6ifmhdUItNsWn4UjKzA556tkiXwu+gPMAUhiQkQ2ys+zXo1bGbrsaxju1Tx/tiNCsJOMgp/WysUwIxQG75Ht1vwdLQwck+t0BJF8bitvyDlMkI4YtJzhWaaaU91gDF9Odnc4dyfdtO+iLa40Vx6T3XXRkXXM4VNr+siCGeAc8M614iYNNRKfSB4UXnbbgsX8PO+Ui2M1b7zMj/X3BtduRi7PpF3tS5/V+y3r30lzgCFZBsus/yq+JOpLP2OQbRqmbkgYddPMJPippmc617Z9pJCXcZIMVOsAPV24FSbTeUkITokvZhiGYcSWwY7qYTcXWuMknAHFTK2R6OIZEO4rn/xTt/tVlFNBRROYRycnEyNoH8FylTy8ivGAo31lKE6I/y1p5dwz6TSmdxK8AHwokhAWLer8bLYbseuZorv9Pc04u8tP0r1ZJx3lyOQwoIjFqa4cfIbQ1oIGvCJ9P3EQ2FDegQaMX8zO+LOTkSqD2xA1mjI1kZ6u/SNIkm9quQpaMgIRIlPFTfVAlaAqLJYQN/y6I8eeL+lRSQPSKsRqDWR6irHHIPeoZPqZqVr65aEqe1CnM1wPsx1vfwu3zvtxuoqRBMhA5ks5ddOcSCBLCEH1C3dSVQaQDXtyQTqaEpJnA5lHUrTdzgnwnVlripQrZcXiGp2khoVc348Sl3/XBJtsl3yxvFXS4trB4+FmTj/QzcoViEMgdadQVHEmcV0LjJQJMdxYC0NLWQ7l3Ba2C7Yr3Xc/+jbn9sCb9JaYB1UzPg0eSNQqjYAr0KtHJtifSrlx46pc8cEsQPaLJs1+rEltu1P4ha2uRoo4abZ95sTX1eB+6WsSEa5okngngY6LDj3l7t5KePPCLeZU9uG37OjGDhNdbIgtYnsb2gK/a2fLIFXfP41Pm29qTsV7r4coCF6lptG8/E1L3Y57BLcNV+EMaO1i3p18rrzcqS5NuPPYRambcWiQHhavVaMM7FkvP9KuUf93OAgrpZzYfb9ULpeSxKM+x/cjwHNgCUbC5SEKkiXYuCAzEnfVMt1AFVTDEHD04fGOQV+zITKoJrY8szKGKH8zmYSn+WsdtdsDYsPLiqYQX9S27rQQvs6OEfXK1hZZcc5yuwIvjWlQzAleEnMvFyk1p7MrK03D4Ct10qA9rBjkyHh77xyyO9enYjvSunktaL4fYJxBOADb16oeysHzBFtNL+TODOhI+g8elfuIeTblg1ZsLSASH9LeCB3aullTZoy7aGsoyktsfLjUgV9MX5OACcamtqB7OXGUiMVU7y/rkguen0qxpj9OdR9rJjloVCyF8ZfGxe3ciajRbPm1OxkG6vaSdxL45SDg5lRjRTooU+1CnfH8R3JnYi/pB4peZ4EqjtJa1pVLOqScc1+8tvgbgNPy+3NMqOyNkz+V0eWPVZMGWbFDylk7sv/V93Tt5qnyYekwnXG8iu4CoyA0cI83UmjRj058KeBJ7CyJAoFHi7dnjV/1rWtOKP/hbD/6+ps8SrE7C/qYhgqqCyxocSQ+xuF1PQhLZmaLFA16vrir1NidwFDZdvugNHZJ4qh0Ap+kw677g+P6tIY81+JjUtjCjPYm01RhHYnbvzCqkDP8QEA6sQsd95XTYpQXkcJXL/piadclMrmdgJfbrNq+C61hbaMwYR8yw7TQZnRnhIqsFs3MDsMwDN8cg37VyOWzoV405yzBRK3jiEzgSkhVDN5zLdnwGu6KABQzYPvxxL6XTXYEOgsOuN/2EdfXusohhW1fgXEcacYJlOvnTna0eA+i9iJBnnddrSg6zNcCM6m6ElPze34v1U2wq/HhgPejLcdXYRqeGswvhRsKmohW1xU3YH6xoTdSVAiWqGsfhKuxP0bM8SUXOWQRkr344TiED3tvqt+U2BQamrLiktH0DdHli0u1tUugUxwomRL4Oh5CyN74+nY9Htmqv5X5ilFP0c94jPenAcHYh/nVQMDxGMEGuZ+eKqxQYkQUPp+TErKNu+Rv12qFLIG8BhHMXGVK2rPMOAd1riBEnWdVUBpZmFHc5hxOsubDHuduAZPDZ0sQK69diHwlqiFmquAcSfrKymB82BcrF3ljS1KjVw7trBkKbKtGyd3noI5pJV+kC66udElzNZFkswDVr3BvMGG9sblHRg6gegL44eccmV0tKxaHETgs+RBFrWp3TVg9dm2ZgtK48cArL1DuqqVXIMKosE4Jfg4cyoi9H0T/MHQAHUAP3acvRVKaUjrqvCxY8T4J29ueS8P6GNdJsgjjI8U2gl2zH6yoDFKnrp5CqPsFXsa9eiXW/XqbuVcQ7lvU1NifrKu4pAkOYRXE0En788DygbzZdH0uRyZyMMMXb+2S5BZMbbA5WJfJto2sY/kC12XAhn3X4Sr5cxPB2OCixopzNFvR7vqA6fErntn4HNRYR27fNWTPr8UBbx/n5RYhhRZSlPAVP1RH4lVYjFeXSzqEvKmO6TeuVRZyenXsb8Le0qGQ9G4lzeB6yYB67YvWYQUhHk31VZXYvJE8bxGan6B1w1gJ5YGmT9Sin281oMwrMFBlv5rYkwMbRUCMQfjJIWyQaThweGFD78pyc7fFdHs5Z6ygDqAmSJX+XeEiSQzfGIy1JcCgiKujWajfQiivrGmwxS9NKSYBBuqRWDHq4LpOvhAFKTP/DpsJai67mqqXyRwFynnQ1zN6oLevm6qH1YJmC3eaPRoghXjjMIr+I+MLeoXY1GObnBwfq9grzynJWcdmFSejg8lfizL3a+Hlc/qIIXWA/xDldcl3rYU+OqXKT+fj/h1LHX97n5DkO4Kjtel/QCZStgM+6GG4xHbROFV0PTTl7IaAQS9ykA/1GVfUIKOpJd7v1beT9yjU0flGfJxylpt1mwF5RO39uJhaE8+NXGMHjXGmK5wTFOQHr0eg6rlL+n23dkVti6XNp90ekJsanGAUlRACF0nw2xqOXGJbgZ0z3qqLGl4GyedHlBSvmaJ4Pa8mRu0lPXa9sfEa+qwKGY+SQ6SneLycc1dGpaUDS+Dllv1xN3Rg2tsrbX1HYs5qlcNKFRiGYRiHOseGKh3b9IQQX37fmys59u3b5SjH500e+nqKituClRWNnjRhQe1GM/vtFrgp2wbCagHCkmGqIAcGpktVMrjih3s0zhFciPJAruuurgFh+HuKCuwKDx92Phvur+rgXn5mFp2K1pUqL5i64mx1W1TrkSLIO9riKAhXbftB1fzOL4EDTrjYqVYBE75YEQSL6VEUB2YilyYO2Pj8OsFKZOR7uRIRfaAjYyrHuHgZiSM9yWvuXYjKjFXOXopVylZeQQV/JNa/eob8ToinpGb1lI/w6kOODMSWjbT8zKKW3KnHDjrVITdGp1/J4QhY0hfewLoPTmNoj/iDp8YbZR6kpUCKsvLEzPmjo1XNeTLnu4P7tTjWlu0CmuoLbFQCy/CqDSmplfJtawiRjuBp+TcvDly+ViYBAt1OoZIrQSaM2ESJ0KaZpGz+xnubamTq3EFCHgpnXQ6/ZlFXAJSrlWAVSUPeRBebvctRvgPrgdZBuvV5GsgiYojl2/k4+LOH+LYCIPh+ycPTxiQjaanxMlXfEX8wikZ6WC5hpuy73oH6OBPTSfSDYMMLsE51XJfPqKSyQXSUbTeLk/a6f3qWSCWcUwSU8IwonBYUze1N4/5pkt9ysRWoNKtToiNzf+2r9r+jTj1u62eO9WZ3FJMF6UhXWdOdCsWDm7LBXJhhuSBkPju909eN4WZah887G19HPPuJVH5qwuXt72Spk0W64yHSYvbyiA9s6zgfUeMU6qAknhy7gQOJlNfmqrNm4EMxfnoD/0AOeBlIbdA5LOpdzq+AcIoCtBmBHB4LvOw1tMXtztmLzz8UeLyMT0GfCaOl4OkEa/exBhS767ZWoNwxcUBvwtVfgyi8rWsHqWsyw6rBD42WKlBmMRZrqccyAx7FK/OMo6PfD0US2t9HhogVMvUbBxdQxmHTPk4FxrmCh1oPf6Trajb2la6F1Wa5ANhJ3ORqF81uDPucAqkir3V62Xo7yqPPJNP711KQC9aeIvpBZocpSZPQN8W5QNKk97b8QMHPt32bIiTYY3MH6M6K6YCDIGziBpXlEtbwpQpnAlqNH0xvkFpmtemV3EgeYSclHFE1n0N9+RqG6HgJyTVTJ79u4l+ZUZxO2VE5LkTe4+HNzgTm9Jh9IJ8vpDF3Be+icwUPlrSHl24c/a+bD0ollUcUDRHgk8jy1VJHPxJ4DsZJzDPN03wcAoq2FOcJ5FCXKXxeTkQi0omX7RLbopA4MPtaStPE9W+PUaIFHSgiQaXrKr2C8uCDbLrKcsk1W966iBvI2F9XIgZRhsEbsMxcRatmBpxyb261DO362+sHh+RxBetA0/hGqmMCvI/ZJxXB3cdLyzxWb9NU+hiUllXaMrc5Fv8XATTUWQ3vqWH1hbFXxIc00DDkCVGIYc+J1pWCP07CgiAadO6RDkHgHZ3fkHZBMEzozEg1CEqPzn+RhiCIAp3vSDdBINDpLo0pGBI62UmXWVB+oXPhpJIFcYfO0klXWeBPdN5dmrNg+EYnnJQ/CMoVOn+6FCNB/EHnq0vXPwh8RefNpWkkGJ7Que6k/UhQztD5yUkeCWKBzq2TDh2BN3R+cWnXEQzv6ExOqh1BeUTn304aOoI4RufZpZuOwDWdV5fGC4Lhhs7eSZdzgvIPnQ9OKnOCeEHnwUlXcwI/ofOHS/OcYDhARyPlKCiCzmZSqCBe0Xk00vUocIvOyaRJBcMKnYOR9iooe3Q+GsmJIC7RuTPSYSDwCzq/mrQbCIZPdHZGqgNB2aDzHyMNA0GcovPNpJuBwITOatK4CIYKnWqky1ZQfqPzs5FKK4gHdD4Z6aoV+Dc6v5s0t4LhCJ3BSPkvgnKNzl8mxYwg/qLzZNL1vwg8o3M2aZoRDFt0boy0nxGUC3T+aaTSEMY9beAUKrWRZHKPE8umlauGsPKeNnAIKkMjydIPTrzHWJkbwuSHNvAxqNw0kow9TkRoJd8JS0vawF1QGd8lrFzixJ8xVmIijN9oA7+GyuUkYfKFE19jrFy/E1Z+0QZ2QaVMEpaeceItxso0ESbPtIH/BJWrScL4gBPXm1b2E2HpnDbwLVTmScLKc5z4KaziSBgzbWANlTxKmNQ4cRtaOfSElTVtoAaV6CUsfeDELzFWdj1h8kEb+DmoXB8ljAecmEIrtScsrWkDn4LK1EtYucaJf4dWhp4w/ksb+D1U9r2EyQlOPMdYuekJK09oA0NQ8VGSpVuceI2xMn4kTG5pA3+FyqGQZPyBE/vQymVBWPpPG3gKlV0hycr/OPEhtFIKwvhOGziHSi0kmexw4iG0clUQVu5oAzdBZSgkWTrEiT9irMwFYXJIG/hnULkpJBk40jATKCEdR0ZmJpRgw5EjZnRKSHLkEjM7pwSPOPIZM4NTQi5wpGBmbJTghCNfMFOMErJw5Aozs1GCAZ0e0nggGEp0ciNdNgTlDZ2LIKEYDYvARHGKMbKYMGGjGEcsdCZKVoxLLHbOhEeK8RmLwZkoc4pRsBgbE04U4wsWxZgorWJcYTEbEw4U4x6LCCbKRDFmLKZgYtzJd9if8yj0Ziwsk3i3E+/nEn0GPQc9v3I1k+8/jo+X/+zTPuJfjMPA9i/Gv65L+9+Zz6/v/tEqbsq4e+UUbnXN9/p/Wyaxh2rVfqpeu893X/lQ7Xt85Dd1/xyb3Wr4p+J1/PovxtPu/5OOn/tfT+4fre18O7vLvvqvGiFr+wiJ3G0gy9T+VxXbevuxvqvBwqZsPhVG3ikz58Aw4xJL79RN7KYOvP/4EOD0zMTw42vA4d8RsYuP4FvHA1t/3IvBgYXd3hL3xyVDuKAxRXGOJBG23vXvtO7+Dv/7q+kPZqOd6NHffUVltfE1TurBuVy4Zainew78Au1/HGdXfASqoaURwDcwBICBSwcoDZgZZ59t7O/nnulJqBt9/RHLw0/EZj+5+l7Zx90xs3gbxtmOsN8kZhN6A7OAnXa/xJ3mB1rTivGDy42xfOj9gVf/ap9d/lf+7ezzhmCBjpfe9DYLjpfFxynCDmyzKF1vsvyD4+T+j4N/x93I/JgX4C5o/f0jfn/dtwsUyHZj796I0+DRDXo6UynujnTGNw/eJZAi1a+tjod9MmiMlyO6QvvfSEWm6xNx1t6zMbIozoxOGJd4ZzBuKGrceKBMzMErMXEIPjAeWDZ5ZW7oEa8cGi6CoAEUjLQr3II6DfI9nbuRjXun4adKwpLWZHxyK0flmsN435Ae8v8yCCr+xdj4QqiDibBT3QbBWNzGQteBZiKuqYWMxkfuKA0TPgNEQlNIjPJF75icB0rPDo+UgZ3xlTKyC54owYxnyoxGwU6cclr9fFMsH8Od7AusgTxA9Bgdr5CPEAm8+W8EmXW0zk80ic6rutHcLRYbjFv/gW//i1Y6nE3RWRti4dBH1AmCDi8ZeQexw+ioyE8QYkz29qY09VUgaoM+Q/3GrcQM64CsEE+OrsgVQhucR4U5QVQBvUd9x1KOGlgL5A3E1o29f0A+QaSAtzlygMgbrA3qAZpEg/UOOXY+pauGcetfkUcnyoyzKjqnQCwy+i/UTwgSLwnZHPFiRsca+dkRMsJbq1htgahH6GeoR7iTfYP1D/LSEc+GfoV8cUJ/wHmmMIshqg76o1HiXn4arMfIK0f0YWz9LfKLI1IHbxOyOCI/wrpAPUeTGLC+IGdHbIKJ5zfkdyfKOZx7Jc+LQCzm0P+h/ofgAl5ukPeO2IVHjiCXhhA12a9SyXMdiFrR96jhmsSI9RWZDfGU0QXZjdAR518KsziiGqBvUAd3Lz8T1lPkdUNss7H1K+RXI9IAb9/IMEQ+wXqJWjhNwrA+ICejJbLo1v+GfDaibHG+UnQuDbFo0X+j/nGCBS8V8tYQL6PRMSMfDCEzeHtSrG43RD2DfoF67NzJvsf6F7k3xPOIfo18NUL/BeczhZkNUTXQ75U2t3Av3w3WH+QhEH1nbP0S+RiI1MDbO9KGyAdYS9RTp0n0WJ+Ru0BsOiaeS+S3IMoJzo9KnnVDLCboX6h/neAdXpbIu0DsOqNjhfwUCOlpdJSmbgJR99BPUH/crUSB9QNZA/E0R6+RaxB6hPM/hTkZoiqg71A/3FKOG1gPkTeB2M6NvX9CPgWRCng7QA6ByB9hvUU9dOmygdWQI0vUDWPvvyOPECU4i8KcHLEA3VFHI4AXkA3iRY2OC+RnCHF4WylNfbMhaoc+R50Zt7JXrCPyEuJZ0TPyBUI7nPcKs0BUBr1V2rwI7uV7wjpDXkH0g7H118gvEMng7RNZIHKDVVHPjCbhWHvkDLEZmHi+R36HKAPOGyXPVSAWAX1C/WcEG7w0yHuI3WB0LJFLR0g22a83panzhqgz+jfq3txKTFh/IbMjnlr0hOxOaOL8W2GWQFQj9CfU32YpswbWM+R1R2xbY+/vkV+dSCO8HSHDEfkHrFeoF0aTaLE+IicXAePW/4V8dqLs4Hyt6FwGYtFBf0f9MoJHeFkgbx3xMjM6XiIfHCFzeNsqVneBqOfQD1BPjDvZT1j/IfeOeJ6h3yBfndALOK/ALhoA2lstabO7x7IGQ33DUGUk3GBZgzFk9wx+EgxeYlmD7Wp5KQRWHK1HI+FvjMkKo82+mLkdCS+wbMKYeY4x83okvK8ibwiarKbxjaCxJLKeYMrWTJ6PhF8EvUuCKTuhb1p7QmQFQe9/gt56JNwRWUFQZDsK/xMU3hL/YAoorSB9BdN7WSmLaElFKzE2YqqVPQgyq2gxsYYFrfBqLhu9RHX1tkTGCuaP1ClGC0KFc5BORaM9IlOFla/IepK1Iq9t7IytxMoVrSJewZpW7pWaVhrJVWk8SdSm8jWhVIAhijoAh4ISOpITYYKggYbSSDAH4xat/RwsbaUkp9WV0vkqYiBSwC9Djdv0qq1acyUBwbDkAMm6JbCEbgWgK12hi/15ZJltAsxHlORjm3orcMoUacHxHaGzg5kUWqP1yWWysqA8DJdXuLFE5PNlHtm4S9ygjpk5v0xLG3Dh4MMnB2AH6q8jtRdHKeOgEuin4P8NQPKdutD4r0CKeQLQ19wBACQTmR0UUmiF1rvziaqyEQDJAWQd5MvedhhdbAre7sv4dYKm1O/my75dv/WrdVslm62qlQud3oLE/4wsC4tld/jRDFKb9/+Q34TB03suv3P2+8giD30GM2dsn+juL7c9h7DE22Tk37NoX1x5LZQzHjNonqDwrB8qLeZYPKabvBAnsgsXLc1yEYULnskbvaa28y6yXDyrN7TKXWiwz6L0j+UPDsvutsJw2Gx5nzPAe3Rw6U4FH7PVSIVCswYRFAbRK6BcMFodVliV4qk5Wg8lHsaXiTkc3zNC2Ai+i1c6C+W0wc5QILtXJsxLwUxB8q1YObjAehoP1aVtIgY8cnjwvUKlTNrWKlFbbTzmlyaGp32tNk9GgfnNQn49gPdsGzWxg5HhrE+IbkBlrAzwOFvO0vIAWtscFpP8xzFxfmNQaIFou/nTIwMZUugfGw2Wy3jzFEgRMnaFJTynT25MJb4mNZ/ak0ZLx2i2KoGkQx4eYPSevrqVV3PCswV8/G15iqEkloXaEaTpYFDqwrpxdjAaV6P7J5Y0IFztFB5WCCIQGrWndJ5B9GK+WBD5PrekZXLs1XTsr7GVHNAgUEaX4AfW8k3ARE4ziTZprg+zum3iCbjUCvAsQz3Txqvde3PFp0XL69OpSkjgoS7My6pwcyZddww7ZFJOcte/t1LMywjyPP4PN2UzN9VDlO/OP6c9/zioGyWNHvAqxsIgQkcByPqRDkxGuUzFeTxhgFrDf6g8BrdyXb2ze3/VXpid35oLnlWmdjqF1g7lGIU6JZ9sG4NJ0Boo0GzTvKSnxmRT4mut4A8zhSemNBhUQjS91AXO+J7pTyKvxkikSpOCFKeGk9+bziTbTbc+DcpXbm0b32E+dGJantmpRjTZEV26NzCiolqenJA1K91scYSmcLebxKqrBdwuwhyzoG4Kb7tCmSh2NdYEw4tiGTEdZ8xPXkYhv8xYbt6LU1/DQ8hxYqbYs7VAkBR+1EknP7ZB4SYMmulMcamX9Ml1JtMUQ1QJ6ypJWbWECFUxMUutOQ8luUl+bHu+OsmKPnqoR1/NIGSgeEhclFGSrwU1wjaUCDTYS8F8jJTzAiIpyYJ9thMVOrPHjrWgEbNeJBQ8j/YSmayEtC/hDn+8CiEBs47Cwc0ZpNJAF71Q6BBM8c4+0JSQyAcylMzZvTcVtdIniDjP1ovyQ0miwM5iFBIpgCRzVp7gRK0oSkXcVbYP0HAhiq4L6jNvU5AfDjIyUPFiTDblwujbWZVok9FVpcSaCK0hVQuSWlQWBiG/3n7kvwuCNph9QPXK5HqkwugxZkr1FS/hOib5HErTCORBKsfNj1uuWub4ozpyPVNiEnjWvNL9Y03x0FtuACg7tqs4pRViPTnpfY7xb83z3PtzJVcX+QxkCwZ64niSxUz/KSQrXl3qOTy0evPHWW06mXJ399SKkGmLK5fAm2JT/92cgkn8JN/rxr9OJ9kkoOwyG+WIp5LDGoVK9JoYHApJUEIachUIKeWkbPz2vqgBgQYZmj5DqQwBtuRua2WSjN6O48xZ1ESo7ouZWHsLkqRMFhgJ1ZHfGZmqolPa/I0h64t1/y6kJ6jepF6W6UuTH7GdS1ZuoCvjxFMzi0Mi4kyKobFezawI59IsTmrNUyakxxVQ8Eq1QHhkgDyteW1ahVXzD5tkURkdaxYhw8YnjyDYRu0U+N5sf2rnbYFra5TK2DdjTWwsLzceAVz7hZ553BiZn7iG1mNChezv2O6OsSk9qL0SWx/WJrv8aG9ETbRnhHtMbv/DZT0jGvAYso5lyU58uhqymei1/WBu5hKVlYdw/kn7nb2QBozvk5Pfl7IDUOrMTknh7cLmKdIj9C/YOzfZwzYZuWHmFqVaWs4jTk7NuevLNw7BGX3XoS5Y250Ba6WlfLTZVP0MGa3adRqg0FbmK4Fn5V3ZCxKNVpbjXuuar1fz1rF89Z84YCCwGmzq1pRUlY/NC4hY5SihfY5JhgDuutkHe/bk7pibHCVi+yp9RZ/kTN8UJN2N8+Sk9PVGfDHxmu+jOzf2CqyWhIC4RQn9DFYx3/5ouFeIVazLNTA/RUgYS8EcluFW64GDaxOvs1z5JH48qScCOdgmmBQMU3XPRsR/dvp+oeJcxm4A3dAl2HFV5lEZrq7t0aO7q0uO0CmHBdV8b5irRAbsXCkgw07Nj9tWpusWeyaA6yV6OnbJUyIDKSaE8gd6BCY5/2cqoflq7Lw7VOQ7MBC8b5eZl90DxD7oRSkhmEWnSH7yxmWNzHF6gqso5eDZCxmuHr3zvp6Stj7+YORTaISkJm8HRYoxVCF1uc/V7/9hWdgE0Tqf5kc5vQPt9LlI+RXLYZkotv7TT3/bjb87kuPylAECuGexHTsjivPSxOUMfqxJmhxbEDV6afItpRL6efKmNyr3O08+TyXdKZXSv/Plom9g5wIteAz7h8nmRV4V9TAD1idnUK6u6al2K2Uk2OC8jF3B61FJr7uLhR/ym+s2U+wdDM7DvJFI+6dOpqamU2W9BRR+zOIaxT/dIDJrMf9bTefeLo1Tl7a6+e1fttOPRfhSXtmvaN96BktrSfSNOJOn+eLRX3m34v2OGbh9Hh8E1Vj6uY9G5aOb3q2OCedxQ2L7SGhgEa4/J9/+wCbFhE4PRV9ZQytOM874L+kD7cd6nzrMfubTTQW54FMrGMxa484mNU+UK+hY5o00UdeMSKtuvYKBv21WCH+znj9FVUWq8SvkVC8G46rgUjbLWxkU7Bg+M7oJ8+/h7L/Jnyl8DC+9IZVpEPnRYQzp/om/Fvj7LxwH1oujSsRN3hLbFPJalEnA5OaaCukRIOovSppNtIV9gKXmhKB20egQi3WtrW6wY9K+R17xWvuTzCAs2T4fO5TDQTPAd68/Y7GQJbXlu04aU6n+ARrEU39zYVGSBRMVcp7S7JyHi+p3Tk1MiCJF4XuZjvClXHu0qH33/OwwDUc6U40l1UVcLounnSrJ6YxqGeVZofs78/CZnQ7/vg0SNzb67T4/uiNEOdhmwAiLnM+EJKqlxNCK8KNESign9NHUfQAaIfkU8tRPX+BRJGFDdEzT7ZYQqCJcnerJJlarK425cVddedPYrJfBrnqV183FZjeHgj7bAspwrrmctwqq38teUC2MtG7wclzWPP9aCIelKN7YsP3IN2aPnrYPs4fli39xLOnvvzn7wUHFeN12jZn/mTS1743A5WH5ezx8j2VFeAhenqe2DNuezi+leyXWdEW6KNtbfv0P4veyGd9XY+wr5AzmhXk5WHw2HVt7UF5+/7of+ga70dZoE7UtAIn8bvJMGWjPYsFXppH8WH/nvqeICprJk1TxLVEO1h73l2eOsbMn8L2uVJvHwe7qgUWfSOJefNMsHkzM6ErdQdx3ycO0VoDheIvp0vivzC1wxyFhu37nsfVpuTCXm9yH+5G8X1WURGUsbs+bU7P7F9eRbh0mwGxkF78yQb49O+VCRxm6CFFeO0dg4ZMpBzqyEXgduT7tJMI5E/R+tEuedCcaJBImJDPR+N7EEhxnwh6Q6i42x8xHSVP6eTJzsUWq3EV7FbqklSIgfk3ygW0+SqSy2YKdjQ7+KpnBY55NFKuM+ZM8pF3y8xeVdT6n3EV9KqssJeXvSob1mRQ7PiOhInd4ZTZsGCL/BWm1tzGSuJIOW0tNp9DczPLQStVD1q/s9Ar/LRchC0yVDEI25mGL+o1uF4u5NKs1O0oplQaU5EjpXus6gqnPpDOo1EzH5d+m9lRIkHu7JqyPMrLr2sluJ73GLGnAQCk62pBlfnkTayH3FZRTxg5YWHFsQhqzYpN8J7swWugmxcUdcStKTKveyU3hDd1OXgwP2E4/+r431PU4PjZiEsYL7nNYFAMRGr1qcx1rQ63DYwDbtOL23TydLCdRrOAnssQm+Z7/4DE17WhlKPkDn4F4NJ+83cGaO5vGsPYzBFgnB8iqoN/OjG93DpuLz1ypeBKMFfOv/zv+auOl1g/rtduh1InmdTy+mk8zFpaPjW7frVN4Q/TVfN6T6ucrDvr8ArjxY7dDWVO/6Im7GBVvV4E0U5z+TLdKv+e+qNOrRULvw3mKb9c9gxV+Ker38YMa0Udlf+WRtzujek/0aD5MQTT9IRppoonK0MxX9IQ/Ob8Znvzy2YBAcLPNsxKJt0y5Oj+fmLdb18B1DakT5RURYkj4o6qUX3QCQN3CnfB+6dsx1Ih12oS2eLY/2ULwtSz0MONM6Xbl5izi/Qwuufu6wKSGMF70YrGfiuZ4iHV7+Eo1vP/1ntrYAYoxcRaj6UmhjbQeR8V+t47ibp+/u8EJVW8sgmMooyDojh5UzN8IGw5WBPzY26fXtvKr965W40fdNWinw8p4oyLelYYd5sFRsP784lfFOadh5Spz++3kN8dSTSqYPkaS3JsNFzC4SgjrUqhEgOs/uf+j/0iLt3s/A4qSDn6J0e2lCcrLqc3Vg2F5f9xavKL3Bt9x8biIa/m2wD38SGDQXm0nIj84nQQ0L9ScWBpPGPnLjNDCCGXPyoxw0KE5YzBiw+V5Aa7hwPwOFm+2WQuARvFGIXvEBiZJaUto891/JE5mXfFX0SevQDv23w47aNuwIstY0m4kVo8wLgJndorDNy/Dp0LS3BIgCpL/KCHGQo7P4NqwYv5n0yUNtqcfUqKjk08Fobo7GFw9KemDv/AsqV22Mp6478W79inP0/0rl28vuInrRT45YwRm021SsH0yuSXKxg5dDb5P+Om6E6NQYPtEe63s3y8TwqABn8ppJYsJtgur1XlNLEn5PqS3Vtkau1wQBsy4FtSGreUv28cEPfJCjf2FhsCH2Uat16bLo9yo6/v3LQcGlCfSnd2w6Rjwoijxp31lxSUo3wflNi37WUtUwhNyfZg9H9jlhNAzd4m9dNxHKR8TVOBXhsr5ulTK98QXct1R9cwuG6JwrBxUPqS53D4mMlFUeGkQEXb+p7pSf3mVG+j0fcrZ5eCAHZqW3vpo7Caxa4ULyMcWkzv5yjzHHqErMyf/9wLERfLwOf89tLggN4hNreQRz40e3n+DJM3H8tNlSg3iz9f7LoAlxAF4KjTvN/JHjQlBghZdfI7mfooBDi6P2eqJZE5ahMEynK4Ty3mtdderWqgKIbgRlnRAQAAXifecSrSYN+ycLpC+h0/FPC3WTwAbSjJtUHler/buNvVaC/rEreoG7Y9+2J1ythtG9B6/a0WrcE31ybhFBUTeJ05yMUZOSsX8laCvwiZJvZdtydMiNoBPXbMPJLm43rtSVYv9nRpyoMJ36GZ/x4cIGGe+/dK5W/fF4B7WgAsEPuIP1D8cr5wpAPv1NjifqP+x/gS8Q8eSRfQWfw1wSr9RnaEHeK8jHv0cwYFmhIPkAN7kCCJJcscRltj/rnXZj1Sz+jd4HMjsDDbEa2agjPlhPppFzzGCkIgU1kIuCzWFJ1KQA+cXOVWa8ewN1IrhPZ9+6P68duNU0t6olxYApyw+HXBVyUoTC08gR4QTZaa36sF7n8vDvW5n8yFMbqX9XL5xbBnJyeaYw2JUJltUAmnMPwQz8mROpx7js/9bjVse/ufH+Vk2FzTgZpf5/JKTQVETMTa2tsFC4cRmO7y0dI0Wvryi/InYIZuCN7TDKMOfjfdvZ64jn7CZc73DLUTzbywta76I/Nnb4apiTfoUn/eUP30PVz5XWPZcPBNUaWw8g8WiSxdw15azl5e3+GLmzLaDfs7NStJYp9e+TLRYro3ySdMp8JbOSceJyuS1pS9ok5n3k4LWVL6kuiLynzcfgQFQcZOpyUufdNabrpWSOLeWkWU1n4OoDMGrdZ4gKldpbMX5tLWXULK650kSH9o2QKfB+fyIqlMG3TgyxMQrCMIZPfdfGmq9cPJPzVrHX5oc7UKtFaEb8ukV73s6czmV/yG5eUGqrYDpifMSbAfXD+iXp5qhzNybuUyrXZUntKQGJx83mXXAsj0uhGdSFpoNZz/zOKp1UVdntM9YKWWzydXCiaFLw/uWuvhyA8BYFVeQfrdmlgLqUfwKEKO9eSWv4a/KAsE51y8HVu+baK/PBGM+LGX/YKyacpWtp+yD36bkSSAnd+4jwH+RWRsB5z6VMO2y85/YnwJmnAGVDcP/MfmUgxfBExFlxho6J73is9W8StBRAMzLsWXFDQwNuOZnmXAYjy86kQs0vawJZyTVvGfbqu01W09+fl9H+J0DHiQTYOyxK1RwWy7eVTI1EOG42jOsNyhKWDRjKFOAu54xyPyGiwZBfb99WqfnWhA54Jl1d4SXqksx96jtE+0EEpljTNgnwLED4xYngpDOvhgvCjvcIRlsZVNN1iOBS4oXAlcLD4+1Jx6fymftbBQ3PzRz18s1p7UKeg9yCD7gUZA2y7GegVmaKjaD7pdFWZqDw827D9RMusdz4jxcivq5M+sAEeAYs6NaUozOyYF9/nRb8STj8A/wMYZqVcXiW+E6RwN1kc1CNE8lwsgMYRAUAgoFcVdmtnxrf4Ze1SeGLAIhZSChUkwBRpA/6JTW23DVFaFBaHvytkMdxGLSB6l5K4iZsniTeGFjNXi2w1gDNA9lcynTof/7aK4E/xYW2HkszimUWG0dUo1rEnMS77qXahRDLBDYxRJlYJhmMA+BpwSb6+pGp5f5vyEti5pKvhGxjI91Z31/LB8opMvTQWeHSzZgTsfSzUAvp6mq7Uh8kZtEbT7j0P4hyld7o0owVSXJsgZGACUUPC10tXd3RrgZVpCpXISMgpuU0ClhoR8xHk/xCrG+6JvwcPZiJiJSwukGNYqEku5iHMyfvY5XGFWfyj9t5mJ98t6dL8KV0mF6NKi36/T5wE5Bpt6rjZClKpcVd8QFE9GWi81q2kgDur0KAsA97lwItsjHsB0VlTT07JaGRPusw20H3V7PPeHZChJFSve2pcbPqVWS8tMYBNNHC6lVsHzUJhUV7RkfdsGhbw8R8Oaetm20OR6am1wCSpZ8EECKYkvIpTkNQEQ3ev6gj090dfkpY2hslJo1ne4Pll2yT8a78XlfSQsQp7vKZ8IWjoI26nzeRWkkNvBVU6TN8Vw2P/IZDdZz3Dd3U1NY8ZIUwWgD+Sh2w93trmEfjqXkejvRjcMM4D6ZBw7aQIYp1BYnBJVR5WD0zPQ3Umnl8F6RBa1J+0PFoxTGyNGz4E1FSoO2ThsqvNIHDKfLj3/3NCkeU2SAqQpwICw7Lh9zjHjoLHTNAaIVZ1gZxwrrKmECaGcfdkiHJueEM1I54LC25mtCEeQW/B+OwCbKUF9DRvkSo2JMcBjRBSkEx08occiiyIKTJGOuADgLCd4HPKTFRLYATjrENkavxRS6i/Twfec6Z5LGtKVd13rpnHOSTD17RFWU2UZDCGPDfU6kmzw4+CMNKjLWD5UkPoGOh7bOfrpt+SFgRge8rI7ERoHOxP7PA0gPXtT90OimcVhVFworYH0ojWiESLy6dtATsGpaJJXrb6Q7TSJzHnXqVJQyBUkwCPJkaZ/Yv9qccAirjnLcp952Nw8PNW1WqdZWzPNzT+gY4/SYvUJTh6rv24caHF7eIfihaYawjVxn5+mrO7QeIVUnhAn7BZodmOFxnW4CBLRkbN8mbHpoFJ7QVLeheeg4+aY+CN11Omd0AIhkbYKF6WxFCRTYNlgIddNnV9g94vFDdg/6kp25rkiRn9RDlOF5NAbVH1lOis8gDiUCbaNrjMBWEBp55HJEsHLI8Pw8ccGq8u6A21ScIH8EyQ2IQsMHP6RfnYyoG4ixR7dG06aQOvgOSLOJYsHjpuGVu4SSsmHb4rmuXjkofQjQwYPoBWVrmRTHNMNmQ72LJrCEVhZ/gOrEWsZPmy4/394n7ziv1+lAGjapH1zBXoOAcUHLWSkfYnAYE6GoJiD1hk/3PN6AnLWiI8itL1SSBEVExnjc7si3uhuNvUJpD3Q5/btvU1XKnmYsECM94FXXLK/BJ4rw5xpauVNs5DV72wM28lVFbfnGHVKj3pwS714UdnERjQonPw1lyyCTbmNygIFC5Geca4hzk4GpgRwMczefoXEbPPswoADPEDyjNrLT2sBNxqFHSJ3JUpQ6mAiqlp92mBGfI3ZlhbcFpAjT76DRLCJ+EMSJlkMI5HW/NvWQib2/8FF09YlAfdt/4hL2vslieP1fEq8zIslwgJxVZkCW0XpQFnoQmQHSwKkH+fXOytSjgU2PTTcQR21t6t3y0fVOqoXhzQzBRCDVadIngIuJRrWjHNaYcRdpIHGDRzIToiexNrPZLGgZ+ULzg7MUneC7UZo98/7QC5geruwpKuaF5pNnUcGi0P2bA6Nn9eeZTWLY50FhAkalbtEmuHzfBR7HpmbveS7gDD2mNzybrGyKq+/8BxQUaQmtS0LQ+A32uPkTrTYnlX9Hd7tsNxaV1GEF4Xt7PANVgxOSHKTWIrICEzUGZn7o3Cc7XgVXpPfTrFqYhOAYGfiyWjarL4VY8cq49+V9+iByQxpNNrxDnDK5o0PX8CM/8uh6v4E6eRDoFd6389GJpq/R1nVoTHtLwMykcGWwW3FgRnqBVS1SrfykXv/5zVcjQPHvw/AxpOj5Er0LUe/hiR/8ibJrGyMf66AuYygSoXGDvzQqwsyGGYnmFlz02PAricXxf0B7CBLGbazanDT7gKw9NDaaw+yf5QAFr5mHmPvihTjD2HdPbjHNIx8xniuXp4b+BlasV3usVdQ6Ss+3KchRxtxekAuDKLu1kVQEX9iOKe/eAlkPDuvQ4cr4lS+3Tv52YHl4QUdRrViFrWjwUY817f+BaNXqbLVq38TBoUXjkBvO0cXQEsOfJV8buu4Nf1F3cvpny73hse8N0+4NsAMEc0Eg4RKv+Arx6XR03dnkwjvC4Zws5N/Ngl8hYeyPGwTv4OmRdIal8hjcdIGO1hiWB6b9+dP2ow4oenQE8LRfliwvpP3wfo8k2hpsOnxR2Ts1fqEwqmI6LcyN094t7xjB0aw3Ldv35mW7Xj3xwAH+KL3LU/xOSm2KwA07utxy/GgyH4FEM+VXmkCcR/DP/n2vxf4wKP7hYSBTmCeIk0uP/OtF7B8k8RW4K4RwaSS5uth5gqGQQvcLYzmflDP6peZoSpedhje753+hIDoiE5dJJsOpEwnl2JRH7E7sHixDs3PWunI5vmMzPZ3If79s5g1UOXd4+j/YHTfujg/QF72D18H1BnFy5ow41/Ce+anq0aasOx4JG1NYKU/4Y1tzwLF8XCg2E+YJa9/IftD6JjMoRTPkopNfWfqjeNjiVTF+CJc9B+wK1kWOg8rbgBePA9PAPHga2wbLuNk9vtH2sHu83chLI1SmEnvxyzZ3wBUfwxK1SUxosddXiVQt5AjMLbTJuDU+xnWi6D10RROVgbTTQG7zltwSJmgc/mDfc/EXCYAyS96eb5kpYrAZriz5VbZi1eU5yvSvhlQtPwX9+Vy+qdAbSQwC+ReeOQibPXb3i6N6SSnyuEhw1T0ENiFgd3La8IjV2GaR00qJwrR70KJB4VHccKQxQbc7lZFDB25NMVzGBJfLJZLTjlqflsUU8iT/jekY7FEsCCU5OneCcOl0Z6xSyzwULeOsjKm7W+dmog5gGhQ4G3MrPBFHeWUNQnaIQjvBp4aXixnyaexRTv+KuX4rqhbR3a71NdOeXeXxrQS7LzCrX0qu8QRLbDw2AWDKVFKvf9IcKwLEgJ02+Yf3fNZXNSmUZmpP3vfJXDxTJnm/NhVw8/RgtWYDzwN2LnD2qKRikd+LrK2d/R50dbDYC0h1zAlYLJU9+YA9Jiu2n5jmQVqdPDfUk0mhlBOlFnhXylU0otGu+9FyHdO1/TbAxdorQxThamqORHKlXeK+mksw/+qRw6gX1KKWYxh2B1WWMtB+oYsMvLTuL4DFQeeqowVn/wFHK7hSZTcrmVIoR+IJuTc5k++LqZeoWn6A82667njGw1HJTE0hQ1dTTXVGznMpgXomrRdJOJXgqOrkH2MkgI5Oq7Bx1Xeq/6lBcOGThhe2O3Nh6RSBieqNnXAwVHRSWi5Qdmg5hqF5HFJPyBdteCnuT8GUtgJl5bBOpQws2CxQsTS1akVrgNHkuy1otth6gSIrx1vYQCyMtjtS0HHDABS+PLqhkeNWsLR8aBJhRpNb2+0O2pr3HxvfkaK5TzwHZUC/oar5FMSDx4SuHBKVhXsfCAFpFpw+9QY3pue5UuoE5LIyJHFusq9UpAQTLIAb4eKlRwkrZIHKzHX9SqyATScrW9e9pslAYvsLOXHMmbynDrX8gcvxKVbHqChj/gQabES1DYVHDRXnS2P5Yaia7OXXqnY+fUkqPj95Bpm7mpWsu4ZrJ9flSdaiksp/71WHfYnjR/aq+pteNwrfaLewkUzSPj0uQ57pOn0kOsuj5LF/m+Xg4golLzzcziVHEjuuw801kC81a990zYXtLg1XfLhL9eRDg7mToJDRyB7D/aKL+imMhVKJmldfLapxC5d6SnZRGR9jkCJuMBZxyBvp7icsVByOAd2rTR6/f3odAxTyB1eIVq/ADZ72QMVRZ/czP9s/wjz3NYZLnP59zmvum8/gIxn7v7+qxerLdWnP3QB8ZRfkRGVNAkNGJXyM7p+NPXEZ1BBFt56r3cqRcCvt2WGG0dFYJ1j5grIToqXnffI2Atjb63HRLC2netEZG8mlsvjNu2cfS+4cdOHjkzTZNW12fh+RO+mYFhW4i0vHruekyHBqK+u+D0fBkMp+JUmNTxTTSlg487RnACqlnOHjkDtMfKwA1Ns70pZcfYBghV7iBEsYA5xCB65Eb1NVxosefKTYth6j9xmAwNVikv5lxrM6j0fqYle0yMx7zm7cI3plm7cCqEWfVy2heUdWh660DKyEK6W6LvHXaCOOVJrJeCq4B3ov/MHl4DH67Sm+7qEozZ3MqFr6bTEGlcvqTRLOk/28TdDEbZwwkS1FwZoK5Av+UcaLDRzUJZmXCn2fvas/MOgL2LJ2W4dPCZhogXJiZedp52+/y91zayKvnnwt90SpJPcaWMBdlOzA3+xL9J6Ir28tLqjZrnfZfZzGhfmrp68CfnSsEGoECM7EP+rN92cbeLJ3jaivaSAeXrWl/lTE/9AyXc3tm5m1woi/ZKiSFeD81R1ivjsg7q7woah/7nbBuepIem+Wn3r8C9XzYMpWUGUnEBDZT9Mw+em7WAq54xxKUqGD8gRiHFJToLBczWrTYD9tarOB0eCion2Rmbna4OJczPCTSSeuk2NoCmr9WG5GzSqNOBRamQZb/E1V3AuNi4ikRDT9orkrDYsXUXca0THp6phkmbw5JWCzg2GFGLb6tWFH9wbw45azyqo0E0oluS+g3P5+PDeftwAoVqRMfFCg7BwPu5KOeSoOmT6afA9C3EPrkgulwbPtB755XpOZ7VTHtQXWs15SgDIHIkN2MZSS91xIp4PeOPacsJaQ7LbFMVzw1kEp4veLykM5x8fccuA6WyS+T+qmNhUpzEocFvfZCwuNGJIH4siqz/uw5zJJuVSqJFa0D2rwlYxbQuNVjdJU6P2AfQJvUjxB1LSJ4KmDU9Kb5k+CplVrfQH7u+RoFia9N0Crt/8TlIVTlJ1WMGzCfLAdRTCgma6oSh3MmMCIEaD48sqJMuHUIH3Rw8Pb6kwydbE1PBj5+pNDd006P3dmDl9vVpZE++FlfqXGxomVDPeLekgFsW2CHnaD64biTue5XY6Mxx7NIWYiwyjj3MJnvGxb5mJLa4BM1dfGklyGPlmsP+F3dvAvGTxbjmKYoEjpsXEGDcfWu7YNpzrNJjDxuyVU7+M0Szg1f/WVdhhofoeGj9LoeqkCXz9a06gc8P5eMvWtvntYNmFHC9CM0xEVPuZ42h5HLk+IYZq2lE/xycjDr/rbekuyp0XcEtLyfEF7aJQmWT9MpPMkFKYekPfKtzP90KhqG7ahgCkOAWxOeVu/gVFwE+3o8oQy6kNWeS7Vbr4zYEEP40lXEr+2jevLxnh3EBkJWaTtjHSd4l4idfBDzrChyhXzjpKGlRSXz0oslcc806UIzSA3KRb9/5ov8BLZdJ0nkXwjemmQI1yCNr11WLXJ68lc4ynIlpRyZNI0ClcPktNWPHvW2feR4VPkwI32RLd9237u/AAxvk+6OOmNfSKuKxZvFkxQQRpRYoM7j426YP+yAs6YLqncsi24LnFoK+f52exj23MniYE9gFoqJLS5oemgJt+fUMsdmc0dYW7ZM79KV1HojenMB5Ebs2OlB1UFEf01WbTcA+uLESO+sJW+QLR81ipEzjCpXrRUadWIhBff+R63qNlJkjIvGOcyL7ycxhZVj7/jPUyunE8aqVqffye+5B/FYqHCoWDN36bDRkAbCewa1/oVFxbecKmZr0XTmaBfkRDkyj45ldaj8M8GTL0YEKFSttFJBOPl4DWzedwTs+3HkMvLtLhOsWVpo1jnJYqcIKJR7F9P+7wWXxk5khhZbc+JXzS3LS2QHXbVk590CkPL1BWXsNDL+522JoTNp6nIv9WFi6707MKfMHsJ1tNFzi5OKtJByicPLPBNbS92qvcrPd1ErHjS1DYpTTa50N9zqn69mUIXHwnT3qjrny0YfyvzTcxeLtW34+t+wNVtvg95aK/dKcw4ODWXQvQ2VZMZ92K1ogF7z+0u7V/fHwFHleOJ5r3nS+KIXGMpdboYIHVXEWUFUYq5M/KvDLmKAmLFhn/Lr61pqWrr8PQ2+bpHG/Mp9zylZ+9wKpk/MnC/qN5XFv3RF666yJEaJHE/DNdJN2iNz96yby7z+Gmsn1Fc4XUlo5KaEYcrENzeJae1dacqkyidXNkofDCI3Kb08dUTHwyywmxG5ylFqrzD8cSkoK/dVXY8gl6f4pYwMO/xpqdxlrtuNieLbO2L4WP4rfPx4vsW80lvGe8lmKSOvHmHyXnohPoohimkgPNrfzRNNaoab1essTP95R2276q9UM1uy36qa95jJPk5B1V2aEMMrYYZEoGzc/euR6fWw4/4QEyKDHxIDvSJHCyhtPcm3kjF3blqOSo4AJPwHlCMa569O2DDa0V4NdHLvqi1rOB85zvDtSP2ykyv7N9vgu1j7ylMtaneIdZxldh315B6sS2DrS+u1pcECIv5V/f/u9qNq6VGgq2K/dyIlhZkulA6KicOh6jTHXcdU/4t/3gfr+B3JCh2t/4dkX36styeapHbl1Tf3yIpBgROychcrmbUXtqzfpH5PhlvkftqIc4MtUH2cr+dI5747Ozxq0bWdk3misNwDkqfnDFuxdo5U0U0bj4yNlGZstm416+LU7VVuFGUdHbfwC5dQ8ir7w92S/RUGrPE492ZSRG/vEREiUsDG4y0T2XDm7exY5s5Jwpkr87rNXw18PiDqs37vf+9Ve3P7YH777ibytf72IaTgjUppNUAZwpEwh5m7Hw31gHqjjCKjBQe4BAnsKm3mLHp2lD2ikGCphm27EyN4kCoCof3D+VW47kFgMKsFW/hLffffBMp1sF2zOMI2RKyFVRxsKfNsEGl1dhzpmyIJywGVZYGdrVCVglWS2aNRrdW4oataE1ertItkEU3ZpzPEfPLuLylhpXIgCyfegNpc3cEXnSEOwpV88d4hwPdc06JjEmadixd46LoyxJ0vQla3r9lAbjTNgiz5NhZKQn2OmlPjYXvgCX56J8xtb0Wt7sCOeNW02qt1dVKyYjEMrDttl0nZnZLyATDHhLSI2gUxDH/BAmKai8+nzMCCd0l23pnYs+AXVRMERbtE+lU3Jp/fc3rGTrd2zeI6vZ3kMIjiTFBar4ZdnRk0PR1QWHw40JJGYE90DhUZCTeUG3s/4DF2dNNwGEO8Esn9YKyv3mpZ4qJ6X6i924z1eWjLyI5sVcrNd+QQ9P+VLpguBb5ALSRCW0+VaqoguZ/9U1T6lVntFFl8opdMAHnqX/W8uIru1fC8G1oLQRfefTUuFDKGSH8Hn3tFsSuve/FDhDTkTFQTtgebgxpg19E62mfFEQzG5DcN2rmFyY0l4o+AltwjYVnzhRKXkM/5gpIfTbatJ805Vv4UU1XoB2UclTWYhk8FKUSb8qXkMU5HgDEoXLrgiCbTEPdsHpzc89hfbS9rZzXkS/ttETsaSACKvaLrxkgAg1DCSvR4M+HeU6Jim2swQE+wfcZf9pguUM6gsNM4RoKKvTPsmwx7nsSCF/8+RSY/nj3AeHjMa6JDdL2cicmRknreTBbf5I2cuFuu6A3TowtBx/VbCknMB7A9eaj3JnmvHks3vbslTXiCSI6hcvxa7gK5jRb+2nIVXXFNhcpvff91UBh2RCuN6kwQTGM6YGEH7o1ll/GivclWD7bP14rpsWkiHSruDRKDyMa0YqFuQxt7aKdb7Rtwh9Jse2Le9+ItY9BuaGBgeeq5jD5IsZgNU+O7odo1nq7cjLVnCTRGnc3U08ATGUnM4DnCLrb3DHpmslMJZFdY+yStcatwn6ngN73/YEGFzM4JVmg5bGL4A7NzxF66qZEWWzKkUSsBbIwMAeHnEzSZymYSQHpdiF6GLBLRahf5RyiEI7jDok0xi53kN2jp8tU3284x9zvpdeMy2FZjz4HcOuBO/kh56RuLOyy94JGqaS+0NNfJVRa4JTfepJ+r1+MjPUSuhH0rUUydZ9kFkqU2sOsq23738DXr4Dz8D1Y2GfwlPxrBXmCu63xpM6QzGfAHzayB0RW7rISJa/peC/SZJaZIiw2D/s/9FkcfHIc5PePB2e1iXAvs9/htqnUCbiUCO+FeZBIkmHQ/VSFHWMpGeOHmnK7xlc5UjiITLeA0MbdngdzArcTi/zLu5SIwVQtspARLRrIDT8QdWuKnbv5dEkjck7WmHuTjzP75wzHrjkdY26R8F/URktOakUxtfcmetQ9TwkZ2oMyUYueKntMIatSBRcRNJxvRrMdPoM3Q/ZgJkV+Bx1LV0bvRROSExJo0eaqsrgfxEpKPeeZyncSV3H1bxDoEGMLDiWGGZ1iYj9lcEP0bodnmPsWSksgJhRtp+xGDCH54m6jM4YQN7CD2g3VeLZUd2OsIdzZFJfvBvnMIxMarcrFSUJgIxFsIMMSUQ4tbelI0PiOSmhvIde+ldMkwZoYUektKWzwuTtRnVxx4k6SvSDOkSkcKejuriKV0q1HXIe4TT1CE4atdVMA8dtwpGrCsgK06YxPhQGPQdZW41GKR3XZEBVqcm3tSQTEcAUfD0gZgHEV75flGuBEiZuVN4r8Lq6KLkvdbJ0xO3qdemMoUzYls4G2eKK0XKTiixxu6AaQ44geXdq2NAKmYGjetAkaOnrapgF4O26j+VqpX4AR4qYmnGbsMFZCucSVr9d9e7K7h52yXuUAOfKkouErw1XaAXLaZChoHtNTiipqyH3Mbo+eBVbYc+dxiMHs0yNvgTaPLkrV0ca42rOtN5TZ6OOTg9fsZYZ2JZiQ16w9EBSK+a1Sfmii8SMKlXbj1+xj46nffgwslJdUcjFPH+s36TZdCfEgtOVCA7hUihDTCjDBV3bTSes9fDZhL81GAl1fYrroLvFTt2YQMniRgmb+nh/cnSPZE6t50dGEU8qD5ew22+8EHzVsWiiHTn4Sz0P+PbcNOXrC/0GoWqHAwgk8qbVPNeBE4HDNx58mAYyFBFg+jnQOZ96A8QOOlVw4uuYPC8s4uz5S5MwgiIJdbI/zaCBHyUa3WN7IkRQ4hGFr4ExTO59K6AEP6JFebmJfX/uiVkiPzMR1uuYbtn6rJQT4Bh2wCYMWeBTwIMk/X6OfZJvGXJGjcIoucyxfuzPhsc5UlpiI7deV9yQX7xD2lrbd7RrsNy/kNmcrHB/MQnxFVjQ/ql/ODn9xm3ViZ3shgScOoaMWjmrAPW4ixc3i8OAfv6Dt2n/UarlIq85mcljEtTN4e8i27y4XO5FwL6BOP7PV4OycXG+JFhCMDuXuM9tZ/jOTRQQOP8jjZlmThbVsKiBxI18JSimwxWZOvjdxegrhebH1EBQN6zE8GkeSTA0GVmY6SFkt+aaV7OwprnDBLdG4ZbggJO3mWYicKuQCo6v2qBXF59OsZw6W+Uq/DgYmSYrCra8x3YnYLOtObK9XyaBU0jk3y77P2HqMBdmOJ4H5qUumAjGX45WpwLyzf6sBcU7w1cL58ZfvwvP9kfZ67dtZG8jdguAZSkNGkY+z9X0+UltORqtVYSwOEGM+6iXx0cikrOMqw5i/BV52o5KZdeAQkA+VgOWbzfbi9cYnWaIICyCPsprw0B0RwCdagrGHL6yGcyHq6lLGakCl3ELycA1N+tDOh7BHA4712mS7qRPK/WahhjVwDAlFrNLQZGotohMbEn9cEg+u6GzoMhG4fajhn7OuEpkWVpR/AHOBQGJbW9alVZ8Lzl98lGIpzhW7GaX3oFGcATJClv1ccpdrtMvtXIQx87nkBSQ4S+QsMFzPhxWwhJUQmI4Ed0PSNzu+yCR2K5sMq+UY3y8nPkBKSMR1vWCb+fdsUFJAKfcddhzwWWfwfjFdoB1ETNiaW1G7UKXJxVpFS0cJJyo2a/tLHmSCua4mbbsExoBLXejnK5JmpYwKbCCcHWq9OZwxZhngFac2i5w4xU/CNbP1sjlh7ibNl0Rcmpyy/W9udOkrCXIzTuuaCW3k/SSZ5UUdzsRhC35ABKtPOWNt0VHwWfL1qZVa85Mmkp5fa63V167PJqK91rKrN8IVD6tv3EV7uNv5cbtWW/3InS+04Av2tvJJ2t67J0coIZK++vHVw0jSrz5bNR0W7E+rTxVbudftbffctfBu9ZUk7VefXt02Qy8YJ+g0Ef38KpYXUN1IwST019r4t4PBN7zHleRh1SD5DlaYtP+ii9XSNZ4+rLY8Krr2VnxSvPBu1S1NjKQlGKWe8vi3I2Oj8/kNVuJdfT64AzYocyy6l49wvM7zE0spHJC9nOwxZRh6gUJkNSj/JRzkwf6D6Q00SfeP8d29sWmGbAXxmSCxFcvhmIqJ0+GZDWy5bbzxGubHW8uK3T9NCZ3sqEpJNYhp5ZNCp5O1NMUBlQr8J8YP49Xxa0LojDvhiaqfIvZ5uLzSaIYGPQUjKyBlemYmDu5O+Lv/YPGIXIoEqS503IcXLmJWBLJbZceiGmznWQNGZHQrA9unOkgkb8AWpuxiJ1JUxpBwMK6fdip2KrWBXs6OArgRM7LeeBpphk4tSHfOHBqlGIuOd6XAFZvQVZJSClAkYzLwOaRgF8Kwha8rdNAoaFPdDAz4ELjMEwNLk50ZSU+cc5LNQWxVBLkhShsB3nnSNKcGxWAeokgZMaZczvttwQSl2d8X2ShZowThwprjYEjDprpEJgmku/xsw/6aTiavaHTkRhNVjoSDK2czozeIz90ig5OSVZ2VSWDIIQ0i72yJmyMJuiA8NRf7Qk6ELwpM5CJ6dXoluC/cT0TqrJk9c9Jsouzr0CkIcxBZAZpQ0UyBR7qCJGkMhcsbc465pmwPXoXyKlNHc/s226eNw6EXEN70G5o+xtLUiCd8gvSA1rTJ/VWslvTWqJvdauhDfmSD4mBYS3ELDmSX0HVM/McPME86J6ze0axQEHZWaI0q/eTV4IQHVaufb4PJ693wWCu85+a6nnRcQ5nf/uyGsjgihA46U3lC1G7hcQK1to+r9nY36Qz8MzdbjvTRTn6SkGEYJyPb7hu0M7GXxwImwAsoJrjJ9fMBOpF+YmFxdlWb/OSekC2cmspG/UjR2v2mj6OsaaIPgr9Bmk40v07znoyxIixlNOdbq82DNpfUHVBrIadQfks1UhOU/WoPcsiySWNp6W/969tW6Snux44AsA0mY2fs9jm1zWg9MwDeczTBMqkDnB3MjDb8kHF7IYNNmsT+VOgm2AjYLCaiXeURgmbxIpQLkV/+LFZgWsiQvpXjefHA0WVbD1ihFtV7okdknQUHK4eiAhGa0aaJAy333jJhkxqS3oV8BiKUQgJ1Wcc9XvaKrE4TgzS4QnSC+6/6DGpdISSeabVlm9O2qTPlXzuQoY6a+xICVskGfLJGQoOGENcC2qAhNfuNV/YCHm+o0WvZB5OHEbtpvlr2NYifvRzoOiTxBgFmGaZgmIvXBxGbOAZyDtYlhYXn/ZJxPbwQ+Z3ToWBq+E1Y76wacr5Ow+BOVNgBWV+f1yfND7kn0JWV7JR0GAb4cYZDDAcKC7xFv+Si4+Hy/yfGY+V2EcPWGuWYnNjmgzl0/FtjOiXIdtr3ENkXu3pFF3gNEfj1PcEUJvwCBK9EG8oQ/zcC64+8GwJYgK61Af8x5tJcS/5n7EwjbPCriwYuoLAA16GC/+aesMCAsaMqsrHvA4msO2hm4gqLqJPGT6QRas1wuNx8ueT2JhKv1DnmyZ2Vwh4kEWKLv5UnrU46Vzy285SVBXdw/FGJh+EfYD8uxK4WRzLpoza+mcvknSfE8dbCqfSaYCltYKVwAaIaTNa9LKIzIittCyRlzM9YWM/kwWejeCjsp+bJGD8QF5+67ByTX2V3J3OgNNI9HrwmrD7Lriobl4N1dKJ/uQ38AzdqJCHdMkUa5FyWrC5tFiUSdXKWeMfvWdYmsCgyeensCPfDSug5j3Bt33BihUFE5800hiCQpbmRAMy7VLuB+C9x8rZdWHivkoMIZuRUl7aiZYN0E6vTZw+VCa3tpldmtTeYR+eAgho4pd4Uy0eqnkR8QgqFNpJ8b3aqtjbqL/zspof/6qE5kxW5TXCfHWzbn5pr4OKxhAy0pJR4DJ1QDTG5Ou+tbq3an5WcnCcUah8pEFBoAJwzm31ZhNOVPbYmGvSGg6mTRg0F/oMxd/0B8cqptryrtgXixWGAf8VskS5TMY4xWuJ/6kzNl4gbkK9L8ss9SvxPzC/BMriUFhPWy46zCpu3QhM25KBTb+711TIcWhb6QQnaC7NLpaZ+Ib/PfeHdVOOJcKLLSdLayEsFSaTLWZFL4Sl2XIPnQooHg0jj1B2z6/yYbne5h7qgmc7VIubWP2NetK5nO8zwnOMghFwoKmGK4rOjIc1uu7+qXW2TQJjRHCu+sfpqJV7oGbVlGPpKFYumL3MKZ0Px767NSWFfl5PLyi/H0f8NaZ/UvCqNW52td8CYiXVjBjoGe4cMMtA7Agir3h8hyIbenwmE5cJfAFnf+5tBNur9E4Fs18vyeIQhFtqcYjBL7VcmCSbaxYusWjgBxhOnC8vby1GpuHoXtQgfVliLQXWsrlK/QaceL8DeCqjR+lm4K+7ebXE4X3ikczRFRKCOzU/5HEqY1fFV5cqjSwDsmrau3HV9twUUWKKNNmpr6FUABiMg9Hxp8I+T65JsSFHp3YNXK/N8BQ1BpKaXOc8vjPTU2G8hFQNiLK95ZpGvwyvhJBkuy4vhxDLJilndT6ADA5JOm8+9s3KoH2JdRUz1lTE/jpiO4X4wZeofvndXQm+z7+8Bd3ZyEZOWMAL2WY7Af0yQgdvxUOJbpgX1pD+mRAC2Ey1LCL+tnqKZV8MswyoP94U7SHjWcer9q1GwWUPfklt542M9usK76IRdsnTLRFHgcZKnf0uWaFUzUPcyVdzPGUqG6q2Hkj4M2YA2G7eSr9dwxVEu665srbmMJ0zyLyJVU2oxosUsM+zTHRGfBO/ZgsDEmcPaP15ZvCZHI9bSU3aDea6daPpMc70Xdp8jGZpl77IFaNoqI/m71VMjQy7gfJ5F5AQ+kttLTBkoU0MmZ3AZlVPeadnKeLuXARmbrF8ncK79VhSP6eGwdXyohlOtlR9iJ2W113Fp5NKAhrImpW4LtxkgHYQB9aeTTCYlGwpE1MLYZNAQqgbMZYAVxYahJMFwJ+TZY9iCBIP85u6zGFoBi/1GNa3uYGtBzZhJEJuCCcC0nDvYMFg9a9afrXaJwMbpBfTQSRINMGhyuz6K1HrWzUUoZNmAkcXvIdtuH16ZVB+N1AlJgCK3RMmwBzJMTl2zu5uLtoqJOTlyRcPO8K7oyfo3P5KEDgW8pvdOMfWmMhQflcq1icu/92GZ4paumhAMUwl7TyxZWpNjPL1WpdQJQpoSAQtpBk8p8li3VK9CHzmKlmKo2wsJvUItV4big/yw/iOxoJTDMD6SKqjnPnoz+f44rlEg+xJMkX/sXJEYPUASXvA1qR/rPFDKZucoVv3YFJ8lhyIhXPhrxb8aKBhNJGpqbCjPclpP267yy7//86NqklIHs5ZaUP9yrOSN4mlsytR3F7C4H+MBcqcS1EfbibshKIPnI4USllskhPqheAoxfyNWpjzzY4JdEeXvKVLGOmfJRvoGld2+H1vwSFftIH44qiI2H4ymtguaGiXOARkXRdXTgeqYthiVkbpXBbnErCleH7FsnFM/w7rhekbu6Lr1QEhU31FkZsnT617/UIGdXNhhhSi34m7Rh0Yl/RxptzAFVmBdJovf/fLpzOPhJu3Q16NTp1I31TPTuSL/FUNG7eucIbXDLrr/M6nsoVQLv2zMjskZtG/n9DWv7Lz66t9zWMzjII67MEQMV6GfGGcalLpWXu9cT4TW75n0PXBORAS4wtEe3yJ2rgi37P1xrPV/fuE99sH6FS0LX9MKqFGOBsMDXDEhPlzzaQyE/ypKwJdzGTMC2V7/MsFkBNWr4PiU4VuPQsSQ3y3g3jhuXt1D4PhZBq/leo8fjWpNq4iKazzt9U5XBJyUJjoXx4690e5z/AnuwAMDbfLMBo5PM08BNV+ho6/k88ef7HjYQN8XLmjsWgCYCba+wAVuvltXAvdisYlwImTbDNyOUkhqBM+nLnCnsW4u/USJlFCpXdB9URsdulkQsv1pM4AK09oWXaOrnzD9Xlbd9fjH0gQ6IzsVrOkV6YdJvwHsqXBvsPcZhSutkV2Z8V9DCt6kD02Fju5Ml2jW4Nzpjprm4A6z9I3zOv0O/RuYClgv1BlaxFPD/+OcLhM7eS/hWZOwetzqEylPyWcT/R1XxUBG96tq/an/MdSLZq2AK0jthmtCrOuJKdEH7glUF1cbH4sEDOg7yXRQn/oAnx0J+43YH/dtGsJYmXBe/vZUPrSbGcyjOv7VgvrXWCKPPrfdT2K9oSAAE/zNY6j79THoA2M0G5/qdUXW6FVefPT3OAa6ibG//A0e2w18PgRmQU8+SgVHIjVBDq+AioWSzvzT//voeSriu8WFe3FLDv1prq3FlNuBp/2+tvPIh8GR7esQt7uvb3oLhZm8+6WmCUQoSzfPaaC+0jeIngMh16HArxARcdypM/7sq3/7UGT2ljMU6vec4m0TcwbU6fq/+X1QtzYtEdJZmF2/LcmKy+QVTOU6TbizMbVJ6C8gbcwvnyrlVqEB3PefNflB1Nl/5Y0kpAb8ULjpMvjZD+uCBNKbURftfs4lMopAigoZzZVPKrANT8GxqzTvdaj099MxgeBtihPU5vw5BayTsImHoxhTzTaDLpij9MT5hZuUVrd/ZtjmUqrKj5K5lTBjkR5T4YuDUBkk0qMCHtBQV0wY64NVOI0GazdwHuErXIQjfs5a/Xk/fswQej8a6a00XcsGaLV14l938TEeiQAAkMMbJf4Ha4y8F1waPg3EogMaig3JTl/ZhMovVWU395jGJvUsgJio38wPdV5+Hszl+vUERB8t4DOPFV2muyI1vg237Mp3v4/rsLXc+6EbN0VDskz/fCiMJG0Q7yOOftR651d43DuflLkph8qByyQHNdRzmkIcXdkTldKUyD2KnybvSsYVG9YtlxhUdkPWAR5kNtxqiYTW33DD5x+O1JjTthwaO7tlaXsUxr4BdA8/nbhxSKzhSmWDSVVVPOHKBx05ak3E7Gl0LH9/hSdwAmZrTmJet7r46cp2qr/vfCS+E/IKxTF5ULV54OlZVA5cXnkwVXnecLQyt1QH87qjbJNxcduyVfxGes40GLqBqd7l29l19a04iCXMdf00LmT5Kkhl8Huav1tuKV8fFzK1jdewqQHbNUyITA5Du6AVHHYtkdTe47TALhVPLmHbdv76RkmZSF+V/7xZRbOMKPdWUzD//FkhTARPLUvjfVU6ys1NpoSiMxQYER62bjrJWymU2K2L369AQ+AXYjBEYiM677twYV8tCXfcKATrNyis/QDD5uc0LBU3fFSJJDmggkGQ6u0b57/U9uVqAhV3iTBmS09SXpSU4OfTBs8kZjlKSQq9qGVK2G90SgKhLDLtRbJcPJaGqjW2Kte4svNrx+9jFG0xEb1GX9vkyePHzmTovtPTQg0sQ6QyQH63aNDFd53HTnRML0LSrgvhrIZ3pckF3fRe/b9t9GxBT+T/oEnji/UqvR+vWVqvPtRMzoG+a27dhpZEUGDsOT4Wc94c6XElsX2yCkLp+8okEMeIiuTP3WPbSYn+CKva/D7I1ZMk59E2Mtr6Gb+W5ij/XZi7YL5e8zYSoW1dvHW8iLELjsGirSgLz59GyJ/yCta/bcXQx4rcfVdqHLh+hqQAdb9AbvF6TYNlFLKZRnmvPsakH+yQ1wM9lWpsTwnVeyw/HQRnzaaFxIkPCRJWPrW3wVMgGvQuKHb8haGE1UZmWaYDpu7nH62GhlPsPKTgtDBdCL9Epm/cRWIEdTIklc5NNobLksmC76kkxx+aXyntFl9KT6z1PQBL/e36BTrw+HwM/QtuYdM3Q6D/CQWYfPsxjtvGOR8RU11SMiQa6W+4BNwhsxxsNJkckAyWrLDCIL0nAdikDlBnbLy82Iovr37yxSqjuVEsm4sDYYLDNaea8odUIj+kunsOODH6ykw7ZDmYZqLqKHiuJwmwL/Tnw8Ie/OSLD6WHh1KNbahUIyWLvq3C1NwE6QXkP0Zig5uo+NQ2Z/yy2xCaJm4gWiD+x3AobcdJTZdCMABDLrsGAvZ4noQHgefubeEhWGQsh42Al4kir9eQr0OLNHSl3NtP4m2XX/cCAcnirXoxjYxXEextRDMJi51l8WgJSZRCHkwreqqHAmcQHchXjB2/7G0RWkcfw64jJubOKiIAEWMNG6DuIf5ULud2JxwFTy7YGdAqJ+rWwWGZrDUR0f4CsRxo7XGGP90DF78VqRRoNXoIhf5MsjAwUpJ0TEkXxy7xpYpSSrq1Y6j6td+uGjZsYf4M8MPBYaYanyQoaAUULacrclSAvlMlIcI42b0wAsk/FAYAqFtV+kuy8fstluVWiwPII8FXgmBiJb/0uXiz5DxFxxCzz0Q73GpFhmlDLU2JkY2XaEKLF2gSpucbASS2AqFsEG1OAb45icRB6c4e8Q4vsPiI75/vt1KUR3EP0U/X8gMyg16XuscTy5NtQkA3rBVtN61s2ju4KdgBT4HdCC4b6fDG4CyU0OuC8Hl/N6eA8hXpV2MfZ62ZZyJITgtyf1Wg7E3Yosls50sjdOE34XwG+W1uZ0lPUTl3UESA33lY8ulMwRa54hkQmDNYboE4uofDkq9it65p5Ii0/EW1sr2vgPLNDRtdjTJ2MeTnpk9XsnQvN6vKA0yYMD/nE6o5HpD2W8sYE5Glq1aj3E+bsNlkL5oWYn4pyfU2Gjz2Vkl0VbJO7zWrvKrllFBN2jLzx0k+ra5DO7RzPDEngyhhXZ9CGAaGP3/ZumxRTU/hQpwGPPkQlRBgdhVss+Lu4xsDQS/CGM2Gr2mw2ezcymIz3dQs9wHMH0L8PpnXoz9iHxvuDwzi40csZwkHds5qb/CqGG8dIj2KRwT5uSsp+sHgcvfzy0U0S5JKTrrQjLkxHbrbZGrOZ02n6ZQEzRvNz98bmdOpO9Wm9fpJhZVR1dDUdn9A67RexFCUzvfIwQ4GbSNHaw9in4V+NvQRsVXdWSDzpeKUwFicB4ycruizgOJ7F0GIIY8GZmfhySPihMhEqOuWMBnHi5fAshDinAkevarxeJIbe6VWm3115fNF3ilYHbiOHmPyBqV9RK+0oYNKW74OLgyAe/RX283TAibmhsxy4lsqKmkh+y4cwz4eE6DTfkHYKiqiOjEcH0IpNQ7Em6/cYjTLh74kcoGEGRRlhbpcZC7iKaG/5OW4hpnhVyv8UK9kBhB418iGjCfCpRwJfiL9AlGttOZkBkE34OK8axsGX2Jsh8LpC3jaE6RSYSRMR9MzFMQV/wnNj2Mo7Optwg6agXZfsokTjsNpcCd+rMAzQokP+LXSLUlCqBOCcC1gzUoCNIMTl4rzJ+CHvKmiDiF6Bh/znLXeqN9MAM2QNNkxQSn3Qz8JaKSLPhTAdZzAJbsyEyW93jULm0BhtuapMefGiHyEOg/xwu562bKWZDiJuGKwWBNCagguWrzUdXuUBgwIrQHmMFBkmW5F7USb/q8EhZZP6t7RGLKwRzgFldMdYrGh7aPiiKp5zvw4+onG9K1lJ9O46RDjigQbuqgTBwCHC3tQMz5hN/baAgfWVYwtLC6HKLwLHlCWWHXI5p0iC5DTLUiylHrqxxNLASPULOrRR7Xq65xMpkDgAKy5jEqlXs08kOZDHFiTn9gMP+iJxpqR/YkeDUcgGOnCLzjyLuI+bErDiad0Kvs4MbhqpIFUO6mDtPo+WIpBLUZ4SShXlXxOr3P4IzdbB+b3HBntngv4XHd6hGnXmYc5qgmF+eFH+cr0xY0V9OLV+jzeQPmqzyHqEfN+UglvAwQlVfwHolraCTYz88PtaB/itrJgxojiG35FC0wHSd8oosVvZj934uNXfortEMt2ku+3gtkdOLnNltS8KknmGaT3z71JWs/I7JORYhcLsDXtmQW03hoi4y60Bp5umJrytZadQWrq8TnlcHpybXjYLJASX5crbzFy1iJct57dzTMs0Yh2uKm7CY4g9jg1AkTAKHBLV1bPNRBrReJ4CyM8Ew+s5JCDD63V14D8QnjaUoUXwaMeTFIHshU6xQvhG9PnD30SvT1wTqs0B2ytIVqKzcING1kidhCH6CpglR1GjAtxjqop82FVsrpRtFSCaZD+4/NqwkcGJgY+D1PShYbZpTj7yIKNm1PXAWauvNgRwl/+1bXbOYd93dBw48+QRcBtMPwLCiLinoT0X8y2eWYwH4gn9XEbjZYf/n3r3wQJkplBG4E3TkNr1BWRg0Wm/Uo0ftLNkSWwyzuVNzYFCrIEG5MqijO+OjtWicuI+JZ/AkQS5Q85dEPBd/+1FfbPwQMYLz9QT86Vnowz/+j50GZjnynY+ObR8UtiTrYb5o4HDfEyLpbf0Ym1WnJXfvWWvLNwSZcsGK+nkgcnXvcl0zuvqM6tCJOPKF4mJu+0/qYxV8TPWLx6vwxThk3vwspNq7zp/Diqr2bhhm/ojQvcnPy25ty17MTBP/NzqrLif7qfaIjkysVn1FVu7kra94bIm44PcNcV+9AatRY+7ho59/LYCGwrZHsM7HFXbBuOCcSOQNykFbOQUIXaX0rqvRy9J55K9ysQ67ALXeuY1oG/6iSN24arZ/0MRtZJ+4k6xsX3uGI8bNgnqCJpF9PqI1MZcRPT1Uejmkkaa5TZvW/w5wgaLaL4PfBPKHbR9vz3YzM/oHDAj22yYVJg13V1CwGJ/1MIg5fHzt0PebGDMuxz0w3Go5yOERjvoSrJ7F1NI/0cbM7IiAtQ2JaewxqH3Bj6A8cgSdw/TSjuVh0z726qMAFxulG7mr2kvbz7qNLAjjog0i2ZwXaVf/LsPS5YlR7erNAuyZf7tONPa9PzwkW4zRLb2w0Ht39RP9pODCEg+bV3lEMr07E5OKmtmkD7TZJXjLYHAG88WFOR4lQ3IHb3RDisxAACVy74hNVjgE0ht/Mnoo7/f+kv+0OLYyytKV4UwSuzqxs6RechyPMQgrTevtnXgva9Z0ciuCQtvud7sSFd5QvAXAyMRvweeFQG+E8DBHWbXnBl7+JAJpP+8hlGtG45BcyjFSQZasmyiXXtuPJhkYR9IskfTFSMRVJNhyzdo0B0u0FYFLhNI62qzTlBswkxDwiKq9j76Ha6cRz2YgHklDQSs6TigVNjCzucBTAvkHJzMt2+1OflWc3JhJs6VNws8NE68pgDE5BT1mfMnRCcJTHSA07xMChkjRuIha/OWkPClVpXUHFyAHI8IPYKgM0kgMhQIPl53BzaidvRnxSZLuAq/FWoXMAgG9OEqctgda/v/ocNqPxHxnlGTzW3Uca6l6ABbglzEnzcMeLYi4yXjPxnBA1breuanSEE1XEfYMmaFKolANwRAG3xWcIJ8I38iQm2I2f6QzOpxt5gy71ki6qYt70YQt+7kNLxrfKwaqUhLIvC2CPDPCVQ/NtKMNKqb7juHWSTogFL9sFdNYnS3/55ZCerAXytZO7/uMRwABh2v0CuqIJQq3LqS+qBJbEpdlR06unuMZE3BjCQB8R8jwKgVhmTeoBPPZ4AOcrYl32wBJ5wUQLuC6WlQO71TASsHD5qHluTA+KE9QFtRZL9f4azt5NsWvc9R3mSBygNZNRoFF3cakf9UvKhNkRHyuHWMR07SWQJ4nQrrAipS9Vj7JQxYaYw/LmBKDtpmCtNbh/g5LECr5gYgIxHD4QRvOEOT8KIBBj625yXk5PKRqShEPIxpB0ower+RAql4SDOx4uO+mOS6N3p6DAKWIdsGnhgfQBYqQuc77sYdOQxgzO4etsuKmcamdyjZDErYFpGAEwHr9XWqVzTsxiVgMFDsTUbHNLWnyFskec5jL3kVSVQqYj69s4qXkGKPMQFXm5T5FMWZzOJnbrOBbf7mdPR3J3jMDwChhbax+cxMP6wCh7iwnK5PVQMdh2IDXOq6YItOuD/x4KN7clXv1x9BCm45ZyulFN6yeDGnPBuJYXrshW9Yg8KGmuX/UJ7yvopHx704GzQfq1P2T1FUgpIJAn+HmM0nvY+ilP72hEIjDQDXlBm1oQbiU6k0hiNMFKmXqMtYc53TwR382FJxr7CsT009veXZcljnoyaLdzj1TSYy28xPX9o0zkGP1nfrZNC1A1CjcKFn24I3l/QB4c5bFu2PpNynek4OG+4UKuSjzpCLiONGKMCdL2NnypCq7dMW6TZYEHiMkR5oYOKYcHg4lrFgA9bYhEkzTM16N2SDn8j6ugWteErV2e8r3bOfbYzoW3BcedpW8bx8ce2BQ7EepzhYPSq0OExB5ojtTMUcyrS44e/15/r+vEPbeqbBjYd3EUiSHuBp/tAe4PyqwE+DlEfIUGMfc+cFj8wJ5zzGwrj4AGM4e2rsCC3lrwRkgDqi6SjI0TBBJv2wE8Ik0/q64HhjLPp1jl1bx/WbzsC/KJwLI4POU+cG0Lio6xNJQcQpqVjBqRuus/5svpZGzA02e0R5cZHUMddCuV9P8mvVfthBdqN4OD4M9c7BWYGqmGRDFZQ4EK7DMrJSUR3vEybwitQo6HFVRXNKa6uyxQNG4yzbTkIEtKdouPic8XqoDiapIIv5nQ1pNccNChb+b8qXEZcC2W56vL6U8HmNXrN9/0E2SK8VwCfzuOyqo271qAZFj3IkkKxecozlWHERU8iHlSJtQXJYaYy8XgrvuLgJmzXfJDBIfaFpUaxVMAQIRIv+ehOQ69ZJRy7dcJ2v2h5sWPHLdJkjscsRq7DOj1LWrsfMhw2EHmfIKKV/0QDO6TZjGr00l7J21KiRO2rUZuZgF1u9OPZwXvd1Py88DQWI+7SyLbuiLDn/fW/7cSQEGU1ZRzqWmNQd0LXNqOWOgaEjT0hb/J5byb9XRkOkhRSpm/jsdEYrhTRHwv6udF1jfJQ1uzCHYnoc+1FOdmFpwtM7l+KyFkA2+KSEnBJSsknWpF0GYvziZqxwFHlHvia0aRCQRDMGFLjfmY2RTjnzDH7MEnBDzXK8AjBqStdbWSnO2z7eRqUWnu7wDTf3lC092wg/dnBVkIDaBt0S58iGZa+GQbLPZzH1nctcz5OhlN/ufR2J4H1Y3tUuqKm22J0qAD3VLZOdYbfIoCEp5EklpJtVDH6Ws5pNDU1CYeTLin6ymKAQl5tTs2uJUsEOrAPCDqOIlKTo+KE4y1sb1C45uic6BJEek3uO8+Tn8/w9mAsPXoLU7dqVGNWGjGZ1DfhkuZ29ZO6FgKFKo+I3lezoSrw8ZxmawMsqIZMP9f5hxlSxSglCNInjmk/cDyLc/Q0nnnbxMX8/1z0YZNriRbUCO1PmMgpM4LIpwUdIjL1EtNgZAHO5d0ezu5Inf1IgZQ+VWzC9BurNU7CjHcpZ8H0v+z9Xf/tXGf6blwgNOdYnbgArUpBm1NXmPguTnbsdXaQQb2b7dX8gspNfHWR9aHNX9Q1sVFk/d9d1UTYFcyaePKQndyFYURkNvqqcFm+JHlHrjcm1HBU3oLU/6Lj61ew+7Z1MUuyWlOGJz6TIdI9vxuESKRY7hIyISIiNxUSyEFDuhFkLkQEfCX4FgjjZAhJRt98Me7JVIdhEl65GY7Oxxc+jNeSI9RWyT+MaNQSJiF6sEmHuV3PWEBmoQT5Lk8omMpCjNyuhUDve45PxCdklhdCwmRkPBsOn9cfDRmvIa5NPa4mB1xU5yg0cAf39/eujsnYwzR6n8h0vnFq8b2eNvjlfjVUHCAY4T6rDr9ljbaHLvZXy6PwEqzukIxwOidn6GufJuccXvqsMhJ1Vw5axXBai4rKUHggJQu1Cg4me7AlzYCYma+qTbbVS5mRYkmd6U3XEulmkmxERTLpCk8BfXqHYEcwgD91vfCPH3w6MgRTl0yQe5OFwolXStPQ5NIyZGZfKinhBt52c7+Zt6zD1AGk+f4/B/HvER2y98dYSsW4HQNba31HOaW/4S4NwjRd+VIRky4wQd//T+RV3+/1Sn7794vF9WCudMBkDGvNq67zEjxJdhLoc1xa1V5SFX2wysg/Y2GKGSkKHnYqNdr8DH4P8xOXFlJZBvh5STXtt6LCh+XPAJQTEmncXPRfZgY4VgZ4mfPSLmTdB+HDvHJwIidm9je88A9IcEIEtfMQ3swNiMTNojeSsgvmoSuawoT7gjN3wS9zy7nS5FJY0iMdLlVAbpM/A6CnArDbgJW4meXVTCCFRlwyD99qJOcjLrrkInoAwkdAYJoEDj+kDcACr0ogfAUzcQuzVWKNBeSqPWs4nDWLLA1Qm6sHt8WQFOD8coAgpEx2De8bhRsjQ5rt+YhLlSfuF88vPDO7VONDHDZPjyVhkZvC0IS6nY3PtRspXjjLPeay9f/Yhcmzj8AsMOCOfajyzbhzj5QQy+5p9GTXyrNJuAz/5UXPiQLx8tm2VNDboCLb3+r/ieyNCSakzHbm6gbtgYlGRxrdsdl/9BVZ1LHtmgC5fJuw49jAmJbMndwP99JDiji5vs4RvcraQhyuQiBdjHsFcTXFRL7XC7VkOc71/7H/AffmgN0keiTZQONzfHdvUoj5UgObBFfpo80UT9DJ2ZNYgA+socJHKQZ8ml5CgC/dcCjWNOjJBO3h/aEEI83H6X0HP9t1diaGc8Aoh94j2L7pjsEOr1w5aVxARrvPoEE9vUWJkPByyghGWQ+RMxtFrbdNjWMTeQSd8b1VHS4MRk84kf8wyQvwN5IM2IzkCHj/q0zSGd4vNgnmh43iK6UHsEKNAQYCe3Dbx2Xer0Ien17eRRDb0HlczDaMK/t5cPMFf00Qol/auVft1psluZgXBFlfOrRNzOUXA9yVGNjOLt22KAJy4We8II9hjljcKvLyZioXu6qKxyMeULx3DgQxdhFLQD0cDi+Scq7t2NBmltydxktY5VvfB3QJxIVu/GF41oV29akgEu7QMMXwuuXpB5V0ZmgI+tfOcM5And3wpx4eWITzYYKMDZAPvkOsxr97DAMe08z84Q/l6TCEyQRokIHd+RZcUdYokxqa4GJFeSJGWkYTdeHMwyyIBLcRlMTrM77VdJXOOdT0EafzZ7/VxsUS9/0wY+3XSY8Tk1VXOocP/Udo/EiSOl3Hh1eLMXyne9MX2LApLnBJXW8BziYpGnxzQluyDnp1kjEOi6dJCOo2/AuX2lyPNsVh0nQLex5N+iwb8yAExb5qKp9Mluby9uiI5fASYhn7X5/IK4F1MeD9J9JAR9rO8bB3y3fHJqPn/GZSpPMk08wsXUpZfdD7zS525GOr+UssyjteDhqMp7JSxjaly1y5uEOq/izJIhContDh9mF1+gzvz29JvxWjAKY54zqEJ7Sy6AkhbSmbo2EFGzKtx1WwBuaVPDcSKyCEysxa9yhEFhlfykrBAm/t3EJMhSi5BK7f4hwJnCIgsCePns6jcg/FPuJ1jrt+ShJLNJ+ncGygHMcf8ZMG9DmQxtYO5GzXocjnfbFpGX30rJLKdOJkDTIzx9IOTjoz7pPCP0cSh+QLfqbKWsTJEZ8khUiWJU1PJo90eQin41BSdfJo4BAOIp/HmETe2NN4mGQOH5Vpme7+ix1ITtqwSzymk1kFkWJZWA+kCSO3Z0lwOK5lBAZ8T1wNlwE0qoeZBq87IQ6E10E+J976xCZvctKgYiSgST6p3WprxeqQQhXHyHkb5ZPHEmjefZn0mPfWNUYor5LpZl6vqeazYEwQNDansXkI5IbpBqT6jmISf79903RyYB3bavzcJkbbGiDn6h9rDWlIATsx6fikDSRQcY4AqAEOjmMnznb5FejQY1yeBq/FYLFPgTSatyxY26U9R1cSAYswjOf7ip7sKzWLD0DUo19ZdD7z9Vds5m9vZpjjMoR0oWg3ybf8nAbBisrSnlqn5x5q7T595ZxajekDvT+9IiZPr2kkwYEswBwAGFvIs+H0wkbDf0gSpth1P3fGY3NuzMcwvRxb/GRs7ISMm05zU4nwAfiwSiOZ4/ifQ1DAdxrYqsbZ7YvF2ZYOmwgRiwXlce+FFAWSpj6W2bU6qdXNkiaUSS0xrBRZ6dvuMVXzbdF1TpbRvIZzPfgIPLlcVmJjAW0167d3NRYSSo+mxmQPUvZaxIOOMKUIOfD3J36Ojbxq81brqeuFi4Wrv5C6tCg4vy+t6Y6byOGpyo+GrwFp8eat0DS4dYIINA/xZR7yLwIBjpiidv38mMZ2g39u57NDbg5NpDDZs1+5Gq1BY2m9LQHIuvCoocROCPTbsODdwyICEaQA3x+V59j4q5KOC5bSPZP457DLSdJAaIAg+FgR8TPMffjtCmrJ1Zo3YLGAsPj6rPpCyVwptXbsywcE5EIiEbKEro2e60NwQNhwVGOnmc0ortMLHuuzNxH9sZvZk0xVh53XAfZYvLlLAb0NnyDJErfijQdGi/o8zYUdoffCNkMDtWbWj1Q917czihgopDQxN4lVHiCNkv4Hx2v0ybWu/TxNolqgDz8zkN0EGKwSpBm9bJOLrU+5GI199GDgIZ8RDSz++z5CjE9g4TCoMgFpmu5EpyuUVse+kOy0C32J64xNt5AX5PREg33we1icqEE3ZOP5WnL6SOmpzXB9Ee58ONoKG3x7opFbGrueJUCdVELfM+1gyjBIqok81epCgyIj4VlzBNSXFOCc6GkdEDUNXKe7zg6Q/NUJewsld6m81ari77wNRz1kEElTumx6CbFjokwrigYaPQpB0ZXC8UIqG4n0U6P17/2iSXA9ng7QX06sTtpTj/Qw1/MAGkqzXJ/1RCuZDr901RmgRELfzwYkUMH27j7ZRqIBHjeDnErnBtlxKxSPMc25glZGsbCIOQNdZvwiRd6m1qXQpLxSoMfteLj4CIFBzi650hZAdM11dOaYkZkmo/NPYnQ8MIQ9nMBLlFInm6noHk8A7SO3dyOpz/Rva/JWaPz/LtpalnjR2PsT0MLSswWodfLgAFIrEZRCzdD0hjk43JgIEP7Q2jBlxHRPwSN6jPRcLmhakHFdkVvfXxeTCs22wE1hNq1lG+O3qc4SDtqE377AyG6HucRCoaM0grkuUsRoauKucSdl4HVnd4gorq6KxQVjiQ9xbolAOH3Kdx8G6jqVAtDIzQrlcXL5i4euN1IZ9fWf6KCzquLxoEDuPZBX4sUbdnaYSCNKqvsqNRZLQBdUnJX0zVkuY7LzCs6jVo/Q3D/lEJLWyDZsTyQP2RpUBQUb+ACIZ4OuXJAdcrMxK+WKahN5mQO8xJ87hJOyCE7JKqJ/nVObaGJ0WTtQLlmCvK1N2sw/TB09s1fkvWb+pO5uNv3jSoOk3YOTl28DIfiRl44YsGug2eOMjshq4x5jmn21wil2LzT4w9JTARk3pqVoPzZ3tKbOpM1+YxbhmHWO2HSmo2Uumn1WAQR6HIfP6V4LM5SUNgldn/wey+kHV1Im7USknA2hLJEffLfjepwenAZRwZCK2sC2Xp20NEWaU4YJms650X7RKWOgVq5nmMermYvag6ACCzkuddyv2Q2jZGrr6sdnii7Uob1W9nsQ2/H3F22LcehsWcgXHeKBNAcEcyg+jERf83PgdIjQF8Jztyql0BuOgrl0C+kmQ5pweOeMDIQEgAzrGeymY1YdBBRA1YCbte+jZEFTVNI8Hi2nmJeAuRIEDuZ4MM+yPubwy+druBpgh27aHmJHaogVXEiIkG67UDF3NQVTrCWyLQgDkdwVZ+GZr/wEP5ssjoQckrqaXpM8Hkn2NO+lp7KlWzswObNNueCBlLkks/kkTMlcq1SSkaF0pKAnSqFgdpD3Wh+csZz5nuV7FVW7oq9UeFgIQqUmjyEXUqWGTJwOkoxEPloRBSdHHwPa/kHGdnD6Nvtd8pJPT13gSOijCkAt+qdq0seYWxr1U7QIYFP5KP3xrLq6BStM15wYZHGP74y2X88XYuooSC38szAussAOxXZGppsHmSshpv5KGTWhdobi6vk/S8TllbNtSOdjh92VePr562ZA+yNEV4v0p66AfaRTVjO/HcyBbacLQSlK9cmh6yTRBI6qWFJRV2jQyFIESE+QFJqeoOhLhnv+aqCs6bYQaKtz/nT6NTo4cGBCsZOBd7u0gvd+4mLgDi9cahA8/UBqExep7Rf+iTzxUf15hzRJ2p0fHVSvhWH52lgnnAEMZhHS4BJSHWlKbSiedchYqhqZB4M1lkawn1ZnTnYHnFiW1EhzOkvzN9u0qNTuzNcsWkK8jnf6Old8TGP8PLoVj4/PmihFxAdyiMytY8Z1vD0TmxOeWlGHWaK5yc12Jk6KYA9tlTNKG3jKteYhn1vUIp1bQdN75MQqBMcHR6p3lBa8JAZNtcnsqtYTIcMKN+xxE1VLe1BggC2k+K9J44AGIJGiwLwat+zdLd+TQ13nmh405CJzWGVmCito7AEs58ktha/s0bWcbhN2+k0YOJ+2zD0YUZRiMkA3AFyplIlNl7y6J8z86I0cftu6J/1msTibrMcaX4j98nqUe/0xFg1vY6L9sEe7vcTaQyQR7jDk40K7IHraGXHQenoG+1eOW66I25EXxgoSy6x64mhECjA8u/7LMTw5iD0GXb57IOk6sU8UtAZF3qAU7rbse0jtWtzh3Uf5biQV5/iLv7CI/4qiDXErwx6T5/ZuOlB7nDKrRAToBvFKADsfKoXkRn6vRoLf6IwGVEMJmrqRnGnuXA/FasrwDy87mP+jcQPLoEdjhFADkyRSxOVykTFWYbWNcFFV8TV1Io6VigjoTjKT9T2EC9LJVpsLZyz4mAjlnxAisjww3sEu/B8U33s041xzHug1L24xYymDNfqwKnCBJTbdzCKMQdsHmRIkdKPszzlqu7zbNGYU1yaH24V5YErJ6mgwtveRFr++CkF+mVBkN4E5lseExteX/+spMjKf7UkpvSdYDP5hUiKHt4Y+lZmJXVejHJzjC2cwZb+KEvh285ql6BDtvzJXXbQBo4IcD2jJtGe5MHZRoH81Ijm67asSlS5T6WpWHhYQLVsjRFP1pPnZm4ZHGu5+KO8t8KwoihkSjgp2LEu4mbXNOIfUulcJTInHMf2cO87RSVUTbghPqXZ0SkR1cj2EF6nWfyIucBYbRqhs0rBOi7IxTPEMWncSxd/T6AWbVkcR7MMg3m2OxdfNgguwKyOKBXVxCcuXCsGtDn3TSksKhv62/2V2D5qNa1oTSWw3/nnCD5tUpJ3f1gTmbrIez5aMUK7milsLuHAheiPODoBl75RUi3rKL1gR+eQwld4tU9yT0rEhePgBZchh80RkQ3ggu2aLOXnjTDlmtonqql6sslq1sNBDf8gIIb48mqLs+zdbJ7aRuxbkIjtqdP0ZIQ3Fp7urOgkzED7u2zbGLYVmy4HK9r0rInrMufP32o3MWts/tMFaHNFy4F71fSWujyAIJNvJ0aD0ULEUR2zMhzk9kD2OHyWxc6UGhsOS+v21M74sZd85sAE5p3shZmFyeyyY/eyPB6H4jDpqxVF6wu2kbWWdU1jSQhM9ciHztWR2zop2w9UpHE9f3cr2Fm1WAFt9EIMg+QFCFrbg+EF3eHlH3rGwWiESOh0uhxlsrMjMlePLtDGELr+opbRrCq7Ld6po18svguz206vwcvS1bLfeDZ/Xh0mC8cXdpfE9NCbgFRx4Y4DmP13IKjlF71ttD1pSwxcS0YEQ8oHYBeBLeaFdVG9slwAmAkjQ9sKnTzbEOfwhG5Bcevd0+HPKdgU7NPCK/HOi/NeHAQyt8KEDaoGSiFyB25UJOU7VybtAq87VX1jxvzjkSlEnJXy6aiLOSnEFfyjVbNV04Uxn8OGI5hqRD9mjxBbF/ePZiZw8XT+SzdNDcE9E7005iT1eesoyA3n9h47nPHI60kZ78n32G8f0PD5ALC9vJ59yGfQkYa9fWJaTKCLrnzM7IrGni7Ld64+O4XwHDj7vj2sjr+JEu7aMzAqgyHHb7n2oT1KW3gOdY6QOZi60N/hUdJOywhzqDVt8BWN6yI/cBK/qbkiyAENcStgCFxjKHfSiLP+KWnwtTAYUKoQjtxKTqau5hnrCBzUFSIjR1XI6i1iFEEjLWFTX761BBuFqVq6M8XJz/oavPoYkO3CCbYAtLBGln9nf6ivnap1vpAZUqNOd34NcJu69K+1ZhJQOkBoDdzKwrG0s1g7BPY1gYX8NJvLMu7PQcUFilw4GuzJNH77n8epb88G2n/z52r6n2/ZjLOsrPR7SRinuqEQNa5pTzah7R6I5tDB5KUEZG2EPc1FyF5dnOQLIZwDDl0cvQ/nxbXjyLH6nkZyBbMsXLJ6NQeNt6WgG+c8Kn+s4HOu7qrsXNOA+aTMDi2qEhvYpTEqUf0woHgm5lAeHuFFntdnil47itzW9Dkr4emRUZt540LeuEUt7Q5LTn6rlpiFt583R4eAfxVzsOVC2PUqOBc9juTJ2Zrd8bmAQJmDbYq5CczodZnqIpEu5x1DZ+Vsc7XWZIzPtfClUsKuKprDzLugLLDhyu7ToDixD8btNVwViMDBYRx5eVlXJWvImLyVeIDuyxIUl3IuAVSPiNVO7qSbVuNfOQIAT3t412F2di+TcgE0fuFQB13C+uMHIPXhtLvVdRa161FG1AS6javbK5ByYj89yd0p3m8M8Q79TjexvV0KCNk6QuMX/eaOSH3QCHQ6HYuSnOOtEfnKCYIjA7oP4zFgU4agw0XPlWVqZMymT9xuo0sPY76N9hnn0XsO/gx69k5Pwe/X99kgjiG7571Wq4KX6qV5QRttbSMxdx1JEXsHpUYDnKBJ03sI2PHoGDb1YUatXaDXgJgAFINAh3TF2BA/h7xNUZPE4JfmvK5qaIJ1H+181nlTZpvVUBVbpzsIMBeyiPNt/zVWXUil7+2DR3cKNwv80TVqno14mSsHtibj+efI6VQ44b+aTAYsavqRU/LqZpYWLn0x7ayMy4Th52XQ3qQBuVYW9SFTSK3A1pLEig3A7chVNaI+Y8k5J3hHTZW3gQOzms2MxYqoR04k4TDAWWAIRDw4oh/Fj4wZj8hKHkw1OCaFWX2p10wnVcGzmHUoLOpmU7Y3q9IFgrBfYY6VNuIqnQe1HEG7r0994G1i0DNiQ4qLqCMCZtz4AnZ0jhFY7DARCOHCGmoClOgdrUkNDNx47xxZcfT747XKrZ3YqbnhZd8JN3338uVlJCkWr/HOQZPIErQPzm5sBa4FLakb3o1Kn+LwCLmJKr1Tp5l+vnnkpx9/02O0HiT+iv7ov58MaNEDCps9sjEAGN57WKIfYfI9EuZTw2zV6jDzUoV5Kb5iCrW7nbE0/T3hKbh+UQGlEAI3QGJDzwaFY4FCj+dBNIs2cjnkbHuVgu05PsV7h87UoTCbqY6zpdY7t9mMcB5fnCpg0yhPgsMX1VlJJ+eBdTqpPSbzmi/Vff/vVFVZY/anW1ES6jWIiDzZLk5huDnJTUvOurPySMWnG/guXpuF6TNTtSyK+Zx0/cq5GzO7e/yzhI3XxnBIG+GN3rFbVhkXmYr14G+bTaTWIUJ9eaqUzB11M3Iv0k3IiwWoWAsYT9rWC5YkaFQt+NQQJXz/wsVzp5To2iHpPNK7dXrYki17+/y59V+omTpTJKlVVgXdwn39okt1SAxsyOeiS5s/azU3t63wgT9WSSewxlPUa2MrMmW+HwXHv+xJHPcvUuw+Xs1cTJR4z6WVEPXfuXkg6V6F58vSV3DXZbh08DZGSCllCPVAG4X0dKe1hZR33i82J0KWL+iTZDTpZXwGcIbg/+PeqmYt4sj4qDE9huSvckxLEjDsDEAQQm0cQVEfC1OJ3FFB8EH3Ou7/C0LyAJxHwJXckcg/WZOCqxidJ2BmsKb5KsqZiMucapuccqw/RqyJCZqzkq1NHtNDXIHA4b8oBm16jRxqn7neLwzbAyXCyDOf4wGorXb+TiKeDXv/hfBdsRu/rlb8p1D7L1Ml7wPpue+AgFh+9J0ra74zUwpf5kLsSneVK4ryDtxhxa7E8BjP2K8dpytkVxguAhNL6XkG/FDeWG5UnQC4vDb8XoLRkPVSyjCa5K9FsS43HUfJ+gRokEEzuQzCOKTnMx3JDf2ZD6gyEnDucx/5VmMejYJ9hOk316s36j+lMt9gNuIUCmqTPnBTKbYGm5MGtp7XhIm+XQDgc9TSJM/ipr5jWwNt7+w6lckFxd2AUN8jwFibxACc+A7McVeYA/9JJPY/yp3tCRO8Z31smgh0LCrik+1TButnQ/1f5XW2YDfeukN6zVz2TV5L0w87dKdDOIpPnE0wUnm6deHXLwWYzCyb37dPiJKGjFq5gDQBnzYtoq+964TwQJ49oHW0pgd7MInQwQ6eiit6+uPS/zLqfeYRx4siZcEensmSR1Nn2v7j0XHVdObYtC1rbTeNUND44iYoeogmevXh5mS5iR/sFYlVUu6opivQAFtOntwKncRNDjuW7WZtc+91QZvccFaHpExWjuIf4ffl3toBZhP89Som1/WvXmKxTM6wEKNkwGC4ES6wya9/IztrO1l2OFYGEnSATLSDLetQxayJuUk+8QZ6ChklkR0rDqaPH1LDIj2UbrCwwfUI7I+0R5yVBkMbompmzZeoVbttCbU2quCaE2LXfkKLNV9OtUVU/piYnoQ1PZAcVDuOmZZQsxxb28Oxlp9oxazo9qwlSQa3MCBwOibbC8qXUdLoRC0SrUrokXnmjOzpzaPJhInD2JwDVyMokvBpXbkjC9JFP4dKKExGPzLTbTiY8OlGS+9QEVI3lishi50cpQd/DMTVpDd9vh52FeyQfaUIWM78vKXDky8GZTnyBIE2XGl8eTyXy+Fdzmph3tQyHLc0R9BXO44JQrN7RFNBj8OeQXP40sheOXlJ+pPekOVB+XSqCvbClw/Ed5IvJxTxAgid/1X11kShGZ1Muy+sJjPJ+AKwmePYL+p7T9/seV1fHMEFIjTYI4LkQGvTXEGnbiflv2+w6Fjue4DEZ6lX8uGgVtfvQlhx/Wi421hipJkRxH8YUoVHR2Zzcyo60pIYRP5tDJOpAkuT1l9ec/3ROvI6mc+bVqT2s37y+uLk72pX54/ORvyA/GfjQGhN13pK+Rf6IjTwbLStrYNPImuQN8vW0Fuo9tpoe7aevfusaCK1+8vfJTKqJkojbgY6bFgUE0/r+pY0YGW1a935mNVewUHdfWcLBJigbLN7TihxB7zs91SRKm/6OAHSOfNF7je1WWjREa5N9JB8hVaxeJaHzLyEEHz9rewLPq6HTJozWdbemK4SxuTaABGOjD5aj63XFfwwSPQz/YHUp5Phq0FCc7+TcYlQS4frETzaEqT1kM7SERVYYSWbhRhwFH0l3FqnOLlYZEXKst+/EOLqS2axZMfRtzhWj+bbHe6d3UWN6F8Pe6BHtzS19aTlqUghVJmP4Y1xxTq8OfhQPGBXbrW6njUrRwvmkz2Rd29wSfERvt7Z8XIaVts9lfTdMzma0LufKVwrdCH659H0hwc/ISW+zgfF70+HTeStWJ8GXvfCHSQqvXUVCt3jp3Ssf05XPNLKYJ7VIlPCG9FEtk1PTlTXY3RE0BoaNrDLPxnwlOiwif3Kz86uC83i6ub5ponq6b6xHZU+QD/TFyw/mhbAtt1/VpLPfOMvrW1n/P6mytqP50D5YcHfxyFCznQ2fxU2BfvjANmliWuF4pAJL53em56v5neIMkydMjSQP7XwzyfBmsupmIpn/0Ia5FgIs36LAldqjn7SqQh1oqiqu0O7ffIxfH9TBT1oGfK6HKx+u/khyoFEu5QxEWnVFGGV3Ind2ZRZ5MKWCJ3spkVUcQmEmBTTnhvuiHzcagp5ff9Z21Nschs6cOdD5jlEgoyzsdqZ3bLkFN7eUeuvPLy9VqO+IByDusb3FQWEJoMOw3GpNU+4xk3xZvacYyYN0AVAvdNHBdZ9qJAtuP/B7whwcu7O7yV7okAcMWORB/YlrpRhrVav5/OiTfeAyMcv1n4UPWDpvB73tLxhBYcJ4wpbxImKQ+5LCikbMWAdpTG46Es4B0h7xyFMZSPU47Hq9LTKnZHgzXQzyi+YH3h4l5/kpUDB/Duc3tVpsxMlB42iC3AlxDQmMXTdHPRwtQdL7EYM5sERuDl3+UzEZlNmqxopFPr5x1m0k7385ZHuPi7FZ9XDoG7yuz31aclnBmxx0c0WqOLS1LkclqZ3VOPcC4vQdqmOUNTGKbiYCondz1CNlm6ZmoSH7hL8sL1swflNmWBPsr5haKDPe3MolUFjy0gXubsIul9pq8QgPBeu5BFcD6gN3nE9pMZ9z0ym78IZhpkluT6XWwJ13fBLLoedc+Q2xWhKX8rTuc31MNTLBGzJqU08o67HKZ+Uv6k774EgcF7Lx1KEzyzr5RQcOpGlAQwnosoMFK9gQayY8O7LFZaXIxzsMOj85hZHS9DeY8HLiUSqUOsrMfWA1GNUuNCmzyKS4VE+fUy4n0iO/JrpHmRRdOdXvcrbbzO2XnejUIZrsTc6nL/aEI0v5smr81hnWVztJVvjbGuOh4MvpNNqbd9Pt20U+NXq/zkjsMXCXpAmfPhjyGnJ44EU2OrmA3er8Jb30eMU2BDMQfJr0oXRecFoLiqb49gR2co8PtkWnviBOt9cd5kcx8GGrv8LjCo98NEjzPXeDwU4tbxsrhLmsoPoCwTu/yAB/FiHa0EVi8qdJFuU0+QK0JLJnQK4zL6QjBbhLmorV6VjG7Zob/XTOYHZHKubn4sLBoiB835+6sJQBaJgkXFMYwkV46D92O/WVosiz2Mtp0X0hBsP/YQPqUhmV/nwyACaE8cuywlQD50l+/jGJqePBZWWpPbZ/bNmgiBGeWEzpJeaeDLXnqKm+ixXEb3kK+/+iiTAe0g35kkZGH7Rw68wimHQKDF+V0G9VHHTbKPc7pS5ysclrVqIpIh+xZOkCF3kjgB0ZYxTOZ+fFMAwonoT1pPZ8xPOO8SyCRKiprUh+p+8z4f9vFujXRwnim9v4b/e18/rSwE/y0mqPAsSZEh1zIx3RmK98VPnvWJ/EMjvsb0MXnRynQfGDKz9GGQd4zVelcObdq3RvDK4lppTFrYxMHK3RZ69SJxyC9LerYMSz1JqGO0qCEGpmnpODE4gzE0nqN5LoIXmOHkCX0uSG01p6fIxHdhX7JLXQQAlZi/t5AbHnSqCC3RhEZwssaprNLPOqdy+vjzven5oYS/Fdupr2KI4tomkAThg+K9Ikd5n+3syyG3fQGwMaMMwqtVlN6KLehURHUj3dzXR0HfnLQnJ0HAsKCGidWt8tB0x7V5aiLC3QR9QEz0jNBqPRMoD53M4oVNgkBPnEj7+F/TZE7upCftsVwK69UiLNC3r6aGA2m7wTYvI8hhiXdeQT1K0SmkwPkDVG+T1yHyKGwHumSmpwte8CGOyf7oNUCoORUBhwD4/HWJ6d06+Ys4G0Y5BeMHdXervwtlYCI0UY2bk1SepJbsuNPAy3ZQ7H+1lZzv0mmR5SEeUqxvhfC3DcXOWi1KUkUsO0egXGlRoXOGoave1q5aZE1nKCI01TVnIH6bt9cu2gcInyen7LePnzi2AXki8xci7PNusC+Lw2V3mxSEsELfVZbYJRfmTrHtLQjyYZaXutvIKWzm3AMoHz0JWE6bNXpRWgjjBGs7zlGD9wlbRifD53XH9kyEGgiLvCiiPw5KQDPEkFBQixW8L6klT6GhtGuSqLtbDr1TyJdln1ObdIESTXy+5OaoglTpC/akegT6Ys7ARIp3axUgmOut6ogz20Hc8M4XJDp8UoL4aCF7pNT125D5JSKQUblgPi7LMNpMYtZ2E9u6ge778LAxodzki/0y4usAaGswQl4DQylBKmGi512WOm3KnJLN6xhvYGQUHOnAICXEa+r0vbtcjuhmu1CAfDDF9rz4ut5S+ZNFlQGeWvDgnU3HjluYGeEGsSmhDxkhaNia9XzgdjTLIcR0hi4ZcwnR1aN3cmzBCPgu8LBuH+0AweaJkeHxzIJ6UFgTD2PT2QKyxQwBbeV63c0xOv5Oni/nnVDjyVCQHNfooS50x4sRO3gIkkYDJJI1S/zJKragrwYdL0OFQ9q0r9TgWSHuqZ7fGguz439pW/e+JuWVI6uDweYazWIRKCMo+4/DomSjKsoRRz00X1MwUOsUi6YaEXZ5ajeKgbjYkuGENB0IpySrs22wdRUpMrwi224nzdxJWGBnQpvMa7eT+Yyj1GI0gdwnKjsLC7zRMuTyAi54BS+khJEzIBXUZIHcCzUfECauQhtD78HaSuPCefC0vktzLRMR8KpYZzNhPnIqomC5TW4CJXwSUuhAZo+ncTQ50pg9RtjhaieEkUiaGQb2ZwIeBegUJ5hlMK5AsDQN5AgW0nqkS+ukPypdw2zSBhg3GSPfoAjQ/IlsCozwPMkhea7XJJ2+0COR6OLhZLIXwVXer9j6Q7uxIxm8BjDakWHviysrUpnPVjDUS7pOEVWN+xzGO7ifWSBE5cVnO/l9hHMssRX0Lj0eBhrkJojyHCXBBQNBtWNBUaszgAyAlXJIJDy6TGLwDIgUxZcUYVcQskTvryf5AxUdY7v8pAUWHTjo7QIZCD7/pTErxrS2uV2CWeMPqEiF6iO5LuNUrHiTbLZYNr58b+Ov33TgOKHm9dzegXtoeKx9Yfbw5muupuI41vwmvk92aA+XTEZSKCSYj4bYgk4Dzu/tloYT7SKjEbCNdPmCZvfF1DRluuKc1NTXgfz8VP1K5J7Z9zrRnBrzoY/OSqPhVfoXLNwHOK5iSNQds9C/R9V1hTPGVNP3Dn1rMYBL3PAREHavU8z36G//Iq9DB0fiKg54dacNBWR1uTc2ZWqwy/cE/wpnfyn4AgRRZKmTXJ4LNmG0Xn6K3dOnhYDNEMg9CGuwcUEkycsbzkV9YeM8Hc5CgXaqfP8RD2wfkaAvjZoDiH4fxJUQvTjw6JWZlFU+0igomLB4CSnii7n0om6RWwcebs3clYwDfB4i41mLjEAIbJyQQmgrTazF0N/iCdTQ83Z5+MGbNTerJGBNr2jH1Nt8o57+QZdNspPY/xjDNNnll3sFv36N2XUosnuA6T0hXrTxQKrad42NGNlBOI8eZTZQd2ZMmoswI5o8JdYiYMObCdxJEFXwoP2MWZVRHKTLMYgAJRUA6NijIhGNczfis4uWJNUB4B/szD+RMgMIF+Kix1G8MCiNvMAphEkhzhc1MrWn0PcQrEQwX/puBF/o2fBQWEE2Y47BDiNzlou6kQBzDxjB/1cHWm5THRIo5mRaPqXbRLkvRIB1HMuBWAD93ogZz0U/ZhnnyYQdhNcrWcV6mkQAKnV14Opkr8j0xqlUYDHECwsNtpyhf5mEQXg8ctpH/01uLQiQfkXxZZ3CZU5GNShrGvmMeH/QJBIQYdTog3txoDFolXZAC2H/OKeXVWTXzjd7yGI37pLBP1s7/L7cPcnNKTJAtGgUdcMrrmL0Zb8UNySyouoTEG1H+CmiloOmpd717tEr0jTW9/fqY0fLn8OunIEel2+nyRFVUPr57Lbpj4tVT2vZqOLY/OTfQ3IfmgadUWxRIaZWSFm35TcPc1yVgVPNxzau0rBy6mM8NKr11r88BPCqvyO2awxDsOrspiPMWdXIMYKgTbczbVJ3jH+j0ctZWK5T1uKofJU7Xsk6Xj5/jltEXCCRsbo6lncnUM4CLcnRBJSQiF0NHTTvJyMoYfOLm4LCcS++GO/ECp39fFI3/pLzd+t7hsFuD6M9kQEubm40FTfye19p/tclN9wtsP3OxY9dzbUX8POZ1JWztUwDv6X7WYdfmCj9H/JOyM8fw76h/xFW8w3y11U9zfT2WTwdP1QRmJHwAlCOXEnuh7fb6rb+TkKXHRuQnGqGuOGhexnU0BBwysNW1xkcHy+wMwtF8yrBfs2zf0fBPWt1/88rZKaThnfofUPnkeaxaOtjL+tKj6y+W/oIAf/IL68U1n5R9mfr82HawhfTz3Pa8zHbVNJdIIsc7GRAm6A+ns2Izk/ppENjyEnqTeVj3Hng9xLiLX5Yq59pqXu9bh1LqGxjSuCkHzy6q9iYxwAKOOh9RueZxcPm4uRE2CS8FIaaRZ9YnxmOb8sX58P36/3sKsaYpfx/lxZL2Ad8I+tV+hfuU0UHqp6waiCgAnxfSMpe1v9/ViS//wqtko8dRGwooEr/AtQI0z53Pq6Wu+MGoEpl3ZnLqARoLaoFdhbkovsjVl2Rf0SyV+Ohm+y7JJDXYqEOP4sztPsfG7o15Ikk9LjqilmHxATFO1H9NP9SPuFLERi2RcnpzNaml44cTK8EgTtfu13nmAqn/nEBMHnZ2p7LOa5/9iTrWPDfOPj5PQWfQTK9Q0kCEA+9FxgIKJCIwkQuPJQtf4Zb2dddz6sGHFvOZgH6o2ou7QWtmIOJn90NcMOMb5rFh9a+wntcEAhpxAKzCdbhz2eJ/pyLGnIZaMQjoM9WkkH4ZnxThdaUvm+Fc463b5HRRYPJw7bIHTw0HlvmI0uj2VLJrUJg0Egq2btPt9jr8HI36ku54sMWOo3slrz6KGxXwB69/JdsttIilDt1+HHAbG2CzOfzMHMiQ5ycXv9996fvsVqmhSE0Zefuwo6qGADVbJjEcHkfHOLmZc40OMIpt/QlOyVGecR36ZI4dJTW7xggjg+jBpKhBEYpUJ/Mlls2SocW+9kviTP5rMNWbgLom8aGwJ6zr+J+JwXgk4TvN70vJkCuHjhQOJ73+AqaUc7nP9t8ejIXGzEP1uGRBiZI2SGZDF5tvQRbXvd+/rWTL+NNX/v3fyK8T0aIKzOA3ydgojgDmpbJzCVr/Wo1D7eUBmoRwAWR6gA7R9pVjMogMAaFALgDIAdWXnAUpuFrhNsPV82RQZhj2bRc2q5JXHlDfP9M43qQmmVQep2IHt/tM9r5kz3xLvxPsPb9i57htxgIRWobrkcgP7Ty0JpbKMU5VRrak2S3Hwa0uDAfyePSbc06iCbt8BFMUjP0xv2MD14eA/z0/Rwp2xOkbi17ILfajs+XqLDFu2eYB/Uo4h5WHon4+HHBPT0ba/FstdeRsI/Dxq/WhnBw7XjSwRdaifX66vm3nynKbX7oZDUZVzUg7OOWtSXTUuH8itp2LCNSEpW7L4z9WWWVMf06hNt5wOUZpGr5uDeP0BGMXdu/4fRhsltckAMqOdehRwxUbpCnDVs6PSRulro5oigVkEucqGrd2W0acsMqY6DbIGBlnmkXKIyP1PnoXv2MlqlssD5H+652peIFzkYUVCgdu35WlkeA7Vdlk79c78nVv9GS3/vKj4NmHLFG7uyW6ghq5ak8nsITQLLt8cDKGdCofrghKIi0XcPj5aYYoC6Sh+SKNkfuQ66d8cYNePoyDerw4uUrwN+oOUb1W8M279H9W+WmRo3LCGdvpbymbf77PN9z2+eR+jcP/zi8STTRcdbibjblDqhJ5pGGvBJkARypzkT8xwIbqtQTq1h2o2CInq2hOF/o9HCPA9JS3PbwLnvfgr199u+Rt4HIem92suRnsNN7XJi/sjkS4NXIRGwMIJFE2Z+4+Zy6ScPEvIXY4sNnl/mZ0Agbqa/x2N9LceCebJA0bKRACLtcD9aE5XPzceTkJ2HCk8niM/GG3Ti2+8IW9queDXGH1CrsYNvyhnmaIwQsDuqP6X58WWas5W/8caqwppsmzOnqRPvqWYWpSOjkfjuuNxz/OzIwGD54231kh+letQ9/mSDZcMSE/DFfd83gkXq2A0DjyTN+FwDEe15mHkh4eVhDaD6/30AI9Kj4AIs94X7UyxnlPXHFNWXMEGdY4LDBup5yXZkUbpOOxS1OmAKOaGUk6oWJu5bWlwnLxNfgKDgdo0pRMa4vabwMevTVeD/Eikv32RQCybwAnMMlp74aOwQT3iO8HpLXWx0fTFwPPya56tMJlcX/iQtFir7euU+opUe/EL+9oB3lb6bnN7NPDhuhZNZht8tgvcjBwFgpW5c+W6LSea1YX4rNuOoU2TurFpsrvyu7iK2I/iIu9UiNjUkcD1M6MdVY8xQ+LVAOCR1hGKzzrGFCc30z0bXARjuxySImwfbP00Wy5o93d6pMk1Z4W1AajDkoU9mcZQbYMVl6gT/A5fC3F40Ri21T5SgA0Z4KGGwXMGewFUyjumj6+9ScRtDtNgeM+h6ccSJ3VMZgN+HTXZbkelhomuD9XL0i49UK2HPOPfBR5N52mWjnLyl0qjfrz8psv9UQKes8OSoquJercadwZ9llJTJRdzZfv9/GxZWqWxamfuw+iRD5Xjhejprs/ocOeNwUkG7cnM0juPFDvRkdV2XoZk4qm7B0ZnCId4cSI70X+nALjLvvCVTDgWW/ahtCD6rm+Fok/JS87zbHQEf+mrXah3hKLWdQLJ0SA1hVyNT9fahLBLior0DyzbdbPYSooToPIFSEiVeMWoSnNtyre5SYqud+BwqvDdYZAPdVIzJgsdrT4K4jJjYh8PdbeqMHWiKRbaj0ijKJrCs1UooYBzzs+V96OQwfxCx/5Ikg6ctmIQq9MHVc8DS8kHRO7fnpy91IddO+7uyyt7385j705mCtaht1adAg+5/NTQOPoYMTC+INL/PkVOSQhWadfxlOlP7nnjya9o3gJDo5mC2iaR/J6Uql7Xr/RnNq2/XAr/vsmv55i9GFBNmdwIQst4yqT94BJh57Sy9Vn/F3SWdkBj9YcTi6rfSyAzuMiS8PJkN6R9zVQ3En3sDR6iqE1/56589DNsIinek3gYH9V4tyv3PoqZSaxuKUujlJd8PvB/lGqUobaIfiRSSu8IEnzCHAIUIZfCEDci5++t6d/Qp13+nrU2rmTxRicVZ3EMkz/3J74MWUvXvz2RLl0/Gukjkf42Il2+sBXzwMULi2OAP/eBLyOyXJJxqnr4uSBfWjylkkvLC9oQnlhk2DKGNry8KIkf964bXQWp3KoNocDfXqCUMIsU0hZq6lUSGF8EhaJlP4sIQEp3XYHdqAyjLGItX/TkzGVrzgvJ+rMNAdqA7kWOL3Ss5TOyZk+Qx1zGIJOxNwcT9HtBKey2KFtu5nTo78VNHTuhCiQU8KdzREXvQUumx8j6kgW4QfRCBIpJqB9VlyVOfxENsvqtyLeoMv5pdAKGlcEfY29ePr/D+zztH5KUd+N0gDnwC5IcXYW7FQ4ZYap+U4ceMAlwpzfgZV57cUSSKLcKeBVeXvJJKGcS2y3nHpkr5+aV1SOjz1NDopN2YmyqmbVKVlWMwhjdZtN2sPIqXopLb4uH5c+v87JjBxAbssnFM+8Ea2/Sa3qKXn0YPL+1eFh8/uJuf2BujFjN/l/igczalWff6koTVS3zFUkL8XcTxcWTkjn7s2lSf2nSbvGVPsIgdrQNB+smo0CUHdGzRu2EHDVgGqWMaQ8s1d4hOjXAFQfkNupWm6S9UJkYC9Qk28d3+wO7Z0BlO2pGoGJs6coHF7WSXtklbTaRfc1sw7Ja81W9pbUFnIptdvKpvqCDK1bgc2dv+t1CUiVL3LcJ/WtPHPnmLq8Ze/3ckkmS7oc6uPZ1OVMer/ihefF0Va/J1bNAhlq29ZiTz9ObPpXAYPuusj+wjzDzefKVHx5BrUZwOBdXtWdibqZkx7HWC0brPsFeXHHX7+lYf/+x+2St5g82roHT+q3lfZA8GSozok8qiuB59iOM9MwVVPFsx2WgnZ+KXhuOWA8iD5rH7HtuPBJJe2ABkmwLPN5j4HutclobTqDBV/t3kY668S0XwwMZvjmjMTaO6T5RhD/Y/uVif1VNzI5V3iZvQO1pOzm/d60ehmk/QLrlpJIeENtest8NRgoZpilC5HftjZAizZcfpMvO9RnBonSHIN9t7hm3I0lV5bv60NueBkDtL7ju1ktoh7Jyw+j3ddsT4uU5Y0wsvDH436fOBqkuZEzaGf3cPSaaHvzBqiF6ANi/jOKckg/ucw5BwloUL6cSE8GJo76ZK81Q+a4jz6yPIO0HlhD4zcVsIrt/vpd2uVvDtsJyHG9J8WGspUhOfXqXjS/i2+q75DLmkKSAuMxXLRP5GJERkAsAbD51/5J+pSoi3FiafsfvpnVwX3bbAiUe+GrlWX8UCUAGI2aCJxkx4274ulwA6dXzckRdwXw9607grZNfwpU9E/p7DhSIEUOqRaiGxIyAaglaUiJ1QkO/UOf2371ATCSRKFUwEV41QmEdg/ASswVM4dFW+GZ7ap41SsJObHXnSHn9rNw8tIi7JWdlV7KQAxsqWtWPNs3tnoGkDyKl/oX/MRs1PLu7wnznKnR9UIz+rgqCchuG58uNgX8Cam0vU6nUwYBufkBDamSI623IHnmIslmR3S1vT9eOT6ROLIACs7ok6FUtGrIj6K04J4MqYbpPr6ZfyUdE+r9V9o9TebAyzLq3KRudEYd+CBNt/3LG2frbne8AS+R8uin7MP4dYglz7njp3F0gw7+WT7b9wBGDe7f88RAjnn5MUyz1lkb8BMKyP3GEby4GmJ9PX8O9xb62iGeTbluj5im1vXdtheM5RZ/IzM3SDaIbSwm3fsKT11EQVc5bjWzGdJJZx815h6K71BhDzDxkxLVt82Iq5BOG7xcjWorGY2y6KS3xhdq9k0YVFyXVjDPN67BYaPpZ4lm3YESAEdmmLcQ47opxIadcBBOZhY8jVpS3xK4cHqe6j0VP84FHn1XNVgIQj4QqNvyb+d70m4QFmUn1bibmI2Y8pcQIRLcNRBZSvNq3SZ/aZLnnr9Pbr3Gppdx+/mbpt5lqlL97D7yFuf7I6eVd86NwwVQ/YCdff2rKKyiv+ya4ZXNens8whJTBW3jAUAlzYQPQTs1IA4sXaPrL63u5Us8WHGLIfofQIK+UXfIt8VbWiomFnZV3fbKtKS8lGX3IpNRLLqnad0RztlvrwE8RwG9+6ummeloQxfu9QQz5CGn2gqOcot92Sj9DfG6GwcXuI7RRGAfhMb9uSI3eMVGdcwr7KfQdkAKsSGqNjVsKiTeExgZltDjjRUlniJ33+AVUjGbnbN2kEvW0JmhMQy+KiMbKABnj+KJiEoUBWciYbKLIeY1fifY20Z9i5tgHRjmkkC2ppglRHwYnarsYQrHlWjl3bTf2yTYZ5AsVZXD2KogWF3cME4G9CM7urgar/OQZBuibXNkXLZovLfmhBRp7h+NpkrWU0VbL8+GW/ba9a/30lakqpLjzkTZPl43OTGqvC8r8SwRur/cot5Q5N09pSpDSOCksej9eXqI3mmUegv2hahg+AlTAkvq7n/tinMtX4wn1BgbFJE/Fn06d1TzmK3YJxgwq4edISTSzlUxVp3rir59vKgWVYu+Ud5qMhCbnXrPMNnUNLB/QSYYIUJQ0KT3/1N4K4z3aW6rOSoysCqDhz/QBGvErMhFxQ115nZlY+7NlW+hPXdtDC6nD8rhuSD0w+wGyNicB94S7KP92Z4wGcPINoSHGubN9Kh9HojkyfJIheps4Pq/yU2A0PVBszFpbsD1lTJFpY9Hs2+6NNaMkAnVyWOBc+lZkJ464e2zkDtW92bg/H56M7gUmseyeEE1EexSl5UQ1GTzJqQ79g1Z6Jw/a11mNDcRg4oY1VUdL0DmDVp4eJt+dRD1u6ygAOlZmAL4LQBd7i7HmmwOawaRkKGRcN9dGQD5sgiqKJHW5i1WQacHOOD1wjxqi7DNw8AGKtHkZVdqnc/n3Wa8SHDojycPZn8gW2zS4uCZkn28UuQXoysUOOWtEkUdRYjrQKJNtIEohCVmNUQjQQ5ju1nGn+QFjJzFxLekN4mC5LTQjBnP8yJo9+s3M3Zjf0u9/Qn+M3kxnSb8B89Nxn62RVS5jiGg2raojKJe883R7Qbvo/N88ov0S483OeICYSKWtiEVUdWEOC5Fuepj3rGyQ/kfpFjJio4amX2t+ayt8g/KVptxXtR/tja+wrnkCF4oRCBXyWMRXc9mJEt8kiMtDmg9KxK9uIF5LVRSVS0mNYTdHV7pTvHoUce76ddNatJOdBp0PbTDcST4eHRuTY2g5pSuXXOQRSNXicCmmL1F55lGWeMQOVhR0m0SA4a9G7WYw+INOuDe22iS/OO5lCe6WJy5kA/SJf9GvGJ7CIo1aVOrlKPUFQcyCn95br54UTl7lXKGGW2uSKJJMxmm3uEBbDlYYnm6wcEaBHUXM/bgFB/cuEAKFEwpYxTNxhayiJbwAeOZdxAYcWEFh3gPafnVu/poYyhbrfkTtvrM4atOoyfz5tCrCVaeIQRePeFXjWmVoD+niTiQSvBCopIknTwf6TflSfKkaZOC87GaAJqx8+WFon5mYvLmgnauX1ScE4eyb32b59pNa0oi3+FvsFUbjWTKHuPqFhSLgjHt8cXZwc3B7zAz3mtA/HzPfneSjZieEkJGFDFMV4gj/aTI2pY2S8aWH5LFQlAcgAUBI+nRneno3kjcOgBC1/8nm/s50E64tGhMDgWM0YOUC1ACNk8tDz64YyOHzBFG4TKZsM+FdqmdQJqzLqeNEYl79joZDcGYGes3oKx87TP/+P4lwalkrzBQLE8CsjPqmxVVs4pkQZ+uUjDo5CCzVZwJ6cmZsujAsRsDolWUF1DYT1gcQierXDDKAjlkdMgzsCqUAdUNK93PWCbdq0cZoBlgmCrl036IkpEolBFAvoTLvdgN+dFSFVp806plkSns4pP7ug05uv9VAuxyyVaapzOZuH3zqs8TBfKSRlzBjQ81EmGGe46zIN0POnFaC6nuTLziBlDybl+idvge5WooUIEcXfiCPzkyX+pBgsLhyEYKhODpbIyVCkv/s28aXbfFbiOqP8GDAcqU4tcdAkMjqOCdwLHEDL71rgNWLy4FoPX8JCbgUEspkHmlQld4Q34dcW1ZliKnPzHowGaS9r1RwI4b63LvMH6lJ3MMxfPcgZ55Q/252NWR0bKgxg5dUAaeqPgIGBNt3xKka7QG98BAvfPxkFbwfVV0XRvLgrg/0vpxEiuqmly+un8zzcMMYjP8MpkjyhdntBbiz8SffUTiS9bnst4+3AiDJgbjqi5R1id6bdGXkWAZd+UsassVnnaaz1ca0ml8ygT4gDtZNchezCteZi7bJpnygnx2uLwgiY5Lm/IhKtOIJce3kcZubDT/vFSgs4f9IJG67wAB/zv20O8D7TnC4bkSNFmH2DazrgLVCFd/SlB03B2WK31itx7Ri7xD0OtQakMX3s6JVPo+3lAiz+7iCqMPsvQQDwAuPuMUuNxvrNueji9OJyVO+SA1nm6Xi1HTYGW+YvU6ipB8KKx2IWG7+lyjd6YpblCBM+ULYL/7q51sbJ8LQKN4aDb7O0ZvrevV/KJ6SqM1LpsjdCfD9jjbLu9ntwhVNrBcnwXPU1ZshT7CeLfIF5l0Ridqx8VkcAZD3ZwzKe+7BZXoN/3Mo+S3PtcgnakQtzb+dozkTBapNWLjlg1OtIi4rNl/K1Z25ben54dwznSuVRpc8vU0irDWQGyJkd0G1abiAXHtSgaI+JfouEpkiaj3TOZnU2hj7+BDCyuJ6209Fl8sCrIncoWOnsGReKzUlDAXf26WXPJjCeTKnYvpsAlVWHVwOcpEPO0HAP2ewdnY5DV146e/K5RoTn+x8LiUn06kUeda2jyefyCY1dPnkTFcb9KbyP6SQ0tBDG2uj84sjQk+SvoXDPIgCQTZDwS4TQv3DfMnLRf1EoWIr5bm0lC2/71na5jnr3G3KP0lXvrrhjs5dPpVjQ+XTa1IbtbHAHc7GmInkKO2uE2USL0xfrZdpJhiX9dmyF+1C5nXrrb1A2KWvIzF4sdILW+v+3X820uMC4t3bkZZ/F10PqkZjo+nVOTsme9mwbybb8OeWvQ0F/DA40DpwAc+AhI6EB+k0pukmchtv+t7aC4ROsEJcnv4ujfQ36TTx2dXibxkJJ1lgBV0s1Cbtovof0J7fjK/V+7YqYiFpC+SQ25NLYbo0lxDr2Qkh6VZeFmeUc0ztZhRUtLRwsUabOfGvFSzuOKpty8mRWvRGCWk8JpkdgaNt7co24MkUXoz9NtTJ/BMOnnFrENggY8RH/WgHl9qq3bRAzhv4RWS4YU3wLHvDCr1QJ3t3KGPDLcUGaQg/WIlbplFDjbtpt6r9xXhP0ODO1/CY2V7bWhtf0ls7vPHU8FJywln4DVFFQyWoPKGLrJCrDWoPgMCwz+SkHoFvv0wbP7VU7nVvweEKKdczYgWlfqQzYpO+ihvpxLlA6bi5jJdY+MmiyxeCQJqGNa+QbwGf53xoyZqCLt4CQ0j+viDMsgmdGE4EZtB44HuoyA8hF25lfZOUlTsM+IC7wWCw5XaP+qMhN/lPYmlmH4vkNrJs+ztSTVcwcdu+m+BaaVpHZCdw8x4MCgw66M8v159TyYuxOG5j6orYWTtg+FzKvuzktM6r77g0rUiLCiN74z3lpOnfkUUMY4zs34PQL4TS7i5NFI7fmwRYPfNA962bTdlNoJ3zVm703Xdizg7+TvYbMNEkMKStgJf+fKZXn5F3IcFGcXE/Ij8jtZYEhrotJNw6RoeQxrxEXluhragXjiwnUnM5V3G4yKVg8cCApymXZDJ2Dqa4cJIuzRXb5L/AJsppbT8ORqi/Om2UYwi4LSqgsTUoS3o5GfO7oTDtfK5TWPnkRNKpyWEDlpjsfVo0H+k1mAhSX93hBO1e8mZA0XuBEhvxO+7yjPAUzRn1GYL4sUjOQTGxmW7mEyAX9MpmQ3u/Yud/Ve7WKW5aM6yebdW1iuOCyR7HIbjli6fvmtxaf1nn5nQ2jRq0VCUxvNENjwi7mcfAUW3h/1O6/A876HSVl4CEL4jx3W8Lncgu0dKJTt4zfFzR5P1hOvFjGUf4/WAA7m5z2ZsrLwglJ46Yr8JF6lI0aOFIXeWYZOa0ULw/ERe8hWQQE+mG3aE1Izb/AqpCSXWpG3z/+eqRFJyLWIYczd2aCqCs4t0707fDp0V09wKR8Ou6qlBTAYPO1IrJGhdxTUxqgOnjhK15QC1xxezcZVo8nqht/g4p5jFGHYFUTi+DyDxK5WDolSLIwleAZF5LszzyajLWoQSC59/zZx3C3ptvf76bU6nsK5a7YrBx44Hm/fwnetFLPQGSmtW9ivDO45ehecsCTU6w3eh/xs5i18o/fYehtPnhq9SkWfaSefgByiHK/EveUhW6xkBSCA1KjCMwcwjU8GRgya7QCEdyOSt7/Eqk6Syv/IIQ3JYGefHuxO5w9M0RCy93vVYlyQ2dyCkHsyarSqtOScxmPc3JdOr0WEhIZsnPKcDSyQ9wiml+J/c1Karl9Jjg7Erw/Luo9OpY/IrBwJz8G8wBasWsECwEUTxKujTjElVKl2YAcsWA9se5jtnsj4v12ClaJTQuYJOyE3+DgdzhSzB4vqq1ZJEPTV6YyO1KMFGTU/1NPq1uWt20NC1Ok7gvgEamQcK8mBcur+ai0pEceG4+26nyh+CDEwZa7W7xJIUrpM1wEiel3X3l2oVxRbr2ev3cd5BxeXuvY0PDH6VFUxHmZSwjetzihTIeqA5+q0kLxMBDfitwsPohQWMxuNBWDq4aSGqaY/y9NfkJqfL0zg2fd495yKgr2ma9UclRp3wBO0VGMF2GNM4Mer4s+J80OGVBoK98RmPDWQdaHJDVf0kA4P8QDxM9ndCJEDqf+P7wGnht0o+5QeOeAGufb03kUlEMN5btFW3Af0hj5hpWxtj70gwGqX+vZum9CuDIBqtq2ABVUmSv/RKV+K+vb+xATsyGpSse9IXYXSzhDkqr2+QRZ3cS3Ikv4mzwKrm3GE/yl1BsE2SL6UGXMdA78meTY2wxJ1nhIVA0TTyaFVCC7q2NT+6dN+H0jB83jFYQ9zQ/6quH8BPEOoKfUvXR66VMMYYsbWDPxeIruDGjr8oMkbby7Stx4RrXcT85G/Y1r5HqvqbZ5XrJs71YS2H+RAqFW9d5i1auY+qa0vNnFFZQq09IbQpnGPph/XxjWnUjVEtNoQ2th3UtNvnuUv1ozSNP6+a4eXbQCYn90N3nO4ReGfeEU5mOMsO6avXKaY5pKEtQdLnP+dcHIAoU1l4M3iSX/kuE+rKMzg4WDffMdQtUp4bqCDzA99r1cMw1AnG8Xgo9NvSAtzW35lLr281nN6+kEq8P4eFg56fDQ4th6WaXm0GMtKwhVa9h6IkdiAVrq73RAWlowJMbyL5S/rXqalpvXSabMAMutsjRhLGu3eZ3bm0hlkwErK4I8L4LHVOnZRyDzXlkXxXOn/l+ctb20ZnYNi2UOXUPlrZDTlKJTwUqxnya2Ue/YRdcb3QIaDfGhOfvJIi6WwtapgUxjunblglm5/AZQ6/nVrxjltPU5ParTEf7BHmNm1tuAb4hwZ/AVLb75O5p8RFf3tSX2DSjbr5yjW944t3i+uGVYhYN1Ovv12I2avsyAEnRjtvMn1yP4+/pwelvWo9j9AKr44Ce/1c7viHzG4ojwyCL7AedmH2iue2W9udfWbrRaT2cV91XwcUcyOZO4txczwsZvVJLraG1Bk2k/I6hfWn0W7/fhj3rp0jNjo6MSqJDZTgEiju06mWYIqBKvO5/zymTrR5epldbHVcgyYM6nZXLK2bIvAz9Xe4fQjEnVdPFsY+pQ8S7YOBxgavBs0Ss9R6LYbVCsoi3h8B63ips4vbinBU/PC9F+7Tz3hoBeufAdfSlokUL8JlZa2E+gxDbjzHVVCCPc1ro6rBdhUcdGYiExbCPDDR4K1irCI9WA/UVdyljcr295xRAZA4qCHY9yFmzLCQCSTlHJDUtWdJBqW3tjxfznF8XOuqz8ZZDOiLQPd7JftQmZh9vN+XEw6W5GKe/Qaf3GCPP+JNuP8JEXGU6Sjx290wcqLL3d2GBzHDmrVpAmI1C7UI6WhoJIvfmxBPjnl+afgvZDmhcTGBSMqC0cR/dXn/QwkoEUr4qTW1HZH7XmxCxNwS+Ax/Ab727D/TX4lSwEv3RN5V+Snevnnr4ejWZvyYlwV5ceOiit1Dp5y8g73XmjH2WCxf9XQAJEbx4DPB/F1HpkEXTysoRKbF/FP8CV9BfRUwJZPTlIryYVzrRHQcht0/vcQX84P3CjJRcjzbZdDrkWYzWp4QiPi/ZDwwsJc7mhlk1myZUIn98mH0aGwCO/njLnIVpwtqb0d3DOL43E1K1g41B1sr+tgJx+jcVFlIbdjk4YR7GnyuG+lBujZEWDoK9uTWfv+LrXY2/FUG+T8K3EFyC9+Z63nkhv/oHbCigDpLRotjsrydz5UZKCpKDvwBBm9zOYQa10S9xUB1E7kLZ5S+cUB1yGM0G1ik6lPzNCuLIwa6yeY8iqeca+tXNrANS5MdM4nuJmS6G3hO32oBW11wZangWSkGQKIYfkXxJv3SZ2n7LgyqQ4vC3PigCWwK/AxQRllcihpG3TQRw9u06vlXMEnnTFrBy4FMHwRMZk7X3N0kHs2hoAfm6Ja/vCiqM/24jHzLZKuiP1MBx9+t8l3y9ngDMM/qtz1Ry71rUE5OJKUQjikj570JIXw9jBQOIJMjIW9kCg2wy1Yf/jIWAkZ5BBDHKDYqGrGYxY5ZqSgdBkLrmxaW11TMepkJihmFqeafhCsL8NyfEvwhDW7Cc9OsoRCQxIlHJSf4GDGn7wxS6wrg6ym1c7D1/tMO3K+sLncMq+Lx/3KXNco5N56BtW+Kel4vOB5OJLAvOGE8XRi7xByfRrU2vP752FdSARt6r/HtcM5VC+f7/e626OkspejiJ7sODY3lwq/c+c+bB0T+37YNxPgy+f/z4Mfj0bW9hXj8g5KGmbUmgJiR/7I80b+8Q7U7Z8QHSP875usG/Yrl5F1yIvs2SmDcq1LbCAMkiHJ0XTxrcgv7O5T5zJFHk6RZn1Kf5zdaF/GM1Mo+wzEyzFYHZXs6jVbzKWvq+Oth7JGudeYHSlE/ENPjsGaS2VX+R8hlhsQHfCr70jEFbvMTmQurIvS6tm8f2ZTM8ZM+L/QsZWoqO9P6p3clm4SFdXIwgtU2SApV05LPTXuQvhyp7u3s6jPB5wvBTYQknKZU8EZT6dj8oi/2NT3XnsiMSF/Ev5PWsxRRYrqIeiuvYtirD0r+PtpH/vOc6Lj1Rsw0Y2uGov4VL8J5PttzkrxYdiXGvH+NusVzU/DZrmWV1BgN9ayCpe7PWX+8x+OPI3cft20cvsV/DjZb96xB4ePB2jaz5lQbowPl4B0qmXcROX3YAaUE/mi/584lIl7OEAYXGXsVRFU5ufit9933W93y4RHve6Pa4kR2TaaPkNcmDMKf7f5C79qNFuAVUWCBgxzYM6SRNQURDQ/x351c0zY1IKCB+Nk+NPm0Eg9cT63qQz2iCvzQh9cakpj2gItHpbGc6njJIHb6S6cdQ0xTuz7q2tmp3oD5tnBwPQsvRIDm4e8aVEqkGfo0LdQNRjaTS581FvPLXItFn2H5lHwGf0waNIgOLpkdNe5ol/AHVuT3lzD1QlGEotjH3DVgLny0pOhWjiT1EpulG0wVOsYJytvr6fMC4uELXJjT9DJwGdL/tvNAE/Ba5QiM+N/7cj+CqbwCjwxn5ADj5FKdKB9X0J5MZo7yzo03yfKW4UrNcwIJOYdN4YiPWXEWeeWTgjqYd9oA69O6gKboQgKMA3QmfEeJLG9zGe1Mbduadrw2kvAkNxi5/O+OlT9o7FDQRlwNA029Yhox3TKivS99MfK+qVrgj4cr0EEo0gTro9YnVyfhhUauLzlFD+vTsb+qwu4h860jtmkmsDtDlHioRMqCbKNeqMxOUZuycv2t9dRKB3NjIquKThGyoUaNF1SI9JozokoM2ON7DsC0kYPVVwrQ3sdagRtDQsnQgW6sukXL6FGuGiCMLkNsBSAoaVMo/NDV5epPzczLhGbzcydsoIDCsErObZp9CiBlsdWxR+yZELBQz6bcoODTetTbOFPhPqL+cDDD/s9l8Nmw8WNPtwZuG0Yz290CG1rNVWlIF0WSjUrBEa+u9PMkuvcAmtuyKUhSSSFsliTk43p3vXV5CqQueN+n4TCUdWUqJFWyKSulPkmBeTmXDEL6Ldt6LXX+AD8mI1fwk0AKh5TT+O422ew8b+SaUhCaWKL0bhvHi1TrXW8XqspRjD8sIQiXdIerMRPwERssLAjZOokdcU82ATbkj0z4nZk9YSIGlm7S9d8erLFnkvLssLcZ52ycFPihnNUw2FVQDFTqpWfKFSzI2M9bsglqR2twIm+Rtxi/C9Gv8cqPdwjdDwYupfrnVjwVOnHDvslavnTfBxkbEahbMpKhWFAzq2hln6BDucIbPKSAwnmiJYzQLPDhGX+oIDhzboNQicsbEKSO/nddQgtxiIkwcBpj2+c6jL4W4oIFQ89SaVL0J3WeTaI3AmZkov8CbxvduNABvon077Ra0F7oAaVbCWTdSY++1aa0oC8VvW9yz+fJYu7WfpGScxyCIxth+WHpxOGdVG6pvUGZifq30YkK+VusKO5lK7BMIMNugI2H7pel775Kxcz+BCB55++YzRpuL25MfuvWRR/8B62/9N7bSWyi3CRELNYClR/7Lriz5iDt2706Kx6v/uyVT8ORjRvzMEDf8JCUx93r1bkDCvdrq9tYenE9q183/VaQdN/oX8YvxnyflxDh3KK7fGfUujJm5eDDeTIEbCh4lTpPCBjVgohGaNhad00SCLAVUaFaUk4v8NiN9Ix/WAkoaGkL8vDEDdREBmpjBQr8TpWe3Kw+KIFZKejbQ4Cbw4phILiNgAA5hAtoVBWpuk/rsQbVZhnH+2x/reHU5rhfdqDlH5c5nxrpe83/Nakv/2LxfRmV4vB5D0Ds+T+eXA7G88/evX3rMX40+brrK7O2xSW9ZYpgEubKuNDP6uopkser7SPzuxwaJe4Uam76WnD1x4WKPIKbjWKn5SSF+d92PzvEgXo4j+vU36WOYuLnc7MXkSYxKss96XkQpQNv7BUuPFsp4NRfXaQGdD6HYwli+Jb0w9aAhJCD62OgDdhaYBCbED8MwZcHzUd4gcoyiclLSQNltaOf1HoECnHr91UStmv1PbD8GslNZ2uIKcjCaImA1beBmZqI0ocCXygd+F3qelFw6KdeR7M9kYCsKil2GZoGp6S/5rdnw8DaL8+BdpEQMqelkdKD8QLVjQWiLOTpi8OtlTb06HZNPj0bxE5Y1wwpNm9Qh0DefXTXfYBNN3HqUzl+h51r/hpNGYx9Ao34LtQocYwUN4PHjyP6UoCgR8RXR5j6pYJ80HK4TZhxveir1eDX3c+W0Ug3spXaJHtWPD2yRcLxFuzmXZmZK/m4rRrEhkqnwcgfomvmgoKgN+THE5kp0tn28yXmuLKufUDSQBdR8AXqj2TiPLRYabiyulhWtRtTSn9THm9pgYJEJSiVj390aB4vfe+e+RjToftPOl2QODbUWlFAqAiMi0kAwHc2MJoKQDU4VkELyERXsLDlcBQOSdsbmC1/RxYeziFG0iQsXjdlicZ2ZSmTYDcL9jJjG7FMywNDlI8+QJJWUWuCGeW2B4XJxDLIejCrcu+2+uy5DBtXtAN0eLABPtcI69dvEVQjs2cu03hQaiwO6HInFa9lF/V1KfOcj7ob7Flb+IdHUSB9xdRjKJc+hK4B9JPkyrYs2zrkRfVt33bzmcT6Bzk00QQO3IC5IGOxeQ3+waSWrG/4PKvDr4JjW/FBhEv96SQ6dXjpQTGcMaqG+TXDNBiVmvDgTKzrlaRwxX4JbP0oMNO5EvRxyz0FhIa+9XJLL77Wym7wJtH4ORKSfAZboCoWt7CZv/OkEYEylDSuBt5CE8XAxvT1a+i1Qe2h+CWpsdWtT5w74v/bM6IJnRp7bAgd3zt+CozgnasEkEPbUe/id0IeXgkOrDBUPsJAXPzXjdw12B+FjDbEdM/7UAJquHih9ktxARZbOr8hFjcCBBiW8Ym7+i6ziN/T9LDeoVpPEuBonF1vqj9GiIrJ68hdFQMq8nbfOmSlGD13Lm6oMtSS/h5uGwfzn18HHWyCob5Y77H/0zPqbZO2Kn5z9OtCWkzVmhtxJQcdyiTD7m/RZ+Dm4pJMKOuupDySDC6a7qlmtx2F2+Kht2KsSk7+1QkZady6Xy7Gb9JgtJ6U5V53lgMrVgA9nqCElS6b3Upqf6NNeLt5ueMEZbG9alJ7y9Zco6QJp7JHElPPMIZgK2K2C2SG4pK3QxnUx/lgbcr7O2RAfb6xJSUEhC/8gaejKN4AhKlgK3rqA1n2szvBtHqva4nOwCvlCoybVzRS0P/sTr+zRwBEuGs6x6k42W8Jp5PLXVw5Azkmq9T6Yrx67InT8xu2ssbAICnf9fTrQhR/kHUJ9ebvMIDiTg9lNPTohKVQU2Gyl8A+lz61cmSuVLdx+uvHeT/dX/0heVtosyFJ/a+IU+YFrVrPo+42tV1ey5OrY/2KElktlm4P0ccP0EpeyRo4hW7aCBhqYqcIXxXk814yWXby1cdr8dXOisJK9H8Lki3GTPwJPld7MSop2YBpJtcitP4v7toBfkuksgdRZrr9S2VirqT07N0ZMXz640pT/lBR1zd8r3u5QXur2AtkHozdx3vIJkAZ78Qzx5goX38wFz0QT6fWyjR+czMu3491+Ub+hrYHSbC7HCB+y7lw8gMmyE2i6n9OJ54YyD1+fm6IKmASz3tudSL9Otl29xVaqW1ozFGqkEY3WCR1jizrLyBIBiJUIIdOuOWN4pxlCpoGa5Buhuov4rhSgZkj5Ae04imhiHpRGiYEE4u3blJ31TH0Hl/bFP/I6OKNJfvsLz9HZswaF15RrZkFKwQcUmxJZfU+cNajmZv6+kCtxIkgQi/dhUOtKtw/ypWyjD+c1czp+/MJCssQekGqTPpR3x2t6pLT87VbCpPijyDEhwnYnezNpBGv46g7ZlfwEPh3H74ekSdrfyj+SCCaAEif+6prJ9mrOq8IgXsOCCQDYy+6z5kgJ4fR9f/wbl4c6CFYYMoCOlepYzTMD4hxrHGeY/SC3QI7u76N7cTVZizIhC7O+pHilw+nTaAIjK513NYRxxblt3YXrxYBiNr4SLOVZdbQ60jt4zn3yEPUMa7xjnBcYHzR8iZnsL/LChpWVopFOLOKDT1bCVJObwqRYWJkxM9Gj+BSsmGUvYzYu49N0GTPBik9xyQq1WUbn1qdPIf4HfuMZDxqbAIF0iq1vvy9EMSqUNanGOrbJkp/kQ+TFkb/qGw5OU1rn78vkkgJqJIAkVvXJMW6gUT+um8CsEoq0exGuza9DgSx0HyNWbQyWmpKtrHbXSYlrtjDb+gRUr8ERDEaC1FPsObGLNYBh49QjXMYa810PN0naLgDdYm3AJQ+OoQYjr3On3J2ngTBURIbTa95AJnE0M1yC+8qcEy6iGDlXFsSbts8kSyuk2PbJ+dqbaoU8emB6bnllHC0f43EkRvEH/VZlBAVYsJXMbpd3VsGYXe4s2l1XAqwprEsuQ37BMoA5aInef96yO+02oah5h0aspf2R8exLz2SOhZo8Xqy8yVBeKGFo+5Rdol5XuLdEUf5gJns7OHHL11QkQOGPVH7mKjQgYVdRRYr5Sgwtd3mtiiiDd/6Ie4usnfbparqGlYUKeTvvovN7d145XMK9uhMSjuR1hT9llWbd2ajO7p81sh7HO6OghfdWvzbqbRCilyndX1jme2JqfIX6SuKowhFhuIZSK1K8wOYUjAmUVJHJjvNskkyfIHJa6qMKpx6HC1Zj2yikO+uZXIqUAD6diwpKBzVGkkJ1RNJNg8qWoTv0uSR9IgfPvBg9qQRi6vUIZS1Dt/S4xLMXFvAvqse+TbD714Jil6GTMBXUXIVXdZFbSKLE1usRFcApSf10M8DdkgX0aivi02syPp1s/2B6E6DXLht6BdGwzoKScvI5OJ9LuxrLW0Q8S5EDy4M+JxaDPoc1lUBAUNMwbVSdgAZ3wIFYKCuNnagSk2clwZkHYoPsCTt6JTbJnsA99gR3BsdsDuNu7iSOl5xn7jCfffD8YMkibSKGNgZr4zUQfQebx0EsCdaBRPDiKfkIttoJM9mMHiBeAn5OM4dTL1FvsWTjzlTcI2IzBw+sdxZ5EpfTlPm41qTsKBp7SZLH9n1pJDYbEx1VYeh7BX/Gp6S5nllMFrV0kIuVSEIQp04Ui03CEA+8sackBHGhr8GpcTQzWJckQhGOOIrjXxyE0oX5tDSUoK5eoNR+rQf/mciykhgsq0CaeQ5bmZ00PDTSPFJekHspZru+xHUgMa+65mhmwU/LHcLtnNwsu3M5fsb934uC/qArOuJQGueGnpul88hE3WjCTvDOFWVSq+UVxVefvUZ7NIXJvKOuGRglFUnxwBmr735ktYu1Cab0ztNE2kJFsUVo2BQ0gjGe1NX8zufgdtbsAVI70aOc6YINPV0mP4O2gf97UNQSp/tlXj5a/8GZrYEN5ZMm9fw5tP0ASW32LRm+adkgcrGEN1oX0eyAhEDGGG+kXkkiXL07ojTeQvhNMqo6abZX4vNH97AblerL3Dlbt60OVGGbMfXo+OfwM/MVCFq/vwlS83fRF1HkKaetBJT3nPCmeHd+5xweO0EWGCWDHLTBY4M1K7b3K1cGHaMU/Rzb8j+qNp77Cz+Kj0UOANUmCvWeQpN0AyqWG1nFPaw5YphLk42fsMtY4zMslPGG4JvuggQ5LON0F2aNwh9yxRBFVAK7nKK8LWQpG950MHqOL2A0ARcJjZvUxXTJWEpkyLUZqt8hDPaTaIhroyX/vavtXiOcqNPSz0/H9ZeVklhdERycYP+NmUSObhb5llrQPcyJ09BYxj3OIN5Cc1TIqQ1nBiXnbE5wyDtDcQYnYe+6wK0zyva8A+E0ob9FJdDuOHl6FrSJgs/nlG+O6JakJIi4iD63aDaPs7OD1WXZ7+jbNYy4nPvWGJGhnTQFCotQwQWesPprJeazvSKuZrnAIr2huSwvOgLm1LcZKA96d/Uu5K0SgSYzlQHRDumxEvgcZMB64JVaUSLGPtRAD3SQVfJ2bsO//yLGXRCoccUtgIwz9kVjk9wPWyk6RyUgczCpb12cQnloxtSMvpnImhoWTMtFRLn8oV6gtpoKZJzgmdIyhxKfJU4BX+UFXERO0T81Ph0pnm93xm5NXVd9cN1ouKw1Vy8ZkaLpwqQGjGhQnJK9Ohfp8e7xWOJ6JVdJh4IkY32NzBC2YFxmBcNLAe15/2kT0VuD08lzVztbibjdRlRaAJzUEGsxGETNIP/op+f78VDrAoM12e9OMr+Lahuc+u7uNGs181+aa23JdNujmrGDf15XGADSi8LGsWBLkp4lzJC8ztV8dtaY+VHn0SQBlHLj2pGstGXh4tpj7zWFd3q6yralqJfm24CPdf/KQ6J0h1O5hVwu+bE83P3Pg22A51V35DwR6MB6IDmzw4ZPvvz8cPDO1seLaRHnfA9yxOR0pXxzSA92fHdhf3CWwIFyiGW15yW3GVy9dKh3oDi+PTOakGlV8fH3CjQYKv/SpalYGZKV2e46yjf8txEGpfu0qHcQkXCbwFWLt0NAJPEOoXmR7k0wmtFgLDhHciYpBS2PNGoih43INBRsQXYzm8XqRNK/a2awufUuTjqR0OqaGa6yrgbowDDV001e+zgvD6I6Iay4UDvrUgg22OxilOmrAUNQ4zKyb71uw2266G1BiGWPuXmCWHPcRuakcBd6DN2EQob7AnuV25MM9+v0E7q5yB5iM3jSOxz3e/ibjMyIspspTNUi8BtMPC92E3yKcarZC+THVzgTXlcvEu/icY57Klsko/2zI/eYofc0fvRwBuMEpvPH4q4iLEQlkLtxslGYNjHmPpOuPN7CnDiKcdqLuG8ZOV2Fi5JTza6Gg33tWzp2HHFUUPEeR+gY/Okr/nFVX/CBuAu8h2E7UiA5sDmkSJuO77rHqFjcIUNeXbFsKlJwFDywGh/ReV/TRSIq0fC8mBkxvBw9SEVRw5nRAT0CHU3gWU6NpFIkhxABMOfjnW/fw8AWZCgap4Ss5cshQbZQqsQI5Gy9pqLzbldVqDL8a41bPVk74w+KkoxRE/6mAjbF0ULDFEvPLIxPGVU9qI8fbyhDOUWX8KgmIgL7SH+sIj5GKqA43aVUOiQa+bxJz8kJzXola4pNqxjGQ8DVXMcGUmTFNe8D+Crm6vf75ypLWt0DAl4alnzJqDYkocsCQ5qhxKUIaSLpxhVsvzcEQVn2jXv0BCw425TCprTrNbN5/I46OQhvdsl+CW8lipAtvMo1YHDY8qoG9exjqVZ+ybgdX1mITCogjTQs0veYeN7jxT/0IdU54Dz+PWmKBV1CxhgldCcLV/xkyQY95dcoGbe4RAzI6YORXeG6QSnRI5IQHMEXGpIs13kQvTvbv0igcLr/SVgHUH13KzlVHiOrMLkkCfXzhDjM3xth0nnYIthNhG/jq9v225J8y91W5aHfZ7h9lwtBNleLmQTAf2QkW7fDE9y+rxt7iLKhJv+MspNBtx/g81i3Pd2itUMk98qmya2M1zm3b9hv0vrmcMNAhDSNvQGd8CoZu0HkO4Gh0M5GkAkYx9E8O93pEvmnla34NmXCJzkQPh7E34IqTs0gKjHhAkALXYmaJA7aryv9BNkwmnWHmjTWHIMu+Rk8TKTmYQ5EmlE+BUWC8qN8KuwILQYd81mzeaJesEaqC4QuC7ZNwoybsWSvG1b2gZCxgJvWbNcD8iKKKKgoZd5v6ggBip1EeARHAsa6oCiCEz7Kkyx/h7GSZg2J501xC9Hkhi1g89XO0o6zDn6Naqq+vvB5NYBMh0e1nOHk+c+eofbHuu/LvGxdNZpTwAINic2K1jTgLks9GQ7kxzhMWWB5I0XyN0otJSM0yO1/wyyBNJKFomt5uWI9sJtOYsqkWGzKqwtkRiqFf10N8rhHnoR14gOt3I8I34FtjpYXLcU2xPvVSWvHVkjwb4/mnMG45sRjx7EnH6BcfD+95bn3YH8SE3gh1Z8ABL/Xn+a7ZUPMuj/xz3ebktsYEn/FLj1iJ8C38hOSsEpZtS2k8deew7uGKdL5WnZyWbzAz9TS2HgTyy8mQJNbPdFlbKUVEuvPzHXzvjUxiL6FWe90wfTqls930o9hjHdmBGoPzOnxI/6StRegFCEKsmFKvovFGr3U95PSqEaeMeHu1vdVo/qWWOuQc02jI1xw6/2SzJ8f67dw7CLsdjrl9z/zoqLY0rfsXvagR1uWAwLUQi1Hbbl9La23SLt8E8j22fQ3Z+DgNOhcKYJ1IbhU++Sh7lbcUZ/of/01O8ynsR+i8UNCjU3RaPLn8RZ9Ixl7o/5Y3uin9pZ+vx3wV/cwWj7fGRYa8dlw3KWvIouIbGXl1MByPzIvsS/XHxI08f36UoQkrPKR2Fe/qhniFfJ/aFB3P2C2Rl0PhkERfTxBsuHo4ZzHUcJ0GzWiuB6xAfg5jFnr9guJEeMzGOj+QjrsH30cBZTH1b2tGCvhNQr1ir9+86OlFhwh6q93Gg4UZWzQ1P+ery76zpHx+KcLxP5wxWJSXuDyszjml9HecPYSuh8wFtn4zfPddS6OxGH88CBefr6+ue+e7llRXtPBSN/5JVfPoR11PQT3Yiq7O7LNYjD6DgIfEcf4tT3Z/nqfI1uYVyg8+Bc=","base64")).toString()),r_)});var zi={};Jt(zi,{convertToZip:()=>Oct,extractArchiveTo:()=>Uct,makeArchiveFromDirectory:()=>Lct});async function Lct(e,{baseFs:t=new Rn,prefixPath:r=Bt.root,compressionLevel:o,inMemory:a=!1}={}){let n;if(a)n=new us(null,{level:o});else{let A=await ae.mktempPromise(),p=J.join(A,"archive.zip");n=new us(p,{create:!0,level:o})}let u=J.resolve(Bt.root,r);return await n.copyPromise(u,e,{baseFs:t,stableTime:!0,stableSort:!0}),n}async function Oct(e,t){let r=await ae.mktempPromise(),o=J.join(r,"archive.zip");return Gfe||=new Wb((0,Kfe.getContent)()),await Gfe.run({tmpFile:o,tgz:e,opts:t}),new us(o,{level:t.compressionLevel})}async function*Mct(e){let t=new Wfe.default.Parse,r=new Yfe.PassThrough({objectMode:!0,autoDestroy:!0,emitClose:!0});t.on("entry",o=>{r.write(o)}),t.on("error",o=>{r.destroy(o)}),t.on("close",()=>{r.destroyed||r.end()}),t.end(e);for await(let o of r){let a=o;yield a,a.resume()}}async function Uct(e,t,{stripComponents:r=0,prefixPath:o=Bt.dot}={}){function a(n){if(n.path[0]==="/")return!0;let u=n.path.split(/\//g);return!!(u.some(A=>A==="..")||u.length<=r)}for await(let n of Mct(e)){if(a(n))continue;let u=J.normalize(Ae.toPortablePath(n.path)).replace(/\/$/,"").split(/\//g);if(u.length<=r)continue;let A=u.slice(r).join("/"),p=J.join(o,A),h=420;switch((n.type==="Directory"||((n.mode??0)&73)!==0)&&(h|=73),n.type){case"Directory":t.mkdirpSync(J.dirname(p),{chmod:493,utimes:[Bi.SAFE_TIME,Bi.SAFE_TIME]}),t.mkdirSync(p,{mode:h}),t.utimesSync(p,Bi.SAFE_TIME,Bi.SAFE_TIME);break;case"OldFile":case"File":t.mkdirpSync(J.dirname(p),{chmod:493,utimes:[Bi.SAFE_TIME,Bi.SAFE_TIME]}),t.writeFileSync(p,await Ky(n),{mode:h}),t.utimesSync(p,Bi.SAFE_TIME,Bi.SAFE_TIME);break;case"SymbolicLink":t.mkdirpSync(J.dirname(p),{chmod:493,utimes:[Bi.SAFE_TIME,Bi.SAFE_TIME]}),t.symlinkSync(n.linkpath,p),t.lutimesSync(p,Bi.SAFE_TIME,Bi.SAFE_TIME);break}}return t}var Yfe,Wfe,Kfe,Gfe,Jfe=yt(()=>{St();iA();Yfe=Ie("stream"),Wfe=$e(Mfe());Hfe();jl();Kfe=$e(qfe())});var zfe=_((n_,Vfe)=>{(function(e,t){typeof n_=="object"?Vfe.exports=t():typeof define=="function"&&define.amd?define(t):e.treeify=t()})(n_,function(){function e(a,n){var u=n?"\u2514":"\u251C";return a?u+="\u2500 ":u+="\u2500\u2500\u2510",u}function t(a,n){var u=[];for(var A in a)!a.hasOwnProperty(A)||n&&typeof a[A]=="function"||u.push(A);return u}function r(a,n,u,A,p,h,w){var I="",v=0,b,E,R=A.slice(0);if(R.push([n,u])&&A.length>0&&(A.forEach(function(U,V){V>0&&(I+=(U[1]?" ":"\u2502")+" "),!E&&U[0]===n&&(E=!0)}),I+=e(a,u)+a,p&&(typeof n!="object"||n instanceof Date)&&(I+=": "+n),E&&(I+=" (circular ref.)"),w(I)),!E&&typeof n=="object"){var N=t(n,h);N.forEach(function(U){b=++v===N.length,r(U,n[U],b,R,p,h,w)})}}var o={};return o.asLines=function(a,n,u,A){var p=typeof u!="function"?u:!1;r(".",a,!1,[],n,p,A||u)},o.asTree=function(a,n,u){var A="";return r(".",a,!1,[],n,u,function(p){A+=p+` -`}),A},o})});var ra={};Jt(ra,{emitList:()=>_ct,emitTree:()=>epe,treeNodeToJson:()=>$fe,treeNodeToTreeify:()=>Zfe});function Zfe(e,{configuration:t}){let r={},o=0,a=(n,u)=>{let A=Array.isArray(n)?n.entries():Object.entries(n);for(let[p,h]of A){if(!h)continue;let{label:w,value:I,children:v}=h,b=[];typeof w<"u"&&b.push(md(t,w,2)),typeof I<"u"&&b.push(_t(t,I[0],I[1])),b.length===0&&b.push(md(t,`${p}`,2));let E=b.join(": "),R=`\0${o++}\0`,N=u[`${R}${E}`]={};typeof v<"u"&&a(v,N)}};if(typeof e.children>"u")throw new Error("The root node must only contain children");return a(e.children,r),r}function $fe(e){let t=r=>{if(typeof r.children>"u"){if(typeof r.value>"u")throw new Error("Assertion failed: Expected a value to be set if the children are missing");return yd(r.value[0],r.value[1])}let o=Array.isArray(r.children)?r.children.entries():Object.entries(r.children??{}),a=Array.isArray(r.children)?[]:{};for(let[n,u]of o)u&&(a[Hct(n)]=t(u));return typeof r.value>"u"?a:{value:yd(r.value[0],r.value[1]),children:a}};return t(e)}function _ct(e,{configuration:t,stdout:r,json:o}){let a=e.map(n=>({value:n}));epe({children:a},{configuration:t,stdout:r,json:o})}function epe(e,{configuration:t,stdout:r,json:o,separators:a=0}){if(o){let u=Array.isArray(e.children)?e.children.values():Object.values(e.children??{});for(let A of u)A&&r.write(`${JSON.stringify($fe(A))} -`);return}let n=(0,Xfe.asTree)(Zfe(e,{configuration:t}),!1,!1);if(n=n.replace(/\0[0-9]+\0/g,""),a>=1&&(n=n.replace(/^([├└]─)/gm,`\u2502 -$1`).replace(/^│\n/,"")),a>=2)for(let u=0;u<2;++u)n=n.replace(/^([│ ].{2}[├│ ].{2}[^\n]+\n)(([│ ]).{2}[├└].{2}[^\n]*\n[│ ].{2}[│ ].{2}[├└]─)/gm,`$1$3 \u2502 -$2`).replace(/^│\n/,"");if(a>=3)throw new Error("Only the first two levels are accepted by treeUtils.emitTree");r.write(n)}function Hct(e){return typeof e=="string"?e.replace(/^\0[0-9]+\0/,""):e}var Xfe,tpe=yt(()=>{Xfe=$e(zfe());ql()});function e2(e){let t=e.match(jct);if(!t?.groups)throw new Error("Assertion failed: Expected the checksum to match the requested pattern");let r=t.groups.cacheVersion?parseInt(t.groups.cacheVersion):null;return{cacheKey:t.groups.cacheKey??null,cacheVersion:r,cacheSpec:t.groups.cacheSpec??null,hash:t.groups.hash}}var rpe,i_,s_,Kb,Nr,jct,o_=yt(()=>{St();St();iA();rpe=Ie("crypto"),i_=$e(Ie("fs"));Yl();rh();jl();xo();s_=Jy(process.env.YARN_CACHE_CHECKPOINT_OVERRIDE??process.env.YARN_CACHE_VERSION_OVERRIDE??9),Kb=Jy(process.env.YARN_CACHE_VERSION_OVERRIDE??10),Nr=class{constructor(t,{configuration:r,immutable:o=r.get("enableImmutableCache"),check:a=!1}){this.markedFiles=new Set;this.mutexes=new Map;this.cacheId=`-${(0,rpe.randomBytes)(8).toString("hex")}.tmp`;this.configuration=r,this.cwd=t,this.immutable=o,this.check=a;let{cacheSpec:n,cacheKey:u}=Nr.getCacheKey(r);this.cacheSpec=n,this.cacheKey=u}static async find(t,{immutable:r,check:o}={}){let a=new Nr(t.get("cacheFolder"),{configuration:t,immutable:r,check:o});return await a.setup(),a}static getCacheKey(t){let r=t.get("compressionLevel"),o=r!=="mixed"?`c${r}`:"";return{cacheKey:[Kb,o].join(""),cacheSpec:o}}get mirrorCwd(){if(!this.configuration.get("enableMirror"))return null;let t=`${this.configuration.get("globalFolder")}/cache`;return t!==this.cwd?t:null}getVersionFilename(t){return`${aE(t)}-${this.cacheKey}.zip`}getChecksumFilename(t,r){let a=e2(r).hash.slice(0,10);return`${aE(t)}-${a}.zip`}getLocatorPath(t,r,o={}){if(this.mirrorCwd===null||o.unstablePackages?.has(t.locatorHash))return J.resolve(this.cwd,this.getVersionFilename(t));if(r===null)return null;let{cacheVersion:a,cacheSpec:n}=e2(r);if(a===null||a<s_)return null;let u=this.configuration.get("cacheMigrationMode");return a<Kb&&u==="always"||n!==this.cacheSpec&&u!=="required-only"?null:J.resolve(this.cwd,this.getChecksumFilename(t,r))}getLocatorMirrorPath(t){let r=this.mirrorCwd;return r!==null?J.resolve(r,this.getVersionFilename(t)):null}async setup(){if(!this.configuration.get("enableGlobalCache"))if(this.immutable){if(!await ae.existsPromise(this.cwd))throw new zt(56,"Cache path does not exist.")}else{await ae.mkdirPromise(this.cwd,{recursive:!0});let t=J.resolve(this.cwd,".gitignore");await ae.changeFilePromise(t,`/.gitignore -*.flock -*.tmp -`)}(this.mirrorCwd||!this.immutable)&&await ae.mkdirPromise(this.mirrorCwd||this.cwd,{recursive:!0})}async fetchPackageFromCache(t,r,{onHit:o,onMiss:a,loader:n,...u}){let A=this.getLocatorMirrorPath(t),p=new Rn,h=()=>{let oe=new us,Be=J.join(Bt.root,rM(t));return oe.mkdirSync(Be,{recursive:!0}),oe.writeJsonSync(J.join(Be,gr.manifest),{name:An(t),mocked:!0}),oe},w=async(oe,{isColdHit:Be,controlPath:be=null})=>{if(be===null&&u.unstablePackages?.has(t.locatorHash))return{isValid:!0,hash:null};let g=r&&!Be?e2(r).cacheKey:this.cacheKey,we=!u.skipIntegrityCheck||!r?`${g}/${await TP(oe)}`:r;if(be!==null){let ce=!u.skipIntegrityCheck||!r?`${this.cacheKey}/${await TP(be)}`:r;if(we!==ce)throw new zt(18,"The remote archive doesn't match the local checksum - has the local cache been corrupted?")}let Se=null;switch(r!==null&&we!==r&&(this.check?Se="throw":e2(r).cacheKey!==e2(we).cacheKey?Se="update":Se=this.configuration.get("checksumBehavior")),Se){case null:case"update":return{isValid:!0,hash:we};case"ignore":return{isValid:!0,hash:r};case"reset":return{isValid:!1,hash:r};default:case"throw":throw new zt(18,"The remote archive doesn't match the expected checksum")}},I=async oe=>{if(!n)throw new Error(`Cache check required but no loader configured for ${jr(this.configuration,t)}`);let Be=await n(),be=Be.getRealPath();Be.saveAndClose(),await ae.chmodPromise(be,420);let g=await w(oe,{controlPath:be,isColdHit:!1});if(!g.isValid)throw new Error("Assertion failed: Expected a valid checksum");return g.hash},v=async()=>{if(A===null||!await ae.existsPromise(A)){let oe=await n(),Be=oe.getRealPath();return oe.saveAndClose(),{source:"loader",path:Be}}return{source:"mirror",path:A}},b=async()=>{if(!n)throw new Error(`Cache entry required but missing for ${jr(this.configuration,t)}`);if(this.immutable)throw new zt(56,`Cache entry required but missing for ${jr(this.configuration,t)}`);let{path:oe,source:Be}=await v(),be=(await w(oe,{isColdHit:!0})).hash,g=this.getLocatorPath(t,be,u);if(!g)throw new Error("Assertion failed: Expected the cache path to be available");let we=[];Be!=="mirror"&&A!==null&&we.push(async()=>{let ce=`${A}${this.cacheId}`;await ae.copyFilePromise(oe,ce,i_.default.constants.COPYFILE_FICLONE),await ae.chmodPromise(ce,420),await ae.renamePromise(ce,A)}),(!u.mirrorWriteOnly||A===null)&&we.push(async()=>{let ce=`${g}${this.cacheId}`;await ae.copyFilePromise(oe,ce,i_.default.constants.COPYFILE_FICLONE),await ae.chmodPromise(ce,420),await ae.renamePromise(ce,g)});let Se=u.mirrorWriteOnly?A??g:g;return await Promise.all(we.map(ce=>ce())),[!1,Se,be]},E=async()=>{let Be=(async()=>{let be=this.getLocatorPath(t,r,u),g=be!==null?this.markedFiles.has(be)||await p.existsPromise(be):!1,we=!!u.mockedPackages?.has(t.locatorHash)&&(!this.check||!g),Se=we||g,ce=Se?o:a;if(ce&&ce(),Se){let ne=null,te=be;if(!we)if(this.check)ne=await I(te);else{let Ee=await w(te,{isColdHit:!1});if(Ee.isValid)ne=Ee.hash;else return b()}return[we,te,ne]}else return b()})();this.mutexes.set(t.locatorHash,Be);try{return await Be}finally{this.mutexes.delete(t.locatorHash)}};for(let oe;oe=this.mutexes.get(t.locatorHash);)await oe;let[R,N,U]=await E();R||this.markedFiles.add(N);let V,ee=R?()=>h():()=>new us(N,{baseFs:p,readOnly:!0}),le=new ny(()=>yL(()=>V=ee(),oe=>`Failed to open the cache entry for ${jr(this.configuration,t)}: ${oe}`),J),fe=new Hu(N,{baseFs:le,pathUtils:J}),de=()=>{V?.discardAndClose()},ge=u.unstablePackages?.has(t.locatorHash)?null:U;return[fe,de,ge]}},jct=/^(?:(?<cacheKey>(?<cacheVersion>[0-9]+)(?<cacheSpec>.*))\/)?(?<hash>.*)$/});var Jb,npe=yt(()=>{Jb=(r=>(r[r.SCRIPT=0]="SCRIPT",r[r.SHELLCODE=1]="SHELLCODE",r))(Jb||{})});var qct,iw,a_=yt(()=>{St();Nl();Qf();xo();qct=[[/^(git(?:\+(?:https|ssh))?:\/\/.*(?:\.git)?)#(.*)$/,(e,t,r,o)=>`${r}#commit=${o}`],[/^https:\/\/((?:[^/]+?)@)?codeload\.github\.com\/([^/]+\/[^/]+)\/tar\.gz\/([0-9a-f]+)$/,(e,t,r="",o,a)=>`https://${r}github.com/${o}.git#commit=${a}`],[/^https:\/\/((?:[^/]+?)@)?github\.com\/([^/]+\/[^/]+?)(?:\.git)?#([0-9a-f]+)$/,(e,t,r="",o,a)=>`https://${r}github.com/${o}.git#commit=${a}`],[/^https?:\/\/[^/]+\/(?:[^/]+\/)*(?:@.+(?:\/|(?:%2f)))?([^/]+)\/(?:-|download)\/\1-[^/]+\.tgz(?:#|$)/,e=>`npm:${e}`],[/^https:\/\/npm\.pkg\.github\.com\/download\/(?:@[^/]+)\/(?:[^/]+)\/(?:[^/]+)\/(?:[0-9a-f]+)(?:#|$)/,e=>`npm:${e}`],[/^https:\/\/npm\.fontawesome\.com\/(?:@[^/]+)\/([^/]+)\/-\/([^/]+)\/\1-\2.tgz(?:#|$)/,e=>`npm:${e}`],[/^https?:\/\/[^/]+\/.*\/(@[^/]+)\/([^/]+)\/-\/\1\/\2-(?:[.\d\w-]+)\.tgz(?:#|$)/,(e,t)=>MP({protocol:"npm:",source:null,selector:e,params:{__archiveUrl:t}})],[/^[^/]+\.tgz#[0-9a-f]+$/,e=>`npm:${e}`]],iw=class{constructor(t){this.resolver=t;this.resolutions=null}async setup(t,{report:r}){let o=J.join(t.cwd,gr.lockfile);if(!ae.existsSync(o))return;let a=await ae.readFilePromise(o,"utf8"),n=Ji(a);if(Object.hasOwn(n,"__metadata"))return;let u=this.resolutions=new Map;for(let A of Object.keys(n)){let p=r1(A);if(!p){r.reportWarning(14,`Failed to parse the string "${A}" into a proper descriptor`);continue}let h=ba(p.range)?Cn(p,`npm:${p.range}`):p,{version:w,resolved:I}=n[A];if(!I)continue;let v;for(let[E,R]of qct){let N=I.match(E);if(N){v=R(w,...N);break}}if(!v){r.reportWarning(14,`${jn(t.configuration,h)}: Only some patterns can be imported from legacy lockfiles (not "${I}")`);continue}let b=h;try{let E=Id(h.range),R=r1(E.selector,!0);R&&(b=R)}catch{}u.set(h.descriptorHash,Rs(b,v))}}supportsDescriptor(t,r){return this.resolutions?this.resolutions.has(t.descriptorHash):!1}supportsLocator(t,r){return!1}shouldPersistResolution(t,r){throw new Error("Assertion failed: This resolver doesn't support resolving locators to packages")}bindDescriptor(t,r,o){return t}getResolutionDependencies(t,r){return{}}async getCandidates(t,r,o){if(!this.resolutions)throw new Error("Assertion failed: The resolution store should have been setup");let a=this.resolutions.get(t.descriptorHash);if(!a)throw new Error("Assertion failed: The resolution should have been registered");let n=ZO(a),u=o.project.configuration.normalizeDependency(n);return await this.resolver.getCandidates(u,r,o)}async getSatisfying(t,r,o,a){let[n]=await this.getCandidates(t,r,a);return{locators:o.filter(u=>u.locatorHash===n.locatorHash),sorted:!1}}async resolve(t,r){throw new Error("Assertion failed: This resolver doesn't support resolving locators to packages")}}});var fA,ipe=yt(()=>{Yl();N1();ql();fA=class extends Zs{constructor({configuration:r,stdout:o,suggestInstall:a=!0}){super();this.errorCount=0;JI(this,{configuration:r}),this.configuration=r,this.stdout=o,this.suggestInstall=a}static async start(r,o){let a=new this(r);try{await o(a)}catch(n){a.reportExceptionOnce(n)}finally{await a.finalize()}return a}hasErrors(){return this.errorCount>0}exitCode(){return this.hasErrors()?1:0}reportCacheHit(r){}reportCacheMiss(r){}startSectionSync(r,o){return o()}async startSectionPromise(r,o){return await o()}startTimerSync(r,o,a){return(typeof o=="function"?o:a)()}async startTimerPromise(r,o,a){return await(typeof o=="function"?o:a)()}reportSeparator(){}reportInfo(r,o){}reportWarning(r,o){}reportError(r,o){this.errorCount+=1,this.stdout.write(`${_t(this.configuration,"\u27A4","redBright")} ${this.formatNameWithHyperlink(r)}: ${o} -`)}reportProgress(r){return{...Promise.resolve().then(async()=>{for await(let{}of r);}),stop:()=>{}}}reportJson(r){}reportFold(r,o){}async finalize(){this.errorCount>0&&(this.stdout.write(` -`),this.stdout.write(`${_t(this.configuration,"\u27A4","redBright")} Errors happened when preparing the environment required to run this command. -`),this.suggestInstall&&this.stdout.write(`${_t(this.configuration,"\u27A4","redBright")} This might be caused by packages being missing from the lockfile, in which case running "yarn install" might help. -`))}formatNameWithHyperlink(r){return yU(r,{configuration:this.configuration,json:!1})}}});var sw,l_=yt(()=>{xo();sw=class{constructor(t){this.resolver=t}supportsDescriptor(t,r){return!!(r.project.storedResolutions.get(t.descriptorHash)||r.project.originalPackages.has(LP(t).locatorHash))}supportsLocator(t,r){return!!(r.project.originalPackages.has(t.locatorHash)&&!r.project.lockfileNeedsRefresh)}shouldPersistResolution(t,r){throw new Error("The shouldPersistResolution method shouldn't be called on the lockfile resolver, which would always answer yes")}bindDescriptor(t,r,o){return t}getResolutionDependencies(t,r){return this.resolver.getResolutionDependencies(t,r)}async getCandidates(t,r,o){let a=o.project.storedResolutions.get(t.descriptorHash);if(a){let u=o.project.originalPackages.get(a);if(u)return[u]}let n=o.project.originalPackages.get(LP(t).locatorHash);if(n)return[n];throw new Error("Resolution expected from the lockfile data")}async getSatisfying(t,r,o,a){let[n]=await this.getCandidates(t,r,a);return{locators:o.filter(u=>u.locatorHash===n.locatorHash),sorted:!1}}async resolve(t,r){let o=r.project.originalPackages.get(t.locatorHash);if(!o)throw new Error("The lockfile resolver isn't meant to resolve packages - they should already have been stored into a cache");return o}}});function Wf(){}function Gct(e,t,r,o,a){for(var n=0,u=t.length,A=0,p=0;n<u;n++){var h=t[n];if(h.removed){if(h.value=e.join(o.slice(p,p+h.count)),p+=h.count,n&&t[n-1].added){var I=t[n-1];t[n-1]=t[n],t[n]=I}}else{if(!h.added&&a){var w=r.slice(A,A+h.count);w=w.map(function(b,E){var R=o[p+E];return R.length>b.length?R:b}),h.value=e.join(w)}else h.value=e.join(r.slice(A,A+h.count));A+=h.count,h.added||(p+=h.count)}}var v=t[u-1];return u>1&&typeof v.value=="string"&&(v.added||v.removed)&&e.equals("",v.value)&&(t[u-2].value+=v.value,t.pop()),t}function Yct(e){return{newPos:e.newPos,components:e.components.slice(0)}}function Wct(e,t){if(typeof e=="function")t.callback=e;else if(e)for(var r in e)e.hasOwnProperty(r)&&(t[r]=e[r]);return t}function ape(e,t,r){return r=Wct(r,{ignoreWhitespace:!0}),p_.diff(e,t,r)}function Kct(e,t,r){return h_.diff(e,t,r)}function Vb(e){return typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?Vb=function(t){return typeof t}:Vb=function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},Vb(e)}function c_(e){return zct(e)||Xct(e)||Zct(e)||$ct()}function zct(e){if(Array.isArray(e))return u_(e)}function Xct(e){if(typeof Symbol<"u"&&Symbol.iterator in Object(e))return Array.from(e)}function Zct(e,t){if(!!e){if(typeof e=="string")return u_(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);if(r==="Object"&&e.constructor&&(r=e.constructor.name),r==="Map"||r==="Set")return Array.from(e);if(r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return u_(e,t)}}function u_(e,t){(t==null||t>e.length)&&(t=e.length);for(var r=0,o=new Array(t);r<t;r++)o[r]=e[r];return o}function $ct(){throw new TypeError(`Invalid attempt to spread non-iterable instance. -In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function A_(e,t,r,o,a){t=t||[],r=r||[],o&&(e=o(a,e));var n;for(n=0;n<t.length;n+=1)if(t[n]===e)return r[n];var u;if(eut.call(e)==="[object Array]"){for(t.push(e),u=new Array(e.length),r.push(u),n=0;n<e.length;n+=1)u[n]=A_(e[n],t,r,o,a);return t.pop(),r.pop(),u}if(e&&e.toJSON&&(e=e.toJSON()),Vb(e)==="object"&&e!==null){t.push(e),u={},r.push(u);var A=[],p;for(p in e)e.hasOwnProperty(p)&&A.push(p);for(A.sort(),n=0;n<A.length;n+=1)p=A[n],u[p]=A_(e[p],t,r,o,p);t.pop(),r.pop()}else u=e;return u}function lpe(e,t,r,o,a,n,u){u||(u={}),typeof u.context>"u"&&(u.context=4);var A=Kct(r,o,u);if(!A)return;A.push({value:"",lines:[]});function p(U){return U.map(function(V){return" "+V})}for(var h=[],w=0,I=0,v=[],b=1,E=1,R=function(V){var ee=A[V],le=ee.lines||ee.value.replace(/\n$/,"").split(` -`);if(ee.lines=le,ee.added||ee.removed){var fe;if(!w){var de=A[V-1];w=b,I=E,de&&(v=u.context>0?p(de.lines.slice(-u.context)):[],w-=v.length,I-=v.length)}(fe=v).push.apply(fe,c_(le.map(function(ce){return(ee.added?"+":"-")+ce}))),ee.added?E+=le.length:b+=le.length}else{if(w)if(le.length<=u.context*2&&V<A.length-2){var ge;(ge=v).push.apply(ge,c_(p(le)))}else{var oe,Be=Math.min(le.length,u.context);(oe=v).push.apply(oe,c_(p(le.slice(0,Be))));var be={oldStart:w,oldLines:b-w+Be,newStart:I,newLines:E-I+Be,lines:v};if(V>=A.length-2&&le.length<=u.context){var g=/\n$/.test(r),we=/\n$/.test(o),Se=le.length==0&&v.length>be.oldLines;!g&&Se&&r.length>0&&v.splice(be.oldLines,0,"\\ No newline at end of file"),(!g&&!Se||!we)&&v.push("\\ No newline at end of file")}h.push(be),w=0,I=0,v=[]}b+=le.length,E+=le.length}},N=0;N<A.length;N++)R(N);return{oldFileName:e,newFileName:t,oldHeader:a,newHeader:n,hunks:h}}var RUt,spe,ope,p_,h_,Jct,Vct,eut,t2,f_,g_=yt(()=>{Wf.prototype={diff:function(t,r){var o=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},a=o.callback;typeof o=="function"&&(a=o,o={}),this.options=o;var n=this;function u(R){return a?(setTimeout(function(){a(void 0,R)},0),!0):R}t=this.castInput(t),r=this.castInput(r),t=this.removeEmpty(this.tokenize(t)),r=this.removeEmpty(this.tokenize(r));var A=r.length,p=t.length,h=1,w=A+p;o.maxEditLength&&(w=Math.min(w,o.maxEditLength));var I=[{newPos:-1,components:[]}],v=this.extractCommon(I[0],r,t,0);if(I[0].newPos+1>=A&&v+1>=p)return u([{value:this.join(r),count:r.length}]);function b(){for(var R=-1*h;R<=h;R+=2){var N=void 0,U=I[R-1],V=I[R+1],ee=(V?V.newPos:0)-R;U&&(I[R-1]=void 0);var le=U&&U.newPos+1<A,fe=V&&0<=ee&&ee<p;if(!le&&!fe){I[R]=void 0;continue}if(!le||fe&&U.newPos<V.newPos?(N=Yct(V),n.pushComponent(N.components,void 0,!0)):(N=U,N.newPos++,n.pushComponent(N.components,!0,void 0)),ee=n.extractCommon(N,r,t,R),N.newPos+1>=A&&ee+1>=p)return u(Gct(n,N.components,r,t,n.useLongestToken));I[R]=N}h++}if(a)(function R(){setTimeout(function(){if(h>w)return a();b()||R()},0)})();else for(;h<=w;){var E=b();if(E)return E}},pushComponent:function(t,r,o){var a=t[t.length-1];a&&a.added===r&&a.removed===o?t[t.length-1]={count:a.count+1,added:r,removed:o}:t.push({count:1,added:r,removed:o})},extractCommon:function(t,r,o,a){for(var n=r.length,u=o.length,A=t.newPos,p=A-a,h=0;A+1<n&&p+1<u&&this.equals(r[A+1],o[p+1]);)A++,p++,h++;return h&&t.components.push({count:h}),t.newPos=A,p},equals:function(t,r){return this.options.comparator?this.options.comparator(t,r):t===r||this.options.ignoreCase&&t.toLowerCase()===r.toLowerCase()},removeEmpty:function(t){for(var r=[],o=0;o<t.length;o++)t[o]&&r.push(t[o]);return r},castInput:function(t){return t},tokenize:function(t){return t.split("")},join:function(t){return t.join("")}};RUt=new Wf;spe=/^[A-Za-z\xC0-\u02C6\u02C8-\u02D7\u02DE-\u02FF\u1E00-\u1EFF]+$/,ope=/\S/,p_=new Wf;p_.equals=function(e,t){return this.options.ignoreCase&&(e=e.toLowerCase(),t=t.toLowerCase()),e===t||this.options.ignoreWhitespace&&!ope.test(e)&&!ope.test(t)};p_.tokenize=function(e){for(var t=e.split(/([^\S\r\n]+|[()[\]{}'"\r\n]|\b)/),r=0;r<t.length-1;r++)!t[r+1]&&t[r+2]&&spe.test(t[r])&&spe.test(t[r+2])&&(t[r]+=t[r+2],t.splice(r+1,2),r--);return t};h_=new Wf;h_.tokenize=function(e){var t=[],r=e.split(/(\n|\r\n)/);r[r.length-1]||r.pop();for(var o=0;o<r.length;o++){var a=r[o];o%2&&!this.options.newlineIsToken?t[t.length-1]+=a:(this.options.ignoreWhitespace&&(a=a.trim()),t.push(a))}return t};Jct=new Wf;Jct.tokenize=function(e){return e.split(/(\S.+?[.!?])(?=\s+|$)/)};Vct=new Wf;Vct.tokenize=function(e){return e.split(/([{}:;,]|\s+)/)};eut=Object.prototype.toString,t2=new Wf;t2.useLongestToken=!0;t2.tokenize=h_.tokenize;t2.castInput=function(e){var t=this.options,r=t.undefinedReplacement,o=t.stringifyReplacer,a=o===void 0?function(n,u){return typeof u>"u"?r:u}:o;return typeof e=="string"?e:JSON.stringify(A_(e,null,null,a),a," ")};t2.equals=function(e,t){return Wf.prototype.equals.call(t2,e.replace(/,([\r\n])/g,"$1"),t.replace(/,([\r\n])/g,"$1"))};f_=new Wf;f_.tokenize=function(e){return e.slice()};f_.join=f_.removeEmpty=function(e){return e}});var upe=_((NUt,cpe)=>{var tut=Hl(),rut=fE(),nut=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,iut=/^\w*$/;function sut(e,t){if(tut(e))return!1;var r=typeof e;return r=="number"||r=="symbol"||r=="boolean"||e==null||rut(e)?!0:iut.test(e)||!nut.test(e)||t!=null&&e in Object(t)}cpe.exports=sut});var ppe=_((LUt,fpe)=>{var Ape=US(),out="Expected a function";function d_(e,t){if(typeof e!="function"||t!=null&&typeof t!="function")throw new TypeError(out);var r=function(){var o=arguments,a=t?t.apply(this,o):o[0],n=r.cache;if(n.has(a))return n.get(a);var u=e.apply(this,o);return r.cache=n.set(a,u)||n,u};return r.cache=new(d_.Cache||Ape),r}d_.Cache=Ape;fpe.exports=d_});var gpe=_((OUt,hpe)=>{var aut=ppe(),lut=500;function cut(e){var t=aut(e,function(o){return r.size===lut&&r.clear(),o}),r=t.cache;return t}hpe.exports=cut});var m_=_((MUt,dpe)=>{var uut=gpe(),Aut=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,fut=/\\(\\)?/g,put=uut(function(e){var t=[];return e.charCodeAt(0)===46&&t.push(""),e.replace(Aut,function(r,o,a,n){t.push(a?n.replace(fut,"$1"):o||r)}),t});dpe.exports=put});var jd=_((UUt,mpe)=>{var hut=Hl(),gut=upe(),dut=m_(),mut=R1();function yut(e,t){return hut(e)?e:gut(e,t)?[e]:dut(mut(e))}mpe.exports=yut});var ow=_((_Ut,ype)=>{var Eut=fE(),wut=1/0;function Cut(e){if(typeof e=="string"||Eut(e))return e;var t=e+"";return t=="0"&&1/e==-wut?"-0":t}ype.exports=Cut});var zb=_((HUt,Epe)=>{var Iut=jd(),But=ow();function vut(e,t){t=Iut(t,e);for(var r=0,o=t.length;e!=null&&r<o;)e=e[But(t[r++])];return r&&r==o?e:void 0}Epe.exports=vut});var y_=_((jUt,Cpe)=>{var Dut=tP(),Sut=jd(),Put=OI(),wpe=il(),xut=ow();function but(e,t,r,o){if(!wpe(e))return e;t=Sut(t,e);for(var a=-1,n=t.length,u=n-1,A=e;A!=null&&++a<n;){var p=xut(t[a]),h=r;if(p==="__proto__"||p==="constructor"||p==="prototype")return e;if(a!=u){var w=A[p];h=o?o(w,p,A):void 0,h===void 0&&(h=wpe(w)?w:Put(t[a+1])?[]:{})}Dut(A,p,h),A=A[p]}return e}Cpe.exports=but});var Bpe=_((qUt,Ipe)=>{var Qut=zb(),kut=y_(),Fut=jd();function Rut(e,t,r){for(var o=-1,a=t.length,n={};++o<a;){var u=t[o],A=Qut(e,u);r(A,u)&&kut(n,Fut(u,e),A)}return n}Ipe.exports=Rut});var Dpe=_((GUt,vpe)=>{function Tut(e,t){return e!=null&&t in Object(e)}vpe.exports=Tut});var E_=_((YUt,Spe)=>{var Nut=jd(),Lut=TI(),Out=Hl(),Mut=OI(),Uut=GS(),_ut=ow();function Hut(e,t,r){t=Nut(t,e);for(var o=-1,a=t.length,n=!1;++o<a;){var u=_ut(t[o]);if(!(n=e!=null&&r(e,u)))break;e=e[u]}return n||++o!=a?n:(a=e==null?0:e.length,!!a&&Uut(a)&&Mut(u,a)&&(Out(e)||Lut(e)))}Spe.exports=Hut});var xpe=_((WUt,Ppe)=>{var jut=Dpe(),qut=E_();function Gut(e,t){return e!=null&&qut(e,t,jut)}Ppe.exports=Gut});var Qpe=_((KUt,bpe)=>{var Yut=Bpe(),Wut=xpe();function Kut(e,t){return Yut(e,t,function(r,o){return Wut(e,o)})}bpe.exports=Kut});var Tpe=_((JUt,Rpe)=>{var kpe=fd(),Jut=TI(),Vut=Hl(),Fpe=kpe?kpe.isConcatSpreadable:void 0;function zut(e){return Vut(e)||Jut(e)||!!(Fpe&&e&&e[Fpe])}Rpe.exports=zut});var Ope=_((VUt,Lpe)=>{var Xut=jS(),Zut=Tpe();function Npe(e,t,r,o,a){var n=-1,u=e.length;for(r||(r=Zut),a||(a=[]);++n<u;){var A=e[n];t>0&&r(A)?t>1?Npe(A,t-1,r,o,a):Xut(a,A):o||(a[a.length]=A)}return a}Lpe.exports=Npe});var Upe=_((zUt,Mpe)=>{var $ut=Ope();function eAt(e){var t=e==null?0:e.length;return t?$ut(e,1):[]}Mpe.exports=eAt});var w_=_((XUt,_pe)=>{var tAt=Upe(),rAt=uL(),nAt=AL();function iAt(e){return nAt(rAt(e,void 0,tAt),e+"")}_pe.exports=iAt});var C_=_((ZUt,Hpe)=>{var sAt=Qpe(),oAt=w_(),aAt=oAt(function(e,t){return e==null?{}:sAt(e,t)});Hpe.exports=aAt});var Xb,jpe=yt(()=>{Yl();Xb=class{constructor(t){this.resolver=t}supportsDescriptor(t,r){return this.resolver.supportsDescriptor(t,r)}supportsLocator(t,r){return this.resolver.supportsLocator(t,r)}shouldPersistResolution(t,r){return this.resolver.shouldPersistResolution(t,r)}bindDescriptor(t,r,o){return this.resolver.bindDescriptor(t,r,o)}getResolutionDependencies(t,r){return this.resolver.getResolutionDependencies(t,r)}async getCandidates(t,r,o){throw new zt(20,`This package doesn't seem to be present in your lockfile; run "yarn install" to update the lockfile`)}async getSatisfying(t,r,o,a){throw new zt(20,`This package doesn't seem to be present in your lockfile; run "yarn install" to update the lockfile`)}async resolve(t,r){throw new zt(20,`This package doesn't seem to be present in your lockfile; run "yarn install" to update the lockfile`)}}});var ki,I_=yt(()=>{Yl();ki=class extends Zs{reportCacheHit(t){}reportCacheMiss(t){}startSectionSync(t,r){return r()}async startSectionPromise(t,r){return await r()}startTimerSync(t,r,o){return(typeof r=="function"?r:o)()}async startTimerPromise(t,r,o){return await(typeof r=="function"?r:o)()}reportSeparator(){}reportInfo(t,r){}reportWarning(t,r){}reportError(t,r){}reportProgress(t){return{...Promise.resolve().then(async()=>{for await(let{}of t);}),stop:()=>{}}}reportJson(t){}reportFold(t,r){}async finalize(){}}});var qpe,aw,B_=yt(()=>{St();qpe=$e(FP());AE();Bd();ql();rh();Qf();xo();aw=class{constructor(t,{project:r}){this.workspacesCwds=new Set;this.project=r,this.cwd=t}async setup(){this.manifest=await Ot.tryFind(this.cwd)??new Ot,this.relativeCwd=J.relative(this.project.cwd,this.cwd)||Bt.dot;let t=this.manifest.name?this.manifest.name:rA(null,`${this.computeCandidateName()}-${Fs(this.relativeCwd).substring(0,6)}`);this.anchoredDescriptor=Cn(t,`${Vn.protocol}${this.relativeCwd}`),this.anchoredLocator=Rs(t,`${Vn.protocol}${this.relativeCwd}`);let r=this.manifest.workspaceDefinitions.map(({pattern:a})=>a);if(r.length===0)return;let o=await(0,qpe.default)(r,{cwd:Ae.fromPortablePath(this.cwd),onlyDirectories:!0,ignore:["**/node_modules","**/.git","**/.yarn"]});o.sort(),await o.reduce(async(a,n)=>{let u=J.resolve(this.cwd,Ae.toPortablePath(n)),A=await ae.existsPromise(J.join(u,"package.json"));await a,A&&this.workspacesCwds.add(u)},Promise.resolve())}get anchoredPackage(){let t=this.project.storedPackages.get(this.anchoredLocator.locatorHash);if(!t)throw new Error(`Assertion failed: Expected workspace ${i1(this.project.configuration,this)} (${_t(this.project.configuration,J.join(this.cwd,gr.manifest),Et.PATH)}) to have been resolved. Run "yarn install" to update the lockfile`);return t}accepts(t){let r=t.indexOf(":"),o=r!==-1?t.slice(0,r+1):null,a=r!==-1?t.slice(r+1):t;if(o===Vn.protocol&&J.normalize(a)===this.relativeCwd||o===Vn.protocol&&(a==="*"||a==="^"||a==="~"))return!0;let n=ba(a);return n?o===Vn.protocol?n.test(this.manifest.version??"0.0.0"):this.project.configuration.get("enableTransparentWorkspaces")&&this.manifest.version!==null?n.test(this.manifest.version):!1:!1}computeCandidateName(){return this.cwd===this.project.cwd?"root-workspace":`${J.basename(this.cwd)}`||"unnamed-workspace"}getRecursiveWorkspaceDependencies({dependencies:t=Ot.hardDependencies}={}){let r=new Set,o=a=>{for(let n of t)for(let u of a.manifest[n].values()){let A=this.project.tryWorkspaceByDescriptor(u);A===null||r.has(A)||(r.add(A),o(A))}};return o(this),r}getRecursiveWorkspaceDependents({dependencies:t=Ot.hardDependencies}={}){let r=new Set,o=a=>{for(let n of this.project.workspaces)t.some(A=>[...n.manifest[A].values()].some(p=>{let h=this.project.tryWorkspaceByDescriptor(p);return h!==null&&t1(h.anchoredLocator,a.anchoredLocator)}))&&!r.has(n)&&(r.add(n),o(n))};return o(this),r}getRecursiveWorkspaceChildren(){let t=[];for(let r of this.workspacesCwds){let o=this.project.workspacesByCwd.get(r);o&&t.push(o,...o.getRecursiveWorkspaceChildren())}return t}async persistManifest(){let t={};this.manifest.exportTo(t);let r=J.join(this.cwd,Ot.fileName),o=`${JSON.stringify(t,null,this.manifest.indent)} -`;await ae.changeFilePromise(r,o,{automaticNewlines:!0}),this.manifest.raw=t}}});function pAt({project:e,allDescriptors:t,allResolutions:r,allPackages:o,accessibleLocators:a=new Set,optionalBuilds:n=new Set,peerRequirements:u=new Map,peerWarnings:A=[],volatileDescriptors:p=new Set}){let h=new Map,w=[],I=new Map,v=new Map,b=new Map,E=new Map,R=new Map,N=new Map(e.workspaces.map(de=>{let ge=de.anchoredLocator.locatorHash,oe=o.get(ge);if(typeof oe>"u")throw new Error("Assertion failed: The workspace should have an associated package");return[ge,XI(oe)]})),U=()=>{let de=ae.mktempSync(),ge=J.join(de,"stacktrace.log"),oe=String(w.length+1).length,Be=w.map((be,g)=>`${`${g+1}.`.padStart(oe," ")} ${xa(be)} -`).join("");throw ae.writeFileSync(ge,Be),ae.detachTemp(de),new zt(45,`Encountered a stack overflow when resolving peer dependencies; cf ${Ae.fromPortablePath(ge)}`)},V=de=>{let ge=r.get(de.descriptorHash);if(typeof ge>"u")throw new Error("Assertion failed: The resolution should have been registered");let oe=o.get(ge);if(!oe)throw new Error("Assertion failed: The package could not be found");return oe},ee=(de,ge,oe,{top:Be,optional:be})=>{w.length>1e3&&U(),w.push(ge);let g=le(de,ge,oe,{top:Be,optional:be});return w.pop(),g},le=(de,ge,oe,{top:Be,optional:be})=>{if(a.has(ge.locatorHash))return;a.add(ge.locatorHash),be||n.delete(ge.locatorHash);let g=o.get(ge.locatorHash);if(!g)throw new Error(`Assertion failed: The package (${jr(e.configuration,ge)}) should have been registered`);let we=[],Se=[],ce=[],ne=[],te=[];for(let Re of Array.from(g.dependencies.values())){if(g.peerDependencies.has(Re.identHash)&&g.locatorHash!==Be)continue;if(Pf(Re))throw new Error("Assertion failed: Virtual packages shouldn't be encountered when virtualizing a branch");p.delete(Re.descriptorHash);let dt=be;if(!dt){let Ne=g.dependenciesMeta.get(An(Re));if(typeof Ne<"u"){let Ve=Ne.get(null);typeof Ve<"u"&&Ve.optional&&(dt=!0)}}let H=r.get(Re.descriptorHash);if(!H)throw new Error(`Assertion failed: The resolution (${jn(e.configuration,Re)}) should have been registered`);let at=N.get(H)||o.get(H);if(!at)throw new Error(`Assertion failed: The package (${H}, resolved from ${jn(e.configuration,Re)}) should have been registered`);if(at.peerDependencies.size===0){ee(Re,at,new Map,{top:Be,optional:dt});continue}let Te,Qe,ke=new Set,He;Se.push(()=>{Te=eM(Re,ge.locatorHash),Qe=tM(at,ge.locatorHash),g.dependencies.delete(Re.identHash),g.dependencies.set(Te.identHash,Te),r.set(Te.descriptorHash,Qe.locatorHash),t.set(Te.descriptorHash,Te),o.set(Qe.locatorHash,Qe),we.push([at,Te,Qe])}),ce.push(()=>{He=new Map;for(let Ne of Qe.peerDependencies.values()){let Ve=g.dependencies.get(Ne.identHash);if(!Ve&&e1(ge,Ne)&&(de.identHash===ge.identHash?Ve=de:(Ve=Cn(ge,de.range),t.set(Ve.descriptorHash,Ve),r.set(Ve.descriptorHash,ge.locatorHash),p.delete(Ve.descriptorHash))),(!Ve||Ve.range==="missing:")&&Qe.dependencies.has(Ne.identHash)){Qe.peerDependencies.delete(Ne.identHash);continue}Ve||(Ve=Cn(Ne,"missing:")),Qe.dependencies.set(Ve.identHash,Ve),Pf(Ve)&&dd(b,Ve.descriptorHash).add(Qe.locatorHash),I.set(Ve.identHash,Ve),Ve.range==="missing:"&&ke.add(Ve.identHash),He.set(Ne.identHash,oe.get(Ne.identHash)??Qe.locatorHash)}Qe.dependencies=new Map(ks(Qe.dependencies,([Ne,Ve])=>An(Ve)))}),ne.push(()=>{if(!o.has(Qe.locatorHash))return;let Ne=h.get(at.locatorHash);typeof Ne=="number"&&Ne>=2&&U();let Ve=h.get(at.locatorHash),je=typeof Ve<"u"?Ve+1:1;h.set(at.locatorHash,je),ee(Te,Qe,He,{top:Be,optional:dt}),h.set(at.locatorHash,je-1)}),te.push(()=>{let Ne=g.dependencies.get(Re.identHash);if(typeof Ne>"u")throw new Error("Assertion failed: Expected the peer dependency to have been turned into a dependency");let Ve=r.get(Ne.descriptorHash);if(typeof Ve>"u")throw new Error("Assertion failed: Expected the descriptor to be registered");if(dd(R,Ve).add(ge.locatorHash),!!o.has(Qe.locatorHash)){for(let je of Qe.peerDependencies.values()){let x=He.get(je.identHash);if(typeof x>"u")throw new Error("Assertion failed: Expected the peer dependency ident to be registered");Gy(Yy(E,x),An(je)).push(Qe.locatorHash)}for(let je of ke)Qe.dependencies.delete(je)}})}for(let Re of[...Se,...ce])Re();let Ee;do{Ee=!0;for(let[Re,dt,H]of we){let at=Yy(v,Re.locatorHash),Te=Fs(...[...H.dependencies.values()].map(Ne=>{let Ve=Ne.range!=="missing:"?r.get(Ne.descriptorHash):"missing:";if(typeof Ve>"u")throw new Error(`Assertion failed: Expected the resolution for ${jn(e.configuration,Ne)} to have been registered`);return Ve===Be?`${Ve} (top)`:Ve}),dt.identHash),Qe=at.get(Te);if(typeof Qe>"u"){at.set(Te,dt);continue}if(Qe===dt)continue;o.delete(H.locatorHash),t.delete(dt.descriptorHash),r.delete(dt.descriptorHash),a.delete(H.locatorHash);let ke=b.get(dt.descriptorHash)||[],He=[g.locatorHash,...ke];b.delete(dt.descriptorHash);for(let Ne of He){let Ve=o.get(Ne);typeof Ve>"u"||(Ve.dependencies.get(dt.identHash).descriptorHash!==Qe.descriptorHash&&(Ee=!1),Ve.dependencies.set(dt.identHash,Qe))}}}while(!Ee);for(let Re of[...ne,...te])Re()};for(let de of e.workspaces){let ge=de.anchoredLocator;p.delete(de.anchoredDescriptor.descriptorHash),ee(de.anchoredDescriptor,ge,new Map,{top:ge.locatorHash,optional:!1})}let fe=new Map;for(let[de,ge]of R){let oe=o.get(de);if(typeof oe>"u")throw new Error("Assertion failed: Expected the root to be registered");let Be=E.get(de);if(!(typeof Be>"u"))for(let be of ge){let g=o.get(be);if(!(typeof g>"u")&&!!e.tryWorkspaceByLocator(g))for(let[we,Se]of Be){let ce=Xs(we);if(g.peerDependencies.has(ce.identHash))continue;let ne=`p${Fs(be,we,de).slice(0,5)}`;u.set(ne,{subject:be,requested:ce,rootRequester:de,allRequesters:Se});let te=oe.dependencies.get(ce.identHash);if(typeof te<"u"){let Ee=V(te),Re=Ee.version??"0.0.0",dt=new Set;for(let at of Se){let Te=o.get(at);if(typeof Te>"u")throw new Error("Assertion failed: Expected the link to be registered");let Qe=Te.peerDependencies.get(ce.identHash);if(typeof Qe>"u")throw new Error("Assertion failed: Expected the ident to be registered");dt.add(Qe.range)}if(![...dt].every(at=>{if(at.startsWith(Vn.protocol)){if(!e.tryWorkspaceByLocator(Ee))return!1;at=at.slice(Vn.protocol.length),(at==="^"||at==="~")&&(at="*")}return bf(Re,at)})){let at=_c(fe,Ee.locatorHash,()=>({type:2,requested:ce,subject:Ee,dependents:new Map,requesters:new Map,links:new Map,version:Re,hash:`p${Fs(we).slice(0,5)}`}));at.dependents.set(g.locatorHash,g),at.requesters.set(oe.locatorHash,oe);for(let Te of Se)at.links.set(Te,o.get(Te));A.push({type:1,subject:g,requested:ce,requester:oe,version:Re,hash:ne,requirementCount:Se.length})}}else oe.peerDependenciesMeta.get(we)?.optional||A.push({type:0,subject:g,requested:ce,requester:oe,hash:ne})}}}A.push(...fe.values())}function hAt(e,t){let r=wL(e.peerWarnings,"type"),o=r[2]?.map(n=>{let u=Array.from(n.links.values(),w=>{let I=e.storedPackages.get(w.locatorHash);if(typeof I>"u")throw new Error("Assertion failed: Expected the package to be registered");let v=I.peerDependencies.get(n.requested.identHash);if(typeof v>"u")throw new Error("Assertion failed: Expected the ident to be registered");return v.range}),A=n.dependents.size>1?"and other dependencies request":"requests",p=iM(u),h=p?lE(e.configuration,p):_t(e.configuration,"but they have non-overlapping ranges!","redBright");return`${ls(e.configuration,n.requested)} is listed by your project with version ${n1(e.configuration,n.version)}, which doesn't satisfy what ${ls(e.configuration,n.requesters.values().next().value)} ${A} (${h}).`})??[],a=r[0]?.map(n=>`${jr(e.configuration,n.subject)} doesn't provide ${ls(e.configuration,n.requested)} (${_t(e.configuration,n.hash,Et.CODE)}), requested by ${ls(e.configuration,n.requester)}`)??[];t.startSectionSync({reportFooter:()=>{t.reportWarning(86,`Some peer dependencies are incorrectly met; run ${_t(e.configuration,"yarn explain peer-requirements <hash>",Et.CODE)} for details, where ${_t(e.configuration,"<hash>",Et.CODE)} is the six-letter p-prefixed code.`)},skipIfEmpty:!0},()=>{for(let n of ks(o,u=>zy.default(u)))t.reportWarning(60,n);for(let n of ks(a,u=>zy.default(u)))t.reportWarning(2,n)})}var Zb,$b,eQ,Wpe,S_,D_,P_,tQ,lAt,cAt,Gpe,uAt,AAt,fAt,fl,v_,Ype,Pt,Kpe=yt(()=>{St();St();Nl();qt();Zb=Ie("crypto");g_();$b=$e(C_()),eQ=$e(nd()),Wpe=$e(Zn()),S_=Ie("util"),D_=$e(Ie("v8")),P_=$e(Ie("zlib"));o_();v1();a_();l_();AE();cM();Yl();jpe();N1();I_();Bd();B_();GP();ql();rh();jl();C1();BU();Qf();xo();tQ=Jy(process.env.YARN_LOCKFILE_VERSION_OVERRIDE??8),lAt=3,cAt=/ *, */g,Gpe=/\/$/,uAt=32,AAt=(0,S_.promisify)(P_.default.gzip),fAt=(0,S_.promisify)(P_.default.gunzip),fl=(r=>(r.UpdateLockfile="update-lockfile",r.SkipBuild="skip-build",r))(fl||{}),v_={restoreLinkersCustomData:["linkersCustomData"],restoreResolutions:["accessibleLocators","conditionalLocators","disabledLocators","optionalBuilds","storedDescriptors","storedResolutions","storedPackages","lockFileChecksum"],restoreBuildState:["skippedBuilds","storedBuildState"]},Ype=e=>Fs(`${lAt}`,e),Pt=class{constructor(t,{configuration:r}){this.resolutionAliases=new Map;this.workspaces=[];this.workspacesByCwd=new Map;this.workspacesByIdent=new Map;this.storedResolutions=new Map;this.storedDescriptors=new Map;this.storedPackages=new Map;this.storedChecksums=new Map;this.storedBuildState=new Map;this.accessibleLocators=new Set;this.conditionalLocators=new Set;this.disabledLocators=new Set;this.originalPackages=new Map;this.optionalBuilds=new Set;this.skippedBuilds=new Set;this.lockfileLastVersion=null;this.lockfileNeedsRefresh=!1;this.peerRequirements=new Map;this.peerWarnings=[];this.linkersCustomData=new Map;this.lockFileChecksum=null;this.installStateChecksum=null;this.configuration=r,this.cwd=t}static async find(t,r){if(!t.projectCwd)throw new it(`No project found in ${r}`);let o=t.projectCwd,a=r,n=null;for(;n!==t.projectCwd;){if(n=a,ae.existsSync(J.join(n,gr.manifest))){o=n;break}a=J.dirname(n)}let u=new Pt(t.projectCwd,{configuration:t});Ke.telemetry?.reportProject(u.cwd),await u.setupResolutions(),await u.setupWorkspaces(),Ke.telemetry?.reportWorkspaceCount(u.workspaces.length),Ke.telemetry?.reportDependencyCount(u.workspaces.reduce((E,R)=>E+R.manifest.dependencies.size+R.manifest.devDependencies.size,0));let A=u.tryWorkspaceByCwd(o);if(A)return{project:u,workspace:A,locator:A.anchoredLocator};let p=await u.findLocatorForLocation(`${o}/`,{strict:!0});if(p)return{project:u,locator:p,workspace:null};let h=_t(t,u.cwd,Et.PATH),w=_t(t,J.relative(u.cwd,o),Et.PATH),I=`- If ${h} isn't intended to be a project, remove any yarn.lock and/or package.json file there.`,v=`- If ${h} is intended to be a project, it might be that you forgot to list ${w} in its workspace configuration.`,b=`- Finally, if ${h} is fine and you intend ${w} to be treated as a completely separate project (not even a workspace), create an empty yarn.lock file in it.`;throw new it(`The nearest package directory (${_t(t,o,Et.PATH)}) doesn't seem to be part of the project declared in ${_t(t,u.cwd,Et.PATH)}. - -${[I,v,b].join(` -`)}`)}async setupResolutions(){this.storedResolutions=new Map,this.storedDescriptors=new Map,this.storedPackages=new Map,this.lockFileChecksum=null;let t=J.join(this.cwd,gr.lockfile),r=this.configuration.get("defaultLanguageName");if(ae.existsSync(t)){let o=await ae.readFilePromise(t,"utf8");this.lockFileChecksum=Ype(o);let a=Ji(o);if(a.__metadata){let n=a.__metadata.version,u=a.__metadata.cacheKey;this.lockfileLastVersion=n,this.lockfileNeedsRefresh=n<tQ;for(let A of Object.keys(a)){if(A==="__metadata")continue;let p=a[A];if(typeof p.resolution>"u")throw new Error(`Assertion failed: Expected the lockfile entry to have a resolution field (${A})`);let h=xf(p.resolution,!0),w=new Ot;w.load(p,{yamlCompatibilityMode:!0});let I=w.version,v=w.languageName||r,b=p.linkType.toUpperCase(),E=p.conditions??null,R=w.dependencies,N=w.peerDependencies,U=w.dependenciesMeta,V=w.peerDependenciesMeta,ee=w.bin;if(p.checksum!=null){let fe=typeof u<"u"&&!p.checksum.includes("/")?`${u}/${p.checksum}`:p.checksum;this.storedChecksums.set(h.locatorHash,fe)}let le={...h,version:I,languageName:v,linkType:b,conditions:E,dependencies:R,peerDependencies:N,dependenciesMeta:U,peerDependenciesMeta:V,bin:ee};this.originalPackages.set(le.locatorHash,le);for(let fe of A.split(cAt)){let de=nh(fe);n<=6&&(de=this.configuration.normalizeDependency(de),de=Cn(de,de.range.replace(/^patch:[^@]+@(?!npm(:|%3A))/,"$1npm%3A"))),this.storedDescriptors.set(de.descriptorHash,de),this.storedResolutions.set(de.descriptorHash,h.locatorHash)}}}else o.includes("yarn lockfile v1")&&(this.lockfileLastVersion=-1)}}async setupWorkspaces(){this.workspaces=[],this.workspacesByCwd=new Map,this.workspacesByIdent=new Map;let t=new Set,r=(0,eQ.default)(4),o=async(a,n)=>{if(t.has(n))return a;t.add(n);let u=new aw(n,{project:this});await r(()=>u.setup());let A=a.then(()=>{this.addWorkspace(u)});return Array.from(u.workspacesCwds).reduce(o,A)};await o(Promise.resolve(),this.cwd)}addWorkspace(t){let r=this.workspacesByIdent.get(t.anchoredLocator.identHash);if(typeof r<"u")throw new Error(`Duplicate workspace name ${ls(this.configuration,t.anchoredLocator)}: ${Ae.fromPortablePath(t.cwd)} conflicts with ${Ae.fromPortablePath(r.cwd)}`);this.workspaces.push(t),this.workspacesByCwd.set(t.cwd,t),this.workspacesByIdent.set(t.anchoredLocator.identHash,t)}get topLevelWorkspace(){return this.getWorkspaceByCwd(this.cwd)}tryWorkspaceByCwd(t){J.isAbsolute(t)||(t=J.resolve(this.cwd,t)),t=J.normalize(t).replace(/\/+$/,"");let r=this.workspacesByCwd.get(t);return r||null}getWorkspaceByCwd(t){let r=this.tryWorkspaceByCwd(t);if(!r)throw new Error(`Workspace not found (${t})`);return r}tryWorkspaceByFilePath(t){let r=null;for(let o of this.workspaces)J.relative(o.cwd,t).startsWith("../")||r&&r.cwd.length>=o.cwd.length||(r=o);return r||null}getWorkspaceByFilePath(t){let r=this.tryWorkspaceByFilePath(t);if(!r)throw new Error(`Workspace not found (${t})`);return r}tryWorkspaceByIdent(t){let r=this.workspacesByIdent.get(t.identHash);return typeof r>"u"?null:r}getWorkspaceByIdent(t){let r=this.tryWorkspaceByIdent(t);if(!r)throw new Error(`Workspace not found (${ls(this.configuration,t)})`);return r}tryWorkspaceByDescriptor(t){if(t.range.startsWith(Vn.protocol)){let o=t.range.slice(Vn.protocol.length);if(o!=="^"&&o!=="~"&&o!=="*"&&!ba(o))return this.tryWorkspaceByCwd(o)}let r=this.tryWorkspaceByIdent(t);return r===null||(Pf(t)&&(t=ZI(t)),!r.accepts(t.range))?null:r}getWorkspaceByDescriptor(t){let r=this.tryWorkspaceByDescriptor(t);if(r===null)throw new Error(`Workspace not found (${jn(this.configuration,t)})`);return r}tryWorkspaceByLocator(t){let r=this.tryWorkspaceByIdent(t);return r===null||(jc(t)&&(t=$I(t)),r.anchoredLocator.locatorHash!==t.locatorHash)?null:r}getWorkspaceByLocator(t){let r=this.tryWorkspaceByLocator(t);if(!r)throw new Error(`Workspace not found (${jr(this.configuration,t)})`);return r}deleteDescriptor(t){this.storedResolutions.delete(t),this.storedDescriptors.delete(t)}deleteLocator(t){this.originalPackages.delete(t),this.storedPackages.delete(t),this.accessibleLocators.delete(t)}forgetResolution(t){if("descriptorHash"in t){let r=this.storedResolutions.get(t.descriptorHash);this.deleteDescriptor(t.descriptorHash);let o=new Set(this.storedResolutions.values());typeof r<"u"&&!o.has(r)&&this.deleteLocator(r)}if("locatorHash"in t){this.deleteLocator(t.locatorHash);for(let[r,o]of this.storedResolutions)o===t.locatorHash&&this.deleteDescriptor(r)}}forgetTransientResolutions(){let t=this.configuration.makeResolver(),r=new Map;for(let[o,a]of this.storedResolutions.entries()){let n=r.get(a);n||r.set(a,n=new Set),n.add(o)}for(let o of this.originalPackages.values()){let a;try{a=t.shouldPersistResolution(o,{project:this,resolver:t})}catch{a=!1}if(!a){this.deleteLocator(o.locatorHash);let n=r.get(o.locatorHash);if(n){r.delete(o.locatorHash);for(let u of n)this.deleteDescriptor(u)}}}}forgetVirtualResolutions(){for(let t of this.storedPackages.values())for(let[r,o]of t.dependencies)Pf(o)&&t.dependencies.set(r,ZI(o))}getDependencyMeta(t,r){let o={},n=this.topLevelWorkspace.manifest.dependenciesMeta.get(An(t));if(!n)return o;let u=n.get(null);if(u&&Object.assign(o,u),r===null||!Wpe.default.valid(r))return o;for(let[A,p]of n)A!==null&&A===r&&Object.assign(o,p);return o}async findLocatorForLocation(t,{strict:r=!1}={}){let o=new ki,a=this.configuration.getLinkers(),n={project:this,report:o};for(let u of a){let A=await u.findPackageLocator(t,n);if(A){if(r&&(await u.findPackageLocation(A,n)).replace(Gpe,"")!==t.replace(Gpe,""))continue;return A}}return null}async loadUserConfig(){let t=J.join(this.cwd,"yarn.config.js");return await ae.existsPromise(t)?Vp(t):null}async preparePackage(t,{resolver:r,resolveOptions:o}){let a=this.configuration.normalizePackage(t);for(let[n,u]of a.dependencies){let A=await this.configuration.reduceHook(h=>h.reduceDependency,u,this,a,u,{resolver:r,resolveOptions:o});if(!e1(u,A))throw new Error("Assertion failed: The descriptor ident cannot be changed through aliases");let p=r.bindDescriptor(A,a,o);a.dependencies.set(n,p)}return a}async resolveEverything(t){if(!this.workspacesByCwd||!this.workspacesByIdent)throw new Error("Workspaces must have been setup before calling this function");this.forgetVirtualResolutions();let r=new Map(this.originalPackages),o=[];t.lockfileOnly||this.forgetTransientResolutions();let a=t.resolver||this.configuration.makeResolver(),n=new iw(a);await n.setup(this,{report:t.report});let u=t.lockfileOnly?[new Xb(a)]:[n,a],A=new vd([new sw(a),...u]),p=new vd([...u]),h=this.configuration.makeFetcher(),w=t.lockfileOnly?{project:this,report:t.report,resolver:A}:{project:this,report:t.report,resolver:A,fetchOptions:{project:this,cache:t.cache,checksums:this.storedChecksums,report:t.report,fetcher:h,cacheOptions:{mirrorWriteOnly:!0}}},I=new Map,v=new Map,b=new Map,E=new Map,R=new Map,N=new Map,U=this.topLevelWorkspace.anchoredLocator,V=new Set,ee=[],le=M4(),fe=this.configuration.getSupportedArchitectures();await t.report.startProgressPromise(Zs.progressViaTitle(),async ce=>{let ne=async H=>{let at=await Wy(async()=>await A.resolve(H,w),He=>`${jr(this.configuration,H)}: ${He}`);if(!t1(H,at))throw new Error(`Assertion failed: The locator cannot be changed by the resolver (went from ${jr(this.configuration,H)} to ${jr(this.configuration,at)})`);E.set(at.locatorHash,at),!r.delete(at.locatorHash)&&!this.tryWorkspaceByLocator(at)&&o.push(at);let Qe=await this.preparePackage(at,{resolver:A,resolveOptions:w}),ke=Uc([...Qe.dependencies.values()].map(He=>dt(He)));return ee.push(ke),ke.catch(()=>{}),v.set(Qe.locatorHash,Qe),Qe},te=async H=>{let at=R.get(H.locatorHash);if(typeof at<"u")return at;let Te=Promise.resolve().then(()=>ne(H));return R.set(H.locatorHash,Te),Te},Ee=async(H,at)=>{let Te=await dt(at);return I.set(H.descriptorHash,H),b.set(H.descriptorHash,Te.locatorHash),Te},Re=async H=>{ce.setTitle(jn(this.configuration,H));let at=this.resolutionAliases.get(H.descriptorHash);if(typeof at<"u")return Ee(H,this.storedDescriptors.get(at));let Te=A.getResolutionDependencies(H,w),Qe=Object.fromEntries(await Uc(Object.entries(Te).map(async([Ne,Ve])=>{let je=A.bindDescriptor(Ve,U,w),x=await dt(je);return V.add(x.locatorHash),[Ne,x]}))),He=(await Wy(async()=>await A.getCandidates(H,Qe,w),Ne=>`${jn(this.configuration,H)}: ${Ne}`))[0];if(typeof He>"u")throw new zt(82,`${jn(this.configuration,H)}: No candidates found`);if(t.checkResolutions){let{locators:Ne}=await p.getSatisfying(H,Qe,[He],{...w,resolver:p});if(!Ne.find(Ve=>Ve.locatorHash===He.locatorHash))throw new zt(78,`Invalid resolution ${VI(this.configuration,H,He)}`)}return I.set(H.descriptorHash,H),b.set(H.descriptorHash,He.locatorHash),te(He)},dt=H=>{let at=N.get(H.descriptorHash);if(typeof at<"u")return at;I.set(H.descriptorHash,H);let Te=Promise.resolve().then(()=>Re(H));return N.set(H.descriptorHash,Te),Te};for(let H of this.workspaces){let at=H.anchoredDescriptor;ee.push(dt(at))}for(;ee.length>0;){let H=[...ee];ee.length=0,await Uc(H)}});let de=sl(r.values(),ce=>this.tryWorkspaceByLocator(ce)?sl.skip:ce);if(o.length>0||de.length>0){let ce=new Set(this.workspaces.flatMap(H=>{let at=v.get(H.anchoredLocator.locatorHash);if(!at)throw new Error("Assertion failed: The workspace should have been resolved");return Array.from(at.dependencies.values(),Te=>{let Qe=b.get(Te.descriptorHash);if(!Qe)throw new Error("Assertion failed: The resolution should have been registered");return Qe})})),ne=H=>ce.has(H.locatorHash)?"0":"1",te=H=>xa(H),Ee=ks(o,[ne,te]),Re=ks(de,[ne,te]),dt=t.report.getRecommendedLength();Ee.length>0&&t.report.reportInfo(85,`${_t(this.configuration,"+",Et.ADDED)} ${lP(this.configuration,Ee,dt)}`),Re.length>0&&t.report.reportInfo(85,`${_t(this.configuration,"-",Et.REMOVED)} ${lP(this.configuration,Re,dt)}`)}let ge=new Set(this.resolutionAliases.values()),oe=new Set(v.keys()),Be=new Set,be=new Map,g=[];pAt({project:this,accessibleLocators:Be,volatileDescriptors:ge,optionalBuilds:oe,peerRequirements:be,peerWarnings:g,allDescriptors:I,allResolutions:b,allPackages:v});for(let ce of V)oe.delete(ce);for(let ce of ge)I.delete(ce),b.delete(ce);let we=new Set,Se=new Set;for(let ce of v.values())ce.conditions!=null&&(!oe.has(ce.locatorHash)||(_P(ce,fe)||(_P(ce,le)&&t.report.reportWarningOnce(77,`${jr(this.configuration,ce)}: Your current architecture (${process.platform}-${process.arch}) is supported by this package, but is missing from the ${_t(this.configuration,"supportedArchitectures",Et.SETTING)} setting`),Se.add(ce.locatorHash)),we.add(ce.locatorHash)));this.storedResolutions=b,this.storedDescriptors=I,this.storedPackages=v,this.accessibleLocators=Be,this.conditionalLocators=we,this.disabledLocators=Se,this.originalPackages=E,this.optionalBuilds=oe,this.peerRequirements=be,this.peerWarnings=g}async fetchEverything({cache:t,report:r,fetcher:o,mode:a,persistProject:n=!0}){let u={mockedPackages:this.disabledLocators,unstablePackages:this.conditionalLocators},A=o||this.configuration.makeFetcher(),p={checksums:this.storedChecksums,project:this,cache:t,fetcher:A,report:r,cacheOptions:u},h=Array.from(new Set(ks(this.storedResolutions.values(),[E=>{let R=this.storedPackages.get(E);if(!R)throw new Error("Assertion failed: The locator should have been registered");return xa(R)}])));a==="update-lockfile"&&(h=h.filter(E=>!this.storedChecksums.has(E)));let w=!1,I=Zs.progressViaCounter(h.length);await r.reportProgress(I);let v=(0,eQ.default)(uAt);if(await Uc(h.map(E=>v(async()=>{let R=this.storedPackages.get(E);if(!R)throw new Error("Assertion failed: The locator should have been registered");if(jc(R))return;let N;try{N=await A.fetch(R,p)}catch(U){U.message=`${jr(this.configuration,R)}: ${U.message}`,r.reportExceptionOnce(U),w=U;return}N.checksum!=null?this.storedChecksums.set(R.locatorHash,N.checksum):this.storedChecksums.delete(R.locatorHash),N.releaseFs&&N.releaseFs()}).finally(()=>{I.tick()}))),w)throw w;let b=n&&a!=="update-lockfile"?await this.cacheCleanup({cache:t,report:r}):null;if(r.cacheMisses.size>0||b){let R=(await Promise.all([...r.cacheMisses].map(async de=>{let ge=this.storedPackages.get(de),oe=this.storedChecksums.get(de)??null,Be=t.getLocatorPath(ge,oe,u);return(Be?await ae.statPromise(Be):null)?.size??0}))).reduce((de,ge)=>de+ge,0)-(b?.size??0),N=r.cacheMisses.size,U=b?.count??0,V=`${rP(N,{zero:"No new packages",one:"A package was",more:`${_t(this.configuration,N,Et.NUMBER)} packages were`})} added to the cache`,ee=`${rP(U,{zero:"none were",one:"one was",more:`${_t(this.configuration,U,Et.NUMBER)} were`})} removed`,le=R!==0?` (${_t(this.configuration,R,Et.SIZE_DIFF)})`:"",fe=U>0?N>0?`${V}, and ${ee}${le}.`:`${V}, but ${ee}${le}.`:`${V}${le}.`;r.reportInfo(13,fe)}}async linkEverything({cache:t,report:r,fetcher:o,mode:a}){let n={mockedPackages:this.disabledLocators,unstablePackages:this.conditionalLocators,skipIntegrityCheck:!0},u=o||this.configuration.makeFetcher(),A={checksums:this.storedChecksums,project:this,cache:t,fetcher:u,report:r,cacheOptions:n},p=this.configuration.getLinkers(),h={project:this,report:r},w=new Map(p.map(ce=>{let ne=ce.makeInstaller(h),te=ce.getCustomDataKey(),Ee=this.linkersCustomData.get(te);return typeof Ee<"u"&&ne.attachCustomData(Ee),[ce,ne]})),I=new Map,v=new Map,b=new Map,E=new Map(await Uc([...this.accessibleLocators].map(async ce=>{let ne=this.storedPackages.get(ce);if(!ne)throw new Error("Assertion failed: The locator should have been registered");return[ce,await u.fetch(ne,A)]}))),R=[],N=new Set,U=[];for(let ce of this.accessibleLocators){let ne=this.storedPackages.get(ce);if(typeof ne>"u")throw new Error("Assertion failed: The locator should have been registered");let te=E.get(ne.locatorHash);if(typeof te>"u")throw new Error("Assertion failed: The fetch result should have been registered");let Ee=[],Re=H=>{Ee.push(H)},dt=this.tryWorkspaceByLocator(ne);if(dt!==null){let H=[],{scripts:at}=dt.manifest;for(let Qe of["preinstall","install","postinstall"])at.has(Qe)&&H.push({type:0,script:Qe});try{for(let[Qe,ke]of w)if(Qe.supportsPackage(ne,h)&&(await ke.installPackage(ne,te,{holdFetchResult:Re})).buildRequest!==null)throw new Error("Assertion failed: Linkers can't return build directives for workspaces; this responsibility befalls to the Yarn core")}finally{Ee.length===0?te.releaseFs?.():R.push(Uc(Ee).catch(()=>{}).then(()=>{te.releaseFs?.()}))}let Te=J.join(te.packageFs.getRealPath(),te.prefixPath);v.set(ne.locatorHash,Te),!jc(ne)&&H.length>0&&b.set(ne.locatorHash,{buildDirectives:H,buildLocations:[Te]})}else{let H=p.find(Qe=>Qe.supportsPackage(ne,h));if(!H)throw new zt(12,`${jr(this.configuration,ne)} isn't supported by any available linker`);let at=w.get(H);if(!at)throw new Error("Assertion failed: The installer should have been registered");let Te;try{Te=await at.installPackage(ne,te,{holdFetchResult:Re})}finally{Ee.length===0?te.releaseFs?.():R.push(Uc(Ee).then(()=>{}).then(()=>{te.releaseFs?.()}))}I.set(ne.locatorHash,H),v.set(ne.locatorHash,Te.packageLocation),Te.buildRequest&&Te.packageLocation&&(Te.buildRequest.skipped?(N.add(ne.locatorHash),this.skippedBuilds.has(ne.locatorHash)||U.push([ne,Te.buildRequest.explain])):b.set(ne.locatorHash,{buildDirectives:Te.buildRequest.directives,buildLocations:[Te.packageLocation]}))}}let V=new Map;for(let ce of this.accessibleLocators){let ne=this.storedPackages.get(ce);if(!ne)throw new Error("Assertion failed: The locator should have been registered");let te=this.tryWorkspaceByLocator(ne)!==null,Ee=async(Re,dt)=>{let H=v.get(ne.locatorHash);if(typeof H>"u")throw new Error(`Assertion failed: The package (${jr(this.configuration,ne)}) should have been registered`);let at=[];for(let Te of ne.dependencies.values()){let Qe=this.storedResolutions.get(Te.descriptorHash);if(typeof Qe>"u")throw new Error(`Assertion failed: The resolution (${jn(this.configuration,Te)}, from ${jr(this.configuration,ne)})should have been registered`);let ke=this.storedPackages.get(Qe);if(typeof ke>"u")throw new Error(`Assertion failed: The package (${Qe}, resolved from ${jn(this.configuration,Te)}) should have been registered`);let He=this.tryWorkspaceByLocator(ke)===null?I.get(Qe):null;if(typeof He>"u")throw new Error(`Assertion failed: The package (${Qe}, resolved from ${jn(this.configuration,Te)}) should have been registered`);He===Re||He===null?v.get(ke.locatorHash)!==null&&at.push([Te,ke]):!te&&H!==null&&Gy(V,Qe).push(H)}H!==null&&await dt.attachInternalDependencies(ne,at)};if(te)for(let[Re,dt]of w)Re.supportsPackage(ne,h)&&await Ee(Re,dt);else{let Re=I.get(ne.locatorHash);if(!Re)throw new Error("Assertion failed: The linker should have been found");let dt=w.get(Re);if(!dt)throw new Error("Assertion failed: The installer should have been registered");await Ee(Re,dt)}}for(let[ce,ne]of V){let te=this.storedPackages.get(ce);if(!te)throw new Error("Assertion failed: The package should have been registered");let Ee=I.get(te.locatorHash);if(!Ee)throw new Error("Assertion failed: The linker should have been found");let Re=w.get(Ee);if(!Re)throw new Error("Assertion failed: The installer should have been registered");await Re.attachExternalDependents(te,ne)}let ee=new Map;for(let[ce,ne]of w){let te=await ne.finalizeInstall();for(let Ee of te?.records??[])Ee.buildRequest.skipped?(N.add(Ee.locator.locatorHash),this.skippedBuilds.has(Ee.locator.locatorHash)||U.push([Ee.locator,Ee.buildRequest.explain])):b.set(Ee.locator.locatorHash,{buildDirectives:Ee.buildRequest.directives,buildLocations:Ee.buildLocations});typeof te?.customData<"u"&&ee.set(ce.getCustomDataKey(),te.customData)}if(this.linkersCustomData=ee,await Uc(R),a==="skip-build")return;for(let[,ce]of ks(U,([ne])=>xa(ne)))ce(r);let le=new Set(this.storedPackages.keys()),fe=new Set(b.keys());for(let ce of fe)le.delete(ce);let de=(0,Zb.createHash)("sha512");de.update(process.versions.node),await this.configuration.triggerHook(ce=>ce.globalHashGeneration,this,ce=>{de.update("\0"),de.update(ce)});let ge=de.digest("hex"),oe=new Map,Be=ce=>{let ne=oe.get(ce.locatorHash);if(typeof ne<"u")return ne;let te=this.storedPackages.get(ce.locatorHash);if(typeof te>"u")throw new Error("Assertion failed: The package should have been registered");let Ee=(0,Zb.createHash)("sha512");Ee.update(ce.locatorHash),oe.set(ce.locatorHash,"<recursive>");for(let Re of te.dependencies.values()){let dt=this.storedResolutions.get(Re.descriptorHash);if(typeof dt>"u")throw new Error(`Assertion failed: The resolution (${jn(this.configuration,Re)}) should have been registered`);let H=this.storedPackages.get(dt);if(typeof H>"u")throw new Error("Assertion failed: The package should have been registered");Ee.update(Be(H))}return ne=Ee.digest("hex"),oe.set(ce.locatorHash,ne),ne},be=(ce,ne)=>{let te=(0,Zb.createHash)("sha512");te.update(ge),te.update(Be(ce));for(let Ee of ne)te.update(Ee);return te.digest("hex")},g=new Map,we=!1,Se=ce=>{let ne=new Set([ce.locatorHash]);for(let te of ne){let Ee=this.storedPackages.get(te);if(!Ee)throw new Error("Assertion failed: The package should have been registered");for(let Re of Ee.dependencies.values()){let dt=this.storedResolutions.get(Re.descriptorHash);if(!dt)throw new Error(`Assertion failed: The resolution (${jn(this.configuration,Re)}) should have been registered`);if(dt!==ce.locatorHash&&fe.has(dt))return!1;let H=this.storedPackages.get(dt);if(!H)throw new Error("Assertion failed: The package should have been registered");let at=this.tryWorkspaceByLocator(H);if(at){if(at.anchoredLocator.locatorHash!==ce.locatorHash&&fe.has(at.anchoredLocator.locatorHash))return!1;ne.add(at.anchoredLocator.locatorHash)}ne.add(dt)}}return!0};for(;fe.size>0;){let ce=fe.size,ne=[];for(let te of fe){let Ee=this.storedPackages.get(te);if(!Ee)throw new Error("Assertion failed: The package should have been registered");if(!Se(Ee))continue;let Re=b.get(Ee.locatorHash);if(!Re)throw new Error("Assertion failed: The build directive should have been registered");let dt=be(Ee,Re.buildLocations);if(this.storedBuildState.get(Ee.locatorHash)===dt){g.set(Ee.locatorHash,dt),fe.delete(te);continue}we||(await this.persistInstallStateFile(),we=!0),this.storedBuildState.has(Ee.locatorHash)?r.reportInfo(8,`${jr(this.configuration,Ee)} must be rebuilt because its dependency tree changed`):r.reportInfo(7,`${jr(this.configuration,Ee)} must be built because it never has been before or the last one failed`);let H=Re.buildLocations.map(async at=>{if(!J.isAbsolute(at))throw new Error(`Assertion failed: Expected the build location to be absolute (not ${at})`);for(let Te of Re.buildDirectives){let Qe=`# This file contains the result of Yarn building a package (${xa(Ee)}) -`;switch(Te.type){case 0:Qe+=`# Script name: ${Te.script} -`;break;case 1:Qe+=`# Script code: ${Te.script} -`;break}let ke=null;if(!await ae.mktempPromise(async Ne=>{let Ve=J.join(Ne,"build.log"),{stdout:je,stderr:x}=this.configuration.getSubprocessStreams(Ve,{header:Qe,prefix:jr(this.configuration,Ee),report:r}),C;try{switch(Te.type){case 0:C=await Gx(Ee,Te.script,[],{cwd:at,project:this,stdin:ke,stdout:je,stderr:x});break;case 1:C=await EU(Ee,Te.script,[],{cwd:at,project:this,stdin:ke,stdout:je,stderr:x});break}}catch(F){x.write(F.stack),C=1}if(je.end(),x.end(),C===0)return!0;ae.detachTemp(Ne);let P=`${jr(this.configuration,Ee)} couldn't be built successfully (exit code ${_t(this.configuration,C,Et.NUMBER)}, logs can be found here: ${_t(this.configuration,Ve,Et.PATH)})`,y=this.optionalBuilds.has(Ee.locatorHash);return y?r.reportInfo(9,P):r.reportError(9,P),Gce&&r.reportFold(Ae.fromPortablePath(Ve),ae.readFileSync(Ve,"utf8")),y}))return!1}return!0});ne.push(...H,Promise.allSettled(H).then(at=>{fe.delete(te),at.every(Te=>Te.status==="fulfilled"&&Te.value===!0)&&g.set(Ee.locatorHash,dt)}))}if(await Uc(ne),ce===fe.size){let te=Array.from(fe).map(Ee=>{let Re=this.storedPackages.get(Ee);if(!Re)throw new Error("Assertion failed: The package should have been registered");return jr(this.configuration,Re)}).join(", ");r.reportError(3,`Some packages have circular dependencies that make their build order unsatisfiable - as a result they won't be built (affected packages are: ${te})`);break}}this.storedBuildState=g,this.skippedBuilds=N}async installWithNewReport(t,r){return(await Nt.start({configuration:this.configuration,json:t.json,stdout:t.stdout,forceSectionAlignment:!0,includeLogs:!t.json&&!t.quiet,includeVersion:!0},async a=>{await this.install({...r,report:a})})).exitCode()}async install(t){let r=this.configuration.get("nodeLinker");Ke.telemetry?.reportInstall(r);let o=!1;if(await t.report.startTimerPromise("Project validation",{skipIfEmpty:!0},async()=>{await this.configuration.triggerHook(h=>h.validateProject,this,{reportWarning:(h,w)=>{t.report.reportWarning(h,w)},reportError:(h,w)=>{t.report.reportError(h,w),o=!0}})}),o)return;for(let h of this.configuration.packageExtensions.values())for(let[,w]of h)for(let I of w)I.status="inactive";let a=J.join(this.cwd,gr.lockfile),n=null;if(t.immutable)try{n=await ae.readFilePromise(a,"utf8")}catch(h){throw h.code==="ENOENT"?new zt(28,"The lockfile would have been created by this install, which is explicitly forbidden."):h}await t.report.startTimerPromise("Resolution step",async()=>{await this.resolveEverything(t)}),await t.report.startTimerPromise("Post-resolution validation",{skipIfEmpty:!0},async()=>{hAt(this,t.report);for(let[,h]of this.configuration.packageExtensions)for(let[,w]of h)for(let I of w)if(I.userProvided){let v=_t(this.configuration,I,Et.PACKAGE_EXTENSION);switch(I.status){case"inactive":t.report.reportWarning(68,`${v}: No matching package in the dependency tree; you may not need this rule anymore.`);break;case"redundant":t.report.reportWarning(69,`${v}: This rule seems redundant when applied on the original package; the extension may have been applied upstream.`);break}}if(n!==null){let h=Mg(n,this.generateLockfile());if(h!==n){let w=lpe(a,a,n,h,void 0,void 0,{maxEditLength:100});if(w){t.report.reportSeparator();for(let I of w.hunks){t.report.reportInfo(null,`@@ -${I.oldStart},${I.oldLines} +${I.newStart},${I.newLines} @@`);for(let v of I.lines)v.startsWith("+")?t.report.reportError(28,_t(this.configuration,v,Et.ADDED)):v.startsWith("-")?t.report.reportError(28,_t(this.configuration,v,Et.REMOVED)):t.report.reportInfo(null,_t(this.configuration,v,"grey"))}t.report.reportSeparator()}throw new zt(28,"The lockfile would have been modified by this install, which is explicitly forbidden.")}}});for(let h of this.configuration.packageExtensions.values())for(let[,w]of h)for(let I of w)I.userProvided&&I.status==="active"&&Ke.telemetry?.reportPackageExtension(yd(I,Et.PACKAGE_EXTENSION));await t.report.startTimerPromise("Fetch step",async()=>{await this.fetchEverything(t)});let u=t.immutable?[...new Set(this.configuration.get("immutablePatterns"))].sort():[],A=await Promise.all(u.map(async h=>NP(h,{cwd:this.cwd})));(typeof t.persistProject>"u"||t.persistProject)&&await this.persist(),await t.report.startTimerPromise("Link step",async()=>{if(t.mode==="update-lockfile"){t.report.reportWarning(73,`Skipped due to ${_t(this.configuration,"mode=update-lockfile",Et.CODE)}`);return}await this.linkEverything(t);let h=await Promise.all(u.map(async w=>NP(w,{cwd:this.cwd})));for(let w=0;w<u.length;++w)A[w]!==h[w]&&t.report.reportError(64,`The checksum for ${u[w]} has been modified by this install, which is explicitly forbidden.`)}),await this.persistInstallStateFile();let p=!1;await t.report.startTimerPromise("Post-install validation",{skipIfEmpty:!0},async()=>{await this.configuration.triggerHook(h=>h.validateProjectAfterInstall,this,{reportWarning:(h,w)=>{t.report.reportWarning(h,w)},reportError:(h,w)=>{t.report.reportError(h,w),p=!0}})}),!p&&await this.configuration.triggerHook(h=>h.afterAllInstalled,this,t)}generateLockfile(){let t=new Map;for(let[n,u]of this.storedResolutions.entries()){let A=t.get(u);A||t.set(u,A=new Set),A.add(n)}let r={},{cacheKey:o}=Nr.getCacheKey(this.configuration);r.__metadata={version:tQ,cacheKey:o};for(let[n,u]of t.entries()){let A=this.originalPackages.get(n);if(!A)continue;let p=[];for(let b of u){let E=this.storedDescriptors.get(b);if(!E)throw new Error("Assertion failed: The descriptor should have been registered");p.push(E)}let h=p.map(b=>Pa(b)).sort().join(", "),w=new Ot;w.version=A.linkType==="HARD"?A.version:"0.0.0-use.local",w.languageName=A.languageName,w.dependencies=new Map(A.dependencies),w.peerDependencies=new Map(A.peerDependencies),w.dependenciesMeta=new Map(A.dependenciesMeta),w.peerDependenciesMeta=new Map(A.peerDependenciesMeta),w.bin=new Map(A.bin);let I,v=this.storedChecksums.get(A.locatorHash);if(typeof v<"u"){let b=v.indexOf("/");if(b===-1)throw new Error("Assertion failed: Expected the checksum to reference its cache key");let E=v.slice(0,b),R=v.slice(b+1);E===o?I=R:I=v}r[h]={...w.exportTo({},{compatibilityMode:!1}),linkType:A.linkType.toLowerCase(),resolution:xa(A),checksum:I,conditions:A.conditions||void 0}}return`${[`# This file is generated by running "yarn install" inside your project. -`,`# Manual changes might be lost - proceed with caution! -`].join("")} -`+Ba(r)}async persistLockfile(){let t=J.join(this.cwd,gr.lockfile),r="";try{r=await ae.readFilePromise(t,"utf8")}catch{}let o=this.generateLockfile(),a=Mg(r,o);a!==r&&(await ae.writeFilePromise(t,a),this.lockFileChecksum=Ype(a),this.lockfileNeedsRefresh=!1)}async persistInstallStateFile(){let t=[];for(let u of Object.values(v_))t.push(...u);let r=(0,$b.default)(this,t),o=D_.default.serialize(r),a=Fs(o);if(this.installStateChecksum===a)return;let n=this.configuration.get("installStatePath");await ae.mkdirPromise(J.dirname(n),{recursive:!0}),await ae.writeFilePromise(n,await AAt(o)),this.installStateChecksum=a}async restoreInstallState({restoreLinkersCustomData:t=!0,restoreResolutions:r=!0,restoreBuildState:o=!0}={}){let a=this.configuration.get("installStatePath"),n;try{let u=await fAt(await ae.readFilePromise(a));n=D_.default.deserialize(u),this.installStateChecksum=Fs(u)}catch{r&&await this.applyLightResolution();return}t&&typeof n.linkersCustomData<"u"&&(this.linkersCustomData=n.linkersCustomData),o&&Object.assign(this,(0,$b.default)(n,v_.restoreBuildState)),r&&(n.lockFileChecksum===this.lockFileChecksum?Object.assign(this,(0,$b.default)(n,v_.restoreResolutions)):await this.applyLightResolution())}async applyLightResolution(){await this.resolveEverything({lockfileOnly:!0,report:new ki}),await this.persistInstallStateFile()}async persist(){let t=(0,eQ.default)(4);await Promise.all([this.persistLockfile(),...this.workspaces.map(r=>t(()=>r.persistManifest()))])}async cacheCleanup({cache:t,report:r}){if(this.configuration.get("enableGlobalCache"))return null;let o=new Set([".gitignore"]);if(!EM(t.cwd,this.cwd)||!await ae.existsPromise(t.cwd))return null;let a=[];for(let u of await ae.readdirPromise(t.cwd)){if(o.has(u))continue;let A=J.resolve(t.cwd,u);t.markedFiles.has(A)||(t.immutable?r.reportError(56,`${_t(this.configuration,J.basename(A),"magenta")} appears to be unused and would be marked for deletion, but the cache is immutable`):a.push(ae.lstatPromise(A).then(async p=>(await ae.removePromise(A),p.size))))}if(a.length===0)return null;let n=await Promise.all(a);return{count:a.length,size:n.reduce((u,A)=>u+A,0)}}}});function gAt(e){let o=Math.floor(e.timeNow/864e5),a=e.updateInterval*864e5,n=e.state.lastUpdate??e.timeNow+a+Math.floor(a*e.randomInitialInterval),u=n+a,A=e.state.lastTips??o*864e5,p=A+864e5+8*36e5-e.timeZone,h=u<=e.timeNow,w=p<=e.timeNow,I=null;return(h||w||!e.state.lastUpdate||!e.state.lastTips)&&(I={},I.lastUpdate=h?e.timeNow:n,I.lastTips=A,I.blocks=h?{}:e.state.blocks,I.displayedTips=e.state.displayedTips),{nextState:I,triggerUpdate:h,triggerTips:w,nextTips:w?o*864e5:A}}var lw,Jpe=yt(()=>{St();T1();rh();wx();jl();Qf();lw=class{constructor(t,r){this.values=new Map;this.hits=new Map;this.enumerators=new Map;this.nextTips=0;this.displayedTips=[];this.shouldCommitTips=!1;this.configuration=t;let o=this.getRegistryPath();this.isNew=!ae.existsSync(o),this.shouldShowTips=!1,this.sendReport(r),this.startBuffer()}commitTips(){this.shouldShowTips&&(this.shouldCommitTips=!0)}selectTip(t){let r=new Set(this.displayedTips),o=A=>A&&en?bf(en,A):!1,a=t.map((A,p)=>p).filter(A=>t[A]&&o(t[A]?.selector));if(a.length===0)return null;let n=a.filter(A=>!r.has(A));if(n.length===0){let A=Math.floor(a.length*.2);this.displayedTips=A>0?this.displayedTips.slice(-A):[],n=a.filter(p=>!r.has(p))}let u=n[Math.floor(Math.random()*n.length)];return this.displayedTips.push(u),this.commitTips(),t[u]}reportVersion(t){this.reportValue("version",t.replace(/-git\..*/,"-git"))}reportCommandName(t){this.reportValue("commandName",t||"<none>")}reportPluginName(t){this.reportValue("pluginName",t)}reportProject(t){this.reportEnumerator("projectCount",t)}reportInstall(t){this.reportHit("installCount",t)}reportPackageExtension(t){this.reportValue("packageExtension",t)}reportWorkspaceCount(t){this.reportValue("workspaceCount",String(t))}reportDependencyCount(t){this.reportValue("dependencyCount",String(t))}reportValue(t,r){dd(this.values,t).add(r)}reportEnumerator(t,r){dd(this.enumerators,t).add(Fs(r))}reportHit(t,r="*"){let o=Yy(this.hits,t),a=_c(o,r,()=>0);o.set(r,a+1)}getRegistryPath(){let t=this.configuration.get("globalFolder");return J.join(t,"telemetry.json")}sendReport(t){let r=this.getRegistryPath(),o;try{o=ae.readJsonSync(r)}catch{o={}}let{nextState:a,triggerUpdate:n,triggerTips:u,nextTips:A}=gAt({state:o,timeNow:Date.now(),timeZone:new Date().getTimezoneOffset()*60*1e3,randomInitialInterval:Math.random(),updateInterval:this.configuration.get("telemetryInterval")});if(this.nextTips=A,this.displayedTips=o.displayedTips??[],a!==null)try{ae.mkdirSync(J.dirname(r),{recursive:!0}),ae.writeJsonSync(r,a)}catch{return!1}if(u&&this.configuration.get("enableTips")&&(this.shouldShowTips=!0),n){let p=o.blocks??{};if(Object.keys(p).length===0){let h=`https://browser-http-intake.logs.datadoghq.eu/v1/input/${t}?ddsource=yarn`,w=I=>L4(h,I,{configuration:this.configuration}).catch(()=>{});for(let[I,v]of Object.entries(o.blocks??{})){if(Object.keys(v).length===0)continue;let b=v;b.userId=I,b.reportType="primary";for(let N of Object.keys(b.enumerators??{}))b.enumerators[N]=b.enumerators[N].length;w(b);let E=new Map,R=20;for(let[N,U]of Object.entries(b.values))U.length>0&&E.set(N,U.slice(0,R));for(;E.size>0;){let N={};N.userId=I,N.reportType="secondary",N.metrics={};for(let[U,V]of E)N.metrics[U]=V.shift(),V.length===0&&E.delete(U);w(N)}}}}return!0}applyChanges(){let t=this.getRegistryPath(),r;try{r=ae.readJsonSync(t)}catch{r={}}let o=this.configuration.get("telemetryUserId")??"*",a=r.blocks=r.blocks??{},n=a[o]=a[o]??{};for(let u of this.hits.keys()){let A=n.hits=n.hits??{},p=A[u]=A[u]??{};for(let[h,w]of this.hits.get(u))p[h]=(p[h]??0)+w}for(let u of["values","enumerators"])for(let A of this[u].keys()){let p=n[u]=n[u]??{};p[A]=[...new Set([...p[A]??[],...this[u].get(A)??[]])]}this.shouldCommitTips&&(r.lastTips=this.nextTips,r.displayedTips=this.displayedTips),ae.mkdirSync(J.dirname(t),{recursive:!0}),ae.writeJsonSync(t,r)}startBuffer(){process.on("exit",()=>{try{this.applyChanges()}catch{}})}}});var r2={};Jt(r2,{BuildDirectiveType:()=>Jb,CACHE_CHECKPOINT:()=>s_,CACHE_VERSION:()=>Kb,Cache:()=>Nr,Configuration:()=>Ke,DEFAULT_RC_FILENAME:()=>q4,FormatType:()=>Sle,InstallMode:()=>fl,LEGACY_PLUGINS:()=>I1,LOCKFILE_VERSION:()=>tQ,LegacyMigrationResolver:()=>iw,LightReport:()=>fA,LinkType:()=>Vy,LockfileResolver:()=>sw,Manifest:()=>Ot,MessageName:()=>wr,MultiFetcher:()=>pE,PackageExtensionStatus:()=>IL,PackageExtensionType:()=>CL,Project:()=>Pt,ProjectLookup:()=>W4,Report:()=>Zs,ReportError:()=>zt,SettingsType:()=>B1,StreamReport:()=>Nt,TAG_REGEXP:()=>kE,TelemetryManager:()=>lw,ThrowReport:()=>ki,VirtualFetcher:()=>hE,WindowsLinkType:()=>Px,Workspace:()=>aw,WorkspaceFetcher:()=>dE,WorkspaceResolver:()=>Vn,YarnVersion:()=>en,execUtils:()=>Mr,folderUtils:()=>qP,formatUtils:()=>ye,hashUtils:()=>wn,httpUtils:()=>tn,miscUtils:()=>_e,nodeUtils:()=>cs,parseMessageName:()=>uS,scriptUtils:()=>cn,semverUtils:()=>Qr,stringifyMessageName:()=>Ju,structUtils:()=>G,tgzUtils:()=>zi,treeUtils:()=>ra});var Ye=yt(()=>{Ix();GP();ql();rh();wx();jl();C1();BU();Qf();xo();Jfe();tpe();o_();v1();v1();npe();a_();ipe();l_();AE();AS();lM();Kpe();Yl();N1();Jpe();I_();uM();AM();Bd();B_();T1();yne()});var ehe=_((B_t,i2)=>{"use strict";var mAt=process.env.TERM_PROGRAM==="Hyper",yAt=process.platform==="win32",Xpe=process.platform==="linux",x_={ballotDisabled:"\u2612",ballotOff:"\u2610",ballotOn:"\u2611",bullet:"\u2022",bulletWhite:"\u25E6",fullBlock:"\u2588",heart:"\u2764",identicalTo:"\u2261",line:"\u2500",mark:"\u203B",middot:"\xB7",minus:"\uFF0D",multiplication:"\xD7",obelus:"\xF7",pencilDownRight:"\u270E",pencilRight:"\u270F",pencilUpRight:"\u2710",percent:"%",pilcrow2:"\u2761",pilcrow:"\xB6",plusMinus:"\xB1",section:"\xA7",starsOff:"\u2606",starsOn:"\u2605",upDownArrow:"\u2195"},Zpe=Object.assign({},x_,{check:"\u221A",cross:"\xD7",ellipsisLarge:"...",ellipsis:"...",info:"i",question:"?",questionSmall:"?",pointer:">",pointerSmall:"\xBB",radioOff:"( )",radioOn:"(*)",warning:"\u203C"}),$pe=Object.assign({},x_,{ballotCross:"\u2718",check:"\u2714",cross:"\u2716",ellipsisLarge:"\u22EF",ellipsis:"\u2026",info:"\u2139",question:"?",questionFull:"\uFF1F",questionSmall:"\uFE56",pointer:Xpe?"\u25B8":"\u276F",pointerSmall:Xpe?"\u2023":"\u203A",radioOff:"\u25EF",radioOn:"\u25C9",warning:"\u26A0"});i2.exports=yAt&&!mAt?Zpe:$pe;Reflect.defineProperty(i2.exports,"common",{enumerable:!1,value:x_});Reflect.defineProperty(i2.exports,"windows",{enumerable:!1,value:Zpe});Reflect.defineProperty(i2.exports,"other",{enumerable:!1,value:$pe})});var Vc=_((v_t,b_)=>{"use strict";var EAt=e=>e!==null&&typeof e=="object"&&!Array.isArray(e),wAt=/[\u001b\u009b][[\]#;?()]*(?:(?:(?:[^\W_]*;?[^\W_]*)\u0007)|(?:(?:[0-9]{1,4}(;[0-9]{0,4})*)?[~0-9=<>cf-nqrtyA-PRZ]))/g,the=()=>{let e={enabled:!0,visible:!0,styles:{},keys:{}};"FORCE_COLOR"in process.env&&(e.enabled=process.env.FORCE_COLOR!=="0");let t=n=>{let u=n.open=`\x1B[${n.codes[0]}m`,A=n.close=`\x1B[${n.codes[1]}m`,p=n.regex=new RegExp(`\\u001b\\[${n.codes[1]}m`,"g");return n.wrap=(h,w)=>{h.includes(A)&&(h=h.replace(p,A+u));let I=u+h+A;return w?I.replace(/\r*\n/g,`${A}$&${u}`):I},n},r=(n,u,A)=>typeof n=="function"?n(u):n.wrap(u,A),o=(n,u)=>{if(n===""||n==null)return"";if(e.enabled===!1)return n;if(e.visible===!1)return"";let A=""+n,p=A.includes(` -`),h=u.length;for(h>0&&u.includes("unstyle")&&(u=[...new Set(["unstyle",...u])].reverse());h-- >0;)A=r(e.styles[u[h]],A,p);return A},a=(n,u,A)=>{e.styles[n]=t({name:n,codes:u}),(e.keys[A]||(e.keys[A]=[])).push(n),Reflect.defineProperty(e,n,{configurable:!0,enumerable:!0,set(h){e.alias(n,h)},get(){let h=w=>o(w,h.stack);return Reflect.setPrototypeOf(h,e),h.stack=this.stack?this.stack.concat(n):[n],h}})};return a("reset",[0,0],"modifier"),a("bold",[1,22],"modifier"),a("dim",[2,22],"modifier"),a("italic",[3,23],"modifier"),a("underline",[4,24],"modifier"),a("inverse",[7,27],"modifier"),a("hidden",[8,28],"modifier"),a("strikethrough",[9,29],"modifier"),a("black",[30,39],"color"),a("red",[31,39],"color"),a("green",[32,39],"color"),a("yellow",[33,39],"color"),a("blue",[34,39],"color"),a("magenta",[35,39],"color"),a("cyan",[36,39],"color"),a("white",[37,39],"color"),a("gray",[90,39],"color"),a("grey",[90,39],"color"),a("bgBlack",[40,49],"bg"),a("bgRed",[41,49],"bg"),a("bgGreen",[42,49],"bg"),a("bgYellow",[43,49],"bg"),a("bgBlue",[44,49],"bg"),a("bgMagenta",[45,49],"bg"),a("bgCyan",[46,49],"bg"),a("bgWhite",[47,49],"bg"),a("blackBright",[90,39],"bright"),a("redBright",[91,39],"bright"),a("greenBright",[92,39],"bright"),a("yellowBright",[93,39],"bright"),a("blueBright",[94,39],"bright"),a("magentaBright",[95,39],"bright"),a("cyanBright",[96,39],"bright"),a("whiteBright",[97,39],"bright"),a("bgBlackBright",[100,49],"bgBright"),a("bgRedBright",[101,49],"bgBright"),a("bgGreenBright",[102,49],"bgBright"),a("bgYellowBright",[103,49],"bgBright"),a("bgBlueBright",[104,49],"bgBright"),a("bgMagentaBright",[105,49],"bgBright"),a("bgCyanBright",[106,49],"bgBright"),a("bgWhiteBright",[107,49],"bgBright"),e.ansiRegex=wAt,e.hasColor=e.hasAnsi=n=>(e.ansiRegex.lastIndex=0,typeof n=="string"&&n!==""&&e.ansiRegex.test(n)),e.alias=(n,u)=>{let A=typeof u=="string"?e[u]:u;if(typeof A!="function")throw new TypeError("Expected alias to be the name of an existing color (string) or a function");A.stack||(Reflect.defineProperty(A,"name",{value:n}),e.styles[n]=A,A.stack=[n]),Reflect.defineProperty(e,n,{configurable:!0,enumerable:!0,set(p){e.alias(n,p)},get(){let p=h=>o(h,p.stack);return Reflect.setPrototypeOf(p,e),p.stack=this.stack?this.stack.concat(A.stack):A.stack,p}})},e.theme=n=>{if(!EAt(n))throw new TypeError("Expected theme to be an object");for(let u of Object.keys(n))e.alias(u,n[u]);return e},e.alias("unstyle",n=>typeof n=="string"&&n!==""?(e.ansiRegex.lastIndex=0,n.replace(e.ansiRegex,"")):""),e.alias("noop",n=>n),e.none=e.clear=e.noop,e.stripColor=e.unstyle,e.symbols=ehe(),e.define=a,e};b_.exports=the();b_.exports.create=the});var No=_(rn=>{"use strict";var CAt=Object.prototype.toString,rc=Vc(),rhe=!1,Q_=[],nhe={yellow:"blue",cyan:"red",green:"magenta",black:"white",blue:"yellow",red:"cyan",magenta:"green",white:"black"};rn.longest=(e,t)=>e.reduce((r,o)=>Math.max(r,t?o[t].length:o.length),0);rn.hasColor=e=>!!e&&rc.hasColor(e);var nQ=rn.isObject=e=>e!==null&&typeof e=="object"&&!Array.isArray(e);rn.nativeType=e=>CAt.call(e).slice(8,-1).toLowerCase().replace(/\s/g,"");rn.isAsyncFn=e=>rn.nativeType(e)==="asyncfunction";rn.isPrimitive=e=>e!=null&&typeof e!="object"&&typeof e!="function";rn.resolve=(e,t,...r)=>typeof t=="function"?t.call(e,...r):t;rn.scrollDown=(e=[])=>[...e.slice(1),e[0]];rn.scrollUp=(e=[])=>[e.pop(),...e];rn.reorder=(e=[])=>{let t=e.slice();return t.sort((r,o)=>r.index>o.index?1:r.index<o.index?-1:0),t};rn.swap=(e,t,r)=>{let o=e.length,a=r===o?0:r<0?o-1:r,n=e[t];e[t]=e[a],e[a]=n};rn.width=(e,t=80)=>{let r=e&&e.columns?e.columns:t;return e&&typeof e.getWindowSize=="function"&&(r=e.getWindowSize()[0]),process.platform==="win32"?r-1:r};rn.height=(e,t=20)=>{let r=e&&e.rows?e.rows:t;return e&&typeof e.getWindowSize=="function"&&(r=e.getWindowSize()[1]),r};rn.wordWrap=(e,t={})=>{if(!e)return e;typeof t=="number"&&(t={width:t});let{indent:r="",newline:o=` -`+r,width:a=80}=t,n=(o+r).match(/[^\S\n]/g)||[];a-=n.length;let u=`.{1,${a}}([\\s\\u200B]+|$)|[^\\s\\u200B]+?([\\s\\u200B]+|$)`,A=e.trim(),p=new RegExp(u,"g"),h=A.match(p)||[];return h=h.map(w=>w.replace(/\n$/,"")),t.padEnd&&(h=h.map(w=>w.padEnd(a," "))),t.padStart&&(h=h.map(w=>w.padStart(a," "))),r+h.join(o)};rn.unmute=e=>{let t=e.stack.find(o=>rc.keys.color.includes(o));return t?rc[t]:e.stack.find(o=>o.slice(2)==="bg")?rc[t.slice(2)]:o=>o};rn.pascal=e=>e?e[0].toUpperCase()+e.slice(1):"";rn.inverse=e=>{if(!e||!e.stack)return e;let t=e.stack.find(o=>rc.keys.color.includes(o));if(t){let o=rc["bg"+rn.pascal(t)];return o?o.black:e}let r=e.stack.find(o=>o.slice(0,2)==="bg");return r?rc[r.slice(2).toLowerCase()]||e:rc.none};rn.complement=e=>{if(!e||!e.stack)return e;let t=e.stack.find(o=>rc.keys.color.includes(o)),r=e.stack.find(o=>o.slice(0,2)==="bg");if(t&&!r)return rc[nhe[t]||t];if(r){let o=r.slice(2).toLowerCase(),a=nhe[o];return a&&rc["bg"+rn.pascal(a)]||e}return rc.none};rn.meridiem=e=>{let t=e.getHours(),r=e.getMinutes(),o=t>=12?"pm":"am";t=t%12;let a=t===0?12:t,n=r<10?"0"+r:r;return a+":"+n+" "+o};rn.set=(e={},t="",r)=>t.split(".").reduce((o,a,n,u)=>{let A=u.length-1>n?o[a]||{}:r;return!rn.isObject(A)&&n<u.length-1&&(A={}),o[a]=A},e);rn.get=(e={},t="",r)=>{let o=e[t]==null?t.split(".").reduce((a,n)=>a&&a[n],e):e[t];return o??r};rn.mixin=(e,t)=>{if(!nQ(e))return t;if(!nQ(t))return e;for(let r of Object.keys(t)){let o=Object.getOwnPropertyDescriptor(t,r);if(o.hasOwnProperty("value"))if(e.hasOwnProperty(r)&&nQ(o.value)){let a=Object.getOwnPropertyDescriptor(e,r);nQ(a.value)?e[r]=rn.merge({},e[r],t[r]):Reflect.defineProperty(e,r,o)}else Reflect.defineProperty(e,r,o);else Reflect.defineProperty(e,r,o)}return e};rn.merge=(...e)=>{let t={};for(let r of e)rn.mixin(t,r);return t};rn.mixinEmitter=(e,t)=>{let r=t.constructor.prototype;for(let o of Object.keys(r)){let a=r[o];typeof a=="function"?rn.define(e,o,a.bind(t)):rn.define(e,o,a)}};rn.onExit=e=>{let t=(r,o)=>{rhe||(rhe=!0,Q_.forEach(a=>a()),r===!0&&process.exit(128+o))};Q_.length===0&&(process.once("SIGTERM",t.bind(null,!0,15)),process.once("SIGINT",t.bind(null,!0,2)),process.once("exit",t)),Q_.push(e)};rn.define=(e,t,r)=>{Reflect.defineProperty(e,t,{value:r})};rn.defineExport=(e,t,r)=>{let o;Reflect.defineProperty(e,t,{enumerable:!0,configurable:!0,set(a){o=a},get(){return o?o():r()}})}});var ihe=_(fw=>{"use strict";fw.ctrl={a:"first",b:"backward",c:"cancel",d:"deleteForward",e:"last",f:"forward",g:"reset",i:"tab",k:"cutForward",l:"reset",n:"newItem",m:"cancel",j:"submit",p:"search",r:"remove",s:"save",u:"undo",w:"cutLeft",x:"toggleCursor",v:"paste"};fw.shift={up:"shiftUp",down:"shiftDown",left:"shiftLeft",right:"shiftRight",tab:"prev"};fw.fn={up:"pageUp",down:"pageDown",left:"pageLeft",right:"pageRight",delete:"deleteForward"};fw.option={b:"backward",f:"forward",d:"cutRight",left:"cutLeft",up:"altUp",down:"altDown"};fw.keys={pageup:"pageUp",pagedown:"pageDown",home:"home",end:"end",cancel:"cancel",delete:"deleteForward",backspace:"delete",down:"down",enter:"submit",escape:"cancel",left:"left",space:"space",number:"number",return:"submit",right:"right",tab:"next",up:"up"}});var ahe=_((P_t,ohe)=>{"use strict";var she=Ie("readline"),IAt=ihe(),BAt=/^(?:\x1b)([a-zA-Z0-9])$/,vAt=/^(?:\x1b+)(O|N|\[|\[\[)(?:(\d+)(?:;(\d+))?([~^$])|(?:1;)?(\d+)?([a-zA-Z]))/,DAt={OP:"f1",OQ:"f2",OR:"f3",OS:"f4","[11~":"f1","[12~":"f2","[13~":"f3","[14~":"f4","[[A":"f1","[[B":"f2","[[C":"f3","[[D":"f4","[[E":"f5","[15~":"f5","[17~":"f6","[18~":"f7","[19~":"f8","[20~":"f9","[21~":"f10","[23~":"f11","[24~":"f12","[A":"up","[B":"down","[C":"right","[D":"left","[E":"clear","[F":"end","[H":"home",OA:"up",OB:"down",OC:"right",OD:"left",OE:"clear",OF:"end",OH:"home","[1~":"home","[2~":"insert","[3~":"delete","[4~":"end","[5~":"pageup","[6~":"pagedown","[[5~":"pageup","[[6~":"pagedown","[7~":"home","[8~":"end","[a":"up","[b":"down","[c":"right","[d":"left","[e":"clear","[2$":"insert","[3$":"delete","[5$":"pageup","[6$":"pagedown","[7$":"home","[8$":"end",Oa:"up",Ob:"down",Oc:"right",Od:"left",Oe:"clear","[2^":"insert","[3^":"delete","[5^":"pageup","[6^":"pagedown","[7^":"home","[8^":"end","[Z":"tab"};function SAt(e){return["[a","[b","[c","[d","[e","[2$","[3$","[5$","[6$","[7$","[8$","[Z"].includes(e)}function PAt(e){return["Oa","Ob","Oc","Od","Oe","[2^","[3^","[5^","[6^","[7^","[8^"].includes(e)}var iQ=(e="",t={})=>{let r,o={name:t.name,ctrl:!1,meta:!1,shift:!1,option:!1,sequence:e,raw:e,...t};if(Buffer.isBuffer(e)?e[0]>127&&e[1]===void 0?(e[0]-=128,e="\x1B"+String(e)):e=String(e):e!==void 0&&typeof e!="string"?e=String(e):e||(e=o.sequence||""),o.sequence=o.sequence||e||o.name,e==="\r")o.raw=void 0,o.name="return";else if(e===` -`)o.name="enter";else if(e===" ")o.name="tab";else if(e==="\b"||e==="\x7F"||e==="\x1B\x7F"||e==="\x1B\b")o.name="backspace",o.meta=e.charAt(0)==="\x1B";else if(e==="\x1B"||e==="\x1B\x1B")o.name="escape",o.meta=e.length===2;else if(e===" "||e==="\x1B ")o.name="space",o.meta=e.length===2;else if(e<="")o.name=String.fromCharCode(e.charCodeAt(0)+"a".charCodeAt(0)-1),o.ctrl=!0;else if(e.length===1&&e>="0"&&e<="9")o.name="number";else if(e.length===1&&e>="a"&&e<="z")o.name=e;else if(e.length===1&&e>="A"&&e<="Z")o.name=e.toLowerCase(),o.shift=!0;else if(r=BAt.exec(e))o.meta=!0,o.shift=/^[A-Z]$/.test(r[1]);else if(r=vAt.exec(e)){let a=[...e];a[0]==="\x1B"&&a[1]==="\x1B"&&(o.option=!0);let n=[r[1],r[2],r[4],r[6]].filter(Boolean).join(""),u=(r[3]||r[5]||1)-1;o.ctrl=!!(u&4),o.meta=!!(u&10),o.shift=!!(u&1),o.code=n,o.name=DAt[n],o.shift=SAt(n)||o.shift,o.ctrl=PAt(n)||o.ctrl}return o};iQ.listen=(e={},t)=>{let{stdin:r}=e;if(!r||r!==process.stdin&&!r.isTTY)throw new Error("Invalid stream passed");let o=she.createInterface({terminal:!0,input:r});she.emitKeypressEvents(r,o);let a=(A,p)=>t(A,iQ(A,p),o),n=r.isRaw;return r.isTTY&&r.setRawMode(!0),r.on("keypress",a),o.resume(),()=>{r.isTTY&&r.setRawMode(n),r.removeListener("keypress",a),o.pause(),o.close()}};iQ.action=(e,t,r)=>{let o={...IAt,...r};return t.ctrl?(t.action=o.ctrl[t.name],t):t.option&&o.option?(t.action=o.option[t.name],t):t.shift?(t.action=o.shift[t.name],t):(t.action=o.keys[t.name],t)};ohe.exports=iQ});var che=_((x_t,lhe)=>{"use strict";lhe.exports=e=>{e.timers=e.timers||{};let t=e.options.timers;if(!!t)for(let r of Object.keys(t)){let o=t[r];typeof o=="number"&&(o={interval:o}),xAt(e,r,o)}};function xAt(e,t,r={}){let o=e.timers[t]={name:t,start:Date.now(),ms:0,tick:0},a=r.interval||120;o.frames=r.frames||[],o.loading=!0;let n=setInterval(()=>{o.ms=Date.now()-o.start,o.tick++,e.render()},a);return o.stop=()=>{o.loading=!1,clearInterval(n)},Reflect.defineProperty(o,"interval",{value:n}),e.once("close",()=>o.stop()),o.stop}});var Ahe=_((b_t,uhe)=>{"use strict";var{define:bAt,width:QAt}=No(),k_=class{constructor(t){let r=t.options;bAt(this,"_prompt",t),this.type=t.type,this.name=t.name,this.message="",this.header="",this.footer="",this.error="",this.hint="",this.input="",this.cursor=0,this.index=0,this.lines=0,this.tick=0,this.prompt="",this.buffer="",this.width=QAt(r.stdout||process.stdout),Object.assign(this,r),this.name=this.name||this.message,this.message=this.message||this.name,this.symbols=t.symbols,this.styles=t.styles,this.required=new Set,this.cancelled=!1,this.submitted=!1}clone(){let t={...this};return t.status=this.status,t.buffer=Buffer.from(t.buffer),delete t.clone,t}set color(t){this._color=t}get color(){let t=this.prompt.styles;if(this.cancelled)return t.cancelled;if(this.submitted)return t.submitted;let r=this._color||t[this.status];return typeof r=="function"?r:t.pending}set loading(t){this._loading=t}get loading(){return typeof this._loading=="boolean"?this._loading:this.loadingChoices?"choices":!1}get status(){return this.cancelled?"cancelled":this.submitted?"submitted":"pending"}};uhe.exports=k_});var phe=_((Q_t,fhe)=>{"use strict";var F_=No(),eo=Vc(),R_={default:eo.noop,noop:eo.noop,set inverse(e){this._inverse=e},get inverse(){return this._inverse||F_.inverse(this.primary)},set complement(e){this._complement=e},get complement(){return this._complement||F_.complement(this.primary)},primary:eo.cyan,success:eo.green,danger:eo.magenta,strong:eo.bold,warning:eo.yellow,muted:eo.dim,disabled:eo.gray,dark:eo.dim.gray,underline:eo.underline,set info(e){this._info=e},get info(){return this._info||this.primary},set em(e){this._em=e},get em(){return this._em||this.primary.underline},set heading(e){this._heading=e},get heading(){return this._heading||this.muted.underline},set pending(e){this._pending=e},get pending(){return this._pending||this.primary},set submitted(e){this._submitted=e},get submitted(){return this._submitted||this.success},set cancelled(e){this._cancelled=e},get cancelled(){return this._cancelled||this.danger},set typing(e){this._typing=e},get typing(){return this._typing||this.dim},set placeholder(e){this._placeholder=e},get placeholder(){return this._placeholder||this.primary.dim},set highlight(e){this._highlight=e},get highlight(){return this._highlight||this.inverse}};R_.merge=(e={})=>{e.styles&&typeof e.styles.enabled=="boolean"&&(eo.enabled=e.styles.enabled),e.styles&&typeof e.styles.visible=="boolean"&&(eo.visible=e.styles.visible);let t=F_.merge({},R_,e.styles);delete t.merge;for(let r of Object.keys(eo))t.hasOwnProperty(r)||Reflect.defineProperty(t,r,{get:()=>eo[r]});for(let r of Object.keys(eo.styles))t.hasOwnProperty(r)||Reflect.defineProperty(t,r,{get:()=>eo[r]});return t};fhe.exports=R_});var ghe=_((k_t,hhe)=>{"use strict";var T_=process.platform==="win32",Kf=Vc(),kAt=No(),N_={...Kf.symbols,upDownDoubleArrow:"\u21D5",upDownDoubleArrow2:"\u2B0D",upDownArrow:"\u2195",asterisk:"*",asterism:"\u2042",bulletWhite:"\u25E6",electricArrow:"\u2301",ellipsisLarge:"\u22EF",ellipsisSmall:"\u2026",fullBlock:"\u2588",identicalTo:"\u2261",indicator:Kf.symbols.check,leftAngle:"\u2039",mark:"\u203B",minus:"\u2212",multiplication:"\xD7",obelus:"\xF7",percent:"%",pilcrow:"\xB6",pilcrow2:"\u2761",pencilUpRight:"\u2710",pencilDownRight:"\u270E",pencilRight:"\u270F",plus:"+",plusMinus:"\xB1",pointRight:"\u261E",rightAngle:"\u203A",section:"\xA7",hexagon:{off:"\u2B21",on:"\u2B22",disabled:"\u2B22"},ballot:{on:"\u2611",off:"\u2610",disabled:"\u2612"},stars:{on:"\u2605",off:"\u2606",disabled:"\u2606"},folder:{on:"\u25BC",off:"\u25B6",disabled:"\u25B6"},prefix:{pending:Kf.symbols.question,submitted:Kf.symbols.check,cancelled:Kf.symbols.cross},separator:{pending:Kf.symbols.pointerSmall,submitted:Kf.symbols.middot,cancelled:Kf.symbols.middot},radio:{off:T_?"( )":"\u25EF",on:T_?"(*)":"\u25C9",disabled:T_?"(|)":"\u24BE"},numbers:["\u24EA","\u2460","\u2461","\u2462","\u2463","\u2464","\u2465","\u2466","\u2467","\u2468","\u2469","\u246A","\u246B","\u246C","\u246D","\u246E","\u246F","\u2470","\u2471","\u2472","\u2473","\u3251","\u3252","\u3253","\u3254","\u3255","\u3256","\u3257","\u3258","\u3259","\u325A","\u325B","\u325C","\u325D","\u325E","\u325F","\u32B1","\u32B2","\u32B3","\u32B4","\u32B5","\u32B6","\u32B7","\u32B8","\u32B9","\u32BA","\u32BB","\u32BC","\u32BD","\u32BE","\u32BF"]};N_.merge=e=>{let t=kAt.merge({},Kf.symbols,N_,e.symbols);return delete t.merge,t};hhe.exports=N_});var mhe=_((F_t,dhe)=>{"use strict";var FAt=phe(),RAt=ghe(),TAt=No();dhe.exports=e=>{e.options=TAt.merge({},e.options.theme,e.options),e.symbols=RAt.merge(e.options),e.styles=FAt.merge(e.options)}});var Ihe=_((whe,Che)=>{"use strict";var yhe=process.env.TERM_PROGRAM==="Apple_Terminal",NAt=Vc(),L_=No(),zc=Che.exports=whe,vi="\x1B[",Ehe="\x07",O_=!1,Sh=zc.code={bell:Ehe,beep:Ehe,beginning:`${vi}G`,down:`${vi}J`,esc:vi,getPosition:`${vi}6n`,hide:`${vi}?25l`,line:`${vi}2K`,lineEnd:`${vi}K`,lineStart:`${vi}1K`,restorePosition:vi+(yhe?"8":"u"),savePosition:vi+(yhe?"7":"s"),screen:`${vi}2J`,show:`${vi}?25h`,up:`${vi}1J`},qd=zc.cursor={get hidden(){return O_},hide(){return O_=!0,Sh.hide},show(){return O_=!1,Sh.show},forward:(e=1)=>`${vi}${e}C`,backward:(e=1)=>`${vi}${e}D`,nextLine:(e=1)=>`${vi}E`.repeat(e),prevLine:(e=1)=>`${vi}F`.repeat(e),up:(e=1)=>e?`${vi}${e}A`:"",down:(e=1)=>e?`${vi}${e}B`:"",right:(e=1)=>e?`${vi}${e}C`:"",left:(e=1)=>e?`${vi}${e}D`:"",to(e,t){return t?`${vi}${t+1};${e+1}H`:`${vi}${e+1}G`},move(e=0,t=0){let r="";return r+=e<0?qd.left(-e):e>0?qd.right(e):"",r+=t<0?qd.up(-t):t>0?qd.down(t):"",r},restore(e={}){let{after:t,cursor:r,initial:o,input:a,prompt:n,size:u,value:A}=e;if(o=L_.isPrimitive(o)?String(o):"",a=L_.isPrimitive(a)?String(a):"",A=L_.isPrimitive(A)?String(A):"",u){let p=zc.cursor.up(u)+zc.cursor.to(n.length),h=a.length-r;return h>0&&(p+=zc.cursor.left(h)),p}if(A||t){let p=!a&&!!o?-o.length:-a.length+r;return t&&(p-=t.length),a===""&&o&&!n.includes(o)&&(p+=o.length),zc.cursor.move(p)}}},M_=zc.erase={screen:Sh.screen,up:Sh.up,down:Sh.down,line:Sh.line,lineEnd:Sh.lineEnd,lineStart:Sh.lineStart,lines(e){let t="";for(let r=0;r<e;r++)t+=zc.erase.line+(r<e-1?zc.cursor.up(1):"");return e&&(t+=zc.code.beginning),t}};zc.clear=(e="",t=process.stdout.columns)=>{if(!t)return M_.line+qd.to(0);let r=n=>[...NAt.unstyle(n)].length,o=e.split(/\r?\n/),a=0;for(let n of o)a+=1+Math.floor(Math.max(r(n)-1,0)/t);return(M_.line+qd.prevLine()).repeat(a-1)+M_.line+qd.to(0)}});var pw=_((R_t,vhe)=>{"use strict";var LAt=Ie("events"),Bhe=Vc(),U_=ahe(),OAt=che(),MAt=Ahe(),UAt=mhe(),Ra=No(),Gd=Ihe(),s2=class extends LAt{constructor(t={}){super(),this.name=t.name,this.type=t.type,this.options=t,UAt(this),OAt(this),this.state=new MAt(this),this.initial=[t.initial,t.default].find(r=>r!=null),this.stdout=t.stdout||process.stdout,this.stdin=t.stdin||process.stdin,this.scale=t.scale||1,this.term=this.options.term||process.env.TERM_PROGRAM,this.margin=HAt(this.options.margin),this.setMaxListeners(0),_At(this)}async keypress(t,r={}){this.keypressed=!0;let o=U_.action(t,U_(t,r),this.options.actions);this.state.keypress=o,this.emit("keypress",t,o),this.emit("state",this.state.clone());let a=this.options[o.action]||this[o.action]||this.dispatch;if(typeof a=="function")return await a.call(this,t,o);this.alert()}alert(){delete this.state.alert,this.options.show===!1?this.emit("alert"):this.stdout.write(Gd.code.beep)}cursorHide(){this.stdout.write(Gd.cursor.hide()),Ra.onExit(()=>this.cursorShow())}cursorShow(){this.stdout.write(Gd.cursor.show())}write(t){!t||(this.stdout&&this.state.show!==!1&&this.stdout.write(t),this.state.buffer+=t)}clear(t=0){let r=this.state.buffer;this.state.buffer="",!(!r&&!t||this.options.show===!1)&&this.stdout.write(Gd.cursor.down(t)+Gd.clear(r,this.width))}restore(){if(this.state.closed||this.options.show===!1)return;let{prompt:t,after:r,rest:o}=this.sections(),{cursor:a,initial:n="",input:u="",value:A=""}=this,p=this.state.size=o.length,h={after:r,cursor:a,initial:n,input:u,prompt:t,size:p,value:A},w=Gd.cursor.restore(h);w&&this.stdout.write(w)}sections(){let{buffer:t,input:r,prompt:o}=this.state;o=Bhe.unstyle(o);let a=Bhe.unstyle(t),n=a.indexOf(o),u=a.slice(0,n),p=a.slice(n).split(` -`),h=p[0],w=p[p.length-1],v=(o+(r?" "+r:"")).length,b=v<h.length?h.slice(v+1):"";return{header:u,prompt:h,after:b,rest:p.slice(1),last:w}}async submit(){this.state.submitted=!0,this.state.validating=!0,this.options.onSubmit&&await this.options.onSubmit.call(this,this.name,this.value,this);let t=this.state.error||await this.validate(this.value,this.state);if(t!==!0){let r=` -`+this.symbols.pointer+" ";typeof t=="string"?r+=t.trim():r+="Invalid input",this.state.error=` -`+this.styles.danger(r),this.state.submitted=!1,await this.render(),await this.alert(),this.state.validating=!1,this.state.error=void 0;return}this.state.validating=!1,await this.render(),await this.close(),this.value=await this.result(this.value),this.emit("submit",this.value)}async cancel(t){this.state.cancelled=this.state.submitted=!0,await this.render(),await this.close(),typeof this.options.onCancel=="function"&&await this.options.onCancel.call(this,this.name,this.value,this),this.emit("cancel",await this.error(t))}async close(){this.state.closed=!0;try{let t=this.sections(),r=Math.ceil(t.prompt.length/this.width);t.rest&&this.write(Gd.cursor.down(t.rest.length)),this.write(` -`.repeat(r))}catch{}this.emit("close")}start(){!this.stop&&this.options.show!==!1&&(this.stop=U_.listen(this,this.keypress.bind(this)),this.once("close",this.stop))}async skip(){return this.skipped=this.options.skip===!0,typeof this.options.skip=="function"&&(this.skipped=await this.options.skip.call(this,this.name,this.value)),this.skipped}async initialize(){let{format:t,options:r,result:o}=this;if(this.format=()=>t.call(this,this.value),this.result=()=>o.call(this,this.value),typeof r.initial=="function"&&(this.initial=await r.initial.call(this,this)),typeof r.onRun=="function"&&await r.onRun.call(this,this),typeof r.onSubmit=="function"){let a=r.onSubmit.bind(this),n=this.submit.bind(this);delete this.options.onSubmit,this.submit=async()=>(await a(this.name,this.value,this),n())}await this.start(),await this.render()}render(){throw new Error("expected prompt to have a custom render method")}run(){return new Promise(async(t,r)=>{if(this.once("submit",t),this.once("cancel",r),await this.skip())return this.render=()=>{},this.submit();await this.initialize(),this.emit("run")})}async element(t,r,o){let{options:a,state:n,symbols:u,timers:A}=this,p=A&&A[t];n.timer=p;let h=a[t]||n[t]||u[t],w=r&&r[t]!=null?r[t]:await h;if(w==="")return w;let I=await this.resolve(w,n,r,o);return!I&&r&&r[t]?this.resolve(h,n,r,o):I}async prefix(){let t=await this.element("prefix")||this.symbols,r=this.timers&&this.timers.prefix,o=this.state;return o.timer=r,Ra.isObject(t)&&(t=t[o.status]||t.pending),Ra.hasColor(t)?t:(this.styles[o.status]||this.styles.pending)(t)}async message(){let t=await this.element("message");return Ra.hasColor(t)?t:this.styles.strong(t)}async separator(){let t=await this.element("separator")||this.symbols,r=this.timers&&this.timers.separator,o=this.state;o.timer=r;let a=t[o.status]||t.pending||o.separator,n=await this.resolve(a,o);return Ra.isObject(n)&&(n=n[o.status]||n.pending),Ra.hasColor(n)?n:this.styles.muted(n)}async pointer(t,r){let o=await this.element("pointer",t,r);if(typeof o=="string"&&Ra.hasColor(o))return o;if(o){let a=this.styles,n=this.index===r,u=n?a.primary:h=>h,A=await this.resolve(o[n?"on":"off"]||o,this.state),p=Ra.hasColor(A)?A:u(A);return n?p:" ".repeat(A.length)}}async indicator(t,r){let o=await this.element("indicator",t,r);if(typeof o=="string"&&Ra.hasColor(o))return o;if(o){let a=this.styles,n=t.enabled===!0,u=n?a.success:a.dark,A=o[n?"on":"off"]||o;return Ra.hasColor(A)?A:u(A)}return""}body(){return null}footer(){if(this.state.status==="pending")return this.element("footer")}header(){if(this.state.status==="pending")return this.element("header")}async hint(){if(this.state.status==="pending"&&!this.isValue(this.state.input)){let t=await this.element("hint");return Ra.hasColor(t)?t:this.styles.muted(t)}}error(t){return this.state.submitted?"":t||this.state.error}format(t){return t}result(t){return t}validate(t){return this.options.required===!0?this.isValue(t):!0}isValue(t){return t!=null&&t!==""}resolve(t,...r){return Ra.resolve(this,t,...r)}get base(){return s2.prototype}get style(){return this.styles[this.state.status]}get height(){return this.options.rows||Ra.height(this.stdout,25)}get width(){return this.options.columns||Ra.width(this.stdout,80)}get size(){return{width:this.width,height:this.height}}set cursor(t){this.state.cursor=t}get cursor(){return this.state.cursor}set input(t){this.state.input=t}get input(){return this.state.input}set value(t){this.state.value=t}get value(){let{input:t,value:r}=this.state,o=[r,t].find(this.isValue.bind(this));return this.isValue(o)?o:this.initial}static get prompt(){return t=>new this(t).run()}};function _At(e){let t=a=>e[a]===void 0||typeof e[a]=="function",r=["actions","choices","initial","margin","roles","styles","symbols","theme","timers","value"],o=["body","footer","error","header","hint","indicator","message","prefix","separator","skip"];for(let a of Object.keys(e.options)){if(r.includes(a)||/^on[A-Z]/.test(a))continue;let n=e.options[a];typeof n=="function"&&t(a)?o.includes(a)||(e[a]=n.bind(e)):typeof e[a]!="function"&&(e[a]=n)}}function HAt(e){typeof e=="number"&&(e=[e,e,e,e]);let t=[].concat(e||[]),r=a=>a%2===0?` -`:" ",o=[];for(let a=0;a<4;a++){let n=r(a);t[a]?o.push(n.repeat(t[a])):o.push("")}return o}vhe.exports=s2});var Phe=_((T_t,She)=>{"use strict";var jAt=No(),Dhe={default(e,t){return t},checkbox(e,t){throw new Error("checkbox role is not implemented yet")},editable(e,t){throw new Error("editable role is not implemented yet")},expandable(e,t){throw new Error("expandable role is not implemented yet")},heading(e,t){return t.disabled="",t.indicator=[t.indicator," "].find(r=>r!=null),t.message=t.message||"",t},input(e,t){throw new Error("input role is not implemented yet")},option(e,t){return Dhe.default(e,t)},radio(e,t){throw new Error("radio role is not implemented yet")},separator(e,t){return t.disabled="",t.indicator=[t.indicator," "].find(r=>r!=null),t.message=t.message||e.symbols.line.repeat(5),t},spacer(e,t){return t}};She.exports=(e,t={})=>{let r=jAt.merge({},Dhe,t.roles);return r[e]||r.default}});var o2=_((N_t,Qhe)=>{"use strict";var qAt=Vc(),GAt=pw(),YAt=Phe(),sQ=No(),{reorder:__,scrollUp:WAt,scrollDown:KAt,isObject:xhe,swap:JAt}=sQ,H_=class extends GAt{constructor(t){super(t),this.cursorHide(),this.maxSelected=t.maxSelected||1/0,this.multiple=t.multiple||!1,this.initial=t.initial||0,this.delay=t.delay||0,this.longest=0,this.num=""}async initialize(){typeof this.options.initial=="function"&&(this.initial=await this.options.initial.call(this)),await this.reset(!0),await super.initialize()}async reset(){let{choices:t,initial:r,autofocus:o,suggest:a}=this.options;if(this.state._choices=[],this.state.choices=[],this.choices=await Promise.all(await this.toChoices(t)),this.choices.forEach(n=>n.enabled=!1),typeof a!="function"&&this.selectable.length===0)throw new Error("At least one choice must be selectable");xhe(r)&&(r=Object.keys(r)),Array.isArray(r)?(o!=null&&(this.index=this.findIndex(o)),r.forEach(n=>this.enable(this.find(n))),await this.render()):(o!=null&&(r=o),typeof r=="string"&&(r=this.findIndex(r)),typeof r=="number"&&r>-1&&(this.index=Math.max(0,Math.min(r,this.choices.length)),this.enable(this.find(this.index)))),this.isDisabled(this.focused)&&await this.down()}async toChoices(t,r){this.state.loadingChoices=!0;let o=[],a=0,n=async(u,A)=>{typeof u=="function"&&(u=await u.call(this)),u instanceof Promise&&(u=await u);for(let p=0;p<u.length;p++){let h=u[p]=await this.toChoice(u[p],a++,A);o.push(h),h.choices&&await n(h.choices,h)}return o};return n(t,r).then(u=>(this.state.loadingChoices=!1,u))}async toChoice(t,r,o){if(typeof t=="function"&&(t=await t.call(this,this)),t instanceof Promise&&(t=await t),typeof t=="string"&&(t={name:t}),t.normalized)return t;t.normalized=!0;let a=t.value;if(t=YAt(t.role,this.options)(this,t),typeof t.disabled=="string"&&!t.hint&&(t.hint=t.disabled,t.disabled=!0),t.disabled===!0&&t.hint==null&&(t.hint="(disabled)"),t.index!=null)return t;t.name=t.name||t.key||t.title||t.value||t.message,t.message=t.message||t.name||"",t.value=[t.value,t.name].find(this.isValue.bind(this)),t.input="",t.index=r,t.cursor=0,sQ.define(t,"parent",o),t.level=o?o.level+1:1,t.indent==null&&(t.indent=o?o.indent+" ":t.indent||""),t.path=o?o.path+"."+t.name:t.name,t.enabled=!!(this.multiple&&!this.isDisabled(t)&&(t.enabled||this.isSelected(t))),this.isDisabled(t)||(this.longest=Math.max(this.longest,qAt.unstyle(t.message).length));let u={...t};return t.reset=(A=u.input,p=u.value)=>{for(let h of Object.keys(u))t[h]=u[h];t.input=A,t.value=p},a==null&&typeof t.initial=="function"&&(t.input=await t.initial.call(this,this.state,t,r)),t}async onChoice(t,r){this.emit("choice",t,r,this),typeof t.onChoice=="function"&&await t.onChoice.call(this,this.state,t,r)}async addChoice(t,r,o){let a=await this.toChoice(t,r,o);return this.choices.push(a),this.index=this.choices.length-1,this.limit=this.choices.length,a}async newItem(t,r,o){let a={name:"New choice name?",editable:!0,newChoice:!0,...t},n=await this.addChoice(a,r,o);return n.updateChoice=()=>{delete n.newChoice,n.name=n.message=n.input,n.input="",n.cursor=0},this.render()}indent(t){return t.indent==null?t.level>1?" ".repeat(t.level-1):"":t.indent}dispatch(t,r){if(this.multiple&&this[r.name])return this[r.name]();this.alert()}focus(t,r){return typeof r!="boolean"&&(r=t.enabled),r&&!t.enabled&&this.selected.length>=this.maxSelected?this.alert():(this.index=t.index,t.enabled=r&&!this.isDisabled(t),t)}space(){return this.multiple?(this.toggle(this.focused),this.render()):this.alert()}a(){if(this.maxSelected<this.choices.length)return this.alert();let t=this.selectable.every(r=>r.enabled);return this.choices.forEach(r=>r.enabled=!t),this.render()}i(){return this.choices.length-this.selected.length>this.maxSelected?this.alert():(this.choices.forEach(t=>t.enabled=!t.enabled),this.render())}g(t=this.focused){return this.choices.some(r=>!!r.parent)?(this.toggle(t.parent&&!t.choices?t.parent:t),this.render()):this.a()}toggle(t,r){if(!t.enabled&&this.selected.length>=this.maxSelected)return this.alert();typeof r!="boolean"&&(r=!t.enabled),t.enabled=r,t.choices&&t.choices.forEach(a=>this.toggle(a,r));let o=t.parent;for(;o;){let a=o.choices.filter(n=>this.isDisabled(n));o.enabled=a.every(n=>n.enabled===!0),o=o.parent}return bhe(this,this.choices),this.emit("toggle",t,this),t}enable(t){return this.selected.length>=this.maxSelected?this.alert():(t.enabled=!this.isDisabled(t),t.choices&&t.choices.forEach(this.enable.bind(this)),t)}disable(t){return t.enabled=!1,t.choices&&t.choices.forEach(this.disable.bind(this)),t}number(t){this.num+=t;let r=o=>{let a=Number(o);if(a>this.choices.length-1)return this.alert();let n=this.focused,u=this.choices.find(A=>a===A.index);if(!u.enabled&&this.selected.length>=this.maxSelected)return this.alert();if(this.visible.indexOf(u)===-1){let A=__(this.choices),p=A.indexOf(u);if(n.index>p){let h=A.slice(p,p+this.limit),w=A.filter(I=>!h.includes(I));this.choices=h.concat(w)}else{let h=p-this.limit+1;this.choices=A.slice(h).concat(A.slice(0,h))}}return this.index=this.choices.indexOf(u),this.toggle(this.focused),this.render()};return clearTimeout(this.numberTimeout),new Promise(o=>{let a=this.choices.length,n=this.num,u=(A=!1,p)=>{clearTimeout(this.numberTimeout),A&&(p=r(n)),this.num="",o(p)};if(n==="0"||n.length===1&&Number(n+"0")>a)return u(!0);if(Number(n)>a)return u(!1,this.alert());this.numberTimeout=setTimeout(()=>u(!0),this.delay)})}home(){return this.choices=__(this.choices),this.index=0,this.render()}end(){let t=this.choices.length-this.limit,r=__(this.choices);return this.choices=r.slice(t).concat(r.slice(0,t)),this.index=this.limit-1,this.render()}first(){return this.index=0,this.render()}last(){return this.index=this.visible.length-1,this.render()}prev(){return this.visible.length<=1?this.alert():this.up()}next(){return this.visible.length<=1?this.alert():this.down()}right(){return this.cursor>=this.input.length?this.alert():(this.cursor++,this.render())}left(){return this.cursor<=0?this.alert():(this.cursor--,this.render())}up(){let t=this.choices.length,r=this.visible.length,o=this.index;return this.options.scroll===!1&&o===0?this.alert():t>r&&o===0?this.scrollUp():(this.index=(o-1%t+t)%t,this.isDisabled()?this.up():this.render())}down(){let t=this.choices.length,r=this.visible.length,o=this.index;return this.options.scroll===!1&&o===r-1?this.alert():t>r&&o===r-1?this.scrollDown():(this.index=(o+1)%t,this.isDisabled()?this.down():this.render())}scrollUp(t=0){return this.choices=WAt(this.choices),this.index=t,this.isDisabled()?this.up():this.render()}scrollDown(t=this.visible.length-1){return this.choices=KAt(this.choices),this.index=t,this.isDisabled()?this.down():this.render()}async shiftUp(){if(this.options.sort===!0){this.sorting=!0,this.swap(this.index-1),await this.up(),this.sorting=!1;return}return this.scrollUp(this.index)}async shiftDown(){if(this.options.sort===!0){this.sorting=!0,this.swap(this.index+1),await this.down(),this.sorting=!1;return}return this.scrollDown(this.index)}pageUp(){return this.visible.length<=1?this.alert():(this.limit=Math.max(this.limit-1,0),this.index=Math.min(this.limit-1,this.index),this._limit=this.limit,this.isDisabled()?this.up():this.render())}pageDown(){return this.visible.length>=this.choices.length?this.alert():(this.index=Math.max(0,this.index),this.limit=Math.min(this.limit+1,this.choices.length),this._limit=this.limit,this.isDisabled()?this.down():this.render())}swap(t){JAt(this.choices,this.index,t)}isDisabled(t=this.focused){return t&&["disabled","collapsed","hidden","completing","readonly"].some(o=>t[o]===!0)?!0:t&&t.role==="heading"}isEnabled(t=this.focused){if(Array.isArray(t))return t.every(r=>this.isEnabled(r));if(t.choices){let r=t.choices.filter(o=>!this.isDisabled(o));return t.enabled&&r.every(o=>this.isEnabled(o))}return t.enabled&&!this.isDisabled(t)}isChoice(t,r){return t.name===r||t.index===Number(r)}isSelected(t){return Array.isArray(this.initial)?this.initial.some(r=>this.isChoice(t,r)):this.isChoice(t,this.initial)}map(t=[],r="value"){return[].concat(t||[]).reduce((o,a)=>(o[a]=this.find(a,r),o),{})}filter(t,r){let a=typeof t=="function"?t:(A,p)=>[A.name,p].includes(t),u=(this.options.multiple?this.state._choices:this.choices).filter(a);return r?u.map(A=>A[r]):u}find(t,r){if(xhe(t))return r?t[r]:t;let a=typeof t=="function"?t:(u,A)=>[u.name,A].includes(t),n=this.choices.find(a);if(n)return r?n[r]:n}findIndex(t){return this.choices.indexOf(this.find(t))}async submit(){let t=this.focused;if(!t)return this.alert();if(t.newChoice)return t.input?(t.updateChoice(),this.render()):this.alert();if(this.choices.some(u=>u.newChoice))return this.alert();let{reorder:r,sort:o}=this.options,a=this.multiple===!0,n=this.selected;return n===void 0?this.alert():(Array.isArray(n)&&r!==!1&&o!==!0&&(n=sQ.reorder(n)),this.value=a?n.map(u=>u.name):n.name,super.submit())}set choices(t=[]){this.state._choices=this.state._choices||[],this.state.choices=t;for(let r of t)this.state._choices.some(o=>o.name===r.name)||this.state._choices.push(r);if(!this._initial&&this.options.initial){this._initial=!0;let r=this.initial;if(typeof r=="string"||typeof r=="number"){let o=this.find(r);o&&(this.initial=o.index,this.focus(o,!0))}}}get choices(){return bhe(this,this.state.choices||[])}set visible(t){this.state.visible=t}get visible(){return(this.state.visible||this.choices).slice(0,this.limit)}set limit(t){this.state.limit=t}get limit(){let{state:t,options:r,choices:o}=this,a=t.limit||this._limit||r.limit||o.length;return Math.min(a,this.height)}set value(t){super.value=t}get value(){return typeof super.value!="string"&&super.value===this.initial?this.input:super.value}set index(t){this.state.index=t}get index(){return Math.max(0,this.state?this.state.index:0)}get enabled(){return this.filter(this.isEnabled.bind(this))}get focused(){let t=this.choices[this.index];return t&&this.state.submitted&&this.multiple!==!0&&(t.enabled=!0),t}get selectable(){return this.choices.filter(t=>!this.isDisabled(t))}get selected(){return this.multiple?this.enabled:this.focused}};function bhe(e,t){if(t instanceof Promise)return t;if(typeof t=="function"){if(sQ.isAsyncFn(t))return t;t=t.call(e,e)}for(let r of t){if(Array.isArray(r.choices)){let o=r.choices.filter(a=>!e.isDisabled(a));r.enabled=o.every(a=>a.enabled===!0)}e.isDisabled(r)===!0&&delete r.enabled}return t}Qhe.exports=H_});var Ph=_((L_t,khe)=>{"use strict";var VAt=o2(),j_=No(),q_=class extends VAt{constructor(t){super(t),this.emptyError=this.options.emptyError||"No items were selected"}async dispatch(t,r){if(this.multiple)return this[r.name]?await this[r.name](t,r):await super.dispatch(t,r);this.alert()}separator(){if(this.options.separator)return super.separator();let t=this.styles.muted(this.symbols.ellipsis);return this.state.submitted?super.separator():t}pointer(t,r){return!this.multiple||this.options.pointer?super.pointer(t,r):""}indicator(t,r){return this.multiple?super.indicator(t,r):""}choiceMessage(t,r){let o=this.resolve(t.message,this.state,t,r);return t.role==="heading"&&!j_.hasColor(o)&&(o=this.styles.strong(o)),this.resolve(o,this.state,t,r)}choiceSeparator(){return":"}async renderChoice(t,r){await this.onChoice(t,r);let o=this.index===r,a=await this.pointer(t,r),n=await this.indicator(t,r)+(t.pad||""),u=await this.resolve(t.hint,this.state,t,r);u&&!j_.hasColor(u)&&(u=this.styles.muted(u));let A=this.indent(t),p=await this.choiceMessage(t,r),h=()=>[this.margin[3],A+a+n,p,this.margin[1],u].filter(Boolean).join(" ");return t.role==="heading"?h():t.disabled?(j_.hasColor(p)||(p=this.styles.disabled(p)),h()):(o&&(p=this.styles.em(p)),h())}async renderChoices(){if(this.state.loading==="choices")return this.styles.warning("Loading choices");if(this.state.submitted)return"";let t=this.visible.map(async(n,u)=>await this.renderChoice(n,u)),r=await Promise.all(t);r.length||r.push(this.styles.danger("No matching choices"));let o=this.margin[0]+r.join(` -`),a;return this.options.choicesHeader&&(a=await this.resolve(this.options.choicesHeader,this.state)),[a,o].filter(Boolean).join(` -`)}format(){return!this.state.submitted||this.state.cancelled?"":Array.isArray(this.selected)?this.selected.map(t=>this.styles.primary(t.name)).join(", "):this.styles.primary(this.selected.name)}async render(){let{submitted:t,size:r}=this.state,o="",a=await this.header(),n=await this.prefix(),u=await this.separator(),A=await this.message();this.options.promptLine!==!1&&(o=[n,A,u,""].join(" "),this.state.prompt=o);let p=await this.format(),h=await this.error()||await this.hint(),w=await this.renderChoices(),I=await this.footer();p&&(o+=p),h&&!o.includes(h)&&(o+=" "+h),t&&!p&&!w.trim()&&this.multiple&&this.emptyError!=null&&(o+=this.styles.danger(this.emptyError)),this.clear(r),this.write([a,o,w,I].filter(Boolean).join(` -`)),this.write(this.margin[2]),this.restore()}};khe.exports=q_});var Rhe=_((O_t,Fhe)=>{"use strict";var zAt=Ph(),XAt=(e,t)=>{let r=e.toLowerCase();return o=>{let n=o.toLowerCase().indexOf(r),u=t(o.slice(n,n+r.length));return n>=0?o.slice(0,n)+u+o.slice(n+r.length):o}},G_=class extends zAt{constructor(t){super(t),this.cursorShow()}moveCursor(t){this.state.cursor+=t}dispatch(t){return this.append(t)}space(t){return this.options.multiple?super.space(t):this.append(t)}append(t){let{cursor:r,input:o}=this.state;return this.input=o.slice(0,r)+t+o.slice(r),this.moveCursor(1),this.complete()}delete(){let{cursor:t,input:r}=this.state;return r?(this.input=r.slice(0,t-1)+r.slice(t),this.moveCursor(-1),this.complete()):this.alert()}deleteForward(){let{cursor:t,input:r}=this.state;return r[t]===void 0?this.alert():(this.input=`${r}`.slice(0,t)+`${r}`.slice(t+1),this.complete())}number(t){return this.append(t)}async complete(){this.completing=!0,this.choices=await this.suggest(this.input,this.state._choices),this.state.limit=void 0,this.index=Math.min(Math.max(this.visible.length-1,0),this.index),await this.render(),this.completing=!1}suggest(t=this.input,r=this.state._choices){if(typeof this.options.suggest=="function")return this.options.suggest.call(this,t,r);let o=t.toLowerCase();return r.filter(a=>a.message.toLowerCase().includes(o))}pointer(){return""}format(){if(!this.focused)return this.input;if(this.options.multiple&&this.state.submitted)return this.selected.map(t=>this.styles.primary(t.message)).join(", ");if(this.state.submitted){let t=this.value=this.input=this.focused.value;return this.styles.primary(t)}return this.input}async render(){if(this.state.status!=="pending")return super.render();let t=this.options.highlight?this.options.highlight.bind(this):this.styles.placeholder,r=XAt(this.input,t),o=this.choices;this.choices=o.map(a=>({...a,message:r(a.message)})),await super.render(),this.choices=o}submit(){return this.options.multiple&&(this.value=this.selected.map(t=>t.name)),super.submit()}};Fhe.exports=G_});var W_=_((M_t,The)=>{"use strict";var Y_=No();The.exports=(e,t={})=>{e.cursorHide();let{input:r="",initial:o="",pos:a,showCursor:n=!0,color:u}=t,A=u||e.styles.placeholder,p=Y_.inverse(e.styles.primary),h=R=>p(e.styles.black(R)),w=r,I=" ",v=h(I);if(e.blink&&e.blink.off===!0&&(h=R=>R,v=""),n&&a===0&&o===""&&r==="")return h(I);if(n&&a===0&&(r===o||r===""))return h(o[0])+A(o.slice(1));o=Y_.isPrimitive(o)?`${o}`:"",r=Y_.isPrimitive(r)?`${r}`:"";let b=o&&o.startsWith(r)&&o!==r,E=b?h(o[r.length]):v;if(a!==r.length&&n===!0&&(w=r.slice(0,a)+h(r[a])+r.slice(a+1),E=""),n===!1&&(E=""),b){let R=e.styles.unstyle(w+E);return w+E+A(o.slice(R.length))}return w+E}});var oQ=_((U_t,Nhe)=>{"use strict";var ZAt=Vc(),$At=Ph(),eft=W_(),K_=class extends $At{constructor(t){super({...t,multiple:!0}),this.type="form",this.initial=this.options.initial,this.align=[this.options.align,"right"].find(r=>r!=null),this.emptyError="",this.values={}}async reset(t){return await super.reset(),t===!0&&(this._index=this.index),this.index=this._index,this.values={},this.choices.forEach(r=>r.reset&&r.reset()),this.render()}dispatch(t){return!!t&&this.append(t)}append(t){let r=this.focused;if(!r)return this.alert();let{cursor:o,input:a}=r;return r.value=r.input=a.slice(0,o)+t+a.slice(o),r.cursor++,this.render()}delete(){let t=this.focused;if(!t||t.cursor<=0)return this.alert();let{cursor:r,input:o}=t;return t.value=t.input=o.slice(0,r-1)+o.slice(r),t.cursor--,this.render()}deleteForward(){let t=this.focused;if(!t)return this.alert();let{cursor:r,input:o}=t;if(o[r]===void 0)return this.alert();let a=`${o}`.slice(0,r)+`${o}`.slice(r+1);return t.value=t.input=a,this.render()}right(){let t=this.focused;return t?t.cursor>=t.input.length?this.alert():(t.cursor++,this.render()):this.alert()}left(){let t=this.focused;return t?t.cursor<=0?this.alert():(t.cursor--,this.render()):this.alert()}space(t,r){return this.dispatch(t,r)}number(t,r){return this.dispatch(t,r)}next(){let t=this.focused;if(!t)return this.alert();let{initial:r,input:o}=t;return r&&r.startsWith(o)&&o!==r?(t.value=t.input=r,t.cursor=t.value.length,this.render()):super.next()}prev(){let t=this.focused;return t?t.cursor===0?super.prev():(t.value=t.input="",t.cursor=0,this.render()):this.alert()}separator(){return""}format(t){return this.state.submitted?"":super.format(t)}pointer(){return""}indicator(t){return t.input?"\u29BF":"\u2299"}async choiceSeparator(t,r){let o=await this.resolve(t.separator,this.state,t,r)||":";return o?" "+this.styles.disabled(o):""}async renderChoice(t,r){await this.onChoice(t,r);let{state:o,styles:a}=this,{cursor:n,initial:u="",name:A,hint:p,input:h=""}=t,{muted:w,submitted:I,primary:v,danger:b}=a,E=p,R=this.index===r,N=t.validate||(()=>!0),U=await this.choiceSeparator(t,r),V=t.message;this.align==="right"&&(V=V.padStart(this.longest+1," ")),this.align==="left"&&(V=V.padEnd(this.longest+1," "));let ee=this.values[A]=h||u,le=h?"success":"dark";await N.call(t,ee,this.state)!==!0&&(le="danger");let fe=a[le],de=fe(await this.indicator(t,r))+(t.pad||""),ge=this.indent(t),oe=()=>[ge,de,V+U,h,E].filter(Boolean).join(" ");if(o.submitted)return V=ZAt.unstyle(V),h=I(h),E="",oe();if(t.format)h=await t.format.call(this,h,t,r);else{let Be=this.styles.muted;h=eft(this,{input:h,initial:u,pos:n,showCursor:R,color:Be})}return this.isValue(h)||(h=this.styles.muted(this.symbols.ellipsis)),t.result&&(this.values[A]=await t.result.call(this,ee,t,r)),R&&(V=v(V)),t.error?h+=(h?" ":"")+b(t.error.trim()):t.hint&&(h+=(h?" ":"")+w(t.hint.trim())),oe()}async submit(){return this.value=this.values,super.base.submit.call(this)}};Nhe.exports=K_});var J_=_((__t,Ohe)=>{"use strict";var tft=oQ(),rft=()=>{throw new Error("expected prompt to have a custom authenticate method")},Lhe=(e=rft)=>{class t extends tft{constructor(o){super(o)}async submit(){this.value=await e.call(this,this.values,this.state),super.base.submit.call(this)}static create(o){return Lhe(o)}}return t};Ohe.exports=Lhe()});var _he=_((H_t,Uhe)=>{"use strict";var nft=J_();function ift(e,t){return e.username===this.options.username&&e.password===this.options.password}var Mhe=(e=ift)=>{let t=[{name:"username",message:"username"},{name:"password",message:"password",format(o){return this.options.showPassword?o:(this.state.submitted?this.styles.primary:this.styles.muted)(this.symbols.asterisk.repeat(o.length))}}];class r extends nft.create(e){constructor(a){super({...a,choices:t})}static create(a){return Mhe(a)}}return r};Uhe.exports=Mhe()});var aQ=_((j_t,Hhe)=>{"use strict";var sft=pw(),{isPrimitive:oft,hasColor:aft}=No(),V_=class extends sft{constructor(t){super(t),this.cursorHide()}async initialize(){let t=await this.resolve(this.initial,this.state);this.input=await this.cast(t),await super.initialize()}dispatch(t){return this.isValue(t)?(this.input=t,this.submit()):this.alert()}format(t){let{styles:r,state:o}=this;return o.submitted?r.success(t):r.primary(t)}cast(t){return this.isTrue(t)}isTrue(t){return/^[ty1]/i.test(t)}isFalse(t){return/^[fn0]/i.test(t)}isValue(t){return oft(t)&&(this.isTrue(t)||this.isFalse(t))}async hint(){if(this.state.status==="pending"){let t=await this.element("hint");return aft(t)?t:this.styles.muted(t)}}async render(){let{input:t,size:r}=this.state,o=await this.prefix(),a=await this.separator(),n=await this.message(),u=this.styles.muted(this.default),A=[o,n,u,a].filter(Boolean).join(" ");this.state.prompt=A;let p=await this.header(),h=this.value=this.cast(t),w=await this.format(h),I=await this.error()||await this.hint(),v=await this.footer();I&&!A.includes(I)&&(w+=" "+I),A+=" "+w,this.clear(r),this.write([p,A,v].filter(Boolean).join(` -`)),this.restore()}set value(t){super.value=t}get value(){return this.cast(super.value)}};Hhe.exports=V_});var qhe=_((q_t,jhe)=>{"use strict";var lft=aQ(),z_=class extends lft{constructor(t){super(t),this.default=this.options.default||(this.initial?"(Y/n)":"(y/N)")}};jhe.exports=z_});var Yhe=_((G_t,Ghe)=>{"use strict";var cft=Ph(),uft=oQ(),hw=uft.prototype,X_=class extends cft{constructor(t){super({...t,multiple:!0}),this.align=[this.options.align,"left"].find(r=>r!=null),this.emptyError="",this.values={}}dispatch(t,r){let o=this.focused,a=o.parent||{};return!o.editable&&!a.editable&&(t==="a"||t==="i")?super[t]():hw.dispatch.call(this,t,r)}append(t,r){return hw.append.call(this,t,r)}delete(t,r){return hw.delete.call(this,t,r)}space(t){return this.focused.editable?this.append(t):super.space()}number(t){return this.focused.editable?this.append(t):super.number(t)}next(){return this.focused.editable?hw.next.call(this):super.next()}prev(){return this.focused.editable?hw.prev.call(this):super.prev()}async indicator(t,r){let o=t.indicator||"",a=t.editable?o:super.indicator(t,r);return await this.resolve(a,this.state,t,r)||""}indent(t){return t.role==="heading"?"":t.editable?" ":" "}async renderChoice(t,r){return t.indent="",t.editable?hw.renderChoice.call(this,t,r):super.renderChoice(t,r)}error(){return""}footer(){return this.state.error}async validate(){let t=!0;for(let r of this.choices){if(typeof r.validate!="function"||r.role==="heading")continue;let o=r.parent?this.value[r.parent.name]:this.value;if(r.editable?o=r.value===r.name?r.initial||"":r.value:this.isDisabled(r)||(o=r.enabled===!0),t=await r.validate(o,this.state),t!==!0)break}return t!==!0&&(this.state.error=typeof t=="string"?t:"Invalid Input"),t}submit(){if(this.focused.newChoice===!0)return super.submit();if(this.choices.some(t=>t.newChoice))return this.alert();this.value={};for(let t of this.choices){let r=t.parent?this.value[t.parent.name]:this.value;if(t.role==="heading"){this.value[t.name]={};continue}t.editable?r[t.name]=t.value===t.name?t.initial||"":t.value:this.isDisabled(t)||(r[t.name]=t.enabled===!0)}return this.base.submit.call(this)}};Ghe.exports=X_});var Yd=_((Y_t,Whe)=>{"use strict";var Aft=pw(),fft=W_(),{isPrimitive:pft}=No(),Z_=class extends Aft{constructor(t){super(t),this.initial=pft(this.initial)?String(this.initial):"",this.initial&&this.cursorHide(),this.state.prevCursor=0,this.state.clipboard=[]}async keypress(t,r={}){let o=this.state.prevKeypress;return this.state.prevKeypress=r,this.options.multiline===!0&&r.name==="return"&&(!o||o.name!=="return")?this.append(` -`,r):super.keypress(t,r)}moveCursor(t){this.cursor+=t}reset(){return this.input=this.value="",this.cursor=0,this.render()}dispatch(t,r){if(!t||r.ctrl||r.code)return this.alert();this.append(t)}append(t){let{cursor:r,input:o}=this.state;this.input=`${o}`.slice(0,r)+t+`${o}`.slice(r),this.moveCursor(String(t).length),this.render()}insert(t){this.append(t)}delete(){let{cursor:t,input:r}=this.state;if(t<=0)return this.alert();this.input=`${r}`.slice(0,t-1)+`${r}`.slice(t),this.moveCursor(-1),this.render()}deleteForward(){let{cursor:t,input:r}=this.state;if(r[t]===void 0)return this.alert();this.input=`${r}`.slice(0,t)+`${r}`.slice(t+1),this.render()}cutForward(){let t=this.cursor;if(this.input.length<=t)return this.alert();this.state.clipboard.push(this.input.slice(t)),this.input=this.input.slice(0,t),this.render()}cutLeft(){let t=this.cursor;if(t===0)return this.alert();let r=this.input.slice(0,t),o=this.input.slice(t),a=r.split(" ");this.state.clipboard.push(a.pop()),this.input=a.join(" "),this.cursor=this.input.length,this.input+=o,this.render()}paste(){if(!this.state.clipboard.length)return this.alert();this.insert(this.state.clipboard.pop()),this.render()}toggleCursor(){this.state.prevCursor?(this.cursor=this.state.prevCursor,this.state.prevCursor=0):(this.state.prevCursor=this.cursor,this.cursor=0),this.render()}first(){this.cursor=0,this.render()}last(){this.cursor=this.input.length-1,this.render()}next(){let t=this.initial!=null?String(this.initial):"";if(!t||!t.startsWith(this.input))return this.alert();this.input=this.initial,this.cursor=this.initial.length,this.render()}prev(){if(!this.input)return this.alert();this.reset()}backward(){return this.left()}forward(){return this.right()}right(){return this.cursor>=this.input.length?this.alert():(this.moveCursor(1),this.render())}left(){return this.cursor<=0?this.alert():(this.moveCursor(-1),this.render())}isValue(t){return!!t}async format(t=this.value){let r=await this.resolve(this.initial,this.state);return this.state.submitted?this.styles.submitted(t||r):fft(this,{input:t,initial:r,pos:this.cursor})}async render(){let t=this.state.size,r=await this.prefix(),o=await this.separator(),a=await this.message(),n=[r,a,o].filter(Boolean).join(" ");this.state.prompt=n;let u=await this.header(),A=await this.format(),p=await this.error()||await this.hint(),h=await this.footer();p&&!A.includes(p)&&(A+=" "+p),n+=" "+A,this.clear(t),this.write([u,n,h].filter(Boolean).join(` -`)),this.restore()}};Whe.exports=Z_});var Jhe=_((W_t,Khe)=>{"use strict";var hft=e=>e.filter((t,r)=>e.lastIndexOf(t)===r),lQ=e=>hft(e).filter(Boolean);Khe.exports=(e,t={},r="")=>{let{past:o=[],present:a=""}=t,n,u;switch(e){case"prev":case"undo":return n=o.slice(0,o.length-1),u=o[o.length-1]||"",{past:lQ([r,...n]),present:u};case"next":case"redo":return n=o.slice(1),u=o[0]||"",{past:lQ([...n,r]),present:u};case"save":return{past:lQ([...o,r]),present:""};case"remove":return u=lQ(o.filter(A=>A!==r)),a="",u.length&&(a=u.pop()),{past:u,present:a};default:throw new Error(`Invalid action: "${e}"`)}}});var e8=_((K_t,zhe)=>{"use strict";var gft=Yd(),Vhe=Jhe(),$_=class extends gft{constructor(t){super(t);let r=this.options.history;if(r&&r.store){let o=r.values||this.initial;this.autosave=!!r.autosave,this.store=r.store,this.data=this.store.get("values")||{past:[],present:o},this.initial=this.data.present||this.data.past[this.data.past.length-1]}}completion(t){return this.store?(this.data=Vhe(t,this.data,this.input),this.data.present?(this.input=this.data.present,this.cursor=this.input.length,this.render()):this.alert()):this.alert()}altUp(){return this.completion("prev")}altDown(){return this.completion("next")}prev(){return this.save(),super.prev()}save(){!this.store||(this.data=Vhe("save",this.data,this.input),this.store.set("values",this.data))}submit(){return this.store&&this.autosave===!0&&this.save(),super.submit()}};zhe.exports=$_});var Zhe=_((J_t,Xhe)=>{"use strict";var dft=Yd(),t8=class extends dft{format(){return""}};Xhe.exports=t8});var e0e=_((V_t,$he)=>{"use strict";var mft=Yd(),r8=class extends mft{constructor(t={}){super(t),this.sep=this.options.separator||/, */,this.initial=t.initial||""}split(t=this.value){return t?String(t).split(this.sep):[]}format(){let t=this.state.submitted?this.styles.primary:r=>r;return this.list.map(t).join(", ")}async submit(t){let r=this.state.error||await this.validate(this.list,this.state);return r!==!0?(this.state.error=r,super.submit()):(this.value=this.list,super.submit())}get list(){return this.split()}};$he.exports=r8});var r0e=_((z_t,t0e)=>{"use strict";var yft=Ph(),n8=class extends yft{constructor(t){super({...t,multiple:!0})}};t0e.exports=n8});var s8=_((X_t,n0e)=>{"use strict";var Eft=Yd(),i8=class extends Eft{constructor(t={}){super({style:"number",...t}),this.min=this.isValue(t.min)?this.toNumber(t.min):-1/0,this.max=this.isValue(t.max)?this.toNumber(t.max):1/0,this.delay=t.delay!=null?t.delay:1e3,this.float=t.float!==!1,this.round=t.round===!0||t.float===!1,this.major=t.major||10,this.minor=t.minor||1,this.initial=t.initial!=null?t.initial:"",this.input=String(this.initial),this.cursor=this.input.length,this.cursorShow()}append(t){return!/[-+.]/.test(t)||t==="."&&this.input.includes(".")?this.alert("invalid number"):super.append(t)}number(t){return super.append(t)}next(){return this.input&&this.input!==this.initial?this.alert():this.isValue(this.initial)?(this.input=this.initial,this.cursor=String(this.initial).length,this.render()):this.alert()}up(t){let r=t||this.minor,o=this.toNumber(this.input);return o>this.max+r?this.alert():(this.input=`${o+r}`,this.render())}down(t){let r=t||this.minor,o=this.toNumber(this.input);return o<this.min-r?this.alert():(this.input=`${o-r}`,this.render())}shiftDown(){return this.down(this.major)}shiftUp(){return this.up(this.major)}format(t=this.input){return typeof this.options.format=="function"?this.options.format.call(this,t):this.styles.info(t)}toNumber(t=""){return this.float?+t:Math.round(+t)}isValue(t){return/^[-+]?[0-9]+((\.)|(\.[0-9]+))?$/.test(t)}submit(){let t=[this.input,this.initial].find(r=>this.isValue(r));return this.value=this.toNumber(t||0),super.submit()}};n0e.exports=i8});var s0e=_((Z_t,i0e)=>{i0e.exports=s8()});var a0e=_(($_t,o0e)=>{"use strict";var wft=Yd(),o8=class extends wft{constructor(t){super(t),this.cursorShow()}format(t=this.input){return this.keypressed?(this.state.submitted?this.styles.primary:this.styles.muted)(this.symbols.asterisk.repeat(t.length)):""}};o0e.exports=o8});var u0e=_((e8t,c0e)=>{"use strict";var Cft=Vc(),Ift=o2(),l0e=No(),a8=class extends Ift{constructor(t={}){super(t),this.widths=[].concat(t.messageWidth||50),this.align=[].concat(t.align||"left"),this.linebreak=t.linebreak||!1,this.edgeLength=t.edgeLength||3,this.newline=t.newline||` - `;let r=t.startNumber||1;typeof this.scale=="number"&&(this.scaleKey=!1,this.scale=Array(this.scale).fill(0).map((o,a)=>({name:a+r})))}async reset(){return this.tableized=!1,await super.reset(),this.render()}tableize(){if(this.tableized===!0)return;this.tableized=!0;let t=0;for(let r of this.choices){t=Math.max(t,r.message.length),r.scaleIndex=r.initial||2,r.scale=[];for(let o=0;o<this.scale.length;o++)r.scale.push({index:o})}this.widths[0]=Math.min(this.widths[0],t+3)}async dispatch(t,r){if(this.multiple)return this[r.name]?await this[r.name](t,r):await super.dispatch(t,r);this.alert()}heading(t,r,o){return this.styles.strong(t)}separator(){return this.styles.muted(this.symbols.ellipsis)}right(){let t=this.focused;return t.scaleIndex>=this.scale.length-1?this.alert():(t.scaleIndex++,this.render())}left(){let t=this.focused;return t.scaleIndex<=0?this.alert():(t.scaleIndex--,this.render())}indent(){return""}format(){return this.state.submitted?this.choices.map(r=>this.styles.info(r.index)).join(", "):""}pointer(){return""}renderScaleKey(){return this.scaleKey===!1||this.state.submitted?"":["",...this.scale.map(o=>` ${o.name} - ${o.message}`)].map(o=>this.styles.muted(o)).join(` -`)}renderScaleHeading(t){let r=this.scale.map(p=>p.name);typeof this.options.renderScaleHeading=="function"&&(r=this.options.renderScaleHeading.call(this,t));let o=this.scaleLength-r.join("").length,a=Math.round(o/(r.length-1)),u=r.map(p=>this.styles.strong(p)).join(" ".repeat(a)),A=" ".repeat(this.widths[0]);return this.margin[3]+A+this.margin[1]+u}scaleIndicator(t,r,o){if(typeof this.options.scaleIndicator=="function")return this.options.scaleIndicator.call(this,t,r,o);let a=t.scaleIndex===r.index;return r.disabled?this.styles.hint(this.symbols.radio.disabled):a?this.styles.success(this.symbols.radio.on):this.symbols.radio.off}renderScale(t,r){let o=t.scale.map(n=>this.scaleIndicator(t,n,r)),a=this.term==="Hyper"?"":" ";return o.join(a+this.symbols.line.repeat(this.edgeLength))}async renderChoice(t,r){await this.onChoice(t,r);let o=this.index===r,a=await this.pointer(t,r),n=await t.hint;n&&!l0e.hasColor(n)&&(n=this.styles.muted(n));let u=E=>this.margin[3]+E.replace(/\s+$/,"").padEnd(this.widths[0]," "),A=this.newline,p=this.indent(t),h=await this.resolve(t.message,this.state,t,r),w=await this.renderScale(t,r),I=this.margin[1]+this.margin[3];this.scaleLength=Cft.unstyle(w).length,this.widths[0]=Math.min(this.widths[0],this.width-this.scaleLength-I.length);let b=l0e.wordWrap(h,{width:this.widths[0],newline:A}).split(` -`).map(E=>u(E)+this.margin[1]);return o&&(w=this.styles.info(w),b=b.map(E=>this.styles.info(E))),b[0]+=w,this.linebreak&&b.push(""),[p+a,b.join(` -`)].filter(Boolean)}async renderChoices(){if(this.state.submitted)return"";this.tableize();let t=this.visible.map(async(a,n)=>await this.renderChoice(a,n)),r=await Promise.all(t),o=await this.renderScaleHeading();return this.margin[0]+[o,...r.map(a=>a.join(" "))].join(` -`)}async render(){let{submitted:t,size:r}=this.state,o=await this.prefix(),a=await this.separator(),n=await this.message(),u="";this.options.promptLine!==!1&&(u=[o,n,a,""].join(" "),this.state.prompt=u);let A=await this.header(),p=await this.format(),h=await this.renderScaleKey(),w=await this.error()||await this.hint(),I=await this.renderChoices(),v=await this.footer(),b=this.emptyError;p&&(u+=p),w&&!u.includes(w)&&(u+=" "+w),t&&!p&&!I.trim()&&this.multiple&&b!=null&&(u+=this.styles.danger(b)),this.clear(r),this.write([A,u,h,I,v].filter(Boolean).join(` -`)),this.state.submitted||this.write(this.margin[2]),this.restore()}submit(){this.value={};for(let t of this.choices)this.value[t.name]=t.scaleIndex;return this.base.submit.call(this)}};c0e.exports=a8});var p0e=_((t8t,f0e)=>{"use strict";var A0e=Vc(),Bft=(e="")=>typeof e=="string"?e.replace(/^['"]|['"]$/g,""):"",c8=class{constructor(t){this.name=t.key,this.field=t.field||{},this.value=Bft(t.initial||this.field.initial||""),this.message=t.message||this.name,this.cursor=0,this.input="",this.lines=[]}},vft=async(e={},t={},r=o=>o)=>{let o=new Set,a=e.fields||[],n=e.template,u=[],A=[],p=[],h=1;typeof n=="function"&&(n=await n());let w=-1,I=()=>n[++w],v=()=>n[w+1],b=E=>{E.line=h,u.push(E)};for(b({type:"bos",value:""});w<n.length-1;){let E=I();if(/^[^\S\n ]$/.test(E)){b({type:"text",value:E});continue}if(E===` -`){b({type:"newline",value:E}),h++;continue}if(E==="\\"){E+=I(),b({type:"text",value:E});continue}if((E==="$"||E==="#"||E==="{")&&v()==="{"){let N=I();E+=N;let U={type:"template",open:E,inner:"",close:"",value:E},V;for(;V=I();){if(V==="}"){v()==="}"&&(V+=I()),U.value+=V,U.close=V;break}V===":"?(U.initial="",U.key=U.inner):U.initial!==void 0&&(U.initial+=V),U.value+=V,U.inner+=V}U.template=U.open+(U.initial||U.inner)+U.close,U.key=U.key||U.inner,t.hasOwnProperty(U.key)&&(U.initial=t[U.key]),U=r(U),b(U),p.push(U.key),o.add(U.key);let ee=A.find(le=>le.name===U.key);U.field=a.find(le=>le.name===U.key),ee||(ee=new c8(U),A.push(ee)),ee.lines.push(U.line-1);continue}let R=u[u.length-1];R.type==="text"&&R.line===h?R.value+=E:b({type:"text",value:E})}return b({type:"eos",value:""}),{input:n,tabstops:u,unique:o,keys:p,items:A}};f0e.exports=async e=>{let t=e.options,r=new Set(t.required===!0?[]:t.required||[]),o={...t.values,...t.initial},{tabstops:a,items:n,keys:u}=await vft(t,o),A=l8("result",e,t),p=l8("format",e,t),h=l8("validate",e,t,!0),w=e.isValue.bind(e);return async(I={},v=!1)=>{let b=0;I.required=r,I.items=n,I.keys=u,I.output="";let E=async(V,ee,le,fe)=>{let de=await h(V,ee,le,fe);return de===!1?"Invalid field "+le.name:de};for(let V of a){let ee=V.value,le=V.key;if(V.type!=="template"){ee&&(I.output+=ee);continue}if(V.type==="template"){let fe=n.find(be=>be.name===le);t.required===!0&&I.required.add(fe.name);let de=[fe.input,I.values[fe.value],fe.value,ee].find(w),oe=(fe.field||{}).message||V.inner;if(v){let be=await E(I.values[le],I,fe,b);if(be&&typeof be=="string"||be===!1){I.invalid.set(le,be);continue}I.invalid.delete(le);let g=await A(I.values[le],I,fe,b);I.output+=A0e.unstyle(g);continue}fe.placeholder=!1;let Be=ee;ee=await p(ee,I,fe,b),de!==ee?(I.values[le]=de,ee=e.styles.typing(de),I.missing.delete(oe)):(I.values[le]=void 0,de=`<${oe}>`,ee=e.styles.primary(de),fe.placeholder=!0,I.required.has(le)&&I.missing.add(oe)),I.missing.has(oe)&&I.validating&&(ee=e.styles.warning(de)),I.invalid.has(le)&&I.validating&&(ee=e.styles.danger(de)),b===I.index&&(Be!==ee?ee=e.styles.underline(ee):ee=e.styles.heading(A0e.unstyle(ee))),b++}ee&&(I.output+=ee)}let R=I.output.split(` -`).map(V=>" "+V),N=n.length,U=0;for(let V of n)I.invalid.has(V.name)&&V.lines.forEach(ee=>{R[ee][0]===" "&&(R[ee]=I.styles.danger(I.symbols.bullet)+R[ee].slice(1))}),e.isValue(I.values[V.name])&&U++;return I.completed=(U/N*100).toFixed(0),I.output=R.join(` -`),I.output}};function l8(e,t,r,o){return(a,n,u,A)=>typeof u.field[e]=="function"?u.field[e].call(t,a,n,u,A):[o,a].find(p=>t.isValue(p))}});var g0e=_((r8t,h0e)=>{"use strict";var Dft=Vc(),Sft=p0e(),Pft=pw(),u8=class extends Pft{constructor(t){super(t),this.cursorHide(),this.reset(!0)}async initialize(){this.interpolate=await Sft(this),await super.initialize()}async reset(t){this.state.keys=[],this.state.invalid=new Map,this.state.missing=new Set,this.state.completed=0,this.state.values={},t!==!0&&(await this.initialize(),await this.render())}moveCursor(t){let r=this.getItem();this.cursor+=t,r.cursor+=t}dispatch(t,r){if(!r.code&&!r.ctrl&&t!=null&&this.getItem()){this.append(t,r);return}this.alert()}append(t,r){let o=this.getItem(),a=o.input.slice(0,this.cursor),n=o.input.slice(this.cursor);this.input=o.input=`${a}${t}${n}`,this.moveCursor(1),this.render()}delete(){let t=this.getItem();if(this.cursor<=0||!t.input)return this.alert();let r=t.input.slice(this.cursor),o=t.input.slice(0,this.cursor-1);this.input=t.input=`${o}${r}`,this.moveCursor(-1),this.render()}increment(t){return t>=this.state.keys.length-1?0:t+1}decrement(t){return t<=0?this.state.keys.length-1:t-1}first(){this.state.index=0,this.render()}last(){this.state.index=this.state.keys.length-1,this.render()}right(){if(this.cursor>=this.input.length)return this.alert();this.moveCursor(1),this.render()}left(){if(this.cursor<=0)return this.alert();this.moveCursor(-1),this.render()}prev(){this.state.index=this.decrement(this.state.index),this.getItem(),this.render()}next(){this.state.index=this.increment(this.state.index),this.getItem(),this.render()}up(){this.prev()}down(){this.next()}format(t){let r=this.state.completed<100?this.styles.warning:this.styles.success;return this.state.submitted===!0&&this.state.completed!==100&&(r=this.styles.danger),r(`${this.state.completed}% completed`)}async render(){let{index:t,keys:r=[],submitted:o,size:a}=this.state,n=[this.options.newline,` -`].find(V=>V!=null),u=await this.prefix(),A=await this.separator(),p=await this.message(),h=[u,p,A].filter(Boolean).join(" ");this.state.prompt=h;let w=await this.header(),I=await this.error()||"",v=await this.hint()||"",b=o?"":await this.interpolate(this.state),E=this.state.key=r[t]||"",R=await this.format(E),N=await this.footer();R&&(h+=" "+R),v&&!R&&this.state.completed===0&&(h+=" "+v),this.clear(a);let U=[w,h,b,N,I.trim()];this.write(U.filter(Boolean).join(n)),this.restore()}getItem(t){let{items:r,keys:o,index:a}=this.state,n=r.find(u=>u.name===o[a]);return n&&n.input!=null&&(this.input=n.input,this.cursor=n.cursor),n}async submit(){typeof this.interpolate!="function"&&await this.initialize(),await this.interpolate(this.state,!0);let{invalid:t,missing:r,output:o,values:a}=this.state;if(t.size){let A="";for(let[p,h]of t)A+=`Invalid ${p}: ${h} -`;return this.state.error=A,super.submit()}if(r.size)return this.state.error="Required: "+[...r.keys()].join(", "),super.submit();let u=Dft.unstyle(o).split(` -`).map(A=>A.slice(1)).join(` -`);return this.value={values:a,result:u},super.submit()}};h0e.exports=u8});var m0e=_((n8t,d0e)=>{"use strict";var xft="(Use <shift>+<up/down> to sort)",bft=Ph(),A8=class extends bft{constructor(t){super({...t,reorder:!1,sort:!0,multiple:!0}),this.state.hint=[this.options.hint,xft].find(this.isValue.bind(this))}indicator(){return""}async renderChoice(t,r){let o=await super.renderChoice(t,r),a=this.symbols.identicalTo+" ",n=this.index===r&&this.sorting?this.styles.muted(a):" ";return this.options.drag===!1&&(n=""),this.options.numbered===!0?n+`${r+1} - `+o:n+o}get selected(){return this.choices}submit(){return this.value=this.choices.map(t=>t.value),super.submit()}};d0e.exports=A8});var E0e=_((i8t,y0e)=>{"use strict";var Qft=o2(),f8=class extends Qft{constructor(t={}){if(super(t),this.emptyError=t.emptyError||"No items were selected",this.term=process.env.TERM_PROGRAM,!this.options.header){let r=["","4 - Strongly Agree","3 - Agree","2 - Neutral","1 - Disagree","0 - Strongly Disagree",""];r=r.map(o=>this.styles.muted(o)),this.state.header=r.join(` - `)}}async toChoices(...t){if(this.createdScales)return!1;this.createdScales=!0;let r=await super.toChoices(...t);for(let o of r)o.scale=kft(5,this.options),o.scaleIdx=2;return r}dispatch(){this.alert()}space(){let t=this.focused,r=t.scale[t.scaleIdx],o=r.selected;return t.scale.forEach(a=>a.selected=!1),r.selected=!o,this.render()}indicator(){return""}pointer(){return""}separator(){return this.styles.muted(this.symbols.ellipsis)}right(){let t=this.focused;return t.scaleIdx>=t.scale.length-1?this.alert():(t.scaleIdx++,this.render())}left(){let t=this.focused;return t.scaleIdx<=0?this.alert():(t.scaleIdx--,this.render())}indent(){return" "}async renderChoice(t,r){await this.onChoice(t,r);let o=this.index===r,a=this.term==="Hyper",n=a?9:8,u=a?"":" ",A=this.symbols.line.repeat(n),p=" ".repeat(n+(a?0:1)),h=ee=>(ee?this.styles.success("\u25C9"):"\u25EF")+u,w=r+1+".",I=o?this.styles.heading:this.styles.noop,v=await this.resolve(t.message,this.state,t,r),b=this.indent(t),E=b+t.scale.map((ee,le)=>h(le===t.scaleIdx)).join(A),R=ee=>ee===t.scaleIdx?I(ee):ee,N=b+t.scale.map((ee,le)=>R(le)).join(p),U=()=>[w,v].filter(Boolean).join(" "),V=()=>[U(),E,N," "].filter(Boolean).join(` -`);return o&&(E=this.styles.cyan(E),N=this.styles.cyan(N)),V()}async renderChoices(){if(this.state.submitted)return"";let t=this.visible.map(async(o,a)=>await this.renderChoice(o,a)),r=await Promise.all(t);return r.length||r.push(this.styles.danger("No matching choices")),r.join(` -`)}format(){return this.state.submitted?this.choices.map(r=>this.styles.info(r.scaleIdx)).join(", "):""}async render(){let{submitted:t,size:r}=this.state,o=await this.prefix(),a=await this.separator(),n=await this.message(),u=[o,n,a].filter(Boolean).join(" ");this.state.prompt=u;let A=await this.header(),p=await this.format(),h=await this.error()||await this.hint(),w=await this.renderChoices(),I=await this.footer();(p||!h)&&(u+=" "+p),h&&!u.includes(h)&&(u+=" "+h),t&&!p&&!w&&this.multiple&&this.type!=="form"&&(u+=this.styles.danger(this.emptyError)),this.clear(r),this.write([u,A,w,I].filter(Boolean).join(` -`)),this.restore()}submit(){this.value={};for(let t of this.choices)this.value[t.name]=t.scaleIdx;return this.base.submit.call(this)}};function kft(e,t={}){if(Array.isArray(t.scale))return t.scale.map(o=>({...o}));let r=[];for(let o=1;o<e+1;o++)r.push({i:o,selected:!1});return r}y0e.exports=f8});var C0e=_((s8t,w0e)=>{w0e.exports=e8()});var B0e=_((o8t,I0e)=>{"use strict";var Fft=aQ(),p8=class extends Fft{async initialize(){await super.initialize(),this.value=this.initial=!!this.options.initial,this.disabled=this.options.disabled||"no",this.enabled=this.options.enabled||"yes",await this.render()}reset(){this.value=this.initial,this.render()}delete(){this.alert()}toggle(){this.value=!this.value,this.render()}enable(){if(this.value===!0)return this.alert();this.value=!0,this.render()}disable(){if(this.value===!1)return this.alert();this.value=!1,this.render()}up(){this.toggle()}down(){this.toggle()}right(){this.toggle()}left(){this.toggle()}next(){this.toggle()}prev(){this.toggle()}dispatch(t="",r){switch(t.toLowerCase()){case" ":return this.toggle();case"1":case"y":case"t":return this.enable();case"0":case"n":case"f":return this.disable();default:return this.alert()}}format(){let t=o=>this.styles.primary.underline(o);return[this.value?this.disabled:t(this.disabled),this.value?t(this.enabled):this.enabled].join(this.styles.muted(" / "))}async render(){let{size:t}=this.state,r=await this.header(),o=await this.prefix(),a=await this.separator(),n=await this.message(),u=await this.format(),A=await this.error()||await this.hint(),p=await this.footer(),h=[o,n,a,u].join(" ");this.state.prompt=h,A&&!h.includes(A)&&(h+=" "+A),this.clear(t),this.write([r,h,p].filter(Boolean).join(` -`)),this.write(this.margin[2]),this.restore()}};I0e.exports=p8});var D0e=_((a8t,v0e)=>{"use strict";var Rft=Ph(),h8=class extends Rft{constructor(t){if(super(t),typeof this.options.correctChoice!="number"||this.options.correctChoice<0)throw new Error("Please specify the index of the correct answer from the list of choices")}async toChoices(t,r){let o=await super.toChoices(t,r);if(o.length<2)throw new Error("Please give at least two choices to the user");if(this.options.correctChoice>o.length)throw new Error("Please specify the index of the correct answer from the list of choices");return o}check(t){return t.index===this.options.correctChoice}async result(t){return{selectedAnswer:t,correctAnswer:this.options.choices[this.options.correctChoice].value,correct:await this.check(this.state)}}};v0e.exports=h8});var P0e=_(g8=>{"use strict";var S0e=No(),fs=(e,t)=>{S0e.defineExport(g8,e,t),S0e.defineExport(g8,e.toLowerCase(),t)};fs("AutoComplete",()=>Rhe());fs("BasicAuth",()=>_he());fs("Confirm",()=>qhe());fs("Editable",()=>Yhe());fs("Form",()=>oQ());fs("Input",()=>e8());fs("Invisible",()=>Zhe());fs("List",()=>e0e());fs("MultiSelect",()=>r0e());fs("Numeral",()=>s0e());fs("Password",()=>a0e());fs("Scale",()=>u0e());fs("Select",()=>Ph());fs("Snippet",()=>g0e());fs("Sort",()=>m0e());fs("Survey",()=>E0e());fs("Text",()=>C0e());fs("Toggle",()=>B0e());fs("Quiz",()=>D0e())});var b0e=_((c8t,x0e)=>{x0e.exports={ArrayPrompt:o2(),AuthPrompt:J_(),BooleanPrompt:aQ(),NumberPrompt:s8(),StringPrompt:Yd()}});var l2=_((u8t,k0e)=>{"use strict";var Q0e=Ie("assert"),m8=Ie("events"),xh=No(),Xc=class extends m8{constructor(t,r){super(),this.options=xh.merge({},t),this.answers={...r}}register(t,r){if(xh.isObject(t)){for(let a of Object.keys(t))this.register(a,t[a]);return this}Q0e.equal(typeof r,"function","expected a function");let o=t.toLowerCase();return r.prototype instanceof this.Prompt?this.prompts[o]=r:this.prompts[o]=r(this.Prompt,this),this}async prompt(t=[]){for(let r of[].concat(t))try{typeof r=="function"&&(r=await r.call(this)),await this.ask(xh.merge({},this.options,r))}catch(o){return Promise.reject(o)}return this.answers}async ask(t){typeof t=="function"&&(t=await t.call(this));let r=xh.merge({},this.options,t),{type:o,name:a}=t,{set:n,get:u}=xh;if(typeof o=="function"&&(o=await o.call(this,t,this.answers)),!o)return this.answers[a];Q0e(this.prompts[o],`Prompt "${o}" is not registered`);let A=new this.prompts[o](r),p=u(this.answers,a);A.state.answers=this.answers,A.enquirer=this,a&&A.on("submit",w=>{this.emit("answer",a,w,A),n(this.answers,a,w)});let h=A.emit.bind(A);return A.emit=(...w)=>(this.emit.call(this,...w),h(...w)),this.emit("prompt",A,this),r.autofill&&p!=null?(A.value=A.input=p,r.autofill==="show"&&await A.submit()):p=A.value=await A.run(),p}use(t){return t.call(this,this),this}set Prompt(t){this._Prompt=t}get Prompt(){return this._Prompt||this.constructor.Prompt}get prompts(){return this.constructor.prompts}static set Prompt(t){this._Prompt=t}static get Prompt(){return this._Prompt||pw()}static get prompts(){return P0e()}static get types(){return b0e()}static get prompt(){let t=(r,...o)=>{let a=new this(...o),n=a.emit.bind(a);return a.emit=(...u)=>(t.emit(...u),n(...u)),a.prompt(r)};return xh.mixinEmitter(t,new m8),t}};xh.mixinEmitter(Xc,new m8);var d8=Xc.prompts;for(let e of Object.keys(d8)){let t=e.toLowerCase(),r=o=>new d8[e](o).run();Xc.prompt[t]=r,Xc[t]=r,Xc[e]||Reflect.defineProperty(Xc,e,{get:()=>d8[e]})}var a2=e=>{xh.defineExport(Xc,e,()=>Xc.types[e])};a2("ArrayPrompt");a2("AuthPrompt");a2("BooleanPrompt");a2("NumberPrompt");a2("StringPrompt");k0e.exports=Xc});var f2=_((W8t,M0e)=>{var Uft=zb();function _ft(e,t,r){var o=e==null?void 0:Uft(e,t);return o===void 0?r:o}M0e.exports=_ft});var H0e=_((Z8t,_0e)=>{function Hft(e,t){for(var r=-1,o=e==null?0:e.length;++r<o&&t(e[r],r,e)!==!1;);return e}_0e.exports=Hft});var q0e=_(($8t,j0e)=>{var jft=gd(),qft=VS();function Gft(e,t){return e&&jft(t,qft(t),e)}j0e.exports=Gft});var Y0e=_((eHt,G0e)=>{var Yft=gd(),Wft=qy();function Kft(e,t){return e&&Yft(t,Wft(t),e)}G0e.exports=Kft});var K0e=_((tHt,W0e)=>{var Jft=gd(),Vft=qS();function zft(e,t){return Jft(e,Vft(e),t)}W0e.exports=zft});var B8=_((rHt,J0e)=>{var Xft=jS(),Zft=eP(),$ft=qS(),ept=YN(),tpt=Object.getOwnPropertySymbols,rpt=tpt?function(e){for(var t=[];e;)Xft(t,$ft(e)),e=Zft(e);return t}:ept;J0e.exports=rpt});var z0e=_((nHt,V0e)=>{var npt=gd(),ipt=B8();function spt(e,t){return npt(e,ipt(e),t)}V0e.exports=spt});var v8=_((iHt,X0e)=>{var opt=GN(),apt=B8(),lpt=qy();function cpt(e){return opt(e,lpt,apt)}X0e.exports=cpt});var $0e=_((sHt,Z0e)=>{var upt=Object.prototype,Apt=upt.hasOwnProperty;function fpt(e){var t=e.length,r=new e.constructor(t);return t&&typeof e[0]=="string"&&Apt.call(e,"index")&&(r.index=e.index,r.input=e.input),r}Z0e.exports=fpt});var tge=_((oHt,ege)=>{var ppt=ZS();function hpt(e,t){var r=t?ppt(e.buffer):e.buffer;return new e.constructor(r,e.byteOffset,e.byteLength)}ege.exports=hpt});var nge=_((aHt,rge)=>{var gpt=/\w*$/;function dpt(e){var t=new e.constructor(e.source,gpt.exec(e));return t.lastIndex=e.lastIndex,t}rge.exports=dpt});var lge=_((lHt,age)=>{var ige=fd(),sge=ige?ige.prototype:void 0,oge=sge?sge.valueOf:void 0;function mpt(e){return oge?Object(oge.call(e)):{}}age.exports=mpt});var uge=_((cHt,cge)=>{var ypt=ZS(),Ept=tge(),wpt=nge(),Cpt=lge(),Ipt=sL(),Bpt="[object Boolean]",vpt="[object Date]",Dpt="[object Map]",Spt="[object Number]",Ppt="[object RegExp]",xpt="[object Set]",bpt="[object String]",Qpt="[object Symbol]",kpt="[object ArrayBuffer]",Fpt="[object DataView]",Rpt="[object Float32Array]",Tpt="[object Float64Array]",Npt="[object Int8Array]",Lpt="[object Int16Array]",Opt="[object Int32Array]",Mpt="[object Uint8Array]",Upt="[object Uint8ClampedArray]",_pt="[object Uint16Array]",Hpt="[object Uint32Array]";function jpt(e,t,r){var o=e.constructor;switch(t){case kpt:return ypt(e);case Bpt:case vpt:return new o(+e);case Fpt:return Ept(e,r);case Rpt:case Tpt:case Npt:case Lpt:case Opt:case Mpt:case Upt:case _pt:case Hpt:return Ipt(e,r);case Dpt:return new o;case Spt:case bpt:return new o(e);case Ppt:return wpt(e);case xpt:return new o;case Qpt:return Cpt(e)}}cge.exports=jpt});var fge=_((uHt,Age)=>{var qpt=HI(),Gpt=Xu(),Ypt="[object Map]";function Wpt(e){return Gpt(e)&&qpt(e)==Ypt}Age.exports=Wpt});var dge=_((AHt,gge)=>{var Kpt=fge(),Jpt=YS(),pge=WS(),hge=pge&&pge.isMap,Vpt=hge?Jpt(hge):Kpt;gge.exports=Vpt});var yge=_((fHt,mge)=>{var zpt=HI(),Xpt=Xu(),Zpt="[object Set]";function $pt(e){return Xpt(e)&&zpt(e)==Zpt}mge.exports=$pt});var Ige=_((pHt,Cge)=>{var eht=yge(),tht=YS(),Ege=WS(),wge=Ege&&Ege.isSet,rht=wge?tht(wge):eht;Cge.exports=rht});var D8=_((hHt,Sge)=>{var nht=_S(),iht=H0e(),sht=tP(),oht=q0e(),aht=Y0e(),lht=iL(),cht=$S(),uht=K0e(),Aht=z0e(),fht=VN(),pht=v8(),hht=HI(),ght=$0e(),dht=uge(),mht=oL(),yht=Hl(),Eht=LI(),wht=dge(),Cht=il(),Iht=Ige(),Bht=VS(),vht=qy(),Dht=1,Sht=2,Pht=4,Bge="[object Arguments]",xht="[object Array]",bht="[object Boolean]",Qht="[object Date]",kht="[object Error]",vge="[object Function]",Fht="[object GeneratorFunction]",Rht="[object Map]",Tht="[object Number]",Dge="[object Object]",Nht="[object RegExp]",Lht="[object Set]",Oht="[object String]",Mht="[object Symbol]",Uht="[object WeakMap]",_ht="[object ArrayBuffer]",Hht="[object DataView]",jht="[object Float32Array]",qht="[object Float64Array]",Ght="[object Int8Array]",Yht="[object Int16Array]",Wht="[object Int32Array]",Kht="[object Uint8Array]",Jht="[object Uint8ClampedArray]",Vht="[object Uint16Array]",zht="[object Uint32Array]",ti={};ti[Bge]=ti[xht]=ti[_ht]=ti[Hht]=ti[bht]=ti[Qht]=ti[jht]=ti[qht]=ti[Ght]=ti[Yht]=ti[Wht]=ti[Rht]=ti[Tht]=ti[Dge]=ti[Nht]=ti[Lht]=ti[Oht]=ti[Mht]=ti[Kht]=ti[Jht]=ti[Vht]=ti[zht]=!0;ti[kht]=ti[vge]=ti[Uht]=!1;function uQ(e,t,r,o,a,n){var u,A=t&Dht,p=t&Sht,h=t&Pht;if(r&&(u=a?r(e,o,a,n):r(e)),u!==void 0)return u;if(!Cht(e))return e;var w=yht(e);if(w){if(u=ght(e),!A)return cht(e,u)}else{var I=hht(e),v=I==vge||I==Fht;if(Eht(e))return lht(e,A);if(I==Dge||I==Bge||v&&!a){if(u=p||v?{}:mht(e),!A)return p?Aht(e,aht(u,e)):uht(e,oht(u,e))}else{if(!ti[I])return a?e:{};u=dht(e,I,A)}}n||(n=new nht);var b=n.get(e);if(b)return b;n.set(e,u),Iht(e)?e.forEach(function(N){u.add(uQ(N,t,r,N,e,n))}):wht(e)&&e.forEach(function(N,U){u.set(U,uQ(N,t,r,U,e,n))});var E=h?p?pht:fht:p?vht:Bht,R=w?void 0:E(e);return iht(R||e,function(N,U){R&&(U=N,N=e[U]),sht(u,U,uQ(N,t,r,U,e,n))}),u}Sge.exports=uQ});var S8=_((gHt,Pge)=>{var Xht=D8(),Zht=1,$ht=4;function e0t(e){return Xht(e,Zht|$ht)}Pge.exports=e0t});var P8=_((dHt,xge)=>{var t0t=y_();function r0t(e,t,r){return e==null?e:t0t(e,t,r)}xge.exports=r0t});var Rge=_((IHt,Fge)=>{var n0t=Object.prototype,i0t=n0t.hasOwnProperty;function s0t(e,t){return e!=null&&i0t.call(e,t)}Fge.exports=s0t});var Nge=_((BHt,Tge)=>{var o0t=Rge(),a0t=E_();function l0t(e,t){return e!=null&&a0t(e,t,o0t)}Tge.exports=l0t});var Oge=_((vHt,Lge)=>{function c0t(e){var t=e==null?0:e.length;return t?e[t-1]:void 0}Lge.exports=c0t});var Uge=_((DHt,Mge)=>{var u0t=zb(),A0t=pU();function f0t(e,t){return t.length<2?e:u0t(e,A0t(t,0,-1))}Mge.exports=f0t});var b8=_((SHt,_ge)=>{var p0t=jd(),h0t=Oge(),g0t=Uge(),d0t=ow();function m0t(e,t){return t=p0t(t,e),e=g0t(e,t),e==null||delete e[d0t(h0t(t))]}_ge.exports=m0t});var Q8=_((PHt,Hge)=>{var y0t=b8();function E0t(e,t){return e==null?!0:y0t(e,t)}Hge.exports=E0t});var Wge=_((r6t,I0t)=>{I0t.exports={name:"@yarnpkg/cli",version:"4.0.0-rc.50",stableVersion:"3.6.3",license:"BSD-2-Clause",main:"./sources/index.ts",exports:{".":"./sources/index.ts","./polyfills":"./sources/polyfills.ts","./package.json":"./package.json"},dependencies:{"@yarnpkg/core":"workspace:^","@yarnpkg/fslib":"workspace:^","@yarnpkg/libzip":"workspace:^","@yarnpkg/parsers":"workspace:^","@yarnpkg/plugin-compat":"workspace:^","@yarnpkg/plugin-constraints":"workspace:^","@yarnpkg/plugin-dlx":"workspace:^","@yarnpkg/plugin-essentials":"workspace:^","@yarnpkg/plugin-exec":"workspace:^","@yarnpkg/plugin-file":"workspace:^","@yarnpkg/plugin-git":"workspace:^","@yarnpkg/plugin-github":"workspace:^","@yarnpkg/plugin-http":"workspace:^","@yarnpkg/plugin-init":"workspace:^","@yarnpkg/plugin-interactive-tools":"workspace:^","@yarnpkg/plugin-link":"workspace:^","@yarnpkg/plugin-nm":"workspace:^","@yarnpkg/plugin-npm":"workspace:^","@yarnpkg/plugin-npm-cli":"workspace:^","@yarnpkg/plugin-pack":"workspace:^","@yarnpkg/plugin-patch":"workspace:^","@yarnpkg/plugin-pnp":"workspace:^","@yarnpkg/plugin-pnpm":"workspace:^","@yarnpkg/plugin-stage":"workspace:^","@yarnpkg/plugin-typescript":"workspace:^","@yarnpkg/plugin-version":"workspace:^","@yarnpkg/plugin-workspace-tools":"workspace:^","@yarnpkg/shell":"workspace:^","ci-info":"^3.2.0",clipanion:"^4.0.0-rc.2",semver:"^7.1.2",tslib:"^2.4.0",typanion:"^3.14.0"},devDependencies:{"@types/semver":"^7.1.0","@yarnpkg/builder":"workspace:^","@yarnpkg/monorepo":"workspace:^","@yarnpkg/pnpify":"workspace:^"},peerDependencies:{"@yarnpkg/core":"workspace:^"},scripts:{postpack:"rm -rf lib",prepack:'run build:compile "$(pwd)"',"build:cli+hook":"run build:pnp:hook && builder build bundle","build:cli":"builder build bundle","run:cli":"builder run","update-local":"run build:cli --no-git-hash && rsync -a --delete bundles/ bin/"},publishConfig:{main:"./lib/index.js",bin:null,exports:{".":"./lib/index.js","./package.json":"./package.json"}},files:["/lib/**/*","!/lib/pluginConfiguration.*","!/lib/cli.*"],"@yarnpkg/builder":{bundles:{standard:["@yarnpkg/plugin-essentials","@yarnpkg/plugin-compat","@yarnpkg/plugin-constraints","@yarnpkg/plugin-dlx","@yarnpkg/plugin-exec","@yarnpkg/plugin-file","@yarnpkg/plugin-git","@yarnpkg/plugin-github","@yarnpkg/plugin-http","@yarnpkg/plugin-init","@yarnpkg/plugin-interactive-tools","@yarnpkg/plugin-link","@yarnpkg/plugin-nm","@yarnpkg/plugin-npm","@yarnpkg/plugin-npm-cli","@yarnpkg/plugin-pack","@yarnpkg/plugin-patch","@yarnpkg/plugin-pnp","@yarnpkg/plugin-pnpm","@yarnpkg/plugin-stage","@yarnpkg/plugin-typescript","@yarnpkg/plugin-version","@yarnpkg/plugin-workspace-tools"]}},repository:{type:"git",url:"ssh://git@github.com/yarnpkg/berry.git",directory:"packages/yarnpkg-cli"},engines:{node:">=18.12.0"}}});var _8=_((RGt,sde)=>{"use strict";sde.exports=function(t,r){r===!0&&(r=0);var o="";if(typeof t=="string")try{o=new URL(t).protocol}catch{}else t&&t.constructor===URL&&(o=t.protocol);var a=o.split(/\:|\+/).filter(Boolean);return typeof r=="number"?a[r]:a}});var ade=_((TGt,ode)=>{"use strict";var _0t=_8();function H0t(e){var t={protocols:[],protocol:null,port:null,resource:"",host:"",user:"",password:"",pathname:"",hash:"",search:"",href:e,query:{},parse_failed:!1};try{var r=new URL(e);t.protocols=_0t(r),t.protocol=t.protocols[0],t.port=r.port,t.resource=r.hostname,t.host=r.host,t.user=r.username||"",t.password=r.password||"",t.pathname=r.pathname,t.hash=r.hash.slice(1),t.search=r.search.slice(1),t.href=r.href,t.query=Object.fromEntries(r.searchParams)}catch{t.protocols=["file"],t.protocol=t.protocols[0],t.port="",t.resource="",t.user="",t.pathname="",t.hash="",t.search="",t.href=e,t.query={},t.parse_failed=!0}return t}ode.exports=H0t});var ude=_((NGt,cde)=>{"use strict";var j0t=ade();function q0t(e){return e&&typeof e=="object"&&"default"in e?e:{default:e}}var G0t=q0t(j0t),Y0t="text/plain",W0t="us-ascii",lde=(e,t)=>t.some(r=>r instanceof RegExp?r.test(e):r===e),K0t=(e,{stripHash:t})=>{let r=/^data:(?<type>[^,]*?),(?<data>[^#]*?)(?:#(?<hash>.*))?$/.exec(e);if(!r)throw new Error(`Invalid URL: ${e}`);let{type:o,data:a,hash:n}=r.groups,u=o.split(";");n=t?"":n;let A=!1;u[u.length-1]==="base64"&&(u.pop(),A=!0);let p=(u.shift()||"").toLowerCase(),w=[...u.map(I=>{let[v,b=""]=I.split("=").map(E=>E.trim());return v==="charset"&&(b=b.toLowerCase(),b===W0t)?"":`${v}${b?`=${b}`:""}`}).filter(Boolean)];return A&&w.push("base64"),(w.length>0||p&&p!==Y0t)&&w.unshift(p),`data:${w.join(";")},${A?a.trim():a}${n?`#${n}`:""}`};function J0t(e,t){if(t={defaultProtocol:"http:",normalizeProtocol:!0,forceHttp:!1,forceHttps:!1,stripAuthentication:!0,stripHash:!1,stripTextFragment:!0,stripWWW:!0,removeQueryParameters:[/^utm_\w+/i],removeTrailingSlash:!0,removeSingleSlash:!0,removeDirectoryIndex:!1,sortQueryParameters:!0,...t},e=e.trim(),/^data:/i.test(e))return K0t(e,t);if(/^view-source:/i.test(e))throw new Error("`view-source:` is not supported as it is a non-standard protocol");let r=e.startsWith("//");!r&&/^\.*\//.test(e)||(e=e.replace(/^(?!(?:\w+:)?\/\/)|^\/\//,t.defaultProtocol));let a=new URL(e);if(t.forceHttp&&t.forceHttps)throw new Error("The `forceHttp` and `forceHttps` options cannot be used together");if(t.forceHttp&&a.protocol==="https:"&&(a.protocol="http:"),t.forceHttps&&a.protocol==="http:"&&(a.protocol="https:"),t.stripAuthentication&&(a.username="",a.password=""),t.stripHash?a.hash="":t.stripTextFragment&&(a.hash=a.hash.replace(/#?:~:text.*?$/i,"")),a.pathname){let u=/\b[a-z][a-z\d+\-.]{1,50}:\/\//g,A=0,p="";for(;;){let w=u.exec(a.pathname);if(!w)break;let I=w[0],v=w.index,b=a.pathname.slice(A,v);p+=b.replace(/\/{2,}/g,"/"),p+=I,A=v+I.length}let h=a.pathname.slice(A,a.pathname.length);p+=h.replace(/\/{2,}/g,"/"),a.pathname=p}if(a.pathname)try{a.pathname=decodeURI(a.pathname)}catch{}if(t.removeDirectoryIndex===!0&&(t.removeDirectoryIndex=[/^index\.[a-z]+$/]),Array.isArray(t.removeDirectoryIndex)&&t.removeDirectoryIndex.length>0){let u=a.pathname.split("/"),A=u[u.length-1];lde(A,t.removeDirectoryIndex)&&(u=u.slice(0,-1),a.pathname=u.slice(1).join("/")+"/")}if(a.hostname&&(a.hostname=a.hostname.replace(/\.$/,""),t.stripWWW&&/^www\.(?!www\.)[a-z\-\d]{1,63}\.[a-z.\-\d]{2,63}$/.test(a.hostname)&&(a.hostname=a.hostname.replace(/^www\./,""))),Array.isArray(t.removeQueryParameters))for(let u of[...a.searchParams.keys()])lde(u,t.removeQueryParameters)&&a.searchParams.delete(u);if(t.removeQueryParameters===!0&&(a.search=""),t.sortQueryParameters){a.searchParams.sort();try{a.search=decodeURIComponent(a.search)}catch{}}t.removeTrailingSlash&&(a.pathname=a.pathname.replace(/\/$/,""));let n=e;return e=a.toString(),!t.removeSingleSlash&&a.pathname==="/"&&!n.endsWith("/")&&a.hash===""&&(e=e.replace(/\/$/,"")),(t.removeTrailingSlash||a.pathname==="/")&&a.hash===""&&t.removeSingleSlash&&(e=e.replace(/\/$/,"")),r&&!t.normalizeProtocol&&(e=e.replace(/^http:\/\//,"//")),t.stripProtocol&&(e=e.replace(/^(?:https?:)?\/\//,"")),e}var H8=(e,t=!1)=>{let r=/^(?:([a-z_][a-z0-9_-]{0,31})@|https?:\/\/)([\w\.\-@]+)[\/:]([\~,\.\w,\-,\_,\/]+?(?:\.git|\/)?)$/,o=n=>{let u=new Error(n);throw u.subject_url=e,u};(typeof e!="string"||!e.trim())&&o("Invalid url."),e.length>H8.MAX_INPUT_LENGTH&&o("Input exceeds maximum length. If needed, change the value of parseUrl.MAX_INPUT_LENGTH."),t&&(typeof t!="object"&&(t={stripHash:!1}),e=J0t(e,t));let a=G0t.default(e);if(a.parse_failed){let n=a.href.match(r);n?(a.protocols=["ssh"],a.protocol="ssh",a.resource=n[2],a.host=n[2],a.user=n[1],a.pathname=`/${n[3]}`,a.parse_failed=!1):o("URL parsing failed.")}return a};H8.MAX_INPUT_LENGTH=2048;cde.exports=H8});var pde=_((LGt,fde)=>{"use strict";var V0t=_8();function Ade(e){if(Array.isArray(e))return e.indexOf("ssh")!==-1||e.indexOf("rsync")!==-1;if(typeof e!="string")return!1;var t=V0t(e);if(e=e.substring(e.indexOf("://")+3),Ade(t))return!0;var r=new RegExp(".([a-zA-Z\\d]+):(\\d+)/");return!e.match(r)&&e.indexOf("@")<e.indexOf(":")}fde.exports=Ade});var dde=_((OGt,gde)=>{"use strict";var z0t=ude(),hde=pde();function X0t(e){var t=z0t(e);return t.token="",t.password==="x-oauth-basic"?t.token=t.user:t.user==="x-token-auth"&&(t.token=t.password),hde(t.protocols)||t.protocols.length===0&&hde(e)?t.protocol="ssh":t.protocols.length?t.protocol=t.protocols[0]:(t.protocol="file",t.protocols=["file"]),t.href=t.href.replace(/\/$/,""),t}gde.exports=X0t});var yde=_((MGt,mde)=>{"use strict";var Z0t=dde();function j8(e){if(typeof e!="string")throw new Error("The url must be a string.");var t=/^([a-z\d-]{1,39})\/([-\.\w]{1,100})$/i;t.test(e)&&(e="https://github.com/"+e);var r=Z0t(e),o=r.resource.split("."),a=null;switch(r.toString=function(N){return j8.stringify(this,N)},r.source=o.length>2?o.slice(1-o.length).join("."):r.source=r.resource,r.git_suffix=/\.git$/.test(r.pathname),r.name=decodeURIComponent((r.pathname||r.href).replace(/(^\/)|(\/$)/g,"").replace(/\.git$/,"")),r.owner=decodeURIComponent(r.user),r.source){case"git.cloudforge.com":r.owner=r.user,r.organization=o[0],r.source="cloudforge.com";break;case"visualstudio.com":if(r.resource==="vs-ssh.visualstudio.com"){a=r.name.split("/"),a.length===4&&(r.organization=a[1],r.owner=a[2],r.name=a[3],r.full_name=a[2]+"/"+a[3]);break}else{a=r.name.split("/"),a.length===2?(r.owner=a[1],r.name=a[1],r.full_name="_git/"+r.name):a.length===3?(r.name=a[2],a[0]==="DefaultCollection"?(r.owner=a[2],r.organization=a[0],r.full_name=r.organization+"/_git/"+r.name):(r.owner=a[0],r.full_name=r.owner+"/_git/"+r.name)):a.length===4&&(r.organization=a[0],r.owner=a[1],r.name=a[3],r.full_name=r.organization+"/"+r.owner+"/_git/"+r.name);break}case"dev.azure.com":case"azure.com":if(r.resource==="ssh.dev.azure.com"){a=r.name.split("/"),a.length===4&&(r.organization=a[1],r.owner=a[2],r.name=a[3]);break}else{a=r.name.split("/"),a.length===5?(r.organization=a[0],r.owner=a[1],r.name=a[4],r.full_name="_git/"+r.name):a.length===3?(r.name=a[2],a[0]==="DefaultCollection"?(r.owner=a[2],r.organization=a[0],r.full_name=r.organization+"/_git/"+r.name):(r.owner=a[0],r.full_name=r.owner+"/_git/"+r.name)):a.length===4&&(r.organization=a[0],r.owner=a[1],r.name=a[3],r.full_name=r.organization+"/"+r.owner+"/_git/"+r.name),r.query&&r.query.path&&(r.filepath=r.query.path.replace(/^\/+/g,"")),r.query&&r.query.version&&(r.ref=r.query.version.replace(/^GB/,""));break}default:a=r.name.split("/");var n=a.length-1;if(a.length>=2){var u=a.indexOf("-",2),A=a.indexOf("blob",2),p=a.indexOf("tree",2),h=a.indexOf("commit",2),w=a.indexOf("src",2),I=a.indexOf("raw",2),v=a.indexOf("edit",2);n=u>0?u-1:A>0?A-1:p>0?p-1:h>0?h-1:w>0?w-1:I>0?I-1:v>0?v-1:n,r.owner=a.slice(0,n).join("/"),r.name=a[n],h&&(r.commit=a[n+2])}r.ref="",r.filepathtype="",r.filepath="";var b=a.length>n&&a[n+1]==="-"?n+1:n;a.length>b+2&&["raw","src","blob","tree","edit"].indexOf(a[b+1])>=0&&(r.filepathtype=a[b+1],r.ref=a[b+2],a.length>b+3&&(r.filepath=a.slice(b+3).join("/"))),r.organization=r.owner;break}r.full_name||(r.full_name=r.owner,r.name&&(r.full_name&&(r.full_name+="/"),r.full_name+=r.name)),r.owner.startsWith("scm/")&&(r.source="bitbucket-server",r.owner=r.owner.replace("scm/",""),r.organization=r.owner,r.full_name=r.owner+"/"+r.name);var E=/(projects|users)\/(.*?)\/repos\/(.*?)((\/.*$)|$)/,R=E.exec(r.pathname);return R!=null&&(r.source="bitbucket-server",R[1]==="users"?r.owner="~"+R[2]:r.owner=R[2],r.organization=r.owner,r.name=R[3],a=R[4].split("/"),a.length>1&&(["raw","browse"].indexOf(a[1])>=0?(r.filepathtype=a[1],a.length>2&&(r.filepath=a.slice(2).join("/"))):a[1]==="commits"&&a.length>2&&(r.commit=a[2])),r.full_name=r.owner+"/"+r.name,r.query.at?r.ref=r.query.at:r.ref=""),r}j8.stringify=function(e,t){t=t||(e.protocols&&e.protocols.length?e.protocols.join("+"):e.protocol);var r=e.port?":"+e.port:"",o=e.user||"git",a=e.git_suffix?".git":"";switch(t){case"ssh":return r?"ssh://"+o+"@"+e.resource+r+"/"+e.full_name+a:o+"@"+e.resource+":"+e.full_name+a;case"git+ssh":case"ssh+git":case"ftp":case"ftps":return t+"://"+o+"@"+e.resource+r+"/"+e.full_name+a;case"http":case"https":var n=e.token?$0t(e):e.user&&(e.protocols.includes("http")||e.protocols.includes("https"))?e.user+"@":"";return t+"://"+n+e.resource+r+"/"+egt(e)+a;default:return e.href}};function $0t(e){switch(e.source){case"bitbucket.org":return"x-token-auth:"+e.token+"@";default:return e.token+"@"}}function egt(e){switch(e.source){case"bitbucket-server":return"scm/"+e.full_name;default:return""+e.full_name}}mde.exports=j8});var Tde=_((m5t,Rde)=>{var Agt=Ux(),fgt=$S(),pgt=Hl(),hgt=fE(),ggt=m_(),dgt=ow(),mgt=R1();function ygt(e){return pgt(e)?Agt(e,dgt):hgt(e)?[e]:fgt(ggt(mgt(e)))}Rde.exports=ygt});function Igt(e,t){return t===1&&Cgt.has(e[0])}function E2(e){let t=Array.isArray(e)?e:(0,Ode.default)(e);return t.map((o,a)=>Egt.test(o)?`[${o}]`:wgt.test(o)&&!Igt(t,a)?`.${o}`:`[${JSON.stringify(o)}]`).join("").replace(/^\./,"")}function Bgt(e,t){let r=[];if(t.methodName!==null&&r.push(ye.pretty(e,t.methodName,ye.Type.CODE)),t.file!==null){let o=[];o.push(ye.pretty(e,t.file,ye.Type.PATH)),t.line!==null&&(o.push(ye.pretty(e,t.line,ye.Type.NUMBER)),t.column!==null&&o.push(ye.pretty(e,t.column,ye.Type.NUMBER))),r.push(`(${o.join(ye.pretty(e,":","grey"))})`)}return r.join(" ")}function pQ(e,{manifestUpdates:t,reportedErrors:r},{fix:o}={}){let a=new Map,n=new Map;for(let[u,A]of t){let p=r.get(u)?.map(v=>({text:v,fixable:!1}))??[],h=!1,w=e.getWorkspaceByCwd(u),I=w.manifest.exportTo({});for(let[v,b]of A){if(b.size>1){let E=[...b].map(([R,N])=>{let U=ye.pretty(e.configuration,R,ye.Type.INSPECT),V=N.size>0?Bgt(e.configuration,N.values().next().value):null;return V!==null?` -${U} at ${V}`:` -${U}`}).join("");p.push({text:`Conflict detected in constraint targeting ${ye.pretty(e.configuration,v,ye.Type.CODE)}; conflicting values are:${E}`,fixable:!1})}else{let[[E]]=b,R=(0,Nde.default)(I,v);if(R===E)continue;if(!o){let N=typeof R>"u"?`Missing field ${ye.pretty(e.configuration,v,ye.Type.CODE)}; expected ${ye.pretty(e.configuration,E,ye.Type.INSPECT)}`:typeof E>"u"?`Extraneous field ${ye.pretty(e.configuration,v,ye.Type.CODE)} currently set to ${ye.pretty(e.configuration,R,ye.Type.INSPECT)}`:`Invalid field ${ye.pretty(e.configuration,v,ye.Type.CODE)}; expected ${ye.pretty(e.configuration,E,ye.Type.INSPECT)}, found ${ye.pretty(e.configuration,R,ye.Type.INSPECT)}`;p.push({text:N,fixable:!0});continue}typeof E>"u"?(0,Mde.default)(I,v):(0,Lde.default)(I,v,E),h=!0}h&&a.set(w,I)}p.length>0&&n.set(w,p)}return{changedWorkspaces:a,remainingErrors:n}}function Ude(e,{configuration:t}){let r={children:[]};for(let[o,a]of e){let n=[];for(let A of a){let p=A.text.split(/\n/);A.fixable&&(p[0]=`${ye.pretty(t,"\u2699","gray")} ${p[0]}`),n.push({value:ye.tuple(ye.Type.NO_HINT,p[0]),children:p.slice(1).map(h=>({value:ye.tuple(ye.Type.NO_HINT,h)}))})}let u={value:ye.tuple(ye.Type.LOCATOR,o.anchoredLocator),children:_e.sortMap(n,A=>A.value[1])};r.children.push(u)}return r.children=_e.sortMap(r.children,o=>o.value[1]),r}var Nde,Lde,Ode,Mde,Ew,Egt,wgt,Cgt,w2=yt(()=>{Ye();Nde=$e(f2()),Lde=$e(P8()),Ode=$e(Tde()),Mde=$e(Q8()),Ew=class{constructor(t){this.indexedFields=t;this.items=[];this.indexes={};this.clear()}clear(){this.items=[];for(let t of this.indexedFields)this.indexes[t]=new Map}insert(t){this.items.push(t);for(let r of this.indexedFields){let o=Object.hasOwn(t,r)?t[r]:void 0;if(typeof o>"u")continue;_e.getArrayWithDefault(this.indexes[r],o).push(t)}return t}find(t){if(typeof t>"u")return this.items;let r=Object.entries(t);if(r.length===0)return this.items;let o=[],a;for(let[u,A]of r){let p=u,h=Object.hasOwn(this.indexes,p)?this.indexes[p]:void 0;if(typeof h>"u"){o.push([p,A]);continue}let w=new Set(h.get(A)??[]);if(w.size===0)return[];if(typeof a>"u")a=w;else for(let I of a)w.has(I)||a.delete(I);if(a.size===0)break}let n=[...a??[]];return o.length>0&&(n=n.filter(u=>{for(let[A,p]of o)if(!(typeof p<"u"?Object.hasOwn(u,A)&&u[A]===p:Object.hasOwn(u,A)===!1))return!1;return!0})),n}},Egt=/^[0-9]+$/,wgt=/^[a-zA-Z0-9_]+$/,Cgt=new Set(["scripts",...Ot.allDependencies])});var _de=_((b5t,rH)=>{var vgt;(function(e){var t=function(){return{"append/2":[new e.type.Rule(new e.type.Term("append",[new e.type.Var("X"),new e.type.Var("L")]),new e.type.Term("foldl",[new e.type.Term("append",[]),new e.type.Var("X"),new e.type.Term("[]",[]),new e.type.Var("L")]))],"append/3":[new e.type.Rule(new e.type.Term("append",[new e.type.Term("[]",[]),new e.type.Var("X"),new e.type.Var("X")]),null),new e.type.Rule(new e.type.Term("append",[new e.type.Term(".",[new e.type.Var("H"),new e.type.Var("T")]),new e.type.Var("X"),new e.type.Term(".",[new e.type.Var("H"),new e.type.Var("S")])]),new e.type.Term("append",[new e.type.Var("T"),new e.type.Var("X"),new e.type.Var("S")]))],"member/2":[new e.type.Rule(new e.type.Term("member",[new e.type.Var("X"),new e.type.Term(".",[new e.type.Var("X"),new e.type.Var("_")])]),null),new e.type.Rule(new e.type.Term("member",[new e.type.Var("X"),new e.type.Term(".",[new e.type.Var("_"),new e.type.Var("Xs")])]),new e.type.Term("member",[new e.type.Var("X"),new e.type.Var("Xs")]))],"permutation/2":[new e.type.Rule(new e.type.Term("permutation",[new e.type.Term("[]",[]),new e.type.Term("[]",[])]),null),new e.type.Rule(new e.type.Term("permutation",[new e.type.Term(".",[new e.type.Var("H"),new e.type.Var("T")]),new e.type.Var("S")]),new e.type.Term(",",[new e.type.Term("permutation",[new e.type.Var("T"),new e.type.Var("P")]),new e.type.Term(",",[new e.type.Term("append",[new e.type.Var("X"),new e.type.Var("Y"),new e.type.Var("P")]),new e.type.Term("append",[new e.type.Var("X"),new e.type.Term(".",[new e.type.Var("H"),new e.type.Var("Y")]),new e.type.Var("S")])])]))],"maplist/2":[new e.type.Rule(new e.type.Term("maplist",[new e.type.Var("_"),new e.type.Term("[]",[])]),null),new e.type.Rule(new e.type.Term("maplist",[new e.type.Var("P"),new e.type.Term(".",[new e.type.Var("X"),new e.type.Var("Xs")])]),new e.type.Term(",",[new e.type.Term("call",[new e.type.Var("P"),new e.type.Var("X")]),new e.type.Term("maplist",[new e.type.Var("P"),new e.type.Var("Xs")])]))],"maplist/3":[new e.type.Rule(new e.type.Term("maplist",[new e.type.Var("_"),new e.type.Term("[]",[]),new e.type.Term("[]",[])]),null),new e.type.Rule(new e.type.Term("maplist",[new e.type.Var("P"),new e.type.Term(".",[new e.type.Var("A"),new e.type.Var("As")]),new e.type.Term(".",[new e.type.Var("B"),new e.type.Var("Bs")])]),new e.type.Term(",",[new e.type.Term("call",[new e.type.Var("P"),new e.type.Var("A"),new e.type.Var("B")]),new e.type.Term("maplist",[new e.type.Var("P"),new e.type.Var("As"),new e.type.Var("Bs")])]))],"maplist/4":[new e.type.Rule(new e.type.Term("maplist",[new e.type.Var("_"),new e.type.Term("[]",[]),new e.type.Term("[]",[]),new e.type.Term("[]",[])]),null),new e.type.Rule(new e.type.Term("maplist",[new e.type.Var("P"),new e.type.Term(".",[new e.type.Var("A"),new e.type.Var("As")]),new e.type.Term(".",[new e.type.Var("B"),new e.type.Var("Bs")]),new e.type.Term(".",[new e.type.Var("C"),new e.type.Var("Cs")])]),new e.type.Term(",",[new e.type.Term("call",[new e.type.Var("P"),new e.type.Var("A"),new e.type.Var("B"),new e.type.Var("C")]),new e.type.Term("maplist",[new e.type.Var("P"),new e.type.Var("As"),new e.type.Var("Bs"),new e.type.Var("Cs")])]))],"maplist/5":[new e.type.Rule(new e.type.Term("maplist",[new e.type.Var("_"),new e.type.Term("[]",[]),new e.type.Term("[]",[]),new e.type.Term("[]",[]),new e.type.Term("[]",[])]),null),new e.type.Rule(new e.type.Term("maplist",[new e.type.Var("P"),new e.type.Term(".",[new e.type.Var("A"),new e.type.Var("As")]),new e.type.Term(".",[new e.type.Var("B"),new e.type.Var("Bs")]),new e.type.Term(".",[new e.type.Var("C"),new e.type.Var("Cs")]),new e.type.Term(".",[new e.type.Var("D"),new e.type.Var("Ds")])]),new e.type.Term(",",[new e.type.Term("call",[new e.type.Var("P"),new e.type.Var("A"),new e.type.Var("B"),new e.type.Var("C"),new e.type.Var("D")]),new e.type.Term("maplist",[new e.type.Var("P"),new e.type.Var("As"),new e.type.Var("Bs"),new e.type.Var("Cs"),new e.type.Var("Ds")])]))],"maplist/6":[new e.type.Rule(new e.type.Term("maplist",[new e.type.Var("_"),new e.type.Term("[]",[]),new e.type.Term("[]",[]),new e.type.Term("[]",[]),new e.type.Term("[]",[]),new e.type.Term("[]",[])]),null),new e.type.Rule(new e.type.Term("maplist",[new e.type.Var("P"),new e.type.Term(".",[new e.type.Var("A"),new e.type.Var("As")]),new e.type.Term(".",[new e.type.Var("B"),new e.type.Var("Bs")]),new e.type.Term(".",[new e.type.Var("C"),new e.type.Var("Cs")]),new e.type.Term(".",[new e.type.Var("D"),new e.type.Var("Ds")]),new e.type.Term(".",[new e.type.Var("E"),new e.type.Var("Es")])]),new e.type.Term(",",[new e.type.Term("call",[new e.type.Var("P"),new e.type.Var("A"),new e.type.Var("B"),new e.type.Var("C"),new e.type.Var("D"),new e.type.Var("E")]),new e.type.Term("maplist",[new e.type.Var("P"),new e.type.Var("As"),new e.type.Var("Bs"),new e.type.Var("Cs"),new e.type.Var("Ds"),new e.type.Var("Es")])]))],"maplist/7":[new e.type.Rule(new e.type.Term("maplist",[new e.type.Var("_"),new e.type.Term("[]",[]),new e.type.Term("[]",[]),new e.type.Term("[]",[]),new e.type.Term("[]",[]),new e.type.Term("[]",[]),new e.type.Term("[]",[])]),null),new e.type.Rule(new e.type.Term("maplist",[new e.type.Var("P"),new e.type.Term(".",[new e.type.Var("A"),new e.type.Var("As")]),new e.type.Term(".",[new e.type.Var("B"),new e.type.Var("Bs")]),new e.type.Term(".",[new e.type.Var("C"),new e.type.Var("Cs")]),new e.type.Term(".",[new e.type.Var("D"),new e.type.Var("Ds")]),new e.type.Term(".",[new e.type.Var("E"),new e.type.Var("Es")]),new e.type.Term(".",[new e.type.Var("F"),new e.type.Var("Fs")])]),new e.type.Term(",",[new e.type.Term("call",[new e.type.Var("P"),new e.type.Var("A"),new e.type.Var("B"),new e.type.Var("C"),new e.type.Var("D"),new e.type.Var("E"),new e.type.Var("F")]),new e.type.Term("maplist",[new e.type.Var("P"),new e.type.Var("As"),new e.type.Var("Bs"),new e.type.Var("Cs"),new e.type.Var("Ds"),new e.type.Var("Es"),new e.type.Var("Fs")])]))],"maplist/8":[new e.type.Rule(new e.type.Term("maplist",[new e.type.Var("_"),new e.type.Term("[]",[]),new e.type.Term("[]",[]),new e.type.Term("[]",[]),new e.type.Term("[]",[]),new e.type.Term("[]",[]),new e.type.Term("[]",[]),new e.type.Term("[]",[])]),null),new e.type.Rule(new e.type.Term("maplist",[new e.type.Var("P"),new e.type.Term(".",[new e.type.Var("A"),new e.type.Var("As")]),new e.type.Term(".",[new e.type.Var("B"),new e.type.Var("Bs")]),new e.type.Term(".",[new e.type.Var("C"),new e.type.Var("Cs")]),new e.type.Term(".",[new e.type.Var("D"),new e.type.Var("Ds")]),new e.type.Term(".",[new e.type.Var("E"),new e.type.Var("Es")]),new e.type.Term(".",[new e.type.Var("F"),new e.type.Var("Fs")]),new e.type.Term(".",[new e.type.Var("G"),new e.type.Var("Gs")])]),new e.type.Term(",",[new e.type.Term("call",[new e.type.Var("P"),new e.type.Var("A"),new e.type.Var("B"),new e.type.Var("C"),new e.type.Var("D"),new e.type.Var("E"),new e.type.Var("F"),new e.type.Var("G")]),new e.type.Term("maplist",[new e.type.Var("P"),new e.type.Var("As"),new e.type.Var("Bs"),new e.type.Var("Cs"),new e.type.Var("Ds"),new e.type.Var("Es"),new e.type.Var("Fs"),new e.type.Var("Gs")])]))],"include/3":[new e.type.Rule(new e.type.Term("include",[new e.type.Var("_"),new e.type.Term("[]",[]),new e.type.Term("[]",[])]),null),new e.type.Rule(new e.type.Term("include",[new e.type.Var("P"),new e.type.Term(".",[new e.type.Var("H"),new e.type.Var("T")]),new e.type.Var("L")]),new e.type.Term(",",[new e.type.Term("=..",[new e.type.Var("P"),new e.type.Var("A")]),new e.type.Term(",",[new e.type.Term("append",[new e.type.Var("A"),new e.type.Term(".",[new e.type.Var("H"),new e.type.Term("[]",[])]),new e.type.Var("B")]),new e.type.Term(",",[new e.type.Term("=..",[new e.type.Var("F"),new e.type.Var("B")]),new e.type.Term(",",[new e.type.Term(";",[new e.type.Term(",",[new e.type.Term("call",[new e.type.Var("F")]),new e.type.Term(",",[new e.type.Term("=",[new e.type.Var("L"),new e.type.Term(".",[new e.type.Var("H"),new e.type.Var("S")])]),new e.type.Term("!",[])])]),new e.type.Term("=",[new e.type.Var("L"),new e.type.Var("S")])]),new e.type.Term("include",[new e.type.Var("P"),new e.type.Var("T"),new e.type.Var("S")])])])])]))],"exclude/3":[new e.type.Rule(new e.type.Term("exclude",[new e.type.Var("_"),new e.type.Term("[]",[]),new e.type.Term("[]",[])]),null),new e.type.Rule(new e.type.Term("exclude",[new e.type.Var("P"),new e.type.Term(".",[new e.type.Var("H"),new e.type.Var("T")]),new e.type.Var("S")]),new e.type.Term(",",[new e.type.Term("exclude",[new e.type.Var("P"),new e.type.Var("T"),new e.type.Var("E")]),new e.type.Term(",",[new e.type.Term("=..",[new e.type.Var("P"),new e.type.Var("L")]),new e.type.Term(",",[new e.type.Term("append",[new e.type.Var("L"),new e.type.Term(".",[new e.type.Var("H"),new e.type.Term("[]",[])]),new e.type.Var("Q")]),new e.type.Term(",",[new e.type.Term("=..",[new e.type.Var("R"),new e.type.Var("Q")]),new e.type.Term(";",[new e.type.Term(",",[new e.type.Term("call",[new e.type.Var("R")]),new e.type.Term(",",[new e.type.Term("!",[]),new e.type.Term("=",[new e.type.Var("S"),new e.type.Var("E")])])]),new e.type.Term("=",[new e.type.Var("S"),new e.type.Term(".",[new e.type.Var("H"),new e.type.Var("E")])])])])])])]))],"foldl/4":[new e.type.Rule(new e.type.Term("foldl",[new e.type.Var("_"),new e.type.Term("[]",[]),new e.type.Var("I"),new e.type.Var("I")]),null),new e.type.Rule(new e.type.Term("foldl",[new e.type.Var("P"),new e.type.Term(".",[new e.type.Var("H"),new e.type.Var("T")]),new e.type.Var("I"),new e.type.Var("R")]),new e.type.Term(",",[new e.type.Term("=..",[new e.type.Var("P"),new e.type.Var("L")]),new e.type.Term(",",[new e.type.Term("append",[new e.type.Var("L"),new e.type.Term(".",[new e.type.Var("I"),new e.type.Term(".",[new e.type.Var("H"),new e.type.Term(".",[new e.type.Var("X"),new e.type.Term("[]",[])])])]),new e.type.Var("L2")]),new e.type.Term(",",[new e.type.Term("=..",[new e.type.Var("P2"),new e.type.Var("L2")]),new e.type.Term(",",[new e.type.Term("call",[new e.type.Var("P2")]),new e.type.Term("foldl",[new e.type.Var("P"),new e.type.Var("T"),new e.type.Var("X"),new e.type.Var("R")])])])])]))],"select/3":[new e.type.Rule(new e.type.Term("select",[new e.type.Var("E"),new e.type.Term(".",[new e.type.Var("E"),new e.type.Var("Xs")]),new e.type.Var("Xs")]),null),new e.type.Rule(new e.type.Term("select",[new e.type.Var("E"),new e.type.Term(".",[new e.type.Var("X"),new e.type.Var("Xs")]),new e.type.Term(".",[new e.type.Var("X"),new e.type.Var("Ys")])]),new e.type.Term("select",[new e.type.Var("E"),new e.type.Var("Xs"),new e.type.Var("Ys")]))],"sum_list/2":[new e.type.Rule(new e.type.Term("sum_list",[new e.type.Term("[]",[]),new e.type.Num(0,!1)]),null),new e.type.Rule(new e.type.Term("sum_list",[new e.type.Term(".",[new e.type.Var("X"),new e.type.Var("Xs")]),new e.type.Var("S")]),new e.type.Term(",",[new e.type.Term("sum_list",[new e.type.Var("Xs"),new e.type.Var("Y")]),new e.type.Term("is",[new e.type.Var("S"),new e.type.Term("+",[new e.type.Var("X"),new e.type.Var("Y")])])]))],"max_list/2":[new e.type.Rule(new e.type.Term("max_list",[new e.type.Term(".",[new e.type.Var("X"),new e.type.Term("[]",[])]),new e.type.Var("X")]),null),new e.type.Rule(new e.type.Term("max_list",[new e.type.Term(".",[new e.type.Var("X"),new e.type.Var("Xs")]),new e.type.Var("S")]),new e.type.Term(",",[new e.type.Term("max_list",[new e.type.Var("Xs"),new e.type.Var("Y")]),new e.type.Term(";",[new e.type.Term(",",[new e.type.Term(">=",[new e.type.Var("X"),new e.type.Var("Y")]),new e.type.Term(",",[new e.type.Term("=",[new e.type.Var("S"),new e.type.Var("X")]),new e.type.Term("!",[])])]),new e.type.Term("=",[new e.type.Var("S"),new e.type.Var("Y")])])]))],"min_list/2":[new e.type.Rule(new e.type.Term("min_list",[new e.type.Term(".",[new e.type.Var("X"),new e.type.Term("[]",[])]),new e.type.Var("X")]),null),new e.type.Rule(new e.type.Term("min_list",[new e.type.Term(".",[new e.type.Var("X"),new e.type.Var("Xs")]),new e.type.Var("S")]),new e.type.Term(",",[new e.type.Term("min_list",[new e.type.Var("Xs"),new e.type.Var("Y")]),new e.type.Term(";",[new e.type.Term(",",[new e.type.Term("=<",[new e.type.Var("X"),new e.type.Var("Y")]),new e.type.Term(",",[new e.type.Term("=",[new e.type.Var("S"),new e.type.Var("X")]),new e.type.Term("!",[])])]),new e.type.Term("=",[new e.type.Var("S"),new e.type.Var("Y")])])]))],"prod_list/2":[new e.type.Rule(new e.type.Term("prod_list",[new e.type.Term("[]",[]),new e.type.Num(1,!1)]),null),new e.type.Rule(new e.type.Term("prod_list",[new e.type.Term(".",[new e.type.Var("X"),new e.type.Var("Xs")]),new e.type.Var("S")]),new e.type.Term(",",[new e.type.Term("prod_list",[new e.type.Var("Xs"),new e.type.Var("Y")]),new e.type.Term("is",[new e.type.Var("S"),new e.type.Term("*",[new e.type.Var("X"),new e.type.Var("Y")])])]))],"last/2":[new e.type.Rule(new e.type.Term("last",[new e.type.Term(".",[new e.type.Var("X"),new e.type.Term("[]",[])]),new e.type.Var("X")]),null),new e.type.Rule(new e.type.Term("last",[new e.type.Term(".",[new e.type.Var("_"),new e.type.Var("Xs")]),new e.type.Var("X")]),new e.type.Term("last",[new e.type.Var("Xs"),new e.type.Var("X")]))],"prefix/2":[new e.type.Rule(new e.type.Term("prefix",[new e.type.Var("Part"),new e.type.Var("Whole")]),new e.type.Term("append",[new e.type.Var("Part"),new e.type.Var("_"),new e.type.Var("Whole")]))],"nth0/3":[new e.type.Rule(new e.type.Term("nth0",[new e.type.Var("X"),new e.type.Var("Y"),new e.type.Var("Z")]),new e.type.Term(";",[new e.type.Term("->",[new e.type.Term("var",[new e.type.Var("X")]),new e.type.Term("nth",[new e.type.Num(0,!1),new e.type.Var("X"),new e.type.Var("Y"),new e.type.Var("Z"),new e.type.Var("_")])]),new e.type.Term(",",[new e.type.Term(">=",[new e.type.Var("X"),new e.type.Num(0,!1)]),new e.type.Term(",",[new e.type.Term("nth",[new e.type.Num(0,!1),new e.type.Var("X"),new e.type.Var("Y"),new e.type.Var("Z"),new e.type.Var("_")]),new e.type.Term("!",[])])])]))],"nth1/3":[new e.type.Rule(new e.type.Term("nth1",[new e.type.Var("X"),new e.type.Var("Y"),new e.type.Var("Z")]),new e.type.Term(";",[new e.type.Term("->",[new e.type.Term("var",[new e.type.Var("X")]),new e.type.Term("nth",[new e.type.Num(1,!1),new e.type.Var("X"),new e.type.Var("Y"),new e.type.Var("Z"),new e.type.Var("_")])]),new e.type.Term(",",[new e.type.Term(">",[new e.type.Var("X"),new e.type.Num(0,!1)]),new e.type.Term(",",[new e.type.Term("nth",[new e.type.Num(1,!1),new e.type.Var("X"),new e.type.Var("Y"),new e.type.Var("Z"),new e.type.Var("_")]),new e.type.Term("!",[])])])]))],"nth0/4":[new e.type.Rule(new e.type.Term("nth0",[new e.type.Var("X"),new e.type.Var("Y"),new e.type.Var("Z"),new e.type.Var("W")]),new e.type.Term(";",[new e.type.Term("->",[new e.type.Term("var",[new e.type.Var("X")]),new e.type.Term("nth",[new e.type.Num(0,!1),new e.type.Var("X"),new e.type.Var("Y"),new e.type.Var("Z"),new e.type.Var("W")])]),new e.type.Term(",",[new e.type.Term(">=",[new e.type.Var("X"),new e.type.Num(0,!1)]),new e.type.Term(",",[new e.type.Term("nth",[new e.type.Num(0,!1),new e.type.Var("X"),new e.type.Var("Y"),new e.type.Var("Z"),new e.type.Var("W")]),new e.type.Term("!",[])])])]))],"nth1/4":[new e.type.Rule(new e.type.Term("nth1",[new e.type.Var("X"),new e.type.Var("Y"),new e.type.Var("Z"),new e.type.Var("W")]),new e.type.Term(";",[new e.type.Term("->",[new e.type.Term("var",[new e.type.Var("X")]),new e.type.Term("nth",[new e.type.Num(1,!1),new e.type.Var("X"),new e.type.Var("Y"),new e.type.Var("Z"),new e.type.Var("W")])]),new e.type.Term(",",[new e.type.Term(">",[new e.type.Var("X"),new e.type.Num(0,!1)]),new e.type.Term(",",[new e.type.Term("nth",[new e.type.Num(1,!1),new e.type.Var("X"),new e.type.Var("Y"),new e.type.Var("Z"),new e.type.Var("W")]),new e.type.Term("!",[])])])]))],"nth/5":[new e.type.Rule(new e.type.Term("nth",[new e.type.Var("N"),new e.type.Var("N"),new e.type.Term(".",[new e.type.Var("X"),new e.type.Var("Xs")]),new e.type.Var("X"),new e.type.Var("Xs")]),null),new e.type.Rule(new e.type.Term("nth",[new e.type.Var("N"),new e.type.Var("O"),new e.type.Term(".",[new e.type.Var("X"),new e.type.Var("Xs")]),new e.type.Var("Y"),new e.type.Term(".",[new e.type.Var("X"),new e.type.Var("Ys")])]),new e.type.Term(",",[new e.type.Term("is",[new e.type.Var("M"),new e.type.Term("+",[new e.type.Var("N"),new e.type.Num(1,!1)])]),new e.type.Term("nth",[new e.type.Var("M"),new e.type.Var("O"),new e.type.Var("Xs"),new e.type.Var("Y"),new e.type.Var("Ys")])]))],"length/2":function(o,a,n){var u=n.args[0],A=n.args[1];if(!e.type.is_variable(A)&&!e.type.is_integer(A))o.throw_error(e.error.type("integer",A,n.indicator));else if(e.type.is_integer(A)&&A.value<0)o.throw_error(e.error.domain("not_less_than_zero",A,n.indicator));else{var p=new e.type.Term("length",[u,new e.type.Num(0,!1),A]);e.type.is_integer(A)&&(p=new e.type.Term(",",[p,new e.type.Term("!",[])])),o.prepend([new e.type.State(a.goal.replace(p),a.substitution,a)])}},"length/3":[new e.type.Rule(new e.type.Term("length",[new e.type.Term("[]",[]),new e.type.Var("N"),new e.type.Var("N")]),null),new e.type.Rule(new e.type.Term("length",[new e.type.Term(".",[new e.type.Var("_"),new e.type.Var("X")]),new e.type.Var("A"),new e.type.Var("N")]),new e.type.Term(",",[new e.type.Term("succ",[new e.type.Var("A"),new e.type.Var("B")]),new e.type.Term("length",[new e.type.Var("X"),new e.type.Var("B"),new e.type.Var("N")])]))],"replicate/3":function(o,a,n){var u=n.args[0],A=n.args[1],p=n.args[2];if(e.type.is_variable(A))o.throw_error(e.error.instantiation(n.indicator));else if(!e.type.is_integer(A))o.throw_error(e.error.type("integer",A,n.indicator));else if(A.value<0)o.throw_error(e.error.domain("not_less_than_zero",A,n.indicator));else if(!e.type.is_variable(p)&&!e.type.is_list(p))o.throw_error(e.error.type("list",p,n.indicator));else{for(var h=new e.type.Term("[]"),w=0;w<A.value;w++)h=new e.type.Term(".",[u,h]);o.prepend([new e.type.State(a.goal.replace(new e.type.Term("=",[h,p])),a.substitution,a)])}},"sort/2":function(o,a,n){var u=n.args[0],A=n.args[1];if(e.type.is_variable(u))o.throw_error(e.error.instantiation(n.indicator));else if(!e.type.is_variable(A)&&!e.type.is_fully_list(A))o.throw_error(e.error.type("list",A,n.indicator));else{for(var p=[],h=u;h.indicator==="./2";)p.push(h.args[0]),h=h.args[1];if(e.type.is_variable(h))o.throw_error(e.error.instantiation(n.indicator));else if(!e.type.is_empty_list(h))o.throw_error(e.error.type("list",u,n.indicator));else{for(var w=p.sort(e.compare),I=w.length-1;I>0;I--)w[I].equals(w[I-1])&&w.splice(I,1);for(var v=new e.type.Term("[]"),I=w.length-1;I>=0;I--)v=new e.type.Term(".",[w[I],v]);o.prepend([new e.type.State(a.goal.replace(new e.type.Term("=",[v,A])),a.substitution,a)])}}},"msort/2":function(o,a,n){var u=n.args[0],A=n.args[1];if(e.type.is_variable(u))o.throw_error(e.error.instantiation(n.indicator));else if(!e.type.is_variable(A)&&!e.type.is_fully_list(A))o.throw_error(e.error.type("list",A,n.indicator));else{for(var p=[],h=u;h.indicator==="./2";)p.push(h.args[0]),h=h.args[1];if(e.type.is_variable(h))o.throw_error(e.error.instantiation(n.indicator));else if(!e.type.is_empty_list(h))o.throw_error(e.error.type("list",u,n.indicator));else{for(var w=p.sort(e.compare),I=new e.type.Term("[]"),v=w.length-1;v>=0;v--)I=new e.type.Term(".",[w[v],I]);o.prepend([new e.type.State(a.goal.replace(new e.type.Term("=",[I,A])),a.substitution,a)])}}},"keysort/2":function(o,a,n){var u=n.args[0],A=n.args[1];if(e.type.is_variable(u))o.throw_error(e.error.instantiation(n.indicator));else if(!e.type.is_variable(A)&&!e.type.is_fully_list(A))o.throw_error(e.error.type("list",A,n.indicator));else{for(var p=[],h,w=u;w.indicator==="./2";){if(h=w.args[0],e.type.is_variable(h)){o.throw_error(e.error.instantiation(n.indicator));return}else if(!e.type.is_term(h)||h.indicator!=="-/2"){o.throw_error(e.error.type("pair",h,n.indicator));return}h.args[0].pair=h.args[1],p.push(h.args[0]),w=w.args[1]}if(e.type.is_variable(w))o.throw_error(e.error.instantiation(n.indicator));else if(!e.type.is_empty_list(w))o.throw_error(e.error.type("list",u,n.indicator));else{for(var I=p.sort(e.compare),v=new e.type.Term("[]"),b=I.length-1;b>=0;b--)v=new e.type.Term(".",[new e.type.Term("-",[I[b],I[b].pair]),v]),delete I[b].pair;o.prepend([new e.type.State(a.goal.replace(new e.type.Term("=",[v,A])),a.substitution,a)])}}},"take/3":function(o,a,n){var u=n.args[0],A=n.args[1],p=n.args[2];if(e.type.is_variable(A)||e.type.is_variable(u))o.throw_error(e.error.instantiation(n.indicator));else if(!e.type.is_list(A))o.throw_error(e.error.type("list",A,n.indicator));else if(!e.type.is_integer(u))o.throw_error(e.error.type("integer",u,n.indicator));else if(!e.type.is_variable(p)&&!e.type.is_list(p))o.throw_error(e.error.type("list",p,n.indicator));else{for(var h=u.value,w=[],I=A;h>0&&I.indicator==="./2";)w.push(I.args[0]),I=I.args[1],h--;if(h===0){for(var v=new e.type.Term("[]"),h=w.length-1;h>=0;h--)v=new e.type.Term(".",[w[h],v]);o.prepend([new e.type.State(a.goal.replace(new e.type.Term("=",[v,p])),a.substitution,a)])}}},"drop/3":function(o,a,n){var u=n.args[0],A=n.args[1],p=n.args[2];if(e.type.is_variable(A)||e.type.is_variable(u))o.throw_error(e.error.instantiation(n.indicator));else if(!e.type.is_list(A))o.throw_error(e.error.type("list",A,n.indicator));else if(!e.type.is_integer(u))o.throw_error(e.error.type("integer",u,n.indicator));else if(!e.type.is_variable(p)&&!e.type.is_list(p))o.throw_error(e.error.type("list",p,n.indicator));else{for(var h=u.value,w=[],I=A;h>0&&I.indicator==="./2";)w.push(I.args[0]),I=I.args[1],h--;h===0&&o.prepend([new e.type.State(a.goal.replace(new e.type.Term("=",[I,p])),a.substitution,a)])}},"reverse/2":function(o,a,n){var u=n.args[0],A=n.args[1],p=e.type.is_instantiated_list(u),h=e.type.is_instantiated_list(A);if(e.type.is_variable(u)&&e.type.is_variable(A))o.throw_error(e.error.instantiation(n.indicator));else if(!e.type.is_variable(u)&&!e.type.is_fully_list(u))o.throw_error(e.error.type("list",u,n.indicator));else if(!e.type.is_variable(A)&&!e.type.is_fully_list(A))o.throw_error(e.error.type("list",A,n.indicator));else if(!p&&!h)o.throw_error(e.error.instantiation(n.indicator));else{for(var w=p?u:A,I=new e.type.Term("[]",[]);w.indicator==="./2";)I=new e.type.Term(".",[w.args[0],I]),w=w.args[1];o.prepend([new e.type.State(a.goal.replace(new e.type.Term("=",[I,p?A:u])),a.substitution,a)])}},"list_to_set/2":function(o,a,n){var u=n.args[0],A=n.args[1];if(e.type.is_variable(u))o.throw_error(e.error.instantiation(n.indicator));else{for(var p=u,h=[];p.indicator==="./2";)h.push(p.args[0]),p=p.args[1];if(e.type.is_variable(p))o.throw_error(e.error.instantiation(n.indicator));else if(!e.type.is_term(p)||p.indicator!=="[]/0")o.throw_error(e.error.type("list",u,n.indicator));else{for(var w=[],I=new e.type.Term("[]",[]),v,b=0;b<h.length;b++){v=!1;for(var E=0;E<w.length&&!v;E++)v=e.compare(h[b],w[E])===0;v||w.push(h[b])}for(b=w.length-1;b>=0;b--)I=new e.type.Term(".",[w[b],I]);o.prepend([new e.type.State(a.goal.replace(new e.type.Term("=",[A,I])),a.substitution,a)])}}}}},r=["append/2","append/3","member/2","permutation/2","maplist/2","maplist/3","maplist/4","maplist/5","maplist/6","maplist/7","maplist/8","include/3","exclude/3","foldl/4","sum_list/2","max_list/2","min_list/2","prod_list/2","last/2","prefix/2","nth0/3","nth1/3","nth0/4","nth1/4","length/2","replicate/3","select/3","sort/2","msort/2","keysort/2","take/3","drop/3","reverse/2","list_to_set/2"];typeof rH<"u"?rH.exports=function(o){e=o,new e.type.Module("lists",t(),r)}:new e.type.Module("lists",t(),r)})(vgt)});var tme=_(Gr=>{"use strict";var Zd=process.platform==="win32",nH="aes-256-cbc",Dgt="sha256",qde="The current environment doesn't support interactive reading from TTY.",Gn=Ie("fs"),Hde=process.binding("tty_wrap").TTY,sH=Ie("child_process"),l0=Ie("path"),oH={prompt:"> ",hideEchoBack:!1,mask:"*",limit:[],limitMessage:"Input another, please.$<( [)limit(])>",defaultInput:"",trueValue:[],falseValue:[],caseSensitive:!1,keepWhitespace:!1,encoding:"utf8",bufferSize:1024,print:void 0,history:!0,cd:!1,phContent:void 0,preCheck:void 0},Vf="none",$c,Cw,jde=!1,a0,gQ,iH,Sgt=0,AH="",Xd=[],dQ,Gde=!1,aH=!1,C2=!1;function Yde(e){function t(r){return r.replace(/[^\w\u0080-\uFFFF]/g,function(o){return"#"+o.charCodeAt(0)+";"})}return gQ.concat(function(r){var o=[];return Object.keys(r).forEach(function(a){r[a]==="boolean"?e[a]&&o.push("--"+a):r[a]==="string"&&e[a]&&o.push("--"+a,t(e[a]))}),o}({display:"string",displayOnly:"boolean",keyIn:"boolean",hideEchoBack:"boolean",mask:"string",limit:"string",caseSensitive:"boolean"}))}function Pgt(e,t){function r(U){var V,ee="",le;for(iH=iH||Ie("os").tmpdir();;){V=l0.join(iH,U+ee);try{le=Gn.openSync(V,"wx")}catch(fe){if(fe.code==="EEXIST"){ee++;continue}else throw fe}Gn.closeSync(le);break}return V}var o,a,n,u={},A,p,h=r("readline-sync.stdout"),w=r("readline-sync.stderr"),I=r("readline-sync.exit"),v=r("readline-sync.done"),b=Ie("crypto"),E,R,N;E=b.createHash(Dgt),E.update(""+process.pid+Sgt+++Math.random()),N=E.digest("hex"),R=b.createDecipher(nH,N),o=Yde(e),Zd?(a=process.env.ComSpec||"cmd.exe",process.env.Q='"',n=["/V:ON","/S","/C","(%Q%"+a+"%Q% /V:ON /S /C %Q%%Q%"+a0+"%Q%"+o.map(function(U){return" %Q%"+U+"%Q%"}).join("")+" & (echo !ERRORLEVEL!)>%Q%"+I+"%Q%%Q%) 2>%Q%"+w+"%Q% |%Q%"+process.execPath+"%Q% %Q%"+__dirname+"\\encrypt.js%Q% %Q%"+nH+"%Q% %Q%"+N+"%Q% >%Q%"+h+"%Q% & (echo 1)>%Q%"+v+"%Q%"]):(a="/bin/sh",n=["-c",'("'+a0+'"'+o.map(function(U){return" '"+U.replace(/'/g,"'\\''")+"'"}).join("")+'; echo $?>"'+I+'") 2>"'+w+'" |"'+process.execPath+'" "'+__dirname+'/encrypt.js" "'+nH+'" "'+N+'" >"'+h+'"; echo 1 >"'+v+'"']),C2&&C2("_execFileSync",o);try{sH.spawn(a,n,t)}catch(U){u.error=new Error(U.message),u.error.method="_execFileSync - spawn",u.error.program=a,u.error.args=n}for(;Gn.readFileSync(v,{encoding:e.encoding}).trim()!=="1";);return(A=Gn.readFileSync(I,{encoding:e.encoding}).trim())==="0"?u.input=R.update(Gn.readFileSync(h,{encoding:"binary"}),"hex",e.encoding)+R.final(e.encoding):(p=Gn.readFileSync(w,{encoding:e.encoding}).trim(),u.error=new Error(qde+(p?` -`+p:"")),u.error.method="_execFileSync",u.error.program=a,u.error.args=n,u.error.extMessage=p,u.error.exitCode=+A),Gn.unlinkSync(h),Gn.unlinkSync(w),Gn.unlinkSync(I),Gn.unlinkSync(v),u}function xgt(e){var t,r={},o,a={env:process.env,encoding:e.encoding};if(a0||(Zd?process.env.PSModulePath?(a0="powershell.exe",gQ=["-ExecutionPolicy","Bypass","-File",__dirname+"\\read.ps1"]):(a0="cscript.exe",gQ=["//nologo",__dirname+"\\read.cs.js"]):(a0="/bin/sh",gQ=[__dirname+"/read.sh"])),Zd&&!process.env.PSModulePath&&(a.stdio=[process.stdin]),sH.execFileSync){t=Yde(e),C2&&C2("execFileSync",t);try{r.input=sH.execFileSync(a0,t,a)}catch(n){o=n.stderr?(n.stderr+"").trim():"",r.error=new Error(qde+(o?` -`+o:"")),r.error.method="execFileSync",r.error.program=a0,r.error.args=t,r.error.extMessage=o,r.error.exitCode=n.status,r.error.code=n.code,r.error.signal=n.signal}}else r=Pgt(e,a);return r.error||(r.input=r.input.replace(/^\s*'|'\s*$/g,""),e.display=""),r}function lH(e){var t="",r=e.display,o=!e.display&&e.keyIn&&e.hideEchoBack&&!e.mask;function a(){var n=xgt(e);if(n.error)throw n.error;return n.input}return aH&&aH(e),function(){var n,u,A;function p(){return n||(n=process.binding("fs"),u=process.binding("constants")),n}if(typeof Vf=="string")if(Vf=null,Zd){if(A=function(h){var w=h.replace(/^\D+/,"").split("."),I=0;return(w[0]=+w[0])&&(I+=w[0]*1e4),(w[1]=+w[1])&&(I+=w[1]*100),(w[2]=+w[2])&&(I+=w[2]),I}(process.version),!(A>=20302&&A<40204||A>=5e4&&A<50100||A>=50600&&A<60200)&&process.stdin.isTTY)process.stdin.pause(),Vf=process.stdin.fd,Cw=process.stdin._handle;else try{Vf=p().open("CONIN$",u.O_RDWR,parseInt("0666",8)),Cw=new Hde(Vf,!0)}catch{}if(process.stdout.isTTY)$c=process.stdout.fd;else{try{$c=Gn.openSync("\\\\.\\CON","w")}catch{}if(typeof $c!="number")try{$c=p().open("CONOUT$",u.O_RDWR,parseInt("0666",8))}catch{}}}else{if(process.stdin.isTTY){process.stdin.pause();try{Vf=Gn.openSync("/dev/tty","r"),Cw=process.stdin._handle}catch{}}else try{Vf=Gn.openSync("/dev/tty","r"),Cw=new Hde(Vf,!1)}catch{}if(process.stdout.isTTY)$c=process.stdout.fd;else try{$c=Gn.openSync("/dev/tty","w")}catch{}}}(),function(){var n,u,A=!e.hideEchoBack&&!e.keyIn,p,h,w,I,v;dQ="";function b(E){return E===jde?!0:Cw.setRawMode(E)!==0?!1:(jde=E,!0)}if(Gde||!Cw||typeof $c!="number"&&(e.display||!A)){t=a();return}if(e.display&&(Gn.writeSync($c,e.display),e.display=""),!e.displayOnly){if(!b(!A)){t=a();return}for(h=e.keyIn?1:e.bufferSize,p=Buffer.allocUnsafe&&Buffer.alloc?Buffer.alloc(h):new Buffer(h),e.keyIn&&e.limit&&(u=new RegExp("[^"+e.limit+"]","g"+(e.caseSensitive?"":"i")));;){w=0;try{w=Gn.readSync(Vf,p,0,h)}catch(E){if(E.code!=="EOF"){b(!1),t+=a();return}}if(w>0?(I=p.toString(e.encoding,0,w),dQ+=I):(I=` -`,dQ+=String.fromCharCode(0)),I&&typeof(v=(I.match(/^(.*?)[\r\n]/)||[])[1])=="string"&&(I=v,n=!0),I&&(I=I.replace(/[\x00-\x08\x0b\x0c\x0e-\x1f\x7f]/g,"")),I&&u&&(I=I.replace(u,"")),I&&(A||(e.hideEchoBack?e.mask&&Gn.writeSync($c,new Array(I.length+1).join(e.mask)):Gn.writeSync($c,I)),t+=I),!e.keyIn&&n||e.keyIn&&t.length>=h)break}!A&&!o&&Gn.writeSync($c,` -`),b(!1)}}(),e.print&&!o&&e.print(r+(e.displayOnly?"":(e.hideEchoBack?new Array(t.length+1).join(e.mask):t)+` -`),e.encoding),e.displayOnly?"":AH=e.keepWhitespace||e.keyIn?t:t.trim()}function bgt(e,t){var r=[];function o(a){a!=null&&(Array.isArray(a)?a.forEach(o):(!t||t(a))&&r.push(a))}return o(e),r}function fH(e){return e.replace(/[\x00-\x7f]/g,function(t){return"\\x"+("00"+t.charCodeAt().toString(16)).substr(-2)})}function Ns(){var e=Array.prototype.slice.call(arguments),t,r;return e.length&&typeof e[0]=="boolean"&&(r=e.shift(),r&&(t=Object.keys(oH),e.unshift(oH))),e.reduce(function(o,a){return a==null||(a.hasOwnProperty("noEchoBack")&&!a.hasOwnProperty("hideEchoBack")&&(a.hideEchoBack=a.noEchoBack,delete a.noEchoBack),a.hasOwnProperty("noTrim")&&!a.hasOwnProperty("keepWhitespace")&&(a.keepWhitespace=a.noTrim,delete a.noTrim),r||(t=Object.keys(a)),t.forEach(function(n){var u;if(!!a.hasOwnProperty(n))switch(u=a[n],n){case"mask":case"limitMessage":case"defaultInput":case"encoding":u=u!=null?u+"":"",u&&n!=="limitMessage"&&(u=u.replace(/[\r\n]/g,"")),o[n]=u;break;case"bufferSize":!isNaN(u=parseInt(u,10))&&typeof u=="number"&&(o[n]=u);break;case"displayOnly":case"keyIn":case"hideEchoBack":case"caseSensitive":case"keepWhitespace":case"history":case"cd":o[n]=!!u;break;case"limit":case"trueValue":case"falseValue":o[n]=bgt(u,function(A){var p=typeof A;return p==="string"||p==="number"||p==="function"||A instanceof RegExp}).map(function(A){return typeof A=="string"?A.replace(/[\r\n]/g,""):A});break;case"print":case"phContent":case"preCheck":o[n]=typeof u=="function"?u:void 0;break;case"prompt":case"display":o[n]=u??"";break}})),o},{})}function cH(e,t,r){return t.some(function(o){var a=typeof o;return a==="string"?r?e===o:e.toLowerCase()===o.toLowerCase():a==="number"?parseFloat(e)===o:a==="function"?o(e):o instanceof RegExp?o.test(e):!1})}function pH(e,t){var r=l0.normalize(Zd?(process.env.HOMEDRIVE||"")+(process.env.HOMEPATH||""):process.env.HOME||"").replace(/[\/\\]+$/,"");return e=l0.normalize(e),t?e.replace(/^~(?=\/|\\|$)/,r):e.replace(new RegExp("^"+fH(r)+"(?=\\/|\\\\|$)",Zd?"i":""),"~")}function Iw(e,t){var r="(?:\\(([\\s\\S]*?)\\))?(\\w+|.-.)(?:\\(([\\s\\S]*?)\\))?",o=new RegExp("(\\$)?(\\$<"+r+">)","g"),a=new RegExp("(\\$)?(\\$\\{"+r+"\\})","g");function n(u,A,p,h,w,I){var v;return A||typeof(v=t(w))!="string"?p:v?(h||"")+v+(I||""):""}return e.replace(o,n).replace(a,n)}function Wde(e,t,r){var o,a=[],n=-1,u=0,A="",p;function h(w,I){return I.length>3?(w.push(I[0]+"..."+I[I.length-1]),p=!0):I.length&&(w=w.concat(I)),w}return o=e.reduce(function(w,I){return w.concat((I+"").split(""))},[]).reduce(function(w,I){var v,b;return t||(I=I.toLowerCase()),v=/^\d$/.test(I)?1:/^[A-Z]$/.test(I)?2:/^[a-z]$/.test(I)?3:0,r&&v===0?A+=I:(b=I.charCodeAt(0),v&&v===n&&b===u+1?a.push(I):(w=h(w,a),a=[I],n=v),u=b),w},[]),o=h(o,a),A&&(o.push(A),p=!0),{values:o,suppressed:p}}function Kde(e,t){return e.join(e.length>2?", ":t?" / ":"/")}function Jde(e,t){var r,o,a={},n;if(t.phContent&&(r=t.phContent(e,t)),typeof r!="string")switch(e){case"hideEchoBack":case"mask":case"defaultInput":case"caseSensitive":case"keepWhitespace":case"encoding":case"bufferSize":case"history":case"cd":r=t.hasOwnProperty(e)?typeof t[e]=="boolean"?t[e]?"on":"off":t[e]+"":"";break;case"limit":case"trueValue":case"falseValue":o=t[t.hasOwnProperty(e+"Src")?e+"Src":e],t.keyIn?(a=Wde(o,t.caseSensitive),o=a.values):o=o.filter(function(u){var A=typeof u;return A==="string"||A==="number"}),r=Kde(o,a.suppressed);break;case"limitCount":case"limitCountNotZero":r=t[t.hasOwnProperty("limitSrc")?"limitSrc":"limit"].length,r=r||e!=="limitCountNotZero"?r+"":"";break;case"lastInput":r=AH;break;case"cwd":case"CWD":case"cwdHome":r=process.cwd(),e==="CWD"?r=l0.basename(r):e==="cwdHome"&&(r=pH(r));break;case"date":case"time":case"localeDate":case"localeTime":r=new Date()["to"+e.replace(/^./,function(u){return u.toUpperCase()})+"String"]();break;default:typeof(n=(e.match(/^history_m(\d+)$/)||[])[1])=="string"&&(r=Xd[Xd.length-n]||"")}return r}function Vde(e){var t=/^(.)-(.)$/.exec(e),r="",o,a,n,u;if(!t)return null;for(o=t[1].charCodeAt(0),a=t[2].charCodeAt(0),u=o<a?1:-1,n=o;n!==a+u;n+=u)r+=String.fromCharCode(n);return r}function uH(e){var t=new RegExp(/(\s*)(?:("|')(.*?)(?:\2|$)|(\S+))/g),r,o="",a=[],n;for(e=e.trim();r=t.exec(e);)n=r[3]||r[4]||"",r[1]&&(a.push(o),o=""),o+=n;return o&&a.push(o),a}function zde(e,t){return t.trueValue.length&&cH(e,t.trueValue,t.caseSensitive)?!0:t.falseValue.length&&cH(e,t.falseValue,t.caseSensitive)?!1:e}function Xde(e){var t,r,o,a,n,u,A;function p(w){return Jde(w,e)}function h(w){e.display+=(/[^\r\n]$/.test(e.display)?` -`:"")+w}for(e.limitSrc=e.limit,e.displaySrc=e.display,e.limit="",e.display=Iw(e.display+"",p);;){if(t=lH(e),r=!1,o="",e.defaultInput&&!t&&(t=e.defaultInput),e.history&&((a=/^\s*\!(?:\!|-1)(:p)?\s*$/.exec(t))?(n=Xd[0]||"",a[1]?r=!0:t=n,h(n+` -`),r||(e.displayOnly=!0,lH(e),e.displayOnly=!1)):t&&t!==Xd[Xd.length-1]&&(Xd=[t])),!r&&e.cd&&t)switch(u=uH(t),u[0].toLowerCase()){case"cd":if(u[1])try{process.chdir(pH(u[1],!0))}catch(w){h(w+"")}r=!0;break;case"pwd":h(process.cwd()),r=!0;break}if(!r&&e.preCheck&&(A=e.preCheck(t,e),t=A.res,A.forceNext&&(r=!0)),!r){if(!e.limitSrc.length||cH(t,e.limitSrc,e.caseSensitive))break;e.limitMessage&&(o=Iw(e.limitMessage,p))}h((o?o+` -`:"")+Iw(e.displaySrc+"",p))}return zde(t,e)}Gr._DBG_set_useExt=function(e){Gde=e};Gr._DBG_set_checkOptions=function(e){aH=e};Gr._DBG_set_checkMethod=function(e){C2=e};Gr._DBG_clearHistory=function(){AH="",Xd=[]};Gr.setDefaultOptions=function(e){return oH=Ns(!0,e),Ns(!0)};Gr.question=function(e,t){return Xde(Ns(Ns(!0,t),{display:e}))};Gr.prompt=function(e){var t=Ns(!0,e);return t.display=t.prompt,Xde(t)};Gr.keyIn=function(e,t){var r=Ns(Ns(!0,t),{display:e,keyIn:!0,keepWhitespace:!0});return r.limitSrc=r.limit.filter(function(o){var a=typeof o;return a==="string"||a==="number"}).map(function(o){return Iw(o+"",Vde)}),r.limit=fH(r.limitSrc.join("")),["trueValue","falseValue"].forEach(function(o){r[o]=r[o].reduce(function(a,n){var u=typeof n;return u==="string"||u==="number"?a=a.concat((n+"").split("")):a.push(n),a},[])}),r.display=Iw(r.display+"",function(o){return Jde(o,r)}),zde(lH(r),r)};Gr.questionEMail=function(e,t){return e==null&&(e="Input e-mail address: "),Gr.question(e,Ns({hideEchoBack:!1,limit:/^[a-zA-Z0-9.!#$%&'*+\/=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*$/,limitMessage:"Input valid e-mail address, please.",trueValue:null,falseValue:null},t,{keepWhitespace:!1,cd:!1}))};Gr.questionNewPassword=function(e,t){var r,o,a,n=Ns({hideEchoBack:!0,mask:"*",limitMessage:`It can include: $<charlist> -And the length must be: $<length>`,trueValue:null,falseValue:null,caseSensitive:!0},t,{history:!1,cd:!1,phContent:function(b){return b==="charlist"?r.text:b==="length"?o+"..."+a:null}}),u,A,p,h,w,I,v;for(t=t||{},u=Iw(t.charlist?t.charlist+"":"$<!-~>",Vde),(isNaN(o=parseInt(t.min,10))||typeof o!="number")&&(o=12),(isNaN(a=parseInt(t.max,10))||typeof a!="number")&&(a=24),h=new RegExp("^["+fH(u)+"]{"+o+","+a+"}$"),r=Wde([u],n.caseSensitive,!0),r.text=Kde(r.values,r.suppressed),A=t.confirmMessage!=null?t.confirmMessage:"Reinput a same one to confirm it: ",p=t.unmatchMessage!=null?t.unmatchMessage:"It differs from first one. Hit only the Enter key if you want to retry from first one.",e==null&&(e="Input new password: "),w=n.limitMessage;!v;)n.limit=h,n.limitMessage=w,I=Gr.question(e,n),n.limit=[I,""],n.limitMessage=p,v=Gr.question(A,n);return I};function Zde(e,t,r){var o;function a(n){return o=r(n),!isNaN(o)&&typeof o=="number"}return Gr.question(e,Ns({limitMessage:"Input valid number, please."},t,{limit:a,cd:!1})),o}Gr.questionInt=function(e,t){return Zde(e,t,function(r){return parseInt(r,10)})};Gr.questionFloat=function(e,t){return Zde(e,t,parseFloat)};Gr.questionPath=function(e,t){var r,o="",a=Ns({hideEchoBack:!1,limitMessage:`$<error( -)>Input valid path, please.$<( Min:)min>$<( Max:)max>`,history:!0,cd:!0},t,{keepWhitespace:!1,limit:function(n){var u,A,p;n=pH(n,!0),o="";function h(w){w.split(/\/|\\/).reduce(function(I,v){var b=l0.resolve(I+=v+l0.sep);if(!Gn.existsSync(b))Gn.mkdirSync(b);else if(!Gn.statSync(b).isDirectory())throw new Error("Non directory already exists: "+b);return I},"")}try{if(u=Gn.existsSync(n),r=u?Gn.realpathSync(n):l0.resolve(n),!t.hasOwnProperty("exists")&&!u||typeof t.exists=="boolean"&&t.exists!==u)return o=(u?"Already exists":"No such file or directory")+": "+r,!1;if(!u&&t.create&&(t.isDirectory?h(r):(h(l0.dirname(r)),Gn.closeSync(Gn.openSync(r,"w"))),r=Gn.realpathSync(r)),u&&(t.min||t.max||t.isFile||t.isDirectory)){if(A=Gn.statSync(r),t.isFile&&!A.isFile())return o="Not file: "+r,!1;if(t.isDirectory&&!A.isDirectory())return o="Not directory: "+r,!1;if(t.min&&A.size<+t.min||t.max&&A.size>+t.max)return o="Size "+A.size+" is out of range: "+r,!1}if(typeof t.validate=="function"&&(p=t.validate(r))!==!0)return typeof p=="string"&&(o=p),!1}catch(w){return o=w+"",!1}return!0},phContent:function(n){return n==="error"?o:n!=="min"&&n!=="max"?null:t.hasOwnProperty(n)?t[n]+"":""}});return t=t||{},e==null&&(e='Input path (you can "cd" and "pwd"): '),Gr.question(e,a),r};function $de(e,t){var r={},o={};return typeof e=="object"?(Object.keys(e).forEach(function(a){typeof e[a]=="function"&&(o[t.caseSensitive?a:a.toLowerCase()]=e[a])}),r.preCheck=function(a){var n;return r.args=uH(a),n=r.args[0]||"",t.caseSensitive||(n=n.toLowerCase()),r.hRes=n!=="_"&&o.hasOwnProperty(n)?o[n].apply(a,r.args.slice(1)):o.hasOwnProperty("_")?o._.apply(a,r.args):null,{res:a,forceNext:!1}},o.hasOwnProperty("_")||(r.limit=function(){var a=r.args[0]||"";return t.caseSensitive||(a=a.toLowerCase()),o.hasOwnProperty(a)})):r.preCheck=function(a){return r.args=uH(a),r.hRes=typeof e=="function"?e.apply(a,r.args):!0,{res:a,forceNext:!1}},r}Gr.promptCL=function(e,t){var r=Ns({hideEchoBack:!1,limitMessage:"Requested command is not available.",caseSensitive:!1,history:!0},t),o=$de(e,r);return r.limit=o.limit,r.preCheck=o.preCheck,Gr.prompt(r),o.args};Gr.promptLoop=function(e,t){for(var r=Ns({hideEchoBack:!1,trueValue:null,falseValue:null,caseSensitive:!1,history:!0},t);!e(Gr.prompt(r)););};Gr.promptCLLoop=function(e,t){var r=Ns({hideEchoBack:!1,limitMessage:"Requested command is not available.",caseSensitive:!1,history:!0},t),o=$de(e,r);for(r.limit=o.limit,r.preCheck=o.preCheck;Gr.prompt(r),!o.hRes;);};Gr.promptSimShell=function(e){return Gr.prompt(Ns({hideEchoBack:!1,history:!0},e,{prompt:function(){return Zd?"$<cwd>>":(process.env.USER||"")+(process.env.HOSTNAME?"@"+process.env.HOSTNAME.replace(/\..*$/,""):"")+":$<cwdHome>$ "}()}))};function eme(e,t,r){var o;return e==null&&(e="Are you sure? "),(!t||t.guide!==!1)&&(e+="")&&(e=e.replace(/\s*:?\s*$/,"")+" [y/n]: "),o=Gr.keyIn(e,Ns(t,{hideEchoBack:!1,limit:r,trueValue:"y",falseValue:"n",caseSensitive:!1})),typeof o=="boolean"?o:""}Gr.keyInYN=function(e,t){return eme(e,t)};Gr.keyInYNStrict=function(e,t){return eme(e,t,"yn")};Gr.keyInPause=function(e,t){e==null&&(e="Continue..."),(!t||t.guide!==!1)&&(e+="")&&(e=e.replace(/\s+$/,"")+" (Hit any key)"),Gr.keyIn(e,Ns({limit:null},t,{hideEchoBack:!0,mask:""}))};Gr.keyInSelect=function(e,t,r){var o=Ns({hideEchoBack:!1},r,{trueValue:null,falseValue:null,caseSensitive:!1,phContent:function(p){return p==="itemsCount"?e.length+"":p==="firstItem"?(e[0]+"").trim():p==="lastItem"?(e[e.length-1]+"").trim():null}}),a="",n={},u=49,A=` -`;if(!Array.isArray(e)||!e.length||e.length>35)throw"`items` must be Array (max length: 35).";return e.forEach(function(p,h){var w=String.fromCharCode(u);a+=w,n[w]=h,A+="["+w+"] "+(p+"").trim()+` -`,u=u===57?97:u+1}),(!r||r.cancel!==!1)&&(a+="0",n[0]=-1,A+="[0] "+(r&&r.cancel!=null&&typeof r.cancel!="boolean"?(r.cancel+"").trim():"CANCEL")+` -`),o.limit=a,A+=` -`,t==null&&(t="Choose one from list: "),(t+="")&&((!r||r.guide!==!1)&&(t=t.replace(/\s*:?\s*$/,"")+" [$<limit>]: "),A+=t),n[Gr.keyIn(A,o).toLowerCase()]};Gr.getRawInput=function(){return dQ};function I2(e,t){var r;return t.length&&(r={},r[e]=t[0]),Gr.setDefaultOptions(r)[e]}Gr.setPrint=function(){return I2("print",arguments)};Gr.setPrompt=function(){return I2("prompt",arguments)};Gr.setEncoding=function(){return I2("encoding",arguments)};Gr.setMask=function(){return I2("mask",arguments)};Gr.setBufferSize=function(){return I2("bufferSize",arguments)}});var hH=_((k5t,pl)=>{(function(){var e={major:0,minor:2,patch:66,status:"beta"};tau_file_system={files:{},open:function(C,P,y){var F=tau_file_system.files[C];if(!F){if(y==="read")return null;F={path:C,text:"",type:P,get:function(z,X){return X===this.text.length||X>this.text.length?"end_of_file":this.text.substring(X,X+z)},put:function(z,X){return X==="end_of_file"?(this.text+=z,!0):X==="past_end_of_file"?null:(this.text=this.text.substring(0,X)+z+this.text.substring(X+z.length),!0)},get_byte:function(z){if(z==="end_of_stream")return-1;var X=Math.floor(z/2);if(this.text.length<=X)return-1;var Z=n(this.text[Math.floor(z/2)],0);return z%2===0?Z&255:Z/256>>>0},put_byte:function(z,X){var Z=X==="end_of_stream"?this.text.length:Math.floor(X/2);if(this.text.length<Z)return null;var ie=this.text.length===Z?-1:n(this.text[Math.floor(X/2)],0);return X%2===0?(ie=ie/256>>>0,ie=(ie&255)<<8|z&255):(ie=ie&255,ie=(z&255)<<8|ie&255),this.text.length===Z?this.text+=u(ie):this.text=this.text.substring(0,Z)+u(ie)+this.text.substring(Z+1),!0},flush:function(){return!0},close:function(){var z=tau_file_system.files[this.path];return z?!0:null}},tau_file_system.files[C]=F}return y==="write"&&(F.text=""),F}},tau_user_input={buffer:"",get:function(C,P){for(var y;tau_user_input.buffer.length<C;)y=window.prompt(),y&&(tau_user_input.buffer+=y);return y=tau_user_input.buffer.substr(0,C),tau_user_input.buffer=tau_user_input.buffer.substr(C),y}},tau_user_output={put:function(C,P){return console.log(C),!0},flush:function(){return!0}},nodejs_file_system={open:function(C,P,y){var F=Ie("fs"),z=F.openSync(C,y[0]);return y==="read"&&!F.existsSync(C)?null:{get:function(X,Z){var ie=new Buffer(X);return F.readSync(z,ie,0,X,Z),ie.toString()},put:function(X,Z){var ie=Buffer.from(X);if(Z==="end_of_file")F.writeSync(z,ie);else{if(Z==="past_end_of_file")return null;F.writeSync(z,ie,0,ie.length,Z)}return!0},get_byte:function(X){return null},put_byte:function(X,Z){return null},flush:function(){return!0},close:function(){return F.closeSync(z),!0}}}},nodejs_user_input={buffer:"",get:function(C,P){for(var y,F=tme();nodejs_user_input.buffer.length<C;)nodejs_user_input.buffer+=F.question();return y=nodejs_user_input.buffer.substr(0,C),nodejs_user_input.buffer=nodejs_user_input.buffer.substr(C),y}},nodejs_user_output={put:function(C,P){return process.stdout.write(C),!0},flush:function(){return!0}};var t;Array.prototype.indexOf?t=function(C,P){return C.indexOf(P)}:t=function(C,P){for(var y=C.length,F=0;F<y;F++)if(P===C[F])return F;return-1};var r=function(C,P){if(C.length!==0){for(var y=C[0],F=C.length,z=1;z<F;z++)y=P(y,C[z]);return y}},o;Array.prototype.map?o=function(C,P){return C.map(P)}:o=function(C,P){for(var y=[],F=C.length,z=0;z<F;z++)y.push(P(C[z]));return y};var a;Array.prototype.filter?a=function(C,P){return C.filter(P)}:a=function(C,P){for(var y=[],F=C.length,z=0;z<F;z++)P(C[z])&&y.push(C[z]);return y};var n;String.prototype.codePointAt?n=function(C,P){return C.codePointAt(P)}:n=function(C,P){return C.charCodeAt(P)};var u;String.fromCodePoint?u=function(){return String.fromCodePoint.apply(null,arguments)}:u=function(){return String.fromCharCode.apply(null,arguments)};var A=0,p=1,h=/(\\a)|(\\b)|(\\f)|(\\n)|(\\r)|(\\t)|(\\v)|\\x([0-9a-fA-F]+)\\|\\([0-7]+)\\|(\\\\)|(\\')|('')|(\\")|(\\`)|(\\.)|(.)/g,w={"\\a":7,"\\b":8,"\\f":12,"\\n":10,"\\r":13,"\\t":9,"\\v":11};function I(C){var P=[],y=!1;return C.replace(h,function(F,z,X,Z,ie,Pe,Le,ot,gt,jt,$t,xt,on,br,dr,Pr,Yr){switch(!0){case gt!==void 0:return P.push(parseInt(gt,16)),"";case jt!==void 0:return P.push(parseInt(jt,8)),"";case $t!==void 0:case xt!==void 0:case on!==void 0:case br!==void 0:case dr!==void 0:return P.push(n(F.substr(1),0)),"";case Yr!==void 0:return P.push(n(Yr,0)),"";case Pr!==void 0:y=!0;default:return P.push(w[F]),""}}),y?null:P}function v(C,P){var y="";if(C.length<2)return C;try{C=C.replace(/\\([0-7]+)\\/g,function(Z,ie){return u(parseInt(ie,8))}),C=C.replace(/\\x([0-9a-fA-F]+)\\/g,function(Z,ie){return u(parseInt(ie,16))})}catch{return null}for(var F=0;F<C.length;F++){var z=C.charAt(F),X=C.charAt(F+1);if(z===P&&X===P)F++,y+=P;else if(z==="\\")if(["a","b","f","n","r","t","v","'",'"',"\\","a","\b","\f",` -`,"\r"," ","\v"].indexOf(X)!==-1)switch(F+=1,X){case"a":y+="a";break;case"b":y+="\b";break;case"f":y+="\f";break;case"n":y+=` -`;break;case"r":y+="\r";break;case"t":y+=" ";break;case"v":y+="\v";break;case"'":y+="'";break;case'"':y+='"';break;case"\\":y+="\\";break}else return null;else y+=z}return y}function b(C){for(var P="",y=0;y<C.length;y++)switch(C.charAt(y)){case"'":P+="\\'";break;case"\\":P+="\\\\";break;case"\b":P+="\\b";break;case"\f":P+="\\f";break;case` -`:P+="\\n";break;case"\r":P+="\\r";break;case" ":P+="\\t";break;case"\v":P+="\\v";break;default:P+=C.charAt(y);break}return P}function E(C){var P=C.substr(2);switch(C.substr(0,2).toLowerCase()){case"0x":return parseInt(P,16);case"0b":return parseInt(P,2);case"0o":return parseInt(P,8);case"0'":return I(P)[0];default:return parseFloat(C)}}var R={whitespace:/^\s*(?:(?:%.*)|(?:\/\*(?:\n|\r|.)*?\*\/)|(?:\s+))\s*/,variable:/^(?:[A-Z_][a-zA-Z0-9_]*)/,atom:/^(\!|,|;|[a-z][0-9a-zA-Z_]*|[#\$\&\*\+\-\.\/\:\<\=\>\?\@\^\~\\]+|'(?:[^']*?(?:\\(?:x?\d+)?\\)*(?:'')*(?:\\')*)*')/,number:/^(?:0o[0-7]+|0x[0-9a-fA-F]+|0b[01]+|0'(?:''|\\[abfnrtv\\'"`]|\\x?\d+\\|[^\\])|\d+(?:\.\d+(?:[eE][+-]?\d+)?)?)/,string:/^(?:"([^"]|""|\\")*"|`([^`]|``|\\`)*`)/,l_brace:/^(?:\[)/,r_brace:/^(?:\])/,l_bracket:/^(?:\{)/,r_bracket:/^(?:\})/,bar:/^(?:\|)/,l_paren:/^(?:\()/,r_paren:/^(?:\))/};function N(C,P){return C.get_flag("char_conversion").id==="on"?P.replace(/./g,function(y){return C.get_char_conversion(y)}):P}function U(C){this.thread=C,this.text="",this.tokens=[]}U.prototype.set_last_tokens=function(C){return this.tokens=C},U.prototype.new_text=function(C){this.text=C,this.tokens=[]},U.prototype.get_tokens=function(C){var P,y=0,F=0,z=0,X=[],Z=!1;if(C){var ie=this.tokens[C-1];y=ie.len,P=N(this.thread,this.text.substr(ie.len)),F=ie.line,z=ie.start}else P=this.text;if(/^\s*$/.test(P))return null;for(;P!=="";){var Pe=[],Le=!1;if(/^\n/.exec(P)!==null){F++,z=0,y++,P=P.replace(/\n/,""),Z=!0;continue}for(var ot in R)if(R.hasOwnProperty(ot)){var gt=R[ot].exec(P);gt&&Pe.push({value:gt[0],name:ot,matches:gt})}if(!Pe.length)return this.set_last_tokens([{value:P,matches:[],name:"lexical",line:F,start:z}]);var ie=r(Pe,function(br,dr){return br.value.length>=dr.value.length?br:dr});switch(ie.start=z,ie.line=F,P=P.replace(ie.value,""),z+=ie.value.length,y+=ie.value.length,ie.name){case"atom":ie.raw=ie.value,ie.value.charAt(0)==="'"&&(ie.value=v(ie.value.substr(1,ie.value.length-2),"'"),ie.value===null&&(ie.name="lexical",ie.value="unknown escape sequence"));break;case"number":ie.float=ie.value.substring(0,2)!=="0x"&&ie.value.match(/[.eE]/)!==null&&ie.value!=="0'.",ie.value=E(ie.value),ie.blank=Le;break;case"string":var jt=ie.value.charAt(0);ie.value=v(ie.value.substr(1,ie.value.length-2),jt),ie.value===null&&(ie.name="lexical",ie.value="unknown escape sequence");break;case"whitespace":var $t=X[X.length-1];$t&&($t.space=!0),Le=!0;continue;case"r_bracket":X.length>0&&X[X.length-1].name==="l_bracket"&&(ie=X.pop(),ie.name="atom",ie.value="{}",ie.raw="{}",ie.space=!1);break;case"r_brace":X.length>0&&X[X.length-1].name==="l_brace"&&(ie=X.pop(),ie.name="atom",ie.value="[]",ie.raw="[]",ie.space=!1);break}ie.len=y,X.push(ie),Le=!1}var xt=this.set_last_tokens(X);return xt.length===0?null:xt};function V(C,P,y,F,z){if(!P[y])return{type:A,value:x.error.syntax(P[y-1],"expression expected",!0)};var X;if(F==="0"){var Z=P[y];switch(Z.name){case"number":return{type:p,len:y+1,value:new x.type.Num(Z.value,Z.float)};case"variable":return{type:p,len:y+1,value:new x.type.Var(Z.value)};case"string":var ie;switch(C.get_flag("double_quotes").id){case"atom":ie=new H(Z.value,[]);break;case"codes":ie=new H("[]",[]);for(var Pe=Z.value.length-1;Pe>=0;Pe--)ie=new H(".",[new x.type.Num(n(Z.value,Pe),!1),ie]);break;case"chars":ie=new H("[]",[]);for(var Pe=Z.value.length-1;Pe>=0;Pe--)ie=new H(".",[new x.type.Term(Z.value.charAt(Pe),[]),ie]);break}return{type:p,len:y+1,value:ie};case"l_paren":var xt=V(C,P,y+1,C.__get_max_priority(),!0);return xt.type!==p?xt:P[xt.len]&&P[xt.len].name==="r_paren"?(xt.len++,xt):{type:A,derived:!0,value:x.error.syntax(P[xt.len]?P[xt.len]:P[xt.len-1],") or operator expected",!P[xt.len])};case"l_bracket":var xt=V(C,P,y+1,C.__get_max_priority(),!0);return xt.type!==p?xt:P[xt.len]&&P[xt.len].name==="r_bracket"?(xt.len++,xt.value=new H("{}",[xt.value]),xt):{type:A,derived:!0,value:x.error.syntax(P[xt.len]?P[xt.len]:P[xt.len-1],"} or operator expected",!P[xt.len])}}var Le=ee(C,P,y,z);return Le.type===p||Le.derived||(Le=le(C,P,y),Le.type===p||Le.derived)?Le:{type:A,derived:!1,value:x.error.syntax(P[y],"unexpected token")}}var ot=C.__get_max_priority(),gt=C.__get_next_priority(F),jt=y;if(P[y].name==="atom"&&P[y+1]&&(P[y].space||P[y+1].name!=="l_paren")){var Z=P[y++],$t=C.__lookup_operator_classes(F,Z.value);if($t&&$t.indexOf("fy")>-1){var xt=V(C,P,y,F,z);if(xt.type!==A)return Z.value==="-"&&!Z.space&&x.type.is_number(xt.value)?{value:new x.type.Num(-xt.value.value,xt.value.is_float),len:xt.len,type:p}:{value:new x.type.Term(Z.value,[xt.value]),len:xt.len,type:p};X=xt}else if($t&&$t.indexOf("fx")>-1){var xt=V(C,P,y,gt,z);if(xt.type!==A)return{value:new x.type.Term(Z.value,[xt.value]),len:xt.len,type:p};X=xt}}y=jt;var xt=V(C,P,y,gt,z);if(xt.type===p){y=xt.len;var Z=P[y];if(P[y]&&(P[y].name==="atom"&&C.__lookup_operator_classes(F,Z.value)||P[y].name==="bar"&&C.__lookup_operator_classes(F,"|"))){var on=gt,br=F,$t=C.__lookup_operator_classes(F,Z.value);if($t.indexOf("xf")>-1)return{value:new x.type.Term(Z.value,[xt.value]),len:++xt.len,type:p};if($t.indexOf("xfx")>-1){var dr=V(C,P,y+1,on,z);return dr.type===p?{value:new x.type.Term(Z.value,[xt.value,dr.value]),len:dr.len,type:p}:(dr.derived=!0,dr)}else if($t.indexOf("xfy")>-1){var dr=V(C,P,y+1,br,z);return dr.type===p?{value:new x.type.Term(Z.value,[xt.value,dr.value]),len:dr.len,type:p}:(dr.derived=!0,dr)}else if(xt.type!==A)for(;;){y=xt.len;var Z=P[y];if(Z&&Z.name==="atom"&&C.__lookup_operator_classes(F,Z.value)){var $t=C.__lookup_operator_classes(F,Z.value);if($t.indexOf("yf")>-1)xt={value:new x.type.Term(Z.value,[xt.value]),len:++y,type:p};else if($t.indexOf("yfx")>-1){var dr=V(C,P,++y,on,z);if(dr.type===A)return dr.derived=!0,dr;y=dr.len,xt={value:new x.type.Term(Z.value,[xt.value,dr.value]),len:y,type:p}}else break}else break}}else X={type:A,value:x.error.syntax(P[xt.len-1],"operator expected")};return xt}return xt}function ee(C,P,y,F){if(!P[y]||P[y].name==="atom"&&P[y].raw==="."&&!F&&(P[y].space||!P[y+1]||P[y+1].name!=="l_paren"))return{type:A,derived:!1,value:x.error.syntax(P[y-1],"unfounded token")};var z=P[y],X=[];if(P[y].name==="atom"&&P[y].raw!==","){if(y++,P[y-1].space)return{type:p,len:y,value:new x.type.Term(z.value,X)};if(P[y]&&P[y].name==="l_paren"){if(P[y+1]&&P[y+1].name==="r_paren")return{type:A,derived:!0,value:x.error.syntax(P[y+1],"argument expected")};var Z=V(C,P,++y,"999",!0);if(Z.type===A)return Z.derived?Z:{type:A,derived:!0,value:x.error.syntax(P[y]?P[y]:P[y-1],"argument expected",!P[y])};for(X.push(Z.value),y=Z.len;P[y]&&P[y].name==="atom"&&P[y].value===",";){if(Z=V(C,P,y+1,"999",!0),Z.type===A)return Z.derived?Z:{type:A,derived:!0,value:x.error.syntax(P[y+1]?P[y+1]:P[y],"argument expected",!P[y+1])};X.push(Z.value),y=Z.len}if(P[y]&&P[y].name==="r_paren")y++;else return{type:A,derived:!0,value:x.error.syntax(P[y]?P[y]:P[y-1],", or ) expected",!P[y])}}return{type:p,len:y,value:new x.type.Term(z.value,X)}}return{type:A,derived:!1,value:x.error.syntax(P[y],"term expected")}}function le(C,P,y){if(!P[y])return{type:A,derived:!1,value:x.error.syntax(P[y-1],"[ expected")};if(P[y]&&P[y].name==="l_brace"){var F=V(C,P,++y,"999",!0),z=[F.value],X=void 0;if(F.type===A)return P[y]&&P[y].name==="r_brace"?{type:p,len:y+1,value:new x.type.Term("[]",[])}:{type:A,derived:!0,value:x.error.syntax(P[y],"] expected")};for(y=F.len;P[y]&&P[y].name==="atom"&&P[y].value===",";){if(F=V(C,P,y+1,"999",!0),F.type===A)return F.derived?F:{type:A,derived:!0,value:x.error.syntax(P[y+1]?P[y+1]:P[y],"argument expected",!P[y+1])};z.push(F.value),y=F.len}var Z=!1;if(P[y]&&P[y].name==="bar"){if(Z=!0,F=V(C,P,y+1,"999",!0),F.type===A)return F.derived?F:{type:A,derived:!0,value:x.error.syntax(P[y+1]?P[y+1]:P[y],"argument expected",!P[y+1])};X=F.value,y=F.len}return P[y]&&P[y].name==="r_brace"?{type:p,len:y+1,value:g(z,X)}:{type:A,derived:!0,value:x.error.syntax(P[y]?P[y]:P[y-1],Z?"] expected":", or | or ] expected",!P[y])}}return{type:A,derived:!1,value:x.error.syntax(P[y],"list expected")}}function fe(C,P,y){var F=P[y].line,z=V(C,P,y,C.__get_max_priority(),!1),X=null,Z;if(z.type!==A)if(y=z.len,P[y]&&P[y].name==="atom"&&P[y].raw===".")if(y++,x.type.is_term(z.value)){if(z.value.indicator===":-/2"?(X=new x.type.Rule(z.value.args[0],be(z.value.args[1])),Z={value:X,len:y,type:p}):z.value.indicator==="-->/2"?(X=oe(new x.type.Rule(z.value.args[0],z.value.args[1]),C),X.body=be(X.body),Z={value:X,len:y,type:x.type.is_rule(X)?p:A}):(X=new x.type.Rule(z.value,null),Z={value:X,len:y,type:p}),X){var ie=X.singleton_variables();ie.length>0&&C.throw_warning(x.warning.singleton(ie,X.head.indicator,F))}return Z}else return{type:A,value:x.error.syntax(P[y],"callable expected")};else return{type:A,value:x.error.syntax(P[y]?P[y]:P[y-1],". or operator expected")};return z}function de(C,P,y){y=y||{},y.from=y.from?y.from:"$tau-js",y.reconsult=y.reconsult!==void 0?y.reconsult:!0;var F=new U(C),z={},X;F.new_text(P);var Z=0,ie=F.get_tokens(Z);do{if(ie===null||!ie[Z])break;var Pe=fe(C,ie,Z);if(Pe.type===A)return new H("throw",[Pe.value]);if(Pe.value.body===null&&Pe.value.head.indicator==="?-/1"){var Le=new Ve(C.session);Le.add_goal(Pe.value.head.args[0]),Le.answer(function(gt){x.type.is_error(gt)?C.throw_warning(gt.args[0]):(gt===!1||gt===null)&&C.throw_warning(x.warning.failed_goal(Pe.value.head.args[0],Pe.len))}),Z=Pe.len;var ot=!0}else if(Pe.value.body===null&&Pe.value.head.indicator===":-/1"){var ot=C.run_directive(Pe.value.head.args[0]);Z=Pe.len,Pe.value.head.args[0].indicator==="char_conversion/2"&&(ie=F.get_tokens(Z),Z=0)}else{X=Pe.value.head.indicator,y.reconsult!==!1&&z[X]!==!0&&!C.is_multifile_predicate(X)&&(C.session.rules[X]=a(C.session.rules[X]||[],function(jt){return jt.dynamic}),z[X]=!0);var ot=C.add_rule(Pe.value,y);Z=Pe.len}if(!ot)return ot}while(!0);return!0}function ge(C,P){var y=new U(C);y.new_text(P);var F=0;do{var z=y.get_tokens(F);if(z===null)break;var X=V(C,z,0,C.__get_max_priority(),!1);if(X.type!==A){var Z=X.len,ie=Z;if(z[Z]&&z[Z].name==="atom"&&z[Z].raw===".")C.add_goal(be(X.value));else{var Pe=z[Z];return new H("throw",[x.error.syntax(Pe||z[Z-1],". or operator expected",!Pe)])}F=X.len+1}else return new H("throw",[X.value])}while(!0);return!0}function oe(C,P){C=C.rename(P);var y=P.next_free_variable(),F=Be(C.body,y,P);return F.error?F.value:(C.body=F.value,C.head.args=C.head.args.concat([y,F.variable]),C.head=new H(C.head.id,C.head.args),C)}function Be(C,P,y){var F;if(x.type.is_term(C)&&C.indicator==="!/0")return{value:C,variable:P,error:!1};if(x.type.is_term(C)&&C.indicator===",/2"){var z=Be(C.args[0],P,y);if(z.error)return z;var X=Be(C.args[1],z.variable,y);return X.error?X:{value:new H(",",[z.value,X.value]),variable:X.variable,error:!1}}else{if(x.type.is_term(C)&&C.indicator==="{}/1")return{value:C.args[0],variable:P,error:!1};if(x.type.is_empty_list(C))return{value:new H("true",[]),variable:P,error:!1};if(x.type.is_list(C)){F=y.next_free_variable();for(var Z=C,ie;Z.indicator==="./2";)ie=Z,Z=Z.args[1];return x.type.is_variable(Z)?{value:x.error.instantiation("DCG"),variable:P,error:!0}:x.type.is_empty_list(Z)?(ie.args[1]=F,{value:new H("=",[P,C]),variable:F,error:!1}):{value:x.error.type("list",C,"DCG"),variable:P,error:!0}}else return x.type.is_callable(C)?(F=y.next_free_variable(),C.args=C.args.concat([P,F]),C=new H(C.id,C.args),{value:C,variable:F,error:!1}):{value:x.error.type("callable",C,"DCG"),variable:P,error:!0}}}function be(C){return x.type.is_variable(C)?new H("call",[C]):x.type.is_term(C)&&[",/2",";/2","->/2"].indexOf(C.indicator)!==-1?new H(C.id,[be(C.args[0]),be(C.args[1])]):C}function g(C,P){for(var y=P||new x.type.Term("[]",[]),F=C.length-1;F>=0;F--)y=new x.type.Term(".",[C[F],y]);return y}function we(C,P){for(var y=C.length-1;y>=0;y--)C[y]===P&&C.splice(y,1)}function Se(C){for(var P={},y=[],F=0;F<C.length;F++)C[F]in P||(y.push(C[F]),P[C[F]]=!0);return y}function ce(C,P,y,F){if(C.session.rules[y]!==null){for(var z=0;z<C.session.rules[y].length;z++)if(C.session.rules[y][z]===F){C.session.rules[y].splice(z,1),C.success(P);break}}}function ne(C){return function(P,y,F){var z=F.args[0],X=F.args.slice(1,C);if(x.type.is_variable(z))P.throw_error(x.error.instantiation(P.level));else if(!x.type.is_callable(z))P.throw_error(x.error.type("callable",z,P.level));else{var Z=new H(z.id,z.args.concat(X));P.prepend([new ke(y.goal.replace(Z),y.substitution,y)])}}}function te(C){for(var P=C.length-1;P>=0;P--)if(C.charAt(P)==="/")return new H("/",[new H(C.substring(0,P)),new Re(parseInt(C.substring(P+1)),!1)])}function Ee(C){this.id=C}function Re(C,P){this.is_float=P!==void 0?P:parseInt(C)!==C,this.value=this.is_float?C:parseInt(C)}var dt=0;function H(C,P,y){this.ref=y||++dt,this.id=C,this.args=P||[],this.indicator=C+"/"+this.args.length}var at=0;function Te(C,P,y,F,z,X){this.id=at++,this.stream=C,this.mode=P,this.alias=y,this.type=F!==void 0?F:"text",this.reposition=z!==void 0?z:!0,this.eof_action=X!==void 0?X:"eof_code",this.position=this.mode==="append"?"end_of_stream":0,this.output=this.mode==="write"||this.mode==="append",this.input=this.mode==="read"}function Qe(C){C=C||{},this.links=C}function ke(C,P,y){P=P||new Qe,y=y||null,this.goal=C,this.substitution=P,this.parent=y}function He(C,P,y){this.head=C,this.body=P,this.dynamic=y||!1}function Ne(C){C=C===void 0||C<=0?1e3:C,this.rules={},this.src_predicates={},this.rename=0,this.modules=[],this.thread=new Ve(this),this.total_threads=1,this.renamed_variables={},this.public_predicates={},this.multifile_predicates={},this.limit=C,this.streams={user_input:new Te(typeof pl<"u"&&pl.exports?nodejs_user_input:tau_user_input,"read","user_input","text",!1,"reset"),user_output:new Te(typeof pl<"u"&&pl.exports?nodejs_user_output:tau_user_output,"write","user_output","text",!1,"eof_code")},this.file_system=typeof pl<"u"&&pl.exports?nodejs_file_system:tau_file_system,this.standard_input=this.streams.user_input,this.standard_output=this.streams.user_output,this.current_input=this.streams.user_input,this.current_output=this.streams.user_output,this.format_success=function(P){return P.substitution},this.format_error=function(P){return P.goal},this.flag={bounded:x.flag.bounded.value,max_integer:x.flag.max_integer.value,min_integer:x.flag.min_integer.value,integer_rounding_function:x.flag.integer_rounding_function.value,char_conversion:x.flag.char_conversion.value,debug:x.flag.debug.value,max_arity:x.flag.max_arity.value,unknown:x.flag.unknown.value,double_quotes:x.flag.double_quotes.value,occurs_check:x.flag.occurs_check.value,dialect:x.flag.dialect.value,version_data:x.flag.version_data.value,nodejs:x.flag.nodejs.value},this.__loaded_modules=[],this.__char_conversion={},this.__operators={1200:{":-":["fx","xfx"],"-->":["xfx"],"?-":["fx"]},1100:{";":["xfy"]},1050:{"->":["xfy"]},1e3:{",":["xfy"]},900:{"\\+":["fy"]},700:{"=":["xfx"],"\\=":["xfx"],"==":["xfx"],"\\==":["xfx"],"@<":["xfx"],"@=<":["xfx"],"@>":["xfx"],"@>=":["xfx"],"=..":["xfx"],is:["xfx"],"=:=":["xfx"],"=\\=":["xfx"],"<":["xfx"],"=<":["xfx"],">":["xfx"],">=":["xfx"]},600:{":":["xfy"]},500:{"+":["yfx"],"-":["yfx"],"/\\":["yfx"],"\\/":["yfx"]},400:{"*":["yfx"],"/":["yfx"],"//":["yfx"],rem:["yfx"],mod:["yfx"],"<<":["yfx"],">>":["yfx"]},200:{"**":["xfx"],"^":["xfy"],"-":["fy"],"+":["fy"],"\\":["fy"]}}}function Ve(C){this.epoch=Date.now(),this.session=C,this.session.total_threads++,this.total_steps=0,this.cpu_time=0,this.cpu_time_last=0,this.points=[],this.debugger=!1,this.debugger_states=[],this.level="top_level/0",this.__calls=[],this.current_limit=this.session.limit,this.warnings=[]}function je(C,P,y){this.id=C,this.rules=P,this.exports=y,x.module[C]=this}je.prototype.exports_predicate=function(C){return this.exports.indexOf(C)!==-1},Ee.prototype.unify=function(C,P){if(P&&t(C.variables(),this.id)!==-1&&!x.type.is_variable(C))return null;var y={};return y[this.id]=C,new Qe(y)},Re.prototype.unify=function(C,P){return x.type.is_number(C)&&this.value===C.value&&this.is_float===C.is_float?new Qe:null},H.prototype.unify=function(C,P){if(x.type.is_term(C)&&this.indicator===C.indicator){for(var y=new Qe,F=0;F<this.args.length;F++){var z=x.unify(this.args[F].apply(y),C.args[F].apply(y),P);if(z===null)return null;for(var X in z.links)y.links[X]=z.links[X];y=y.apply(z)}return y}return null},Te.prototype.unify=function(C,P){return x.type.is_stream(C)&&this.id===C.id?new Qe:null},Ee.prototype.toString=function(C){return this.id},Re.prototype.toString=function(C){return this.is_float&&t(this.value.toString(),".")===-1?this.value+".0":this.value.toString()},H.prototype.toString=function(C,P,y){if(C=C||{},C.quoted=C.quoted===void 0?!0:C.quoted,C.ignore_ops=C.ignore_ops===void 0?!1:C.ignore_ops,C.numbervars=C.numbervars===void 0?!1:C.numbervars,P=P===void 0?1200:P,y=y===void 0?"":y,C.numbervars&&this.indicator==="$VAR/1"&&x.type.is_integer(this.args[0])&&this.args[0].value>=0){var F=this.args[0].value,z=Math.floor(F/26),X=F%26;return"ABCDEFGHIJKLMNOPQRSTUVWXYZ"[X]+(z!==0?z:"")}switch(this.indicator){case"[]/0":case"{}/0":case"!/0":return this.id;case"{}/1":return"{"+this.args[0].toString(C)+"}";case"./2":for(var Z="["+this.args[0].toString(C),ie=this.args[1];ie.indicator==="./2";)Z+=", "+ie.args[0].toString(C),ie=ie.args[1];return ie.indicator!=="[]/0"&&(Z+="|"+ie.toString(C)),Z+="]",Z;case",/2":return"("+this.args[0].toString(C)+", "+this.args[1].toString(C)+")";default:var Pe=this.id,Le=C.session?C.session.lookup_operator(this.id,this.args.length):null;if(C.session===void 0||C.ignore_ops||Le===null)return C.quoted&&!/^(!|,|;|[a-z][0-9a-zA-Z_]*)$/.test(Pe)&&Pe!=="{}"&&Pe!=="[]"&&(Pe="'"+b(Pe)+"'"),Pe+(this.args.length?"("+o(this.args,function($t){return $t.toString(C)}).join(", ")+")":"");var ot=Le.priority>P.priority||Le.priority===P.priority&&(Le.class==="xfy"&&this.indicator!==P.indicator||Le.class==="yfx"&&this.indicator!==P.indicator||this.indicator===P.indicator&&Le.class==="yfx"&&y==="right"||this.indicator===P.indicator&&Le.class==="xfy"&&y==="left");Le.indicator=this.indicator;var gt=ot?"(":"",jt=ot?")":"";return this.args.length===0?"("+this.id+")":["fy","fx"].indexOf(Le.class)!==-1?gt+Pe+" "+this.args[0].toString(C,Le)+jt:["yf","xf"].indexOf(Le.class)!==-1?gt+this.args[0].toString(C,Le)+" "+Pe+jt:gt+this.args[0].toString(C,Le,"left")+" "+this.id+" "+this.args[1].toString(C,Le,"right")+jt}},Te.prototype.toString=function(C){return"<stream>("+this.id+")"},Qe.prototype.toString=function(C){var P="{";for(var y in this.links)!this.links.hasOwnProperty(y)||(P!=="{"&&(P+=", "),P+=y+"/"+this.links[y].toString(C));return P+="}",P},ke.prototype.toString=function(C){return this.goal===null?"<"+this.substitution.toString(C)+">":"<"+this.goal.toString(C)+", "+this.substitution.toString(C)+">"},He.prototype.toString=function(C){return this.body?this.head.toString(C)+" :- "+this.body.toString(C)+".":this.head.toString(C)+"."},Ne.prototype.toString=function(C){for(var P="",y=0;y<this.modules.length;y++)P+=":- use_module(library("+this.modules[y]+`)). -`;P+=` -`;for(key in this.rules)for(y=0;y<this.rules[key].length;y++)P+=this.rules[key][y].toString(C),P+=` -`;return P},Ee.prototype.clone=function(){return new Ee(this.id)},Re.prototype.clone=function(){return new Re(this.value,this.is_float)},H.prototype.clone=function(){return new H(this.id,o(this.args,function(C){return C.clone()}))},Te.prototype.clone=function(){return new Stram(this.stream,this.mode,this.alias,this.type,this.reposition,this.eof_action)},Qe.prototype.clone=function(){var C={};for(var P in this.links)!this.links.hasOwnProperty(P)||(C[P]=this.links[P].clone());return new Qe(C)},ke.prototype.clone=function(){return new ke(this.goal.clone(),this.substitution.clone(),this.parent)},He.prototype.clone=function(){return new He(this.head.clone(),this.body!==null?this.body.clone():null)},Ee.prototype.equals=function(C){return x.type.is_variable(C)&&this.id===C.id},Re.prototype.equals=function(C){return x.type.is_number(C)&&this.value===C.value&&this.is_float===C.is_float},H.prototype.equals=function(C){if(!x.type.is_term(C)||this.indicator!==C.indicator)return!1;for(var P=0;P<this.args.length;P++)if(!this.args[P].equals(C.args[P]))return!1;return!0},Te.prototype.equals=function(C){return x.type.is_stream(C)&&this.id===C.id},Qe.prototype.equals=function(C){var P;if(!x.type.is_substitution(C))return!1;for(P in this.links)if(!!this.links.hasOwnProperty(P)&&(!C.links[P]||!this.links[P].equals(C.links[P])))return!1;for(P in C.links)if(!!C.links.hasOwnProperty(P)&&!this.links[P])return!1;return!0},ke.prototype.equals=function(C){return x.type.is_state(C)&&this.goal.equals(C.goal)&&this.substitution.equals(C.substitution)&&this.parent===C.parent},He.prototype.equals=function(C){return x.type.is_rule(C)&&this.head.equals(C.head)&&(this.body===null&&C.body===null||this.body!==null&&this.body.equals(C.body))},Ee.prototype.rename=function(C){return C.get_free_variable(this)},Re.prototype.rename=function(C){return this},H.prototype.rename=function(C){return new H(this.id,o(this.args,function(P){return P.rename(C)}))},Te.prototype.rename=function(C){return this},He.prototype.rename=function(C){return new He(this.head.rename(C),this.body!==null?this.body.rename(C):null)},Ee.prototype.variables=function(){return[this.id]},Re.prototype.variables=function(){return[]},H.prototype.variables=function(){return[].concat.apply([],o(this.args,function(C){return C.variables()}))},Te.prototype.variables=function(){return[]},He.prototype.variables=function(){return this.body===null?this.head.variables():this.head.variables().concat(this.body.variables())},Ee.prototype.apply=function(C){return C.lookup(this.id)?C.lookup(this.id):this},Re.prototype.apply=function(C){return this},H.prototype.apply=function(C){if(this.indicator==="./2"){for(var P=[],y=this;y.indicator==="./2";)P.push(y.args[0].apply(C)),y=y.args[1];for(var F=y.apply(C),z=P.length-1;z>=0;z--)F=new H(".",[P[z],F]);return F}return new H(this.id,o(this.args,function(X){return X.apply(C)}),this.ref)},Te.prototype.apply=function(C){return this},He.prototype.apply=function(C){return new He(this.head.apply(C),this.body!==null?this.body.apply(C):null)},Qe.prototype.apply=function(C){var P,y={};for(P in this.links)!this.links.hasOwnProperty(P)||(y[P]=this.links[P].apply(C));return new Qe(y)},H.prototype.select=function(){for(var C=this;C.indicator===",/2";)C=C.args[0];return C},H.prototype.replace=function(C){return this.indicator===",/2"?this.args[0].indicator===",/2"?new H(",",[this.args[0].replace(C),this.args[1]]):C===null?this.args[1]:new H(",",[C,this.args[1]]):C},H.prototype.search=function(C){if(x.type.is_term(C)&&C.ref!==void 0&&this.ref===C.ref)return!0;for(var P=0;P<this.args.length;P++)if(x.type.is_term(this.args[P])&&this.args[P].search(C))return!0;return!1},Ne.prototype.get_current_input=function(){return this.current_input},Ve.prototype.get_current_input=function(){return this.session.get_current_input()},Ne.prototype.get_current_output=function(){return this.current_output},Ve.prototype.get_current_output=function(){return this.session.get_current_output()},Ne.prototype.set_current_input=function(C){this.current_input=C},Ve.prototype.set_current_input=function(C){return this.session.set_current_input(C)},Ne.prototype.set_current_output=function(C){this.current_input=C},Ve.prototype.set_current_output=function(C){return this.session.set_current_output(C)},Ne.prototype.get_stream_by_alias=function(C){return this.streams[C]},Ve.prototype.get_stream_by_alias=function(C){return this.session.get_stream_by_alias(C)},Ne.prototype.file_system_open=function(C,P,y){return this.file_system.open(C,P,y)},Ve.prototype.file_system_open=function(C,P,y){return this.session.file_system_open(C,P,y)},Ne.prototype.get_char_conversion=function(C){return this.__char_conversion[C]||C},Ve.prototype.get_char_conversion=function(C){return this.session.get_char_conversion(C)},Ne.prototype.parse=function(C){return this.thread.parse(C)},Ve.prototype.parse=function(C){var P=new U(this);P.new_text(C);var y=P.get_tokens();if(y===null)return!1;var F=V(this,y,0,this.__get_max_priority(),!1);return F.len!==y.length?!1:{value:F.value,expr:F,tokens:y}},Ne.prototype.get_flag=function(C){return this.flag[C]},Ve.prototype.get_flag=function(C){return this.session.get_flag(C)},Ne.prototype.add_rule=function(C,P){return P=P||{},P.from=P.from?P.from:"$tau-js",this.src_predicates[C.head.indicator]=P.from,this.rules[C.head.indicator]||(this.rules[C.head.indicator]=[]),this.rules[C.head.indicator].push(C),this.public_predicates.hasOwnProperty(C.head.indicator)||(this.public_predicates[C.head.indicator]=!1),!0},Ve.prototype.add_rule=function(C,P){return this.session.add_rule(C,P)},Ne.prototype.run_directive=function(C){this.thread.run_directive(C)},Ve.prototype.run_directive=function(C){return x.type.is_directive(C)?(x.directive[C.indicator](this,C),!0):!1},Ne.prototype.__get_max_priority=function(){return"1200"},Ve.prototype.__get_max_priority=function(){return this.session.__get_max_priority()},Ne.prototype.__get_next_priority=function(C){var P=0;C=parseInt(C);for(var y in this.__operators)if(!!this.__operators.hasOwnProperty(y)){var F=parseInt(y);F>P&&F<C&&(P=F)}return P.toString()},Ve.prototype.__get_next_priority=function(C){return this.session.__get_next_priority(C)},Ne.prototype.__lookup_operator_classes=function(C,P){return this.__operators.hasOwnProperty(C)&&this.__operators[C][P]instanceof Array&&this.__operators[C][P]||!1},Ve.prototype.__lookup_operator_classes=function(C,P){return this.session.__lookup_operator_classes(C,P)},Ne.prototype.lookup_operator=function(C,P){for(var y in this.__operators)if(this.__operators[y][C]){for(var F=0;F<this.__operators[y][C].length;F++)if(P===0||this.__operators[y][C][F].length===P+1)return{priority:y,class:this.__operators[y][C][F]}}return null},Ve.prototype.lookup_operator=function(C,P){return this.session.lookup_operator(C,P)},Ne.prototype.throw_warning=function(C){this.thread.throw_warning(C)},Ve.prototype.throw_warning=function(C){this.warnings.push(C)},Ne.prototype.get_warnings=function(){return this.thread.get_warnings()},Ve.prototype.get_warnings=function(){return this.warnings},Ne.prototype.add_goal=function(C,P){this.thread.add_goal(C,P)},Ve.prototype.add_goal=function(C,P,y){y=y||null,P===!0&&(this.points=[]);for(var F=C.variables(),z={},X=0;X<F.length;X++)z[F[X]]=new Ee(F[X]);this.points.push(new ke(C,new Qe(z),y))},Ne.prototype.consult=function(C,P){return this.thread.consult(C,P)},Ve.prototype.consult=function(C,P){var y="";if(typeof C=="string"){y=C;var F=y.length;if(y.substring(F-3,F)===".pl"&&document.getElementById(y)){var z=document.getElementById(y),X=z.getAttribute("type");X!==null&&X.replace(/ /g,"").toLowerCase()==="text/prolog"&&(y=z.text)}}else if(C.nodeName)switch(C.nodeName.toLowerCase()){case"input":case"textarea":y=C.value;break;default:y=C.innerHTML;break}else return!1;return this.warnings=[],de(this,y,P)},Ne.prototype.query=function(C){return this.thread.query(C)},Ve.prototype.query=function(C){return this.points=[],this.debugger_points=[],ge(this,C)},Ne.prototype.head_point=function(){return this.thread.head_point()},Ve.prototype.head_point=function(){return this.points[this.points.length-1]},Ne.prototype.get_free_variable=function(C){return this.thread.get_free_variable(C)},Ve.prototype.get_free_variable=function(C){var P=[];if(C.id==="_"||this.session.renamed_variables[C.id]===void 0){for(this.session.rename++,this.points.length>0&&(P=this.head_point().substitution.domain());t(P,x.format_variable(this.session.rename))!==-1;)this.session.rename++;if(C.id==="_")return new Ee(x.format_variable(this.session.rename));this.session.renamed_variables[C.id]=x.format_variable(this.session.rename)}return new Ee(this.session.renamed_variables[C.id])},Ne.prototype.next_free_variable=function(){return this.thread.next_free_variable()},Ve.prototype.next_free_variable=function(){this.session.rename++;var C=[];for(this.points.length>0&&(C=this.head_point().substitution.domain());t(C,x.format_variable(this.session.rename))!==-1;)this.session.rename++;return new Ee(x.format_variable(this.session.rename))},Ne.prototype.is_public_predicate=function(C){return!this.public_predicates.hasOwnProperty(C)||this.public_predicates[C]===!0},Ve.prototype.is_public_predicate=function(C){return this.session.is_public_predicate(C)},Ne.prototype.is_multifile_predicate=function(C){return this.multifile_predicates.hasOwnProperty(C)&&this.multifile_predicates[C]===!0},Ve.prototype.is_multifile_predicate=function(C){return this.session.is_multifile_predicate(C)},Ne.prototype.prepend=function(C){return this.thread.prepend(C)},Ve.prototype.prepend=function(C){for(var P=C.length-1;P>=0;P--)this.points.push(C[P])},Ne.prototype.success=function(C,P){return this.thread.success(C,P)},Ve.prototype.success=function(C,y){var y=typeof y>"u"?C:y;this.prepend([new ke(C.goal.replace(null),C.substitution,y)])},Ne.prototype.throw_error=function(C){return this.thread.throw_error(C)},Ve.prototype.throw_error=function(C){this.prepend([new ke(new H("throw",[C]),new Qe,null,null)])},Ne.prototype.step_rule=function(C,P){return this.thread.step_rule(C,P)},Ve.prototype.step_rule=function(C,P){var y=P.indicator;if(C==="user"&&(C=null),C===null&&this.session.rules.hasOwnProperty(y))return this.session.rules[y];for(var F=C===null?this.session.modules:t(this.session.modules,C)===-1?[]:[C],z=0;z<F.length;z++){var X=x.module[F[z]];if(X.rules.hasOwnProperty(y)&&(X.rules.hasOwnProperty(this.level)||X.exports_predicate(y)))return x.module[F[z]].rules[y]}return null},Ne.prototype.step=function(){return this.thread.step()},Ve.prototype.step=function(){if(this.points.length!==0){var C=!1,P=this.points.pop();if(this.debugger&&this.debugger_states.push(P),x.type.is_term(P.goal)){var y=P.goal.select(),F=null,z=[];if(y!==null){this.total_steps++;for(var X=P;X.parent!==null&&X.parent.goal.search(y);)X=X.parent;if(this.level=X.parent===null?"top_level/0":X.parent.goal.select().indicator,x.type.is_term(y)&&y.indicator===":/2"&&(F=y.args[0].id,y=y.args[1]),F===null&&x.type.is_builtin(y))this.__call_indicator=y.indicator,C=x.predicate[y.indicator](this,P,y);else{var Z=this.step_rule(F,y);if(Z===null)this.session.rules.hasOwnProperty(y.indicator)||(this.get_flag("unknown").id==="error"?this.throw_error(x.error.existence("procedure",y.indicator,this.level)):this.get_flag("unknown").id==="warning"&&this.throw_warning("unknown procedure "+y.indicator+" (from "+this.level+")"));else if(Z instanceof Function)C=Z(this,P,y);else{for(var ie in Z)if(!!Z.hasOwnProperty(ie)){var Pe=Z[ie];this.session.renamed_variables={},Pe=Pe.rename(this);var Le=this.get_flag("occurs_check").indicator==="true/0",ot=new ke,gt=x.unify(y,Pe.head,Le);gt!==null&&(ot.goal=P.goal.replace(Pe.body),ot.goal!==null&&(ot.goal=ot.goal.apply(gt)),ot.substitution=P.substitution.apply(gt),ot.parent=P,z.push(ot))}this.prepend(z)}}}}else x.type.is_variable(P.goal)?this.throw_error(x.error.instantiation(this.level)):this.throw_error(x.error.type("callable",P.goal,this.level));return C}},Ne.prototype.answer=function(C){return this.thread.answer(C)},Ve.prototype.answer=function(C){C=C||function(P){},this.__calls.push(C),!(this.__calls.length>1)&&this.again()},Ne.prototype.answers=function(C,P,y){return this.thread.answers(C,P,y)},Ve.prototype.answers=function(C,P,y){var F=P||1e3,z=this;if(P<=0){y&&y();return}this.answer(function(X){C(X),X!==!1?setTimeout(function(){z.answers(C,P-1,y)},1):y&&y()})},Ne.prototype.again=function(C){return this.thread.again(C)},Ve.prototype.again=function(C){for(var P,y=Date.now();this.__calls.length>0;){for(this.warnings=[],C!==!1&&(this.current_limit=this.session.limit);this.current_limit>0&&this.points.length>0&&this.head_point().goal!==null&&!x.type.is_error(this.head_point().goal);)if(this.current_limit--,this.step()===!0)return;var F=Date.now();this.cpu_time_last=F-y,this.cpu_time+=this.cpu_time_last;var z=this.__calls.shift();this.current_limit<=0?z(null):this.points.length===0?z(!1):x.type.is_error(this.head_point().goal)?(P=this.session.format_error(this.points.pop()),this.points=[],z(P)):(this.debugger&&this.debugger_states.push(this.head_point()),P=this.session.format_success(this.points.pop()),z(P))}},Ne.prototype.unfold=function(C){if(C.body===null)return!1;var P=C.head,y=C.body,F=y.select(),z=new Ve(this),X=[];z.add_goal(F),z.step();for(var Z=z.points.length-1;Z>=0;Z--){var ie=z.points[Z],Pe=P.apply(ie.substitution),Le=y.replace(ie.goal);Le!==null&&(Le=Le.apply(ie.substitution)),X.push(new He(Pe,Le))}var ot=this.rules[P.indicator],gt=t(ot,C);return X.length>0&>!==-1?(ot.splice.apply(ot,[gt,1].concat(X)),!0):!1},Ve.prototype.unfold=function(C){return this.session.unfold(C)},Ee.prototype.interpret=function(C){return x.error.instantiation(C.level)},Re.prototype.interpret=function(C){return this},H.prototype.interpret=function(C){return x.type.is_unitary_list(this)?this.args[0].interpret(C):x.operate(C,this)},Ee.prototype.compare=function(C){return this.id<C.id?-1:this.id>C.id?1:0},Re.prototype.compare=function(C){if(this.value===C.value&&this.is_float===C.is_float)return 0;if(this.value<C.value||this.value===C.value&&this.is_float&&!C.is_float)return-1;if(this.value>C.value)return 1},H.prototype.compare=function(C){if(this.args.length<C.args.length||this.args.length===C.args.length&&this.id<C.id)return-1;if(this.args.length>C.args.length||this.args.length===C.args.length&&this.id>C.id)return 1;for(var P=0;P<this.args.length;P++){var y=x.compare(this.args[P],C.args[P]);if(y!==0)return y}return 0},Qe.prototype.lookup=function(C){return this.links[C]?this.links[C]:null},Qe.prototype.filter=function(C){var P={};for(var y in this.links)if(!!this.links.hasOwnProperty(y)){var F=this.links[y];C(y,F)&&(P[y]=F)}return new Qe(P)},Qe.prototype.exclude=function(C){var P={};for(var y in this.links)!this.links.hasOwnProperty(y)||t(C,y)===-1&&(P[y]=this.links[y]);return new Qe(P)},Qe.prototype.add=function(C,P){this.links[C]=P},Qe.prototype.domain=function(C){var P=C===!0?function(z){return z}:function(z){return new Ee(z)},y=[];for(var F in this.links)y.push(P(F));return y},Ee.prototype.compile=function(){return'new pl.type.Var("'+this.id.toString()+'")'},Re.prototype.compile=function(){return"new pl.type.Num("+this.value.toString()+", "+this.is_float.toString()+")"},H.prototype.compile=function(){return'new pl.type.Term("'+this.id.replace(/"/g,'\\"')+'", ['+o(this.args,function(C){return C.compile()})+"])"},He.prototype.compile=function(){return"new pl.type.Rule("+this.head.compile()+", "+(this.body===null?"null":this.body.compile())+")"},Ne.prototype.compile=function(){var C,P=[],y;for(var F in this.rules)if(!!this.rules.hasOwnProperty(F)){var z=this.rules[F];y=[],C='"'+F+'": [';for(var X=0;X<z.length;X++)y.push(z[X].compile());C+=y.join(),C+="]",P.push(C)}return"{"+P.join()+"};"},Ee.prototype.toJavaScript=function(){},Re.prototype.toJavaScript=function(){return this.value},H.prototype.toJavaScript=function(){if(this.args.length===0&&this.indicator!=="[]/0")return this.id;if(x.type.is_list(this)){for(var C=[],P=this,y;P.indicator==="./2";){if(y=P.args[0].toJavaScript(),y===void 0)return;C.push(y),P=P.args[1]}if(P.indicator==="[]/0")return C}},He.prototype.singleton_variables=function(){var C=this.head.variables(),P={},y=[];this.body!==null&&(C=C.concat(this.body.variables()));for(var F=0;F<C.length;F++)P[C[F]]===void 0&&(P[C[F]]=0),P[C[F]]++;for(var z in P)z!=="_"&&P[z]===1&&y.push(z);return y};var x={__env:typeof pl<"u"&&pl.exports?global:window,module:{},version:e,parser:{tokenizer:U,expression:V},utils:{str_indicator:te,codePointAt:n,fromCodePoint:u},statistics:{getCountTerms:function(){return dt}},fromJavaScript:{test:{boolean:function(C){return C===!0||C===!1},number:function(C){return typeof C=="number"},string:function(C){return typeof C=="string"},list:function(C){return C instanceof Array},variable:function(C){return C===void 0},any:function(C){return!0}},conversion:{boolean:function(C){return new H(C?"true":"false",[])},number:function(C){return new Re(C,C%1!==0)},string:function(C){return new H(C,[])},list:function(C){for(var P=[],y,F=0;F<C.length;F++){if(y=x.fromJavaScript.apply(C[F]),y===void 0)return;P.push(y)}return g(P)},variable:function(C){return new Ee("_")},any:function(C){}},apply:function(C){for(var P in x.fromJavaScript.test)if(P!=="any"&&x.fromJavaScript.test[P](C))return x.fromJavaScript.conversion[P](C);return x.fromJavaScript.conversion.any(C)}},type:{Var:Ee,Num:Re,Term:H,Rule:He,State:ke,Stream:Te,Module:je,Thread:Ve,Session:Ne,Substitution:Qe,order:[Ee,Re,H,Te],compare:function(C,P){var y=t(x.type.order,C.constructor),F=t(x.type.order,P.constructor);if(y<F)return-1;if(y>F)return 1;if(C.constructor===Re){if(C.is_float&&P.is_float)return 0;if(C.is_float)return-1;if(P.is_float)return 1}return 0},is_substitution:function(C){return C instanceof Qe},is_state:function(C){return C instanceof ke},is_rule:function(C){return C instanceof He},is_variable:function(C){return C instanceof Ee},is_stream:function(C){return C instanceof Te},is_anonymous_var:function(C){return C instanceof Ee&&C.id==="_"},is_callable:function(C){return C instanceof H},is_number:function(C){return C instanceof Re},is_integer:function(C){return C instanceof Re&&!C.is_float},is_float:function(C){return C instanceof Re&&C.is_float},is_term:function(C){return C instanceof H},is_atom:function(C){return C instanceof H&&C.args.length===0},is_ground:function(C){if(C instanceof Ee)return!1;if(C instanceof H){for(var P=0;P<C.args.length;P++)if(!x.type.is_ground(C.args[P]))return!1}return!0},is_atomic:function(C){return C instanceof H&&C.args.length===0||C instanceof Re},is_compound:function(C){return C instanceof H&&C.args.length>0},is_list:function(C){return C instanceof H&&(C.indicator==="[]/0"||C.indicator==="./2")},is_empty_list:function(C){return C instanceof H&&C.indicator==="[]/0"},is_non_empty_list:function(C){return C instanceof H&&C.indicator==="./2"},is_fully_list:function(C){for(;C instanceof H&&C.indicator==="./2";)C=C.args[1];return C instanceof Ee||C instanceof H&&C.indicator==="[]/0"},is_instantiated_list:function(C){for(;C instanceof H&&C.indicator==="./2";)C=C.args[1];return C instanceof H&&C.indicator==="[]/0"},is_unitary_list:function(C){return C instanceof H&&C.indicator==="./2"&&C.args[1]instanceof H&&C.args[1].indicator==="[]/0"},is_character:function(C){return C instanceof H&&(C.id.length===1||C.id.length>0&&C.id.length<=2&&n(C.id,0)>=65536)},is_character_code:function(C){return C instanceof Re&&!C.is_float&&C.value>=0&&C.value<=1114111},is_byte:function(C){return C instanceof Re&&!C.is_float&&C.value>=0&&C.value<=255},is_operator:function(C){return C instanceof H&&x.arithmetic.evaluation[C.indicator]},is_directive:function(C){return C instanceof H&&x.directive[C.indicator]!==void 0},is_builtin:function(C){return C instanceof H&&x.predicate[C.indicator]!==void 0},is_error:function(C){return C instanceof H&&C.indicator==="throw/1"},is_predicate_indicator:function(C){return C instanceof H&&C.indicator==="//2"&&C.args[0]instanceof H&&C.args[0].args.length===0&&C.args[1]instanceof Re&&C.args[1].is_float===!1},is_flag:function(C){return C instanceof H&&C.args.length===0&&x.flag[C.id]!==void 0},is_value_flag:function(C,P){if(!x.type.is_flag(C))return!1;for(var y in x.flag[C.id].allowed)if(!!x.flag[C.id].allowed.hasOwnProperty(y)&&x.flag[C.id].allowed[y].equals(P))return!0;return!1},is_io_mode:function(C){return x.type.is_atom(C)&&["read","write","append"].indexOf(C.id)!==-1},is_stream_option:function(C){return x.type.is_term(C)&&(C.indicator==="alias/1"&&x.type.is_atom(C.args[0])||C.indicator==="reposition/1"&&x.type.is_atom(C.args[0])&&(C.args[0].id==="true"||C.args[0].id==="false")||C.indicator==="type/1"&&x.type.is_atom(C.args[0])&&(C.args[0].id==="text"||C.args[0].id==="binary")||C.indicator==="eof_action/1"&&x.type.is_atom(C.args[0])&&(C.args[0].id==="error"||C.args[0].id==="eof_code"||C.args[0].id==="reset"))},is_stream_position:function(C){return x.type.is_integer(C)&&C.value>=0||x.type.is_atom(C)&&(C.id==="end_of_stream"||C.id==="past_end_of_stream")},is_stream_property:function(C){return x.type.is_term(C)&&(C.indicator==="input/0"||C.indicator==="output/0"||C.indicator==="alias/1"&&(x.type.is_variable(C.args[0])||x.type.is_atom(C.args[0]))||C.indicator==="file_name/1"&&(x.type.is_variable(C.args[0])||x.type.is_atom(C.args[0]))||C.indicator==="position/1"&&(x.type.is_variable(C.args[0])||x.type.is_stream_position(C.args[0]))||C.indicator==="reposition/1"&&(x.type.is_variable(C.args[0])||x.type.is_atom(C.args[0])&&(C.args[0].id==="true"||C.args[0].id==="false"))||C.indicator==="type/1"&&(x.type.is_variable(C.args[0])||x.type.is_atom(C.args[0])&&(C.args[0].id==="text"||C.args[0].id==="binary"))||C.indicator==="mode/1"&&(x.type.is_variable(C.args[0])||x.type.is_atom(C.args[0])&&(C.args[0].id==="read"||C.args[0].id==="write"||C.args[0].id==="append"))||C.indicator==="eof_action/1"&&(x.type.is_variable(C.args[0])||x.type.is_atom(C.args[0])&&(C.args[0].id==="error"||C.args[0].id==="eof_code"||C.args[0].id==="reset"))||C.indicator==="end_of_stream/1"&&(x.type.is_variable(C.args[0])||x.type.is_atom(C.args[0])&&(C.args[0].id==="at"||C.args[0].id==="past"||C.args[0].id==="not")))},is_streamable:function(C){return C.__proto__.stream!==void 0},is_read_option:function(C){return x.type.is_term(C)&&["variables/1","variable_names/1","singletons/1"].indexOf(C.indicator)!==-1},is_write_option:function(C){return x.type.is_term(C)&&(C.indicator==="quoted/1"&&x.type.is_atom(C.args[0])&&(C.args[0].id==="true"||C.args[0].id==="false")||C.indicator==="ignore_ops/1"&&x.type.is_atom(C.args[0])&&(C.args[0].id==="true"||C.args[0].id==="false")||C.indicator==="numbervars/1"&&x.type.is_atom(C.args[0])&&(C.args[0].id==="true"||C.args[0].id==="false"))},is_close_option:function(C){return x.type.is_term(C)&&C.indicator==="force/1"&&x.type.is_atom(C.args[0])&&(C.args[0].id==="true"||C.args[0].id==="false")},is_modifiable_flag:function(C){return x.type.is_flag(C)&&x.flag[C.id].changeable},is_module:function(C){return C instanceof H&&C.indicator==="library/1"&&C.args[0]instanceof H&&C.args[0].args.length===0&&x.module[C.args[0].id]!==void 0}},arithmetic:{evaluation:{"e/0":{type_args:null,type_result:!0,fn:function(C){return Math.E}},"pi/0":{type_args:null,type_result:!0,fn:function(C){return Math.PI}},"tau/0":{type_args:null,type_result:!0,fn:function(C){return 2*Math.PI}},"epsilon/0":{type_args:null,type_result:!0,fn:function(C){return Number.EPSILON}},"+/1":{type_args:null,type_result:null,fn:function(C,P){return C}},"-/1":{type_args:null,type_result:null,fn:function(C,P){return-C}},"\\/1":{type_args:!1,type_result:!1,fn:function(C,P){return~C}},"abs/1":{type_args:null,type_result:null,fn:function(C,P){return Math.abs(C)}},"sign/1":{type_args:null,type_result:null,fn:function(C,P){return Math.sign(C)}},"float_integer_part/1":{type_args:!0,type_result:!1,fn:function(C,P){return parseInt(C)}},"float_fractional_part/1":{type_args:!0,type_result:!0,fn:function(C,P){return C-parseInt(C)}},"float/1":{type_args:null,type_result:!0,fn:function(C,P){return parseFloat(C)}},"floor/1":{type_args:!0,type_result:!1,fn:function(C,P){return Math.floor(C)}},"truncate/1":{type_args:!0,type_result:!1,fn:function(C,P){return parseInt(C)}},"round/1":{type_args:!0,type_result:!1,fn:function(C,P){return Math.round(C)}},"ceiling/1":{type_args:!0,type_result:!1,fn:function(C,P){return Math.ceil(C)}},"sin/1":{type_args:null,type_result:!0,fn:function(C,P){return Math.sin(C)}},"cos/1":{type_args:null,type_result:!0,fn:function(C,P){return Math.cos(C)}},"tan/1":{type_args:null,type_result:!0,fn:function(C,P){return Math.tan(C)}},"asin/1":{type_args:null,type_result:!0,fn:function(C,P){return Math.asin(C)}},"acos/1":{type_args:null,type_result:!0,fn:function(C,P){return Math.acos(C)}},"atan/1":{type_args:null,type_result:!0,fn:function(C,P){return Math.atan(C)}},"atan2/2":{type_args:null,type_result:!0,fn:function(C,P,y){return Math.atan2(C,P)}},"exp/1":{type_args:null,type_result:!0,fn:function(C,P){return Math.exp(C)}},"sqrt/1":{type_args:null,type_result:!0,fn:function(C,P){return Math.sqrt(C)}},"log/1":{type_args:null,type_result:!0,fn:function(C,P){return C>0?Math.log(C):x.error.evaluation("undefined",P.__call_indicator)}},"+/2":{type_args:null,type_result:null,fn:function(C,P,y){return C+P}},"-/2":{type_args:null,type_result:null,fn:function(C,P,y){return C-P}},"*/2":{type_args:null,type_result:null,fn:function(C,P,y){return C*P}},"//2":{type_args:null,type_result:!0,fn:function(C,P,y){return P?C/P:x.error.evaluation("zero_division",y.__call_indicator)}},"///2":{type_args:!1,type_result:!1,fn:function(C,P,y){return P?parseInt(C/P):x.error.evaluation("zero_division",y.__call_indicator)}},"**/2":{type_args:null,type_result:!0,fn:function(C,P,y){return Math.pow(C,P)}},"^/2":{type_args:null,type_result:null,fn:function(C,P,y){return Math.pow(C,P)}},"<</2":{type_args:!1,type_result:!1,fn:function(C,P,y){return C<<P}},">>/2":{type_args:!1,type_result:!1,fn:function(C,P,y){return C>>P}},"/\\/2":{type_args:!1,type_result:!1,fn:function(C,P,y){return C&P}},"\\//2":{type_args:!1,type_result:!1,fn:function(C,P,y){return C|P}},"xor/2":{type_args:!1,type_result:!1,fn:function(C,P,y){return C^P}},"rem/2":{type_args:!1,type_result:!1,fn:function(C,P,y){return P?C%P:x.error.evaluation("zero_division",y.__call_indicator)}},"mod/2":{type_args:!1,type_result:!1,fn:function(C,P,y){return P?C-parseInt(C/P)*P:x.error.evaluation("zero_division",y.__call_indicator)}},"max/2":{type_args:null,type_result:null,fn:function(C,P,y){return Math.max(C,P)}},"min/2":{type_args:null,type_result:null,fn:function(C,P,y){return Math.min(C,P)}}}},directive:{"dynamic/1":function(C,P){var y=P.args[0];if(x.type.is_variable(y))C.throw_error(x.error.instantiation(P.indicator));else if(!x.type.is_compound(y)||y.indicator!=="//2")C.throw_error(x.error.type("predicate_indicator",y,P.indicator));else if(x.type.is_variable(y.args[0])||x.type.is_variable(y.args[1]))C.throw_error(x.error.instantiation(P.indicator));else if(!x.type.is_atom(y.args[0]))C.throw_error(x.error.type("atom",y.args[0],P.indicator));else if(!x.type.is_integer(y.args[1]))C.throw_error(x.error.type("integer",y.args[1],P.indicator));else{var F=P.args[0].args[0].id+"/"+P.args[0].args[1].value;C.session.public_predicates[F]=!0,C.session.rules[F]||(C.session.rules[F]=[])}},"multifile/1":function(C,P){var y=P.args[0];x.type.is_variable(y)?C.throw_error(x.error.instantiation(P.indicator)):!x.type.is_compound(y)||y.indicator!=="//2"?C.throw_error(x.error.type("predicate_indicator",y,P.indicator)):x.type.is_variable(y.args[0])||x.type.is_variable(y.args[1])?C.throw_error(x.error.instantiation(P.indicator)):x.type.is_atom(y.args[0])?x.type.is_integer(y.args[1])?C.session.multifile_predicates[P.args[0].args[0].id+"/"+P.args[0].args[1].value]=!0:C.throw_error(x.error.type("integer",y.args[1],P.indicator)):C.throw_error(x.error.type("atom",y.args[0],P.indicator))},"set_prolog_flag/2":function(C,P){var y=P.args[0],F=P.args[1];x.type.is_variable(y)||x.type.is_variable(F)?C.throw_error(x.error.instantiation(P.indicator)):x.type.is_atom(y)?x.type.is_flag(y)?x.type.is_value_flag(y,F)?x.type.is_modifiable_flag(y)?C.session.flag[y.id]=F:C.throw_error(x.error.permission("modify","flag",y)):C.throw_error(x.error.domain("flag_value",new H("+",[y,F]),P.indicator)):C.throw_error(x.error.domain("prolog_flag",y,P.indicator)):C.throw_error(x.error.type("atom",y,P.indicator))},"use_module/1":function(C,P){var y=P.args[0];if(x.type.is_variable(y))C.throw_error(x.error.instantiation(P.indicator));else if(!x.type.is_term(y))C.throw_error(x.error.type("term",y,P.indicator));else if(x.type.is_module(y)){var F=y.args[0].id;t(C.session.modules,F)===-1&&C.session.modules.push(F)}},"char_conversion/2":function(C,P){var y=P.args[0],F=P.args[1];x.type.is_variable(y)||x.type.is_variable(F)?C.throw_error(x.error.instantiation(P.indicator)):x.type.is_character(y)?x.type.is_character(F)?y.id===F.id?delete C.session.__char_conversion[y.id]:C.session.__char_conversion[y.id]=F.id:C.throw_error(x.error.type("character",F,P.indicator)):C.throw_error(x.error.type("character",y,P.indicator))},"op/3":function(C,P){var y=P.args[0],F=P.args[1],z=P.args[2];if(x.type.is_variable(y)||x.type.is_variable(F)||x.type.is_variable(z))C.throw_error(x.error.instantiation(P.indicator));else if(!x.type.is_integer(y))C.throw_error(x.error.type("integer",y,P.indicator));else if(!x.type.is_atom(F))C.throw_error(x.error.type("atom",F,P.indicator));else if(!x.type.is_atom(z))C.throw_error(x.error.type("atom",z,P.indicator));else if(y.value<0||y.value>1200)C.throw_error(x.error.domain("operator_priority",y,P.indicator));else if(z.id===",")C.throw_error(x.error.permission("modify","operator",z,P.indicator));else if(z.id==="|"&&(y.value<1001||F.id.length!==3))C.throw_error(x.error.permission("modify","operator",z,P.indicator));else if(["fy","fx","yf","xf","xfx","yfx","xfy"].indexOf(F.id)===-1)C.throw_error(x.error.domain("operator_specifier",F,P.indicator));else{var X={prefix:null,infix:null,postfix:null};for(var Z in C.session.__operators)if(!!C.session.__operators.hasOwnProperty(Z)){var ie=C.session.__operators[Z][z.id];ie&&(t(ie,"fx")!==-1&&(X.prefix={priority:Z,type:"fx"}),t(ie,"fy")!==-1&&(X.prefix={priority:Z,type:"fy"}),t(ie,"xf")!==-1&&(X.postfix={priority:Z,type:"xf"}),t(ie,"yf")!==-1&&(X.postfix={priority:Z,type:"yf"}),t(ie,"xfx")!==-1&&(X.infix={priority:Z,type:"xfx"}),t(ie,"xfy")!==-1&&(X.infix={priority:Z,type:"xfy"}),t(ie,"yfx")!==-1&&(X.infix={priority:Z,type:"yfx"}))}var Pe;switch(F.id){case"fy":case"fx":Pe="prefix";break;case"yf":case"xf":Pe="postfix";break;default:Pe="infix";break}if(((X.prefix&&Pe==="prefix"||X.postfix&&Pe==="postfix"||X.infix&&Pe==="infix")&&X[Pe].type!==F.id||X.infix&&Pe==="postfix"||X.postfix&&Pe==="infix")&&y.value!==0)C.throw_error(x.error.permission("create","operator",z,P.indicator));else return X[Pe]&&(we(C.session.__operators[X[Pe].priority][z.id],F.id),C.session.__operators[X[Pe].priority][z.id].length===0&&delete C.session.__operators[X[Pe].priority][z.id]),y.value>0&&(C.session.__operators[y.value]||(C.session.__operators[y.value.toString()]={}),C.session.__operators[y.value][z.id]||(C.session.__operators[y.value][z.id]=[]),C.session.__operators[y.value][z.id].push(F.id)),!0}}},predicate:{"op/3":function(C,P,y){x.directive["op/3"](C,y)&&C.success(P)},"current_op/3":function(C,P,y){var F=y.args[0],z=y.args[1],X=y.args[2],Z=[];for(var ie in C.session.__operators)for(var Pe in C.session.__operators[ie])for(var Le=0;Le<C.session.__operators[ie][Pe].length;Le++)Z.push(new ke(P.goal.replace(new H(",",[new H("=",[new Re(ie,!1),F]),new H(",",[new H("=",[new H(C.session.__operators[ie][Pe][Le],[]),z]),new H("=",[new H(Pe,[]),X])])])),P.substitution,P));C.prepend(Z)},";/2":function(C,P,y){if(x.type.is_term(y.args[0])&&y.args[0].indicator==="->/2"){var F=C.points,z=C.session.format_success,X=C.session.format_error;C.session.format_success=function(Le){return Le.substitution},C.session.format_error=function(Le){return Le.goal},C.points=[new ke(y.args[0].args[0],P.substitution,P)];var Z=function(Le){C.points=F,C.session.format_success=z,C.session.format_error=X,Le===!1?C.prepend([new ke(P.goal.replace(y.args[1]),P.substitution,P)]):x.type.is_error(Le)?C.throw_error(Le.args[0]):Le===null?(C.prepend([P]),C.__calls.shift()(null)):C.prepend([new ke(P.goal.replace(y.args[0].args[1]).apply(Le),P.substitution.apply(Le),P)])};C.__calls.unshift(Z)}else{var ie=new ke(P.goal.replace(y.args[0]),P.substitution,P),Pe=new ke(P.goal.replace(y.args[1]),P.substitution,P);C.prepend([ie,Pe])}},"!/0":function(C,P,y){var F,z,X=[];for(F=P,z=null;F.parent!==null&&F.parent.goal.search(y);)if(z=F,F=F.parent,F.goal!==null){var Z=F.goal.select();if(Z&&Z.id==="call"&&Z.search(y)){F=z;break}}for(var ie=C.points.length-1;ie>=0;ie--){for(var Pe=C.points[ie],Le=Pe.parent;Le!==null&&Le!==F.parent;)Le=Le.parent;Le===null&&Le!==F.parent&&X.push(Pe)}C.points=X.reverse(),C.success(P)},"\\+/1":function(C,P,y){var F=y.args[0];x.type.is_variable(F)?C.throw_error(x.error.instantiation(C.level)):x.type.is_callable(F)?C.prepend([new ke(P.goal.replace(new H(",",[new H(",",[new H("call",[F]),new H("!",[])]),new H("fail",[])])),P.substitution,P),new ke(P.goal.replace(null),P.substitution,P)]):C.throw_error(x.error.type("callable",F,C.level))},"->/2":function(C,P,y){var F=P.goal.replace(new H(",",[y.args[0],new H(",",[new H("!"),y.args[1]])]));C.prepend([new ke(F,P.substitution,P)])},"fail/0":function(C,P,y){},"false/0":function(C,P,y){},"true/0":function(C,P,y){C.success(P)},"call/1":ne(1),"call/2":ne(2),"call/3":ne(3),"call/4":ne(4),"call/5":ne(5),"call/6":ne(6),"call/7":ne(7),"call/8":ne(8),"once/1":function(C,P,y){var F=y.args[0];C.prepend([new ke(P.goal.replace(new H(",",[new H("call",[F]),new H("!",[])])),P.substitution,P)])},"forall/2":function(C,P,y){var F=y.args[0],z=y.args[1];C.prepend([new ke(P.goal.replace(new H("\\+",[new H(",",[new H("call",[F]),new H("\\+",[new H("call",[z])])])])),P.substitution,P)])},"repeat/0":function(C,P,y){C.prepend([new ke(P.goal.replace(null),P.substitution,P),P])},"throw/1":function(C,P,y){x.type.is_variable(y.args[0])?C.throw_error(x.error.instantiation(C.level)):C.throw_error(y.args[0])},"catch/3":function(C,P,y){var F=C.points;C.points=[],C.prepend([new ke(y.args[0],P.substitution,P)]);var z=C.session.format_success,X=C.session.format_error;C.session.format_success=function(ie){return ie.substitution},C.session.format_error=function(ie){return ie.goal};var Z=function(ie){var Pe=C.points;if(C.points=F,C.session.format_success=z,C.session.format_error=X,x.type.is_error(ie)){for(var Le=[],ot=C.points.length-1;ot>=0;ot--){for(var $t=C.points[ot],gt=$t.parent;gt!==null&>!==P.parent;)gt=gt.parent;gt===null&>!==P.parent&&Le.push($t)}C.points=Le;var jt=C.get_flag("occurs_check").indicator==="true/0",$t=new ke,xt=x.unify(ie.args[0],y.args[1],jt);xt!==null?($t.substitution=P.substitution.apply(xt),$t.goal=P.goal.replace(y.args[2]).apply(xt),$t.parent=P,C.prepend([$t])):C.throw_error(ie.args[0])}else if(ie!==!1){for(var on=ie===null?[]:[new ke(P.goal.apply(ie).replace(null),P.substitution.apply(ie),P)],br=[],ot=Pe.length-1;ot>=0;ot--){br.push(Pe[ot]);var dr=Pe[ot].goal!==null?Pe[ot].goal.select():null;if(x.type.is_term(dr)&&dr.indicator==="!/0")break}var Pr=o(br,function(Yr){return Yr.goal===null&&(Yr.goal=new H("true",[])),Yr=new ke(P.goal.replace(new H("catch",[Yr.goal,y.args[1],y.args[2]])),P.substitution.apply(Yr.substitution),Yr.parent),Yr.exclude=y.args[0].variables(),Yr}).reverse();C.prepend(Pr),C.prepend(on),ie===null&&(this.current_limit=0,C.__calls.shift()(null))}};C.__calls.unshift(Z)},"=/2":function(C,P,y){var F=C.get_flag("occurs_check").indicator==="true/0",z=new ke,X=x.unify(y.args[0],y.args[1],F);X!==null&&(z.goal=P.goal.apply(X).replace(null),z.substitution=P.substitution.apply(X),z.parent=P,C.prepend([z]))},"unify_with_occurs_check/2":function(C,P,y){var F=new ke,z=x.unify(y.args[0],y.args[1],!0);z!==null&&(F.goal=P.goal.apply(z).replace(null),F.substitution=P.substitution.apply(z),F.parent=P,C.prepend([F]))},"\\=/2":function(C,P,y){var F=C.get_flag("occurs_check").indicator==="true/0",z=x.unify(y.args[0],y.args[1],F);z===null&&C.success(P)},"subsumes_term/2":function(C,P,y){var F=C.get_flag("occurs_check").indicator==="true/0",z=x.unify(y.args[1],y.args[0],F);z!==null&&y.args[1].apply(z).equals(y.args[1])&&C.success(P)},"findall/3":function(C,P,y){var F=y.args[0],z=y.args[1],X=y.args[2];if(x.type.is_variable(z))C.throw_error(x.error.instantiation(y.indicator));else if(!x.type.is_callable(z))C.throw_error(x.error.type("callable",z,y.indicator));else if(!x.type.is_variable(X)&&!x.type.is_list(X))C.throw_error(x.error.type("list",X,y.indicator));else{var Z=C.next_free_variable(),ie=new H(",",[z,new H("=",[Z,F])]),Pe=C.points,Le=C.session.limit,ot=C.session.format_success;C.session.format_success=function($t){return $t.substitution},C.add_goal(ie,!0,P);var gt=[],jt=function($t){if($t!==!1&&$t!==null&&!x.type.is_error($t))C.__calls.unshift(jt),gt.push($t.links[Z.id]),C.session.limit=C.current_limit;else if(C.points=Pe,C.session.limit=Le,C.session.format_success=ot,x.type.is_error($t))C.throw_error($t.args[0]);else if(C.current_limit>0){for(var xt=new H("[]"),on=gt.length-1;on>=0;on--)xt=new H(".",[gt[on],xt]);C.prepend([new ke(P.goal.replace(new H("=",[X,xt])),P.substitution,P)])}};C.__calls.unshift(jt)}},"bagof/3":function(C,P,y){var F,z=y.args[0],X=y.args[1],Z=y.args[2];if(x.type.is_variable(X))C.throw_error(x.error.instantiation(y.indicator));else if(!x.type.is_callable(X))C.throw_error(x.error.type("callable",X,y.indicator));else if(!x.type.is_variable(Z)&&!x.type.is_list(Z))C.throw_error(x.error.type("list",Z,y.indicator));else{var ie=C.next_free_variable(),Pe;X.indicator==="^/2"?(Pe=X.args[0].variables(),X=X.args[1]):Pe=[],Pe=Pe.concat(z.variables());for(var Le=X.variables().filter(function(Pr){return t(Pe,Pr)===-1}),ot=new H("[]"),gt=Le.length-1;gt>=0;gt--)ot=new H(".",[new Ee(Le[gt]),ot]);var jt=new H(",",[X,new H("=",[ie,new H(",",[ot,z])])]),$t=C.points,xt=C.session.limit,on=C.session.format_success;C.session.format_success=function(Pr){return Pr.substitution},C.add_goal(jt,!0,P);var br=[],dr=function(Pr){if(Pr!==!1&&Pr!==null&&!x.type.is_error(Pr)){C.__calls.unshift(dr);var Yr=!1,Wn=Pr.links[ie.id].args[0],Os=Pr.links[ie.id].args[1];for(var Ti in br)if(!!br.hasOwnProperty(Ti)){var hs=br[Ti];if(hs.variables.equals(Wn)){hs.answers.push(Os),Yr=!0;break}}Yr||br.push({variables:Wn,answers:[Os]}),C.session.limit=C.current_limit}else if(C.points=$t,C.session.limit=xt,C.session.format_success=on,x.type.is_error(Pr))C.throw_error(Pr.args[0]);else if(C.current_limit>0){for(var io=[],Si=0;Si<br.length;Si++){Pr=br[Si].answers;for(var Ms=new H("[]"),so=Pr.length-1;so>=0;so--)Ms=new H(".",[Pr[so],Ms]);io.push(new ke(P.goal.replace(new H(",",[new H("=",[ot,br[Si].variables]),new H("=",[Z,Ms])])),P.substitution,P))}C.prepend(io)}};C.__calls.unshift(dr)}},"setof/3":function(C,P,y){var F,z=y.args[0],X=y.args[1],Z=y.args[2];if(x.type.is_variable(X))C.throw_error(x.error.instantiation(y.indicator));else if(!x.type.is_callable(X))C.throw_error(x.error.type("callable",X,y.indicator));else if(!x.type.is_variable(Z)&&!x.type.is_list(Z))C.throw_error(x.error.type("list",Z,y.indicator));else{var ie=C.next_free_variable(),Pe;X.indicator==="^/2"?(Pe=X.args[0].variables(),X=X.args[1]):Pe=[],Pe=Pe.concat(z.variables());for(var Le=X.variables().filter(function(Pr){return t(Pe,Pr)===-1}),ot=new H("[]"),gt=Le.length-1;gt>=0;gt--)ot=new H(".",[new Ee(Le[gt]),ot]);var jt=new H(",",[X,new H("=",[ie,new H(",",[ot,z])])]),$t=C.points,xt=C.session.limit,on=C.session.format_success;C.session.format_success=function(Pr){return Pr.substitution},C.add_goal(jt,!0,P);var br=[],dr=function(Pr){if(Pr!==!1&&Pr!==null&&!x.type.is_error(Pr)){C.__calls.unshift(dr);var Yr=!1,Wn=Pr.links[ie.id].args[0],Os=Pr.links[ie.id].args[1];for(var Ti in br)if(!!br.hasOwnProperty(Ti)){var hs=br[Ti];if(hs.variables.equals(Wn)){hs.answers.push(Os),Yr=!0;break}}Yr||br.push({variables:Wn,answers:[Os]}),C.session.limit=C.current_limit}else if(C.points=$t,C.session.limit=xt,C.session.format_success=on,x.type.is_error(Pr))C.throw_error(Pr.args[0]);else if(C.current_limit>0){for(var io=[],Si=0;Si<br.length;Si++){Pr=br[Si].answers.sort(x.compare);for(var Ms=new H("[]"),so=Pr.length-1;so>=0;so--)Ms=new H(".",[Pr[so],Ms]);io.push(new ke(P.goal.replace(new H(",",[new H("=",[ot,br[Si].variables]),new H("=",[Z,Ms])])),P.substitution,P))}C.prepend(io)}};C.__calls.unshift(dr)}},"functor/3":function(C,P,y){var F,z=y.args[0],X=y.args[1],Z=y.args[2];if(x.type.is_variable(z)&&(x.type.is_variable(X)||x.type.is_variable(Z)))C.throw_error(x.error.instantiation("functor/3"));else if(!x.type.is_variable(Z)&&!x.type.is_integer(Z))C.throw_error(x.error.type("integer",y.args[2],"functor/3"));else if(!x.type.is_variable(X)&&!x.type.is_atomic(X))C.throw_error(x.error.type("atomic",y.args[1],"functor/3"));else if(x.type.is_integer(X)&&x.type.is_integer(Z)&&Z.value!==0)C.throw_error(x.error.type("atom",y.args[1],"functor/3"));else if(x.type.is_variable(z)){if(y.args[2].value>=0){for(var ie=[],Pe=0;Pe<Z.value;Pe++)ie.push(C.next_free_variable());var Le=x.type.is_integer(X)?X:new H(X.id,ie);C.prepend([new ke(P.goal.replace(new H("=",[z,Le])),P.substitution,P)])}}else{var ot=x.type.is_integer(z)?z:new H(z.id,[]),gt=x.type.is_integer(z)?new Re(0,!1):new Re(z.args.length,!1),jt=new H(",",[new H("=",[ot,X]),new H("=",[gt,Z])]);C.prepend([new ke(P.goal.replace(jt),P.substitution,P)])}},"arg/3":function(C,P,y){if(x.type.is_variable(y.args[0])||x.type.is_variable(y.args[1]))C.throw_error(x.error.instantiation(y.indicator));else if(y.args[0].value<0)C.throw_error(x.error.domain("not_less_than_zero",y.args[0],y.indicator));else if(!x.type.is_compound(y.args[1]))C.throw_error(x.error.type("compound",y.args[1],y.indicator));else{var F=y.args[0].value;if(F>0&&F<=y.args[1].args.length){var z=new H("=",[y.args[1].args[F-1],y.args[2]]);C.prepend([new ke(P.goal.replace(z),P.substitution,P)])}}},"=../2":function(C,P,y){var F;if(x.type.is_variable(y.args[0])&&(x.type.is_variable(y.args[1])||x.type.is_non_empty_list(y.args[1])&&x.type.is_variable(y.args[1].args[0])))C.throw_error(x.error.instantiation(y.indicator));else if(!x.type.is_fully_list(y.args[1]))C.throw_error(x.error.type("list",y.args[1],y.indicator));else if(x.type.is_variable(y.args[0])){if(!x.type.is_variable(y.args[1])){var X=[];for(F=y.args[1].args[1];F.indicator==="./2";)X.push(F.args[0]),F=F.args[1];x.type.is_variable(y.args[0])&&x.type.is_variable(F)?C.throw_error(x.error.instantiation(y.indicator)):X.length===0&&x.type.is_compound(y.args[1].args[0])?C.throw_error(x.error.type("atomic",y.args[1].args[0],y.indicator)):X.length>0&&(x.type.is_compound(y.args[1].args[0])||x.type.is_number(y.args[1].args[0]))?C.throw_error(x.error.type("atom",y.args[1].args[0],y.indicator)):X.length===0?C.prepend([new ke(P.goal.replace(new H("=",[y.args[1].args[0],y.args[0]],P)),P.substitution,P)]):C.prepend([new ke(P.goal.replace(new H("=",[new H(y.args[1].args[0].id,X),y.args[0]])),P.substitution,P)])}}else{if(x.type.is_atomic(y.args[0]))F=new H(".",[y.args[0],new H("[]")]);else{F=new H("[]");for(var z=y.args[0].args.length-1;z>=0;z--)F=new H(".",[y.args[0].args[z],F]);F=new H(".",[new H(y.args[0].id),F])}C.prepend([new ke(P.goal.replace(new H("=",[F,y.args[1]])),P.substitution,P)])}},"copy_term/2":function(C,P,y){var F=y.args[0].rename(C);C.prepend([new ke(P.goal.replace(new H("=",[F,y.args[1]])),P.substitution,P.parent)])},"term_variables/2":function(C,P,y){var F=y.args[0],z=y.args[1];if(!x.type.is_fully_list(z))C.throw_error(x.error.type("list",z,y.indicator));else{var X=g(o(Se(F.variables()),function(Z){return new Ee(Z)}));C.prepend([new ke(P.goal.replace(new H("=",[z,X])),P.substitution,P)])}},"clause/2":function(C,P,y){if(x.type.is_variable(y.args[0]))C.throw_error(x.error.instantiation(y.indicator));else if(!x.type.is_callable(y.args[0]))C.throw_error(x.error.type("callable",y.args[0],y.indicator));else if(!x.type.is_variable(y.args[1])&&!x.type.is_callable(y.args[1]))C.throw_error(x.error.type("callable",y.args[1],y.indicator));else if(C.session.rules[y.args[0].indicator]!==void 0)if(C.is_public_predicate(y.args[0].indicator)){var F=[];for(var z in C.session.rules[y.args[0].indicator])if(!!C.session.rules[y.args[0].indicator].hasOwnProperty(z)){var X=C.session.rules[y.args[0].indicator][z];C.session.renamed_variables={},X=X.rename(C),X.body===null&&(X.body=new H("true"));var Z=new H(",",[new H("=",[X.head,y.args[0]]),new H("=",[X.body,y.args[1]])]);F.push(new ke(P.goal.replace(Z),P.substitution,P))}C.prepend(F)}else C.throw_error(x.error.permission("access","private_procedure",y.args[0].indicator,y.indicator))},"current_predicate/1":function(C,P,y){var F=y.args[0];if(!x.type.is_variable(F)&&(!x.type.is_compound(F)||F.indicator!=="//2"))C.throw_error(x.error.type("predicate_indicator",F,y.indicator));else if(!x.type.is_variable(F)&&!x.type.is_variable(F.args[0])&&!x.type.is_atom(F.args[0]))C.throw_error(x.error.type("atom",F.args[0],y.indicator));else if(!x.type.is_variable(F)&&!x.type.is_variable(F.args[1])&&!x.type.is_integer(F.args[1]))C.throw_error(x.error.type("integer",F.args[1],y.indicator));else{var z=[];for(var X in C.session.rules)if(!!C.session.rules.hasOwnProperty(X)){var Z=X.lastIndexOf("/"),ie=X.substr(0,Z),Pe=parseInt(X.substr(Z+1,X.length-(Z+1))),Le=new H("/",[new H(ie),new Re(Pe,!1)]),ot=new H("=",[Le,F]);z.push(new ke(P.goal.replace(ot),P.substitution,P))}C.prepend(z)}},"asserta/1":function(C,P,y){if(x.type.is_variable(y.args[0]))C.throw_error(x.error.instantiation(y.indicator));else if(!x.type.is_callable(y.args[0]))C.throw_error(x.error.type("callable",y.args[0],y.indicator));else{var F,z;y.args[0].indicator===":-/2"?(F=y.args[0].args[0],z=be(y.args[0].args[1])):(F=y.args[0],z=null),x.type.is_callable(F)?z!==null&&!x.type.is_callable(z)?C.throw_error(x.error.type("callable",z,y.indicator)):C.is_public_predicate(F.indicator)?(C.session.rules[F.indicator]===void 0&&(C.session.rules[F.indicator]=[]),C.session.public_predicates[F.indicator]=!0,C.session.rules[F.indicator]=[new He(F,z,!0)].concat(C.session.rules[F.indicator]),C.success(P)):C.throw_error(x.error.permission("modify","static_procedure",F.indicator,y.indicator)):C.throw_error(x.error.type("callable",F,y.indicator))}},"assertz/1":function(C,P,y){if(x.type.is_variable(y.args[0]))C.throw_error(x.error.instantiation(y.indicator));else if(!x.type.is_callable(y.args[0]))C.throw_error(x.error.type("callable",y.args[0],y.indicator));else{var F,z;y.args[0].indicator===":-/2"?(F=y.args[0].args[0],z=be(y.args[0].args[1])):(F=y.args[0],z=null),x.type.is_callable(F)?z!==null&&!x.type.is_callable(z)?C.throw_error(x.error.type("callable",z,y.indicator)):C.is_public_predicate(F.indicator)?(C.session.rules[F.indicator]===void 0&&(C.session.rules[F.indicator]=[]),C.session.public_predicates[F.indicator]=!0,C.session.rules[F.indicator].push(new He(F,z,!0)),C.success(P)):C.throw_error(x.error.permission("modify","static_procedure",F.indicator,y.indicator)):C.throw_error(x.error.type("callable",F,y.indicator))}},"retract/1":function(C,P,y){if(x.type.is_variable(y.args[0]))C.throw_error(x.error.instantiation(y.indicator));else if(!x.type.is_callable(y.args[0]))C.throw_error(x.error.type("callable",y.args[0],y.indicator));else{var F,z;if(y.args[0].indicator===":-/2"?(F=y.args[0].args[0],z=y.args[0].args[1]):(F=y.args[0],z=new H("true")),typeof P.retract>"u")if(C.is_public_predicate(F.indicator)){if(C.session.rules[F.indicator]!==void 0){for(var X=[],Z=0;Z<C.session.rules[F.indicator].length;Z++){C.session.renamed_variables={};var ie=C.session.rules[F.indicator][Z],Pe=ie.rename(C);Pe.body===null&&(Pe.body=new H("true",[]));var Le=C.get_flag("occurs_check").indicator==="true/0",ot=x.unify(new H(",",[F,z]),new H(",",[Pe.head,Pe.body]),Le);if(ot!==null){var gt=new ke(P.goal.replace(new H(",",[new H("retract",[new H(":-",[F,z])]),new H(",",[new H("=",[F,Pe.head]),new H("=",[z,Pe.body])])])),P.substitution,P);gt.retract=ie,X.push(gt)}}C.prepend(X)}}else C.throw_error(x.error.permission("modify","static_procedure",F.indicator,y.indicator));else ce(C,P,F.indicator,P.retract)}},"retractall/1":function(C,P,y){var F=y.args[0];x.type.is_variable(F)?C.throw_error(x.error.instantiation(y.indicator)):x.type.is_callable(F)?C.prepend([new ke(P.goal.replace(new H(",",[new H("retract",[new x.type.Term(":-",[F,new Ee("_")])]),new H("fail",[])])),P.substitution,P),new ke(P.goal.replace(null),P.substitution,P)]):C.throw_error(x.error.type("callable",F,y.indicator))},"abolish/1":function(C,P,y){if(x.type.is_variable(y.args[0])||x.type.is_term(y.args[0])&&y.args[0].indicator==="//2"&&(x.type.is_variable(y.args[0].args[0])||x.type.is_variable(y.args[0].args[1])))C.throw_error(x.error.instantiation(y.indicator));else if(!x.type.is_term(y.args[0])||y.args[0].indicator!=="//2")C.throw_error(x.error.type("predicate_indicator",y.args[0],y.indicator));else if(!x.type.is_atom(y.args[0].args[0]))C.throw_error(x.error.type("atom",y.args[0].args[0],y.indicator));else if(!x.type.is_integer(y.args[0].args[1]))C.throw_error(x.error.type("integer",y.args[0].args[1],y.indicator));else if(y.args[0].args[1].value<0)C.throw_error(x.error.domain("not_less_than_zero",y.args[0].args[1],y.indicator));else if(x.type.is_number(C.get_flag("max_arity"))&&y.args[0].args[1].value>C.get_flag("max_arity").value)C.throw_error(x.error.representation("max_arity",y.indicator));else{var F=y.args[0].args[0].id+"/"+y.args[0].args[1].value;C.is_public_predicate(F)?(delete C.session.rules[F],C.success(P)):C.throw_error(x.error.permission("modify","static_procedure",F,y.indicator))}},"atom_length/2":function(C,P,y){if(x.type.is_variable(y.args[0]))C.throw_error(x.error.instantiation(y.indicator));else if(!x.type.is_atom(y.args[0]))C.throw_error(x.error.type("atom",y.args[0],y.indicator));else if(!x.type.is_variable(y.args[1])&&!x.type.is_integer(y.args[1]))C.throw_error(x.error.type("integer",y.args[1],y.indicator));else if(x.type.is_integer(y.args[1])&&y.args[1].value<0)C.throw_error(x.error.domain("not_less_than_zero",y.args[1],y.indicator));else{var F=new Re(y.args[0].id.length,!1);C.prepend([new ke(P.goal.replace(new H("=",[F,y.args[1]])),P.substitution,P)])}},"atom_concat/3":function(C,P,y){var F,z,X=y.args[0],Z=y.args[1],ie=y.args[2];if(x.type.is_variable(ie)&&(x.type.is_variable(X)||x.type.is_variable(Z)))C.throw_error(x.error.instantiation(y.indicator));else if(!x.type.is_variable(X)&&!x.type.is_atom(X))C.throw_error(x.error.type("atom",X,y.indicator));else if(!x.type.is_variable(Z)&&!x.type.is_atom(Z))C.throw_error(x.error.type("atom",Z,y.indicator));else if(!x.type.is_variable(ie)&&!x.type.is_atom(ie))C.throw_error(x.error.type("atom",ie,y.indicator));else{var Pe=x.type.is_variable(X),Le=x.type.is_variable(Z);if(!Pe&&!Le)z=new H("=",[ie,new H(X.id+Z.id)]),C.prepend([new ke(P.goal.replace(z),P.substitution,P)]);else if(Pe&&!Le)F=ie.id.substr(0,ie.id.length-Z.id.length),F+Z.id===ie.id&&(z=new H("=",[X,new H(F)]),C.prepend([new ke(P.goal.replace(z),P.substitution,P)]));else if(Le&&!Pe)F=ie.id.substr(X.id.length),X.id+F===ie.id&&(z=new H("=",[Z,new H(F)]),C.prepend([new ke(P.goal.replace(z),P.substitution,P)]));else{for(var ot=[],gt=0;gt<=ie.id.length;gt++){var jt=new H(ie.id.substr(0,gt)),$t=new H(ie.id.substr(gt));z=new H(",",[new H("=",[jt,X]),new H("=",[$t,Z])]),ot.push(new ke(P.goal.replace(z),P.substitution,P))}C.prepend(ot)}}},"sub_atom/5":function(C,P,y){var F,z=y.args[0],X=y.args[1],Z=y.args[2],ie=y.args[3],Pe=y.args[4];if(x.type.is_variable(z))C.throw_error(x.error.instantiation(y.indicator));else if(!x.type.is_variable(X)&&!x.type.is_integer(X))C.throw_error(x.error.type("integer",X,y.indicator));else if(!x.type.is_variable(Z)&&!x.type.is_integer(Z))C.throw_error(x.error.type("integer",Z,y.indicator));else if(!x.type.is_variable(ie)&&!x.type.is_integer(ie))C.throw_error(x.error.type("integer",ie,y.indicator));else if(x.type.is_integer(X)&&X.value<0)C.throw_error(x.error.domain("not_less_than_zero",X,y.indicator));else if(x.type.is_integer(Z)&&Z.value<0)C.throw_error(x.error.domain("not_less_than_zero",Z,y.indicator));else if(x.type.is_integer(ie)&&ie.value<0)C.throw_error(x.error.domain("not_less_than_zero",ie,y.indicator));else{var Le=[],ot=[],gt=[];if(x.type.is_variable(X))for(F=0;F<=z.id.length;F++)Le.push(F);else Le.push(X.value);if(x.type.is_variable(Z))for(F=0;F<=z.id.length;F++)ot.push(F);else ot.push(Z.value);if(x.type.is_variable(ie))for(F=0;F<=z.id.length;F++)gt.push(F);else gt.push(ie.value);var jt=[];for(var $t in Le)if(!!Le.hasOwnProperty($t)){F=Le[$t];for(var xt in ot)if(!!ot.hasOwnProperty(xt)){var on=ot[xt],br=z.id.length-F-on;if(t(gt,br)!==-1&&F+on+br===z.id.length){var dr=z.id.substr(F,on);if(z.id===z.id.substr(0,F)+dr+z.id.substr(F+on,br)){var Pr=new H("=",[new H(dr),Pe]),Yr=new H("=",[X,new Re(F)]),Wn=new H("=",[Z,new Re(on)]),Os=new H("=",[ie,new Re(br)]),Ti=new H(",",[new H(",",[new H(",",[Yr,Wn]),Os]),Pr]);jt.push(new ke(P.goal.replace(Ti),P.substitution,P))}}}}C.prepend(jt)}},"atom_chars/2":function(C,P,y){var F=y.args[0],z=y.args[1];if(x.type.is_variable(F)&&x.type.is_variable(z))C.throw_error(x.error.instantiation(y.indicator));else if(!x.type.is_variable(F)&&!x.type.is_atom(F))C.throw_error(x.error.type("atom",F,y.indicator));else if(x.type.is_variable(F)){for(var ie=z,Pe=x.type.is_variable(F),Le="";ie.indicator==="./2";){if(x.type.is_character(ie.args[0]))Le+=ie.args[0].id;else if(x.type.is_variable(ie.args[0])&&Pe){C.throw_error(x.error.instantiation(y.indicator));return}else if(!x.type.is_variable(ie.args[0])){C.throw_error(x.error.type("character",ie.args[0],y.indicator));return}ie=ie.args[1]}x.type.is_variable(ie)&&Pe?C.throw_error(x.error.instantiation(y.indicator)):!x.type.is_empty_list(ie)&&!x.type.is_variable(ie)?C.throw_error(x.error.type("list",z,y.indicator)):C.prepend([new ke(P.goal.replace(new H("=",[new H(Le),F])),P.substitution,P)])}else{for(var X=new H("[]"),Z=F.id.length-1;Z>=0;Z--)X=new H(".",[new H(F.id.charAt(Z)),X]);C.prepend([new ke(P.goal.replace(new H("=",[z,X])),P.substitution,P)])}},"atom_codes/2":function(C,P,y){var F=y.args[0],z=y.args[1];if(x.type.is_variable(F)&&x.type.is_variable(z))C.throw_error(x.error.instantiation(y.indicator));else if(!x.type.is_variable(F)&&!x.type.is_atom(F))C.throw_error(x.error.type("atom",F,y.indicator));else if(x.type.is_variable(F)){for(var ie=z,Pe=x.type.is_variable(F),Le="";ie.indicator==="./2";){if(x.type.is_character_code(ie.args[0]))Le+=u(ie.args[0].value);else if(x.type.is_variable(ie.args[0])&&Pe){C.throw_error(x.error.instantiation(y.indicator));return}else if(!x.type.is_variable(ie.args[0])){C.throw_error(x.error.representation("character_code",y.indicator));return}ie=ie.args[1]}x.type.is_variable(ie)&&Pe?C.throw_error(x.error.instantiation(y.indicator)):!x.type.is_empty_list(ie)&&!x.type.is_variable(ie)?C.throw_error(x.error.type("list",z,y.indicator)):C.prepend([new ke(P.goal.replace(new H("=",[new H(Le),F])),P.substitution,P)])}else{for(var X=new H("[]"),Z=F.id.length-1;Z>=0;Z--)X=new H(".",[new Re(n(F.id,Z),!1),X]);C.prepend([new ke(P.goal.replace(new H("=",[z,X])),P.substitution,P)])}},"char_code/2":function(C,P,y){var F=y.args[0],z=y.args[1];if(x.type.is_variable(F)&&x.type.is_variable(z))C.throw_error(x.error.instantiation(y.indicator));else if(!x.type.is_variable(F)&&!x.type.is_character(F))C.throw_error(x.error.type("character",F,y.indicator));else if(!x.type.is_variable(z)&&!x.type.is_integer(z))C.throw_error(x.error.type("integer",z,y.indicator));else if(!x.type.is_variable(z)&&!x.type.is_character_code(z))C.throw_error(x.error.representation("character_code",y.indicator));else if(x.type.is_variable(z)){var X=new Re(n(F.id,0),!1);C.prepend([new ke(P.goal.replace(new H("=",[X,z])),P.substitution,P)])}else{var Z=new H(u(z.value));C.prepend([new ke(P.goal.replace(new H("=",[Z,F])),P.substitution,P)])}},"number_chars/2":function(C,P,y){var F,z=y.args[0],X=y.args[1];if(x.type.is_variable(z)&&x.type.is_variable(X))C.throw_error(x.error.instantiation(y.indicator));else if(!x.type.is_variable(z)&&!x.type.is_number(z))C.throw_error(x.error.type("number",z,y.indicator));else if(!x.type.is_variable(X)&&!x.type.is_list(X))C.throw_error(x.error.type("list",X,y.indicator));else{var Z=x.type.is_variable(z);if(!x.type.is_variable(X)){var ie=X,Pe=!0;for(F="";ie.indicator==="./2";){if(x.type.is_character(ie.args[0]))F+=ie.args[0].id;else if(x.type.is_variable(ie.args[0]))Pe=!1;else if(!x.type.is_variable(ie.args[0])){C.throw_error(x.error.type("character",ie.args[0],y.indicator));return}ie=ie.args[1]}if(Pe=Pe&&x.type.is_empty_list(ie),!x.type.is_empty_list(ie)&&!x.type.is_variable(ie)){C.throw_error(x.error.type("list",X,y.indicator));return}if(!Pe&&Z){C.throw_error(x.error.instantiation(y.indicator));return}else if(Pe)if(x.type.is_variable(ie)&&Z){C.throw_error(x.error.instantiation(y.indicator));return}else{var Le=C.parse(F),ot=Le.value;!x.type.is_number(ot)||Le.tokens[Le.tokens.length-1].space?C.throw_error(x.error.syntax_by_predicate("parseable_number",y.indicator)):C.prepend([new ke(P.goal.replace(new H("=",[z,ot])),P.substitution,P)]);return}}if(!Z){F=z.toString();for(var gt=new H("[]"),jt=F.length-1;jt>=0;jt--)gt=new H(".",[new H(F.charAt(jt)),gt]);C.prepend([new ke(P.goal.replace(new H("=",[X,gt])),P.substitution,P)])}}},"number_codes/2":function(C,P,y){var F,z=y.args[0],X=y.args[1];if(x.type.is_variable(z)&&x.type.is_variable(X))C.throw_error(x.error.instantiation(y.indicator));else if(!x.type.is_variable(z)&&!x.type.is_number(z))C.throw_error(x.error.type("number",z,y.indicator));else if(!x.type.is_variable(X)&&!x.type.is_list(X))C.throw_error(x.error.type("list",X,y.indicator));else{var Z=x.type.is_variable(z);if(!x.type.is_variable(X)){var ie=X,Pe=!0;for(F="";ie.indicator==="./2";){if(x.type.is_character_code(ie.args[0]))F+=u(ie.args[0].value);else if(x.type.is_variable(ie.args[0]))Pe=!1;else if(!x.type.is_variable(ie.args[0])){C.throw_error(x.error.type("character_code",ie.args[0],y.indicator));return}ie=ie.args[1]}if(Pe=Pe&&x.type.is_empty_list(ie),!x.type.is_empty_list(ie)&&!x.type.is_variable(ie)){C.throw_error(x.error.type("list",X,y.indicator));return}if(!Pe&&Z){C.throw_error(x.error.instantiation(y.indicator));return}else if(Pe)if(x.type.is_variable(ie)&&Z){C.throw_error(x.error.instantiation(y.indicator));return}else{var Le=C.parse(F),ot=Le.value;!x.type.is_number(ot)||Le.tokens[Le.tokens.length-1].space?C.throw_error(x.error.syntax_by_predicate("parseable_number",y.indicator)):C.prepend([new ke(P.goal.replace(new H("=",[z,ot])),P.substitution,P)]);return}}if(!Z){F=z.toString();for(var gt=new H("[]"),jt=F.length-1;jt>=0;jt--)gt=new H(".",[new Re(n(F,jt),!1),gt]);C.prepend([new ke(P.goal.replace(new H("=",[X,gt])),P.substitution,P)])}}},"upcase_atom/2":function(C,P,y){var F=y.args[0],z=y.args[1];x.type.is_variable(F)?C.throw_error(x.error.instantiation(y.indicator)):x.type.is_atom(F)?!x.type.is_variable(z)&&!x.type.is_atom(z)?C.throw_error(x.error.type("atom",z,y.indicator)):C.prepend([new ke(P.goal.replace(new H("=",[z,new H(F.id.toUpperCase(),[])])),P.substitution,P)]):C.throw_error(x.error.type("atom",F,y.indicator))},"downcase_atom/2":function(C,P,y){var F=y.args[0],z=y.args[1];x.type.is_variable(F)?C.throw_error(x.error.instantiation(y.indicator)):x.type.is_atom(F)?!x.type.is_variable(z)&&!x.type.is_atom(z)?C.throw_error(x.error.type("atom",z,y.indicator)):C.prepend([new ke(P.goal.replace(new H("=",[z,new H(F.id.toLowerCase(),[])])),P.substitution,P)]):C.throw_error(x.error.type("atom",F,y.indicator))},"atomic_list_concat/2":function(C,P,y){var F=y.args[0],z=y.args[1];C.prepend([new ke(P.goal.replace(new H("atomic_list_concat",[F,new H("",[]),z])),P.substitution,P)])},"atomic_list_concat/3":function(C,P,y){var F=y.args[0],z=y.args[1],X=y.args[2];if(x.type.is_variable(z)||x.type.is_variable(F)&&x.type.is_variable(X))C.throw_error(x.error.instantiation(y.indicator));else if(!x.type.is_variable(F)&&!x.type.is_list(F))C.throw_error(x.error.type("list",F,y.indicator));else if(!x.type.is_variable(X)&&!x.type.is_atom(X))C.throw_error(x.error.type("atom",X,y.indicator));else if(x.type.is_variable(X)){for(var ie="",Pe=F;x.type.is_term(Pe)&&Pe.indicator==="./2";){if(!x.type.is_atom(Pe.args[0])&&!x.type.is_number(Pe.args[0])){C.throw_error(x.error.type("atomic",Pe.args[0],y.indicator));return}ie!==""&&(ie+=z.id),x.type.is_atom(Pe.args[0])?ie+=Pe.args[0].id:ie+=""+Pe.args[0].value,Pe=Pe.args[1]}ie=new H(ie,[]),x.type.is_variable(Pe)?C.throw_error(x.error.instantiation(y.indicator)):!x.type.is_term(Pe)||Pe.indicator!=="[]/0"?C.throw_error(x.error.type("list",F,y.indicator)):C.prepend([new ke(P.goal.replace(new H("=",[ie,X])),P.substitution,P)])}else{var Z=g(o(X.id.split(z.id),function(Le){return new H(Le,[])}));C.prepend([new ke(P.goal.replace(new H("=",[Z,F])),P.substitution,P)])}},"@=</2":function(C,P,y){x.compare(y.args[0],y.args[1])<=0&&C.success(P)},"==/2":function(C,P,y){x.compare(y.args[0],y.args[1])===0&&C.success(P)},"\\==/2":function(C,P,y){x.compare(y.args[0],y.args[1])!==0&&C.success(P)},"@</2":function(C,P,y){x.compare(y.args[0],y.args[1])<0&&C.success(P)},"@>/2":function(C,P,y){x.compare(y.args[0],y.args[1])>0&&C.success(P)},"@>=/2":function(C,P,y){x.compare(y.args[0],y.args[1])>=0&&C.success(P)},"compare/3":function(C,P,y){var F=y.args[0],z=y.args[1],X=y.args[2];if(!x.type.is_variable(F)&&!x.type.is_atom(F))C.throw_error(x.error.type("atom",F,y.indicator));else if(x.type.is_atom(F)&&["<",">","="].indexOf(F.id)===-1)C.throw_error(x.type.domain("order",F,y.indicator));else{var Z=x.compare(z,X);Z=Z===0?"=":Z===-1?"<":">",C.prepend([new ke(P.goal.replace(new H("=",[F,new H(Z,[])])),P.substitution,P)])}},"is/2":function(C,P,y){var F=y.args[1].interpret(C);x.type.is_number(F)?C.prepend([new ke(P.goal.replace(new H("=",[y.args[0],F],C.level)),P.substitution,P)]):C.throw_error(F)},"between/3":function(C,P,y){var F=y.args[0],z=y.args[1],X=y.args[2];if(x.type.is_variable(F)||x.type.is_variable(z))C.throw_error(x.error.instantiation(y.indicator));else if(!x.type.is_integer(F))C.throw_error(x.error.type("integer",F,y.indicator));else if(!x.type.is_integer(z))C.throw_error(x.error.type("integer",z,y.indicator));else if(!x.type.is_variable(X)&&!x.type.is_integer(X))C.throw_error(x.error.type("integer",X,y.indicator));else if(x.type.is_variable(X)){var Z=[new ke(P.goal.replace(new H("=",[X,F])),P.substitution,P)];F.value<z.value&&Z.push(new ke(P.goal.replace(new H("between",[new Re(F.value+1,!1),z,X])),P.substitution,P)),C.prepend(Z)}else F.value<=X.value&&z.value>=X.value&&C.success(P)},"succ/2":function(C,P,y){var F=y.args[0],z=y.args[1];x.type.is_variable(F)&&x.type.is_variable(z)?C.throw_error(x.error.instantiation(y.indicator)):!x.type.is_variable(F)&&!x.type.is_integer(F)?C.throw_error(x.error.type("integer",F,y.indicator)):!x.type.is_variable(z)&&!x.type.is_integer(z)?C.throw_error(x.error.type("integer",z,y.indicator)):!x.type.is_variable(F)&&F.value<0?C.throw_error(x.error.domain("not_less_than_zero",F,y.indicator)):!x.type.is_variable(z)&&z.value<0?C.throw_error(x.error.domain("not_less_than_zero",z,y.indicator)):(x.type.is_variable(z)||z.value>0)&&(x.type.is_variable(F)?C.prepend([new ke(P.goal.replace(new H("=",[F,new Re(z.value-1,!1)])),P.substitution,P)]):C.prepend([new ke(P.goal.replace(new H("=",[z,new Re(F.value+1,!1)])),P.substitution,P)]))},"=:=/2":function(C,P,y){var F=x.arithmetic_compare(C,y.args[0],y.args[1]);x.type.is_term(F)?C.throw_error(F):F===0&&C.success(P)},"=\\=/2":function(C,P,y){var F=x.arithmetic_compare(C,y.args[0],y.args[1]);x.type.is_term(F)?C.throw_error(F):F!==0&&C.success(P)},"</2":function(C,P,y){var F=x.arithmetic_compare(C,y.args[0],y.args[1]);x.type.is_term(F)?C.throw_error(F):F<0&&C.success(P)},"=</2":function(C,P,y){var F=x.arithmetic_compare(C,y.args[0],y.args[1]);x.type.is_term(F)?C.throw_error(F):F<=0&&C.success(P)},">/2":function(C,P,y){var F=x.arithmetic_compare(C,y.args[0],y.args[1]);x.type.is_term(F)?C.throw_error(F):F>0&&C.success(P)},">=/2":function(C,P,y){var F=x.arithmetic_compare(C,y.args[0],y.args[1]);x.type.is_term(F)?C.throw_error(F):F>=0&&C.success(P)},"var/1":function(C,P,y){x.type.is_variable(y.args[0])&&C.success(P)},"atom/1":function(C,P,y){x.type.is_atom(y.args[0])&&C.success(P)},"atomic/1":function(C,P,y){x.type.is_atomic(y.args[0])&&C.success(P)},"compound/1":function(C,P,y){x.type.is_compound(y.args[0])&&C.success(P)},"integer/1":function(C,P,y){x.type.is_integer(y.args[0])&&C.success(P)},"float/1":function(C,P,y){x.type.is_float(y.args[0])&&C.success(P)},"number/1":function(C,P,y){x.type.is_number(y.args[0])&&C.success(P)},"nonvar/1":function(C,P,y){x.type.is_variable(y.args[0])||C.success(P)},"ground/1":function(C,P,y){y.variables().length===0&&C.success(P)},"acyclic_term/1":function(C,P,y){for(var F=P.substitution.apply(P.substitution),z=y.args[0].variables(),X=0;X<z.length;X++)if(P.substitution.links[z[X]]!==void 0&&!P.substitution.links[z[X]].equals(F.links[z[X]]))return;C.success(P)},"callable/1":function(C,P,y){x.type.is_callable(y.args[0])&&C.success(P)},"is_list/1":function(C,P,y){for(var F=y.args[0];x.type.is_term(F)&&F.indicator==="./2";)F=F.args[1];x.type.is_term(F)&&F.indicator==="[]/0"&&C.success(P)},"current_input/1":function(C,P,y){var F=y.args[0];!x.type.is_variable(F)&&!x.type.is_stream(F)&&!x.type.is_atom(F)?C.throw_error(x.error.domain("stream",F,y.indicator)):(x.type.is_atom(F)&&C.get_stream_by_alias(F.id)&&(F=C.get_stream_by_alias(F.id)),C.prepend([new ke(P.goal.replace(new H("=",[F,C.get_current_input()])),P.substitution,P)]))},"current_output/1":function(C,P,y){var F=y.args[0];!x.type.is_variable(F)&&!x.type.is_stream(F)&&!x.type.is_atom(F)?C.throw_error(x.error.domain("stream_or_alias",F,y.indicator)):(x.type.is_atom(F)&&C.get_stream_by_alias(F.id)&&(F=C.get_stream_by_alias(F.id)),C.prepend([new ke(P.goal.replace(new H("=",[F,C.get_current_output()])),P.substitution,P)]))},"set_input/1":function(C,P,y){var F=y.args[0],z=x.type.is_stream(F)?F:C.get_stream_by_alias(F.id);x.type.is_variable(F)?C.throw_error(x.error.instantiation(y.indicator)):!x.type.is_variable(F)&&!x.type.is_stream(F)&&!x.type.is_atom(F)?C.throw_error(x.error.domain("stream_or_alias",F,y.indicator)):x.type.is_stream(z)?z.output===!0?C.throw_error(x.error.permission("input","stream",F,y.indicator)):(C.set_current_input(z),C.success(P)):C.throw_error(x.error.existence("stream",F,y.indicator))},"set_output/1":function(C,P,y){var F=y.args[0],z=x.type.is_stream(F)?F:C.get_stream_by_alias(F.id);x.type.is_variable(F)?C.throw_error(x.error.instantiation(y.indicator)):!x.type.is_variable(F)&&!x.type.is_stream(F)&&!x.type.is_atom(F)?C.throw_error(x.error.domain("stream_or_alias",F,y.indicator)):x.type.is_stream(z)?z.input===!0?C.throw_error(x.error.permission("output","stream",F,y.indicator)):(C.set_current_output(z),C.success(P)):C.throw_error(x.error.existence("stream",F,y.indicator))},"open/3":function(C,P,y){var F=y.args[0],z=y.args[1],X=y.args[2];C.prepend([new ke(P.goal.replace(new H("open",[F,z,X,new H("[]",[])])),P.substitution,P)])},"open/4":function(C,P,y){var F=y.args[0],z=y.args[1],X=y.args[2],Z=y.args[3];if(x.type.is_variable(F)||x.type.is_variable(z))C.throw_error(x.error.instantiation(y.indicator));else if(!x.type.is_variable(z)&&!x.type.is_atom(z))C.throw_error(x.error.type("atom",z,y.indicator));else if(!x.type.is_list(Z))C.throw_error(x.error.type("list",Z,y.indicator));else if(!x.type.is_variable(X))C.throw_error(x.error.type("variable",X,y.indicator));else if(!x.type.is_atom(F)&&!x.type.is_streamable(F))C.throw_error(x.error.domain("source_sink",F,y.indicator));else if(!x.type.is_io_mode(z))C.throw_error(x.error.domain("io_mode",z,y.indicator));else{for(var ie={},Pe=Z,Le;x.type.is_term(Pe)&&Pe.indicator==="./2";){if(Le=Pe.args[0],x.type.is_variable(Le)){C.throw_error(x.error.instantiation(y.indicator));return}else if(!x.type.is_stream_option(Le)){C.throw_error(x.error.domain("stream_option",Le,y.indicator));return}ie[Le.id]=Le.args[0].id,Pe=Pe.args[1]}if(Pe.indicator!=="[]/0"){x.type.is_variable(Pe)?C.throw_error(x.error.instantiation(y.indicator)):C.throw_error(x.error.type("list",Z,y.indicator));return}else{var ot=ie.alias;if(ot&&C.get_stream_by_alias(ot)){C.throw_error(x.error.permission("open","source_sink",new H("alias",[new H(ot,[])]),y.indicator));return}ie.type||(ie.type="text");var gt;if(x.type.is_atom(F)?gt=C.file_system_open(F.id,ie.type,z.id):gt=F.stream(ie.type,z.id),gt===!1){C.throw_error(x.error.permission("open","source_sink",F,y.indicator));return}else if(gt===null){C.throw_error(x.error.existence("source_sink",F,y.indicator));return}var jt=new Te(gt,z.id,ie.alias,ie.type,ie.reposition==="true",ie.eof_action);ot?C.session.streams[ot]=jt:C.session.streams[jt.id]=jt,C.prepend([new ke(P.goal.replace(new H("=",[X,jt])),P.substitution,P)])}}},"close/1":function(C,P,y){var F=y.args[0];C.prepend([new ke(P.goal.replace(new H("close",[F,new H("[]",[])])),P.substitution,P)])},"close/2":function(C,P,y){var F=y.args[0],z=y.args[1],X=x.type.is_stream(F)?F:C.get_stream_by_alias(F.id);if(x.type.is_variable(F)||x.type.is_variable(z))C.throw_error(x.error.instantiation(y.indicator));else if(!x.type.is_list(z))C.throw_error(x.error.type("list",z,y.indicator));else if(!x.type.is_stream(F)&&!x.type.is_atom(F))C.throw_error(x.error.domain("stream_or_alias",F,y.indicator));else if(!x.type.is_stream(X)||X.stream===null)C.throw_error(x.error.existence("stream",F,y.indicator));else{for(var Z={},ie=z,Pe;x.type.is_term(ie)&&ie.indicator==="./2";){if(Pe=ie.args[0],x.type.is_variable(Pe)){C.throw_error(x.error.instantiation(y.indicator));return}else if(!x.type.is_close_option(Pe)){C.throw_error(x.error.domain("close_option",Pe,y.indicator));return}Z[Pe.id]=Pe.args[0].id==="true",ie=ie.args[1]}if(ie.indicator!=="[]/0"){x.type.is_variable(ie)?C.throw_error(x.error.instantiation(y.indicator)):C.throw_error(x.error.type("list",z,y.indicator));return}else{if(X===C.session.standard_input||X===C.session.standard_output){C.success(P);return}else X===C.session.current_input?C.session.current_input=C.session.standard_input:X===C.session.current_output&&(C.session.current_output=C.session.current_output);X.alias!==null?delete C.session.streams[X.alias]:delete C.session.streams[X.id],X.output&&X.stream.flush();var Le=X.stream.close();X.stream=null,(Z.force===!0||Le===!0)&&C.success(P)}}},"flush_output/0":function(C,P,y){C.prepend([new ke(P.goal.replace(new H(",",[new H("current_output",[new Ee("S")]),new H("flush_output",[new Ee("S")])])),P.substitution,P)])},"flush_output/1":function(C,P,y){var F=y.args[0],z=x.type.is_stream(F)?F:C.get_stream_by_alias(F.id);x.type.is_variable(F)?C.throw_error(x.error.instantiation(y.indicator)):!x.type.is_stream(F)&&!x.type.is_atom(F)?C.throw_error(x.error.domain("stream_or_alias",F,y.indicator)):!x.type.is_stream(z)||z.stream===null?C.throw_error(x.error.existence("stream",F,y.indicator)):F.input===!0?C.throw_error(x.error.permission("output","stream",output,y.indicator)):(z.stream.flush(),C.success(P))},"stream_property/2":function(C,P,y){var F=y.args[0],z=y.args[1],X=x.type.is_stream(F)?F:C.get_stream_by_alias(F.id);if(!x.type.is_variable(F)&&!x.type.is_stream(F)&&!x.type.is_atom(F))C.throw_error(x.error.domain("stream_or_alias",F,y.indicator));else if(!x.type.is_variable(F)&&(!x.type.is_stream(X)||X.stream===null))C.throw_error(x.error.existence("stream",F,y.indicator));else if(!x.type.is_variable(z)&&!x.type.is_stream_property(z))C.throw_error(x.error.domain("stream_property",z,y.indicator));else{var Z=[],ie=[];if(!x.type.is_variable(F))Z.push(X);else for(var Pe in C.session.streams)Z.push(C.session.streams[Pe]);for(var Le=0;Le<Z.length;Le++){var ot=[];Z[Le].filename&&ot.push(new H("file_name",[new H(Z[Le].file_name,[])])),ot.push(new H("mode",[new H(Z[Le].mode,[])])),ot.push(new H(Z[Le].input?"input":"output",[])),Z[Le].alias&&ot.push(new H("alias",[new H(Z[Le].alias,[])])),ot.push(new H("position",[typeof Z[Le].position=="number"?new Re(Z[Le].position,!1):new H(Z[Le].position,[])])),ot.push(new H("end_of_stream",[new H(Z[Le].position==="end_of_stream"?"at":Z[Le].position==="past_end_of_stream"?"past":"not",[])])),ot.push(new H("eof_action",[new H(Z[Le].eof_action,[])])),ot.push(new H("reposition",[new H(Z[Le].reposition?"true":"false",[])])),ot.push(new H("type",[new H(Z[Le].type,[])]));for(var gt=0;gt<ot.length;gt++)ie.push(new ke(P.goal.replace(new H(",",[new H("=",[x.type.is_variable(F)?F:X,Z[Le]]),new H("=",[z,ot[gt]])])),P.substitution,P))}C.prepend(ie)}},"at_end_of_stream/0":function(C,P,y){C.prepend([new ke(P.goal.replace(new H(",",[new H("current_input",[new Ee("S")]),new H(",",[new H("stream_property",[new Ee("S"),new H("end_of_stream",[new Ee("E")])]),new H(",",[new H("!",[]),new H(";",[new H("=",[new Ee("E"),new H("at",[])]),new H("=",[new Ee("E"),new H("past",[])])])])])])),P.substitution,P)])},"at_end_of_stream/1":function(C,P,y){var F=y.args[0];C.prepend([new ke(P.goal.replace(new H(",",[new H("stream_property",[F,new H("end_of_stream",[new Ee("E")])]),new H(",",[new H("!",[]),new H(";",[new H("=",[new Ee("E"),new H("at",[])]),new H("=",[new Ee("E"),new H("past",[])])])])])),P.substitution,P)])},"set_stream_position/2":function(C,P,y){var F=y.args[0],z=y.args[1],X=x.type.is_stream(F)?F:C.get_stream_by_alias(F.id);x.type.is_variable(F)||x.type.is_variable(z)?C.throw_error(x.error.instantiation(y.indicator)):!x.type.is_stream(F)&&!x.type.is_atom(F)?C.throw_error(x.error.domain("stream_or_alias",F,y.indicator)):!x.type.is_stream(X)||X.stream===null?C.throw_error(x.error.existence("stream",F,y.indicator)):x.type.is_stream_position(z)?X.reposition===!1?C.throw_error(x.error.permission("reposition","stream",F,y.indicator)):(x.type.is_integer(z)?X.position=z.value:X.position=z.id,C.success(P)):C.throw_error(x.error.domain("stream_position",z,y.indicator))},"get_char/1":function(C,P,y){var F=y.args[0];C.prepend([new ke(P.goal.replace(new H(",",[new H("current_input",[new Ee("S")]),new H("get_char",[new Ee("S"),F])])),P.substitution,P)])},"get_char/2":function(C,P,y){var F=y.args[0],z=y.args[1],X=x.type.is_stream(F)?F:C.get_stream_by_alias(F.id);if(x.type.is_variable(F))C.throw_error(x.error.instantiation(y.indicator));else if(!x.type.is_variable(z)&&!x.type.is_character(z))C.throw_error(x.error.type("in_character",z,y.indicator));else if(!x.type.is_stream(F)&&!x.type.is_atom(F))C.throw_error(x.error.domain("stream_or_alias",F,y.indicator));else if(!x.type.is_stream(X)||X.stream===null)C.throw_error(x.error.existence("stream",F,y.indicator));else if(X.output)C.throw_error(x.error.permission("input","stream",F,y.indicator));else if(X.type==="binary")C.throw_error(x.error.permission("input","binary_stream",F,y.indicator));else if(X.position==="past_end_of_stream"&&X.eof_action==="error")C.throw_error(x.error.permission("input","past_end_of_stream",F,y.indicator));else{var Z;if(X.position==="end_of_stream")Z="end_of_file",X.position="past_end_of_stream";else{if(Z=X.stream.get(1,X.position),Z===null){C.throw_error(x.error.representation("character",y.indicator));return}X.position++}C.prepend([new ke(P.goal.replace(new H("=",[new H(Z,[]),z])),P.substitution,P)])}},"get_code/1":function(C,P,y){var F=y.args[0];C.prepend([new ke(P.goal.replace(new H(",",[new H("current_input",[new Ee("S")]),new H("get_code",[new Ee("S"),F])])),P.substitution,P)])},"get_code/2":function(C,P,y){var F=y.args[0],z=y.args[1],X=x.type.is_stream(F)?F:C.get_stream_by_alias(F.id);if(x.type.is_variable(F))C.throw_error(x.error.instantiation(y.indicator));else if(!x.type.is_variable(z)&&!x.type.is_integer(z))C.throw_error(x.error.type("integer",char,y.indicator));else if(!x.type.is_variable(F)&&!x.type.is_stream(F)&&!x.type.is_atom(F))C.throw_error(x.error.domain("stream_or_alias",F,y.indicator));else if(!x.type.is_stream(X)||X.stream===null)C.throw_error(x.error.existence("stream",F,y.indicator));else if(X.output)C.throw_error(x.error.permission("input","stream",F,y.indicator));else if(X.type==="binary")C.throw_error(x.error.permission("input","binary_stream",F,y.indicator));else if(X.position==="past_end_of_stream"&&X.eof_action==="error")C.throw_error(x.error.permission("input","past_end_of_stream",F,y.indicator));else{var Z;if(X.position==="end_of_stream")Z=-1,X.position="past_end_of_stream";else{if(Z=X.stream.get(1,X.position),Z===null){C.throw_error(x.error.representation("character",y.indicator));return}Z=n(Z,0),X.position++}C.prepend([new ke(P.goal.replace(new H("=",[new Re(Z,!1),z])),P.substitution,P)])}},"peek_char/1":function(C,P,y){var F=y.args[0];C.prepend([new ke(P.goal.replace(new H(",",[new H("current_input",[new Ee("S")]),new H("peek_char",[new Ee("S"),F])])),P.substitution,P)])},"peek_char/2":function(C,P,y){var F=y.args[0],z=y.args[1],X=x.type.is_stream(F)?F:C.get_stream_by_alias(F.id);if(x.type.is_variable(F))C.throw_error(x.error.instantiation(y.indicator));else if(!x.type.is_variable(z)&&!x.type.is_character(z))C.throw_error(x.error.type("in_character",z,y.indicator));else if(!x.type.is_stream(F)&&!x.type.is_atom(F))C.throw_error(x.error.domain("stream_or_alias",F,y.indicator));else if(!x.type.is_stream(X)||X.stream===null)C.throw_error(x.error.existence("stream",F,y.indicator));else if(X.output)C.throw_error(x.error.permission("input","stream",F,y.indicator));else if(X.type==="binary")C.throw_error(x.error.permission("input","binary_stream",F,y.indicator));else if(X.position==="past_end_of_stream"&&X.eof_action==="error")C.throw_error(x.error.permission("input","past_end_of_stream",F,y.indicator));else{var Z;if(X.position==="end_of_stream")Z="end_of_file",X.position="past_end_of_stream";else if(Z=X.stream.get(1,X.position),Z===null){C.throw_error(x.error.representation("character",y.indicator));return}C.prepend([new ke(P.goal.replace(new H("=",[new H(Z,[]),z])),P.substitution,P)])}},"peek_code/1":function(C,P,y){var F=y.args[0];C.prepend([new ke(P.goal.replace(new H(",",[new H("current_input",[new Ee("S")]),new H("peek_code",[new Ee("S"),F])])),P.substitution,P)])},"peek_code/2":function(C,P,y){var F=y.args[0],z=y.args[1],X=x.type.is_stream(F)?F:C.get_stream_by_alias(F.id);if(x.type.is_variable(F))C.throw_error(x.error.instantiation(y.indicator));else if(!x.type.is_variable(z)&&!x.type.is_integer(z))C.throw_error(x.error.type("integer",char,y.indicator));else if(!x.type.is_variable(F)&&!x.type.is_stream(F)&&!x.type.is_atom(F))C.throw_error(x.error.domain("stream_or_alias",F,y.indicator));else if(!x.type.is_stream(X)||X.stream===null)C.throw_error(x.error.existence("stream",F,y.indicator));else if(X.output)C.throw_error(x.error.permission("input","stream",F,y.indicator));else if(X.type==="binary")C.throw_error(x.error.permission("input","binary_stream",F,y.indicator));else if(X.position==="past_end_of_stream"&&X.eof_action==="error")C.throw_error(x.error.permission("input","past_end_of_stream",F,y.indicator));else{var Z;if(X.position==="end_of_stream")Z=-1,X.position="past_end_of_stream";else{if(Z=X.stream.get(1,X.position),Z===null){C.throw_error(x.error.representation("character",y.indicator));return}Z=n(Z,0)}C.prepend([new ke(P.goal.replace(new H("=",[new Re(Z,!1),z])),P.substitution,P)])}},"put_char/1":function(C,P,y){var F=y.args[0];C.prepend([new ke(P.goal.replace(new H(",",[new H("current_output",[new Ee("S")]),new H("put_char",[new Ee("S"),F])])),P.substitution,P)])},"put_char/2":function(C,P,y){var F=y.args[0],z=y.args[1],X=x.type.is_stream(F)?F:C.get_stream_by_alias(F.id);x.type.is_variable(F)||x.type.is_variable(z)?C.throw_error(x.error.instantiation(y.indicator)):x.type.is_character(z)?!x.type.is_variable(F)&&!x.type.is_stream(F)&&!x.type.is_atom(F)?C.throw_error(x.error.domain("stream_or_alias",F,y.indicator)):!x.type.is_stream(X)||X.stream===null?C.throw_error(x.error.existence("stream",F,y.indicator)):X.input?C.throw_error(x.error.permission("output","stream",F,y.indicator)):X.type==="binary"?C.throw_error(x.error.permission("output","binary_stream",F,y.indicator)):X.stream.put(z.id,X.position)&&(typeof X.position=="number"&&X.position++,C.success(P)):C.throw_error(x.error.type("character",z,y.indicator))},"put_code/1":function(C,P,y){var F=y.args[0];C.prepend([new ke(P.goal.replace(new H(",",[new H("current_output",[new Ee("S")]),new H("put_code",[new Ee("S"),F])])),P.substitution,P)])},"put_code/2":function(C,P,y){var F=y.args[0],z=y.args[1],X=x.type.is_stream(F)?F:C.get_stream_by_alias(F.id);x.type.is_variable(F)||x.type.is_variable(z)?C.throw_error(x.error.instantiation(y.indicator)):x.type.is_integer(z)?x.type.is_character_code(z)?!x.type.is_variable(F)&&!x.type.is_stream(F)&&!x.type.is_atom(F)?C.throw_error(x.error.domain("stream_or_alias",F,y.indicator)):!x.type.is_stream(X)||X.stream===null?C.throw_error(x.error.existence("stream",F,y.indicator)):X.input?C.throw_error(x.error.permission("output","stream",F,y.indicator)):X.type==="binary"?C.throw_error(x.error.permission("output","binary_stream",F,y.indicator)):X.stream.put_char(u(z.value),X.position)&&(typeof X.position=="number"&&X.position++,C.success(P)):C.throw_error(x.error.representation("character_code",y.indicator)):C.throw_error(x.error.type("integer",z,y.indicator))},"nl/0":function(C,P,y){C.prepend([new ke(P.goal.replace(new H(",",[new H("current_output",[new Ee("S")]),new H("put_char",[new Ee("S"),new H(` -`,[])])])),P.substitution,P)])},"nl/1":function(C,P,y){var F=y.args[0];C.prepend([new ke(P.goal.replace(new H("put_char",[F,new H(` -`,[])])),P.substitution,P)])},"get_byte/1":function(C,P,y){var F=y.args[0];C.prepend([new ke(P.goal.replace(new H(",",[new H("current_input",[new Ee("S")]),new H("get_byte",[new Ee("S"),F])])),P.substitution,P)])},"get_byte/2":function(C,P,y){var F=y.args[0],z=y.args[1],X=x.type.is_stream(F)?F:C.get_stream_by_alias(F.id);if(x.type.is_variable(F))C.throw_error(x.error.instantiation(y.indicator));else if(!x.type.is_variable(z)&&!x.type.is_byte(z))C.throw_error(x.error.type("in_byte",char,y.indicator));else if(!x.type.is_stream(F)&&!x.type.is_atom(F))C.throw_error(x.error.domain("stream_or_alias",F,y.indicator));else if(!x.type.is_stream(X)||X.stream===null)C.throw_error(x.error.existence("stream",F,y.indicator));else if(X.output)C.throw_error(x.error.permission("input","stream",F,y.indicator));else if(X.type==="text")C.throw_error(x.error.permission("input","text_stream",F,y.indicator));else if(X.position==="past_end_of_stream"&&X.eof_action==="error")C.throw_error(x.error.permission("input","past_end_of_stream",F,y.indicator));else{var Z;if(X.position==="end_of_stream")Z="end_of_file",X.position="past_end_of_stream";else{if(Z=X.stream.get_byte(X.position),Z===null){C.throw_error(x.error.representation("byte",y.indicator));return}X.position++}C.prepend([new ke(P.goal.replace(new H("=",[new Re(Z,!1),z])),P.substitution,P)])}},"peek_byte/1":function(C,P,y){var F=y.args[0];C.prepend([new ke(P.goal.replace(new H(",",[new H("current_input",[new Ee("S")]),new H("peek_byte",[new Ee("S"),F])])),P.substitution,P)])},"peek_byte/2":function(C,P,y){var F=y.args[0],z=y.args[1],X=x.type.is_stream(F)?F:C.get_stream_by_alias(F.id);if(x.type.is_variable(F))C.throw_error(x.error.instantiation(y.indicator));else if(!x.type.is_variable(z)&&!x.type.is_byte(z))C.throw_error(x.error.type("in_byte",char,y.indicator));else if(!x.type.is_stream(F)&&!x.type.is_atom(F))C.throw_error(x.error.domain("stream_or_alias",F,y.indicator));else if(!x.type.is_stream(X)||X.stream===null)C.throw_error(x.error.existence("stream",F,y.indicator));else if(X.output)C.throw_error(x.error.permission("input","stream",F,y.indicator));else if(X.type==="text")C.throw_error(x.error.permission("input","text_stream",F,y.indicator));else if(X.position==="past_end_of_stream"&&X.eof_action==="error")C.throw_error(x.error.permission("input","past_end_of_stream",F,y.indicator));else{var Z;if(X.position==="end_of_stream")Z="end_of_file",X.position="past_end_of_stream";else if(Z=X.stream.get_byte(X.position),Z===null){C.throw_error(x.error.representation("byte",y.indicator));return}C.prepend([new ke(P.goal.replace(new H("=",[new Re(Z,!1),z])),P.substitution,P)])}},"put_byte/1":function(C,P,y){var F=y.args[0];C.prepend([new ke(P.goal.replace(new H(",",[new H("current_output",[new Ee("S")]),new H("put_byte",[new Ee("S"),F])])),P.substitution,P)])},"put_byte/2":function(C,P,y){var F=y.args[0],z=y.args[1],X=x.type.is_stream(F)?F:C.get_stream_by_alias(F.id);x.type.is_variable(F)||x.type.is_variable(z)?C.throw_error(x.error.instantiation(y.indicator)):x.type.is_byte(z)?!x.type.is_variable(F)&&!x.type.is_stream(F)&&!x.type.is_atom(F)?C.throw_error(x.error.domain("stream_or_alias",F,y.indicator)):!x.type.is_stream(X)||X.stream===null?C.throw_error(x.error.existence("stream",F,y.indicator)):X.input?C.throw_error(x.error.permission("output","stream",F,y.indicator)):X.type==="text"?C.throw_error(x.error.permission("output","text_stream",F,y.indicator)):X.stream.put_byte(z.value,X.position)&&(typeof X.position=="number"&&X.position++,C.success(P)):C.throw_error(x.error.type("byte",z,y.indicator))},"read/1":function(C,P,y){var F=y.args[0];C.prepend([new ke(P.goal.replace(new H(",",[new H("current_input",[new Ee("S")]),new H("read_term",[new Ee("S"),F,new H("[]",[])])])),P.substitution,P)])},"read/2":function(C,P,y){var F=y.args[0],z=y.args[1];C.prepend([new ke(P.goal.replace(new H("read_term",[F,z,new H("[]",[])])),P.substitution,P)])},"read_term/2":function(C,P,y){var F=y.args[0],z=y.args[1];C.prepend([new ke(P.goal.replace(new H(",",[new H("current_input",[new Ee("S")]),new H("read_term",[new Ee("S"),F,z])])),P.substitution,P)])},"read_term/3":function(C,P,y){var F=y.args[0],z=y.args[1],X=y.args[2],Z=x.type.is_stream(F)?F:C.get_stream_by_alias(F.id);if(x.type.is_variable(F)||x.type.is_variable(X))C.throw_error(x.error.instantiation(y.indicator));else if(!x.type.is_list(X))C.throw_error(x.error.type("list",X,y.indicator));else if(!x.type.is_stream(F)&&!x.type.is_atom(F))C.throw_error(x.error.domain("stream_or_alias",F,y.indicator));else if(!x.type.is_stream(Z)||Z.stream===null)C.throw_error(x.error.existence("stream",F,y.indicator));else if(Z.output)C.throw_error(x.error.permission("input","stream",F,y.indicator));else if(Z.type==="binary")C.throw_error(x.error.permission("input","binary_stream",F,y.indicator));else if(Z.position==="past_end_of_stream"&&Z.eof_action==="error")C.throw_error(x.error.permission("input","past_end_of_stream",F,y.indicator));else{for(var ie={},Pe=X,Le;x.type.is_term(Pe)&&Pe.indicator==="./2";){if(Le=Pe.args[0],x.type.is_variable(Le)){C.throw_error(x.error.instantiation(y.indicator));return}else if(!x.type.is_read_option(Le)){C.throw_error(x.error.domain("read_option",Le,y.indicator));return}ie[Le.id]=Le.args[0],Pe=Pe.args[1]}if(Pe.indicator!=="[]/0"){x.type.is_variable(Pe)?C.throw_error(x.error.instantiation(y.indicator)):C.throw_error(x.error.type("list",X,y.indicator));return}else{for(var ot,gt,jt,$t="",xt=[],on=null;on===null||on.name!=="atom"||on.value!=="."||jt.type===A&&x.flatten_error(new H("throw",[jt.value])).found==="token_not_found";){if(ot=Z.stream.get(1,Z.position),ot===null){C.throw_error(x.error.representation("character",y.indicator));return}if(ot==="end_of_file"||ot==="past_end_of_file"){jt?C.throw_error(x.error.syntax(xt[jt.len-1],". or expression expected",!1)):C.throw_error(x.error.syntax(null,"token not found",!0));return}Z.position++,$t+=ot,gt=new U(C),gt.new_text($t),xt=gt.get_tokens(),on=xt!==null&&xt.length>0?xt[xt.length-1]:null,xt!==null&&(jt=V(C,xt,0,C.__get_max_priority(),!1))}if(jt.type===p&&jt.len===xt.length-1&&on.value==="."){jt=jt.value.rename(C);var br=new H("=",[z,jt]);if(ie.variables){var dr=g(o(Se(jt.variables()),function(Pr){return new Ee(Pr)}));br=new H(",",[br,new H("=",[ie.variables,dr])])}if(ie.variable_names){var dr=g(o(Se(jt.variables()),function(Yr){var Wn;for(Wn in C.session.renamed_variables)if(C.session.renamed_variables.hasOwnProperty(Wn)&&C.session.renamed_variables[Wn]===Yr)break;return new H("=",[new H(Wn,[]),new Ee(Yr)])}));br=new H(",",[br,new H("=",[ie.variable_names,dr])])}if(ie.singletons){var dr=g(o(new He(jt,null).singleton_variables(),function(Yr){var Wn;for(Wn in C.session.renamed_variables)if(C.session.renamed_variables.hasOwnProperty(Wn)&&C.session.renamed_variables[Wn]===Yr)break;return new H("=",[new H(Wn,[]),new Ee(Yr)])}));br=new H(",",[br,new H("=",[ie.singletons,dr])])}C.prepend([new ke(P.goal.replace(br),P.substitution,P)])}else jt.type===p?C.throw_error(x.error.syntax(xt[jt.len],"unexpected token",!1)):C.throw_error(jt.value)}}},"write/1":function(C,P,y){var F=y.args[0];C.prepend([new ke(P.goal.replace(new H(",",[new H("current_output",[new Ee("S")]),new H("write",[new Ee("S"),F])])),P.substitution,P)])},"write/2":function(C,P,y){var F=y.args[0],z=y.args[1];C.prepend([new ke(P.goal.replace(new H("write_term",[F,z,new H(".",[new H("quoted",[new H("false",[])]),new H(".",[new H("ignore_ops",[new H("false")]),new H(".",[new H("numbervars",[new H("true")]),new H("[]",[])])])])])),P.substitution,P)])},"writeq/1":function(C,P,y){var F=y.args[0];C.prepend([new ke(P.goal.replace(new H(",",[new H("current_output",[new Ee("S")]),new H("writeq",[new Ee("S"),F])])),P.substitution,P)])},"writeq/2":function(C,P,y){var F=y.args[0],z=y.args[1];C.prepend([new ke(P.goal.replace(new H("write_term",[F,z,new H(".",[new H("quoted",[new H("true",[])]),new H(".",[new H("ignore_ops",[new H("false")]),new H(".",[new H("numbervars",[new H("true")]),new H("[]",[])])])])])),P.substitution,P)])},"write_canonical/1":function(C,P,y){var F=y.args[0];C.prepend([new ke(P.goal.replace(new H(",",[new H("current_output",[new Ee("S")]),new H("write_canonical",[new Ee("S"),F])])),P.substitution,P)])},"write_canonical/2":function(C,P,y){var F=y.args[0],z=y.args[1];C.prepend([new ke(P.goal.replace(new H("write_term",[F,z,new H(".",[new H("quoted",[new H("true",[])]),new H(".",[new H("ignore_ops",[new H("true")]),new H(".",[new H("numbervars",[new H("false")]),new H("[]",[])])])])])),P.substitution,P)])},"write_term/2":function(C,P,y){var F=y.args[0],z=y.args[1];C.prepend([new ke(P.goal.replace(new H(",",[new H("current_output",[new Ee("S")]),new H("write_term",[new Ee("S"),F,z])])),P.substitution,P)])},"write_term/3":function(C,P,y){var F=y.args[0],z=y.args[1],X=y.args[2],Z=x.type.is_stream(F)?F:C.get_stream_by_alias(F.id);if(x.type.is_variable(F)||x.type.is_variable(X))C.throw_error(x.error.instantiation(y.indicator));else if(!x.type.is_list(X))C.throw_error(x.error.type("list",X,y.indicator));else if(!x.type.is_stream(F)&&!x.type.is_atom(F))C.throw_error(x.error.domain("stream_or_alias",F,y.indicator));else if(!x.type.is_stream(Z)||Z.stream===null)C.throw_error(x.error.existence("stream",F,y.indicator));else if(Z.input)C.throw_error(x.error.permission("output","stream",F,y.indicator));else if(Z.type==="binary")C.throw_error(x.error.permission("output","binary_stream",F,y.indicator));else if(Z.position==="past_end_of_stream"&&Z.eof_action==="error")C.throw_error(x.error.permission("output","past_end_of_stream",F,y.indicator));else{for(var ie={},Pe=X,Le;x.type.is_term(Pe)&&Pe.indicator==="./2";){if(Le=Pe.args[0],x.type.is_variable(Le)){C.throw_error(x.error.instantiation(y.indicator));return}else if(!x.type.is_write_option(Le)){C.throw_error(x.error.domain("write_option",Le,y.indicator));return}ie[Le.id]=Le.args[0].id==="true",Pe=Pe.args[1]}if(Pe.indicator!=="[]/0"){x.type.is_variable(Pe)?C.throw_error(x.error.instantiation(y.indicator)):C.throw_error(x.error.type("list",X,y.indicator));return}else{ie.session=C.session;var ot=z.toString(ie);Z.stream.put(ot,Z.position),typeof Z.position=="number"&&(Z.position+=ot.length),C.success(P)}}},"halt/0":function(C,P,y){C.points=[]},"halt/1":function(C,P,y){var F=y.args[0];x.type.is_variable(F)?C.throw_error(x.error.instantiation(y.indicator)):x.type.is_integer(F)?C.points=[]:C.throw_error(x.error.type("integer",F,y.indicator))},"current_prolog_flag/2":function(C,P,y){var F=y.args[0],z=y.args[1];if(!x.type.is_variable(F)&&!x.type.is_atom(F))C.throw_error(x.error.type("atom",F,y.indicator));else if(!x.type.is_variable(F)&&!x.type.is_flag(F))C.throw_error(x.error.domain("prolog_flag",F,y.indicator));else{var X=[];for(var Z in x.flag)if(!!x.flag.hasOwnProperty(Z)){var ie=new H(",",[new H("=",[new H(Z),F]),new H("=",[C.get_flag(Z),z])]);X.push(new ke(P.goal.replace(ie),P.substitution,P))}C.prepend(X)}},"set_prolog_flag/2":function(C,P,y){var F=y.args[0],z=y.args[1];x.type.is_variable(F)||x.type.is_variable(z)?C.throw_error(x.error.instantiation(y.indicator)):x.type.is_atom(F)?x.type.is_flag(F)?x.type.is_value_flag(F,z)?x.type.is_modifiable_flag(F)?(C.session.flag[F.id]=z,C.success(P)):C.throw_error(x.error.permission("modify","flag",F)):C.throw_error(x.error.domain("flag_value",new H("+",[F,z]),y.indicator)):C.throw_error(x.error.domain("prolog_flag",F,y.indicator)):C.throw_error(x.error.type("atom",F,y.indicator))}},flag:{bounded:{allowed:[new H("true"),new H("false")],value:new H("true"),changeable:!1},max_integer:{allowed:[new Re(Number.MAX_SAFE_INTEGER)],value:new Re(Number.MAX_SAFE_INTEGER),changeable:!1},min_integer:{allowed:[new Re(Number.MIN_SAFE_INTEGER)],value:new Re(Number.MIN_SAFE_INTEGER),changeable:!1},integer_rounding_function:{allowed:[new H("down"),new H("toward_zero")],value:new H("toward_zero"),changeable:!1},char_conversion:{allowed:[new H("on"),new H("off")],value:new H("on"),changeable:!0},debug:{allowed:[new H("on"),new H("off")],value:new H("off"),changeable:!0},max_arity:{allowed:[new H("unbounded")],value:new H("unbounded"),changeable:!1},unknown:{allowed:[new H("error"),new H("fail"),new H("warning")],value:new H("error"),changeable:!0},double_quotes:{allowed:[new H("chars"),new H("codes"),new H("atom")],value:new H("codes"),changeable:!0},occurs_check:{allowed:[new H("false"),new H("true")],value:new H("false"),changeable:!0},dialect:{allowed:[new H("tau")],value:new H("tau"),changeable:!1},version_data:{allowed:[new H("tau",[new Re(e.major,!1),new Re(e.minor,!1),new Re(e.patch,!1),new H(e.status)])],value:new H("tau",[new Re(e.major,!1),new Re(e.minor,!1),new Re(e.patch,!1),new H(e.status)]),changeable:!1},nodejs:{allowed:[new H("yes"),new H("no")],value:new H(typeof pl<"u"&&pl.exports?"yes":"no"),changeable:!1}},unify:function(C,P,y){y=y===void 0?!1:y;for(var F=[{left:C,right:P}],z={};F.length!==0;){var X=F.pop();if(C=X.left,P=X.right,x.type.is_term(C)&&x.type.is_term(P)){if(C.indicator!==P.indicator)return null;for(var Z=0;Z<C.args.length;Z++)F.push({left:C.args[Z],right:P.args[Z]})}else if(x.type.is_number(C)&&x.type.is_number(P)){if(C.value!==P.value||C.is_float!==P.is_float)return null}else if(x.type.is_variable(C)){if(x.type.is_variable(P)&&C.id===P.id)continue;if(y===!0&&P.variables().indexOf(C.id)!==-1)return null;if(C.id!=="_"){var ie=new Qe;ie.add(C.id,P);for(var Z=0;Z<F.length;Z++)F[Z].left=F[Z].left.apply(ie),F[Z].right=F[Z].right.apply(ie);for(var Z in z)z[Z]=z[Z].apply(ie);z[C.id]=P}}else if(x.type.is_variable(P))F.push({left:P,right:C});else if(C.unify!==void 0){if(!C.unify(P))return null}else return null}return new Qe(z)},compare:function(C,P){var y=x.type.compare(C,P);return y!==0?y:C.compare(P)},arithmetic_compare:function(C,P,y){var F=P.interpret(C);if(x.type.is_number(F)){var z=y.interpret(C);return x.type.is_number(z)?F.value<z.value?-1:F.value>z.value?1:0:z}else return F},operate:function(C,P){if(x.type.is_operator(P)){for(var y=x.type.is_operator(P),F=[],z,X=!1,Z=0;Z<P.args.length;Z++){if(z=P.args[Z].interpret(C),x.type.is_number(z)){if(y.type_args!==null&&z.is_float!==y.type_args)return x.error.type(y.type_args?"float":"integer",z,C.__call_indicator);F.push(z.value)}else return z;X=X||z.is_float}return F.push(C),z=x.arithmetic.evaluation[P.indicator].fn.apply(this,F),X=y.type_result===null?X:y.type_result,x.type.is_term(z)?z:z===Number.POSITIVE_INFINITY||z===Number.NEGATIVE_INFINITY?x.error.evaluation("overflow",C.__call_indicator):X===!1&&C.get_flag("bounded").id==="true"&&(z>C.get_flag("max_integer").value||z<C.get_flag("min_integer").value)?x.error.evaluation("int_overflow",C.__call_indicator):new Re(z,X)}else return x.error.type("evaluable",P.indicator,C.__call_indicator)},error:{existence:function(C,P,y){return typeof P=="string"&&(P=te(P)),new H("error",[new H("existence_error",[new H(C),P]),te(y)])},type:function(C,P,y){return new H("error",[new H("type_error",[new H(C),P]),te(y)])},instantiation:function(C){return new H("error",[new H("instantiation_error"),te(C)])},domain:function(C,P,y){return new H("error",[new H("domain_error",[new H(C),P]),te(y)])},representation:function(C,P){return new H("error",[new H("representation_error",[new H(C)]),te(P)])},permission:function(C,P,y,F){return new H("error",[new H("permission_error",[new H(C),new H(P),y]),te(F)])},evaluation:function(C,P){return new H("error",[new H("evaluation_error",[new H(C)]),te(P)])},syntax:function(C,P,y){C=C||{value:"",line:0,column:0,matches:[""],start:0};var F=y&&C.matches.length>0?C.start+C.matches[0].length:C.start,z=y?new H("token_not_found"):new H("found",[new H(C.value.toString())]),X=new H(".",[new H("line",[new Re(C.line+1)]),new H(".",[new H("column",[new Re(F+1)]),new H(".",[z,new H("[]",[])])])]);return new H("error",[new H("syntax_error",[new H(P)]),X])},syntax_by_predicate:function(C,P){return new H("error",[new H("syntax_error",[new H(C)]),te(P)])}},warning:{singleton:function(C,P,y){for(var F=new H("[]"),z=C.length-1;z>=0;z--)F=new H(".",[new Ee(C[z]),F]);return new H("warning",[new H("singleton_variables",[F,te(P)]),new H(".",[new H("line",[new Re(y,!1)]),new H("[]")])])},failed_goal:function(C,P){return new H("warning",[new H("failed_goal",[C]),new H(".",[new H("line",[new Re(P,!1)]),new H("[]")])])}},format_variable:function(C){return"_"+C},format_answer:function(C,P,F){P instanceof Ne&&(P=P.thread);var F=F||{};if(F.session=P?P.session:void 0,x.type.is_error(C))return"uncaught exception: "+C.args[0].toString();if(C===!1)return"false.";if(C===null)return"limit exceeded ;";var z=0,X="";if(x.type.is_substitution(C)){var Z=C.domain(!0);C=C.filter(function(Le,ot){return!x.type.is_variable(ot)||Z.indexOf(ot.id)!==-1&&Le!==ot.id})}for(var ie in C.links)!C.links.hasOwnProperty(ie)||(z++,X!==""&&(X+=", "),X+=ie.toString(F)+" = "+C.links[ie].toString(F));var Pe=typeof P>"u"||P.points.length>0?" ;":".";return z===0?"true"+Pe:X+Pe},flatten_error:function(C){if(!x.type.is_error(C))return null;C=C.args[0];var P={};return P.type=C.args[0].id,P.thrown=P.type==="syntax_error"?null:C.args[1].id,P.expected=null,P.found=null,P.representation=null,P.existence=null,P.existence_type=null,P.line=null,P.column=null,P.permission_operation=null,P.permission_type=null,P.evaluation_type=null,P.type==="type_error"||P.type==="domain_error"?(P.expected=C.args[0].args[0].id,P.found=C.args[0].args[1].toString()):P.type==="syntax_error"?C.args[1].indicator==="./2"?(P.expected=C.args[0].args[0].id,P.found=C.args[1].args[1].args[1].args[0],P.found=P.found.id==="token_not_found"?P.found.id:P.found.args[0].id,P.line=C.args[1].args[0].args[0].value,P.column=C.args[1].args[1].args[0].args[0].value):P.thrown=C.args[1].id:P.type==="permission_error"?(P.found=C.args[0].args[2].toString(),P.permission_operation=C.args[0].args[0].id,P.permission_type=C.args[0].args[1].id):P.type==="evaluation_error"?P.evaluation_type=C.args[0].args[0].id:P.type==="representation_error"?P.representation=C.args[0].args[0].id:P.type==="existence_error"&&(P.existence=C.args[0].args[1].toString(),P.existence_type=C.args[0].args[0].id),P},create:function(C){return new x.type.Session(C)}};typeof pl<"u"?pl.exports=x:window.pl=x})()});function rme(e,t,r){e.prepend(r.map(o=>new Ta.default.type.State(t.goal.replace(o),t.substitution,t)))}function gH(e){let t=ime.get(e.session);if(t==null)throw new Error("Assertion failed: A project should have been registered for the active session");return t}function sme(e,t){ime.set(e,t),e.consult(`:- use_module(library(${Fgt.id})).`)}var dH,Ta,nme,c0,Qgt,kgt,ime,Fgt,ome=yt(()=>{Ye();dH=$e(f2()),Ta=$e(hH()),nme=$e(Ie("vm")),{is_atom:c0,is_variable:Qgt,is_instantiated_list:kgt}=Ta.default.type;ime=new WeakMap;Fgt=new Ta.default.type.Module("constraints",{["project_workspaces_by_descriptor/3"]:(e,t,r)=>{let[o,a,n]=r.args;if(!c0(o)||!c0(a)){e.throw_error(Ta.default.error.instantiation(r.indicator));return}let u=G.parseIdent(o.id),A=G.makeDescriptor(u,a.id),h=gH(e).tryWorkspaceByDescriptor(A);Qgt(n)&&h!==null&&rme(e,t,[new Ta.default.type.Term("=",[n,new Ta.default.type.Term(String(h.relativeCwd))])]),c0(n)&&h!==null&&h.relativeCwd===n.id&&e.success(t)},["workspace_field/3"]:(e,t,r)=>{let[o,a,n]=r.args;if(!c0(o)||!c0(a)){e.throw_error(Ta.default.error.instantiation(r.indicator));return}let A=gH(e).tryWorkspaceByCwd(o.id);if(A==null)return;let p=(0,dH.default)(A.manifest.raw,a.id);typeof p>"u"||rme(e,t,[new Ta.default.type.Term("=",[n,new Ta.default.type.Term(typeof p=="object"?JSON.stringify(p):p)])])},["workspace_field_test/3"]:(e,t,r)=>{let[o,a,n]=r.args;e.prepend([new Ta.default.type.State(t.goal.replace(new Ta.default.type.Term("workspace_field_test",[o,a,n,new Ta.default.type.Term("[]",[])])),t.substitution,t)])},["workspace_field_test/4"]:(e,t,r)=>{let[o,a,n,u]=r.args;if(!c0(o)||!c0(a)||!c0(n)||!kgt(u)){e.throw_error(Ta.default.error.instantiation(r.indicator));return}let p=gH(e).tryWorkspaceByCwd(o.id);if(p==null)return;let h=(0,dH.default)(p.manifest.raw,a.id);if(typeof h>"u")return;let w={$$:h};for(let[v,b]of u.toJavaScript().entries())w[`$${v}`]=b;nme.default.runInNewContext(n.id,w)&&e.success(t)}},["project_workspaces_by_descriptor/3","workspace_field/3","workspace_field_test/3","workspace_field_test/4"])});var v2={};Jt(v2,{Constraints:()=>B2,DependencyType:()=>ume});function to(e){if(e instanceof Bw.default.type.Num)return e.value;if(e instanceof Bw.default.type.Term)switch(e.indicator){case"throw/1":return to(e.args[0]);case"error/1":return to(e.args[0]);case"error/2":if(e.args[0]instanceof Bw.default.type.Term&&e.args[0].indicator==="syntax_error/1")return Object.assign(to(e.args[0]),...to(e.args[1]));{let t=to(e.args[0]);return t.message+=` (in ${to(e.args[1])})`,t}case"syntax_error/1":return new zt(43,`Syntax error: ${to(e.args[0])}`);case"existence_error/2":return new zt(44,`Existence error: ${to(e.args[0])} ${to(e.args[1])} not found`);case"instantiation_error/0":return new zt(75,"Instantiation error: an argument is variable when an instantiated argument was expected");case"line/1":return{line:to(e.args[0])};case"column/1":return{column:to(e.args[0])};case"found/1":return{found:to(e.args[0])};case"./2":return[to(e.args[0])].concat(to(e.args[1]));case"//2":return`${to(e.args[0])}/${to(e.args[1])}`;default:return e.id}throw`couldn't pretty print because of unsupported node ${e}`}function lme(e){let t;try{t=to(e)}catch(r){throw typeof r=="string"?new zt(42,`Unknown error: ${e} (note: ${r})`):r}return typeof t.line<"u"&&typeof t.column<"u"&&(t.message+=` at line ${t.line}, column ${t.column}`),t}function $d(e){return e.id==="null"?null:`${e.toJavaScript()}`}function Rgt(e){if(e.id==="null")return null;{let t=e.toJavaScript();if(typeof t!="string")return JSON.stringify(t);try{return JSON.stringify(JSON.parse(t))}catch{return JSON.stringify(t)}}}function u0(e){return typeof e=="string"?`'${e}'`:"[]"}var cme,Bw,ume,ame,mH,B2,D2=yt(()=>{Ye();Ye();St();cme=$e(_de()),Bw=$e(hH());w2();ome();(0,cme.default)(Bw.default);ume=(o=>(o.Dependencies="dependencies",o.DevDependencies="devDependencies",o.PeerDependencies="peerDependencies",o))(ume||{}),ame=["dependencies","devDependencies","peerDependencies"];mH=class{constructor(t,r){let o=1e3*t.workspaces.length;this.session=Bw.default.create(o),sme(this.session,t),this.session.consult(":- use_module(library(lists))."),this.session.consult(r)}fetchNextAnswer(){return new Promise(t=>{this.session.answer(r=>{t(r)})})}async*makeQuery(t){let r=this.session.query(t);if(r!==!0)throw lme(r);for(;;){let o=await this.fetchNextAnswer();if(o===null)throw new zt(79,"Resolution limit exceeded");if(!o)break;if(o.id==="throw")throw lme(o);yield o}}};B2=class{constructor(t){this.source="";this.project=t;let r=t.configuration.get("constraintsPath");ae.existsSync(r)&&(this.source=ae.readFileSync(r,"utf8"))}static async find(t){return new B2(t)}getProjectDatabase(){let t="";for(let r of ame)t+=`dependency_type(${r}). -`;for(let r of this.project.workspacesByCwd.values()){let o=r.relativeCwd;t+=`workspace(${u0(o)}). -`,t+=`workspace_ident(${u0(o)}, ${u0(G.stringifyIdent(r.anchoredLocator))}). -`,t+=`workspace_version(${u0(o)}, ${u0(r.manifest.version)}). -`;for(let a of ame)for(let n of r.manifest[a].values())t+=`workspace_has_dependency(${u0(o)}, ${u0(G.stringifyIdent(n))}, ${u0(n.range)}, ${a}). -`}return t+=`workspace(_) :- false. -`,t+=`workspace_ident(_, _) :- false. -`,t+=`workspace_version(_, _) :- false. -`,t+=`workspace_has_dependency(_, _, _, _) :- false. -`,t}getDeclarations(){let t="";return t+=`gen_enforced_dependency(_, _, _, _) :- false. -`,t+=`gen_enforced_field(_, _, _) :- false. -`,t}get fullSource(){return`${this.getProjectDatabase()} -${this.source} -${this.getDeclarations()}`}createSession(){return new mH(this.project,this.fullSource)}async processClassic(){let t=this.createSession();return{enforcedDependencies:await this.genEnforcedDependencies(t),enforcedFields:await this.genEnforcedFields(t)}}async process(){let{enforcedDependencies:t,enforcedFields:r}=await this.processClassic(),o=new Map;for(let{workspace:a,dependencyIdent:n,dependencyRange:u,dependencyType:A}of t){let p=E2([A,G.stringifyIdent(n)]),h=_e.getMapWithDefault(o,a.cwd);_e.getMapWithDefault(h,p).set(u??void 0,new Set)}for(let{workspace:a,fieldPath:n,fieldValue:u}of r){let A=E2(n),p=_e.getMapWithDefault(o,a.cwd);_e.getMapWithDefault(p,A).set(JSON.parse(u)??void 0,new Set)}return{manifestUpdates:o,reportedErrors:new Map}}async genEnforcedDependencies(t){let r=[];for await(let o of t.makeQuery("workspace(WorkspaceCwd), dependency_type(DependencyType), gen_enforced_dependency(WorkspaceCwd, DependencyIdent, DependencyRange, DependencyType).")){let a=J.resolve(this.project.cwd,$d(o.links.WorkspaceCwd)),n=$d(o.links.DependencyIdent),u=$d(o.links.DependencyRange),A=$d(o.links.DependencyType);if(a===null||n===null)throw new Error("Invalid rule");let p=this.project.getWorkspaceByCwd(a),h=G.parseIdent(n);r.push({workspace:p,dependencyIdent:h,dependencyRange:u,dependencyType:A})}return _e.sortMap(r,[({dependencyRange:o})=>o!==null?"0":"1",({workspace:o})=>G.stringifyIdent(o.anchoredLocator),({dependencyIdent:o})=>G.stringifyIdent(o)])}async genEnforcedFields(t){let r=[];for await(let o of t.makeQuery("workspace(WorkspaceCwd), gen_enforced_field(WorkspaceCwd, FieldPath, FieldValue).")){let a=J.resolve(this.project.cwd,$d(o.links.WorkspaceCwd)),n=$d(o.links.FieldPath),u=Rgt(o.links.FieldValue);if(a===null||n===null)throw new Error("Invalid rule");let A=this.project.getWorkspaceByCwd(a);r.push({workspace:A,fieldPath:n,fieldValue:u})}return _e.sortMap(r,[({workspace:o})=>G.stringifyIdent(o.anchoredLocator),({fieldPath:o})=>o])}async*query(t){let r=this.createSession();for await(let o of r.makeQuery(t)){let a={};for(let[n,u]of Object.entries(o.links))n!=="_"&&(a[n]=$d(u));yield a}}}});var yme=_(wQ=>{"use strict";Object.defineProperty(wQ,"__esModule",{value:!0});function H2(e){let t=[...e.caches],r=t.shift();return r===void 0?mme():{get(o,a,n={miss:()=>Promise.resolve()}){return r.get(o,a,n).catch(()=>H2({caches:t}).get(o,a,n))},set(o,a){return r.set(o,a).catch(()=>H2({caches:t}).set(o,a))},delete(o){return r.delete(o).catch(()=>H2({caches:t}).delete(o))},clear(){return r.clear().catch(()=>H2({caches:t}).clear())}}}function mme(){return{get(e,t,r={miss:()=>Promise.resolve()}){return t().then(a=>Promise.all([a,r.miss(a)])).then(([a])=>a)},set(e,t){return Promise.resolve(t)},delete(e){return Promise.resolve()},clear(){return Promise.resolve()}}}wQ.createFallbackableCache=H2;wQ.createNullCache=mme});var wme=_((uWt,Eme)=>{Eme.exports=yme()});var Cme=_(kH=>{"use strict";Object.defineProperty(kH,"__esModule",{value:!0});function Zgt(e={serializable:!0}){let t={};return{get(r,o,a={miss:()=>Promise.resolve()}){let n=JSON.stringify(r);if(n in t)return Promise.resolve(e.serializable?JSON.parse(t[n]):t[n]);let u=o(),A=a&&a.miss||(()=>Promise.resolve());return u.then(p=>A(p)).then(()=>u)},set(r,o){return t[JSON.stringify(r)]=e.serializable?JSON.stringify(o):o,Promise.resolve(o)},delete(r){return delete t[JSON.stringify(r)],Promise.resolve()},clear(){return t={},Promise.resolve()}}}kH.createInMemoryCache=Zgt});var Bme=_((fWt,Ime)=>{Ime.exports=Cme()});var Dme=_(eu=>{"use strict";Object.defineProperty(eu,"__esModule",{value:!0});function $gt(e,t,r){let o={"x-algolia-api-key":r,"x-algolia-application-id":t};return{headers(){return e===FH.WithinHeaders?o:{}},queryParameters(){return e===FH.WithinQueryParameters?o:{}}}}function edt(e){let t=0,r=()=>(t++,new Promise(o=>{setTimeout(()=>{o(e(r))},Math.min(100*t,1e3))}));return e(r)}function vme(e,t=(r,o)=>Promise.resolve()){return Object.assign(e,{wait(r){return vme(e.then(o=>Promise.all([t(o,r),o])).then(o=>o[1]))}})}function tdt(e){let t=e.length-1;for(t;t>0;t--){let r=Math.floor(Math.random()*(t+1)),o=e[t];e[t]=e[r],e[r]=o}return e}function rdt(e,t){return t&&Object.keys(t).forEach(r=>{e[r]=t[r](e)}),e}function ndt(e,...t){let r=0;return e.replace(/%s/g,()=>encodeURIComponent(t[r++]))}var idt="4.14.2",sdt=e=>()=>e.transporter.requester.destroy(),FH={WithinQueryParameters:0,WithinHeaders:1};eu.AuthMode=FH;eu.addMethods=rdt;eu.createAuth=$gt;eu.createRetryablePromise=edt;eu.createWaitablePromise=vme;eu.destroy=sdt;eu.encode=ndt;eu.shuffle=tdt;eu.version=idt});var j2=_((hWt,Sme)=>{Sme.exports=Dme()});var Pme=_(RH=>{"use strict";Object.defineProperty(RH,"__esModule",{value:!0});var odt={Delete:"DELETE",Get:"GET",Post:"POST",Put:"PUT"};RH.MethodEnum=odt});var q2=_((dWt,xme)=>{xme.exports=Pme()});var qme=_(Fi=>{"use strict";Object.defineProperty(Fi,"__esModule",{value:!0});var Qme=q2();function TH(e,t){let r=e||{},o=r.data||{};return Object.keys(r).forEach(a=>{["timeout","headers","queryParameters","data","cacheable"].indexOf(a)===-1&&(o[a]=r[a])}),{data:Object.entries(o).length>0?o:void 0,timeout:r.timeout||t,headers:r.headers||{},queryParameters:r.queryParameters||{},cacheable:r.cacheable}}var G2={Read:1,Write:2,Any:3},Pw={Up:1,Down:2,Timeouted:3},kme=2*60*1e3;function LH(e,t=Pw.Up){return{...e,status:t,lastUpdate:Date.now()}}function Fme(e){return e.status===Pw.Up||Date.now()-e.lastUpdate>kme}function Rme(e){return e.status===Pw.Timeouted&&Date.now()-e.lastUpdate<=kme}function OH(e){return typeof e=="string"?{protocol:"https",url:e,accept:G2.Any}:{protocol:e.protocol||"https",url:e.url,accept:e.accept||G2.Any}}function adt(e,t){return Promise.all(t.map(r=>e.get(r,()=>Promise.resolve(LH(r))))).then(r=>{let o=r.filter(A=>Fme(A)),a=r.filter(A=>Rme(A)),n=[...o,...a],u=n.length>0?n.map(A=>OH(A)):t;return{getTimeout(A,p){return(a.length===0&&A===0?1:a.length+3+A)*p},statelessHosts:u}})}var ldt=({isTimedOut:e,status:t})=>!e&&~~t===0,cdt=e=>{let t=e.status;return e.isTimedOut||ldt(e)||~~(t/100)!==2&&~~(t/100)!==4},udt=({status:e})=>~~(e/100)===2,Adt=(e,t)=>cdt(e)?t.onRetry(e):udt(e)?t.onSuccess(e):t.onFail(e);function bme(e,t,r,o){let a=[],n=Mme(r,o),u=Ume(e,o),A=r.method,p=r.method!==Qme.MethodEnum.Get?{}:{...r.data,...o.data},h={"x-algolia-agent":e.userAgent.value,...e.queryParameters,...p,...o.queryParameters},w=0,I=(v,b)=>{let E=v.pop();if(E===void 0)throw jme(NH(a));let R={data:n,headers:u,method:A,url:Lme(E,r.path,h),connectTimeout:b(w,e.timeouts.connect),responseTimeout:b(w,o.timeout)},N=V=>{let ee={request:R,response:V,host:E,triesLeft:v.length};return a.push(ee),ee},U={onSuccess:V=>Tme(V),onRetry(V){let ee=N(V);return V.isTimedOut&&w++,Promise.all([e.logger.info("Retryable failure",MH(ee)),e.hostsCache.set(E,LH(E,V.isTimedOut?Pw.Timeouted:Pw.Down))]).then(()=>I(v,b))},onFail(V){throw N(V),Nme(V,NH(a))}};return e.requester.send(R).then(V=>Adt(V,U))};return adt(e.hostsCache,t).then(v=>I([...v.statelessHosts].reverse(),v.getTimeout))}function fdt(e){let{hostsCache:t,logger:r,requester:o,requestsCache:a,responsesCache:n,timeouts:u,userAgent:A,hosts:p,queryParameters:h,headers:w}=e,I={hostsCache:t,logger:r,requester:o,requestsCache:a,responsesCache:n,timeouts:u,userAgent:A,headers:w,queryParameters:h,hosts:p.map(v=>OH(v)),read(v,b){let E=TH(b,I.timeouts.read),R=()=>bme(I,I.hosts.filter(V=>(V.accept&G2.Read)!==0),v,E);if((E.cacheable!==void 0?E.cacheable:v.cacheable)!==!0)return R();let U={request:v,mappedRequestOptions:E,transporter:{queryParameters:I.queryParameters,headers:I.headers}};return I.responsesCache.get(U,()=>I.requestsCache.get(U,()=>I.requestsCache.set(U,R()).then(V=>Promise.all([I.requestsCache.delete(U),V]),V=>Promise.all([I.requestsCache.delete(U),Promise.reject(V)])).then(([V,ee])=>ee)),{miss:V=>I.responsesCache.set(U,V)})},write(v,b){return bme(I,I.hosts.filter(E=>(E.accept&G2.Write)!==0),v,TH(b,I.timeouts.write))}};return I}function pdt(e){let t={value:`Algolia for JavaScript (${e})`,add(r){let o=`; ${r.segment}${r.version!==void 0?` (${r.version})`:""}`;return t.value.indexOf(o)===-1&&(t.value=`${t.value}${o}`),t}};return t}function Tme(e){try{return JSON.parse(e.content)}catch(t){throw Hme(t.message,e)}}function Nme({content:e,status:t},r){let o=e;try{o=JSON.parse(e).message}catch{}return _me(o,t,r)}function hdt(e,...t){let r=0;return e.replace(/%s/g,()=>encodeURIComponent(t[r++]))}function Lme(e,t,r){let o=Ome(r),a=`${e.protocol}://${e.url}/${t.charAt(0)==="/"?t.substr(1):t}`;return o.length&&(a+=`?${o}`),a}function Ome(e){let t=r=>Object.prototype.toString.call(r)==="[object Object]"||Object.prototype.toString.call(r)==="[object Array]";return Object.keys(e).map(r=>hdt("%s=%s",r,t(e[r])?JSON.stringify(e[r]):e[r])).join("&")}function Mme(e,t){if(e.method===Qme.MethodEnum.Get||e.data===void 0&&t.data===void 0)return;let r=Array.isArray(e.data)?e.data:{...e.data,...t.data};return JSON.stringify(r)}function Ume(e,t){let r={...e.headers,...t.headers},o={};return Object.keys(r).forEach(a=>{let n=r[a];o[a.toLowerCase()]=n}),o}function NH(e){return e.map(t=>MH(t))}function MH(e){let t=e.request.headers["x-algolia-api-key"]?{"x-algolia-api-key":"*****"}:{};return{...e,request:{...e.request,headers:{...e.request.headers,...t}}}}function _me(e,t,r){return{name:"ApiError",message:e,status:t,transporterStackTrace:r}}function Hme(e,t){return{name:"DeserializationError",message:e,response:t}}function jme(e){return{name:"RetryError",message:"Unreachable hosts - your application id may be incorrect. If the error persists, contact support@algolia.com.",transporterStackTrace:e}}Fi.CallEnum=G2;Fi.HostStatusEnum=Pw;Fi.createApiError=_me;Fi.createDeserializationError=Hme;Fi.createMappedRequestOptions=TH;Fi.createRetryError=jme;Fi.createStatefulHost=LH;Fi.createStatelessHost=OH;Fi.createTransporter=fdt;Fi.createUserAgent=pdt;Fi.deserializeFailure=Nme;Fi.deserializeSuccess=Tme;Fi.isStatefulHostTimeouted=Rme;Fi.isStatefulHostUp=Fme;Fi.serializeData=Mme;Fi.serializeHeaders=Ume;Fi.serializeQueryParameters=Ome;Fi.serializeUrl=Lme;Fi.stackFrameWithoutCredentials=MH;Fi.stackTraceWithoutCredentials=NH});var Y2=_((yWt,Gme)=>{Gme.exports=qme()});var Yme=_(d0=>{"use strict";Object.defineProperty(d0,"__esModule",{value:!0});var xw=j2(),gdt=Y2(),W2=q2(),ddt=e=>{let t=e.region||"us",r=xw.createAuth(xw.AuthMode.WithinHeaders,e.appId,e.apiKey),o=gdt.createTransporter({hosts:[{url:`analytics.${t}.algolia.com`}],...e,headers:{...r.headers(),"content-type":"application/json",...e.headers},queryParameters:{...r.queryParameters(),...e.queryParameters}}),a=e.appId;return xw.addMethods({appId:a,transporter:o},e.methods)},mdt=e=>(t,r)=>e.transporter.write({method:W2.MethodEnum.Post,path:"2/abtests",data:t},r),ydt=e=>(t,r)=>e.transporter.write({method:W2.MethodEnum.Delete,path:xw.encode("2/abtests/%s",t)},r),Edt=e=>(t,r)=>e.transporter.read({method:W2.MethodEnum.Get,path:xw.encode("2/abtests/%s",t)},r),wdt=e=>t=>e.transporter.read({method:W2.MethodEnum.Get,path:"2/abtests"},t),Cdt=e=>(t,r)=>e.transporter.write({method:W2.MethodEnum.Post,path:xw.encode("2/abtests/%s/stop",t)},r);d0.addABTest=mdt;d0.createAnalyticsClient=ddt;d0.deleteABTest=ydt;d0.getABTest=Edt;d0.getABTests=wdt;d0.stopABTest=Cdt});var Kme=_((wWt,Wme)=>{Wme.exports=Yme()});var Vme=_(K2=>{"use strict";Object.defineProperty(K2,"__esModule",{value:!0});var UH=j2(),Idt=Y2(),Jme=q2(),Bdt=e=>{let t=e.region||"us",r=UH.createAuth(UH.AuthMode.WithinHeaders,e.appId,e.apiKey),o=Idt.createTransporter({hosts:[{url:`personalization.${t}.algolia.com`}],...e,headers:{...r.headers(),"content-type":"application/json",...e.headers},queryParameters:{...r.queryParameters(),...e.queryParameters}});return UH.addMethods({appId:e.appId,transporter:o},e.methods)},vdt=e=>t=>e.transporter.read({method:Jme.MethodEnum.Get,path:"1/strategies/personalization"},t),Ddt=e=>(t,r)=>e.transporter.write({method:Jme.MethodEnum.Post,path:"1/strategies/personalization",data:t},r);K2.createPersonalizationClient=Bdt;K2.getPersonalizationStrategy=vdt;K2.setPersonalizationStrategy=Ddt});var Xme=_((IWt,zme)=>{zme.exports=Vme()});var Aye=_(Ft=>{"use strict";Object.defineProperty(Ft,"__esModule",{value:!0});var Gt=j2(),Na=Y2(),Cr=q2(),Sdt=Ie("crypto");function CQ(e){let t=r=>e.request(r).then(o=>{if(e.batch!==void 0&&e.batch(o.hits),!e.shouldStop(o))return o.cursor?t({cursor:o.cursor}):t({page:(r.page||0)+1})});return t({})}var Pdt=e=>{let t=e.appId,r=Gt.createAuth(e.authMode!==void 0?e.authMode:Gt.AuthMode.WithinHeaders,t,e.apiKey),o=Na.createTransporter({hosts:[{url:`${t}-dsn.algolia.net`,accept:Na.CallEnum.Read},{url:`${t}.algolia.net`,accept:Na.CallEnum.Write}].concat(Gt.shuffle([{url:`${t}-1.algolianet.com`},{url:`${t}-2.algolianet.com`},{url:`${t}-3.algolianet.com`}])),...e,headers:{...r.headers(),"content-type":"application/x-www-form-urlencoded",...e.headers},queryParameters:{...r.queryParameters(),...e.queryParameters}}),a={transporter:o,appId:t,addAlgoliaAgent(n,u){o.userAgent.add({segment:n,version:u})},clearCache(){return Promise.all([o.requestsCache.clear(),o.responsesCache.clear()]).then(()=>{})}};return Gt.addMethods(a,e.methods)};function Zme(){return{name:"MissingObjectIDError",message:"All objects must have an unique objectID (like a primary key) to be valid. Algolia is also able to generate objectIDs automatically but *it's not recommended*. To do it, use the `{'autoGenerateObjectIDIfNotExist': true}` option."}}function $me(){return{name:"ObjectNotFoundError",message:"Object not found."}}function eye(){return{name:"ValidUntilNotFoundError",message:"ValidUntil not found in given secured api key."}}var xdt=e=>(t,r)=>{let{queryParameters:o,...a}=r||{},n={acl:t,...o!==void 0?{queryParameters:o}:{}},u=(A,p)=>Gt.createRetryablePromise(h=>J2(e)(A.key,p).catch(w=>{if(w.status!==404)throw w;return h()}));return Gt.createWaitablePromise(e.transporter.write({method:Cr.MethodEnum.Post,path:"1/keys",data:n},a),u)},bdt=e=>(t,r,o)=>{let a=Na.createMappedRequestOptions(o);return a.queryParameters["X-Algolia-User-ID"]=t,e.transporter.write({method:Cr.MethodEnum.Post,path:"1/clusters/mapping",data:{cluster:r}},a)},Qdt=e=>(t,r,o)=>e.transporter.write({method:Cr.MethodEnum.Post,path:"1/clusters/mapping/batch",data:{users:t,cluster:r}},o),kdt=e=>(t,r)=>Gt.createWaitablePromise(e.transporter.write({method:Cr.MethodEnum.Post,path:Gt.encode("/1/dictionaries/%s/batch",t),data:{clearExistingDictionaryEntries:!0,requests:{action:"addEntry",body:[]}}},r),(o,a)=>bw(e)(o.taskID,a)),IQ=e=>(t,r,o)=>{let a=(n,u)=>V2(e)(t,{methods:{waitTask:Xi}}).waitTask(n.taskID,u);return Gt.createWaitablePromise(e.transporter.write({method:Cr.MethodEnum.Post,path:Gt.encode("1/indexes/%s/operation",t),data:{operation:"copy",destination:r}},o),a)},Fdt=e=>(t,r,o)=>IQ(e)(t,r,{...o,scope:[vQ.Rules]}),Rdt=e=>(t,r,o)=>IQ(e)(t,r,{...o,scope:[vQ.Settings]}),Tdt=e=>(t,r,o)=>IQ(e)(t,r,{...o,scope:[vQ.Synonyms]}),Ndt=e=>(t,r)=>t.method===Cr.MethodEnum.Get?e.transporter.read(t,r):e.transporter.write(t,r),Ldt=e=>(t,r)=>{let o=(a,n)=>Gt.createRetryablePromise(u=>J2(e)(t,n).then(u).catch(A=>{if(A.status!==404)throw A}));return Gt.createWaitablePromise(e.transporter.write({method:Cr.MethodEnum.Delete,path:Gt.encode("1/keys/%s",t)},r),o)},Odt=e=>(t,r,o)=>{let a=r.map(n=>({action:"deleteEntry",body:{objectID:n}}));return Gt.createWaitablePromise(e.transporter.write({method:Cr.MethodEnum.Post,path:Gt.encode("/1/dictionaries/%s/batch",t),data:{clearExistingDictionaryEntries:!1,requests:a}},o),(n,u)=>bw(e)(n.taskID,u))},Mdt=()=>(e,t)=>{let r=Na.serializeQueryParameters(t),o=Sdt.createHmac("sha256",e).update(r).digest("hex");return Buffer.from(o+r).toString("base64")},J2=e=>(t,r)=>e.transporter.read({method:Cr.MethodEnum.Get,path:Gt.encode("1/keys/%s",t)},r),tye=e=>(t,r)=>e.transporter.read({method:Cr.MethodEnum.Get,path:Gt.encode("1/task/%s",t.toString())},r),Udt=e=>t=>e.transporter.read({method:Cr.MethodEnum.Get,path:"/1/dictionaries/*/settings"},t),_dt=e=>t=>e.transporter.read({method:Cr.MethodEnum.Get,path:"1/logs"},t),Hdt=()=>e=>{let t=Buffer.from(e,"base64").toString("ascii"),r=/validUntil=(\d+)/,o=t.match(r);if(o===null)throw eye();return parseInt(o[1],10)-Math.round(new Date().getTime()/1e3)},jdt=e=>t=>e.transporter.read({method:Cr.MethodEnum.Get,path:"1/clusters/mapping/top"},t),qdt=e=>(t,r)=>e.transporter.read({method:Cr.MethodEnum.Get,path:Gt.encode("1/clusters/mapping/%s",t)},r),Gdt=e=>t=>{let{retrieveMappings:r,...o}=t||{};return r===!0&&(o.getClusters=!0),e.transporter.read({method:Cr.MethodEnum.Get,path:"1/clusters/mapping/pending"},o)},V2=e=>(t,r={})=>{let o={transporter:e.transporter,appId:e.appId,indexName:t};return Gt.addMethods(o,r.methods)},Ydt=e=>t=>e.transporter.read({method:Cr.MethodEnum.Get,path:"1/keys"},t),Wdt=e=>t=>e.transporter.read({method:Cr.MethodEnum.Get,path:"1/clusters"},t),Kdt=e=>t=>e.transporter.read({method:Cr.MethodEnum.Get,path:"1/indexes"},t),Jdt=e=>t=>e.transporter.read({method:Cr.MethodEnum.Get,path:"1/clusters/mapping"},t),Vdt=e=>(t,r,o)=>{let a=(n,u)=>V2(e)(t,{methods:{waitTask:Xi}}).waitTask(n.taskID,u);return Gt.createWaitablePromise(e.transporter.write({method:Cr.MethodEnum.Post,path:Gt.encode("1/indexes/%s/operation",t),data:{operation:"move",destination:r}},o),a)},zdt=e=>(t,r)=>{let o=(a,n)=>Promise.all(Object.keys(a.taskID).map(u=>V2(e)(u,{methods:{waitTask:Xi}}).waitTask(a.taskID[u],n)));return Gt.createWaitablePromise(e.transporter.write({method:Cr.MethodEnum.Post,path:"1/indexes/*/batch",data:{requests:t}},r),o)},Xdt=e=>(t,r)=>e.transporter.read({method:Cr.MethodEnum.Post,path:"1/indexes/*/objects",data:{requests:t}},r),Zdt=e=>(t,r)=>{let o=t.map(a=>({...a,params:Na.serializeQueryParameters(a.params||{})}));return e.transporter.read({method:Cr.MethodEnum.Post,path:"1/indexes/*/queries",data:{requests:o},cacheable:!0},r)},$dt=e=>(t,r)=>Promise.all(t.map(o=>{let{facetName:a,facetQuery:n,...u}=o.params;return V2(e)(o.indexName,{methods:{searchForFacetValues:lye}}).searchForFacetValues(a,n,{...r,...u})})),emt=e=>(t,r)=>{let o=Na.createMappedRequestOptions(r);return o.queryParameters["X-Algolia-User-ID"]=t,e.transporter.write({method:Cr.MethodEnum.Delete,path:"1/clusters/mapping"},o)},tmt=e=>(t,r,o)=>{let a=r.map(n=>({action:"addEntry",body:n}));return Gt.createWaitablePromise(e.transporter.write({method:Cr.MethodEnum.Post,path:Gt.encode("/1/dictionaries/%s/batch",t),data:{clearExistingDictionaryEntries:!0,requests:a}},o),(n,u)=>bw(e)(n.taskID,u))},rmt=e=>(t,r)=>{let o=(a,n)=>Gt.createRetryablePromise(u=>J2(e)(t,n).catch(A=>{if(A.status!==404)throw A;return u()}));return Gt.createWaitablePromise(e.transporter.write({method:Cr.MethodEnum.Post,path:Gt.encode("1/keys/%s/restore",t)},r),o)},nmt=e=>(t,r,o)=>{let a=r.map(n=>({action:"addEntry",body:n}));return Gt.createWaitablePromise(e.transporter.write({method:Cr.MethodEnum.Post,path:Gt.encode("/1/dictionaries/%s/batch",t),data:{clearExistingDictionaryEntries:!1,requests:a}},o),(n,u)=>bw(e)(n.taskID,u))},imt=e=>(t,r,o)=>e.transporter.read({method:Cr.MethodEnum.Post,path:Gt.encode("/1/dictionaries/%s/search",t),data:{query:r},cacheable:!0},o),smt=e=>(t,r)=>e.transporter.read({method:Cr.MethodEnum.Post,path:"1/clusters/mapping/search",data:{query:t}},r),omt=e=>(t,r)=>Gt.createWaitablePromise(e.transporter.write({method:Cr.MethodEnum.Put,path:"/1/dictionaries/*/settings",data:t},r),(o,a)=>bw(e)(o.taskID,a)),amt=e=>(t,r)=>{let o=Object.assign({},r),{queryParameters:a,...n}=r||{},u=a?{queryParameters:a}:{},A=["acl","indexes","referers","restrictSources","queryParameters","description","maxQueriesPerIPPerHour","maxHitsPerQuery"],p=w=>Object.keys(o).filter(I=>A.indexOf(I)!==-1).every(I=>w[I]===o[I]),h=(w,I)=>Gt.createRetryablePromise(v=>J2(e)(t,I).then(b=>p(b)?Promise.resolve():v()));return Gt.createWaitablePromise(e.transporter.write({method:Cr.MethodEnum.Put,path:Gt.encode("1/keys/%s",t),data:u},n),h)},bw=e=>(t,r)=>Gt.createRetryablePromise(o=>tye(e)(t,r).then(a=>a.status!=="published"?o():void 0)),rye=e=>(t,r)=>{let o=(a,n)=>Xi(e)(a.taskID,n);return Gt.createWaitablePromise(e.transporter.write({method:Cr.MethodEnum.Post,path:Gt.encode("1/indexes/%s/batch",e.indexName),data:{requests:t}},r),o)},lmt=e=>t=>CQ({shouldStop:r=>r.cursor===void 0,...t,request:r=>e.transporter.read({method:Cr.MethodEnum.Post,path:Gt.encode("1/indexes/%s/browse",e.indexName),data:r},t)}),cmt=e=>t=>{let r={hitsPerPage:1e3,...t};return CQ({shouldStop:o=>o.hits.length<r.hitsPerPage,...r,request(o){return cye(e)("",{...r,...o}).then(a=>({...a,hits:a.hits.map(n=>(delete n._highlightResult,n))}))}})},umt=e=>t=>{let r={hitsPerPage:1e3,...t};return CQ({shouldStop:o=>o.hits.length<r.hitsPerPage,...r,request(o){return uye(e)("",{...r,...o}).then(a=>({...a,hits:a.hits.map(n=>(delete n._highlightResult,n))}))}})},BQ=e=>(t,r,o)=>{let{batchSize:a,...n}=o||{},u={taskIDs:[],objectIDs:[]},A=(p=0)=>{let h=[],w;for(w=p;w<t.length&&(h.push(t[w]),h.length!==(a||1e3));w++);return h.length===0?Promise.resolve(u):rye(e)(h.map(I=>({action:r,body:I})),n).then(I=>(u.objectIDs=u.objectIDs.concat(I.objectIDs),u.taskIDs.push(I.taskID),w++,A(w)))};return Gt.createWaitablePromise(A(),(p,h)=>Promise.all(p.taskIDs.map(w=>Xi(e)(w,h))))},Amt=e=>t=>Gt.createWaitablePromise(e.transporter.write({method:Cr.MethodEnum.Post,path:Gt.encode("1/indexes/%s/clear",e.indexName)},t),(r,o)=>Xi(e)(r.taskID,o)),fmt=e=>t=>{let{forwardToReplicas:r,...o}=t||{},a=Na.createMappedRequestOptions(o);return r&&(a.queryParameters.forwardToReplicas=1),Gt.createWaitablePromise(e.transporter.write({method:Cr.MethodEnum.Post,path:Gt.encode("1/indexes/%s/rules/clear",e.indexName)},a),(n,u)=>Xi(e)(n.taskID,u))},pmt=e=>t=>{let{forwardToReplicas:r,...o}=t||{},a=Na.createMappedRequestOptions(o);return r&&(a.queryParameters.forwardToReplicas=1),Gt.createWaitablePromise(e.transporter.write({method:Cr.MethodEnum.Post,path:Gt.encode("1/indexes/%s/synonyms/clear",e.indexName)},a),(n,u)=>Xi(e)(n.taskID,u))},hmt=e=>(t,r)=>Gt.createWaitablePromise(e.transporter.write({method:Cr.MethodEnum.Post,path:Gt.encode("1/indexes/%s/deleteByQuery",e.indexName),data:t},r),(o,a)=>Xi(e)(o.taskID,a)),gmt=e=>t=>Gt.createWaitablePromise(e.transporter.write({method:Cr.MethodEnum.Delete,path:Gt.encode("1/indexes/%s",e.indexName)},t),(r,o)=>Xi(e)(r.taskID,o)),dmt=e=>(t,r)=>Gt.createWaitablePromise(nye(e)([t],r).then(o=>({taskID:o.taskIDs[0]})),(o,a)=>Xi(e)(o.taskID,a)),nye=e=>(t,r)=>{let o=t.map(a=>({objectID:a}));return BQ(e)(o,rm.DeleteObject,r)},mmt=e=>(t,r)=>{let{forwardToReplicas:o,...a}=r||{},n=Na.createMappedRequestOptions(a);return o&&(n.queryParameters.forwardToReplicas=1),Gt.createWaitablePromise(e.transporter.write({method:Cr.MethodEnum.Delete,path:Gt.encode("1/indexes/%s/rules/%s",e.indexName,t)},n),(u,A)=>Xi(e)(u.taskID,A))},ymt=e=>(t,r)=>{let{forwardToReplicas:o,...a}=r||{},n=Na.createMappedRequestOptions(a);return o&&(n.queryParameters.forwardToReplicas=1),Gt.createWaitablePromise(e.transporter.write({method:Cr.MethodEnum.Delete,path:Gt.encode("1/indexes/%s/synonyms/%s",e.indexName,t)},n),(u,A)=>Xi(e)(u.taskID,A))},Emt=e=>t=>iye(e)(t).then(()=>!0).catch(r=>{if(r.status!==404)throw r;return!1}),wmt=e=>(t,r,o)=>e.transporter.read({method:Cr.MethodEnum.Post,path:Gt.encode("1/answers/%s/prediction",e.indexName),data:{query:t,queryLanguages:r},cacheable:!0},o),Cmt=e=>(t,r)=>{let{query:o,paginate:a,...n}=r||{},u=0,A=()=>aye(e)(o||"",{...n,page:u}).then(p=>{for(let[h,w]of Object.entries(p.hits))if(t(w))return{object:w,position:parseInt(h,10),page:u};if(u++,a===!1||u>=p.nbPages)throw $me();return A()});return A()},Imt=e=>(t,r)=>e.transporter.read({method:Cr.MethodEnum.Get,path:Gt.encode("1/indexes/%s/%s",e.indexName,t)},r),Bmt=()=>(e,t)=>{for(let[r,o]of Object.entries(e.hits))if(o.objectID===t)return parseInt(r,10);return-1},vmt=e=>(t,r)=>{let{attributesToRetrieve:o,...a}=r||{},n=t.map(u=>({indexName:e.indexName,objectID:u,...o?{attributesToRetrieve:o}:{}}));return e.transporter.read({method:Cr.MethodEnum.Post,path:"1/indexes/*/objects",data:{requests:n}},a)},Dmt=e=>(t,r)=>e.transporter.read({method:Cr.MethodEnum.Get,path:Gt.encode("1/indexes/%s/rules/%s",e.indexName,t)},r),iye=e=>t=>e.transporter.read({method:Cr.MethodEnum.Get,path:Gt.encode("1/indexes/%s/settings",e.indexName),data:{getVersion:2}},t),Smt=e=>(t,r)=>e.transporter.read({method:Cr.MethodEnum.Get,path:Gt.encode("1/indexes/%s/synonyms/%s",e.indexName,t)},r),sye=e=>(t,r)=>e.transporter.read({method:Cr.MethodEnum.Get,path:Gt.encode("1/indexes/%s/task/%s",e.indexName,t.toString())},r),Pmt=e=>(t,r)=>Gt.createWaitablePromise(oye(e)([t],r).then(o=>({objectID:o.objectIDs[0],taskID:o.taskIDs[0]})),(o,a)=>Xi(e)(o.taskID,a)),oye=e=>(t,r)=>{let{createIfNotExists:o,...a}=r||{},n=o?rm.PartialUpdateObject:rm.PartialUpdateObjectNoCreate;return BQ(e)(t,n,a)},xmt=e=>(t,r)=>{let{safe:o,autoGenerateObjectIDIfNotExist:a,batchSize:n,...u}=r||{},A=(E,R,N,U)=>Gt.createWaitablePromise(e.transporter.write({method:Cr.MethodEnum.Post,path:Gt.encode("1/indexes/%s/operation",E),data:{operation:N,destination:R}},U),(V,ee)=>Xi(e)(V.taskID,ee)),p=Math.random().toString(36).substring(7),h=`${e.indexName}_tmp_${p}`,w=_H({appId:e.appId,transporter:e.transporter,indexName:h}),I=[],v=A(e.indexName,h,"copy",{...u,scope:["settings","synonyms","rules"]});I.push(v);let b=(o?v.wait(u):v).then(()=>{let E=w(t,{...u,autoGenerateObjectIDIfNotExist:a,batchSize:n});return I.push(E),o?E.wait(u):E}).then(()=>{let E=A(h,e.indexName,"move",u);return I.push(E),o?E.wait(u):E}).then(()=>Promise.all(I)).then(([E,R,N])=>({objectIDs:R.objectIDs,taskIDs:[E.taskID,...R.taskIDs,N.taskID]}));return Gt.createWaitablePromise(b,(E,R)=>Promise.all(I.map(N=>N.wait(R))))},bmt=e=>(t,r)=>HH(e)(t,{...r,clearExistingRules:!0}),Qmt=e=>(t,r)=>jH(e)(t,{...r,clearExistingSynonyms:!0}),kmt=e=>(t,r)=>Gt.createWaitablePromise(_H(e)([t],r).then(o=>({objectID:o.objectIDs[0],taskID:o.taskIDs[0]})),(o,a)=>Xi(e)(o.taskID,a)),_H=e=>(t,r)=>{let{autoGenerateObjectIDIfNotExist:o,...a}=r||{},n=o?rm.AddObject:rm.UpdateObject;if(n===rm.UpdateObject){for(let u of t)if(u.objectID===void 0)return Gt.createWaitablePromise(Promise.reject(Zme()))}return BQ(e)(t,n,a)},Fmt=e=>(t,r)=>HH(e)([t],r),HH=e=>(t,r)=>{let{forwardToReplicas:o,clearExistingRules:a,...n}=r||{},u=Na.createMappedRequestOptions(n);return o&&(u.queryParameters.forwardToReplicas=1),a&&(u.queryParameters.clearExistingRules=1),Gt.createWaitablePromise(e.transporter.write({method:Cr.MethodEnum.Post,path:Gt.encode("1/indexes/%s/rules/batch",e.indexName),data:t},u),(A,p)=>Xi(e)(A.taskID,p))},Rmt=e=>(t,r)=>jH(e)([t],r),jH=e=>(t,r)=>{let{forwardToReplicas:o,clearExistingSynonyms:a,replaceExistingSynonyms:n,...u}=r||{},A=Na.createMappedRequestOptions(u);return o&&(A.queryParameters.forwardToReplicas=1),(n||a)&&(A.queryParameters.replaceExistingSynonyms=1),Gt.createWaitablePromise(e.transporter.write({method:Cr.MethodEnum.Post,path:Gt.encode("1/indexes/%s/synonyms/batch",e.indexName),data:t},A),(p,h)=>Xi(e)(p.taskID,h))},aye=e=>(t,r)=>e.transporter.read({method:Cr.MethodEnum.Post,path:Gt.encode("1/indexes/%s/query",e.indexName),data:{query:t},cacheable:!0},r),lye=e=>(t,r,o)=>e.transporter.read({method:Cr.MethodEnum.Post,path:Gt.encode("1/indexes/%s/facets/%s/query",e.indexName,t),data:{facetQuery:r},cacheable:!0},o),cye=e=>(t,r)=>e.transporter.read({method:Cr.MethodEnum.Post,path:Gt.encode("1/indexes/%s/rules/search",e.indexName),data:{query:t}},r),uye=e=>(t,r)=>e.transporter.read({method:Cr.MethodEnum.Post,path:Gt.encode("1/indexes/%s/synonyms/search",e.indexName),data:{query:t}},r),Tmt=e=>(t,r)=>{let{forwardToReplicas:o,...a}=r||{},n=Na.createMappedRequestOptions(a);return o&&(n.queryParameters.forwardToReplicas=1),Gt.createWaitablePromise(e.transporter.write({method:Cr.MethodEnum.Put,path:Gt.encode("1/indexes/%s/settings",e.indexName),data:t},n),(u,A)=>Xi(e)(u.taskID,A))},Xi=e=>(t,r)=>Gt.createRetryablePromise(o=>sye(e)(t,r).then(a=>a.status!=="published"?o():void 0)),Nmt={AddObject:"addObject",Analytics:"analytics",Browser:"browse",DeleteIndex:"deleteIndex",DeleteObject:"deleteObject",EditSettings:"editSettings",ListIndexes:"listIndexes",Logs:"logs",Personalization:"personalization",Recommendation:"recommendation",Search:"search",SeeUnretrievableAttributes:"seeUnretrievableAttributes",Settings:"settings",Usage:"usage"},rm={AddObject:"addObject",UpdateObject:"updateObject",PartialUpdateObject:"partialUpdateObject",PartialUpdateObjectNoCreate:"partialUpdateObjectNoCreate",DeleteObject:"deleteObject",DeleteIndex:"delete",ClearIndex:"clear"},vQ={Settings:"settings",Synonyms:"synonyms",Rules:"rules"},Lmt={None:"none",StopIfEnoughMatches:"stopIfEnoughMatches"},Omt={Synonym:"synonym",OneWaySynonym:"oneWaySynonym",AltCorrection1:"altCorrection1",AltCorrection2:"altCorrection2",Placeholder:"placeholder"};Ft.ApiKeyACLEnum=Nmt;Ft.BatchActionEnum=rm;Ft.ScopeEnum=vQ;Ft.StrategyEnum=Lmt;Ft.SynonymEnum=Omt;Ft.addApiKey=xdt;Ft.assignUserID=bdt;Ft.assignUserIDs=Qdt;Ft.batch=rye;Ft.browseObjects=lmt;Ft.browseRules=cmt;Ft.browseSynonyms=umt;Ft.chunkedBatch=BQ;Ft.clearDictionaryEntries=kdt;Ft.clearObjects=Amt;Ft.clearRules=fmt;Ft.clearSynonyms=pmt;Ft.copyIndex=IQ;Ft.copyRules=Fdt;Ft.copySettings=Rdt;Ft.copySynonyms=Tdt;Ft.createBrowsablePromise=CQ;Ft.createMissingObjectIDError=Zme;Ft.createObjectNotFoundError=$me;Ft.createSearchClient=Pdt;Ft.createValidUntilNotFoundError=eye;Ft.customRequest=Ndt;Ft.deleteApiKey=Ldt;Ft.deleteBy=hmt;Ft.deleteDictionaryEntries=Odt;Ft.deleteIndex=gmt;Ft.deleteObject=dmt;Ft.deleteObjects=nye;Ft.deleteRule=mmt;Ft.deleteSynonym=ymt;Ft.exists=Emt;Ft.findAnswers=wmt;Ft.findObject=Cmt;Ft.generateSecuredApiKey=Mdt;Ft.getApiKey=J2;Ft.getAppTask=tye;Ft.getDictionarySettings=Udt;Ft.getLogs=_dt;Ft.getObject=Imt;Ft.getObjectPosition=Bmt;Ft.getObjects=vmt;Ft.getRule=Dmt;Ft.getSecuredApiKeyRemainingValidity=Hdt;Ft.getSettings=iye;Ft.getSynonym=Smt;Ft.getTask=sye;Ft.getTopUserIDs=jdt;Ft.getUserID=qdt;Ft.hasPendingMappings=Gdt;Ft.initIndex=V2;Ft.listApiKeys=Ydt;Ft.listClusters=Wdt;Ft.listIndices=Kdt;Ft.listUserIDs=Jdt;Ft.moveIndex=Vdt;Ft.multipleBatch=zdt;Ft.multipleGetObjects=Xdt;Ft.multipleQueries=Zdt;Ft.multipleSearchForFacetValues=$dt;Ft.partialUpdateObject=Pmt;Ft.partialUpdateObjects=oye;Ft.removeUserID=emt;Ft.replaceAllObjects=xmt;Ft.replaceAllRules=bmt;Ft.replaceAllSynonyms=Qmt;Ft.replaceDictionaryEntries=tmt;Ft.restoreApiKey=rmt;Ft.saveDictionaryEntries=nmt;Ft.saveObject=kmt;Ft.saveObjects=_H;Ft.saveRule=Fmt;Ft.saveRules=HH;Ft.saveSynonym=Rmt;Ft.saveSynonyms=jH;Ft.search=aye;Ft.searchDictionaryEntries=imt;Ft.searchForFacetValues=lye;Ft.searchRules=cye;Ft.searchSynonyms=uye;Ft.searchUserIDs=smt;Ft.setDictionarySettings=omt;Ft.setSettings=Tmt;Ft.updateApiKey=amt;Ft.waitAppTask=bw;Ft.waitTask=Xi});var pye=_((vWt,fye)=>{fye.exports=Aye()});var hye=_(DQ=>{"use strict";Object.defineProperty(DQ,"__esModule",{value:!0});function Mmt(){return{debug(e,t){return Promise.resolve()},info(e,t){return Promise.resolve()},error(e,t){return Promise.resolve()}}}var Umt={Debug:1,Info:2,Error:3};DQ.LogLevelEnum=Umt;DQ.createNullLogger=Mmt});var dye=_((SWt,gye)=>{gye.exports=hye()});var wye=_(qH=>{"use strict";Object.defineProperty(qH,"__esModule",{value:!0});var mye=Ie("http"),yye=Ie("https"),_mt=Ie("url"),Eye={keepAlive:!0},Hmt=new mye.Agent(Eye),jmt=new yye.Agent(Eye);function qmt({agent:e,httpAgent:t,httpsAgent:r,requesterOptions:o={}}={}){let a=t||e||Hmt,n=r||e||jmt;return{send(u){return new Promise(A=>{let p=_mt.parse(u.url),h=p.query===null?p.pathname:`${p.pathname}?${p.query}`,w={...o,agent:p.protocol==="https:"?n:a,hostname:p.hostname,path:h,method:u.method,headers:{...o&&o.headers?o.headers:{},...u.headers},...p.port!==void 0?{port:p.port||""}:{}},I=(p.protocol==="https:"?yye:mye).request(w,R=>{let N=[];R.on("data",U=>{N=N.concat(U)}),R.on("end",()=>{clearTimeout(b),clearTimeout(E),A({status:R.statusCode||0,content:Buffer.concat(N).toString(),isTimedOut:!1})})}),v=(R,N)=>setTimeout(()=>{I.abort(),A({status:0,content:N,isTimedOut:!0})},R*1e3),b=v(u.connectTimeout,"Connection timeout"),E;I.on("error",R=>{clearTimeout(b),clearTimeout(E),A({status:0,content:R.message,isTimedOut:!1})}),I.once("response",()=>{clearTimeout(b),E=v(u.responseTimeout,"Socket timeout")}),u.data!==void 0&&I.write(u.data),I.end()})},destroy(){return a.destroy(),n.destroy(),Promise.resolve()}}}qH.createNodeHttpRequester=qmt});var Iye=_((xWt,Cye)=>{Cye.exports=wye()});var Sye=_((bWt,Dye)=>{"use strict";var Bye=wme(),Gmt=Bme(),Qw=Kme(),YH=j2(),GH=Xme(),Mt=pye(),Ymt=dye(),Wmt=Iye(),Kmt=Y2();function vye(e,t,r){let o={appId:e,apiKey:t,timeouts:{connect:2,read:5,write:30},requester:Wmt.createNodeHttpRequester(),logger:Ymt.createNullLogger(),responsesCache:Bye.createNullCache(),requestsCache:Bye.createNullCache(),hostsCache:Gmt.createInMemoryCache(),userAgent:Kmt.createUserAgent(YH.version).add({segment:"Node.js",version:process.versions.node})},a={...o,...r},n=()=>u=>GH.createPersonalizationClient({...o,...u,methods:{getPersonalizationStrategy:GH.getPersonalizationStrategy,setPersonalizationStrategy:GH.setPersonalizationStrategy}});return Mt.createSearchClient({...a,methods:{search:Mt.multipleQueries,searchForFacetValues:Mt.multipleSearchForFacetValues,multipleBatch:Mt.multipleBatch,multipleGetObjects:Mt.multipleGetObjects,multipleQueries:Mt.multipleQueries,copyIndex:Mt.copyIndex,copySettings:Mt.copySettings,copyRules:Mt.copyRules,copySynonyms:Mt.copySynonyms,moveIndex:Mt.moveIndex,listIndices:Mt.listIndices,getLogs:Mt.getLogs,listClusters:Mt.listClusters,multipleSearchForFacetValues:Mt.multipleSearchForFacetValues,getApiKey:Mt.getApiKey,addApiKey:Mt.addApiKey,listApiKeys:Mt.listApiKeys,updateApiKey:Mt.updateApiKey,deleteApiKey:Mt.deleteApiKey,restoreApiKey:Mt.restoreApiKey,assignUserID:Mt.assignUserID,assignUserIDs:Mt.assignUserIDs,getUserID:Mt.getUserID,searchUserIDs:Mt.searchUserIDs,listUserIDs:Mt.listUserIDs,getTopUserIDs:Mt.getTopUserIDs,removeUserID:Mt.removeUserID,hasPendingMappings:Mt.hasPendingMappings,generateSecuredApiKey:Mt.generateSecuredApiKey,getSecuredApiKeyRemainingValidity:Mt.getSecuredApiKeyRemainingValidity,destroy:YH.destroy,clearDictionaryEntries:Mt.clearDictionaryEntries,deleteDictionaryEntries:Mt.deleteDictionaryEntries,getDictionarySettings:Mt.getDictionarySettings,getAppTask:Mt.getAppTask,replaceDictionaryEntries:Mt.replaceDictionaryEntries,saveDictionaryEntries:Mt.saveDictionaryEntries,searchDictionaryEntries:Mt.searchDictionaryEntries,setDictionarySettings:Mt.setDictionarySettings,waitAppTask:Mt.waitAppTask,customRequest:Mt.customRequest,initIndex:u=>A=>Mt.initIndex(u)(A,{methods:{batch:Mt.batch,delete:Mt.deleteIndex,findAnswers:Mt.findAnswers,getObject:Mt.getObject,getObjects:Mt.getObjects,saveObject:Mt.saveObject,saveObjects:Mt.saveObjects,search:Mt.search,searchForFacetValues:Mt.searchForFacetValues,waitTask:Mt.waitTask,setSettings:Mt.setSettings,getSettings:Mt.getSettings,partialUpdateObject:Mt.partialUpdateObject,partialUpdateObjects:Mt.partialUpdateObjects,deleteObject:Mt.deleteObject,deleteObjects:Mt.deleteObjects,deleteBy:Mt.deleteBy,clearObjects:Mt.clearObjects,browseObjects:Mt.browseObjects,getObjectPosition:Mt.getObjectPosition,findObject:Mt.findObject,exists:Mt.exists,saveSynonym:Mt.saveSynonym,saveSynonyms:Mt.saveSynonyms,getSynonym:Mt.getSynonym,searchSynonyms:Mt.searchSynonyms,browseSynonyms:Mt.browseSynonyms,deleteSynonym:Mt.deleteSynonym,clearSynonyms:Mt.clearSynonyms,replaceAllObjects:Mt.replaceAllObjects,replaceAllSynonyms:Mt.replaceAllSynonyms,searchRules:Mt.searchRules,getRule:Mt.getRule,deleteRule:Mt.deleteRule,saveRule:Mt.saveRule,saveRules:Mt.saveRules,replaceAllRules:Mt.replaceAllRules,browseRules:Mt.browseRules,clearRules:Mt.clearRules}}),initAnalytics:()=>u=>Qw.createAnalyticsClient({...o,...u,methods:{addABTest:Qw.addABTest,getABTest:Qw.getABTest,getABTests:Qw.getABTests,stopABTest:Qw.stopABTest,deleteABTest:Qw.deleteABTest}}),initPersonalization:n,initRecommendation:()=>u=>(a.logger.info("The `initRecommendation` method is deprecated. Use `initPersonalization` instead."),n()(u))}})}vye.version=YH.version;Dye.exports=vye});var KH=_((QWt,WH)=>{var Pye=Sye();WH.exports=Pye;WH.exports.default=Pye});var zH=_((FWt,Qye)=>{"use strict";var bye=Object.getOwnPropertySymbols,Vmt=Object.prototype.hasOwnProperty,zmt=Object.prototype.propertyIsEnumerable;function Xmt(e){if(e==null)throw new TypeError("Object.assign cannot be called with null or undefined");return Object(e)}function Zmt(){try{if(!Object.assign)return!1;var e=new String("abc");if(e[5]="de",Object.getOwnPropertyNames(e)[0]==="5")return!1;for(var t={},r=0;r<10;r++)t["_"+String.fromCharCode(r)]=r;var o=Object.getOwnPropertyNames(t).map(function(n){return t[n]});if(o.join("")!=="0123456789")return!1;var a={};return"abcdefghijklmnopqrst".split("").forEach(function(n){a[n]=n}),Object.keys(Object.assign({},a)).join("")==="abcdefghijklmnopqrst"}catch{return!1}}Qye.exports=Zmt()?Object.assign:function(e,t){for(var r,o=Xmt(e),a,n=1;n<arguments.length;n++){r=Object(arguments[n]);for(var u in r)Vmt.call(r,u)&&(o[u]=r[u]);if(bye){a=bye(r);for(var A=0;A<a.length;A++)zmt.call(r,a[A])&&(o[a[A]]=r[a[A]])}}return o}});var jye=_(Tn=>{"use strict";var t6=zH(),tu=typeof Symbol=="function"&&Symbol.for,z2=tu?Symbol.for("react.element"):60103,$mt=tu?Symbol.for("react.portal"):60106,eyt=tu?Symbol.for("react.fragment"):60107,tyt=tu?Symbol.for("react.strict_mode"):60108,ryt=tu?Symbol.for("react.profiler"):60114,nyt=tu?Symbol.for("react.provider"):60109,iyt=tu?Symbol.for("react.context"):60110,syt=tu?Symbol.for("react.forward_ref"):60112,oyt=tu?Symbol.for("react.suspense"):60113,ayt=tu?Symbol.for("react.memo"):60115,lyt=tu?Symbol.for("react.lazy"):60116,kye=typeof Symbol=="function"&&Symbol.iterator;function X2(e){for(var t="https://reactjs.org/docs/error-decoder.html?invariant="+e,r=1;r<arguments.length;r++)t+="&args[]="+encodeURIComponent(arguments[r]);return"Minified React error #"+e+"; visit "+t+" for the full message or use the non-minified dev environment for full errors and additional helpful warnings."}var Fye={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},Rye={};function kw(e,t,r){this.props=e,this.context=t,this.refs=Rye,this.updater=r||Fye}kw.prototype.isReactComponent={};kw.prototype.setState=function(e,t){if(typeof e!="object"&&typeof e!="function"&&e!=null)throw Error(X2(85));this.updater.enqueueSetState(this,e,t,"setState")};kw.prototype.forceUpdate=function(e){this.updater.enqueueForceUpdate(this,e,"forceUpdate")};function Tye(){}Tye.prototype=kw.prototype;function r6(e,t,r){this.props=e,this.context=t,this.refs=Rye,this.updater=r||Fye}var n6=r6.prototype=new Tye;n6.constructor=r6;t6(n6,kw.prototype);n6.isPureReactComponent=!0;var i6={current:null},Nye=Object.prototype.hasOwnProperty,Lye={key:!0,ref:!0,__self:!0,__source:!0};function Oye(e,t,r){var o,a={},n=null,u=null;if(t!=null)for(o in t.ref!==void 0&&(u=t.ref),t.key!==void 0&&(n=""+t.key),t)Nye.call(t,o)&&!Lye.hasOwnProperty(o)&&(a[o]=t[o]);var A=arguments.length-2;if(A===1)a.children=r;else if(1<A){for(var p=Array(A),h=0;h<A;h++)p[h]=arguments[h+2];a.children=p}if(e&&e.defaultProps)for(o in A=e.defaultProps,A)a[o]===void 0&&(a[o]=A[o]);return{$$typeof:z2,type:e,key:n,ref:u,props:a,_owner:i6.current}}function cyt(e,t){return{$$typeof:z2,type:e.type,key:t,ref:e.ref,props:e.props,_owner:e._owner}}function s6(e){return typeof e=="object"&&e!==null&&e.$$typeof===z2}function uyt(e){var t={"=":"=0",":":"=2"};return"$"+(""+e).replace(/[=:]/g,function(r){return t[r]})}var Mye=/\/+/g,SQ=[];function Uye(e,t,r,o){if(SQ.length){var a=SQ.pop();return a.result=e,a.keyPrefix=t,a.func=r,a.context=o,a.count=0,a}return{result:e,keyPrefix:t,func:r,context:o,count:0}}function _ye(e){e.result=null,e.keyPrefix=null,e.func=null,e.context=null,e.count=0,10>SQ.length&&SQ.push(e)}function ZH(e,t,r,o){var a=typeof e;(a==="undefined"||a==="boolean")&&(e=null);var n=!1;if(e===null)n=!0;else switch(a){case"string":case"number":n=!0;break;case"object":switch(e.$$typeof){case z2:case $mt:n=!0}}if(n)return r(o,e,t===""?"."+XH(e,0):t),1;if(n=0,t=t===""?".":t+":",Array.isArray(e))for(var u=0;u<e.length;u++){a=e[u];var A=t+XH(a,u);n+=ZH(a,A,r,o)}else if(e===null||typeof e!="object"?A=null:(A=kye&&e[kye]||e["@@iterator"],A=typeof A=="function"?A:null),typeof A=="function")for(e=A.call(e),u=0;!(a=e.next()).done;)a=a.value,A=t+XH(a,u++),n+=ZH(a,A,r,o);else if(a==="object")throw r=""+e,Error(X2(31,r==="[object Object]"?"object with keys {"+Object.keys(e).join(", ")+"}":r,""));return n}function $H(e,t,r){return e==null?0:ZH(e,"",t,r)}function XH(e,t){return typeof e=="object"&&e!==null&&e.key!=null?uyt(e.key):t.toString(36)}function Ayt(e,t){e.func.call(e.context,t,e.count++)}function fyt(e,t,r){var o=e.result,a=e.keyPrefix;e=e.func.call(e.context,t,e.count++),Array.isArray(e)?e6(e,o,r,function(n){return n}):e!=null&&(s6(e)&&(e=cyt(e,a+(!e.key||t&&t.key===e.key?"":(""+e.key).replace(Mye,"$&/")+"/")+r)),o.push(e))}function e6(e,t,r,o,a){var n="";r!=null&&(n=(""+r).replace(Mye,"$&/")+"/"),t=Uye(t,n,o,a),$H(e,fyt,t),_ye(t)}var Hye={current:null};function zf(){var e=Hye.current;if(e===null)throw Error(X2(321));return e}var pyt={ReactCurrentDispatcher:Hye,ReactCurrentBatchConfig:{suspense:null},ReactCurrentOwner:i6,IsSomeRendererActing:{current:!1},assign:t6};Tn.Children={map:function(e,t,r){if(e==null)return e;var o=[];return e6(e,o,null,t,r),o},forEach:function(e,t,r){if(e==null)return e;t=Uye(null,null,t,r),$H(e,Ayt,t),_ye(t)},count:function(e){return $H(e,function(){return null},null)},toArray:function(e){var t=[];return e6(e,t,null,function(r){return r}),t},only:function(e){if(!s6(e))throw Error(X2(143));return e}};Tn.Component=kw;Tn.Fragment=eyt;Tn.Profiler=ryt;Tn.PureComponent=r6;Tn.StrictMode=tyt;Tn.Suspense=oyt;Tn.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED=pyt;Tn.cloneElement=function(e,t,r){if(e==null)throw Error(X2(267,e));var o=t6({},e.props),a=e.key,n=e.ref,u=e._owner;if(t!=null){if(t.ref!==void 0&&(n=t.ref,u=i6.current),t.key!==void 0&&(a=""+t.key),e.type&&e.type.defaultProps)var A=e.type.defaultProps;for(p in t)Nye.call(t,p)&&!Lye.hasOwnProperty(p)&&(o[p]=t[p]===void 0&&A!==void 0?A[p]:t[p])}var p=arguments.length-2;if(p===1)o.children=r;else if(1<p){A=Array(p);for(var h=0;h<p;h++)A[h]=arguments[h+2];o.children=A}return{$$typeof:z2,type:e.type,key:a,ref:n,props:o,_owner:u}};Tn.createContext=function(e,t){return t===void 0&&(t=null),e={$$typeof:iyt,_calculateChangedBits:t,_currentValue:e,_currentValue2:e,_threadCount:0,Provider:null,Consumer:null},e.Provider={$$typeof:nyt,_context:e},e.Consumer=e};Tn.createElement=Oye;Tn.createFactory=function(e){var t=Oye.bind(null,e);return t.type=e,t};Tn.createRef=function(){return{current:null}};Tn.forwardRef=function(e){return{$$typeof:syt,render:e}};Tn.isValidElement=s6;Tn.lazy=function(e){return{$$typeof:lyt,_ctor:e,_status:-1,_result:null}};Tn.memo=function(e,t){return{$$typeof:ayt,type:e,compare:t===void 0?null:t}};Tn.useCallback=function(e,t){return zf().useCallback(e,t)};Tn.useContext=function(e,t){return zf().useContext(e,t)};Tn.useDebugValue=function(){};Tn.useEffect=function(e,t){return zf().useEffect(e,t)};Tn.useImperativeHandle=function(e,t,r){return zf().useImperativeHandle(e,t,r)};Tn.useLayoutEffect=function(e,t){return zf().useLayoutEffect(e,t)};Tn.useMemo=function(e,t){return zf().useMemo(e,t)};Tn.useReducer=function(e,t,r){return zf().useReducer(e,t,r)};Tn.useRef=function(e){return zf().useRef(e)};Tn.useState=function(e){return zf().useState(e)};Tn.version="16.13.1"});var nn=_((TWt,qye)=>{"use strict";qye.exports=jye()});var a6=_((NWt,o6)=>{"use strict";var un=o6.exports;o6.exports.default=un;var Nn="\x1B[",Z2="\x1B]",Fw="\x07",PQ=";",Gye=process.env.TERM_PROGRAM==="Apple_Terminal";un.cursorTo=(e,t)=>{if(typeof e!="number")throw new TypeError("The `x` argument is required");return typeof t!="number"?Nn+(e+1)+"G":Nn+(t+1)+";"+(e+1)+"H"};un.cursorMove=(e,t)=>{if(typeof e!="number")throw new TypeError("The `x` argument is required");let r="";return e<0?r+=Nn+-e+"D":e>0&&(r+=Nn+e+"C"),t<0?r+=Nn+-t+"A":t>0&&(r+=Nn+t+"B"),r};un.cursorUp=(e=1)=>Nn+e+"A";un.cursorDown=(e=1)=>Nn+e+"B";un.cursorForward=(e=1)=>Nn+e+"C";un.cursorBackward=(e=1)=>Nn+e+"D";un.cursorLeft=Nn+"G";un.cursorSavePosition=Gye?"\x1B7":Nn+"s";un.cursorRestorePosition=Gye?"\x1B8":Nn+"u";un.cursorGetPosition=Nn+"6n";un.cursorNextLine=Nn+"E";un.cursorPrevLine=Nn+"F";un.cursorHide=Nn+"?25l";un.cursorShow=Nn+"?25h";un.eraseLines=e=>{let t="";for(let r=0;r<e;r++)t+=un.eraseLine+(r<e-1?un.cursorUp():"");return e&&(t+=un.cursorLeft),t};un.eraseEndLine=Nn+"K";un.eraseStartLine=Nn+"1K";un.eraseLine=Nn+"2K";un.eraseDown=Nn+"J";un.eraseUp=Nn+"1J";un.eraseScreen=Nn+"2J";un.scrollUp=Nn+"S";un.scrollDown=Nn+"T";un.clearScreen="\x1Bc";un.clearTerminal=process.platform==="win32"?`${un.eraseScreen}${Nn}0f`:`${un.eraseScreen}${Nn}3J${Nn}H`;un.beep=Fw;un.link=(e,t)=>[Z2,"8",PQ,PQ,t,Fw,e,Z2,"8",PQ,PQ,Fw].join("");un.image=(e,t={})=>{let r=`${Z2}1337;File=inline=1`;return t.width&&(r+=`;width=${t.width}`),t.height&&(r+=`;height=${t.height}`),t.preserveAspectRatio===!1&&(r+=";preserveAspectRatio=0"),r+":"+e.toString("base64")+Fw};un.iTerm={setCwd:(e=process.cwd())=>`${Z2}50;CurrentDir=${e}${Fw}`,annotation:(e,t={})=>{let r=`${Z2}1337;`,o=typeof t.x<"u",a=typeof t.y<"u";if((o||a)&&!(o&&a&&typeof t.length<"u"))throw new Error("`x`, `y` and `length` must be defined when `x` or `y` is defined");return e=e.replace(/\|/g,""),r+=t.isHidden?"AddHiddenAnnotation=":"AddAnnotation=",t.length>0?r+=(o?[e,t.length,t.x,t.y]:[t.length,e]).join("|"):r+=e,r+Fw}}});var Wye=_((LWt,l6)=>{"use strict";var Yye=(e,t)=>{for(let r of Reflect.ownKeys(t))Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(t,r));return e};l6.exports=Yye;l6.exports.default=Yye});var Jye=_((OWt,bQ)=>{"use strict";var hyt=Wye(),xQ=new WeakMap,Kye=(e,t={})=>{if(typeof e!="function")throw new TypeError("Expected a function");let r,o=0,a=e.displayName||e.name||"<anonymous>",n=function(...u){if(xQ.set(n,++o),o===1)r=e.apply(this,u),e=null;else if(t.throw===!0)throw new Error(`Function \`${a}\` can only be called once`);return r};return hyt(n,e),xQ.set(n,o),n};bQ.exports=Kye;bQ.exports.default=Kye;bQ.exports.callCount=e=>{if(!xQ.has(e))throw new Error(`The given function \`${e.name}\` is not wrapped by the \`onetime\` package`);return xQ.get(e)}});var Vye=_((MWt,QQ)=>{QQ.exports=["SIGABRT","SIGALRM","SIGHUP","SIGINT","SIGTERM"];process.platform!=="win32"&&QQ.exports.push("SIGVTALRM","SIGXCPU","SIGXFSZ","SIGUSR2","SIGTRAP","SIGSYS","SIGQUIT","SIGIOT");process.platform==="linux"&&QQ.exports.push("SIGIO","SIGPOLL","SIGPWR","SIGSTKFLT","SIGUNUSED")});var A6=_((UWt,Nw)=>{var yi=global.process,nm=function(e){return e&&typeof e=="object"&&typeof e.removeListener=="function"&&typeof e.emit=="function"&&typeof e.reallyExit=="function"&&typeof e.listeners=="function"&&typeof e.kill=="function"&&typeof e.pid=="number"&&typeof e.on=="function"};nm(yi)?(zye=Ie("assert"),Rw=Vye(),Xye=/^win/i.test(yi.platform),$2=Ie("events"),typeof $2!="function"&&($2=$2.EventEmitter),yi.__signal_exit_emitter__?Ls=yi.__signal_exit_emitter__:(Ls=yi.__signal_exit_emitter__=new $2,Ls.count=0,Ls.emitted={}),Ls.infinite||(Ls.setMaxListeners(1/0),Ls.infinite=!0),Nw.exports=function(e,t){if(!nm(global.process))return function(){};zye.equal(typeof e,"function","a callback must be provided for exit handler"),Tw===!1&&c6();var r="exit";t&&t.alwaysLast&&(r="afterexit");var o=function(){Ls.removeListener(r,e),Ls.listeners("exit").length===0&&Ls.listeners("afterexit").length===0&&kQ()};return Ls.on(r,e),o},kQ=function(){!Tw||!nm(global.process)||(Tw=!1,Rw.forEach(function(t){try{yi.removeListener(t,FQ[t])}catch{}}),yi.emit=RQ,yi.reallyExit=u6,Ls.count-=1)},Nw.exports.unload=kQ,im=function(t,r,o){Ls.emitted[t]||(Ls.emitted[t]=!0,Ls.emit(t,r,o))},FQ={},Rw.forEach(function(e){FQ[e]=function(){if(!!nm(global.process)){var r=yi.listeners(e);r.length===Ls.count&&(kQ(),im("exit",null,e),im("afterexit",null,e),Xye&&e==="SIGHUP"&&(e="SIGINT"),yi.kill(yi.pid,e))}}}),Nw.exports.signals=function(){return Rw},Tw=!1,c6=function(){Tw||!nm(global.process)||(Tw=!0,Ls.count+=1,Rw=Rw.filter(function(t){try{return yi.on(t,FQ[t]),!0}catch{return!1}}),yi.emit=$ye,yi.reallyExit=Zye)},Nw.exports.load=c6,u6=yi.reallyExit,Zye=function(t){!nm(global.process)||(yi.exitCode=t||0,im("exit",yi.exitCode,null),im("afterexit",yi.exitCode,null),u6.call(yi,yi.exitCode))},RQ=yi.emit,$ye=function(t,r){if(t==="exit"&&nm(global.process)){r!==void 0&&(yi.exitCode=r);var o=RQ.apply(this,arguments);return im("exit",yi.exitCode,null),im("afterexit",yi.exitCode,null),o}else return RQ.apply(this,arguments)}):Nw.exports=function(){return function(){}};var zye,Rw,Xye,$2,Ls,kQ,im,FQ,Tw,c6,u6,Zye,RQ,$ye});var tEe=_((_Wt,eEe)=>{"use strict";var gyt=Jye(),dyt=A6();eEe.exports=gyt(()=>{dyt(()=>{process.stderr.write("\x1B[?25h")},{alwaysLast:!0})})});var f6=_(Lw=>{"use strict";var myt=tEe(),TQ=!1;Lw.show=(e=process.stderr)=>{!e.isTTY||(TQ=!1,e.write("\x1B[?25h"))};Lw.hide=(e=process.stderr)=>{!e.isTTY||(myt(),TQ=!0,e.write("\x1B[?25l"))};Lw.toggle=(e,t)=>{e!==void 0&&(TQ=e),TQ?Lw.show(t):Lw.hide(t)}});var sEe=_(eB=>{"use strict";var iEe=eB&&eB.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(eB,"__esModule",{value:!0});var rEe=iEe(a6()),nEe=iEe(f6()),yyt=(e,{showCursor:t=!1}={})=>{let r=0,o="",a=!1,n=u=>{!t&&!a&&(nEe.default.hide(),a=!0);let A=u+` -`;A!==o&&(o=A,e.write(rEe.default.eraseLines(r)+A),r=A.split(` -`).length)};return n.clear=()=>{e.write(rEe.default.eraseLines(r)),o="",r=0},n.done=()=>{o="",r=0,t||(nEe.default.show(),a=!1)},n};eB.default={create:yyt}});var oEe=_((qWt,Eyt)=>{Eyt.exports=[{name:"AppVeyor",constant:"APPVEYOR",env:"APPVEYOR",pr:"APPVEYOR_PULL_REQUEST_NUMBER"},{name:"Azure Pipelines",constant:"AZURE_PIPELINES",env:"SYSTEM_TEAMFOUNDATIONCOLLECTIONURI",pr:"SYSTEM_PULLREQUEST_PULLREQUESTID"},{name:"Bamboo",constant:"BAMBOO",env:"bamboo_planKey"},{name:"Bitbucket Pipelines",constant:"BITBUCKET",env:"BITBUCKET_COMMIT",pr:"BITBUCKET_PR_ID"},{name:"Bitrise",constant:"BITRISE",env:"BITRISE_IO",pr:"BITRISE_PULL_REQUEST"},{name:"Buddy",constant:"BUDDY",env:"BUDDY_WORKSPACE_ID",pr:"BUDDY_EXECUTION_PULL_REQUEST_ID"},{name:"Buildkite",constant:"BUILDKITE",env:"BUILDKITE",pr:{env:"BUILDKITE_PULL_REQUEST",ne:"false"}},{name:"CircleCI",constant:"CIRCLE",env:"CIRCLECI",pr:"CIRCLE_PULL_REQUEST"},{name:"Cirrus CI",constant:"CIRRUS",env:"CIRRUS_CI",pr:"CIRRUS_PR"},{name:"AWS CodeBuild",constant:"CODEBUILD",env:"CODEBUILD_BUILD_ARN"},{name:"Codeship",constant:"CODESHIP",env:{CI_NAME:"codeship"}},{name:"Drone",constant:"DRONE",env:"DRONE",pr:{DRONE_BUILD_EVENT:"pull_request"}},{name:"dsari",constant:"DSARI",env:"DSARI"},{name:"GitLab CI",constant:"GITLAB",env:"GITLAB_CI"},{name:"GoCD",constant:"GOCD",env:"GO_PIPELINE_LABEL"},{name:"Hudson",constant:"HUDSON",env:"HUDSON_URL"},{name:"Jenkins",constant:"JENKINS",env:["JENKINS_URL","BUILD_ID"],pr:{any:["ghprbPullId","CHANGE_ID"]}},{name:"Magnum CI",constant:"MAGNUM",env:"MAGNUM"},{name:"Netlify CI",constant:"NETLIFY",env:"NETLIFY_BUILD_BASE",pr:{env:"PULL_REQUEST",ne:"false"}},{name:"Sail CI",constant:"SAIL",env:"SAILCI",pr:"SAIL_PULL_REQUEST_NUMBER"},{name:"Semaphore",constant:"SEMAPHORE",env:"SEMAPHORE",pr:"PULL_REQUEST_NUMBER"},{name:"Shippable",constant:"SHIPPABLE",env:"SHIPPABLE",pr:{IS_PULL_REQUEST:"true"}},{name:"Solano CI",constant:"SOLANO",env:"TDDIUM",pr:"TDDIUM_PR_ID"},{name:"Strider CD",constant:"STRIDER",env:"STRIDER"},{name:"TaskCluster",constant:"TASKCLUSTER",env:["TASK_ID","RUN_ID"]},{name:"TeamCity",constant:"TEAMCITY",env:"TEAMCITY_VERSION"},{name:"Travis CI",constant:"TRAVIS",env:"TRAVIS",pr:{env:"TRAVIS_PULL_REQUEST",ne:"false"}}]});var cEe=_(hl=>{"use strict";var lEe=oEe(),hA=process.env;Object.defineProperty(hl,"_vendors",{value:lEe.map(function(e){return e.constant})});hl.name=null;hl.isPR=null;lEe.forEach(function(e){var t=Array.isArray(e.env)?e.env:[e.env],r=t.every(function(o){return aEe(o)});if(hl[e.constant]=r,r)switch(hl.name=e.name,typeof e.pr){case"string":hl.isPR=!!hA[e.pr];break;case"object":"env"in e.pr?hl.isPR=e.pr.env in hA&&hA[e.pr.env]!==e.pr.ne:"any"in e.pr?hl.isPR=e.pr.any.some(function(o){return!!hA[o]}):hl.isPR=aEe(e.pr);break;default:hl.isPR=null}});hl.isCI=!!(hA.CI||hA.CONTINUOUS_INTEGRATION||hA.BUILD_NUMBER||hA.RUN_ID||hl.name);function aEe(e){return typeof e=="string"?!!hA[e]:Object.keys(e).every(function(t){return hA[t]===e[t]})}});var AEe=_((YWt,uEe)=>{"use strict";uEe.exports=cEe().isCI});var pEe=_((WWt,fEe)=>{"use strict";var wyt=e=>{let t=new Set;do for(let r of Reflect.ownKeys(e))t.add([e,r]);while((e=Reflect.getPrototypeOf(e))&&e!==Object.prototype);return t};fEe.exports=(e,{include:t,exclude:r}={})=>{let o=a=>{let n=u=>typeof u=="string"?a===u:u.test(a);return t?t.some(n):r?!r.some(n):!0};for(let[a,n]of wyt(e.constructor.prototype)){if(n==="constructor"||!o(n))continue;let u=Reflect.getOwnPropertyDescriptor(a,n);u&&typeof u.value=="function"&&(e[n]=e[n].bind(e))}return e}});var wEe=_(bn=>{"use strict";Object.defineProperty(bn,"__esModule",{value:!0});var Mw,nB,UQ,_Q,E6;typeof window>"u"||typeof MessageChannel!="function"?(Ow=null,p6=null,h6=function(){if(Ow!==null)try{var e=bn.unstable_now();Ow(!0,e),Ow=null}catch(t){throw setTimeout(h6,0),t}},hEe=Date.now(),bn.unstable_now=function(){return Date.now()-hEe},Mw=function(e){Ow!==null?setTimeout(Mw,0,e):(Ow=e,setTimeout(h6,0))},nB=function(e,t){p6=setTimeout(e,t)},UQ=function(){clearTimeout(p6)},_Q=function(){return!1},E6=bn.unstable_forceFrameRate=function(){}):(NQ=window.performance,g6=window.Date,gEe=window.setTimeout,dEe=window.clearTimeout,typeof console<"u"&&(mEe=window.cancelAnimationFrame,typeof window.requestAnimationFrame!="function"&&console.error("This browser doesn't support requestAnimationFrame. Make sure that you load a polyfill in older browsers. https://fb.me/react-polyfills"),typeof mEe!="function"&&console.error("This browser doesn't support cancelAnimationFrame. Make sure that you load a polyfill in older browsers. https://fb.me/react-polyfills")),typeof NQ=="object"&&typeof NQ.now=="function"?bn.unstable_now=function(){return NQ.now()}:(yEe=g6.now(),bn.unstable_now=function(){return g6.now()-yEe}),tB=!1,rB=null,LQ=-1,d6=5,m6=0,_Q=function(){return bn.unstable_now()>=m6},E6=function(){},bn.unstable_forceFrameRate=function(e){0>e||125<e?console.error("forceFrameRate takes a positive int between 0 and 125, forcing framerates higher than 125 fps is not unsupported"):d6=0<e?Math.floor(1e3/e):5},y6=new MessageChannel,OQ=y6.port2,y6.port1.onmessage=function(){if(rB!==null){var e=bn.unstable_now();m6=e+d6;try{rB(!0,e)?OQ.postMessage(null):(tB=!1,rB=null)}catch(t){throw OQ.postMessage(null),t}}else tB=!1},Mw=function(e){rB=e,tB||(tB=!0,OQ.postMessage(null))},nB=function(e,t){LQ=gEe(function(){e(bn.unstable_now())},t)},UQ=function(){dEe(LQ),LQ=-1});var Ow,p6,h6,hEe,NQ,g6,gEe,dEe,mEe,yEe,tB,rB,LQ,d6,m6,y6,OQ;function w6(e,t){var r=e.length;e.push(t);e:for(;;){var o=Math.floor((r-1)/2),a=e[o];if(a!==void 0&&0<MQ(a,t))e[o]=t,e[r]=a,r=o;else break e}}function nc(e){return e=e[0],e===void 0?null:e}function HQ(e){var t=e[0];if(t!==void 0){var r=e.pop();if(r!==t){e[0]=r;e:for(var o=0,a=e.length;o<a;){var n=2*(o+1)-1,u=e[n],A=n+1,p=e[A];if(u!==void 0&&0>MQ(u,r))p!==void 0&&0>MQ(p,u)?(e[o]=p,e[A]=r,o=A):(e[o]=u,e[n]=r,o=n);else if(p!==void 0&&0>MQ(p,r))e[o]=p,e[A]=r,o=A;else break e}}return t}return null}function MQ(e,t){var r=e.sortIndex-t.sortIndex;return r!==0?r:e.id-t.id}var ru=[],m0=[],Cyt=1,ia=null,Lo=3,jQ=!1,sm=!1,iB=!1;function qQ(e){for(var t=nc(m0);t!==null;){if(t.callback===null)HQ(m0);else if(t.startTime<=e)HQ(m0),t.sortIndex=t.expirationTime,w6(ru,t);else break;t=nc(m0)}}function C6(e){if(iB=!1,qQ(e),!sm)if(nc(ru)!==null)sm=!0,Mw(I6);else{var t=nc(m0);t!==null&&nB(C6,t.startTime-e)}}function I6(e,t){sm=!1,iB&&(iB=!1,UQ()),jQ=!0;var r=Lo;try{for(qQ(t),ia=nc(ru);ia!==null&&(!(ia.expirationTime>t)||e&&!_Q());){var o=ia.callback;if(o!==null){ia.callback=null,Lo=ia.priorityLevel;var a=o(ia.expirationTime<=t);t=bn.unstable_now(),typeof a=="function"?ia.callback=a:ia===nc(ru)&&HQ(ru),qQ(t)}else HQ(ru);ia=nc(ru)}if(ia!==null)var n=!0;else{var u=nc(m0);u!==null&&nB(C6,u.startTime-t),n=!1}return n}finally{ia=null,Lo=r,jQ=!1}}function EEe(e){switch(e){case 1:return-1;case 2:return 250;case 5:return 1073741823;case 4:return 1e4;default:return 5e3}}var Iyt=E6;bn.unstable_ImmediatePriority=1;bn.unstable_UserBlockingPriority=2;bn.unstable_NormalPriority=3;bn.unstable_IdlePriority=5;bn.unstable_LowPriority=4;bn.unstable_runWithPriority=function(e,t){switch(e){case 1:case 2:case 3:case 4:case 5:break;default:e=3}var r=Lo;Lo=e;try{return t()}finally{Lo=r}};bn.unstable_next=function(e){switch(Lo){case 1:case 2:case 3:var t=3;break;default:t=Lo}var r=Lo;Lo=t;try{return e()}finally{Lo=r}};bn.unstable_scheduleCallback=function(e,t,r){var o=bn.unstable_now();if(typeof r=="object"&&r!==null){var a=r.delay;a=typeof a=="number"&&0<a?o+a:o,r=typeof r.timeout=="number"?r.timeout:EEe(e)}else r=EEe(e),a=o;return r=a+r,e={id:Cyt++,callback:t,priorityLevel:e,startTime:a,expirationTime:r,sortIndex:-1},a>o?(e.sortIndex=a,w6(m0,e),nc(ru)===null&&e===nc(m0)&&(iB?UQ():iB=!0,nB(C6,a-o))):(e.sortIndex=r,w6(ru,e),sm||jQ||(sm=!0,Mw(I6))),e};bn.unstable_cancelCallback=function(e){e.callback=null};bn.unstable_wrapCallback=function(e){var t=Lo;return function(){var r=Lo;Lo=t;try{return e.apply(this,arguments)}finally{Lo=r}}};bn.unstable_getCurrentPriorityLevel=function(){return Lo};bn.unstable_shouldYield=function(){var e=bn.unstable_now();qQ(e);var t=nc(ru);return t!==ia&&ia!==null&&t!==null&&t.callback!==null&&t.startTime<=e&&t.expirationTime<ia.expirationTime||_Q()};bn.unstable_requestPaint=Iyt;bn.unstable_continueExecution=function(){sm||jQ||(sm=!0,Mw(I6))};bn.unstable_pauseExecution=function(){};bn.unstable_getFirstCallbackNode=function(){return nc(ru)};bn.unstable_Profiling=null});var B6=_((JWt,CEe)=>{"use strict";CEe.exports=wEe()});var IEe=_((VWt,sB)=>{sB.exports=function e(t){"use strict";var r=zH(),o=nn(),a=B6();function n(S){for(var D="https://reactjs.org/docs/error-decoder.html?invariant="+S,T=1;T<arguments.length;T++)D+="&args[]="+encodeURIComponent(arguments[T]);return"Minified React error #"+S+"; visit "+D+" for the full message or use the non-minified dev environment for full errors and additional helpful warnings."}var u=o.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED;u.hasOwnProperty("ReactCurrentDispatcher")||(u.ReactCurrentDispatcher={current:null}),u.hasOwnProperty("ReactCurrentBatchConfig")||(u.ReactCurrentBatchConfig={suspense:null});var A=typeof Symbol=="function"&&Symbol.for,p=A?Symbol.for("react.element"):60103,h=A?Symbol.for("react.portal"):60106,w=A?Symbol.for("react.fragment"):60107,I=A?Symbol.for("react.strict_mode"):60108,v=A?Symbol.for("react.profiler"):60114,b=A?Symbol.for("react.provider"):60109,E=A?Symbol.for("react.context"):60110,R=A?Symbol.for("react.concurrent_mode"):60111,N=A?Symbol.for("react.forward_ref"):60112,U=A?Symbol.for("react.suspense"):60113,V=A?Symbol.for("react.suspense_list"):60120,ee=A?Symbol.for("react.memo"):60115,le=A?Symbol.for("react.lazy"):60116;A&&Symbol.for("react.fundamental"),A&&Symbol.for("react.responder"),A&&Symbol.for("react.scope");var fe=typeof Symbol=="function"&&Symbol.iterator;function de(S){return S===null||typeof S!="object"?null:(S=fe&&S[fe]||S["@@iterator"],typeof S=="function"?S:null)}function ge(S){if(S._status===-1){S._status=0;var D=S._ctor;D=D(),S._result=D,D.then(function(T){S._status===0&&(T=T.default,S._status=1,S._result=T)},function(T){S._status===0&&(S._status=2,S._result=T)})}}function oe(S){if(S==null)return null;if(typeof S=="function")return S.displayName||S.name||null;if(typeof S=="string")return S;switch(S){case w:return"Fragment";case h:return"Portal";case v:return"Profiler";case I:return"StrictMode";case U:return"Suspense";case V:return"SuspenseList"}if(typeof S=="object")switch(S.$$typeof){case E:return"Context.Consumer";case b:return"Context.Provider";case N:var D=S.render;return D=D.displayName||D.name||"",S.displayName||(D!==""?"ForwardRef("+D+")":"ForwardRef");case ee:return oe(S.type);case le:if(S=S._status===1?S._result:null)return oe(S)}return null}function Be(S){var D=S,T=S;if(S.alternate)for(;D.return;)D=D.return;else{S=D;do D=S,(D.effectTag&1026)!==0&&(T=D.return),S=D.return;while(S)}return D.tag===3?T:null}function be(S){if(Be(S)!==S)throw Error(n(188))}function g(S){var D=S.alternate;if(!D){if(D=Be(S),D===null)throw Error(n(188));return D!==S?null:S}for(var T=S,j=D;;){var W=T.return;if(W===null)break;var ue=W.alternate;if(ue===null){if(j=W.return,j!==null){T=j;continue}break}if(W.child===ue.child){for(ue=W.child;ue;){if(ue===T)return be(W),S;if(ue===j)return be(W),D;ue=ue.sibling}throw Error(n(188))}if(T.return!==j.return)T=W,j=ue;else{for(var De=!1,vt=W.child;vt;){if(vt===T){De=!0,T=W,j=ue;break}if(vt===j){De=!0,j=W,T=ue;break}vt=vt.sibling}if(!De){for(vt=ue.child;vt;){if(vt===T){De=!0,T=ue,j=W;break}if(vt===j){De=!0,j=ue,T=W;break}vt=vt.sibling}if(!De)throw Error(n(189))}}if(T.alternate!==j)throw Error(n(190))}if(T.tag!==3)throw Error(n(188));return T.stateNode.current===T?S:D}function we(S){if(S=g(S),!S)return null;for(var D=S;;){if(D.tag===5||D.tag===6)return D;if(D.child)D.child.return=D,D=D.child;else{if(D===S)break;for(;!D.sibling;){if(!D.return||D.return===S)return null;D=D.return}D.sibling.return=D.return,D=D.sibling}}return null}function Se(S){if(S=g(S),!S)return null;for(var D=S;;){if(D.tag===5||D.tag===6)return D;if(D.child&&D.tag!==4)D.child.return=D,D=D.child;else{if(D===S)break;for(;!D.sibling;){if(!D.return||D.return===S)return null;D=D.return}D.sibling.return=D.return,D=D.sibling}}return null}var ce=t.getPublicInstance,ne=t.getRootHostContext,te=t.getChildHostContext,Ee=t.prepareForCommit,Re=t.resetAfterCommit,dt=t.createInstance,H=t.appendInitialChild,at=t.finalizeInitialChildren,Te=t.prepareUpdate,Qe=t.shouldSetTextContent,ke=t.shouldDeprioritizeSubtree,He=t.createTextInstance,Ne=t.setTimeout,Ve=t.clearTimeout,je=t.noTimeout,x=t.isPrimaryRenderer,C=t.supportsMutation,P=t.supportsPersistence,y=t.supportsHydration,F=t.appendChild,z=t.appendChildToContainer,X=t.commitTextUpdate,Z=t.commitMount,ie=t.commitUpdate,Pe=t.insertBefore,Le=t.insertInContainerBefore,ot=t.removeChild,gt=t.removeChildFromContainer,jt=t.resetTextContent,$t=t.hideInstance,xt=t.hideTextInstance,on=t.unhideInstance,br=t.unhideTextInstance,dr=t.cloneInstance,Pr=t.createContainerChildSet,Yr=t.appendChildToContainerChildSet,Wn=t.finalizeContainerChildren,Os=t.replaceContainerChildren,Ti=t.cloneHiddenInstance,hs=t.cloneHiddenTextInstance,io=t.canHydrateInstance,Si=t.canHydrateTextInstance,Ms=t.isSuspenseInstancePending,so=t.isSuspenseInstanceFallback,cc=t.getNextHydratableSibling,Au=t.getFirstHydratableChild,op=t.hydrateInstance,ap=t.hydrateTextInstance,Us=t.getNextHydratableInstanceAfterSuspenseInstance,vn=t.commitHydratedContainer,oo=t.commitHydratedSuspenseInstance,_s=/^(.*)[\\\/]/;function dl(S){var D="";do{e:switch(S.tag){case 3:case 4:case 6:case 7:case 10:case 9:var T="";break e;default:var j=S._debugOwner,W=S._debugSource,ue=oe(S.type);T=null,j&&(T=oe(j.type)),j=ue,ue="",W?ue=" (at "+W.fileName.replace(_s,"")+":"+W.lineNumber+")":T&&(ue=" (created by "+T+")"),T=` - in `+(j||"Unknown")+ue}D+=T,S=S.return}while(S);return D}var ml=[],ao=-1;function Kn(S){0>ao||(S.current=ml[ao],ml[ao]=null,ao--)}function Ln(S,D){ao++,ml[ao]=S.current,S.current=D}var Ni={},On={current:Ni},Hi={current:!1},ve=Ni;function Li(S,D){var T=S.type.contextTypes;if(!T)return Ni;var j=S.stateNode;if(j&&j.__reactInternalMemoizedUnmaskedChildContext===D)return j.__reactInternalMemoizedMaskedChildContext;var W={},ue;for(ue in T)W[ue]=D[ue];return j&&(S=S.stateNode,S.__reactInternalMemoizedUnmaskedChildContext=D,S.__reactInternalMemoizedMaskedChildContext=W),W}function ni(S){return S=S.childContextTypes,S!=null}function Ma(S){Kn(Hi,S),Kn(On,S)}function pr(S){Kn(Hi,S),Kn(On,S)}function uc(S,D,T){if(On.current!==Ni)throw Error(n(168));Ln(On,D,S),Ln(Hi,T,S)}function fu(S,D,T){var j=S.stateNode;if(S=D.childContextTypes,typeof j.getChildContext!="function")return T;j=j.getChildContext();for(var W in j)if(!(W in S))throw Error(n(108,oe(D)||"Unknown",W));return r({},T,{},j)}function Ac(S){var D=S.stateNode;return D=D&&D.__reactInternalMemoizedMergedChildContext||Ni,ve=On.current,Ln(On,D,S),Ln(Hi,Hi.current,S),!0}function yl(S,D,T){var j=S.stateNode;if(!j)throw Error(n(169));T?(D=fu(S,D,ve),j.__reactInternalMemoizedMergedChildContext=D,Kn(Hi,S),Kn(On,S),Ln(On,D,S)):Kn(Hi,S),Ln(Hi,T,S)}var DA=a.unstable_runWithPriority,pu=a.unstable_scheduleCallback,Ce=a.unstable_cancelCallback,Rt=a.unstable_shouldYield,fc=a.unstable_requestPaint,ji=a.unstable_now,hu=a.unstable_getCurrentPriorityLevel,Yt=a.unstable_ImmediatePriority,El=a.unstable_UserBlockingPriority,SA=a.unstable_NormalPriority,lp=a.unstable_LowPriority,pc=a.unstable_IdlePriority,PA={},Qn=fc!==void 0?fc:function(){},pi=null,hc=null,xA=!1,oa=ji(),Oi=1e4>oa?ji:function(){return ji()-oa};function _o(){switch(hu()){case Yt:return 99;case El:return 98;case SA:return 97;case lp:return 96;case pc:return 95;default:throw Error(n(332))}}function Ze(S){switch(S){case 99:return Yt;case 98:return El;case 97:return SA;case 96:return lp;case 95:return pc;default:throw Error(n(332))}}function lo(S,D){return S=Ze(S),DA(S,D)}function gc(S,D,T){return S=Ze(S),pu(S,D,T)}function gu(S){return pi===null?(pi=[S],hc=pu(Yt,du)):pi.push(S),PA}function qi(){if(hc!==null){var S=hc;hc=null,Ce(S)}du()}function du(){if(!xA&&pi!==null){xA=!0;var S=0;try{var D=pi;lo(99,function(){for(;S<D.length;S++){var T=D[S];do T=T(!0);while(T!==null)}}),pi=null}catch(T){throw pi!==null&&(pi=pi.slice(S+1)),pu(Yt,qi),T}finally{xA=!1}}}var bA=3;function Ua(S,D,T){return T/=10,1073741821-(((1073741821-S+D/10)/T|0)+1)*T}function dc(S,D){return S===D&&(S!==0||1/S===1/D)||S!==S&&D!==D}var gs=typeof Object.is=="function"?Object.is:dc,Ut=Object.prototype.hasOwnProperty;function kn(S,D){if(gs(S,D))return!0;if(typeof S!="object"||S===null||typeof D!="object"||D===null)return!1;var T=Object.keys(S),j=Object.keys(D);if(T.length!==j.length)return!1;for(j=0;j<T.length;j++)if(!Ut.call(D,T[j])||!gs(S[T[j]],D[T[j]]))return!1;return!0}function Ei(S,D){if(S&&S.defaultProps){D=r({},D),S=S.defaultProps;for(var T in S)D[T]===void 0&&(D[T]=S[T])}return D}var aa={current:null},co=null,Hs=null,la=null;function ca(){la=Hs=co=null}function Ho(S,D){var T=S.type._context;x?(Ln(aa,T._currentValue,S),T._currentValue=D):(Ln(aa,T._currentValue2,S),T._currentValue2=D)}function wi(S){var D=aa.current;Kn(aa,S),S=S.type._context,x?S._currentValue=D:S._currentValue2=D}function ds(S,D){for(;S!==null;){var T=S.alternate;if(S.childExpirationTime<D)S.childExpirationTime=D,T!==null&&T.childExpirationTime<D&&(T.childExpirationTime=D);else if(T!==null&&T.childExpirationTime<D)T.childExpirationTime=D;else break;S=S.return}}function ms(S,D){co=S,la=Hs=null,S=S.dependencies,S!==null&&S.firstContext!==null&&(S.expirationTime>=D&&(qo=!0),S.firstContext=null)}function ys(S,D){if(la!==S&&D!==!1&&D!==0)if((typeof D!="number"||D===1073741823)&&(la=S,D=1073741823),D={context:S,observedBits:D,next:null},Hs===null){if(co===null)throw Error(n(308));Hs=D,co.dependencies={expirationTime:0,firstContext:D,responders:null}}else Hs=Hs.next=D;return x?S._currentValue:S._currentValue2}var js=!1;function Mn(S){return{baseState:S,firstUpdate:null,lastUpdate:null,firstCapturedUpdate:null,lastCapturedUpdate:null,firstEffect:null,lastEffect:null,firstCapturedEffect:null,lastCapturedEffect:null}}function Dn(S){return{baseState:S.baseState,firstUpdate:S.firstUpdate,lastUpdate:S.lastUpdate,firstCapturedUpdate:null,lastCapturedUpdate:null,firstEffect:null,lastEffect:null,firstCapturedEffect:null,lastCapturedEffect:null}}function Es(S,D){return{expirationTime:S,suspenseConfig:D,tag:0,payload:null,callback:null,next:null,nextEffect:null}}function We(S,D){S.lastUpdate===null?S.firstUpdate=S.lastUpdate=D:(S.lastUpdate.next=D,S.lastUpdate=D)}function tt(S,D){var T=S.alternate;if(T===null){var j=S.updateQueue,W=null;j===null&&(j=S.updateQueue=Mn(S.memoizedState))}else j=S.updateQueue,W=T.updateQueue,j===null?W===null?(j=S.updateQueue=Mn(S.memoizedState),W=T.updateQueue=Mn(T.memoizedState)):j=S.updateQueue=Dn(W):W===null&&(W=T.updateQueue=Dn(j));W===null||j===W?We(j,D):j.lastUpdate===null||W.lastUpdate===null?(We(j,D),We(W,D)):(We(j,D),W.lastUpdate=D)}function It(S,D){var T=S.updateQueue;T=T===null?S.updateQueue=Mn(S.memoizedState):rr(S,T),T.lastCapturedUpdate===null?T.firstCapturedUpdate=T.lastCapturedUpdate=D:(T.lastCapturedUpdate.next=D,T.lastCapturedUpdate=D)}function rr(S,D){var T=S.alternate;return T!==null&&D===T.updateQueue&&(D=S.updateQueue=Dn(D)),D}function $(S,D,T,j,W,ue){switch(T.tag){case 1:return S=T.payload,typeof S=="function"?S.call(ue,j,W):S;case 3:S.effectTag=S.effectTag&-4097|64;case 0:if(S=T.payload,W=typeof S=="function"?S.call(ue,j,W):S,W==null)break;return r({},j,W);case 2:js=!0}return j}function me(S,D,T,j,W){js=!1,D=rr(S,D);for(var ue=D.baseState,De=null,vt=0,Ct=D.firstUpdate,bt=ue;Ct!==null;){var Ur=Ct.expirationTime;Ur<W?(De===null&&(De=Ct,ue=bt),vt<Ur&&(vt=Ur)):(DC(Ur,Ct.suspenseConfig),bt=$(S,D,Ct,bt,T,j),Ct.callback!==null&&(S.effectTag|=32,Ct.nextEffect=null,D.lastEffect===null?D.firstEffect=D.lastEffect=Ct:(D.lastEffect.nextEffect=Ct,D.lastEffect=Ct))),Ct=Ct.next}for(Ur=null,Ct=D.firstCapturedUpdate;Ct!==null;){var ns=Ct.expirationTime;ns<W?(Ur===null&&(Ur=Ct,De===null&&(ue=bt)),vt<ns&&(vt=ns)):(bt=$(S,D,Ct,bt,T,j),Ct.callback!==null&&(S.effectTag|=32,Ct.nextEffect=null,D.lastCapturedEffect===null?D.firstCapturedEffect=D.lastCapturedEffect=Ct:(D.lastCapturedEffect.nextEffect=Ct,D.lastCapturedEffect=Ct))),Ct=Ct.next}De===null&&(D.lastUpdate=null),Ur===null?D.lastCapturedUpdate=null:S.effectTag|=32,De===null&&Ur===null&&(ue=bt),D.baseState=ue,D.firstUpdate=De,D.firstCapturedUpdate=Ur,_m(vt),S.expirationTime=vt,S.memoizedState=bt}function Oe(S,D,T){D.firstCapturedUpdate!==null&&(D.lastUpdate!==null&&(D.lastUpdate.next=D.firstCapturedUpdate,D.lastUpdate=D.lastCapturedUpdate),D.firstCapturedUpdate=D.lastCapturedUpdate=null),ft(D.firstEffect,T),D.firstEffect=D.lastEffect=null,ft(D.firstCapturedEffect,T),D.firstCapturedEffect=D.lastCapturedEffect=null}function ft(S,D){for(;S!==null;){var T=S.callback;if(T!==null){S.callback=null;var j=D;if(typeof T!="function")throw Error(n(191,T));T.call(j)}S=S.nextEffect}}var pt=u.ReactCurrentBatchConfig,Tt=new o.Component().refs;function er(S,D,T,j){D=S.memoizedState,T=T(j,D),T=T==null?D:r({},D,T),S.memoizedState=T,j=S.updateQueue,j!==null&&S.expirationTime===0&&(j.baseState=T)}var Xr={isMounted:function(S){return(S=S._reactInternalFiber)?Be(S)===S:!1},enqueueSetState:function(S,D,T){S=S._reactInternalFiber;var j=da(),W=pt.suspense;j=jA(j,S,W),W=Es(j,W),W.payload=D,T!=null&&(W.callback=T),tt(S,W),Pc(S,j)},enqueueReplaceState:function(S,D,T){S=S._reactInternalFiber;var j=da(),W=pt.suspense;j=jA(j,S,W),W=Es(j,W),W.tag=1,W.payload=D,T!=null&&(W.callback=T),tt(S,W),Pc(S,j)},enqueueForceUpdate:function(S,D){S=S._reactInternalFiber;var T=da(),j=pt.suspense;T=jA(T,S,j),j=Es(T,j),j.tag=2,D!=null&&(j.callback=D),tt(S,j),Pc(S,T)}};function Gi(S,D,T,j,W,ue,De){return S=S.stateNode,typeof S.shouldComponentUpdate=="function"?S.shouldComponentUpdate(j,ue,De):D.prototype&&D.prototype.isPureReactComponent?!kn(T,j)||!kn(W,ue):!0}function $i(S,D,T){var j=!1,W=Ni,ue=D.contextType;return typeof ue=="object"&&ue!==null?ue=ys(ue):(W=ni(D)?ve:On.current,j=D.contextTypes,ue=(j=j!=null)?Li(S,W):Ni),D=new D(T,ue),S.memoizedState=D.state!==null&&D.state!==void 0?D.state:null,D.updater=Xr,S.stateNode=D,D._reactInternalFiber=S,j&&(S=S.stateNode,S.__reactInternalMemoizedUnmaskedChildContext=W,S.__reactInternalMemoizedMaskedChildContext=ue),D}function Pi(S,D,T,j){S=D.state,typeof D.componentWillReceiveProps=="function"&&D.componentWillReceiveProps(T,j),typeof D.UNSAFE_componentWillReceiveProps=="function"&&D.UNSAFE_componentWillReceiveProps(T,j),D.state!==S&&Xr.enqueueReplaceState(D,D.state,null)}function jo(S,D,T,j){var W=S.stateNode;W.props=T,W.state=S.memoizedState,W.refs=Tt;var ue=D.contextType;typeof ue=="object"&&ue!==null?W.context=ys(ue):(ue=ni(D)?ve:On.current,W.context=Li(S,ue)),ue=S.updateQueue,ue!==null&&(me(S,ue,T,W,j),W.state=S.memoizedState),ue=D.getDerivedStateFromProps,typeof ue=="function"&&(er(S,D,ue,T),W.state=S.memoizedState),typeof D.getDerivedStateFromProps=="function"||typeof W.getSnapshotBeforeUpdate=="function"||typeof W.UNSAFE_componentWillMount!="function"&&typeof W.componentWillMount!="function"||(D=W.state,typeof W.componentWillMount=="function"&&W.componentWillMount(),typeof W.UNSAFE_componentWillMount=="function"&&W.UNSAFE_componentWillMount(),D!==W.state&&Xr.enqueueReplaceState(W,W.state,null),ue=S.updateQueue,ue!==null&&(me(S,ue,T,W,j),W.state=S.memoizedState)),typeof W.componentDidMount=="function"&&(S.effectTag|=4)}var QA=Array.isArray;function kA(S,D,T){if(S=T.ref,S!==null&&typeof S!="function"&&typeof S!="object"){if(T._owner){if(T=T._owner,T){if(T.tag!==1)throw Error(n(309));var j=T.stateNode}if(!j)throw Error(n(147,S));var W=""+S;return D!==null&&D.ref!==null&&typeof D.ref=="function"&&D.ref._stringRef===W?D.ref:(D=function(ue){var De=j.refs;De===Tt&&(De=j.refs={}),ue===null?delete De[W]:De[W]=ue},D._stringRef=W,D)}if(typeof S!="string")throw Error(n(284));if(!T._owner)throw Error(n(290,S))}return S}function cp(S,D){if(S.type!=="textarea")throw Error(n(31,Object.prototype.toString.call(D)==="[object Object]"?"object with keys {"+Object.keys(D).join(", ")+"}":D,""))}function rg(S){function D(rt,Je){if(S){var At=rt.lastEffect;At!==null?(At.nextEffect=Je,rt.lastEffect=Je):rt.firstEffect=rt.lastEffect=Je,Je.nextEffect=null,Je.effectTag=8}}function T(rt,Je){if(!S)return null;for(;Je!==null;)D(rt,Je),Je=Je.sibling;return null}function j(rt,Je){for(rt=new Map;Je!==null;)Je.key!==null?rt.set(Je.key,Je):rt.set(Je.index,Je),Je=Je.sibling;return rt}function W(rt,Je,At){return rt=WA(rt,Je,At),rt.index=0,rt.sibling=null,rt}function ue(rt,Je,At){return rt.index=At,S?(At=rt.alternate,At!==null?(At=At.index,At<Je?(rt.effectTag=2,Je):At):(rt.effectTag=2,Je)):Je}function De(rt){return S&&rt.alternate===null&&(rt.effectTag=2),rt}function vt(rt,Je,At,Wt){return Je===null||Je.tag!==6?(Je=QC(At,rt.mode,Wt),Je.return=rt,Je):(Je=W(Je,At,Wt),Je.return=rt,Je)}function Ct(rt,Je,At,Wt){return Je!==null&&Je.elementType===At.type?(Wt=W(Je,At.props,Wt),Wt.ref=kA(rt,Je,At),Wt.return=rt,Wt):(Wt=Hm(At.type,At.key,At.props,null,rt.mode,Wt),Wt.ref=kA(rt,Je,At),Wt.return=rt,Wt)}function bt(rt,Je,At,Wt){return Je===null||Je.tag!==4||Je.stateNode.containerInfo!==At.containerInfo||Je.stateNode.implementation!==At.implementation?(Je=kC(At,rt.mode,Wt),Je.return=rt,Je):(Je=W(Je,At.children||[],Wt),Je.return=rt,Je)}function Ur(rt,Je,At,Wt,Br){return Je===null||Je.tag!==7?(Je=Qu(At,rt.mode,Wt,Br),Je.return=rt,Je):(Je=W(Je,At,Wt),Je.return=rt,Je)}function ns(rt,Je,At){if(typeof Je=="string"||typeof Je=="number")return Je=QC(""+Je,rt.mode,At),Je.return=rt,Je;if(typeof Je=="object"&&Je!==null){switch(Je.$$typeof){case p:return At=Hm(Je.type,Je.key,Je.props,null,rt.mode,At),At.ref=kA(rt,null,Je),At.return=rt,At;case h:return Je=kC(Je,rt.mode,At),Je.return=rt,Je}if(QA(Je)||de(Je))return Je=Qu(Je,rt.mode,At,null),Je.return=rt,Je;cp(rt,Je)}return null}function gi(rt,Je,At,Wt){var Br=Je!==null?Je.key:null;if(typeof At=="string"||typeof At=="number")return Br!==null?null:vt(rt,Je,""+At,Wt);if(typeof At=="object"&&At!==null){switch(At.$$typeof){case p:return At.key===Br?At.type===w?Ur(rt,Je,At.props.children,Wt,Br):Ct(rt,Je,At,Wt):null;case h:return At.key===Br?bt(rt,Je,At,Wt):null}if(QA(At)||de(At))return Br!==null?null:Ur(rt,Je,At,Wt,null);cp(rt,At)}return null}function po(rt,Je,At,Wt,Br){if(typeof Wt=="string"||typeof Wt=="number")return rt=rt.get(At)||null,vt(Je,rt,""+Wt,Br);if(typeof Wt=="object"&&Wt!==null){switch(Wt.$$typeof){case p:return rt=rt.get(Wt.key===null?At:Wt.key)||null,Wt.type===w?Ur(Je,rt,Wt.props.children,Br,Wt.key):Ct(Je,rt,Wt,Br);case h:return rt=rt.get(Wt.key===null?At:Wt.key)||null,bt(Je,rt,Wt,Br)}if(QA(Wt)||de(Wt))return rt=rt.get(At)||null,Ur(Je,rt,Wt,Br,null);cp(Je,Wt)}return null}function JA(rt,Je,At,Wt){for(var Br=null,Sn=null,kr=Je,Pn=Je=0,oi=null;kr!==null&&Pn<At.length;Pn++){kr.index>Pn?(oi=kr,kr=null):oi=kr.sibling;var $r=gi(rt,kr,At[Pn],Wt);if($r===null){kr===null&&(kr=oi);break}S&&kr&&$r.alternate===null&&D(rt,kr),Je=ue($r,Je,Pn),Sn===null?Br=$r:Sn.sibling=$r,Sn=$r,kr=oi}if(Pn===At.length)return T(rt,kr),Br;if(kr===null){for(;Pn<At.length;Pn++)kr=ns(rt,At[Pn],Wt),kr!==null&&(Je=ue(kr,Je,Pn),Sn===null?Br=kr:Sn.sibling=kr,Sn=kr);return Br}for(kr=j(rt,kr);Pn<At.length;Pn++)oi=po(kr,rt,Pn,At[Pn],Wt),oi!==null&&(S&&oi.alternate!==null&&kr.delete(oi.key===null?Pn:oi.key),Je=ue(oi,Je,Pn),Sn===null?Br=oi:Sn.sibling=oi,Sn=oi);return S&&kr.forEach(function(ho){return D(rt,ho)}),Br}function Yo(rt,Je,At,Wt){var Br=de(At);if(typeof Br!="function")throw Error(n(150));if(At=Br.call(At),At==null)throw Error(n(151));for(var Sn=Br=null,kr=Je,Pn=Je=0,oi=null,$r=At.next();kr!==null&&!$r.done;Pn++,$r=At.next()){kr.index>Pn?(oi=kr,kr=null):oi=kr.sibling;var ho=gi(rt,kr,$r.value,Wt);if(ho===null){kr===null&&(kr=oi);break}S&&kr&&ho.alternate===null&&D(rt,kr),Je=ue(ho,Je,Pn),Sn===null?Br=ho:Sn.sibling=ho,Sn=ho,kr=oi}if($r.done)return T(rt,kr),Br;if(kr===null){for(;!$r.done;Pn++,$r=At.next())$r=ns(rt,$r.value,Wt),$r!==null&&(Je=ue($r,Je,Pn),Sn===null?Br=$r:Sn.sibling=$r,Sn=$r);return Br}for(kr=j(rt,kr);!$r.done;Pn++,$r=At.next())$r=po(kr,rt,Pn,$r.value,Wt),$r!==null&&(S&&$r.alternate!==null&&kr.delete($r.key===null?Pn:$r.key),Je=ue($r,Je,Pn),Sn===null?Br=$r:Sn.sibling=$r,Sn=$r);return S&&kr.forEach(function(BF){return D(rt,BF)}),Br}return function(rt,Je,At,Wt){var Br=typeof At=="object"&&At!==null&&At.type===w&&At.key===null;Br&&(At=At.props.children);var Sn=typeof At=="object"&&At!==null;if(Sn)switch(At.$$typeof){case p:e:{for(Sn=At.key,Br=Je;Br!==null;){if(Br.key===Sn)if(Br.tag===7?At.type===w:Br.elementType===At.type){T(rt,Br.sibling),Je=W(Br,At.type===w?At.props.children:At.props,Wt),Je.ref=kA(rt,Br,At),Je.return=rt,rt=Je;break e}else{T(rt,Br);break}else D(rt,Br);Br=Br.sibling}At.type===w?(Je=Qu(At.props.children,rt.mode,Wt,At.key),Je.return=rt,rt=Je):(Wt=Hm(At.type,At.key,At.props,null,rt.mode,Wt),Wt.ref=kA(rt,Je,At),Wt.return=rt,rt=Wt)}return De(rt);case h:e:{for(Br=At.key;Je!==null;){if(Je.key===Br)if(Je.tag===4&&Je.stateNode.containerInfo===At.containerInfo&&Je.stateNode.implementation===At.implementation){T(rt,Je.sibling),Je=W(Je,At.children||[],Wt),Je.return=rt,rt=Je;break e}else{T(rt,Je);break}else D(rt,Je);Je=Je.sibling}Je=kC(At,rt.mode,Wt),Je.return=rt,rt=Je}return De(rt)}if(typeof At=="string"||typeof At=="number")return At=""+At,Je!==null&&Je.tag===6?(T(rt,Je.sibling),Je=W(Je,At,Wt),Je.return=rt,rt=Je):(T(rt,Je),Je=QC(At,rt.mode,Wt),Je.return=rt,rt=Je),De(rt);if(QA(At))return JA(rt,Je,At,Wt);if(de(At))return Yo(rt,Je,At,Wt);if(Sn&&cp(rt,At),typeof At>"u"&&!Br)switch(rt.tag){case 1:case 0:throw rt=rt.type,Error(n(152,rt.displayName||rt.name||"Component"))}return T(rt,Je)}}var mu=rg(!0),ng=rg(!1),yu={},uo={current:yu},FA={current:yu},mc={current:yu};function ua(S){if(S===yu)throw Error(n(174));return S}function ig(S,D){Ln(mc,D,S),Ln(FA,S,S),Ln(uo,yu,S),D=ne(D),Kn(uo,S),Ln(uo,D,S)}function yc(S){Kn(uo,S),Kn(FA,S),Kn(mc,S)}function Sm(S){var D=ua(mc.current),T=ua(uo.current);D=te(T,S.type,D),T!==D&&(Ln(FA,S,S),Ln(uo,D,S))}function sg(S){FA.current===S&&(Kn(uo,S),Kn(FA,S))}var Xn={current:0};function up(S){for(var D=S;D!==null;){if(D.tag===13){var T=D.memoizedState;if(T!==null&&(T=T.dehydrated,T===null||Ms(T)||so(T)))return D}else if(D.tag===19&&D.memoizedProps.revealOrder!==void 0){if((D.effectTag&64)!==0)return D}else if(D.child!==null){D.child.return=D,D=D.child;continue}if(D===S)break;for(;D.sibling===null;){if(D.return===null||D.return===S)return null;D=D.return}D.sibling.return=D.return,D=D.sibling}return null}function og(S,D){return{responder:S,props:D}}var RA=u.ReactCurrentDispatcher,qs=u.ReactCurrentBatchConfig,Eu=0,Ha=null,Yi=null,Aa=null,wu=null,ws=null,Ec=null,wc=0,Y=null,Dt=0,wl=!1,xi=null,Cc=0;function ct(){throw Error(n(321))}function Cu(S,D){if(D===null)return!1;for(var T=0;T<D.length&&T<S.length;T++)if(!gs(S[T],D[T]))return!1;return!0}function ag(S,D,T,j,W,ue){if(Eu=ue,Ha=D,Aa=S!==null?S.memoizedState:null,RA.current=Aa===null?mC:bm,D=T(j,W),wl){do wl=!1,Cc+=1,Aa=S!==null?S.memoizedState:null,Ec=wu,Y=ws=Yi=null,RA.current=bm,D=T(j,W);while(wl);xi=null,Cc=0}if(RA.current=Bu,S=Ha,S.memoizedState=wu,S.expirationTime=wc,S.updateQueue=Y,S.effectTag|=Dt,S=Yi!==null&&Yi.next!==null,Eu=0,Ec=ws=wu=Aa=Yi=Ha=null,wc=0,Y=null,Dt=0,S)throw Error(n(300));return D}function dC(){RA.current=Bu,Eu=0,Ec=ws=wu=Aa=Yi=Ha=null,wc=0,Y=null,Dt=0,wl=!1,xi=null,Cc=0}function TA(){var S={memoizedState:null,baseState:null,queue:null,baseUpdate:null,next:null};return ws===null?wu=ws=S:ws=ws.next=S,ws}function Ap(){if(Ec!==null)ws=Ec,Ec=ws.next,Yi=Aa,Aa=Yi!==null?Yi.next:null;else{if(Aa===null)throw Error(n(310));Yi=Aa;var S={memoizedState:Yi.memoizedState,baseState:Yi.baseState,queue:Yi.queue,baseUpdate:Yi.baseUpdate,next:null};ws=ws===null?wu=S:ws.next=S,Aa=Yi.next}return ws}function Ir(S,D){return typeof D=="function"?D(S):D}function Cs(S){var D=Ap(),T=D.queue;if(T===null)throw Error(n(311));if(T.lastRenderedReducer=S,0<Cc){var j=T.dispatch;if(xi!==null){var W=xi.get(T);if(W!==void 0){xi.delete(T);var ue=D.memoizedState;do ue=S(ue,W.action),W=W.next;while(W!==null);return gs(ue,D.memoizedState)||(qo=!0),D.memoizedState=ue,D.baseUpdate===T.last&&(D.baseState=ue),T.lastRenderedState=ue,[ue,j]}}return[D.memoizedState,j]}j=T.last;var De=D.baseUpdate;if(ue=D.baseState,De!==null?(j!==null&&(j.next=null),j=De.next):j=j!==null?j.next:null,j!==null){var vt=W=null,Ct=j,bt=!1;do{var Ur=Ct.expirationTime;Ur<Eu?(bt||(bt=!0,vt=De,W=ue),Ur>wc&&(wc=Ur,_m(wc))):(DC(Ur,Ct.suspenseConfig),ue=Ct.eagerReducer===S?Ct.eagerState:S(ue,Ct.action)),De=Ct,Ct=Ct.next}while(Ct!==null&&Ct!==j);bt||(vt=De,W=ue),gs(ue,D.memoizedState)||(qo=!0),D.memoizedState=ue,D.baseUpdate=vt,D.baseState=W,T.lastRenderedState=ue}return[D.memoizedState,T.dispatch]}function lg(S){var D=TA();return typeof S=="function"&&(S=S()),D.memoizedState=D.baseState=S,S=D.queue={last:null,dispatch:null,lastRenderedReducer:Ir,lastRenderedState:S},S=S.dispatch=pg.bind(null,Ha,S),[D.memoizedState,S]}function cg(S){return Cs(Ir,S)}function ug(S,D,T,j){return S={tag:S,create:D,destroy:T,deps:j,next:null},Y===null?(Y={lastEffect:null},Y.lastEffect=S.next=S):(D=Y.lastEffect,D===null?Y.lastEffect=S.next=S:(T=D.next,D.next=S,S.next=T,Y.lastEffect=S)),S}function fp(S,D,T,j){var W=TA();Dt|=S,W.memoizedState=ug(D,T,void 0,j===void 0?null:j)}function Ic(S,D,T,j){var W=Ap();j=j===void 0?null:j;var ue=void 0;if(Yi!==null){var De=Yi.memoizedState;if(ue=De.destroy,j!==null&&Cu(j,De.deps)){ug(0,T,ue,j);return}}Dt|=S,W.memoizedState=ug(D,T,ue,j)}function wt(S,D){return fp(516,192,S,D)}function Pm(S,D){return Ic(516,192,S,D)}function Ag(S,D){if(typeof D=="function")return S=S(),D(S),function(){D(null)};if(D!=null)return S=S(),D.current=S,function(){D.current=null}}function fg(){}function Iu(S,D){return TA().memoizedState=[S,D===void 0?null:D],S}function xm(S,D){var T=Ap();D=D===void 0?null:D;var j=T.memoizedState;return j!==null&&D!==null&&Cu(D,j[1])?j[0]:(T.memoizedState=[S,D],S)}function pg(S,D,T){if(!(25>Cc))throw Error(n(301));var j=S.alternate;if(S===Ha||j!==null&&j===Ha)if(wl=!0,S={expirationTime:Eu,suspenseConfig:null,action:T,eagerReducer:null,eagerState:null,next:null},xi===null&&(xi=new Map),T=xi.get(D),T===void 0)xi.set(D,S);else{for(D=T;D.next!==null;)D=D.next;D.next=S}else{var W=da(),ue=pt.suspense;W=jA(W,S,ue),ue={expirationTime:W,suspenseConfig:ue,action:T,eagerReducer:null,eagerState:null,next:null};var De=D.last;if(De===null)ue.next=ue;else{var vt=De.next;vt!==null&&(ue.next=vt),De.next=ue}if(D.last=ue,S.expirationTime===0&&(j===null||j.expirationTime===0)&&(j=D.lastRenderedReducer,j!==null))try{var Ct=D.lastRenderedState,bt=j(Ct,T);if(ue.eagerReducer=j,ue.eagerState=bt,gs(bt,Ct))return}catch{}finally{}Pc(S,W)}}var Bu={readContext:ys,useCallback:ct,useContext:ct,useEffect:ct,useImperativeHandle:ct,useLayoutEffect:ct,useMemo:ct,useReducer:ct,useRef:ct,useState:ct,useDebugValue:ct,useResponder:ct,useDeferredValue:ct,useTransition:ct},mC={readContext:ys,useCallback:Iu,useContext:ys,useEffect:wt,useImperativeHandle:function(S,D,T){return T=T!=null?T.concat([S]):null,fp(4,36,Ag.bind(null,D,S),T)},useLayoutEffect:function(S,D){return fp(4,36,S,D)},useMemo:function(S,D){var T=TA();return D=D===void 0?null:D,S=S(),T.memoizedState=[S,D],S},useReducer:function(S,D,T){var j=TA();return D=T!==void 0?T(D):D,j.memoizedState=j.baseState=D,S=j.queue={last:null,dispatch:null,lastRenderedReducer:S,lastRenderedState:D},S=S.dispatch=pg.bind(null,Ha,S),[j.memoizedState,S]},useRef:function(S){var D=TA();return S={current:S},D.memoizedState=S},useState:lg,useDebugValue:fg,useResponder:og,useDeferredValue:function(S,D){var T=lg(S),j=T[0],W=T[1];return wt(function(){a.unstable_next(function(){var ue=qs.suspense;qs.suspense=D===void 0?null:D;try{W(S)}finally{qs.suspense=ue}})},[S,D]),j},useTransition:function(S){var D=lg(!1),T=D[0],j=D[1];return[Iu(function(W){j(!0),a.unstable_next(function(){var ue=qs.suspense;qs.suspense=S===void 0?null:S;try{j(!1),W()}finally{qs.suspense=ue}})},[S,T]),T]}},bm={readContext:ys,useCallback:xm,useContext:ys,useEffect:Pm,useImperativeHandle:function(S,D,T){return T=T!=null?T.concat([S]):null,Ic(4,36,Ag.bind(null,D,S),T)},useLayoutEffect:function(S,D){return Ic(4,36,S,D)},useMemo:function(S,D){var T=Ap();D=D===void 0?null:D;var j=T.memoizedState;return j!==null&&D!==null&&Cu(D,j[1])?j[0]:(S=S(),T.memoizedState=[S,D],S)},useReducer:Cs,useRef:function(){return Ap().memoizedState},useState:cg,useDebugValue:fg,useResponder:og,useDeferredValue:function(S,D){var T=cg(S),j=T[0],W=T[1];return Pm(function(){a.unstable_next(function(){var ue=qs.suspense;qs.suspense=D===void 0?null:D;try{W(S)}finally{qs.suspense=ue}})},[S,D]),j},useTransition:function(S){var D=cg(!1),T=D[0],j=D[1];return[xm(function(W){j(!0),a.unstable_next(function(){var ue=qs.suspense;qs.suspense=S===void 0?null:S;try{j(!1),W()}finally{qs.suspense=ue}})},[S,T]),T]}},fa=null,Bc=null,Cl=!1;function vu(S,D){var T=vl(5,null,null,0);T.elementType="DELETED",T.type="DELETED",T.stateNode=D,T.return=S,T.effectTag=8,S.lastEffect!==null?(S.lastEffect.nextEffect=T,S.lastEffect=T):S.firstEffect=S.lastEffect=T}function hg(S,D){switch(S.tag){case 5:return D=io(D,S.type,S.pendingProps),D!==null?(S.stateNode=D,!0):!1;case 6:return D=Si(D,S.pendingProps),D!==null?(S.stateNode=D,!0):!1;case 13:return!1;default:return!1}}function NA(S){if(Cl){var D=Bc;if(D){var T=D;if(!hg(S,D)){if(D=cc(T),!D||!hg(S,D)){S.effectTag=S.effectTag&-1025|2,Cl=!1,fa=S;return}vu(fa,T)}fa=S,Bc=Au(D)}else S.effectTag=S.effectTag&-1025|2,Cl=!1,fa=S}}function pp(S){for(S=S.return;S!==null&&S.tag!==5&&S.tag!==3&&S.tag!==13;)S=S.return;fa=S}function ja(S){if(!y||S!==fa)return!1;if(!Cl)return pp(S),Cl=!0,!1;var D=S.type;if(S.tag!==5||D!=="head"&&D!=="body"&&!Qe(D,S.memoizedProps))for(D=Bc;D;)vu(S,D),D=cc(D);if(pp(S),S.tag===13){if(!y)throw Error(n(316));if(S=S.memoizedState,S=S!==null?S.dehydrated:null,!S)throw Error(n(317));Bc=Us(S)}else Bc=fa?cc(S.stateNode):null;return!0}function gg(){y&&(Bc=fa=null,Cl=!1)}var hp=u.ReactCurrentOwner,qo=!1;function Is(S,D,T,j){D.child=S===null?ng(D,null,T,j):mu(D,S.child,T,j)}function Ci(S,D,T,j,W){T=T.render;var ue=D.ref;return ms(D,W),j=ag(S,D,T,j,ue,W),S!==null&&!qo?(D.updateQueue=S.updateQueue,D.effectTag&=-517,S.expirationTime<=W&&(S.expirationTime=0),ii(S,D,W)):(D.effectTag|=1,Is(S,D,j,W),D.child)}function Qm(S,D,T,j,W,ue){if(S===null){var De=T.type;return typeof De=="function"&&!bC(De)&&De.defaultProps===void 0&&T.compare===null&&T.defaultProps===void 0?(D.tag=15,D.type=De,km(S,D,De,j,W,ue)):(S=Hm(T.type,null,j,null,D.mode,ue),S.ref=D.ref,S.return=D,D.child=S)}return De=S.child,W<ue&&(W=De.memoizedProps,T=T.compare,T=T!==null?T:kn,T(W,j)&&S.ref===D.ref)?ii(S,D,ue):(D.effectTag|=1,S=WA(De,j,ue),S.ref=D.ref,S.return=D,D.child=S)}function km(S,D,T,j,W,ue){return S!==null&&kn(S.memoizedProps,j)&&S.ref===D.ref&&(qo=!1,W<ue)?ii(S,D,ue):LA(S,D,T,j,ue)}function Go(S,D){var T=D.ref;(S===null&&T!==null||S!==null&&S.ref!==T)&&(D.effectTag|=128)}function LA(S,D,T,j,W){var ue=ni(T)?ve:On.current;return ue=Li(D,ue),ms(D,W),T=ag(S,D,T,j,ue,W),S!==null&&!qo?(D.updateQueue=S.updateQueue,D.effectTag&=-517,S.expirationTime<=W&&(S.expirationTime=0),ii(S,D,W)):(D.effectTag|=1,Is(S,D,T,W),D.child)}function gp(S,D,T,j,W){if(ni(T)){var ue=!0;Ac(D)}else ue=!1;if(ms(D,W),D.stateNode===null)S!==null&&(S.alternate=null,D.alternate=null,D.effectTag|=2),$i(D,T,j,W),jo(D,T,j,W),j=!0;else if(S===null){var De=D.stateNode,vt=D.memoizedProps;De.props=vt;var Ct=De.context,bt=T.contextType;typeof bt=="object"&&bt!==null?bt=ys(bt):(bt=ni(T)?ve:On.current,bt=Li(D,bt));var Ur=T.getDerivedStateFromProps,ns=typeof Ur=="function"||typeof De.getSnapshotBeforeUpdate=="function";ns||typeof De.UNSAFE_componentWillReceiveProps!="function"&&typeof De.componentWillReceiveProps!="function"||(vt!==j||Ct!==bt)&&Pi(D,De,j,bt),js=!1;var gi=D.memoizedState;Ct=De.state=gi;var po=D.updateQueue;po!==null&&(me(D,po,j,De,W),Ct=D.memoizedState),vt!==j||gi!==Ct||Hi.current||js?(typeof Ur=="function"&&(er(D,T,Ur,j),Ct=D.memoizedState),(vt=js||Gi(D,T,vt,j,gi,Ct,bt))?(ns||typeof De.UNSAFE_componentWillMount!="function"&&typeof De.componentWillMount!="function"||(typeof De.componentWillMount=="function"&&De.componentWillMount(),typeof De.UNSAFE_componentWillMount=="function"&&De.UNSAFE_componentWillMount()),typeof De.componentDidMount=="function"&&(D.effectTag|=4)):(typeof De.componentDidMount=="function"&&(D.effectTag|=4),D.memoizedProps=j,D.memoizedState=Ct),De.props=j,De.state=Ct,De.context=bt,j=vt):(typeof De.componentDidMount=="function"&&(D.effectTag|=4),j=!1)}else De=D.stateNode,vt=D.memoizedProps,De.props=D.type===D.elementType?vt:Ei(D.type,vt),Ct=De.context,bt=T.contextType,typeof bt=="object"&&bt!==null?bt=ys(bt):(bt=ni(T)?ve:On.current,bt=Li(D,bt)),Ur=T.getDerivedStateFromProps,(ns=typeof Ur=="function"||typeof De.getSnapshotBeforeUpdate=="function")||typeof De.UNSAFE_componentWillReceiveProps!="function"&&typeof De.componentWillReceiveProps!="function"||(vt!==j||Ct!==bt)&&Pi(D,De,j,bt),js=!1,Ct=D.memoizedState,gi=De.state=Ct,po=D.updateQueue,po!==null&&(me(D,po,j,De,W),gi=D.memoizedState),vt!==j||Ct!==gi||Hi.current||js?(typeof Ur=="function"&&(er(D,T,Ur,j),gi=D.memoizedState),(Ur=js||Gi(D,T,vt,j,Ct,gi,bt))?(ns||typeof De.UNSAFE_componentWillUpdate!="function"&&typeof De.componentWillUpdate!="function"||(typeof De.componentWillUpdate=="function"&&De.componentWillUpdate(j,gi,bt),typeof De.UNSAFE_componentWillUpdate=="function"&&De.UNSAFE_componentWillUpdate(j,gi,bt)),typeof De.componentDidUpdate=="function"&&(D.effectTag|=4),typeof De.getSnapshotBeforeUpdate=="function"&&(D.effectTag|=256)):(typeof De.componentDidUpdate!="function"||vt===S.memoizedProps&&Ct===S.memoizedState||(D.effectTag|=4),typeof De.getSnapshotBeforeUpdate!="function"||vt===S.memoizedProps&&Ct===S.memoizedState||(D.effectTag|=256),D.memoizedProps=j,D.memoizedState=gi),De.props=j,De.state=gi,De.context=bt,j=Ur):(typeof De.componentDidUpdate!="function"||vt===S.memoizedProps&&Ct===S.memoizedState||(D.effectTag|=4),typeof De.getSnapshotBeforeUpdate!="function"||vt===S.memoizedProps&&Ct===S.memoizedState||(D.effectTag|=256),j=!1);return dp(S,D,T,j,ue,W)}function dp(S,D,T,j,W,ue){Go(S,D);var De=(D.effectTag&64)!==0;if(!j&&!De)return W&&yl(D,T,!1),ii(S,D,ue);j=D.stateNode,hp.current=D;var vt=De&&typeof T.getDerivedStateFromError!="function"?null:j.render();return D.effectTag|=1,S!==null&&De?(D.child=mu(D,S.child,null,ue),D.child=mu(D,null,vt,ue)):Is(S,D,vt,ue),D.memoizedState=j.state,W&&yl(D,T,!0),D.child}function dg(S){var D=S.stateNode;D.pendingContext?uc(S,D.pendingContext,D.pendingContext!==D.context):D.context&&uc(S,D.context,!1),ig(S,D.containerInfo)}var pa={dehydrated:null,retryTime:0};function an(S,D,T){var j=D.mode,W=D.pendingProps,ue=Xn.current,De=!1,vt;if((vt=(D.effectTag&64)!==0)||(vt=(ue&2)!==0&&(S===null||S.memoizedState!==null)),vt?(De=!0,D.effectTag&=-65):S!==null&&S.memoizedState===null||W.fallback===void 0||W.unstable_avoidThisFallback===!0||(ue|=1),Ln(Xn,ue&1,D),S===null){if(W.fallback!==void 0&&NA(D),De){if(De=W.fallback,W=Qu(null,j,0,null),W.return=D,(D.mode&2)===0)for(S=D.memoizedState!==null?D.child.child:D.child,W.child=S;S!==null;)S.return=W,S=S.sibling;return T=Qu(De,j,T,null),T.return=D,W.sibling=T,D.memoizedState=pa,D.child=W,T}return j=W.children,D.memoizedState=null,D.child=ng(D,null,j,T)}if(S.memoizedState!==null){if(S=S.child,j=S.sibling,De){if(W=W.fallback,T=WA(S,S.pendingProps,0),T.return=D,(D.mode&2)===0&&(De=D.memoizedState!==null?D.child.child:D.child,De!==S.child))for(T.child=De;De!==null;)De.return=T,De=De.sibling;return j=WA(j,W,j.expirationTime),j.return=D,T.sibling=j,T.childExpirationTime=0,D.memoizedState=pa,D.child=T,j}return T=mu(D,S.child,W.children,T),D.memoizedState=null,D.child=T}if(S=S.child,De){if(De=W.fallback,W=Qu(null,j,0,null),W.return=D,W.child=S,S!==null&&(S.return=W),(D.mode&2)===0)for(S=D.memoizedState!==null?D.child.child:D.child,W.child=S;S!==null;)S.return=W,S=S.sibling;return T=Qu(De,j,T,null),T.return=D,W.sibling=T,T.effectTag|=2,W.childExpirationTime=0,D.memoizedState=pa,D.child=W,T}return D.memoizedState=null,D.child=mu(D,S,W.children,T)}function Ao(S,D){S.expirationTime<D&&(S.expirationTime=D);var T=S.alternate;T!==null&&T.expirationTime<D&&(T.expirationTime=D),ds(S.return,D)}function OA(S,D,T,j,W,ue){var De=S.memoizedState;De===null?S.memoizedState={isBackwards:D,rendering:null,last:j,tail:T,tailExpiration:0,tailMode:W,lastEffect:ue}:(De.isBackwards=D,De.rendering=null,De.last=j,De.tail=T,De.tailExpiration=0,De.tailMode=W,De.lastEffect=ue)}function qa(S,D,T){var j=D.pendingProps,W=j.revealOrder,ue=j.tail;if(Is(S,D,j.children,T),j=Xn.current,(j&2)!==0)j=j&1|2,D.effectTag|=64;else{if(S!==null&&(S.effectTag&64)!==0)e:for(S=D.child;S!==null;){if(S.tag===13)S.memoizedState!==null&&Ao(S,T);else if(S.tag===19)Ao(S,T);else if(S.child!==null){S.child.return=S,S=S.child;continue}if(S===D)break e;for(;S.sibling===null;){if(S.return===null||S.return===D)break e;S=S.return}S.sibling.return=S.return,S=S.sibling}j&=1}if(Ln(Xn,j,D),(D.mode&2)===0)D.memoizedState=null;else switch(W){case"forwards":for(T=D.child,W=null;T!==null;)S=T.alternate,S!==null&&up(S)===null&&(W=T),T=T.sibling;T=W,T===null?(W=D.child,D.child=null):(W=T.sibling,T.sibling=null),OA(D,!1,W,T,ue,D.lastEffect);break;case"backwards":for(T=null,W=D.child,D.child=null;W!==null;){if(S=W.alternate,S!==null&&up(S)===null){D.child=W;break}S=W.sibling,W.sibling=T,T=W,W=S}OA(D,!0,T,null,ue,D.lastEffect);break;case"together":OA(D,!1,null,null,void 0,D.lastEffect);break;default:D.memoizedState=null}return D.child}function ii(S,D,T){S!==null&&(D.dependencies=S.dependencies);var j=D.expirationTime;if(j!==0&&_m(j),D.childExpirationTime<T)return null;if(S!==null&&D.child!==S.child)throw Error(n(153));if(D.child!==null){for(S=D.child,T=WA(S,S.pendingProps,S.expirationTime),D.child=T,T.return=D;S.sibling!==null;)S=S.sibling,T=T.sibling=WA(S,S.pendingProps,S.expirationTime),T.return=D;T.sibling=null}return D.child}function ha(S){S.effectTag|=4}var vc,Il,es,qr;if(C)vc=function(S,D){for(var T=D.child;T!==null;){if(T.tag===5||T.tag===6)H(S,T.stateNode);else if(T.tag!==4&&T.child!==null){T.child.return=T,T=T.child;continue}if(T===D)break;for(;T.sibling===null;){if(T.return===null||T.return===D)return;T=T.return}T.sibling.return=T.return,T=T.sibling}},Il=function(){},es=function(S,D,T,j,W){if(S=S.memoizedProps,S!==j){var ue=D.stateNode,De=ua(uo.current);T=Te(ue,T,S,j,W,De),(D.updateQueue=T)&&ha(D)}},qr=function(S,D,T,j){T!==j&&ha(D)};else if(P){vc=function(S,D,T,j){for(var W=D.child;W!==null;){if(W.tag===5){var ue=W.stateNode;T&&j&&(ue=Ti(ue,W.type,W.memoizedProps,W)),H(S,ue)}else if(W.tag===6)ue=W.stateNode,T&&j&&(ue=hs(ue,W.memoizedProps,W)),H(S,ue);else if(W.tag!==4){if(W.tag===13&&(W.effectTag&4)!==0&&(ue=W.memoizedState!==null)){var De=W.child;if(De!==null&&(De.child!==null&&(De.child.return=De,vc(S,De,!0,ue)),ue=De.sibling,ue!==null)){ue.return=W,W=ue;continue}}if(W.child!==null){W.child.return=W,W=W.child;continue}}if(W===D)break;for(;W.sibling===null;){if(W.return===null||W.return===D)return;W=W.return}W.sibling.return=W.return,W=W.sibling}};var mp=function(S,D,T,j){for(var W=D.child;W!==null;){if(W.tag===5){var ue=W.stateNode;T&&j&&(ue=Ti(ue,W.type,W.memoizedProps,W)),Yr(S,ue)}else if(W.tag===6)ue=W.stateNode,T&&j&&(ue=hs(ue,W.memoizedProps,W)),Yr(S,ue);else if(W.tag!==4){if(W.tag===13&&(W.effectTag&4)!==0&&(ue=W.memoizedState!==null)){var De=W.child;if(De!==null&&(De.child!==null&&(De.child.return=De,mp(S,De,!0,ue)),ue=De.sibling,ue!==null)){ue.return=W,W=ue;continue}}if(W.child!==null){W.child.return=W,W=W.child;continue}}if(W===D)break;for(;W.sibling===null;){if(W.return===null||W.return===D)return;W=W.return}W.sibling.return=W.return,W=W.sibling}};Il=function(S){var D=S.stateNode;if(S.firstEffect!==null){var T=D.containerInfo,j=Pr(T);mp(j,S,!1,!1),D.pendingChildren=j,ha(S),Wn(T,j)}},es=function(S,D,T,j,W){var ue=S.stateNode,De=S.memoizedProps;if((S=D.firstEffect===null)&&De===j)D.stateNode=ue;else{var vt=D.stateNode,Ct=ua(uo.current),bt=null;De!==j&&(bt=Te(vt,T,De,j,W,Ct)),S&&bt===null?D.stateNode=ue:(ue=dr(ue,bt,T,De,j,D,S,vt),at(ue,T,j,W,Ct)&&ha(D),D.stateNode=ue,S?ha(D):vc(ue,D,!1,!1))}},qr=function(S,D,T,j){T!==j&&(S=ua(mc.current),T=ua(uo.current),D.stateNode=He(j,S,T,D),ha(D))}}else Il=function(){},es=function(){},qr=function(){};function Dc(S,D){switch(S.tailMode){case"hidden":D=S.tail;for(var T=null;D!==null;)D.alternate!==null&&(T=D),D=D.sibling;T===null?S.tail=null:T.sibling=null;break;case"collapsed":T=S.tail;for(var j=null;T!==null;)T.alternate!==null&&(j=T),T=T.sibling;j===null?D||S.tail===null?S.tail=null:S.tail.sibling=null:j.sibling=null}}function yC(S){switch(S.tag){case 1:ni(S.type)&&Ma(S);var D=S.effectTag;return D&4096?(S.effectTag=D&-4097|64,S):null;case 3:if(yc(S),pr(S),D=S.effectTag,(D&64)!==0)throw Error(n(285));return S.effectTag=D&-4097|64,S;case 5:return sg(S),null;case 13:return Kn(Xn,S),D=S.effectTag,D&4096?(S.effectTag=D&-4097|64,S):null;case 19:return Kn(Xn,S),null;case 4:return yc(S),null;case 10:return wi(S),null;default:return null}}function mg(S,D){return{value:S,source:D,stack:dl(D)}}var yg=typeof WeakSet=="function"?WeakSet:Set;function Ga(S,D){var T=D.source,j=D.stack;j===null&&T!==null&&(j=dl(T)),T!==null&&oe(T.type),D=D.value,S!==null&&S.tag===1&&oe(S.type);try{console.error(D)}catch(W){setTimeout(function(){throw W})}}function Fm(S,D){try{D.props=S.memoizedProps,D.state=S.memoizedState,D.componentWillUnmount()}catch(T){YA(S,T)}}function Eg(S){var D=S.ref;if(D!==null)if(typeof D=="function")try{D(null)}catch(T){YA(S,T)}else D.current=null}function kt(S,D){switch(D.tag){case 0:case 11:case 15:L(2,0,D);break;case 1:if(D.effectTag&256&&S!==null){var T=S.memoizedProps,j=S.memoizedState;S=D.stateNode,D=S.getSnapshotBeforeUpdate(D.elementType===D.type?T:Ei(D.type,T),j),S.__reactInternalSnapshotBeforeUpdate=D}break;case 3:case 5:case 6:case 4:case 17:break;default:throw Error(n(163))}}function L(S,D,T){if(T=T.updateQueue,T=T!==null?T.lastEffect:null,T!==null){var j=T=T.next;do{if((j.tag&S)!==0){var W=j.destroy;j.destroy=void 0,W!==void 0&&W()}(j.tag&D)!==0&&(W=j.create,j.destroy=W()),j=j.next}while(j!==T)}}function K(S,D,T){switch(typeof xC=="function"&&xC(D),D.tag){case 0:case 11:case 14:case 15:if(S=D.updateQueue,S!==null&&(S=S.lastEffect,S!==null)){var j=S.next;lo(97<T?97:T,function(){var W=j;do{var ue=W.destroy;if(ue!==void 0){var De=D;try{ue()}catch(vt){YA(De,vt)}}W=W.next}while(W!==j)})}break;case 1:Eg(D),T=D.stateNode,typeof T.componentWillUnmount=="function"&&Fm(D,T);break;case 5:Eg(D);break;case 4:C?Er(S,D,T):P&&ze(D)}}function re(S,D,T){for(var j=D;;)if(K(S,j,T),j.child===null||C&&j.tag===4){if(j===D)break;for(;j.sibling===null;){if(j.return===null||j.return===D)return;j=j.return}j.sibling.return=j.return,j=j.sibling}else j.child.return=j,j=j.child}function pe(S){var D=S.alternate;S.return=null,S.child=null,S.memoizedState=null,S.updateQueue=null,S.dependencies=null,S.alternate=null,S.firstEffect=null,S.lastEffect=null,S.pendingProps=null,S.memoizedProps=null,D!==null&&pe(D)}function ze(S){if(P){S=S.stateNode.containerInfo;var D=Pr(S);Os(S,D)}}function mt(S){return S.tag===5||S.tag===3||S.tag===4}function Ar(S){if(C){e:{for(var D=S.return;D!==null;){if(mt(D)){var T=D;break e}D=D.return}throw Error(n(160))}switch(D=T.stateNode,T.tag){case 5:var j=!1;break;case 3:D=D.containerInfo,j=!0;break;case 4:D=D.containerInfo,j=!0;break;default:throw Error(n(161))}T.effectTag&16&&(jt(D),T.effectTag&=-17);e:t:for(T=S;;){for(;T.sibling===null;){if(T.return===null||mt(T.return)){T=null;break e}T=T.return}for(T.sibling.return=T.return,T=T.sibling;T.tag!==5&&T.tag!==6&&T.tag!==18;){if(T.effectTag&2||T.child===null||T.tag===4)continue t;T.child.return=T,T=T.child}if(!(T.effectTag&2)){T=T.stateNode;break e}}for(var W=S;;){var ue=W.tag===5||W.tag===6;if(ue)ue=ue?W.stateNode:W.stateNode.instance,T?j?Le(D,ue,T):Pe(D,ue,T):j?z(D,ue):F(D,ue);else if(W.tag!==4&&W.child!==null){W.child.return=W,W=W.child;continue}if(W===S)break;for(;W.sibling===null;){if(W.return===null||W.return===S)return;W=W.return}W.sibling.return=W.return,W=W.sibling}}}function Er(S,D,T){for(var j=D,W=!1,ue,De;;){if(!W){W=j.return;e:for(;;){if(W===null)throw Error(n(160));switch(ue=W.stateNode,W.tag){case 5:De=!1;break e;case 3:ue=ue.containerInfo,De=!0;break e;case 4:ue=ue.containerInfo,De=!0;break e}W=W.return}W=!0}if(j.tag===5||j.tag===6)re(S,j,T),De?gt(ue,j.stateNode):ot(ue,j.stateNode);else if(j.tag===4){if(j.child!==null){ue=j.stateNode.containerInfo,De=!0,j.child.return=j,j=j.child;continue}}else if(K(S,j,T),j.child!==null){j.child.return=j,j=j.child;continue}if(j===D)break;for(;j.sibling===null;){if(j.return===null||j.return===D)return;j=j.return,j.tag===4&&(W=!1)}j.sibling.return=j.return,j=j.sibling}}function mn(S,D){if(C)switch(D.tag){case 0:case 11:case 14:case 15:L(4,8,D);break;case 1:break;case 5:var T=D.stateNode;if(T!=null){var j=D.memoizedProps;S=S!==null?S.memoizedProps:j;var W=D.type,ue=D.updateQueue;D.updateQueue=null,ue!==null&&ie(T,ue,W,S,j,D)}break;case 6:if(D.stateNode===null)throw Error(n(162));T=D.memoizedProps,X(D.stateNode,S!==null?S.memoizedProps:T,T);break;case 3:y&&(D=D.stateNode,D.hydrate&&(D.hydrate=!1,vn(D.containerInfo)));break;case 12:break;case 13:si(D),Mi(D);break;case 19:Mi(D);break;case 17:break;case 20:break;case 21:break;default:throw Error(n(163))}else{switch(D.tag){case 0:case 11:case 14:case 15:L(4,8,D);return;case 12:return;case 13:si(D),Mi(D);return;case 19:Mi(D);return;case 3:y&&(T=D.stateNode,T.hydrate&&(T.hydrate=!1,vn(T.containerInfo)))}e:if(P)switch(D.tag){case 1:case 5:case 6:case 20:break e;case 3:case 4:D=D.stateNode,Os(D.containerInfo,D.pendingChildren);break e;default:throw Error(n(163))}}}function si(S){var D=S;if(S.memoizedState===null)var T=!1;else T=!0,D=S.child,CC=Oi();if(C&&D!==null){e:if(S=D,C)for(D=S;;){if(D.tag===5){var j=D.stateNode;T?$t(j):on(D.stateNode,D.memoizedProps)}else if(D.tag===6)j=D.stateNode,T?xt(j):br(j,D.memoizedProps);else if(D.tag===13&&D.memoizedState!==null&&D.memoizedState.dehydrated===null){j=D.child.sibling,j.return=D,D=j;continue}else if(D.child!==null){D.child.return=D,D=D.child;continue}if(D===S)break e;for(;D.sibling===null;){if(D.return===null||D.return===S)break e;D=D.return}D.sibling.return=D.return,D=D.sibling}}}function Mi(S){var D=S.updateQueue;if(D!==null){S.updateQueue=null;var T=S.stateNode;T===null&&(T=S.stateNode=new yg),D.forEach(function(j){var W=mF.bind(null,S,j);T.has(j)||(T.add(j),j.then(W,W))})}}var wg=typeof WeakMap=="function"?WeakMap:Map;function qv(S,D,T){T=Es(T,null),T.tag=3,T.payload={element:null};var j=D.value;return T.callback=function(){Su||(Su=!0,Om=j),Ga(S,D)},T}function Gv(S,D,T){T=Es(T,null),T.tag=3;var j=S.type.getDerivedStateFromError;if(typeof j=="function"){var W=D.value;T.payload=function(){return Ga(S,D),j(W)}}var ue=S.stateNode;return ue!==null&&typeof ue.componentDidCatch=="function"&&(T.callback=function(){typeof j!="function"&&(Pu===null?Pu=new Set([this]):Pu.add(this),Ga(S,D));var De=D.stack;this.componentDidCatch(D.value,{componentStack:De!==null?De:""})}),T}var EC=Math.ceil,yp=u.ReactCurrentDispatcher,wC=u.ReactCurrentOwner,yn=0,Rm=8,ts=16,Gs=32,Du=0,Tm=1,Ii=2,ga=3,Bl=4,Sc=5,mr=yn,hi=null,Lr=null,rs=0,Wi=Du,Nm=null,Ya=1073741823,MA=1073741823,Lm=null,Ep=0,UA=!1,CC=0,IC=500,ir=null,Su=!1,Om=null,Pu=null,wp=!1,Cg=null,_A=90,HA=null,Ig=0,BC=null,Mm=0;function da(){return(mr&(ts|Gs))!==yn?1073741821-(Oi()/10|0):Mm!==0?Mm:Mm=1073741821-(Oi()/10|0)}function jA(S,D,T){if(D=D.mode,(D&2)===0)return 1073741823;var j=_o();if((D&4)===0)return j===99?1073741823:1073741822;if((mr&ts)!==yn)return rs;if(T!==null)S=Ua(S,T.timeoutMs|0||5e3,250);else switch(j){case 99:S=1073741823;break;case 98:S=Ua(S,150,100);break;case 97:case 96:S=Ua(S,5e3,250);break;case 95:S=2;break;default:throw Error(n(326))}return hi!==null&&S===rs&&--S,S}function Pc(S,D){if(50<Ig)throw Ig=0,BC=null,Error(n(185));if(S=Bg(S,D),S!==null){var T=_o();D===1073741823?(mr&Rm)!==yn&&(mr&(ts|Gs))===yn?vC(S):(fo(S),mr===yn&&qi()):fo(S),(mr&4)===yn||T!==98&&T!==99||(HA===null?HA=new Map([[S,D]]):(T=HA.get(S),(T===void 0||T>D)&&HA.set(S,D)))}}function Bg(S,D){S.expirationTime<D&&(S.expirationTime=D);var T=S.alternate;T!==null&&T.expirationTime<D&&(T.expirationTime=D);var j=S.return,W=null;if(j===null&&S.tag===3)W=S.stateNode;else for(;j!==null;){if(T=j.alternate,j.childExpirationTime<D&&(j.childExpirationTime=D),T!==null&&T.childExpirationTime<D&&(T.childExpirationTime=D),j.return===null&&j.tag===3){W=j.stateNode;break}j=j.return}return W!==null&&(hi===W&&(_m(D),Wi===Bl&&KA(W,rs)),$v(W,D)),W}function Um(S){var D=S.lastExpiredTime;return D!==0||(D=S.firstPendingTime,!Zv(S,D))?D:(D=S.lastPingedTime,S=S.nextKnownPendingLevel,D>S?D:S)}function fo(S){if(S.lastExpiredTime!==0)S.callbackExpirationTime=1073741823,S.callbackPriority=99,S.callbackNode=gu(vC.bind(null,S));else{var D=Um(S),T=S.callbackNode;if(D===0)T!==null&&(S.callbackNode=null,S.callbackExpirationTime=0,S.callbackPriority=90);else{var j=da();if(D===1073741823?j=99:D===1||D===2?j=95:(j=10*(1073741821-D)-10*(1073741821-j),j=0>=j?99:250>=j?98:5250>=j?97:95),T!==null){var W=S.callbackPriority;if(S.callbackExpirationTime===D&&W>=j)return;T!==PA&&Ce(T)}S.callbackExpirationTime=D,S.callbackPriority=j,D=D===1073741823?gu(vC.bind(null,S)):gc(j,Yv.bind(null,S),{timeout:10*(1073741821-D)-Oi()}),S.callbackNode=D}}}function Yv(S,D){if(Mm=0,D)return D=da(),jm(S,D),fo(S),null;var T=Um(S);if(T!==0){if(D=S.callbackNode,(mr&(ts|Gs))!==yn)throw Error(n(327));if(Cp(),S===hi&&T===rs||xu(S,T),Lr!==null){var j=mr;mr|=ts;var W=GA(S);do try{fF();break}catch(vt){qA(S,vt)}while(1);if(ca(),mr=j,yp.current=W,Wi===Tm)throw D=Nm,xu(S,T),KA(S,T),fo(S),D;if(Lr===null)switch(W=S.finishedWork=S.current.alternate,S.finishedExpirationTime=T,j=Wi,hi=null,j){case Du:case Tm:throw Error(n(345));case Ii:jm(S,2<T?2:T);break;case ga:if(KA(S,T),j=S.lastSuspendedTime,T===j&&(S.nextKnownPendingLevel=SC(W)),Ya===1073741823&&(W=CC+IC-Oi(),10<W)){if(UA){var ue=S.lastPingedTime;if(ue===0||ue>=T){S.lastPingedTime=T,xu(S,T);break}}if(ue=Um(S),ue!==0&&ue!==T)break;if(j!==0&&j!==T){S.lastPingedTime=j;break}S.timeoutHandle=Ne(bu.bind(null,S),W);break}bu(S);break;case Bl:if(KA(S,T),j=S.lastSuspendedTime,T===j&&(S.nextKnownPendingLevel=SC(W)),UA&&(W=S.lastPingedTime,W===0||W>=T)){S.lastPingedTime=T,xu(S,T);break}if(W=Um(S),W!==0&&W!==T)break;if(j!==0&&j!==T){S.lastPingedTime=j;break}if(MA!==1073741823?j=10*(1073741821-MA)-Oi():Ya===1073741823?j=0:(j=10*(1073741821-Ya)-5e3,W=Oi(),T=10*(1073741821-T)-W,j=W-j,0>j&&(j=0),j=(120>j?120:480>j?480:1080>j?1080:1920>j?1920:3e3>j?3e3:4320>j?4320:1960*EC(j/1960))-j,T<j&&(j=T)),10<j){S.timeoutHandle=Ne(bu.bind(null,S),j);break}bu(S);break;case Sc:if(Ya!==1073741823&&Lm!==null){ue=Ya;var De=Lm;if(j=De.busyMinDurationMs|0,0>=j?j=0:(W=De.busyDelayMs|0,ue=Oi()-(10*(1073741821-ue)-(De.timeoutMs|0||5e3)),j=ue<=W?0:W+j-ue),10<j){KA(S,T),S.timeoutHandle=Ne(bu.bind(null,S),j);break}}bu(S);break;default:throw Error(n(329))}if(fo(S),S.callbackNode===D)return Yv.bind(null,S)}}return null}function vC(S){var D=S.lastExpiredTime;if(D=D!==0?D:1073741823,S.finishedExpirationTime===D)bu(S);else{if((mr&(ts|Gs))!==yn)throw Error(n(327));if(Cp(),S===hi&&D===rs||xu(S,D),Lr!==null){var T=mr;mr|=ts;var j=GA(S);do try{AF();break}catch(W){qA(S,W)}while(1);if(ca(),mr=T,yp.current=j,Wi===Tm)throw T=Nm,xu(S,D),KA(S,D),fo(S),T;if(Lr!==null)throw Error(n(261));S.finishedWork=S.current.alternate,S.finishedExpirationTime=D,hi=null,bu(S),fo(S)}}return null}function Wv(S,D){jm(S,D),fo(S),(mr&(ts|Gs))===yn&&qi()}function uF(){if(HA!==null){var S=HA;HA=null,S.forEach(function(D,T){jm(T,D),fo(T)}),qi()}}function Kv(S,D){if((mr&(ts|Gs))!==yn)throw Error(n(187));var T=mr;mr|=1;try{return lo(99,S.bind(null,D))}finally{mr=T,qi()}}function xu(S,D){S.finishedWork=null,S.finishedExpirationTime=0;var T=S.timeoutHandle;if(T!==je&&(S.timeoutHandle=je,Ve(T)),Lr!==null)for(T=Lr.return;T!==null;){var j=T;switch(j.tag){case 1:var W=j.type.childContextTypes;W!=null&&Ma(j);break;case 3:yc(j),pr(j);break;case 5:sg(j);break;case 4:yc(j);break;case 13:Kn(Xn,j);break;case 19:Kn(Xn,j);break;case 10:wi(j)}T=T.return}hi=S,Lr=WA(S.current,null,D),rs=D,Wi=Du,Nm=null,MA=Ya=1073741823,Lm=null,Ep=0,UA=!1}function qA(S,D){do{try{if(ca(),dC(),Lr===null||Lr.return===null)return Wi=Tm,Nm=D,null;e:{var T=S,j=Lr.return,W=Lr,ue=D;if(D=rs,W.effectTag|=2048,W.firstEffect=W.lastEffect=null,ue!==null&&typeof ue=="object"&&typeof ue.then=="function"){var De=ue,vt=(Xn.current&1)!==0,Ct=j;do{var bt;if(bt=Ct.tag===13){var Ur=Ct.memoizedState;if(Ur!==null)bt=Ur.dehydrated!==null;else{var ns=Ct.memoizedProps;bt=ns.fallback===void 0?!1:ns.unstable_avoidThisFallback!==!0?!0:!vt}}if(bt){var gi=Ct.updateQueue;if(gi===null){var po=new Set;po.add(De),Ct.updateQueue=po}else gi.add(De);if((Ct.mode&2)===0){if(Ct.effectTag|=64,W.effectTag&=-2981,W.tag===1)if(W.alternate===null)W.tag=17;else{var JA=Es(1073741823,null);JA.tag=2,tt(W,JA)}W.expirationTime=1073741823;break e}ue=void 0,W=D;var Yo=T.pingCache;if(Yo===null?(Yo=T.pingCache=new wg,ue=new Set,Yo.set(De,ue)):(ue=Yo.get(De),ue===void 0&&(ue=new Set,Yo.set(De,ue))),!ue.has(W)){ue.add(W);var rt=dF.bind(null,T,De,W);De.then(rt,rt)}Ct.effectTag|=4096,Ct.expirationTime=D;break e}Ct=Ct.return}while(Ct!==null);ue=Error((oe(W.type)||"A React component")+` suspended while rendering, but no fallback UI was specified. - -Add a <Suspense fallback=...> component higher in the tree to provide a loading indicator or placeholder to display.`+dl(W))}Wi!==Sc&&(Wi=Ii),ue=mg(ue,W),Ct=j;do{switch(Ct.tag){case 3:De=ue,Ct.effectTag|=4096,Ct.expirationTime=D;var Je=qv(Ct,De,D);It(Ct,Je);break e;case 1:De=ue;var At=Ct.type,Wt=Ct.stateNode;if((Ct.effectTag&64)===0&&(typeof At.getDerivedStateFromError=="function"||Wt!==null&&typeof Wt.componentDidCatch=="function"&&(Pu===null||!Pu.has(Wt)))){Ct.effectTag|=4096,Ct.expirationTime=D;var Br=Gv(Ct,De,D);It(Ct,Br);break e}}Ct=Ct.return}while(Ct!==null)}Lr=Vv(Lr)}catch(Sn){D=Sn;continue}break}while(1)}function GA(){var S=yp.current;return yp.current=Bu,S===null?Bu:S}function DC(S,D){S<Ya&&2<S&&(Ya=S),D!==null&&S<MA&&2<S&&(MA=S,Lm=D)}function _m(S){S>Ep&&(Ep=S)}function AF(){for(;Lr!==null;)Lr=Jv(Lr)}function fF(){for(;Lr!==null&&!Rt();)Lr=Jv(Lr)}function Jv(S){var D=Xv(S.alternate,S,rs);return S.memoizedProps=S.pendingProps,D===null&&(D=Vv(S)),wC.current=null,D}function Vv(S){Lr=S;do{var D=Lr.alternate;if(S=Lr.return,(Lr.effectTag&2048)===0){e:{var T=D;D=Lr;var j=rs,W=D.pendingProps;switch(D.tag){case 2:break;case 16:break;case 15:case 0:break;case 1:ni(D.type)&&Ma(D);break;case 3:yc(D),pr(D),W=D.stateNode,W.pendingContext&&(W.context=W.pendingContext,W.pendingContext=null),(T===null||T.child===null)&&ja(D)&&ha(D),Il(D);break;case 5:sg(D);var ue=ua(mc.current);if(j=D.type,T!==null&&D.stateNode!=null)es(T,D,j,W,ue),T.ref!==D.ref&&(D.effectTag|=128);else if(W){if(T=ua(uo.current),ja(D)){if(W=D,!y)throw Error(n(175));T=op(W.stateNode,W.type,W.memoizedProps,ue,T,W),W.updateQueue=T,T=T!==null,T&&ha(D)}else{var De=dt(j,W,ue,T,D);vc(De,D,!1,!1),D.stateNode=De,at(De,j,W,ue,T)&&ha(D)}D.ref!==null&&(D.effectTag|=128)}else if(D.stateNode===null)throw Error(n(166));break;case 6:if(T&&D.stateNode!=null)qr(T,D,T.memoizedProps,W);else{if(typeof W!="string"&&D.stateNode===null)throw Error(n(166));if(T=ua(mc.current),ue=ua(uo.current),ja(D)){if(T=D,!y)throw Error(n(176));(T=ap(T.stateNode,T.memoizedProps,T))&&ha(D)}else D.stateNode=He(W,T,ue,D)}break;case 11:break;case 13:if(Kn(Xn,D),W=D.memoizedState,(D.effectTag&64)!==0){D.expirationTime=j;break e}W=W!==null,ue=!1,T===null?D.memoizedProps.fallback!==void 0&&ja(D):(j=T.memoizedState,ue=j!==null,W||j===null||(j=T.child.sibling,j!==null&&(De=D.firstEffect,De!==null?(D.firstEffect=j,j.nextEffect=De):(D.firstEffect=D.lastEffect=j,j.nextEffect=null),j.effectTag=8))),W&&!ue&&(D.mode&2)!==0&&(T===null&&D.memoizedProps.unstable_avoidThisFallback!==!0||(Xn.current&1)!==0?Wi===Du&&(Wi=ga):((Wi===Du||Wi===ga)&&(Wi=Bl),Ep!==0&&hi!==null&&(KA(hi,rs),$v(hi,Ep)))),P&&W&&(D.effectTag|=4),C&&(W||ue)&&(D.effectTag|=4);break;case 7:break;case 8:break;case 12:break;case 4:yc(D),Il(D);break;case 10:wi(D);break;case 9:break;case 14:break;case 17:ni(D.type)&&Ma(D);break;case 19:if(Kn(Xn,D),W=D.memoizedState,W===null)break;if(ue=(D.effectTag&64)!==0,De=W.rendering,De===null){if(ue)Dc(W,!1);else if(Wi!==Du||T!==null&&(T.effectTag&64)!==0)for(T=D.child;T!==null;){if(De=up(T),De!==null){for(D.effectTag|=64,Dc(W,!1),T=De.updateQueue,T!==null&&(D.updateQueue=T,D.effectTag|=4),W.lastEffect===null&&(D.firstEffect=null),D.lastEffect=W.lastEffect,T=j,W=D.child;W!==null;)ue=W,j=T,ue.effectTag&=2,ue.nextEffect=null,ue.firstEffect=null,ue.lastEffect=null,De=ue.alternate,De===null?(ue.childExpirationTime=0,ue.expirationTime=j,ue.child=null,ue.memoizedProps=null,ue.memoizedState=null,ue.updateQueue=null,ue.dependencies=null):(ue.childExpirationTime=De.childExpirationTime,ue.expirationTime=De.expirationTime,ue.child=De.child,ue.memoizedProps=De.memoizedProps,ue.memoizedState=De.memoizedState,ue.updateQueue=De.updateQueue,j=De.dependencies,ue.dependencies=j===null?null:{expirationTime:j.expirationTime,firstContext:j.firstContext,responders:j.responders}),W=W.sibling;Ln(Xn,Xn.current&1|2,D),D=D.child;break e}T=T.sibling}}else{if(!ue)if(T=up(De),T!==null){if(D.effectTag|=64,ue=!0,T=T.updateQueue,T!==null&&(D.updateQueue=T,D.effectTag|=4),Dc(W,!0),W.tail===null&&W.tailMode==="hidden"&&!De.alternate){D=D.lastEffect=W.lastEffect,D!==null&&(D.nextEffect=null);break}}else Oi()>W.tailExpiration&&1<j&&(D.effectTag|=64,ue=!0,Dc(W,!1),D.expirationTime=D.childExpirationTime=j-1);W.isBackwards?(De.sibling=D.child,D.child=De):(T=W.last,T!==null?T.sibling=De:D.child=De,W.last=De)}if(W.tail!==null){W.tailExpiration===0&&(W.tailExpiration=Oi()+500),T=W.tail,W.rendering=T,W.tail=T.sibling,W.lastEffect=D.lastEffect,T.sibling=null,W=Xn.current,W=ue?W&1|2:W&1,Ln(Xn,W,D),D=T;break e}break;case 20:break;case 21:break;default:throw Error(n(156,D.tag))}D=null}if(T=Lr,rs===1||T.childExpirationTime!==1){for(W=0,ue=T.child;ue!==null;)j=ue.expirationTime,De=ue.childExpirationTime,j>W&&(W=j),De>W&&(W=De),ue=ue.sibling;T.childExpirationTime=W}if(D!==null)return D;S!==null&&(S.effectTag&2048)===0&&(S.firstEffect===null&&(S.firstEffect=Lr.firstEffect),Lr.lastEffect!==null&&(S.lastEffect!==null&&(S.lastEffect.nextEffect=Lr.firstEffect),S.lastEffect=Lr.lastEffect),1<Lr.effectTag&&(S.lastEffect!==null?S.lastEffect.nextEffect=Lr:S.firstEffect=Lr,S.lastEffect=Lr))}else{if(D=yC(Lr,rs),D!==null)return D.effectTag&=2047,D;S!==null&&(S.firstEffect=S.lastEffect=null,S.effectTag|=2048)}if(D=Lr.sibling,D!==null)return D;Lr=S}while(Lr!==null);return Wi===Du&&(Wi=Sc),null}function SC(S){var D=S.expirationTime;return S=S.childExpirationTime,D>S?D:S}function bu(S){var D=_o();return lo(99,pF.bind(null,S,D)),null}function pF(S,D){do Cp();while(Cg!==null);if((mr&(ts|Gs))!==yn)throw Error(n(327));var T=S.finishedWork,j=S.finishedExpirationTime;if(T===null)return null;if(S.finishedWork=null,S.finishedExpirationTime=0,T===S.current)throw Error(n(177));S.callbackNode=null,S.callbackExpirationTime=0,S.callbackPriority=90,S.nextKnownPendingLevel=0;var W=SC(T);if(S.firstPendingTime=W,j<=S.lastSuspendedTime?S.firstSuspendedTime=S.lastSuspendedTime=S.nextKnownPendingLevel=0:j<=S.firstSuspendedTime&&(S.firstSuspendedTime=j-1),j<=S.lastPingedTime&&(S.lastPingedTime=0),j<=S.lastExpiredTime&&(S.lastExpiredTime=0),S===hi&&(Lr=hi=null,rs=0),1<T.effectTag?T.lastEffect!==null?(T.lastEffect.nextEffect=T,W=T.firstEffect):W=T:W=T.firstEffect,W!==null){var ue=mr;mr|=Gs,wC.current=null,Ee(S.containerInfo),ir=W;do try{hF()}catch(ho){if(ir===null)throw Error(n(330));YA(ir,ho),ir=ir.nextEffect}while(ir!==null);ir=W;do try{for(var De=S,vt=D;ir!==null;){var Ct=ir.effectTag;if(Ct&16&&C&&jt(ir.stateNode),Ct&128){var bt=ir.alternate;if(bt!==null){var Ur=bt.ref;Ur!==null&&(typeof Ur=="function"?Ur(null):Ur.current=null)}}switch(Ct&1038){case 2:Ar(ir),ir.effectTag&=-3;break;case 6:Ar(ir),ir.effectTag&=-3,mn(ir.alternate,ir);break;case 1024:ir.effectTag&=-1025;break;case 1028:ir.effectTag&=-1025,mn(ir.alternate,ir);break;case 4:mn(ir.alternate,ir);break;case 8:var ns=De,gi=ir,po=vt;C?Er(ns,gi,po):re(ns,gi,po),pe(gi)}ir=ir.nextEffect}}catch(ho){if(ir===null)throw Error(n(330));YA(ir,ho),ir=ir.nextEffect}while(ir!==null);Re(S.containerInfo),S.current=T,ir=W;do try{for(Ct=j;ir!==null;){var JA=ir.effectTag;if(JA&36){var Yo=ir.alternate;switch(bt=ir,Ur=Ct,bt.tag){case 0:case 11:case 15:L(16,32,bt);break;case 1:var rt=bt.stateNode;if(bt.effectTag&4)if(Yo===null)rt.componentDidMount();else{var Je=bt.elementType===bt.type?Yo.memoizedProps:Ei(bt.type,Yo.memoizedProps);rt.componentDidUpdate(Je,Yo.memoizedState,rt.__reactInternalSnapshotBeforeUpdate)}var At=bt.updateQueue;At!==null&&Oe(bt,At,rt,Ur);break;case 3:var Wt=bt.updateQueue;if(Wt!==null){if(De=null,bt.child!==null)switch(bt.child.tag){case 5:De=ce(bt.child.stateNode);break;case 1:De=bt.child.stateNode}Oe(bt,Wt,De,Ur)}break;case 5:var Br=bt.stateNode;Yo===null&&bt.effectTag&4&&Z(Br,bt.type,bt.memoizedProps,bt);break;case 6:break;case 4:break;case 12:break;case 13:if(y&&bt.memoizedState===null){var Sn=bt.alternate;if(Sn!==null){var kr=Sn.memoizedState;if(kr!==null){var Pn=kr.dehydrated;Pn!==null&&oo(Pn)}}}break;case 19:case 17:case 20:case 21:break;default:throw Error(n(163))}}if(JA&128){bt=void 0;var oi=ir.ref;if(oi!==null){var $r=ir.stateNode;switch(ir.tag){case 5:bt=ce($r);break;default:bt=$r}typeof oi=="function"?oi(bt):oi.current=bt}}ir=ir.nextEffect}}catch(ho){if(ir===null)throw Error(n(330));YA(ir,ho),ir=ir.nextEffect}while(ir!==null);ir=null,Qn(),mr=ue}else S.current=T;if(wp)wp=!1,Cg=S,_A=D;else for(ir=W;ir!==null;)D=ir.nextEffect,ir.nextEffect=null,ir=D;if(D=S.firstPendingTime,D===0&&(Pu=null),D===1073741823?S===BC?Ig++:(Ig=0,BC=S):Ig=0,typeof PC=="function"&&PC(T.stateNode,j),fo(S),Su)throw Su=!1,S=Om,Om=null,S;return(mr&Rm)!==yn||qi(),null}function hF(){for(;ir!==null;){var S=ir.effectTag;(S&256)!==0&&kt(ir.alternate,ir),(S&512)===0||wp||(wp=!0,gc(97,function(){return Cp(),null})),ir=ir.nextEffect}}function Cp(){if(_A!==90){var S=97<_A?97:_A;return _A=90,lo(S,gF)}}function gF(){if(Cg===null)return!1;var S=Cg;if(Cg=null,(mr&(ts|Gs))!==yn)throw Error(n(331));var D=mr;for(mr|=Gs,S=S.current.firstEffect;S!==null;){try{var T=S;if((T.effectTag&512)!==0)switch(T.tag){case 0:case 11:case 15:L(128,0,T),L(0,64,T)}}catch(j){if(S===null)throw Error(n(330));YA(S,j)}T=S.nextEffect,S.nextEffect=null,S=T}return mr=D,qi(),!0}function zv(S,D,T){D=mg(T,D),D=qv(S,D,1073741823),tt(S,D),S=Bg(S,1073741823),S!==null&&fo(S)}function YA(S,D){if(S.tag===3)zv(S,S,D);else for(var T=S.return;T!==null;){if(T.tag===3){zv(T,S,D);break}else if(T.tag===1){var j=T.stateNode;if(typeof T.type.getDerivedStateFromError=="function"||typeof j.componentDidCatch=="function"&&(Pu===null||!Pu.has(j))){S=mg(D,S),S=Gv(T,S,1073741823),tt(T,S),T=Bg(T,1073741823),T!==null&&fo(T);break}}T=T.return}}function dF(S,D,T){var j=S.pingCache;j!==null&&j.delete(D),hi===S&&rs===T?Wi===Bl||Wi===ga&&Ya===1073741823&&Oi()-CC<IC?xu(S,rs):UA=!0:Zv(S,T)&&(D=S.lastPingedTime,D!==0&&D<T||(S.lastPingedTime=T,S.finishedExpirationTime===T&&(S.finishedExpirationTime=0,S.finishedWork=null),fo(S)))}function mF(S,D){var T=S.stateNode;T!==null&&T.delete(D),D=0,D===0&&(D=da(),D=jA(D,S,null)),S=Bg(S,D),S!==null&&fo(S)}var Xv;Xv=function(S,D,T){var j=D.expirationTime;if(S!==null){var W=D.pendingProps;if(S.memoizedProps!==W||Hi.current)qo=!0;else{if(j<T){switch(qo=!1,D.tag){case 3:dg(D),gg();break;case 5:if(Sm(D),D.mode&4&&T!==1&&ke(D.type,W))return D.expirationTime=D.childExpirationTime=1,null;break;case 1:ni(D.type)&&Ac(D);break;case 4:ig(D,D.stateNode.containerInfo);break;case 10:Ho(D,D.memoizedProps.value);break;case 13:if(D.memoizedState!==null)return j=D.child.childExpirationTime,j!==0&&j>=T?an(S,D,T):(Ln(Xn,Xn.current&1,D),D=ii(S,D,T),D!==null?D.sibling:null);Ln(Xn,Xn.current&1,D);break;case 19:if(j=D.childExpirationTime>=T,(S.effectTag&64)!==0){if(j)return qa(S,D,T);D.effectTag|=64}if(W=D.memoizedState,W!==null&&(W.rendering=null,W.tail=null),Ln(Xn,Xn.current,D),!j)return null}return ii(S,D,T)}qo=!1}}else qo=!1;switch(D.expirationTime=0,D.tag){case 2:if(j=D.type,S!==null&&(S.alternate=null,D.alternate=null,D.effectTag|=2),S=D.pendingProps,W=Li(D,On.current),ms(D,T),W=ag(null,D,j,S,W,T),D.effectTag|=1,typeof W=="object"&&W!==null&&typeof W.render=="function"&&W.$$typeof===void 0){if(D.tag=1,dC(),ni(j)){var ue=!0;Ac(D)}else ue=!1;D.memoizedState=W.state!==null&&W.state!==void 0?W.state:null;var De=j.getDerivedStateFromProps;typeof De=="function"&&er(D,j,De,S),W.updater=Xr,D.stateNode=W,W._reactInternalFiber=D,jo(D,j,S,T),D=dp(null,D,j,!0,ue,T)}else D.tag=0,Is(null,D,W,T),D=D.child;return D;case 16:if(W=D.elementType,S!==null&&(S.alternate=null,D.alternate=null,D.effectTag|=2),S=D.pendingProps,ge(W),W._status!==1)throw W._result;switch(W=W._result,D.type=W,ue=D.tag=wF(W),S=Ei(W,S),ue){case 0:D=LA(null,D,W,S,T);break;case 1:D=gp(null,D,W,S,T);break;case 11:D=Ci(null,D,W,S,T);break;case 14:D=Qm(null,D,W,Ei(W.type,S),j,T);break;default:throw Error(n(306,W,""))}return D;case 0:return j=D.type,W=D.pendingProps,W=D.elementType===j?W:Ei(j,W),LA(S,D,j,W,T);case 1:return j=D.type,W=D.pendingProps,W=D.elementType===j?W:Ei(j,W),gp(S,D,j,W,T);case 3:if(dg(D),j=D.updateQueue,j===null)throw Error(n(282));if(W=D.memoizedState,W=W!==null?W.element:null,me(D,j,D.pendingProps,null,T),j=D.memoizedState.element,j===W)gg(),D=ii(S,D,T);else{if((W=D.stateNode.hydrate)&&(y?(Bc=Au(D.stateNode.containerInfo),fa=D,W=Cl=!0):W=!1),W)for(T=ng(D,null,j,T),D.child=T;T;)T.effectTag=T.effectTag&-3|1024,T=T.sibling;else Is(S,D,j,T),gg();D=D.child}return D;case 5:return Sm(D),S===null&&NA(D),j=D.type,W=D.pendingProps,ue=S!==null?S.memoizedProps:null,De=W.children,Qe(j,W)?De=null:ue!==null&&Qe(j,ue)&&(D.effectTag|=16),Go(S,D),D.mode&4&&T!==1&&ke(j,W)?(D.expirationTime=D.childExpirationTime=1,D=null):(Is(S,D,De,T),D=D.child),D;case 6:return S===null&&NA(D),null;case 13:return an(S,D,T);case 4:return ig(D,D.stateNode.containerInfo),j=D.pendingProps,S===null?D.child=mu(D,null,j,T):Is(S,D,j,T),D.child;case 11:return j=D.type,W=D.pendingProps,W=D.elementType===j?W:Ei(j,W),Ci(S,D,j,W,T);case 7:return Is(S,D,D.pendingProps,T),D.child;case 8:return Is(S,D,D.pendingProps.children,T),D.child;case 12:return Is(S,D,D.pendingProps.children,T),D.child;case 10:e:{if(j=D.type._context,W=D.pendingProps,De=D.memoizedProps,ue=W.value,Ho(D,ue),De!==null){var vt=De.value;if(ue=gs(vt,ue)?0:(typeof j._calculateChangedBits=="function"?j._calculateChangedBits(vt,ue):1073741823)|0,ue===0){if(De.children===W.children&&!Hi.current){D=ii(S,D,T);break e}}else for(vt=D.child,vt!==null&&(vt.return=D);vt!==null;){var Ct=vt.dependencies;if(Ct!==null){De=vt.child;for(var bt=Ct.firstContext;bt!==null;){if(bt.context===j&&(bt.observedBits&ue)!==0){vt.tag===1&&(bt=Es(T,null),bt.tag=2,tt(vt,bt)),vt.expirationTime<T&&(vt.expirationTime=T),bt=vt.alternate,bt!==null&&bt.expirationTime<T&&(bt.expirationTime=T),ds(vt.return,T),Ct.expirationTime<T&&(Ct.expirationTime=T);break}bt=bt.next}}else De=vt.tag===10&&vt.type===D.type?null:vt.child;if(De!==null)De.return=vt;else for(De=vt;De!==null;){if(De===D){De=null;break}if(vt=De.sibling,vt!==null){vt.return=De.return,De=vt;break}De=De.return}vt=De}}Is(S,D,W.children,T),D=D.child}return D;case 9:return W=D.type,ue=D.pendingProps,j=ue.children,ms(D,T),W=ys(W,ue.unstable_observedBits),j=j(W),D.effectTag|=1,Is(S,D,j,T),D.child;case 14:return W=D.type,ue=Ei(W,D.pendingProps),ue=Ei(W.type,ue),Qm(S,D,W,ue,j,T);case 15:return km(S,D,D.type,D.pendingProps,j,T);case 17:return j=D.type,W=D.pendingProps,W=D.elementType===j?W:Ei(j,W),S!==null&&(S.alternate=null,D.alternate=null,D.effectTag|=2),D.tag=1,ni(j)?(S=!0,Ac(D)):S=!1,ms(D,T),$i(D,j,W,T),jo(D,j,W,T),dp(null,D,j,!0,S,T);case 19:return qa(S,D,T)}throw Error(n(156,D.tag))};var PC=null,xC=null;function yF(S){if(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__>"u")return!1;var D=__REACT_DEVTOOLS_GLOBAL_HOOK__;if(D.isDisabled||!D.supportsFiber)return!0;try{var T=D.inject(S);PC=function(j){try{D.onCommitFiberRoot(T,j,void 0,(j.current.effectTag&64)===64)}catch{}},xC=function(j){try{D.onCommitFiberUnmount(T,j)}catch{}}}catch{}return!0}function EF(S,D,T,j){this.tag=S,this.key=T,this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null,this.index=0,this.ref=null,this.pendingProps=D,this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null,this.mode=j,this.effectTag=0,this.lastEffect=this.firstEffect=this.nextEffect=null,this.childExpirationTime=this.expirationTime=0,this.alternate=null}function vl(S,D,T,j){return new EF(S,D,T,j)}function bC(S){return S=S.prototype,!(!S||!S.isReactComponent)}function wF(S){if(typeof S=="function")return bC(S)?1:0;if(S!=null){if(S=S.$$typeof,S===N)return 11;if(S===ee)return 14}return 2}function WA(S,D){var T=S.alternate;return T===null?(T=vl(S.tag,D,S.key,S.mode),T.elementType=S.elementType,T.type=S.type,T.stateNode=S.stateNode,T.alternate=S,S.alternate=T):(T.pendingProps=D,T.effectTag=0,T.nextEffect=null,T.firstEffect=null,T.lastEffect=null),T.childExpirationTime=S.childExpirationTime,T.expirationTime=S.expirationTime,T.child=S.child,T.memoizedProps=S.memoizedProps,T.memoizedState=S.memoizedState,T.updateQueue=S.updateQueue,D=S.dependencies,T.dependencies=D===null?null:{expirationTime:D.expirationTime,firstContext:D.firstContext,responders:D.responders},T.sibling=S.sibling,T.index=S.index,T.ref=S.ref,T}function Hm(S,D,T,j,W,ue){var De=2;if(j=S,typeof S=="function")bC(S)&&(De=1);else if(typeof S=="string")De=5;else e:switch(S){case w:return Qu(T.children,W,ue,D);case R:De=8,W|=7;break;case I:De=8,W|=1;break;case v:return S=vl(12,T,D,W|8),S.elementType=v,S.type=v,S.expirationTime=ue,S;case U:return S=vl(13,T,D,W),S.type=U,S.elementType=U,S.expirationTime=ue,S;case V:return S=vl(19,T,D,W),S.elementType=V,S.expirationTime=ue,S;default:if(typeof S=="object"&&S!==null)switch(S.$$typeof){case b:De=10;break e;case E:De=9;break e;case N:De=11;break e;case ee:De=14;break e;case le:De=16,j=null;break e}throw Error(n(130,S==null?S:typeof S,""))}return D=vl(De,T,D,W),D.elementType=S,D.type=j,D.expirationTime=ue,D}function Qu(S,D,T,j){return S=vl(7,S,j,D),S.expirationTime=T,S}function QC(S,D,T){return S=vl(6,S,null,D),S.expirationTime=T,S}function kC(S,D,T){return D=vl(4,S.children!==null?S.children:[],S.key,D),D.expirationTime=T,D.stateNode={containerInfo:S.containerInfo,pendingChildren:null,implementation:S.implementation},D}function CF(S,D,T){this.tag=D,this.current=null,this.containerInfo=S,this.pingCache=this.pendingChildren=null,this.finishedExpirationTime=0,this.finishedWork=null,this.timeoutHandle=je,this.pendingContext=this.context=null,this.hydrate=T,this.callbackNode=null,this.callbackPriority=90,this.lastExpiredTime=this.lastPingedTime=this.nextKnownPendingLevel=this.lastSuspendedTime=this.firstSuspendedTime=this.firstPendingTime=0}function Zv(S,D){var T=S.firstSuspendedTime;return S=S.lastSuspendedTime,T!==0&&T>=D&&S<=D}function KA(S,D){var T=S.firstSuspendedTime,j=S.lastSuspendedTime;T<D&&(S.firstSuspendedTime=D),(j>D||T===0)&&(S.lastSuspendedTime=D),D<=S.lastPingedTime&&(S.lastPingedTime=0),D<=S.lastExpiredTime&&(S.lastExpiredTime=0)}function $v(S,D){D>S.firstPendingTime&&(S.firstPendingTime=D);var T=S.firstSuspendedTime;T!==0&&(D>=T?S.firstSuspendedTime=S.lastSuspendedTime=S.nextKnownPendingLevel=0:D>=S.lastSuspendedTime&&(S.lastSuspendedTime=D+1),D>S.nextKnownPendingLevel&&(S.nextKnownPendingLevel=D))}function jm(S,D){var T=S.lastExpiredTime;(T===0||T>D)&&(S.lastExpiredTime=D)}function eD(S){var D=S._reactInternalFiber;if(D===void 0)throw typeof S.render=="function"?Error(n(188)):Error(n(268,Object.keys(S)));return S=we(D),S===null?null:S.stateNode}function tD(S,D){S=S.memoizedState,S!==null&&S.dehydrated!==null&&S.retryTime<D&&(S.retryTime=D)}function qm(S,D){tD(S,D),(S=S.alternate)&&tD(S,D)}var rD={createContainer:function(S,D,T){return S=new CF(S,D,T),D=vl(3,null,null,D===2?7:D===1?3:0),S.current=D,D.stateNode=S},updateContainer:function(S,D,T,j){var W=D.current,ue=da(),De=pt.suspense;ue=jA(ue,W,De);e:if(T){T=T._reactInternalFiber;t:{if(Be(T)!==T||T.tag!==1)throw Error(n(170));var vt=T;do{switch(vt.tag){case 3:vt=vt.stateNode.context;break t;case 1:if(ni(vt.type)){vt=vt.stateNode.__reactInternalMemoizedMergedChildContext;break t}}vt=vt.return}while(vt!==null);throw Error(n(171))}if(T.tag===1){var Ct=T.type;if(ni(Ct)){T=fu(T,Ct,vt);break e}}T=vt}else T=Ni;return D.context===null?D.context=T:D.pendingContext=T,D=Es(ue,De),D.payload={element:S},j=j===void 0?null:j,j!==null&&(D.callback=j),tt(W,D),Pc(W,ue),ue},batchedEventUpdates:function(S,D){var T=mr;mr|=2;try{return S(D)}finally{mr=T,mr===yn&&qi()}},batchedUpdates:function(S,D){var T=mr;mr|=1;try{return S(D)}finally{mr=T,mr===yn&&qi()}},unbatchedUpdates:function(S,D){var T=mr;mr&=-2,mr|=Rm;try{return S(D)}finally{mr=T,mr===yn&&qi()}},deferredUpdates:function(S){return lo(97,S)},syncUpdates:function(S,D,T,j){return lo(99,S.bind(null,D,T,j))},discreteUpdates:function(S,D,T,j){var W=mr;mr|=4;try{return lo(98,S.bind(null,D,T,j))}finally{mr=W,mr===yn&&qi()}},flushDiscreteUpdates:function(){(mr&(1|ts|Gs))===yn&&(uF(),Cp())},flushControlled:function(S){var D=mr;mr|=1;try{lo(99,S)}finally{mr=D,mr===yn&&qi()}},flushSync:Kv,flushPassiveEffects:Cp,IsThisRendererActing:{current:!1},getPublicRootInstance:function(S){if(S=S.current,!S.child)return null;switch(S.child.tag){case 5:return ce(S.child.stateNode);default:return S.child.stateNode}},attemptSynchronousHydration:function(S){switch(S.tag){case 3:var D=S.stateNode;D.hydrate&&Wv(D,D.firstPendingTime);break;case 13:Kv(function(){return Pc(S,1073741823)}),D=Ua(da(),150,100),qm(S,D)}},attemptUserBlockingHydration:function(S){if(S.tag===13){var D=Ua(da(),150,100);Pc(S,D),qm(S,D)}},attemptContinuousHydration:function(S){if(S.tag===13){da();var D=bA++;Pc(S,D),qm(S,D)}},attemptHydrationAtCurrentPriority:function(S){if(S.tag===13){var D=da();D=jA(D,S,null),Pc(S,D),qm(S,D)}},findHostInstance:eD,findHostInstanceWithWarning:function(S){return eD(S)},findHostInstanceWithNoPortals:function(S){return S=Se(S),S===null?null:S.tag===20?S.stateNode.instance:S.stateNode},shouldSuspend:function(){return!1},injectIntoDevTools:function(S){var D=S.findFiberByHostInstance;return yF(r({},S,{overrideHookState:null,overrideProps:null,setSuspenseHandler:null,scheduleUpdate:null,currentDispatcherRef:u.ReactCurrentDispatcher,findHostInstanceByFiber:function(T){return T=we(T),T===null?null:T.stateNode},findFiberByHostInstance:function(T){return D?D(T):null},findHostInstancesForRefresh:null,scheduleRefresh:null,scheduleRoot:null,setRefreshHandler:null,getCurrentFiber:null}))}};sB.exports=rD.default||rD;var IF=sB.exports;return sB.exports=e,IF}});var vEe=_((zWt,BEe)=>{"use strict";BEe.exports=IEe()});var SEe=_((XWt,DEe)=>{"use strict";var Byt={ALIGN_COUNT:8,ALIGN_AUTO:0,ALIGN_FLEX_START:1,ALIGN_CENTER:2,ALIGN_FLEX_END:3,ALIGN_STRETCH:4,ALIGN_BASELINE:5,ALIGN_SPACE_BETWEEN:6,ALIGN_SPACE_AROUND:7,DIMENSION_COUNT:2,DIMENSION_WIDTH:0,DIMENSION_HEIGHT:1,DIRECTION_COUNT:3,DIRECTION_INHERIT:0,DIRECTION_LTR:1,DIRECTION_RTL:2,DISPLAY_COUNT:2,DISPLAY_FLEX:0,DISPLAY_NONE:1,EDGE_COUNT:9,EDGE_LEFT:0,EDGE_TOP:1,EDGE_RIGHT:2,EDGE_BOTTOM:3,EDGE_START:4,EDGE_END:5,EDGE_HORIZONTAL:6,EDGE_VERTICAL:7,EDGE_ALL:8,EXPERIMENTAL_FEATURE_COUNT:1,EXPERIMENTAL_FEATURE_WEB_FLEX_BASIS:0,FLEX_DIRECTION_COUNT:4,FLEX_DIRECTION_COLUMN:0,FLEX_DIRECTION_COLUMN_REVERSE:1,FLEX_DIRECTION_ROW:2,FLEX_DIRECTION_ROW_REVERSE:3,JUSTIFY_COUNT:6,JUSTIFY_FLEX_START:0,JUSTIFY_CENTER:1,JUSTIFY_FLEX_END:2,JUSTIFY_SPACE_BETWEEN:3,JUSTIFY_SPACE_AROUND:4,JUSTIFY_SPACE_EVENLY:5,LOG_LEVEL_COUNT:6,LOG_LEVEL_ERROR:0,LOG_LEVEL_WARN:1,LOG_LEVEL_INFO:2,LOG_LEVEL_DEBUG:3,LOG_LEVEL_VERBOSE:4,LOG_LEVEL_FATAL:5,MEASURE_MODE_COUNT:3,MEASURE_MODE_UNDEFINED:0,MEASURE_MODE_EXACTLY:1,MEASURE_MODE_AT_MOST:2,NODE_TYPE_COUNT:2,NODE_TYPE_DEFAULT:0,NODE_TYPE_TEXT:1,OVERFLOW_COUNT:3,OVERFLOW_VISIBLE:0,OVERFLOW_HIDDEN:1,OVERFLOW_SCROLL:2,POSITION_TYPE_COUNT:2,POSITION_TYPE_RELATIVE:0,POSITION_TYPE_ABSOLUTE:1,PRINT_OPTIONS_COUNT:3,PRINT_OPTIONS_LAYOUT:1,PRINT_OPTIONS_STYLE:2,PRINT_OPTIONS_CHILDREN:4,UNIT_COUNT:4,UNIT_UNDEFINED:0,UNIT_POINT:1,UNIT_PERCENT:2,UNIT_AUTO:3,WRAP_COUNT:3,WRAP_NO_WRAP:0,WRAP_WRAP:1,WRAP_WRAP_REVERSE:2};DEe.exports=Byt});var QEe=_((ZWt,bEe)=>{"use strict";var vyt=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var o in r)Object.prototype.hasOwnProperty.call(r,o)&&(e[o]=r[o])}return e},GQ=function(){function e(t,r){for(var o=0;o<r.length;o++){var a=r[o];a.enumerable=a.enumerable||!1,a.configurable=!0,"value"in a&&(a.writable=!0),Object.defineProperty(t,a.key,a)}}return function(t,r,o){return r&&e(t.prototype,r),o&&e(t,o),t}}();function v6(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function D6(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}var nu=SEe(),Dyt=function(){function e(t,r,o,a,n,u){D6(this,e),this.left=t,this.right=r,this.top=o,this.bottom=a,this.width=n,this.height=u}return GQ(e,[{key:"fromJS",value:function(r){r(this.left,this.right,this.top,this.bottom,this.width,this.height)}},{key:"toString",value:function(){return"<Layout#"+this.left+":"+this.right+";"+this.top+":"+this.bottom+";"+this.width+":"+this.height+">"}}]),e}(),PEe=function(){GQ(e,null,[{key:"fromJS",value:function(r){var o=r.width,a=r.height;return new e(o,a)}}]);function e(t,r){D6(this,e),this.width=t,this.height=r}return GQ(e,[{key:"fromJS",value:function(r){r(this.width,this.height)}},{key:"toString",value:function(){return"<Size#"+this.width+"x"+this.height+">"}}]),e}(),xEe=function(){function e(t,r){D6(this,e),this.unit=t,this.value=r}return GQ(e,[{key:"fromJS",value:function(r){r(this.unit,this.value)}},{key:"toString",value:function(){switch(this.unit){case nu.UNIT_POINT:return String(this.value);case nu.UNIT_PERCENT:return this.value+"%";case nu.UNIT_AUTO:return"auto";default:return this.value+"?"}}},{key:"valueOf",value:function(){return this.value}}]),e}();bEe.exports=function(e,t){function r(u,A,p){var h=u[A];u[A]=function(){for(var w=arguments.length,I=Array(w),v=0;v<w;v++)I[v]=arguments[v];return p.call.apply(p,[this,h].concat(I))}}for(var o=["setPosition","setMargin","setFlexBasis","setWidth","setHeight","setMinWidth","setMinHeight","setMaxWidth","setMaxHeight","setPadding"],a=function(){var A,p=o[n],h=(A={},v6(A,nu.UNIT_POINT,t.Node.prototype[p]),v6(A,nu.UNIT_PERCENT,t.Node.prototype[p+"Percent"]),v6(A,nu.UNIT_AUTO,t.Node.prototype[p+"Auto"]),A);r(t.Node.prototype,p,function(w){for(var I=arguments.length,v=Array(I>1?I-1:0),b=1;b<I;b++)v[b-1]=arguments[b];var E=v.pop(),R=void 0,N=void 0;if(E==="auto")R=nu.UNIT_AUTO,N=void 0;else if(E instanceof xEe)R=E.unit,N=E.valueOf();else if(R=typeof E=="string"&&E.endsWith("%")?nu.UNIT_PERCENT:nu.UNIT_POINT,N=parseFloat(E),!Number.isNaN(E)&&Number.isNaN(N))throw new Error("Invalid value "+E+" for "+p);if(!h[R])throw new Error('Failed to execute "'+p+`": Unsupported unit '`+E+"'");if(N!==void 0){var U;return(U=h[R]).call.apply(U,[this].concat(v,[N]))}else{var V;return(V=h[R]).call.apply(V,[this].concat(v))}})},n=0;n<o.length;n++)a();return r(t.Config.prototype,"free",function(){t.Config.destroy(this)}),r(t.Node,"create",function(u,A){return A?t.Node.createWithConfig(A):t.Node.createDefault()}),r(t.Node.prototype,"free",function(){t.Node.destroy(this)}),r(t.Node.prototype,"freeRecursive",function(){for(var u=0,A=this.getChildCount();u<A;++u)this.getChild(0).freeRecursive();this.free()}),r(t.Node.prototype,"setMeasureFunc",function(u,A){return A?u.call(this,function(){return PEe.fromJS(A.apply(void 0,arguments))}):this.unsetMeasureFunc()}),r(t.Node.prototype,"calculateLayout",function(u){var A=arguments.length>1&&arguments[1]!==void 0?arguments[1]:NaN,p=arguments.length>2&&arguments[2]!==void 0?arguments[2]:NaN,h=arguments.length>3&&arguments[3]!==void 0?arguments[3]:nu.DIRECTION_LTR;return u.call(this,A,p,h)}),vyt({Config:t.Config,Node:t.Node,Layout:e("Layout",Dyt),Size:e("Size",PEe),Value:e("Value",xEe),getInstanceCount:function(){return t.getInstanceCount.apply(t,arguments)}},nu)}});var kEe=_((exports,module)=>{(function(e,t){typeof define=="function"&&define.amd?define([],function(){return t}):typeof module=="object"&&module.exports?module.exports=t:(e.nbind=e.nbind||{}).init=t})(exports,function(Module,cb){typeof Module=="function"&&(cb=Module,Module={}),Module.onRuntimeInitialized=function(e,t){return function(){e&&e.apply(this,arguments);try{Module.ccall("nbind_init")}catch(r){t(r);return}t(null,{bind:Module._nbind_value,reflect:Module.NBind.reflect,queryType:Module.NBind.queryType,toggleLightGC:Module.toggleLightGC,lib:Module})}}(Module.onRuntimeInitialized,cb);var Module;Module||(Module=(typeof Module<"u"?Module:null)||{});var moduleOverrides={};for(var key in Module)Module.hasOwnProperty(key)&&(moduleOverrides[key]=Module[key]);var ENVIRONMENT_IS_WEB=!1,ENVIRONMENT_IS_WORKER=!1,ENVIRONMENT_IS_NODE=!1,ENVIRONMENT_IS_SHELL=!1;if(Module.ENVIRONMENT)if(Module.ENVIRONMENT==="WEB")ENVIRONMENT_IS_WEB=!0;else if(Module.ENVIRONMENT==="WORKER")ENVIRONMENT_IS_WORKER=!0;else if(Module.ENVIRONMENT==="NODE")ENVIRONMENT_IS_NODE=!0;else if(Module.ENVIRONMENT==="SHELL")ENVIRONMENT_IS_SHELL=!0;else throw new Error("The provided Module['ENVIRONMENT'] value is not valid. It must be one of: WEB|WORKER|NODE|SHELL.");else ENVIRONMENT_IS_WEB=typeof window=="object",ENVIRONMENT_IS_WORKER=typeof importScripts=="function",ENVIRONMENT_IS_NODE=typeof process=="object"&&typeof Ie=="function"&&!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_WORKER,ENVIRONMENT_IS_SHELL=!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_NODE&&!ENVIRONMENT_IS_WORKER;if(ENVIRONMENT_IS_NODE){Module.print||(Module.print=console.log),Module.printErr||(Module.printErr=console.warn);var nodeFS,nodePath;Module.read=function(t,r){nodeFS||(nodeFS={}("")),nodePath||(nodePath={}("")),t=nodePath.normalize(t);var o=nodeFS.readFileSync(t);return r?o:o.toString()},Module.readBinary=function(t){var r=Module.read(t,!0);return r.buffer||(r=new Uint8Array(r)),assert(r.buffer),r},Module.load=function(t){globalEval(read(t))},Module.thisProgram||(process.argv.length>1?Module.thisProgram=process.argv[1].replace(/\\/g,"/"):Module.thisProgram="unknown-program"),Module.arguments=process.argv.slice(2),typeof module<"u"&&(module.exports=Module),Module.inspect=function(){return"[Emscripten Module object]"}}else if(ENVIRONMENT_IS_SHELL)Module.print||(Module.print=print),typeof printErr<"u"&&(Module.printErr=printErr),typeof read<"u"?Module.read=read:Module.read=function(){throw"no read() available"},Module.readBinary=function(t){if(typeof readbuffer=="function")return new Uint8Array(readbuffer(t));var r=read(t,"binary");return assert(typeof r=="object"),r},typeof scriptArgs<"u"?Module.arguments=scriptArgs:typeof arguments<"u"&&(Module.arguments=arguments),typeof quit=="function"&&(Module.quit=function(e,t){quit(e)});else if(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER){if(Module.read=function(t){var r=new XMLHttpRequest;return r.open("GET",t,!1),r.send(null),r.responseText},ENVIRONMENT_IS_WORKER&&(Module.readBinary=function(t){var r=new XMLHttpRequest;return r.open("GET",t,!1),r.responseType="arraybuffer",r.send(null),new Uint8Array(r.response)}),Module.readAsync=function(t,r,o){var a=new XMLHttpRequest;a.open("GET",t,!0),a.responseType="arraybuffer",a.onload=function(){a.status==200||a.status==0&&a.response?r(a.response):o()},a.onerror=o,a.send(null)},typeof arguments<"u"&&(Module.arguments=arguments),typeof console<"u")Module.print||(Module.print=function(t){console.log(t)}),Module.printErr||(Module.printErr=function(t){console.warn(t)});else{var TRY_USE_DUMP=!1;Module.print||(Module.print=TRY_USE_DUMP&&typeof dump<"u"?function(e){dump(e)}:function(e){})}ENVIRONMENT_IS_WORKER&&(Module.load=importScripts),typeof Module.setWindowTitle>"u"&&(Module.setWindowTitle=function(e){document.title=e})}else throw"Unknown runtime environment. Where are we?";function globalEval(e){eval.call(null,e)}!Module.load&&Module.read&&(Module.load=function(t){globalEval(Module.read(t))}),Module.print||(Module.print=function(){}),Module.printErr||(Module.printErr=Module.print),Module.arguments||(Module.arguments=[]),Module.thisProgram||(Module.thisProgram="./this.program"),Module.quit||(Module.quit=function(e,t){throw t}),Module.print=Module.print,Module.printErr=Module.printErr,Module.preRun=[],Module.postRun=[];for(var key in moduleOverrides)moduleOverrides.hasOwnProperty(key)&&(Module[key]=moduleOverrides[key]);moduleOverrides=void 0;var Runtime={setTempRet0:function(e){return tempRet0=e,e},getTempRet0:function(){return tempRet0},stackSave:function(){return STACKTOP},stackRestore:function(e){STACKTOP=e},getNativeTypeSize:function(e){switch(e){case"i1":case"i8":return 1;case"i16":return 2;case"i32":return 4;case"i64":return 8;case"float":return 4;case"double":return 8;default:{if(e[e.length-1]==="*")return Runtime.QUANTUM_SIZE;if(e[0]==="i"){var t=parseInt(e.substr(1));return assert(t%8===0),t/8}else return 0}}},getNativeFieldSize:function(e){return Math.max(Runtime.getNativeTypeSize(e),Runtime.QUANTUM_SIZE)},STACK_ALIGN:16,prepVararg:function(e,t){return t==="double"||t==="i64"?e&7&&(assert((e&7)===4),e+=4):assert((e&3)===0),e},getAlignSize:function(e,t,r){return!r&&(e=="i64"||e=="double")?8:e?Math.min(t||(e?Runtime.getNativeFieldSize(e):0),Runtime.QUANTUM_SIZE):Math.min(t,8)},dynCall:function(e,t,r){return r&&r.length?Module["dynCall_"+e].apply(null,[t].concat(r)):Module["dynCall_"+e].call(null,t)},functionPointers:[],addFunction:function(e){for(var t=0;t<Runtime.functionPointers.length;t++)if(!Runtime.functionPointers[t])return Runtime.functionPointers[t]=e,2*(1+t);throw"Finished up all reserved function pointers. Use a higher value for RESERVED_FUNCTION_POINTERS."},removeFunction:function(e){Runtime.functionPointers[(e-2)/2]=null},warnOnce:function(e){Runtime.warnOnce.shown||(Runtime.warnOnce.shown={}),Runtime.warnOnce.shown[e]||(Runtime.warnOnce.shown[e]=1,Module.printErr(e))},funcWrappers:{},getFuncWrapper:function(e,t){if(!!e){assert(t),Runtime.funcWrappers[t]||(Runtime.funcWrappers[t]={});var r=Runtime.funcWrappers[t];return r[e]||(t.length===1?r[e]=function(){return Runtime.dynCall(t,e)}:t.length===2?r[e]=function(a){return Runtime.dynCall(t,e,[a])}:r[e]=function(){return Runtime.dynCall(t,e,Array.prototype.slice.call(arguments))}),r[e]}},getCompilerSetting:function(e){throw"You must build with -s RETAIN_COMPILER_SETTINGS=1 for Runtime.getCompilerSetting or emscripten_get_compiler_setting to work"},stackAlloc:function(e){var t=STACKTOP;return STACKTOP=STACKTOP+e|0,STACKTOP=STACKTOP+15&-16,t},staticAlloc:function(e){var t=STATICTOP;return STATICTOP=STATICTOP+e|0,STATICTOP=STATICTOP+15&-16,t},dynamicAlloc:function(e){var t=HEAP32[DYNAMICTOP_PTR>>2],r=(t+e+15|0)&-16;if(HEAP32[DYNAMICTOP_PTR>>2]=r,r>=TOTAL_MEMORY){var o=enlargeMemory();if(!o)return HEAP32[DYNAMICTOP_PTR>>2]=t,0}return t},alignMemory:function(e,t){var r=e=Math.ceil(e/(t||16))*(t||16);return r},makeBigInt:function(e,t,r){var o=r?+(e>>>0)+ +(t>>>0)*4294967296:+(e>>>0)+ +(t|0)*4294967296;return o},GLOBAL_BASE:8,QUANTUM_SIZE:4,__dummy__:0};Module.Runtime=Runtime;var ABORT=0,EXITSTATUS=0;function assert(e,t){e||abort("Assertion failed: "+t)}function getCFunc(ident){var func=Module["_"+ident];if(!func)try{func=eval("_"+ident)}catch(e){}return assert(func,"Cannot call unknown function "+ident+" (perhaps LLVM optimizations or closure removed it?)"),func}var cwrap,ccall;(function(){var JSfuncs={stackSave:function(){Runtime.stackSave()},stackRestore:function(){Runtime.stackRestore()},arrayToC:function(e){var t=Runtime.stackAlloc(e.length);return writeArrayToMemory(e,t),t},stringToC:function(e){var t=0;if(e!=null&&e!==0){var r=(e.length<<2)+1;t=Runtime.stackAlloc(r),stringToUTF8(e,t,r)}return t}},toC={string:JSfuncs.stringToC,array:JSfuncs.arrayToC};ccall=function(t,r,o,a,n){var u=getCFunc(t),A=[],p=0;if(a)for(var h=0;h<a.length;h++){var w=toC[o[h]];w?(p===0&&(p=Runtime.stackSave()),A[h]=w(a[h])):A[h]=a[h]}var I=u.apply(null,A);if(r==="string"&&(I=Pointer_stringify(I)),p!==0){if(n&&n.async){EmterpreterAsync.asyncFinalizers.push(function(){Runtime.stackRestore(p)});return}Runtime.stackRestore(p)}return I};var sourceRegex=/^function\s*[a-zA-Z$_0-9]*\s*\(([^)]*)\)\s*{\s*([^*]*?)[\s;]*(?:return\s*(.*?)[;\s]*)?}$/;function parseJSFunc(e){var t=e.toString().match(sourceRegex).slice(1);return{arguments:t[0],body:t[1],returnValue:t[2]}}var JSsource=null;function ensureJSsource(){if(!JSsource){JSsource={};for(var e in JSfuncs)JSfuncs.hasOwnProperty(e)&&(JSsource[e]=parseJSFunc(JSfuncs[e]))}}cwrap=function cwrap(ident,returnType,argTypes){argTypes=argTypes||[];var cfunc=getCFunc(ident),numericArgs=argTypes.every(function(e){return e==="number"}),numericRet=returnType!=="string";if(numericRet&&numericArgs)return cfunc;var argNames=argTypes.map(function(e,t){return"$"+t}),funcstr="(function("+argNames.join(",")+") {",nargs=argTypes.length;if(!numericArgs){ensureJSsource(),funcstr+="var stack = "+JSsource.stackSave.body+";";for(var i=0;i<nargs;i++){var arg=argNames[i],type=argTypes[i];if(type!=="number"){var convertCode=JSsource[type+"ToC"];funcstr+="var "+convertCode.arguments+" = "+arg+";",funcstr+=convertCode.body+";",funcstr+=arg+"=("+convertCode.returnValue+");"}}}var cfuncname=parseJSFunc(function(){return cfunc}).returnValue;if(funcstr+="var ret = "+cfuncname+"("+argNames.join(",")+");",!numericRet){var strgfy=parseJSFunc(function(){return Pointer_stringify}).returnValue;funcstr+="ret = "+strgfy+"(ret);"}return numericArgs||(ensureJSsource(),funcstr+=JSsource.stackRestore.body.replace("()","(stack)")+";"),funcstr+="return ret})",eval(funcstr)}})(),Module.ccall=ccall,Module.cwrap=cwrap;function setValue(e,t,r,o){switch(r=r||"i8",r.charAt(r.length-1)==="*"&&(r="i32"),r){case"i1":HEAP8[e>>0]=t;break;case"i8":HEAP8[e>>0]=t;break;case"i16":HEAP16[e>>1]=t;break;case"i32":HEAP32[e>>2]=t;break;case"i64":tempI64=[t>>>0,(tempDouble=t,+Math_abs(tempDouble)>=1?tempDouble>0?(Math_min(+Math_floor(tempDouble/4294967296),4294967295)|0)>>>0:~~+Math_ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[e>>2]=tempI64[0],HEAP32[e+4>>2]=tempI64[1];break;case"float":HEAPF32[e>>2]=t;break;case"double":HEAPF64[e>>3]=t;break;default:abort("invalid type for setValue: "+r)}}Module.setValue=setValue;function getValue(e,t,r){switch(t=t||"i8",t.charAt(t.length-1)==="*"&&(t="i32"),t){case"i1":return HEAP8[e>>0];case"i8":return HEAP8[e>>0];case"i16":return HEAP16[e>>1];case"i32":return HEAP32[e>>2];case"i64":return HEAP32[e>>2];case"float":return HEAPF32[e>>2];case"double":return HEAPF64[e>>3];default:abort("invalid type for setValue: "+t)}return null}Module.getValue=getValue;var ALLOC_NORMAL=0,ALLOC_STACK=1,ALLOC_STATIC=2,ALLOC_DYNAMIC=3,ALLOC_NONE=4;Module.ALLOC_NORMAL=ALLOC_NORMAL,Module.ALLOC_STACK=ALLOC_STACK,Module.ALLOC_STATIC=ALLOC_STATIC,Module.ALLOC_DYNAMIC=ALLOC_DYNAMIC,Module.ALLOC_NONE=ALLOC_NONE;function allocate(e,t,r,o){var a,n;typeof e=="number"?(a=!0,n=e):(a=!1,n=e.length);var u=typeof t=="string"?t:null,A;if(r==ALLOC_NONE?A=o:A=[typeof _malloc=="function"?_malloc:Runtime.staticAlloc,Runtime.stackAlloc,Runtime.staticAlloc,Runtime.dynamicAlloc][r===void 0?ALLOC_STATIC:r](Math.max(n,u?1:t.length)),a){var o=A,p;for(assert((A&3)==0),p=A+(n&-4);o<p;o+=4)HEAP32[o>>2]=0;for(p=A+n;o<p;)HEAP8[o++>>0]=0;return A}if(u==="i8")return e.subarray||e.slice?HEAPU8.set(e,A):HEAPU8.set(new Uint8Array(e),A),A;for(var h=0,w,I,v;h<n;){var b=e[h];if(typeof b=="function"&&(b=Runtime.getFunctionIndex(b)),w=u||t[h],w===0){h++;continue}w=="i64"&&(w="i32"),setValue(A+h,b,w),v!==w&&(I=Runtime.getNativeTypeSize(w),v=w),h+=I}return A}Module.allocate=allocate;function getMemory(e){return staticSealed?runtimeInitialized?_malloc(e):Runtime.dynamicAlloc(e):Runtime.staticAlloc(e)}Module.getMemory=getMemory;function Pointer_stringify(e,t){if(t===0||!e)return"";for(var r=0,o,a=0;o=HEAPU8[e+a>>0],r|=o,!(o==0&&!t||(a++,t&&a==t)););t||(t=a);var n="";if(r<128){for(var u=1024,A;t>0;)A=String.fromCharCode.apply(String,HEAPU8.subarray(e,e+Math.min(t,u))),n=n?n+A:A,e+=u,t-=u;return n}return Module.UTF8ToString(e)}Module.Pointer_stringify=Pointer_stringify;function AsciiToString(e){for(var t="";;){var r=HEAP8[e++>>0];if(!r)return t;t+=String.fromCharCode(r)}}Module.AsciiToString=AsciiToString;function stringToAscii(e,t){return writeAsciiToMemory(e,t,!1)}Module.stringToAscii=stringToAscii;var UTF8Decoder=typeof TextDecoder<"u"?new TextDecoder("utf8"):void 0;function UTF8ArrayToString(e,t){for(var r=t;e[r];)++r;if(r-t>16&&e.subarray&&UTF8Decoder)return UTF8Decoder.decode(e.subarray(t,r));for(var o,a,n,u,A,p,h="";;){if(o=e[t++],!o)return h;if(!(o&128)){h+=String.fromCharCode(o);continue}if(a=e[t++]&63,(o&224)==192){h+=String.fromCharCode((o&31)<<6|a);continue}if(n=e[t++]&63,(o&240)==224?o=(o&15)<<12|a<<6|n:(u=e[t++]&63,(o&248)==240?o=(o&7)<<18|a<<12|n<<6|u:(A=e[t++]&63,(o&252)==248?o=(o&3)<<24|a<<18|n<<12|u<<6|A:(p=e[t++]&63,o=(o&1)<<30|a<<24|n<<18|u<<12|A<<6|p))),o<65536)h+=String.fromCharCode(o);else{var w=o-65536;h+=String.fromCharCode(55296|w>>10,56320|w&1023)}}}Module.UTF8ArrayToString=UTF8ArrayToString;function UTF8ToString(e){return UTF8ArrayToString(HEAPU8,e)}Module.UTF8ToString=UTF8ToString;function stringToUTF8Array(e,t,r,o){if(!(o>0))return 0;for(var a=r,n=r+o-1,u=0;u<e.length;++u){var A=e.charCodeAt(u);if(A>=55296&&A<=57343&&(A=65536+((A&1023)<<10)|e.charCodeAt(++u)&1023),A<=127){if(r>=n)break;t[r++]=A}else if(A<=2047){if(r+1>=n)break;t[r++]=192|A>>6,t[r++]=128|A&63}else if(A<=65535){if(r+2>=n)break;t[r++]=224|A>>12,t[r++]=128|A>>6&63,t[r++]=128|A&63}else if(A<=2097151){if(r+3>=n)break;t[r++]=240|A>>18,t[r++]=128|A>>12&63,t[r++]=128|A>>6&63,t[r++]=128|A&63}else if(A<=67108863){if(r+4>=n)break;t[r++]=248|A>>24,t[r++]=128|A>>18&63,t[r++]=128|A>>12&63,t[r++]=128|A>>6&63,t[r++]=128|A&63}else{if(r+5>=n)break;t[r++]=252|A>>30,t[r++]=128|A>>24&63,t[r++]=128|A>>18&63,t[r++]=128|A>>12&63,t[r++]=128|A>>6&63,t[r++]=128|A&63}}return t[r]=0,r-a}Module.stringToUTF8Array=stringToUTF8Array;function stringToUTF8(e,t,r){return stringToUTF8Array(e,HEAPU8,t,r)}Module.stringToUTF8=stringToUTF8;function lengthBytesUTF8(e){for(var t=0,r=0;r<e.length;++r){var o=e.charCodeAt(r);o>=55296&&o<=57343&&(o=65536+((o&1023)<<10)|e.charCodeAt(++r)&1023),o<=127?++t:o<=2047?t+=2:o<=65535?t+=3:o<=2097151?t+=4:o<=67108863?t+=5:t+=6}return t}Module.lengthBytesUTF8=lengthBytesUTF8;var UTF16Decoder=typeof TextDecoder<"u"?new TextDecoder("utf-16le"):void 0;function demangle(e){var t=Module.___cxa_demangle||Module.__cxa_demangle;if(t){try{var r=e.substr(1),o=lengthBytesUTF8(r)+1,a=_malloc(o);stringToUTF8(r,a,o);var n=_malloc(4),u=t(a,0,0,n);if(getValue(n,"i32")===0&&u)return Pointer_stringify(u)}catch{}finally{a&&_free(a),n&&_free(n),u&&_free(u)}return e}return Runtime.warnOnce("warning: build with -s DEMANGLE_SUPPORT=1 to link in libcxxabi demangling"),e}function demangleAll(e){var t=/__Z[\w\d_]+/g;return e.replace(t,function(r){var o=demangle(r);return r===o?r:r+" ["+o+"]"})}function jsStackTrace(){var e=new Error;if(!e.stack){try{throw new Error(0)}catch(t){e=t}if(!e.stack)return"(no stack trace available)"}return e.stack.toString()}function stackTrace(){var e=jsStackTrace();return Module.extraStackTrace&&(e+=` -`+Module.extraStackTrace()),demangleAll(e)}Module.stackTrace=stackTrace;var HEAP,buffer,HEAP8,HEAPU8,HEAP16,HEAPU16,HEAP32,HEAPU32,HEAPF32,HEAPF64;function updateGlobalBufferViews(){Module.HEAP8=HEAP8=new Int8Array(buffer),Module.HEAP16=HEAP16=new Int16Array(buffer),Module.HEAP32=HEAP32=new Int32Array(buffer),Module.HEAPU8=HEAPU8=new Uint8Array(buffer),Module.HEAPU16=HEAPU16=new Uint16Array(buffer),Module.HEAPU32=HEAPU32=new Uint32Array(buffer),Module.HEAPF32=HEAPF32=new Float32Array(buffer),Module.HEAPF64=HEAPF64=new Float64Array(buffer)}var STATIC_BASE,STATICTOP,staticSealed,STACK_BASE,STACKTOP,STACK_MAX,DYNAMIC_BASE,DYNAMICTOP_PTR;STATIC_BASE=STATICTOP=STACK_BASE=STACKTOP=STACK_MAX=DYNAMIC_BASE=DYNAMICTOP_PTR=0,staticSealed=!1;function abortOnCannotGrowMemory(){abort("Cannot enlarge memory arrays. Either (1) compile with -s TOTAL_MEMORY=X with X higher than the current value "+TOTAL_MEMORY+", (2) compile with -s ALLOW_MEMORY_GROWTH=1 which allows increasing the size at runtime but prevents some optimizations, (3) set Module.TOTAL_MEMORY to a higher value before the program runs, or (4) if you want malloc to return NULL (0) instead of this abort, compile with -s ABORTING_MALLOC=0 ")}function enlargeMemory(){abortOnCannotGrowMemory()}var TOTAL_STACK=Module.TOTAL_STACK||5242880,TOTAL_MEMORY=Module.TOTAL_MEMORY||134217728;TOTAL_MEMORY<TOTAL_STACK&&Module.printErr("TOTAL_MEMORY should be larger than TOTAL_STACK, was "+TOTAL_MEMORY+"! (TOTAL_STACK="+TOTAL_STACK+")"),Module.buffer?buffer=Module.buffer:buffer=new ArrayBuffer(TOTAL_MEMORY),updateGlobalBufferViews();function getTotalMemory(){return TOTAL_MEMORY}if(HEAP32[0]=1668509029,HEAP16[1]=25459,HEAPU8[2]!==115||HEAPU8[3]!==99)throw"Runtime error: expected the system to be little-endian!";Module.HEAP=HEAP,Module.buffer=buffer,Module.HEAP8=HEAP8,Module.HEAP16=HEAP16,Module.HEAP32=HEAP32,Module.HEAPU8=HEAPU8,Module.HEAPU16=HEAPU16,Module.HEAPU32=HEAPU32,Module.HEAPF32=HEAPF32,Module.HEAPF64=HEAPF64;function callRuntimeCallbacks(e){for(;e.length>0;){var t=e.shift();if(typeof t=="function"){t();continue}var r=t.func;typeof r=="number"?t.arg===void 0?Module.dynCall_v(r):Module.dynCall_vi(r,t.arg):r(t.arg===void 0?null:t.arg)}}var __ATPRERUN__=[],__ATINIT__=[],__ATMAIN__=[],__ATEXIT__=[],__ATPOSTRUN__=[],runtimeInitialized=!1,runtimeExited=!1;function preRun(){if(Module.preRun)for(typeof Module.preRun=="function"&&(Module.preRun=[Module.preRun]);Module.preRun.length;)addOnPreRun(Module.preRun.shift());callRuntimeCallbacks(__ATPRERUN__)}function ensureInitRuntime(){runtimeInitialized||(runtimeInitialized=!0,callRuntimeCallbacks(__ATINIT__))}function preMain(){callRuntimeCallbacks(__ATMAIN__)}function exitRuntime(){callRuntimeCallbacks(__ATEXIT__),runtimeExited=!0}function postRun(){if(Module.postRun)for(typeof Module.postRun=="function"&&(Module.postRun=[Module.postRun]);Module.postRun.length;)addOnPostRun(Module.postRun.shift());callRuntimeCallbacks(__ATPOSTRUN__)}function addOnPreRun(e){__ATPRERUN__.unshift(e)}Module.addOnPreRun=addOnPreRun;function addOnInit(e){__ATINIT__.unshift(e)}Module.addOnInit=addOnInit;function addOnPreMain(e){__ATMAIN__.unshift(e)}Module.addOnPreMain=addOnPreMain;function addOnExit(e){__ATEXIT__.unshift(e)}Module.addOnExit=addOnExit;function addOnPostRun(e){__ATPOSTRUN__.unshift(e)}Module.addOnPostRun=addOnPostRun;function intArrayFromString(e,t,r){var o=r>0?r:lengthBytesUTF8(e)+1,a=new Array(o),n=stringToUTF8Array(e,a,0,a.length);return t&&(a.length=n),a}Module.intArrayFromString=intArrayFromString;function intArrayToString(e){for(var t=[],r=0;r<e.length;r++){var o=e[r];o>255&&(o&=255),t.push(String.fromCharCode(o))}return t.join("")}Module.intArrayToString=intArrayToString;function writeStringToMemory(e,t,r){Runtime.warnOnce("writeStringToMemory is deprecated and should not be called! Use stringToUTF8() instead!");var o,a;r&&(a=t+lengthBytesUTF8(e),o=HEAP8[a]),stringToUTF8(e,t,1/0),r&&(HEAP8[a]=o)}Module.writeStringToMemory=writeStringToMemory;function writeArrayToMemory(e,t){HEAP8.set(e,t)}Module.writeArrayToMemory=writeArrayToMemory;function writeAsciiToMemory(e,t,r){for(var o=0;o<e.length;++o)HEAP8[t++>>0]=e.charCodeAt(o);r||(HEAP8[t>>0]=0)}if(Module.writeAsciiToMemory=writeAsciiToMemory,(!Math.imul||Math.imul(4294967295,5)!==-5)&&(Math.imul=function e(t,r){var o=t>>>16,a=t&65535,n=r>>>16,u=r&65535;return a*u+(o*u+a*n<<16)|0}),Math.imul=Math.imul,!Math.fround){var froundBuffer=new Float32Array(1);Math.fround=function(e){return froundBuffer[0]=e,froundBuffer[0]}}Math.fround=Math.fround,Math.clz32||(Math.clz32=function(e){e=e>>>0;for(var t=0;t<32;t++)if(e&1<<31-t)return t;return 32}),Math.clz32=Math.clz32,Math.trunc||(Math.trunc=function(e){return e<0?Math.ceil(e):Math.floor(e)}),Math.trunc=Math.trunc;var Math_abs=Math.abs,Math_cos=Math.cos,Math_sin=Math.sin,Math_tan=Math.tan,Math_acos=Math.acos,Math_asin=Math.asin,Math_atan=Math.atan,Math_atan2=Math.atan2,Math_exp=Math.exp,Math_log=Math.log,Math_sqrt=Math.sqrt,Math_ceil=Math.ceil,Math_floor=Math.floor,Math_pow=Math.pow,Math_imul=Math.imul,Math_fround=Math.fround,Math_round=Math.round,Math_min=Math.min,Math_clz32=Math.clz32,Math_trunc=Math.trunc,runDependencies=0,runDependencyWatcher=null,dependenciesFulfilled=null;function getUniqueRunDependency(e){return e}function addRunDependency(e){runDependencies++,Module.monitorRunDependencies&&Module.monitorRunDependencies(runDependencies)}Module.addRunDependency=addRunDependency;function removeRunDependency(e){if(runDependencies--,Module.monitorRunDependencies&&Module.monitorRunDependencies(runDependencies),runDependencies==0&&(runDependencyWatcher!==null&&(clearInterval(runDependencyWatcher),runDependencyWatcher=null),dependenciesFulfilled)){var t=dependenciesFulfilled;dependenciesFulfilled=null,t()}}Module.removeRunDependency=removeRunDependency,Module.preloadedImages={},Module.preloadedAudios={};var ASM_CONSTS=[function(e,t,r,o,a,n,u,A){return _nbind.callbackSignatureList[e].apply(this,arguments)}];function _emscripten_asm_const_iiiiiiii(e,t,r,o,a,n,u,A){return ASM_CONSTS[e](t,r,o,a,n,u,A)}function _emscripten_asm_const_iiiii(e,t,r,o,a){return ASM_CONSTS[e](t,r,o,a)}function _emscripten_asm_const_iiidddddd(e,t,r,o,a,n,u,A,p){return ASM_CONSTS[e](t,r,o,a,n,u,A,p)}function _emscripten_asm_const_iiididi(e,t,r,o,a,n,u){return ASM_CONSTS[e](t,r,o,a,n,u)}function _emscripten_asm_const_iiii(e,t,r,o){return ASM_CONSTS[e](t,r,o)}function _emscripten_asm_const_iiiid(e,t,r,o,a){return ASM_CONSTS[e](t,r,o,a)}function _emscripten_asm_const_iiiiii(e,t,r,o,a,n){return ASM_CONSTS[e](t,r,o,a,n)}STATIC_BASE=Runtime.GLOBAL_BASE,STATICTOP=STATIC_BASE+12800,__ATINIT__.push({func:function(){__GLOBAL__sub_I_Yoga_cpp()}},{func:function(){__GLOBAL__sub_I_nbind_cc()}},{func:function(){__GLOBAL__sub_I_common_cc()}},{func:function(){__GLOBAL__sub_I_Binding_cc()}}),allocate([0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,192,127,0,0,192,127,0,0,192,127,0,0,192,127,3,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,3,0,0,0,0,0,192,127,3,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,192,127,0,0,192,127,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,192,127,0,0,0,0,0,0,0,0,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,192,127,0,0,192,127,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,0,0,128,191,0,0,128,191,0,0,192,127,0,0,0,0,0,0,0,0,0,0,128,63,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,3,0,0,0,1,0,0,0,2,0,0,0,0,0,0,0,190,12,0,0,200,12,0,0,208,12,0,0,216,12,0,0,230,12,0,0,242,12,0,0,1,0,0,0,3,0,0,0,0,0,0,0,2,0,0,0,0,0,192,127,3,0,0,0,180,45,0,0,181,45,0,0,182,45,0,0,181,45,0,0,182,45,0,0,0,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,1,0,0,0,4,0,0,0,183,45,0,0,181,45,0,0,181,45,0,0,181,45,0,0,181,45,0,0,181,45,0,0,181,45,0,0,184,45,0,0,185,45,0,0,181,45,0,0,181,45,0,0,182,45,0,0,186,45,0,0,185,45,0,0,148,4,0,0,3,0,0,0,187,45,0,0,164,4,0,0,188,45,0,0,2,0,0,0,189,45,0,0,164,4,0,0,188,45,0,0,185,45,0,0,164,4,0,0,185,45,0,0,164,4,0,0,188,45,0,0,181,45,0,0,182,45,0,0,181,45,0,0,0,0,0,0,0,0,0,0,1,0,0,0,5,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,183,45,0,0,182,45,0,0,181,45,0,0,190,45,0,0,190,45,0,0,182,45,0,0,182,45,0,0,185,45,0,0,181,45,0,0,185,45,0,0,182,45,0,0,181,45,0,0,185,45,0,0,182,45,0,0,185,45,0,0,48,5,0,0,3,0,0,0,56,5,0,0,1,0,0,0,189,45,0,0,185,45,0,0,164,4,0,0,76,5,0,0,2,0,0,0,191,45,0,0,186,45,0,0,182,45,0,0,185,45,0,0,192,45,0,0,185,45,0,0,182,45,0,0,186,45,0,0,185,45,0,0,76,5,0,0,76,5,0,0,136,5,0,0,182,45,0,0,181,45,0,0,2,0,0,0,190,45,0,0,136,5,0,0,56,19,0,0,156,5,0,0,2,0,0,0,184,45,0,0,0,0,0,0,0,0,0,0,1,0,0,0,8,0,0,0,9,0,0,0,1,0,0,0,10,0,0,0,204,5,0,0,181,45,0,0,181,45,0,0,2,0,0,0,180,45,0,0,204,5,0,0,2,0,0,0,195,45,0,0,236,5,0,0,97,19,0,0,198,45,0,0,211,45,0,0,212,45,0,0,213,45,0,0,214,45,0,0,215,45,0,0,188,45,0,0,182,45,0,0,216,45,0,0,217,45,0,0,218,45,0,0,219,45,0,0,192,45,0,0,181,45,0,0,0,0,0,0,185,45,0,0,110,19,0,0,186,45,0,0,115,19,0,0,221,45,0,0,120,19,0,0,148,4,0,0,132,19,0,0,96,6,0,0,145,19,0,0,222,45,0,0,164,19,0,0,223,45,0,0,173,19,0,0,0,0,0,0,3,0,0,0,104,6,0,0,1,0,0,0,187,45,0,0,0,0,0,0,0,0,0,0,1,0,0,0,11,0,0,0,12,0,0,0,1,0,0,0,13,0,0,0,185,45,0,0,224,45,0,0,164,6,0,0,188,45,0,0,172,6,0,0,180,6,0,0,2,0,0,0,188,6,0,0,7,0,0,0,224,45,0,0,7,0,0,0,164,6,0,0,1,0,0,0,213,45,0,0,185,45,0,0,224,45,0,0,172,6,0,0,185,45,0,0,224,45,0,0,164,6,0,0,185,45,0,0,224,45,0,0,211,45,0,0,211,45,0,0,222,45,0,0,211,45,0,0,224,45,0,0,222,45,0,0,211,45,0,0,224,45,0,0,172,6,0,0,222,45,0,0,211,45,0,0,224,45,0,0,188,45,0,0,222,45,0,0,211,45,0,0,40,7,0,0,188,45,0,0,2,0,0,0,224,45,0,0,185,45,0,0,188,45,0,0,188,45,0,0,188,45,0,0,188,45,0,0,222,45,0,0,224,45,0,0,148,4,0,0,185,45,0,0,148,4,0,0,148,4,0,0,148,4,0,0,148,4,0,0,148,4,0,0,185,45,0,0,164,6,0,0,148,4,0,0,0,0,0,0,0,0,0,0,1,0,0,0,14,0,0,0,15,0,0,0,1,0,0,0,16,0,0,0,148,7,0,0,2,0,0,0,225,45,0,0,183,45,0,0,188,45,0,0,168,7,0,0,5,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,234,45,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,148,45,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,28,9,0,0,5,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,2,0,0,0,242,45,0,0,0,4,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,67,111,117,108,100,32,110,111,116,32,97,108,108,111,99,97,116,101,32,109,101,109,111,114,121,32,102,111,114,32,110,111,100,101,0,67,97,110,110,111,116,32,114,101,115,101,116,32,97,32,110,111,100,101,32,119,104,105,99,104,32,115,116,105,108,108,32,104,97,115,32,99,104,105,108,100,114,101,110,32,97,116,116,97,99,104,101,100,0,67,97,110,110,111,116,32,114,101,115,101,116,32,97,32,110,111,100,101,32,115,116,105,108,108,32,97,116,116,97,99,104,101,100,32,116,111,32,97,32,112,97,114,101,110,116,0,67,111,117,108,100,32,110,111,116,32,97,108,108,111,99,97,116,101,32,109,101,109,111,114,121,32,102,111,114,32,99,111,110,102,105,103,0,67,97,110,110,111,116,32,115,101,116,32,109,101,97,115,117,114,101,32,102,117,110,99,116,105,111,110,58,32,78,111,100,101,115,32,119,105,116,104,32,109,101,97,115,117,114,101,32,102,117,110,99,116,105,111,110,115,32,99,97,110,110,111,116,32,104,97,118,101,32,99,104,105,108,100,114,101,110,46,0,67,104,105,108,100,32,97,108,114,101,97,100,121,32,104,97,115,32,97,32,112,97,114,101,110,116,44,32,105,116,32,109,117,115,116,32,98,101,32,114,101,109,111,118,101,100,32,102,105,114,115,116,46,0,67,97,110,110,111,116,32,97,100,100,32,99,104,105,108,100,58,32,78,111,100,101,115,32,119,105,116,104,32,109,101,97,115,117,114,101,32,102,117,110,99,116,105,111,110,115,32,99,97,110,110,111,116,32,104,97,118,101,32,99,104,105,108,100,114,101,110,46,0,79,110,108,121,32,108,101,97,102,32,110,111,100,101,115,32,119,105,116,104,32,99,117,115,116,111,109,32,109,101,97,115,117,114,101,32,102,117,110,99,116,105,111,110,115,115,104,111,117,108,100,32,109,97,110,117,97,108,108,121,32,109,97,114,107,32,116,104,101,109,115,101,108,118,101,115,32,97,115,32,100,105,114,116,121,0,67,97,110,110,111,116,32,103,101,116,32,108,97,121,111,117,116,32,112,114,111,112,101,114,116,105,101,115,32,111,102,32,109,117,108,116,105,45,101,100,103,101,32,115,104,111,114,116,104,97,110,100,115,0,37,115,37,100,46,123,91,115,107,105,112,112,101,100,93,32,0,119,109,58,32,37,115,44,32,104,109,58,32,37,115,44,32,97,119,58,32,37,102,32,97,104,58,32,37,102,32,61,62,32,100,58,32,40,37,102,44,32,37,102,41,32,37,115,10,0,37,115,37,100,46,123,37,115,0,42,0,119,109,58,32,37,115,44,32,104,109,58,32,37,115,44,32,97,119,58,32,37,102,32,97,104,58,32,37,102,32,37,115,10,0,37,115,37,100,46,125,37,115,0,119,109,58,32,37,115,44,32,104,109,58,32,37,115,44,32,100,58,32,40,37,102,44,32,37,102,41,32,37,115,10,0,79,117,116,32,111,102,32,99,97,99,104,101,32,101,110,116,114,105,101,115,33,10,0,83,99,97,108,101,32,102,97,99,116,111,114,32,115,104,111,117,108,100,32,110,111,116,32,98,101,32,108,101,115,115,32,116,104,97,110,32,122,101,114,111,0,105,110,105,116,105,97,108,0,37,115,10,0,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,0,85,78,68,69,70,73,78,69,68,0,69,88,65,67,84,76,89,0,65,84,95,77,79,83,84,0,76,65,89,95,85,78,68,69,70,73,78,69,68,0,76,65,89,95,69,88,65,67,84,76,89,0,76,65,89,95,65,84,95,77,79,83,84,0,97,118,97,105,108,97,98,108,101,87,105,100,116,104,32,105,115,32,105,110,100,101,102,105,110,105,116,101,32,115,111,32,119,105,100,116,104,77,101,97,115,117,114,101,77,111,100,101,32,109,117,115,116,32,98,101,32,89,71,77,101,97,115,117,114,101,77,111,100,101,85,110,100,101,102,105,110,101,100,0,97,118,97,105,108,97,98,108,101,72,101,105,103,104,116,32,105,115,32,105,110,100,101,102,105,110,105,116,101,32,115,111,32,104,101,105,103,104,116,77,101,97,115,117,114,101,77,111,100,101,32,109,117,115,116,32,98,101,32,89,71,77,101,97,115,117,114,101,77,111,100,101,85,110,100,101,102,105,110,101,100,0,102,108,101,120,0,115,116,114,101,116,99,104,0,109,117,108,116,105,108,105,110,101,45,115,116,114,101,116,99,104,0,69,120,112,101,99,116,101,100,32,110,111,100,101,32,116,111,32,104,97,118,101,32,99,117,115,116,111,109,32,109,101,97,115,117,114,101,32,102,117,110,99,116,105,111,110,0,109,101,97,115,117,114,101,0,69,120,112,101,99,116,32,99,117,115,116,111,109,32,98,97,115,101,108,105,110,101,32,102,117,110,99,116,105,111,110,32,116,111,32,110,111,116,32,114,101,116,117,114,110,32,78,97,78,0,97,98,115,45,109,101,97,115,117,114,101,0,97,98,115,45,108,97,121,111,117,116,0,78,111,100,101,0,99,114,101,97,116,101,68,101,102,97,117,108,116,0,99,114,101,97,116,101,87,105,116,104,67,111,110,102,105,103,0,100,101,115,116,114,111,121,0,114,101,115,101,116,0,99,111,112,121,83,116,121,108,101,0,115,101,116,80,111,115,105,116,105,111,110,84,121,112,101,0,115,101,116,80,111,115,105,116,105,111,110,0,115,101,116,80,111,115,105,116,105,111,110,80,101,114,99,101,110,116,0,115,101,116,65,108,105,103,110,67,111,110,116,101,110,116,0,115,101,116,65,108,105,103,110,73,116,101,109,115,0,115,101,116,65,108,105,103,110,83,101,108,102,0,115,101,116,70,108,101,120,68,105,114,101,99,116,105,111,110,0,115,101,116,70,108,101,120,87,114,97,112,0,115,101,116,74,117,115,116,105,102,121,67,111,110,116,101,110,116,0,115,101,116,77,97,114,103,105,110,0,115,101,116,77,97,114,103,105,110,80,101,114,99,101,110,116,0,115,101,116,77,97,114,103,105,110,65,117,116,111,0,115,101,116,79,118,101,114,102,108,111,119,0,115,101,116,68,105,115,112,108,97,121,0,115,101,116,70,108,101,120,0,115,101,116,70,108,101,120,66,97,115,105,115,0,115,101,116,70,108,101,120,66,97,115,105,115,80,101,114,99,101,110,116,0,115,101,116,70,108,101,120,71,114,111,119,0,115,101,116,70,108,101,120,83,104,114,105,110,107,0,115,101,116,87,105,100,116,104,0,115,101,116,87,105,100,116,104,80,101,114,99,101,110,116,0,115,101,116,87,105,100,116,104,65,117,116,111,0,115,101,116,72,101,105,103,104,116,0,115,101,116,72,101,105,103,104,116,80,101,114,99,101,110,116,0,115,101,116,72,101,105,103,104,116,65,117,116,111,0,115,101,116,77,105,110,87,105,100,116,104,0,115,101,116,77,105,110,87,105,100,116,104,80,101,114,99,101,110,116,0,115,101,116,77,105,110,72,101,105,103,104,116,0,115,101,116,77,105,110,72,101,105,103,104,116,80,101,114,99,101,110,116,0,115,101,116,77,97,120,87,105,100,116,104,0,115,101,116,77,97,120,87,105,100,116,104,80,101,114,99,101,110,116,0,115,101,116,77,97,120,72,101,105,103,104,116,0,115,101,116,77,97,120,72,101,105,103,104,116,80,101,114,99,101,110,116,0,115,101,116,65,115,112,101,99,116,82,97,116,105,111,0,115,101,116,66,111,114,100,101,114,0,115,101,116,80,97,100,100,105,110,103,0,115,101,116,80,97,100,100,105,110,103,80,101,114,99,101,110,116,0,103,101,116,80,111,115,105,116,105,111,110,84,121,112,101,0,103,101,116,80,111,115,105,116,105,111,110,0,103,101,116,65,108,105,103,110,67,111,110,116,101,110,116,0,103,101,116,65,108,105,103,110,73,116,101,109,115,0,103,101,116,65,108,105,103,110,83,101,108,102,0,103,101,116,70,108,101,120,68,105,114,101,99,116,105,111,110,0,103,101,116,70,108,101,120,87,114,97,112,0,103,101,116,74,117,115,116,105,102,121,67,111,110,116,101,110,116,0,103,101,116,77,97,114,103,105,110,0,103,101,116,70,108,101,120,66,97,115,105,115,0,103,101,116,70,108,101,120,71,114,111,119,0,103,101,116,70,108,101,120,83,104,114,105,110,107,0,103,101,116,87,105,100,116,104,0,103,101,116,72,101,105,103,104,116,0,103,101,116,77,105,110,87,105,100,116,104,0,103,101,116,77,105,110,72,101,105,103,104,116,0,103,101,116,77,97,120,87,105,100,116,104,0,103,101,116,77,97,120,72,101,105,103,104,116,0,103,101,116,65,115,112,101,99,116,82,97,116,105,111,0,103,101,116,66,111,114,100,101,114,0,103,101,116,79,118,101,114,102,108,111,119,0,103,101,116,68,105,115,112,108,97,121,0,103,101,116,80,97,100,100,105,110,103,0,105,110,115,101,114,116,67,104,105,108,100,0,114,101,109,111,118,101,67,104,105,108,100,0,103,101,116,67,104,105,108,100,67,111,117,110,116,0,103,101,116,80,97,114,101,110,116,0,103,101,116,67,104,105,108,100,0,115,101,116,77,101,97,115,117,114,101,70,117,110,99,0,117,110,115,101,116,77,101,97,115,117,114,101,70,117,110,99,0,109,97,114,107,68,105,114,116,121,0,105,115,68,105,114,116,121,0,99,97,108,99,117,108,97,116,101,76,97,121,111,117,116,0,103,101,116,67,111,109,112,117,116,101,100,76,101,102,116,0,103,101,116,67,111,109,112,117,116,101,100,82,105,103,104,116,0,103,101,116,67,111,109,112,117,116,101,100,84,111,112,0,103,101,116,67,111,109,112,117,116,101,100,66,111,116,116,111,109,0,103,101,116,67,111,109,112,117,116,101,100,87,105,100,116,104,0,103,101,116,67,111,109,112,117,116,101,100,72,101,105,103,104,116,0,103,101,116,67,111,109,112,117,116,101,100,76,97,121,111,117,116,0,103,101,116,67,111,109,112,117,116,101,100,77,97,114,103,105,110,0,103,101,116,67,111,109,112,117,116,101,100,66,111,114,100,101,114,0,103,101,116,67,111,109,112,117,116,101,100,80,97,100,100,105,110,103,0,67,111,110,102,105,103,0,99,114,101,97,116,101,0,115,101,116,69,120,112,101,114,105,109,101,110,116,97,108,70,101,97,116,117,114,101,69,110,97,98,108,101,100,0,115,101,116,80,111,105,110,116,83,99,97,108,101,70,97,99,116,111,114,0,105,115,69,120,112,101,114,105,109,101,110,116,97,108,70,101,97,116,117,114,101,69,110,97,98,108,101,100,0,86,97,108,117,101,0,76,97,121,111,117,116,0,83,105,122,101,0,103,101,116,73,110,115,116,97,110,99,101,67,111,117,110,116,0,73,110,116,54,52,0,1,1,1,2,2,4,4,4,4,8,8,4,8,118,111,105,100,0,98,111,111,108,0,115,116,100,58,58,115,116,114,105,110,103,0,99,98,70,117,110,99,116,105,111,110,32,38,0,99,111,110,115,116,32,99,98,70,117,110,99,116,105,111,110,32,38,0,69,120,116,101,114,110,97,108,0,66,117,102,102,101,114,0,78,66,105,110,100,73,68,0,78,66,105,110,100,0,98,105,110,100,95,118,97,108,117,101,0,114,101,102,108,101,99,116,0,113,117,101,114,121,84,121,112,101,0,108,97,108,108,111,99,0,108,114,101,115,101,116,0,123,114,101,116,117,114,110,40,95,110,98,105,110,100,46,99,97,108,108,98,97,99,107,83,105,103,110,97,116,117,114,101,76,105,115,116,91,36,48,93,46,97,112,112,108,121,40,116,104,105,115,44,97,114,103,117,109,101,110,116,115,41,41,59,125,0,95,110,98,105,110,100,95,110,101,119,0,17,0,10,0,17,17,17,0,0,0,0,5,0,0,0,0,0,0,9,0,0,0,0,11,0,0,0,0,0,0,0,0,17,0,15,10,17,17,17,3,10,7,0,1,19,9,11,11,0,0,9,6,11,0,0,11,0,6,17,0,0,0,17,17,17,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,0,0,0,0,0,0,0,0,17,0,10,10,17,17,17,0,10,0,0,2,0,9,11,0,0,0,9,0,11,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,12,0,0,0,0,9,12,0,0,0,0,0,12,0,0,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,0,0,0,0,13,0,0,0,4,13,0,0,0,0,9,14,0,0,0,0,0,14,0,0,14,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,15,0,0,0,0,15,0,0,0,0,9,16,0,0,0,0,0,16,0,0,16,0,0,18,0,0,0,18,18,18,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,18,0,0,0,18,18,18,0,0,0,0,0,0,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,0,0,0,0,0,0,0,0,0,0,0,10,0,0,0,0,10,0,0,0,0,9,11,0,0,0,0,0,11,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,12,0,0,0,0,9,12,0,0,0,0,0,12,0,0,12,0,0,45,43,32,32,32,48,88,48,120,0,40,110,117,108,108,41,0,45,48,88,43,48,88,32,48,88,45,48,120,43,48,120,32,48,120,0,105,110,102,0,73,78,70,0,110,97,110,0,78,65,78,0,48,49,50,51,52,53,54,55,56,57,65,66,67,68,69,70,46,0,84,33,34,25,13,1,2,3,17,75,28,12,16,4,11,29,18,30,39,104,110,111,112,113,98,32,5,6,15,19,20,21,26,8,22,7,40,36,23,24,9,10,14,27,31,37,35,131,130,125,38,42,43,60,61,62,63,67,71,74,77,88,89,90,91,92,93,94,95,96,97,99,100,101,102,103,105,106,107,108,114,115,116,121,122,123,124,0,73,108,108,101,103,97,108,32,98,121,116,101,32,115,101,113,117,101,110,99,101,0,68,111,109,97,105,110,32,101,114,114,111,114,0,82,101,115,117,108,116,32,110,111,116,32,114,101,112,114,101,115,101,110,116,97,98,108,101,0,78,111,116,32,97,32,116,116,121,0,80,101,114,109,105,115,115,105,111,110,32,100,101,110,105,101,100,0,79,112,101,114,97,116,105,111,110,32,110,111,116,32,112,101,114,109,105,116,116,101,100,0,78,111,32,115,117,99,104,32,102,105,108,101,32,111,114,32,100,105,114,101,99,116,111,114,121,0,78,111,32,115,117,99,104,32,112,114,111,99,101,115,115,0,70,105,108,101,32,101,120,105,115,116,115,0,86,97,108,117,101,32,116,111,111,32,108,97,114,103,101,32,102,111,114,32,100,97,116,97,32,116,121,112,101,0,78,111,32,115,112,97,99,101,32,108,101,102,116,32,111,110,32,100,101,118,105,99,101,0,79,117,116,32,111,102,32,109,101,109,111,114,121,0,82,101,115,111,117,114,99,101,32,98,117,115,121,0,73,110,116,101,114,114,117,112,116,101,100,32,115,121,115,116,101,109,32,99,97,108,108,0,82,101,115,111,117,114,99,101,32,116,101,109,112,111,114,97,114,105,108,121,32,117,110,97,118,97,105,108,97,98,108,101,0,73,110,118,97,108,105,100,32,115,101,101,107,0,67,114,111,115,115,45,100,101,118,105,99,101,32,108,105,110,107,0,82,101,97,100,45,111,110,108,121,32,102,105,108,101,32,115,121,115,116,101,109,0,68,105,114,101,99,116,111,114,121,32,110,111,116,32,101,109,112,116,121,0,67,111,110,110,101,99,116,105,111,110,32,114,101,115,101,116,32,98,121,32,112,101,101,114,0,79,112,101,114,97,116,105,111,110,32,116,105,109,101,100,32,111,117,116,0,67,111,110,110,101,99,116,105,111,110,32,114,101,102,117,115,101,100,0,72,111,115,116,32,105,115,32,100,111,119,110,0,72,111,115,116,32,105,115,32,117,110,114,101,97,99,104,97,98,108,101,0,65,100,100,114,101,115,115,32,105,110,32,117,115,101,0,66,114,111,107,101,110,32,112,105,112,101,0,73,47,79,32,101,114,114,111,114,0,78,111,32,115,117,99,104,32,100,101,118,105,99,101,32,111,114,32,97,100,100,114,101,115,115,0,66,108,111,99,107,32,100,101,118,105,99,101,32,114,101,113,117,105,114,101,100,0,78,111,32,115,117,99,104,32,100,101,118,105,99,101,0,78,111,116,32,97,32,100,105,114,101,99,116,111,114,121,0,73,115,32,97,32,100,105,114,101,99,116,111,114,121,0,84,101,120,116,32,102,105,108,101,32,98,117,115,121,0,69,120,101,99,32,102,111,114,109,97,116,32,101,114,114,111,114,0,73,110,118,97,108,105,100,32,97,114,103,117,109,101,110,116,0,65,114,103,117,109,101,110,116,32,108,105,115,116,32,116,111,111,32,108,111,110,103,0,83,121,109,98,111,108,105,99,32,108,105,110,107,32,108,111,111,112,0,70,105,108,101,110,97,109,101,32,116,111,111,32,108,111,110,103,0,84,111,111,32,109,97,110,121,32,111,112,101,110,32,102,105,108,101,115,32,105,110,32,115,121,115,116,101,109,0,78,111,32,102,105,108,101,32,100,101,115,99,114,105,112,116,111,114,115,32,97,118,97,105,108,97,98,108,101,0,66,97,100,32,102,105,108,101,32,100,101,115,99,114,105,112,116,111,114,0,78,111,32,99,104,105,108,100,32,112,114,111,99,101,115,115,0,66,97,100,32,97,100,100,114,101,115,115,0,70,105,108,101,32,116,111,111,32,108,97,114,103,101,0,84,111,111,32,109,97,110,121,32,108,105,110,107,115,0,78,111,32,108,111,99,107,115,32,97,118,97,105,108,97,98,108,101,0,82,101,115,111,117,114,99,101,32,100,101,97,100,108,111,99,107,32,119,111,117,108,100,32,111,99,99,117,114,0,83,116,97,116,101,32,110,111,116,32,114,101,99,111,118,101,114,97,98,108,101,0,80,114,101,118,105,111,117,115,32,111,119,110,101,114,32,100,105,101,100,0,79,112,101,114,97,116,105,111,110,32,99,97,110,99,101,108,101,100,0,70,117,110,99,116,105,111,110,32,110,111,116,32,105,109,112,108,101,109,101,110,116,101,100,0,78,111,32,109,101,115,115,97,103,101,32,111,102,32,100,101,115,105,114,101,100,32,116,121,112,101,0,73,100,101,110,116,105,102,105,101,114,32,114,101,109,111,118,101,100,0,68,101,118,105,99,101,32,110,111,116,32,97,32,115,116,114,101,97,109,0,78,111,32,100,97,116,97,32,97,118,97,105,108,97,98,108,101,0,68,101,118,105,99,101,32,116,105,109,101,111,117,116,0,79,117,116,32,111,102,32,115,116,114,101,97,109,115,32,114,101,115,111,117,114,99,101,115,0,76,105,110,107,32,104,97,115,32,98,101,101,110,32,115,101,118,101,114,101,100,0,80,114,111,116,111,99,111,108,32,101,114,114,111,114,0,66,97,100,32,109,101,115,115,97,103,101,0,70,105,108,101,32,100,101,115,99,114,105,112,116,111,114,32,105,110,32,98,97,100,32,115,116,97,116,101,0,78,111,116,32,97,32,115,111,99,107,101,116,0,68,101,115,116,105,110,97,116,105,111,110,32,97,100,100,114,101,115,115,32,114,101,113,117,105,114,101,100,0,77,101,115,115,97,103,101,32,116,111,111,32,108,97,114,103,101,0,80,114,111,116,111,99,111,108,32,119,114,111,110,103,32,116,121,112,101,32,102,111,114,32,115,111,99,107,101,116,0,80,114,111,116,111,99,111,108,32,110,111,116,32,97,118,97,105,108,97,98,108,101,0,80,114,111,116,111,99,111,108,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,83,111,99,107,101,116,32,116,121,112,101,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,78,111,116,32,115,117,112,112,111,114,116,101,100,0,80,114,111,116,111,99,111,108,32,102,97,109,105,108,121,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,65,100,100,114,101,115,115,32,102,97,109,105,108,121,32,110,111,116,32,115,117,112,112,111,114,116,101,100,32,98,121,32,112,114,111,116,111,99,111,108,0,65,100,100,114,101,115,115,32,110,111,116,32,97,118,97,105,108,97,98,108,101,0,78,101,116,119,111,114,107,32,105,115,32,100,111,119,110,0,78,101,116,119,111,114,107,32,117,110,114,101,97,99,104,97,98,108,101,0,67,111,110,110,101,99,116,105,111,110,32,114,101,115,101,116,32,98,121,32,110,101,116,119,111,114,107,0,67,111,110,110,101,99,116,105,111,110,32,97,98,111,114,116,101,100,0,78,111,32,98,117,102,102,101,114,32,115,112,97,99,101,32,97,118,97,105,108,97,98,108,101,0,83,111,99,107,101,116,32,105,115,32,99,111,110,110,101,99,116,101,100,0,83,111,99,107,101,116,32,110,111,116,32,99,111,110,110,101,99,116,101,100,0,67,97,110,110,111,116,32,115,101,110,100,32,97,102,116,101,114,32,115,111,99,107,101,116,32,115,104,117,116,100,111,119,110,0,79,112,101,114,97,116,105,111,110,32,97,108,114,101,97,100,121,32,105,110,32,112,114,111,103,114,101,115,115,0,79,112,101,114,97,116,105,111,110,32,105,110,32,112,114,111,103,114,101,115,115,0,83,116,97,108,101,32,102,105,108,101,32,104,97,110,100,108,101,0,82,101,109,111,116,101,32,73,47,79,32,101,114,114,111,114,0,81,117,111,116,97,32,101,120,99,101,101,100,101,100,0,78,111,32,109,101,100,105,117,109,32,102,111,117,110,100,0,87,114,111,110,103,32,109,101,100,105,117,109,32,116,121,112,101,0,78,111,32,101,114,114,111,114,32,105,110,102,111,114,109,97,116,105,111,110,0,0],"i8",ALLOC_NONE,Runtime.GLOBAL_BASE);var tempDoublePtr=STATICTOP;STATICTOP+=16;function _atexit(e,t){__ATEXIT__.unshift({func:e,arg:t})}function ___cxa_atexit(){return _atexit.apply(null,arguments)}function _abort(){Module.abort()}function __ZN8facebook4yoga14YGNodeToStringEPNSt3__212basic_stringIcNS1_11char_traitsIcEENS1_9allocatorIcEEEEP6YGNode14YGPrintOptionsj(){Module.printErr("missing function: _ZN8facebook4yoga14YGNodeToStringEPNSt3__212basic_stringIcNS1_11char_traitsIcEENS1_9allocatorIcEEEEP6YGNode14YGPrintOptionsj"),abort(-1)}function __decorate(e,t,r,o){var a=arguments.length,n=a<3?t:o===null?o=Object.getOwnPropertyDescriptor(t,r):o,u;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")n=Reflect.decorate(e,t,r,o);else for(var A=e.length-1;A>=0;A--)(u=e[A])&&(n=(a<3?u(n):a>3?u(t,r,n):u(t,r))||n);return a>3&&n&&Object.defineProperty(t,r,n),n}function _defineHidden(e){return function(t,r){Object.defineProperty(t,r,{configurable:!1,enumerable:!1,value:e,writable:!0})}}var _nbind={};function __nbind_free_external(e){_nbind.externalList[e].dereference(e)}function __nbind_reference_external(e){_nbind.externalList[e].reference()}function _llvm_stackrestore(e){var t=_llvm_stacksave,r=t.LLVM_SAVEDSTACKS[e];t.LLVM_SAVEDSTACKS.splice(e,1),Runtime.stackRestore(r)}function __nbind_register_pool(e,t,r,o){_nbind.Pool.pageSize=e,_nbind.Pool.usedPtr=t/4,_nbind.Pool.rootPtr=r,_nbind.Pool.pagePtr=o/4,HEAP32[t/4]=16909060,HEAP8[t]==1&&(_nbind.bigEndian=!0),HEAP32[t/4]=0,_nbind.makeTypeKindTbl=(n={},n[1024]=_nbind.PrimitiveType,n[64]=_nbind.Int64Type,n[2048]=_nbind.BindClass,n[3072]=_nbind.BindClassPtr,n[4096]=_nbind.SharedClassPtr,n[5120]=_nbind.ArrayType,n[6144]=_nbind.ArrayType,n[7168]=_nbind.CStringType,n[9216]=_nbind.CallbackType,n[10240]=_nbind.BindType,n),_nbind.makeTypeNameTbl={Buffer:_nbind.BufferType,External:_nbind.ExternalType,Int64:_nbind.Int64Type,_nbind_new:_nbind.CreateValueType,bool:_nbind.BooleanType,"cbFunction &":_nbind.CallbackType,"const cbFunction &":_nbind.CallbackType,"const std::string &":_nbind.StringType,"std::string":_nbind.StringType},Module.toggleLightGC=_nbind.toggleLightGC,_nbind.callUpcast=Module.dynCall_ii;var a=_nbind.makeType(_nbind.constructType,{flags:2048,id:0,name:""});a.proto=Module,_nbind.BindClass.list.push(a);var n}function _emscripten_set_main_loop_timing(e,t){if(Browser.mainLoop.timingMode=e,Browser.mainLoop.timingValue=t,!Browser.mainLoop.func)return 1;if(e==0)Browser.mainLoop.scheduler=function(){var u=Math.max(0,Browser.mainLoop.tickStartTime+t-_emscripten_get_now())|0;setTimeout(Browser.mainLoop.runner,u)},Browser.mainLoop.method="timeout";else if(e==1)Browser.mainLoop.scheduler=function(){Browser.requestAnimationFrame(Browser.mainLoop.runner)},Browser.mainLoop.method="rAF";else if(e==2){if(!window.setImmediate){let n=function(u){u.source===window&&u.data===o&&(u.stopPropagation(),r.shift()())};var a=n,r=[],o="setimmediate";window.addEventListener("message",n,!0),window.setImmediate=function(A){r.push(A),ENVIRONMENT_IS_WORKER?(Module.setImmediates===void 0&&(Module.setImmediates=[]),Module.setImmediates.push(A),window.postMessage({target:o})):window.postMessage(o,"*")}}Browser.mainLoop.scheduler=function(){window.setImmediate(Browser.mainLoop.runner)},Browser.mainLoop.method="immediate"}return 0}function _emscripten_get_now(){abort()}function _emscripten_set_main_loop(e,t,r,o,a){Module.noExitRuntime=!0,assert(!Browser.mainLoop.func,"emscripten_set_main_loop: there can only be one main loop function at once: call emscripten_cancel_main_loop to cancel the previous one before setting a new one with different parameters."),Browser.mainLoop.func=e,Browser.mainLoop.arg=o;var n;typeof o<"u"?n=function(){Module.dynCall_vi(e,o)}:n=function(){Module.dynCall_v(e)};var u=Browser.mainLoop.currentlyRunningMainloop;if(Browser.mainLoop.runner=function(){if(!ABORT){if(Browser.mainLoop.queue.length>0){var p=Date.now(),h=Browser.mainLoop.queue.shift();if(h.func(h.arg),Browser.mainLoop.remainingBlockers){var w=Browser.mainLoop.remainingBlockers,I=w%1==0?w-1:Math.floor(w);h.counted?Browser.mainLoop.remainingBlockers=I:(I=I+.5,Browser.mainLoop.remainingBlockers=(8*w+I)/9)}if(console.log('main loop blocker "'+h.name+'" took '+(Date.now()-p)+" ms"),Browser.mainLoop.updateStatus(),u<Browser.mainLoop.currentlyRunningMainloop)return;setTimeout(Browser.mainLoop.runner,0);return}if(!(u<Browser.mainLoop.currentlyRunningMainloop)){if(Browser.mainLoop.currentFrameNumber=Browser.mainLoop.currentFrameNumber+1|0,Browser.mainLoop.timingMode==1&&Browser.mainLoop.timingValue>1&&Browser.mainLoop.currentFrameNumber%Browser.mainLoop.timingValue!=0){Browser.mainLoop.scheduler();return}else Browser.mainLoop.timingMode==0&&(Browser.mainLoop.tickStartTime=_emscripten_get_now());Browser.mainLoop.method==="timeout"&&Module.ctx&&(Module.printErr("Looks like you are rendering without using requestAnimationFrame for the main loop. You should use 0 for the frame rate in emscripten_set_main_loop in order to use requestAnimationFrame, as that can greatly improve your frame rates!"),Browser.mainLoop.method=""),Browser.mainLoop.runIter(n),!(u<Browser.mainLoop.currentlyRunningMainloop)&&(typeof SDL=="object"&&SDL.audio&&SDL.audio.queueNewAudioData&&SDL.audio.queueNewAudioData(),Browser.mainLoop.scheduler())}}},a||(t&&t>0?_emscripten_set_main_loop_timing(0,1e3/t):_emscripten_set_main_loop_timing(1,1),Browser.mainLoop.scheduler()),r)throw"SimulateInfiniteLoop"}var Browser={mainLoop:{scheduler:null,method:"",currentlyRunningMainloop:0,func:null,arg:0,timingMode:0,timingValue:0,currentFrameNumber:0,queue:[],pause:function(){Browser.mainLoop.scheduler=null,Browser.mainLoop.currentlyRunningMainloop++},resume:function(){Browser.mainLoop.currentlyRunningMainloop++;var e=Browser.mainLoop.timingMode,t=Browser.mainLoop.timingValue,r=Browser.mainLoop.func;Browser.mainLoop.func=null,_emscripten_set_main_loop(r,0,!1,Browser.mainLoop.arg,!0),_emscripten_set_main_loop_timing(e,t),Browser.mainLoop.scheduler()},updateStatus:function(){if(Module.setStatus){var e=Module.statusMessage||"Please wait...",t=Browser.mainLoop.remainingBlockers,r=Browser.mainLoop.expectedBlockers;t?t<r?Module.setStatus(e+" ("+(r-t)+"/"+r+")"):Module.setStatus(e):Module.setStatus("")}},runIter:function(e){if(!ABORT){if(Module.preMainLoop){var t=Module.preMainLoop();if(t===!1)return}try{e()}catch(r){if(r instanceof ExitStatus)return;throw r&&typeof r=="object"&&r.stack&&Module.printErr("exception thrown: "+[r,r.stack]),r}Module.postMainLoop&&Module.postMainLoop()}}},isFullscreen:!1,pointerLock:!1,moduleContextCreatedCallbacks:[],workers:[],init:function(){if(Module.preloadPlugins||(Module.preloadPlugins=[]),Browser.initted)return;Browser.initted=!0;try{new Blob,Browser.hasBlobConstructor=!0}catch{Browser.hasBlobConstructor=!1,console.log("warning: no blob constructor, cannot create blobs with mimetypes")}Browser.BlobBuilder=typeof MozBlobBuilder<"u"?MozBlobBuilder:typeof WebKitBlobBuilder<"u"?WebKitBlobBuilder:Browser.hasBlobConstructor?null:console.log("warning: no BlobBuilder"),Browser.URLObject=typeof window<"u"?window.URL?window.URL:window.webkitURL:void 0,!Module.noImageDecoding&&typeof Browser.URLObject>"u"&&(console.log("warning: Browser does not support creating object URLs. Built-in browser image decoding will not be available."),Module.noImageDecoding=!0);var e={};e.canHandle=function(n){return!Module.noImageDecoding&&/\.(jpg|jpeg|png|bmp)$/i.test(n)},e.handle=function(n,u,A,p){var h=null;if(Browser.hasBlobConstructor)try{h=new Blob([n],{type:Browser.getMimetype(u)}),h.size!==n.length&&(h=new Blob([new Uint8Array(n).buffer],{type:Browser.getMimetype(u)}))}catch(b){Runtime.warnOnce("Blob constructor present but fails: "+b+"; falling back to blob builder")}if(!h){var w=new Browser.BlobBuilder;w.append(new Uint8Array(n).buffer),h=w.getBlob()}var I=Browser.URLObject.createObjectURL(h),v=new Image;v.onload=function(){assert(v.complete,"Image "+u+" could not be decoded");var E=document.createElement("canvas");E.width=v.width,E.height=v.height;var R=E.getContext("2d");R.drawImage(v,0,0),Module.preloadedImages[u]=E,Browser.URLObject.revokeObjectURL(I),A&&A(n)},v.onerror=function(E){console.log("Image "+I+" could not be decoded"),p&&p()},v.src=I},Module.preloadPlugins.push(e);var t={};t.canHandle=function(n){return!Module.noAudioDecoding&&n.substr(-4)in{".ogg":1,".wav":1,".mp3":1}},t.handle=function(n,u,A,p){var h=!1;function w(R){h||(h=!0,Module.preloadedAudios[u]=R,A&&A(n))}function I(){h||(h=!0,Module.preloadedAudios[u]=new Audio,p&&p())}if(Browser.hasBlobConstructor){try{var v=new Blob([n],{type:Browser.getMimetype(u)})}catch{return I()}var b=Browser.URLObject.createObjectURL(v),E=new Audio;E.addEventListener("canplaythrough",function(){w(E)},!1),E.onerror=function(N){if(h)return;console.log("warning: browser could not fully decode audio "+u+", trying slower base64 approach");function U(V){for(var ee="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",le="=",fe="",de=0,ge=0,oe=0;oe<V.length;oe++)for(de=de<<8|V[oe],ge+=8;ge>=6;){var Be=de>>ge-6&63;ge-=6,fe+=ee[Be]}return ge==2?(fe+=ee[(de&3)<<4],fe+=le+le):ge==4&&(fe+=ee[(de&15)<<2],fe+=le),fe}E.src="data:audio/x-"+u.substr(-3)+";base64,"+U(n),w(E)},E.src=b,Browser.safeSetTimeout(function(){w(E)},1e4)}else return I()},Module.preloadPlugins.push(t);function r(){Browser.pointerLock=document.pointerLockElement===Module.canvas||document.mozPointerLockElement===Module.canvas||document.webkitPointerLockElement===Module.canvas||document.msPointerLockElement===Module.canvas}var o=Module.canvas;o&&(o.requestPointerLock=o.requestPointerLock||o.mozRequestPointerLock||o.webkitRequestPointerLock||o.msRequestPointerLock||function(){},o.exitPointerLock=document.exitPointerLock||document.mozExitPointerLock||document.webkitExitPointerLock||document.msExitPointerLock||function(){},o.exitPointerLock=o.exitPointerLock.bind(document),document.addEventListener("pointerlockchange",r,!1),document.addEventListener("mozpointerlockchange",r,!1),document.addEventListener("webkitpointerlockchange",r,!1),document.addEventListener("mspointerlockchange",r,!1),Module.elementPointerLock&&o.addEventListener("click",function(a){!Browser.pointerLock&&Module.canvas.requestPointerLock&&(Module.canvas.requestPointerLock(),a.preventDefault())},!1))},createContext:function(e,t,r,o){if(t&&Module.ctx&&e==Module.canvas)return Module.ctx;var a,n;if(t){var u={antialias:!1,alpha:!1};if(o)for(var A in o)u[A]=o[A];n=GL.createContext(e,u),n&&(a=GL.getContext(n).GLctx)}else a=e.getContext("2d");return a?(r&&(t||assert(typeof GLctx>"u","cannot set in module if GLctx is used, but we are a non-GL context that would replace it"),Module.ctx=a,t&&GL.makeContextCurrent(n),Module.useWebGL=t,Browser.moduleContextCreatedCallbacks.forEach(function(p){p()}),Browser.init()),a):null},destroyContext:function(e,t,r){},fullscreenHandlersInstalled:!1,lockPointer:void 0,resizeCanvas:void 0,requestFullscreen:function(e,t,r){Browser.lockPointer=e,Browser.resizeCanvas=t,Browser.vrDevice=r,typeof Browser.lockPointer>"u"&&(Browser.lockPointer=!0),typeof Browser.resizeCanvas>"u"&&(Browser.resizeCanvas=!1),typeof Browser.vrDevice>"u"&&(Browser.vrDevice=null);var o=Module.canvas;function a(){Browser.isFullscreen=!1;var u=o.parentNode;(document.fullscreenElement||document.mozFullScreenElement||document.msFullscreenElement||document.webkitFullscreenElement||document.webkitCurrentFullScreenElement)===u?(o.exitFullscreen=document.exitFullscreen||document.cancelFullScreen||document.mozCancelFullScreen||document.msExitFullscreen||document.webkitCancelFullScreen||function(){},o.exitFullscreen=o.exitFullscreen.bind(document),Browser.lockPointer&&o.requestPointerLock(),Browser.isFullscreen=!0,Browser.resizeCanvas&&Browser.setFullscreenCanvasSize()):(u.parentNode.insertBefore(o,u),u.parentNode.removeChild(u),Browser.resizeCanvas&&Browser.setWindowedCanvasSize()),Module.onFullScreen&&Module.onFullScreen(Browser.isFullscreen),Module.onFullscreen&&Module.onFullscreen(Browser.isFullscreen),Browser.updateCanvasDimensions(o)}Browser.fullscreenHandlersInstalled||(Browser.fullscreenHandlersInstalled=!0,document.addEventListener("fullscreenchange",a,!1),document.addEventListener("mozfullscreenchange",a,!1),document.addEventListener("webkitfullscreenchange",a,!1),document.addEventListener("MSFullscreenChange",a,!1));var n=document.createElement("div");o.parentNode.insertBefore(n,o),n.appendChild(o),n.requestFullscreen=n.requestFullscreen||n.mozRequestFullScreen||n.msRequestFullscreen||(n.webkitRequestFullscreen?function(){n.webkitRequestFullscreen(Element.ALLOW_KEYBOARD_INPUT)}:null)||(n.webkitRequestFullScreen?function(){n.webkitRequestFullScreen(Element.ALLOW_KEYBOARD_INPUT)}:null),r?n.requestFullscreen({vrDisplay:r}):n.requestFullscreen()},requestFullScreen:function(e,t,r){return Module.printErr("Browser.requestFullScreen() is deprecated. Please call Browser.requestFullscreen instead."),Browser.requestFullScreen=function(o,a,n){return Browser.requestFullscreen(o,a,n)},Browser.requestFullscreen(e,t,r)},nextRAF:0,fakeRequestAnimationFrame:function(e){var t=Date.now();if(Browser.nextRAF===0)Browser.nextRAF=t+1e3/60;else for(;t+2>=Browser.nextRAF;)Browser.nextRAF+=1e3/60;var r=Math.max(Browser.nextRAF-t,0);setTimeout(e,r)},requestAnimationFrame:function e(t){typeof window>"u"?Browser.fakeRequestAnimationFrame(t):(window.requestAnimationFrame||(window.requestAnimationFrame=window.requestAnimationFrame||window.mozRequestAnimationFrame||window.webkitRequestAnimationFrame||window.msRequestAnimationFrame||window.oRequestAnimationFrame||Browser.fakeRequestAnimationFrame),window.requestAnimationFrame(t))},safeCallback:function(e){return function(){if(!ABORT)return e.apply(null,arguments)}},allowAsyncCallbacks:!0,queuedAsyncCallbacks:[],pauseAsyncCallbacks:function(){Browser.allowAsyncCallbacks=!1},resumeAsyncCallbacks:function(){if(Browser.allowAsyncCallbacks=!0,Browser.queuedAsyncCallbacks.length>0){var e=Browser.queuedAsyncCallbacks;Browser.queuedAsyncCallbacks=[],e.forEach(function(t){t()})}},safeRequestAnimationFrame:function(e){return Browser.requestAnimationFrame(function(){ABORT||(Browser.allowAsyncCallbacks?e():Browser.queuedAsyncCallbacks.push(e))})},safeSetTimeout:function(e,t){return Module.noExitRuntime=!0,setTimeout(function(){ABORT||(Browser.allowAsyncCallbacks?e():Browser.queuedAsyncCallbacks.push(e))},t)},safeSetInterval:function(e,t){return Module.noExitRuntime=!0,setInterval(function(){ABORT||Browser.allowAsyncCallbacks&&e()},t)},getMimetype:function(e){return{jpg:"image/jpeg",jpeg:"image/jpeg",png:"image/png",bmp:"image/bmp",ogg:"audio/ogg",wav:"audio/wav",mp3:"audio/mpeg"}[e.substr(e.lastIndexOf(".")+1)]},getUserMedia:function(e){window.getUserMedia||(window.getUserMedia=navigator.getUserMedia||navigator.mozGetUserMedia),window.getUserMedia(e)},getMovementX:function(e){return e.movementX||e.mozMovementX||e.webkitMovementX||0},getMovementY:function(e){return e.movementY||e.mozMovementY||e.webkitMovementY||0},getMouseWheelDelta:function(e){var t=0;switch(e.type){case"DOMMouseScroll":t=e.detail;break;case"mousewheel":t=e.wheelDelta;break;case"wheel":t=e.deltaY;break;default:throw"unrecognized mouse wheel event: "+e.type}return t},mouseX:0,mouseY:0,mouseMovementX:0,mouseMovementY:0,touches:{},lastTouches:{},calculateMouseEvent:function(e){if(Browser.pointerLock)e.type!="mousemove"&&"mozMovementX"in e?Browser.mouseMovementX=Browser.mouseMovementY=0:(Browser.mouseMovementX=Browser.getMovementX(e),Browser.mouseMovementY=Browser.getMovementY(e)),typeof SDL<"u"?(Browser.mouseX=SDL.mouseX+Browser.mouseMovementX,Browser.mouseY=SDL.mouseY+Browser.mouseMovementY):(Browser.mouseX+=Browser.mouseMovementX,Browser.mouseY+=Browser.mouseMovementY);else{var t=Module.canvas.getBoundingClientRect(),r=Module.canvas.width,o=Module.canvas.height,a=typeof window.scrollX<"u"?window.scrollX:window.pageXOffset,n=typeof window.scrollY<"u"?window.scrollY:window.pageYOffset;if(e.type==="touchstart"||e.type==="touchend"||e.type==="touchmove"){var u=e.touch;if(u===void 0)return;var A=u.pageX-(a+t.left),p=u.pageY-(n+t.top);A=A*(r/t.width),p=p*(o/t.height);var h={x:A,y:p};if(e.type==="touchstart")Browser.lastTouches[u.identifier]=h,Browser.touches[u.identifier]=h;else if(e.type==="touchend"||e.type==="touchmove"){var w=Browser.touches[u.identifier];w||(w=h),Browser.lastTouches[u.identifier]=w,Browser.touches[u.identifier]=h}return}var I=e.pageX-(a+t.left),v=e.pageY-(n+t.top);I=I*(r/t.width),v=v*(o/t.height),Browser.mouseMovementX=I-Browser.mouseX,Browser.mouseMovementY=v-Browser.mouseY,Browser.mouseX=I,Browser.mouseY=v}},asyncLoad:function(e,t,r,o){var a=o?"":"al "+e;Module.readAsync(e,function(n){assert(n,'Loading data file "'+e+'" failed (no arrayBuffer).'),t(new Uint8Array(n)),a&&removeRunDependency(a)},function(n){if(r)r();else throw'Loading data file "'+e+'" failed.'}),a&&addRunDependency(a)},resizeListeners:[],updateResizeListeners:function(){var e=Module.canvas;Browser.resizeListeners.forEach(function(t){t(e.width,e.height)})},setCanvasSize:function(e,t,r){var o=Module.canvas;Browser.updateCanvasDimensions(o,e,t),r||Browser.updateResizeListeners()},windowedWidth:0,windowedHeight:0,setFullscreenCanvasSize:function(){if(typeof SDL<"u"){var e=HEAPU32[SDL.screen+Runtime.QUANTUM_SIZE*0>>2];e=e|8388608,HEAP32[SDL.screen+Runtime.QUANTUM_SIZE*0>>2]=e}Browser.updateResizeListeners()},setWindowedCanvasSize:function(){if(typeof SDL<"u"){var e=HEAPU32[SDL.screen+Runtime.QUANTUM_SIZE*0>>2];e=e&-8388609,HEAP32[SDL.screen+Runtime.QUANTUM_SIZE*0>>2]=e}Browser.updateResizeListeners()},updateCanvasDimensions:function(e,t,r){t&&r?(e.widthNative=t,e.heightNative=r):(t=e.widthNative,r=e.heightNative);var o=t,a=r;if(Module.forcedAspectRatio&&Module.forcedAspectRatio>0&&(o/a<Module.forcedAspectRatio?o=Math.round(a*Module.forcedAspectRatio):a=Math.round(o/Module.forcedAspectRatio)),(document.fullscreenElement||document.mozFullScreenElement||document.msFullscreenElement||document.webkitFullscreenElement||document.webkitCurrentFullScreenElement)===e.parentNode&&typeof screen<"u"){var n=Math.min(screen.width/o,screen.height/a);o=Math.round(o*n),a=Math.round(a*n)}Browser.resizeCanvas?(e.width!=o&&(e.width=o),e.height!=a&&(e.height=a),typeof e.style<"u"&&(e.style.removeProperty("width"),e.style.removeProperty("height"))):(e.width!=t&&(e.width=t),e.height!=r&&(e.height=r),typeof e.style<"u"&&(o!=t||a!=r?(e.style.setProperty("width",o+"px","important"),e.style.setProperty("height",a+"px","important")):(e.style.removeProperty("width"),e.style.removeProperty("height"))))},wgetRequests:{},nextWgetRequestHandle:0,getNextWgetRequestHandle:function(){var e=Browser.nextWgetRequestHandle;return Browser.nextWgetRequestHandle++,e}},SYSCALLS={varargs:0,get:function(e){SYSCALLS.varargs+=4;var t=HEAP32[SYSCALLS.varargs-4>>2];return t},getStr:function(){var e=Pointer_stringify(SYSCALLS.get());return e},get64:function(){var e=SYSCALLS.get(),t=SYSCALLS.get();return e>=0?assert(t===0):assert(t===-1),e},getZero:function(){assert(SYSCALLS.get()===0)}};function ___syscall6(e,t){SYSCALLS.varargs=t;try{var r=SYSCALLS.getStreamFromFD();return FS.close(r),0}catch(o){return(typeof FS>"u"||!(o instanceof FS.ErrnoError))&&abort(o),-o.errno}}function ___syscall54(e,t){SYSCALLS.varargs=t;try{return 0}catch(r){return(typeof FS>"u"||!(r instanceof FS.ErrnoError))&&abort(r),-r.errno}}function _typeModule(e){var t=[[0,1,"X"],[1,1,"const X"],[128,1,"X *"],[256,1,"X &"],[384,1,"X &&"],[512,1,"std::shared_ptr<X>"],[640,1,"std::unique_ptr<X>"],[5120,1,"std::vector<X>"],[6144,2,"std::array<X, Y>"],[9216,-1,"std::function<X (Y)>"]];function r(p,h,w,I,v,b){if(h==1){var E=I&896;(E==128||E==256||E==384)&&(p="X const")}var R;return b?R=w.replace("X",p).replace("Y",v):R=p.replace("X",w).replace("Y",v),R.replace(/([*&]) (?=[*&])/g,"$1")}function o(p,h,w,I,v){throw new Error(p+" type "+w.replace("X",h+"?")+(I?" with flag "+I:"")+" in "+v)}function a(p,h,w,I,v,b,E,R){b===void 0&&(b="X"),R===void 0&&(R=1);var N=w(p);if(N)return N;var U=I(p),V=U.placeholderFlag,ee=t[V];E&&ee&&(b=r(E[2],E[0],b,ee[0],"?",!0));var le;V==0&&(le="Unbound"),V>=10&&(le="Corrupt"),R>20&&(le="Deeply nested"),le&&o(le,p,b,V,v||"?");var fe=U.paramList[0],de=a(fe,h,w,I,v,b,ee,R+1),ge,oe={flags:ee[0],id:p,name:"",paramList:[de]},Be=[],be="?";switch(U.placeholderFlag){case 1:ge=de.spec;break;case 2:if((de.flags&15360)==1024&&de.spec.ptrSize==1){oe.flags=7168;break}case 3:case 6:case 5:ge=de.spec,de.flags&15360;break;case 8:be=""+U.paramList[1],oe.paramList.push(U.paramList[1]);break;case 9:for(var g=0,we=U.paramList[1];g<we.length;g++){var Se=we[g],ce=a(Se,h,w,I,v,b,ee,R+1);Be.push(ce.name),oe.paramList.push(ce)}be=Be.join(", ");break;default:break}if(oe.name=r(ee[2],ee[0],de.name,de.flags,be),ge){for(var ne=0,te=Object.keys(ge);ne<te.length;ne++){var Ee=te[ne];oe[Ee]=oe[Ee]||ge[Ee]}oe.flags|=ge.flags}return n(h,oe)}function n(p,h){var w=h.flags,I=w&896,v=w&15360;return!h.name&&v==1024&&(h.ptrSize==1?h.name=(w&16?"":(w&8?"un":"")+"signed ")+"char":h.name=(w&8?"u":"")+(w&32?"float":"int")+(h.ptrSize*8+"_t")),h.ptrSize==8&&!(w&32)&&(v=64),v==2048&&(I==512||I==640?v=4096:I&&(v=3072)),p(v,h)}var u=function(){function p(h){this.id=h.id,this.name=h.name,this.flags=h.flags,this.spec=h}return p.prototype.toString=function(){return this.name},p}(),A={Type:u,getComplexType:a,makeType:n,structureList:t};return e.output=A,e.output||A}function __nbind_register_type(e,t){var r=_nbind.readAsciiString(t),o={flags:10240,id:e,name:r};_nbind.makeType(_nbind.constructType,o)}function __nbind_register_callback_signature(e,t){var r=_nbind.readTypeIdList(e,t),o=_nbind.callbackSignatureList.length;return _nbind.callbackSignatureList[o]=_nbind.makeJSCaller(r),o}function __extends(e,t){for(var r in t)t.hasOwnProperty(r)&&(e[r]=t[r]);function o(){this.constructor=e}o.prototype=t.prototype,e.prototype=new o}function __nbind_register_class(e,t,r,o,a,n,u){var A=_nbind.readAsciiString(u),p=_nbind.readPolicyList(t),h=HEAPU32.subarray(e/4,e/4+2),w={flags:2048|(p.Value?2:0),id:h[0],name:A},I=_nbind.makeType(_nbind.constructType,w);I.ptrType=_nbind.getComplexType(h[1],_nbind.constructType,_nbind.getType,_nbind.queryType),I.destroy=_nbind.makeMethodCaller(I.ptrType,{boundID:w.id,flags:0,name:"destroy",num:0,ptr:n,title:I.name+".free",typeList:["void","uint32_t","uint32_t"]}),a&&(I.superIdList=Array.prototype.slice.call(HEAPU32.subarray(r/4,r/4+a)),I.upcastList=Array.prototype.slice.call(HEAPU32.subarray(o/4,o/4+a))),Module[I.name]=I.makeBound(p),_nbind.BindClass.list.push(I)}function _removeAccessorPrefix(e){var t=/^[Gg]et_?([A-Z]?([A-Z]?))/;return e.replace(t,function(r,o,a){return a?o:o.toLowerCase()})}function __nbind_register_function(e,t,r,o,a,n,u,A,p,h){var w=_nbind.getType(e),I=_nbind.readPolicyList(t),v=_nbind.readTypeIdList(r,o),b;if(u==5)b=[{direct:a,name:"__nbindConstructor",ptr:0,title:w.name+" constructor",typeList:["uint32_t"].concat(v.slice(1))},{direct:n,name:"__nbindValueConstructor",ptr:0,title:w.name+" value constructor",typeList:["void","uint32_t"].concat(v.slice(1))}];else{var E=_nbind.readAsciiString(A),R=(w.name&&w.name+".")+E;(u==3||u==4)&&(E=_removeAccessorPrefix(E)),b=[{boundID:e,direct:n,name:E,ptr:a,title:R,typeList:v}]}for(var N=0,U=b;N<U.length;N++){var V=U[N];V.signatureType=u,V.policyTbl=I,V.num=p,V.flags=h,w.addMethod(V)}}function _nbind_value(e,t){_nbind.typeNameTbl[e]||_nbind.throwError("Unknown value type "+e),Module.NBind.bind_value(e,t),_defineHidden(_nbind.typeNameTbl[e].proto.prototype.__nbindValueConstructor)(t.prototype,"__nbindValueConstructor")}Module._nbind_value=_nbind_value;function __nbind_get_value_object(e,t){var r=_nbind.popValue(e);if(!r.fromJS)throw new Error("Object "+r+" has no fromJS function");r.fromJS(function(){r.__nbindValueConstructor.apply(this,Array.prototype.concat.apply([t],arguments))})}function _emscripten_memcpy_big(e,t,r){return HEAPU8.set(HEAPU8.subarray(t,t+r),e),e}function __nbind_register_primitive(e,t,r){var o={flags:1024|r,id:e,ptrSize:t};_nbind.makeType(_nbind.constructType,o)}var cttz_i8=allocate([8,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,6,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,7,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,6,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0],"i8",ALLOC_STATIC);function ___setErrNo(e){return Module.___errno_location&&(HEAP32[Module.___errno_location()>>2]=e),e}function _llvm_stacksave(){var e=_llvm_stacksave;return e.LLVM_SAVEDSTACKS||(e.LLVM_SAVEDSTACKS=[]),e.LLVM_SAVEDSTACKS.push(Runtime.stackSave()),e.LLVM_SAVEDSTACKS.length-1}function ___syscall140(e,t){SYSCALLS.varargs=t;try{var r=SYSCALLS.getStreamFromFD(),o=SYSCALLS.get(),a=SYSCALLS.get(),n=SYSCALLS.get(),u=SYSCALLS.get(),A=a;return FS.llseek(r,A,u),HEAP32[n>>2]=r.position,r.getdents&&A===0&&u===0&&(r.getdents=null),0}catch(p){return(typeof FS>"u"||!(p instanceof FS.ErrnoError))&&abort(p),-p.errno}}function ___syscall146(e,t){SYSCALLS.varargs=t;try{var r=SYSCALLS.get(),o=SYSCALLS.get(),a=SYSCALLS.get(),n=0;___syscall146.buffer||(___syscall146.buffers=[null,[],[]],___syscall146.printChar=function(w,I){var v=___syscall146.buffers[w];assert(v),I===0||I===10?((w===1?Module.print:Module.printErr)(UTF8ArrayToString(v,0)),v.length=0):v.push(I)});for(var u=0;u<a;u++){for(var A=HEAP32[o+u*8>>2],p=HEAP32[o+(u*8+4)>>2],h=0;h<p;h++)___syscall146.printChar(r,HEAPU8[A+h]);n+=p}return n}catch(w){return(typeof FS>"u"||!(w instanceof FS.ErrnoError))&&abort(w),-w.errno}}function __nbind_finish(){for(var e=0,t=_nbind.BindClass.list;e<t.length;e++){var r=t[e];r.finish()}}var ___dso_handle=STATICTOP;STATICTOP+=16,function(_nbind){var typeIdTbl={};_nbind.typeNameTbl={};var Pool=function(){function e(){}return e.lalloc=function(t){t=t+7&-8;var r=HEAPU32[e.usedPtr];if(t>e.pageSize/2||t>e.pageSize-r){var o=_nbind.typeNameTbl.NBind.proto;return o.lalloc(t)}else return HEAPU32[e.usedPtr]=r+t,e.rootPtr+r},e.lreset=function(t,r){var o=HEAPU32[e.pagePtr];if(o){var a=_nbind.typeNameTbl.NBind.proto;a.lreset(t,r)}else HEAPU32[e.usedPtr]=t},e}();_nbind.Pool=Pool;function constructType(e,t){var r=e==10240?_nbind.makeTypeNameTbl[t.name]||_nbind.BindType:_nbind.makeTypeKindTbl[e],o=new r(t);return typeIdTbl[t.id]=o,_nbind.typeNameTbl[t.name]=o,o}_nbind.constructType=constructType;function getType(e){return typeIdTbl[e]}_nbind.getType=getType;function queryType(e){var t=HEAPU8[e],r=_nbind.structureList[t][1];e/=4,r<0&&(++e,r=HEAPU32[e]+1);var o=Array.prototype.slice.call(HEAPU32.subarray(e+1,e+1+r));return t==9&&(o=[o[0],o.slice(1)]),{paramList:o,placeholderFlag:t}}_nbind.queryType=queryType;function getTypes(e,t){return e.map(function(r){return typeof r=="number"?_nbind.getComplexType(r,constructType,getType,queryType,t):_nbind.typeNameTbl[r]})}_nbind.getTypes=getTypes;function readTypeIdList(e,t){return Array.prototype.slice.call(HEAPU32,e/4,e/4+t)}_nbind.readTypeIdList=readTypeIdList;function readAsciiString(e){for(var t=e;HEAPU8[t++];);return String.fromCharCode.apply("",HEAPU8.subarray(e,t-1))}_nbind.readAsciiString=readAsciiString;function readPolicyList(e){var t={};if(e)for(;;){var r=HEAPU32[e/4];if(!r)break;t[readAsciiString(r)]=!0,e+=4}return t}_nbind.readPolicyList=readPolicyList;function getDynCall(e,t){var r={float32_t:"d",float64_t:"d",int64_t:"d",uint64_t:"d",void:"v"},o=e.map(function(n){return r[n.name]||"i"}).join(""),a=Module["dynCall_"+o];if(!a)throw new Error("dynCall_"+o+" not found for "+t+"("+e.map(function(n){return n.name}).join(", ")+")");return a}_nbind.getDynCall=getDynCall;function addMethod(e,t,r,o){var a=e[t];e.hasOwnProperty(t)&&a?((a.arity||a.arity===0)&&(a=_nbind.makeOverloader(a,a.arity),e[t]=a),a.addMethod(r,o)):(r.arity=o,e[t]=r)}_nbind.addMethod=addMethod;function throwError(e){throw new Error(e)}_nbind.throwError=throwError,_nbind.bigEndian=!1,_a=_typeModule(_typeModule),_nbind.Type=_a.Type,_nbind.makeType=_a.makeType,_nbind.getComplexType=_a.getComplexType,_nbind.structureList=_a.structureList;var BindType=function(e){__extends(t,e);function t(){var r=e!==null&&e.apply(this,arguments)||this;return r.heap=HEAPU32,r.ptrSize=4,r}return t.prototype.needsWireRead=function(r){return!!this.wireRead||!!this.makeWireRead},t.prototype.needsWireWrite=function(r){return!!this.wireWrite||!!this.makeWireWrite},t}(_nbind.Type);_nbind.BindType=BindType;var PrimitiveType=function(e){__extends(t,e);function t(r){var o=e.call(this,r)||this,a=r.flags&32?{32:HEAPF32,64:HEAPF64}:r.flags&8?{8:HEAPU8,16:HEAPU16,32:HEAPU32}:{8:HEAP8,16:HEAP16,32:HEAP32};return o.heap=a[r.ptrSize*8],o.ptrSize=r.ptrSize,o}return t.prototype.needsWireWrite=function(r){return!!r&&!!r.Strict},t.prototype.makeWireWrite=function(r,o){return o&&o.Strict&&function(a){if(typeof a=="number")return a;throw new Error("Type mismatch")}},t}(BindType);_nbind.PrimitiveType=PrimitiveType;function pushCString(e,t){if(e==null){if(t&&t.Nullable)return 0;throw new Error("Type mismatch")}if(t&&t.Strict){if(typeof e!="string")throw new Error("Type mismatch")}else e=e.toString();var r=Module.lengthBytesUTF8(e)+1,o=_nbind.Pool.lalloc(r);return Module.stringToUTF8Array(e,HEAPU8,o,r),o}_nbind.pushCString=pushCString;function popCString(e){return e===0?null:Module.Pointer_stringify(e)}_nbind.popCString=popCString;var CStringType=function(e){__extends(t,e);function t(){var r=e!==null&&e.apply(this,arguments)||this;return r.wireRead=popCString,r.wireWrite=pushCString,r.readResources=[_nbind.resources.pool],r.writeResources=[_nbind.resources.pool],r}return t.prototype.makeWireWrite=function(r,o){return function(a){return pushCString(a,o)}},t}(BindType);_nbind.CStringType=CStringType;var BooleanType=function(e){__extends(t,e);function t(){var r=e!==null&&e.apply(this,arguments)||this;return r.wireRead=function(o){return!!o},r}return t.prototype.needsWireWrite=function(r){return!!r&&!!r.Strict},t.prototype.makeWireRead=function(r){return"!!("+r+")"},t.prototype.makeWireWrite=function(r,o){return o&&o.Strict&&function(a){if(typeof a=="boolean")return a;throw new Error("Type mismatch")}||r},t}(BindType);_nbind.BooleanType=BooleanType;var Wrapper=function(){function e(){}return e.prototype.persist=function(){this.__nbindState|=1},e}();_nbind.Wrapper=Wrapper;function makeBound(e,t){var r=function(o){__extends(a,o);function a(n,u,A,p){var h=o.call(this)||this;if(!(h instanceof a))return new(Function.prototype.bind.apply(a,Array.prototype.concat.apply([null],arguments)));var w=u,I=A,v=p;if(n!==_nbind.ptrMarker){var b=h.__nbindConstructor.apply(h,arguments);w=4608,v=HEAPU32[b/4],I=HEAPU32[b/4+1]}var E={configurable:!0,enumerable:!1,value:null,writable:!1},R={__nbindFlags:w,__nbindPtr:I};v&&(R.__nbindShared=v,_nbind.mark(h));for(var N=0,U=Object.keys(R);N<U.length;N++){var V=U[N];E.value=R[V],Object.defineProperty(h,V,E)}return _defineHidden(0)(h,"__nbindState"),h}return a.prototype.free=function(){t.destroy.call(this,this.__nbindShared,this.__nbindFlags),this.__nbindState|=2,disableMember(this,"__nbindShared"),disableMember(this,"__nbindPtr")},a}(Wrapper);return __decorate([_defineHidden()],r.prototype,"__nbindConstructor",void 0),__decorate([_defineHidden()],r.prototype,"__nbindValueConstructor",void 0),__decorate([_defineHidden(e)],r.prototype,"__nbindPolicies",void 0),r}_nbind.makeBound=makeBound;function disableMember(e,t){function r(){throw new Error("Accessing deleted object")}Object.defineProperty(e,t,{configurable:!1,enumerable:!1,get:r,set:r})}_nbind.ptrMarker={};var BindClass=function(e){__extends(t,e);function t(r){var o=e.call(this,r)||this;return o.wireRead=function(a){return _nbind.popValue(a,o.ptrType)},o.wireWrite=function(a){return pushPointer(a,o.ptrType,!0)},o.pendingSuperCount=0,o.ready=!1,o.methodTbl={},r.paramList?(o.classType=r.paramList[0].classType,o.proto=o.classType.proto):o.classType=o,o}return t.prototype.makeBound=function(r){var o=_nbind.makeBound(r,this);return this.proto=o,this.ptrType.proto=o,o},t.prototype.addMethod=function(r){var o=this.methodTbl[r.name]||[];o.push(r),this.methodTbl[r.name]=o},t.prototype.registerMethods=function(r,o){for(var a,n=0,u=Object.keys(r.methodTbl);n<u.length;n++)for(var A=u[n],p=r.methodTbl[A],h=0,w=p;h<w.length;h++){var I=w[h],v=void 0,b=void 0;if(v=this.proto.prototype,!(o&&I.signatureType!=1))switch(I.signatureType){case 1:v=this.proto;case 5:b=_nbind.makeCaller(I),_nbind.addMethod(v,I.name,b,I.typeList.length-1);break;case 4:a=_nbind.makeMethodCaller(r.ptrType,I);break;case 3:Object.defineProperty(v,I.name,{configurable:!0,enumerable:!1,get:_nbind.makeMethodCaller(r.ptrType,I),set:a});break;case 2:b=_nbind.makeMethodCaller(r.ptrType,I),_nbind.addMethod(v,I.name,b,I.typeList.length-1);break;default:break}}},t.prototype.registerSuperMethods=function(r,o,a){if(!a[r.name]){a[r.name]=!0;for(var n=0,u,A=0,p=r.superIdList||[];A<p.length;A++){var h=p[A],w=_nbind.getType(h);n++<o||o<0?u=-1:u=0,this.registerSuperMethods(w,u,a)}this.registerMethods(r,o<0)}},t.prototype.finish=function(){if(this.ready)return this;this.ready=!0,this.superList=(this.superIdList||[]).map(function(a){return _nbind.getType(a).finish()});var r=this.proto;if(this.superList.length){var o=function(){this.constructor=r};o.prototype=this.superList[0].proto.prototype,r.prototype=new o}return r!=Module&&(r.prototype.__nbindType=this),this.registerSuperMethods(this,1,{}),this},t.prototype.upcastStep=function(r,o){if(r==this)return o;for(var a=0;a<this.superList.length;++a){var n=this.superList[a].upcastStep(r,_nbind.callUpcast(this.upcastList[a],o));if(n)return n}return 0},t}(_nbind.BindType);BindClass.list=[],_nbind.BindClass=BindClass;function popPointer(e,t){return e?new t.proto(_nbind.ptrMarker,t.flags,e):null}_nbind.popPointer=popPointer;function pushPointer(e,t,r){if(!(e instanceof _nbind.Wrapper)){if(r)return _nbind.pushValue(e);throw new Error("Type mismatch")}var o=e.__nbindPtr,a=e.__nbindType.classType,n=t.classType;if(e instanceof t.proto)for(;a!=n;)o=_nbind.callUpcast(a.upcastList[0],o),a=a.superList[0];else if(o=a.upcastStep(n,o),!o)throw new Error("Type mismatch");return o}_nbind.pushPointer=pushPointer;function pushMutablePointer(e,t){var r=pushPointer(e,t);if(e.__nbindFlags&1)throw new Error("Passing a const value as a non-const argument");return r}var BindClassPtr=function(e){__extends(t,e);function t(r){var o=e.call(this,r)||this;o.classType=r.paramList[0].classType,o.proto=o.classType.proto;var a=r.flags&1,n=(o.flags&896)==256&&r.flags&2,u=a?pushPointer:pushMutablePointer,A=n?_nbind.popValue:popPointer;return o.makeWireWrite=function(p,h){return h.Nullable?function(w){return w?u(w,o):0}:function(w){return u(w,o)}},o.wireRead=function(p){return A(p,o)},o.wireWrite=function(p){return u(p,o)},o}return t}(_nbind.BindType);_nbind.BindClassPtr=BindClassPtr;function popShared(e,t){var r=HEAPU32[e/4],o=HEAPU32[e/4+1];return o?new t.proto(_nbind.ptrMarker,t.flags,o,r):null}_nbind.popShared=popShared;function pushShared(e,t){if(!(e instanceof t.proto))throw new Error("Type mismatch");return e.__nbindShared}function pushMutableShared(e,t){if(!(e instanceof t.proto))throw new Error("Type mismatch");if(e.__nbindFlags&1)throw new Error("Passing a const value as a non-const argument");return e.__nbindShared}var SharedClassPtr=function(e){__extends(t,e);function t(r){var o=e.call(this,r)||this;o.readResources=[_nbind.resources.pool],o.classType=r.paramList[0].classType,o.proto=o.classType.proto;var a=r.flags&1,n=a?pushShared:pushMutableShared;return o.wireRead=function(u){return popShared(u,o)},o.wireWrite=function(u){return n(u,o)},o}return t}(_nbind.BindType);_nbind.SharedClassPtr=SharedClassPtr,_nbind.externalList=[0];var firstFreeExternal=0,External=function(){function e(t){this.refCount=1,this.data=t}return e.prototype.register=function(){var t=firstFreeExternal;return t?firstFreeExternal=_nbind.externalList[t]:t=_nbind.externalList.length,_nbind.externalList[t]=this,t},e.prototype.reference=function(){++this.refCount},e.prototype.dereference=function(t){--this.refCount==0&&(this.free&&this.free(),_nbind.externalList[t]=firstFreeExternal,firstFreeExternal=t)},e}();_nbind.External=External;function popExternal(e){var t=_nbind.externalList[e];return t.dereference(e),t.data}function pushExternal(e){var t=new External(e);return t.reference(),t.register()}var ExternalType=function(e){__extends(t,e);function t(){var r=e!==null&&e.apply(this,arguments)||this;return r.wireRead=popExternal,r.wireWrite=pushExternal,r}return t}(_nbind.BindType);_nbind.ExternalType=ExternalType,_nbind.callbackSignatureList=[];var CallbackType=function(e){__extends(t,e);function t(){var r=e!==null&&e.apply(this,arguments)||this;return r.wireWrite=function(o){return typeof o!="function"&&_nbind.throwError("Type mismatch"),new _nbind.External(o).register()},r}return t}(_nbind.BindType);_nbind.CallbackType=CallbackType,_nbind.valueList=[0];var firstFreeValue=0;function pushValue(e){var t=firstFreeValue;return t?firstFreeValue=_nbind.valueList[t]:t=_nbind.valueList.length,_nbind.valueList[t]=e,t*2+1}_nbind.pushValue=pushValue;function popValue(e,t){if(e||_nbind.throwError("Value type JavaScript class is missing or not registered"),e&1){e>>=1;var r=_nbind.valueList[e];return _nbind.valueList[e]=firstFreeValue,firstFreeValue=e,r}else{if(t)return _nbind.popShared(e,t);throw new Error("Invalid value slot "+e)}}_nbind.popValue=popValue;var valueBase=18446744073709552e3;function push64(e){return typeof e=="number"?e:pushValue(e)*4096+valueBase}function pop64(e){return e<valueBase?e:popValue((e-valueBase)/4096)}var CreateValueType=function(e){__extends(t,e);function t(){return e!==null&&e.apply(this,arguments)||this}return t.prototype.makeWireWrite=function(r){return"(_nbind.pushValue(new "+r+"))"},t}(_nbind.BindType);_nbind.CreateValueType=CreateValueType;var Int64Type=function(e){__extends(t,e);function t(){var r=e!==null&&e.apply(this,arguments)||this;return r.wireWrite=push64,r.wireRead=pop64,r}return t}(_nbind.BindType);_nbind.Int64Type=Int64Type;function pushArray(e,t){if(!e)return 0;var r=e.length;if((t.size||t.size===0)&&r<t.size)throw new Error("Type mismatch");var o=t.memberType.ptrSize,a=_nbind.Pool.lalloc(4+r*o);HEAPU32[a/4]=r;var n=t.memberType.heap,u=(a+4)/o,A=t.memberType.wireWrite,p=0;if(A)for(;p<r;)n[u++]=A(e[p++]);else for(;p<r;)n[u++]=e[p++];return a}_nbind.pushArray=pushArray;function popArray(e,t){if(e===0)return null;var r=HEAPU32[e/4],o=new Array(r),a=t.memberType.heap;e=(e+4)/t.memberType.ptrSize;var n=t.memberType.wireRead,u=0;if(n)for(;u<r;)o[u++]=n(a[e++]);else for(;u<r;)o[u++]=a[e++];return o}_nbind.popArray=popArray;var ArrayType=function(e){__extends(t,e);function t(r){var o=e.call(this,r)||this;return o.wireRead=function(a){return popArray(a,o)},o.wireWrite=function(a){return pushArray(a,o)},o.readResources=[_nbind.resources.pool],o.writeResources=[_nbind.resources.pool],o.memberType=r.paramList[0],r.paramList[1]&&(o.size=r.paramList[1]),o}return t}(_nbind.BindType);_nbind.ArrayType=ArrayType;function pushString(e,t){if(e==null)if(t&&t.Nullable)e="";else throw new Error("Type mismatch");if(t&&t.Strict){if(typeof e!="string")throw new Error("Type mismatch")}else e=e.toString();var r=Module.lengthBytesUTF8(e),o=_nbind.Pool.lalloc(4+r+1);return HEAPU32[o/4]=r,Module.stringToUTF8Array(e,HEAPU8,o+4,r+1),o}_nbind.pushString=pushString;function popString(e){if(e===0)return null;var t=HEAPU32[e/4];return Module.Pointer_stringify(e+4,t)}_nbind.popString=popString;var StringType=function(e){__extends(t,e);function t(){var r=e!==null&&e.apply(this,arguments)||this;return r.wireRead=popString,r.wireWrite=pushString,r.readResources=[_nbind.resources.pool],r.writeResources=[_nbind.resources.pool],r}return t.prototype.makeWireWrite=function(r,o){return function(a){return pushString(a,o)}},t}(_nbind.BindType);_nbind.StringType=StringType;function makeArgList(e){return Array.apply(null,Array(e)).map(function(t,r){return"a"+(r+1)})}function anyNeedsWireWrite(e,t){return e.reduce(function(r,o){return r||o.needsWireWrite(t)},!1)}function anyNeedsWireRead(e,t){return e.reduce(function(r,o){return r||!!o.needsWireRead(t)},!1)}function makeWireRead(e,t,r,o){var a=e.length;return r.makeWireRead?r.makeWireRead(o,e,a):r.wireRead?(e[a]=r.wireRead,"(convertParamList["+a+"]("+o+"))"):o}function makeWireWrite(e,t,r,o){var a,n=e.length;return r.makeWireWrite?a=r.makeWireWrite(o,t,e,n):a=r.wireWrite,a?typeof a=="string"?a:(e[n]=a,"(convertParamList["+n+"]("+o+"))"):o}function buildCallerFunction(dynCall,ptrType,ptr,num,policyTbl,needsWireWrite,prefix,returnType,argTypeList,mask,err){var argList=makeArgList(argTypeList.length),convertParamList=[],callExpression=makeWireRead(convertParamList,policyTbl,returnType,"dynCall("+[prefix].concat(argList.map(function(e,t){return makeWireWrite(convertParamList,policyTbl,argTypeList[t],e)})).join(",")+")"),resourceSet=_nbind.listResources([returnType],argTypeList),sourceCode="function("+argList.join(",")+"){"+(mask?"this.__nbindFlags&mask&&err();":"")+resourceSet.makeOpen()+"var r="+callExpression+";"+resourceSet.makeClose()+"return r;}";return eval("("+sourceCode+")")}function buildJSCallerFunction(returnType,argTypeList){var argList=makeArgList(argTypeList.length),convertParamList=[],callExpression=makeWireWrite(convertParamList,null,returnType,"_nbind.externalList[num].data("+argList.map(function(e,t){return makeWireRead(convertParamList,null,argTypeList[t],e)}).join(",")+")"),resourceSet=_nbind.listResources(argTypeList,[returnType]);resourceSet.remove(_nbind.resources.pool);var sourceCode="function("+["dummy","num"].concat(argList).join(",")+"){"+resourceSet.makeOpen()+"var r="+callExpression+";"+resourceSet.makeClose()+"return r;}";return eval("("+sourceCode+")")}_nbind.buildJSCallerFunction=buildJSCallerFunction;function makeJSCaller(e){var t=e.length-1,r=_nbind.getTypes(e,"callback"),o=r[0],a=r.slice(1),n=anyNeedsWireRead(a,null),u=o.needsWireWrite(null);if(!u&&!n)switch(t){case 0:return function(A,p){return _nbind.externalList[p].data()};case 1:return function(A,p,h){return _nbind.externalList[p].data(h)};case 2:return function(A,p,h,w){return _nbind.externalList[p].data(h,w)};case 3:return function(A,p,h,w,I){return _nbind.externalList[p].data(h,w,I)};default:break}return buildJSCallerFunction(o,a)}_nbind.makeJSCaller=makeJSCaller;function makeMethodCaller(e,t){var r=t.typeList.length-1,o=t.typeList.slice(0);o.splice(1,0,"uint32_t",t.boundID);var a=_nbind.getTypes(o,t.title),n=a[0],u=a.slice(3),A=n.needsWireRead(t.policyTbl),p=anyNeedsWireWrite(u,t.policyTbl),h=t.ptr,w=t.num,I=_nbind.getDynCall(a,t.title),v=~t.flags&1;function b(){throw new Error("Calling a non-const method on a const object")}if(!A&&!p)switch(r){case 0:return function(){return this.__nbindFlags&v?b():I(h,w,_nbind.pushPointer(this,e))};case 1:return function(E){return this.__nbindFlags&v?b():I(h,w,_nbind.pushPointer(this,e),E)};case 2:return function(E,R){return this.__nbindFlags&v?b():I(h,w,_nbind.pushPointer(this,e),E,R)};case 3:return function(E,R,N){return this.__nbindFlags&v?b():I(h,w,_nbind.pushPointer(this,e),E,R,N)};default:break}return buildCallerFunction(I,e,h,w,t.policyTbl,p,"ptr,num,pushPointer(this,ptrType)",n,u,v,b)}_nbind.makeMethodCaller=makeMethodCaller;function makeCaller(e){var t=e.typeList.length-1,r=_nbind.getTypes(e.typeList,e.title),o=r[0],a=r.slice(1),n=o.needsWireRead(e.policyTbl),u=anyNeedsWireWrite(a,e.policyTbl),A=e.direct,p=e.ptr;if(e.direct&&!n&&!u){var h=_nbind.getDynCall(r,e.title);switch(t){case 0:return function(){return h(A)};case 1:return function(b){return h(A,b)};case 2:return function(b,E){return h(A,b,E)};case 3:return function(b,E,R){return h(A,b,E,R)};default:break}p=0}var w;if(p){var I=e.typeList.slice(0);I.splice(1,0,"uint32_t"),r=_nbind.getTypes(I,e.title),w="ptr,num"}else p=A,w="ptr";var v=_nbind.getDynCall(r,e.title);return buildCallerFunction(v,null,p,e.num,e.policyTbl,u,w,o,a)}_nbind.makeCaller=makeCaller;function makeOverloader(e,t){var r=[];function o(){return r[arguments.length].apply(this,arguments)}return o.addMethod=function(a,n){r[n]=a},o.addMethod(e,t),o}_nbind.makeOverloader=makeOverloader;var Resource=function(){function e(t,r){var o=this;this.makeOpen=function(){return Object.keys(o.openTbl).join("")},this.makeClose=function(){return Object.keys(o.closeTbl).join("")},this.openTbl={},this.closeTbl={},t&&(this.openTbl[t]=!0),r&&(this.closeTbl[r]=!0)}return e.prototype.add=function(t){for(var r=0,o=Object.keys(t.openTbl);r<o.length;r++){var a=o[r];this.openTbl[a]=!0}for(var n=0,u=Object.keys(t.closeTbl);n<u.length;n++){var a=u[n];this.closeTbl[a]=!0}},e.prototype.remove=function(t){for(var r=0,o=Object.keys(t.openTbl);r<o.length;r++){var a=o[r];delete this.openTbl[a]}for(var n=0,u=Object.keys(t.closeTbl);n<u.length;n++){var a=u[n];delete this.closeTbl[a]}},e}();_nbind.Resource=Resource;function listResources(e,t){for(var r=new Resource,o=0,a=e;o<a.length;o++)for(var n=a[o],u=0,A=n.readResources||[];u<A.length;u++){var p=A[u];r.add(p)}for(var h=0,w=t;h<w.length;h++)for(var n=w[h],I=0,v=n.writeResources||[];I<v.length;I++){var p=v[I];r.add(p)}return r}_nbind.listResources=listResources,_nbind.resources={pool:new Resource("var used=HEAPU32[_nbind.Pool.usedPtr],page=HEAPU32[_nbind.Pool.pagePtr];","_nbind.Pool.lreset(used,page);")};var ExternalBuffer=function(e){__extends(t,e);function t(r,o){var a=e.call(this,r)||this;return a.ptr=o,a}return t.prototype.free=function(){_free(this.ptr)},t}(_nbind.External);function getBuffer(e){return e instanceof ArrayBuffer?new Uint8Array(e):e instanceof DataView?new Uint8Array(e.buffer,e.byteOffset,e.byteLength):e}function pushBuffer(e,t){if(e==null&&t&&t.Nullable&&(e=[]),typeof e!="object")throw new Error("Type mismatch");var r=e,o=r.byteLength||r.length;if(!o&&o!==0&&r.byteLength!==0)throw new Error("Type mismatch");var a=_nbind.Pool.lalloc(8),n=_malloc(o),u=a/4;return HEAPU32[u++]=o,HEAPU32[u++]=n,HEAPU32[u++]=new ExternalBuffer(e,n).register(),HEAPU8.set(getBuffer(e),n),a}var BufferType=function(e){__extends(t,e);function t(){var r=e!==null&&e.apply(this,arguments)||this;return r.wireWrite=pushBuffer,r.readResources=[_nbind.resources.pool],r.writeResources=[_nbind.resources.pool],r}return t.prototype.makeWireWrite=function(r,o){return function(a){return pushBuffer(a,o)}},t}(_nbind.BindType);_nbind.BufferType=BufferType;function commitBuffer(e,t,r){var o=_nbind.externalList[e].data,a=Buffer;if(typeof Buffer!="function"&&(a=function(){}),!(o instanceof Array)){var n=HEAPU8.subarray(t,t+r);if(o instanceof a){var u=void 0;typeof Buffer.from=="function"&&Buffer.from.length>=3?u=Buffer.from(n):u=new Buffer(n),u.copy(o)}else getBuffer(o).set(n)}}_nbind.commitBuffer=commitBuffer;var dirtyList=[],gcTimer=0;function sweep(){for(var e=0,t=dirtyList;e<t.length;e++){var r=t[e];r.__nbindState&3||r.free()}dirtyList=[],gcTimer=0}_nbind.mark=function(e){};function toggleLightGC(e){e?_nbind.mark=function(t){dirtyList.push(t),gcTimer||(gcTimer=setTimeout(sweep,0))}:_nbind.mark=function(t){}}_nbind.toggleLightGC=toggleLightGC}(_nbind),Module.requestFullScreen=function e(t,r,o){Module.printErr("Module.requestFullScreen is deprecated. Please call Module.requestFullscreen instead."),Module.requestFullScreen=Module.requestFullscreen,Browser.requestFullScreen(t,r,o)},Module.requestFullscreen=function e(t,r,o){Browser.requestFullscreen(t,r,o)},Module.requestAnimationFrame=function e(t){Browser.requestAnimationFrame(t)},Module.setCanvasSize=function e(t,r,o){Browser.setCanvasSize(t,r,o)},Module.pauseMainLoop=function e(){Browser.mainLoop.pause()},Module.resumeMainLoop=function e(){Browser.mainLoop.resume()},Module.getUserMedia=function e(){Browser.getUserMedia()},Module.createContext=function e(t,r,o,a){return Browser.createContext(t,r,o,a)},ENVIRONMENT_IS_NODE?_emscripten_get_now=function(){var t=process.hrtime();return t[0]*1e3+t[1]/1e6}:typeof dateNow<"u"?_emscripten_get_now=dateNow:typeof self=="object"&&self.performance&&typeof self.performance.now=="function"?_emscripten_get_now=function(){return self.performance.now()}:typeof performance=="object"&&typeof performance.now=="function"?_emscripten_get_now=function(){return performance.now()}:_emscripten_get_now=Date.now,__ATEXIT__.push(function(){var e=Module._fflush;e&&e(0);var t=___syscall146.printChar;if(!!t){var r=___syscall146.buffers;r[1].length&&t(1,10),r[2].length&&t(2,10)}}),DYNAMICTOP_PTR=allocate(1,"i32",ALLOC_STATIC),STACK_BASE=STACKTOP=Runtime.alignMemory(STATICTOP),STACK_MAX=STACK_BASE+TOTAL_STACK,DYNAMIC_BASE=Runtime.alignMemory(STACK_MAX),HEAP32[DYNAMICTOP_PTR>>2]=DYNAMIC_BASE,staticSealed=!0;function invoke_viiiii(e,t,r,o,a,n){try{Module.dynCall_viiiii(e,t,r,o,a,n)}catch(u){if(typeof u!="number"&&u!=="longjmp")throw u;Module.setThrew(1,0)}}function invoke_vif(e,t,r){try{Module.dynCall_vif(e,t,r)}catch(o){if(typeof o!="number"&&o!=="longjmp")throw o;Module.setThrew(1,0)}}function invoke_vid(e,t,r){try{Module.dynCall_vid(e,t,r)}catch(o){if(typeof o!="number"&&o!=="longjmp")throw o;Module.setThrew(1,0)}}function invoke_fiff(e,t,r,o){try{return Module.dynCall_fiff(e,t,r,o)}catch(a){if(typeof a!="number"&&a!=="longjmp")throw a;Module.setThrew(1,0)}}function invoke_vi(e,t){try{Module.dynCall_vi(e,t)}catch(r){if(typeof r!="number"&&r!=="longjmp")throw r;Module.setThrew(1,0)}}function invoke_vii(e,t,r){try{Module.dynCall_vii(e,t,r)}catch(o){if(typeof o!="number"&&o!=="longjmp")throw o;Module.setThrew(1,0)}}function invoke_ii(e,t){try{return Module.dynCall_ii(e,t)}catch(r){if(typeof r!="number"&&r!=="longjmp")throw r;Module.setThrew(1,0)}}function invoke_viddi(e,t,r,o,a){try{Module.dynCall_viddi(e,t,r,o,a)}catch(n){if(typeof n!="number"&&n!=="longjmp")throw n;Module.setThrew(1,0)}}function invoke_vidd(e,t,r,o){try{Module.dynCall_vidd(e,t,r,o)}catch(a){if(typeof a!="number"&&a!=="longjmp")throw a;Module.setThrew(1,0)}}function invoke_iiii(e,t,r,o){try{return Module.dynCall_iiii(e,t,r,o)}catch(a){if(typeof a!="number"&&a!=="longjmp")throw a;Module.setThrew(1,0)}}function invoke_diii(e,t,r,o){try{return Module.dynCall_diii(e,t,r,o)}catch(a){if(typeof a!="number"&&a!=="longjmp")throw a;Module.setThrew(1,0)}}function invoke_di(e,t){try{return Module.dynCall_di(e,t)}catch(r){if(typeof r!="number"&&r!=="longjmp")throw r;Module.setThrew(1,0)}}function invoke_iid(e,t,r){try{return Module.dynCall_iid(e,t,r)}catch(o){if(typeof o!="number"&&o!=="longjmp")throw o;Module.setThrew(1,0)}}function invoke_iii(e,t,r){try{return Module.dynCall_iii(e,t,r)}catch(o){if(typeof o!="number"&&o!=="longjmp")throw o;Module.setThrew(1,0)}}function invoke_viiddi(e,t,r,o,a,n){try{Module.dynCall_viiddi(e,t,r,o,a,n)}catch(u){if(typeof u!="number"&&u!=="longjmp")throw u;Module.setThrew(1,0)}}function invoke_viiiiii(e,t,r,o,a,n,u){try{Module.dynCall_viiiiii(e,t,r,o,a,n,u)}catch(A){if(typeof A!="number"&&A!=="longjmp")throw A;Module.setThrew(1,0)}}function invoke_dii(e,t,r){try{return Module.dynCall_dii(e,t,r)}catch(o){if(typeof o!="number"&&o!=="longjmp")throw o;Module.setThrew(1,0)}}function invoke_i(e){try{return Module.dynCall_i(e)}catch(t){if(typeof t!="number"&&t!=="longjmp")throw t;Module.setThrew(1,0)}}function invoke_iiiiii(e,t,r,o,a,n){try{return Module.dynCall_iiiiii(e,t,r,o,a,n)}catch(u){if(typeof u!="number"&&u!=="longjmp")throw u;Module.setThrew(1,0)}}function invoke_viiid(e,t,r,o,a){try{Module.dynCall_viiid(e,t,r,o,a)}catch(n){if(typeof n!="number"&&n!=="longjmp")throw n;Module.setThrew(1,0)}}function invoke_viififi(e,t,r,o,a,n,u){try{Module.dynCall_viififi(e,t,r,o,a,n,u)}catch(A){if(typeof A!="number"&&A!=="longjmp")throw A;Module.setThrew(1,0)}}function invoke_viii(e,t,r,o){try{Module.dynCall_viii(e,t,r,o)}catch(a){if(typeof a!="number"&&a!=="longjmp")throw a;Module.setThrew(1,0)}}function invoke_v(e){try{Module.dynCall_v(e)}catch(t){if(typeof t!="number"&&t!=="longjmp")throw t;Module.setThrew(1,0)}}function invoke_viid(e,t,r,o){try{Module.dynCall_viid(e,t,r,o)}catch(a){if(typeof a!="number"&&a!=="longjmp")throw a;Module.setThrew(1,0)}}function invoke_idd(e,t,r){try{return Module.dynCall_idd(e,t,r)}catch(o){if(typeof o!="number"&&o!=="longjmp")throw o;Module.setThrew(1,0)}}function invoke_viiii(e,t,r,o,a){try{Module.dynCall_viiii(e,t,r,o,a)}catch(n){if(typeof n!="number"&&n!=="longjmp")throw n;Module.setThrew(1,0)}}Module.asmGlobalArg={Math,Int8Array,Int16Array,Int32Array,Uint8Array,Uint16Array,Uint32Array,Float32Array,Float64Array,NaN:NaN,Infinity:1/0},Module.asmLibraryArg={abort,assert,enlargeMemory,getTotalMemory,abortOnCannotGrowMemory,invoke_viiiii,invoke_vif,invoke_vid,invoke_fiff,invoke_vi,invoke_vii,invoke_ii,invoke_viddi,invoke_vidd,invoke_iiii,invoke_diii,invoke_di,invoke_iid,invoke_iii,invoke_viiddi,invoke_viiiiii,invoke_dii,invoke_i,invoke_iiiiii,invoke_viiid,invoke_viififi,invoke_viii,invoke_v,invoke_viid,invoke_idd,invoke_viiii,_emscripten_asm_const_iiiii,_emscripten_asm_const_iiidddddd,_emscripten_asm_const_iiiid,__nbind_reference_external,_emscripten_asm_const_iiiiiiii,_removeAccessorPrefix,_typeModule,__nbind_register_pool,__decorate,_llvm_stackrestore,___cxa_atexit,__extends,__nbind_get_value_object,__ZN8facebook4yoga14YGNodeToStringEPNSt3__212basic_stringIcNS1_11char_traitsIcEENS1_9allocatorIcEEEEP6YGNode14YGPrintOptionsj,_emscripten_set_main_loop_timing,__nbind_register_primitive,__nbind_register_type,_emscripten_memcpy_big,__nbind_register_function,___setErrNo,__nbind_register_class,__nbind_finish,_abort,_nbind_value,_llvm_stacksave,___syscall54,_defineHidden,_emscripten_set_main_loop,_emscripten_get_now,__nbind_register_callback_signature,_emscripten_asm_const_iiiiii,__nbind_free_external,_emscripten_asm_const_iiii,_emscripten_asm_const_iiididi,___syscall6,_atexit,___syscall140,___syscall146,DYNAMICTOP_PTR,tempDoublePtr,ABORT,STACKTOP,STACK_MAX,cttz_i8,___dso_handle};var asm=function(e,t,r){var o=new e.Int8Array(r),a=new e.Int16Array(r),n=new e.Int32Array(r),u=new e.Uint8Array(r),A=new e.Uint16Array(r),p=new e.Uint32Array(r),h=new e.Float32Array(r),w=new e.Float64Array(r),I=t.DYNAMICTOP_PTR|0,v=t.tempDoublePtr|0,b=t.ABORT|0,E=t.STACKTOP|0,R=t.STACK_MAX|0,N=t.cttz_i8|0,U=t.___dso_handle|0,V=0,ee=0,le=0,fe=0,de=e.NaN,ge=e.Infinity,oe=0,Be=0,be=0,g=0,we=0,Se=0,ce=e.Math.floor,ne=e.Math.abs,te=e.Math.sqrt,Ee=e.Math.pow,Re=e.Math.cos,dt=e.Math.sin,H=e.Math.tan,at=e.Math.acos,Te=e.Math.asin,Qe=e.Math.atan,ke=e.Math.atan2,He=e.Math.exp,Ne=e.Math.log,Ve=e.Math.ceil,je=e.Math.imul,x=e.Math.min,C=e.Math.max,P=e.Math.clz32,y=e.Math.fround,F=t.abort,z=t.assert,X=t.enlargeMemory,Z=t.getTotalMemory,ie=t.abortOnCannotGrowMemory,Pe=t.invoke_viiiii,Le=t.invoke_vif,ot=t.invoke_vid,gt=t.invoke_fiff,jt=t.invoke_vi,$t=t.invoke_vii,xt=t.invoke_ii,on=t.invoke_viddi,br=t.invoke_vidd,dr=t.invoke_iiii,Pr=t.invoke_diii,Yr=t.invoke_di,Wn=t.invoke_iid,Os=t.invoke_iii,Ti=t.invoke_viiddi,hs=t.invoke_viiiiii,io=t.invoke_dii,Si=t.invoke_i,Ms=t.invoke_iiiiii,so=t.invoke_viiid,cc=t.invoke_viififi,Au=t.invoke_viii,op=t.invoke_v,ap=t.invoke_viid,Us=t.invoke_idd,vn=t.invoke_viiii,oo=t._emscripten_asm_const_iiiii,_s=t._emscripten_asm_const_iiidddddd,dl=t._emscripten_asm_const_iiiid,ml=t.__nbind_reference_external,ao=t._emscripten_asm_const_iiiiiiii,Kn=t._removeAccessorPrefix,Ln=t._typeModule,Ni=t.__nbind_register_pool,On=t.__decorate,Hi=t._llvm_stackrestore,ve=t.___cxa_atexit,Li=t.__extends,ni=t.__nbind_get_value_object,Ma=t.__ZN8facebook4yoga14YGNodeToStringEPNSt3__212basic_stringIcNS1_11char_traitsIcEENS1_9allocatorIcEEEEP6YGNode14YGPrintOptionsj,pr=t._emscripten_set_main_loop_timing,uc=t.__nbind_register_primitive,fu=t.__nbind_register_type,Ac=t._emscripten_memcpy_big,yl=t.__nbind_register_function,DA=t.___setErrNo,pu=t.__nbind_register_class,Ce=t.__nbind_finish,Rt=t._abort,fc=t._nbind_value,ji=t._llvm_stacksave,hu=t.___syscall54,Yt=t._defineHidden,El=t._emscripten_set_main_loop,SA=t._emscripten_get_now,lp=t.__nbind_register_callback_signature,pc=t._emscripten_asm_const_iiiiii,PA=t.__nbind_free_external,Qn=t._emscripten_asm_const_iiii,pi=t._emscripten_asm_const_iiididi,hc=t.___syscall6,xA=t._atexit,oa=t.___syscall140,Oi=t.___syscall146,_o=y(0);let Ze=y(0);function lo(s){s=s|0;var l=0;return l=E,E=E+s|0,E=E+15&-16,l|0}function gc(){return E|0}function gu(s){s=s|0,E=s}function qi(s,l){s=s|0,l=l|0,E=s,R=l}function du(s,l){s=s|0,l=l|0,V||(V=s,ee=l)}function bA(s){s=s|0,Se=s}function Ua(){return Se|0}function dc(){var s=0,l=0;vr(8104,8,400)|0,vr(8504,408,540)|0,s=9044,l=s+44|0;do n[s>>2]=0,s=s+4|0;while((s|0)<(l|0));o[9088]=0,o[9089]=1,n[2273]=0,n[2274]=948,n[2275]=948,ve(17,8104,U|0)|0}function gs(s){s=s|0,ft(s+948|0)}function Ut(s){return s=y(s),((Pu(s)|0)&2147483647)>>>0>2139095040|0}function kn(s,l,c){s=s|0,l=l|0,c=c|0;e:do if(n[s+(l<<3)+4>>2]|0)s=s+(l<<3)|0;else{if((l|2|0)==3&&n[s+60>>2]|0){s=s+56|0;break}switch(l|0){case 0:case 2:case 4:case 5:{if(n[s+52>>2]|0){s=s+48|0;break e}break}default:}if(n[s+68>>2]|0){s=s+64|0;break}else{s=(l|1|0)==5?948:c;break}}while(0);return s|0}function Ei(s){s=s|0;var l=0;return l=fD(1e3)|0,aa(s,(l|0)!=0,2456),n[2276]=(n[2276]|0)+1,vr(l|0,8104,1e3)|0,o[s+2>>0]|0&&(n[l+4>>2]=2,n[l+12>>2]=4),n[l+976>>2]=s,l|0}function aa(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0;d=E,E=E+16|0,f=d,l||(n[f>>2]=c,mg(s,5,3197,f)),E=d}function co(){return Ei(956)|0}function Hs(s){s=s|0;var l=0;return l=Kt(1e3)|0,la(l,s),aa(n[s+976>>2]|0,1,2456),n[2276]=(n[2276]|0)+1,n[l+944>>2]=0,l|0}function la(s,l){s=s|0,l=l|0;var c=0;vr(s|0,l|0,948)|0,Fm(s+948|0,l+948|0),c=s+960|0,s=l+960|0,l=c+40|0;do n[c>>2]=n[s>>2],c=c+4|0,s=s+4|0;while((c|0)<(l|0))}function ca(s){s=s|0;var l=0,c=0,f=0,d=0;if(l=s+944|0,c=n[l>>2]|0,c|0&&(Ho(c+948|0,s)|0,n[l>>2]=0),c=wi(s)|0,c|0){l=0;do n[(ds(s,l)|0)+944>>2]=0,l=l+1|0;while((l|0)!=(c|0))}c=s+948|0,f=n[c>>2]|0,d=s+952|0,l=n[d>>2]|0,(l|0)!=(f|0)&&(n[d>>2]=l+(~((l+-4-f|0)>>>2)<<2)),ms(c),pD(s),n[2276]=(n[2276]|0)+-1}function Ho(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0,Q=0;f=n[s>>2]|0,Q=s+4|0,c=n[Q>>2]|0,m=c;e:do if((f|0)==(c|0))d=f,B=4;else for(s=f;;){if((n[s>>2]|0)==(l|0)){d=s,B=4;break e}if(s=s+4|0,(s|0)==(c|0)){s=0;break}}while(0);return(B|0)==4&&((d|0)!=(c|0)?(f=d+4|0,s=m-f|0,l=s>>2,l&&(LC(d|0,f|0,s|0)|0,c=n[Q>>2]|0),s=d+(l<<2)|0,(c|0)==(s|0)||(n[Q>>2]=c+(~((c+-4-s|0)>>>2)<<2)),s=1):s=0),s|0}function wi(s){return s=s|0,(n[s+952>>2]|0)-(n[s+948>>2]|0)>>2|0}function ds(s,l){s=s|0,l=l|0;var c=0;return c=n[s+948>>2]|0,(n[s+952>>2]|0)-c>>2>>>0>l>>>0?s=n[c+(l<<2)>>2]|0:s=0,s|0}function ms(s){s=s|0;var l=0,c=0,f=0,d=0;f=E,E=E+32|0,l=f,d=n[s>>2]|0,c=(n[s+4>>2]|0)-d|0,((n[s+8>>2]|0)-d|0)>>>0>c>>>0&&(d=c>>2,wp(l,d,d,s+8|0),Cg(s,l),_A(l)),E=f}function ys(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0,Q=0,k=0,M=0;M=wi(s)|0;do if(M|0){if((n[(ds(s,0)|0)+944>>2]|0)==(s|0)){if(!(Ho(s+948|0,l)|0))break;vr(l+400|0,8504,540)|0,n[l+944>>2]=0,Oe(s);break}B=n[(n[s+976>>2]|0)+12>>2]|0,Q=s+948|0,k=(B|0)==0,c=0,m=0;do f=n[(n[Q>>2]|0)+(m<<2)>>2]|0,(f|0)==(l|0)?Oe(s):(d=Hs(f)|0,n[(n[Q>>2]|0)+(c<<2)>>2]=d,n[d+944>>2]=s,k||RR[B&15](f,d,s,c),c=c+1|0),m=m+1|0;while((m|0)!=(M|0));if(c>>>0<M>>>0){k=s+948|0,Q=s+952|0,B=c,c=n[Q>>2]|0;do m=(n[k>>2]|0)+(B<<2)|0,f=m+4|0,d=c-f|0,l=d>>2,l&&(LC(m|0,f|0,d|0)|0,c=n[Q>>2]|0),d=c,f=m+(l<<2)|0,(d|0)!=(f|0)&&(c=d+(~((d+-4-f|0)>>>2)<<2)|0,n[Q>>2]=c),B=B+1|0;while((B|0)!=(M|0))}}while(0)}function js(s){s=s|0;var l=0,c=0,f=0,d=0;Mn(s,(wi(s)|0)==0,2491),Mn(s,(n[s+944>>2]|0)==0,2545),l=s+948|0,c=n[l>>2]|0,f=s+952|0,d=n[f>>2]|0,(d|0)!=(c|0)&&(n[f>>2]=d+(~((d+-4-c|0)>>>2)<<2)),ms(l),l=s+976|0,c=n[l>>2]|0,vr(s|0,8104,1e3)|0,o[c+2>>0]|0&&(n[s+4>>2]=2,n[s+12>>2]=4),n[l>>2]=c}function Mn(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0;d=E,E=E+16|0,f=d,l||(n[f>>2]=c,Ao(s,5,3197,f)),E=d}function Dn(){return n[2276]|0}function Es(){var s=0;return s=fD(20)|0,We((s|0)!=0,2592),n[2277]=(n[2277]|0)+1,n[s>>2]=n[239],n[s+4>>2]=n[240],n[s+8>>2]=n[241],n[s+12>>2]=n[242],n[s+16>>2]=n[243],s|0}function We(s,l){s=s|0,l=l|0;var c=0,f=0;f=E,E=E+16|0,c=f,s||(n[c>>2]=l,Ao(0,5,3197,c)),E=f}function tt(s){s=s|0,pD(s),n[2277]=(n[2277]|0)+-1}function It(s,l){s=s|0,l=l|0;var c=0;l?(Mn(s,(wi(s)|0)==0,2629),c=1):(c=0,l=0),n[s+964>>2]=l,n[s+988>>2]=c}function rr(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0;f=E,E=E+16|0,m=f+8|0,d=f+4|0,B=f,n[d>>2]=l,Mn(s,(n[l+944>>2]|0)==0,2709),Mn(s,(n[s+964>>2]|0)==0,2763),$(s),l=s+948|0,n[B>>2]=(n[l>>2]|0)+(c<<2),n[m>>2]=n[B>>2],me(l,m,d)|0,n[(n[d>>2]|0)+944>>2]=s,Oe(s),E=f}function $(s){s=s|0;var l=0,c=0,f=0,d=0,m=0,B=0,Q=0;if(c=wi(s)|0,c|0&&(n[(ds(s,0)|0)+944>>2]|0)!=(s|0)){f=n[(n[s+976>>2]|0)+12>>2]|0,d=s+948|0,m=(f|0)==0,l=0;do B=n[(n[d>>2]|0)+(l<<2)>>2]|0,Q=Hs(B)|0,n[(n[d>>2]|0)+(l<<2)>>2]=Q,n[Q+944>>2]=s,m||RR[f&15](B,Q,s,l),l=l+1|0;while((l|0)!=(c|0))}}function me(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,Q=0,k=0,M=0,O=0,q=0,se=0,Ge=0,Me=0,Fe=0,et=0,Xe=0;et=E,E=E+64|0,q=et+52|0,Q=et+48|0,se=et+28|0,Ge=et+24|0,Me=et+20|0,Fe=et,f=n[s>>2]|0,m=f,l=f+((n[l>>2]|0)-m>>2<<2)|0,f=s+4|0,d=n[f>>2]|0,B=s+8|0;do if(d>>>0<(n[B>>2]|0)>>>0){if((l|0)==(d|0)){n[l>>2]=n[c>>2],n[f>>2]=(n[f>>2]|0)+4;break}HA(s,l,d,l+4|0),l>>>0<=c>>>0&&(c=(n[f>>2]|0)>>>0>c>>>0?c+4|0:c),n[l>>2]=n[c>>2]}else{f=(d-m>>2)+1|0,d=L(s)|0,d>>>0<f>>>0&&Vr(s),O=n[s>>2]|0,M=(n[B>>2]|0)-O|0,m=M>>1,wp(Fe,M>>2>>>0<d>>>1>>>0?m>>>0<f>>>0?f:m:d,l-O>>2,s+8|0),O=Fe+8|0,f=n[O>>2]|0,m=Fe+12|0,M=n[m>>2]|0,B=M,k=f;do if((f|0)==(M|0)){if(M=Fe+4|0,f=n[M>>2]|0,Xe=n[Fe>>2]|0,d=Xe,f>>>0<=Xe>>>0){f=B-d>>1,f=(f|0)==0?1:f,wp(se,f,f>>>2,n[Fe+16>>2]|0),n[Ge>>2]=n[M>>2],n[Me>>2]=n[O>>2],n[Q>>2]=n[Ge>>2],n[q>>2]=n[Me>>2],BC(se,Q,q),f=n[Fe>>2]|0,n[Fe>>2]=n[se>>2],n[se>>2]=f,f=se+4|0,Xe=n[M>>2]|0,n[M>>2]=n[f>>2],n[f>>2]=Xe,f=se+8|0,Xe=n[O>>2]|0,n[O>>2]=n[f>>2],n[f>>2]=Xe,f=se+12|0,Xe=n[m>>2]|0,n[m>>2]=n[f>>2],n[f>>2]=Xe,_A(se),f=n[O>>2]|0;break}m=f,B=((m-d>>2)+1|0)/-2|0,Q=f+(B<<2)|0,d=k-m|0,m=d>>2,m&&(LC(Q|0,f|0,d|0)|0,f=n[M>>2]|0),Xe=Q+(m<<2)|0,n[O>>2]=Xe,n[M>>2]=f+(B<<2),f=Xe}while(0);n[f>>2]=n[c>>2],n[O>>2]=(n[O>>2]|0)+4,l=Ig(s,Fe,l)|0,_A(Fe)}while(0);return E=et,l|0}function Oe(s){s=s|0;var l=0;do{if(l=s+984|0,o[l>>0]|0)break;o[l>>0]=1,h[s+504>>2]=y(de),s=n[s+944>>2]|0}while((s|0)!=0)}function ft(s){s=s|0;var l=0,c=0,f=0;c=n[s>>2]|0,f=c,c|0&&(s=s+4|0,l=n[s>>2]|0,(l|0)!=(c|0)&&(n[s>>2]=l+(~((l+-4-f|0)>>>2)<<2)),ht(c))}function pt(s){return s=s|0,n[s+944>>2]|0}function Tt(s){s=s|0,Mn(s,(n[s+964>>2]|0)!=0,2832),Oe(s)}function er(s){return s=s|0,(o[s+984>>0]|0)!=0|0}function Xr(s,l){s=s|0,l=l|0,QUe(s,l,400)|0&&(vr(s|0,l|0,400)|0,Oe(s))}function Gi(s){s=s|0;var l=Ze;return l=y(h[s+44>>2]),s=Ut(l)|0,y(s?y(0):l)}function $i(s){s=s|0;var l=Ze;return l=y(h[s+48>>2]),Ut(l)|0&&(l=o[(n[s+976>>2]|0)+2>>0]|0?y(1):y(0)),y(l)}function Pi(s,l){s=s|0,l=l|0,n[s+980>>2]=l}function jo(s){return s=s|0,n[s+980>>2]|0}function QA(s,l){s=s|0,l=l|0;var c=0;c=s+4|0,(n[c>>2]|0)!=(l|0)&&(n[c>>2]=l,Oe(s))}function kA(s){return s=s|0,n[s+4>>2]|0}function cp(s,l){s=s|0,l=l|0;var c=0;c=s+8|0,(n[c>>2]|0)!=(l|0)&&(n[c>>2]=l,Oe(s))}function rg(s){return s=s|0,n[s+8>>2]|0}function mu(s,l){s=s|0,l=l|0;var c=0;c=s+12|0,(n[c>>2]|0)!=(l|0)&&(n[c>>2]=l,Oe(s))}function ng(s){return s=s|0,n[s+12>>2]|0}function yu(s,l){s=s|0,l=l|0;var c=0;c=s+16|0,(n[c>>2]|0)!=(l|0)&&(n[c>>2]=l,Oe(s))}function uo(s){return s=s|0,n[s+16>>2]|0}function FA(s,l){s=s|0,l=l|0;var c=0;c=s+20|0,(n[c>>2]|0)!=(l|0)&&(n[c>>2]=l,Oe(s))}function mc(s){return s=s|0,n[s+20>>2]|0}function ua(s,l){s=s|0,l=l|0;var c=0;c=s+24|0,(n[c>>2]|0)!=(l|0)&&(n[c>>2]=l,Oe(s))}function ig(s){return s=s|0,n[s+24>>2]|0}function yc(s,l){s=s|0,l=l|0;var c=0;c=s+28|0,(n[c>>2]|0)!=(l|0)&&(n[c>>2]=l,Oe(s))}function Sm(s){return s=s|0,n[s+28>>2]|0}function sg(s,l){s=s|0,l=l|0;var c=0;c=s+32|0,(n[c>>2]|0)!=(l|0)&&(n[c>>2]=l,Oe(s))}function Xn(s){return s=s|0,n[s+32>>2]|0}function up(s,l){s=s|0,l=l|0;var c=0;c=s+36|0,(n[c>>2]|0)!=(l|0)&&(n[c>>2]=l,Oe(s))}function og(s){return s=s|0,n[s+36>>2]|0}function RA(s,l){s=s|0,l=y(l);var c=0;c=s+40|0,y(h[c>>2])!=l&&(h[c>>2]=l,Oe(s))}function qs(s,l){s=s|0,l=y(l);var c=0;c=s+44|0,y(h[c>>2])!=l&&(h[c>>2]=l,Oe(s))}function Eu(s,l){s=s|0,l=y(l);var c=0;c=s+48|0,y(h[c>>2])!=l&&(h[c>>2]=l,Oe(s))}function Ha(s,l){s=s|0,l=y(l);var c=0,f=0,d=0,m=0;m=Ut(l)|0,c=(m^1)&1,f=s+52|0,d=s+56|0,m|y(h[f>>2])==l&&(n[d>>2]|0)==(c|0)||(h[f>>2]=l,n[d>>2]=c,Oe(s))}function Yi(s,l){s=s|0,l=y(l);var c=0,f=0;f=s+52|0,c=s+56|0,y(h[f>>2])==l&&(n[c>>2]|0)==2||(h[f>>2]=l,f=Ut(l)|0,n[c>>2]=f?3:2,Oe(s))}function Aa(s,l){s=s|0,l=l|0;var c=0,f=0;f=l+52|0,c=n[f+4>>2]|0,l=s,n[l>>2]=n[f>>2],n[l+4>>2]=c}function wu(s,l,c){s=s|0,l=l|0,c=y(c);var f=0,d=0,m=0;m=Ut(c)|0,f=(m^1)&1,d=s+132+(l<<3)|0,l=s+132+(l<<3)+4|0,m|y(h[d>>2])==c&&(n[l>>2]|0)==(f|0)||(h[d>>2]=c,n[l>>2]=f,Oe(s))}function ws(s,l,c){s=s|0,l=l|0,c=y(c);var f=0,d=0,m=0;m=Ut(c)|0,f=m?0:2,d=s+132+(l<<3)|0,l=s+132+(l<<3)+4|0,m|y(h[d>>2])==c&&(n[l>>2]|0)==(f|0)||(h[d>>2]=c,n[l>>2]=f,Oe(s))}function Ec(s,l,c){s=s|0,l=l|0,c=c|0;var f=0;f=l+132+(c<<3)|0,l=n[f+4>>2]|0,c=s,n[c>>2]=n[f>>2],n[c+4>>2]=l}function wc(s,l,c){s=s|0,l=l|0,c=y(c);var f=0,d=0,m=0;m=Ut(c)|0,f=(m^1)&1,d=s+60+(l<<3)|0,l=s+60+(l<<3)+4|0,m|y(h[d>>2])==c&&(n[l>>2]|0)==(f|0)||(h[d>>2]=c,n[l>>2]=f,Oe(s))}function Y(s,l,c){s=s|0,l=l|0,c=y(c);var f=0,d=0,m=0;m=Ut(c)|0,f=m?0:2,d=s+60+(l<<3)|0,l=s+60+(l<<3)+4|0,m|y(h[d>>2])==c&&(n[l>>2]|0)==(f|0)||(h[d>>2]=c,n[l>>2]=f,Oe(s))}function Dt(s,l,c){s=s|0,l=l|0,c=c|0;var f=0;f=l+60+(c<<3)|0,l=n[f+4>>2]|0,c=s,n[c>>2]=n[f>>2],n[c+4>>2]=l}function wl(s,l){s=s|0,l=l|0;var c=0;c=s+60+(l<<3)+4|0,(n[c>>2]|0)!=3&&(h[s+60+(l<<3)>>2]=y(de),n[c>>2]=3,Oe(s))}function xi(s,l,c){s=s|0,l=l|0,c=y(c);var f=0,d=0,m=0;m=Ut(c)|0,f=(m^1)&1,d=s+204+(l<<3)|0,l=s+204+(l<<3)+4|0,m|y(h[d>>2])==c&&(n[l>>2]|0)==(f|0)||(h[d>>2]=c,n[l>>2]=f,Oe(s))}function Cc(s,l,c){s=s|0,l=l|0,c=y(c);var f=0,d=0,m=0;m=Ut(c)|0,f=m?0:2,d=s+204+(l<<3)|0,l=s+204+(l<<3)+4|0,m|y(h[d>>2])==c&&(n[l>>2]|0)==(f|0)||(h[d>>2]=c,n[l>>2]=f,Oe(s))}function ct(s,l,c){s=s|0,l=l|0,c=c|0;var f=0;f=l+204+(c<<3)|0,l=n[f+4>>2]|0,c=s,n[c>>2]=n[f>>2],n[c+4>>2]=l}function Cu(s,l,c){s=s|0,l=l|0,c=y(c);var f=0,d=0,m=0;m=Ut(c)|0,f=(m^1)&1,d=s+276+(l<<3)|0,l=s+276+(l<<3)+4|0,m|y(h[d>>2])==c&&(n[l>>2]|0)==(f|0)||(h[d>>2]=c,n[l>>2]=f,Oe(s))}function ag(s,l){return s=s|0,l=l|0,y(h[s+276+(l<<3)>>2])}function dC(s,l){s=s|0,l=y(l);var c=0,f=0,d=0,m=0;m=Ut(l)|0,c=(m^1)&1,f=s+348|0,d=s+352|0,m|y(h[f>>2])==l&&(n[d>>2]|0)==(c|0)||(h[f>>2]=l,n[d>>2]=c,Oe(s))}function TA(s,l){s=s|0,l=y(l);var c=0,f=0;f=s+348|0,c=s+352|0,y(h[f>>2])==l&&(n[c>>2]|0)==2||(h[f>>2]=l,f=Ut(l)|0,n[c>>2]=f?3:2,Oe(s))}function Ap(s){s=s|0;var l=0;l=s+352|0,(n[l>>2]|0)!=3&&(h[s+348>>2]=y(de),n[l>>2]=3,Oe(s))}function Ir(s,l){s=s|0,l=l|0;var c=0,f=0;f=l+348|0,c=n[f+4>>2]|0,l=s,n[l>>2]=n[f>>2],n[l+4>>2]=c}function Cs(s,l){s=s|0,l=y(l);var c=0,f=0,d=0,m=0;m=Ut(l)|0,c=(m^1)&1,f=s+356|0,d=s+360|0,m|y(h[f>>2])==l&&(n[d>>2]|0)==(c|0)||(h[f>>2]=l,n[d>>2]=c,Oe(s))}function lg(s,l){s=s|0,l=y(l);var c=0,f=0;f=s+356|0,c=s+360|0,y(h[f>>2])==l&&(n[c>>2]|0)==2||(h[f>>2]=l,f=Ut(l)|0,n[c>>2]=f?3:2,Oe(s))}function cg(s){s=s|0;var l=0;l=s+360|0,(n[l>>2]|0)!=3&&(h[s+356>>2]=y(de),n[l>>2]=3,Oe(s))}function ug(s,l){s=s|0,l=l|0;var c=0,f=0;f=l+356|0,c=n[f+4>>2]|0,l=s,n[l>>2]=n[f>>2],n[l+4>>2]=c}function fp(s,l){s=s|0,l=y(l);var c=0,f=0,d=0,m=0;m=Ut(l)|0,c=(m^1)&1,f=s+364|0,d=s+368|0,m|y(h[f>>2])==l&&(n[d>>2]|0)==(c|0)||(h[f>>2]=l,n[d>>2]=c,Oe(s))}function Ic(s,l){s=s|0,l=y(l);var c=0,f=0,d=0,m=0;m=Ut(l)|0,c=m?0:2,f=s+364|0,d=s+368|0,m|y(h[f>>2])==l&&(n[d>>2]|0)==(c|0)||(h[f>>2]=l,n[d>>2]=c,Oe(s))}function wt(s,l){s=s|0,l=l|0;var c=0,f=0;f=l+364|0,c=n[f+4>>2]|0,l=s,n[l>>2]=n[f>>2],n[l+4>>2]=c}function Pm(s,l){s=s|0,l=y(l);var c=0,f=0,d=0,m=0;m=Ut(l)|0,c=(m^1)&1,f=s+372|0,d=s+376|0,m|y(h[f>>2])==l&&(n[d>>2]|0)==(c|0)||(h[f>>2]=l,n[d>>2]=c,Oe(s))}function Ag(s,l){s=s|0,l=y(l);var c=0,f=0,d=0,m=0;m=Ut(l)|0,c=m?0:2,f=s+372|0,d=s+376|0,m|y(h[f>>2])==l&&(n[d>>2]|0)==(c|0)||(h[f>>2]=l,n[d>>2]=c,Oe(s))}function fg(s,l){s=s|0,l=l|0;var c=0,f=0;f=l+372|0,c=n[f+4>>2]|0,l=s,n[l>>2]=n[f>>2],n[l+4>>2]=c}function Iu(s,l){s=s|0,l=y(l);var c=0,f=0,d=0,m=0;m=Ut(l)|0,c=(m^1)&1,f=s+380|0,d=s+384|0,m|y(h[f>>2])==l&&(n[d>>2]|0)==(c|0)||(h[f>>2]=l,n[d>>2]=c,Oe(s))}function xm(s,l){s=s|0,l=y(l);var c=0,f=0,d=0,m=0;m=Ut(l)|0,c=m?0:2,f=s+380|0,d=s+384|0,m|y(h[f>>2])==l&&(n[d>>2]|0)==(c|0)||(h[f>>2]=l,n[d>>2]=c,Oe(s))}function pg(s,l){s=s|0,l=l|0;var c=0,f=0;f=l+380|0,c=n[f+4>>2]|0,l=s,n[l>>2]=n[f>>2],n[l+4>>2]=c}function Bu(s,l){s=s|0,l=y(l);var c=0,f=0,d=0,m=0;m=Ut(l)|0,c=(m^1)&1,f=s+388|0,d=s+392|0,m|y(h[f>>2])==l&&(n[d>>2]|0)==(c|0)||(h[f>>2]=l,n[d>>2]=c,Oe(s))}function mC(s,l){s=s|0,l=y(l);var c=0,f=0,d=0,m=0;m=Ut(l)|0,c=m?0:2,f=s+388|0,d=s+392|0,m|y(h[f>>2])==l&&(n[d>>2]|0)==(c|0)||(h[f>>2]=l,n[d>>2]=c,Oe(s))}function bm(s,l){s=s|0,l=l|0;var c=0,f=0;f=l+388|0,c=n[f+4>>2]|0,l=s,n[l>>2]=n[f>>2],n[l+4>>2]=c}function fa(s,l){s=s|0,l=y(l);var c=0;c=s+396|0,y(h[c>>2])!=l&&(h[c>>2]=l,Oe(s))}function Bc(s){return s=s|0,y(h[s+396>>2])}function Cl(s){return s=s|0,y(h[s+400>>2])}function vu(s){return s=s|0,y(h[s+404>>2])}function hg(s){return s=s|0,y(h[s+408>>2])}function NA(s){return s=s|0,y(h[s+412>>2])}function pp(s){return s=s|0,y(h[s+416>>2])}function ja(s){return s=s|0,y(h[s+420>>2])}function gg(s,l){switch(s=s|0,l=l|0,Mn(s,(l|0)<6,2918),l|0){case 0:{l=(n[s+496>>2]|0)==2?5:4;break}case 2:{l=(n[s+496>>2]|0)==2?4:5;break}default:}return y(h[s+424+(l<<2)>>2])}function hp(s,l){switch(s=s|0,l=l|0,Mn(s,(l|0)<6,2918),l|0){case 0:{l=(n[s+496>>2]|0)==2?5:4;break}case 2:{l=(n[s+496>>2]|0)==2?4:5;break}default:}return y(h[s+448+(l<<2)>>2])}function qo(s,l){switch(s=s|0,l=l|0,Mn(s,(l|0)<6,2918),l|0){case 0:{l=(n[s+496>>2]|0)==2?5:4;break}case 2:{l=(n[s+496>>2]|0)==2?4:5;break}default:}return y(h[s+472+(l<<2)>>2])}function Is(s,l){s=s|0,l=l|0;var c=0,f=Ze;return c=n[s+4>>2]|0,(c|0)==(n[l+4>>2]|0)?c?(f=y(h[s>>2]),s=y(ne(y(f-y(h[l>>2]))))<y(999999974e-13)):s=1:s=0,s|0}function Ci(s,l){s=y(s),l=y(l);var c=0;return Ut(s)|0?c=Ut(l)|0:c=y(ne(y(s-l)))<y(999999974e-13),c|0}function Qm(s,l){s=s|0,l=l|0,km(s,l)}function km(s,l){s=s|0,l=l|0;var c=0,f=0;c=E,E=E+16|0,f=c+4|0,n[f>>2]=0,n[f+4>>2]=0,n[f+8>>2]=0,Ma(f|0,s|0,l|0,0),Ao(s,3,(o[f+11>>0]|0)<0?n[f>>2]|0:f,c),$Ue(f),E=c}function Go(s,l,c,f){s=y(s),l=y(l),c=c|0,f=f|0;var d=Ze;s=y(s*l),d=y(PR(s,y(1)));do if(Ci(d,y(0))|0)s=y(s-d);else{if(s=y(s-d),Ci(d,y(1))|0){s=y(s+y(1));break}if(c){s=y(s+y(1));break}f||(d>y(.5)?d=y(1):(f=Ci(d,y(.5))|0,d=y(f?1:0)),s=y(s+d))}while(0);return y(s/l)}function LA(s,l,c,f,d,m,B,Q,k,M,O,q,se){s=s|0,l=y(l),c=c|0,f=y(f),d=d|0,m=y(m),B=B|0,Q=y(Q),k=y(k),M=y(M),O=y(O),q=y(q),se=se|0;var Ge=0,Me=Ze,Fe=Ze,et=Ze,Xe=Ze,lt=Ze,Ue=Ze;return k<y(0)|M<y(0)?se=0:((se|0)!=0&&(Me=y(h[se+4>>2]),Me!=y(0))?(et=y(Go(l,Me,0,0)),Xe=y(Go(f,Me,0,0)),Fe=y(Go(m,Me,0,0)),Me=y(Go(Q,Me,0,0))):(Fe=m,et=l,Me=Q,Xe=f),(d|0)==(s|0)?Ge=Ci(Fe,et)|0:Ge=0,(B|0)==(c|0)?se=Ci(Me,Xe)|0:se=0,!Ge&&(lt=y(l-O),!(gp(s,lt,k)|0))&&!(dp(s,lt,d,k)|0)?Ge=dg(s,lt,d,m,k)|0:Ge=1,!se&&(Ue=y(f-q),!(gp(c,Ue,M)|0))&&!(dp(c,Ue,B,M)|0)?se=dg(c,Ue,B,Q,M)|0:se=1,se=Ge&se),se|0}function gp(s,l,c){return s=s|0,l=y(l),c=y(c),(s|0)==1?s=Ci(l,c)|0:s=0,s|0}function dp(s,l,c,f){return s=s|0,l=y(l),c=c|0,f=y(f),(s|0)==2&(c|0)==0?l>=f?s=1:s=Ci(l,f)|0:s=0,s|0}function dg(s,l,c,f,d){return s=s|0,l=y(l),c=c|0,f=y(f),d=y(d),(s|0)==2&(c|0)==2&f>l?d<=l?s=1:s=Ci(l,d)|0:s=0,s|0}function pa(s,l,c,f,d,m,B,Q,k,M,O){s=s|0,l=y(l),c=y(c),f=f|0,d=d|0,m=m|0,B=y(B),Q=y(Q),k=k|0,M=M|0,O=O|0;var q=0,se=0,Ge=0,Me=0,Fe=Ze,et=Ze,Xe=0,lt=0,Ue=0,qe=0,Lt=0,Or=0,sr=0,Xt=0,Dr=0,Tr=0,nr=0,xn=Ze,go=Ze,mo=Ze,yo=0,Ea=0;nr=E,E=E+160|0,Xt=nr+152|0,sr=nr+120|0,Or=nr+104|0,Ue=nr+72|0,Me=nr+56|0,Lt=nr+8|0,lt=nr,qe=(n[2279]|0)+1|0,n[2279]=qe,Dr=s+984|0,(o[Dr>>0]|0)!=0&&(n[s+512>>2]|0)!=(n[2278]|0)?Xe=4:(n[s+516>>2]|0)==(f|0)?Tr=0:Xe=4,(Xe|0)==4&&(n[s+520>>2]=0,n[s+924>>2]=-1,n[s+928>>2]=-1,h[s+932>>2]=y(-1),h[s+936>>2]=y(-1),Tr=1);e:do if(n[s+964>>2]|0)if(Fe=y(an(s,2,B)),et=y(an(s,0,B)),q=s+916|0,mo=y(h[q>>2]),go=y(h[s+920>>2]),xn=y(h[s+932>>2]),LA(d,l,m,c,n[s+924>>2]|0,mo,n[s+928>>2]|0,go,xn,y(h[s+936>>2]),Fe,et,O)|0)Xe=22;else if(Ge=n[s+520>>2]|0,!Ge)Xe=21;else for(se=0;;){if(q=s+524+(se*24|0)|0,xn=y(h[q>>2]),go=y(h[s+524+(se*24|0)+4>>2]),mo=y(h[s+524+(se*24|0)+16>>2]),LA(d,l,m,c,n[s+524+(se*24|0)+8>>2]|0,xn,n[s+524+(se*24|0)+12>>2]|0,go,mo,y(h[s+524+(se*24|0)+20>>2]),Fe,et,O)|0){Xe=22;break e}if(se=se+1|0,se>>>0>=Ge>>>0){Xe=21;break}}else{if(k){if(q=s+916|0,!(Ci(y(h[q>>2]),l)|0)){Xe=21;break}if(!(Ci(y(h[s+920>>2]),c)|0)){Xe=21;break}if((n[s+924>>2]|0)!=(d|0)){Xe=21;break}q=(n[s+928>>2]|0)==(m|0)?q:0,Xe=22;break}if(Ge=n[s+520>>2]|0,!Ge)Xe=21;else for(se=0;;){if(q=s+524+(se*24|0)|0,Ci(y(h[q>>2]),l)|0&&Ci(y(h[s+524+(se*24|0)+4>>2]),c)|0&&(n[s+524+(se*24|0)+8>>2]|0)==(d|0)&&(n[s+524+(se*24|0)+12>>2]|0)==(m|0)){Xe=22;break e}if(se=se+1|0,se>>>0>=Ge>>>0){Xe=21;break}}}while(0);do if((Xe|0)==21)o[11697]|0?(q=0,Xe=28):(q=0,Xe=31);else if((Xe|0)==22){if(se=(o[11697]|0)!=0,!((q|0)!=0&(Tr^1)))if(se){Xe=28;break}else{Xe=31;break}Me=q+16|0,n[s+908>>2]=n[Me>>2],Ge=q+20|0,n[s+912>>2]=n[Ge>>2],(o[11698]|0)==0|se^1||(n[lt>>2]=OA(qe)|0,n[lt+4>>2]=qe,Ao(s,4,2972,lt),se=n[s+972>>2]|0,se|0&&tf[se&127](s),d=qa(d,k)|0,m=qa(m,k)|0,Ea=+y(h[Me>>2]),yo=+y(h[Ge>>2]),n[Lt>>2]=d,n[Lt+4>>2]=m,w[Lt+8>>3]=+l,w[Lt+16>>3]=+c,w[Lt+24>>3]=Ea,w[Lt+32>>3]=yo,n[Lt+40>>2]=M,Ao(s,4,2989,Lt))}while(0);return(Xe|0)==28&&(se=OA(qe)|0,n[Me>>2]=se,n[Me+4>>2]=qe,n[Me+8>>2]=Tr?3047:11699,Ao(s,4,3038,Me),se=n[s+972>>2]|0,se|0&&tf[se&127](s),Lt=qa(d,k)|0,Xe=qa(m,k)|0,n[Ue>>2]=Lt,n[Ue+4>>2]=Xe,w[Ue+8>>3]=+l,w[Ue+16>>3]=+c,n[Ue+24>>2]=M,Ao(s,4,3049,Ue),Xe=31),(Xe|0)==31&&(ii(s,l,c,f,d,m,B,Q,k,O),o[11697]|0&&(se=n[2279]|0,Lt=OA(se)|0,n[Or>>2]=Lt,n[Or+4>>2]=se,n[Or+8>>2]=Tr?3047:11699,Ao(s,4,3083,Or),se=n[s+972>>2]|0,se|0&&tf[se&127](s),Lt=qa(d,k)|0,Or=qa(m,k)|0,yo=+y(h[s+908>>2]),Ea=+y(h[s+912>>2]),n[sr>>2]=Lt,n[sr+4>>2]=Or,w[sr+8>>3]=yo,w[sr+16>>3]=Ea,n[sr+24>>2]=M,Ao(s,4,3092,sr)),n[s+516>>2]=f,q||(se=s+520|0,q=n[se>>2]|0,(q|0)==16&&(o[11697]|0&&Ao(s,4,3124,Xt),n[se>>2]=0,q=0),k?q=s+916|0:(n[se>>2]=q+1,q=s+524+(q*24|0)|0),h[q>>2]=l,h[q+4>>2]=c,n[q+8>>2]=d,n[q+12>>2]=m,n[q+16>>2]=n[s+908>>2],n[q+20>>2]=n[s+912>>2],q=0)),k&&(n[s+416>>2]=n[s+908>>2],n[s+420>>2]=n[s+912>>2],o[s+985>>0]=1,o[Dr>>0]=0),n[2279]=(n[2279]|0)+-1,n[s+512>>2]=n[2278],E=nr,Tr|(q|0)==0|0}function an(s,l,c){s=s|0,l=l|0,c=y(c);var f=Ze;return f=y(K(s,l,c)),y(f+y(re(s,l,c)))}function Ao(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0,m=0;m=E,E=E+16|0,d=m,n[d>>2]=f,s?f=n[s+976>>2]|0:f=0,yg(f,s,l,c,d),E=m}function OA(s){return s=s|0,(s>>>0>60?3201:3201+(60-s)|0)|0}function qa(s,l){s=s|0,l=l|0;var c=0,f=0,d=0;return d=E,E=E+32|0,c=d+12|0,f=d,n[c>>2]=n[254],n[c+4>>2]=n[255],n[c+8>>2]=n[256],n[f>>2]=n[257],n[f+4>>2]=n[258],n[f+8>>2]=n[259],(s|0)>2?s=11699:s=n[(l?f:c)+(s<<2)>>2]|0,E=d,s|0}function ii(s,l,c,f,d,m,B,Q,k,M){s=s|0,l=y(l),c=y(c),f=f|0,d=d|0,m=m|0,B=y(B),Q=y(Q),k=k|0,M=M|0;var O=0,q=0,se=0,Ge=0,Me=Ze,Fe=Ze,et=Ze,Xe=Ze,lt=Ze,Ue=Ze,qe=Ze,Lt=0,Or=0,sr=0,Xt=Ze,Dr=Ze,Tr=0,nr=Ze,xn=0,go=0,mo=0,yo=0,Ea=0,Qp=0,kp=0,Pl=0,Fp=0,Tu=0,Nu=0,Rp=0,Tp=0,Np=0,zr=0,xl=0,Lp=0,bc=0,Op=Ze,Mp=Ze,Lu=Ze,Ou=Ze,Qc=Ze,Ys=0,za=0,Wo=0,bl=0,nf=0,sf=Ze,Mu=Ze,of=Ze,af=Ze,Ws=Ze,Ds=Ze,Ql=0,Fn=Ze,lf=Ze,Eo=Ze,kc=Ze,wo=Ze,Fc=Ze,cf=0,uf=0,Rc=Ze,Ks=Ze,kl=0,Af=0,ff=0,pf=0,xr=Ze,Jn=0,Ss=0,Co=0,Js=0,Fr=0,cr=0,Fl=0,Vt=Ze,hf=0,ai=0;Fl=E,E=E+16|0,Ys=Fl+12|0,za=Fl+8|0,Wo=Fl+4|0,bl=Fl,Mn(s,(d|0)==0|(Ut(l)|0)^1,3326),Mn(s,(m|0)==0|(Ut(c)|0)^1,3406),Ss=mt(s,f)|0,n[s+496>>2]=Ss,Fr=Ar(2,Ss)|0,cr=Ar(0,Ss)|0,h[s+440>>2]=y(K(s,Fr,B)),h[s+444>>2]=y(re(s,Fr,B)),h[s+428>>2]=y(K(s,cr,B)),h[s+436>>2]=y(re(s,cr,B)),h[s+464>>2]=y(Er(s,Fr)),h[s+468>>2]=y(mn(s,Fr)),h[s+452>>2]=y(Er(s,cr)),h[s+460>>2]=y(mn(s,cr)),h[s+488>>2]=y(si(s,Fr,B)),h[s+492>>2]=y(Mi(s,Fr,B)),h[s+476>>2]=y(si(s,cr,B)),h[s+484>>2]=y(Mi(s,cr,B));do if(n[s+964>>2]|0)wg(s,l,c,d,m,B,Q);else{if(Co=s+948|0,Js=(n[s+952>>2]|0)-(n[Co>>2]|0)>>2,!Js){qv(s,l,c,d,m,B,Q);break}if(!k&&Gv(s,l,c,d,m,B,Q)|0)break;$(s),xl=s+508|0,o[xl>>0]=0,Fr=Ar(n[s+4>>2]|0,Ss)|0,cr=EC(Fr,Ss)|0,Jn=pe(Fr)|0,Lp=n[s+8>>2]|0,Af=s+28|0,bc=(n[Af>>2]|0)!=0,wo=Jn?B:Q,Rc=Jn?Q:B,Op=y(yp(s,Fr,B)),Mp=y(wC(s,Fr,B)),Me=y(yp(s,cr,B)),Fc=y(yn(s,Fr,B)),Ks=y(yn(s,cr,B)),sr=Jn?d:m,kl=Jn?m:d,xr=Jn?Fc:Ks,lt=Jn?Ks:Fc,kc=y(an(s,2,B)),Xe=y(an(s,0,B)),Fe=y(y(qr(s+364|0,B))-xr),et=y(y(qr(s+380|0,B))-xr),Ue=y(y(qr(s+372|0,Q))-lt),qe=y(y(qr(s+388|0,Q))-lt),Lu=Jn?Fe:Ue,Ou=Jn?et:qe,kc=y(l-kc),l=y(kc-xr),Ut(l)|0?xr=l:xr=y(Un(y(Fg(l,et)),Fe)),lf=y(c-Xe),l=y(lf-lt),Ut(l)|0?Eo=l:Eo=y(Un(y(Fg(l,qe)),Ue)),Fe=Jn?xr:Eo,Fn=Jn?Eo:xr;e:do if((sr|0)==1)for(f=0,q=0;;){if(O=ds(s,q)|0,!f)y(ts(O))>y(0)&&y(Gs(O))>y(0)?f=O:f=0;else if(Rm(O)|0){Ge=0;break e}if(q=q+1|0,q>>>0>=Js>>>0){Ge=f;break}}else Ge=0;while(0);Lt=Ge+500|0,Or=Ge+504|0,f=0,O=0,l=y(0),se=0;do{if(q=n[(n[Co>>2]|0)+(se<<2)>>2]|0,(n[q+36>>2]|0)==1)Du(q),o[q+985>>0]=1,o[q+984>>0]=0;else{Il(q),k&&mp(q,mt(q,Ss)|0,Fe,Fn,xr);do if((n[q+24>>2]|0)!=1)if((q|0)==(Ge|0)){n[Lt>>2]=n[2278],h[Or>>2]=y(0);break}else{Tm(s,q,xr,d,Eo,xr,Eo,m,Ss,M);break}else O|0&&(n[O+960>>2]=q),n[q+960>>2]=0,O=q,f=(f|0)==0?q:f;while(0);Ds=y(h[q+504>>2]),l=y(l+y(Ds+y(an(q,Fr,xr))))}se=se+1|0}while((se|0)!=(Js|0));for(mo=l>Fe,Ql=bc&((sr|0)==2&mo)?1:sr,xn=(kl|0)==1,Ea=xn&(k^1),Qp=(Ql|0)==1,kp=(Ql|0)==2,Pl=976+(Fr<<2)|0,Fp=(kl|2|0)==2,Np=xn&(bc^1),Tu=1040+(cr<<2)|0,Nu=1040+(Fr<<2)|0,Rp=976+(cr<<2)|0,Tp=(kl|0)!=1,mo=bc&((sr|0)!=0&mo),go=s+976|0,xn=xn^1,l=Fe,Tr=0,yo=0,Ds=y(0),Qc=y(0);;){e:do if(Tr>>>0<Js>>>0)for(Or=n[Co>>2]|0,se=0,qe=y(0),Ue=y(0),et=y(0),Fe=y(0),q=0,O=0,Ge=Tr;;){if(Lt=n[Or+(Ge<<2)>>2]|0,(n[Lt+36>>2]|0)!=1&&(n[Lt+940>>2]=yo,(n[Lt+24>>2]|0)!=1)){if(Xe=y(an(Lt,Fr,xr)),zr=n[Pl>>2]|0,c=y(qr(Lt+380+(zr<<3)|0,wo)),lt=y(h[Lt+504>>2]),c=y(Fg(c,lt)),c=y(Un(y(qr(Lt+364+(zr<<3)|0,wo)),c)),bc&(se|0)!=0&y(Xe+y(Ue+c))>l){m=se,Xe=qe,sr=Ge;break e}Xe=y(Xe+c),c=y(Ue+Xe),Xe=y(qe+Xe),Rm(Lt)|0&&(et=y(et+y(ts(Lt))),Fe=y(Fe-y(lt*y(Gs(Lt))))),O|0&&(n[O+960>>2]=Lt),n[Lt+960>>2]=0,se=se+1|0,O=Lt,q=(q|0)==0?Lt:q}else Xe=qe,c=Ue;if(Ge=Ge+1|0,Ge>>>0<Js>>>0)qe=Xe,Ue=c;else{m=se,sr=Ge;break}}else m=0,Xe=y(0),et=y(0),Fe=y(0),q=0,sr=Tr;while(0);zr=et>y(0)&et<y(1),Xt=zr?y(1):et,zr=Fe>y(0)&Fe<y(1),qe=zr?y(1):Fe;do if(Qp)zr=51;else if(Xe<Lu&((Ut(Lu)|0)^1))l=Lu,zr=51;else if(Xe>Ou&((Ut(Ou)|0)^1))l=Ou,zr=51;else if(o[(n[go>>2]|0)+3>>0]|0)zr=51;else{if(Xt!=y(0)&&y(ts(s))!=y(0)){zr=53;break}l=Xe,zr=53}while(0);if((zr|0)==51&&(zr=0,Ut(l)|0?zr=53:(Dr=y(l-Xe),nr=l)),(zr|0)==53&&(zr=0,Xe<y(0)?(Dr=y(-Xe),nr=l):(Dr=y(0),nr=l)),!Ea&&(nf=(q|0)==0,!nf)){se=n[Pl>>2]|0,Ge=Dr<y(0),lt=y(Dr/qe),Lt=Dr>y(0),Ue=y(Dr/Xt),et=y(0),Xe=y(0),l=y(0),O=q;do c=y(qr(O+380+(se<<3)|0,wo)),Fe=y(qr(O+364+(se<<3)|0,wo)),Fe=y(Fg(c,y(Un(Fe,y(h[O+504>>2]))))),Ge?(c=y(Fe*y(Gs(O))),c!=y(-0)&&(Vt=y(Fe-y(lt*c)),sf=y(Ii(O,Fr,Vt,nr,xr)),Vt!=sf)&&(et=y(et-y(sf-Fe)),l=y(l+c))):Lt&&(Mu=y(ts(O)),Mu!=y(0))&&(Vt=y(Fe+y(Ue*Mu)),of=y(Ii(O,Fr,Vt,nr,xr)),Vt!=of)&&(et=y(et-y(of-Fe)),Xe=y(Xe-Mu)),O=n[O+960>>2]|0;while((O|0)!=0);if(l=y(qe+l),Fe=y(Dr+et),nf)l=y(0);else{lt=y(Xt+Xe),Ge=n[Pl>>2]|0,Lt=Fe<y(0),Or=l==y(0),Ue=y(Fe/l),se=Fe>y(0),lt=y(Fe/lt),l=y(0);do{Vt=y(qr(q+380+(Ge<<3)|0,wo)),et=y(qr(q+364+(Ge<<3)|0,wo)),et=y(Fg(Vt,y(Un(et,y(h[q+504>>2]))))),Lt?(Vt=y(et*y(Gs(q))),Fe=y(-Vt),Vt!=y(-0)?(Vt=y(Ue*Fe),Fe=y(Ii(q,Fr,y(et+(Or?Fe:Vt)),nr,xr))):Fe=et):se&&(af=y(ts(q)),af!=y(0))?Fe=y(Ii(q,Fr,y(et+y(lt*af)),nr,xr)):Fe=et,l=y(l-y(Fe-et)),Xe=y(an(q,Fr,xr)),c=y(an(q,cr,xr)),Fe=y(Fe+Xe),h[za>>2]=Fe,n[bl>>2]=1,et=y(h[q+396>>2]);e:do if(Ut(et)|0){O=Ut(Fn)|0;do if(!O){if(mo|(es(q,cr,Fn)|0|xn)||(ga(s,q)|0)!=4||(n[(Bl(q,cr)|0)+4>>2]|0)==3||(n[(Sc(q,cr)|0)+4>>2]|0)==3)break;h[Ys>>2]=Fn,n[Wo>>2]=1;break e}while(0);if(es(q,cr,Fn)|0){O=n[q+992+(n[Rp>>2]<<2)>>2]|0,Vt=y(c+y(qr(O,Fn))),h[Ys>>2]=Vt,O=Tp&(n[O+4>>2]|0)==2,n[Wo>>2]=((Ut(Vt)|0|O)^1)&1;break}else{h[Ys>>2]=Fn,n[Wo>>2]=O?0:2;break}}else Vt=y(Fe-Xe),Xt=y(Vt/et),Vt=y(et*Vt),n[Wo>>2]=1,h[Ys>>2]=y(c+(Jn?Xt:Vt));while(0);mr(q,Fr,nr,xr,bl,za),mr(q,cr,Fn,xr,Wo,Ys);do if(!(es(q,cr,Fn)|0)&&(ga(s,q)|0)==4){if((n[(Bl(q,cr)|0)+4>>2]|0)==3){O=0;break}O=(n[(Sc(q,cr)|0)+4>>2]|0)!=3}else O=0;while(0);Vt=y(h[za>>2]),Xt=y(h[Ys>>2]),hf=n[bl>>2]|0,ai=n[Wo>>2]|0,pa(q,Jn?Vt:Xt,Jn?Xt:Vt,Ss,Jn?hf:ai,Jn?ai:hf,xr,Eo,k&(O^1),3488,M)|0,o[xl>>0]=o[xl>>0]|o[q+508>>0],q=n[q+960>>2]|0}while((q|0)!=0)}}else l=y(0);if(l=y(Dr+l),ai=l<y(0)&1,o[xl>>0]=ai|u[xl>>0],kp&l>y(0)?(O=n[Pl>>2]|0,(n[s+364+(O<<3)+4>>2]|0)!=0&&(Ws=y(qr(s+364+(O<<3)|0,wo)),Ws>=y(0))?Fe=y(Un(y(0),y(Ws-y(nr-l)))):Fe=y(0)):Fe=l,Lt=Tr>>>0<sr>>>0,Lt){Ge=n[Co>>2]|0,se=Tr,O=0;do q=n[Ge+(se<<2)>>2]|0,n[q+24>>2]|0||(O=((n[(Bl(q,Fr)|0)+4>>2]|0)==3&1)+O|0,O=O+((n[(Sc(q,Fr)|0)+4>>2]|0)==3&1)|0),se=se+1|0;while((se|0)!=(sr|0));O?(Xe=y(0),c=y(0)):zr=101}else zr=101;e:do if((zr|0)==101)switch(zr=0,Lp|0){case 1:{O=0,Xe=y(Fe*y(.5)),c=y(0);break e}case 2:{O=0,Xe=Fe,c=y(0);break e}case 3:{if(m>>>0<=1){O=0,Xe=y(0),c=y(0);break e}c=y((m+-1|0)>>>0),O=0,Xe=y(0),c=y(y(Un(Fe,y(0)))/c);break e}case 5:{c=y(Fe/y((m+1|0)>>>0)),O=0,Xe=c;break e}case 4:{c=y(Fe/y(m>>>0)),O=0,Xe=y(c*y(.5));break e}default:{O=0,Xe=y(0),c=y(0);break e}}while(0);if(l=y(Op+Xe),Lt){et=y(Fe/y(O|0)),se=n[Co>>2]|0,q=Tr,Fe=y(0);do{O=n[se+(q<<2)>>2]|0;e:do if((n[O+36>>2]|0)!=1){switch(n[O+24>>2]|0){case 1:{if(hi(O,Fr)|0){if(!k)break e;Vt=y(Lr(O,Fr,nr)),Vt=y(Vt+y(Er(s,Fr))),Vt=y(Vt+y(K(O,Fr,xr))),h[O+400+(n[Nu>>2]<<2)>>2]=Vt;break e}break}case 0:if(ai=(n[(Bl(O,Fr)|0)+4>>2]|0)==3,Vt=y(et+l),l=ai?Vt:l,k&&(ai=O+400+(n[Nu>>2]<<2)|0,h[ai>>2]=y(l+y(h[ai>>2]))),ai=(n[(Sc(O,Fr)|0)+4>>2]|0)==3,Vt=y(et+l),l=ai?Vt:l,Ea){Vt=y(c+y(an(O,Fr,xr))),Fe=Fn,l=y(l+y(Vt+y(h[O+504>>2])));break e}else{l=y(l+y(c+y(rs(O,Fr,xr)))),Fe=y(Un(Fe,y(rs(O,cr,xr))));break e}default:}k&&(Vt=y(Xe+y(Er(s,Fr))),ai=O+400+(n[Nu>>2]<<2)|0,h[ai>>2]=y(Vt+y(h[ai>>2])))}while(0);q=q+1|0}while((q|0)!=(sr|0))}else Fe=y(0);if(c=y(Mp+l),Fp?Xe=y(y(Ii(s,cr,y(Ks+Fe),Rc,B))-Ks):Xe=Fn,et=y(y(Ii(s,cr,y(Ks+(Np?Fn:Fe)),Rc,B))-Ks),Lt&k){q=Tr;do{se=n[(n[Co>>2]|0)+(q<<2)>>2]|0;do if((n[se+36>>2]|0)!=1){if((n[se+24>>2]|0)==1){if(hi(se,cr)|0){if(Vt=y(Lr(se,cr,Fn)),Vt=y(Vt+y(Er(s,cr))),Vt=y(Vt+y(K(se,cr,xr))),O=n[Tu>>2]|0,h[se+400+(O<<2)>>2]=Vt,!(Ut(Vt)|0))break}else O=n[Tu>>2]|0;Vt=y(Er(s,cr)),h[se+400+(O<<2)>>2]=y(Vt+y(K(se,cr,xr)));break}O=ga(s,se)|0;do if((O|0)==4){if((n[(Bl(se,cr)|0)+4>>2]|0)==3){zr=139;break}if((n[(Sc(se,cr)|0)+4>>2]|0)==3){zr=139;break}if(es(se,cr,Fn)|0){l=Me;break}hf=n[se+908+(n[Pl>>2]<<2)>>2]|0,n[Ys>>2]=hf,l=y(h[se+396>>2]),ai=Ut(l)|0,Fe=(n[v>>2]=hf,y(h[v>>2])),ai?l=et:(Dr=y(an(se,cr,xr)),Vt=y(Fe/l),l=y(l*Fe),l=y(Dr+(Jn?Vt:l))),h[za>>2]=l,h[Ys>>2]=y(y(an(se,Fr,xr))+Fe),n[Wo>>2]=1,n[bl>>2]=1,mr(se,Fr,nr,xr,Wo,Ys),mr(se,cr,Fn,xr,bl,za),l=y(h[Ys>>2]),Dr=y(h[za>>2]),Vt=Jn?l:Dr,l=Jn?Dr:l,ai=((Ut(Vt)|0)^1)&1,pa(se,Vt,l,Ss,ai,((Ut(l)|0)^1)&1,xr,Eo,1,3493,M)|0,l=Me}else zr=139;while(0);e:do if((zr|0)==139){zr=0,l=y(Xe-y(rs(se,cr,xr)));do if((n[(Bl(se,cr)|0)+4>>2]|0)==3){if((n[(Sc(se,cr)|0)+4>>2]|0)!=3)break;l=y(Me+y(Un(y(0),y(l*y(.5)))));break e}while(0);if((n[(Sc(se,cr)|0)+4>>2]|0)==3){l=Me;break}if((n[(Bl(se,cr)|0)+4>>2]|0)==3){l=y(Me+y(Un(y(0),l)));break}switch(O|0){case 1:{l=Me;break e}case 2:{l=y(Me+y(l*y(.5)));break e}default:{l=y(Me+l);break e}}}while(0);Vt=y(Ds+l),ai=se+400+(n[Tu>>2]<<2)|0,h[ai>>2]=y(Vt+y(h[ai>>2]))}while(0);q=q+1|0}while((q|0)!=(sr|0))}if(Ds=y(Ds+et),Qc=y(Un(Qc,c)),m=yo+1|0,sr>>>0>=Js>>>0)break;l=nr,Tr=sr,yo=m}do if(k){if(O=m>>>0>1,!O&&!(Wi(s)|0))break;if(!(Ut(Fn)|0)){l=y(Fn-Ds);e:do switch(n[s+12>>2]|0){case 3:{Me=y(Me+l),Ue=y(0);break}case 2:{Me=y(Me+y(l*y(.5))),Ue=y(0);break}case 4:{Fn>Ds?Ue=y(l/y(m>>>0)):Ue=y(0);break}case 7:if(Fn>Ds){Me=y(Me+y(l/y(m<<1>>>0))),Ue=y(l/y(m>>>0)),Ue=O?Ue:y(0);break e}else{Me=y(Me+y(l*y(.5))),Ue=y(0);break e}case 6:{Ue=y(l/y(yo>>>0)),Ue=Fn>Ds&O?Ue:y(0);break}default:Ue=y(0)}while(0);if(m|0)for(Lt=1040+(cr<<2)|0,Or=976+(cr<<2)|0,Ge=0,q=0;;){e:do if(q>>>0<Js>>>0)for(Fe=y(0),et=y(0),l=y(0),se=q;;){O=n[(n[Co>>2]|0)+(se<<2)>>2]|0;do if((n[O+36>>2]|0)!=1&&(n[O+24>>2]|0)==0){if((n[O+940>>2]|0)!=(Ge|0))break e;if(Nm(O,cr)|0&&(Vt=y(h[O+908+(n[Or>>2]<<2)>>2]),l=y(Un(l,y(Vt+y(an(O,cr,xr)))))),(ga(s,O)|0)!=5)break;Ws=y(Ya(O)),Ws=y(Ws+y(K(O,0,xr))),Vt=y(h[O+912>>2]),Vt=y(y(Vt+y(an(O,0,xr)))-Ws),Ws=y(Un(et,Ws)),Vt=y(Un(Fe,Vt)),Fe=Vt,et=Ws,l=y(Un(l,y(Ws+Vt)))}while(0);if(O=se+1|0,O>>>0<Js>>>0)se=O;else{se=O;break}}else et=y(0),l=y(0),se=q;while(0);if(lt=y(Ue+l),c=Me,Me=y(Me+lt),q>>>0<se>>>0){Xe=y(c+et),O=q;do{q=n[(n[Co>>2]|0)+(O<<2)>>2]|0;e:do if((n[q+36>>2]|0)!=1&&(n[q+24>>2]|0)==0)switch(ga(s,q)|0){case 1:{Vt=y(c+y(K(q,cr,xr))),h[q+400+(n[Lt>>2]<<2)>>2]=Vt;break e}case 3:{Vt=y(y(Me-y(re(q,cr,xr)))-y(h[q+908+(n[Or>>2]<<2)>>2])),h[q+400+(n[Lt>>2]<<2)>>2]=Vt;break e}case 2:{Vt=y(c+y(y(lt-y(h[q+908+(n[Or>>2]<<2)>>2]))*y(.5))),h[q+400+(n[Lt>>2]<<2)>>2]=Vt;break e}case 4:{if(Vt=y(c+y(K(q,cr,xr))),h[q+400+(n[Lt>>2]<<2)>>2]=Vt,es(q,cr,Fn)|0||(Jn?(Fe=y(h[q+908>>2]),l=y(Fe+y(an(q,Fr,xr))),et=lt):(et=y(h[q+912>>2]),et=y(et+y(an(q,cr,xr))),l=lt,Fe=y(h[q+908>>2])),Ci(l,Fe)|0&&Ci(et,y(h[q+912>>2]))|0))break e;pa(q,l,et,Ss,1,1,xr,Eo,1,3501,M)|0;break e}case 5:{h[q+404>>2]=y(y(Xe-y(Ya(q)))+y(Lr(q,0,Fn)));break e}default:break e}while(0);O=O+1|0}while((O|0)!=(se|0))}if(Ge=Ge+1|0,(Ge|0)==(m|0))break;q=se}}}while(0);if(h[s+908>>2]=y(Ii(s,2,kc,B,B)),h[s+912>>2]=y(Ii(s,0,lf,Q,B)),(Ql|0)!=0&&(cf=n[s+32>>2]|0,uf=(Ql|0)==2,!(uf&(cf|0)!=2))?uf&(cf|0)==2&&(l=y(Fc+nr),l=y(Un(y(Fg(l,y(MA(s,Fr,Qc,wo)))),Fc)),zr=198):(l=y(Ii(s,Fr,Qc,wo,B)),zr=198),(zr|0)==198&&(h[s+908+(n[976+(Fr<<2)>>2]<<2)>>2]=l),(kl|0)!=0&&(ff=n[s+32>>2]|0,pf=(kl|0)==2,!(pf&(ff|0)!=2))?pf&(ff|0)==2&&(l=y(Ks+Fn),l=y(Un(y(Fg(l,y(MA(s,cr,y(Ks+Ds),Rc)))),Ks)),zr=204):(l=y(Ii(s,cr,y(Ks+Ds),Rc,B)),zr=204),(zr|0)==204&&(h[s+908+(n[976+(cr<<2)>>2]<<2)>>2]=l),k){if((n[Af>>2]|0)==2){q=976+(cr<<2)|0,se=1040+(cr<<2)|0,O=0;do Ge=ds(s,O)|0,n[Ge+24>>2]|0||(hf=n[q>>2]|0,Vt=y(h[s+908+(hf<<2)>>2]),ai=Ge+400+(n[se>>2]<<2)|0,Vt=y(Vt-y(h[ai>>2])),h[ai>>2]=y(Vt-y(h[Ge+908+(hf<<2)>>2]))),O=O+1|0;while((O|0)!=(Js|0))}if(f|0){O=Jn?Ql:d;do Lm(s,f,xr,O,Eo,Ss,M),f=n[f+960>>2]|0;while((f|0)!=0)}if(O=(Fr|2|0)==3,q=(cr|2|0)==3,O|q){f=0;do se=n[(n[Co>>2]|0)+(f<<2)>>2]|0,(n[se+36>>2]|0)!=1&&(O&&Ep(s,se,Fr),q&&Ep(s,se,cr)),f=f+1|0;while((f|0)!=(Js|0))}}}while(0);E=Fl}function ha(s,l){s=s|0,l=y(l);var c=0;aa(s,l>=y(0),3147),c=l==y(0),h[s+4>>2]=c?y(0):l}function vc(s,l,c,f){s=s|0,l=y(l),c=y(c),f=f|0;var d=Ze,m=Ze,B=0,Q=0,k=0;n[2278]=(n[2278]|0)+1,Il(s),es(s,2,l)|0?(d=y(qr(n[s+992>>2]|0,l)),k=1,d=y(d+y(an(s,2,l)))):(d=y(qr(s+380|0,l)),d>=y(0)?k=2:(k=((Ut(l)|0)^1)&1,d=l)),es(s,0,c)|0?(m=y(qr(n[s+996>>2]|0,c)),Q=1,m=y(m+y(an(s,0,l)))):(m=y(qr(s+388|0,c)),m>=y(0)?Q=2:(Q=((Ut(c)|0)^1)&1,m=c)),B=s+976|0,pa(s,d,m,f,k,Q,l,c,1,3189,n[B>>2]|0)|0&&(mp(s,n[s+496>>2]|0,l,c,l),Dc(s,y(h[(n[B>>2]|0)+4>>2]),y(0),y(0)),o[11696]|0)&&Qm(s,7)}function Il(s){s=s|0;var l=0,c=0,f=0,d=0,m=0,B=0,Q=0,k=0,M=0,O=0;Q=E,E=E+32|0,B=Q+24|0,m=Q+16|0,f=Q+8|0,d=Q,c=0;do l=s+380+(c<<3)|0,(n[s+380+(c<<3)+4>>2]|0)!=0&&(k=l,M=n[k+4>>2]|0,O=f,n[O>>2]=n[k>>2],n[O+4>>2]=M,O=s+364+(c<<3)|0,M=n[O+4>>2]|0,k=d,n[k>>2]=n[O>>2],n[k+4>>2]=M,n[m>>2]=n[f>>2],n[m+4>>2]=n[f+4>>2],n[B>>2]=n[d>>2],n[B+4>>2]=n[d+4>>2],Is(m,B)|0)||(l=s+348+(c<<3)|0),n[s+992+(c<<2)>>2]=l,c=c+1|0;while((c|0)!=2);E=Q}function es(s,l,c){s=s|0,l=l|0,c=y(c);var f=0;switch(s=n[s+992+(n[976+(l<<2)>>2]<<2)>>2]|0,n[s+4>>2]|0){case 0:case 3:{s=0;break}case 1:{y(h[s>>2])<y(0)?s=0:f=5;break}case 2:{y(h[s>>2])<y(0)?s=0:s=(Ut(c)|0)^1;break}default:f=5}return(f|0)==5&&(s=1),s|0}function qr(s,l){switch(s=s|0,l=y(l),n[s+4>>2]|0){case 2:{l=y(y(y(h[s>>2])*l)/y(100));break}case 1:{l=y(h[s>>2]);break}default:l=y(de)}return y(l)}function mp(s,l,c,f,d){s=s|0,l=l|0,c=y(c),f=y(f),d=y(d);var m=0,B=Ze;l=n[s+944>>2]|0?l:1,m=Ar(n[s+4>>2]|0,l)|0,l=EC(m,l)|0,c=y(Om(s,m,c)),f=y(Om(s,l,f)),B=y(c+y(K(s,m,d))),h[s+400+(n[1040+(m<<2)>>2]<<2)>>2]=B,c=y(c+y(re(s,m,d))),h[s+400+(n[1e3+(m<<2)>>2]<<2)>>2]=c,c=y(f+y(K(s,l,d))),h[s+400+(n[1040+(l<<2)>>2]<<2)>>2]=c,d=y(f+y(re(s,l,d))),h[s+400+(n[1e3+(l<<2)>>2]<<2)>>2]=d}function Dc(s,l,c,f){s=s|0,l=y(l),c=y(c),f=y(f);var d=0,m=0,B=Ze,Q=Ze,k=0,M=0,O=Ze,q=0,se=Ze,Ge=Ze,Me=Ze,Fe=Ze;if(l!=y(0)&&(d=s+400|0,Fe=y(h[d>>2]),m=s+404|0,Me=y(h[m>>2]),q=s+416|0,Ge=y(h[q>>2]),M=s+420|0,B=y(h[M>>2]),se=y(Fe+c),O=y(Me+f),f=y(se+Ge),Q=y(O+B),k=(n[s+988>>2]|0)==1,h[d>>2]=y(Go(Fe,l,0,k)),h[m>>2]=y(Go(Me,l,0,k)),c=y(PR(y(Ge*l),y(1))),Ci(c,y(0))|0?m=0:m=(Ci(c,y(1))|0)^1,c=y(PR(y(B*l),y(1))),Ci(c,y(0))|0?d=0:d=(Ci(c,y(1))|0)^1,Fe=y(Go(f,l,k&m,k&(m^1))),h[q>>2]=y(Fe-y(Go(se,l,0,k))),Fe=y(Go(Q,l,k&d,k&(d^1))),h[M>>2]=y(Fe-y(Go(O,l,0,k))),m=(n[s+952>>2]|0)-(n[s+948>>2]|0)>>2,m|0)){d=0;do Dc(ds(s,d)|0,l,se,O),d=d+1|0;while((d|0)!=(m|0))}}function yC(s,l,c,f,d){switch(s=s|0,l=l|0,c=c|0,f=f|0,d=d|0,c|0){case 5:case 0:{s=n7(n[489]|0,f,d)|0;break}default:s=VUe(f,d)|0}return s|0}function mg(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0,m=0;d=E,E=E+16|0,m=d,n[m>>2]=f,yg(s,0,l,c,m),E=d}function yg(s,l,c,f,d){if(s=s|0,l=l|0,c=c|0,f=f|0,d=d|0,s=s|0?s:956,v7[n[s+8>>2]&1](s,l,c,f,d)|0,(c|0)==5)Rt();else return}function Ga(s,l,c){s=s|0,l=l|0,c=c|0,o[s+l>>0]=c&1}function Fm(s,l){s=s|0,l=l|0;var c=0,f=0;n[s>>2]=0,n[s+4>>2]=0,n[s+8>>2]=0,c=l+4|0,f=(n[c>>2]|0)-(n[l>>2]|0)>>2,f|0&&(Eg(s,f),kt(s,n[l>>2]|0,n[c>>2]|0,f))}function Eg(s,l){s=s|0,l=l|0;var c=0;if((L(s)|0)>>>0<l>>>0&&Vr(s),l>>>0>1073741823)Rt();else{c=Kt(l<<2)|0,n[s+4>>2]=c,n[s>>2]=c,n[s+8>>2]=c+(l<<2);return}}function kt(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0,f=s+4|0,s=c-l|0,(s|0)>0&&(vr(n[f>>2]|0,l|0,s|0)|0,n[f>>2]=(n[f>>2]|0)+(s>>>2<<2))}function L(s){return s=s|0,1073741823}function K(s,l,c){return s=s|0,l=l|0,c=y(c),pe(l)|0&&(n[s+96>>2]|0)!=0?s=s+92|0:s=kn(s+60|0,n[1040+(l<<2)>>2]|0,992)|0,y(ze(s,c))}function re(s,l,c){return s=s|0,l=l|0,c=y(c),pe(l)|0&&(n[s+104>>2]|0)!=0?s=s+100|0:s=kn(s+60|0,n[1e3+(l<<2)>>2]|0,992)|0,y(ze(s,c))}function pe(s){return s=s|0,(s|1|0)==3|0}function ze(s,l){return s=s|0,l=y(l),(n[s+4>>2]|0)==3?l=y(0):l=y(qr(s,l)),y(l)}function mt(s,l){return s=s|0,l=l|0,s=n[s>>2]|0,((s|0)==0?(l|0)>1?l:1:s)|0}function Ar(s,l){s=s|0,l=l|0;var c=0;e:do if((l|0)==2){switch(s|0){case 2:{s=3;break e}case 3:break;default:{c=4;break e}}s=2}else c=4;while(0);return s|0}function Er(s,l){s=s|0,l=l|0;var c=Ze;return pe(l)|0&&(n[s+312>>2]|0)!=0&&(c=y(h[s+308>>2]),c>=y(0))||(c=y(Un(y(h[(kn(s+276|0,n[1040+(l<<2)>>2]|0,992)|0)>>2]),y(0)))),y(c)}function mn(s,l){s=s|0,l=l|0;var c=Ze;return pe(l)|0&&(n[s+320>>2]|0)!=0&&(c=y(h[s+316>>2]),c>=y(0))||(c=y(Un(y(h[(kn(s+276|0,n[1e3+(l<<2)>>2]|0,992)|0)>>2]),y(0)))),y(c)}function si(s,l,c){s=s|0,l=l|0,c=y(c);var f=Ze;return pe(l)|0&&(n[s+240>>2]|0)!=0&&(f=y(qr(s+236|0,c)),f>=y(0))||(f=y(Un(y(qr(kn(s+204|0,n[1040+(l<<2)>>2]|0,992)|0,c)),y(0)))),y(f)}function Mi(s,l,c){s=s|0,l=l|0,c=y(c);var f=Ze;return pe(l)|0&&(n[s+248>>2]|0)!=0&&(f=y(qr(s+244|0,c)),f>=y(0))||(f=y(Un(y(qr(kn(s+204|0,n[1e3+(l<<2)>>2]|0,992)|0,c)),y(0)))),y(f)}function wg(s,l,c,f,d,m,B){s=s|0,l=y(l),c=y(c),f=f|0,d=d|0,m=y(m),B=y(B);var Q=Ze,k=Ze,M=Ze,O=Ze,q=Ze,se=Ze,Ge=0,Me=0,Fe=0;Fe=E,E=E+16|0,Ge=Fe,Me=s+964|0,Mn(s,(n[Me>>2]|0)!=0,3519),Q=y(yn(s,2,l)),k=y(yn(s,0,l)),M=y(an(s,2,l)),O=y(an(s,0,l)),Ut(l)|0?q=l:q=y(Un(y(0),y(y(l-M)-Q))),Ut(c)|0?se=c:se=y(Un(y(0),y(y(c-O)-k))),(f|0)==1&(d|0)==1?(h[s+908>>2]=y(Ii(s,2,y(l-M),m,m)),l=y(Ii(s,0,y(c-O),B,m))):(D7[n[Me>>2]&1](Ge,s,q,f,se,d),q=y(Q+y(h[Ge>>2])),se=y(l-M),h[s+908>>2]=y(Ii(s,2,(f|2|0)==2?q:se,m,m)),se=y(k+y(h[Ge+4>>2])),l=y(c-O),l=y(Ii(s,0,(d|2|0)==2?se:l,B,m))),h[s+912>>2]=l,E=Fe}function qv(s,l,c,f,d,m,B){s=s|0,l=y(l),c=y(c),f=f|0,d=d|0,m=y(m),B=y(B);var Q=Ze,k=Ze,M=Ze,O=Ze;M=y(yn(s,2,m)),Q=y(yn(s,0,m)),O=y(an(s,2,m)),k=y(an(s,0,m)),l=y(l-O),h[s+908>>2]=y(Ii(s,2,(f|2|0)==2?M:l,m,m)),c=y(c-k),h[s+912>>2]=y(Ii(s,0,(d|2|0)==2?Q:c,B,m))}function Gv(s,l,c,f,d,m,B){s=s|0,l=y(l),c=y(c),f=f|0,d=d|0,m=y(m),B=y(B);var Q=0,k=Ze,M=Ze;return Q=(f|0)==2,!(l<=y(0)&Q)&&!(c<=y(0)&(d|0)==2)&&!((f|0)==1&(d|0)==1)?s=0:(k=y(an(s,0,m)),M=y(an(s,2,m)),Q=l<y(0)&Q|(Ut(l)|0),l=y(l-M),h[s+908>>2]=y(Ii(s,2,Q?y(0):l,m,m)),l=y(c-k),Q=c<y(0)&(d|0)==2|(Ut(c)|0),h[s+912>>2]=y(Ii(s,0,Q?y(0):l,B,m)),s=1),s|0}function EC(s,l){return s=s|0,l=l|0,UA(s)|0?s=Ar(2,l)|0:s=0,s|0}function yp(s,l,c){return s=s|0,l=l|0,c=y(c),c=y(si(s,l,c)),y(c+y(Er(s,l)))}function wC(s,l,c){return s=s|0,l=l|0,c=y(c),c=y(Mi(s,l,c)),y(c+y(mn(s,l)))}function yn(s,l,c){s=s|0,l=l|0,c=y(c);var f=Ze;return f=y(yp(s,l,c)),y(f+y(wC(s,l,c)))}function Rm(s){return s=s|0,n[s+24>>2]|0?s=0:y(ts(s))!=y(0)?s=1:s=y(Gs(s))!=y(0),s|0}function ts(s){s=s|0;var l=Ze;if(n[s+944>>2]|0){if(l=y(h[s+44>>2]),Ut(l)|0)return l=y(h[s+40>>2]),s=l>y(0)&((Ut(l)|0)^1),y(s?l:y(0))}else l=y(0);return y(l)}function Gs(s){s=s|0;var l=Ze,c=0,f=Ze;do if(n[s+944>>2]|0){if(l=y(h[s+48>>2]),Ut(l)|0){if(c=o[(n[s+976>>2]|0)+2>>0]|0,c<<24>>24==0&&(f=y(h[s+40>>2]),f<y(0)&((Ut(f)|0)^1))){l=y(-f);break}l=c<<24>>24?y(1):y(0)}}else l=y(0);while(0);return y(l)}function Du(s){s=s|0;var l=0,c=0;if(zm(s+400|0,0,540)|0,o[s+985>>0]=1,$(s),c=wi(s)|0,c|0){l=s+948|0,s=0;do Du(n[(n[l>>2]|0)+(s<<2)>>2]|0),s=s+1|0;while((s|0)!=(c|0))}}function Tm(s,l,c,f,d,m,B,Q,k,M){s=s|0,l=l|0,c=y(c),f=f|0,d=y(d),m=y(m),B=y(B),Q=Q|0,k=k|0,M=M|0;var O=0,q=Ze,se=0,Ge=0,Me=Ze,Fe=Ze,et=0,Xe=Ze,lt=0,Ue=Ze,qe=0,Lt=0,Or=0,sr=0,Xt=0,Dr=0,Tr=0,nr=0,xn=0,go=0;xn=E,E=E+16|0,Or=xn+12|0,sr=xn+8|0,Xt=xn+4|0,Dr=xn,nr=Ar(n[s+4>>2]|0,k)|0,qe=pe(nr)|0,q=y(qr(CC(l)|0,qe?m:B)),Lt=es(l,2,m)|0,Tr=es(l,0,B)|0;do if(!(Ut(q)|0)&&!(Ut(qe?c:d)|0)){if(O=l+504|0,!(Ut(y(h[O>>2]))|0)&&(!(IC(n[l+976>>2]|0,0)|0)||(n[l+500>>2]|0)==(n[2278]|0)))break;h[O>>2]=y(Un(q,y(yn(l,nr,m))))}else se=7;while(0);do if((se|0)==7){if(lt=qe^1,!(lt|Lt^1)){B=y(qr(n[l+992>>2]|0,m)),h[l+504>>2]=y(Un(B,y(yn(l,2,m))));break}if(!(qe|Tr^1)){B=y(qr(n[l+996>>2]|0,B)),h[l+504>>2]=y(Un(B,y(yn(l,0,m))));break}h[Or>>2]=y(de),h[sr>>2]=y(de),n[Xt>>2]=0,n[Dr>>2]=0,Xe=y(an(l,2,m)),Ue=y(an(l,0,m)),Lt?(Me=y(Xe+y(qr(n[l+992>>2]|0,m))),h[Or>>2]=Me,n[Xt>>2]=1,Ge=1):(Ge=0,Me=y(de)),Tr?(q=y(Ue+y(qr(n[l+996>>2]|0,B))),h[sr>>2]=q,n[Dr>>2]=1,O=1):(O=0,q=y(de)),se=n[s+32>>2]|0,qe&(se|0)==2?se=2:Ut(Me)|0&&!(Ut(c)|0)&&(h[Or>>2]=c,n[Xt>>2]=2,Ge=2,Me=c),!((se|0)==2<)&&Ut(q)|0&&!(Ut(d)|0)&&(h[sr>>2]=d,n[Dr>>2]=2,O=2,q=d),Fe=y(h[l+396>>2]),et=Ut(Fe)|0;do if(et)se=Ge;else{if((Ge|0)==1<){h[sr>>2]=y(y(Me-Xe)/Fe),n[Dr>>2]=1,O=1,se=1;break}qe&(O|0)==1?(h[Or>>2]=y(Fe*y(q-Ue)),n[Xt>>2]=1,O=1,se=1):se=Ge}while(0);go=Ut(c)|0,Ge=(ga(s,l)|0)!=4,!(qe|Lt|((f|0)!=1|go)|(Ge|(se|0)==1))&&(h[Or>>2]=c,n[Xt>>2]=1,!et)&&(h[sr>>2]=y(y(c-Xe)/Fe),n[Dr>>2]=1,O=1),!(Tr|lt|((Q|0)!=1|(Ut(d)|0))|(Ge|(O|0)==1))&&(h[sr>>2]=d,n[Dr>>2]=1,!et)&&(h[Or>>2]=y(Fe*y(d-Ue)),n[Xt>>2]=1),mr(l,2,m,m,Xt,Or),mr(l,0,B,m,Dr,sr),c=y(h[Or>>2]),d=y(h[sr>>2]),pa(l,c,d,k,n[Xt>>2]|0,n[Dr>>2]|0,m,B,0,3565,M)|0,B=y(h[l+908+(n[976+(nr<<2)>>2]<<2)>>2]),h[l+504>>2]=y(Un(B,y(yn(l,nr,m))))}while(0);n[l+500>>2]=n[2278],E=xn}function Ii(s,l,c,f,d){return s=s|0,l=l|0,c=y(c),f=y(f),d=y(d),f=y(MA(s,l,c,f)),y(Un(f,y(yn(s,l,d))))}function ga(s,l){return s=s|0,l=l|0,l=l+20|0,l=n[((n[l>>2]|0)==0?s+16|0:l)>>2]|0,(l|0)==5&&UA(n[s+4>>2]|0)|0&&(l=1),l|0}function Bl(s,l){return s=s|0,l=l|0,pe(l)|0&&(n[s+96>>2]|0)!=0?l=4:l=n[1040+(l<<2)>>2]|0,s+60+(l<<3)|0}function Sc(s,l){return s=s|0,l=l|0,pe(l)|0&&(n[s+104>>2]|0)!=0?l=5:l=n[1e3+(l<<2)>>2]|0,s+60+(l<<3)|0}function mr(s,l,c,f,d,m){switch(s=s|0,l=l|0,c=y(c),f=y(f),d=d|0,m=m|0,c=y(qr(s+380+(n[976+(l<<2)>>2]<<3)|0,c)),c=y(c+y(an(s,l,f))),n[d>>2]|0){case 2:case 1:{d=Ut(c)|0,f=y(h[m>>2]),h[m>>2]=d|f<c?f:c;break}case 0:{Ut(c)|0||(n[d>>2]=2,h[m>>2]=c);break}default:}}function hi(s,l){return s=s|0,l=l|0,s=s+132|0,pe(l)|0&&(n[(kn(s,4,948)|0)+4>>2]|0)!=0?s=1:s=(n[(kn(s,n[1040+(l<<2)>>2]|0,948)|0)+4>>2]|0)!=0,s|0}function Lr(s,l,c){s=s|0,l=l|0,c=y(c);var f=0,d=0;return s=s+132|0,pe(l)|0&&(f=kn(s,4,948)|0,(n[f+4>>2]|0)!=0)?d=4:(f=kn(s,n[1040+(l<<2)>>2]|0,948)|0,n[f+4>>2]|0?d=4:c=y(0)),(d|0)==4&&(c=y(qr(f,c))),y(c)}function rs(s,l,c){s=s|0,l=l|0,c=y(c);var f=Ze;return f=y(h[s+908+(n[976+(l<<2)>>2]<<2)>>2]),f=y(f+y(K(s,l,c))),y(f+y(re(s,l,c)))}function Wi(s){s=s|0;var l=0,c=0,f=0;e:do if(UA(n[s+4>>2]|0)|0)l=0;else if((n[s+16>>2]|0)!=5)if(c=wi(s)|0,!c)l=0;else for(l=0;;){if(f=ds(s,l)|0,(n[f+24>>2]|0)==0&&(n[f+20>>2]|0)==5){l=1;break e}if(l=l+1|0,l>>>0>=c>>>0){l=0;break}}else l=1;while(0);return l|0}function Nm(s,l){s=s|0,l=l|0;var c=Ze;return c=y(h[s+908+(n[976+(l<<2)>>2]<<2)>>2]),c>=y(0)&((Ut(c)|0)^1)|0}function Ya(s){s=s|0;var l=Ze,c=0,f=0,d=0,m=0,B=0,Q=0,k=Ze;if(c=n[s+968>>2]|0,c)k=y(h[s+908>>2]),l=y(h[s+912>>2]),l=y(w7[c&0](s,k,l)),Mn(s,(Ut(l)|0)^1,3573);else{m=wi(s)|0;do if(m|0){for(c=0,d=0;;){if(f=ds(s,d)|0,n[f+940>>2]|0){B=8;break}if((n[f+24>>2]|0)!=1)if(Q=(ga(s,f)|0)==5,Q){c=f;break}else c=(c|0)==0?f:c;if(d=d+1|0,d>>>0>=m>>>0){B=8;break}}if((B|0)==8&&!c)break;return l=y(Ya(c)),y(l+y(h[c+404>>2]))}while(0);l=y(h[s+912>>2])}return y(l)}function MA(s,l,c,f){s=s|0,l=l|0,c=y(c),f=y(f);var d=Ze,m=0;return UA(l)|0?(l=1,m=3):pe(l)|0?(l=0,m=3):(f=y(de),d=y(de)),(m|0)==3&&(d=y(qr(s+364+(l<<3)|0,f)),f=y(qr(s+380+(l<<3)|0,f))),m=f<c&(f>=y(0)&((Ut(f)|0)^1)),c=m?f:c,m=d>=y(0)&((Ut(d)|0)^1)&c<d,y(m?d:c)}function Lm(s,l,c,f,d,m,B){s=s|0,l=l|0,c=y(c),f=f|0,d=y(d),m=m|0,B=B|0;var Q=Ze,k=Ze,M=0,O=0,q=Ze,se=Ze,Ge=Ze,Me=0,Fe=0,et=0,Xe=0,lt=Ze,Ue=0;et=Ar(n[s+4>>2]|0,m)|0,Me=EC(et,m)|0,Fe=pe(et)|0,q=y(an(l,2,c)),se=y(an(l,0,c)),es(l,2,c)|0?Q=y(q+y(qr(n[l+992>>2]|0,c))):hi(l,2)|0&&ir(l,2)|0?(Q=y(h[s+908>>2]),k=y(Er(s,2)),k=y(Q-y(k+y(mn(s,2)))),Q=y(Lr(l,2,c)),Q=y(Ii(l,2,y(k-y(Q+y(Su(l,2,c)))),c,c))):Q=y(de),es(l,0,d)|0?k=y(se+y(qr(n[l+996>>2]|0,d))):hi(l,0)|0&&ir(l,0)|0?(k=y(h[s+912>>2]),lt=y(Er(s,0)),lt=y(k-y(lt+y(mn(s,0)))),k=y(Lr(l,0,d)),k=y(Ii(l,0,y(lt-y(k+y(Su(l,0,d)))),d,c))):k=y(de),M=Ut(Q)|0,O=Ut(k)|0;do if(M^O&&(Ge=y(h[l+396>>2]),!(Ut(Ge)|0)))if(M){Q=y(q+y(y(k-se)*Ge));break}else{lt=y(se+y(y(Q-q)/Ge)),k=O?lt:k;break}while(0);O=Ut(Q)|0,M=Ut(k)|0,O|M&&(Ue=(O^1)&1,f=c>y(0)&((f|0)!=0&O),Q=Fe?Q:f?c:Q,pa(l,Q,k,m,Fe?Ue:f?2:Ue,O&(M^1)&1,Q,k,0,3623,B)|0,Q=y(h[l+908>>2]),Q=y(Q+y(an(l,2,c))),k=y(h[l+912>>2]),k=y(k+y(an(l,0,c)))),pa(l,Q,k,m,1,1,Q,k,1,3635,B)|0,ir(l,et)|0&&!(hi(l,et)|0)?(Ue=n[976+(et<<2)>>2]|0,lt=y(h[s+908+(Ue<<2)>>2]),lt=y(lt-y(h[l+908+(Ue<<2)>>2])),lt=y(lt-y(mn(s,et))),lt=y(lt-y(re(l,et,c))),lt=y(lt-y(Su(l,et,Fe?c:d))),h[l+400+(n[1040+(et<<2)>>2]<<2)>>2]=lt):Xe=21;do if((Xe|0)==21){if(!(hi(l,et)|0)&&(n[s+8>>2]|0)==1){Ue=n[976+(et<<2)>>2]|0,lt=y(h[s+908+(Ue<<2)>>2]),lt=y(y(lt-y(h[l+908+(Ue<<2)>>2]))*y(.5)),h[l+400+(n[1040+(et<<2)>>2]<<2)>>2]=lt;break}!(hi(l,et)|0)&&(n[s+8>>2]|0)==2&&(Ue=n[976+(et<<2)>>2]|0,lt=y(h[s+908+(Ue<<2)>>2]),lt=y(lt-y(h[l+908+(Ue<<2)>>2])),h[l+400+(n[1040+(et<<2)>>2]<<2)>>2]=lt)}while(0);ir(l,Me)|0&&!(hi(l,Me)|0)?(Ue=n[976+(Me<<2)>>2]|0,lt=y(h[s+908+(Ue<<2)>>2]),lt=y(lt-y(h[l+908+(Ue<<2)>>2])),lt=y(lt-y(mn(s,Me))),lt=y(lt-y(re(l,Me,c))),lt=y(lt-y(Su(l,Me,Fe?d:c))),h[l+400+(n[1040+(Me<<2)>>2]<<2)>>2]=lt):Xe=30;do if((Xe|0)==30&&!(hi(l,Me)|0)){if((ga(s,l)|0)==2){Ue=n[976+(Me<<2)>>2]|0,lt=y(h[s+908+(Ue<<2)>>2]),lt=y(y(lt-y(h[l+908+(Ue<<2)>>2]))*y(.5)),h[l+400+(n[1040+(Me<<2)>>2]<<2)>>2]=lt;break}Ue=(ga(s,l)|0)==3,Ue^(n[s+28>>2]|0)==2&&(Ue=n[976+(Me<<2)>>2]|0,lt=y(h[s+908+(Ue<<2)>>2]),lt=y(lt-y(h[l+908+(Ue<<2)>>2])),h[l+400+(n[1040+(Me<<2)>>2]<<2)>>2]=lt)}while(0)}function Ep(s,l,c){s=s|0,l=l|0,c=c|0;var f=Ze,d=0;d=n[976+(c<<2)>>2]|0,f=y(h[l+908+(d<<2)>>2]),f=y(y(h[s+908+(d<<2)>>2])-f),f=y(f-y(h[l+400+(n[1040+(c<<2)>>2]<<2)>>2])),h[l+400+(n[1e3+(c<<2)>>2]<<2)>>2]=f}function UA(s){return s=s|0,(s|1|0)==1|0}function CC(s){s=s|0;var l=Ze;switch(n[s+56>>2]|0){case 0:case 3:{l=y(h[s+40>>2]),l>y(0)&((Ut(l)|0)^1)?s=o[(n[s+976>>2]|0)+2>>0]|0?1056:992:s=1056;break}default:s=s+52|0}return s|0}function IC(s,l){return s=s|0,l=l|0,(o[s+l>>0]|0)!=0|0}function ir(s,l){return s=s|0,l=l|0,s=s+132|0,pe(l)|0&&(n[(kn(s,5,948)|0)+4>>2]|0)!=0?s=1:s=(n[(kn(s,n[1e3+(l<<2)>>2]|0,948)|0)+4>>2]|0)!=0,s|0}function Su(s,l,c){s=s|0,l=l|0,c=y(c);var f=0,d=0;return s=s+132|0,pe(l)|0&&(f=kn(s,5,948)|0,(n[f+4>>2]|0)!=0)?d=4:(f=kn(s,n[1e3+(l<<2)>>2]|0,948)|0,n[f+4>>2]|0?d=4:c=y(0)),(d|0)==4&&(c=y(qr(f,c))),y(c)}function Om(s,l,c){return s=s|0,l=l|0,c=y(c),hi(s,l)|0?c=y(Lr(s,l,c)):c=y(-y(Su(s,l,c))),y(c)}function Pu(s){return s=y(s),h[v>>2]=s,n[v>>2]|0|0}function wp(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0;n[s+12>>2]=0,n[s+16>>2]=f;do if(l)if(l>>>0>1073741823)Rt();else{d=Kt(l<<2)|0;break}else d=0;while(0);n[s>>2]=d,f=d+(c<<2)|0,n[s+8>>2]=f,n[s+4>>2]=f,n[s+12>>2]=d+(l<<2)}function Cg(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0;f=n[s>>2]|0,B=s+4|0,m=l+4|0,d=(n[B>>2]|0)-f|0,c=(n[m>>2]|0)+(0-(d>>2)<<2)|0,n[m>>2]=c,(d|0)>0?(vr(c|0,f|0,d|0)|0,f=m,c=n[m>>2]|0):f=m,m=n[s>>2]|0,n[s>>2]=c,n[f>>2]=m,m=l+8|0,d=n[B>>2]|0,n[B>>2]=n[m>>2],n[m>>2]=d,m=s+8|0,B=l+12|0,s=n[m>>2]|0,n[m>>2]=n[B>>2],n[B>>2]=s,n[l>>2]=n[f>>2]}function _A(s){s=s|0;var l=0,c=0,f=0;l=n[s+4>>2]|0,c=s+8|0,f=n[c>>2]|0,(f|0)!=(l|0)&&(n[c>>2]=f+(~((f+-4-l|0)>>>2)<<2)),s=n[s>>2]|0,s|0&&ht(s)}function HA(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0,m=0,B=0,Q=0;if(B=s+4|0,Q=n[B>>2]|0,d=Q-f|0,m=d>>2,s=l+(m<<2)|0,s>>>0<c>>>0){f=Q;do n[f>>2]=n[s>>2],s=s+4|0,f=(n[B>>2]|0)+4|0,n[B>>2]=f;while(s>>>0<c>>>0)}m|0&&LC(Q+(0-m<<2)|0,l|0,d|0)|0}function Ig(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,Q=0,k=0;return Q=l+4|0,k=n[Q>>2]|0,d=n[s>>2]|0,B=c,m=B-d|0,f=k+(0-(m>>2)<<2)|0,n[Q>>2]=f,(m|0)>0&&vr(f|0,d|0,m|0)|0,d=s+4|0,m=l+8|0,f=(n[d>>2]|0)-B|0,(f|0)>0&&(vr(n[m>>2]|0,c|0,f|0)|0,n[m>>2]=(n[m>>2]|0)+(f>>>2<<2)),B=n[s>>2]|0,n[s>>2]=n[Q>>2],n[Q>>2]=B,B=n[d>>2]|0,n[d>>2]=n[m>>2],n[m>>2]=B,B=s+8|0,c=l+12|0,s=n[B>>2]|0,n[B>>2]=n[c>>2],n[c>>2]=s,n[l>>2]=n[Q>>2],k|0}function BC(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0;if(B=n[l>>2]|0,m=n[c>>2]|0,(B|0)!=(m|0)){d=s+8|0,c=((m+-4-B|0)>>>2)+1|0,s=B,f=n[d>>2]|0;do n[f>>2]=n[s>>2],f=(n[d>>2]|0)+4|0,n[d>>2]=f,s=s+4|0;while((s|0)!=(m|0));n[l>>2]=B+(c<<2)}}function Mm(){dc()}function da(){var s=0;return s=Kt(4)|0,jA(s),s|0}function jA(s){s=s|0,n[s>>2]=Es()|0}function Pc(s){s=s|0,s|0&&(Bg(s),ht(s))}function Bg(s){s=s|0,tt(n[s>>2]|0)}function Um(s,l,c){s=s|0,l=l|0,c=c|0,Ga(n[s>>2]|0,l,c)}function fo(s,l){s=s|0,l=y(l),ha(n[s>>2]|0,l)}function Yv(s,l){return s=s|0,l=l|0,IC(n[s>>2]|0,l)|0}function vC(){var s=0;return s=Kt(8)|0,Wv(s,0),s|0}function Wv(s,l){s=s|0,l=l|0,l?l=Ei(n[l>>2]|0)|0:l=co()|0,n[s>>2]=l,n[s+4>>2]=0,Pi(l,s)}function uF(s){s=s|0;var l=0;return l=Kt(8)|0,Wv(l,s),l|0}function Kv(s){s=s|0,s|0&&(xu(s),ht(s))}function xu(s){s=s|0;var l=0;ca(n[s>>2]|0),l=s+4|0,s=n[l>>2]|0,n[l>>2]=0,s|0&&(qA(s),ht(s))}function qA(s){s=s|0,GA(s)}function GA(s){s=s|0,s=n[s>>2]|0,s|0&&PA(s|0)}function DC(s){return s=s|0,jo(s)|0}function _m(s){s=s|0;var l=0,c=0;c=s+4|0,l=n[c>>2]|0,n[c>>2]=0,l|0&&(qA(l),ht(l)),js(n[s>>2]|0)}function AF(s,l){s=s|0,l=l|0,Xr(n[s>>2]|0,n[l>>2]|0)}function fF(s,l){s=s|0,l=l|0,ua(n[s>>2]|0,l)}function Jv(s,l,c){s=s|0,l=l|0,c=+c,wu(n[s>>2]|0,l,y(c))}function Vv(s,l,c){s=s|0,l=l|0,c=+c,ws(n[s>>2]|0,l,y(c))}function SC(s,l){s=s|0,l=l|0,mu(n[s>>2]|0,l)}function bu(s,l){s=s|0,l=l|0,yu(n[s>>2]|0,l)}function pF(s,l){s=s|0,l=l|0,FA(n[s>>2]|0,l)}function hF(s,l){s=s|0,l=l|0,QA(n[s>>2]|0,l)}function Cp(s,l){s=s|0,l=l|0,yc(n[s>>2]|0,l)}function gF(s,l){s=s|0,l=l|0,cp(n[s>>2]|0,l)}function zv(s,l,c){s=s|0,l=l|0,c=+c,wc(n[s>>2]|0,l,y(c))}function YA(s,l,c){s=s|0,l=l|0,c=+c,Y(n[s>>2]|0,l,y(c))}function dF(s,l){s=s|0,l=l|0,wl(n[s>>2]|0,l)}function mF(s,l){s=s|0,l=l|0,sg(n[s>>2]|0,l)}function Xv(s,l){s=s|0,l=l|0,up(n[s>>2]|0,l)}function PC(s,l){s=s|0,l=+l,RA(n[s>>2]|0,y(l))}function xC(s,l){s=s|0,l=+l,Ha(n[s>>2]|0,y(l))}function yF(s,l){s=s|0,l=+l,Yi(n[s>>2]|0,y(l))}function EF(s,l){s=s|0,l=+l,qs(n[s>>2]|0,y(l))}function vl(s,l){s=s|0,l=+l,Eu(n[s>>2]|0,y(l))}function bC(s,l){s=s|0,l=+l,dC(n[s>>2]|0,y(l))}function wF(s,l){s=s|0,l=+l,TA(n[s>>2]|0,y(l))}function WA(s){s=s|0,Ap(n[s>>2]|0)}function Hm(s,l){s=s|0,l=+l,Cs(n[s>>2]|0,y(l))}function Qu(s,l){s=s|0,l=+l,lg(n[s>>2]|0,y(l))}function QC(s){s=s|0,cg(n[s>>2]|0)}function kC(s,l){s=s|0,l=+l,fp(n[s>>2]|0,y(l))}function CF(s,l){s=s|0,l=+l,Ic(n[s>>2]|0,y(l))}function Zv(s,l){s=s|0,l=+l,Pm(n[s>>2]|0,y(l))}function KA(s,l){s=s|0,l=+l,Ag(n[s>>2]|0,y(l))}function $v(s,l){s=s|0,l=+l,Iu(n[s>>2]|0,y(l))}function jm(s,l){s=s|0,l=+l,xm(n[s>>2]|0,y(l))}function eD(s,l){s=s|0,l=+l,Bu(n[s>>2]|0,y(l))}function tD(s,l){s=s|0,l=+l,mC(n[s>>2]|0,y(l))}function qm(s,l){s=s|0,l=+l,fa(n[s>>2]|0,y(l))}function rD(s,l,c){s=s|0,l=l|0,c=+c,Cu(n[s>>2]|0,l,y(c))}function IF(s,l,c){s=s|0,l=l|0,c=+c,xi(n[s>>2]|0,l,y(c))}function S(s,l,c){s=s|0,l=l|0,c=+c,Cc(n[s>>2]|0,l,y(c))}function D(s){return s=s|0,ig(n[s>>2]|0)|0}function T(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0;f=E,E=E+16|0,d=f,Ec(d,n[l>>2]|0,c),j(s,d),E=f}function j(s,l){s=s|0,l=l|0,W(s,n[l+4>>2]|0,+y(h[l>>2]))}function W(s,l,c){s=s|0,l=l|0,c=+c,n[s>>2]=l,w[s+8>>3]=c}function ue(s){return s=s|0,ng(n[s>>2]|0)|0}function De(s){return s=s|0,uo(n[s>>2]|0)|0}function vt(s){return s=s|0,mc(n[s>>2]|0)|0}function Ct(s){return s=s|0,kA(n[s>>2]|0)|0}function bt(s){return s=s|0,Sm(n[s>>2]|0)|0}function Ur(s){return s=s|0,rg(n[s>>2]|0)|0}function ns(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0;f=E,E=E+16|0,d=f,Dt(d,n[l>>2]|0,c),j(s,d),E=f}function gi(s){return s=s|0,Xn(n[s>>2]|0)|0}function po(s){return s=s|0,og(n[s>>2]|0)|0}function JA(s,l){s=s|0,l=l|0;var c=0,f=0;c=E,E=E+16|0,f=c,Aa(f,n[l>>2]|0),j(s,f),E=c}function Yo(s){return s=s|0,+ +y(Gi(n[s>>2]|0))}function rt(s){return s=s|0,+ +y($i(n[s>>2]|0))}function Je(s,l){s=s|0,l=l|0;var c=0,f=0;c=E,E=E+16|0,f=c,Ir(f,n[l>>2]|0),j(s,f),E=c}function At(s,l){s=s|0,l=l|0;var c=0,f=0;c=E,E=E+16|0,f=c,ug(f,n[l>>2]|0),j(s,f),E=c}function Wt(s,l){s=s|0,l=l|0;var c=0,f=0;c=E,E=E+16|0,f=c,wt(f,n[l>>2]|0),j(s,f),E=c}function Br(s,l){s=s|0,l=l|0;var c=0,f=0;c=E,E=E+16|0,f=c,fg(f,n[l>>2]|0),j(s,f),E=c}function Sn(s,l){s=s|0,l=l|0;var c=0,f=0;c=E,E=E+16|0,f=c,pg(f,n[l>>2]|0),j(s,f),E=c}function kr(s,l){s=s|0,l=l|0;var c=0,f=0;c=E,E=E+16|0,f=c,bm(f,n[l>>2]|0),j(s,f),E=c}function Pn(s){return s=s|0,+ +y(Bc(n[s>>2]|0))}function oi(s,l){return s=s|0,l=l|0,+ +y(ag(n[s>>2]|0,l))}function $r(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0;f=E,E=E+16|0,d=f,ct(d,n[l>>2]|0,c),j(s,d),E=f}function ho(s,l,c){s=s|0,l=l|0,c=c|0,rr(n[s>>2]|0,n[l>>2]|0,c)}function BF(s,l){s=s|0,l=l|0,ys(n[s>>2]|0,n[l>>2]|0)}function $Be(s){return s=s|0,wi(n[s>>2]|0)|0}function eve(s){return s=s|0,s=pt(n[s>>2]|0)|0,s?s=DC(s)|0:s=0,s|0}function tve(s,l){return s=s|0,l=l|0,s=ds(n[s>>2]|0,l)|0,s?s=DC(s)|0:s=0,s|0}function rve(s,l){s=s|0,l=l|0;var c=0,f=0;f=Kt(4)|0,VG(f,l),c=s+4|0,l=n[c>>2]|0,n[c>>2]=f,l|0&&(qA(l),ht(l)),It(n[s>>2]|0,1)}function VG(s,l){s=s|0,l=l|0,hve(s,l)}function nve(s,l,c,f,d,m){s=s|0,l=l|0,c=y(c),f=f|0,d=y(d),m=m|0;var B=0,Q=0;B=E,E=E+16|0,Q=B,ive(Q,jo(l)|0,+c,f,+d,m),h[s>>2]=y(+w[Q>>3]),h[s+4>>2]=y(+w[Q+8>>3]),E=B}function ive(s,l,c,f,d,m){s=s|0,l=l|0,c=+c,f=f|0,d=+d,m=m|0;var B=0,Q=0,k=0,M=0,O=0;B=E,E=E+32|0,O=B+8|0,M=B+20|0,k=B,Q=B+16|0,w[O>>3]=c,n[M>>2]=f,w[k>>3]=d,n[Q>>2]=m,sve(s,n[l+4>>2]|0,O,M,k,Q),E=B}function sve(s,l,c,f,d,m){s=s|0,l=l|0,c=c|0,f=f|0,d=d|0,m=m|0;var B=0,Q=0;B=E,E=E+16|0,Q=B,Ka(Q),l=ma(l)|0,ove(s,l,+w[c>>3],n[f>>2]|0,+w[d>>3],n[m>>2]|0),Ja(Q),E=B}function ma(s){return s=s|0,n[s>>2]|0}function ove(s,l,c,f,d,m){s=s|0,l=l|0,c=+c,f=f|0,d=+d,m=m|0;var B=0;B=Dl(ave()|0)|0,c=+VA(c),f=vF(f)|0,d=+VA(d),lve(s,pi(0,B|0,l|0,+c,f|0,+d,vF(m)|0)|0)}function ave(){var s=0;return o[7608]|0||(fve(9120),s=7608,n[s>>2]=1,n[s+4>>2]=0),9120}function Dl(s){return s=s|0,n[s+8>>2]|0}function VA(s){return s=+s,+ +DF(s)}function vF(s){return s=s|0,XG(s)|0}function lve(s,l){s=s|0,l=l|0;var c=0,f=0,d=0;d=E,E=E+32|0,c=d,f=l,f&1?(cve(c,0),ni(f|0,c|0)|0,uve(s,c),Ave(c)):(n[s>>2]=n[l>>2],n[s+4>>2]=n[l+4>>2],n[s+8>>2]=n[l+8>>2],n[s+12>>2]=n[l+12>>2]),E=d}function cve(s,l){s=s|0,l=l|0,zG(s,l),n[s+8>>2]=0,o[s+24>>0]=0}function uve(s,l){s=s|0,l=l|0,l=l+8|0,n[s>>2]=n[l>>2],n[s+4>>2]=n[l+4>>2],n[s+8>>2]=n[l+8>>2],n[s+12>>2]=n[l+12>>2]}function Ave(s){s=s|0,o[s+24>>0]=0}function zG(s,l){s=s|0,l=l|0,n[s>>2]=l}function XG(s){return s=s|0,s|0}function DF(s){return s=+s,+s}function fve(s){s=s|0,Sl(s,pve()|0,4)}function pve(){return 1064}function Sl(s,l,c){s=s|0,l=l|0,c=c|0,n[s>>2]=l,n[s+4>>2]=c,n[s+8>>2]=lp(l|0,c+1|0)|0}function hve(s,l){s=s|0,l=l|0,l=n[l>>2]|0,n[s>>2]=l,ml(l|0)}function gve(s){s=s|0;var l=0,c=0;c=s+4|0,l=n[c>>2]|0,n[c>>2]=0,l|0&&(qA(l),ht(l)),It(n[s>>2]|0,0)}function dve(s){s=s|0,Tt(n[s>>2]|0)}function mve(s){return s=s|0,er(n[s>>2]|0)|0}function yve(s,l,c,f){s=s|0,l=+l,c=+c,f=f|0,vc(n[s>>2]|0,y(l),y(c),f)}function Eve(s){return s=s|0,+ +y(Cl(n[s>>2]|0))}function wve(s){return s=s|0,+ +y(hg(n[s>>2]|0))}function Cve(s){return s=s|0,+ +y(vu(n[s>>2]|0))}function Ive(s){return s=s|0,+ +y(NA(n[s>>2]|0))}function Bve(s){return s=s|0,+ +y(pp(n[s>>2]|0))}function vve(s){return s=s|0,+ +y(ja(n[s>>2]|0))}function Dve(s,l){s=s|0,l=l|0,w[s>>3]=+y(Cl(n[l>>2]|0)),w[s+8>>3]=+y(hg(n[l>>2]|0)),w[s+16>>3]=+y(vu(n[l>>2]|0)),w[s+24>>3]=+y(NA(n[l>>2]|0)),w[s+32>>3]=+y(pp(n[l>>2]|0)),w[s+40>>3]=+y(ja(n[l>>2]|0))}function Sve(s,l){return s=s|0,l=l|0,+ +y(gg(n[s>>2]|0,l))}function Pve(s,l){return s=s|0,l=l|0,+ +y(hp(n[s>>2]|0,l))}function xve(s,l){return s=s|0,l=l|0,+ +y(qo(n[s>>2]|0,l))}function bve(){return Dn()|0}function Qve(){kve(),Fve(),Rve(),Tve(),Nve(),Lve()}function kve(){NNe(11713,4938,1)}function Fve(){eNe(10448)}function Rve(){NTe(10408)}function Tve(){iTe(10324)}function Nve(){fFe(10096)}function Lve(){Ove(9132)}function Ove(s){s=s|0;var l=0,c=0,f=0,d=0,m=0,B=0,Q=0,k=0,M=0,O=0,q=0,se=0,Ge=0,Me=0,Fe=0,et=0,Xe=0,lt=0,Ue=0,qe=0,Lt=0,Or=0,sr=0,Xt=0,Dr=0,Tr=0,nr=0,xn=0,go=0,mo=0,yo=0,Ea=0,Qp=0,kp=0,Pl=0,Fp=0,Tu=0,Nu=0,Rp=0,Tp=0,Np=0,zr=0,xl=0,Lp=0,bc=0,Op=0,Mp=0,Lu=0,Ou=0,Qc=0,Ys=0,za=0,Wo=0,bl=0,nf=0,sf=0,Mu=0,of=0,af=0,Ws=0,Ds=0,Ql=0,Fn=0,lf=0,Eo=0,kc=0,wo=0,Fc=0,cf=0,uf=0,Rc=0,Ks=0,kl=0,Af=0,ff=0,pf=0,xr=0,Jn=0,Ss=0,Co=0,Js=0,Fr=0,cr=0,Fl=0;l=E,E=E+672|0,c=l+656|0,Fl=l+648|0,cr=l+640|0,Fr=l+632|0,Js=l+624|0,Co=l+616|0,Ss=l+608|0,Jn=l+600|0,xr=l+592|0,pf=l+584|0,ff=l+576|0,Af=l+568|0,kl=l+560|0,Ks=l+552|0,Rc=l+544|0,uf=l+536|0,cf=l+528|0,Fc=l+520|0,wo=l+512|0,kc=l+504|0,Eo=l+496|0,lf=l+488|0,Fn=l+480|0,Ql=l+472|0,Ds=l+464|0,Ws=l+456|0,af=l+448|0,of=l+440|0,Mu=l+432|0,sf=l+424|0,nf=l+416|0,bl=l+408|0,Wo=l+400|0,za=l+392|0,Ys=l+384|0,Qc=l+376|0,Ou=l+368|0,Lu=l+360|0,Mp=l+352|0,Op=l+344|0,bc=l+336|0,Lp=l+328|0,xl=l+320|0,zr=l+312|0,Np=l+304|0,Tp=l+296|0,Rp=l+288|0,Nu=l+280|0,Tu=l+272|0,Fp=l+264|0,Pl=l+256|0,kp=l+248|0,Qp=l+240|0,Ea=l+232|0,yo=l+224|0,mo=l+216|0,go=l+208|0,xn=l+200|0,nr=l+192|0,Tr=l+184|0,Dr=l+176|0,Xt=l+168|0,sr=l+160|0,Or=l+152|0,Lt=l+144|0,qe=l+136|0,Ue=l+128|0,lt=l+120|0,Xe=l+112|0,et=l+104|0,Fe=l+96|0,Me=l+88|0,Ge=l+80|0,se=l+72|0,q=l+64|0,O=l+56|0,M=l+48|0,k=l+40|0,Q=l+32|0,B=l+24|0,m=l+16|0,d=l+8|0,f=l,Mve(s,3646),Uve(s,3651,2)|0,_ve(s,3665,2)|0,Hve(s,3682,18)|0,n[Fl>>2]=19,n[Fl+4>>2]=0,n[c>>2]=n[Fl>>2],n[c+4>>2]=n[Fl+4>>2],FC(s,3690,c)|0,n[cr>>2]=1,n[cr+4>>2]=0,n[c>>2]=n[cr>>2],n[c+4>>2]=n[cr+4>>2],jve(s,3696,c)|0,n[Fr>>2]=2,n[Fr+4>>2]=0,n[c>>2]=n[Fr>>2],n[c+4>>2]=n[Fr+4>>2],ku(s,3706,c)|0,n[Js>>2]=1,n[Js+4>>2]=0,n[c>>2]=n[Js>>2],n[c+4>>2]=n[Js+4>>2],vg(s,3722,c)|0,n[Co>>2]=2,n[Co+4>>2]=0,n[c>>2]=n[Co>>2],n[c+4>>2]=n[Co+4>>2],vg(s,3734,c)|0,n[Ss>>2]=3,n[Ss+4>>2]=0,n[c>>2]=n[Ss>>2],n[c+4>>2]=n[Ss+4>>2],ku(s,3753,c)|0,n[Jn>>2]=4,n[Jn+4>>2]=0,n[c>>2]=n[Jn>>2],n[c+4>>2]=n[Jn+4>>2],ku(s,3769,c)|0,n[xr>>2]=5,n[xr+4>>2]=0,n[c>>2]=n[xr>>2],n[c+4>>2]=n[xr+4>>2],ku(s,3783,c)|0,n[pf>>2]=6,n[pf+4>>2]=0,n[c>>2]=n[pf>>2],n[c+4>>2]=n[pf+4>>2],ku(s,3796,c)|0,n[ff>>2]=7,n[ff+4>>2]=0,n[c>>2]=n[ff>>2],n[c+4>>2]=n[ff+4>>2],ku(s,3813,c)|0,n[Af>>2]=8,n[Af+4>>2]=0,n[c>>2]=n[Af>>2],n[c+4>>2]=n[Af+4>>2],ku(s,3825,c)|0,n[kl>>2]=3,n[kl+4>>2]=0,n[c>>2]=n[kl>>2],n[c+4>>2]=n[kl+4>>2],vg(s,3843,c)|0,n[Ks>>2]=4,n[Ks+4>>2]=0,n[c>>2]=n[Ks>>2],n[c+4>>2]=n[Ks+4>>2],vg(s,3853,c)|0,n[Rc>>2]=9,n[Rc+4>>2]=0,n[c>>2]=n[Rc>>2],n[c+4>>2]=n[Rc+4>>2],ku(s,3870,c)|0,n[uf>>2]=10,n[uf+4>>2]=0,n[c>>2]=n[uf>>2],n[c+4>>2]=n[uf+4>>2],ku(s,3884,c)|0,n[cf>>2]=11,n[cf+4>>2]=0,n[c>>2]=n[cf>>2],n[c+4>>2]=n[cf+4>>2],ku(s,3896,c)|0,n[Fc>>2]=1,n[Fc+4>>2]=0,n[c>>2]=n[Fc>>2],n[c+4>>2]=n[Fc+4>>2],Bs(s,3907,c)|0,n[wo>>2]=2,n[wo+4>>2]=0,n[c>>2]=n[wo>>2],n[c+4>>2]=n[wo+4>>2],Bs(s,3915,c)|0,n[kc>>2]=3,n[kc+4>>2]=0,n[c>>2]=n[kc>>2],n[c+4>>2]=n[kc+4>>2],Bs(s,3928,c)|0,n[Eo>>2]=4,n[Eo+4>>2]=0,n[c>>2]=n[Eo>>2],n[c+4>>2]=n[Eo+4>>2],Bs(s,3948,c)|0,n[lf>>2]=5,n[lf+4>>2]=0,n[c>>2]=n[lf>>2],n[c+4>>2]=n[lf+4>>2],Bs(s,3960,c)|0,n[Fn>>2]=6,n[Fn+4>>2]=0,n[c>>2]=n[Fn>>2],n[c+4>>2]=n[Fn+4>>2],Bs(s,3974,c)|0,n[Ql>>2]=7,n[Ql+4>>2]=0,n[c>>2]=n[Ql>>2],n[c+4>>2]=n[Ql+4>>2],Bs(s,3983,c)|0,n[Ds>>2]=20,n[Ds+4>>2]=0,n[c>>2]=n[Ds>>2],n[c+4>>2]=n[Ds+4>>2],FC(s,3999,c)|0,n[Ws>>2]=8,n[Ws+4>>2]=0,n[c>>2]=n[Ws>>2],n[c+4>>2]=n[Ws+4>>2],Bs(s,4012,c)|0,n[af>>2]=9,n[af+4>>2]=0,n[c>>2]=n[af>>2],n[c+4>>2]=n[af+4>>2],Bs(s,4022,c)|0,n[of>>2]=21,n[of+4>>2]=0,n[c>>2]=n[of>>2],n[c+4>>2]=n[of+4>>2],FC(s,4039,c)|0,n[Mu>>2]=10,n[Mu+4>>2]=0,n[c>>2]=n[Mu>>2],n[c+4>>2]=n[Mu+4>>2],Bs(s,4053,c)|0,n[sf>>2]=11,n[sf+4>>2]=0,n[c>>2]=n[sf>>2],n[c+4>>2]=n[sf+4>>2],Bs(s,4065,c)|0,n[nf>>2]=12,n[nf+4>>2]=0,n[c>>2]=n[nf>>2],n[c+4>>2]=n[nf+4>>2],Bs(s,4084,c)|0,n[bl>>2]=13,n[bl+4>>2]=0,n[c>>2]=n[bl>>2],n[c+4>>2]=n[bl+4>>2],Bs(s,4097,c)|0,n[Wo>>2]=14,n[Wo+4>>2]=0,n[c>>2]=n[Wo>>2],n[c+4>>2]=n[Wo+4>>2],Bs(s,4117,c)|0,n[za>>2]=15,n[za+4>>2]=0,n[c>>2]=n[za>>2],n[c+4>>2]=n[za+4>>2],Bs(s,4129,c)|0,n[Ys>>2]=16,n[Ys+4>>2]=0,n[c>>2]=n[Ys>>2],n[c+4>>2]=n[Ys+4>>2],Bs(s,4148,c)|0,n[Qc>>2]=17,n[Qc+4>>2]=0,n[c>>2]=n[Qc>>2],n[c+4>>2]=n[Qc+4>>2],Bs(s,4161,c)|0,n[Ou>>2]=18,n[Ou+4>>2]=0,n[c>>2]=n[Ou>>2],n[c+4>>2]=n[Ou+4>>2],Bs(s,4181,c)|0,n[Lu>>2]=5,n[Lu+4>>2]=0,n[c>>2]=n[Lu>>2],n[c+4>>2]=n[Lu+4>>2],vg(s,4196,c)|0,n[Mp>>2]=6,n[Mp+4>>2]=0,n[c>>2]=n[Mp>>2],n[c+4>>2]=n[Mp+4>>2],vg(s,4206,c)|0,n[Op>>2]=7,n[Op+4>>2]=0,n[c>>2]=n[Op>>2],n[c+4>>2]=n[Op+4>>2],vg(s,4217,c)|0,n[bc>>2]=3,n[bc+4>>2]=0,n[c>>2]=n[bc>>2],n[c+4>>2]=n[bc+4>>2],zA(s,4235,c)|0,n[Lp>>2]=1,n[Lp+4>>2]=0,n[c>>2]=n[Lp>>2],n[c+4>>2]=n[Lp+4>>2],SF(s,4251,c)|0,n[xl>>2]=4,n[xl+4>>2]=0,n[c>>2]=n[xl>>2],n[c+4>>2]=n[xl+4>>2],zA(s,4263,c)|0,n[zr>>2]=5,n[zr+4>>2]=0,n[c>>2]=n[zr>>2],n[c+4>>2]=n[zr+4>>2],zA(s,4279,c)|0,n[Np>>2]=6,n[Np+4>>2]=0,n[c>>2]=n[Np>>2],n[c+4>>2]=n[Np+4>>2],zA(s,4293,c)|0,n[Tp>>2]=7,n[Tp+4>>2]=0,n[c>>2]=n[Tp>>2],n[c+4>>2]=n[Tp+4>>2],zA(s,4306,c)|0,n[Rp>>2]=8,n[Rp+4>>2]=0,n[c>>2]=n[Rp>>2],n[c+4>>2]=n[Rp+4>>2],zA(s,4323,c)|0,n[Nu>>2]=9,n[Nu+4>>2]=0,n[c>>2]=n[Nu>>2],n[c+4>>2]=n[Nu+4>>2],zA(s,4335,c)|0,n[Tu>>2]=2,n[Tu+4>>2]=0,n[c>>2]=n[Tu>>2],n[c+4>>2]=n[Tu+4>>2],SF(s,4353,c)|0,n[Fp>>2]=12,n[Fp+4>>2]=0,n[c>>2]=n[Fp>>2],n[c+4>>2]=n[Fp+4>>2],Dg(s,4363,c)|0,n[Pl>>2]=1,n[Pl+4>>2]=0,n[c>>2]=n[Pl>>2],n[c+4>>2]=n[Pl+4>>2],XA(s,4376,c)|0,n[kp>>2]=2,n[kp+4>>2]=0,n[c>>2]=n[kp>>2],n[c+4>>2]=n[kp+4>>2],XA(s,4388,c)|0,n[Qp>>2]=13,n[Qp+4>>2]=0,n[c>>2]=n[Qp>>2],n[c+4>>2]=n[Qp+4>>2],Dg(s,4402,c)|0,n[Ea>>2]=14,n[Ea+4>>2]=0,n[c>>2]=n[Ea>>2],n[c+4>>2]=n[Ea+4>>2],Dg(s,4411,c)|0,n[yo>>2]=15,n[yo+4>>2]=0,n[c>>2]=n[yo>>2],n[c+4>>2]=n[yo+4>>2],Dg(s,4421,c)|0,n[mo>>2]=16,n[mo+4>>2]=0,n[c>>2]=n[mo>>2],n[c+4>>2]=n[mo+4>>2],Dg(s,4433,c)|0,n[go>>2]=17,n[go+4>>2]=0,n[c>>2]=n[go>>2],n[c+4>>2]=n[go+4>>2],Dg(s,4446,c)|0,n[xn>>2]=18,n[xn+4>>2]=0,n[c>>2]=n[xn>>2],n[c+4>>2]=n[xn+4>>2],Dg(s,4458,c)|0,n[nr>>2]=3,n[nr+4>>2]=0,n[c>>2]=n[nr>>2],n[c+4>>2]=n[nr+4>>2],XA(s,4471,c)|0,n[Tr>>2]=1,n[Tr+4>>2]=0,n[c>>2]=n[Tr>>2],n[c+4>>2]=n[Tr+4>>2],nD(s,4486,c)|0,n[Dr>>2]=10,n[Dr+4>>2]=0,n[c>>2]=n[Dr>>2],n[c+4>>2]=n[Dr+4>>2],zA(s,4496,c)|0,n[Xt>>2]=11,n[Xt+4>>2]=0,n[c>>2]=n[Xt>>2],n[c+4>>2]=n[Xt+4>>2],zA(s,4508,c)|0,n[sr>>2]=3,n[sr+4>>2]=0,n[c>>2]=n[sr>>2],n[c+4>>2]=n[sr+4>>2],SF(s,4519,c)|0,n[Or>>2]=4,n[Or+4>>2]=0,n[c>>2]=n[Or>>2],n[c+4>>2]=n[Or+4>>2],qve(s,4530,c)|0,n[Lt>>2]=19,n[Lt+4>>2]=0,n[c>>2]=n[Lt>>2],n[c+4>>2]=n[Lt+4>>2],Gve(s,4542,c)|0,n[qe>>2]=12,n[qe+4>>2]=0,n[c>>2]=n[qe>>2],n[c+4>>2]=n[qe+4>>2],Yve(s,4554,c)|0,n[Ue>>2]=13,n[Ue+4>>2]=0,n[c>>2]=n[Ue>>2],n[c+4>>2]=n[Ue+4>>2],Wve(s,4568,c)|0,n[lt>>2]=2,n[lt+4>>2]=0,n[c>>2]=n[lt>>2],n[c+4>>2]=n[lt+4>>2],Kve(s,4578,c)|0,n[Xe>>2]=20,n[Xe+4>>2]=0,n[c>>2]=n[Xe>>2],n[c+4>>2]=n[Xe+4>>2],Jve(s,4587,c)|0,n[et>>2]=22,n[et+4>>2]=0,n[c>>2]=n[et>>2],n[c+4>>2]=n[et+4>>2],FC(s,4602,c)|0,n[Fe>>2]=23,n[Fe+4>>2]=0,n[c>>2]=n[Fe>>2],n[c+4>>2]=n[Fe+4>>2],FC(s,4619,c)|0,n[Me>>2]=14,n[Me+4>>2]=0,n[c>>2]=n[Me>>2],n[c+4>>2]=n[Me+4>>2],Vve(s,4629,c)|0,n[Ge>>2]=1,n[Ge+4>>2]=0,n[c>>2]=n[Ge>>2],n[c+4>>2]=n[Ge+4>>2],zve(s,4637,c)|0,n[se>>2]=4,n[se+4>>2]=0,n[c>>2]=n[se>>2],n[c+4>>2]=n[se+4>>2],XA(s,4653,c)|0,n[q>>2]=5,n[q+4>>2]=0,n[c>>2]=n[q>>2],n[c+4>>2]=n[q+4>>2],XA(s,4669,c)|0,n[O>>2]=6,n[O+4>>2]=0,n[c>>2]=n[O>>2],n[c+4>>2]=n[O+4>>2],XA(s,4686,c)|0,n[M>>2]=7,n[M+4>>2]=0,n[c>>2]=n[M>>2],n[c+4>>2]=n[M+4>>2],XA(s,4701,c)|0,n[k>>2]=8,n[k+4>>2]=0,n[c>>2]=n[k>>2],n[c+4>>2]=n[k+4>>2],XA(s,4719,c)|0,n[Q>>2]=9,n[Q+4>>2]=0,n[c>>2]=n[Q>>2],n[c+4>>2]=n[Q+4>>2],XA(s,4736,c)|0,n[B>>2]=21,n[B+4>>2]=0,n[c>>2]=n[B>>2],n[c+4>>2]=n[B+4>>2],Xve(s,4754,c)|0,n[m>>2]=2,n[m+4>>2]=0,n[c>>2]=n[m>>2],n[c+4>>2]=n[m+4>>2],nD(s,4772,c)|0,n[d>>2]=3,n[d+4>>2]=0,n[c>>2]=n[d>>2],n[c+4>>2]=n[d+4>>2],nD(s,4790,c)|0,n[f>>2]=4,n[f+4>>2]=0,n[c>>2]=n[f>>2],n[c+4>>2]=n[f+4>>2],nD(s,4808,c)|0,E=l}function Mve(s,l){s=s|0,l=l|0;var c=0;c=nFe()|0,n[s>>2]=c,iFe(c,l),Pp(n[s>>2]|0)}function Uve(s,l,c){return s=s|0,l=l|0,c=c|0,qke(s,fn(l)|0,c,0),s|0}function _ve(s,l,c){return s=s|0,l=l|0,c=c|0,Pke(s,fn(l)|0,c,0),s|0}function Hve(s,l,c){return s=s|0,l=l|0,c=c|0,pke(s,fn(l)|0,c,0),s|0}function FC(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0;return f=E,E=E+16|0,d=f+8|0,m=f,B=n[c+4>>2]|0,n[m>>2]=n[c>>2],n[m+4>>2]=B,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],XQe(s,l,d),E=f,s|0}function jve(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0;return f=E,E=E+16|0,d=f+8|0,m=f,B=n[c+4>>2]|0,n[m>>2]=n[c>>2],n[m+4>>2]=B,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],FQe(s,l,d),E=f,s|0}function ku(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0;return f=E,E=E+16|0,d=f+8|0,m=f,B=n[c+4>>2]|0,n[m>>2]=n[c>>2],n[m+4>>2]=B,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],dQe(s,l,d),E=f,s|0}function vg(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0;return f=E,E=E+16|0,d=f+8|0,m=f,B=n[c+4>>2]|0,n[m>>2]=n[c>>2],n[m+4>>2]=B,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],eQe(s,l,d),E=f,s|0}function Bs(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0;return f=E,E=E+16|0,d=f+8|0,m=f,B=n[c+4>>2]|0,n[m>>2]=n[c>>2],n[m+4>>2]=B,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],Mbe(s,l,d),E=f,s|0}function zA(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0;return f=E,E=E+16|0,d=f+8|0,m=f,B=n[c+4>>2]|0,n[m>>2]=n[c>>2],n[m+4>>2]=B,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],Ibe(s,l,d),E=f,s|0}function SF(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0;return f=E,E=E+16|0,d=f+8|0,m=f,B=n[c+4>>2]|0,n[m>>2]=n[c>>2],n[m+4>>2]=B,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],obe(s,l,d),E=f,s|0}function Dg(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0;return f=E,E=E+16|0,d=f+8|0,m=f,B=n[c+4>>2]|0,n[m>>2]=n[c>>2],n[m+4>>2]=B,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],Fxe(s,l,d),E=f,s|0}function XA(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0;return f=E,E=E+16|0,d=f+8|0,m=f,B=n[c+4>>2]|0,n[m>>2]=n[c>>2],n[m+4>>2]=B,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],dxe(s,l,d),E=f,s|0}function nD(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0;return f=E,E=E+16|0,d=f+8|0,m=f,B=n[c+4>>2]|0,n[m>>2]=n[c>>2],n[m+4>>2]=B,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],exe(s,l,d),E=f,s|0}function qve(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0;return f=E,E=E+16|0,d=f+8|0,m=f,B=n[c+4>>2]|0,n[m>>2]=n[c>>2],n[m+4>>2]=B,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],MPe(s,l,d),E=f,s|0}function Gve(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0;return f=E,E=E+16|0,d=f+8|0,m=f,B=n[c+4>>2]|0,n[m>>2]=n[c>>2],n[m+4>>2]=B,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],IPe(s,l,d),E=f,s|0}function Yve(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0;return f=E,E=E+16|0,d=f+8|0,m=f,B=n[c+4>>2]|0,n[m>>2]=n[c>>2],n[m+4>>2]=B,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],aPe(s,l,d),E=f,s|0}function Wve(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0;return f=E,E=E+16|0,d=f+8|0,m=f,B=n[c+4>>2]|0,n[m>>2]=n[c>>2],n[m+4>>2]=B,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],WSe(s,l,d),E=f,s|0}function Kve(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0;return f=E,E=E+16|0,d=f+8|0,m=f,B=n[c+4>>2]|0,n[m>>2]=n[c>>2],n[m+4>>2]=B,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],bSe(s,l,d),E=f,s|0}function Jve(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0;return f=E,E=E+16|0,d=f+8|0,m=f,B=n[c+4>>2]|0,n[m>>2]=n[c>>2],n[m+4>>2]=B,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],fSe(s,l,d),E=f,s|0}function Vve(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0;return f=E,E=E+16|0,d=f+8|0,m=f,B=n[c+4>>2]|0,n[m>>2]=n[c>>2],n[m+4>>2]=B,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],zDe(s,l,d),E=f,s|0}function zve(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0;return f=E,E=E+16|0,d=f+8|0,m=f,B=n[c+4>>2]|0,n[m>>2]=n[c>>2],n[m+4>>2]=B,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],FDe(s,l,d),E=f,s|0}function Xve(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0;return f=E,E=E+16|0,d=f+8|0,m=f,B=n[c+4>>2]|0,n[m>>2]=n[c>>2],n[m+4>>2]=B,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],Zve(s,l,d),E=f,s|0}function Zve(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,Q=0;f=E,E=E+16|0,d=f+8|0,m=f,Q=n[c>>2]|0,B=n[c+4>>2]|0,c=fn(l)|0,n[m>>2]=Q,n[m+4>>2]=B,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],$ve(s,c,d,1),E=f}function fn(s){return s=s|0,s|0}function $ve(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0,m=0,B=0,Q=0,k=0,M=0,O=0;d=E,E=E+32|0,m=d+16|0,O=d+8|0,Q=d,M=n[c>>2]|0,k=n[c+4>>2]|0,B=n[s>>2]|0,s=PF()|0,n[O>>2]=M,n[O+4>>2]=k,n[m>>2]=n[O>>2],n[m+4>>2]=n[O+4>>2],c=eDe(m)|0,n[Q>>2]=M,n[Q+4>>2]=k,n[m>>2]=n[Q>>2],n[m+4>>2]=n[Q+4>>2],pn(B,l,s,c,tDe(m,f)|0,f),E=d}function PF(){var s=0,l=0;if(o[7616]|0||(e9(9136),ve(24,9136,U|0)|0,l=7616,n[l>>2]=1,n[l+4>>2]=0),!(Rr(9136)|0)){s=9136,l=s+36|0;do n[s>>2]=0,s=s+4|0;while((s|0)<(l|0));e9(9136)}return 9136}function eDe(s){return s=s|0,0}function tDe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0,Q=0,k=0,M=0,O=0,q=0;return O=E,E=E+32|0,d=O+24|0,B=O+16|0,Q=O,k=O+8|0,m=n[s>>2]|0,f=n[s+4>>2]|0,n[Q>>2]=m,n[Q+4>>2]=f,q=PF()|0,M=q+24|0,s=hr(l,4)|0,n[k>>2]=s,l=q+28|0,c=n[l>>2]|0,c>>>0<(n[q+32>>2]|0)>>>0?(n[B>>2]=m,n[B+4>>2]=f,n[d>>2]=n[B>>2],n[d+4>>2]=n[B+4>>2],$G(c,d,s),s=(n[l>>2]|0)+12|0,n[l>>2]=s):(iDe(M,Q,k),s=n[l>>2]|0),E=O,((s-(n[M>>2]|0)|0)/12|0)+-1|0}function pn(s,l,c,f,d,m){s=s|0,l=l|0,c=c|0,f=f|0,d=d|0,m=m|0;var B=0,Q=0,k=0,M=0,O=0,q=0,se=0,Ge=0;B=E,E=E+32|0,se=B+24|0,q=B+20|0,k=B+16|0,O=B+12|0,M=B+8|0,Q=B+4|0,Ge=B,n[q>>2]=l,n[k>>2]=c,n[O>>2]=f,n[M>>2]=d,n[Q>>2]=m,m=s+28|0,n[Ge>>2]=n[m>>2],n[se>>2]=n[Ge>>2],rDe(s+24|0,se,q,O,M,k,Q)|0,n[m>>2]=n[n[m>>2]>>2],E=B}function rDe(s,l,c,f,d,m,B){return s=s|0,l=l|0,c=c|0,f=f|0,d=d|0,m=m|0,B=B|0,s=nDe(l)|0,l=Kt(24)|0,ZG(l+4|0,n[c>>2]|0,n[f>>2]|0,n[d>>2]|0,n[m>>2]|0,n[B>>2]|0),n[l>>2]=n[s>>2],n[s>>2]=l,l|0}function nDe(s){return s=s|0,n[s>>2]|0}function ZG(s,l,c,f,d,m){s=s|0,l=l|0,c=c|0,f=f|0,d=d|0,m=m|0,n[s>>2]=l,n[s+4>>2]=c,n[s+8>>2]=f,n[s+12>>2]=d,n[s+16>>2]=m}function hr(s,l){return s=s|0,l=l|0,l|s|0}function $G(s,l,c){s=s|0,l=l|0,c=c|0;var f=0;f=n[l+4>>2]|0,n[s>>2]=n[l>>2],n[s+4>>2]=f,n[s+8>>2]=c}function iDe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,Q=0,k=0,M=0,O=0,q=0,se=0;if(M=E,E=E+48|0,f=M+32|0,B=M+24|0,Q=M,k=s+4|0,d=(((n[k>>2]|0)-(n[s>>2]|0)|0)/12|0)+1|0,m=sDe(s)|0,m>>>0<d>>>0)Vr(s);else{O=n[s>>2]|0,se=((n[s+8>>2]|0)-O|0)/12|0,q=se<<1,oDe(Q,se>>>0<m>>>1>>>0?q>>>0<d>>>0?d:q:m,((n[k>>2]|0)-O|0)/12|0,s+8|0),k=Q+8|0,m=n[k>>2]|0,d=n[l+4>>2]|0,c=n[c>>2]|0,n[B>>2]=n[l>>2],n[B+4>>2]=d,n[f>>2]=n[B>>2],n[f+4>>2]=n[B+4>>2],$G(m,f,c),n[k>>2]=(n[k>>2]|0)+12,aDe(s,Q),lDe(Q),E=M;return}}function sDe(s){return s=s|0,357913941}function oDe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0;n[s+12>>2]=0,n[s+16>>2]=f;do if(l)if(l>>>0>357913941)Rt();else{d=Kt(l*12|0)|0;break}else d=0;while(0);n[s>>2]=d,f=d+(c*12|0)|0,n[s+8>>2]=f,n[s+4>>2]=f,n[s+12>>2]=d+(l*12|0)}function aDe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0;f=n[s>>2]|0,B=s+4|0,m=l+4|0,d=(n[B>>2]|0)-f|0,c=(n[m>>2]|0)+(((d|0)/-12|0)*12|0)|0,n[m>>2]=c,(d|0)>0?(vr(c|0,f|0,d|0)|0,f=m,c=n[m>>2]|0):f=m,m=n[s>>2]|0,n[s>>2]=c,n[f>>2]=m,m=l+8|0,d=n[B>>2]|0,n[B>>2]=n[m>>2],n[m>>2]=d,m=s+8|0,B=l+12|0,s=n[m>>2]|0,n[m>>2]=n[B>>2],n[B>>2]=s,n[l>>2]=n[f>>2]}function lDe(s){s=s|0;var l=0,c=0,f=0;l=n[s+4>>2]|0,c=s+8|0,f=n[c>>2]|0,(f|0)!=(l|0)&&(n[c>>2]=f+(~(((f+-12-l|0)>>>0)/12|0)*12|0)),s=n[s>>2]|0,s|0&&ht(s)}function e9(s){s=s|0,ADe(s)}function cDe(s){s=s|0,uDe(s+24|0)}function Rr(s){return s=s|0,n[s>>2]|0}function uDe(s){s=s|0;var l=0,c=0,f=0;c=n[s>>2]|0,f=c,c|0&&(s=s+4|0,l=n[s>>2]|0,(l|0)!=(c|0)&&(n[s>>2]=l+(~(((l+-12-f|0)>>>0)/12|0)*12|0)),ht(c))}function ADe(s){s=s|0;var l=0;l=Wr()|0,Kr(s,2,3,l,fDe()|0,0),n[s+24>>2]=0,n[s+28>>2]=0,n[s+32>>2]=0}function Wr(){return 9228}function fDe(){return 1140}function pDe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0;return c=E,E=E+16|0,f=c+8|0,d=c,m=hDe(s)|0,s=n[m+4>>2]|0,n[d>>2]=n[m>>2],n[d+4>>2]=s,n[f>>2]=n[d>>2],n[f+4>>2]=n[d+4>>2],l=gDe(l,f)|0,E=c,l|0}function Kr(s,l,c,f,d,m){s=s|0,l=l|0,c=c|0,f=f|0,d=d|0,m=m|0,n[s>>2]=l,n[s+4>>2]=c,n[s+8>>2]=f,n[s+12>>2]=d,n[s+16>>2]=m}function hDe(s){return s=s|0,(n[(PF()|0)+24>>2]|0)+(s*12|0)|0}function gDe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0;return d=E,E=E+48|0,f=d,c=n[l>>2]|0,l=n[l+4>>2]|0,s=s+(l>>1)|0,l&1&&(c=n[(n[s>>2]|0)+c>>2]|0),rf[c&31](f,s),f=dDe(f)|0,E=d,f|0}function dDe(s){s=s|0;var l=0,c=0,f=0,d=0;return d=E,E=E+32|0,l=d+12|0,c=d,f=xF(t9()|0)|0,f?(bF(l,f),QF(c,l),mDe(s,c),s=kF(l)|0):s=yDe(s)|0,E=d,s|0}function t9(){var s=0;return o[7632]|0||(xDe(9184),ve(25,9184,U|0)|0,s=7632,n[s>>2]=1,n[s+4>>2]=0),9184}function xF(s){return s=s|0,n[s+36>>2]|0}function bF(s,l){s=s|0,l=l|0,n[s>>2]=l,n[s+4>>2]=s,n[s+8>>2]=0}function QF(s,l){s=s|0,l=l|0,n[s>>2]=n[l>>2],n[s+4>>2]=n[l+4>>2],n[s+8>>2]=0}function mDe(s,l){s=s|0,l=l|0,IDe(l,s,s+8|0,s+16|0,s+24|0,s+32|0,s+40|0)|0}function kF(s){return s=s|0,n[(n[s+4>>2]|0)+8>>2]|0}function yDe(s){s=s|0;var l=0,c=0,f=0,d=0,m=0,B=0,Q=0,k=0;k=E,E=E+16|0,c=k+4|0,f=k,d=Wa(8)|0,m=d,B=Kt(48)|0,Q=B,l=Q+48|0;do n[Q>>2]=n[s>>2],Q=Q+4|0,s=s+4|0;while((Q|0)<(l|0));return l=m+4|0,n[l>>2]=B,Q=Kt(8)|0,B=n[l>>2]|0,n[f>>2]=0,n[c>>2]=n[f>>2],r9(Q,B,c),n[d>>2]=Q,E=k,m|0}function r9(s,l,c){s=s|0,l=l|0,c=c|0,n[s>>2]=l,c=Kt(16)|0,n[c+4>>2]=0,n[c+8>>2]=0,n[c>>2]=1092,n[c+12>>2]=l,n[s+4>>2]=c}function EDe(s){s=s|0,Vm(s),ht(s)}function wDe(s){s=s|0,s=n[s+12>>2]|0,s|0&&ht(s)}function CDe(s){s=s|0,ht(s)}function IDe(s,l,c,f,d,m,B){return s=s|0,l=l|0,c=c|0,f=f|0,d=d|0,m=m|0,B=B|0,m=BDe(n[s>>2]|0,l,c,f,d,m,B)|0,B=s+4|0,n[(n[B>>2]|0)+8>>2]=m,n[(n[B>>2]|0)+8>>2]|0}function BDe(s,l,c,f,d,m,B){s=s|0,l=l|0,c=c|0,f=f|0,d=d|0,m=m|0,B=B|0;var Q=0,k=0;return Q=E,E=E+16|0,k=Q,Ka(k),s=ma(s)|0,B=vDe(s,+w[l>>3],+w[c>>3],+w[f>>3],+w[d>>3],+w[m>>3],+w[B>>3])|0,Ja(k),E=Q,B|0}function vDe(s,l,c,f,d,m,B){s=s|0,l=+l,c=+c,f=+f,d=+d,m=+m,B=+B;var Q=0;return Q=Dl(DDe()|0)|0,l=+VA(l),c=+VA(c),f=+VA(f),d=+VA(d),m=+VA(m),_s(0,Q|0,s|0,+l,+c,+f,+d,+m,+ +VA(B))|0}function DDe(){var s=0;return o[7624]|0||(SDe(9172),s=7624,n[s>>2]=1,n[s+4>>2]=0),9172}function SDe(s){s=s|0,Sl(s,PDe()|0,6)}function PDe(){return 1112}function xDe(s){s=s|0,Ip(s)}function bDe(s){s=s|0,n9(s+24|0),i9(s+16|0)}function n9(s){s=s|0,kDe(s)}function i9(s){s=s|0,QDe(s)}function QDe(s){s=s|0;var l=0,c=0;if(l=n[s>>2]|0,l|0)do c=l,l=n[l>>2]|0,ht(c);while((l|0)!=0);n[s>>2]=0}function kDe(s){s=s|0;var l=0,c=0;if(l=n[s>>2]|0,l|0)do c=l,l=n[l>>2]|0,ht(c);while((l|0)!=0);n[s>>2]=0}function Ip(s){s=s|0;var l=0;n[s+16>>2]=0,n[s+20>>2]=0,l=s+24|0,n[l>>2]=0,n[s+28>>2]=l,n[s+36>>2]=0,o[s+40>>0]=0,o[s+41>>0]=0}function FDe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,Q=0;f=E,E=E+16|0,d=f+8|0,m=f,Q=n[c>>2]|0,B=n[c+4>>2]|0,c=fn(l)|0,n[m>>2]=Q,n[m+4>>2]=B,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],RDe(s,c,d,0),E=f}function RDe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0,m=0,B=0,Q=0,k=0,M=0,O=0;d=E,E=E+32|0,m=d+16|0,O=d+8|0,Q=d,M=n[c>>2]|0,k=n[c+4>>2]|0,B=n[s>>2]|0,s=FF()|0,n[O>>2]=M,n[O+4>>2]=k,n[m>>2]=n[O>>2],n[m+4>>2]=n[O+4>>2],c=TDe(m)|0,n[Q>>2]=M,n[Q+4>>2]=k,n[m>>2]=n[Q>>2],n[m+4>>2]=n[Q+4>>2],pn(B,l,s,c,NDe(m,f)|0,f),E=d}function FF(){var s=0,l=0;if(o[7640]|0||(o9(9232),ve(26,9232,U|0)|0,l=7640,n[l>>2]=1,n[l+4>>2]=0),!(Rr(9232)|0)){s=9232,l=s+36|0;do n[s>>2]=0,s=s+4|0;while((s|0)<(l|0));o9(9232)}return 9232}function TDe(s){return s=s|0,0}function NDe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0,Q=0,k=0,M=0,O=0,q=0;return O=E,E=E+32|0,d=O+24|0,B=O+16|0,Q=O,k=O+8|0,m=n[s>>2]|0,f=n[s+4>>2]|0,n[Q>>2]=m,n[Q+4>>2]=f,q=FF()|0,M=q+24|0,s=hr(l,4)|0,n[k>>2]=s,l=q+28|0,c=n[l>>2]|0,c>>>0<(n[q+32>>2]|0)>>>0?(n[B>>2]=m,n[B+4>>2]=f,n[d>>2]=n[B>>2],n[d+4>>2]=n[B+4>>2],s9(c,d,s),s=(n[l>>2]|0)+12|0,n[l>>2]=s):(LDe(M,Q,k),s=n[l>>2]|0),E=O,((s-(n[M>>2]|0)|0)/12|0)+-1|0}function s9(s,l,c){s=s|0,l=l|0,c=c|0;var f=0;f=n[l+4>>2]|0,n[s>>2]=n[l>>2],n[s+4>>2]=f,n[s+8>>2]=c}function LDe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,Q=0,k=0,M=0,O=0,q=0,se=0;if(M=E,E=E+48|0,f=M+32|0,B=M+24|0,Q=M,k=s+4|0,d=(((n[k>>2]|0)-(n[s>>2]|0)|0)/12|0)+1|0,m=ODe(s)|0,m>>>0<d>>>0)Vr(s);else{O=n[s>>2]|0,se=((n[s+8>>2]|0)-O|0)/12|0,q=se<<1,MDe(Q,se>>>0<m>>>1>>>0?q>>>0<d>>>0?d:q:m,((n[k>>2]|0)-O|0)/12|0,s+8|0),k=Q+8|0,m=n[k>>2]|0,d=n[l+4>>2]|0,c=n[c>>2]|0,n[B>>2]=n[l>>2],n[B+4>>2]=d,n[f>>2]=n[B>>2],n[f+4>>2]=n[B+4>>2],s9(m,f,c),n[k>>2]=(n[k>>2]|0)+12,UDe(s,Q),_De(Q),E=M;return}}function ODe(s){return s=s|0,357913941}function MDe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0;n[s+12>>2]=0,n[s+16>>2]=f;do if(l)if(l>>>0>357913941)Rt();else{d=Kt(l*12|0)|0;break}else d=0;while(0);n[s>>2]=d,f=d+(c*12|0)|0,n[s+8>>2]=f,n[s+4>>2]=f,n[s+12>>2]=d+(l*12|0)}function UDe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0;f=n[s>>2]|0,B=s+4|0,m=l+4|0,d=(n[B>>2]|0)-f|0,c=(n[m>>2]|0)+(((d|0)/-12|0)*12|0)|0,n[m>>2]=c,(d|0)>0?(vr(c|0,f|0,d|0)|0,f=m,c=n[m>>2]|0):f=m,m=n[s>>2]|0,n[s>>2]=c,n[f>>2]=m,m=l+8|0,d=n[B>>2]|0,n[B>>2]=n[m>>2],n[m>>2]=d,m=s+8|0,B=l+12|0,s=n[m>>2]|0,n[m>>2]=n[B>>2],n[B>>2]=s,n[l>>2]=n[f>>2]}function _De(s){s=s|0;var l=0,c=0,f=0;l=n[s+4>>2]|0,c=s+8|0,f=n[c>>2]|0,(f|0)!=(l|0)&&(n[c>>2]=f+(~(((f+-12-l|0)>>>0)/12|0)*12|0)),s=n[s>>2]|0,s|0&&ht(s)}function o9(s){s=s|0,qDe(s)}function HDe(s){s=s|0,jDe(s+24|0)}function jDe(s){s=s|0;var l=0,c=0,f=0;c=n[s>>2]|0,f=c,c|0&&(s=s+4|0,l=n[s>>2]|0,(l|0)!=(c|0)&&(n[s>>2]=l+(~(((l+-12-f|0)>>>0)/12|0)*12|0)),ht(c))}function qDe(s){s=s|0;var l=0;l=Wr()|0,Kr(s,2,1,l,GDe()|0,3),n[s+24>>2]=0,n[s+28>>2]=0,n[s+32>>2]=0}function GDe(){return 1144}function YDe(s,l,c,f,d){s=s|0,l=l|0,c=+c,f=+f,d=d|0;var m=0,B=0,Q=0,k=0;m=E,E=E+16|0,B=m+8|0,Q=m,k=WDe(s)|0,s=n[k+4>>2]|0,n[Q>>2]=n[k>>2],n[Q+4>>2]=s,n[B>>2]=n[Q>>2],n[B+4>>2]=n[Q+4>>2],KDe(l,B,c,f,d),E=m}function WDe(s){return s=s|0,(n[(FF()|0)+24>>2]|0)+(s*12|0)|0}function KDe(s,l,c,f,d){s=s|0,l=l|0,c=+c,f=+f,d=d|0;var m=0,B=0,Q=0,k=0,M=0;M=E,E=E+16|0,B=M+2|0,Q=M+1|0,k=M,m=n[l>>2]|0,l=n[l+4>>2]|0,s=s+(l>>1)|0,l&1&&(m=n[(n[s>>2]|0)+m>>2]|0),Fu(B,c),c=+Ru(B,c),Fu(Q,f),f=+Ru(Q,f),ZA(k,d),k=$A(k,d)|0,C7[m&1](s,c,f,k),E=M}function Fu(s,l){s=s|0,l=+l}function Ru(s,l){return s=s|0,l=+l,+ +VDe(l)}function ZA(s,l){s=s|0,l=l|0}function $A(s,l){return s=s|0,l=l|0,JDe(l)|0}function JDe(s){return s=s|0,s|0}function VDe(s){return s=+s,+s}function zDe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,Q=0;f=E,E=E+16|0,d=f+8|0,m=f,Q=n[c>>2]|0,B=n[c+4>>2]|0,c=fn(l)|0,n[m>>2]=Q,n[m+4>>2]=B,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],XDe(s,c,d,1),E=f}function XDe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0,m=0,B=0,Q=0,k=0,M=0,O=0;d=E,E=E+32|0,m=d+16|0,O=d+8|0,Q=d,M=n[c>>2]|0,k=n[c+4>>2]|0,B=n[s>>2]|0,s=RF()|0,n[O>>2]=M,n[O+4>>2]=k,n[m>>2]=n[O>>2],n[m+4>>2]=n[O+4>>2],c=ZDe(m)|0,n[Q>>2]=M,n[Q+4>>2]=k,n[m>>2]=n[Q>>2],n[m+4>>2]=n[Q+4>>2],pn(B,l,s,c,$De(m,f)|0,f),E=d}function RF(){var s=0,l=0;if(o[7648]|0||(l9(9268),ve(27,9268,U|0)|0,l=7648,n[l>>2]=1,n[l+4>>2]=0),!(Rr(9268)|0)){s=9268,l=s+36|0;do n[s>>2]=0,s=s+4|0;while((s|0)<(l|0));l9(9268)}return 9268}function ZDe(s){return s=s|0,0}function $De(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0,Q=0,k=0,M=0,O=0,q=0;return O=E,E=E+32|0,d=O+24|0,B=O+16|0,Q=O,k=O+8|0,m=n[s>>2]|0,f=n[s+4>>2]|0,n[Q>>2]=m,n[Q+4>>2]=f,q=RF()|0,M=q+24|0,s=hr(l,4)|0,n[k>>2]=s,l=q+28|0,c=n[l>>2]|0,c>>>0<(n[q+32>>2]|0)>>>0?(n[B>>2]=m,n[B+4>>2]=f,n[d>>2]=n[B>>2],n[d+4>>2]=n[B+4>>2],a9(c,d,s),s=(n[l>>2]|0)+12|0,n[l>>2]=s):(eSe(M,Q,k),s=n[l>>2]|0),E=O,((s-(n[M>>2]|0)|0)/12|0)+-1|0}function a9(s,l,c){s=s|0,l=l|0,c=c|0;var f=0;f=n[l+4>>2]|0,n[s>>2]=n[l>>2],n[s+4>>2]=f,n[s+8>>2]=c}function eSe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,Q=0,k=0,M=0,O=0,q=0,se=0;if(M=E,E=E+48|0,f=M+32|0,B=M+24|0,Q=M,k=s+4|0,d=(((n[k>>2]|0)-(n[s>>2]|0)|0)/12|0)+1|0,m=tSe(s)|0,m>>>0<d>>>0)Vr(s);else{O=n[s>>2]|0,se=((n[s+8>>2]|0)-O|0)/12|0,q=se<<1,rSe(Q,se>>>0<m>>>1>>>0?q>>>0<d>>>0?d:q:m,((n[k>>2]|0)-O|0)/12|0,s+8|0),k=Q+8|0,m=n[k>>2]|0,d=n[l+4>>2]|0,c=n[c>>2]|0,n[B>>2]=n[l>>2],n[B+4>>2]=d,n[f>>2]=n[B>>2],n[f+4>>2]=n[B+4>>2],a9(m,f,c),n[k>>2]=(n[k>>2]|0)+12,nSe(s,Q),iSe(Q),E=M;return}}function tSe(s){return s=s|0,357913941}function rSe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0;n[s+12>>2]=0,n[s+16>>2]=f;do if(l)if(l>>>0>357913941)Rt();else{d=Kt(l*12|0)|0;break}else d=0;while(0);n[s>>2]=d,f=d+(c*12|0)|0,n[s+8>>2]=f,n[s+4>>2]=f,n[s+12>>2]=d+(l*12|0)}function nSe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0;f=n[s>>2]|0,B=s+4|0,m=l+4|0,d=(n[B>>2]|0)-f|0,c=(n[m>>2]|0)+(((d|0)/-12|0)*12|0)|0,n[m>>2]=c,(d|0)>0?(vr(c|0,f|0,d|0)|0,f=m,c=n[m>>2]|0):f=m,m=n[s>>2]|0,n[s>>2]=c,n[f>>2]=m,m=l+8|0,d=n[B>>2]|0,n[B>>2]=n[m>>2],n[m>>2]=d,m=s+8|0,B=l+12|0,s=n[m>>2]|0,n[m>>2]=n[B>>2],n[B>>2]=s,n[l>>2]=n[f>>2]}function iSe(s){s=s|0;var l=0,c=0,f=0;l=n[s+4>>2]|0,c=s+8|0,f=n[c>>2]|0,(f|0)!=(l|0)&&(n[c>>2]=f+(~(((f+-12-l|0)>>>0)/12|0)*12|0)),s=n[s>>2]|0,s|0&&ht(s)}function l9(s){s=s|0,aSe(s)}function sSe(s){s=s|0,oSe(s+24|0)}function oSe(s){s=s|0;var l=0,c=0,f=0;c=n[s>>2]|0,f=c,c|0&&(s=s+4|0,l=n[s>>2]|0,(l|0)!=(c|0)&&(n[s>>2]=l+(~(((l+-12-f|0)>>>0)/12|0)*12|0)),ht(c))}function aSe(s){s=s|0;var l=0;l=Wr()|0,Kr(s,2,4,l,lSe()|0,0),n[s+24>>2]=0,n[s+28>>2]=0,n[s+32>>2]=0}function lSe(){return 1160}function cSe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0;return c=E,E=E+16|0,f=c+8|0,d=c,m=uSe(s)|0,s=n[m+4>>2]|0,n[d>>2]=n[m>>2],n[d+4>>2]=s,n[f>>2]=n[d>>2],n[f+4>>2]=n[d+4>>2],l=ASe(l,f)|0,E=c,l|0}function uSe(s){return s=s|0,(n[(RF()|0)+24>>2]|0)+(s*12|0)|0}function ASe(s,l){s=s|0,l=l|0;var c=0;return c=n[l>>2]|0,l=n[l+4>>2]|0,s=s+(l>>1)|0,l&1&&(c=n[(n[s>>2]|0)+c>>2]|0),c9(Tg[c&31](s)|0)|0}function c9(s){return s=s|0,s&1|0}function fSe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,Q=0;f=E,E=E+16|0,d=f+8|0,m=f,Q=n[c>>2]|0,B=n[c+4>>2]|0,c=fn(l)|0,n[m>>2]=Q,n[m+4>>2]=B,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],pSe(s,c,d,0),E=f}function pSe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0,m=0,B=0,Q=0,k=0,M=0,O=0;d=E,E=E+32|0,m=d+16|0,O=d+8|0,Q=d,M=n[c>>2]|0,k=n[c+4>>2]|0,B=n[s>>2]|0,s=TF()|0,n[O>>2]=M,n[O+4>>2]=k,n[m>>2]=n[O>>2],n[m+4>>2]=n[O+4>>2],c=hSe(m)|0,n[Q>>2]=M,n[Q+4>>2]=k,n[m>>2]=n[Q>>2],n[m+4>>2]=n[Q+4>>2],pn(B,l,s,c,gSe(m,f)|0,f),E=d}function TF(){var s=0,l=0;if(o[7656]|0||(A9(9304),ve(28,9304,U|0)|0,l=7656,n[l>>2]=1,n[l+4>>2]=0),!(Rr(9304)|0)){s=9304,l=s+36|0;do n[s>>2]=0,s=s+4|0;while((s|0)<(l|0));A9(9304)}return 9304}function hSe(s){return s=s|0,0}function gSe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0,Q=0,k=0,M=0,O=0,q=0;return O=E,E=E+32|0,d=O+24|0,B=O+16|0,Q=O,k=O+8|0,m=n[s>>2]|0,f=n[s+4>>2]|0,n[Q>>2]=m,n[Q+4>>2]=f,q=TF()|0,M=q+24|0,s=hr(l,4)|0,n[k>>2]=s,l=q+28|0,c=n[l>>2]|0,c>>>0<(n[q+32>>2]|0)>>>0?(n[B>>2]=m,n[B+4>>2]=f,n[d>>2]=n[B>>2],n[d+4>>2]=n[B+4>>2],u9(c,d,s),s=(n[l>>2]|0)+12|0,n[l>>2]=s):(dSe(M,Q,k),s=n[l>>2]|0),E=O,((s-(n[M>>2]|0)|0)/12|0)+-1|0}function u9(s,l,c){s=s|0,l=l|0,c=c|0;var f=0;f=n[l+4>>2]|0,n[s>>2]=n[l>>2],n[s+4>>2]=f,n[s+8>>2]=c}function dSe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,Q=0,k=0,M=0,O=0,q=0,se=0;if(M=E,E=E+48|0,f=M+32|0,B=M+24|0,Q=M,k=s+4|0,d=(((n[k>>2]|0)-(n[s>>2]|0)|0)/12|0)+1|0,m=mSe(s)|0,m>>>0<d>>>0)Vr(s);else{O=n[s>>2]|0,se=((n[s+8>>2]|0)-O|0)/12|0,q=se<<1,ySe(Q,se>>>0<m>>>1>>>0?q>>>0<d>>>0?d:q:m,((n[k>>2]|0)-O|0)/12|0,s+8|0),k=Q+8|0,m=n[k>>2]|0,d=n[l+4>>2]|0,c=n[c>>2]|0,n[B>>2]=n[l>>2],n[B+4>>2]=d,n[f>>2]=n[B>>2],n[f+4>>2]=n[B+4>>2],u9(m,f,c),n[k>>2]=(n[k>>2]|0)+12,ESe(s,Q),wSe(Q),E=M;return}}function mSe(s){return s=s|0,357913941}function ySe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0;n[s+12>>2]=0,n[s+16>>2]=f;do if(l)if(l>>>0>357913941)Rt();else{d=Kt(l*12|0)|0;break}else d=0;while(0);n[s>>2]=d,f=d+(c*12|0)|0,n[s+8>>2]=f,n[s+4>>2]=f,n[s+12>>2]=d+(l*12|0)}function ESe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0;f=n[s>>2]|0,B=s+4|0,m=l+4|0,d=(n[B>>2]|0)-f|0,c=(n[m>>2]|0)+(((d|0)/-12|0)*12|0)|0,n[m>>2]=c,(d|0)>0?(vr(c|0,f|0,d|0)|0,f=m,c=n[m>>2]|0):f=m,m=n[s>>2]|0,n[s>>2]=c,n[f>>2]=m,m=l+8|0,d=n[B>>2]|0,n[B>>2]=n[m>>2],n[m>>2]=d,m=s+8|0,B=l+12|0,s=n[m>>2]|0,n[m>>2]=n[B>>2],n[B>>2]=s,n[l>>2]=n[f>>2]}function wSe(s){s=s|0;var l=0,c=0,f=0;l=n[s+4>>2]|0,c=s+8|0,f=n[c>>2]|0,(f|0)!=(l|0)&&(n[c>>2]=f+(~(((f+-12-l|0)>>>0)/12|0)*12|0)),s=n[s>>2]|0,s|0&&ht(s)}function A9(s){s=s|0,BSe(s)}function CSe(s){s=s|0,ISe(s+24|0)}function ISe(s){s=s|0;var l=0,c=0,f=0;c=n[s>>2]|0,f=c,c|0&&(s=s+4|0,l=n[s>>2]|0,(l|0)!=(c|0)&&(n[s>>2]=l+(~(((l+-12-f|0)>>>0)/12|0)*12|0)),ht(c))}function BSe(s){s=s|0;var l=0;l=Wr()|0,Kr(s,2,5,l,vSe()|0,1),n[s+24>>2]=0,n[s+28>>2]=0,n[s+32>>2]=0}function vSe(){return 1164}function DSe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0;f=E,E=E+16|0,d=f+8|0,m=f,B=SSe(s)|0,s=n[B+4>>2]|0,n[m>>2]=n[B>>2],n[m+4>>2]=s,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],PSe(l,d,c),E=f}function SSe(s){return s=s|0,(n[(TF()|0)+24>>2]|0)+(s*12|0)|0}function PSe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0;m=E,E=E+16|0,d=m,f=n[l>>2]|0,l=n[l+4>>2]|0,s=s+(l>>1)|0,l&1&&(f=n[(n[s>>2]|0)+f>>2]|0),Bp(d,c),c=vp(d,c)|0,rf[f&31](s,c),Dp(d),E=m}function Bp(s,l){s=s|0,l=l|0,xSe(s,l)}function vp(s,l){return s=s|0,l=l|0,s|0}function Dp(s){s=s|0,qA(s)}function xSe(s,l){s=s|0,l=l|0,NF(s,l)}function NF(s,l){s=s|0,l=l|0,n[s>>2]=l}function bSe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,Q=0;f=E,E=E+16|0,d=f+8|0,m=f,Q=n[c>>2]|0,B=n[c+4>>2]|0,c=fn(l)|0,n[m>>2]=Q,n[m+4>>2]=B,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],QSe(s,c,d,0),E=f}function QSe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0,m=0,B=0,Q=0,k=0,M=0,O=0;d=E,E=E+32|0,m=d+16|0,O=d+8|0,Q=d,M=n[c>>2]|0,k=n[c+4>>2]|0,B=n[s>>2]|0,s=LF()|0,n[O>>2]=M,n[O+4>>2]=k,n[m>>2]=n[O>>2],n[m+4>>2]=n[O+4>>2],c=kSe(m)|0,n[Q>>2]=M,n[Q+4>>2]=k,n[m>>2]=n[Q>>2],n[m+4>>2]=n[Q+4>>2],pn(B,l,s,c,FSe(m,f)|0,f),E=d}function LF(){var s=0,l=0;if(o[7664]|0||(p9(9340),ve(29,9340,U|0)|0,l=7664,n[l>>2]=1,n[l+4>>2]=0),!(Rr(9340)|0)){s=9340,l=s+36|0;do n[s>>2]=0,s=s+4|0;while((s|0)<(l|0));p9(9340)}return 9340}function kSe(s){return s=s|0,0}function FSe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0,Q=0,k=0,M=0,O=0,q=0;return O=E,E=E+32|0,d=O+24|0,B=O+16|0,Q=O,k=O+8|0,m=n[s>>2]|0,f=n[s+4>>2]|0,n[Q>>2]=m,n[Q+4>>2]=f,q=LF()|0,M=q+24|0,s=hr(l,4)|0,n[k>>2]=s,l=q+28|0,c=n[l>>2]|0,c>>>0<(n[q+32>>2]|0)>>>0?(n[B>>2]=m,n[B+4>>2]=f,n[d>>2]=n[B>>2],n[d+4>>2]=n[B+4>>2],f9(c,d,s),s=(n[l>>2]|0)+12|0,n[l>>2]=s):(RSe(M,Q,k),s=n[l>>2]|0),E=O,((s-(n[M>>2]|0)|0)/12|0)+-1|0}function f9(s,l,c){s=s|0,l=l|0,c=c|0;var f=0;f=n[l+4>>2]|0,n[s>>2]=n[l>>2],n[s+4>>2]=f,n[s+8>>2]=c}function RSe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,Q=0,k=0,M=0,O=0,q=0,se=0;if(M=E,E=E+48|0,f=M+32|0,B=M+24|0,Q=M,k=s+4|0,d=(((n[k>>2]|0)-(n[s>>2]|0)|0)/12|0)+1|0,m=TSe(s)|0,m>>>0<d>>>0)Vr(s);else{O=n[s>>2]|0,se=((n[s+8>>2]|0)-O|0)/12|0,q=se<<1,NSe(Q,se>>>0<m>>>1>>>0?q>>>0<d>>>0?d:q:m,((n[k>>2]|0)-O|0)/12|0,s+8|0),k=Q+8|0,m=n[k>>2]|0,d=n[l+4>>2]|0,c=n[c>>2]|0,n[B>>2]=n[l>>2],n[B+4>>2]=d,n[f>>2]=n[B>>2],n[f+4>>2]=n[B+4>>2],f9(m,f,c),n[k>>2]=(n[k>>2]|0)+12,LSe(s,Q),OSe(Q),E=M;return}}function TSe(s){return s=s|0,357913941}function NSe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0;n[s+12>>2]=0,n[s+16>>2]=f;do if(l)if(l>>>0>357913941)Rt();else{d=Kt(l*12|0)|0;break}else d=0;while(0);n[s>>2]=d,f=d+(c*12|0)|0,n[s+8>>2]=f,n[s+4>>2]=f,n[s+12>>2]=d+(l*12|0)}function LSe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0;f=n[s>>2]|0,B=s+4|0,m=l+4|0,d=(n[B>>2]|0)-f|0,c=(n[m>>2]|0)+(((d|0)/-12|0)*12|0)|0,n[m>>2]=c,(d|0)>0?(vr(c|0,f|0,d|0)|0,f=m,c=n[m>>2]|0):f=m,m=n[s>>2]|0,n[s>>2]=c,n[f>>2]=m,m=l+8|0,d=n[B>>2]|0,n[B>>2]=n[m>>2],n[m>>2]=d,m=s+8|0,B=l+12|0,s=n[m>>2]|0,n[m>>2]=n[B>>2],n[B>>2]=s,n[l>>2]=n[f>>2]}function OSe(s){s=s|0;var l=0,c=0,f=0;l=n[s+4>>2]|0,c=s+8|0,f=n[c>>2]|0,(f|0)!=(l|0)&&(n[c>>2]=f+(~(((f+-12-l|0)>>>0)/12|0)*12|0)),s=n[s>>2]|0,s|0&&ht(s)}function p9(s){s=s|0,_Se(s)}function MSe(s){s=s|0,USe(s+24|0)}function USe(s){s=s|0;var l=0,c=0,f=0;c=n[s>>2]|0,f=c,c|0&&(s=s+4|0,l=n[s>>2]|0,(l|0)!=(c|0)&&(n[s>>2]=l+(~(((l+-12-f|0)>>>0)/12|0)*12|0)),ht(c))}function _Se(s){s=s|0;var l=0;l=Wr()|0,Kr(s,2,4,l,HSe()|0,1),n[s+24>>2]=0,n[s+28>>2]=0,n[s+32>>2]=0}function HSe(){return 1180}function jSe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0;return f=E,E=E+16|0,d=f+8|0,m=f,B=qSe(s)|0,s=n[B+4>>2]|0,n[m>>2]=n[B>>2],n[m+4>>2]=s,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],c=GSe(l,d,c)|0,E=f,c|0}function qSe(s){return s=s|0,(n[(LF()|0)+24>>2]|0)+(s*12|0)|0}function GSe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0;return m=E,E=E+16|0,d=m,f=n[l>>2]|0,l=n[l+4>>2]|0,s=s+(l>>1)|0,l&1&&(f=n[(n[s>>2]|0)+f>>2]|0),Sg(d,c),d=Pg(d,c)|0,d=iD(FR[f&15](s,d)|0)|0,E=m,d|0}function Sg(s,l){s=s|0,l=l|0}function Pg(s,l){return s=s|0,l=l|0,YSe(l)|0}function iD(s){return s=s|0,s|0}function YSe(s){return s=s|0,s|0}function WSe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,Q=0;f=E,E=E+16|0,d=f+8|0,m=f,Q=n[c>>2]|0,B=n[c+4>>2]|0,c=fn(l)|0,n[m>>2]=Q,n[m+4>>2]=B,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],KSe(s,c,d,0),E=f}function KSe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0,m=0,B=0,Q=0,k=0,M=0,O=0;d=E,E=E+32|0,m=d+16|0,O=d+8|0,Q=d,M=n[c>>2]|0,k=n[c+4>>2]|0,B=n[s>>2]|0,s=OF()|0,n[O>>2]=M,n[O+4>>2]=k,n[m>>2]=n[O>>2],n[m+4>>2]=n[O+4>>2],c=JSe(m)|0,n[Q>>2]=M,n[Q+4>>2]=k,n[m>>2]=n[Q>>2],n[m+4>>2]=n[Q+4>>2],pn(B,l,s,c,VSe(m,f)|0,f),E=d}function OF(){var s=0,l=0;if(o[7672]|0||(g9(9376),ve(30,9376,U|0)|0,l=7672,n[l>>2]=1,n[l+4>>2]=0),!(Rr(9376)|0)){s=9376,l=s+36|0;do n[s>>2]=0,s=s+4|0;while((s|0)<(l|0));g9(9376)}return 9376}function JSe(s){return s=s|0,0}function VSe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0,Q=0,k=0,M=0,O=0,q=0;return O=E,E=E+32|0,d=O+24|0,B=O+16|0,Q=O,k=O+8|0,m=n[s>>2]|0,f=n[s+4>>2]|0,n[Q>>2]=m,n[Q+4>>2]=f,q=OF()|0,M=q+24|0,s=hr(l,4)|0,n[k>>2]=s,l=q+28|0,c=n[l>>2]|0,c>>>0<(n[q+32>>2]|0)>>>0?(n[B>>2]=m,n[B+4>>2]=f,n[d>>2]=n[B>>2],n[d+4>>2]=n[B+4>>2],h9(c,d,s),s=(n[l>>2]|0)+12|0,n[l>>2]=s):(zSe(M,Q,k),s=n[l>>2]|0),E=O,((s-(n[M>>2]|0)|0)/12|0)+-1|0}function h9(s,l,c){s=s|0,l=l|0,c=c|0;var f=0;f=n[l+4>>2]|0,n[s>>2]=n[l>>2],n[s+4>>2]=f,n[s+8>>2]=c}function zSe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,Q=0,k=0,M=0,O=0,q=0,se=0;if(M=E,E=E+48|0,f=M+32|0,B=M+24|0,Q=M,k=s+4|0,d=(((n[k>>2]|0)-(n[s>>2]|0)|0)/12|0)+1|0,m=XSe(s)|0,m>>>0<d>>>0)Vr(s);else{O=n[s>>2]|0,se=((n[s+8>>2]|0)-O|0)/12|0,q=se<<1,ZSe(Q,se>>>0<m>>>1>>>0?q>>>0<d>>>0?d:q:m,((n[k>>2]|0)-O|0)/12|0,s+8|0),k=Q+8|0,m=n[k>>2]|0,d=n[l+4>>2]|0,c=n[c>>2]|0,n[B>>2]=n[l>>2],n[B+4>>2]=d,n[f>>2]=n[B>>2],n[f+4>>2]=n[B+4>>2],h9(m,f,c),n[k>>2]=(n[k>>2]|0)+12,$Se(s,Q),ePe(Q),E=M;return}}function XSe(s){return s=s|0,357913941}function ZSe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0;n[s+12>>2]=0,n[s+16>>2]=f;do if(l)if(l>>>0>357913941)Rt();else{d=Kt(l*12|0)|0;break}else d=0;while(0);n[s>>2]=d,f=d+(c*12|0)|0,n[s+8>>2]=f,n[s+4>>2]=f,n[s+12>>2]=d+(l*12|0)}function $Se(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0;f=n[s>>2]|0,B=s+4|0,m=l+4|0,d=(n[B>>2]|0)-f|0,c=(n[m>>2]|0)+(((d|0)/-12|0)*12|0)|0,n[m>>2]=c,(d|0)>0?(vr(c|0,f|0,d|0)|0,f=m,c=n[m>>2]|0):f=m,m=n[s>>2]|0,n[s>>2]=c,n[f>>2]=m,m=l+8|0,d=n[B>>2]|0,n[B>>2]=n[m>>2],n[m>>2]=d,m=s+8|0,B=l+12|0,s=n[m>>2]|0,n[m>>2]=n[B>>2],n[B>>2]=s,n[l>>2]=n[f>>2]}function ePe(s){s=s|0;var l=0,c=0,f=0;l=n[s+4>>2]|0,c=s+8|0,f=n[c>>2]|0,(f|0)!=(l|0)&&(n[c>>2]=f+(~(((f+-12-l|0)>>>0)/12|0)*12|0)),s=n[s>>2]|0,s|0&&ht(s)}function g9(s){s=s|0,nPe(s)}function tPe(s){s=s|0,rPe(s+24|0)}function rPe(s){s=s|0;var l=0,c=0,f=0;c=n[s>>2]|0,f=c,c|0&&(s=s+4|0,l=n[s>>2]|0,(l|0)!=(c|0)&&(n[s>>2]=l+(~(((l+-12-f|0)>>>0)/12|0)*12|0)),ht(c))}function nPe(s){s=s|0;var l=0;l=Wr()|0,Kr(s,2,5,l,d9()|0,0),n[s+24>>2]=0,n[s+28>>2]=0,n[s+32>>2]=0}function d9(){return 1196}function iPe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0;return c=E,E=E+16|0,f=c+8|0,d=c,m=sPe(s)|0,s=n[m+4>>2]|0,n[d>>2]=n[m>>2],n[d+4>>2]=s,n[f>>2]=n[d>>2],n[f+4>>2]=n[d+4>>2],l=oPe(l,f)|0,E=c,l|0}function sPe(s){return s=s|0,(n[(OF()|0)+24>>2]|0)+(s*12|0)|0}function oPe(s,l){s=s|0,l=l|0;var c=0;return c=n[l>>2]|0,l=n[l+4>>2]|0,s=s+(l>>1)|0,l&1&&(c=n[(n[s>>2]|0)+c>>2]|0),iD(Tg[c&31](s)|0)|0}function aPe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,Q=0;f=E,E=E+16|0,d=f+8|0,m=f,Q=n[c>>2]|0,B=n[c+4>>2]|0,c=fn(l)|0,n[m>>2]=Q,n[m+4>>2]=B,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],lPe(s,c,d,1),E=f}function lPe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0,m=0,B=0,Q=0,k=0,M=0,O=0;d=E,E=E+32|0,m=d+16|0,O=d+8|0,Q=d,M=n[c>>2]|0,k=n[c+4>>2]|0,B=n[s>>2]|0,s=MF()|0,n[O>>2]=M,n[O+4>>2]=k,n[m>>2]=n[O>>2],n[m+4>>2]=n[O+4>>2],c=cPe(m)|0,n[Q>>2]=M,n[Q+4>>2]=k,n[m>>2]=n[Q>>2],n[m+4>>2]=n[Q+4>>2],pn(B,l,s,c,uPe(m,f)|0,f),E=d}function MF(){var s=0,l=0;if(o[7680]|0||(y9(9412),ve(31,9412,U|0)|0,l=7680,n[l>>2]=1,n[l+4>>2]=0),!(Rr(9412)|0)){s=9412,l=s+36|0;do n[s>>2]=0,s=s+4|0;while((s|0)<(l|0));y9(9412)}return 9412}function cPe(s){return s=s|0,0}function uPe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0,Q=0,k=0,M=0,O=0,q=0;return O=E,E=E+32|0,d=O+24|0,B=O+16|0,Q=O,k=O+8|0,m=n[s>>2]|0,f=n[s+4>>2]|0,n[Q>>2]=m,n[Q+4>>2]=f,q=MF()|0,M=q+24|0,s=hr(l,4)|0,n[k>>2]=s,l=q+28|0,c=n[l>>2]|0,c>>>0<(n[q+32>>2]|0)>>>0?(n[B>>2]=m,n[B+4>>2]=f,n[d>>2]=n[B>>2],n[d+4>>2]=n[B+4>>2],m9(c,d,s),s=(n[l>>2]|0)+12|0,n[l>>2]=s):(APe(M,Q,k),s=n[l>>2]|0),E=O,((s-(n[M>>2]|0)|0)/12|0)+-1|0}function m9(s,l,c){s=s|0,l=l|0,c=c|0;var f=0;f=n[l+4>>2]|0,n[s>>2]=n[l>>2],n[s+4>>2]=f,n[s+8>>2]=c}function APe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,Q=0,k=0,M=0,O=0,q=0,se=0;if(M=E,E=E+48|0,f=M+32|0,B=M+24|0,Q=M,k=s+4|0,d=(((n[k>>2]|0)-(n[s>>2]|0)|0)/12|0)+1|0,m=fPe(s)|0,m>>>0<d>>>0)Vr(s);else{O=n[s>>2]|0,se=((n[s+8>>2]|0)-O|0)/12|0,q=se<<1,pPe(Q,se>>>0<m>>>1>>>0?q>>>0<d>>>0?d:q:m,((n[k>>2]|0)-O|0)/12|0,s+8|0),k=Q+8|0,m=n[k>>2]|0,d=n[l+4>>2]|0,c=n[c>>2]|0,n[B>>2]=n[l>>2],n[B+4>>2]=d,n[f>>2]=n[B>>2],n[f+4>>2]=n[B+4>>2],m9(m,f,c),n[k>>2]=(n[k>>2]|0)+12,hPe(s,Q),gPe(Q),E=M;return}}function fPe(s){return s=s|0,357913941}function pPe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0;n[s+12>>2]=0,n[s+16>>2]=f;do if(l)if(l>>>0>357913941)Rt();else{d=Kt(l*12|0)|0;break}else d=0;while(0);n[s>>2]=d,f=d+(c*12|0)|0,n[s+8>>2]=f,n[s+4>>2]=f,n[s+12>>2]=d+(l*12|0)}function hPe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0;f=n[s>>2]|0,B=s+4|0,m=l+4|0,d=(n[B>>2]|0)-f|0,c=(n[m>>2]|0)+(((d|0)/-12|0)*12|0)|0,n[m>>2]=c,(d|0)>0?(vr(c|0,f|0,d|0)|0,f=m,c=n[m>>2]|0):f=m,m=n[s>>2]|0,n[s>>2]=c,n[f>>2]=m,m=l+8|0,d=n[B>>2]|0,n[B>>2]=n[m>>2],n[m>>2]=d,m=s+8|0,B=l+12|0,s=n[m>>2]|0,n[m>>2]=n[B>>2],n[B>>2]=s,n[l>>2]=n[f>>2]}function gPe(s){s=s|0;var l=0,c=0,f=0;l=n[s+4>>2]|0,c=s+8|0,f=n[c>>2]|0,(f|0)!=(l|0)&&(n[c>>2]=f+(~(((f+-12-l|0)>>>0)/12|0)*12|0)),s=n[s>>2]|0,s|0&&ht(s)}function y9(s){s=s|0,yPe(s)}function dPe(s){s=s|0,mPe(s+24|0)}function mPe(s){s=s|0;var l=0,c=0,f=0;c=n[s>>2]|0,f=c,c|0&&(s=s+4|0,l=n[s>>2]|0,(l|0)!=(c|0)&&(n[s>>2]=l+(~(((l+-12-f|0)>>>0)/12|0)*12|0)),ht(c))}function yPe(s){s=s|0;var l=0;l=Wr()|0,Kr(s,2,6,l,E9()|0,0),n[s+24>>2]=0,n[s+28>>2]=0,n[s+32>>2]=0}function E9(){return 1200}function EPe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0;return c=E,E=E+16|0,f=c+8|0,d=c,m=wPe(s)|0,s=n[m+4>>2]|0,n[d>>2]=n[m>>2],n[d+4>>2]=s,n[f>>2]=n[d>>2],n[f+4>>2]=n[d+4>>2],l=CPe(l,f)|0,E=c,l|0}function wPe(s){return s=s|0,(n[(MF()|0)+24>>2]|0)+(s*12|0)|0}function CPe(s,l){s=s|0,l=l|0;var c=0;return c=n[l>>2]|0,l=n[l+4>>2]|0,s=s+(l>>1)|0,l&1&&(c=n[(n[s>>2]|0)+c>>2]|0),sD(Tg[c&31](s)|0)|0}function sD(s){return s=s|0,s|0}function IPe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,Q=0;f=E,E=E+16|0,d=f+8|0,m=f,Q=n[c>>2]|0,B=n[c+4>>2]|0,c=fn(l)|0,n[m>>2]=Q,n[m+4>>2]=B,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],BPe(s,c,d,0),E=f}function BPe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0,m=0,B=0,Q=0,k=0,M=0,O=0;d=E,E=E+32|0,m=d+16|0,O=d+8|0,Q=d,M=n[c>>2]|0,k=n[c+4>>2]|0,B=n[s>>2]|0,s=UF()|0,n[O>>2]=M,n[O+4>>2]=k,n[m>>2]=n[O>>2],n[m+4>>2]=n[O+4>>2],c=vPe(m)|0,n[Q>>2]=M,n[Q+4>>2]=k,n[m>>2]=n[Q>>2],n[m+4>>2]=n[Q+4>>2],pn(B,l,s,c,DPe(m,f)|0,f),E=d}function UF(){var s=0,l=0;if(o[7688]|0||(C9(9448),ve(32,9448,U|0)|0,l=7688,n[l>>2]=1,n[l+4>>2]=0),!(Rr(9448)|0)){s=9448,l=s+36|0;do n[s>>2]=0,s=s+4|0;while((s|0)<(l|0));C9(9448)}return 9448}function vPe(s){return s=s|0,0}function DPe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0,Q=0,k=0,M=0,O=0,q=0;return O=E,E=E+32|0,d=O+24|0,B=O+16|0,Q=O,k=O+8|0,m=n[s>>2]|0,f=n[s+4>>2]|0,n[Q>>2]=m,n[Q+4>>2]=f,q=UF()|0,M=q+24|0,s=hr(l,4)|0,n[k>>2]=s,l=q+28|0,c=n[l>>2]|0,c>>>0<(n[q+32>>2]|0)>>>0?(n[B>>2]=m,n[B+4>>2]=f,n[d>>2]=n[B>>2],n[d+4>>2]=n[B+4>>2],w9(c,d,s),s=(n[l>>2]|0)+12|0,n[l>>2]=s):(SPe(M,Q,k),s=n[l>>2]|0),E=O,((s-(n[M>>2]|0)|0)/12|0)+-1|0}function w9(s,l,c){s=s|0,l=l|0,c=c|0;var f=0;f=n[l+4>>2]|0,n[s>>2]=n[l>>2],n[s+4>>2]=f,n[s+8>>2]=c}function SPe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,Q=0,k=0,M=0,O=0,q=0,se=0;if(M=E,E=E+48|0,f=M+32|0,B=M+24|0,Q=M,k=s+4|0,d=(((n[k>>2]|0)-(n[s>>2]|0)|0)/12|0)+1|0,m=PPe(s)|0,m>>>0<d>>>0)Vr(s);else{O=n[s>>2]|0,se=((n[s+8>>2]|0)-O|0)/12|0,q=se<<1,xPe(Q,se>>>0<m>>>1>>>0?q>>>0<d>>>0?d:q:m,((n[k>>2]|0)-O|0)/12|0,s+8|0),k=Q+8|0,m=n[k>>2]|0,d=n[l+4>>2]|0,c=n[c>>2]|0,n[B>>2]=n[l>>2],n[B+4>>2]=d,n[f>>2]=n[B>>2],n[f+4>>2]=n[B+4>>2],w9(m,f,c),n[k>>2]=(n[k>>2]|0)+12,bPe(s,Q),QPe(Q),E=M;return}}function PPe(s){return s=s|0,357913941}function xPe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0;n[s+12>>2]=0,n[s+16>>2]=f;do if(l)if(l>>>0>357913941)Rt();else{d=Kt(l*12|0)|0;break}else d=0;while(0);n[s>>2]=d,f=d+(c*12|0)|0,n[s+8>>2]=f,n[s+4>>2]=f,n[s+12>>2]=d+(l*12|0)}function bPe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0;f=n[s>>2]|0,B=s+4|0,m=l+4|0,d=(n[B>>2]|0)-f|0,c=(n[m>>2]|0)+(((d|0)/-12|0)*12|0)|0,n[m>>2]=c,(d|0)>0?(vr(c|0,f|0,d|0)|0,f=m,c=n[m>>2]|0):f=m,m=n[s>>2]|0,n[s>>2]=c,n[f>>2]=m,m=l+8|0,d=n[B>>2]|0,n[B>>2]=n[m>>2],n[m>>2]=d,m=s+8|0,B=l+12|0,s=n[m>>2]|0,n[m>>2]=n[B>>2],n[B>>2]=s,n[l>>2]=n[f>>2]}function QPe(s){s=s|0;var l=0,c=0,f=0;l=n[s+4>>2]|0,c=s+8|0,f=n[c>>2]|0,(f|0)!=(l|0)&&(n[c>>2]=f+(~(((f+-12-l|0)>>>0)/12|0)*12|0)),s=n[s>>2]|0,s|0&&ht(s)}function C9(s){s=s|0,RPe(s)}function kPe(s){s=s|0,FPe(s+24|0)}function FPe(s){s=s|0;var l=0,c=0,f=0;c=n[s>>2]|0,f=c,c|0&&(s=s+4|0,l=n[s>>2]|0,(l|0)!=(c|0)&&(n[s>>2]=l+(~(((l+-12-f|0)>>>0)/12|0)*12|0)),ht(c))}function RPe(s){s=s|0;var l=0;l=Wr()|0,Kr(s,2,6,l,I9()|0,1),n[s+24>>2]=0,n[s+28>>2]=0,n[s+32>>2]=0}function I9(){return 1204}function TPe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0;f=E,E=E+16|0,d=f+8|0,m=f,B=NPe(s)|0,s=n[B+4>>2]|0,n[m>>2]=n[B>>2],n[m+4>>2]=s,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],LPe(l,d,c),E=f}function NPe(s){return s=s|0,(n[(UF()|0)+24>>2]|0)+(s*12|0)|0}function LPe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0;m=E,E=E+16|0,d=m,f=n[l>>2]|0,l=n[l+4>>2]|0,s=s+(l>>1)|0,l&1&&(f=n[(n[s>>2]|0)+f>>2]|0),_F(d,c),d=HF(d,c)|0,rf[f&31](s,d),E=m}function _F(s,l){s=s|0,l=l|0}function HF(s,l){return s=s|0,l=l|0,OPe(l)|0}function OPe(s){return s=s|0,s|0}function MPe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,Q=0;f=E,E=E+16|0,d=f+8|0,m=f,Q=n[c>>2]|0,B=n[c+4>>2]|0,c=fn(l)|0,n[m>>2]=Q,n[m+4>>2]=B,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],UPe(s,c,d,0),E=f}function UPe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0,m=0,B=0,Q=0,k=0,M=0,O=0;d=E,E=E+32|0,m=d+16|0,O=d+8|0,Q=d,M=n[c>>2]|0,k=n[c+4>>2]|0,B=n[s>>2]|0,s=jF()|0,n[O>>2]=M,n[O+4>>2]=k,n[m>>2]=n[O>>2],n[m+4>>2]=n[O+4>>2],c=_Pe(m)|0,n[Q>>2]=M,n[Q+4>>2]=k,n[m>>2]=n[Q>>2],n[m+4>>2]=n[Q+4>>2],pn(B,l,s,c,HPe(m,f)|0,f),E=d}function jF(){var s=0,l=0;if(o[7696]|0||(v9(9484),ve(33,9484,U|0)|0,l=7696,n[l>>2]=1,n[l+4>>2]=0),!(Rr(9484)|0)){s=9484,l=s+36|0;do n[s>>2]=0,s=s+4|0;while((s|0)<(l|0));v9(9484)}return 9484}function _Pe(s){return s=s|0,0}function HPe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0,Q=0,k=0,M=0,O=0,q=0;return O=E,E=E+32|0,d=O+24|0,B=O+16|0,Q=O,k=O+8|0,m=n[s>>2]|0,f=n[s+4>>2]|0,n[Q>>2]=m,n[Q+4>>2]=f,q=jF()|0,M=q+24|0,s=hr(l,4)|0,n[k>>2]=s,l=q+28|0,c=n[l>>2]|0,c>>>0<(n[q+32>>2]|0)>>>0?(n[B>>2]=m,n[B+4>>2]=f,n[d>>2]=n[B>>2],n[d+4>>2]=n[B+4>>2],B9(c,d,s),s=(n[l>>2]|0)+12|0,n[l>>2]=s):(jPe(M,Q,k),s=n[l>>2]|0),E=O,((s-(n[M>>2]|0)|0)/12|0)+-1|0}function B9(s,l,c){s=s|0,l=l|0,c=c|0;var f=0;f=n[l+4>>2]|0,n[s>>2]=n[l>>2],n[s+4>>2]=f,n[s+8>>2]=c}function jPe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,Q=0,k=0,M=0,O=0,q=0,se=0;if(M=E,E=E+48|0,f=M+32|0,B=M+24|0,Q=M,k=s+4|0,d=(((n[k>>2]|0)-(n[s>>2]|0)|0)/12|0)+1|0,m=qPe(s)|0,m>>>0<d>>>0)Vr(s);else{O=n[s>>2]|0,se=((n[s+8>>2]|0)-O|0)/12|0,q=se<<1,GPe(Q,se>>>0<m>>>1>>>0?q>>>0<d>>>0?d:q:m,((n[k>>2]|0)-O|0)/12|0,s+8|0),k=Q+8|0,m=n[k>>2]|0,d=n[l+4>>2]|0,c=n[c>>2]|0,n[B>>2]=n[l>>2],n[B+4>>2]=d,n[f>>2]=n[B>>2],n[f+4>>2]=n[B+4>>2],B9(m,f,c),n[k>>2]=(n[k>>2]|0)+12,YPe(s,Q),WPe(Q),E=M;return}}function qPe(s){return s=s|0,357913941}function GPe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0;n[s+12>>2]=0,n[s+16>>2]=f;do if(l)if(l>>>0>357913941)Rt();else{d=Kt(l*12|0)|0;break}else d=0;while(0);n[s>>2]=d,f=d+(c*12|0)|0,n[s+8>>2]=f,n[s+4>>2]=f,n[s+12>>2]=d+(l*12|0)}function YPe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0;f=n[s>>2]|0,B=s+4|0,m=l+4|0,d=(n[B>>2]|0)-f|0,c=(n[m>>2]|0)+(((d|0)/-12|0)*12|0)|0,n[m>>2]=c,(d|0)>0?(vr(c|0,f|0,d|0)|0,f=m,c=n[m>>2]|0):f=m,m=n[s>>2]|0,n[s>>2]=c,n[f>>2]=m,m=l+8|0,d=n[B>>2]|0,n[B>>2]=n[m>>2],n[m>>2]=d,m=s+8|0,B=l+12|0,s=n[m>>2]|0,n[m>>2]=n[B>>2],n[B>>2]=s,n[l>>2]=n[f>>2]}function WPe(s){s=s|0;var l=0,c=0,f=0;l=n[s+4>>2]|0,c=s+8|0,f=n[c>>2]|0,(f|0)!=(l|0)&&(n[c>>2]=f+(~(((f+-12-l|0)>>>0)/12|0)*12|0)),s=n[s>>2]|0,s|0&&ht(s)}function v9(s){s=s|0,VPe(s)}function KPe(s){s=s|0,JPe(s+24|0)}function JPe(s){s=s|0;var l=0,c=0,f=0;c=n[s>>2]|0,f=c,c|0&&(s=s+4|0,l=n[s>>2]|0,(l|0)!=(c|0)&&(n[s>>2]=l+(~(((l+-12-f|0)>>>0)/12|0)*12|0)),ht(c))}function VPe(s){s=s|0;var l=0;l=Wr()|0,Kr(s,2,1,l,zPe()|0,2),n[s+24>>2]=0,n[s+28>>2]=0,n[s+32>>2]=0}function zPe(){return 1212}function XPe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0,m=0,B=0,Q=0;d=E,E=E+16|0,m=d+8|0,B=d,Q=ZPe(s)|0,s=n[Q+4>>2]|0,n[B>>2]=n[Q>>2],n[B+4>>2]=s,n[m>>2]=n[B>>2],n[m+4>>2]=n[B+4>>2],$Pe(l,m,c,f),E=d}function ZPe(s){return s=s|0,(n[(jF()|0)+24>>2]|0)+(s*12|0)|0}function $Pe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0,m=0,B=0,Q=0;Q=E,E=E+16|0,m=Q+1|0,B=Q,d=n[l>>2]|0,l=n[l+4>>2]|0,s=s+(l>>1)|0,l&1&&(d=n[(n[s>>2]|0)+d>>2]|0),_F(m,c),m=HF(m,c)|0,Sg(B,f),B=Pg(B,f)|0,UC[d&15](s,m,B),E=Q}function exe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,Q=0;f=E,E=E+16|0,d=f+8|0,m=f,Q=n[c>>2]|0,B=n[c+4>>2]|0,c=fn(l)|0,n[m>>2]=Q,n[m+4>>2]=B,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],txe(s,c,d,1),E=f}function txe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0,m=0,B=0,Q=0,k=0,M=0,O=0;d=E,E=E+32|0,m=d+16|0,O=d+8|0,Q=d,M=n[c>>2]|0,k=n[c+4>>2]|0,B=n[s>>2]|0,s=qF()|0,n[O>>2]=M,n[O+4>>2]=k,n[m>>2]=n[O>>2],n[m+4>>2]=n[O+4>>2],c=rxe(m)|0,n[Q>>2]=M,n[Q+4>>2]=k,n[m>>2]=n[Q>>2],n[m+4>>2]=n[Q+4>>2],pn(B,l,s,c,nxe(m,f)|0,f),E=d}function qF(){var s=0,l=0;if(o[7704]|0||(S9(9520),ve(34,9520,U|0)|0,l=7704,n[l>>2]=1,n[l+4>>2]=0),!(Rr(9520)|0)){s=9520,l=s+36|0;do n[s>>2]=0,s=s+4|0;while((s|0)<(l|0));S9(9520)}return 9520}function rxe(s){return s=s|0,0}function nxe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0,Q=0,k=0,M=0,O=0,q=0;return O=E,E=E+32|0,d=O+24|0,B=O+16|0,Q=O,k=O+8|0,m=n[s>>2]|0,f=n[s+4>>2]|0,n[Q>>2]=m,n[Q+4>>2]=f,q=qF()|0,M=q+24|0,s=hr(l,4)|0,n[k>>2]=s,l=q+28|0,c=n[l>>2]|0,c>>>0<(n[q+32>>2]|0)>>>0?(n[B>>2]=m,n[B+4>>2]=f,n[d>>2]=n[B>>2],n[d+4>>2]=n[B+4>>2],D9(c,d,s),s=(n[l>>2]|0)+12|0,n[l>>2]=s):(ixe(M,Q,k),s=n[l>>2]|0),E=O,((s-(n[M>>2]|0)|0)/12|0)+-1|0}function D9(s,l,c){s=s|0,l=l|0,c=c|0;var f=0;f=n[l+4>>2]|0,n[s>>2]=n[l>>2],n[s+4>>2]=f,n[s+8>>2]=c}function ixe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,Q=0,k=0,M=0,O=0,q=0,se=0;if(M=E,E=E+48|0,f=M+32|0,B=M+24|0,Q=M,k=s+4|0,d=(((n[k>>2]|0)-(n[s>>2]|0)|0)/12|0)+1|0,m=sxe(s)|0,m>>>0<d>>>0)Vr(s);else{O=n[s>>2]|0,se=((n[s+8>>2]|0)-O|0)/12|0,q=se<<1,oxe(Q,se>>>0<m>>>1>>>0?q>>>0<d>>>0?d:q:m,((n[k>>2]|0)-O|0)/12|0,s+8|0),k=Q+8|0,m=n[k>>2]|0,d=n[l+4>>2]|0,c=n[c>>2]|0,n[B>>2]=n[l>>2],n[B+4>>2]=d,n[f>>2]=n[B>>2],n[f+4>>2]=n[B+4>>2],D9(m,f,c),n[k>>2]=(n[k>>2]|0)+12,axe(s,Q),lxe(Q),E=M;return}}function sxe(s){return s=s|0,357913941}function oxe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0;n[s+12>>2]=0,n[s+16>>2]=f;do if(l)if(l>>>0>357913941)Rt();else{d=Kt(l*12|0)|0;break}else d=0;while(0);n[s>>2]=d,f=d+(c*12|0)|0,n[s+8>>2]=f,n[s+4>>2]=f,n[s+12>>2]=d+(l*12|0)}function axe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0;f=n[s>>2]|0,B=s+4|0,m=l+4|0,d=(n[B>>2]|0)-f|0,c=(n[m>>2]|0)+(((d|0)/-12|0)*12|0)|0,n[m>>2]=c,(d|0)>0?(vr(c|0,f|0,d|0)|0,f=m,c=n[m>>2]|0):f=m,m=n[s>>2]|0,n[s>>2]=c,n[f>>2]=m,m=l+8|0,d=n[B>>2]|0,n[B>>2]=n[m>>2],n[m>>2]=d,m=s+8|0,B=l+12|0,s=n[m>>2]|0,n[m>>2]=n[B>>2],n[B>>2]=s,n[l>>2]=n[f>>2]}function lxe(s){s=s|0;var l=0,c=0,f=0;l=n[s+4>>2]|0,c=s+8|0,f=n[c>>2]|0,(f|0)!=(l|0)&&(n[c>>2]=f+(~(((f+-12-l|0)>>>0)/12|0)*12|0)),s=n[s>>2]|0,s|0&&ht(s)}function S9(s){s=s|0,Axe(s)}function cxe(s){s=s|0,uxe(s+24|0)}function uxe(s){s=s|0;var l=0,c=0,f=0;c=n[s>>2]|0,f=c,c|0&&(s=s+4|0,l=n[s>>2]|0,(l|0)!=(c|0)&&(n[s>>2]=l+(~(((l+-12-f|0)>>>0)/12|0)*12|0)),ht(c))}function Axe(s){s=s|0;var l=0;l=Wr()|0,Kr(s,2,1,l,fxe()|0,1),n[s+24>>2]=0,n[s+28>>2]=0,n[s+32>>2]=0}function fxe(){return 1224}function pxe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,Q=0;return d=E,E=E+16|0,m=d+8|0,B=d,Q=hxe(s)|0,s=n[Q+4>>2]|0,n[B>>2]=n[Q>>2],n[B+4>>2]=s,n[m>>2]=n[B>>2],n[m+4>>2]=n[B+4>>2],f=+gxe(l,m,c),E=d,+f}function hxe(s){return s=s|0,(n[(qF()|0)+24>>2]|0)+(s*12|0)|0}function gxe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0;return m=E,E=E+16|0,d=m,f=n[l>>2]|0,l=n[l+4>>2]|0,s=s+(l>>1)|0,l&1&&(f=n[(n[s>>2]|0)+f>>2]|0),ZA(d,c),d=$A(d,c)|0,B=+DF(+B7[f&7](s,d)),E=m,+B}function dxe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,Q=0;f=E,E=E+16|0,d=f+8|0,m=f,Q=n[c>>2]|0,B=n[c+4>>2]|0,c=fn(l)|0,n[m>>2]=Q,n[m+4>>2]=B,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],mxe(s,c,d,1),E=f}function mxe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0,m=0,B=0,Q=0,k=0,M=0,O=0;d=E,E=E+32|0,m=d+16|0,O=d+8|0,Q=d,M=n[c>>2]|0,k=n[c+4>>2]|0,B=n[s>>2]|0,s=GF()|0,n[O>>2]=M,n[O+4>>2]=k,n[m>>2]=n[O>>2],n[m+4>>2]=n[O+4>>2],c=yxe(m)|0,n[Q>>2]=M,n[Q+4>>2]=k,n[m>>2]=n[Q>>2],n[m+4>>2]=n[Q+4>>2],pn(B,l,s,c,Exe(m,f)|0,f),E=d}function GF(){var s=0,l=0;if(o[7712]|0||(x9(9556),ve(35,9556,U|0)|0,l=7712,n[l>>2]=1,n[l+4>>2]=0),!(Rr(9556)|0)){s=9556,l=s+36|0;do n[s>>2]=0,s=s+4|0;while((s|0)<(l|0));x9(9556)}return 9556}function yxe(s){return s=s|0,0}function Exe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0,Q=0,k=0,M=0,O=0,q=0;return O=E,E=E+32|0,d=O+24|0,B=O+16|0,Q=O,k=O+8|0,m=n[s>>2]|0,f=n[s+4>>2]|0,n[Q>>2]=m,n[Q+4>>2]=f,q=GF()|0,M=q+24|0,s=hr(l,4)|0,n[k>>2]=s,l=q+28|0,c=n[l>>2]|0,c>>>0<(n[q+32>>2]|0)>>>0?(n[B>>2]=m,n[B+4>>2]=f,n[d>>2]=n[B>>2],n[d+4>>2]=n[B+4>>2],P9(c,d,s),s=(n[l>>2]|0)+12|0,n[l>>2]=s):(wxe(M,Q,k),s=n[l>>2]|0),E=O,((s-(n[M>>2]|0)|0)/12|0)+-1|0}function P9(s,l,c){s=s|0,l=l|0,c=c|0;var f=0;f=n[l+4>>2]|0,n[s>>2]=n[l>>2],n[s+4>>2]=f,n[s+8>>2]=c}function wxe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,Q=0,k=0,M=0,O=0,q=0,se=0;if(M=E,E=E+48|0,f=M+32|0,B=M+24|0,Q=M,k=s+4|0,d=(((n[k>>2]|0)-(n[s>>2]|0)|0)/12|0)+1|0,m=Cxe(s)|0,m>>>0<d>>>0)Vr(s);else{O=n[s>>2]|0,se=((n[s+8>>2]|0)-O|0)/12|0,q=se<<1,Ixe(Q,se>>>0<m>>>1>>>0?q>>>0<d>>>0?d:q:m,((n[k>>2]|0)-O|0)/12|0,s+8|0),k=Q+8|0,m=n[k>>2]|0,d=n[l+4>>2]|0,c=n[c>>2]|0,n[B>>2]=n[l>>2],n[B+4>>2]=d,n[f>>2]=n[B>>2],n[f+4>>2]=n[B+4>>2],P9(m,f,c),n[k>>2]=(n[k>>2]|0)+12,Bxe(s,Q),vxe(Q),E=M;return}}function Cxe(s){return s=s|0,357913941}function Ixe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0;n[s+12>>2]=0,n[s+16>>2]=f;do if(l)if(l>>>0>357913941)Rt();else{d=Kt(l*12|0)|0;break}else d=0;while(0);n[s>>2]=d,f=d+(c*12|0)|0,n[s+8>>2]=f,n[s+4>>2]=f,n[s+12>>2]=d+(l*12|0)}function Bxe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0;f=n[s>>2]|0,B=s+4|0,m=l+4|0,d=(n[B>>2]|0)-f|0,c=(n[m>>2]|0)+(((d|0)/-12|0)*12|0)|0,n[m>>2]=c,(d|0)>0?(vr(c|0,f|0,d|0)|0,f=m,c=n[m>>2]|0):f=m,m=n[s>>2]|0,n[s>>2]=c,n[f>>2]=m,m=l+8|0,d=n[B>>2]|0,n[B>>2]=n[m>>2],n[m>>2]=d,m=s+8|0,B=l+12|0,s=n[m>>2]|0,n[m>>2]=n[B>>2],n[B>>2]=s,n[l>>2]=n[f>>2]}function vxe(s){s=s|0;var l=0,c=0,f=0;l=n[s+4>>2]|0,c=s+8|0,f=n[c>>2]|0,(f|0)!=(l|0)&&(n[c>>2]=f+(~(((f+-12-l|0)>>>0)/12|0)*12|0)),s=n[s>>2]|0,s|0&&ht(s)}function x9(s){s=s|0,Pxe(s)}function Dxe(s){s=s|0,Sxe(s+24|0)}function Sxe(s){s=s|0;var l=0,c=0,f=0;c=n[s>>2]|0,f=c,c|0&&(s=s+4|0,l=n[s>>2]|0,(l|0)!=(c|0)&&(n[s>>2]=l+(~(((l+-12-f|0)>>>0)/12|0)*12|0)),ht(c))}function Pxe(s){s=s|0;var l=0;l=Wr()|0,Kr(s,2,5,l,xxe()|0,0),n[s+24>>2]=0,n[s+28>>2]=0,n[s+32>>2]=0}function xxe(){return 1232}function bxe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0;return f=E,E=E+16|0,d=f+8|0,m=f,B=Qxe(s)|0,s=n[B+4>>2]|0,n[m>>2]=n[B>>2],n[m+4>>2]=s,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],c=+kxe(l,d),E=f,+c}function Qxe(s){return s=s|0,(n[(GF()|0)+24>>2]|0)+(s*12|0)|0}function kxe(s,l){s=s|0,l=l|0;var c=0;return c=n[l>>2]|0,l=n[l+4>>2]|0,s=s+(l>>1)|0,l&1&&(c=n[(n[s>>2]|0)+c>>2]|0),+ +DF(+I7[c&15](s))}function Fxe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,Q=0;f=E,E=E+16|0,d=f+8|0,m=f,Q=n[c>>2]|0,B=n[c+4>>2]|0,c=fn(l)|0,n[m>>2]=Q,n[m+4>>2]=B,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],Rxe(s,c,d,1),E=f}function Rxe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0,m=0,B=0,Q=0,k=0,M=0,O=0;d=E,E=E+32|0,m=d+16|0,O=d+8|0,Q=d,M=n[c>>2]|0,k=n[c+4>>2]|0,B=n[s>>2]|0,s=YF()|0,n[O>>2]=M,n[O+4>>2]=k,n[m>>2]=n[O>>2],n[m+4>>2]=n[O+4>>2],c=Txe(m)|0,n[Q>>2]=M,n[Q+4>>2]=k,n[m>>2]=n[Q>>2],n[m+4>>2]=n[Q+4>>2],pn(B,l,s,c,Nxe(m,f)|0,f),E=d}function YF(){var s=0,l=0;if(o[7720]|0||(Q9(9592),ve(36,9592,U|0)|0,l=7720,n[l>>2]=1,n[l+4>>2]=0),!(Rr(9592)|0)){s=9592,l=s+36|0;do n[s>>2]=0,s=s+4|0;while((s|0)<(l|0));Q9(9592)}return 9592}function Txe(s){return s=s|0,0}function Nxe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0,Q=0,k=0,M=0,O=0,q=0;return O=E,E=E+32|0,d=O+24|0,B=O+16|0,Q=O,k=O+8|0,m=n[s>>2]|0,f=n[s+4>>2]|0,n[Q>>2]=m,n[Q+4>>2]=f,q=YF()|0,M=q+24|0,s=hr(l,4)|0,n[k>>2]=s,l=q+28|0,c=n[l>>2]|0,c>>>0<(n[q+32>>2]|0)>>>0?(n[B>>2]=m,n[B+4>>2]=f,n[d>>2]=n[B>>2],n[d+4>>2]=n[B+4>>2],b9(c,d,s),s=(n[l>>2]|0)+12|0,n[l>>2]=s):(Lxe(M,Q,k),s=n[l>>2]|0),E=O,((s-(n[M>>2]|0)|0)/12|0)+-1|0}function b9(s,l,c){s=s|0,l=l|0,c=c|0;var f=0;f=n[l+4>>2]|0,n[s>>2]=n[l>>2],n[s+4>>2]=f,n[s+8>>2]=c}function Lxe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,Q=0,k=0,M=0,O=0,q=0,se=0;if(M=E,E=E+48|0,f=M+32|0,B=M+24|0,Q=M,k=s+4|0,d=(((n[k>>2]|0)-(n[s>>2]|0)|0)/12|0)+1|0,m=Oxe(s)|0,m>>>0<d>>>0)Vr(s);else{O=n[s>>2]|0,se=((n[s+8>>2]|0)-O|0)/12|0,q=se<<1,Mxe(Q,se>>>0<m>>>1>>>0?q>>>0<d>>>0?d:q:m,((n[k>>2]|0)-O|0)/12|0,s+8|0),k=Q+8|0,m=n[k>>2]|0,d=n[l+4>>2]|0,c=n[c>>2]|0,n[B>>2]=n[l>>2],n[B+4>>2]=d,n[f>>2]=n[B>>2],n[f+4>>2]=n[B+4>>2],b9(m,f,c),n[k>>2]=(n[k>>2]|0)+12,Uxe(s,Q),_xe(Q),E=M;return}}function Oxe(s){return s=s|0,357913941}function Mxe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0;n[s+12>>2]=0,n[s+16>>2]=f;do if(l)if(l>>>0>357913941)Rt();else{d=Kt(l*12|0)|0;break}else d=0;while(0);n[s>>2]=d,f=d+(c*12|0)|0,n[s+8>>2]=f,n[s+4>>2]=f,n[s+12>>2]=d+(l*12|0)}function Uxe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0;f=n[s>>2]|0,B=s+4|0,m=l+4|0,d=(n[B>>2]|0)-f|0,c=(n[m>>2]|0)+(((d|0)/-12|0)*12|0)|0,n[m>>2]=c,(d|0)>0?(vr(c|0,f|0,d|0)|0,f=m,c=n[m>>2]|0):f=m,m=n[s>>2]|0,n[s>>2]=c,n[f>>2]=m,m=l+8|0,d=n[B>>2]|0,n[B>>2]=n[m>>2],n[m>>2]=d,m=s+8|0,B=l+12|0,s=n[m>>2]|0,n[m>>2]=n[B>>2],n[B>>2]=s,n[l>>2]=n[f>>2]}function _xe(s){s=s|0;var l=0,c=0,f=0;l=n[s+4>>2]|0,c=s+8|0,f=n[c>>2]|0,(f|0)!=(l|0)&&(n[c>>2]=f+(~(((f+-12-l|0)>>>0)/12|0)*12|0)),s=n[s>>2]|0,s|0&&ht(s)}function Q9(s){s=s|0,qxe(s)}function Hxe(s){s=s|0,jxe(s+24|0)}function jxe(s){s=s|0;var l=0,c=0,f=0;c=n[s>>2]|0,f=c,c|0&&(s=s+4|0,l=n[s>>2]|0,(l|0)!=(c|0)&&(n[s>>2]=l+(~(((l+-12-f|0)>>>0)/12|0)*12|0)),ht(c))}function qxe(s){s=s|0;var l=0;l=Wr()|0,Kr(s,2,7,l,Gxe()|0,0),n[s+24>>2]=0,n[s+28>>2]=0,n[s+32>>2]=0}function Gxe(){return 1276}function Yxe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0;return c=E,E=E+16|0,f=c+8|0,d=c,m=Wxe(s)|0,s=n[m+4>>2]|0,n[d>>2]=n[m>>2],n[d+4>>2]=s,n[f>>2]=n[d>>2],n[f+4>>2]=n[d+4>>2],l=Kxe(l,f)|0,E=c,l|0}function Wxe(s){return s=s|0,(n[(YF()|0)+24>>2]|0)+(s*12|0)|0}function Kxe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0;return d=E,E=E+16|0,f=d,c=n[l>>2]|0,l=n[l+4>>2]|0,s=s+(l>>1)|0,l&1&&(c=n[(n[s>>2]|0)+c>>2]|0),rf[c&31](f,s),f=k9(f)|0,E=d,f|0}function k9(s){s=s|0;var l=0,c=0,f=0,d=0;return d=E,E=E+32|0,l=d+12|0,c=d,f=xF(F9()|0)|0,f?(bF(l,f),QF(c,l),Jxe(s,c),s=kF(l)|0):s=Vxe(s)|0,E=d,s|0}function F9(){var s=0;return o[7736]|0||(sbe(9640),ve(25,9640,U|0)|0,s=7736,n[s>>2]=1,n[s+4>>2]=0),9640}function Jxe(s,l){s=s|0,l=l|0,$xe(l,s,s+8|0)|0}function Vxe(s){s=s|0;var l=0,c=0,f=0,d=0,m=0,B=0,Q=0;return c=E,E=E+16|0,d=c+4|0,B=c,f=Wa(8)|0,l=f,Q=Kt(16)|0,n[Q>>2]=n[s>>2],n[Q+4>>2]=n[s+4>>2],n[Q+8>>2]=n[s+8>>2],n[Q+12>>2]=n[s+12>>2],m=l+4|0,n[m>>2]=Q,s=Kt(8)|0,m=n[m>>2]|0,n[B>>2]=0,n[d>>2]=n[B>>2],WF(s,m,d),n[f>>2]=s,E=c,l|0}function WF(s,l,c){s=s|0,l=l|0,c=c|0,n[s>>2]=l,c=Kt(16)|0,n[c+4>>2]=0,n[c+8>>2]=0,n[c>>2]=1244,n[c+12>>2]=l,n[s+4>>2]=c}function zxe(s){s=s|0,Vm(s),ht(s)}function Xxe(s){s=s|0,s=n[s+12>>2]|0,s|0&&ht(s)}function Zxe(s){s=s|0,ht(s)}function $xe(s,l,c){return s=s|0,l=l|0,c=c|0,l=ebe(n[s>>2]|0,l,c)|0,c=s+4|0,n[(n[c>>2]|0)+8>>2]=l,n[(n[c>>2]|0)+8>>2]|0}function ebe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0;return f=E,E=E+16|0,d=f,Ka(d),s=ma(s)|0,c=tbe(s,n[l>>2]|0,+w[c>>3])|0,Ja(d),E=f,c|0}function tbe(s,l,c){s=s|0,l=l|0,c=+c;var f=0;return f=Dl(rbe()|0)|0,l=vF(l)|0,dl(0,f|0,s|0,l|0,+ +VA(c))|0}function rbe(){var s=0;return o[7728]|0||(nbe(9628),s=7728,n[s>>2]=1,n[s+4>>2]=0),9628}function nbe(s){s=s|0,Sl(s,ibe()|0,2)}function ibe(){return 1264}function sbe(s){s=s|0,Ip(s)}function obe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,Q=0;f=E,E=E+16|0,d=f+8|0,m=f,Q=n[c>>2]|0,B=n[c+4>>2]|0,c=fn(l)|0,n[m>>2]=Q,n[m+4>>2]=B,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],abe(s,c,d,1),E=f}function abe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0,m=0,B=0,Q=0,k=0,M=0,O=0;d=E,E=E+32|0,m=d+16|0,O=d+8|0,Q=d,M=n[c>>2]|0,k=n[c+4>>2]|0,B=n[s>>2]|0,s=KF()|0,n[O>>2]=M,n[O+4>>2]=k,n[m>>2]=n[O>>2],n[m+4>>2]=n[O+4>>2],c=lbe(m)|0,n[Q>>2]=M,n[Q+4>>2]=k,n[m>>2]=n[Q>>2],n[m+4>>2]=n[Q+4>>2],pn(B,l,s,c,cbe(m,f)|0,f),E=d}function KF(){var s=0,l=0;if(o[7744]|0||(T9(9684),ve(37,9684,U|0)|0,l=7744,n[l>>2]=1,n[l+4>>2]=0),!(Rr(9684)|0)){s=9684,l=s+36|0;do n[s>>2]=0,s=s+4|0;while((s|0)<(l|0));T9(9684)}return 9684}function lbe(s){return s=s|0,0}function cbe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0,Q=0,k=0,M=0,O=0,q=0;return O=E,E=E+32|0,d=O+24|0,B=O+16|0,Q=O,k=O+8|0,m=n[s>>2]|0,f=n[s+4>>2]|0,n[Q>>2]=m,n[Q+4>>2]=f,q=KF()|0,M=q+24|0,s=hr(l,4)|0,n[k>>2]=s,l=q+28|0,c=n[l>>2]|0,c>>>0<(n[q+32>>2]|0)>>>0?(n[B>>2]=m,n[B+4>>2]=f,n[d>>2]=n[B>>2],n[d+4>>2]=n[B+4>>2],R9(c,d,s),s=(n[l>>2]|0)+12|0,n[l>>2]=s):(ube(M,Q,k),s=n[l>>2]|0),E=O,((s-(n[M>>2]|0)|0)/12|0)+-1|0}function R9(s,l,c){s=s|0,l=l|0,c=c|0;var f=0;f=n[l+4>>2]|0,n[s>>2]=n[l>>2],n[s+4>>2]=f,n[s+8>>2]=c}function ube(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,Q=0,k=0,M=0,O=0,q=0,se=0;if(M=E,E=E+48|0,f=M+32|0,B=M+24|0,Q=M,k=s+4|0,d=(((n[k>>2]|0)-(n[s>>2]|0)|0)/12|0)+1|0,m=Abe(s)|0,m>>>0<d>>>0)Vr(s);else{O=n[s>>2]|0,se=((n[s+8>>2]|0)-O|0)/12|0,q=se<<1,fbe(Q,se>>>0<m>>>1>>>0?q>>>0<d>>>0?d:q:m,((n[k>>2]|0)-O|0)/12|0,s+8|0),k=Q+8|0,m=n[k>>2]|0,d=n[l+4>>2]|0,c=n[c>>2]|0,n[B>>2]=n[l>>2],n[B+4>>2]=d,n[f>>2]=n[B>>2],n[f+4>>2]=n[B+4>>2],R9(m,f,c),n[k>>2]=(n[k>>2]|0)+12,pbe(s,Q),hbe(Q),E=M;return}}function Abe(s){return s=s|0,357913941}function fbe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0;n[s+12>>2]=0,n[s+16>>2]=f;do if(l)if(l>>>0>357913941)Rt();else{d=Kt(l*12|0)|0;break}else d=0;while(0);n[s>>2]=d,f=d+(c*12|0)|0,n[s+8>>2]=f,n[s+4>>2]=f,n[s+12>>2]=d+(l*12|0)}function pbe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0;f=n[s>>2]|0,B=s+4|0,m=l+4|0,d=(n[B>>2]|0)-f|0,c=(n[m>>2]|0)+(((d|0)/-12|0)*12|0)|0,n[m>>2]=c,(d|0)>0?(vr(c|0,f|0,d|0)|0,f=m,c=n[m>>2]|0):f=m,m=n[s>>2]|0,n[s>>2]=c,n[f>>2]=m,m=l+8|0,d=n[B>>2]|0,n[B>>2]=n[m>>2],n[m>>2]=d,m=s+8|0,B=l+12|0,s=n[m>>2]|0,n[m>>2]=n[B>>2],n[B>>2]=s,n[l>>2]=n[f>>2]}function hbe(s){s=s|0;var l=0,c=0,f=0;l=n[s+4>>2]|0,c=s+8|0,f=n[c>>2]|0,(f|0)!=(l|0)&&(n[c>>2]=f+(~(((f+-12-l|0)>>>0)/12|0)*12|0)),s=n[s>>2]|0,s|0&&ht(s)}function T9(s){s=s|0,mbe(s)}function gbe(s){s=s|0,dbe(s+24|0)}function dbe(s){s=s|0;var l=0,c=0,f=0;c=n[s>>2]|0,f=c,c|0&&(s=s+4|0,l=n[s>>2]|0,(l|0)!=(c|0)&&(n[s>>2]=l+(~(((l+-12-f|0)>>>0)/12|0)*12|0)),ht(c))}function mbe(s){s=s|0;var l=0;l=Wr()|0,Kr(s,2,5,l,ybe()|0,1),n[s+24>>2]=0,n[s+28>>2]=0,n[s+32>>2]=0}function ybe(){return 1280}function Ebe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0;return f=E,E=E+16|0,d=f+8|0,m=f,B=wbe(s)|0,s=n[B+4>>2]|0,n[m>>2]=n[B>>2],n[m+4>>2]=s,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],c=Cbe(l,d,c)|0,E=f,c|0}function wbe(s){return s=s|0,(n[(KF()|0)+24>>2]|0)+(s*12|0)|0}function Cbe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0;return B=E,E=E+32|0,d=B,m=B+16|0,f=n[l>>2]|0,l=n[l+4>>2]|0,s=s+(l>>1)|0,l&1&&(f=n[(n[s>>2]|0)+f>>2]|0),ZA(m,c),m=$A(m,c)|0,UC[f&15](d,s,m),m=k9(d)|0,E=B,m|0}function Ibe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,Q=0;f=E,E=E+16|0,d=f+8|0,m=f,Q=n[c>>2]|0,B=n[c+4>>2]|0,c=fn(l)|0,n[m>>2]=Q,n[m+4>>2]=B,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],Bbe(s,c,d,1),E=f}function Bbe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0,m=0,B=0,Q=0,k=0,M=0,O=0;d=E,E=E+32|0,m=d+16|0,O=d+8|0,Q=d,M=n[c>>2]|0,k=n[c+4>>2]|0,B=n[s>>2]|0,s=JF()|0,n[O>>2]=M,n[O+4>>2]=k,n[m>>2]=n[O>>2],n[m+4>>2]=n[O+4>>2],c=vbe(m)|0,n[Q>>2]=M,n[Q+4>>2]=k,n[m>>2]=n[Q>>2],n[m+4>>2]=n[Q+4>>2],pn(B,l,s,c,Dbe(m,f)|0,f),E=d}function JF(){var s=0,l=0;if(o[7752]|0||(L9(9720),ve(38,9720,U|0)|0,l=7752,n[l>>2]=1,n[l+4>>2]=0),!(Rr(9720)|0)){s=9720,l=s+36|0;do n[s>>2]=0,s=s+4|0;while((s|0)<(l|0));L9(9720)}return 9720}function vbe(s){return s=s|0,0}function Dbe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0,Q=0,k=0,M=0,O=0,q=0;return O=E,E=E+32|0,d=O+24|0,B=O+16|0,Q=O,k=O+8|0,m=n[s>>2]|0,f=n[s+4>>2]|0,n[Q>>2]=m,n[Q+4>>2]=f,q=JF()|0,M=q+24|0,s=hr(l,4)|0,n[k>>2]=s,l=q+28|0,c=n[l>>2]|0,c>>>0<(n[q+32>>2]|0)>>>0?(n[B>>2]=m,n[B+4>>2]=f,n[d>>2]=n[B>>2],n[d+4>>2]=n[B+4>>2],N9(c,d,s),s=(n[l>>2]|0)+12|0,n[l>>2]=s):(Sbe(M,Q,k),s=n[l>>2]|0),E=O,((s-(n[M>>2]|0)|0)/12|0)+-1|0}function N9(s,l,c){s=s|0,l=l|0,c=c|0;var f=0;f=n[l+4>>2]|0,n[s>>2]=n[l>>2],n[s+4>>2]=f,n[s+8>>2]=c}function Sbe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,Q=0,k=0,M=0,O=0,q=0,se=0;if(M=E,E=E+48|0,f=M+32|0,B=M+24|0,Q=M,k=s+4|0,d=(((n[k>>2]|0)-(n[s>>2]|0)|0)/12|0)+1|0,m=Pbe(s)|0,m>>>0<d>>>0)Vr(s);else{O=n[s>>2]|0,se=((n[s+8>>2]|0)-O|0)/12|0,q=se<<1,xbe(Q,se>>>0<m>>>1>>>0?q>>>0<d>>>0?d:q:m,((n[k>>2]|0)-O|0)/12|0,s+8|0),k=Q+8|0,m=n[k>>2]|0,d=n[l+4>>2]|0,c=n[c>>2]|0,n[B>>2]=n[l>>2],n[B+4>>2]=d,n[f>>2]=n[B>>2],n[f+4>>2]=n[B+4>>2],N9(m,f,c),n[k>>2]=(n[k>>2]|0)+12,bbe(s,Q),Qbe(Q),E=M;return}}function Pbe(s){return s=s|0,357913941}function xbe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0;n[s+12>>2]=0,n[s+16>>2]=f;do if(l)if(l>>>0>357913941)Rt();else{d=Kt(l*12|0)|0;break}else d=0;while(0);n[s>>2]=d,f=d+(c*12|0)|0,n[s+8>>2]=f,n[s+4>>2]=f,n[s+12>>2]=d+(l*12|0)}function bbe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0;f=n[s>>2]|0,B=s+4|0,m=l+4|0,d=(n[B>>2]|0)-f|0,c=(n[m>>2]|0)+(((d|0)/-12|0)*12|0)|0,n[m>>2]=c,(d|0)>0?(vr(c|0,f|0,d|0)|0,f=m,c=n[m>>2]|0):f=m,m=n[s>>2]|0,n[s>>2]=c,n[f>>2]=m,m=l+8|0,d=n[B>>2]|0,n[B>>2]=n[m>>2],n[m>>2]=d,m=s+8|0,B=l+12|0,s=n[m>>2]|0,n[m>>2]=n[B>>2],n[B>>2]=s,n[l>>2]=n[f>>2]}function Qbe(s){s=s|0;var l=0,c=0,f=0;l=n[s+4>>2]|0,c=s+8|0,f=n[c>>2]|0,(f|0)!=(l|0)&&(n[c>>2]=f+(~(((f+-12-l|0)>>>0)/12|0)*12|0)),s=n[s>>2]|0,s|0&&ht(s)}function L9(s){s=s|0,Rbe(s)}function kbe(s){s=s|0,Fbe(s+24|0)}function Fbe(s){s=s|0;var l=0,c=0,f=0;c=n[s>>2]|0,f=c,c|0&&(s=s+4|0,l=n[s>>2]|0,(l|0)!=(c|0)&&(n[s>>2]=l+(~(((l+-12-f|0)>>>0)/12|0)*12|0)),ht(c))}function Rbe(s){s=s|0;var l=0;l=Wr()|0,Kr(s,2,8,l,Tbe()|0,0),n[s+24>>2]=0,n[s+28>>2]=0,n[s+32>>2]=0}function Tbe(){return 1288}function Nbe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0;return c=E,E=E+16|0,f=c+8|0,d=c,m=Lbe(s)|0,s=n[m+4>>2]|0,n[d>>2]=n[m>>2],n[d+4>>2]=s,n[f>>2]=n[d>>2],n[f+4>>2]=n[d+4>>2],l=Obe(l,f)|0,E=c,l|0}function Lbe(s){return s=s|0,(n[(JF()|0)+24>>2]|0)+(s*12|0)|0}function Obe(s,l){s=s|0,l=l|0;var c=0;return c=n[l>>2]|0,l=n[l+4>>2]|0,s=s+(l>>1)|0,l&1&&(c=n[(n[s>>2]|0)+c>>2]|0),XG(Tg[c&31](s)|0)|0}function Mbe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,Q=0;f=E,E=E+16|0,d=f+8|0,m=f,Q=n[c>>2]|0,B=n[c+4>>2]|0,c=fn(l)|0,n[m>>2]=Q,n[m+4>>2]=B,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],Ube(s,c,d,0),E=f}function Ube(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0,m=0,B=0,Q=0,k=0,M=0,O=0;d=E,E=E+32|0,m=d+16|0,O=d+8|0,Q=d,M=n[c>>2]|0,k=n[c+4>>2]|0,B=n[s>>2]|0,s=VF()|0,n[O>>2]=M,n[O+4>>2]=k,n[m>>2]=n[O>>2],n[m+4>>2]=n[O+4>>2],c=_be(m)|0,n[Q>>2]=M,n[Q+4>>2]=k,n[m>>2]=n[Q>>2],n[m+4>>2]=n[Q+4>>2],pn(B,l,s,c,Hbe(m,f)|0,f),E=d}function VF(){var s=0,l=0;if(o[7760]|0||(M9(9756),ve(39,9756,U|0)|0,l=7760,n[l>>2]=1,n[l+4>>2]=0),!(Rr(9756)|0)){s=9756,l=s+36|0;do n[s>>2]=0,s=s+4|0;while((s|0)<(l|0));M9(9756)}return 9756}function _be(s){return s=s|0,0}function Hbe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0,Q=0,k=0,M=0,O=0,q=0;return O=E,E=E+32|0,d=O+24|0,B=O+16|0,Q=O,k=O+8|0,m=n[s>>2]|0,f=n[s+4>>2]|0,n[Q>>2]=m,n[Q+4>>2]=f,q=VF()|0,M=q+24|0,s=hr(l,4)|0,n[k>>2]=s,l=q+28|0,c=n[l>>2]|0,c>>>0<(n[q+32>>2]|0)>>>0?(n[B>>2]=m,n[B+4>>2]=f,n[d>>2]=n[B>>2],n[d+4>>2]=n[B+4>>2],O9(c,d,s),s=(n[l>>2]|0)+12|0,n[l>>2]=s):(jbe(M,Q,k),s=n[l>>2]|0),E=O,((s-(n[M>>2]|0)|0)/12|0)+-1|0}function O9(s,l,c){s=s|0,l=l|0,c=c|0;var f=0;f=n[l+4>>2]|0,n[s>>2]=n[l>>2],n[s+4>>2]=f,n[s+8>>2]=c}function jbe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,Q=0,k=0,M=0,O=0,q=0,se=0;if(M=E,E=E+48|0,f=M+32|0,B=M+24|0,Q=M,k=s+4|0,d=(((n[k>>2]|0)-(n[s>>2]|0)|0)/12|0)+1|0,m=qbe(s)|0,m>>>0<d>>>0)Vr(s);else{O=n[s>>2]|0,se=((n[s+8>>2]|0)-O|0)/12|0,q=se<<1,Gbe(Q,se>>>0<m>>>1>>>0?q>>>0<d>>>0?d:q:m,((n[k>>2]|0)-O|0)/12|0,s+8|0),k=Q+8|0,m=n[k>>2]|0,d=n[l+4>>2]|0,c=n[c>>2]|0,n[B>>2]=n[l>>2],n[B+4>>2]=d,n[f>>2]=n[B>>2],n[f+4>>2]=n[B+4>>2],O9(m,f,c),n[k>>2]=(n[k>>2]|0)+12,Ybe(s,Q),Wbe(Q),E=M;return}}function qbe(s){return s=s|0,357913941}function Gbe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0;n[s+12>>2]=0,n[s+16>>2]=f;do if(l)if(l>>>0>357913941)Rt();else{d=Kt(l*12|0)|0;break}else d=0;while(0);n[s>>2]=d,f=d+(c*12|0)|0,n[s+8>>2]=f,n[s+4>>2]=f,n[s+12>>2]=d+(l*12|0)}function Ybe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0;f=n[s>>2]|0,B=s+4|0,m=l+4|0,d=(n[B>>2]|0)-f|0,c=(n[m>>2]|0)+(((d|0)/-12|0)*12|0)|0,n[m>>2]=c,(d|0)>0?(vr(c|0,f|0,d|0)|0,f=m,c=n[m>>2]|0):f=m,m=n[s>>2]|0,n[s>>2]=c,n[f>>2]=m,m=l+8|0,d=n[B>>2]|0,n[B>>2]=n[m>>2],n[m>>2]=d,m=s+8|0,B=l+12|0,s=n[m>>2]|0,n[m>>2]=n[B>>2],n[B>>2]=s,n[l>>2]=n[f>>2]}function Wbe(s){s=s|0;var l=0,c=0,f=0;l=n[s+4>>2]|0,c=s+8|0,f=n[c>>2]|0,(f|0)!=(l|0)&&(n[c>>2]=f+(~(((f+-12-l|0)>>>0)/12|0)*12|0)),s=n[s>>2]|0,s|0&&ht(s)}function M9(s){s=s|0,Vbe(s)}function Kbe(s){s=s|0,Jbe(s+24|0)}function Jbe(s){s=s|0;var l=0,c=0,f=0;c=n[s>>2]|0,f=c,c|0&&(s=s+4|0,l=n[s>>2]|0,(l|0)!=(c|0)&&(n[s>>2]=l+(~(((l+-12-f|0)>>>0)/12|0)*12|0)),ht(c))}function Vbe(s){s=s|0;var l=0;l=Wr()|0,Kr(s,2,8,l,zbe()|0,1),n[s+24>>2]=0,n[s+28>>2]=0,n[s+32>>2]=0}function zbe(){return 1292}function Xbe(s,l,c){s=s|0,l=l|0,c=+c;var f=0,d=0,m=0,B=0;f=E,E=E+16|0,d=f+8|0,m=f,B=Zbe(s)|0,s=n[B+4>>2]|0,n[m>>2]=n[B>>2],n[m+4>>2]=s,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],$be(l,d,c),E=f}function Zbe(s){return s=s|0,(n[(VF()|0)+24>>2]|0)+(s*12|0)|0}function $be(s,l,c){s=s|0,l=l|0,c=+c;var f=0,d=0,m=0;m=E,E=E+16|0,d=m,f=n[l>>2]|0,l=n[l+4>>2]|0,s=s+(l>>1)|0,l&1&&(f=n[(n[s>>2]|0)+f>>2]|0),Fu(d,c),c=+Ru(d,c),E7[f&31](s,c),E=m}function eQe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,Q=0;f=E,E=E+16|0,d=f+8|0,m=f,Q=n[c>>2]|0,B=n[c+4>>2]|0,c=fn(l)|0,n[m>>2]=Q,n[m+4>>2]=B,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],tQe(s,c,d,0),E=f}function tQe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0,m=0,B=0,Q=0,k=0,M=0,O=0;d=E,E=E+32|0,m=d+16|0,O=d+8|0,Q=d,M=n[c>>2]|0,k=n[c+4>>2]|0,B=n[s>>2]|0,s=zF()|0,n[O>>2]=M,n[O+4>>2]=k,n[m>>2]=n[O>>2],n[m+4>>2]=n[O+4>>2],c=rQe(m)|0,n[Q>>2]=M,n[Q+4>>2]=k,n[m>>2]=n[Q>>2],n[m+4>>2]=n[Q+4>>2],pn(B,l,s,c,nQe(m,f)|0,f),E=d}function zF(){var s=0,l=0;if(o[7768]|0||(_9(9792),ve(40,9792,U|0)|0,l=7768,n[l>>2]=1,n[l+4>>2]=0),!(Rr(9792)|0)){s=9792,l=s+36|0;do n[s>>2]=0,s=s+4|0;while((s|0)<(l|0));_9(9792)}return 9792}function rQe(s){return s=s|0,0}function nQe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0,Q=0,k=0,M=0,O=0,q=0;return O=E,E=E+32|0,d=O+24|0,B=O+16|0,Q=O,k=O+8|0,m=n[s>>2]|0,f=n[s+4>>2]|0,n[Q>>2]=m,n[Q+4>>2]=f,q=zF()|0,M=q+24|0,s=hr(l,4)|0,n[k>>2]=s,l=q+28|0,c=n[l>>2]|0,c>>>0<(n[q+32>>2]|0)>>>0?(n[B>>2]=m,n[B+4>>2]=f,n[d>>2]=n[B>>2],n[d+4>>2]=n[B+4>>2],U9(c,d,s),s=(n[l>>2]|0)+12|0,n[l>>2]=s):(iQe(M,Q,k),s=n[l>>2]|0),E=O,((s-(n[M>>2]|0)|0)/12|0)+-1|0}function U9(s,l,c){s=s|0,l=l|0,c=c|0;var f=0;f=n[l+4>>2]|0,n[s>>2]=n[l>>2],n[s+4>>2]=f,n[s+8>>2]=c}function iQe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,Q=0,k=0,M=0,O=0,q=0,se=0;if(M=E,E=E+48|0,f=M+32|0,B=M+24|0,Q=M,k=s+4|0,d=(((n[k>>2]|0)-(n[s>>2]|0)|0)/12|0)+1|0,m=sQe(s)|0,m>>>0<d>>>0)Vr(s);else{O=n[s>>2]|0,se=((n[s+8>>2]|0)-O|0)/12|0,q=se<<1,oQe(Q,se>>>0<m>>>1>>>0?q>>>0<d>>>0?d:q:m,((n[k>>2]|0)-O|0)/12|0,s+8|0),k=Q+8|0,m=n[k>>2]|0,d=n[l+4>>2]|0,c=n[c>>2]|0,n[B>>2]=n[l>>2],n[B+4>>2]=d,n[f>>2]=n[B>>2],n[f+4>>2]=n[B+4>>2],U9(m,f,c),n[k>>2]=(n[k>>2]|0)+12,aQe(s,Q),lQe(Q),E=M;return}}function sQe(s){return s=s|0,357913941}function oQe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0;n[s+12>>2]=0,n[s+16>>2]=f;do if(l)if(l>>>0>357913941)Rt();else{d=Kt(l*12|0)|0;break}else d=0;while(0);n[s>>2]=d,f=d+(c*12|0)|0,n[s+8>>2]=f,n[s+4>>2]=f,n[s+12>>2]=d+(l*12|0)}function aQe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0;f=n[s>>2]|0,B=s+4|0,m=l+4|0,d=(n[B>>2]|0)-f|0,c=(n[m>>2]|0)+(((d|0)/-12|0)*12|0)|0,n[m>>2]=c,(d|0)>0?(vr(c|0,f|0,d|0)|0,f=m,c=n[m>>2]|0):f=m,m=n[s>>2]|0,n[s>>2]=c,n[f>>2]=m,m=l+8|0,d=n[B>>2]|0,n[B>>2]=n[m>>2],n[m>>2]=d,m=s+8|0,B=l+12|0,s=n[m>>2]|0,n[m>>2]=n[B>>2],n[B>>2]=s,n[l>>2]=n[f>>2]}function lQe(s){s=s|0;var l=0,c=0,f=0;l=n[s+4>>2]|0,c=s+8|0,f=n[c>>2]|0,(f|0)!=(l|0)&&(n[c>>2]=f+(~(((f+-12-l|0)>>>0)/12|0)*12|0)),s=n[s>>2]|0,s|0&&ht(s)}function _9(s){s=s|0,AQe(s)}function cQe(s){s=s|0,uQe(s+24|0)}function uQe(s){s=s|0;var l=0,c=0,f=0;c=n[s>>2]|0,f=c,c|0&&(s=s+4|0,l=n[s>>2]|0,(l|0)!=(c|0)&&(n[s>>2]=l+(~(((l+-12-f|0)>>>0)/12|0)*12|0)),ht(c))}function AQe(s){s=s|0;var l=0;l=Wr()|0,Kr(s,2,1,l,fQe()|0,2),n[s+24>>2]=0,n[s+28>>2]=0,n[s+32>>2]=0}function fQe(){return 1300}function pQe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=+f;var d=0,m=0,B=0,Q=0;d=E,E=E+16|0,m=d+8|0,B=d,Q=hQe(s)|0,s=n[Q+4>>2]|0,n[B>>2]=n[Q>>2],n[B+4>>2]=s,n[m>>2]=n[B>>2],n[m+4>>2]=n[B+4>>2],gQe(l,m,c,f),E=d}function hQe(s){return s=s|0,(n[(zF()|0)+24>>2]|0)+(s*12|0)|0}function gQe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=+f;var d=0,m=0,B=0,Q=0;Q=E,E=E+16|0,m=Q+1|0,B=Q,d=n[l>>2]|0,l=n[l+4>>2]|0,s=s+(l>>1)|0,l&1&&(d=n[(n[s>>2]|0)+d>>2]|0),ZA(m,c),m=$A(m,c)|0,Fu(B,f),f=+Ru(B,f),P7[d&15](s,m,f),E=Q}function dQe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,Q=0;f=E,E=E+16|0,d=f+8|0,m=f,Q=n[c>>2]|0,B=n[c+4>>2]|0,c=fn(l)|0,n[m>>2]=Q,n[m+4>>2]=B,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],mQe(s,c,d,0),E=f}function mQe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0,m=0,B=0,Q=0,k=0,M=0,O=0;d=E,E=E+32|0,m=d+16|0,O=d+8|0,Q=d,M=n[c>>2]|0,k=n[c+4>>2]|0,B=n[s>>2]|0,s=XF()|0,n[O>>2]=M,n[O+4>>2]=k,n[m>>2]=n[O>>2],n[m+4>>2]=n[O+4>>2],c=yQe(m)|0,n[Q>>2]=M,n[Q+4>>2]=k,n[m>>2]=n[Q>>2],n[m+4>>2]=n[Q+4>>2],pn(B,l,s,c,EQe(m,f)|0,f),E=d}function XF(){var s=0,l=0;if(o[7776]|0||(j9(9828),ve(41,9828,U|0)|0,l=7776,n[l>>2]=1,n[l+4>>2]=0),!(Rr(9828)|0)){s=9828,l=s+36|0;do n[s>>2]=0,s=s+4|0;while((s|0)<(l|0));j9(9828)}return 9828}function yQe(s){return s=s|0,0}function EQe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0,Q=0,k=0,M=0,O=0,q=0;return O=E,E=E+32|0,d=O+24|0,B=O+16|0,Q=O,k=O+8|0,m=n[s>>2]|0,f=n[s+4>>2]|0,n[Q>>2]=m,n[Q+4>>2]=f,q=XF()|0,M=q+24|0,s=hr(l,4)|0,n[k>>2]=s,l=q+28|0,c=n[l>>2]|0,c>>>0<(n[q+32>>2]|0)>>>0?(n[B>>2]=m,n[B+4>>2]=f,n[d>>2]=n[B>>2],n[d+4>>2]=n[B+4>>2],H9(c,d,s),s=(n[l>>2]|0)+12|0,n[l>>2]=s):(wQe(M,Q,k),s=n[l>>2]|0),E=O,((s-(n[M>>2]|0)|0)/12|0)+-1|0}function H9(s,l,c){s=s|0,l=l|0,c=c|0;var f=0;f=n[l+4>>2]|0,n[s>>2]=n[l>>2],n[s+4>>2]=f,n[s+8>>2]=c}function wQe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,Q=0,k=0,M=0,O=0,q=0,se=0;if(M=E,E=E+48|0,f=M+32|0,B=M+24|0,Q=M,k=s+4|0,d=(((n[k>>2]|0)-(n[s>>2]|0)|0)/12|0)+1|0,m=CQe(s)|0,m>>>0<d>>>0)Vr(s);else{O=n[s>>2]|0,se=((n[s+8>>2]|0)-O|0)/12|0,q=se<<1,IQe(Q,se>>>0<m>>>1>>>0?q>>>0<d>>>0?d:q:m,((n[k>>2]|0)-O|0)/12|0,s+8|0),k=Q+8|0,m=n[k>>2]|0,d=n[l+4>>2]|0,c=n[c>>2]|0,n[B>>2]=n[l>>2],n[B+4>>2]=d,n[f>>2]=n[B>>2],n[f+4>>2]=n[B+4>>2],H9(m,f,c),n[k>>2]=(n[k>>2]|0)+12,BQe(s,Q),vQe(Q),E=M;return}}function CQe(s){return s=s|0,357913941}function IQe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0;n[s+12>>2]=0,n[s+16>>2]=f;do if(l)if(l>>>0>357913941)Rt();else{d=Kt(l*12|0)|0;break}else d=0;while(0);n[s>>2]=d,f=d+(c*12|0)|0,n[s+8>>2]=f,n[s+4>>2]=f,n[s+12>>2]=d+(l*12|0)}function BQe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0;f=n[s>>2]|0,B=s+4|0,m=l+4|0,d=(n[B>>2]|0)-f|0,c=(n[m>>2]|0)+(((d|0)/-12|0)*12|0)|0,n[m>>2]=c,(d|0)>0?(vr(c|0,f|0,d|0)|0,f=m,c=n[m>>2]|0):f=m,m=n[s>>2]|0,n[s>>2]=c,n[f>>2]=m,m=l+8|0,d=n[B>>2]|0,n[B>>2]=n[m>>2],n[m>>2]=d,m=s+8|0,B=l+12|0,s=n[m>>2]|0,n[m>>2]=n[B>>2],n[B>>2]=s,n[l>>2]=n[f>>2]}function vQe(s){s=s|0;var l=0,c=0,f=0;l=n[s+4>>2]|0,c=s+8|0,f=n[c>>2]|0,(f|0)!=(l|0)&&(n[c>>2]=f+(~(((f+-12-l|0)>>>0)/12|0)*12|0)),s=n[s>>2]|0,s|0&&ht(s)}function j9(s){s=s|0,PQe(s)}function DQe(s){s=s|0,SQe(s+24|0)}function SQe(s){s=s|0;var l=0,c=0,f=0;c=n[s>>2]|0,f=c,c|0&&(s=s+4|0,l=n[s>>2]|0,(l|0)!=(c|0)&&(n[s>>2]=l+(~(((l+-12-f|0)>>>0)/12|0)*12|0)),ht(c))}function PQe(s){s=s|0;var l=0;l=Wr()|0,Kr(s,2,7,l,xQe()|0,1),n[s+24>>2]=0,n[s+28>>2]=0,n[s+32>>2]=0}function xQe(){return 1312}function bQe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0;f=E,E=E+16|0,d=f+8|0,m=f,B=QQe(s)|0,s=n[B+4>>2]|0,n[m>>2]=n[B>>2],n[m+4>>2]=s,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],kQe(l,d,c),E=f}function QQe(s){return s=s|0,(n[(XF()|0)+24>>2]|0)+(s*12|0)|0}function kQe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0;m=E,E=E+16|0,d=m,f=n[l>>2]|0,l=n[l+4>>2]|0,s=s+(l>>1)|0,l&1&&(f=n[(n[s>>2]|0)+f>>2]|0),ZA(d,c),d=$A(d,c)|0,rf[f&31](s,d),E=m}function FQe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,Q=0;f=E,E=E+16|0,d=f+8|0,m=f,Q=n[c>>2]|0,B=n[c+4>>2]|0,c=fn(l)|0,n[m>>2]=Q,n[m+4>>2]=B,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],RQe(s,c,d,0),E=f}function RQe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0,m=0,B=0,Q=0,k=0,M=0,O=0;d=E,E=E+32|0,m=d+16|0,O=d+8|0,Q=d,M=n[c>>2]|0,k=n[c+4>>2]|0,B=n[s>>2]|0,s=ZF()|0,n[O>>2]=M,n[O+4>>2]=k,n[m>>2]=n[O>>2],n[m+4>>2]=n[O+4>>2],c=TQe(m)|0,n[Q>>2]=M,n[Q+4>>2]=k,n[m>>2]=n[Q>>2],n[m+4>>2]=n[Q+4>>2],pn(B,l,s,c,NQe(m,f)|0,f),E=d}function ZF(){var s=0,l=0;if(o[7784]|0||(G9(9864),ve(42,9864,U|0)|0,l=7784,n[l>>2]=1,n[l+4>>2]=0),!(Rr(9864)|0)){s=9864,l=s+36|0;do n[s>>2]=0,s=s+4|0;while((s|0)<(l|0));G9(9864)}return 9864}function TQe(s){return s=s|0,0}function NQe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0,Q=0,k=0,M=0,O=0,q=0;return O=E,E=E+32|0,d=O+24|0,B=O+16|0,Q=O,k=O+8|0,m=n[s>>2]|0,f=n[s+4>>2]|0,n[Q>>2]=m,n[Q+4>>2]=f,q=ZF()|0,M=q+24|0,s=hr(l,4)|0,n[k>>2]=s,l=q+28|0,c=n[l>>2]|0,c>>>0<(n[q+32>>2]|0)>>>0?(n[B>>2]=m,n[B+4>>2]=f,n[d>>2]=n[B>>2],n[d+4>>2]=n[B+4>>2],q9(c,d,s),s=(n[l>>2]|0)+12|0,n[l>>2]=s):(LQe(M,Q,k),s=n[l>>2]|0),E=O,((s-(n[M>>2]|0)|0)/12|0)+-1|0}function q9(s,l,c){s=s|0,l=l|0,c=c|0;var f=0;f=n[l+4>>2]|0,n[s>>2]=n[l>>2],n[s+4>>2]=f,n[s+8>>2]=c}function LQe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,Q=0,k=0,M=0,O=0,q=0,se=0;if(M=E,E=E+48|0,f=M+32|0,B=M+24|0,Q=M,k=s+4|0,d=(((n[k>>2]|0)-(n[s>>2]|0)|0)/12|0)+1|0,m=OQe(s)|0,m>>>0<d>>>0)Vr(s);else{O=n[s>>2]|0,se=((n[s+8>>2]|0)-O|0)/12|0,q=se<<1,MQe(Q,se>>>0<m>>>1>>>0?q>>>0<d>>>0?d:q:m,((n[k>>2]|0)-O|0)/12|0,s+8|0),k=Q+8|0,m=n[k>>2]|0,d=n[l+4>>2]|0,c=n[c>>2]|0,n[B>>2]=n[l>>2],n[B+4>>2]=d,n[f>>2]=n[B>>2],n[f+4>>2]=n[B+4>>2],q9(m,f,c),n[k>>2]=(n[k>>2]|0)+12,UQe(s,Q),_Qe(Q),E=M;return}}function OQe(s){return s=s|0,357913941}function MQe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0;n[s+12>>2]=0,n[s+16>>2]=f;do if(l)if(l>>>0>357913941)Rt();else{d=Kt(l*12|0)|0;break}else d=0;while(0);n[s>>2]=d,f=d+(c*12|0)|0,n[s+8>>2]=f,n[s+4>>2]=f,n[s+12>>2]=d+(l*12|0)}function UQe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0;f=n[s>>2]|0,B=s+4|0,m=l+4|0,d=(n[B>>2]|0)-f|0,c=(n[m>>2]|0)+(((d|0)/-12|0)*12|0)|0,n[m>>2]=c,(d|0)>0?(vr(c|0,f|0,d|0)|0,f=m,c=n[m>>2]|0):f=m,m=n[s>>2]|0,n[s>>2]=c,n[f>>2]=m,m=l+8|0,d=n[B>>2]|0,n[B>>2]=n[m>>2],n[m>>2]=d,m=s+8|0,B=l+12|0,s=n[m>>2]|0,n[m>>2]=n[B>>2],n[B>>2]=s,n[l>>2]=n[f>>2]}function _Qe(s){s=s|0;var l=0,c=0,f=0;l=n[s+4>>2]|0,c=s+8|0,f=n[c>>2]|0,(f|0)!=(l|0)&&(n[c>>2]=f+(~(((f+-12-l|0)>>>0)/12|0)*12|0)),s=n[s>>2]|0,s|0&&ht(s)}function G9(s){s=s|0,qQe(s)}function HQe(s){s=s|0,jQe(s+24|0)}function jQe(s){s=s|0;var l=0,c=0,f=0;c=n[s>>2]|0,f=c,c|0&&(s=s+4|0,l=n[s>>2]|0,(l|0)!=(c|0)&&(n[s>>2]=l+(~(((l+-12-f|0)>>>0)/12|0)*12|0)),ht(c))}function qQe(s){s=s|0;var l=0;l=Wr()|0,Kr(s,2,8,l,GQe()|0,1),n[s+24>>2]=0,n[s+28>>2]=0,n[s+32>>2]=0}function GQe(){return 1320}function YQe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0;f=E,E=E+16|0,d=f+8|0,m=f,B=WQe(s)|0,s=n[B+4>>2]|0,n[m>>2]=n[B>>2],n[m+4>>2]=s,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],KQe(l,d,c),E=f}function WQe(s){return s=s|0,(n[(ZF()|0)+24>>2]|0)+(s*12|0)|0}function KQe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0;m=E,E=E+16|0,d=m,f=n[l>>2]|0,l=n[l+4>>2]|0,s=s+(l>>1)|0,l&1&&(f=n[(n[s>>2]|0)+f>>2]|0),JQe(d,c),d=VQe(d,c)|0,rf[f&31](s,d),E=m}function JQe(s,l){s=s|0,l=l|0}function VQe(s,l){return s=s|0,l=l|0,zQe(l)|0}function zQe(s){return s=s|0,s|0}function XQe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,Q=0;f=E,E=E+16|0,d=f+8|0,m=f,Q=n[c>>2]|0,B=n[c+4>>2]|0,c=fn(l)|0,n[m>>2]=Q,n[m+4>>2]=B,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],ZQe(s,c,d,0),E=f}function ZQe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0,m=0,B=0,Q=0,k=0,M=0,O=0;d=E,E=E+32|0,m=d+16|0,O=d+8|0,Q=d,M=n[c>>2]|0,k=n[c+4>>2]|0,B=n[s>>2]|0,s=$F()|0,n[O>>2]=M,n[O+4>>2]=k,n[m>>2]=n[O>>2],n[m+4>>2]=n[O+4>>2],c=$Qe(m)|0,n[Q>>2]=M,n[Q+4>>2]=k,n[m>>2]=n[Q>>2],n[m+4>>2]=n[Q+4>>2],pn(B,l,s,c,eke(m,f)|0,f),E=d}function $F(){var s=0,l=0;if(o[7792]|0||(W9(9900),ve(43,9900,U|0)|0,l=7792,n[l>>2]=1,n[l+4>>2]=0),!(Rr(9900)|0)){s=9900,l=s+36|0;do n[s>>2]=0,s=s+4|0;while((s|0)<(l|0));W9(9900)}return 9900}function $Qe(s){return s=s|0,0}function eke(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0,Q=0,k=0,M=0,O=0,q=0;return O=E,E=E+32|0,d=O+24|0,B=O+16|0,Q=O,k=O+8|0,m=n[s>>2]|0,f=n[s+4>>2]|0,n[Q>>2]=m,n[Q+4>>2]=f,q=$F()|0,M=q+24|0,s=hr(l,4)|0,n[k>>2]=s,l=q+28|0,c=n[l>>2]|0,c>>>0<(n[q+32>>2]|0)>>>0?(n[B>>2]=m,n[B+4>>2]=f,n[d>>2]=n[B>>2],n[d+4>>2]=n[B+4>>2],Y9(c,d,s),s=(n[l>>2]|0)+12|0,n[l>>2]=s):(tke(M,Q,k),s=n[l>>2]|0),E=O,((s-(n[M>>2]|0)|0)/12|0)+-1|0}function Y9(s,l,c){s=s|0,l=l|0,c=c|0;var f=0;f=n[l+4>>2]|0,n[s>>2]=n[l>>2],n[s+4>>2]=f,n[s+8>>2]=c}function tke(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,Q=0,k=0,M=0,O=0,q=0,se=0;if(M=E,E=E+48|0,f=M+32|0,B=M+24|0,Q=M,k=s+4|0,d=(((n[k>>2]|0)-(n[s>>2]|0)|0)/12|0)+1|0,m=rke(s)|0,m>>>0<d>>>0)Vr(s);else{O=n[s>>2]|0,se=((n[s+8>>2]|0)-O|0)/12|0,q=se<<1,nke(Q,se>>>0<m>>>1>>>0?q>>>0<d>>>0?d:q:m,((n[k>>2]|0)-O|0)/12|0,s+8|0),k=Q+8|0,m=n[k>>2]|0,d=n[l+4>>2]|0,c=n[c>>2]|0,n[B>>2]=n[l>>2],n[B+4>>2]=d,n[f>>2]=n[B>>2],n[f+4>>2]=n[B+4>>2],Y9(m,f,c),n[k>>2]=(n[k>>2]|0)+12,ike(s,Q),ske(Q),E=M;return}}function rke(s){return s=s|0,357913941}function nke(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0;n[s+12>>2]=0,n[s+16>>2]=f;do if(l)if(l>>>0>357913941)Rt();else{d=Kt(l*12|0)|0;break}else d=0;while(0);n[s>>2]=d,f=d+(c*12|0)|0,n[s+8>>2]=f,n[s+4>>2]=f,n[s+12>>2]=d+(l*12|0)}function ike(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0;f=n[s>>2]|0,B=s+4|0,m=l+4|0,d=(n[B>>2]|0)-f|0,c=(n[m>>2]|0)+(((d|0)/-12|0)*12|0)|0,n[m>>2]=c,(d|0)>0?(vr(c|0,f|0,d|0)|0,f=m,c=n[m>>2]|0):f=m,m=n[s>>2]|0,n[s>>2]=c,n[f>>2]=m,m=l+8|0,d=n[B>>2]|0,n[B>>2]=n[m>>2],n[m>>2]=d,m=s+8|0,B=l+12|0,s=n[m>>2]|0,n[m>>2]=n[B>>2],n[B>>2]=s,n[l>>2]=n[f>>2]}function ske(s){s=s|0;var l=0,c=0,f=0;l=n[s+4>>2]|0,c=s+8|0,f=n[c>>2]|0,(f|0)!=(l|0)&&(n[c>>2]=f+(~(((f+-12-l|0)>>>0)/12|0)*12|0)),s=n[s>>2]|0,s|0&&ht(s)}function W9(s){s=s|0,lke(s)}function oke(s){s=s|0,ake(s+24|0)}function ake(s){s=s|0;var l=0,c=0,f=0;c=n[s>>2]|0,f=c,c|0&&(s=s+4|0,l=n[s>>2]|0,(l|0)!=(c|0)&&(n[s>>2]=l+(~(((l+-12-f|0)>>>0)/12|0)*12|0)),ht(c))}function lke(s){s=s|0;var l=0;l=Wr()|0,Kr(s,2,22,l,cke()|0,0),n[s+24>>2]=0,n[s+28>>2]=0,n[s+32>>2]=0}function cke(){return 1344}function uke(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0;c=E,E=E+16|0,f=c+8|0,d=c,m=Ake(s)|0,s=n[m+4>>2]|0,n[d>>2]=n[m>>2],n[d+4>>2]=s,n[f>>2]=n[d>>2],n[f+4>>2]=n[d+4>>2],fke(l,f),E=c}function Ake(s){return s=s|0,(n[($F()|0)+24>>2]|0)+(s*12|0)|0}function fke(s,l){s=s|0,l=l|0;var c=0;c=n[l>>2]|0,l=n[l+4>>2]|0,s=s+(l>>1)|0,l&1&&(c=n[(n[s>>2]|0)+c>>2]|0),tf[c&127](s)}function pke(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0,m=0;m=n[s>>2]|0,d=eR()|0,s=hke(c)|0,pn(m,l,d,s,gke(c,f)|0,f)}function eR(){var s=0,l=0;if(o[7800]|0||(J9(9936),ve(44,9936,U|0)|0,l=7800,n[l>>2]=1,n[l+4>>2]=0),!(Rr(9936)|0)){s=9936,l=s+36|0;do n[s>>2]=0,s=s+4|0;while((s|0)<(l|0));J9(9936)}return 9936}function hke(s){return s=s|0,s|0}function gke(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0,Q=0,k=0;return Q=E,E=E+16|0,d=Q,m=Q+4|0,n[d>>2]=s,k=eR()|0,B=k+24|0,l=hr(l,4)|0,n[m>>2]=l,c=k+28|0,f=n[c>>2]|0,f>>>0<(n[k+32>>2]|0)>>>0?(K9(f,s,l),l=(n[c>>2]|0)+8|0,n[c>>2]=l):(dke(B,d,m),l=n[c>>2]|0),E=Q,(l-(n[B>>2]|0)>>3)+-1|0}function K9(s,l,c){s=s|0,l=l|0,c=c|0,n[s>>2]=l,n[s+4>>2]=c}function dke(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,Q=0,k=0,M=0,O=0;if(Q=E,E=E+32|0,d=Q,m=s+4|0,B=((n[m>>2]|0)-(n[s>>2]|0)>>3)+1|0,f=mke(s)|0,f>>>0<B>>>0)Vr(s);else{k=n[s>>2]|0,O=(n[s+8>>2]|0)-k|0,M=O>>2,yke(d,O>>3>>>0<f>>>1>>>0?M>>>0<B>>>0?B:M:f,(n[m>>2]|0)-k>>3,s+8|0),B=d+8|0,K9(n[B>>2]|0,n[l>>2]|0,n[c>>2]|0),n[B>>2]=(n[B>>2]|0)+8,Eke(s,d),wke(d),E=Q;return}}function mke(s){return s=s|0,536870911}function yke(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0;n[s+12>>2]=0,n[s+16>>2]=f;do if(l)if(l>>>0>536870911)Rt();else{d=Kt(l<<3)|0;break}else d=0;while(0);n[s>>2]=d,f=d+(c<<3)|0,n[s+8>>2]=f,n[s+4>>2]=f,n[s+12>>2]=d+(l<<3)}function Eke(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0;f=n[s>>2]|0,B=s+4|0,m=l+4|0,d=(n[B>>2]|0)-f|0,c=(n[m>>2]|0)+(0-(d>>3)<<3)|0,n[m>>2]=c,(d|0)>0?(vr(c|0,f|0,d|0)|0,f=m,c=n[m>>2]|0):f=m,m=n[s>>2]|0,n[s>>2]=c,n[f>>2]=m,m=l+8|0,d=n[B>>2]|0,n[B>>2]=n[m>>2],n[m>>2]=d,m=s+8|0,B=l+12|0,s=n[m>>2]|0,n[m>>2]=n[B>>2],n[B>>2]=s,n[l>>2]=n[f>>2]}function wke(s){s=s|0;var l=0,c=0,f=0;l=n[s+4>>2]|0,c=s+8|0,f=n[c>>2]|0,(f|0)!=(l|0)&&(n[c>>2]=f+(~((f+-8-l|0)>>>3)<<3)),s=n[s>>2]|0,s|0&&ht(s)}function J9(s){s=s|0,Bke(s)}function Cke(s){s=s|0,Ike(s+24|0)}function Ike(s){s=s|0;var l=0,c=0,f=0;c=n[s>>2]|0,f=c,c|0&&(s=s+4|0,l=n[s>>2]|0,(l|0)!=(c|0)&&(n[s>>2]=l+(~((l+-8-f|0)>>>3)<<3)),ht(c))}function Bke(s){s=s|0;var l=0;l=Wr()|0,Kr(s,1,23,l,I9()|0,1),n[s+24>>2]=0,n[s+28>>2]=0,n[s+32>>2]=0}function vke(s,l){s=s|0,l=l|0,Ske(n[(Dke(s)|0)>>2]|0,l)}function Dke(s){return s=s|0,(n[(eR()|0)+24>>2]|0)+(s<<3)|0}function Ske(s,l){s=s|0,l=l|0;var c=0,f=0;c=E,E=E+16|0,f=c,_F(f,l),l=HF(f,l)|0,tf[s&127](l),E=c}function Pke(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0,m=0;m=n[s>>2]|0,d=tR()|0,s=xke(c)|0,pn(m,l,d,s,bke(c,f)|0,f)}function tR(){var s=0,l=0;if(o[7808]|0||(z9(9972),ve(45,9972,U|0)|0,l=7808,n[l>>2]=1,n[l+4>>2]=0),!(Rr(9972)|0)){s=9972,l=s+36|0;do n[s>>2]=0,s=s+4|0;while((s|0)<(l|0));z9(9972)}return 9972}function xke(s){return s=s|0,s|0}function bke(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0,Q=0,k=0;return Q=E,E=E+16|0,d=Q,m=Q+4|0,n[d>>2]=s,k=tR()|0,B=k+24|0,l=hr(l,4)|0,n[m>>2]=l,c=k+28|0,f=n[c>>2]|0,f>>>0<(n[k+32>>2]|0)>>>0?(V9(f,s,l),l=(n[c>>2]|0)+8|0,n[c>>2]=l):(Qke(B,d,m),l=n[c>>2]|0),E=Q,(l-(n[B>>2]|0)>>3)+-1|0}function V9(s,l,c){s=s|0,l=l|0,c=c|0,n[s>>2]=l,n[s+4>>2]=c}function Qke(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,Q=0,k=0,M=0,O=0;if(Q=E,E=E+32|0,d=Q,m=s+4|0,B=((n[m>>2]|0)-(n[s>>2]|0)>>3)+1|0,f=kke(s)|0,f>>>0<B>>>0)Vr(s);else{k=n[s>>2]|0,O=(n[s+8>>2]|0)-k|0,M=O>>2,Fke(d,O>>3>>>0<f>>>1>>>0?M>>>0<B>>>0?B:M:f,(n[m>>2]|0)-k>>3,s+8|0),B=d+8|0,V9(n[B>>2]|0,n[l>>2]|0,n[c>>2]|0),n[B>>2]=(n[B>>2]|0)+8,Rke(s,d),Tke(d),E=Q;return}}function kke(s){return s=s|0,536870911}function Fke(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0;n[s+12>>2]=0,n[s+16>>2]=f;do if(l)if(l>>>0>536870911)Rt();else{d=Kt(l<<3)|0;break}else d=0;while(0);n[s>>2]=d,f=d+(c<<3)|0,n[s+8>>2]=f,n[s+4>>2]=f,n[s+12>>2]=d+(l<<3)}function Rke(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0;f=n[s>>2]|0,B=s+4|0,m=l+4|0,d=(n[B>>2]|0)-f|0,c=(n[m>>2]|0)+(0-(d>>3)<<3)|0,n[m>>2]=c,(d|0)>0?(vr(c|0,f|0,d|0)|0,f=m,c=n[m>>2]|0):f=m,m=n[s>>2]|0,n[s>>2]=c,n[f>>2]=m,m=l+8|0,d=n[B>>2]|0,n[B>>2]=n[m>>2],n[m>>2]=d,m=s+8|0,B=l+12|0,s=n[m>>2]|0,n[m>>2]=n[B>>2],n[B>>2]=s,n[l>>2]=n[f>>2]}function Tke(s){s=s|0;var l=0,c=0,f=0;l=n[s+4>>2]|0,c=s+8|0,f=n[c>>2]|0,(f|0)!=(l|0)&&(n[c>>2]=f+(~((f+-8-l|0)>>>3)<<3)),s=n[s>>2]|0,s|0&&ht(s)}function z9(s){s=s|0,Oke(s)}function Nke(s){s=s|0,Lke(s+24|0)}function Lke(s){s=s|0;var l=0,c=0,f=0;c=n[s>>2]|0,f=c,c|0&&(s=s+4|0,l=n[s>>2]|0,(l|0)!=(c|0)&&(n[s>>2]=l+(~((l+-8-f|0)>>>3)<<3)),ht(c))}function Oke(s){s=s|0;var l=0;l=Wr()|0,Kr(s,1,9,l,Mke()|0,1),n[s+24>>2]=0,n[s+28>>2]=0,n[s+32>>2]=0}function Mke(){return 1348}function Uke(s,l){return s=s|0,l=l|0,Hke(n[(_ke(s)|0)>>2]|0,l)|0}function _ke(s){return s=s|0,(n[(tR()|0)+24>>2]|0)+(s<<3)|0}function Hke(s,l){s=s|0,l=l|0;var c=0,f=0;return c=E,E=E+16|0,f=c,X9(f,l),l=Z9(f,l)|0,l=iD(Tg[s&31](l)|0)|0,E=c,l|0}function X9(s,l){s=s|0,l=l|0}function Z9(s,l){return s=s|0,l=l|0,jke(l)|0}function jke(s){return s=s|0,s|0}function qke(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0,m=0;m=n[s>>2]|0,d=rR()|0,s=Gke(c)|0,pn(m,l,d,s,Yke(c,f)|0,f)}function rR(){var s=0,l=0;if(o[7816]|0||(e5(10008),ve(46,10008,U|0)|0,l=7816,n[l>>2]=1,n[l+4>>2]=0),!(Rr(10008)|0)){s=10008,l=s+36|0;do n[s>>2]=0,s=s+4|0;while((s|0)<(l|0));e5(10008)}return 10008}function Gke(s){return s=s|0,s|0}function Yke(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0,Q=0,k=0;return Q=E,E=E+16|0,d=Q,m=Q+4|0,n[d>>2]=s,k=rR()|0,B=k+24|0,l=hr(l,4)|0,n[m>>2]=l,c=k+28|0,f=n[c>>2]|0,f>>>0<(n[k+32>>2]|0)>>>0?($9(f,s,l),l=(n[c>>2]|0)+8|0,n[c>>2]=l):(Wke(B,d,m),l=n[c>>2]|0),E=Q,(l-(n[B>>2]|0)>>3)+-1|0}function $9(s,l,c){s=s|0,l=l|0,c=c|0,n[s>>2]=l,n[s+4>>2]=c}function Wke(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,Q=0,k=0,M=0,O=0;if(Q=E,E=E+32|0,d=Q,m=s+4|0,B=((n[m>>2]|0)-(n[s>>2]|0)>>3)+1|0,f=Kke(s)|0,f>>>0<B>>>0)Vr(s);else{k=n[s>>2]|0,O=(n[s+8>>2]|0)-k|0,M=O>>2,Jke(d,O>>3>>>0<f>>>1>>>0?M>>>0<B>>>0?B:M:f,(n[m>>2]|0)-k>>3,s+8|0),B=d+8|0,$9(n[B>>2]|0,n[l>>2]|0,n[c>>2]|0),n[B>>2]=(n[B>>2]|0)+8,Vke(s,d),zke(d),E=Q;return}}function Kke(s){return s=s|0,536870911}function Jke(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0;n[s+12>>2]=0,n[s+16>>2]=f;do if(l)if(l>>>0>536870911)Rt();else{d=Kt(l<<3)|0;break}else d=0;while(0);n[s>>2]=d,f=d+(c<<3)|0,n[s+8>>2]=f,n[s+4>>2]=f,n[s+12>>2]=d+(l<<3)}function Vke(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0;f=n[s>>2]|0,B=s+4|0,m=l+4|0,d=(n[B>>2]|0)-f|0,c=(n[m>>2]|0)+(0-(d>>3)<<3)|0,n[m>>2]=c,(d|0)>0?(vr(c|0,f|0,d|0)|0,f=m,c=n[m>>2]|0):f=m,m=n[s>>2]|0,n[s>>2]=c,n[f>>2]=m,m=l+8|0,d=n[B>>2]|0,n[B>>2]=n[m>>2],n[m>>2]=d,m=s+8|0,B=l+12|0,s=n[m>>2]|0,n[m>>2]=n[B>>2],n[B>>2]=s,n[l>>2]=n[f>>2]}function zke(s){s=s|0;var l=0,c=0,f=0;l=n[s+4>>2]|0,c=s+8|0,f=n[c>>2]|0,(f|0)!=(l|0)&&(n[c>>2]=f+(~((f+-8-l|0)>>>3)<<3)),s=n[s>>2]|0,s|0&&ht(s)}function e5(s){s=s|0,$ke(s)}function Xke(s){s=s|0,Zke(s+24|0)}function Zke(s){s=s|0;var l=0,c=0,f=0;c=n[s>>2]|0,f=c,c|0&&(s=s+4|0,l=n[s>>2]|0,(l|0)!=(c|0)&&(n[s>>2]=l+(~((l+-8-f|0)>>>3)<<3)),ht(c))}function $ke(s){s=s|0;var l=0;l=Wr()|0,Kr(s,1,15,l,d9()|0,0),n[s+24>>2]=0,n[s+28>>2]=0,n[s+32>>2]=0}function eFe(s){return s=s|0,rFe(n[(tFe(s)|0)>>2]|0)|0}function tFe(s){return s=s|0,(n[(rR()|0)+24>>2]|0)+(s<<3)|0}function rFe(s){return s=s|0,iD(ED[s&7]()|0)|0}function nFe(){var s=0;return o[7832]|0||(AFe(10052),ve(25,10052,U|0)|0,s=7832,n[s>>2]=1,n[s+4>>2]=0),10052}function iFe(s,l){s=s|0,l=l|0,n[s>>2]=sFe()|0,n[s+4>>2]=oFe()|0,n[s+12>>2]=l,n[s+8>>2]=aFe()|0,n[s+32>>2]=2}function sFe(){return 11709}function oFe(){return 1188}function aFe(){return oD()|0}function lFe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0,(Sp(f,896)|0)==512?c|0&&(cFe(c),ht(c)):l|0&&(xu(l),ht(l))}function Sp(s,l){return s=s|0,l=l|0,l&s|0}function cFe(s){s=s|0,s=n[s+4>>2]|0,s|0&&xp(s)}function oD(){var s=0;return o[7824]|0||(n[2511]=uFe()|0,n[2512]=0,s=7824,n[s>>2]=1,n[s+4>>2]=0),10044}function uFe(){return 0}function AFe(s){s=s|0,Ip(s)}function fFe(s){s=s|0;var l=0,c=0,f=0,d=0,m=0;l=E,E=E+32|0,c=l+24|0,m=l+16|0,d=l+8|0,f=l,pFe(s,4827),hFe(s,4834,3)|0,gFe(s,3682,47)|0,n[m>>2]=9,n[m+4>>2]=0,n[c>>2]=n[m>>2],n[c+4>>2]=n[m+4>>2],dFe(s,4841,c)|0,n[d>>2]=1,n[d+4>>2]=0,n[c>>2]=n[d>>2],n[c+4>>2]=n[d+4>>2],mFe(s,4871,c)|0,n[f>>2]=10,n[f+4>>2]=0,n[c>>2]=n[f>>2],n[c+4>>2]=n[f+4>>2],yFe(s,4891,c)|0,E=l}function pFe(s,l){s=s|0,l=l|0;var c=0;c=zRe()|0,n[s>>2]=c,XRe(c,l),Pp(n[s>>2]|0)}function hFe(s,l,c){return s=s|0,l=l|0,c=c|0,TRe(s,fn(l)|0,c,0),s|0}function gFe(s,l,c){return s=s|0,l=l|0,c=c|0,ERe(s,fn(l)|0,c,0),s|0}function dFe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0;return f=E,E=E+16|0,d=f+8|0,m=f,B=n[c+4>>2]|0,n[m>>2]=n[c>>2],n[m+4>>2]=B,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],eRe(s,l,d),E=f,s|0}function mFe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0;return f=E,E=E+16|0,d=f+8|0,m=f,B=n[c+4>>2]|0,n[m>>2]=n[c>>2],n[m+4>>2]=B,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],NFe(s,l,d),E=f,s|0}function yFe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0;return f=E,E=E+16|0,d=f+8|0,m=f,B=n[c+4>>2]|0,n[m>>2]=n[c>>2],n[m+4>>2]=B,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],EFe(s,l,d),E=f,s|0}function EFe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,Q=0;f=E,E=E+16|0,d=f+8|0,m=f,Q=n[c>>2]|0,B=n[c+4>>2]|0,c=fn(l)|0,n[m>>2]=Q,n[m+4>>2]=B,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],wFe(s,c,d,1),E=f}function wFe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0,m=0,B=0,Q=0,k=0,M=0,O=0;d=E,E=E+32|0,m=d+16|0,O=d+8|0,Q=d,M=n[c>>2]|0,k=n[c+4>>2]|0,B=n[s>>2]|0,s=nR()|0,n[O>>2]=M,n[O+4>>2]=k,n[m>>2]=n[O>>2],n[m+4>>2]=n[O+4>>2],c=CFe(m)|0,n[Q>>2]=M,n[Q+4>>2]=k,n[m>>2]=n[Q>>2],n[m+4>>2]=n[Q+4>>2],pn(B,l,s,c,IFe(m,f)|0,f),E=d}function nR(){var s=0,l=0;if(o[7840]|0||(r5(10100),ve(48,10100,U|0)|0,l=7840,n[l>>2]=1,n[l+4>>2]=0),!(Rr(10100)|0)){s=10100,l=s+36|0;do n[s>>2]=0,s=s+4|0;while((s|0)<(l|0));r5(10100)}return 10100}function CFe(s){return s=s|0,0}function IFe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0,Q=0,k=0,M=0,O=0,q=0;return O=E,E=E+32|0,d=O+24|0,B=O+16|0,Q=O,k=O+8|0,m=n[s>>2]|0,f=n[s+4>>2]|0,n[Q>>2]=m,n[Q+4>>2]=f,q=nR()|0,M=q+24|0,s=hr(l,4)|0,n[k>>2]=s,l=q+28|0,c=n[l>>2]|0,c>>>0<(n[q+32>>2]|0)>>>0?(n[B>>2]=m,n[B+4>>2]=f,n[d>>2]=n[B>>2],n[d+4>>2]=n[B+4>>2],t5(c,d,s),s=(n[l>>2]|0)+12|0,n[l>>2]=s):(BFe(M,Q,k),s=n[l>>2]|0),E=O,((s-(n[M>>2]|0)|0)/12|0)+-1|0}function t5(s,l,c){s=s|0,l=l|0,c=c|0;var f=0;f=n[l+4>>2]|0,n[s>>2]=n[l>>2],n[s+4>>2]=f,n[s+8>>2]=c}function BFe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,Q=0,k=0,M=0,O=0,q=0,se=0;if(M=E,E=E+48|0,f=M+32|0,B=M+24|0,Q=M,k=s+4|0,d=(((n[k>>2]|0)-(n[s>>2]|0)|0)/12|0)+1|0,m=vFe(s)|0,m>>>0<d>>>0)Vr(s);else{O=n[s>>2]|0,se=((n[s+8>>2]|0)-O|0)/12|0,q=se<<1,DFe(Q,se>>>0<m>>>1>>>0?q>>>0<d>>>0?d:q:m,((n[k>>2]|0)-O|0)/12|0,s+8|0),k=Q+8|0,m=n[k>>2]|0,d=n[l+4>>2]|0,c=n[c>>2]|0,n[B>>2]=n[l>>2],n[B+4>>2]=d,n[f>>2]=n[B>>2],n[f+4>>2]=n[B+4>>2],t5(m,f,c),n[k>>2]=(n[k>>2]|0)+12,SFe(s,Q),PFe(Q),E=M;return}}function vFe(s){return s=s|0,357913941}function DFe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0;n[s+12>>2]=0,n[s+16>>2]=f;do if(l)if(l>>>0>357913941)Rt();else{d=Kt(l*12|0)|0;break}else d=0;while(0);n[s>>2]=d,f=d+(c*12|0)|0,n[s+8>>2]=f,n[s+4>>2]=f,n[s+12>>2]=d+(l*12|0)}function SFe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0;f=n[s>>2]|0,B=s+4|0,m=l+4|0,d=(n[B>>2]|0)-f|0,c=(n[m>>2]|0)+(((d|0)/-12|0)*12|0)|0,n[m>>2]=c,(d|0)>0?(vr(c|0,f|0,d|0)|0,f=m,c=n[m>>2]|0):f=m,m=n[s>>2]|0,n[s>>2]=c,n[f>>2]=m,m=l+8|0,d=n[B>>2]|0,n[B>>2]=n[m>>2],n[m>>2]=d,m=s+8|0,B=l+12|0,s=n[m>>2]|0,n[m>>2]=n[B>>2],n[B>>2]=s,n[l>>2]=n[f>>2]}function PFe(s){s=s|0;var l=0,c=0,f=0;l=n[s+4>>2]|0,c=s+8|0,f=n[c>>2]|0,(f|0)!=(l|0)&&(n[c>>2]=f+(~(((f+-12-l|0)>>>0)/12|0)*12|0)),s=n[s>>2]|0,s|0&&ht(s)}function r5(s){s=s|0,QFe(s)}function xFe(s){s=s|0,bFe(s+24|0)}function bFe(s){s=s|0;var l=0,c=0,f=0;c=n[s>>2]|0,f=c,c|0&&(s=s+4|0,l=n[s>>2]|0,(l|0)!=(c|0)&&(n[s>>2]=l+(~(((l+-12-f|0)>>>0)/12|0)*12|0)),ht(c))}function QFe(s){s=s|0;var l=0;l=Wr()|0,Kr(s,2,6,l,kFe()|0,1),n[s+24>>2]=0,n[s+28>>2]=0,n[s+32>>2]=0}function kFe(){return 1364}function FFe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0;return f=E,E=E+16|0,d=f+8|0,m=f,B=RFe(s)|0,s=n[B+4>>2]|0,n[m>>2]=n[B>>2],n[m+4>>2]=s,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],c=TFe(l,d,c)|0,E=f,c|0}function RFe(s){return s=s|0,(n[(nR()|0)+24>>2]|0)+(s*12|0)|0}function TFe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0;return m=E,E=E+16|0,d=m,f=n[l>>2]|0,l=n[l+4>>2]|0,s=s+(l>>1)|0,l&1&&(f=n[(n[s>>2]|0)+f>>2]|0),ZA(d,c),d=$A(d,c)|0,d=c9(FR[f&15](s,d)|0)|0,E=m,d|0}function NFe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,Q=0;f=E,E=E+16|0,d=f+8|0,m=f,Q=n[c>>2]|0,B=n[c+4>>2]|0,c=fn(l)|0,n[m>>2]=Q,n[m+4>>2]=B,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],LFe(s,c,d,0),E=f}function LFe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0,m=0,B=0,Q=0,k=0,M=0,O=0;d=E,E=E+32|0,m=d+16|0,O=d+8|0,Q=d,M=n[c>>2]|0,k=n[c+4>>2]|0,B=n[s>>2]|0,s=iR()|0,n[O>>2]=M,n[O+4>>2]=k,n[m>>2]=n[O>>2],n[m+4>>2]=n[O+4>>2],c=OFe(m)|0,n[Q>>2]=M,n[Q+4>>2]=k,n[m>>2]=n[Q>>2],n[m+4>>2]=n[Q+4>>2],pn(B,l,s,c,MFe(m,f)|0,f),E=d}function iR(){var s=0,l=0;if(o[7848]|0||(i5(10136),ve(49,10136,U|0)|0,l=7848,n[l>>2]=1,n[l+4>>2]=0),!(Rr(10136)|0)){s=10136,l=s+36|0;do n[s>>2]=0,s=s+4|0;while((s|0)<(l|0));i5(10136)}return 10136}function OFe(s){return s=s|0,0}function MFe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0,Q=0,k=0,M=0,O=0,q=0;return O=E,E=E+32|0,d=O+24|0,B=O+16|0,Q=O,k=O+8|0,m=n[s>>2]|0,f=n[s+4>>2]|0,n[Q>>2]=m,n[Q+4>>2]=f,q=iR()|0,M=q+24|0,s=hr(l,4)|0,n[k>>2]=s,l=q+28|0,c=n[l>>2]|0,c>>>0<(n[q+32>>2]|0)>>>0?(n[B>>2]=m,n[B+4>>2]=f,n[d>>2]=n[B>>2],n[d+4>>2]=n[B+4>>2],n5(c,d,s),s=(n[l>>2]|0)+12|0,n[l>>2]=s):(UFe(M,Q,k),s=n[l>>2]|0),E=O,((s-(n[M>>2]|0)|0)/12|0)+-1|0}function n5(s,l,c){s=s|0,l=l|0,c=c|0;var f=0;f=n[l+4>>2]|0,n[s>>2]=n[l>>2],n[s+4>>2]=f,n[s+8>>2]=c}function UFe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,Q=0,k=0,M=0,O=0,q=0,se=0;if(M=E,E=E+48|0,f=M+32|0,B=M+24|0,Q=M,k=s+4|0,d=(((n[k>>2]|0)-(n[s>>2]|0)|0)/12|0)+1|0,m=_Fe(s)|0,m>>>0<d>>>0)Vr(s);else{O=n[s>>2]|0,se=((n[s+8>>2]|0)-O|0)/12|0,q=se<<1,HFe(Q,se>>>0<m>>>1>>>0?q>>>0<d>>>0?d:q:m,((n[k>>2]|0)-O|0)/12|0,s+8|0),k=Q+8|0,m=n[k>>2]|0,d=n[l+4>>2]|0,c=n[c>>2]|0,n[B>>2]=n[l>>2],n[B+4>>2]=d,n[f>>2]=n[B>>2],n[f+4>>2]=n[B+4>>2],n5(m,f,c),n[k>>2]=(n[k>>2]|0)+12,jFe(s,Q),qFe(Q),E=M;return}}function _Fe(s){return s=s|0,357913941}function HFe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0;n[s+12>>2]=0,n[s+16>>2]=f;do if(l)if(l>>>0>357913941)Rt();else{d=Kt(l*12|0)|0;break}else d=0;while(0);n[s>>2]=d,f=d+(c*12|0)|0,n[s+8>>2]=f,n[s+4>>2]=f,n[s+12>>2]=d+(l*12|0)}function jFe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0;f=n[s>>2]|0,B=s+4|0,m=l+4|0,d=(n[B>>2]|0)-f|0,c=(n[m>>2]|0)+(((d|0)/-12|0)*12|0)|0,n[m>>2]=c,(d|0)>0?(vr(c|0,f|0,d|0)|0,f=m,c=n[m>>2]|0):f=m,m=n[s>>2]|0,n[s>>2]=c,n[f>>2]=m,m=l+8|0,d=n[B>>2]|0,n[B>>2]=n[m>>2],n[m>>2]=d,m=s+8|0,B=l+12|0,s=n[m>>2]|0,n[m>>2]=n[B>>2],n[B>>2]=s,n[l>>2]=n[f>>2]}function qFe(s){s=s|0;var l=0,c=0,f=0;l=n[s+4>>2]|0,c=s+8|0,f=n[c>>2]|0,(f|0)!=(l|0)&&(n[c>>2]=f+(~(((f+-12-l|0)>>>0)/12|0)*12|0)),s=n[s>>2]|0,s|0&&ht(s)}function i5(s){s=s|0,WFe(s)}function GFe(s){s=s|0,YFe(s+24|0)}function YFe(s){s=s|0;var l=0,c=0,f=0;c=n[s>>2]|0,f=c,c|0&&(s=s+4|0,l=n[s>>2]|0,(l|0)!=(c|0)&&(n[s>>2]=l+(~(((l+-12-f|0)>>>0)/12|0)*12|0)),ht(c))}function WFe(s){s=s|0;var l=0;l=Wr()|0,Kr(s,2,9,l,KFe()|0,1),n[s+24>>2]=0,n[s+28>>2]=0,n[s+32>>2]=0}function KFe(){return 1372}function JFe(s,l,c){s=s|0,l=l|0,c=+c;var f=0,d=0,m=0,B=0;f=E,E=E+16|0,d=f+8|0,m=f,B=VFe(s)|0,s=n[B+4>>2]|0,n[m>>2]=n[B>>2],n[m+4>>2]=s,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],zFe(l,d,c),E=f}function VFe(s){return s=s|0,(n[(iR()|0)+24>>2]|0)+(s*12|0)|0}function zFe(s,l,c){s=s|0,l=l|0,c=+c;var f=0,d=0,m=0,B=Ze;m=E,E=E+16|0,d=m,f=n[l>>2]|0,l=n[l+4>>2]|0,s=s+(l>>1)|0,l&1&&(f=n[(n[s>>2]|0)+f>>2]|0),XFe(d,c),B=y(ZFe(d,c)),y7[f&1](s,B),E=m}function XFe(s,l){s=s|0,l=+l}function ZFe(s,l){return s=s|0,l=+l,y($Fe(l))}function $Fe(s){return s=+s,y(s)}function eRe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,Q=0;f=E,E=E+16|0,d=f+8|0,m=f,Q=n[c>>2]|0,B=n[c+4>>2]|0,c=fn(l)|0,n[m>>2]=Q,n[m+4>>2]=B,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],tRe(s,c,d,0),E=f}function tRe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0,m=0,B=0,Q=0,k=0,M=0,O=0;d=E,E=E+32|0,m=d+16|0,O=d+8|0,Q=d,M=n[c>>2]|0,k=n[c+4>>2]|0,B=n[s>>2]|0,s=sR()|0,n[O>>2]=M,n[O+4>>2]=k,n[m>>2]=n[O>>2],n[m+4>>2]=n[O+4>>2],c=rRe(m)|0,n[Q>>2]=M,n[Q+4>>2]=k,n[m>>2]=n[Q>>2],n[m+4>>2]=n[Q+4>>2],pn(B,l,s,c,nRe(m,f)|0,f),E=d}function sR(){var s=0,l=0;if(o[7856]|0||(o5(10172),ve(50,10172,U|0)|0,l=7856,n[l>>2]=1,n[l+4>>2]=0),!(Rr(10172)|0)){s=10172,l=s+36|0;do n[s>>2]=0,s=s+4|0;while((s|0)<(l|0));o5(10172)}return 10172}function rRe(s){return s=s|0,0}function nRe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0,Q=0,k=0,M=0,O=0,q=0;return O=E,E=E+32|0,d=O+24|0,B=O+16|0,Q=O,k=O+8|0,m=n[s>>2]|0,f=n[s+4>>2]|0,n[Q>>2]=m,n[Q+4>>2]=f,q=sR()|0,M=q+24|0,s=hr(l,4)|0,n[k>>2]=s,l=q+28|0,c=n[l>>2]|0,c>>>0<(n[q+32>>2]|0)>>>0?(n[B>>2]=m,n[B+4>>2]=f,n[d>>2]=n[B>>2],n[d+4>>2]=n[B+4>>2],s5(c,d,s),s=(n[l>>2]|0)+12|0,n[l>>2]=s):(iRe(M,Q,k),s=n[l>>2]|0),E=O,((s-(n[M>>2]|0)|0)/12|0)+-1|0}function s5(s,l,c){s=s|0,l=l|0,c=c|0;var f=0;f=n[l+4>>2]|0,n[s>>2]=n[l>>2],n[s+4>>2]=f,n[s+8>>2]=c}function iRe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,Q=0,k=0,M=0,O=0,q=0,se=0;if(M=E,E=E+48|0,f=M+32|0,B=M+24|0,Q=M,k=s+4|0,d=(((n[k>>2]|0)-(n[s>>2]|0)|0)/12|0)+1|0,m=sRe(s)|0,m>>>0<d>>>0)Vr(s);else{O=n[s>>2]|0,se=((n[s+8>>2]|0)-O|0)/12|0,q=se<<1,oRe(Q,se>>>0<m>>>1>>>0?q>>>0<d>>>0?d:q:m,((n[k>>2]|0)-O|0)/12|0,s+8|0),k=Q+8|0,m=n[k>>2]|0,d=n[l+4>>2]|0,c=n[c>>2]|0,n[B>>2]=n[l>>2],n[B+4>>2]=d,n[f>>2]=n[B>>2],n[f+4>>2]=n[B+4>>2],s5(m,f,c),n[k>>2]=(n[k>>2]|0)+12,aRe(s,Q),lRe(Q),E=M;return}}function sRe(s){return s=s|0,357913941}function oRe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0;n[s+12>>2]=0,n[s+16>>2]=f;do if(l)if(l>>>0>357913941)Rt();else{d=Kt(l*12|0)|0;break}else d=0;while(0);n[s>>2]=d,f=d+(c*12|0)|0,n[s+8>>2]=f,n[s+4>>2]=f,n[s+12>>2]=d+(l*12|0)}function aRe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0;f=n[s>>2]|0,B=s+4|0,m=l+4|0,d=(n[B>>2]|0)-f|0,c=(n[m>>2]|0)+(((d|0)/-12|0)*12|0)|0,n[m>>2]=c,(d|0)>0?(vr(c|0,f|0,d|0)|0,f=m,c=n[m>>2]|0):f=m,m=n[s>>2]|0,n[s>>2]=c,n[f>>2]=m,m=l+8|0,d=n[B>>2]|0,n[B>>2]=n[m>>2],n[m>>2]=d,m=s+8|0,B=l+12|0,s=n[m>>2]|0,n[m>>2]=n[B>>2],n[B>>2]=s,n[l>>2]=n[f>>2]}function lRe(s){s=s|0;var l=0,c=0,f=0;l=n[s+4>>2]|0,c=s+8|0,f=n[c>>2]|0,(f|0)!=(l|0)&&(n[c>>2]=f+(~(((f+-12-l|0)>>>0)/12|0)*12|0)),s=n[s>>2]|0,s|0&&ht(s)}function o5(s){s=s|0,ARe(s)}function cRe(s){s=s|0,uRe(s+24|0)}function uRe(s){s=s|0;var l=0,c=0,f=0;c=n[s>>2]|0,f=c,c|0&&(s=s+4|0,l=n[s>>2]|0,(l|0)!=(c|0)&&(n[s>>2]=l+(~(((l+-12-f|0)>>>0)/12|0)*12|0)),ht(c))}function ARe(s){s=s|0;var l=0;l=Wr()|0,Kr(s,2,3,l,fRe()|0,2),n[s+24>>2]=0,n[s+28>>2]=0,n[s+32>>2]=0}function fRe(){return 1380}function pRe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0,m=0,B=0,Q=0;d=E,E=E+16|0,m=d+8|0,B=d,Q=hRe(s)|0,s=n[Q+4>>2]|0,n[B>>2]=n[Q>>2],n[B+4>>2]=s,n[m>>2]=n[B>>2],n[m+4>>2]=n[B+4>>2],gRe(l,m,c,f),E=d}function hRe(s){return s=s|0,(n[(sR()|0)+24>>2]|0)+(s*12|0)|0}function gRe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0,m=0,B=0,Q=0;Q=E,E=E+16|0,m=Q+1|0,B=Q,d=n[l>>2]|0,l=n[l+4>>2]|0,s=s+(l>>1)|0,l&1&&(d=n[(n[s>>2]|0)+d>>2]|0),ZA(m,c),m=$A(m,c)|0,dRe(B,f),B=mRe(B,f)|0,UC[d&15](s,m,B),E=Q}function dRe(s,l){s=s|0,l=l|0}function mRe(s,l){return s=s|0,l=l|0,yRe(l)|0}function yRe(s){return s=s|0,(s|0)!=0|0}function ERe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0,m=0;m=n[s>>2]|0,d=oR()|0,s=wRe(c)|0,pn(m,l,d,s,CRe(c,f)|0,f)}function oR(){var s=0,l=0;if(o[7864]|0||(l5(10208),ve(51,10208,U|0)|0,l=7864,n[l>>2]=1,n[l+4>>2]=0),!(Rr(10208)|0)){s=10208,l=s+36|0;do n[s>>2]=0,s=s+4|0;while((s|0)<(l|0));l5(10208)}return 10208}function wRe(s){return s=s|0,s|0}function CRe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0,Q=0,k=0;return Q=E,E=E+16|0,d=Q,m=Q+4|0,n[d>>2]=s,k=oR()|0,B=k+24|0,l=hr(l,4)|0,n[m>>2]=l,c=k+28|0,f=n[c>>2]|0,f>>>0<(n[k+32>>2]|0)>>>0?(a5(f,s,l),l=(n[c>>2]|0)+8|0,n[c>>2]=l):(IRe(B,d,m),l=n[c>>2]|0),E=Q,(l-(n[B>>2]|0)>>3)+-1|0}function a5(s,l,c){s=s|0,l=l|0,c=c|0,n[s>>2]=l,n[s+4>>2]=c}function IRe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,Q=0,k=0,M=0,O=0;if(Q=E,E=E+32|0,d=Q,m=s+4|0,B=((n[m>>2]|0)-(n[s>>2]|0)>>3)+1|0,f=BRe(s)|0,f>>>0<B>>>0)Vr(s);else{k=n[s>>2]|0,O=(n[s+8>>2]|0)-k|0,M=O>>2,vRe(d,O>>3>>>0<f>>>1>>>0?M>>>0<B>>>0?B:M:f,(n[m>>2]|0)-k>>3,s+8|0),B=d+8|0,a5(n[B>>2]|0,n[l>>2]|0,n[c>>2]|0),n[B>>2]=(n[B>>2]|0)+8,DRe(s,d),SRe(d),E=Q;return}}function BRe(s){return s=s|0,536870911}function vRe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0;n[s+12>>2]=0,n[s+16>>2]=f;do if(l)if(l>>>0>536870911)Rt();else{d=Kt(l<<3)|0;break}else d=0;while(0);n[s>>2]=d,f=d+(c<<3)|0,n[s+8>>2]=f,n[s+4>>2]=f,n[s+12>>2]=d+(l<<3)}function DRe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0;f=n[s>>2]|0,B=s+4|0,m=l+4|0,d=(n[B>>2]|0)-f|0,c=(n[m>>2]|0)+(0-(d>>3)<<3)|0,n[m>>2]=c,(d|0)>0?(vr(c|0,f|0,d|0)|0,f=m,c=n[m>>2]|0):f=m,m=n[s>>2]|0,n[s>>2]=c,n[f>>2]=m,m=l+8|0,d=n[B>>2]|0,n[B>>2]=n[m>>2],n[m>>2]=d,m=s+8|0,B=l+12|0,s=n[m>>2]|0,n[m>>2]=n[B>>2],n[B>>2]=s,n[l>>2]=n[f>>2]}function SRe(s){s=s|0;var l=0,c=0,f=0;l=n[s+4>>2]|0,c=s+8|0,f=n[c>>2]|0,(f|0)!=(l|0)&&(n[c>>2]=f+(~((f+-8-l|0)>>>3)<<3)),s=n[s>>2]|0,s|0&&ht(s)}function l5(s){s=s|0,bRe(s)}function PRe(s){s=s|0,xRe(s+24|0)}function xRe(s){s=s|0;var l=0,c=0,f=0;c=n[s>>2]|0,f=c,c|0&&(s=s+4|0,l=n[s>>2]|0,(l|0)!=(c|0)&&(n[s>>2]=l+(~((l+-8-f|0)>>>3)<<3)),ht(c))}function bRe(s){s=s|0;var l=0;l=Wr()|0,Kr(s,1,24,l,QRe()|0,1),n[s+24>>2]=0,n[s+28>>2]=0,n[s+32>>2]=0}function QRe(){return 1392}function kRe(s,l){s=s|0,l=l|0,RRe(n[(FRe(s)|0)>>2]|0,l)}function FRe(s){return s=s|0,(n[(oR()|0)+24>>2]|0)+(s<<3)|0}function RRe(s,l){s=s|0,l=l|0;var c=0,f=0;c=E,E=E+16|0,f=c,X9(f,l),l=Z9(f,l)|0,tf[s&127](l),E=c}function TRe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0,m=0;m=n[s>>2]|0,d=aR()|0,s=NRe(c)|0,pn(m,l,d,s,LRe(c,f)|0,f)}function aR(){var s=0,l=0;if(o[7872]|0||(u5(10244),ve(52,10244,U|0)|0,l=7872,n[l>>2]=1,n[l+4>>2]=0),!(Rr(10244)|0)){s=10244,l=s+36|0;do n[s>>2]=0,s=s+4|0;while((s|0)<(l|0));u5(10244)}return 10244}function NRe(s){return s=s|0,s|0}function LRe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0,Q=0,k=0;return Q=E,E=E+16|0,d=Q,m=Q+4|0,n[d>>2]=s,k=aR()|0,B=k+24|0,l=hr(l,4)|0,n[m>>2]=l,c=k+28|0,f=n[c>>2]|0,f>>>0<(n[k+32>>2]|0)>>>0?(c5(f,s,l),l=(n[c>>2]|0)+8|0,n[c>>2]=l):(ORe(B,d,m),l=n[c>>2]|0),E=Q,(l-(n[B>>2]|0)>>3)+-1|0}function c5(s,l,c){s=s|0,l=l|0,c=c|0,n[s>>2]=l,n[s+4>>2]=c}function ORe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,Q=0,k=0,M=0,O=0;if(Q=E,E=E+32|0,d=Q,m=s+4|0,B=((n[m>>2]|0)-(n[s>>2]|0)>>3)+1|0,f=MRe(s)|0,f>>>0<B>>>0)Vr(s);else{k=n[s>>2]|0,O=(n[s+8>>2]|0)-k|0,M=O>>2,URe(d,O>>3>>>0<f>>>1>>>0?M>>>0<B>>>0?B:M:f,(n[m>>2]|0)-k>>3,s+8|0),B=d+8|0,c5(n[B>>2]|0,n[l>>2]|0,n[c>>2]|0),n[B>>2]=(n[B>>2]|0)+8,_Re(s,d),HRe(d),E=Q;return}}function MRe(s){return s=s|0,536870911}function URe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0;n[s+12>>2]=0,n[s+16>>2]=f;do if(l)if(l>>>0>536870911)Rt();else{d=Kt(l<<3)|0;break}else d=0;while(0);n[s>>2]=d,f=d+(c<<3)|0,n[s+8>>2]=f,n[s+4>>2]=f,n[s+12>>2]=d+(l<<3)}function _Re(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0;f=n[s>>2]|0,B=s+4|0,m=l+4|0,d=(n[B>>2]|0)-f|0,c=(n[m>>2]|0)+(0-(d>>3)<<3)|0,n[m>>2]=c,(d|0)>0?(vr(c|0,f|0,d|0)|0,f=m,c=n[m>>2]|0):f=m,m=n[s>>2]|0,n[s>>2]=c,n[f>>2]=m,m=l+8|0,d=n[B>>2]|0,n[B>>2]=n[m>>2],n[m>>2]=d,m=s+8|0,B=l+12|0,s=n[m>>2]|0,n[m>>2]=n[B>>2],n[B>>2]=s,n[l>>2]=n[f>>2]}function HRe(s){s=s|0;var l=0,c=0,f=0;l=n[s+4>>2]|0,c=s+8|0,f=n[c>>2]|0,(f|0)!=(l|0)&&(n[c>>2]=f+(~((f+-8-l|0)>>>3)<<3)),s=n[s>>2]|0,s|0&&ht(s)}function u5(s){s=s|0,GRe(s)}function jRe(s){s=s|0,qRe(s+24|0)}function qRe(s){s=s|0;var l=0,c=0,f=0;c=n[s>>2]|0,f=c,c|0&&(s=s+4|0,l=n[s>>2]|0,(l|0)!=(c|0)&&(n[s>>2]=l+(~((l+-8-f|0)>>>3)<<3)),ht(c))}function GRe(s){s=s|0;var l=0;l=Wr()|0,Kr(s,1,16,l,YRe()|0,0),n[s+24>>2]=0,n[s+28>>2]=0,n[s+32>>2]=0}function YRe(){return 1400}function WRe(s){return s=s|0,JRe(n[(KRe(s)|0)>>2]|0)|0}function KRe(s){return s=s|0,(n[(aR()|0)+24>>2]|0)+(s<<3)|0}function JRe(s){return s=s|0,VRe(ED[s&7]()|0)|0}function VRe(s){return s=s|0,s|0}function zRe(){var s=0;return o[7880]|0||(nTe(10280),ve(25,10280,U|0)|0,s=7880,n[s>>2]=1,n[s+4>>2]=0),10280}function XRe(s,l){s=s|0,l=l|0,n[s>>2]=ZRe()|0,n[s+4>>2]=$Re()|0,n[s+12>>2]=l,n[s+8>>2]=eTe()|0,n[s+32>>2]=4}function ZRe(){return 11711}function $Re(){return 1356}function eTe(){return oD()|0}function tTe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0,(Sp(f,896)|0)==512?c|0&&(rTe(c),ht(c)):l|0&&(Bg(l),ht(l))}function rTe(s){s=s|0,s=n[s+4>>2]|0,s|0&&xp(s)}function nTe(s){s=s|0,Ip(s)}function iTe(s){s=s|0,sTe(s,4920),oTe(s)|0,aTe(s)|0}function sTe(s,l){s=s|0,l=l|0;var c=0;c=F9()|0,n[s>>2]=c,xTe(c,l),Pp(n[s>>2]|0)}function oTe(s){s=s|0;var l=0;return l=n[s>>2]|0,xg(l,yTe()|0),s|0}function aTe(s){s=s|0;var l=0;return l=n[s>>2]|0,xg(l,lTe()|0),s|0}function lTe(){var s=0;return o[7888]|0||(A5(10328),ve(53,10328,U|0)|0,s=7888,n[s>>2]=1,n[s+4>>2]=0),Rr(10328)|0||A5(10328),10328}function xg(s,l){s=s|0,l=l|0,pn(s,0,l,0,0,0)}function A5(s){s=s|0,ATe(s),bg(s,10)}function cTe(s){s=s|0,uTe(s+24|0)}function uTe(s){s=s|0;var l=0,c=0,f=0;c=n[s>>2]|0,f=c,c|0&&(s=s+4|0,l=n[s>>2]|0,(l|0)!=(c|0)&&(n[s>>2]=l+(~((l+-8-f|0)>>>3)<<3)),ht(c))}function ATe(s){s=s|0;var l=0;l=Wr()|0,Kr(s,5,1,l,gTe()|0,2),n[s+24>>2]=0,n[s+28>>2]=0,n[s+32>>2]=0}function fTe(s,l,c){s=s|0,l=l|0,c=+c,pTe(s,l,c)}function bg(s,l){s=s|0,l=l|0,n[s+20>>2]=l}function pTe(s,l,c){s=s|0,l=l|0,c=+c;var f=0,d=0,m=0,B=0,Q=0;f=E,E=E+16|0,m=f+8|0,Q=f+13|0,d=f,B=f+12|0,ZA(Q,l),n[m>>2]=$A(Q,l)|0,Fu(B,c),w[d>>3]=+Ru(B,c),hTe(s,m,d),E=f}function hTe(s,l,c){s=s|0,l=l|0,c=c|0,W(s+8|0,n[l>>2]|0,+w[c>>3]),o[s+24>>0]=1}function gTe(){return 1404}function dTe(s,l){return s=s|0,l=+l,mTe(s,l)|0}function mTe(s,l){s=s|0,l=+l;var c=0,f=0,d=0,m=0,B=0,Q=0,k=0;return f=E,E=E+16|0,m=f+4|0,B=f+8|0,Q=f,d=Wa(8)|0,c=d,k=Kt(16)|0,ZA(m,s),s=$A(m,s)|0,Fu(B,l),W(k,s,+Ru(B,l)),B=c+4|0,n[B>>2]=k,s=Kt(8)|0,B=n[B>>2]|0,n[Q>>2]=0,n[m>>2]=n[Q>>2],WF(s,B,m),n[d>>2]=s,E=f,c|0}function yTe(){var s=0;return o[7896]|0||(f5(10364),ve(54,10364,U|0)|0,s=7896,n[s>>2]=1,n[s+4>>2]=0),Rr(10364)|0||f5(10364),10364}function f5(s){s=s|0,CTe(s),bg(s,55)}function ETe(s){s=s|0,wTe(s+24|0)}function wTe(s){s=s|0;var l=0,c=0,f=0;c=n[s>>2]|0,f=c,c|0&&(s=s+4|0,l=n[s>>2]|0,(l|0)!=(c|0)&&(n[s>>2]=l+(~((l+-8-f|0)>>>3)<<3)),ht(c))}function CTe(s){s=s|0;var l=0;l=Wr()|0,Kr(s,5,4,l,DTe()|0,0),n[s+24>>2]=0,n[s+28>>2]=0,n[s+32>>2]=0}function ITe(s){s=s|0,BTe(s)}function BTe(s){s=s|0,vTe(s)}function vTe(s){s=s|0,p5(s+8|0),o[s+24>>0]=1}function p5(s){s=s|0,n[s>>2]=0,w[s+8>>3]=0}function DTe(){return 1424}function STe(){return PTe()|0}function PTe(){var s=0,l=0,c=0,f=0,d=0,m=0,B=0;return l=E,E=E+16|0,d=l+4|0,B=l,c=Wa(8)|0,s=c,f=Kt(16)|0,p5(f),m=s+4|0,n[m>>2]=f,f=Kt(8)|0,m=n[m>>2]|0,n[B>>2]=0,n[d>>2]=n[B>>2],WF(f,m,d),n[c>>2]=f,E=l,s|0}function xTe(s,l){s=s|0,l=l|0,n[s>>2]=bTe()|0,n[s+4>>2]=QTe()|0,n[s+12>>2]=l,n[s+8>>2]=kTe()|0,n[s+32>>2]=5}function bTe(){return 11710}function QTe(){return 1416}function kTe(){return aD()|0}function FTe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0,(Sp(f,896)|0)==512?c|0&&(RTe(c),ht(c)):l|0&&ht(l)}function RTe(s){s=s|0,s=n[s+4>>2]|0,s|0&&xp(s)}function aD(){var s=0;return o[7904]|0||(n[2600]=TTe()|0,n[2601]=0,s=7904,n[s>>2]=1,n[s+4>>2]=0),10400}function TTe(){return n[357]|0}function NTe(s){s=s|0,LTe(s,4926),OTe(s)|0}function LTe(s,l){s=s|0,l=l|0;var c=0;c=t9()|0,n[s>>2]=c,JTe(c,l),Pp(n[s>>2]|0)}function OTe(s){s=s|0;var l=0;return l=n[s>>2]|0,xg(l,MTe()|0),s|0}function MTe(){var s=0;return o[7912]|0||(h5(10412),ve(56,10412,U|0)|0,s=7912,n[s>>2]=1,n[s+4>>2]=0),Rr(10412)|0||h5(10412),10412}function h5(s){s=s|0,HTe(s),bg(s,57)}function UTe(s){s=s|0,_Te(s+24|0)}function _Te(s){s=s|0;var l=0,c=0,f=0;c=n[s>>2]|0,f=c,c|0&&(s=s+4|0,l=n[s>>2]|0,(l|0)!=(c|0)&&(n[s>>2]=l+(~((l+-8-f|0)>>>3)<<3)),ht(c))}function HTe(s){s=s|0;var l=0;l=Wr()|0,Kr(s,5,5,l,YTe()|0,0),n[s+24>>2]=0,n[s+28>>2]=0,n[s+32>>2]=0}function jTe(s){s=s|0,qTe(s)}function qTe(s){s=s|0,GTe(s)}function GTe(s){s=s|0;var l=0,c=0;l=s+8|0,c=l+48|0;do n[l>>2]=0,l=l+4|0;while((l|0)<(c|0));o[s+56>>0]=1}function YTe(){return 1432}function WTe(){return KTe()|0}function KTe(){var s=0,l=0,c=0,f=0,d=0,m=0,B=0,Q=0;B=E,E=E+16|0,s=B+4|0,l=B,c=Wa(8)|0,f=c,d=Kt(48)|0,m=d,Q=m+48|0;do n[m>>2]=0,m=m+4|0;while((m|0)<(Q|0));return m=f+4|0,n[m>>2]=d,Q=Kt(8)|0,m=n[m>>2]|0,n[l>>2]=0,n[s>>2]=n[l>>2],r9(Q,m,s),n[c>>2]=Q,E=B,f|0}function JTe(s,l){s=s|0,l=l|0,n[s>>2]=VTe()|0,n[s+4>>2]=zTe()|0,n[s+12>>2]=l,n[s+8>>2]=XTe()|0,n[s+32>>2]=6}function VTe(){return 11704}function zTe(){return 1436}function XTe(){return aD()|0}function ZTe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0,(Sp(f,896)|0)==512?c|0&&($Te(c),ht(c)):l|0&&ht(l)}function $Te(s){s=s|0,s=n[s+4>>2]|0,s|0&&xp(s)}function eNe(s){s=s|0,tNe(s,4933),rNe(s)|0,nNe(s)|0}function tNe(s,l){s=s|0,l=l|0;var c=0;c=PNe()|0,n[s>>2]=c,xNe(c,l),Pp(n[s>>2]|0)}function rNe(s){s=s|0;var l=0;return l=n[s>>2]|0,xg(l,mNe()|0),s|0}function nNe(s){s=s|0;var l=0;return l=n[s>>2]|0,xg(l,iNe()|0),s|0}function iNe(){var s=0;return o[7920]|0||(g5(10452),ve(58,10452,U|0)|0,s=7920,n[s>>2]=1,n[s+4>>2]=0),Rr(10452)|0||g5(10452),10452}function g5(s){s=s|0,aNe(s),bg(s,1)}function sNe(s){s=s|0,oNe(s+24|0)}function oNe(s){s=s|0;var l=0,c=0,f=0;c=n[s>>2]|0,f=c,c|0&&(s=s+4|0,l=n[s>>2]|0,(l|0)!=(c|0)&&(n[s>>2]=l+(~((l+-8-f|0)>>>3)<<3)),ht(c))}function aNe(s){s=s|0;var l=0;l=Wr()|0,Kr(s,5,1,l,ANe()|0,2),n[s+24>>2]=0,n[s+28>>2]=0,n[s+32>>2]=0}function lNe(s,l,c){s=s|0,l=+l,c=+c,cNe(s,l,c)}function cNe(s,l,c){s=s|0,l=+l,c=+c;var f=0,d=0,m=0,B=0,Q=0;f=E,E=E+32|0,m=f+8|0,Q=f+17|0,d=f,B=f+16|0,Fu(Q,l),w[m>>3]=+Ru(Q,l),Fu(B,c),w[d>>3]=+Ru(B,c),uNe(s,m,d),E=f}function uNe(s,l,c){s=s|0,l=l|0,c=c|0,d5(s+8|0,+w[l>>3],+w[c>>3]),o[s+24>>0]=1}function d5(s,l,c){s=s|0,l=+l,c=+c,w[s>>3]=l,w[s+8>>3]=c}function ANe(){return 1472}function fNe(s,l){return s=+s,l=+l,pNe(s,l)|0}function pNe(s,l){s=+s,l=+l;var c=0,f=0,d=0,m=0,B=0,Q=0,k=0;return f=E,E=E+16|0,B=f+4|0,Q=f+8|0,k=f,d=Wa(8)|0,c=d,m=Kt(16)|0,Fu(B,s),s=+Ru(B,s),Fu(Q,l),d5(m,s,+Ru(Q,l)),Q=c+4|0,n[Q>>2]=m,m=Kt(8)|0,Q=n[Q>>2]|0,n[k>>2]=0,n[B>>2]=n[k>>2],m5(m,Q,B),n[d>>2]=m,E=f,c|0}function m5(s,l,c){s=s|0,l=l|0,c=c|0,n[s>>2]=l,c=Kt(16)|0,n[c+4>>2]=0,n[c+8>>2]=0,n[c>>2]=1452,n[c+12>>2]=l,n[s+4>>2]=c}function hNe(s){s=s|0,Vm(s),ht(s)}function gNe(s){s=s|0,s=n[s+12>>2]|0,s|0&&ht(s)}function dNe(s){s=s|0,ht(s)}function mNe(){var s=0;return o[7928]|0||(y5(10488),ve(59,10488,U|0)|0,s=7928,n[s>>2]=1,n[s+4>>2]=0),Rr(10488)|0||y5(10488),10488}function y5(s){s=s|0,wNe(s),bg(s,60)}function yNe(s){s=s|0,ENe(s+24|0)}function ENe(s){s=s|0;var l=0,c=0,f=0;c=n[s>>2]|0,f=c,c|0&&(s=s+4|0,l=n[s>>2]|0,(l|0)!=(c|0)&&(n[s>>2]=l+(~((l+-8-f|0)>>>3)<<3)),ht(c))}function wNe(s){s=s|0;var l=0;l=Wr()|0,Kr(s,5,6,l,vNe()|0,0),n[s+24>>2]=0,n[s+28>>2]=0,n[s+32>>2]=0}function CNe(s){s=s|0,INe(s)}function INe(s){s=s|0,BNe(s)}function BNe(s){s=s|0,E5(s+8|0),o[s+24>>0]=1}function E5(s){s=s|0,n[s>>2]=0,n[s+4>>2]=0,n[s+8>>2]=0,n[s+12>>2]=0}function vNe(){return 1492}function DNe(){return SNe()|0}function SNe(){var s=0,l=0,c=0,f=0,d=0,m=0,B=0;return l=E,E=E+16|0,d=l+4|0,B=l,c=Wa(8)|0,s=c,f=Kt(16)|0,E5(f),m=s+4|0,n[m>>2]=f,f=Kt(8)|0,m=n[m>>2]|0,n[B>>2]=0,n[d>>2]=n[B>>2],m5(f,m,d),n[c>>2]=f,E=l,s|0}function PNe(){var s=0;return o[7936]|0||(TNe(10524),ve(25,10524,U|0)|0,s=7936,n[s>>2]=1,n[s+4>>2]=0),10524}function xNe(s,l){s=s|0,l=l|0,n[s>>2]=bNe()|0,n[s+4>>2]=QNe()|0,n[s+12>>2]=l,n[s+8>>2]=kNe()|0,n[s+32>>2]=7}function bNe(){return 11700}function QNe(){return 1484}function kNe(){return aD()|0}function FNe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0,(Sp(f,896)|0)==512?c|0&&(RNe(c),ht(c)):l|0&&ht(l)}function RNe(s){s=s|0,s=n[s+4>>2]|0,s|0&&xp(s)}function TNe(s){s=s|0,Ip(s)}function NNe(s,l,c){s=s|0,l=l|0,c=c|0,s=fn(l)|0,l=LNe(c)|0,c=ONe(c,0)|0,pLe(s,l,c,lR()|0,0)}function LNe(s){return s=s|0,s|0}function ONe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0,Q=0,k=0;return Q=E,E=E+16|0,d=Q,m=Q+4|0,n[d>>2]=s,k=lR()|0,B=k+24|0,l=hr(l,4)|0,n[m>>2]=l,c=k+28|0,f=n[c>>2]|0,f>>>0<(n[k+32>>2]|0)>>>0?(C5(f,s,l),l=(n[c>>2]|0)+8|0,n[c>>2]=l):(GNe(B,d,m),l=n[c>>2]|0),E=Q,(l-(n[B>>2]|0)>>3)+-1|0}function lR(){var s=0,l=0;if(o[7944]|0||(w5(10568),ve(61,10568,U|0)|0,l=7944,n[l>>2]=1,n[l+4>>2]=0),!(Rr(10568)|0)){s=10568,l=s+36|0;do n[s>>2]=0,s=s+4|0;while((s|0)<(l|0));w5(10568)}return 10568}function w5(s){s=s|0,_Ne(s)}function MNe(s){s=s|0,UNe(s+24|0)}function UNe(s){s=s|0;var l=0,c=0,f=0;c=n[s>>2]|0,f=c,c|0&&(s=s+4|0,l=n[s>>2]|0,(l|0)!=(c|0)&&(n[s>>2]=l+(~((l+-8-f|0)>>>3)<<3)),ht(c))}function _Ne(s){s=s|0;var l=0;l=Wr()|0,Kr(s,1,17,l,E9()|0,0),n[s+24>>2]=0,n[s+28>>2]=0,n[s+32>>2]=0}function HNe(s){return s=s|0,qNe(n[(jNe(s)|0)>>2]|0)|0}function jNe(s){return s=s|0,(n[(lR()|0)+24>>2]|0)+(s<<3)|0}function qNe(s){return s=s|0,sD(ED[s&7]()|0)|0}function C5(s,l,c){s=s|0,l=l|0,c=c|0,n[s>>2]=l,n[s+4>>2]=c}function GNe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,Q=0,k=0,M=0,O=0;if(Q=E,E=E+32|0,d=Q,m=s+4|0,B=((n[m>>2]|0)-(n[s>>2]|0)>>3)+1|0,f=YNe(s)|0,f>>>0<B>>>0)Vr(s);else{k=n[s>>2]|0,O=(n[s+8>>2]|0)-k|0,M=O>>2,WNe(d,O>>3>>>0<f>>>1>>>0?M>>>0<B>>>0?B:M:f,(n[m>>2]|0)-k>>3,s+8|0),B=d+8|0,C5(n[B>>2]|0,n[l>>2]|0,n[c>>2]|0),n[B>>2]=(n[B>>2]|0)+8,KNe(s,d),JNe(d),E=Q;return}}function YNe(s){return s=s|0,536870911}function WNe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0;n[s+12>>2]=0,n[s+16>>2]=f;do if(l)if(l>>>0>536870911)Rt();else{d=Kt(l<<3)|0;break}else d=0;while(0);n[s>>2]=d,f=d+(c<<3)|0,n[s+8>>2]=f,n[s+4>>2]=f,n[s+12>>2]=d+(l<<3)}function KNe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0;f=n[s>>2]|0,B=s+4|0,m=l+4|0,d=(n[B>>2]|0)-f|0,c=(n[m>>2]|0)+(0-(d>>3)<<3)|0,n[m>>2]=c,(d|0)>0?(vr(c|0,f|0,d|0)|0,f=m,c=n[m>>2]|0):f=m,m=n[s>>2]|0,n[s>>2]=c,n[f>>2]=m,m=l+8|0,d=n[B>>2]|0,n[B>>2]=n[m>>2],n[m>>2]=d,m=s+8|0,B=l+12|0,s=n[m>>2]|0,n[m>>2]=n[B>>2],n[B>>2]=s,n[l>>2]=n[f>>2]}function JNe(s){s=s|0;var l=0,c=0,f=0;l=n[s+4>>2]|0,c=s+8|0,f=n[c>>2]|0,(f|0)!=(l|0)&&(n[c>>2]=f+(~((f+-8-l|0)>>>3)<<3)),s=n[s>>2]|0,s|0&&ht(s)}function VNe(){zNe()}function zNe(){XNe(10604)}function XNe(s){s=s|0,ZNe(s,4955)}function ZNe(s,l){s=s|0,l=l|0;var c=0;c=$Ne()|0,n[s>>2]=c,eLe(c,l),Pp(n[s>>2]|0)}function $Ne(){var s=0;return o[7952]|0||(cLe(10612),ve(25,10612,U|0)|0,s=7952,n[s>>2]=1,n[s+4>>2]=0),10612}function eLe(s,l){s=s|0,l=l|0,n[s>>2]=iLe()|0,n[s+4>>2]=sLe()|0,n[s+12>>2]=l,n[s+8>>2]=oLe()|0,n[s+32>>2]=8}function Pp(s){s=s|0;var l=0,c=0;l=E,E=E+16|0,c=l,Gm()|0,n[c>>2]=s,tLe(10608,c),E=l}function Gm(){return o[11714]|0||(n[2652]=0,ve(62,10608,U|0)|0,o[11714]=1),10608}function tLe(s,l){s=s|0,l=l|0;var c=0;c=Kt(8)|0,n[c+4>>2]=n[l>>2],n[c>>2]=n[s>>2],n[s>>2]=c}function rLe(s){s=s|0,nLe(s)}function nLe(s){s=s|0;var l=0,c=0;if(l=n[s>>2]|0,l|0)do c=l,l=n[l>>2]|0,ht(c);while((l|0)!=0);n[s>>2]=0}function iLe(){return 11715}function sLe(){return 1496}function oLe(){return oD()|0}function aLe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0,(Sp(f,896)|0)==512?c|0&&(lLe(c),ht(c)):l|0&&ht(l)}function lLe(s){s=s|0,s=n[s+4>>2]|0,s|0&&xp(s)}function cLe(s){s=s|0,Ip(s)}function uLe(s,l){s=s|0,l=l|0;var c=0,f=0;Gm()|0,c=n[2652]|0;e:do if(c|0){for(;f=n[c+4>>2]|0,!(f|0&&(r7(cR(f)|0,s)|0)==0);)if(c=n[c>>2]|0,!c)break e;ALe(f,l)}while(0)}function cR(s){return s=s|0,n[s+12>>2]|0}function ALe(s,l){s=s|0,l=l|0;var c=0;s=s+36|0,c=n[s>>2]|0,c|0&&(qA(c),ht(c)),c=Kt(4)|0,VG(c,l),n[s>>2]=c}function uR(){return o[11716]|0||(n[2664]=0,ve(63,10656,U|0)|0,o[11716]=1),10656}function I5(){var s=0;return o[11717]|0?s=n[2665]|0:(fLe(),n[2665]=1504,o[11717]=1,s=1504),s|0}function fLe(){o[11740]|0||(o[11718]=hr(hr(8,0)|0,0)|0,o[11719]=hr(hr(0,0)|0,0)|0,o[11720]=hr(hr(0,16)|0,0)|0,o[11721]=hr(hr(8,0)|0,0)|0,o[11722]=hr(hr(0,0)|0,0)|0,o[11723]=hr(hr(8,0)|0,0)|0,o[11724]=hr(hr(0,0)|0,0)|0,o[11725]=hr(hr(8,0)|0,0)|0,o[11726]=hr(hr(0,0)|0,0)|0,o[11727]=hr(hr(8,0)|0,0)|0,o[11728]=hr(hr(0,0)|0,0)|0,o[11729]=hr(hr(0,0)|0,32)|0,o[11730]=hr(hr(0,0)|0,32)|0,o[11740]=1)}function B5(){return 1572}function pLe(s,l,c,f,d){s=s|0,l=l|0,c=c|0,f=f|0,d=d|0;var m=0,B=0,Q=0,k=0,M=0,O=0;m=E,E=E+32|0,O=m+16|0,M=m+12|0,k=m+8|0,Q=m+4|0,B=m,n[O>>2]=s,n[M>>2]=l,n[k>>2]=c,n[Q>>2]=f,n[B>>2]=d,uR()|0,hLe(10656,O,M,k,Q,B),E=m}function hLe(s,l,c,f,d,m){s=s|0,l=l|0,c=c|0,f=f|0,d=d|0,m=m|0;var B=0;B=Kt(24)|0,ZG(B+4|0,n[l>>2]|0,n[c>>2]|0,n[f>>2]|0,n[d>>2]|0,n[m>>2]|0),n[B>>2]=n[s>>2],n[s>>2]=B}function v5(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,Q=0,k=0,M=0,O=0,q=0,se=0,Ge=0,Me=0,Fe=0,et=0,Xe=0,lt=0;if(lt=E,E=E+32|0,Me=lt+20|0,Fe=lt+8|0,et=lt+4|0,Xe=lt,l=n[l>>2]|0,l|0){Ge=Me+4|0,k=Me+8|0,M=Fe+4|0,O=Fe+8|0,q=Fe+8|0,se=Me+8|0;do{if(B=l+4|0,Q=AR(B)|0,Q|0){if(d=RC(Q)|0,n[Me>>2]=0,n[Ge>>2]=0,n[k>>2]=0,f=(TC(Q)|0)+1|0,gLe(Me,f),f|0)for(;f=f+-1|0,xc(Fe,n[d>>2]|0),m=n[Ge>>2]|0,m>>>0<(n[se>>2]|0)>>>0?(n[m>>2]=n[Fe>>2],n[Ge>>2]=(n[Ge>>2]|0)+4):fR(Me,Fe),f;)d=d+4|0;f=NC(Q)|0,n[Fe>>2]=0,n[M>>2]=0,n[O>>2]=0;e:do if(n[f>>2]|0)for(d=0,m=0;;){if((d|0)==(m|0)?dLe(Fe,f):(n[d>>2]=n[f>>2],n[M>>2]=(n[M>>2]|0)+4),f=f+4|0,!(n[f>>2]|0))break e;d=n[M>>2]|0,m=n[q>>2]|0}while(0);n[et>>2]=lD(B)|0,n[Xe>>2]=Rr(Q)|0,mLe(c,s,et,Xe,Me,Fe),pR(Fe),ef(Me)}l=n[l>>2]|0}while((l|0)!=0)}E=lt}function AR(s){return s=s|0,n[s+12>>2]|0}function RC(s){return s=s|0,n[s+12>>2]|0}function TC(s){return s=s|0,n[s+16>>2]|0}function gLe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0;d=E,E=E+32|0,c=d,f=n[s>>2]|0,(n[s+8>>2]|0)-f>>2>>>0<l>>>0&&(F5(c,l,(n[s+4>>2]|0)-f>>2,s+8|0),R5(s,c),T5(c)),E=d}function fR(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0,Q=0,k=0,M=0;if(B=E,E=E+32|0,c=B,f=s+4|0,d=((n[f>>2]|0)-(n[s>>2]|0)>>2)+1|0,m=k5(s)|0,m>>>0<d>>>0)Vr(s);else{Q=n[s>>2]|0,M=(n[s+8>>2]|0)-Q|0,k=M>>1,F5(c,M>>2>>>0<m>>>1>>>0?k>>>0<d>>>0?d:k:m,(n[f>>2]|0)-Q>>2,s+8|0),m=c+8|0,n[n[m>>2]>>2]=n[l>>2],n[m>>2]=(n[m>>2]|0)+4,R5(s,c),T5(c),E=B;return}}function NC(s){return s=s|0,n[s+8>>2]|0}function dLe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0,Q=0,k=0,M=0;if(B=E,E=E+32|0,c=B,f=s+4|0,d=((n[f>>2]|0)-(n[s>>2]|0)>>2)+1|0,m=Q5(s)|0,m>>>0<d>>>0)Vr(s);else{Q=n[s>>2]|0,M=(n[s+8>>2]|0)-Q|0,k=M>>1,LLe(c,M>>2>>>0<m>>>1>>>0?k>>>0<d>>>0?d:k:m,(n[f>>2]|0)-Q>>2,s+8|0),m=c+8|0,n[n[m>>2]>>2]=n[l>>2],n[m>>2]=(n[m>>2]|0)+4,OLe(s,c),MLe(c),E=B;return}}function lD(s){return s=s|0,n[s>>2]|0}function mLe(s,l,c,f,d,m){s=s|0,l=l|0,c=c|0,f=f|0,d=d|0,m=m|0,yLe(s,l,c,f,d,m)}function pR(s){s=s|0;var l=0,c=0,f=0;c=n[s>>2]|0,f=c,c|0&&(s=s+4|0,l=n[s>>2]|0,(l|0)!=(c|0)&&(n[s>>2]=l+(~((l+-4-f|0)>>>2)<<2)),ht(c))}function ef(s){s=s|0;var l=0,c=0,f=0;c=n[s>>2]|0,f=c,c|0&&(s=s+4|0,l=n[s>>2]|0,(l|0)!=(c|0)&&(n[s>>2]=l+(~((l+-4-f|0)>>>2)<<2)),ht(c))}function yLe(s,l,c,f,d,m){s=s|0,l=l|0,c=c|0,f=f|0,d=d|0,m=m|0;var B=0,Q=0,k=0,M=0,O=0,q=0;B=E,E=E+48|0,O=B+40|0,Q=B+32|0,q=B+24|0,k=B+12|0,M=B,Ka(Q),s=ma(s)|0,n[q>>2]=n[l>>2],c=n[c>>2]|0,f=n[f>>2]|0,hR(k,d),ELe(M,m),n[O>>2]=n[q>>2],wLe(s,O,c,f,k,M),pR(M),ef(k),Ja(Q),E=B}function hR(s,l){s=s|0,l=l|0;var c=0,f=0;n[s>>2]=0,n[s+4>>2]=0,n[s+8>>2]=0,c=l+4|0,f=(n[c>>2]|0)-(n[l>>2]|0)>>2,f|0&&(TLe(s,f),NLe(s,n[l>>2]|0,n[c>>2]|0,f))}function ELe(s,l){s=s|0,l=l|0;var c=0,f=0;n[s>>2]=0,n[s+4>>2]=0,n[s+8>>2]=0,c=l+4|0,f=(n[c>>2]|0)-(n[l>>2]|0)>>2,f|0&&(FLe(s,f),RLe(s,n[l>>2]|0,n[c>>2]|0,f))}function wLe(s,l,c,f,d,m){s=s|0,l=l|0,c=c|0,f=f|0,d=d|0,m=m|0;var B=0,Q=0,k=0,M=0,O=0,q=0;B=E,E=E+32|0,O=B+28|0,q=B+24|0,Q=B+12|0,k=B,M=Dl(CLe()|0)|0,n[q>>2]=n[l>>2],n[O>>2]=n[q>>2],l=Qg(O)|0,c=D5(c)|0,f=gR(f)|0,n[Q>>2]=n[d>>2],O=d+4|0,n[Q+4>>2]=n[O>>2],q=d+8|0,n[Q+8>>2]=n[q>>2],n[q>>2]=0,n[O>>2]=0,n[d>>2]=0,d=dR(Q)|0,n[k>>2]=n[m>>2],O=m+4|0,n[k+4>>2]=n[O>>2],q=m+8|0,n[k+8>>2]=n[q>>2],n[q>>2]=0,n[O>>2]=0,n[m>>2]=0,ao(0,M|0,s|0,l|0,c|0,f|0,d|0,ILe(k)|0)|0,pR(k),ef(Q),E=B}function CLe(){var s=0;return o[7968]|0||(QLe(10708),s=7968,n[s>>2]=1,n[s+4>>2]=0),10708}function Qg(s){return s=s|0,P5(s)|0}function D5(s){return s=s|0,S5(s)|0}function gR(s){return s=s|0,sD(s)|0}function dR(s){return s=s|0,vLe(s)|0}function ILe(s){return s=s|0,BLe(s)|0}function BLe(s){s=s|0;var l=0,c=0,f=0;if(f=(n[s+4>>2]|0)-(n[s>>2]|0)|0,c=f>>2,f=Wa(f+4|0)|0,n[f>>2]=c,c|0){l=0;do n[f+4+(l<<2)>>2]=S5(n[(n[s>>2]|0)+(l<<2)>>2]|0)|0,l=l+1|0;while((l|0)!=(c|0))}return f|0}function S5(s){return s=s|0,s|0}function vLe(s){s=s|0;var l=0,c=0,f=0;if(f=(n[s+4>>2]|0)-(n[s>>2]|0)|0,c=f>>2,f=Wa(f+4|0)|0,n[f>>2]=c,c|0){l=0;do n[f+4+(l<<2)>>2]=P5((n[s>>2]|0)+(l<<2)|0)|0,l=l+1|0;while((l|0)!=(c|0))}return f|0}function P5(s){s=s|0;var l=0,c=0,f=0,d=0;return d=E,E=E+32|0,l=d+12|0,c=d,f=xF(x5()|0)|0,f?(bF(l,f),QF(c,l),oUe(s,c),s=kF(l)|0):s=DLe(s)|0,E=d,s|0}function x5(){var s=0;return o[7960]|0||(bLe(10664),ve(25,10664,U|0)|0,s=7960,n[s>>2]=1,n[s+4>>2]=0),10664}function DLe(s){s=s|0;var l=0,c=0,f=0,d=0,m=0,B=0,Q=0;return c=E,E=E+16|0,d=c+4|0,B=c,f=Wa(8)|0,l=f,Q=Kt(4)|0,n[Q>>2]=n[s>>2],m=l+4|0,n[m>>2]=Q,s=Kt(8)|0,m=n[m>>2]|0,n[B>>2]=0,n[d>>2]=n[B>>2],b5(s,m,d),n[f>>2]=s,E=c,l|0}function b5(s,l,c){s=s|0,l=l|0,c=c|0,n[s>>2]=l,c=Kt(16)|0,n[c+4>>2]=0,n[c+8>>2]=0,n[c>>2]=1656,n[c+12>>2]=l,n[s+4>>2]=c}function SLe(s){s=s|0,Vm(s),ht(s)}function PLe(s){s=s|0,s=n[s+12>>2]|0,s|0&&ht(s)}function xLe(s){s=s|0,ht(s)}function bLe(s){s=s|0,Ip(s)}function QLe(s){s=s|0,Sl(s,kLe()|0,5)}function kLe(){return 1676}function FLe(s,l){s=s|0,l=l|0;var c=0;if((Q5(s)|0)>>>0<l>>>0&&Vr(s),l>>>0>1073741823)Rt();else{c=Kt(l<<2)|0,n[s+4>>2]=c,n[s>>2]=c,n[s+8>>2]=c+(l<<2);return}}function RLe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0,f=s+4|0,s=c-l|0,(s|0)>0&&(vr(n[f>>2]|0,l|0,s|0)|0,n[f>>2]=(n[f>>2]|0)+(s>>>2<<2))}function Q5(s){return s=s|0,1073741823}function TLe(s,l){s=s|0,l=l|0;var c=0;if((k5(s)|0)>>>0<l>>>0&&Vr(s),l>>>0>1073741823)Rt();else{c=Kt(l<<2)|0,n[s+4>>2]=c,n[s>>2]=c,n[s+8>>2]=c+(l<<2);return}}function NLe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0,f=s+4|0,s=c-l|0,(s|0)>0&&(vr(n[f>>2]|0,l|0,s|0)|0,n[f>>2]=(n[f>>2]|0)+(s>>>2<<2))}function k5(s){return s=s|0,1073741823}function LLe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0;n[s+12>>2]=0,n[s+16>>2]=f;do if(l)if(l>>>0>1073741823)Rt();else{d=Kt(l<<2)|0;break}else d=0;while(0);n[s>>2]=d,f=d+(c<<2)|0,n[s+8>>2]=f,n[s+4>>2]=f,n[s+12>>2]=d+(l<<2)}function OLe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0;f=n[s>>2]|0,B=s+4|0,m=l+4|0,d=(n[B>>2]|0)-f|0,c=(n[m>>2]|0)+(0-(d>>2)<<2)|0,n[m>>2]=c,(d|0)>0?(vr(c|0,f|0,d|0)|0,f=m,c=n[m>>2]|0):f=m,m=n[s>>2]|0,n[s>>2]=c,n[f>>2]=m,m=l+8|0,d=n[B>>2]|0,n[B>>2]=n[m>>2],n[m>>2]=d,m=s+8|0,B=l+12|0,s=n[m>>2]|0,n[m>>2]=n[B>>2],n[B>>2]=s,n[l>>2]=n[f>>2]}function MLe(s){s=s|0;var l=0,c=0,f=0;l=n[s+4>>2]|0,c=s+8|0,f=n[c>>2]|0,(f|0)!=(l|0)&&(n[c>>2]=f+(~((f+-4-l|0)>>>2)<<2)),s=n[s>>2]|0,s|0&&ht(s)}function F5(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0;n[s+12>>2]=0,n[s+16>>2]=f;do if(l)if(l>>>0>1073741823)Rt();else{d=Kt(l<<2)|0;break}else d=0;while(0);n[s>>2]=d,f=d+(c<<2)|0,n[s+8>>2]=f,n[s+4>>2]=f,n[s+12>>2]=d+(l<<2)}function R5(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0;f=n[s>>2]|0,B=s+4|0,m=l+4|0,d=(n[B>>2]|0)-f|0,c=(n[m>>2]|0)+(0-(d>>2)<<2)|0,n[m>>2]=c,(d|0)>0?(vr(c|0,f|0,d|0)|0,f=m,c=n[m>>2]|0):f=m,m=n[s>>2]|0,n[s>>2]=c,n[f>>2]=m,m=l+8|0,d=n[B>>2]|0,n[B>>2]=n[m>>2],n[m>>2]=d,m=s+8|0,B=l+12|0,s=n[m>>2]|0,n[m>>2]=n[B>>2],n[B>>2]=s,n[l>>2]=n[f>>2]}function T5(s){s=s|0;var l=0,c=0,f=0;l=n[s+4>>2]|0,c=s+8|0,f=n[c>>2]|0,(f|0)!=(l|0)&&(n[c>>2]=f+(~((f+-4-l|0)>>>2)<<2)),s=n[s>>2]|0,s|0&&ht(s)}function ULe(s,l,c,f,d){s=s|0,l=l|0,c=c|0,f=f|0,d=d|0;var m=0,B=0,Q=0,k=0,M=0,O=0,q=0,se=0,Ge=0,Me=0,Fe=0;if(Fe=E,E=E+32|0,O=Fe+20|0,q=Fe+12|0,M=Fe+16|0,se=Fe+4|0,Ge=Fe,Me=Fe+8|0,Q=I5()|0,m=n[Q>>2]|0,B=n[m>>2]|0,B|0)for(k=n[Q+8>>2]|0,Q=n[Q+4>>2]|0;xc(O,B),_Le(s,O,Q,k),m=m+4|0,B=n[m>>2]|0,B;)k=k+1|0,Q=Q+1|0;if(m=B5()|0,B=n[m>>2]|0,B|0)do xc(O,B),n[q>>2]=n[m+4>>2],HLe(l,O,q),m=m+8|0,B=n[m>>2]|0;while((B|0)!=0);if(m=n[(Gm()|0)>>2]|0,m|0)do l=n[m+4>>2]|0,xc(O,n[(Ym(l)|0)>>2]|0),n[q>>2]=cR(l)|0,jLe(c,O,q),m=n[m>>2]|0;while((m|0)!=0);if(xc(M,0),m=uR()|0,n[O>>2]=n[M>>2],v5(O,m,d),m=n[(Gm()|0)>>2]|0,m|0){s=O+4|0,l=O+8|0,c=O+8|0;do{if(k=n[m+4>>2]|0,xc(q,n[(Ym(k)|0)>>2]|0),qLe(se,N5(k)|0),B=n[se>>2]|0,B|0){n[O>>2]=0,n[s>>2]=0,n[l>>2]=0;do xc(Ge,n[(Ym(n[B+4>>2]|0)|0)>>2]|0),Q=n[s>>2]|0,Q>>>0<(n[c>>2]|0)>>>0?(n[Q>>2]=n[Ge>>2],n[s>>2]=(n[s>>2]|0)+4):fR(O,Ge),B=n[B>>2]|0;while((B|0)!=0);GLe(f,q,O),ef(O)}n[Me>>2]=n[q>>2],M=L5(k)|0,n[O>>2]=n[Me>>2],v5(O,M,d),i9(se),m=n[m>>2]|0}while((m|0)!=0)}E=Fe}function _Le(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0,rOe(s,l,c,f)}function HLe(s,l,c){s=s|0,l=l|0,c=c|0,tOe(s,l,c)}function Ym(s){return s=s|0,s|0}function jLe(s,l,c){s=s|0,l=l|0,c=c|0,XLe(s,l,c)}function N5(s){return s=s|0,s+16|0}function qLe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0,Q=0,k=0;if(m=E,E=E+16|0,d=m+8|0,c=m,n[s>>2]=0,f=n[l>>2]|0,n[d>>2]=f,n[c>>2]=s,c=zLe(c)|0,f|0){if(f=Kt(12)|0,B=(O5(d)|0)+4|0,s=n[B+4>>2]|0,l=f+4|0,n[l>>2]=n[B>>2],n[l+4>>2]=s,l=n[n[d>>2]>>2]|0,n[d>>2]=l,!l)s=f;else for(l=f;s=Kt(12)|0,k=(O5(d)|0)+4|0,Q=n[k+4>>2]|0,B=s+4|0,n[B>>2]=n[k>>2],n[B+4>>2]=Q,n[l>>2]=s,B=n[n[d>>2]>>2]|0,n[d>>2]=B,B;)l=s;n[s>>2]=n[c>>2],n[c>>2]=f}E=m}function GLe(s,l,c){s=s|0,l=l|0,c=c|0,YLe(s,l,c)}function L5(s){return s=s|0,s+24|0}function YLe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,Q=0;f=E,E=E+32|0,B=f+24|0,d=f+16|0,Q=f+12|0,m=f,Ka(d),s=ma(s)|0,n[Q>>2]=n[l>>2],hR(m,c),n[B>>2]=n[Q>>2],WLe(s,B,m),ef(m),Ja(d),E=f}function WLe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,Q=0;f=E,E=E+32|0,B=f+16|0,Q=f+12|0,d=f,m=Dl(KLe()|0)|0,n[Q>>2]=n[l>>2],n[B>>2]=n[Q>>2],l=Qg(B)|0,n[d>>2]=n[c>>2],B=c+4|0,n[d+4>>2]=n[B>>2],Q=c+8|0,n[d+8>>2]=n[Q>>2],n[Q>>2]=0,n[B>>2]=0,n[c>>2]=0,oo(0,m|0,s|0,l|0,dR(d)|0)|0,ef(d),E=f}function KLe(){var s=0;return o[7976]|0||(JLe(10720),s=7976,n[s>>2]=1,n[s+4>>2]=0),10720}function JLe(s){s=s|0,Sl(s,VLe()|0,2)}function VLe(){return 1732}function zLe(s){return s=s|0,n[s>>2]|0}function O5(s){return s=s|0,n[s>>2]|0}function XLe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0;f=E,E=E+32|0,m=f+16|0,d=f+8|0,B=f,Ka(d),s=ma(s)|0,n[B>>2]=n[l>>2],c=n[c>>2]|0,n[m>>2]=n[B>>2],M5(s,m,c),Ja(d),E=f}function M5(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0;f=E,E=E+16|0,m=f+4|0,B=f,d=Dl(ZLe()|0)|0,n[B>>2]=n[l>>2],n[m>>2]=n[B>>2],l=Qg(m)|0,oo(0,d|0,s|0,l|0,D5(c)|0)|0,E=f}function ZLe(){var s=0;return o[7984]|0||($Le(10732),s=7984,n[s>>2]=1,n[s+4>>2]=0),10732}function $Le(s){s=s|0,Sl(s,eOe()|0,2)}function eOe(){return 1744}function tOe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0;f=E,E=E+32|0,m=f+16|0,d=f+8|0,B=f,Ka(d),s=ma(s)|0,n[B>>2]=n[l>>2],c=n[c>>2]|0,n[m>>2]=n[B>>2],M5(s,m,c),Ja(d),E=f}function rOe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0,m=0,B=0,Q=0;d=E,E=E+32|0,B=d+16|0,m=d+8|0,Q=d,Ka(m),s=ma(s)|0,n[Q>>2]=n[l>>2],c=o[c>>0]|0,f=o[f>>0]|0,n[B>>2]=n[Q>>2],nOe(s,B,c,f),Ja(m),E=d}function nOe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0,m=0,B=0,Q=0;d=E,E=E+16|0,B=d+4|0,Q=d,m=Dl(iOe()|0)|0,n[Q>>2]=n[l>>2],n[B>>2]=n[Q>>2],l=Qg(B)|0,c=Wm(c)|0,pc(0,m|0,s|0,l|0,c|0,Wm(f)|0)|0,E=d}function iOe(){var s=0;return o[7992]|0||(oOe(10744),s=7992,n[s>>2]=1,n[s+4>>2]=0),10744}function Wm(s){return s=s|0,sOe(s)|0}function sOe(s){return s=s|0,s&255|0}function oOe(s){s=s|0,Sl(s,aOe()|0,3)}function aOe(){return 1756}function lOe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,Q=0,k=0,M=0,O=0,q=0,se=0;switch(se=E,E=E+32|0,Q=se+8|0,k=se+4|0,M=se+20|0,O=se,NF(s,0),f=sUe(l)|0,n[Q>>2]=0,q=Q+4|0,n[q>>2]=0,n[Q+8>>2]=0,f<<24>>24){case 0:{o[M>>0]=0,cOe(k,c,M),cD(s,k)|0,GA(k);break}case 8:{q=IR(l)|0,o[M>>0]=8,xc(O,n[q+4>>2]|0),uOe(k,c,M,O,q+8|0),cD(s,k)|0,GA(k);break}case 9:{if(m=IR(l)|0,l=n[m+4>>2]|0,l|0)for(B=Q+8|0,d=m+12|0;l=l+-1|0,xc(k,n[d>>2]|0),f=n[q>>2]|0,f>>>0<(n[B>>2]|0)>>>0?(n[f>>2]=n[k>>2],n[q>>2]=(n[q>>2]|0)+4):fR(Q,k),l;)d=d+4|0;o[M>>0]=9,xc(O,n[m+8>>2]|0),AOe(k,c,M,O,Q),cD(s,k)|0,GA(k);break}default:q=IR(l)|0,o[M>>0]=f,xc(O,n[q+4>>2]|0),fOe(k,c,M,O),cD(s,k)|0,GA(k)}ef(Q),E=se}function cOe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0;f=E,E=E+16|0,d=f,Ka(d),l=ma(l)|0,DOe(s,l,o[c>>0]|0),Ja(d),E=f}function cD(s,l){s=s|0,l=l|0;var c=0;return c=n[s>>2]|0,c|0&&PA(c|0),n[s>>2]=n[l>>2],n[l>>2]=0,s|0}function uOe(s,l,c,f,d){s=s|0,l=l|0,c=c|0,f=f|0,d=d|0;var m=0,B=0,Q=0,k=0;m=E,E=E+32|0,Q=m+16|0,B=m+8|0,k=m,Ka(B),l=ma(l)|0,c=o[c>>0]|0,n[k>>2]=n[f>>2],d=n[d>>2]|0,n[Q>>2]=n[k>>2],COe(s,l,c,Q,d),Ja(B),E=m}function AOe(s,l,c,f,d){s=s|0,l=l|0,c=c|0,f=f|0,d=d|0;var m=0,B=0,Q=0,k=0,M=0;m=E,E=E+32|0,k=m+24|0,B=m+16|0,M=m+12|0,Q=m,Ka(B),l=ma(l)|0,c=o[c>>0]|0,n[M>>2]=n[f>>2],hR(Q,d),n[k>>2]=n[M>>2],mOe(s,l,c,k,Q),ef(Q),Ja(B),E=m}function fOe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0,m=0,B=0,Q=0;d=E,E=E+32|0,B=d+16|0,m=d+8|0,Q=d,Ka(m),l=ma(l)|0,c=o[c>>0]|0,n[Q>>2]=n[f>>2],n[B>>2]=n[Q>>2],pOe(s,l,c,B),Ja(m),E=d}function pOe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0,m=0,B=0,Q=0;d=E,E=E+16|0,m=d+4|0,Q=d,B=Dl(hOe()|0)|0,c=Wm(c)|0,n[Q>>2]=n[f>>2],n[m>>2]=n[Q>>2],uD(s,oo(0,B|0,l|0,c|0,Qg(m)|0)|0),E=d}function hOe(){var s=0;return o[8e3]|0||(gOe(10756),s=8e3,n[s>>2]=1,n[s+4>>2]=0),10756}function uD(s,l){s=s|0,l=l|0,NF(s,l)}function gOe(s){s=s|0,Sl(s,dOe()|0,2)}function dOe(){return 1772}function mOe(s,l,c,f,d){s=s|0,l=l|0,c=c|0,f=f|0,d=d|0;var m=0,B=0,Q=0,k=0,M=0;m=E,E=E+32|0,k=m+16|0,M=m+12|0,B=m,Q=Dl(yOe()|0)|0,c=Wm(c)|0,n[M>>2]=n[f>>2],n[k>>2]=n[M>>2],f=Qg(k)|0,n[B>>2]=n[d>>2],k=d+4|0,n[B+4>>2]=n[k>>2],M=d+8|0,n[B+8>>2]=n[M>>2],n[M>>2]=0,n[k>>2]=0,n[d>>2]=0,uD(s,pc(0,Q|0,l|0,c|0,f|0,dR(B)|0)|0),ef(B),E=m}function yOe(){var s=0;return o[8008]|0||(EOe(10768),s=8008,n[s>>2]=1,n[s+4>>2]=0),10768}function EOe(s){s=s|0,Sl(s,wOe()|0,3)}function wOe(){return 1784}function COe(s,l,c,f,d){s=s|0,l=l|0,c=c|0,f=f|0,d=d|0;var m=0,B=0,Q=0,k=0;m=E,E=E+16|0,Q=m+4|0,k=m,B=Dl(IOe()|0)|0,c=Wm(c)|0,n[k>>2]=n[f>>2],n[Q>>2]=n[k>>2],f=Qg(Q)|0,uD(s,pc(0,B|0,l|0,c|0,f|0,gR(d)|0)|0),E=m}function IOe(){var s=0;return o[8016]|0||(BOe(10780),s=8016,n[s>>2]=1,n[s+4>>2]=0),10780}function BOe(s){s=s|0,Sl(s,vOe()|0,3)}function vOe(){return 1800}function DOe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0;f=Dl(SOe()|0)|0,uD(s,Qn(0,f|0,l|0,Wm(c)|0)|0)}function SOe(){var s=0;return o[8024]|0||(POe(10792),s=8024,n[s>>2]=1,n[s+4>>2]=0),10792}function POe(s){s=s|0,Sl(s,xOe()|0,1)}function xOe(){return 1816}function bOe(){QOe(),kOe(),FOe()}function QOe(){n[2702]=f7(65536)|0}function kOe(){ZOe(10856)}function FOe(){ROe(10816)}function ROe(s){s=s|0,TOe(s,5044),NOe(s)|0}function TOe(s,l){s=s|0,l=l|0;var c=0;c=x5()|0,n[s>>2]=c,WOe(c,l),Pp(n[s>>2]|0)}function NOe(s){s=s|0;var l=0;return l=n[s>>2]|0,xg(l,LOe()|0),s|0}function LOe(){var s=0;return o[8032]|0||(U5(10820),ve(64,10820,U|0)|0,s=8032,n[s>>2]=1,n[s+4>>2]=0),Rr(10820)|0||U5(10820),10820}function U5(s){s=s|0,UOe(s),bg(s,25)}function OOe(s){s=s|0,MOe(s+24|0)}function MOe(s){s=s|0;var l=0,c=0,f=0;c=n[s>>2]|0,f=c,c|0&&(s=s+4|0,l=n[s>>2]|0,(l|0)!=(c|0)&&(n[s>>2]=l+(~((l+-8-f|0)>>>3)<<3)),ht(c))}function UOe(s){s=s|0;var l=0;l=Wr()|0,Kr(s,5,18,l,qOe()|0,1),n[s+24>>2]=0,n[s+28>>2]=0,n[s+32>>2]=0}function _Oe(s,l){s=s|0,l=l|0,HOe(s,l)}function HOe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0;c=E,E=E+16|0,f=c,d=c+4|0,Sg(d,l),n[f>>2]=Pg(d,l)|0,jOe(s,f),E=c}function jOe(s,l){s=s|0,l=l|0,_5(s+4|0,n[l>>2]|0),o[s+8>>0]=1}function _5(s,l){s=s|0,l=l|0,n[s>>2]=l}function qOe(){return 1824}function GOe(s){return s=s|0,YOe(s)|0}function YOe(s){s=s|0;var l=0,c=0,f=0,d=0,m=0,B=0,Q=0;return c=E,E=E+16|0,d=c+4|0,B=c,f=Wa(8)|0,l=f,Q=Kt(4)|0,Sg(d,s),_5(Q,Pg(d,s)|0),m=l+4|0,n[m>>2]=Q,s=Kt(8)|0,m=n[m>>2]|0,n[B>>2]=0,n[d>>2]=n[B>>2],b5(s,m,d),n[f>>2]=s,E=c,l|0}function Wa(s){s=s|0;var l=0,c=0;return s=s+7&-8,s>>>0<=32768&&(l=n[2701]|0,s>>>0<=(65536-l|0)>>>0)?(c=(n[2702]|0)+l|0,n[2701]=l+s,s=c):(s=f7(s+8|0)|0,n[s>>2]=n[2703],n[2703]=s,s=s+8|0),s|0}function WOe(s,l){s=s|0,l=l|0,n[s>>2]=KOe()|0,n[s+4>>2]=JOe()|0,n[s+12>>2]=l,n[s+8>>2]=VOe()|0,n[s+32>>2]=9}function KOe(){return 11744}function JOe(){return 1832}function VOe(){return aD()|0}function zOe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0,(Sp(f,896)|0)==512?c|0&&(XOe(c),ht(c)):l|0&&ht(l)}function XOe(s){s=s|0,s=n[s+4>>2]|0,s|0&&xp(s)}function ZOe(s){s=s|0,$Oe(s,5052),eMe(s)|0,tMe(s,5058,26)|0,rMe(s,5069,1)|0,nMe(s,5077,10)|0,iMe(s,5087,19)|0,sMe(s,5094,27)|0}function $Oe(s,l){s=s|0,l=l|0;var c=0;c=X4e()|0,n[s>>2]=c,Z4e(c,l),Pp(n[s>>2]|0)}function eMe(s){s=s|0;var l=0;return l=n[s>>2]|0,xg(l,O4e()|0),s|0}function tMe(s,l,c){return s=s|0,l=l|0,c=c|0,E4e(s,fn(l)|0,c,0),s|0}function rMe(s,l,c){return s=s|0,l=l|0,c=c|0,i4e(s,fn(l)|0,c,0),s|0}function nMe(s,l,c){return s=s|0,l=l|0,c=c|0,LMe(s,fn(l)|0,c,0),s|0}function iMe(s,l,c){return s=s|0,l=l|0,c=c|0,CMe(s,fn(l)|0,c,0),s|0}function H5(s,l){s=s|0,l=l|0;var c=0,f=0;e:for(;;){for(c=n[2703]|0;;){if((c|0)==(l|0))break e;if(f=n[c>>2]|0,n[2703]=f,!c)c=f;else break}ht(c)}n[2701]=s}function sMe(s,l,c){return s=s|0,l=l|0,c=c|0,oMe(s,fn(l)|0,c,0),s|0}function oMe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0,m=0;m=n[s>>2]|0,d=mR()|0,s=aMe(c)|0,pn(m,l,d,s,lMe(c,f)|0,f)}function mR(){var s=0,l=0;if(o[8040]|0||(q5(10860),ve(65,10860,U|0)|0,l=8040,n[l>>2]=1,n[l+4>>2]=0),!(Rr(10860)|0)){s=10860,l=s+36|0;do n[s>>2]=0,s=s+4|0;while((s|0)<(l|0));q5(10860)}return 10860}function aMe(s){return s=s|0,s|0}function lMe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0,Q=0,k=0;return Q=E,E=E+16|0,d=Q,m=Q+4|0,n[d>>2]=s,k=mR()|0,B=k+24|0,l=hr(l,4)|0,n[m>>2]=l,c=k+28|0,f=n[c>>2]|0,f>>>0<(n[k+32>>2]|0)>>>0?(j5(f,s,l),l=(n[c>>2]|0)+8|0,n[c>>2]=l):(cMe(B,d,m),l=n[c>>2]|0),E=Q,(l-(n[B>>2]|0)>>3)+-1|0}function j5(s,l,c){s=s|0,l=l|0,c=c|0,n[s>>2]=l,n[s+4>>2]=c}function cMe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,Q=0,k=0,M=0,O=0;if(Q=E,E=E+32|0,d=Q,m=s+4|0,B=((n[m>>2]|0)-(n[s>>2]|0)>>3)+1|0,f=uMe(s)|0,f>>>0<B>>>0)Vr(s);else{k=n[s>>2]|0,O=(n[s+8>>2]|0)-k|0,M=O>>2,AMe(d,O>>3>>>0<f>>>1>>>0?M>>>0<B>>>0?B:M:f,(n[m>>2]|0)-k>>3,s+8|0),B=d+8|0,j5(n[B>>2]|0,n[l>>2]|0,n[c>>2]|0),n[B>>2]=(n[B>>2]|0)+8,fMe(s,d),pMe(d),E=Q;return}}function uMe(s){return s=s|0,536870911}function AMe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0;n[s+12>>2]=0,n[s+16>>2]=f;do if(l)if(l>>>0>536870911)Rt();else{d=Kt(l<<3)|0;break}else d=0;while(0);n[s>>2]=d,f=d+(c<<3)|0,n[s+8>>2]=f,n[s+4>>2]=f,n[s+12>>2]=d+(l<<3)}function fMe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0;f=n[s>>2]|0,B=s+4|0,m=l+4|0,d=(n[B>>2]|0)-f|0,c=(n[m>>2]|0)+(0-(d>>3)<<3)|0,n[m>>2]=c,(d|0)>0?(vr(c|0,f|0,d|0)|0,f=m,c=n[m>>2]|0):f=m,m=n[s>>2]|0,n[s>>2]=c,n[f>>2]=m,m=l+8|0,d=n[B>>2]|0,n[B>>2]=n[m>>2],n[m>>2]=d,m=s+8|0,B=l+12|0,s=n[m>>2]|0,n[m>>2]=n[B>>2],n[B>>2]=s,n[l>>2]=n[f>>2]}function pMe(s){s=s|0;var l=0,c=0,f=0;l=n[s+4>>2]|0,c=s+8|0,f=n[c>>2]|0,(f|0)!=(l|0)&&(n[c>>2]=f+(~((f+-8-l|0)>>>3)<<3)),s=n[s>>2]|0,s|0&&ht(s)}function q5(s){s=s|0,dMe(s)}function hMe(s){s=s|0,gMe(s+24|0)}function gMe(s){s=s|0;var l=0,c=0,f=0;c=n[s>>2]|0,f=c,c|0&&(s=s+4|0,l=n[s>>2]|0,(l|0)!=(c|0)&&(n[s>>2]=l+(~((l+-8-f|0)>>>3)<<3)),ht(c))}function dMe(s){s=s|0;var l=0;l=Wr()|0,Kr(s,1,11,l,mMe()|0,2),n[s+24>>2]=0,n[s+28>>2]=0,n[s+32>>2]=0}function mMe(){return 1840}function yMe(s,l,c){s=s|0,l=l|0,c=c|0,wMe(n[(EMe(s)|0)>>2]|0,l,c)}function EMe(s){return s=s|0,(n[(mR()|0)+24>>2]|0)+(s<<3)|0}function wMe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0;f=E,E=E+16|0,m=f+1|0,d=f,Sg(m,l),l=Pg(m,l)|0,Sg(d,c),c=Pg(d,c)|0,rf[s&31](l,c),E=f}function CMe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0,m=0;m=n[s>>2]|0,d=yR()|0,s=IMe(c)|0,pn(m,l,d,s,BMe(c,f)|0,f)}function yR(){var s=0,l=0;if(o[8048]|0||(Y5(10896),ve(66,10896,U|0)|0,l=8048,n[l>>2]=1,n[l+4>>2]=0),!(Rr(10896)|0)){s=10896,l=s+36|0;do n[s>>2]=0,s=s+4|0;while((s|0)<(l|0));Y5(10896)}return 10896}function IMe(s){return s=s|0,s|0}function BMe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0,Q=0,k=0;return Q=E,E=E+16|0,d=Q,m=Q+4|0,n[d>>2]=s,k=yR()|0,B=k+24|0,l=hr(l,4)|0,n[m>>2]=l,c=k+28|0,f=n[c>>2]|0,f>>>0<(n[k+32>>2]|0)>>>0?(G5(f,s,l),l=(n[c>>2]|0)+8|0,n[c>>2]=l):(vMe(B,d,m),l=n[c>>2]|0),E=Q,(l-(n[B>>2]|0)>>3)+-1|0}function G5(s,l,c){s=s|0,l=l|0,c=c|0,n[s>>2]=l,n[s+4>>2]=c}function vMe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,Q=0,k=0,M=0,O=0;if(Q=E,E=E+32|0,d=Q,m=s+4|0,B=((n[m>>2]|0)-(n[s>>2]|0)>>3)+1|0,f=DMe(s)|0,f>>>0<B>>>0)Vr(s);else{k=n[s>>2]|0,O=(n[s+8>>2]|0)-k|0,M=O>>2,SMe(d,O>>3>>>0<f>>>1>>>0?M>>>0<B>>>0?B:M:f,(n[m>>2]|0)-k>>3,s+8|0),B=d+8|0,G5(n[B>>2]|0,n[l>>2]|0,n[c>>2]|0),n[B>>2]=(n[B>>2]|0)+8,PMe(s,d),xMe(d),E=Q;return}}function DMe(s){return s=s|0,536870911}function SMe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0;n[s+12>>2]=0,n[s+16>>2]=f;do if(l)if(l>>>0>536870911)Rt();else{d=Kt(l<<3)|0;break}else d=0;while(0);n[s>>2]=d,f=d+(c<<3)|0,n[s+8>>2]=f,n[s+4>>2]=f,n[s+12>>2]=d+(l<<3)}function PMe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0;f=n[s>>2]|0,B=s+4|0,m=l+4|0,d=(n[B>>2]|0)-f|0,c=(n[m>>2]|0)+(0-(d>>3)<<3)|0,n[m>>2]=c,(d|0)>0?(vr(c|0,f|0,d|0)|0,f=m,c=n[m>>2]|0):f=m,m=n[s>>2]|0,n[s>>2]=c,n[f>>2]=m,m=l+8|0,d=n[B>>2]|0,n[B>>2]=n[m>>2],n[m>>2]=d,m=s+8|0,B=l+12|0,s=n[m>>2]|0,n[m>>2]=n[B>>2],n[B>>2]=s,n[l>>2]=n[f>>2]}function xMe(s){s=s|0;var l=0,c=0,f=0;l=n[s+4>>2]|0,c=s+8|0,f=n[c>>2]|0,(f|0)!=(l|0)&&(n[c>>2]=f+(~((f+-8-l|0)>>>3)<<3)),s=n[s>>2]|0,s|0&&ht(s)}function Y5(s){s=s|0,kMe(s)}function bMe(s){s=s|0,QMe(s+24|0)}function QMe(s){s=s|0;var l=0,c=0,f=0;c=n[s>>2]|0,f=c,c|0&&(s=s+4|0,l=n[s>>2]|0,(l|0)!=(c|0)&&(n[s>>2]=l+(~((l+-8-f|0)>>>3)<<3)),ht(c))}function kMe(s){s=s|0;var l=0;l=Wr()|0,Kr(s,1,11,l,FMe()|0,1),n[s+24>>2]=0,n[s+28>>2]=0,n[s+32>>2]=0}function FMe(){return 1852}function RMe(s,l){return s=s|0,l=l|0,NMe(n[(TMe(s)|0)>>2]|0,l)|0}function TMe(s){return s=s|0,(n[(yR()|0)+24>>2]|0)+(s<<3)|0}function NMe(s,l){s=s|0,l=l|0;var c=0,f=0;return c=E,E=E+16|0,f=c,Sg(f,l),l=Pg(f,l)|0,l=sD(Tg[s&31](l)|0)|0,E=c,l|0}function LMe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0,m=0;m=n[s>>2]|0,d=ER()|0,s=OMe(c)|0,pn(m,l,d,s,MMe(c,f)|0,f)}function ER(){var s=0,l=0;if(o[8056]|0||(K5(10932),ve(67,10932,U|0)|0,l=8056,n[l>>2]=1,n[l+4>>2]=0),!(Rr(10932)|0)){s=10932,l=s+36|0;do n[s>>2]=0,s=s+4|0;while((s|0)<(l|0));K5(10932)}return 10932}function OMe(s){return s=s|0,s|0}function MMe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0,Q=0,k=0;return Q=E,E=E+16|0,d=Q,m=Q+4|0,n[d>>2]=s,k=ER()|0,B=k+24|0,l=hr(l,4)|0,n[m>>2]=l,c=k+28|0,f=n[c>>2]|0,f>>>0<(n[k+32>>2]|0)>>>0?(W5(f,s,l),l=(n[c>>2]|0)+8|0,n[c>>2]=l):(UMe(B,d,m),l=n[c>>2]|0),E=Q,(l-(n[B>>2]|0)>>3)+-1|0}function W5(s,l,c){s=s|0,l=l|0,c=c|0,n[s>>2]=l,n[s+4>>2]=c}function UMe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,Q=0,k=0,M=0,O=0;if(Q=E,E=E+32|0,d=Q,m=s+4|0,B=((n[m>>2]|0)-(n[s>>2]|0)>>3)+1|0,f=_Me(s)|0,f>>>0<B>>>0)Vr(s);else{k=n[s>>2]|0,O=(n[s+8>>2]|0)-k|0,M=O>>2,HMe(d,O>>3>>>0<f>>>1>>>0?M>>>0<B>>>0?B:M:f,(n[m>>2]|0)-k>>3,s+8|0),B=d+8|0,W5(n[B>>2]|0,n[l>>2]|0,n[c>>2]|0),n[B>>2]=(n[B>>2]|0)+8,jMe(s,d),qMe(d),E=Q;return}}function _Me(s){return s=s|0,536870911}function HMe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0;n[s+12>>2]=0,n[s+16>>2]=f;do if(l)if(l>>>0>536870911)Rt();else{d=Kt(l<<3)|0;break}else d=0;while(0);n[s>>2]=d,f=d+(c<<3)|0,n[s+8>>2]=f,n[s+4>>2]=f,n[s+12>>2]=d+(l<<3)}function jMe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0;f=n[s>>2]|0,B=s+4|0,m=l+4|0,d=(n[B>>2]|0)-f|0,c=(n[m>>2]|0)+(0-(d>>3)<<3)|0,n[m>>2]=c,(d|0)>0?(vr(c|0,f|0,d|0)|0,f=m,c=n[m>>2]|0):f=m,m=n[s>>2]|0,n[s>>2]=c,n[f>>2]=m,m=l+8|0,d=n[B>>2]|0,n[B>>2]=n[m>>2],n[m>>2]=d,m=s+8|0,B=l+12|0,s=n[m>>2]|0,n[m>>2]=n[B>>2],n[B>>2]=s,n[l>>2]=n[f>>2]}function qMe(s){s=s|0;var l=0,c=0,f=0;l=n[s+4>>2]|0,c=s+8|0,f=n[c>>2]|0,(f|0)!=(l|0)&&(n[c>>2]=f+(~((f+-8-l|0)>>>3)<<3)),s=n[s>>2]|0,s|0&&ht(s)}function K5(s){s=s|0,WMe(s)}function GMe(s){s=s|0,YMe(s+24|0)}function YMe(s){s=s|0;var l=0,c=0,f=0;c=n[s>>2]|0,f=c,c|0&&(s=s+4|0,l=n[s>>2]|0,(l|0)!=(c|0)&&(n[s>>2]=l+(~((l+-8-f|0)>>>3)<<3)),ht(c))}function WMe(s){s=s|0;var l=0;l=Wr()|0,Kr(s,1,7,l,KMe()|0,2),n[s+24>>2]=0,n[s+28>>2]=0,n[s+32>>2]=0}function KMe(){return 1860}function JMe(s,l,c){return s=s|0,l=l|0,c=c|0,zMe(n[(VMe(s)|0)>>2]|0,l,c)|0}function VMe(s){return s=s|0,(n[(ER()|0)+24>>2]|0)+(s<<3)|0}function zMe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,Q=0,k=0;return f=E,E=E+32|0,B=f+12|0,m=f+8|0,Q=f,k=f+16|0,d=f+4|0,XMe(k,l),ZMe(Q,k,l),Bp(d,c),c=vp(d,c)|0,n[B>>2]=n[Q>>2],UC[s&15](m,B,c),c=$Me(m)|0,GA(m),Dp(d),E=f,c|0}function XMe(s,l){s=s|0,l=l|0}function ZMe(s,l,c){s=s|0,l=l|0,c=c|0,e4e(s,c)}function $Me(s){return s=s|0,ma(s)|0}function e4e(s,l){s=s|0,l=l|0;var c=0,f=0,d=0;d=E,E=E+16|0,c=d,f=l,f&1?(t4e(c,0),ni(f|0,c|0)|0,r4e(s,c),n4e(c)):n[s>>2]=n[l>>2],E=d}function t4e(s,l){s=s|0,l=l|0,zG(s,l),n[s+4>>2]=0,o[s+8>>0]=0}function r4e(s,l){s=s|0,l=l|0,n[s>>2]=n[l+4>>2]}function n4e(s){s=s|0,o[s+8>>0]=0}function i4e(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0,m=0;m=n[s>>2]|0,d=wR()|0,s=s4e(c)|0,pn(m,l,d,s,o4e(c,f)|0,f)}function wR(){var s=0,l=0;if(o[8064]|0||(V5(10968),ve(68,10968,U|0)|0,l=8064,n[l>>2]=1,n[l+4>>2]=0),!(Rr(10968)|0)){s=10968,l=s+36|0;do n[s>>2]=0,s=s+4|0;while((s|0)<(l|0));V5(10968)}return 10968}function s4e(s){return s=s|0,s|0}function o4e(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0,Q=0,k=0;return Q=E,E=E+16|0,d=Q,m=Q+4|0,n[d>>2]=s,k=wR()|0,B=k+24|0,l=hr(l,4)|0,n[m>>2]=l,c=k+28|0,f=n[c>>2]|0,f>>>0<(n[k+32>>2]|0)>>>0?(J5(f,s,l),l=(n[c>>2]|0)+8|0,n[c>>2]=l):(a4e(B,d,m),l=n[c>>2]|0),E=Q,(l-(n[B>>2]|0)>>3)+-1|0}function J5(s,l,c){s=s|0,l=l|0,c=c|0,n[s>>2]=l,n[s+4>>2]=c}function a4e(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,Q=0,k=0,M=0,O=0;if(Q=E,E=E+32|0,d=Q,m=s+4|0,B=((n[m>>2]|0)-(n[s>>2]|0)>>3)+1|0,f=l4e(s)|0,f>>>0<B>>>0)Vr(s);else{k=n[s>>2]|0,O=(n[s+8>>2]|0)-k|0,M=O>>2,c4e(d,O>>3>>>0<f>>>1>>>0?M>>>0<B>>>0?B:M:f,(n[m>>2]|0)-k>>3,s+8|0),B=d+8|0,J5(n[B>>2]|0,n[l>>2]|0,n[c>>2]|0),n[B>>2]=(n[B>>2]|0)+8,u4e(s,d),A4e(d),E=Q;return}}function l4e(s){return s=s|0,536870911}function c4e(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0;n[s+12>>2]=0,n[s+16>>2]=f;do if(l)if(l>>>0>536870911)Rt();else{d=Kt(l<<3)|0;break}else d=0;while(0);n[s>>2]=d,f=d+(c<<3)|0,n[s+8>>2]=f,n[s+4>>2]=f,n[s+12>>2]=d+(l<<3)}function u4e(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0;f=n[s>>2]|0,B=s+4|0,m=l+4|0,d=(n[B>>2]|0)-f|0,c=(n[m>>2]|0)+(0-(d>>3)<<3)|0,n[m>>2]=c,(d|0)>0?(vr(c|0,f|0,d|0)|0,f=m,c=n[m>>2]|0):f=m,m=n[s>>2]|0,n[s>>2]=c,n[f>>2]=m,m=l+8|0,d=n[B>>2]|0,n[B>>2]=n[m>>2],n[m>>2]=d,m=s+8|0,B=l+12|0,s=n[m>>2]|0,n[m>>2]=n[B>>2],n[B>>2]=s,n[l>>2]=n[f>>2]}function A4e(s){s=s|0;var l=0,c=0,f=0;l=n[s+4>>2]|0,c=s+8|0,f=n[c>>2]|0,(f|0)!=(l|0)&&(n[c>>2]=f+(~((f+-8-l|0)>>>3)<<3)),s=n[s>>2]|0,s|0&&ht(s)}function V5(s){s=s|0,h4e(s)}function f4e(s){s=s|0,p4e(s+24|0)}function p4e(s){s=s|0;var l=0,c=0,f=0;c=n[s>>2]|0,f=c,c|0&&(s=s+4|0,l=n[s>>2]|0,(l|0)!=(c|0)&&(n[s>>2]=l+(~((l+-8-f|0)>>>3)<<3)),ht(c))}function h4e(s){s=s|0;var l=0;l=Wr()|0,Kr(s,1,1,l,g4e()|0,5),n[s+24>>2]=0,n[s+28>>2]=0,n[s+32>>2]=0}function g4e(){return 1872}function d4e(s,l,c,f,d,m){s=s|0,l=l|0,c=c|0,f=f|0,d=d|0,m=m|0,y4e(n[(m4e(s)|0)>>2]|0,l,c,f,d,m)}function m4e(s){return s=s|0,(n[(wR()|0)+24>>2]|0)+(s<<3)|0}function y4e(s,l,c,f,d,m){s=s|0,l=l|0,c=c|0,f=f|0,d=d|0,m=m|0;var B=0,Q=0,k=0,M=0,O=0,q=0;B=E,E=E+32|0,Q=B+16|0,k=B+12|0,M=B+8|0,O=B+4|0,q=B,Bp(Q,l),l=vp(Q,l)|0,Bp(k,c),c=vp(k,c)|0,Bp(M,f),f=vp(M,f)|0,Bp(O,d),d=vp(O,d)|0,Bp(q,m),m=vp(q,m)|0,m7[s&1](l,c,f,d,m),Dp(q),Dp(O),Dp(M),Dp(k),Dp(Q),E=B}function E4e(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0,m=0;m=n[s>>2]|0,d=CR()|0,s=w4e(c)|0,pn(m,l,d,s,C4e(c,f)|0,f)}function CR(){var s=0,l=0;if(o[8072]|0||(X5(11004),ve(69,11004,U|0)|0,l=8072,n[l>>2]=1,n[l+4>>2]=0),!(Rr(11004)|0)){s=11004,l=s+36|0;do n[s>>2]=0,s=s+4|0;while((s|0)<(l|0));X5(11004)}return 11004}function w4e(s){return s=s|0,s|0}function C4e(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0,Q=0,k=0;return Q=E,E=E+16|0,d=Q,m=Q+4|0,n[d>>2]=s,k=CR()|0,B=k+24|0,l=hr(l,4)|0,n[m>>2]=l,c=k+28|0,f=n[c>>2]|0,f>>>0<(n[k+32>>2]|0)>>>0?(z5(f,s,l),l=(n[c>>2]|0)+8|0,n[c>>2]=l):(I4e(B,d,m),l=n[c>>2]|0),E=Q,(l-(n[B>>2]|0)>>3)+-1|0}function z5(s,l,c){s=s|0,l=l|0,c=c|0,n[s>>2]=l,n[s+4>>2]=c}function I4e(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,Q=0,k=0,M=0,O=0;if(Q=E,E=E+32|0,d=Q,m=s+4|0,B=((n[m>>2]|0)-(n[s>>2]|0)>>3)+1|0,f=B4e(s)|0,f>>>0<B>>>0)Vr(s);else{k=n[s>>2]|0,O=(n[s+8>>2]|0)-k|0,M=O>>2,v4e(d,O>>3>>>0<f>>>1>>>0?M>>>0<B>>>0?B:M:f,(n[m>>2]|0)-k>>3,s+8|0),B=d+8|0,z5(n[B>>2]|0,n[l>>2]|0,n[c>>2]|0),n[B>>2]=(n[B>>2]|0)+8,D4e(s,d),S4e(d),E=Q;return}}function B4e(s){return s=s|0,536870911}function v4e(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0;n[s+12>>2]=0,n[s+16>>2]=f;do if(l)if(l>>>0>536870911)Rt();else{d=Kt(l<<3)|0;break}else d=0;while(0);n[s>>2]=d,f=d+(c<<3)|0,n[s+8>>2]=f,n[s+4>>2]=f,n[s+12>>2]=d+(l<<3)}function D4e(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0;f=n[s>>2]|0,B=s+4|0,m=l+4|0,d=(n[B>>2]|0)-f|0,c=(n[m>>2]|0)+(0-(d>>3)<<3)|0,n[m>>2]=c,(d|0)>0?(vr(c|0,f|0,d|0)|0,f=m,c=n[m>>2]|0):f=m,m=n[s>>2]|0,n[s>>2]=c,n[f>>2]=m,m=l+8|0,d=n[B>>2]|0,n[B>>2]=n[m>>2],n[m>>2]=d,m=s+8|0,B=l+12|0,s=n[m>>2]|0,n[m>>2]=n[B>>2],n[B>>2]=s,n[l>>2]=n[f>>2]}function S4e(s){s=s|0;var l=0,c=0,f=0;l=n[s+4>>2]|0,c=s+8|0,f=n[c>>2]|0,(f|0)!=(l|0)&&(n[c>>2]=f+(~((f+-8-l|0)>>>3)<<3)),s=n[s>>2]|0,s|0&&ht(s)}function X5(s){s=s|0,b4e(s)}function P4e(s){s=s|0,x4e(s+24|0)}function x4e(s){s=s|0;var l=0,c=0,f=0;c=n[s>>2]|0,f=c,c|0&&(s=s+4|0,l=n[s>>2]|0,(l|0)!=(c|0)&&(n[s>>2]=l+(~((l+-8-f|0)>>>3)<<3)),ht(c))}function b4e(s){s=s|0;var l=0;l=Wr()|0,Kr(s,1,12,l,Q4e()|0,2),n[s+24>>2]=0,n[s+28>>2]=0,n[s+32>>2]=0}function Q4e(){return 1896}function k4e(s,l,c){s=s|0,l=l|0,c=c|0,R4e(n[(F4e(s)|0)>>2]|0,l,c)}function F4e(s){return s=s|0,(n[(CR()|0)+24>>2]|0)+(s<<3)|0}function R4e(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0;f=E,E=E+16|0,m=f+4|0,d=f,T4e(m,l),l=N4e(m,l)|0,Bp(d,c),c=vp(d,c)|0,rf[s&31](l,c),Dp(d),E=f}function T4e(s,l){s=s|0,l=l|0}function N4e(s,l){return s=s|0,l=l|0,L4e(l)|0}function L4e(s){return s=s|0,s|0}function O4e(){var s=0;return o[8080]|0||(Z5(11040),ve(70,11040,U|0)|0,s=8080,n[s>>2]=1,n[s+4>>2]=0),Rr(11040)|0||Z5(11040),11040}function Z5(s){s=s|0,_4e(s),bg(s,71)}function M4e(s){s=s|0,U4e(s+24|0)}function U4e(s){s=s|0;var l=0,c=0,f=0;c=n[s>>2]|0,f=c,c|0&&(s=s+4|0,l=n[s>>2]|0,(l|0)!=(c|0)&&(n[s>>2]=l+(~((l+-8-f|0)>>>3)<<3)),ht(c))}function _4e(s){s=s|0;var l=0;l=Wr()|0,Kr(s,5,7,l,G4e()|0,0),n[s+24>>2]=0,n[s+28>>2]=0,n[s+32>>2]=0}function H4e(s){s=s|0,j4e(s)}function j4e(s){s=s|0,q4e(s)}function q4e(s){s=s|0,o[s+8>>0]=1}function G4e(){return 1936}function Y4e(){return W4e()|0}function W4e(){var s=0,l=0,c=0,f=0,d=0,m=0,B=0;return l=E,E=E+16|0,d=l+4|0,B=l,c=Wa(8)|0,s=c,m=s+4|0,n[m>>2]=Kt(1)|0,f=Kt(8)|0,m=n[m>>2]|0,n[B>>2]=0,n[d>>2]=n[B>>2],K4e(f,m,d),n[c>>2]=f,E=l,s|0}function K4e(s,l,c){s=s|0,l=l|0,c=c|0,n[s>>2]=l,c=Kt(16)|0,n[c+4>>2]=0,n[c+8>>2]=0,n[c>>2]=1916,n[c+12>>2]=l,n[s+4>>2]=c}function J4e(s){s=s|0,Vm(s),ht(s)}function V4e(s){s=s|0,s=n[s+12>>2]|0,s|0&&ht(s)}function z4e(s){s=s|0,ht(s)}function X4e(){var s=0;return o[8088]|0||(iUe(11076),ve(25,11076,U|0)|0,s=8088,n[s>>2]=1,n[s+4>>2]=0),11076}function Z4e(s,l){s=s|0,l=l|0,n[s>>2]=$4e()|0,n[s+4>>2]=eUe()|0,n[s+12>>2]=l,n[s+8>>2]=tUe()|0,n[s+32>>2]=10}function $4e(){return 11745}function eUe(){return 1940}function tUe(){return oD()|0}function rUe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0,(Sp(f,896)|0)==512?c|0&&(nUe(c),ht(c)):l|0&&ht(l)}function nUe(s){s=s|0,s=n[s+4>>2]|0,s|0&&xp(s)}function iUe(s){s=s|0,Ip(s)}function xc(s,l){s=s|0,l=l|0,n[s>>2]=l}function IR(s){return s=s|0,n[s>>2]|0}function sUe(s){return s=s|0,o[n[s>>2]>>0]|0}function oUe(s,l){s=s|0,l=l|0;var c=0,f=0;c=E,E=E+16|0,f=c,n[f>>2]=n[s>>2],aUe(l,f)|0,E=c}function aUe(s,l){s=s|0,l=l|0;var c=0;return c=lUe(n[s>>2]|0,l)|0,l=s+4|0,n[(n[l>>2]|0)+8>>2]=c,n[(n[l>>2]|0)+8>>2]|0}function lUe(s,l){s=s|0,l=l|0;var c=0,f=0;return c=E,E=E+16|0,f=c,Ka(f),s=ma(s)|0,l=cUe(s,n[l>>2]|0)|0,Ja(f),E=c,l|0}function Ka(s){s=s|0,n[s>>2]=n[2701],n[s+4>>2]=n[2703]}function cUe(s,l){s=s|0,l=l|0;var c=0;return c=Dl(uUe()|0)|0,Qn(0,c|0,s|0,gR(l)|0)|0}function Ja(s){s=s|0,H5(n[s>>2]|0,n[s+4>>2]|0)}function uUe(){var s=0;return o[8096]|0||(AUe(11120),s=8096,n[s>>2]=1,n[s+4>>2]=0),11120}function AUe(s){s=s|0,Sl(s,fUe()|0,1)}function fUe(){return 1948}function pUe(){hUe()}function hUe(){var s=0,l=0,c=0,f=0,d=0,m=0,B=0,Q=0,k=0,M=0,O=0,q=0,se=0,Ge=0,Me=0,Fe=0;if(Me=E,E=E+16|0,O=Me+4|0,q=Me,Ni(65536,10804,n[2702]|0,10812),c=I5()|0,l=n[c>>2]|0,s=n[l>>2]|0,s|0)for(f=n[c+8>>2]|0,c=n[c+4>>2]|0;uc(s|0,u[c>>0]|0|0,o[f>>0]|0),l=l+4|0,s=n[l>>2]|0,s;)f=f+1|0,c=c+1|0;if(s=B5()|0,l=n[s>>2]|0,l|0)do fu(l|0,n[s+4>>2]|0),s=s+8|0,l=n[s>>2]|0;while((l|0)!=0);fu(gUe()|0,5167),M=Gm()|0,s=n[M>>2]|0;e:do if(s|0){do dUe(n[s+4>>2]|0),s=n[s>>2]|0;while((s|0)!=0);if(s=n[M>>2]|0,s|0){k=M;do{for(;d=s,s=n[s>>2]|0,d=n[d+4>>2]|0,!!(mUe(d)|0);)if(n[q>>2]=k,n[O>>2]=n[q>>2],yUe(M,O)|0,!s)break e;if(EUe(d),k=n[k>>2]|0,l=$5(d)|0,m=ji()|0,B=E,E=E+((1*(l<<2)|0)+15&-16)|0,Q=E,E=E+((1*(l<<2)|0)+15&-16)|0,l=n[(N5(d)|0)>>2]|0,l|0)for(c=B,f=Q;n[c>>2]=n[(Ym(n[l+4>>2]|0)|0)>>2],n[f>>2]=n[l+8>>2],l=n[l>>2]|0,l;)c=c+4|0,f=f+4|0;Fe=Ym(d)|0,l=wUe(d)|0,c=$5(d)|0,f=CUe(d)|0,pu(Fe|0,l|0,B|0,Q|0,c|0,f|0,cR(d)|0),Hi(m|0)}while((s|0)!=0)}}while(0);if(s=n[(uR()|0)>>2]|0,s|0)do Fe=s+4|0,M=AR(Fe)|0,d=NC(M)|0,m=RC(M)|0,B=(TC(M)|0)+1|0,Q=AD(M)|0,k=e7(Fe)|0,M=Rr(M)|0,O=lD(Fe)|0,q=BR(Fe)|0,yl(0,d|0,m|0,B|0,Q|0,k|0,M|0,O|0,q|0,vR(Fe)|0),s=n[s>>2]|0;while((s|0)!=0);s=n[(Gm()|0)>>2]|0;e:do if(s|0){t:for(;;){if(l=n[s+4>>2]|0,l|0&&(se=n[(Ym(l)|0)>>2]|0,Ge=n[(L5(l)|0)>>2]|0,Ge|0)){c=Ge;do{l=c+4|0,f=AR(l)|0;r:do if(f|0)switch(Rr(f)|0){case 0:break t;case 4:case 3:case 2:{Q=NC(f)|0,k=RC(f)|0,M=(TC(f)|0)+1|0,O=AD(f)|0,q=Rr(f)|0,Fe=lD(l)|0,yl(se|0,Q|0,k|0,M|0,O|0,0,q|0,Fe|0,BR(l)|0,vR(l)|0);break r}case 1:{B=NC(f)|0,Q=RC(f)|0,k=(TC(f)|0)+1|0,M=AD(f)|0,O=e7(l)|0,q=Rr(f)|0,Fe=lD(l)|0,yl(se|0,B|0,Q|0,k|0,M|0,O|0,q|0,Fe|0,BR(l)|0,vR(l)|0);break r}case 5:{M=NC(f)|0,O=RC(f)|0,q=(TC(f)|0)+1|0,Fe=AD(f)|0,yl(se|0,M|0,O|0,q|0,Fe|0,IUe(f)|0,Rr(f)|0,0,0,0);break r}default:break r}while(0);c=n[c>>2]|0}while((c|0)!=0)}if(s=n[s>>2]|0,!s)break e}Rt()}while(0);Ce(),E=Me}function gUe(){return 11703}function dUe(s){s=s|0,o[s+40>>0]=0}function mUe(s){return s=s|0,(o[s+40>>0]|0)!=0|0}function yUe(s,l){return s=s|0,l=l|0,l=BUe(l)|0,s=n[l>>2]|0,n[l>>2]=n[s>>2],ht(s),n[l>>2]|0}function EUe(s){s=s|0,o[s+40>>0]=1}function $5(s){return s=s|0,n[s+20>>2]|0}function wUe(s){return s=s|0,n[s+8>>2]|0}function CUe(s){return s=s|0,n[s+32>>2]|0}function AD(s){return s=s|0,n[s+4>>2]|0}function e7(s){return s=s|0,n[s+4>>2]|0}function BR(s){return s=s|0,n[s+8>>2]|0}function vR(s){return s=s|0,n[s+16>>2]|0}function IUe(s){return s=s|0,n[s+20>>2]|0}function BUe(s){return s=s|0,n[s>>2]|0}function fD(s){s=s|0;var l=0,c=0,f=0,d=0,m=0,B=0,Q=0,k=0,M=0,O=0,q=0,se=0,Ge=0,Me=0,Fe=0,et=0,Xe=0,lt=0,Ue=0,qe=0,Lt=0;Lt=E,E=E+16|0,se=Lt;do if(s>>>0<245){if(M=s>>>0<11?16:s+11&-8,s=M>>>3,q=n[2783]|0,c=q>>>s,c&3|0)return l=(c&1^1)+s|0,s=11172+(l<<1<<2)|0,c=s+8|0,f=n[c>>2]|0,d=f+8|0,m=n[d>>2]|0,(s|0)==(m|0)?n[2783]=q&~(1<<l):(n[m+12>>2]=s,n[c>>2]=m),qe=l<<3,n[f+4>>2]=qe|3,qe=f+qe+4|0,n[qe>>2]=n[qe>>2]|1,qe=d,E=Lt,qe|0;if(O=n[2785]|0,M>>>0>O>>>0){if(c|0)return l=2<<s,l=c<<s&(l|0-l),l=(l&0-l)+-1|0,B=l>>>12&16,l=l>>>B,c=l>>>5&8,l=l>>>c,d=l>>>2&4,l=l>>>d,s=l>>>1&2,l=l>>>s,f=l>>>1&1,f=(c|B|d|s|f)+(l>>>f)|0,l=11172+(f<<1<<2)|0,s=l+8|0,d=n[s>>2]|0,B=d+8|0,c=n[B>>2]|0,(l|0)==(c|0)?(s=q&~(1<<f),n[2783]=s):(n[c+12>>2]=l,n[s>>2]=c,s=q),m=(f<<3)-M|0,n[d+4>>2]=M|3,f=d+M|0,n[f+4>>2]=m|1,n[f+m>>2]=m,O|0&&(d=n[2788]|0,l=O>>>3,c=11172+(l<<1<<2)|0,l=1<<l,s&l?(s=c+8|0,l=n[s>>2]|0):(n[2783]=s|l,l=c,s=c+8|0),n[s>>2]=d,n[l+12>>2]=d,n[d+8>>2]=l,n[d+12>>2]=c),n[2785]=m,n[2788]=f,qe=B,E=Lt,qe|0;if(Q=n[2784]|0,Q){if(c=(Q&0-Q)+-1|0,B=c>>>12&16,c=c>>>B,m=c>>>5&8,c=c>>>m,k=c>>>2&4,c=c>>>k,f=c>>>1&2,c=c>>>f,s=c>>>1&1,s=n[11436+((m|B|k|f|s)+(c>>>s)<<2)>>2]|0,c=(n[s+4>>2]&-8)-M|0,f=n[s+16+(((n[s+16>>2]|0)==0&1)<<2)>>2]|0,!f)k=s,m=c;else{do B=(n[f+4>>2]&-8)-M|0,k=B>>>0<c>>>0,c=k?B:c,s=k?f:s,f=n[f+16+(((n[f+16>>2]|0)==0&1)<<2)>>2]|0;while((f|0)!=0);k=s,m=c}if(B=k+M|0,k>>>0<B>>>0){d=n[k+24>>2]|0,l=n[k+12>>2]|0;do if((l|0)==(k|0)){if(s=k+20|0,l=n[s>>2]|0,!l&&(s=k+16|0,l=n[s>>2]|0,!l)){c=0;break}for(;;){if(c=l+20|0,f=n[c>>2]|0,f|0){l=f,s=c;continue}if(c=l+16|0,f=n[c>>2]|0,f)l=f,s=c;else break}n[s>>2]=0,c=l}else c=n[k+8>>2]|0,n[c+12>>2]=l,n[l+8>>2]=c,c=l;while(0);do if(d|0){if(l=n[k+28>>2]|0,s=11436+(l<<2)|0,(k|0)==(n[s>>2]|0)){if(n[s>>2]=c,!c){n[2784]=Q&~(1<<l);break}}else if(n[d+16+(((n[d+16>>2]|0)!=(k|0)&1)<<2)>>2]=c,!c)break;n[c+24>>2]=d,l=n[k+16>>2]|0,l|0&&(n[c+16>>2]=l,n[l+24>>2]=c),l=n[k+20>>2]|0,l|0&&(n[c+20>>2]=l,n[l+24>>2]=c)}while(0);return m>>>0<16?(qe=m+M|0,n[k+4>>2]=qe|3,qe=k+qe+4|0,n[qe>>2]=n[qe>>2]|1):(n[k+4>>2]=M|3,n[B+4>>2]=m|1,n[B+m>>2]=m,O|0&&(f=n[2788]|0,l=O>>>3,c=11172+(l<<1<<2)|0,l=1<<l,q&l?(s=c+8|0,l=n[s>>2]|0):(n[2783]=q|l,l=c,s=c+8|0),n[s>>2]=f,n[l+12>>2]=f,n[f+8>>2]=l,n[f+12>>2]=c),n[2785]=m,n[2788]=B),qe=k+8|0,E=Lt,qe|0}else q=M}else q=M}else q=M}else if(s>>>0<=4294967231)if(s=s+11|0,M=s&-8,k=n[2784]|0,k){f=0-M|0,s=s>>>8,s?M>>>0>16777215?Q=31:(q=(s+1048320|0)>>>16&8,Ue=s<<q,O=(Ue+520192|0)>>>16&4,Ue=Ue<<O,Q=(Ue+245760|0)>>>16&2,Q=14-(O|q|Q)+(Ue<<Q>>>15)|0,Q=M>>>(Q+7|0)&1|Q<<1):Q=0,c=n[11436+(Q<<2)>>2]|0;e:do if(!c)c=0,s=0,Ue=57;else for(s=0,B=M<<((Q|0)==31?0:25-(Q>>>1)|0),m=0;;){if(d=(n[c+4>>2]&-8)-M|0,d>>>0<f>>>0)if(d)s=c,f=d;else{s=c,f=0,d=c,Ue=61;break e}if(d=n[c+20>>2]|0,c=n[c+16+(B>>>31<<2)>>2]|0,m=(d|0)==0|(d|0)==(c|0)?m:d,d=(c|0)==0,d){c=m,Ue=57;break}else B=B<<((d^1)&1)}while(0);if((Ue|0)==57){if((c|0)==0&(s|0)==0){if(s=2<<Q,s=k&(s|0-s),!s){q=M;break}q=(s&0-s)+-1|0,B=q>>>12&16,q=q>>>B,m=q>>>5&8,q=q>>>m,Q=q>>>2&4,q=q>>>Q,O=q>>>1&2,q=q>>>O,c=q>>>1&1,s=0,c=n[11436+((m|B|Q|O|c)+(q>>>c)<<2)>>2]|0}c?(d=c,Ue=61):(Q=s,B=f)}if((Ue|0)==61)for(;;)if(Ue=0,c=(n[d+4>>2]&-8)-M|0,q=c>>>0<f>>>0,c=q?c:f,s=q?d:s,d=n[d+16+(((n[d+16>>2]|0)==0&1)<<2)>>2]|0,d)f=c,Ue=61;else{Q=s,B=c;break}if((Q|0)!=0&&B>>>0<((n[2785]|0)-M|0)>>>0){if(m=Q+M|0,Q>>>0>=m>>>0)return qe=0,E=Lt,qe|0;d=n[Q+24>>2]|0,l=n[Q+12>>2]|0;do if((l|0)==(Q|0)){if(s=Q+20|0,l=n[s>>2]|0,!l&&(s=Q+16|0,l=n[s>>2]|0,!l)){l=0;break}for(;;){if(c=l+20|0,f=n[c>>2]|0,f|0){l=f,s=c;continue}if(c=l+16|0,f=n[c>>2]|0,f)l=f,s=c;else break}n[s>>2]=0}else qe=n[Q+8>>2]|0,n[qe+12>>2]=l,n[l+8>>2]=qe;while(0);do if(d){if(s=n[Q+28>>2]|0,c=11436+(s<<2)|0,(Q|0)==(n[c>>2]|0)){if(n[c>>2]=l,!l){f=k&~(1<<s),n[2784]=f;break}}else if(n[d+16+(((n[d+16>>2]|0)!=(Q|0)&1)<<2)>>2]=l,!l){f=k;break}n[l+24>>2]=d,s=n[Q+16>>2]|0,s|0&&(n[l+16>>2]=s,n[s+24>>2]=l),s=n[Q+20>>2]|0,s&&(n[l+20>>2]=s,n[s+24>>2]=l),f=k}else f=k;while(0);do if(B>>>0>=16){if(n[Q+4>>2]=M|3,n[m+4>>2]=B|1,n[m+B>>2]=B,l=B>>>3,B>>>0<256){c=11172+(l<<1<<2)|0,s=n[2783]|0,l=1<<l,s&l?(s=c+8|0,l=n[s>>2]|0):(n[2783]=s|l,l=c,s=c+8|0),n[s>>2]=m,n[l+12>>2]=m,n[m+8>>2]=l,n[m+12>>2]=c;break}if(l=B>>>8,l?B>>>0>16777215?l=31:(Ue=(l+1048320|0)>>>16&8,qe=l<<Ue,lt=(qe+520192|0)>>>16&4,qe=qe<<lt,l=(qe+245760|0)>>>16&2,l=14-(lt|Ue|l)+(qe<<l>>>15)|0,l=B>>>(l+7|0)&1|l<<1):l=0,c=11436+(l<<2)|0,n[m+28>>2]=l,s=m+16|0,n[s+4>>2]=0,n[s>>2]=0,s=1<<l,!(f&s)){n[2784]=f|s,n[c>>2]=m,n[m+24>>2]=c,n[m+12>>2]=m,n[m+8>>2]=m;break}for(s=B<<((l|0)==31?0:25-(l>>>1)|0),c=n[c>>2]|0;;){if((n[c+4>>2]&-8|0)==(B|0)){Ue=97;break}if(f=c+16+(s>>>31<<2)|0,l=n[f>>2]|0,l)s=s<<1,c=l;else{Ue=96;break}}if((Ue|0)==96){n[f>>2]=m,n[m+24>>2]=c,n[m+12>>2]=m,n[m+8>>2]=m;break}else if((Ue|0)==97){Ue=c+8|0,qe=n[Ue>>2]|0,n[qe+12>>2]=m,n[Ue>>2]=m,n[m+8>>2]=qe,n[m+12>>2]=c,n[m+24>>2]=0;break}}else qe=B+M|0,n[Q+4>>2]=qe|3,qe=Q+qe+4|0,n[qe>>2]=n[qe>>2]|1;while(0);return qe=Q+8|0,E=Lt,qe|0}else q=M}else q=M;else q=-1;while(0);if(c=n[2785]|0,c>>>0>=q>>>0)return l=c-q|0,s=n[2788]|0,l>>>0>15?(qe=s+q|0,n[2788]=qe,n[2785]=l,n[qe+4>>2]=l|1,n[qe+l>>2]=l,n[s+4>>2]=q|3):(n[2785]=0,n[2788]=0,n[s+4>>2]=c|3,qe=s+c+4|0,n[qe>>2]=n[qe>>2]|1),qe=s+8|0,E=Lt,qe|0;if(B=n[2786]|0,B>>>0>q>>>0)return lt=B-q|0,n[2786]=lt,qe=n[2789]|0,Ue=qe+q|0,n[2789]=Ue,n[Ue+4>>2]=lt|1,n[qe+4>>2]=q|3,qe=qe+8|0,E=Lt,qe|0;if(n[2901]|0?s=n[2903]|0:(n[2903]=4096,n[2902]=4096,n[2904]=-1,n[2905]=-1,n[2906]=0,n[2894]=0,s=se&-16^1431655768,n[se>>2]=s,n[2901]=s,s=4096),Q=q+48|0,k=q+47|0,m=s+k|0,d=0-s|0,M=m&d,M>>>0<=q>>>0||(s=n[2893]|0,s|0&&(O=n[2891]|0,se=O+M|0,se>>>0<=O>>>0|se>>>0>s>>>0)))return qe=0,E=Lt,qe|0;e:do if(n[2894]&4)l=0,Ue=133;else{c=n[2789]|0;t:do if(c){for(f=11580;s=n[f>>2]|0,!(s>>>0<=c>>>0&&(Fe=f+4|0,(s+(n[Fe>>2]|0)|0)>>>0>c>>>0));)if(s=n[f+8>>2]|0,s)f=s;else{Ue=118;break t}if(l=m-B&d,l>>>0<2147483647)if(s=bp(l|0)|0,(s|0)==((n[f>>2]|0)+(n[Fe>>2]|0)|0)){if((s|0)!=-1){B=l,m=s,Ue=135;break e}}else f=s,Ue=126;else l=0}else Ue=118;while(0);do if((Ue|0)==118)if(c=bp(0)|0,(c|0)!=-1&&(l=c,Ge=n[2902]|0,Me=Ge+-1|0,l=((Me&l|0)==0?0:(Me+l&0-Ge)-l|0)+M|0,Ge=n[2891]|0,Me=l+Ge|0,l>>>0>q>>>0&l>>>0<2147483647)){if(Fe=n[2893]|0,Fe|0&&Me>>>0<=Ge>>>0|Me>>>0>Fe>>>0){l=0;break}if(s=bp(l|0)|0,(s|0)==(c|0)){B=l,m=c,Ue=135;break e}else f=s,Ue=126}else l=0;while(0);do if((Ue|0)==126){if(c=0-l|0,!(Q>>>0>l>>>0&(l>>>0<2147483647&(f|0)!=-1)))if((f|0)==-1){l=0;break}else{B=l,m=f,Ue=135;break e}if(s=n[2903]|0,s=k-l+s&0-s,s>>>0>=2147483647){B=l,m=f,Ue=135;break e}if((bp(s|0)|0)==-1){bp(c|0)|0,l=0;break}else{B=s+l|0,m=f,Ue=135;break e}}while(0);n[2894]=n[2894]|4,Ue=133}while(0);if((Ue|0)==133&&M>>>0<2147483647&&(lt=bp(M|0)|0,Fe=bp(0)|0,et=Fe-lt|0,Xe=et>>>0>(q+40|0)>>>0,!((lt|0)==-1|Xe^1|lt>>>0<Fe>>>0&((lt|0)!=-1&(Fe|0)!=-1)^1))&&(B=Xe?et:l,m=lt,Ue=135),(Ue|0)==135){l=(n[2891]|0)+B|0,n[2891]=l,l>>>0>(n[2892]|0)>>>0&&(n[2892]=l),k=n[2789]|0;do if(k){for(l=11580;;){if(s=n[l>>2]|0,c=l+4|0,f=n[c>>2]|0,(m|0)==(s+f|0)){Ue=145;break}if(d=n[l+8>>2]|0,d)l=d;else break}if((Ue|0)==145&&(n[l+12>>2]&8|0)==0&&k>>>0<m>>>0&k>>>0>=s>>>0){n[c>>2]=f+B,qe=k+8|0,qe=(qe&7|0)==0?0:0-qe&7,Ue=k+qe|0,qe=(n[2786]|0)+(B-qe)|0,n[2789]=Ue,n[2786]=qe,n[Ue+4>>2]=qe|1,n[Ue+qe+4>>2]=40,n[2790]=n[2905];break}for(m>>>0<(n[2787]|0)>>>0&&(n[2787]=m),c=m+B|0,l=11580;;){if((n[l>>2]|0)==(c|0)){Ue=153;break}if(s=n[l+8>>2]|0,s)l=s;else break}if((Ue|0)==153&&(n[l+12>>2]&8|0)==0){n[l>>2]=m,O=l+4|0,n[O>>2]=(n[O>>2]|0)+B,O=m+8|0,O=m+((O&7|0)==0?0:0-O&7)|0,l=c+8|0,l=c+((l&7|0)==0?0:0-l&7)|0,M=O+q|0,Q=l-O-q|0,n[O+4>>2]=q|3;do if((l|0)!=(k|0)){if((l|0)==(n[2788]|0)){qe=(n[2785]|0)+Q|0,n[2785]=qe,n[2788]=M,n[M+4>>2]=qe|1,n[M+qe>>2]=qe;break}if(s=n[l+4>>2]|0,(s&3|0)==1){B=s&-8,f=s>>>3;e:do if(s>>>0<256)if(s=n[l+8>>2]|0,c=n[l+12>>2]|0,(c|0)==(s|0)){n[2783]=n[2783]&~(1<<f);break}else{n[s+12>>2]=c,n[c+8>>2]=s;break}else{m=n[l+24>>2]|0,s=n[l+12>>2]|0;do if((s|0)==(l|0)){if(f=l+16|0,c=f+4|0,s=n[c>>2]|0,!s)if(s=n[f>>2]|0,s)c=f;else{s=0;break}for(;;){if(f=s+20|0,d=n[f>>2]|0,d|0){s=d,c=f;continue}if(f=s+16|0,d=n[f>>2]|0,d)s=d,c=f;else break}n[c>>2]=0}else qe=n[l+8>>2]|0,n[qe+12>>2]=s,n[s+8>>2]=qe;while(0);if(!m)break;c=n[l+28>>2]|0,f=11436+(c<<2)|0;do if((l|0)!=(n[f>>2]|0)){if(n[m+16+(((n[m+16>>2]|0)!=(l|0)&1)<<2)>>2]=s,!s)break e}else{if(n[f>>2]=s,s|0)break;n[2784]=n[2784]&~(1<<c);break e}while(0);if(n[s+24>>2]=m,c=l+16|0,f=n[c>>2]|0,f|0&&(n[s+16>>2]=f,n[f+24>>2]=s),c=n[c+4>>2]|0,!c)break;n[s+20>>2]=c,n[c+24>>2]=s}while(0);l=l+B|0,d=B+Q|0}else d=Q;if(l=l+4|0,n[l>>2]=n[l>>2]&-2,n[M+4>>2]=d|1,n[M+d>>2]=d,l=d>>>3,d>>>0<256){c=11172+(l<<1<<2)|0,s=n[2783]|0,l=1<<l,s&l?(s=c+8|0,l=n[s>>2]|0):(n[2783]=s|l,l=c,s=c+8|0),n[s>>2]=M,n[l+12>>2]=M,n[M+8>>2]=l,n[M+12>>2]=c;break}l=d>>>8;do if(!l)l=0;else{if(d>>>0>16777215){l=31;break}Ue=(l+1048320|0)>>>16&8,qe=l<<Ue,lt=(qe+520192|0)>>>16&4,qe=qe<<lt,l=(qe+245760|0)>>>16&2,l=14-(lt|Ue|l)+(qe<<l>>>15)|0,l=d>>>(l+7|0)&1|l<<1}while(0);if(f=11436+(l<<2)|0,n[M+28>>2]=l,s=M+16|0,n[s+4>>2]=0,n[s>>2]=0,s=n[2784]|0,c=1<<l,!(s&c)){n[2784]=s|c,n[f>>2]=M,n[M+24>>2]=f,n[M+12>>2]=M,n[M+8>>2]=M;break}for(s=d<<((l|0)==31?0:25-(l>>>1)|0),c=n[f>>2]|0;;){if((n[c+4>>2]&-8|0)==(d|0)){Ue=194;break}if(f=c+16+(s>>>31<<2)|0,l=n[f>>2]|0,l)s=s<<1,c=l;else{Ue=193;break}}if((Ue|0)==193){n[f>>2]=M,n[M+24>>2]=c,n[M+12>>2]=M,n[M+8>>2]=M;break}else if((Ue|0)==194){Ue=c+8|0,qe=n[Ue>>2]|0,n[qe+12>>2]=M,n[Ue>>2]=M,n[M+8>>2]=qe,n[M+12>>2]=c,n[M+24>>2]=0;break}}else qe=(n[2786]|0)+Q|0,n[2786]=qe,n[2789]=M,n[M+4>>2]=qe|1;while(0);return qe=O+8|0,E=Lt,qe|0}for(l=11580;s=n[l>>2]|0,!(s>>>0<=k>>>0&&(qe=s+(n[l+4>>2]|0)|0,qe>>>0>k>>>0));)l=n[l+8>>2]|0;d=qe+-47|0,s=d+8|0,s=d+((s&7|0)==0?0:0-s&7)|0,d=k+16|0,s=s>>>0<d>>>0?k:s,l=s+8|0,c=m+8|0,c=(c&7|0)==0?0:0-c&7,Ue=m+c|0,c=B+-40-c|0,n[2789]=Ue,n[2786]=c,n[Ue+4>>2]=c|1,n[Ue+c+4>>2]=40,n[2790]=n[2905],c=s+4|0,n[c>>2]=27,n[l>>2]=n[2895],n[l+4>>2]=n[2896],n[l+8>>2]=n[2897],n[l+12>>2]=n[2898],n[2895]=m,n[2896]=B,n[2898]=0,n[2897]=l,l=s+24|0;do Ue=l,l=l+4|0,n[l>>2]=7;while((Ue+8|0)>>>0<qe>>>0);if((s|0)!=(k|0)){if(m=s-k|0,n[c>>2]=n[c>>2]&-2,n[k+4>>2]=m|1,n[s>>2]=m,l=m>>>3,m>>>0<256){c=11172+(l<<1<<2)|0,s=n[2783]|0,l=1<<l,s&l?(s=c+8|0,l=n[s>>2]|0):(n[2783]=s|l,l=c,s=c+8|0),n[s>>2]=k,n[l+12>>2]=k,n[k+8>>2]=l,n[k+12>>2]=c;break}if(l=m>>>8,l?m>>>0>16777215?c=31:(Ue=(l+1048320|0)>>>16&8,qe=l<<Ue,lt=(qe+520192|0)>>>16&4,qe=qe<<lt,c=(qe+245760|0)>>>16&2,c=14-(lt|Ue|c)+(qe<<c>>>15)|0,c=m>>>(c+7|0)&1|c<<1):c=0,f=11436+(c<<2)|0,n[k+28>>2]=c,n[k+20>>2]=0,n[d>>2]=0,l=n[2784]|0,s=1<<c,!(l&s)){n[2784]=l|s,n[f>>2]=k,n[k+24>>2]=f,n[k+12>>2]=k,n[k+8>>2]=k;break}for(s=m<<((c|0)==31?0:25-(c>>>1)|0),c=n[f>>2]|0;;){if((n[c+4>>2]&-8|0)==(m|0)){Ue=216;break}if(f=c+16+(s>>>31<<2)|0,l=n[f>>2]|0,l)s=s<<1,c=l;else{Ue=215;break}}if((Ue|0)==215){n[f>>2]=k,n[k+24>>2]=c,n[k+12>>2]=k,n[k+8>>2]=k;break}else if((Ue|0)==216){Ue=c+8|0,qe=n[Ue>>2]|0,n[qe+12>>2]=k,n[Ue>>2]=k,n[k+8>>2]=qe,n[k+12>>2]=c,n[k+24>>2]=0;break}}}else{qe=n[2787]|0,(qe|0)==0|m>>>0<qe>>>0&&(n[2787]=m),n[2895]=m,n[2896]=B,n[2898]=0,n[2792]=n[2901],n[2791]=-1,l=0;do qe=11172+(l<<1<<2)|0,n[qe+12>>2]=qe,n[qe+8>>2]=qe,l=l+1|0;while((l|0)!=32);qe=m+8|0,qe=(qe&7|0)==0?0:0-qe&7,Ue=m+qe|0,qe=B+-40-qe|0,n[2789]=Ue,n[2786]=qe,n[Ue+4>>2]=qe|1,n[Ue+qe+4>>2]=40,n[2790]=n[2905]}while(0);if(l=n[2786]|0,l>>>0>q>>>0)return lt=l-q|0,n[2786]=lt,qe=n[2789]|0,Ue=qe+q|0,n[2789]=Ue,n[Ue+4>>2]=lt|1,n[qe+4>>2]=q|3,qe=qe+8|0,E=Lt,qe|0}return n[(Km()|0)>>2]=12,qe=0,E=Lt,qe|0}function pD(s){s=s|0;var l=0,c=0,f=0,d=0,m=0,B=0,Q=0,k=0;if(!!s){c=s+-8|0,d=n[2787]|0,s=n[s+-4>>2]|0,l=s&-8,k=c+l|0;do if(s&1)Q=c,B=c;else{if(f=n[c>>2]|0,!(s&3)||(B=c+(0-f)|0,m=f+l|0,B>>>0<d>>>0))return;if((B|0)==(n[2788]|0)){if(s=k+4|0,l=n[s>>2]|0,(l&3|0)!=3){Q=B,l=m;break}n[2785]=m,n[s>>2]=l&-2,n[B+4>>2]=m|1,n[B+m>>2]=m;return}if(c=f>>>3,f>>>0<256)if(s=n[B+8>>2]|0,l=n[B+12>>2]|0,(l|0)==(s|0)){n[2783]=n[2783]&~(1<<c),Q=B,l=m;break}else{n[s+12>>2]=l,n[l+8>>2]=s,Q=B,l=m;break}d=n[B+24>>2]|0,s=n[B+12>>2]|0;do if((s|0)==(B|0)){if(c=B+16|0,l=c+4|0,s=n[l>>2]|0,!s)if(s=n[c>>2]|0,s)l=c;else{s=0;break}for(;;){if(c=s+20|0,f=n[c>>2]|0,f|0){s=f,l=c;continue}if(c=s+16|0,f=n[c>>2]|0,f)s=f,l=c;else break}n[l>>2]=0}else Q=n[B+8>>2]|0,n[Q+12>>2]=s,n[s+8>>2]=Q;while(0);if(d){if(l=n[B+28>>2]|0,c=11436+(l<<2)|0,(B|0)==(n[c>>2]|0)){if(n[c>>2]=s,!s){n[2784]=n[2784]&~(1<<l),Q=B,l=m;break}}else if(n[d+16+(((n[d+16>>2]|0)!=(B|0)&1)<<2)>>2]=s,!s){Q=B,l=m;break}n[s+24>>2]=d,l=B+16|0,c=n[l>>2]|0,c|0&&(n[s+16>>2]=c,n[c+24>>2]=s),l=n[l+4>>2]|0,l?(n[s+20>>2]=l,n[l+24>>2]=s,Q=B,l=m):(Q=B,l=m)}else Q=B,l=m}while(0);if(!(B>>>0>=k>>>0)&&(s=k+4|0,f=n[s>>2]|0,!!(f&1))){if(f&2)n[s>>2]=f&-2,n[Q+4>>2]=l|1,n[B+l>>2]=l,d=l;else{if(s=n[2788]|0,(k|0)==(n[2789]|0)){if(k=(n[2786]|0)+l|0,n[2786]=k,n[2789]=Q,n[Q+4>>2]=k|1,(Q|0)!=(s|0))return;n[2788]=0,n[2785]=0;return}if((k|0)==(s|0)){k=(n[2785]|0)+l|0,n[2785]=k,n[2788]=B,n[Q+4>>2]=k|1,n[B+k>>2]=k;return}d=(f&-8)+l|0,c=f>>>3;do if(f>>>0<256)if(l=n[k+8>>2]|0,s=n[k+12>>2]|0,(s|0)==(l|0)){n[2783]=n[2783]&~(1<<c);break}else{n[l+12>>2]=s,n[s+8>>2]=l;break}else{m=n[k+24>>2]|0,s=n[k+12>>2]|0;do if((s|0)==(k|0)){if(c=k+16|0,l=c+4|0,s=n[l>>2]|0,!s)if(s=n[c>>2]|0,s)l=c;else{c=0;break}for(;;){if(c=s+20|0,f=n[c>>2]|0,f|0){s=f,l=c;continue}if(c=s+16|0,f=n[c>>2]|0,f)s=f,l=c;else break}n[l>>2]=0,c=s}else c=n[k+8>>2]|0,n[c+12>>2]=s,n[s+8>>2]=c,c=s;while(0);if(m|0){if(s=n[k+28>>2]|0,l=11436+(s<<2)|0,(k|0)==(n[l>>2]|0)){if(n[l>>2]=c,!c){n[2784]=n[2784]&~(1<<s);break}}else if(n[m+16+(((n[m+16>>2]|0)!=(k|0)&1)<<2)>>2]=c,!c)break;n[c+24>>2]=m,s=k+16|0,l=n[s>>2]|0,l|0&&(n[c+16>>2]=l,n[l+24>>2]=c),s=n[s+4>>2]|0,s|0&&(n[c+20>>2]=s,n[s+24>>2]=c)}}while(0);if(n[Q+4>>2]=d|1,n[B+d>>2]=d,(Q|0)==(n[2788]|0)){n[2785]=d;return}}if(s=d>>>3,d>>>0<256){c=11172+(s<<1<<2)|0,l=n[2783]|0,s=1<<s,l&s?(l=c+8|0,s=n[l>>2]|0):(n[2783]=l|s,s=c,l=c+8|0),n[l>>2]=Q,n[s+12>>2]=Q,n[Q+8>>2]=s,n[Q+12>>2]=c;return}s=d>>>8,s?d>>>0>16777215?s=31:(B=(s+1048320|0)>>>16&8,k=s<<B,m=(k+520192|0)>>>16&4,k=k<<m,s=(k+245760|0)>>>16&2,s=14-(m|B|s)+(k<<s>>>15)|0,s=d>>>(s+7|0)&1|s<<1):s=0,f=11436+(s<<2)|0,n[Q+28>>2]=s,n[Q+20>>2]=0,n[Q+16>>2]=0,l=n[2784]|0,c=1<<s;do if(l&c){for(l=d<<((s|0)==31?0:25-(s>>>1)|0),c=n[f>>2]|0;;){if((n[c+4>>2]&-8|0)==(d|0)){s=73;break}if(f=c+16+(l>>>31<<2)|0,s=n[f>>2]|0,s)l=l<<1,c=s;else{s=72;break}}if((s|0)==72){n[f>>2]=Q,n[Q+24>>2]=c,n[Q+12>>2]=Q,n[Q+8>>2]=Q;break}else if((s|0)==73){B=c+8|0,k=n[B>>2]|0,n[k+12>>2]=Q,n[B>>2]=Q,n[Q+8>>2]=k,n[Q+12>>2]=c,n[Q+24>>2]=0;break}}else n[2784]=l|c,n[f>>2]=Q,n[Q+24>>2]=f,n[Q+12>>2]=Q,n[Q+8>>2]=Q;while(0);if(k=(n[2791]|0)+-1|0,n[2791]=k,!k)s=11588;else return;for(;s=n[s>>2]|0,s;)s=s+8|0;n[2791]=-1}}}function vUe(){return 11628}function DUe(s){s=s|0;var l=0,c=0;return l=E,E=E+16|0,c=l,n[c>>2]=xUe(n[s+60>>2]|0)|0,s=hD(hc(6,c|0)|0)|0,E=l,s|0}function t7(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,Q=0,k=0,M=0,O=0,q=0,se=0,Ge=0;q=E,E=E+48|0,M=q+16|0,m=q,d=q+32|0,Q=s+28|0,f=n[Q>>2]|0,n[d>>2]=f,k=s+20|0,f=(n[k>>2]|0)-f|0,n[d+4>>2]=f,n[d+8>>2]=l,n[d+12>>2]=c,f=f+c|0,B=s+60|0,n[m>>2]=n[B>>2],n[m+4>>2]=d,n[m+8>>2]=2,m=hD(Oi(146,m|0)|0)|0;e:do if((f|0)!=(m|0)){for(l=2;!((m|0)<0);)if(f=f-m|0,Ge=n[d+4>>2]|0,se=m>>>0>Ge>>>0,d=se?d+8|0:d,l=(se<<31>>31)+l|0,Ge=m-(se?Ge:0)|0,n[d>>2]=(n[d>>2]|0)+Ge,se=d+4|0,n[se>>2]=(n[se>>2]|0)-Ge,n[M>>2]=n[B>>2],n[M+4>>2]=d,n[M+8>>2]=l,m=hD(Oi(146,M|0)|0)|0,(f|0)==(m|0)){O=3;break e}n[s+16>>2]=0,n[Q>>2]=0,n[k>>2]=0,n[s>>2]=n[s>>2]|32,(l|0)==2?c=0:c=c-(n[d+4>>2]|0)|0}else O=3;while(0);return(O|0)==3&&(Ge=n[s+44>>2]|0,n[s+16>>2]=Ge+(n[s+48>>2]|0),n[Q>>2]=Ge,n[k>>2]=Ge),E=q,c|0}function SUe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0;return d=E,E=E+32|0,m=d,f=d+20|0,n[m>>2]=n[s+60>>2],n[m+4>>2]=0,n[m+8>>2]=l,n[m+12>>2]=f,n[m+16>>2]=c,(hD(oa(140,m|0)|0)|0)<0?(n[f>>2]=-1,s=-1):s=n[f>>2]|0,E=d,s|0}function hD(s){return s=s|0,s>>>0>4294963200&&(n[(Km()|0)>>2]=0-s,s=-1),s|0}function Km(){return(PUe()|0)+64|0}function PUe(){return DR()|0}function DR(){return 2084}function xUe(s){return s=s|0,s|0}function bUe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0;return d=E,E=E+32|0,f=d,n[s+36>>2]=1,(n[s>>2]&64|0)==0&&(n[f>>2]=n[s+60>>2],n[f+4>>2]=21523,n[f+8>>2]=d+16,hu(54,f|0)|0)&&(o[s+75>>0]=-1),f=t7(s,l,c)|0,E=d,f|0}function r7(s,l){s=s|0,l=l|0;var c=0,f=0;if(c=o[s>>0]|0,f=o[l>>0]|0,c<<24>>24==0||c<<24>>24!=f<<24>>24)s=f;else{do s=s+1|0,l=l+1|0,c=o[s>>0]|0,f=o[l>>0]|0;while(!(c<<24>>24==0||c<<24>>24!=f<<24>>24));s=f}return(c&255)-(s&255)|0}function QUe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0;e:do if(!c)s=0;else{for(;f=o[s>>0]|0,d=o[l>>0]|0,f<<24>>24==d<<24>>24;)if(c=c+-1|0,c)s=s+1|0,l=l+1|0;else{s=0;break e}s=(f&255)-(d&255)|0}while(0);return s|0}function n7(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,Q=0,k=0,M=0,O=0,q=0,se=0,Ge=0,Me=0,Fe=0;Fe=E,E=E+224|0,O=Fe+120|0,q=Fe+80|0,Ge=Fe,Me=Fe+136|0,f=q,d=f+40|0;do n[f>>2]=0,f=f+4|0;while((f|0)<(d|0));return n[O>>2]=n[c>>2],(SR(0,l,O,Ge,q)|0)<0?c=-1:((n[s+76>>2]|0)>-1?se=kUe(s)|0:se=0,c=n[s>>2]|0,M=c&32,(o[s+74>>0]|0)<1&&(n[s>>2]=c&-33),f=s+48|0,n[f>>2]|0?c=SR(s,l,O,Ge,q)|0:(d=s+44|0,m=n[d>>2]|0,n[d>>2]=Me,B=s+28|0,n[B>>2]=Me,Q=s+20|0,n[Q>>2]=Me,n[f>>2]=80,k=s+16|0,n[k>>2]=Me+80,c=SR(s,l,O,Ge,q)|0,m&&(yD[n[s+36>>2]&7](s,0,0)|0,c=(n[Q>>2]|0)==0?-1:c,n[d>>2]=m,n[f>>2]=0,n[k>>2]=0,n[B>>2]=0,n[Q>>2]=0)),f=n[s>>2]|0,n[s>>2]=f|M,se|0&&FUe(s),c=(f&32|0)==0?c:-1),E=Fe,c|0}function SR(s,l,c,f,d){s=s|0,l=l|0,c=c|0,f=f|0,d=d|0;var m=0,B=0,Q=0,k=0,M=0,O=0,q=0,se=0,Ge=0,Me=0,Fe=0,et=0,Xe=0,lt=0,Ue=0,qe=0,Lt=0,Or=0,sr=0,Xt=0,Dr=0,Tr=0,nr=0;nr=E,E=E+64|0,sr=nr+16|0,Xt=nr,Lt=nr+24|0,Dr=nr+8|0,Tr=nr+20|0,n[sr>>2]=l,lt=(s|0)!=0,Ue=Lt+40|0,qe=Ue,Lt=Lt+39|0,Or=Dr+4|0,B=0,m=0,O=0;e:for(;;){do if((m|0)>-1)if((B|0)>(2147483647-m|0)){n[(Km()|0)>>2]=75,m=-1;break}else{m=B+m|0;break}while(0);if(B=o[l>>0]|0,B<<24>>24)Q=l;else{Xe=87;break}t:for(;;){switch(B<<24>>24){case 37:{B=Q,Xe=9;break t}case 0:{B=Q;break t}default:}et=Q+1|0,n[sr>>2]=et,B=o[et>>0]|0,Q=et}t:do if((Xe|0)==9)for(;;){if(Xe=0,(o[Q+1>>0]|0)!=37)break t;if(B=B+1|0,Q=Q+2|0,n[sr>>2]=Q,(o[Q>>0]|0)==37)Xe=9;else break}while(0);if(B=B-l|0,lt&&is(s,l,B),B|0){l=Q;continue}k=Q+1|0,B=(o[k>>0]|0)+-48|0,B>>>0<10?(et=(o[Q+2>>0]|0)==36,Fe=et?B:-1,O=et?1:O,k=et?Q+3|0:k):Fe=-1,n[sr>>2]=k,B=o[k>>0]|0,Q=(B<<24>>24)+-32|0;t:do if(Q>>>0<32)for(M=0,q=B;;){if(B=1<<Q,!(B&75913)){B=q;break t}if(M=B|M,k=k+1|0,n[sr>>2]=k,B=o[k>>0]|0,Q=(B<<24>>24)+-32|0,Q>>>0>=32)break;q=B}else M=0;while(0);if(B<<24>>24==42){if(Q=k+1|0,B=(o[Q>>0]|0)+-48|0,B>>>0<10&&(o[k+2>>0]|0)==36)n[d+(B<<2)>>2]=10,B=n[f+((o[Q>>0]|0)+-48<<3)>>2]|0,O=1,k=k+3|0;else{if(O|0){m=-1;break}lt?(O=(n[c>>2]|0)+(4-1)&~(4-1),B=n[O>>2]|0,n[c>>2]=O+4,O=0,k=Q):(B=0,O=0,k=Q)}n[sr>>2]=k,et=(B|0)<0,B=et?0-B|0:B,M=et?M|8192:M}else{if(B=i7(sr)|0,(B|0)<0){m=-1;break}k=n[sr>>2]|0}do if((o[k>>0]|0)==46){if((o[k+1>>0]|0)!=42){n[sr>>2]=k+1,Q=i7(sr)|0,k=n[sr>>2]|0;break}if(q=k+2|0,Q=(o[q>>0]|0)+-48|0,Q>>>0<10&&(o[k+3>>0]|0)==36){n[d+(Q<<2)>>2]=10,Q=n[f+((o[q>>0]|0)+-48<<3)>>2]|0,k=k+4|0,n[sr>>2]=k;break}if(O|0){m=-1;break e}lt?(et=(n[c>>2]|0)+(4-1)&~(4-1),Q=n[et>>2]|0,n[c>>2]=et+4):Q=0,n[sr>>2]=q,k=q}else Q=-1;while(0);for(Me=0;;){if(((o[k>>0]|0)+-65|0)>>>0>57){m=-1;break e}if(et=k+1|0,n[sr>>2]=et,q=o[(o[k>>0]|0)+-65+(5178+(Me*58|0))>>0]|0,se=q&255,(se+-1|0)>>>0<8)Me=se,k=et;else break}if(!(q<<24>>24)){m=-1;break}Ge=(Fe|0)>-1;do if(q<<24>>24==19)if(Ge){m=-1;break e}else Xe=49;else{if(Ge){n[d+(Fe<<2)>>2]=se,Ge=f+(Fe<<3)|0,Fe=n[Ge+4>>2]|0,Xe=Xt,n[Xe>>2]=n[Ge>>2],n[Xe+4>>2]=Fe,Xe=49;break}if(!lt){m=0;break e}s7(Xt,se,c)}while(0);if((Xe|0)==49&&(Xe=0,!lt)){B=0,l=et;continue}k=o[k>>0]|0,k=(Me|0)!=0&(k&15|0)==3?k&-33:k,Ge=M&-65537,Fe=(M&8192|0)==0?M:Ge;t:do switch(k|0){case 110:switch((Me&255)<<24>>24){case 0:{n[n[Xt>>2]>>2]=m,B=0,l=et;continue e}case 1:{n[n[Xt>>2]>>2]=m,B=0,l=et;continue e}case 2:{B=n[Xt>>2]|0,n[B>>2]=m,n[B+4>>2]=((m|0)<0)<<31>>31,B=0,l=et;continue e}case 3:{a[n[Xt>>2]>>1]=m,B=0,l=et;continue e}case 4:{o[n[Xt>>2]>>0]=m,B=0,l=et;continue e}case 6:{n[n[Xt>>2]>>2]=m,B=0,l=et;continue e}case 7:{B=n[Xt>>2]|0,n[B>>2]=m,n[B+4>>2]=((m|0)<0)<<31>>31,B=0,l=et;continue e}default:{B=0,l=et;continue e}}case 112:{k=120,Q=Q>>>0>8?Q:8,l=Fe|8,Xe=61;break}case 88:case 120:{l=Fe,Xe=61;break}case 111:{k=Xt,l=n[k>>2]|0,k=n[k+4>>2]|0,se=TUe(l,k,Ue)|0,Ge=qe-se|0,M=0,q=5642,Q=(Fe&8|0)==0|(Q|0)>(Ge|0)?Q:Ge+1|0,Ge=Fe,Xe=67;break}case 105:case 100:if(k=Xt,l=n[k>>2]|0,k=n[k+4>>2]|0,(k|0)<0){l=gD(0,0,l|0,k|0)|0,k=Se,M=Xt,n[M>>2]=l,n[M+4>>2]=k,M=1,q=5642,Xe=66;break t}else{M=(Fe&2049|0)!=0&1,q=(Fe&2048|0)==0?(Fe&1|0)==0?5642:5644:5643,Xe=66;break t}case 117:{k=Xt,M=0,q=5642,l=n[k>>2]|0,k=n[k+4>>2]|0,Xe=66;break}case 99:{o[Lt>>0]=n[Xt>>2],l=Lt,M=0,q=5642,se=Ue,k=1,Q=Ge;break}case 109:{k=NUe(n[(Km()|0)>>2]|0)|0,Xe=71;break}case 115:{k=n[Xt>>2]|0,k=k|0?k:5652,Xe=71;break}case 67:{n[Dr>>2]=n[Xt>>2],n[Or>>2]=0,n[Xt>>2]=Dr,se=-1,k=Dr,Xe=75;break}case 83:{l=n[Xt>>2]|0,Q?(se=Q,k=l,Xe=75):(vs(s,32,B,0,Fe),l=0,Xe=84);break}case 65:case 71:case 70:case 69:case 97:case 103:case 102:case 101:{B=OUe(s,+w[Xt>>3],B,Q,Fe,k)|0,l=et;continue e}default:M=0,q=5642,se=Ue,k=Q,Q=Fe}while(0);t:do if((Xe|0)==61)Fe=Xt,Me=n[Fe>>2]|0,Fe=n[Fe+4>>2]|0,se=RUe(Me,Fe,Ue,k&32)|0,q=(l&8|0)==0|(Me|0)==0&(Fe|0)==0,M=q?0:2,q=q?5642:5642+(k>>4)|0,Ge=l,l=Me,k=Fe,Xe=67;else if((Xe|0)==66)se=Jm(l,k,Ue)|0,Ge=Fe,Xe=67;else if((Xe|0)==71)Xe=0,Fe=LUe(k,0,Q)|0,Me=(Fe|0)==0,l=k,M=0,q=5642,se=Me?k+Q|0:Fe,k=Me?Q:Fe-k|0,Q=Ge;else if((Xe|0)==75){for(Xe=0,q=k,l=0,Q=0;M=n[q>>2]|0,!(!M||(Q=o7(Tr,M)|0,(Q|0)<0|Q>>>0>(se-l|0)>>>0));)if(l=Q+l|0,se>>>0>l>>>0)q=q+4|0;else break;if((Q|0)<0){m=-1;break e}if(vs(s,32,B,l,Fe),!l)l=0,Xe=84;else for(M=0;;){if(Q=n[k>>2]|0,!Q){Xe=84;break t}if(Q=o7(Tr,Q)|0,M=Q+M|0,(M|0)>(l|0)){Xe=84;break t}if(is(s,Tr,Q),M>>>0>=l>>>0){Xe=84;break}else k=k+4|0}}while(0);if((Xe|0)==67)Xe=0,k=(l|0)!=0|(k|0)!=0,Fe=(Q|0)!=0|k,k=((k^1)&1)+(qe-se)|0,l=Fe?se:Ue,se=Ue,k=Fe?(Q|0)>(k|0)?Q:k:Q,Q=(Q|0)>-1?Ge&-65537:Ge;else if((Xe|0)==84){Xe=0,vs(s,32,B,l,Fe^8192),B=(B|0)>(l|0)?B:l,l=et;continue}Me=se-l|0,Ge=(k|0)<(Me|0)?Me:k,Fe=Ge+M|0,B=(B|0)<(Fe|0)?Fe:B,vs(s,32,B,Fe,Q),is(s,q,M),vs(s,48,B,Fe,Q^65536),vs(s,48,Ge,Me,0),is(s,l,Me),vs(s,32,B,Fe,Q^8192),l=et}e:do if((Xe|0)==87&&!s)if(!O)m=0;else{for(m=1;l=n[d+(m<<2)>>2]|0,!!l;)if(s7(f+(m<<3)|0,l,c),m=m+1|0,(m|0)>=10){m=1;break e}for(;;){if(n[d+(m<<2)>>2]|0){m=-1;break e}if(m=m+1|0,(m|0)>=10){m=1;break}}}while(0);return E=nr,m|0}function kUe(s){return s=s|0,0}function FUe(s){s=s|0}function is(s,l,c){s=s|0,l=l|0,c=c|0,n[s>>2]&32||WUe(l,c,s)|0}function i7(s){s=s|0;var l=0,c=0,f=0;if(c=n[s>>2]|0,f=(o[c>>0]|0)+-48|0,f>>>0<10){l=0;do l=f+(l*10|0)|0,c=c+1|0,n[s>>2]=c,f=(o[c>>0]|0)+-48|0;while(f>>>0<10)}else l=0;return l|0}function s7(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0;e:do if(l>>>0<=20)do switch(l|0){case 9:{f=(n[c>>2]|0)+(4-1)&~(4-1),l=n[f>>2]|0,n[c>>2]=f+4,n[s>>2]=l;break e}case 10:{f=(n[c>>2]|0)+(4-1)&~(4-1),l=n[f>>2]|0,n[c>>2]=f+4,f=s,n[f>>2]=l,n[f+4>>2]=((l|0)<0)<<31>>31;break e}case 11:{f=(n[c>>2]|0)+(4-1)&~(4-1),l=n[f>>2]|0,n[c>>2]=f+4,f=s,n[f>>2]=l,n[f+4>>2]=0;break e}case 12:{f=(n[c>>2]|0)+(8-1)&~(8-1),l=f,d=n[l>>2]|0,l=n[l+4>>2]|0,n[c>>2]=f+8,f=s,n[f>>2]=d,n[f+4>>2]=l;break e}case 13:{d=(n[c>>2]|0)+(4-1)&~(4-1),f=n[d>>2]|0,n[c>>2]=d+4,f=(f&65535)<<16>>16,d=s,n[d>>2]=f,n[d+4>>2]=((f|0)<0)<<31>>31;break e}case 14:{d=(n[c>>2]|0)+(4-1)&~(4-1),f=n[d>>2]|0,n[c>>2]=d+4,d=s,n[d>>2]=f&65535,n[d+4>>2]=0;break e}case 15:{d=(n[c>>2]|0)+(4-1)&~(4-1),f=n[d>>2]|0,n[c>>2]=d+4,f=(f&255)<<24>>24,d=s,n[d>>2]=f,n[d+4>>2]=((f|0)<0)<<31>>31;break e}case 16:{d=(n[c>>2]|0)+(4-1)&~(4-1),f=n[d>>2]|0,n[c>>2]=d+4,d=s,n[d>>2]=f&255,n[d+4>>2]=0;break e}case 17:{d=(n[c>>2]|0)+(8-1)&~(8-1),m=+w[d>>3],n[c>>2]=d+8,w[s>>3]=m;break e}case 18:{d=(n[c>>2]|0)+(8-1)&~(8-1),m=+w[d>>3],n[c>>2]=d+8,w[s>>3]=m;break e}default:break e}while(0);while(0)}function RUe(s,l,c,f){if(s=s|0,l=l|0,c=c|0,f=f|0,!((s|0)==0&(l|0)==0))do c=c+-1|0,o[c>>0]=u[5694+(s&15)>>0]|0|f,s=dD(s|0,l|0,4)|0,l=Se;while(!((s|0)==0&(l|0)==0));return c|0}function TUe(s,l,c){if(s=s|0,l=l|0,c=c|0,!((s|0)==0&(l|0)==0))do c=c+-1|0,o[c>>0]=s&7|48,s=dD(s|0,l|0,3)|0,l=Se;while(!((s|0)==0&(l|0)==0));return c|0}function Jm(s,l,c){s=s|0,l=l|0,c=c|0;var f=0;if(l>>>0>0|(l|0)==0&s>>>0>4294967295){for(;f=QR(s|0,l|0,10,0)|0,c=c+-1|0,o[c>>0]=f&255|48,f=s,s=bR(s|0,l|0,10,0)|0,l>>>0>9|(l|0)==9&f>>>0>4294967295;)l=Se;l=s}else l=s;if(l)for(;c=c+-1|0,o[c>>0]=(l>>>0)%10|0|48,!(l>>>0<10);)l=(l>>>0)/10|0;return c|0}function NUe(s){return s=s|0,jUe(s,n[(HUe()|0)+188>>2]|0)|0}function LUe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0;m=l&255,f=(c|0)!=0;e:do if(f&(s&3|0)!=0)for(d=l&255;;){if((o[s>>0]|0)==d<<24>>24){B=6;break e}if(s=s+1|0,c=c+-1|0,f=(c|0)!=0,!(f&(s&3|0)!=0)){B=5;break}}else B=5;while(0);(B|0)==5&&(f?B=6:c=0);e:do if((B|0)==6&&(d=l&255,(o[s>>0]|0)!=d<<24>>24)){f=je(m,16843009)|0;t:do if(c>>>0>3){for(;m=n[s>>2]^f,!((m&-2139062144^-2139062144)&m+-16843009|0);)if(s=s+4|0,c=c+-4|0,c>>>0<=3){B=11;break t}}else B=11;while(0);if((B|0)==11&&!c){c=0;break}for(;;){if((o[s>>0]|0)==d<<24>>24)break e;if(s=s+1|0,c=c+-1|0,!c){c=0;break}}}while(0);return(c|0?s:0)|0}function vs(s,l,c,f,d){s=s|0,l=l|0,c=c|0,f=f|0,d=d|0;var m=0,B=0;if(B=E,E=E+256|0,m=B,(c|0)>(f|0)&(d&73728|0)==0){if(d=c-f|0,zm(m|0,l|0,(d>>>0<256?d:256)|0)|0,d>>>0>255){l=c-f|0;do is(s,m,256),d=d+-256|0;while(d>>>0>255);d=l&255}is(s,m,d)}E=B}function o7(s,l){return s=s|0,l=l|0,s?s=UUe(s,l,0)|0:s=0,s|0}function OUe(s,l,c,f,d,m){s=s|0,l=+l,c=c|0,f=f|0,d=d|0,m=m|0;var B=0,Q=0,k=0,M=0,O=0,q=0,se=0,Ge=0,Me=0,Fe=0,et=0,Xe=0,lt=0,Ue=0,qe=0,Lt=0,Or=0,sr=0,Xt=0,Dr=0,Tr=0,nr=0,xn=0;xn=E,E=E+560|0,k=xn+8|0,et=xn,nr=xn+524|0,Tr=nr,M=xn+512|0,n[et>>2]=0,Dr=M+12|0,a7(l)|0,(Se|0)<0?(l=-l,sr=1,Or=5659):(sr=(d&2049|0)!=0&1,Or=(d&2048|0)==0?(d&1|0)==0?5660:5665:5662),a7(l)|0,Xt=Se&2146435072;do if(Xt>>>0<2146435072|(Xt|0)==2146435072&0<0){if(Ge=+MUe(l,et)*2,B=Ge!=0,B&&(n[et>>2]=(n[et>>2]|0)+-1),lt=m|32,(lt|0)==97){Me=m&32,se=(Me|0)==0?Or:Or+9|0,q=sr|2,B=12-f|0;do if(f>>>0>11|(B|0)==0)l=Ge;else{l=8;do B=B+-1|0,l=l*16;while((B|0)!=0);if((o[se>>0]|0)==45){l=-(l+(-Ge-l));break}else{l=Ge+l-l;break}}while(0);Q=n[et>>2]|0,B=(Q|0)<0?0-Q|0:Q,B=Jm(B,((B|0)<0)<<31>>31,Dr)|0,(B|0)==(Dr|0)&&(B=M+11|0,o[B>>0]=48),o[B+-1>>0]=(Q>>31&2)+43,O=B+-2|0,o[O>>0]=m+15,M=(f|0)<1,k=(d&8|0)==0,B=nr;do Xt=~~l,Q=B+1|0,o[B>>0]=u[5694+Xt>>0]|Me,l=(l-+(Xt|0))*16,(Q-Tr|0)==1&&!(k&(M&l==0))?(o[Q>>0]=46,B=B+2|0):B=Q;while(l!=0);Xt=B-Tr|0,Tr=Dr-O|0,Dr=(f|0)!=0&(Xt+-2|0)<(f|0)?f+2|0:Xt,B=Tr+q+Dr|0,vs(s,32,c,B,d),is(s,se,q),vs(s,48,c,B,d^65536),is(s,nr,Xt),vs(s,48,Dr-Xt|0,0,0),is(s,O,Tr),vs(s,32,c,B,d^8192);break}Q=(f|0)<0?6:f,B?(B=(n[et>>2]|0)+-28|0,n[et>>2]=B,l=Ge*268435456):(l=Ge,B=n[et>>2]|0),Xt=(B|0)<0?k:k+288|0,k=Xt;do qe=~~l>>>0,n[k>>2]=qe,k=k+4|0,l=(l-+(qe>>>0))*1e9;while(l!=0);if((B|0)>0)for(M=Xt,q=k;;){if(O=(B|0)<29?B:29,B=q+-4|0,B>>>0>=M>>>0){k=0;do Ue=p7(n[B>>2]|0,0,O|0)|0,Ue=xR(Ue|0,Se|0,k|0,0)|0,qe=Se,Xe=QR(Ue|0,qe|0,1e9,0)|0,n[B>>2]=Xe,k=bR(Ue|0,qe|0,1e9,0)|0,B=B+-4|0;while(B>>>0>=M>>>0);k&&(M=M+-4|0,n[M>>2]=k)}for(k=q;!(k>>>0<=M>>>0);)if(B=k+-4|0,!(n[B>>2]|0))k=B;else break;if(B=(n[et>>2]|0)-O|0,n[et>>2]=B,(B|0)>0)q=k;else break}else M=Xt;if((B|0)<0){f=((Q+25|0)/9|0)+1|0,Fe=(lt|0)==102;do{if(Me=0-B|0,Me=(Me|0)<9?Me:9,M>>>0<k>>>0){O=(1<<Me)+-1|0,q=1e9>>>Me,se=0,B=M;do qe=n[B>>2]|0,n[B>>2]=(qe>>>Me)+se,se=je(qe&O,q)|0,B=B+4|0;while(B>>>0<k>>>0);B=(n[M>>2]|0)==0?M+4|0:M,se?(n[k>>2]=se,M=B,B=k+4|0):(M=B,B=k)}else M=(n[M>>2]|0)==0?M+4|0:M,B=k;k=Fe?Xt:M,k=(B-k>>2|0)>(f|0)?k+(f<<2)|0:B,B=(n[et>>2]|0)+Me|0,n[et>>2]=B}while((B|0)<0);B=M,f=k}else B=M,f=k;if(qe=Xt,B>>>0<f>>>0){if(k=(qe-B>>2)*9|0,O=n[B>>2]|0,O>>>0>=10){M=10;do M=M*10|0,k=k+1|0;while(O>>>0>=M>>>0)}}else k=0;if(Fe=(lt|0)==103,Xe=(Q|0)!=0,M=Q-((lt|0)!=102?k:0)+((Xe&Fe)<<31>>31)|0,(M|0)<(((f-qe>>2)*9|0)+-9|0)){if(M=M+9216|0,Me=Xt+4+(((M|0)/9|0)+-1024<<2)|0,M=((M|0)%9|0)+1|0,(M|0)<9){O=10;do O=O*10|0,M=M+1|0;while((M|0)!=9)}else O=10;if(q=n[Me>>2]|0,se=(q>>>0)%(O>>>0)|0,M=(Me+4|0)==(f|0),M&(se|0)==0)M=Me;else if(Ge=(((q>>>0)/(O>>>0)|0)&1|0)==0?9007199254740992:9007199254740994,Ue=(O|0)/2|0,l=se>>>0<Ue>>>0?.5:M&(se|0)==(Ue|0)?1:1.5,sr&&(Ue=(o[Or>>0]|0)==45,l=Ue?-l:l,Ge=Ue?-Ge:Ge),M=q-se|0,n[Me>>2]=M,Ge+l!=Ge){if(Ue=M+O|0,n[Me>>2]=Ue,Ue>>>0>999999999)for(k=Me;M=k+-4|0,n[k>>2]=0,M>>>0<B>>>0&&(B=B+-4|0,n[B>>2]=0),Ue=(n[M>>2]|0)+1|0,n[M>>2]=Ue,Ue>>>0>999999999;)k=M;else M=Me;if(k=(qe-B>>2)*9|0,q=n[B>>2]|0,q>>>0>=10){O=10;do O=O*10|0,k=k+1|0;while(q>>>0>=O>>>0)}}else M=Me;M=M+4|0,M=f>>>0>M>>>0?M:f,Ue=B}else M=f,Ue=B;for(lt=M;;){if(lt>>>0<=Ue>>>0){et=0;break}if(B=lt+-4|0,!(n[B>>2]|0))lt=B;else{et=1;break}}f=0-k|0;do if(Fe)if(B=((Xe^1)&1)+Q|0,(B|0)>(k|0)&(k|0)>-5?(O=m+-1|0,Q=B+-1-k|0):(O=m+-2|0,Q=B+-1|0),B=d&8,B)Me=B;else{if(et&&(Lt=n[lt+-4>>2]|0,(Lt|0)!=0))if((Lt>>>0)%10|0)M=0;else{M=0,B=10;do B=B*10|0,M=M+1|0;while(!((Lt>>>0)%(B>>>0)|0|0))}else M=9;if(B=((lt-qe>>2)*9|0)+-9|0,(O|32|0)==102){Me=B-M|0,Me=(Me|0)>0?Me:0,Q=(Q|0)<(Me|0)?Q:Me,Me=0;break}else{Me=B+k-M|0,Me=(Me|0)>0?Me:0,Q=(Q|0)<(Me|0)?Q:Me,Me=0;break}}else O=m,Me=d&8;while(0);if(Fe=Q|Me,q=(Fe|0)!=0&1,se=(O|32|0)==102,se)Xe=0,B=(k|0)>0?k:0;else{if(B=(k|0)<0?f:k,B=Jm(B,((B|0)<0)<<31>>31,Dr)|0,M=Dr,(M-B|0)<2)do B=B+-1|0,o[B>>0]=48;while((M-B|0)<2);o[B+-1>>0]=(k>>31&2)+43,B=B+-2|0,o[B>>0]=O,Xe=B,B=M-B|0}if(B=sr+1+Q+q+B|0,vs(s,32,c,B,d),is(s,Or,sr),vs(s,48,c,B,d^65536),se){O=Ue>>>0>Xt>>>0?Xt:Ue,Me=nr+9|0,q=Me,se=nr+8|0,M=O;do{if(k=Jm(n[M>>2]|0,0,Me)|0,(M|0)==(O|0))(k|0)==(Me|0)&&(o[se>>0]=48,k=se);else if(k>>>0>nr>>>0){zm(nr|0,48,k-Tr|0)|0;do k=k+-1|0;while(k>>>0>nr>>>0)}is(s,k,q-k|0),M=M+4|0}while(M>>>0<=Xt>>>0);if(Fe|0&&is(s,5710,1),M>>>0<lt>>>0&(Q|0)>0)for(;;){if(k=Jm(n[M>>2]|0,0,Me)|0,k>>>0>nr>>>0){zm(nr|0,48,k-Tr|0)|0;do k=k+-1|0;while(k>>>0>nr>>>0)}if(is(s,k,(Q|0)<9?Q:9),M=M+4|0,k=Q+-9|0,M>>>0<lt>>>0&(Q|0)>9)Q=k;else{Q=k;break}}vs(s,48,Q+9|0,9,0)}else{if(Fe=et?lt:Ue+4|0,(Q|0)>-1){et=nr+9|0,Me=(Me|0)==0,f=et,q=0-Tr|0,se=nr+8|0,O=Ue;do{k=Jm(n[O>>2]|0,0,et)|0,(k|0)==(et|0)&&(o[se>>0]=48,k=se);do if((O|0)==(Ue|0)){if(M=k+1|0,is(s,k,1),Me&(Q|0)<1){k=M;break}is(s,5710,1),k=M}else{if(k>>>0<=nr>>>0)break;zm(nr|0,48,k+q|0)|0;do k=k+-1|0;while(k>>>0>nr>>>0)}while(0);Tr=f-k|0,is(s,k,(Q|0)>(Tr|0)?Tr:Q),Q=Q-Tr|0,O=O+4|0}while(O>>>0<Fe>>>0&(Q|0)>-1)}vs(s,48,Q+18|0,18,0),is(s,Xe,Dr-Xe|0)}vs(s,32,c,B,d^8192)}else nr=(m&32|0)!=0,B=sr+3|0,vs(s,32,c,B,d&-65537),is(s,Or,sr),is(s,l!=l|!1?nr?5686:5690:nr?5678:5682,3),vs(s,32,c,B,d^8192);while(0);return E=xn,((B|0)<(c|0)?c:B)|0}function a7(s){s=+s;var l=0;return w[v>>3]=s,l=n[v>>2]|0,Se=n[v+4>>2]|0,l|0}function MUe(s,l){return s=+s,l=l|0,+ +l7(s,l)}function l7(s,l){s=+s,l=l|0;var c=0,f=0,d=0;switch(w[v>>3]=s,c=n[v>>2]|0,f=n[v+4>>2]|0,d=dD(c|0,f|0,52)|0,d&2047){case 0:{s!=0?(s=+l7(s*18446744073709552e3,l),c=(n[l>>2]|0)+-64|0):c=0,n[l>>2]=c;break}case 2047:break;default:n[l>>2]=(d&2047)+-1022,n[v>>2]=c,n[v+4>>2]=f&-2146435073|1071644672,s=+w[v>>3]}return+s}function UUe(s,l,c){s=s|0,l=l|0,c=c|0;do if(s){if(l>>>0<128){o[s>>0]=l,s=1;break}if(!(n[n[(_Ue()|0)+188>>2]>>2]|0))if((l&-128|0)==57216){o[s>>0]=l,s=1;break}else{n[(Km()|0)>>2]=84,s=-1;break}if(l>>>0<2048){o[s>>0]=l>>>6|192,o[s+1>>0]=l&63|128,s=2;break}if(l>>>0<55296|(l&-8192|0)==57344){o[s>>0]=l>>>12|224,o[s+1>>0]=l>>>6&63|128,o[s+2>>0]=l&63|128,s=3;break}if((l+-65536|0)>>>0<1048576){o[s>>0]=l>>>18|240,o[s+1>>0]=l>>>12&63|128,o[s+2>>0]=l>>>6&63|128,o[s+3>>0]=l&63|128,s=4;break}else{n[(Km()|0)>>2]=84,s=-1;break}}else s=1;while(0);return s|0}function _Ue(){return DR()|0}function HUe(){return DR()|0}function jUe(s,l){s=s|0,l=l|0;var c=0,f=0;for(f=0;;){if((u[5712+f>>0]|0)==(s|0)){s=2;break}if(c=f+1|0,(c|0)==87){c=5800,f=87,s=5;break}else f=c}if((s|0)==2&&(f?(c=5800,s=5):c=5800),(s|0)==5)for(;;){do s=c,c=c+1|0;while((o[s>>0]|0)!=0);if(f=f+-1|0,f)s=5;else break}return qUe(c,n[l+20>>2]|0)|0}function qUe(s,l){return s=s|0,l=l|0,GUe(s,l)|0}function GUe(s,l){return s=s|0,l=l|0,l?l=YUe(n[l>>2]|0,n[l+4>>2]|0,s)|0:l=0,(l|0?l:s)|0}function YUe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,Q=0,k=0,M=0,O=0,q=0,se=0;se=(n[s>>2]|0)+1794895138|0,m=kg(n[s+8>>2]|0,se)|0,f=kg(n[s+12>>2]|0,se)|0,d=kg(n[s+16>>2]|0,se)|0;e:do if(m>>>0<l>>>2>>>0&&(q=l-(m<<2)|0,f>>>0<q>>>0&d>>>0<q>>>0)&&((d|f)&3|0)==0){for(q=f>>>2,O=d>>>2,M=0;;){if(Q=m>>>1,k=M+Q|0,B=k<<1,d=B+q|0,f=kg(n[s+(d<<2)>>2]|0,se)|0,d=kg(n[s+(d+1<<2)>>2]|0,se)|0,!(d>>>0<l>>>0&f>>>0<(l-d|0)>>>0)){f=0;break e}if(o[s+(d+f)>>0]|0){f=0;break e}if(f=r7(c,s+d|0)|0,!f)break;if(f=(f|0)<0,(m|0)==1){f=0;break e}else M=f?M:k,m=f?Q:m-Q|0}f=B+O|0,d=kg(n[s+(f<<2)>>2]|0,se)|0,f=kg(n[s+(f+1<<2)>>2]|0,se)|0,f>>>0<l>>>0&d>>>0<(l-f|0)>>>0?f=(o[s+(f+d)>>0]|0)==0?s+f|0:0:f=0}else f=0;while(0);return f|0}function kg(s,l){s=s|0,l=l|0;var c=0;return c=d7(s|0)|0,((l|0)==0?s:c)|0}function WUe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,Q=0;f=c+16|0,d=n[f>>2]|0,d?m=5:KUe(c)|0?f=0:(d=n[f>>2]|0,m=5);e:do if((m|0)==5){if(Q=c+20|0,B=n[Q>>2]|0,f=B,(d-B|0)>>>0<l>>>0){f=yD[n[c+36>>2]&7](c,s,l)|0;break}t:do if((o[c+75>>0]|0)>-1){for(B=l;;){if(!B){m=0,d=s;break t}if(d=B+-1|0,(o[s+d>>0]|0)==10)break;B=d}if(f=yD[n[c+36>>2]&7](c,s,B)|0,f>>>0<B>>>0)break e;m=B,d=s+B|0,l=l-B|0,f=n[Q>>2]|0}else m=0,d=s;while(0);vr(f|0,d|0,l|0)|0,n[Q>>2]=(n[Q>>2]|0)+l,f=m+l|0}while(0);return f|0}function KUe(s){s=s|0;var l=0,c=0;return l=s+74|0,c=o[l>>0]|0,o[l>>0]=c+255|c,l=n[s>>2]|0,l&8?(n[s>>2]=l|32,s=-1):(n[s+8>>2]=0,n[s+4>>2]=0,c=n[s+44>>2]|0,n[s+28>>2]=c,n[s+20>>2]=c,n[s+16>>2]=c+(n[s+48>>2]|0),s=0),s|0}function Un(s,l){s=y(s),l=y(l);var c=0,f=0;c=c7(s)|0;do if((c&2147483647)>>>0<=2139095040){if(f=c7(l)|0,(f&2147483647)>>>0<=2139095040)if((f^c|0)<0){s=(c|0)<0?l:s;break}else{s=s<l?l:s;break}}else s=l;while(0);return y(s)}function c7(s){return s=y(s),h[v>>2]=s,n[v>>2]|0|0}function Fg(s,l){s=y(s),l=y(l);var c=0,f=0;c=u7(s)|0;do if((c&2147483647)>>>0<=2139095040){if(f=u7(l)|0,(f&2147483647)>>>0<=2139095040)if((f^c|0)<0){s=(c|0)<0?s:l;break}else{s=s<l?s:l;break}}else s=l;while(0);return y(s)}function u7(s){return s=y(s),h[v>>2]=s,n[v>>2]|0|0}function PR(s,l){s=y(s),l=y(l);var c=0,f=0,d=0,m=0,B=0,Q=0,k=0,M=0;m=(h[v>>2]=s,n[v>>2]|0),Q=(h[v>>2]=l,n[v>>2]|0),c=m>>>23&255,B=Q>>>23&255,k=m&-2147483648,d=Q<<1;e:do if((d|0)!=0&&!((c|0)==255|((JUe(l)|0)&2147483647)>>>0>2139095040)){if(f=m<<1,f>>>0<=d>>>0)return l=y(s*y(0)),y((f|0)==(d|0)?l:s);if(c)f=m&8388607|8388608;else{if(c=m<<9,(c|0)>-1){f=c,c=0;do c=c+-1|0,f=f<<1;while((f|0)>-1)}else c=0;f=m<<1-c}if(B)Q=Q&8388607|8388608;else{if(m=Q<<9,(m|0)>-1){d=0;do d=d+-1|0,m=m<<1;while((m|0)>-1)}else d=0;B=d,Q=Q<<1-d}d=f-Q|0,m=(d|0)>-1;t:do if((c|0)>(B|0)){for(;;){if(m)if(d)f=d;else break;if(f=f<<1,c=c+-1|0,d=f-Q|0,m=(d|0)>-1,(c|0)<=(B|0))break t}l=y(s*y(0));break e}while(0);if(m)if(d)f=d;else{l=y(s*y(0));break}if(f>>>0<8388608)do f=f<<1,c=c+-1|0;while(f>>>0<8388608);(c|0)>0?c=f+-8388608|c<<23:c=f>>>(1-c|0),l=(n[v>>2]=c|k,y(h[v>>2]))}else M=3;while(0);return(M|0)==3&&(l=y(s*l),l=y(l/l)),y(l)}function JUe(s){return s=y(s),h[v>>2]=s,n[v>>2]|0|0}function VUe(s,l){return s=s|0,l=l|0,n7(n[582]|0,s,l)|0}function Vr(s){s=s|0,Rt()}function Vm(s){s=s|0}function zUe(s,l){return s=s|0,l=l|0,0}function XUe(s){return s=s|0,(A7(s+4|0)|0)==-1?(tf[n[(n[s>>2]|0)+8>>2]&127](s),s=1):s=0,s|0}function A7(s){s=s|0;var l=0;return l=n[s>>2]|0,n[s>>2]=l+-1,l+-1|0}function xp(s){s=s|0,XUe(s)|0&&ZUe(s)}function ZUe(s){s=s|0;var l=0;l=s+8|0,(n[l>>2]|0)!=0&&(A7(l)|0)!=-1||tf[n[(n[s>>2]|0)+16>>2]&127](s)}function Kt(s){s=s|0;var l=0;for(l=(s|0)==0?1:s;s=fD(l)|0,!(s|0);){if(s=e3e()|0,!s){s=0;break}S7[s&0]()}return s|0}function f7(s){return s=s|0,Kt(s)|0}function ht(s){s=s|0,pD(s)}function $Ue(s){s=s|0,(o[s+11>>0]|0)<0&&ht(n[s>>2]|0)}function e3e(){var s=0;return s=n[2923]|0,n[2923]=s+0,s|0}function t3e(){}function gD(s,l,c,f){return s=s|0,l=l|0,c=c|0,f=f|0,f=l-f-(c>>>0>s>>>0|0)>>>0,Se=f,s-c>>>0|0|0}function xR(s,l,c,f){return s=s|0,l=l|0,c=c|0,f=f|0,c=s+c>>>0,Se=l+f+(c>>>0<s>>>0|0)>>>0,c|0|0}function zm(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0;if(m=s+c|0,l=l&255,(c|0)>=67){for(;s&3;)o[s>>0]=l,s=s+1|0;for(f=m&-4|0,d=f-64|0,B=l|l<<8|l<<16|l<<24;(s|0)<=(d|0);)n[s>>2]=B,n[s+4>>2]=B,n[s+8>>2]=B,n[s+12>>2]=B,n[s+16>>2]=B,n[s+20>>2]=B,n[s+24>>2]=B,n[s+28>>2]=B,n[s+32>>2]=B,n[s+36>>2]=B,n[s+40>>2]=B,n[s+44>>2]=B,n[s+48>>2]=B,n[s+52>>2]=B,n[s+56>>2]=B,n[s+60>>2]=B,s=s+64|0;for(;(s|0)<(f|0);)n[s>>2]=B,s=s+4|0}for(;(s|0)<(m|0);)o[s>>0]=l,s=s+1|0;return m-c|0}function p7(s,l,c){return s=s|0,l=l|0,c=c|0,(c|0)<32?(Se=l<<c|(s&(1<<c)-1<<32-c)>>>32-c,s<<c):(Se=s<<c-32,0)}function dD(s,l,c){return s=s|0,l=l|0,c=c|0,(c|0)<32?(Se=l>>>c,s>>>c|(l&(1<<c)-1)<<32-c):(Se=0,l>>>c-32|0)}function vr(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0;if((c|0)>=8192)return Ac(s|0,l|0,c|0)|0;if(m=s|0,d=s+c|0,(s&3)==(l&3)){for(;s&3;){if(!c)return m|0;o[s>>0]=o[l>>0]|0,s=s+1|0,l=l+1|0,c=c-1|0}for(c=d&-4|0,f=c-64|0;(s|0)<=(f|0);)n[s>>2]=n[l>>2],n[s+4>>2]=n[l+4>>2],n[s+8>>2]=n[l+8>>2],n[s+12>>2]=n[l+12>>2],n[s+16>>2]=n[l+16>>2],n[s+20>>2]=n[l+20>>2],n[s+24>>2]=n[l+24>>2],n[s+28>>2]=n[l+28>>2],n[s+32>>2]=n[l+32>>2],n[s+36>>2]=n[l+36>>2],n[s+40>>2]=n[l+40>>2],n[s+44>>2]=n[l+44>>2],n[s+48>>2]=n[l+48>>2],n[s+52>>2]=n[l+52>>2],n[s+56>>2]=n[l+56>>2],n[s+60>>2]=n[l+60>>2],s=s+64|0,l=l+64|0;for(;(s|0)<(c|0);)n[s>>2]=n[l>>2],s=s+4|0,l=l+4|0}else for(c=d-4|0;(s|0)<(c|0);)o[s>>0]=o[l>>0]|0,o[s+1>>0]=o[l+1>>0]|0,o[s+2>>0]=o[l+2>>0]|0,o[s+3>>0]=o[l+3>>0]|0,s=s+4|0,l=l+4|0;for(;(s|0)<(d|0);)o[s>>0]=o[l>>0]|0,s=s+1|0,l=l+1|0;return m|0}function h7(s){s=s|0;var l=0;return l=o[N+(s&255)>>0]|0,(l|0)<8?l|0:(l=o[N+(s>>8&255)>>0]|0,(l|0)<8?l+8|0:(l=o[N+(s>>16&255)>>0]|0,(l|0)<8?l+16|0:(o[N+(s>>>24)>>0]|0)+24|0))}function g7(s,l,c,f,d){s=s|0,l=l|0,c=c|0,f=f|0,d=d|0;var m=0,B=0,Q=0,k=0,M=0,O=0,q=0,se=0,Ge=0,Me=0;if(O=s,k=l,M=k,B=c,se=f,Q=se,!M)return m=(d|0)!=0,Q?m?(n[d>>2]=s|0,n[d+4>>2]=l&0,se=0,d=0,Se=se,d|0):(se=0,d=0,Se=se,d|0):(m&&(n[d>>2]=(O>>>0)%(B>>>0),n[d+4>>2]=0),se=0,d=(O>>>0)/(B>>>0)>>>0,Se=se,d|0);m=(Q|0)==0;do if(B){if(!m){if(m=(P(Q|0)|0)-(P(M|0)|0)|0,m>>>0<=31){q=m+1|0,Q=31-m|0,l=m-31>>31,B=q,s=O>>>(q>>>0)&l|M<<Q,l=M>>>(q>>>0)&l,m=0,Q=O<<Q;break}return d?(n[d>>2]=s|0,n[d+4>>2]=k|l&0,se=0,d=0,Se=se,d|0):(se=0,d=0,Se=se,d|0)}if(m=B-1|0,m&B|0){Q=(P(B|0)|0)+33-(P(M|0)|0)|0,Me=64-Q|0,q=32-Q|0,k=q>>31,Ge=Q-32|0,l=Ge>>31,B=Q,s=q-1>>31&M>>>(Ge>>>0)|(M<<q|O>>>(Q>>>0))&l,l=l&M>>>(Q>>>0),m=O<<Me&k,Q=(M<<Me|O>>>(Ge>>>0))&k|O<<q&Q-33>>31;break}return d|0&&(n[d>>2]=m&O,n[d+4>>2]=0),(B|0)==1?(Ge=k|l&0,Me=s|0|0,Se=Ge,Me|0):(Me=h7(B|0)|0,Ge=M>>>(Me>>>0)|0,Me=M<<32-Me|O>>>(Me>>>0)|0,Se=Ge,Me|0)}else{if(m)return d|0&&(n[d>>2]=(M>>>0)%(B>>>0),n[d+4>>2]=0),Ge=0,Me=(M>>>0)/(B>>>0)>>>0,Se=Ge,Me|0;if(!O)return d|0&&(n[d>>2]=0,n[d+4>>2]=(M>>>0)%(Q>>>0)),Ge=0,Me=(M>>>0)/(Q>>>0)>>>0,Se=Ge,Me|0;if(m=Q-1|0,!(m&Q))return d|0&&(n[d>>2]=s|0,n[d+4>>2]=m&M|l&0),Ge=0,Me=M>>>((h7(Q|0)|0)>>>0),Se=Ge,Me|0;if(m=(P(Q|0)|0)-(P(M|0)|0)|0,m>>>0<=30){l=m+1|0,Q=31-m|0,B=l,s=M<<Q|O>>>(l>>>0),l=M>>>(l>>>0),m=0,Q=O<<Q;break}return d?(n[d>>2]=s|0,n[d+4>>2]=k|l&0,Ge=0,Me=0,Se=Ge,Me|0):(Ge=0,Me=0,Se=Ge,Me|0)}while(0);if(!B)M=Q,k=0,Q=0;else{q=c|0|0,O=se|f&0,M=xR(q|0,O|0,-1,-1)|0,c=Se,k=Q,Q=0;do f=k,k=m>>>31|k<<1,m=Q|m<<1,f=s<<1|f>>>31|0,se=s>>>31|l<<1|0,gD(M|0,c|0,f|0,se|0)|0,Me=Se,Ge=Me>>31|((Me|0)<0?-1:0)<<1,Q=Ge&1,s=gD(f|0,se|0,Ge&q|0,(((Me|0)<0?-1:0)>>31|((Me|0)<0?-1:0)<<1)&O|0)|0,l=Se,B=B-1|0;while((B|0)!=0);M=k,k=0}return B=0,d|0&&(n[d>>2]=s,n[d+4>>2]=l),Ge=(m|0)>>>31|(M|B)<<1|(B<<1|m>>>31)&0|k,Me=(m<<1|0>>>31)&-2|Q,Se=Ge,Me|0}function bR(s,l,c,f){return s=s|0,l=l|0,c=c|0,f=f|0,g7(s,l,c,f,0)|0}function bp(s){s=s|0;var l=0,c=0;return c=s+15&-16|0,l=n[I>>2]|0,s=l+c|0,(c|0)>0&(s|0)<(l|0)|(s|0)<0?(ie()|0,DA(12),-1):(n[I>>2]=s,(s|0)>(Z()|0)&&(X()|0)==0?(n[I>>2]=l,DA(12),-1):l|0)}function LC(s,l,c){s=s|0,l=l|0,c=c|0;var f=0;if((l|0)<(s|0)&(s|0)<(l+c|0)){for(f=s,l=l+c|0,s=s+c|0;(c|0)>0;)s=s-1|0,l=l-1|0,c=c-1|0,o[s>>0]=o[l>>0]|0;s=f}else vr(s,l,c)|0;return s|0}function QR(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0,m=0;return m=E,E=E+16|0,d=m|0,g7(s,l,c,f,d)|0,E=m,Se=n[d+4>>2]|0,n[d>>2]|0|0}function d7(s){return s=s|0,(s&255)<<24|(s>>8&255)<<16|(s>>16&255)<<8|s>>>24|0}function r3e(s,l,c,f,d,m){s=s|0,l=l|0,c=c|0,f=f|0,d=d|0,m=m|0,m7[s&1](l|0,c|0,f|0,d|0,m|0)}function n3e(s,l,c){s=s|0,l=l|0,c=y(c),y7[s&1](l|0,y(c))}function i3e(s,l,c){s=s|0,l=l|0,c=+c,E7[s&31](l|0,+c)}function s3e(s,l,c,f){return s=s|0,l=l|0,c=y(c),f=y(f),y(w7[s&0](l|0,y(c),y(f)))}function o3e(s,l){s=s|0,l=l|0,tf[s&127](l|0)}function a3e(s,l,c){s=s|0,l=l|0,c=c|0,rf[s&31](l|0,c|0)}function l3e(s,l){return s=s|0,l=l|0,Tg[s&31](l|0)|0}function c3e(s,l,c,f,d){s=s|0,l=l|0,c=+c,f=+f,d=d|0,C7[s&1](l|0,+c,+f,d|0)}function u3e(s,l,c,f){s=s|0,l=l|0,c=+c,f=+f,G3e[s&1](l|0,+c,+f)}function A3e(s,l,c,f){return s=s|0,l=l|0,c=c|0,f=f|0,yD[s&7](l|0,c|0,f|0)|0}function f3e(s,l,c,f){return s=s|0,l=l|0,c=c|0,f=f|0,+Y3e[s&1](l|0,c|0,f|0)}function p3e(s,l){return s=s|0,l=l|0,+I7[s&15](l|0)}function h3e(s,l,c){return s=s|0,l=l|0,c=+c,W3e[s&1](l|0,+c)|0}function g3e(s,l,c){return s=s|0,l=l|0,c=c|0,FR[s&15](l|0,c|0)|0}function d3e(s,l,c,f,d,m){s=s|0,l=l|0,c=c|0,f=+f,d=+d,m=m|0,K3e[s&1](l|0,c|0,+f,+d,m|0)}function m3e(s,l,c,f,d,m,B){s=s|0,l=l|0,c=c|0,f=f|0,d=d|0,m=m|0,B=B|0,J3e[s&1](l|0,c|0,f|0,d|0,m|0,B|0)}function y3e(s,l,c){return s=s|0,l=l|0,c=c|0,+B7[s&7](l|0,c|0)}function E3e(s){return s=s|0,ED[s&7]()|0}function w3e(s,l,c,f,d,m){return s=s|0,l=l|0,c=c|0,f=f|0,d=d|0,m=m|0,v7[s&1](l|0,c|0,f|0,d|0,m|0)|0}function C3e(s,l,c,f,d){s=s|0,l=l|0,c=c|0,f=f|0,d=+d,V3e[s&1](l|0,c|0,f|0,+d)}function I3e(s,l,c,f,d,m,B){s=s|0,l=l|0,c=c|0,f=y(f),d=d|0,m=y(m),B=B|0,D7[s&1](l|0,c|0,y(f),d|0,y(m),B|0)}function B3e(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0,UC[s&15](l|0,c|0,f|0)}function v3e(s){s=s|0,S7[s&0]()}function D3e(s,l,c,f){s=s|0,l=l|0,c=c|0,f=+f,P7[s&15](l|0,c|0,+f)}function S3e(s,l,c){return s=s|0,l=+l,c=+c,z3e[s&1](+l,+c)|0}function P3e(s,l,c,f,d){s=s|0,l=l|0,c=c|0,f=f|0,d=d|0,RR[s&15](l|0,c|0,f|0,d|0)}function x3e(s,l,c,f,d){s=s|0,l=l|0,c=c|0,f=f|0,d=d|0,F(0)}function b3e(s,l){s=s|0,l=y(l),F(1)}function ya(s,l){s=s|0,l=+l,F(2)}function Q3e(s,l,c){return s=s|0,l=y(l),c=y(c),F(3),Ze}function yr(s){s=s|0,F(4)}function OC(s,l){s=s|0,l=l|0,F(5)}function Va(s){return s=s|0,F(6),0}function k3e(s,l,c,f){s=s|0,l=+l,c=+c,f=f|0,F(7)}function F3e(s,l,c){s=s|0,l=+l,c=+c,F(8)}function R3e(s,l,c){return s=s|0,l=l|0,c=c|0,F(9),0}function T3e(s,l,c){return s=s|0,l=l|0,c=c|0,F(10),0}function Rg(s){return s=s|0,F(11),0}function N3e(s,l){return s=s|0,l=+l,F(12),0}function MC(s,l){return s=s|0,l=l|0,F(13),0}function L3e(s,l,c,f,d){s=s|0,l=l|0,c=+c,f=+f,d=d|0,F(14)}function O3e(s,l,c,f,d,m){s=s|0,l=l|0,c=c|0,f=f|0,d=d|0,m=m|0,F(15)}function kR(s,l){return s=s|0,l=l|0,F(16),0}function M3e(){return F(17),0}function U3e(s,l,c,f,d){return s=s|0,l=l|0,c=c|0,f=f|0,d=d|0,F(18),0}function _3e(s,l,c,f){s=s|0,l=l|0,c=c|0,f=+f,F(19)}function H3e(s,l,c,f,d,m){s=s|0,l=l|0,c=y(c),f=f|0,d=y(d),m=m|0,F(20)}function mD(s,l,c){s=s|0,l=l|0,c=c|0,F(21)}function j3e(){F(22)}function Xm(s,l,c){s=s|0,l=l|0,c=+c,F(23)}function q3e(s,l){return s=+s,l=+l,F(24),0}function Zm(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0,F(25)}var m7=[x3e,ULe],y7=[b3e,fo],E7=[ya,PC,xC,yF,EF,vl,bC,wF,Hm,Qu,kC,CF,Zv,KA,$v,jm,eD,tD,qm,ya,ya,ya,ya,ya,ya,ya,ya,ya,ya,ya,ya,ya],w7=[Q3e],tf=[yr,Vm,EDe,wDe,CDe,zxe,Xxe,Zxe,hNe,gNe,dNe,SLe,PLe,xLe,J4e,V4e,z4e,gs,Kv,_m,WA,QC,gve,dve,cDe,bDe,HDe,sSe,CSe,MSe,tPe,dPe,kPe,KPe,cxe,Dxe,Hxe,gbe,kbe,Kbe,cQe,DQe,HQe,oke,Cke,Nke,Xke,Pc,xFe,GFe,cRe,PRe,jRe,cTe,ETe,ITe,UTe,jTe,sNe,yNe,CNe,MNe,rLe,n9,OOe,hMe,bMe,GMe,f4e,P4e,M4e,H4e,yr,yr,yr,yr,yr,yr,yr,yr,yr,yr,yr,yr,yr,yr,yr,yr,yr,yr,yr,yr,yr,yr,yr,yr,yr,yr,yr,yr,yr,yr,yr,yr,yr,yr,yr,yr,yr,yr,yr,yr,yr,yr,yr,yr,yr,yr,yr,yr,yr,yr,yr,yr,yr,yr,yr,yr],rf=[OC,AF,fF,SC,bu,pF,hF,Cp,gF,dF,mF,Xv,JA,Je,At,Wt,Br,Sn,kr,BF,rve,Dve,uke,vke,kRe,_Oe,uLe,H5,OC,OC,OC,OC],Tg=[Va,DUe,uF,D,ue,De,vt,Ct,bt,Ur,gi,po,$Be,eve,mve,eFe,WRe,HNe,GOe,Wa,Va,Va,Va,Va,Va,Va,Va,Va,Va,Va,Va,Va],C7=[k3e,yve],G3e=[F3e,lNe],yD=[R3e,t7,SUe,bUe,jSe,Ebe,FFe,JMe],Y3e=[T3e,pxe],I7=[Rg,Yo,rt,Pn,Eve,wve,Cve,Ive,Bve,vve,Rg,Rg,Rg,Rg,Rg,Rg],W3e=[N3e,dTe],FR=[MC,zUe,tve,pDe,cSe,iPe,EPe,Yxe,Nbe,Uke,Yv,RMe,MC,MC,MC,MC],K3e=[L3e,YDe],J3e=[O3e,d4e],B7=[kR,oi,Sve,Pve,xve,bxe,kR,kR],ED=[M3e,bve,vC,da,STe,WTe,DNe,Y4e],v7=[U3e,yC],V3e=[_3e,pQe],D7=[H3e,nve],UC=[mD,T,ns,$r,ho,DSe,TPe,bQe,YQe,Um,lOe,yMe,k4e,mD,mD,mD],S7=[j3e],P7=[Xm,Jv,Vv,zv,YA,rD,IF,S,Xbe,JFe,fTe,Xm,Xm,Xm,Xm,Xm],z3e=[q3e,fNe],RR=[Zm,XPe,lFe,pRe,tTe,FTe,ZTe,FNe,aLe,zOe,rUe,Zm,Zm,Zm,Zm,Zm];return{_llvm_bswap_i32:d7,dynCall_idd:S3e,dynCall_i:E3e,_i64Subtract:gD,___udivdi3:bR,dynCall_vif:n3e,setThrew:du,dynCall_viii:B3e,_bitshift64Lshr:dD,_bitshift64Shl:p7,dynCall_vi:o3e,dynCall_viiddi:d3e,dynCall_diii:f3e,dynCall_iii:g3e,_memset:zm,_sbrk:bp,_memcpy:vr,__GLOBAL__sub_I_Yoga_cpp:Mm,dynCall_vii:a3e,___uremdi3:QR,dynCall_vid:i3e,stackAlloc:lo,_nbind_init:pUe,getTempRet0:Ua,dynCall_di:p3e,dynCall_iid:h3e,setTempRet0:bA,_i64Add:xR,dynCall_fiff:s3e,dynCall_iiii:A3e,_emscripten_get_global_libc:vUe,dynCall_viid:D3e,dynCall_viiid:C3e,dynCall_viififi:I3e,dynCall_ii:l3e,__GLOBAL__sub_I_Binding_cc:bOe,dynCall_viiii:P3e,dynCall_iiiiii:w3e,stackSave:gc,dynCall_viiiii:r3e,__GLOBAL__sub_I_nbind_cc:Qve,dynCall_vidd:u3e,_free:pD,runPostSets:t3e,dynCall_viiiiii:m3e,establishStackSpace:qi,_memmove:LC,stackRestore:gu,_malloc:fD,__GLOBAL__sub_I_common_cc:VNe,dynCall_viddi:c3e,dynCall_dii:y3e,dynCall_v:v3e}}(Module.asmGlobalArg,Module.asmLibraryArg,buffer),_llvm_bswap_i32=Module._llvm_bswap_i32=asm._llvm_bswap_i32,getTempRet0=Module.getTempRet0=asm.getTempRet0,___udivdi3=Module.___udivdi3=asm.___udivdi3,setThrew=Module.setThrew=asm.setThrew,_bitshift64Lshr=Module._bitshift64Lshr=asm._bitshift64Lshr,_bitshift64Shl=Module._bitshift64Shl=asm._bitshift64Shl,_memset=Module._memset=asm._memset,_sbrk=Module._sbrk=asm._sbrk,_memcpy=Module._memcpy=asm._memcpy,stackAlloc=Module.stackAlloc=asm.stackAlloc,___uremdi3=Module.___uremdi3=asm.___uremdi3,_nbind_init=Module._nbind_init=asm._nbind_init,_i64Subtract=Module._i64Subtract=asm._i64Subtract,setTempRet0=Module.setTempRet0=asm.setTempRet0,_i64Add=Module._i64Add=asm._i64Add,_emscripten_get_global_libc=Module._emscripten_get_global_libc=asm._emscripten_get_global_libc,__GLOBAL__sub_I_Yoga_cpp=Module.__GLOBAL__sub_I_Yoga_cpp=asm.__GLOBAL__sub_I_Yoga_cpp,__GLOBAL__sub_I_Binding_cc=Module.__GLOBAL__sub_I_Binding_cc=asm.__GLOBAL__sub_I_Binding_cc,stackSave=Module.stackSave=asm.stackSave,__GLOBAL__sub_I_nbind_cc=Module.__GLOBAL__sub_I_nbind_cc=asm.__GLOBAL__sub_I_nbind_cc,_free=Module._free=asm._free,runPostSets=Module.runPostSets=asm.runPostSets,establishStackSpace=Module.establishStackSpace=asm.establishStackSpace,_memmove=Module._memmove=asm._memmove,stackRestore=Module.stackRestore=asm.stackRestore,_malloc=Module._malloc=asm._malloc,__GLOBAL__sub_I_common_cc=Module.__GLOBAL__sub_I_common_cc=asm.__GLOBAL__sub_I_common_cc,dynCall_viiiii=Module.dynCall_viiiii=asm.dynCall_viiiii,dynCall_vif=Module.dynCall_vif=asm.dynCall_vif,dynCall_vid=Module.dynCall_vid=asm.dynCall_vid,dynCall_fiff=Module.dynCall_fiff=asm.dynCall_fiff,dynCall_vi=Module.dynCall_vi=asm.dynCall_vi,dynCall_vii=Module.dynCall_vii=asm.dynCall_vii,dynCall_ii=Module.dynCall_ii=asm.dynCall_ii,dynCall_viddi=Module.dynCall_viddi=asm.dynCall_viddi,dynCall_vidd=Module.dynCall_vidd=asm.dynCall_vidd,dynCall_iiii=Module.dynCall_iiii=asm.dynCall_iiii,dynCall_diii=Module.dynCall_diii=asm.dynCall_diii,dynCall_di=Module.dynCall_di=asm.dynCall_di,dynCall_iid=Module.dynCall_iid=asm.dynCall_iid,dynCall_iii=Module.dynCall_iii=asm.dynCall_iii,dynCall_viiddi=Module.dynCall_viiddi=asm.dynCall_viiddi,dynCall_viiiiii=Module.dynCall_viiiiii=asm.dynCall_viiiiii,dynCall_dii=Module.dynCall_dii=asm.dynCall_dii,dynCall_i=Module.dynCall_i=asm.dynCall_i,dynCall_iiiiii=Module.dynCall_iiiiii=asm.dynCall_iiiiii,dynCall_viiid=Module.dynCall_viiid=asm.dynCall_viiid,dynCall_viififi=Module.dynCall_viififi=asm.dynCall_viififi,dynCall_viii=Module.dynCall_viii=asm.dynCall_viii,dynCall_v=Module.dynCall_v=asm.dynCall_v,dynCall_viid=Module.dynCall_viid=asm.dynCall_viid,dynCall_idd=Module.dynCall_idd=asm.dynCall_idd,dynCall_viiii=Module.dynCall_viiii=asm.dynCall_viiii;Runtime.stackAlloc=Module.stackAlloc,Runtime.stackSave=Module.stackSave,Runtime.stackRestore=Module.stackRestore,Runtime.establishStackSpace=Module.establishStackSpace,Runtime.setTempRet0=Module.setTempRet0,Runtime.getTempRet0=Module.getTempRet0,Module.asm=asm;function ExitStatus(e){this.name="ExitStatus",this.message="Program terminated with exit("+e+")",this.status=e}ExitStatus.prototype=new Error,ExitStatus.prototype.constructor=ExitStatus;var initialStackTop,preloadStartTime=null,calledMain=!1;dependenciesFulfilled=function e(){Module.calledRun||run(),Module.calledRun||(dependenciesFulfilled=e)},Module.callMain=Module.callMain=function e(t){t=t||[],ensureInitRuntime();var r=t.length+1;function o(){for(var p=0;p<4-1;p++)a.push(0)}var a=[allocate(intArrayFromString(Module.thisProgram),"i8",ALLOC_NORMAL)];o();for(var n=0;n<r-1;n=n+1)a.push(allocate(intArrayFromString(t[n]),"i8",ALLOC_NORMAL)),o();a.push(0),a=allocate(a,"i32",ALLOC_NORMAL);try{var u=Module._main(r,a,0);exit(u,!0)}catch(p){if(p instanceof ExitStatus)return;if(p=="SimulateInfiniteLoop"){Module.noExitRuntime=!0;return}else{var A=p;p&&typeof p=="object"&&p.stack&&(A=[p,p.stack]),Module.printErr("exception thrown: "+A),Module.quit(1,p)}}finally{calledMain=!0}};function run(e){if(e=e||Module.arguments,preloadStartTime===null&&(preloadStartTime=Date.now()),runDependencies>0||(preRun(),runDependencies>0)||Module.calledRun)return;function t(){Module.calledRun||(Module.calledRun=!0,!ABORT&&(ensureInitRuntime(),preMain(),Module.onRuntimeInitialized&&Module.onRuntimeInitialized(),Module._main&&shouldRunNow&&Module.callMain(e),postRun()))}Module.setStatus?(Module.setStatus("Running..."),setTimeout(function(){setTimeout(function(){Module.setStatus("")},1),t()},1)):t()}Module.run=Module.run=run;function exit(e,t){t&&Module.noExitRuntime||(Module.noExitRuntime||(ABORT=!0,EXITSTATUS=e,STACKTOP=initialStackTop,exitRuntime(),Module.onExit&&Module.onExit(e)),ENVIRONMENT_IS_NODE&&process.exit(e),Module.quit(e,new ExitStatus(e)))}Module.exit=Module.exit=exit;var abortDecorators=[];function abort(e){Module.onAbort&&Module.onAbort(e),e!==void 0?(Module.print(e),Module.printErr(e),e=JSON.stringify(e)):e="",ABORT=!0,EXITSTATUS=1;var t=` -If this abort() is unexpected, build with -s ASSERTIONS=1 which can give more information.`,r="abort("+e+") at "+stackTrace()+t;throw abortDecorators&&abortDecorators.forEach(function(o){r=o(r,e)}),r}if(Module.abort=Module.abort=abort,Module.preInit)for(typeof Module.preInit=="function"&&(Module.preInit=[Module.preInit]);Module.preInit.length>0;)Module.preInit.pop()();var shouldRunNow=!0;Module.noInitialRun&&(shouldRunNow=!1),run()})});var om=_((eKt,FEe)=>{"use strict";var Syt=QEe(),Pyt=kEe(),S6=!1,P6=null;Pyt({},function(e,t){if(!S6){if(S6=!0,e)throw e;P6=t}});if(!S6)throw new Error("Failed to load the yoga module - it needed to be loaded synchronously, but didn't");FEe.exports=Syt(P6.bind,P6.lib)});var b6=_((tKt,x6)=>{"use strict";var REe=e=>Number.isNaN(e)?!1:e>=4352&&(e<=4447||e===9001||e===9002||11904<=e&&e<=12871&&e!==12351||12880<=e&&e<=19903||19968<=e&&e<=42182||43360<=e&&e<=43388||44032<=e&&e<=55203||63744<=e&&e<=64255||65040<=e&&e<=65049||65072<=e&&e<=65131||65281<=e&&e<=65376||65504<=e&&e<=65510||110592<=e&&e<=110593||127488<=e&&e<=127569||131072<=e&&e<=262141);x6.exports=REe;x6.exports.default=REe});var NEe=_((rKt,TEe)=>{"use strict";TEe.exports=function(){return/\uD83C\uDFF4\uDB40\uDC67\uDB40\uDC62(?:\uDB40\uDC65\uDB40\uDC6E\uDB40\uDC67|\uDB40\uDC73\uDB40\uDC63\uDB40\uDC74|\uDB40\uDC77\uDB40\uDC6C\uDB40\uDC73)\uDB40\uDC7F|\uD83D\uDC68(?:\uD83C\uDFFC\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68\uD83C\uDFFB|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFF\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFE])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFE\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFD])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFD\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB\uDFFC])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\u200D(?:\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D)?\uD83D\uDC68|(?:\uD83D[\uDC68\uDC69])\u200D(?:\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67]))|\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67])|(?:\uD83D[\uDC68\uDC69])\u200D(?:\uD83D[\uDC66\uDC67])|[\u2695\u2696\u2708]\uFE0F|\uD83D[\uDC66\uDC67]|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|(?:\uD83C\uDFFB\u200D[\u2695\u2696\u2708]|\uD83C\uDFFF\u200D[\u2695\u2696\u2708]|\uD83C\uDFFE\u200D[\u2695\u2696\u2708]|\uD83C\uDFFD\u200D[\u2695\u2696\u2708]|\uD83C\uDFFC\u200D[\u2695\u2696\u2708])\uFE0F|\uD83C\uDFFB\u200D(?:\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C[\uDFFB-\uDFFF])|(?:\uD83E\uDDD1\uD83C\uDFFB\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFC\u200D\uD83E\uDD1D\u200D\uD83D\uDC69)\uD83C\uDFFB|\uD83E\uDDD1(?:\uD83C\uDFFF\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1(?:\uD83C[\uDFFB-\uDFFF])|\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1)|(?:\uD83E\uDDD1\uD83C\uDFFE\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFF\u200D\uD83E\uDD1D\u200D(?:\uD83D[\uDC68\uDC69]))(?:\uD83C[\uDFFB-\uDFFE])|(?:\uD83E\uDDD1\uD83C\uDFFC\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFD\u200D\uD83E\uDD1D\u200D\uD83D\uDC69)(?:\uD83C[\uDFFB\uDFFC])|\uD83D\uDC69(?:\uD83C\uDFFE\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFD\uDFFF])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFC\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB\uDFFD-\uDFFF])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFB\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFC-\uDFFF])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFD\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\u200D(?:\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D(?:\uD83D[\uDC68\uDC69])|\uD83D[\uDC68\uDC69])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFF\u200D(?:\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD]))|\uD83D\uDC69\u200D\uD83D\uDC69\u200D(?:\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67]))|(?:\uD83E\uDDD1\uD83C\uDFFD\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFE\u200D\uD83E\uDD1D\u200D\uD83D\uDC69)(?:\uD83C[\uDFFB-\uDFFD])|\uD83D\uDC69\u200D\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC69\u200D\uD83D\uDC69\u200D(?:\uD83D[\uDC66\uDC67])|(?:\uD83D\uDC41\uFE0F\u200D\uD83D\uDDE8|\uD83D\uDC69(?:\uD83C\uDFFF\u200D[\u2695\u2696\u2708]|\uD83C\uDFFE\u200D[\u2695\u2696\u2708]|\uD83C\uDFFC\u200D[\u2695\u2696\u2708]|\uD83C\uDFFB\u200D[\u2695\u2696\u2708]|\uD83C\uDFFD\u200D[\u2695\u2696\u2708]|\u200D[\u2695\u2696\u2708])|(?:(?:\u26F9|\uD83C[\uDFCB\uDFCC]|\uD83D\uDD75)\uFE0F|\uD83D\uDC6F|\uD83E[\uDD3C\uDDDE\uDDDF])\u200D[\u2640\u2642]|(?:\u26F9|\uD83C[\uDFCB\uDFCC]|\uD83D\uDD75)(?:\uD83C[\uDFFB-\uDFFF])\u200D[\u2640\u2642]|(?:\uD83C[\uDFC3\uDFC4\uDFCA]|\uD83D[\uDC6E\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4-\uDEB6]|\uD83E[\uDD26\uDD37-\uDD39\uDD3D\uDD3E\uDDB8\uDDB9\uDDCD-\uDDCF\uDDD6-\uDDDD])(?:(?:\uD83C[\uDFFB-\uDFFF])\u200D[\u2640\u2642]|\u200D[\u2640\u2642])|\uD83C\uDFF4\u200D\u2620)\uFE0F|\uD83D\uDC69\u200D\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67])|\uD83C\uDFF3\uFE0F\u200D\uD83C\uDF08|\uD83D\uDC15\u200D\uD83E\uDDBA|\uD83D\uDC69\u200D\uD83D\uDC66|\uD83D\uDC69\u200D\uD83D\uDC67|\uD83C\uDDFD\uD83C\uDDF0|\uD83C\uDDF4\uD83C\uDDF2|\uD83C\uDDF6\uD83C\uDDE6|[#\*0-9]\uFE0F\u20E3|\uD83C\uDDE7(?:\uD83C[\uDDE6\uDDE7\uDDE9-\uDDEF\uDDF1-\uDDF4\uDDF6-\uDDF9\uDDFB\uDDFC\uDDFE\uDDFF])|\uD83C\uDDF9(?:\uD83C[\uDDE6\uDDE8\uDDE9\uDDEB-\uDDED\uDDEF-\uDDF4\uDDF7\uDDF9\uDDFB\uDDFC\uDDFF])|\uD83C\uDDEA(?:\uD83C[\uDDE6\uDDE8\uDDEA\uDDEC\uDDED\uDDF7-\uDDFA])|\uD83E\uDDD1(?:\uD83C[\uDFFB-\uDFFF])|\uD83C\uDDF7(?:\uD83C[\uDDEA\uDDF4\uDDF8\uDDFA\uDDFC])|\uD83D\uDC69(?:\uD83C[\uDFFB-\uDFFF])|\uD83C\uDDF2(?:\uD83C[\uDDE6\uDDE8-\uDDED\uDDF0-\uDDFF])|\uD83C\uDDE6(?:\uD83C[\uDDE8-\uDDEC\uDDEE\uDDF1\uDDF2\uDDF4\uDDF6-\uDDFA\uDDFC\uDDFD\uDDFF])|\uD83C\uDDF0(?:\uD83C[\uDDEA\uDDEC-\uDDEE\uDDF2\uDDF3\uDDF5\uDDF7\uDDFC\uDDFE\uDDFF])|\uD83C\uDDED(?:\uD83C[\uDDF0\uDDF2\uDDF3\uDDF7\uDDF9\uDDFA])|\uD83C\uDDE9(?:\uD83C[\uDDEA\uDDEC\uDDEF\uDDF0\uDDF2\uDDF4\uDDFF])|\uD83C\uDDFE(?:\uD83C[\uDDEA\uDDF9])|\uD83C\uDDEC(?:\uD83C[\uDDE6\uDDE7\uDDE9-\uDDEE\uDDF1-\uDDF3\uDDF5-\uDDFA\uDDFC\uDDFE])|\uD83C\uDDF8(?:\uD83C[\uDDE6-\uDDEA\uDDEC-\uDDF4\uDDF7-\uDDF9\uDDFB\uDDFD-\uDDFF])|\uD83C\uDDEB(?:\uD83C[\uDDEE-\uDDF0\uDDF2\uDDF4\uDDF7])|\uD83C\uDDF5(?:\uD83C[\uDDE6\uDDEA-\uDDED\uDDF0-\uDDF3\uDDF7-\uDDF9\uDDFC\uDDFE])|\uD83C\uDDFB(?:\uD83C[\uDDE6\uDDE8\uDDEA\uDDEC\uDDEE\uDDF3\uDDFA])|\uD83C\uDDF3(?:\uD83C[\uDDE6\uDDE8\uDDEA-\uDDEC\uDDEE\uDDF1\uDDF4\uDDF5\uDDF7\uDDFA\uDDFF])|\uD83C\uDDE8(?:\uD83C[\uDDE6\uDDE8\uDDE9\uDDEB-\uDDEE\uDDF0-\uDDF5\uDDF7\uDDFA-\uDDFF])|\uD83C\uDDF1(?:\uD83C[\uDDE6-\uDDE8\uDDEE\uDDF0\uDDF7-\uDDFB\uDDFE])|\uD83C\uDDFF(?:\uD83C[\uDDE6\uDDF2\uDDFC])|\uD83C\uDDFC(?:\uD83C[\uDDEB\uDDF8])|\uD83C\uDDFA(?:\uD83C[\uDDE6\uDDEC\uDDF2\uDDF3\uDDF8\uDDFE\uDDFF])|\uD83C\uDDEE(?:\uD83C[\uDDE8-\uDDEA\uDDF1-\uDDF4\uDDF6-\uDDF9])|\uD83C\uDDEF(?:\uD83C[\uDDEA\uDDF2\uDDF4\uDDF5])|(?:\uD83C[\uDFC3\uDFC4\uDFCA]|\uD83D[\uDC6E\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4-\uDEB6]|\uD83E[\uDD26\uDD37-\uDD39\uDD3D\uDD3E\uDDB8\uDDB9\uDDCD-\uDDCF\uDDD6-\uDDDD])(?:\uD83C[\uDFFB-\uDFFF])|(?:\u26F9|\uD83C[\uDFCB\uDFCC]|\uD83D\uDD75)(?:\uD83C[\uDFFB-\uDFFF])|(?:[\u261D\u270A-\u270D]|\uD83C[\uDF85\uDFC2\uDFC7]|\uD83D[\uDC42\uDC43\uDC46-\uDC50\uDC66\uDC67\uDC6B-\uDC6D\uDC70\uDC72\uDC74-\uDC76\uDC78\uDC7C\uDC83\uDC85\uDCAA\uDD74\uDD7A\uDD90\uDD95\uDD96\uDE4C\uDE4F\uDEC0\uDECC]|\uD83E[\uDD0F\uDD18-\uDD1C\uDD1E\uDD1F\uDD30-\uDD36\uDDB5\uDDB6\uDDBB\uDDD2-\uDDD5])(?:\uD83C[\uDFFB-\uDFFF])|(?:[\u231A\u231B\u23E9-\u23EC\u23F0\u23F3\u25FD\u25FE\u2614\u2615\u2648-\u2653\u267F\u2693\u26A1\u26AA\u26AB\u26BD\u26BE\u26C4\u26C5\u26CE\u26D4\u26EA\u26F2\u26F3\u26F5\u26FA\u26FD\u2705\u270A\u270B\u2728\u274C\u274E\u2753-\u2755\u2757\u2795-\u2797\u27B0\u27BF\u2B1B\u2B1C\u2B50\u2B55]|\uD83C[\uDC04\uDCCF\uDD8E\uDD91-\uDD9A\uDDE6-\uDDFF\uDE01\uDE1A\uDE2F\uDE32-\uDE36\uDE38-\uDE3A\uDE50\uDE51\uDF00-\uDF20\uDF2D-\uDF35\uDF37-\uDF7C\uDF7E-\uDF93\uDFA0-\uDFCA\uDFCF-\uDFD3\uDFE0-\uDFF0\uDFF4\uDFF8-\uDFFF]|\uD83D[\uDC00-\uDC3E\uDC40\uDC42-\uDCFC\uDCFF-\uDD3D\uDD4B-\uDD4E\uDD50-\uDD67\uDD7A\uDD95\uDD96\uDDA4\uDDFB-\uDE4F\uDE80-\uDEC5\uDECC\uDED0-\uDED2\uDED5\uDEEB\uDEEC\uDEF4-\uDEFA\uDFE0-\uDFEB]|\uD83E[\uDD0D-\uDD3A\uDD3C-\uDD45\uDD47-\uDD71\uDD73-\uDD76\uDD7A-\uDDA2\uDDA5-\uDDAA\uDDAE-\uDDCA\uDDCD-\uDDFF\uDE70-\uDE73\uDE78-\uDE7A\uDE80-\uDE82\uDE90-\uDE95])|(?:[#\*0-9\xA9\xAE\u203C\u2049\u2122\u2139\u2194-\u2199\u21A9\u21AA\u231A\u231B\u2328\u23CF\u23E9-\u23F3\u23F8-\u23FA\u24C2\u25AA\u25AB\u25B6\u25C0\u25FB-\u25FE\u2600-\u2604\u260E\u2611\u2614\u2615\u2618\u261D\u2620\u2622\u2623\u2626\u262A\u262E\u262F\u2638-\u263A\u2640\u2642\u2648-\u2653\u265F\u2660\u2663\u2665\u2666\u2668\u267B\u267E\u267F\u2692-\u2697\u2699\u269B\u269C\u26A0\u26A1\u26AA\u26AB\u26B0\u26B1\u26BD\u26BE\u26C4\u26C5\u26C8\u26CE\u26CF\u26D1\u26D3\u26D4\u26E9\u26EA\u26F0-\u26F5\u26F7-\u26FA\u26FD\u2702\u2705\u2708-\u270D\u270F\u2712\u2714\u2716\u271D\u2721\u2728\u2733\u2734\u2744\u2747\u274C\u274E\u2753-\u2755\u2757\u2763\u2764\u2795-\u2797\u27A1\u27B0\u27BF\u2934\u2935\u2B05-\u2B07\u2B1B\u2B1C\u2B50\u2B55\u3030\u303D\u3297\u3299]|\uD83C[\uDC04\uDCCF\uDD70\uDD71\uDD7E\uDD7F\uDD8E\uDD91-\uDD9A\uDDE6-\uDDFF\uDE01\uDE02\uDE1A\uDE2F\uDE32-\uDE3A\uDE50\uDE51\uDF00-\uDF21\uDF24-\uDF93\uDF96\uDF97\uDF99-\uDF9B\uDF9E-\uDFF0\uDFF3-\uDFF5\uDFF7-\uDFFF]|\uD83D[\uDC00-\uDCFD\uDCFF-\uDD3D\uDD49-\uDD4E\uDD50-\uDD67\uDD6F\uDD70\uDD73-\uDD7A\uDD87\uDD8A-\uDD8D\uDD90\uDD95\uDD96\uDDA4\uDDA5\uDDA8\uDDB1\uDDB2\uDDBC\uDDC2-\uDDC4\uDDD1-\uDDD3\uDDDC-\uDDDE\uDDE1\uDDE3\uDDE8\uDDEF\uDDF3\uDDFA-\uDE4F\uDE80-\uDEC5\uDECB-\uDED2\uDED5\uDEE0-\uDEE5\uDEE9\uDEEB\uDEEC\uDEF0\uDEF3-\uDEFA\uDFE0-\uDFEB]|\uD83E[\uDD0D-\uDD3A\uDD3C-\uDD45\uDD47-\uDD71\uDD73-\uDD76\uDD7A-\uDDA2\uDDA5-\uDDAA\uDDAE-\uDDCA\uDDCD-\uDDFF\uDE70-\uDE73\uDE78-\uDE7A\uDE80-\uDE82\uDE90-\uDE95])\uFE0F|(?:[\u261D\u26F9\u270A-\u270D]|\uD83C[\uDF85\uDFC2-\uDFC4\uDFC7\uDFCA-\uDFCC]|\uD83D[\uDC42\uDC43\uDC46-\uDC50\uDC66-\uDC78\uDC7C\uDC81-\uDC83\uDC85-\uDC87\uDC8F\uDC91\uDCAA\uDD74\uDD75\uDD7A\uDD90\uDD95\uDD96\uDE45-\uDE47\uDE4B-\uDE4F\uDEA3\uDEB4-\uDEB6\uDEC0\uDECC]|\uD83E[\uDD0F\uDD18-\uDD1F\uDD26\uDD30-\uDD39\uDD3C-\uDD3E\uDDB5\uDDB6\uDDB8\uDDB9\uDDBB\uDDCD-\uDDCF\uDDD1-\uDDDD])/g}});var YQ=_((nKt,Q6)=>{"use strict";var xyt=LS(),byt=b6(),Qyt=NEe(),LEe=e=>{if(typeof e!="string"||e.length===0||(e=xyt(e),e.length===0))return 0;e=e.replace(Qyt()," ");let t=0;for(let r=0;r<e.length;r++){let o=e.codePointAt(r);o<=31||o>=127&&o<=159||o>=768&&o<=879||(o>65535&&r++,t+=byt(o)?2:1)}return t};Q6.exports=LEe;Q6.exports.default=LEe});var F6=_((iKt,k6)=>{"use strict";var kyt=YQ(),OEe=e=>{let t=0;for(let r of e.split(` -`))t=Math.max(t,kyt(r));return t};k6.exports=OEe;k6.exports.default=OEe});var MEe=_(oB=>{"use strict";var Fyt=oB&&oB.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(oB,"__esModule",{value:!0});var Ryt=Fyt(F6()),R6={};oB.default=e=>{if(e.length===0)return{width:0,height:0};if(R6[e])return R6[e];let t=Ryt.default(e),r=e.split(` -`).length;return R6[e]={width:t,height:r},{width:t,height:r}}});var UEe=_(aB=>{"use strict";var Tyt=aB&&aB.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(aB,"__esModule",{value:!0});var gn=Tyt(om()),Nyt=(e,t)=>{"position"in t&&e.setPositionType(t.position==="absolute"?gn.default.POSITION_TYPE_ABSOLUTE:gn.default.POSITION_TYPE_RELATIVE)},Lyt=(e,t)=>{"marginLeft"in t&&e.setMargin(gn.default.EDGE_START,t.marginLeft||0),"marginRight"in t&&e.setMargin(gn.default.EDGE_END,t.marginRight||0),"marginTop"in t&&e.setMargin(gn.default.EDGE_TOP,t.marginTop||0),"marginBottom"in t&&e.setMargin(gn.default.EDGE_BOTTOM,t.marginBottom||0)},Oyt=(e,t)=>{"paddingLeft"in t&&e.setPadding(gn.default.EDGE_LEFT,t.paddingLeft||0),"paddingRight"in t&&e.setPadding(gn.default.EDGE_RIGHT,t.paddingRight||0),"paddingTop"in t&&e.setPadding(gn.default.EDGE_TOP,t.paddingTop||0),"paddingBottom"in t&&e.setPadding(gn.default.EDGE_BOTTOM,t.paddingBottom||0)},Myt=(e,t)=>{var r;"flexGrow"in t&&e.setFlexGrow((r=t.flexGrow)!==null&&r!==void 0?r:0),"flexShrink"in t&&e.setFlexShrink(typeof t.flexShrink=="number"?t.flexShrink:1),"flexDirection"in t&&(t.flexDirection==="row"&&e.setFlexDirection(gn.default.FLEX_DIRECTION_ROW),t.flexDirection==="row-reverse"&&e.setFlexDirection(gn.default.FLEX_DIRECTION_ROW_REVERSE),t.flexDirection==="column"&&e.setFlexDirection(gn.default.FLEX_DIRECTION_COLUMN),t.flexDirection==="column-reverse"&&e.setFlexDirection(gn.default.FLEX_DIRECTION_COLUMN_REVERSE)),"flexBasis"in t&&(typeof t.flexBasis=="number"?e.setFlexBasis(t.flexBasis):typeof t.flexBasis=="string"?e.setFlexBasisPercent(Number.parseInt(t.flexBasis,10)):e.setFlexBasis(NaN)),"alignItems"in t&&((t.alignItems==="stretch"||!t.alignItems)&&e.setAlignItems(gn.default.ALIGN_STRETCH),t.alignItems==="flex-start"&&e.setAlignItems(gn.default.ALIGN_FLEX_START),t.alignItems==="center"&&e.setAlignItems(gn.default.ALIGN_CENTER),t.alignItems==="flex-end"&&e.setAlignItems(gn.default.ALIGN_FLEX_END)),"alignSelf"in t&&((t.alignSelf==="auto"||!t.alignSelf)&&e.setAlignSelf(gn.default.ALIGN_AUTO),t.alignSelf==="flex-start"&&e.setAlignSelf(gn.default.ALIGN_FLEX_START),t.alignSelf==="center"&&e.setAlignSelf(gn.default.ALIGN_CENTER),t.alignSelf==="flex-end"&&e.setAlignSelf(gn.default.ALIGN_FLEX_END)),"justifyContent"in t&&((t.justifyContent==="flex-start"||!t.justifyContent)&&e.setJustifyContent(gn.default.JUSTIFY_FLEX_START),t.justifyContent==="center"&&e.setJustifyContent(gn.default.JUSTIFY_CENTER),t.justifyContent==="flex-end"&&e.setJustifyContent(gn.default.JUSTIFY_FLEX_END),t.justifyContent==="space-between"&&e.setJustifyContent(gn.default.JUSTIFY_SPACE_BETWEEN),t.justifyContent==="space-around"&&e.setJustifyContent(gn.default.JUSTIFY_SPACE_AROUND))},Uyt=(e,t)=>{var r,o;"width"in t&&(typeof t.width=="number"?e.setWidth(t.width):typeof t.width=="string"?e.setWidthPercent(Number.parseInt(t.width,10)):e.setWidthAuto()),"height"in t&&(typeof t.height=="number"?e.setHeight(t.height):typeof t.height=="string"?e.setHeightPercent(Number.parseInt(t.height,10)):e.setHeightAuto()),"minWidth"in t&&(typeof t.minWidth=="string"?e.setMinWidthPercent(Number.parseInt(t.minWidth,10)):e.setMinWidth((r=t.minWidth)!==null&&r!==void 0?r:0)),"minHeight"in t&&(typeof t.minHeight=="string"?e.setMinHeightPercent(Number.parseInt(t.minHeight,10)):e.setMinHeight((o=t.minHeight)!==null&&o!==void 0?o:0))},_yt=(e,t)=>{"display"in t&&e.setDisplay(t.display==="flex"?gn.default.DISPLAY_FLEX:gn.default.DISPLAY_NONE)},Hyt=(e,t)=>{if("borderStyle"in t){let r=typeof t.borderStyle=="string"?1:0;e.setBorder(gn.default.EDGE_TOP,r),e.setBorder(gn.default.EDGE_BOTTOM,r),e.setBorder(gn.default.EDGE_LEFT,r),e.setBorder(gn.default.EDGE_RIGHT,r)}};aB.default=(e,t={})=>{Nyt(e,t),Lyt(e,t),Oyt(e,t),Myt(e,t),Uyt(e,t),_yt(e,t),Hyt(e,t)}});var jEe=_((aKt,HEe)=>{"use strict";var lB=YQ(),jyt=LS(),qyt=II(),N6=new Set(["\x1B","\x9B"]),Gyt=39,_Ee=e=>`${N6.values().next().value}[${e}m`,Yyt=e=>e.split(" ").map(t=>lB(t)),T6=(e,t,r)=>{let o=[...t],a=!1,n=lB(jyt(e[e.length-1]));for(let[u,A]of o.entries()){let p=lB(A);if(n+p<=r?e[e.length-1]+=A:(e.push(A),n=0),N6.has(A))a=!0;else if(a&&A==="m"){a=!1;continue}a||(n+=p,n===r&&u<o.length-1&&(e.push(""),n=0))}!n&&e[e.length-1].length>0&&e.length>1&&(e[e.length-2]+=e.pop())},Wyt=e=>{let t=e.split(" "),r=t.length;for(;r>0&&!(lB(t[r-1])>0);)r--;return r===t.length?e:t.slice(0,r).join(" ")+t.slice(r).join("")},Kyt=(e,t,r={})=>{if(r.trim!==!1&&e.trim()==="")return"";let o="",a="",n,u=Yyt(e),A=[""];for(let[p,h]of e.split(" ").entries()){r.trim!==!1&&(A[A.length-1]=A[A.length-1].trimLeft());let w=lB(A[A.length-1]);if(p!==0&&(w>=t&&(r.wordWrap===!1||r.trim===!1)&&(A.push(""),w=0),(w>0||r.trim===!1)&&(A[A.length-1]+=" ",w++)),r.hard&&u[p]>t){let I=t-w,v=1+Math.floor((u[p]-I-1)/t);Math.floor((u[p]-1)/t)<v&&A.push(""),T6(A,h,t);continue}if(w+u[p]>t&&w>0&&u[p]>0){if(r.wordWrap===!1&&w<t){T6(A,h,t);continue}A.push("")}if(w+u[p]>t&&r.wordWrap===!1){T6(A,h,t);continue}A[A.length-1]+=h}r.trim!==!1&&(A=A.map(Wyt)),o=A.join(` -`);for(let[p,h]of[...o].entries()){if(a+=h,N6.has(h)){let I=parseFloat(/\d[^m]*/.exec(o.slice(p,p+4)));n=I===Gyt?null:I}let w=qyt.codes.get(Number(n));n&&w&&(o[p+1]===` -`?a+=_Ee(w):h===` -`&&(a+=_Ee(n)))}return a};HEe.exports=(e,t,r)=>String(e).normalize().replace(/\r\n/g,` -`).split(` -`).map(o=>Kyt(o,t,r)).join(` -`)});var YEe=_((lKt,GEe)=>{"use strict";var qEe="[\uD800-\uDBFF][\uDC00-\uDFFF]",Jyt=e=>e&&e.exact?new RegExp(`^${qEe}$`):new RegExp(qEe,"g");GEe.exports=Jyt});var L6=_((cKt,VEe)=>{"use strict";var Vyt=b6(),zyt=YEe(),WEe=II(),JEe=["\x1B","\x9B"],WQ=e=>`${JEe[0]}[${e}m`,KEe=(e,t,r)=>{let o=[];e=[...e];for(let a of e){let n=a;a.match(";")&&(a=a.split(";")[0][0]+"0");let u=WEe.codes.get(parseInt(a,10));if(u){let A=e.indexOf(u.toString());A>=0?e.splice(A,1):o.push(WQ(t?u:n))}else if(t){o.push(WQ(0));break}else o.push(WQ(n))}if(t&&(o=o.filter((a,n)=>o.indexOf(a)===n),r!==void 0)){let a=WQ(WEe.codes.get(parseInt(r,10)));o=o.reduce((n,u)=>u===a?[u,...n]:[...n,u],[])}return o.join("")};VEe.exports=(e,t,r)=>{let o=[...e.normalize()],a=[];r=typeof r=="number"?r:o.length;let n=!1,u,A=0,p="";for(let[h,w]of o.entries()){let I=!1;if(JEe.includes(w)){let v=/\d[^m]*/.exec(e.slice(h,h+18));u=v&&v.length>0?v[0]:void 0,A<r&&(n=!0,u!==void 0&&a.push(u))}else n&&w==="m"&&(n=!1,I=!0);if(!n&&!I&&++A,!zyt({exact:!0}).test(w)&&Vyt(w.codePointAt())&&++A,A>t&&A<=r)p+=w;else if(A===t&&!n&&u!==void 0)p=KEe(a);else if(A>=r){p+=KEe(a,!0,u);break}}return p}});var XEe=_((uKt,zEe)=>{"use strict";var y0=L6(),Xyt=YQ();function KQ(e,t,r){if(e.charAt(t)===" ")return t;for(let o=1;o<=3;o++)if(r){if(e.charAt(t+o)===" ")return t+o}else if(e.charAt(t-o)===" ")return t-o;return t}zEe.exports=(e,t,r)=>{r={position:"end",preferTruncationOnSpace:!1,...r};let{position:o,space:a,preferTruncationOnSpace:n}=r,u="\u2026",A=1;if(typeof e!="string")throw new TypeError(`Expected \`input\` to be a string, got ${typeof e}`);if(typeof t!="number")throw new TypeError(`Expected \`columns\` to be a number, got ${typeof t}`);if(t<1)return"";if(t===1)return u;let p=Xyt(e);if(p<=t)return e;if(o==="start"){if(n){let h=KQ(e,p-t+1,!0);return u+y0(e,h,p).trim()}return a===!0&&(u+=" ",A=2),u+y0(e,p-t+A,p)}if(o==="middle"){a===!0&&(u=" "+u+" ",A=3);let h=Math.floor(t/2);if(n){let w=KQ(e,h),I=KQ(e,p-(t-h)+1,!0);return y0(e,0,w)+u+y0(e,I,p).trim()}return y0(e,0,h)+u+y0(e,p-(t-h)+A,p)}if(o==="end"){if(n){let h=KQ(e,t-1);return y0(e,0,h)+u}return a===!0&&(u=" "+u,A=2),y0(e,0,t-A)+u}throw new Error(`Expected \`options.position\` to be either \`start\`, \`middle\` or \`end\`, got ${o}`)}});var M6=_(cB=>{"use strict";var ZEe=cB&&cB.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(cB,"__esModule",{value:!0});var Zyt=ZEe(jEe()),$yt=ZEe(XEe()),O6={};cB.default=(e,t,r)=>{let o=e+String(t)+String(r);if(O6[o])return O6[o];let a=e;if(r==="wrap"&&(a=Zyt.default(e,t,{trim:!1,hard:!0})),r.startsWith("truncate")){let n="end";r==="truncate-middle"&&(n="middle"),r==="truncate-start"&&(n="start"),a=$yt.default(e,t,{position:n})}return O6[o]=a,a}});var _6=_(U6=>{"use strict";Object.defineProperty(U6,"__esModule",{value:!0});var $Ee=e=>{let t="";if(e.childNodes.length>0)for(let r of e.childNodes){let o="";r.nodeName==="#text"?o=r.nodeValue:((r.nodeName==="ink-text"||r.nodeName==="ink-virtual-text")&&(o=$Ee(r)),o.length>0&&typeof r.internal_transform=="function"&&(o=r.internal_transform(o))),t+=o}return t};U6.default=$Ee});var H6=_(fi=>{"use strict";var uB=fi&&fi.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(fi,"__esModule",{value:!0});fi.setTextNodeValue=fi.createTextNode=fi.setStyle=fi.setAttribute=fi.removeChildNode=fi.insertBeforeNode=fi.appendChildNode=fi.createNode=fi.TEXT_NAME=void 0;var eEt=uB(om()),ewe=uB(MEe()),tEt=uB(UEe()),rEt=uB(M6()),nEt=uB(_6());fi.TEXT_NAME="#text";fi.createNode=e=>{var t;let r={nodeName:e,style:{},attributes:{},childNodes:[],parentNode:null,yogaNode:e==="ink-virtual-text"?void 0:eEt.default.Node.create()};return e==="ink-text"&&((t=r.yogaNode)===null||t===void 0||t.setMeasureFunc(iEt.bind(null,r))),r};fi.appendChildNode=(e,t)=>{var r;t.parentNode&&fi.removeChildNode(t.parentNode,t),t.parentNode=e,e.childNodes.push(t),t.yogaNode&&((r=e.yogaNode)===null||r===void 0||r.insertChild(t.yogaNode,e.yogaNode.getChildCount())),(e.nodeName==="ink-text"||e.nodeName==="ink-virtual-text")&&JQ(e)};fi.insertBeforeNode=(e,t,r)=>{var o,a;t.parentNode&&fi.removeChildNode(t.parentNode,t),t.parentNode=e;let n=e.childNodes.indexOf(r);if(n>=0){e.childNodes.splice(n,0,t),t.yogaNode&&((o=e.yogaNode)===null||o===void 0||o.insertChild(t.yogaNode,n));return}e.childNodes.push(t),t.yogaNode&&((a=e.yogaNode)===null||a===void 0||a.insertChild(t.yogaNode,e.yogaNode.getChildCount())),(e.nodeName==="ink-text"||e.nodeName==="ink-virtual-text")&&JQ(e)};fi.removeChildNode=(e,t)=>{var r,o;t.yogaNode&&((o=(r=t.parentNode)===null||r===void 0?void 0:r.yogaNode)===null||o===void 0||o.removeChild(t.yogaNode)),t.parentNode=null;let a=e.childNodes.indexOf(t);a>=0&&e.childNodes.splice(a,1),(e.nodeName==="ink-text"||e.nodeName==="ink-virtual-text")&&JQ(e)};fi.setAttribute=(e,t,r)=>{e.attributes[t]=r};fi.setStyle=(e,t)=>{e.style=t,e.yogaNode&&tEt.default(e.yogaNode,t)};fi.createTextNode=e=>{let t={nodeName:"#text",nodeValue:e,yogaNode:void 0,parentNode:null,style:{}};return fi.setTextNodeValue(t,e),t};var iEt=function(e,t){var r,o;let a=e.nodeName==="#text"?e.nodeValue:nEt.default(e),n=ewe.default(a);if(n.width<=t||n.width>=1&&t>0&&t<1)return n;let u=(o=(r=e.style)===null||r===void 0?void 0:r.textWrap)!==null&&o!==void 0?o:"wrap",A=rEt.default(a,t,u);return ewe.default(A)},twe=e=>{var t;if(!(!e||!e.parentNode))return(t=e.yogaNode)!==null&&t!==void 0?t:twe(e.parentNode)},JQ=e=>{let t=twe(e);t?.markDirty()};fi.setTextNodeValue=(e,t)=>{typeof t!="string"&&(t=String(t)),e.nodeValue=t,JQ(e)}});var owe=_(AB=>{"use strict";var swe=AB&&AB.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(AB,"__esModule",{value:!0});var rwe=B6(),sEt=swe(vEe()),nwe=swe(om()),Oo=H6(),iwe=e=>{e?.unsetMeasureFunc(),e?.freeRecursive()};AB.default=sEt.default({schedulePassiveEffects:rwe.unstable_scheduleCallback,cancelPassiveEffects:rwe.unstable_cancelCallback,now:Date.now,getRootHostContext:()=>({isInsideText:!1}),prepareForCommit:()=>{},resetAfterCommit:e=>{if(e.isStaticDirty){e.isStaticDirty=!1,typeof e.onImmediateRender=="function"&&e.onImmediateRender();return}typeof e.onRender=="function"&&e.onRender()},getChildHostContext:(e,t)=>{let r=e.isInsideText,o=t==="ink-text"||t==="ink-virtual-text";return r===o?e:{isInsideText:o}},shouldSetTextContent:()=>!1,createInstance:(e,t,r,o)=>{if(o.isInsideText&&e==="ink-box")throw new Error("<Box> can\u2019t be nested inside <Text> component");let a=e==="ink-text"&&o.isInsideText?"ink-virtual-text":e,n=Oo.createNode(a);for(let[u,A]of Object.entries(t))u!=="children"&&(u==="style"?Oo.setStyle(n,A):u==="internal_transform"?n.internal_transform=A:u==="internal_static"?n.internal_static=!0:Oo.setAttribute(n,u,A));return n},createTextInstance:(e,t,r)=>{if(!r.isInsideText)throw new Error(`Text string "${e}" must be rendered inside <Text> component`);return Oo.createTextNode(e)},resetTextContent:()=>{},hideTextInstance:e=>{Oo.setTextNodeValue(e,"")},unhideTextInstance:(e,t)=>{Oo.setTextNodeValue(e,t)},getPublicInstance:e=>e,hideInstance:e=>{var t;(t=e.yogaNode)===null||t===void 0||t.setDisplay(nwe.default.DISPLAY_NONE)},unhideInstance:e=>{var t;(t=e.yogaNode)===null||t===void 0||t.setDisplay(nwe.default.DISPLAY_FLEX)},appendInitialChild:Oo.appendChildNode,appendChild:Oo.appendChildNode,insertBefore:Oo.insertBeforeNode,finalizeInitialChildren:(e,t,r,o)=>(e.internal_static&&(o.isStaticDirty=!0,o.staticNode=e),!1),supportsMutation:!0,appendChildToContainer:Oo.appendChildNode,insertInContainerBefore:Oo.insertBeforeNode,removeChildFromContainer:(e,t)=>{Oo.removeChildNode(e,t),iwe(t.yogaNode)},prepareUpdate:(e,t,r,o,a)=>{e.internal_static&&(a.isStaticDirty=!0);let n={},u=Object.keys(o);for(let A of u)if(o[A]!==r[A]){if(A==="style"&&typeof o.style=="object"&&typeof r.style=="object"){let h=o.style,w=r.style,I=Object.keys(h);for(let v of I){if(v==="borderStyle"||v==="borderColor"){if(typeof n.style!="object"){let b={};n.style=b}n.style.borderStyle=h.borderStyle,n.style.borderColor=h.borderColor}if(h[v]!==w[v]){if(typeof n.style!="object"){let b={};n.style=b}n.style[v]=h[v]}}continue}n[A]=o[A]}return n},commitUpdate:(e,t)=>{for(let[r,o]of Object.entries(t))r!=="children"&&(r==="style"?Oo.setStyle(e,o):r==="internal_transform"?e.internal_transform=o:r==="internal_static"?e.internal_static=!0:Oo.setAttribute(e,r,o))},commitTextUpdate:(e,t,r)=>{Oo.setTextNodeValue(e,r)},removeChild:(e,t)=>{Oo.removeChildNode(e,t),iwe(t.yogaNode)}})});var lwe=_((gKt,awe)=>{"use strict";awe.exports=(e,t=1,r)=>{if(r={indent:" ",includeEmptyLines:!1,...r},typeof e!="string")throw new TypeError(`Expected \`input\` to be a \`string\`, got \`${typeof e}\``);if(typeof t!="number")throw new TypeError(`Expected \`count\` to be a \`number\`, got \`${typeof t}\``);if(typeof r.indent!="string")throw new TypeError(`Expected \`options.indent\` to be a \`string\`, got \`${typeof r.indent}\``);if(t===0)return e;let o=r.includeEmptyLines?/^/gm:/^(?!\s*$)/gm;return e.replace(o,r.indent.repeat(t))}});var cwe=_(fB=>{"use strict";var oEt=fB&&fB.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(fB,"__esModule",{value:!0});var VQ=oEt(om());fB.default=e=>e.getComputedWidth()-e.getComputedPadding(VQ.default.EDGE_LEFT)-e.getComputedPadding(VQ.default.EDGE_RIGHT)-e.getComputedBorder(VQ.default.EDGE_LEFT)-e.getComputedBorder(VQ.default.EDGE_RIGHT)});var uwe=_((mKt,aEt)=>{aEt.exports={single:{topLeft:"\u250C",topRight:"\u2510",bottomRight:"\u2518",bottomLeft:"\u2514",vertical:"\u2502",horizontal:"\u2500"},double:{topLeft:"\u2554",topRight:"\u2557",bottomRight:"\u255D",bottomLeft:"\u255A",vertical:"\u2551",horizontal:"\u2550"},round:{topLeft:"\u256D",topRight:"\u256E",bottomRight:"\u256F",bottomLeft:"\u2570",vertical:"\u2502",horizontal:"\u2500"},bold:{topLeft:"\u250F",topRight:"\u2513",bottomRight:"\u251B",bottomLeft:"\u2517",vertical:"\u2503",horizontal:"\u2501"},singleDouble:{topLeft:"\u2553",topRight:"\u2556",bottomRight:"\u255C",bottomLeft:"\u2559",vertical:"\u2551",horizontal:"\u2500"},doubleSingle:{topLeft:"\u2552",topRight:"\u2555",bottomRight:"\u255B",bottomLeft:"\u2558",vertical:"\u2502",horizontal:"\u2550"},classic:{topLeft:"+",topRight:"+",bottomRight:"+",bottomLeft:"+",vertical:"|",horizontal:"-"}}});var fwe=_((yKt,j6)=>{"use strict";var Awe=uwe();j6.exports=Awe;j6.exports.default=Awe});var hwe=_((EKt,pwe)=>{"use strict";var lEt=(e,t,r)=>{let o=e.indexOf(t);if(o===-1)return e;let a=t.length,n=0,u="";do u+=e.substr(n,o-n)+t+r,n=o+a,o=e.indexOf(t,n);while(o!==-1);return u+=e.substr(n),u},cEt=(e,t,r,o)=>{let a=0,n="";do{let u=e[o-1]==="\r";n+=e.substr(a,(u?o-1:o)-a)+t+(u?`\r -`:` -`)+r,a=o+1,o=e.indexOf(` -`,a)}while(o!==-1);return n+=e.substr(a),n};pwe.exports={stringReplaceAll:lEt,stringEncaseCRLFWithFirstIndex:cEt}});var Ewe=_((wKt,ywe)=>{"use strict";var uEt=/(?:\\(u(?:[a-f\d]{4}|\{[a-f\d]{1,6}\})|x[a-f\d]{2}|.))|(?:\{(~)?(\w+(?:\([^)]*\))?(?:\.\w+(?:\([^)]*\))?)*)(?:[ \t]|(?=\r?\n)))|(\})|((?:.|[\r\n\f])+?)/gi,gwe=/(?:^|\.)(\w+)(?:\(([^)]*)\))?/g,AEt=/^(['"])((?:\\.|(?!\1)[^\\])*)\1$/,fEt=/\\(u(?:[a-f\d]{4}|{[a-f\d]{1,6}})|x[a-f\d]{2}|.)|([^\\])/gi,pEt=new Map([["n",` -`],["r","\r"],["t"," "],["b","\b"],["f","\f"],["v","\v"],["0","\0"],["\\","\\"],["e","\x1B"],["a","\x07"]]);function mwe(e){let t=e[0]==="u",r=e[1]==="{";return t&&!r&&e.length===5||e[0]==="x"&&e.length===3?String.fromCharCode(parseInt(e.slice(1),16)):t&&r?String.fromCodePoint(parseInt(e.slice(2,-1),16)):pEt.get(e)||e}function hEt(e,t){let r=[],o=t.trim().split(/\s*,\s*/g),a;for(let n of o){let u=Number(n);if(!Number.isNaN(u))r.push(u);else if(a=n.match(AEt))r.push(a[2].replace(fEt,(A,p,h)=>p?mwe(p):h));else throw new Error(`Invalid Chalk template style argument: ${n} (in style '${e}')`)}return r}function gEt(e){gwe.lastIndex=0;let t=[],r;for(;(r=gwe.exec(e))!==null;){let o=r[1];if(r[2]){let a=hEt(o,r[2]);t.push([o].concat(a))}else t.push([o])}return t}function dwe(e,t){let r={};for(let a of t)for(let n of a.styles)r[n[0]]=a.inverse?null:n.slice(1);let o=e;for(let[a,n]of Object.entries(r))if(!!Array.isArray(n)){if(!(a in o))throw new Error(`Unknown Chalk style: ${a}`);o=n.length>0?o[a](...n):o[a]}return o}ywe.exports=(e,t)=>{let r=[],o=[],a=[];if(t.replace(uEt,(n,u,A,p,h,w)=>{if(u)a.push(mwe(u));else if(p){let I=a.join("");a=[],o.push(r.length===0?I:dwe(e,r)(I)),r.push({inverse:A,styles:gEt(p)})}else if(h){if(r.length===0)throw new Error("Found extraneous } in Chalk template literal");o.push(dwe(e,r)(a.join(""))),a=[],r.pop()}else a.push(w)}),o.push(a.join("")),r.length>0){let n=`Chalk template literal is missing ${r.length} closing bracket${r.length===1?"":"s"} (\`}\`)`;throw new Error(n)}return o.join("")}});var ek=_((CKt,Dwe)=>{"use strict";var pB=II(),{stdout:G6,stderr:Y6}=gN(),{stringReplaceAll:dEt,stringEncaseCRLFWithFirstIndex:mEt}=hwe(),{isArray:zQ}=Array,Cwe=["ansi","ansi","ansi256","ansi16m"],Uw=Object.create(null),yEt=(e,t={})=>{if(t.level&&!(Number.isInteger(t.level)&&t.level>=0&&t.level<=3))throw new Error("The `level` option should be an integer from 0 to 3");let r=G6?G6.level:0;e.level=t.level===void 0?r:t.level},W6=class{constructor(t){return Iwe(t)}},Iwe=e=>{let t={};return yEt(t,e),t.template=(...r)=>vwe(t.template,...r),Object.setPrototypeOf(t,XQ.prototype),Object.setPrototypeOf(t.template,t),t.template.constructor=()=>{throw new Error("`chalk.constructor()` is deprecated. Use `new chalk.Instance()` instead.")},t.template.Instance=W6,t.template};function XQ(e){return Iwe(e)}for(let[e,t]of Object.entries(pB))Uw[e]={get(){let r=ZQ(this,K6(t.open,t.close,this._styler),this._isEmpty);return Object.defineProperty(this,e,{value:r}),r}};Uw.visible={get(){let e=ZQ(this,this._styler,!0);return Object.defineProperty(this,"visible",{value:e}),e}};var Bwe=["rgb","hex","keyword","hsl","hsv","hwb","ansi","ansi256"];for(let e of Bwe)Uw[e]={get(){let{level:t}=this;return function(...r){let o=K6(pB.color[Cwe[t]][e](...r),pB.color.close,this._styler);return ZQ(this,o,this._isEmpty)}}};for(let e of Bwe){let t="bg"+e[0].toUpperCase()+e.slice(1);Uw[t]={get(){let{level:r}=this;return function(...o){let a=K6(pB.bgColor[Cwe[r]][e](...o),pB.bgColor.close,this._styler);return ZQ(this,a,this._isEmpty)}}}}var EEt=Object.defineProperties(()=>{},{...Uw,level:{enumerable:!0,get(){return this._generator.level},set(e){this._generator.level=e}}}),K6=(e,t,r)=>{let o,a;return r===void 0?(o=e,a=t):(o=r.openAll+e,a=t+r.closeAll),{open:e,close:t,openAll:o,closeAll:a,parent:r}},ZQ=(e,t,r)=>{let o=(...a)=>zQ(a[0])&&zQ(a[0].raw)?wwe(o,vwe(o,...a)):wwe(o,a.length===1?""+a[0]:a.join(" "));return Object.setPrototypeOf(o,EEt),o._generator=e,o._styler=t,o._isEmpty=r,o},wwe=(e,t)=>{if(e.level<=0||!t)return e._isEmpty?"":t;let r=e._styler;if(r===void 0)return t;let{openAll:o,closeAll:a}=r;if(t.indexOf("\x1B")!==-1)for(;r!==void 0;)t=dEt(t,r.close,r.open),r=r.parent;let n=t.indexOf(` -`);return n!==-1&&(t=mEt(t,a,o,n)),o+t+a},q6,vwe=(e,...t)=>{let[r]=t;if(!zQ(r)||!zQ(r.raw))return t.join(" ");let o=t.slice(1),a=[r.raw[0]];for(let n=1;n<r.length;n++)a.push(String(o[n-1]).replace(/[{}\\]/g,"\\$&"),String(r.raw[n]));return q6===void 0&&(q6=Ewe()),q6(e,a.join(""))};Object.defineProperties(XQ.prototype,Uw);var $Q=XQ();$Q.supportsColor=G6;$Q.stderr=XQ({level:Y6?Y6.level:0});$Q.stderr.supportsColor=Y6;Dwe.exports=$Q});var J6=_(gB=>{"use strict";var wEt=gB&&gB.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(gB,"__esModule",{value:!0});var hB=wEt(ek()),CEt=/^(rgb|hsl|hsv|hwb)\(\s?(\d+),\s?(\d+),\s?(\d+)\s?\)$/,IEt=/^(ansi|ansi256)\(\s?(\d+)\s?\)$/,tk=(e,t)=>t==="foreground"?e:"bg"+e[0].toUpperCase()+e.slice(1);gB.default=(e,t,r)=>{if(!t)return e;if(t in hB.default){let a=tk(t,r);return hB.default[a](e)}if(t.startsWith("#")){let a=tk("hex",r);return hB.default[a](t)(e)}if(t.startsWith("ansi")){let a=IEt.exec(t);if(!a)return e;let n=tk(a[1],r),u=Number(a[2]);return hB.default[n](u)(e)}if(t.startsWith("rgb")||t.startsWith("hsl")||t.startsWith("hsv")||t.startsWith("hwb")){let a=CEt.exec(t);if(!a)return e;let n=tk(a[1],r),u=Number(a[2]),A=Number(a[3]),p=Number(a[4]);return hB.default[n](u,A,p)(e)}return e}});var Pwe=_(dB=>{"use strict";var Swe=dB&&dB.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(dB,"__esModule",{value:!0});var BEt=Swe(fwe()),V6=Swe(J6());dB.default=(e,t,r,o)=>{if(typeof r.style.borderStyle=="string"){let a=r.yogaNode.getComputedWidth(),n=r.yogaNode.getComputedHeight(),u=r.style.borderColor,A=BEt.default[r.style.borderStyle],p=V6.default(A.topLeft+A.horizontal.repeat(a-2)+A.topRight,u,"foreground"),h=(V6.default(A.vertical,u,"foreground")+` -`).repeat(n-2),w=V6.default(A.bottomLeft+A.horizontal.repeat(a-2)+A.bottomRight,u,"foreground");o.write(e,t,p,{transformers:[]}),o.write(e,t+1,h,{transformers:[]}),o.write(e+a-1,t+1,h,{transformers:[]}),o.write(e,t+n-1,w,{transformers:[]})}}});var bwe=_(mB=>{"use strict";var am=mB&&mB.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(mB,"__esModule",{value:!0});var vEt=am(om()),DEt=am(F6()),SEt=am(lwe()),PEt=am(M6()),xEt=am(cwe()),bEt=am(_6()),QEt=am(Pwe()),kEt=(e,t)=>{var r;let o=(r=e.childNodes[0])===null||r===void 0?void 0:r.yogaNode;if(o){let a=o.getComputedLeft(),n=o.getComputedTop();t=` -`.repeat(n)+SEt.default(t,a)}return t},xwe=(e,t,r)=>{var o;let{offsetX:a=0,offsetY:n=0,transformers:u=[],skipStaticElements:A}=r;if(A&&e.internal_static)return;let{yogaNode:p}=e;if(p){if(p.getDisplay()===vEt.default.DISPLAY_NONE)return;let h=a+p.getComputedLeft(),w=n+p.getComputedTop(),I=u;if(typeof e.internal_transform=="function"&&(I=[e.internal_transform,...u]),e.nodeName==="ink-text"){let v=bEt.default(e);if(v.length>0){let b=DEt.default(v),E=xEt.default(p);if(b>E){let R=(o=e.style.textWrap)!==null&&o!==void 0?o:"wrap";v=PEt.default(v,E,R)}v=kEt(e,v),t.write(h,w,v,{transformers:I})}return}if(e.nodeName==="ink-box"&&QEt.default(h,w,e,t),e.nodeName==="ink-root"||e.nodeName==="ink-box")for(let v of e.childNodes)xwe(v,t,{offsetX:h,offsetY:w,transformers:I,skipStaticElements:A})}};mB.default=xwe});var kwe=_((DKt,Qwe)=>{"use strict";Qwe.exports=e=>{e=Object.assign({onlyFirst:!1},e);let t=["[\\u001B\\u009B][[\\]()#;?]*(?:(?:(?:[a-zA-Z\\d]*(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]*)*)?\\u0007)","(?:(?:\\d{1,4}(?:;\\d{0,4})*)?[\\dA-PR-TZcf-ntqry=><~]))"].join("|");return new RegExp(t,e.onlyFirst?void 0:"g")}});var Rwe=_((SKt,z6)=>{"use strict";var FEt=kwe(),Fwe=e=>typeof e=="string"?e.replace(FEt(),""):e;z6.exports=Fwe;z6.exports.default=Fwe});var Lwe=_((PKt,Nwe)=>{"use strict";var Twe="[\uD800-\uDBFF][\uDC00-\uDFFF]";Nwe.exports=e=>e&&e.exact?new RegExp(`^${Twe}$`):new RegExp(Twe,"g")});var Mwe=_((xKt,X6)=>{"use strict";var REt=Rwe(),TEt=Lwe(),Owe=e=>REt(e).replace(TEt()," ").length;X6.exports=Owe;X6.exports.default=Owe});var Hwe=_(yB=>{"use strict";var _we=yB&&yB.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(yB,"__esModule",{value:!0});var Uwe=_we(L6()),NEt=_we(Mwe()),Z6=class{constructor(t){this.writes=[];let{width:r,height:o}=t;this.width=r,this.height=o}write(t,r,o,a){let{transformers:n}=a;!o||this.writes.push({x:t,y:r,text:o,transformers:n})}get(){let t=[];for(let o=0;o<this.height;o++)t.push(" ".repeat(this.width));for(let o of this.writes){let{x:a,y:n,text:u,transformers:A}=o,p=u.split(` -`),h=0;for(let w of p){let I=t[n+h];if(!I)continue;let v=NEt.default(w);for(let b of A)w=b(w);t[n+h]=Uwe.default(I,0,a)+w+Uwe.default(I,a+v),h++}}return{output:t.map(o=>o.trimRight()).join(` -`),height:t.length}}};yB.default=Z6});var Gwe=_(EB=>{"use strict";var $6=EB&&EB.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(EB,"__esModule",{value:!0});var LEt=$6(om()),jwe=$6(bwe()),qwe=$6(Hwe());EB.default=(e,t)=>{var r;if(e.yogaNode.setWidth(t),e.yogaNode){e.yogaNode.calculateLayout(void 0,void 0,LEt.default.DIRECTION_LTR);let o=new qwe.default({width:e.yogaNode.getComputedWidth(),height:e.yogaNode.getComputedHeight()});jwe.default(e,o,{skipStaticElements:!0});let a;!((r=e.staticNode)===null||r===void 0)&&r.yogaNode&&(a=new qwe.default({width:e.staticNode.yogaNode.getComputedWidth(),height:e.staticNode.yogaNode.getComputedHeight()}),jwe.default(e.staticNode,a,{skipStaticElements:!1}));let{output:n,height:u}=o.get();return{output:n,outputHeight:u,staticOutput:a?`${a.get().output} -`:""}}return{output:"",outputHeight:0,staticOutput:""}}});var Jwe=_((kKt,Kwe)=>{"use strict";var Ywe=Ie("stream"),Wwe=["assert","count","countReset","debug","dir","dirxml","error","group","groupCollapsed","groupEnd","info","log","table","time","timeEnd","timeLog","trace","warn"],ej={},OEt=e=>{let t=new Ywe.PassThrough,r=new Ywe.PassThrough;t.write=a=>e("stdout",a),r.write=a=>e("stderr",a);let o=new console.Console(t,r);for(let a of Wwe)ej[a]=console[a],console[a]=o[a];return()=>{for(let a of Wwe)console[a]=ej[a];ej={}}};Kwe.exports=OEt});var rj=_(tj=>{"use strict";Object.defineProperty(tj,"__esModule",{value:!0});tj.default=new WeakMap});var ij=_(nj=>{"use strict";Object.defineProperty(nj,"__esModule",{value:!0});var MEt=nn(),Vwe=MEt.createContext({exit:()=>{}});Vwe.displayName="InternalAppContext";nj.default=Vwe});var oj=_(sj=>{"use strict";Object.defineProperty(sj,"__esModule",{value:!0});var UEt=nn(),zwe=UEt.createContext({stdin:void 0,setRawMode:()=>{},isRawModeSupported:!1,internal_exitOnCtrlC:!0});zwe.displayName="InternalStdinContext";sj.default=zwe});var lj=_(aj=>{"use strict";Object.defineProperty(aj,"__esModule",{value:!0});var _Et=nn(),Xwe=_Et.createContext({stdout:void 0,write:()=>{}});Xwe.displayName="InternalStdoutContext";aj.default=Xwe});var uj=_(cj=>{"use strict";Object.defineProperty(cj,"__esModule",{value:!0});var HEt=nn(),Zwe=HEt.createContext({stderr:void 0,write:()=>{}});Zwe.displayName="InternalStderrContext";cj.default=Zwe});var rk=_(Aj=>{"use strict";Object.defineProperty(Aj,"__esModule",{value:!0});var jEt=nn(),$we=jEt.createContext({activeId:void 0,add:()=>{},remove:()=>{},activate:()=>{},deactivate:()=>{},enableFocus:()=>{},disableFocus:()=>{},focusNext:()=>{},focusPrevious:()=>{}});$we.displayName="InternalFocusContext";Aj.default=$we});var tCe=_((MKt,eCe)=>{"use strict";var qEt=/[|\\{}()[\]^$+*?.-]/g;eCe.exports=e=>{if(typeof e!="string")throw new TypeError("Expected a string");return e.replace(qEt,"\\$&")}});var sCe=_((UKt,iCe)=>{"use strict";var GEt=tCe(),YEt=typeof process=="object"&&process&&typeof process.cwd=="function"?process.cwd():".",nCe=[].concat(Ie("module").builtinModules,"bootstrap_node","node").map(e=>new RegExp(`(?:\\((?:node:)?${e}(?:\\.js)?:\\d+:\\d+\\)$|^\\s*at (?:node:)?${e}(?:\\.js)?:\\d+:\\d+$)`));nCe.push(/\((?:node:)?internal\/[^:]+:\d+:\d+\)$/,/\s*at (?:node:)?internal\/[^:]+:\d+:\d+$/,/\/\.node-spawn-wrap-\w+-\w+\/node:\d+:\d+\)?$/);var wB=class{constructor(t){t={ignoredPackages:[],...t},"internals"in t||(t.internals=wB.nodeInternals()),"cwd"in t||(t.cwd=YEt),this._cwd=t.cwd.replace(/\\/g,"/"),this._internals=[].concat(t.internals,WEt(t.ignoredPackages)),this._wrapCallSite=t.wrapCallSite||!1}static nodeInternals(){return[...nCe]}clean(t,r=0){r=" ".repeat(r),Array.isArray(t)||(t=t.split(` -`)),!/^\s*at /.test(t[0])&&/^\s*at /.test(t[1])&&(t=t.slice(1));let o=!1,a=null,n=[];return t.forEach(u=>{if(u=u.replace(/\\/g,"/"),this._internals.some(p=>p.test(u)))return;let A=/^\s*at /.test(u);o?u=u.trimEnd().replace(/^(\s+)at /,"$1"):(u=u.trim(),A&&(u=u.slice(3))),u=u.replace(`${this._cwd}/`,""),u&&(A?(a&&(n.push(a),a=null),n.push(u)):(o=!0,a=u))}),n.map(u=>`${r}${u} -`).join("")}captureString(t,r=this.captureString){typeof t=="function"&&(r=t,t=1/0);let{stackTraceLimit:o}=Error;t&&(Error.stackTraceLimit=t);let a={};Error.captureStackTrace(a,r);let{stack:n}=a;return Error.stackTraceLimit=o,this.clean(n)}capture(t,r=this.capture){typeof t=="function"&&(r=t,t=1/0);let{prepareStackTrace:o,stackTraceLimit:a}=Error;Error.prepareStackTrace=(A,p)=>this._wrapCallSite?p.map(this._wrapCallSite):p,t&&(Error.stackTraceLimit=t);let n={};Error.captureStackTrace(n,r);let{stack:u}=n;return Object.assign(Error,{prepareStackTrace:o,stackTraceLimit:a}),u}at(t=this.at){let[r]=this.capture(1,t);if(!r)return{};let o={line:r.getLineNumber(),column:r.getColumnNumber()};rCe(o,r.getFileName(),this._cwd),r.isConstructor()&&(o.constructor=!0),r.isEval()&&(o.evalOrigin=r.getEvalOrigin()),r.isNative()&&(o.native=!0);let a;try{a=r.getTypeName()}catch{}a&&a!=="Object"&&a!=="[object Object]"&&(o.type=a);let n=r.getFunctionName();n&&(o.function=n);let u=r.getMethodName();return u&&n!==u&&(o.method=u),o}parseLine(t){let r=t&&t.match(KEt);if(!r)return null;let o=r[1]==="new",a=r[2],n=r[3],u=r[4],A=Number(r[5]),p=Number(r[6]),h=r[7],w=r[8],I=r[9],v=r[10]==="native",b=r[11]===")",E,R={};if(w&&(R.line=Number(w)),I&&(R.column=Number(I)),b&&h){let N=0;for(let U=h.length-1;U>0;U--)if(h.charAt(U)===")")N++;else if(h.charAt(U)==="("&&h.charAt(U-1)===" "&&(N--,N===-1&&h.charAt(U-1)===" ")){let V=h.slice(0,U-1);h=h.slice(U+1),a+=` (${V}`;break}}if(a){let N=a.match(JEt);N&&(a=N[1],E=N[2])}return rCe(R,h,this._cwd),o&&(R.constructor=!0),n&&(R.evalOrigin=n,R.evalLine=A,R.evalColumn=p,R.evalFile=u&&u.replace(/\\/g,"/")),v&&(R.native=!0),a&&(R.function=a),E&&a!==E&&(R.method=E),R}};function rCe(e,t,r){t&&(t=t.replace(/\\/g,"/"),t.startsWith(`${r}/`)&&(t=t.slice(r.length+1)),e.file=t)}function WEt(e){if(e.length===0)return[];let t=e.map(r=>GEt(r));return new RegExp(`[/\\\\]node_modules[/\\\\](?:${t.join("|")})[/\\\\][^:]+:\\d+:\\d+`)}var KEt=new RegExp("^(?:\\s*at )?(?:(new) )?(?:(.*?) \\()?(?:eval at ([^ ]+) \\((.+?):(\\d+):(\\d+)\\), )?(?:(.+?):(\\d+):(\\d+)|(native))(\\)?)$"),JEt=/^(.*?) \[as (.*?)\]$/;iCe.exports=wB});var aCe=_((_Kt,oCe)=>{"use strict";oCe.exports=(e,t)=>e.replace(/^\t+/gm,r=>" ".repeat(r.length*(t||2)))});var cCe=_((HKt,lCe)=>{"use strict";var VEt=aCe(),zEt=(e,t)=>{let r=[],o=e-t,a=e+t;for(let n=o;n<=a;n++)r.push(n);return r};lCe.exports=(e,t,r)=>{if(typeof e!="string")throw new TypeError("Source code is missing.");if(!t||t<1)throw new TypeError("Line number must start from `1`.");if(e=VEt(e).split(/\r?\n/),!(t>e.length))return r={around:3,...r},zEt(t,r.around).filter(o=>e[o-1]!==void 0).map(o=>({line:o,value:e[o-1]}))}});var nk=_(iu=>{"use strict";var XEt=iu&&iu.__createBinding||(Object.create?function(e,t,r,o){o===void 0&&(o=r),Object.defineProperty(e,o,{enumerable:!0,get:function(){return t[r]}})}:function(e,t,r,o){o===void 0&&(o=r),e[o]=t[r]}),ZEt=iu&&iu.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),$Et=iu&&iu.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(e!=null)for(var r in e)r!=="default"&&Object.hasOwnProperty.call(e,r)&&XEt(t,e,r);return ZEt(t,e),t},ewt=iu&&iu.__rest||function(e,t){var r={};for(var o in e)Object.prototype.hasOwnProperty.call(e,o)&&t.indexOf(o)<0&&(r[o]=e[o]);if(e!=null&&typeof Object.getOwnPropertySymbols=="function")for(var a=0,o=Object.getOwnPropertySymbols(e);a<o.length;a++)t.indexOf(o[a])<0&&Object.prototype.propertyIsEnumerable.call(e,o[a])&&(r[o[a]]=e[o[a]]);return r};Object.defineProperty(iu,"__esModule",{value:!0});var uCe=$Et(nn()),fj=uCe.forwardRef((e,t)=>{var{children:r}=e,o=ewt(e,["children"]);let a=Object.assign(Object.assign({},o),{marginLeft:o.marginLeft||o.marginX||o.margin||0,marginRight:o.marginRight||o.marginX||o.margin||0,marginTop:o.marginTop||o.marginY||o.margin||0,marginBottom:o.marginBottom||o.marginY||o.margin||0,paddingLeft:o.paddingLeft||o.paddingX||o.padding||0,paddingRight:o.paddingRight||o.paddingX||o.padding||0,paddingTop:o.paddingTop||o.paddingY||o.padding||0,paddingBottom:o.paddingBottom||o.paddingY||o.padding||0});return uCe.default.createElement("ink-box",{ref:t,style:a},r)});fj.displayName="Box";fj.defaultProps={flexDirection:"row",flexGrow:0,flexShrink:1};iu.default=fj});var gj=_(CB=>{"use strict";var pj=CB&&CB.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(CB,"__esModule",{value:!0});var twt=pj(nn()),_w=pj(ek()),ACe=pj(J6()),hj=({color:e,backgroundColor:t,dimColor:r,bold:o,italic:a,underline:n,strikethrough:u,inverse:A,wrap:p,children:h})=>{if(h==null)return null;let w=I=>(r&&(I=_w.default.dim(I)),e&&(I=ACe.default(I,e,"foreground")),t&&(I=ACe.default(I,t,"background")),o&&(I=_w.default.bold(I)),a&&(I=_w.default.italic(I)),n&&(I=_w.default.underline(I)),u&&(I=_w.default.strikethrough(I)),A&&(I=_w.default.inverse(I)),I);return twt.default.createElement("ink-text",{style:{flexGrow:0,flexShrink:1,flexDirection:"row",textWrap:p},internal_transform:w},h)};hj.displayName="Text";hj.defaultProps={dimColor:!1,bold:!1,italic:!1,underline:!1,strikethrough:!1,wrap:"wrap"};CB.default=hj});var gCe=_(su=>{"use strict";var rwt=su&&su.__createBinding||(Object.create?function(e,t,r,o){o===void 0&&(o=r),Object.defineProperty(e,o,{enumerable:!0,get:function(){return t[r]}})}:function(e,t,r,o){o===void 0&&(o=r),e[o]=t[r]}),nwt=su&&su.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),iwt=su&&su.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(e!=null)for(var r in e)r!=="default"&&Object.hasOwnProperty.call(e,r)&&rwt(t,e,r);return nwt(t,e),t},IB=su&&su.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(su,"__esModule",{value:!0});var fCe=iwt(Ie("fs")),ps=IB(nn()),pCe=IB(sCe()),swt=IB(cCe()),Xf=IB(nk()),gA=IB(gj()),hCe=new pCe.default({cwd:process.cwd(),internals:pCe.default.nodeInternals()}),owt=({error:e})=>{let t=e.stack?e.stack.split(` -`).slice(1):void 0,r=t?hCe.parseLine(t[0]):void 0,o,a=0;if(r?.file&&r?.line&&fCe.existsSync(r.file)){let n=fCe.readFileSync(r.file,"utf8");if(o=swt.default(n,r.line),o)for(let{line:u}of o)a=Math.max(a,String(u).length)}return ps.default.createElement(Xf.default,{flexDirection:"column",padding:1},ps.default.createElement(Xf.default,null,ps.default.createElement(gA.default,{backgroundColor:"red",color:"white"}," ","ERROR"," "),ps.default.createElement(gA.default,null," ",e.message)),r&&ps.default.createElement(Xf.default,{marginTop:1},ps.default.createElement(gA.default,{dimColor:!0},r.file,":",r.line,":",r.column)),r&&o&&ps.default.createElement(Xf.default,{marginTop:1,flexDirection:"column"},o.map(({line:n,value:u})=>ps.default.createElement(Xf.default,{key:n},ps.default.createElement(Xf.default,{width:a+1},ps.default.createElement(gA.default,{dimColor:n!==r.line,backgroundColor:n===r.line?"red":void 0,color:n===r.line?"white":void 0},String(n).padStart(a," "),":")),ps.default.createElement(gA.default,{key:n,backgroundColor:n===r.line?"red":void 0,color:n===r.line?"white":void 0}," "+u)))),e.stack&&ps.default.createElement(Xf.default,{marginTop:1,flexDirection:"column"},e.stack.split(` -`).slice(1).map(n=>{let u=hCe.parseLine(n);return u?ps.default.createElement(Xf.default,{key:n},ps.default.createElement(gA.default,{dimColor:!0},"- "),ps.default.createElement(gA.default,{dimColor:!0,bold:!0},u.function),ps.default.createElement(gA.default,{dimColor:!0,color:"gray"}," ","(",u.file,":",u.line,":",u.column,")")):ps.default.createElement(Xf.default,{key:n},ps.default.createElement(gA.default,{dimColor:!0},"- "),ps.default.createElement(gA.default,{dimColor:!0,bold:!0},n))})))};su.default=owt});var mCe=_(ou=>{"use strict";var awt=ou&&ou.__createBinding||(Object.create?function(e,t,r,o){o===void 0&&(o=r),Object.defineProperty(e,o,{enumerable:!0,get:function(){return t[r]}})}:function(e,t,r,o){o===void 0&&(o=r),e[o]=t[r]}),lwt=ou&&ou.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),cwt=ou&&ou.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(e!=null)for(var r in e)r!=="default"&&Object.hasOwnProperty.call(e,r)&&awt(t,e,r);return lwt(t,e),t},cm=ou&&ou.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(ou,"__esModule",{value:!0});var lm=cwt(nn()),dCe=cm(f6()),uwt=cm(ij()),Awt=cm(oj()),fwt=cm(lj()),pwt=cm(uj()),hwt=cm(rk()),gwt=cm(gCe()),dwt=" ",mwt="\x1B[Z",ywt="\x1B",ik=class extends lm.PureComponent{constructor(){super(...arguments),this.state={isFocusEnabled:!0,activeFocusId:void 0,focusables:[],error:void 0},this.rawModeEnabledCount=0,this.handleSetRawMode=t=>{let{stdin:r}=this.props;if(!this.isRawModeSupported())throw r===process.stdin?new Error(`Raw mode is not supported on the current process.stdin, which Ink uses as input stream by default. -Read about how to prevent this error on https://github.com/vadimdemedes/ink/#israwmodesupported`):new Error(`Raw mode is not supported on the stdin provided to Ink. -Read about how to prevent this error on https://github.com/vadimdemedes/ink/#israwmodesupported`);if(r.setEncoding("utf8"),t){this.rawModeEnabledCount===0&&(r.addListener("data",this.handleInput),r.resume(),r.setRawMode(!0)),this.rawModeEnabledCount++;return}--this.rawModeEnabledCount===0&&(r.setRawMode(!1),r.removeListener("data",this.handleInput),r.pause())},this.handleInput=t=>{t===""&&this.props.exitOnCtrlC&&this.handleExit(),t===ywt&&this.state.activeFocusId&&this.setState({activeFocusId:void 0}),this.state.isFocusEnabled&&this.state.focusables.length>0&&(t===dwt&&this.focusNext(),t===mwt&&this.focusPrevious())},this.handleExit=t=>{this.isRawModeSupported()&&this.handleSetRawMode(!1),this.props.onExit(t)},this.enableFocus=()=>{this.setState({isFocusEnabled:!0})},this.disableFocus=()=>{this.setState({isFocusEnabled:!1})},this.focusNext=()=>{this.setState(t=>{let r=t.focusables[0].id;return{activeFocusId:this.findNextFocusable(t)||r}})},this.focusPrevious=()=>{this.setState(t=>{let r=t.focusables[t.focusables.length-1].id;return{activeFocusId:this.findPreviousFocusable(t)||r}})},this.addFocusable=(t,{autoFocus:r})=>{this.setState(o=>{let a=o.activeFocusId;return!a&&r&&(a=t),{activeFocusId:a,focusables:[...o.focusables,{id:t,isActive:!0}]}})},this.removeFocusable=t=>{this.setState(r=>({activeFocusId:r.activeFocusId===t?void 0:r.activeFocusId,focusables:r.focusables.filter(o=>o.id!==t)}))},this.activateFocusable=t=>{this.setState(r=>({focusables:r.focusables.map(o=>o.id!==t?o:{id:t,isActive:!0})}))},this.deactivateFocusable=t=>{this.setState(r=>({activeFocusId:r.activeFocusId===t?void 0:r.activeFocusId,focusables:r.focusables.map(o=>o.id!==t?o:{id:t,isActive:!1})}))},this.findNextFocusable=t=>{let r=t.focusables.findIndex(o=>o.id===t.activeFocusId);for(let o=r+1;o<t.focusables.length;o++)if(t.focusables[o].isActive)return t.focusables[o].id},this.findPreviousFocusable=t=>{let r=t.focusables.findIndex(o=>o.id===t.activeFocusId);for(let o=r-1;o>=0;o--)if(t.focusables[o].isActive)return t.focusables[o].id}}static getDerivedStateFromError(t){return{error:t}}isRawModeSupported(){return this.props.stdin.isTTY}render(){return lm.default.createElement(uwt.default.Provider,{value:{exit:this.handleExit}},lm.default.createElement(Awt.default.Provider,{value:{stdin:this.props.stdin,setRawMode:this.handleSetRawMode,isRawModeSupported:this.isRawModeSupported(),internal_exitOnCtrlC:this.props.exitOnCtrlC}},lm.default.createElement(fwt.default.Provider,{value:{stdout:this.props.stdout,write:this.props.writeToStdout}},lm.default.createElement(pwt.default.Provider,{value:{stderr:this.props.stderr,write:this.props.writeToStderr}},lm.default.createElement(hwt.default.Provider,{value:{activeId:this.state.activeFocusId,add:this.addFocusable,remove:this.removeFocusable,activate:this.activateFocusable,deactivate:this.deactivateFocusable,enableFocus:this.enableFocus,disableFocus:this.disableFocus,focusNext:this.focusNext,focusPrevious:this.focusPrevious}},this.state.error?lm.default.createElement(gwt.default,{error:this.state.error}):this.props.children)))))}componentDidMount(){dCe.default.hide(this.props.stdout)}componentWillUnmount(){dCe.default.show(this.props.stdout),this.isRawModeSupported()&&this.handleSetRawMode(!1)}componentDidCatch(t){this.handleExit(t)}};ou.default=ik;ik.displayName="InternalApp"});var wCe=_(au=>{"use strict";var Ewt=au&&au.__createBinding||(Object.create?function(e,t,r,o){o===void 0&&(o=r),Object.defineProperty(e,o,{enumerable:!0,get:function(){return t[r]}})}:function(e,t,r,o){o===void 0&&(o=r),e[o]=t[r]}),wwt=au&&au.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),Cwt=au&&au.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(e!=null)for(var r in e)r!=="default"&&Object.hasOwnProperty.call(e,r)&&Ewt(t,e,r);return wwt(t,e),t},lu=au&&au.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(au,"__esModule",{value:!0});var Iwt=lu(nn()),yCe=aM(),Bwt=lu(sEe()),vwt=lu(a6()),Dwt=lu(AEe()),Swt=lu(pEe()),dj=lu(owe()),Pwt=lu(Gwe()),xwt=lu(A6()),bwt=lu(Jwe()),Qwt=Cwt(H6()),kwt=lu(rj()),Fwt=lu(mCe()),Hw=process.env.CI==="false"?!1:Dwt.default,ECe=()=>{},mj=class{constructor(t){this.resolveExitPromise=()=>{},this.rejectExitPromise=()=>{},this.unsubscribeExit=()=>{},this.onRender=()=>{if(this.isUnmounted)return;let{output:r,outputHeight:o,staticOutput:a}=Pwt.default(this.rootNode,this.options.stdout.columns||80),n=a&&a!==` -`;if(this.options.debug){n&&(this.fullStaticOutput+=a),this.options.stdout.write(this.fullStaticOutput+r);return}if(Hw){n&&this.options.stdout.write(a),this.lastOutput=r;return}if(n&&(this.fullStaticOutput+=a),o>=this.options.stdout.rows){this.options.stdout.write(vwt.default.clearTerminal+this.fullStaticOutput+r),this.lastOutput=r;return}n&&(this.log.clear(),this.options.stdout.write(a),this.log(r)),!n&&r!==this.lastOutput&&this.throttledLog(r),this.lastOutput=r},Swt.default(this),this.options=t,this.rootNode=Qwt.createNode("ink-root"),this.rootNode.onRender=t.debug?this.onRender:yCe(this.onRender,32,{leading:!0,trailing:!0}),this.rootNode.onImmediateRender=this.onRender,this.log=Bwt.default.create(t.stdout),this.throttledLog=t.debug?this.log:yCe(this.log,void 0,{leading:!0,trailing:!0}),this.isUnmounted=!1,this.lastOutput="",this.fullStaticOutput="",this.container=dj.default.createContainer(this.rootNode,!1,!1),this.unsubscribeExit=xwt.default(this.unmount,{alwaysLast:!1}),t.patchConsole&&this.patchConsole(),Hw||(t.stdout.on("resize",this.onRender),this.unsubscribeResize=()=>{t.stdout.off("resize",this.onRender)})}render(t){let r=Iwt.default.createElement(Fwt.default,{stdin:this.options.stdin,stdout:this.options.stdout,stderr:this.options.stderr,writeToStdout:this.writeToStdout,writeToStderr:this.writeToStderr,exitOnCtrlC:this.options.exitOnCtrlC,onExit:this.unmount},t);dj.default.updateContainer(r,this.container,null,ECe)}writeToStdout(t){if(!this.isUnmounted){if(this.options.debug){this.options.stdout.write(t+this.fullStaticOutput+this.lastOutput);return}if(Hw){this.options.stdout.write(t);return}this.log.clear(),this.options.stdout.write(t),this.log(this.lastOutput)}}writeToStderr(t){if(!this.isUnmounted){if(this.options.debug){this.options.stderr.write(t),this.options.stdout.write(this.fullStaticOutput+this.lastOutput);return}if(Hw){this.options.stderr.write(t);return}this.log.clear(),this.options.stderr.write(t),this.log(this.lastOutput)}}unmount(t){this.isUnmounted||(this.onRender(),this.unsubscribeExit(),typeof this.restoreConsole=="function"&&this.restoreConsole(),typeof this.unsubscribeResize=="function"&&this.unsubscribeResize(),Hw?this.options.stdout.write(this.lastOutput+` -`):this.options.debug||this.log.done(),this.isUnmounted=!0,dj.default.updateContainer(null,this.container,null,ECe),kwt.default.delete(this.options.stdout),t instanceof Error?this.rejectExitPromise(t):this.resolveExitPromise())}waitUntilExit(){return this.exitPromise||(this.exitPromise=new Promise((t,r)=>{this.resolveExitPromise=t,this.rejectExitPromise=r})),this.exitPromise}clear(){!Hw&&!this.options.debug&&this.log.clear()}patchConsole(){this.options.debug||(this.restoreConsole=bwt.default((t,r)=>{t==="stdout"&&this.writeToStdout(r),t==="stderr"&&(r.startsWith("The above error occurred")||this.writeToStderr(r))}))}};au.default=mj});var ICe=_(BB=>{"use strict";var CCe=BB&&BB.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(BB,"__esModule",{value:!0});var Rwt=CCe(wCe()),sk=CCe(rj()),Twt=Ie("stream"),Nwt=(e,t)=>{let r=Object.assign({stdout:process.stdout,stdin:process.stdin,stderr:process.stderr,debug:!1,exitOnCtrlC:!0,patchConsole:!0},Lwt(t)),o=Owt(r.stdout,()=>new Rwt.default(r));return o.render(e),{rerender:o.render,unmount:()=>o.unmount(),waitUntilExit:o.waitUntilExit,cleanup:()=>sk.default.delete(r.stdout),clear:o.clear}};BB.default=Nwt;var Lwt=(e={})=>e instanceof Twt.Stream?{stdout:e,stdin:process.stdin}:e,Owt=(e,t)=>{let r;return sk.default.has(e)?r=sk.default.get(e):(r=t(),sk.default.set(e,r)),r}});var vCe=_(Zf=>{"use strict";var Mwt=Zf&&Zf.__createBinding||(Object.create?function(e,t,r,o){o===void 0&&(o=r),Object.defineProperty(e,o,{enumerable:!0,get:function(){return t[r]}})}:function(e,t,r,o){o===void 0&&(o=r),e[o]=t[r]}),Uwt=Zf&&Zf.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),_wt=Zf&&Zf.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(e!=null)for(var r in e)r!=="default"&&Object.hasOwnProperty.call(e,r)&&Mwt(t,e,r);return Uwt(t,e),t};Object.defineProperty(Zf,"__esModule",{value:!0});var vB=_wt(nn()),BCe=e=>{let{items:t,children:r,style:o}=e,[a,n]=vB.useState(0),u=vB.useMemo(()=>t.slice(a),[t,a]);vB.useLayoutEffect(()=>{n(t.length)},[t.length]);let A=u.map((h,w)=>r(h,a+w)),p=vB.useMemo(()=>Object.assign({position:"absolute",flexDirection:"column"},o),[o]);return vB.default.createElement("ink-box",{internal_static:!0,style:p},A)};BCe.displayName="Static";Zf.default=BCe});var SCe=_(DB=>{"use strict";var Hwt=DB&&DB.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(DB,"__esModule",{value:!0});var jwt=Hwt(nn()),DCe=({children:e,transform:t})=>e==null?null:jwt.default.createElement("ink-text",{style:{flexGrow:0,flexShrink:1,flexDirection:"row"},internal_transform:t},e);DCe.displayName="Transform";DB.default=DCe});var xCe=_(SB=>{"use strict";var qwt=SB&&SB.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(SB,"__esModule",{value:!0});var Gwt=qwt(nn()),PCe=({count:e=1})=>Gwt.default.createElement("ink-text",null,` -`.repeat(e));PCe.displayName="Newline";SB.default=PCe});var kCe=_(PB=>{"use strict";var bCe=PB&&PB.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(PB,"__esModule",{value:!0});var Ywt=bCe(nn()),Wwt=bCe(nk()),QCe=()=>Ywt.default.createElement(Wwt.default,{flexGrow:1});QCe.displayName="Spacer";PB.default=QCe});var ok=_(xB=>{"use strict";var Kwt=xB&&xB.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(xB,"__esModule",{value:!0});var Jwt=nn(),Vwt=Kwt(oj()),zwt=()=>Jwt.useContext(Vwt.default);xB.default=zwt});var RCe=_(bB=>{"use strict";var Xwt=bB&&bB.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(bB,"__esModule",{value:!0});var FCe=nn(),Zwt=Xwt(ok()),$wt=(e,t={})=>{let{stdin:r,setRawMode:o,internal_exitOnCtrlC:a}=Zwt.default();FCe.useEffect(()=>{if(t.isActive!==!1)return o(!0),()=>{o(!1)}},[t.isActive,o]),FCe.useEffect(()=>{if(t.isActive===!1)return;let n=u=>{let A=String(u),p={upArrow:A==="\x1B[A",downArrow:A==="\x1B[B",leftArrow:A==="\x1B[D",rightArrow:A==="\x1B[C",pageDown:A==="\x1B[6~",pageUp:A==="\x1B[5~",return:A==="\r",escape:A==="\x1B",ctrl:!1,shift:!1,tab:A===" "||A==="\x1B[Z",backspace:A==="\b",delete:A==="\x7F"||A==="\x1B[3~",meta:!1};A<=""&&!p.return&&(A=String.fromCharCode(A.charCodeAt(0)+"a".charCodeAt(0)-1),p.ctrl=!0),A.startsWith("\x1B")&&(A=A.slice(1),p.meta=!0);let h=A>="A"&&A<="Z",w=A>="\u0410"&&A<="\u042F";A.length===1&&(h||w)&&(p.shift=!0),p.tab&&A==="[Z"&&(p.shift=!0),(p.tab||p.backspace||p.delete)&&(A=""),(!(A==="c"&&p.ctrl)||!a)&&e(A,p)};return r?.on("data",n),()=>{r?.off("data",n)}},[t.isActive,r,a,e])};bB.default=$wt});var TCe=_(QB=>{"use strict";var eCt=QB&&QB.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(QB,"__esModule",{value:!0});var tCt=nn(),rCt=eCt(ij()),nCt=()=>tCt.useContext(rCt.default);QB.default=nCt});var NCe=_(kB=>{"use strict";var iCt=kB&&kB.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(kB,"__esModule",{value:!0});var sCt=nn(),oCt=iCt(lj()),aCt=()=>sCt.useContext(oCt.default);kB.default=aCt});var LCe=_(FB=>{"use strict";var lCt=FB&&FB.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(FB,"__esModule",{value:!0});var cCt=nn(),uCt=lCt(uj()),ACt=()=>cCt.useContext(uCt.default);FB.default=ACt});var MCe=_(TB=>{"use strict";var OCe=TB&&TB.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(TB,"__esModule",{value:!0});var RB=nn(),fCt=OCe(rk()),pCt=OCe(ok()),hCt=({isActive:e=!0,autoFocus:t=!1}={})=>{let{isRawModeSupported:r,setRawMode:o}=pCt.default(),{activeId:a,add:n,remove:u,activate:A,deactivate:p}=RB.useContext(fCt.default),h=RB.useMemo(()=>Math.random().toString().slice(2,7),[]);return RB.useEffect(()=>(n(h,{autoFocus:t}),()=>{u(h)}),[h,t]),RB.useEffect(()=>{e?A(h):p(h)},[e,h]),RB.useEffect(()=>{if(!(!r||!e))return o(!0),()=>{o(!1)}},[e]),{isFocused:Boolean(h)&&a===h}};TB.default=hCt});var UCe=_(NB=>{"use strict";var gCt=NB&&NB.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(NB,"__esModule",{value:!0});var dCt=nn(),mCt=gCt(rk()),yCt=()=>{let e=dCt.useContext(mCt.default);return{enableFocus:e.enableFocus,disableFocus:e.disableFocus,focusNext:e.focusNext,focusPrevious:e.focusPrevious}};NB.default=yCt});var _Ce=_(yj=>{"use strict";Object.defineProperty(yj,"__esModule",{value:!0});yj.default=e=>{var t,r,o,a;return{width:(r=(t=e.yogaNode)===null||t===void 0?void 0:t.getComputedWidth())!==null&&r!==void 0?r:0,height:(a=(o=e.yogaNode)===null||o===void 0?void 0:o.getComputedHeight())!==null&&a!==void 0?a:0}}});var ic=_(ro=>{"use strict";Object.defineProperty(ro,"__esModule",{value:!0});var ECt=ICe();Object.defineProperty(ro,"render",{enumerable:!0,get:function(){return ECt.default}});var wCt=nk();Object.defineProperty(ro,"Box",{enumerable:!0,get:function(){return wCt.default}});var CCt=gj();Object.defineProperty(ro,"Text",{enumerable:!0,get:function(){return CCt.default}});var ICt=vCe();Object.defineProperty(ro,"Static",{enumerable:!0,get:function(){return ICt.default}});var BCt=SCe();Object.defineProperty(ro,"Transform",{enumerable:!0,get:function(){return BCt.default}});var vCt=xCe();Object.defineProperty(ro,"Newline",{enumerable:!0,get:function(){return vCt.default}});var DCt=kCe();Object.defineProperty(ro,"Spacer",{enumerable:!0,get:function(){return DCt.default}});var SCt=RCe();Object.defineProperty(ro,"useInput",{enumerable:!0,get:function(){return SCt.default}});var PCt=TCe();Object.defineProperty(ro,"useApp",{enumerable:!0,get:function(){return PCt.default}});var xCt=ok();Object.defineProperty(ro,"useStdin",{enumerable:!0,get:function(){return xCt.default}});var bCt=NCe();Object.defineProperty(ro,"useStdout",{enumerable:!0,get:function(){return bCt.default}});var QCt=LCe();Object.defineProperty(ro,"useStderr",{enumerable:!0,get:function(){return QCt.default}});var kCt=MCe();Object.defineProperty(ro,"useFocus",{enumerable:!0,get:function(){return kCt.default}});var FCt=UCe();Object.defineProperty(ro,"useFocusManager",{enumerable:!0,get:function(){return FCt.default}});var RCt=_Ce();Object.defineProperty(ro,"measureElement",{enumerable:!0,get:function(){return RCt.default}})});var wj={};Jt(wj,{Gem:()=>Ej});var HCe,um,Ej,ak=yt(()=>{HCe=$e(ic()),um=$e(nn()),Ej=(0,um.memo)(({active:e})=>{let t=(0,um.useMemo)(()=>e?"\u25C9":"\u25EF",[e]),r=(0,um.useMemo)(()=>e?"green":"yellow",[e]);return um.default.createElement(HCe.Text,{color:r},t)})});var qCe={};Jt(qCe,{useKeypress:()=>Am});function Am({active:e},t,r){let{stdin:o}=(0,jCe.useStdin)(),a=(0,lk.useCallback)((n,u)=>t(n,u),r);(0,lk.useEffect)(()=>{if(!(!e||!o))return o.on("keypress",a),()=>{o.off("keypress",a)}},[e,a,o])}var jCe,lk,LB=yt(()=>{jCe=$e(ic()),lk=$e(nn())});var YCe={};Jt(YCe,{FocusRequest:()=>GCe,useFocusRequest:()=>Cj});var GCe,Cj,Ij=yt(()=>{LB();GCe=(r=>(r.BEFORE="before",r.AFTER="after",r))(GCe||{}),Cj=function({active:e},t,r){Am({active:e},(o,a)=>{a.name==="tab"&&(a.shift?t("before"):t("after"))},r)}});var WCe={};Jt(WCe,{useListInput:()=>OB});var OB,ck=yt(()=>{LB();OB=function(e,t,{active:r,minus:o,plus:a,set:n,loop:u=!0}){Am({active:r},(A,p)=>{let h=t.indexOf(e);switch(p.name){case o:{let w=h-1;if(u){n(t[(t.length+w)%t.length]);return}if(w<0)return;n(t[w])}break;case a:{let w=h+1;if(u){n(t[w%t.length]);return}if(w>=t.length)return;n(t[w])}break}},[t,e,a,n,u])}});var uk={};Jt(uk,{ScrollableItems:()=>TCt});var E0,La,TCt,Ak=yt(()=>{E0=$e(ic()),La=$e(nn());Ij();ck();TCt=({active:e=!0,children:t=[],radius:r=10,size:o=1,loop:a=!0,onFocusRequest:n,willReachEnd:u})=>{let A=N=>{if(N.key===null)throw new Error("Expected all children to have a key");return N.key},p=La.default.Children.map(t,N=>A(N)),h=p[0],[w,I]=(0,La.useState)(h),v=p.indexOf(w);(0,La.useEffect)(()=>{p.includes(w)||I(h)},[t]),(0,La.useEffect)(()=>{u&&v>=p.length-2&&u()},[v]),Cj({active:e&&!!n},N=>{n?.(N)},[n]),OB(w,p,{active:e,minus:"up",plus:"down",set:I,loop:a});let b=v-r,E=v+r;E>p.length&&(b-=E-p.length,E=p.length),b<0&&(E+=-b,b=0),E>=p.length&&(E=p.length-1);let R=[];for(let N=b;N<=E;++N){let U=p[N],V=e&&U===w;R.push(La.default.createElement(E0.Box,{key:U,height:o},La.default.createElement(E0.Box,{marginLeft:1,marginRight:1},La.default.createElement(E0.Text,null,V?La.default.createElement(E0.Text,{color:"cyan",bold:!0},">"):" ")),La.default.createElement(E0.Box,null,La.default.cloneElement(t[N],{active:V}))))}return La.default.createElement(E0.Box,{flexDirection:"column",width:"100%"},R)}});var KCe,$f,JCe,Bj,VCe,vj=yt(()=>{KCe=$e(ic()),$f=$e(nn()),JCe=Ie("readline"),Bj=$f.default.createContext(null),VCe=({children:e})=>{let{stdin:t,setRawMode:r}=(0,KCe.useStdin)();(0,$f.useEffect)(()=>{r&&r(!0),t&&(0,JCe.emitKeypressEvents)(t)},[t,r]);let[o,a]=(0,$f.useState)(new Map),n=(0,$f.useMemo)(()=>({getAll:()=>o,get:u=>o.get(u),set:(u,A)=>a(new Map([...o,[u,A]]))}),[o,a]);return $f.default.createElement(Bj.Provider,{value:n,children:e})}});var Dj={};Jt(Dj,{useMinistore:()=>NCt});function NCt(e,t){let r=(0,fk.useContext)(Bj);if(r===null)throw new Error("Expected this hook to run with a ministore context attached");if(typeof e>"u")return r.getAll();let o=(0,fk.useCallback)(n=>{r.set(e,n)},[e,r.set]),a=r.get(e);return typeof a>"u"&&(a=t),[a,o]}var fk,Sj=yt(()=>{fk=$e(nn());vj()});var hk={};Jt(hk,{renderForm:()=>LCt});async function LCt(e,t,{stdin:r,stdout:o,stderr:a}){let n,u=p=>{let{exit:h}=(0,pk.useApp)();Am({active:!0},(w,I)=>{I.name==="return"&&(n=p,h())},[h,p])},{waitUntilExit:A}=(0,pk.render)(Pj.default.createElement(VCe,null,Pj.default.createElement(e,{...t,useSubmit:u})),{stdin:r,stdout:o,stderr:a});return await A(),n}var pk,Pj,gk=yt(()=>{pk=$e(ic()),Pj=$e(nn());vj();LB()});var $Ce=_(MB=>{"use strict";Object.defineProperty(MB,"__esModule",{value:!0});MB.UncontrolledTextInput=void 0;var XCe=nn(),xj=nn(),zCe=ic(),fm=ek(),ZCe=({value:e,placeholder:t="",focus:r=!0,mask:o,highlightPastedText:a=!1,showCursor:n=!0,onChange:u,onSubmit:A})=>{let[{cursorOffset:p,cursorWidth:h},w]=xj.useState({cursorOffset:(e||"").length,cursorWidth:0});xj.useEffect(()=>{w(R=>{if(!r||!n)return R;let N=e||"";return R.cursorOffset>N.length-1?{cursorOffset:N.length,cursorWidth:0}:R})},[e,r,n]);let I=a?h:0,v=o?o.repeat(e.length):e,b=v,E=t?fm.grey(t):void 0;if(n&&r){E=t.length>0?fm.inverse(t[0])+fm.grey(t.slice(1)):fm.inverse(" "),b=v.length>0?"":fm.inverse(" ");let R=0;for(let N of v)R>=p-I&&R<=p?b+=fm.inverse(N):b+=N,R++;v.length>0&&p===v.length&&(b+=fm.inverse(" "))}return zCe.useInput((R,N)=>{if(N.upArrow||N.downArrow||N.ctrl&&R==="c"||N.tab||N.shift&&N.tab)return;if(N.return){A&&A(e);return}let U=p,V=e,ee=0;N.leftArrow?n&&U--:N.rightArrow?n&&U++:N.backspace||N.delete?p>0&&(V=e.slice(0,p-1)+e.slice(p,e.length),U--):(V=e.slice(0,p)+R+e.slice(p,e.length),U+=R.length,R.length>1&&(ee=R.length)),p<0&&(U=0),p>e.length&&(U=e.length),w({cursorOffset:U,cursorWidth:ee}),V!==e&&u(V)},{isActive:r}),XCe.createElement(zCe.Text,null,t?v.length>0?b:E:b)};MB.default=ZCe;MB.UncontrolledTextInput=e=>{let[t,r]=xj.useState("");return XCe.createElement(ZCe,Object.assign({},e,{value:t,onChange:r}))}});var rIe={};Jt(rIe,{Pad:()=>bj});var eIe,tIe,bj,Qj=yt(()=>{eIe=$e(ic()),tIe=$e(nn()),bj=({length:e,active:t})=>{if(e===0)return null;let r=e>1?` ${"-".repeat(e-1)}`:" ";return tIe.default.createElement(eIe.Text,{dimColor:!t},r)}});var nIe={};Jt(nIe,{ItemOptions:()=>OCt});var _B,C0,OCt,iIe=yt(()=>{_B=$e(ic()),C0=$e(nn());ck();ak();Qj();OCt=function({active:e,skewer:t,options:r,value:o,onChange:a,sizes:n=[]}){let u=r.filter(({label:p})=>!!p).map(({value:p})=>p),A=r.findIndex(p=>p.value===o&&p.label!="");return OB(o,u,{active:e,minus:"left",plus:"right",set:a}),C0.default.createElement(C0.default.Fragment,null,r.map(({label:p},h)=>{let w=h===A,I=n[h]-1||0,v=p.replace(/[\u001b\u009b][[()#;?]*(?:[0-9]{1,4}(?:;[0-9]{0,4})*)?[0-9A-ORZcf-nqry=><]/g,""),b=Math.max(0,I-v.length-2);return p?C0.default.createElement(_B.Box,{key:p,width:I,marginLeft:1},C0.default.createElement(_B.Text,{wrap:"truncate"},C0.default.createElement(Ej,{active:w})," ",p),t?C0.default.createElement(bj,{active:e,length:b}):null):C0.default.createElement(_B.Box,{key:`spacer-${h}`,width:I,marginLeft:1})}))}});var wIe=_((bVt,EIe)=>{var Uj;EIe.exports=()=>(typeof Uj>"u"&&(Uj=Ie("zlib").brotliDecompressSync(Buffer.from("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","base64")).toString()),Uj)});var HIe=_((ezt,_Ie)=>{var Jj=Symbol("arg flag"),Oa=class extends Error{constructor(t,r){super(t),this.name="ArgError",this.code=r,Object.setPrototypeOf(this,Oa.prototype)}};function rv(e,{argv:t=process.argv.slice(2),permissive:r=!1,stopAtPositional:o=!1}={}){if(!e)throw new Oa("argument specification object is required","ARG_CONFIG_NO_SPEC");let a={_:[]},n={},u={};for(let A of Object.keys(e)){if(!A)throw new Oa("argument key cannot be an empty string","ARG_CONFIG_EMPTY_KEY");if(A[0]!=="-")throw new Oa(`argument key must start with '-' but found: '${A}'`,"ARG_CONFIG_NONOPT_KEY");if(A.length===1)throw new Oa(`argument key must have a name; singular '-' keys are not allowed: ${A}`,"ARG_CONFIG_NONAME_KEY");if(typeof e[A]=="string"){n[A]=e[A];continue}let p=e[A],h=!1;if(Array.isArray(p)&&p.length===1&&typeof p[0]=="function"){let[w]=p;p=(I,v,b=[])=>(b.push(w(I,v,b[b.length-1])),b),h=w===Boolean||w[Jj]===!0}else if(typeof p=="function")h=p===Boolean||p[Jj]===!0;else throw new Oa(`type missing or not a function or valid array type: ${A}`,"ARG_CONFIG_VAD_TYPE");if(A[1]!=="-"&&A.length>2)throw new Oa(`short argument keys (with a single hyphen) must have only one character: ${A}`,"ARG_CONFIG_SHORTOPT_TOOLONG");u[A]=[p,h]}for(let A=0,p=t.length;A<p;A++){let h=t[A];if(o&&a._.length>0){a._=a._.concat(t.slice(A));break}if(h==="--"){a._=a._.concat(t.slice(A+1));break}if(h.length>1&&h[0]==="-"){let w=h[1]==="-"||h.length===2?[h]:h.slice(1).split("").map(I=>`-${I}`);for(let I=0;I<w.length;I++){let v=w[I],[b,E]=v[1]==="-"?v.split(/=(.*)/,2):[v,void 0],R=b;for(;R in n;)R=n[R];if(!(R in u))if(r){a._.push(v);continue}else throw new Oa(`unknown or unexpected option: ${b}`,"ARG_UNKNOWN_OPTION");let[N,U]=u[R];if(!U&&I+1<w.length)throw new Oa(`option requires argument (but was followed by another short argument): ${b}`,"ARG_MISSING_REQUIRED_SHORTARG");if(U)a[R]=N(!0,R,a[R]);else if(E===void 0){if(t.length<A+2||t[A+1].length>1&&t[A+1][0]==="-"&&!(t[A+1].match(/^-?\d*(\.(?=\d))?\d*$/)&&(N===Number||typeof BigInt<"u"&&N===BigInt))){let V=b===R?"":` (alias for ${R})`;throw new Oa(`option requires argument: ${b}${V}`,"ARG_MISSING_REQUIRED_LONGARG")}a[R]=N(t[A+1],R,a[R]),++A}else a[R]=N(E,R,a[R])}}else a._.push(h)}return a}rv.flag=e=>(e[Jj]=!0,e);rv.COUNT=rv.flag((e,t,r)=>(r||0)+1);rv.ArgError=Oa;_Ie.exports=rv});var zIe=_((Szt,VIe)=>{var $j;VIe.exports=()=>(typeof $j>"u"&&($j=Ie("zlib").brotliDecompressSync(Buffer.from("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","base64")).toString()),$j)});var t1e=_((sq,oq)=>{(function(e){sq&&typeof sq=="object"&&typeof oq<"u"?oq.exports=e():typeof define=="function"&&define.amd?define([],e):typeof window<"u"?window.isWindows=e():typeof global<"u"?global.isWindows=e():typeof self<"u"?self.isWindows=e():this.isWindows=e()})(function(){"use strict";return function(){return process&&(process.platform==="win32"||/^(msys|cygwin)$/.test(process.env.OSTYPE))}})});var s1e=_((vXt,i1e)=>{"use strict";aq.ifExists=NIt;var qw=Ie("util"),sc=Ie("path"),r1e=t1e(),FIt=/^#!\s*(?:\/usr\/bin\/env)?\s*([^ \t]+)(.*)$/,RIt={createPwshFile:!0,createCmdFile:r1e(),fs:Ie("fs")},TIt=new Map([[".js","node"],[".cjs","node"],[".mjs","node"],[".cmd","cmd"],[".bat","cmd"],[".ps1","pwsh"],[".sh","sh"]]);function n1e(e){let t={...RIt,...e},r=t.fs;return t.fs_={chmod:r.chmod?qw.promisify(r.chmod):async()=>{},mkdir:qw.promisify(r.mkdir),readFile:qw.promisify(r.readFile),stat:qw.promisify(r.stat),unlink:qw.promisify(r.unlink),writeFile:qw.promisify(r.writeFile)},t}async function aq(e,t,r){let o=n1e(r);await o.fs_.stat(e),await OIt(e,t,o)}function NIt(e,t,r){return aq(e,t,r).catch(()=>{})}function LIt(e,t){return t.fs_.unlink(e).catch(()=>{})}async function OIt(e,t,r){let o=await jIt(e,r);return await MIt(t,r),UIt(e,t,o,r)}function MIt(e,t){return t.fs_.mkdir(sc.dirname(e),{recursive:!0})}function UIt(e,t,r,o){let a=n1e(o),n=[{generator:YIt,extension:""}];return a.createCmdFile&&n.push({generator:GIt,extension:".cmd"}),a.createPwshFile&&n.push({generator:WIt,extension:".ps1"}),Promise.all(n.map(u=>qIt(e,t+u.extension,r,u.generator,a)))}function _It(e,t){return LIt(e,t)}function HIt(e,t){return KIt(e,t)}async function jIt(e,t){let a=(await t.fs_.readFile(e,"utf8")).trim().split(/\r*\n/)[0].match(FIt);if(!a){let n=sc.extname(e).toLowerCase();return{program:TIt.get(n)||null,additionalArgs:""}}return{program:a[1],additionalArgs:a[2]}}async function qIt(e,t,r,o,a){let n=a.preserveSymlinks?"--preserve-symlinks":"",u=[r.additionalArgs,n].filter(A=>A).join(" ");return a=Object.assign({},a,{prog:r.program,args:u}),await _It(t,a),await a.fs_.writeFile(t,o(e,t,a),"utf8"),HIt(t,a)}function GIt(e,t,r){let a=sc.relative(sc.dirname(t),e).split("/").join("\\"),n=sc.isAbsolute(a)?`"${a}"`:`"%~dp0\\${a}"`,u,A=r.prog,p=r.args||"",h=lq(r.nodePath).win32;A?(u=`"%~dp0\\${A}.exe"`,a=n):(A=n,p="",a="");let w=r.progArgs?`${r.progArgs.join(" ")} `:"",I=h?`@SET NODE_PATH=${h}\r -`:"";return u?I+=`@IF EXIST ${u} (\r - ${u} ${p} ${a} ${w}%*\r -) ELSE (\r - @SETLOCAL\r - @SET PATHEXT=%PATHEXT:;.JS;=;%\r - ${A} ${p} ${a} ${w}%*\r -)\r -`:I+=`@${A} ${p} ${a} ${w}%*\r -`,I}function YIt(e,t,r){let o=sc.relative(sc.dirname(t),e),a=r.prog&&r.prog.split("\\").join("/"),n;o=o.split("\\").join("/");let u=sc.isAbsolute(o)?`"${o}"`:`"$basedir/${o}"`,A=r.args||"",p=lq(r.nodePath).posix;a?(n=`"$basedir/${r.prog}"`,o=u):(a=u,A="",o="");let h=r.progArgs?`${r.progArgs.join(" ")} `:"",w=`#!/bin/sh -basedir=$(dirname "$(echo "$0" | sed -e 's,\\\\,/,g')") - -case \`uname\` in - *CYGWIN*) basedir=\`cygpath -w "$basedir"\`;; -esac - -`,I=r.nodePath?`export NODE_PATH="${p}" -`:"";return n?w+=`${I}if [ -x ${n} ]; then - exec ${n} ${A} ${o} ${h}"$@" -else - exec ${a} ${A} ${o} ${h}"$@" -fi -`:w+=`${I}${a} ${A} ${o} ${h}"$@" -exit $? -`,w}function WIt(e,t,r){let o=sc.relative(sc.dirname(t),e),a=r.prog&&r.prog.split("\\").join("/"),n=a&&`"${a}$exe"`,u;o=o.split("\\").join("/");let A=sc.isAbsolute(o)?`"${o}"`:`"$basedir/${o}"`,p=r.args||"",h=lq(r.nodePath),w=h.win32,I=h.posix;n?(u=`"$basedir/${r.prog}$exe"`,o=A):(n=A,p="",o="");let v=r.progArgs?`${r.progArgs.join(" ")} `:"",b=`#!/usr/bin/env pwsh -$basedir=Split-Path $MyInvocation.MyCommand.Definition -Parent - -$exe="" -${r.nodePath?`$env_node_path=$env:NODE_PATH -$env:NODE_PATH="${w}" -`:""}if ($PSVersionTable.PSVersion -lt "6.0" -or $IsWindows) { - # Fix case when both the Windows and Linux builds of Node - # are installed in the same directory - $exe=".exe" -}`;return r.nodePath&&(b+=` else { - $env:NODE_PATH="${I}" -}`),u?b+=` -$ret=0 -if (Test-Path ${u}) { - # Support pipeline input - if ($MyInvocation.ExpectingInput) { - $input | & ${u} ${p} ${o} ${v}$args - } else { - & ${u} ${p} ${o} ${v}$args - } - $ret=$LASTEXITCODE -} else { - # Support pipeline input - if ($MyInvocation.ExpectingInput) { - $input | & ${n} ${p} ${o} ${v}$args - } else { - & ${n} ${p} ${o} ${v}$args - } - $ret=$LASTEXITCODE -} -${r.nodePath?`$env:NODE_PATH=$env_node_path -`:""}exit $ret -`:b+=` -# Support pipeline input -if ($MyInvocation.ExpectingInput) { - $input | & ${n} ${p} ${o} ${v}$args -} else { - & ${n} ${p} ${o} ${v}$args -} -${r.nodePath?`$env:NODE_PATH=$env_node_path -`:""}exit $LASTEXITCODE -`,b}function KIt(e,t){return t.fs_.chmod(e,493)}function lq(e){if(!e)return{win32:"",posix:""};let t=typeof e=="string"?e.split(sc.delimiter):Array.from(e),r={};for(let o=0;o<t.length;o++){let a=t[o].split("/").join("\\"),n=r1e()?t[o].split("\\").join("/").replace(/^([^:\\/]*):/,(u,A)=>`/mnt/${A.toLowerCase()}`):t[o];r.win32=r.win32?`${r.win32};${a}`:a,r.posix=r.posix?`${r.posix}:${n}`:n,r[o]={win32:a,posix:n}}return r}i1e.exports=aq});var Bq=_((YZt,S1e)=>{S1e.exports=Ie("stream")});var Q1e=_((WZt,b1e)=>{"use strict";function P1e(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter(function(a){return Object.getOwnPropertyDescriptor(e,a).enumerable})),r.push.apply(r,o)}return r}function m1t(e){for(var t=1;t<arguments.length;t++){var r=arguments[t]!=null?arguments[t]:{};t%2?P1e(Object(r),!0).forEach(function(o){y1t(e,o,r[o])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):P1e(Object(r)).forEach(function(o){Object.defineProperty(e,o,Object.getOwnPropertyDescriptor(r,o))})}return e}function y1t(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function E1t(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function x1e(e,t){for(var r=0;r<t.length;r++){var o=t[r];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(e,o.key,o)}}function w1t(e,t,r){return t&&x1e(e.prototype,t),r&&x1e(e,r),e}var C1t=Ie("buffer"),xk=C1t.Buffer,I1t=Ie("util"),vq=I1t.inspect,B1t=vq&&vq.custom||"inspect";function v1t(e,t,r){xk.prototype.copy.call(e,t,r)}b1e.exports=function(){function e(){E1t(this,e),this.head=null,this.tail=null,this.length=0}return w1t(e,[{key:"push",value:function(r){var o={data:r,next:null};this.length>0?this.tail.next=o:this.head=o,this.tail=o,++this.length}},{key:"unshift",value:function(r){var o={data:r,next:this.head};this.length===0&&(this.tail=o),this.head=o,++this.length}},{key:"shift",value:function(){if(this.length!==0){var r=this.head.data;return this.length===1?this.head=this.tail=null:this.head=this.head.next,--this.length,r}}},{key:"clear",value:function(){this.head=this.tail=null,this.length=0}},{key:"join",value:function(r){if(this.length===0)return"";for(var o=this.head,a=""+o.data;o=o.next;)a+=r+o.data;return a}},{key:"concat",value:function(r){if(this.length===0)return xk.alloc(0);for(var o=xk.allocUnsafe(r>>>0),a=this.head,n=0;a;)v1t(a.data,o,n),n+=a.data.length,a=a.next;return o}},{key:"consume",value:function(r,o){var a;return r<this.head.data.length?(a=this.head.data.slice(0,r),this.head.data=this.head.data.slice(r)):r===this.head.data.length?a=this.shift():a=o?this._getString(r):this._getBuffer(r),a}},{key:"first",value:function(){return this.head.data}},{key:"_getString",value:function(r){var o=this.head,a=1,n=o.data;for(r-=n.length;o=o.next;){var u=o.data,A=r>u.length?u.length:r;if(A===u.length?n+=u:n+=u.slice(0,r),r-=A,r===0){A===u.length?(++a,o.next?this.head=o.next:this.head=this.tail=null):(this.head=o,o.data=u.slice(A));break}++a}return this.length-=a,n}},{key:"_getBuffer",value:function(r){var o=xk.allocUnsafe(r),a=this.head,n=1;for(a.data.copy(o),r-=a.data.length;a=a.next;){var u=a.data,A=r>u.length?u.length:r;if(u.copy(o,o.length-r,0,A),r-=A,r===0){A===u.length?(++n,a.next?this.head=a.next:this.head=this.tail=null):(this.head=a,a.data=u.slice(A));break}++n}return this.length-=n,o}},{key:B1t,value:function(r,o){return vq(this,m1t({},o,{depth:0,customInspect:!1}))}}]),e}()});var Sq=_((KZt,F1e)=>{"use strict";function D1t(e,t){var r=this,o=this._readableState&&this._readableState.destroyed,a=this._writableState&&this._writableState.destroyed;return o||a?(t?t(e):e&&(this._writableState?this._writableState.errorEmitted||(this._writableState.errorEmitted=!0,process.nextTick(Dq,this,e)):process.nextTick(Dq,this,e)),this):(this._readableState&&(this._readableState.destroyed=!0),this._writableState&&(this._writableState.destroyed=!0),this._destroy(e||null,function(n){!t&&n?r._writableState?r._writableState.errorEmitted?process.nextTick(bk,r):(r._writableState.errorEmitted=!0,process.nextTick(k1e,r,n)):process.nextTick(k1e,r,n):t?(process.nextTick(bk,r),t(n)):process.nextTick(bk,r)}),this)}function k1e(e,t){Dq(e,t),bk(e)}function bk(e){e._writableState&&!e._writableState.emitClose||e._readableState&&!e._readableState.emitClose||e.emit("close")}function S1t(){this._readableState&&(this._readableState.destroyed=!1,this._readableState.reading=!1,this._readableState.ended=!1,this._readableState.endEmitted=!1),this._writableState&&(this._writableState.destroyed=!1,this._writableState.ended=!1,this._writableState.ending=!1,this._writableState.finalCalled=!1,this._writableState.prefinished=!1,this._writableState.finished=!1,this._writableState.errorEmitted=!1)}function Dq(e,t){e.emit("error",t)}function P1t(e,t){var r=e._readableState,o=e._writableState;r&&r.autoDestroy||o&&o.autoDestroy?e.destroy(t):e.emit("error",t)}F1e.exports={destroy:D1t,undestroy:S1t,errorOrDestroy:P1t}});var b0=_((JZt,N1e)=>{"use strict";var T1e={};function ac(e,t,r){r||(r=Error);function o(n,u,A){return typeof t=="string"?t:t(n,u,A)}class a extends r{constructor(u,A,p){super(o(u,A,p))}}a.prototype.name=r.name,a.prototype.code=e,T1e[e]=a}function R1e(e,t){if(Array.isArray(e)){let r=e.length;return e=e.map(o=>String(o)),r>2?`one of ${t} ${e.slice(0,r-1).join(", ")}, or `+e[r-1]:r===2?`one of ${t} ${e[0]} or ${e[1]}`:`of ${t} ${e[0]}`}else return`of ${t} ${String(e)}`}function x1t(e,t,r){return e.substr(!r||r<0?0:+r,t.length)===t}function b1t(e,t,r){return(r===void 0||r>e.length)&&(r=e.length),e.substring(r-t.length,r)===t}function Q1t(e,t,r){return typeof r!="number"&&(r=0),r+t.length>e.length?!1:e.indexOf(t,r)!==-1}ac("ERR_INVALID_OPT_VALUE",function(e,t){return'The value "'+t+'" is invalid for option "'+e+'"'},TypeError);ac("ERR_INVALID_ARG_TYPE",function(e,t,r){let o;typeof t=="string"&&x1t(t,"not ")?(o="must not be",t=t.replace(/^not /,"")):o="must be";let a;if(b1t(e," argument"))a=`The ${e} ${o} ${R1e(t,"type")}`;else{let n=Q1t(e,".")?"property":"argument";a=`The "${e}" ${n} ${o} ${R1e(t,"type")}`}return a+=`. Received type ${typeof r}`,a},TypeError);ac("ERR_STREAM_PUSH_AFTER_EOF","stream.push() after EOF");ac("ERR_METHOD_NOT_IMPLEMENTED",function(e){return"The "+e+" method is not implemented"});ac("ERR_STREAM_PREMATURE_CLOSE","Premature close");ac("ERR_STREAM_DESTROYED",function(e){return"Cannot call "+e+" after a stream was destroyed"});ac("ERR_MULTIPLE_CALLBACK","Callback called multiple times");ac("ERR_STREAM_CANNOT_PIPE","Cannot pipe, not readable");ac("ERR_STREAM_WRITE_AFTER_END","write after end");ac("ERR_STREAM_NULL_VALUES","May not write null values to stream",TypeError);ac("ERR_UNKNOWN_ENCODING",function(e){return"Unknown encoding: "+e},TypeError);ac("ERR_STREAM_UNSHIFT_AFTER_END_EVENT","stream.unshift() after end event");N1e.exports.codes=T1e});var Pq=_((VZt,L1e)=>{"use strict";var k1t=b0().codes.ERR_INVALID_OPT_VALUE;function F1t(e,t,r){return e.highWaterMark!=null?e.highWaterMark:t?e[r]:null}function R1t(e,t,r,o){var a=F1t(t,o,r);if(a!=null){if(!(isFinite(a)&&Math.floor(a)===a)||a<0){var n=o?r:"highWaterMark";throw new k1t(n,a)}return Math.floor(a)}return e.objectMode?16:16*1024}L1e.exports={getHighWaterMark:R1t}});var O1e=_((zZt,xq)=>{typeof Object.create=="function"?xq.exports=function(t,r){r&&(t.super_=r,t.prototype=Object.create(r.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}))}:xq.exports=function(t,r){if(r){t.super_=r;var o=function(){};o.prototype=r.prototype,t.prototype=new o,t.prototype.constructor=t}}});var Q0=_((XZt,Qq)=>{try{if(bq=Ie("util"),typeof bq.inherits!="function")throw"";Qq.exports=bq.inherits}catch{Qq.exports=O1e()}var bq});var U1e=_((ZZt,M1e)=>{M1e.exports=Ie("util").deprecate});var Rq=_(($Zt,Y1e)=>{"use strict";Y1e.exports=Ri;function H1e(e){var t=this;this.next=null,this.entry=null,this.finish=function(){o2t(t,e)}}var Jw;Ri.WritableState=dv;var T1t={deprecate:U1e()},j1e=Bq(),kk=Ie("buffer").Buffer,N1t=global.Uint8Array||function(){};function L1t(e){return kk.from(e)}function O1t(e){return kk.isBuffer(e)||e instanceof N1t}var Fq=Sq(),M1t=Pq(),U1t=M1t.getHighWaterMark,k0=b0().codes,_1t=k0.ERR_INVALID_ARG_TYPE,H1t=k0.ERR_METHOD_NOT_IMPLEMENTED,j1t=k0.ERR_MULTIPLE_CALLBACK,q1t=k0.ERR_STREAM_CANNOT_PIPE,G1t=k0.ERR_STREAM_DESTROYED,Y1t=k0.ERR_STREAM_NULL_VALUES,W1t=k0.ERR_STREAM_WRITE_AFTER_END,K1t=k0.ERR_UNKNOWN_ENCODING,Vw=Fq.errorOrDestroy;Q0()(Ri,j1e);function J1t(){}function dv(e,t,r){Jw=Jw||Em(),e=e||{},typeof r!="boolean"&&(r=t instanceof Jw),this.objectMode=!!e.objectMode,r&&(this.objectMode=this.objectMode||!!e.writableObjectMode),this.highWaterMark=U1t(this,e,"writableHighWaterMark",r),this.finalCalled=!1,this.needDrain=!1,this.ending=!1,this.ended=!1,this.finished=!1,this.destroyed=!1;var o=e.decodeStrings===!1;this.decodeStrings=!o,this.defaultEncoding=e.defaultEncoding||"utf8",this.length=0,this.writing=!1,this.corked=0,this.sync=!0,this.bufferProcessing=!1,this.onwrite=function(a){t2t(t,a)},this.writecb=null,this.writelen=0,this.bufferedRequest=null,this.lastBufferedRequest=null,this.pendingcb=0,this.prefinished=!1,this.errorEmitted=!1,this.emitClose=e.emitClose!==!1,this.autoDestroy=!!e.autoDestroy,this.bufferedRequestCount=0,this.corkedRequestsFree=new H1e(this)}dv.prototype.getBuffer=function(){for(var t=this.bufferedRequest,r=[];t;)r.push(t),t=t.next;return r};(function(){try{Object.defineProperty(dv.prototype,"buffer",{get:T1t.deprecate(function(){return this.getBuffer()},"_writableState.buffer is deprecated. Use _writableState.getBuffer instead.","DEP0003")})}catch{}})();var Qk;typeof Symbol=="function"&&Symbol.hasInstance&&typeof Function.prototype[Symbol.hasInstance]=="function"?(Qk=Function.prototype[Symbol.hasInstance],Object.defineProperty(Ri,Symbol.hasInstance,{value:function(t){return Qk.call(this,t)?!0:this!==Ri?!1:t&&t._writableState instanceof dv}})):Qk=function(t){return t instanceof this};function Ri(e){Jw=Jw||Em();var t=this instanceof Jw;if(!t&&!Qk.call(Ri,this))return new Ri(e);this._writableState=new dv(e,this,t),this.writable=!0,e&&(typeof e.write=="function"&&(this._write=e.write),typeof e.writev=="function"&&(this._writev=e.writev),typeof e.destroy=="function"&&(this._destroy=e.destroy),typeof e.final=="function"&&(this._final=e.final)),j1e.call(this)}Ri.prototype.pipe=function(){Vw(this,new q1t)};function V1t(e,t){var r=new W1t;Vw(e,r),process.nextTick(t,r)}function z1t(e,t,r,o){var a;return r===null?a=new Y1t:typeof r!="string"&&!t.objectMode&&(a=new _1t("chunk",["string","Buffer"],r)),a?(Vw(e,a),process.nextTick(o,a),!1):!0}Ri.prototype.write=function(e,t,r){var o=this._writableState,a=!1,n=!o.objectMode&&O1t(e);return n&&!kk.isBuffer(e)&&(e=L1t(e)),typeof t=="function"&&(r=t,t=null),n?t="buffer":t||(t=o.defaultEncoding),typeof r!="function"&&(r=J1t),o.ending?V1t(this,r):(n||z1t(this,o,e,r))&&(o.pendingcb++,a=Z1t(this,o,n,e,t,r)),a};Ri.prototype.cork=function(){this._writableState.corked++};Ri.prototype.uncork=function(){var e=this._writableState;e.corked&&(e.corked--,!e.writing&&!e.corked&&!e.bufferProcessing&&e.bufferedRequest&&q1e(this,e))};Ri.prototype.setDefaultEncoding=function(t){if(typeof t=="string"&&(t=t.toLowerCase()),!(["hex","utf8","utf-8","ascii","binary","base64","ucs2","ucs-2","utf16le","utf-16le","raw"].indexOf((t+"").toLowerCase())>-1))throw new K1t(t);return this._writableState.defaultEncoding=t,this};Object.defineProperty(Ri.prototype,"writableBuffer",{enumerable:!1,get:function(){return this._writableState&&this._writableState.getBuffer()}});function X1t(e,t,r){return!e.objectMode&&e.decodeStrings!==!1&&typeof t=="string"&&(t=kk.from(t,r)),t}Object.defineProperty(Ri.prototype,"writableHighWaterMark",{enumerable:!1,get:function(){return this._writableState.highWaterMark}});function Z1t(e,t,r,o,a,n){if(!r){var u=X1t(t,o,a);o!==u&&(r=!0,a="buffer",o=u)}var A=t.objectMode?1:o.length;t.length+=A;var p=t.length<t.highWaterMark;if(p||(t.needDrain=!0),t.writing||t.corked){var h=t.lastBufferedRequest;t.lastBufferedRequest={chunk:o,encoding:a,isBuf:r,callback:n,next:null},h?h.next=t.lastBufferedRequest:t.bufferedRequest=t.lastBufferedRequest,t.bufferedRequestCount+=1}else kq(e,t,!1,A,o,a,n);return p}function kq(e,t,r,o,a,n,u){t.writelen=o,t.writecb=u,t.writing=!0,t.sync=!0,t.destroyed?t.onwrite(new G1t("write")):r?e._writev(a,t.onwrite):e._write(a,n,t.onwrite),t.sync=!1}function $1t(e,t,r,o,a){--t.pendingcb,r?(process.nextTick(a,o),process.nextTick(gv,e,t),e._writableState.errorEmitted=!0,Vw(e,o)):(a(o),e._writableState.errorEmitted=!0,Vw(e,o),gv(e,t))}function e2t(e){e.writing=!1,e.writecb=null,e.length-=e.writelen,e.writelen=0}function t2t(e,t){var r=e._writableState,o=r.sync,a=r.writecb;if(typeof a!="function")throw new j1t;if(e2t(r),t)$1t(e,r,o,t,a);else{var n=G1e(r)||e.destroyed;!n&&!r.corked&&!r.bufferProcessing&&r.bufferedRequest&&q1e(e,r),o?process.nextTick(_1e,e,r,n,a):_1e(e,r,n,a)}}function _1e(e,t,r,o){r||r2t(e,t),t.pendingcb--,o(),gv(e,t)}function r2t(e,t){t.length===0&&t.needDrain&&(t.needDrain=!1,e.emit("drain"))}function q1e(e,t){t.bufferProcessing=!0;var r=t.bufferedRequest;if(e._writev&&r&&r.next){var o=t.bufferedRequestCount,a=new Array(o),n=t.corkedRequestsFree;n.entry=r;for(var u=0,A=!0;r;)a[u]=r,r.isBuf||(A=!1),r=r.next,u+=1;a.allBuffers=A,kq(e,t,!0,t.length,a,"",n.finish),t.pendingcb++,t.lastBufferedRequest=null,n.next?(t.corkedRequestsFree=n.next,n.next=null):t.corkedRequestsFree=new H1e(t),t.bufferedRequestCount=0}else{for(;r;){var p=r.chunk,h=r.encoding,w=r.callback,I=t.objectMode?1:p.length;if(kq(e,t,!1,I,p,h,w),r=r.next,t.bufferedRequestCount--,t.writing)break}r===null&&(t.lastBufferedRequest=null)}t.bufferedRequest=r,t.bufferProcessing=!1}Ri.prototype._write=function(e,t,r){r(new H1t("_write()"))};Ri.prototype._writev=null;Ri.prototype.end=function(e,t,r){var o=this._writableState;return typeof e=="function"?(r=e,e=null,t=null):typeof t=="function"&&(r=t,t=null),e!=null&&this.write(e,t),o.corked&&(o.corked=1,this.uncork()),o.ending||s2t(this,o,r),this};Object.defineProperty(Ri.prototype,"writableLength",{enumerable:!1,get:function(){return this._writableState.length}});function G1e(e){return e.ending&&e.length===0&&e.bufferedRequest===null&&!e.finished&&!e.writing}function n2t(e,t){e._final(function(r){t.pendingcb--,r&&Vw(e,r),t.prefinished=!0,e.emit("prefinish"),gv(e,t)})}function i2t(e,t){!t.prefinished&&!t.finalCalled&&(typeof e._final=="function"&&!t.destroyed?(t.pendingcb++,t.finalCalled=!0,process.nextTick(n2t,e,t)):(t.prefinished=!0,e.emit("prefinish")))}function gv(e,t){var r=G1e(t);if(r&&(i2t(e,t),t.pendingcb===0&&(t.finished=!0,e.emit("finish"),t.autoDestroy))){var o=e._readableState;(!o||o.autoDestroy&&o.endEmitted)&&e.destroy()}return r}function s2t(e,t,r){t.ending=!0,gv(e,t),r&&(t.finished?process.nextTick(r):e.once("finish",r)),t.ended=!0,e.writable=!1}function o2t(e,t,r){var o=e.entry;for(e.entry=null;o;){var a=o.callback;t.pendingcb--,a(r),o=o.next}t.corkedRequestsFree.next=e}Object.defineProperty(Ri.prototype,"destroyed",{enumerable:!1,get:function(){return this._writableState===void 0?!1:this._writableState.destroyed},set:function(t){!this._writableState||(this._writableState.destroyed=t)}});Ri.prototype.destroy=Fq.destroy;Ri.prototype._undestroy=Fq.undestroy;Ri.prototype._destroy=function(e,t){t(e)}});var Em=_((e$t,K1e)=>{"use strict";var a2t=Object.keys||function(e){var t=[];for(var r in e)t.push(r);return t};K1e.exports=EA;var W1e=Lq(),Nq=Rq();Q0()(EA,W1e);for(Tq=a2t(Nq.prototype),Fk=0;Fk<Tq.length;Fk++)Rk=Tq[Fk],EA.prototype[Rk]||(EA.prototype[Rk]=Nq.prototype[Rk]);var Tq,Rk,Fk;function EA(e){if(!(this instanceof EA))return new EA(e);W1e.call(this,e),Nq.call(this,e),this.allowHalfOpen=!0,e&&(e.readable===!1&&(this.readable=!1),e.writable===!1&&(this.writable=!1),e.allowHalfOpen===!1&&(this.allowHalfOpen=!1,this.once("end",l2t)))}Object.defineProperty(EA.prototype,"writableHighWaterMark",{enumerable:!1,get:function(){return this._writableState.highWaterMark}});Object.defineProperty(EA.prototype,"writableBuffer",{enumerable:!1,get:function(){return this._writableState&&this._writableState.getBuffer()}});Object.defineProperty(EA.prototype,"writableLength",{enumerable:!1,get:function(){return this._writableState.length}});function l2t(){this._writableState.ended||process.nextTick(c2t,this)}function c2t(e){e.end()}Object.defineProperty(EA.prototype,"destroyed",{enumerable:!1,get:function(){return this._readableState===void 0||this._writableState===void 0?!1:this._readableState.destroyed&&this._writableState.destroyed},set:function(t){this._readableState===void 0||this._writableState===void 0||(this._readableState.destroyed=t,this._writableState.destroyed=t)}})});var z1e=_((Oq,V1e)=>{var Tk=Ie("buffer"),rp=Tk.Buffer;function J1e(e,t){for(var r in e)t[r]=e[r]}rp.from&&rp.alloc&&rp.allocUnsafe&&rp.allocUnsafeSlow?V1e.exports=Tk:(J1e(Tk,Oq),Oq.Buffer=zw);function zw(e,t,r){return rp(e,t,r)}J1e(rp,zw);zw.from=function(e,t,r){if(typeof e=="number")throw new TypeError("Argument must not be a number");return rp(e,t,r)};zw.alloc=function(e,t,r){if(typeof e!="number")throw new TypeError("Argument must be a number");var o=rp(e);return t!==void 0?typeof r=="string"?o.fill(t,r):o.fill(t):o.fill(0),o};zw.allocUnsafe=function(e){if(typeof e!="number")throw new TypeError("Argument must be a number");return rp(e)};zw.allocUnsafeSlow=function(e){if(typeof e!="number")throw new TypeError("Argument must be a number");return Tk.SlowBuffer(e)}});var _q=_(Z1e=>{"use strict";var Uq=z1e().Buffer,X1e=Uq.isEncoding||function(e){switch(e=""+e,e&&e.toLowerCase()){case"hex":case"utf8":case"utf-8":case"ascii":case"binary":case"base64":case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":case"raw":return!0;default:return!1}};function u2t(e){if(!e)return"utf8";for(var t;;)switch(e){case"utf8":case"utf-8":return"utf8";case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return"utf16le";case"latin1":case"binary":return"latin1";case"base64":case"ascii":case"hex":return e;default:if(t)return;e=(""+e).toLowerCase(),t=!0}}function A2t(e){var t=u2t(e);if(typeof t!="string"&&(Uq.isEncoding===X1e||!X1e(e)))throw new Error("Unknown encoding: "+e);return t||e}Z1e.StringDecoder=mv;function mv(e){this.encoding=A2t(e);var t;switch(this.encoding){case"utf16le":this.text=m2t,this.end=y2t,t=4;break;case"utf8":this.fillLast=h2t,t=4;break;case"base64":this.text=E2t,this.end=w2t,t=3;break;default:this.write=C2t,this.end=I2t;return}this.lastNeed=0,this.lastTotal=0,this.lastChar=Uq.allocUnsafe(t)}mv.prototype.write=function(e){if(e.length===0)return"";var t,r;if(this.lastNeed){if(t=this.fillLast(e),t===void 0)return"";r=this.lastNeed,this.lastNeed=0}else r=0;return r<e.length?t?t+this.text(e,r):this.text(e,r):t||""};mv.prototype.end=d2t;mv.prototype.text=g2t;mv.prototype.fillLast=function(e){if(this.lastNeed<=e.length)return e.copy(this.lastChar,this.lastTotal-this.lastNeed,0,this.lastNeed),this.lastChar.toString(this.encoding,0,this.lastTotal);e.copy(this.lastChar,this.lastTotal-this.lastNeed,0,e.length),this.lastNeed-=e.length};function Mq(e){return e<=127?0:e>>5===6?2:e>>4===14?3:e>>3===30?4:e>>6===2?-1:-2}function f2t(e,t,r){var o=t.length-1;if(o<r)return 0;var a=Mq(t[o]);return a>=0?(a>0&&(e.lastNeed=a-1),a):--o<r||a===-2?0:(a=Mq(t[o]),a>=0?(a>0&&(e.lastNeed=a-2),a):--o<r||a===-2?0:(a=Mq(t[o]),a>=0?(a>0&&(a===2?a=0:e.lastNeed=a-3),a):0))}function p2t(e,t,r){if((t[0]&192)!==128)return e.lastNeed=0,"\uFFFD";if(e.lastNeed>1&&t.length>1){if((t[1]&192)!==128)return e.lastNeed=1,"\uFFFD";if(e.lastNeed>2&&t.length>2&&(t[2]&192)!==128)return e.lastNeed=2,"\uFFFD"}}function h2t(e){var t=this.lastTotal-this.lastNeed,r=p2t(this,e,t);if(r!==void 0)return r;if(this.lastNeed<=e.length)return e.copy(this.lastChar,t,0,this.lastNeed),this.lastChar.toString(this.encoding,0,this.lastTotal);e.copy(this.lastChar,t,0,e.length),this.lastNeed-=e.length}function g2t(e,t){var r=f2t(this,e,t);if(!this.lastNeed)return e.toString("utf8",t);this.lastTotal=r;var o=e.length-(r-this.lastNeed);return e.copy(this.lastChar,0,o),e.toString("utf8",t,o)}function d2t(e){var t=e&&e.length?this.write(e):"";return this.lastNeed?t+"\uFFFD":t}function m2t(e,t){if((e.length-t)%2===0){var r=e.toString("utf16le",t);if(r){var o=r.charCodeAt(r.length-1);if(o>=55296&&o<=56319)return this.lastNeed=2,this.lastTotal=4,this.lastChar[0]=e[e.length-2],this.lastChar[1]=e[e.length-1],r.slice(0,-1)}return r}return this.lastNeed=1,this.lastTotal=2,this.lastChar[0]=e[e.length-1],e.toString("utf16le",t,e.length-1)}function y2t(e){var t=e&&e.length?this.write(e):"";if(this.lastNeed){var r=this.lastTotal-this.lastNeed;return t+this.lastChar.toString("utf16le",0,r)}return t}function E2t(e,t){var r=(e.length-t)%3;return r===0?e.toString("base64",t):(this.lastNeed=3-r,this.lastTotal=3,r===1?this.lastChar[0]=e[e.length-1]:(this.lastChar[0]=e[e.length-2],this.lastChar[1]=e[e.length-1]),e.toString("base64",t,e.length-r))}function w2t(e){var t=e&&e.length?this.write(e):"";return this.lastNeed?t+this.lastChar.toString("base64",0,3-this.lastNeed):t}function C2t(e){return e.toString(this.encoding)}function I2t(e){return e&&e.length?this.write(e):""}});var Nk=_((r$t,t2e)=>{"use strict";var $1e=b0().codes.ERR_STREAM_PREMATURE_CLOSE;function B2t(e){var t=!1;return function(){if(!t){t=!0;for(var r=arguments.length,o=new Array(r),a=0;a<r;a++)o[a]=arguments[a];e.apply(this,o)}}}function v2t(){}function D2t(e){return e.setHeader&&typeof e.abort=="function"}function e2e(e,t,r){if(typeof t=="function")return e2e(e,null,t);t||(t={}),r=B2t(r||v2t);var o=t.readable||t.readable!==!1&&e.readable,a=t.writable||t.writable!==!1&&e.writable,n=function(){e.writable||A()},u=e._writableState&&e._writableState.finished,A=function(){a=!1,u=!0,o||r.call(e)},p=e._readableState&&e._readableState.endEmitted,h=function(){o=!1,p=!0,a||r.call(e)},w=function(E){r.call(e,E)},I=function(){var E;if(o&&!p)return(!e._readableState||!e._readableState.ended)&&(E=new $1e),r.call(e,E);if(a&&!u)return(!e._writableState||!e._writableState.ended)&&(E=new $1e),r.call(e,E)},v=function(){e.req.on("finish",A)};return D2t(e)?(e.on("complete",A),e.on("abort",I),e.req?v():e.on("request",v)):a&&!e._writableState&&(e.on("end",n),e.on("close",n)),e.on("end",h),e.on("finish",A),t.error!==!1&&e.on("error",w),e.on("close",I),function(){e.removeListener("complete",A),e.removeListener("abort",I),e.removeListener("request",v),e.req&&e.req.removeListener("finish",A),e.removeListener("end",n),e.removeListener("close",n),e.removeListener("finish",A),e.removeListener("end",h),e.removeListener("error",w),e.removeListener("close",I)}}t2e.exports=e2e});var n2e=_((n$t,r2e)=>{"use strict";var Lk;function F0(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}var S2t=Nk(),R0=Symbol("lastResolve"),wm=Symbol("lastReject"),yv=Symbol("error"),Ok=Symbol("ended"),Cm=Symbol("lastPromise"),Hq=Symbol("handlePromise"),Im=Symbol("stream");function T0(e,t){return{value:e,done:t}}function P2t(e){var t=e[R0];if(t!==null){var r=e[Im].read();r!==null&&(e[Cm]=null,e[R0]=null,e[wm]=null,t(T0(r,!1)))}}function x2t(e){process.nextTick(P2t,e)}function b2t(e,t){return function(r,o){e.then(function(){if(t[Ok]){r(T0(void 0,!0));return}t[Hq](r,o)},o)}}var Q2t=Object.getPrototypeOf(function(){}),k2t=Object.setPrototypeOf((Lk={get stream(){return this[Im]},next:function(){var t=this,r=this[yv];if(r!==null)return Promise.reject(r);if(this[Ok])return Promise.resolve(T0(void 0,!0));if(this[Im].destroyed)return new Promise(function(u,A){process.nextTick(function(){t[yv]?A(t[yv]):u(T0(void 0,!0))})});var o=this[Cm],a;if(o)a=new Promise(b2t(o,this));else{var n=this[Im].read();if(n!==null)return Promise.resolve(T0(n,!1));a=new Promise(this[Hq])}return this[Cm]=a,a}},F0(Lk,Symbol.asyncIterator,function(){return this}),F0(Lk,"return",function(){var t=this;return new Promise(function(r,o){t[Im].destroy(null,function(a){if(a){o(a);return}r(T0(void 0,!0))})})}),Lk),Q2t),F2t=function(t){var r,o=Object.create(k2t,(r={},F0(r,Im,{value:t,writable:!0}),F0(r,R0,{value:null,writable:!0}),F0(r,wm,{value:null,writable:!0}),F0(r,yv,{value:null,writable:!0}),F0(r,Ok,{value:t._readableState.endEmitted,writable:!0}),F0(r,Hq,{value:function(n,u){var A=o[Im].read();A?(o[Cm]=null,o[R0]=null,o[wm]=null,n(T0(A,!1))):(o[R0]=n,o[wm]=u)},writable:!0}),r));return o[Cm]=null,S2t(t,function(a){if(a&&a.code!=="ERR_STREAM_PREMATURE_CLOSE"){var n=o[wm];n!==null&&(o[Cm]=null,o[R0]=null,o[wm]=null,n(a)),o[yv]=a;return}var u=o[R0];u!==null&&(o[Cm]=null,o[R0]=null,o[wm]=null,u(T0(void 0,!0))),o[Ok]=!0}),t.on("readable",x2t.bind(null,o)),o};r2e.exports=F2t});var a2e=_((i$t,o2e)=>{"use strict";function i2e(e,t,r,o,a,n,u){try{var A=e[n](u),p=A.value}catch(h){r(h);return}A.done?t(p):Promise.resolve(p).then(o,a)}function R2t(e){return function(){var t=this,r=arguments;return new Promise(function(o,a){var n=e.apply(t,r);function u(p){i2e(n,o,a,u,A,"next",p)}function A(p){i2e(n,o,a,u,A,"throw",p)}u(void 0)})}}function s2e(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter(function(a){return Object.getOwnPropertyDescriptor(e,a).enumerable})),r.push.apply(r,o)}return r}function T2t(e){for(var t=1;t<arguments.length;t++){var r=arguments[t]!=null?arguments[t]:{};t%2?s2e(Object(r),!0).forEach(function(o){N2t(e,o,r[o])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):s2e(Object(r)).forEach(function(o){Object.defineProperty(e,o,Object.getOwnPropertyDescriptor(r,o))})}return e}function N2t(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}var L2t=b0().codes.ERR_INVALID_ARG_TYPE;function O2t(e,t,r){var o;if(t&&typeof t.next=="function")o=t;else if(t&&t[Symbol.asyncIterator])o=t[Symbol.asyncIterator]();else if(t&&t[Symbol.iterator])o=t[Symbol.iterator]();else throw new L2t("iterable",["Iterable"],t);var a=new e(T2t({objectMode:!0},r)),n=!1;a._read=function(){n||(n=!0,u())};function u(){return A.apply(this,arguments)}function A(){return A=R2t(function*(){try{var p=yield o.next(),h=p.value,w=p.done;w?a.push(null):a.push(yield h)?u():n=!1}catch(I){a.destroy(I)}}),A.apply(this,arguments)}return a}o2e.exports=O2t});var Lq=_((o$t,m2e)=>{"use strict";m2e.exports=dn;var Xw;dn.ReadableState=A2e;var s$t=Ie("events").EventEmitter,u2e=function(t,r){return t.listeners(r).length},wv=Bq(),Mk=Ie("buffer").Buffer,M2t=global.Uint8Array||function(){};function U2t(e){return Mk.from(e)}function _2t(e){return Mk.isBuffer(e)||e instanceof M2t}var jq=Ie("util"),Zr;jq&&jq.debuglog?Zr=jq.debuglog("stream"):Zr=function(){};var H2t=Q1e(),Vq=Sq(),j2t=Pq(),q2t=j2t.getHighWaterMark,Uk=b0().codes,G2t=Uk.ERR_INVALID_ARG_TYPE,Y2t=Uk.ERR_STREAM_PUSH_AFTER_EOF,W2t=Uk.ERR_METHOD_NOT_IMPLEMENTED,K2t=Uk.ERR_STREAM_UNSHIFT_AFTER_END_EVENT,Zw,qq,Gq;Q0()(dn,wv);var Ev=Vq.errorOrDestroy,Yq=["error","close","destroy","pause","resume"];function J2t(e,t,r){if(typeof e.prependListener=="function")return e.prependListener(t,r);!e._events||!e._events[t]?e.on(t,r):Array.isArray(e._events[t])?e._events[t].unshift(r):e._events[t]=[r,e._events[t]]}function A2e(e,t,r){Xw=Xw||Em(),e=e||{},typeof r!="boolean"&&(r=t instanceof Xw),this.objectMode=!!e.objectMode,r&&(this.objectMode=this.objectMode||!!e.readableObjectMode),this.highWaterMark=q2t(this,e,"readableHighWaterMark",r),this.buffer=new H2t,this.length=0,this.pipes=null,this.pipesCount=0,this.flowing=null,this.ended=!1,this.endEmitted=!1,this.reading=!1,this.sync=!0,this.needReadable=!1,this.emittedReadable=!1,this.readableListening=!1,this.resumeScheduled=!1,this.paused=!0,this.emitClose=e.emitClose!==!1,this.autoDestroy=!!e.autoDestroy,this.destroyed=!1,this.defaultEncoding=e.defaultEncoding||"utf8",this.awaitDrain=0,this.readingMore=!1,this.decoder=null,this.encoding=null,e.encoding&&(Zw||(Zw=_q().StringDecoder),this.decoder=new Zw(e.encoding),this.encoding=e.encoding)}function dn(e){if(Xw=Xw||Em(),!(this instanceof dn))return new dn(e);var t=this instanceof Xw;this._readableState=new A2e(e,this,t),this.readable=!0,e&&(typeof e.read=="function"&&(this._read=e.read),typeof e.destroy=="function"&&(this._destroy=e.destroy)),wv.call(this)}Object.defineProperty(dn.prototype,"destroyed",{enumerable:!1,get:function(){return this._readableState===void 0?!1:this._readableState.destroyed},set:function(t){!this._readableState||(this._readableState.destroyed=t)}});dn.prototype.destroy=Vq.destroy;dn.prototype._undestroy=Vq.undestroy;dn.prototype._destroy=function(e,t){t(e)};dn.prototype.push=function(e,t){var r=this._readableState,o;return r.objectMode?o=!0:typeof e=="string"&&(t=t||r.defaultEncoding,t!==r.encoding&&(e=Mk.from(e,t),t=""),o=!0),f2e(this,e,t,!1,o)};dn.prototype.unshift=function(e){return f2e(this,e,null,!0,!1)};function f2e(e,t,r,o,a){Zr("readableAddChunk",t);var n=e._readableState;if(t===null)n.reading=!1,X2t(e,n);else{var u;if(a||(u=V2t(n,t)),u)Ev(e,u);else if(n.objectMode||t&&t.length>0)if(typeof t!="string"&&!n.objectMode&&Object.getPrototypeOf(t)!==Mk.prototype&&(t=U2t(t)),o)n.endEmitted?Ev(e,new K2t):Wq(e,n,t,!0);else if(n.ended)Ev(e,new Y2t);else{if(n.destroyed)return!1;n.reading=!1,n.decoder&&!r?(t=n.decoder.write(t),n.objectMode||t.length!==0?Wq(e,n,t,!1):Jq(e,n)):Wq(e,n,t,!1)}else o||(n.reading=!1,Jq(e,n))}return!n.ended&&(n.length<n.highWaterMark||n.length===0)}function Wq(e,t,r,o){t.flowing&&t.length===0&&!t.sync?(t.awaitDrain=0,e.emit("data",r)):(t.length+=t.objectMode?1:r.length,o?t.buffer.unshift(r):t.buffer.push(r),t.needReadable&&_k(e)),Jq(e,t)}function V2t(e,t){var r;return!_2t(t)&&typeof t!="string"&&t!==void 0&&!e.objectMode&&(r=new G2t("chunk",["string","Buffer","Uint8Array"],t)),r}dn.prototype.isPaused=function(){return this._readableState.flowing===!1};dn.prototype.setEncoding=function(e){Zw||(Zw=_q().StringDecoder);var t=new Zw(e);this._readableState.decoder=t,this._readableState.encoding=this._readableState.decoder.encoding;for(var r=this._readableState.buffer.head,o="";r!==null;)o+=t.write(r.data),r=r.next;return this._readableState.buffer.clear(),o!==""&&this._readableState.buffer.push(o),this._readableState.length=o.length,this};var l2e=1073741824;function z2t(e){return e>=l2e?e=l2e:(e--,e|=e>>>1,e|=e>>>2,e|=e>>>4,e|=e>>>8,e|=e>>>16,e++),e}function c2e(e,t){return e<=0||t.length===0&&t.ended?0:t.objectMode?1:e!==e?t.flowing&&t.length?t.buffer.head.data.length:t.length:(e>t.highWaterMark&&(t.highWaterMark=z2t(e)),e<=t.length?e:t.ended?t.length:(t.needReadable=!0,0))}dn.prototype.read=function(e){Zr("read",e),e=parseInt(e,10);var t=this._readableState,r=e;if(e!==0&&(t.emittedReadable=!1),e===0&&t.needReadable&&((t.highWaterMark!==0?t.length>=t.highWaterMark:t.length>0)||t.ended))return Zr("read: emitReadable",t.length,t.ended),t.length===0&&t.ended?Kq(this):_k(this),null;if(e=c2e(e,t),e===0&&t.ended)return t.length===0&&Kq(this),null;var o=t.needReadable;Zr("need readable",o),(t.length===0||t.length-e<t.highWaterMark)&&(o=!0,Zr("length less than watermark",o)),t.ended||t.reading?(o=!1,Zr("reading or ended",o)):o&&(Zr("do read"),t.reading=!0,t.sync=!0,t.length===0&&(t.needReadable=!0),this._read(t.highWaterMark),t.sync=!1,t.reading||(e=c2e(r,t)));var a;return e>0?a=g2e(e,t):a=null,a===null?(t.needReadable=t.length<=t.highWaterMark,e=0):(t.length-=e,t.awaitDrain=0),t.length===0&&(t.ended||(t.needReadable=!0),r!==e&&t.ended&&Kq(this)),a!==null&&this.emit("data",a),a};function X2t(e,t){if(Zr("onEofChunk"),!t.ended){if(t.decoder){var r=t.decoder.end();r&&r.length&&(t.buffer.push(r),t.length+=t.objectMode?1:r.length)}t.ended=!0,t.sync?_k(e):(t.needReadable=!1,t.emittedReadable||(t.emittedReadable=!0,p2e(e)))}}function _k(e){var t=e._readableState;Zr("emitReadable",t.needReadable,t.emittedReadable),t.needReadable=!1,t.emittedReadable||(Zr("emitReadable",t.flowing),t.emittedReadable=!0,process.nextTick(p2e,e))}function p2e(e){var t=e._readableState;Zr("emitReadable_",t.destroyed,t.length,t.ended),!t.destroyed&&(t.length||t.ended)&&(e.emit("readable"),t.emittedReadable=!1),t.needReadable=!t.flowing&&!t.ended&&t.length<=t.highWaterMark,zq(e)}function Jq(e,t){t.readingMore||(t.readingMore=!0,process.nextTick(Z2t,e,t))}function Z2t(e,t){for(;!t.reading&&!t.ended&&(t.length<t.highWaterMark||t.flowing&&t.length===0);){var r=t.length;if(Zr("maybeReadMore read 0"),e.read(0),r===t.length)break}t.readingMore=!1}dn.prototype._read=function(e){Ev(this,new W2t("_read()"))};dn.prototype.pipe=function(e,t){var r=this,o=this._readableState;switch(o.pipesCount){case 0:o.pipes=e;break;case 1:o.pipes=[o.pipes,e];break;default:o.pipes.push(e);break}o.pipesCount+=1,Zr("pipe count=%d opts=%j",o.pipesCount,t);var a=(!t||t.end!==!1)&&e!==process.stdout&&e!==process.stderr,n=a?A:R;o.endEmitted?process.nextTick(n):r.once("end",n),e.on("unpipe",u);function u(N,U){Zr("onunpipe"),N===r&&U&&U.hasUnpiped===!1&&(U.hasUnpiped=!0,w())}function A(){Zr("onend"),e.end()}var p=$2t(r);e.on("drain",p);var h=!1;function w(){Zr("cleanup"),e.removeListener("close",b),e.removeListener("finish",E),e.removeListener("drain",p),e.removeListener("error",v),e.removeListener("unpipe",u),r.removeListener("end",A),r.removeListener("end",R),r.removeListener("data",I),h=!0,o.awaitDrain&&(!e._writableState||e._writableState.needDrain)&&p()}r.on("data",I);function I(N){Zr("ondata");var U=e.write(N);Zr("dest.write",U),U===!1&&((o.pipesCount===1&&o.pipes===e||o.pipesCount>1&&d2e(o.pipes,e)!==-1)&&!h&&(Zr("false write response, pause",o.awaitDrain),o.awaitDrain++),r.pause())}function v(N){Zr("onerror",N),R(),e.removeListener("error",v),u2e(e,"error")===0&&Ev(e,N)}J2t(e,"error",v);function b(){e.removeListener("finish",E),R()}e.once("close",b);function E(){Zr("onfinish"),e.removeListener("close",b),R()}e.once("finish",E);function R(){Zr("unpipe"),r.unpipe(e)}return e.emit("pipe",r),o.flowing||(Zr("pipe resume"),r.resume()),e};function $2t(e){return function(){var r=e._readableState;Zr("pipeOnDrain",r.awaitDrain),r.awaitDrain&&r.awaitDrain--,r.awaitDrain===0&&u2e(e,"data")&&(r.flowing=!0,zq(e))}}dn.prototype.unpipe=function(e){var t=this._readableState,r={hasUnpiped:!1};if(t.pipesCount===0)return this;if(t.pipesCount===1)return e&&e!==t.pipes?this:(e||(e=t.pipes),t.pipes=null,t.pipesCount=0,t.flowing=!1,e&&e.emit("unpipe",this,r),this);if(!e){var o=t.pipes,a=t.pipesCount;t.pipes=null,t.pipesCount=0,t.flowing=!1;for(var n=0;n<a;n++)o[n].emit("unpipe",this,{hasUnpiped:!1});return this}var u=d2e(t.pipes,e);return u===-1?this:(t.pipes.splice(u,1),t.pipesCount-=1,t.pipesCount===1&&(t.pipes=t.pipes[0]),e.emit("unpipe",this,r),this)};dn.prototype.on=function(e,t){var r=wv.prototype.on.call(this,e,t),o=this._readableState;return e==="data"?(o.readableListening=this.listenerCount("readable")>0,o.flowing!==!1&&this.resume()):e==="readable"&&!o.endEmitted&&!o.readableListening&&(o.readableListening=o.needReadable=!0,o.flowing=!1,o.emittedReadable=!1,Zr("on readable",o.length,o.reading),o.length?_k(this):o.reading||process.nextTick(eBt,this)),r};dn.prototype.addListener=dn.prototype.on;dn.prototype.removeListener=function(e,t){var r=wv.prototype.removeListener.call(this,e,t);return e==="readable"&&process.nextTick(h2e,this),r};dn.prototype.removeAllListeners=function(e){var t=wv.prototype.removeAllListeners.apply(this,arguments);return(e==="readable"||e===void 0)&&process.nextTick(h2e,this),t};function h2e(e){var t=e._readableState;t.readableListening=e.listenerCount("readable")>0,t.resumeScheduled&&!t.paused?t.flowing=!0:e.listenerCount("data")>0&&e.resume()}function eBt(e){Zr("readable nexttick read 0"),e.read(0)}dn.prototype.resume=function(){var e=this._readableState;return e.flowing||(Zr("resume"),e.flowing=!e.readableListening,tBt(this,e)),e.paused=!1,this};function tBt(e,t){t.resumeScheduled||(t.resumeScheduled=!0,process.nextTick(rBt,e,t))}function rBt(e,t){Zr("resume",t.reading),t.reading||e.read(0),t.resumeScheduled=!1,e.emit("resume"),zq(e),t.flowing&&!t.reading&&e.read(0)}dn.prototype.pause=function(){return Zr("call pause flowing=%j",this._readableState.flowing),this._readableState.flowing!==!1&&(Zr("pause"),this._readableState.flowing=!1,this.emit("pause")),this._readableState.paused=!0,this};function zq(e){var t=e._readableState;for(Zr("flow",t.flowing);t.flowing&&e.read()!==null;);}dn.prototype.wrap=function(e){var t=this,r=this._readableState,o=!1;e.on("end",function(){if(Zr("wrapped end"),r.decoder&&!r.ended){var u=r.decoder.end();u&&u.length&&t.push(u)}t.push(null)}),e.on("data",function(u){if(Zr("wrapped data"),r.decoder&&(u=r.decoder.write(u)),!(r.objectMode&&u==null)&&!(!r.objectMode&&(!u||!u.length))){var A=t.push(u);A||(o=!0,e.pause())}});for(var a in e)this[a]===void 0&&typeof e[a]=="function"&&(this[a]=function(A){return function(){return e[A].apply(e,arguments)}}(a));for(var n=0;n<Yq.length;n++)e.on(Yq[n],this.emit.bind(this,Yq[n]));return this._read=function(u){Zr("wrapped _read",u),o&&(o=!1,e.resume())},this};typeof Symbol=="function"&&(dn.prototype[Symbol.asyncIterator]=function(){return qq===void 0&&(qq=n2e()),qq(this)});Object.defineProperty(dn.prototype,"readableHighWaterMark",{enumerable:!1,get:function(){return this._readableState.highWaterMark}});Object.defineProperty(dn.prototype,"readableBuffer",{enumerable:!1,get:function(){return this._readableState&&this._readableState.buffer}});Object.defineProperty(dn.prototype,"readableFlowing",{enumerable:!1,get:function(){return this._readableState.flowing},set:function(t){this._readableState&&(this._readableState.flowing=t)}});dn._fromList=g2e;Object.defineProperty(dn.prototype,"readableLength",{enumerable:!1,get:function(){return this._readableState.length}});function g2e(e,t){if(t.length===0)return null;var r;return t.objectMode?r=t.buffer.shift():!e||e>=t.length?(t.decoder?r=t.buffer.join(""):t.buffer.length===1?r=t.buffer.first():r=t.buffer.concat(t.length),t.buffer.clear()):r=t.buffer.consume(e,t.decoder),r}function Kq(e){var t=e._readableState;Zr("endReadable",t.endEmitted),t.endEmitted||(t.ended=!0,process.nextTick(nBt,t,e))}function nBt(e,t){if(Zr("endReadableNT",e.endEmitted,e.length),!e.endEmitted&&e.length===0&&(e.endEmitted=!0,t.readable=!1,t.emit("end"),e.autoDestroy)){var r=t._writableState;(!r||r.autoDestroy&&r.finished)&&t.destroy()}}typeof Symbol=="function"&&(dn.from=function(e,t){return Gq===void 0&&(Gq=a2e()),Gq(dn,e,t)});function d2e(e,t){for(var r=0,o=e.length;r<o;r++)if(e[r]===t)return r;return-1}});var Xq=_((a$t,E2e)=>{"use strict";E2e.exports=np;var Hk=b0().codes,iBt=Hk.ERR_METHOD_NOT_IMPLEMENTED,sBt=Hk.ERR_MULTIPLE_CALLBACK,oBt=Hk.ERR_TRANSFORM_ALREADY_TRANSFORMING,aBt=Hk.ERR_TRANSFORM_WITH_LENGTH_0,jk=Em();Q0()(np,jk);function lBt(e,t){var r=this._transformState;r.transforming=!1;var o=r.writecb;if(o===null)return this.emit("error",new sBt);r.writechunk=null,r.writecb=null,t!=null&&this.push(t),o(e);var a=this._readableState;a.reading=!1,(a.needReadable||a.length<a.highWaterMark)&&this._read(a.highWaterMark)}function np(e){if(!(this instanceof np))return new np(e);jk.call(this,e),this._transformState={afterTransform:lBt.bind(this),needTransform:!1,transforming:!1,writecb:null,writechunk:null,writeencoding:null},this._readableState.needReadable=!0,this._readableState.sync=!1,e&&(typeof e.transform=="function"&&(this._transform=e.transform),typeof e.flush=="function"&&(this._flush=e.flush)),this.on("prefinish",cBt)}function cBt(){var e=this;typeof this._flush=="function"&&!this._readableState.destroyed?this._flush(function(t,r){y2e(e,t,r)}):y2e(this,null,null)}np.prototype.push=function(e,t){return this._transformState.needTransform=!1,jk.prototype.push.call(this,e,t)};np.prototype._transform=function(e,t,r){r(new iBt("_transform()"))};np.prototype._write=function(e,t,r){var o=this._transformState;if(o.writecb=r,o.writechunk=e,o.writeencoding=t,!o.transforming){var a=this._readableState;(o.needTransform||a.needReadable||a.length<a.highWaterMark)&&this._read(a.highWaterMark)}};np.prototype._read=function(e){var t=this._transformState;t.writechunk!==null&&!t.transforming?(t.transforming=!0,this._transform(t.writechunk,t.writeencoding,t.afterTransform)):t.needTransform=!0};np.prototype._destroy=function(e,t){jk.prototype._destroy.call(this,e,function(r){t(r)})};function y2e(e,t,r){if(t)return e.emit("error",t);if(r!=null&&e.push(r),e._writableState.length)throw new aBt;if(e._transformState.transforming)throw new oBt;return e.push(null)}});var I2e=_((l$t,C2e)=>{"use strict";C2e.exports=Cv;var w2e=Xq();Q0()(Cv,w2e);function Cv(e){if(!(this instanceof Cv))return new Cv(e);w2e.call(this,e)}Cv.prototype._transform=function(e,t,r){r(null,e)}});var P2e=_((c$t,S2e)=>{"use strict";var Zq;function uBt(e){var t=!1;return function(){t||(t=!0,e.apply(void 0,arguments))}}var D2e=b0().codes,ABt=D2e.ERR_MISSING_ARGS,fBt=D2e.ERR_STREAM_DESTROYED;function B2e(e){if(e)throw e}function pBt(e){return e.setHeader&&typeof e.abort=="function"}function hBt(e,t,r,o){o=uBt(o);var a=!1;e.on("close",function(){a=!0}),Zq===void 0&&(Zq=Nk()),Zq(e,{readable:t,writable:r},function(u){if(u)return o(u);a=!0,o()});var n=!1;return function(u){if(!a&&!n){if(n=!0,pBt(e))return e.abort();if(typeof e.destroy=="function")return e.destroy();o(u||new fBt("pipe"))}}}function v2e(e){e()}function gBt(e,t){return e.pipe(t)}function dBt(e){return!e.length||typeof e[e.length-1]!="function"?B2e:e.pop()}function mBt(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];var o=dBt(t);if(Array.isArray(t[0])&&(t=t[0]),t.length<2)throw new ABt("streams");var a,n=t.map(function(u,A){var p=A<t.length-1,h=A>0;return hBt(u,p,h,function(w){a||(a=w),w&&n.forEach(v2e),!p&&(n.forEach(v2e),o(a))})});return t.reduce(gBt)}S2e.exports=mBt});var $w=_((lc,Bv)=>{var Iv=Ie("stream");process.env.READABLE_STREAM==="disable"&&Iv?(Bv.exports=Iv.Readable,Object.assign(Bv.exports,Iv),Bv.exports.Stream=Iv):(lc=Bv.exports=Lq(),lc.Stream=Iv||lc,lc.Readable=lc,lc.Writable=Rq(),lc.Duplex=Em(),lc.Transform=Xq(),lc.PassThrough=I2e(),lc.finished=Nk(),lc.pipeline=P2e())});var Q2e=_((u$t,b2e)=>{"use strict";var{Buffer:uu}=Ie("buffer"),x2e=Symbol.for("BufferList");function ri(e){if(!(this instanceof ri))return new ri(e);ri._init.call(this,e)}ri._init=function(t){Object.defineProperty(this,x2e,{value:!0}),this._bufs=[],this.length=0,t&&this.append(t)};ri.prototype._new=function(t){return new ri(t)};ri.prototype._offset=function(t){if(t===0)return[0,0];let r=0;for(let o=0;o<this._bufs.length;o++){let a=r+this._bufs[o].length;if(t<a||o===this._bufs.length-1)return[o,t-r];r=a}};ri.prototype._reverseOffset=function(e){let t=e[0],r=e[1];for(let o=0;o<t;o++)r+=this._bufs[o].length;return r};ri.prototype.get=function(t){if(t>this.length||t<0)return;let r=this._offset(t);return this._bufs[r[0]][r[1]]};ri.prototype.slice=function(t,r){return typeof t=="number"&&t<0&&(t+=this.length),typeof r=="number"&&r<0&&(r+=this.length),this.copy(null,0,t,r)};ri.prototype.copy=function(t,r,o,a){if((typeof o!="number"||o<0)&&(o=0),(typeof a!="number"||a>this.length)&&(a=this.length),o>=this.length||a<=0)return t||uu.alloc(0);let n=!!t,u=this._offset(o),A=a-o,p=A,h=n&&r||0,w=u[1];if(o===0&&a===this.length){if(!n)return this._bufs.length===1?this._bufs[0]:uu.concat(this._bufs,this.length);for(let I=0;I<this._bufs.length;I++)this._bufs[I].copy(t,h),h+=this._bufs[I].length;return t}if(p<=this._bufs[u[0]].length-w)return n?this._bufs[u[0]].copy(t,r,w,w+p):this._bufs[u[0]].slice(w,w+p);n||(t=uu.allocUnsafe(A));for(let I=u[0];I<this._bufs.length;I++){let v=this._bufs[I].length-w;if(p>v)this._bufs[I].copy(t,h,w),h+=v;else{this._bufs[I].copy(t,h,w,w+p),h+=v;break}p-=v,w&&(w=0)}return t.length>h?t.slice(0,h):t};ri.prototype.shallowSlice=function(t,r){if(t=t||0,r=typeof r!="number"?this.length:r,t<0&&(t+=this.length),r<0&&(r+=this.length),t===r)return this._new();let o=this._offset(t),a=this._offset(r),n=this._bufs.slice(o[0],a[0]+1);return a[1]===0?n.pop():n[n.length-1]=n[n.length-1].slice(0,a[1]),o[1]!==0&&(n[0]=n[0].slice(o[1])),this._new(n)};ri.prototype.toString=function(t,r,o){return this.slice(r,o).toString(t)};ri.prototype.consume=function(t){if(t=Math.trunc(t),Number.isNaN(t)||t<=0)return this;for(;this._bufs.length;)if(t>=this._bufs[0].length)t-=this._bufs[0].length,this.length-=this._bufs[0].length,this._bufs.shift();else{this._bufs[0]=this._bufs[0].slice(t),this.length-=t;break}return this};ri.prototype.duplicate=function(){let t=this._new();for(let r=0;r<this._bufs.length;r++)t.append(this._bufs[r]);return t};ri.prototype.append=function(t){if(t==null)return this;if(t.buffer)this._appendBuffer(uu.from(t.buffer,t.byteOffset,t.byteLength));else if(Array.isArray(t))for(let r=0;r<t.length;r++)this.append(t[r]);else if(this._isBufferList(t))for(let r=0;r<t._bufs.length;r++)this.append(t._bufs[r]);else typeof t=="number"&&(t=t.toString()),this._appendBuffer(uu.from(t));return this};ri.prototype._appendBuffer=function(t){this._bufs.push(t),this.length+=t.length};ri.prototype.indexOf=function(e,t,r){if(r===void 0&&typeof t=="string"&&(r=t,t=void 0),typeof e=="function"||Array.isArray(e))throw new TypeError('The "value" argument must be one of type string, Buffer, BufferList, or Uint8Array.');if(typeof e=="number"?e=uu.from([e]):typeof e=="string"?e=uu.from(e,r):this._isBufferList(e)?e=e.slice():Array.isArray(e.buffer)?e=uu.from(e.buffer,e.byteOffset,e.byteLength):uu.isBuffer(e)||(e=uu.from(e)),t=Number(t||0),isNaN(t)&&(t=0),t<0&&(t=this.length+t),t<0&&(t=0),e.length===0)return t>this.length?this.length:t;let o=this._offset(t),a=o[0],n=o[1];for(;a<this._bufs.length;a++){let u=this._bufs[a];for(;n<u.length;)if(u.length-n>=e.length){let p=u.indexOf(e,n);if(p!==-1)return this._reverseOffset([a,p]);n=u.length-e.length+1}else{let p=this._reverseOffset([a,n]);if(this._match(p,e))return p;n++}n=0}return-1};ri.prototype._match=function(e,t){if(this.length-e<t.length)return!1;for(let r=0;r<t.length;r++)if(this.get(e+r)!==t[r])return!1;return!0};(function(){let e={readDoubleBE:8,readDoubleLE:8,readFloatBE:4,readFloatLE:4,readInt32BE:4,readInt32LE:4,readUInt32BE:4,readUInt32LE:4,readInt16BE:2,readInt16LE:2,readUInt16BE:2,readUInt16LE:2,readInt8:1,readUInt8:1,readIntBE:null,readIntLE:null,readUIntBE:null,readUIntLE:null};for(let t in e)(function(r){e[r]===null?ri.prototype[r]=function(o,a){return this.slice(o,o+a)[r](0,a)}:ri.prototype[r]=function(o=0){return this.slice(o,o+e[r])[r](0)}})(t)})();ri.prototype._isBufferList=function(t){return t instanceof ri||ri.isBufferList(t)};ri.isBufferList=function(t){return t!=null&&t[x2e]};b2e.exports=ri});var k2e=_((A$t,qk)=>{"use strict";var $q=$w().Duplex,yBt=Q0(),vv=Q2e();function Uo(e){if(!(this instanceof Uo))return new Uo(e);if(typeof e=="function"){this._callback=e;let t=function(o){this._callback&&(this._callback(o),this._callback=null)}.bind(this);this.on("pipe",function(o){o.on("error",t)}),this.on("unpipe",function(o){o.removeListener("error",t)}),e=null}vv._init.call(this,e),$q.call(this)}yBt(Uo,$q);Object.assign(Uo.prototype,vv.prototype);Uo.prototype._new=function(t){return new Uo(t)};Uo.prototype._write=function(t,r,o){this._appendBuffer(t),typeof o=="function"&&o()};Uo.prototype._read=function(t){if(!this.length)return this.push(null);t=Math.min(t,this.length),this.push(this.slice(0,t)),this.consume(t)};Uo.prototype.end=function(t){$q.prototype.end.call(this,t),this._callback&&(this._callback(null,this.slice()),this._callback=null)};Uo.prototype._destroy=function(t,r){this._bufs.length=0,this.length=0,r(t)};Uo.prototype._isBufferList=function(t){return t instanceof Uo||t instanceof vv||Uo.isBufferList(t)};Uo.isBufferList=vv.isBufferList;qk.exports=Uo;qk.exports.BufferListStream=Uo;qk.exports.BufferList=vv});var rG=_(tC=>{var EBt=Buffer.alloc,wBt="0000000000000000000",CBt="7777777777777777777",F2e="0".charCodeAt(0),R2e=Buffer.from("ustar\0","binary"),IBt=Buffer.from("00","binary"),BBt=Buffer.from("ustar ","binary"),vBt=Buffer.from(" \0","binary"),DBt=parseInt("7777",8),Dv=257,tG=263,SBt=function(e,t,r){return typeof e!="number"?r:(e=~~e,e>=t?t:e>=0||(e+=t,e>=0)?e:0)},PBt=function(e){switch(e){case 0:return"file";case 1:return"link";case 2:return"symlink";case 3:return"character-device";case 4:return"block-device";case 5:return"directory";case 6:return"fifo";case 7:return"contiguous-file";case 72:return"pax-header";case 55:return"pax-global-header";case 27:return"gnu-long-link-path";case 28:case 30:return"gnu-long-path"}return null},xBt=function(e){switch(e){case"file":return 0;case"link":return 1;case"symlink":return 2;case"character-device":return 3;case"block-device":return 4;case"directory":return 5;case"fifo":return 6;case"contiguous-file":return 7;case"pax-header":return 72}return 0},T2e=function(e,t,r,o){for(;r<o;r++)if(e[r]===t)return r;return o},N2e=function(e){for(var t=256,r=0;r<148;r++)t+=e[r];for(var o=156;o<512;o++)t+=e[o];return t},N0=function(e,t){return e=e.toString(8),e.length>t?CBt.slice(0,t)+" ":wBt.slice(0,t-e.length)+e+" "};function bBt(e){var t;if(e[0]===128)t=!0;else if(e[0]===255)t=!1;else return null;for(var r=[],o=e.length-1;o>0;o--){var a=e[o];t?r.push(a):r.push(255-a)}var n=0,u=r.length;for(o=0;o<u;o++)n+=r[o]*Math.pow(256,o);return t?n:-1*n}var L0=function(e,t,r){if(e=e.slice(t,t+r),t=0,e[t]&128)return bBt(e);for(;t<e.length&&e[t]===32;)t++;for(var o=SBt(T2e(e,32,t,e.length),e.length,e.length);t<o&&e[t]===0;)t++;return o===t?0:parseInt(e.slice(t,o).toString(),8)},eC=function(e,t,r,o){return e.slice(t,T2e(e,0,t,t+r)).toString(o)},eG=function(e){var t=Buffer.byteLength(e),r=Math.floor(Math.log(t)/Math.log(10))+1;return t+r>=Math.pow(10,r)&&r++,t+r+e};tC.decodeLongPath=function(e,t){return eC(e,0,e.length,t)};tC.encodePax=function(e){var t="";e.name&&(t+=eG(" path="+e.name+` -`)),e.linkname&&(t+=eG(" linkpath="+e.linkname+` -`));var r=e.pax;if(r)for(var o in r)t+=eG(" "+o+"="+r[o]+` -`);return Buffer.from(t)};tC.decodePax=function(e){for(var t={};e.length;){for(var r=0;r<e.length&&e[r]!==32;)r++;var o=parseInt(e.slice(0,r).toString(),10);if(!o)return t;var a=e.slice(r+1,o-1).toString(),n=a.indexOf("=");if(n===-1)return t;t[a.slice(0,n)]=a.slice(n+1),e=e.slice(o)}return t};tC.encode=function(e){var t=EBt(512),r=e.name,o="";if(e.typeflag===5&&r[r.length-1]!=="/"&&(r+="/"),Buffer.byteLength(r)!==r.length)return null;for(;Buffer.byteLength(r)>100;){var a=r.indexOf("/");if(a===-1)return null;o+=o?"/"+r.slice(0,a):r.slice(0,a),r=r.slice(a+1)}return Buffer.byteLength(r)>100||Buffer.byteLength(o)>155||e.linkname&&Buffer.byteLength(e.linkname)>100?null:(t.write(r),t.write(N0(e.mode&DBt,6),100),t.write(N0(e.uid,6),108),t.write(N0(e.gid,6),116),t.write(N0(e.size,11),124),t.write(N0(e.mtime.getTime()/1e3|0,11),136),t[156]=F2e+xBt(e.type),e.linkname&&t.write(e.linkname,157),R2e.copy(t,Dv),IBt.copy(t,tG),e.uname&&t.write(e.uname,265),e.gname&&t.write(e.gname,297),t.write(N0(e.devmajor||0,6),329),t.write(N0(e.devminor||0,6),337),o&&t.write(o,345),t.write(N0(N2e(t),6),148),t)};tC.decode=function(e,t,r){var o=e[156]===0?0:e[156]-F2e,a=eC(e,0,100,t),n=L0(e,100,8),u=L0(e,108,8),A=L0(e,116,8),p=L0(e,124,12),h=L0(e,136,12),w=PBt(o),I=e[157]===0?null:eC(e,157,100,t),v=eC(e,265,32),b=eC(e,297,32),E=L0(e,329,8),R=L0(e,337,8),N=N2e(e);if(N===8*32)return null;if(N!==L0(e,148,8))throw new Error("Invalid tar header. Maybe the tar is corrupted or it needs to be gunzipped?");if(R2e.compare(e,Dv,Dv+6)===0)e[345]&&(a=eC(e,345,155,t)+"/"+a);else if(!(BBt.compare(e,Dv,Dv+6)===0&&vBt.compare(e,tG,tG+2)===0)){if(!r)throw new Error("Invalid tar header: unknown format.")}return o===0&&a&&a[a.length-1]==="/"&&(o=5),{name:a,mode:n,uid:u,gid:A,size:p,mtime:new Date(1e3*h),type:w,linkname:I,uname:v,gname:b,devmajor:E,devminor:R}}});var j2e=_((p$t,H2e)=>{var O2e=Ie("util"),QBt=k2e(),Sv=rG(),M2e=$w().Writable,U2e=$w().PassThrough,_2e=function(){},L2e=function(e){return e&=511,e&&512-e},kBt=function(e,t){var r=new Gk(e,t);return r.end(),r},FBt=function(e,t){return t.path&&(e.name=t.path),t.linkpath&&(e.linkname=t.linkpath),t.size&&(e.size=parseInt(t.size,10)),e.pax=t,e},Gk=function(e,t){this._parent=e,this.offset=t,U2e.call(this,{autoDestroy:!1})};O2e.inherits(Gk,U2e);Gk.prototype.destroy=function(e){this._parent.destroy(e)};var ip=function(e){if(!(this instanceof ip))return new ip(e);M2e.call(this,e),e=e||{},this._offset=0,this._buffer=QBt(),this._missing=0,this._partial=!1,this._onparse=_2e,this._header=null,this._stream=null,this._overflow=null,this._cb=null,this._locked=!1,this._destroyed=!1,this._pax=null,this._paxGlobal=null,this._gnuLongPath=null,this._gnuLongLinkPath=null;var t=this,r=t._buffer,o=function(){t._continue()},a=function(v){if(t._locked=!1,v)return t.destroy(v);t._stream||o()},n=function(){t._stream=null;var v=L2e(t._header.size);v?t._parse(v,u):t._parse(512,I),t._locked||o()},u=function(){t._buffer.consume(L2e(t._header.size)),t._parse(512,I),o()},A=function(){var v=t._header.size;t._paxGlobal=Sv.decodePax(r.slice(0,v)),r.consume(v),n()},p=function(){var v=t._header.size;t._pax=Sv.decodePax(r.slice(0,v)),t._paxGlobal&&(t._pax=Object.assign({},t._paxGlobal,t._pax)),r.consume(v),n()},h=function(){var v=t._header.size;this._gnuLongPath=Sv.decodeLongPath(r.slice(0,v),e.filenameEncoding),r.consume(v),n()},w=function(){var v=t._header.size;this._gnuLongLinkPath=Sv.decodeLongPath(r.slice(0,v),e.filenameEncoding),r.consume(v),n()},I=function(){var v=t._offset,b;try{b=t._header=Sv.decode(r.slice(0,512),e.filenameEncoding,e.allowUnknownFormat)}catch(E){t.emit("error",E)}if(r.consume(512),!b){t._parse(512,I),o();return}if(b.type==="gnu-long-path"){t._parse(b.size,h),o();return}if(b.type==="gnu-long-link-path"){t._parse(b.size,w),o();return}if(b.type==="pax-global-header"){t._parse(b.size,A),o();return}if(b.type==="pax-header"){t._parse(b.size,p),o();return}if(t._gnuLongPath&&(b.name=t._gnuLongPath,t._gnuLongPath=null),t._gnuLongLinkPath&&(b.linkname=t._gnuLongLinkPath,t._gnuLongLinkPath=null),t._pax&&(t._header=b=FBt(b,t._pax),t._pax=null),t._locked=!0,!b.size||b.type==="directory"){t._parse(512,I),t.emit("entry",b,kBt(t,v),a);return}t._stream=new Gk(t,v),t.emit("entry",b,t._stream,a),t._parse(b.size,n),o()};this._onheader=I,this._parse(512,I)};O2e.inherits(ip,M2e);ip.prototype.destroy=function(e){this._destroyed||(this._destroyed=!0,e&&this.emit("error",e),this.emit("close"),this._stream&&this._stream.emit("close"))};ip.prototype._parse=function(e,t){this._destroyed||(this._offset+=e,this._missing=e,t===this._onheader&&(this._partial=!1),this._onparse=t)};ip.prototype._continue=function(){if(!this._destroyed){var e=this._cb;this._cb=_2e,this._overflow?this._write(this._overflow,void 0,e):e()}};ip.prototype._write=function(e,t,r){if(!this._destroyed){var o=this._stream,a=this._buffer,n=this._missing;if(e.length&&(this._partial=!0),e.length<n)return this._missing-=e.length,this._overflow=null,o?o.write(e,r):(a.append(e),r());this._cb=r,this._missing=0;var u=null;e.length>n&&(u=e.slice(n),e=e.slice(0,n)),o?o.end(e):a.append(e),this._overflow=u,this._onparse()}};ip.prototype._final=function(e){if(this._partial)return this.destroy(new Error("Unexpected end of data"));e()};H2e.exports=ip});var G2e=_((h$t,q2e)=>{q2e.exports=Ie("fs").constants||Ie("constants")});var V2e=_((g$t,J2e)=>{var rC=G2e(),Y2e=NM(),Wk=Q0(),RBt=Buffer.alloc,W2e=$w().Readable,nC=$w().Writable,TBt=Ie("string_decoder").StringDecoder,Yk=rG(),NBt=parseInt("755",8),LBt=parseInt("644",8),K2e=RBt(1024),iG=function(){},nG=function(e,t){t&=511,t&&e.push(K2e.slice(0,512-t))};function OBt(e){switch(e&rC.S_IFMT){case rC.S_IFBLK:return"block-device";case rC.S_IFCHR:return"character-device";case rC.S_IFDIR:return"directory";case rC.S_IFIFO:return"fifo";case rC.S_IFLNK:return"symlink"}return"file"}var Kk=function(e){nC.call(this),this.written=0,this._to=e,this._destroyed=!1};Wk(Kk,nC);Kk.prototype._write=function(e,t,r){if(this.written+=e.length,this._to.push(e))return r();this._to._drain=r};Kk.prototype.destroy=function(){this._destroyed||(this._destroyed=!0,this.emit("close"))};var Jk=function(){nC.call(this),this.linkname="",this._decoder=new TBt("utf-8"),this._destroyed=!1};Wk(Jk,nC);Jk.prototype._write=function(e,t,r){this.linkname+=this._decoder.write(e),r()};Jk.prototype.destroy=function(){this._destroyed||(this._destroyed=!0,this.emit("close"))};var Pv=function(){nC.call(this),this._destroyed=!1};Wk(Pv,nC);Pv.prototype._write=function(e,t,r){r(new Error("No body allowed for this entry"))};Pv.prototype.destroy=function(){this._destroyed||(this._destroyed=!0,this.emit("close"))};var wA=function(e){if(!(this instanceof wA))return new wA(e);W2e.call(this,e),this._drain=iG,this._finalized=!1,this._finalizing=!1,this._destroyed=!1,this._stream=null};Wk(wA,W2e);wA.prototype.entry=function(e,t,r){if(this._stream)throw new Error("already piping an entry");if(!(this._finalized||this._destroyed)){typeof t=="function"&&(r=t,t=null),r||(r=iG);var o=this;if((!e.size||e.type==="symlink")&&(e.size=0),e.type||(e.type=OBt(e.mode)),e.mode||(e.mode=e.type==="directory"?NBt:LBt),e.uid||(e.uid=0),e.gid||(e.gid=0),e.mtime||(e.mtime=new Date),typeof t=="string"&&(t=Buffer.from(t)),Buffer.isBuffer(t)){e.size=t.length,this._encode(e);var a=this.push(t);return nG(o,e.size),a?process.nextTick(r):this._drain=r,new Pv}if(e.type==="symlink"&&!e.linkname){var n=new Jk;return Y2e(n,function(A){if(A)return o.destroy(),r(A);e.linkname=n.linkname,o._encode(e),r()}),n}if(this._encode(e),e.type!=="file"&&e.type!=="contiguous-file")return process.nextTick(r),new Pv;var u=new Kk(this);return this._stream=u,Y2e(u,function(A){if(o._stream=null,A)return o.destroy(),r(A);if(u.written!==e.size)return o.destroy(),r(new Error("size mismatch"));nG(o,e.size),o._finalizing&&o.finalize(),r()}),u}};wA.prototype.finalize=function(){if(this._stream){this._finalizing=!0;return}this._finalized||(this._finalized=!0,this.push(K2e),this.push(null))};wA.prototype.destroy=function(e){this._destroyed||(this._destroyed=!0,e&&this.emit("error",e),this.emit("close"),this._stream&&this._stream.destroy&&this._stream.destroy())};wA.prototype._encode=function(e){if(!e.pax){var t=Yk.encode(e);if(t){this.push(t);return}}this._encodePax(e)};wA.prototype._encodePax=function(e){var t=Yk.encodePax({name:e.name,linkname:e.linkname,pax:e.pax}),r={name:"PaxHeader",mode:e.mode,uid:e.uid,gid:e.gid,size:t.length,mtime:e.mtime,type:"pax-header",linkname:e.linkname&&"PaxHeader",uname:e.uname,gname:e.gname,devmajor:e.devmajor,devminor:e.devminor};this.push(Yk.encode(r)),this.push(t),nG(this,t.length),r.size=e.size,r.type=e.type,this.push(Yk.encode(r))};wA.prototype._read=function(e){var t=this._drain;this._drain=iG,t()};J2e.exports=wA});var z2e=_(sG=>{sG.extract=j2e();sG.pack=V2e()});var lBe=_((N$t,aBe)=>{"use strict";var Bm=class{constructor(t,r,o){this.__specs=t||{},Object.keys(this.__specs).forEach(a=>{if(typeof this.__specs[a]=="string"){let n=this.__specs[a],u=this.__specs[n];if(u){let A=u.aliases||[];A.push(a,n),u.aliases=[...new Set(A)],this.__specs[a]=u}else throw new Error(`Alias refers to invalid key: ${n} -> ${a}`)}}),this.__opts=r||{},this.__providers=sBe(o.filter(a=>a!=null&&typeof a=="object")),this.__isFiggyPudding=!0}get(t){return AG(this,t,!0)}get[Symbol.toStringTag](){return"FiggyPudding"}forEach(t,r=this){for(let[o,a]of this.entries())t.call(r,a,o,this)}toJSON(){let t={};return this.forEach((r,o)=>{t[o]=r}),t}*entries(t){for(let o of Object.keys(this.__specs))yield[o,this.get(o)];let r=t||this.__opts.other;if(r){let o=new Set;for(let a of this.__providers){let n=a.entries?a.entries(r):ZBt(a);for(let[u,A]of n)r(u)&&!o.has(u)&&(o.add(u),yield[u,A])}}}*[Symbol.iterator](){for(let[t,r]of this.entries())yield[t,r]}*keys(){for(let[t]of this.entries())yield t}*values(){for(let[,t]of this.entries())yield t}concat(...t){return new Proxy(new Bm(this.__specs,this.__opts,sBe(this.__providers).concat(t)),oBe)}};try{let e=Ie("util");Bm.prototype[e.inspect.custom]=function(t,r){return this[Symbol.toStringTag]+" "+e.inspect(this.toJSON(),r)}}catch{}function zBt(e){throw Object.assign(new Error(`invalid config key requested: ${e}`),{code:"EBADKEY"})}function AG(e,t,r){let o=e.__specs[t];if(r&&!o&&(!e.__opts.other||!e.__opts.other(t)))zBt(t);else{o||(o={});let a;for(let n of e.__providers){if(a=iBe(t,n),a===void 0&&o.aliases&&o.aliases.length){for(let u of o.aliases)if(u!==t&&(a=iBe(u,n),a!==void 0))break}if(a!==void 0)break}return a===void 0&&o.default!==void 0?typeof o.default=="function"?o.default(e):o.default:a}}function iBe(e,t){let r;return t.__isFiggyPudding?r=AG(t,e,!1):typeof t.get=="function"?r=t.get(e):r=t[e],r}var oBe={has(e,t){return t in e.__specs&&AG(e,t,!1)!==void 0},ownKeys(e){return Object.keys(e.__specs)},get(e,t){return typeof t=="symbol"||t.slice(0,2)==="__"||t in Bm.prototype?e[t]:e.get(t)},set(e,t,r){if(typeof t=="symbol"||t.slice(0,2)==="__")return e[t]=r,!0;throw new Error("figgyPudding options cannot be modified. Use .concat() instead.")},deleteProperty(){throw new Error("figgyPudding options cannot be deleted. Use .concat() and shadow them instead.")}};aBe.exports=XBt;function XBt(e,t){function r(...o){return new Proxy(new Bm(e,t,o),oBe)}return r}function sBe(e){let t=[];return e.forEach(r=>t.unshift(r)),t}function ZBt(e){return Object.keys(e).map(t=>[t,e[t]])}});var ABe=_((L$t,BA)=>{"use strict";var bv=Ie("crypto"),$Bt=lBe(),evt=Ie("stream").Transform,cBe=["sha256","sha384","sha512"],tvt=/^[a-z0-9+/]+(?:=?=?)$/i,rvt=/^([^-]+)-([^?]+)([?\S*]*)$/,nvt=/^([^-]+)-([A-Za-z0-9+/=]{44,88})(\?[\x21-\x7E]*)*$/,ivt=/^[\x21-\x7E]+$/,sa=$Bt({algorithms:{default:["sha512"]},error:{default:!1},integrity:{},options:{default:[]},pickAlgorithm:{default:()=>fvt},Promise:{default:()=>Promise},sep:{default:" "},single:{default:!1},size:{},strict:{default:!1}}),M0=class{get isHash(){return!0}constructor(t,r){r=sa(r);let o=!!r.strict;this.source=t.trim();let a=this.source.match(o?nvt:rvt);if(!a||o&&!cBe.some(u=>u===a[1]))return;this.algorithm=a[1],this.digest=a[2];let n=a[3];this.options=n?n.slice(1).split("?"):[]}hexDigest(){return this.digest&&Buffer.from(this.digest,"base64").toString("hex")}toJSON(){return this.toString()}toString(t){if(t=sa(t),t.strict&&!(cBe.some(o=>o===this.algorithm)&&this.digest.match(tvt)&&(this.options||[]).every(o=>o.match(ivt))))return"";let r=this.options&&this.options.length?`?${this.options.join("?")}`:"";return`${this.algorithm}-${this.digest}${r}`}},vm=class{get isIntegrity(){return!0}toJSON(){return this.toString()}toString(t){t=sa(t);let r=t.sep||" ";return t.strict&&(r=r.replace(/\S+/g," ")),Object.keys(this).map(o=>this[o].map(a=>M0.prototype.toString.call(a,t)).filter(a=>a.length).join(r)).filter(o=>o.length).join(r)}concat(t,r){r=sa(r);let o=typeof t=="string"?t:xv(t,r);return IA(`${this.toString(r)} ${o}`,r)}hexDigest(){return IA(this,{single:!0}).hexDigest()}match(t,r){r=sa(r);let o=IA(t,r),a=o.pickAlgorithm(r);return this[a]&&o[a]&&this[a].find(n=>o[a].find(u=>n.digest===u.digest))||!1}pickAlgorithm(t){t=sa(t);let r=t.pickAlgorithm,o=Object.keys(this);if(!o.length)throw new Error(`No algorithms available for ${JSON.stringify(this.toString())}`);return o.reduce((a,n)=>r(a,n)||a)}};BA.exports.parse=IA;function IA(e,t){if(t=sa(t),typeof e=="string")return fG(e,t);if(e.algorithm&&e.digest){let r=new vm;return r[e.algorithm]=[e],fG(xv(r,t),t)}else return fG(xv(e,t),t)}function fG(e,t){return t.single?new M0(e,t):e.trim().split(/\s+/).reduce((r,o)=>{let a=new M0(o,t);if(a.algorithm&&a.digest){let n=a.algorithm;r[n]||(r[n]=[]),r[n].push(a)}return r},new vm)}BA.exports.stringify=xv;function xv(e,t){return t=sa(t),e.algorithm&&e.digest?M0.prototype.toString.call(e,t):typeof e=="string"?xv(IA(e,t),t):vm.prototype.toString.call(e,t)}BA.exports.fromHex=svt;function svt(e,t,r){r=sa(r);let o=r.options&&r.options.length?`?${r.options.join("?")}`:"";return IA(`${t}-${Buffer.from(e,"hex").toString("base64")}${o}`,r)}BA.exports.fromData=ovt;function ovt(e,t){t=sa(t);let r=t.algorithms,o=t.options&&t.options.length?`?${t.options.join("?")}`:"";return r.reduce((a,n)=>{let u=bv.createHash(n).update(e).digest("base64"),A=new M0(`${n}-${u}${o}`,t);if(A.algorithm&&A.digest){let p=A.algorithm;a[p]||(a[p]=[]),a[p].push(A)}return a},new vm)}BA.exports.fromStream=avt;function avt(e,t){t=sa(t);let r=t.Promise||Promise,o=pG(t);return new r((a,n)=>{e.pipe(o),e.on("error",n),o.on("error",n);let u;o.on("integrity",A=>{u=A}),o.on("end",()=>a(u)),o.on("data",()=>{})})}BA.exports.checkData=lvt;function lvt(e,t,r){if(r=sa(r),t=IA(t,r),!Object.keys(t).length){if(r.error)throw Object.assign(new Error("No valid integrity hashes to check against"),{code:"EINTEGRITY"});return!1}let o=t.pickAlgorithm(r),a=bv.createHash(o).update(e).digest("base64"),n=IA({algorithm:o,digest:a}),u=n.match(t,r);if(u||!r.error)return u;if(typeof r.size=="number"&&e.length!==r.size){let A=new Error(`data size mismatch when checking ${t}. - Wanted: ${r.size} - Found: ${e.length}`);throw A.code="EBADSIZE",A.found=e.length,A.expected=r.size,A.sri=t,A}else{let A=new Error(`Integrity checksum failed when using ${o}: Wanted ${t}, but got ${n}. (${e.length} bytes)`);throw A.code="EINTEGRITY",A.found=n,A.expected=t,A.algorithm=o,A.sri=t,A}}BA.exports.checkStream=cvt;function cvt(e,t,r){r=sa(r);let o=r.Promise||Promise,a=pG(r.concat({integrity:t}));return new o((n,u)=>{e.pipe(a),e.on("error",u),a.on("error",u);let A;a.on("verified",p=>{A=p}),a.on("end",()=>n(A)),a.on("data",()=>{})})}BA.exports.integrityStream=pG;function pG(e){e=sa(e);let t=e.integrity&&IA(e.integrity,e),r=t&&Object.keys(t).length,o=r&&t.pickAlgorithm(e),a=r&&t[o],n=Array.from(new Set(e.algorithms.concat(o?[o]:[]))),u=n.map(bv.createHash),A=0,p=new evt({transform(h,w,I){A+=h.length,u.forEach(v=>v.update(h,w)),I(null,h,w)}}).on("end",()=>{let h=e.options&&e.options.length?`?${e.options.join("?")}`:"",w=IA(u.map((v,b)=>`${n[b]}-${v.digest("base64")}${h}`).join(" "),e),I=r&&w.match(t,e);if(typeof e.size=="number"&&A!==e.size){let v=new Error(`stream size mismatch when checking ${t}. - Wanted: ${e.size} - Found: ${A}`);v.code="EBADSIZE",v.found=A,v.expected=e.size,v.sri=t,p.emit("error",v)}else if(e.integrity&&!I){let v=new Error(`${t} integrity checksum failed when using ${o}: wanted ${a} but got ${w}. (${A} bytes)`);v.code="EINTEGRITY",v.found=w,v.expected=a,v.algorithm=o,v.sri=t,p.emit("error",v)}else p.emit("size",A),p.emit("integrity",w),I&&p.emit("verified",I)});return p}BA.exports.create=uvt;function uvt(e){e=sa(e);let t=e.algorithms,r=e.options.length?`?${e.options.join("?")}`:"",o=t.map(bv.createHash);return{update:function(a,n){return o.forEach(u=>u.update(a,n)),this},digest:function(a){return t.reduce((u,A)=>{let p=o.shift().digest("base64"),h=new M0(`${A}-${p}${r}`,e);if(h.algorithm&&h.digest){let w=h.algorithm;u[w]||(u[w]=[]),u[w].push(h)}return u},new vm)}}}var Avt=new Set(bv.getHashes()),uBe=["md5","whirlpool","sha1","sha224","sha256","sha384","sha512","sha3","sha3-256","sha3-384","sha3-512","sha3_256","sha3_384","sha3_512"].filter(e=>Avt.has(e));function fvt(e,t){return uBe.indexOf(e.toLowerCase())>=uBe.indexOf(t.toLowerCase())?e:t}});var HBe=_((Unr,_Be)=>{var ADt=aL();function fDt(e){return ADt(e)?void 0:e}_Be.exports=fDt});var qBe=_((_nr,jBe)=>{var pDt=Ux(),hDt=D8(),gDt=b8(),dDt=jd(),mDt=gd(),yDt=HBe(),EDt=w_(),wDt=v8(),CDt=1,IDt=2,BDt=4,vDt=EDt(function(e,t){var r={};if(e==null)return r;var o=!1;t=pDt(t,function(n){return n=dDt(n,e),o||(o=n.length>1),n}),mDt(e,wDt(e),r),o&&(r=hDt(r,CDt|IDt|BDt,yDt));for(var a=t.length;a--;)gDt(r,t[a]);return r});jBe.exports=vDt});St();Ye();St();var JBe=Ie("child_process"),VBe=$e($g());qt();var cw=new Map([]);var n2={};Jt(n2,{BaseCommand:()=>ut,WorkspaceRequiredError:()=>tr,getCli:()=>zpe,getDynamicLibs:()=>Vpe,getPluginConfiguration:()=>Aw,openWorkspace:()=>uw,pluginCommands:()=>cw,runExit:()=>rQ});qt();var ut=class extends nt{constructor(){super(...arguments);this.cwd=he.String("--cwd",{hidden:!0})}validateAndExecute(){if(typeof this.cwd<"u")throw new it("The --cwd option is ambiguous when used anywhere else than the very first parameter provided in the command line, before even the command path");return super.validateAndExecute()}};Ye();St();qt();var tr=class extends it{constructor(t,r){let o=J.relative(t,r),a=J.join(t,Ot.fileName);super(`This command can only be run from within a workspace of your project (${o} isn't a workspace of ${a}).`)}};Ye();St();iA();Nl();x1();qt();var dAt=$e(Zn());Za();var Vpe=()=>new Map([["@yarnpkg/cli",n2],["@yarnpkg/core",r2],["@yarnpkg/fslib",WC],["@yarnpkg/libzip",P1],["@yarnpkg/parsers",eI],["@yarnpkg/shell",F1],["clipanion",AI],["semver",dAt],["typanion",Jo]]);Ye();async function uw(e,t){let{project:r,workspace:o}=await Pt.find(e,t);if(!o)throw new tr(r.cwd,t);return o}Ye();St();iA();Nl();x1();qt();var RDt=$e(Zn());Za();var z8={};Jt(z8,{AddCommand:()=>bh,BinCommand:()=>Qh,CacheCleanCommand:()=>kh,ClipanionCommand:()=>Wd,ConfigCommand:()=>Nh,ConfigGetCommand:()=>Fh,ConfigSetCommand:()=>Rh,ConfigUnsetCommand:()=>Th,DedupeCommand:()=>Lh,EntryCommand:()=>gw,ExecCommand:()=>Oh,ExplainCommand:()=>_h,ExplainPeerRequirementsCommand:()=>Mh,HelpCommand:()=>Kd,InfoCommand:()=>Hh,LinkCommand:()=>qh,NodeCommand:()=>Gh,PluginCheckCommand:()=>Yh,PluginImportCommand:()=>Jh,PluginImportSourcesCommand:()=>Vh,PluginListCommand:()=>Wh,PluginRemoveCommand:()=>zh,PluginRuntimeCommand:()=>Xh,RebuildCommand:()=>Zh,RemoveCommand:()=>$h,RunCommand:()=>e0,RunIndexCommand:()=>zd,SetResolutionCommand:()=>t0,SetVersionCommand:()=>Uh,SetVersionSourcesCommand:()=>Kh,UnlinkCommand:()=>r0,UpCommand:()=>Jf,VersionCommand:()=>Jd,WhyCommand:()=>n0,WorkspaceCommand:()=>o0,WorkspacesListCommand:()=>s0,YarnCommand:()=>jh,dedupeUtils:()=>AQ,default:()=>lgt,suggestUtils:()=>Zc});var xde=$e($g());Ye();Ye();Ye();qt();var O0e=$e(l2());Za();var Zc={};Jt(Zc,{Modifier:()=>E8,Strategy:()=>cQ,Target:()=>c2,WorkspaceModifier:()=>F0e,applyModifier:()=>Lft,extractDescriptorFromPath:()=>w8,extractRangeModifier:()=>R0e,fetchDescriptorFrom:()=>C8,findProjectDescriptors:()=>L0e,getModifier:()=>u2,getSuggestedDescriptors:()=>A2,makeWorkspaceDescriptor:()=>N0e,toWorkspaceModifier:()=>T0e});Ye();Ye();St();var y8=$e(Zn()),Tft="workspace:",c2=(o=>(o.REGULAR="dependencies",o.DEVELOPMENT="devDependencies",o.PEER="peerDependencies",o))(c2||{}),E8=(o=>(o.CARET="^",o.TILDE="~",o.EXACT="",o))(E8||{}),F0e=(o=>(o.CARET="^",o.TILDE="~",o.EXACT="*",o))(F0e||{}),cQ=(n=>(n.KEEP="keep",n.REUSE="reuse",n.PROJECT="project",n.LATEST="latest",n.CACHE="cache",n))(cQ||{});function u2(e,t){return e.exact?"":e.caret?"^":e.tilde?"~":t.configuration.get("defaultSemverRangePrefix")}var Nft=/^([\^~]?)[0-9]+(?:\.[0-9]+){0,2}(?:-\S+)?$/;function R0e(e,{project:t}){let r=e.match(Nft);return r?r[1]:t.configuration.get("defaultSemverRangePrefix")}function Lft(e,t){let{protocol:r,source:o,params:a,selector:n}=G.parseRange(e.range);return y8.default.valid(n)&&(n=`${t}${e.range}`),G.makeDescriptor(e,G.makeRange({protocol:r,source:o,params:a,selector:n}))}function T0e(e){switch(e){case"^":return"^";case"~":return"~";case"":return"*";default:throw new Error(`Assertion failed: Unknown modifier: "${e}"`)}}function N0e(e,t){return G.makeDescriptor(e.anchoredDescriptor,`${Tft}${T0e(t)}`)}async function L0e(e,{project:t,target:r}){let o=new Map,a=n=>{let u=o.get(n.descriptorHash);return u||o.set(n.descriptorHash,u={descriptor:n,locators:[]}),u};for(let n of t.workspaces)if(r==="peerDependencies"){let u=n.manifest.peerDependencies.get(e.identHash);u!==void 0&&a(u).locators.push(n.anchoredLocator)}else{let u=n.manifest.dependencies.get(e.identHash),A=n.manifest.devDependencies.get(e.identHash);r==="devDependencies"?A!==void 0?a(A).locators.push(n.anchoredLocator):u!==void 0&&a(u).locators.push(n.anchoredLocator):u!==void 0?a(u).locators.push(n.anchoredLocator):A!==void 0&&a(A).locators.push(n.anchoredLocator)}return o}async function w8(e,{cwd:t,workspace:r}){return await Oft(async o=>{J.isAbsolute(e)||(e=J.relative(r.cwd,J.resolve(t,e)),e.match(/^\.{0,2}\//)||(e=`./${e}`));let{project:a}=r,n=await C8(G.makeIdent(null,"archive"),e,{project:r.project,cache:o,workspace:r});if(!n)throw new Error("Assertion failed: The descriptor should have been found");let u=new ki,A=a.configuration.makeResolver(),p=a.configuration.makeFetcher(),h={checksums:a.storedChecksums,project:a,cache:o,fetcher:p,report:u,resolver:A},w=A.bindDescriptor(n,r.anchoredLocator,h),I=G.convertDescriptorToLocator(w),v=await p.fetch(I,h),b=await Ot.find(v.prefixPath,{baseFs:v.packageFs});if(!b.name)throw new Error("Target path doesn't have a name");return G.makeDescriptor(b.name,e)})}async function A2(e,{project:t,workspace:r,cache:o,target:a,fixed:n,modifier:u,strategies:A,maxResults:p=1/0}){if(!(p>=0))throw new Error(`Invalid maxResults (${p})`);let[h,w]=e.range!=="unknown"?n||Qr.validRange(e.range)||!e.range.match(/^[a-z0-9._-]+$/i)?[e.range,"latest"]:["unknown",e.range]:["unknown","latest"];if(h!=="unknown")return{suggestions:[{descriptor:e,name:`Use ${G.prettyDescriptor(t.configuration,e)}`,reason:"(unambiguous explicit request)"}],rejections:[]};let I=typeof r<"u"&&r!==null&&r.manifest[a].get(e.identHash)||null,v=[],b=[],E=async R=>{try{await R()}catch(N){b.push(N)}};for(let R of A){if(v.length>=p)break;switch(R){case"keep":await E(async()=>{I&&v.push({descriptor:I,name:`Keep ${G.prettyDescriptor(t.configuration,I)}`,reason:"(no changes)"})});break;case"reuse":await E(async()=>{for(let{descriptor:N,locators:U}of(await L0e(e,{project:t,target:a})).values()){if(U.length===1&&U[0].locatorHash===r.anchoredLocator.locatorHash&&A.includes("keep"))continue;let V=`(originally used by ${G.prettyLocator(t.configuration,U[0])}`;V+=U.length>1?` and ${U.length-1} other${U.length>2?"s":""})`:")",v.push({descriptor:N,name:`Reuse ${G.prettyDescriptor(t.configuration,N)}`,reason:V})}});break;case"cache":await E(async()=>{for(let N of t.storedDescriptors.values())N.identHash===e.identHash&&v.push({descriptor:N,name:`Reuse ${G.prettyDescriptor(t.configuration,N)}`,reason:"(already used somewhere in the lockfile)"})});break;case"project":await E(async()=>{if(r.manifest.name!==null&&e.identHash===r.manifest.name.identHash)return;let N=t.tryWorkspaceByIdent(e);if(N===null)return;let U=N0e(N,u);v.push({descriptor:U,name:`Attach ${G.prettyDescriptor(t.configuration,U)}`,reason:`(local workspace at ${ye.pretty(t.configuration,N.relativeCwd,ye.Type.PATH)})`})});break;case"latest":await E(async()=>{if(a==="peerDependencies")v.push({descriptor:G.makeDescriptor(e,"*"),name:"Use *",reason:"(catch-all peer dependency pattern)"});else if(!t.configuration.get("enableNetwork"))v.push({descriptor:null,name:"Resolve from latest",reason:ye.pretty(t.configuration,"(unavailable because enableNetwork is toggled off)","grey")});else{let N=await C8(e,w,{project:t,cache:o,workspace:r,modifier:u});N&&v.push({descriptor:N,name:`Use ${G.prettyDescriptor(t.configuration,N)}`,reason:"(resolved from latest)"})}});break}}return{suggestions:v.slice(0,p),rejections:b.slice(0,p)}}async function C8(e,t,{project:r,cache:o,workspace:a,preserveModifier:n=!0,modifier:u}){let A=r.configuration.normalizeDependency(G.makeDescriptor(e,t)),p=new ki,h=r.configuration.makeFetcher(),w=r.configuration.makeResolver(),I={project:r,fetcher:h,cache:o,checksums:r.storedChecksums,report:p,cacheOptions:{skipIntegrityCheck:!0}},v={...I,resolver:w,fetchOptions:I},b=w.bindDescriptor(A,a.anchoredLocator,v),E=await w.getCandidates(b,{},v);if(E.length===0)return null;let R=E[0],{protocol:N,source:U,params:V,selector:ee}=G.parseRange(G.convertToManifestRange(R.reference));if(N===r.configuration.get("defaultProtocol")&&(N=null),y8.default.valid(ee)){let le=ee;if(typeof u<"u")ee=u+ee;else if(n!==!1){let ge=typeof n=="string"?n:A.range;ee=R0e(ge,{project:r})+ee}let fe=G.makeDescriptor(R,G.makeRange({protocol:N,source:U,params:V,selector:ee}));(await w.getCandidates(r.configuration.normalizeDependency(fe),{},v)).length!==1&&(ee=le)}return G.makeDescriptor(R,G.makeRange({protocol:N,source:U,params:V,selector:ee}))}async function Oft(e){return await ae.mktempPromise(async t=>{let r=Ke.create(t);return r.useWithSource(t,{enableMirror:!1,compressionLevel:0},t,{overwrite:!0}),await e(new Nr(t,{configuration:r,check:!1,immutable:!1}))})}var bh=class extends ut{constructor(){super(...arguments);this.json=he.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"});this.fixed=he.Boolean("-F,--fixed",!1,{description:"Store dependency tags as-is instead of resolving them"});this.exact=he.Boolean("-E,--exact",!1,{description:"Don't use any semver modifier on the resolved range"});this.tilde=he.Boolean("-T,--tilde",!1,{description:"Use the `~` semver modifier on the resolved range"});this.caret=he.Boolean("-C,--caret",!1,{description:"Use the `^` semver modifier on the resolved range"});this.dev=he.Boolean("-D,--dev",!1,{description:"Add a package as a dev dependency"});this.peer=he.Boolean("-P,--peer",!1,{description:"Add a package as a peer dependency"});this.optional=he.Boolean("-O,--optional",!1,{description:"Add / upgrade a package to an optional regular / peer dependency"});this.preferDev=he.Boolean("--prefer-dev",!1,{description:"Add / upgrade a package to a dev dependency"});this.interactive=he.Boolean("-i,--interactive",{description:"Reuse the specified package from other workspaces in the project"});this.cached=he.Boolean("--cached",!1,{description:"Reuse the highest version already used somewhere within the project"});this.mode=he.String("--mode",{description:"Change what artifacts installs generate",validator:Vs(fl)});this.silent=he.Boolean("--silent",{hidden:!0});this.packages=he.Rest()}async execute(){let r=await Ke.find(this.context.cwd,this.context.plugins),{project:o,workspace:a}=await Pt.find(r,this.context.cwd),n=await Nr.find(r);if(!a)throw new tr(o.cwd,this.context.cwd);await o.restoreInstallState({restoreResolutions:!1});let u=this.fixed,A=this.interactive??r.get("preferInteractive"),p=A||r.get("preferReuse"),h=u2(this,o),w=[p?"reuse":void 0,"project",this.cached?"cache":void 0,"latest"].filter(U=>typeof U<"u"),I=A?1/0:1,v=await Promise.all(this.packages.map(async U=>{let V=U.match(/^\.{0,2}\//)?await w8(U,{cwd:this.context.cwd,workspace:a}):G.tryParseDescriptor(U),ee=U.match(/^(https?:|git@github)/);if(ee)throw new it(`It seems you are trying to add a package using a ${ye.pretty(r,`${ee[0]}...`,ye.Type.RANGE)} url; we now require package names to be explicitly specified. -Try running the command again with the package name prefixed: ${ye.pretty(r,"yarn add",ye.Type.CODE)} ${ye.pretty(r,G.makeDescriptor(G.makeIdent(null,"my-package"),`${ee[0]}...`),ye.Type.DESCRIPTOR)}`);if(!V)throw new it(`The ${ye.pretty(r,U,ye.Type.CODE)} string didn't match the required format (package-name@range). Did you perhaps forget to explicitly reference the package name?`);let le=Mft(a,V,{dev:this.dev,peer:this.peer,preferDev:this.preferDev,optional:this.optional});return await Promise.all(le.map(async de=>{let ge=await A2(V,{project:o,workspace:a,cache:n,fixed:u,target:de,modifier:h,strategies:w,maxResults:I});return{request:V,suggestedDescriptors:ge,target:de}}))})).then(U=>U.flat()),b=await fA.start({configuration:r,stdout:this.context.stdout,suggestInstall:!1},async U=>{for(let{request:V,suggestedDescriptors:{suggestions:ee,rejections:le}}of v)if(ee.filter(de=>de.descriptor!==null).length===0){let[de]=le;if(typeof de>"u")throw new Error("Assertion failed: Expected an error to have been set");o.configuration.get("enableNetwork")?U.reportError(27,`${G.prettyDescriptor(r,V)} can't be resolved to a satisfying range`):U.reportError(27,`${G.prettyDescriptor(r,V)} can't be resolved to a satisfying range (note: network resolution has been disabled)`),U.reportSeparator(),U.reportExceptionOnce(de)}});if(b.hasErrors())return b.exitCode();let E=!1,R=[],N=[];for(let{suggestedDescriptors:{suggestions:U},target:V}of v){let ee,le=U.filter(oe=>oe.descriptor!==null),fe=le[0].descriptor,de=le.every(oe=>G.areDescriptorsEqual(oe.descriptor,fe));le.length===1||de?ee=fe:(E=!0,{answer:ee}=await(0,O0e.prompt)({type:"select",name:"answer",message:"Which range do you want to use?",choices:U.map(({descriptor:oe,name:Be,reason:be})=>oe?{name:Be,hint:be,descriptor:oe}:{name:Be,hint:be,disabled:!0}),onCancel:()=>process.exit(130),result(oe){return this.find(oe,"descriptor")},stdin:this.context.stdin,stdout:this.context.stdout}));let ge=a.manifest[V].get(ee.identHash);(typeof ge>"u"||ge.descriptorHash!==ee.descriptorHash)&&(a.manifest[V].set(ee.identHash,ee),this.optional&&(V==="dependencies"?a.manifest.ensureDependencyMeta({...ee,range:"unknown"}).optional=!0:V==="peerDependencies"&&(a.manifest.ensurePeerDependencyMeta({...ee,range:"unknown"}).optional=!0)),typeof ge>"u"?R.push([a,V,ee,w]):N.push([a,V,ge,ee]))}return await r.triggerMultipleHooks(U=>U.afterWorkspaceDependencyAddition,R),await r.triggerMultipleHooks(U=>U.afterWorkspaceDependencyReplacement,N),E&&this.context.stdout.write(` -`),await o.installWithNewReport({json:this.json,stdout:this.context.stdout,quiet:this.context.quiet},{cache:n,mode:this.mode})}};bh.paths=[["add"]],bh.usage=nt.Usage({description:"add dependencies to the project",details:"\n This command adds a package to the package.json for the nearest workspace.\n\n - If it didn't exist before, the package will by default be added to the regular `dependencies` field, but this behavior can be overriden thanks to the `-D,--dev` flag (which will cause the dependency to be added to the `devDependencies` field instead) and the `-P,--peer` flag (which will do the same but for `peerDependencies`).\n\n - If the package was already listed in your dependencies, it will by default be upgraded whether it's part of your `dependencies` or `devDependencies` (it won't ever update `peerDependencies`, though).\n\n - If set, the `--prefer-dev` flag will operate as a more flexible `-D,--dev` in that it will add the package to your `devDependencies` if it isn't already listed in either `dependencies` or `devDependencies`, but it will also happily upgrade your `dependencies` if that's what you already use (whereas `-D,--dev` would throw an exception).\n\n - If set, the `-O,--optional` flag will add the package to the `optionalDependencies` field and, in combination with the `-P,--peer` flag, it will add the package as an optional peer dependency. If the package was already listed in your `dependencies`, it will be upgraded to `optionalDependencies`. If the package was already listed in your `peerDependencies`, in combination with the `-P,--peer` flag, it will be upgraded to an optional peer dependency: `\"peerDependenciesMeta\": { \"<package>\": { \"optional\": true } }`\n\n - If the added package doesn't specify a range at all its `latest` tag will be resolved and the returned version will be used to generate a new semver range (using the `^` modifier by default unless otherwise configured via the `defaultSemverRangePrefix` configuration, or the `~` modifier if `-T,--tilde` is specified, or no modifier at all if `-E,--exact` is specified). Two exceptions to this rule: the first one is that if the package is a workspace then its local version will be used, and the second one is that if you use `-P,--peer` the default range will be `*` and won't be resolved at all.\n\n - If the added package specifies a range (such as `^1.0.0`, `latest`, or `rc`), Yarn will add this range as-is in the resulting package.json entry (in particular, tags such as `rc` will be encoded as-is rather than being converted into a semver range).\n\n If the `--cached` option is used, Yarn will preferably reuse the highest version already used somewhere within the project, even if through a transitive dependency.\n\n If the `-i,--interactive` option is used (or if the `preferInteractive` settings is toggled on) the command will first try to check whether other workspaces in the project use the specified package and, if so, will offer to reuse them.\n\n If the `--mode=<mode>` option is set, Yarn will change which artifacts are generated. The modes currently supported are:\n\n - `skip-build` will not run the build scripts at all. Note that this is different from setting `enableScripts` to false because the latter will disable build scripts, and thus affect the content of the artifacts generated on disk, whereas the former will just disable the build step - but not the scripts themselves, which just won't run.\n\n - `update-lockfile` will skip the link step altogether, and only fetch packages that are missing from the lockfile (or that have no associated checksums). This mode is typically used by tools like Renovate or Dependabot to keep a lockfile up-to-date without incurring the full install cost.\n\n For a compilation of all the supported protocols, please consult the dedicated page from our website: https://yarnpkg.com/features/protocols.\n ",examples:[["Add a regular package to the current workspace","$0 add lodash"],["Add a specific version for a package to the current workspace","$0 add lodash@1.2.3"],["Add a package from a GitHub repository (the master branch) to the current workspace using a URL","$0 add lodash@https://github.com/lodash/lodash"],["Add a package from a GitHub repository (the master branch) to the current workspace using the GitHub protocol","$0 add lodash@github:lodash/lodash"],["Add a package from a GitHub repository (the master branch) to the current workspace using the GitHub protocol (shorthand)","$0 add lodash@lodash/lodash"],["Add a package from a specific branch of a GitHub repository to the current workspace using the GitHub protocol (shorthand)","$0 add lodash-es@lodash/lodash#es"]]});function Mft(e,t,{dev:r,peer:o,preferDev:a,optional:n}){let u=e.manifest["dependencies"].has(t.identHash),A=e.manifest["devDependencies"].has(t.identHash),p=e.manifest["peerDependencies"].has(t.identHash);if((r||o)&&u)throw new it(`Package "${G.prettyIdent(e.project.configuration,t)}" is already listed as a regular dependency - remove the -D,-P flags or remove it from your dependencies first`);if(!r&&!o&&p)throw new it(`Package "${G.prettyIdent(e.project.configuration,t)}" is already listed as a peer dependency - use either of -D or -P, or remove it from your peer dependencies first`);if(n&&A)throw new it(`Package "${G.prettyIdent(e.project.configuration,t)}" is already listed as a dev dependency - remove the -O flag or remove it from your dev dependencies first`);if(n&&!o&&p)throw new it(`Package "${G.prettyIdent(e.project.configuration,t)}" is already listed as a peer dependency - remove the -O flag or add the -P flag or remove it from your peer dependencies first`);if((r||a)&&n)throw new it(`Package "${G.prettyIdent(e.project.configuration,t)}" cannot simultaneously be a dev dependency and an optional dependency`);let h=[];return o&&h.push("peerDependencies"),(r||a)&&h.push("devDependencies"),n&&h.push("dependencies"),h.length>0?h:A?["devDependencies"]:p?["peerDependencies"]:["dependencies"]}Ye();Ye();qt();var Qh=class extends ut{constructor(){super(...arguments);this.verbose=he.Boolean("-v,--verbose",!1,{description:"Print both the binary name and the locator of the package that provides the binary"});this.json=he.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"});this.name=he.String({required:!1})}async execute(){let r=await Ke.find(this.context.cwd,this.context.plugins),{project:o,locator:a}=await Pt.find(r,this.context.cwd);if(await o.restoreInstallState(),this.name){let A=(await cn.getPackageAccessibleBinaries(a,{project:o})).get(this.name);if(!A)throw new it(`Couldn't find a binary named "${this.name}" for package "${G.prettyLocator(r,a)}"`);let[,p]=A;return this.context.stdout.write(`${p} -`),0}return(await Nt.start({configuration:r,json:this.json,stdout:this.context.stdout},async u=>{let A=await cn.getPackageAccessibleBinaries(a,{project:o}),h=Array.from(A.keys()).reduce((w,I)=>Math.max(w,I.length),0);for(let[w,[I,v]]of A)u.reportJson({name:w,source:G.stringifyIdent(I),path:v});if(this.verbose)for(let[w,[I]]of A)u.reportInfo(null,`${w.padEnd(h," ")} ${G.prettyLocator(r,I)}`);else for(let w of A.keys())u.reportInfo(null,w)})).exitCode()}};Qh.paths=[["bin"]],Qh.usage=nt.Usage({description:"get the path to a binary script",details:` - When used without arguments, this command will print the list of all the binaries available in the current workspace. Adding the \`-v,--verbose\` flag will cause the output to contain both the binary name and the locator of the package that provides the binary. - - When an argument is specified, this command will just print the path to the binary on the standard output and exit. Note that the reported path may be stored within a zip archive. - `,examples:[["List all the available binaries","$0 bin"],["Print the path to a specific binary","$0 bin eslint"]]});Ye();St();qt();var kh=class extends ut{constructor(){super(...arguments);this.mirror=he.Boolean("--mirror",!1,{description:"Remove the global cache files instead of the local cache files"});this.all=he.Boolean("--all",!1,{description:"Remove both the global cache files and the local cache files of the current project"})}async execute(){let r=await Ke.find(this.context.cwd,this.context.plugins),o=await Nr.find(r);return(await Nt.start({configuration:r,stdout:this.context.stdout},async()=>{let n=(this.all||this.mirror)&&o.mirrorCwd!==null,u=!this.mirror;n&&(await ae.removePromise(o.mirrorCwd),await r.triggerHook(A=>A.cleanGlobalArtifacts,r)),u&&await ae.removePromise(o.cwd)})).exitCode()}};kh.paths=[["cache","clean"],["cache","clear"]],kh.usage=nt.Usage({description:"remove the shared cache files",details:` - This command will remove all the files from the cache. - `,examples:[["Remove all the local archives","$0 cache clean"],["Remove all the archives stored in the ~/.yarn directory","$0 cache clean --mirror"]]});Ye();qt();var U0e=$e(f2()),I8=Ie("util"),Fh=class extends ut{constructor(){super(...arguments);this.json=he.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"});this.unsafe=he.Boolean("--no-redacted",!1,{description:"Don't redact secrets (such as tokens) from the output"});this.name=he.String()}async execute(){let r=await Ke.find(this.context.cwd,this.context.plugins),o=this.name.replace(/[.[].*$/,""),a=this.name.replace(/^[^.[]*/,"");if(typeof r.settings.get(o)>"u")throw new it(`Couldn't find a configuration settings named "${o}"`);let u=r.getSpecial(o,{hideSecrets:!this.unsafe,getNativePaths:!0}),A=_e.convertMapsToIndexableObjects(u),p=a?(0,U0e.default)(A,a):A,h=await Nt.start({configuration:r,includeFooter:!1,json:this.json,stdout:this.context.stdout},async w=>{w.reportJson(p)});if(!this.json){if(typeof p=="string")return this.context.stdout.write(`${p} -`),h.exitCode();I8.inspect.styles.name="cyan",this.context.stdout.write(`${(0,I8.inspect)(p,{depth:1/0,colors:r.get("enableColors"),compact:!1})} -`)}return h.exitCode()}};Fh.paths=[["config","get"]],Fh.usage=nt.Usage({description:"read a configuration settings",details:` - This command will print a configuration setting. - - Secrets (such as tokens) will be redacted from the output by default. If this behavior isn't desired, set the \`--no-redacted\` to get the untransformed value. - `,examples:[["Print a simple configuration setting","yarn config get yarnPath"],["Print a complex configuration setting","yarn config get packageExtensions"],["Print a nested field from the configuration",`yarn config get 'npmScopes["my-company"].npmRegistryServer'`],["Print a token from the configuration","yarn config get npmAuthToken --no-redacted"],["Print a configuration setting as JSON","yarn config get packageExtensions --json"]]});Ye();qt();var bge=$e(S8()),Qge=$e(f2()),kge=$e(P8()),x8=Ie("util"),Rh=class extends ut{constructor(){super(...arguments);this.json=he.Boolean("--json",!1,{description:"Set complex configuration settings to JSON values"});this.home=he.Boolean("-H,--home",!1,{description:"Update the home configuration instead of the project configuration"});this.name=he.String();this.value=he.String()}async execute(){let r=await Ke.find(this.context.cwd,this.context.plugins),o=()=>{if(!r.projectCwd)throw new it("This command must be run from within a project folder");return r.projectCwd},a=this.name.replace(/[.[].*$/,""),n=this.name.replace(/^[^.[]*\.?/,"");if(typeof r.settings.get(a)>"u")throw new it(`Couldn't find a configuration settings named "${a}"`);if(a==="enableStrictSettings")throw new it("This setting only affects the file it's in, and thus cannot be set from the CLI");let A=this.json?JSON.parse(this.value):this.value;await(this.home?E=>Ke.updateHomeConfiguration(E):E=>Ke.updateConfiguration(o(),E))(E=>{if(n){let R=(0,bge.default)(E);return(0,kge.default)(R,this.name,A),R}else return{...E,[a]:A}});let w=(await Ke.find(this.context.cwd,this.context.plugins)).getSpecial(a,{hideSecrets:!0,getNativePaths:!0}),I=_e.convertMapsToIndexableObjects(w),v=n?(0,Qge.default)(I,n):I;return(await Nt.start({configuration:r,includeFooter:!1,stdout:this.context.stdout},async E=>{x8.inspect.styles.name="cyan",E.reportInfo(0,`Successfully set ${this.name} to ${(0,x8.inspect)(v,{depth:1/0,colors:r.get("enableColors"),compact:!1})}`)})).exitCode()}};Rh.paths=[["config","set"]],Rh.usage=nt.Usage({description:"change a configuration settings",details:` - This command will set a configuration setting. - - When used without the \`--json\` flag, it can only set a simple configuration setting (a string, a number, or a boolean). - - When used with the \`--json\` flag, it can set both simple and complex configuration settings, including Arrays and Objects. - `,examples:[["Set a simple configuration setting (a string, a number, or a boolean)","yarn config set initScope myScope"],["Set a simple configuration setting (a string, a number, or a boolean) using the `--json` flag",'yarn config set initScope --json \\"myScope\\"'],["Set a complex configuration setting (an Array) using the `--json` flag",`yarn config set unsafeHttpWhitelist --json '["*.example.com", "example.com"]'`],["Set a complex configuration setting (an Object) using the `--json` flag",`yarn config set packageExtensions --json '{ "@babel/parser@*": { "dependencies": { "@babel/types": "*" } } }'`],["Set a nested configuration setting",'yarn config set npmScopes.company.npmRegistryServer "https://npm.example.com"'],["Set a nested configuration setting using indexed access for non-simple keys",`yarn config set 'npmRegistries["//npm.example.com"].npmAuthToken' "ffffffff-ffff-ffff-ffff-ffffffffffff"`]]});Ye();qt();var jge=$e(S8()),qge=$e(Nge()),Gge=$e(Q8()),Th=class extends ut{constructor(){super(...arguments);this.home=he.Boolean("-H,--home",!1,{description:"Update the home configuration instead of the project configuration"});this.name=he.String()}async execute(){let r=await Ke.find(this.context.cwd,this.context.plugins),o=()=>{if(!r.projectCwd)throw new it("This command must be run from within a project folder");return r.projectCwd},a=this.name.replace(/[.[].*$/,""),n=this.name.replace(/^[^.[]*\.?/,"");if(typeof r.settings.get(a)>"u")throw new it(`Couldn't find a configuration settings named "${a}"`);let A=this.home?h=>Ke.updateHomeConfiguration(h):h=>Ke.updateConfiguration(o(),h);return(await Nt.start({configuration:r,includeFooter:!1,stdout:this.context.stdout},async h=>{let w=!1;await A(I=>{if(!(0,qge.default)(I,this.name))return h.reportWarning(0,`Configuration doesn't contain setting ${this.name}; there is nothing to unset`),w=!0,I;let v=n?(0,jge.default)(I):{...I};return(0,Gge.default)(v,this.name),v}),w||h.reportInfo(0,`Successfully unset ${this.name}`)})).exitCode()}};Th.paths=[["config","unset"]],Th.usage=nt.Usage({description:"unset a configuration setting",details:` - This command will unset a configuration setting. - `,examples:[["Unset a simple configuration setting","yarn config unset initScope"],["Unset a complex configuration setting","yarn config unset packageExtensions"],["Unset a nested configuration setting","yarn config unset npmScopes.company.npmRegistryServer"]]});Ye();Ye();qt();var k8=Ie("util"),Nh=class extends ut{constructor(){super(...arguments);this.verbose=he.Boolean("-v,--verbose",!1,{description:"Print the setting description on top of the regular key/value information"});this.why=he.Boolean("--why",!1,{description:"Print the reason why a setting is set a particular way"});this.json=he.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"})}async execute(){let r=await Ke.find(this.context.cwd,this.context.plugins,{strict:!1});return(await Nt.start({configuration:r,json:this.json,stdout:this.context.stdout},async a=>{if(r.invalid.size>0&&!this.json){for(let[n,u]of r.invalid)a.reportError(34,`Invalid configuration key "${n}" in ${u}`);a.reportSeparator()}if(this.json){let n=_e.sortMap(r.settings.keys(),u=>u);for(let u of n){let A=r.settings.get(u),p=r.getSpecial(u,{hideSecrets:!0,getNativePaths:!0}),h=r.sources.get(u);this.verbose?a.reportJson({key:u,effective:p,source:h}):a.reportJson({key:u,effective:p,source:h,...A})}}else{let n=_e.sortMap(r.settings.keys(),p=>p),u=n.reduce((p,h)=>Math.max(p,h.length),0),A={breakLength:1/0,colors:r.get("enableColors"),maxArrayLength:2};if(this.why||this.verbose){let p=n.map(w=>{let I=r.settings.get(w);if(!I)throw new Error(`Assertion failed: This settings ("${w}") should have been registered`);let v=this.why?r.sources.get(w)||"<default>":I.description;return[w,v]}),h=p.reduce((w,[,I])=>Math.max(w,I.length),0);for(let[w,I]of p)a.reportInfo(null,`${w.padEnd(u," ")} ${I.padEnd(h," ")} ${(0,k8.inspect)(r.getSpecial(w,{hideSecrets:!0,getNativePaths:!0}),A)}`)}else for(let p of n)a.reportInfo(null,`${p.padEnd(u," ")} ${(0,k8.inspect)(r.getSpecial(p,{hideSecrets:!0,getNativePaths:!0}),A)}`)}})).exitCode()}};Nh.paths=[["config"]],Nh.usage=nt.Usage({description:"display the current configuration",details:` - This command prints the current active configuration settings. - `,examples:[["Print the active configuration settings","$0 config"]]});Ye();qt();Za();var AQ={};Jt(AQ,{Strategy:()=>p2,acceptedStrategies:()=>w0t,dedupe:()=>F8});Ye();Ye();var Yge=$e(Zo()),p2=(t=>(t.HIGHEST="highest",t))(p2||{}),w0t=new Set(Object.values(p2)),C0t={highest:async(e,t,{resolver:r,fetcher:o,resolveOptions:a,fetchOptions:n})=>{let u=new Map;for(let[p,h]of e.storedResolutions){let w=e.storedDescriptors.get(p);if(typeof w>"u")throw new Error(`Assertion failed: The descriptor (${p}) should have been registered`);_e.getSetWithDefault(u,w.identHash).add(h)}let A=new Map(_e.mapAndFilter(e.storedDescriptors.values(),p=>G.isVirtualDescriptor(p)?_e.mapAndFilter.skip:[p.descriptorHash,_e.makeDeferred()]));for(let p of e.storedDescriptors.values()){let h=A.get(p.descriptorHash);if(typeof h>"u")throw new Error(`Assertion failed: The descriptor (${p.descriptorHash}) should have been registered`);let w=e.storedResolutions.get(p.descriptorHash);if(typeof w>"u")throw new Error(`Assertion failed: The resolution (${p.descriptorHash}) should have been registered`);let I=e.originalPackages.get(w);if(typeof I>"u")throw new Error(`Assertion failed: The package (${w}) should have been registered`);Promise.resolve().then(async()=>{let v=r.getResolutionDependencies(p,a),b=Object.fromEntries(await _e.allSettledSafe(Object.entries(v).map(async([ee,le])=>{let fe=A.get(le.descriptorHash);if(typeof fe>"u")throw new Error(`Assertion failed: The descriptor (${le.descriptorHash}) should have been registered`);let de=await fe.promise;if(!de)throw new Error("Assertion failed: Expected the dependency to have been through the dedupe process itself");return[ee,de.updatedPackage]})));if(t.length&&!Yge.default.isMatch(G.stringifyIdent(p),t)||!r.shouldPersistResolution(I,a))return I;let E=u.get(p.identHash);if(typeof E>"u")throw new Error(`Assertion failed: The resolutions (${p.identHash}) should have been registered`);if(E.size===1)return I;let R=[...E].map(ee=>{let le=e.originalPackages.get(ee);if(typeof le>"u")throw new Error(`Assertion failed: The package (${ee}) should have been registered`);return le}),N=await r.getSatisfying(p,b,R,a),U=N.locators?.[0];if(typeof U>"u"||!N.sorted)return I;let V=e.originalPackages.get(U.locatorHash);if(typeof V>"u")throw new Error(`Assertion failed: The package (${U.locatorHash}) should have been registered`);return V}).then(async v=>{let b=await e.preparePackage(v,{resolver:r,resolveOptions:a});h.resolve({descriptor:p,currentPackage:I,updatedPackage:v,resolvedPackage:b})}).catch(v=>{h.reject(v)})}return[...A.values()].map(p=>p.promise)}};async function F8(e,{strategy:t,patterns:r,cache:o,report:a}){let{configuration:n}=e,u=new ki,A=n.makeResolver(),p=n.makeFetcher(),h={cache:o,checksums:e.storedChecksums,fetcher:p,project:e,report:u,cacheOptions:{skipIntegrityCheck:!0}},w={project:e,resolver:A,report:u,fetchOptions:h};return await a.startTimerPromise("Deduplication step",async()=>{let I=C0t[t],v=await I(e,r,{resolver:A,resolveOptions:w,fetcher:p,fetchOptions:h}),b=Zs.progressViaCounter(v.length);await a.reportProgress(b);let E=0;await Promise.all(v.map(U=>U.then(V=>{if(V===null||V.currentPackage.locatorHash===V.updatedPackage.locatorHash)return;E++;let{descriptor:ee,currentPackage:le,updatedPackage:fe}=V;a.reportInfo(0,`${G.prettyDescriptor(n,ee)} can be deduped from ${G.prettyLocator(n,le)} to ${G.prettyLocator(n,fe)}`),a.reportJson({descriptor:G.stringifyDescriptor(ee),currentResolution:G.stringifyLocator(le),updatedResolution:G.stringifyLocator(fe)}),e.storedResolutions.set(ee.descriptorHash,fe.locatorHash)}).finally(()=>b.tick())));let R;switch(E){case 0:R="No packages";break;case 1:R="One package";break;default:R=`${E} packages`}let N=ye.pretty(n,t,ye.Type.CODE);return a.reportInfo(0,`${R} can be deduped using the ${N} strategy`),E})}var Lh=class extends ut{constructor(){super(...arguments);this.strategy=he.String("-s,--strategy","highest",{description:"The strategy to use when deduping dependencies",validator:Vs(p2)});this.check=he.Boolean("-c,--check",!1,{description:"Exit with exit code 1 when duplicates are found, without persisting the dependency tree"});this.json=he.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"});this.mode=he.String("--mode",{description:"Change what artifacts installs generate",validator:Vs(fl)});this.patterns=he.Rest()}async execute(){let r=await Ke.find(this.context.cwd,this.context.plugins),{project:o}=await Pt.find(r,this.context.cwd),a=await Nr.find(r);await o.restoreInstallState({restoreResolutions:!1});let n=0,u=await Nt.start({configuration:r,includeFooter:!1,stdout:this.context.stdout,json:this.json},async A=>{n=await F8(o,{strategy:this.strategy,patterns:this.patterns,cache:a,report:A})});return u.hasErrors()?u.exitCode():this.check?n?1:0:await o.installWithNewReport({json:this.json,stdout:this.context.stdout},{cache:a,mode:this.mode})}};Lh.paths=[["dedupe"]],Lh.usage=nt.Usage({description:"deduplicate dependencies with overlapping ranges",details:"\n Duplicates are defined as descriptors with overlapping ranges being resolved and locked to different locators. They are a natural consequence of Yarn's deterministic installs, but they can sometimes pile up and unnecessarily increase the size of your project.\n\n This command dedupes dependencies in the current project using different strategies (only one is implemented at the moment):\n\n - `highest`: Reuses (where possible) the locators with the highest versions. This means that dependencies can only be upgraded, never downgraded. It's also guaranteed that it never takes more than a single pass to dedupe the entire dependency tree.\n\n **Note:** Even though it never produces a wrong dependency tree, this command should be used with caution, as it modifies the dependency tree, which can sometimes cause problems when packages don't strictly follow semver recommendations. Because of this, it is recommended to also review the changes manually.\n\n If set, the `-c,--check` flag will only report the found duplicates, without persisting the modified dependency tree. If changes are found, the command will exit with a non-zero exit code, making it suitable for CI purposes.\n\n If the `--mode=<mode>` option is set, Yarn will change which artifacts are generated. The modes currently supported are:\n\n - `skip-build` will not run the build scripts at all. Note that this is different from setting `enableScripts` to false because the latter will disable build scripts, and thus affect the content of the artifacts generated on disk, whereas the former will just disable the build step - but not the scripts themselves, which just won't run.\n\n - `update-lockfile` will skip the link step altogether, and only fetch packages that are missing from the lockfile (or that have no associated checksums). This mode is typically used by tools like Renovate or Dependabot to keep a lockfile up-to-date without incurring the full install cost.\n\n This command accepts glob patterns as arguments (if valid Idents and supported by [micromatch](https://github.com/micromatch/micromatch)). Make sure to escape the patterns, to prevent your own shell from trying to expand them.\n\n ### In-depth explanation:\n\n Yarn doesn't deduplicate dependencies by default, otherwise installs wouldn't be deterministic and the lockfile would be useless. What it actually does is that it tries to not duplicate dependencies in the first place.\n\n **Example:** If `foo@^2.3.4` (a dependency of a dependency) has already been resolved to `foo@2.3.4`, running `yarn add foo@*`will cause Yarn to reuse `foo@2.3.4`, even if the latest `foo` is actually `foo@2.10.14`, thus preventing unnecessary duplication.\n\n Duplication happens when Yarn can't unlock dependencies that have already been locked inside the lockfile.\n\n **Example:** If `foo@^2.3.4` (a dependency of a dependency) has already been resolved to `foo@2.3.4`, running `yarn add foo@2.10.14` will cause Yarn to install `foo@2.10.14` because the existing resolution doesn't satisfy the range `2.10.14`. This behavior can lead to (sometimes) unwanted duplication, since now the lockfile contains 2 separate resolutions for the 2 `foo` descriptors, even though they have overlapping ranges, which means that the lockfile can be simplified so that both descriptors resolve to `foo@2.10.14`.\n ",examples:[["Dedupe all packages","$0 dedupe"],["Dedupe all packages using a specific strategy","$0 dedupe --strategy highest"],["Dedupe a specific package","$0 dedupe lodash"],["Dedupe all packages with the `@babel/*` scope","$0 dedupe '@babel/*'"],["Check for duplicates (can be used as a CI step)","$0 dedupe --check"]]});Ye();qt();var Wd=class extends ut{async execute(){let{plugins:t}=await Ke.find(this.context.cwd,this.context.plugins),r=[];for(let u of t){let{commands:A}=u[1];if(A){let h=os.from(A).definitions();r.push([u[0],h])}}let o=this.cli.definitions(),a=(u,A)=>u.split(" ").slice(1).join()===A.split(" ").slice(1).join(),n=Wge()["@yarnpkg/builder"].bundles.standard;for(let u of r){let A=u[1];for(let p of A)o.find(h=>a(h.path,p.path)).plugin={name:u[0],isDefault:n.includes(u[0])}}this.context.stdout.write(`${JSON.stringify(o,null,2)} -`)}};Wd.paths=[["--clipanion=definitions"]];var Kd=class extends ut{async execute(){this.context.stdout.write(this.cli.usage(null))}};Kd.paths=[["help"],["--help"],["-h"]];Ye();St();qt();var gw=class extends ut{constructor(){super(...arguments);this.leadingArgument=he.String();this.args=he.Proxy()}async execute(){if(this.leadingArgument.match(/[\\/]/)&&!G.tryParseIdent(this.leadingArgument)){let r=J.resolve(this.context.cwd,Ae.toPortablePath(this.leadingArgument));return await this.cli.run(this.args,{cwd:r})}else return await this.cli.run(["run",this.leadingArgument,...this.args])}};Ye();var Jd=class extends ut{async execute(){this.context.stdout.write(`${en||"<unknown>"} -`)}};Jd.paths=[["-v"],["--version"]];Ye();Ye();qt();var Oh=class extends ut{constructor(){super(...arguments);this.commandName=he.String();this.args=he.Proxy()}async execute(){let r=await Ke.find(this.context.cwd,this.context.plugins),{project:o,locator:a}=await Pt.find(r,this.context.cwd);return await o.restoreInstallState(),await cn.executePackageShellcode(a,this.commandName,this.args,{cwd:this.context.cwd,stdin:this.context.stdin,stdout:this.context.stdout,stderr:this.context.stderr,project:o})}};Oh.paths=[["exec"]],Oh.usage=nt.Usage({description:"execute a shell script",details:` - This command simply executes a shell script within the context of the root directory of the active workspace using the portable shell. - - It also makes sure to call it in a way that's compatible with the current project (for example, on PnP projects the environment will be setup in such a way that PnP will be correctly injected into the environment). - `,examples:[["Execute a single shell command","$0 exec echo Hello World"],["Execute a shell script",'$0 exec "tsc & babel src --out-dir lib"']]});Ye();qt();Za();var Mh=class extends ut{constructor(){super(...arguments);this.hash=he.String({required:!1,validator:rd(Ey(),[iI(/^p[0-9a-f]{5}$/)])})}async execute(){let r=await Ke.find(this.context.cwd,this.context.plugins),{project:o}=await Pt.find(r,this.context.cwd);return await o.restoreInstallState({restoreResolutions:!1}),await o.applyLightResolution(),typeof this.hash<"u"?await B0t(this.hash,o,{stdout:this.context.stdout}):(await Nt.start({configuration:r,stdout:this.context.stdout,includeFooter:!1},async n=>{let u=[([,A])=>G.stringifyLocator(o.storedPackages.get(A.subject)),([,A])=>G.stringifyIdent(A.requested)];for(let[A,p]of _e.sortMap(o.peerRequirements,u)){let h=o.storedPackages.get(p.subject);if(typeof h>"u")throw new Error("Assertion failed: Expected the subject package to have been registered");let w=o.storedPackages.get(p.rootRequester);if(typeof w>"u")throw new Error("Assertion failed: Expected the root package to have been registered");let I=h.dependencies.get(p.requested.identHash)??null,v=ye.pretty(r,A,ye.Type.CODE),b=G.prettyLocator(r,h),E=G.prettyIdent(r,p.requested),R=G.prettyIdent(r,w),N=p.allRequesters.length-1,U=`descendant${N===1?"":"s"}`,V=N>0?` and ${N} ${U}`:"",ee=I!==null?"provides":"doesn't provide";n.reportInfo(null,`${v} \u2192 ${b} ${ee} ${E} to ${R}${V}`)}})).exitCode()}};Mh.paths=[["explain","peer-requirements"]],Mh.usage=nt.Usage({description:"explain a set of peer requirements",details:` - A set of peer requirements represents all peer requirements that a dependent must satisfy when providing a given peer request to a requester and its descendants. - - When the hash argument is specified, this command prints a detailed explanation of all requirements of the set corresponding to the hash and whether they're satisfied or not. - - When used without arguments, this command lists all sets of peer requirements and the corresponding hash that can be used to get detailed information about a given set. - - **Note:** A hash is a six-letter p-prefixed code that can be obtained from peer dependency warnings or from the list of all peer requirements (\`yarn explain peer-requirements\`). - `,examples:[["Explain the corresponding set of peer requirements for a hash","$0 explain peer-requirements p1a4ed"],["List all sets of peer requirements","$0 explain peer-requirements"]]});async function B0t(e,t,r){let{configuration:o}=t,a=t.peerRequirements.get(e);if(typeof a>"u")throw new Error(`No peerDependency requirements found for hash: "${e}"`);return(await Nt.start({configuration:o,stdout:r.stdout,includeFooter:!1},async u=>{let A=t.storedPackages.get(a.subject);if(typeof A>"u")throw new Error("Assertion failed: Expected the subject package to have been registered");let p=t.storedPackages.get(a.rootRequester);if(typeof p>"u")throw new Error("Assertion failed: Expected the root package to have been registered");let h=A.dependencies.get(a.requested.identHash)??null,w=h!==null?t.storedResolutions.get(h.descriptorHash):null;if(typeof w>"u")throw new Error("Assertion failed: Expected the resolution to have been registered");let I=w!==null?t.storedPackages.get(w):null;if(typeof I>"u")throw new Error("Assertion failed: Expected the provided package to have been registered");let v=[...a.allRequesters.values()].map(U=>{let V=t.storedPackages.get(U);if(typeof V>"u")throw new Error("Assertion failed: Expected the package to be registered");let ee=G.devirtualizeLocator(V),le=t.storedPackages.get(ee.locatorHash);if(typeof le>"u")throw new Error("Assertion failed: Expected the package to be registered");let fe=le.peerDependencies.get(a.requested.identHash);if(typeof fe>"u")throw new Error("Assertion failed: Expected the peer dependency to be registered");return{pkg:V,peerDependency:fe}});if(I!==null){let U=v.every(({peerDependency:V})=>Qr.satisfiesWithPrereleases(I.version,V.range));u.reportInfo(0,`${G.prettyLocator(o,A)} provides ${G.prettyLocator(o,I)} with version ${G.prettyReference(o,I.version??"<missing>")}, which ${U?"satisfies":"doesn't satisfy"} the following requirements:`)}else u.reportInfo(0,`${G.prettyLocator(o,A)} doesn't provide ${G.prettyIdent(o,a.requested)}, breaking the following requirements:`);u.reportSeparator();let b=ye.mark(o),E=[];for(let{pkg:U,peerDependency:V}of _e.sortMap(v,ee=>G.stringifyLocator(ee.pkg))){let le=(I!==null?Qr.satisfiesWithPrereleases(I.version,V.range):!1)?b.Check:b.Cross;E.push({stringifiedLocator:G.stringifyLocator(U),prettyLocator:G.prettyLocator(o,U),prettyRange:G.prettyRange(o,V.range),mark:le})}let R=Math.max(...E.map(({stringifiedLocator:U})=>U.length)),N=Math.max(...E.map(({prettyRange:U})=>U.length));for(let{stringifiedLocator:U,prettyLocator:V,prettyRange:ee,mark:le}of _e.sortMap(E,({stringifiedLocator:fe})=>fe))u.reportInfo(null,`${V.padEnd(R+(V.length-U.length)," ")} \u2192 ${ee.padEnd(N," ")} ${le}`);E.length>1&&(u.reportSeparator(),u.reportInfo(0,`Note: these requirements start with ${G.prettyLocator(t.configuration,p)}`))})).exitCode()}Ye();qt();Za();Ye();Ye();St();qt();var Kge=$e(Zn()),Uh=class extends ut{constructor(){super(...arguments);this.useYarnPath=he.Boolean("--yarn-path",{description:"Set the yarnPath setting even if the version can be accessed by Corepack"});this.onlyIfNeeded=he.Boolean("--only-if-needed",!1,{description:"Only lock the Yarn version if it isn't already locked"});this.version=he.String()}async execute(){let r=await Ke.find(this.context.cwd,this.context.plugins);if(this.onlyIfNeeded&&r.get("yarnPath")){let A=r.sources.get("yarnPath");if(!A)throw new Error("Assertion failed: Expected 'yarnPath' to have a source");let p=r.projectCwd??r.startingCwd;if(J.contains(p,A))return 0}let o=()=>{if(typeof en>"u")throw new it("The --install flag can only be used without explicit version specifier from the Yarn CLI");return`file://${process.argv[1]}`},a,n=(A,p)=>({version:p,url:A.replace(/\{\}/g,p)});if(this.version==="self")a={url:o(),version:en??"self"};else if(this.version==="latest"||this.version==="berry"||this.version==="stable")a=n("https://repo.yarnpkg.com/{}/packages/yarnpkg-cli/bin/yarn.js",await h2(r,"stable"));else if(this.version==="canary")a=n("https://repo.yarnpkg.com/{}/packages/yarnpkg-cli/bin/yarn.js",await h2(r,"canary"));else if(this.version==="classic")a={url:"https://classic.yarnpkg.com/latest.js",version:"classic"};else if(this.version.match(/^https?:/))a={url:this.version,version:"remote"};else if(this.version.match(/^\.{0,2}[\\/]/)||Ae.isAbsolute(this.version))a={url:`file://${J.resolve(Ae.toPortablePath(this.version))}`,version:"file"};else if(Qr.satisfiesWithPrereleases(this.version,">=2.0.0"))a=n("https://repo.yarnpkg.com/{}/packages/yarnpkg-cli/bin/yarn.js",this.version);else if(Qr.satisfiesWithPrereleases(this.version,"^0.x || ^1.x"))a=n("https://github.com/yarnpkg/yarn/releases/download/v{}/yarn-{}.js",this.version);else if(Qr.validRange(this.version))a=n("https://repo.yarnpkg.com/{}/packages/yarnpkg-cli/bin/yarn.js",await v0t(r,this.version));else throw new it(`Invalid version descriptor "${this.version}"`);return(await Nt.start({configuration:r,stdout:this.context.stdout,includeLogs:!this.context.quiet},async A=>{let p=async()=>{let h="file://";return a.url.startsWith(h)?(A.reportInfo(0,`Retrieving ${ye.pretty(r,a.url,ye.Type.PATH)}`),await ae.readFilePromise(a.url.slice(h.length))):(A.reportInfo(0,`Downloading ${ye.pretty(r,a.url,ye.Type.URL)}`),await tn.get(a.url,{configuration:r}))};await R8(r,a.version,p,{report:A,useYarnPath:this.useYarnPath})})).exitCode()}};Uh.paths=[["set","version"]],Uh.usage=nt.Usage({description:"lock the Yarn version used by the project",details:"\n This command will set a specific release of Yarn to be used by Corepack: https://nodejs.org/api/corepack.html.\n\n By default it only will set the `packageManager` field at the root of your project, but if the referenced release cannot be represented this way, if you already have `yarnPath` configured, or if you set the `--yarn-path` command line flag, then the release will also be downloaded from the Yarn GitHub repository, stored inside your project, and referenced via the `yarnPath` settings from your project `.yarnrc.yml` file.\n\n A very good use case for this command is to enforce the version of Yarn used by any single member of your team inside the same project - by doing this you ensure that you have control over Yarn upgrades and downgrades (including on your deployment servers), and get rid of most of the headaches related to someone using a slightly different version and getting different behavior.\n\n The version specifier can be:\n\n - a tag:\n - `latest` / `berry` / `stable` -> the most recent stable berry (`>=2.0.0`) release\n - `canary` -> the most recent canary (release candidate) berry (`>=2.0.0`) release\n - `classic` -> the most recent classic (`^0.x || ^1.x`) release\n\n - a semver range (e.g. `2.x`) -> the most recent version satisfying the range (limited to berry releases)\n\n - a semver version (e.g. `2.4.1`, `1.22.1`)\n\n - a local file referenced through either a relative or absolute path\n\n - `self` -> the version used to invoke the command\n ",examples:[["Download the latest release from the Yarn repository","$0 set version latest"],["Download the latest canary release from the Yarn repository","$0 set version canary"],["Download the latest classic release from the Yarn repository","$0 set version classic"],["Download the most recent Yarn 3 build","$0 set version 3.x"],["Download a specific Yarn 2 build","$0 set version 2.0.0-rc.30"],["Switch back to a specific Yarn 1 release","$0 set version 1.22.1"],["Use a release from the local filesystem","$0 set version ./yarn.cjs"],["Use a release from a URL","$0 set version https://repo.yarnpkg.com/3.1.0/packages/yarnpkg-cli/bin/yarn.js"],["Download the version used to invoke the command","$0 set version self"]]});async function v0t(e,t){let o=(await tn.get("https://repo.yarnpkg.com/tags",{configuration:e,jsonResponse:!0})).tags.filter(a=>Qr.satisfiesWithPrereleases(a,t));if(o.length===0)throw new it(`No matching release found for range ${ye.pretty(e,t,ye.Type.RANGE)}.`);return o[0]}async function h2(e,t){let r=await tn.get("https://repo.yarnpkg.com/tags",{configuration:e,jsonResponse:!0});if(!r.latest[t])throw new it(`Tag ${ye.pretty(e,t,ye.Type.RANGE)} not found`);return r.latest[t]}async function R8(e,t,r,{report:o,useYarnPath:a}){let n,u=async()=>(typeof n>"u"&&(n=await r()),n);if(t===null){let ee=await u();await ae.mktempPromise(async le=>{let fe=J.join(le,"yarn.cjs");await ae.writeFilePromise(fe,ee);let{stdout:de}=await Mr.execvp(process.execPath,[Ae.fromPortablePath(fe),"--version"],{cwd:le,env:{...e.env,YARN_IGNORE_PATH:"1"}});if(t=de.trim(),!Kge.default.valid(t))throw new Error(`Invalid semver version. ${ye.pretty(e,"yarn --version",ye.Type.CODE)} returned: -${t}`)})}let A=e.projectCwd??e.startingCwd,p=J.resolve(A,".yarn/releases"),h=J.resolve(p,`yarn-${t}.cjs`),w=J.relative(e.startingCwd,h),I=_e.isTaggedYarnVersion(t),v=e.get("yarnPath"),b=!I,E=b||!!v||!!a;if(a===!1){if(b)throw new zt(0,"You explicitly opted out of yarnPath usage in your command line, but the version you specified cannot be represented by Corepack");E=!1}else!E&&!process.env.COREPACK_ROOT&&(o.reportWarning(0,`You don't seem to have ${ye.applyHyperlink(e,"Corepack","https://nodejs.org/api/corepack.html")} enabled; we'll have to rely on ${ye.applyHyperlink(e,"yarnPath","https://yarnpkg.com/configuration/yarnrc#yarnPath")} instead`),E=!0);if(E){let ee=await u();o.reportInfo(0,`Saving the new release in ${ye.pretty(e,w,"magenta")}`),await ae.removePromise(J.dirname(h)),await ae.mkdirPromise(J.dirname(h),{recursive:!0}),await ae.writeFilePromise(h,ee,{mode:493}),await Ke.updateConfiguration(A,{yarnPath:J.relative(A,h)})}else await ae.removePromise(J.dirname(h)),await Ke.updateConfiguration(A,{yarnPath:Ke.deleteProperty});let R=await Ot.tryFind(A)||new Ot;R.packageManager=`yarn@${I?t:await h2(e,"stable")}`;let N={};R.exportTo(N);let U=J.join(A,Ot.fileName),V=`${JSON.stringify(N,null,R.indent)} -`;return await ae.changeFilePromise(U,V,{automaticNewlines:!0}),{bundleVersion:t}}function Jge(e){return wr[uS(e)]}var D0t=/## (?<code>YN[0-9]{4}) - `(?<name>[A-Z_]+)`\n\n(?<details>(?:.(?!##))+)/gs;async function S0t(e){let r=`https://repo.yarnpkg.com/${_e.isTaggedYarnVersion(en)?en:await h2(e,"canary")}/packages/gatsby/content/advanced/error-codes.md`,o=await tn.get(r,{configuration:e});return new Map(Array.from(o.toString().matchAll(D0t),({groups:a})=>{if(!a)throw new Error("Assertion failed: Expected the match to have been successful");let n=Jge(a.code);if(a.name!==n)throw new Error(`Assertion failed: Invalid error code data: Expected "${a.name}" to be named "${n}"`);return[a.code,a.details]}))}var _h=class extends ut{constructor(){super(...arguments);this.code=he.String({required:!1,validator:rd(Ey(),[iI(/^YN[0-9]{4}$/)])});this.json=he.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"})}async execute(){let r=await Ke.find(this.context.cwd,this.context.plugins);if(typeof this.code<"u"){let o=Jge(this.code),a=ye.pretty(r,o,ye.Type.CODE),n=this.cli.format().header(`${this.code} - ${a}`),A=(await S0t(r)).get(this.code),p=typeof A<"u"?ye.jsonOrPretty(this.json,r,ye.tuple(ye.Type.MARKDOWN,{text:A,format:this.cli.format(),paragraphs:!0})):`This error code does not have a description. - -You can help us by editing this page on GitHub \u{1F642}: -${ye.jsonOrPretty(this.json,r,ye.tuple(ye.Type.URL,"https://github.com/yarnpkg/berry/blob/master/packages/gatsby/content/advanced/error-codes.md"))} -`;this.json?this.context.stdout.write(`${JSON.stringify({code:this.code,name:o,details:p})} -`):this.context.stdout.write(`${n} - -${p} -`)}else{let o={children:_e.mapAndFilter(Object.entries(wr),([a,n])=>Number.isNaN(Number(a))?_e.mapAndFilter.skip:{label:Ju(Number(a)),value:ye.tuple(ye.Type.CODE,n)})};ra.emitTree(o,{configuration:r,stdout:this.context.stdout,json:this.json})}}};_h.paths=[["explain"]],_h.usage=nt.Usage({description:"explain an error code",details:` - When the code argument is specified, this command prints its name and its details. - - When used without arguments, this command lists all error codes and their names. - `,examples:[["Explain an error code","$0 explain YN0006"],["List all error codes","$0 explain"]]});Ye();St();qt();var Vge=$e(Zo()),Hh=class extends ut{constructor(){super(...arguments);this.all=he.Boolean("-A,--all",!1,{description:"Print versions of a package from the whole project"});this.recursive=he.Boolean("-R,--recursive",!1,{description:"Print information for all packages, including transitive dependencies"});this.extra=he.Array("-X,--extra",[],{description:"An array of requests of extra data provided by plugins"});this.cache=he.Boolean("--cache",!1,{description:"Print information about the cache entry of a package (path, size, checksum)"});this.dependents=he.Boolean("--dependents",!1,{description:"Print all dependents for each matching package"});this.manifest=he.Boolean("--manifest",!1,{description:"Print data obtained by looking at the package archive (license, homepage, ...)"});this.nameOnly=he.Boolean("--name-only",!1,{description:"Only print the name for the matching packages"});this.virtuals=he.Boolean("--virtuals",!1,{description:"Print each instance of the virtual packages"});this.json=he.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"});this.patterns=he.Rest()}async execute(){let r=await Ke.find(this.context.cwd,this.context.plugins),{project:o,workspace:a}=await Pt.find(r,this.context.cwd),n=await Nr.find(r);if(!a&&!this.all)throw new tr(o.cwd,this.context.cwd);await o.restoreInstallState();let u=new Set(this.extra);this.cache&&u.add("cache"),this.dependents&&u.add("dependents"),this.manifest&&u.add("manifest");let A=(le,{recursive:fe})=>{let de=le.anchoredLocator.locatorHash,ge=new Map,oe=[de];for(;oe.length>0;){let Be=oe.shift();if(ge.has(Be))continue;let be=o.storedPackages.get(Be);if(typeof be>"u")throw new Error("Assertion failed: Expected the package to be registered");if(ge.set(Be,be),G.isVirtualLocator(be)&&oe.push(G.devirtualizeLocator(be).locatorHash),!(!fe&&Be!==de))for(let g of be.dependencies.values()){let we=o.storedResolutions.get(g.descriptorHash);if(typeof we>"u")throw new Error("Assertion failed: Expected the resolution to be registered");oe.push(we)}}return ge.values()},p=({recursive:le})=>{let fe=new Map;for(let de of o.workspaces)for(let ge of A(de,{recursive:le}))fe.set(ge.locatorHash,ge);return fe.values()},h=({all:le,recursive:fe})=>le&&fe?o.storedPackages.values():le?p({recursive:fe}):A(a,{recursive:fe}),w=({all:le,recursive:fe})=>{let de=h({all:le,recursive:fe}),ge=this.patterns.map(be=>{let g=G.parseLocator(be),we=Vge.default.makeRe(G.stringifyIdent(g)),Se=G.isVirtualLocator(g),ce=Se?G.devirtualizeLocator(g):g;return ne=>{let te=G.stringifyIdent(ne);if(!we.test(te))return!1;if(g.reference==="unknown")return!0;let Ee=G.isVirtualLocator(ne),Re=Ee?G.devirtualizeLocator(ne):ne;return!(Se&&Ee&&g.reference!==ne.reference||ce.reference!==Re.reference)}}),oe=_e.sortMap([...de],be=>G.stringifyLocator(be));return{selection:oe.filter(be=>ge.length===0||ge.some(g=>g(be))),sortedLookup:oe}},{selection:I,sortedLookup:v}=w({all:this.all,recursive:this.recursive});if(I.length===0)throw new it("No package matched your request");let b=new Map;if(this.dependents)for(let le of v)for(let fe of le.dependencies.values()){let de=o.storedResolutions.get(fe.descriptorHash);if(typeof de>"u")throw new Error("Assertion failed: Expected the resolution to be registered");_e.getArrayWithDefault(b,de).push(le)}let E=new Map;for(let le of v){if(!G.isVirtualLocator(le))continue;let fe=G.devirtualizeLocator(le);_e.getArrayWithDefault(E,fe.locatorHash).push(le)}let R={},N={children:R},U=r.makeFetcher(),V={project:o,fetcher:U,cache:n,checksums:o.storedChecksums,report:new ki,cacheOptions:{skipIntegrityCheck:!0}},ee=[async(le,fe,de)=>{if(!fe.has("manifest"))return;let ge=await U.fetch(le,V),oe;try{oe=await Ot.find(ge.prefixPath,{baseFs:ge.packageFs})}finally{ge.releaseFs?.()}de("Manifest",{License:ye.tuple(ye.Type.NO_HINT,oe.license),Homepage:ye.tuple(ye.Type.URL,oe.raw.homepage??null)})},async(le,fe,de)=>{if(!fe.has("cache"))return;let ge={mockedPackages:o.disabledLocators,unstablePackages:o.conditionalLocators},oe=o.storedChecksums.get(le.locatorHash)??null,Be=n.getLocatorPath(le,oe,ge),be;if(Be!==null)try{be=ae.statSync(Be)}catch{}let g=typeof be<"u"?[be.size,ye.Type.SIZE]:void 0;de("Cache",{Checksum:ye.tuple(ye.Type.NO_HINT,oe),Path:ye.tuple(ye.Type.PATH,Be),Size:g})}];for(let le of I){let fe=G.isVirtualLocator(le);if(!this.virtuals&&fe)continue;let de={},ge={value:[le,ye.Type.LOCATOR],children:de};if(R[G.stringifyLocator(le)]=ge,this.nameOnly){delete ge.children;continue}let oe=E.get(le.locatorHash);typeof oe<"u"&&(de.Instances={label:"Instances",value:ye.tuple(ye.Type.NUMBER,oe.length)}),de.Version={label:"Version",value:ye.tuple(ye.Type.NO_HINT,le.version)};let Be=(g,we)=>{let Se={};if(de[g]=Se,Array.isArray(we))Se.children=we.map(ce=>({value:ce}));else{let ce={};Se.children=ce;for(let[ne,te]of Object.entries(we))typeof te>"u"||(ce[ne]={label:ne,value:te})}};if(!fe){for(let g of ee)await g(le,u,Be);await r.triggerHook(g=>g.fetchPackageInfo,le,u,Be)}le.bin.size>0&&!fe&&Be("Exported Binaries",[...le.bin.keys()].map(g=>ye.tuple(ye.Type.PATH,g)));let be=b.get(le.locatorHash);typeof be<"u"&&be.length>0&&Be("Dependents",be.map(g=>ye.tuple(ye.Type.LOCATOR,g))),le.dependencies.size>0&&!fe&&Be("Dependencies",[...le.dependencies.values()].map(g=>{let we=o.storedResolutions.get(g.descriptorHash),Se=typeof we<"u"?o.storedPackages.get(we)??null:null;return ye.tuple(ye.Type.RESOLUTION,{descriptor:g,locator:Se})})),le.peerDependencies.size>0&&fe&&Be("Peer dependencies",[...le.peerDependencies.values()].map(g=>{let we=le.dependencies.get(g.identHash),Se=typeof we<"u"?o.storedResolutions.get(we.descriptorHash)??null:null,ce=Se!==null?o.storedPackages.get(Se)??null:null;return ye.tuple(ye.Type.RESOLUTION,{descriptor:g,locator:ce})}))}ra.emitTree(N,{configuration:r,json:this.json,stdout:this.context.stdout,separators:this.nameOnly?0:2})}};Hh.paths=[["info"]],Hh.usage=nt.Usage({description:"see information related to packages",details:"\n This command prints various information related to the specified packages, accepting glob patterns.\n\n By default, if the locator reference is missing, Yarn will default to print the information about all the matching direct dependencies of the package for the active workspace. To instead print all versions of the package that are direct dependencies of any of your workspaces, use the `-A,--all` flag. Adding the `-R,--recursive` flag will also report transitive dependencies.\n\n Some fields will be hidden by default in order to keep the output readable, but can be selectively displayed by using additional options (`--dependents`, `--manifest`, `--virtuals`, ...) described in the option descriptions.\n\n Note that this command will only print the information directly related to the selected packages - if you wish to know why the package is there in the first place, use `yarn why` which will do just that (it also provides a `-R,--recursive` flag that may be of some help).\n ",examples:[["Show information about Lodash","$0 info lodash"]]});Ye();St();Nl();var fQ=$e($g());qt();var T8=$e(Zn());Za();var P0t=[{selector:e=>e===-1,name:"nodeLinker",value:"node-modules"},{selector:e=>e!==-1&&e<8,name:"enableGlobalCache",value:!1},{selector:e=>e!==-1&&e<8,name:"compressionLevel",value:"mixed"}],jh=class extends ut{constructor(){super(...arguments);this.json=he.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"});this.immutable=he.Boolean("--immutable",{description:"Abort with an error exit code if the lockfile was to be modified"});this.immutableCache=he.Boolean("--immutable-cache",{description:"Abort with an error exit code if the cache folder was to be modified"});this.refreshLockfile=he.Boolean("--refresh-lockfile",{description:"Refresh the package metadata stored in the lockfile"});this.checkCache=he.Boolean("--check-cache",{description:"Always refetch the packages and ensure that their checksums are consistent"});this.checkResolutions=he.Boolean("--check-resolutions",{description:"Validates that the package resolutions are coherent"});this.inlineBuilds=he.Boolean("--inline-builds",{description:"Verbosely print the output of the build steps of dependencies"});this.mode=he.String("--mode",{description:"Change what artifacts installs generate",validator:Vs(fl)});this.cacheFolder=he.String("--cache-folder",{hidden:!0});this.frozenLockfile=he.Boolean("--frozen-lockfile",{hidden:!0});this.ignoreEngines=he.Boolean("--ignore-engines",{hidden:!0});this.nonInteractive=he.Boolean("--non-interactive",{hidden:!0});this.preferOffline=he.Boolean("--prefer-offline",{hidden:!0});this.production=he.Boolean("--production",{hidden:!0});this.registry=he.String("--registry",{hidden:!0});this.silent=he.Boolean("--silent",{hidden:!0});this.networkTimeout=he.String("--network-timeout",{hidden:!0})}async execute(){let r=await Ke.find(this.context.cwd,this.context.plugins);typeof this.inlineBuilds<"u"&&r.useWithSource("<cli>",{enableInlineBuilds:this.inlineBuilds},r.startingCwd,{overwrite:!0});let o=!!process.env.FUNCTION_TARGET||!!process.env.GOOGLE_RUNTIME,a=async(E,{error:R})=>{let N=await Nt.start({configuration:r,stdout:this.context.stdout,includeFooter:!1},async U=>{R?U.reportError(50,E):U.reportWarning(50,E)});return N.hasErrors()?N.exitCode():null};if(typeof this.ignoreEngines<"u"){let E=await a("The --ignore-engines option is deprecated; engine checking isn't a core feature anymore",{error:!fQ.default.VERCEL});if(E!==null)return E}if(typeof this.registry<"u"){let E=await a("The --registry option is deprecated; prefer setting npmRegistryServer in your .yarnrc.yml file",{error:!1});if(E!==null)return E}if(typeof this.preferOffline<"u"){let E=await a("The --prefer-offline flag is deprecated; use the --cached flag with 'yarn add' instead",{error:!fQ.default.VERCEL});if(E!==null)return E}if(typeof this.production<"u"){let E=await a("The --production option is deprecated on 'install'; use 'yarn workspaces focus' instead",{error:!0});if(E!==null)return E}if(typeof this.nonInteractive<"u"){let E=await a("The --non-interactive option is deprecated",{error:!o});if(E!==null)return E}if(typeof this.frozenLockfile<"u"&&(await a("The --frozen-lockfile option is deprecated; use --immutable and/or --immutable-cache instead",{error:!1}),this.immutable=this.frozenLockfile),typeof this.cacheFolder<"u"){let E=await a("The cache-folder option has been deprecated; use rc settings instead",{error:!fQ.default.NETLIFY});if(E!==null)return E}let n=this.mode==="update-lockfile";if(n&&(this.immutable||this.immutableCache))throw new it(`${ye.pretty(r,"--immutable",ye.Type.CODE)} and ${ye.pretty(r,"--immutable-cache",ye.Type.CODE)} cannot be used with ${ye.pretty(r,"--mode=update-lockfile",ye.Type.CODE)}`);let u=(this.immutable??r.get("enableImmutableInstalls"))&&!n,A=this.immutableCache&&!n;if(r.projectCwd!==null){let E=await Nt.start({configuration:r,json:this.json,stdout:this.context.stdout,includeFooter:!1},async R=>{let N=!1;await Q0t(r,u)&&(R.reportInfo(48,"Automatically removed core plugins that are now builtins \u{1F44D}"),N=!0),await b0t(r,u)&&(R.reportInfo(48,"Automatically fixed merge conflicts \u{1F44D}"),N=!0),N&&R.reportSeparator()});if(E.hasErrors())return E.exitCode()}if(r.projectCwd!==null){let E=await Nt.start({configuration:r,json:this.json,stdout:this.context.stdout,includeFooter:!1},async R=>{if(Ke.telemetry?.isNew)Ke.telemetry.commitTips(),R.reportInfo(65,"Yarn will periodically gather anonymous telemetry: https://yarnpkg.com/advanced/telemetry"),R.reportInfo(65,`Run ${ye.pretty(r,"yarn config set --home enableTelemetry 0",ye.Type.CODE)} to disable`),R.reportSeparator();else if(Ke.telemetry?.shouldShowTips){let N=await tn.get("https://repo.yarnpkg.com/tags",{configuration:r,jsonResponse:!0}).catch(()=>null);if(N!==null){let U=null;if(en!==null){let ee=T8.default.prerelease(en)?"canary":"stable",le=N.latest[ee];T8.default.gt(le,en)&&(U=[ee,le])}if(U)Ke.telemetry.commitTips(),R.reportInfo(88,`${ye.applyStyle(r,`A new ${U[0]} version of Yarn is available:`,ye.Style.BOLD)} ${G.prettyReference(r,U[1])}!`),R.reportInfo(88,`Upgrade now by running ${ye.pretty(r,`yarn set version ${U[1]}`,ye.Type.CODE)}`),R.reportSeparator();else{let V=Ke.telemetry.selectTip(N.tips);V&&(R.reportInfo(89,ye.pretty(r,V.message,ye.Type.MARKDOWN_INLINE)),V.url&&R.reportInfo(89,`Learn more at ${V.url}`),R.reportSeparator())}}}});if(E.hasErrors())return E.exitCode()}let{project:p,workspace:h}=await Pt.find(r,this.context.cwd),w=p.lockfileLastVersion;if(w!==null){let E=await Nt.start({configuration:r,json:this.json,stdout:this.context.stdout,includeFooter:!1},async R=>{let N={};for(let U of P0t)U.selector(w)&&typeof r.sources.get(U.name)>"u"&&(r.use("<compat>",{[U.name]:U.value},p.cwd,{overwrite:!0}),N[U.name]=U.value);Object.keys(N).length>0&&(await Ke.updateConfiguration(p.cwd,N),R.reportInfo(87,"Migrated your project to the latest Yarn version \u{1F680}"),R.reportSeparator())});if(E.hasErrors())return E.exitCode()}let I=await Nr.find(r,{immutable:A,check:this.checkCache});if(!h)throw new tr(p.cwd,this.context.cwd);await p.restoreInstallState({restoreResolutions:!1});let v=r.get("enableHardenedMode");(this.refreshLockfile??v)&&(p.lockfileNeedsRefresh=!0);let b=this.checkResolutions??v;return await p.installWithNewReport({json:this.json,stdout:this.context.stdout},{cache:I,immutable:u,checkResolutions:b,mode:this.mode})}};jh.paths=[["install"],nt.Default],jh.usage=nt.Usage({description:"install the project dependencies",details:"\n This command sets up your project if needed. The installation is split into four different steps that each have their own characteristics:\n\n - **Resolution:** First the package manager will resolve your dependencies. The exact way a dependency version is privileged over another isn't standardized outside of the regular semver guarantees. If a package doesn't resolve to what you would expect, check that all dependencies are correctly declared (also check our website for more information: ).\n\n - **Fetch:** Then we download all the dependencies if needed, and make sure that they're all stored within our cache (check the value of `cacheFolder` in `yarn config` to see where the cache files are stored).\n\n - **Link:** Then we send the dependency tree information to internal plugins tasked with writing them on the disk in some form (for example by generating the .pnp.cjs file you might know).\n\n - **Build:** Once the dependency tree has been written on the disk, the package manager will now be free to run the build scripts for all packages that might need it, in a topological order compatible with the way they depend on one another. See https://yarnpkg.com/advanced/lifecycle-scripts for detail.\n\n Note that running this command is not part of the recommended workflow. Yarn supports zero-installs, which means that as long as you store your cache and your .pnp.cjs file inside your repository, everything will work without requiring any install right after cloning your repository or switching branches.\n\n If the `--immutable` option is set (defaults to true on CI), Yarn will abort with an error exit code if the lockfile was to be modified (other paths can be added using the `immutablePatterns` configuration setting). For backward compatibility we offer an alias under the name of `--frozen-lockfile`, but it will be removed in a later release.\n\n If the `--immutable-cache` option is set, Yarn will abort with an error exit code if the cache folder was to be modified (either because files would be added, or because they'd be removed).\n\n If the `--refresh-lockfile` option is set, Yarn will keep the same resolution for the packages currently in the lockfile but will refresh their metadata. If used together with `--immutable`, it can validate that the lockfile information are consistent. This flag is enabled by default when Yarn detects it runs within a pull request context.\n\n If the `--check-cache` option is set, Yarn will always refetch the packages and will ensure that their checksum matches what's 1/ described in the lockfile 2/ inside the existing cache files (if present). This is recommended as part of your CI workflow if you're both following the Zero-Installs model and accepting PRs from third-parties, as they'd otherwise have the ability to alter the checked-in packages before submitting them.\n\n If the `--inline-builds` option is set, Yarn will verbosely print the output of the build steps of your dependencies (instead of writing them into individual files). This is likely useful mostly for debug purposes only when using Docker-like environments.\n\n If the `--mode=<mode>` option is set, Yarn will change which artifacts are generated. The modes currently supported are:\n\n - `skip-build` will not run the build scripts at all. Note that this is different from setting `enableScripts` to false because the latter will disable build scripts, and thus affect the content of the artifacts generated on disk, whereas the former will just disable the build step - but not the scripts themselves, which just won't run.\n\n - `update-lockfile` will skip the link step altogether, and only fetch packages that are missing from the lockfile (or that have no associated checksums). This mode is typically used by tools like Renovate or Dependabot to keep a lockfile up-to-date without incurring the full install cost.\n ",examples:[["Install the project","$0 install"],["Validate a project when using Zero-Installs","$0 install --immutable --immutable-cache"],["Validate a project when using Zero-Installs (slightly safer if you accept external PRs)","$0 install --immutable --immutable-cache --check-cache"]]});var x0t="<<<<<<<";async function b0t(e,t){if(!e.projectCwd)return!1;let r=J.join(e.projectCwd,gr.lockfile);if(!await ae.existsPromise(r)||!(await ae.readFilePromise(r,"utf8")).includes(x0t))return!1;if(t)throw new zt(47,"Cannot autofix a lockfile when running an immutable install");let a=await Mr.execvp("git",["rev-parse","MERGE_HEAD","HEAD"],{cwd:e.projectCwd});if(a.code!==0&&(a=await Mr.execvp("git",["rev-parse","REBASE_HEAD","HEAD"],{cwd:e.projectCwd})),a.code!==0&&(a=await Mr.execvp("git",["rev-parse","CHERRY_PICK_HEAD","HEAD"],{cwd:e.projectCwd})),a.code!==0)throw new zt(83,"Git returned an error when trying to find the commits pertaining to the conflict");let n=await Promise.all(a.stdout.trim().split(/\n/).map(async A=>{let p=await Mr.execvp("git",["show",`${A}:./${gr.lockfile}`],{cwd:e.projectCwd});if(p.code!==0)throw new zt(83,`Git returned an error when trying to access the lockfile content in ${A}`);try{return Ji(p.stdout)}catch{throw new zt(46,"A variant of the conflicting lockfile failed to parse")}}));n=n.filter(A=>!!A.__metadata);for(let A of n){if(A.__metadata.version<7)for(let p of Object.keys(A)){if(p==="__metadata")continue;let h=G.parseDescriptor(p,!0),w=e.normalizeDependency(h),I=G.stringifyDescriptor(w);I!==p&&(A[I]=A[p],delete A[p])}for(let p of Object.keys(A)){if(p==="__metadata")continue;let h=A[p].checksum;typeof h=="string"&&h.includes("/")||(A[p].checksum=`${A.__metadata.cacheKey}/${h}`)}}let u=Object.assign({},...n);u.__metadata.version=`${Math.min(...n.map(A=>parseInt(A.__metadata.version??0)))}`,u.__metadata.cacheKey="merged";for(let[A,p]of Object.entries(u))typeof p=="string"&&delete u[A];return await ae.changeFilePromise(r,Ba(u),{automaticNewlines:!0}),!0}async function Q0t(e,t){if(!e.projectCwd)return!1;let r=[],o=J.join(e.projectCwd,".yarn/plugins/@yarnpkg");return await Ke.updateConfiguration(e.projectCwd,{plugins:n=>{if(!Array.isArray(n))return n;let u=n.filter(A=>{if(!A.path)return!0;let p=J.resolve(e.projectCwd,A.path),h=I1.has(A.spec)&&J.contains(o,p);return h&&r.push(p),!h});return u.length===0?Ke.deleteProperty:u.length===n.length?n:u}},{immutable:t})?(await Promise.all(r.map(async n=>{await ae.removePromise(n)})),!0):!1}Ye();St();qt();var qh=class extends ut{constructor(){super(...arguments);this.all=he.Boolean("-A,--all",!1,{description:"Link all workspaces belonging to the target projects to the current one"});this.private=he.Boolean("-p,--private",!1,{description:"Also link private workspaces belonging to the target projects to the current one"});this.relative=he.Boolean("-r,--relative",!1,{description:"Link workspaces using relative paths instead of absolute paths"});this.destinations=he.Rest()}async execute(){let r=await Ke.find(this.context.cwd,this.context.plugins),{project:o,workspace:a}=await Pt.find(r,this.context.cwd),n=await Nr.find(r);if(!a)throw new tr(o.cwd,this.context.cwd);await o.restoreInstallState({restoreResolutions:!1});let u=o.topLevelWorkspace,A=[];for(let p of this.destinations){let h=J.resolve(this.context.cwd,Ae.toPortablePath(p)),w=await Ke.find(h,this.context.plugins,{useRc:!1,strict:!1}),{project:I,workspace:v}=await Pt.find(w,h);if(o.cwd===I.cwd)throw new it(`Invalid destination '${p}'; Can't link the project to itself`);if(!v)throw new tr(I.cwd,h);if(this.all){let b=!1;for(let E of I.workspaces)E.manifest.name&&(!E.manifest.private||this.private)&&(A.push(E),b=!0);if(!b)throw new it(`No workspace found to be linked in the target project: ${p}`)}else{if(!v.manifest.name)throw new it(`The target workspace at '${p}' doesn't have a name and thus cannot be linked`);if(v.manifest.private&&!this.private)throw new it(`The target workspace at '${p}' is marked private - use the --private flag to link it anyway`);A.push(v)}}for(let p of A){let h=G.stringifyIdent(p.anchoredLocator),w=this.relative?J.relative(o.cwd,p.cwd):p.cwd;u.manifest.resolutions.push({pattern:{descriptor:{fullName:h}},reference:`portal:${w}`})}return await o.installWithNewReport({stdout:this.context.stdout},{cache:n})}};qh.paths=[["link"]],qh.usage=nt.Usage({description:"connect the local project to another one",details:"\n This command will set a new `resolutions` field in the project-level manifest and point it to the workspace at the specified location (even if part of another project).\n ",examples:[["Register one or more remote workspaces for use in the current project","$0 link ~/ts-loader ~/jest"],["Register all workspaces from a remote project for use in the current project","$0 link ~/jest --all"]]});qt();var Gh=class extends ut{constructor(){super(...arguments);this.args=he.Proxy()}async execute(){return this.cli.run(["exec","node",...this.args])}};Gh.paths=[["node"]],Gh.usage=nt.Usage({description:"run node with the hook already setup",details:` - This command simply runs Node. It also makes sure to call it in a way that's compatible with the current project (for example, on PnP projects the environment will be setup in such a way that PnP will be correctly injected into the environment). - - The Node process will use the exact same version of Node as the one used to run Yarn itself, which might be a good way to ensure that your commands always use a consistent Node version. - `,examples:[["Run a Node script","$0 node ./my-script.js"]]});Ye();qt();var Yh=class extends ut{constructor(){super(...arguments);this.json=he.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"})}async execute(){let r=await Ke.find(this.context.cwd,this.context.plugins),o=await Ke.findRcFiles(this.context.cwd);return(await Nt.start({configuration:r,json:this.json,stdout:this.context.stdout},async n=>{for(let u of o)if(!!u.data?.plugins)for(let A of u.data.plugins){if(!A.checksum||!A.spec.match(/^https?:/))continue;let p=await tn.get(A.spec,{configuration:r}),h=wn.makeHash(p);if(A.checksum===h)continue;let w=ye.pretty(r,A.path,ye.Type.PATH),I=ye.pretty(r,A.spec,ye.Type.URL),v=`${w} is different from the file provided by ${I}`;n.reportJson({...A,newChecksum:h}),n.reportError(0,v)}})).exitCode()}};Yh.paths=[["plugin","check"]],Yh.usage=nt.Usage({category:"Plugin-related commands",description:"find all third-party plugins that differ from their own spec",details:` - Check only the plugins from https. - - If this command detects any plugin differences in the CI environment, it will throw an error. - `,examples:[["find all third-party plugins that differ from their own spec","$0 plugin check"]]});Ye();Ye();St();qt();var tde=Ie("os");Ye();St();qt();var zge=Ie("os");Ye();Nl();qt();var k0t="https://raw.githubusercontent.com/yarnpkg/berry/master/plugins.yml";async function Vd(e,t){let r=await tn.get(k0t,{configuration:e}),o=Ji(r.toString());return Object.fromEntries(Object.entries(o).filter(([a,n])=>!t||Qr.satisfiesWithPrereleases(t,n.range??"<4.0.0-rc.1")))}var Wh=class extends ut{constructor(){super(...arguments);this.json=he.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"})}async execute(){let r=await Ke.find(this.context.cwd,this.context.plugins);return(await Nt.start({configuration:r,json:this.json,stdout:this.context.stdout},async a=>{let n=await Vd(r,en);for(let[u,{experimental:A,...p}]of Object.entries(n)){let h=u;A&&(h+=" [experimental]"),a.reportJson({name:u,experimental:A,...p}),a.reportInfo(null,h)}})).exitCode()}};Wh.paths=[["plugin","list"]],Wh.usage=nt.Usage({category:"Plugin-related commands",description:"list the available official plugins",details:"\n This command prints the plugins available directly from the Yarn repository. Only those plugins can be referenced by name in `yarn plugin import`.\n ",examples:[["List the official plugins","$0 plugin list"]]});var F0t=/^[0-9]+$/;function Xge(e){return F0t.test(e)?`pull/${e}/head`:e}var R0t=({repository:e,branch:t},r)=>[["git","init",Ae.fromPortablePath(r)],["git","remote","add","origin",e],["git","fetch","origin","--depth=1",Xge(t)],["git","reset","--hard","FETCH_HEAD"]],T0t=({branch:e})=>[["git","fetch","origin","--depth=1",Xge(e),"--force"],["git","reset","--hard","FETCH_HEAD"],["git","clean","-dfx","-e","packages/yarnpkg-cli/bundles"]],N0t=({plugins:e,noMinify:t},r,o)=>[["yarn","build:cli",...new Array().concat(...e.map(a=>["--plugin",J.resolve(o,a)])),...t?["--no-minify"]:[],"|"],["mv","packages/yarnpkg-cli/bundles/yarn.js",Ae.fromPortablePath(r),"|"]],Kh=class extends ut{constructor(){super(...arguments);this.installPath=he.String("--path",{description:"The path where the repository should be cloned to"});this.repository=he.String("--repository","https://github.com/yarnpkg/berry.git",{description:"The repository that should be cloned"});this.branch=he.String("--branch","master",{description:"The branch of the repository that should be cloned"});this.plugins=he.Array("--plugin",[],{description:"An array of additional plugins that should be included in the bundle"});this.dryRun=he.Boolean("-n,--dry-run",!1,{description:"If set, the bundle will be built but not added to the project"});this.noMinify=he.Boolean("--no-minify",!1,{description:"Build a bundle for development (debugging) - non-minified and non-mangled"});this.force=he.Boolean("-f,--force",!1,{description:"Always clone the repository instead of trying to fetch the latest commits"});this.skipPlugins=he.Boolean("--skip-plugins",!1,{description:"Skip updating the contrib plugins"})}async execute(){let r=await Ke.find(this.context.cwd,this.context.plugins),{project:o}=await Pt.find(r,this.context.cwd),a=typeof this.installPath<"u"?J.resolve(this.context.cwd,Ae.toPortablePath(this.installPath)):J.resolve(Ae.toPortablePath((0,zge.tmpdir)()),"yarnpkg-sources",wn.makeHash(this.repository).slice(0,6));return(await Nt.start({configuration:r,stdout:this.context.stdout},async u=>{await N8(this,{configuration:r,report:u,target:a}),u.reportSeparator(),u.reportInfo(0,"Building a fresh bundle"),u.reportSeparator();let A=await Mr.execvp("git",["rev-parse","--short","HEAD"],{cwd:a,strict:!0}),p=J.join(a,`packages/yarnpkg-cli/bundles/yarn-${A.stdout.trim()}.js`);ae.existsSync(p)||(await g2(N0t(this,p,a),{configuration:r,context:this.context,target:a}),u.reportSeparator());let h=await ae.readFilePromise(p);if(!this.dryRun){let{bundleVersion:w}=await R8(r,null,async()=>h,{report:u});this.skipPlugins||await L0t(this,w,{project:o,report:u,target:a})}})).exitCode()}};Kh.paths=[["set","version","from","sources"]],Kh.usage=nt.Usage({description:"build Yarn from master",details:` - This command will clone the Yarn repository into a temporary folder, then build it. The resulting bundle will then be copied into the local project. - - By default, it also updates all contrib plugins to the same commit the bundle is built from. This behavior can be disabled by using the \`--skip-plugins\` flag. - `,examples:[["Build Yarn from master","$0 set version from sources"]]});async function g2(e,{configuration:t,context:r,target:o}){for(let[a,...n]of e){let u=n[n.length-1]==="|";if(u&&n.pop(),u)await Mr.pipevp(a,n,{cwd:o,stdin:r.stdin,stdout:r.stdout,stderr:r.stderr,strict:!0});else{r.stdout.write(`${ye.pretty(t,` $ ${[a,...n].join(" ")}`,"grey")} -`);try{await Mr.execvp(a,n,{cwd:o,strict:!0})}catch(A){throw r.stdout.write(A.stdout||A.stack),A}}}}async function N8(e,{configuration:t,report:r,target:o}){let a=!1;if(!e.force&&ae.existsSync(J.join(o,".git"))){r.reportInfo(0,"Fetching the latest commits"),r.reportSeparator();try{await g2(T0t(e),{configuration:t,context:e.context,target:o}),a=!0}catch{r.reportSeparator(),r.reportWarning(0,"Repository update failed; we'll try to regenerate it")}}a||(r.reportInfo(0,"Cloning the remote repository"),r.reportSeparator(),await ae.removePromise(o),await ae.mkdirPromise(o,{recursive:!0}),await g2(R0t(e,o),{configuration:t,context:e.context,target:o}))}async function L0t(e,t,{project:r,report:o,target:a}){let n=await Vd(r.configuration,t),u=new Set(Object.keys(n));for(let A of r.configuration.plugins.keys())!u.has(A)||await L8(A,e,{project:r,report:o,target:a})}Ye();Ye();St();qt();var Zge=$e(Zn()),$ge=Ie("url"),ede=Ie("vm");var Jh=class extends ut{constructor(){super(...arguments);this.name=he.String();this.checksum=he.Boolean("--checksum",!0,{description:"Whether to care if this plugin is modified"})}async execute(){let r=await Ke.find(this.context.cwd,this.context.plugins);return(await Nt.start({configuration:r,stdout:this.context.stdout},async a=>{let{project:n}=await Pt.find(r,this.context.cwd),u,A;if(this.name.match(/^\.{0,2}[\\/]/)||Ae.isAbsolute(this.name)){let p=J.resolve(this.context.cwd,Ae.toPortablePath(this.name));a.reportInfo(0,`Reading ${ye.pretty(r,p,ye.Type.PATH)}`),u=J.relative(n.cwd,p),A=await ae.readFilePromise(p)}else{let p;if(this.name.match(/^https?:/)){try{new $ge.URL(this.name)}catch{throw new zt(52,`Plugin specifier "${this.name}" is neither a plugin name nor a valid url`)}u=this.name,p=this.name}else{let h=G.parseLocator(this.name.replace(/^((@yarnpkg\/)?plugin-)?/,"@yarnpkg/plugin-"));if(h.reference!=="unknown"&&!Zge.default.valid(h.reference))throw new zt(0,"Official plugins only accept strict version references. Use an explicit URL if you wish to download them from another location.");let w=G.stringifyIdent(h),I=await Vd(r,en);if(!Object.hasOwn(I,w)){let v=`Couldn't find a plugin named ${G.prettyIdent(r,h)} on the remote registry. -`;throw r.plugins.has(w)?v+=`A plugin named ${G.prettyIdent(r,h)} is already installed; possibly attempting to import a built-in plugin.`:v+=`Note that only the plugins referenced on our website (${ye.pretty(r,"https://github.com/yarnpkg/berry/blob/master/plugins.yml",ye.Type.URL)}) can be referenced by their name; any other plugin will have to be referenced through its public url (for example ${ye.pretty(r,"https://github.com/yarnpkg/berry/raw/master/packages/plugin-typescript/bin/%40yarnpkg/plugin-typescript.js",ye.Type.URL)}).`,new zt(51,v)}u=w,p=I[w].url,h.reference!=="unknown"?p=p.replace(/\/master\//,`/${w}/${h.reference}/`):en!==null&&(p=p.replace(/\/master\//,`/@yarnpkg/cli/${en}/`))}a.reportInfo(0,`Downloading ${ye.pretty(r,p,"green")}`),A=await tn.get(p,{configuration:r})}await O8(u,A,{checksum:this.checksum,project:n,report:a})})).exitCode()}};Jh.paths=[["plugin","import"]],Jh.usage=nt.Usage({category:"Plugin-related commands",description:"download a plugin",details:` - This command downloads the specified plugin from its remote location and updates the configuration to reference it in further CLI invocations. - - Three types of plugin references are accepted: - - - If the plugin is stored within the Yarn repository, it can be referenced by name. - - Third-party plugins can be referenced directly through their public urls. - - Local plugins can be referenced by their path on the disk. - - If the \`--no-checksum\` option is set, Yarn will no longer care if the plugin is modified. - - Plugins cannot be downloaded from the npm registry, and aren't allowed to have dependencies (they need to be bundled into a single file, possibly thanks to the \`@yarnpkg/builder\` package). - `,examples:[['Download and activate the "@yarnpkg/plugin-exec" plugin',"$0 plugin import @yarnpkg/plugin-exec"],['Download and activate the "@yarnpkg/plugin-exec" plugin (shorthand)',"$0 plugin import exec"],["Download and activate a community plugin","$0 plugin import https://example.org/path/to/plugin.js"],["Activate a local plugin","$0 plugin import ./path/to/plugin.js"]]});async function O8(e,t,{checksum:r=!0,project:o,report:a}){let{configuration:n}=o,u={},A={exports:u};(0,ede.runInNewContext)(t.toString(),{module:A,exports:u});let h=`.yarn/plugins/${A.exports.name}.cjs`,w=J.resolve(o.cwd,h);a.reportInfo(0,`Saving the new plugin in ${ye.pretty(n,h,"magenta")}`),await ae.mkdirPromise(J.dirname(w),{recursive:!0}),await ae.writeFilePromise(w,t);let I={path:h,spec:e};r&&(I.checksum=wn.makeHash(t)),await Ke.addPlugin(o.cwd,[I])}var O0t=({pluginName:e,noMinify:t},r)=>[["yarn",`build:${e}`,...t?["--no-minify"]:[],"|"]],Vh=class extends ut{constructor(){super(...arguments);this.installPath=he.String("--path",{description:"The path where the repository should be cloned to"});this.repository=he.String("--repository","https://github.com/yarnpkg/berry.git",{description:"The repository that should be cloned"});this.branch=he.String("--branch","master",{description:"The branch of the repository that should be cloned"});this.noMinify=he.Boolean("--no-minify",!1,{description:"Build a plugin for development (debugging) - non-minified and non-mangled"});this.force=he.Boolean("-f,--force",!1,{description:"Always clone the repository instead of trying to fetch the latest commits"});this.name=he.String()}async execute(){let r=await Ke.find(this.context.cwd,this.context.plugins),o=typeof this.installPath<"u"?J.resolve(this.context.cwd,Ae.toPortablePath(this.installPath)):J.resolve(Ae.toPortablePath((0,tde.tmpdir)()),"yarnpkg-sources",wn.makeHash(this.repository).slice(0,6));return(await Nt.start({configuration:r,stdout:this.context.stdout},async n=>{let{project:u}=await Pt.find(r,this.context.cwd),A=G.parseIdent(this.name.replace(/^((@yarnpkg\/)?plugin-)?/,"@yarnpkg/plugin-")),p=G.stringifyIdent(A),h=await Vd(r,en);if(!Object.hasOwn(h,p))throw new zt(51,`Couldn't find a plugin named "${p}" on the remote registry. Note that only the plugins referenced on our website (https://github.com/yarnpkg/berry/blob/master/plugins.yml) can be built and imported from sources.`);let w=p;await N8(this,{configuration:r,report:n,target:o}),await L8(w,this,{project:u,report:n,target:o})})).exitCode()}};Vh.paths=[["plugin","import","from","sources"]],Vh.usage=nt.Usage({category:"Plugin-related commands",description:"build a plugin from sources",details:` - This command clones the Yarn repository into a temporary folder, builds the specified contrib plugin and updates the configuration to reference it in further CLI invocations. - - The plugins can be referenced by their short name if sourced from the official Yarn repository. - `,examples:[['Build and activate the "@yarnpkg/plugin-exec" plugin',"$0 plugin import from sources @yarnpkg/plugin-exec"],['Build and activate the "@yarnpkg/plugin-exec" plugin (shorthand)',"$0 plugin import from sources exec"]]});async function L8(e,{context:t,noMinify:r},{project:o,report:a,target:n}){let u=e.replace(/@yarnpkg\//,""),{configuration:A}=o;a.reportSeparator(),a.reportInfo(0,`Building a fresh ${u}`),a.reportSeparator(),await g2(O0t({pluginName:u,noMinify:r},n),{configuration:A,context:t,target:n}),a.reportSeparator();let p=J.resolve(n,`packages/${u}/bundles/${e}.js`),h=await ae.readFilePromise(p);await O8(e,h,{project:o,report:a})}Ye();St();qt();var zh=class extends ut{constructor(){super(...arguments);this.name=he.String()}async execute(){let r=await Ke.find(this.context.cwd,this.context.plugins),{project:o}=await Pt.find(r,this.context.cwd);return(await Nt.start({configuration:r,stdout:this.context.stdout},async n=>{let u=this.name,A=G.parseIdent(u);if(!r.plugins.has(u))throw new it(`${G.prettyIdent(r,A)} isn't referenced by the current configuration`);let p=`.yarn/plugins/${u}.cjs`,h=J.resolve(o.cwd,p);ae.existsSync(h)&&(n.reportInfo(0,`Removing ${ye.pretty(r,p,ye.Type.PATH)}...`),await ae.removePromise(h)),n.reportInfo(0,"Updating the configuration..."),await Ke.updateConfiguration(o.cwd,{plugins:w=>{if(!Array.isArray(w))return w;let I=w.filter(v=>v.path!==p);return I.length===0?Ke.deleteProperty:I.length===w.length?w:I}})})).exitCode()}};zh.paths=[["plugin","remove"]],zh.usage=nt.Usage({category:"Plugin-related commands",description:"remove a plugin",details:` - This command deletes the specified plugin from the .yarn/plugins folder and removes it from the configuration. - - **Note:** The plugins have to be referenced by their name property, which can be obtained using the \`yarn plugin runtime\` command. Shorthands are not allowed. - `,examples:[["Remove a plugin imported from the Yarn repository","$0 plugin remove @yarnpkg/plugin-typescript"],["Remove a plugin imported from a local file","$0 plugin remove my-local-plugin"]]});Ye();qt();var Xh=class extends ut{constructor(){super(...arguments);this.json=he.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"})}async execute(){let r=await Ke.find(this.context.cwd,this.context.plugins);return(await Nt.start({configuration:r,json:this.json,stdout:this.context.stdout},async a=>{for(let n of r.plugins.keys()){let u=this.context.plugins.plugins.has(n),A=n;u&&(A+=" [builtin]"),a.reportJson({name:n,builtin:u}),a.reportInfo(null,`${A}`)}})).exitCode()}};Xh.paths=[["plugin","runtime"]],Xh.usage=nt.Usage({category:"Plugin-related commands",description:"list the active plugins",details:` - This command prints the currently active plugins. Will be displayed both builtin plugins and external plugins. - `,examples:[["List the currently active plugins","$0 plugin runtime"]]});Ye();Ye();qt();var Zh=class extends ut{constructor(){super(...arguments);this.idents=he.Rest()}async execute(){let r=await Ke.find(this.context.cwd,this.context.plugins),{project:o,workspace:a}=await Pt.find(r,this.context.cwd),n=await Nr.find(r);if(!a)throw new tr(o.cwd,this.context.cwd);let u=new Set;for(let A of this.idents)u.add(G.parseIdent(A).identHash);if(await o.restoreInstallState({restoreResolutions:!1}),await o.resolveEverything({cache:n,report:new ki}),u.size>0)for(let A of o.storedPackages.values())u.has(A.identHash)&&(o.storedBuildState.delete(A.locatorHash),o.skippedBuilds.delete(A.locatorHash));else o.storedBuildState.clear(),o.skippedBuilds.clear();return await o.installWithNewReport({stdout:this.context.stdout,quiet:this.context.quiet},{cache:n})}};Zh.paths=[["rebuild"]],Zh.usage=nt.Usage({description:"rebuild the project's native packages",details:` - This command will automatically cause Yarn to forget about previous compilations of the given packages and to run them again. - - Note that while Yarn forgets the compilation, the previous artifacts aren't erased from the filesystem and may affect the next builds (in good or bad). To avoid this, you may remove the .yarn/unplugged folder, or any other relevant location where packages might have been stored (Yarn may offer a way to do that automatically in the future). - - By default all packages will be rebuilt, but you can filter the list by specifying the names of the packages you want to clear from memory. - `,examples:[["Rebuild all packages","$0 rebuild"],["Rebuild fsevents only","$0 rebuild fsevents"]]});Ye();Ye();Ye();qt();var M8=$e(Zo());Za();var $h=class extends ut{constructor(){super(...arguments);this.all=he.Boolean("-A,--all",!1,{description:"Apply the operation to all workspaces from the current project"});this.mode=he.String("--mode",{description:"Change what artifacts installs generate",validator:Vs(fl)});this.patterns=he.Rest()}async execute(){let r=await Ke.find(this.context.cwd,this.context.plugins),{project:o,workspace:a}=await Pt.find(r,this.context.cwd),n=await Nr.find(r);if(!a)throw new tr(o.cwd,this.context.cwd);await o.restoreInstallState({restoreResolutions:!1});let u=this.all?o.workspaces:[a],A=["dependencies","devDependencies","peerDependencies"],p=[],h=!1,w=[];for(let E of this.patterns){let R=!1,N=G.parseIdent(E);for(let U of u){let V=[...U.manifest.peerDependenciesMeta.keys()];for(let ee of(0,M8.default)(V,E))U.manifest.peerDependenciesMeta.delete(ee),h=!0,R=!0;for(let ee of A){let le=U.manifest.getForScope(ee),fe=[...le.values()].map(de=>G.stringifyIdent(de));for(let de of(0,M8.default)(fe,G.stringifyIdent(N))){let{identHash:ge}=G.parseIdent(de),oe=le.get(ge);if(typeof oe>"u")throw new Error("Assertion failed: Expected the descriptor to be registered");U.manifest[ee].delete(ge),w.push([U,ee,oe]),h=!0,R=!0}}}R||p.push(E)}let I=p.length>1?"Patterns":"Pattern",v=p.length>1?"don't":"doesn't",b=this.all?"any":"this";if(p.length>0)throw new it(`${I} ${ye.prettyList(r,p,ye.Type.CODE)} ${v} match any packages referenced by ${b} workspace`);return h?(await r.triggerMultipleHooks(E=>E.afterWorkspaceDependencyRemoval,w),await o.installWithNewReport({stdout:this.context.stdout},{cache:n,mode:this.mode})):0}};$h.paths=[["remove"]],$h.usage=nt.Usage({description:"remove dependencies from the project",details:` - This command will remove the packages matching the specified patterns from the current workspace. - - If the \`--mode=<mode>\` option is set, Yarn will change which artifacts are generated. The modes currently supported are: - - - \`skip-build\` will not run the build scripts at all. Note that this is different from setting \`enableScripts\` to false because the latter will disable build scripts, and thus affect the content of the artifacts generated on disk, whereas the former will just disable the build step - but not the scripts themselves, which just won't run. - - - \`update-lockfile\` will skip the link step altogether, and only fetch packages that are missing from the lockfile (or that have no associated checksums). This mode is typically used by tools like Renovate or Dependabot to keep a lockfile up-to-date without incurring the full install cost. - - This command accepts glob patterns as arguments (if valid Idents and supported by [micromatch](https://github.com/micromatch/micromatch)). Make sure to escape the patterns, to prevent your own shell from trying to expand them. - `,examples:[["Remove a dependency from the current project","$0 remove lodash"],["Remove a dependency from all workspaces at once","$0 remove lodash --all"],["Remove all dependencies starting with `eslint-`","$0 remove 'eslint-*'"],["Remove all dependencies with the `@babel` scope","$0 remove '@babel/*'"],["Remove all dependencies matching `react-dom` or `react-helmet`","$0 remove 'react-{dom,helmet}'"]]});Ye();Ye();var rde=Ie("util"),zd=class extends ut{async execute(){let t=await Ke.find(this.context.cwd,this.context.plugins),{project:r,workspace:o}=await Pt.find(t,this.context.cwd);if(!o)throw new tr(r.cwd,this.context.cwd);return(await Nt.start({configuration:t,stdout:this.context.stdout},async n=>{let u=o.manifest.scripts,A=_e.sortMap(u.keys(),w=>w),p={breakLength:1/0,colors:t.get("enableColors"),maxArrayLength:2},h=A.reduce((w,I)=>Math.max(w,I.length),0);for(let[w,I]of u.entries())n.reportInfo(null,`${w.padEnd(h," ")} ${(0,rde.inspect)(I,p)}`)})).exitCode()}};zd.paths=[["run"]];Ye();Ye();qt();var e0=class extends ut{constructor(){super(...arguments);this.inspect=he.String("--inspect",!1,{tolerateBoolean:!0,description:"Forwarded to the underlying Node process when executing a binary"});this.inspectBrk=he.String("--inspect-brk",!1,{tolerateBoolean:!0,description:"Forwarded to the underlying Node process when executing a binary"});this.topLevel=he.Boolean("-T,--top-level",!1,{description:"Check the root workspace for scripts and/or binaries instead of the current one"});this.binariesOnly=he.Boolean("-B,--binaries-only",!1,{description:"Ignore any user defined scripts and only check for binaries"});this.require=he.String("--require",{description:"Forwarded to the underlying Node process when executing a binary"});this.silent=he.Boolean("--silent",{hidden:!0});this.scriptName=he.String();this.args=he.Proxy()}async execute(){let r=await Ke.find(this.context.cwd,this.context.plugins),{project:o,workspace:a,locator:n}=await Pt.find(r,this.context.cwd);await o.restoreInstallState();let u=this.topLevel?o.topLevelWorkspace.anchoredLocator:n;if(!this.binariesOnly&&await cn.hasPackageScript(u,this.scriptName,{project:o}))return await cn.executePackageScript(u,this.scriptName,this.args,{project:o,stdin:this.context.stdin,stdout:this.context.stdout,stderr:this.context.stderr});let A=await cn.getPackageAccessibleBinaries(u,{project:o});if(A.get(this.scriptName)){let h=[];return this.inspect&&(typeof this.inspect=="string"?h.push(`--inspect=${this.inspect}`):h.push("--inspect")),this.inspectBrk&&(typeof this.inspectBrk=="string"?h.push(`--inspect-brk=${this.inspectBrk}`):h.push("--inspect-brk")),this.require&&h.push(`--require=${this.require}`),await cn.executePackageAccessibleBinary(u,this.scriptName,this.args,{cwd:this.context.cwd,project:o,stdin:this.context.stdin,stdout:this.context.stdout,stderr:this.context.stderr,nodeArgs:h,packageAccessibleBinaries:A})}if(!this.topLevel&&!this.binariesOnly&&a&&this.scriptName.includes(":")){let w=(await Promise.all(o.workspaces.map(async I=>I.manifest.scripts.has(this.scriptName)?I:null))).filter(I=>I!==null);if(w.length===1)return await cn.executeWorkspaceScript(w[0],this.scriptName,this.args,{stdin:this.context.stdin,stdout:this.context.stdout,stderr:this.context.stderr})}if(this.topLevel)throw this.scriptName==="node-gyp"?new it(`Couldn't find a script name "${this.scriptName}" in the top-level (used by ${G.prettyLocator(r,n)}). This typically happens because some package depends on "node-gyp" to build itself, but didn't list it in their dependencies. To fix that, please run "yarn add node-gyp" into your top-level workspace. You also can open an issue on the repository of the specified package to suggest them to use an optional peer dependency.`):new it(`Couldn't find a script name "${this.scriptName}" in the top-level (used by ${G.prettyLocator(r,n)}).`);{if(this.scriptName==="global")throw new it("The 'yarn global' commands have been removed in 2.x - consider using 'yarn dlx' or a third-party plugin instead");let h=[this.scriptName].concat(this.args);for(let[w,I]of cw)for(let v of I)if(h.length>=v.length&&JSON.stringify(h.slice(0,v.length))===JSON.stringify(v))throw new it(`Couldn't find a script named "${this.scriptName}", but a matching command can be found in the ${w} plugin. You can install it with "yarn plugin import ${w}".`);throw new it(`Couldn't find a script named "${this.scriptName}".`)}}};e0.paths=[["run"]],e0.usage=nt.Usage({description:"run a script defined in the package.json",details:` - This command will run a tool. The exact tool that will be executed will depend on the current state of your workspace: - - - If the \`scripts\` field from your local package.json contains a matching script name, its definition will get executed. - - - Otherwise, if one of the local workspace's dependencies exposes a binary with a matching name, this binary will get executed. - - - Otherwise, if the specified name contains a colon character and if one of the workspaces in the project contains exactly one script with a matching name, then this script will get executed. - - Whatever happens, the cwd of the spawned process will be the workspace that declares the script (which makes it possible to call commands cross-workspaces using the third syntax). - `,examples:[["Run the tests from the local workspace","$0 run test"],['Same thing, but without the "run" keyword',"$0 test"],["Inspect Webpack while running","$0 run --inspect-brk webpack"]]});Ye();Ye();qt();var t0=class extends ut{constructor(){super(...arguments);this.save=he.Boolean("-s,--save",!1,{description:"Persist the resolution inside the top-level manifest"});this.descriptor=he.String();this.resolution=he.String()}async execute(){let r=await Ke.find(this.context.cwd,this.context.plugins),{project:o,workspace:a}=await Pt.find(r,this.context.cwd),n=await Nr.find(r);if(await o.restoreInstallState({restoreResolutions:!1}),!a)throw new tr(o.cwd,this.context.cwd);let u=G.parseDescriptor(this.descriptor,!0),A=G.makeDescriptor(u,this.resolution);return o.storedDescriptors.set(u.descriptorHash,u),o.storedDescriptors.set(A.descriptorHash,A),o.resolutionAliases.set(u.descriptorHash,A.descriptorHash),await o.installWithNewReport({stdout:this.context.stdout},{cache:n})}};t0.paths=[["set","resolution"]],t0.usage=nt.Usage({description:"enforce a package resolution",details:'\n This command updates the resolution table so that `descriptor` is resolved by `resolution`.\n\n Note that by default this command only affect the current resolution table - meaning that this "manual override" will disappear if you remove the lockfile, or if the package disappear from the table. If you wish to make the enforced resolution persist whatever happens, add the `-s,--save` flag which will also edit the `resolutions` field from your top-level manifest.\n\n Note that no attempt is made at validating that `resolution` is a valid resolution entry for `descriptor`.\n ',examples:[["Force all instances of lodash@npm:^1.2.3 to resolve to 1.5.0","$0 set resolution lodash@npm:^1.2.3 1.5.0"]]});Ye();St();qt();var nde=$e(Zo()),r0=class extends ut{constructor(){super(...arguments);this.all=he.Boolean("-A,--all",!1,{description:"Unlink all workspaces belonging to the target project from the current one"});this.leadingArguments=he.Rest()}async execute(){let r=await Ke.find(this.context.cwd,this.context.plugins),{project:o,workspace:a}=await Pt.find(r,this.context.cwd),n=await Nr.find(r);if(!a)throw new tr(o.cwd,this.context.cwd);let u=o.topLevelWorkspace,A=new Set;if(this.leadingArguments.length===0&&this.all)for(let{pattern:p,reference:h}of u.manifest.resolutions)h.startsWith("portal:")&&A.add(p.descriptor.fullName);if(this.leadingArguments.length>0)for(let p of this.leadingArguments){let h=J.resolve(this.context.cwd,Ae.toPortablePath(p));if(_e.isPathLike(p)){let w=await Ke.find(h,this.context.plugins,{useRc:!1,strict:!1}),{project:I,workspace:v}=await Pt.find(w,h);if(!v)throw new tr(I.cwd,h);if(this.all){for(let b of I.workspaces)b.manifest.name&&A.add(G.stringifyIdent(b.anchoredLocator));if(A.size===0)throw new it("No workspace found to be unlinked in the target project")}else{if(!v.manifest.name)throw new it("The target workspace doesn't have a name and thus cannot be unlinked");A.add(G.stringifyIdent(v.anchoredLocator))}}else{let w=[...u.manifest.resolutions.map(({pattern:I})=>I.descriptor.fullName)];for(let I of(0,nde.default)(w,p))A.add(I)}}return u.manifest.resolutions=u.manifest.resolutions.filter(({pattern:p})=>!A.has(p.descriptor.fullName)),await o.installWithNewReport({stdout:this.context.stdout,quiet:this.context.quiet},{cache:n})}};r0.paths=[["unlink"]],r0.usage=nt.Usage({description:"disconnect the local project from another one",details:` - This command will remove any resolutions in the project-level manifest that would have been added via a yarn link with similar arguments. - `,examples:[["Unregister a remote workspace in the current project","$0 unlink ~/ts-loader"],["Unregister all workspaces from a remote project in the current project","$0 unlink ~/jest --all"],["Unregister all previously linked workspaces","$0 unlink --all"],["Unregister all workspaces matching a glob","$0 unlink '@babel/*' 'pkg-{a,b}'"]]});Ye();Ye();Ye();qt();var ide=$e(l2()),U8=$e(Zo());Za();var Jf=class extends ut{constructor(){super(...arguments);this.interactive=he.Boolean("-i,--interactive",{description:"Offer various choices, depending on the detected upgrade paths"});this.fixed=he.Boolean("-F,--fixed",!1,{description:"Store dependency tags as-is instead of resolving them"});this.exact=he.Boolean("-E,--exact",!1,{description:"Don't use any semver modifier on the resolved range"});this.tilde=he.Boolean("-T,--tilde",!1,{description:"Use the `~` semver modifier on the resolved range"});this.caret=he.Boolean("-C,--caret",!1,{description:"Use the `^` semver modifier on the resolved range"});this.recursive=he.Boolean("-R,--recursive",!1,{description:"Resolve again ALL resolutions for those packages"});this.mode=he.String("--mode",{description:"Change what artifacts installs generate",validator:Vs(fl)});this.patterns=he.Rest()}async execute(){return this.recursive?await this.executeUpRecursive():await this.executeUpClassic()}async executeUpRecursive(){let r=await Ke.find(this.context.cwd,this.context.plugins),{project:o,workspace:a}=await Pt.find(r,this.context.cwd),n=await Nr.find(r);if(!a)throw new tr(o.cwd,this.context.cwd);await o.restoreInstallState({restoreResolutions:!1});let u=[...o.storedDescriptors.values()],A=u.map(w=>G.stringifyIdent(w)),p=new Set;for(let w of this.patterns){if(G.parseDescriptor(w).range!=="unknown")throw new it("Ranges aren't allowed when using --recursive");for(let I of(0,U8.default)(A,w)){let v=G.parseIdent(I);p.add(v.identHash)}}let h=u.filter(w=>p.has(w.identHash));for(let w of h)o.storedDescriptors.delete(w.descriptorHash),o.storedResolutions.delete(w.descriptorHash);return await o.installWithNewReport({stdout:this.context.stdout},{cache:n,mode:this.mode})}async executeUpClassic(){let r=await Ke.find(this.context.cwd,this.context.plugins),{project:o,workspace:a}=await Pt.find(r,this.context.cwd),n=await Nr.find(r);if(!a)throw new tr(o.cwd,this.context.cwd);await o.restoreInstallState({restoreResolutions:!1});let u=this.fixed,A=this.interactive??r.get("preferInteractive"),p=u2(this,o),h=A?["keep","reuse","project","latest"]:["project","latest"],w=[],I=[];for(let N of this.patterns){let U=!1,V=G.parseDescriptor(N),ee=G.stringifyIdent(V);for(let le of o.workspaces)for(let fe of["dependencies","devDependencies"]){let ge=[...le.manifest.getForScope(fe).values()].map(Be=>G.stringifyIdent(Be)),oe=ee==="*"?ge:(0,U8.default)(ge,ee);for(let Be of oe){let be=G.parseIdent(Be),g=le.manifest[fe].get(be.identHash);if(typeof g>"u")throw new Error("Assertion failed: Expected the descriptor to be registered");let we=G.makeDescriptor(be,V.range);w.push(Promise.resolve().then(async()=>[le,fe,g,await A2(we,{project:o,workspace:le,cache:n,target:fe,fixed:u,modifier:p,strategies:h})])),U=!0}}U||I.push(N)}if(I.length>1)throw new it(`Patterns ${ye.prettyList(r,I,ye.Type.CODE)} don't match any packages referenced by any workspace`);if(I.length>0)throw new it(`Pattern ${ye.prettyList(r,I,ye.Type.CODE)} doesn't match any packages referenced by any workspace`);let v=await Promise.all(w),b=await fA.start({configuration:r,stdout:this.context.stdout,suggestInstall:!1},async N=>{for(let[,,U,{suggestions:V,rejections:ee}]of v){let le=V.filter(fe=>fe.descriptor!==null);if(le.length===0){let[fe]=ee;if(typeof fe>"u")throw new Error("Assertion failed: Expected an error to have been set");let de=this.cli.error(fe);o.configuration.get("enableNetwork")?N.reportError(27,`${G.prettyDescriptor(r,U)} can't be resolved to a satisfying range - -${de}`):N.reportError(27,`${G.prettyDescriptor(r,U)} can't be resolved to a satisfying range (note: network resolution has been disabled) - -${de}`)}else le.length>1&&!A&&N.reportError(27,`${G.prettyDescriptor(r,U)} has multiple possible upgrade strategies; use -i to disambiguate manually`)}});if(b.hasErrors())return b.exitCode();let E=!1,R=[];for(let[N,U,,{suggestions:V}]of v){let ee,le=V.filter(oe=>oe.descriptor!==null),fe=le[0].descriptor,de=le.every(oe=>G.areDescriptorsEqual(oe.descriptor,fe));le.length===1||de?ee=fe:(E=!0,{answer:ee}=await(0,ide.prompt)({type:"select",name:"answer",message:`Which range do you want to use in ${G.prettyWorkspace(r,N)} \u276F ${U}?`,choices:V.map(({descriptor:oe,name:Be,reason:be})=>oe?{name:Be,hint:be,descriptor:oe}:{name:Be,hint:be,disabled:!0}),onCancel:()=>process.exit(130),result(oe){return this.find(oe,"descriptor")},stdin:this.context.stdin,stdout:this.context.stdout}));let ge=N.manifest[U].get(ee.identHash);if(typeof ge>"u")throw new Error("Assertion failed: This descriptor should have a matching entry");if(ge.descriptorHash!==ee.descriptorHash)N.manifest[U].set(ee.identHash,ee),R.push([N,U,ge,ee]);else{let oe=r.makeResolver(),Be={project:o,resolver:oe},be=r.normalizeDependency(ge),g=oe.bindDescriptor(be,N.anchoredLocator,Be);o.forgetResolution(g)}}return await r.triggerMultipleHooks(N=>N.afterWorkspaceDependencyReplacement,R),E&&this.context.stdout.write(` -`),await o.installWithNewReport({stdout:this.context.stdout},{cache:n,mode:this.mode})}};Jf.paths=[["up"]],Jf.usage=nt.Usage({description:"upgrade dependencies across the project",details:"\n This command upgrades the packages matching the list of specified patterns to their latest available version across the whole project (regardless of whether they're part of `dependencies` or `devDependencies` - `peerDependencies` won't be affected). This is a project-wide command: all workspaces will be upgraded in the process.\n\n If `-R,--recursive` is set the command will change behavior and no other switch will be allowed. When operating under this mode `yarn up` will force all ranges matching the selected packages to be resolved again (often to the highest available versions) before being stored in the lockfile. It however won't touch your manifests anymore, so depending on your needs you might want to run both `yarn up` and `yarn up -R` to cover all bases.\n\n If `-i,--interactive` is set (or if the `preferInteractive` settings is toggled on) the command will offer various choices, depending on the detected upgrade paths. Some upgrades require this flag in order to resolve ambiguities.\n\n The, `-C,--caret`, `-E,--exact` and `-T,--tilde` options have the same meaning as in the `add` command (they change the modifier used when the range is missing or a tag, and are ignored when the range is explicitly set).\n\n If the `--mode=<mode>` option is set, Yarn will change which artifacts are generated. The modes currently supported are:\n\n - `skip-build` will not run the build scripts at all. Note that this is different from setting `enableScripts` to false because the latter will disable build scripts, and thus affect the content of the artifacts generated on disk, whereas the former will just disable the build step - but not the scripts themselves, which just won't run.\n\n - `update-lockfile` will skip the link step altogether, and only fetch packages that are missing from the lockfile (or that have no associated checksums). This mode is typically used by tools like Renovate or Dependabot to keep a lockfile up-to-date without incurring the full install cost.\n\n Generally you can see `yarn up` as a counterpart to what was `yarn upgrade --latest` in Yarn 1 (ie it ignores the ranges previously listed in your manifests), but unlike `yarn upgrade` which only upgraded dependencies in the current workspace, `yarn up` will upgrade all workspaces at the same time.\n\n This command accepts glob patterns as arguments (if valid Descriptors and supported by [micromatch](https://github.com/micromatch/micromatch)). Make sure to escape the patterns, to prevent your own shell from trying to expand them.\n\n **Note:** The ranges have to be static, only the package scopes and names can contain glob patterns.\n ",examples:[["Upgrade all instances of lodash to the latest release","$0 up lodash"],["Upgrade all instances of lodash to the latest release, but ask confirmation for each","$0 up lodash -i"],["Upgrade all instances of lodash to 1.2.3","$0 up lodash@1.2.3"],["Upgrade all instances of packages with the `@babel` scope to the latest release","$0 up '@babel/*'"],["Upgrade all instances of packages containing the word `jest` to the latest release","$0 up '*jest*'"],["Upgrade all instances of packages with the `@babel` scope to 7.0.0","$0 up '@babel/*@7.0.0'"]]}),Jf.schema=[oI("recursive",Wu.Forbids,["interactive","exact","tilde","caret"],{ignore:[void 0,!1]})];Ye();Ye();Ye();qt();var n0=class extends ut{constructor(){super(...arguments);this.recursive=he.Boolean("-R,--recursive",!1,{description:"List, for each workspace, what are all the paths that lead to the dependency"});this.json=he.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"});this.peers=he.Boolean("--peers",!1,{description:"Also print the peer dependencies that match the specified name"});this.package=he.String()}async execute(){let r=await Ke.find(this.context.cwd,this.context.plugins),{project:o,workspace:a}=await Pt.find(r,this.context.cwd);if(!a)throw new tr(o.cwd,this.context.cwd);await o.restoreInstallState();let n=G.parseIdent(this.package).identHash,u=this.recursive?U0t(o,n,{configuration:r,peers:this.peers}):M0t(o,n,{configuration:r,peers:this.peers});ra.emitTree(u,{configuration:r,stdout:this.context.stdout,json:this.json,separators:1})}};n0.paths=[["why"]],n0.usage=nt.Usage({description:"display the reason why a package is needed",details:` - This command prints the exact reasons why a package appears in the dependency tree. - - If \`-R,--recursive\` is set, the listing will go in depth and will list, for each workspaces, what are all the paths that lead to the dependency. Note that the display is somewhat optimized in that it will not print the package listing twice for a single package, so if you see a leaf named "Foo" when looking for "Bar", it means that "Foo" already got printed higher in the tree. - `,examples:[["Explain why lodash is used in your project","$0 why lodash"]]});function M0t(e,t,{configuration:r,peers:o}){let a=_e.sortMap(e.storedPackages.values(),A=>G.stringifyLocator(A)),n={},u={children:n};for(let A of a){let p={};for(let w of A.dependencies.values()){if(!o&&A.peerDependencies.has(w.identHash))continue;let I=e.storedResolutions.get(w.descriptorHash);if(!I)throw new Error("Assertion failed: The resolution should have been registered");let v=e.storedPackages.get(I);if(!v)throw new Error("Assertion failed: The package should have been registered");if(v.identHash!==t)continue;{let E=G.stringifyLocator(A);n[E]={value:[A,ye.Type.LOCATOR],children:p}}let b=G.stringifyLocator(v);p[b]={value:[{descriptor:w,locator:v},ye.Type.DEPENDENT]}}}return u}function U0t(e,t,{configuration:r,peers:o}){let a=_e.sortMap(e.workspaces,v=>G.stringifyLocator(v.anchoredLocator)),n=new Set,u=new Set,A=v=>{if(n.has(v.locatorHash))return u.has(v.locatorHash);if(n.add(v.locatorHash),v.identHash===t)return u.add(v.locatorHash),!0;let b=!1;v.identHash===t&&(b=!0);for(let E of v.dependencies.values()){if(!o&&v.peerDependencies.has(E.identHash))continue;let R=e.storedResolutions.get(E.descriptorHash);if(!R)throw new Error("Assertion failed: The resolution should have been registered");let N=e.storedPackages.get(R);if(!N)throw new Error("Assertion failed: The package should have been registered");A(N)&&(b=!0)}return b&&u.add(v.locatorHash),b};for(let v of a)A(v.anchoredPackage);let p=new Set,h={},w={children:h},I=(v,b,E)=>{if(!u.has(v.locatorHash))return;let R=E!==null?ye.tuple(ye.Type.DEPENDENT,{locator:v,descriptor:E}):ye.tuple(ye.Type.LOCATOR,v),N={},U={value:R,children:N},V=G.stringifyLocator(v);if(b[V]=U,!p.has(v.locatorHash)&&(p.add(v.locatorHash),!(E!==null&&e.tryWorkspaceByLocator(v))))for(let ee of v.dependencies.values()){if(!o&&v.peerDependencies.has(ee.identHash))continue;let le=e.storedResolutions.get(ee.descriptorHash);if(!le)throw new Error("Assertion failed: The resolution should have been registered");let fe=e.storedPackages.get(le);if(!fe)throw new Error("Assertion failed: The package should have been registered");I(fe,N,ee)}};for(let v of a)I(v.anchoredPackage,h,null);return w}Ye();var V8={};Jt(V8,{GitFetcher:()=>m2,GitResolver:()=>y2,default:()=>ogt,gitUtils:()=>na});Ye();St();var na={};Jt(na,{TreeishProtocols:()=>d2,clone:()=>J8,fetchBase:()=>Sde,fetchChangedFiles:()=>Pde,fetchChangedWorkspaces:()=>igt,fetchRoot:()=>Dde,isGitUrl:()=>yw,lsRemote:()=>vde,normalizeLocator:()=>ngt,normalizeRepoUrl:()=>dw,resolveUrl:()=>K8,splitRepoUrl:()=>i0,validateRepoUrl:()=>W8});Ye();St();qt();var Cde=$e(yde()),Ide=$e(mU()),mw=$e(Ie("querystring")),G8=$e(Zn());function q8(e,t,r){let o=e.indexOf(r);return e.lastIndexOf(t,o>-1?o:1/0)}function Ede(e){try{return new URL(e)}catch{return}}function tgt(e){let t=q8(e,"@","#"),r=q8(e,":","#");return r>t&&(e=`${e.slice(0,r)}/${e.slice(r+1)}`),q8(e,":","#")===-1&&e.indexOf("//")===-1&&(e=`ssh://${e}`),e}function wde(e){return Ede(e)||Ede(tgt(e))}function dw(e,{git:t=!1}={}){if(e=e.replace(/^git\+https:/,"https:"),e=e.replace(/^(?:github:|https:\/\/github\.com\/|git:\/\/github\.com\/)?(?!\.{1,2}\/)([a-zA-Z0-9._-]+)\/(?!\.{1,2}(?:#|$))([a-zA-Z0-9._-]+?)(?:\.git)?(#.*)?$/,"https://github.com/$1/$2.git$3"),e=e.replace(/^https:\/\/github\.com\/(?!\.{1,2}\/)([a-zA-Z0-9._-]+)\/(?!\.{1,2}(?:#|$))([a-zA-Z0-9._-]+?)\/tarball\/(.+)?$/,"https://github.com/$1/$2.git#$3"),t){let r=wde(e);r&&(e=r.href),e=e.replace(/^git\+([^:]+):/,"$1:")}return e}function Bde(){return{...process.env,GIT_SSH_COMMAND:process.env.GIT_SSH_COMMAND||`${process.env.GIT_SSH||"ssh"} -o BatchMode=yes`}}var rgt=[/^ssh:/,/^git(?:\+[^:]+)?:/,/^(?:git\+)?https?:[^#]+\/[^#]+(?:\.git)(?:#.*)?$/,/^git@[^#]+\/[^#]+\.git(?:#.*)?$/,/^(?:github:|https:\/\/github\.com\/)?(?!\.{1,2}\/)([a-zA-Z._0-9-]+)\/(?!\.{1,2}(?:#|$))([a-zA-Z._0-9-]+?)(?:\.git)?(?:#.*)?$/,/^https:\/\/github\.com\/(?!\.{1,2}\/)([a-zA-Z0-9._-]+)\/(?!\.{1,2}(?:#|$))([a-zA-Z0-9._-]+?)\/tarball\/(.+)?$/],d2=(a=>(a.Commit="commit",a.Head="head",a.Tag="tag",a.Semver="semver",a))(d2||{});function yw(e){return e?rgt.some(t=>!!e.match(t)):!1}function i0(e){e=dw(e);let t=e.indexOf("#");if(t===-1)return{repo:e,treeish:{protocol:"head",request:"HEAD"},extra:{}};let r=e.slice(0,t),o=e.slice(t+1);if(o.match(/^[a-z]+=/)){let a=mw.default.parse(o);for(let[p,h]of Object.entries(a))if(typeof h!="string")throw new Error(`Assertion failed: The ${p} parameter must be a literal string`);let n=Object.values(d2).find(p=>Object.hasOwn(a,p)),[u,A]=typeof n<"u"?[n,a[n]]:["head","HEAD"];for(let p of Object.values(d2))delete a[p];return{repo:r,treeish:{protocol:u,request:A},extra:a}}else{let a=o.indexOf(":"),[n,u]=a===-1?[null,o]:[o.slice(0,a),o.slice(a+1)];return{repo:r,treeish:{protocol:n,request:u},extra:{}}}}function ngt(e){return G.makeLocator(e,dw(e.reference))}function W8(e,{configuration:t}){let r=dw(e,{git:!0});if(!tn.getNetworkSettings(`https://${(0,Cde.default)(r).resource}`,{configuration:t}).enableNetwork)throw new zt(80,`Request to '${r}' has been blocked because of your configuration settings`);return r}async function vde(e,t){let r=W8(e,{configuration:t}),o=await Y8("listing refs",["ls-remote",r],{cwd:t.startingCwd,env:Bde()},{configuration:t,normalizedRepoUrl:r}),a=new Map,n=/^([a-f0-9]{40})\t([^\n]+)/gm,u;for(;(u=n.exec(o.stdout))!==null;)a.set(u[2],u[1]);return a}async function K8(e,t){let{repo:r,treeish:{protocol:o,request:a},extra:n}=i0(e),u=await vde(r,t),A=(h,w)=>{switch(h){case"commit":{if(!w.match(/^[a-f0-9]{40}$/))throw new Error("Invalid commit hash");return mw.default.stringify({...n,commit:w})}case"head":{let I=u.get(w==="HEAD"?w:`refs/heads/${w}`);if(typeof I>"u")throw new Error(`Unknown head ("${w}")`);return mw.default.stringify({...n,commit:I})}case"tag":{let I=u.get(`refs/tags/${w}`);if(typeof I>"u")throw new Error(`Unknown tag ("${w}")`);return mw.default.stringify({...n,commit:I})}case"semver":{let I=Qr.validRange(w);if(!I)throw new Error(`Invalid range ("${w}")`);let v=new Map([...u.entries()].filter(([E])=>E.startsWith("refs/tags/")).map(([E,R])=>[G8.default.parse(E.slice(10)),R]).filter(E=>E[0]!==null)),b=G8.default.maxSatisfying([...v.keys()],I);if(b===null)throw new Error(`No matching range ("${w}")`);return mw.default.stringify({...n,commit:v.get(b)})}case null:{let I;if((I=p("commit",w))!==null||(I=p("tag",w))!==null||(I=p("head",w))!==null)return I;throw w.match(/^[a-f0-9]+$/)?new Error(`Couldn't resolve "${w}" as either a commit, a tag, or a head - if a commit, use the 40-characters commit hash`):new Error(`Couldn't resolve "${w}" as either a commit, a tag, or a head`)}default:throw new Error(`Invalid Git resolution protocol ("${h}")`)}},p=(h,w)=>{try{return A(h,w)}catch{return null}};return dw(`${r}#${A(o,a)}`)}async function J8(e,t){return await t.getLimit("cloneConcurrency")(async()=>{let{repo:r,treeish:{protocol:o,request:a}}=i0(e);if(o!=="commit")throw new Error("Invalid treeish protocol when cloning");let n=W8(r,{configuration:t}),u=await ae.mktempPromise(),A={cwd:u,env:Bde()};return await Y8("cloning the repository",["clone","-c core.autocrlf=false",n,Ae.fromPortablePath(u)],A,{configuration:t,normalizedRepoUrl:n}),await Y8("switching branch",["checkout",`${a}`],A,{configuration:t,normalizedRepoUrl:n}),u})}async function Dde(e){let t,r=e;do{if(t=r,await ae.existsPromise(J.join(t,".git")))return t;r=J.dirname(t)}while(r!==t);return null}async function Sde(e,{baseRefs:t}){if(t.length===0)throw new it("Can't run this command with zero base refs specified.");let r=[];for(let A of t){let{code:p}=await Mr.execvp("git",["merge-base",A,"HEAD"],{cwd:e});p===0&&r.push(A)}if(r.length===0)throw new it(`No ancestor could be found between any of HEAD and ${t.join(", ")}`);let{stdout:o}=await Mr.execvp("git",["merge-base","HEAD",...r],{cwd:e,strict:!0}),a=o.trim(),{stdout:n}=await Mr.execvp("git",["show","--quiet","--pretty=format:%s",a],{cwd:e,strict:!0}),u=n.trim();return{hash:a,title:u}}async function Pde(e,{base:t,project:r}){let o=_e.buildIgnorePattern(r.configuration.get("changesetIgnorePatterns")),{stdout:a}=await Mr.execvp("git",["diff","--name-only",`${t}`],{cwd:e,strict:!0}),n=a.split(/\r\n|\r|\n/).filter(h=>h.length>0).map(h=>J.resolve(e,Ae.toPortablePath(h))),{stdout:u}=await Mr.execvp("git",["ls-files","--others","--exclude-standard"],{cwd:e,strict:!0}),A=u.split(/\r\n|\r|\n/).filter(h=>h.length>0).map(h=>J.resolve(e,Ae.toPortablePath(h))),p=[...new Set([...n,...A].sort())];return o?p.filter(h=>!J.relative(r.cwd,h).match(o)):p}async function igt({ref:e,project:t}){if(t.configuration.projectCwd===null)throw new it("This command can only be run from within a Yarn project");let r=[J.resolve(t.cwd,gr.lockfile),J.resolve(t.cwd,t.configuration.get("cacheFolder")),J.resolve(t.cwd,t.configuration.get("installStatePath")),J.resolve(t.cwd,t.configuration.get("virtualFolder"))];await t.configuration.triggerHook(u=>u.populateYarnPaths,t,u=>{u!=null&&r.push(u)});let o=await Dde(t.configuration.projectCwd);if(o==null)throw new it("This command can only be run on Git repositories");let a=await Sde(o,{baseRefs:typeof e=="string"?[e]:t.configuration.get("changesetBaseRefs")}),n=await Pde(o,{base:a.hash,project:t});return new Set(_e.mapAndFilter(n,u=>{let A=t.tryWorkspaceByFilePath(u);return A===null?_e.mapAndFilter.skip:r.some(p=>u.startsWith(p))?_e.mapAndFilter.skip:A}))}async function Y8(e,t,r,{configuration:o,normalizedRepoUrl:a}){try{return await Mr.execvp("git",t,{...r,strict:!0})}catch(n){if(!(n instanceof Mr.ExecError))throw n;let u=n.reportExtra,A=n.stderr.toString();throw new zt(1,`Failed ${e}`,p=>{p.reportError(1,` ${ye.prettyField(o,{label:"Repository URL",value:ye.tuple(ye.Type.URL,a)})}`);for(let h of A.matchAll(/^(.+?): (.*)$/gm)){let[,w,I]=h;w=w.toLowerCase();let v=w==="error"?"Error":`${(0,Ide.default)(w)} Error`;p.reportError(1,` ${ye.prettyField(o,{label:v,value:ye.tuple(ye.Type.NO_HINT,I)})}`)}u?.(p)})}}var m2=class{supports(t,r){return yw(t.reference)}getLocalPath(t,r){return null}async fetch(t,r){let o=r.checksums.get(t.locatorHash)||null,a=new Map(r.checksums);a.set(t.locatorHash,o);let n={...r,checksums:a},u=await this.downloadHosted(t,n);if(u!==null)return u;let[A,p,h]=await r.cache.fetchPackageFromCache(t,o,{onHit:()=>r.report.reportCacheHit(t),onMiss:()=>r.report.reportCacheMiss(t,`${G.prettyLocator(r.project.configuration,t)} can't be found in the cache and will be fetched from the remote repository`),loader:()=>this.cloneFromRemote(t,n),...r.cacheOptions});return{packageFs:A,releaseFs:p,prefixPath:G.getIdentVendorPath(t),checksum:h}}async downloadHosted(t,r){return r.project.configuration.reduceHook(o=>o.fetchHostedRepository,null,t,r)}async cloneFromRemote(t,r){let o=await J8(t.reference,r.project.configuration),a=i0(t.reference),n=J.join(o,"package.tgz");await cn.prepareExternalProject(o,n,{configuration:r.project.configuration,report:r.report,workspace:a.extra.workspace,locator:t});let u=await ae.readFilePromise(n);return await _e.releaseAfterUseAsync(async()=>await zi.convertToZip(u,{compressionLevel:r.project.configuration.get("compressionLevel"),prefixPath:G.getIdentVendorPath(t),stripComponents:1}))}};Ye();Ye();var y2=class{supportsDescriptor(t,r){return yw(t.range)}supportsLocator(t,r){return yw(t.reference)}shouldPersistResolution(t,r){return!0}bindDescriptor(t,r,o){return t}getResolutionDependencies(t,r){return{}}async getCandidates(t,r,o){let a=await K8(t.range,o.project.configuration);return[G.makeLocator(t,a)]}async getSatisfying(t,r,o,a){let n=i0(t.range);return{locators:o.filter(A=>{if(A.identHash!==t.identHash)return!1;let p=i0(A.reference);return!(n.repo!==p.repo||n.treeish.protocol==="commit"&&n.treeish.request!==p.treeish.request)}),sorted:!1}}async resolve(t,r){if(!r.fetchOptions)throw new Error("Assertion failed: This resolver cannot be used unless a fetcher is configured");let o=await r.fetchOptions.fetcher.fetch(t,r.fetchOptions),a=await _e.releaseAfterUseAsync(async()=>await Ot.find(o.prefixPath,{baseFs:o.packageFs}),o.releaseFs);return{...t,version:a.version||"0.0.0",languageName:a.languageName||r.project.configuration.get("defaultLanguageName"),linkType:"HARD",conditions:a.getConditions(),dependencies:r.project.configuration.normalizeDependencyMap(a.dependencies),peerDependencies:a.peerDependencies,dependenciesMeta:a.dependenciesMeta,peerDependenciesMeta:a.peerDependenciesMeta,bin:a.bin}}};var sgt={configuration:{changesetBaseRefs:{description:"The base git refs that the current HEAD is compared against when detecting changes. Supports git branches, tags, and commits.",type:"STRING",isArray:!0,isNullable:!1,default:["master","origin/master","upstream/master","main","origin/main","upstream/main"]},changesetIgnorePatterns:{description:"Array of glob patterns; files matching them will be ignored when fetching the changed files",type:"STRING",default:[],isArray:!0},cloneConcurrency:{description:"Maximal number of concurrent clones",type:"NUMBER",default:2}},fetchers:[m2],resolvers:[y2]};var ogt=sgt;qt();var s0=class extends ut{constructor(){super(...arguments);this.since=he.String("--since",{description:"Only include workspaces that have been changed since the specified ref.",tolerateBoolean:!0});this.recursive=he.Boolean("-R,--recursive",!1,{description:"Find packages via dependencies/devDependencies instead of using the workspaces field"});this.noPrivate=he.Boolean("--no-private",{description:"Exclude workspaces that have the private field set to true"});this.verbose=he.Boolean("-v,--verbose",!1,{description:"Also return the cross-dependencies between workspaces"});this.json=he.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"})}async execute(){let r=await Ke.find(this.context.cwd,this.context.plugins),{project:o}=await Pt.find(r,this.context.cwd);return(await Nt.start({configuration:r,json:this.json,stdout:this.context.stdout},async n=>{let u=this.since?await na.fetchChangedWorkspaces({ref:this.since,project:o}):o.workspaces,A=new Set(u);if(this.recursive)for(let p of[...u].map(h=>h.getRecursiveWorkspaceDependents()))for(let h of p)A.add(h);for(let p of A){let{manifest:h}=p;if(h.private&&this.noPrivate)continue;let w;if(this.verbose){let I=new Set,v=new Set;for(let b of Ot.hardDependencies)for(let[E,R]of h.getForScope(b)){let N=o.tryWorkspaceByDescriptor(R);N===null?o.workspacesByIdent.has(E)&&v.add(R):I.add(N)}w={workspaceDependencies:Array.from(I).map(b=>b.relativeCwd),mismatchedWorkspaceDependencies:Array.from(v).map(b=>G.stringifyDescriptor(b))}}n.reportInfo(null,`${p.relativeCwd}`),n.reportJson({location:p.relativeCwd,name:h.name?G.stringifyIdent(h.name):null,...w})}})).exitCode()}};s0.paths=[["workspaces","list"]],s0.usage=nt.Usage({category:"Workspace-related commands",description:"list all available workspaces",details:"\n This command will print the list of all workspaces in the project.\n\n - If `--since` is set, Yarn will only list workspaces that have been modified since the specified ref. By default Yarn will use the refs specified by the `changesetBaseRefs` configuration option.\n\n - If `-R,--recursive` is set, Yarn will find workspaces to run the command on by recursively evaluating `dependencies` and `devDependencies` fields, instead of looking at the `workspaces` fields.\n\n - If `--no-private` is set, Yarn will not list any workspaces that have the `private` field set to `true`.\n\n - If both the `-v,--verbose` and `--json` options are set, Yarn will also return the cross-dependencies between each workspaces (useful when you wish to automatically generate Buck / Bazel rules).\n "});Ye();Ye();qt();var o0=class extends ut{constructor(){super(...arguments);this.workspaceName=he.String();this.commandName=he.String();this.args=he.Proxy()}async execute(){let r=await Ke.find(this.context.cwd,this.context.plugins),{project:o,workspace:a}=await Pt.find(r,this.context.cwd);if(!a)throw new tr(o.cwd,this.context.cwd);let n=o.workspaces,u=new Map(n.map(p=>[G.stringifyIdent(p.anchoredLocator),p])),A=u.get(this.workspaceName);if(A===void 0){let p=Array.from(u.keys()).sort();throw new it(`Workspace '${this.workspaceName}' not found. Did you mean any of the following: - - ${p.join(` - - `)}?`)}return this.cli.run([this.commandName,...this.args],{cwd:A.cwd})}};o0.paths=[["workspace"]],o0.usage=nt.Usage({category:"Workspace-related commands",description:"run a command within the specified workspace",details:` - This command will run a given sub-command on a single workspace. - `,examples:[["Add a package to a single workspace","yarn workspace components add -D react"],["Run build script on a single workspace","yarn workspace components run build"]]});var agt={configuration:{enableImmutableInstalls:{description:"If true (the default on CI), prevents the install command from modifying the lockfile",type:"BOOLEAN",default:xde.isCI},defaultSemverRangePrefix:{description:"The default save prefix: '^', '~' or ''",type:"STRING",values:["^","~",""],default:"^"},preferReuse:{description:"If true, `yarn add` will attempt to reuse the most common dependency range in other workspaces.",type:"BOOLEAN",default:!1}},commands:[kh,Fh,Rh,Th,t0,Kh,Uh,s0,Wd,Kd,gw,Jd,bh,Qh,Nh,Lh,Oh,Mh,_h,Hh,jh,qh,r0,Gh,Yh,Vh,Jh,zh,Wh,Xh,Zh,$h,zd,e0,Jf,n0,o0]},lgt=agt;var tH={};Jt(tH,{default:()=>ugt});Ye();var Qt={optional:!0},X8=[["@tailwindcss/aspect-ratio@<0.2.1",{peerDependencies:{tailwindcss:"^2.0.2"}}],["@tailwindcss/line-clamp@<0.2.1",{peerDependencies:{tailwindcss:"^2.0.2"}}],["@fullhuman/postcss-purgecss@3.1.3 || 3.1.3-alpha.0",{peerDependencies:{postcss:"^8.0.0"}}],["@samverschueren/stream-to-observable@<0.3.1",{peerDependenciesMeta:{rxjs:Qt,zenObservable:Qt}}],["any-observable@<0.5.1",{peerDependenciesMeta:{rxjs:Qt,zenObservable:Qt}}],["@pm2/agent@<1.0.4",{dependencies:{debug:"*"}}],["debug@<4.2.0",{peerDependenciesMeta:{["supports-color"]:Qt}}],["got@<11",{dependencies:{["@types/responselike"]:"^1.0.0",["@types/keyv"]:"^3.1.1"}}],["cacheable-lookup@<4.1.2",{dependencies:{["@types/keyv"]:"^3.1.1"}}],["http-link-dataloader@*",{peerDependencies:{graphql:"^0.13.1 || ^14.0.0"}}],["typescript-language-server@*",{dependencies:{["vscode-jsonrpc"]:"^5.0.1",["vscode-languageserver-protocol"]:"^3.15.0"}}],["postcss-syntax@*",{peerDependenciesMeta:{["postcss-html"]:Qt,["postcss-jsx"]:Qt,["postcss-less"]:Qt,["postcss-markdown"]:Qt,["postcss-scss"]:Qt}}],["jss-plugin-rule-value-function@<=10.1.1",{dependencies:{["tiny-warning"]:"^1.0.2"}}],["ink-select-input@<4.1.0",{peerDependencies:{react:"^16.8.2"}}],["license-webpack-plugin@<2.3.18",{peerDependenciesMeta:{webpack:Qt}}],["snowpack@>=3.3.0",{dependencies:{["node-gyp"]:"^7.1.0"}}],["promise-inflight@*",{peerDependenciesMeta:{bluebird:Qt}}],["reactcss@*",{peerDependencies:{react:"*"}}],["react-color@<=2.19.0",{peerDependencies:{react:"*"}}],["gatsby-plugin-i18n@*",{dependencies:{ramda:"^0.24.1"}}],["useragent@^2.0.0",{dependencies:{request:"^2.88.0",yamlparser:"0.0.x",semver:"5.5.x"}}],["@apollographql/apollo-tools@<=0.5.2",{peerDependencies:{graphql:"^14.2.1 || ^15.0.0"}}],["material-table@^2.0.0",{dependencies:{"@babel/runtime":"^7.11.2"}}],["@babel/parser@*",{dependencies:{"@babel/types":"^7.8.3"}}],["fork-ts-checker-webpack-plugin@<=6.3.4",{peerDependencies:{eslint:">= 6",typescript:">= 2.7",webpack:">= 4","vue-template-compiler":"*"},peerDependenciesMeta:{eslint:Qt,"vue-template-compiler":Qt}}],["rc-animate@<=3.1.1",{peerDependencies:{react:">=16.9.0","react-dom":">=16.9.0"}}],["react-bootstrap-table2-paginator@*",{dependencies:{classnames:"^2.2.6"}}],["react-draggable@<=4.4.3",{peerDependencies:{react:">= 16.3.0","react-dom":">= 16.3.0"}}],["apollo-upload-client@<14",{peerDependencies:{graphql:"14 - 15"}}],["react-instantsearch-core@<=6.7.0",{peerDependencies:{algoliasearch:">= 3.1 < 5"}}],["react-instantsearch-dom@<=6.7.0",{dependencies:{"react-fast-compare":"^3.0.0"}}],["ws@<7.2.1",{peerDependencies:{bufferutil:"^4.0.1","utf-8-validate":"^5.0.2"},peerDependenciesMeta:{bufferutil:Qt,"utf-8-validate":Qt}}],["react-portal@<4.2.2",{peerDependencies:{"react-dom":"^15.0.0-0 || ^16.0.0-0 || ^17.0.0-0"}}],["react-scripts@<=4.0.1",{peerDependencies:{react:"*"}}],["testcafe@<=1.10.1",{dependencies:{"@babel/plugin-transform-for-of":"^7.12.1","@babel/runtime":"^7.12.5"}}],["testcafe-legacy-api@<=4.2.0",{dependencies:{"testcafe-hammerhead":"^17.0.1","read-file-relative":"^1.2.0"}}],["@google-cloud/firestore@<=4.9.3",{dependencies:{protobufjs:"^6.8.6"}}],["gatsby-source-apiserver@*",{dependencies:{["babel-polyfill"]:"^6.26.0"}}],["@webpack-cli/package-utils@<=1.0.1-alpha.4",{dependencies:{["cross-spawn"]:"^7.0.3"}}],["gatsby-remark-prismjs@<3.3.28",{dependencies:{lodash:"^4"}}],["gatsby-plugin-favicon@*",{peerDependencies:{webpack:"*"}}],["gatsby-plugin-sharp@<=4.6.0-next.3",{dependencies:{debug:"^4.3.1"}}],["gatsby-react-router-scroll@<=5.6.0-next.0",{dependencies:{["prop-types"]:"^15.7.2"}}],["@rebass/forms@*",{dependencies:{["@styled-system/should-forward-prop"]:"^5.0.0"},peerDependencies:{react:"^16.8.6"}}],["rebass@*",{peerDependencies:{react:"^16.8.6"}}],["@ant-design/react-slick@<=0.28.3",{peerDependencies:{react:">=16.0.0"}}],["mqtt@<4.2.7",{dependencies:{duplexify:"^4.1.1"}}],["vue-cli-plugin-vuetify@<=2.0.3",{dependencies:{semver:"^6.3.0"},peerDependenciesMeta:{"sass-loader":Qt,"vuetify-loader":Qt}}],["vue-cli-plugin-vuetify@<=2.0.4",{dependencies:{"null-loader":"^3.0.0"}}],["vue-cli-plugin-vuetify@>=2.4.3",{peerDependencies:{vue:"*"}}],["@vuetify/cli-plugin-utils@<=0.0.4",{dependencies:{semver:"^6.3.0"},peerDependenciesMeta:{"sass-loader":Qt}}],["@vue/cli-plugin-typescript@<=5.0.0-alpha.0",{dependencies:{"babel-loader":"^8.1.0"}}],["@vue/cli-plugin-typescript@<=5.0.0-beta.0",{dependencies:{"@babel/core":"^7.12.16"},peerDependencies:{"vue-template-compiler":"^2.0.0"},peerDependenciesMeta:{"vue-template-compiler":Qt}}],["cordova-ios@<=6.3.0",{dependencies:{underscore:"^1.9.2"}}],["cordova-lib@<=10.0.1",{dependencies:{underscore:"^1.9.2"}}],["git-node-fs@*",{peerDependencies:{"js-git":"^0.7.8"},peerDependenciesMeta:{"js-git":Qt}}],["consolidate@<0.16.0",{peerDependencies:{mustache:"^3.0.0"},peerDependenciesMeta:{mustache:Qt}}],["consolidate@<=0.16.0",{peerDependencies:{velocityjs:"^2.0.1",tinyliquid:"^0.2.34","liquid-node":"^3.0.1",jade:"^1.11.0","then-jade":"*",dust:"^0.3.0","dustjs-helpers":"^1.7.4","dustjs-linkedin":"^2.7.5",swig:"^1.4.2","swig-templates":"^2.0.3","razor-tmpl":"^1.3.1",atpl:">=0.7.6",liquor:"^0.0.5",twig:"^1.15.2",ejs:"^3.1.5",eco:"^1.1.0-rc-3",jazz:"^0.0.18",jqtpl:"~1.1.0",hamljs:"^0.6.2",hamlet:"^0.3.3",whiskers:"^0.4.0","haml-coffee":"^1.14.1","hogan.js":"^3.0.2",templayed:">=0.2.3",handlebars:"^4.7.6",underscore:"^1.11.0",lodash:"^4.17.20",pug:"^3.0.0","then-pug":"*",qejs:"^3.0.5",walrus:"^0.10.1",mustache:"^4.0.1",just:"^0.1.8",ect:"^0.5.9",mote:"^0.2.0",toffee:"^0.3.6",dot:"^1.1.3","bracket-template":"^1.1.5",ractive:"^1.3.12",nunjucks:"^3.2.2",htmling:"^0.0.8","babel-core":"^6.26.3",plates:"~0.4.11","react-dom":"^16.13.1",react:"^16.13.1","arc-templates":"^0.5.3",vash:"^0.13.0",slm:"^2.0.0",marko:"^3.14.4",teacup:"^2.0.0","coffee-script":"^1.12.7",squirrelly:"^5.1.0",twing:"^5.0.2"},peerDependenciesMeta:{velocityjs:Qt,tinyliquid:Qt,"liquid-node":Qt,jade:Qt,"then-jade":Qt,dust:Qt,"dustjs-helpers":Qt,"dustjs-linkedin":Qt,swig:Qt,"swig-templates":Qt,"razor-tmpl":Qt,atpl:Qt,liquor:Qt,twig:Qt,ejs:Qt,eco:Qt,jazz:Qt,jqtpl:Qt,hamljs:Qt,hamlet:Qt,whiskers:Qt,"haml-coffee":Qt,"hogan.js":Qt,templayed:Qt,handlebars:Qt,underscore:Qt,lodash:Qt,pug:Qt,"then-pug":Qt,qejs:Qt,walrus:Qt,mustache:Qt,just:Qt,ect:Qt,mote:Qt,toffee:Qt,dot:Qt,"bracket-template":Qt,ractive:Qt,nunjucks:Qt,htmling:Qt,"babel-core":Qt,plates:Qt,"react-dom":Qt,react:Qt,"arc-templates":Qt,vash:Qt,slm:Qt,marko:Qt,teacup:Qt,"coffee-script":Qt,squirrelly:Qt,twing:Qt}}],["vue-loader@<=16.3.3",{peerDependencies:{"@vue/compiler-sfc":"^3.0.8",webpack:"^4.1.0 || ^5.0.0-0"},peerDependenciesMeta:{"@vue/compiler-sfc":Qt}}],["vue-loader@^16.7.0",{peerDependencies:{"@vue/compiler-sfc":"^3.0.8",vue:"^3.2.13"},peerDependenciesMeta:{"@vue/compiler-sfc":Qt,vue:Qt}}],["scss-parser@<=1.0.5",{dependencies:{lodash:"^4.17.21"}}],["query-ast@<1.0.5",{dependencies:{lodash:"^4.17.21"}}],["redux-thunk@<=2.3.0",{peerDependencies:{redux:"^4.0.0"}}],["skypack@<=0.3.2",{dependencies:{tar:"^6.1.0"}}],["@npmcli/metavuln-calculator@<2.0.0",{dependencies:{"json-parse-even-better-errors":"^2.3.1"}}],["bin-links@<2.3.0",{dependencies:{"mkdirp-infer-owner":"^1.0.2"}}],["rollup-plugin-polyfill-node@<=0.8.0",{peerDependencies:{rollup:"^1.20.0 || ^2.0.0"}}],["snowpack@<3.8.6",{dependencies:{"magic-string":"^0.25.7"}}],["elm-webpack-loader@*",{dependencies:{temp:"^0.9.4"}}],["winston-transport@<=4.4.0",{dependencies:{logform:"^2.2.0"}}],["jest-vue-preprocessor@*",{dependencies:{"@babel/core":"7.8.7","@babel/template":"7.8.6"},peerDependencies:{pug:"^2.0.4"},peerDependenciesMeta:{pug:Qt}}],["redux-persist@*",{peerDependencies:{react:">=16"},peerDependenciesMeta:{react:Qt}}],["sodium@>=3",{dependencies:{"node-gyp":"^3.8.0"}}],["babel-plugin-graphql-tag@<=3.1.0",{peerDependencies:{graphql:"^14.0.0 || ^15.0.0"}}],["@playwright/test@<=1.14.1",{dependencies:{"jest-matcher-utils":"^26.4.2"}}],...["babel-plugin-remove-graphql-queries@<3.14.0-next.1","babel-preset-gatsby-package@<1.14.0-next.1","create-gatsby@<1.14.0-next.1","gatsby-admin@<0.24.0-next.1","gatsby-cli@<3.14.0-next.1","gatsby-core-utils@<2.14.0-next.1","gatsby-design-tokens@<3.14.0-next.1","gatsby-legacy-polyfills@<1.14.0-next.1","gatsby-plugin-benchmark-reporting@<1.14.0-next.1","gatsby-plugin-graphql-config@<0.23.0-next.1","gatsby-plugin-image@<1.14.0-next.1","gatsby-plugin-mdx@<2.14.0-next.1","gatsby-plugin-netlify-cms@<5.14.0-next.1","gatsby-plugin-no-sourcemaps@<3.14.0-next.1","gatsby-plugin-page-creator@<3.14.0-next.1","gatsby-plugin-preact@<5.14.0-next.1","gatsby-plugin-preload-fonts@<2.14.0-next.1","gatsby-plugin-schema-snapshot@<2.14.0-next.1","gatsby-plugin-styletron@<6.14.0-next.1","gatsby-plugin-subfont@<3.14.0-next.1","gatsby-plugin-utils@<1.14.0-next.1","gatsby-recipes@<0.25.0-next.1","gatsby-source-shopify@<5.6.0-next.1","gatsby-source-wikipedia@<3.14.0-next.1","gatsby-transformer-screenshot@<3.14.0-next.1","gatsby-worker@<0.5.0-next.1"].map(e=>[e,{dependencies:{"@babel/runtime":"^7.14.8"}}]),["gatsby-core-utils@<2.14.0-next.1",{dependencies:{got:"8.3.2"}}],["gatsby-plugin-gatsby-cloud@<=3.1.0-next.0",{dependencies:{"gatsby-core-utils":"^2.13.0-next.0"}}],["gatsby-plugin-gatsby-cloud@<=3.2.0-next.1",{peerDependencies:{webpack:"*"}}],["babel-plugin-remove-graphql-queries@<=3.14.0-next.1",{dependencies:{"gatsby-core-utils":"^2.8.0-next.1"}}],["gatsby-plugin-netlify@3.13.0-next.1",{dependencies:{"gatsby-core-utils":"^2.13.0-next.0"}}],["clipanion-v3-codemod@<=0.2.0",{peerDependencies:{jscodeshift:"^0.11.0"}}],["react-live@*",{peerDependencies:{"react-dom":"*",react:"*"}}],["webpack@<4.44.1",{peerDependenciesMeta:{"webpack-cli":Qt,"webpack-command":Qt}}],["webpack@<5.0.0-beta.23",{peerDependenciesMeta:{"webpack-cli":Qt}}],["webpack-dev-server@<3.10.2",{peerDependenciesMeta:{"webpack-cli":Qt}}],["@docusaurus/responsive-loader@<1.5.0",{peerDependenciesMeta:{sharp:Qt,jimp:Qt}}],["eslint-module-utils@*",{peerDependenciesMeta:{"eslint-import-resolver-node":Qt,"eslint-import-resolver-typescript":Qt,"eslint-import-resolver-webpack":Qt,"@typescript-eslint/parser":Qt}}],["eslint-plugin-import@*",{peerDependenciesMeta:{"@typescript-eslint/parser":Qt}}],["critters-webpack-plugin@<3.0.2",{peerDependenciesMeta:{"html-webpack-plugin":Qt}}],["terser@<=5.10.0",{dependencies:{acorn:"^8.5.0"}}],["babel-preset-react-app@10.0.x",{dependencies:{"@babel/plugin-proposal-private-property-in-object":"^7.16.0"}}],["eslint-config-react-app@*",{peerDependenciesMeta:{typescript:Qt}}],["@vue/eslint-config-typescript@<11.0.0",{peerDependenciesMeta:{typescript:Qt}}],["unplugin-vue2-script-setup@<0.9.1",{peerDependencies:{"@vue/composition-api":"^1.4.3","@vue/runtime-dom":"^3.2.26"}}],["@cypress/snapshot@*",{dependencies:{debug:"^3.2.7"}}],["auto-relay@<=0.14.0",{peerDependencies:{"reflect-metadata":"^0.1.13"}}],["vue-template-babel-compiler@<1.2.0",{peerDependencies:{["vue-template-compiler"]:"^2.6.0"}}],["@parcel/transformer-image@<2.5.0",{peerDependencies:{["@parcel/core"]:"*"}}],["@parcel/transformer-js@<2.5.0",{peerDependencies:{["@parcel/core"]:"*"}}],["parcel@*",{peerDependenciesMeta:{["@parcel/core"]:Qt}}],["react-scripts@*",{peerDependencies:{eslint:"*"}}],["focus-trap-react@^8.0.0",{dependencies:{tabbable:"^5.3.2"}}],["react-rnd@<10.3.7",{peerDependencies:{react:">=16.3.0","react-dom":">=16.3.0"}}],["connect-mongo@*",{peerDependencies:{"express-session":"^1.17.1"}}],["vue-i18n@<9",{peerDependencies:{vue:"^2"}}],["vue-router@<4",{peerDependencies:{vue:"^2"}}],["unified@<10",{dependencies:{"@types/unist":"^2.0.0"}}],["react-github-btn@<=1.3.0",{peerDependencies:{react:">=16.3.0"}}],["react-dev-utils@*",{peerDependencies:{typescript:">=2.7",webpack:">=4"},peerDependenciesMeta:{typescript:Qt}}],["@asyncapi/react-component@<=1.0.0-next.39",{peerDependencies:{react:">=16.8.0","react-dom":">=16.8.0"}}],["xo@*",{peerDependencies:{webpack:">=1.11.0"},peerDependenciesMeta:{webpack:Qt}}],["babel-plugin-remove-graphql-queries@<=4.20.0-next.0",{dependencies:{"@babel/types":"^7.15.4"}}],["gatsby-plugin-page-creator@<=4.20.0-next.1",{dependencies:{"fs-extra":"^10.1.0"}}],["gatsby-plugin-utils@<=3.14.0-next.1",{dependencies:{fastq:"^1.13.0"},peerDependencies:{graphql:"^15.0.0"}}],["gatsby-plugin-mdx@<3.1.0-next.1",{dependencies:{mkdirp:"^1.0.4"}}],["gatsby-plugin-mdx@^2",{peerDependencies:{gatsby:"^3.0.0-next"}}],["fdir@<=5.2.0",{peerDependencies:{picomatch:"2.x"},peerDependenciesMeta:{picomatch:Qt}}],["babel-plugin-transform-typescript-metadata@<=0.3.2",{peerDependencies:{"@babel/core":"^7","@babel/traverse":"^7"},peerDependenciesMeta:{"@babel/traverse":Qt}}],["graphql-compose@>=9.0.10",{peerDependencies:{graphql:"^14.2.0 || ^15.0.0 || ^16.0.0"}}]];var Z8;function bde(){return typeof Z8>"u"&&(Z8=Ie("zlib").brotliDecompressSync(Buffer.from("G7weAByFTVk3Vs7UfHhq4yykgEM7pbW7TI43SG2S5tvGrwHBAzdz+s/npQ6tgEvobvxisrPIadkXeUAJotBn5bDZ5kAhcRqsIHe3F75Walet5hNalwgFDtxb0BiDUjiUQkjG0yW2hto9HPgiCkm316d6bC0kST72YN7D7rfkhCE9x4J0XwB0yavalxpUu2t9xszHrmtwalOxT7VslsxWcB1qpqZwERUra4psWhTV8BgwWeizurec82Caf1ABL11YMfbf8FJ9JBceZOkgmvrQPbC9DUldX/yMbmX06UQluCEjSwUoyO+EZPIjofr+/oAZUck2enraRD+oWLlnlYnj8xB+gwSo9lmmks4fXv574qSqcWA6z21uYkzMu3EWj+K23RxeQlLqiE35/rC8GcS4CGkKHKKq+zAIQwD9iRDNfiAqueLLpicFFrNsAI4zeTD/eO9MHcnRa5m8UT+M2+V+AkFST4BlKneiAQRSdST8KEAIyFlULt6wa9EBd0Ds28VmpaxquJdVt+nwdEs5xUskI13OVtFyY0UrQIRAlCuvvWivvlSKQfTO+2Q8OyUR1W5RvetaPz4jD27hdtwHFFA1Ptx6Ee/t2cY2rg2G46M1pNDRf2pWhvpy8pqMnuI3++4OF3+7OFIWXGjh+o7Nr2jNvbiYcQdQS1h903/jVFgOpA0yJ78z+x759bFA0rq+6aY5qPB4FzS3oYoLupDUhD9nDz6F6H7hpnlMf18KNKDu4IKjTWwrAnY6MFQw1W6ymOALHlFyCZmQhldg1MQHaMVVQTVgDC60TfaBqG++Y8PEoFhN/PBTZT175KNP/BlHDYGOOBmnBdzqJKplZ/ljiVG0ZBzfqeBRrrUkn6rA54462SgiliKoYVnbeptMdXNfAuaupIEi0bApF10TlgHfmEJAPUVidRVFyDupSem5po5vErPqWKhKbUIp0LozpYsIKK57dM/HKr+nguF+7924IIWMICkQ8JUigs9D+W+c4LnNoRtPPKNRUiCYmP+Jfo2lfKCKw8qpraEeWU3uiNRO6zcyKQoXPR5htmzzLznke7b4YbXW3I1lIRzmgG02Udb58U+7TpwyN7XymCgH+wuPDthZVQvRZuEP+SnLtMicz9m5zASWOBiAcLmkuFlTKuHspSIhCBD0yUPKcxu81A+4YD78rA2vtwsUEday9WNyrShyrl60rWmA+SmbYZkQOwFJWArxRYYc5jGhA5ikxYw1rx3ei4NmeX/lKiwpZ9Ln1tV2Ae7sArvxuVLbJjqJRjW1vFXAyHpvLG+8MJ6T2Ubx5M2KDa2SN6vuIGxJ9WQM9Mk3Q7aCNiZONXllhqq24DmoLbQfW2rYWsOgHWjtOmIQMyMKdiHZDjoyIq5+U700nZ6odJAoYXPQBvFNiQ78d5jaXliBqLTJEqUCwi+LiH2mx92EmNKDsJL74Z613+3lf20pxkV1+erOrjj8pW00vsPaahKUM+05ssd5uwM7K482KWEf3TCwlg/o3e5ngto7qSMz7YteIgCsF1UOcsLk7F7MxWbvrPMY473ew0G+noVL8EPbkmEMftMSeL6HFub/zy+2JQ==","base64")).toString()),Z8}var $8;function Qde(){return typeof $8>"u"&&($8=Ie("zlib").brotliDecompressSync(Buffer.from("G8MSIIzURnVBnObTcvb3XE6v2S9Qgc2K801Oa5otNKEtK8BINZNcaQHy+9/vf/WXBimwutXC33P2DPc64pps5rz7NGGWaOKNSPL4Y2KRE8twut2lFOIN+OXPtRmPMRhMTILib2bEQx43az2I5d3YS8Roa5UZpF/ujHb3Djd3GDvYUfvFYSUQ39vb2cmifp/rgB4J/65JK3wRBTvMBoNBmn3mbXC63/gbBkW/2IRPri0O8bcsRBsmarF328pAln04nyJFkwUAvNu934supAqLtyerZZpJ8I8suJHhf/ocMV+scKwa8NOiDKIPXw6Ex/EEZD6TEGaW8N5zvNHYF10l6Lfooj7D5W2k3dgvQSbp2Wv8TGOayS978gxlOLVjTGXs66ozewbrjwElLtyrYNnWTfzzdEutgROUFPVMhnMoy8EjJLLlWwIEoySxliim9kYW30JUHiPVyjt0iAw/ZpPmCbUCltYPnq6ZNblIKhTNhqS/oqC9iya5sGKZTOVsTEg34n92uZTf2iPpcZih8rPW8CzA+adIGmyCPcKdLMsBLShd+zuEbTrqpwuh+DLmracZcjPC5Sdf5odDAhKpFuOsQS67RT+1VgWWygSv3YwxDnylc04/PYuaMeIzhBkLrvs7e/OUzRTF56MmfY6rI63QtEjEQzq637zQqJ39nNhu3NmoRRhW/086bHGBUtx0PE0j3aEGvkdh9WJC8y8j8mqqke9/dQ5la+Q3ba4RlhvTbnfQhPDDab3tUifkjKuOsp13mXEmO00Mu88F/M67R7LXfoFDFLNtgCSWjWX+3Jn1371pJTK9xPBiMJafvDjtFyAzu8rxeQ0TKMQXNPs5xxiBOd+BRJP8KP88XPtJIbZKh/cdW8KvBUkpqKpGoiIaA32c3/JnQr4efXt85mXvidOvn/eU3Pase1typLYBalJ14mCso9h79nuMOuCa/kZAOkJHmTjP5RM2WNoPasZUAnT1TAE/NH25hUxcQv6hQWR/m1PKk4ooXMcM4SR1iYU3fUohvqk4RY2hbmTVVIXv6TvqO+0doOjgeVFAcom+RlwJQmOVH7pr1Q9LoJT6n1DeQEB+NHygsATbIwTcOKZlJsY8G4+suX1uQLjUWwLjjs0mvSvZcLTpIGAekeR7GCgl8eo3ndAqEe2XCav4huliHjdbIPBsGJuPX7lrO9HX1UbXRH5opOe1x6JsOSgHZR+EaxuXVhpLLxm6jk1LJtZfHSc6BKPun3CpYYVMJGwEUyk8MTGG0XL5MfEwaXpnc9TKnBmlGn6nHiGREc3ysn47XIBDzA+YvFdjZzVIEDcKGpS6PbUJehFRjEne8D0lVU1XuRtlgszq6pTNlQ/3MzNOEgCWPyTct22V2mEi2krizn5VDo9B19/X2DB3hCGRMM7ONbtnAcIx/OWB1u5uPbW1gsH8irXxT/IzG0PoXWYjhbMsH3KTuoOl5o17PulcgvsfTSnKFM354GWI8luqZnrswWjiXy3G+Vbyo1KMopFmmvBwNELgaS8z8dNZchx/Cl/xjddxhMcyqtzFyONb2Zdu90NkI8pAeufe7YlXrp53v8Dj/l8vWeVspRKBGXScBBPI/HinSTGmLDOGGOCIyH0JFdOZx0gWsacNlQLJMIrBhqRxXxHF/5pseWwejlAAvZ3klZSDSYY8mkToaWejXhgNomeGtx1DTLEUFMRkgF5yFB22WYdJnaWN14r1YJj81hGi45+jrADS5nYRhCiSlCJJ1nL8pYX+HDSMhdTEWyRcgHVp/IsUIZYMfT+YYncUQPgcxNGCHfZ88vDdrcUuaGIl6zhAsiaq7R5dfqrqXH/JcBhfjT8D0azayIyEz75Nxp6YkcyDxlJq3EXnJUpqDohJJOysL1t1uNiHESlvsxPb5cpbW0+ICZqJmUZus1BMW0F5IVBODLIo2zHHjA0=","base64")).toString()),$8}var eH;function kde(){return typeof eH>"u"&&(eH=Ie("zlib").brotliDecompressSync(Buffer.from("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","base64")).toString()),eH}var Fde=new Map([[G.makeIdent(null,"fsevents").identHash,bde],[G.makeIdent(null,"resolve").identHash,Qde],[G.makeIdent(null,"typescript").identHash,kde]]),cgt={hooks:{registerPackageExtensions:async(e,t)=>{for(let[r,o]of X8)t(G.parseDescriptor(r,!0),o)},getBuiltinPatch:async(e,t)=>{let r="compat/";if(!t.startsWith(r))return;let o=G.parseIdent(t.slice(r.length)),a=Fde.get(o.identHash)?.();return typeof a<"u"?a:null},reduceDependency:async(e,t,r,o)=>typeof Fde.get(e.identHash)>"u"?e:G.makeDescriptor(e,G.makeRange({protocol:"patch:",source:G.stringifyDescriptor(e),selector:`optional!builtin<compat/${G.stringifyIdent(e)}>`,params:null}))}},ugt=cgt;var yH={};Jt(yH,{ConstraintsCheckCommand:()=>p0,ConstraintsQueryCommand:()=>A0,ConstraintsSourceCommand:()=>f0,default:()=>Ogt});Ye();Ye();w2();var ww=class{constructor(t){this.project=t}createEnvironment(){let t=new Ew(["cwd","ident"]),r=new Ew(["workspace","type","ident"]),o=new Ew(["ident"]),a={manifestUpdates:new Map,reportedErrors:new Map},n=new Map,u=new Map;for(let A of this.project.storedPackages.values()){let p=Array.from(A.peerDependencies.values(),h=>[G.stringifyIdent(h),h.range]);n.set(A.locatorHash,{workspace:null,ident:G.stringifyIdent(A),version:A.version,dependencies:new Map,peerDependencies:new Map(p.filter(([h])=>A.peerDependenciesMeta.get(h)?.optional!==!0)),optionalPeerDependencies:new Map(p.filter(([h])=>A.peerDependenciesMeta.get(h)?.optional===!0))})}for(let A of this.project.storedPackages.values()){let p=n.get(A.locatorHash);p.dependencies=new Map(Array.from(A.dependencies.values(),h=>{let w=this.project.storedResolutions.get(h.descriptorHash);if(typeof w>"u")throw new Error("Assertion failed: The resolution should have been registered");let I=n.get(w);if(typeof I>"u")throw new Error("Assertion failed: The package should have been registered");return[G.stringifyIdent(h),I]})),p.dependencies.delete(p.ident)}for(let A of this.project.workspaces){let p=G.stringifyIdent(A.anchoredLocator),h=A.manifest.exportTo({}),w=n.get(A.anchoredLocator.locatorHash);if(typeof w>"u")throw new Error("Assertion failed: The package should have been registered");let I=(R,N,{caller:U=cs.getCaller()}={})=>{let V=E2(R),ee=_e.getMapWithDefault(a.manifestUpdates,A.cwd),le=_e.getMapWithDefault(ee,V),fe=_e.getSetWithDefault(le,N);U!==null&&fe.add(U)},v=R=>I(R,void 0,{caller:cs.getCaller()}),b=R=>{_e.getArrayWithDefault(a.reportedErrors,A.cwd).push(R)},E=t.insert({cwd:A.relativeCwd,ident:p,manifest:h,pkg:w,set:I,unset:v,error:b});u.set(A,E);for(let R of Ot.allDependencies)for(let N of A.manifest[R].values()){let U=G.stringifyIdent(N),V=()=>{I([R,U],void 0,{caller:cs.getCaller()})},ee=fe=>{I([R,U],fe,{caller:cs.getCaller()})},le=null;if(R!=="peerDependencies"&&(R!=="dependencies"||!A.manifest.devDependencies.has(N.identHash))){let fe=A.anchoredPackage.dependencies.get(N.identHash);if(fe){if(typeof fe>"u")throw new Error("Assertion failed: The dependency should have been registered");let de=this.project.storedResolutions.get(fe.descriptorHash);if(typeof de>"u")throw new Error("Assertion failed: The resolution should have been registered");let ge=n.get(de);if(typeof ge>"u")throw new Error("Assertion failed: The package should have been registered");le=ge}}r.insert({workspace:E,ident:U,range:N.range,type:R,resolution:le,update:ee,delete:V,error:b})}}for(let A of this.project.storedPackages.values()){let p=this.project.tryWorkspaceByLocator(A);if(!p)continue;let h=u.get(p);if(typeof h>"u")throw new Error("Assertion failed: The workspace should have been registered");let w=n.get(A.locatorHash);if(typeof w>"u")throw new Error("Assertion failed: The package should have been registered");w.workspace=h}return{workspaces:t,dependencies:r,packages:o,result:a}}async process(){let t=this.createEnvironment(),r={Yarn:{workspace:a=>t.workspaces.find(a)[0]??null,workspaces:a=>t.workspaces.find(a),dependency:a=>t.dependencies.find(a)[0]??null,dependencies:a=>t.dependencies.find(a),package:a=>t.packages.find(a)[0]??null,packages:a=>t.packages.find(a)}},o=await this.project.loadUserConfig();return o?.constraints?(await o.constraints(r),t.result):null}};Ye();Ye();qt();var A0=class extends ut{constructor(){super(...arguments);this.json=he.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"});this.query=he.String()}async execute(){let{Constraints:r}=await Promise.resolve().then(()=>(D2(),v2)),o=await Ke.find(this.context.cwd,this.context.plugins),{project:a}=await Pt.find(o,this.context.cwd),n=await r.find(a),u=this.query;return u.endsWith(".")||(u=`${u}.`),(await Nt.start({configuration:o,json:this.json,stdout:this.context.stdout},async p=>{for await(let h of n.query(u)){let w=Array.from(Object.entries(h)),I=w.length,v=w.reduce((b,[E])=>Math.max(b,E.length),0);for(let b=0;b<I;b++){let[E,R]=w[b];p.reportInfo(null,`${Ngt(b,I)}${E.padEnd(v," ")} = ${Tgt(R)}`)}p.reportJson(h)}})).exitCode()}};A0.paths=[["constraints","query"]],A0.usage=nt.Usage({category:"Constraints-related commands",description:"query the constraints fact database",details:` - This command will output all matches to the given prolog query. - `,examples:[["List all dependencies throughout the workspace","yarn constraints query 'workspace_has_dependency(_, DependencyName, _, _).'"]]});function Tgt(e){return typeof e!="string"?`${e}`:e.match(/^[a-zA-Z][a-zA-Z0-9_]+$/)?e:`'${e}'`}function Ngt(e,t){let r=e===0,o=e===t-1;return r&&o?"":r?"\u250C ":o?"\u2514 ":"\u2502 "}Ye();qt();var f0=class extends ut{constructor(){super(...arguments);this.verbose=he.Boolean("-v,--verbose",!1,{description:"Also print the fact database automatically compiled from the workspace manifests"})}async execute(){let{Constraints:r}=await Promise.resolve().then(()=>(D2(),v2)),o=await Ke.find(this.context.cwd,this.context.plugins),{project:a}=await Pt.find(o,this.context.cwd),n=await r.find(a);this.context.stdout.write(this.verbose?n.fullSource:n.source)}};f0.paths=[["constraints","source"]],f0.usage=nt.Usage({category:"Constraints-related commands",description:"print the source code for the constraints",details:"\n This command will print the Prolog source code used by the constraints engine. Adding the `-v,--verbose` flag will print the *full* source code, including the fact database automatically compiled from the workspace manifests.\n ",examples:[["Prints the source code","yarn constraints source"],["Print the source code and the fact database","yarn constraints source -v"]]});Ye();Ye();qt();w2();var p0=class extends ut{constructor(){super(...arguments);this.fix=he.Boolean("--fix",!1,{description:"Attempt to automatically fix unambiguous issues, following a multi-pass process"});this.json=he.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"})}async execute(){let r=await Ke.find(this.context.cwd,this.context.plugins),{project:o}=await Pt.find(r,this.context.cwd);await o.restoreInstallState();let a=await o.loadUserConfig(),n;if(a?.constraints)n=new ww(o);else{let{Constraints:h}=await Promise.resolve().then(()=>(D2(),v2));n=await h.find(o)}let u,A=!1,p=!1;for(let h=this.fix?10:1;h>0;--h){let w=await n.process();if(!w)break;let{changedWorkspaces:I,remainingErrors:v}=pQ(o,w,{fix:this.fix}),b=[];for(let[E,R]of I){let N=E.manifest.indent;E.manifest=new Ot,E.manifest.indent=N,E.manifest.load(R),b.push(E.persistManifest())}if(!(I.size>0&&h>1)){u=Ude(v,{configuration:r}),A=!1,p=!0;for(let[,E]of v)for(let R of E)R.fixable?A=!0:p=!1}}if(u.children.length===0)return 0;if(A){let h=p?`Those errors can all be fixed by running ${ye.pretty(r,"yarn constraints --fix",ye.Type.CODE)}`:`Errors prefixed by '\u2699' can be fixed by running ${ye.pretty(r,"yarn constraints --fix",ye.Type.CODE)}`;await Nt.start({configuration:r,stdout:this.context.stdout,includeNames:!1,includeFooter:!1},async w=>{w.reportInfo(0,h),w.reportSeparator()})}return u.children=_e.sortMap(u.children,h=>h.value[1]),ra.emitTree(u,{configuration:r,stdout:this.context.stdout,json:this.json,separators:1}),1}};p0.paths=[["constraints"]],p0.usage=nt.Usage({category:"Constraints-related commands",description:"check that the project constraints are met",details:` - This command will run constraints on your project and emit errors for each one that is found but isn't met. If any error is emitted the process will exit with a non-zero exit code. - - If the \`--fix\` flag is used, Yarn will attempt to automatically fix the issues the best it can, following a multi-pass process (with a maximum of 10 iterations). Some ambiguous patterns cannot be autofixed, in which case you'll have to manually specify the right resolution. - - For more information as to how to write constraints, please consult our dedicated page on our website: https://yarnpkg.com/features/constraints. - `,examples:[["Check that all constraints are satisfied","yarn constraints"],["Autofix all unmet constraints","yarn constraints --fix"]]});w2();var Lgt={configuration:{enableConstraintsChecks:{description:"If true, constraints will run during installs",type:"BOOLEAN",default:!1},constraintsPath:{description:"The path of the constraints file.",type:"ABSOLUTE_PATH",default:"./constraints.pro"}},commands:[A0,f0,p0],hooks:{async validateProjectAfterInstall(e,{reportError:t}){if(!e.configuration.get("enableConstraintsChecks"))return;let r=await e.loadUserConfig(),o;if(r?.constraints)o=new ww(e);else{let{Constraints:u}=await Promise.resolve().then(()=>(D2(),v2));o=await u.find(e)}let a=await o.process();if(!a)return;let{remainingErrors:n}=pQ(e,a);if(n.size!==0)if(e.configuration.isCI)for(let[u,A]of n)for(let p of A)t(84,`${ye.pretty(e.configuration,u.anchoredLocator,ye.Type.IDENT)}: ${p.text}`);else t(84,`Constraint check failed; run ${ye.pretty(e.configuration,"yarn constraints",ye.Type.CODE)} for more details`)}}},Ogt=Lgt;var EH={};Jt(EH,{CreateCommand:()=>em,DlxCommand:()=>h0,default:()=>Ugt});Ye();qt();var em=class extends ut{constructor(){super(...arguments);this.pkg=he.String("-p,--package",{description:"The package to run the provided command from"});this.quiet=he.Boolean("-q,--quiet",!1,{description:"Only report critical errors instead of printing the full install logs"});this.command=he.String();this.args=he.Proxy()}async execute(){let r=[];this.pkg&&r.push("--package",this.pkg),this.quiet&&r.push("--quiet");let o=this.command.replace(/^(@[^@/]+)(@|$)/,"$1/create$2"),a=G.parseDescriptor(o),n=a.name.match(/^create(-|$)/)?a:a.scope?G.makeIdent(a.scope,`create-${a.name}`):G.makeIdent(null,`create-${a.name}`),u=G.stringifyIdent(n);return a.range!=="unknown"&&(u+=`@${a.range}`),this.cli.run(["dlx",...r,u,...this.args])}};em.paths=[["create"]];Ye();Ye();St();qt();var h0=class extends ut{constructor(){super(...arguments);this.packages=he.Array("-p,--package",{description:"The package(s) to install before running the command"});this.quiet=he.Boolean("-q,--quiet",!1,{description:"Only report critical errors instead of printing the full install logs"});this.command=he.String();this.args=he.Proxy()}async execute(){return Ke.telemetry=null,await ae.mktempPromise(async r=>{let o=J.join(r,`dlx-${process.pid}`);await ae.mkdirPromise(o),await ae.writeFilePromise(J.join(o,"package.json"),`{} -`),await ae.writeFilePromise(J.join(o,"yarn.lock"),"");let a=J.join(o,".yarnrc.yml"),n=await Ke.findProjectCwd(this.context.cwd,gr.lockfile),A={enableGlobalCache:!(await Ke.find(this.context.cwd,null,{strict:!1})).get("enableGlobalCache"),enableTelemetry:!1,logFilters:[{code:Ju(68),level:ye.LogLevel.Discard}]},p=n!==null?J.join(n,".yarnrc.yml"):null;p!==null&&ae.existsSync(p)?(await ae.copyFilePromise(p,a),await Ke.updateConfiguration(o,N=>{let U=_e.toMerged(N,A);return Array.isArray(N.plugins)&&(U.plugins=N.plugins.map(V=>{let ee=typeof V=="string"?V:V.path,le=Ae.isAbsolute(ee)?ee:Ae.resolve(Ae.fromPortablePath(n),ee);return typeof V=="string"?le:{path:le,spec:V.spec}})),U})):await ae.writeJsonPromise(a,A);let h=this.packages??[this.command],w=G.parseDescriptor(this.command).name,I=await this.cli.run(["add","--fixed","--",...h],{cwd:o,quiet:this.quiet});if(I!==0)return I;this.quiet||this.context.stdout.write(` -`);let v=await Ke.find(o,this.context.plugins),{project:b,workspace:E}=await Pt.find(v,o);if(E===null)throw new tr(b.cwd,o);await b.restoreInstallState();let R=await cn.getWorkspaceAccessibleBinaries(E);return R.has(w)===!1&&R.size===1&&typeof this.packages>"u"&&(w=Array.from(R)[0][0]),await cn.executeWorkspaceAccessibleBinary(E,w,this.args,{packageAccessibleBinaries:R,cwd:this.context.cwd,stdin:this.context.stdin,stdout:this.context.stdout,stderr:this.context.stderr})})}};h0.paths=[["dlx"]],h0.usage=nt.Usage({description:"run a package in a temporary environment",details:"\n This command will install a package within a temporary environment, and run its binary script if it contains any. The binary will run within the current cwd.\n\n By default Yarn will download the package named `command`, but this can be changed through the use of the `-p,--package` flag which will instruct Yarn to still run the same command but from a different package.\n\n Using `yarn dlx` as a replacement of `yarn add` isn't recommended, as it makes your project non-deterministic (Yarn doesn't keep track of the packages installed through `dlx` - neither their name, nor their version).\n ",examples:[["Use create-react-app to create a new React app","yarn dlx create-react-app ./my-app"],["Install multiple packages for a single command",`yarn dlx -p typescript -p ts-node ts-node --transpile-only -e "console.log('hello!')"`]]});var Mgt={commands:[em,h0]},Ugt=Mgt;var IH={};Jt(IH,{ExecFetcher:()=>P2,ExecResolver:()=>x2,default:()=>jgt,execUtils:()=>mQ});Ye();Ye();St();var pA="exec:";var mQ={};Jt(mQ,{loadGeneratorFile:()=>S2,makeLocator:()=>CH,makeSpec:()=>Ame,parseSpec:()=>wH});Ye();St();function wH(e){let{params:t,selector:r}=G.parseRange(e),o=Ae.toPortablePath(r);return{parentLocator:t&&typeof t.locator=="string"?G.parseLocator(t.locator):null,path:o}}function Ame({parentLocator:e,path:t,generatorHash:r,protocol:o}){let a=e!==null?{locator:G.stringifyLocator(e)}:{},n=typeof r<"u"?{hash:r}:{};return G.makeRange({protocol:o,source:t,selector:t,params:{...n,...a}})}function CH(e,{parentLocator:t,path:r,generatorHash:o,protocol:a}){return G.makeLocator(e,Ame({parentLocator:t,path:r,generatorHash:o,protocol:a}))}async function S2(e,t,r){let{parentLocator:o,path:a}=G.parseFileStyleRange(e,{protocol:t}),n=J.isAbsolute(a)?{packageFs:new hn(Bt.root),prefixPath:Bt.dot,localPath:Bt.root}:await r.fetcher.fetch(o,r),u=n.localPath?{packageFs:new hn(Bt.root),prefixPath:J.relative(Bt.root,n.localPath)}:n;n!==u&&n.releaseFs&&n.releaseFs();let A=u.packageFs,p=J.join(u.prefixPath,a);return await A.readFilePromise(p,"utf8")}var P2=class{supports(t,r){return!!t.reference.startsWith(pA)}getLocalPath(t,r){let{parentLocator:o,path:a}=G.parseFileStyleRange(t.reference,{protocol:pA});if(J.isAbsolute(a))return a;let n=r.fetcher.getLocalPath(o,r);return n===null?null:J.resolve(n,a)}async fetch(t,r){let o=r.checksums.get(t.locatorHash)||null,[a,n,u]=await r.cache.fetchPackageFromCache(t,o,{onHit:()=>r.report.reportCacheHit(t),onMiss:()=>r.report.reportCacheMiss(t),loader:()=>this.fetchFromDisk(t,r),...r.cacheOptions});return{packageFs:a,releaseFs:n,prefixPath:G.getIdentVendorPath(t),localPath:this.getLocalPath(t,r),checksum:u}}async fetchFromDisk(t,r){let o=await S2(t.reference,pA,r);return ae.mktempPromise(async a=>{let n=J.join(a,"generator.js");return await ae.writeFilePromise(n,o),ae.mktempPromise(async u=>{if(await this.generatePackage(u,t,n,r),!ae.existsSync(J.join(u,"build")))throw new Error("The script should have generated a build directory");return await zi.makeArchiveFromDirectory(J.join(u,"build"),{prefixPath:G.getIdentVendorPath(t),compressionLevel:r.project.configuration.get("compressionLevel")})})})}async generatePackage(t,r,o,a){return await ae.mktempPromise(async n=>{let u=await cn.makeScriptEnv({project:a.project,binFolder:n}),A=J.join(t,"runtime.js");return await ae.mktempPromise(async p=>{let h=J.join(p,"buildfile.log"),w=J.join(t,"generator"),I=J.join(t,"build");await ae.mkdirPromise(w),await ae.mkdirPromise(I);let v={tempDir:Ae.fromPortablePath(w),buildDir:Ae.fromPortablePath(I),locator:G.stringifyLocator(r)};await ae.writeFilePromise(A,` - // Expose 'Module' as a global variable - Object.defineProperty(global, 'Module', { - get: () => require('module'), - configurable: true, - enumerable: false, - }); - - // Expose non-hidden built-in modules as global variables - for (const name of Module.builtinModules.filter((name) => name !== 'module' && !name.startsWith('_'))) { - Object.defineProperty(global, name, { - get: () => require(name), - configurable: true, - enumerable: false, - }); - } - - // Expose the 'execEnv' global variable - Object.defineProperty(global, 'execEnv', { - value: { - ...${JSON.stringify(v)}, - }, - enumerable: true, - }); - `);let b=u.NODE_OPTIONS||"",E=/\s*--require\s+\S*\.pnp\.c?js\s*/g;b=b.replace(E," ").trim(),u.NODE_OPTIONS=b;let{stdout:R,stderr:N}=a.project.configuration.getSubprocessStreams(h,{header:`# This file contains the result of Yarn generating a package (${G.stringifyLocator(r)}) -`,prefix:G.prettyLocator(a.project.configuration,r),report:a.report}),{code:U}=await Mr.pipevp(process.execPath,["--require",Ae.fromPortablePath(A),Ae.fromPortablePath(o),G.stringifyIdent(r)],{cwd:t,env:u,stdin:null,stdout:R,stderr:N});if(U!==0)throw ae.detachTemp(p),new Error(`Package generation failed (exit code ${U}, logs can be found here: ${ye.pretty(a.project.configuration,h,ye.Type.PATH)})`)})})}};Ye();Ye();var _gt=2,x2=class{supportsDescriptor(t,r){return!!t.range.startsWith(pA)}supportsLocator(t,r){return!!t.reference.startsWith(pA)}shouldPersistResolution(t,r){return!1}bindDescriptor(t,r,o){return G.bindDescriptor(t,{locator:G.stringifyLocator(r)})}getResolutionDependencies(t,r){return{}}async getCandidates(t,r,o){if(!o.fetchOptions)throw new Error("Assertion failed: This resolver cannot be used unless a fetcher is configured");let{path:a,parentLocator:n}=wH(t.range);if(n===null)throw new Error("Assertion failed: The descriptor should have been bound");let u=await S2(G.makeRange({protocol:pA,source:a,selector:a,params:{locator:G.stringifyLocator(n)}}),pA,o.fetchOptions),A=wn.makeHash(`${_gt}`,u).slice(0,6);return[CH(t,{parentLocator:n,path:a,generatorHash:A,protocol:pA})]}async getSatisfying(t,r,o,a){let[n]=await this.getCandidates(t,r,a);return{locators:o.filter(u=>u.locatorHash===n.locatorHash),sorted:!1}}async resolve(t,r){if(!r.fetchOptions)throw new Error("Assertion failed: This resolver cannot be used unless a fetcher is configured");let o=await r.fetchOptions.fetcher.fetch(t,r.fetchOptions),a=await _e.releaseAfterUseAsync(async()=>await Ot.find(o.prefixPath,{baseFs:o.packageFs}),o.releaseFs);return{...t,version:a.version||"0.0.0",languageName:a.languageName||r.project.configuration.get("defaultLanguageName"),linkType:"HARD",conditions:a.getConditions(),dependencies:r.project.configuration.normalizeDependencyMap(a.dependencies),peerDependencies:a.peerDependencies,dependenciesMeta:a.dependenciesMeta,peerDependenciesMeta:a.peerDependenciesMeta,bin:a.bin}}};var Hgt={fetchers:[P2],resolvers:[x2]},jgt=Hgt;var vH={};Jt(vH,{FileFetcher:()=>F2,FileResolver:()=>R2,TarballFileFetcher:()=>T2,TarballFileResolver:()=>N2,default:()=>Ygt,fileUtils:()=>tm});Ye();St();var vw=/^(?:[a-zA-Z]:[\\/]|\.{0,2}\/)/,b2=/^[^?]*\.(?:tar\.gz|tgz)(?:::.*)?$/,_i="file:";var tm={};Jt(tm,{fetchArchiveFromLocator:()=>k2,makeArchiveFromLocator:()=>yQ,makeBufferFromLocator:()=>BH,makeLocator:()=>Dw,makeSpec:()=>fme,parseSpec:()=>Q2});Ye();St();function Q2(e){let{params:t,selector:r}=G.parseRange(e),o=Ae.toPortablePath(r);return{parentLocator:t&&typeof t.locator=="string"?G.parseLocator(t.locator):null,path:o}}function fme({parentLocator:e,path:t,hash:r,protocol:o}){let a=e!==null?{locator:G.stringifyLocator(e)}:{},n=typeof r<"u"?{hash:r}:{};return G.makeRange({protocol:o,source:t,selector:t,params:{...n,...a}})}function Dw(e,{parentLocator:t,path:r,hash:o,protocol:a}){return G.makeLocator(e,fme({parentLocator:t,path:r,hash:o,protocol:a}))}async function k2(e,t){let{parentLocator:r,path:o}=G.parseFileStyleRange(e.reference,{protocol:_i}),a=J.isAbsolute(o)?{packageFs:new hn(Bt.root),prefixPath:Bt.dot,localPath:Bt.root}:await t.fetcher.fetch(r,t),n=a.localPath?{packageFs:new hn(Bt.root),prefixPath:J.relative(Bt.root,a.localPath)}:a;a!==n&&a.releaseFs&&a.releaseFs();let u=n.packageFs,A=J.join(n.prefixPath,o);return await _e.releaseAfterUseAsync(async()=>await u.readFilePromise(A),n.releaseFs)}async function yQ(e,{protocol:t,fetchOptions:r,inMemory:o=!1}){let{parentLocator:a,path:n}=G.parseFileStyleRange(e.reference,{protocol:t}),u=J.isAbsolute(n)?{packageFs:new hn(Bt.root),prefixPath:Bt.dot,localPath:Bt.root}:await r.fetcher.fetch(a,r),A=u.localPath?{packageFs:new hn(Bt.root),prefixPath:J.relative(Bt.root,u.localPath)}:u;u!==A&&u.releaseFs&&u.releaseFs();let p=A.packageFs,h=J.join(A.prefixPath,n);return await _e.releaseAfterUseAsync(async()=>await zi.makeArchiveFromDirectory(h,{baseFs:p,prefixPath:G.getIdentVendorPath(e),compressionLevel:r.project.configuration.get("compressionLevel"),inMemory:o}),A.releaseFs)}async function BH(e,{protocol:t,fetchOptions:r}){return(await yQ(e,{protocol:t,fetchOptions:r,inMemory:!0})).getBufferAndClose()}var F2=class{supports(t,r){return!!t.reference.startsWith(_i)}getLocalPath(t,r){let{parentLocator:o,path:a}=G.parseFileStyleRange(t.reference,{protocol:_i});if(J.isAbsolute(a))return a;let n=r.fetcher.getLocalPath(o,r);return n===null?null:J.resolve(n,a)}async fetch(t,r){let o=r.checksums.get(t.locatorHash)||null,[a,n,u]=await r.cache.fetchPackageFromCache(t,o,{onHit:()=>r.report.reportCacheHit(t),onMiss:()=>r.report.reportCacheMiss(t,`${G.prettyLocator(r.project.configuration,t)} can't be found in the cache and will be fetched from the disk`),loader:()=>this.fetchFromDisk(t,r),...r.cacheOptions});return{packageFs:a,releaseFs:n,prefixPath:G.getIdentVendorPath(t),localPath:this.getLocalPath(t,r),checksum:u}}async fetchFromDisk(t,r){return yQ(t,{protocol:_i,fetchOptions:r})}};Ye();Ye();var qgt=2,R2=class{supportsDescriptor(t,r){return t.range.match(vw)?!0:!!t.range.startsWith(_i)}supportsLocator(t,r){return!!t.reference.startsWith(_i)}shouldPersistResolution(t,r){return!1}bindDescriptor(t,r,o){return vw.test(t.range)&&(t=G.makeDescriptor(t,`${_i}${t.range}`)),G.bindDescriptor(t,{locator:G.stringifyLocator(r)})}getResolutionDependencies(t,r){return{}}async getCandidates(t,r,o){if(!o.fetchOptions)throw new Error("Assertion failed: This resolver cannot be used unless a fetcher is configured");let{path:a,parentLocator:n}=Q2(t.range);if(n===null)throw new Error("Assertion failed: The descriptor should have been bound");let u=await BH(G.makeLocator(t,G.makeRange({protocol:_i,source:a,selector:a,params:{locator:G.stringifyLocator(n)}})),{protocol:_i,fetchOptions:o.fetchOptions}),A=wn.makeHash(`${qgt}`,u).slice(0,6);return[Dw(t,{parentLocator:n,path:a,hash:A,protocol:_i})]}async getSatisfying(t,r,o,a){let[n]=await this.getCandidates(t,r,a);return{locators:o.filter(u=>u.locatorHash===n.locatorHash),sorted:!1}}async resolve(t,r){if(!r.fetchOptions)throw new Error("Assertion failed: This resolver cannot be used unless a fetcher is configured");let o=await r.fetchOptions.fetcher.fetch(t,r.fetchOptions),a=await _e.releaseAfterUseAsync(async()=>await Ot.find(o.prefixPath,{baseFs:o.packageFs}),o.releaseFs);return{...t,version:a.version||"0.0.0",languageName:a.languageName||r.project.configuration.get("defaultLanguageName"),linkType:"HARD",conditions:a.getConditions(),dependencies:r.project.configuration.normalizeDependencyMap(a.dependencies),peerDependencies:a.peerDependencies,dependenciesMeta:a.dependenciesMeta,peerDependenciesMeta:a.peerDependenciesMeta,bin:a.bin}}};Ye();var T2=class{supports(t,r){return b2.test(t.reference)?!!t.reference.startsWith(_i):!1}getLocalPath(t,r){return null}async fetch(t,r){let o=r.checksums.get(t.locatorHash)||null,[a,n,u]=await r.cache.fetchPackageFromCache(t,o,{onHit:()=>r.report.reportCacheHit(t),onMiss:()=>r.report.reportCacheMiss(t,`${G.prettyLocator(r.project.configuration,t)} can't be found in the cache and will be fetched from the disk`),loader:()=>this.fetchFromDisk(t,r),...r.cacheOptions});return{packageFs:a,releaseFs:n,prefixPath:G.getIdentVendorPath(t),checksum:u}}async fetchFromDisk(t,r){let o=await k2(t,r);return await zi.convertToZip(o,{compressionLevel:r.project.configuration.get("compressionLevel"),prefixPath:G.getIdentVendorPath(t),stripComponents:1})}};Ye();Ye();Ye();var N2=class{supportsDescriptor(t,r){return b2.test(t.range)?!!(t.range.startsWith(_i)||vw.test(t.range)):!1}supportsLocator(t,r){return b2.test(t.reference)?!!t.reference.startsWith(_i):!1}shouldPersistResolution(t,r){return!1}bindDescriptor(t,r,o){return vw.test(t.range)&&(t=G.makeDescriptor(t,`${_i}${t.range}`)),G.bindDescriptor(t,{locator:G.stringifyLocator(r)})}getResolutionDependencies(t,r){return{}}async getCandidates(t,r,o){if(!o.fetchOptions)throw new Error("Assertion failed: This resolver cannot be used unless a fetcher is configured");let{path:a,parentLocator:n}=Q2(t.range);if(n===null)throw new Error("Assertion failed: The descriptor should have been bound");let u=Dw(t,{parentLocator:n,path:a,hash:"",protocol:_i}),A=await k2(u,o.fetchOptions),p=wn.makeHash(A).slice(0,6);return[Dw(t,{parentLocator:n,path:a,hash:p,protocol:_i})]}async getSatisfying(t,r,o,a){let[n]=await this.getCandidates(t,r,a);return{locators:o.filter(u=>u.locatorHash===n.locatorHash),sorted:!1}}async resolve(t,r){if(!r.fetchOptions)throw new Error("Assertion failed: This resolver cannot be used unless a fetcher is configured");let o=await r.fetchOptions.fetcher.fetch(t,r.fetchOptions),a=await _e.releaseAfterUseAsync(async()=>await Ot.find(o.prefixPath,{baseFs:o.packageFs}),o.releaseFs);return{...t,version:a.version||"0.0.0",languageName:a.languageName||r.project.configuration.get("defaultLanguageName"),linkType:"HARD",conditions:a.getConditions(),dependencies:r.project.configuration.normalizeDependencyMap(a.dependencies),peerDependencies:a.peerDependencies,dependenciesMeta:a.dependenciesMeta,peerDependenciesMeta:a.peerDependenciesMeta,bin:a.bin}}};var Ggt={fetchers:[T2,F2],resolvers:[N2,R2]},Ygt=Ggt;var PH={};Jt(PH,{GithubFetcher:()=>L2,default:()=>Kgt,githubUtils:()=>EQ});Ye();St();var EQ={};Jt(EQ,{invalidGithubUrlMessage:()=>gme,isGithubUrl:()=>DH,parseGithubUrl:()=>SH});var pme=$e(Ie("querystring")),hme=[/^https?:\/\/(?:([^/]+?)@)?github.com\/([^/#]+)\/([^/#]+)\/tarball\/([^/#]+)(?:#(.*))?$/,/^https?:\/\/(?:([^/]+?)@)?github.com\/([^/#]+)\/([^/#]+?)(?:\.git)?(?:#(.*))?$/];function DH(e){return e?hme.some(t=>!!e.match(t)):!1}function SH(e){let t;for(let A of hme)if(t=e.match(A),t)break;if(!t)throw new Error(gme(e));let[,r,o,a,n="master"]=t,{commit:u}=pme.default.parse(n);return n=u||n.replace(/[^:]*:/,""),{auth:r,username:o,reponame:a,treeish:n}}function gme(e){return`Input cannot be parsed as a valid GitHub URL ('${e}').`}var L2=class{supports(t,r){return!!DH(t.reference)}getLocalPath(t,r){return null}async fetch(t,r){let o=r.checksums.get(t.locatorHash)||null,[a,n,u]=await r.cache.fetchPackageFromCache(t,o,{onHit:()=>r.report.reportCacheHit(t),onMiss:()=>r.report.reportCacheMiss(t,`${G.prettyLocator(r.project.configuration,t)} can't be found in the cache and will be fetched from GitHub`),loader:()=>this.fetchFromNetwork(t,r),...r.cacheOptions});return{packageFs:a,releaseFs:n,prefixPath:G.getIdentVendorPath(t),checksum:u}}async fetchFromNetwork(t,r){let o=await tn.get(this.getLocatorUrl(t,r),{configuration:r.project.configuration});return await ae.mktempPromise(async a=>{let n=new hn(a);await zi.extractArchiveTo(o,n,{stripComponents:1});let u=na.splitRepoUrl(t.reference),A=J.join(a,"package.tgz");await cn.prepareExternalProject(a,A,{configuration:r.project.configuration,report:r.report,workspace:u.extra.workspace,locator:t});let p=await ae.readFilePromise(A);return await zi.convertToZip(p,{compressionLevel:r.project.configuration.get("compressionLevel"),prefixPath:G.getIdentVendorPath(t),stripComponents:1})})}getLocatorUrl(t,r){let{auth:o,username:a,reponame:n,treeish:u}=SH(t.reference);return`https://${o?`${o}@`:""}github.com/${a}/${n}/archive/${u}.tar.gz`}};var Wgt={hooks:{async fetchHostedRepository(e,t,r){if(e!==null)return e;let o=new L2;if(!o.supports(t,r))return null;try{return await o.fetch(t,r)}catch{return null}}}},Kgt=Wgt;var xH={};Jt(xH,{TarballHttpFetcher:()=>U2,TarballHttpResolver:()=>_2,default:()=>Vgt});Ye();var O2=/^[^?]*\.(?:tar\.gz|tgz)(?:\?.*)?(?:#.*)?$/,M2=/^https?:/;var U2=class{supports(t,r){return O2.test(t.reference)?!!M2.test(t.reference):!1}getLocalPath(t,r){return null}async fetch(t,r){let o=r.checksums.get(t.locatorHash)||null,[a,n,u]=await r.cache.fetchPackageFromCache(t,o,{onHit:()=>r.report.reportCacheHit(t),onMiss:()=>r.report.reportCacheMiss(t,`${G.prettyLocator(r.project.configuration,t)} can't be found in the cache and will be fetched from the remote server`),loader:()=>this.fetchFromNetwork(t,r),...r.cacheOptions});return{packageFs:a,releaseFs:n,prefixPath:G.getIdentVendorPath(t),checksum:u}}async fetchFromNetwork(t,r){let o=await tn.get(t.reference,{configuration:r.project.configuration});return await zi.convertToZip(o,{compressionLevel:r.project.configuration.get("compressionLevel"),prefixPath:G.getIdentVendorPath(t),stripComponents:1})}};Ye();Ye();var _2=class{supportsDescriptor(t,r){return O2.test(t.range)?!!M2.test(t.range):!1}supportsLocator(t,r){return O2.test(t.reference)?!!M2.test(t.reference):!1}shouldPersistResolution(t,r){return!0}bindDescriptor(t,r,o){return t}getResolutionDependencies(t,r){return{}}async getCandidates(t,r,o){return[G.convertDescriptorToLocator(t)]}async getSatisfying(t,r,o,a){let[n]=await this.getCandidates(t,r,a);return{locators:o.filter(u=>u.locatorHash===n.locatorHash),sorted:!1}}async resolve(t,r){if(!r.fetchOptions)throw new Error("Assertion failed: This resolver cannot be used unless a fetcher is configured");let o=await r.fetchOptions.fetcher.fetch(t,r.fetchOptions),a=await _e.releaseAfterUseAsync(async()=>await Ot.find(o.prefixPath,{baseFs:o.packageFs}),o.releaseFs);return{...t,version:a.version||"0.0.0",languageName:a.languageName||r.project.configuration.get("defaultLanguageName"),linkType:"HARD",conditions:a.getConditions(),dependencies:r.project.configuration.normalizeDependencyMap(a.dependencies),peerDependencies:a.peerDependencies,dependenciesMeta:a.dependenciesMeta,peerDependenciesMeta:a.peerDependenciesMeta,bin:a.bin}}};var Jgt={fetchers:[U2],resolvers:[_2]},Vgt=Jgt;var bH={};Jt(bH,{InitCommand:()=>g0,default:()=>Xgt});Ye();Ye();St();qt();var g0=class extends ut{constructor(){super(...arguments);this.private=he.Boolean("-p,--private",!1,{description:"Initialize a private package"});this.workspace=he.Boolean("-w,--workspace",!1,{description:"Initialize a workspace root with a `packages/` directory"});this.install=he.String("-i,--install",!1,{tolerateBoolean:!0,description:"Initialize a package with a specific bundle that will be locked in the project"});this.name=he.String("-n,--name",{description:"Initialize a package with the given name"});this.usev2=he.Boolean("-2",!1,{hidden:!0});this.yes=he.Boolean("-y,--yes",{hidden:!0})}async execute(){let r=await Ke.find(this.context.cwd,this.context.plugins),o=typeof this.install=="string"?this.install:this.usev2||this.install===!0?"latest":null;return o!==null?await this.executeProxy(r,o):await this.executeRegular(r)}async executeProxy(r,o){if(r.projectCwd!==null&&r.projectCwd!==this.context.cwd)throw new it("Cannot use the --install flag from within a project subdirectory");ae.existsSync(this.context.cwd)||await ae.mkdirPromise(this.context.cwd,{recursive:!0});let a=J.join(this.context.cwd,gr.lockfile);ae.existsSync(a)||await ae.writeFilePromise(a,"");let n=await this.cli.run(["set","version",o],{quiet:!0});if(n!==0)return n;let u=[];return this.private&&u.push("-p"),this.workspace&&u.push("-w"),this.name&&u.push(`-n=${this.name}`),this.yes&&u.push("-y"),await ae.mktempPromise(async A=>{let{code:p}=await Mr.pipevp("yarn",["init",...u],{cwd:this.context.cwd,stdin:this.context.stdin,stdout:this.context.stdout,stderr:this.context.stderr,env:await cn.makeScriptEnv({binFolder:A})});return p})}async executeRegular(r){let o=null;try{o=(await Pt.find(r,this.context.cwd)).project}catch{o=null}ae.existsSync(this.context.cwd)||await ae.mkdirPromise(this.context.cwd,{recursive:!0});let a=await Ot.tryFind(this.context.cwd),n=a??new Ot,u=Object.fromEntries(r.get("initFields").entries());n.load(u),n.name=n.name??G.makeIdent(r.get("initScope"),this.name??J.basename(this.context.cwd)),n.packageManager=en&&_e.isTaggedYarnVersion(en)?`yarn@${en}`:null,(!a&&this.workspace||this.private)&&(n.private=!0),this.workspace&&n.workspaceDefinitions.length===0&&(await ae.mkdirPromise(J.join(this.context.cwd,"packages"),{recursive:!0}),n.workspaceDefinitions=[{pattern:"packages/*"}]);let A={};n.exportTo(A);let p=J.join(this.context.cwd,Ot.fileName);await ae.changeFilePromise(p,`${JSON.stringify(A,null,2)} -`,{automaticNewlines:!0});let h=[p],w=J.join(this.context.cwd,"README.md");if(ae.existsSync(w)||(await ae.writeFilePromise(w,`# ${G.stringifyIdent(n.name)} -`),h.push(w)),!o||o.cwd===this.context.cwd){let I=J.join(this.context.cwd,gr.lockfile);ae.existsSync(I)||(await ae.writeFilePromise(I,""),h.push(I));let b=[".yarn/*","!.yarn/patches","!.yarn/plugins","!.yarn/releases","!.yarn/sdks","!.yarn/versions","","# Swap the comments on the following lines if you wish to use zero-installs","# In that case, don't forget to run `yarn config set enableGlobalCache false`!","# Documentation here: https://yarnpkg.com/features/zero-installs","","#!.yarn/cache",".pnp.*"].map(fe=>`${fe} -`).join(""),E=J.join(this.context.cwd,".gitignore");ae.existsSync(E)||(await ae.writeFilePromise(E,b),h.push(E));let N=["/.yarn/** linguist-vendored","/.yarn/releases/* binary","/.yarn/plugins/**/* binary","/.pnp.* binary linguist-generated"].map(fe=>`${fe} -`).join(""),U=J.join(this.context.cwd,".gitattributes");ae.existsSync(U)||(await ae.writeFilePromise(U,N),h.push(U));let V={["*"]:{endOfLine:"lf",insertFinalNewline:!0},["*.{js,json,yml}"]:{charset:"utf-8",indentStyle:"space",indentSize:2}};_e.mergeIntoTarget(V,r.get("initEditorConfig"));let ee=`root = true -`;for(let[fe,de]of Object.entries(V)){ee+=` -[${fe}] -`;for(let[ge,oe]of Object.entries(de)){let Be=ge.replace(/[A-Z]/g,be=>`_${be.toLowerCase()}`);ee+=`${Be} = ${oe} -`}}let le=J.join(this.context.cwd,".editorconfig");ae.existsSync(le)||(await ae.writeFilePromise(le,ee),h.push(le)),await this.cli.run(["install"],{quiet:!0}),ae.existsSync(J.join(this.context.cwd,".git"))||(await Mr.execvp("git",["init"],{cwd:this.context.cwd}),await Mr.execvp("git",["add","--",...h],{cwd:this.context.cwd}),await Mr.execvp("git",["commit","--allow-empty","-m","First commit"],{cwd:this.context.cwd}))}}};g0.paths=[["init"]],g0.usage=nt.Usage({description:"create a new package",details:"\n This command will setup a new package in your local directory.\n\n If the `-p,--private` or `-w,--workspace` options are set, the package will be private by default.\n\n If the `-w,--workspace` option is set, the package will be configured to accept a set of workspaces in the `packages/` directory.\n\n If the `-i,--install` option is given a value, Yarn will first download it using `yarn set version` and only then forward the init call to the newly downloaded bundle. Without arguments, the downloaded bundle will be `latest`.\n\n The initial settings of the manifest can be changed by using the `initScope` and `initFields` configuration values. Additionally, Yarn will generate an EditorConfig file whose rules can be altered via `initEditorConfig`, and will initialize a Git repository in the current directory.\n ",examples:[["Create a new package in the local directory","yarn init"],["Create a new private package in the local directory","yarn init -p"],["Create a new package and store the Yarn release inside","yarn init -i=latest"],["Create a new private package and defines it as a workspace root","yarn init -w"]]});var zgt={configuration:{initScope:{description:"Scope used when creating packages via the init command",type:"STRING",default:null},initFields:{description:"Additional fields to set when creating packages via the init command",type:"MAP",valueDefinition:{description:"",type:"ANY"}},initEditorConfig:{description:"Extra rules to define in the generator editorconfig",type:"MAP",valueDefinition:{description:"",type:"ANY"}}},commands:[g0]},Xgt=zgt;var kj={};Jt(kj,{SearchCommand:()=>w0,UpgradeInteractiveCommand:()=>I0,default:()=>UCt});Ye();var dme=$e(Ie("os"));function Sw({stdout:e}){if(dme.default.endianness()==="BE")throw new Error("Interactive commands cannot be used on big-endian systems because ink depends on yoga-layout-prebuilt which only supports little-endian architectures");if(!e.isTTY)throw new Error("Interactive commands can only be used inside a TTY environment")}qt();var xye=$e(KH()),JH={appId:"OFCNCOG2CU",apiKey:"6fe4476ee5a1832882e326b506d14126",indexName:"npm-search"},Jmt=(0,xye.default)(JH.appId,JH.apiKey).initIndex(JH.indexName),VH=async(e,t=0)=>await Jmt.search(e,{analyticsTags:["yarn-plugin-interactive-tools"],attributesToRetrieve:["name","version","owner","repository","humanDownloadsLast30Days"],page:t,hitsPerPage:10});var UB=["regular","dev","peer"],w0=class extends ut{async execute(){Sw(this.context);let{Gem:t}=await Promise.resolve().then(()=>(ak(),wj)),{ScrollableItems:r}=await Promise.resolve().then(()=>(Ak(),uk)),{useKeypress:o}=await Promise.resolve().then(()=>(LB(),qCe)),{useMinistore:a}=await Promise.resolve().then(()=>(Sj(),Dj)),{renderForm:n}=await Promise.resolve().then(()=>(gk(),hk)),{default:u}=await Promise.resolve().then(()=>$e($Ce())),{Box:A,Text:p}=await Promise.resolve().then(()=>$e(ic())),{default:h,useEffect:w,useState:I}=await Promise.resolve().then(()=>$e(nn())),v=await Ke.find(this.context.cwd,this.context.plugins),b=()=>h.createElement(A,{flexDirection:"row"},h.createElement(A,{flexDirection:"column",width:48},h.createElement(A,null,h.createElement(p,null,"Press ",h.createElement(p,{bold:!0,color:"cyanBright"},"<up>"),"/",h.createElement(p,{bold:!0,color:"cyanBright"},"<down>")," to move between packages.")),h.createElement(A,null,h.createElement(p,null,"Press ",h.createElement(p,{bold:!0,color:"cyanBright"},"<space>")," to select a package.")),h.createElement(A,null,h.createElement(p,null,"Press ",h.createElement(p,{bold:!0,color:"cyanBright"},"<space>")," again to change the target."))),h.createElement(A,{flexDirection:"column"},h.createElement(A,{marginLeft:1},h.createElement(p,null,"Press ",h.createElement(p,{bold:!0,color:"cyanBright"},"<enter>")," to install the selected packages.")),h.createElement(A,{marginLeft:1},h.createElement(p,null,"Press ",h.createElement(p,{bold:!0,color:"cyanBright"},"<ctrl+c>")," to abort.")))),E=()=>h.createElement(h.Fragment,null,h.createElement(A,{width:15},h.createElement(p,{bold:!0,underline:!0,color:"gray"},"Owner")),h.createElement(A,{width:11},h.createElement(p,{bold:!0,underline:!0,color:"gray"},"Version")),h.createElement(A,{width:10},h.createElement(p,{bold:!0,underline:!0,color:"gray"},"Downloads"))),R=()=>h.createElement(A,{width:17},h.createElement(p,{bold:!0,underline:!0,color:"gray"},"Target")),N=({hit:oe,active:Be})=>{let[be,g]=a(oe.name,null);o({active:Be},(ce,ne)=>{if(ne.name!=="space")return;if(!be){g(UB[0]);return}let te=UB.indexOf(be)+1;te===UB.length?g(null):g(UB[te])},[be,g]);let we=G.parseIdent(oe.name),Se=G.prettyIdent(v,we);return h.createElement(A,null,h.createElement(A,{width:45},h.createElement(p,{bold:!0,wrap:"wrap"},Se)),h.createElement(A,{width:14,marginLeft:1},h.createElement(p,{bold:!0,wrap:"truncate"},oe.owner.name)),h.createElement(A,{width:10,marginLeft:1},h.createElement(p,{italic:!0,wrap:"truncate"},oe.version)),h.createElement(A,{width:16,marginLeft:1},h.createElement(p,null,oe.humanDownloadsLast30Days)))},U=({name:oe,active:Be})=>{let[be]=a(oe,null),g=G.parseIdent(oe);return h.createElement(A,null,h.createElement(A,{width:47},h.createElement(p,{bold:!0}," - ",G.prettyIdent(v,g))),UB.map(we=>h.createElement(A,{key:we,width:14,marginLeft:1},h.createElement(p,null," ",h.createElement(t,{active:be===we})," ",h.createElement(p,{bold:!0},we)))))},V=()=>h.createElement(A,{marginTop:1},h.createElement(p,null,"Powered by Algolia.")),le=await n(({useSubmit:oe})=>{let Be=a();oe(Be);let be=Array.from(Be.keys()).filter(H=>Be.get(H)!==null),[g,we]=I(""),[Se,ce]=I(0),[ne,te]=I([]),Ee=H=>{H.match(/\t| /)||we(H)},Re=async()=>{ce(0);let H=await VH(g);H.query===g&&te(H.hits)},dt=async()=>{let H=await VH(g,Se+1);H.query===g&&H.page-1===Se&&(ce(H.page),te([...ne,...H.hits]))};return w(()=>{g?Re():te([])},[g]),h.createElement(A,{flexDirection:"column"},h.createElement(b,null),h.createElement(A,{flexDirection:"row",marginTop:1},h.createElement(p,{bold:!0},"Search: "),h.createElement(A,{width:41},h.createElement(u,{value:g,onChange:Ee,placeholder:"i.e. babel, webpack, react...",showCursor:!1})),h.createElement(E,null)),ne.length?h.createElement(r,{radius:2,loop:!1,children:ne.map(H=>h.createElement(N,{key:H.name,hit:H,active:!1})),willReachEnd:dt}):h.createElement(p,{color:"gray"},"Start typing..."),h.createElement(A,{flexDirection:"row",marginTop:1},h.createElement(A,{width:49},h.createElement(p,{bold:!0},"Selected:")),h.createElement(R,null)),be.length?be.map(H=>h.createElement(U,{key:H,name:H,active:!1})):h.createElement(p,{color:"gray"},"No selected packages..."),h.createElement(V,null))},{},{stdin:this.context.stdin,stdout:this.context.stdout,stderr:this.context.stderr});if(typeof le>"u")return 1;let fe=Array.from(le.keys()).filter(oe=>le.get(oe)==="regular"),de=Array.from(le.keys()).filter(oe=>le.get(oe)==="dev"),ge=Array.from(le.keys()).filter(oe=>le.get(oe)==="peer");return fe.length&&await this.cli.run(["add",...fe]),de.length&&await this.cli.run(["add","--dev",...de]),ge&&await this.cli.run(["add","--peer",...ge]),0}};w0.paths=[["search"]],w0.usage=nt.Usage({category:"Interactive commands",description:"open the search interface",details:` - This command opens a fullscreen terminal interface where you can search for and install packages from the npm registry. - `,examples:[["Open the search window","yarn search"]]});Ye();qt();g_();var oIe=$e(Zn()),sIe=/^((?:[\^~]|>=?)?)([0-9]+)(\.[0-9]+)(\.[0-9]+)((?:-\S+)?)$/,aIe=(e,t)=>e.length>0?[e.slice(0,t)].concat(aIe(e.slice(t),t)):[],I0=class extends ut{async execute(){Sw(this.context);let{ItemOptions:t}=await Promise.resolve().then(()=>(iIe(),nIe)),{Pad:r}=await Promise.resolve().then(()=>(Qj(),rIe)),{ScrollableItems:o}=await Promise.resolve().then(()=>(Ak(),uk)),{useMinistore:a}=await Promise.resolve().then(()=>(Sj(),Dj)),{renderForm:n}=await Promise.resolve().then(()=>(gk(),hk)),{Box:u,Text:A}=await Promise.resolve().then(()=>$e(ic())),{default:p,useEffect:h,useRef:w,useState:I}=await Promise.resolve().then(()=>$e(nn())),v=await Ke.find(this.context.cwd,this.context.plugins),{project:b,workspace:E}=await Pt.find(v,this.context.cwd),R=await Nr.find(v);if(!E)throw new tr(b.cwd,this.context.cwd);await b.restoreInstallState({restoreResolutions:!1});let N=this.context.stdout.rows-7,U=(we,Se)=>{let ce=ape(we,Se),ne="";for(let te of ce)te.added?ne+=ye.pretty(v,te.value,"green"):te.removed||(ne+=te.value);return ne},V=(we,Se)=>{if(we===Se)return Se;let ce=G.parseRange(we),ne=G.parseRange(Se),te=ce.selector.match(sIe),Ee=ne.selector.match(sIe);if(!te||!Ee)return U(we,Se);let Re=["gray","red","yellow","green","magenta"],dt=null,H="";for(let at=1;at<Re.length;++at)dt!==null||te[at]!==Ee[at]?(dt===null&&(dt=Re[at-1]),H+=ye.pretty(v,Ee[at],dt)):H+=Ee[at];return H},ee=async(we,Se,ce)=>{let ne=await Zc.fetchDescriptorFrom(we,ce,{project:b,cache:R,preserveModifier:Se,workspace:E});return ne!==null?ne.range:we.range},le=async we=>{let Se=oIe.default.valid(we.range)?`^${we.range}`:we.range,[ce,ne]=await Promise.all([ee(we,we.range,Se).catch(()=>null),ee(we,we.range,"latest").catch(()=>null)]),te=[{value:null,label:we.range}];return ce&&ce!==we.range?te.push({value:ce,label:V(we.range,ce)}):te.push({value:null,label:""}),ne&&ne!==ce&&ne!==we.range?te.push({value:ne,label:V(we.range,ne)}):te.push({value:null,label:""}),te},fe=()=>p.createElement(u,{flexDirection:"row"},p.createElement(u,{flexDirection:"column",width:49},p.createElement(u,{marginLeft:1},p.createElement(A,null,"Press ",p.createElement(A,{bold:!0,color:"cyanBright"},"<up>"),"/",p.createElement(A,{bold:!0,color:"cyanBright"},"<down>")," to select packages.")),p.createElement(u,{marginLeft:1},p.createElement(A,null,"Press ",p.createElement(A,{bold:!0,color:"cyanBright"},"<left>"),"/",p.createElement(A,{bold:!0,color:"cyanBright"},"<right>")," to select versions."))),p.createElement(u,{flexDirection:"column"},p.createElement(u,{marginLeft:1},p.createElement(A,null,"Press ",p.createElement(A,{bold:!0,color:"cyanBright"},"<enter>")," to install.")),p.createElement(u,{marginLeft:1},p.createElement(A,null,"Press ",p.createElement(A,{bold:!0,color:"cyanBright"},"<ctrl+c>")," to abort.")))),de=()=>p.createElement(u,{flexDirection:"row",paddingTop:1,paddingBottom:1},p.createElement(u,{width:50},p.createElement(A,{bold:!0},p.createElement(A,{color:"greenBright"},"?")," Pick the packages you want to upgrade.")),p.createElement(u,{width:17},p.createElement(A,{bold:!0,underline:!0,color:"gray"},"Current")),p.createElement(u,{width:17},p.createElement(A,{bold:!0,underline:!0,color:"gray"},"Range")),p.createElement(u,{width:17},p.createElement(A,{bold:!0,underline:!0,color:"gray"},"Latest"))),ge=({active:we,descriptor:Se,suggestions:ce})=>{let[ne,te]=a(Se.descriptorHash,null),Ee=G.stringifyIdent(Se),Re=Math.max(0,45-Ee.length);return p.createElement(p.Fragment,null,p.createElement(u,null,p.createElement(u,{width:45},p.createElement(A,{bold:!0},G.prettyIdent(v,Se)),p.createElement(r,{active:we,length:Re})),p.createElement(t,{active:we,options:ce,value:ne,skewer:!0,onChange:te,sizes:[17,17,17]})))},oe=({dependencies:we})=>{let[Se,ce]=I(we.map(()=>null)),ne=w(!0),te=async Ee=>{let Re=await le(Ee);return Re.filter(dt=>dt.label!=="").length<=1?null:{descriptor:Ee,suggestions:Re}};return h(()=>()=>{ne.current=!1},[]),h(()=>{let Ee=Math.trunc(N*1.75),Re=we.slice(0,Ee),dt=we.slice(Ee),H=aIe(dt,N),at=Re.map(te).reduce(async(Te,Qe)=>{await Te;let ke=await Qe;ke!==null&&(!ne.current||ce(He=>{let Ne=He.findIndex(je=>je===null),Ve=[...He];return Ve[Ne]=ke,Ve}))},Promise.resolve());H.reduce((Te,Qe)=>Promise.all(Qe.map(ke=>Promise.resolve().then(()=>te(ke)))).then(async ke=>{ke=ke.filter(He=>He!==null),await Te,ne.current&&ce(He=>{let Ne=He.findIndex(Ve=>Ve===null);return He.slice(0,Ne).concat(ke).concat(He.slice(Ne+ke.length))})}),at).then(()=>{ne.current&&ce(Te=>Te.filter(Qe=>Qe!==null))})},[]),Se.length?p.createElement(o,{radius:N>>1,children:Se.map((Ee,Re)=>Ee!==null?p.createElement(ge,{key:Re,active:!1,descriptor:Ee.descriptor,suggestions:Ee.suggestions}):p.createElement(A,{key:Re},"Loading..."))}):p.createElement(A,null,"No upgrades found")},be=await n(({useSubmit:we})=>{we(a());let Se=new Map;for(let ne of b.workspaces)for(let te of["dependencies","devDependencies"])for(let Ee of ne.manifest[te].values())b.tryWorkspaceByDescriptor(Ee)===null&&(Ee.range.startsWith("link:")||Se.set(Ee.descriptorHash,Ee));let ce=_e.sortMap(Se.values(),ne=>G.stringifyDescriptor(ne));return p.createElement(u,{flexDirection:"column"},p.createElement(fe,null),p.createElement(de,null),p.createElement(oe,{dependencies:ce}))},{},{stdin:this.context.stdin,stdout:this.context.stdout,stderr:this.context.stderr});if(typeof be>"u")return 1;let g=!1;for(let we of b.workspaces)for(let Se of["dependencies","devDependencies"]){let ce=we.manifest[Se];for(let ne of ce.values()){let te=be.get(ne.descriptorHash);typeof te<"u"&&te!==null&&(ce.set(ne.identHash,G.makeDescriptor(ne,te)),g=!0)}}return g?await b.installWithNewReport({quiet:this.context.quiet,stdout:this.context.stdout},{cache:R}):0}};I0.paths=[["upgrade-interactive"]],I0.usage=nt.Usage({category:"Interactive commands",description:"open the upgrade interface",details:` - This command opens a fullscreen terminal interface where you can see any out of date packages used by your application, their status compared to the latest versions available on the remote registry, and select packages to upgrade. - `,examples:[["Open the upgrade window","yarn upgrade-interactive"]]});var MCt={commands:[w0,I0]},UCt=MCt;var Fj={};Jt(Fj,{LinkFetcher:()=>HB,LinkResolver:()=>jB,PortalFetcher:()=>qB,PortalResolver:()=>GB,default:()=>HCt});Ye();St();var ep="portal:",tp="link:";var HB=class{supports(t,r){return!!t.reference.startsWith(tp)}getLocalPath(t,r){let{parentLocator:o,path:a}=G.parseFileStyleRange(t.reference,{protocol:tp});if(J.isAbsolute(a))return a;let n=r.fetcher.getLocalPath(o,r);return n===null?null:J.resolve(n,a)}async fetch(t,r){let{parentLocator:o,path:a}=G.parseFileStyleRange(t.reference,{protocol:tp}),n=J.isAbsolute(a)?{packageFs:new hn(Bt.root),prefixPath:Bt.dot,localPath:Bt.root}:await r.fetcher.fetch(o,r),u=n.localPath?{packageFs:new hn(Bt.root),prefixPath:J.relative(Bt.root,n.localPath),localPath:Bt.root}:n;n!==u&&n.releaseFs&&n.releaseFs();let A=u.packageFs,p=J.resolve(u.localPath??u.packageFs.getRealPath(),u.prefixPath,a);return n.localPath?{packageFs:new hn(p,{baseFs:A}),releaseFs:u.releaseFs,prefixPath:Bt.dot,discardFromLookup:!0,localPath:p}:{packageFs:new ju(p,{baseFs:A}),releaseFs:u.releaseFs,prefixPath:Bt.dot,discardFromLookup:!0}}};Ye();St();var jB=class{supportsDescriptor(t,r){return!!t.range.startsWith(tp)}supportsLocator(t,r){return!!t.reference.startsWith(tp)}shouldPersistResolution(t,r){return!1}bindDescriptor(t,r,o){return G.bindDescriptor(t,{locator:G.stringifyLocator(r)})}getResolutionDependencies(t,r){return{}}async getCandidates(t,r,o){let a=t.range.slice(tp.length);return[G.makeLocator(t,`${tp}${Ae.toPortablePath(a)}`)]}async getSatisfying(t,r,o,a){let[n]=await this.getCandidates(t,r,a);return{locators:o.filter(u=>u.locatorHash===n.locatorHash),sorted:!1}}async resolve(t,r){return{...t,version:"0.0.0",languageName:r.project.configuration.get("defaultLanguageName"),linkType:"SOFT",conditions:null,dependencies:new Map,peerDependencies:new Map,dependenciesMeta:new Map,peerDependenciesMeta:new Map,bin:new Map}}};Ye();St();var qB=class{supports(t,r){return!!t.reference.startsWith(ep)}getLocalPath(t,r){let{parentLocator:o,path:a}=G.parseFileStyleRange(t.reference,{protocol:ep});if(J.isAbsolute(a))return a;let n=r.fetcher.getLocalPath(o,r);return n===null?null:J.resolve(n,a)}async fetch(t,r){let{parentLocator:o,path:a}=G.parseFileStyleRange(t.reference,{protocol:ep}),n=J.isAbsolute(a)?{packageFs:new hn(Bt.root),prefixPath:Bt.dot,localPath:Bt.root}:await r.fetcher.fetch(o,r),u=n.localPath?{packageFs:new hn(Bt.root),prefixPath:J.relative(Bt.root,n.localPath),localPath:Bt.root}:n;n!==u&&n.releaseFs&&n.releaseFs();let A=u.packageFs,p=J.resolve(u.localPath??u.packageFs.getRealPath(),u.prefixPath,a);return n.localPath?{packageFs:new hn(p,{baseFs:A}),releaseFs:u.releaseFs,prefixPath:Bt.dot,localPath:p}:{packageFs:new ju(p,{baseFs:A}),releaseFs:u.releaseFs,prefixPath:Bt.dot}}};Ye();Ye();St();var GB=class{supportsDescriptor(t,r){return!!t.range.startsWith(ep)}supportsLocator(t,r){return!!t.reference.startsWith(ep)}shouldPersistResolution(t,r){return!1}bindDescriptor(t,r,o){return G.bindDescriptor(t,{locator:G.stringifyLocator(r)})}getResolutionDependencies(t,r){return{}}async getCandidates(t,r,o){let a=t.range.slice(ep.length);return[G.makeLocator(t,`${ep}${Ae.toPortablePath(a)}`)]}async getSatisfying(t,r,o,a){let[n]=await this.getCandidates(t,r,a);return{locators:o.filter(u=>u.locatorHash===n.locatorHash),sorted:!1}}async resolve(t,r){if(!r.fetchOptions)throw new Error("Assertion failed: This resolver cannot be used unless a fetcher is configured");let o=await r.fetchOptions.fetcher.fetch(t,r.fetchOptions),a=await _e.releaseAfterUseAsync(async()=>await Ot.find(o.prefixPath,{baseFs:o.packageFs}),o.releaseFs);return{...t,version:a.version||"0.0.0",languageName:a.languageName||r.project.configuration.get("defaultLanguageName"),linkType:"SOFT",conditions:a.getConditions(),dependencies:r.project.configuration.normalizeDependencyMap(a.dependencies),peerDependencies:a.peerDependencies,dependenciesMeta:a.dependenciesMeta,peerDependenciesMeta:a.peerDependenciesMeta,bin:a.bin}}};var _Ct={fetchers:[HB,qB],resolvers:[jB,GB]},HCt=_Ct;var dq={};Jt(dq,{NodeModulesLinker:()=>av,NodeModulesMode:()=>fq,PnpLooseLinker:()=>lv,default:()=>i1t});St();Ye();St();St();var Tj=(e,t)=>`${e}@${t}`,lIe=(e,t)=>{let r=t.indexOf("#"),o=r>=0?t.substring(r+1):t;return Tj(e,o)};var AIe=(e,t={})=>{let r=t.debugLevel||Number(process.env.NM_DEBUG_LEVEL||-1),o=t.check||r>=9,a=t.hoistingLimits||new Map,n={check:o,debugLevel:r,hoistingLimits:a,fastLookupPossible:!0},u;n.debugLevel>=0&&(u=Date.now());let A=JCt(e,n),p=!1,h=0;do p=Nj(A,[A],new Set([A.locator]),new Map,n).anotherRoundNeeded,n.fastLookupPossible=!1,h++;while(p);if(n.debugLevel>=0&&console.log(`hoist time: ${Date.now()-u}ms, rounds: ${h}`),n.debugLevel>=1){let w=YB(A);if(Nj(A,[A],new Set([A.locator]),new Map,n).isGraphChanged)throw new Error(`The hoisting result is not terminal, prev tree: -${w}, next tree: -${YB(A)}`);let v=fIe(A);if(v)throw new Error(`${v}, after hoisting finished: -${YB(A)}`)}return n.debugLevel>=2&&console.log(YB(A)),VCt(A)},jCt=e=>{let t=e[e.length-1],r=new Map,o=new Set,a=n=>{if(!o.has(n)){o.add(n);for(let u of n.hoistedDependencies.values())r.set(u.name,u);for(let u of n.dependencies.values())n.peerNames.has(u.name)||a(u)}};return a(t),r},qCt=e=>{let t=e[e.length-1],r=new Map,o=new Set,a=new Set,n=(u,A)=>{if(o.has(u))return;o.add(u);for(let h of u.hoistedDependencies.values())if(!A.has(h.name)){let w;for(let I of e)w=I.dependencies.get(h.name),w&&r.set(w.name,w)}let p=new Set;for(let h of u.dependencies.values())p.add(h.name);for(let h of u.dependencies.values())u.peerNames.has(h.name)||n(h,p)};return n(t,a),r},cIe=(e,t)=>{if(t.decoupled)return t;let{name:r,references:o,ident:a,locator:n,dependencies:u,originalDependencies:A,hoistedDependencies:p,peerNames:h,reasons:w,isHoistBorder:I,hoistPriority:v,dependencyKind:b,hoistedFrom:E,hoistedTo:R}=t,N={name:r,references:new Set(o),ident:a,locator:n,dependencies:new Map(u),originalDependencies:new Map(A),hoistedDependencies:new Map(p),peerNames:new Set(h),reasons:new Map(w),decoupled:!0,isHoistBorder:I,hoistPriority:v,dependencyKind:b,hoistedFrom:new Map(E),hoistedTo:new Map(R)},U=N.dependencies.get(r);return U&&U.ident==N.ident&&N.dependencies.set(r,N),e.dependencies.set(N.name,N),N},GCt=(e,t)=>{let r=new Map([[e.name,[e.ident]]]);for(let a of e.dependencies.values())e.peerNames.has(a.name)||r.set(a.name,[a.ident]);let o=Array.from(t.keys());o.sort((a,n)=>{let u=t.get(a),A=t.get(n);return A.hoistPriority!==u.hoistPriority?A.hoistPriority-u.hoistPriority:A.peerDependents.size!==u.peerDependents.size?A.peerDependents.size-u.peerDependents.size:A.dependents.size-u.dependents.size});for(let a of o){let n=a.substring(0,a.indexOf("@",1)),u=a.substring(n.length+1);if(!e.peerNames.has(n)){let A=r.get(n);A||(A=[],r.set(n,A)),A.indexOf(u)<0&&A.push(u)}}return r},Rj=e=>{let t=new Set,r=(o,a=new Set)=>{if(!a.has(o)){a.add(o);for(let n of o.peerNames)if(!e.peerNames.has(n)){let u=e.dependencies.get(n);u&&!t.has(u)&&r(u,a)}t.add(o)}};for(let o of e.dependencies.values())e.peerNames.has(o.name)||r(o);return t},Nj=(e,t,r,o,a,n=new Set)=>{let u=t[t.length-1];if(n.has(u))return{anotherRoundNeeded:!1,isGraphChanged:!1};n.add(u);let A=zCt(u),p=GCt(u,A),h=e==u?new Map:a.fastLookupPossible?jCt(t):qCt(t),w,I=!1,v=!1,b=new Map(Array.from(p.entries()).map(([R,N])=>[R,N[0]])),E=new Map;do{let R=KCt(e,t,r,h,b,p,o,E,a);R.isGraphChanged&&(v=!0),R.anotherRoundNeeded&&(I=!0),w=!1;for(let[N,U]of p)U.length>1&&!u.dependencies.has(N)&&(b.delete(N),U.shift(),b.set(N,U[0]),w=!0)}while(w);for(let R of u.dependencies.values())if(!u.peerNames.has(R.name)&&!r.has(R.locator)){r.add(R.locator);let N=Nj(e,[...t,R],r,E,a);N.isGraphChanged&&(v=!0),N.anotherRoundNeeded&&(I=!0),r.delete(R.locator)}return{anotherRoundNeeded:I,isGraphChanged:v}},YCt=e=>{for(let[t,r]of e.dependencies)if(!e.peerNames.has(t)&&r.ident!==e.ident)return!0;return!1},WCt=(e,t,r,o,a,n,u,A,{outputReason:p,fastLookupPossible:h})=>{let w,I=null,v=new Set;p&&(w=`${Array.from(t).map(N=>no(N)).join("\u2192")}`);let b=r[r.length-1],R=!(o.ident===b.ident);if(p&&!R&&(I="- self-reference"),R&&(R=o.dependencyKind!==1,p&&!R&&(I="- workspace")),R&&o.dependencyKind===2&&(R=!YCt(o),p&&!R&&(I="- external soft link with unhoisted dependencies")),R&&(R=b.dependencyKind!==1||b.hoistedFrom.has(o.name)||t.size===1,p&&!R&&(I=b.reasons.get(o.name))),R&&(R=!e.peerNames.has(o.name),p&&!R&&(I=`- cannot shadow peer: ${no(e.originalDependencies.get(o.name).locator)} at ${w}`)),R){let N=!1,U=a.get(o.name);if(N=!U||U.ident===o.ident,p&&!N&&(I=`- filled by: ${no(U.locator)} at ${w}`),N)for(let V=r.length-1;V>=1;V--){let le=r[V].dependencies.get(o.name);if(le&&le.ident!==o.ident){N=!1;let fe=A.get(b);fe||(fe=new Set,A.set(b,fe)),fe.add(o.name),p&&(I=`- filled by ${no(le.locator)} at ${r.slice(0,V).map(de=>no(de.locator)).join("\u2192")}`);break}}R=N}if(R&&(R=n.get(o.name)===o.ident,p&&!R&&(I=`- filled by: ${no(u.get(o.name)[0])} at ${w}`)),R){let N=!0,U=new Set(o.peerNames);for(let V=r.length-1;V>=1;V--){let ee=r[V];for(let le of U){if(ee.peerNames.has(le)&&ee.originalDependencies.has(le))continue;let fe=ee.dependencies.get(le);fe&&e.dependencies.get(le)!==fe&&(V===r.length-1?v.add(fe):(v=null,N=!1,p&&(I=`- peer dependency ${no(fe.locator)} from parent ${no(ee.locator)} was not hoisted to ${w}`))),U.delete(le)}if(!N)break}R=N}if(R&&!h)for(let N of o.hoistedDependencies.values()){let U=a.get(N.name)||e.dependencies.get(N.name);if(!U||N.ident!==U.ident){R=!1,p&&(I=`- previously hoisted dependency mismatch, needed: ${no(N.locator)}, available: ${no(U?.locator)}`);break}}return v!==null&&v.size>0?{isHoistable:2,dependsOn:v,reason:I}:{isHoistable:R?0:1,reason:I}},dk=e=>`${e.name}@${e.locator}`,KCt=(e,t,r,o,a,n,u,A,p)=>{let h=t[t.length-1],w=new Set,I=!1,v=!1,b=(U,V,ee,le,fe)=>{if(w.has(le))return;let de=[...V,dk(le)],ge=[...ee,dk(le)],oe=new Map,Be=new Map;for(let ce of Rj(le)){let ne=WCt(h,r,[h,...U,le],ce,o,a,n,A,{outputReason:p.debugLevel>=2,fastLookupPossible:p.fastLookupPossible});if(Be.set(ce,ne),ne.isHoistable===2)for(let te of ne.dependsOn){let Ee=oe.get(te.name)||new Set;Ee.add(ce.name),oe.set(te.name,Ee)}}let be=new Set,g=(ce,ne,te)=>{if(!be.has(ce)){be.add(ce),Be.set(ce,{isHoistable:1,reason:te});for(let Ee of oe.get(ce.name)||[])g(le.dependencies.get(Ee),ne,p.debugLevel>=2?`- peer dependency ${no(ce.locator)} from parent ${no(le.locator)} was not hoisted`:"")}};for(let[ce,ne]of Be)ne.isHoistable===1&&g(ce,ne,ne.reason);let we=!1;for(let ce of Be.keys())if(!be.has(ce)){v=!0;let ne=u.get(le);ne&&ne.has(ce.name)&&(I=!0),we=!0,le.dependencies.delete(ce.name),le.hoistedDependencies.set(ce.name,ce),le.reasons.delete(ce.name);let te=h.dependencies.get(ce.name);if(p.debugLevel>=2){let Ee=Array.from(V).concat([le.locator]).map(dt=>no(dt)).join("\u2192"),Re=h.hoistedFrom.get(ce.name);Re||(Re=[],h.hoistedFrom.set(ce.name,Re)),Re.push(Ee),le.hoistedTo.set(ce.name,Array.from(t).map(dt=>no(dt.locator)).join("\u2192"))}if(!te)h.ident!==ce.ident&&(h.dependencies.set(ce.name,ce),fe.add(ce));else for(let Ee of ce.references)te.references.add(Ee)}if(le.dependencyKind===2&&we&&(I=!0),p.check){let ce=fIe(e);if(ce)throw new Error(`${ce}, after hoisting dependencies of ${[h,...U,le].map(ne=>no(ne.locator)).join("\u2192")}: -${YB(e)}`)}let Se=Rj(le);for(let ce of Se)if(be.has(ce)){let ne=Be.get(ce);if((a.get(ce.name)===ce.ident||!le.reasons.has(ce.name))&&ne.isHoistable!==0&&le.reasons.set(ce.name,ne.reason),!ce.isHoistBorder&&ge.indexOf(dk(ce))<0){w.add(le);let Ee=cIe(le,ce);b([...U,le],de,ge,Ee,R),w.delete(le)}}},E,R=new Set(Rj(h)),N=Array.from(t).map(U=>dk(U));do{E=R,R=new Set;for(let U of E){if(U.locator===h.locator||U.isHoistBorder)continue;let V=cIe(h,U);b([],Array.from(r),N,V,R)}}while(R.size>0);return{anotherRoundNeeded:I,isGraphChanged:v}},fIe=e=>{let t=[],r=new Set,o=new Set,a=(n,u,A)=>{if(r.has(n)||(r.add(n),o.has(n)))return;let p=new Map(u);for(let h of n.dependencies.values())n.peerNames.has(h.name)||p.set(h.name,h);for(let h of n.originalDependencies.values()){let w=p.get(h.name),I=()=>`${Array.from(o).concat([n]).map(v=>no(v.locator)).join("\u2192")}`;if(n.peerNames.has(h.name)){let v=u.get(h.name);(v!==w||!v||v.ident!==h.ident)&&t.push(`${I()} - broken peer promise: expected ${h.ident} but found ${v&&v.ident}`)}else{let v=A.hoistedFrom.get(n.name),b=n.hoistedTo.get(h.name),E=`${v?` hoisted from ${v.join(", ")}`:""}`,R=`${b?` hoisted to ${b}`:""}`,N=`${I()}${E}`;w?w.ident!==h.ident&&t.push(`${N} - broken require promise for ${h.name}${R}: expected ${h.ident}, but found: ${w.ident}`):t.push(`${N} - broken require promise: no required dependency ${h.name}${R} found`)}}o.add(n);for(let h of n.dependencies.values())n.peerNames.has(h.name)||a(h,p,n);o.delete(n)};return a(e,e.dependencies,e),t.join(` -`)},JCt=(e,t)=>{let{identName:r,name:o,reference:a,peerNames:n}=e,u={name:o,references:new Set([a]),locator:Tj(r,a),ident:lIe(r,a),dependencies:new Map,originalDependencies:new Map,hoistedDependencies:new Map,peerNames:new Set(n),reasons:new Map,decoupled:!0,isHoistBorder:!0,hoistPriority:0,dependencyKind:1,hoistedFrom:new Map,hoistedTo:new Map},A=new Map([[e,u]]),p=(h,w)=>{let I=A.get(h),v=!!I;if(!I){let{name:b,identName:E,reference:R,peerNames:N,hoistPriority:U,dependencyKind:V}=h,ee=t.hoistingLimits.get(w.locator);I={name:b,references:new Set([R]),locator:Tj(E,R),ident:lIe(E,R),dependencies:new Map,originalDependencies:new Map,hoistedDependencies:new Map,peerNames:new Set(N),reasons:new Map,decoupled:!0,isHoistBorder:ee?ee.has(b):!1,hoistPriority:U||0,dependencyKind:V||0,hoistedFrom:new Map,hoistedTo:new Map},A.set(h,I)}if(w.dependencies.set(h.name,I),w.originalDependencies.set(h.name,I),v){let b=new Set,E=R=>{if(!b.has(R)){b.add(R),R.decoupled=!1;for(let N of R.dependencies.values())R.peerNames.has(N.name)||E(N)}};E(I)}else for(let b of h.dependencies)p(b,I)};for(let h of e.dependencies)p(h,u);return u},Lj=e=>e.substring(0,e.indexOf("@",1)),VCt=e=>{let t={name:e.name,identName:Lj(e.locator),references:new Set(e.references),dependencies:new Set},r=new Set([e]),o=(a,n,u)=>{let A=r.has(a),p;if(n===a)p=u;else{let{name:h,references:w,locator:I}=a;p={name:h,identName:Lj(I),references:w,dependencies:new Set}}if(u.dependencies.add(p),!A){r.add(a);for(let h of a.dependencies.values())a.peerNames.has(h.name)||o(h,a,p);r.delete(a)}};for(let a of e.dependencies.values())o(a,e,t);return t},zCt=e=>{let t=new Map,r=new Set([e]),o=u=>`${u.name}@${u.ident}`,a=u=>{let A=o(u),p=t.get(A);return p||(p={dependents:new Set,peerDependents:new Set,hoistPriority:0},t.set(A,p)),p},n=(u,A)=>{let p=!!r.has(A);if(a(A).dependents.add(u.ident),!p){r.add(A);for(let w of A.dependencies.values()){let I=a(w);I.hoistPriority=Math.max(I.hoistPriority,w.hoistPriority),A.peerNames.has(w.name)?I.peerDependents.add(A.ident):n(A,w)}}};for(let u of e.dependencies.values())e.peerNames.has(u.name)||n(e,u);return t},no=e=>{if(!e)return"none";let t=e.indexOf("@",1),r=e.substring(0,t);r.endsWith("$wsroot$")&&(r=`wh:${r.replace("$wsroot$","")}`);let o=e.substring(t+1);if(o==="workspace:.")return".";if(o){let a=(o.indexOf("#")>0?o.split("#")[1]:o).replace("npm:","");return o.startsWith("virtual")&&(r=`v:${r}`),a.startsWith("workspace")&&(r=`w:${r}`,a=""),`${r}${a?`@${a}`:""}`}else return`${r}`},uIe=5e4,YB=e=>{let t=0,r=(a,n,u="")=>{if(t>uIe||n.has(a))return"";t++;let A=Array.from(a.dependencies.values()).sort((h,w)=>h.name===w.name?0:h.name>w.name?1:-1),p="";n.add(a);for(let h=0;h<A.length;h++){let w=A[h];if(!a.peerNames.has(w.name)&&w!==a){let I=a.reasons.get(w.name),v=Lj(w.locator);p+=`${u}${h<A.length-1?"\u251C\u2500":"\u2514\u2500"}${(n.has(w)?">":"")+(v!==w.name?`a:${w.name}:`:"")+no(w.locator)+(I?` ${I}`:"")} -`,p+=r(w,n,`${u}${h<A.length-1?"\u2502 ":" "}`)}}return n.delete(a),p};return r(e,new Set)+(t>uIe?` -Tree is too large, part of the tree has been dunped -`:"")};var WB=(o=>(o.WORKSPACES="workspaces",o.DEPENDENCIES="dependencies",o.NONE="none",o))(WB||{}),pIe="node_modules",pm="$wsroot$";var KB=(e,t)=>{let{packageTree:r,hoistingLimits:o,errors:a,preserveSymlinksRequired:n}=ZCt(e,t),u=null;if(a.length===0){let A=AIe(r,{hoistingLimits:o});u=eIt(e,A,t)}return{tree:u,errors:a,preserveSymlinksRequired:n}},dA=e=>`${e.name}@${e.reference}`,Mj=e=>{let t=new Map;for(let[r,o]of e.entries())if(!o.dirList){let a=t.get(o.locator);a||(a={target:o.target,linkType:o.linkType,locations:[],aliases:o.aliases},t.set(o.locator,a)),a.locations.push(r)}for(let r of t.values())r.locations=r.locations.sort((o,a)=>{let n=o.split(J.delimiter).length,u=a.split(J.delimiter).length;return a===o?0:n!==u?u-n:a>o?1:-1});return t},hIe=(e,t)=>{let r=G.isVirtualLocator(e)?G.devirtualizeLocator(e):e,o=G.isVirtualLocator(t)?G.devirtualizeLocator(t):t;return G.areLocatorsEqual(r,o)},Oj=(e,t,r,o)=>{if(e.linkType!=="SOFT")return!1;let a=Ae.toPortablePath(r.resolveVirtual&&t.reference&&t.reference.startsWith("virtual:")?r.resolveVirtual(e.packageLocation):e.packageLocation);return J.contains(o,a)===null},XCt=e=>{let t=e.getPackageInformation(e.topLevel);if(t===null)throw new Error("Assertion failed: Expected the top-level package to have been registered");if(e.findPackageLocator(t.packageLocation)===null)throw new Error("Assertion failed: Expected the top-level package to have a physical locator");let o=Ae.toPortablePath(t.packageLocation.slice(0,-1)),a=new Map,n={children:new Map},u=e.getDependencyTreeRoots(),A=new Map,p=new Set,h=(v,b)=>{let E=dA(v);if(p.has(E))return;p.add(E);let R=e.getPackageInformation(v);if(R){let N=b?dA(b):"";if(dA(v)!==N&&R.linkType==="SOFT"&&!Oj(R,v,e,o)){let U=gIe(R,v,e);(!A.get(U)||v.reference.startsWith("workspace:"))&&A.set(U,v)}for(let[U,V]of R.packageDependencies)V!==null&&(R.packagePeers.has(U)||h(e.getLocator(U,V),v))}};for(let v of u)h(v,null);let w=o.split(J.sep);for(let v of A.values()){let b=e.getPackageInformation(v),R=Ae.toPortablePath(b.packageLocation.slice(0,-1)).split(J.sep).slice(w.length),N=n;for(let U of R){let V=N.children.get(U);V||(V={children:new Map},N.children.set(U,V)),N=V}N.workspaceLocator=v}let I=(v,b)=>{if(v.workspaceLocator){let E=dA(b),R=a.get(E);R||(R=new Set,a.set(E,R)),R.add(v.workspaceLocator)}for(let E of v.children.values())I(E,v.workspaceLocator||b)};for(let v of n.children.values())I(v,n.workspaceLocator);return a},ZCt=(e,t)=>{let r=[],o=!1,a=new Map,n=XCt(e),u=e.getPackageInformation(e.topLevel);if(u===null)throw new Error("Assertion failed: Expected the top-level package to have been registered");let A=e.findPackageLocator(u.packageLocation);if(A===null)throw new Error("Assertion failed: Expected the top-level package to have a physical locator");let p=Ae.toPortablePath(u.packageLocation.slice(0,-1)),h={name:A.name,identName:A.name,reference:A.reference,peerNames:u.packagePeers,dependencies:new Set,dependencyKind:1},w=new Map,I=(b,E)=>`${dA(E)}:${b}`,v=(b,E,R,N,U,V,ee,le)=>{let fe=I(b,R),de=w.get(fe),ge=!!de;!ge&&R.name===A.name&&R.reference===A.reference&&(de=h,w.set(fe,h));let oe=Oj(E,R,e,p);if(!de){let ce=0;oe?ce=2:E.linkType==="SOFT"&&R.name.endsWith(pm)&&(ce=1),de={name:b,identName:R.name,reference:R.reference,dependencies:new Set,peerNames:ce===1?new Set:E.packagePeers,dependencyKind:ce},w.set(fe,de)}let Be;if(oe?Be=2:U.linkType==="SOFT"?Be=1:Be=0,de.hoistPriority=Math.max(de.hoistPriority||0,Be),le&&!oe){let ce=dA({name:N.identName,reference:N.reference}),ne=a.get(ce)||new Set;a.set(ce,ne),ne.add(de.name)}let be=new Map(E.packageDependencies);if(t.project){let ce=t.project.workspacesByCwd.get(Ae.toPortablePath(E.packageLocation.slice(0,-1)));if(ce){let ne=new Set([...Array.from(ce.manifest.peerDependencies.values(),te=>G.stringifyIdent(te)),...Array.from(ce.manifest.peerDependenciesMeta.keys())]);for(let te of ne)be.has(te)||(be.set(te,V.get(te)||null),de.peerNames.add(te))}}let g=dA({name:R.name.replace(pm,""),reference:R.reference}),we=n.get(g);if(we)for(let ce of we)be.set(`${ce.name}${pm}`,ce.reference);(E!==U||E.linkType!=="SOFT"||!oe&&(!t.selfReferencesByCwd||t.selfReferencesByCwd.get(ee)))&&N.dependencies.add(de);let Se=R!==A&&E.linkType==="SOFT"&&!R.name.endsWith(pm)&&!oe;if(!ge&&!Se){let ce=new Map;for(let[ne,te]of be)if(te!==null){let Ee=e.getLocator(ne,te),Re=e.getLocator(ne.replace(pm,""),te),dt=e.getPackageInformation(Re);if(dt===null)throw new Error("Assertion failed: Expected the package to have been registered");let H=Oj(dt,Ee,e,p);if(t.validateExternalSoftLinks&&t.project&&H){dt.packageDependencies.size>0&&(o=!0);for(let[He,Ne]of dt.packageDependencies)if(Ne!==null){let Ve=G.parseLocator(Array.isArray(Ne)?`${Ne[0]}@${Ne[1]}`:`${He}@${Ne}`);if(dA(Ve)!==dA(Ee)){let je=be.get(He);if(je){let x=G.parseLocator(Array.isArray(je)?`${je[0]}@${je[1]}`:`${He}@${je}`);hIe(x,Ve)||r.push({messageName:71,text:`Cannot link ${G.prettyIdent(t.project.configuration,G.parseIdent(Ee.name))} into ${G.prettyLocator(t.project.configuration,G.parseLocator(`${R.name}@${R.reference}`))} dependency ${G.prettyLocator(t.project.configuration,Ve)} conflicts with parent dependency ${G.prettyLocator(t.project.configuration,x)}`})}else{let x=ce.get(He);if(x){let C=x.target,P=G.parseLocator(Array.isArray(C)?`${C[0]}@${C[1]}`:`${He}@${C}`);hIe(P,Ve)||r.push({messageName:71,text:`Cannot link ${G.prettyIdent(t.project.configuration,G.parseIdent(Ee.name))} into ${G.prettyLocator(t.project.configuration,G.parseLocator(`${R.name}@${R.reference}`))} dependency ${G.prettyLocator(t.project.configuration,Ve)} conflicts with dependency ${G.prettyLocator(t.project.configuration,P)} from sibling portal ${G.prettyIdent(t.project.configuration,G.parseIdent(x.portal.name))}`})}else ce.set(He,{target:Ve.reference,portal:Ee})}}}}let at=t.hoistingLimitsByCwd?.get(ee),Te=H?ee:J.relative(p,Ae.toPortablePath(dt.packageLocation))||Bt.dot,Qe=t.hoistingLimitsByCwd?.get(Te);v(ne,dt,Ee,de,E,be,Te,at==="dependencies"||Qe==="dependencies"||Qe==="workspaces")}}};return v(A.name,u,A,h,u,u.packageDependencies,Bt.dot,!1),{packageTree:h,hoistingLimits:a,errors:r,preserveSymlinksRequired:o}};function gIe(e,t,r){let o=r.resolveVirtual&&t.reference&&t.reference.startsWith("virtual:")?r.resolveVirtual(e.packageLocation):e.packageLocation;return Ae.toPortablePath(o||e.packageLocation)}function $Ct(e,t,r){let o=t.getLocator(e.name.replace(pm,""),e.reference),a=t.getPackageInformation(o);if(a===null)throw new Error("Assertion failed: Expected the package to be registered");return r.pnpifyFs?{linkType:"SOFT",target:Ae.toPortablePath(a.packageLocation)}:{linkType:a.linkType,target:gIe(a,e,t)}}var eIt=(e,t,r)=>{let o=new Map,a=(w,I,v)=>{let{linkType:b,target:E}=$Ct(w,e,r);return{locator:dA(w),nodePath:I,target:E,linkType:b,aliases:v}},n=w=>{let[I,v]=w.split("/");return v?{scope:bi(I),name:bi(v)}:{scope:null,name:bi(I)}},u=new Set,A=(w,I,v)=>{if(u.has(w))return;u.add(w);let b=Array.from(w.references).sort().join("#");for(let E of w.dependencies){let R=Array.from(E.references).sort().join("#");if(E.identName===w.identName&&R===b)continue;let N=Array.from(E.references).sort(),U={name:E.identName,reference:N[0]},{name:V,scope:ee}=n(E.name),le=ee?[ee,V]:[V],fe=J.join(I,pIe),de=J.join(fe,...le),ge=`${v}/${U.name}`,oe=a(U,v,N.slice(1)),Be=!1;if(oe.linkType==="SOFT"&&r.project){let g=r.project.workspacesByCwd.get(oe.target.slice(0,-1));Be=!!(g&&!g.manifest.name)}let be=oe.linkType==="SOFT"&&de.startsWith(oe.target);if(!E.name.endsWith(pm)&&!Be&&!be){let g=o.get(de);if(g){if(g.dirList)throw new Error(`Assertion failed: ${de} cannot merge dir node with leaf node`);{let ce=G.parseLocator(g.locator),ne=G.parseLocator(oe.locator);if(g.linkType!==oe.linkType)throw new Error(`Assertion failed: ${de} cannot merge nodes with different link types ${g.nodePath}/${G.stringifyLocator(ce)} and ${v}/${G.stringifyLocator(ne)}`);if(ce.identHash!==ne.identHash)throw new Error(`Assertion failed: ${de} cannot merge nodes with different idents ${g.nodePath}/${G.stringifyLocator(ce)} and ${v}/s${G.stringifyLocator(ne)}`);oe.aliases=[...oe.aliases,...g.aliases,G.parseLocator(g.locator).reference]}}o.set(de,oe);let we=de.split("/"),Se=we.indexOf(pIe);for(let ce=we.length-1;Se>=0&&ce>Se;ce--){let ne=Ae.toPortablePath(we.slice(0,ce).join(J.sep)),te=bi(we[ce]),Ee=o.get(ne);if(!Ee)o.set(ne,{dirList:new Set([te])});else if(Ee.dirList){if(Ee.dirList.has(te))break;Ee.dirList.add(te)}}}A(E,oe.linkType==="SOFT"?oe.target:de,ge)}},p=a({name:t.name,reference:Array.from(t.references)[0]},"",[]),h=p.target;return o.set(h,p),A(t,h,""),o};Ye();Ye();St();St();iA();Nl();var iq={};Jt(iq,{PnpInstaller:()=>dm,PnpLinker:()=>D0,UnplugCommand:()=>P0,default:()=>kIt,getPnpPath:()=>S0,jsInstallUtils:()=>yA,pnpUtils:()=>ov,quotePathIfNeeded:()=>e1e});St();var $Ie=Ie("url");Ye();Ye();St();St();var dIe={["DEFAULT"]:{collapsed:!1,next:{["*"]:"DEFAULT"}},["TOP_LEVEL"]:{collapsed:!1,next:{fallbackExclusionList:"FALLBACK_EXCLUSION_LIST",packageRegistryData:"PACKAGE_REGISTRY_DATA",["*"]:"DEFAULT"}},["FALLBACK_EXCLUSION_LIST"]:{collapsed:!1,next:{["*"]:"FALLBACK_EXCLUSION_ENTRIES"}},["FALLBACK_EXCLUSION_ENTRIES"]:{collapsed:!0,next:{["*"]:"FALLBACK_EXCLUSION_DATA"}},["FALLBACK_EXCLUSION_DATA"]:{collapsed:!0,next:{["*"]:"DEFAULT"}},["PACKAGE_REGISTRY_DATA"]:{collapsed:!1,next:{["*"]:"PACKAGE_REGISTRY_ENTRIES"}},["PACKAGE_REGISTRY_ENTRIES"]:{collapsed:!0,next:{["*"]:"PACKAGE_STORE_DATA"}},["PACKAGE_STORE_DATA"]:{collapsed:!1,next:{["*"]:"PACKAGE_STORE_ENTRIES"}},["PACKAGE_STORE_ENTRIES"]:{collapsed:!0,next:{["*"]:"PACKAGE_INFORMATION_DATA"}},["PACKAGE_INFORMATION_DATA"]:{collapsed:!1,next:{packageDependencies:"PACKAGE_DEPENDENCIES",["*"]:"DEFAULT"}},["PACKAGE_DEPENDENCIES"]:{collapsed:!1,next:{["*"]:"PACKAGE_DEPENDENCY"}},["PACKAGE_DEPENDENCY"]:{collapsed:!0,next:{["*"]:"DEFAULT"}}};function tIt(e,t,r){let o="";o+="[";for(let a=0,n=e.length;a<n;++a)o+=mk(String(a),e[a],t,r).replace(/^ +/g,""),a+1<n&&(o+=", ");return o+="]",o}function rIt(e,t,r){let o=`${r} `,a="";a+=r,a+=`[ -`;for(let n=0,u=e.length;n<u;++n)a+=o+mk(String(n),e[n],t,o).replace(/^ +/,""),n+1<u&&(a+=","),a+=` -`;return a+=r,a+="]",a}function nIt(e,t,r){let o=Object.keys(e),a="";a+="{";for(let n=0,u=o.length,A=0;n<u;++n){let p=o[n],h=e[p];typeof h>"u"||(A!==0&&(a+=", "),a+=JSON.stringify(p),a+=": ",a+=mk(p,h,t,r).replace(/^ +/g,""),A+=1)}return a+="}",a}function iIt(e,t,r){let o=Object.keys(e),a=`${r} `,n="";n+=r,n+=`{ -`;let u=0;for(let A=0,p=o.length;A<p;++A){let h=o[A],w=e[h];typeof w>"u"||(u!==0&&(n+=",",n+=` -`),n+=a,n+=JSON.stringify(h),n+=": ",n+=mk(h,w,t,a).replace(/^ +/g,""),u+=1)}return u!==0&&(n+=` -`),n+=r,n+="}",n}function mk(e,t,r,o){let{next:a}=dIe[r],n=a[e]||a["*"];return mIe(t,n,o)}function mIe(e,t,r){let{collapsed:o}=dIe[t];return Array.isArray(e)?o?tIt(e,t,r):rIt(e,t,r):typeof e=="object"&&e!==null?o?nIt(e,t,r):iIt(e,t,r):JSON.stringify(e)}function yIe(e){return mIe(e,"TOP_LEVEL","")}function JB(e,t){let r=Array.from(e);Array.isArray(t)||(t=[t]);let o=[];for(let n of t)o.push(r.map(u=>n(u)));let a=r.map((n,u)=>u);return a.sort((n,u)=>{for(let A of o){let p=A[n]<A[u]?-1:A[n]>A[u]?1:0;if(p!==0)return p}return 0}),a.map(n=>r[n])}function sIt(e){let t=new Map,r=JB(e.fallbackExclusionList||[],[({name:o,reference:a})=>o,({name:o,reference:a})=>a]);for(let{name:o,reference:a}of r){let n=t.get(o);typeof n>"u"&&t.set(o,n=new Set),n.add(a)}return Array.from(t).map(([o,a])=>[o,Array.from(a)])}function oIt(e){return JB(e.fallbackPool||[],([t])=>t)}function aIt(e){let t=[];for(let[r,o]of JB(e.packageRegistry,([a])=>a===null?"0":`1${a}`)){let a=[];t.push([r,a]);for(let[n,{packageLocation:u,packageDependencies:A,packagePeers:p,linkType:h,discardFromLookup:w}]of JB(o,([I])=>I===null?"0":`1${I}`)){let I=[];r!==null&&n!==null&&!A.has(r)&&I.push([r,n]);for(let[E,R]of JB(A.entries(),([N])=>N))I.push([E,R]);let v=p&&p.size>0?Array.from(p):void 0,b=w||void 0;a.push([n,{packageLocation:u,packageDependencies:I,packagePeers:v,linkType:h,discardFromLookup:b}])}}return t}function VB(e){return{__info:["This file is automatically generated. Do not touch it, or risk","your modifications being lost."],dependencyTreeRoots:e.dependencyTreeRoots,enableTopLevelFallback:e.enableTopLevelFallback||!1,ignorePatternData:e.ignorePattern||null,fallbackExclusionList:sIt(e),fallbackPool:oIt(e),packageRegistryData:aIt(e)}}var CIe=$e(wIe());function IIe(e,t){return[e?`${e} -`:"",`/* eslint-disable */ -`,`"use strict"; -`,` -`,t,` -`,(0,CIe.default)()].join("")}function lIt(e){return JSON.stringify(e,null,2)}function cIt(e){return`'${e.replace(/\\/g,"\\\\").replace(/'/g,"\\'").replace(/\n/g,`\\ -`)}'`}function uIt(e){return[`const RAW_RUNTIME_STATE = -`,`${cIt(yIe(e))}; - -`,`function $$SETUP_STATE(hydrateRuntimeState, basePath) { -`,` return hydrateRuntimeState(JSON.parse(RAW_RUNTIME_STATE), {basePath: basePath || __dirname}); -`,`} -`].join("")}function AIt(){return[`function $$SETUP_STATE(hydrateRuntimeState, basePath) { -`,` const fs = require('fs'); -`,` const path = require('path'); -`,` const pnpDataFilepath = path.resolve(__dirname, ${JSON.stringify(gr.pnpData)}); -`,` return hydrateRuntimeState(JSON.parse(fs.readFileSync(pnpDataFilepath, 'utf8')), {basePath: basePath || __dirname}); -`,`} -`].join("")}function BIe(e){let t=VB(e),r=uIt(t);return IIe(e.shebang,r)}function vIe(e){let t=VB(e),r=AIt(),o=IIe(e.shebang,r);return{dataFile:lIt(t),loaderFile:o}}St();function _j(e,{basePath:t}){let r=Ae.toPortablePath(t),o=J.resolve(r),a=e.ignorePatternData!==null?new RegExp(e.ignorePatternData):null,n=new Map,u=new Map(e.packageRegistryData.map(([I,v])=>[I,new Map(v.map(([b,E])=>{if(I===null!=(b===null))throw new Error("Assertion failed: The name and reference should be null, or neither should");let R=E.discardFromLookup??!1,N={name:I,reference:b},U=n.get(E.packageLocation);U?(U.discardFromLookup=U.discardFromLookup&&R,R||(U.locator=N)):n.set(E.packageLocation,{locator:N,discardFromLookup:R});let V=null;return[b,{packageDependencies:new Map(E.packageDependencies),packagePeers:new Set(E.packagePeers),linkType:E.linkType,discardFromLookup:R,get packageLocation(){return V||(V=J.join(o,E.packageLocation))}}]}))])),A=new Map(e.fallbackExclusionList.map(([I,v])=>[I,new Set(v)])),p=new Map(e.fallbackPool),h=e.dependencyTreeRoots,w=e.enableTopLevelFallback;return{basePath:r,dependencyTreeRoots:h,enableTopLevelFallback:w,fallbackExclusionList:A,fallbackPool:p,ignorePattern:a,packageLocatorsByLocations:n,packageRegistry:u}}St();St();var iv=Ie("module"),gm=Ie("url"),Xj=Ie("util");var Mo=Ie("url");var xIe=$e(Ie("assert"));var Hj=Array.isArray,zB=JSON.stringify,XB=Object.getOwnPropertyNames,hm=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),jj=(e,t)=>RegExp.prototype.exec.call(e,t),qj=(e,...t)=>RegExp.prototype[Symbol.replace].apply(e,t),B0=(e,...t)=>String.prototype.endsWith.apply(e,t),Gj=(e,...t)=>String.prototype.includes.apply(e,t),Yj=(e,...t)=>String.prototype.lastIndexOf.apply(e,t),ZB=(e,...t)=>String.prototype.indexOf.apply(e,t),DIe=(e,...t)=>String.prototype.replace.apply(e,t),v0=(e,...t)=>String.prototype.slice.apply(e,t),mA=(e,...t)=>String.prototype.startsWith.apply(e,t),SIe=Map,PIe=JSON.parse;function $B(e,t,r){return class extends r{constructor(...o){super(t(...o)),this.code=e,this.name=`${r.name} [${e}]`}}}var bIe=$B("ERR_PACKAGE_IMPORT_NOT_DEFINED",(e,t,r)=>`Package import specifier "${e}" is not defined${t?` in package ${t}package.json`:""} imported from ${r}`,TypeError),Wj=$B("ERR_INVALID_MODULE_SPECIFIER",(e,t,r=void 0)=>`Invalid module "${e}" ${t}${r?` imported from ${r}`:""}`,TypeError),QIe=$B("ERR_INVALID_PACKAGE_TARGET",(e,t,r,o=!1,a=void 0)=>{let n=typeof r=="string"&&!o&&r.length&&!mA(r,"./");return t==="."?((0,xIe.default)(o===!1),`Invalid "exports" main target ${zB(r)} defined in the package config ${e}package.json${a?` imported from ${a}`:""}${n?'; targets must start with "./"':""}`):`Invalid "${o?"imports":"exports"}" target ${zB(r)} defined for '${t}' in the package config ${e}package.json${a?` imported from ${a}`:""}${n?'; targets must start with "./"':""}`},Error),ev=$B("ERR_INVALID_PACKAGE_CONFIG",(e,t,r)=>`Invalid package config ${e}${t?` while importing ${t}`:""}${r?`. ${r}`:""}`,Error),kIe=$B("ERR_PACKAGE_PATH_NOT_EXPORTED",(e,t,r=void 0)=>t==="."?`No "exports" main defined in ${e}package.json${r?` imported from ${r}`:""}`:`Package subpath '${t}' is not defined by "exports" in ${e}package.json${r?` imported from ${r}`:""}`,Error);var Ek=Ie("url");function FIe(e,t){let r=Object.create(null);for(let o=0;o<t.length;o++){let a=t[o];hm(e,a)&&(r[a]=e[a])}return r}var yk=new SIe;function fIt(e,t,r,o){let a=yk.get(e);if(a!==void 0)return a;let n=o(e);if(n===void 0){let b={pjsonPath:e,exists:!1,main:void 0,name:void 0,type:"none",exports:void 0,imports:void 0};return yk.set(e,b),b}let u;try{u=PIe(n)}catch(b){throw new ev(e,(r?`"${t}" from `:"")+(0,Ek.fileURLToPath)(r||t),b.message)}let{imports:A,main:p,name:h,type:w}=FIe(u,["imports","main","name","type"]),I=hm(u,"exports")?u.exports:void 0;(typeof A!="object"||A===null)&&(A=void 0),typeof p!="string"&&(p=void 0),typeof h!="string"&&(h=void 0),w!=="module"&&w!=="commonjs"&&(w="none");let v={pjsonPath:e,exists:!0,main:p,name:h,type:w,exports:I,imports:A};return yk.set(e,v),v}function RIe(e,t){let r=new URL("./package.json",e);for(;;){let n=r.pathname;if(B0(n,"node_modules/package.json"))break;let u=fIt((0,Ek.fileURLToPath)(r),e,void 0,t);if(u.exists)return u;let A=r;if(r=new URL("../package.json",r),r.pathname===A.pathname)break}let o=(0,Ek.fileURLToPath)(r),a={pjsonPath:o,exists:!1,main:void 0,name:void 0,type:"none",exports:void 0,imports:void 0};return yk.set(o,a),a}function pIt(e,t,r){throw new bIe(e,t&&(0,Mo.fileURLToPath)(new URL(".",t)),(0,Mo.fileURLToPath)(r))}function hIt(e,t,r,o){let a=`request is not a valid subpath for the "${r?"imports":"exports"}" resolution of ${(0,Mo.fileURLToPath)(t)}`;throw new Wj(e,a,o&&(0,Mo.fileURLToPath)(o))}function tv(e,t,r,o,a){throw typeof t=="object"&&t!==null?t=zB(t,null,""):t=`${t}`,new QIe((0,Mo.fileURLToPath)(new URL(".",r)),e,t,o,a&&(0,Mo.fileURLToPath)(a))}var TIe=/(^|\\|\/)((\.|%2e)(\.|%2e)?|(n|%6e|%4e)(o|%6f|%4f)(d|%64|%44)(e|%65|%45)(_|%5f)(m|%6d|%4d)(o|%6f|%4f)(d|%64|%44)(u|%75|%55)(l|%6c|%4c)(e|%65|%45)(s|%73|%53))(\\|\/|$)/i,NIe=/\*/g;function gIt(e,t,r,o,a,n,u,A){if(t!==""&&!n&&e[e.length-1]!=="/"&&tv(r,e,o,u,a),!mA(e,"./")){if(u&&!mA(e,"../")&&!mA(e,"/")){let I=!1;try{new URL(e),I=!0}catch{}if(!I)return n?qj(NIe,e,()=>t):e+t}tv(r,e,o,u,a)}jj(TIe,v0(e,2))!==null&&tv(r,e,o,u,a);let p=new URL(e,o),h=p.pathname,w=new URL(".",o).pathname;if(mA(h,w)||tv(r,e,o,u,a),t==="")return p;if(jj(TIe,t)!==null){let I=n?DIe(r,"*",()=>t):r+t;hIt(I,o,u,a)}return n?new URL(qj(NIe,p.href,()=>t)):new URL(t,p)}function dIt(e){let t=+e;return`${t}`!==e?!1:t>=0&&t<4294967295}function jw(e,t,r,o,a,n,u,A){if(typeof t=="string")return gIt(t,r,o,e,a,n,u,A);if(Hj(t)){if(t.length===0)return null;let p;for(let h=0;h<t.length;h++){let w=t[h],I;try{I=jw(e,w,r,o,a,n,u,A)}catch(v){if(p=v,v.code==="ERR_INVALID_PACKAGE_TARGET")continue;throw v}if(I!==void 0){if(I===null){p=null;continue}return I}}if(p==null)return p;throw p}else if(typeof t=="object"&&t!==null){let p=XB(t);for(let h=0;h<p.length;h++){let w=p[h];if(dIt(w))throw new ev((0,Mo.fileURLToPath)(e),a,'"exports" cannot contain numeric property keys.')}for(let h=0;h<p.length;h++){let w=p[h];if(w==="default"||A.has(w)){let I=t[w],v=jw(e,I,r,o,a,n,u,A);if(v===void 0)continue;return v}}return}else if(t===null)return null;tv(o,t,e,u,a)}function OIe(e,t){let r=ZB(e,"*"),o=ZB(t,"*"),a=r===-1?e.length:r+1,n=o===-1?t.length:o+1;return a>n?-1:n>a||r===-1?1:o===-1||e.length>t.length?-1:t.length>e.length?1:0}function mIt(e,t,r){if(typeof e=="string"||Hj(e))return!0;if(typeof e!="object"||e===null)return!1;let o=XB(e),a=!1,n=0;for(let u=0;u<o.length;u++){let A=o[u],p=A===""||A[0]!==".";if(n++===0)a=p;else if(a!==p)throw new ev((0,Mo.fileURLToPath)(t),r,`"exports" cannot contain some keys starting with '.' and some not. The exports object must either be an object of package subpath keys or an object of main entry condition name keys only.`)}return a}function Kj(e,t,r){throw new kIe((0,Mo.fileURLToPath)(new URL(".",t)),e,r&&(0,Mo.fileURLToPath)(r))}var LIe=new Set;function yIt(e,t,r){let o=(0,Mo.fileURLToPath)(t);LIe.has(o+"|"+e)||(LIe.add(o+"|"+e),process.emitWarning(`Use of deprecated trailing slash pattern mapping "${e}" in the "exports" field module resolution of the package at ${o}${r?` imported from ${(0,Mo.fileURLToPath)(r)}`:""}. Mapping specifiers ending in "/" is no longer supported.`,"DeprecationWarning","DEP0155"))}function MIe({packageJSONUrl:e,packageSubpath:t,exports:r,base:o,conditions:a}){if(mIt(r,e,o)&&(r={".":r}),hm(r,t)&&!Gj(t,"*")&&!B0(t,"/")){let p=r[t],h=jw(e,p,"",t,o,!1,!1,a);return h==null&&Kj(t,e,o),h}let n="",u,A=XB(r);for(let p=0;p<A.length;p++){let h=A[p],w=ZB(h,"*");if(w!==-1&&mA(t,v0(h,0,w))){B0(t,"/")&&yIt(t,e,o);let I=v0(h,w+1);t.length>=h.length&&B0(t,I)&&OIe(n,h)===1&&Yj(h,"*")===w&&(n=h,u=v0(t,w,t.length-I.length))}}if(n){let p=r[n],h=jw(e,p,u,n,o,!0,!1,a);return h==null&&Kj(t,e,o),h}Kj(t,e,o)}function UIe({name:e,base:t,conditions:r,readFileSyncFn:o}){if(e==="#"||mA(e,"#/")||B0(e,"/")){let u="is not a valid internal imports specifier name";throw new Wj(e,u,(0,Mo.fileURLToPath)(t))}let a,n=RIe(t,o);if(n.exists){a=(0,Mo.pathToFileURL)(n.pjsonPath);let u=n.imports;if(u)if(hm(u,e)&&!Gj(e,"*")){let A=jw(a,u[e],"",e,t,!1,!0,r);if(A!=null)return A}else{let A="",p,h=XB(u);for(let w=0;w<h.length;w++){let I=h[w],v=ZB(I,"*");if(v!==-1&&mA(e,v0(I,0,v))){let b=v0(I,v+1);e.length>=I.length&&B0(e,b)&&OIe(A,I)===1&&Yj(I,"*")===v&&(A=I,p=v0(e,v,e.length-b.length))}}if(A){let w=u[A],I=jw(a,w,p,A,t,!0,!0,r);if(I!=null)return I}}}pIt(e,a,t)}St();var EIt=new Set(["BUILTIN_NODE_RESOLUTION_FAILED","MISSING_DEPENDENCY","MISSING_PEER_DEPENDENCY","QUALIFIED_PATH_RESOLUTION_FAILED","UNDECLARED_DEPENDENCY"]);function Zi(e,t,r={},o){o??=EIt.has(e)?"MODULE_NOT_FOUND":e;let a={configurable:!0,writable:!0,enumerable:!1};return Object.defineProperties(new Error(t),{code:{...a,value:o},pnpCode:{...a,value:e},data:{...a,value:r}})}function cu(e){return Ae.normalize(Ae.fromPortablePath(e))}var qIe=$e(HIe());function GIe(e){return wIt(),Vj[e]}var Vj;function wIt(){Vj||(Vj={"--conditions":[],...jIe(CIt()),...jIe(process.execArgv)})}function jIe(e){return(0,qIe.default)({"--conditions":[String],"-C":"--conditions"},{argv:e,permissive:!0})}function CIt(){let e=[],t=IIt(process.env.NODE_OPTIONS||"",e);return e.length,t}function IIt(e,t){let r=[],o=!1,a=!0;for(let n=0;n<e.length;++n){let u=e[n];if(u==="\\"&&o){if(n+1===e.length)return t.push(`invalid value for NODE_OPTIONS (invalid escape) -`),r;u=e[++n]}else if(u===" "&&!o){a=!0;continue}else if(u==='"'){o=!o;continue}a?(r.push(u),a=!1):r[r.length-1]+=u}return o&&t.push(`invalid value for NODE_OPTIONS (unterminated string) -`),r}St();var WIe=Ie("module");var[nv,zj]=process.versions.node.split(".").map(e=>parseInt(e,10)),YIe=nv>19||nv===19&&zj>=2||nv===18&&zj>=13,rzt=nv>19||nv===19&&zj>=3;var BIt=new Set(WIe.Module.builtinModules||Object.keys(process.binding("natives"))),wk=e=>e.startsWith("node:")||BIt.has(e);function KIe(e){if(process.env.WATCH_REPORT_DEPENDENCIES&&process.send)if(e=e.map(t=>Ae.fromPortablePath(di.resolveVirtual(Ae.toPortablePath(t)))),YIe)process.send({"watch:require":e});else for(let t of e)process.send({"watch:require":t})}function Zj(e,t){let r=Number(process.env.PNP_ALWAYS_WARN_ON_FALLBACK)>0,o=Number(process.env.PNP_DEBUG_LEVEL),a=/^(?![a-zA-Z]:[\\/]|\\\\|\.{0,2}(?:\/|$))((?:node:)?(?:@[^/]+\/)?[^/]+)\/*(.*|)$/,n=/^(\/|\.{1,2}(\/|$))/,u=/\/$/,A=/^\.{0,2}\//,p={name:null,reference:null},h=[],w=new Set;if(e.enableTopLevelFallback===!0&&h.push(p),t.compatibilityMode!==!1)for(let Te of["react-scripts","gatsby"]){let Qe=e.packageRegistry.get(Te);if(Qe)for(let ke of Qe.keys()){if(ke===null)throw new Error("Assertion failed: This reference shouldn't be null");h.push({name:Te,reference:ke})}}let{ignorePattern:I,packageRegistry:v,packageLocatorsByLocations:b}=e;function E(Te,Qe){return{fn:Te,args:Qe,error:null,result:null}}function R(Te){let Qe=process.stderr?.hasColors?.()??process.stdout.isTTY,ke=(Ve,je)=>`\x1B[${Ve}m${je}\x1B[0m`,He=Te.error;console.error(He?ke("31;1",`\u2716 ${Te.error?.message.replace(/\n.*/s,"")}`):ke("33;1","\u203C Resolution")),Te.args.length>0&&console.error();for(let Ve of Te.args)console.error(` ${ke("37;1","In \u2190")} ${(0,Xj.inspect)(Ve,{colors:Qe,compact:!0})}`);Te.result&&(console.error(),console.error(` ${ke("37;1","Out \u2192")} ${(0,Xj.inspect)(Te.result,{colors:Qe,compact:!0})}`));let Ne=new Error().stack.match(/(?<=^ +)at.*/gm)?.slice(2)??[];if(Ne.length>0){console.error();for(let Ve of Ne)console.error(` ${ke("38;5;244",Ve)}`)}console.error()}function N(Te,Qe){if(t.allowDebug===!1)return Qe;if(Number.isFinite(o)){if(o>=2)return(...ke)=>{let He=E(Te,ke);try{return He.result=Qe(...ke)}catch(Ne){throw He.error=Ne}finally{R(He)}};if(o>=1)return(...ke)=>{try{return Qe(...ke)}catch(He){let Ne=E(Te,ke);throw Ne.error=He,R(Ne),He}}}return Qe}function U(Te){let Qe=g(Te);if(!Qe)throw Zi("INTERNAL","Couldn't find a matching entry in the dependency tree for the specified parent (this is probably an internal error)");return Qe}function V(Te){if(Te.name===null)return!0;for(let Qe of e.dependencyTreeRoots)if(Qe.name===Te.name&&Qe.reference===Te.reference)return!0;return!1}let ee=new Set(["node","require",...GIe("--conditions")]);function le(Te,Qe=ee,ke){let He=ce(J.join(Te,"internal.js"),{resolveIgnored:!0,includeDiscardFromLookup:!0});if(He===null)throw Zi("INTERNAL",`The locator that owns the "${Te}" path can't be found inside the dependency tree (this is probably an internal error)`);let{packageLocation:Ne}=U(He),Ve=J.join(Ne,gr.manifest);if(!t.fakeFs.existsSync(Ve))return null;let je=JSON.parse(t.fakeFs.readFileSync(Ve,"utf8"));if(je.exports==null)return null;let x=J.contains(Ne,Te);if(x===null)throw Zi("INTERNAL","unqualifiedPath doesn't contain the packageLocation (this is probably an internal error)");x!=="."&&!A.test(x)&&(x=`./${x}`);try{let C=MIe({packageJSONUrl:(0,gm.pathToFileURL)(Ae.fromPortablePath(Ve)),packageSubpath:x,exports:je.exports,base:ke?(0,gm.pathToFileURL)(Ae.fromPortablePath(ke)):null,conditions:Qe});return Ae.toPortablePath((0,gm.fileURLToPath)(C))}catch(C){throw Zi("EXPORTS_RESOLUTION_FAILED",C.message,{unqualifiedPath:cu(Te),locator:He,pkgJson:je,subpath:cu(x),conditions:Qe},C.code)}}function fe(Te,Qe,{extensions:ke}){let He;try{Qe.push(Te),He=t.fakeFs.statSync(Te)}catch{}if(He&&!He.isDirectory())return t.fakeFs.realpathSync(Te);if(He&&He.isDirectory()){let Ne;try{Ne=JSON.parse(t.fakeFs.readFileSync(J.join(Te,gr.manifest),"utf8"))}catch{}let Ve;if(Ne&&Ne.main&&(Ve=J.resolve(Te,Ne.main)),Ve&&Ve!==Te){let je=fe(Ve,Qe,{extensions:ke});if(je!==null)return je}}for(let Ne=0,Ve=ke.length;Ne<Ve;Ne++){let je=`${Te}${ke[Ne]}`;if(Qe.push(je),t.fakeFs.existsSync(je))return je}if(He&&He.isDirectory())for(let Ne=0,Ve=ke.length;Ne<Ve;Ne++){let je=J.format({dir:Te,name:"index",ext:ke[Ne]});if(Qe.push(je),t.fakeFs.existsSync(je))return je}return null}function de(Te){let Qe=new iv.Module(Te,null);return Qe.filename=Te,Qe.paths=iv.Module._nodeModulePaths(Te),Qe}function ge(Te,Qe){return Qe.endsWith("/")&&(Qe=J.join(Qe,"internal.js")),iv.Module._resolveFilename(Ae.fromPortablePath(Te),de(Ae.fromPortablePath(Qe)),!1,{plugnplay:!1})}function oe(Te){if(I===null)return!1;let Qe=J.contains(e.basePath,Te);return Qe===null?!1:!!I.test(Qe.replace(/\/$/,""))}let Be={std:3,resolveVirtual:1,getAllLocators:1},be=p;function g({name:Te,reference:Qe}){let ke=v.get(Te);if(!ke)return null;let He=ke.get(Qe);return He||null}function we({name:Te,reference:Qe}){let ke=[];for(let[He,Ne]of v)if(He!==null)for(let[Ve,je]of Ne)Ve===null||je.packageDependencies.get(Te)!==Qe||He===Te&&Ve===Qe||ke.push({name:He,reference:Ve});return ke}function Se(Te,Qe){let ke=new Map,He=new Set,Ne=je=>{let x=JSON.stringify(je.name);if(He.has(x))return;He.add(x);let C=we(je);for(let P of C)if(U(P).packagePeers.has(Te))Ne(P);else{let F=ke.get(P.name);typeof F>"u"&&ke.set(P.name,F=new Set),F.add(P.reference)}};Ne(Qe);let Ve=[];for(let je of[...ke.keys()].sort())for(let x of[...ke.get(je)].sort())Ve.push({name:je,reference:x});return Ve}function ce(Te,{resolveIgnored:Qe=!1,includeDiscardFromLookup:ke=!1}={}){if(oe(Te)&&!Qe)return null;let He=J.relative(e.basePath,Te);He.match(n)||(He=`./${He}`),He.endsWith("/")||(He=`${He}/`);do{let Ne=b.get(He);if(typeof Ne>"u"||Ne.discardFromLookup&&!ke){He=He.substring(0,He.lastIndexOf("/",He.length-2)+1);continue}return Ne.locator}while(He!=="");return null}function ne(Te){try{return t.fakeFs.readFileSync(Ae.toPortablePath(Te),"utf8")}catch(Qe){if(Qe.code==="ENOENT")return;throw Qe}}function te(Te,Qe,{considerBuiltins:ke=!0}={}){if(Te.startsWith("#"))throw new Error("resolveToUnqualified can not handle private import mappings");if(Te==="pnpapi")return Ae.toPortablePath(t.pnpapiResolution);if(ke&&wk(Te))return null;let He=cu(Te),Ne=Qe&&cu(Qe);if(Qe&&oe(Qe)&&(!J.isAbsolute(Te)||ce(Te)===null)){let x=ge(Te,Qe);if(x===!1)throw Zi("BUILTIN_NODE_RESOLUTION_FAILED",`The builtin node resolution algorithm was unable to resolve the requested module (it didn't go through the pnp resolver because the issuer was explicitely ignored by the regexp) - -Require request: "${He}" -Required by: ${Ne} -`,{request:He,issuer:Ne});return Ae.toPortablePath(x)}let Ve,je=Te.match(a);if(je){if(!Qe)throw Zi("API_ERROR","The resolveToUnqualified function must be called with a valid issuer when the path isn't a builtin nor absolute",{request:He,issuer:Ne});let[,x,C]=je,P=ce(Qe);if(!P){let Le=ge(Te,Qe);if(Le===!1)throw Zi("BUILTIN_NODE_RESOLUTION_FAILED",`The builtin node resolution algorithm was unable to resolve the requested module (it didn't go through the pnp resolver because the issuer doesn't seem to be part of the Yarn-managed dependency tree). - -Require path: "${He}" -Required by: ${Ne} -`,{request:He,issuer:Ne});return Ae.toPortablePath(Le)}let F=U(P).packageDependencies.get(x),z=null;if(F==null&&P.name!==null){let Le=e.fallbackExclusionList.get(P.name);if(!Le||!Le.has(P.reference)){for(let gt=0,jt=h.length;gt<jt;++gt){let xt=U(h[gt]).packageDependencies.get(x);if(xt!=null){r?z=xt:F=xt;break}}if(e.enableTopLevelFallback&&F==null&&z===null){let gt=e.fallbackPool.get(x);gt!=null&&(z=gt)}}}let X=null;if(F===null)if(V(P))X=Zi("MISSING_PEER_DEPENDENCY",`Your application tried to access ${x} (a peer dependency); this isn't allowed as there is no ancestor to satisfy the requirement. Use a devDependency if needed. - -Required package: ${x}${x!==He?` (via "${He}")`:""} -Required by: ${Ne} -`,{request:He,issuer:Ne,dependencyName:x});else{let Le=Se(x,P);Le.every(ot=>V(ot))?X=Zi("MISSING_PEER_DEPENDENCY",`${P.name} tried to access ${x} (a peer dependency) but it isn't provided by your application; this makes the require call ambiguous and unsound. - -Required package: ${x}${x!==He?` (via "${He}")`:""} -Required by: ${P.name}@${P.reference} (via ${Ne}) -${Le.map(ot=>`Ancestor breaking the chain: ${ot.name}@${ot.reference} -`).join("")} -`,{request:He,issuer:Ne,issuerLocator:Object.assign({},P),dependencyName:x,brokenAncestors:Le}):X=Zi("MISSING_PEER_DEPENDENCY",`${P.name} tried to access ${x} (a peer dependency) but it isn't provided by its ancestors; this makes the require call ambiguous and unsound. - -Required package: ${x}${x!==He?` (via "${He}")`:""} -Required by: ${P.name}@${P.reference} (via ${Ne}) - -${Le.map(ot=>`Ancestor breaking the chain: ${ot.name}@${ot.reference} -`).join("")} -`,{request:He,issuer:Ne,issuerLocator:Object.assign({},P),dependencyName:x,brokenAncestors:Le})}else F===void 0&&(!ke&&wk(Te)?V(P)?X=Zi("UNDECLARED_DEPENDENCY",`Your application tried to access ${x}. While this module is usually interpreted as a Node builtin, your resolver is running inside a non-Node resolution context where such builtins are ignored. Since ${x} isn't otherwise declared in your dependencies, this makes the require call ambiguous and unsound. - -Required package: ${x}${x!==He?` (via "${He}")`:""} -Required by: ${Ne} -`,{request:He,issuer:Ne,dependencyName:x}):X=Zi("UNDECLARED_DEPENDENCY",`${P.name} tried to access ${x}. While this module is usually interpreted as a Node builtin, your resolver is running inside a non-Node resolution context where such builtins are ignored. Since ${x} isn't otherwise declared in ${P.name}'s dependencies, this makes the require call ambiguous and unsound. - -Required package: ${x}${x!==He?` (via "${He}")`:""} -Required by: ${Ne} -`,{request:He,issuer:Ne,issuerLocator:Object.assign({},P),dependencyName:x}):V(P)?X=Zi("UNDECLARED_DEPENDENCY",`Your application tried to access ${x}, but it isn't declared in your dependencies; this makes the require call ambiguous and unsound. - -Required package: ${x}${x!==He?` (via "${He}")`:""} -Required by: ${Ne} -`,{request:He,issuer:Ne,dependencyName:x}):X=Zi("UNDECLARED_DEPENDENCY",`${P.name} tried to access ${x}, but it isn't declared in its dependencies; this makes the require call ambiguous and unsound. - -Required package: ${x}${x!==He?` (via "${He}")`:""} -Required by: ${P.name}@${P.reference} (via ${Ne}) -`,{request:He,issuer:Ne,issuerLocator:Object.assign({},P),dependencyName:x}));if(F==null){if(z===null||X===null)throw X||new Error("Assertion failed: Expected an error to have been set");F=z;let Le=X.message.replace(/\n.*/g,"");X.message=Le,!w.has(Le)&&o!==0&&(w.add(Le),process.emitWarning(X))}let Z=Array.isArray(F)?{name:F[0],reference:F[1]}:{name:x,reference:F},ie=U(Z);if(!ie.packageLocation)throw Zi("MISSING_DEPENDENCY",`A dependency seems valid but didn't get installed for some reason. This might be caused by a partial install, such as dev vs prod. - -Required package: ${Z.name}@${Z.reference}${Z.name!==He?` (via "${He}")`:""} -Required by: ${P.name}@${P.reference} (via ${Ne}) -`,{request:He,issuer:Ne,dependencyLocator:Object.assign({},Z)});let Pe=ie.packageLocation;C?Ve=J.join(Pe,C):Ve=Pe}else if(J.isAbsolute(Te))Ve=J.normalize(Te);else{if(!Qe)throw Zi("API_ERROR","The resolveToUnqualified function must be called with a valid issuer when the path isn't a builtin nor absolute",{request:He,issuer:Ne});let x=J.resolve(Qe);Qe.match(u)?Ve=J.normalize(J.join(x,Te)):Ve=J.normalize(J.join(J.dirname(x),Te))}return J.normalize(Ve)}function Ee(Te,Qe,ke=ee,He){if(n.test(Te))return Qe;let Ne=le(Qe,ke,He);return Ne?J.normalize(Ne):Qe}function Re(Te,{extensions:Qe=Object.keys(iv.Module._extensions)}={}){let ke=[],He=fe(Te,ke,{extensions:Qe});if(He)return J.normalize(He);{KIe(ke.map(je=>Ae.fromPortablePath(je)));let Ne=cu(Te),Ve=ce(Te);if(Ve){let{packageLocation:je}=U(Ve),x=!0;try{t.fakeFs.accessSync(je)}catch(C){if(C?.code==="ENOENT")x=!1;else{let P=(C?.message??C??"empty exception thrown").replace(/^[A-Z]/,y=>y.toLowerCase());throw Zi("QUALIFIED_PATH_RESOLUTION_FAILED",`Required package exists but could not be accessed (${P}). - -Missing package: ${Ve.name}@${Ve.reference} -Expected package location: ${cu(je)} -`,{unqualifiedPath:Ne,extensions:Qe})}}if(!x){let C=je.includes("/unplugged/")?"Required unplugged package missing from disk. This may happen when switching branches without running installs (unplugged packages must be fully materialized on disk to work).":"Required package missing from disk. If you keep your packages inside your repository then restarting the Node process may be enough. Otherwise, try to run an install first.";throw Zi("QUALIFIED_PATH_RESOLUTION_FAILED",`${C} - -Missing package: ${Ve.name}@${Ve.reference} -Expected package location: ${cu(je)} -`,{unqualifiedPath:Ne,extensions:Qe})}}throw Zi("QUALIFIED_PATH_RESOLUTION_FAILED",`Qualified path resolution failed: we looked for the following paths, but none could be accessed. - -Source path: ${Ne} -${ke.map(je=>`Not found: ${cu(je)} -`).join("")}`,{unqualifiedPath:Ne,extensions:Qe})}}function dt(Te,Qe,ke){if(!Qe)throw new Error("Assertion failed: An issuer is required to resolve private import mappings");let He=UIe({name:Te,base:(0,gm.pathToFileURL)(Ae.fromPortablePath(Qe)),conditions:ke.conditions??ee,readFileSyncFn:ne});if(He instanceof URL)return Re(Ae.toPortablePath((0,gm.fileURLToPath)(He)),{extensions:ke.extensions});if(He.startsWith("#"))throw new Error("Mapping from one private import to another isn't allowed");return H(He,Qe,ke)}function H(Te,Qe,ke={}){try{if(Te.startsWith("#"))return dt(Te,Qe,ke);let{considerBuiltins:He,extensions:Ne,conditions:Ve}=ke,je=te(Te,Qe,{considerBuiltins:He});if(Te==="pnpapi")return je;if(je===null)return null;let x=()=>Qe!==null?oe(Qe):!1,C=(!He||!wk(Te))&&!x()?Ee(Te,je,Ve,Qe):je;return Re(C,{extensions:Ne})}catch(He){throw Object.hasOwn(He,"pnpCode")&&Object.assign(He.data,{request:cu(Te),issuer:Qe&&cu(Qe)}),He}}function at(Te){let Qe=J.normalize(Te),ke=di.resolveVirtual(Qe);return ke!==Qe?ke:null}return{VERSIONS:Be,topLevel:be,getLocator:(Te,Qe)=>Array.isArray(Qe)?{name:Qe[0],reference:Qe[1]}:{name:Te,reference:Qe},getDependencyTreeRoots:()=>[...e.dependencyTreeRoots],getAllLocators(){let Te=[];for(let[Qe,ke]of v)for(let He of ke.keys())Qe!==null&&He!==null&&Te.push({name:Qe,reference:He});return Te},getPackageInformation:Te=>{let Qe=g(Te);if(Qe===null)return null;let ke=Ae.fromPortablePath(Qe.packageLocation);return{...Qe,packageLocation:ke}},findPackageLocator:Te=>ce(Ae.toPortablePath(Te)),resolveToUnqualified:N("resolveToUnqualified",(Te,Qe,ke)=>{let He=Qe!==null?Ae.toPortablePath(Qe):null,Ne=te(Ae.toPortablePath(Te),He,ke);return Ne===null?null:Ae.fromPortablePath(Ne)}),resolveUnqualified:N("resolveUnqualified",(Te,Qe)=>Ae.fromPortablePath(Re(Ae.toPortablePath(Te),Qe))),resolveRequest:N("resolveRequest",(Te,Qe,ke)=>{let He=Qe!==null?Ae.toPortablePath(Qe):null,Ne=H(Ae.toPortablePath(Te),He,ke);return Ne===null?null:Ae.fromPortablePath(Ne)}),resolveVirtual:N("resolveVirtual",Te=>{let Qe=at(Ae.toPortablePath(Te));return Qe!==null?Ae.fromPortablePath(Qe):null})}}St();var JIe=(e,t,r)=>{let o=VB(e),a=_j(o,{basePath:t}),n=Ae.join(t,gr.pnpCjs);return Zj(a,{fakeFs:r,pnpapiResolution:n})};var eq=$e(zIe());qt();var yA={};Jt(yA,{checkManifestCompatibility:()=>XIe,extractBuildRequest:()=>Ck,getExtractHint:()=>tq,hasBindingGyp:()=>rq});Ye();St();function XIe(e){return G.isPackageCompatible(e,cs.getArchitectureSet())}function Ck(e,t,r,{configuration:o}){let a=[];for(let n of["preinstall","install","postinstall"])t.manifest.scripts.has(n)&&a.push({type:0,script:n});return!t.manifest.scripts.has("install")&&t.misc.hasBindingGyp&&a.push({type:1,script:"node-gyp rebuild"}),a.length===0?null:e.linkType!=="HARD"?{skipped:!0,explain:n=>n.reportWarningOnce(6,`${G.prettyLocator(o,e)} lists build scripts, but is referenced through a soft link. Soft links don't support build scripts, so they'll be ignored.`)}:r&&r.built===!1?{skipped:!0,explain:n=>n.reportInfoOnce(5,`${G.prettyLocator(o,e)} lists build scripts, but its build has been explicitly disabled through configuration.`)}:!o.get("enableScripts")&&!r.built?{skipped:!0,explain:n=>n.reportWarningOnce(4,`${G.prettyLocator(o,e)} lists build scripts, but all build scripts have been disabled.`)}:XIe(e)?{skipped:!1,directives:a}:{skipped:!0,explain:n=>n.reportWarningOnce(76,`${G.prettyLocator(o,e)} The ${cs.getArchitectureName()} architecture is incompatible with this package, build skipped.`)}}var DIt=new Set([".exe",".bin",".h",".hh",".hpp",".c",".cc",".cpp",".java",".jar",".node"]);function tq(e){return e.packageFs.getExtractHint({relevantExtensions:DIt})}function rq(e){let t=J.join(e.prefixPath,"binding.gyp");return e.packageFs.existsSync(t)}var ov={};Jt(ov,{getUnpluggedPath:()=>sv});Ye();St();function sv(e,{configuration:t}){return J.resolve(t.get("pnpUnpluggedFolder"),G.slugifyLocator(e))}var SIt=new Set([G.makeIdent(null,"open").identHash,G.makeIdent(null,"opn").identHash]),D0=class{constructor(){this.mode="strict";this.pnpCache=new Map}getCustomDataKey(){return JSON.stringify({name:"PnpLinker",version:2})}supportsPackage(t,r){return this.isEnabled(r)}async findPackageLocation(t,r){if(!this.isEnabled(r))throw new Error("Assertion failed: Expected the PnP linker to be enabled");let o=S0(r.project).cjs;if(!ae.existsSync(o))throw new it(`The project in ${ye.pretty(r.project.configuration,`${r.project.cwd}/package.json`,ye.Type.PATH)} doesn't seem to have been installed - running an install there might help`);let a=_e.getFactoryWithDefault(this.pnpCache,o,()=>_e.dynamicRequire(o,{cachingStrategy:_e.CachingStrategy.FsTime})),n={name:G.stringifyIdent(t),reference:t.reference},u=a.getPackageInformation(n);if(!u)throw new it(`Couldn't find ${G.prettyLocator(r.project.configuration,t)} in the currently installed PnP map - running an install might help`);return Ae.toPortablePath(u.packageLocation)}async findPackageLocator(t,r){if(!this.isEnabled(r))return null;let o=S0(r.project).cjs;if(!ae.existsSync(o))return null;let n=_e.getFactoryWithDefault(this.pnpCache,o,()=>_e.dynamicRequire(o,{cachingStrategy:_e.CachingStrategy.FsTime})).findPackageLocator(Ae.fromPortablePath(t));return n?G.makeLocator(G.parseIdent(n.name),n.reference):null}makeInstaller(t){return new dm(t)}isEnabled(t){return!(t.project.configuration.get("nodeLinker")!=="pnp"||t.project.configuration.get("pnpMode")!==this.mode)}},dm=class{constructor(t){this.opts=t;this.mode="strict";this.asyncActions=new _e.AsyncActions(10);this.packageRegistry=new Map;this.virtualTemplates=new Map;this.isESMLoaderRequired=!1;this.customData={store:new Map};this.unpluggedPaths=new Set;this.opts=t}attachCustomData(t){this.customData=t}async installPackage(t,r,o){let a=G.stringifyIdent(t),n=t.reference,u=!!this.opts.project.tryWorkspaceByLocator(t),A=G.isVirtualLocator(t),p=t.peerDependencies.size>0&&!A,h=!p&&!u,w=!p&&t.linkType!=="SOFT",I,v;if(h||w){let ee=A?G.devirtualizeLocator(t):t;I=this.customData.store.get(ee.locatorHash),typeof I>"u"&&(I=await PIt(r),t.linkType==="HARD"&&this.customData.store.set(ee.locatorHash,I)),I.manifest.type==="module"&&(this.isESMLoaderRequired=!0),v=this.opts.project.getDependencyMeta(ee,t.version)}let b=h?Ck(t,I,v,{configuration:this.opts.project.configuration}):null,E=w?await this.unplugPackageIfNeeded(t,I,r,v,o):r.packageFs;if(J.isAbsolute(r.prefixPath))throw new Error(`Assertion failed: Expected the prefix path (${r.prefixPath}) to be relative to the parent`);let R=J.resolve(E.getRealPath(),r.prefixPath),N=nq(this.opts.project.cwd,R),U=new Map,V=new Set;if(A){for(let ee of t.peerDependencies.values())U.set(G.stringifyIdent(ee),null),V.add(G.stringifyIdent(ee));if(!u){let ee=G.devirtualizeLocator(t);this.virtualTemplates.set(ee.locatorHash,{location:nq(this.opts.project.cwd,di.resolveVirtual(R)),locator:ee})}}return _e.getMapWithDefault(this.packageRegistry,a).set(n,{packageLocation:N,packageDependencies:U,packagePeers:V,linkType:t.linkType,discardFromLookup:r.discardFromLookup||!1}),{packageLocation:R,buildRequest:b}}async attachInternalDependencies(t,r){let o=this.getPackageInformation(t);for(let[a,n]of r){let u=G.areIdentsEqual(a,n)?n.reference:[G.stringifyIdent(n),n.reference];o.packageDependencies.set(G.stringifyIdent(a),u)}}async attachExternalDependents(t,r){for(let o of r)this.getDiskInformation(o).packageDependencies.set(G.stringifyIdent(t),t.reference)}async finalizeInstall(){if(this.opts.project.configuration.get("pnpMode")!==this.mode)return;let t=S0(this.opts.project);if(this.isEsmEnabled()||await ae.removePromise(t.esmLoader),this.opts.project.configuration.get("nodeLinker")!=="pnp"){await ae.removePromise(t.cjs),await ae.removePromise(t.data),await ae.removePromise(t.esmLoader),await ae.removePromise(this.opts.project.configuration.get("pnpUnpluggedFolder"));return}for(let{locator:w,location:I}of this.virtualTemplates.values())_e.getMapWithDefault(this.packageRegistry,G.stringifyIdent(w)).set(w.reference,{packageLocation:I,packageDependencies:new Map,packagePeers:new Set,linkType:"SOFT",discardFromLookup:!1});this.packageRegistry.set(null,new Map([[null,this.getPackageInformation(this.opts.project.topLevelWorkspace.anchoredLocator)]]));let r=this.opts.project.configuration.get("pnpFallbackMode"),o=this.opts.project.workspaces.map(({anchoredLocator:w})=>({name:G.stringifyIdent(w),reference:w.reference})),a=r!=="none",n=[],u=new Map,A=_e.buildIgnorePattern([".yarn/sdks/**",...this.opts.project.configuration.get("pnpIgnorePatterns")]),p=this.packageRegistry,h=this.opts.project.configuration.get("pnpShebang");if(r==="dependencies-only")for(let w of this.opts.project.storedPackages.values())this.opts.project.tryWorkspaceByLocator(w)&&n.push({name:G.stringifyIdent(w),reference:w.reference});return await this.asyncActions.wait(),await this.finalizeInstallWithPnp({dependencyTreeRoots:o,enableTopLevelFallback:a,fallbackExclusionList:n,fallbackPool:u,ignorePattern:A,packageRegistry:p,shebang:h}),{customData:this.customData}}async transformPnpSettings(t){}isEsmEnabled(){if(this.opts.project.configuration.sources.has("pnpEnableEsmLoader"))return this.opts.project.configuration.get("pnpEnableEsmLoader");if(this.isESMLoaderRequired)return!0;for(let t of this.opts.project.workspaces)if(t.manifest.type==="module")return!0;return!1}async finalizeInstallWithPnp(t){let r=S0(this.opts.project),o=await this.locateNodeModules(t.ignorePattern);if(o.length>0){this.opts.report.reportWarning(31,"One or more node_modules have been detected and will be removed. This operation may take some time.");for(let n of o)await ae.removePromise(n)}if(await this.transformPnpSettings(t),this.opts.project.configuration.get("pnpEnableInlining")){let n=BIe(t);await ae.changeFilePromise(r.cjs,n,{automaticNewlines:!0,mode:493}),await ae.removePromise(r.data)}else{let{dataFile:n,loaderFile:u}=vIe(t);await ae.changeFilePromise(r.cjs,u,{automaticNewlines:!0,mode:493}),await ae.changeFilePromise(r.data,n,{automaticNewlines:!0,mode:420})}this.isEsmEnabled()&&(this.opts.report.reportWarning(0,"ESM support for PnP uses the experimental loader API and is therefore experimental"),await ae.changeFilePromise(r.esmLoader,(0,eq.default)(),{automaticNewlines:!0,mode:420}));let a=this.opts.project.configuration.get("pnpUnpluggedFolder");if(this.unpluggedPaths.size===0)await ae.removePromise(a);else for(let n of await ae.readdirPromise(a)){let u=J.resolve(a,n);this.unpluggedPaths.has(u)||await ae.removePromise(u)}}async locateNodeModules(t){let r=[],o=t?new RegExp(t):null;for(let a of this.opts.project.workspaces){let n=J.join(a.cwd,"node_modules");if(o&&o.test(J.relative(this.opts.project.cwd,a.cwd))||!ae.existsSync(n))continue;let u=await ae.readdirPromise(n,{withFileTypes:!0}),A=u.filter(p=>!p.isDirectory()||p.name===".bin"||!p.name.startsWith("."));if(A.length===u.length)r.push(n);else for(let p of A)r.push(J.join(n,p.name))}return r}async unplugPackageIfNeeded(t,r,o,a,n){return this.shouldBeUnplugged(t,r,a)?this.unplugPackage(t,o,n):o.packageFs}shouldBeUnplugged(t,r,o){return typeof o.unplugged<"u"?o.unplugged:SIt.has(t.identHash)||t.conditions!=null?!0:r.manifest.preferUnplugged!==null?r.manifest.preferUnplugged:!!(Ck(t,r,o,{configuration:this.opts.project.configuration})?.skipped===!1||r.misc.extractHint)}async unplugPackage(t,r,o){let a=sv(t,{configuration:this.opts.project.configuration});return this.opts.project.disabledLocators.has(t.locatorHash)?new Hu(a,{baseFs:r.packageFs,pathUtils:J}):(this.unpluggedPaths.add(a),o.holdFetchResult(this.asyncActions.set(t.locatorHash,async()=>{let n=J.join(a,r.prefixPath,".ready");await ae.existsPromise(n)||(this.opts.project.storedBuildState.delete(t.locatorHash),await ae.mkdirPromise(a,{recursive:!0}),await ae.copyPromise(a,Bt.dot,{baseFs:r.packageFs,overwrite:!1}),await ae.writeFilePromise(n,""))})),new hn(a))}getPackageInformation(t){let r=G.stringifyIdent(t),o=t.reference,a=this.packageRegistry.get(r);if(!a)throw new Error(`Assertion failed: The package information store should have been available (for ${G.prettyIdent(this.opts.project.configuration,t)})`);let n=a.get(o);if(!n)throw new Error(`Assertion failed: The package information should have been available (for ${G.prettyLocator(this.opts.project.configuration,t)})`);return n}getDiskInformation(t){let r=_e.getMapWithDefault(this.packageRegistry,"@@disk"),o=nq(this.opts.project.cwd,t);return _e.getFactoryWithDefault(r,o,()=>({packageLocation:o,packageDependencies:new Map,packagePeers:new Set,linkType:"SOFT",discardFromLookup:!1}))}};function nq(e,t){let r=J.relative(e,t);return r.match(/^\.{0,2}\//)||(r=`./${r}`),r.replace(/\/?$/,"/")}async function PIt(e){let t=await Ot.tryFind(e.prefixPath,{baseFs:e.packageFs})??new Ot,r=new Set(["preinstall","install","postinstall"]);for(let o of t.scripts.keys())r.has(o)||t.scripts.delete(o);return{manifest:{scripts:t.scripts,preferUnplugged:t.preferUnplugged,type:t.type},misc:{extractHint:tq(e),hasBindingGyp:rq(e)}}}Ye();Ye();qt();var ZIe=$e(Zo());var P0=class extends ut{constructor(){super(...arguments);this.all=he.Boolean("-A,--all",!1,{description:"Unplug direct dependencies from the entire project"});this.recursive=he.Boolean("-R,--recursive",!1,{description:"Unplug both direct and transitive dependencies"});this.json=he.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"});this.patterns=he.Rest()}async execute(){let r=await Ke.find(this.context.cwd,this.context.plugins),{project:o,workspace:a}=await Pt.find(r,this.context.cwd),n=await Nr.find(r);if(!a)throw new tr(o.cwd,this.context.cwd);if(r.get("nodeLinker")!=="pnp")throw new it("This command can only be used if the `nodeLinker` option is set to `pnp`");await o.restoreInstallState();let u=new Set(this.patterns),A=this.patterns.map(b=>{let E=G.parseDescriptor(b),R=E.range!=="unknown"?E:G.makeDescriptor(E,"*");if(!Qr.validRange(R.range))throw new it(`The range of the descriptor patterns must be a valid semver range (${G.prettyDescriptor(r,R)})`);return N=>{let U=G.stringifyIdent(N);return!ZIe.default.isMatch(U,G.stringifyIdent(R))||N.version&&!Qr.satisfiesWithPrereleases(N.version,R.range)?!1:(u.delete(b),!0)}}),p=()=>{let b=[];for(let E of o.storedPackages.values())!o.tryWorkspaceByLocator(E)&&!G.isVirtualLocator(E)&&A.some(R=>R(E))&&b.push(E);return b},h=b=>{let E=new Set,R=[],N=(U,V)=>{if(!E.has(U.locatorHash)&&(E.add(U.locatorHash),!o.tryWorkspaceByLocator(U)&&A.some(ee=>ee(U))&&R.push(U),!(V>0&&!this.recursive)))for(let ee of U.dependencies.values()){let le=o.storedResolutions.get(ee.descriptorHash);if(!le)throw new Error("Assertion failed: The resolution should have been registered");let fe=o.storedPackages.get(le);if(!fe)throw new Error("Assertion failed: The package should have been registered");N(fe,V+1)}};for(let U of b)N(U.anchoredPackage,0);return R},w,I;if(this.all&&this.recursive?(w=p(),I="the project"):this.all?(w=h(o.workspaces),I="any workspace"):(w=h([a]),I="this workspace"),u.size>1)throw new it(`Patterns ${ye.prettyList(r,u,ye.Type.CODE)} don't match any packages referenced by ${I}`);if(u.size>0)throw new it(`Pattern ${ye.prettyList(r,u,ye.Type.CODE)} doesn't match any packages referenced by ${I}`);w=_e.sortMap(w,b=>G.stringifyLocator(b));let v=await Nt.start({configuration:r,stdout:this.context.stdout,json:this.json},async b=>{for(let E of w){let R=E.version??"unknown",N=o.topLevelWorkspace.manifest.ensureDependencyMeta(G.makeDescriptor(E,R));N.unplugged=!0,b.reportInfo(0,`Will unpack ${G.prettyLocator(r,E)} to ${ye.pretty(r,sv(E,{configuration:r}),ye.Type.PATH)}`),b.reportJson({locator:G.stringifyLocator(E),version:R})}await o.topLevelWorkspace.persistManifest(),this.json||b.reportSeparator()});return v.hasErrors()?v.exitCode():await o.installWithNewReport({json:this.json,stdout:this.context.stdout},{cache:n})}};P0.paths=[["unplug"]],P0.usage=nt.Usage({description:"force the unpacking of a list of packages",details:"\n This command will add the selectors matching the specified patterns to the list of packages that must be unplugged when installed.\n\n A package being unplugged means that instead of being referenced directly through its archive, it will be unpacked at install time in the directory configured via `pnpUnpluggedFolder`. Note that unpacking packages this way is generally not recommended because it'll make it harder to store your packages within the repository. However, it's a good approach to quickly and safely debug some packages, and can even sometimes be required depending on the context (for example when the package contains shellscripts).\n\n Running the command will set a persistent flag inside your top-level `package.json`, in the `dependenciesMeta` field. As such, to undo its effects, you'll need to revert the changes made to the manifest and run `yarn install` to apply the modification.\n\n By default, only direct dependencies from the current workspace are affected. If `-A,--all` is set, direct dependencies from the entire project are affected. Using the `-R,--recursive` flag will affect transitive dependencies as well as direct ones.\n\n This command accepts glob patterns inside the scope and name components (not the range). Make sure to escape the patterns to prevent your own shell from trying to expand them.\n ",examples:[["Unplug the lodash dependency from the active workspace","yarn unplug lodash"],["Unplug all instances of lodash referenced by any workspace","yarn unplug lodash -A"],["Unplug all instances of lodash referenced by the active workspace and its dependencies","yarn unplug lodash -R"],["Unplug all instances of lodash, anywhere","yarn unplug lodash -AR"],["Unplug one specific version of lodash","yarn unplug lodash@1.2.3"],["Unplug all packages with the `@babel` scope","yarn unplug '@babel/*'"],["Unplug all packages (only for testing, not recommended)","yarn unplug -R '*'"]]});var S0=e=>({cjs:J.join(e.cwd,gr.pnpCjs),data:J.join(e.cwd,gr.pnpData),esmLoader:J.join(e.cwd,gr.pnpEsmLoader)}),e1e=e=>/\s/.test(e)?JSON.stringify(e):e;async function xIt(e,t,r){let o=/\s*--require\s+\S*\.pnp\.c?js\s*/g,a=/\s*--experimental-loader\s+\S*\.pnp\.loader\.mjs\s*/,n=(t.NODE_OPTIONS??"").replace(o," ").replace(a," ").trim();if(e.configuration.get("nodeLinker")!=="pnp"){t.NODE_OPTIONS=n;return}let u=S0(e),A=`--require ${e1e(Ae.fromPortablePath(u.cjs))}`;ae.existsSync(u.esmLoader)&&(A=`${A} --experimental-loader ${(0,$Ie.pathToFileURL)(Ae.fromPortablePath(u.esmLoader)).href}`),ae.existsSync(u.cjs)&&(t.NODE_OPTIONS=n?`${A} ${n}`:A)}async function bIt(e,t){let r=S0(e);t(r.cjs),t(r.data),t(r.esmLoader),t(e.configuration.get("pnpUnpluggedFolder"))}var QIt={hooks:{populateYarnPaths:bIt,setupScriptEnvironment:xIt},configuration:{nodeLinker:{description:'The linker used for installing Node packages, one of: "pnp", "node-modules"',type:"STRING",default:"pnp"},winLinkType:{description:"Whether Yarn should use Windows Junctions or symlinks when creating links on Windows.",type:"STRING",values:["junctions","symlinks"],default:"junctions"},pnpMode:{description:"If 'strict', generates standard PnP maps. If 'loose', merges them with the n_m resolution.",type:"STRING",default:"strict"},pnpShebang:{description:"String to prepend to the generated PnP script",type:"STRING",default:"#!/usr/bin/env node"},pnpIgnorePatterns:{description:"Array of glob patterns; files matching them will use the classic resolution",type:"STRING",default:[],isArray:!0},pnpEnableEsmLoader:{description:"If true, Yarn will generate an ESM loader (`.pnp.loader.mjs`). If this is not explicitly set Yarn tries to automatically detect whether ESM support is required.",type:"BOOLEAN",default:!1},pnpEnableInlining:{description:"If true, the PnP data will be inlined along with the generated loader",type:"BOOLEAN",default:!0},pnpFallbackMode:{description:"If true, the generated PnP loader will follow the top-level fallback rule",type:"STRING",default:"dependencies-only"},pnpUnpluggedFolder:{description:"Folder where the unplugged packages must be stored",type:"ABSOLUTE_PATH",default:"./.yarn/unplugged"}},linkers:[D0],commands:[P0]},kIt=QIt;var l1e=$e(s1e());qt();var Aq=$e(Ie("crypto")),c1e=$e(Ie("fs")),u1e=1,Di="node_modules",Ik=".bin",A1e=".yarn-state.yml",JIt=1e3,fq=(o=>(o.CLASSIC="classic",o.HARDLINKS_LOCAL="hardlinks-local",o.HARDLINKS_GLOBAL="hardlinks-global",o))(fq||{}),av=class{constructor(){this.installStateCache=new Map}getCustomDataKey(){return JSON.stringify({name:"NodeModulesLinker",version:3})}supportsPackage(t,r){return this.isEnabled(r)}async findPackageLocation(t,r){if(!this.isEnabled(r))throw new Error("Assertion failed: Expected the node-modules linker to be enabled");let o=r.project.tryWorkspaceByLocator(t);if(o)return o.cwd;let a=await _e.getFactoryWithDefault(this.installStateCache,r.project.cwd,async()=>await uq(r.project,{unrollAliases:!0}));if(a===null)throw new it("Couldn't find the node_modules state file - running an install might help (findPackageLocation)");let n=a.locatorMap.get(G.stringifyLocator(t));if(!n){let p=new it(`Couldn't find ${G.prettyLocator(r.project.configuration,t)} in the currently installed node_modules map - running an install might help`);throw p.code="LOCATOR_NOT_INSTALLED",p}let u=n.locations.sort((p,h)=>p.split(J.sep).length-h.split(J.sep).length),A=J.join(r.project.configuration.startingCwd,Di);return u.find(p=>J.contains(A,p))||n.locations[0]}async findPackageLocator(t,r){if(!this.isEnabled(r))return null;let o=await _e.getFactoryWithDefault(this.installStateCache,r.project.cwd,async()=>await uq(r.project,{unrollAliases:!0}));if(o===null)return null;let{locationRoot:a,segments:n}=Bk(J.resolve(t),{skipPrefix:r.project.cwd}),u=o.locationTree.get(a);if(!u)return null;let A=u.locator;for(let p of n){if(u=u.children.get(p),!u)break;A=u.locator||A}return G.parseLocator(A)}makeInstaller(t){return new cq(t)}isEnabled(t){return t.project.configuration.get("nodeLinker")==="node-modules"}},cq=class{constructor(t){this.opts=t;this.localStore=new Map;this.realLocatorChecksums=new Map;this.customData={store:new Map}}attachCustomData(t){this.customData=t}async installPackage(t,r){let o=J.resolve(r.packageFs.getRealPath(),r.prefixPath),a=this.customData.store.get(t.locatorHash);if(typeof a>"u"&&(a=await VIt(t,r),t.linkType==="HARD"&&this.customData.store.set(t.locatorHash,a)),!G.isPackageCompatible(t,this.opts.project.configuration.getSupportedArchitectures()))return{packageLocation:null,buildRequest:null};let n=new Map,u=new Set;n.has(G.stringifyIdent(t))||n.set(G.stringifyIdent(t),t.reference);let A=t;if(G.isVirtualLocator(t)){A=G.devirtualizeLocator(t);for(let w of t.peerDependencies.values())n.set(G.stringifyIdent(w),null),u.add(G.stringifyIdent(w))}let p={packageLocation:`${Ae.fromPortablePath(o)}/`,packageDependencies:n,packagePeers:u,linkType:t.linkType,discardFromLookup:r.discardFromLookup??!1};this.localStore.set(t.locatorHash,{pkg:t,customPackageData:a,dependencyMeta:this.opts.project.getDependencyMeta(t,t.version),pnpNode:p});let h=r.checksum?r.checksum.substring(r.checksum.indexOf("/")+1):null;return this.realLocatorChecksums.set(A.locatorHash,h),{packageLocation:o,buildRequest:null}}async attachInternalDependencies(t,r){let o=this.localStore.get(t.locatorHash);if(typeof o>"u")throw new Error("Assertion failed: Expected information object to have been registered");for(let[a,n]of r){let u=G.areIdentsEqual(a,n)?n.reference:[G.stringifyIdent(n),n.reference];o.pnpNode.packageDependencies.set(G.stringifyIdent(a),u)}}async attachExternalDependents(t,r){throw new Error("External dependencies haven't been implemented for the node-modules linker")}async finalizeInstall(){if(this.opts.project.configuration.get("nodeLinker")!=="node-modules")return;let t=new di({baseFs:new Vl({maxOpenFiles:80,readOnlyArchives:!0})}),r=await uq(this.opts.project),o=this.opts.project.configuration.get("nmMode");(r===null||o!==r.nmMode)&&(this.opts.project.storedBuildState.clear(),r={locatorMap:new Map,binSymlinks:new Map,locationTree:new Map,nmMode:o,mtimeMs:0});let a=new Map(this.opts.project.workspaces.map(v=>{let b=this.opts.project.configuration.get("nmHoistingLimits");try{b=_e.validateEnum(WB,v.manifest.installConfig?.hoistingLimits??b)}catch{let R=G.prettyWorkspace(this.opts.project.configuration,v);this.opts.report.reportWarning(57,`${R}: Invalid 'installConfig.hoistingLimits' value. Expected one of ${Object.values(WB).join(", ")}, using default: "${b}"`)}return[v.relativeCwd,b]})),n=new Map(this.opts.project.workspaces.map(v=>{let b=this.opts.project.configuration.get("nmSelfReferences");return b=v.manifest.installConfig?.selfReferences??b,[v.relativeCwd,b]})),u={VERSIONS:{std:1},topLevel:{name:null,reference:null},getLocator:(v,b)=>Array.isArray(b)?{name:b[0],reference:b[1]}:{name:v,reference:b},getDependencyTreeRoots:()=>this.opts.project.workspaces.map(v=>{let b=v.anchoredLocator;return{name:G.stringifyIdent(b),reference:b.reference}}),getPackageInformation:v=>{let b=v.reference===null?this.opts.project.topLevelWorkspace.anchoredLocator:G.makeLocator(G.parseIdent(v.name),v.reference),E=this.localStore.get(b.locatorHash);if(typeof E>"u")throw new Error("Assertion failed: Expected the package reference to have been registered");return E.pnpNode},findPackageLocator:v=>{let b=this.opts.project.tryWorkspaceByCwd(Ae.toPortablePath(v));if(b!==null){let E=b.anchoredLocator;return{name:G.stringifyIdent(E),reference:E.reference}}throw new Error("Assertion failed: Unimplemented")},resolveToUnqualified:()=>{throw new Error("Assertion failed: Unimplemented")},resolveUnqualified:()=>{throw new Error("Assertion failed: Unimplemented")},resolveRequest:()=>{throw new Error("Assertion failed: Unimplemented")},resolveVirtual:v=>Ae.fromPortablePath(di.resolveVirtual(Ae.toPortablePath(v)))},{tree:A,errors:p,preserveSymlinksRequired:h}=KB(u,{pnpifyFs:!1,validateExternalSoftLinks:!0,hoistingLimitsByCwd:a,project:this.opts.project,selfReferencesByCwd:n});if(!A){for(let{messageName:v,text:b}of p)this.opts.report.reportError(v,b);return}let w=Mj(A);await t1t(r,w,{baseFs:t,project:this.opts.project,report:this.opts.report,realLocatorChecksums:this.realLocatorChecksums,loadManifest:async v=>{let b=G.parseLocator(v),E=this.localStore.get(b.locatorHash);if(typeof E>"u")throw new Error("Assertion failed: Expected the slot to exist");return E.customPackageData.manifest}});let I=[];for(let[v,b]of w.entries()){if(g1e(v))continue;let E=G.parseLocator(v),R=this.localStore.get(E.locatorHash);if(typeof R>"u")throw new Error("Assertion failed: Expected the slot to exist");if(this.opts.project.tryWorkspaceByLocator(R.pkg))continue;let N=yA.extractBuildRequest(R.pkg,R.customPackageData,R.dependencyMeta,{configuration:this.opts.project.configuration});!N||I.push({buildLocations:b.locations,locator:E,buildRequest:N})}return h&&this.opts.report.reportWarning(72,`The application uses portals and that's why ${ye.pretty(this.opts.project.configuration,"--preserve-symlinks",ye.Type.CODE)} Node option is required for launching it`),{customData:this.customData,records:I}}};async function VIt(e,t){let r=await Ot.tryFind(t.prefixPath,{baseFs:t.packageFs})??new Ot,o=new Set(["preinstall","install","postinstall"]);for(let a of r.scripts.keys())o.has(a)||r.scripts.delete(a);return{manifest:{bin:r.bin,scripts:r.scripts},misc:{hasBindingGyp:yA.hasBindingGyp(t)}}}async function zIt(e,t,r,o,{installChangedByUser:a}){let n="";n+=`# Warning: This file is automatically generated. Removing it is fine, but will -`,n+=`# cause your node_modules installation to become invalidated. -`,n+=` -`,n+=`__metadata: -`,n+=` version: ${u1e} -`,n+=` nmMode: ${o.value} -`;let u=Array.from(t.keys()).sort(),A=G.stringifyLocator(e.topLevelWorkspace.anchoredLocator);for(let w of u){let I=t.get(w);n+=` -`,n+=`${JSON.stringify(w)}: -`,n+=` locations: -`;for(let v of I.locations){let b=J.contains(e.cwd,v);if(b===null)throw new Error(`Assertion failed: Expected the path to be within the project (${v})`);n+=` - ${JSON.stringify(b)} -`}if(I.aliases.length>0){n+=` aliases: -`;for(let v of I.aliases)n+=` - ${JSON.stringify(v)} -`}if(w===A&&r.size>0){n+=` bin: -`;for(let[v,b]of r){let E=J.contains(e.cwd,v);if(E===null)throw new Error(`Assertion failed: Expected the path to be within the project (${v})`);n+=` ${JSON.stringify(E)}: -`;for(let[R,N]of b){let U=J.relative(J.join(v,Di),N);n+=` ${JSON.stringify(R)}: ${JSON.stringify(U)} -`}}}}let p=e.cwd,h=J.join(p,Di,A1e);a&&await ae.removePromise(h),await ae.changeFilePromise(h,n,{automaticNewlines:!0})}async function uq(e,{unrollAliases:t=!1}={}){let r=e.cwd,o=J.join(r,Di,A1e),a;try{a=await ae.statPromise(o)}catch{}if(!a)return null;let n=Ji(await ae.readFilePromise(o,"utf8"));if(n.__metadata.version>u1e)return null;let u=n.__metadata.nmMode||"classic",A=new Map,p=new Map;delete n.__metadata;for(let[h,w]of Object.entries(n)){let I=w.locations.map(b=>J.join(r,b)),v=w.bin;if(v)for(let[b,E]of Object.entries(v)){let R=J.join(r,Ae.toPortablePath(b)),N=_e.getMapWithDefault(p,R);for(let[U,V]of Object.entries(E))N.set(bi(U),Ae.toPortablePath([R,Di,V].join(J.sep)))}if(A.set(h,{target:Bt.dot,linkType:"HARD",locations:I,aliases:w.aliases||[]}),t&&w.aliases)for(let b of w.aliases){let{scope:E,name:R}=G.parseLocator(h),N=G.makeLocator(G.makeIdent(E,R),b),U=G.stringifyLocator(N);A.set(U,{target:Bt.dot,linkType:"HARD",locations:I,aliases:[]})}}return{locatorMap:A,binSymlinks:p,locationTree:f1e(A,{skipPrefix:e.cwd}),nmMode:u,mtimeMs:a.mtimeMs}}var Gw=async(e,t)=>{if(e.split(J.sep).indexOf(Di)<0)throw new Error(`Assertion failed: trying to remove dir that doesn't contain node_modules: ${e}`);try{if(!t.innerLoop){let o=t.allowSymlink?await ae.statPromise(e):await ae.lstatPromise(e);if(t.allowSymlink&&!o.isDirectory()||!t.allowSymlink&&o.isSymbolicLink()){await ae.unlinkPromise(e);return}}let r=await ae.readdirPromise(e,{withFileTypes:!0});for(let o of r){let a=J.join(e,bi(o.name));o.isDirectory()?(o.name!==Di||t&&t.innerLoop)&&await Gw(a,{innerLoop:!0,contentsOnly:!1}):await ae.unlinkPromise(a)}t.contentsOnly||await ae.rmdirPromise(e)}catch(r){if(r.code!=="ENOENT"&&r.code!=="ENOTEMPTY")throw r}},o1e=4,Bk=(e,{skipPrefix:t})=>{let r=J.contains(t,e);if(r===null)throw new Error(`Assertion failed: Writing attempt prevented to ${e} which is outside project root: ${t}`);let o=r.split(J.sep).filter(p=>p!==""),a=o.indexOf(Di),n=o.slice(0,a).join(J.sep),u=J.join(t,n),A=o.slice(a);return{locationRoot:u,segments:A}},f1e=(e,{skipPrefix:t})=>{let r=new Map;if(e===null)return r;let o=()=>({children:new Map,linkType:"HARD"});for(let[a,n]of e.entries()){if(n.linkType==="SOFT"&&J.contains(t,n.target)!==null){let A=_e.getFactoryWithDefault(r,n.target,o);A.locator=a,A.linkType=n.linkType}for(let u of n.locations){let{locationRoot:A,segments:p}=Bk(u,{skipPrefix:t}),h=_e.getFactoryWithDefault(r,A,o);for(let w=0;w<p.length;++w){let I=p[w];if(I!=="."){let v=_e.getFactoryWithDefault(h.children,I,o);h.children.set(I,v),h=v}w===p.length-1&&(h.locator=a,h.linkType=n.linkType)}}}return r},pq=async(e,t,r)=>{if(process.platform==="win32"&&r==="junctions"){let o;try{o=await ae.lstatPromise(e)}catch{}if(!o||o.isDirectory()){await ae.symlinkPromise(e,t,"junction");return}}await ae.symlinkPromise(J.relative(J.dirname(t),e),t)};async function p1e(e,t,r){let o=J.join(e,bi(`${Aq.default.randomBytes(16).toString("hex")}.tmp`));try{await ae.writeFilePromise(o,r);try{await ae.linkPromise(o,t)}catch{}}finally{await ae.unlinkPromise(o)}}async function XIt({srcPath:e,dstPath:t,entry:r,globalHardlinksStore:o,baseFs:a,nmMode:n}){if(r.kind===h1e.FILE){if(n.value==="hardlinks-global"&&o&&r.digest){let A=J.join(o,r.digest.substring(0,2),`${r.digest.substring(2)}.dat`),p;try{let h=await ae.statPromise(A);if(h&&(!r.mtimeMs||h.mtimeMs>r.mtimeMs||h.mtimeMs<r.mtimeMs-JIt))if(await wn.checksumFile(A,{baseFs:ae,algorithm:"sha1"})!==r.digest){let I=J.join(o,bi(`${Aq.default.randomBytes(16).toString("hex")}.tmp`));await ae.renamePromise(A,I);let v=await a.readFilePromise(e);await ae.writeFilePromise(I,v);try{await ae.linkPromise(I,A),r.mtimeMs=new Date().getTime(),await ae.unlinkPromise(I)}catch{}}else r.mtimeMs||(r.mtimeMs=Math.ceil(h.mtimeMs));await ae.linkPromise(A,t),p=!0}catch{p=!1}if(!p){let h=await a.readFilePromise(e);await p1e(o,A,h),r.mtimeMs=new Date().getTime();try{await ae.linkPromise(A,t)}catch(w){w&&w.code&&w.code=="EXDEV"&&(n.value="hardlinks-local",await a.copyFilePromise(e,t))}}}else await a.copyFilePromise(e,t);let u=r.mode&511;u!==420&&await ae.chmodPromise(t,u)}}var h1e=(o=>(o.FILE="file",o.DIRECTORY="directory",o.SYMLINK="symlink",o))(h1e||{}),ZIt=async(e,t,{baseFs:r,globalHardlinksStore:o,nmMode:a,windowsLinkType:n,packageChecksum:u})=>{await ae.mkdirPromise(e,{recursive:!0});let A=async(w=Bt.dot)=>{let I=J.join(t,w),v=await r.readdirPromise(I,{withFileTypes:!0}),b=new Map;for(let E of v){let R=J.join(w,E.name),N,U=J.join(I,E.name);if(E.isFile()){if(N={kind:"file",mode:(await r.lstatPromise(U)).mode},a.value==="hardlinks-global"){let V=await wn.checksumFile(U,{baseFs:r,algorithm:"sha1"});N.digest=V}}else if(E.isDirectory())N={kind:"directory"};else if(E.isSymbolicLink())N={kind:"symlink",symlinkTo:await r.readlinkPromise(U)};else throw new Error(`Unsupported file type (file: ${U}, mode: 0o${await r.statSync(U).mode.toString(8).padStart(6,"0")})`);if(b.set(R,N),E.isDirectory()&&R!==Di){let V=await A(R);for(let[ee,le]of V)b.set(ee,le)}}return b},p;if(a.value==="hardlinks-global"&&o&&u){let w=J.join(o,u.substring(0,2),`${u.substring(2)}.json`);try{p=new Map(Object.entries(JSON.parse(await ae.readFilePromise(w,"utf8"))))}catch{p=await A()}}else p=await A();let h=!1;for(let[w,I]of p){let v=J.join(t,w),b=J.join(e,w);if(I.kind==="directory")await ae.mkdirPromise(b,{recursive:!0});else if(I.kind==="file"){let E=I.mtimeMs;await XIt({srcPath:v,dstPath:b,entry:I,nmMode:a,baseFs:r,globalHardlinksStore:o}),I.mtimeMs!==E&&(h=!0)}else I.kind==="symlink"&&await pq(J.resolve(J.dirname(b),I.symlinkTo),b,n)}if(a.value==="hardlinks-global"&&o&&h&&u){let w=J.join(o,u.substring(0,2),`${u.substring(2)}.json`);await ae.removePromise(w),await p1e(o,w,Buffer.from(JSON.stringify(Object.fromEntries(p))))}};function $It(e,t,r,o){let a=new Map,n=new Map,u=new Map,A=!1,p=(h,w,I,v,b)=>{let E=!0,R=J.join(h,w),N=new Set;if(w===Di||w.startsWith("@")){let V;try{V=ae.statSync(R)}catch{}E=!!V,V?V.mtimeMs>r?(A=!0,N=new Set(ae.readdirSync(R))):N=new Set(I.children.get(w).children.keys()):A=!0;let ee=t.get(h);if(ee){let le=J.join(h,Di,Ik),fe;try{fe=ae.statSync(le)}catch{}if(!fe)A=!0;else if(fe.mtimeMs>r){A=!0;let de=new Set(ae.readdirSync(le)),ge=new Map;n.set(h,ge);for(let[oe,Be]of ee)de.has(oe)&&ge.set(oe,Be)}else n.set(h,ee)}}else E=b.has(w);let U=I.children.get(w);if(E){let{linkType:V,locator:ee}=U,le={children:new Map,linkType:V,locator:ee};if(v.children.set(w,le),ee){let fe=_e.getSetWithDefault(u,ee);fe.add(R),u.set(ee,fe)}for(let fe of U.children.keys())p(R,fe,U,le,N)}else U.locator&&o.storedBuildState.delete(G.parseLocator(U.locator).locatorHash)};for(let[h,w]of e){let{linkType:I,locator:v}=w,b={children:new Map,linkType:I,locator:v};if(a.set(h,b),v){let E=_e.getSetWithDefault(u,w.locator);E.add(h),u.set(w.locator,E)}w.children.has(Di)&&p(h,Di,w,b,new Set)}return{locationTree:a,binSymlinks:n,locatorLocations:u,installChangedByUser:A}}function g1e(e){let t=G.parseDescriptor(e);return G.isVirtualDescriptor(t)&&(t=G.devirtualizeDescriptor(t)),t.range.startsWith("link:")}async function e1t(e,t,r,{loadManifest:o}){let a=new Map;for(let[A,{locations:p}]of e){let h=g1e(A)?null:await o(A,p[0]),w=new Map;if(h)for(let[I,v]of h.bin){let b=J.join(p[0],v);v!==""&&ae.existsSync(b)&&w.set(I,v)}a.set(A,w)}let n=new Map,u=(A,p,h)=>{let w=new Map,I=J.contains(r,A);if(h.locator&&I!==null){let v=a.get(h.locator);for(let[b,E]of v){let R=J.join(A,Ae.toPortablePath(E));w.set(bi(b),R)}for(let[b,E]of h.children){let R=J.join(A,b),N=u(R,R,E);N.size>0&&n.set(A,new Map([...n.get(A)||new Map,...N]))}}else for(let[v,b]of h.children){let E=u(J.join(A,v),p,b);for(let[R,N]of E)w.set(R,N)}return w};for(let[A,p]of t){let h=u(A,A,p);h.size>0&&n.set(A,new Map([...n.get(A)||new Map,...h]))}return n}var a1e=(e,t)=>{if(!e||!t)return e===t;let r=G.parseLocator(e);G.isVirtualLocator(r)&&(r=G.devirtualizeLocator(r));let o=G.parseLocator(t);return G.isVirtualLocator(o)&&(o=G.devirtualizeLocator(o)),G.areLocatorsEqual(r,o)};function hq(e){return J.join(e.get("globalFolder"),"store")}async function t1t(e,t,{baseFs:r,project:o,report:a,loadManifest:n,realLocatorChecksums:u}){let A=J.join(o.cwd,Di),{locationTree:p,binSymlinks:h,locatorLocations:w,installChangedByUser:I}=$It(e.locationTree,e.binSymlinks,e.mtimeMs,o),v=f1e(t,{skipPrefix:o.cwd}),b=[],E=async({srcDir:Be,dstDir:be,linkType:g,globalHardlinksStore:we,nmMode:Se,windowsLinkType:ce,packageChecksum:ne})=>{let te=(async()=>{try{g==="SOFT"?(await ae.mkdirPromise(J.dirname(be),{recursive:!0}),await pq(J.resolve(Be),be,ce)):await ZIt(be,Be,{baseFs:r,globalHardlinksStore:we,nmMode:Se,windowsLinkType:ce,packageChecksum:ne})}catch(Ee){throw Ee.message=`While persisting ${Be} -> ${be} ${Ee.message}`,Ee}finally{le.tick()}})().then(()=>b.splice(b.indexOf(te),1));b.push(te),b.length>o1e&&await Promise.race(b)},R=async(Be,be,g)=>{let we=(async()=>{let Se=async(ce,ne,te)=>{try{te.innerLoop||await ae.mkdirPromise(ne,{recursive:!0});let Ee=await ae.readdirPromise(ce,{withFileTypes:!0});for(let Re of Ee){if(!te.innerLoop&&Re.name===Ik)continue;let dt=J.join(ce,Re.name),H=J.join(ne,Re.name);Re.isDirectory()?(Re.name!==Di||te&&te.innerLoop)&&(await ae.mkdirPromise(H,{recursive:!0}),await Se(dt,H,{...te,innerLoop:!0})):ge.value==="hardlinks-local"||ge.value==="hardlinks-global"?await ae.linkPromise(dt,H):await ae.copyFilePromise(dt,H,c1e.default.constants.COPYFILE_FICLONE)}}catch(Ee){throw te.innerLoop||(Ee.message=`While cloning ${ce} -> ${ne} ${Ee.message}`),Ee}finally{te.innerLoop||le.tick()}};await Se(Be,be,g)})().then(()=>b.splice(b.indexOf(we),1));b.push(we),b.length>o1e&&await Promise.race(b)},N=async(Be,be,g)=>{if(g)for(let[we,Se]of be.children){let ce=g.children.get(we);await N(J.join(Be,we),Se,ce)}else{be.children.has(Di)&&await Gw(J.join(Be,Di),{contentsOnly:!1});let we=J.basename(Be)===Di&&v.has(J.join(J.dirname(Be),J.sep));await Gw(Be,{contentsOnly:Be===A,allowSymlink:we})}};for(let[Be,be]of p){let g=v.get(Be);for(let[we,Se]of be.children){if(we===".")continue;let ce=g&&g.children.get(we),ne=J.join(Be,we);await N(ne,Se,ce)}}let U=async(Be,be,g)=>{if(g){a1e(be.locator,g.locator)||await Gw(Be,{contentsOnly:be.linkType==="HARD"});for(let[we,Se]of be.children){let ce=g.children.get(we);await U(J.join(Be,we),Se,ce)}}else{be.children.has(Di)&&await Gw(J.join(Be,Di),{contentsOnly:!0});let we=J.basename(Be)===Di&&v.has(J.join(J.dirname(Be),J.sep));await Gw(Be,{contentsOnly:be.linkType==="HARD",allowSymlink:we})}};for(let[Be,be]of v){let g=p.get(Be);for(let[we,Se]of be.children){if(we===".")continue;let ce=g&&g.children.get(we);await U(J.join(Be,we),Se,ce)}}let V=new Map,ee=[];for(let[Be,be]of w)for(let g of be){let{locationRoot:we,segments:Se}=Bk(g,{skipPrefix:o.cwd}),ce=v.get(we),ne=we;if(ce){for(let te of Se)if(ne=J.join(ne,te),ce=ce.children.get(te),!ce)break;if(ce){let te=a1e(ce.locator,Be),Ee=t.get(ce.locator),Re=Ee.target,dt=ne,H=Ee.linkType;if(te)V.has(Re)||V.set(Re,dt);else if(Re!==dt){let at=G.parseLocator(ce.locator);G.isVirtualLocator(at)&&(at=G.devirtualizeLocator(at)),ee.push({srcDir:Re,dstDir:dt,linkType:H,realLocatorHash:at.locatorHash})}}}}for(let[Be,{locations:be}]of t.entries())for(let g of be){let{locationRoot:we,segments:Se}=Bk(g,{skipPrefix:o.cwd}),ce=p.get(we),ne=v.get(we),te=we,Ee=t.get(Be),Re=G.parseLocator(Be);G.isVirtualLocator(Re)&&(Re=G.devirtualizeLocator(Re));let dt=Re.locatorHash,H=Ee.target,at=g;if(H===at)continue;let Te=Ee.linkType;for(let Qe of Se)ne=ne.children.get(Qe);if(!ce)ee.push({srcDir:H,dstDir:at,linkType:Te,realLocatorHash:dt});else for(let Qe of Se)if(te=J.join(te,Qe),ce=ce.children.get(Qe),!ce){ee.push({srcDir:H,dstDir:at,linkType:Te,realLocatorHash:dt});break}}let le=Zs.progressViaCounter(ee.length),fe=a.reportProgress(le),de=o.configuration.get("nmMode"),ge={value:de},oe=o.configuration.get("winLinkType");try{let Be=ge.value==="hardlinks-global"?`${hq(o.configuration)}/v1`:null;if(Be&&!await ae.existsPromise(Be)){await ae.mkdirpPromise(Be);for(let g=0;g<256;g++)await ae.mkdirPromise(J.join(Be,g.toString(16).padStart(2,"0")))}for(let g of ee)(g.linkType==="SOFT"||!V.has(g.srcDir))&&(V.set(g.srcDir,g.dstDir),await E({...g,globalHardlinksStore:Be,nmMode:ge,windowsLinkType:oe,packageChecksum:u.get(g.realLocatorHash)||null}));await Promise.all(b),b.length=0;for(let g of ee){let we=V.get(g.srcDir);g.linkType!=="SOFT"&&g.dstDir!==we&&await R(we,g.dstDir,{nmMode:ge})}await Promise.all(b),await ae.mkdirPromise(A,{recursive:!0});let be=await e1t(t,v,o.cwd,{loadManifest:n});await r1t(h,be,o.cwd,oe),await zIt(o,t,be,ge,{installChangedByUser:I}),de=="hardlinks-global"&&ge.value=="hardlinks-local"&&a.reportWarningOnce(74,"'nmMode' has been downgraded to 'hardlinks-local' due to global cache and install folder being on different devices")}finally{fe.stop()}}async function r1t(e,t,r,o){for(let a of e.keys()){if(J.contains(r,a)===null)throw new Error(`Assertion failed. Excepted bin symlink location to be inside project dir, instead it was at ${a}`);if(!t.has(a)){let n=J.join(a,Di,Ik);await ae.removePromise(n)}}for(let[a,n]of t){if(J.contains(r,a)===null)throw new Error(`Assertion failed. Excepted bin symlink location to be inside project dir, instead it was at ${a}`);let u=J.join(a,Di,Ik),A=e.get(a)||new Map;await ae.mkdirPromise(u,{recursive:!0});for(let p of A.keys())n.has(p)||(await ae.removePromise(J.join(u,p)),process.platform==="win32"&&await ae.removePromise(J.join(u,bi(`${p}.cmd`))));for(let[p,h]of n){let w=A.get(p),I=J.join(u,p);w!==h&&(process.platform==="win32"?await(0,l1e.default)(Ae.fromPortablePath(h),Ae.fromPortablePath(I),{createPwshFile:!1}):(await ae.removePromise(I),await pq(h,I,o),J.contains(r,await ae.realpathPromise(h))!==null&&await ae.chmodPromise(h,493)))}}}Ye();St();iA();var lv=class extends D0{constructor(){super(...arguments);this.mode="loose"}makeInstaller(r){return new gq(r)}},gq=class extends dm{constructor(){super(...arguments);this.mode="loose"}async transformPnpSettings(r){let o=new di({baseFs:new Vl({maxOpenFiles:80,readOnlyArchives:!0})}),a=JIe(r,this.opts.project.cwd,o),{tree:n,errors:u}=KB(a,{pnpifyFs:!1,project:this.opts.project});if(!n){for(let{messageName:I,text:v}of u)this.opts.report.reportError(I,v);return}let A=new Map;r.fallbackPool=A;let p=(I,v)=>{let b=G.parseLocator(v.locator),E=G.stringifyIdent(b);E===I?A.set(I,b.reference):A.set(I,[E,b.reference])},h=J.join(this.opts.project.cwd,gr.nodeModules),w=n.get(h);if(!(typeof w>"u")){if("target"in w)throw new Error("Assertion failed: Expected the root junction point to be a directory");for(let I of w.dirList){let v=J.join(h,I),b=n.get(v);if(typeof b>"u")throw new Error("Assertion failed: Expected the child to have been registered");if("target"in b)p(I,b);else for(let E of b.dirList){let R=J.join(v,E),N=n.get(R);if(typeof N>"u")throw new Error("Assertion failed: Expected the subchild to have been registered");if("target"in N)p(`${I}/${E}`,N);else throw new Error("Assertion failed: Expected the leaf junction to be a package")}}}}};var n1t={hooks:{cleanGlobalArtifacts:async e=>{let t=hq(e);await ae.removePromise(t)}},configuration:{nmHoistingLimits:{description:"Prevent packages to be hoisted past specific levels",type:"STRING",values:["workspaces","dependencies","none"],default:"none"},nmMode:{description:'If set to "hardlinks-local" Yarn will utilize hardlinks to reduce disk space consumption inside "node_modules" directories. With "hardlinks-global" Yarn will use global content addressable storage to reduce "node_modules" size across all the projects using this option.',type:"STRING",values:["classic","hardlinks-local","hardlinks-global"],default:"classic"},nmSelfReferences:{description:"If set to 'false' the workspace will not be allowed to require itself and corresponding self-referencing symlink will not be created",type:"BOOLEAN",default:!0}},linkers:[av,lv]},i1t=n1t;var gG={};Jt(gG,{NpmHttpFetcher:()=>Av,NpmRemapResolver:()=>fv,NpmSemverFetcher:()=>gl,NpmSemverResolver:()=>pv,NpmTagResolver:()=>hv,default:()=>dvt,npmConfigUtils:()=>zn,npmHttpUtils:()=>sn,npmPublishUtils:()=>iC});Ye();var I1e=$e(Zn());var Yn="npm:";var sn={};Jt(sn,{AuthType:()=>w1e,customPackageError:()=>mm,del:()=>p1t,get:()=>ym,getIdentUrl:()=>vk,getPackageMetadata:()=>Kw,handleInvalidAuthenticationError:()=>x0,post:()=>A1t,put:()=>f1t});Ye();Ye();St();var Eq=$e(l2()),E1e=$e(C_()),wq=Ie("url");var zn={};Jt(zn,{RegistryType:()=>d1e,getAuditRegistry:()=>s1t,getAuthConfiguration:()=>yq,getDefaultRegistry:()=>cv,getPublishRegistry:()=>o1t,getRegistryConfiguration:()=>m1e,getScopeConfiguration:()=>mq,getScopeRegistry:()=>Yw,normalizeRegistry:()=>oc});var d1e=(o=>(o.AUDIT_REGISTRY="npmAuditRegistry",o.FETCH_REGISTRY="npmRegistryServer",o.PUBLISH_REGISTRY="npmPublishRegistry",o))(d1e||{});function oc(e){return e.replace(/\/$/,"")}function s1t({configuration:e}){return cv({configuration:e,type:"npmAuditRegistry"})}function o1t(e,{configuration:t}){return e.publishConfig?.registry?oc(e.publishConfig.registry):e.name?Yw(e.name.scope,{configuration:t,type:"npmPublishRegistry"}):cv({configuration:t,type:"npmPublishRegistry"})}function Yw(e,{configuration:t,type:r="npmRegistryServer"}){let o=mq(e,{configuration:t});if(o===null)return cv({configuration:t,type:r});let a=o.get(r);return a===null?cv({configuration:t,type:r}):oc(a)}function cv({configuration:e,type:t="npmRegistryServer"}){let r=e.get(t);return oc(r!==null?r:e.get("npmRegistryServer"))}function m1e(e,{configuration:t}){let r=t.get("npmRegistries"),o=oc(e),a=r.get(o);if(typeof a<"u")return a;let n=r.get(o.replace(/^[a-z]+:/,""));return typeof n<"u"?n:null}function mq(e,{configuration:t}){if(e===null)return null;let o=t.get("npmScopes").get(e);return o||null}function yq(e,{configuration:t,ident:r}){let o=r&&mq(r.scope,{configuration:t});return o?.get("npmAuthIdent")||o?.get("npmAuthToken")?o:m1e(e,{configuration:t})||t}var w1e=(a=>(a[a.NO_AUTH=0]="NO_AUTH",a[a.BEST_EFFORT=1]="BEST_EFFORT",a[a.CONFIGURATION=2]="CONFIGURATION",a[a.ALWAYS_AUTH=3]="ALWAYS_AUTH",a))(w1e||{});async function x0(e,{attemptedAs:t,registry:r,headers:o,configuration:a}){if(Sk(e))throw new zt(41,"Invalid OTP token");if(e.originalError?.name==="HTTPError"&&e.originalError?.response.statusCode===401)throw new zt(41,`Invalid authentication (${typeof t!="string"?`as ${await g1t(r,o,{configuration:a})}`:`attempted as ${t}`})`)}function mm(e,t){let r=e.response?.statusCode;return r?r===404?"Package not found":r>=500&&r<600?`The registry appears to be down (using a ${ye.applyHyperlink(t,"local cache","https://yarnpkg.com/advanced/lexicon#local-cache")} might have protected you against such outages)`:null:null}function vk(e){return e.scope?`/@${e.scope}%2f${e.name}`:`/${e.name}`}var y1e=new Map;async function Kw(e,{project:t,registry:r,headers:o,version:a,...n}){return await _e.getFactoryWithDefault(y1e,e.identHash,async()=>{let{configuration:u}=t;r=uv(u,{ident:e,registry:r});let A=c1t(u,r),p=J.join(A,`${G.slugifyIdent(e)}.json`),h=null;if(!t.lockfileNeedsRefresh)try{if(h=await ae.readJsonPromise(p),typeof a<"u"&&typeof h.metadata.versions[a]<"u")return h.metadata}catch{}return await ym(vk(e),{...n,customErrorMessage:mm,configuration:u,registry:r,ident:e,headers:{...o,["If-None-Match"]:h?.etag,["If-Modified-Since"]:h?.lastModified},wrapNetworkRequest:async w=>async()=>{let I=await w();if(I.statusCode===304){if(h===null)throw new Error("Assertion failed: cachedMetadata should not be null");return{...I,body:h.metadata}}let v=a1t(JSON.parse(I.body.toString()));y1e.set(e.identHash,v);let b={metadata:v,etag:I.headers.etag,lastModified:I.headers["last-modified"]},E=`${p}-${process.pid}.tmp`;return await ae.mkdirPromise(A,{recursive:!0}),await ae.writeJsonPromise(E,b,{compact:!0}),await ae.renamePromise(E,p),{...I,body:v}}})})}var C1e=["name","dist.tarball","bin","scripts","os","cpu","libc","dependencies","dependenciesMeta","optionalDependencies","peerDependencies","peerDependenciesMeta","deprecated"];function a1t(e){return{"dist-tags":e["dist-tags"],versions:Object.fromEntries(Object.entries(e.versions).map(([t,r])=>[t,(0,E1e.default)(r,C1e)]))}}var l1t=wn.makeHash(...C1e).slice(0,6);function c1t(e,t){let r=u1t(e),o=new wq.URL(t),a=bi(o.hostname);return J.join(r,l1t,a)}function u1t(e){return J.join(e.get("globalFolder"),"metadata/npm")}async function ym(e,{configuration:t,headers:r,ident:o,authType:a,registry:n,...u}){n=uv(t,{ident:o,registry:n}),o&&o.scope&&typeof a>"u"&&(a=1);let A=await Dk(n,{authType:a,configuration:t,ident:o});A&&(r={...r,authorization:A});try{return await tn.get(e.charAt(0)==="/"?`${n}${e}`:e,{configuration:t,headers:r,...u})}catch(p){throw await x0(p,{registry:n,configuration:t,headers:r}),p}}async function A1t(e,t,{attemptedAs:r,configuration:o,headers:a,ident:n,authType:u=3,registry:A,otp:p,...h}){A=uv(o,{ident:n,registry:A});let w=await Dk(A,{authType:u,configuration:o,ident:n});w&&(a={...a,authorization:w}),p&&(a={...a,...Ww(p)});try{return await tn.post(A+e,t,{configuration:o,headers:a,...h})}catch(I){if(!Sk(I)||p)throw await x0(I,{attemptedAs:r,registry:A,configuration:o,headers:a}),I;p=await Cq(I,{configuration:o});let v={...a,...Ww(p)};try{return await tn.post(`${A}${e}`,t,{configuration:o,headers:v,...h})}catch(b){throw await x0(b,{attemptedAs:r,registry:A,configuration:o,headers:a}),b}}}async function f1t(e,t,{attemptedAs:r,configuration:o,headers:a,ident:n,authType:u=3,registry:A,otp:p,...h}){A=uv(o,{ident:n,registry:A});let w=await Dk(A,{authType:u,configuration:o,ident:n});w&&(a={...a,authorization:w}),p&&(a={...a,...Ww(p)});try{return await tn.put(A+e,t,{configuration:o,headers:a,...h})}catch(I){if(!Sk(I))throw await x0(I,{attemptedAs:r,registry:A,configuration:o,headers:a}),I;p=await Cq(I,{configuration:o});let v={...a,...Ww(p)};try{return await tn.put(`${A}${e}`,t,{configuration:o,headers:v,...h})}catch(b){throw await x0(b,{attemptedAs:r,registry:A,configuration:o,headers:a}),b}}}async function p1t(e,{attemptedAs:t,configuration:r,headers:o,ident:a,authType:n=3,registry:u,otp:A,...p}){u=uv(r,{ident:a,registry:u});let h=await Dk(u,{authType:n,configuration:r,ident:a});h&&(o={...o,authorization:h}),A&&(o={...o,...Ww(A)});try{return await tn.del(u+e,{configuration:r,headers:o,...p})}catch(w){if(!Sk(w)||A)throw await x0(w,{attemptedAs:t,registry:u,configuration:r,headers:o}),w;A=await Cq(w,{configuration:r});let I={...o,...Ww(A)};try{return await tn.del(`${u}${e}`,{configuration:r,headers:I,...p})}catch(v){throw await x0(v,{attemptedAs:t,registry:u,configuration:r,headers:o}),v}}}function uv(e,{ident:t,registry:r}){if(typeof r>"u"&&t)return Yw(t.scope,{configuration:e});if(typeof r!="string")throw new Error("Assertion failed: The registry should be a string");return oc(r)}async function Dk(e,{authType:t=2,configuration:r,ident:o}){let a=yq(e,{configuration:r,ident:o}),n=h1t(a,t);if(!n)return null;let u=await r.reduceHook(A=>A.getNpmAuthenticationHeader,void 0,e,{configuration:r,ident:o});if(u)return u;if(a.get("npmAuthToken"))return`Bearer ${a.get("npmAuthToken")}`;if(a.get("npmAuthIdent")){let A=a.get("npmAuthIdent");return A.includes(":")?`Basic ${Buffer.from(A).toString("base64")}`:`Basic ${A}`}if(n&&t!==1)throw new zt(33,"No authentication configured for request");return null}function h1t(e,t){switch(t){case 2:return e.get("npmAlwaysAuth");case 1:case 3:return!0;case 0:return!1;default:throw new Error("Unreachable")}}async function g1t(e,t,{configuration:r}){if(typeof t>"u"||typeof t.authorization>"u")return"an anonymous user";try{return(await tn.get(new wq.URL(`${e}/-/whoami`).href,{configuration:r,headers:t,jsonResponse:!0})).username??"an unknown user"}catch{return"an unknown user"}}async function Cq(e,{configuration:t}){let r=e.originalError?.response.headers["npm-notice"];if(r&&(await Nt.start({configuration:t,stdout:process.stdout,includeFooter:!1},async a=>{if(a.reportInfo(0,r.replace(/(https?:\/\/\S+)/g,ye.pretty(t,"$1",ye.Type.URL))),!process.env.YARN_IS_TEST_ENV){let n=r.match(/open (https?:\/\/\S+)/i);if(n&&cs.openUrl){let{openNow:u}=await(0,Eq.prompt)({type:"confirm",name:"openNow",message:"Do you want to try to open this url now?",required:!0,initial:!0,onCancel:()=>process.exit(130)});u&&(await cs.openUrl(n[1])||(a.reportSeparator(),a.reportWarning(0,"We failed to automatically open the url; you'll have to open it yourself in your browser of choice.")))}}}),process.stdout.write(` -`)),process.env.YARN_IS_TEST_ENV)return process.env.YARN_INJECT_NPM_2FA_TOKEN||"";let{otp:o}=await(0,Eq.prompt)({type:"password",name:"otp",message:"One-time password:",required:!0,onCancel:()=>process.exit(130)});return process.stdout.write(` -`),o}function Sk(e){if(e.originalError?.name!=="HTTPError")return!1;try{return(e.originalError?.response.headers["www-authenticate"].split(/,\s*/).map(r=>r.toLowerCase())).includes("otp")}catch{return!1}}function Ww(e){return{["npm-otp"]:e}}var Av=class{supports(t,r){if(!t.reference.startsWith(Yn))return!1;let{selector:o,params:a}=G.parseRange(t.reference);return!(!I1e.default.valid(o)||a===null||typeof a.__archiveUrl!="string")}getLocalPath(t,r){return null}async fetch(t,r){let o=r.checksums.get(t.locatorHash)||null,[a,n,u]=await r.cache.fetchPackageFromCache(t,o,{onHit:()=>r.report.reportCacheHit(t),onMiss:()=>r.report.reportCacheMiss(t,`${G.prettyLocator(r.project.configuration,t)} can't be found in the cache and will be fetched from the remote server`),loader:()=>this.fetchFromNetwork(t,r),...r.cacheOptions});return{packageFs:a,releaseFs:n,prefixPath:G.getIdentVendorPath(t),checksum:u}}async fetchFromNetwork(t,r){let{params:o}=G.parseRange(t.reference);if(o===null||typeof o.__archiveUrl!="string")throw new Error("Assertion failed: The archiveUrl querystring parameter should have been available");let a=await ym(o.__archiveUrl,{customErrorMessage:mm,configuration:r.project.configuration,ident:t});return await zi.convertToZip(a,{compressionLevel:r.project.configuration.get("compressionLevel"),prefixPath:G.getIdentVendorPath(t),stripComponents:1})}};Ye();var fv=class{supportsDescriptor(t,r){return!(!t.range.startsWith(Yn)||!G.tryParseDescriptor(t.range.slice(Yn.length),!0))}supportsLocator(t,r){return!1}shouldPersistResolution(t,r){throw new Error("Unreachable")}bindDescriptor(t,r,o){return t}getResolutionDependencies(t,r){let o=r.project.configuration.normalizeDependency(G.parseDescriptor(t.range.slice(Yn.length),!0));return r.resolver.getResolutionDependencies(o,r)}async getCandidates(t,r,o){let a=o.project.configuration.normalizeDependency(G.parseDescriptor(t.range.slice(Yn.length),!0));return await o.resolver.getCandidates(a,r,o)}async getSatisfying(t,r,o,a){let n=a.project.configuration.normalizeDependency(G.parseDescriptor(t.range.slice(Yn.length),!0));return a.resolver.getSatisfying(n,r,o,a)}resolve(t,r){throw new Error("Unreachable")}};Ye();Ye();var B1e=$e(Zn()),v1e=Ie("url");var gl=class{supports(t,r){if(!t.reference.startsWith(Yn))return!1;let o=new v1e.URL(t.reference);return!(!B1e.default.valid(o.pathname)||o.searchParams.has("__archiveUrl"))}getLocalPath(t,r){return null}async fetch(t,r){let o=r.checksums.get(t.locatorHash)||null,[a,n,u]=await r.cache.fetchPackageFromCache(t,o,{onHit:()=>r.report.reportCacheHit(t),onMiss:()=>r.report.reportCacheMiss(t,`${G.prettyLocator(r.project.configuration,t)} can't be found in the cache and will be fetched from the remote registry`),loader:()=>this.fetchFromNetwork(t,r),...r.cacheOptions});return{packageFs:a,releaseFs:n,prefixPath:G.getIdentVendorPath(t),checksum:u}}async fetchFromNetwork(t,r){let o;try{o=await ym(gl.getLocatorUrl(t),{customErrorMessage:mm,configuration:r.project.configuration,ident:t})}catch{o=await ym(gl.getLocatorUrl(t).replace(/%2f/g,"/"),{customErrorMessage:mm,configuration:r.project.configuration,ident:t})}return await zi.convertToZip(o,{compressionLevel:r.project.configuration.get("compressionLevel"),prefixPath:G.getIdentVendorPath(t),stripComponents:1})}static isConventionalTarballUrl(t,r,{configuration:o}){let a=Yw(t.scope,{configuration:o}),n=gl.getLocatorUrl(t);return r=r.replace(/^https?:(\/\/(?:[^/]+\.)?npmjs.org(?:$|\/))/,"https:$1"),a=a.replace(/^https:\/\/registry\.npmjs\.org($|\/)/,"https://registry.yarnpkg.com$1"),r=r.replace(/^https:\/\/registry\.npmjs\.org($|\/)/,"https://registry.yarnpkg.com$1"),r===a+n||r===a+n.replace(/%2f/g,"/")}static getLocatorUrl(t){let r=Qr.clean(t.reference.slice(Yn.length));if(r===null)throw new zt(10,"The npm semver resolver got selected, but the version isn't semver");return`${vk(t)}/-/${t.name}-${r}.tgz`}};Ye();Ye();Ye();var Iq=$e(Zn());var Pk=G.makeIdent(null,"node-gyp"),d1t=/\b(node-gyp|prebuild-install)\b/,pv=class{supportsDescriptor(t,r){return t.range.startsWith(Yn)?!!Qr.validRange(t.range.slice(Yn.length)):!1}supportsLocator(t,r){if(!t.reference.startsWith(Yn))return!1;let{selector:o}=G.parseRange(t.reference);return!!Iq.default.valid(o)}shouldPersistResolution(t,r){return!0}bindDescriptor(t,r,o){return t}getResolutionDependencies(t,r){return{}}async getCandidates(t,r,o){let a=Qr.validRange(t.range.slice(Yn.length));if(a===null)throw new Error(`Expected a valid range, got ${t.range.slice(Yn.length)}`);let n=await Kw(t,{project:o.project,version:Iq.default.valid(a.raw)?a.raw:void 0}),u=_e.mapAndFilter(Object.keys(n.versions),h=>{try{let w=new Qr.SemVer(h);if(a.test(w))return w}catch{}return _e.mapAndFilter.skip}),A=u.filter(h=>!n.versions[h.raw].deprecated),p=A.length>0?A:u;return p.sort((h,w)=>-h.compare(w)),p.map(h=>{let w=G.makeLocator(t,`${Yn}${h.raw}`),I=n.versions[h.raw].dist.tarball;return gl.isConventionalTarballUrl(w,I,{configuration:o.project.configuration})?w:G.bindLocator(w,{__archiveUrl:I})})}async getSatisfying(t,r,o,a){let n=Qr.validRange(t.range.slice(Yn.length));if(n===null)throw new Error(`Expected a valid range, got ${t.range.slice(Yn.length)}`);return{locators:_e.mapAndFilter(o,p=>{if(p.identHash!==t.identHash)return _e.mapAndFilter.skip;let h=G.tryParseRange(p.reference,{requireProtocol:Yn});if(!h)return _e.mapAndFilter.skip;let w=new Qr.SemVer(h.selector);return n.test(w)?{locator:p,version:w}:_e.mapAndFilter.skip}).sort((p,h)=>-p.version.compare(h.version)).map(({locator:p})=>p),sorted:!0}}async resolve(t,r){let{selector:o}=G.parseRange(t.reference),a=Qr.clean(o);if(a===null)throw new zt(10,"The npm semver resolver got selected, but the version isn't semver");let n=await Kw(t,{project:r.project,version:a});if(!Object.hasOwn(n,"versions"))throw new zt(15,'Registry returned invalid data for - missing "versions" field');if(!Object.hasOwn(n.versions,a))throw new zt(16,`Registry failed to return reference "${a}"`);let u=new Ot;if(u.load(n.versions[a]),!u.dependencies.has(Pk.identHash)&&!u.peerDependencies.has(Pk.identHash)){for(let A of u.scripts.values())if(A.match(d1t)){u.dependencies.set(Pk.identHash,G.makeDescriptor(Pk,"latest"));break}}return{...t,version:a,languageName:"node",linkType:"HARD",conditions:u.getConditions(),dependencies:r.project.configuration.normalizeDependencyMap(u.dependencies),peerDependencies:u.peerDependencies,dependenciesMeta:u.dependenciesMeta,peerDependenciesMeta:u.peerDependenciesMeta,bin:u.bin}}};Ye();Ye();var D1e=$e(Zn());var hv=class{supportsDescriptor(t,r){return!(!t.range.startsWith(Yn)||!kE.test(t.range.slice(Yn.length)))}supportsLocator(t,r){return!1}shouldPersistResolution(t,r){throw new Error("Unreachable")}bindDescriptor(t,r,o){return t}getResolutionDependencies(t,r){return{}}async getCandidates(t,r,o){let a=t.range.slice(Yn.length),n=await Kw(t,{project:o.project});if(!Object.hasOwn(n,"dist-tags"))throw new zt(15,'Registry returned invalid data - missing "dist-tags" field');let u=n["dist-tags"];if(!Object.hasOwn(u,a))throw new zt(16,`Registry failed to return tag "${a}"`);let A=u[a],p=G.makeLocator(t,`${Yn}${A}`),h=n.versions[A].dist.tarball;return gl.isConventionalTarballUrl(p,h,{configuration:o.project.configuration})?[p]:[G.bindLocator(p,{__archiveUrl:h})]}async getSatisfying(t,r,o,a){let n=[];for(let u of o){if(u.identHash!==t.identHash)continue;let A=G.tryParseRange(u.reference,{requireProtocol:Yn});if(!(!A||!D1e.default.valid(A.selector))){if(A.params?.__archiveUrl){let p=G.makeRange({protocol:Yn,selector:A.selector,source:null,params:null}),[h]=await a.resolver.getCandidates(G.makeDescriptor(t,p),r,a);if(u.reference!==h.reference)continue}n.push(u)}}return{locators:n,sorted:!1}}async resolve(t,r){throw new Error("Unreachable")}};var iC={};Jt(iC,{getGitHead:()=>hvt,getPublishAccess:()=>gBe,getReadmeContent:()=>dBe,makePublishBody:()=>pvt});Ye();Ye();St();var uG={};Jt(uG,{PackCommand:()=>O0,default:()=>VBt,packUtils:()=>CA});Ye();Ye();Ye();St();qt();var CA={};Jt(CA,{genPackList:()=>zk,genPackStream:()=>cG,genPackageManifest:()=>rBe,hasPackScripts:()=>aG,prepareForPack:()=>lG});Ye();St();var oG=$e(Zo()),eBe=$e(z2e()),tBe=Ie("zlib"),MBt=["/package.json","/readme","/readme.*","/license","/license.*","/licence","/licence.*","/changelog","/changelog.*"],UBt=["/package.tgz",".github",".git",".hg","node_modules",".npmignore",".gitignore",".#*",".DS_Store"];async function aG(e){return!!(cn.hasWorkspaceScript(e,"prepack")||cn.hasWorkspaceScript(e,"postpack"))}async function lG(e,{report:t},r){await cn.maybeExecuteWorkspaceLifecycleScript(e,"prepack",{report:t});try{let o=J.join(e.cwd,Ot.fileName);await ae.existsPromise(o)&&await e.manifest.loadFile(o,{baseFs:ae}),await r()}finally{await cn.maybeExecuteWorkspaceLifecycleScript(e,"postpack",{report:t})}}async function cG(e,t){typeof t>"u"&&(t=await zk(e));let r=new Set;for(let n of e.manifest.publishConfig?.executableFiles??new Set)r.add(J.normalize(n));for(let n of e.manifest.bin.values())r.add(J.normalize(n));let o=eBe.default.pack();process.nextTick(async()=>{for(let n of t){let u=J.normalize(n),A=J.resolve(e.cwd,u),p=J.join("package",u),h=await ae.lstatPromise(A),w={name:p,mtime:new Date(Bi.SAFE_TIME*1e3)},I=r.has(u)?493:420,v,b,E=new Promise((N,U)=>{v=N,b=U}),R=N=>{N?b(N):v()};if(h.isFile()){let N;u==="package.json"?N=Buffer.from(JSON.stringify(await rBe(e),null,2)):N=await ae.readFilePromise(A),o.entry({...w,mode:I,type:"file"},N,R)}else h.isSymbolicLink()?o.entry({...w,mode:I,type:"symlink",linkname:await ae.readlinkPromise(A)},R):R(new Error(`Unsupported file type ${h.mode} for ${Ae.fromPortablePath(u)}`));await E}o.finalize()});let a=(0,tBe.createGzip)();return o.pipe(a),a}async function rBe(e){let t=JSON.parse(JSON.stringify(e.manifest.raw));return await e.project.configuration.triggerHook(r=>r.beforeWorkspacePacking,e,t),t}async function zk(e){let t=e.project,r=t.configuration,o={accept:[],reject:[]};for(let I of UBt)o.reject.push(I);for(let I of MBt)o.accept.push(I);o.reject.push(r.get("rcFilename"));let a=I=>{if(I===null||!I.startsWith(`${e.cwd}/`))return;let v=J.relative(e.cwd,I),b=J.resolve(Bt.root,v);o.reject.push(b)};a(J.resolve(t.cwd,gr.lockfile)),a(r.get("cacheFolder")),a(r.get("globalFolder")),a(r.get("installStatePath")),a(r.get("virtualFolder")),a(r.get("yarnPath")),await r.triggerHook(I=>I.populateYarnPaths,t,I=>{a(I)});for(let I of t.workspaces){let v=J.relative(e.cwd,I.cwd);v!==""&&!v.match(/^(\.\.)?\//)&&o.reject.push(`/${v}`)}let n={accept:[],reject:[]},u=e.manifest.publishConfig?.main??e.manifest.main,A=e.manifest.publishConfig?.module??e.manifest.module,p=e.manifest.publishConfig?.browser??e.manifest.browser,h=e.manifest.publishConfig?.bin??e.manifest.bin;u!=null&&n.accept.push(J.resolve(Bt.root,u)),A!=null&&n.accept.push(J.resolve(Bt.root,A)),typeof p=="string"&&n.accept.push(J.resolve(Bt.root,p));for(let I of h.values())n.accept.push(J.resolve(Bt.root,I));if(p instanceof Map)for(let[I,v]of p.entries())n.accept.push(J.resolve(Bt.root,I)),typeof v=="string"&&n.accept.push(J.resolve(Bt.root,v));let w=e.manifest.files!==null;if(w){n.reject.push("/*");for(let I of e.manifest.files)nBe(n.accept,I,{cwd:Bt.root})}return await _Bt(e.cwd,{hasExplicitFileList:w,globalList:o,ignoreList:n})}async function _Bt(e,{hasExplicitFileList:t,globalList:r,ignoreList:o}){let a=[],n=new ju(e),u=[[Bt.root,[o]]];for(;u.length>0;){let[A,p]=u.pop(),h=await n.lstatPromise(A);if(!Z2e(A,{globalList:r,ignoreLists:h.isDirectory()?null:p}))if(h.isDirectory()){let w=await n.readdirPromise(A),I=!1,v=!1;if(!t||A!==Bt.root)for(let R of w)I=I||R===".gitignore",v=v||R===".npmignore";let b=v?await X2e(n,A,".npmignore"):I?await X2e(n,A,".gitignore"):null,E=b!==null?[b].concat(p):p;Z2e(A,{globalList:r,ignoreLists:p})&&(E=[...p,{accept:[],reject:["**/*"]}]);for(let R of w)u.push([J.resolve(A,R),E])}else(h.isFile()||h.isSymbolicLink())&&a.push(J.relative(Bt.root,A))}return a.sort()}async function X2e(e,t,r){let o={accept:[],reject:[]},a=await e.readFilePromise(J.join(t,r),"utf8");for(let n of a.split(/\n/g))nBe(o.reject,n,{cwd:t});return o}function HBt(e,{cwd:t}){let r=e[0]==="!";return r&&(e=e.slice(1)),e.match(/\.{0,1}\//)&&(e=J.resolve(t,e)),r&&(e=`!${e}`),e}function nBe(e,t,{cwd:r}){let o=t.trim();o===""||o[0]==="#"||e.push(HBt(o,{cwd:r}))}function Z2e(e,{globalList:t,ignoreLists:r}){let o=Vk(e,t.accept);if(o!==0)return o===2;let a=Vk(e,t.reject);if(a!==0)return a===1;if(r!==null)for(let n of r){let u=Vk(e,n.accept);if(u!==0)return u===2;let A=Vk(e,n.reject);if(A!==0)return A===1}return!1}function Vk(e,t){let r=t,o=[];for(let a=0;a<t.length;++a)t[a][0]!=="!"?r!==t&&r.push(t[a]):(r===t&&(r=t.slice(0,a)),o.push(t[a].slice(1)));return $2e(e,o)?2:$2e(e,r)?1:0}function $2e(e,t){let r=t,o=[];for(let a=0;a<t.length;++a)t[a].includes("/")?r!==t&&r.push(t[a]):(r===t&&(r=t.slice(0,a)),o.push(t[a]));return!!(oG.default.isMatch(e,r,{dot:!0,nocase:!0})||oG.default.isMatch(e,o,{dot:!0,basename:!0,nocase:!0}))}var O0=class extends ut{constructor(){super(...arguments);this.installIfNeeded=he.Boolean("--install-if-needed",!1,{description:"Run a preliminary `yarn install` if the package contains build scripts"});this.dryRun=he.Boolean("-n,--dry-run",!1,{description:"Print the file paths without actually generating the package archive"});this.json=he.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"});this.out=he.String("-o,--out",{description:"Create the archive at the specified path"});this.filename=he.String("--filename",{hidden:!0})}async execute(){let r=await Ke.find(this.context.cwd,this.context.plugins),{project:o,workspace:a}=await Pt.find(r,this.context.cwd);if(!a)throw new tr(o.cwd,this.context.cwd);await aG(a)&&(this.installIfNeeded?await o.install({cache:await Nr.find(r),report:new ki}):await o.restoreInstallState());let n=this.out??this.filename,u=typeof n<"u"?J.resolve(this.context.cwd,jBt(n,{workspace:a})):J.resolve(a.cwd,"package.tgz");return(await Nt.start({configuration:r,stdout:this.context.stdout,json:this.json},async p=>{await lG(a,{report:p},async()=>{p.reportJson({base:Ae.fromPortablePath(a.cwd)});let h=await zk(a);for(let w of h)p.reportInfo(null,Ae.fromPortablePath(w)),p.reportJson({location:Ae.fromPortablePath(w)});if(!this.dryRun){let w=await cG(a,h),I=ae.createWriteStream(u);w.pipe(I),await new Promise(v=>{I.on("finish",v)})}}),this.dryRun||(p.reportInfo(0,`Package archive generated in ${ye.pretty(r,u,ye.Type.PATH)}`),p.reportJson({output:Ae.fromPortablePath(u)}))})).exitCode()}};O0.paths=[["pack"]],O0.usage=nt.Usage({description:"generate a tarball from the active workspace",details:"\n This command will turn the active workspace into a compressed archive suitable for publishing. The archive will by default be stored at the root of the workspace (`package.tgz`).\n\n If the `-o,---out` is set the archive will be created at the specified path. The `%s` and `%v` variables can be used within the path and will be respectively replaced by the package name and version.\n ",examples:[["Create an archive from the active workspace","yarn pack"],["List the files that would be made part of the workspace's archive","yarn pack --dry-run"],["Name and output the archive in a dedicated folder","yarn pack --out /artifacts/%s-%v.tgz"]]});function jBt(e,{workspace:t}){let r=e.replace("%s",qBt(t)).replace("%v",GBt(t));return Ae.toPortablePath(r)}function qBt(e){return e.manifest.name!==null?G.slugifyIdent(e.manifest.name):"package"}function GBt(e){return e.manifest.version!==null?e.manifest.version:"unknown"}var YBt=["dependencies","devDependencies","peerDependencies"],WBt="workspace:",KBt=(e,t)=>{t.publishConfig&&(t.publishConfig.type&&(t.type=t.publishConfig.type),t.publishConfig.main&&(t.main=t.publishConfig.main),t.publishConfig.browser&&(t.browser=t.publishConfig.browser),t.publishConfig.module&&(t.module=t.publishConfig.module),t.publishConfig.exports&&(t.exports=t.publishConfig.exports),t.publishConfig.imports&&(t.imports=t.publishConfig.imports),t.publishConfig.bin&&(t.bin=t.publishConfig.bin));let r=e.project;for(let o of YBt)for(let a of e.manifest.getForScope(o).values()){let n=r.tryWorkspaceByDescriptor(a),u=G.parseRange(a.range);if(u.protocol===WBt)if(n===null){if(r.tryWorkspaceByIdent(a)===null)throw new zt(21,`${G.prettyDescriptor(r.configuration,a)}: No local workspace found for this range`)}else{let A;G.areDescriptorsEqual(a,n.anchoredDescriptor)||u.selector==="*"?A=n.manifest.version??"0.0.0":u.selector==="~"||u.selector==="^"?A=`${u.selector}${n.manifest.version??"0.0.0"}`:A=u.selector;let p=o==="dependencies"?G.makeDescriptor(a,"unknown"):null,h=p!==null&&e.manifest.ensureDependencyMeta(p).optional?"optionalDependencies":o;t[h][G.stringifyIdent(a)]=A}}},JBt={hooks:{beforeWorkspacePacking:KBt},commands:[O0]},VBt=JBt;var fBe=Ie("crypto"),pBe=$e(ABe()),hBe=Ie("url");async function pvt(e,t,{access:r,tag:o,registry:a,gitHead:n}){let u=e.manifest.name,A=e.manifest.version,p=G.stringifyIdent(u),h=(0,fBe.createHash)("sha1").update(t).digest("hex"),w=pBe.default.fromData(t).toString(),I=r??gBe(e,u),v=await dBe(e),b=await CA.genPackageManifest(e),E=`${p}-${A}.tgz`,R=new hBe.URL(`${oc(a)}/${p}/-/${E}`);return{_id:p,_attachments:{[E]:{content_type:"application/octet-stream",data:t.toString("base64"),length:t.length}},name:p,access:I,["dist-tags"]:{[o]:A},versions:{[A]:{...b,_id:`${p}@${A}`,name:p,version:A,gitHead:n,dist:{shasum:h,integrity:w,tarball:R.toString()}}},readme:v}}async function hvt(e){try{let{stdout:t}=await Mr.execvp("git",["rev-parse","--revs-only","HEAD"],{cwd:e});return t.trim()===""?void 0:t.trim()}catch{return}}function gBe(e,t){let r=e.project.configuration;return e.manifest.publishConfig&&typeof e.manifest.publishConfig.access=="string"?e.manifest.publishConfig.access:r.get("npmPublishAccess")!==null?r.get("npmPublishAccess"):t.scope?"restricted":"public"}async function dBe(e){let t=Ae.toPortablePath(`${e.cwd}/README.md`),r=e.manifest.name,a=`# ${G.stringifyIdent(r)} -`;try{a=await ae.readFilePromise(t,"utf8")}catch(n){if(n.code==="ENOENT")return a;throw n}return a}var hG={npmAlwaysAuth:{description:"URL of the selected npm registry (note: npm enterprise isn't supported)",type:"BOOLEAN",default:!1},npmAuthIdent:{description:"Authentication identity for the npm registry (_auth in npm and yarn v1)",type:"SECRET",default:null},npmAuthToken:{description:"Authentication token for the npm registry (_authToken in npm and yarn v1)",type:"SECRET",default:null}},mBe={npmAuditRegistry:{description:"Registry to query for audit reports",type:"STRING",default:null},npmPublishRegistry:{description:"Registry to push packages to",type:"STRING",default:null},npmRegistryServer:{description:"URL of the selected npm registry (note: npm enterprise isn't supported)",type:"STRING",default:"https://registry.yarnpkg.com"}},gvt={configuration:{...hG,...mBe,npmScopes:{description:"Settings per package scope",type:"MAP",valueDefinition:{description:"",type:"SHAPE",properties:{...hG,...mBe}}},npmRegistries:{description:"Settings per registry",type:"MAP",normalizeKeys:oc,valueDefinition:{description:"",type:"SHAPE",properties:{...hG}}}},fetchers:[Av,gl],resolvers:[fv,pv,hv]},dvt=gvt;var vG={};Jt(vG,{NpmAuditCommand:()=>U0,NpmInfoCommand:()=>_0,NpmLoginCommand:()=>H0,NpmLogoutCommand:()=>j0,NpmPublishCommand:()=>q0,NpmTagAddCommand:()=>Y0,NpmTagListCommand:()=>G0,NpmTagRemoveCommand:()=>W0,NpmWhoamiCommand:()=>K0,default:()=>Ivt,npmAuditTypes:()=>Fv,npmAuditUtils:()=>Xk});Ye();Ye();qt();var wG=$e(Zo());Za();var Fv={};Jt(Fv,{Environment:()=>Qv,Severity:()=>kv});var Qv=(o=>(o.All="all",o.Production="production",o.Development="development",o))(Qv||{}),kv=(n=>(n.Info="info",n.Low="low",n.Moderate="moderate",n.High="high",n.Critical="critical",n))(kv||{});var Xk={};Jt(Xk,{allSeverities:()=>sC,getPackages:()=>EG,getReportTree:()=>mG,getSeverityInclusions:()=>dG,getTopLevelDependencies:()=>yG});Ye();var yBe=$e(Zn());var sC=["info","low","moderate","high","critical"];function dG(e){if(typeof e>"u")return new Set(sC);let t=sC.indexOf(e),r=sC.slice(t);return new Set(r)}function mG(e){let t={},r={children:t};for(let[o,a]of _e.sortMap(Object.entries(e),n=>n[0]))for(let n of _e.sortMap(a,u=>`${u.id}`))t[`${o}/${n.id}`]={value:ye.tuple(ye.Type.IDENT,G.parseIdent(o)),children:{ID:typeof n.id<"u"&&{label:"ID",value:ye.tuple(ye.Type.ID,n.id)},Issue:{label:"Issue",value:ye.tuple(ye.Type.NO_HINT,n.title)},URL:typeof n.url<"u"&&{label:"URL",value:ye.tuple(ye.Type.URL,n.url)},Severity:{label:"Severity",value:ye.tuple(ye.Type.NO_HINT,n.severity)},["Vulnerable Versions"]:{label:"Vulnerable Versions",value:ye.tuple(ye.Type.RANGE,n.vulnerable_versions)},["Tree Versions"]:{label:"Tree Versions",children:[...n.versions].sort(yBe.default.compare).map(u=>({value:ye.tuple(ye.Type.REFERENCE,u)}))},Dependents:{label:"Dependents",children:_e.sortMap(n.dependents,u=>G.stringifyLocator(u)).map(u=>({value:ye.tuple(ye.Type.LOCATOR,u)}))}}};return r}function yG(e,t,{all:r,environment:o}){let a=[],n=r?e.workspaces:[t],u=["all","production"].includes(o),A=["all","development"].includes(o);for(let p of n)for(let h of p.anchoredPackage.dependencies.values())(p.manifest.devDependencies.has(h.identHash)?!A:!u)||a.push({workspace:p,dependency:h});return a}function EG(e,t,{recursive:r}){let o=new Map,a=new Set,n=[],u=(A,p)=>{let h=e.storedResolutions.get(p.descriptorHash);if(typeof h>"u")throw new Error("Assertion failed: The resolution should have been registered");if(!a.has(h))a.add(h);else return;let w=e.storedPackages.get(h);if(typeof w>"u")throw new Error("Assertion failed: The package should have been registered");if(G.ensureDevirtualizedLocator(w).reference.startsWith("npm:")&&w.version!==null){let v=G.stringifyIdent(w),b=_e.getMapWithDefault(o,v);_e.getArrayWithDefault(b,w.version).push(A)}if(r)for(let v of w.dependencies.values())n.push([w,v])};for(let{workspace:A,dependency:p}of t)n.push([A.anchoredLocator,p]);for(;n.length>0;){let[A,p]=n.shift();u(A,p)}return o}var U0=class extends ut{constructor(){super(...arguments);this.all=he.Boolean("-A,--all",!1,{description:"Audit dependencies from all workspaces"});this.recursive=he.Boolean("-R,--recursive",!1,{description:"Audit transitive dependencies as well"});this.environment=he.String("--environment","all",{description:"Which environments to cover",validator:Vs(Qv)});this.json=he.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"});this.noDeprecations=he.Boolean("--no-deprecations",!1,{description:"Don't warn about deprecated packages"});this.severity=he.String("--severity","info",{description:"Minimal severity requested for packages to be displayed",validator:Vs(kv)});this.excludes=he.Array("--exclude",[],{description:"Array of glob patterns of packages to exclude from audit"});this.ignores=he.Array("--ignore",[],{description:"Array of glob patterns of advisory ID's to ignore in the audit report"})}async execute(){let r=await Ke.find(this.context.cwd,this.context.plugins),{project:o,workspace:a}=await Pt.find(r,this.context.cwd);if(!a)throw new tr(o.cwd,this.context.cwd);await o.restoreInstallState();let n=yG(o,a,{all:this.all,environment:this.environment}),u=EG(o,n,{recursive:this.recursive}),A=Array.from(new Set([...r.get("npmAuditExcludePackages"),...this.excludes])),p=Object.create(null);for(let[N,U]of u)A.some(V=>wG.default.isMatch(N,V))||(p[N]=[...U.keys()]);let h=zn.getAuditRegistry({configuration:r}),w,I=await fA.start({configuration:r,stdout:this.context.stdout},async()=>{let N=sn.post("/-/npm/v1/security/advisories/bulk",p,{authType:sn.AuthType.BEST_EFFORT,configuration:r,jsonResponse:!0,registry:h}),U=await Promise.all(this.noDeprecations?[]:Array.from(u,async([ee,le])=>{let fe=await sn.getPackageMetadata(G.parseIdent(ee),{project:o});return _e.mapAndFilter(le.keys(),de=>{let{deprecated:ge}=fe.versions[de];return ge?[ee,de,ge]:_e.mapAndFilter.skip})})),V=await N;for(let[ee,le,fe]of U.flat(1))Object.hasOwn(V,ee)&&V[ee].some(de=>Qr.satisfiesWithPrereleases(le,de.vulnerable_versions))||(V[ee]??=[],V[ee].push({id:`${ee} (deprecation)`,title:fe.trim()||"This package has been deprecated.",severity:"moderate",vulnerable_versions:le}));w=V});if(I.hasErrors())return I.exitCode();let v=dG(this.severity),b=Array.from(new Set([...r.get("npmAuditIgnoreAdvisories"),...this.ignores])),E=Object.create(null);for(let[N,U]of Object.entries(w)){let V=U.filter(ee=>!wG.default.isMatch(`${ee.id}`,b)&&v.has(ee.severity));V.length>0&&(E[N]=V.map(ee=>{let le=u.get(N);if(typeof le>"u")throw new Error("Assertion failed: Expected the registry to only return packages that were requested");let fe=[...le.keys()].filter(ge=>Qr.satisfiesWithPrereleases(ge,ee.vulnerable_versions)),de=new Map;for(let ge of fe)for(let oe of le.get(ge))de.set(oe.locatorHash,oe);return{...ee,versions:fe,dependents:[...de.values()]}}))}let R=Object.keys(E).length>0;return!this.json&&R?(ra.emitTree(mG(E),{configuration:r,json:this.json,stdout:this.context.stdout,separators:2}),1):(await Nt.start({configuration:r,includeFooter:!1,json:this.json,stdout:this.context.stdout},async N=>{N.reportJson(w),R||N.reportInfo(1,"No audit suggestions")}),R?1:0)}};U0.paths=[["npm","audit"]],U0.usage=nt.Usage({description:"perform a vulnerability audit against the installed packages",details:` - This command checks for known security reports on the packages you use. The reports are by default extracted from the npm registry, and may or may not be relevant to your actual program (not all vulnerabilities affect all code paths). - - For consistency with our other commands the default is to only check the direct dependencies for the active workspace. To extend this search to all workspaces, use \`-A,--all\`. To extend this search to both direct and transitive dependencies, use \`-R,--recursive\`. - - Applying the \`--severity\` flag will limit the audit table to vulnerabilities of the corresponding severity and above. Valid values are ${sC.map(r=>`\`${r}\``).join(", ")}. - - If the \`--json\` flag is set, Yarn will print the output exactly as received from the registry. Regardless of this flag, the process will exit with a non-zero exit code if a report is found for the selected packages. - - If certain packages produce false positives for a particular environment, the \`--exclude\` flag can be used to exclude any number of packages from the audit. This can also be set in the configuration file with the \`npmAuditExcludePackages\` option. - - If particular advisories are needed to be ignored, the \`--ignore\` flag can be used with Advisory ID's to ignore any number of advisories in the audit report. This can also be set in the configuration file with the \`npmAuditIgnoreAdvisories\` option. - - To understand the dependency tree requiring vulnerable packages, check the raw report with the \`--json\` flag or use \`yarn why package\` to get more information as to who depends on them. - `,examples:[["Checks for known security issues with the installed packages. The output is a list of known issues.","yarn npm audit"],["Audit dependencies in all workspaces","yarn npm audit --all"],["Limit auditing to `dependencies` (excludes `devDependencies`)","yarn npm audit --environment production"],["Show audit report as valid JSON","yarn npm audit --json"],["Audit all direct and transitive dependencies","yarn npm audit --recursive"],["Output moderate (or more severe) vulnerabilities","yarn npm audit --severity moderate"],["Exclude certain packages","yarn npm audit --exclude package1 --exclude package2"],["Ignore specific advisories","yarn npm audit --ignore 1234567 --ignore 7654321"]]});Ye();Ye();St();qt();var CG=$e(Zn()),IG=Ie("util"),_0=class extends ut{constructor(){super(...arguments);this.fields=he.String("-f,--fields",{description:"A comma-separated list of manifest fields that should be displayed"});this.json=he.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"});this.packages=he.Rest()}async execute(){let r=await Ke.find(this.context.cwd,this.context.plugins),{project:o}=await Pt.find(r,this.context.cwd),a=typeof this.fields<"u"?new Set(["name",...this.fields.split(/\s*,\s*/)]):null,n=[],u=!1,A=await Nt.start({configuration:r,includeFooter:!1,json:this.json,stdout:this.context.stdout},async p=>{for(let h of this.packages){let w;if(h==="."){let le=o.topLevelWorkspace;if(!le.manifest.name)throw new it(`Missing ${ye.pretty(r,"name",ye.Type.CODE)} field in ${Ae.fromPortablePath(J.join(le.cwd,gr.manifest))}`);w=G.makeDescriptor(le.manifest.name,"unknown")}else w=G.parseDescriptor(h);let I=sn.getIdentUrl(w),v=BG(await sn.get(I,{configuration:r,ident:w,jsonResponse:!0,customErrorMessage:sn.customPackageError})),b=Object.keys(v.versions).sort(CG.default.compareLoose),R=v["dist-tags"].latest||b[b.length-1],N=Qr.validRange(w.range);if(N){let le=CG.default.maxSatisfying(b,N);le!==null?R=le:(p.reportWarning(0,`Unmet range ${G.prettyRange(r,w.range)}; falling back to the latest version`),u=!0)}else Object.hasOwn(v["dist-tags"],w.range)?R=v["dist-tags"][w.range]:w.range!=="unknown"&&(p.reportWarning(0,`Unknown tag ${G.prettyRange(r,w.range)}; falling back to the latest version`),u=!0);let U=v.versions[R],V={...v,...U,version:R,versions:b},ee;if(a!==null){ee={};for(let le of a){let fe=V[le];if(typeof fe<"u")ee[le]=fe;else{p.reportWarning(1,`The ${ye.pretty(r,le,ye.Type.CODE)} field doesn't exist inside ${G.prettyIdent(r,w)}'s information`),u=!0;continue}}}else this.json||(delete V.dist,delete V.readme,delete V.users),ee=V;p.reportJson(ee),this.json||n.push(ee)}});IG.inspect.styles.name="cyan";for(let p of n)(p!==n[0]||u)&&this.context.stdout.write(` -`),this.context.stdout.write(`${(0,IG.inspect)(p,{depth:1/0,colors:!0,compact:!1})} -`);return A.exitCode()}};_0.paths=[["npm","info"]],_0.usage=nt.Usage({category:"Npm-related commands",description:"show information about a package",details:"\n This command fetches information about a package from the npm registry and prints it in a tree format.\n\n The package does not have to be installed locally, but needs to have been published (in particular, local changes will be ignored even for workspaces).\n\n Append `@<range>` to the package argument to provide information specific to the latest version that satisfies the range or to the corresponding tagged version. If the range is invalid or if there is no version satisfying the range, the command will print a warning and fall back to the latest version.\n\n If the `-f,--fields` option is set, it's a comma-separated list of fields which will be used to only display part of the package information.\n\n By default, this command won't return the `dist`, `readme`, and `users` fields, since they are often very long. To explicitly request those fields, explicitly list them with the `--fields` flag or request the output in JSON mode.\n ",examples:[["Show all available information about react (except the `dist`, `readme`, and `users` fields)","yarn npm info react"],["Show all available information about react as valid JSON (including the `dist`, `readme`, and `users` fields)","yarn npm info react --json"],["Show all available information about react@16.12.0","yarn npm info react@16.12.0"],["Show all available information about react@next","yarn npm info react@next"],["Show the description of react","yarn npm info react --fields description"],["Show all available versions of react","yarn npm info react --fields versions"],["Show the readme of react","yarn npm info react --fields readme"],["Show a few fields of react","yarn npm info react --fields homepage,repository"]]});function BG(e){if(Array.isArray(e)){let t=[];for(let r of e)r=BG(r),r&&t.push(r);return t}else if(typeof e=="object"&&e!==null){let t={};for(let r of Object.keys(e)){if(r.startsWith("_"))continue;let o=BG(e[r]);o&&(t[r]=o)}return t}else return e||null}Ye();Ye();qt();var EBe=$e(l2()),H0=class extends ut{constructor(){super(...arguments);this.scope=he.String("-s,--scope",{description:"Login to the registry configured for a given scope"});this.publish=he.Boolean("--publish",!1,{description:"Login to the publish registry"});this.alwaysAuth=he.Boolean("--always-auth",{description:"Set the npmAlwaysAuth configuration"})}async execute(){let r=await Ke.find(this.context.cwd,this.context.plugins),o=await Zk({configuration:r,cwd:this.context.cwd,publish:this.publish,scope:this.scope});return(await Nt.start({configuration:r,stdout:this.context.stdout,includeFooter:!1},async n=>{let u=await yvt({configuration:r,registry:o,report:n,stdin:this.context.stdin,stdout:this.context.stdout}),A=`/-/user/org.couchdb.user:${encodeURIComponent(u.name)}`,p=await sn.put(A,u,{attemptedAs:u.name,configuration:r,registry:o,jsonResponse:!0,authType:sn.AuthType.NO_AUTH});return await mvt(o,p.token,{alwaysAuth:this.alwaysAuth,scope:this.scope}),n.reportInfo(0,"Successfully logged in")})).exitCode()}};H0.paths=[["npm","login"]],H0.usage=nt.Usage({category:"Npm-related commands",description:"store new login info to access the npm registry",details:"\n This command will ask you for your username, password, and 2FA One-Time-Password (when it applies). It will then modify your local configuration (in your home folder, never in the project itself) to reference the new tokens thus generated.\n\n Adding the `-s,--scope` flag will cause the authentication to be done against whatever registry is configured for the associated scope (see also `npmScopes`).\n\n Adding the `--publish` flag will cause the authentication to be done against the registry used when publishing the package (see also `publishConfig.registry` and `npmPublishRegistry`).\n ",examples:[["Login to the default registry","yarn npm login"],["Login to the registry linked to the @my-scope registry","yarn npm login --scope my-scope"],["Login to the publish registry for the current package","yarn npm login --publish"]]});async function Zk({scope:e,publish:t,configuration:r,cwd:o}){return e&&t?zn.getScopeRegistry(e,{configuration:r,type:zn.RegistryType.PUBLISH_REGISTRY}):e?zn.getScopeRegistry(e,{configuration:r}):t?zn.getPublishRegistry((await uw(r,o)).manifest,{configuration:r}):zn.getDefaultRegistry({configuration:r})}async function mvt(e,t,{alwaysAuth:r,scope:o}){let a=u=>A=>{let p=_e.isIndexableObject(A)?A:{},h=p[u],w=_e.isIndexableObject(h)?h:{};return{...p,[u]:{...w,...r!==void 0?{npmAlwaysAuth:r}:{},npmAuthToken:t}}},n=o?{npmScopes:a(o)}:{npmRegistries:a(e)};return await Ke.updateHomeConfiguration(n)}async function yvt({configuration:e,registry:t,report:r,stdin:o,stdout:a}){r.reportInfo(0,`Logging in to ${ye.pretty(e,t,ye.Type.URL)}`);let n=!1;if(t.match(/^https:\/\/npm\.pkg\.github\.com(\/|$)/)&&(r.reportInfo(0,"You seem to be using the GitHub Package Registry. Tokens must be generated with the 'repo', 'write:packages', and 'read:packages' permissions."),n=!0),r.reportSeparator(),e.env.YARN_IS_TEST_ENV)return{name:e.env.YARN_INJECT_NPM_USER||"",password:e.env.YARN_INJECT_NPM_PASSWORD||""};let{username:u,password:A}=await(0,EBe.prompt)([{type:"input",name:"username",message:"Username:",required:!0,onCancel:()=>process.exit(130),stdin:o,stdout:a},{type:"password",name:"password",message:n?"Token:":"Password:",required:!0,onCancel:()=>process.exit(130),stdin:o,stdout:a}]);return r.reportSeparator(),{name:u,password:A}}Ye();Ye();qt();var oC=new Set(["npmAuthIdent","npmAuthToken"]),j0=class extends ut{constructor(){super(...arguments);this.scope=he.String("-s,--scope",{description:"Logout of the registry configured for a given scope"});this.publish=he.Boolean("--publish",!1,{description:"Logout of the publish registry"});this.all=he.Boolean("-A,--all",!1,{description:"Logout of all registries"})}async execute(){let r=await Ke.find(this.context.cwd,this.context.plugins),o=async()=>{let n=await Zk({configuration:r,cwd:this.context.cwd,publish:this.publish,scope:this.scope}),u=await Ke.find(this.context.cwd,this.context.plugins),A=G.makeIdent(this.scope??null,"pkg");return!zn.getAuthConfiguration(n,{configuration:u,ident:A}).get("npmAuthToken")};return(await Nt.start({configuration:r,stdout:this.context.stdout},async n=>{if(this.all&&(await wvt(),n.reportInfo(0,"Successfully logged out from everything")),this.scope){await wBe("npmScopes",this.scope),await o()?n.reportInfo(0,`Successfully logged out from ${this.scope}`):n.reportWarning(0,"Scope authentication settings removed, but some other ones settings still apply to it");return}let u=await Zk({configuration:r,cwd:this.context.cwd,publish:this.publish});await wBe("npmRegistries",u),await o()?n.reportInfo(0,`Successfully logged out from ${u}`):n.reportWarning(0,"Registry authentication settings removed, but some other ones settings still apply to it")})).exitCode()}};j0.paths=[["npm","logout"]],j0.usage=nt.Usage({category:"Npm-related commands",description:"logout of the npm registry",details:"\n This command will log you out by modifying your local configuration (in your home folder, never in the project itself) to delete all credentials linked to a registry.\n\n Adding the `-s,--scope` flag will cause the deletion to be done against whatever registry is configured for the associated scope (see also `npmScopes`).\n\n Adding the `--publish` flag will cause the deletion to be done against the registry used when publishing the package (see also `publishConfig.registry` and `npmPublishRegistry`).\n\n Adding the `-A,--all` flag will cause the deletion to be done against all registries and scopes.\n ",examples:[["Logout of the default registry","yarn npm logout"],["Logout of the @my-scope scope","yarn npm logout --scope my-scope"],["Logout of the publish registry for the current package","yarn npm logout --publish"],["Logout of all registries","yarn npm logout --all"]]});function Evt(e,t){let r=e[t];if(!_e.isIndexableObject(r))return!1;let o=new Set(Object.keys(r));if([...oC].every(n=>!o.has(n)))return!1;for(let n of oC)o.delete(n);if(o.size===0)return e[t]=void 0,!0;let a={...r};for(let n of oC)delete a[n];return e[t]=a,!0}async function wvt(){let e=t=>{let r=!1,o=_e.isIndexableObject(t)?{...t}:{};o.npmAuthToken&&(delete o.npmAuthToken,r=!0);for(let a of Object.keys(o))Evt(o,a)&&(r=!0);if(Object.keys(o).length!==0)return r?o:t};return await Ke.updateHomeConfiguration({npmRegistries:e,npmScopes:e})}async function wBe(e,t){return await Ke.updateHomeConfiguration({[e]:r=>{let o=_e.isIndexableObject(r)?r:{};if(!Object.hasOwn(o,t))return r;let a=o[t],n=_e.isIndexableObject(a)?a:{},u=new Set(Object.keys(n));if([...oC].every(p=>!u.has(p)))return r;for(let p of oC)u.delete(p);if(u.size===0)return Object.keys(o).length===1?void 0:{...o,[t]:void 0};let A={};for(let p of oC)A[p]=void 0;return{...o,[t]:{...n,...A}}}})}Ye();qt();var q0=class extends ut{constructor(){super(...arguments);this.access=he.String("--access",{description:"The access for the published package (public or restricted)"});this.tag=he.String("--tag","latest",{description:"The tag on the registry that the package should be attached to"});this.tolerateRepublish=he.Boolean("--tolerate-republish",!1,{description:"Warn and exit when republishing an already existing version of a package"});this.otp=he.String("--otp",{description:"The OTP token to use with the command"})}async execute(){let r=await Ke.find(this.context.cwd,this.context.plugins),{project:o,workspace:a}=await Pt.find(r,this.context.cwd);if(!a)throw new tr(o.cwd,this.context.cwd);if(a.manifest.private)throw new it("Private workspaces cannot be published");if(a.manifest.name===null||a.manifest.version===null)throw new it("Workspaces must have valid names and versions to be published on an external registry");await o.restoreInstallState();let n=a.manifest.name,u=a.manifest.version,A=zn.getPublishRegistry(a.manifest,{configuration:r});return(await Nt.start({configuration:r,stdout:this.context.stdout},async h=>{if(this.tolerateRepublish)try{let w=await sn.get(sn.getIdentUrl(n),{configuration:r,registry:A,ident:n,jsonResponse:!0});if(!Object.hasOwn(w,"versions"))throw new zt(15,'Registry returned invalid data for - missing "versions" field');if(Object.hasOwn(w.versions,u)){h.reportWarning(0,`Registry already knows about version ${u}; skipping.`);return}}catch(w){if(w.originalError?.response?.statusCode!==404)throw w}await cn.maybeExecuteWorkspaceLifecycleScript(a,"prepublish",{report:h}),await CA.prepareForPack(a,{report:h},async()=>{let w=await CA.genPackList(a);for(let R of w)h.reportInfo(null,R);let I=await CA.genPackStream(a,w),v=await _e.bufferStream(I),b=await iC.getGitHead(a.cwd),E=await iC.makePublishBody(a,v,{access:this.access,tag:this.tag,registry:A,gitHead:b});await sn.put(sn.getIdentUrl(n),E,{configuration:r,registry:A,ident:n,otp:this.otp,jsonResponse:!0})}),h.reportInfo(0,"Package archive published")})).exitCode()}};q0.paths=[["npm","publish"]],q0.usage=nt.Usage({category:"Npm-related commands",description:"publish the active workspace to the npm registry",details:'\n This command will pack the active workspace into a fresh archive and upload it to the npm registry.\n\n The package will by default be attached to the `latest` tag on the registry, but this behavior can be overriden by using the `--tag` option.\n\n Note that for legacy reasons scoped packages are by default published with an access set to `restricted` (aka "private packages"). This requires you to register for a paid npm plan. In case you simply wish to publish a public scoped package to the registry (for free), just add the `--access public` flag. This behavior can be enabled by default through the `npmPublishAccess` settings.\n ',examples:[["Publish the active workspace","yarn npm publish"]]});Ye();qt();var CBe=$e(Zn());Ye();St();qt();var G0=class extends ut{constructor(){super(...arguments);this.json=he.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"});this.package=he.String({required:!1})}async execute(){let r=await Ke.find(this.context.cwd,this.context.plugins),{project:o,workspace:a}=await Pt.find(r,this.context.cwd),n;if(typeof this.package<"u")n=G.parseIdent(this.package);else{if(!a)throw new tr(o.cwd,this.context.cwd);if(!a.manifest.name)throw new it(`Missing 'name' field in ${Ae.fromPortablePath(J.join(a.cwd,gr.manifest))}`);n=a.manifest.name}let u=await Rv(n,r),p={children:_e.sortMap(Object.entries(u),([h])=>h).map(([h,w])=>({value:ye.tuple(ye.Type.RESOLUTION,{descriptor:G.makeDescriptor(n,h),locator:G.makeLocator(n,w)})}))};return ra.emitTree(p,{configuration:r,json:this.json,stdout:this.context.stdout})}};G0.paths=[["npm","tag","list"]],G0.usage=nt.Usage({category:"Npm-related commands",description:"list all dist-tags of a package",details:` - This command will list all tags of a package from the npm registry. - - If the package is not specified, Yarn will default to the current workspace. - `,examples:[["List all tags of package `my-pkg`","yarn npm tag list my-pkg"]]});async function Rv(e,t){let r=`/-/package${sn.getIdentUrl(e)}/dist-tags`;return sn.get(r,{configuration:t,ident:e,jsonResponse:!0,customErrorMessage:sn.customPackageError})}var Y0=class extends ut{constructor(){super(...arguments);this.package=he.String();this.tag=he.String()}async execute(){let r=await Ke.find(this.context.cwd,this.context.plugins),{project:o,workspace:a}=await Pt.find(r,this.context.cwd);if(!a)throw new tr(o.cwd,this.context.cwd);let n=G.parseDescriptor(this.package,!0),u=n.range;if(!CBe.default.valid(u))throw new it(`The range ${ye.pretty(r,n.range,ye.Type.RANGE)} must be a valid semver version`);let A=zn.getPublishRegistry(a.manifest,{configuration:r}),p=ye.pretty(r,n,ye.Type.IDENT),h=ye.pretty(r,u,ye.Type.RANGE),w=ye.pretty(r,this.tag,ye.Type.CODE);return(await Nt.start({configuration:r,stdout:this.context.stdout},async v=>{let b=await Rv(n,r);Object.hasOwn(b,this.tag)&&b[this.tag]===u&&v.reportWarning(0,`Tag ${w} is already set to version ${h}`);let E=`/-/package${sn.getIdentUrl(n)}/dist-tags/${encodeURIComponent(this.tag)}`;await sn.put(E,u,{configuration:r,registry:A,ident:n,jsonRequest:!0,jsonResponse:!0}),v.reportInfo(0,`Tag ${w} added to version ${h} of package ${p}`)})).exitCode()}};Y0.paths=[["npm","tag","add"]],Y0.usage=nt.Usage({category:"Npm-related commands",description:"add a tag for a specific version of a package",details:` - This command will add a tag to the npm registry for a specific version of a package. If the tag already exists, it will be overwritten. - `,examples:[["Add a `beta` tag for version `2.3.4-beta.4` of package `my-pkg`","yarn npm tag add my-pkg@2.3.4-beta.4 beta"]]});Ye();qt();var W0=class extends ut{constructor(){super(...arguments);this.package=he.String();this.tag=he.String()}async execute(){if(this.tag==="latest")throw new it("The 'latest' tag cannot be removed.");let r=await Ke.find(this.context.cwd,this.context.plugins),{project:o,workspace:a}=await Pt.find(r,this.context.cwd);if(!a)throw new tr(o.cwd,this.context.cwd);let n=G.parseIdent(this.package),u=zn.getPublishRegistry(a.manifest,{configuration:r}),A=ye.pretty(r,this.tag,ye.Type.CODE),p=ye.pretty(r,n,ye.Type.IDENT),h=await Rv(n,r);if(!Object.hasOwn(h,this.tag))throw new it(`${A} is not a tag of package ${p}`);return(await Nt.start({configuration:r,stdout:this.context.stdout},async I=>{let v=`/-/package${sn.getIdentUrl(n)}/dist-tags/${encodeURIComponent(this.tag)}`;await sn.del(v,{configuration:r,registry:u,ident:n,jsonResponse:!0}),I.reportInfo(0,`Tag ${A} removed from package ${p}`)})).exitCode()}};W0.paths=[["npm","tag","remove"]],W0.usage=nt.Usage({category:"Npm-related commands",description:"remove a tag from a package",details:` - This command will remove a tag from a package from the npm registry. - `,examples:[["Remove the `beta` tag from package `my-pkg`","yarn npm tag remove my-pkg beta"]]});Ye();Ye();qt();var K0=class extends ut{constructor(){super(...arguments);this.scope=he.String("-s,--scope",{description:"Print username for the registry configured for a given scope"});this.publish=he.Boolean("--publish",!1,{description:"Print username for the publish registry"})}async execute(){let r=await Ke.find(this.context.cwd,this.context.plugins),o;return this.scope&&this.publish?o=zn.getScopeRegistry(this.scope,{configuration:r,type:zn.RegistryType.PUBLISH_REGISTRY}):this.scope?o=zn.getScopeRegistry(this.scope,{configuration:r}):this.publish?o=zn.getPublishRegistry((await uw(r,this.context.cwd)).manifest,{configuration:r}):o=zn.getDefaultRegistry({configuration:r}),(await Nt.start({configuration:r,stdout:this.context.stdout},async n=>{let u;try{u=await sn.get("/-/whoami",{configuration:r,registry:o,authType:sn.AuthType.ALWAYS_AUTH,jsonResponse:!0,ident:this.scope?G.makeIdent(this.scope,""):void 0})}catch(A){if(A.response?.statusCode===401||A.response?.statusCode===403){n.reportError(41,"Authentication failed - your credentials may have expired");return}else throw A}n.reportInfo(0,u.username)})).exitCode()}};K0.paths=[["npm","whoami"]],K0.usage=nt.Usage({category:"Npm-related commands",description:"display the name of the authenticated user",details:"\n Print the username associated with the current authentication settings to the standard output.\n\n When using `-s,--scope`, the username printed will be the one that matches the authentication settings of the registry associated with the given scope (those settings can be overriden using the `npmRegistries` map, and the registry associated with the scope is configured via the `npmScopes` map).\n\n When using `--publish`, the registry we'll select will by default be the one used when publishing packages (`publishConfig.registry` or `npmPublishRegistry` if available, otherwise we'll fallback to the regular `npmRegistryServer`).\n ",examples:[["Print username for the default registry","yarn npm whoami"],["Print username for the registry on a given scope","yarn npm whoami --scope company"]]});var Cvt={configuration:{npmPublishAccess:{description:"Default access of the published packages",type:"STRING",default:null},npmAuditExcludePackages:{description:"Array of glob patterns of packages to exclude from npm audit",type:"STRING",default:[],isArray:!0},npmAuditIgnoreAdvisories:{description:"Array of glob patterns of advisory IDs to exclude from npm audit",type:"STRING",default:[],isArray:!0}},commands:[U0,_0,H0,j0,q0,Y0,G0,W0,K0]},Ivt=Cvt;var kG={};Jt(kG,{PatchCommand:()=>z0,PatchCommitCommand:()=>V0,PatchFetcher:()=>Mv,PatchResolver:()=>Uv,default:()=>_vt,patchUtils:()=>Dm});Ye();Ye();St();iA();var Dm={};Jt(Dm,{applyPatchFile:()=>eF,diffFolders:()=>bG,ensureUnpatchedDescriptor:()=>DG,ensureUnpatchedLocator:()=>rF,extractPackageToDisk:()=>xG,extractPatchFlags:()=>xBe,isParentRequired:()=>PG,isPatchDescriptor:()=>tF,isPatchLocator:()=>J0,loadPatchFiles:()=>Ov,makeDescriptor:()=>nF,makeLocator:()=>SG,makePatchHash:()=>QG,parseDescriptor:()=>Nv,parseLocator:()=>Lv,parsePatchFile:()=>Tv,unpatchDescriptor:()=>Ovt,unpatchLocator:()=>Mvt});Ye();St();Ye();St();var Bvt=/^@@ -(\d+)(,(\d+))? \+(\d+)(,(\d+))? @@.*/;function aC(e){return J.relative(Bt.root,J.resolve(Bt.root,Ae.toPortablePath(e)))}function vvt(e){let t=e.trim().match(Bvt);if(!t)throw new Error(`Bad header line: '${e}'`);return{original:{start:Math.max(Number(t[1]),1),length:Number(t[3]||1)},patched:{start:Math.max(Number(t[4]),1),length:Number(t[6]||1)}}}var Dvt=420,Svt=493;var IBe=()=>({semverExclusivity:null,diffLineFromPath:null,diffLineToPath:null,oldMode:null,newMode:null,deletedFileMode:null,newFileMode:null,renameFrom:null,renameTo:null,beforeHash:null,afterHash:null,fromPath:null,toPath:null,hunks:null}),Pvt=e=>({header:vvt(e),parts:[]}),xvt={["@"]:"header",["-"]:"deletion",["+"]:"insertion",[" "]:"context",["\\"]:"pragma",undefined:"context"};function bvt(e){let t=[],r=IBe(),o="parsing header",a=null,n=null;function u(){a&&(n&&(a.parts.push(n),n=null),r.hunks.push(a),a=null)}function A(){u(),t.push(r),r=IBe()}for(let p=0;p<e.length;p++){let h=e[p];if(o==="parsing header")if(h.startsWith("@@"))o="parsing hunks",r.hunks=[],p-=1;else if(h.startsWith("diff --git ")){r&&r.diffLineFromPath&&A();let w=h.match(/^diff --git a\/(.*?) b\/(.*?)\s*$/);if(!w)throw new Error(`Bad diff line: ${h}`);r.diffLineFromPath=w[1],r.diffLineToPath=w[2]}else if(h.startsWith("old mode "))r.oldMode=h.slice(9).trim();else if(h.startsWith("new mode "))r.newMode=h.slice(9).trim();else if(h.startsWith("deleted file mode "))r.deletedFileMode=h.slice(18).trim();else if(h.startsWith("new file mode "))r.newFileMode=h.slice(14).trim();else if(h.startsWith("rename from "))r.renameFrom=h.slice(12).trim();else if(h.startsWith("rename to "))r.renameTo=h.slice(10).trim();else if(h.startsWith("index ")){let w=h.match(/(\w+)\.\.(\w+)/);if(!w)continue;r.beforeHash=w[1],r.afterHash=w[2]}else h.startsWith("semver exclusivity ")?r.semverExclusivity=h.slice(19).trim():h.startsWith("--- ")?r.fromPath=h.slice(6).trim():h.startsWith("+++ ")&&(r.toPath=h.slice(6).trim());else{let w=xvt[h[0]]||null;switch(w){case"header":u(),a=Pvt(h);break;case null:o="parsing header",A(),p-=1;break;case"pragma":{if(!h.startsWith("\\ No newline at end of file"))throw new Error(`Unrecognized pragma in patch file: ${h}`);if(!n)throw new Error("Bad parser state: No newline at EOF pragma encountered without context");n.noNewlineAtEndOfFile=!0}break;case"context":case"deletion":case"insertion":{if(!a)throw new Error("Bad parser state: Hunk lines encountered before hunk header");n&&n.type!==w&&(a.parts.push(n),n=null),n||(n={type:w,lines:[],noNewlineAtEndOfFile:!1}),n.lines.push(h.slice(1))}break;default:_e.assertNever(w);break}}}A();for(let{hunks:p}of t)if(p)for(let h of p)kvt(h);return t}function Qvt(e){let t=[];for(let r of e){let{semverExclusivity:o,diffLineFromPath:a,diffLineToPath:n,oldMode:u,newMode:A,deletedFileMode:p,newFileMode:h,renameFrom:w,renameTo:I,beforeHash:v,afterHash:b,fromPath:E,toPath:R,hunks:N}=r,U=w?"rename":p?"file deletion":h?"file creation":N&&N.length>0?"patch":"mode change",V=null;switch(U){case"rename":{if(!w||!I)throw new Error("Bad parser state: rename from & to not given");t.push({type:"rename",semverExclusivity:o,fromPath:aC(w),toPath:aC(I)}),V=I}break;case"file deletion":{let ee=a||E;if(!ee)throw new Error("Bad parse state: no path given for file deletion");t.push({type:"file deletion",semverExclusivity:o,hunk:N&&N[0]||null,path:aC(ee),mode:$k(p),hash:v})}break;case"file creation":{let ee=n||R;if(!ee)throw new Error("Bad parse state: no path given for file creation");t.push({type:"file creation",semverExclusivity:o,hunk:N&&N[0]||null,path:aC(ee),mode:$k(h),hash:b})}break;case"patch":case"mode change":V=R||n;break;default:_e.assertNever(U);break}V&&u&&A&&u!==A&&t.push({type:"mode change",semverExclusivity:o,path:aC(V),oldMode:$k(u),newMode:$k(A)}),V&&N&&N.length&&t.push({type:"patch",semverExclusivity:o,path:aC(V),hunks:N,beforeHash:v,afterHash:b})}if(t.length===0)throw new Error("Unable to parse patch file: No changes found. Make sure the patch is a valid UTF8 encoded string");return t}function $k(e){let t=parseInt(e,8)&511;if(t!==Dvt&&t!==Svt)throw new Error(`Unexpected file mode string: ${e}`);return t}function Tv(e){let t=e.split(/\n/g);return t[t.length-1]===""&&t.pop(),Qvt(bvt(t))}function kvt(e){let t=0,r=0;for(let{type:o,lines:a}of e.parts)switch(o){case"context":r+=a.length,t+=a.length;break;case"deletion":t+=a.length;break;case"insertion":r+=a.length;break;default:_e.assertNever(o);break}if(t!==e.header.original.length||r!==e.header.patched.length){let o=a=>a<0?a:`+${a}`;throw new Error(`hunk header integrity check failed (expected @@ ${o(e.header.original.length)} ${o(e.header.patched.length)} @@, got @@ ${o(t)} ${o(r)} @@)`)}}Ye();St();var lC=class extends Error{constructor(r,o){super(`Cannot apply hunk #${r+1}`);this.hunk=o}};async function cC(e,t,r){let o=await e.lstatPromise(t),a=await r();typeof a<"u"&&(t=a),await e.lutimesPromise(t,o.atime,o.mtime)}async function eF(e,{baseFs:t=new Rn,dryRun:r=!1,version:o=null}={}){for(let a of e)if(!(a.semverExclusivity!==null&&o!==null&&!Qr.satisfiesWithPrereleases(o,a.semverExclusivity)))switch(a.type){case"file deletion":if(r){if(!t.existsSync(a.path))throw new Error(`Trying to delete a file that doesn't exist: ${a.path}`)}else await cC(t,J.dirname(a.path),async()=>{await t.unlinkPromise(a.path)});break;case"rename":if(r){if(!t.existsSync(a.fromPath))throw new Error(`Trying to move a file that doesn't exist: ${a.fromPath}`)}else await cC(t,J.dirname(a.fromPath),async()=>{await cC(t,J.dirname(a.toPath),async()=>{await cC(t,a.fromPath,async()=>(await t.movePromise(a.fromPath,a.toPath),a.toPath))})});break;case"file creation":if(r){if(t.existsSync(a.path))throw new Error(`Trying to create a file that already exists: ${a.path}`)}else{let n=a.hunk?a.hunk.parts[0].lines.join(` -`)+(a.hunk.parts[0].noNewlineAtEndOfFile?"":` -`):"";await t.mkdirpPromise(J.dirname(a.path),{chmod:493,utimes:[Bi.SAFE_TIME,Bi.SAFE_TIME]}),await t.writeFilePromise(a.path,n,{mode:a.mode}),await t.utimesPromise(a.path,Bi.SAFE_TIME,Bi.SAFE_TIME)}break;case"patch":await cC(t,a.path,async()=>{await Tvt(a,{baseFs:t,dryRun:r})});break;case"mode change":{let u=(await t.statPromise(a.path)).mode;if(BBe(a.newMode)!==BBe(u))continue;await cC(t,a.path,async()=>{await t.chmodPromise(a.path,a.newMode)})}break;default:_e.assertNever(a);break}}function BBe(e){return(e&64)>0}function vBe(e){return e.replace(/\s+$/,"")}function Rvt(e,t){return vBe(e)===vBe(t)}async function Tvt({hunks:e,path:t},{baseFs:r,dryRun:o=!1}){let a=await r.statSync(t).mode,u=(await r.readFileSync(t,"utf8")).split(/\n/),A=[],p=0,h=0;for(let I of e){let v=Math.max(h,I.header.patched.start+p),b=Math.max(0,v-h),E=Math.max(0,u.length-v-I.header.original.length),R=Math.max(b,E),N=0,U=0,V=null;for(;N<=R;){if(N<=b&&(U=v-N,V=DBe(I,u,U),V!==null)){N=-N;break}if(N<=E&&(U=v+N,V=DBe(I,u,U),V!==null))break;N+=1}if(V===null)throw new lC(e.indexOf(I),I);A.push(V),p+=N,h=U+I.header.original.length}if(o)return;let w=0;for(let I of A)for(let v of I)switch(v.type){case"splice":{let b=v.index+w;u.splice(b,v.numToDelete,...v.linesToInsert),w+=v.linesToInsert.length-v.numToDelete}break;case"pop":u.pop();break;case"push":u.push(v.line);break;default:_e.assertNever(v);break}await r.writeFilePromise(t,u.join(` -`),{mode:a})}function DBe(e,t,r){let o=[];for(let a of e.parts)switch(a.type){case"context":case"deletion":{for(let n of a.lines){let u=t[r];if(u==null||!Rvt(u,n))return null;r+=1}a.type==="deletion"&&(o.push({type:"splice",index:r-a.lines.length,numToDelete:a.lines.length,linesToInsert:[]}),a.noNewlineAtEndOfFile&&o.push({type:"push",line:""}))}break;case"insertion":o.push({type:"splice",index:r,numToDelete:0,linesToInsert:a.lines}),a.noNewlineAtEndOfFile&&o.push({type:"pop"});break;default:_e.assertNever(a.type);break}return o}var Lvt=/^builtin<([^>]+)>$/;function uC(e,t){let{protocol:r,source:o,selector:a,params:n}=G.parseRange(e);if(r!=="patch:")throw new Error("Invalid patch range");if(o===null)throw new Error("Patch locators must explicitly define their source");let u=a?a.split(/&/).map(w=>Ae.toPortablePath(w)):[],A=n&&typeof n.locator=="string"?G.parseLocator(n.locator):null,p=n&&typeof n.version=="string"?n.version:null,h=t(o);return{parentLocator:A,sourceItem:h,patchPaths:u,sourceVersion:p}}function tF(e){return e.range.startsWith("patch:")}function J0(e){return e.reference.startsWith("patch:")}function Nv(e){let{sourceItem:t,...r}=uC(e.range,G.parseDescriptor);return{...r,sourceDescriptor:t}}function Lv(e){let{sourceItem:t,...r}=uC(e.reference,G.parseLocator);return{...r,sourceLocator:t}}function Ovt(e){let{sourceItem:t}=uC(e.range,G.parseDescriptor);return t}function Mvt(e){let{sourceItem:t}=uC(e.reference,G.parseLocator);return t}function DG(e){if(!tF(e))return e;let{sourceItem:t}=uC(e.range,G.parseDescriptor);return t}function rF(e){if(!J0(e))return e;let{sourceItem:t}=uC(e.reference,G.parseLocator);return t}function SBe({parentLocator:e,sourceItem:t,patchPaths:r,sourceVersion:o,patchHash:a},n){let u=e!==null?{locator:G.stringifyLocator(e)}:{},A=typeof o<"u"?{version:o}:{},p=typeof a<"u"?{hash:a}:{};return G.makeRange({protocol:"patch:",source:n(t),selector:r.join("&"),params:{...A,...p,...u}})}function nF(e,{parentLocator:t,sourceDescriptor:r,patchPaths:o}){return G.makeDescriptor(e,SBe({parentLocator:t,sourceItem:r,patchPaths:o},G.stringifyDescriptor))}function SG(e,{parentLocator:t,sourcePackage:r,patchPaths:o,patchHash:a}){return G.makeLocator(e,SBe({parentLocator:t,sourceItem:r,sourceVersion:r.version,patchPaths:o,patchHash:a},G.stringifyLocator))}function PBe({onAbsolute:e,onRelative:t,onProject:r,onBuiltin:o},a){let n=a.lastIndexOf("!");n!==-1&&(a=a.slice(n+1));let u=a.match(Lvt);return u!==null?o(u[1]):a.startsWith("~/")?r(a.slice(2)):J.isAbsolute(a)?e(a):t(a)}function xBe(e){let t=e.lastIndexOf("!");return{optional:(t!==-1?new Set(e.slice(0,t).split(/!/)):new Set).has("optional")}}function PG(e){return PBe({onAbsolute:()=>!1,onRelative:()=>!0,onProject:()=>!1,onBuiltin:()=>!1},e)}async function Ov(e,t,r){let o=e!==null?await r.fetcher.fetch(e,r):null,a=o&&o.localPath?{packageFs:new hn(Bt.root),prefixPath:J.relative(Bt.root,o.localPath)}:o;o&&o!==a&&o.releaseFs&&o.releaseFs();let n=await _e.releaseAfterUseAsync(async()=>await Promise.all(t.map(async u=>{let A=xBe(u),p=await PBe({onAbsolute:async h=>await ae.readFilePromise(h,"utf8"),onRelative:async h=>{if(a===null)throw new Error("Assertion failed: The parent locator should have been fetched");return await a.packageFs.readFilePromise(J.join(a.prefixPath,h),"utf8")},onProject:async h=>await ae.readFilePromise(J.join(r.project.cwd,h),"utf8"),onBuiltin:async h=>await r.project.configuration.firstHook(w=>w.getBuiltinPatch,r.project,h)},u);return{...A,source:p}})));for(let u of n)typeof u.source=="string"&&(u.source=u.source.replace(/\r\n?/g,` -`));return n}async function xG(e,{cache:t,project:r}){let o=r.storedPackages.get(e.locatorHash);if(typeof o>"u")throw new Error("Assertion failed: Expected the package to be registered");let a=rF(e),n=r.storedChecksums,u=new ki,A=await ae.mktempPromise(),p=J.join(A,"source"),h=J.join(A,"user"),w=J.join(A,".yarn-patch.json"),I=r.configuration.makeFetcher(),v=[];try{let b,E;if(e.locatorHash===a.locatorHash){let R=await I.fetch(e,{cache:t,project:r,fetcher:I,checksums:n,report:u});v.push(()=>R.releaseFs?.()),b=R,E=R}else b=await I.fetch(e,{cache:t,project:r,fetcher:I,checksums:n,report:u}),v.push(()=>b.releaseFs?.()),E=await I.fetch(e,{cache:t,project:r,fetcher:I,checksums:n,report:u}),v.push(()=>E.releaseFs?.());await Promise.all([ae.copyPromise(p,b.prefixPath,{baseFs:b.packageFs}),ae.copyPromise(h,E.prefixPath,{baseFs:E.packageFs}),ae.writeJsonPromise(w,{locator:G.stringifyLocator(e),version:o.version})])}finally{for(let b of v)b()}return ae.detachTemp(A),h}async function bG(e,t){let r=Ae.fromPortablePath(e).replace(/\\/g,"/"),o=Ae.fromPortablePath(t).replace(/\\/g,"/"),{stdout:a,stderr:n}=await Mr.execvp("git",["-c","core.safecrlf=false","diff","--src-prefix=a/","--dst-prefix=b/","--ignore-cr-at-eol","--full-index","--no-index","--no-renames","--text",r,o],{cwd:Ae.toPortablePath(process.cwd()),env:{...process.env,GIT_CONFIG_NOSYSTEM:"1",HOME:"",XDG_CONFIG_HOME:"",USERPROFILE:""}});if(n.length>0)throw new Error(`Unable to diff directories. Make sure you have a recent version of 'git' available in PATH. -The following error was reported by 'git': -${n}`);let u=r.startsWith("/")?A=>A.slice(1):A=>A;return a.replace(new RegExp(`(a|b)(${_e.escapeRegExp(`/${u(r)}/`)})`,"g"),"$1/").replace(new RegExp(`(a|b)${_e.escapeRegExp(`/${u(o)}/`)}`,"g"),"$1/").replace(new RegExp(_e.escapeRegExp(`${r}/`),"g"),"").replace(new RegExp(_e.escapeRegExp(`${o}/`),"g"),"")}function QG(e,t){let r=[];for(let{source:o}of e){if(o===null)continue;let a=Tv(o);for(let n of a){let{semverExclusivity:u,...A}=n;u!==null&&t!==null&&!Qr.satisfiesWithPrereleases(t,u)||r.push(JSON.stringify(A))}}return wn.makeHash(`${3}`,...r).slice(0,6)}Ye();function bBe(e,{configuration:t,report:r}){for(let o of e.parts)for(let a of o.lines)switch(o.type){case"context":r.reportInfo(null,` ${ye.pretty(t,a,"grey")}`);break;case"deletion":r.reportError(28,`- ${ye.pretty(t,a,ye.Type.REMOVED)}`);break;case"insertion":r.reportError(28,`+ ${ye.pretty(t,a,ye.Type.ADDED)}`);break;default:_e.assertNever(o.type)}}var Mv=class{supports(t,r){return!!J0(t)}getLocalPath(t,r){return null}async fetch(t,r){let o=r.checksums.get(t.locatorHash)||null,[a,n,u]=await r.cache.fetchPackageFromCache(t,o,{onHit:()=>r.report.reportCacheHit(t),onMiss:()=>r.report.reportCacheMiss(t,`${G.prettyLocator(r.project.configuration,t)} can't be found in the cache and will be fetched from the disk`),loader:()=>this.patchPackage(t,r),...r.cacheOptions});return{packageFs:a,releaseFs:n,prefixPath:G.getIdentVendorPath(t),localPath:this.getLocalPath(t,r),checksum:u}}async patchPackage(t,r){let{parentLocator:o,sourceLocator:a,sourceVersion:n,patchPaths:u}=Lv(t),A=await Ov(o,u,r),p=await ae.mktempPromise(),h=J.join(p,"current.zip"),w=await r.fetcher.fetch(a,r),I=G.getIdentVendorPath(t),v=new us(h,{create:!0,level:r.project.configuration.get("compressionLevel")});await _e.releaseAfterUseAsync(async()=>{await v.copyPromise(I,w.prefixPath,{baseFs:w.packageFs,stableSort:!0})},w.releaseFs),v.saveAndClose();for(let{source:b,optional:E}of A){if(b===null)continue;let R=new us(h,{level:r.project.configuration.get("compressionLevel")}),N=new hn(J.resolve(Bt.root,I),{baseFs:R});try{await eF(Tv(b),{baseFs:N,version:n})}catch(U){if(!(U instanceof lC))throw U;let V=r.project.configuration.get("enableInlineHunks"),ee=!V&&!E?" (set enableInlineHunks for details)":"",le=`${G.prettyLocator(r.project.configuration,t)}: ${U.message}${ee}`,fe=de=>{!V||bBe(U.hunk,{configuration:r.project.configuration,report:de})};if(R.discardAndClose(),E){r.report.reportWarningOnce(66,le,{reportExtra:fe});continue}else throw new zt(66,le,fe)}R.saveAndClose()}return new us(h,{level:r.project.configuration.get("compressionLevel")})}};Ye();var Uv=class{supportsDescriptor(t,r){return!!tF(t)}supportsLocator(t,r){return!!J0(t)}shouldPersistResolution(t,r){return!1}bindDescriptor(t,r,o){let{patchPaths:a}=Nv(t);return a.every(n=>!PG(n))?t:G.bindDescriptor(t,{locator:G.stringifyLocator(r)})}getResolutionDependencies(t,r){let{sourceDescriptor:o}=Nv(t);return{sourceDescriptor:r.project.configuration.normalizeDependency(o)}}async getCandidates(t,r,o){if(!o.fetchOptions)throw new Error("Assertion failed: This resolver cannot be used unless a fetcher is configured");let{parentLocator:a,patchPaths:n}=Nv(t),u=await Ov(a,n,o.fetchOptions),A=r.sourceDescriptor;if(typeof A>"u")throw new Error("Assertion failed: The dependency should have been resolved");let p=QG(u,A.version);return[SG(t,{parentLocator:a,sourcePackage:A,patchPaths:n,patchHash:p})]}async getSatisfying(t,r,o,a){let[n]=await this.getCandidates(t,r,a);return{locators:o.filter(u=>u.locatorHash===n.locatorHash),sorted:!1}}async resolve(t,r){let{sourceLocator:o}=Lv(t);return{...await r.resolver.resolve(o,r),...t}}};Ye();St();qt();var V0=class extends ut{constructor(){super(...arguments);this.save=he.Boolean("-s,--save",!1,{description:"Add the patch to your resolution entries"});this.patchFolder=he.String()}async execute(){let r=await Ke.find(this.context.cwd,this.context.plugins),{project:o,workspace:a}=await Pt.find(r,this.context.cwd);if(!a)throw new tr(o.cwd,this.context.cwd);await o.restoreInstallState();let n=J.resolve(this.context.cwd,Ae.toPortablePath(this.patchFolder)),u=J.join(n,"../source"),A=J.join(n,"../.yarn-patch.json");if(!ae.existsSync(u))throw new it("The argument folder didn't get created by 'yarn patch'");let p=await bG(u,n),h=await ae.readJsonPromise(A),w=G.parseLocator(h.locator,!0);if(!o.storedPackages.has(w.locatorHash))throw new it("No package found in the project for the given locator");if(!this.save){this.context.stdout.write(p);return}let I=r.get("patchFolder"),v=J.join(I,`${G.slugifyLocator(w)}.patch`);await ae.mkdirPromise(I,{recursive:!0}),await ae.writeFilePromise(v,p);let b=[],E=new Map;for(let R of o.storedPackages.values()){if(G.isVirtualLocator(R))continue;let N=R.dependencies.get(w.identHash);if(!N)continue;let U=G.ensureDevirtualizedDescriptor(N),V=DG(U),ee=o.storedResolutions.get(V.descriptorHash);if(!ee)throw new Error("Assertion failed: Expected the resolution to have been registered");if(!o.storedPackages.get(ee))throw new Error("Assertion failed: Expected the package to have been registered");let fe=o.tryWorkspaceByLocator(R);if(fe)b.push(fe);else{let de=o.originalPackages.get(R.locatorHash);if(!de)throw new Error("Assertion failed: Expected the original package to have been registered");let ge=de.dependencies.get(N.identHash);if(!ge)throw new Error("Assertion failed: Expected the original dependency to have been registered");E.set(ge.descriptorHash,ge)}}for(let R of b)for(let N of Ot.hardDependencies){let U=R.manifest[N].get(w.identHash);if(!U)continue;let V=nF(U,{parentLocator:null,sourceDescriptor:G.convertLocatorToDescriptor(w),patchPaths:[J.join(gr.home,J.relative(o.cwd,v))]});R.manifest[N].set(U.identHash,V)}for(let R of E.values()){let N=nF(R,{parentLocator:null,sourceDescriptor:G.convertLocatorToDescriptor(w),patchPaths:[J.join(gr.home,J.relative(o.cwd,v))]});o.topLevelWorkspace.manifest.resolutions.push({pattern:{descriptor:{fullName:G.stringifyIdent(N),description:R.range}},reference:N.range})}await o.persist()}};V0.paths=[["patch-commit"]],V0.usage=nt.Usage({description:"generate a patch out of a directory",details:"\n By default, this will print a patchfile on stdout based on the diff between the folder passed in and the original version of the package. Such file is suitable for consumption with the `patch:` protocol.\n\n With the `-s,--save` option set, the patchfile won't be printed on stdout anymore and will instead be stored within a local file (by default kept within `.yarn/patches`, but configurable via the `patchFolder` setting). A `resolutions` entry will also be added to your top-level manifest, referencing the patched package via the `patch:` protocol.\n\n Note that only folders generated by `yarn patch` are accepted as valid input for `yarn patch-commit`.\n "});Ye();St();qt();var z0=class extends ut{constructor(){super(...arguments);this.update=he.Boolean("-u,--update",!1,{description:"Reapply local patches that already apply to this packages"});this.json=he.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"});this.package=he.String()}async execute(){let r=await Ke.find(this.context.cwd,this.context.plugins),{project:o,workspace:a}=await Pt.find(r,this.context.cwd),n=await Nr.find(r);if(!a)throw new tr(o.cwd,this.context.cwd);await o.restoreInstallState();let u=G.parseLocator(this.package);if(u.reference==="unknown"){let A=_e.mapAndFilter([...o.storedPackages.values()],p=>p.identHash!==u.identHash?_e.mapAndFilter.skip:G.isVirtualLocator(p)?_e.mapAndFilter.skip:J0(p)!==this.update?_e.mapAndFilter.skip:p);if(A.length===0)throw new it("No package found in the project for the given locator");if(A.length>1)throw new it(`Multiple candidate packages found; explicitly choose one of them (use \`yarn why <package>\` to get more information as to who depends on them): -${A.map(p=>` -- ${G.prettyLocator(r,p)}`).join("")}`);u=A[0]}if(!o.storedPackages.has(u.locatorHash))throw new it("No package found in the project for the given locator");await Nt.start({configuration:r,json:this.json,stdout:this.context.stdout},async A=>{let p=rF(u),h=await xG(u,{cache:n,project:o});A.reportJson({locator:G.stringifyLocator(p),path:Ae.fromPortablePath(h)});let w=this.update?" along with its current modifications":"";A.reportInfo(0,`Package ${G.prettyLocator(r,p)} got extracted with success${w}!`),A.reportInfo(0,`You can now edit the following folder: ${ye.pretty(r,Ae.fromPortablePath(h),"magenta")}`),A.reportInfo(0,`Once you are done run ${ye.pretty(r,`yarn patch-commit -s ${process.platform==="win32"?'"':""}${Ae.fromPortablePath(h)}${process.platform==="win32"?'"':""}`,"cyan")} and Yarn will store a patchfile based on your changes.`)})}};z0.paths=[["patch"]],z0.usage=nt.Usage({description:"prepare a package for patching",details:"\n This command will cause a package to be extracted in a temporary directory intended to be editable at will.\n\n Once you're done with your changes, run `yarn patch-commit -s path` (with `path` being the temporary directory you received) to generate a patchfile and register it into your top-level manifest via the `patch:` protocol. Run `yarn patch-commit -h` for more details.\n\n Calling the command when you already have a patch won't import it by default (in other words, the default behavior is to reset existing patches). However, adding the `-u,--update` flag will import any current patch.\n "});var Uvt={configuration:{enableInlineHunks:{description:"If true, the installs will print unmatched patch hunks",type:"BOOLEAN",default:!1},patchFolder:{description:"Folder where the patch files must be written",type:"ABSOLUTE_PATH",default:"./.yarn/patches"}},commands:[V0,z0],fetchers:[Mv],resolvers:[Uv]},_vt=Uvt;var TG={};Jt(TG,{PnpmLinker:()=>_v,default:()=>Yvt});Ye();St();qt();var _v=class{getCustomDataKey(){return JSON.stringify({name:"PnpmLinker",version:3})}supportsPackage(t,r){return this.isEnabled(r)}async findPackageLocation(t,r){if(!this.isEnabled(r))throw new Error("Assertion failed: Expected the pnpm linker to be enabled");let o=this.getCustomDataKey(),a=r.project.linkersCustomData.get(o);if(!a)throw new it(`The project in ${ye.pretty(r.project.configuration,`${r.project.cwd}/package.json`,ye.Type.PATH)} doesn't seem to have been installed - running an install there might help`);let n=a.pathsByLocator.get(t.locatorHash);if(typeof n>"u")throw new it(`Couldn't find ${G.prettyLocator(r.project.configuration,t)} in the currently installed pnpm map - running an install might help`);return n.packageLocation}async findPackageLocator(t,r){if(!this.isEnabled(r))return null;let o=this.getCustomDataKey(),a=r.project.linkersCustomData.get(o);if(!a)throw new it(`The project in ${ye.pretty(r.project.configuration,`${r.project.cwd}/package.json`,ye.Type.PATH)} doesn't seem to have been installed - running an install there might help`);let n=t.match(/(^.*\/node_modules\/(@[^/]*\/)?[^/]+)(\/.*$)/);if(n){let p=a.locatorByPath.get(n[1]);if(p)return p}let u=t,A=t;do{A=u,u=J.dirname(A);let p=a.locatorByPath.get(A);if(p)return p}while(u!==A);return null}makeInstaller(t){return new FG(t)}isEnabled(t){return t.project.configuration.get("nodeLinker")==="pnpm"}},FG=class{constructor(t){this.opts=t;this.asyncActions=new _e.AsyncActions(10);this.customData={pathsByLocator:new Map,locatorByPath:new Map};this.indexFolderPromise=DD(ae,{indexPath:J.join(t.project.configuration.get("globalFolder"),"index")})}attachCustomData(t){}async installPackage(t,r,o){switch(t.linkType){case"SOFT":return this.installPackageSoft(t,r,o);case"HARD":return this.installPackageHard(t,r,o)}throw new Error("Assertion failed: Unsupported package link type")}async installPackageSoft(t,r,o){let a=J.resolve(r.packageFs.getRealPath(),r.prefixPath),n=this.opts.project.tryWorkspaceByLocator(t)?J.join(a,gr.nodeModules):null;return this.customData.pathsByLocator.set(t.locatorHash,{packageLocation:a,dependenciesLocation:n}),{packageLocation:a,buildRequest:null}}async installPackageHard(t,r,o){let a=Hvt(t,{project:this.opts.project}),n=a.packageLocation;this.customData.locatorByPath.set(n,G.stringifyLocator(t)),this.customData.pathsByLocator.set(t.locatorHash,a),o.holdFetchResult(this.asyncActions.set(t.locatorHash,async()=>{await ae.mkdirPromise(n,{recursive:!0}),await ae.copyPromise(n,r.prefixPath,{baseFs:r.packageFs,overwrite:!1,linkStrategy:{type:"HardlinkFromIndex",indexPath:await this.indexFolderPromise,autoRepair:!0}})}));let A=G.isVirtualLocator(t)?G.devirtualizeLocator(t):t,p={manifest:await Ot.tryFind(r.prefixPath,{baseFs:r.packageFs})??new Ot,misc:{hasBindingGyp:yA.hasBindingGyp(r)}},h=this.opts.project.getDependencyMeta(A,t.version),w=yA.extractBuildRequest(t,p,h,{configuration:this.opts.project.configuration});return{packageLocation:n,buildRequest:w}}async attachInternalDependencies(t,r){if(this.opts.project.configuration.get("nodeLinker")!=="pnpm"||!QBe(t,{project:this.opts.project}))return;let o=this.customData.pathsByLocator.get(t.locatorHash);if(typeof o>"u")throw new Error(`Assertion failed: Expected the package to have been registered (${G.stringifyLocator(t)})`);let{dependenciesLocation:a}=o;!a||this.asyncActions.reduce(t.locatorHash,async n=>{await ae.mkdirPromise(a,{recursive:!0});let u=await jvt(a),A=new Map(u),p=[n],h=(I,v)=>{let b=v;QBe(v,{project:this.opts.project})||(this.opts.report.reportWarningOnce(0,"The pnpm linker doesn't support providing different versions to workspaces' peer dependencies"),b=G.devirtualizeLocator(v));let E=this.customData.pathsByLocator.get(b.locatorHash);if(typeof E>"u")throw new Error(`Assertion failed: Expected the package to have been registered (${G.stringifyLocator(v)})`);let R=G.stringifyIdent(I),N=J.join(a,R),U=J.relative(J.dirname(N),E.packageLocation),V=A.get(R);A.delete(R),p.push(Promise.resolve().then(async()=>{if(V){if(V.isSymbolicLink()&&await ae.readlinkPromise(N)===U)return;await ae.removePromise(N)}await ae.mkdirpPromise(J.dirname(N)),process.platform=="win32"&&this.opts.project.configuration.get("winLinkType")==="junctions"?await ae.symlinkPromise(E.packageLocation,N,"junction"):await ae.symlinkPromise(U,N)}))},w=!1;for(let[I,v]of r)I.identHash===t.identHash&&(w=!0),h(I,v);!w&&!this.opts.project.tryWorkspaceByLocator(t)&&h(G.convertLocatorToDescriptor(t),t),p.push(qvt(a,A)),await Promise.all(p)})}async attachExternalDependents(t,r){throw new Error("External dependencies haven't been implemented for the pnpm linker")}async finalizeInstall(){let t=FBe(this.opts.project);if(this.opts.project.configuration.get("nodeLinker")!=="pnpm")await ae.removePromise(t);else{let r;try{r=new Set(await ae.readdirPromise(t))}catch{r=new Set}for(let{dependenciesLocation:o}of this.customData.pathsByLocator.values()){if(!o)continue;let a=J.contains(t,o);if(a===null)continue;let[n]=a.split(J.sep);r.delete(n)}await Promise.all([...r].map(async o=>{await ae.removePromise(J.join(t,o))}))}return await this.asyncActions.wait(),await RG(t),this.opts.project.configuration.get("nodeLinker")!=="node-modules"&&await RG(kBe(this.opts.project)),{customData:this.customData}}};function kBe(e){return J.join(e.cwd,gr.nodeModules)}function FBe(e){return J.join(kBe(e),".store")}function Hvt(e,{project:t}){let r=G.slugifyLocator(e),o=FBe(t),a=J.join(o,r,"package"),n=J.join(o,r,gr.nodeModules);return{packageLocation:a,dependenciesLocation:n}}function QBe(e,{project:t}){return!G.isVirtualLocator(e)||!t.tryWorkspaceByLocator(e)}async function jvt(e){let t=new Map,r=[];try{r=await ae.readdirPromise(e,{withFileTypes:!0})}catch(o){if(o.code!=="ENOENT")throw o}try{for(let o of r)if(!o.name.startsWith("."))if(o.name.startsWith("@")){let a=await ae.readdirPromise(J.join(e,o.name),{withFileTypes:!0});if(a.length===0)t.set(o.name,o);else for(let n of a)t.set(`${o.name}/${n.name}`,n)}else t.set(o.name,o)}catch(o){if(o.code!=="ENOENT")throw o}return t}async function qvt(e,t){let r=[],o=new Set;for(let a of t.keys()){r.push(ae.removePromise(J.join(e,a)));let n=G.tryParseIdent(a)?.scope;n&&o.add(`@${n}`)}return Promise.all(r).then(()=>Promise.all([...o].map(a=>RG(J.join(e,a)))))}async function RG(e){try{await ae.rmdirPromise(e)}catch(t){if(t.code!=="ENOENT"&&t.code!=="ENOTEMPTY")throw t}}var Gvt={linkers:[_v]},Yvt=Gvt;var HG={};Jt(HG,{StageCommand:()=>X0,default:()=>rDt,stageUtils:()=>sF});Ye();St();qt();Ye();St();var sF={};Jt(sF,{ActionType:()=>NG,checkConsensus:()=>iF,expandDirectory:()=>MG,findConsensus:()=>UG,findVcsRoot:()=>LG,genCommitMessage:()=>_G,getCommitPrefix:()=>RBe,isYarnFile:()=>OG});St();var NG=(n=>(n[n.CREATE=0]="CREATE",n[n.DELETE=1]="DELETE",n[n.ADD=2]="ADD",n[n.REMOVE=3]="REMOVE",n[n.MODIFY=4]="MODIFY",n))(NG||{});async function LG(e,{marker:t}){do if(!ae.existsSync(J.join(e,t)))e=J.dirname(e);else return e;while(e!=="/");return null}function OG(e,{roots:t,names:r}){if(r.has(J.basename(e)))return!0;do if(!t.has(e))e=J.dirname(e);else return!0;while(e!=="/");return!1}function MG(e){let t=[],r=[e];for(;r.length>0;){let o=r.pop(),a=ae.readdirSync(o);for(let n of a){let u=J.resolve(o,n);ae.lstatSync(u).isDirectory()?r.push(u):t.push(u)}}return t}function iF(e,t){let r=0,o=0;for(let a of e)a!=="wip"&&(t.test(a)?r+=1:o+=1);return r>=o}function UG(e){let t=iF(e,/^(\w\(\w+\):\s*)?\w+s/),r=iF(e,/^(\w\(\w+\):\s*)?[A-Z]/),o=iF(e,/^\w\(\w+\):/);return{useThirdPerson:t,useUpperCase:r,useComponent:o}}function RBe(e){return e.useComponent?"chore(yarn): ":""}var Wvt=new Map([[0,"create"],[1,"delete"],[2,"add"],[3,"remove"],[4,"update"]]);function _G(e,t){let r=RBe(e),o=[],a=t.slice().sort((n,u)=>n[0]-u[0]);for(;a.length>0;){let[n,u]=a.shift(),A=Wvt.get(n);e.useUpperCase&&o.length===0&&(A=`${A[0].toUpperCase()}${A.slice(1)}`),e.useThirdPerson&&(A+="s");let p=[u];for(;a.length>0&&a[0][0]===n;){let[,w]=a.shift();p.push(w)}p.sort();let h=p.shift();p.length===1?h+=" (and one other)":p.length>1&&(h+=` (and ${p.length} others)`),o.push(`${A} ${h}`)}return`${r}${o.join(", ")}`}var Kvt="Commit generated via `yarn stage`",Jvt=11;async function TBe(e){let{code:t,stdout:r}=await Mr.execvp("git",["log","-1","--pretty=format:%H"],{cwd:e});return t===0?r.trim():null}async function Vvt(e,t){let r=[],o=t.filter(h=>J.basename(h.path)==="package.json");for(let{action:h,path:w}of o){let I=J.relative(e,w);if(h===4){let v=await TBe(e),{stdout:b}=await Mr.execvp("git",["show",`${v}:${I}`],{cwd:e,strict:!0}),E=await Ot.fromText(b),R=await Ot.fromFile(w),N=new Map([...R.dependencies,...R.devDependencies]),U=new Map([...E.dependencies,...E.devDependencies]);for(let[V,ee]of U){let le=G.stringifyIdent(ee),fe=N.get(V);fe?fe.range!==ee.range&&r.push([4,`${le} to ${fe.range}`]):r.push([3,le])}for(let[V,ee]of N)U.has(V)||r.push([2,G.stringifyIdent(ee)])}else if(h===0){let v=await Ot.fromFile(w);v.name?r.push([0,G.stringifyIdent(v.name)]):r.push([0,"a package"])}else if(h===1){let v=await TBe(e),{stdout:b}=await Mr.execvp("git",["show",`${v}:${I}`],{cwd:e,strict:!0}),E=await Ot.fromText(b);E.name?r.push([1,G.stringifyIdent(E.name)]):r.push([1,"a package"])}else throw new Error("Assertion failed: Unsupported action type")}let{code:a,stdout:n}=await Mr.execvp("git",["log",`-${Jvt}`,"--pretty=format:%s"],{cwd:e}),u=a===0?n.split(/\n/g).filter(h=>h!==""):[],A=UG(u);return _G(A,r)}var zvt={[0]:[" A ","?? "],[4]:[" M "],[1]:[" D "]},Xvt={[0]:["A "],[4]:["M "],[1]:["D "]},NBe={async findRoot(e){return await LG(e,{marker:".git"})},async filterChanges(e,t,r,o){let{stdout:a}=await Mr.execvp("git",["status","-s"],{cwd:e,strict:!0}),n=a.toString().split(/\n/g),u=o?.staged?Xvt:zvt;return[].concat(...n.map(p=>{if(p==="")return[];let h=p.slice(0,3),w=J.resolve(e,p.slice(3));if(!o?.staged&&h==="?? "&&p.endsWith("/"))return MG(w).map(I=>({action:0,path:I}));{let v=[0,4,1].find(b=>u[b].includes(h));return v!==void 0?[{action:v,path:w}]:[]}})).filter(p=>OG(p.path,{roots:t,names:r}))},async genCommitMessage(e,t){return await Vvt(e,t)},async makeStage(e,t){let r=t.map(o=>Ae.fromPortablePath(o.path));await Mr.execvp("git",["add","--",...r],{cwd:e,strict:!0})},async makeCommit(e,t,r){let o=t.map(a=>Ae.fromPortablePath(a.path));await Mr.execvp("git",["add","-N","--",...o],{cwd:e,strict:!0}),await Mr.execvp("git",["commit","-m",`${r} - -${Kvt} -`,"--",...o],{cwd:e,strict:!0})},async makeReset(e,t){let r=t.map(o=>Ae.fromPortablePath(o.path));await Mr.execvp("git",["reset","HEAD","--",...r],{cwd:e,strict:!0})}};var Zvt=[NBe],X0=class extends ut{constructor(){super(...arguments);this.commit=he.Boolean("-c,--commit",!1,{description:"Commit the staged files"});this.reset=he.Boolean("-r,--reset",!1,{description:"Remove all files from the staging area"});this.dryRun=he.Boolean("-n,--dry-run",!1,{description:"Print the commit message and the list of modified files without staging / committing"});this.update=he.Boolean("-u,--update",!1,{hidden:!0})}async execute(){let r=await Ke.find(this.context.cwd,this.context.plugins),{project:o}=await Pt.find(r,this.context.cwd),{driver:a,root:n}=await $vt(o.cwd),u=[r.get("cacheFolder"),r.get("globalFolder"),r.get("virtualFolder"),r.get("yarnPath")];await r.triggerHook(I=>I.populateYarnPaths,o,I=>{u.push(I)});let A=new Set;for(let I of u)for(let v of eDt(n,I))A.add(v);let p=new Set([r.get("rcFilename"),gr.lockfile,gr.manifest]),h=await a.filterChanges(n,A,p),w=await a.genCommitMessage(n,h);if(this.dryRun)if(this.commit)this.context.stdout.write(`${w} -`);else for(let I of h)this.context.stdout.write(`${Ae.fromPortablePath(I.path)} -`);else if(this.reset){let I=await a.filterChanges(n,A,p,{staged:!0});I.length===0?this.context.stdout.write("No staged changes found!"):await a.makeReset(n,I)}else h.length===0?this.context.stdout.write("No changes found!"):this.commit?await a.makeCommit(n,h,w):(await a.makeStage(n,h),this.context.stdout.write(w))}};X0.paths=[["stage"]],X0.usage=nt.Usage({description:"add all yarn files to your vcs",details:"\n This command will add to your staging area the files belonging to Yarn (typically any modified `package.json` and `.yarnrc.yml` files, but also linker-generated files, cache data, etc). It will take your ignore list into account, so the cache files won't be added if the cache is ignored in a `.gitignore` file (assuming you use Git).\n\n Running `--reset` will instead remove them from the staging area (the changes will still be there, but won't be committed until you stage them back).\n\n Since the staging area is a non-existent concept in Mercurial, Yarn will always create a new commit when running this command on Mercurial repositories. You can get this behavior when using Git by using the `--commit` flag which will directly create a commit.\n ",examples:[["Adds all modified project files to the staging area","yarn stage"],["Creates a new commit containing all modified project files","yarn stage --commit"]]});async function $vt(e){let t=null,r=null;for(let o of Zvt)if((r=await o.findRoot(e))!==null){t=o;break}if(t===null||r===null)throw new it("No stage driver has been found for your current project");return{driver:t,root:r}}function eDt(e,t){let r=[];if(t===null)return r;for(;;){(t===e||t.startsWith(`${e}/`))&&r.push(t);let o;try{o=ae.statSync(t)}catch{break}if(o.isSymbolicLink())t=J.resolve(J.dirname(t),ae.readlinkSync(t));else break}return r}var tDt={commands:[X0]},rDt=tDt;var jG={};Jt(jG,{default:()=>uDt});Ye();Ye();St();var MBe=$e(Zn());Ye();var LBe=$e(KH()),nDt="e8e1bd300d860104bb8c58453ffa1eb4",iDt="OFCNCOG2CU",OBe=async(e,t)=>{let r=G.stringifyIdent(e),a=sDt(t).initIndex("npm-search");try{return(await a.getObject(r,{attributesToRetrieve:["types"]})).types?.ts==="definitely-typed"}catch{return!1}},sDt=e=>(0,LBe.default)(iDt,nDt,{requester:{async send(r){try{let o=await tn.request(r.url,r.data||null,{configuration:e,headers:r.headers});return{content:o.body,isTimedOut:!1,status:o.statusCode}}catch(o){return{content:o.response.body,isTimedOut:!1,status:o.response.statusCode}}}}});var UBe=e=>e.scope?`${e.scope}__${e.name}`:`${e.name}`,oDt=async(e,t,r,o)=>{if(r.scope==="types")return;let{project:a}=e,{configuration:n}=a;if(!(n.get("tsEnableAutoTypes")??ae.existsSync(J.join(a.cwd,"tsconfig.json"))))return;let A=n.makeResolver(),p={project:a,resolver:A,report:new ki};if(!await OBe(r,n))return;let w=UBe(r),I=G.parseRange(r.range).selector;if(!Qr.validRange(I)){let N=n.normalizeDependency(r),U=await A.getCandidates(N,{},p);I=G.parseRange(U[0].reference).selector}let v=MBe.default.coerce(I);if(v===null)return;let b=`${Zc.Modifier.CARET}${v.major}`,E=G.makeDescriptor(G.makeIdent("types",w),b),R=_e.mapAndFind(a.workspaces,N=>{let U=N.manifest.dependencies.get(r.identHash)?.descriptorHash,V=N.manifest.devDependencies.get(r.identHash)?.descriptorHash;if(U!==r.descriptorHash&&V!==r.descriptorHash)return _e.mapAndFind.skip;let ee=[];for(let le of Ot.allDependencies){let fe=N.manifest[le].get(E.identHash);typeof fe>"u"||ee.push([le,fe])}return ee.length===0?_e.mapAndFind.skip:ee});if(typeof R<"u")for(let[N,U]of R)e.manifest[N].set(U.identHash,U);else{try{let N=n.normalizeDependency(E);if((await A.getCandidates(N,{},p)).length===0)return}catch{return}e.manifest[Zc.Target.DEVELOPMENT].set(E.identHash,E)}},aDt=async(e,t,r)=>{if(r.scope==="types")return;let{project:o}=e,{configuration:a}=o;if(!(a.get("tsEnableAutoTypes")??ae.existsSync(J.join(o.cwd,"tsconfig.json"))))return;let u=UBe(r),A=G.makeIdent("types",u);for(let p of Ot.allDependencies)typeof e.manifest[p].get(A.identHash)>"u"||e.manifest[p].delete(A.identHash)},lDt=(e,t)=>{t.publishConfig&&t.publishConfig.typings&&(t.typings=t.publishConfig.typings),t.publishConfig&&t.publishConfig.types&&(t.types=t.publishConfig.types)},cDt={configuration:{tsEnableAutoTypes:{description:"Whether Yarn should auto-install @types/ dependencies on 'yarn add'",type:"BOOLEAN",isNullable:!0,default:null}},hooks:{afterWorkspaceDependencyAddition:oDt,afterWorkspaceDependencyRemoval:aDt,beforeWorkspacePacking:lDt}},uDt=cDt;var KG={};Jt(KG,{VersionApplyCommand:()=>Z0,VersionCheckCommand:()=>$0,VersionCommand:()=>eg,default:()=>bDt,versionUtils:()=>hC});Ye();Ye();qt();var hC={};Jt(hC,{Decision:()=>fC,applyPrerelease:()=>YBe,applyReleases:()=>WG,applyStrategy:()=>aF,clearVersionFiles:()=>qG,getUndecidedDependentWorkspaces:()=>jv,getUndecidedWorkspaces:()=>oF,openVersionFile:()=>pC,requireMoreDecisions:()=>SDt,resolveVersionFiles:()=>Hv,suggestStrategy:()=>YG,updateVersionFiles:()=>GG,validateReleaseDecision:()=>AC});Ye();St();Nl();qt();var GBe=$e(qBe()),vA=$e(Zn()),DDt=/^(>=|[~^]|)(0|[1-9]\d*)\.(0|[1-9]\d*)\.(0|[1-9]\d*)(-(0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*)(\.(0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*))*)?(\+[0-9a-zA-Z-]+(\.[0-9a-zA-Z-]+)*)?$/,fC=(u=>(u.UNDECIDED="undecided",u.DECLINE="decline",u.MAJOR="major",u.MINOR="minor",u.PATCH="patch",u.PRERELEASE="prerelease",u))(fC||{});function AC(e){let t=vA.default.valid(e);return t||_e.validateEnum((0,GBe.default)(fC,"UNDECIDED"),e)}async function Hv(e,{prerelease:t=null}={}){let r=new Map,o=e.configuration.get("deferredVersionFolder");if(!ae.existsSync(o))return r;let a=await ae.readdirPromise(o);for(let n of a){if(!n.endsWith(".yml"))continue;let u=J.join(o,n),A=await ae.readFilePromise(u,"utf8"),p=Ji(A);for(let[h,w]of Object.entries(p.releases||{})){if(w==="decline")continue;let I=G.parseIdent(h),v=e.tryWorkspaceByIdent(I);if(v===null)throw new Error(`Assertion failed: Expected a release definition file to only reference existing workspaces (${J.basename(u)} references ${h})`);if(v.manifest.version===null)throw new Error(`Assertion failed: Expected the workspace to have a version (${G.prettyLocator(e.configuration,v.anchoredLocator)})`);let b=v.manifest.raw.stableVersion??v.manifest.version,E=r.get(v),R=aF(b,AC(w));if(R===null)throw new Error(`Assertion failed: Expected ${b} to support being bumped via strategy ${w}`);let N=typeof E<"u"?vA.default.gt(R,E)?R:E:R;r.set(v,N)}}return t&&(r=new Map([...r].map(([n,u])=>[n,YBe(u,{current:n.manifest.version,prerelease:t})]))),r}async function qG(e){let t=e.configuration.get("deferredVersionFolder");!ae.existsSync(t)||await ae.removePromise(t)}async function GG(e,t){let r=new Set(t),o=e.configuration.get("deferredVersionFolder");if(!ae.existsSync(o))return;let a=await ae.readdirPromise(o);for(let n of a){if(!n.endsWith(".yml"))continue;let u=J.join(o,n),A=await ae.readFilePromise(u,"utf8"),p=Ji(A),h=p?.releases;if(!!h){for(let w of Object.keys(h)){let I=G.parseIdent(w),v=e.tryWorkspaceByIdent(I);(v===null||r.has(v))&&delete p.releases[w]}Object.keys(p.releases).length>0?await ae.changeFilePromise(u,Ba(new Ba.PreserveOrdering(p))):await ae.unlinkPromise(u)}}}async function pC(e,{allowEmpty:t=!1}={}){let r=e.configuration;if(r.projectCwd===null)throw new it("This command can only be run from within a Yarn project");let o=await na.fetchRoot(r.projectCwd),a=o!==null?await na.fetchBase(o,{baseRefs:r.get("changesetBaseRefs")}):null,n=o!==null?await na.fetchChangedFiles(o,{base:a.hash,project:e}):[],u=r.get("deferredVersionFolder"),A=n.filter(b=>J.contains(u,b)!==null);if(A.length>1)throw new it(`Your current branch contains multiple versioning files; this isn't supported: -- ${A.map(b=>Ae.fromPortablePath(b)).join(` -- `)}`);let p=new Set(_e.mapAndFilter(n,b=>{let E=e.tryWorkspaceByFilePath(b);return E===null?_e.mapAndFilter.skip:E}));if(A.length===0&&p.size===0&&!t)return null;let h=A.length===1?A[0]:J.join(u,`${wn.makeHash(Math.random().toString()).slice(0,8)}.yml`),w=ae.existsSync(h)?await ae.readFilePromise(h,"utf8"):"{}",I=Ji(w),v=new Map;for(let b of I.declined||[]){let E=G.parseIdent(b),R=e.getWorkspaceByIdent(E);v.set(R,"decline")}for(let[b,E]of Object.entries(I.releases||{})){let R=G.parseIdent(b),N=e.getWorkspaceByIdent(R);v.set(N,AC(E))}return{project:e,root:o,baseHash:a!==null?a.hash:null,baseTitle:a!==null?a.title:null,changedFiles:new Set(n),changedWorkspaces:p,releaseRoots:new Set([...p].filter(b=>b.manifest.version!==null)),releases:v,async saveAll(){let b={},E=[],R=[];for(let N of e.workspaces){if(N.manifest.version===null)continue;let U=G.stringifyIdent(N.anchoredLocator),V=v.get(N);V==="decline"?E.push(U):typeof V<"u"?b[U]=AC(V):p.has(N)&&R.push(U)}await ae.mkdirPromise(J.dirname(h),{recursive:!0}),await ae.changeFilePromise(h,Ba(new Ba.PreserveOrdering({releases:Object.keys(b).length>0?b:void 0,declined:E.length>0?E:void 0,undecided:R.length>0?R:void 0})))}}}function SDt(e){return oF(e).size>0||jv(e).length>0}function oF(e){let t=new Set;for(let r of e.changedWorkspaces)r.manifest.version!==null&&(e.releases.has(r)||t.add(r));return t}function jv(e,{include:t=new Set}={}){let r=[],o=new Map(_e.mapAndFilter([...e.releases],([n,u])=>u==="decline"?_e.mapAndFilter.skip:[n.anchoredLocator.locatorHash,n])),a=new Map(_e.mapAndFilter([...e.releases],([n,u])=>u!=="decline"?_e.mapAndFilter.skip:[n.anchoredLocator.locatorHash,n]));for(let n of e.project.workspaces)if(!(!t.has(n)&&(a.has(n.anchoredLocator.locatorHash)||o.has(n.anchoredLocator.locatorHash)))&&n.manifest.version!==null)for(let u of Ot.hardDependencies)for(let A of n.manifest.getForScope(u).values()){let p=e.project.tryWorkspaceByDescriptor(A);p!==null&&o.has(p.anchoredLocator.locatorHash)&&r.push([n,p])}return r}function YG(e,t){let r=vA.default.clean(t);for(let o of Object.values(fC))if(o!=="undecided"&&o!=="decline"&&vA.default.inc(e,o)===r)return o;return null}function aF(e,t){if(vA.default.valid(t))return t;if(e===null)throw new it(`Cannot apply the release strategy "${t}" unless the workspace already has a valid version`);if(!vA.default.valid(e))throw new it(`Cannot apply the release strategy "${t}" on a non-semver version (${e})`);let r=vA.default.inc(e,t);if(r===null)throw new it(`Cannot apply the release strategy "${t}" on the specified version (${e})`);return r}function WG(e,t,{report:r}){let o=new Map;for(let a of e.workspaces)for(let n of Ot.allDependencies)for(let u of a.manifest[n].values()){let A=e.tryWorkspaceByDescriptor(u);if(A===null||!t.has(A))continue;_e.getArrayWithDefault(o,A).push([a,n,u.identHash])}for(let[a,n]of t){let u=a.manifest.version;a.manifest.version=n,vA.default.prerelease(n)===null?delete a.manifest.raw.stableVersion:a.manifest.raw.stableVersion||(a.manifest.raw.stableVersion=u);let A=a.manifest.name!==null?G.stringifyIdent(a.manifest.name):null;r.reportInfo(0,`${G.prettyLocator(e.configuration,a.anchoredLocator)}: Bumped to ${n}`),r.reportJson({cwd:Ae.fromPortablePath(a.cwd),ident:A,oldVersion:u,newVersion:n});let p=o.get(a);if(!(typeof p>"u"))for(let[h,w,I]of p){let v=h.manifest[w].get(I);if(typeof v>"u")throw new Error("Assertion failed: The dependency should have existed");let b=v.range,E=!1;if(b.startsWith(Vn.protocol)&&(b=b.slice(Vn.protocol.length),E=!0,b===a.relativeCwd))continue;let R=b.match(DDt);if(!R){r.reportWarning(0,`Couldn't auto-upgrade range ${b} (in ${G.prettyLocator(e.configuration,h.anchoredLocator)})`);continue}let N=`${R[1]}${n}`;E&&(N=`${Vn.protocol}${N}`);let U=G.makeDescriptor(v,N);h.manifest[w].set(I,U)}}}var PDt=new Map([["%n",{extract:e=>e.length>=1?[e[0],e.slice(1)]:null,generate:(e=0)=>`${e+1}`}]]);function YBe(e,{current:t,prerelease:r}){let o=new vA.default.SemVer(t),a=o.prerelease.slice(),n=[];o.prerelease=[],o.format()!==e&&(a.length=0);let u=!0,A=r.split(/\./g);for(let p of A){let h=PDt.get(p);if(typeof h>"u")n.push(p),a[0]===p?a.shift():u=!1;else{let w=u?h.extract(a):null;w!==null&&typeof w[0]=="number"?(n.push(h.generate(w[0])),a=w[1]):(n.push(h.generate()),u=!1)}}return o.prerelease&&(o.prerelease=[]),`${e}-${n.join(".")}`}var Z0=class extends ut{constructor(){super(...arguments);this.all=he.Boolean("--all",!1,{description:"Apply the deferred version changes on all workspaces"});this.dryRun=he.Boolean("--dry-run",!1,{description:"Print the versions without actually generating the package archive"});this.prerelease=he.String("--prerelease",{description:"Add a prerelease identifier to new versions",tolerateBoolean:!0});this.recursive=he.Boolean("-R,--recursive",{description:"Release the transitive workspaces as well"});this.json=he.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"})}async execute(){let r=await Ke.find(this.context.cwd,this.context.plugins),{project:o,workspace:a}=await Pt.find(r,this.context.cwd),n=await Nr.find(r);if(!a)throw new tr(o.cwd,this.context.cwd);await o.restoreInstallState({restoreResolutions:!1});let u=await Nt.start({configuration:r,json:this.json,stdout:this.context.stdout},async A=>{let p=this.prerelease?typeof this.prerelease!="boolean"?this.prerelease:"rc.%n":null,h=await Hv(o,{prerelease:p}),w=new Map;if(this.all)w=h;else{let I=this.recursive?a.getRecursiveWorkspaceDependencies():[a];for(let v of I){let b=h.get(v);typeof b<"u"&&w.set(v,b)}}if(w.size===0){let I=h.size>0?" Did you want to add --all?":"";A.reportWarning(0,`The current workspace doesn't seem to require a version bump.${I}`);return}WG(o,w,{report:A}),this.dryRun||(p||(this.all?await qG(o):await GG(o,[...w.keys()])),A.reportSeparator())});return u.hasErrors()?u.exitCode():await o.installWithNewReport({json:this.json,stdout:this.context.stdout},{cache:n})}};Z0.paths=[["version","apply"]],Z0.usage=nt.Usage({category:"Release-related commands",description:"apply all the deferred version bumps at once",details:` - This command will apply the deferred version changes and remove their definitions from the repository. - - Note that if \`--prerelease\` is set, the given prerelease identifier (by default \`rc.%d\`) will be used on all new versions and the version definitions will be kept as-is. - - By default only the current workspace will be bumped, but you can configure this behavior by using one of: - - - \`--recursive\` to also apply the version bump on its dependencies - - \`--all\` to apply the version bump on all packages in the repository - - Note that this command will also update the \`workspace:\` references across all your local workspaces, thus ensuring that they keep referring to the same workspaces even after the version bump. - `,examples:[["Apply the version change to the local workspace","yarn version apply"],["Apply the version change to all the workspaces in the local workspace","yarn version apply --all"]]});Ye();St();qt();var lF=$e(Zn());var $0=class extends ut{constructor(){super(...arguments);this.interactive=he.Boolean("-i,--interactive",{description:"Open an interactive interface used to set version bumps"})}async execute(){return this.interactive?await this.executeInteractive():await this.executeStandard()}async executeInteractive(){Sw(this.context);let{Gem:r}=await Promise.resolve().then(()=>(ak(),wj)),{ScrollableItems:o}=await Promise.resolve().then(()=>(Ak(),uk)),{FocusRequest:a}=await Promise.resolve().then(()=>(Ij(),YCe)),{useListInput:n}=await Promise.resolve().then(()=>(ck(),WCe)),{renderForm:u}=await Promise.resolve().then(()=>(gk(),hk)),{Box:A,Text:p}=await Promise.resolve().then(()=>$e(ic())),{default:h,useCallback:w,useState:I}=await Promise.resolve().then(()=>$e(nn())),v=await Ke.find(this.context.cwd,this.context.plugins),{project:b,workspace:E}=await Pt.find(v,this.context.cwd);if(!E)throw new tr(b.cwd,this.context.cwd);await b.restoreInstallState();let R=await pC(b);if(R===null||R.releaseRoots.size===0)return 0;if(R.root===null)throw new it("This command can only be run on Git repositories");let N=()=>h.createElement(A,{flexDirection:"row",paddingBottom:1},h.createElement(A,{flexDirection:"column",width:60},h.createElement(A,null,h.createElement(p,null,"Press ",h.createElement(p,{bold:!0,color:"cyanBright"},"<up>"),"/",h.createElement(p,{bold:!0,color:"cyanBright"},"<down>")," to select workspaces.")),h.createElement(A,null,h.createElement(p,null,"Press ",h.createElement(p,{bold:!0,color:"cyanBright"},"<left>"),"/",h.createElement(p,{bold:!0,color:"cyanBright"},"<right>")," to select release strategies."))),h.createElement(A,{flexDirection:"column"},h.createElement(A,{marginLeft:1},h.createElement(p,null,"Press ",h.createElement(p,{bold:!0,color:"cyanBright"},"<enter>")," to save.")),h.createElement(A,{marginLeft:1},h.createElement(p,null,"Press ",h.createElement(p,{bold:!0,color:"cyanBright"},"<ctrl+c>")," to abort.")))),U=({workspace:ge,active:oe,decision:Be,setDecision:be})=>{let g=ge.manifest.raw.stableVersion??ge.manifest.version;if(g===null)throw new Error(`Assertion failed: The version should have been set (${G.prettyLocator(v,ge.anchoredLocator)})`);if(lF.default.prerelease(g)!==null)throw new Error(`Assertion failed: Prerelease identifiers shouldn't be found (${g})`);let we=["undecided","decline","patch","minor","major"];n(Be,we,{active:oe,minus:"left",plus:"right",set:be});let Se=Be==="undecided"?h.createElement(p,{color:"yellow"},g):Be==="decline"?h.createElement(p,{color:"green"},g):h.createElement(p,null,h.createElement(p,{color:"magenta"},g)," \u2192 ",h.createElement(p,{color:"green"},lF.default.valid(Be)?Be:lF.default.inc(g,Be)));return h.createElement(A,{flexDirection:"column"},h.createElement(A,null,h.createElement(p,null,G.prettyLocator(v,ge.anchoredLocator)," - ",Se)),h.createElement(A,null,we.map(ce=>h.createElement(A,{key:ce,paddingLeft:2},h.createElement(p,null,h.createElement(r,{active:ce===Be})," ",ce)))))},V=ge=>{let oe=new Set(R.releaseRoots),Be=new Map([...ge].filter(([be])=>oe.has(be)));for(;;){let be=jv({project:R.project,releases:Be}),g=!1;if(be.length>0){for(let[we]of be)if(!oe.has(we)){oe.add(we),g=!0;let Se=ge.get(we);typeof Se<"u"&&Be.set(we,Se)}}if(!g)break}return{relevantWorkspaces:oe,relevantReleases:Be}},ee=()=>{let[ge,oe]=I(()=>new Map(R.releases)),Be=w((be,g)=>{let we=new Map(ge);g!=="undecided"?we.set(be,g):we.delete(be);let{relevantReleases:Se}=V(we);oe(Se)},[ge,oe]);return[ge,Be]},le=({workspaces:ge,releases:oe})=>{let Be=[];Be.push(`${ge.size} total`);let be=0,g=0;for(let we of ge){let Se=oe.get(we);typeof Se>"u"?g+=1:Se!=="decline"&&(be+=1)}return Be.push(`${be} release${be===1?"":"s"}`),Be.push(`${g} remaining`),h.createElement(p,{color:"yellow"},Be.join(", "))},de=await u(({useSubmit:ge})=>{let[oe,Be]=ee();ge(oe);let{relevantWorkspaces:be}=V(oe),g=new Set([...be].filter(ne=>!R.releaseRoots.has(ne))),[we,Se]=I(0),ce=w(ne=>{switch(ne){case a.BEFORE:Se(we-1);break;case a.AFTER:Se(we+1);break}},[we,Se]);return h.createElement(A,{flexDirection:"column"},h.createElement(N,null),h.createElement(A,null,h.createElement(p,{wrap:"wrap"},"The following files have been modified in your local checkout.")),h.createElement(A,{flexDirection:"column",marginTop:1,paddingLeft:2},[...R.changedFiles].map(ne=>h.createElement(A,{key:ne},h.createElement(p,null,h.createElement(p,{color:"grey"},Ae.fromPortablePath(R.root)),Ae.sep,Ae.relative(Ae.fromPortablePath(R.root),Ae.fromPortablePath(ne)))))),R.releaseRoots.size>0&&h.createElement(h.Fragment,null,h.createElement(A,{marginTop:1},h.createElement(p,{wrap:"wrap"},"Because of those files having been modified, the following workspaces may need to be released again (note that private workspaces are also shown here, because even though they won't be published, releasing them will allow us to flag their dependents for potential re-release):")),g.size>3?h.createElement(A,{marginTop:1},h.createElement(le,{workspaces:R.releaseRoots,releases:oe})):null,h.createElement(A,{marginTop:1,flexDirection:"column"},h.createElement(o,{active:we%2===0,radius:1,size:2,onFocusRequest:ce},[...R.releaseRoots].map(ne=>h.createElement(U,{key:ne.cwd,workspace:ne,decision:oe.get(ne)||"undecided",setDecision:te=>Be(ne,te)}))))),g.size>0?h.createElement(h.Fragment,null,h.createElement(A,{marginTop:1},h.createElement(p,{wrap:"wrap"},"The following workspaces depend on other workspaces that have been marked for release, and thus may need to be released as well:")),h.createElement(A,null,h.createElement(p,null,"(Press ",h.createElement(p,{bold:!0,color:"cyanBright"},"<tab>")," to move the focus between the workspace groups.)")),g.size>5?h.createElement(A,{marginTop:1},h.createElement(le,{workspaces:g,releases:oe})):null,h.createElement(A,{marginTop:1,flexDirection:"column"},h.createElement(o,{active:we%2===1,radius:2,size:2,onFocusRequest:ce},[...g].map(ne=>h.createElement(U,{key:ne.cwd,workspace:ne,decision:oe.get(ne)||"undecided",setDecision:te=>Be(ne,te)}))))):null)},{versionFile:R},{stdin:this.context.stdin,stdout:this.context.stdout,stderr:this.context.stderr});if(typeof de>"u")return 1;R.releases.clear();for(let[ge,oe]of de)R.releases.set(ge,oe);await R.saveAll()}async executeStandard(){let r=await Ke.find(this.context.cwd,this.context.plugins),{project:o,workspace:a}=await Pt.find(r,this.context.cwd);if(!a)throw new tr(o.cwd,this.context.cwd);return await o.restoreInstallState(),(await Nt.start({configuration:r,stdout:this.context.stdout},async u=>{let A=await pC(o);if(A===null||A.releaseRoots.size===0)return;if(A.root===null)throw new it("This command can only be run on Git repositories");if(u.reportInfo(0,`Your PR was started right after ${ye.pretty(r,A.baseHash.slice(0,7),"yellow")} ${ye.pretty(r,A.baseTitle,"magenta")}`),A.changedFiles.size>0){u.reportInfo(0,"You have changed the following files since then:"),u.reportSeparator();for(let v of A.changedFiles)u.reportInfo(null,`${ye.pretty(r,Ae.fromPortablePath(A.root),"gray")}${Ae.sep}${Ae.relative(Ae.fromPortablePath(A.root),Ae.fromPortablePath(v))}`)}let p=!1,h=!1,w=oF(A);if(w.size>0){p||u.reportSeparator();for(let v of w)u.reportError(0,`${G.prettyLocator(r,v.anchoredLocator)} has been modified but doesn't have a release strategy attached`);p=!0}let I=jv(A);for(let[v,b]of I)h||u.reportSeparator(),u.reportError(0,`${G.prettyLocator(r,v.anchoredLocator)} doesn't have a release strategy attached, but depends on ${G.prettyWorkspace(r,b)} which is planned for release.`),h=!0;(p||h)&&(u.reportSeparator(),u.reportInfo(0,"This command detected that at least some workspaces have received modifications without explicit instructions as to how they had to be released (if needed)."),u.reportInfo(0,"To correct these errors, run `yarn version check --interactive` then follow the instructions."))})).exitCode()}};$0.paths=[["version","check"]],$0.usage=nt.Usage({category:"Release-related commands",description:"check that all the relevant packages have been bumped",details:"\n **Warning:** This command currently requires Git.\n\n This command will check that all the packages covered by the files listed in argument have been properly bumped or declined to bump.\n\n In the case of a bump, the check will also cover transitive packages - meaning that should `Foo` be bumped, a package `Bar` depending on `Foo` will require a decision as to whether `Bar` will need to be bumped. This check doesn't cross packages that have declined to bump.\n\n In case no arguments are passed to the function, the list of modified files will be generated by comparing the HEAD against `master`.\n ",examples:[["Check whether the modified packages need a bump","yarn version check"]]});Ye();qt();var cF=$e(Zn());var eg=class extends ut{constructor(){super(...arguments);this.deferred=he.Boolean("-d,--deferred",{description:"Prepare the version to be bumped during the next release cycle"});this.immediate=he.Boolean("-i,--immediate",{description:"Bump the version immediately"});this.strategy=he.String()}async execute(){let r=await Ke.find(this.context.cwd,this.context.plugins),{project:o,workspace:a}=await Pt.find(r,this.context.cwd);if(!a)throw new tr(o.cwd,this.context.cwd);let n=r.get("preferDeferredVersions");this.deferred&&(n=!0),this.immediate&&(n=!1);let u=cF.default.valid(this.strategy),A=this.strategy==="decline",p;if(u)if(a.manifest.version!==null){let w=YG(a.manifest.version,this.strategy);w!==null?p=w:p=this.strategy}else p=this.strategy;else{let w=a.manifest.version;if(!A){if(w===null)throw new it("Can't bump the version if there wasn't a version to begin with - use 0.0.0 as initial version then run the command again.");if(typeof w!="string"||!cF.default.valid(w))throw new it(`Can't bump the version (${w}) if it's not valid semver`)}p=AC(this.strategy)}if(!n){let I=(await Hv(o)).get(a);if(typeof I<"u"&&p!=="decline"){let v=aF(a.manifest.version,p);if(cF.default.lt(v,I))throw new it(`Can't bump the version to one that would be lower than the current deferred one (${I})`)}}let h=await pC(o,{allowEmpty:!0});return h.releases.set(a,p),await h.saveAll(),n?0:await this.cli.run(["version","apply"])}};eg.paths=[["version"]],eg.usage=nt.Usage({category:"Release-related commands",description:"apply a new version to the current package",details:"\n This command will bump the version number for the given package, following the specified strategy:\n\n - If `major`, the first number from the semver range will be increased (`X.0.0`).\n - If `minor`, the second number from the semver range will be increased (`0.X.0`).\n - If `patch`, the third number from the semver range will be increased (`0.0.X`).\n - If prefixed by `pre` (`premajor`, ...), a `-0` suffix will be set (`0.0.0-0`).\n - If `prerelease`, the suffix will be increased (`0.0.0-X`); the third number from the semver range will also be increased if there was no suffix in the previous version.\n - If `decline`, the nonce will be increased for `yarn version check` to pass without version bump.\n - If a valid semver range, it will be used as new version.\n - If unspecified, Yarn will ask you for guidance.\n\n For more information about the `--deferred` flag, consult our documentation (https://yarnpkg.com/features/release-workflow#deferred-versioning).\n ",examples:[["Immediately bump the version to the next major","yarn version major"],["Prepare the version to be bumped to the next major","yarn version major --deferred"]]});var xDt={configuration:{deferredVersionFolder:{description:"Folder where are stored the versioning files",type:"ABSOLUTE_PATH",default:"./.yarn/versions"},preferDeferredVersions:{description:"If true, running `yarn version` will assume the `--deferred` flag unless `--immediate` is set",type:"BOOLEAN",default:!1}},commands:[Z0,$0,eg]},bDt=xDt;var JG={};Jt(JG,{WorkspacesFocusCommand:()=>tg,WorkspacesForeachCommand:()=>sp,default:()=>FDt});Ye();Ye();qt();var tg=class extends ut{constructor(){super(...arguments);this.json=he.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"});this.production=he.Boolean("--production",!1,{description:"Only install regular dependencies by omitting dev dependencies"});this.all=he.Boolean("-A,--all",!1,{description:"Install the entire project"});this.workspaces=he.Rest()}async execute(){let r=await Ke.find(this.context.cwd,this.context.plugins),{project:o,workspace:a}=await Pt.find(r,this.context.cwd),n=await Nr.find(r);await o.restoreInstallState({restoreResolutions:!1});let u;if(this.all)u=new Set(o.workspaces);else if(this.workspaces.length===0){if(!a)throw new tr(o.cwd,this.context.cwd);u=new Set([a])}else u=new Set(this.workspaces.map(A=>o.getWorkspaceByIdent(G.parseIdent(A))));for(let A of u)for(let p of this.production?["dependencies"]:Ot.hardDependencies)for(let h of A.manifest.getForScope(p).values()){let w=o.tryWorkspaceByDescriptor(h);w!==null&&u.add(w)}for(let A of o.workspaces)u.has(A)?this.production&&A.manifest.devDependencies.clear():(A.manifest.installConfig=A.manifest.installConfig||{},A.manifest.installConfig.selfReferences=!1,A.manifest.dependencies.clear(),A.manifest.devDependencies.clear(),A.manifest.peerDependencies.clear(),A.manifest.scripts.clear());return await o.installWithNewReport({json:this.json,stdout:this.context.stdout},{cache:n,persistProject:!1})}};tg.paths=[["workspaces","focus"]],tg.usage=nt.Usage({category:"Workspace-related commands",description:"install a single workspace and its dependencies",details:"\n This command will run an install as if the specified workspaces (and all other workspaces they depend on) were the only ones in the project. If no workspaces are explicitly listed, the active one will be assumed.\n\n Note that this command is only very moderately useful when using zero-installs, since the cache will contain all the packages anyway - meaning that the only difference between a full install and a focused install would just be a few extra lines in the `.pnp.cjs` file, at the cost of introducing an extra complexity.\n\n If the `-A,--all` flag is set, the entire project will be installed. Combine with `--production` to replicate the old `yarn install --production`.\n "});Ye();Ye();Ye();qt();var gC=$e(Zo()),KBe=$e(nd());Za();var sp=class extends ut{constructor(){super(...arguments);this.from=he.Array("--from",{description:"An array of glob pattern idents or paths from which to base any recursion"});this.all=he.Boolean("-A,--all",{description:"Run the command on all workspaces of a project"});this.recursive=he.Boolean("-R,--recursive",{description:"Run the command on the current workspace and all of its recursive dependencies"});this.worktree=he.Boolean("-W,--worktree",{description:"Run the command on all workspaces of the current worktree"});this.verbose=he.Boolean("-v,--verbose",{description:"Prefix each output line with the name of the originating workspace"});this.parallel=he.Boolean("-p,--parallel",!1,{description:"Run the commands in parallel"});this.interlaced=he.Boolean("-i,--interlaced",!1,{description:"Print the output of commands in real-time instead of buffering it"});this.jobs=he.String("-j,--jobs",{description:"The maximum number of parallel tasks that the execution will be limited to; or `unlimited`",validator:RT([Vs(["unlimited"]),rd(FT(),[NT(),TT(1)])])});this.topological=he.Boolean("-t,--topological",!1,{description:"Run the command after all workspaces it depends on (regular) have finished"});this.topologicalDev=he.Boolean("--topological-dev",!1,{description:"Run the command after all workspaces it depends on (regular + dev) have finished"});this.include=he.Array("--include",[],{description:"An array of glob pattern idents or paths; only matching workspaces will be traversed"});this.exclude=he.Array("--exclude",[],{description:"An array of glob pattern idents or paths; matching workspaces won't be traversed"});this.publicOnly=he.Boolean("--no-private",{description:"Avoid running the command on private workspaces"});this.since=he.String("--since",{description:"Only include workspaces that have been changed since the specified ref.",tolerateBoolean:!0});this.dryRun=he.Boolean("-n,--dry-run",{description:"Print the commands that would be run, without actually running them"});this.commandName=he.String();this.args=he.Proxy()}async execute(){let r=await Ke.find(this.context.cwd,this.context.plugins),{project:o,workspace:a}=await Pt.find(r,this.context.cwd);if(!this.all&&!a)throw new tr(o.cwd,this.context.cwd);await o.restoreInstallState();let n=this.cli.process([this.commandName,...this.args]),u=n.path.length===1&&n.path[0]==="run"&&typeof n.scriptName<"u"?n.scriptName:null;if(n.path.length===0)throw new it("Invalid subcommand name for iteration - use the 'run' keyword if you wish to execute a script");let A=oe=>{!this.dryRun||this.context.stdout.write(`${oe} -`)},p=()=>{let oe=this.from.map(Be=>gC.default.matcher(Be));return o.workspaces.filter(Be=>{let be=G.stringifyIdent(Be.anchoredLocator),g=Be.relativeCwd;return oe.some(we=>we(be)||we(g))})},h=[];if(this.since?(A("Option --since is set; selecting the changed workspaces as root for workspace selection"),h=Array.from(await na.fetchChangedWorkspaces({ref:this.since,project:o}))):this.from?(A("Option --from is set; selecting the specified workspaces"),h=[...p()]):this.worktree?(A("Option --worktree is set; selecting the current workspace"),h=[a]):this.recursive?(A("Option --recursive is set; selecting the current workspace"),h=[a]):this.all&&(A("Option --all is set; selecting all workspaces"),h=[...o.workspaces]),this.dryRun&&!this.all){for(let oe of h)A(` -- ${oe.relativeCwd} - ${G.prettyLocator(r,oe.anchoredLocator)}`);h.length>0&&A("")}let w;if(this.recursive?this.since?(A("Option --recursive --since is set; recursively selecting all dependent workspaces"),w=new Set(h.map(oe=>[...oe.getRecursiveWorkspaceDependents()]).flat())):(A("Option --recursive is set; recursively selecting all transitive dependencies"),w=new Set(h.map(oe=>[...oe.getRecursiveWorkspaceDependencies()]).flat())):this.worktree?(A("Option --worktree is set; recursively selecting all nested workspaces"),w=new Set(h.map(oe=>[...oe.getRecursiveWorkspaceChildren()]).flat())):w=null,w!==null&&(h=[...new Set([...h,...w])],this.dryRun))for(let oe of w)A(` -- ${oe.relativeCwd} - ${G.prettyLocator(r,oe.anchoredLocator)}`);let I=[],v=!1;if(u?.includes(":")){for(let oe of o.workspaces)if(oe.manifest.scripts.has(u)&&(v=!v,v===!1))break}for(let oe of h){if(u&&!oe.manifest.scripts.has(u)&&!v&&!(await cn.getWorkspaceAccessibleBinaries(oe)).has(u)){A(`Excluding ${oe.relativeCwd} because it doesn't have a "${u}" script`);continue}if(!(u===r.env.npm_lifecycle_event&&oe.cwd===a.cwd)){if(this.include.length>0&&!gC.default.isMatch(G.stringifyIdent(oe.anchoredLocator),this.include)&&!gC.default.isMatch(oe.relativeCwd,this.include)){A(`Excluding ${oe.relativeCwd} because it doesn't match the --include filter`);continue}if(this.exclude.length>0&&(gC.default.isMatch(G.stringifyIdent(oe.anchoredLocator),this.exclude)||gC.default.isMatch(oe.relativeCwd,this.exclude))){A(`Excluding ${oe.relativeCwd} because it matches the --include filter`);continue}if(this.publicOnly&&oe.manifest.private===!0){A(`Excluding ${oe.relativeCwd} because it's a private workspace and --no-private was set`);continue}I.push(oe)}}if(this.dryRun)return 0;let b=this.verbose??this.context.stdout.isTTY,E=this.parallel?this.jobs==="unlimited"?1/0:Number(this.jobs)||Math.ceil(cs.availableParallelism()/2):1,R=E===1?!1:this.parallel,N=R?this.interlaced:!0,U=(0,KBe.default)(E),V=new Map,ee=new Set,le=0,fe=null,de=!1,ge=await Nt.start({configuration:r,stdout:this.context.stdout,includePrefix:!1},async oe=>{let Be=async(be,{commandIndex:g})=>{if(de)return-1;!R&&b&&g>1&&oe.reportSeparator();let we=QDt(be,{configuration:r,verbose:b,commandIndex:g}),[Se,ce]=WBe(oe,{prefix:we,interlaced:N}),[ne,te]=WBe(oe,{prefix:we,interlaced:N});try{b&&oe.reportInfo(null,`${we} Process started`);let Ee=Date.now(),Re=await this.cli.run([this.commandName,...this.args],{cwd:be.cwd,stdout:Se,stderr:ne})||0;Se.end(),ne.end(),await ce,await te;let dt=Date.now();if(b){let H=r.get("enableTimers")?`, completed in ${ye.pretty(r,dt-Ee,ye.Type.DURATION)}`:"";oe.reportInfo(null,`${we} Process exited (exit code ${Re})${H}`)}return Re===130&&(de=!0,fe=Re),Re}catch(Ee){throw Se.end(),ne.end(),await ce,await te,Ee}};for(let be of I)V.set(be.anchoredLocator.locatorHash,be);for(;V.size>0&&!oe.hasErrors();){let be=[];for(let[Se,ce]of V){if(ee.has(ce.anchoredDescriptor.descriptorHash))continue;let ne=!0;if(this.topological||this.topologicalDev){let te=this.topologicalDev?new Map([...ce.manifest.dependencies,...ce.manifest.devDependencies]):ce.manifest.dependencies;for(let Ee of te.values()){let Re=o.tryWorkspaceByDescriptor(Ee);if(ne=Re===null||!V.has(Re.anchoredLocator.locatorHash),!ne)break}}if(!!ne&&(ee.add(ce.anchoredDescriptor.descriptorHash),be.push(U(async()=>{let te=await Be(ce,{commandIndex:++le});return V.delete(Se),ee.delete(ce.anchoredDescriptor.descriptorHash),te})),!R))break}if(be.length===0){let Se=Array.from(V.values()).map(ce=>G.prettyLocator(r,ce.anchoredLocator)).join(", ");oe.reportError(3,`Dependency cycle detected (${Se})`);return}let we=(await Promise.all(be)).find(Se=>Se!==0);fe===null&&(fe=typeof we<"u"?1:fe),(this.topological||this.topologicalDev)&&typeof we<"u"&&oe.reportError(0,"The command failed for workspaces that are depended upon by other workspaces; can't satisfy the dependency graph")}});return fe!==null?fe:ge.exitCode()}};sp.paths=[["workspaces","foreach"]],sp.usage=nt.Usage({category:"Workspace-related commands",description:"run a command on all workspaces",details:"\n This command will run a given sub-command on current and all its descendant workspaces. Various flags can alter the exact behavior of the command:\n\n - If `-p,--parallel` is set, the commands will be ran in parallel; they'll by default be limited to a number of parallel tasks roughly equal to half your core number, but that can be overridden via `-j,--jobs`, or disabled by setting `-j unlimited`.\n\n - If `-p,--parallel` and `-i,--interlaced` are both set, Yarn will print the lines from the output as it receives them. If `-i,--interlaced` wasn't set, it would instead buffer the output from each process and print the resulting buffers only after their source processes have exited.\n\n - If `-t,--topological` is set, Yarn will only run the command after all workspaces that it depends on through the `dependencies` field have successfully finished executing. If `--topological-dev` is set, both the `dependencies` and `devDependencies` fields will be considered when figuring out the wait points.\n\n - If `-A,--all` is set, Yarn will run the command on all the workspaces of a project. This is the default behavior.\n\n - If `-R,--recursive` is set, Yarn will find workspaces to run the command on by recursively evaluating `dependencies` and `devDependencies` fields, instead of looking at the `workspaces` fields.\n\n - If `-W,--worktree` is set, Yarn will find workspaces to run the command on by looking at the current worktree.\n\n - If `--from` is set, Yarn will use the packages matching the 'from' glob as the starting point for any recursive search.\n\n - If `--since` is set, Yarn will only run the command on workspaces that have been modified since the specified ref. By default Yarn will use the refs specified by the `changesetBaseRefs` configuration option.\n\n - If `--dry-run` is set, Yarn will explain what it would do without actually doing anything.\n\n - The command may apply to only some workspaces through the use of `--include` which acts as a whitelist. The `--exclude` flag will do the opposite and will be a list of packages that mustn't execute the script. Both flags accept glob patterns (if valid Idents and supported by [micromatch](https://github.com/micromatch/micromatch)). Make sure to escape the patterns, to prevent your own shell from trying to expand them.\n\n Adding the `-v,--verbose` flag (automatically enabled in interactive terminal environments) will cause Yarn to print more information; in particular the name of the workspace that generated the output will be printed at the front of each line.\n\n If the command is `run` and the script being run does not exist the child workspace will be skipped without error.\n ",examples:[["Publish current and all descendant packages","yarn workspaces foreach npm publish --tolerate-republish"],["Run build script on current and all descendant packages","yarn workspaces foreach run build"],["Run build script on current and all descendant packages in parallel, building package dependencies first","yarn workspaces foreach -pt run build"],["Run build script on several packages and all their dependencies, building dependencies first","yarn workspaces foreach -ptR --from '{workspace-a,workspace-b}' run build"]]}),sp.schema=[oI("all",Wu.Forbids,["from","recursive","since","worktree"],{missingIf:"undefined"}),LT(["all","recursive","since","worktree"],{missingIf:"undefined"})];function WBe(e,{prefix:t,interlaced:r}){let o=e.createStreamReporter(t),a=new _e.DefaultStream;a.pipe(o,{end:!1}),a.on("finish",()=>{o.end()});let n=new Promise(A=>{o.on("finish",()=>{A(a.active)})});if(r)return[a,n];let u=new _e.BufferStream;return u.pipe(a,{end:!1}),u.on("finish",()=>{a.end()}),[u,n]}function QDt(e,{configuration:t,commandIndex:r,verbose:o}){if(!o)return null;let n=`[${G.stringifyIdent(e.anchoredLocator)}]:`,u=["#2E86AB","#A23B72","#F18F01","#C73E1D","#CCE2A3"],A=u[r%u.length];return ye.pretty(t,n,A)}var kDt={commands:[tg,sp]},FDt=kDt;var Aw=()=>({modules:new Map([["@yarnpkg/cli",n2],["@yarnpkg/core",r2],["@yarnpkg/fslib",WC],["@yarnpkg/libzip",P1],["@yarnpkg/parsers",eI],["@yarnpkg/shell",F1],["clipanion",AI],["semver",RDt],["typanion",Jo],["@yarnpkg/plugin-essentials",z8],["@yarnpkg/plugin-compat",tH],["@yarnpkg/plugin-constraints",yH],["@yarnpkg/plugin-dlx",EH],["@yarnpkg/plugin-exec",IH],["@yarnpkg/plugin-file",vH],["@yarnpkg/plugin-git",V8],["@yarnpkg/plugin-github",PH],["@yarnpkg/plugin-http",xH],["@yarnpkg/plugin-init",bH],["@yarnpkg/plugin-interactive-tools",kj],["@yarnpkg/plugin-link",Fj],["@yarnpkg/plugin-nm",dq],["@yarnpkg/plugin-npm",gG],["@yarnpkg/plugin-npm-cli",vG],["@yarnpkg/plugin-pack",uG],["@yarnpkg/plugin-patch",kG],["@yarnpkg/plugin-pnp",iq],["@yarnpkg/plugin-pnpm",TG],["@yarnpkg/plugin-stage",HG],["@yarnpkg/plugin-typescript",jG],["@yarnpkg/plugin-version",KG],["@yarnpkg/plugin-workspace-tools",JG]]),plugins:new Set(["@yarnpkg/plugin-essentials","@yarnpkg/plugin-compat","@yarnpkg/plugin-constraints","@yarnpkg/plugin-dlx","@yarnpkg/plugin-exec","@yarnpkg/plugin-file","@yarnpkg/plugin-git","@yarnpkg/plugin-github","@yarnpkg/plugin-http","@yarnpkg/plugin-init","@yarnpkg/plugin-interactive-tools","@yarnpkg/plugin-link","@yarnpkg/plugin-nm","@yarnpkg/plugin-npm","@yarnpkg/plugin-npm-cli","@yarnpkg/plugin-pack","@yarnpkg/plugin-patch","@yarnpkg/plugin-pnp","@yarnpkg/plugin-pnpm","@yarnpkg/plugin-stage","@yarnpkg/plugin-typescript","@yarnpkg/plugin-version","@yarnpkg/plugin-workspace-tools"])});function zBe({cwd:e,pluginConfiguration:t}){let r=new os({binaryLabel:"Yarn Package Manager",binaryName:"yarn",binaryVersion:en??"<unknown>"});return Object.assign(r,{defaultContext:{...os.defaultContext,cwd:e,plugins:t,quiet:!1,stdin:process.stdin,stdout:process.stdout,stderr:process.stderr}})}function TDt(e){if(_e.parseOptionalBoolean(process.env.YARN_IGNORE_NODE))return!0;let r=process.versions.node,o=">=18.12.0";if(Qr.satisfiesWithPrereleases(r,o))return!0;let a=new it(`This tool requires a Node version compatible with ${o} (got ${r}). Upgrade Node, or set \`YARN_IGNORE_NODE=1\` in your environment.`);return os.defaultContext.stdout.write(e.error(a)),!1}async function XBe({selfPath:e,pluginConfiguration:t}){return await Ke.find(Ae.toPortablePath(process.cwd()),t,{strict:!1,usePathCheck:e})}function NDt(e,t,{yarnPath:r}){if(!ae.existsSync(r))return e.error(new Error(`The "yarn-path" option has been set, but the specified location doesn't exist (${r}).`)),1;process.on("SIGINT",()=>{});let o={stdio:"inherit",env:{...process.env,YARN_IGNORE_PATH:"1"}};try{(0,JBe.execFileSync)(process.execPath,[Ae.fromPortablePath(r),...t],o)}catch(a){return a.status??1}return 0}function LDt(e,t){let r=null,o=t;return t.length>=2&&t[0]==="--cwd"?(r=Ae.toPortablePath(t[1]),o=t.slice(2)):t.length>=1&&t[0].startsWith("--cwd=")&&(r=Ae.toPortablePath(t[0].slice(6)),o=t.slice(1)),e.defaultContext.cwd=r!==null?J.resolve(r):J.cwd(),o}function ODt(e,{configuration:t}){if(!(!t.get("enableTelemetry")||VBe.isCI||!process.stdout.isTTY)){Ke.telemetry=new lw(t,"puba9cdc10ec5790a2cf4969dd413a47270");for(let o of t.plugins.keys())cw.has(o.match(/^@yarnpkg\/plugin-(.*)$/)?.[1]??"")&&Ke.telemetry?.reportPluginName(o);e.binaryVersion&&Ke.telemetry.reportVersion(e.binaryVersion)}}function ZBe(e,{configuration:t}){for(let r of t.plugins.values())for(let o of r.commands||[])e.register(o)}async function MDt(e,t,{selfPath:r,pluginConfiguration:o}){if(!TDt(e))return 1;let a=await XBe({selfPath:r,pluginConfiguration:o}),n=a.get("yarnPath"),u=a.get("ignorePath");if(n&&!u)return NDt(e,t,{yarnPath:n});delete process.env.YARN_IGNORE_PATH;let A=LDt(e,t);ODt(e,{configuration:a}),ZBe(e,{configuration:a});let p=e.process(A,e.defaultContext);return p.help||Ke.telemetry?.reportCommandName(p.path.join(" ")),await e.run(p,e.defaultContext)}async function zpe({cwd:e=J.cwd(),pluginConfiguration:t=Aw()}={}){let r=zBe({cwd:e,pluginConfiguration:t}),o=await XBe({pluginConfiguration:t,selfPath:null});return ZBe(r,{configuration:o}),r}async function rQ(e,{cwd:t=J.cwd(),selfPath:r,pluginConfiguration:o}){let a=zBe({cwd:t,pluginConfiguration:o});try{process.exitCode=await MDt(a,e,{selfPath:r,pluginConfiguration:o})}catch(n){os.defaultContext.stdout.write(a.error(n)),process.exitCode=1}finally{await ae.rmtempPromise()}}rQ(process.argv.slice(2),{cwd:J.cwd(),selfPath:Ae.toPortablePath(Ae.resolve(process.argv[1])),pluginConfiguration:Aw()});})(); -/* -object-assign -(c) Sindre Sorhus -@license MIT -*/ -/*! - * buildToken - * Builds OAuth token prefix (helper function) - * - * @name buildToken - * @function - * @param {GitUrl} obj The parsed Git url object. - * @return {String} token prefix - */ -/*! - * fill-range <https://github.com/jonschlinkert/fill-range> - * - * Copyright (c) 2014-present, Jon Schlinkert. - * Licensed under the MIT License. - */ -/*! - * is-extglob <https://github.com/jonschlinkert/is-extglob> - * - * Copyright (c) 2014-2016, Jon Schlinkert. - * Licensed under the MIT License. - */ -/*! - * is-glob <https://github.com/jonschlinkert/is-glob> - * - * Copyright (c) 2014-2017, Jon Schlinkert. - * Released under the MIT License. - */ -/*! - * is-number <https://github.com/jonschlinkert/is-number> - * - * Copyright (c) 2014-present, Jon Schlinkert. - * Released under the MIT License. - */ -/*! - * is-windows <https://github.com/jonschlinkert/is-windows> - * - * Copyright © 2015-2018, Jon Schlinkert. - * Released under the MIT License. - */ -/*! - * to-regex-range <https://github.com/micromatch/to-regex-range> - * - * Copyright (c) 2015-present, Jon Schlinkert. - * Released under the MIT License. - */ -/** - @license - Copyright (c) 2015, Rebecca Turner - - Permission to use, copy, modify, and/or distribute this software for any - purpose with or without fee is hereby granted, provided that the above - copyright notice and this permission notice appear in all copies. - - THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH - REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND - FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, - INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM - LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR - OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR - PERFORMANCE OF THIS SOFTWARE. - */ -/** - @license - Copyright Joyent, Inc. and other Node contributors. - - Permission is hereby granted, free of charge, to any person obtaining a - copy of this software and associated documentation files (the - "Software"), to deal in the Software without restriction, including - without limitation the rights to use, copy, modify, merge, publish, - distribute, sublicense, and/or sell copies of the Software, and to permit - persons to whom the Software is furnished to do so, subject to the - following conditions: - - The above copyright notice and this permission notice shall be included - in all copies or substantial portions of the Software. - - THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS - OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF - MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN - NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, - DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR - OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE - USE OR OTHER DEALINGS IN THE SOFTWARE. -*/ -/** - @license - Copyright Node.js contributors. All rights reserved. - - Permission is hereby granted, free of charge, to any person obtaining a copy - of this software and associated documentation files (the "Software"), to - deal in the Software without restriction, including without limitation the - rights to use, copy, modify, merge, publish, distribute, sublicense, and/or - sell copies of the Software, and to permit persons to whom the Software is - furnished to do so, subject to the following conditions: - - The above copyright notice and this permission notice shall be included in - all copies or substantial portions of the Software. - - THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING - FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS - IN THE SOFTWARE. -*/ -/** - @license - The MIT License (MIT) - - Copyright (c) 2014 Blake Embrey (hello@blakeembrey.com) - - Permission is hereby granted, free of charge, to any person obtaining a copy - of this software and associated documentation files (the "Software"), to deal - in the Software without restriction, including without limitation the rights - to use, copy, modify, merge, publish, distribute, sublicense, and/or sell - copies of the Software, and to permit persons to whom the Software is - furnished to do so, subject to the following conditions: - - The above copyright notice and this permission notice shall be included in - all copies or substantial portions of the Software. - - THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN - THE SOFTWARE. -*/ -/** @license React v0.18.0 - * scheduler.production.min.js - * - * Copyright (c) Facebook, Inc. and its affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */ -/** @license React v0.24.0 - * react-reconciler.production.min.js - * - * Copyright (c) Facebook, Inc. and its affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */ -/** @license React v16.13.1 - * react.production.min.js - * - * Copyright (c) Facebook, Inc. and its affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */ diff --git a/.yarn/releases/yarn-4.6.0.cjs b/.yarn/releases/yarn-4.6.0.cjs new file mode 100755 index 00000000..fe63e51e --- /dev/null +++ b/.yarn/releases/yarn-4.6.0.cjs @@ -0,0 +1,934 @@ +#!/usr/bin/env node +/* eslint-disable */ +//prettier-ignore +(()=>{var j3e=Object.create;var gT=Object.defineProperty;var G3e=Object.getOwnPropertyDescriptor;var W3e=Object.getOwnPropertyNames;var Y3e=Object.getPrototypeOf,K3e=Object.prototype.hasOwnProperty;var ve=(t=>typeof require<"u"?require:typeof Proxy<"u"?new Proxy(t,{get:(e,r)=>(typeof require<"u"?require:e)[r]}):t)(function(t){if(typeof require<"u")return require.apply(this,arguments);throw Error('Dynamic require of "'+t+'" is not supported')});var It=(t,e)=>()=>(t&&(e=t(t=0)),e);var _=(t,e)=>()=>(e||t((e={exports:{}}).exports,e),e.exports),Kt=(t,e)=>{for(var r in e)gT(t,r,{get:e[r],enumerable:!0})},V3e=(t,e,r,o)=>{if(e&&typeof e=="object"||typeof e=="function")for(let a of W3e(e))!K3e.call(t,a)&&a!==r&&gT(t,a,{get:()=>e[a],enumerable:!(o=G3e(e,a))||o.enumerable});return t};var et=(t,e,r)=>(r=t!=null?j3e(Y3e(t)):{},V3e(e||!t||!t.__esModule?gT(r,"default",{value:t,enumerable:!0}):r,t));var Pi={};Kt(Pi,{SAFE_TIME:()=>cW,S_IFDIR:()=>VD,S_IFLNK:()=>JD,S_IFMT:()=>Hu,S_IFREG:()=>ow});var Hu,VD,ow,JD,cW,uW=It(()=>{Hu=61440,VD=16384,ow=32768,JD=40960,cW=456789e3});var sr={};Kt(sr,{EBADF:()=>ho,EBUSY:()=>J3e,EEXIST:()=>t8e,EINVAL:()=>X3e,EISDIR:()=>e8e,ENOENT:()=>Z3e,ENOSYS:()=>z3e,ENOTDIR:()=>$3e,ENOTEMPTY:()=>n8e,EOPNOTSUPP:()=>i8e,EROFS:()=>r8e,ERR_DIR_CLOSED:()=>dT});function Ll(t,e){return Object.assign(new Error(`${t}: ${e}`),{code:t})}function J3e(t){return Ll("EBUSY",t)}function z3e(t,e){return Ll("ENOSYS",`${t}, ${e}`)}function X3e(t){return Ll("EINVAL",`invalid argument, ${t}`)}function ho(t){return Ll("EBADF",`bad file descriptor, ${t}`)}function Z3e(t){return Ll("ENOENT",`no such file or directory, ${t}`)}function $3e(t){return Ll("ENOTDIR",`not a directory, ${t}`)}function e8e(t){return Ll("EISDIR",`illegal operation on a directory, ${t}`)}function t8e(t){return Ll("EEXIST",`file already exists, ${t}`)}function r8e(t){return Ll("EROFS",`read-only filesystem, ${t}`)}function n8e(t){return Ll("ENOTEMPTY",`directory not empty, ${t}`)}function i8e(t){return Ll("EOPNOTSUPP",`operation not supported, ${t}`)}function dT(){return Ll("ERR_DIR_CLOSED","Directory handle was closed")}var zD=It(()=>{});var wa={};Kt(wa,{BigIntStatsEntry:()=>cm,DEFAULT_MODE:()=>ET,DirEntry:()=>mT,StatEntry:()=>lm,areStatsEqual:()=>CT,clearStats:()=>XD,convertToBigIntStats:()=>o8e,makeDefaultStats:()=>AW,makeEmptyStats:()=>s8e});function AW(){return new lm}function s8e(){return XD(AW())}function XD(t){for(let e in t)if(Object.hasOwn(t,e)){let r=t[e];typeof r=="number"?t[e]=0:typeof r=="bigint"?t[e]=BigInt(0):yT.types.isDate(r)&&(t[e]=new Date(0))}return t}function o8e(t){let e=new cm;for(let r in t)if(Object.hasOwn(t,r)){let o=t[r];typeof o=="number"?e[r]=BigInt(o):yT.types.isDate(o)&&(e[r]=new Date(o))}return e.atimeNs=e.atimeMs*BigInt(1e6),e.mtimeNs=e.mtimeMs*BigInt(1e6),e.ctimeNs=e.ctimeMs*BigInt(1e6),e.birthtimeNs=e.birthtimeMs*BigInt(1e6),e}function CT(t,e){if(t.atimeMs!==e.atimeMs||t.birthtimeMs!==e.birthtimeMs||t.blksize!==e.blksize||t.blocks!==e.blocks||t.ctimeMs!==e.ctimeMs||t.dev!==e.dev||t.gid!==e.gid||t.ino!==e.ino||t.isBlockDevice()!==e.isBlockDevice()||t.isCharacterDevice()!==e.isCharacterDevice()||t.isDirectory()!==e.isDirectory()||t.isFIFO()!==e.isFIFO()||t.isFile()!==e.isFile()||t.isSocket()!==e.isSocket()||t.isSymbolicLink()!==e.isSymbolicLink()||t.mode!==e.mode||t.mtimeMs!==e.mtimeMs||t.nlink!==e.nlink||t.rdev!==e.rdev||t.size!==e.size||t.uid!==e.uid)return!1;let r=t,o=e;return!(r.atimeNs!==o.atimeNs||r.mtimeNs!==o.mtimeNs||r.ctimeNs!==o.ctimeNs||r.birthtimeNs!==o.birthtimeNs)}var yT,ET,mT,lm,cm,IT=It(()=>{yT=et(ve("util")),ET=33188,mT=class{constructor(){this.name="";this.path="";this.mode=0}isBlockDevice(){return!1}isCharacterDevice(){return!1}isDirectory(){return(this.mode&61440)===16384}isFIFO(){return!1}isFile(){return(this.mode&61440)===32768}isSocket(){return!1}isSymbolicLink(){return(this.mode&61440)===40960}},lm=class{constructor(){this.uid=0;this.gid=0;this.size=0;this.blksize=0;this.atimeMs=0;this.mtimeMs=0;this.ctimeMs=0;this.birthtimeMs=0;this.atime=new Date(0);this.mtime=new Date(0);this.ctime=new Date(0);this.birthtime=new Date(0);this.dev=0;this.ino=0;this.mode=ET;this.nlink=1;this.rdev=0;this.blocks=1}isBlockDevice(){return!1}isCharacterDevice(){return!1}isDirectory(){return(this.mode&61440)===16384}isFIFO(){return!1}isFile(){return(this.mode&61440)===32768}isSocket(){return!1}isSymbolicLink(){return(this.mode&61440)===40960}},cm=class{constructor(){this.uid=BigInt(0);this.gid=BigInt(0);this.size=BigInt(0);this.blksize=BigInt(0);this.atimeMs=BigInt(0);this.mtimeMs=BigInt(0);this.ctimeMs=BigInt(0);this.birthtimeMs=BigInt(0);this.atimeNs=BigInt(0);this.mtimeNs=BigInt(0);this.ctimeNs=BigInt(0);this.birthtimeNs=BigInt(0);this.atime=new Date(0);this.mtime=new Date(0);this.ctime=new Date(0);this.birthtime=new Date(0);this.dev=BigInt(0);this.ino=BigInt(0);this.mode=BigInt(ET);this.nlink=BigInt(1);this.rdev=BigInt(0);this.blocks=BigInt(1)}isBlockDevice(){return!1}isCharacterDevice(){return!1}isDirectory(){return(this.mode&BigInt(61440))===BigInt(16384)}isFIFO(){return!1}isFile(){return(this.mode&BigInt(61440))===BigInt(32768)}isSocket(){return!1}isSymbolicLink(){return(this.mode&BigInt(61440))===BigInt(40960)}}});function A8e(t){let e,r;if(e=t.match(c8e))t=e[1];else if(r=t.match(u8e))t=`\\\\${r[1]?".\\":""}${r[2]}`;else return t;return t.replace(/\//g,"\\")}function f8e(t){t=t.replace(/\\/g,"/");let e,r;return(e=t.match(a8e))?t=`/${e[1]}`:(r=t.match(l8e))&&(t=`/unc/${r[1]?".dot/":""}${r[2]}`),t}function ZD(t,e){return t===Ae?pW(e):wT(e)}var aw,Bt,mr,Ae,K,fW,a8e,l8e,c8e,u8e,wT,pW,Ba=It(()=>{aw=et(ve("path")),Bt={root:"/",dot:".",parent:".."},mr={home:"~",nodeModules:"node_modules",manifest:"package.json",lockfile:"yarn.lock",virtual:"__virtual__",pnpJs:".pnp.js",pnpCjs:".pnp.cjs",pnpData:".pnp.data.json",pnpEsmLoader:".pnp.loader.mjs",rc:".yarnrc.yml",env:".env"},Ae=Object.create(aw.default),K=Object.create(aw.default.posix);Ae.cwd=()=>process.cwd();K.cwd=process.platform==="win32"?()=>wT(process.cwd()):process.cwd;process.platform==="win32"&&(K.resolve=(...t)=>t.length>0&&K.isAbsolute(t[0])?aw.default.posix.resolve(...t):aw.default.posix.resolve(K.cwd(),...t));fW=function(t,e,r){return e=t.normalize(e),r=t.normalize(r),e===r?".":(e.endsWith(t.sep)||(e=e+t.sep),r.startsWith(e)?r.slice(e.length):null)};Ae.contains=(t,e)=>fW(Ae,t,e);K.contains=(t,e)=>fW(K,t,e);a8e=/^([a-zA-Z]:.*)$/,l8e=/^\/\/(\.\/)?(.*)$/,c8e=/^\/([a-zA-Z]:.*)$/,u8e=/^\/unc\/(\.dot\/)?(.*)$/;wT=process.platform==="win32"?f8e:t=>t,pW=process.platform==="win32"?A8e:t=>t;Ae.fromPortablePath=pW;Ae.toPortablePath=wT});async function $D(t,e){let r="0123456789abcdef";await t.mkdirPromise(e.indexPath,{recursive:!0});let o=[];for(let a of r)for(let n of r)o.push(t.mkdirPromise(t.pathUtils.join(e.indexPath,`${a}${n}`),{recursive:!0}));return await Promise.all(o),e.indexPath}async function hW(t,e,r,o,a){let n=t.pathUtils.normalize(e),u=r.pathUtils.normalize(o),A=[],p=[],{atime:h,mtime:E}=a.stableTime?{atime:H0,mtime:H0}:await r.lstatPromise(u);await t.mkdirpPromise(t.pathUtils.dirname(e),{utimes:[h,E]}),await BT(A,p,t,n,r,u,{...a,didParentExist:!0});for(let w of A)await w();await Promise.all(p.map(w=>w()))}async function BT(t,e,r,o,a,n,u){let A=u.didParentExist?await gW(r,o):null,p=await a.lstatPromise(n),{atime:h,mtime:E}=u.stableTime?{atime:H0,mtime:H0}:p,w;switch(!0){case p.isDirectory():w=await h8e(t,e,r,o,A,a,n,p,u);break;case p.isFile():w=await m8e(t,e,r,o,A,a,n,p,u);break;case p.isSymbolicLink():w=await y8e(t,e,r,o,A,a,n,p,u);break;default:throw new Error(`Unsupported file type (${p.mode})`)}return(u.linkStrategy?.type!=="HardlinkFromIndex"||!p.isFile())&&((w||A?.mtime?.getTime()!==E.getTime()||A?.atime?.getTime()!==h.getTime())&&(e.push(()=>r.lutimesPromise(o,h,E)),w=!0),(A===null||(A.mode&511)!==(p.mode&511))&&(e.push(()=>r.chmodPromise(o,p.mode&511)),w=!0)),w}async function gW(t,e){try{return await t.lstatPromise(e)}catch{return null}}async function h8e(t,e,r,o,a,n,u,A,p){if(a!==null&&!a.isDirectory())if(p.overwrite)t.push(async()=>r.removePromise(o)),a=null;else return!1;let h=!1;a===null&&(t.push(async()=>{try{await r.mkdirPromise(o,{mode:A.mode})}catch(D){if(D.code!=="EEXIST")throw D}}),h=!0);let E=await n.readdirPromise(u),w=p.didParentExist&&!a?{...p,didParentExist:!1}:p;if(p.stableSort)for(let D of E.sort())await BT(t,e,r,r.pathUtils.join(o,D),n,n.pathUtils.join(u,D),w)&&(h=!0);else(await Promise.all(E.map(async x=>{await BT(t,e,r,r.pathUtils.join(o,x),n,n.pathUtils.join(u,x),w)}))).some(x=>x)&&(h=!0);return h}async function g8e(t,e,r,o,a,n,u,A,p,h){let E=await n.checksumFilePromise(u,{algorithm:"sha1"}),w=420,D=A.mode&511,x=`${E}${D!==w?D.toString(8):""}`,C=r.pathUtils.join(h.indexPath,E.slice(0,2),`${x}.dat`),T;(ue=>(ue[ue.Lock=0]="Lock",ue[ue.Rename=1]="Rename"))(T||={});let L=1,U=await gW(r,C);if(a){let le=U&&a.dev===U.dev&&a.ino===U.ino,ce=U?.mtimeMs!==p8e;if(le&&ce&&h.autoRepair&&(L=0,U=null),!le)if(p.overwrite)t.push(async()=>r.removePromise(o)),a=null;else return!1}let J=!U&&L===1?`${C}.${Math.floor(Math.random()*4294967296).toString(16).padStart(8,"0")}`:null,te=!1;return t.push(async()=>{if(!U&&(L===0&&await r.lockPromise(C,async()=>{let le=await n.readFilePromise(u);await r.writeFilePromise(C,le)}),L===1&&J)){let le=await n.readFilePromise(u);await r.writeFilePromise(J,le);try{await r.linkPromise(J,C)}catch(ce){if(ce.code==="EEXIST")te=!0,await r.unlinkPromise(J);else throw ce}}a||await r.linkPromise(C,o)}),e.push(async()=>{U||(await r.lutimesPromise(C,H0,H0),D!==w&&await r.chmodPromise(C,D)),J&&!te&&await r.unlinkPromise(J)}),!1}async function d8e(t,e,r,o,a,n,u,A,p){if(a!==null)if(p.overwrite)t.push(async()=>r.removePromise(o)),a=null;else return!1;return t.push(async()=>{let h=await n.readFilePromise(u);await r.writeFilePromise(o,h)}),!0}async function m8e(t,e,r,o,a,n,u,A,p){return p.linkStrategy?.type==="HardlinkFromIndex"?g8e(t,e,r,o,a,n,u,A,p,p.linkStrategy):d8e(t,e,r,o,a,n,u,A,p)}async function y8e(t,e,r,o,a,n,u,A,p){if(a!==null)if(p.overwrite)t.push(async()=>r.removePromise(o)),a=null;else return!1;return t.push(async()=>{await r.symlinkPromise(ZD(r.pathUtils,await n.readlinkPromise(u)),o)}),!0}var H0,p8e,vT=It(()=>{Ba();H0=new Date(456789e3*1e3),p8e=H0.getTime()});function eP(t,e,r,o){let a=()=>{let n=r.shift();if(typeof n>"u")return null;let u=t.pathUtils.join(e,n);return Object.assign(t.statSync(u),{name:n,path:void 0})};return new lw(e,a,o)}var lw,dW=It(()=>{zD();lw=class{constructor(e,r,o={}){this.path=e;this.nextDirent=r;this.opts=o;this.closed=!1}throwIfClosed(){if(this.closed)throw dT()}async*[Symbol.asyncIterator](){try{let e;for(;(e=await this.read())!==null;)yield e}finally{await this.close()}}read(e){let r=this.readSync();return typeof e<"u"?e(null,r):Promise.resolve(r)}readSync(){return this.throwIfClosed(),this.nextDirent()}close(e){return this.closeSync(),typeof e<"u"?e(null):Promise.resolve()}closeSync(){this.throwIfClosed(),this.opts.onClose?.(),this.closed=!0}}});function mW(t,e){if(t!==e)throw new Error(`Invalid StatWatcher status: expected '${e}', got '${t}'`)}var yW,tP,EW=It(()=>{yW=ve("events");IT();tP=class t extends yW.EventEmitter{constructor(r,o,{bigint:a=!1}={}){super();this.status="ready";this.changeListeners=new Map;this.startTimeout=null;this.fakeFs=r,this.path=o,this.bigint=a,this.lastStats=this.stat()}static create(r,o,a){let n=new t(r,o,a);return n.start(),n}start(){mW(this.status,"ready"),this.status="running",this.startTimeout=setTimeout(()=>{this.startTimeout=null,this.fakeFs.existsSync(this.path)||this.emit("change",this.lastStats,this.lastStats)},3)}stop(){mW(this.status,"running"),this.status="stopped",this.startTimeout!==null&&(clearTimeout(this.startTimeout),this.startTimeout=null),this.emit("stop")}stat(){try{return this.fakeFs.statSync(this.path,{bigint:this.bigint})}catch{let o=this.bigint?new cm:new lm;return XD(o)}}makeInterval(r){let o=setInterval(()=>{let a=this.stat(),n=this.lastStats;CT(a,n)||(this.lastStats=a,this.emit("change",a,n))},r.interval);return r.persistent?o:o.unref()}registerChangeListener(r,o){this.addListener("change",r),this.changeListeners.set(r,this.makeInterval(o))}unregisterChangeListener(r){this.removeListener("change",r);let o=this.changeListeners.get(r);typeof o<"u"&&clearInterval(o),this.changeListeners.delete(r)}unregisterAllChangeListeners(){for(let r of this.changeListeners.keys())this.unregisterChangeListener(r)}hasChangeListeners(){return this.changeListeners.size>0}ref(){for(let r of this.changeListeners.values())r.ref();return this}unref(){for(let r of this.changeListeners.values())r.unref();return this}}});function um(t,e,r,o){let a,n,u,A;switch(typeof r){case"function":a=!1,n=!0,u=5007,A=r;break;default:({bigint:a=!1,persistent:n=!0,interval:u=5007}=r),A=o;break}let p=rP.get(t);typeof p>"u"&&rP.set(t,p=new Map);let h=p.get(e);return typeof h>"u"&&(h=tP.create(t,e,{bigint:a}),p.set(e,h)),h.registerChangeListener(A,{persistent:n,interval:u}),h}function q0(t,e,r){let o=rP.get(t);if(typeof o>"u")return;let a=o.get(e);typeof a>"u"||(typeof r>"u"?a.unregisterAllChangeListeners():a.unregisterChangeListener(r),a.hasChangeListeners()||(a.stop(),o.delete(e)))}function j0(t){let e=rP.get(t);if(!(typeof e>"u"))for(let r of e.keys())q0(t,r)}var rP,DT=It(()=>{EW();rP=new WeakMap});function E8e(t){let e=t.match(/\r?\n/g);if(e===null)return IW.EOL;let r=e.filter(a=>a===`\r +`).length,o=e.length-r;return r>o?`\r +`:` +`}function G0(t,e){return e.replace(/\r?\n/g,E8e(t))}var CW,IW,hf,qu,W0=It(()=>{CW=ve("crypto"),IW=ve("os");vT();Ba();hf=class{constructor(e){this.pathUtils=e}async*genTraversePromise(e,{stableSort:r=!1}={}){let o=[e];for(;o.length>0;){let a=o.shift();if((await this.lstatPromise(a)).isDirectory()){let u=await this.readdirPromise(a);if(r)for(let A of u.sort())o.push(this.pathUtils.join(a,A));else throw new Error("Not supported")}else yield a}}async checksumFilePromise(e,{algorithm:r="sha512"}={}){let o=await this.openPromise(e,"r");try{let n=Buffer.allocUnsafeSlow(65536),u=(0,CW.createHash)(r),A=0;for(;(A=await this.readPromise(o,n,0,65536))!==0;)u.update(A===65536?n:n.slice(0,A));return u.digest("hex")}finally{await this.closePromise(o)}}async removePromise(e,{recursive:r=!0,maxRetries:o=5}={}){let a;try{a=await this.lstatPromise(e)}catch(n){if(n.code==="ENOENT")return;throw n}if(a.isDirectory()){if(r){let n=await this.readdirPromise(e);await Promise.all(n.map(u=>this.removePromise(this.pathUtils.resolve(e,u))))}for(let n=0;n<=o;n++)try{await this.rmdirPromise(e);break}catch(u){if(u.code!=="EBUSY"&&u.code!=="ENOTEMPTY")throw u;n<o&&await new Promise(A=>setTimeout(A,n*100))}}else await this.unlinkPromise(e)}removeSync(e,{recursive:r=!0}={}){let o;try{o=this.lstatSync(e)}catch(a){if(a.code==="ENOENT")return;throw a}if(o.isDirectory()){if(r)for(let a of this.readdirSync(e))this.removeSync(this.pathUtils.resolve(e,a));this.rmdirSync(e)}else this.unlinkSync(e)}async mkdirpPromise(e,{chmod:r,utimes:o}={}){if(e=this.resolve(e),e===this.pathUtils.dirname(e))return;let a=e.split(this.pathUtils.sep),n;for(let u=2;u<=a.length;++u){let A=a.slice(0,u).join(this.pathUtils.sep);if(!this.existsSync(A)){try{await this.mkdirPromise(A)}catch(p){if(p.code==="EEXIST")continue;throw p}if(n??=A,r!=null&&await this.chmodPromise(A,r),o!=null)await this.utimesPromise(A,o[0],o[1]);else{let p=await this.statPromise(this.pathUtils.dirname(A));await this.utimesPromise(A,p.atime,p.mtime)}}}return n}mkdirpSync(e,{chmod:r,utimes:o}={}){if(e=this.resolve(e),e===this.pathUtils.dirname(e))return;let a=e.split(this.pathUtils.sep),n;for(let u=2;u<=a.length;++u){let A=a.slice(0,u).join(this.pathUtils.sep);if(!this.existsSync(A)){try{this.mkdirSync(A)}catch(p){if(p.code==="EEXIST")continue;throw p}if(n??=A,r!=null&&this.chmodSync(A,r),o!=null)this.utimesSync(A,o[0],o[1]);else{let p=this.statSync(this.pathUtils.dirname(A));this.utimesSync(A,p.atime,p.mtime)}}}return n}async copyPromise(e,r,{baseFs:o=this,overwrite:a=!0,stableSort:n=!1,stableTime:u=!1,linkStrategy:A=null}={}){return await hW(this,e,o,r,{overwrite:a,stableSort:n,stableTime:u,linkStrategy:A})}copySync(e,r,{baseFs:o=this,overwrite:a=!0}={}){let n=o.lstatSync(r),u=this.existsSync(e);if(n.isDirectory()){this.mkdirpSync(e);let p=o.readdirSync(r);for(let h of p)this.copySync(this.pathUtils.join(e,h),o.pathUtils.join(r,h),{baseFs:o,overwrite:a})}else if(n.isFile()){if(!u||a){u&&this.removeSync(e);let p=o.readFileSync(r);this.writeFileSync(e,p)}}else if(n.isSymbolicLink()){if(!u||a){u&&this.removeSync(e);let p=o.readlinkSync(r);this.symlinkSync(ZD(this.pathUtils,p),e)}}else throw new Error(`Unsupported file type (file: ${r}, mode: 0o${n.mode.toString(8).padStart(6,"0")})`);let A=n.mode&511;this.chmodSync(e,A)}async changeFilePromise(e,r,o={}){return Buffer.isBuffer(r)?this.changeFileBufferPromise(e,r,o):this.changeFileTextPromise(e,r,o)}async changeFileBufferPromise(e,r,{mode:o}={}){let a=Buffer.alloc(0);try{a=await this.readFilePromise(e)}catch{}Buffer.compare(a,r)!==0&&await this.writeFilePromise(e,r,{mode:o})}async changeFileTextPromise(e,r,{automaticNewlines:o,mode:a}={}){let n="";try{n=await this.readFilePromise(e,"utf8")}catch{}let u=o?G0(n,r):r;n!==u&&await this.writeFilePromise(e,u,{mode:a})}changeFileSync(e,r,o={}){return Buffer.isBuffer(r)?this.changeFileBufferSync(e,r,o):this.changeFileTextSync(e,r,o)}changeFileBufferSync(e,r,{mode:o}={}){let a=Buffer.alloc(0);try{a=this.readFileSync(e)}catch{}Buffer.compare(a,r)!==0&&this.writeFileSync(e,r,{mode:o})}changeFileTextSync(e,r,{automaticNewlines:o=!1,mode:a}={}){let n="";try{n=this.readFileSync(e,"utf8")}catch{}let u=o?G0(n,r):r;n!==u&&this.writeFileSync(e,u,{mode:a})}async movePromise(e,r){try{await this.renamePromise(e,r)}catch(o){if(o.code==="EXDEV")await this.copyPromise(r,e),await this.removePromise(e);else throw o}}moveSync(e,r){try{this.renameSync(e,r)}catch(o){if(o.code==="EXDEV")this.copySync(r,e),this.removeSync(e);else throw o}}async lockPromise(e,r){let o=`${e}.flock`,a=1e3/60,n=Date.now(),u=null,A=async()=>{let p;try{[p]=await this.readJsonPromise(o)}catch{return Date.now()-n<500}try{return process.kill(p,0),!0}catch{return!1}};for(;u===null;)try{u=await this.openPromise(o,"wx")}catch(p){if(p.code==="EEXIST"){if(!await A())try{await this.unlinkPromise(o);continue}catch{}if(Date.now()-n<60*1e3)await new Promise(h=>setTimeout(h,a));else throw new Error(`Couldn't acquire a lock in a reasonable time (via ${o})`)}else throw p}await this.writePromise(u,JSON.stringify([process.pid]));try{return await r()}finally{try{await this.closePromise(u),await this.unlinkPromise(o)}catch{}}}async readJsonPromise(e){let r=await this.readFilePromise(e,"utf8");try{return JSON.parse(r)}catch(o){throw o.message+=` (in ${e})`,o}}readJsonSync(e){let r=this.readFileSync(e,"utf8");try{return JSON.parse(r)}catch(o){throw o.message+=` (in ${e})`,o}}async writeJsonPromise(e,r,{compact:o=!1}={}){let a=o?0:2;return await this.writeFilePromise(e,`${JSON.stringify(r,null,a)} +`)}writeJsonSync(e,r,{compact:o=!1}={}){let a=o?0:2;return this.writeFileSync(e,`${JSON.stringify(r,null,a)} +`)}async preserveTimePromise(e,r){let o=await this.lstatPromise(e),a=await r();typeof a<"u"&&(e=a),await this.lutimesPromise(e,o.atime,o.mtime)}async preserveTimeSync(e,r){let o=this.lstatSync(e),a=r();typeof a<"u"&&(e=a),this.lutimesSync(e,o.atime,o.mtime)}},qu=class extends hf{constructor(){super(K)}}});var ws,gf=It(()=>{W0();ws=class extends hf{getExtractHint(e){return this.baseFs.getExtractHint(e)}resolve(e){return this.mapFromBase(this.baseFs.resolve(this.mapToBase(e)))}getRealPath(){return this.mapFromBase(this.baseFs.getRealPath())}async openPromise(e,r,o){return this.baseFs.openPromise(this.mapToBase(e),r,o)}openSync(e,r,o){return this.baseFs.openSync(this.mapToBase(e),r,o)}async opendirPromise(e,r){return Object.assign(await this.baseFs.opendirPromise(this.mapToBase(e),r),{path:e})}opendirSync(e,r){return Object.assign(this.baseFs.opendirSync(this.mapToBase(e),r),{path:e})}async readPromise(e,r,o,a,n){return await this.baseFs.readPromise(e,r,o,a,n)}readSync(e,r,o,a,n){return this.baseFs.readSync(e,r,o,a,n)}async writePromise(e,r,o,a,n){return typeof r=="string"?await this.baseFs.writePromise(e,r,o):await this.baseFs.writePromise(e,r,o,a,n)}writeSync(e,r,o,a,n){return typeof r=="string"?this.baseFs.writeSync(e,r,o):this.baseFs.writeSync(e,r,o,a,n)}async closePromise(e){return this.baseFs.closePromise(e)}closeSync(e){this.baseFs.closeSync(e)}createReadStream(e,r){return this.baseFs.createReadStream(e!==null?this.mapToBase(e):e,r)}createWriteStream(e,r){return this.baseFs.createWriteStream(e!==null?this.mapToBase(e):e,r)}async realpathPromise(e){return this.mapFromBase(await this.baseFs.realpathPromise(this.mapToBase(e)))}realpathSync(e){return this.mapFromBase(this.baseFs.realpathSync(this.mapToBase(e)))}async existsPromise(e){return this.baseFs.existsPromise(this.mapToBase(e))}existsSync(e){return this.baseFs.existsSync(this.mapToBase(e))}accessSync(e,r){return this.baseFs.accessSync(this.mapToBase(e),r)}async accessPromise(e,r){return this.baseFs.accessPromise(this.mapToBase(e),r)}async statPromise(e,r){return this.baseFs.statPromise(this.mapToBase(e),r)}statSync(e,r){return this.baseFs.statSync(this.mapToBase(e),r)}async fstatPromise(e,r){return this.baseFs.fstatPromise(e,r)}fstatSync(e,r){return this.baseFs.fstatSync(e,r)}lstatPromise(e,r){return this.baseFs.lstatPromise(this.mapToBase(e),r)}lstatSync(e,r){return this.baseFs.lstatSync(this.mapToBase(e),r)}async fchmodPromise(e,r){return this.baseFs.fchmodPromise(e,r)}fchmodSync(e,r){return this.baseFs.fchmodSync(e,r)}async chmodPromise(e,r){return this.baseFs.chmodPromise(this.mapToBase(e),r)}chmodSync(e,r){return this.baseFs.chmodSync(this.mapToBase(e),r)}async fchownPromise(e,r,o){return this.baseFs.fchownPromise(e,r,o)}fchownSync(e,r,o){return this.baseFs.fchownSync(e,r,o)}async chownPromise(e,r,o){return this.baseFs.chownPromise(this.mapToBase(e),r,o)}chownSync(e,r,o){return this.baseFs.chownSync(this.mapToBase(e),r,o)}async renamePromise(e,r){return this.baseFs.renamePromise(this.mapToBase(e),this.mapToBase(r))}renameSync(e,r){return this.baseFs.renameSync(this.mapToBase(e),this.mapToBase(r))}async copyFilePromise(e,r,o=0){return this.baseFs.copyFilePromise(this.mapToBase(e),this.mapToBase(r),o)}copyFileSync(e,r,o=0){return this.baseFs.copyFileSync(this.mapToBase(e),this.mapToBase(r),o)}async appendFilePromise(e,r,o){return this.baseFs.appendFilePromise(this.fsMapToBase(e),r,o)}appendFileSync(e,r,o){return this.baseFs.appendFileSync(this.fsMapToBase(e),r,o)}async writeFilePromise(e,r,o){return this.baseFs.writeFilePromise(this.fsMapToBase(e),r,o)}writeFileSync(e,r,o){return this.baseFs.writeFileSync(this.fsMapToBase(e),r,o)}async unlinkPromise(e){return this.baseFs.unlinkPromise(this.mapToBase(e))}unlinkSync(e){return this.baseFs.unlinkSync(this.mapToBase(e))}async utimesPromise(e,r,o){return this.baseFs.utimesPromise(this.mapToBase(e),r,o)}utimesSync(e,r,o){return this.baseFs.utimesSync(this.mapToBase(e),r,o)}async lutimesPromise(e,r,o){return this.baseFs.lutimesPromise(this.mapToBase(e),r,o)}lutimesSync(e,r,o){return this.baseFs.lutimesSync(this.mapToBase(e),r,o)}async mkdirPromise(e,r){return this.baseFs.mkdirPromise(this.mapToBase(e),r)}mkdirSync(e,r){return this.baseFs.mkdirSync(this.mapToBase(e),r)}async rmdirPromise(e,r){return this.baseFs.rmdirPromise(this.mapToBase(e),r)}rmdirSync(e,r){return this.baseFs.rmdirSync(this.mapToBase(e),r)}async rmPromise(e,r){return this.baseFs.rmPromise(this.mapToBase(e),r)}rmSync(e,r){return this.baseFs.rmSync(this.mapToBase(e),r)}async linkPromise(e,r){return this.baseFs.linkPromise(this.mapToBase(e),this.mapToBase(r))}linkSync(e,r){return this.baseFs.linkSync(this.mapToBase(e),this.mapToBase(r))}async symlinkPromise(e,r,o){let a=this.mapToBase(r);if(this.pathUtils.isAbsolute(e))return this.baseFs.symlinkPromise(this.mapToBase(e),a,o);let n=this.mapToBase(this.pathUtils.join(this.pathUtils.dirname(r),e)),u=this.baseFs.pathUtils.relative(this.baseFs.pathUtils.dirname(a),n);return this.baseFs.symlinkPromise(u,a,o)}symlinkSync(e,r,o){let a=this.mapToBase(r);if(this.pathUtils.isAbsolute(e))return this.baseFs.symlinkSync(this.mapToBase(e),a,o);let n=this.mapToBase(this.pathUtils.join(this.pathUtils.dirname(r),e)),u=this.baseFs.pathUtils.relative(this.baseFs.pathUtils.dirname(a),n);return this.baseFs.symlinkSync(u,a,o)}async readFilePromise(e,r){return this.baseFs.readFilePromise(this.fsMapToBase(e),r)}readFileSync(e,r){return this.baseFs.readFileSync(this.fsMapToBase(e),r)}readdirPromise(e,r){return this.baseFs.readdirPromise(this.mapToBase(e),r)}readdirSync(e,r){return this.baseFs.readdirSync(this.mapToBase(e),r)}async readlinkPromise(e){return this.mapFromBase(await this.baseFs.readlinkPromise(this.mapToBase(e)))}readlinkSync(e){return this.mapFromBase(this.baseFs.readlinkSync(this.mapToBase(e)))}async truncatePromise(e,r){return this.baseFs.truncatePromise(this.mapToBase(e),r)}truncateSync(e,r){return this.baseFs.truncateSync(this.mapToBase(e),r)}async ftruncatePromise(e,r){return this.baseFs.ftruncatePromise(e,r)}ftruncateSync(e,r){return this.baseFs.ftruncateSync(e,r)}watch(e,r,o){return this.baseFs.watch(this.mapToBase(e),r,o)}watchFile(e,r,o){return this.baseFs.watchFile(this.mapToBase(e),r,o)}unwatchFile(e,r){return this.baseFs.unwatchFile(this.mapToBase(e),r)}fsMapToBase(e){return typeof e=="number"?e:this.mapToBase(e)}}});var ju,wW=It(()=>{gf();ju=class extends ws{constructor(e,{baseFs:r,pathUtils:o}){super(o),this.target=e,this.baseFs=r}getRealPath(){return this.target}getBaseFs(){return this.baseFs}mapFromBase(e){return e}mapToBase(e){return e}}});function BW(t){let e=t;return typeof t.path=="string"&&(e.path=Ae.toPortablePath(t.path)),e}var vW,_n,Y0=It(()=>{vW=et(ve("fs"));W0();Ba();_n=class extends qu{constructor(e=vW.default){super(),this.realFs=e}getExtractHint(){return!1}getRealPath(){return Bt.root}resolve(e){return K.resolve(e)}async openPromise(e,r,o){return await new Promise((a,n)=>{this.realFs.open(Ae.fromPortablePath(e),r,o,this.makeCallback(a,n))})}openSync(e,r,o){return this.realFs.openSync(Ae.fromPortablePath(e),r,o)}async opendirPromise(e,r){return await new Promise((o,a)=>{typeof r<"u"?this.realFs.opendir(Ae.fromPortablePath(e),r,this.makeCallback(o,a)):this.realFs.opendir(Ae.fromPortablePath(e),this.makeCallback(o,a))}).then(o=>{let a=o;return Object.defineProperty(a,"path",{value:e,configurable:!0,writable:!0}),a})}opendirSync(e,r){let a=typeof r<"u"?this.realFs.opendirSync(Ae.fromPortablePath(e),r):this.realFs.opendirSync(Ae.fromPortablePath(e));return Object.defineProperty(a,"path",{value:e,configurable:!0,writable:!0}),a}async readPromise(e,r,o=0,a=0,n=-1){return await new Promise((u,A)=>{this.realFs.read(e,r,o,a,n,(p,h)=>{p?A(p):u(h)})})}readSync(e,r,o,a,n){return this.realFs.readSync(e,r,o,a,n)}async writePromise(e,r,o,a,n){return await new Promise((u,A)=>typeof r=="string"?this.realFs.write(e,r,o,this.makeCallback(u,A)):this.realFs.write(e,r,o,a,n,this.makeCallback(u,A)))}writeSync(e,r,o,a,n){return typeof r=="string"?this.realFs.writeSync(e,r,o):this.realFs.writeSync(e,r,o,a,n)}async closePromise(e){await new Promise((r,o)=>{this.realFs.close(e,this.makeCallback(r,o))})}closeSync(e){this.realFs.closeSync(e)}createReadStream(e,r){let o=e!==null?Ae.fromPortablePath(e):e;return this.realFs.createReadStream(o,r)}createWriteStream(e,r){let o=e!==null?Ae.fromPortablePath(e):e;return this.realFs.createWriteStream(o,r)}async realpathPromise(e){return await new Promise((r,o)=>{this.realFs.realpath(Ae.fromPortablePath(e),{},this.makeCallback(r,o))}).then(r=>Ae.toPortablePath(r))}realpathSync(e){return Ae.toPortablePath(this.realFs.realpathSync(Ae.fromPortablePath(e),{}))}async existsPromise(e){return await new Promise(r=>{this.realFs.exists(Ae.fromPortablePath(e),r)})}accessSync(e,r){return this.realFs.accessSync(Ae.fromPortablePath(e),r)}async accessPromise(e,r){return await new Promise((o,a)=>{this.realFs.access(Ae.fromPortablePath(e),r,this.makeCallback(o,a))})}existsSync(e){return this.realFs.existsSync(Ae.fromPortablePath(e))}async statPromise(e,r){return await new Promise((o,a)=>{r?this.realFs.stat(Ae.fromPortablePath(e),r,this.makeCallback(o,a)):this.realFs.stat(Ae.fromPortablePath(e),this.makeCallback(o,a))})}statSync(e,r){return r?this.realFs.statSync(Ae.fromPortablePath(e),r):this.realFs.statSync(Ae.fromPortablePath(e))}async fstatPromise(e,r){return await new Promise((o,a)=>{r?this.realFs.fstat(e,r,this.makeCallback(o,a)):this.realFs.fstat(e,this.makeCallback(o,a))})}fstatSync(e,r){return r?this.realFs.fstatSync(e,r):this.realFs.fstatSync(e)}async lstatPromise(e,r){return await new Promise((o,a)=>{r?this.realFs.lstat(Ae.fromPortablePath(e),r,this.makeCallback(o,a)):this.realFs.lstat(Ae.fromPortablePath(e),this.makeCallback(o,a))})}lstatSync(e,r){return r?this.realFs.lstatSync(Ae.fromPortablePath(e),r):this.realFs.lstatSync(Ae.fromPortablePath(e))}async fchmodPromise(e,r){return await new Promise((o,a)=>{this.realFs.fchmod(e,r,this.makeCallback(o,a))})}fchmodSync(e,r){return this.realFs.fchmodSync(e,r)}async chmodPromise(e,r){return await new Promise((o,a)=>{this.realFs.chmod(Ae.fromPortablePath(e),r,this.makeCallback(o,a))})}chmodSync(e,r){return this.realFs.chmodSync(Ae.fromPortablePath(e),r)}async fchownPromise(e,r,o){return await new Promise((a,n)=>{this.realFs.fchown(e,r,o,this.makeCallback(a,n))})}fchownSync(e,r,o){return this.realFs.fchownSync(e,r,o)}async chownPromise(e,r,o){return await new Promise((a,n)=>{this.realFs.chown(Ae.fromPortablePath(e),r,o,this.makeCallback(a,n))})}chownSync(e,r,o){return this.realFs.chownSync(Ae.fromPortablePath(e),r,o)}async renamePromise(e,r){return await new Promise((o,a)=>{this.realFs.rename(Ae.fromPortablePath(e),Ae.fromPortablePath(r),this.makeCallback(o,a))})}renameSync(e,r){return this.realFs.renameSync(Ae.fromPortablePath(e),Ae.fromPortablePath(r))}async copyFilePromise(e,r,o=0){return await new Promise((a,n)=>{this.realFs.copyFile(Ae.fromPortablePath(e),Ae.fromPortablePath(r),o,this.makeCallback(a,n))})}copyFileSync(e,r,o=0){return this.realFs.copyFileSync(Ae.fromPortablePath(e),Ae.fromPortablePath(r),o)}async appendFilePromise(e,r,o){return await new Promise((a,n)=>{let u=typeof e=="string"?Ae.fromPortablePath(e):e;o?this.realFs.appendFile(u,r,o,this.makeCallback(a,n)):this.realFs.appendFile(u,r,this.makeCallback(a,n))})}appendFileSync(e,r,o){let a=typeof e=="string"?Ae.fromPortablePath(e):e;o?this.realFs.appendFileSync(a,r,o):this.realFs.appendFileSync(a,r)}async writeFilePromise(e,r,o){return await new Promise((a,n)=>{let u=typeof e=="string"?Ae.fromPortablePath(e):e;o?this.realFs.writeFile(u,r,o,this.makeCallback(a,n)):this.realFs.writeFile(u,r,this.makeCallback(a,n))})}writeFileSync(e,r,o){let a=typeof e=="string"?Ae.fromPortablePath(e):e;o?this.realFs.writeFileSync(a,r,o):this.realFs.writeFileSync(a,r)}async unlinkPromise(e){return await new Promise((r,o)=>{this.realFs.unlink(Ae.fromPortablePath(e),this.makeCallback(r,o))})}unlinkSync(e){return this.realFs.unlinkSync(Ae.fromPortablePath(e))}async utimesPromise(e,r,o){return await new Promise((a,n)=>{this.realFs.utimes(Ae.fromPortablePath(e),r,o,this.makeCallback(a,n))})}utimesSync(e,r,o){this.realFs.utimesSync(Ae.fromPortablePath(e),r,o)}async lutimesPromise(e,r,o){return await new Promise((a,n)=>{this.realFs.lutimes(Ae.fromPortablePath(e),r,o,this.makeCallback(a,n))})}lutimesSync(e,r,o){this.realFs.lutimesSync(Ae.fromPortablePath(e),r,o)}async mkdirPromise(e,r){return await new Promise((o,a)=>{this.realFs.mkdir(Ae.fromPortablePath(e),r,this.makeCallback(o,a))})}mkdirSync(e,r){return this.realFs.mkdirSync(Ae.fromPortablePath(e),r)}async rmdirPromise(e,r){return await new Promise((o,a)=>{r?this.realFs.rmdir(Ae.fromPortablePath(e),r,this.makeCallback(o,a)):this.realFs.rmdir(Ae.fromPortablePath(e),this.makeCallback(o,a))})}rmdirSync(e,r){return this.realFs.rmdirSync(Ae.fromPortablePath(e),r)}async rmPromise(e,r){return await new Promise((o,a)=>{r?this.realFs.rm(Ae.fromPortablePath(e),r,this.makeCallback(o,a)):this.realFs.rm(Ae.fromPortablePath(e),this.makeCallback(o,a))})}rmSync(e,r){return this.realFs.rmSync(Ae.fromPortablePath(e),r)}async linkPromise(e,r){return await new Promise((o,a)=>{this.realFs.link(Ae.fromPortablePath(e),Ae.fromPortablePath(r),this.makeCallback(o,a))})}linkSync(e,r){return this.realFs.linkSync(Ae.fromPortablePath(e),Ae.fromPortablePath(r))}async symlinkPromise(e,r,o){return await new Promise((a,n)=>{this.realFs.symlink(Ae.fromPortablePath(e.replace(/\/+$/,"")),Ae.fromPortablePath(r),o,this.makeCallback(a,n))})}symlinkSync(e,r,o){return this.realFs.symlinkSync(Ae.fromPortablePath(e.replace(/\/+$/,"")),Ae.fromPortablePath(r),o)}async readFilePromise(e,r){return await new Promise((o,a)=>{let n=typeof e=="string"?Ae.fromPortablePath(e):e;this.realFs.readFile(n,r,this.makeCallback(o,a))})}readFileSync(e,r){let o=typeof e=="string"?Ae.fromPortablePath(e):e;return this.realFs.readFileSync(o,r)}async readdirPromise(e,r){return await new Promise((o,a)=>{r?r.recursive&&process.platform==="win32"?r.withFileTypes?this.realFs.readdir(Ae.fromPortablePath(e),r,this.makeCallback(n=>o(n.map(BW)),a)):this.realFs.readdir(Ae.fromPortablePath(e),r,this.makeCallback(n=>o(n.map(Ae.toPortablePath)),a)):this.realFs.readdir(Ae.fromPortablePath(e),r,this.makeCallback(o,a)):this.realFs.readdir(Ae.fromPortablePath(e),this.makeCallback(o,a))})}readdirSync(e,r){return r?r.recursive&&process.platform==="win32"?r.withFileTypes?this.realFs.readdirSync(Ae.fromPortablePath(e),r).map(BW):this.realFs.readdirSync(Ae.fromPortablePath(e),r).map(Ae.toPortablePath):this.realFs.readdirSync(Ae.fromPortablePath(e),r):this.realFs.readdirSync(Ae.fromPortablePath(e))}async readlinkPromise(e){return await new Promise((r,o)=>{this.realFs.readlink(Ae.fromPortablePath(e),this.makeCallback(r,o))}).then(r=>Ae.toPortablePath(r))}readlinkSync(e){return Ae.toPortablePath(this.realFs.readlinkSync(Ae.fromPortablePath(e)))}async truncatePromise(e,r){return await new Promise((o,a)=>{this.realFs.truncate(Ae.fromPortablePath(e),r,this.makeCallback(o,a))})}truncateSync(e,r){return this.realFs.truncateSync(Ae.fromPortablePath(e),r)}async ftruncatePromise(e,r){return await new Promise((o,a)=>{this.realFs.ftruncate(e,r,this.makeCallback(o,a))})}ftruncateSync(e,r){return this.realFs.ftruncateSync(e,r)}watch(e,r,o){return this.realFs.watch(Ae.fromPortablePath(e),r,o)}watchFile(e,r,o){return this.realFs.watchFile(Ae.fromPortablePath(e),r,o)}unwatchFile(e,r){return this.realFs.unwatchFile(Ae.fromPortablePath(e),r)}makeCallback(e,r){return(o,a)=>{o?r(o):e(a)}}}});var En,DW=It(()=>{Y0();gf();Ba();En=class extends ws{constructor(e,{baseFs:r=new _n}={}){super(K),this.target=this.pathUtils.normalize(e),this.baseFs=r}getRealPath(){return this.pathUtils.resolve(this.baseFs.getRealPath(),this.target)}resolve(e){return this.pathUtils.isAbsolute(e)?K.normalize(e):this.baseFs.resolve(K.join(this.target,e))}mapFromBase(e){return e}mapToBase(e){return this.pathUtils.isAbsolute(e)?e:this.pathUtils.join(this.target,e)}}});var PW,Gu,SW=It(()=>{Y0();gf();Ba();PW=Bt.root,Gu=class extends ws{constructor(e,{baseFs:r=new _n}={}){super(K),this.target=this.pathUtils.resolve(Bt.root,e),this.baseFs=r}getRealPath(){return this.pathUtils.resolve(this.baseFs.getRealPath(),this.pathUtils.relative(Bt.root,this.target))}getTarget(){return this.target}getBaseFs(){return this.baseFs}mapToBase(e){let r=this.pathUtils.normalize(e);if(this.pathUtils.isAbsolute(e))return this.pathUtils.resolve(this.target,this.pathUtils.relative(PW,e));if(r.match(/^\.\.\/?/))throw new Error(`Resolving this path (${e}) would escape the jail`);return this.pathUtils.resolve(this.target,e)}mapFromBase(e){return this.pathUtils.resolve(PW,this.pathUtils.relative(this.target,e))}}});var Am,bW=It(()=>{gf();Am=class extends ws{constructor(r,o){super(o);this.instance=null;this.factory=r}get baseFs(){return this.instance||(this.instance=this.factory()),this.instance}set baseFs(r){this.instance=r}mapFromBase(r){return r}mapToBase(r){return r}}});var K0,va,Gp,xW=It(()=>{K0=ve("fs");W0();Y0();DT();zD();Ba();va=4278190080,Gp=class extends qu{constructor({baseFs:r=new _n,filter:o=null,magicByte:a=42,maxOpenFiles:n=1/0,useCache:u=!0,maxAge:A=5e3,typeCheck:p=K0.constants.S_IFREG,getMountPoint:h,factoryPromise:E,factorySync:w}){if(Math.floor(a)!==a||!(a>1&&a<=127))throw new Error("The magic byte must be set to a round value between 1 and 127 included");super();this.fdMap=new Map;this.nextFd=3;this.isMount=new Set;this.notMount=new Set;this.realPaths=new Map;this.limitOpenFilesTimeout=null;this.baseFs=r,this.mountInstances=u?new Map:null,this.factoryPromise=E,this.factorySync=w,this.filter=o,this.getMountPoint=h,this.magic=a<<24,this.maxAge=A,this.maxOpenFiles=n,this.typeCheck=p}getExtractHint(r){return this.baseFs.getExtractHint(r)}getRealPath(){return this.baseFs.getRealPath()}saveAndClose(){if(j0(this),this.mountInstances)for(let[r,{childFs:o}]of this.mountInstances.entries())o.saveAndClose?.(),this.mountInstances.delete(r)}discardAndClose(){if(j0(this),this.mountInstances)for(let[r,{childFs:o}]of this.mountInstances.entries())o.discardAndClose?.(),this.mountInstances.delete(r)}resolve(r){return this.baseFs.resolve(r)}remapFd(r,o){let a=this.nextFd++|this.magic;return this.fdMap.set(a,[r,o]),a}async openPromise(r,o,a){return await this.makeCallPromise(r,async()=>await this.baseFs.openPromise(r,o,a),async(n,{subPath:u})=>this.remapFd(n,await n.openPromise(u,o,a)))}openSync(r,o,a){return this.makeCallSync(r,()=>this.baseFs.openSync(r,o,a),(n,{subPath:u})=>this.remapFd(n,n.openSync(u,o,a)))}async opendirPromise(r,o){return await this.makeCallPromise(r,async()=>await this.baseFs.opendirPromise(r,o),async(a,{subPath:n})=>await a.opendirPromise(n,o),{requireSubpath:!1})}opendirSync(r,o){return this.makeCallSync(r,()=>this.baseFs.opendirSync(r,o),(a,{subPath:n})=>a.opendirSync(n,o),{requireSubpath:!1})}async readPromise(r,o,a,n,u){if((r&va)!==this.magic)return await this.baseFs.readPromise(r,o,a,n,u);let A=this.fdMap.get(r);if(typeof A>"u")throw ho("read");let[p,h]=A;return await p.readPromise(h,o,a,n,u)}readSync(r,o,a,n,u){if((r&va)!==this.magic)return this.baseFs.readSync(r,o,a,n,u);let A=this.fdMap.get(r);if(typeof A>"u")throw ho("readSync");let[p,h]=A;return p.readSync(h,o,a,n,u)}async writePromise(r,o,a,n,u){if((r&va)!==this.magic)return typeof o=="string"?await this.baseFs.writePromise(r,o,a):await this.baseFs.writePromise(r,o,a,n,u);let A=this.fdMap.get(r);if(typeof A>"u")throw ho("write");let[p,h]=A;return typeof o=="string"?await p.writePromise(h,o,a):await p.writePromise(h,o,a,n,u)}writeSync(r,o,a,n,u){if((r&va)!==this.magic)return typeof o=="string"?this.baseFs.writeSync(r,o,a):this.baseFs.writeSync(r,o,a,n,u);let A=this.fdMap.get(r);if(typeof A>"u")throw ho("writeSync");let[p,h]=A;return typeof o=="string"?p.writeSync(h,o,a):p.writeSync(h,o,a,n,u)}async closePromise(r){if((r&va)!==this.magic)return await this.baseFs.closePromise(r);let o=this.fdMap.get(r);if(typeof o>"u")throw ho("close");this.fdMap.delete(r);let[a,n]=o;return await a.closePromise(n)}closeSync(r){if((r&va)!==this.magic)return this.baseFs.closeSync(r);let o=this.fdMap.get(r);if(typeof o>"u")throw ho("closeSync");this.fdMap.delete(r);let[a,n]=o;return a.closeSync(n)}createReadStream(r,o){return r===null?this.baseFs.createReadStream(r,o):this.makeCallSync(r,()=>this.baseFs.createReadStream(r,o),(a,{archivePath:n,subPath:u})=>{let A=a.createReadStream(u,o);return A.path=Ae.fromPortablePath(this.pathUtils.join(n,u)),A})}createWriteStream(r,o){return r===null?this.baseFs.createWriteStream(r,o):this.makeCallSync(r,()=>this.baseFs.createWriteStream(r,o),(a,{subPath:n})=>a.createWriteStream(n,o))}async realpathPromise(r){return await this.makeCallPromise(r,async()=>await this.baseFs.realpathPromise(r),async(o,{archivePath:a,subPath:n})=>{let u=this.realPaths.get(a);return typeof u>"u"&&(u=await this.baseFs.realpathPromise(a),this.realPaths.set(a,u)),this.pathUtils.join(u,this.pathUtils.relative(Bt.root,await o.realpathPromise(n)))})}realpathSync(r){return this.makeCallSync(r,()=>this.baseFs.realpathSync(r),(o,{archivePath:a,subPath:n})=>{let u=this.realPaths.get(a);return typeof u>"u"&&(u=this.baseFs.realpathSync(a),this.realPaths.set(a,u)),this.pathUtils.join(u,this.pathUtils.relative(Bt.root,o.realpathSync(n)))})}async existsPromise(r){return await this.makeCallPromise(r,async()=>await this.baseFs.existsPromise(r),async(o,{subPath:a})=>await o.existsPromise(a))}existsSync(r){return this.makeCallSync(r,()=>this.baseFs.existsSync(r),(o,{subPath:a})=>o.existsSync(a))}async accessPromise(r,o){return await this.makeCallPromise(r,async()=>await this.baseFs.accessPromise(r,o),async(a,{subPath:n})=>await a.accessPromise(n,o))}accessSync(r,o){return this.makeCallSync(r,()=>this.baseFs.accessSync(r,o),(a,{subPath:n})=>a.accessSync(n,o))}async statPromise(r,o){return await this.makeCallPromise(r,async()=>await this.baseFs.statPromise(r,o),async(a,{subPath:n})=>await a.statPromise(n,o))}statSync(r,o){return this.makeCallSync(r,()=>this.baseFs.statSync(r,o),(a,{subPath:n})=>a.statSync(n,o))}async fstatPromise(r,o){if((r&va)!==this.magic)return this.baseFs.fstatPromise(r,o);let a=this.fdMap.get(r);if(typeof a>"u")throw ho("fstat");let[n,u]=a;return n.fstatPromise(u,o)}fstatSync(r,o){if((r&va)!==this.magic)return this.baseFs.fstatSync(r,o);let a=this.fdMap.get(r);if(typeof a>"u")throw ho("fstatSync");let[n,u]=a;return n.fstatSync(u,o)}async lstatPromise(r,o){return await this.makeCallPromise(r,async()=>await this.baseFs.lstatPromise(r,o),async(a,{subPath:n})=>await a.lstatPromise(n,o))}lstatSync(r,o){return this.makeCallSync(r,()=>this.baseFs.lstatSync(r,o),(a,{subPath:n})=>a.lstatSync(n,o))}async fchmodPromise(r,o){if((r&va)!==this.magic)return this.baseFs.fchmodPromise(r,o);let a=this.fdMap.get(r);if(typeof a>"u")throw ho("fchmod");let[n,u]=a;return n.fchmodPromise(u,o)}fchmodSync(r,o){if((r&va)!==this.magic)return this.baseFs.fchmodSync(r,o);let a=this.fdMap.get(r);if(typeof a>"u")throw ho("fchmodSync");let[n,u]=a;return n.fchmodSync(u,o)}async chmodPromise(r,o){return await this.makeCallPromise(r,async()=>await this.baseFs.chmodPromise(r,o),async(a,{subPath:n})=>await a.chmodPromise(n,o))}chmodSync(r,o){return this.makeCallSync(r,()=>this.baseFs.chmodSync(r,o),(a,{subPath:n})=>a.chmodSync(n,o))}async fchownPromise(r,o,a){if((r&va)!==this.magic)return this.baseFs.fchownPromise(r,o,a);let n=this.fdMap.get(r);if(typeof n>"u")throw ho("fchown");let[u,A]=n;return u.fchownPromise(A,o,a)}fchownSync(r,o,a){if((r&va)!==this.magic)return this.baseFs.fchownSync(r,o,a);let n=this.fdMap.get(r);if(typeof n>"u")throw ho("fchownSync");let[u,A]=n;return u.fchownSync(A,o,a)}async chownPromise(r,o,a){return await this.makeCallPromise(r,async()=>await this.baseFs.chownPromise(r,o,a),async(n,{subPath:u})=>await n.chownPromise(u,o,a))}chownSync(r,o,a){return this.makeCallSync(r,()=>this.baseFs.chownSync(r,o,a),(n,{subPath:u})=>n.chownSync(u,o,a))}async renamePromise(r,o){return await this.makeCallPromise(r,async()=>await this.makeCallPromise(o,async()=>await this.baseFs.renamePromise(r,o),async()=>{throw Object.assign(new Error("EEXDEV: cross-device link not permitted"),{code:"EEXDEV"})}),async(a,{subPath:n})=>await this.makeCallPromise(o,async()=>{throw Object.assign(new Error("EEXDEV: cross-device link not permitted"),{code:"EEXDEV"})},async(u,{subPath:A})=>{if(a!==u)throw Object.assign(new Error("EEXDEV: cross-device link not permitted"),{code:"EEXDEV"});return await a.renamePromise(n,A)}))}renameSync(r,o){return this.makeCallSync(r,()=>this.makeCallSync(o,()=>this.baseFs.renameSync(r,o),()=>{throw Object.assign(new Error("EEXDEV: cross-device link not permitted"),{code:"EEXDEV"})}),(a,{subPath:n})=>this.makeCallSync(o,()=>{throw Object.assign(new Error("EEXDEV: cross-device link not permitted"),{code:"EEXDEV"})},(u,{subPath:A})=>{if(a!==u)throw Object.assign(new Error("EEXDEV: cross-device link not permitted"),{code:"EEXDEV"});return a.renameSync(n,A)}))}async copyFilePromise(r,o,a=0){let n=async(u,A,p,h)=>{if(a&K0.constants.COPYFILE_FICLONE_FORCE)throw Object.assign(new Error(`EXDEV: cross-device clone not permitted, copyfile '${A}' -> ${h}'`),{code:"EXDEV"});if(a&K0.constants.COPYFILE_EXCL&&await this.existsPromise(A))throw Object.assign(new Error(`EEXIST: file already exists, copyfile '${A}' -> '${h}'`),{code:"EEXIST"});let E;try{E=await u.readFilePromise(A)}catch{throw Object.assign(new Error(`EINVAL: invalid argument, copyfile '${A}' -> '${h}'`),{code:"EINVAL"})}await p.writeFilePromise(h,E)};return await this.makeCallPromise(r,async()=>await this.makeCallPromise(o,async()=>await this.baseFs.copyFilePromise(r,o,a),async(u,{subPath:A})=>await n(this.baseFs,r,u,A)),async(u,{subPath:A})=>await this.makeCallPromise(o,async()=>await n(u,A,this.baseFs,o),async(p,{subPath:h})=>u!==p?await n(u,A,p,h):await u.copyFilePromise(A,h,a)))}copyFileSync(r,o,a=0){let n=(u,A,p,h)=>{if(a&K0.constants.COPYFILE_FICLONE_FORCE)throw Object.assign(new Error(`EXDEV: cross-device clone not permitted, copyfile '${A}' -> ${h}'`),{code:"EXDEV"});if(a&K0.constants.COPYFILE_EXCL&&this.existsSync(A))throw Object.assign(new Error(`EEXIST: file already exists, copyfile '${A}' -> '${h}'`),{code:"EEXIST"});let E;try{E=u.readFileSync(A)}catch{throw Object.assign(new Error(`EINVAL: invalid argument, copyfile '${A}' -> '${h}'`),{code:"EINVAL"})}p.writeFileSync(h,E)};return this.makeCallSync(r,()=>this.makeCallSync(o,()=>this.baseFs.copyFileSync(r,o,a),(u,{subPath:A})=>n(this.baseFs,r,u,A)),(u,{subPath:A})=>this.makeCallSync(o,()=>n(u,A,this.baseFs,o),(p,{subPath:h})=>u!==p?n(u,A,p,h):u.copyFileSync(A,h,a)))}async appendFilePromise(r,o,a){return await this.makeCallPromise(r,async()=>await this.baseFs.appendFilePromise(r,o,a),async(n,{subPath:u})=>await n.appendFilePromise(u,o,a))}appendFileSync(r,o,a){return this.makeCallSync(r,()=>this.baseFs.appendFileSync(r,o,a),(n,{subPath:u})=>n.appendFileSync(u,o,a))}async writeFilePromise(r,o,a){return await this.makeCallPromise(r,async()=>await this.baseFs.writeFilePromise(r,o,a),async(n,{subPath:u})=>await n.writeFilePromise(u,o,a))}writeFileSync(r,o,a){return this.makeCallSync(r,()=>this.baseFs.writeFileSync(r,o,a),(n,{subPath:u})=>n.writeFileSync(u,o,a))}async unlinkPromise(r){return await this.makeCallPromise(r,async()=>await this.baseFs.unlinkPromise(r),async(o,{subPath:a})=>await o.unlinkPromise(a))}unlinkSync(r){return this.makeCallSync(r,()=>this.baseFs.unlinkSync(r),(o,{subPath:a})=>o.unlinkSync(a))}async utimesPromise(r,o,a){return await this.makeCallPromise(r,async()=>await this.baseFs.utimesPromise(r,o,a),async(n,{subPath:u})=>await n.utimesPromise(u,o,a))}utimesSync(r,o,a){return this.makeCallSync(r,()=>this.baseFs.utimesSync(r,o,a),(n,{subPath:u})=>n.utimesSync(u,o,a))}async lutimesPromise(r,o,a){return await this.makeCallPromise(r,async()=>await this.baseFs.lutimesPromise(r,o,a),async(n,{subPath:u})=>await n.lutimesPromise(u,o,a))}lutimesSync(r,o,a){return this.makeCallSync(r,()=>this.baseFs.lutimesSync(r,o,a),(n,{subPath:u})=>n.lutimesSync(u,o,a))}async mkdirPromise(r,o){return await this.makeCallPromise(r,async()=>await this.baseFs.mkdirPromise(r,o),async(a,{subPath:n})=>await a.mkdirPromise(n,o))}mkdirSync(r,o){return this.makeCallSync(r,()=>this.baseFs.mkdirSync(r,o),(a,{subPath:n})=>a.mkdirSync(n,o))}async rmdirPromise(r,o){return await this.makeCallPromise(r,async()=>await this.baseFs.rmdirPromise(r,o),async(a,{subPath:n})=>await a.rmdirPromise(n,o))}rmdirSync(r,o){return this.makeCallSync(r,()=>this.baseFs.rmdirSync(r,o),(a,{subPath:n})=>a.rmdirSync(n,o))}async rmPromise(r,o){return await this.makeCallPromise(r,async()=>await this.baseFs.rmPromise(r,o),async(a,{subPath:n})=>await a.rmPromise(n,o))}rmSync(r,o){return this.makeCallSync(r,()=>this.baseFs.rmSync(r,o),(a,{subPath:n})=>a.rmSync(n,o))}async linkPromise(r,o){return await this.makeCallPromise(o,async()=>await this.baseFs.linkPromise(r,o),async(a,{subPath:n})=>await a.linkPromise(r,n))}linkSync(r,o){return this.makeCallSync(o,()=>this.baseFs.linkSync(r,o),(a,{subPath:n})=>a.linkSync(r,n))}async symlinkPromise(r,o,a){return await this.makeCallPromise(o,async()=>await this.baseFs.symlinkPromise(r,o,a),async(n,{subPath:u})=>await n.symlinkPromise(r,u))}symlinkSync(r,o,a){return this.makeCallSync(o,()=>this.baseFs.symlinkSync(r,o,a),(n,{subPath:u})=>n.symlinkSync(r,u))}async readFilePromise(r,o){return this.makeCallPromise(r,async()=>await this.baseFs.readFilePromise(r,o),async(a,{subPath:n})=>await a.readFilePromise(n,o))}readFileSync(r,o){return this.makeCallSync(r,()=>this.baseFs.readFileSync(r,o),(a,{subPath:n})=>a.readFileSync(n,o))}async readdirPromise(r,o){return await this.makeCallPromise(r,async()=>await this.baseFs.readdirPromise(r,o),async(a,{subPath:n})=>await a.readdirPromise(n,o),{requireSubpath:!1})}readdirSync(r,o){return this.makeCallSync(r,()=>this.baseFs.readdirSync(r,o),(a,{subPath:n})=>a.readdirSync(n,o),{requireSubpath:!1})}async readlinkPromise(r){return await this.makeCallPromise(r,async()=>await this.baseFs.readlinkPromise(r),async(o,{subPath:a})=>await o.readlinkPromise(a))}readlinkSync(r){return this.makeCallSync(r,()=>this.baseFs.readlinkSync(r),(o,{subPath:a})=>o.readlinkSync(a))}async truncatePromise(r,o){return await this.makeCallPromise(r,async()=>await this.baseFs.truncatePromise(r,o),async(a,{subPath:n})=>await a.truncatePromise(n,o))}truncateSync(r,o){return this.makeCallSync(r,()=>this.baseFs.truncateSync(r,o),(a,{subPath:n})=>a.truncateSync(n,o))}async ftruncatePromise(r,o){if((r&va)!==this.magic)return this.baseFs.ftruncatePromise(r,o);let a=this.fdMap.get(r);if(typeof a>"u")throw ho("ftruncate");let[n,u]=a;return n.ftruncatePromise(u,o)}ftruncateSync(r,o){if((r&va)!==this.magic)return this.baseFs.ftruncateSync(r,o);let a=this.fdMap.get(r);if(typeof a>"u")throw ho("ftruncateSync");let[n,u]=a;return n.ftruncateSync(u,o)}watch(r,o,a){return this.makeCallSync(r,()=>this.baseFs.watch(r,o,a),(n,{subPath:u})=>n.watch(u,o,a))}watchFile(r,o,a){return this.makeCallSync(r,()=>this.baseFs.watchFile(r,o,a),()=>um(this,r,o,a))}unwatchFile(r,o){return this.makeCallSync(r,()=>this.baseFs.unwatchFile(r,o),()=>q0(this,r,o))}async makeCallPromise(r,o,a,{requireSubpath:n=!0}={}){if(typeof r!="string")return await o();let u=this.resolve(r),A=this.findMount(u);return A?n&&A.subPath==="/"?await o():await this.getMountPromise(A.archivePath,async p=>await a(p,A)):await o()}makeCallSync(r,o,a,{requireSubpath:n=!0}={}){if(typeof r!="string")return o();let u=this.resolve(r),A=this.findMount(u);return!A||n&&A.subPath==="/"?o():this.getMountSync(A.archivePath,p=>a(p,A))}findMount(r){if(this.filter&&!this.filter.test(r))return null;let o="";for(;;){let a=r.substring(o.length),n=this.getMountPoint(a,o);if(!n)return null;if(o=this.pathUtils.join(o,n),!this.isMount.has(o)){if(this.notMount.has(o))continue;try{if(this.typeCheck!==null&&(this.baseFs.statSync(o).mode&K0.constants.S_IFMT)!==this.typeCheck){this.notMount.add(o);continue}}catch{return null}this.isMount.add(o)}return{archivePath:o,subPath:this.pathUtils.join(Bt.root,r.substring(o.length))}}}limitOpenFiles(r){if(this.mountInstances===null)return;let o=Date.now(),a=o+this.maxAge,n=r===null?0:this.mountInstances.size-r;for(let[u,{childFs:A,expiresAt:p,refCount:h}]of this.mountInstances.entries())if(!(h!==0||A.hasOpenFileHandles?.())){if(o>=p){A.saveAndClose?.(),this.mountInstances.delete(u),n-=1;continue}else if(r===null||n<=0){a=p;break}A.saveAndClose?.(),this.mountInstances.delete(u),n-=1}this.limitOpenFilesTimeout===null&&(r===null&&this.mountInstances.size>0||r!==null)&&isFinite(a)&&(this.limitOpenFilesTimeout=setTimeout(()=>{this.limitOpenFilesTimeout=null,this.limitOpenFiles(null)},a-o).unref())}async getMountPromise(r,o){if(this.mountInstances){let a=this.mountInstances.get(r);if(!a){let n=await this.factoryPromise(this.baseFs,r);a=this.mountInstances.get(r),a||(a={childFs:n(),expiresAt:0,refCount:0})}this.mountInstances.delete(r),this.limitOpenFiles(this.maxOpenFiles-1),this.mountInstances.set(r,a),a.expiresAt=Date.now()+this.maxAge,a.refCount+=1;try{return await o(a.childFs)}finally{a.refCount-=1}}else{let a=(await this.factoryPromise(this.baseFs,r))();try{return await o(a)}finally{a.saveAndClose?.()}}}getMountSync(r,o){if(this.mountInstances){let a=this.mountInstances.get(r);return a||(a={childFs:this.factorySync(this.baseFs,r),expiresAt:0,refCount:0}),this.mountInstances.delete(r),this.limitOpenFiles(this.maxOpenFiles-1),this.mountInstances.set(r,a),a.expiresAt=Date.now()+this.maxAge,o(a.childFs)}else{let a=this.factorySync(this.baseFs,r);try{return o(a)}finally{a.saveAndClose?.()}}}}});var $t,nP,kW=It(()=>{W0();Ba();$t=()=>Object.assign(new Error("ENOSYS: unsupported filesystem access"),{code:"ENOSYS"}),nP=class t extends hf{static{this.instance=new t}constructor(){super(K)}getExtractHint(){throw $t()}getRealPath(){throw $t()}resolve(){throw $t()}async openPromise(){throw $t()}openSync(){throw $t()}async opendirPromise(){throw $t()}opendirSync(){throw $t()}async readPromise(){throw $t()}readSync(){throw $t()}async writePromise(){throw $t()}writeSync(){throw $t()}async closePromise(){throw $t()}closeSync(){throw $t()}createWriteStream(){throw $t()}createReadStream(){throw $t()}async realpathPromise(){throw $t()}realpathSync(){throw $t()}async readdirPromise(){throw $t()}readdirSync(){throw $t()}async existsPromise(e){throw $t()}existsSync(e){throw $t()}async accessPromise(){throw $t()}accessSync(){throw $t()}async statPromise(){throw $t()}statSync(){throw $t()}async fstatPromise(e){throw $t()}fstatSync(e){throw $t()}async lstatPromise(e){throw $t()}lstatSync(e){throw $t()}async fchmodPromise(){throw $t()}fchmodSync(){throw $t()}async chmodPromise(){throw $t()}chmodSync(){throw $t()}async fchownPromise(){throw $t()}fchownSync(){throw $t()}async chownPromise(){throw $t()}chownSync(){throw $t()}async mkdirPromise(){throw $t()}mkdirSync(){throw $t()}async rmdirPromise(){throw $t()}rmdirSync(){throw $t()}async rmPromise(){throw $t()}rmSync(){throw $t()}async linkPromise(){throw $t()}linkSync(){throw $t()}async symlinkPromise(){throw $t()}symlinkSync(){throw $t()}async renamePromise(){throw $t()}renameSync(){throw $t()}async copyFilePromise(){throw $t()}copyFileSync(){throw $t()}async appendFilePromise(){throw $t()}appendFileSync(){throw $t()}async writeFilePromise(){throw $t()}writeFileSync(){throw $t()}async unlinkPromise(){throw $t()}unlinkSync(){throw $t()}async utimesPromise(){throw $t()}utimesSync(){throw $t()}async lutimesPromise(){throw $t()}lutimesSync(){throw $t()}async readFilePromise(){throw $t()}readFileSync(){throw $t()}async readlinkPromise(){throw $t()}readlinkSync(){throw $t()}async truncatePromise(){throw $t()}truncateSync(){throw $t()}async ftruncatePromise(e,r){throw $t()}ftruncateSync(e,r){throw $t()}watch(){throw $t()}watchFile(){throw $t()}unwatchFile(){throw $t()}}});var Wp,QW=It(()=>{gf();Ba();Wp=class extends ws{constructor(e){super(Ae),this.baseFs=e}mapFromBase(e){return Ae.fromPortablePath(e)}mapToBase(e){return Ae.toPortablePath(e)}}});var C8e,PT,I8e,qs,FW=It(()=>{Y0();gf();Ba();C8e=/^[0-9]+$/,PT=/^(\/(?:[^/]+\/)*?(?:\$\$virtual|__virtual__))((?:\/((?:[^/]+-)?[a-f0-9]+)(?:\/([^/]+))?)?((?:\/.*)?))$/,I8e=/^([^/]+-)?[a-f0-9]+$/,qs=class t extends ws{static makeVirtualPath(e,r,o){if(K.basename(e)!=="__virtual__")throw new Error('Assertion failed: Virtual folders must be named "__virtual__"');if(!K.basename(r).match(I8e))throw new Error("Assertion failed: Virtual components must be ended by an hexadecimal hash");let n=K.relative(K.dirname(e),o).split("/"),u=0;for(;u<n.length&&n[u]==="..";)u+=1;let A=n.slice(u);return K.join(e,r,String(u),...A)}static resolveVirtual(e){let r=e.match(PT);if(!r||!r[3]&&r[5])return e;let o=K.dirname(r[1]);if(!r[3]||!r[4])return o;if(!C8e.test(r[4]))return e;let n=Number(r[4]),u="../".repeat(n),A=r[5]||".";return t.resolveVirtual(K.join(o,u,A))}constructor({baseFs:e=new _n}={}){super(K),this.baseFs=e}getExtractHint(e){return this.baseFs.getExtractHint(e)}getRealPath(){return this.baseFs.getRealPath()}realpathSync(e){let r=e.match(PT);if(!r)return this.baseFs.realpathSync(e);if(!r[5])return e;let o=this.baseFs.realpathSync(this.mapToBase(e));return t.makeVirtualPath(r[1],r[3],o)}async realpathPromise(e){let r=e.match(PT);if(!r)return await this.baseFs.realpathPromise(e);if(!r[5])return e;let o=await this.baseFs.realpathPromise(this.mapToBase(e));return t.makeVirtualPath(r[1],r[3],o)}mapToBase(e){if(e==="")return e;if(this.pathUtils.isAbsolute(e))return t.resolveVirtual(e);let r=t.resolveVirtual(this.baseFs.resolve(Bt.dot)),o=t.resolveVirtual(this.baseFs.resolve(e));return K.relative(r,o)||Bt.dot}mapFromBase(e){return e}}});function w8e(t,e){return typeof ST.default.isUtf8<"u"?ST.default.isUtf8(t):Buffer.byteLength(e)===t.byteLength}var ST,RW,TW,iP,NW=It(()=>{ST=et(ve("buffer")),RW=ve("url"),TW=ve("util");gf();Ba();iP=class extends ws{constructor(e){super(Ae),this.baseFs=e}mapFromBase(e){return e}mapToBase(e){if(typeof e=="string")return e;if(e instanceof URL)return(0,RW.fileURLToPath)(e);if(Buffer.isBuffer(e)){let r=e.toString();if(!w8e(e,r))throw new Error("Non-utf8 buffers are not supported at the moment. Please upvote the following issue if you encounter this error: https://github.com/yarnpkg/berry/issues/4942");return r}throw new Error(`Unsupported path type: ${(0,TW.inspect)(e)}`)}}});var _W,go,df,Yp,sP,oP,fm,_c,Hc,LW,OW,MW,UW,cw,HW=It(()=>{_W=ve("readline"),go=Symbol("kBaseFs"),df=Symbol("kFd"),Yp=Symbol("kClosePromise"),sP=Symbol("kCloseResolve"),oP=Symbol("kCloseReject"),fm=Symbol("kRefs"),_c=Symbol("kRef"),Hc=Symbol("kUnref"),cw=class{constructor(e,r){this[UW]=1;this[MW]=void 0;this[OW]=void 0;this[LW]=void 0;this[go]=r,this[df]=e}get fd(){return this[df]}async appendFile(e,r){try{this[_c](this.appendFile);let o=(typeof r=="string"?r:r?.encoding)??void 0;return await this[go].appendFilePromise(this.fd,e,o?{encoding:o}:void 0)}finally{this[Hc]()}}async chown(e,r){try{return this[_c](this.chown),await this[go].fchownPromise(this.fd,e,r)}finally{this[Hc]()}}async chmod(e){try{return this[_c](this.chmod),await this[go].fchmodPromise(this.fd,e)}finally{this[Hc]()}}createReadStream(e){return this[go].createReadStream(null,{...e,fd:this.fd})}createWriteStream(e){return this[go].createWriteStream(null,{...e,fd:this.fd})}datasync(){throw new Error("Method not implemented.")}sync(){throw new Error("Method not implemented.")}async read(e,r,o,a){try{this[_c](this.read);let n;return Buffer.isBuffer(e)?n=e:(e??={},n=e.buffer??Buffer.alloc(16384),r=e.offset||0,o=e.length??n.byteLength,a=e.position??null),r??=0,o??=0,o===0?{bytesRead:o,buffer:n}:{bytesRead:await this[go].readPromise(this.fd,n,r,o,a),buffer:n}}finally{this[Hc]()}}async readFile(e){try{this[_c](this.readFile);let r=(typeof e=="string"?e:e?.encoding)??void 0;return await this[go].readFilePromise(this.fd,r)}finally{this[Hc]()}}readLines(e){return(0,_W.createInterface)({input:this.createReadStream(e),crlfDelay:1/0})}async stat(e){try{return this[_c](this.stat),await this[go].fstatPromise(this.fd,e)}finally{this[Hc]()}}async truncate(e){try{return this[_c](this.truncate),await this[go].ftruncatePromise(this.fd,e)}finally{this[Hc]()}}utimes(e,r){throw new Error("Method not implemented.")}async writeFile(e,r){try{this[_c](this.writeFile);let o=(typeof r=="string"?r:r?.encoding)??void 0;await this[go].writeFilePromise(this.fd,e,o)}finally{this[Hc]()}}async write(...e){try{if(this[_c](this.write),ArrayBuffer.isView(e[0])){let[r,o,a,n]=e;return{bytesWritten:await this[go].writePromise(this.fd,r,o??void 0,a??void 0,n??void 0),buffer:r}}else{let[r,o,a]=e;return{bytesWritten:await this[go].writePromise(this.fd,r,o,a),buffer:r}}}finally{this[Hc]()}}async writev(e,r){try{this[_c](this.writev);let o=0;if(typeof r<"u")for(let a of e){let n=await this.write(a,void 0,void 0,r);o+=n.bytesWritten,r+=n.bytesWritten}else for(let a of e){let n=await this.write(a);o+=n.bytesWritten}return{buffers:e,bytesWritten:o}}finally{this[Hc]()}}readv(e,r){throw new Error("Method not implemented.")}close(){if(this[df]===-1)return Promise.resolve();if(this[Yp])return this[Yp];if(this[fm]--,this[fm]===0){let e=this[df];this[df]=-1,this[Yp]=this[go].closePromise(e).finally(()=>{this[Yp]=void 0})}else this[Yp]=new Promise((e,r)=>{this[sP]=e,this[oP]=r}).finally(()=>{this[Yp]=void 0,this[oP]=void 0,this[sP]=void 0});return this[Yp]}[(go,df,UW=fm,MW=Yp,OW=sP,LW=oP,_c)](e){if(this[df]===-1){let r=new Error("file closed");throw r.code="EBADF",r.syscall=e.name,r}this[fm]++}[Hc](){if(this[fm]--,this[fm]===0){let e=this[df];this[df]=-1,this[go].closePromise(e).then(this[sP],this[oP])}}}});function uw(t,e){e=new iP(e);let r=(o,a,n)=>{let u=o[a];o[a]=n,typeof u?.[pm.promisify.custom]<"u"&&(n[pm.promisify.custom]=u[pm.promisify.custom])};{r(t,"exists",(o,...a)=>{let u=typeof a[a.length-1]=="function"?a.pop():()=>{};process.nextTick(()=>{e.existsPromise(o).then(A=>{u(A)},()=>{u(!1)})})}),r(t,"read",(...o)=>{let[a,n,u,A,p,h]=o;if(o.length<=3){let E={};o.length<3?h=o[1]:(E=o[1],h=o[2]),{buffer:n=Buffer.alloc(16384),offset:u=0,length:A=n.byteLength,position:p}=E}if(u==null&&(u=0),A|=0,A===0){process.nextTick(()=>{h(null,0,n)});return}p==null&&(p=-1),process.nextTick(()=>{e.readPromise(a,n,u,A,p).then(E=>{h(null,E,n)},E=>{h(E,0,n)})})});for(let o of qW){let a=o.replace(/Promise$/,"");if(typeof t[a]>"u")continue;let n=e[o];if(typeof n>"u")continue;r(t,a,(...A)=>{let h=typeof A[A.length-1]=="function"?A.pop():()=>{};process.nextTick(()=>{n.apply(e,A).then(E=>{h(null,E)},E=>{h(E)})})})}t.realpath.native=t.realpath}{r(t,"existsSync",o=>{try{return e.existsSync(o)}catch{return!1}}),r(t,"readSync",(...o)=>{let[a,n,u,A,p]=o;return o.length<=3&&({offset:u=0,length:A=n.byteLength,position:p}=o[2]||{}),u==null&&(u=0),A|=0,A===0?0:(p==null&&(p=-1),e.readSync(a,n,u,A,p))});for(let o of B8e){let a=o;if(typeof t[a]>"u")continue;let n=e[o];typeof n>"u"||r(t,a,n.bind(e))}t.realpathSync.native=t.realpathSync}{let o=t.promises;for(let a of qW){let n=a.replace(/Promise$/,"");if(typeof o[n]>"u")continue;let u=e[a];typeof u>"u"||a!=="open"&&r(o,n,(A,...p)=>A instanceof cw?A[n].apply(A,p):u.call(e,A,...p))}r(o,"open",async(...a)=>{let n=await e.openPromise(...a);return new cw(n,e)})}t.read[pm.promisify.custom]=async(o,a,...n)=>({bytesRead:await e.readPromise(o,a,...n),buffer:a}),t.write[pm.promisify.custom]=async(o,a,...n)=>({bytesWritten:await e.writePromise(o,a,...n),buffer:a})}function aP(t,e){let r=Object.create(t);return uw(r,e),r}var pm,B8e,qW,jW=It(()=>{pm=ve("util");NW();HW();B8e=new Set(["accessSync","appendFileSync","createReadStream","createWriteStream","chmodSync","fchmodSync","chownSync","fchownSync","closeSync","copyFileSync","linkSync","lstatSync","fstatSync","lutimesSync","mkdirSync","openSync","opendirSync","readlinkSync","readFileSync","readdirSync","readlinkSync","realpathSync","renameSync","rmdirSync","rmSync","statSync","symlinkSync","truncateSync","ftruncateSync","unlinkSync","unwatchFile","utimesSync","watch","watchFile","writeFileSync","writeSync"]),qW=new Set(["accessPromise","appendFilePromise","fchmodPromise","chmodPromise","fchownPromise","chownPromise","closePromise","copyFilePromise","linkPromise","fstatPromise","lstatPromise","lutimesPromise","mkdirPromise","openPromise","opendirPromise","readdirPromise","realpathPromise","readFilePromise","readdirPromise","readlinkPromise","renamePromise","rmdirPromise","rmPromise","statPromise","symlinkPromise","truncatePromise","ftruncatePromise","unlinkPromise","utimesPromise","writeFilePromise","writeSync"])});function GW(t){let e=Math.ceil(Math.random()*4294967296).toString(16).padStart(8,"0");return`${t}${e}`}function WW(){if(bT)return bT;let t=Ae.toPortablePath(YW.default.tmpdir()),e=ae.realpathSync(t);return process.once("exit",()=>{ae.rmtempSync()}),bT={tmpdir:t,realTmpdir:e}}var YW,qc,bT,ae,KW=It(()=>{YW=et(ve("os"));Y0();Ba();qc=new Set,bT=null;ae=Object.assign(new _n,{detachTemp(t){qc.delete(t)},mktempSync(t){let{tmpdir:e,realTmpdir:r}=WW();for(;;){let o=GW("xfs-");try{this.mkdirSync(K.join(e,o))}catch(n){if(n.code==="EEXIST")continue;throw n}let a=K.join(r,o);if(qc.add(a),typeof t>"u")return a;try{return t(a)}finally{if(qc.has(a)){qc.delete(a);try{this.removeSync(a)}catch{}}}}},async mktempPromise(t){let{tmpdir:e,realTmpdir:r}=WW();for(;;){let o=GW("xfs-");try{await this.mkdirPromise(K.join(e,o))}catch(n){if(n.code==="EEXIST")continue;throw n}let a=K.join(r,o);if(qc.add(a),typeof t>"u")return a;try{return await t(a)}finally{if(qc.has(a)){qc.delete(a);try{await this.removePromise(a)}catch{}}}}},async rmtempPromise(){await Promise.all(Array.from(qc.values()).map(async t=>{try{await ae.removePromise(t,{maxRetries:0}),qc.delete(t)}catch{}}))},rmtempSync(){for(let t of qc)try{ae.removeSync(t),qc.delete(t)}catch{}}})});var Aw={};Kt(Aw,{AliasFS:()=>ju,BasePortableFakeFS:()=>qu,CustomDir:()=>lw,CwdFS:()=>En,FakeFS:()=>hf,Filename:()=>mr,JailFS:()=>Gu,LazyFS:()=>Am,MountFS:()=>Gp,NoFS:()=>nP,NodeFS:()=>_n,PortablePath:()=>Bt,PosixFS:()=>Wp,ProxiedFS:()=>ws,VirtualFS:()=>qs,constants:()=>Pi,errors:()=>sr,extendFs:()=>aP,normalizeLineEndings:()=>G0,npath:()=>Ae,opendir:()=>eP,patchFs:()=>uw,ppath:()=>K,setupCopyIndex:()=>$D,statUtils:()=>wa,unwatchAllFiles:()=>j0,unwatchFile:()=>q0,watchFile:()=>um,xfs:()=>ae});var Pt=It(()=>{uW();zD();IT();vT();dW();DT();W0();Ba();Ba();wW();W0();DW();SW();bW();xW();kW();Y0();QW();gf();FW();jW();KW()});var ZW=_((qSt,XW)=>{XW.exports=zW;zW.sync=D8e;var VW=ve("fs");function v8e(t,e){var r=e.pathExt!==void 0?e.pathExt:process.env.PATHEXT;if(!r||(r=r.split(";"),r.indexOf("")!==-1))return!0;for(var o=0;o<r.length;o++){var a=r[o].toLowerCase();if(a&&t.substr(-a.length).toLowerCase()===a)return!0}return!1}function JW(t,e,r){return!t.isSymbolicLink()&&!t.isFile()?!1:v8e(e,r)}function zW(t,e,r){VW.stat(t,function(o,a){r(o,o?!1:JW(a,t,e))})}function D8e(t,e){return JW(VW.statSync(t),t,e)}});var nY=_((jSt,rY)=>{rY.exports=eY;eY.sync=P8e;var $W=ve("fs");function eY(t,e,r){$W.stat(t,function(o,a){r(o,o?!1:tY(a,e))})}function P8e(t,e){return tY($W.statSync(t),e)}function tY(t,e){return t.isFile()&&S8e(t,e)}function S8e(t,e){var r=t.mode,o=t.uid,a=t.gid,n=e.uid!==void 0?e.uid:process.getuid&&process.getuid(),u=e.gid!==void 0?e.gid:process.getgid&&process.getgid(),A=parseInt("100",8),p=parseInt("010",8),h=parseInt("001",8),E=A|p,w=r&h||r&p&&a===u||r&A&&o===n||r&E&&n===0;return w}});var sY=_((WSt,iY)=>{var GSt=ve("fs"),lP;process.platform==="win32"||global.TESTING_WINDOWS?lP=ZW():lP=nY();iY.exports=xT;xT.sync=b8e;function xT(t,e,r){if(typeof e=="function"&&(r=e,e={}),!r){if(typeof Promise!="function")throw new TypeError("callback not provided");return new Promise(function(o,a){xT(t,e||{},function(n,u){n?a(n):o(u)})})}lP(t,e||{},function(o,a){o&&(o.code==="EACCES"||e&&e.ignoreErrors)&&(o=null,a=!1),r(o,a)})}function b8e(t,e){try{return lP.sync(t,e||{})}catch(r){if(e&&e.ignoreErrors||r.code==="EACCES")return!1;throw r}}});var fY=_((YSt,AY)=>{var hm=process.platform==="win32"||process.env.OSTYPE==="cygwin"||process.env.OSTYPE==="msys",oY=ve("path"),x8e=hm?";":":",aY=sY(),lY=t=>Object.assign(new Error(`not found: ${t}`),{code:"ENOENT"}),cY=(t,e)=>{let r=e.colon||x8e,o=t.match(/\//)||hm&&t.match(/\\/)?[""]:[...hm?[process.cwd()]:[],...(e.path||process.env.PATH||"").split(r)],a=hm?e.pathExt||process.env.PATHEXT||".EXE;.CMD;.BAT;.COM":"",n=hm?a.split(r):[""];return hm&&t.indexOf(".")!==-1&&n[0]!==""&&n.unshift(""),{pathEnv:o,pathExt:n,pathExtExe:a}},uY=(t,e,r)=>{typeof e=="function"&&(r=e,e={}),e||(e={});let{pathEnv:o,pathExt:a,pathExtExe:n}=cY(t,e),u=[],A=h=>new Promise((E,w)=>{if(h===o.length)return e.all&&u.length?E(u):w(lY(t));let D=o[h],x=/^".*"$/.test(D)?D.slice(1,-1):D,C=oY.join(x,t),T=!x&&/^\.[\\\/]/.test(t)?t.slice(0,2)+C:C;E(p(T,h,0))}),p=(h,E,w)=>new Promise((D,x)=>{if(w===a.length)return D(A(E+1));let C=a[w];aY(h+C,{pathExt:n},(T,L)=>{if(!T&&L)if(e.all)u.push(h+C);else return D(h+C);return D(p(h,E,w+1))})});return r?A(0).then(h=>r(null,h),r):A(0)},k8e=(t,e)=>{e=e||{};let{pathEnv:r,pathExt:o,pathExtExe:a}=cY(t,e),n=[];for(let u=0;u<r.length;u++){let A=r[u],p=/^".*"$/.test(A)?A.slice(1,-1):A,h=oY.join(p,t),E=!p&&/^\.[\\\/]/.test(t)?t.slice(0,2)+h:h;for(let w=0;w<o.length;w++){let D=E+o[w];try{if(aY.sync(D,{pathExt:a}))if(e.all)n.push(D);else return D}catch{}}}if(e.all&&n.length)return n;if(e.nothrow)return null;throw lY(t)};AY.exports=uY;uY.sync=k8e});var hY=_((KSt,kT)=>{"use strict";var pY=(t={})=>{let e=t.env||process.env;return(t.platform||process.platform)!=="win32"?"PATH":Object.keys(e).reverse().find(o=>o.toUpperCase()==="PATH")||"Path"};kT.exports=pY;kT.exports.default=pY});var yY=_((VSt,mY)=>{"use strict";var gY=ve("path"),Q8e=fY(),F8e=hY();function dY(t,e){let r=t.options.env||process.env,o=process.cwd(),a=t.options.cwd!=null,n=a&&process.chdir!==void 0&&!process.chdir.disabled;if(n)try{process.chdir(t.options.cwd)}catch{}let u;try{u=Q8e.sync(t.command,{path:r[F8e({env:r})],pathExt:e?gY.delimiter:void 0})}catch{}finally{n&&process.chdir(o)}return u&&(u=gY.resolve(a?t.options.cwd:"",u)),u}function R8e(t){return dY(t)||dY(t,!0)}mY.exports=R8e});var EY=_((JSt,FT)=>{"use strict";var QT=/([()\][%!^"`<>&|;, *?])/g;function T8e(t){return t=t.replace(QT,"^$1"),t}function N8e(t,e){return t=`${t}`,t=t.replace(/(\\*)"/g,'$1$1\\"'),t=t.replace(/(\\*)$/,"$1$1"),t=`"${t}"`,t=t.replace(QT,"^$1"),e&&(t=t.replace(QT,"^$1")),t}FT.exports.command=T8e;FT.exports.argument=N8e});var IY=_((zSt,CY)=>{"use strict";CY.exports=/^#!(.*)/});var BY=_((XSt,wY)=>{"use strict";var L8e=IY();wY.exports=(t="")=>{let e=t.match(L8e);if(!e)return null;let[r,o]=e[0].replace(/#! ?/,"").split(" "),a=r.split("/").pop();return a==="env"?o:o?`${a} ${o}`:a}});var DY=_((ZSt,vY)=>{"use strict";var RT=ve("fs"),O8e=BY();function M8e(t){let r=Buffer.alloc(150),o;try{o=RT.openSync(t,"r"),RT.readSync(o,r,0,150,0),RT.closeSync(o)}catch{}return O8e(r.toString())}vY.exports=M8e});var xY=_(($St,bY)=>{"use strict";var U8e=ve("path"),PY=yY(),SY=EY(),_8e=DY(),H8e=process.platform==="win32",q8e=/\.(?:com|exe)$/i,j8e=/node_modules[\\/].bin[\\/][^\\/]+\.cmd$/i;function G8e(t){t.file=PY(t);let e=t.file&&_8e(t.file);return e?(t.args.unshift(t.file),t.command=e,PY(t)):t.file}function W8e(t){if(!H8e)return t;let e=G8e(t),r=!q8e.test(e);if(t.options.forceShell||r){let o=j8e.test(e);t.command=U8e.normalize(t.command),t.command=SY.command(t.command),t.args=t.args.map(n=>SY.argument(n,o));let a=[t.command].concat(t.args).join(" ");t.args=["/d","/s","/c",`"${a}"`],t.command=process.env.comspec||"cmd.exe",t.options.windowsVerbatimArguments=!0}return t}function Y8e(t,e,r){e&&!Array.isArray(e)&&(r=e,e=null),e=e?e.slice(0):[],r=Object.assign({},r);let o={command:t,args:e,options:r,file:void 0,original:{command:t,args:e}};return r.shell?o:W8e(o)}bY.exports=Y8e});var FY=_((ebt,QY)=>{"use strict";var TT=process.platform==="win32";function NT(t,e){return Object.assign(new Error(`${e} ${t.command} ENOENT`),{code:"ENOENT",errno:"ENOENT",syscall:`${e} ${t.command}`,path:t.command,spawnargs:t.args})}function K8e(t,e){if(!TT)return;let r=t.emit;t.emit=function(o,a){if(o==="exit"){let n=kY(a,e,"spawn");if(n)return r.call(t,"error",n)}return r.apply(t,arguments)}}function kY(t,e){return TT&&t===1&&!e.file?NT(e.original,"spawn"):null}function V8e(t,e){return TT&&t===1&&!e.file?NT(e.original,"spawnSync"):null}QY.exports={hookChildProcess:K8e,verifyENOENT:kY,verifyENOENTSync:V8e,notFoundError:NT}});var MT=_((tbt,gm)=>{"use strict";var RY=ve("child_process"),LT=xY(),OT=FY();function TY(t,e,r){let o=LT(t,e,r),a=RY.spawn(o.command,o.args,o.options);return OT.hookChildProcess(a,o),a}function J8e(t,e,r){let o=LT(t,e,r),a=RY.spawnSync(o.command,o.args,o.options);return a.error=a.error||OT.verifyENOENTSync(a.status,o),a}gm.exports=TY;gm.exports.spawn=TY;gm.exports.sync=J8e;gm.exports._parse=LT;gm.exports._enoent=OT});var LY=_((rbt,NY)=>{"use strict";function z8e(t,e){function r(){this.constructor=t}r.prototype=e.prototype,t.prototype=new r}function V0(t,e,r,o){this.message=t,this.expected=e,this.found=r,this.location=o,this.name="SyntaxError",typeof Error.captureStackTrace=="function"&&Error.captureStackTrace(this,V0)}z8e(V0,Error);V0.buildMessage=function(t,e){var r={literal:function(h){return'"'+a(h.text)+'"'},class:function(h){var E="",w;for(w=0;w<h.parts.length;w++)E+=h.parts[w]instanceof Array?n(h.parts[w][0])+"-"+n(h.parts[w][1]):n(h.parts[w]);return"["+(h.inverted?"^":"")+E+"]"},any:function(h){return"any character"},end:function(h){return"end of input"},other:function(h){return h.description}};function o(h){return h.charCodeAt(0).toString(16).toUpperCase()}function a(h){return h.replace(/\\/g,"\\\\").replace(/"/g,'\\"').replace(/\0/g,"\\0").replace(/\t/g,"\\t").replace(/\n/g,"\\n").replace(/\r/g,"\\r").replace(/[\x00-\x0F]/g,function(E){return"\\x0"+o(E)}).replace(/[\x10-\x1F\x7F-\x9F]/g,function(E){return"\\x"+o(E)})}function n(h){return h.replace(/\\/g,"\\\\").replace(/\]/g,"\\]").replace(/\^/g,"\\^").replace(/-/g,"\\-").replace(/\0/g,"\\0").replace(/\t/g,"\\t").replace(/\n/g,"\\n").replace(/\r/g,"\\r").replace(/[\x00-\x0F]/g,function(E){return"\\x0"+o(E)}).replace(/[\x10-\x1F\x7F-\x9F]/g,function(E){return"\\x"+o(E)})}function u(h){return r[h.type](h)}function A(h){var E=new Array(h.length),w,D;for(w=0;w<h.length;w++)E[w]=u(h[w]);if(E.sort(),E.length>0){for(w=1,D=1;w<E.length;w++)E[w-1]!==E[w]&&(E[D]=E[w],D++);E.length=D}switch(E.length){case 1:return E[0];case 2:return E[0]+" or "+E[1];default:return E.slice(0,-1).join(", ")+", or "+E[E.length-1]}}function p(h){return h?'"'+a(h)+'"':"end of input"}return"Expected "+A(t)+" but "+p(e)+" found."};function X8e(t,e){e=e!==void 0?e:{};var r={},o={Start:ha},a=ha,n=function(N){return N||[]},u=function(N,V,re){return[{command:N,type:V}].concat(re||[])},A=function(N,V){return[{command:N,type:V||";"}]},p=function(N){return N},h=";",E=cr(";",!1),w="&",D=cr("&",!1),x=function(N,V){return V?{chain:N,then:V}:{chain:N}},C=function(N,V){return{type:N,line:V}},T="&&",L=cr("&&",!1),U="||",J=cr("||",!1),te=function(N,V){return V?{...N,then:V}:N},le=function(N,V){return{type:N,chain:V}},ce="|&",ue=cr("|&",!1),Ie="|",he=cr("|",!1),De="=",Ee=cr("=",!1),g=function(N,V){return{name:N,args:[V]}},me=function(N){return{name:N,args:[]}},Ce="(",fe=cr("(",!1),ie=")",Z=cr(")",!1),Pe=function(N,V){return{type:"subshell",subshell:N,args:V}},Re="{",ht=cr("{",!1),q="}",nt=cr("}",!1),Ne=function(N,V){return{type:"group",group:N,args:V}},Te=function(N,V){return{type:"command",args:V,envs:N}},ke=function(N){return{type:"envs",envs:N}},Ve=function(N){return N},be=function(N){return N},tt=/^[0-9]/,He=Li([["0","9"]],!1,!1),b=function(N,V,re){return{type:"redirection",subtype:V,fd:N!==null?parseInt(N):null,args:[re]}},I=">>",S=cr(">>",!1),y=">&",R=cr(">&",!1),z=">",X=cr(">",!1),$="<<<",se=cr("<<<",!1),xe="<&",Fe=cr("<&",!1),lt="<",Et=cr("<",!1),qt=function(N){return{type:"argument",segments:[].concat(...N)}},nr=function(N){return N},St="$'",cn=cr("$'",!1),Pr="'",yr=cr("'",!1),Rr=function(N){return[{type:"text",text:N}]},Xr='""',$n=cr('""',!1),Xs=function(){return{type:"text",text:""}},Hi='"',Qs=cr('"',!1),Zs=function(N){return N},xi=function(N){return{type:"arithmetic",arithmetic:N,quoted:!0}},Fs=function(N){return{type:"shell",shell:N,quoted:!0}},$s=function(N){return{type:"variable",...N,quoted:!0}},SA=function(N){return{type:"text",text:N}},gu=function(N){return{type:"arithmetic",arithmetic:N,quoted:!1}},op=function(N){return{type:"shell",shell:N,quoted:!1}},ap=function(N){return{type:"variable",...N,quoted:!1}},Rs=function(N){return{type:"glob",pattern:N}},Ln=/^[^']/,hs=Li(["'"],!0,!1),Ts=function(N){return N.join("")},pc=/^[^$"]/,hc=Li(["$",'"'],!0,!1),gc=`\\ +`,bA=cr(`\\ +`,!1),xA=function(){return""},Ro="\\",To=cr("\\",!1),kA=/^[\\$"`]/,pr=Li(["\\","$",'"',"`"],!1,!1),Me=function(N){return N},ia="\\a",dc=cr("\\a",!1),Er=function(){return"a"},du="\\b",QA=cr("\\b",!1),FA=function(){return"\b"},mc=/^[Ee]/,yc=Li(["E","e"],!1,!1),Il=function(){return"\x1B"},we="\\f",Tt=cr("\\f",!1),wl=function(){return"\f"},Bi="\\n",Ns=cr("\\n",!1),Ft=function(){return` +`},Bn="\\r",No=cr("\\r",!1),ki=function(){return"\r"},vi="\\t",sa=cr("\\t",!1),un=function(){return" "},qn="\\v",Ec=cr("\\v",!1),lp=function(){return"\v"},oa=/^[\\'"?]/,aa=Li(["\\","'",'"',"?"],!1,!1),la=function(N){return String.fromCharCode(parseInt(N,16))},Ze="\\x",ca=cr("\\x",!1),mu="\\u",Bl=cr("\\u",!1),dn="\\U",Lo=cr("\\U",!1),RA=function(N){return String.fromCodePoint(parseInt(N,16))},TA=/^[0-7]/,Oo=Li([["0","7"]],!1,!1),qa=/^[0-9a-fA-f]/,Ot=Li([["0","9"],["a","f"],["A","f"]],!1,!1),vn=Iu(),Mo="{}",ua=cr("{}",!1),qi=function(){return"{}"},vl="-",Cc=cr("-",!1),Dl="+",Aa=cr("+",!1),Di=".",rs=cr(".",!1),ja=function(N,V,re){return{type:"number",value:(N==="-"?-1:1)*parseFloat(V.join("")+"."+re.join(""))}},yu=function(N,V){return{type:"number",value:(N==="-"?-1:1)*parseInt(V.join(""))}},Pl=function(N){return{type:"variable",...N}},pi=function(N){return{type:"variable",name:N}},Dn=function(N){return N},Sl="*",Je=cr("*",!1),st="/",vt=cr("/",!1),ar=function(N,V,re){return{type:V==="*"?"multiplication":"division",right:re}},ee=function(N,V){return V.reduce((re,ge)=>({left:re,...ge}),N)},ye=function(N,V,re){return{type:V==="+"?"addition":"subtraction",right:re}},Le="$((",gt=cr("$((",!1),mt="))",Dt=cr("))",!1),er=function(N){return N},sn="$(",ei=cr("$(",!1),Qi=function(N){return N},Pn="${",fa=cr("${",!1),wd=":-",BI=cr(":-",!1),eo=function(N,V){return{name:N,defaultValue:V}},Bd=":-}",cp=cr(":-}",!1),vI=function(N){return{name:N,defaultValue:[]}},to=":+",up=cr(":+",!1),Ap=function(N,V){return{name:N,alternativeValue:V}},Ic=":+}",fp=cr(":+}",!1),s0=function(N){return{name:N,alternativeValue:[]}},o0=function(N){return{name:N}},a0="$",vd=cr("$",!1),Eu=function(N){return e.isGlobPattern(N)},ro=function(N){return N},Ga=/^[a-zA-Z0-9_]/,pp=Li([["a","z"],["A","Z"],["0","9"],"_"],!1,!1),l0=function(){return bd()},Wa=/^[$@*?#a-zA-Z0-9_\-]/,Ya=Li(["$","@","*","?","#",["a","z"],["A","Z"],["0","9"],"_","-"],!1,!1),Dd=/^[()}<>$|&; \t"']/,NA=Li(["(",")","}","<",">","$","|","&",";"," "," ",'"',"'"],!1,!1),Pd=/^[<>&; \t"']/,Sd=Li(["<",">","&",";"," "," ",'"',"'"],!1,!1),LA=/^[ \t]/,OA=Li([" "," "],!1,!1),W=0,bt=0,MA=[{line:1,column:1}],no=0,Cu=[],dt=0,wc;if("startRule"in e){if(!(e.startRule in o))throw new Error(`Can't start parsing from rule "`+e.startRule+'".');a=o[e.startRule]}function bd(){return t.substring(bt,W)}function c0(){return wu(bt,W)}function DI(N,V){throw V=V!==void 0?V:wu(bt,W),UA([u0(N)],t.substring(bt,W),V)}function hp(N,V){throw V=V!==void 0?V:wu(bt,W),oi(N,V)}function cr(N,V){return{type:"literal",text:N,ignoreCase:V}}function Li(N,V,re){return{type:"class",parts:N,inverted:V,ignoreCase:re}}function Iu(){return{type:"any"}}function pa(){return{type:"end"}}function u0(N){return{type:"other",description:N}}function Bc(N){var V=MA[N],re;if(V)return V;for(re=N-1;!MA[re];)re--;for(V=MA[re],V={line:V.line,column:V.column};re<N;)t.charCodeAt(re)===10?(V.line++,V.column=1):V.column++,re++;return MA[N]=V,V}function wu(N,V){var re=Bc(N),ge=Bc(V);return{start:{offset:N,line:re.line,column:re.column},end:{offset:V,line:ge.line,column:ge.column}}}function wt(N){W<no||(W>no&&(no=W,Cu=[]),Cu.push(N))}function oi(N,V){return new V0(N,null,null,V)}function UA(N,V,re){return new V0(V0.buildMessage(N,V),N,V,re)}function ha(){var N,V,re;for(N=W,V=[],re=xt();re!==r;)V.push(re),re=xt();return V!==r?(re=Uo(),re===r&&(re=null),re!==r?(bt=N,V=n(re),N=V):(W=N,N=r)):(W=N,N=r),N}function Uo(){var N,V,re,ge,Ye;if(N=W,V=gp(),V!==r){for(re=[],ge=xt();ge!==r;)re.push(ge),ge=xt();re!==r?(ge=A0(),ge!==r?(Ye=ga(),Ye===r&&(Ye=null),Ye!==r?(bt=N,V=u(V,ge,Ye),N=V):(W=N,N=r)):(W=N,N=r)):(W=N,N=r)}else W=N,N=r;if(N===r)if(N=W,V=gp(),V!==r){for(re=[],ge=xt();ge!==r;)re.push(ge),ge=xt();re!==r?(ge=A0(),ge===r&&(ge=null),ge!==r?(bt=N,V=A(V,ge),N=V):(W=N,N=r)):(W=N,N=r)}else W=N,N=r;return N}function ga(){var N,V,re,ge,Ye;for(N=W,V=[],re=xt();re!==r;)V.push(re),re=xt();if(V!==r)if(re=Uo(),re!==r){for(ge=[],Ye=xt();Ye!==r;)ge.push(Ye),Ye=xt();ge!==r?(bt=N,V=p(re),N=V):(W=N,N=r)}else W=N,N=r;else W=N,N=r;return N}function A0(){var N;return t.charCodeAt(W)===59?(N=h,W++):(N=r,dt===0&&wt(E)),N===r&&(t.charCodeAt(W)===38?(N=w,W++):(N=r,dt===0&&wt(D))),N}function gp(){var N,V,re;return N=W,V=_A(),V!==r?(re=f0(),re===r&&(re=null),re!==r?(bt=N,V=x(V,re),N=V):(W=N,N=r)):(W=N,N=r),N}function f0(){var N,V,re,ge,Ye,At,hr;for(N=W,V=[],re=xt();re!==r;)V.push(re),re=xt();if(V!==r)if(re=xd(),re!==r){for(ge=[],Ye=xt();Ye!==r;)ge.push(Ye),Ye=xt();if(ge!==r)if(Ye=gp(),Ye!==r){for(At=[],hr=xt();hr!==r;)At.push(hr),hr=xt();At!==r?(bt=N,V=C(re,Ye),N=V):(W=N,N=r)}else W=N,N=r;else W=N,N=r}else W=N,N=r;else W=N,N=r;return N}function xd(){var N;return t.substr(W,2)===T?(N=T,W+=2):(N=r,dt===0&&wt(L)),N===r&&(t.substr(W,2)===U?(N=U,W+=2):(N=r,dt===0&&wt(J))),N}function _A(){var N,V,re;return N=W,V=Bu(),V!==r?(re=p0(),re===r&&(re=null),re!==r?(bt=N,V=te(V,re),N=V):(W=N,N=r)):(W=N,N=r),N}function p0(){var N,V,re,ge,Ye,At,hr;for(N=W,V=[],re=xt();re!==r;)V.push(re),re=xt();if(V!==r)if(re=vc(),re!==r){for(ge=[],Ye=xt();Ye!==r;)ge.push(Ye),Ye=xt();if(ge!==r)if(Ye=_A(),Ye!==r){for(At=[],hr=xt();hr!==r;)At.push(hr),hr=xt();At!==r?(bt=N,V=le(re,Ye),N=V):(W=N,N=r)}else W=N,N=r;else W=N,N=r}else W=N,N=r;else W=N,N=r;return N}function vc(){var N;return t.substr(W,2)===ce?(N=ce,W+=2):(N=r,dt===0&&wt(ue)),N===r&&(t.charCodeAt(W)===124?(N=Ie,W++):(N=r,dt===0&&wt(he))),N}function Dc(){var N,V,re,ge,Ye,At;if(N=W,V=yp(),V!==r)if(t.charCodeAt(W)===61?(re=De,W++):(re=r,dt===0&&wt(Ee)),re!==r)if(ge=HA(),ge!==r){for(Ye=[],At=xt();At!==r;)Ye.push(At),At=xt();Ye!==r?(bt=N,V=g(V,ge),N=V):(W=N,N=r)}else W=N,N=r;else W=N,N=r;else W=N,N=r;if(N===r)if(N=W,V=yp(),V!==r)if(t.charCodeAt(W)===61?(re=De,W++):(re=r,dt===0&&wt(Ee)),re!==r){for(ge=[],Ye=xt();Ye!==r;)ge.push(Ye),Ye=xt();ge!==r?(bt=N,V=me(V),N=V):(W=N,N=r)}else W=N,N=r;else W=N,N=r;return N}function Bu(){var N,V,re,ge,Ye,At,hr,Ir,Rn,ai,ns;for(N=W,V=[],re=xt();re!==r;)V.push(re),re=xt();if(V!==r)if(t.charCodeAt(W)===40?(re=Ce,W++):(re=r,dt===0&&wt(fe)),re!==r){for(ge=[],Ye=xt();Ye!==r;)ge.push(Ye),Ye=xt();if(ge!==r)if(Ye=Uo(),Ye!==r){for(At=[],hr=xt();hr!==r;)At.push(hr),hr=xt();if(At!==r)if(t.charCodeAt(W)===41?(hr=ie,W++):(hr=r,dt===0&&wt(Z)),hr!==r){for(Ir=[],Rn=xt();Rn!==r;)Ir.push(Rn),Rn=xt();if(Ir!==r){for(Rn=[],ai=On();ai!==r;)Rn.push(ai),ai=On();if(Rn!==r){for(ai=[],ns=xt();ns!==r;)ai.push(ns),ns=xt();ai!==r?(bt=N,V=Pe(Ye,Rn),N=V):(W=N,N=r)}else W=N,N=r}else W=N,N=r}else W=N,N=r;else W=N,N=r}else W=N,N=r;else W=N,N=r}else W=N,N=r;else W=N,N=r;if(N===r){for(N=W,V=[],re=xt();re!==r;)V.push(re),re=xt();if(V!==r)if(t.charCodeAt(W)===123?(re=Re,W++):(re=r,dt===0&&wt(ht)),re!==r){for(ge=[],Ye=xt();Ye!==r;)ge.push(Ye),Ye=xt();if(ge!==r)if(Ye=Uo(),Ye!==r){for(At=[],hr=xt();hr!==r;)At.push(hr),hr=xt();if(At!==r)if(t.charCodeAt(W)===125?(hr=q,W++):(hr=r,dt===0&&wt(nt)),hr!==r){for(Ir=[],Rn=xt();Rn!==r;)Ir.push(Rn),Rn=xt();if(Ir!==r){for(Rn=[],ai=On();ai!==r;)Rn.push(ai),ai=On();if(Rn!==r){for(ai=[],ns=xt();ns!==r;)ai.push(ns),ns=xt();ai!==r?(bt=N,V=Ne(Ye,Rn),N=V):(W=N,N=r)}else W=N,N=r}else W=N,N=r}else W=N,N=r;else W=N,N=r}else W=N,N=r;else W=N,N=r}else W=N,N=r;else W=N,N=r;if(N===r){for(N=W,V=[],re=xt();re!==r;)V.push(re),re=xt();if(V!==r){for(re=[],ge=Dc();ge!==r;)re.push(ge),ge=Dc();if(re!==r){for(ge=[],Ye=xt();Ye!==r;)ge.push(Ye),Ye=xt();if(ge!==r){if(Ye=[],At=Pc(),At!==r)for(;At!==r;)Ye.push(At),At=Pc();else Ye=r;if(Ye!==r){for(At=[],hr=xt();hr!==r;)At.push(hr),hr=xt();At!==r?(bt=N,V=Te(re,Ye),N=V):(W=N,N=r)}else W=N,N=r}else W=N,N=r}else W=N,N=r}else W=N,N=r;if(N===r){for(N=W,V=[],re=xt();re!==r;)V.push(re),re=xt();if(V!==r){if(re=[],ge=Dc(),ge!==r)for(;ge!==r;)re.push(ge),ge=Dc();else re=r;if(re!==r){for(ge=[],Ye=xt();Ye!==r;)ge.push(Ye),Ye=xt();ge!==r?(bt=N,V=ke(re),N=V):(W=N,N=r)}else W=N,N=r}else W=N,N=r}}}return N}function gs(){var N,V,re,ge,Ye;for(N=W,V=[],re=xt();re!==r;)V.push(re),re=xt();if(V!==r){if(re=[],ge=Ci(),ge!==r)for(;ge!==r;)re.push(ge),ge=Ci();else re=r;if(re!==r){for(ge=[],Ye=xt();Ye!==r;)ge.push(Ye),Ye=xt();ge!==r?(bt=N,V=Ve(re),N=V):(W=N,N=r)}else W=N,N=r}else W=N,N=r;return N}function Pc(){var N,V,re;for(N=W,V=[],re=xt();re!==r;)V.push(re),re=xt();if(V!==r?(re=On(),re!==r?(bt=N,V=be(re),N=V):(W=N,N=r)):(W=N,N=r),N===r){for(N=W,V=[],re=xt();re!==r;)V.push(re),re=xt();V!==r?(re=Ci(),re!==r?(bt=N,V=be(re),N=V):(W=N,N=r)):(W=N,N=r)}return N}function On(){var N,V,re,ge,Ye;for(N=W,V=[],re=xt();re!==r;)V.push(re),re=xt();return V!==r?(tt.test(t.charAt(W))?(re=t.charAt(W),W++):(re=r,dt===0&&wt(He)),re===r&&(re=null),re!==r?(ge=ji(),ge!==r?(Ye=Ci(),Ye!==r?(bt=N,V=b(re,ge,Ye),N=V):(W=N,N=r)):(W=N,N=r)):(W=N,N=r)):(W=N,N=r),N}function ji(){var N;return t.substr(W,2)===I?(N=I,W+=2):(N=r,dt===0&&wt(S)),N===r&&(t.substr(W,2)===y?(N=y,W+=2):(N=r,dt===0&&wt(R)),N===r&&(t.charCodeAt(W)===62?(N=z,W++):(N=r,dt===0&&wt(X)),N===r&&(t.substr(W,3)===$?(N=$,W+=3):(N=r,dt===0&&wt(se)),N===r&&(t.substr(W,2)===xe?(N=xe,W+=2):(N=r,dt===0&&wt(Fe)),N===r&&(t.charCodeAt(W)===60?(N=lt,W++):(N=r,dt===0&&wt(Et))))))),N}function Ci(){var N,V,re;for(N=W,V=[],re=xt();re!==r;)V.push(re),re=xt();return V!==r?(re=HA(),re!==r?(bt=N,V=be(re),N=V):(W=N,N=r)):(W=N,N=r),N}function HA(){var N,V,re;if(N=W,V=[],re=vu(),re!==r)for(;re!==r;)V.push(re),re=vu();else V=r;return V!==r&&(bt=N,V=qt(V)),N=V,N}function vu(){var N,V;return N=W,V=An(),V!==r&&(bt=N,V=nr(V)),N=V,N===r&&(N=W,V=h0(),V!==r&&(bt=N,V=nr(V)),N=V,N===r&&(N=W,V=g0(),V!==r&&(bt=N,V=nr(V)),N=V,N===r&&(N=W,V=Gi(),V!==r&&(bt=N,V=nr(V)),N=V))),N}function An(){var N,V,re,ge;return N=W,t.substr(W,2)===St?(V=St,W+=2):(V=r,dt===0&&wt(cn)),V!==r?(re=fn(),re!==r?(t.charCodeAt(W)===39?(ge=Pr,W++):(ge=r,dt===0&&wt(yr)),ge!==r?(bt=N,V=Rr(re),N=V):(W=N,N=r)):(W=N,N=r)):(W=N,N=r),N}function h0(){var N,V,re,ge;return N=W,t.charCodeAt(W)===39?(V=Pr,W++):(V=r,dt===0&&wt(yr)),V!==r?(re=Du(),re!==r?(t.charCodeAt(W)===39?(ge=Pr,W++):(ge=r,dt===0&&wt(yr)),ge!==r?(bt=N,V=Rr(re),N=V):(W=N,N=r)):(W=N,N=r)):(W=N,N=r),N}function g0(){var N,V,re,ge;if(N=W,t.substr(W,2)===Xr?(V=Xr,W+=2):(V=r,dt===0&&wt($n)),V!==r&&(bt=N,V=Xs()),N=V,N===r)if(N=W,t.charCodeAt(W)===34?(V=Hi,W++):(V=r,dt===0&&wt(Qs)),V!==r){for(re=[],ge=Ka();ge!==r;)re.push(ge),ge=Ka();re!==r?(t.charCodeAt(W)===34?(ge=Hi,W++):(ge=r,dt===0&&wt(Qs)),ge!==r?(bt=N,V=Zs(re),N=V):(W=N,N=r)):(W=N,N=r)}else W=N,N=r;return N}function Gi(){var N,V,re;if(N=W,V=[],re=io(),re!==r)for(;re!==r;)V.push(re),re=io();else V=r;return V!==r&&(bt=N,V=Zs(V)),N=V,N}function Ka(){var N,V;return N=W,V=Kr(),V!==r&&(bt=N,V=xi(V)),N=V,N===r&&(N=W,V=mp(),V!==r&&(bt=N,V=Fs(V)),N=V,N===r&&(N=W,V=jA(),V!==r&&(bt=N,V=$s(V)),N=V,N===r&&(N=W,V=Pu(),V!==r&&(bt=N,V=SA(V)),N=V))),N}function io(){var N,V;return N=W,V=Kr(),V!==r&&(bt=N,V=gu(V)),N=V,N===r&&(N=W,V=mp(),V!==r&&(bt=N,V=op(V)),N=V,N===r&&(N=W,V=jA(),V!==r&&(bt=N,V=ap(V)),N=V,N===r&&(N=W,V=kd(),V!==r&&(bt=N,V=Rs(V)),N=V,N===r&&(N=W,V=dp(),V!==r&&(bt=N,V=SA(V)),N=V)))),N}function Du(){var N,V,re;for(N=W,V=[],Ln.test(t.charAt(W))?(re=t.charAt(W),W++):(re=r,dt===0&&wt(hs));re!==r;)V.push(re),Ln.test(t.charAt(W))?(re=t.charAt(W),W++):(re=r,dt===0&&wt(hs));return V!==r&&(bt=N,V=Ts(V)),N=V,N}function Pu(){var N,V,re;if(N=W,V=[],re=Va(),re===r&&(pc.test(t.charAt(W))?(re=t.charAt(W),W++):(re=r,dt===0&&wt(hc))),re!==r)for(;re!==r;)V.push(re),re=Va(),re===r&&(pc.test(t.charAt(W))?(re=t.charAt(W),W++):(re=r,dt===0&&wt(hc)));else V=r;return V!==r&&(bt=N,V=Ts(V)),N=V,N}function Va(){var N,V,re;return N=W,t.substr(W,2)===gc?(V=gc,W+=2):(V=r,dt===0&&wt(bA)),V!==r&&(bt=N,V=xA()),N=V,N===r&&(N=W,t.charCodeAt(W)===92?(V=Ro,W++):(V=r,dt===0&&wt(To)),V!==r?(kA.test(t.charAt(W))?(re=t.charAt(W),W++):(re=r,dt===0&&wt(pr)),re!==r?(bt=N,V=Me(re),N=V):(W=N,N=r)):(W=N,N=r)),N}function fn(){var N,V,re;for(N=W,V=[],re=so(),re===r&&(Ln.test(t.charAt(W))?(re=t.charAt(W),W++):(re=r,dt===0&&wt(hs)));re!==r;)V.push(re),re=so(),re===r&&(Ln.test(t.charAt(W))?(re=t.charAt(W),W++):(re=r,dt===0&&wt(hs)));return V!==r&&(bt=N,V=Ts(V)),N=V,N}function so(){var N,V,re;return N=W,t.substr(W,2)===ia?(V=ia,W+=2):(V=r,dt===0&&wt(dc)),V!==r&&(bt=N,V=Er()),N=V,N===r&&(N=W,t.substr(W,2)===du?(V=du,W+=2):(V=r,dt===0&&wt(QA)),V!==r&&(bt=N,V=FA()),N=V,N===r&&(N=W,t.charCodeAt(W)===92?(V=Ro,W++):(V=r,dt===0&&wt(To)),V!==r?(mc.test(t.charAt(W))?(re=t.charAt(W),W++):(re=r,dt===0&&wt(yc)),re!==r?(bt=N,V=Il(),N=V):(W=N,N=r)):(W=N,N=r),N===r&&(N=W,t.substr(W,2)===we?(V=we,W+=2):(V=r,dt===0&&wt(Tt)),V!==r&&(bt=N,V=wl()),N=V,N===r&&(N=W,t.substr(W,2)===Bi?(V=Bi,W+=2):(V=r,dt===0&&wt(Ns)),V!==r&&(bt=N,V=Ft()),N=V,N===r&&(N=W,t.substr(W,2)===Bn?(V=Bn,W+=2):(V=r,dt===0&&wt(No)),V!==r&&(bt=N,V=ki()),N=V,N===r&&(N=W,t.substr(W,2)===vi?(V=vi,W+=2):(V=r,dt===0&&wt(sa)),V!==r&&(bt=N,V=un()),N=V,N===r&&(N=W,t.substr(W,2)===qn?(V=qn,W+=2):(V=r,dt===0&&wt(Ec)),V!==r&&(bt=N,V=lp()),N=V,N===r&&(N=W,t.charCodeAt(W)===92?(V=Ro,W++):(V=r,dt===0&&wt(To)),V!==r?(oa.test(t.charAt(W))?(re=t.charAt(W),W++):(re=r,dt===0&&wt(aa)),re!==r?(bt=N,V=Me(re),N=V):(W=N,N=r)):(W=N,N=r),N===r&&(N=Sc()))))))))),N}function Sc(){var N,V,re,ge,Ye,At,hr,Ir,Rn,ai,ns,GA;return N=W,t.charCodeAt(W)===92?(V=Ro,W++):(V=r,dt===0&&wt(To)),V!==r?(re=_o(),re!==r?(bt=N,V=la(re),N=V):(W=N,N=r)):(W=N,N=r),N===r&&(N=W,t.substr(W,2)===Ze?(V=Ze,W+=2):(V=r,dt===0&&wt(ca)),V!==r?(re=W,ge=W,Ye=_o(),Ye!==r?(At=ds(),At!==r?(Ye=[Ye,At],ge=Ye):(W=ge,ge=r)):(W=ge,ge=r),ge===r&&(ge=_o()),ge!==r?re=t.substring(re,W):re=ge,re!==r?(bt=N,V=la(re),N=V):(W=N,N=r)):(W=N,N=r),N===r&&(N=W,t.substr(W,2)===mu?(V=mu,W+=2):(V=r,dt===0&&wt(Bl)),V!==r?(re=W,ge=W,Ye=ds(),Ye!==r?(At=ds(),At!==r?(hr=ds(),hr!==r?(Ir=ds(),Ir!==r?(Ye=[Ye,At,hr,Ir],ge=Ye):(W=ge,ge=r)):(W=ge,ge=r)):(W=ge,ge=r)):(W=ge,ge=r),ge!==r?re=t.substring(re,W):re=ge,re!==r?(bt=N,V=la(re),N=V):(W=N,N=r)):(W=N,N=r),N===r&&(N=W,t.substr(W,2)===dn?(V=dn,W+=2):(V=r,dt===0&&wt(Lo)),V!==r?(re=W,ge=W,Ye=ds(),Ye!==r?(At=ds(),At!==r?(hr=ds(),hr!==r?(Ir=ds(),Ir!==r?(Rn=ds(),Rn!==r?(ai=ds(),ai!==r?(ns=ds(),ns!==r?(GA=ds(),GA!==r?(Ye=[Ye,At,hr,Ir,Rn,ai,ns,GA],ge=Ye):(W=ge,ge=r)):(W=ge,ge=r)):(W=ge,ge=r)):(W=ge,ge=r)):(W=ge,ge=r)):(W=ge,ge=r)):(W=ge,ge=r)):(W=ge,ge=r),ge!==r?re=t.substring(re,W):re=ge,re!==r?(bt=N,V=RA(re),N=V):(W=N,N=r)):(W=N,N=r)))),N}function _o(){var N;return TA.test(t.charAt(W))?(N=t.charAt(W),W++):(N=r,dt===0&&wt(Oo)),N}function ds(){var N;return qa.test(t.charAt(W))?(N=t.charAt(W),W++):(N=r,dt===0&&wt(Ot)),N}function dp(){var N,V,re,ge,Ye;if(N=W,V=[],re=W,t.charCodeAt(W)===92?(ge=Ro,W++):(ge=r,dt===0&&wt(To)),ge!==r?(t.length>W?(Ye=t.charAt(W),W++):(Ye=r,dt===0&&wt(vn)),Ye!==r?(bt=re,ge=Me(Ye),re=ge):(W=re,re=r)):(W=re,re=r),re===r&&(re=W,t.substr(W,2)===Mo?(ge=Mo,W+=2):(ge=r,dt===0&&wt(ua)),ge!==r&&(bt=re,ge=qi()),re=ge,re===r&&(re=W,ge=W,dt++,Ye=Qd(),dt--,Ye===r?ge=void 0:(W=ge,ge=r),ge!==r?(t.length>W?(Ye=t.charAt(W),W++):(Ye=r,dt===0&&wt(vn)),Ye!==r?(bt=re,ge=Me(Ye),re=ge):(W=re,re=r)):(W=re,re=r))),re!==r)for(;re!==r;)V.push(re),re=W,t.charCodeAt(W)===92?(ge=Ro,W++):(ge=r,dt===0&&wt(To)),ge!==r?(t.length>W?(Ye=t.charAt(W),W++):(Ye=r,dt===0&&wt(vn)),Ye!==r?(bt=re,ge=Me(Ye),re=ge):(W=re,re=r)):(W=re,re=r),re===r&&(re=W,t.substr(W,2)===Mo?(ge=Mo,W+=2):(ge=r,dt===0&&wt(ua)),ge!==r&&(bt=re,ge=qi()),re=ge,re===r&&(re=W,ge=W,dt++,Ye=Qd(),dt--,Ye===r?ge=void 0:(W=ge,ge=r),ge!==r?(t.length>W?(Ye=t.charAt(W),W++):(Ye=r,dt===0&&wt(vn)),Ye!==r?(bt=re,ge=Me(Ye),re=ge):(W=re,re=r)):(W=re,re=r)));else V=r;return V!==r&&(bt=N,V=Ts(V)),N=V,N}function qA(){var N,V,re,ge,Ye,At;if(N=W,t.charCodeAt(W)===45?(V=vl,W++):(V=r,dt===0&&wt(Cc)),V===r&&(t.charCodeAt(W)===43?(V=Dl,W++):(V=r,dt===0&&wt(Aa))),V===r&&(V=null),V!==r){if(re=[],tt.test(t.charAt(W))?(ge=t.charAt(W),W++):(ge=r,dt===0&&wt(He)),ge!==r)for(;ge!==r;)re.push(ge),tt.test(t.charAt(W))?(ge=t.charAt(W),W++):(ge=r,dt===0&&wt(He));else re=r;if(re!==r)if(t.charCodeAt(W)===46?(ge=Di,W++):(ge=r,dt===0&&wt(rs)),ge!==r){if(Ye=[],tt.test(t.charAt(W))?(At=t.charAt(W),W++):(At=r,dt===0&&wt(He)),At!==r)for(;At!==r;)Ye.push(At),tt.test(t.charAt(W))?(At=t.charAt(W),W++):(At=r,dt===0&&wt(He));else Ye=r;Ye!==r?(bt=N,V=ja(V,re,Ye),N=V):(W=N,N=r)}else W=N,N=r;else W=N,N=r}else W=N,N=r;if(N===r){if(N=W,t.charCodeAt(W)===45?(V=vl,W++):(V=r,dt===0&&wt(Cc)),V===r&&(t.charCodeAt(W)===43?(V=Dl,W++):(V=r,dt===0&&wt(Aa))),V===r&&(V=null),V!==r){if(re=[],tt.test(t.charAt(W))?(ge=t.charAt(W),W++):(ge=r,dt===0&&wt(He)),ge!==r)for(;ge!==r;)re.push(ge),tt.test(t.charAt(W))?(ge=t.charAt(W),W++):(ge=r,dt===0&&wt(He));else re=r;re!==r?(bt=N,V=yu(V,re),N=V):(W=N,N=r)}else W=N,N=r;if(N===r&&(N=W,V=jA(),V!==r&&(bt=N,V=Pl(V)),N=V,N===r&&(N=W,V=bl(),V!==r&&(bt=N,V=pi(V)),N=V,N===r)))if(N=W,t.charCodeAt(W)===40?(V=Ce,W++):(V=r,dt===0&&wt(fe)),V!==r){for(re=[],ge=xt();ge!==r;)re.push(ge),ge=xt();if(re!==r)if(ge=Ls(),ge!==r){for(Ye=[],At=xt();At!==r;)Ye.push(At),At=xt();Ye!==r?(t.charCodeAt(W)===41?(At=ie,W++):(At=r,dt===0&&wt(Z)),At!==r?(bt=N,V=Dn(ge),N=V):(W=N,N=r)):(W=N,N=r)}else W=N,N=r;else W=N,N=r}else W=N,N=r}return N}function Su(){var N,V,re,ge,Ye,At,hr,Ir;if(N=W,V=qA(),V!==r){for(re=[],ge=W,Ye=[],At=xt();At!==r;)Ye.push(At),At=xt();if(Ye!==r)if(t.charCodeAt(W)===42?(At=Sl,W++):(At=r,dt===0&&wt(Je)),At===r&&(t.charCodeAt(W)===47?(At=st,W++):(At=r,dt===0&&wt(vt))),At!==r){for(hr=[],Ir=xt();Ir!==r;)hr.push(Ir),Ir=xt();hr!==r?(Ir=qA(),Ir!==r?(bt=ge,Ye=ar(V,At,Ir),ge=Ye):(W=ge,ge=r)):(W=ge,ge=r)}else W=ge,ge=r;else W=ge,ge=r;for(;ge!==r;){for(re.push(ge),ge=W,Ye=[],At=xt();At!==r;)Ye.push(At),At=xt();if(Ye!==r)if(t.charCodeAt(W)===42?(At=Sl,W++):(At=r,dt===0&&wt(Je)),At===r&&(t.charCodeAt(W)===47?(At=st,W++):(At=r,dt===0&&wt(vt))),At!==r){for(hr=[],Ir=xt();Ir!==r;)hr.push(Ir),Ir=xt();hr!==r?(Ir=qA(),Ir!==r?(bt=ge,Ye=ar(V,At,Ir),ge=Ye):(W=ge,ge=r)):(W=ge,ge=r)}else W=ge,ge=r;else W=ge,ge=r}re!==r?(bt=N,V=ee(V,re),N=V):(W=N,N=r)}else W=N,N=r;return N}function Ls(){var N,V,re,ge,Ye,At,hr,Ir;if(N=W,V=Su(),V!==r){for(re=[],ge=W,Ye=[],At=xt();At!==r;)Ye.push(At),At=xt();if(Ye!==r)if(t.charCodeAt(W)===43?(At=Dl,W++):(At=r,dt===0&&wt(Aa)),At===r&&(t.charCodeAt(W)===45?(At=vl,W++):(At=r,dt===0&&wt(Cc))),At!==r){for(hr=[],Ir=xt();Ir!==r;)hr.push(Ir),Ir=xt();hr!==r?(Ir=Su(),Ir!==r?(bt=ge,Ye=ye(V,At,Ir),ge=Ye):(W=ge,ge=r)):(W=ge,ge=r)}else W=ge,ge=r;else W=ge,ge=r;for(;ge!==r;){for(re.push(ge),ge=W,Ye=[],At=xt();At!==r;)Ye.push(At),At=xt();if(Ye!==r)if(t.charCodeAt(W)===43?(At=Dl,W++):(At=r,dt===0&&wt(Aa)),At===r&&(t.charCodeAt(W)===45?(At=vl,W++):(At=r,dt===0&&wt(Cc))),At!==r){for(hr=[],Ir=xt();Ir!==r;)hr.push(Ir),Ir=xt();hr!==r?(Ir=Su(),Ir!==r?(bt=ge,Ye=ye(V,At,Ir),ge=Ye):(W=ge,ge=r)):(W=ge,ge=r)}else W=ge,ge=r;else W=ge,ge=r}re!==r?(bt=N,V=ee(V,re),N=V):(W=N,N=r)}else W=N,N=r;return N}function Kr(){var N,V,re,ge,Ye,At;if(N=W,t.substr(W,3)===Le?(V=Le,W+=3):(V=r,dt===0&&wt(gt)),V!==r){for(re=[],ge=xt();ge!==r;)re.push(ge),ge=xt();if(re!==r)if(ge=Ls(),ge!==r){for(Ye=[],At=xt();At!==r;)Ye.push(At),At=xt();Ye!==r?(t.substr(W,2)===mt?(At=mt,W+=2):(At=r,dt===0&&wt(Dt)),At!==r?(bt=N,V=er(ge),N=V):(W=N,N=r)):(W=N,N=r)}else W=N,N=r;else W=N,N=r}else W=N,N=r;return N}function mp(){var N,V,re,ge;return N=W,t.substr(W,2)===sn?(V=sn,W+=2):(V=r,dt===0&&wt(ei)),V!==r?(re=Uo(),re!==r?(t.charCodeAt(W)===41?(ge=ie,W++):(ge=r,dt===0&&wt(Z)),ge!==r?(bt=N,V=Qi(re),N=V):(W=N,N=r)):(W=N,N=r)):(W=N,N=r),N}function jA(){var N,V,re,ge,Ye,At;return N=W,t.substr(W,2)===Pn?(V=Pn,W+=2):(V=r,dt===0&&wt(fa)),V!==r?(re=bl(),re!==r?(t.substr(W,2)===wd?(ge=wd,W+=2):(ge=r,dt===0&&wt(BI)),ge!==r?(Ye=gs(),Ye!==r?(t.charCodeAt(W)===125?(At=q,W++):(At=r,dt===0&&wt(nt)),At!==r?(bt=N,V=eo(re,Ye),N=V):(W=N,N=r)):(W=N,N=r)):(W=N,N=r)):(W=N,N=r)):(W=N,N=r),N===r&&(N=W,t.substr(W,2)===Pn?(V=Pn,W+=2):(V=r,dt===0&&wt(fa)),V!==r?(re=bl(),re!==r?(t.substr(W,3)===Bd?(ge=Bd,W+=3):(ge=r,dt===0&&wt(cp)),ge!==r?(bt=N,V=vI(re),N=V):(W=N,N=r)):(W=N,N=r)):(W=N,N=r),N===r&&(N=W,t.substr(W,2)===Pn?(V=Pn,W+=2):(V=r,dt===0&&wt(fa)),V!==r?(re=bl(),re!==r?(t.substr(W,2)===to?(ge=to,W+=2):(ge=r,dt===0&&wt(up)),ge!==r?(Ye=gs(),Ye!==r?(t.charCodeAt(W)===125?(At=q,W++):(At=r,dt===0&&wt(nt)),At!==r?(bt=N,V=Ap(re,Ye),N=V):(W=N,N=r)):(W=N,N=r)):(W=N,N=r)):(W=N,N=r)):(W=N,N=r),N===r&&(N=W,t.substr(W,2)===Pn?(V=Pn,W+=2):(V=r,dt===0&&wt(fa)),V!==r?(re=bl(),re!==r?(t.substr(W,3)===Ic?(ge=Ic,W+=3):(ge=r,dt===0&&wt(fp)),ge!==r?(bt=N,V=s0(re),N=V):(W=N,N=r)):(W=N,N=r)):(W=N,N=r),N===r&&(N=W,t.substr(W,2)===Pn?(V=Pn,W+=2):(V=r,dt===0&&wt(fa)),V!==r?(re=bl(),re!==r?(t.charCodeAt(W)===125?(ge=q,W++):(ge=r,dt===0&&wt(nt)),ge!==r?(bt=N,V=o0(re),N=V):(W=N,N=r)):(W=N,N=r)):(W=N,N=r),N===r&&(N=W,t.charCodeAt(W)===36?(V=a0,W++):(V=r,dt===0&&wt(vd)),V!==r?(re=bl(),re!==r?(bt=N,V=o0(re),N=V):(W=N,N=r)):(W=N,N=r)))))),N}function kd(){var N,V,re;return N=W,V=d0(),V!==r?(bt=W,re=Eu(V),re?re=void 0:re=r,re!==r?(bt=N,V=ro(V),N=V):(W=N,N=r)):(W=N,N=r),N}function d0(){var N,V,re,ge,Ye;if(N=W,V=[],re=W,ge=W,dt++,Ye=Ep(),dt--,Ye===r?ge=void 0:(W=ge,ge=r),ge!==r?(t.length>W?(Ye=t.charAt(W),W++):(Ye=r,dt===0&&wt(vn)),Ye!==r?(bt=re,ge=Me(Ye),re=ge):(W=re,re=r)):(W=re,re=r),re!==r)for(;re!==r;)V.push(re),re=W,ge=W,dt++,Ye=Ep(),dt--,Ye===r?ge=void 0:(W=ge,ge=r),ge!==r?(t.length>W?(Ye=t.charAt(W),W++):(Ye=r,dt===0&&wt(vn)),Ye!==r?(bt=re,ge=Me(Ye),re=ge):(W=re,re=r)):(W=re,re=r);else V=r;return V!==r&&(bt=N,V=Ts(V)),N=V,N}function yp(){var N,V,re;if(N=W,V=[],Ga.test(t.charAt(W))?(re=t.charAt(W),W++):(re=r,dt===0&&wt(pp)),re!==r)for(;re!==r;)V.push(re),Ga.test(t.charAt(W))?(re=t.charAt(W),W++):(re=r,dt===0&&wt(pp));else V=r;return V!==r&&(bt=N,V=l0()),N=V,N}function bl(){var N,V,re;if(N=W,V=[],Wa.test(t.charAt(W))?(re=t.charAt(W),W++):(re=r,dt===0&&wt(Ya)),re!==r)for(;re!==r;)V.push(re),Wa.test(t.charAt(W))?(re=t.charAt(W),W++):(re=r,dt===0&&wt(Ya));else V=r;return V!==r&&(bt=N,V=l0()),N=V,N}function Qd(){var N;return Dd.test(t.charAt(W))?(N=t.charAt(W),W++):(N=r,dt===0&&wt(NA)),N}function Ep(){var N;return Pd.test(t.charAt(W))?(N=t.charAt(W),W++):(N=r,dt===0&&wt(Sd)),N}function xt(){var N,V;if(N=[],LA.test(t.charAt(W))?(V=t.charAt(W),W++):(V=r,dt===0&&wt(OA)),V!==r)for(;V!==r;)N.push(V),LA.test(t.charAt(W))?(V=t.charAt(W),W++):(V=r,dt===0&&wt(OA));else N=r;return N}if(wc=a(),wc!==r&&W===t.length)return wc;throw wc!==r&&W<t.length&&wt(pa()),UA(Cu,no<t.length?t.charAt(no):null,no<t.length?wu(no,no+1):wu(no,no))}NY.exports={SyntaxError:V0,parse:X8e}});function uP(t,e={isGlobPattern:()=>!1}){try{return(0,OY.parse)(t,e)}catch(r){throw r.location&&(r.message=r.message.replace(/(\.)?$/,` (line ${r.location.start.line}, column ${r.location.start.column})$1`)),r}}function dm(t,{endSemicolon:e=!1}={}){return t.map(({command:r,type:o},a)=>`${AP(r)}${o===";"?a!==t.length-1||e?";":"":" &"}`).join(" ")}function AP(t){return`${mm(t.chain)}${t.then?` ${UT(t.then)}`:""}`}function UT(t){return`${t.type} ${AP(t.line)}`}function mm(t){return`${HT(t)}${t.then?` ${_T(t.then)}`:""}`}function _T(t){return`${t.type} ${mm(t.chain)}`}function HT(t){switch(t.type){case"command":return`${t.envs.length>0?`${t.envs.map(e=>cP(e)).join(" ")} `:""}${t.args.map(e=>qT(e)).join(" ")}`;case"subshell":return`(${dm(t.subshell)})${t.args.length>0?` ${t.args.map(e=>fw(e)).join(" ")}`:""}`;case"group":return`{ ${dm(t.group,{endSemicolon:!0})} }${t.args.length>0?` ${t.args.map(e=>fw(e)).join(" ")}`:""}`;case"envs":return t.envs.map(e=>cP(e)).join(" ");default:throw new Error(`Unsupported command type: "${t.type}"`)}}function cP(t){return`${t.name}=${t.args[0]?J0(t.args[0]):""}`}function qT(t){switch(t.type){case"redirection":return fw(t);case"argument":return J0(t);default:throw new Error(`Unsupported argument type: "${t.type}"`)}}function fw(t){return`${t.subtype} ${t.args.map(e=>J0(e)).join(" ")}`}function J0(t){return t.segments.map(e=>jT(e)).join("")}function jT(t){let e=(o,a)=>a?`"${o}"`:o,r=o=>o===""?"''":o.match(/[()}<>$|&;"'\n\t ]/)?o.match(/['\t\p{C}]/u)?o.match(/'/)?`"${o.replace(/["$\t\p{C}]/u,$8e)}"`:`$'${o.replace(/[\t\p{C}]/u,UY)}'`:`'${o}'`:o;switch(t.type){case"text":return r(t.text);case"glob":return t.pattern;case"shell":return e(`$(${dm(t.shell)})`,t.quoted);case"variable":return e(typeof t.defaultValue>"u"?typeof t.alternativeValue>"u"?`\${${t.name}}`:t.alternativeValue.length===0?`\${${t.name}:+}`:`\${${t.name}:+${t.alternativeValue.map(o=>J0(o)).join(" ")}}`:t.defaultValue.length===0?`\${${t.name}:-}`:`\${${t.name}:-${t.defaultValue.map(o=>J0(o)).join(" ")}}`,t.quoted);case"arithmetic":return`$(( ${fP(t.arithmetic)} ))`;default:throw new Error(`Unsupported argument segment type: "${t.type}"`)}}function fP(t){let e=a=>{switch(a){case"addition":return"+";case"subtraction":return"-";case"multiplication":return"*";case"division":return"/";default:throw new Error(`Can't extract operator from arithmetic expression of type "${a}"`)}},r=(a,n)=>n?`( ${a} )`:a,o=a=>r(fP(a),!["number","variable"].includes(a.type));switch(t.type){case"number":return String(t.value);case"variable":return t.name;default:return`${o(t.left)} ${e(t.type)} ${o(t.right)}`}}var OY,MY,Z8e,UY,$8e,_Y=It(()=>{OY=et(LY());MY=new Map([["\f","\\f"],[` +`,"\\n"],["\r","\\r"],[" ","\\t"],["\v","\\v"],["\0","\\0"]]),Z8e=new Map([["\\","\\\\"],["$","\\$"],['"','\\"'],...Array.from(MY,([t,e])=>[t,`"$'${e}'"`])]),UY=t=>MY.get(t)??`\\x${t.charCodeAt(0).toString(16).padStart(2,"0")}`,$8e=t=>Z8e.get(t)??`"$'${UY(t)}'"`});var qY=_((dbt,HY)=>{"use strict";function e_e(t,e){function r(){this.constructor=t}r.prototype=e.prototype,t.prototype=new r}function z0(t,e,r,o){this.message=t,this.expected=e,this.found=r,this.location=o,this.name="SyntaxError",typeof Error.captureStackTrace=="function"&&Error.captureStackTrace(this,z0)}e_e(z0,Error);z0.buildMessage=function(t,e){var r={literal:function(h){return'"'+a(h.text)+'"'},class:function(h){var E="",w;for(w=0;w<h.parts.length;w++)E+=h.parts[w]instanceof Array?n(h.parts[w][0])+"-"+n(h.parts[w][1]):n(h.parts[w]);return"["+(h.inverted?"^":"")+E+"]"},any:function(h){return"any character"},end:function(h){return"end of input"},other:function(h){return h.description}};function o(h){return h.charCodeAt(0).toString(16).toUpperCase()}function a(h){return h.replace(/\\/g,"\\\\").replace(/"/g,'\\"').replace(/\0/g,"\\0").replace(/\t/g,"\\t").replace(/\n/g,"\\n").replace(/\r/g,"\\r").replace(/[\x00-\x0F]/g,function(E){return"\\x0"+o(E)}).replace(/[\x10-\x1F\x7F-\x9F]/g,function(E){return"\\x"+o(E)})}function n(h){return h.replace(/\\/g,"\\\\").replace(/\]/g,"\\]").replace(/\^/g,"\\^").replace(/-/g,"\\-").replace(/\0/g,"\\0").replace(/\t/g,"\\t").replace(/\n/g,"\\n").replace(/\r/g,"\\r").replace(/[\x00-\x0F]/g,function(E){return"\\x0"+o(E)}).replace(/[\x10-\x1F\x7F-\x9F]/g,function(E){return"\\x"+o(E)})}function u(h){return r[h.type](h)}function A(h){var E=new Array(h.length),w,D;for(w=0;w<h.length;w++)E[w]=u(h[w]);if(E.sort(),E.length>0){for(w=1,D=1;w<E.length;w++)E[w-1]!==E[w]&&(E[D]=E[w],D++);E.length=D}switch(E.length){case 1:return E[0];case 2:return E[0]+" or "+E[1];default:return E.slice(0,-1).join(", ")+", or "+E[E.length-1]}}function p(h){return h?'"'+a(h)+'"':"end of input"}return"Expected "+A(t)+" but "+p(e)+" found."};function t_e(t,e){e=e!==void 0?e:{};var r={},o={resolution:Te},a=Te,n="/",u=Ce("/",!1),A=function(He,b){return{from:He,descriptor:b}},p=function(He){return{descriptor:He}},h="@",E=Ce("@",!1),w=function(He,b){return{fullName:He,description:b}},D=function(He){return{fullName:He}},x=function(){return De()},C=/^[^\/@]/,T=fe(["/","@"],!0,!1),L=/^[^\/]/,U=fe(["/"],!0,!1),J=0,te=0,le=[{line:1,column:1}],ce=0,ue=[],Ie=0,he;if("startRule"in e){if(!(e.startRule in o))throw new Error(`Can't start parsing from rule "`+e.startRule+'".');a=o[e.startRule]}function De(){return t.substring(te,J)}function Ee(){return ht(te,J)}function g(He,b){throw b=b!==void 0?b:ht(te,J),Ne([Pe(He)],t.substring(te,J),b)}function me(He,b){throw b=b!==void 0?b:ht(te,J),nt(He,b)}function Ce(He,b){return{type:"literal",text:He,ignoreCase:b}}function fe(He,b,I){return{type:"class",parts:He,inverted:b,ignoreCase:I}}function ie(){return{type:"any"}}function Z(){return{type:"end"}}function Pe(He){return{type:"other",description:He}}function Re(He){var b=le[He],I;if(b)return b;for(I=He-1;!le[I];)I--;for(b=le[I],b={line:b.line,column:b.column};I<He;)t.charCodeAt(I)===10?(b.line++,b.column=1):b.column++,I++;return le[He]=b,b}function ht(He,b){var I=Re(He),S=Re(b);return{start:{offset:He,line:I.line,column:I.column},end:{offset:b,line:S.line,column:S.column}}}function q(He){J<ce||(J>ce&&(ce=J,ue=[]),ue.push(He))}function nt(He,b){return new z0(He,null,null,b)}function Ne(He,b,I){return new z0(z0.buildMessage(He,b),He,b,I)}function Te(){var He,b,I,S;return He=J,b=ke(),b!==r?(t.charCodeAt(J)===47?(I=n,J++):(I=r,Ie===0&&q(u)),I!==r?(S=ke(),S!==r?(te=He,b=A(b,S),He=b):(J=He,He=r)):(J=He,He=r)):(J=He,He=r),He===r&&(He=J,b=ke(),b!==r&&(te=He,b=p(b)),He=b),He}function ke(){var He,b,I,S;return He=J,b=Ve(),b!==r?(t.charCodeAt(J)===64?(I=h,J++):(I=r,Ie===0&&q(E)),I!==r?(S=tt(),S!==r?(te=He,b=w(b,S),He=b):(J=He,He=r)):(J=He,He=r)):(J=He,He=r),He===r&&(He=J,b=Ve(),b!==r&&(te=He,b=D(b)),He=b),He}function Ve(){var He,b,I,S,y;return He=J,t.charCodeAt(J)===64?(b=h,J++):(b=r,Ie===0&&q(E)),b!==r?(I=be(),I!==r?(t.charCodeAt(J)===47?(S=n,J++):(S=r,Ie===0&&q(u)),S!==r?(y=be(),y!==r?(te=He,b=x(),He=b):(J=He,He=r)):(J=He,He=r)):(J=He,He=r)):(J=He,He=r),He===r&&(He=J,b=be(),b!==r&&(te=He,b=x()),He=b),He}function be(){var He,b,I;if(He=J,b=[],C.test(t.charAt(J))?(I=t.charAt(J),J++):(I=r,Ie===0&&q(T)),I!==r)for(;I!==r;)b.push(I),C.test(t.charAt(J))?(I=t.charAt(J),J++):(I=r,Ie===0&&q(T));else b=r;return b!==r&&(te=He,b=x()),He=b,He}function tt(){var He,b,I;if(He=J,b=[],L.test(t.charAt(J))?(I=t.charAt(J),J++):(I=r,Ie===0&&q(U)),I!==r)for(;I!==r;)b.push(I),L.test(t.charAt(J))?(I=t.charAt(J),J++):(I=r,Ie===0&&q(U));else b=r;return b!==r&&(te=He,b=x()),He=b,He}if(he=a(),he!==r&&J===t.length)return he;throw he!==r&&J<t.length&&q(Z()),Ne(ue,ce<t.length?t.charAt(ce):null,ce<t.length?ht(ce,ce+1):ht(ce,ce))}HY.exports={SyntaxError:z0,parse:t_e}});function pP(t){let e=t.match(/^\*{1,2}\/(.*)/);if(e)throw new Error(`The override for '${t}' includes a glob pattern. Glob patterns have been removed since their behaviours don't match what you'd expect. Set the override to '${e[1]}' instead.`);try{return(0,jY.parse)(t)}catch(r){throw r.location&&(r.message=r.message.replace(/(\.)?$/,` (line ${r.location.start.line}, column ${r.location.start.column})$1`)),r}}function hP(t){let e="";return t.from&&(e+=t.from.fullName,t.from.description&&(e+=`@${t.from.description}`),e+="/"),e+=t.descriptor.fullName,t.descriptor.description&&(e+=`@${t.descriptor.description}`),e}var jY,GY=It(()=>{jY=et(qY())});var Z0=_((ybt,X0)=>{"use strict";function WY(t){return typeof t>"u"||t===null}function r_e(t){return typeof t=="object"&&t!==null}function n_e(t){return Array.isArray(t)?t:WY(t)?[]:[t]}function i_e(t,e){var r,o,a,n;if(e)for(n=Object.keys(e),r=0,o=n.length;r<o;r+=1)a=n[r],t[a]=e[a];return t}function s_e(t,e){var r="",o;for(o=0;o<e;o+=1)r+=t;return r}function o_e(t){return t===0&&Number.NEGATIVE_INFINITY===1/t}X0.exports.isNothing=WY;X0.exports.isObject=r_e;X0.exports.toArray=n_e;X0.exports.repeat=s_e;X0.exports.isNegativeZero=o_e;X0.exports.extend=i_e});var ym=_((Ebt,YY)=>{"use strict";function pw(t,e){Error.call(this),this.name="YAMLException",this.reason=t,this.mark=e,this.message=(this.reason||"(unknown reason)")+(this.mark?" "+this.mark.toString():""),Error.captureStackTrace?Error.captureStackTrace(this,this.constructor):this.stack=new Error().stack||""}pw.prototype=Object.create(Error.prototype);pw.prototype.constructor=pw;pw.prototype.toString=function(e){var r=this.name+": ";return r+=this.reason||"(unknown reason)",!e&&this.mark&&(r+=" "+this.mark.toString()),r};YY.exports=pw});var JY=_((Cbt,VY)=>{"use strict";var KY=Z0();function GT(t,e,r,o,a){this.name=t,this.buffer=e,this.position=r,this.line=o,this.column=a}GT.prototype.getSnippet=function(e,r){var o,a,n,u,A;if(!this.buffer)return null;for(e=e||4,r=r||75,o="",a=this.position;a>0&&`\0\r +\x85\u2028\u2029`.indexOf(this.buffer.charAt(a-1))===-1;)if(a-=1,this.position-a>r/2-1){o=" ... ",a+=5;break}for(n="",u=this.position;u<this.buffer.length&&`\0\r +\x85\u2028\u2029`.indexOf(this.buffer.charAt(u))===-1;)if(u+=1,u-this.position>r/2-1){n=" ... ",u-=5;break}return A=this.buffer.slice(a,u),KY.repeat(" ",e)+o+A+n+` +`+KY.repeat(" ",e+this.position-a+o.length)+"^"};GT.prototype.toString=function(e){var r,o="";return this.name&&(o+='in "'+this.name+'" '),o+="at line "+(this.line+1)+", column "+(this.column+1),e||(r=this.getSnippet(),r&&(o+=`: +`+r)),o};VY.exports=GT});var as=_((Ibt,XY)=>{"use strict";var zY=ym(),a_e=["kind","resolve","construct","instanceOf","predicate","represent","defaultStyle","styleAliases"],l_e=["scalar","sequence","mapping"];function c_e(t){var e={};return t!==null&&Object.keys(t).forEach(function(r){t[r].forEach(function(o){e[String(o)]=r})}),e}function u_e(t,e){if(e=e||{},Object.keys(e).forEach(function(r){if(a_e.indexOf(r)===-1)throw new zY('Unknown option "'+r+'" is met in definition of "'+t+'" YAML type.')}),this.tag=t,this.kind=e.kind||null,this.resolve=e.resolve||function(){return!0},this.construct=e.construct||function(r){return r},this.instanceOf=e.instanceOf||null,this.predicate=e.predicate||null,this.represent=e.represent||null,this.defaultStyle=e.defaultStyle||null,this.styleAliases=c_e(e.styleAliases||null),l_e.indexOf(this.kind)===-1)throw new zY('Unknown kind "'+this.kind+'" is specified for "'+t+'" YAML type.')}XY.exports=u_e});var $0=_((wbt,$Y)=>{"use strict";var ZY=Z0(),gP=ym(),A_e=as();function WT(t,e,r){var o=[];return t.include.forEach(function(a){r=WT(a,e,r)}),t[e].forEach(function(a){r.forEach(function(n,u){n.tag===a.tag&&n.kind===a.kind&&o.push(u)}),r.push(a)}),r.filter(function(a,n){return o.indexOf(n)===-1})}function f_e(){var t={scalar:{},sequence:{},mapping:{},fallback:{}},e,r;function o(a){t[a.kind][a.tag]=t.fallback[a.tag]=a}for(e=0,r=arguments.length;e<r;e+=1)arguments[e].forEach(o);return t}function Em(t){this.include=t.include||[],this.implicit=t.implicit||[],this.explicit=t.explicit||[],this.implicit.forEach(function(e){if(e.loadKind&&e.loadKind!=="scalar")throw new gP("There is a non-scalar type in the implicit list of a schema. Implicit resolving of such types is not supported.")}),this.compiledImplicit=WT(this,"implicit",[]),this.compiledExplicit=WT(this,"explicit",[]),this.compiledTypeMap=f_e(this.compiledImplicit,this.compiledExplicit)}Em.DEFAULT=null;Em.create=function(){var e,r;switch(arguments.length){case 1:e=Em.DEFAULT,r=arguments[0];break;case 2:e=arguments[0],r=arguments[1];break;default:throw new gP("Wrong number of arguments for Schema.create function")}if(e=ZY.toArray(e),r=ZY.toArray(r),!e.every(function(o){return o instanceof Em}))throw new gP("Specified list of super schemas (or a single Schema object) contains a non-Schema object.");if(!r.every(function(o){return o instanceof A_e}))throw new gP("Specified list of YAML types (or a single Type object) contains a non-Type object.");return new Em({include:e,explicit:r})};$Y.exports=Em});var tK=_((Bbt,eK)=>{"use strict";var p_e=as();eK.exports=new p_e("tag:yaml.org,2002:str",{kind:"scalar",construct:function(t){return t!==null?t:""}})});var nK=_((vbt,rK)=>{"use strict";var h_e=as();rK.exports=new h_e("tag:yaml.org,2002:seq",{kind:"sequence",construct:function(t){return t!==null?t:[]}})});var sK=_((Dbt,iK)=>{"use strict";var g_e=as();iK.exports=new g_e("tag:yaml.org,2002:map",{kind:"mapping",construct:function(t){return t!==null?t:{}}})});var dP=_((Pbt,oK)=>{"use strict";var d_e=$0();oK.exports=new d_e({explicit:[tK(),nK(),sK()]})});var lK=_((Sbt,aK)=>{"use strict";var m_e=as();function y_e(t){if(t===null)return!0;var e=t.length;return e===1&&t==="~"||e===4&&(t==="null"||t==="Null"||t==="NULL")}function E_e(){return null}function C_e(t){return t===null}aK.exports=new m_e("tag:yaml.org,2002:null",{kind:"scalar",resolve:y_e,construct:E_e,predicate:C_e,represent:{canonical:function(){return"~"},lowercase:function(){return"null"},uppercase:function(){return"NULL"},camelcase:function(){return"Null"}},defaultStyle:"lowercase"})});var uK=_((bbt,cK)=>{"use strict";var I_e=as();function w_e(t){if(t===null)return!1;var e=t.length;return e===4&&(t==="true"||t==="True"||t==="TRUE")||e===5&&(t==="false"||t==="False"||t==="FALSE")}function B_e(t){return t==="true"||t==="True"||t==="TRUE"}function v_e(t){return Object.prototype.toString.call(t)==="[object Boolean]"}cK.exports=new I_e("tag:yaml.org,2002:bool",{kind:"scalar",resolve:w_e,construct:B_e,predicate:v_e,represent:{lowercase:function(t){return t?"true":"false"},uppercase:function(t){return t?"TRUE":"FALSE"},camelcase:function(t){return t?"True":"False"}},defaultStyle:"lowercase"})});var fK=_((xbt,AK)=>{"use strict";var D_e=Z0(),P_e=as();function S_e(t){return 48<=t&&t<=57||65<=t&&t<=70||97<=t&&t<=102}function b_e(t){return 48<=t&&t<=55}function x_e(t){return 48<=t&&t<=57}function k_e(t){if(t===null)return!1;var e=t.length,r=0,o=!1,a;if(!e)return!1;if(a=t[r],(a==="-"||a==="+")&&(a=t[++r]),a==="0"){if(r+1===e)return!0;if(a=t[++r],a==="b"){for(r++;r<e;r++)if(a=t[r],a!=="_"){if(a!=="0"&&a!=="1")return!1;o=!0}return o&&a!=="_"}if(a==="x"){for(r++;r<e;r++)if(a=t[r],a!=="_"){if(!S_e(t.charCodeAt(r)))return!1;o=!0}return o&&a!=="_"}for(;r<e;r++)if(a=t[r],a!=="_"){if(!b_e(t.charCodeAt(r)))return!1;o=!0}return o&&a!=="_"}if(a==="_")return!1;for(;r<e;r++)if(a=t[r],a!=="_"){if(a===":")break;if(!x_e(t.charCodeAt(r)))return!1;o=!0}return!o||a==="_"?!1:a!==":"?!0:/^(:[0-5]?[0-9])+$/.test(t.slice(r))}function Q_e(t){var e=t,r=1,o,a,n=[];return e.indexOf("_")!==-1&&(e=e.replace(/_/g,"")),o=e[0],(o==="-"||o==="+")&&(o==="-"&&(r=-1),e=e.slice(1),o=e[0]),e==="0"?0:o==="0"?e[1]==="b"?r*parseInt(e.slice(2),2):e[1]==="x"?r*parseInt(e,16):r*parseInt(e,8):e.indexOf(":")!==-1?(e.split(":").forEach(function(u){n.unshift(parseInt(u,10))}),e=0,a=1,n.forEach(function(u){e+=u*a,a*=60}),r*e):r*parseInt(e,10)}function F_e(t){return Object.prototype.toString.call(t)==="[object Number]"&&t%1===0&&!D_e.isNegativeZero(t)}AK.exports=new P_e("tag:yaml.org,2002:int",{kind:"scalar",resolve:k_e,construct:Q_e,predicate:F_e,represent:{binary:function(t){return t>=0?"0b"+t.toString(2):"-0b"+t.toString(2).slice(1)},octal:function(t){return t>=0?"0"+t.toString(8):"-0"+t.toString(8).slice(1)},decimal:function(t){return t.toString(10)},hexadecimal:function(t){return t>=0?"0x"+t.toString(16).toUpperCase():"-0x"+t.toString(16).toUpperCase().slice(1)}},defaultStyle:"decimal",styleAliases:{binary:[2,"bin"],octal:[8,"oct"],decimal:[10,"dec"],hexadecimal:[16,"hex"]}})});var gK=_((kbt,hK)=>{"use strict";var pK=Z0(),R_e=as(),T_e=new RegExp("^(?:[-+]?(?:0|[1-9][0-9_]*)(?:\\.[0-9_]*)?(?:[eE][-+]?[0-9]+)?|\\.[0-9_]+(?:[eE][-+]?[0-9]+)?|[-+]?[0-9][0-9_]*(?::[0-5]?[0-9])+\\.[0-9_]*|[-+]?\\.(?:inf|Inf|INF)|\\.(?:nan|NaN|NAN))$");function N_e(t){return!(t===null||!T_e.test(t)||t[t.length-1]==="_")}function L_e(t){var e,r,o,a;return e=t.replace(/_/g,"").toLowerCase(),r=e[0]==="-"?-1:1,a=[],"+-".indexOf(e[0])>=0&&(e=e.slice(1)),e===".inf"?r===1?Number.POSITIVE_INFINITY:Number.NEGATIVE_INFINITY:e===".nan"?NaN:e.indexOf(":")>=0?(e.split(":").forEach(function(n){a.unshift(parseFloat(n,10))}),e=0,o=1,a.forEach(function(n){e+=n*o,o*=60}),r*e):r*parseFloat(e,10)}var O_e=/^[-+]?[0-9]+e/;function M_e(t,e){var r;if(isNaN(t))switch(e){case"lowercase":return".nan";case"uppercase":return".NAN";case"camelcase":return".NaN"}else if(Number.POSITIVE_INFINITY===t)switch(e){case"lowercase":return".inf";case"uppercase":return".INF";case"camelcase":return".Inf"}else if(Number.NEGATIVE_INFINITY===t)switch(e){case"lowercase":return"-.inf";case"uppercase":return"-.INF";case"camelcase":return"-.Inf"}else if(pK.isNegativeZero(t))return"-0.0";return r=t.toString(10),O_e.test(r)?r.replace("e",".e"):r}function U_e(t){return Object.prototype.toString.call(t)==="[object Number]"&&(t%1!==0||pK.isNegativeZero(t))}hK.exports=new R_e("tag:yaml.org,2002:float",{kind:"scalar",resolve:N_e,construct:L_e,predicate:U_e,represent:M_e,defaultStyle:"lowercase"})});var YT=_((Qbt,dK)=>{"use strict";var __e=$0();dK.exports=new __e({include:[dP()],implicit:[lK(),uK(),fK(),gK()]})});var KT=_((Fbt,mK)=>{"use strict";var H_e=$0();mK.exports=new H_e({include:[YT()]})});var IK=_((Rbt,CK)=>{"use strict";var q_e=as(),yK=new RegExp("^([0-9][0-9][0-9][0-9])-([0-9][0-9])-([0-9][0-9])$"),EK=new RegExp("^([0-9][0-9][0-9][0-9])-([0-9][0-9]?)-([0-9][0-9]?)(?:[Tt]|[ \\t]+)([0-9][0-9]?):([0-9][0-9]):([0-9][0-9])(?:\\.([0-9]*))?(?:[ \\t]*(Z|([-+])([0-9][0-9]?)(?::([0-9][0-9]))?))?$");function j_e(t){return t===null?!1:yK.exec(t)!==null||EK.exec(t)!==null}function G_e(t){var e,r,o,a,n,u,A,p=0,h=null,E,w,D;if(e=yK.exec(t),e===null&&(e=EK.exec(t)),e===null)throw new Error("Date resolve error");if(r=+e[1],o=+e[2]-1,a=+e[3],!e[4])return new Date(Date.UTC(r,o,a));if(n=+e[4],u=+e[5],A=+e[6],e[7]){for(p=e[7].slice(0,3);p.length<3;)p+="0";p=+p}return e[9]&&(E=+e[10],w=+(e[11]||0),h=(E*60+w)*6e4,e[9]==="-"&&(h=-h)),D=new Date(Date.UTC(r,o,a,n,u,A,p)),h&&D.setTime(D.getTime()-h),D}function W_e(t){return t.toISOString()}CK.exports=new q_e("tag:yaml.org,2002:timestamp",{kind:"scalar",resolve:j_e,construct:G_e,instanceOf:Date,represent:W_e})});var BK=_((Tbt,wK)=>{"use strict";var Y_e=as();function K_e(t){return t==="<<"||t===null}wK.exports=new Y_e("tag:yaml.org,2002:merge",{kind:"scalar",resolve:K_e})});var PK=_((Nbt,DK)=>{"use strict";var eg;try{vK=ve,eg=vK("buffer").Buffer}catch{}var vK,V_e=as(),VT=`ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/= +\r`;function J_e(t){if(t===null)return!1;var e,r,o=0,a=t.length,n=VT;for(r=0;r<a;r++)if(e=n.indexOf(t.charAt(r)),!(e>64)){if(e<0)return!1;o+=6}return o%8===0}function z_e(t){var e,r,o=t.replace(/[\r\n=]/g,""),a=o.length,n=VT,u=0,A=[];for(e=0;e<a;e++)e%4===0&&e&&(A.push(u>>16&255),A.push(u>>8&255),A.push(u&255)),u=u<<6|n.indexOf(o.charAt(e));return r=a%4*6,r===0?(A.push(u>>16&255),A.push(u>>8&255),A.push(u&255)):r===18?(A.push(u>>10&255),A.push(u>>2&255)):r===12&&A.push(u>>4&255),eg?eg.from?eg.from(A):new eg(A):A}function X_e(t){var e="",r=0,o,a,n=t.length,u=VT;for(o=0;o<n;o++)o%3===0&&o&&(e+=u[r>>18&63],e+=u[r>>12&63],e+=u[r>>6&63],e+=u[r&63]),r=(r<<8)+t[o];return a=n%3,a===0?(e+=u[r>>18&63],e+=u[r>>12&63],e+=u[r>>6&63],e+=u[r&63]):a===2?(e+=u[r>>10&63],e+=u[r>>4&63],e+=u[r<<2&63],e+=u[64]):a===1&&(e+=u[r>>2&63],e+=u[r<<4&63],e+=u[64],e+=u[64]),e}function Z_e(t){return eg&&eg.isBuffer(t)}DK.exports=new V_e("tag:yaml.org,2002:binary",{kind:"scalar",resolve:J_e,construct:z_e,predicate:Z_e,represent:X_e})});var bK=_((Obt,SK)=>{"use strict";var $_e=as(),eHe=Object.prototype.hasOwnProperty,tHe=Object.prototype.toString;function rHe(t){if(t===null)return!0;var e=[],r,o,a,n,u,A=t;for(r=0,o=A.length;r<o;r+=1){if(a=A[r],u=!1,tHe.call(a)!=="[object Object]")return!1;for(n in a)if(eHe.call(a,n))if(!u)u=!0;else return!1;if(!u)return!1;if(e.indexOf(n)===-1)e.push(n);else return!1}return!0}function nHe(t){return t!==null?t:[]}SK.exports=new $_e("tag:yaml.org,2002:omap",{kind:"sequence",resolve:rHe,construct:nHe})});var kK=_((Mbt,xK)=>{"use strict";var iHe=as(),sHe=Object.prototype.toString;function oHe(t){if(t===null)return!0;var e,r,o,a,n,u=t;for(n=new Array(u.length),e=0,r=u.length;e<r;e+=1){if(o=u[e],sHe.call(o)!=="[object Object]"||(a=Object.keys(o),a.length!==1))return!1;n[e]=[a[0],o[a[0]]]}return!0}function aHe(t){if(t===null)return[];var e,r,o,a,n,u=t;for(n=new Array(u.length),e=0,r=u.length;e<r;e+=1)o=u[e],a=Object.keys(o),n[e]=[a[0],o[a[0]]];return n}xK.exports=new iHe("tag:yaml.org,2002:pairs",{kind:"sequence",resolve:oHe,construct:aHe})});var FK=_((Ubt,QK)=>{"use strict";var lHe=as(),cHe=Object.prototype.hasOwnProperty;function uHe(t){if(t===null)return!0;var e,r=t;for(e in r)if(cHe.call(r,e)&&r[e]!==null)return!1;return!0}function AHe(t){return t!==null?t:{}}QK.exports=new lHe("tag:yaml.org,2002:set",{kind:"mapping",resolve:uHe,construct:AHe})});var Cm=_((_bt,RK)=>{"use strict";var fHe=$0();RK.exports=new fHe({include:[KT()],implicit:[IK(),BK()],explicit:[PK(),bK(),kK(),FK()]})});var NK=_((Hbt,TK)=>{"use strict";var pHe=as();function hHe(){return!0}function gHe(){}function dHe(){return""}function mHe(t){return typeof t>"u"}TK.exports=new pHe("tag:yaml.org,2002:js/undefined",{kind:"scalar",resolve:hHe,construct:gHe,predicate:mHe,represent:dHe})});var OK=_((qbt,LK)=>{"use strict";var yHe=as();function EHe(t){if(t===null||t.length===0)return!1;var e=t,r=/\/([gim]*)$/.exec(t),o="";return!(e[0]==="/"&&(r&&(o=r[1]),o.length>3||e[e.length-o.length-1]!=="/"))}function CHe(t){var e=t,r=/\/([gim]*)$/.exec(t),o="";return e[0]==="/"&&(r&&(o=r[1]),e=e.slice(1,e.length-o.length-1)),new RegExp(e,o)}function IHe(t){var e="/"+t.source+"/";return t.global&&(e+="g"),t.multiline&&(e+="m"),t.ignoreCase&&(e+="i"),e}function wHe(t){return Object.prototype.toString.call(t)==="[object RegExp]"}LK.exports=new yHe("tag:yaml.org,2002:js/regexp",{kind:"scalar",resolve:EHe,construct:CHe,predicate:wHe,represent:IHe})});var _K=_((jbt,UK)=>{"use strict";var mP;try{MK=ve,mP=MK("esprima")}catch{typeof window<"u"&&(mP=window.esprima)}var MK,BHe=as();function vHe(t){if(t===null)return!1;try{var e="("+t+")",r=mP.parse(e,{range:!0});return!(r.type!=="Program"||r.body.length!==1||r.body[0].type!=="ExpressionStatement"||r.body[0].expression.type!=="ArrowFunctionExpression"&&r.body[0].expression.type!=="FunctionExpression")}catch{return!1}}function DHe(t){var e="("+t+")",r=mP.parse(e,{range:!0}),o=[],a;if(r.type!=="Program"||r.body.length!==1||r.body[0].type!=="ExpressionStatement"||r.body[0].expression.type!=="ArrowFunctionExpression"&&r.body[0].expression.type!=="FunctionExpression")throw new Error("Failed to resolve function");return r.body[0].expression.params.forEach(function(n){o.push(n.name)}),a=r.body[0].expression.body.range,r.body[0].expression.body.type==="BlockStatement"?new Function(o,e.slice(a[0]+1,a[1]-1)):new Function(o,"return "+e.slice(a[0],a[1]))}function PHe(t){return t.toString()}function SHe(t){return Object.prototype.toString.call(t)==="[object Function]"}UK.exports=new BHe("tag:yaml.org,2002:js/function",{kind:"scalar",resolve:vHe,construct:DHe,predicate:SHe,represent:PHe})});var hw=_((Wbt,qK)=>{"use strict";var HK=$0();qK.exports=HK.DEFAULT=new HK({include:[Cm()],explicit:[NK(),OK(),_K()]})});var aV=_((Ybt,gw)=>{"use strict";var mf=Z0(),JK=ym(),bHe=JY(),zK=Cm(),xHe=hw(),Vp=Object.prototype.hasOwnProperty,yP=1,XK=2,ZK=3,EP=4,JT=1,kHe=2,jK=3,QHe=/[\x00-\x08\x0B\x0C\x0E-\x1F\x7F-\x84\x86-\x9F\uFFFE\uFFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF]/,FHe=/[\x85\u2028\u2029]/,RHe=/[,\[\]\{\}]/,$K=/^(?:!|!!|![a-z\-]+!)$/i,eV=/^(?:!|[^,\[\]\{\}])(?:%[0-9a-f]{2}|[0-9a-z\-#;\/\?:@&=\+\$,_\.!~\*'\(\)\[\]])*$/i;function GK(t){return Object.prototype.toString.call(t)}function Wu(t){return t===10||t===13}function rg(t){return t===9||t===32}function Da(t){return t===9||t===32||t===10||t===13}function Im(t){return t===44||t===91||t===93||t===123||t===125}function THe(t){var e;return 48<=t&&t<=57?t-48:(e=t|32,97<=e&&e<=102?e-97+10:-1)}function NHe(t){return t===120?2:t===117?4:t===85?8:0}function LHe(t){return 48<=t&&t<=57?t-48:-1}function WK(t){return t===48?"\0":t===97?"\x07":t===98?"\b":t===116||t===9?" ":t===110?` +`:t===118?"\v":t===102?"\f":t===114?"\r":t===101?"\x1B":t===32?" ":t===34?'"':t===47?"/":t===92?"\\":t===78?"\x85":t===95?"\xA0":t===76?"\u2028":t===80?"\u2029":""}function OHe(t){return t<=65535?String.fromCharCode(t):String.fromCharCode((t-65536>>10)+55296,(t-65536&1023)+56320)}var tV=new Array(256),rV=new Array(256);for(tg=0;tg<256;tg++)tV[tg]=WK(tg)?1:0,rV[tg]=WK(tg);var tg;function MHe(t,e){this.input=t,this.filename=e.filename||null,this.schema=e.schema||xHe,this.onWarning=e.onWarning||null,this.legacy=e.legacy||!1,this.json=e.json||!1,this.listener=e.listener||null,this.implicitTypes=this.schema.compiledImplicit,this.typeMap=this.schema.compiledTypeMap,this.length=t.length,this.position=0,this.line=0,this.lineStart=0,this.lineIndent=0,this.documents=[]}function nV(t,e){return new JK(e,new bHe(t.filename,t.input,t.position,t.line,t.position-t.lineStart))}function Qr(t,e){throw nV(t,e)}function CP(t,e){t.onWarning&&t.onWarning.call(null,nV(t,e))}var YK={YAML:function(e,r,o){var a,n,u;e.version!==null&&Qr(e,"duplication of %YAML directive"),o.length!==1&&Qr(e,"YAML directive accepts exactly one argument"),a=/^([0-9]+)\.([0-9]+)$/.exec(o[0]),a===null&&Qr(e,"ill-formed argument of the YAML directive"),n=parseInt(a[1],10),u=parseInt(a[2],10),n!==1&&Qr(e,"unacceptable YAML version of the document"),e.version=o[0],e.checkLineBreaks=u<2,u!==1&&u!==2&&CP(e,"unsupported YAML version of the document")},TAG:function(e,r,o){var a,n;o.length!==2&&Qr(e,"TAG directive accepts exactly two arguments"),a=o[0],n=o[1],$K.test(a)||Qr(e,"ill-formed tag handle (first argument) of the TAG directive"),Vp.call(e.tagMap,a)&&Qr(e,'there is a previously declared suffix for "'+a+'" tag handle'),eV.test(n)||Qr(e,"ill-formed tag prefix (second argument) of the TAG directive"),e.tagMap[a]=n}};function Kp(t,e,r,o){var a,n,u,A;if(e<r){if(A=t.input.slice(e,r),o)for(a=0,n=A.length;a<n;a+=1)u=A.charCodeAt(a),u===9||32<=u&&u<=1114111||Qr(t,"expected valid JSON character");else QHe.test(A)&&Qr(t,"the stream contains non-printable characters");t.result+=A}}function KK(t,e,r,o){var a,n,u,A;for(mf.isObject(r)||Qr(t,"cannot merge mappings; the provided source object is unacceptable"),a=Object.keys(r),u=0,A=a.length;u<A;u+=1)n=a[u],Vp.call(e,n)||(e[n]=r[n],o[n]=!0)}function wm(t,e,r,o,a,n,u,A){var p,h;if(Array.isArray(a))for(a=Array.prototype.slice.call(a),p=0,h=a.length;p<h;p+=1)Array.isArray(a[p])&&Qr(t,"nested arrays are not supported inside keys"),typeof a=="object"&&GK(a[p])==="[object Object]"&&(a[p]="[object Object]");if(typeof a=="object"&&GK(a)==="[object Object]"&&(a="[object Object]"),a=String(a),e===null&&(e={}),o==="tag:yaml.org,2002:merge")if(Array.isArray(n))for(p=0,h=n.length;p<h;p+=1)KK(t,e,n[p],r);else KK(t,e,n,r);else!t.json&&!Vp.call(r,a)&&Vp.call(e,a)&&(t.line=u||t.line,t.position=A||t.position,Qr(t,"duplicated mapping key")),e[a]=n,delete r[a];return e}function zT(t){var e;e=t.input.charCodeAt(t.position),e===10?t.position++:e===13?(t.position++,t.input.charCodeAt(t.position)===10&&t.position++):Qr(t,"a line break is expected"),t.line+=1,t.lineStart=t.position}function Yi(t,e,r){for(var o=0,a=t.input.charCodeAt(t.position);a!==0;){for(;rg(a);)a=t.input.charCodeAt(++t.position);if(e&&a===35)do a=t.input.charCodeAt(++t.position);while(a!==10&&a!==13&&a!==0);if(Wu(a))for(zT(t),a=t.input.charCodeAt(t.position),o++,t.lineIndent=0;a===32;)t.lineIndent++,a=t.input.charCodeAt(++t.position);else break}return r!==-1&&o!==0&&t.lineIndent<r&&CP(t,"deficient indentation"),o}function IP(t){var e=t.position,r;return r=t.input.charCodeAt(e),!!((r===45||r===46)&&r===t.input.charCodeAt(e+1)&&r===t.input.charCodeAt(e+2)&&(e+=3,r=t.input.charCodeAt(e),r===0||Da(r)))}function XT(t,e){e===1?t.result+=" ":e>1&&(t.result+=mf.repeat(` +`,e-1))}function UHe(t,e,r){var o,a,n,u,A,p,h,E,w=t.kind,D=t.result,x;if(x=t.input.charCodeAt(t.position),Da(x)||Im(x)||x===35||x===38||x===42||x===33||x===124||x===62||x===39||x===34||x===37||x===64||x===96||(x===63||x===45)&&(a=t.input.charCodeAt(t.position+1),Da(a)||r&&Im(a)))return!1;for(t.kind="scalar",t.result="",n=u=t.position,A=!1;x!==0;){if(x===58){if(a=t.input.charCodeAt(t.position+1),Da(a)||r&&Im(a))break}else if(x===35){if(o=t.input.charCodeAt(t.position-1),Da(o))break}else{if(t.position===t.lineStart&&IP(t)||r&&Im(x))break;if(Wu(x))if(p=t.line,h=t.lineStart,E=t.lineIndent,Yi(t,!1,-1),t.lineIndent>=e){A=!0,x=t.input.charCodeAt(t.position);continue}else{t.position=u,t.line=p,t.lineStart=h,t.lineIndent=E;break}}A&&(Kp(t,n,u,!1),XT(t,t.line-p),n=u=t.position,A=!1),rg(x)||(u=t.position+1),x=t.input.charCodeAt(++t.position)}return Kp(t,n,u,!1),t.result?!0:(t.kind=w,t.result=D,!1)}function _He(t,e){var r,o,a;if(r=t.input.charCodeAt(t.position),r!==39)return!1;for(t.kind="scalar",t.result="",t.position++,o=a=t.position;(r=t.input.charCodeAt(t.position))!==0;)if(r===39)if(Kp(t,o,t.position,!0),r=t.input.charCodeAt(++t.position),r===39)o=t.position,t.position++,a=t.position;else return!0;else Wu(r)?(Kp(t,o,a,!0),XT(t,Yi(t,!1,e)),o=a=t.position):t.position===t.lineStart&&IP(t)?Qr(t,"unexpected end of the document within a single quoted scalar"):(t.position++,a=t.position);Qr(t,"unexpected end of the stream within a single quoted scalar")}function HHe(t,e){var r,o,a,n,u,A;if(A=t.input.charCodeAt(t.position),A!==34)return!1;for(t.kind="scalar",t.result="",t.position++,r=o=t.position;(A=t.input.charCodeAt(t.position))!==0;){if(A===34)return Kp(t,r,t.position,!0),t.position++,!0;if(A===92){if(Kp(t,r,t.position,!0),A=t.input.charCodeAt(++t.position),Wu(A))Yi(t,!1,e);else if(A<256&&tV[A])t.result+=rV[A],t.position++;else if((u=NHe(A))>0){for(a=u,n=0;a>0;a--)A=t.input.charCodeAt(++t.position),(u=THe(A))>=0?n=(n<<4)+u:Qr(t,"expected hexadecimal character");t.result+=OHe(n),t.position++}else Qr(t,"unknown escape sequence");r=o=t.position}else Wu(A)?(Kp(t,r,o,!0),XT(t,Yi(t,!1,e)),r=o=t.position):t.position===t.lineStart&&IP(t)?Qr(t,"unexpected end of the document within a double quoted scalar"):(t.position++,o=t.position)}Qr(t,"unexpected end of the stream within a double quoted scalar")}function qHe(t,e){var r=!0,o,a=t.tag,n,u=t.anchor,A,p,h,E,w,D={},x,C,T,L;if(L=t.input.charCodeAt(t.position),L===91)p=93,w=!1,n=[];else if(L===123)p=125,w=!0,n={};else return!1;for(t.anchor!==null&&(t.anchorMap[t.anchor]=n),L=t.input.charCodeAt(++t.position);L!==0;){if(Yi(t,!0,e),L=t.input.charCodeAt(t.position),L===p)return t.position++,t.tag=a,t.anchor=u,t.kind=w?"mapping":"sequence",t.result=n,!0;r||Qr(t,"missed comma between flow collection entries"),C=x=T=null,h=E=!1,L===63&&(A=t.input.charCodeAt(t.position+1),Da(A)&&(h=E=!0,t.position++,Yi(t,!0,e))),o=t.line,Bm(t,e,yP,!1,!0),C=t.tag,x=t.result,Yi(t,!0,e),L=t.input.charCodeAt(t.position),(E||t.line===o)&&L===58&&(h=!0,L=t.input.charCodeAt(++t.position),Yi(t,!0,e),Bm(t,e,yP,!1,!0),T=t.result),w?wm(t,n,D,C,x,T):h?n.push(wm(t,null,D,C,x,T)):n.push(x),Yi(t,!0,e),L=t.input.charCodeAt(t.position),L===44?(r=!0,L=t.input.charCodeAt(++t.position)):r=!1}Qr(t,"unexpected end of the stream within a flow collection")}function jHe(t,e){var r,o,a=JT,n=!1,u=!1,A=e,p=0,h=!1,E,w;if(w=t.input.charCodeAt(t.position),w===124)o=!1;else if(w===62)o=!0;else return!1;for(t.kind="scalar",t.result="";w!==0;)if(w=t.input.charCodeAt(++t.position),w===43||w===45)JT===a?a=w===43?jK:kHe:Qr(t,"repeat of a chomping mode identifier");else if((E=LHe(w))>=0)E===0?Qr(t,"bad explicit indentation width of a block scalar; it cannot be less than one"):u?Qr(t,"repeat of an indentation width identifier"):(A=e+E-1,u=!0);else break;if(rg(w)){do w=t.input.charCodeAt(++t.position);while(rg(w));if(w===35)do w=t.input.charCodeAt(++t.position);while(!Wu(w)&&w!==0)}for(;w!==0;){for(zT(t),t.lineIndent=0,w=t.input.charCodeAt(t.position);(!u||t.lineIndent<A)&&w===32;)t.lineIndent++,w=t.input.charCodeAt(++t.position);if(!u&&t.lineIndent>A&&(A=t.lineIndent),Wu(w)){p++;continue}if(t.lineIndent<A){a===jK?t.result+=mf.repeat(` +`,n?1+p:p):a===JT&&n&&(t.result+=` +`);break}for(o?rg(w)?(h=!0,t.result+=mf.repeat(` +`,n?1+p:p)):h?(h=!1,t.result+=mf.repeat(` +`,p+1)):p===0?n&&(t.result+=" "):t.result+=mf.repeat(` +`,p):t.result+=mf.repeat(` +`,n?1+p:p),n=!0,u=!0,p=0,r=t.position;!Wu(w)&&w!==0;)w=t.input.charCodeAt(++t.position);Kp(t,r,t.position,!1)}return!0}function VK(t,e){var r,o=t.tag,a=t.anchor,n=[],u,A=!1,p;for(t.anchor!==null&&(t.anchorMap[t.anchor]=n),p=t.input.charCodeAt(t.position);p!==0&&!(p!==45||(u=t.input.charCodeAt(t.position+1),!Da(u)));){if(A=!0,t.position++,Yi(t,!0,-1)&&t.lineIndent<=e){n.push(null),p=t.input.charCodeAt(t.position);continue}if(r=t.line,Bm(t,e,ZK,!1,!0),n.push(t.result),Yi(t,!0,-1),p=t.input.charCodeAt(t.position),(t.line===r||t.lineIndent>e)&&p!==0)Qr(t,"bad indentation of a sequence entry");else if(t.lineIndent<e)break}return A?(t.tag=o,t.anchor=a,t.kind="sequence",t.result=n,!0):!1}function GHe(t,e,r){var o,a,n,u,A=t.tag,p=t.anchor,h={},E={},w=null,D=null,x=null,C=!1,T=!1,L;for(t.anchor!==null&&(t.anchorMap[t.anchor]=h),L=t.input.charCodeAt(t.position);L!==0;){if(o=t.input.charCodeAt(t.position+1),n=t.line,u=t.position,(L===63||L===58)&&Da(o))L===63?(C&&(wm(t,h,E,w,D,null),w=D=x=null),T=!0,C=!0,a=!0):C?(C=!1,a=!0):Qr(t,"incomplete explicit mapping pair; a key node is missed; or followed by a non-tabulated empty line"),t.position+=1,L=o;else if(Bm(t,r,XK,!1,!0))if(t.line===n){for(L=t.input.charCodeAt(t.position);rg(L);)L=t.input.charCodeAt(++t.position);if(L===58)L=t.input.charCodeAt(++t.position),Da(L)||Qr(t,"a whitespace character is expected after the key-value separator within a block mapping"),C&&(wm(t,h,E,w,D,null),w=D=x=null),T=!0,C=!1,a=!1,w=t.tag,D=t.result;else if(T)Qr(t,"can not read an implicit mapping pair; a colon is missed");else return t.tag=A,t.anchor=p,!0}else if(T)Qr(t,"can not read a block mapping entry; a multiline key may not be an implicit key");else return t.tag=A,t.anchor=p,!0;else break;if((t.line===n||t.lineIndent>e)&&(Bm(t,e,EP,!0,a)&&(C?D=t.result:x=t.result),C||(wm(t,h,E,w,D,x,n,u),w=D=x=null),Yi(t,!0,-1),L=t.input.charCodeAt(t.position)),t.lineIndent>e&&L!==0)Qr(t,"bad indentation of a mapping entry");else if(t.lineIndent<e)break}return C&&wm(t,h,E,w,D,null),T&&(t.tag=A,t.anchor=p,t.kind="mapping",t.result=h),T}function WHe(t){var e,r=!1,o=!1,a,n,u;if(u=t.input.charCodeAt(t.position),u!==33)return!1;if(t.tag!==null&&Qr(t,"duplication of a tag property"),u=t.input.charCodeAt(++t.position),u===60?(r=!0,u=t.input.charCodeAt(++t.position)):u===33?(o=!0,a="!!",u=t.input.charCodeAt(++t.position)):a="!",e=t.position,r){do u=t.input.charCodeAt(++t.position);while(u!==0&&u!==62);t.position<t.length?(n=t.input.slice(e,t.position),u=t.input.charCodeAt(++t.position)):Qr(t,"unexpected end of the stream within a verbatim tag")}else{for(;u!==0&&!Da(u);)u===33&&(o?Qr(t,"tag suffix cannot contain exclamation marks"):(a=t.input.slice(e-1,t.position+1),$K.test(a)||Qr(t,"named tag handle cannot contain such characters"),o=!0,e=t.position+1)),u=t.input.charCodeAt(++t.position);n=t.input.slice(e,t.position),RHe.test(n)&&Qr(t,"tag suffix cannot contain flow indicator characters")}return n&&!eV.test(n)&&Qr(t,"tag name cannot contain such characters: "+n),r?t.tag=n:Vp.call(t.tagMap,a)?t.tag=t.tagMap[a]+n:a==="!"?t.tag="!"+n:a==="!!"?t.tag="tag:yaml.org,2002:"+n:Qr(t,'undeclared tag handle "'+a+'"'),!0}function YHe(t){var e,r;if(r=t.input.charCodeAt(t.position),r!==38)return!1;for(t.anchor!==null&&Qr(t,"duplication of an anchor property"),r=t.input.charCodeAt(++t.position),e=t.position;r!==0&&!Da(r)&&!Im(r);)r=t.input.charCodeAt(++t.position);return t.position===e&&Qr(t,"name of an anchor node must contain at least one character"),t.anchor=t.input.slice(e,t.position),!0}function KHe(t){var e,r,o;if(o=t.input.charCodeAt(t.position),o!==42)return!1;for(o=t.input.charCodeAt(++t.position),e=t.position;o!==0&&!Da(o)&&!Im(o);)o=t.input.charCodeAt(++t.position);return t.position===e&&Qr(t,"name of an alias node must contain at least one character"),r=t.input.slice(e,t.position),Vp.call(t.anchorMap,r)||Qr(t,'unidentified alias "'+r+'"'),t.result=t.anchorMap[r],Yi(t,!0,-1),!0}function Bm(t,e,r,o,a){var n,u,A,p=1,h=!1,E=!1,w,D,x,C,T;if(t.listener!==null&&t.listener("open",t),t.tag=null,t.anchor=null,t.kind=null,t.result=null,n=u=A=EP===r||ZK===r,o&&Yi(t,!0,-1)&&(h=!0,t.lineIndent>e?p=1:t.lineIndent===e?p=0:t.lineIndent<e&&(p=-1)),p===1)for(;WHe(t)||YHe(t);)Yi(t,!0,-1)?(h=!0,A=n,t.lineIndent>e?p=1:t.lineIndent===e?p=0:t.lineIndent<e&&(p=-1)):A=!1;if(A&&(A=h||a),(p===1||EP===r)&&(yP===r||XK===r?C=e:C=e+1,T=t.position-t.lineStart,p===1?A&&(VK(t,T)||GHe(t,T,C))||qHe(t,C)?E=!0:(u&&jHe(t,C)||_He(t,C)||HHe(t,C)?E=!0:KHe(t)?(E=!0,(t.tag!==null||t.anchor!==null)&&Qr(t,"alias node should not have any properties")):UHe(t,C,yP===r)&&(E=!0,t.tag===null&&(t.tag="?")),t.anchor!==null&&(t.anchorMap[t.anchor]=t.result)):p===0&&(E=A&&VK(t,T))),t.tag!==null&&t.tag!=="!")if(t.tag==="?"){for(t.result!==null&&t.kind!=="scalar"&&Qr(t,'unacceptable node kind for !<?> tag; it should be "scalar", not "'+t.kind+'"'),w=0,D=t.implicitTypes.length;w<D;w+=1)if(x=t.implicitTypes[w],x.resolve(t.result)){t.result=x.construct(t.result),t.tag=x.tag,t.anchor!==null&&(t.anchorMap[t.anchor]=t.result);break}}else Vp.call(t.typeMap[t.kind||"fallback"],t.tag)?(x=t.typeMap[t.kind||"fallback"][t.tag],t.result!==null&&x.kind!==t.kind&&Qr(t,"unacceptable node kind for !<"+t.tag+'> tag; it should be "'+x.kind+'", not "'+t.kind+'"'),x.resolve(t.result)?(t.result=x.construct(t.result),t.anchor!==null&&(t.anchorMap[t.anchor]=t.result)):Qr(t,"cannot resolve a node with !<"+t.tag+"> explicit tag")):Qr(t,"unknown tag !<"+t.tag+">");return t.listener!==null&&t.listener("close",t),t.tag!==null||t.anchor!==null||E}function VHe(t){var e=t.position,r,o,a,n=!1,u;for(t.version=null,t.checkLineBreaks=t.legacy,t.tagMap={},t.anchorMap={};(u=t.input.charCodeAt(t.position))!==0&&(Yi(t,!0,-1),u=t.input.charCodeAt(t.position),!(t.lineIndent>0||u!==37));){for(n=!0,u=t.input.charCodeAt(++t.position),r=t.position;u!==0&&!Da(u);)u=t.input.charCodeAt(++t.position);for(o=t.input.slice(r,t.position),a=[],o.length<1&&Qr(t,"directive name must not be less than one character in length");u!==0;){for(;rg(u);)u=t.input.charCodeAt(++t.position);if(u===35){do u=t.input.charCodeAt(++t.position);while(u!==0&&!Wu(u));break}if(Wu(u))break;for(r=t.position;u!==0&&!Da(u);)u=t.input.charCodeAt(++t.position);a.push(t.input.slice(r,t.position))}u!==0&&zT(t),Vp.call(YK,o)?YK[o](t,o,a):CP(t,'unknown document directive "'+o+'"')}if(Yi(t,!0,-1),t.lineIndent===0&&t.input.charCodeAt(t.position)===45&&t.input.charCodeAt(t.position+1)===45&&t.input.charCodeAt(t.position+2)===45?(t.position+=3,Yi(t,!0,-1)):n&&Qr(t,"directives end mark is expected"),Bm(t,t.lineIndent-1,EP,!1,!0),Yi(t,!0,-1),t.checkLineBreaks&&FHe.test(t.input.slice(e,t.position))&&CP(t,"non-ASCII line breaks are interpreted as content"),t.documents.push(t.result),t.position===t.lineStart&&IP(t)){t.input.charCodeAt(t.position)===46&&(t.position+=3,Yi(t,!0,-1));return}if(t.position<t.length-1)Qr(t,"end of the stream or a document separator is expected");else return}function iV(t,e){t=String(t),e=e||{},t.length!==0&&(t.charCodeAt(t.length-1)!==10&&t.charCodeAt(t.length-1)!==13&&(t+=` +`),t.charCodeAt(0)===65279&&(t=t.slice(1)));var r=new MHe(t,e),o=t.indexOf("\0");for(o!==-1&&(r.position=o,Qr(r,"null byte is not allowed in input")),r.input+="\0";r.input.charCodeAt(r.position)===32;)r.lineIndent+=1,r.position+=1;for(;r.position<r.length-1;)VHe(r);return r.documents}function sV(t,e,r){e!==null&&typeof e=="object"&&typeof r>"u"&&(r=e,e=null);var o=iV(t,r);if(typeof e!="function")return o;for(var a=0,n=o.length;a<n;a+=1)e(o[a])}function oV(t,e){var r=iV(t,e);if(r.length!==0){if(r.length===1)return r[0];throw new JK("expected a single document in the stream, but found more")}}function JHe(t,e,r){return typeof e=="object"&&e!==null&&typeof r>"u"&&(r=e,e=null),sV(t,e,mf.extend({schema:zK},r))}function zHe(t,e){return oV(t,mf.extend({schema:zK},e))}gw.exports.loadAll=sV;gw.exports.load=oV;gw.exports.safeLoadAll=JHe;gw.exports.safeLoad=zHe});var kV=_((Kbt,tN)=>{"use strict";var mw=Z0(),yw=ym(),XHe=hw(),ZHe=Cm(),gV=Object.prototype.toString,dV=Object.prototype.hasOwnProperty,$He=9,dw=10,e6e=13,t6e=32,r6e=33,n6e=34,mV=35,i6e=37,s6e=38,o6e=39,a6e=42,yV=44,l6e=45,EV=58,c6e=61,u6e=62,A6e=63,f6e=64,CV=91,IV=93,p6e=96,wV=123,h6e=124,BV=125,mo={};mo[0]="\\0";mo[7]="\\a";mo[8]="\\b";mo[9]="\\t";mo[10]="\\n";mo[11]="\\v";mo[12]="\\f";mo[13]="\\r";mo[27]="\\e";mo[34]='\\"';mo[92]="\\\\";mo[133]="\\N";mo[160]="\\_";mo[8232]="\\L";mo[8233]="\\P";var g6e=["y","Y","yes","Yes","YES","on","On","ON","n","N","no","No","NO","off","Off","OFF"];function d6e(t,e){var r,o,a,n,u,A,p;if(e===null)return{};for(r={},o=Object.keys(e),a=0,n=o.length;a<n;a+=1)u=o[a],A=String(e[u]),u.slice(0,2)==="!!"&&(u="tag:yaml.org,2002:"+u.slice(2)),p=t.compiledTypeMap.fallback[u],p&&dV.call(p.styleAliases,A)&&(A=p.styleAliases[A]),r[u]=A;return r}function lV(t){var e,r,o;if(e=t.toString(16).toUpperCase(),t<=255)r="x",o=2;else if(t<=65535)r="u",o=4;else if(t<=4294967295)r="U",o=8;else throw new yw("code point within a string may not be greater than 0xFFFFFFFF");return"\\"+r+mw.repeat("0",o-e.length)+e}function m6e(t){this.schema=t.schema||XHe,this.indent=Math.max(1,t.indent||2),this.noArrayIndent=t.noArrayIndent||!1,this.skipInvalid=t.skipInvalid||!1,this.flowLevel=mw.isNothing(t.flowLevel)?-1:t.flowLevel,this.styleMap=d6e(this.schema,t.styles||null),this.sortKeys=t.sortKeys||!1,this.lineWidth=t.lineWidth||80,this.noRefs=t.noRefs||!1,this.noCompatMode=t.noCompatMode||!1,this.condenseFlow=t.condenseFlow||!1,this.implicitTypes=this.schema.compiledImplicit,this.explicitTypes=this.schema.compiledExplicit,this.tag=null,this.result="",this.duplicates=[],this.usedDuplicates=null}function cV(t,e){for(var r=mw.repeat(" ",e),o=0,a=-1,n="",u,A=t.length;o<A;)a=t.indexOf(` +`,o),a===-1?(u=t.slice(o),o=A):(u=t.slice(o,a+1),o=a+1),u.length&&u!==` +`&&(n+=r),n+=u;return n}function ZT(t,e){return` +`+mw.repeat(" ",t.indent*e)}function y6e(t,e){var r,o,a;for(r=0,o=t.implicitTypes.length;r<o;r+=1)if(a=t.implicitTypes[r],a.resolve(e))return!0;return!1}function eN(t){return t===t6e||t===$He}function vm(t){return 32<=t&&t<=126||161<=t&&t<=55295&&t!==8232&&t!==8233||57344<=t&&t<=65533&&t!==65279||65536<=t&&t<=1114111}function E6e(t){return vm(t)&&!eN(t)&&t!==65279&&t!==e6e&&t!==dw}function uV(t,e){return vm(t)&&t!==65279&&t!==yV&&t!==CV&&t!==IV&&t!==wV&&t!==BV&&t!==EV&&(t!==mV||e&&E6e(e))}function C6e(t){return vm(t)&&t!==65279&&!eN(t)&&t!==l6e&&t!==A6e&&t!==EV&&t!==yV&&t!==CV&&t!==IV&&t!==wV&&t!==BV&&t!==mV&&t!==s6e&&t!==a6e&&t!==r6e&&t!==h6e&&t!==c6e&&t!==u6e&&t!==o6e&&t!==n6e&&t!==i6e&&t!==f6e&&t!==p6e}function vV(t){var e=/^\n* /;return e.test(t)}var DV=1,PV=2,SV=3,bV=4,wP=5;function I6e(t,e,r,o,a){var n,u,A,p=!1,h=!1,E=o!==-1,w=-1,D=C6e(t.charCodeAt(0))&&!eN(t.charCodeAt(t.length-1));if(e)for(n=0;n<t.length;n++){if(u=t.charCodeAt(n),!vm(u))return wP;A=n>0?t.charCodeAt(n-1):null,D=D&&uV(u,A)}else{for(n=0;n<t.length;n++){if(u=t.charCodeAt(n),u===dw)p=!0,E&&(h=h||n-w-1>o&&t[w+1]!==" ",w=n);else if(!vm(u))return wP;A=n>0?t.charCodeAt(n-1):null,D=D&&uV(u,A)}h=h||E&&n-w-1>o&&t[w+1]!==" "}return!p&&!h?D&&!a(t)?DV:PV:r>9&&vV(t)?wP:h?bV:SV}function w6e(t,e,r,o){t.dump=function(){if(e.length===0)return"''";if(!t.noCompatMode&&g6e.indexOf(e)!==-1)return"'"+e+"'";var a=t.indent*Math.max(1,r),n=t.lineWidth===-1?-1:Math.max(Math.min(t.lineWidth,40),t.lineWidth-a),u=o||t.flowLevel>-1&&r>=t.flowLevel;function A(p){return y6e(t,p)}switch(I6e(e,u,t.indent,n,A)){case DV:return e;case PV:return"'"+e.replace(/'/g,"''")+"'";case SV:return"|"+AV(e,t.indent)+fV(cV(e,a));case bV:return">"+AV(e,t.indent)+fV(cV(B6e(e,n),a));case wP:return'"'+v6e(e,n)+'"';default:throw new yw("impossible error: invalid scalar style")}}()}function AV(t,e){var r=vV(t)?String(e):"",o=t[t.length-1]===` +`,a=o&&(t[t.length-2]===` +`||t===` +`),n=a?"+":o?"":"-";return r+n+` +`}function fV(t){return t[t.length-1]===` +`?t.slice(0,-1):t}function B6e(t,e){for(var r=/(\n+)([^\n]*)/g,o=function(){var h=t.indexOf(` +`);return h=h!==-1?h:t.length,r.lastIndex=h,pV(t.slice(0,h),e)}(),a=t[0]===` +`||t[0]===" ",n,u;u=r.exec(t);){var A=u[1],p=u[2];n=p[0]===" ",o+=A+(!a&&!n&&p!==""?` +`:"")+pV(p,e),a=n}return o}function pV(t,e){if(t===""||t[0]===" ")return t;for(var r=/ [^ ]/g,o,a=0,n,u=0,A=0,p="";o=r.exec(t);)A=o.index,A-a>e&&(n=u>a?u:A,p+=` +`+t.slice(a,n),a=n+1),u=A;return p+=` +`,t.length-a>e&&u>a?p+=t.slice(a,u)+` +`+t.slice(u+1):p+=t.slice(a),p.slice(1)}function v6e(t){for(var e="",r,o,a,n=0;n<t.length;n++){if(r=t.charCodeAt(n),r>=55296&&r<=56319&&(o=t.charCodeAt(n+1),o>=56320&&o<=57343)){e+=lV((r-55296)*1024+o-56320+65536),n++;continue}a=mo[r],e+=!a&&vm(r)?t[n]:a||lV(r)}return e}function D6e(t,e,r){var o="",a=t.tag,n,u;for(n=0,u=r.length;n<u;n+=1)ng(t,e,r[n],!1,!1)&&(n!==0&&(o+=","+(t.condenseFlow?"":" ")),o+=t.dump);t.tag=a,t.dump="["+o+"]"}function P6e(t,e,r,o){var a="",n=t.tag,u,A;for(u=0,A=r.length;u<A;u+=1)ng(t,e+1,r[u],!0,!0)&&((!o||u!==0)&&(a+=ZT(t,e)),t.dump&&dw===t.dump.charCodeAt(0)?a+="-":a+="- ",a+=t.dump);t.tag=n,t.dump=a||"[]"}function S6e(t,e,r){var o="",a=t.tag,n=Object.keys(r),u,A,p,h,E;for(u=0,A=n.length;u<A;u+=1)E="",u!==0&&(E+=", "),t.condenseFlow&&(E+='"'),p=n[u],h=r[p],ng(t,e,p,!1,!1)&&(t.dump.length>1024&&(E+="? "),E+=t.dump+(t.condenseFlow?'"':"")+":"+(t.condenseFlow?"":" "),ng(t,e,h,!1,!1)&&(E+=t.dump,o+=E));t.tag=a,t.dump="{"+o+"}"}function b6e(t,e,r,o){var a="",n=t.tag,u=Object.keys(r),A,p,h,E,w,D;if(t.sortKeys===!0)u.sort();else if(typeof t.sortKeys=="function")u.sort(t.sortKeys);else if(t.sortKeys)throw new yw("sortKeys must be a boolean or a function");for(A=0,p=u.length;A<p;A+=1)D="",(!o||A!==0)&&(D+=ZT(t,e)),h=u[A],E=r[h],ng(t,e+1,h,!0,!0,!0)&&(w=t.tag!==null&&t.tag!=="?"||t.dump&&t.dump.length>1024,w&&(t.dump&&dw===t.dump.charCodeAt(0)?D+="?":D+="? "),D+=t.dump,w&&(D+=ZT(t,e)),ng(t,e+1,E,!0,w)&&(t.dump&&dw===t.dump.charCodeAt(0)?D+=":":D+=": ",D+=t.dump,a+=D));t.tag=n,t.dump=a||"{}"}function hV(t,e,r){var o,a,n,u,A,p;for(a=r?t.explicitTypes:t.implicitTypes,n=0,u=a.length;n<u;n+=1)if(A=a[n],(A.instanceOf||A.predicate)&&(!A.instanceOf||typeof e=="object"&&e instanceof A.instanceOf)&&(!A.predicate||A.predicate(e))){if(t.tag=r?A.tag:"?",A.represent){if(p=t.styleMap[A.tag]||A.defaultStyle,gV.call(A.represent)==="[object Function]")o=A.represent(e,p);else if(dV.call(A.represent,p))o=A.represent[p](e,p);else throw new yw("!<"+A.tag+'> tag resolver accepts not "'+p+'" style');t.dump=o}return!0}return!1}function ng(t,e,r,o,a,n){t.tag=null,t.dump=r,hV(t,r,!1)||hV(t,r,!0);var u=gV.call(t.dump);o&&(o=t.flowLevel<0||t.flowLevel>e);var A=u==="[object Object]"||u==="[object Array]",p,h;if(A&&(p=t.duplicates.indexOf(r),h=p!==-1),(t.tag!==null&&t.tag!=="?"||h||t.indent!==2&&e>0)&&(a=!1),h&&t.usedDuplicates[p])t.dump="*ref_"+p;else{if(A&&h&&!t.usedDuplicates[p]&&(t.usedDuplicates[p]=!0),u==="[object Object]")o&&Object.keys(t.dump).length!==0?(b6e(t,e,t.dump,a),h&&(t.dump="&ref_"+p+t.dump)):(S6e(t,e,t.dump),h&&(t.dump="&ref_"+p+" "+t.dump));else if(u==="[object Array]"){var E=t.noArrayIndent&&e>0?e-1:e;o&&t.dump.length!==0?(P6e(t,E,t.dump,a),h&&(t.dump="&ref_"+p+t.dump)):(D6e(t,E,t.dump),h&&(t.dump="&ref_"+p+" "+t.dump))}else if(u==="[object String]")t.tag!=="?"&&w6e(t,t.dump,e,n);else{if(t.skipInvalid)return!1;throw new yw("unacceptable kind of an object to dump "+u)}t.tag!==null&&t.tag!=="?"&&(t.dump="!<"+t.tag+"> "+t.dump)}return!0}function x6e(t,e){var r=[],o=[],a,n;for($T(t,r,o),a=0,n=o.length;a<n;a+=1)e.duplicates.push(r[o[a]]);e.usedDuplicates=new Array(n)}function $T(t,e,r){var o,a,n;if(t!==null&&typeof t=="object")if(a=e.indexOf(t),a!==-1)r.indexOf(a)===-1&&r.push(a);else if(e.push(t),Array.isArray(t))for(a=0,n=t.length;a<n;a+=1)$T(t[a],e,r);else for(o=Object.keys(t),a=0,n=o.length;a<n;a+=1)$T(t[o[a]],e,r)}function xV(t,e){e=e||{};var r=new m6e(e);return r.noRefs||x6e(t,r),ng(r,0,t,!0,!0)?r.dump+` +`:""}function k6e(t,e){return xV(t,mw.extend({schema:ZHe},e))}tN.exports.dump=xV;tN.exports.safeDump=k6e});var FV=_((Vbt,Fi)=>{"use strict";var BP=aV(),QV=kV();function vP(t){return function(){throw new Error("Function "+t+" is deprecated and cannot be used.")}}Fi.exports.Type=as();Fi.exports.Schema=$0();Fi.exports.FAILSAFE_SCHEMA=dP();Fi.exports.JSON_SCHEMA=YT();Fi.exports.CORE_SCHEMA=KT();Fi.exports.DEFAULT_SAFE_SCHEMA=Cm();Fi.exports.DEFAULT_FULL_SCHEMA=hw();Fi.exports.load=BP.load;Fi.exports.loadAll=BP.loadAll;Fi.exports.safeLoad=BP.safeLoad;Fi.exports.safeLoadAll=BP.safeLoadAll;Fi.exports.dump=QV.dump;Fi.exports.safeDump=QV.safeDump;Fi.exports.YAMLException=ym();Fi.exports.MINIMAL_SCHEMA=dP();Fi.exports.SAFE_SCHEMA=Cm();Fi.exports.DEFAULT_SCHEMA=hw();Fi.exports.scan=vP("scan");Fi.exports.parse=vP("parse");Fi.exports.compose=vP("compose");Fi.exports.addConstructor=vP("addConstructor")});var TV=_((Jbt,RV)=>{"use strict";var Q6e=FV();RV.exports=Q6e});var LV=_((zbt,NV)=>{"use strict";function F6e(t,e){function r(){this.constructor=t}r.prototype=e.prototype,t.prototype=new r}function ig(t,e,r,o){this.message=t,this.expected=e,this.found=r,this.location=o,this.name="SyntaxError",typeof Error.captureStackTrace=="function"&&Error.captureStackTrace(this,ig)}F6e(ig,Error);ig.buildMessage=function(t,e){var r={literal:function(h){return'"'+a(h.text)+'"'},class:function(h){var E="",w;for(w=0;w<h.parts.length;w++)E+=h.parts[w]instanceof Array?n(h.parts[w][0])+"-"+n(h.parts[w][1]):n(h.parts[w]);return"["+(h.inverted?"^":"")+E+"]"},any:function(h){return"any character"},end:function(h){return"end of input"},other:function(h){return h.description}};function o(h){return h.charCodeAt(0).toString(16).toUpperCase()}function a(h){return h.replace(/\\/g,"\\\\").replace(/"/g,'\\"').replace(/\0/g,"\\0").replace(/\t/g,"\\t").replace(/\n/g,"\\n").replace(/\r/g,"\\r").replace(/[\x00-\x0F]/g,function(E){return"\\x0"+o(E)}).replace(/[\x10-\x1F\x7F-\x9F]/g,function(E){return"\\x"+o(E)})}function n(h){return h.replace(/\\/g,"\\\\").replace(/\]/g,"\\]").replace(/\^/g,"\\^").replace(/-/g,"\\-").replace(/\0/g,"\\0").replace(/\t/g,"\\t").replace(/\n/g,"\\n").replace(/\r/g,"\\r").replace(/[\x00-\x0F]/g,function(E){return"\\x0"+o(E)}).replace(/[\x10-\x1F\x7F-\x9F]/g,function(E){return"\\x"+o(E)})}function u(h){return r[h.type](h)}function A(h){var E=new Array(h.length),w,D;for(w=0;w<h.length;w++)E[w]=u(h[w]);if(E.sort(),E.length>0){for(w=1,D=1;w<E.length;w++)E[w-1]!==E[w]&&(E[D]=E[w],D++);E.length=D}switch(E.length){case 1:return E[0];case 2:return E[0]+" or "+E[1];default:return E.slice(0,-1).join(", ")+", or "+E[E.length-1]}}function p(h){return h?'"'+a(h)+'"':"end of input"}return"Expected "+A(t)+" but "+p(e)+" found."};function R6e(t,e){e=e!==void 0?e:{};var r={},o={Start:Bl},a=Bl,n=function(ee){return[].concat(...ee)},u="-",A=un("-",!1),p=function(ee){return ee},h=function(ee){return Object.assign({},...ee)},E="#",w=un("#",!1),D=Ec(),x=function(){return{}},C=":",T=un(":",!1),L=function(ee,ye){return{[ee]:ye}},U=",",J=un(",",!1),te=function(ee,ye){return ye},le=function(ee,ye,Le){return Object.assign({},...[ee].concat(ye).map(gt=>({[gt]:Le})))},ce=function(ee){return ee},ue=function(ee){return ee},Ie=oa("correct indentation"),he=" ",De=un(" ",!1),Ee=function(ee){return ee.length===ar*vt},g=function(ee){return ee.length===(ar+1)*vt},me=function(){return ar++,!0},Ce=function(){return ar--,!0},fe=function(){return No()},ie=oa("pseudostring"),Z=/^[^\r\n\t ?:,\][{}#&*!|>'"%@`\-]/,Pe=qn(["\r",` +`," "," ","?",":",",","]","[","{","}","#","&","*","!","|",">","'",'"',"%","@","`","-"],!0,!1),Re=/^[^\r\n\t ,\][{}:#"']/,ht=qn(["\r",` +`," "," ",",","]","[","{","}",":","#",'"',"'"],!0,!1),q=function(){return No().replace(/^ *| *$/g,"")},nt="--",Ne=un("--",!1),Te=/^[a-zA-Z\/0-9]/,ke=qn([["a","z"],["A","Z"],"/",["0","9"]],!1,!1),Ve=/^[^\r\n\t :,]/,be=qn(["\r",` +`," "," ",":",","],!0,!1),tt="null",He=un("null",!1),b=function(){return null},I="true",S=un("true",!1),y=function(){return!0},R="false",z=un("false",!1),X=function(){return!1},$=oa("string"),se='"',xe=un('"',!1),Fe=function(){return""},lt=function(ee){return ee},Et=function(ee){return ee.join("")},qt=/^[^"\\\0-\x1F\x7F]/,nr=qn(['"',"\\",["\0",""],"\x7F"],!0,!1),St='\\"',cn=un('\\"',!1),Pr=function(){return'"'},yr="\\\\",Rr=un("\\\\",!1),Xr=function(){return"\\"},$n="\\/",Xs=un("\\/",!1),Hi=function(){return"/"},Qs="\\b",Zs=un("\\b",!1),xi=function(){return"\b"},Fs="\\f",$s=un("\\f",!1),SA=function(){return"\f"},gu="\\n",op=un("\\n",!1),ap=function(){return` +`},Rs="\\r",Ln=un("\\r",!1),hs=function(){return"\r"},Ts="\\t",pc=un("\\t",!1),hc=function(){return" "},gc="\\u",bA=un("\\u",!1),xA=function(ee,ye,Le,gt){return String.fromCharCode(parseInt(`0x${ee}${ye}${Le}${gt}`))},Ro=/^[0-9a-fA-F]/,To=qn([["0","9"],["a","f"],["A","F"]],!1,!1),kA=oa("blank space"),pr=/^[ \t]/,Me=qn([" "," "],!1,!1),ia=oa("white space"),dc=/^[ \t\n\r]/,Er=qn([" "," ",` +`,"\r"],!1,!1),du=`\r +`,QA=un(`\r +`,!1),FA=` +`,mc=un(` +`,!1),yc="\r",Il=un("\r",!1),we=0,Tt=0,wl=[{line:1,column:1}],Bi=0,Ns=[],Ft=0,Bn;if("startRule"in e){if(!(e.startRule in o))throw new Error(`Can't start parsing from rule "`+e.startRule+'".');a=o[e.startRule]}function No(){return t.substring(Tt,we)}function ki(){return la(Tt,we)}function vi(ee,ye){throw ye=ye!==void 0?ye:la(Tt,we),mu([oa(ee)],t.substring(Tt,we),ye)}function sa(ee,ye){throw ye=ye!==void 0?ye:la(Tt,we),ca(ee,ye)}function un(ee,ye){return{type:"literal",text:ee,ignoreCase:ye}}function qn(ee,ye,Le){return{type:"class",parts:ee,inverted:ye,ignoreCase:Le}}function Ec(){return{type:"any"}}function lp(){return{type:"end"}}function oa(ee){return{type:"other",description:ee}}function aa(ee){var ye=wl[ee],Le;if(ye)return ye;for(Le=ee-1;!wl[Le];)Le--;for(ye=wl[Le],ye={line:ye.line,column:ye.column};Le<ee;)t.charCodeAt(Le)===10?(ye.line++,ye.column=1):ye.column++,Le++;return wl[ee]=ye,ye}function la(ee,ye){var Le=aa(ee),gt=aa(ye);return{start:{offset:ee,line:Le.line,column:Le.column},end:{offset:ye,line:gt.line,column:gt.column}}}function Ze(ee){we<Bi||(we>Bi&&(Bi=we,Ns=[]),Ns.push(ee))}function ca(ee,ye){return new ig(ee,null,null,ye)}function mu(ee,ye,Le){return new ig(ig.buildMessage(ee,ye),ee,ye,Le)}function Bl(){var ee;return ee=RA(),ee}function dn(){var ee,ye,Le;for(ee=we,ye=[],Le=Lo();Le!==r;)ye.push(Le),Le=Lo();return ye!==r&&(Tt=ee,ye=n(ye)),ee=ye,ee}function Lo(){var ee,ye,Le,gt,mt;return ee=we,ye=qa(),ye!==r?(t.charCodeAt(we)===45?(Le=u,we++):(Le=r,Ft===0&&Ze(A)),Le!==r?(gt=Dn(),gt!==r?(mt=Oo(),mt!==r?(Tt=ee,ye=p(mt),ee=ye):(we=ee,ee=r)):(we=ee,ee=r)):(we=ee,ee=r)):(we=ee,ee=r),ee}function RA(){var ee,ye,Le;for(ee=we,ye=[],Le=TA();Le!==r;)ye.push(Le),Le=TA();return ye!==r&&(Tt=ee,ye=h(ye)),ee=ye,ee}function TA(){var ee,ye,Le,gt,mt,Dt,er,sn,ei;if(ee=we,ye=Dn(),ye===r&&(ye=null),ye!==r){if(Le=we,t.charCodeAt(we)===35?(gt=E,we++):(gt=r,Ft===0&&Ze(w)),gt!==r){if(mt=[],Dt=we,er=we,Ft++,sn=st(),Ft--,sn===r?er=void 0:(we=er,er=r),er!==r?(t.length>we?(sn=t.charAt(we),we++):(sn=r,Ft===0&&Ze(D)),sn!==r?(er=[er,sn],Dt=er):(we=Dt,Dt=r)):(we=Dt,Dt=r),Dt!==r)for(;Dt!==r;)mt.push(Dt),Dt=we,er=we,Ft++,sn=st(),Ft--,sn===r?er=void 0:(we=er,er=r),er!==r?(t.length>we?(sn=t.charAt(we),we++):(sn=r,Ft===0&&Ze(D)),sn!==r?(er=[er,sn],Dt=er):(we=Dt,Dt=r)):(we=Dt,Dt=r);else mt=r;mt!==r?(gt=[gt,mt],Le=gt):(we=Le,Le=r)}else we=Le,Le=r;if(Le===r&&(Le=null),Le!==r){if(gt=[],mt=Je(),mt!==r)for(;mt!==r;)gt.push(mt),mt=Je();else gt=r;gt!==r?(Tt=ee,ye=x(),ee=ye):(we=ee,ee=r)}else we=ee,ee=r}else we=ee,ee=r;if(ee===r&&(ee=we,ye=qa(),ye!==r?(Le=ua(),Le!==r?(gt=Dn(),gt===r&&(gt=null),gt!==r?(t.charCodeAt(we)===58?(mt=C,we++):(mt=r,Ft===0&&Ze(T)),mt!==r?(Dt=Dn(),Dt===r&&(Dt=null),Dt!==r?(er=Oo(),er!==r?(Tt=ee,ye=L(Le,er),ee=ye):(we=ee,ee=r)):(we=ee,ee=r)):(we=ee,ee=r)):(we=ee,ee=r)):(we=ee,ee=r)):(we=ee,ee=r),ee===r&&(ee=we,ye=qa(),ye!==r?(Le=qi(),Le!==r?(gt=Dn(),gt===r&&(gt=null),gt!==r?(t.charCodeAt(we)===58?(mt=C,we++):(mt=r,Ft===0&&Ze(T)),mt!==r?(Dt=Dn(),Dt===r&&(Dt=null),Dt!==r?(er=Oo(),er!==r?(Tt=ee,ye=L(Le,er),ee=ye):(we=ee,ee=r)):(we=ee,ee=r)):(we=ee,ee=r)):(we=ee,ee=r)):(we=ee,ee=r)):(we=ee,ee=r),ee===r))){if(ee=we,ye=qa(),ye!==r)if(Le=qi(),Le!==r)if(gt=Dn(),gt!==r)if(mt=Cc(),mt!==r){if(Dt=[],er=Je(),er!==r)for(;er!==r;)Dt.push(er),er=Je();else Dt=r;Dt!==r?(Tt=ee,ye=L(Le,mt),ee=ye):(we=ee,ee=r)}else we=ee,ee=r;else we=ee,ee=r;else we=ee,ee=r;else we=ee,ee=r;if(ee===r)if(ee=we,ye=qa(),ye!==r)if(Le=qi(),Le!==r){if(gt=[],mt=we,Dt=Dn(),Dt===r&&(Dt=null),Dt!==r?(t.charCodeAt(we)===44?(er=U,we++):(er=r,Ft===0&&Ze(J)),er!==r?(sn=Dn(),sn===r&&(sn=null),sn!==r?(ei=qi(),ei!==r?(Tt=mt,Dt=te(Le,ei),mt=Dt):(we=mt,mt=r)):(we=mt,mt=r)):(we=mt,mt=r)):(we=mt,mt=r),mt!==r)for(;mt!==r;)gt.push(mt),mt=we,Dt=Dn(),Dt===r&&(Dt=null),Dt!==r?(t.charCodeAt(we)===44?(er=U,we++):(er=r,Ft===0&&Ze(J)),er!==r?(sn=Dn(),sn===r&&(sn=null),sn!==r?(ei=qi(),ei!==r?(Tt=mt,Dt=te(Le,ei),mt=Dt):(we=mt,mt=r)):(we=mt,mt=r)):(we=mt,mt=r)):(we=mt,mt=r);else gt=r;gt!==r?(mt=Dn(),mt===r&&(mt=null),mt!==r?(t.charCodeAt(we)===58?(Dt=C,we++):(Dt=r,Ft===0&&Ze(T)),Dt!==r?(er=Dn(),er===r&&(er=null),er!==r?(sn=Oo(),sn!==r?(Tt=ee,ye=le(Le,gt,sn),ee=ye):(we=ee,ee=r)):(we=ee,ee=r)):(we=ee,ee=r)):(we=ee,ee=r)):(we=ee,ee=r)}else we=ee,ee=r;else we=ee,ee=r}return ee}function Oo(){var ee,ye,Le,gt,mt,Dt,er;if(ee=we,ye=we,Ft++,Le=we,gt=st(),gt!==r?(mt=Ot(),mt!==r?(t.charCodeAt(we)===45?(Dt=u,we++):(Dt=r,Ft===0&&Ze(A)),Dt!==r?(er=Dn(),er!==r?(gt=[gt,mt,Dt,er],Le=gt):(we=Le,Le=r)):(we=Le,Le=r)):(we=Le,Le=r)):(we=Le,Le=r),Ft--,Le!==r?(we=ye,ye=void 0):ye=r,ye!==r?(Le=Je(),Le!==r?(gt=vn(),gt!==r?(mt=dn(),mt!==r?(Dt=Mo(),Dt!==r?(Tt=ee,ye=ce(mt),ee=ye):(we=ee,ee=r)):(we=ee,ee=r)):(we=ee,ee=r)):(we=ee,ee=r)):(we=ee,ee=r),ee===r&&(ee=we,ye=st(),ye!==r?(Le=vn(),Le!==r?(gt=RA(),gt!==r?(mt=Mo(),mt!==r?(Tt=ee,ye=ce(gt),ee=ye):(we=ee,ee=r)):(we=ee,ee=r)):(we=ee,ee=r)):(we=ee,ee=r),ee===r))if(ee=we,ye=vl(),ye!==r){if(Le=[],gt=Je(),gt!==r)for(;gt!==r;)Le.push(gt),gt=Je();else Le=r;Le!==r?(Tt=ee,ye=ue(ye),ee=ye):(we=ee,ee=r)}else we=ee,ee=r;return ee}function qa(){var ee,ye,Le;for(Ft++,ee=we,ye=[],t.charCodeAt(we)===32?(Le=he,we++):(Le=r,Ft===0&&Ze(De));Le!==r;)ye.push(Le),t.charCodeAt(we)===32?(Le=he,we++):(Le=r,Ft===0&&Ze(De));return ye!==r?(Tt=we,Le=Ee(ye),Le?Le=void 0:Le=r,Le!==r?(ye=[ye,Le],ee=ye):(we=ee,ee=r)):(we=ee,ee=r),Ft--,ee===r&&(ye=r,Ft===0&&Ze(Ie)),ee}function Ot(){var ee,ye,Le;for(ee=we,ye=[],t.charCodeAt(we)===32?(Le=he,we++):(Le=r,Ft===0&&Ze(De));Le!==r;)ye.push(Le),t.charCodeAt(we)===32?(Le=he,we++):(Le=r,Ft===0&&Ze(De));return ye!==r?(Tt=we,Le=g(ye),Le?Le=void 0:Le=r,Le!==r?(ye=[ye,Le],ee=ye):(we=ee,ee=r)):(we=ee,ee=r),ee}function vn(){var ee;return Tt=we,ee=me(),ee?ee=void 0:ee=r,ee}function Mo(){var ee;return Tt=we,ee=Ce(),ee?ee=void 0:ee=r,ee}function ua(){var ee;return ee=ja(),ee===r&&(ee=Dl()),ee}function qi(){var ee,ye,Le;if(ee=ja(),ee===r){if(ee=we,ye=[],Le=Aa(),Le!==r)for(;Le!==r;)ye.push(Le),Le=Aa();else ye=r;ye!==r&&(Tt=ee,ye=fe()),ee=ye}return ee}function vl(){var ee;return ee=Di(),ee===r&&(ee=rs(),ee===r&&(ee=ja(),ee===r&&(ee=Dl()))),ee}function Cc(){var ee;return ee=Di(),ee===r&&(ee=ja(),ee===r&&(ee=Aa())),ee}function Dl(){var ee,ye,Le,gt,mt,Dt;if(Ft++,ee=we,Z.test(t.charAt(we))?(ye=t.charAt(we),we++):(ye=r,Ft===0&&Ze(Pe)),ye!==r){for(Le=[],gt=we,mt=Dn(),mt===r&&(mt=null),mt!==r?(Re.test(t.charAt(we))?(Dt=t.charAt(we),we++):(Dt=r,Ft===0&&Ze(ht)),Dt!==r?(mt=[mt,Dt],gt=mt):(we=gt,gt=r)):(we=gt,gt=r);gt!==r;)Le.push(gt),gt=we,mt=Dn(),mt===r&&(mt=null),mt!==r?(Re.test(t.charAt(we))?(Dt=t.charAt(we),we++):(Dt=r,Ft===0&&Ze(ht)),Dt!==r?(mt=[mt,Dt],gt=mt):(we=gt,gt=r)):(we=gt,gt=r);Le!==r?(Tt=ee,ye=q(),ee=ye):(we=ee,ee=r)}else we=ee,ee=r;return Ft--,ee===r&&(ye=r,Ft===0&&Ze(ie)),ee}function Aa(){var ee,ye,Le,gt,mt;if(ee=we,t.substr(we,2)===nt?(ye=nt,we+=2):(ye=r,Ft===0&&Ze(Ne)),ye===r&&(ye=null),ye!==r)if(Te.test(t.charAt(we))?(Le=t.charAt(we),we++):(Le=r,Ft===0&&Ze(ke)),Le!==r){for(gt=[],Ve.test(t.charAt(we))?(mt=t.charAt(we),we++):(mt=r,Ft===0&&Ze(be));mt!==r;)gt.push(mt),Ve.test(t.charAt(we))?(mt=t.charAt(we),we++):(mt=r,Ft===0&&Ze(be));gt!==r?(Tt=ee,ye=q(),ee=ye):(we=ee,ee=r)}else we=ee,ee=r;else we=ee,ee=r;return ee}function Di(){var ee,ye;return ee=we,t.substr(we,4)===tt?(ye=tt,we+=4):(ye=r,Ft===0&&Ze(He)),ye!==r&&(Tt=ee,ye=b()),ee=ye,ee}function rs(){var ee,ye;return ee=we,t.substr(we,4)===I?(ye=I,we+=4):(ye=r,Ft===0&&Ze(S)),ye!==r&&(Tt=ee,ye=y()),ee=ye,ee===r&&(ee=we,t.substr(we,5)===R?(ye=R,we+=5):(ye=r,Ft===0&&Ze(z)),ye!==r&&(Tt=ee,ye=X()),ee=ye),ee}function ja(){var ee,ye,Le,gt;return Ft++,ee=we,t.charCodeAt(we)===34?(ye=se,we++):(ye=r,Ft===0&&Ze(xe)),ye!==r?(t.charCodeAt(we)===34?(Le=se,we++):(Le=r,Ft===0&&Ze(xe)),Le!==r?(Tt=ee,ye=Fe(),ee=ye):(we=ee,ee=r)):(we=ee,ee=r),ee===r&&(ee=we,t.charCodeAt(we)===34?(ye=se,we++):(ye=r,Ft===0&&Ze(xe)),ye!==r?(Le=yu(),Le!==r?(t.charCodeAt(we)===34?(gt=se,we++):(gt=r,Ft===0&&Ze(xe)),gt!==r?(Tt=ee,ye=lt(Le),ee=ye):(we=ee,ee=r)):(we=ee,ee=r)):(we=ee,ee=r)),Ft--,ee===r&&(ye=r,Ft===0&&Ze($)),ee}function yu(){var ee,ye,Le;if(ee=we,ye=[],Le=Pl(),Le!==r)for(;Le!==r;)ye.push(Le),Le=Pl();else ye=r;return ye!==r&&(Tt=ee,ye=Et(ye)),ee=ye,ee}function Pl(){var ee,ye,Le,gt,mt,Dt;return qt.test(t.charAt(we))?(ee=t.charAt(we),we++):(ee=r,Ft===0&&Ze(nr)),ee===r&&(ee=we,t.substr(we,2)===St?(ye=St,we+=2):(ye=r,Ft===0&&Ze(cn)),ye!==r&&(Tt=ee,ye=Pr()),ee=ye,ee===r&&(ee=we,t.substr(we,2)===yr?(ye=yr,we+=2):(ye=r,Ft===0&&Ze(Rr)),ye!==r&&(Tt=ee,ye=Xr()),ee=ye,ee===r&&(ee=we,t.substr(we,2)===$n?(ye=$n,we+=2):(ye=r,Ft===0&&Ze(Xs)),ye!==r&&(Tt=ee,ye=Hi()),ee=ye,ee===r&&(ee=we,t.substr(we,2)===Qs?(ye=Qs,we+=2):(ye=r,Ft===0&&Ze(Zs)),ye!==r&&(Tt=ee,ye=xi()),ee=ye,ee===r&&(ee=we,t.substr(we,2)===Fs?(ye=Fs,we+=2):(ye=r,Ft===0&&Ze($s)),ye!==r&&(Tt=ee,ye=SA()),ee=ye,ee===r&&(ee=we,t.substr(we,2)===gu?(ye=gu,we+=2):(ye=r,Ft===0&&Ze(op)),ye!==r&&(Tt=ee,ye=ap()),ee=ye,ee===r&&(ee=we,t.substr(we,2)===Rs?(ye=Rs,we+=2):(ye=r,Ft===0&&Ze(Ln)),ye!==r&&(Tt=ee,ye=hs()),ee=ye,ee===r&&(ee=we,t.substr(we,2)===Ts?(ye=Ts,we+=2):(ye=r,Ft===0&&Ze(pc)),ye!==r&&(Tt=ee,ye=hc()),ee=ye,ee===r&&(ee=we,t.substr(we,2)===gc?(ye=gc,we+=2):(ye=r,Ft===0&&Ze(bA)),ye!==r?(Le=pi(),Le!==r?(gt=pi(),gt!==r?(mt=pi(),mt!==r?(Dt=pi(),Dt!==r?(Tt=ee,ye=xA(Le,gt,mt,Dt),ee=ye):(we=ee,ee=r)):(we=ee,ee=r)):(we=ee,ee=r)):(we=ee,ee=r)):(we=ee,ee=r)))))))))),ee}function pi(){var ee;return Ro.test(t.charAt(we))?(ee=t.charAt(we),we++):(ee=r,Ft===0&&Ze(To)),ee}function Dn(){var ee,ye;if(Ft++,ee=[],pr.test(t.charAt(we))?(ye=t.charAt(we),we++):(ye=r,Ft===0&&Ze(Me)),ye!==r)for(;ye!==r;)ee.push(ye),pr.test(t.charAt(we))?(ye=t.charAt(we),we++):(ye=r,Ft===0&&Ze(Me));else ee=r;return Ft--,ee===r&&(ye=r,Ft===0&&Ze(kA)),ee}function Sl(){var ee,ye;if(Ft++,ee=[],dc.test(t.charAt(we))?(ye=t.charAt(we),we++):(ye=r,Ft===0&&Ze(Er)),ye!==r)for(;ye!==r;)ee.push(ye),dc.test(t.charAt(we))?(ye=t.charAt(we),we++):(ye=r,Ft===0&&Ze(Er));else ee=r;return Ft--,ee===r&&(ye=r,Ft===0&&Ze(ia)),ee}function Je(){var ee,ye,Le,gt,mt,Dt;if(ee=we,ye=st(),ye!==r){for(Le=[],gt=we,mt=Dn(),mt===r&&(mt=null),mt!==r?(Dt=st(),Dt!==r?(mt=[mt,Dt],gt=mt):(we=gt,gt=r)):(we=gt,gt=r);gt!==r;)Le.push(gt),gt=we,mt=Dn(),mt===r&&(mt=null),mt!==r?(Dt=st(),Dt!==r?(mt=[mt,Dt],gt=mt):(we=gt,gt=r)):(we=gt,gt=r);Le!==r?(ye=[ye,Le],ee=ye):(we=ee,ee=r)}else we=ee,ee=r;return ee}function st(){var ee;return t.substr(we,2)===du?(ee=du,we+=2):(ee=r,Ft===0&&Ze(QA)),ee===r&&(t.charCodeAt(we)===10?(ee=FA,we++):(ee=r,Ft===0&&Ze(mc)),ee===r&&(t.charCodeAt(we)===13?(ee=yc,we++):(ee=r,Ft===0&&Ze(Il)))),ee}let vt=2,ar=0;if(Bn=a(),Bn!==r&&we===t.length)return Bn;throw Bn!==r&&we<t.length&&Ze(lp()),mu(Ns,Bi<t.length?t.charAt(Bi):null,Bi<t.length?la(Bi,Bi+1):la(Bi,Bi))}NV.exports={SyntaxError:ig,parse:R6e}});function MV(t){return t.match(T6e)?t:JSON.stringify(t)}function _V(t){return typeof t>"u"?!0:typeof t=="object"&&t!==null&&!Array.isArray(t)?Object.keys(t).every(e=>_V(t[e])):!1}function rN(t,e,r){if(t===null)return`null +`;if(typeof t=="number"||typeof t=="boolean")return`${t.toString()} +`;if(typeof t=="string")return`${MV(t)} +`;if(Array.isArray(t)){if(t.length===0)return`[] +`;let o=" ".repeat(e);return` +${t.map(n=>`${o}- ${rN(n,e+1,!1)}`).join("")}`}if(typeof t=="object"&&t){let[o,a]=t instanceof DP?[t.data,!1]:[t,!0],n=" ".repeat(e),u=Object.keys(o);a&&u.sort((p,h)=>{let E=OV.indexOf(p),w=OV.indexOf(h);return E===-1&&w===-1?p<h?-1:p>h?1:0:E!==-1&&w===-1?-1:E===-1&&w!==-1?1:E-w});let A=u.filter(p=>!_V(o[p])).map((p,h)=>{let E=o[p],w=MV(p),D=rN(E,e+1,!0),x=h>0||r?n:"",C=w.length>1024?`? ${w} +${x}:`:`${w}:`,T=D.startsWith(` +`)?D:` ${D}`;return`${x}${C}${T}`}).join(e===0?` +`:"")||` +`;return r?` +${A}`:`${A}`}throw new Error(`Unsupported value type (${t})`)}function Pa(t){try{let e=rN(t,0,!1);return e!==` +`?e:""}catch(e){throw e.location&&(e.message=e.message.replace(/(\.)?$/,` (line ${e.location.start.line}, column ${e.location.start.column})$1`)),e}}function N6e(t){return t.endsWith(` +`)||(t+=` +`),(0,UV.parse)(t)}function O6e(t){if(L6e.test(t))return N6e(t);let e=(0,PP.safeLoad)(t,{schema:PP.FAILSAFE_SCHEMA,json:!0});if(e==null)return{};if(typeof e!="object")throw new Error(`Expected an indexed object, got a ${typeof e} instead. Does your file follow Yaml's rules?`);if(Array.isArray(e))throw new Error("Expected an indexed object, got an array instead. Does your file follow Yaml's rules?");return e}function Ki(t){return O6e(t)}var PP,UV,T6e,OV,DP,L6e,HV=It(()=>{PP=et(TV()),UV=et(LV()),T6e=/^(?![-?:,\][{}#&*!|>'"%@` \t\r\n]).([ \t]*(?![,\][{}:# \t\r\n]).)*$/,OV=["__metadata","version","resolution","dependencies","peerDependencies","dependenciesMeta","peerDependenciesMeta","binaries"],DP=class{constructor(e){this.data=e}};Pa.PreserveOrdering=DP;L6e=/^(#.*(\r?\n))*?#\s+yarn\s+lockfile\s+v1\r?\n/i});var Ew={};Kt(Ew,{parseResolution:()=>pP,parseShell:()=>uP,parseSyml:()=>Ki,stringifyArgument:()=>qT,stringifyArgumentSegment:()=>jT,stringifyArithmeticExpression:()=>fP,stringifyCommand:()=>HT,stringifyCommandChain:()=>mm,stringifyCommandChainThen:()=>_T,stringifyCommandLine:()=>AP,stringifyCommandLineThen:()=>UT,stringifyEnvSegment:()=>cP,stringifyRedirectArgument:()=>fw,stringifyResolution:()=>hP,stringifyShell:()=>dm,stringifyShellLine:()=>dm,stringifySyml:()=>Pa,stringifyValueArgument:()=>J0});var Ol=It(()=>{_Y();GY();HV()});var jV=_((txt,nN)=>{"use strict";var M6e=t=>{let e=!1,r=!1,o=!1;for(let a=0;a<t.length;a++){let n=t[a];e&&/[a-zA-Z]/.test(n)&&n.toUpperCase()===n?(t=t.slice(0,a)+"-"+t.slice(a),e=!1,o=r,r=!0,a++):r&&o&&/[a-zA-Z]/.test(n)&&n.toLowerCase()===n?(t=t.slice(0,a-1)+"-"+t.slice(a-1),o=r,r=!1,e=!0):(e=n.toLowerCase()===n&&n.toUpperCase()!==n,o=r,r=n.toUpperCase()===n&&n.toLowerCase()!==n)}return t},qV=(t,e)=>{if(!(typeof t=="string"||Array.isArray(t)))throw new TypeError("Expected the input to be `string | string[]`");e=Object.assign({pascalCase:!1},e);let r=a=>e.pascalCase?a.charAt(0).toUpperCase()+a.slice(1):a;return Array.isArray(t)?t=t.map(a=>a.trim()).filter(a=>a.length).join("-"):t=t.trim(),t.length===0?"":t.length===1?e.pascalCase?t.toUpperCase():t.toLowerCase():(t!==t.toLowerCase()&&(t=M6e(t)),t=t.replace(/^[_.\- ]+/,"").toLowerCase().replace(/[_.\- ]+(\w|$)/g,(a,n)=>n.toUpperCase()).replace(/\d+(\w|$)/g,a=>a.toUpperCase()),r(t))};nN.exports=qV;nN.exports.default=qV});var GV=_((rxt,U6e)=>{U6e.exports=[{name:"Agola CI",constant:"AGOLA",env:"AGOLA_GIT_REF",pr:"AGOLA_PULL_REQUEST_ID"},{name:"Appcircle",constant:"APPCIRCLE",env:"AC_APPCIRCLE"},{name:"AppVeyor",constant:"APPVEYOR",env:"APPVEYOR",pr:"APPVEYOR_PULL_REQUEST_NUMBER"},{name:"AWS CodeBuild",constant:"CODEBUILD",env:"CODEBUILD_BUILD_ARN"},{name:"Azure Pipelines",constant:"AZURE_PIPELINES",env:"TF_BUILD",pr:{BUILD_REASON:"PullRequest"}},{name:"Bamboo",constant:"BAMBOO",env:"bamboo_planKey"},{name:"Bitbucket Pipelines",constant:"BITBUCKET",env:"BITBUCKET_COMMIT",pr:"BITBUCKET_PR_ID"},{name:"Bitrise",constant:"BITRISE",env:"BITRISE_IO",pr:"BITRISE_PULL_REQUEST"},{name:"Buddy",constant:"BUDDY",env:"BUDDY_WORKSPACE_ID",pr:"BUDDY_EXECUTION_PULL_REQUEST_ID"},{name:"Buildkite",constant:"BUILDKITE",env:"BUILDKITE",pr:{env:"BUILDKITE_PULL_REQUEST",ne:"false"}},{name:"CircleCI",constant:"CIRCLE",env:"CIRCLECI",pr:"CIRCLE_PULL_REQUEST"},{name:"Cirrus CI",constant:"CIRRUS",env:"CIRRUS_CI",pr:"CIRRUS_PR"},{name:"Codefresh",constant:"CODEFRESH",env:"CF_BUILD_ID",pr:{any:["CF_PULL_REQUEST_NUMBER","CF_PULL_REQUEST_ID"]}},{name:"Codemagic",constant:"CODEMAGIC",env:"CM_BUILD_ID",pr:"CM_PULL_REQUEST"},{name:"Codeship",constant:"CODESHIP",env:{CI_NAME:"codeship"}},{name:"Drone",constant:"DRONE",env:"DRONE",pr:{DRONE_BUILD_EVENT:"pull_request"}},{name:"dsari",constant:"DSARI",env:"DSARI"},{name:"Earthly",constant:"EARTHLY",env:"EARTHLY_CI"},{name:"Expo Application Services",constant:"EAS",env:"EAS_BUILD"},{name:"Gerrit",constant:"GERRIT",env:"GERRIT_PROJECT"},{name:"Gitea Actions",constant:"GITEA_ACTIONS",env:"GITEA_ACTIONS"},{name:"GitHub Actions",constant:"GITHUB_ACTIONS",env:"GITHUB_ACTIONS",pr:{GITHUB_EVENT_NAME:"pull_request"}},{name:"GitLab CI",constant:"GITLAB",env:"GITLAB_CI",pr:"CI_MERGE_REQUEST_ID"},{name:"GoCD",constant:"GOCD",env:"GO_PIPELINE_LABEL"},{name:"Google Cloud Build",constant:"GOOGLE_CLOUD_BUILD",env:"BUILDER_OUTPUT"},{name:"Harness CI",constant:"HARNESS",env:"HARNESS_BUILD_ID"},{name:"Heroku",constant:"HEROKU",env:{env:"NODE",includes:"/app/.heroku/node/bin/node"}},{name:"Hudson",constant:"HUDSON",env:"HUDSON_URL"},{name:"Jenkins",constant:"JENKINS",env:["JENKINS_URL","BUILD_ID"],pr:{any:["ghprbPullId","CHANGE_ID"]}},{name:"LayerCI",constant:"LAYERCI",env:"LAYERCI",pr:"LAYERCI_PULL_REQUEST"},{name:"Magnum CI",constant:"MAGNUM",env:"MAGNUM"},{name:"Netlify CI",constant:"NETLIFY",env:"NETLIFY",pr:{env:"PULL_REQUEST",ne:"false"}},{name:"Nevercode",constant:"NEVERCODE",env:"NEVERCODE",pr:{env:"NEVERCODE_PULL_REQUEST",ne:"false"}},{name:"Prow",constant:"PROW",env:"PROW_JOB_ID"},{name:"ReleaseHub",constant:"RELEASEHUB",env:"RELEASE_BUILD_ID"},{name:"Render",constant:"RENDER",env:"RENDER",pr:{IS_PULL_REQUEST:"true"}},{name:"Sail CI",constant:"SAIL",env:"SAILCI",pr:"SAIL_PULL_REQUEST_NUMBER"},{name:"Screwdriver",constant:"SCREWDRIVER",env:"SCREWDRIVER",pr:{env:"SD_PULL_REQUEST",ne:"false"}},{name:"Semaphore",constant:"SEMAPHORE",env:"SEMAPHORE",pr:"PULL_REQUEST_NUMBER"},{name:"Sourcehut",constant:"SOURCEHUT",env:{CI_NAME:"sourcehut"}},{name:"Strider CD",constant:"STRIDER",env:"STRIDER"},{name:"TaskCluster",constant:"TASKCLUSTER",env:["TASK_ID","RUN_ID"]},{name:"TeamCity",constant:"TEAMCITY",env:"TEAMCITY_VERSION"},{name:"Travis CI",constant:"TRAVIS",env:"TRAVIS",pr:{env:"TRAVIS_PULL_REQUEST",ne:"false"}},{name:"Vela",constant:"VELA",env:"VELA",pr:{VELA_PULL_REQUEST:"1"}},{name:"Vercel",constant:"VERCEL",env:{any:["NOW_BUILDER","VERCEL"]},pr:"VERCEL_GIT_PULL_REQUEST_ID"},{name:"Visual Studio App Center",constant:"APPCENTER",env:"APPCENTER_BUILD_ID"},{name:"Woodpecker",constant:"WOODPECKER",env:{CI:"woodpecker"},pr:{CI_BUILD_EVENT:"pull_request"}},{name:"Xcode Cloud",constant:"XCODE_CLOUD",env:"CI_XCODE_PROJECT",pr:"CI_PULL_REQUEST_NUMBER"},{name:"Xcode Server",constant:"XCODE_SERVER",env:"XCS"}]});var sg=_(nl=>{"use strict";var YV=GV(),ls=process.env;Object.defineProperty(nl,"_vendors",{value:YV.map(function(t){return t.constant})});nl.name=null;nl.isPR=null;YV.forEach(function(t){let r=(Array.isArray(t.env)?t.env:[t.env]).every(function(o){return WV(o)});if(nl[t.constant]=r,!!r)switch(nl.name=t.name,typeof t.pr){case"string":nl.isPR=!!ls[t.pr];break;case"object":"env"in t.pr?nl.isPR=t.pr.env in ls&&ls[t.pr.env]!==t.pr.ne:"any"in t.pr?nl.isPR=t.pr.any.some(function(o){return!!ls[o]}):nl.isPR=WV(t.pr);break;default:nl.isPR=null}});nl.isCI=!!(ls.CI!=="false"&&(ls.BUILD_ID||ls.BUILD_NUMBER||ls.CI||ls.CI_APP_ID||ls.CI_BUILD_ID||ls.CI_BUILD_NUMBER||ls.CI_NAME||ls.CONTINUOUS_INTEGRATION||ls.RUN_ID||nl.name));function WV(t){return typeof t=="string"?!!ls[t]:"env"in t?ls[t.env]&&ls[t.env].includes(t.includes):"any"in t?t.any.some(function(e){return!!ls[e]}):Object.keys(t).every(function(e){return ls[e]===t[e]})}});var Kn,pn,og,iN,SP,KV,sN,oN,bP=It(()=>{(function(t){t.StartOfInput="\0",t.EndOfInput="",t.EndOfPartialInput=""})(Kn||(Kn={}));(function(t){t[t.InitialNode=0]="InitialNode",t[t.SuccessNode=1]="SuccessNode",t[t.ErrorNode=2]="ErrorNode",t[t.CustomNode=3]="CustomNode"})(pn||(pn={}));og=-1,iN=/^(-h|--help)(?:=([0-9]+))?$/,SP=/^(--[a-z]+(?:-[a-z]+)*|-[a-zA-Z]+)$/,KV=/^-[a-zA-Z]{2,}$/,sN=/^([^=]+)=([\s\S]*)$/,oN=process.env.DEBUG_CLI==="1"});var it,Dm,xP,aN,kP=It(()=>{bP();it=class extends Error{constructor(e){super(e),this.clipanion={type:"usage"},this.name="UsageError"}},Dm=class extends Error{constructor(e,r){if(super(),this.input=e,this.candidates=r,this.clipanion={type:"none"},this.name="UnknownSyntaxError",this.candidates.length===0)this.message="Command not found, but we're not sure what's the alternative.";else if(this.candidates.every(o=>o.reason!==null&&o.reason===r[0].reason)){let[{reason:o}]=this.candidates;this.message=`${o} + +${this.candidates.map(({usage:a})=>`$ ${a}`).join(` +`)}`}else if(this.candidates.length===1){let[{usage:o}]=this.candidates;this.message=`Command not found; did you mean: + +$ ${o} +${aN(e)}`}else this.message=`Command not found; did you mean one of: + +${this.candidates.map(({usage:o},a)=>`${`${a}.`.padStart(4)} ${o}`).join(` +`)} + +${aN(e)}`}},xP=class extends Error{constructor(e,r){super(),this.input=e,this.usages=r,this.clipanion={type:"none"},this.name="AmbiguousSyntaxError",this.message=`Cannot find which to pick amongst the following alternatives: + +${this.usages.map((o,a)=>`${`${a}.`.padStart(4)} ${o}`).join(` +`)} + +${aN(e)}`}},aN=t=>`While running ${t.filter(e=>e!==Kn.EndOfInput&&e!==Kn.EndOfPartialInput).map(e=>{let r=JSON.stringify(e);return e.match(/\s/)||e.length===0||r!==`"${e}"`?r:e}).join(" ")}`});function _6e(t){let e=t.split(` +`),r=e.filter(a=>a.match(/\S/)),o=r.length>0?r.reduce((a,n)=>Math.min(a,n.length-n.trimStart().length),Number.MAX_VALUE):0;return e.map(a=>a.slice(o).trimRight()).join(` +`)}function yo(t,{format:e,paragraphs:r}){return t=t.replace(/\r\n?/g,` +`),t=_6e(t),t=t.replace(/^\n+|\n+$/g,""),t=t.replace(/^(\s*)-([^\n]*?)\n+/gm,`$1-$2 + +`),t=t.replace(/\n(\n)?\n*/g,(o,a)=>a||" "),r&&(t=t.split(/\n/).map(o=>{let a=o.match(/^\s*[*-][\t ]+(.*)/);if(!a)return o.match(/(.{1,80})(?: |$)/g).join(` +`);let n=o.length-o.trimStart().length;return a[1].match(new RegExp(`(.{1,${78-n}})(?: |$)`,"g")).map((u,A)=>" ".repeat(n)+(A===0?"- ":" ")+u).join(` +`)}).join(` + +`)),t=t.replace(/(`+)((?:.|[\n])*?)\1/g,(o,a,n)=>e.code(a+n+a)),t=t.replace(/(\*\*)((?:.|[\n])*?)\1/g,(o,a,n)=>e.bold(a+n+a)),t?`${t} +`:""}var lN,VV,JV,cN=It(()=>{lN=Array(80).fill("\u2501");for(let t=0;t<=24;++t)lN[lN.length-t]=`\x1B[38;5;${232+t}m\u2501`;VV={header:t=>`\x1B[1m\u2501\u2501\u2501 ${t}${t.length<75?` ${lN.slice(t.length+5).join("")}`:":"}\x1B[0m`,bold:t=>`\x1B[1m${t}\x1B[22m`,error:t=>`\x1B[31m\x1B[1m${t}\x1B[22m\x1B[39m`,code:t=>`\x1B[36m${t}\x1B[39m`},JV={header:t=>t,bold:t=>t,error:t=>t,code:t=>t}});function Wo(t){return{...t,[Cw]:!0}}function Yu(t,e){return typeof t>"u"?[t,e]:typeof t=="object"&&t!==null&&!Array.isArray(t)?[void 0,t]:[t,e]}function QP(t,{mergeName:e=!1}={}){let r=t.match(/^([^:]+): (.*)$/m);if(!r)return"validation failed";let[,o,a]=r;return e&&(a=a[0].toLowerCase()+a.slice(1)),a=o!=="."||!e?`${o.replace(/^\.(\[|$)/,"$1")}: ${a}`:`: ${a}`,a}function Iw(t,e){return e.length===1?new it(`${t}${QP(e[0],{mergeName:!0})}`):new it(`${t}: +${e.map(r=>` +- ${QP(r)}`).join("")}`)}function ag(t,e,r){if(typeof r>"u")return e;let o=[],a=[],n=A=>{let p=e;return e=A,n.bind(null,p)};if(!r(e,{errors:o,coercions:a,coercion:n}))throw Iw(`Invalid value for ${t}`,o);for(let[,A]of a)A();return e}var Cw,yf=It(()=>{kP();Cw=Symbol("clipanion/isOption")});var Yo={};Kt(Yo,{KeyRelationship:()=>Ku,TypeAssertionError:()=>zp,applyCascade:()=>vw,as:()=>sqe,assert:()=>rqe,assertWithErrors:()=>nqe,cascade:()=>NP,fn:()=>oqe,hasAtLeastOneKey:()=>dN,hasExactLength:()=>eJ,hasForbiddenKeys:()=>Dqe,hasKeyRelationship:()=>Pw,hasMaxLength:()=>lqe,hasMinLength:()=>aqe,hasMutuallyExclusiveKeys:()=>Pqe,hasRequiredKeys:()=>vqe,hasUniqueItems:()=>cqe,isArray:()=>FP,isAtLeast:()=>hN,isAtMost:()=>fqe,isBase64:()=>Cqe,isBoolean:()=>V6e,isDate:()=>z6e,isDict:()=>$6e,isEnum:()=>js,isHexColor:()=>Eqe,isISO8601:()=>yqe,isInExclusiveRange:()=>hqe,isInInclusiveRange:()=>pqe,isInstanceOf:()=>tqe,isInteger:()=>gN,isJSON:()=>Iqe,isLiteral:()=>XV,isLowerCase:()=>gqe,isMap:()=>Z6e,isNegative:()=>uqe,isNullable:()=>Bqe,isNumber:()=>fN,isObject:()=>ZV,isOneOf:()=>pN,isOptional:()=>wqe,isPartial:()=>eqe,isPayload:()=>J6e,isPositive:()=>Aqe,isRecord:()=>TP,isSet:()=>X6e,isString:()=>Sm,isTuple:()=>RP,isUUID4:()=>mqe,isUnknown:()=>AN,isUpperCase:()=>dqe,makeTrait:()=>$V,makeValidator:()=>qr,matchesRegExp:()=>Bw,softAssert:()=>iqe});function Vn(t){return t===null?"null":t===void 0?"undefined":t===""?"an empty string":typeof t=="symbol"?`<${t.toString()}>`:Array.isArray(t)?"an array":JSON.stringify(t)}function Pm(t,e){if(t.length===0)return"nothing";if(t.length===1)return Vn(t[0]);let r=t.slice(0,-1),o=t[t.length-1],a=t.length>2?`, ${e} `:` ${e} `;return`${r.map(n=>Vn(n)).join(", ")}${a}${Vn(o)}`}function Jp(t,e){var r,o,a;return typeof e=="number"?`${(r=t?.p)!==null&&r!==void 0?r:"."}[${e}]`:H6e.test(e)?`${(o=t?.p)!==null&&o!==void 0?o:""}.${e}`:`${(a=t?.p)!==null&&a!==void 0?a:"."}[${JSON.stringify(e)}]`}function uN(t,e,r){return t===1?e:r}function gr({errors:t,p:e}={},r){return t?.push(`${e??"."}: ${r}`),!1}function Y6e(t,e){return r=>{t[e]=r}}function Vu(t,e){return r=>{let o=t[e];return t[e]=r,Vu(t,e).bind(null,o)}}function ww(t,e,r){let o=()=>(t(r()),a),a=()=>(t(e),o);return o}function AN(){return qr({test:(t,e)=>!0})}function XV(t){return qr({test:(e,r)=>e!==t?gr(r,`Expected ${Vn(t)} (got ${Vn(e)})`):!0})}function Sm(){return qr({test:(t,e)=>typeof t!="string"?gr(e,`Expected a string (got ${Vn(t)})`):!0})}function js(t){let e=Array.isArray(t)?t:Object.values(t),r=e.every(a=>typeof a=="string"||typeof a=="number"),o=new Set(e);return o.size===1?XV([...o][0]):qr({test:(a,n)=>o.has(a)?!0:r?gr(n,`Expected one of ${Pm(e,"or")} (got ${Vn(a)})`):gr(n,`Expected a valid enumeration value (got ${Vn(a)})`)})}function V6e(){return qr({test:(t,e)=>{var r;if(typeof t!="boolean"){if(typeof e?.coercions<"u"){if(typeof e?.coercion>"u")return gr(e,"Unbound coercion result");let o=K6e.get(t);if(typeof o<"u")return e.coercions.push([(r=e.p)!==null&&r!==void 0?r:".",e.coercion.bind(null,o)]),!0}return gr(e,`Expected a boolean (got ${Vn(t)})`)}return!0}})}function fN(){return qr({test:(t,e)=>{var r;if(typeof t!="number"){if(typeof e?.coercions<"u"){if(typeof e?.coercion>"u")return gr(e,"Unbound coercion result");let o;if(typeof t=="string"){let a;try{a=JSON.parse(t)}catch{}if(typeof a=="number")if(JSON.stringify(a)===t)o=a;else return gr(e,`Received a number that can't be safely represented by the runtime (${t})`)}if(typeof o<"u")return e.coercions.push([(r=e.p)!==null&&r!==void 0?r:".",e.coercion.bind(null,o)]),!0}return gr(e,`Expected a number (got ${Vn(t)})`)}return!0}})}function J6e(t){return qr({test:(e,r)=>{var o;if(typeof r?.coercions>"u")return gr(r,"The isPayload predicate can only be used with coercion enabled");if(typeof r.coercion>"u")return gr(r,"Unbound coercion result");if(typeof e!="string")return gr(r,`Expected a string (got ${Vn(e)})`);let a;try{a=JSON.parse(e)}catch{return gr(r,`Expected a JSON string (got ${Vn(e)})`)}let n={value:a};return t(a,Object.assign(Object.assign({},r),{coercion:Vu(n,"value")}))?(r.coercions.push([(o=r.p)!==null&&o!==void 0?o:".",r.coercion.bind(null,n.value)]),!0):!1}})}function z6e(){return qr({test:(t,e)=>{var r;if(!(t instanceof Date)){if(typeof e?.coercions<"u"){if(typeof e?.coercion>"u")return gr(e,"Unbound coercion result");let o;if(typeof t=="string"&&zV.test(t))o=new Date(t);else{let a;if(typeof t=="string"){let n;try{n=JSON.parse(t)}catch{}typeof n=="number"&&(a=n)}else typeof t=="number"&&(a=t);if(typeof a<"u")if(Number.isSafeInteger(a)||!Number.isSafeInteger(a*1e3))o=new Date(a*1e3);else return gr(e,`Received a timestamp that can't be safely represented by the runtime (${t})`)}if(typeof o<"u")return e.coercions.push([(r=e.p)!==null&&r!==void 0?r:".",e.coercion.bind(null,o)]),!0}return gr(e,`Expected a date (got ${Vn(t)})`)}return!0}})}function FP(t,{delimiter:e}={}){return qr({test:(r,o)=>{var a;let n=r;if(typeof r=="string"&&typeof e<"u"&&typeof o?.coercions<"u"){if(typeof o?.coercion>"u")return gr(o,"Unbound coercion result");r=r.split(e)}if(!Array.isArray(r))return gr(o,`Expected an array (got ${Vn(r)})`);let u=!0;for(let A=0,p=r.length;A<p&&(u=t(r[A],Object.assign(Object.assign({},o),{p:Jp(o,A),coercion:Vu(r,A)}))&&u,!(!u&&o?.errors==null));++A);return r!==n&&o.coercions.push([(a=o.p)!==null&&a!==void 0?a:".",o.coercion.bind(null,r)]),u}})}function X6e(t,{delimiter:e}={}){let r=FP(t,{delimiter:e});return qr({test:(o,a)=>{var n,u;if(Object.getPrototypeOf(o).toString()==="[object Set]")if(typeof a?.coercions<"u"){if(typeof a?.coercion>"u")return gr(a,"Unbound coercion result");let A=[...o],p=[...o];if(!r(p,Object.assign(Object.assign({},a),{coercion:void 0})))return!1;let h=()=>p.some((E,w)=>E!==A[w])?new Set(p):o;return a.coercions.push([(n=a.p)!==null&&n!==void 0?n:".",ww(a.coercion,o,h)]),!0}else{let A=!0;for(let p of o)if(A=t(p,Object.assign({},a))&&A,!A&&a?.errors==null)break;return A}if(typeof a?.coercions<"u"){if(typeof a?.coercion>"u")return gr(a,"Unbound coercion result");let A={value:o};return r(o,Object.assign(Object.assign({},a),{coercion:Vu(A,"value")}))?(a.coercions.push([(u=a.p)!==null&&u!==void 0?u:".",ww(a.coercion,o,()=>new Set(A.value))]),!0):!1}return gr(a,`Expected a set (got ${Vn(o)})`)}})}function Z6e(t,e){let r=FP(RP([t,e])),o=TP(e,{keys:t});return qr({test:(a,n)=>{var u,A,p;if(Object.getPrototypeOf(a).toString()==="[object Map]")if(typeof n?.coercions<"u"){if(typeof n?.coercion>"u")return gr(n,"Unbound coercion result");let h=[...a],E=[...a];if(!r(E,Object.assign(Object.assign({},n),{coercion:void 0})))return!1;let w=()=>E.some((D,x)=>D[0]!==h[x][0]||D[1]!==h[x][1])?new Map(E):a;return n.coercions.push([(u=n.p)!==null&&u!==void 0?u:".",ww(n.coercion,a,w)]),!0}else{let h=!0;for(let[E,w]of a)if(h=t(E,Object.assign({},n))&&h,!h&&n?.errors==null||(h=e(w,Object.assign(Object.assign({},n),{p:Jp(n,E)}))&&h,!h&&n?.errors==null))break;return h}if(typeof n?.coercions<"u"){if(typeof n?.coercion>"u")return gr(n,"Unbound coercion result");let h={value:a};return Array.isArray(a)?r(a,Object.assign(Object.assign({},n),{coercion:void 0}))?(n.coercions.push([(A=n.p)!==null&&A!==void 0?A:".",ww(n.coercion,a,()=>new Map(h.value))]),!0):!1:o(a,Object.assign(Object.assign({},n),{coercion:Vu(h,"value")}))?(n.coercions.push([(p=n.p)!==null&&p!==void 0?p:".",ww(n.coercion,a,()=>new Map(Object.entries(h.value)))]),!0):!1}return gr(n,`Expected a map (got ${Vn(a)})`)}})}function RP(t,{delimiter:e}={}){let r=eJ(t.length);return qr({test:(o,a)=>{var n;if(typeof o=="string"&&typeof e<"u"&&typeof a?.coercions<"u"){if(typeof a?.coercion>"u")return gr(a,"Unbound coercion result");o=o.split(e),a.coercions.push([(n=a.p)!==null&&n!==void 0?n:".",a.coercion.bind(null,o)])}if(!Array.isArray(o))return gr(a,`Expected a tuple (got ${Vn(o)})`);let u=r(o,Object.assign({},a));for(let A=0,p=o.length;A<p&&A<t.length&&(u=t[A](o[A],Object.assign(Object.assign({},a),{p:Jp(a,A),coercion:Vu(o,A)}))&&u,!(!u&&a?.errors==null));++A);return u}})}function TP(t,{keys:e=null}={}){let r=FP(RP([e??Sm(),t]));return qr({test:(o,a)=>{var n;if(Array.isArray(o)&&typeof a?.coercions<"u")return typeof a?.coercion>"u"?gr(a,"Unbound coercion result"):r(o,Object.assign(Object.assign({},a),{coercion:void 0}))?(o=Object.fromEntries(o),a.coercions.push([(n=a.p)!==null&&n!==void 0?n:".",a.coercion.bind(null,o)]),!0):!1;if(typeof o!="object"||o===null)return gr(a,`Expected an object (got ${Vn(o)})`);let u=Object.keys(o),A=!0;for(let p=0,h=u.length;p<h&&(A||a?.errors!=null);++p){let E=u[p],w=o[E];if(E==="__proto__"||E==="constructor"){A=gr(Object.assign(Object.assign({},a),{p:Jp(a,E)}),"Unsafe property name");continue}if(e!==null&&!e(E,a)){A=!1;continue}if(!t(w,Object.assign(Object.assign({},a),{p:Jp(a,E),coercion:Vu(o,E)}))){A=!1;continue}}return A}})}function $6e(t,e={}){return TP(t,e)}function ZV(t,{extra:e=null}={}){let r=Object.keys(t),o=qr({test:(a,n)=>{if(typeof a!="object"||a===null)return gr(n,`Expected an object (got ${Vn(a)})`);let u=new Set([...r,...Object.keys(a)]),A={},p=!0;for(let h of u){if(h==="constructor"||h==="__proto__")p=gr(Object.assign(Object.assign({},n),{p:Jp(n,h)}),"Unsafe property name");else{let E=Object.prototype.hasOwnProperty.call(t,h)?t[h]:void 0,w=Object.prototype.hasOwnProperty.call(a,h)?a[h]:void 0;typeof E<"u"?p=E(w,Object.assign(Object.assign({},n),{p:Jp(n,h),coercion:Vu(a,h)}))&&p:e===null?p=gr(Object.assign(Object.assign({},n),{p:Jp(n,h)}),`Extraneous property (got ${Vn(w)})`):Object.defineProperty(A,h,{enumerable:!0,get:()=>w,set:Y6e(a,h)})}if(!p&&n?.errors==null)break}return e!==null&&(p||n?.errors!=null)&&(p=e(A,n)&&p),p}});return Object.assign(o,{properties:t})}function eqe(t){return ZV(t,{extra:TP(AN())})}function $V(t){return()=>t}function qr({test:t}){return $V(t)()}function rqe(t,e){if(!e(t))throw new zp}function nqe(t,e){let r=[];if(!e(t,{errors:r}))throw new zp({errors:r})}function iqe(t,e){}function sqe(t,e,{coerce:r=!1,errors:o,throw:a}={}){let n=o?[]:void 0;if(!r){if(e(t,{errors:n}))return a?t:{value:t,errors:void 0};if(a)throw new zp({errors:n});return{value:void 0,errors:n??!0}}let u={value:t},A=Vu(u,"value"),p=[];if(!e(t,{errors:n,coercion:A,coercions:p})){if(a)throw new zp({errors:n});return{value:void 0,errors:n??!0}}for(let[,h]of p)h();return a?u.value:{value:u.value,errors:void 0}}function oqe(t,e){let r=RP(t);return(...o)=>{if(!r(o))throw new zp;return e(...o)}}function aqe(t){return qr({test:(e,r)=>e.length>=t?!0:gr(r,`Expected to have a length of at least ${t} elements (got ${e.length})`)})}function lqe(t){return qr({test:(e,r)=>e.length<=t?!0:gr(r,`Expected to have a length of at most ${t} elements (got ${e.length})`)})}function eJ(t){return qr({test:(e,r)=>e.length!==t?gr(r,`Expected to have a length of exactly ${t} elements (got ${e.length})`):!0})}function cqe({map:t}={}){return qr({test:(e,r)=>{let o=new Set,a=new Set;for(let n=0,u=e.length;n<u;++n){let A=e[n],p=typeof t<"u"?t(A):A;if(o.has(p)){if(a.has(p))continue;gr(r,`Expected to contain unique elements; got a duplicate with ${Vn(e)}`),a.add(p)}else o.add(p)}return a.size===0}})}function uqe(){return qr({test:(t,e)=>t<=0?!0:gr(e,`Expected to be negative (got ${t})`)})}function Aqe(){return qr({test:(t,e)=>t>=0?!0:gr(e,`Expected to be positive (got ${t})`)})}function hN(t){return qr({test:(e,r)=>e>=t?!0:gr(r,`Expected to be at least ${t} (got ${e})`)})}function fqe(t){return qr({test:(e,r)=>e<=t?!0:gr(r,`Expected to be at most ${t} (got ${e})`)})}function pqe(t,e){return qr({test:(r,o)=>r>=t&&r<=e?!0:gr(o,`Expected to be in the [${t}; ${e}] range (got ${r})`)})}function hqe(t,e){return qr({test:(r,o)=>r>=t&&r<e?!0:gr(o,`Expected to be in the [${t}; ${e}[ range (got ${r})`)})}function gN({unsafe:t=!1}={}){return qr({test:(e,r)=>e!==Math.round(e)?gr(r,`Expected to be an integer (got ${e})`):!t&&!Number.isSafeInteger(e)?gr(r,`Expected to be a safe integer (got ${e})`):!0})}function Bw(t){return qr({test:(e,r)=>t.test(e)?!0:gr(r,`Expected to match the pattern ${t.toString()} (got ${Vn(e)})`)})}function gqe(){return qr({test:(t,e)=>t!==t.toLowerCase()?gr(e,`Expected to be all-lowercase (got ${t})`):!0})}function dqe(){return qr({test:(t,e)=>t!==t.toUpperCase()?gr(e,`Expected to be all-uppercase (got ${t})`):!0})}function mqe(){return qr({test:(t,e)=>W6e.test(t)?!0:gr(e,`Expected to be a valid UUID v4 (got ${Vn(t)})`)})}function yqe(){return qr({test:(t,e)=>zV.test(t)?!0:gr(e,`Expected to be a valid ISO 8601 date string (got ${Vn(t)})`)})}function Eqe({alpha:t=!1}){return qr({test:(e,r)=>(t?q6e.test(e):j6e.test(e))?!0:gr(r,`Expected to be a valid hexadecimal color string (got ${Vn(e)})`)})}function Cqe(){return qr({test:(t,e)=>G6e.test(t)?!0:gr(e,`Expected to be a valid base 64 string (got ${Vn(t)})`)})}function Iqe(t=AN()){return qr({test:(e,r)=>{let o;try{o=JSON.parse(e)}catch{return gr(r,`Expected to be a valid JSON string (got ${Vn(e)})`)}return t(o,r)}})}function NP(t,...e){let r=Array.isArray(e[0])?e[0]:e;return qr({test:(o,a)=>{var n,u;let A={value:o},p=typeof a?.coercions<"u"?Vu(A,"value"):void 0,h=typeof a?.coercions<"u"?[]:void 0;if(!t(o,Object.assign(Object.assign({},a),{coercion:p,coercions:h})))return!1;let E=[];if(typeof h<"u")for(let[,w]of h)E.push(w());try{if(typeof a?.coercions<"u"){if(A.value!==o){if(typeof a?.coercion>"u")return gr(a,"Unbound coercion result");a.coercions.push([(n=a.p)!==null&&n!==void 0?n:".",a.coercion.bind(null,A.value)])}(u=a?.coercions)===null||u===void 0||u.push(...h)}return r.every(w=>w(A.value,a))}finally{for(let w of E)w()}}})}function vw(t,...e){let r=Array.isArray(e[0])?e[0]:e;return NP(t,r)}function wqe(t){return qr({test:(e,r)=>typeof e>"u"?!0:t(e,r)})}function Bqe(t){return qr({test:(e,r)=>e===null?!0:t(e,r)})}function vqe(t,e){var r;let o=new Set(t),a=Dw[(r=e?.missingIf)!==null&&r!==void 0?r:"missing"];return qr({test:(n,u)=>{let A=new Set(Object.keys(n)),p=[];for(let h of o)a(A,h,n)||p.push(h);return p.length>0?gr(u,`Missing required ${uN(p.length,"property","properties")} ${Pm(p,"and")}`):!0}})}function dN(t,e){var r;let o=new Set(t),a=Dw[(r=e?.missingIf)!==null&&r!==void 0?r:"missing"];return qr({test:(n,u)=>Object.keys(n).some(h=>a(o,h,n))?!0:gr(u,`Missing at least one property from ${Pm(Array.from(o),"or")}`)})}function Dqe(t,e){var r;let o=new Set(t),a=Dw[(r=e?.missingIf)!==null&&r!==void 0?r:"missing"];return qr({test:(n,u)=>{let A=new Set(Object.keys(n)),p=[];for(let h of o)a(A,h,n)&&p.push(h);return p.length>0?gr(u,`Forbidden ${uN(p.length,"property","properties")} ${Pm(p,"and")}`):!0}})}function Pqe(t,e){var r;let o=new Set(t),a=Dw[(r=e?.missingIf)!==null&&r!==void 0?r:"missing"];return qr({test:(n,u)=>{let A=new Set(Object.keys(n)),p=[];for(let h of o)a(A,h,n)&&p.push(h);return p.length>1?gr(u,`Mutually exclusive properties ${Pm(p,"and")}`):!0}})}function Pw(t,e,r,o){var a,n;let u=new Set((a=o?.ignore)!==null&&a!==void 0?a:[]),A=Dw[(n=o?.missingIf)!==null&&n!==void 0?n:"missing"],p=new Set(r),h=Sqe[e],E=e===Ku.Forbids?"or":"and";return qr({test:(w,D)=>{let x=new Set(Object.keys(w));if(!A(x,t,w)||u.has(w[t]))return!0;let C=[];for(let T of p)(A(x,T,w)&&!u.has(w[T]))!==h.expect&&C.push(T);return C.length>=1?gr(D,`Property "${t}" ${h.message} ${uN(C.length,"property","properties")} ${Pm(C,E)}`):!0}})}var H6e,q6e,j6e,G6e,W6e,zV,K6e,tqe,pN,zp,Dw,Ku,Sqe,il=It(()=>{H6e=/^[a-zA-Z_][a-zA-Z0-9_]*$/;q6e=/^#[0-9a-f]{6}$/i,j6e=/^#[0-9a-f]{6}([0-9a-f]{2})?$/i,G6e=/^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$/,W6e=/^[a-f0-9]{8}-[a-f0-9]{4}-4[a-f0-9]{3}-[89aAbB][a-f0-9]{3}-[a-f0-9]{12}$/i,zV=/^(?:[1-9]\d{3}(-?)(?:(?:0[1-9]|1[0-2])\1(?:0[1-9]|1\d|2[0-8])|(?:0[13-9]|1[0-2])\1(?:29|30)|(?:0[13578]|1[02])(?:\1)31|00[1-9]|0[1-9]\d|[12]\d{2}|3(?:[0-5]\d|6[0-5]))|(?:[1-9]\d(?:0[48]|[2468][048]|[13579][26])|(?:[2468][048]|[13579][26])00)(?:(-?)02(?:\2)29|-?366))T(?:[01]\d|2[0-3])(:?)[0-5]\d(?:\3[0-5]\d)?(?:Z|[+-][01]\d(?:\3[0-5]\d)?)$/;K6e=new Map([["true",!0],["True",!0],["1",!0],[1,!0],["false",!1],["False",!1],["0",!1],[0,!1]]);tqe=t=>qr({test:(e,r)=>e instanceof t?!0:gr(r,`Expected an instance of ${t.name} (got ${Vn(e)})`)}),pN=(t,{exclusive:e=!1}={})=>qr({test:(r,o)=>{var a,n,u;let A=[],p=typeof o?.errors<"u"?[]:void 0;for(let h=0,E=t.length;h<E;++h){let w=typeof o?.errors<"u"?[]:void 0,D=typeof o?.coercions<"u"?[]:void 0;if(t[h](r,Object.assign(Object.assign({},o),{errors:w,coercions:D,p:`${(a=o?.p)!==null&&a!==void 0?a:"."}#${h+1}`}))){if(A.push([`#${h+1}`,D]),!e)break}else p?.push(w[0])}if(A.length===1){let[,h]=A[0];return typeof h<"u"&&((n=o?.coercions)===null||n===void 0||n.push(...h)),!0}return A.length>1?gr(o,`Expected to match exactly a single predicate (matched ${A.join(", ")})`):(u=o?.errors)===null||u===void 0||u.push(...p),!1}});zp=class extends Error{constructor({errors:e}={}){let r="Type mismatch";if(e&&e.length>0){r+=` +`;for(let o of e)r+=` +- ${o}`}super(r)}};Dw={missing:(t,e)=>t.has(e),undefined:(t,e,r)=>t.has(e)&&typeof r[e]<"u",nil:(t,e,r)=>t.has(e)&&r[e]!=null,falsy:(t,e,r)=>t.has(e)&&!!r[e]};(function(t){t.Forbids="Forbids",t.Requires="Requires"})(Ku||(Ku={}));Sqe={[Ku.Forbids]:{expect:!1,message:"forbids using"},[Ku.Requires]:{expect:!0,message:"requires using"}}});var ot,Xp=It(()=>{yf();ot=class{constructor(){this.help=!1}static Usage(e){return e}async catch(e){throw e}async validateAndExecute(){let r=this.constructor.schema;if(Array.isArray(r)){let{isDict:a,isUnknown:n,applyCascade:u}=await Promise.resolve().then(()=>(il(),Yo)),A=u(a(n()),r),p=[],h=[];if(!A(this,{errors:p,coercions:h}))throw Iw("Invalid option schema",p);for(let[,w]of h)w()}else if(r!=null)throw new Error("Invalid command schema");let o=await this.execute();return typeof o<"u"?o:0}};ot.isOption=Cw;ot.Default=[]});function Sa(t){oN&&console.log(t)}function rJ(){let t={nodes:[]};for(let e=0;e<pn.CustomNode;++e)t.nodes.push(sl());return t}function bqe(t){let e=rJ(),r=[],o=e.nodes.length;for(let a of t){r.push(o);for(let n=0;n<a.nodes.length;++n)iJ(n)||e.nodes.push(Lqe(a.nodes[n],o));o+=a.nodes.length-pn.CustomNode+1}for(let a of r)bm(e,pn.InitialNode,a);return e}function jc(t,e){return t.nodes.push(e),t.nodes.length-1}function xqe(t){let e=new Set,r=o=>{if(e.has(o))return;e.add(o);let a=t.nodes[o];for(let u of Object.values(a.statics))for(let{to:A}of u)r(A);for(let[,{to:u}]of a.dynamics)r(u);for(let{to:u}of a.shortcuts)r(u);let n=new Set(a.shortcuts.map(({to:u})=>u));for(;a.shortcuts.length>0;){let{to:u}=a.shortcuts.shift(),A=t.nodes[u];for(let[p,h]of Object.entries(A.statics)){let E=Object.prototype.hasOwnProperty.call(a.statics,p)?a.statics[p]:a.statics[p]=[];for(let w of h)E.some(({to:D})=>w.to===D)||E.push(w)}for(let[p,h]of A.dynamics)a.dynamics.some(([E,{to:w}])=>p===E&&h.to===w)||a.dynamics.push([p,h]);for(let p of A.shortcuts)n.has(p.to)||(a.shortcuts.push(p),n.add(p.to))}};r(pn.InitialNode)}function kqe(t,{prefix:e=""}={}){if(oN){Sa(`${e}Nodes are:`);for(let r=0;r<t.nodes.length;++r)Sa(`${e} ${r}: ${JSON.stringify(t.nodes[r])}`)}}function Qqe(t,e,r=!1){Sa(`Running a vm on ${JSON.stringify(e)}`);let o=[{node:pn.InitialNode,state:{candidateUsage:null,requiredOptions:[],errorMessage:null,ignoreOptions:!1,options:[],path:[],positionals:[],remainder:null,selectedIndex:null,partial:!1,tokens:[]}}];kqe(t,{prefix:" "});let a=[Kn.StartOfInput,...e];for(let n=0;n<a.length;++n){let u=a[n],A=u===Kn.EndOfInput||u===Kn.EndOfPartialInput,p=n-1;Sa(` Processing ${JSON.stringify(u)}`);let h=[];for(let{node:E,state:w}of o){Sa(` Current node is ${E}`);let D=t.nodes[E];if(E===pn.ErrorNode){h.push({node:E,state:w});continue}console.assert(D.shortcuts.length===0,"Shortcuts should have been eliminated by now");let x=Object.prototype.hasOwnProperty.call(D.statics,u);if(!r||n<a.length-1||x)if(x){let C=D.statics[u];for(let{to:T,reducer:L}of C)h.push({node:T,state:typeof L<"u"?LP(yN,L,w,u,p):w}),Sa(` Static transition to ${T} found`)}else Sa(" No static transition found");else{let C=!1;for(let T of Object.keys(D.statics))if(T.startsWith(u)){if(u===T)for(let{to:L,reducer:U}of D.statics[T])h.push({node:L,state:typeof U<"u"?LP(yN,U,w,u,p):w}),Sa(` Static transition to ${L} found`);else for(let{to:L}of D.statics[T])h.push({node:L,state:{...w,remainder:T.slice(u.length)}}),Sa(` Static transition to ${L} found (partial match)`);C=!0}C||Sa(" No partial static transition found")}if(!A)for(let[C,{to:T,reducer:L}]of D.dynamics)LP(Oqe,C,w,u,p)&&(h.push({node:T,state:typeof L<"u"?LP(yN,L,w,u,p):w}),Sa(` Dynamic transition to ${T} found (via ${C})`))}if(h.length===0&&A&&e.length===1)return[{node:pn.InitialNode,state:tJ}];if(h.length===0)throw new Dm(e,o.filter(({node:E})=>E!==pn.ErrorNode).map(({state:E})=>({usage:E.candidateUsage,reason:null})));if(h.every(({node:E})=>E===pn.ErrorNode))throw new Dm(e,h.map(({state:E})=>({usage:E.candidateUsage,reason:E.errorMessage})));o=Rqe(h)}if(o.length>0){Sa(" Results:");for(let n of o)Sa(` - ${n.node} -> ${JSON.stringify(n.state)}`)}else Sa(" No results");return o}function Fqe(t,e,{endToken:r=Kn.EndOfInput}={}){let o=Qqe(t,[...e,r]);return Tqe(e,o.map(({state:a})=>a))}function Rqe(t){let e=0;for(let{state:r}of t)r.path.length>e&&(e=r.path.length);return t.filter(({state:r})=>r.path.length===e)}function Tqe(t,e){let r=e.filter(D=>D.selectedIndex!==null),o=r.filter(D=>!D.partial);if(o.length>0&&(r=o),r.length===0)throw new Error;let a=r.filter(D=>D.selectedIndex===og||D.requiredOptions.every(x=>x.some(C=>D.options.find(T=>T.name===C))));if(a.length===0)throw new Dm(t,r.map(D=>({usage:D.candidateUsage,reason:null})));let n=0;for(let D of a)D.path.length>n&&(n=D.path.length);let u=a.filter(D=>D.path.length===n),A=D=>D.positionals.filter(({extra:x})=>!x).length+D.options.length,p=u.map(D=>({state:D,positionalCount:A(D)})),h=0;for(let{positionalCount:D}of p)D>h&&(h=D);let E=p.filter(({positionalCount:D})=>D===h).map(({state:D})=>D),w=Nqe(E);if(w.length>1)throw new xP(t,w.map(D=>D.candidateUsage));return w[0]}function Nqe(t){let e=[],r=[];for(let o of t)o.selectedIndex===og?r.push(o):e.push(o);return r.length>0&&e.push({...tJ,path:nJ(...r.map(o=>o.path)),options:r.reduce((o,a)=>o.concat(a.options),[])}),e}function nJ(t,e,...r){return e===void 0?Array.from(t):nJ(t.filter((o,a)=>o===e[a]),...r)}function sl(){return{dynamics:[],shortcuts:[],statics:{}}}function iJ(t){return t===pn.SuccessNode||t===pn.ErrorNode}function mN(t,e=0){return{to:iJ(t.to)?t.to:t.to>=pn.CustomNode?t.to+e-pn.CustomNode+1:t.to+e,reducer:t.reducer}}function Lqe(t,e=0){let r=sl();for(let[o,a]of t.dynamics)r.dynamics.push([o,mN(a,e)]);for(let o of t.shortcuts)r.shortcuts.push(mN(o,e));for(let[o,a]of Object.entries(t.statics))r.statics[o]=a.map(n=>mN(n,e));return r}function Bs(t,e,r,o,a){t.nodes[e].dynamics.push([r,{to:o,reducer:a}])}function bm(t,e,r,o){t.nodes[e].shortcuts.push({to:r,reducer:o})}function Ko(t,e,r,o,a){(Object.prototype.hasOwnProperty.call(t.nodes[e].statics,r)?t.nodes[e].statics[r]:t.nodes[e].statics[r]=[]).push({to:o,reducer:a})}function LP(t,e,r,o,a){if(Array.isArray(e)){let[n,...u]=e;return t[n](r,o,a,...u)}else return t[e](r,o,a)}var tJ,Oqe,yN,ol,EN,OP,MP=It(()=>{bP();kP();tJ={candidateUsage:null,requiredOptions:[],errorMessage:null,ignoreOptions:!1,path:[],positionals:[],options:[],remainder:null,selectedIndex:og,partial:!1,tokens:[]};Oqe={always:()=>!0,isOptionLike:(t,e)=>!t.ignoreOptions&&e!=="-"&&e.startsWith("-"),isNotOptionLike:(t,e)=>t.ignoreOptions||e==="-"||!e.startsWith("-"),isOption:(t,e,r,o)=>!t.ignoreOptions&&e===o,isBatchOption:(t,e,r,o)=>!t.ignoreOptions&&KV.test(e)&&[...e.slice(1)].every(a=>o.has(`-${a}`)),isBoundOption:(t,e,r,o,a)=>{let n=e.match(sN);return!t.ignoreOptions&&!!n&&SP.test(n[1])&&o.has(n[1])&&a.filter(u=>u.nameSet.includes(n[1])).every(u=>u.allowBinding)},isNegatedOption:(t,e,r,o)=>!t.ignoreOptions&&e===`--no-${o.slice(2)}`,isHelp:(t,e)=>!t.ignoreOptions&&iN.test(e),isUnsupportedOption:(t,e,r,o)=>!t.ignoreOptions&&e.startsWith("-")&&SP.test(e)&&!o.has(e),isInvalidOption:(t,e)=>!t.ignoreOptions&&e.startsWith("-")&&!SP.test(e)},yN={setCandidateState:(t,e,r,o)=>({...t,...o}),setSelectedIndex:(t,e,r,o)=>({...t,selectedIndex:o}),setPartialIndex:(t,e,r,o)=>({...t,selectedIndex:o,partial:!0}),pushBatch:(t,e,r,o)=>{let a=t.options.slice(),n=t.tokens.slice();for(let u=1;u<e.length;++u){let A=o.get(`-${e[u]}`),p=u===1?[0,2]:[u,u+1];a.push({name:A,value:!0}),n.push({segmentIndex:r,type:"option",option:A,slice:p})}return{...t,options:a,tokens:n}},pushBound:(t,e,r)=>{let[,o,a]=e.match(sN),n=t.options.concat({name:o,value:a}),u=t.tokens.concat([{segmentIndex:r,type:"option",slice:[0,o.length],option:o},{segmentIndex:r,type:"assign",slice:[o.length,o.length+1]},{segmentIndex:r,type:"value",slice:[o.length+1,o.length+a.length+1]}]);return{...t,options:n,tokens:u}},pushPath:(t,e,r)=>{let o=t.path.concat(e),a=t.tokens.concat({segmentIndex:r,type:"path"});return{...t,path:o,tokens:a}},pushPositional:(t,e,r)=>{let o=t.positionals.concat({value:e,extra:!1}),a=t.tokens.concat({segmentIndex:r,type:"positional"});return{...t,positionals:o,tokens:a}},pushExtra:(t,e,r)=>{let o=t.positionals.concat({value:e,extra:!0}),a=t.tokens.concat({segmentIndex:r,type:"positional"});return{...t,positionals:o,tokens:a}},pushExtraNoLimits:(t,e,r)=>{let o=t.positionals.concat({value:e,extra:ol}),a=t.tokens.concat({segmentIndex:r,type:"positional"});return{...t,positionals:o,tokens:a}},pushTrue:(t,e,r,o)=>{let a=t.options.concat({name:o,value:!0}),n=t.tokens.concat({segmentIndex:r,type:"option",option:o});return{...t,options:a,tokens:n}},pushFalse:(t,e,r,o)=>{let a=t.options.concat({name:o,value:!1}),n=t.tokens.concat({segmentIndex:r,type:"option",option:o});return{...t,options:a,tokens:n}},pushUndefined:(t,e,r,o)=>{let a=t.options.concat({name:e,value:void 0}),n=t.tokens.concat({segmentIndex:r,type:"option",option:e});return{...t,options:a,tokens:n}},pushStringValue:(t,e,r)=>{var o;let a=t.options[t.options.length-1],n=t.options.slice(),u=t.tokens.concat({segmentIndex:r,type:"value"});return a.value=((o=a.value)!==null&&o!==void 0?o:[]).concat([e]),{...t,options:n,tokens:u}},setStringValue:(t,e,r)=>{let o=t.options[t.options.length-1],a=t.options.slice(),n=t.tokens.concat({segmentIndex:r,type:"value"});return o.value=e,{...t,options:a,tokens:n}},inhibateOptions:t=>({...t,ignoreOptions:!0}),useHelp:(t,e,r,o)=>{let[,,a]=e.match(iN);return typeof a<"u"?{...t,options:[{name:"-c",value:String(o)},{name:"-i",value:a}]}:{...t,options:[{name:"-c",value:String(o)}]}},setError:(t,e,r,o)=>e===Kn.EndOfInput||e===Kn.EndOfPartialInput?{...t,errorMessage:`${o}.`}:{...t,errorMessage:`${o} ("${e}").`},setOptionArityError:(t,e)=>{let r=t.options[t.options.length-1];return{...t,errorMessage:`Not enough arguments to option ${r.name}.`}}},ol=Symbol(),EN=class{constructor(e,r){this.allOptionNames=new Map,this.arity={leading:[],trailing:[],extra:[],proxy:!1},this.options=[],this.paths=[],this.cliIndex=e,this.cliOpts=r}addPath(e){this.paths.push(e)}setArity({leading:e=this.arity.leading,trailing:r=this.arity.trailing,extra:o=this.arity.extra,proxy:a=this.arity.proxy}){Object.assign(this.arity,{leading:e,trailing:r,extra:o,proxy:a})}addPositional({name:e="arg",required:r=!0}={}){if(!r&&this.arity.extra===ol)throw new Error("Optional parameters cannot be declared when using .rest() or .proxy()");if(!r&&this.arity.trailing.length>0)throw new Error("Optional parameters cannot be declared after the required trailing positional arguments");!r&&this.arity.extra!==ol?this.arity.extra.push(e):this.arity.extra!==ol&&this.arity.extra.length===0?this.arity.leading.push(e):this.arity.trailing.push(e)}addRest({name:e="arg",required:r=0}={}){if(this.arity.extra===ol)throw new Error("Infinite lists cannot be declared multiple times in the same command");if(this.arity.trailing.length>0)throw new Error("Infinite lists cannot be declared after the required trailing positional arguments");for(let o=0;o<r;++o)this.addPositional({name:e});this.arity.extra=ol}addProxy({required:e=0}={}){this.addRest({required:e}),this.arity.proxy=!0}addOption({names:e,description:r,arity:o=0,hidden:a=!1,required:n=!1,allowBinding:u=!0}){if(!u&&o>1)throw new Error("The arity cannot be higher than 1 when the option only supports the --arg=value syntax");if(!Number.isInteger(o))throw new Error(`The arity must be an integer, got ${o}`);if(o<0)throw new Error(`The arity must be positive, got ${o}`);let A=e.reduce((p,h)=>h.length>p.length?h:p,"");for(let p of e)this.allOptionNames.set(p,A);this.options.push({preferredName:A,nameSet:e,description:r,arity:o,hidden:a,required:n,allowBinding:u})}setContext(e){this.context=e}usage({detailed:e=!0,inlineOptions:r=!0}={}){let o=[this.cliOpts.binaryName],a=[];if(this.paths.length>0&&o.push(...this.paths[0]),e){for(let{preferredName:u,nameSet:A,arity:p,hidden:h,description:E,required:w}of this.options){if(h)continue;let D=[];for(let C=0;C<p;++C)D.push(` #${C}`);let x=`${A.join(",")}${D.join("")}`;!r&&E?a.push({preferredName:u,nameSet:A,definition:x,description:E,required:w}):o.push(w?`<${x}>`:`[${x}]`)}o.push(...this.arity.leading.map(u=>`<${u}>`)),this.arity.extra===ol?o.push("..."):o.push(...this.arity.extra.map(u=>`[${u}]`)),o.push(...this.arity.trailing.map(u=>`<${u}>`))}return{usage:o.join(" "),options:a}}compile(){if(typeof this.context>"u")throw new Error("Assertion failed: No context attached");let e=rJ(),r=pn.InitialNode,o=this.usage().usage,a=this.options.filter(A=>A.required).map(A=>A.nameSet);r=jc(e,sl()),Ko(e,pn.InitialNode,Kn.StartOfInput,r,["setCandidateState",{candidateUsage:o,requiredOptions:a}]);let n=this.arity.proxy?"always":"isNotOptionLike",u=this.paths.length>0?this.paths:[[]];for(let A of u){let p=r;if(A.length>0){let D=jc(e,sl());bm(e,p,D),this.registerOptions(e,D),p=D}for(let D=0;D<A.length;++D){let x=jc(e,sl());Ko(e,p,A[D],x,"pushPath"),p=x}if(this.arity.leading.length>0||!this.arity.proxy){let D=jc(e,sl());Bs(e,p,"isHelp",D,["useHelp",this.cliIndex]),Bs(e,D,"always",D,"pushExtra"),Ko(e,D,Kn.EndOfInput,pn.SuccessNode,["setSelectedIndex",og]),this.registerOptions(e,p)}this.arity.leading.length>0&&(Ko(e,p,Kn.EndOfInput,pn.ErrorNode,["setError","Not enough positional arguments"]),Ko(e,p,Kn.EndOfPartialInput,pn.SuccessNode,["setPartialIndex",this.cliIndex]));let h=p;for(let D=0;D<this.arity.leading.length;++D){let x=jc(e,sl());(!this.arity.proxy||D+1!==this.arity.leading.length)&&this.registerOptions(e,x),(this.arity.trailing.length>0||D+1!==this.arity.leading.length)&&(Ko(e,x,Kn.EndOfInput,pn.ErrorNode,["setError","Not enough positional arguments"]),Ko(e,x,Kn.EndOfPartialInput,pn.SuccessNode,["setPartialIndex",this.cliIndex])),Bs(e,h,"isNotOptionLike",x,"pushPositional"),h=x}let E=h;if(this.arity.extra===ol||this.arity.extra.length>0){let D=jc(e,sl());if(bm(e,h,D),this.arity.extra===ol){let x=jc(e,sl());this.arity.proxy||this.registerOptions(e,x),Bs(e,h,n,x,"pushExtraNoLimits"),Bs(e,x,n,x,"pushExtraNoLimits"),bm(e,x,D)}else for(let x=0;x<this.arity.extra.length;++x){let C=jc(e,sl());(!this.arity.proxy||x>0)&&this.registerOptions(e,C),Bs(e,E,n,C,"pushExtra"),bm(e,C,D),E=C}E=D}this.arity.trailing.length>0&&(Ko(e,E,Kn.EndOfInput,pn.ErrorNode,["setError","Not enough positional arguments"]),Ko(e,E,Kn.EndOfPartialInput,pn.SuccessNode,["setPartialIndex",this.cliIndex]));let w=E;for(let D=0;D<this.arity.trailing.length;++D){let x=jc(e,sl());this.arity.proxy||this.registerOptions(e,x),D+1<this.arity.trailing.length&&(Ko(e,x,Kn.EndOfInput,pn.ErrorNode,["setError","Not enough positional arguments"]),Ko(e,x,Kn.EndOfPartialInput,pn.SuccessNode,["setPartialIndex",this.cliIndex])),Bs(e,w,"isNotOptionLike",x,"pushPositional"),w=x}Bs(e,w,n,pn.ErrorNode,["setError","Extraneous positional argument"]),Ko(e,w,Kn.EndOfInput,pn.SuccessNode,["setSelectedIndex",this.cliIndex]),Ko(e,w,Kn.EndOfPartialInput,pn.SuccessNode,["setSelectedIndex",this.cliIndex])}return{machine:e,context:this.context}}registerOptions(e,r){Bs(e,r,["isOption","--"],r,"inhibateOptions"),Bs(e,r,["isBatchOption",this.allOptionNames],r,["pushBatch",this.allOptionNames]),Bs(e,r,["isBoundOption",this.allOptionNames,this.options],r,"pushBound"),Bs(e,r,["isUnsupportedOption",this.allOptionNames],pn.ErrorNode,["setError","Unsupported option name"]),Bs(e,r,["isInvalidOption"],pn.ErrorNode,["setError","Invalid option name"]);for(let o of this.options)if(o.arity===0)for(let a of o.nameSet)Bs(e,r,["isOption",a],r,["pushTrue",o.preferredName]),a.startsWith("--")&&!a.startsWith("--no-")&&Bs(e,r,["isNegatedOption",a],r,["pushFalse",o.preferredName]);else{let a=jc(e,sl());for(let n of o.nameSet)Bs(e,r,["isOption",n],a,["pushUndefined",o.preferredName]);for(let n=0;n<o.arity;++n){let u=jc(e,sl());Ko(e,a,Kn.EndOfInput,pn.ErrorNode,"setOptionArityError"),Ko(e,a,Kn.EndOfPartialInput,pn.ErrorNode,"setOptionArityError"),Bs(e,a,"isOptionLike",pn.ErrorNode,"setOptionArityError");let A=o.arity===1?"setStringValue":"pushStringValue";Bs(e,a,"isNotOptionLike",u,A),a=u}bm(e,a,r)}}},OP=class t{constructor({binaryName:e="..."}={}){this.builders=[],this.opts={binaryName:e}}static build(e,r={}){return new t(r).commands(e).compile()}getBuilderByIndex(e){if(!(e>=0&&e<this.builders.length))throw new Error(`Assertion failed: Out-of-bound command index (${e})`);return this.builders[e]}commands(e){for(let r of e)r(this.command());return this}command(){let e=new EN(this.builders.length,this.opts);return this.builders.push(e),e}compile(){let e=[],r=[];for(let a of this.builders){let{machine:n,context:u}=a.compile();e.push(n),r.push(u)}let o=bqe(e);return xqe(o),{machine:o,contexts:r,process:(a,{partial:n}={})=>{let u=n?Kn.EndOfPartialInput:Kn.EndOfInput;return Fqe(o,a,{endToken:u})}}}}});function oJ(){return UP.default&&"getColorDepth"in UP.default.WriteStream.prototype?UP.default.WriteStream.prototype.getColorDepth():process.env.FORCE_COLOR==="0"?1:process.env.FORCE_COLOR==="1"||typeof process.stdout<"u"&&process.stdout.isTTY?8:1}function aJ(t){let e=sJ;if(typeof e>"u"){if(t.stdout===process.stdout&&t.stderr===process.stderr)return null;let{AsyncLocalStorage:r}=ve("async_hooks");e=sJ=new r;let o=process.stdout._write;process.stdout._write=function(n,u,A){let p=e.getStore();return typeof p>"u"?o.call(this,n,u,A):p.stdout.write(n,u,A)};let a=process.stderr._write;process.stderr._write=function(n,u,A){let p=e.getStore();return typeof p>"u"?a.call(this,n,u,A):p.stderr.write(n,u,A)}}return r=>e.run(t,r)}var UP,sJ,lJ=It(()=>{UP=et(ve("tty"),1)});var _P,cJ=It(()=>{Xp();_P=class t extends ot{constructor(e){super(),this.contexts=e,this.commands=[]}static from(e,r){let o=new t(r);o.path=e.path;for(let a of e.options)switch(a.name){case"-c":o.commands.push(Number(a.value));break;case"-i":o.index=Number(a.value);break}return o}async execute(){let e=this.commands;if(typeof this.index<"u"&&this.index>=0&&this.index<e.length&&(e=[e[this.index]]),e.length===0)this.context.stdout.write(this.cli.usage());else if(e.length===1)this.context.stdout.write(this.cli.usage(this.contexts[e[0]].commandClass,{detailed:!0}));else if(e.length>1){this.context.stdout.write(`Multiple commands match your selection: +`),this.context.stdout.write(` +`);let r=0;for(let o of this.commands)this.context.stdout.write(this.cli.usage(this.contexts[o].commandClass,{prefix:`${r++}. `.padStart(5)}));this.context.stdout.write(` +`),this.context.stdout.write(`Run again with -h=<index> to see the longer details of any of those commands. +`)}}}});async function fJ(...t){let{resolvedOptions:e,resolvedCommandClasses:r,resolvedArgv:o,resolvedContext:a}=hJ(t);return Vo.from(r,e).runExit(o,a)}async function pJ(...t){let{resolvedOptions:e,resolvedCommandClasses:r,resolvedArgv:o,resolvedContext:a}=hJ(t);return Vo.from(r,e).run(o,a)}function hJ(t){let e,r,o,a;switch(typeof process<"u"&&typeof process.argv<"u"&&(o=process.argv.slice(2)),t.length){case 1:r=t[0];break;case 2:t[0]&&t[0].prototype instanceof ot||Array.isArray(t[0])?(r=t[0],Array.isArray(t[1])?o=t[1]:a=t[1]):(e=t[0],r=t[1]);break;case 3:Array.isArray(t[2])?(e=t[0],r=t[1],o=t[2]):t[0]&&t[0].prototype instanceof ot||Array.isArray(t[0])?(r=t[0],o=t[1],a=t[2]):(e=t[0],r=t[1],a=t[2]);break;default:e=t[0],r=t[1],o=t[2],a=t[3];break}if(typeof o>"u")throw new Error("The argv parameter must be provided when running Clipanion outside of a Node context");return{resolvedOptions:e,resolvedCommandClasses:r,resolvedArgv:o,resolvedContext:a}}function AJ(t){return t()}var uJ,Vo,gJ=It(()=>{bP();MP();cN();lJ();Xp();cJ();uJ=Symbol("clipanion/errorCommand");Vo=class t{constructor({binaryLabel:e,binaryName:r="...",binaryVersion:o,enableCapture:a=!1,enableColors:n}={}){this.registrations=new Map,this.builder=new OP({binaryName:r}),this.binaryLabel=e,this.binaryName=r,this.binaryVersion=o,this.enableCapture=a,this.enableColors=n}static from(e,r={}){let o=new t(r),a=Array.isArray(e)?e:[e];for(let n of a)o.register(n);return o}register(e){var r;let o=new Map,a=new e;for(let p in a){let h=a[p];typeof h=="object"&&h!==null&&h[ot.isOption]&&o.set(p,h)}let n=this.builder.command(),u=n.cliIndex,A=(r=e.paths)!==null&&r!==void 0?r:a.paths;if(typeof A<"u")for(let p of A)n.addPath(p);this.registrations.set(e,{specs:o,builder:n,index:u});for(let[p,{definition:h}]of o.entries())h(n,p);n.setContext({commandClass:e})}process(e,r){let{input:o,context:a,partial:n}=typeof e=="object"&&Array.isArray(e)?{input:e,context:r}:e,{contexts:u,process:A}=this.builder.compile(),p=A(o,{partial:n}),h={...t.defaultContext,...a};switch(p.selectedIndex){case og:{let E=_P.from(p,u);return E.context=h,E.tokens=p.tokens,E}default:{let{commandClass:E}=u[p.selectedIndex],w=this.registrations.get(E);if(typeof w>"u")throw new Error("Assertion failed: Expected the command class to have been registered.");let D=new E;D.context=h,D.tokens=p.tokens,D.path=p.path;try{for(let[x,{transformer:C}]of w.specs.entries())D[x]=C(w.builder,x,p,h);return D}catch(x){throw x[uJ]=D,x}}break}}async run(e,r){var o,a;let n,u={...t.defaultContext,...r},A=(o=this.enableColors)!==null&&o!==void 0?o:u.colorDepth>1;if(!Array.isArray(e))n=e;else try{n=this.process(e,u)}catch(E){return u.stdout.write(this.error(E,{colored:A})),1}if(n.help)return u.stdout.write(this.usage(n,{colored:A,detailed:!0})),0;n.context=u,n.cli={binaryLabel:this.binaryLabel,binaryName:this.binaryName,binaryVersion:this.binaryVersion,enableCapture:this.enableCapture,enableColors:this.enableColors,definitions:()=>this.definitions(),definition:E=>this.definition(E),error:(E,w)=>this.error(E,w),format:E=>this.format(E),process:(E,w)=>this.process(E,{...u,...w}),run:(E,w)=>this.run(E,{...u,...w}),usage:(E,w)=>this.usage(E,w)};let p=this.enableCapture&&(a=aJ(u))!==null&&a!==void 0?a:AJ,h;try{h=await p(()=>n.validateAndExecute().catch(E=>n.catch(E).then(()=>0)))}catch(E){return u.stdout.write(this.error(E,{colored:A,command:n})),1}return h}async runExit(e,r){process.exitCode=await this.run(e,r)}definition(e,{colored:r=!1}={}){if(!e.usage)return null;let{usage:o}=this.getUsageByRegistration(e,{detailed:!1}),{usage:a,options:n}=this.getUsageByRegistration(e,{detailed:!0,inlineOptions:!1}),u=typeof e.usage.category<"u"?yo(e.usage.category,{format:this.format(r),paragraphs:!1}):void 0,A=typeof e.usage.description<"u"?yo(e.usage.description,{format:this.format(r),paragraphs:!1}):void 0,p=typeof e.usage.details<"u"?yo(e.usage.details,{format:this.format(r),paragraphs:!0}):void 0,h=typeof e.usage.examples<"u"?e.usage.examples.map(([E,w])=>[yo(E,{format:this.format(r),paragraphs:!1}),w.replace(/\$0/g,this.binaryName)]):void 0;return{path:o,usage:a,category:u,description:A,details:p,examples:h,options:n}}definitions({colored:e=!1}={}){let r=[];for(let o of this.registrations.keys()){let a=this.definition(o,{colored:e});a&&r.push(a)}return r}usage(e=null,{colored:r,detailed:o=!1,prefix:a="$ "}={}){var n;if(e===null){for(let p of this.registrations.keys()){let h=p.paths,E=typeof p.usage<"u";if(!h||h.length===0||h.length===1&&h[0].length===0||((n=h?.some(x=>x.length===0))!==null&&n!==void 0?n:!1))if(e){e=null;break}else e=p;else if(E){e=null;continue}}e&&(o=!0)}let u=e!==null&&e instanceof ot?e.constructor:e,A="";if(u)if(o){let{description:p="",details:h="",examples:E=[]}=u.usage||{};p!==""&&(A+=yo(p,{format:this.format(r),paragraphs:!1}).replace(/^./,x=>x.toUpperCase()),A+=` +`),(h!==""||E.length>0)&&(A+=`${this.format(r).header("Usage")} +`,A+=` +`);let{usage:w,options:D}=this.getUsageByRegistration(u,{inlineOptions:!1});if(A+=`${this.format(r).bold(a)}${w} +`,D.length>0){A+=` +`,A+=`${this.format(r).header("Options")} +`;let x=D.reduce((C,T)=>Math.max(C,T.definition.length),0);A+=` +`;for(let{definition:C,description:T}of D)A+=` ${this.format(r).bold(C.padEnd(x))} ${yo(T,{format:this.format(r),paragraphs:!1})}`}if(h!==""&&(A+=` +`,A+=`${this.format(r).header("Details")} +`,A+=` +`,A+=yo(h,{format:this.format(r),paragraphs:!0})),E.length>0){A+=` +`,A+=`${this.format(r).header("Examples")} +`;for(let[x,C]of E)A+=` +`,A+=yo(x,{format:this.format(r),paragraphs:!1}),A+=`${C.replace(/^/m,` ${this.format(r).bold(a)}`).replace(/\$0/g,this.binaryName)} +`}}else{let{usage:p}=this.getUsageByRegistration(u);A+=`${this.format(r).bold(a)}${p} +`}else{let p=new Map;for(let[D,{index:x}]of this.registrations.entries()){if(typeof D.usage>"u")continue;let C=typeof D.usage.category<"u"?yo(D.usage.category,{format:this.format(r),paragraphs:!1}):null,T=p.get(C);typeof T>"u"&&p.set(C,T=[]);let{usage:L}=this.getUsageByIndex(x);T.push({commandClass:D,usage:L})}let h=Array.from(p.keys()).sort((D,x)=>D===null?-1:x===null?1:D.localeCompare(x,"en",{usage:"sort",caseFirst:"upper"})),E=typeof this.binaryLabel<"u",w=typeof this.binaryVersion<"u";E||w?(E&&w?A+=`${this.format(r).header(`${this.binaryLabel} - ${this.binaryVersion}`)} + +`:E?A+=`${this.format(r).header(`${this.binaryLabel}`)} +`:A+=`${this.format(r).header(`${this.binaryVersion}`)} +`,A+=` ${this.format(r).bold(a)}${this.binaryName} <command> +`):A+=`${this.format(r).bold(a)}${this.binaryName} <command> +`;for(let D of h){let x=p.get(D).slice().sort((T,L)=>T.usage.localeCompare(L.usage,"en",{usage:"sort",caseFirst:"upper"})),C=D!==null?D.trim():"General commands";A+=` +`,A+=`${this.format(r).header(`${C}`)} +`;for(let{commandClass:T,usage:L}of x){let U=T.usage.description||"undocumented";A+=` +`,A+=` ${this.format(r).bold(L)} +`,A+=` ${yo(U,{format:this.format(r),paragraphs:!1})}`}}A+=` +`,A+=yo("You can also print more details about any of these commands by calling them with the `-h,--help` flag right after the command name.",{format:this.format(r),paragraphs:!0})}return A}error(e,r){var o,{colored:a,command:n=(o=e[uJ])!==null&&o!==void 0?o:null}=r===void 0?{}:r;(!e||typeof e!="object"||!("stack"in e))&&(e=new Error(`Execution failed with a non-error rejection (rejected value: ${JSON.stringify(e)})`));let u="",A=e.name.replace(/([a-z])([A-Z])/g,"$1 $2");A==="Error"&&(A="Internal Error"),u+=`${this.format(a).error(A)}: ${e.message} +`;let p=e.clipanion;return typeof p<"u"?p.type==="usage"&&(u+=` +`,u+=this.usage(n)):e.stack&&(u+=`${e.stack.replace(/^.*\n/,"")} +`),u}format(e){var r;return((r=e??this.enableColors)!==null&&r!==void 0?r:t.defaultContext.colorDepth>1)?VV:JV}getUsageByRegistration(e,r){let o=this.registrations.get(e);if(typeof o>"u")throw new Error("Assertion failed: Unregistered command");return this.getUsageByIndex(o.index,r)}getUsageByIndex(e,r){return this.builder.getBuilderByIndex(e).usage(r)}};Vo.defaultContext={env:process.env,stdin:process.stdin,stdout:process.stdout,stderr:process.stderr,colorDepth:oJ()}});var Sw,dJ=It(()=>{Xp();Sw=class extends ot{async execute(){this.context.stdout.write(`${JSON.stringify(this.cli.definitions(),null,2)} +`)}};Sw.paths=[["--clipanion=definitions"]]});var bw,mJ=It(()=>{Xp();bw=class extends ot{async execute(){this.context.stdout.write(this.cli.usage())}};bw.paths=[["-h"],["--help"]]});function HP(t={}){return Wo({definition(e,r){var o;e.addProxy({name:(o=t.name)!==null&&o!==void 0?o:r,required:t.required})},transformer(e,r,o){return o.positionals.map(({value:a})=>a)}})}var CN=It(()=>{yf()});var xw,yJ=It(()=>{Xp();CN();xw=class extends ot{constructor(){super(...arguments),this.args=HP()}async execute(){this.context.stdout.write(`${JSON.stringify(this.cli.process(this.args).tokens,null,2)} +`)}};xw.paths=[["--clipanion=tokens"]]});var kw,EJ=It(()=>{Xp();kw=class extends ot{async execute(){var e;this.context.stdout.write(`${(e=this.cli.binaryVersion)!==null&&e!==void 0?e:"<unknown>"} +`)}};kw.paths=[["-v"],["--version"]]});var IN={};Kt(IN,{DefinitionsCommand:()=>Sw,HelpCommand:()=>bw,TokensCommand:()=>xw,VersionCommand:()=>kw});var CJ=It(()=>{dJ();mJ();yJ();EJ()});function IJ(t,e,r){let[o,a]=Yu(e,r??{}),{arity:n=1}=a,u=t.split(","),A=new Set(u);return Wo({definition(p){p.addOption({names:u,arity:n,hidden:a?.hidden,description:a?.description,required:a.required})},transformer(p,h,E){let w,D=typeof o<"u"?[...o]:void 0;for(let{name:x,value:C}of E.options)A.has(x)&&(w=x,D=D??[],D.push(C));return typeof D<"u"?ag(w??h,D,a.validator):D}})}var wJ=It(()=>{yf()});function BJ(t,e,r){let[o,a]=Yu(e,r??{}),n=t.split(","),u=new Set(n);return Wo({definition(A){A.addOption({names:n,allowBinding:!1,arity:0,hidden:a.hidden,description:a.description,required:a.required})},transformer(A,p,h){let E=o;for(let{name:w,value:D}of h.options)u.has(w)&&(E=D);return E}})}var vJ=It(()=>{yf()});function DJ(t,e,r){let[o,a]=Yu(e,r??{}),n=t.split(","),u=new Set(n);return Wo({definition(A){A.addOption({names:n,allowBinding:!1,arity:0,hidden:a.hidden,description:a.description,required:a.required})},transformer(A,p,h){let E=o;for(let{name:w,value:D}of h.options)u.has(w)&&(E??(E=0),D?E+=1:E=0);return E}})}var PJ=It(()=>{yf()});function SJ(t={}){return Wo({definition(e,r){var o;e.addRest({name:(o=t.name)!==null&&o!==void 0?o:r,required:t.required})},transformer(e,r,o){let a=u=>{let A=o.positionals[u];return A.extra===ol||A.extra===!1&&u<e.arity.leading.length},n=0;for(;n<o.positionals.length&&a(n);)n+=1;return o.positionals.splice(0,n).map(({value:u})=>u)}})}var bJ=It(()=>{MP();yf()});function Mqe(t,e,r){let[o,a]=Yu(e,r??{}),{arity:n=1}=a,u=t.split(","),A=new Set(u);return Wo({definition(p){p.addOption({names:u,arity:a.tolerateBoolean?0:n,hidden:a.hidden,description:a.description,required:a.required})},transformer(p,h,E,w){let D,x=o;typeof a.env<"u"&&w.env[a.env]&&(D=a.env,x=w.env[a.env]);for(let{name:C,value:T}of E.options)A.has(C)&&(D=C,x=T);return typeof x=="string"?ag(D??h,x,a.validator):x}})}function Uqe(t={}){let{required:e=!0}=t;return Wo({definition(r,o){var a;r.addPositional({name:(a=t.name)!==null&&a!==void 0?a:o,required:t.required})},transformer(r,o,a){var n;for(let u=0;u<a.positionals.length;++u){if(a.positionals[u].extra===ol||e&&a.positionals[u].extra===!0||!e&&a.positionals[u].extra===!1)continue;let[A]=a.positionals.splice(u,1);return ag((n=t.name)!==null&&n!==void 0?n:o,A.value,t.validator)}}})}function xJ(t,...e){return typeof t=="string"?Mqe(t,...e):Uqe(t)}var kJ=It(()=>{MP();yf()});var de={};Kt(de,{Array:()=>IJ,Boolean:()=>BJ,Counter:()=>DJ,Proxy:()=>HP,Rest:()=>SJ,String:()=>xJ,applyValidator:()=>ag,cleanValidationError:()=>QP,formatError:()=>Iw,isOptionSymbol:()=>Cw,makeCommandOption:()=>Wo,rerouteArguments:()=>Yu});var QJ=It(()=>{yf();CN();wJ();vJ();PJ();bJ();kJ()});var Qw={};Kt(Qw,{Builtins:()=>IN,Cli:()=>Vo,Command:()=>ot,Option:()=>de,UsageError:()=>it,formatMarkdownish:()=>yo,run:()=>pJ,runExit:()=>fJ});var Gt=It(()=>{kP();cN();Xp();gJ();CJ();QJ()});var FJ=_((ckt,_qe)=>{_qe.exports={name:"dotenv",version:"16.3.1",description:"Loads environment variables from .env file",main:"lib/main.js",types:"lib/main.d.ts",exports:{".":{types:"./lib/main.d.ts",require:"./lib/main.js",default:"./lib/main.js"},"./config":"./config.js","./config.js":"./config.js","./lib/env-options":"./lib/env-options.js","./lib/env-options.js":"./lib/env-options.js","./lib/cli-options":"./lib/cli-options.js","./lib/cli-options.js":"./lib/cli-options.js","./package.json":"./package.json"},scripts:{"dts-check":"tsc --project tests/types/tsconfig.json",lint:"standard","lint-readme":"standard-markdown",pretest:"npm run lint && npm run dts-check",test:"tap tests/*.js --100 -Rspec",prerelease:"npm test",release:"standard-version"},repository:{type:"git",url:"git://github.com/motdotla/dotenv.git"},funding:"https://github.com/motdotla/dotenv?sponsor=1",keywords:["dotenv","env",".env","environment","variables","config","settings"],readmeFilename:"README.md",license:"BSD-2-Clause",devDependencies:{"@definitelytyped/dtslint":"^0.0.133","@types/node":"^18.11.3",decache:"^4.6.1",sinon:"^14.0.1",standard:"^17.0.0","standard-markdown":"^7.1.0","standard-version":"^9.5.0",tap:"^16.3.0",tar:"^6.1.11",typescript:"^4.8.4"},engines:{node:">=12"},browser:{fs:!1}}});var LJ=_((ukt,Ef)=>{var RJ=ve("fs"),BN=ve("path"),Hqe=ve("os"),qqe=ve("crypto"),jqe=FJ(),vN=jqe.version,Gqe=/(?:^|^)\s*(?:export\s+)?([\w.-]+)(?:\s*=\s*?|:\s+?)(\s*'(?:\\'|[^'])*'|\s*"(?:\\"|[^"])*"|\s*`(?:\\`|[^`])*`|[^#\r\n]+)?\s*(?:#.*)?(?:$|$)/mg;function Wqe(t){let e={},r=t.toString();r=r.replace(/\r\n?/mg,` +`);let o;for(;(o=Gqe.exec(r))!=null;){let a=o[1],n=o[2]||"";n=n.trim();let u=n[0];n=n.replace(/^(['"`])([\s\S]*)\1$/mg,"$2"),u==='"'&&(n=n.replace(/\\n/g,` +`),n=n.replace(/\\r/g,"\r")),e[a]=n}return e}function Yqe(t){let e=NJ(t),r=vs.configDotenv({path:e});if(!r.parsed)throw new Error(`MISSING_DATA: Cannot parse ${e} for an unknown reason`);let o=TJ(t).split(","),a=o.length,n;for(let u=0;u<a;u++)try{let A=o[u].trim(),p=Jqe(r,A);n=vs.decrypt(p.ciphertext,p.key);break}catch(A){if(u+1>=a)throw A}return vs.parse(n)}function Kqe(t){console.log(`[dotenv@${vN}][INFO] ${t}`)}function Vqe(t){console.log(`[dotenv@${vN}][WARN] ${t}`)}function wN(t){console.log(`[dotenv@${vN}][DEBUG] ${t}`)}function TJ(t){return t&&t.DOTENV_KEY&&t.DOTENV_KEY.length>0?t.DOTENV_KEY:process.env.DOTENV_KEY&&process.env.DOTENV_KEY.length>0?process.env.DOTENV_KEY:""}function Jqe(t,e){let r;try{r=new URL(e)}catch(A){throw A.code==="ERR_INVALID_URL"?new Error("INVALID_DOTENV_KEY: Wrong format. Must be in valid uri format like dotenv://:key_1234@dotenv.org/vault/.env.vault?environment=development"):A}let o=r.password;if(!o)throw new Error("INVALID_DOTENV_KEY: Missing key part");let a=r.searchParams.get("environment");if(!a)throw new Error("INVALID_DOTENV_KEY: Missing environment part");let n=`DOTENV_VAULT_${a.toUpperCase()}`,u=t.parsed[n];if(!u)throw new Error(`NOT_FOUND_DOTENV_ENVIRONMENT: Cannot locate environment ${n} in your .env.vault file.`);return{ciphertext:u,key:o}}function NJ(t){let e=BN.resolve(process.cwd(),".env");return t&&t.path&&t.path.length>0&&(e=t.path),e.endsWith(".vault")?e:`${e}.vault`}function zqe(t){return t[0]==="~"?BN.join(Hqe.homedir(),t.slice(1)):t}function Xqe(t){Kqe("Loading env from encrypted .env.vault");let e=vs._parseVault(t),r=process.env;return t&&t.processEnv!=null&&(r=t.processEnv),vs.populate(r,e,t),{parsed:e}}function Zqe(t){let e=BN.resolve(process.cwd(),".env"),r="utf8",o=!!(t&&t.debug);t&&(t.path!=null&&(e=zqe(t.path)),t.encoding!=null&&(r=t.encoding));try{let a=vs.parse(RJ.readFileSync(e,{encoding:r})),n=process.env;return t&&t.processEnv!=null&&(n=t.processEnv),vs.populate(n,a,t),{parsed:a}}catch(a){return o&&wN(`Failed to load ${e} ${a.message}`),{error:a}}}function $qe(t){let e=NJ(t);return TJ(t).length===0?vs.configDotenv(t):RJ.existsSync(e)?vs._configVault(t):(Vqe(`You set DOTENV_KEY but you are missing a .env.vault file at ${e}. Did you forget to build it?`),vs.configDotenv(t))}function eje(t,e){let r=Buffer.from(e.slice(-64),"hex"),o=Buffer.from(t,"base64"),a=o.slice(0,12),n=o.slice(-16);o=o.slice(12,-16);try{let u=qqe.createDecipheriv("aes-256-gcm",r,a);return u.setAuthTag(n),`${u.update(o)}${u.final()}`}catch(u){let A=u instanceof RangeError,p=u.message==="Invalid key length",h=u.message==="Unsupported state or unable to authenticate data";if(A||p){let E="INVALID_DOTENV_KEY: It must be 64 characters long (or more)";throw new Error(E)}else if(h){let E="DECRYPTION_FAILED: Please check your DOTENV_KEY";throw new Error(E)}else throw console.error("Error: ",u.code),console.error("Error: ",u.message),u}}function tje(t,e,r={}){let o=!!(r&&r.debug),a=!!(r&&r.override);if(typeof e!="object")throw new Error("OBJECT_REQUIRED: Please check the processEnv argument being passed to populate");for(let n of Object.keys(e))Object.prototype.hasOwnProperty.call(t,n)?(a===!0&&(t[n]=e[n]),o&&wN(a===!0?`"${n}" is already defined and WAS overwritten`:`"${n}" is already defined and was NOT overwritten`)):t[n]=e[n]}var vs={configDotenv:Zqe,_configVault:Xqe,_parseVault:Yqe,config:$qe,decrypt:eje,parse:Wqe,populate:tje};Ef.exports.configDotenv=vs.configDotenv;Ef.exports._configVault=vs._configVault;Ef.exports._parseVault=vs._parseVault;Ef.exports.config=vs.config;Ef.exports.decrypt=vs.decrypt;Ef.exports.parse=vs.parse;Ef.exports.populate=vs.populate;Ef.exports=vs});var MJ=_((Akt,OJ)=>{"use strict";OJ.exports=(t,...e)=>new Promise(r=>{r(t(...e))})});var lg=_((fkt,DN)=>{"use strict";var rje=MJ(),UJ=t=>{if(t<1)throw new TypeError("Expected `concurrency` to be a number from 1 and up");let e=[],r=0,o=()=>{r--,e.length>0&&e.shift()()},a=(A,p,...h)=>{r++;let E=rje(A,...h);p(E),E.then(o,o)},n=(A,p,...h)=>{r<t?a(A,p,...h):e.push(a.bind(null,A,p,...h))},u=(A,...p)=>new Promise(h=>n(A,h,...p));return Object.defineProperties(u,{activeCount:{get:()=>r},pendingCount:{get:()=>e.length}}),u};DN.exports=UJ;DN.exports.default=UJ});function Ju(t){return`YN${t.toString(10).padStart(4,"0")}`}function qP(t){let e=Number(t.slice(2));if(typeof vr[e]>"u")throw new Error(`Unknown message name: "${t}"`);return e}var vr,jP=It(()=>{vr=(Me=>(Me[Me.UNNAMED=0]="UNNAMED",Me[Me.EXCEPTION=1]="EXCEPTION",Me[Me.MISSING_PEER_DEPENDENCY=2]="MISSING_PEER_DEPENDENCY",Me[Me.CYCLIC_DEPENDENCIES=3]="CYCLIC_DEPENDENCIES",Me[Me.DISABLED_BUILD_SCRIPTS=4]="DISABLED_BUILD_SCRIPTS",Me[Me.BUILD_DISABLED=5]="BUILD_DISABLED",Me[Me.SOFT_LINK_BUILD=6]="SOFT_LINK_BUILD",Me[Me.MUST_BUILD=7]="MUST_BUILD",Me[Me.MUST_REBUILD=8]="MUST_REBUILD",Me[Me.BUILD_FAILED=9]="BUILD_FAILED",Me[Me.RESOLVER_NOT_FOUND=10]="RESOLVER_NOT_FOUND",Me[Me.FETCHER_NOT_FOUND=11]="FETCHER_NOT_FOUND",Me[Me.LINKER_NOT_FOUND=12]="LINKER_NOT_FOUND",Me[Me.FETCH_NOT_CACHED=13]="FETCH_NOT_CACHED",Me[Me.YARN_IMPORT_FAILED=14]="YARN_IMPORT_FAILED",Me[Me.REMOTE_INVALID=15]="REMOTE_INVALID",Me[Me.REMOTE_NOT_FOUND=16]="REMOTE_NOT_FOUND",Me[Me.RESOLUTION_PACK=17]="RESOLUTION_PACK",Me[Me.CACHE_CHECKSUM_MISMATCH=18]="CACHE_CHECKSUM_MISMATCH",Me[Me.UNUSED_CACHE_ENTRY=19]="UNUSED_CACHE_ENTRY",Me[Me.MISSING_LOCKFILE_ENTRY=20]="MISSING_LOCKFILE_ENTRY",Me[Me.WORKSPACE_NOT_FOUND=21]="WORKSPACE_NOT_FOUND",Me[Me.TOO_MANY_MATCHING_WORKSPACES=22]="TOO_MANY_MATCHING_WORKSPACES",Me[Me.CONSTRAINTS_MISSING_DEPENDENCY=23]="CONSTRAINTS_MISSING_DEPENDENCY",Me[Me.CONSTRAINTS_INCOMPATIBLE_DEPENDENCY=24]="CONSTRAINTS_INCOMPATIBLE_DEPENDENCY",Me[Me.CONSTRAINTS_EXTRANEOUS_DEPENDENCY=25]="CONSTRAINTS_EXTRANEOUS_DEPENDENCY",Me[Me.CONSTRAINTS_INVALID_DEPENDENCY=26]="CONSTRAINTS_INVALID_DEPENDENCY",Me[Me.CANT_SUGGEST_RESOLUTIONS=27]="CANT_SUGGEST_RESOLUTIONS",Me[Me.FROZEN_LOCKFILE_EXCEPTION=28]="FROZEN_LOCKFILE_EXCEPTION",Me[Me.CROSS_DRIVE_VIRTUAL_LOCAL=29]="CROSS_DRIVE_VIRTUAL_LOCAL",Me[Me.FETCH_FAILED=30]="FETCH_FAILED",Me[Me.DANGEROUS_NODE_MODULES=31]="DANGEROUS_NODE_MODULES",Me[Me.NODE_GYP_INJECTED=32]="NODE_GYP_INJECTED",Me[Me.AUTHENTICATION_NOT_FOUND=33]="AUTHENTICATION_NOT_FOUND",Me[Me.INVALID_CONFIGURATION_KEY=34]="INVALID_CONFIGURATION_KEY",Me[Me.NETWORK_ERROR=35]="NETWORK_ERROR",Me[Me.LIFECYCLE_SCRIPT=36]="LIFECYCLE_SCRIPT",Me[Me.CONSTRAINTS_MISSING_FIELD=37]="CONSTRAINTS_MISSING_FIELD",Me[Me.CONSTRAINTS_INCOMPATIBLE_FIELD=38]="CONSTRAINTS_INCOMPATIBLE_FIELD",Me[Me.CONSTRAINTS_EXTRANEOUS_FIELD=39]="CONSTRAINTS_EXTRANEOUS_FIELD",Me[Me.CONSTRAINTS_INVALID_FIELD=40]="CONSTRAINTS_INVALID_FIELD",Me[Me.AUTHENTICATION_INVALID=41]="AUTHENTICATION_INVALID",Me[Me.PROLOG_UNKNOWN_ERROR=42]="PROLOG_UNKNOWN_ERROR",Me[Me.PROLOG_SYNTAX_ERROR=43]="PROLOG_SYNTAX_ERROR",Me[Me.PROLOG_EXISTENCE_ERROR=44]="PROLOG_EXISTENCE_ERROR",Me[Me.STACK_OVERFLOW_RESOLUTION=45]="STACK_OVERFLOW_RESOLUTION",Me[Me.AUTOMERGE_FAILED_TO_PARSE=46]="AUTOMERGE_FAILED_TO_PARSE",Me[Me.AUTOMERGE_IMMUTABLE=47]="AUTOMERGE_IMMUTABLE",Me[Me.AUTOMERGE_SUCCESS=48]="AUTOMERGE_SUCCESS",Me[Me.AUTOMERGE_REQUIRED=49]="AUTOMERGE_REQUIRED",Me[Me.DEPRECATED_CLI_SETTINGS=50]="DEPRECATED_CLI_SETTINGS",Me[Me.PLUGIN_NAME_NOT_FOUND=51]="PLUGIN_NAME_NOT_FOUND",Me[Me.INVALID_PLUGIN_REFERENCE=52]="INVALID_PLUGIN_REFERENCE",Me[Me.CONSTRAINTS_AMBIGUITY=53]="CONSTRAINTS_AMBIGUITY",Me[Me.CACHE_OUTSIDE_PROJECT=54]="CACHE_OUTSIDE_PROJECT",Me[Me.IMMUTABLE_INSTALL=55]="IMMUTABLE_INSTALL",Me[Me.IMMUTABLE_CACHE=56]="IMMUTABLE_CACHE",Me[Me.INVALID_MANIFEST=57]="INVALID_MANIFEST",Me[Me.PACKAGE_PREPARATION_FAILED=58]="PACKAGE_PREPARATION_FAILED",Me[Me.INVALID_RANGE_PEER_DEPENDENCY=59]="INVALID_RANGE_PEER_DEPENDENCY",Me[Me.INCOMPATIBLE_PEER_DEPENDENCY=60]="INCOMPATIBLE_PEER_DEPENDENCY",Me[Me.DEPRECATED_PACKAGE=61]="DEPRECATED_PACKAGE",Me[Me.INCOMPATIBLE_OS=62]="INCOMPATIBLE_OS",Me[Me.INCOMPATIBLE_CPU=63]="INCOMPATIBLE_CPU",Me[Me.FROZEN_ARTIFACT_EXCEPTION=64]="FROZEN_ARTIFACT_EXCEPTION",Me[Me.TELEMETRY_NOTICE=65]="TELEMETRY_NOTICE",Me[Me.PATCH_HUNK_FAILED=66]="PATCH_HUNK_FAILED",Me[Me.INVALID_CONFIGURATION_VALUE=67]="INVALID_CONFIGURATION_VALUE",Me[Me.UNUSED_PACKAGE_EXTENSION=68]="UNUSED_PACKAGE_EXTENSION",Me[Me.REDUNDANT_PACKAGE_EXTENSION=69]="REDUNDANT_PACKAGE_EXTENSION",Me[Me.AUTO_NM_SUCCESS=70]="AUTO_NM_SUCCESS",Me[Me.NM_CANT_INSTALL_EXTERNAL_SOFT_LINK=71]="NM_CANT_INSTALL_EXTERNAL_SOFT_LINK",Me[Me.NM_PRESERVE_SYMLINKS_REQUIRED=72]="NM_PRESERVE_SYMLINKS_REQUIRED",Me[Me.UPDATE_LOCKFILE_ONLY_SKIP_LINK=73]="UPDATE_LOCKFILE_ONLY_SKIP_LINK",Me[Me.NM_HARDLINKS_MODE_DOWNGRADED=74]="NM_HARDLINKS_MODE_DOWNGRADED",Me[Me.PROLOG_INSTANTIATION_ERROR=75]="PROLOG_INSTANTIATION_ERROR",Me[Me.INCOMPATIBLE_ARCHITECTURE=76]="INCOMPATIBLE_ARCHITECTURE",Me[Me.GHOST_ARCHITECTURE=77]="GHOST_ARCHITECTURE",Me[Me.RESOLUTION_MISMATCH=78]="RESOLUTION_MISMATCH",Me[Me.PROLOG_LIMIT_EXCEEDED=79]="PROLOG_LIMIT_EXCEEDED",Me[Me.NETWORK_DISABLED=80]="NETWORK_DISABLED",Me[Me.NETWORK_UNSAFE_HTTP=81]="NETWORK_UNSAFE_HTTP",Me[Me.RESOLUTION_FAILED=82]="RESOLUTION_FAILED",Me[Me.AUTOMERGE_GIT_ERROR=83]="AUTOMERGE_GIT_ERROR",Me[Me.CONSTRAINTS_CHECK_FAILED=84]="CONSTRAINTS_CHECK_FAILED",Me[Me.UPDATED_RESOLUTION_RECORD=85]="UPDATED_RESOLUTION_RECORD",Me[Me.EXPLAIN_PEER_DEPENDENCIES_CTA=86]="EXPLAIN_PEER_DEPENDENCIES_CTA",Me[Me.MIGRATION_SUCCESS=87]="MIGRATION_SUCCESS",Me[Me.VERSION_NOTICE=88]="VERSION_NOTICE",Me[Me.TIPS_NOTICE=89]="TIPS_NOTICE",Me[Me.OFFLINE_MODE_ENABLED=90]="OFFLINE_MODE_ENABLED",Me))(vr||{})});var Fw=_((hkt,_J)=>{var nje="2.0.0",ije=Number.MAX_SAFE_INTEGER||9007199254740991,sje=16,oje=250,aje=["major","premajor","minor","preminor","patch","prepatch","prerelease"];_J.exports={MAX_LENGTH:256,MAX_SAFE_COMPONENT_LENGTH:sje,MAX_SAFE_BUILD_LENGTH:oje,MAX_SAFE_INTEGER:ije,RELEASE_TYPES:aje,SEMVER_SPEC_VERSION:nje,FLAG_INCLUDE_PRERELEASE:1,FLAG_LOOSE:2}});var Rw=_((gkt,HJ)=>{var lje=typeof process=="object"&&process.env&&process.env.NODE_DEBUG&&/\bsemver\b/i.test(process.env.NODE_DEBUG)?(...t)=>console.error("SEMVER",...t):()=>{};HJ.exports=lje});var xm=_((Cf,qJ)=>{var{MAX_SAFE_COMPONENT_LENGTH:PN,MAX_SAFE_BUILD_LENGTH:cje,MAX_LENGTH:uje}=Fw(),Aje=Rw();Cf=qJ.exports={};var fje=Cf.re=[],pje=Cf.safeRe=[],tr=Cf.src=[],rr=Cf.t={},hje=0,SN="[a-zA-Z0-9-]",gje=[["\\s",1],["\\d",uje],[SN,cje]],dje=t=>{for(let[e,r]of gje)t=t.split(`${e}*`).join(`${e}{0,${r}}`).split(`${e}+`).join(`${e}{1,${r}}`);return t},Gr=(t,e,r)=>{let o=dje(e),a=hje++;Aje(t,a,e),rr[t]=a,tr[a]=e,fje[a]=new RegExp(e,r?"g":void 0),pje[a]=new RegExp(o,r?"g":void 0)};Gr("NUMERICIDENTIFIER","0|[1-9]\\d*");Gr("NUMERICIDENTIFIERLOOSE","\\d+");Gr("NONNUMERICIDENTIFIER",`\\d*[a-zA-Z-]${SN}*`);Gr("MAINVERSION",`(${tr[rr.NUMERICIDENTIFIER]})\\.(${tr[rr.NUMERICIDENTIFIER]})\\.(${tr[rr.NUMERICIDENTIFIER]})`);Gr("MAINVERSIONLOOSE",`(${tr[rr.NUMERICIDENTIFIERLOOSE]})\\.(${tr[rr.NUMERICIDENTIFIERLOOSE]})\\.(${tr[rr.NUMERICIDENTIFIERLOOSE]})`);Gr("PRERELEASEIDENTIFIER",`(?:${tr[rr.NUMERICIDENTIFIER]}|${tr[rr.NONNUMERICIDENTIFIER]})`);Gr("PRERELEASEIDENTIFIERLOOSE",`(?:${tr[rr.NUMERICIDENTIFIERLOOSE]}|${tr[rr.NONNUMERICIDENTIFIER]})`);Gr("PRERELEASE",`(?:-(${tr[rr.PRERELEASEIDENTIFIER]}(?:\\.${tr[rr.PRERELEASEIDENTIFIER]})*))`);Gr("PRERELEASELOOSE",`(?:-?(${tr[rr.PRERELEASEIDENTIFIERLOOSE]}(?:\\.${tr[rr.PRERELEASEIDENTIFIERLOOSE]})*))`);Gr("BUILDIDENTIFIER",`${SN}+`);Gr("BUILD",`(?:\\+(${tr[rr.BUILDIDENTIFIER]}(?:\\.${tr[rr.BUILDIDENTIFIER]})*))`);Gr("FULLPLAIN",`v?${tr[rr.MAINVERSION]}${tr[rr.PRERELEASE]}?${tr[rr.BUILD]}?`);Gr("FULL",`^${tr[rr.FULLPLAIN]}$`);Gr("LOOSEPLAIN",`[v=\\s]*${tr[rr.MAINVERSIONLOOSE]}${tr[rr.PRERELEASELOOSE]}?${tr[rr.BUILD]}?`);Gr("LOOSE",`^${tr[rr.LOOSEPLAIN]}$`);Gr("GTLT","((?:<|>)?=?)");Gr("XRANGEIDENTIFIERLOOSE",`${tr[rr.NUMERICIDENTIFIERLOOSE]}|x|X|\\*`);Gr("XRANGEIDENTIFIER",`${tr[rr.NUMERICIDENTIFIER]}|x|X|\\*`);Gr("XRANGEPLAIN",`[v=\\s]*(${tr[rr.XRANGEIDENTIFIER]})(?:\\.(${tr[rr.XRANGEIDENTIFIER]})(?:\\.(${tr[rr.XRANGEIDENTIFIER]})(?:${tr[rr.PRERELEASE]})?${tr[rr.BUILD]}?)?)?`);Gr("XRANGEPLAINLOOSE",`[v=\\s]*(${tr[rr.XRANGEIDENTIFIERLOOSE]})(?:\\.(${tr[rr.XRANGEIDENTIFIERLOOSE]})(?:\\.(${tr[rr.XRANGEIDENTIFIERLOOSE]})(?:${tr[rr.PRERELEASELOOSE]})?${tr[rr.BUILD]}?)?)?`);Gr("XRANGE",`^${tr[rr.GTLT]}\\s*${tr[rr.XRANGEPLAIN]}$`);Gr("XRANGELOOSE",`^${tr[rr.GTLT]}\\s*${tr[rr.XRANGEPLAINLOOSE]}$`);Gr("COERCEPLAIN",`(^|[^\\d])(\\d{1,${PN}})(?:\\.(\\d{1,${PN}}))?(?:\\.(\\d{1,${PN}}))?`);Gr("COERCE",`${tr[rr.COERCEPLAIN]}(?:$|[^\\d])`);Gr("COERCEFULL",tr[rr.COERCEPLAIN]+`(?:${tr[rr.PRERELEASE]})?(?:${tr[rr.BUILD]})?(?:$|[^\\d])`);Gr("COERCERTL",tr[rr.COERCE],!0);Gr("COERCERTLFULL",tr[rr.COERCEFULL],!0);Gr("LONETILDE","(?:~>?)");Gr("TILDETRIM",`(\\s*)${tr[rr.LONETILDE]}\\s+`,!0);Cf.tildeTrimReplace="$1~";Gr("TILDE",`^${tr[rr.LONETILDE]}${tr[rr.XRANGEPLAIN]}$`);Gr("TILDELOOSE",`^${tr[rr.LONETILDE]}${tr[rr.XRANGEPLAINLOOSE]}$`);Gr("LONECARET","(?:\\^)");Gr("CARETTRIM",`(\\s*)${tr[rr.LONECARET]}\\s+`,!0);Cf.caretTrimReplace="$1^";Gr("CARET",`^${tr[rr.LONECARET]}${tr[rr.XRANGEPLAIN]}$`);Gr("CARETLOOSE",`^${tr[rr.LONECARET]}${tr[rr.XRANGEPLAINLOOSE]}$`);Gr("COMPARATORLOOSE",`^${tr[rr.GTLT]}\\s*(${tr[rr.LOOSEPLAIN]})$|^$`);Gr("COMPARATOR",`^${tr[rr.GTLT]}\\s*(${tr[rr.FULLPLAIN]})$|^$`);Gr("COMPARATORTRIM",`(\\s*)${tr[rr.GTLT]}\\s*(${tr[rr.LOOSEPLAIN]}|${tr[rr.XRANGEPLAIN]})`,!0);Cf.comparatorTrimReplace="$1$2$3";Gr("HYPHENRANGE",`^\\s*(${tr[rr.XRANGEPLAIN]})\\s+-\\s+(${tr[rr.XRANGEPLAIN]})\\s*$`);Gr("HYPHENRANGELOOSE",`^\\s*(${tr[rr.XRANGEPLAINLOOSE]})\\s+-\\s+(${tr[rr.XRANGEPLAINLOOSE]})\\s*$`);Gr("STAR","(<|>)?=?\\s*\\*");Gr("GTE0","^\\s*>=\\s*0\\.0\\.0\\s*$");Gr("GTE0PRE","^\\s*>=\\s*0\\.0\\.0-0\\s*$")});var GP=_((dkt,jJ)=>{var mje=Object.freeze({loose:!0}),yje=Object.freeze({}),Eje=t=>t?typeof t!="object"?mje:t:yje;jJ.exports=Eje});var bN=_((mkt,YJ)=>{var GJ=/^[0-9]+$/,WJ=(t,e)=>{let r=GJ.test(t),o=GJ.test(e);return r&&o&&(t=+t,e=+e),t===e?0:r&&!o?-1:o&&!r?1:t<e?-1:1},Cje=(t,e)=>WJ(e,t);YJ.exports={compareIdentifiers:WJ,rcompareIdentifiers:Cje}});var Eo=_((ykt,zJ)=>{var WP=Rw(),{MAX_LENGTH:KJ,MAX_SAFE_INTEGER:YP}=Fw(),{safeRe:VJ,t:JJ}=xm(),Ije=GP(),{compareIdentifiers:km}=bN(),xN=class t{constructor(e,r){if(r=Ije(r),e instanceof t){if(e.loose===!!r.loose&&e.includePrerelease===!!r.includePrerelease)return e;e=e.version}else if(typeof e!="string")throw new TypeError(`Invalid version. Must be a string. Got type "${typeof e}".`);if(e.length>KJ)throw new TypeError(`version is longer than ${KJ} characters`);WP("SemVer",e,r),this.options=r,this.loose=!!r.loose,this.includePrerelease=!!r.includePrerelease;let o=e.trim().match(r.loose?VJ[JJ.LOOSE]:VJ[JJ.FULL]);if(!o)throw new TypeError(`Invalid Version: ${e}`);if(this.raw=e,this.major=+o[1],this.minor=+o[2],this.patch=+o[3],this.major>YP||this.major<0)throw new TypeError("Invalid major version");if(this.minor>YP||this.minor<0)throw new TypeError("Invalid minor version");if(this.patch>YP||this.patch<0)throw new TypeError("Invalid patch version");o[4]?this.prerelease=o[4].split(".").map(a=>{if(/^[0-9]+$/.test(a)){let n=+a;if(n>=0&&n<YP)return n}return a}):this.prerelease=[],this.build=o[5]?o[5].split("."):[],this.format()}format(){return this.version=`${this.major}.${this.minor}.${this.patch}`,this.prerelease.length&&(this.version+=`-${this.prerelease.join(".")}`),this.version}toString(){return this.version}compare(e){if(WP("SemVer.compare",this.version,this.options,e),!(e instanceof t)){if(typeof e=="string"&&e===this.version)return 0;e=new t(e,this.options)}return e.version===this.version?0:this.compareMain(e)||this.comparePre(e)}compareMain(e){return e instanceof t||(e=new t(e,this.options)),km(this.major,e.major)||km(this.minor,e.minor)||km(this.patch,e.patch)}comparePre(e){if(e instanceof t||(e=new t(e,this.options)),this.prerelease.length&&!e.prerelease.length)return-1;if(!this.prerelease.length&&e.prerelease.length)return 1;if(!this.prerelease.length&&!e.prerelease.length)return 0;let r=0;do{let o=this.prerelease[r],a=e.prerelease[r];if(WP("prerelease compare",r,o,a),o===void 0&&a===void 0)return 0;if(a===void 0)return 1;if(o===void 0)return-1;if(o===a)continue;return km(o,a)}while(++r)}compareBuild(e){e instanceof t||(e=new t(e,this.options));let r=0;do{let o=this.build[r],a=e.build[r];if(WP("prerelease compare",r,o,a),o===void 0&&a===void 0)return 0;if(a===void 0)return 1;if(o===void 0)return-1;if(o===a)continue;return km(o,a)}while(++r)}inc(e,r,o){switch(e){case"premajor":this.prerelease.length=0,this.patch=0,this.minor=0,this.major++,this.inc("pre",r,o);break;case"preminor":this.prerelease.length=0,this.patch=0,this.minor++,this.inc("pre",r,o);break;case"prepatch":this.prerelease.length=0,this.inc("patch",r,o),this.inc("pre",r,o);break;case"prerelease":this.prerelease.length===0&&this.inc("patch",r,o),this.inc("pre",r,o);break;case"major":(this.minor!==0||this.patch!==0||this.prerelease.length===0)&&this.major++,this.minor=0,this.patch=0,this.prerelease=[];break;case"minor":(this.patch!==0||this.prerelease.length===0)&&this.minor++,this.patch=0,this.prerelease=[];break;case"patch":this.prerelease.length===0&&this.patch++,this.prerelease=[];break;case"pre":{let a=Number(o)?1:0;if(!r&&o===!1)throw new Error("invalid increment argument: identifier is empty");if(this.prerelease.length===0)this.prerelease=[a];else{let n=this.prerelease.length;for(;--n>=0;)typeof this.prerelease[n]=="number"&&(this.prerelease[n]++,n=-2);if(n===-1){if(r===this.prerelease.join(".")&&o===!1)throw new Error("invalid increment argument: identifier already exists");this.prerelease.push(a)}}if(r){let n=[r,a];o===!1&&(n=[r]),km(this.prerelease[0],r)===0?isNaN(this.prerelease[1])&&(this.prerelease=n):this.prerelease=n}break}default:throw new Error(`invalid increment argument: ${e}`)}return this.raw=this.format(),this.build.length&&(this.raw+=`+${this.build.join(".")}`),this}};zJ.exports=xN});var cg=_((Ekt,ZJ)=>{var XJ=Eo(),wje=(t,e,r=!1)=>{if(t instanceof XJ)return t;try{return new XJ(t,e)}catch(o){if(!r)return null;throw o}};ZJ.exports=wje});var ez=_((Ckt,$J)=>{var Bje=cg(),vje=(t,e)=>{let r=Bje(t,e);return r?r.version:null};$J.exports=vje});var rz=_((Ikt,tz)=>{var Dje=cg(),Pje=(t,e)=>{let r=Dje(t.trim().replace(/^[=v]+/,""),e);return r?r.version:null};tz.exports=Pje});var sz=_((wkt,iz)=>{var nz=Eo(),Sje=(t,e,r,o,a)=>{typeof r=="string"&&(a=o,o=r,r=void 0);try{return new nz(t instanceof nz?t.version:t,r).inc(e,o,a).version}catch{return null}};iz.exports=Sje});var lz=_((Bkt,az)=>{var oz=cg(),bje=(t,e)=>{let r=oz(t,null,!0),o=oz(e,null,!0),a=r.compare(o);if(a===0)return null;let n=a>0,u=n?r:o,A=n?o:r,p=!!u.prerelease.length;if(!!A.prerelease.length&&!p)return!A.patch&&!A.minor?"major":u.patch?"patch":u.minor?"minor":"major";let E=p?"pre":"";return r.major!==o.major?E+"major":r.minor!==o.minor?E+"minor":r.patch!==o.patch?E+"patch":"prerelease"};az.exports=bje});var uz=_((vkt,cz)=>{var xje=Eo(),kje=(t,e)=>new xje(t,e).major;cz.exports=kje});var fz=_((Dkt,Az)=>{var Qje=Eo(),Fje=(t,e)=>new Qje(t,e).minor;Az.exports=Fje});var hz=_((Pkt,pz)=>{var Rje=Eo(),Tje=(t,e)=>new Rje(t,e).patch;pz.exports=Tje});var dz=_((Skt,gz)=>{var Nje=cg(),Lje=(t,e)=>{let r=Nje(t,e);return r&&r.prerelease.length?r.prerelease:null};gz.exports=Lje});var Ml=_((bkt,yz)=>{var mz=Eo(),Oje=(t,e,r)=>new mz(t,r).compare(new mz(e,r));yz.exports=Oje});var Cz=_((xkt,Ez)=>{var Mje=Ml(),Uje=(t,e,r)=>Mje(e,t,r);Ez.exports=Uje});var wz=_((kkt,Iz)=>{var _je=Ml(),Hje=(t,e)=>_je(t,e,!0);Iz.exports=Hje});var KP=_((Qkt,vz)=>{var Bz=Eo(),qje=(t,e,r)=>{let o=new Bz(t,r),a=new Bz(e,r);return o.compare(a)||o.compareBuild(a)};vz.exports=qje});var Pz=_((Fkt,Dz)=>{var jje=KP(),Gje=(t,e)=>t.sort((r,o)=>jje(r,o,e));Dz.exports=Gje});var bz=_((Rkt,Sz)=>{var Wje=KP(),Yje=(t,e)=>t.sort((r,o)=>Wje(o,r,e));Sz.exports=Yje});var Tw=_((Tkt,xz)=>{var Kje=Ml(),Vje=(t,e,r)=>Kje(t,e,r)>0;xz.exports=Vje});var VP=_((Nkt,kz)=>{var Jje=Ml(),zje=(t,e,r)=>Jje(t,e,r)<0;kz.exports=zje});var kN=_((Lkt,Qz)=>{var Xje=Ml(),Zje=(t,e,r)=>Xje(t,e,r)===0;Qz.exports=Zje});var QN=_((Okt,Fz)=>{var $je=Ml(),e5e=(t,e,r)=>$je(t,e,r)!==0;Fz.exports=e5e});var JP=_((Mkt,Rz)=>{var t5e=Ml(),r5e=(t,e,r)=>t5e(t,e,r)>=0;Rz.exports=r5e});var zP=_((Ukt,Tz)=>{var n5e=Ml(),i5e=(t,e,r)=>n5e(t,e,r)<=0;Tz.exports=i5e});var FN=_((_kt,Nz)=>{var s5e=kN(),o5e=QN(),a5e=Tw(),l5e=JP(),c5e=VP(),u5e=zP(),A5e=(t,e,r,o)=>{switch(e){case"===":return typeof t=="object"&&(t=t.version),typeof r=="object"&&(r=r.version),t===r;case"!==":return typeof t=="object"&&(t=t.version),typeof r=="object"&&(r=r.version),t!==r;case"":case"=":case"==":return s5e(t,r,o);case"!=":return o5e(t,r,o);case">":return a5e(t,r,o);case">=":return l5e(t,r,o);case"<":return c5e(t,r,o);case"<=":return u5e(t,r,o);default:throw new TypeError(`Invalid operator: ${e}`)}};Nz.exports=A5e});var Oz=_((Hkt,Lz)=>{var f5e=Eo(),p5e=cg(),{safeRe:XP,t:ZP}=xm(),h5e=(t,e)=>{if(t instanceof f5e)return t;if(typeof t=="number"&&(t=String(t)),typeof t!="string")return null;e=e||{};let r=null;if(!e.rtl)r=t.match(e.includePrerelease?XP[ZP.COERCEFULL]:XP[ZP.COERCE]);else{let p=e.includePrerelease?XP[ZP.COERCERTLFULL]:XP[ZP.COERCERTL],h;for(;(h=p.exec(t))&&(!r||r.index+r[0].length!==t.length);)(!r||h.index+h[0].length!==r.index+r[0].length)&&(r=h),p.lastIndex=h.index+h[1].length+h[2].length;p.lastIndex=-1}if(r===null)return null;let o=r[2],a=r[3]||"0",n=r[4]||"0",u=e.includePrerelease&&r[5]?`-${r[5]}`:"",A=e.includePrerelease&&r[6]?`+${r[6]}`:"";return p5e(`${o}.${a}.${n}${u}${A}`,e)};Lz.exports=h5e});var Uz=_((qkt,Mz)=>{"use strict";Mz.exports=function(t){t.prototype[Symbol.iterator]=function*(){for(let e=this.head;e;e=e.next)yield e.value}}});var $P=_((jkt,_z)=>{"use strict";_z.exports=bn;bn.Node=ug;bn.create=bn;function bn(t){var e=this;if(e instanceof bn||(e=new bn),e.tail=null,e.head=null,e.length=0,t&&typeof t.forEach=="function")t.forEach(function(a){e.push(a)});else if(arguments.length>0)for(var r=0,o=arguments.length;r<o;r++)e.push(arguments[r]);return e}bn.prototype.removeNode=function(t){if(t.list!==this)throw new Error("removing node which does not belong to this list");var e=t.next,r=t.prev;return e&&(e.prev=r),r&&(r.next=e),t===this.head&&(this.head=e),t===this.tail&&(this.tail=r),t.list.length--,t.next=null,t.prev=null,t.list=null,e};bn.prototype.unshiftNode=function(t){if(t!==this.head){t.list&&t.list.removeNode(t);var e=this.head;t.list=this,t.next=e,e&&(e.prev=t),this.head=t,this.tail||(this.tail=t),this.length++}};bn.prototype.pushNode=function(t){if(t!==this.tail){t.list&&t.list.removeNode(t);var e=this.tail;t.list=this,t.prev=e,e&&(e.next=t),this.tail=t,this.head||(this.head=t),this.length++}};bn.prototype.push=function(){for(var t=0,e=arguments.length;t<e;t++)d5e(this,arguments[t]);return this.length};bn.prototype.unshift=function(){for(var t=0,e=arguments.length;t<e;t++)m5e(this,arguments[t]);return this.length};bn.prototype.pop=function(){if(this.tail){var t=this.tail.value;return this.tail=this.tail.prev,this.tail?this.tail.next=null:this.head=null,this.length--,t}};bn.prototype.shift=function(){if(this.head){var t=this.head.value;return this.head=this.head.next,this.head?this.head.prev=null:this.tail=null,this.length--,t}};bn.prototype.forEach=function(t,e){e=e||this;for(var r=this.head,o=0;r!==null;o++)t.call(e,r.value,o,this),r=r.next};bn.prototype.forEachReverse=function(t,e){e=e||this;for(var r=this.tail,o=this.length-1;r!==null;o--)t.call(e,r.value,o,this),r=r.prev};bn.prototype.get=function(t){for(var e=0,r=this.head;r!==null&&e<t;e++)r=r.next;if(e===t&&r!==null)return r.value};bn.prototype.getReverse=function(t){for(var e=0,r=this.tail;r!==null&&e<t;e++)r=r.prev;if(e===t&&r!==null)return r.value};bn.prototype.map=function(t,e){e=e||this;for(var r=new bn,o=this.head;o!==null;)r.push(t.call(e,o.value,this)),o=o.next;return r};bn.prototype.mapReverse=function(t,e){e=e||this;for(var r=new bn,o=this.tail;o!==null;)r.push(t.call(e,o.value,this)),o=o.prev;return r};bn.prototype.reduce=function(t,e){var r,o=this.head;if(arguments.length>1)r=e;else if(this.head)o=this.head.next,r=this.head.value;else throw new TypeError("Reduce of empty list with no initial value");for(var a=0;o!==null;a++)r=t(r,o.value,a),o=o.next;return r};bn.prototype.reduceReverse=function(t,e){var r,o=this.tail;if(arguments.length>1)r=e;else if(this.tail)o=this.tail.prev,r=this.tail.value;else throw new TypeError("Reduce of empty list with no initial value");for(var a=this.length-1;o!==null;a--)r=t(r,o.value,a),o=o.prev;return r};bn.prototype.toArray=function(){for(var t=new Array(this.length),e=0,r=this.head;r!==null;e++)t[e]=r.value,r=r.next;return t};bn.prototype.toArrayReverse=function(){for(var t=new Array(this.length),e=0,r=this.tail;r!==null;e++)t[e]=r.value,r=r.prev;return t};bn.prototype.slice=function(t,e){e=e||this.length,e<0&&(e+=this.length),t=t||0,t<0&&(t+=this.length);var r=new bn;if(e<t||e<0)return r;t<0&&(t=0),e>this.length&&(e=this.length);for(var o=0,a=this.head;a!==null&&o<t;o++)a=a.next;for(;a!==null&&o<e;o++,a=a.next)r.push(a.value);return r};bn.prototype.sliceReverse=function(t,e){e=e||this.length,e<0&&(e+=this.length),t=t||0,t<0&&(t+=this.length);var r=new bn;if(e<t||e<0)return r;t<0&&(t=0),e>this.length&&(e=this.length);for(var o=this.length,a=this.tail;a!==null&&o>e;o--)a=a.prev;for(;a!==null&&o>t;o--,a=a.prev)r.push(a.value);return r};bn.prototype.splice=function(t,e,...r){t>this.length&&(t=this.length-1),t<0&&(t=this.length+t);for(var o=0,a=this.head;a!==null&&o<t;o++)a=a.next;for(var n=[],o=0;a&&o<e;o++)n.push(a.value),a=this.removeNode(a);a===null&&(a=this.tail),a!==this.head&&a!==this.tail&&(a=a.prev);for(var o=0;o<r.length;o++)a=g5e(this,a,r[o]);return n};bn.prototype.reverse=function(){for(var t=this.head,e=this.tail,r=t;r!==null;r=r.prev){var o=r.prev;r.prev=r.next,r.next=o}return this.head=e,this.tail=t,this};function g5e(t,e,r){var o=e===t.head?new ug(r,null,e,t):new ug(r,e,e.next,t);return o.next===null&&(t.tail=o),o.prev===null&&(t.head=o),t.length++,o}function d5e(t,e){t.tail=new ug(e,t.tail,null,t),t.head||(t.head=t.tail),t.length++}function m5e(t,e){t.head=new ug(e,null,t.head,t),t.tail||(t.tail=t.head),t.length++}function ug(t,e,r,o){if(!(this instanceof ug))return new ug(t,e,r,o);this.list=o,this.value=t,e?(e.next=this,this.prev=e):this.prev=null,r?(r.prev=this,this.next=r):this.next=null}try{Uz()(bn)}catch{}});var Wz=_((Gkt,Gz)=>{"use strict";var y5e=$P(),Ag=Symbol("max"),wf=Symbol("length"),Qm=Symbol("lengthCalculator"),Lw=Symbol("allowStale"),fg=Symbol("maxAge"),If=Symbol("dispose"),Hz=Symbol("noDisposeOnSet"),Ds=Symbol("lruList"),Gc=Symbol("cache"),jz=Symbol("updateAgeOnGet"),RN=()=>1,NN=class{constructor(e){if(typeof e=="number"&&(e={max:e}),e||(e={}),e.max&&(typeof e.max!="number"||e.max<0))throw new TypeError("max must be a non-negative number");let r=this[Ag]=e.max||1/0,o=e.length||RN;if(this[Qm]=typeof o!="function"?RN:o,this[Lw]=e.stale||!1,e.maxAge&&typeof e.maxAge!="number")throw new TypeError("maxAge must be a number");this[fg]=e.maxAge||0,this[If]=e.dispose,this[Hz]=e.noDisposeOnSet||!1,this[jz]=e.updateAgeOnGet||!1,this.reset()}set max(e){if(typeof e!="number"||e<0)throw new TypeError("max must be a non-negative number");this[Ag]=e||1/0,Nw(this)}get max(){return this[Ag]}set allowStale(e){this[Lw]=!!e}get allowStale(){return this[Lw]}set maxAge(e){if(typeof e!="number")throw new TypeError("maxAge must be a non-negative number");this[fg]=e,Nw(this)}get maxAge(){return this[fg]}set lengthCalculator(e){typeof e!="function"&&(e=RN),e!==this[Qm]&&(this[Qm]=e,this[wf]=0,this[Ds].forEach(r=>{r.length=this[Qm](r.value,r.key),this[wf]+=r.length})),Nw(this)}get lengthCalculator(){return this[Qm]}get length(){return this[wf]}get itemCount(){return this[Ds].length}rforEach(e,r){r=r||this;for(let o=this[Ds].tail;o!==null;){let a=o.prev;qz(this,e,o,r),o=a}}forEach(e,r){r=r||this;for(let o=this[Ds].head;o!==null;){let a=o.next;qz(this,e,o,r),o=a}}keys(){return this[Ds].toArray().map(e=>e.key)}values(){return this[Ds].toArray().map(e=>e.value)}reset(){this[If]&&this[Ds]&&this[Ds].length&&this[Ds].forEach(e=>this[If](e.key,e.value)),this[Gc]=new Map,this[Ds]=new y5e,this[wf]=0}dump(){return this[Ds].map(e=>eS(this,e)?!1:{k:e.key,v:e.value,e:e.now+(e.maxAge||0)}).toArray().filter(e=>e)}dumpLru(){return this[Ds]}set(e,r,o){if(o=o||this[fg],o&&typeof o!="number")throw new TypeError("maxAge must be a number");let a=o?Date.now():0,n=this[Qm](r,e);if(this[Gc].has(e)){if(n>this[Ag])return Fm(this,this[Gc].get(e)),!1;let p=this[Gc].get(e).value;return this[If]&&(this[Hz]||this[If](e,p.value)),p.now=a,p.maxAge=o,p.value=r,this[wf]+=n-p.length,p.length=n,this.get(e),Nw(this),!0}let u=new LN(e,r,n,a,o);return u.length>this[Ag]?(this[If]&&this[If](e,r),!1):(this[wf]+=u.length,this[Ds].unshift(u),this[Gc].set(e,this[Ds].head),Nw(this),!0)}has(e){if(!this[Gc].has(e))return!1;let r=this[Gc].get(e).value;return!eS(this,r)}get(e){return TN(this,e,!0)}peek(e){return TN(this,e,!1)}pop(){let e=this[Ds].tail;return e?(Fm(this,e),e.value):null}del(e){Fm(this,this[Gc].get(e))}load(e){this.reset();let r=Date.now();for(let o=e.length-1;o>=0;o--){let a=e[o],n=a.e||0;if(n===0)this.set(a.k,a.v);else{let u=n-r;u>0&&this.set(a.k,a.v,u)}}}prune(){this[Gc].forEach((e,r)=>TN(this,r,!1))}},TN=(t,e,r)=>{let o=t[Gc].get(e);if(o){let a=o.value;if(eS(t,a)){if(Fm(t,o),!t[Lw])return}else r&&(t[jz]&&(o.value.now=Date.now()),t[Ds].unshiftNode(o));return a.value}},eS=(t,e)=>{if(!e||!e.maxAge&&!t[fg])return!1;let r=Date.now()-e.now;return e.maxAge?r>e.maxAge:t[fg]&&r>t[fg]},Nw=t=>{if(t[wf]>t[Ag])for(let e=t[Ds].tail;t[wf]>t[Ag]&&e!==null;){let r=e.prev;Fm(t,e),e=r}},Fm=(t,e)=>{if(e){let r=e.value;t[If]&&t[If](r.key,r.value),t[wf]-=r.length,t[Gc].delete(r.key),t[Ds].removeNode(e)}},LN=class{constructor(e,r,o,a,n){this.key=e,this.value=r,this.length=o,this.now=a,this.maxAge=n||0}},qz=(t,e,r,o)=>{let a=r.value;eS(t,a)&&(Fm(t,r),t[Lw]||(a=void 0)),a&&e.call(o,a.value,a.key,t)};Gz.exports=NN});var Ul=_((Wkt,Jz)=>{var ON=class t{constructor(e,r){if(r=C5e(r),e instanceof t)return e.loose===!!r.loose&&e.includePrerelease===!!r.includePrerelease?e:new t(e.raw,r);if(e instanceof MN)return this.raw=e.value,this.set=[[e]],this.format(),this;if(this.options=r,this.loose=!!r.loose,this.includePrerelease=!!r.includePrerelease,this.raw=e.trim().split(/\s+/).join(" "),this.set=this.raw.split("||").map(o=>this.parseRange(o.trim())).filter(o=>o.length),!this.set.length)throw new TypeError(`Invalid SemVer Range: ${this.raw}`);if(this.set.length>1){let o=this.set[0];if(this.set=this.set.filter(a=>!Kz(a[0])),this.set.length===0)this.set=[o];else if(this.set.length>1){for(let a of this.set)if(a.length===1&&S5e(a[0])){this.set=[a];break}}}this.format()}format(){return this.range=this.set.map(e=>e.join(" ").trim()).join("||").trim(),this.range}toString(){return this.range}parseRange(e){let o=((this.options.includePrerelease&&D5e)|(this.options.loose&&P5e))+":"+e,a=Yz.get(o);if(a)return a;let n=this.options.loose,u=n?ba[Jo.HYPHENRANGELOOSE]:ba[Jo.HYPHENRANGE];e=e.replace(u,O5e(this.options.includePrerelease)),gi("hyphen replace",e),e=e.replace(ba[Jo.COMPARATORTRIM],w5e),gi("comparator trim",e),e=e.replace(ba[Jo.TILDETRIM],B5e),gi("tilde trim",e),e=e.replace(ba[Jo.CARETTRIM],v5e),gi("caret trim",e);let A=e.split(" ").map(w=>b5e(w,this.options)).join(" ").split(/\s+/).map(w=>L5e(w,this.options));n&&(A=A.filter(w=>(gi("loose invalid filter",w,this.options),!!w.match(ba[Jo.COMPARATORLOOSE])))),gi("range list",A);let p=new Map,h=A.map(w=>new MN(w,this.options));for(let w of h){if(Kz(w))return[w];p.set(w.value,w)}p.size>1&&p.has("")&&p.delete("");let E=[...p.values()];return Yz.set(o,E),E}intersects(e,r){if(!(e instanceof t))throw new TypeError("a Range is required");return this.set.some(o=>Vz(o,r)&&e.set.some(a=>Vz(a,r)&&o.every(n=>a.every(u=>n.intersects(u,r)))))}test(e){if(!e)return!1;if(typeof e=="string")try{e=new I5e(e,this.options)}catch{return!1}for(let r=0;r<this.set.length;r++)if(M5e(this.set[r],e,this.options))return!0;return!1}};Jz.exports=ON;var E5e=Wz(),Yz=new E5e({max:1e3}),C5e=GP(),MN=Ow(),gi=Rw(),I5e=Eo(),{safeRe:ba,t:Jo,comparatorTrimReplace:w5e,tildeTrimReplace:B5e,caretTrimReplace:v5e}=xm(),{FLAG_INCLUDE_PRERELEASE:D5e,FLAG_LOOSE:P5e}=Fw(),Kz=t=>t.value==="<0.0.0-0",S5e=t=>t.value==="",Vz=(t,e)=>{let r=!0,o=t.slice(),a=o.pop();for(;r&&o.length;)r=o.every(n=>a.intersects(n,e)),a=o.pop();return r},b5e=(t,e)=>(gi("comp",t,e),t=Q5e(t,e),gi("caret",t),t=x5e(t,e),gi("tildes",t),t=R5e(t,e),gi("xrange",t),t=N5e(t,e),gi("stars",t),t),zo=t=>!t||t.toLowerCase()==="x"||t==="*",x5e=(t,e)=>t.trim().split(/\s+/).map(r=>k5e(r,e)).join(" "),k5e=(t,e)=>{let r=e.loose?ba[Jo.TILDELOOSE]:ba[Jo.TILDE];return t.replace(r,(o,a,n,u,A)=>{gi("tilde",t,o,a,n,u,A);let p;return zo(a)?p="":zo(n)?p=`>=${a}.0.0 <${+a+1}.0.0-0`:zo(u)?p=`>=${a}.${n}.0 <${a}.${+n+1}.0-0`:A?(gi("replaceTilde pr",A),p=`>=${a}.${n}.${u}-${A} <${a}.${+n+1}.0-0`):p=`>=${a}.${n}.${u} <${a}.${+n+1}.0-0`,gi("tilde return",p),p})},Q5e=(t,e)=>t.trim().split(/\s+/).map(r=>F5e(r,e)).join(" "),F5e=(t,e)=>{gi("caret",t,e);let r=e.loose?ba[Jo.CARETLOOSE]:ba[Jo.CARET],o=e.includePrerelease?"-0":"";return t.replace(r,(a,n,u,A,p)=>{gi("caret",t,a,n,u,A,p);let h;return zo(n)?h="":zo(u)?h=`>=${n}.0.0${o} <${+n+1}.0.0-0`:zo(A)?n==="0"?h=`>=${n}.${u}.0${o} <${n}.${+u+1}.0-0`:h=`>=${n}.${u}.0${o} <${+n+1}.0.0-0`:p?(gi("replaceCaret pr",p),n==="0"?u==="0"?h=`>=${n}.${u}.${A}-${p} <${n}.${u}.${+A+1}-0`:h=`>=${n}.${u}.${A}-${p} <${n}.${+u+1}.0-0`:h=`>=${n}.${u}.${A}-${p} <${+n+1}.0.0-0`):(gi("no pr"),n==="0"?u==="0"?h=`>=${n}.${u}.${A}${o} <${n}.${u}.${+A+1}-0`:h=`>=${n}.${u}.${A}${o} <${n}.${+u+1}.0-0`:h=`>=${n}.${u}.${A} <${+n+1}.0.0-0`),gi("caret return",h),h})},R5e=(t,e)=>(gi("replaceXRanges",t,e),t.split(/\s+/).map(r=>T5e(r,e)).join(" ")),T5e=(t,e)=>{t=t.trim();let r=e.loose?ba[Jo.XRANGELOOSE]:ba[Jo.XRANGE];return t.replace(r,(o,a,n,u,A,p)=>{gi("xRange",t,o,a,n,u,A,p);let h=zo(n),E=h||zo(u),w=E||zo(A),D=w;return a==="="&&D&&(a=""),p=e.includePrerelease?"-0":"",h?a===">"||a==="<"?o="<0.0.0-0":o="*":a&&D?(E&&(u=0),A=0,a===">"?(a=">=",E?(n=+n+1,u=0,A=0):(u=+u+1,A=0)):a==="<="&&(a="<",E?n=+n+1:u=+u+1),a==="<"&&(p="-0"),o=`${a+n}.${u}.${A}${p}`):E?o=`>=${n}.0.0${p} <${+n+1}.0.0-0`:w&&(o=`>=${n}.${u}.0${p} <${n}.${+u+1}.0-0`),gi("xRange return",o),o})},N5e=(t,e)=>(gi("replaceStars",t,e),t.trim().replace(ba[Jo.STAR],"")),L5e=(t,e)=>(gi("replaceGTE0",t,e),t.trim().replace(ba[e.includePrerelease?Jo.GTE0PRE:Jo.GTE0],"")),O5e=t=>(e,r,o,a,n,u,A,p,h,E,w,D,x)=>(zo(o)?r="":zo(a)?r=`>=${o}.0.0${t?"-0":""}`:zo(n)?r=`>=${o}.${a}.0${t?"-0":""}`:u?r=`>=${r}`:r=`>=${r}${t?"-0":""}`,zo(h)?p="":zo(E)?p=`<${+h+1}.0.0-0`:zo(w)?p=`<${h}.${+E+1}.0-0`:D?p=`<=${h}.${E}.${w}-${D}`:t?p=`<${h}.${E}.${+w+1}-0`:p=`<=${p}`,`${r} ${p}`.trim()),M5e=(t,e,r)=>{for(let o=0;o<t.length;o++)if(!t[o].test(e))return!1;if(e.prerelease.length&&!r.includePrerelease){for(let o=0;o<t.length;o++)if(gi(t[o].semver),t[o].semver!==MN.ANY&&t[o].semver.prerelease.length>0){let a=t[o].semver;if(a.major===e.major&&a.minor===e.minor&&a.patch===e.patch)return!0}return!1}return!0}});var Ow=_((Ykt,tX)=>{var Mw=Symbol("SemVer ANY"),HN=class t{static get ANY(){return Mw}constructor(e,r){if(r=zz(r),e instanceof t){if(e.loose===!!r.loose)return e;e=e.value}e=e.trim().split(/\s+/).join(" "),_N("comparator",e,r),this.options=r,this.loose=!!r.loose,this.parse(e),this.semver===Mw?this.value="":this.value=this.operator+this.semver.version,_N("comp",this)}parse(e){let r=this.options.loose?Xz[Zz.COMPARATORLOOSE]:Xz[Zz.COMPARATOR],o=e.match(r);if(!o)throw new TypeError(`Invalid comparator: ${e}`);this.operator=o[1]!==void 0?o[1]:"",this.operator==="="&&(this.operator=""),o[2]?this.semver=new $z(o[2],this.options.loose):this.semver=Mw}toString(){return this.value}test(e){if(_N("Comparator.test",e,this.options.loose),this.semver===Mw||e===Mw)return!0;if(typeof e=="string")try{e=new $z(e,this.options)}catch{return!1}return UN(e,this.operator,this.semver,this.options)}intersects(e,r){if(!(e instanceof t))throw new TypeError("a Comparator is required");return this.operator===""?this.value===""?!0:new eX(e.value,r).test(this.value):e.operator===""?e.value===""?!0:new eX(this.value,r).test(e.semver):(r=zz(r),r.includePrerelease&&(this.value==="<0.0.0-0"||e.value==="<0.0.0-0")||!r.includePrerelease&&(this.value.startsWith("<0.0.0")||e.value.startsWith("<0.0.0"))?!1:!!(this.operator.startsWith(">")&&e.operator.startsWith(">")||this.operator.startsWith("<")&&e.operator.startsWith("<")||this.semver.version===e.semver.version&&this.operator.includes("=")&&e.operator.includes("=")||UN(this.semver,"<",e.semver,r)&&this.operator.startsWith(">")&&e.operator.startsWith("<")||UN(this.semver,">",e.semver,r)&&this.operator.startsWith("<")&&e.operator.startsWith(">")))}};tX.exports=HN;var zz=GP(),{safeRe:Xz,t:Zz}=xm(),UN=FN(),_N=Rw(),$z=Eo(),eX=Ul()});var Uw=_((Kkt,rX)=>{var U5e=Ul(),_5e=(t,e,r)=>{try{e=new U5e(e,r)}catch{return!1}return e.test(t)};rX.exports=_5e});var iX=_((Vkt,nX)=>{var H5e=Ul(),q5e=(t,e)=>new H5e(t,e).set.map(r=>r.map(o=>o.value).join(" ").trim().split(" "));nX.exports=q5e});var oX=_((Jkt,sX)=>{var j5e=Eo(),G5e=Ul(),W5e=(t,e,r)=>{let o=null,a=null,n=null;try{n=new G5e(e,r)}catch{return null}return t.forEach(u=>{n.test(u)&&(!o||a.compare(u)===-1)&&(o=u,a=new j5e(o,r))}),o};sX.exports=W5e});var lX=_((zkt,aX)=>{var Y5e=Eo(),K5e=Ul(),V5e=(t,e,r)=>{let o=null,a=null,n=null;try{n=new K5e(e,r)}catch{return null}return t.forEach(u=>{n.test(u)&&(!o||a.compare(u)===1)&&(o=u,a=new Y5e(o,r))}),o};aX.exports=V5e});var AX=_((Xkt,uX)=>{var qN=Eo(),J5e=Ul(),cX=Tw(),z5e=(t,e)=>{t=new J5e(t,e);let r=new qN("0.0.0");if(t.test(r)||(r=new qN("0.0.0-0"),t.test(r)))return r;r=null;for(let o=0;o<t.set.length;++o){let a=t.set[o],n=null;a.forEach(u=>{let A=new qN(u.semver.version);switch(u.operator){case">":A.prerelease.length===0?A.patch++:A.prerelease.push(0),A.raw=A.format();case"":case">=":(!n||cX(A,n))&&(n=A);break;case"<":case"<=":break;default:throw new Error(`Unexpected operation: ${u.operator}`)}}),n&&(!r||cX(r,n))&&(r=n)}return r&&t.test(r)?r:null};uX.exports=z5e});var pX=_((Zkt,fX)=>{var X5e=Ul(),Z5e=(t,e)=>{try{return new X5e(t,e).range||"*"}catch{return null}};fX.exports=Z5e});var tS=_(($kt,mX)=>{var $5e=Eo(),dX=Ow(),{ANY:eGe}=dX,tGe=Ul(),rGe=Uw(),hX=Tw(),gX=VP(),nGe=zP(),iGe=JP(),sGe=(t,e,r,o)=>{t=new $5e(t,o),e=new tGe(e,o);let a,n,u,A,p;switch(r){case">":a=hX,n=nGe,u=gX,A=">",p=">=";break;case"<":a=gX,n=iGe,u=hX,A="<",p="<=";break;default:throw new TypeError('Must provide a hilo val of "<" or ">"')}if(rGe(t,e,o))return!1;for(let h=0;h<e.set.length;++h){let E=e.set[h],w=null,D=null;if(E.forEach(x=>{x.semver===eGe&&(x=new dX(">=0.0.0")),w=w||x,D=D||x,a(x.semver,w.semver,o)?w=x:u(x.semver,D.semver,o)&&(D=x)}),w.operator===A||w.operator===p||(!D.operator||D.operator===A)&&n(t,D.semver))return!1;if(D.operator===p&&u(t,D.semver))return!1}return!0};mX.exports=sGe});var EX=_((eQt,yX)=>{var oGe=tS(),aGe=(t,e,r)=>oGe(t,e,">",r);yX.exports=aGe});var IX=_((tQt,CX)=>{var lGe=tS(),cGe=(t,e,r)=>lGe(t,e,"<",r);CX.exports=cGe});var vX=_((rQt,BX)=>{var wX=Ul(),uGe=(t,e,r)=>(t=new wX(t,r),e=new wX(e,r),t.intersects(e,r));BX.exports=uGe});var PX=_((nQt,DX)=>{var AGe=Uw(),fGe=Ml();DX.exports=(t,e,r)=>{let o=[],a=null,n=null,u=t.sort((E,w)=>fGe(E,w,r));for(let E of u)AGe(E,e,r)?(n=E,a||(a=E)):(n&&o.push([a,n]),n=null,a=null);a&&o.push([a,null]);let A=[];for(let[E,w]of o)E===w?A.push(E):!w&&E===u[0]?A.push("*"):w?E===u[0]?A.push(`<=${w}`):A.push(`${E} - ${w}`):A.push(`>=${E}`);let p=A.join(" || "),h=typeof e.raw=="string"?e.raw:String(e);return p.length<h.length?p:e}});var FX=_((iQt,QX)=>{var SX=Ul(),GN=Ow(),{ANY:jN}=GN,_w=Uw(),WN=Ml(),pGe=(t,e,r={})=>{if(t===e)return!0;t=new SX(t,r),e=new SX(e,r);let o=!1;e:for(let a of t.set){for(let n of e.set){let u=gGe(a,n,r);if(o=o||u!==null,u)continue e}if(o)return!1}return!0},hGe=[new GN(">=0.0.0-0")],bX=[new GN(">=0.0.0")],gGe=(t,e,r)=>{if(t===e)return!0;if(t.length===1&&t[0].semver===jN){if(e.length===1&&e[0].semver===jN)return!0;r.includePrerelease?t=hGe:t=bX}if(e.length===1&&e[0].semver===jN){if(r.includePrerelease)return!0;e=bX}let o=new Set,a,n;for(let x of t)x.operator===">"||x.operator===">="?a=xX(a,x,r):x.operator==="<"||x.operator==="<="?n=kX(n,x,r):o.add(x.semver);if(o.size>1)return null;let u;if(a&&n){if(u=WN(a.semver,n.semver,r),u>0)return null;if(u===0&&(a.operator!==">="||n.operator!=="<="))return null}for(let x of o){if(a&&!_w(x,String(a),r)||n&&!_w(x,String(n),r))return null;for(let C of e)if(!_w(x,String(C),r))return!1;return!0}let A,p,h,E,w=n&&!r.includePrerelease&&n.semver.prerelease.length?n.semver:!1,D=a&&!r.includePrerelease&&a.semver.prerelease.length?a.semver:!1;w&&w.prerelease.length===1&&n.operator==="<"&&w.prerelease[0]===0&&(w=!1);for(let x of e){if(E=E||x.operator===">"||x.operator===">=",h=h||x.operator==="<"||x.operator==="<=",a){if(D&&x.semver.prerelease&&x.semver.prerelease.length&&x.semver.major===D.major&&x.semver.minor===D.minor&&x.semver.patch===D.patch&&(D=!1),x.operator===">"||x.operator===">="){if(A=xX(a,x,r),A===x&&A!==a)return!1}else if(a.operator===">="&&!_w(a.semver,String(x),r))return!1}if(n){if(w&&x.semver.prerelease&&x.semver.prerelease.length&&x.semver.major===w.major&&x.semver.minor===w.minor&&x.semver.patch===w.patch&&(w=!1),x.operator==="<"||x.operator==="<="){if(p=kX(n,x,r),p===x&&p!==n)return!1}else if(n.operator==="<="&&!_w(n.semver,String(x),r))return!1}if(!x.operator&&(n||a)&&u!==0)return!1}return!(a&&h&&!n&&u!==0||n&&E&&!a&&u!==0||D||w)},xX=(t,e,r)=>{if(!t)return e;let o=WN(t.semver,e.semver,r);return o>0?t:o<0||e.operator===">"&&t.operator===">="?e:t},kX=(t,e,r)=>{if(!t)return e;let o=WN(t.semver,e.semver,r);return o<0?t:o>0||e.operator==="<"&&t.operator==="<="?e:t};QX.exports=pGe});var ni=_((sQt,NX)=>{var YN=xm(),RX=Fw(),dGe=Eo(),TX=bN(),mGe=cg(),yGe=ez(),EGe=rz(),CGe=sz(),IGe=lz(),wGe=uz(),BGe=fz(),vGe=hz(),DGe=dz(),PGe=Ml(),SGe=Cz(),bGe=wz(),xGe=KP(),kGe=Pz(),QGe=bz(),FGe=Tw(),RGe=VP(),TGe=kN(),NGe=QN(),LGe=JP(),OGe=zP(),MGe=FN(),UGe=Oz(),_Ge=Ow(),HGe=Ul(),qGe=Uw(),jGe=iX(),GGe=oX(),WGe=lX(),YGe=AX(),KGe=pX(),VGe=tS(),JGe=EX(),zGe=IX(),XGe=vX(),ZGe=PX(),$Ge=FX();NX.exports={parse:mGe,valid:yGe,clean:EGe,inc:CGe,diff:IGe,major:wGe,minor:BGe,patch:vGe,prerelease:DGe,compare:PGe,rcompare:SGe,compareLoose:bGe,compareBuild:xGe,sort:kGe,rsort:QGe,gt:FGe,lt:RGe,eq:TGe,neq:NGe,gte:LGe,lte:OGe,cmp:MGe,coerce:UGe,Comparator:_Ge,Range:HGe,satisfies:qGe,toComparators:jGe,maxSatisfying:GGe,minSatisfying:WGe,minVersion:YGe,validRange:KGe,outside:VGe,gtr:JGe,ltr:zGe,intersects:XGe,simplifyRange:ZGe,subset:$Ge,SemVer:dGe,re:YN.re,src:YN.src,tokens:YN.t,SEMVER_SPEC_VERSION:RX.SEMVER_SPEC_VERSION,RELEASE_TYPES:RX.RELEASE_TYPES,compareIdentifiers:TX.compareIdentifiers,rcompareIdentifiers:TX.rcompareIdentifiers}});var OX=_((oQt,LX)=>{"use strict";function e9e(t,e){function r(){this.constructor=t}r.prototype=e.prototype,t.prototype=new r}function pg(t,e,r,o){this.message=t,this.expected=e,this.found=r,this.location=o,this.name="SyntaxError",typeof Error.captureStackTrace=="function"&&Error.captureStackTrace(this,pg)}e9e(pg,Error);pg.buildMessage=function(t,e){var r={literal:function(h){return'"'+a(h.text)+'"'},class:function(h){var E="",w;for(w=0;w<h.parts.length;w++)E+=h.parts[w]instanceof Array?n(h.parts[w][0])+"-"+n(h.parts[w][1]):n(h.parts[w]);return"["+(h.inverted?"^":"")+E+"]"},any:function(h){return"any character"},end:function(h){return"end of input"},other:function(h){return h.description}};function o(h){return h.charCodeAt(0).toString(16).toUpperCase()}function a(h){return h.replace(/\\/g,"\\\\").replace(/"/g,'\\"').replace(/\0/g,"\\0").replace(/\t/g,"\\t").replace(/\n/g,"\\n").replace(/\r/g,"\\r").replace(/[\x00-\x0F]/g,function(E){return"\\x0"+o(E)}).replace(/[\x10-\x1F\x7F-\x9F]/g,function(E){return"\\x"+o(E)})}function n(h){return h.replace(/\\/g,"\\\\").replace(/\]/g,"\\]").replace(/\^/g,"\\^").replace(/-/g,"\\-").replace(/\0/g,"\\0").replace(/\t/g,"\\t").replace(/\n/g,"\\n").replace(/\r/g,"\\r").replace(/[\x00-\x0F]/g,function(E){return"\\x0"+o(E)}).replace(/[\x10-\x1F\x7F-\x9F]/g,function(E){return"\\x"+o(E)})}function u(h){return r[h.type](h)}function A(h){var E=new Array(h.length),w,D;for(w=0;w<h.length;w++)E[w]=u(h[w]);if(E.sort(),E.length>0){for(w=1,D=1;w<E.length;w++)E[w-1]!==E[w]&&(E[D]=E[w],D++);E.length=D}switch(E.length){case 1:return E[0];case 2:return E[0]+" or "+E[1];default:return E.slice(0,-1).join(", ")+", or "+E[E.length-1]}}function p(h){return h?'"'+a(h)+'"':"end of input"}return"Expected "+A(t)+" but "+p(e)+" found."};function t9e(t,e){e=e!==void 0?e:{};var r={},o={Expression:y},a=y,n="|",u=Ne("|",!1),A="&",p=Ne("&",!1),h="^",E=Ne("^",!1),w=function($,se){return!!se.reduce((xe,Fe)=>{switch(Fe[1]){case"|":return xe|Fe[3];case"&":return xe&Fe[3];case"^":return xe^Fe[3]}},$)},D="!",x=Ne("!",!1),C=function($){return!$},T="(",L=Ne("(",!1),U=")",J=Ne(")",!1),te=function($){return $},le=/^[^ \t\n\r()!|&\^]/,ce=Te([" "," ",` +`,"\r","(",")","!","|","&","^"],!0,!1),ue=function($){return e.queryPattern.test($)},Ie=function($){return e.checkFn($)},he=be("whitespace"),De=/^[ \t\n\r]/,Ee=Te([" "," ",` +`,"\r"],!1,!1),g=0,me=0,Ce=[{line:1,column:1}],fe=0,ie=[],Z=0,Pe;if("startRule"in e){if(!(e.startRule in o))throw new Error(`Can't start parsing from rule "`+e.startRule+'".');a=o[e.startRule]}function Re(){return t.substring(me,g)}function ht(){return He(me,g)}function q($,se){throw se=se!==void 0?se:He(me,g),S([be($)],t.substring(me,g),se)}function nt($,se){throw se=se!==void 0?se:He(me,g),I($,se)}function Ne($,se){return{type:"literal",text:$,ignoreCase:se}}function Te($,se,xe){return{type:"class",parts:$,inverted:se,ignoreCase:xe}}function ke(){return{type:"any"}}function Ve(){return{type:"end"}}function be($){return{type:"other",description:$}}function tt($){var se=Ce[$],xe;if(se)return se;for(xe=$-1;!Ce[xe];)xe--;for(se=Ce[xe],se={line:se.line,column:se.column};xe<$;)t.charCodeAt(xe)===10?(se.line++,se.column=1):se.column++,xe++;return Ce[$]=se,se}function He($,se){var xe=tt($),Fe=tt(se);return{start:{offset:$,line:xe.line,column:xe.column},end:{offset:se,line:Fe.line,column:Fe.column}}}function b($){g<fe||(g>fe&&(fe=g,ie=[]),ie.push($))}function I($,se){return new pg($,null,null,se)}function S($,se,xe){return new pg(pg.buildMessage($,se),$,se,xe)}function y(){var $,se,xe,Fe,lt,Et,qt,nr;if($=g,se=R(),se!==r){for(xe=[],Fe=g,lt=X(),lt!==r?(t.charCodeAt(g)===124?(Et=n,g++):(Et=r,Z===0&&b(u)),Et===r&&(t.charCodeAt(g)===38?(Et=A,g++):(Et=r,Z===0&&b(p)),Et===r&&(t.charCodeAt(g)===94?(Et=h,g++):(Et=r,Z===0&&b(E)))),Et!==r?(qt=X(),qt!==r?(nr=R(),nr!==r?(lt=[lt,Et,qt,nr],Fe=lt):(g=Fe,Fe=r)):(g=Fe,Fe=r)):(g=Fe,Fe=r)):(g=Fe,Fe=r);Fe!==r;)xe.push(Fe),Fe=g,lt=X(),lt!==r?(t.charCodeAt(g)===124?(Et=n,g++):(Et=r,Z===0&&b(u)),Et===r&&(t.charCodeAt(g)===38?(Et=A,g++):(Et=r,Z===0&&b(p)),Et===r&&(t.charCodeAt(g)===94?(Et=h,g++):(Et=r,Z===0&&b(E)))),Et!==r?(qt=X(),qt!==r?(nr=R(),nr!==r?(lt=[lt,Et,qt,nr],Fe=lt):(g=Fe,Fe=r)):(g=Fe,Fe=r)):(g=Fe,Fe=r)):(g=Fe,Fe=r);xe!==r?(me=$,se=w(se,xe),$=se):(g=$,$=r)}else g=$,$=r;return $}function R(){var $,se,xe,Fe,lt,Et;return $=g,t.charCodeAt(g)===33?(se=D,g++):(se=r,Z===0&&b(x)),se!==r?(xe=R(),xe!==r?(me=$,se=C(xe),$=se):(g=$,$=r)):(g=$,$=r),$===r&&($=g,t.charCodeAt(g)===40?(se=T,g++):(se=r,Z===0&&b(L)),se!==r?(xe=X(),xe!==r?(Fe=y(),Fe!==r?(lt=X(),lt!==r?(t.charCodeAt(g)===41?(Et=U,g++):(Et=r,Z===0&&b(J)),Et!==r?(me=$,se=te(Fe),$=se):(g=$,$=r)):(g=$,$=r)):(g=$,$=r)):(g=$,$=r)):(g=$,$=r),$===r&&($=z())),$}function z(){var $,se,xe,Fe,lt;if($=g,se=X(),se!==r){if(xe=g,Fe=[],le.test(t.charAt(g))?(lt=t.charAt(g),g++):(lt=r,Z===0&&b(ce)),lt!==r)for(;lt!==r;)Fe.push(lt),le.test(t.charAt(g))?(lt=t.charAt(g),g++):(lt=r,Z===0&&b(ce));else Fe=r;Fe!==r?xe=t.substring(xe,g):xe=Fe,xe!==r?(me=g,Fe=ue(xe),Fe?Fe=void 0:Fe=r,Fe!==r?(me=$,se=Ie(xe),$=se):(g=$,$=r)):(g=$,$=r)}else g=$,$=r;return $}function X(){var $,se;for(Z++,$=[],De.test(t.charAt(g))?(se=t.charAt(g),g++):(se=r,Z===0&&b(Ee));se!==r;)$.push(se),De.test(t.charAt(g))?(se=t.charAt(g),g++):(se=r,Z===0&&b(Ee));return Z--,$===r&&(se=r,Z===0&&b(he)),$}if(Pe=a(),Pe!==r&&g===t.length)return Pe;throw Pe!==r&&g<t.length&&b(Ve()),S(ie,fe<t.length?t.charAt(fe):null,fe<t.length?He(fe,fe+1):He(fe,fe))}LX.exports={SyntaxError:pg,parse:t9e}});var MX=_(rS=>{var{parse:r9e}=OX();rS.makeParser=(t=/[a-z]+/)=>(e,r)=>r9e(e,{queryPattern:t,checkFn:r});rS.parse=rS.makeParser()});var _X=_((lQt,UX)=>{"use strict";UX.exports={aliceblue:[240,248,255],antiquewhite:[250,235,215],aqua:[0,255,255],aquamarine:[127,255,212],azure:[240,255,255],beige:[245,245,220],bisque:[255,228,196],black:[0,0,0],blanchedalmond:[255,235,205],blue:[0,0,255],blueviolet:[138,43,226],brown:[165,42,42],burlywood:[222,184,135],cadetblue:[95,158,160],chartreuse:[127,255,0],chocolate:[210,105,30],coral:[255,127,80],cornflowerblue:[100,149,237],cornsilk:[255,248,220],crimson:[220,20,60],cyan:[0,255,255],darkblue:[0,0,139],darkcyan:[0,139,139],darkgoldenrod:[184,134,11],darkgray:[169,169,169],darkgreen:[0,100,0],darkgrey:[169,169,169],darkkhaki:[189,183,107],darkmagenta:[139,0,139],darkolivegreen:[85,107,47],darkorange:[255,140,0],darkorchid:[153,50,204],darkred:[139,0,0],darksalmon:[233,150,122],darkseagreen:[143,188,143],darkslateblue:[72,61,139],darkslategray:[47,79,79],darkslategrey:[47,79,79],darkturquoise:[0,206,209],darkviolet:[148,0,211],deeppink:[255,20,147],deepskyblue:[0,191,255],dimgray:[105,105,105],dimgrey:[105,105,105],dodgerblue:[30,144,255],firebrick:[178,34,34],floralwhite:[255,250,240],forestgreen:[34,139,34],fuchsia:[255,0,255],gainsboro:[220,220,220],ghostwhite:[248,248,255],gold:[255,215,0],goldenrod:[218,165,32],gray:[128,128,128],green:[0,128,0],greenyellow:[173,255,47],grey:[128,128,128],honeydew:[240,255,240],hotpink:[255,105,180],indianred:[205,92,92],indigo:[75,0,130],ivory:[255,255,240],khaki:[240,230,140],lavender:[230,230,250],lavenderblush:[255,240,245],lawngreen:[124,252,0],lemonchiffon:[255,250,205],lightblue:[173,216,230],lightcoral:[240,128,128],lightcyan:[224,255,255],lightgoldenrodyellow:[250,250,210],lightgray:[211,211,211],lightgreen:[144,238,144],lightgrey:[211,211,211],lightpink:[255,182,193],lightsalmon:[255,160,122],lightseagreen:[32,178,170],lightskyblue:[135,206,250],lightslategray:[119,136,153],lightslategrey:[119,136,153],lightsteelblue:[176,196,222],lightyellow:[255,255,224],lime:[0,255,0],limegreen:[50,205,50],linen:[250,240,230],magenta:[255,0,255],maroon:[128,0,0],mediumaquamarine:[102,205,170],mediumblue:[0,0,205],mediumorchid:[186,85,211],mediumpurple:[147,112,219],mediumseagreen:[60,179,113],mediumslateblue:[123,104,238],mediumspringgreen:[0,250,154],mediumturquoise:[72,209,204],mediumvioletred:[199,21,133],midnightblue:[25,25,112],mintcream:[245,255,250],mistyrose:[255,228,225],moccasin:[255,228,181],navajowhite:[255,222,173],navy:[0,0,128],oldlace:[253,245,230],olive:[128,128,0],olivedrab:[107,142,35],orange:[255,165,0],orangered:[255,69,0],orchid:[218,112,214],palegoldenrod:[238,232,170],palegreen:[152,251,152],paleturquoise:[175,238,238],palevioletred:[219,112,147],papayawhip:[255,239,213],peachpuff:[255,218,185],peru:[205,133,63],pink:[255,192,203],plum:[221,160,221],powderblue:[176,224,230],purple:[128,0,128],rebeccapurple:[102,51,153],red:[255,0,0],rosybrown:[188,143,143],royalblue:[65,105,225],saddlebrown:[139,69,19],salmon:[250,128,114],sandybrown:[244,164,96],seagreen:[46,139,87],seashell:[255,245,238],sienna:[160,82,45],silver:[192,192,192],skyblue:[135,206,235],slateblue:[106,90,205],slategray:[112,128,144],slategrey:[112,128,144],snow:[255,250,250],springgreen:[0,255,127],steelblue:[70,130,180],tan:[210,180,140],teal:[0,128,128],thistle:[216,191,216],tomato:[255,99,71],turquoise:[64,224,208],violet:[238,130,238],wheat:[245,222,179],white:[255,255,255],whitesmoke:[245,245,245],yellow:[255,255,0],yellowgreen:[154,205,50]}});var KN=_((cQt,qX)=>{var Hw=_X(),HX={};for(let t of Object.keys(Hw))HX[Hw[t]]=t;var fr={rgb:{channels:3,labels:"rgb"},hsl:{channels:3,labels:"hsl"},hsv:{channels:3,labels:"hsv"},hwb:{channels:3,labels:"hwb"},cmyk:{channels:4,labels:"cmyk"},xyz:{channels:3,labels:"xyz"},lab:{channels:3,labels:"lab"},lch:{channels:3,labels:"lch"},hex:{channels:1,labels:["hex"]},keyword:{channels:1,labels:["keyword"]},ansi16:{channels:1,labels:["ansi16"]},ansi256:{channels:1,labels:["ansi256"]},hcg:{channels:3,labels:["h","c","g"]},apple:{channels:3,labels:["r16","g16","b16"]},gray:{channels:1,labels:["gray"]}};qX.exports=fr;for(let t of Object.keys(fr)){if(!("channels"in fr[t]))throw new Error("missing channels property: "+t);if(!("labels"in fr[t]))throw new Error("missing channel labels property: "+t);if(fr[t].labels.length!==fr[t].channels)throw new Error("channel and label counts mismatch: "+t);let{channels:e,labels:r}=fr[t];delete fr[t].channels,delete fr[t].labels,Object.defineProperty(fr[t],"channels",{value:e}),Object.defineProperty(fr[t],"labels",{value:r})}fr.rgb.hsl=function(t){let e=t[0]/255,r=t[1]/255,o=t[2]/255,a=Math.min(e,r,o),n=Math.max(e,r,o),u=n-a,A,p;n===a?A=0:e===n?A=(r-o)/u:r===n?A=2+(o-e)/u:o===n&&(A=4+(e-r)/u),A=Math.min(A*60,360),A<0&&(A+=360);let h=(a+n)/2;return n===a?p=0:h<=.5?p=u/(n+a):p=u/(2-n-a),[A,p*100,h*100]};fr.rgb.hsv=function(t){let e,r,o,a,n,u=t[0]/255,A=t[1]/255,p=t[2]/255,h=Math.max(u,A,p),E=h-Math.min(u,A,p),w=function(D){return(h-D)/6/E+1/2};return E===0?(a=0,n=0):(n=E/h,e=w(u),r=w(A),o=w(p),u===h?a=o-r:A===h?a=1/3+e-o:p===h&&(a=2/3+r-e),a<0?a+=1:a>1&&(a-=1)),[a*360,n*100,h*100]};fr.rgb.hwb=function(t){let e=t[0],r=t[1],o=t[2],a=fr.rgb.hsl(t)[0],n=1/255*Math.min(e,Math.min(r,o));return o=1-1/255*Math.max(e,Math.max(r,o)),[a,n*100,o*100]};fr.rgb.cmyk=function(t){let e=t[0]/255,r=t[1]/255,o=t[2]/255,a=Math.min(1-e,1-r,1-o),n=(1-e-a)/(1-a)||0,u=(1-r-a)/(1-a)||0,A=(1-o-a)/(1-a)||0;return[n*100,u*100,A*100,a*100]};function n9e(t,e){return(t[0]-e[0])**2+(t[1]-e[1])**2+(t[2]-e[2])**2}fr.rgb.keyword=function(t){let e=HX[t];if(e)return e;let r=1/0,o;for(let a of Object.keys(Hw)){let n=Hw[a],u=n9e(t,n);u<r&&(r=u,o=a)}return o};fr.keyword.rgb=function(t){return Hw[t]};fr.rgb.xyz=function(t){let e=t[0]/255,r=t[1]/255,o=t[2]/255;e=e>.04045?((e+.055)/1.055)**2.4:e/12.92,r=r>.04045?((r+.055)/1.055)**2.4:r/12.92,o=o>.04045?((o+.055)/1.055)**2.4:o/12.92;let a=e*.4124+r*.3576+o*.1805,n=e*.2126+r*.7152+o*.0722,u=e*.0193+r*.1192+o*.9505;return[a*100,n*100,u*100]};fr.rgb.lab=function(t){let e=fr.rgb.xyz(t),r=e[0],o=e[1],a=e[2];r/=95.047,o/=100,a/=108.883,r=r>.008856?r**(1/3):7.787*r+16/116,o=o>.008856?o**(1/3):7.787*o+16/116,a=a>.008856?a**(1/3):7.787*a+16/116;let n=116*o-16,u=500*(r-o),A=200*(o-a);return[n,u,A]};fr.hsl.rgb=function(t){let e=t[0]/360,r=t[1]/100,o=t[2]/100,a,n,u;if(r===0)return u=o*255,[u,u,u];o<.5?a=o*(1+r):a=o+r-o*r;let A=2*o-a,p=[0,0,0];for(let h=0;h<3;h++)n=e+1/3*-(h-1),n<0&&n++,n>1&&n--,6*n<1?u=A+(a-A)*6*n:2*n<1?u=a:3*n<2?u=A+(a-A)*(2/3-n)*6:u=A,p[h]=u*255;return p};fr.hsl.hsv=function(t){let e=t[0],r=t[1]/100,o=t[2]/100,a=r,n=Math.max(o,.01);o*=2,r*=o<=1?o:2-o,a*=n<=1?n:2-n;let u=(o+r)/2,A=o===0?2*a/(n+a):2*r/(o+r);return[e,A*100,u*100]};fr.hsv.rgb=function(t){let e=t[0]/60,r=t[1]/100,o=t[2]/100,a=Math.floor(e)%6,n=e-Math.floor(e),u=255*o*(1-r),A=255*o*(1-r*n),p=255*o*(1-r*(1-n));switch(o*=255,a){case 0:return[o,p,u];case 1:return[A,o,u];case 2:return[u,o,p];case 3:return[u,A,o];case 4:return[p,u,o];case 5:return[o,u,A]}};fr.hsv.hsl=function(t){let e=t[0],r=t[1]/100,o=t[2]/100,a=Math.max(o,.01),n,u;u=(2-r)*o;let A=(2-r)*a;return n=r*a,n/=A<=1?A:2-A,n=n||0,u/=2,[e,n*100,u*100]};fr.hwb.rgb=function(t){let e=t[0]/360,r=t[1]/100,o=t[2]/100,a=r+o,n;a>1&&(r/=a,o/=a);let u=Math.floor(6*e),A=1-o;n=6*e-u,u&1&&(n=1-n);let p=r+n*(A-r),h,E,w;switch(u){default:case 6:case 0:h=A,E=p,w=r;break;case 1:h=p,E=A,w=r;break;case 2:h=r,E=A,w=p;break;case 3:h=r,E=p,w=A;break;case 4:h=p,E=r,w=A;break;case 5:h=A,E=r,w=p;break}return[h*255,E*255,w*255]};fr.cmyk.rgb=function(t){let e=t[0]/100,r=t[1]/100,o=t[2]/100,a=t[3]/100,n=1-Math.min(1,e*(1-a)+a),u=1-Math.min(1,r*(1-a)+a),A=1-Math.min(1,o*(1-a)+a);return[n*255,u*255,A*255]};fr.xyz.rgb=function(t){let e=t[0]/100,r=t[1]/100,o=t[2]/100,a,n,u;return a=e*3.2406+r*-1.5372+o*-.4986,n=e*-.9689+r*1.8758+o*.0415,u=e*.0557+r*-.204+o*1.057,a=a>.0031308?1.055*a**(1/2.4)-.055:a*12.92,n=n>.0031308?1.055*n**(1/2.4)-.055:n*12.92,u=u>.0031308?1.055*u**(1/2.4)-.055:u*12.92,a=Math.min(Math.max(0,a),1),n=Math.min(Math.max(0,n),1),u=Math.min(Math.max(0,u),1),[a*255,n*255,u*255]};fr.xyz.lab=function(t){let e=t[0],r=t[1],o=t[2];e/=95.047,r/=100,o/=108.883,e=e>.008856?e**(1/3):7.787*e+16/116,r=r>.008856?r**(1/3):7.787*r+16/116,o=o>.008856?o**(1/3):7.787*o+16/116;let a=116*r-16,n=500*(e-r),u=200*(r-o);return[a,n,u]};fr.lab.xyz=function(t){let e=t[0],r=t[1],o=t[2],a,n,u;n=(e+16)/116,a=r/500+n,u=n-o/200;let A=n**3,p=a**3,h=u**3;return n=A>.008856?A:(n-16/116)/7.787,a=p>.008856?p:(a-16/116)/7.787,u=h>.008856?h:(u-16/116)/7.787,a*=95.047,n*=100,u*=108.883,[a,n,u]};fr.lab.lch=function(t){let e=t[0],r=t[1],o=t[2],a;a=Math.atan2(o,r)*360/2/Math.PI,a<0&&(a+=360);let u=Math.sqrt(r*r+o*o);return[e,u,a]};fr.lch.lab=function(t){let e=t[0],r=t[1],a=t[2]/360*2*Math.PI,n=r*Math.cos(a),u=r*Math.sin(a);return[e,n,u]};fr.rgb.ansi16=function(t,e=null){let[r,o,a]=t,n=e===null?fr.rgb.hsv(t)[2]:e;if(n=Math.round(n/50),n===0)return 30;let u=30+(Math.round(a/255)<<2|Math.round(o/255)<<1|Math.round(r/255));return n===2&&(u+=60),u};fr.hsv.ansi16=function(t){return fr.rgb.ansi16(fr.hsv.rgb(t),t[2])};fr.rgb.ansi256=function(t){let e=t[0],r=t[1],o=t[2];return e===r&&r===o?e<8?16:e>248?231:Math.round((e-8)/247*24)+232:16+36*Math.round(e/255*5)+6*Math.round(r/255*5)+Math.round(o/255*5)};fr.ansi16.rgb=function(t){let e=t%10;if(e===0||e===7)return t>50&&(e+=3.5),e=e/10.5*255,[e,e,e];let r=(~~(t>50)+1)*.5,o=(e&1)*r*255,a=(e>>1&1)*r*255,n=(e>>2&1)*r*255;return[o,a,n]};fr.ansi256.rgb=function(t){if(t>=232){let n=(t-232)*10+8;return[n,n,n]}t-=16;let e,r=Math.floor(t/36)/5*255,o=Math.floor((e=t%36)/6)/5*255,a=e%6/5*255;return[r,o,a]};fr.rgb.hex=function(t){let r=(((Math.round(t[0])&255)<<16)+((Math.round(t[1])&255)<<8)+(Math.round(t[2])&255)).toString(16).toUpperCase();return"000000".substring(r.length)+r};fr.hex.rgb=function(t){let e=t.toString(16).match(/[a-f0-9]{6}|[a-f0-9]{3}/i);if(!e)return[0,0,0];let r=e[0];e[0].length===3&&(r=r.split("").map(A=>A+A).join(""));let o=parseInt(r,16),a=o>>16&255,n=o>>8&255,u=o&255;return[a,n,u]};fr.rgb.hcg=function(t){let e=t[0]/255,r=t[1]/255,o=t[2]/255,a=Math.max(Math.max(e,r),o),n=Math.min(Math.min(e,r),o),u=a-n,A,p;return u<1?A=n/(1-u):A=0,u<=0?p=0:a===e?p=(r-o)/u%6:a===r?p=2+(o-e)/u:p=4+(e-r)/u,p/=6,p%=1,[p*360,u*100,A*100]};fr.hsl.hcg=function(t){let e=t[1]/100,r=t[2]/100,o=r<.5?2*e*r:2*e*(1-r),a=0;return o<1&&(a=(r-.5*o)/(1-o)),[t[0],o*100,a*100]};fr.hsv.hcg=function(t){let e=t[1]/100,r=t[2]/100,o=e*r,a=0;return o<1&&(a=(r-o)/(1-o)),[t[0],o*100,a*100]};fr.hcg.rgb=function(t){let e=t[0]/360,r=t[1]/100,o=t[2]/100;if(r===0)return[o*255,o*255,o*255];let a=[0,0,0],n=e%1*6,u=n%1,A=1-u,p=0;switch(Math.floor(n)){case 0:a[0]=1,a[1]=u,a[2]=0;break;case 1:a[0]=A,a[1]=1,a[2]=0;break;case 2:a[0]=0,a[1]=1,a[2]=u;break;case 3:a[0]=0,a[1]=A,a[2]=1;break;case 4:a[0]=u,a[1]=0,a[2]=1;break;default:a[0]=1,a[1]=0,a[2]=A}return p=(1-r)*o,[(r*a[0]+p)*255,(r*a[1]+p)*255,(r*a[2]+p)*255]};fr.hcg.hsv=function(t){let e=t[1]/100,r=t[2]/100,o=e+r*(1-e),a=0;return o>0&&(a=e/o),[t[0],a*100,o*100]};fr.hcg.hsl=function(t){let e=t[1]/100,o=t[2]/100*(1-e)+.5*e,a=0;return o>0&&o<.5?a=e/(2*o):o>=.5&&o<1&&(a=e/(2*(1-o))),[t[0],a*100,o*100]};fr.hcg.hwb=function(t){let e=t[1]/100,r=t[2]/100,o=e+r*(1-e);return[t[0],(o-e)*100,(1-o)*100]};fr.hwb.hcg=function(t){let e=t[1]/100,o=1-t[2]/100,a=o-e,n=0;return a<1&&(n=(o-a)/(1-a)),[t[0],a*100,n*100]};fr.apple.rgb=function(t){return[t[0]/65535*255,t[1]/65535*255,t[2]/65535*255]};fr.rgb.apple=function(t){return[t[0]/255*65535,t[1]/255*65535,t[2]/255*65535]};fr.gray.rgb=function(t){return[t[0]/100*255,t[0]/100*255,t[0]/100*255]};fr.gray.hsl=function(t){return[0,0,t[0]]};fr.gray.hsv=fr.gray.hsl;fr.gray.hwb=function(t){return[0,100,t[0]]};fr.gray.cmyk=function(t){return[0,0,0,t[0]]};fr.gray.lab=function(t){return[t[0],0,0]};fr.gray.hex=function(t){let e=Math.round(t[0]/100*255)&255,o=((e<<16)+(e<<8)+e).toString(16).toUpperCase();return"000000".substring(o.length)+o};fr.rgb.gray=function(t){return[(t[0]+t[1]+t[2])/3/255*100]}});var GX=_((uQt,jX)=>{var nS=KN();function i9e(){let t={},e=Object.keys(nS);for(let r=e.length,o=0;o<r;o++)t[e[o]]={distance:-1,parent:null};return t}function s9e(t){let e=i9e(),r=[t];for(e[t].distance=0;r.length;){let o=r.pop(),a=Object.keys(nS[o]);for(let n=a.length,u=0;u<n;u++){let A=a[u],p=e[A];p.distance===-1&&(p.distance=e[o].distance+1,p.parent=o,r.unshift(A))}}return e}function o9e(t,e){return function(r){return e(t(r))}}function a9e(t,e){let r=[e[t].parent,t],o=nS[e[t].parent][t],a=e[t].parent;for(;e[a].parent;)r.unshift(e[a].parent),o=o9e(nS[e[a].parent][a],o),a=e[a].parent;return o.conversion=r,o}jX.exports=function(t){let e=s9e(t),r={},o=Object.keys(e);for(let a=o.length,n=0;n<a;n++){let u=o[n];e[u].parent!==null&&(r[u]=a9e(u,e))}return r}});var YX=_((AQt,WX)=>{var VN=KN(),l9e=GX(),Rm={},c9e=Object.keys(VN);function u9e(t){let e=function(...r){let o=r[0];return o==null?o:(o.length>1&&(r=o),t(r))};return"conversion"in t&&(e.conversion=t.conversion),e}function A9e(t){let e=function(...r){let o=r[0];if(o==null)return o;o.length>1&&(r=o);let a=t(r);if(typeof a=="object")for(let n=a.length,u=0;u<n;u++)a[u]=Math.round(a[u]);return a};return"conversion"in t&&(e.conversion=t.conversion),e}c9e.forEach(t=>{Rm[t]={},Object.defineProperty(Rm[t],"channels",{value:VN[t].channels}),Object.defineProperty(Rm[t],"labels",{value:VN[t].labels});let e=l9e(t);Object.keys(e).forEach(o=>{let a=e[o];Rm[t][o]=A9e(a),Rm[t][o].raw=u9e(a)})});WX.exports=Rm});var qw=_((fQt,XX)=>{"use strict";var KX=(t,e)=>(...r)=>`\x1B[${t(...r)+e}m`,VX=(t,e)=>(...r)=>{let o=t(...r);return`\x1B[${38+e};5;${o}m`},JX=(t,e)=>(...r)=>{let o=t(...r);return`\x1B[${38+e};2;${o[0]};${o[1]};${o[2]}m`},iS=t=>t,zX=(t,e,r)=>[t,e,r],Tm=(t,e,r)=>{Object.defineProperty(t,e,{get:()=>{let o=r();return Object.defineProperty(t,e,{value:o,enumerable:!0,configurable:!0}),o},enumerable:!0,configurable:!0})},JN,Nm=(t,e,r,o)=>{JN===void 0&&(JN=YX());let a=o?10:0,n={};for(let[u,A]of Object.entries(JN)){let p=u==="ansi16"?"ansi":u;u===e?n[p]=t(r,a):typeof A=="object"&&(n[p]=t(A[e],a))}return n};function f9e(){let t=new Map,e={modifier:{reset:[0,0],bold:[1,22],dim:[2,22],italic:[3,23],underline:[4,24],inverse:[7,27],hidden:[8,28],strikethrough:[9,29]},color:{black:[30,39],red:[31,39],green:[32,39],yellow:[33,39],blue:[34,39],magenta:[35,39],cyan:[36,39],white:[37,39],blackBright:[90,39],redBright:[91,39],greenBright:[92,39],yellowBright:[93,39],blueBright:[94,39],magentaBright:[95,39],cyanBright:[96,39],whiteBright:[97,39]},bgColor:{bgBlack:[40,49],bgRed:[41,49],bgGreen:[42,49],bgYellow:[43,49],bgBlue:[44,49],bgMagenta:[45,49],bgCyan:[46,49],bgWhite:[47,49],bgBlackBright:[100,49],bgRedBright:[101,49],bgGreenBright:[102,49],bgYellowBright:[103,49],bgBlueBright:[104,49],bgMagentaBright:[105,49],bgCyanBright:[106,49],bgWhiteBright:[107,49]}};e.color.gray=e.color.blackBright,e.bgColor.bgGray=e.bgColor.bgBlackBright,e.color.grey=e.color.blackBright,e.bgColor.bgGrey=e.bgColor.bgBlackBright;for(let[r,o]of Object.entries(e)){for(let[a,n]of Object.entries(o))e[a]={open:`\x1B[${n[0]}m`,close:`\x1B[${n[1]}m`},o[a]=e[a],t.set(n[0],n[1]);Object.defineProperty(e,r,{value:o,enumerable:!1})}return Object.defineProperty(e,"codes",{value:t,enumerable:!1}),e.color.close="\x1B[39m",e.bgColor.close="\x1B[49m",Tm(e.color,"ansi",()=>Nm(KX,"ansi16",iS,!1)),Tm(e.color,"ansi256",()=>Nm(VX,"ansi256",iS,!1)),Tm(e.color,"ansi16m",()=>Nm(JX,"rgb",zX,!1)),Tm(e.bgColor,"ansi",()=>Nm(KX,"ansi16",iS,!0)),Tm(e.bgColor,"ansi256",()=>Nm(VX,"ansi256",iS,!0)),Tm(e.bgColor,"ansi16m",()=>Nm(JX,"rgb",zX,!0)),e}Object.defineProperty(XX,"exports",{enumerable:!0,get:f9e})});var $X=_((pQt,ZX)=>{"use strict";ZX.exports=(t,e=process.argv)=>{let r=t.startsWith("-")?"":t.length===1?"-":"--",o=e.indexOf(r+t),a=e.indexOf("--");return o!==-1&&(a===-1||o<a)}});var ZN=_((hQt,tZ)=>{"use strict";var p9e=ve("os"),eZ=ve("tty"),_l=$X(),{env:cs}=process,Zp;_l("no-color")||_l("no-colors")||_l("color=false")||_l("color=never")?Zp=0:(_l("color")||_l("colors")||_l("color=true")||_l("color=always"))&&(Zp=1);"FORCE_COLOR"in cs&&(cs.FORCE_COLOR==="true"?Zp=1:cs.FORCE_COLOR==="false"?Zp=0:Zp=cs.FORCE_COLOR.length===0?1:Math.min(parseInt(cs.FORCE_COLOR,10),3));function zN(t){return t===0?!1:{level:t,hasBasic:!0,has256:t>=2,has16m:t>=3}}function XN(t,e){if(Zp===0)return 0;if(_l("color=16m")||_l("color=full")||_l("color=truecolor"))return 3;if(_l("color=256"))return 2;if(t&&!e&&Zp===void 0)return 0;let r=Zp||0;if(cs.TERM==="dumb")return r;if(process.platform==="win32"){let o=p9e.release().split(".");return Number(o[0])>=10&&Number(o[2])>=10586?Number(o[2])>=14931?3:2:1}if("CI"in cs)return["TRAVIS","CIRCLECI","APPVEYOR","GITLAB_CI"].some(o=>o in cs)||cs.CI_NAME==="codeship"?1:r;if("TEAMCITY_VERSION"in cs)return/^(9\.(0*[1-9]\d*)\.|\d{2,}\.)/.test(cs.TEAMCITY_VERSION)?1:0;if("GITHUB_ACTIONS"in cs)return 1;if(cs.COLORTERM==="truecolor")return 3;if("TERM_PROGRAM"in cs){let o=parseInt((cs.TERM_PROGRAM_VERSION||"").split(".")[0],10);switch(cs.TERM_PROGRAM){case"iTerm.app":return o>=3?3:2;case"Apple_Terminal":return 2}}return/-256(color)?$/i.test(cs.TERM)?2:/^screen|^xterm|^vt100|^vt220|^rxvt|color|ansi|cygwin|linux/i.test(cs.TERM)||"COLORTERM"in cs?1:r}function h9e(t){let e=XN(t,t&&t.isTTY);return zN(e)}tZ.exports={supportsColor:h9e,stdout:zN(XN(!0,eZ.isatty(1))),stderr:zN(XN(!0,eZ.isatty(2)))}});var nZ=_((gQt,rZ)=>{"use strict";var g9e=(t,e,r)=>{let o=t.indexOf(e);if(o===-1)return t;let a=e.length,n=0,u="";do u+=t.substr(n,o-n)+e+r,n=o+a,o=t.indexOf(e,n);while(o!==-1);return u+=t.substr(n),u},d9e=(t,e,r,o)=>{let a=0,n="";do{let u=t[o-1]==="\r";n+=t.substr(a,(u?o-1:o)-a)+e+(u?`\r +`:` +`)+r,a=o+1,o=t.indexOf(` +`,a)}while(o!==-1);return n+=t.substr(a),n};rZ.exports={stringReplaceAll:g9e,stringEncaseCRLFWithFirstIndex:d9e}});var lZ=_((dQt,aZ)=>{"use strict";var m9e=/(?:\\(u(?:[a-f\d]{4}|\{[a-f\d]{1,6}\})|x[a-f\d]{2}|.))|(?:\{(~)?(\w+(?:\([^)]*\))?(?:\.\w+(?:\([^)]*\))?)*)(?:[ \t]|(?=\r?\n)))|(\})|((?:.|[\r\n\f])+?)/gi,iZ=/(?:^|\.)(\w+)(?:\(([^)]*)\))?/g,y9e=/^(['"])((?:\\.|(?!\1)[^\\])*)\1$/,E9e=/\\(u(?:[a-f\d]{4}|\{[a-f\d]{1,6}\})|x[a-f\d]{2}|.)|([^\\])/gi,C9e=new Map([["n",` +`],["r","\r"],["t"," "],["b","\b"],["f","\f"],["v","\v"],["0","\0"],["\\","\\"],["e","\x1B"],["a","\x07"]]);function oZ(t){let e=t[0]==="u",r=t[1]==="{";return e&&!r&&t.length===5||t[0]==="x"&&t.length===3?String.fromCharCode(parseInt(t.slice(1),16)):e&&r?String.fromCodePoint(parseInt(t.slice(2,-1),16)):C9e.get(t)||t}function I9e(t,e){let r=[],o=e.trim().split(/\s*,\s*/g),a;for(let n of o){let u=Number(n);if(!Number.isNaN(u))r.push(u);else if(a=n.match(y9e))r.push(a[2].replace(E9e,(A,p,h)=>p?oZ(p):h));else throw new Error(`Invalid Chalk template style argument: ${n} (in style '${t}')`)}return r}function w9e(t){iZ.lastIndex=0;let e=[],r;for(;(r=iZ.exec(t))!==null;){let o=r[1];if(r[2]){let a=I9e(o,r[2]);e.push([o].concat(a))}else e.push([o])}return e}function sZ(t,e){let r={};for(let a of e)for(let n of a.styles)r[n[0]]=a.inverse?null:n.slice(1);let o=t;for(let[a,n]of Object.entries(r))if(Array.isArray(n)){if(!(a in o))throw new Error(`Unknown Chalk style: ${a}`);o=n.length>0?o[a](...n):o[a]}return o}aZ.exports=(t,e)=>{let r=[],o=[],a=[];if(e.replace(m9e,(n,u,A,p,h,E)=>{if(u)a.push(oZ(u));else if(p){let w=a.join("");a=[],o.push(r.length===0?w:sZ(t,r)(w)),r.push({inverse:A,styles:w9e(p)})}else if(h){if(r.length===0)throw new Error("Found extraneous } in Chalk template literal");o.push(sZ(t,r)(a.join(""))),a=[],r.pop()}else a.push(E)}),o.push(a.join("")),r.length>0){let n=`Chalk template literal is missing ${r.length} closing bracket${r.length===1?"":"s"} (\`}\`)`;throw new Error(n)}return o.join("")}});var iL=_((mQt,fZ)=>{"use strict";var jw=qw(),{stdout:eL,stderr:tL}=ZN(),{stringReplaceAll:B9e,stringEncaseCRLFWithFirstIndex:v9e}=nZ(),cZ=["ansi","ansi","ansi256","ansi16m"],Lm=Object.create(null),D9e=(t,e={})=>{if(e.level>3||e.level<0)throw new Error("The `level` option should be an integer from 0 to 3");let r=eL?eL.level:0;t.level=e.level===void 0?r:e.level},rL=class{constructor(e){return uZ(e)}},uZ=t=>{let e={};return D9e(e,t),e.template=(...r)=>b9e(e.template,...r),Object.setPrototypeOf(e,sS.prototype),Object.setPrototypeOf(e.template,e),e.template.constructor=()=>{throw new Error("`chalk.constructor()` is deprecated. Use `new chalk.Instance()` instead.")},e.template.Instance=rL,e.template};function sS(t){return uZ(t)}for(let[t,e]of Object.entries(jw))Lm[t]={get(){let r=oS(this,nL(e.open,e.close,this._styler),this._isEmpty);return Object.defineProperty(this,t,{value:r}),r}};Lm.visible={get(){let t=oS(this,this._styler,!0);return Object.defineProperty(this,"visible",{value:t}),t}};var AZ=["rgb","hex","keyword","hsl","hsv","hwb","ansi","ansi256"];for(let t of AZ)Lm[t]={get(){let{level:e}=this;return function(...r){let o=nL(jw.color[cZ[e]][t](...r),jw.color.close,this._styler);return oS(this,o,this._isEmpty)}}};for(let t of AZ){let e="bg"+t[0].toUpperCase()+t.slice(1);Lm[e]={get(){let{level:r}=this;return function(...o){let a=nL(jw.bgColor[cZ[r]][t](...o),jw.bgColor.close,this._styler);return oS(this,a,this._isEmpty)}}}}var P9e=Object.defineProperties(()=>{},{...Lm,level:{enumerable:!0,get(){return this._generator.level},set(t){this._generator.level=t}}}),nL=(t,e,r)=>{let o,a;return r===void 0?(o=t,a=e):(o=r.openAll+t,a=e+r.closeAll),{open:t,close:e,openAll:o,closeAll:a,parent:r}},oS=(t,e,r)=>{let o=(...a)=>S9e(o,a.length===1?""+a[0]:a.join(" "));return o.__proto__=P9e,o._generator=t,o._styler=e,o._isEmpty=r,o},S9e=(t,e)=>{if(t.level<=0||!e)return t._isEmpty?"":e;let r=t._styler;if(r===void 0)return e;let{openAll:o,closeAll:a}=r;if(e.indexOf("\x1B")!==-1)for(;r!==void 0;)e=B9e(e,r.close,r.open),r=r.parent;let n=e.indexOf(` +`);return n!==-1&&(e=v9e(e,a,o,n)),o+e+a},$N,b9e=(t,...e)=>{let[r]=e;if(!Array.isArray(r))return e.join(" ");let o=e.slice(1),a=[r.raw[0]];for(let n=1;n<r.length;n++)a.push(String(o[n-1]).replace(/[{}\\]/g,"\\$&"),String(r.raw[n]));return $N===void 0&&($N=lZ()),$N(t,a.join(""))};Object.defineProperties(sS.prototype,Lm);var Gw=sS();Gw.supportsColor=eL;Gw.stderr=sS({level:tL?tL.level:0});Gw.stderr.supportsColor=tL;Gw.Level={None:0,Basic:1,Ansi256:2,TrueColor:3,0:"None",1:"Basic",2:"Ansi256",3:"TrueColor"};fZ.exports=Gw});var aS=_(Hl=>{"use strict";Hl.isInteger=t=>typeof t=="number"?Number.isInteger(t):typeof t=="string"&&t.trim()!==""?Number.isInteger(Number(t)):!1;Hl.find=(t,e)=>t.nodes.find(r=>r.type===e);Hl.exceedsLimit=(t,e,r=1,o)=>o===!1||!Hl.isInteger(t)||!Hl.isInteger(e)?!1:(Number(e)-Number(t))/Number(r)>=o;Hl.escapeNode=(t,e=0,r)=>{let o=t.nodes[e];o&&(r&&o.type===r||o.type==="open"||o.type==="close")&&o.escaped!==!0&&(o.value="\\"+o.value,o.escaped=!0)};Hl.encloseBrace=t=>t.type!=="brace"||t.commas>>0+t.ranges>>0?!1:(t.invalid=!0,!0);Hl.isInvalidBrace=t=>t.type!=="brace"?!1:t.invalid===!0||t.dollar?!0:!(t.commas>>0+t.ranges>>0)||t.open!==!0||t.close!==!0?(t.invalid=!0,!0):!1;Hl.isOpenOrClose=t=>t.type==="open"||t.type==="close"?!0:t.open===!0||t.close===!0;Hl.reduce=t=>t.reduce((e,r)=>(r.type==="text"&&e.push(r.value),r.type==="range"&&(r.type="text"),e),[]);Hl.flatten=(...t)=>{let e=[],r=o=>{for(let a=0;a<o.length;a++){let n=o[a];Array.isArray(n)?r(n,e):n!==void 0&&e.push(n)}return e};return r(t),e}});var lS=_((EQt,hZ)=>{"use strict";var pZ=aS();hZ.exports=(t,e={})=>{let r=(o,a={})=>{let n=e.escapeInvalid&&pZ.isInvalidBrace(a),u=o.invalid===!0&&e.escapeInvalid===!0,A="";if(o.value)return(n||u)&&pZ.isOpenOrClose(o)?"\\"+o.value:o.value;if(o.value)return o.value;if(o.nodes)for(let p of o.nodes)A+=r(p);return A};return r(t)}});var dZ=_((CQt,gZ)=>{"use strict";gZ.exports=function(t){return typeof t=="number"?t-t===0:typeof t=="string"&&t.trim()!==""?Number.isFinite?Number.isFinite(+t):isFinite(+t):!1}});var DZ=_((IQt,vZ)=>{"use strict";var mZ=dZ(),hg=(t,e,r)=>{if(mZ(t)===!1)throw new TypeError("toRegexRange: expected the first argument to be a number");if(e===void 0||t===e)return String(t);if(mZ(e)===!1)throw new TypeError("toRegexRange: expected the second argument to be a number.");let o={relaxZeros:!0,...r};typeof o.strictZeros=="boolean"&&(o.relaxZeros=o.strictZeros===!1);let a=String(o.relaxZeros),n=String(o.shorthand),u=String(o.capture),A=String(o.wrap),p=t+":"+e+"="+a+n+u+A;if(hg.cache.hasOwnProperty(p))return hg.cache[p].result;let h=Math.min(t,e),E=Math.max(t,e);if(Math.abs(h-E)===1){let T=t+"|"+e;return o.capture?`(${T})`:o.wrap===!1?T:`(?:${T})`}let w=BZ(t)||BZ(e),D={min:t,max:e,a:h,b:E},x=[],C=[];if(w&&(D.isPadded=w,D.maxLen=String(D.max).length),h<0){let T=E<0?Math.abs(E):1;C=yZ(T,Math.abs(h),D,o),h=D.a=0}return E>=0&&(x=yZ(h,E,D,o)),D.negatives=C,D.positives=x,D.result=x9e(C,x,o),o.capture===!0?D.result=`(${D.result})`:o.wrap!==!1&&x.length+C.length>1&&(D.result=`(?:${D.result})`),hg.cache[p]=D,D.result};function x9e(t,e,r){let o=sL(t,e,"-",!1,r)||[],a=sL(e,t,"",!1,r)||[],n=sL(t,e,"-?",!0,r)||[];return o.concat(n).concat(a).join("|")}function k9e(t,e){let r=1,o=1,a=CZ(t,r),n=new Set([e]);for(;t<=a&&a<=e;)n.add(a),r+=1,a=CZ(t,r);for(a=IZ(e+1,o)-1;t<a&&a<=e;)n.add(a),o+=1,a=IZ(e+1,o)-1;return n=[...n],n.sort(R9e),n}function Q9e(t,e,r){if(t===e)return{pattern:t,count:[],digits:0};let o=F9e(t,e),a=o.length,n="",u=0;for(let A=0;A<a;A++){let[p,h]=o[A];p===h?n+=p:p!=="0"||h!=="9"?n+=T9e(p,h,r):u++}return u&&(n+=r.shorthand===!0?"\\d":"[0-9]"),{pattern:n,count:[u],digits:a}}function yZ(t,e,r,o){let a=k9e(t,e),n=[],u=t,A;for(let p=0;p<a.length;p++){let h=a[p],E=Q9e(String(u),String(h),o),w="";if(!r.isPadded&&A&&A.pattern===E.pattern){A.count.length>1&&A.count.pop(),A.count.push(E.count[0]),A.string=A.pattern+wZ(A.count),u=h+1;continue}r.isPadded&&(w=N9e(h,r,o)),E.string=w+E.pattern+wZ(E.count),n.push(E),u=h+1,A=E}return n}function sL(t,e,r,o,a){let n=[];for(let u of t){let{string:A}=u;!o&&!EZ(e,"string",A)&&n.push(r+A),o&&EZ(e,"string",A)&&n.push(r+A)}return n}function F9e(t,e){let r=[];for(let o=0;o<t.length;o++)r.push([t[o],e[o]]);return r}function R9e(t,e){return t>e?1:e>t?-1:0}function EZ(t,e,r){return t.some(o=>o[e]===r)}function CZ(t,e){return Number(String(t).slice(0,-e)+"9".repeat(e))}function IZ(t,e){return t-t%Math.pow(10,e)}function wZ(t){let[e=0,r=""]=t;return r||e>1?`{${e+(r?","+r:"")}}`:""}function T9e(t,e,r){return`[${t}${e-t===1?"":"-"}${e}]`}function BZ(t){return/^-?(0+)\d/.test(t)}function N9e(t,e,r){if(!e.isPadded)return t;let o=Math.abs(e.maxLen-String(t).length),a=r.relaxZeros!==!1;switch(o){case 0:return"";case 1:return a?"0?":"0";case 2:return a?"0{0,2}":"00";default:return a?`0{0,${o}}`:`0{${o}}`}}hg.cache={};hg.clearCache=()=>hg.cache={};vZ.exports=hg});var lL=_((wQt,RZ)=>{"use strict";var L9e=ve("util"),bZ=DZ(),PZ=t=>t!==null&&typeof t=="object"&&!Array.isArray(t),O9e=t=>e=>t===!0?Number(e):String(e),oL=t=>typeof t=="number"||typeof t=="string"&&t!=="",Ww=t=>Number.isInteger(+t),aL=t=>{let e=`${t}`,r=-1;if(e[0]==="-"&&(e=e.slice(1)),e==="0")return!1;for(;e[++r]==="0";);return r>0},M9e=(t,e,r)=>typeof t=="string"||typeof e=="string"?!0:r.stringify===!0,U9e=(t,e,r)=>{if(e>0){let o=t[0]==="-"?"-":"";o&&(t=t.slice(1)),t=o+t.padStart(o?e-1:e,"0")}return r===!1?String(t):t},SZ=(t,e)=>{let r=t[0]==="-"?"-":"";for(r&&(t=t.slice(1),e--);t.length<e;)t="0"+t;return r?"-"+t:t},_9e=(t,e)=>{t.negatives.sort((u,A)=>u<A?-1:u>A?1:0),t.positives.sort((u,A)=>u<A?-1:u>A?1:0);let r=e.capture?"":"?:",o="",a="",n;return t.positives.length&&(o=t.positives.join("|")),t.negatives.length&&(a=`-(${r}${t.negatives.join("|")})`),o&&a?n=`${o}|${a}`:n=o||a,e.wrap?`(${r}${n})`:n},xZ=(t,e,r,o)=>{if(r)return bZ(t,e,{wrap:!1,...o});let a=String.fromCharCode(t);if(t===e)return a;let n=String.fromCharCode(e);return`[${a}-${n}]`},kZ=(t,e,r)=>{if(Array.isArray(t)){let o=r.wrap===!0,a=r.capture?"":"?:";return o?`(${a}${t.join("|")})`:t.join("|")}return bZ(t,e,r)},QZ=(...t)=>new RangeError("Invalid range arguments: "+L9e.inspect(...t)),FZ=(t,e,r)=>{if(r.strictRanges===!0)throw QZ([t,e]);return[]},H9e=(t,e)=>{if(e.strictRanges===!0)throw new TypeError(`Expected step "${t}" to be a number`);return[]},q9e=(t,e,r=1,o={})=>{let a=Number(t),n=Number(e);if(!Number.isInteger(a)||!Number.isInteger(n)){if(o.strictRanges===!0)throw QZ([t,e]);return[]}a===0&&(a=0),n===0&&(n=0);let u=a>n,A=String(t),p=String(e),h=String(r);r=Math.max(Math.abs(r),1);let E=aL(A)||aL(p)||aL(h),w=E?Math.max(A.length,p.length,h.length):0,D=E===!1&&M9e(t,e,o)===!1,x=o.transform||O9e(D);if(o.toRegex&&r===1)return xZ(SZ(t,w),SZ(e,w),!0,o);let C={negatives:[],positives:[]},T=J=>C[J<0?"negatives":"positives"].push(Math.abs(J)),L=[],U=0;for(;u?a>=n:a<=n;)o.toRegex===!0&&r>1?T(a):L.push(U9e(x(a,U),w,D)),a=u?a-r:a+r,U++;return o.toRegex===!0?r>1?_9e(C,o):kZ(L,null,{wrap:!1,...o}):L},j9e=(t,e,r=1,o={})=>{if(!Ww(t)&&t.length>1||!Ww(e)&&e.length>1)return FZ(t,e,o);let a=o.transform||(D=>String.fromCharCode(D)),n=`${t}`.charCodeAt(0),u=`${e}`.charCodeAt(0),A=n>u,p=Math.min(n,u),h=Math.max(n,u);if(o.toRegex&&r===1)return xZ(p,h,!1,o);let E=[],w=0;for(;A?n>=u:n<=u;)E.push(a(n,w)),n=A?n-r:n+r,w++;return o.toRegex===!0?kZ(E,null,{wrap:!1,options:o}):E},cS=(t,e,r,o={})=>{if(e==null&&oL(t))return[t];if(!oL(t)||!oL(e))return FZ(t,e,o);if(typeof r=="function")return cS(t,e,1,{transform:r});if(PZ(r))return cS(t,e,0,r);let a={...o};return a.capture===!0&&(a.wrap=!0),r=r||a.step||1,Ww(r)?Ww(t)&&Ww(e)?q9e(t,e,r,a):j9e(t,e,Math.max(Math.abs(r),1),a):r!=null&&!PZ(r)?H9e(r,a):cS(t,e,1,r)};RZ.exports=cS});var LZ=_((BQt,NZ)=>{"use strict";var G9e=lL(),TZ=aS(),W9e=(t,e={})=>{let r=(o,a={})=>{let n=TZ.isInvalidBrace(a),u=o.invalid===!0&&e.escapeInvalid===!0,A=n===!0||u===!0,p=e.escapeInvalid===!0?"\\":"",h="";if(o.isOpen===!0||o.isClose===!0)return p+o.value;if(o.type==="open")return A?p+o.value:"(";if(o.type==="close")return A?p+o.value:")";if(o.type==="comma")return o.prev.type==="comma"?"":A?o.value:"|";if(o.value)return o.value;if(o.nodes&&o.ranges>0){let E=TZ.reduce(o.nodes),w=G9e(...E,{...e,wrap:!1,toRegex:!0});if(w.length!==0)return E.length>1&&w.length>1?`(${w})`:w}if(o.nodes)for(let E of o.nodes)h+=r(E,o);return h};return r(t)};NZ.exports=W9e});var UZ=_((vQt,MZ)=>{"use strict";var Y9e=lL(),OZ=lS(),Om=aS(),gg=(t="",e="",r=!1)=>{let o=[];if(t=[].concat(t),e=[].concat(e),!e.length)return t;if(!t.length)return r?Om.flatten(e).map(a=>`{${a}}`):e;for(let a of t)if(Array.isArray(a))for(let n of a)o.push(gg(n,e,r));else for(let n of e)r===!0&&typeof n=="string"&&(n=`{${n}}`),o.push(Array.isArray(n)?gg(a,n,r):a+n);return Om.flatten(o)},K9e=(t,e={})=>{let r=e.rangeLimit===void 0?1e3:e.rangeLimit,o=(a,n={})=>{a.queue=[];let u=n,A=n.queue;for(;u.type!=="brace"&&u.type!=="root"&&u.parent;)u=u.parent,A=u.queue;if(a.invalid||a.dollar){A.push(gg(A.pop(),OZ(a,e)));return}if(a.type==="brace"&&a.invalid!==!0&&a.nodes.length===2){A.push(gg(A.pop(),["{}"]));return}if(a.nodes&&a.ranges>0){let w=Om.reduce(a.nodes);if(Om.exceedsLimit(...w,e.step,r))throw new RangeError("expanded array length exceeds range limit. Use options.rangeLimit to increase or disable the limit.");let D=Y9e(...w,e);D.length===0&&(D=OZ(a,e)),A.push(gg(A.pop(),D)),a.nodes=[];return}let p=Om.encloseBrace(a),h=a.queue,E=a;for(;E.type!=="brace"&&E.type!=="root"&&E.parent;)E=E.parent,h=E.queue;for(let w=0;w<a.nodes.length;w++){let D=a.nodes[w];if(D.type==="comma"&&a.type==="brace"){w===1&&h.push(""),h.push("");continue}if(D.type==="close"){A.push(gg(A.pop(),h,p));continue}if(D.value&&D.type!=="open"){h.push(gg(h.pop(),D.value));continue}D.nodes&&o(D,a)}return h};return Om.flatten(o(t))};MZ.exports=K9e});var HZ=_((DQt,_Z)=>{"use strict";_Z.exports={MAX_LENGTH:1024*64,CHAR_0:"0",CHAR_9:"9",CHAR_UPPERCASE_A:"A",CHAR_LOWERCASE_A:"a",CHAR_UPPERCASE_Z:"Z",CHAR_LOWERCASE_Z:"z",CHAR_LEFT_PARENTHESES:"(",CHAR_RIGHT_PARENTHESES:")",CHAR_ASTERISK:"*",CHAR_AMPERSAND:"&",CHAR_AT:"@",CHAR_BACKSLASH:"\\",CHAR_BACKTICK:"`",CHAR_CARRIAGE_RETURN:"\r",CHAR_CIRCUMFLEX_ACCENT:"^",CHAR_COLON:":",CHAR_COMMA:",",CHAR_DOLLAR:"$",CHAR_DOT:".",CHAR_DOUBLE_QUOTE:'"',CHAR_EQUAL:"=",CHAR_EXCLAMATION_MARK:"!",CHAR_FORM_FEED:"\f",CHAR_FORWARD_SLASH:"/",CHAR_HASH:"#",CHAR_HYPHEN_MINUS:"-",CHAR_LEFT_ANGLE_BRACKET:"<",CHAR_LEFT_CURLY_BRACE:"{",CHAR_LEFT_SQUARE_BRACKET:"[",CHAR_LINE_FEED:` +`,CHAR_NO_BREAK_SPACE:"\xA0",CHAR_PERCENT:"%",CHAR_PLUS:"+",CHAR_QUESTION_MARK:"?",CHAR_RIGHT_ANGLE_BRACKET:">",CHAR_RIGHT_CURLY_BRACE:"}",CHAR_RIGHT_SQUARE_BRACKET:"]",CHAR_SEMICOLON:";",CHAR_SINGLE_QUOTE:"'",CHAR_SPACE:" ",CHAR_TAB:" ",CHAR_UNDERSCORE:"_",CHAR_VERTICAL_LINE:"|",CHAR_ZERO_WIDTH_NOBREAK_SPACE:"\uFEFF"}});var YZ=_((PQt,WZ)=>{"use strict";var V9e=lS(),{MAX_LENGTH:qZ,CHAR_BACKSLASH:cL,CHAR_BACKTICK:J9e,CHAR_COMMA:z9e,CHAR_DOT:X9e,CHAR_LEFT_PARENTHESES:Z9e,CHAR_RIGHT_PARENTHESES:$9e,CHAR_LEFT_CURLY_BRACE:e7e,CHAR_RIGHT_CURLY_BRACE:t7e,CHAR_LEFT_SQUARE_BRACKET:jZ,CHAR_RIGHT_SQUARE_BRACKET:GZ,CHAR_DOUBLE_QUOTE:r7e,CHAR_SINGLE_QUOTE:n7e,CHAR_NO_BREAK_SPACE:i7e,CHAR_ZERO_WIDTH_NOBREAK_SPACE:s7e}=HZ(),o7e=(t,e={})=>{if(typeof t!="string")throw new TypeError("Expected a string");let r=e||{},o=typeof r.maxLength=="number"?Math.min(qZ,r.maxLength):qZ;if(t.length>o)throw new SyntaxError(`Input length (${t.length}), exceeds max characters (${o})`);let a={type:"root",input:t,nodes:[]},n=[a],u=a,A=a,p=0,h=t.length,E=0,w=0,D,x={},C=()=>t[E++],T=L=>{if(L.type==="text"&&A.type==="dot"&&(A.type="text"),A&&A.type==="text"&&L.type==="text"){A.value+=L.value;return}return u.nodes.push(L),L.parent=u,L.prev=A,A=L,L};for(T({type:"bos"});E<h;)if(u=n[n.length-1],D=C(),!(D===s7e||D===i7e)){if(D===cL){T({type:"text",value:(e.keepEscaping?D:"")+C()});continue}if(D===GZ){T({type:"text",value:"\\"+D});continue}if(D===jZ){p++;let L=!0,U;for(;E<h&&(U=C());){if(D+=U,U===jZ){p++;continue}if(U===cL){D+=C();continue}if(U===GZ&&(p--,p===0))break}T({type:"text",value:D});continue}if(D===Z9e){u=T({type:"paren",nodes:[]}),n.push(u),T({type:"text",value:D});continue}if(D===$9e){if(u.type!=="paren"){T({type:"text",value:D});continue}u=n.pop(),T({type:"text",value:D}),u=n[n.length-1];continue}if(D===r7e||D===n7e||D===J9e){let L=D,U;for(e.keepQuotes!==!0&&(D="");E<h&&(U=C());){if(U===cL){D+=U+C();continue}if(U===L){e.keepQuotes===!0&&(D+=U);break}D+=U}T({type:"text",value:D});continue}if(D===e7e){w++;let U={type:"brace",open:!0,close:!1,dollar:A.value&&A.value.slice(-1)==="$"||u.dollar===!0,depth:w,commas:0,ranges:0,nodes:[]};u=T(U),n.push(u),T({type:"open",value:D});continue}if(D===t7e){if(u.type!=="brace"){T({type:"text",value:D});continue}let L="close";u=n.pop(),u.close=!0,T({type:L,value:D}),w--,u=n[n.length-1];continue}if(D===z9e&&w>0){if(u.ranges>0){u.ranges=0;let L=u.nodes.shift();u.nodes=[L,{type:"text",value:V9e(u)}]}T({type:"comma",value:D}),u.commas++;continue}if(D===X9e&&w>0&&u.commas===0){let L=u.nodes;if(w===0||L.length===0){T({type:"text",value:D});continue}if(A.type==="dot"){if(u.range=[],A.value+=D,A.type="range",u.nodes.length!==3&&u.nodes.length!==5){u.invalid=!0,u.ranges=0,A.type="text";continue}u.ranges++,u.args=[];continue}if(A.type==="range"){L.pop();let U=L[L.length-1];U.value+=A.value+D,A=U,u.ranges--;continue}T({type:"dot",value:D});continue}T({type:"text",value:D})}do if(u=n.pop(),u.type!=="root"){u.nodes.forEach(J=>{J.nodes||(J.type==="open"&&(J.isOpen=!0),J.type==="close"&&(J.isClose=!0),J.nodes||(J.type="text"),J.invalid=!0)});let L=n[n.length-1],U=L.nodes.indexOf(u);L.nodes.splice(U,1,...u.nodes)}while(n.length>0);return T({type:"eos"}),a};WZ.exports=o7e});var JZ=_((SQt,VZ)=>{"use strict";var KZ=lS(),a7e=LZ(),l7e=UZ(),c7e=YZ(),al=(t,e={})=>{let r=[];if(Array.isArray(t))for(let o of t){let a=al.create(o,e);Array.isArray(a)?r.push(...a):r.push(a)}else r=[].concat(al.create(t,e));return e&&e.expand===!0&&e.nodupes===!0&&(r=[...new Set(r)]),r};al.parse=(t,e={})=>c7e(t,e);al.stringify=(t,e={})=>KZ(typeof t=="string"?al.parse(t,e):t,e);al.compile=(t,e={})=>(typeof t=="string"&&(t=al.parse(t,e)),a7e(t,e));al.expand=(t,e={})=>{typeof t=="string"&&(t=al.parse(t,e));let r=l7e(t,e);return e.noempty===!0&&(r=r.filter(Boolean)),e.nodupes===!0&&(r=[...new Set(r)]),r};al.create=(t,e={})=>t===""||t.length<3?[t]:e.expand!==!0?al.compile(t,e):al.expand(t,e);VZ.exports=al});var Yw=_((bQt,e$)=>{"use strict";var u7e=ve("path"),zu="\\\\/",zZ=`[^${zu}]`,Bf="\\.",A7e="\\+",f7e="\\?",uS="\\/",p7e="(?=.)",XZ="[^/]",uL=`(?:${uS}|$)`,ZZ=`(?:^|${uS})`,AL=`${Bf}{1,2}${uL}`,h7e=`(?!${Bf})`,g7e=`(?!${ZZ}${AL})`,d7e=`(?!${Bf}{0,1}${uL})`,m7e=`(?!${AL})`,y7e=`[^.${uS}]`,E7e=`${XZ}*?`,$Z={DOT_LITERAL:Bf,PLUS_LITERAL:A7e,QMARK_LITERAL:f7e,SLASH_LITERAL:uS,ONE_CHAR:p7e,QMARK:XZ,END_ANCHOR:uL,DOTS_SLASH:AL,NO_DOT:h7e,NO_DOTS:g7e,NO_DOT_SLASH:d7e,NO_DOTS_SLASH:m7e,QMARK_NO_DOT:y7e,STAR:E7e,START_ANCHOR:ZZ},C7e={...$Z,SLASH_LITERAL:`[${zu}]`,QMARK:zZ,STAR:`${zZ}*?`,DOTS_SLASH:`${Bf}{1,2}(?:[${zu}]|$)`,NO_DOT:`(?!${Bf})`,NO_DOTS:`(?!(?:^|[${zu}])${Bf}{1,2}(?:[${zu}]|$))`,NO_DOT_SLASH:`(?!${Bf}{0,1}(?:[${zu}]|$))`,NO_DOTS_SLASH:`(?!${Bf}{1,2}(?:[${zu}]|$))`,QMARK_NO_DOT:`[^.${zu}]`,START_ANCHOR:`(?:^|[${zu}])`,END_ANCHOR:`(?:[${zu}]|$)`},I7e={alnum:"a-zA-Z0-9",alpha:"a-zA-Z",ascii:"\\x00-\\x7F",blank:" \\t",cntrl:"\\x00-\\x1F\\x7F",digit:"0-9",graph:"\\x21-\\x7E",lower:"a-z",print:"\\x20-\\x7E ",punct:"\\-!\"#$%&'()\\*+,./:;<=>?@[\\]^_`{|}~",space:" \\t\\r\\n\\v\\f",upper:"A-Z",word:"A-Za-z0-9_",xdigit:"A-Fa-f0-9"};e$.exports={MAX_LENGTH:1024*64,POSIX_REGEX_SOURCE:I7e,REGEX_BACKSLASH:/\\(?![*+?^${}(|)[\]])/g,REGEX_NON_SPECIAL_CHARS:/^[^@![\].,$*+?^{}()|\\/]+/,REGEX_SPECIAL_CHARS:/[-*+?.^${}(|)[\]]/,REGEX_SPECIAL_CHARS_BACKREF:/(\\?)((\W)(\3*))/g,REGEX_SPECIAL_CHARS_GLOBAL:/([-*+?.^${}(|)[\]])/g,REGEX_REMOVE_BACKSLASH:/(?:\[.*?[^\\]\]|\\(?=.))/g,REPLACEMENTS:{"***":"*","**/**":"**","**/**/**":"**"},CHAR_0:48,CHAR_9:57,CHAR_UPPERCASE_A:65,CHAR_LOWERCASE_A:97,CHAR_UPPERCASE_Z:90,CHAR_LOWERCASE_Z:122,CHAR_LEFT_PARENTHESES:40,CHAR_RIGHT_PARENTHESES:41,CHAR_ASTERISK:42,CHAR_AMPERSAND:38,CHAR_AT:64,CHAR_BACKWARD_SLASH:92,CHAR_CARRIAGE_RETURN:13,CHAR_CIRCUMFLEX_ACCENT:94,CHAR_COLON:58,CHAR_COMMA:44,CHAR_DOT:46,CHAR_DOUBLE_QUOTE:34,CHAR_EQUAL:61,CHAR_EXCLAMATION_MARK:33,CHAR_FORM_FEED:12,CHAR_FORWARD_SLASH:47,CHAR_GRAVE_ACCENT:96,CHAR_HASH:35,CHAR_HYPHEN_MINUS:45,CHAR_LEFT_ANGLE_BRACKET:60,CHAR_LEFT_CURLY_BRACE:123,CHAR_LEFT_SQUARE_BRACKET:91,CHAR_LINE_FEED:10,CHAR_NO_BREAK_SPACE:160,CHAR_PERCENT:37,CHAR_PLUS:43,CHAR_QUESTION_MARK:63,CHAR_RIGHT_ANGLE_BRACKET:62,CHAR_RIGHT_CURLY_BRACE:125,CHAR_RIGHT_SQUARE_BRACKET:93,CHAR_SEMICOLON:59,CHAR_SINGLE_QUOTE:39,CHAR_SPACE:32,CHAR_TAB:9,CHAR_UNDERSCORE:95,CHAR_VERTICAL_LINE:124,CHAR_ZERO_WIDTH_NOBREAK_SPACE:65279,SEP:u7e.sep,extglobChars(t){return{"!":{type:"negate",open:"(?:(?!(?:",close:`))${t.STAR})`},"?":{type:"qmark",open:"(?:",close:")?"},"+":{type:"plus",open:"(?:",close:")+"},"*":{type:"star",open:"(?:",close:")*"},"@":{type:"at",open:"(?:",close:")"}}},globChars(t){return t===!0?C7e:$Z}}});var Kw=_(xa=>{"use strict";var w7e=ve("path"),B7e=process.platform==="win32",{REGEX_BACKSLASH:v7e,REGEX_REMOVE_BACKSLASH:D7e,REGEX_SPECIAL_CHARS:P7e,REGEX_SPECIAL_CHARS_GLOBAL:S7e}=Yw();xa.isObject=t=>t!==null&&typeof t=="object"&&!Array.isArray(t);xa.hasRegexChars=t=>P7e.test(t);xa.isRegexChar=t=>t.length===1&&xa.hasRegexChars(t);xa.escapeRegex=t=>t.replace(S7e,"\\$1");xa.toPosixSlashes=t=>t.replace(v7e,"/");xa.removeBackslashes=t=>t.replace(D7e,e=>e==="\\"?"":e);xa.supportsLookbehinds=()=>{let t=process.version.slice(1).split(".").map(Number);return t.length===3&&t[0]>=9||t[0]===8&&t[1]>=10};xa.isWindows=t=>t&&typeof t.windows=="boolean"?t.windows:B7e===!0||w7e.sep==="\\";xa.escapeLast=(t,e,r)=>{let o=t.lastIndexOf(e,r);return o===-1?t:t[o-1]==="\\"?xa.escapeLast(t,e,o-1):`${t.slice(0,o)}\\${t.slice(o)}`};xa.removePrefix=(t,e={})=>{let r=t;return r.startsWith("./")&&(r=r.slice(2),e.prefix="./"),r};xa.wrapOutput=(t,e={},r={})=>{let o=r.contains?"":"^",a=r.contains?"":"$",n=`${o}(?:${t})${a}`;return e.negated===!0&&(n=`(?:^(?!${n}).*$)`),n}});var l$=_((kQt,a$)=>{"use strict";var t$=Kw(),{CHAR_ASTERISK:fL,CHAR_AT:b7e,CHAR_BACKWARD_SLASH:Vw,CHAR_COMMA:x7e,CHAR_DOT:pL,CHAR_EXCLAMATION_MARK:hL,CHAR_FORWARD_SLASH:o$,CHAR_LEFT_CURLY_BRACE:gL,CHAR_LEFT_PARENTHESES:dL,CHAR_LEFT_SQUARE_BRACKET:k7e,CHAR_PLUS:Q7e,CHAR_QUESTION_MARK:r$,CHAR_RIGHT_CURLY_BRACE:F7e,CHAR_RIGHT_PARENTHESES:n$,CHAR_RIGHT_SQUARE_BRACKET:R7e}=Yw(),i$=t=>t===o$||t===Vw,s$=t=>{t.isPrefix!==!0&&(t.depth=t.isGlobstar?1/0:1)},T7e=(t,e)=>{let r=e||{},o=t.length-1,a=r.parts===!0||r.scanToEnd===!0,n=[],u=[],A=[],p=t,h=-1,E=0,w=0,D=!1,x=!1,C=!1,T=!1,L=!1,U=!1,J=!1,te=!1,le=!1,ce=!1,ue=0,Ie,he,De={value:"",depth:0,isGlob:!1},Ee=()=>h>=o,g=()=>p.charCodeAt(h+1),me=()=>(Ie=he,p.charCodeAt(++h));for(;h<o;){he=me();let Pe;if(he===Vw){J=De.backslashes=!0,he=me(),he===gL&&(U=!0);continue}if(U===!0||he===gL){for(ue++;Ee()!==!0&&(he=me());){if(he===Vw){J=De.backslashes=!0,me();continue}if(he===gL){ue++;continue}if(U!==!0&&he===pL&&(he=me())===pL){if(D=De.isBrace=!0,C=De.isGlob=!0,ce=!0,a===!0)continue;break}if(U!==!0&&he===x7e){if(D=De.isBrace=!0,C=De.isGlob=!0,ce=!0,a===!0)continue;break}if(he===F7e&&(ue--,ue===0)){U=!1,D=De.isBrace=!0,ce=!0;break}}if(a===!0)continue;break}if(he===o$){if(n.push(h),u.push(De),De={value:"",depth:0,isGlob:!1},ce===!0)continue;if(Ie===pL&&h===E+1){E+=2;continue}w=h+1;continue}if(r.noext!==!0&&(he===Q7e||he===b7e||he===fL||he===r$||he===hL)===!0&&g()===dL){if(C=De.isGlob=!0,T=De.isExtglob=!0,ce=!0,he===hL&&h===E&&(le=!0),a===!0){for(;Ee()!==!0&&(he=me());){if(he===Vw){J=De.backslashes=!0,he=me();continue}if(he===n$){C=De.isGlob=!0,ce=!0;break}}continue}break}if(he===fL){if(Ie===fL&&(L=De.isGlobstar=!0),C=De.isGlob=!0,ce=!0,a===!0)continue;break}if(he===r$){if(C=De.isGlob=!0,ce=!0,a===!0)continue;break}if(he===k7e){for(;Ee()!==!0&&(Pe=me());){if(Pe===Vw){J=De.backslashes=!0,me();continue}if(Pe===R7e){x=De.isBracket=!0,C=De.isGlob=!0,ce=!0;break}}if(a===!0)continue;break}if(r.nonegate!==!0&&he===hL&&h===E){te=De.negated=!0,E++;continue}if(r.noparen!==!0&&he===dL){if(C=De.isGlob=!0,a===!0){for(;Ee()!==!0&&(he=me());){if(he===dL){J=De.backslashes=!0,he=me();continue}if(he===n$){ce=!0;break}}continue}break}if(C===!0){if(ce=!0,a===!0)continue;break}}r.noext===!0&&(T=!1,C=!1);let Ce=p,fe="",ie="";E>0&&(fe=p.slice(0,E),p=p.slice(E),w-=E),Ce&&C===!0&&w>0?(Ce=p.slice(0,w),ie=p.slice(w)):C===!0?(Ce="",ie=p):Ce=p,Ce&&Ce!==""&&Ce!=="/"&&Ce!==p&&i$(Ce.charCodeAt(Ce.length-1))&&(Ce=Ce.slice(0,-1)),r.unescape===!0&&(ie&&(ie=t$.removeBackslashes(ie)),Ce&&J===!0&&(Ce=t$.removeBackslashes(Ce)));let Z={prefix:fe,input:t,start:E,base:Ce,glob:ie,isBrace:D,isBracket:x,isGlob:C,isExtglob:T,isGlobstar:L,negated:te,negatedExtglob:le};if(r.tokens===!0&&(Z.maxDepth=0,i$(he)||u.push(De),Z.tokens=u),r.parts===!0||r.tokens===!0){let Pe;for(let Re=0;Re<n.length;Re++){let ht=Pe?Pe+1:E,q=n[Re],nt=t.slice(ht,q);r.tokens&&(Re===0&&E!==0?(u[Re].isPrefix=!0,u[Re].value=fe):u[Re].value=nt,s$(u[Re]),Z.maxDepth+=u[Re].depth),(Re!==0||nt!=="")&&A.push(nt),Pe=q}if(Pe&&Pe+1<t.length){let Re=t.slice(Pe+1);A.push(Re),r.tokens&&(u[u.length-1].value=Re,s$(u[u.length-1]),Z.maxDepth+=u[u.length-1].depth)}Z.slashes=n,Z.parts=A}return Z};a$.exports=T7e});var A$=_((QQt,u$)=>{"use strict";var AS=Yw(),ll=Kw(),{MAX_LENGTH:fS,POSIX_REGEX_SOURCE:N7e,REGEX_NON_SPECIAL_CHARS:L7e,REGEX_SPECIAL_CHARS_BACKREF:O7e,REPLACEMENTS:c$}=AS,M7e=(t,e)=>{if(typeof e.expandRange=="function")return e.expandRange(...t,e);t.sort();let r=`[${t.join("-")}]`;try{new RegExp(r)}catch{return t.map(a=>ll.escapeRegex(a)).join("..")}return r},Mm=(t,e)=>`Missing ${t}: "${e}" - use "\\\\${e}" to match literal characters`,mL=(t,e)=>{if(typeof t!="string")throw new TypeError("Expected a string");t=c$[t]||t;let r={...e},o=typeof r.maxLength=="number"?Math.min(fS,r.maxLength):fS,a=t.length;if(a>o)throw new SyntaxError(`Input length: ${a}, exceeds maximum allowed length: ${o}`);let n={type:"bos",value:"",output:r.prepend||""},u=[n],A=r.capture?"":"?:",p=ll.isWindows(e),h=AS.globChars(p),E=AS.extglobChars(h),{DOT_LITERAL:w,PLUS_LITERAL:D,SLASH_LITERAL:x,ONE_CHAR:C,DOTS_SLASH:T,NO_DOT:L,NO_DOT_SLASH:U,NO_DOTS_SLASH:J,QMARK:te,QMARK_NO_DOT:le,STAR:ce,START_ANCHOR:ue}=h,Ie=b=>`(${A}(?:(?!${ue}${b.dot?T:w}).)*?)`,he=r.dot?"":L,De=r.dot?te:le,Ee=r.bash===!0?Ie(r):ce;r.capture&&(Ee=`(${Ee})`),typeof r.noext=="boolean"&&(r.noextglob=r.noext);let g={input:t,index:-1,start:0,dot:r.dot===!0,consumed:"",output:"",prefix:"",backtrack:!1,negated:!1,brackets:0,braces:0,parens:0,quotes:0,globstar:!1,tokens:u};t=ll.removePrefix(t,g),a=t.length;let me=[],Ce=[],fe=[],ie=n,Z,Pe=()=>g.index===a-1,Re=g.peek=(b=1)=>t[g.index+b],ht=g.advance=()=>t[++g.index]||"",q=()=>t.slice(g.index+1),nt=(b="",I=0)=>{g.consumed+=b,g.index+=I},Ne=b=>{g.output+=b.output!=null?b.output:b.value,nt(b.value)},Te=()=>{let b=1;for(;Re()==="!"&&(Re(2)!=="("||Re(3)==="?");)ht(),g.start++,b++;return b%2===0?!1:(g.negated=!0,g.start++,!0)},ke=b=>{g[b]++,fe.push(b)},Ve=b=>{g[b]--,fe.pop()},be=b=>{if(ie.type==="globstar"){let I=g.braces>0&&(b.type==="comma"||b.type==="brace"),S=b.extglob===!0||me.length&&(b.type==="pipe"||b.type==="paren");b.type!=="slash"&&b.type!=="paren"&&!I&&!S&&(g.output=g.output.slice(0,-ie.output.length),ie.type="star",ie.value="*",ie.output=Ee,g.output+=ie.output)}if(me.length&&b.type!=="paren"&&(me[me.length-1].inner+=b.value),(b.value||b.output)&&Ne(b),ie&&ie.type==="text"&&b.type==="text"){ie.value+=b.value,ie.output=(ie.output||"")+b.value;return}b.prev=ie,u.push(b),ie=b},tt=(b,I)=>{let S={...E[I],conditions:1,inner:""};S.prev=ie,S.parens=g.parens,S.output=g.output;let y=(r.capture?"(":"")+S.open;ke("parens"),be({type:b,value:I,output:g.output?"":C}),be({type:"paren",extglob:!0,value:ht(),output:y}),me.push(S)},He=b=>{let I=b.close+(r.capture?")":""),S;if(b.type==="negate"){let y=Ee;if(b.inner&&b.inner.length>1&&b.inner.includes("/")&&(y=Ie(r)),(y!==Ee||Pe()||/^\)+$/.test(q()))&&(I=b.close=`)$))${y}`),b.inner.includes("*")&&(S=q())&&/^\.[^\\/.]+$/.test(S)){let R=mL(S,{...e,fastpaths:!1}).output;I=b.close=`)${R})${y})`}b.prev.type==="bos"&&(g.negatedExtglob=!0)}be({type:"paren",extglob:!0,value:Z,output:I}),Ve("parens")};if(r.fastpaths!==!1&&!/(^[*!]|[/()[\]{}"])/.test(t)){let b=!1,I=t.replace(O7e,(S,y,R,z,X,$)=>z==="\\"?(b=!0,S):z==="?"?y?y+z+(X?te.repeat(X.length):""):$===0?De+(X?te.repeat(X.length):""):te.repeat(R.length):z==="."?w.repeat(R.length):z==="*"?y?y+z+(X?Ee:""):Ee:y?S:`\\${S}`);return b===!0&&(r.unescape===!0?I=I.replace(/\\/g,""):I=I.replace(/\\+/g,S=>S.length%2===0?"\\\\":S?"\\":"")),I===t&&r.contains===!0?(g.output=t,g):(g.output=ll.wrapOutput(I,g,e),g)}for(;!Pe();){if(Z=ht(),Z==="\0")continue;if(Z==="\\"){let S=Re();if(S==="/"&&r.bash!==!0||S==="."||S===";")continue;if(!S){Z+="\\",be({type:"text",value:Z});continue}let y=/^\\+/.exec(q()),R=0;if(y&&y[0].length>2&&(R=y[0].length,g.index+=R,R%2!==0&&(Z+="\\")),r.unescape===!0?Z=ht():Z+=ht(),g.brackets===0){be({type:"text",value:Z});continue}}if(g.brackets>0&&(Z!=="]"||ie.value==="["||ie.value==="[^")){if(r.posix!==!1&&Z===":"){let S=ie.value.slice(1);if(S.includes("[")&&(ie.posix=!0,S.includes(":"))){let y=ie.value.lastIndexOf("["),R=ie.value.slice(0,y),z=ie.value.slice(y+2),X=N7e[z];if(X){ie.value=R+X,g.backtrack=!0,ht(),!n.output&&u.indexOf(ie)===1&&(n.output=C);continue}}}(Z==="["&&Re()!==":"||Z==="-"&&Re()==="]")&&(Z=`\\${Z}`),Z==="]"&&(ie.value==="["||ie.value==="[^")&&(Z=`\\${Z}`),r.posix===!0&&Z==="!"&&ie.value==="["&&(Z="^"),ie.value+=Z,Ne({value:Z});continue}if(g.quotes===1&&Z!=='"'){Z=ll.escapeRegex(Z),ie.value+=Z,Ne({value:Z});continue}if(Z==='"'){g.quotes=g.quotes===1?0:1,r.keepQuotes===!0&&be({type:"text",value:Z});continue}if(Z==="("){ke("parens"),be({type:"paren",value:Z});continue}if(Z===")"){if(g.parens===0&&r.strictBrackets===!0)throw new SyntaxError(Mm("opening","("));let S=me[me.length-1];if(S&&g.parens===S.parens+1){He(me.pop());continue}be({type:"paren",value:Z,output:g.parens?")":"\\)"}),Ve("parens");continue}if(Z==="["){if(r.nobracket===!0||!q().includes("]")){if(r.nobracket!==!0&&r.strictBrackets===!0)throw new SyntaxError(Mm("closing","]"));Z=`\\${Z}`}else ke("brackets");be({type:"bracket",value:Z});continue}if(Z==="]"){if(r.nobracket===!0||ie&&ie.type==="bracket"&&ie.value.length===1){be({type:"text",value:Z,output:`\\${Z}`});continue}if(g.brackets===0){if(r.strictBrackets===!0)throw new SyntaxError(Mm("opening","["));be({type:"text",value:Z,output:`\\${Z}`});continue}Ve("brackets");let S=ie.value.slice(1);if(ie.posix!==!0&&S[0]==="^"&&!S.includes("/")&&(Z=`/${Z}`),ie.value+=Z,Ne({value:Z}),r.literalBrackets===!1||ll.hasRegexChars(S))continue;let y=ll.escapeRegex(ie.value);if(g.output=g.output.slice(0,-ie.value.length),r.literalBrackets===!0){g.output+=y,ie.value=y;continue}ie.value=`(${A}${y}|${ie.value})`,g.output+=ie.value;continue}if(Z==="{"&&r.nobrace!==!0){ke("braces");let S={type:"brace",value:Z,output:"(",outputIndex:g.output.length,tokensIndex:g.tokens.length};Ce.push(S),be(S);continue}if(Z==="}"){let S=Ce[Ce.length-1];if(r.nobrace===!0||!S){be({type:"text",value:Z,output:Z});continue}let y=")";if(S.dots===!0){let R=u.slice(),z=[];for(let X=R.length-1;X>=0&&(u.pop(),R[X].type!=="brace");X--)R[X].type!=="dots"&&z.unshift(R[X].value);y=M7e(z,r),g.backtrack=!0}if(S.comma!==!0&&S.dots!==!0){let R=g.output.slice(0,S.outputIndex),z=g.tokens.slice(S.tokensIndex);S.value=S.output="\\{",Z=y="\\}",g.output=R;for(let X of z)g.output+=X.output||X.value}be({type:"brace",value:Z,output:y}),Ve("braces"),Ce.pop();continue}if(Z==="|"){me.length>0&&me[me.length-1].conditions++,be({type:"text",value:Z});continue}if(Z===","){let S=Z,y=Ce[Ce.length-1];y&&fe[fe.length-1]==="braces"&&(y.comma=!0,S="|"),be({type:"comma",value:Z,output:S});continue}if(Z==="/"){if(ie.type==="dot"&&g.index===g.start+1){g.start=g.index+1,g.consumed="",g.output="",u.pop(),ie=n;continue}be({type:"slash",value:Z,output:x});continue}if(Z==="."){if(g.braces>0&&ie.type==="dot"){ie.value==="."&&(ie.output=w);let S=Ce[Ce.length-1];ie.type="dots",ie.output+=Z,ie.value+=Z,S.dots=!0;continue}if(g.braces+g.parens===0&&ie.type!=="bos"&&ie.type!=="slash"){be({type:"text",value:Z,output:w});continue}be({type:"dot",value:Z,output:w});continue}if(Z==="?"){if(!(ie&&ie.value==="(")&&r.noextglob!==!0&&Re()==="("&&Re(2)!=="?"){tt("qmark",Z);continue}if(ie&&ie.type==="paren"){let y=Re(),R=Z;if(y==="<"&&!ll.supportsLookbehinds())throw new Error("Node.js v10 or higher is required for regex lookbehinds");(ie.value==="("&&!/[!=<:]/.test(y)||y==="<"&&!/<([!=]|\w+>)/.test(q()))&&(R=`\\${Z}`),be({type:"text",value:Z,output:R});continue}if(r.dot!==!0&&(ie.type==="slash"||ie.type==="bos")){be({type:"qmark",value:Z,output:le});continue}be({type:"qmark",value:Z,output:te});continue}if(Z==="!"){if(r.noextglob!==!0&&Re()==="("&&(Re(2)!=="?"||!/[!=<:]/.test(Re(3)))){tt("negate",Z);continue}if(r.nonegate!==!0&&g.index===0){Te();continue}}if(Z==="+"){if(r.noextglob!==!0&&Re()==="("&&Re(2)!=="?"){tt("plus",Z);continue}if(ie&&ie.value==="("||r.regex===!1){be({type:"plus",value:Z,output:D});continue}if(ie&&(ie.type==="bracket"||ie.type==="paren"||ie.type==="brace")||g.parens>0){be({type:"plus",value:Z});continue}be({type:"plus",value:D});continue}if(Z==="@"){if(r.noextglob!==!0&&Re()==="("&&Re(2)!=="?"){be({type:"at",extglob:!0,value:Z,output:""});continue}be({type:"text",value:Z});continue}if(Z!=="*"){(Z==="$"||Z==="^")&&(Z=`\\${Z}`);let S=L7e.exec(q());S&&(Z+=S[0],g.index+=S[0].length),be({type:"text",value:Z});continue}if(ie&&(ie.type==="globstar"||ie.star===!0)){ie.type="star",ie.star=!0,ie.value+=Z,ie.output=Ee,g.backtrack=!0,g.globstar=!0,nt(Z);continue}let b=q();if(r.noextglob!==!0&&/^\([^?]/.test(b)){tt("star",Z);continue}if(ie.type==="star"){if(r.noglobstar===!0){nt(Z);continue}let S=ie.prev,y=S.prev,R=S.type==="slash"||S.type==="bos",z=y&&(y.type==="star"||y.type==="globstar");if(r.bash===!0&&(!R||b[0]&&b[0]!=="/")){be({type:"star",value:Z,output:""});continue}let X=g.braces>0&&(S.type==="comma"||S.type==="brace"),$=me.length&&(S.type==="pipe"||S.type==="paren");if(!R&&S.type!=="paren"&&!X&&!$){be({type:"star",value:Z,output:""});continue}for(;b.slice(0,3)==="/**";){let se=t[g.index+4];if(se&&se!=="/")break;b=b.slice(3),nt("/**",3)}if(S.type==="bos"&&Pe()){ie.type="globstar",ie.value+=Z,ie.output=Ie(r),g.output=ie.output,g.globstar=!0,nt(Z);continue}if(S.type==="slash"&&S.prev.type!=="bos"&&!z&&Pe()){g.output=g.output.slice(0,-(S.output+ie.output).length),S.output=`(?:${S.output}`,ie.type="globstar",ie.output=Ie(r)+(r.strictSlashes?")":"|$)"),ie.value+=Z,g.globstar=!0,g.output+=S.output+ie.output,nt(Z);continue}if(S.type==="slash"&&S.prev.type!=="bos"&&b[0]==="/"){let se=b[1]!==void 0?"|$":"";g.output=g.output.slice(0,-(S.output+ie.output).length),S.output=`(?:${S.output}`,ie.type="globstar",ie.output=`${Ie(r)}${x}|${x}${se})`,ie.value+=Z,g.output+=S.output+ie.output,g.globstar=!0,nt(Z+ht()),be({type:"slash",value:"/",output:""});continue}if(S.type==="bos"&&b[0]==="/"){ie.type="globstar",ie.value+=Z,ie.output=`(?:^|${x}|${Ie(r)}${x})`,g.output=ie.output,g.globstar=!0,nt(Z+ht()),be({type:"slash",value:"/",output:""});continue}g.output=g.output.slice(0,-ie.output.length),ie.type="globstar",ie.output=Ie(r),ie.value+=Z,g.output+=ie.output,g.globstar=!0,nt(Z);continue}let I={type:"star",value:Z,output:Ee};if(r.bash===!0){I.output=".*?",(ie.type==="bos"||ie.type==="slash")&&(I.output=he+I.output),be(I);continue}if(ie&&(ie.type==="bracket"||ie.type==="paren")&&r.regex===!0){I.output=Z,be(I);continue}(g.index===g.start||ie.type==="slash"||ie.type==="dot")&&(ie.type==="dot"?(g.output+=U,ie.output+=U):r.dot===!0?(g.output+=J,ie.output+=J):(g.output+=he,ie.output+=he),Re()!=="*"&&(g.output+=C,ie.output+=C)),be(I)}for(;g.brackets>0;){if(r.strictBrackets===!0)throw new SyntaxError(Mm("closing","]"));g.output=ll.escapeLast(g.output,"["),Ve("brackets")}for(;g.parens>0;){if(r.strictBrackets===!0)throw new SyntaxError(Mm("closing",")"));g.output=ll.escapeLast(g.output,"("),Ve("parens")}for(;g.braces>0;){if(r.strictBrackets===!0)throw new SyntaxError(Mm("closing","}"));g.output=ll.escapeLast(g.output,"{"),Ve("braces")}if(r.strictSlashes!==!0&&(ie.type==="star"||ie.type==="bracket")&&be({type:"maybe_slash",value:"",output:`${x}?`}),g.backtrack===!0){g.output="";for(let b of g.tokens)g.output+=b.output!=null?b.output:b.value,b.suffix&&(g.output+=b.suffix)}return g};mL.fastpaths=(t,e)=>{let r={...e},o=typeof r.maxLength=="number"?Math.min(fS,r.maxLength):fS,a=t.length;if(a>o)throw new SyntaxError(`Input length: ${a}, exceeds maximum allowed length: ${o}`);t=c$[t]||t;let n=ll.isWindows(e),{DOT_LITERAL:u,SLASH_LITERAL:A,ONE_CHAR:p,DOTS_SLASH:h,NO_DOT:E,NO_DOTS:w,NO_DOTS_SLASH:D,STAR:x,START_ANCHOR:C}=AS.globChars(n),T=r.dot?w:E,L=r.dot?D:E,U=r.capture?"":"?:",J={negated:!1,prefix:""},te=r.bash===!0?".*?":x;r.capture&&(te=`(${te})`);let le=he=>he.noglobstar===!0?te:`(${U}(?:(?!${C}${he.dot?h:u}).)*?)`,ce=he=>{switch(he){case"*":return`${T}${p}${te}`;case".*":return`${u}${p}${te}`;case"*.*":return`${T}${te}${u}${p}${te}`;case"*/*":return`${T}${te}${A}${p}${L}${te}`;case"**":return T+le(r);case"**/*":return`(?:${T}${le(r)}${A})?${L}${p}${te}`;case"**/*.*":return`(?:${T}${le(r)}${A})?${L}${te}${u}${p}${te}`;case"**/.*":return`(?:${T}${le(r)}${A})?${u}${p}${te}`;default:{let De=/^(.*?)\.(\w+)$/.exec(he);if(!De)return;let Ee=ce(De[1]);return Ee?Ee+u+De[2]:void 0}}},ue=ll.removePrefix(t,J),Ie=ce(ue);return Ie&&r.strictSlashes!==!0&&(Ie+=`${A}?`),Ie};u$.exports=mL});var p$=_((FQt,f$)=>{"use strict";var U7e=ve("path"),_7e=l$(),yL=A$(),EL=Kw(),H7e=Yw(),q7e=t=>t&&typeof t=="object"&&!Array.isArray(t),Mi=(t,e,r=!1)=>{if(Array.isArray(t)){let E=t.map(D=>Mi(D,e,r));return D=>{for(let x of E){let C=x(D);if(C)return C}return!1}}let o=q7e(t)&&t.tokens&&t.input;if(t===""||typeof t!="string"&&!o)throw new TypeError("Expected pattern to be a non-empty string");let a=e||{},n=EL.isWindows(e),u=o?Mi.compileRe(t,e):Mi.makeRe(t,e,!1,!0),A=u.state;delete u.state;let p=()=>!1;if(a.ignore){let E={...e,ignore:null,onMatch:null,onResult:null};p=Mi(a.ignore,E,r)}let h=(E,w=!1)=>{let{isMatch:D,match:x,output:C}=Mi.test(E,u,e,{glob:t,posix:n}),T={glob:t,state:A,regex:u,posix:n,input:E,output:C,match:x,isMatch:D};return typeof a.onResult=="function"&&a.onResult(T),D===!1?(T.isMatch=!1,w?T:!1):p(E)?(typeof a.onIgnore=="function"&&a.onIgnore(T),T.isMatch=!1,w?T:!1):(typeof a.onMatch=="function"&&a.onMatch(T),w?T:!0)};return r&&(h.state=A),h};Mi.test=(t,e,r,{glob:o,posix:a}={})=>{if(typeof t!="string")throw new TypeError("Expected input to be a string");if(t==="")return{isMatch:!1,output:""};let n=r||{},u=n.format||(a?EL.toPosixSlashes:null),A=t===o,p=A&&u?u(t):t;return A===!1&&(p=u?u(t):t,A=p===o),(A===!1||n.capture===!0)&&(n.matchBase===!0||n.basename===!0?A=Mi.matchBase(t,e,r,a):A=e.exec(p)),{isMatch:!!A,match:A,output:p}};Mi.matchBase=(t,e,r,o=EL.isWindows(r))=>(e instanceof RegExp?e:Mi.makeRe(e,r)).test(U7e.basename(t));Mi.isMatch=(t,e,r)=>Mi(e,r)(t);Mi.parse=(t,e)=>Array.isArray(t)?t.map(r=>Mi.parse(r,e)):yL(t,{...e,fastpaths:!1});Mi.scan=(t,e)=>_7e(t,e);Mi.compileRe=(t,e,r=!1,o=!1)=>{if(r===!0)return t.output;let a=e||{},n=a.contains?"":"^",u=a.contains?"":"$",A=`${n}(?:${t.output})${u}`;t&&t.negated===!0&&(A=`^(?!${A}).*$`);let p=Mi.toRegex(A,e);return o===!0&&(p.state=t),p};Mi.makeRe=(t,e={},r=!1,o=!1)=>{if(!t||typeof t!="string")throw new TypeError("Expected a non-empty string");let a={negated:!1,fastpaths:!0};return e.fastpaths!==!1&&(t[0]==="."||t[0]==="*")&&(a.output=yL.fastpaths(t,e)),a.output||(a=yL(t,e)),Mi.compileRe(a,e,r,o)};Mi.toRegex=(t,e)=>{try{let r=e||{};return new RegExp(t,r.flags||(r.nocase?"i":""))}catch(r){if(e&&e.debug===!0)throw r;return/$^/}};Mi.constants=H7e;f$.exports=Mi});var g$=_((RQt,h$)=>{"use strict";h$.exports=p$()});var Xo=_((TQt,E$)=>{"use strict";var m$=ve("util"),y$=JZ(),Xu=g$(),CL=Kw(),d$=t=>t===""||t==="./",Ii=(t,e,r)=>{e=[].concat(e),t=[].concat(t);let o=new Set,a=new Set,n=new Set,u=0,A=E=>{n.add(E.output),r&&r.onResult&&r.onResult(E)};for(let E=0;E<e.length;E++){let w=Xu(String(e[E]),{...r,onResult:A},!0),D=w.state.negated||w.state.negatedExtglob;D&&u++;for(let x of t){let C=w(x,!0);(D?!C.isMatch:C.isMatch)&&(D?o.add(C.output):(o.delete(C.output),a.add(C.output)))}}let h=(u===e.length?[...n]:[...a]).filter(E=>!o.has(E));if(r&&h.length===0){if(r.failglob===!0)throw new Error(`No matches found for "${e.join(", ")}"`);if(r.nonull===!0||r.nullglob===!0)return r.unescape?e.map(E=>E.replace(/\\/g,"")):e}return h};Ii.match=Ii;Ii.matcher=(t,e)=>Xu(t,e);Ii.isMatch=(t,e,r)=>Xu(e,r)(t);Ii.any=Ii.isMatch;Ii.not=(t,e,r={})=>{e=[].concat(e).map(String);let o=new Set,a=[],n=A=>{r.onResult&&r.onResult(A),a.push(A.output)},u=new Set(Ii(t,e,{...r,onResult:n}));for(let A of a)u.has(A)||o.add(A);return[...o]};Ii.contains=(t,e,r)=>{if(typeof t!="string")throw new TypeError(`Expected a string: "${m$.inspect(t)}"`);if(Array.isArray(e))return e.some(o=>Ii.contains(t,o,r));if(typeof e=="string"){if(d$(t)||d$(e))return!1;if(t.includes(e)||t.startsWith("./")&&t.slice(2).includes(e))return!0}return Ii.isMatch(t,e,{...r,contains:!0})};Ii.matchKeys=(t,e,r)=>{if(!CL.isObject(t))throw new TypeError("Expected the first argument to be an object");let o=Ii(Object.keys(t),e,r),a={};for(let n of o)a[n]=t[n];return a};Ii.some=(t,e,r)=>{let o=[].concat(t);for(let a of[].concat(e)){let n=Xu(String(a),r);if(o.some(u=>n(u)))return!0}return!1};Ii.every=(t,e,r)=>{let o=[].concat(t);for(let a of[].concat(e)){let n=Xu(String(a),r);if(!o.every(u=>n(u)))return!1}return!0};Ii.all=(t,e,r)=>{if(typeof t!="string")throw new TypeError(`Expected a string: "${m$.inspect(t)}"`);return[].concat(e).every(o=>Xu(o,r)(t))};Ii.capture=(t,e,r)=>{let o=CL.isWindows(r),n=Xu.makeRe(String(t),{...r,capture:!0}).exec(o?CL.toPosixSlashes(e):e);if(n)return n.slice(1).map(u=>u===void 0?"":u)};Ii.makeRe=(...t)=>Xu.makeRe(...t);Ii.scan=(...t)=>Xu.scan(...t);Ii.parse=(t,e)=>{let r=[];for(let o of[].concat(t||[]))for(let a of y$(String(o),e))r.push(Xu.parse(a,e));return r};Ii.braces=(t,e)=>{if(typeof t!="string")throw new TypeError("Expected a string");return e&&e.nobrace===!0||!/\{.*\}/.test(t)?[t]:y$(t,e)};Ii.braceExpand=(t,e)=>{if(typeof t!="string")throw new TypeError("Expected a string");return Ii.braces(t,{...e,expand:!0})};E$.exports=Ii});var I$=_((NQt,C$)=>{"use strict";C$.exports=({onlyFirst:t=!1}={})=>{let e=["[\\u001B\\u009B][[\\]()#;?]*(?:(?:(?:(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]+)*|[a-zA-Z\\d]+(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]*)*)?\\u0007)","(?:(?:\\d{1,4}(?:;\\d{0,4})*)?[\\dA-PR-TZcf-ntqry=><~]))"].join("|");return new RegExp(e,t?void 0:"g")}});var pS=_((LQt,w$)=>{"use strict";var j7e=I$();w$.exports=t=>typeof t=="string"?t.replace(j7e(),""):t});var v$=_((OQt,B$)=>{function G7e(){this.__data__=[],this.size=0}B$.exports=G7e});var Um=_((MQt,D$)=>{function W7e(t,e){return t===e||t!==t&&e!==e}D$.exports=W7e});var Jw=_((UQt,P$)=>{var Y7e=Um();function K7e(t,e){for(var r=t.length;r--;)if(Y7e(t[r][0],e))return r;return-1}P$.exports=K7e});var b$=_((_Qt,S$)=>{var V7e=Jw(),J7e=Array.prototype,z7e=J7e.splice;function X7e(t){var e=this.__data__,r=V7e(e,t);if(r<0)return!1;var o=e.length-1;return r==o?e.pop():z7e.call(e,r,1),--this.size,!0}S$.exports=X7e});var k$=_((HQt,x$)=>{var Z7e=Jw();function $7e(t){var e=this.__data__,r=Z7e(e,t);return r<0?void 0:e[r][1]}x$.exports=$7e});var F$=_((qQt,Q$)=>{var eWe=Jw();function tWe(t){return eWe(this.__data__,t)>-1}Q$.exports=tWe});var T$=_((jQt,R$)=>{var rWe=Jw();function nWe(t,e){var r=this.__data__,o=rWe(r,t);return o<0?(++this.size,r.push([t,e])):r[o][1]=e,this}R$.exports=nWe});var zw=_((GQt,N$)=>{var iWe=v$(),sWe=b$(),oWe=k$(),aWe=F$(),lWe=T$();function _m(t){var e=-1,r=t==null?0:t.length;for(this.clear();++e<r;){var o=t[e];this.set(o[0],o[1])}}_m.prototype.clear=iWe;_m.prototype.delete=sWe;_m.prototype.get=oWe;_m.prototype.has=aWe;_m.prototype.set=lWe;N$.exports=_m});var O$=_((WQt,L$)=>{var cWe=zw();function uWe(){this.__data__=new cWe,this.size=0}L$.exports=uWe});var U$=_((YQt,M$)=>{function AWe(t){var e=this.__data__,r=e.delete(t);return this.size=e.size,r}M$.exports=AWe});var H$=_((KQt,_$)=>{function fWe(t){return this.__data__.get(t)}_$.exports=fWe});var j$=_((VQt,q$)=>{function pWe(t){return this.__data__.has(t)}q$.exports=pWe});var IL=_((JQt,G$)=>{var hWe=typeof global=="object"&&global&&global.Object===Object&&global;G$.exports=hWe});var ql=_((zQt,W$)=>{var gWe=IL(),dWe=typeof self=="object"&&self&&self.Object===Object&&self,mWe=gWe||dWe||Function("return this")();W$.exports=mWe});var dg=_((XQt,Y$)=>{var yWe=ql(),EWe=yWe.Symbol;Y$.exports=EWe});var z$=_((ZQt,J$)=>{var K$=dg(),V$=Object.prototype,CWe=V$.hasOwnProperty,IWe=V$.toString,Xw=K$?K$.toStringTag:void 0;function wWe(t){var e=CWe.call(t,Xw),r=t[Xw];try{t[Xw]=void 0;var o=!0}catch{}var a=IWe.call(t);return o&&(e?t[Xw]=r:delete t[Xw]),a}J$.exports=wWe});var Z$=_(($Qt,X$)=>{var BWe=Object.prototype,vWe=BWe.toString;function DWe(t){return vWe.call(t)}X$.exports=DWe});var mg=_((eFt,tee)=>{var $$=dg(),PWe=z$(),SWe=Z$(),bWe="[object Null]",xWe="[object Undefined]",eee=$$?$$.toStringTag:void 0;function kWe(t){return t==null?t===void 0?xWe:bWe:eee&&eee in Object(t)?PWe(t):SWe(t)}tee.exports=kWe});var cl=_((tFt,ree)=>{function QWe(t){var e=typeof t;return t!=null&&(e=="object"||e=="function")}ree.exports=QWe});var hS=_((rFt,nee)=>{var FWe=mg(),RWe=cl(),TWe="[object AsyncFunction]",NWe="[object Function]",LWe="[object GeneratorFunction]",OWe="[object Proxy]";function MWe(t){if(!RWe(t))return!1;var e=FWe(t);return e==NWe||e==LWe||e==TWe||e==OWe}nee.exports=MWe});var see=_((nFt,iee)=>{var UWe=ql(),_We=UWe["__core-js_shared__"];iee.exports=_We});var lee=_((iFt,aee)=>{var wL=see(),oee=function(){var t=/[^.]+$/.exec(wL&&wL.keys&&wL.keys.IE_PROTO||"");return t?"Symbol(src)_1."+t:""}();function HWe(t){return!!oee&&oee in t}aee.exports=HWe});var BL=_((sFt,cee)=>{var qWe=Function.prototype,jWe=qWe.toString;function GWe(t){if(t!=null){try{return jWe.call(t)}catch{}try{return t+""}catch{}}return""}cee.exports=GWe});var Aee=_((oFt,uee)=>{var WWe=hS(),YWe=lee(),KWe=cl(),VWe=BL(),JWe=/[\\^$.*+?()[\]{}|]/g,zWe=/^\[object .+?Constructor\]$/,XWe=Function.prototype,ZWe=Object.prototype,$We=XWe.toString,eYe=ZWe.hasOwnProperty,tYe=RegExp("^"+$We.call(eYe).replace(JWe,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");function rYe(t){if(!KWe(t)||YWe(t))return!1;var e=WWe(t)?tYe:zWe;return e.test(VWe(t))}uee.exports=rYe});var pee=_((aFt,fee)=>{function nYe(t,e){return t?.[e]}fee.exports=nYe});var $p=_((lFt,hee)=>{var iYe=Aee(),sYe=pee();function oYe(t,e){var r=sYe(t,e);return iYe(r)?r:void 0}hee.exports=oYe});var gS=_((cFt,gee)=>{var aYe=$p(),lYe=ql(),cYe=aYe(lYe,"Map");gee.exports=cYe});var Zw=_((uFt,dee)=>{var uYe=$p(),AYe=uYe(Object,"create");dee.exports=AYe});var Eee=_((AFt,yee)=>{var mee=Zw();function fYe(){this.__data__=mee?mee(null):{},this.size=0}yee.exports=fYe});var Iee=_((fFt,Cee)=>{function pYe(t){var e=this.has(t)&&delete this.__data__[t];return this.size-=e?1:0,e}Cee.exports=pYe});var Bee=_((pFt,wee)=>{var hYe=Zw(),gYe="__lodash_hash_undefined__",dYe=Object.prototype,mYe=dYe.hasOwnProperty;function yYe(t){var e=this.__data__;if(hYe){var r=e[t];return r===gYe?void 0:r}return mYe.call(e,t)?e[t]:void 0}wee.exports=yYe});var Dee=_((hFt,vee)=>{var EYe=Zw(),CYe=Object.prototype,IYe=CYe.hasOwnProperty;function wYe(t){var e=this.__data__;return EYe?e[t]!==void 0:IYe.call(e,t)}vee.exports=wYe});var See=_((gFt,Pee)=>{var BYe=Zw(),vYe="__lodash_hash_undefined__";function DYe(t,e){var r=this.__data__;return this.size+=this.has(t)?0:1,r[t]=BYe&&e===void 0?vYe:e,this}Pee.exports=DYe});var xee=_((dFt,bee)=>{var PYe=Eee(),SYe=Iee(),bYe=Bee(),xYe=Dee(),kYe=See();function Hm(t){var e=-1,r=t==null?0:t.length;for(this.clear();++e<r;){var o=t[e];this.set(o[0],o[1])}}Hm.prototype.clear=PYe;Hm.prototype.delete=SYe;Hm.prototype.get=bYe;Hm.prototype.has=xYe;Hm.prototype.set=kYe;bee.exports=Hm});var Fee=_((mFt,Qee)=>{var kee=xee(),QYe=zw(),FYe=gS();function RYe(){this.size=0,this.__data__={hash:new kee,map:new(FYe||QYe),string:new kee}}Qee.exports=RYe});var Tee=_((yFt,Ree)=>{function TYe(t){var e=typeof t;return e=="string"||e=="number"||e=="symbol"||e=="boolean"?t!=="__proto__":t===null}Ree.exports=TYe});var $w=_((EFt,Nee)=>{var NYe=Tee();function LYe(t,e){var r=t.__data__;return NYe(e)?r[typeof e=="string"?"string":"hash"]:r.map}Nee.exports=LYe});var Oee=_((CFt,Lee)=>{var OYe=$w();function MYe(t){var e=OYe(this,t).delete(t);return this.size-=e?1:0,e}Lee.exports=MYe});var Uee=_((IFt,Mee)=>{var UYe=$w();function _Ye(t){return UYe(this,t).get(t)}Mee.exports=_Ye});var Hee=_((wFt,_ee)=>{var HYe=$w();function qYe(t){return HYe(this,t).has(t)}_ee.exports=qYe});var jee=_((BFt,qee)=>{var jYe=$w();function GYe(t,e){var r=jYe(this,t),o=r.size;return r.set(t,e),this.size+=r.size==o?0:1,this}qee.exports=GYe});var dS=_((vFt,Gee)=>{var WYe=Fee(),YYe=Oee(),KYe=Uee(),VYe=Hee(),JYe=jee();function qm(t){var e=-1,r=t==null?0:t.length;for(this.clear();++e<r;){var o=t[e];this.set(o[0],o[1])}}qm.prototype.clear=WYe;qm.prototype.delete=YYe;qm.prototype.get=KYe;qm.prototype.has=VYe;qm.prototype.set=JYe;Gee.exports=qm});var Yee=_((DFt,Wee)=>{var zYe=zw(),XYe=gS(),ZYe=dS(),$Ye=200;function eKe(t,e){var r=this.__data__;if(r instanceof zYe){var o=r.__data__;if(!XYe||o.length<$Ye-1)return o.push([t,e]),this.size=++r.size,this;r=this.__data__=new ZYe(o)}return r.set(t,e),this.size=r.size,this}Wee.exports=eKe});var mS=_((PFt,Kee)=>{var tKe=zw(),rKe=O$(),nKe=U$(),iKe=H$(),sKe=j$(),oKe=Yee();function jm(t){var e=this.__data__=new tKe(t);this.size=e.size}jm.prototype.clear=rKe;jm.prototype.delete=nKe;jm.prototype.get=iKe;jm.prototype.has=sKe;jm.prototype.set=oKe;Kee.exports=jm});var Jee=_((SFt,Vee)=>{var aKe="__lodash_hash_undefined__";function lKe(t){return this.__data__.set(t,aKe),this}Vee.exports=lKe});var Xee=_((bFt,zee)=>{function cKe(t){return this.__data__.has(t)}zee.exports=cKe});var $ee=_((xFt,Zee)=>{var uKe=dS(),AKe=Jee(),fKe=Xee();function yS(t){var e=-1,r=t==null?0:t.length;for(this.__data__=new uKe;++e<r;)this.add(t[e])}yS.prototype.add=yS.prototype.push=AKe;yS.prototype.has=fKe;Zee.exports=yS});var tte=_((kFt,ete)=>{function pKe(t,e){for(var r=-1,o=t==null?0:t.length;++r<o;)if(e(t[r],r,t))return!0;return!1}ete.exports=pKe});var nte=_((QFt,rte)=>{function hKe(t,e){return t.has(e)}rte.exports=hKe});var vL=_((FFt,ite)=>{var gKe=$ee(),dKe=tte(),mKe=nte(),yKe=1,EKe=2;function CKe(t,e,r,o,a,n){var u=r&yKe,A=t.length,p=e.length;if(A!=p&&!(u&&p>A))return!1;var h=n.get(t),E=n.get(e);if(h&&E)return h==e&&E==t;var w=-1,D=!0,x=r&EKe?new gKe:void 0;for(n.set(t,e),n.set(e,t);++w<A;){var C=t[w],T=e[w];if(o)var L=u?o(T,C,w,e,t,n):o(C,T,w,t,e,n);if(L!==void 0){if(L)continue;D=!1;break}if(x){if(!dKe(e,function(U,J){if(!mKe(x,J)&&(C===U||a(C,U,r,o,n)))return x.push(J)})){D=!1;break}}else if(!(C===T||a(C,T,r,o,n))){D=!1;break}}return n.delete(t),n.delete(e),D}ite.exports=CKe});var DL=_((RFt,ste)=>{var IKe=ql(),wKe=IKe.Uint8Array;ste.exports=wKe});var ate=_((TFt,ote)=>{function BKe(t){var e=-1,r=Array(t.size);return t.forEach(function(o,a){r[++e]=[a,o]}),r}ote.exports=BKe});var cte=_((NFt,lte)=>{function vKe(t){var e=-1,r=Array(t.size);return t.forEach(function(o){r[++e]=o}),r}lte.exports=vKe});var hte=_((LFt,pte)=>{var ute=dg(),Ate=DL(),DKe=Um(),PKe=vL(),SKe=ate(),bKe=cte(),xKe=1,kKe=2,QKe="[object Boolean]",FKe="[object Date]",RKe="[object Error]",TKe="[object Map]",NKe="[object Number]",LKe="[object RegExp]",OKe="[object Set]",MKe="[object String]",UKe="[object Symbol]",_Ke="[object ArrayBuffer]",HKe="[object DataView]",fte=ute?ute.prototype:void 0,PL=fte?fte.valueOf:void 0;function qKe(t,e,r,o,a,n,u){switch(r){case HKe:if(t.byteLength!=e.byteLength||t.byteOffset!=e.byteOffset)return!1;t=t.buffer,e=e.buffer;case _Ke:return!(t.byteLength!=e.byteLength||!n(new Ate(t),new Ate(e)));case QKe:case FKe:case NKe:return DKe(+t,+e);case RKe:return t.name==e.name&&t.message==e.message;case LKe:case MKe:return t==e+"";case TKe:var A=SKe;case OKe:var p=o&xKe;if(A||(A=bKe),t.size!=e.size&&!p)return!1;var h=u.get(t);if(h)return h==e;o|=kKe,u.set(t,e);var E=PKe(A(t),A(e),o,a,n,u);return u.delete(t),E;case UKe:if(PL)return PL.call(t)==PL.call(e)}return!1}pte.exports=qKe});var ES=_((OFt,gte)=>{function jKe(t,e){for(var r=-1,o=e.length,a=t.length;++r<o;)t[a+r]=e[r];return t}gte.exports=jKe});var jl=_((MFt,dte)=>{var GKe=Array.isArray;dte.exports=GKe});var SL=_((UFt,mte)=>{var WKe=ES(),YKe=jl();function KKe(t,e,r){var o=e(t);return YKe(t)?o:WKe(o,r(t))}mte.exports=KKe});var Ete=_((_Ft,yte)=>{function VKe(t,e){for(var r=-1,o=t==null?0:t.length,a=0,n=[];++r<o;){var u=t[r];e(u,r,t)&&(n[a++]=u)}return n}yte.exports=VKe});var bL=_((HFt,Cte)=>{function JKe(){return[]}Cte.exports=JKe});var CS=_((qFt,wte)=>{var zKe=Ete(),XKe=bL(),ZKe=Object.prototype,$Ke=ZKe.propertyIsEnumerable,Ite=Object.getOwnPropertySymbols,eVe=Ite?function(t){return t==null?[]:(t=Object(t),zKe(Ite(t),function(e){return $Ke.call(t,e)}))}:XKe;wte.exports=eVe});var vte=_((jFt,Bte)=>{function tVe(t,e){for(var r=-1,o=Array(t);++r<t;)o[r]=e(r);return o}Bte.exports=tVe});var Zu=_((GFt,Dte)=>{function rVe(t){return t!=null&&typeof t=="object"}Dte.exports=rVe});var Ste=_((WFt,Pte)=>{var nVe=mg(),iVe=Zu(),sVe="[object Arguments]";function oVe(t){return iVe(t)&&nVe(t)==sVe}Pte.exports=oVe});var e1=_((YFt,kte)=>{var bte=Ste(),aVe=Zu(),xte=Object.prototype,lVe=xte.hasOwnProperty,cVe=xte.propertyIsEnumerable,uVe=bte(function(){return arguments}())?bte:function(t){return aVe(t)&&lVe.call(t,"callee")&&!cVe.call(t,"callee")};kte.exports=uVe});var Fte=_((KFt,Qte)=>{function AVe(){return!1}Qte.exports=AVe});var r1=_((t1,Gm)=>{var fVe=ql(),pVe=Fte(),Nte=typeof t1=="object"&&t1&&!t1.nodeType&&t1,Rte=Nte&&typeof Gm=="object"&&Gm&&!Gm.nodeType&&Gm,hVe=Rte&&Rte.exports===Nte,Tte=hVe?fVe.Buffer:void 0,gVe=Tte?Tte.isBuffer:void 0,dVe=gVe||pVe;Gm.exports=dVe});var n1=_((VFt,Lte)=>{var mVe=9007199254740991,yVe=/^(?:0|[1-9]\d*)$/;function EVe(t,e){var r=typeof t;return e=e??mVe,!!e&&(r=="number"||r!="symbol"&&yVe.test(t))&&t>-1&&t%1==0&&t<e}Lte.exports=EVe});var IS=_((JFt,Ote)=>{var CVe=9007199254740991;function IVe(t){return typeof t=="number"&&t>-1&&t%1==0&&t<=CVe}Ote.exports=IVe});var Ute=_((zFt,Mte)=>{var wVe=mg(),BVe=IS(),vVe=Zu(),DVe="[object Arguments]",PVe="[object Array]",SVe="[object Boolean]",bVe="[object Date]",xVe="[object Error]",kVe="[object Function]",QVe="[object Map]",FVe="[object Number]",RVe="[object Object]",TVe="[object RegExp]",NVe="[object Set]",LVe="[object String]",OVe="[object WeakMap]",MVe="[object ArrayBuffer]",UVe="[object DataView]",_Ve="[object Float32Array]",HVe="[object Float64Array]",qVe="[object Int8Array]",jVe="[object Int16Array]",GVe="[object Int32Array]",WVe="[object Uint8Array]",YVe="[object Uint8ClampedArray]",KVe="[object Uint16Array]",VVe="[object Uint32Array]",di={};di[_Ve]=di[HVe]=di[qVe]=di[jVe]=di[GVe]=di[WVe]=di[YVe]=di[KVe]=di[VVe]=!0;di[DVe]=di[PVe]=di[MVe]=di[SVe]=di[UVe]=di[bVe]=di[xVe]=di[kVe]=di[QVe]=di[FVe]=di[RVe]=di[TVe]=di[NVe]=di[LVe]=di[OVe]=!1;function JVe(t){return vVe(t)&&BVe(t.length)&&!!di[wVe(t)]}Mte.exports=JVe});var wS=_((XFt,_te)=>{function zVe(t){return function(e){return t(e)}}_te.exports=zVe});var BS=_((i1,Wm)=>{var XVe=IL(),Hte=typeof i1=="object"&&i1&&!i1.nodeType&&i1,s1=Hte&&typeof Wm=="object"&&Wm&&!Wm.nodeType&&Wm,ZVe=s1&&s1.exports===Hte,xL=ZVe&&XVe.process,$Ve=function(){try{var t=s1&&s1.require&&s1.require("util").types;return t||xL&&xL.binding&&xL.binding("util")}catch{}}();Wm.exports=$Ve});var vS=_((ZFt,Gte)=>{var eJe=Ute(),tJe=wS(),qte=BS(),jte=qte&&qte.isTypedArray,rJe=jte?tJe(jte):eJe;Gte.exports=rJe});var kL=_(($Ft,Wte)=>{var nJe=vte(),iJe=e1(),sJe=jl(),oJe=r1(),aJe=n1(),lJe=vS(),cJe=Object.prototype,uJe=cJe.hasOwnProperty;function AJe(t,e){var r=sJe(t),o=!r&&iJe(t),a=!r&&!o&&oJe(t),n=!r&&!o&&!a&&lJe(t),u=r||o||a||n,A=u?nJe(t.length,String):[],p=A.length;for(var h in t)(e||uJe.call(t,h))&&!(u&&(h=="length"||a&&(h=="offset"||h=="parent")||n&&(h=="buffer"||h=="byteLength"||h=="byteOffset")||aJe(h,p)))&&A.push(h);return A}Wte.exports=AJe});var DS=_((eRt,Yte)=>{var fJe=Object.prototype;function pJe(t){var e=t&&t.constructor,r=typeof e=="function"&&e.prototype||fJe;return t===r}Yte.exports=pJe});var QL=_((tRt,Kte)=>{function hJe(t,e){return function(r){return t(e(r))}}Kte.exports=hJe});var Jte=_((rRt,Vte)=>{var gJe=QL(),dJe=gJe(Object.keys,Object);Vte.exports=dJe});var Xte=_((nRt,zte)=>{var mJe=DS(),yJe=Jte(),EJe=Object.prototype,CJe=EJe.hasOwnProperty;function IJe(t){if(!mJe(t))return yJe(t);var e=[];for(var r in Object(t))CJe.call(t,r)&&r!="constructor"&&e.push(r);return e}zte.exports=IJe});var o1=_((iRt,Zte)=>{var wJe=hS(),BJe=IS();function vJe(t){return t!=null&&BJe(t.length)&&!wJe(t)}Zte.exports=vJe});var PS=_((sRt,$te)=>{var DJe=kL(),PJe=Xte(),SJe=o1();function bJe(t){return SJe(t)?DJe(t):PJe(t)}$te.exports=bJe});var FL=_((oRt,ere)=>{var xJe=SL(),kJe=CS(),QJe=PS();function FJe(t){return xJe(t,QJe,kJe)}ere.exports=FJe});var nre=_((aRt,rre)=>{var tre=FL(),RJe=1,TJe=Object.prototype,NJe=TJe.hasOwnProperty;function LJe(t,e,r,o,a,n){var u=r&RJe,A=tre(t),p=A.length,h=tre(e),E=h.length;if(p!=E&&!u)return!1;for(var w=p;w--;){var D=A[w];if(!(u?D in e:NJe.call(e,D)))return!1}var x=n.get(t),C=n.get(e);if(x&&C)return x==e&&C==t;var T=!0;n.set(t,e),n.set(e,t);for(var L=u;++w<p;){D=A[w];var U=t[D],J=e[D];if(o)var te=u?o(J,U,D,e,t,n):o(U,J,D,t,e,n);if(!(te===void 0?U===J||a(U,J,r,o,n):te)){T=!1;break}L||(L=D=="constructor")}if(T&&!L){var le=t.constructor,ce=e.constructor;le!=ce&&"constructor"in t&&"constructor"in e&&!(typeof le=="function"&&le instanceof le&&typeof ce=="function"&&ce instanceof ce)&&(T=!1)}return n.delete(t),n.delete(e),T}rre.exports=LJe});var sre=_((lRt,ire)=>{var OJe=$p(),MJe=ql(),UJe=OJe(MJe,"DataView");ire.exports=UJe});var are=_((cRt,ore)=>{var _Je=$p(),HJe=ql(),qJe=_Je(HJe,"Promise");ore.exports=qJe});var cre=_((uRt,lre)=>{var jJe=$p(),GJe=ql(),WJe=jJe(GJe,"Set");lre.exports=WJe});var Are=_((ARt,ure)=>{var YJe=$p(),KJe=ql(),VJe=YJe(KJe,"WeakMap");ure.exports=VJe});var a1=_((fRt,yre)=>{var RL=sre(),TL=gS(),NL=are(),LL=cre(),OL=Are(),mre=mg(),Ym=BL(),fre="[object Map]",JJe="[object Object]",pre="[object Promise]",hre="[object Set]",gre="[object WeakMap]",dre="[object DataView]",zJe=Ym(RL),XJe=Ym(TL),ZJe=Ym(NL),$Je=Ym(LL),eze=Ym(OL),yg=mre;(RL&&yg(new RL(new ArrayBuffer(1)))!=dre||TL&&yg(new TL)!=fre||NL&&yg(NL.resolve())!=pre||LL&&yg(new LL)!=hre||OL&&yg(new OL)!=gre)&&(yg=function(t){var e=mre(t),r=e==JJe?t.constructor:void 0,o=r?Ym(r):"";if(o)switch(o){case zJe:return dre;case XJe:return fre;case ZJe:return pre;case $Je:return hre;case eze:return gre}return e});yre.exports=yg});var Pre=_((pRt,Dre)=>{var ML=mS(),tze=vL(),rze=hte(),nze=nre(),Ere=a1(),Cre=jl(),Ire=r1(),ize=vS(),sze=1,wre="[object Arguments]",Bre="[object Array]",SS="[object Object]",oze=Object.prototype,vre=oze.hasOwnProperty;function aze(t,e,r,o,a,n){var u=Cre(t),A=Cre(e),p=u?Bre:Ere(t),h=A?Bre:Ere(e);p=p==wre?SS:p,h=h==wre?SS:h;var E=p==SS,w=h==SS,D=p==h;if(D&&Ire(t)){if(!Ire(e))return!1;u=!0,E=!1}if(D&&!E)return n||(n=new ML),u||ize(t)?tze(t,e,r,o,a,n):rze(t,e,p,r,o,a,n);if(!(r&sze)){var x=E&&vre.call(t,"__wrapped__"),C=w&&vre.call(e,"__wrapped__");if(x||C){var T=x?t.value():t,L=C?e.value():e;return n||(n=new ML),a(T,L,r,o,n)}}return D?(n||(n=new ML),nze(t,e,r,o,a,n)):!1}Dre.exports=aze});var kre=_((hRt,xre)=>{var lze=Pre(),Sre=Zu();function bre(t,e,r,o,a){return t===e?!0:t==null||e==null||!Sre(t)&&!Sre(e)?t!==t&&e!==e:lze(t,e,r,o,bre,a)}xre.exports=bre});var Fre=_((gRt,Qre)=>{var cze=kre();function uze(t,e){return cze(t,e)}Qre.exports=uze});var UL=_((dRt,Rre)=>{var Aze=$p(),fze=function(){try{var t=Aze(Object,"defineProperty");return t({},"",{}),t}catch{}}();Rre.exports=fze});var bS=_((mRt,Nre)=>{var Tre=UL();function pze(t,e,r){e=="__proto__"&&Tre?Tre(t,e,{configurable:!0,enumerable:!0,value:r,writable:!0}):t[e]=r}Nre.exports=pze});var _L=_((yRt,Lre)=>{var hze=bS(),gze=Um();function dze(t,e,r){(r!==void 0&&!gze(t[e],r)||r===void 0&&!(e in t))&&hze(t,e,r)}Lre.exports=dze});var Mre=_((ERt,Ore)=>{function mze(t){return function(e,r,o){for(var a=-1,n=Object(e),u=o(e),A=u.length;A--;){var p=u[t?A:++a];if(r(n[p],p,n)===!1)break}return e}}Ore.exports=mze});var _re=_((CRt,Ure)=>{var yze=Mre(),Eze=yze();Ure.exports=Eze});var HL=_((l1,Km)=>{var Cze=ql(),Gre=typeof l1=="object"&&l1&&!l1.nodeType&&l1,Hre=Gre&&typeof Km=="object"&&Km&&!Km.nodeType&&Km,Ize=Hre&&Hre.exports===Gre,qre=Ize?Cze.Buffer:void 0,jre=qre?qre.allocUnsafe:void 0;function wze(t,e){if(e)return t.slice();var r=t.length,o=jre?jre(r):new t.constructor(r);return t.copy(o),o}Km.exports=wze});var xS=_((IRt,Yre)=>{var Wre=DL();function Bze(t){var e=new t.constructor(t.byteLength);return new Wre(e).set(new Wre(t)),e}Yre.exports=Bze});var qL=_((wRt,Kre)=>{var vze=xS();function Dze(t,e){var r=e?vze(t.buffer):t.buffer;return new t.constructor(r,t.byteOffset,t.length)}Kre.exports=Dze});var kS=_((BRt,Vre)=>{function Pze(t,e){var r=-1,o=t.length;for(e||(e=Array(o));++r<o;)e[r]=t[r];return e}Vre.exports=Pze});var Xre=_((vRt,zre)=>{var Sze=cl(),Jre=Object.create,bze=function(){function t(){}return function(e){if(!Sze(e))return{};if(Jre)return Jre(e);t.prototype=e;var r=new t;return t.prototype=void 0,r}}();zre.exports=bze});var QS=_((DRt,Zre)=>{var xze=QL(),kze=xze(Object.getPrototypeOf,Object);Zre.exports=kze});var jL=_((PRt,$re)=>{var Qze=Xre(),Fze=QS(),Rze=DS();function Tze(t){return typeof t.constructor=="function"&&!Rze(t)?Qze(Fze(t)):{}}$re.exports=Tze});var tne=_((SRt,ene)=>{var Nze=o1(),Lze=Zu();function Oze(t){return Lze(t)&&Nze(t)}ene.exports=Oze});var WL=_((bRt,nne)=>{var Mze=mg(),Uze=QS(),_ze=Zu(),Hze="[object Object]",qze=Function.prototype,jze=Object.prototype,rne=qze.toString,Gze=jze.hasOwnProperty,Wze=rne.call(Object);function Yze(t){if(!_ze(t)||Mze(t)!=Hze)return!1;var e=Uze(t);if(e===null)return!0;var r=Gze.call(e,"constructor")&&e.constructor;return typeof r=="function"&&r instanceof r&&rne.call(r)==Wze}nne.exports=Yze});var YL=_((xRt,ine)=>{function Kze(t,e){if(!(e==="constructor"&&typeof t[e]=="function")&&e!="__proto__")return t[e]}ine.exports=Kze});var RS=_((kRt,sne)=>{var Vze=bS(),Jze=Um(),zze=Object.prototype,Xze=zze.hasOwnProperty;function Zze(t,e,r){var o=t[e];(!(Xze.call(t,e)&&Jze(o,r))||r===void 0&&!(e in t))&&Vze(t,e,r)}sne.exports=Zze});var Eg=_((QRt,one)=>{var $ze=RS(),eXe=bS();function tXe(t,e,r,o){var a=!r;r||(r={});for(var n=-1,u=e.length;++n<u;){var A=e[n],p=o?o(r[A],t[A],A,r,t):void 0;p===void 0&&(p=t[A]),a?eXe(r,A,p):$ze(r,A,p)}return r}one.exports=tXe});var lne=_((FRt,ane)=>{function rXe(t){var e=[];if(t!=null)for(var r in Object(t))e.push(r);return e}ane.exports=rXe});var une=_((RRt,cne)=>{var nXe=cl(),iXe=DS(),sXe=lne(),oXe=Object.prototype,aXe=oXe.hasOwnProperty;function lXe(t){if(!nXe(t))return sXe(t);var e=iXe(t),r=[];for(var o in t)o=="constructor"&&(e||!aXe.call(t,o))||r.push(o);return r}cne.exports=lXe});var Vm=_((TRt,Ane)=>{var cXe=kL(),uXe=une(),AXe=o1();function fXe(t){return AXe(t)?cXe(t,!0):uXe(t)}Ane.exports=fXe});var pne=_((NRt,fne)=>{var pXe=Eg(),hXe=Vm();function gXe(t){return pXe(t,hXe(t))}fne.exports=gXe});var Ene=_((LRt,yne)=>{var hne=_L(),dXe=HL(),mXe=qL(),yXe=kS(),EXe=jL(),gne=e1(),dne=jl(),CXe=tne(),IXe=r1(),wXe=hS(),BXe=cl(),vXe=WL(),DXe=vS(),mne=YL(),PXe=pne();function SXe(t,e,r,o,a,n,u){var A=mne(t,r),p=mne(e,r),h=u.get(p);if(h){hne(t,r,h);return}var E=n?n(A,p,r+"",t,e,u):void 0,w=E===void 0;if(w){var D=dne(p),x=!D&&IXe(p),C=!D&&!x&&DXe(p);E=p,D||x||C?dne(A)?E=A:CXe(A)?E=yXe(A):x?(w=!1,E=dXe(p,!0)):C?(w=!1,E=mXe(p,!0)):E=[]:vXe(p)||gne(p)?(E=A,gne(A)?E=PXe(A):(!BXe(A)||wXe(A))&&(E=EXe(p))):w=!1}w&&(u.set(p,E),a(E,p,o,n,u),u.delete(p)),hne(t,r,E)}yne.exports=SXe});var wne=_((ORt,Ine)=>{var bXe=mS(),xXe=_L(),kXe=_re(),QXe=Ene(),FXe=cl(),RXe=Vm(),TXe=YL();function Cne(t,e,r,o,a){t!==e&&kXe(e,function(n,u){if(a||(a=new bXe),FXe(n))QXe(t,e,u,r,Cne,o,a);else{var A=o?o(TXe(t,u),n,u+"",t,e,a):void 0;A===void 0&&(A=n),xXe(t,u,A)}},RXe)}Ine.exports=Cne});var KL=_((MRt,Bne)=>{function NXe(t){return t}Bne.exports=NXe});var Dne=_((URt,vne)=>{function LXe(t,e,r){switch(r.length){case 0:return t.call(e);case 1:return t.call(e,r[0]);case 2:return t.call(e,r[0],r[1]);case 3:return t.call(e,r[0],r[1],r[2])}return t.apply(e,r)}vne.exports=LXe});var VL=_((_Rt,Sne)=>{var OXe=Dne(),Pne=Math.max;function MXe(t,e,r){return e=Pne(e===void 0?t.length-1:e,0),function(){for(var o=arguments,a=-1,n=Pne(o.length-e,0),u=Array(n);++a<n;)u[a]=o[e+a];a=-1;for(var A=Array(e+1);++a<e;)A[a]=o[a];return A[e]=r(u),OXe(t,this,A)}}Sne.exports=MXe});var xne=_((HRt,bne)=>{function UXe(t){return function(){return t}}bne.exports=UXe});var Fne=_((qRt,Qne)=>{var _Xe=xne(),kne=UL(),HXe=KL(),qXe=kne?function(t,e){return kne(t,"toString",{configurable:!0,enumerable:!1,value:_Xe(e),writable:!0})}:HXe;Qne.exports=qXe});var Tne=_((jRt,Rne)=>{var jXe=800,GXe=16,WXe=Date.now;function YXe(t){var e=0,r=0;return function(){var o=WXe(),a=GXe-(o-r);if(r=o,a>0){if(++e>=jXe)return arguments[0]}else e=0;return t.apply(void 0,arguments)}}Rne.exports=YXe});var JL=_((GRt,Nne)=>{var KXe=Fne(),VXe=Tne(),JXe=VXe(KXe);Nne.exports=JXe});var One=_((WRt,Lne)=>{var zXe=KL(),XXe=VL(),ZXe=JL();function $Xe(t,e){return ZXe(XXe(t,e,zXe),t+"")}Lne.exports=$Xe});var Une=_((YRt,Mne)=>{var eZe=Um(),tZe=o1(),rZe=n1(),nZe=cl();function iZe(t,e,r){if(!nZe(r))return!1;var o=typeof e;return(o=="number"?tZe(r)&&rZe(e,r.length):o=="string"&&e in r)?eZe(r[e],t):!1}Mne.exports=iZe});var Hne=_((KRt,_ne)=>{var sZe=One(),oZe=Une();function aZe(t){return sZe(function(e,r){var o=-1,a=r.length,n=a>1?r[a-1]:void 0,u=a>2?r[2]:void 0;for(n=t.length>3&&typeof n=="function"?(a--,n):void 0,u&&oZe(r[0],r[1],u)&&(n=a<3?void 0:n,a=1),e=Object(e);++o<a;){var A=r[o];A&&t(e,A,o,n)}return e})}_ne.exports=aZe});var jne=_((VRt,qne)=>{var lZe=wne(),cZe=Hne(),uZe=cZe(function(t,e,r,o){lZe(t,e,r,o)});qne.exports=uZe});var qe={};Kt(qe,{AsyncActions:()=>ZL,BufferStream:()=>XL,CachingStrategy:()=>tie,DefaultStream:()=>$L,allSettledSafe:()=>Wc,assertNever:()=>tO,bufferStream:()=>Xm,buildIgnorePattern:()=>mZe,convertMapsToIndexableObjects:()=>NS,dynamicRequire:()=>vf,escapeRegExp:()=>fZe,getArrayWithDefault:()=>u1,getFactoryWithDefault:()=>Al,getMapWithDefault:()=>A1,getSetWithDefault:()=>Jm,groupBy:()=>CZe,isIndexableObject:()=>zL,isPathLike:()=>yZe,isTaggedYarnVersion:()=>AZe,makeDeferred:()=>Zne,mapAndFilter:()=>ul,mapAndFind:()=>eh,mergeIntoTarget:()=>nie,overrideType:()=>pZe,parseBoolean:()=>f1,parseInt:()=>Zm,parseOptionalBoolean:()=>rie,plural:()=>TS,prettifyAsyncErrors:()=>zm,prettifySyncErrors:()=>rO,releaseAfterUseAsync:()=>gZe,replaceEnvVariables:()=>LS,sortMap:()=>Ps,toMerged:()=>EZe,tryParseOptionalBoolean:()=>nO,validateEnum:()=>hZe});function AZe(t){return!!(Jne.default.valid(t)&&t.match(/^[^-]+(-rc\.[0-9]+)?$/))}function TS(t,{one:e,more:r,zero:o=r}){return t===0?o:t===1?e:r}function fZe(t){return t.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function pZe(t){}function tO(t){throw new Error(`Assertion failed: Unexpected object '${t}'`)}function hZe(t,e){let r=Object.values(t);if(!r.includes(e))throw new it(`Invalid value for enumeration: ${JSON.stringify(e)} (expected one of ${r.map(o=>JSON.stringify(o)).join(", ")})`);return e}function ul(t,e){let r=[];for(let o of t){let a=e(o);a!==zne&&r.push(a)}return r}function eh(t,e){for(let r of t){let o=e(r);if(o!==Xne)return o}}function zL(t){return typeof t=="object"&&t!==null}async function Wc(t){let e=await Promise.allSettled(t),r=[];for(let o of e){if(o.status==="rejected")throw o.reason;r.push(o.value)}return r}function NS(t){if(t instanceof Map&&(t=Object.fromEntries(t)),zL(t))for(let e of Object.keys(t)){let r=t[e];zL(r)&&(t[e]=NS(r))}return t}function Al(t,e,r){let o=t.get(e);return typeof o>"u"&&t.set(e,o=r()),o}function u1(t,e){let r=t.get(e);return typeof r>"u"&&t.set(e,r=[]),r}function Jm(t,e){let r=t.get(e);return typeof r>"u"&&t.set(e,r=new Set),r}function A1(t,e){let r=t.get(e);return typeof r>"u"&&t.set(e,r=new Map),r}async function gZe(t,e){if(e==null)return await t();try{return await t()}finally{await e()}}async function zm(t,e){try{return await t()}catch(r){throw r.message=e(r.message),r}}function rO(t,e){try{return t()}catch(r){throw r.message=e(r.message),r}}async function Xm(t){return await new Promise((e,r)=>{let o=[];t.on("error",a=>{r(a)}),t.on("data",a=>{o.push(a)}),t.on("end",()=>{e(Buffer.concat(o))})})}function Zne(){let t,e;return{promise:new Promise((o,a)=>{t=o,e=a}),resolve:t,reject:e}}function $ne(t){return c1(Ae.fromPortablePath(t))}function eie(path){let physicalPath=Ae.fromPortablePath(path),currentCacheEntry=c1.cache[physicalPath];delete c1.cache[physicalPath];let result;try{result=$ne(physicalPath);let freshCacheEntry=c1.cache[physicalPath],dynamicModule=eval("module"),freshCacheIndex=dynamicModule.children.indexOf(freshCacheEntry);freshCacheIndex!==-1&&dynamicModule.children.splice(freshCacheIndex,1)}finally{c1.cache[physicalPath]=currentCacheEntry}return result}function dZe(t){let e=Gne.get(t),r=ae.statSync(t);if(e?.mtime===r.mtimeMs)return e.instance;let o=eie(t);return Gne.set(t,{mtime:r.mtimeMs,instance:o}),o}function vf(t,{cachingStrategy:e=2}={}){switch(e){case 0:return eie(t);case 1:return dZe(t);case 2:return $ne(t);default:throw new Error("Unsupported caching strategy")}}function Ps(t,e){let r=Array.from(t);Array.isArray(e)||(e=[e]);let o=[];for(let n of e)o.push(r.map(u=>n(u)));let a=r.map((n,u)=>u);return a.sort((n,u)=>{for(let A of o){let p=A[n]<A[u]?-1:A[n]>A[u]?1:0;if(p!==0)return p}return 0}),a.map(n=>r[n])}function mZe(t){return t.length===0?null:t.map(e=>`(${Kne.default.makeRe(e,{windows:!1,dot:!0}).source})`).join("|")}function LS(t,{env:e}){let r=/\${(?<variableName>[\d\w_]+)(?<colon>:)?(?:-(?<fallback>[^}]*))?}/g;return t.replace(r,(...o)=>{let{variableName:a,colon:n,fallback:u}=o[o.length-1],A=Object.hasOwn(e,a),p=e[a];if(p||A&&!n)return p;if(u!=null)return u;throw new it(`Environment variable not found (${a})`)})}function f1(t){switch(t){case"true":case"1":case 1:case!0:return!0;case"false":case"0":case 0:case!1:return!1;default:throw new Error(`Couldn't parse "${t}" as a boolean`)}}function rie(t){return typeof t>"u"?t:f1(t)}function nO(t){try{return rie(t)}catch{return null}}function yZe(t){return!!(Ae.isAbsolute(t)||t.match(/^(\.{1,2}|~)\//))}function nie(t,...e){let r=u=>({value:u}),o=r(t),a=e.map(u=>r(u)),{value:n}=(0,Yne.default)(o,...a,(u,A)=>{if(Array.isArray(u)&&Array.isArray(A)){for(let p of A)u.find(h=>(0,Wne.default)(h,p))||u.push(p);return u}});return n}function EZe(...t){return nie({},...t)}function CZe(t,e){let r=Object.create(null);for(let o of t){let a=o[e];r[a]??=[],r[a].push(o)}return r}function Zm(t){return typeof t=="string"?Number.parseInt(t,10):t}var Wne,Yne,Kne,Vne,Jne,eO,zne,Xne,XL,ZL,$L,c1,Gne,tie,Gl=It(()=>{Pt();Gt();Wne=et(Fre()),Yne=et(jne()),Kne=et(Xo()),Vne=et(lg()),Jne=et(ni()),eO=ve("stream");zne=Symbol();ul.skip=zne;Xne=Symbol();eh.skip=Xne;XL=class extends eO.Transform{constructor(){super(...arguments);this.chunks=[]}_transform(r,o,a){if(o!=="buffer"||!Buffer.isBuffer(r))throw new Error("Assertion failed: BufferStream only accept buffers");this.chunks.push(r),a(null,null)}_flush(r){r(null,Buffer.concat(this.chunks))}};ZL=class{constructor(e){this.deferred=new Map;this.promises=new Map;this.limit=(0,Vne.default)(e)}set(e,r){let o=this.deferred.get(e);typeof o>"u"&&this.deferred.set(e,o=Zne());let a=this.limit(()=>r());return this.promises.set(e,a),a.then(()=>{this.promises.get(e)===a&&o.resolve()},n=>{this.promises.get(e)===a&&o.reject(n)}),o.promise}reduce(e,r){let o=this.promises.get(e)??Promise.resolve();this.set(e,()=>r(o))}async wait(){await Promise.all(this.promises.values())}},$L=class extends eO.Transform{constructor(r=Buffer.alloc(0)){super();this.active=!0;this.ifEmpty=r}_transform(r,o,a){if(o!=="buffer"||!Buffer.isBuffer(r))throw new Error("Assertion failed: DefaultStream only accept buffers");this.active=!1,a(null,r)}_flush(r){this.active&&this.ifEmpty.length>0?r(null,this.ifEmpty):r(null)}},c1=eval("require");Gne=new Map;tie=(o=>(o[o.NoCache=0]="NoCache",o[o.FsTime=1]="FsTime",o[o.Node=2]="Node",o))(tie||{})});var $m,iO,sO,iie=It(()=>{$m=(r=>(r.HARD="HARD",r.SOFT="SOFT",r))($m||{}),iO=(o=>(o.Dependency="Dependency",o.PeerDependency="PeerDependency",o.PeerDependencyMeta="PeerDependencyMeta",o))(iO||{}),sO=(o=>(o.Inactive="inactive",o.Redundant="redundant",o.Active="active",o))(sO||{})});var pe={};Kt(pe,{LogLevel:()=>HS,Style:()=>MS,Type:()=>Ct,addLogFilterSupport:()=>g1,applyColor:()=>Gs,applyHyperlink:()=>ty,applyStyle:()=>Cg,json:()=>Ig,jsonOrPretty:()=>BZe,mark:()=>uO,pretty:()=>Ut,prettyField:()=>$u,prettyList:()=>cO,prettyTruncatedLocatorList:()=>_S,stripAnsi:()=>ey.default,supportsColor:()=>US,supportsHyperlinks:()=>lO,tuple:()=>Yc});function sie(t){let e=["KiB","MiB","GiB","TiB"],r=e.length;for(;r>1&&t<1024**r;)r-=1;let o=1024**r;return`${Math.floor(t*100/o)/100} ${e[r-1]}`}function Yc(t,e){return[e,t]}function Cg(t,e,r){return t.get("enableColors")&&r&2&&(e=h1.default.bold(e)),e}function Gs(t,e,r){if(!t.get("enableColors"))return e;let o=IZe.get(r);if(o===null)return e;let a=typeof o>"u"?r:aO.level>=3?o[0]:o[1],n=typeof a=="number"?oO.ansi256(a):a.startsWith("#")?oO.hex(a):oO[a];if(typeof n!="function")throw new Error(`Invalid format type ${a}`);return n(e)}function ty(t,e,r){return t.get("enableHyperlinks")?wZe?`\x1B]8;;${r}\x1B\\${e}\x1B]8;;\x1B\\`:`\x1B]8;;${r}\x07${e}\x1B]8;;\x07`:e}function Ut(t,e,r){if(e===null)return Gs(t,"null",Ct.NULL);if(Object.hasOwn(OS,r))return OS[r].pretty(t,e);if(typeof e!="string")throw new Error(`Assertion failed: Expected the value to be a string, got ${typeof e}`);return Gs(t,e,r)}function cO(t,e,r,{separator:o=", "}={}){return[...e].map(a=>Ut(t,a,r)).join(o)}function Ig(t,e){if(t===null)return null;if(Object.hasOwn(OS,e))return OS[e].json(t);if(typeof t!="string")throw new Error(`Assertion failed: Expected the value to be a string, got ${typeof t}`);return t}function BZe(t,e,[r,o]){return t?Ig(r,o):Ut(e,r,o)}function uO(t){return{Check:Gs(t,"\u2713","green"),Cross:Gs(t,"\u2718","red"),Question:Gs(t,"?","cyan")}}function $u(t,{label:e,value:[r,o]}){return`${Ut(t,e,Ct.CODE)}: ${Ut(t,r,o)}`}function _S(t,e,r){let o=[],a=[...e],n=r;for(;a.length>0;){let h=a[0],E=`${jr(t,h)}, `,w=AO(h).length+2;if(o.length>0&&n<w)break;o.push([E,w]),n-=w,a.shift()}if(a.length===0)return o.map(([h])=>h).join("").slice(0,-2);let u="X".repeat(a.length.toString().length),A=`and ${u} more.`,p=a.length;for(;o.length>1&&n<A.length;)n+=o[o.length-1][1],p+=1,o.pop();return[o.map(([h])=>h).join(""),A.replace(u,Ut(t,p,Ct.NUMBER))].join("")}function g1(t,{configuration:e}){let r=e.get("logFilters"),o=new Map,a=new Map,n=[];for(let w of r){let D=w.get("level");if(typeof D>"u")continue;let x=w.get("code");typeof x<"u"&&o.set(x,D);let C=w.get("text");typeof C<"u"&&a.set(C,D);let T=w.get("pattern");typeof T<"u"&&n.push([oie.default.matcher(T,{contains:!0}),D])}n.reverse();let u=(w,D,x)=>{if(w===null||w===0)return x;let C=a.size>0||n.length>0?(0,ey.default)(D):D;if(a.size>0){let T=a.get(C);if(typeof T<"u")return T??x}if(n.length>0){for(let[T,L]of n)if(T(C))return L??x}if(o.size>0){let T=o.get(Ju(w));if(typeof T<"u")return T??x}return x},A=t.reportInfo,p=t.reportWarning,h=t.reportError,E=function(w,D,x,C){switch(u(D,x,C)){case"info":A.call(w,D,x);break;case"warning":p.call(w,D??0,x);break;case"error":h.call(w,D??0,x);break}};t.reportInfo=function(...w){return E(this,...w,"info")},t.reportWarning=function(...w){return E(this,...w,"warning")},t.reportError=function(...w){return E(this,...w,"error")}}var h1,p1,oie,ey,aie,Ct,MS,aO,US,lO,oO,IZe,Co,OS,wZe,HS,Wl=It(()=>{Pt();h1=et(iL()),p1=et(sg());Gt();oie=et(Xo()),ey=et(pS()),aie=ve("util");jP();Io();Ct={NO_HINT:"NO_HINT",ID:"ID",NULL:"NULL",SCOPE:"SCOPE",NAME:"NAME",RANGE:"RANGE",REFERENCE:"REFERENCE",NUMBER:"NUMBER",PATH:"PATH",URL:"URL",ADDED:"ADDED",REMOVED:"REMOVED",CODE:"CODE",INSPECT:"INSPECT",DURATION:"DURATION",SIZE:"SIZE",SIZE_DIFF:"SIZE_DIFF",IDENT:"IDENT",DESCRIPTOR:"DESCRIPTOR",LOCATOR:"LOCATOR",RESOLUTION:"RESOLUTION",DEPENDENT:"DEPENDENT",PACKAGE_EXTENSION:"PACKAGE_EXTENSION",SETTING:"SETTING",MARKDOWN:"MARKDOWN",MARKDOWN_INLINE:"MARKDOWN_INLINE"},MS=(e=>(e[e.BOLD=2]="BOLD",e))(MS||{}),aO=p1.default.GITHUB_ACTIONS?{level:2}:h1.default.supportsColor?{level:h1.default.supportsColor.level}:{level:0},US=aO.level!==0,lO=US&&!p1.default.GITHUB_ACTIONS&&!p1.default.CIRCLE&&!p1.default.GITLAB,oO=new h1.default.Instance(aO),IZe=new Map([[Ct.NO_HINT,null],[Ct.NULL,["#a853b5",129]],[Ct.SCOPE,["#d75f00",166]],[Ct.NAME,["#d7875f",173]],[Ct.RANGE,["#00afaf",37]],[Ct.REFERENCE,["#87afff",111]],[Ct.NUMBER,["#ffd700",220]],[Ct.PATH,["#d75fd7",170]],[Ct.URL,["#d75fd7",170]],[Ct.ADDED,["#5faf00",70]],[Ct.REMOVED,["#ff3131",160]],[Ct.CODE,["#87afff",111]],[Ct.SIZE,["#ffd700",220]]]),Co=t=>t;OS={[Ct.ID]:Co({pretty:(t,e)=>typeof e=="number"?Gs(t,`${e}`,Ct.NUMBER):Gs(t,e,Ct.CODE),json:t=>t}),[Ct.INSPECT]:Co({pretty:(t,e)=>(0,aie.inspect)(e,{depth:1/0,colors:t.get("enableColors"),compact:!0,breakLength:1/0}),json:t=>t}),[Ct.NUMBER]:Co({pretty:(t,e)=>Gs(t,`${e}`,Ct.NUMBER),json:t=>t}),[Ct.IDENT]:Co({pretty:(t,e)=>Ui(t,e),json:t=>rn(t)}),[Ct.LOCATOR]:Co({pretty:(t,e)=>jr(t,e),json:t=>Qa(t)}),[Ct.DESCRIPTOR]:Co({pretty:(t,e)=>Jn(t,e),json:t=>ka(t)}),[Ct.RESOLUTION]:Co({pretty:(t,{descriptor:e,locator:r})=>d1(t,e,r),json:({descriptor:t,locator:e})=>({descriptor:ka(t),locator:e!==null?Qa(e):null})}),[Ct.DEPENDENT]:Co({pretty:(t,{locator:e,descriptor:r})=>fO(t,e,r),json:({locator:t,descriptor:e})=>({locator:Qa(t),descriptor:ka(e)})}),[Ct.PACKAGE_EXTENSION]:Co({pretty:(t,e)=>{switch(e.type){case"Dependency":return`${Ui(t,e.parentDescriptor)} \u27A4 ${Gs(t,"dependencies",Ct.CODE)} \u27A4 ${Ui(t,e.descriptor)}`;case"PeerDependency":return`${Ui(t,e.parentDescriptor)} \u27A4 ${Gs(t,"peerDependencies",Ct.CODE)} \u27A4 ${Ui(t,e.descriptor)}`;case"PeerDependencyMeta":return`${Ui(t,e.parentDescriptor)} \u27A4 ${Gs(t,"peerDependenciesMeta",Ct.CODE)} \u27A4 ${Ui(t,Zo(e.selector))} \u27A4 ${Gs(t,e.key,Ct.CODE)}`;default:throw new Error(`Assertion failed: Unsupported package extension type: ${e.type}`)}},json:t=>{switch(t.type){case"Dependency":return`${rn(t.parentDescriptor)} > ${rn(t.descriptor)}`;case"PeerDependency":return`${rn(t.parentDescriptor)} >> ${rn(t.descriptor)}`;case"PeerDependencyMeta":return`${rn(t.parentDescriptor)} >> ${t.selector} / ${t.key}`;default:throw new Error(`Assertion failed: Unsupported package extension type: ${t.type}`)}}}),[Ct.SETTING]:Co({pretty:(t,e)=>(t.get(e),ty(t,Gs(t,e,Ct.CODE),`https://yarnpkg.com/configuration/yarnrc#${e}`)),json:t=>t}),[Ct.DURATION]:Co({pretty:(t,e)=>{if(e>1e3*60){let r=Math.floor(e/1e3/60),o=Math.ceil((e-r*60*1e3)/1e3);return o===0?`${r}m`:`${r}m ${o}s`}else{let r=Math.floor(e/1e3),o=e-r*1e3;return o===0?`${r}s`:`${r}s ${o}ms`}},json:t=>t}),[Ct.SIZE]:Co({pretty:(t,e)=>Gs(t,sie(e),Ct.NUMBER),json:t=>t}),[Ct.SIZE_DIFF]:Co({pretty:(t,e)=>{let r=e>=0?"+":"-",o=r==="+"?Ct.REMOVED:Ct.ADDED;return Gs(t,`${r} ${sie(Math.max(Math.abs(e),1))}`,o)},json:t=>t}),[Ct.PATH]:Co({pretty:(t,e)=>Gs(t,Ae.fromPortablePath(e),Ct.PATH),json:t=>Ae.fromPortablePath(t)}),[Ct.MARKDOWN]:Co({pretty:(t,{text:e,format:r,paragraphs:o})=>yo(e,{format:r,paragraphs:o}),json:({text:t})=>t}),[Ct.MARKDOWN_INLINE]:Co({pretty:(t,e)=>(e=e.replace(/(`+)((?:.|[\n])*?)\1/g,(r,o,a)=>Ut(t,o+a+o,Ct.CODE)),e=e.replace(/(\*\*)((?:.|[\n])*?)\1/g,(r,o,a)=>Cg(t,a,2)),e),json:t=>t})};wZe=!!process.env.KONSOLE_VERSION;HS=(a=>(a.Error="error",a.Warning="warning",a.Info="info",a.Discard="discard",a))(HS||{})});var lie=_(ry=>{"use strict";Object.defineProperty(ry,"__esModule",{value:!0});ry.splitWhen=ry.flatten=void 0;function vZe(t){return t.reduce((e,r)=>[].concat(e,r),[])}ry.flatten=vZe;function DZe(t,e){let r=[[]],o=0;for(let a of t)e(a)?(o++,r[o]=[]):r[o].push(a);return r}ry.splitWhen=DZe});var cie=_(qS=>{"use strict";Object.defineProperty(qS,"__esModule",{value:!0});qS.isEnoentCodeError=void 0;function PZe(t){return t.code==="ENOENT"}qS.isEnoentCodeError=PZe});var uie=_(jS=>{"use strict";Object.defineProperty(jS,"__esModule",{value:!0});jS.createDirentFromStats=void 0;var pO=class{constructor(e,r){this.name=e,this.isBlockDevice=r.isBlockDevice.bind(r),this.isCharacterDevice=r.isCharacterDevice.bind(r),this.isDirectory=r.isDirectory.bind(r),this.isFIFO=r.isFIFO.bind(r),this.isFile=r.isFile.bind(r),this.isSocket=r.isSocket.bind(r),this.isSymbolicLink=r.isSymbolicLink.bind(r)}};function SZe(t,e){return new pO(t,e)}jS.createDirentFromStats=SZe});var hie=_(Vi=>{"use strict";Object.defineProperty(Vi,"__esModule",{value:!0});Vi.convertPosixPathToPattern=Vi.convertWindowsPathToPattern=Vi.convertPathToPattern=Vi.escapePosixPath=Vi.escapeWindowsPath=Vi.escape=Vi.removeLeadingDotSegment=Vi.makeAbsolute=Vi.unixify=void 0;var bZe=ve("os"),xZe=ve("path"),Aie=bZe.platform()==="win32",kZe=2,QZe=/(\\?)([()*?[\]{|}]|^!|[!+@](?=\()|\\(?![!()*+?@[\]{|}]))/g,FZe=/(\\?)([()[\]{}]|^!|[!+@](?=\())/g,RZe=/^\\\\([.?])/,TZe=/\\(?![!()+@[\]{}])/g;function NZe(t){return t.replace(/\\/g,"/")}Vi.unixify=NZe;function LZe(t,e){return xZe.resolve(t,e)}Vi.makeAbsolute=LZe;function OZe(t){if(t.charAt(0)==="."){let e=t.charAt(1);if(e==="/"||e==="\\")return t.slice(kZe)}return t}Vi.removeLeadingDotSegment=OZe;Vi.escape=Aie?hO:gO;function hO(t){return t.replace(FZe,"\\$2")}Vi.escapeWindowsPath=hO;function gO(t){return t.replace(QZe,"\\$2")}Vi.escapePosixPath=gO;Vi.convertPathToPattern=Aie?fie:pie;function fie(t){return hO(t).replace(RZe,"//$1").replace(TZe,"/")}Vi.convertWindowsPathToPattern=fie;function pie(t){return gO(t)}Vi.convertPosixPathToPattern=pie});var die=_((cTt,gie)=>{gie.exports=function(e){if(typeof e!="string"||e==="")return!1;for(var r;r=/(\\).|([@?!+*]\(.*\))/g.exec(e);){if(r[2])return!0;e=e.slice(r.index+r[0].length)}return!1}});var Eie=_((uTt,yie)=>{var MZe=die(),mie={"{":"}","(":")","[":"]"},UZe=function(t){if(t[0]==="!")return!0;for(var e=0,r=-2,o=-2,a=-2,n=-2,u=-2;e<t.length;){if(t[e]==="*"||t[e+1]==="?"&&/[\].+)]/.test(t[e])||o!==-1&&t[e]==="["&&t[e+1]!=="]"&&(o<e&&(o=t.indexOf("]",e)),o>e&&(u===-1||u>o||(u=t.indexOf("\\",e),u===-1||u>o)))||a!==-1&&t[e]==="{"&&t[e+1]!=="}"&&(a=t.indexOf("}",e),a>e&&(u=t.indexOf("\\",e),u===-1||u>a))||n!==-1&&t[e]==="("&&t[e+1]==="?"&&/[:!=]/.test(t[e+2])&&t[e+3]!==")"&&(n=t.indexOf(")",e),n>e&&(u=t.indexOf("\\",e),u===-1||u>n))||r!==-1&&t[e]==="("&&t[e+1]!=="|"&&(r<e&&(r=t.indexOf("|",e)),r!==-1&&t[r+1]!==")"&&(n=t.indexOf(")",r),n>r&&(u=t.indexOf("\\",r),u===-1||u>n))))return!0;if(t[e]==="\\"){var A=t[e+1];e+=2;var p=mie[A];if(p){var h=t.indexOf(p,e);h!==-1&&(e=h+1)}if(t[e]==="!")return!0}else e++}return!1},_Ze=function(t){if(t[0]==="!")return!0;for(var e=0;e<t.length;){if(/[*?{}()[\]]/.test(t[e]))return!0;if(t[e]==="\\"){var r=t[e+1];e+=2;var o=mie[r];if(o){var a=t.indexOf(o,e);a!==-1&&(e=a+1)}if(t[e]==="!")return!0}else e++}return!1};yie.exports=function(e,r){if(typeof e!="string"||e==="")return!1;if(MZe(e))return!0;var o=UZe;return r&&r.strict===!1&&(o=_Ze),o(e)}});var Iie=_((ATt,Cie)=>{"use strict";var HZe=Eie(),qZe=ve("path").posix.dirname,jZe=ve("os").platform()==="win32",dO="/",GZe=/\\/g,WZe=/[\{\[].*[\}\]]$/,YZe=/(^|[^\\])([\{\[]|\([^\)]+$)/,KZe=/\\([\!\*\?\|\[\]\(\)\{\}])/g;Cie.exports=function(e,r){var o=Object.assign({flipBackslashes:!0},r);o.flipBackslashes&&jZe&&e.indexOf(dO)<0&&(e=e.replace(GZe,dO)),WZe.test(e)&&(e+=dO),e+="a";do e=qZe(e);while(HZe(e)||YZe.test(e));return e.replace(KZe,"$1")}});var xie=_(Mr=>{"use strict";Object.defineProperty(Mr,"__esModule",{value:!0});Mr.removeDuplicateSlashes=Mr.matchAny=Mr.convertPatternsToRe=Mr.makeRe=Mr.getPatternParts=Mr.expandBraceExpansion=Mr.expandPatternsWithBraceExpansion=Mr.isAffectDepthOfReadingPattern=Mr.endsWithSlashGlobStar=Mr.hasGlobStar=Mr.getBaseDirectory=Mr.isPatternRelatedToParentDirectory=Mr.getPatternsOutsideCurrentDirectory=Mr.getPatternsInsideCurrentDirectory=Mr.getPositivePatterns=Mr.getNegativePatterns=Mr.isPositivePattern=Mr.isNegativePattern=Mr.convertToNegativePattern=Mr.convertToPositivePattern=Mr.isDynamicPattern=Mr.isStaticPattern=void 0;var VZe=ve("path"),JZe=Iie(),mO=Xo(),wie="**",zZe="\\",XZe=/[*?]|^!/,ZZe=/\[[^[]*]/,$Ze=/(?:^|[^!*+?@])\([^(]*\|[^|]*\)/,e$e=/[!*+?@]\([^(]*\)/,t$e=/,|\.\./,r$e=/(?!^)\/{2,}/g;function Bie(t,e={}){return!vie(t,e)}Mr.isStaticPattern=Bie;function vie(t,e={}){return t===""?!1:!!(e.caseSensitiveMatch===!1||t.includes(zZe)||XZe.test(t)||ZZe.test(t)||$Ze.test(t)||e.extglob!==!1&&e$e.test(t)||e.braceExpansion!==!1&&n$e(t))}Mr.isDynamicPattern=vie;function n$e(t){let e=t.indexOf("{");if(e===-1)return!1;let r=t.indexOf("}",e+1);if(r===-1)return!1;let o=t.slice(e,r);return t$e.test(o)}function i$e(t){return GS(t)?t.slice(1):t}Mr.convertToPositivePattern=i$e;function s$e(t){return"!"+t}Mr.convertToNegativePattern=s$e;function GS(t){return t.startsWith("!")&&t[1]!=="("}Mr.isNegativePattern=GS;function Die(t){return!GS(t)}Mr.isPositivePattern=Die;function o$e(t){return t.filter(GS)}Mr.getNegativePatterns=o$e;function a$e(t){return t.filter(Die)}Mr.getPositivePatterns=a$e;function l$e(t){return t.filter(e=>!yO(e))}Mr.getPatternsInsideCurrentDirectory=l$e;function c$e(t){return t.filter(yO)}Mr.getPatternsOutsideCurrentDirectory=c$e;function yO(t){return t.startsWith("..")||t.startsWith("./..")}Mr.isPatternRelatedToParentDirectory=yO;function u$e(t){return JZe(t,{flipBackslashes:!1})}Mr.getBaseDirectory=u$e;function A$e(t){return t.includes(wie)}Mr.hasGlobStar=A$e;function Pie(t){return t.endsWith("/"+wie)}Mr.endsWithSlashGlobStar=Pie;function f$e(t){let e=VZe.basename(t);return Pie(t)||Bie(e)}Mr.isAffectDepthOfReadingPattern=f$e;function p$e(t){return t.reduce((e,r)=>e.concat(Sie(r)),[])}Mr.expandPatternsWithBraceExpansion=p$e;function Sie(t){let e=mO.braces(t,{expand:!0,nodupes:!0,keepEscaping:!0});return e.sort((r,o)=>r.length-o.length),e.filter(r=>r!=="")}Mr.expandBraceExpansion=Sie;function h$e(t,e){let{parts:r}=mO.scan(t,Object.assign(Object.assign({},e),{parts:!0}));return r.length===0&&(r=[t]),r[0].startsWith("/")&&(r[0]=r[0].slice(1),r.unshift("")),r}Mr.getPatternParts=h$e;function bie(t,e){return mO.makeRe(t,e)}Mr.makeRe=bie;function g$e(t,e){return t.map(r=>bie(r,e))}Mr.convertPatternsToRe=g$e;function d$e(t,e){return e.some(r=>r.test(t))}Mr.matchAny=d$e;function m$e(t){return t.replace(r$e,"/")}Mr.removeDuplicateSlashes=m$e});var Rie=_((pTt,Fie)=>{"use strict";var y$e=ve("stream"),kie=y$e.PassThrough,E$e=Array.prototype.slice;Fie.exports=C$e;function C$e(){let t=[],e=E$e.call(arguments),r=!1,o=e[e.length-1];o&&!Array.isArray(o)&&o.pipe==null?e.pop():o={};let a=o.end!==!1,n=o.pipeError===!0;o.objectMode==null&&(o.objectMode=!0),o.highWaterMark==null&&(o.highWaterMark=64*1024);let u=kie(o);function A(){for(let E=0,w=arguments.length;E<w;E++)t.push(Qie(arguments[E],o));return p(),this}function p(){if(r)return;r=!0;let E=t.shift();if(!E){process.nextTick(h);return}Array.isArray(E)||(E=[E]);let w=E.length+1;function D(){--w>0||(r=!1,p())}function x(C){function T(){C.removeListener("merge2UnpipeEnd",T),C.removeListener("end",T),n&&C.removeListener("error",L),D()}function L(U){u.emit("error",U)}if(C._readableState.endEmitted)return D();C.on("merge2UnpipeEnd",T),C.on("end",T),n&&C.on("error",L),C.pipe(u,{end:!1}),C.resume()}for(let C=0;C<E.length;C++)x(E[C]);D()}function h(){r=!1,u.emit("queueDrain"),a&&u.end()}return u.setMaxListeners(0),u.add=A,u.on("unpipe",function(E){E.emit("merge2UnpipeEnd")}),e.length&&A.apply(null,e),u}function Qie(t,e){if(Array.isArray(t))for(let r=0,o=t.length;r<o;r++)t[r]=Qie(t[r],e);else{if(!t._readableState&&t.pipe&&(t=t.pipe(kie(e))),!t._readableState||!t.pause||!t.pipe)throw new Error("Only readable stream can be merged.");t.pause()}return t}});var Nie=_(WS=>{"use strict";Object.defineProperty(WS,"__esModule",{value:!0});WS.merge=void 0;var I$e=Rie();function w$e(t){let e=I$e(t);return t.forEach(r=>{r.once("error",o=>e.emit("error",o))}),e.once("close",()=>Tie(t)),e.once("end",()=>Tie(t)),e}WS.merge=w$e;function Tie(t){t.forEach(e=>e.emit("close"))}});var Lie=_(ny=>{"use strict";Object.defineProperty(ny,"__esModule",{value:!0});ny.isEmpty=ny.isString=void 0;function B$e(t){return typeof t=="string"}ny.isString=B$e;function v$e(t){return t===""}ny.isEmpty=v$e});var Df=_(wo=>{"use strict";Object.defineProperty(wo,"__esModule",{value:!0});wo.string=wo.stream=wo.pattern=wo.path=wo.fs=wo.errno=wo.array=void 0;var D$e=lie();wo.array=D$e;var P$e=cie();wo.errno=P$e;var S$e=uie();wo.fs=S$e;var b$e=hie();wo.path=b$e;var x$e=xie();wo.pattern=x$e;var k$e=Nie();wo.stream=k$e;var Q$e=Lie();wo.string=Q$e});var _ie=_(Bo=>{"use strict";Object.defineProperty(Bo,"__esModule",{value:!0});Bo.convertPatternGroupToTask=Bo.convertPatternGroupsToTasks=Bo.groupPatternsByBaseDirectory=Bo.getNegativePatternsAsPositive=Bo.getPositivePatterns=Bo.convertPatternsToTasks=Bo.generate=void 0;var Kc=Df();function F$e(t,e){let r=Oie(t,e),o=Oie(e.ignore,e),a=Mie(r),n=Uie(r,o),u=a.filter(E=>Kc.pattern.isStaticPattern(E,e)),A=a.filter(E=>Kc.pattern.isDynamicPattern(E,e)),p=EO(u,n,!1),h=EO(A,n,!0);return p.concat(h)}Bo.generate=F$e;function Oie(t,e){let r=t;return e.braceExpansion&&(r=Kc.pattern.expandPatternsWithBraceExpansion(r)),e.baseNameMatch&&(r=r.map(o=>o.includes("/")?o:`**/${o}`)),r.map(o=>Kc.pattern.removeDuplicateSlashes(o))}function EO(t,e,r){let o=[],a=Kc.pattern.getPatternsOutsideCurrentDirectory(t),n=Kc.pattern.getPatternsInsideCurrentDirectory(t),u=CO(a),A=CO(n);return o.push(...IO(u,e,r)),"."in A?o.push(wO(".",n,e,r)):o.push(...IO(A,e,r)),o}Bo.convertPatternsToTasks=EO;function Mie(t){return Kc.pattern.getPositivePatterns(t)}Bo.getPositivePatterns=Mie;function Uie(t,e){return Kc.pattern.getNegativePatterns(t).concat(e).map(Kc.pattern.convertToPositivePattern)}Bo.getNegativePatternsAsPositive=Uie;function CO(t){let e={};return t.reduce((r,o)=>{let a=Kc.pattern.getBaseDirectory(o);return a in r?r[a].push(o):r[a]=[o],r},e)}Bo.groupPatternsByBaseDirectory=CO;function IO(t,e,r){return Object.keys(t).map(o=>wO(o,t[o],e,r))}Bo.convertPatternGroupsToTasks=IO;function wO(t,e,r,o){return{dynamic:o,positive:e,negative:r,base:t,patterns:[].concat(e,r.map(Kc.pattern.convertToNegativePattern))}}Bo.convertPatternGroupToTask=wO});var qie=_(YS=>{"use strict";Object.defineProperty(YS,"__esModule",{value:!0});YS.read=void 0;function R$e(t,e,r){e.fs.lstat(t,(o,a)=>{if(o!==null){Hie(r,o);return}if(!a.isSymbolicLink()||!e.followSymbolicLink){BO(r,a);return}e.fs.stat(t,(n,u)=>{if(n!==null){if(e.throwErrorOnBrokenSymbolicLink){Hie(r,n);return}BO(r,a);return}e.markSymbolicLink&&(u.isSymbolicLink=()=>!0),BO(r,u)})})}YS.read=R$e;function Hie(t,e){t(e)}function BO(t,e){t(null,e)}});var jie=_(KS=>{"use strict";Object.defineProperty(KS,"__esModule",{value:!0});KS.read=void 0;function T$e(t,e){let r=e.fs.lstatSync(t);if(!r.isSymbolicLink()||!e.followSymbolicLink)return r;try{let o=e.fs.statSync(t);return e.markSymbolicLink&&(o.isSymbolicLink=()=>!0),o}catch(o){if(!e.throwErrorOnBrokenSymbolicLink)return r;throw o}}KS.read=T$e});var Gie=_(th=>{"use strict";Object.defineProperty(th,"__esModule",{value:!0});th.createFileSystemAdapter=th.FILE_SYSTEM_ADAPTER=void 0;var VS=ve("fs");th.FILE_SYSTEM_ADAPTER={lstat:VS.lstat,stat:VS.stat,lstatSync:VS.lstatSync,statSync:VS.statSync};function N$e(t){return t===void 0?th.FILE_SYSTEM_ADAPTER:Object.assign(Object.assign({},th.FILE_SYSTEM_ADAPTER),t)}th.createFileSystemAdapter=N$e});var Wie=_(DO=>{"use strict";Object.defineProperty(DO,"__esModule",{value:!0});var L$e=Gie(),vO=class{constructor(e={}){this._options=e,this.followSymbolicLink=this._getValue(this._options.followSymbolicLink,!0),this.fs=L$e.createFileSystemAdapter(this._options.fs),this.markSymbolicLink=this._getValue(this._options.markSymbolicLink,!1),this.throwErrorOnBrokenSymbolicLink=this._getValue(this._options.throwErrorOnBrokenSymbolicLink,!0)}_getValue(e,r){return e??r}};DO.default=vO});var wg=_(rh=>{"use strict";Object.defineProperty(rh,"__esModule",{value:!0});rh.statSync=rh.stat=rh.Settings=void 0;var Yie=qie(),O$e=jie(),PO=Wie();rh.Settings=PO.default;function M$e(t,e,r){if(typeof e=="function"){Yie.read(t,SO(),e);return}Yie.read(t,SO(e),r)}rh.stat=M$e;function U$e(t,e){let r=SO(e);return O$e.read(t,r)}rh.statSync=U$e;function SO(t={}){return t instanceof PO.default?t:new PO.default(t)}});var Jie=_((BTt,Vie)=>{var Kie;Vie.exports=typeof queueMicrotask=="function"?queueMicrotask.bind(typeof window<"u"?window:global):t=>(Kie||(Kie=Promise.resolve())).then(t).catch(e=>setTimeout(()=>{throw e},0))});var Xie=_((vTt,zie)=>{zie.exports=H$e;var _$e=Jie();function H$e(t,e){let r,o,a,n=!0;Array.isArray(t)?(r=[],o=t.length):(a=Object.keys(t),r={},o=a.length);function u(p){function h(){e&&e(p,r),e=null}n?_$e(h):h()}function A(p,h,E){r[p]=E,(--o===0||h)&&u(h)}o?a?a.forEach(function(p){t[p](function(h,E){A(p,h,E)})}):t.forEach(function(p,h){p(function(E,w){A(h,E,w)})}):u(null),n=!1}});var bO=_(zS=>{"use strict";Object.defineProperty(zS,"__esModule",{value:!0});zS.IS_SUPPORT_READDIR_WITH_FILE_TYPES=void 0;var JS=process.versions.node.split(".");if(JS[0]===void 0||JS[1]===void 0)throw new Error(`Unexpected behavior. The 'process.versions.node' variable has invalid value: ${process.versions.node}`);var Zie=Number.parseInt(JS[0],10),q$e=Number.parseInt(JS[1],10),$ie=10,j$e=10,G$e=Zie>$ie,W$e=Zie===$ie&&q$e>=j$e;zS.IS_SUPPORT_READDIR_WITH_FILE_TYPES=G$e||W$e});var ese=_(XS=>{"use strict";Object.defineProperty(XS,"__esModule",{value:!0});XS.createDirentFromStats=void 0;var xO=class{constructor(e,r){this.name=e,this.isBlockDevice=r.isBlockDevice.bind(r),this.isCharacterDevice=r.isCharacterDevice.bind(r),this.isDirectory=r.isDirectory.bind(r),this.isFIFO=r.isFIFO.bind(r),this.isFile=r.isFile.bind(r),this.isSocket=r.isSocket.bind(r),this.isSymbolicLink=r.isSymbolicLink.bind(r)}};function Y$e(t,e){return new xO(t,e)}XS.createDirentFromStats=Y$e});var kO=_(ZS=>{"use strict";Object.defineProperty(ZS,"__esModule",{value:!0});ZS.fs=void 0;var K$e=ese();ZS.fs=K$e});var QO=_($S=>{"use strict";Object.defineProperty($S,"__esModule",{value:!0});$S.joinPathSegments=void 0;function V$e(t,e,r){return t.endsWith(r)?t+e:t+r+e}$S.joinPathSegments=V$e});var ose=_(nh=>{"use strict";Object.defineProperty(nh,"__esModule",{value:!0});nh.readdir=nh.readdirWithFileTypes=nh.read=void 0;var J$e=wg(),tse=Xie(),z$e=bO(),rse=kO(),nse=QO();function X$e(t,e,r){if(!e.stats&&z$e.IS_SUPPORT_READDIR_WITH_FILE_TYPES){ise(t,e,r);return}sse(t,e,r)}nh.read=X$e;function ise(t,e,r){e.fs.readdir(t,{withFileTypes:!0},(o,a)=>{if(o!==null){eb(r,o);return}let n=a.map(A=>({dirent:A,name:A.name,path:nse.joinPathSegments(t,A.name,e.pathSegmentSeparator)}));if(!e.followSymbolicLinks){FO(r,n);return}let u=n.map(A=>Z$e(A,e));tse(u,(A,p)=>{if(A!==null){eb(r,A);return}FO(r,p)})})}nh.readdirWithFileTypes=ise;function Z$e(t,e){return r=>{if(!t.dirent.isSymbolicLink()){r(null,t);return}e.fs.stat(t.path,(o,a)=>{if(o!==null){if(e.throwErrorOnBrokenSymbolicLink){r(o);return}r(null,t);return}t.dirent=rse.fs.createDirentFromStats(t.name,a),r(null,t)})}}function sse(t,e,r){e.fs.readdir(t,(o,a)=>{if(o!==null){eb(r,o);return}let n=a.map(u=>{let A=nse.joinPathSegments(t,u,e.pathSegmentSeparator);return p=>{J$e.stat(A,e.fsStatSettings,(h,E)=>{if(h!==null){p(h);return}let w={name:u,path:A,dirent:rse.fs.createDirentFromStats(u,E)};e.stats&&(w.stats=E),p(null,w)})}});tse(n,(u,A)=>{if(u!==null){eb(r,u);return}FO(r,A)})})}nh.readdir=sse;function eb(t,e){t(e)}function FO(t,e){t(null,e)}});var Ase=_(ih=>{"use strict";Object.defineProperty(ih,"__esModule",{value:!0});ih.readdir=ih.readdirWithFileTypes=ih.read=void 0;var $$e=wg(),eet=bO(),ase=kO(),lse=QO();function tet(t,e){return!e.stats&&eet.IS_SUPPORT_READDIR_WITH_FILE_TYPES?cse(t,e):use(t,e)}ih.read=tet;function cse(t,e){return e.fs.readdirSync(t,{withFileTypes:!0}).map(o=>{let a={dirent:o,name:o.name,path:lse.joinPathSegments(t,o.name,e.pathSegmentSeparator)};if(a.dirent.isSymbolicLink()&&e.followSymbolicLinks)try{let n=e.fs.statSync(a.path);a.dirent=ase.fs.createDirentFromStats(a.name,n)}catch(n){if(e.throwErrorOnBrokenSymbolicLink)throw n}return a})}ih.readdirWithFileTypes=cse;function use(t,e){return e.fs.readdirSync(t).map(o=>{let a=lse.joinPathSegments(t,o,e.pathSegmentSeparator),n=$$e.statSync(a,e.fsStatSettings),u={name:o,path:a,dirent:ase.fs.createDirentFromStats(o,n)};return e.stats&&(u.stats=n),u})}ih.readdir=use});var fse=_(sh=>{"use strict";Object.defineProperty(sh,"__esModule",{value:!0});sh.createFileSystemAdapter=sh.FILE_SYSTEM_ADAPTER=void 0;var iy=ve("fs");sh.FILE_SYSTEM_ADAPTER={lstat:iy.lstat,stat:iy.stat,lstatSync:iy.lstatSync,statSync:iy.statSync,readdir:iy.readdir,readdirSync:iy.readdirSync};function ret(t){return t===void 0?sh.FILE_SYSTEM_ADAPTER:Object.assign(Object.assign({},sh.FILE_SYSTEM_ADAPTER),t)}sh.createFileSystemAdapter=ret});var pse=_(TO=>{"use strict";Object.defineProperty(TO,"__esModule",{value:!0});var net=ve("path"),iet=wg(),set=fse(),RO=class{constructor(e={}){this._options=e,this.followSymbolicLinks=this._getValue(this._options.followSymbolicLinks,!1),this.fs=set.createFileSystemAdapter(this._options.fs),this.pathSegmentSeparator=this._getValue(this._options.pathSegmentSeparator,net.sep),this.stats=this._getValue(this._options.stats,!1),this.throwErrorOnBrokenSymbolicLink=this._getValue(this._options.throwErrorOnBrokenSymbolicLink,!0),this.fsStatSettings=new iet.Settings({followSymbolicLink:this.followSymbolicLinks,fs:this.fs,throwErrorOnBrokenSymbolicLink:this.throwErrorOnBrokenSymbolicLink})}_getValue(e,r){return e??r}};TO.default=RO});var tb=_(oh=>{"use strict";Object.defineProperty(oh,"__esModule",{value:!0});oh.Settings=oh.scandirSync=oh.scandir=void 0;var hse=ose(),oet=Ase(),NO=pse();oh.Settings=NO.default;function aet(t,e,r){if(typeof e=="function"){hse.read(t,LO(),e);return}hse.read(t,LO(e),r)}oh.scandir=aet;function cet(t,e){let r=LO(e);return oet.read(t,r)}oh.scandirSync=cet;function LO(t={}){return t instanceof NO.default?t:new NO.default(t)}});var dse=_((TTt,gse)=>{"use strict";function uet(t){var e=new t,r=e;function o(){var n=e;return n.next?e=n.next:(e=new t,r=e),n.next=null,n}function a(n){r.next=n,r=n}return{get:o,release:a}}gse.exports=uet});var yse=_((NTt,OO)=>{"use strict";var Aet=dse();function mse(t,e,r){if(typeof t=="function"&&(r=e,e=t,t=null),!(r>=1))throw new Error("fastqueue concurrency must be equal to or greater than 1");var o=Aet(fet),a=null,n=null,u=0,A=null,p={push:T,drain:Yl,saturated:Yl,pause:E,paused:!1,get concurrency(){return r},set concurrency(ce){if(!(ce>=1))throw new Error("fastqueue concurrency must be equal to or greater than 1");if(r=ce,!p.paused)for(;a&&u<r;)u++,U()},running:h,resume:x,idle:C,length:w,getQueue:D,unshift:L,empty:Yl,kill:J,killAndDrain:te,error:le};return p;function h(){return u}function E(){p.paused=!0}function w(){for(var ce=a,ue=0;ce;)ce=ce.next,ue++;return ue}function D(){for(var ce=a,ue=[];ce;)ue.push(ce.value),ce=ce.next;return ue}function x(){if(p.paused){if(p.paused=!1,a===null){u++,U();return}for(;a&&u<r;)u++,U()}}function C(){return u===0&&p.length()===0}function T(ce,ue){var Ie=o.get();Ie.context=t,Ie.release=U,Ie.value=ce,Ie.callback=ue||Yl,Ie.errorHandler=A,u>=r||p.paused?n?(n.next=Ie,n=Ie):(a=Ie,n=Ie,p.saturated()):(u++,e.call(t,Ie.value,Ie.worked))}function L(ce,ue){var Ie=o.get();Ie.context=t,Ie.release=U,Ie.value=ce,Ie.callback=ue||Yl,Ie.errorHandler=A,u>=r||p.paused?a?(Ie.next=a,a=Ie):(a=Ie,n=Ie,p.saturated()):(u++,e.call(t,Ie.value,Ie.worked))}function U(ce){ce&&o.release(ce);var ue=a;ue&&u<=r?p.paused?u--:(n===a&&(n=null),a=ue.next,ue.next=null,e.call(t,ue.value,ue.worked),n===null&&p.empty()):--u===0&&p.drain()}function J(){a=null,n=null,p.drain=Yl}function te(){a=null,n=null,p.drain(),p.drain=Yl}function le(ce){A=ce}}function Yl(){}function fet(){this.value=null,this.callback=Yl,this.next=null,this.release=Yl,this.context=null,this.errorHandler=null;var t=this;this.worked=function(r,o){var a=t.callback,n=t.errorHandler,u=t.value;t.value=null,t.callback=Yl,t.errorHandler&&n(r,u),a.call(t.context,r,o),t.release(t)}}function pet(t,e,r){typeof t=="function"&&(r=e,e=t,t=null);function o(E,w){e.call(this,E).then(function(D){w(null,D)},w)}var a=mse(t,o,r),n=a.push,u=a.unshift;return a.push=A,a.unshift=p,a.drained=h,a;function A(E){var w=new Promise(function(D,x){n(E,function(C,T){if(C){x(C);return}D(T)})});return w.catch(Yl),w}function p(E){var w=new Promise(function(D,x){u(E,function(C,T){if(C){x(C);return}D(T)})});return w.catch(Yl),w}function h(){if(a.idle())return new Promise(function(D){D()});var E=a.drain,w=new Promise(function(D){a.drain=function(){E(),D()}});return w}}OO.exports=mse;OO.exports.promise=pet});var rb=_(eA=>{"use strict";Object.defineProperty(eA,"__esModule",{value:!0});eA.joinPathSegments=eA.replacePathSegmentSeparator=eA.isAppliedFilter=eA.isFatalError=void 0;function het(t,e){return t.errorFilter===null?!0:!t.errorFilter(e)}eA.isFatalError=het;function get(t,e){return t===null||t(e)}eA.isAppliedFilter=get;function det(t,e){return t.split(/[/\\]/).join(e)}eA.replacePathSegmentSeparator=det;function met(t,e,r){return t===""?e:t.endsWith(r)?t+e:t+r+e}eA.joinPathSegments=met});var _O=_(UO=>{"use strict";Object.defineProperty(UO,"__esModule",{value:!0});var yet=rb(),MO=class{constructor(e,r){this._root=e,this._settings=r,this._root=yet.replacePathSegmentSeparator(e,r.pathSegmentSeparator)}};UO.default=MO});var jO=_(qO=>{"use strict";Object.defineProperty(qO,"__esModule",{value:!0});var Eet=ve("events"),Cet=tb(),Iet=yse(),nb=rb(),wet=_O(),HO=class extends wet.default{constructor(e,r){super(e,r),this._settings=r,this._scandir=Cet.scandir,this._emitter=new Eet.EventEmitter,this._queue=Iet(this._worker.bind(this),this._settings.concurrency),this._isFatalError=!1,this._isDestroyed=!1,this._queue.drain=()=>{this._isFatalError||this._emitter.emit("end")}}read(){return this._isFatalError=!1,this._isDestroyed=!1,setImmediate(()=>{this._pushToQueue(this._root,this._settings.basePath)}),this._emitter}get isDestroyed(){return this._isDestroyed}destroy(){if(this._isDestroyed)throw new Error("The reader is already destroyed");this._isDestroyed=!0,this._queue.killAndDrain()}onEntry(e){this._emitter.on("entry",e)}onError(e){this._emitter.once("error",e)}onEnd(e){this._emitter.once("end",e)}_pushToQueue(e,r){let o={directory:e,base:r};this._queue.push(o,a=>{a!==null&&this._handleError(a)})}_worker(e,r){this._scandir(e.directory,this._settings.fsScandirSettings,(o,a)=>{if(o!==null){r(o,void 0);return}for(let n of a)this._handleEntry(n,e.base);r(null,void 0)})}_handleError(e){this._isDestroyed||!nb.isFatalError(this._settings,e)||(this._isFatalError=!0,this._isDestroyed=!0,this._emitter.emit("error",e))}_handleEntry(e,r){if(this._isDestroyed||this._isFatalError)return;let o=e.path;r!==void 0&&(e.path=nb.joinPathSegments(r,e.name,this._settings.pathSegmentSeparator)),nb.isAppliedFilter(this._settings.entryFilter,e)&&this._emitEntry(e),e.dirent.isDirectory()&&nb.isAppliedFilter(this._settings.deepFilter,e)&&this._pushToQueue(o,r===void 0?void 0:e.path)}_emitEntry(e){this._emitter.emit("entry",e)}};qO.default=HO});var Ese=_(WO=>{"use strict";Object.defineProperty(WO,"__esModule",{value:!0});var Bet=jO(),GO=class{constructor(e,r){this._root=e,this._settings=r,this._reader=new Bet.default(this._root,this._settings),this._storage=[]}read(e){this._reader.onError(r=>{vet(e,r)}),this._reader.onEntry(r=>{this._storage.push(r)}),this._reader.onEnd(()=>{Det(e,this._storage)}),this._reader.read()}};WO.default=GO;function vet(t,e){t(e)}function Det(t,e){t(null,e)}});var Cse=_(KO=>{"use strict";Object.defineProperty(KO,"__esModule",{value:!0});var Pet=ve("stream"),bet=jO(),YO=class{constructor(e,r){this._root=e,this._settings=r,this._reader=new bet.default(this._root,this._settings),this._stream=new Pet.Readable({objectMode:!0,read:()=>{},destroy:()=>{this._reader.isDestroyed||this._reader.destroy()}})}read(){return this._reader.onError(e=>{this._stream.emit("error",e)}),this._reader.onEntry(e=>{this._stream.push(e)}),this._reader.onEnd(()=>{this._stream.push(null)}),this._reader.read(),this._stream}};KO.default=YO});var Ise=_(JO=>{"use strict";Object.defineProperty(JO,"__esModule",{value:!0});var xet=tb(),ib=rb(),ket=_O(),VO=class extends ket.default{constructor(){super(...arguments),this._scandir=xet.scandirSync,this._storage=[],this._queue=new Set}read(){return this._pushToQueue(this._root,this._settings.basePath),this._handleQueue(),this._storage}_pushToQueue(e,r){this._queue.add({directory:e,base:r})}_handleQueue(){for(let e of this._queue.values())this._handleDirectory(e.directory,e.base)}_handleDirectory(e,r){try{let o=this._scandir(e,this._settings.fsScandirSettings);for(let a of o)this._handleEntry(a,r)}catch(o){this._handleError(o)}}_handleError(e){if(ib.isFatalError(this._settings,e))throw e}_handleEntry(e,r){let o=e.path;r!==void 0&&(e.path=ib.joinPathSegments(r,e.name,this._settings.pathSegmentSeparator)),ib.isAppliedFilter(this._settings.entryFilter,e)&&this._pushToStorage(e),e.dirent.isDirectory()&&ib.isAppliedFilter(this._settings.deepFilter,e)&&this._pushToQueue(o,r===void 0?void 0:e.path)}_pushToStorage(e){this._storage.push(e)}};JO.default=VO});var wse=_(XO=>{"use strict";Object.defineProperty(XO,"__esModule",{value:!0});var Qet=Ise(),zO=class{constructor(e,r){this._root=e,this._settings=r,this._reader=new Qet.default(this._root,this._settings)}read(){return this._reader.read()}};XO.default=zO});var Bse=_($O=>{"use strict";Object.defineProperty($O,"__esModule",{value:!0});var Fet=ve("path"),Ret=tb(),ZO=class{constructor(e={}){this._options=e,this.basePath=this._getValue(this._options.basePath,void 0),this.concurrency=this._getValue(this._options.concurrency,Number.POSITIVE_INFINITY),this.deepFilter=this._getValue(this._options.deepFilter,null),this.entryFilter=this._getValue(this._options.entryFilter,null),this.errorFilter=this._getValue(this._options.errorFilter,null),this.pathSegmentSeparator=this._getValue(this._options.pathSegmentSeparator,Fet.sep),this.fsScandirSettings=new Ret.Settings({followSymbolicLinks:this._options.followSymbolicLinks,fs:this._options.fs,pathSegmentSeparator:this._options.pathSegmentSeparator,stats:this._options.stats,throwErrorOnBrokenSymbolicLink:this._options.throwErrorOnBrokenSymbolicLink})}_getValue(e,r){return e??r}};$O.default=ZO});var ob=_(tA=>{"use strict";Object.defineProperty(tA,"__esModule",{value:!0});tA.Settings=tA.walkStream=tA.walkSync=tA.walk=void 0;var vse=Ese(),Tet=Cse(),Net=wse(),eM=Bse();tA.Settings=eM.default;function Let(t,e,r){if(typeof e=="function"){new vse.default(t,sb()).read(e);return}new vse.default(t,sb(e)).read(r)}tA.walk=Let;function Oet(t,e){let r=sb(e);return new Net.default(t,r).read()}tA.walkSync=Oet;function Met(t,e){let r=sb(e);return new Tet.default(t,r).read()}tA.walkStream=Met;function sb(t={}){return t instanceof eM.default?t:new eM.default(t)}});var ab=_(rM=>{"use strict";Object.defineProperty(rM,"__esModule",{value:!0});var Uet=ve("path"),_et=wg(),Dse=Df(),tM=class{constructor(e){this._settings=e,this._fsStatSettings=new _et.Settings({followSymbolicLink:this._settings.followSymbolicLinks,fs:this._settings.fs,throwErrorOnBrokenSymbolicLink:this._settings.followSymbolicLinks})}_getFullEntryPath(e){return Uet.resolve(this._settings.cwd,e)}_makeEntry(e,r){let o={name:r,path:r,dirent:Dse.fs.createDirentFromStats(r,e)};return this._settings.stats&&(o.stats=e),o}_isFatalError(e){return!Dse.errno.isEnoentCodeError(e)&&!this._settings.suppressErrors}};rM.default=tM});var sM=_(iM=>{"use strict";Object.defineProperty(iM,"__esModule",{value:!0});var Het=ve("stream"),qet=wg(),jet=ob(),Get=ab(),nM=class extends Get.default{constructor(){super(...arguments),this._walkStream=jet.walkStream,this._stat=qet.stat}dynamic(e,r){return this._walkStream(e,r)}static(e,r){let o=e.map(this._getFullEntryPath,this),a=new Het.PassThrough({objectMode:!0});a._write=(n,u,A)=>this._getEntry(o[n],e[n],r).then(p=>{p!==null&&r.entryFilter(p)&&a.push(p),n===o.length-1&&a.end(),A()}).catch(A);for(let n=0;n<o.length;n++)a.write(n);return a}_getEntry(e,r,o){return this._getStat(e).then(a=>this._makeEntry(a,r)).catch(a=>{if(o.errorFilter(a))return null;throw a})}_getStat(e){return new Promise((r,o)=>{this._stat(e,this._fsStatSettings,(a,n)=>a===null?r(n):o(a))})}};iM.default=nM});var Pse=_(aM=>{"use strict";Object.defineProperty(aM,"__esModule",{value:!0});var Wet=ob(),Yet=ab(),Ket=sM(),oM=class extends Yet.default{constructor(){super(...arguments),this._walkAsync=Wet.walk,this._readerStream=new Ket.default(this._settings)}dynamic(e,r){return new Promise((o,a)=>{this._walkAsync(e,r,(n,u)=>{n===null?o(u):a(n)})})}async static(e,r){let o=[],a=this._readerStream.static(e,r);return new Promise((n,u)=>{a.once("error",u),a.on("data",A=>o.push(A)),a.once("end",()=>n(o))})}};aM.default=oM});var Sse=_(cM=>{"use strict";Object.defineProperty(cM,"__esModule",{value:!0});var m1=Df(),lM=class{constructor(e,r,o){this._patterns=e,this._settings=r,this._micromatchOptions=o,this._storage=[],this._fillStorage()}_fillStorage(){for(let e of this._patterns){let r=this._getPatternSegments(e),o=this._splitSegmentsIntoSections(r);this._storage.push({complete:o.length<=1,pattern:e,segments:r,sections:o})}}_getPatternSegments(e){return m1.pattern.getPatternParts(e,this._micromatchOptions).map(o=>m1.pattern.isDynamicPattern(o,this._settings)?{dynamic:!0,pattern:o,patternRe:m1.pattern.makeRe(o,this._micromatchOptions)}:{dynamic:!1,pattern:o})}_splitSegmentsIntoSections(e){return m1.array.splitWhen(e,r=>r.dynamic&&m1.pattern.hasGlobStar(r.pattern))}};cM.default=lM});var bse=_(AM=>{"use strict";Object.defineProperty(AM,"__esModule",{value:!0});var Vet=Sse(),uM=class extends Vet.default{match(e){let r=e.split("/"),o=r.length,a=this._storage.filter(n=>!n.complete||n.segments.length>o);for(let n of a){let u=n.sections[0];if(!n.complete&&o>u.length||r.every((p,h)=>{let E=n.segments[h];return!!(E.dynamic&&E.patternRe.test(p)||!E.dynamic&&E.pattern===p)}))return!0}return!1}};AM.default=uM});var xse=_(pM=>{"use strict";Object.defineProperty(pM,"__esModule",{value:!0});var lb=Df(),Jet=bse(),fM=class{constructor(e,r){this._settings=e,this._micromatchOptions=r}getFilter(e,r,o){let a=this._getMatcher(r),n=this._getNegativePatternsRe(o);return u=>this._filter(e,u,a,n)}_getMatcher(e){return new Jet.default(e,this._settings,this._micromatchOptions)}_getNegativePatternsRe(e){let r=e.filter(lb.pattern.isAffectDepthOfReadingPattern);return lb.pattern.convertPatternsToRe(r,this._micromatchOptions)}_filter(e,r,o,a){if(this._isSkippedByDeep(e,r.path)||this._isSkippedSymbolicLink(r))return!1;let n=lb.path.removeLeadingDotSegment(r.path);return this._isSkippedByPositivePatterns(n,o)?!1:this._isSkippedByNegativePatterns(n,a)}_isSkippedByDeep(e,r){return this._settings.deep===1/0?!1:this._getEntryLevel(e,r)>=this._settings.deep}_getEntryLevel(e,r){let o=r.split("/").length;if(e==="")return o;let a=e.split("/").length;return o-a}_isSkippedSymbolicLink(e){return!this._settings.followSymbolicLinks&&e.dirent.isSymbolicLink()}_isSkippedByPositivePatterns(e,r){return!this._settings.baseNameMatch&&!r.match(e)}_isSkippedByNegativePatterns(e,r){return!lb.pattern.matchAny(e,r)}};pM.default=fM});var kse=_(gM=>{"use strict";Object.defineProperty(gM,"__esModule",{value:!0});var Bg=Df(),hM=class{constructor(e,r){this._settings=e,this._micromatchOptions=r,this.index=new Map}getFilter(e,r){let o=Bg.pattern.convertPatternsToRe(e,this._micromatchOptions),a=Bg.pattern.convertPatternsToRe(r,Object.assign(Object.assign({},this._micromatchOptions),{dot:!0}));return n=>this._filter(n,o,a)}_filter(e,r,o){let a=Bg.path.removeLeadingDotSegment(e.path);if(this._settings.unique&&this._isDuplicateEntry(a)||this._onlyFileFilter(e)||this._onlyDirectoryFilter(e)||this._isSkippedByAbsoluteNegativePatterns(a,o))return!1;let n=e.dirent.isDirectory(),u=this._isMatchToPatterns(a,r,n)&&!this._isMatchToPatterns(a,o,n);return this._settings.unique&&u&&this._createIndexRecord(a),u}_isDuplicateEntry(e){return this.index.has(e)}_createIndexRecord(e){this.index.set(e,void 0)}_onlyFileFilter(e){return this._settings.onlyFiles&&!e.dirent.isFile()}_onlyDirectoryFilter(e){return this._settings.onlyDirectories&&!e.dirent.isDirectory()}_isSkippedByAbsoluteNegativePatterns(e,r){if(!this._settings.absolute)return!1;let o=Bg.path.makeAbsolute(this._settings.cwd,e);return Bg.pattern.matchAny(o,r)}_isMatchToPatterns(e,r,o){let a=Bg.pattern.matchAny(e,r);return!a&&o?Bg.pattern.matchAny(e+"/",r):a}};gM.default=hM});var Qse=_(mM=>{"use strict";Object.defineProperty(mM,"__esModule",{value:!0});var zet=Df(),dM=class{constructor(e){this._settings=e}getFilter(){return e=>this._isNonFatalError(e)}_isNonFatalError(e){return zet.errno.isEnoentCodeError(e)||this._settings.suppressErrors}};mM.default=dM});var Rse=_(EM=>{"use strict";Object.defineProperty(EM,"__esModule",{value:!0});var Fse=Df(),yM=class{constructor(e){this._settings=e}getTransformer(){return e=>this._transform(e)}_transform(e){let r=e.path;return this._settings.absolute&&(r=Fse.path.makeAbsolute(this._settings.cwd,r),r=Fse.path.unixify(r)),this._settings.markDirectories&&e.dirent.isDirectory()&&(r+="/"),this._settings.objectMode?Object.assign(Object.assign({},e),{path:r}):r}};EM.default=yM});var ub=_(IM=>{"use strict";Object.defineProperty(IM,"__esModule",{value:!0});var Xet=ve("path"),Zet=xse(),$et=kse(),ett=Qse(),ttt=Rse(),CM=class{constructor(e){this._settings=e,this.errorFilter=new ett.default(this._settings),this.entryFilter=new $et.default(this._settings,this._getMicromatchOptions()),this.deepFilter=new Zet.default(this._settings,this._getMicromatchOptions()),this.entryTransformer=new ttt.default(this._settings)}_getRootDirectory(e){return Xet.resolve(this._settings.cwd,e.base)}_getReaderOptions(e){let r=e.base==="."?"":e.base;return{basePath:r,pathSegmentSeparator:"/",concurrency:this._settings.concurrency,deepFilter:this.deepFilter.getFilter(r,e.positive,e.negative),entryFilter:this.entryFilter.getFilter(e.positive,e.negative),errorFilter:this.errorFilter.getFilter(),followSymbolicLinks:this._settings.followSymbolicLinks,fs:this._settings.fs,stats:this._settings.stats,throwErrorOnBrokenSymbolicLink:this._settings.throwErrorOnBrokenSymbolicLink,transform:this.entryTransformer.getTransformer()}}_getMicromatchOptions(){return{dot:this._settings.dot,matchBase:this._settings.baseNameMatch,nobrace:!this._settings.braceExpansion,nocase:!this._settings.caseSensitiveMatch,noext:!this._settings.extglob,noglobstar:!this._settings.globstar,posix:!0,strictSlashes:!1}}};IM.default=CM});var Tse=_(BM=>{"use strict";Object.defineProperty(BM,"__esModule",{value:!0});var rtt=Pse(),ntt=ub(),wM=class extends ntt.default{constructor(){super(...arguments),this._reader=new rtt.default(this._settings)}async read(e){let r=this._getRootDirectory(e),o=this._getReaderOptions(e);return(await this.api(r,e,o)).map(n=>o.transform(n))}api(e,r,o){return r.dynamic?this._reader.dynamic(e,o):this._reader.static(r.patterns,o)}};BM.default=wM});var Nse=_(DM=>{"use strict";Object.defineProperty(DM,"__esModule",{value:!0});var itt=ve("stream"),stt=sM(),ott=ub(),vM=class extends ott.default{constructor(){super(...arguments),this._reader=new stt.default(this._settings)}read(e){let r=this._getRootDirectory(e),o=this._getReaderOptions(e),a=this.api(r,e,o),n=new itt.Readable({objectMode:!0,read:()=>{}});return a.once("error",u=>n.emit("error",u)).on("data",u=>n.emit("data",o.transform(u))).once("end",()=>n.emit("end")),n.once("close",()=>a.destroy()),n}api(e,r,o){return r.dynamic?this._reader.dynamic(e,o):this._reader.static(r.patterns,o)}};DM.default=vM});var Lse=_(SM=>{"use strict";Object.defineProperty(SM,"__esModule",{value:!0});var att=wg(),ltt=ob(),ctt=ab(),PM=class extends ctt.default{constructor(){super(...arguments),this._walkSync=ltt.walkSync,this._statSync=att.statSync}dynamic(e,r){return this._walkSync(e,r)}static(e,r){let o=[];for(let a of e){let n=this._getFullEntryPath(a),u=this._getEntry(n,a,r);u===null||!r.entryFilter(u)||o.push(u)}return o}_getEntry(e,r,o){try{let a=this._getStat(e);return this._makeEntry(a,r)}catch(a){if(o.errorFilter(a))return null;throw a}}_getStat(e){return this._statSync(e,this._fsStatSettings)}};SM.default=PM});var Ose=_(xM=>{"use strict";Object.defineProperty(xM,"__esModule",{value:!0});var utt=Lse(),Att=ub(),bM=class extends Att.default{constructor(){super(...arguments),this._reader=new utt.default(this._settings)}read(e){let r=this._getRootDirectory(e),o=this._getReaderOptions(e);return this.api(r,e,o).map(o.transform)}api(e,r,o){return r.dynamic?this._reader.dynamic(e,o):this._reader.static(r.patterns,o)}};xM.default=bM});var Mse=_(oy=>{"use strict";Object.defineProperty(oy,"__esModule",{value:!0});oy.DEFAULT_FILE_SYSTEM_ADAPTER=void 0;var sy=ve("fs"),ftt=ve("os"),ptt=Math.max(ftt.cpus().length,1);oy.DEFAULT_FILE_SYSTEM_ADAPTER={lstat:sy.lstat,lstatSync:sy.lstatSync,stat:sy.stat,statSync:sy.statSync,readdir:sy.readdir,readdirSync:sy.readdirSync};var kM=class{constructor(e={}){this._options=e,this.absolute=this._getValue(this._options.absolute,!1),this.baseNameMatch=this._getValue(this._options.baseNameMatch,!1),this.braceExpansion=this._getValue(this._options.braceExpansion,!0),this.caseSensitiveMatch=this._getValue(this._options.caseSensitiveMatch,!0),this.concurrency=this._getValue(this._options.concurrency,ptt),this.cwd=this._getValue(this._options.cwd,process.cwd()),this.deep=this._getValue(this._options.deep,1/0),this.dot=this._getValue(this._options.dot,!1),this.extglob=this._getValue(this._options.extglob,!0),this.followSymbolicLinks=this._getValue(this._options.followSymbolicLinks,!0),this.fs=this._getFileSystemMethods(this._options.fs),this.globstar=this._getValue(this._options.globstar,!0),this.ignore=this._getValue(this._options.ignore,[]),this.markDirectories=this._getValue(this._options.markDirectories,!1),this.objectMode=this._getValue(this._options.objectMode,!1),this.onlyDirectories=this._getValue(this._options.onlyDirectories,!1),this.onlyFiles=this._getValue(this._options.onlyFiles,!0),this.stats=this._getValue(this._options.stats,!1),this.suppressErrors=this._getValue(this._options.suppressErrors,!1),this.throwErrorOnBrokenSymbolicLink=this._getValue(this._options.throwErrorOnBrokenSymbolicLink,!1),this.unique=this._getValue(this._options.unique,!0),this.onlyDirectories&&(this.onlyFiles=!1),this.stats&&(this.objectMode=!0),this.ignore=[].concat(this.ignore)}_getValue(e,r){return e===void 0?r:e}_getFileSystemMethods(e={}){return Object.assign(Object.assign({},oy.DEFAULT_FILE_SYSTEM_ADAPTER),e)}};oy.default=kM});var Ab=_((oNt,_se)=>{"use strict";var Use=_ie(),htt=Tse(),gtt=Nse(),dtt=Ose(),QM=Mse(),Kl=Df();async function FM(t,e){Vc(t);let r=RM(t,htt.default,e),o=await Promise.all(r);return Kl.array.flatten(o)}(function(t){t.glob=t,t.globSync=e,t.globStream=r,t.async=t;function e(h,E){Vc(h);let w=RM(h,dtt.default,E);return Kl.array.flatten(w)}t.sync=e;function r(h,E){Vc(h);let w=RM(h,gtt.default,E);return Kl.stream.merge(w)}t.stream=r;function o(h,E){Vc(h);let w=[].concat(h),D=new QM.default(E);return Use.generate(w,D)}t.generateTasks=o;function a(h,E){Vc(h);let w=new QM.default(E);return Kl.pattern.isDynamicPattern(h,w)}t.isDynamicPattern=a;function n(h){return Vc(h),Kl.path.escape(h)}t.escapePath=n;function u(h){return Vc(h),Kl.path.convertPathToPattern(h)}t.convertPathToPattern=u;let A;(function(h){function E(D){return Vc(D),Kl.path.escapePosixPath(D)}h.escapePath=E;function w(D){return Vc(D),Kl.path.convertPosixPathToPattern(D)}h.convertPathToPattern=w})(A=t.posix||(t.posix={}));let p;(function(h){function E(D){return Vc(D),Kl.path.escapeWindowsPath(D)}h.escapePath=E;function w(D){return Vc(D),Kl.path.convertWindowsPathToPattern(D)}h.convertPathToPattern=w})(p=t.win32||(t.win32={}))})(FM||(FM={}));function RM(t,e,r){let o=[].concat(t),a=new QM.default(r),n=Use.generate(o,a),u=new e(a);return n.map(u.read,u)}function Vc(t){if(![].concat(t).every(o=>Kl.string.isString(o)&&!Kl.string.isEmpty(o)))throw new TypeError("Patterns must be a string (non empty) or an array of strings")}_se.exports=FM});var xn={};Kt(xn,{checksumFile:()=>pb,checksumPattern:()=>hb,makeHash:()=>Ji});function Ji(...t){let e=(0,fb.createHash)("sha512"),r="";for(let o of t)typeof o=="string"?r+=o:o&&(r&&(e.update(r),r=""),e.update(o));return r&&e.update(r),e.digest("hex")}async function pb(t,{baseFs:e,algorithm:r}={baseFs:ae,algorithm:"sha512"}){let o=await e.openPromise(t,"r");try{let n=Buffer.allocUnsafeSlow(65536),u=(0,fb.createHash)(r),A=0;for(;(A=await e.readPromise(o,n,0,65536))!==0;)u.update(A===65536?n:n.slice(0,A));return u.digest("hex")}finally{await e.closePromise(o)}}async function hb(t,{cwd:e}){let o=(await(0,TM.default)(t,{cwd:Ae.fromPortablePath(e),onlyDirectories:!0})).map(A=>`${A}/**/*`),a=await(0,TM.default)([t,...o],{cwd:Ae.fromPortablePath(e),onlyFiles:!1});a.sort();let n=await Promise.all(a.map(async A=>{let p=[Buffer.from(A)],h=K.join(e,Ae.toPortablePath(A)),E=await ae.lstatPromise(h);return E.isSymbolicLink()?p.push(Buffer.from(await ae.readlinkPromise(h))):E.isFile()&&p.push(await ae.readFilePromise(h)),p.join("\0")})),u=(0,fb.createHash)("sha512");for(let A of n)u.update(A);return u.digest("hex")}var fb,TM,ah=It(()=>{Pt();fb=ve("crypto"),TM=et(Ab())});var G={};Kt(G,{allPeerRequests:()=>S1,areDescriptorsEqual:()=>Wse,areIdentsEqual:()=>w1,areLocatorsEqual:()=>B1,areVirtualPackagesEquivalent:()=>Dtt,bindDescriptor:()=>Btt,bindLocator:()=>vtt,convertDescriptorToLocator:()=>gb,convertLocatorToDescriptor:()=>LM,convertPackageToLocator:()=>Ctt,convertToIdent:()=>Ett,convertToManifestRange:()=>Ntt,copyPackage:()=>E1,devirtualizeDescriptor:()=>C1,devirtualizeLocator:()=>I1,ensureDevirtualizedDescriptor:()=>Itt,ensureDevirtualizedLocator:()=>wtt,getIdentVendorPath:()=>_M,isPackageCompatible:()=>Cb,isVirtualDescriptor:()=>Pf,isVirtualLocator:()=>Jc,makeDescriptor:()=>kn,makeIdent:()=>rA,makeLocator:()=>Ss,makeRange:()=>yb,parseDescriptor:()=>lh,parseFileStyleRange:()=>Rtt,parseIdent:()=>Zo,parseLocator:()=>Sf,parseRange:()=>vg,prettyDependent:()=>fO,prettyDescriptor:()=>Jn,prettyIdent:()=>Ui,prettyLocator:()=>jr,prettyLocatorNoColors:()=>AO,prettyRange:()=>cy,prettyReference:()=>D1,prettyResolution:()=>d1,prettyWorkspace:()=>P1,renamePackage:()=>OM,slugifyIdent:()=>NM,slugifyLocator:()=>ly,sortDescriptors:()=>uy,stringifyDescriptor:()=>ka,stringifyIdent:()=>rn,stringifyLocator:()=>Qa,tryParseDescriptor:()=>v1,tryParseIdent:()=>Yse,tryParseLocator:()=>mb,tryParseRange:()=>Ftt,virtualizeDescriptor:()=>MM,virtualizePackage:()=>UM});function rA(t,e){if(t?.startsWith("@"))throw new Error("Invalid scope: don't prefix it with '@'");return{identHash:Ji(t,e),scope:t,name:e}}function kn(t,e){return{identHash:t.identHash,scope:t.scope,name:t.name,descriptorHash:Ji(t.identHash,e),range:e}}function Ss(t,e){return{identHash:t.identHash,scope:t.scope,name:t.name,locatorHash:Ji(t.identHash,e),reference:e}}function Ett(t){return{identHash:t.identHash,scope:t.scope,name:t.name}}function gb(t){return{identHash:t.identHash,scope:t.scope,name:t.name,locatorHash:t.descriptorHash,reference:t.range}}function LM(t){return{identHash:t.identHash,scope:t.scope,name:t.name,descriptorHash:t.locatorHash,range:t.reference}}function Ctt(t){return{identHash:t.identHash,scope:t.scope,name:t.name,locatorHash:t.locatorHash,reference:t.reference}}function OM(t,e){return{identHash:e.identHash,scope:e.scope,name:e.name,locatorHash:e.locatorHash,reference:e.reference,version:t.version,languageName:t.languageName,linkType:t.linkType,conditions:t.conditions,dependencies:new Map(t.dependencies),peerDependencies:new Map(t.peerDependencies),dependenciesMeta:new Map(t.dependenciesMeta),peerDependenciesMeta:new Map(t.peerDependenciesMeta),bin:new Map(t.bin)}}function E1(t){return OM(t,t)}function MM(t,e){if(e.includes("#"))throw new Error("Invalid entropy");return kn(t,`virtual:${e}#${t.range}`)}function UM(t,e){if(e.includes("#"))throw new Error("Invalid entropy");return OM(t,Ss(t,`virtual:${e}#${t.reference}`))}function Pf(t){return t.range.startsWith(y1)}function Jc(t){return t.reference.startsWith(y1)}function C1(t){if(!Pf(t))throw new Error("Not a virtual descriptor");return kn(t,t.range.replace(db,""))}function I1(t){if(!Jc(t))throw new Error("Not a virtual descriptor");return Ss(t,t.reference.replace(db,""))}function Itt(t){return Pf(t)?kn(t,t.range.replace(db,"")):t}function wtt(t){return Jc(t)?Ss(t,t.reference.replace(db,"")):t}function Btt(t,e){return t.range.includes("::")?t:kn(t,`${t.range}::${ay.default.stringify(e)}`)}function vtt(t,e){return t.reference.includes("::")?t:Ss(t,`${t.reference}::${ay.default.stringify(e)}`)}function w1(t,e){return t.identHash===e.identHash}function Wse(t,e){return t.descriptorHash===e.descriptorHash}function B1(t,e){return t.locatorHash===e.locatorHash}function Dtt(t,e){if(!Jc(t))throw new Error("Invalid package type");if(!Jc(e))throw new Error("Invalid package type");if(!w1(t,e)||t.dependencies.size!==e.dependencies.size)return!1;for(let r of t.dependencies.values()){let o=e.dependencies.get(r.identHash);if(!o||!Wse(r,o))return!1}return!0}function Zo(t){let e=Yse(t);if(!e)throw new Error(`Invalid ident (${t})`);return e}function Yse(t){let e=t.match(Ptt);if(!e)return null;let[,r,o]=e;return rA(typeof r<"u"?r:null,o)}function lh(t,e=!1){let r=v1(t,e);if(!r)throw new Error(`Invalid descriptor (${t})`);return r}function v1(t,e=!1){let r=e?t.match(Stt):t.match(btt);if(!r)return null;let[,o,a,n]=r;if(n==="unknown")throw new Error(`Invalid range (${t})`);let u=typeof o<"u"?o:null,A=typeof n<"u"?n:"unknown";return kn(rA(u,a),A)}function Sf(t,e=!1){let r=mb(t,e);if(!r)throw new Error(`Invalid locator (${t})`);return r}function mb(t,e=!1){let r=e?t.match(xtt):t.match(ktt);if(!r)return null;let[,o,a,n]=r;if(n==="unknown")throw new Error(`Invalid reference (${t})`);let u=typeof o<"u"?o:null,A=typeof n<"u"?n:"unknown";return Ss(rA(u,a),A)}function vg(t,e){let r=t.match(Qtt);if(r===null)throw new Error(`Invalid range (${t})`);let o=typeof r[1]<"u"?r[1]:null;if(typeof e?.requireProtocol=="string"&&o!==e.requireProtocol)throw new Error(`Invalid protocol (${o})`);if(e?.requireProtocol&&o===null)throw new Error(`Missing protocol (${o})`);let a=typeof r[3]<"u"?decodeURIComponent(r[2]):null;if(e?.requireSource&&a===null)throw new Error(`Missing source (${t})`);let n=typeof r[3]<"u"?decodeURIComponent(r[3]):decodeURIComponent(r[2]),u=e?.parseSelector?ay.default.parse(n):n,A=typeof r[4]<"u"?ay.default.parse(r[4]):null;return{protocol:o,source:a,selector:u,params:A}}function Ftt(t,e){try{return vg(t,e)}catch{return null}}function Rtt(t,{protocol:e}){let{selector:r,params:o}=vg(t,{requireProtocol:e,requireBindings:!0});if(typeof o.locator!="string")throw new Error(`Assertion failed: Invalid bindings for ${t}`);return{parentLocator:Sf(o.locator,!0),path:r}}function Hse(t){return t=t.replaceAll("%","%25"),t=t.replaceAll(":","%3A"),t=t.replaceAll("#","%23"),t}function Ttt(t){return t===null?!1:Object.entries(t).length>0}function yb({protocol:t,source:e,selector:r,params:o}){let a="";return t!==null&&(a+=`${t}`),e!==null&&(a+=`${Hse(e)}#`),a+=Hse(r),Ttt(o)&&(a+=`::${ay.default.stringify(o)}`),a}function Ntt(t){let{params:e,protocol:r,source:o,selector:a}=vg(t);for(let n in e)n.startsWith("__")&&delete e[n];return yb({protocol:r,source:o,params:e,selector:a})}function rn(t){return t.scope?`@${t.scope}/${t.name}`:`${t.name}`}function ka(t){return t.scope?`@${t.scope}/${t.name}@${t.range}`:`${t.name}@${t.range}`}function Qa(t){return t.scope?`@${t.scope}/${t.name}@${t.reference}`:`${t.name}@${t.reference}`}function NM(t){return t.scope!==null?`@${t.scope}-${t.name}`:t.name}function ly(t){let{protocol:e,selector:r}=vg(t.reference),o=e!==null?e.replace(Ltt,""):"exotic",a=qse.default.valid(r),n=a!==null?`${o}-${a}`:`${o}`,u=10;return t.scope?`${NM(t)}-${n}-${t.locatorHash.slice(0,u)}`:`${NM(t)}-${n}-${t.locatorHash.slice(0,u)}`}function Ui(t,e){return e.scope?`${Ut(t,`@${e.scope}/`,Ct.SCOPE)}${Ut(t,e.name,Ct.NAME)}`:`${Ut(t,e.name,Ct.NAME)}`}function Eb(t){if(t.startsWith(y1)){let e=Eb(t.substring(t.indexOf("#")+1)),r=t.substring(y1.length,y1.length+mtt);return`${e} [${r}]`}else return t.replace(Ott,"?[...]")}function cy(t,e){return`${Ut(t,Eb(e),Ct.RANGE)}`}function Jn(t,e){return`${Ui(t,e)}${Ut(t,"@",Ct.RANGE)}${cy(t,e.range)}`}function D1(t,e){return`${Ut(t,Eb(e),Ct.REFERENCE)}`}function jr(t,e){return`${Ui(t,e)}${Ut(t,"@",Ct.REFERENCE)}${D1(t,e.reference)}`}function AO(t){return`${rn(t)}@${Eb(t.reference)}`}function uy(t){return Ps(t,[e=>rn(e),e=>e.range])}function P1(t,e){return Ui(t,e.anchoredLocator)}function d1(t,e,r){let o=Pf(e)?C1(e):e;return r===null?`${Jn(t,o)} \u2192 ${uO(t).Cross}`:o.identHash===r.identHash?`${Jn(t,o)} \u2192 ${D1(t,r.reference)}`:`${Jn(t,o)} \u2192 ${jr(t,r)}`}function fO(t,e,r){return r===null?`${jr(t,e)}`:`${jr(t,e)} (via ${cy(t,r.range)})`}function _M(t){return`node_modules/${rn(t)}`}function Cb(t,e){return t.conditions?ytt(t.conditions,r=>{let[,o,a]=r.match(Gse),n=e[o];return n?n.includes(a):!0}):!0}function S1(t){let e=new Set;if("children"in t)e.add(t);else for(let r of t.requests.values())e.add(r);for(let r of e)for(let o of r.children.values())e.add(o);return e}var ay,qse,jse,y1,mtt,Gse,ytt,db,Ptt,Stt,btt,xtt,ktt,Qtt,Ltt,Ott,Io=It(()=>{ay=et(ve("querystring")),qse=et(ni()),jse=et(MX());Wl();ah();Gl();Io();y1="virtual:",mtt=5,Gse=/(os|cpu|libc)=([a-z0-9_-]+)/,ytt=(0,jse.makeParser)(Gse);db=/^[^#]*#/;Ptt=/^(?:@([^/]+?)\/)?([^@/]+)$/;Stt=/^(?:@([^/]+?)\/)?([^@/]+?)(?:@(.+))$/,btt=/^(?:@([^/]+?)\/)?([^@/]+?)(?:@(.+))?$/;xtt=/^(?:@([^/]+?)\/)?([^@/]+?)(?:@(.+))$/,ktt=/^(?:@([^/]+?)\/)?([^@/]+?)(?:@(.+))?$/;Qtt=/^([^#:]*:)?((?:(?!::)[^#])*)(?:#((?:(?!::).)*))?(?:::(.*))?$/;Ltt=/:$/;Ott=/\?.*/});var Kse,Vse=It(()=>{Io();Kse={hooks:{reduceDependency:(t,e,r,o,{resolver:a,resolveOptions:n})=>{for(let{pattern:u,reference:A}of e.topLevelWorkspace.manifest.resolutions){if(u.from&&(u.from.fullName!==rn(r)||e.configuration.normalizeLocator(Ss(Zo(u.from.fullName),u.from.description??r.reference)).locatorHash!==r.locatorHash)||u.descriptor.fullName!==rn(t)||e.configuration.normalizeDependency(kn(Sf(u.descriptor.fullName),u.descriptor.description??t.range)).descriptorHash!==t.descriptorHash)continue;return a.bindDescriptor(e.configuration.normalizeDependency(kn(t,A)),e.topLevelWorkspace.anchoredLocator,n)}return t},validateProject:async(t,e)=>{for(let r of t.workspaces){let o=P1(t.configuration,r);await t.configuration.triggerHook(a=>a.validateWorkspace,r,{reportWarning:(a,n)=>e.reportWarning(a,`${o}: ${n}`),reportError:(a,n)=>e.reportError(a,`${o}: ${n}`)})}},validateWorkspace:async(t,e)=>{let{manifest:r}=t;r.resolutions.length&&t.cwd!==t.project.cwd&&r.errors.push(new Error("Resolutions field will be ignored"));for(let o of r.errors)e.reportWarning(57,o.message)}}}});var ci,Dg=It(()=>{ci=class t{static{this.protocol="workspace:"}supportsDescriptor(e,r){return!!(e.range.startsWith(t.protocol)||r.project.tryWorkspaceByDescriptor(e)!==null)}supportsLocator(e,r){return!!e.reference.startsWith(t.protocol)}shouldPersistResolution(e,r){return!1}bindDescriptor(e,r,o){return e}getResolutionDependencies(e,r){return{}}async getCandidates(e,r,o){return[o.project.getWorkspaceByDescriptor(e).anchoredLocator]}async getSatisfying(e,r,o,a){let[n]=await this.getCandidates(e,r,a);return{locators:o.filter(u=>u.locatorHash===n.locatorHash),sorted:!1}}async resolve(e,r){let o=r.project.getWorkspaceByCwd(e.reference.slice(t.protocol.length));return{...e,version:o.manifest.version||"0.0.0",languageName:"unknown",linkType:"SOFT",conditions:null,dependencies:r.project.configuration.normalizeDependencyMap(new Map([...o.manifest.dependencies,...o.manifest.devDependencies])),peerDependencies:new Map([...o.manifest.peerDependencies]),dependenciesMeta:o.manifest.dependenciesMeta,peerDependenciesMeta:o.manifest.peerDependenciesMeta,bin:o.manifest.bin}}}});var Ur={};Kt(Ur,{SemVer:()=>$se.SemVer,clean:()=>Utt,getComparator:()=>Xse,mergeComparators:()=>HM,satisfiesWithPrereleases:()=>nA,simplifyRanges:()=>qM,stringifyComparator:()=>Zse,validRange:()=>Fa});function nA(t,e,r=!1){if(!t)return!1;let o=`${e}${r}`,a=Jse.get(o);if(typeof a>"u")try{a=new bf.default.Range(e,{includePrerelease:!0,loose:r})}catch{return!1}finally{Jse.set(o,a||null)}else if(a===null)return!1;let n;try{n=new bf.default.SemVer(t,a)}catch{return!1}return a.test(n)?!0:(n.prerelease&&(n.prerelease=[]),a.set.some(u=>{for(let A of u)A.semver.prerelease&&(A.semver.prerelease=[]);return u.every(A=>A.test(n))}))}function Fa(t){if(t.indexOf(":")!==-1)return null;let e=zse.get(t);if(typeof e<"u")return e;try{e=new bf.default.Range(t)}catch{e=null}return zse.set(t,e),e}function Utt(t){let e=Mtt.exec(t);return e?e[1]:null}function Xse(t){if(t.semver===bf.default.Comparator.ANY)return{gt:null,lt:null};switch(t.operator){case"":return{gt:[">=",t.semver],lt:["<=",t.semver]};case">":case">=":return{gt:[t.operator,t.semver],lt:null};case"<":case"<=":return{gt:null,lt:[t.operator,t.semver]};default:throw new Error(`Assertion failed: Unexpected comparator operator (${t.operator})`)}}function HM(t){if(t.length===0)return null;let e=null,r=null;for(let o of t){if(o.gt){let a=e!==null?bf.default.compare(o.gt[1],e[1]):null;(a===null||a>0||a===0&&o.gt[0]===">")&&(e=o.gt)}if(o.lt){let a=r!==null?bf.default.compare(o.lt[1],r[1]):null;(a===null||a<0||a===0&&o.lt[0]==="<")&&(r=o.lt)}}if(e&&r){let o=bf.default.compare(e[1],r[1]);if(o===0&&(e[0]===">"||r[0]==="<")||o>0)return null}return{gt:e,lt:r}}function Zse(t){if(t.gt&&t.lt){if(t.gt[0]===">="&&t.lt[0]==="<="&&t.gt[1].version===t.lt[1].version)return t.gt[1].version;if(t.gt[0]===">="&&t.lt[0]==="<"){if(t.lt[1].version===`${t.gt[1].major+1}.0.0-0`)return`^${t.gt[1].version}`;if(t.lt[1].version===`${t.gt[1].major}.${t.gt[1].minor+1}.0-0`)return`~${t.gt[1].version}`}}let e=[];return t.gt&&e.push(t.gt[0]+t.gt[1].version),t.lt&&e.push(t.lt[0]+t.lt[1].version),e.length?e.join(" "):"*"}function qM(t){let e=t.map(_tt).map(o=>Fa(o).set.map(a=>a.map(n=>Xse(n)))),r=e.shift().map(o=>HM(o)).filter(o=>o!==null);for(let o of e){let a=[];for(let n of r)for(let u of o){let A=HM([n,...u]);A!==null&&a.push(A)}r=a}return r.length===0?null:r.map(o=>Zse(o)).join(" || ")}function _tt(t){let e=t.split("||");if(e.length>1){let r=new Set;for(let o of e)e.some(a=>a!==o&&bf.default.subset(o,a))||r.add(o);if(r.size<e.length)return[...r].join(" || ")}return t}var bf,$se,Jse,zse,Mtt,xf=It(()=>{bf=et(ni()),$se=et(ni()),Jse=new Map;zse=new Map;Mtt=/^(?:[\sv=]*?)((0|[1-9]\d*)\.(0|[1-9]\d*)\.(0|[1-9]\d*)(?:-((?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*)(?:\.(?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*))*))?(?:\+([0-9a-zA-Z-]+(?:\.[0-9a-zA-Z-]+)*))?)(?:\s*)$/});function eoe(t){let e=t.match(/^[ \t]+/m);return e?e[0]:" "}function toe(t){return t.charCodeAt(0)===65279?t.slice(1):t}function $o(t){return t.replace(/\\/g,"/")}function Ib(t,{yamlCompatibilityMode:e}){return e?nO(t):typeof t>"u"||typeof t=="boolean"?t:null}function roe(t,e){let r=e.search(/[^!]/);if(r===-1)return"invalid";let o=r%2===0?"":"!",a=e.slice(r);return`${o}${t}=${a}`}function jM(t,e){return e.length===1?roe(t,e[0]):`(${e.map(r=>roe(t,r)).join(" | ")})`}var noe,_t,Ay=It(()=>{Pt();Ol();noe=et(ni());Dg();Gl();xf();Io();_t=class t{constructor(){this.indent=" ";this.name=null;this.version=null;this.os=null;this.cpu=null;this.libc=null;this.type=null;this.packageManager=null;this.private=!1;this.license=null;this.main=null;this.module=null;this.browser=null;this.languageName=null;this.bin=new Map;this.scripts=new Map;this.dependencies=new Map;this.devDependencies=new Map;this.peerDependencies=new Map;this.workspaceDefinitions=[];this.dependenciesMeta=new Map;this.peerDependenciesMeta=new Map;this.resolutions=[];this.files=null;this.publishConfig=null;this.installConfig=null;this.preferUnplugged=null;this.raw={};this.errors=[]}static{this.fileName="package.json"}static{this.allDependencies=["dependencies","devDependencies","peerDependencies"]}static{this.hardDependencies=["dependencies","devDependencies"]}static async tryFind(e,{baseFs:r=new _n}={}){let o=K.join(e,"package.json");try{return await t.fromFile(o,{baseFs:r})}catch(a){if(a.code==="ENOENT")return null;throw a}}static async find(e,{baseFs:r}={}){let o=await t.tryFind(e,{baseFs:r});if(o===null)throw new Error("Manifest not found");return o}static async fromFile(e,{baseFs:r=new _n}={}){let o=new t;return await o.loadFile(e,{baseFs:r}),o}static fromText(e){let r=new t;return r.loadFromText(e),r}loadFromText(e){let r;try{r=JSON.parse(toe(e)||"{}")}catch(o){throw o.message+=` (when parsing ${e})`,o}this.load(r),this.indent=eoe(e)}async loadFile(e,{baseFs:r=new _n}){let o=await r.readFilePromise(e,"utf8"),a;try{a=JSON.parse(toe(o)||"{}")}catch(n){throw n.message+=` (when parsing ${e})`,n}this.load(a),this.indent=eoe(o)}load(e,{yamlCompatibilityMode:r=!1}={}){if(typeof e!="object"||e===null)throw new Error(`Utterly invalid manifest data (${e})`);this.raw=e;let o=[];if(this.name=null,typeof e.name=="string")try{this.name=Zo(e.name)}catch{o.push(new Error("Parsing failed for the 'name' field"))}if(typeof e.version=="string"?this.version=e.version:this.version=null,Array.isArray(e.os)){let n=[];this.os=n;for(let u of e.os)typeof u!="string"?o.push(new Error("Parsing failed for the 'os' field")):n.push(u)}else this.os=null;if(Array.isArray(e.cpu)){let n=[];this.cpu=n;for(let u of e.cpu)typeof u!="string"?o.push(new Error("Parsing failed for the 'cpu' field")):n.push(u)}else this.cpu=null;if(Array.isArray(e.libc)){let n=[];this.libc=n;for(let u of e.libc)typeof u!="string"?o.push(new Error("Parsing failed for the 'libc' field")):n.push(u)}else this.libc=null;if(typeof e.type=="string"?this.type=e.type:this.type=null,typeof e.packageManager=="string"?this.packageManager=e.packageManager:this.packageManager=null,typeof e.private=="boolean"?this.private=e.private:this.private=!1,typeof e.license=="string"?this.license=e.license:this.license=null,typeof e.languageName=="string"?this.languageName=e.languageName:this.languageName=null,typeof e.main=="string"?this.main=$o(e.main):this.main=null,typeof e.module=="string"?this.module=$o(e.module):this.module=null,e.browser!=null)if(typeof e.browser=="string")this.browser=$o(e.browser);else{this.browser=new Map;for(let[n,u]of Object.entries(e.browser))this.browser.set($o(n),typeof u=="string"?$o(u):u)}else this.browser=null;if(this.bin=new Map,typeof e.bin=="string")e.bin.trim()===""?o.push(new Error("Invalid bin field")):this.name!==null?this.bin.set(this.name.name,$o(e.bin)):o.push(new Error("String bin field, but no attached package name"));else if(typeof e.bin=="object"&&e.bin!==null)for(let[n,u]of Object.entries(e.bin)){if(typeof u!="string"||u.trim()===""){o.push(new Error(`Invalid bin definition for '${n}'`));continue}let A=Zo(n);this.bin.set(A.name,$o(u))}if(this.scripts=new Map,typeof e.scripts=="object"&&e.scripts!==null)for(let[n,u]of Object.entries(e.scripts)){if(typeof u!="string"){o.push(new Error(`Invalid script definition for '${n}'`));continue}this.scripts.set(n,u)}if(this.dependencies=new Map,typeof e.dependencies=="object"&&e.dependencies!==null)for(let[n,u]of Object.entries(e.dependencies)){if(typeof u!="string"){o.push(new Error(`Invalid dependency range for '${n}'`));continue}let A;try{A=Zo(n)}catch{o.push(new Error(`Parsing failed for the dependency name '${n}'`));continue}let p=kn(A,u);this.dependencies.set(p.identHash,p)}if(this.devDependencies=new Map,typeof e.devDependencies=="object"&&e.devDependencies!==null)for(let[n,u]of Object.entries(e.devDependencies)){if(typeof u!="string"){o.push(new Error(`Invalid dependency range for '${n}'`));continue}let A;try{A=Zo(n)}catch{o.push(new Error(`Parsing failed for the dependency name '${n}'`));continue}let p=kn(A,u);this.devDependencies.set(p.identHash,p)}if(this.peerDependencies=new Map,typeof e.peerDependencies=="object"&&e.peerDependencies!==null)for(let[n,u]of Object.entries(e.peerDependencies)){let A;try{A=Zo(n)}catch{o.push(new Error(`Parsing failed for the dependency name '${n}'`));continue}(typeof u!="string"||!u.startsWith(ci.protocol)&&!Fa(u))&&(o.push(new Error(`Invalid dependency range for '${n}'`)),u="*");let p=kn(A,u);this.peerDependencies.set(p.identHash,p)}typeof e.workspaces=="object"&&e.workspaces!==null&&e.workspaces.nohoist&&o.push(new Error("'nohoist' is deprecated, please use 'installConfig.hoistingLimits' instead"));let a=Array.isArray(e.workspaces)?e.workspaces:typeof e.workspaces=="object"&&e.workspaces!==null&&Array.isArray(e.workspaces.packages)?e.workspaces.packages:[];this.workspaceDefinitions=[];for(let n of a){if(typeof n!="string"){o.push(new Error(`Invalid workspace definition for '${n}'`));continue}this.workspaceDefinitions.push({pattern:n})}if(this.dependenciesMeta=new Map,typeof e.dependenciesMeta=="object"&&e.dependenciesMeta!==null)for(let[n,u]of Object.entries(e.dependenciesMeta)){if(typeof u!="object"||u===null){o.push(new Error(`Invalid meta field for '${n}`));continue}let A=lh(n),p=this.ensureDependencyMeta(A),h=Ib(u.built,{yamlCompatibilityMode:r});if(h===null){o.push(new Error(`Invalid built meta field for '${n}'`));continue}let E=Ib(u.optional,{yamlCompatibilityMode:r});if(E===null){o.push(new Error(`Invalid optional meta field for '${n}'`));continue}let w=Ib(u.unplugged,{yamlCompatibilityMode:r});if(w===null){o.push(new Error(`Invalid unplugged meta field for '${n}'`));continue}Object.assign(p,{built:h,optional:E,unplugged:w})}if(this.peerDependenciesMeta=new Map,typeof e.peerDependenciesMeta=="object"&&e.peerDependenciesMeta!==null)for(let[n,u]of Object.entries(e.peerDependenciesMeta)){if(typeof u!="object"||u===null){o.push(new Error(`Invalid meta field for '${n}'`));continue}let A=lh(n),p=this.ensurePeerDependencyMeta(A),h=Ib(u.optional,{yamlCompatibilityMode:r});if(h===null){o.push(new Error(`Invalid optional meta field for '${n}'`));continue}Object.assign(p,{optional:h})}if(this.resolutions=[],typeof e.resolutions=="object"&&e.resolutions!==null)for(let[n,u]of Object.entries(e.resolutions)){if(typeof u!="string"){o.push(new Error(`Invalid resolution entry for '${n}'`));continue}try{this.resolutions.push({pattern:pP(n),reference:u})}catch(A){o.push(A);continue}}if(Array.isArray(e.files)){this.files=new Set;for(let n of e.files){if(typeof n!="string"){o.push(new Error(`Invalid files entry for '${n}'`));continue}this.files.add(n)}}else this.files=null;if(typeof e.publishConfig=="object"&&e.publishConfig!==null){if(this.publishConfig={},typeof e.publishConfig.access=="string"&&(this.publishConfig.access=e.publishConfig.access),typeof e.publishConfig.main=="string"&&(this.publishConfig.main=$o(e.publishConfig.main)),typeof e.publishConfig.module=="string"&&(this.publishConfig.module=$o(e.publishConfig.module)),e.publishConfig.browser!=null)if(typeof e.publishConfig.browser=="string")this.publishConfig.browser=$o(e.publishConfig.browser);else{this.publishConfig.browser=new Map;for(let[n,u]of Object.entries(e.publishConfig.browser))this.publishConfig.browser.set($o(n),typeof u=="string"?$o(u):u)}if(typeof e.publishConfig.registry=="string"&&(this.publishConfig.registry=e.publishConfig.registry),typeof e.publishConfig.bin=="string")this.name!==null?this.publishConfig.bin=new Map([[this.name.name,$o(e.publishConfig.bin)]]):o.push(new Error("String bin field, but no attached package name"));else if(typeof e.publishConfig.bin=="object"&&e.publishConfig.bin!==null){this.publishConfig.bin=new Map;for(let[n,u]of Object.entries(e.publishConfig.bin)){if(typeof u!="string"){o.push(new Error(`Invalid bin definition for '${n}'`));continue}this.publishConfig.bin.set(n,$o(u))}}if(Array.isArray(e.publishConfig.executableFiles)){this.publishConfig.executableFiles=new Set;for(let n of e.publishConfig.executableFiles){if(typeof n!="string"){o.push(new Error("Invalid executable file definition"));continue}this.publishConfig.executableFiles.add($o(n))}}}else this.publishConfig=null;if(typeof e.installConfig=="object"&&e.installConfig!==null){this.installConfig={};for(let n of Object.keys(e.installConfig))n==="hoistingLimits"?typeof e.installConfig.hoistingLimits=="string"?this.installConfig.hoistingLimits=e.installConfig.hoistingLimits:o.push(new Error("Invalid hoisting limits definition")):n=="selfReferences"?typeof e.installConfig.selfReferences=="boolean"?this.installConfig.selfReferences=e.installConfig.selfReferences:o.push(new Error("Invalid selfReferences definition, must be a boolean value")):o.push(new Error(`Unrecognized installConfig key: ${n}`))}else this.installConfig=null;if(typeof e.optionalDependencies=="object"&&e.optionalDependencies!==null)for(let[n,u]of Object.entries(e.optionalDependencies)){if(typeof u!="string"){o.push(new Error(`Invalid dependency range for '${n}'`));continue}let A;try{A=Zo(n)}catch{o.push(new Error(`Parsing failed for the dependency name '${n}'`));continue}let p=kn(A,u);this.dependencies.set(p.identHash,p);let h=kn(A,"unknown"),E=this.ensureDependencyMeta(h);Object.assign(E,{optional:!0})}typeof e.preferUnplugged=="boolean"?this.preferUnplugged=e.preferUnplugged:this.preferUnplugged=null,this.errors=o}getForScope(e){switch(e){case"dependencies":return this.dependencies;case"devDependencies":return this.devDependencies;case"peerDependencies":return this.peerDependencies;default:throw new Error(`Unsupported value ("${e}")`)}}hasConsumerDependency(e){return!!(this.dependencies.has(e.identHash)||this.peerDependencies.has(e.identHash))}hasHardDependency(e){return!!(this.dependencies.has(e.identHash)||this.devDependencies.has(e.identHash))}hasSoftDependency(e){return!!this.peerDependencies.has(e.identHash)}hasDependency(e){return!!(this.hasHardDependency(e)||this.hasSoftDependency(e))}getConditions(){let e=[];return this.os&&this.os.length>0&&e.push(jM("os",this.os)),this.cpu&&this.cpu.length>0&&e.push(jM("cpu",this.cpu)),this.libc&&this.libc.length>0&&e.push(jM("libc",this.libc)),e.length>0?e.join(" & "):null}ensureDependencyMeta(e){if(e.range!=="unknown"&&!noe.default.valid(e.range))throw new Error(`Invalid meta field range for '${ka(e)}'`);let r=rn(e),o=e.range!=="unknown"?e.range:null,a=this.dependenciesMeta.get(r);a||this.dependenciesMeta.set(r,a=new Map);let n=a.get(o);return n||a.set(o,n={}),n}ensurePeerDependencyMeta(e){if(e.range!=="unknown")throw new Error(`Invalid meta field range for '${ka(e)}'`);let r=rn(e),o=this.peerDependenciesMeta.get(r);return o||this.peerDependenciesMeta.set(r,o={}),o}setRawField(e,r,{after:o=[]}={}){let a=new Set(o.filter(n=>Object.hasOwn(this.raw,n)));if(a.size===0||Object.hasOwn(this.raw,e))this.raw[e]=r;else{let n=this.raw,u=this.raw={},A=!1;for(let p of Object.keys(n))u[p]=n[p],A||(a.delete(p),a.size===0&&(u[e]=r,A=!0))}}exportTo(e,{compatibilityMode:r=!0}={}){if(Object.assign(e,this.raw),this.name!==null?e.name=rn(this.name):delete e.name,this.version!==null?e.version=this.version:delete e.version,this.os!==null?e.os=this.os:delete e.os,this.cpu!==null?e.cpu=this.cpu:delete e.cpu,this.type!==null?e.type=this.type:delete e.type,this.packageManager!==null?e.packageManager=this.packageManager:delete e.packageManager,this.private?e.private=!0:delete e.private,this.license!==null?e.license=this.license:delete e.license,this.languageName!==null?e.languageName=this.languageName:delete e.languageName,this.main!==null?e.main=this.main:delete e.main,this.module!==null?e.module=this.module:delete e.module,this.browser!==null){let n=this.browser;typeof n=="string"?e.browser=n:n instanceof Map&&(e.browser=Object.assign({},...Array.from(n.keys()).sort().map(u=>({[u]:n.get(u)}))))}else delete e.browser;this.bin.size===1&&this.name!==null&&this.bin.has(this.name.name)?e.bin=this.bin.get(this.name.name):this.bin.size>0?e.bin=Object.assign({},...Array.from(this.bin.keys()).sort().map(n=>({[n]:this.bin.get(n)}))):delete e.bin,this.workspaceDefinitions.length>0?this.raw.workspaces&&!Array.isArray(this.raw.workspaces)?e.workspaces={...this.raw.workspaces,packages:this.workspaceDefinitions.map(({pattern:n})=>n)}:e.workspaces=this.workspaceDefinitions.map(({pattern:n})=>n):this.raw.workspaces&&!Array.isArray(this.raw.workspaces)&&Object.keys(this.raw.workspaces).length>0?e.workspaces=this.raw.workspaces:delete e.workspaces;let o=[],a=[];for(let n of this.dependencies.values()){let u=this.dependenciesMeta.get(rn(n)),A=!1;if(r&&u){let p=u.get(null);p&&p.optional&&(A=!0)}A?a.push(n):o.push(n)}o.length>0?e.dependencies=Object.assign({},...uy(o).map(n=>({[rn(n)]:n.range}))):delete e.dependencies,a.length>0?e.optionalDependencies=Object.assign({},...uy(a).map(n=>({[rn(n)]:n.range}))):delete e.optionalDependencies,this.devDependencies.size>0?e.devDependencies=Object.assign({},...uy(this.devDependencies.values()).map(n=>({[rn(n)]:n.range}))):delete e.devDependencies,this.peerDependencies.size>0?e.peerDependencies=Object.assign({},...uy(this.peerDependencies.values()).map(n=>({[rn(n)]:n.range}))):delete e.peerDependencies,e.dependenciesMeta={};for(let[n,u]of Ps(this.dependenciesMeta.entries(),([A,p])=>A))for(let[A,p]of Ps(u.entries(),([h,E])=>h!==null?`0${h}`:"1")){let h=A!==null?ka(kn(Zo(n),A)):n,E={...p};r&&A===null&&delete E.optional,Object.keys(E).length!==0&&(e.dependenciesMeta[h]=E)}if(Object.keys(e.dependenciesMeta).length===0&&delete e.dependenciesMeta,this.peerDependenciesMeta.size>0?e.peerDependenciesMeta=Object.assign({},...Ps(this.peerDependenciesMeta.entries(),([n,u])=>n).map(([n,u])=>({[n]:u}))):delete e.peerDependenciesMeta,this.resolutions.length>0?e.resolutions=Object.assign({},...this.resolutions.map(({pattern:n,reference:u})=>({[hP(n)]:u}))):delete e.resolutions,this.files!==null?e.files=Array.from(this.files):delete e.files,this.preferUnplugged!==null?e.preferUnplugged=this.preferUnplugged:delete e.preferUnplugged,this.scripts!==null&&this.scripts.size>0){e.scripts??={};for(let n of Object.keys(e.scripts))this.scripts.has(n)||delete e.scripts[n];for(let[n,u]of this.scripts.entries())e.scripts[n]=u}else delete e.scripts;return e}}});var soe=_((INt,ioe)=>{var Htt=ql(),qtt=function(){return Htt.Date.now()};ioe.exports=qtt});var aoe=_((wNt,ooe)=>{var jtt=/\s/;function Gtt(t){for(var e=t.length;e--&&jtt.test(t.charAt(e)););return e}ooe.exports=Gtt});var coe=_((BNt,loe)=>{var Wtt=aoe(),Ytt=/^\s+/;function Ktt(t){return t&&t.slice(0,Wtt(t)+1).replace(Ytt,"")}loe.exports=Ktt});var fy=_((vNt,uoe)=>{var Vtt=mg(),Jtt=Zu(),ztt="[object Symbol]";function Xtt(t){return typeof t=="symbol"||Jtt(t)&&Vtt(t)==ztt}uoe.exports=Xtt});var hoe=_((DNt,poe)=>{var Ztt=coe(),Aoe=cl(),$tt=fy(),foe=NaN,ert=/^[-+]0x[0-9a-f]+$/i,trt=/^0b[01]+$/i,rrt=/^0o[0-7]+$/i,nrt=parseInt;function irt(t){if(typeof t=="number")return t;if($tt(t))return foe;if(Aoe(t)){var e=typeof t.valueOf=="function"?t.valueOf():t;t=Aoe(e)?e+"":e}if(typeof t!="string")return t===0?t:+t;t=Ztt(t);var r=trt.test(t);return r||rrt.test(t)?nrt(t.slice(2),r?2:8):ert.test(t)?foe:+t}poe.exports=irt});var moe=_((PNt,doe)=>{var srt=cl(),GM=soe(),goe=hoe(),ort="Expected a function",art=Math.max,lrt=Math.min;function crt(t,e,r){var o,a,n,u,A,p,h=0,E=!1,w=!1,D=!0;if(typeof t!="function")throw new TypeError(ort);e=goe(e)||0,srt(r)&&(E=!!r.leading,w="maxWait"in r,n=w?art(goe(r.maxWait)||0,e):n,D="trailing"in r?!!r.trailing:D);function x(ue){var Ie=o,he=a;return o=a=void 0,h=ue,u=t.apply(he,Ie),u}function C(ue){return h=ue,A=setTimeout(U,e),E?x(ue):u}function T(ue){var Ie=ue-p,he=ue-h,De=e-Ie;return w?lrt(De,n-he):De}function L(ue){var Ie=ue-p,he=ue-h;return p===void 0||Ie>=e||Ie<0||w&&he>=n}function U(){var ue=GM();if(L(ue))return J(ue);A=setTimeout(U,T(ue))}function J(ue){return A=void 0,D&&o?x(ue):(o=a=void 0,u)}function te(){A!==void 0&&clearTimeout(A),h=0,o=p=a=A=void 0}function le(){return A===void 0?u:J(GM())}function ce(){var ue=GM(),Ie=L(ue);if(o=arguments,a=this,p=ue,Ie){if(A===void 0)return C(p);if(w)return clearTimeout(A),A=setTimeout(U,e),x(p)}return A===void 0&&(A=setTimeout(U,e)),u}return ce.cancel=te,ce.flush=le,ce}doe.exports=crt});var WM=_((SNt,yoe)=>{var urt=moe(),Art=cl(),frt="Expected a function";function prt(t,e,r){var o=!0,a=!0;if(typeof t!="function")throw new TypeError(frt);return Art(r)&&(o="leading"in r?!!r.leading:o,a="trailing"in r?!!r.trailing:a),urt(t,e,{leading:o,maxWait:e,trailing:a})}yoe.exports=prt});function grt(t){return typeof t.reportCode<"u"}var Eoe,Coe,Ioe,hrt,Jt,Ws,Vl=It(()=>{Eoe=et(WM()),Coe=ve("stream"),Ioe=ve("string_decoder"),hrt=15,Jt=class extends Error{constructor(r,o,a){super(o);this.reportExtra=a;this.reportCode=r}};Ws=class{constructor(){this.cacheHits=new Set;this.cacheMisses=new Set;this.reportedInfos=new Set;this.reportedWarnings=new Set;this.reportedErrors=new Set}getRecommendedLength(){return 180}reportCacheHit(e){this.cacheHits.add(e.locatorHash)}reportCacheMiss(e,r){this.cacheMisses.add(e.locatorHash)}static progressViaCounter(e){let r=0,o,a=new Promise(p=>{o=p}),n=p=>{let h=o;a=new Promise(E=>{o=E}),r=p,h()},u=(p=0)=>{n(r+1)},A=async function*(){for(;r<e;)await a,yield{progress:r/e}}();return{[Symbol.asyncIterator](){return A},hasProgress:!0,hasTitle:!1,set:n,tick:u}}static progressViaTitle(){let e,r,o=new Promise(u=>{r=u}),a=(0,Eoe.default)(u=>{let A=r;o=new Promise(p=>{r=p}),e=u,A()},1e3/hrt),n=async function*(){for(;;)await o,yield{title:e}}();return{[Symbol.asyncIterator](){return n},hasProgress:!1,hasTitle:!0,setTitle:a}}async startProgressPromise(e,r){let o=this.reportProgress(e);try{return await r(e)}finally{o.stop()}}startProgressSync(e,r){let o=this.reportProgress(e);try{return r(e)}finally{o.stop()}}reportInfoOnce(e,r,o){let a=o&&o.key?o.key:r;this.reportedInfos.has(a)||(this.reportedInfos.add(a),this.reportInfo(e,r),o?.reportExtra?.(this))}reportWarningOnce(e,r,o){let a=o&&o.key?o.key:r;this.reportedWarnings.has(a)||(this.reportedWarnings.add(a),this.reportWarning(e,r),o?.reportExtra?.(this))}reportErrorOnce(e,r,o){let a=o&&o.key?o.key:r;this.reportedErrors.has(a)||(this.reportedErrors.add(a),this.reportError(e,r),o?.reportExtra?.(this))}reportExceptionOnce(e){grt(e)?this.reportErrorOnce(e.reportCode,e.message,{key:e,reportExtra:e.reportExtra}):this.reportErrorOnce(1,e.stack||e.message,{key:e})}createStreamReporter(e=null){let r=new Coe.PassThrough,o=new Ioe.StringDecoder,a="";return r.on("data",n=>{let u=o.write(n),A;do if(A=u.indexOf(` +`),A!==-1){let p=a+u.substring(0,A);u=u.substring(A+1),a="",e!==null?this.reportInfo(null,`${e} ${p}`):this.reportInfo(null,p)}while(A!==-1);a+=u}),r.on("end",()=>{let n=o.end();n!==""&&(e!==null?this.reportInfo(null,`${e} ${n}`):this.reportInfo(null,n))}),r}}});var py,YM=It(()=>{Vl();Io();py=class{constructor(e){this.fetchers=e}supports(e,r){return!!this.tryFetcher(e,r)}getLocalPath(e,r){return this.getFetcher(e,r).getLocalPath(e,r)}async fetch(e,r){return await this.getFetcher(e,r).fetch(e,r)}tryFetcher(e,r){let o=this.fetchers.find(a=>a.supports(e,r));return o||null}getFetcher(e,r){let o=this.fetchers.find(a=>a.supports(e,r));if(!o)throw new Jt(11,`${jr(r.project.configuration,e)} isn't supported by any available fetcher`);return o}}});var Pg,KM=It(()=>{Io();Pg=class{constructor(e){this.resolvers=e.filter(r=>r)}supportsDescriptor(e,r){return!!this.tryResolverByDescriptor(e,r)}supportsLocator(e,r){return!!this.tryResolverByLocator(e,r)}shouldPersistResolution(e,r){return this.getResolverByLocator(e,r).shouldPersistResolution(e,r)}bindDescriptor(e,r,o){return this.getResolverByDescriptor(e,o).bindDescriptor(e,r,o)}getResolutionDependencies(e,r){return this.getResolverByDescriptor(e,r).getResolutionDependencies(e,r)}async getCandidates(e,r,o){return await this.getResolverByDescriptor(e,o).getCandidates(e,r,o)}async getSatisfying(e,r,o,a){return this.getResolverByDescriptor(e,a).getSatisfying(e,r,o,a)}async resolve(e,r){return await this.getResolverByLocator(e,r).resolve(e,r)}tryResolverByDescriptor(e,r){let o=this.resolvers.find(a=>a.supportsDescriptor(e,r));return o||null}getResolverByDescriptor(e,r){let o=this.resolvers.find(a=>a.supportsDescriptor(e,r));if(!o)throw new Error(`${Jn(r.project.configuration,e)} isn't supported by any available resolver`);return o}tryResolverByLocator(e,r){let o=this.resolvers.find(a=>a.supportsLocator(e,r));return o||null}getResolverByLocator(e,r){let o=this.resolvers.find(a=>a.supportsLocator(e,r));if(!o)throw new Error(`${jr(r.project.configuration,e)} isn't supported by any available resolver`);return o}}});var hy,VM=It(()=>{Pt();Io();hy=class{supports(e){return!!e.reference.startsWith("virtual:")}getLocalPath(e,r){let o=e.reference.indexOf("#");if(o===-1)throw new Error("Invalid virtual package reference");let a=e.reference.slice(o+1),n=Ss(e,a);return r.fetcher.getLocalPath(n,r)}async fetch(e,r){let o=e.reference.indexOf("#");if(o===-1)throw new Error("Invalid virtual package reference");let a=e.reference.slice(o+1),n=Ss(e,a),u=await r.fetcher.fetch(n,r);return await this.ensureVirtualLink(e,u,r)}getLocatorFilename(e){return ly(e)}async ensureVirtualLink(e,r,o){let a=r.packageFs.getRealPath(),n=o.project.configuration.get("virtualFolder"),u=this.getLocatorFilename(e),A=qs.makeVirtualPath(n,u,a),p=new ju(A,{baseFs:r.packageFs,pathUtils:K});return{...r,packageFs:p}}}});var wb,woe=It(()=>{wb=class t{static{this.protocol="virtual:"}static isVirtualDescriptor(e){return!!e.range.startsWith(t.protocol)}static isVirtualLocator(e){return!!e.reference.startsWith(t.protocol)}supportsDescriptor(e,r){return t.isVirtualDescriptor(e)}supportsLocator(e,r){return t.isVirtualLocator(e)}shouldPersistResolution(e,r){return!1}bindDescriptor(e,r,o){throw new Error('Assertion failed: calling "bindDescriptor" on a virtual descriptor is unsupported')}getResolutionDependencies(e,r){throw new Error('Assertion failed: calling "getResolutionDependencies" on a virtual descriptor is unsupported')}async getCandidates(e,r,o){throw new Error('Assertion failed: calling "getCandidates" on a virtual descriptor is unsupported')}async getSatisfying(e,r,o,a){throw new Error('Assertion failed: calling "getSatisfying" on a virtual descriptor is unsupported')}async resolve(e,r){throw new Error('Assertion failed: calling "resolve" on a virtual locator is unsupported')}}});var gy,JM=It(()=>{Pt();Dg();gy=class{supports(e){return!!e.reference.startsWith(ci.protocol)}getLocalPath(e,r){return this.getWorkspace(e,r).cwd}async fetch(e,r){let o=this.getWorkspace(e,r).cwd;return{packageFs:new En(o),prefixPath:Bt.dot,localPath:o}}getWorkspace(e,r){return r.project.getWorkspaceByCwd(e.reference.slice(ci.protocol.length))}}});function b1(t){return typeof t=="object"&&t!==null&&!Array.isArray(t)}function Boe(t){return typeof t>"u"?3:b1(t)?0:Array.isArray(t)?1:2}function ZM(t,e){return Object.hasOwn(t,e)}function mrt(t){return b1(t)&&ZM(t,"onConflict")&&typeof t.onConflict=="string"}function yrt(t){if(typeof t>"u")return{onConflict:"default",value:t};if(!mrt(t))return{onConflict:"default",value:t};if(ZM(t,"value"))return t;let{onConflict:e,...r}=t;return{onConflict:e,value:r}}function voe(t,e){let r=b1(t)&&ZM(t,e)?t[e]:void 0;return yrt(r)}function dy(t,e){return[t,e,Doe]}function $M(t){return Array.isArray(t)?t[2]===Doe:!1}function zM(t,e){if(b1(t)){let r={};for(let o of Object.keys(t))r[o]=zM(t[o],e);return dy(e,r)}return Array.isArray(t)?dy(e,t.map(r=>zM(r,e))):dy(e,t)}function XM(t,e,r,o,a){let n,u=[],A=a,p=0;for(let E=a-1;E>=o;--E){let[w,D]=t[E],{onConflict:x,value:C}=voe(D,r),T=Boe(C);if(T!==3){if(n??=T,T!==n||x==="hardReset"){p=A;break}if(T===2)return dy(w,C);if(u.unshift([w,C]),x==="reset"){p=E;break}x==="extend"&&E===o&&(o=0),A=E}}if(typeof n>"u")return null;let h=u.map(([E])=>E).join(", ");switch(n){case 1:return dy(h,new Array().concat(...u.map(([E,w])=>w.map(D=>zM(D,E)))));case 0:{let E=Object.assign({},...u.map(([,T])=>T)),w=Object.keys(E),D={},x=t.map(([T,L])=>[T,voe(L,r).value]),C=drt(x,([T,L])=>{let U=Boe(L);return U!==0&&U!==3});if(C!==-1){let T=x.slice(C+1);for(let L of w)D[L]=XM(T,e,L,0,T.length)}else for(let T of w)D[T]=XM(x,e,T,p,x.length);return dy(h,D)}default:throw new Error("Assertion failed: Non-extendable value type")}}function Poe(t){return XM(t.map(([e,r])=>[e,{".":r}]),[],".",0,t.length)}function x1(t){return $M(t)?t[1]:t}function Bb(t){let e=$M(t)?t[1]:t;if(Array.isArray(e))return e.map(r=>Bb(r));if(b1(e)){let r={};for(let[o,a]of Object.entries(e))r[o]=Bb(a);return r}return e}function eU(t){return $M(t)?t[0]:null}var drt,Doe,Soe=It(()=>{drt=(t,e,r)=>{let o=[...t];return o.reverse(),o.findIndex(e,r)};Doe=Symbol()});var vb={};Kt(vb,{getDefaultGlobalFolder:()=>rU,getHomeFolder:()=>my,isFolderInside:()=>nU});function rU(){if(process.platform==="win32"){let t=Ae.toPortablePath(process.env.LOCALAPPDATA||Ae.join((0,tU.homedir)(),"AppData","Local"));return K.resolve(t,"Yarn/Berry")}if(process.env.XDG_DATA_HOME){let t=Ae.toPortablePath(process.env.XDG_DATA_HOME);return K.resolve(t,"yarn/berry")}return K.resolve(my(),".yarn/berry")}function my(){return Ae.toPortablePath((0,tU.homedir)()||"/usr/local/share")}function nU(t,e){let r=K.relative(e,t);return r&&!r.startsWith("..")&&!K.isAbsolute(r)}var tU,Db=It(()=>{Pt();tU=ve("os")});var Qoe=_(yy=>{"use strict";var _Nt=ve("net"),Crt=ve("tls"),iU=ve("http"),boe=ve("https"),Irt=ve("events"),HNt=ve("assert"),wrt=ve("util");yy.httpOverHttp=Brt;yy.httpsOverHttp=vrt;yy.httpOverHttps=Drt;yy.httpsOverHttps=Prt;function Brt(t){var e=new kf(t);return e.request=iU.request,e}function vrt(t){var e=new kf(t);return e.request=iU.request,e.createSocket=xoe,e.defaultPort=443,e}function Drt(t){var e=new kf(t);return e.request=boe.request,e}function Prt(t){var e=new kf(t);return e.request=boe.request,e.createSocket=xoe,e.defaultPort=443,e}function kf(t){var e=this;e.options=t||{},e.proxyOptions=e.options.proxy||{},e.maxSockets=e.options.maxSockets||iU.Agent.defaultMaxSockets,e.requests=[],e.sockets=[],e.on("free",function(o,a,n,u){for(var A=koe(a,n,u),p=0,h=e.requests.length;p<h;++p){var E=e.requests[p];if(E.host===A.host&&E.port===A.port){e.requests.splice(p,1),E.request.onSocket(o);return}}o.destroy(),e.removeSocket(o)})}wrt.inherits(kf,Irt.EventEmitter);kf.prototype.addRequest=function(e,r,o,a){var n=this,u=sU({request:e},n.options,koe(r,o,a));if(n.sockets.length>=this.maxSockets){n.requests.push(u);return}n.createSocket(u,function(A){A.on("free",p),A.on("close",h),A.on("agentRemove",h),e.onSocket(A);function p(){n.emit("free",A,u)}function h(E){n.removeSocket(A),A.removeListener("free",p),A.removeListener("close",h),A.removeListener("agentRemove",h)}})};kf.prototype.createSocket=function(e,r){var o=this,a={};o.sockets.push(a);var n=sU({},o.proxyOptions,{method:"CONNECT",path:e.host+":"+e.port,agent:!1,headers:{host:e.host+":"+e.port}});e.localAddress&&(n.localAddress=e.localAddress),n.proxyAuth&&(n.headers=n.headers||{},n.headers["Proxy-Authorization"]="Basic "+new Buffer(n.proxyAuth).toString("base64")),ch("making CONNECT request");var u=o.request(n);u.useChunkedEncodingByDefault=!1,u.once("response",A),u.once("upgrade",p),u.once("connect",h),u.once("error",E),u.end();function A(w){w.upgrade=!0}function p(w,D,x){process.nextTick(function(){h(w,D,x)})}function h(w,D,x){if(u.removeAllListeners(),D.removeAllListeners(),w.statusCode!==200){ch("tunneling socket could not be established, statusCode=%d",w.statusCode),D.destroy();var C=new Error("tunneling socket could not be established, statusCode="+w.statusCode);C.code="ECONNRESET",e.request.emit("error",C),o.removeSocket(a);return}if(x.length>0){ch("got illegal response body from proxy"),D.destroy();var C=new Error("got illegal response body from proxy");C.code="ECONNRESET",e.request.emit("error",C),o.removeSocket(a);return}return ch("tunneling connection has established"),o.sockets[o.sockets.indexOf(a)]=D,r(D)}function E(w){u.removeAllListeners(),ch(`tunneling socket could not be established, cause=%s +`,w.message,w.stack);var D=new Error("tunneling socket could not be established, cause="+w.message);D.code="ECONNRESET",e.request.emit("error",D),o.removeSocket(a)}};kf.prototype.removeSocket=function(e){var r=this.sockets.indexOf(e);if(r!==-1){this.sockets.splice(r,1);var o=this.requests.shift();o&&this.createSocket(o,function(a){o.request.onSocket(a)})}};function xoe(t,e){var r=this;kf.prototype.createSocket.call(r,t,function(o){var a=t.request.getHeader("host"),n=sU({},r.options,{socket:o,servername:a?a.replace(/:.*$/,""):t.host}),u=Crt.connect(0,n);r.sockets[r.sockets.indexOf(o)]=u,e(u)})}function koe(t,e,r){return typeof t=="string"?{host:t,port:e,localAddress:r}:t}function sU(t){for(var e=1,r=arguments.length;e<r;++e){var o=arguments[e];if(typeof o=="object")for(var a=Object.keys(o),n=0,u=a.length;n<u;++n){var A=a[n];o[A]!==void 0&&(t[A]=o[A])}}return t}var ch;process.env.NODE_DEBUG&&/\btunnel\b/.test(process.env.NODE_DEBUG)?ch=function(){var t=Array.prototype.slice.call(arguments);typeof t[0]=="string"?t[0]="TUNNEL: "+t[0]:t.unshift("TUNNEL:"),console.error.apply(console,t)}:ch=function(){};yy.debug=ch});var Roe=_((jNt,Foe)=>{Foe.exports=Qoe()});var Ff=_((Qf,Pb)=>{"use strict";Object.defineProperty(Qf,"__esModule",{value:!0});var Toe=["Int8Array","Uint8Array","Uint8ClampedArray","Int16Array","Uint16Array","Int32Array","Uint32Array","Float32Array","Float64Array","BigInt64Array","BigUint64Array"];function Srt(t){return Toe.includes(t)}var brt=["Function","Generator","AsyncGenerator","GeneratorFunction","AsyncGeneratorFunction","AsyncFunction","Observable","Array","Buffer","Blob","Object","RegExp","Date","Error","Map","Set","WeakMap","WeakSet","ArrayBuffer","SharedArrayBuffer","DataView","Promise","URL","FormData","URLSearchParams","HTMLElement",...Toe];function xrt(t){return brt.includes(t)}var krt=["null","undefined","string","number","bigint","boolean","symbol"];function Qrt(t){return krt.includes(t)}function Ey(t){return e=>typeof e===t}var{toString:Noe}=Object.prototype,k1=t=>{let e=Noe.call(t).slice(8,-1);if(/HTML\w+Element/.test(e)&&Se.domElement(t))return"HTMLElement";if(xrt(e))return e},ii=t=>e=>k1(e)===t;function Se(t){if(t===null)return"null";switch(typeof t){case"undefined":return"undefined";case"string":return"string";case"number":return"number";case"boolean":return"boolean";case"function":return"Function";case"bigint":return"bigint";case"symbol":return"symbol";default:}if(Se.observable(t))return"Observable";if(Se.array(t))return"Array";if(Se.buffer(t))return"Buffer";let e=k1(t);if(e)return e;if(t instanceof String||t instanceof Boolean||t instanceof Number)throw new TypeError("Please don't use object wrappers for primitive types");return"Object"}Se.undefined=Ey("undefined");Se.string=Ey("string");var Frt=Ey("number");Se.number=t=>Frt(t)&&!Se.nan(t);Se.bigint=Ey("bigint");Se.function_=Ey("function");Se.null_=t=>t===null;Se.class_=t=>Se.function_(t)&&t.toString().startsWith("class ");Se.boolean=t=>t===!0||t===!1;Se.symbol=Ey("symbol");Se.numericString=t=>Se.string(t)&&!Se.emptyStringOrWhitespace(t)&&!Number.isNaN(Number(t));Se.array=(t,e)=>Array.isArray(t)?Se.function_(e)?t.every(e):!0:!1;Se.buffer=t=>{var e,r,o,a;return(a=(o=(r=(e=t)===null||e===void 0?void 0:e.constructor)===null||r===void 0?void 0:r.isBuffer)===null||o===void 0?void 0:o.call(r,t))!==null&&a!==void 0?a:!1};Se.blob=t=>ii("Blob")(t);Se.nullOrUndefined=t=>Se.null_(t)||Se.undefined(t);Se.object=t=>!Se.null_(t)&&(typeof t=="object"||Se.function_(t));Se.iterable=t=>{var e;return Se.function_((e=t)===null||e===void 0?void 0:e[Symbol.iterator])};Se.asyncIterable=t=>{var e;return Se.function_((e=t)===null||e===void 0?void 0:e[Symbol.asyncIterator])};Se.generator=t=>{var e,r;return Se.iterable(t)&&Se.function_((e=t)===null||e===void 0?void 0:e.next)&&Se.function_((r=t)===null||r===void 0?void 0:r.throw)};Se.asyncGenerator=t=>Se.asyncIterable(t)&&Se.function_(t.next)&&Se.function_(t.throw);Se.nativePromise=t=>ii("Promise")(t);var Rrt=t=>{var e,r;return Se.function_((e=t)===null||e===void 0?void 0:e.then)&&Se.function_((r=t)===null||r===void 0?void 0:r.catch)};Se.promise=t=>Se.nativePromise(t)||Rrt(t);Se.generatorFunction=ii("GeneratorFunction");Se.asyncGeneratorFunction=t=>k1(t)==="AsyncGeneratorFunction";Se.asyncFunction=t=>k1(t)==="AsyncFunction";Se.boundFunction=t=>Se.function_(t)&&!t.hasOwnProperty("prototype");Se.regExp=ii("RegExp");Se.date=ii("Date");Se.error=ii("Error");Se.map=t=>ii("Map")(t);Se.set=t=>ii("Set")(t);Se.weakMap=t=>ii("WeakMap")(t);Se.weakSet=t=>ii("WeakSet")(t);Se.int8Array=ii("Int8Array");Se.uint8Array=ii("Uint8Array");Se.uint8ClampedArray=ii("Uint8ClampedArray");Se.int16Array=ii("Int16Array");Se.uint16Array=ii("Uint16Array");Se.int32Array=ii("Int32Array");Se.uint32Array=ii("Uint32Array");Se.float32Array=ii("Float32Array");Se.float64Array=ii("Float64Array");Se.bigInt64Array=ii("BigInt64Array");Se.bigUint64Array=ii("BigUint64Array");Se.arrayBuffer=ii("ArrayBuffer");Se.sharedArrayBuffer=ii("SharedArrayBuffer");Se.dataView=ii("DataView");Se.enumCase=(t,e)=>Object.values(e).includes(t);Se.directInstanceOf=(t,e)=>Object.getPrototypeOf(t)===e.prototype;Se.urlInstance=t=>ii("URL")(t);Se.urlString=t=>{if(!Se.string(t))return!1;try{return new URL(t),!0}catch{return!1}};Se.truthy=t=>!!t;Se.falsy=t=>!t;Se.nan=t=>Number.isNaN(t);Se.primitive=t=>Se.null_(t)||Qrt(typeof t);Se.integer=t=>Number.isInteger(t);Se.safeInteger=t=>Number.isSafeInteger(t);Se.plainObject=t=>{if(Noe.call(t)!=="[object Object]")return!1;let e=Object.getPrototypeOf(t);return e===null||e===Object.getPrototypeOf({})};Se.typedArray=t=>Srt(k1(t));var Trt=t=>Se.safeInteger(t)&&t>=0;Se.arrayLike=t=>!Se.nullOrUndefined(t)&&!Se.function_(t)&&Trt(t.length);Se.inRange=(t,e)=>{if(Se.number(e))return t>=Math.min(0,e)&&t<=Math.max(e,0);if(Se.array(e)&&e.length===2)return t>=Math.min(...e)&&t<=Math.max(...e);throw new TypeError(`Invalid range: ${JSON.stringify(e)}`)};var Nrt=1,Lrt=["innerHTML","ownerDocument","style","attributes","nodeValue"];Se.domElement=t=>Se.object(t)&&t.nodeType===Nrt&&Se.string(t.nodeName)&&!Se.plainObject(t)&&Lrt.every(e=>e in t);Se.observable=t=>{var e,r,o,a;return t?t===((r=(e=t)[Symbol.observable])===null||r===void 0?void 0:r.call(e))||t===((a=(o=t)["@@observable"])===null||a===void 0?void 0:a.call(o)):!1};Se.nodeStream=t=>Se.object(t)&&Se.function_(t.pipe)&&!Se.observable(t);Se.infinite=t=>t===1/0||t===-1/0;var Loe=t=>e=>Se.integer(e)&&Math.abs(e%2)===t;Se.evenInteger=Loe(0);Se.oddInteger=Loe(1);Se.emptyArray=t=>Se.array(t)&&t.length===0;Se.nonEmptyArray=t=>Se.array(t)&&t.length>0;Se.emptyString=t=>Se.string(t)&&t.length===0;var Ort=t=>Se.string(t)&&!/\S/.test(t);Se.emptyStringOrWhitespace=t=>Se.emptyString(t)||Ort(t);Se.nonEmptyString=t=>Se.string(t)&&t.length>0;Se.nonEmptyStringAndNotWhitespace=t=>Se.string(t)&&!Se.emptyStringOrWhitespace(t);Se.emptyObject=t=>Se.object(t)&&!Se.map(t)&&!Se.set(t)&&Object.keys(t).length===0;Se.nonEmptyObject=t=>Se.object(t)&&!Se.map(t)&&!Se.set(t)&&Object.keys(t).length>0;Se.emptySet=t=>Se.set(t)&&t.size===0;Se.nonEmptySet=t=>Se.set(t)&&t.size>0;Se.emptyMap=t=>Se.map(t)&&t.size===0;Se.nonEmptyMap=t=>Se.map(t)&&t.size>0;Se.propertyKey=t=>Se.any([Se.string,Se.number,Se.symbol],t);Se.formData=t=>ii("FormData")(t);Se.urlSearchParams=t=>ii("URLSearchParams")(t);var Ooe=(t,e,r)=>{if(!Se.function_(e))throw new TypeError(`Invalid predicate: ${JSON.stringify(e)}`);if(r.length===0)throw new TypeError("Invalid number of values");return t.call(r,e)};Se.any=(t,...e)=>(Se.array(t)?t:[t]).some(o=>Ooe(Array.prototype.some,o,e));Se.all=(t,...e)=>Ooe(Array.prototype.every,t,e);var Mt=(t,e,r,o={})=>{if(!t){let{multipleValues:a}=o,n=a?`received values of types ${[...new Set(r.map(u=>`\`${Se(u)}\``))].join(", ")}`:`received value of type \`${Se(r)}\``;throw new TypeError(`Expected value which is \`${e}\`, ${n}.`)}};Qf.assert={undefined:t=>Mt(Se.undefined(t),"undefined",t),string:t=>Mt(Se.string(t),"string",t),number:t=>Mt(Se.number(t),"number",t),bigint:t=>Mt(Se.bigint(t),"bigint",t),function_:t=>Mt(Se.function_(t),"Function",t),null_:t=>Mt(Se.null_(t),"null",t),class_:t=>Mt(Se.class_(t),"Class",t),boolean:t=>Mt(Se.boolean(t),"boolean",t),symbol:t=>Mt(Se.symbol(t),"symbol",t),numericString:t=>Mt(Se.numericString(t),"string with a number",t),array:(t,e)=>{Mt(Se.array(t),"Array",t),e&&t.forEach(e)},buffer:t=>Mt(Se.buffer(t),"Buffer",t),blob:t=>Mt(Se.blob(t),"Blob",t),nullOrUndefined:t=>Mt(Se.nullOrUndefined(t),"null or undefined",t),object:t=>Mt(Se.object(t),"Object",t),iterable:t=>Mt(Se.iterable(t),"Iterable",t),asyncIterable:t=>Mt(Se.asyncIterable(t),"AsyncIterable",t),generator:t=>Mt(Se.generator(t),"Generator",t),asyncGenerator:t=>Mt(Se.asyncGenerator(t),"AsyncGenerator",t),nativePromise:t=>Mt(Se.nativePromise(t),"native Promise",t),promise:t=>Mt(Se.promise(t),"Promise",t),generatorFunction:t=>Mt(Se.generatorFunction(t),"GeneratorFunction",t),asyncGeneratorFunction:t=>Mt(Se.asyncGeneratorFunction(t),"AsyncGeneratorFunction",t),asyncFunction:t=>Mt(Se.asyncFunction(t),"AsyncFunction",t),boundFunction:t=>Mt(Se.boundFunction(t),"Function",t),regExp:t=>Mt(Se.regExp(t),"RegExp",t),date:t=>Mt(Se.date(t),"Date",t),error:t=>Mt(Se.error(t),"Error",t),map:t=>Mt(Se.map(t),"Map",t),set:t=>Mt(Se.set(t),"Set",t),weakMap:t=>Mt(Se.weakMap(t),"WeakMap",t),weakSet:t=>Mt(Se.weakSet(t),"WeakSet",t),int8Array:t=>Mt(Se.int8Array(t),"Int8Array",t),uint8Array:t=>Mt(Se.uint8Array(t),"Uint8Array",t),uint8ClampedArray:t=>Mt(Se.uint8ClampedArray(t),"Uint8ClampedArray",t),int16Array:t=>Mt(Se.int16Array(t),"Int16Array",t),uint16Array:t=>Mt(Se.uint16Array(t),"Uint16Array",t),int32Array:t=>Mt(Se.int32Array(t),"Int32Array",t),uint32Array:t=>Mt(Se.uint32Array(t),"Uint32Array",t),float32Array:t=>Mt(Se.float32Array(t),"Float32Array",t),float64Array:t=>Mt(Se.float64Array(t),"Float64Array",t),bigInt64Array:t=>Mt(Se.bigInt64Array(t),"BigInt64Array",t),bigUint64Array:t=>Mt(Se.bigUint64Array(t),"BigUint64Array",t),arrayBuffer:t=>Mt(Se.arrayBuffer(t),"ArrayBuffer",t),sharedArrayBuffer:t=>Mt(Se.sharedArrayBuffer(t),"SharedArrayBuffer",t),dataView:t=>Mt(Se.dataView(t),"DataView",t),enumCase:(t,e)=>Mt(Se.enumCase(t,e),"EnumCase",t),urlInstance:t=>Mt(Se.urlInstance(t),"URL",t),urlString:t=>Mt(Se.urlString(t),"string with a URL",t),truthy:t=>Mt(Se.truthy(t),"truthy",t),falsy:t=>Mt(Se.falsy(t),"falsy",t),nan:t=>Mt(Se.nan(t),"NaN",t),primitive:t=>Mt(Se.primitive(t),"primitive",t),integer:t=>Mt(Se.integer(t),"integer",t),safeInteger:t=>Mt(Se.safeInteger(t),"integer",t),plainObject:t=>Mt(Se.plainObject(t),"plain object",t),typedArray:t=>Mt(Se.typedArray(t),"TypedArray",t),arrayLike:t=>Mt(Se.arrayLike(t),"array-like",t),domElement:t=>Mt(Se.domElement(t),"HTMLElement",t),observable:t=>Mt(Se.observable(t),"Observable",t),nodeStream:t=>Mt(Se.nodeStream(t),"Node.js Stream",t),infinite:t=>Mt(Se.infinite(t),"infinite number",t),emptyArray:t=>Mt(Se.emptyArray(t),"empty array",t),nonEmptyArray:t=>Mt(Se.nonEmptyArray(t),"non-empty array",t),emptyString:t=>Mt(Se.emptyString(t),"empty string",t),emptyStringOrWhitespace:t=>Mt(Se.emptyStringOrWhitespace(t),"empty string or whitespace",t),nonEmptyString:t=>Mt(Se.nonEmptyString(t),"non-empty string",t),nonEmptyStringAndNotWhitespace:t=>Mt(Se.nonEmptyStringAndNotWhitespace(t),"non-empty string and not whitespace",t),emptyObject:t=>Mt(Se.emptyObject(t),"empty object",t),nonEmptyObject:t=>Mt(Se.nonEmptyObject(t),"non-empty object",t),emptySet:t=>Mt(Se.emptySet(t),"empty set",t),nonEmptySet:t=>Mt(Se.nonEmptySet(t),"non-empty set",t),emptyMap:t=>Mt(Se.emptyMap(t),"empty map",t),nonEmptyMap:t=>Mt(Se.nonEmptyMap(t),"non-empty map",t),propertyKey:t=>Mt(Se.propertyKey(t),"PropertyKey",t),formData:t=>Mt(Se.formData(t),"FormData",t),urlSearchParams:t=>Mt(Se.urlSearchParams(t),"URLSearchParams",t),evenInteger:t=>Mt(Se.evenInteger(t),"even integer",t),oddInteger:t=>Mt(Se.oddInteger(t),"odd integer",t),directInstanceOf:(t,e)=>Mt(Se.directInstanceOf(t,e),"T",t),inRange:(t,e)=>Mt(Se.inRange(t,e),"in range",t),any:(t,...e)=>Mt(Se.any(t,...e),"predicate returns truthy for any value",e,{multipleValues:!0}),all:(t,...e)=>Mt(Se.all(t,...e),"predicate returns truthy for all values",e,{multipleValues:!0})};Object.defineProperties(Se,{class:{value:Se.class_},function:{value:Se.function_},null:{value:Se.null_}});Object.defineProperties(Qf.assert,{class:{value:Qf.assert.class_},function:{value:Qf.assert.function_},null:{value:Qf.assert.null_}});Qf.default=Se;Pb.exports=Se;Pb.exports.default=Se;Pb.exports.assert=Qf.assert});var Moe=_((GNt,oU)=>{"use strict";var Sb=class extends Error{constructor(e){super(e||"Promise was canceled"),this.name="CancelError"}get isCanceled(){return!0}},bb=class t{static fn(e){return(...r)=>new t((o,a,n)=>{r.push(n),e(...r).then(o,a)})}constructor(e){this._cancelHandlers=[],this._isPending=!0,this._isCanceled=!1,this._rejectOnCancel=!0,this._promise=new Promise((r,o)=>{this._reject=o;let a=A=>{this._isPending=!1,r(A)},n=A=>{this._isPending=!1,o(A)},u=A=>{if(!this._isPending)throw new Error("The `onCancel` handler was attached after the promise settled.");this._cancelHandlers.push(A)};return Object.defineProperties(u,{shouldReject:{get:()=>this._rejectOnCancel,set:A=>{this._rejectOnCancel=A}}}),e(a,n,u)})}then(e,r){return this._promise.then(e,r)}catch(e){return this._promise.catch(e)}finally(e){return this._promise.finally(e)}cancel(e){if(!(!this._isPending||this._isCanceled)){if(this._cancelHandlers.length>0)try{for(let r of this._cancelHandlers)r()}catch(r){this._reject(r)}this._isCanceled=!0,this._rejectOnCancel&&this._reject(new Sb(e))}}get isCanceled(){return this._isCanceled}};Object.setPrototypeOf(bb.prototype,Promise.prototype);oU.exports=bb;oU.exports.CancelError=Sb});var Uoe=_((lU,cU)=>{"use strict";Object.defineProperty(lU,"__esModule",{value:!0});function Mrt(t){return t.encrypted}var aU=(t,e)=>{let r;typeof e=="function"?r={connect:e}:r=e;let o=typeof r.connect=="function",a=typeof r.secureConnect=="function",n=typeof r.close=="function",u=()=>{o&&r.connect(),Mrt(t)&&a&&(t.authorized?r.secureConnect():t.authorizationError||t.once("secureConnect",r.secureConnect)),n&&t.once("close",r.close)};t.writable&&!t.connecting?u():t.connecting?t.once("connect",u):t.destroyed&&n&&r.close(t._hadError)};lU.default=aU;cU.exports=aU;cU.exports.default=aU});var _oe=_((AU,fU)=>{"use strict";Object.defineProperty(AU,"__esModule",{value:!0});var Urt=Uoe(),_rt=Number(process.versions.node.split(".")[0]),uU=t=>{let e={start:Date.now(),socket:void 0,lookup:void 0,connect:void 0,secureConnect:void 0,upload:void 0,response:void 0,end:void 0,error:void 0,abort:void 0,phases:{wait:void 0,dns:void 0,tcp:void 0,tls:void 0,request:void 0,firstByte:void 0,download:void 0,total:void 0}};t.timings=e;let r=u=>{let A=u.emit.bind(u);u.emit=(p,...h)=>(p==="error"&&(e.error=Date.now(),e.phases.total=e.error-e.start,u.emit=A),A(p,...h))};r(t),t.prependOnceListener("abort",()=>{e.abort=Date.now(),(!e.response||_rt>=13)&&(e.phases.total=Date.now()-e.start)});let o=u=>{e.socket=Date.now(),e.phases.wait=e.socket-e.start;let A=()=>{e.lookup=Date.now(),e.phases.dns=e.lookup-e.socket};u.prependOnceListener("lookup",A),Urt.default(u,{connect:()=>{e.connect=Date.now(),e.lookup===void 0&&(u.removeListener("lookup",A),e.lookup=e.connect,e.phases.dns=e.lookup-e.socket),e.phases.tcp=e.connect-e.lookup},secureConnect:()=>{e.secureConnect=Date.now(),e.phases.tls=e.secureConnect-e.connect}})};t.socket?o(t.socket):t.prependOnceListener("socket",o);let a=()=>{var u;e.upload=Date.now(),e.phases.request=e.upload-(u=e.secureConnect,u??e.connect)};return(typeof t.writableFinished=="boolean"?t.writableFinished:t.finished&&t.outputSize===0&&(!t.socket||t.socket.writableLength===0))?a():t.prependOnceListener("finish",a),t.prependOnceListener("response",u=>{e.response=Date.now(),e.phases.firstByte=e.response-e.upload,u.timings=e,r(u),u.prependOnceListener("end",()=>{e.end=Date.now(),e.phases.download=e.end-e.response,e.phases.total=e.end-e.start})}),e};AU.default=uU;fU.exports=uU;fU.exports.default=uU});var Koe=_((WNt,gU)=>{"use strict";var{V4MAPPED:Hrt,ADDRCONFIG:qrt,ALL:Yoe,promises:{Resolver:Hoe},lookup:jrt}=ve("dns"),{promisify:pU}=ve("util"),Grt=ve("os"),Cy=Symbol("cacheableLookupCreateConnection"),hU=Symbol("cacheableLookupInstance"),qoe=Symbol("expires"),Wrt=typeof Yoe=="number",joe=t=>{if(!(t&&typeof t.createConnection=="function"))throw new Error("Expected an Agent instance as the first argument")},Yrt=t=>{for(let e of t)e.family!==6&&(e.address=`::ffff:${e.address}`,e.family=6)},Goe=()=>{let t=!1,e=!1;for(let r of Object.values(Grt.networkInterfaces()))for(let o of r)if(!o.internal&&(o.family==="IPv6"?e=!0:t=!0,t&&e))return{has4:t,has6:e};return{has4:t,has6:e}},Krt=t=>Symbol.iterator in t,Woe={ttl:!0},Vrt={all:!0},xb=class{constructor({cache:e=new Map,maxTtl:r=1/0,fallbackDuration:o=3600,errorTtl:a=.15,resolver:n=new Hoe,lookup:u=jrt}={}){if(this.maxTtl=r,this.errorTtl=a,this._cache=e,this._resolver=n,this._dnsLookup=pU(u),this._resolver instanceof Hoe?(this._resolve4=this._resolver.resolve4.bind(this._resolver),this._resolve6=this._resolver.resolve6.bind(this._resolver)):(this._resolve4=pU(this._resolver.resolve4.bind(this._resolver)),this._resolve6=pU(this._resolver.resolve6.bind(this._resolver))),this._iface=Goe(),this._pending={},this._nextRemovalTime=!1,this._hostnamesToFallback=new Set,o<1)this._fallback=!1;else{this._fallback=!0;let A=setInterval(()=>{this._hostnamesToFallback.clear()},o*1e3);A.unref&&A.unref()}this.lookup=this.lookup.bind(this),this.lookupAsync=this.lookupAsync.bind(this)}set servers(e){this.clear(),this._resolver.setServers(e)}get servers(){return this._resolver.getServers()}lookup(e,r,o){if(typeof r=="function"?(o=r,r={}):typeof r=="number"&&(r={family:r}),!o)throw new Error("Callback must be a function.");this.lookupAsync(e,r).then(a=>{r.all?o(null,a):o(null,a.address,a.family,a.expires,a.ttl)},o)}async lookupAsync(e,r={}){typeof r=="number"&&(r={family:r});let o=await this.query(e);if(r.family===6){let a=o.filter(n=>n.family===6);r.hints&Hrt&&(Wrt&&r.hints&Yoe||a.length===0)?Yrt(o):o=a}else r.family===4&&(o=o.filter(a=>a.family===4));if(r.hints&qrt){let{_iface:a}=this;o=o.filter(n=>n.family===6?a.has6:a.has4)}if(o.length===0){let a=new Error(`cacheableLookup ENOTFOUND ${e}`);throw a.code="ENOTFOUND",a.hostname=e,a}return r.all?o:o[0]}async query(e){let r=await this._cache.get(e);if(!r){let o=this._pending[e];if(o)r=await o;else{let a=this.queryAndCache(e);this._pending[e]=a,r=await a}}return r=r.map(o=>({...o})),r}async _resolve(e){let r=async h=>{try{return await h}catch(E){if(E.code==="ENODATA"||E.code==="ENOTFOUND")return[];throw E}},[o,a]=await Promise.all([this._resolve4(e,Woe),this._resolve6(e,Woe)].map(h=>r(h))),n=0,u=0,A=0,p=Date.now();for(let h of o)h.family=4,h.expires=p+h.ttl*1e3,n=Math.max(n,h.ttl);for(let h of a)h.family=6,h.expires=p+h.ttl*1e3,u=Math.max(u,h.ttl);return o.length>0?a.length>0?A=Math.min(n,u):A=n:A=u,{entries:[...o,...a],cacheTtl:A}}async _lookup(e){try{return{entries:await this._dnsLookup(e,{all:!0}),cacheTtl:0}}catch{return{entries:[],cacheTtl:0}}}async _set(e,r,o){if(this.maxTtl>0&&o>0){o=Math.min(o,this.maxTtl)*1e3,r[qoe]=Date.now()+o;try{await this._cache.set(e,r,o)}catch(a){this.lookupAsync=async()=>{let n=new Error("Cache Error. Please recreate the CacheableLookup instance.");throw n.cause=a,n}}Krt(this._cache)&&this._tick(o)}}async queryAndCache(e){if(this._hostnamesToFallback.has(e))return this._dnsLookup(e,Vrt);try{let r=await this._resolve(e);r.entries.length===0&&this._fallback&&(r=await this._lookup(e),r.entries.length!==0&&this._hostnamesToFallback.add(e));let o=r.entries.length===0?this.errorTtl:r.cacheTtl;return await this._set(e,r.entries,o),delete this._pending[e],r.entries}catch(r){throw delete this._pending[e],r}}_tick(e){let r=this._nextRemovalTime;(!r||e<r)&&(clearTimeout(this._removalTimeout),this._nextRemovalTime=e,this._removalTimeout=setTimeout(()=>{this._nextRemovalTime=!1;let o=1/0,a=Date.now();for(let[n,u]of this._cache){let A=u[qoe];a>=A?this._cache.delete(n):A<o&&(o=A)}o!==1/0&&this._tick(o-a)},e),this._removalTimeout.unref&&this._removalTimeout.unref())}install(e){if(joe(e),Cy in e)throw new Error("CacheableLookup has been already installed");e[Cy]=e.createConnection,e[hU]=this,e.createConnection=(r,o)=>("lookup"in r||(r.lookup=this.lookup),e[Cy](r,o))}uninstall(e){if(joe(e),e[Cy]){if(e[hU]!==this)throw new Error("The agent is not owned by this CacheableLookup instance");e.createConnection=e[Cy],delete e[Cy],delete e[hU]}}updateInterfaceInfo(){let{_iface:e}=this;this._iface=Goe(),(e.has4&&!this._iface.has4||e.has6&&!this._iface.has6)&&this._cache.clear()}clear(e){if(e){this._cache.delete(e);return}this._cache.clear()}};gU.exports=xb;gU.exports.default=xb});var zoe=_((YNt,dU)=>{"use strict";var Jrt=typeof URL>"u"?ve("url").URL:URL,zrt="text/plain",Xrt="us-ascii",Voe=(t,e)=>e.some(r=>r instanceof RegExp?r.test(t):r===t),Zrt=(t,{stripHash:e})=>{let r=t.match(/^data:([^,]*?),([^#]*?)(?:#(.*))?$/);if(!r)throw new Error(`Invalid URL: ${t}`);let o=r[1].split(";"),a=r[2],n=e?"":r[3],u=!1;o[o.length-1]==="base64"&&(o.pop(),u=!0);let A=(o.shift()||"").toLowerCase(),h=[...o.map(E=>{let[w,D=""]=E.split("=").map(x=>x.trim());return w==="charset"&&(D=D.toLowerCase(),D===Xrt)?"":`${w}${D?`=${D}`:""}`}).filter(Boolean)];return u&&h.push("base64"),(h.length!==0||A&&A!==zrt)&&h.unshift(A),`data:${h.join(";")},${u?a.trim():a}${n?`#${n}`:""}`},Joe=(t,e)=>{if(e={defaultProtocol:"http:",normalizeProtocol:!0,forceHttp:!1,forceHttps:!1,stripAuthentication:!0,stripHash:!1,stripWWW:!0,removeQueryParameters:[/^utm_\w+/i],removeTrailingSlash:!0,removeDirectoryIndex:!1,sortQueryParameters:!0,...e},Reflect.has(e,"normalizeHttps"))throw new Error("options.normalizeHttps is renamed to options.forceHttp");if(Reflect.has(e,"normalizeHttp"))throw new Error("options.normalizeHttp is renamed to options.forceHttps");if(Reflect.has(e,"stripFragment"))throw new Error("options.stripFragment is renamed to options.stripHash");if(t=t.trim(),/^data:/i.test(t))return Zrt(t,e);let r=t.startsWith("//");!r&&/^\.*\//.test(t)||(t=t.replace(/^(?!(?:\w+:)?\/\/)|^\/\//,e.defaultProtocol));let a=new Jrt(t);if(e.forceHttp&&e.forceHttps)throw new Error("The `forceHttp` and `forceHttps` options cannot be used together");if(e.forceHttp&&a.protocol==="https:"&&(a.protocol="http:"),e.forceHttps&&a.protocol==="http:"&&(a.protocol="https:"),e.stripAuthentication&&(a.username="",a.password=""),e.stripHash&&(a.hash=""),a.pathname&&(a.pathname=a.pathname.replace(/((?!:).|^)\/{2,}/g,(n,u)=>/^(?!\/)/g.test(u)?`${u}/`:"/")),a.pathname&&(a.pathname=decodeURI(a.pathname)),e.removeDirectoryIndex===!0&&(e.removeDirectoryIndex=[/^index\.[a-z]+$/]),Array.isArray(e.removeDirectoryIndex)&&e.removeDirectoryIndex.length>0){let n=a.pathname.split("/"),u=n[n.length-1];Voe(u,e.removeDirectoryIndex)&&(n=n.slice(0,n.length-1),a.pathname=n.slice(1).join("/")+"/")}if(a.hostname&&(a.hostname=a.hostname.replace(/\.$/,""),e.stripWWW&&/^www\.([a-z\-\d]{2,63})\.([a-z.]{2,5})$/.test(a.hostname)&&(a.hostname=a.hostname.replace(/^www\./,""))),Array.isArray(e.removeQueryParameters))for(let n of[...a.searchParams.keys()])Voe(n,e.removeQueryParameters)&&a.searchParams.delete(n);return e.sortQueryParameters&&a.searchParams.sort(),e.removeTrailingSlash&&(a.pathname=a.pathname.replace(/\/$/,"")),t=a.toString(),(e.removeTrailingSlash||a.pathname==="/")&&a.hash===""&&(t=t.replace(/\/$/,"")),r&&!e.normalizeProtocol&&(t=t.replace(/^http:\/\//,"//")),e.stripProtocol&&(t=t.replace(/^(?:https?:)?\/\//,"")),t};dU.exports=Joe;dU.exports.default=Joe});var $oe=_((KNt,Zoe)=>{Zoe.exports=Xoe;function Xoe(t,e){if(t&&e)return Xoe(t)(e);if(typeof t!="function")throw new TypeError("need wrapper function");return Object.keys(t).forEach(function(o){r[o]=t[o]}),r;function r(){for(var o=new Array(arguments.length),a=0;a<o.length;a++)o[a]=arguments[a];var n=t.apply(this,o),u=o[o.length-1];return typeof n=="function"&&n!==u&&Object.keys(u).forEach(function(A){n[A]=u[A]}),n}}});var yU=_((VNt,mU)=>{var eae=$oe();mU.exports=eae(kb);mU.exports.strict=eae(tae);kb.proto=kb(function(){Object.defineProperty(Function.prototype,"once",{value:function(){return kb(this)},configurable:!0}),Object.defineProperty(Function.prototype,"onceStrict",{value:function(){return tae(this)},configurable:!0})});function kb(t){var e=function(){return e.called?e.value:(e.called=!0,e.value=t.apply(this,arguments))};return e.called=!1,e}function tae(t){var e=function(){if(e.called)throw new Error(e.onceError);return e.called=!0,e.value=t.apply(this,arguments)},r=t.name||"Function wrapped with `once`";return e.onceError=r+" shouldn't be called more than once",e.called=!1,e}});var EU=_((JNt,nae)=>{var $rt=yU(),ent=function(){},tnt=function(t){return t.setHeader&&typeof t.abort=="function"},rnt=function(t){return t.stdio&&Array.isArray(t.stdio)&&t.stdio.length===3},rae=function(t,e,r){if(typeof e=="function")return rae(t,null,e);e||(e={}),r=$rt(r||ent);var o=t._writableState,a=t._readableState,n=e.readable||e.readable!==!1&&t.readable,u=e.writable||e.writable!==!1&&t.writable,A=function(){t.writable||p()},p=function(){u=!1,n||r.call(t)},h=function(){n=!1,u||r.call(t)},E=function(C){r.call(t,C?new Error("exited with error code: "+C):null)},w=function(C){r.call(t,C)},D=function(){if(n&&!(a&&a.ended))return r.call(t,new Error("premature close"));if(u&&!(o&&o.ended))return r.call(t,new Error("premature close"))},x=function(){t.req.on("finish",p)};return tnt(t)?(t.on("complete",p),t.on("abort",D),t.req?x():t.on("request",x)):u&&!o&&(t.on("end",A),t.on("close",A)),rnt(t)&&t.on("exit",E),t.on("end",h),t.on("finish",p),e.error!==!1&&t.on("error",w),t.on("close",D),function(){t.removeListener("complete",p),t.removeListener("abort",D),t.removeListener("request",x),t.req&&t.req.removeListener("finish",p),t.removeListener("end",A),t.removeListener("close",A),t.removeListener("finish",p),t.removeListener("exit",E),t.removeListener("end",h),t.removeListener("error",w),t.removeListener("close",D)}};nae.exports=rae});var oae=_((zNt,sae)=>{var nnt=yU(),int=EU(),CU=ve("fs"),Q1=function(){},snt=/^v?\.0/.test(process.version),Qb=function(t){return typeof t=="function"},ont=function(t){return!snt||!CU?!1:(t instanceof(CU.ReadStream||Q1)||t instanceof(CU.WriteStream||Q1))&&Qb(t.close)},ant=function(t){return t.setHeader&&Qb(t.abort)},lnt=function(t,e,r,o){o=nnt(o);var a=!1;t.on("close",function(){a=!0}),int(t,{readable:e,writable:r},function(u){if(u)return o(u);a=!0,o()});var n=!1;return function(u){if(!a&&!n){if(n=!0,ont(t))return t.close(Q1);if(ant(t))return t.abort();if(Qb(t.destroy))return t.destroy();o(u||new Error("stream was destroyed"))}}},iae=function(t){t()},cnt=function(t,e){return t.pipe(e)},unt=function(){var t=Array.prototype.slice.call(arguments),e=Qb(t[t.length-1]||Q1)&&t.pop()||Q1;if(Array.isArray(t[0])&&(t=t[0]),t.length<2)throw new Error("pump requires two streams per minimum");var r,o=t.map(function(a,n){var u=n<t.length-1,A=n>0;return lnt(a,u,A,function(p){r||(r=p),p&&o.forEach(iae),!u&&(o.forEach(iae),e(r))})});return t.reduce(cnt)};sae.exports=unt});var lae=_((XNt,aae)=>{"use strict";var{PassThrough:Ant}=ve("stream");aae.exports=t=>{t={...t};let{array:e}=t,{encoding:r}=t,o=r==="buffer",a=!1;e?a=!(r||o):r=r||"utf8",o&&(r=null);let n=new Ant({objectMode:a});r&&n.setEncoding(r);let u=0,A=[];return n.on("data",p=>{A.push(p),a?u=A.length:u+=p.length}),n.getBufferedValue=()=>e?A:o?Buffer.concat(A,u):A.join(""),n.getBufferedLength=()=>u,n}});var cae=_((ZNt,Iy)=>{"use strict";var fnt=oae(),pnt=lae(),Fb=class extends Error{constructor(){super("maxBuffer exceeded"),this.name="MaxBufferError"}};async function Rb(t,e){if(!t)return Promise.reject(new Error("Expected a stream"));e={maxBuffer:1/0,...e};let{maxBuffer:r}=e,o;return await new Promise((a,n)=>{let u=A=>{A&&(A.bufferedData=o.getBufferedValue()),n(A)};o=fnt(t,pnt(e),A=>{if(A){u(A);return}a()}),o.on("data",()=>{o.getBufferedLength()>r&&u(new Fb)})}),o.getBufferedValue()}Iy.exports=Rb;Iy.exports.default=Rb;Iy.exports.buffer=(t,e)=>Rb(t,{...e,encoding:"buffer"});Iy.exports.array=(t,e)=>Rb(t,{...e,array:!0});Iy.exports.MaxBufferError=Fb});var Aae=_((eLt,uae)=>{"use strict";var hnt=new Set([200,203,204,206,300,301,308,404,405,410,414,501]),gnt=new Set([200,203,204,300,301,302,303,307,308,404,405,410,414,501]),dnt=new Set([500,502,503,504]),mnt={date:!0,connection:!0,"keep-alive":!0,"proxy-authenticate":!0,"proxy-authorization":!0,te:!0,trailer:!0,"transfer-encoding":!0,upgrade:!0},ynt={"content-length":!0,"content-encoding":!0,"transfer-encoding":!0,"content-range":!0};function Sg(t){let e=parseInt(t,10);return isFinite(e)?e:0}function Ent(t){return t?dnt.has(t.status):!0}function IU(t){let e={};if(!t)return e;let r=t.trim().split(/,/);for(let o of r){let[a,n]=o.split(/=/,2);e[a.trim()]=n===void 0?!0:n.trim().replace(/^"|"$/g,"")}return e}function Cnt(t){let e=[];for(let r in t){let o=t[r];e.push(o===!0?r:r+"="+o)}if(e.length)return e.join(", ")}uae.exports=class{constructor(e,r,{shared:o,cacheHeuristic:a,immutableMinTimeToLive:n,ignoreCargoCult:u,_fromObject:A}={}){if(A){this._fromObject(A);return}if(!r||!r.headers)throw Error("Response headers missing");this._assertRequestHasHeaders(e),this._responseTime=this.now(),this._isShared=o!==!1,this._cacheHeuristic=a!==void 0?a:.1,this._immutableMinTtl=n!==void 0?n:24*3600*1e3,this._status="status"in r?r.status:200,this._resHeaders=r.headers,this._rescc=IU(r.headers["cache-control"]),this._method="method"in e?e.method:"GET",this._url=e.url,this._host=e.headers.host,this._noAuthorization=!e.headers.authorization,this._reqHeaders=r.headers.vary?e.headers:null,this._reqcc=IU(e.headers["cache-control"]),u&&"pre-check"in this._rescc&&"post-check"in this._rescc&&(delete this._rescc["pre-check"],delete this._rescc["post-check"],delete this._rescc["no-cache"],delete this._rescc["no-store"],delete this._rescc["must-revalidate"],this._resHeaders=Object.assign({},this._resHeaders,{"cache-control":Cnt(this._rescc)}),delete this._resHeaders.expires,delete this._resHeaders.pragma),r.headers["cache-control"]==null&&/no-cache/.test(r.headers.pragma)&&(this._rescc["no-cache"]=!0)}now(){return Date.now()}storable(){return!!(!this._reqcc["no-store"]&&(this._method==="GET"||this._method==="HEAD"||this._method==="POST"&&this._hasExplicitExpiration())&&gnt.has(this._status)&&!this._rescc["no-store"]&&(!this._isShared||!this._rescc.private)&&(!this._isShared||this._noAuthorization||this._allowsStoringAuthenticated())&&(this._resHeaders.expires||this._rescc["max-age"]||this._isShared&&this._rescc["s-maxage"]||this._rescc.public||hnt.has(this._status)))}_hasExplicitExpiration(){return this._isShared&&this._rescc["s-maxage"]||this._rescc["max-age"]||this._resHeaders.expires}_assertRequestHasHeaders(e){if(!e||!e.headers)throw Error("Request headers missing")}satisfiesWithoutRevalidation(e){this._assertRequestHasHeaders(e);let r=IU(e.headers["cache-control"]);return r["no-cache"]||/no-cache/.test(e.headers.pragma)||r["max-age"]&&this.age()>r["max-age"]||r["min-fresh"]&&this.timeToLive()<1e3*r["min-fresh"]||this.stale()&&!(r["max-stale"]&&!this._rescc["must-revalidate"]&&(r["max-stale"]===!0||r["max-stale"]>this.age()-this.maxAge()))?!1:this._requestMatches(e,!1)}_requestMatches(e,r){return(!this._url||this._url===e.url)&&this._host===e.headers.host&&(!e.method||this._method===e.method||r&&e.method==="HEAD")&&this._varyMatches(e)}_allowsStoringAuthenticated(){return this._rescc["must-revalidate"]||this._rescc.public||this._rescc["s-maxage"]}_varyMatches(e){if(!this._resHeaders.vary)return!0;if(this._resHeaders.vary==="*")return!1;let r=this._resHeaders.vary.trim().toLowerCase().split(/\s*,\s*/);for(let o of r)if(e.headers[o]!==this._reqHeaders[o])return!1;return!0}_copyWithoutHopByHopHeaders(e){let r={};for(let o in e)mnt[o]||(r[o]=e[o]);if(e.connection){let o=e.connection.trim().split(/\s*,\s*/);for(let a of o)delete r[a]}if(r.warning){let o=r.warning.split(/,/).filter(a=>!/^\s*1[0-9][0-9]/.test(a));o.length?r.warning=o.join(",").trim():delete r.warning}return r}responseHeaders(){let e=this._copyWithoutHopByHopHeaders(this._resHeaders),r=this.age();return r>3600*24&&!this._hasExplicitExpiration()&&this.maxAge()>3600*24&&(e.warning=(e.warning?`${e.warning}, `:"")+'113 - "rfc7234 5.5.4"'),e.age=`${Math.round(r)}`,e.date=new Date(this.now()).toUTCString(),e}date(){let e=Date.parse(this._resHeaders.date);return isFinite(e)?e:this._responseTime}age(){let e=this._ageValue(),r=(this.now()-this._responseTime)/1e3;return e+r}_ageValue(){return Sg(this._resHeaders.age)}maxAge(){if(!this.storable()||this._rescc["no-cache"]||this._isShared&&this._resHeaders["set-cookie"]&&!this._rescc.public&&!this._rescc.immutable||this._resHeaders.vary==="*")return 0;if(this._isShared){if(this._rescc["proxy-revalidate"])return 0;if(this._rescc["s-maxage"])return Sg(this._rescc["s-maxage"])}if(this._rescc["max-age"])return Sg(this._rescc["max-age"]);let e=this._rescc.immutable?this._immutableMinTtl:0,r=this.date();if(this._resHeaders.expires){let o=Date.parse(this._resHeaders.expires);return Number.isNaN(o)||o<r?0:Math.max(e,(o-r)/1e3)}if(this._resHeaders["last-modified"]){let o=Date.parse(this._resHeaders["last-modified"]);if(isFinite(o)&&r>o)return Math.max(e,(r-o)/1e3*this._cacheHeuristic)}return e}timeToLive(){let e=this.maxAge()-this.age(),r=e+Sg(this._rescc["stale-if-error"]),o=e+Sg(this._rescc["stale-while-revalidate"]);return Math.max(0,e,r,o)*1e3}stale(){return this.maxAge()<=this.age()}_useStaleIfError(){return this.maxAge()+Sg(this._rescc["stale-if-error"])>this.age()}useStaleWhileRevalidate(){return this.maxAge()+Sg(this._rescc["stale-while-revalidate"])>this.age()}static fromObject(e){return new this(void 0,void 0,{_fromObject:e})}_fromObject(e){if(this._responseTime)throw Error("Reinitialized");if(!e||e.v!==1)throw Error("Invalid serialization");this._responseTime=e.t,this._isShared=e.sh,this._cacheHeuristic=e.ch,this._immutableMinTtl=e.imm!==void 0?e.imm:24*3600*1e3,this._status=e.st,this._resHeaders=e.resh,this._rescc=e.rescc,this._method=e.m,this._url=e.u,this._host=e.h,this._noAuthorization=e.a,this._reqHeaders=e.reqh,this._reqcc=e.reqcc}toObject(){return{v:1,t:this._responseTime,sh:this._isShared,ch:this._cacheHeuristic,imm:this._immutableMinTtl,st:this._status,resh:this._resHeaders,rescc:this._rescc,m:this._method,u:this._url,h:this._host,a:this._noAuthorization,reqh:this._reqHeaders,reqcc:this._reqcc}}revalidationHeaders(e){this._assertRequestHasHeaders(e);let r=this._copyWithoutHopByHopHeaders(e.headers);if(delete r["if-range"],!this._requestMatches(e,!0)||!this.storable())return delete r["if-none-match"],delete r["if-modified-since"],r;if(this._resHeaders.etag&&(r["if-none-match"]=r["if-none-match"]?`${r["if-none-match"]}, ${this._resHeaders.etag}`:this._resHeaders.etag),r["accept-ranges"]||r["if-match"]||r["if-unmodified-since"]||this._method&&this._method!="GET"){if(delete r["if-modified-since"],r["if-none-match"]){let a=r["if-none-match"].split(/,/).filter(n=>!/^\s*W\//.test(n));a.length?r["if-none-match"]=a.join(",").trim():delete r["if-none-match"]}}else this._resHeaders["last-modified"]&&!r["if-modified-since"]&&(r["if-modified-since"]=this._resHeaders["last-modified"]);return r}revalidatedPolicy(e,r){if(this._assertRequestHasHeaders(e),this._useStaleIfError()&&Ent(r))return{modified:!1,matches:!1,policy:this};if(!r||!r.headers)throw Error("Response headers missing");let o=!1;if(r.status!==void 0&&r.status!=304?o=!1:r.headers.etag&&!/^\s*W\//.test(r.headers.etag)?o=this._resHeaders.etag&&this._resHeaders.etag.replace(/^\s*W\//,"")===r.headers.etag:this._resHeaders.etag&&r.headers.etag?o=this._resHeaders.etag.replace(/^\s*W\//,"")===r.headers.etag.replace(/^\s*W\//,""):this._resHeaders["last-modified"]?o=this._resHeaders["last-modified"]===r.headers["last-modified"]:!this._resHeaders.etag&&!this._resHeaders["last-modified"]&&!r.headers.etag&&!r.headers["last-modified"]&&(o=!0),!o)return{policy:new this.constructor(e,r),modified:r.status!=304,matches:!1};let a={};for(let u in this._resHeaders)a[u]=u in r.headers&&!ynt[u]?r.headers[u]:this._resHeaders[u];let n=Object.assign({},r,{status:this._status,method:this._method,headers:a});return{policy:new this.constructor(e,n,{shared:this._isShared,cacheHeuristic:this._cacheHeuristic,immutableMinTimeToLive:this._immutableMinTtl}),modified:!1,matches:!0}}}});var Tb=_((tLt,fae)=>{"use strict";fae.exports=t=>{let e={};for(let[r,o]of Object.entries(t))e[r.toLowerCase()]=o;return e}});var hae=_((rLt,pae)=>{"use strict";var Int=ve("stream").Readable,wnt=Tb(),wU=class extends Int{constructor(e,r,o,a){if(typeof e!="number")throw new TypeError("Argument `statusCode` should be a number");if(typeof r!="object")throw new TypeError("Argument `headers` should be an object");if(!(o instanceof Buffer))throw new TypeError("Argument `body` should be a buffer");if(typeof a!="string")throw new TypeError("Argument `url` should be a string");super(),this.statusCode=e,this.headers=wnt(r),this.body=o,this.url=a}_read(){this.push(this.body),this.push(null)}};pae.exports=wU});var dae=_((nLt,gae)=>{"use strict";var Bnt=["destroy","setTimeout","socket","headers","trailers","rawHeaders","statusCode","httpVersion","httpVersionMinor","httpVersionMajor","rawTrailers","statusMessage"];gae.exports=(t,e)=>{let r=new Set(Object.keys(t).concat(Bnt));for(let o of r)o in e||(e[o]=typeof t[o]=="function"?t[o].bind(t):t[o])}});var yae=_((iLt,mae)=>{"use strict";var vnt=ve("stream").PassThrough,Dnt=dae(),Pnt=t=>{if(!(t&&t.pipe))throw new TypeError("Parameter `response` must be a response stream.");let e=new vnt;return Dnt(t,e),t.pipe(e)};mae.exports=Pnt});var Eae=_(BU=>{BU.stringify=function t(e){if(typeof e>"u")return e;if(e&&Buffer.isBuffer(e))return JSON.stringify(":base64:"+e.toString("base64"));if(e&&e.toJSON&&(e=e.toJSON()),e&&typeof e=="object"){var r="",o=Array.isArray(e);r=o?"[":"{";var a=!0;for(var n in e){var u=typeof e[n]=="function"||!o&&typeof e[n]>"u";Object.hasOwnProperty.call(e,n)&&!u&&(a||(r+=","),a=!1,o?e[n]==null?r+="null":r+=t(e[n]):e[n]!==void 0&&(r+=t(n)+":"+t(e[n])))}return r+=o?"]":"}",r}else return typeof e=="string"?JSON.stringify(/^:/.test(e)?":"+e:e):typeof e>"u"?"null":JSON.stringify(e)};BU.parse=function(t){return JSON.parse(t,function(e,r){return typeof r=="string"?/^:base64:/.test(r)?Buffer.from(r.substring(8),"base64"):/^:/.test(r)?r.substring(1):r:r})}});var Bae=_((oLt,wae)=>{"use strict";var Snt=ve("events"),Cae=Eae(),bnt=t=>{let e={redis:"@keyv/redis",rediss:"@keyv/redis",mongodb:"@keyv/mongo",mongo:"@keyv/mongo",sqlite:"@keyv/sqlite",postgresql:"@keyv/postgres",postgres:"@keyv/postgres",mysql:"@keyv/mysql",etcd:"@keyv/etcd",offline:"@keyv/offline",tiered:"@keyv/tiered"};if(t.adapter||t.uri){let r=t.adapter||/^[^:+]*/.exec(t.uri)[0];return new(ve(e[r]))(t)}return new Map},Iae=["sqlite","postgres","mysql","mongo","redis","tiered"],vU=class extends Snt{constructor(e,{emitErrors:r=!0,...o}={}){if(super(),this.opts={namespace:"keyv",serialize:Cae.stringify,deserialize:Cae.parse,...typeof e=="string"?{uri:e}:e,...o},!this.opts.store){let n={...this.opts};this.opts.store=bnt(n)}if(this.opts.compression){let n=this.opts.compression;this.opts.serialize=n.serialize.bind(n),this.opts.deserialize=n.deserialize.bind(n)}typeof this.opts.store.on=="function"&&r&&this.opts.store.on("error",n=>this.emit("error",n)),this.opts.store.namespace=this.opts.namespace;let a=n=>async function*(){for await(let[u,A]of typeof n=="function"?n(this.opts.store.namespace):n){let p=await this.opts.deserialize(A);if(!(this.opts.store.namespace&&!u.includes(this.opts.store.namespace))){if(typeof p.expires=="number"&&Date.now()>p.expires){this.delete(u);continue}yield[this._getKeyUnprefix(u),p.value]}}};typeof this.opts.store[Symbol.iterator]=="function"&&this.opts.store instanceof Map?this.iterator=a(this.opts.store):typeof this.opts.store.iterator=="function"&&this.opts.store.opts&&this._checkIterableAdaptar()&&(this.iterator=a(this.opts.store.iterator.bind(this.opts.store)))}_checkIterableAdaptar(){return Iae.includes(this.opts.store.opts.dialect)||Iae.findIndex(e=>this.opts.store.opts.url.includes(e))>=0}_getKeyPrefix(e){return`${this.opts.namespace}:${e}`}_getKeyPrefixArray(e){return e.map(r=>`${this.opts.namespace}:${r}`)}_getKeyUnprefix(e){return e.split(":").splice(1).join(":")}get(e,r){let{store:o}=this.opts,a=Array.isArray(e),n=a?this._getKeyPrefixArray(e):this._getKeyPrefix(e);if(a&&o.getMany===void 0){let u=[];for(let A of n)u.push(Promise.resolve().then(()=>o.get(A)).then(p=>typeof p=="string"?this.opts.deserialize(p):this.opts.compression?this.opts.deserialize(p):p).then(p=>{if(p!=null)return typeof p.expires=="number"&&Date.now()>p.expires?this.delete(A).then(()=>{}):r&&r.raw?p:p.value}));return Promise.allSettled(u).then(A=>{let p=[];for(let h of A)p.push(h.value);return p})}return Promise.resolve().then(()=>a?o.getMany(n):o.get(n)).then(u=>typeof u=="string"?this.opts.deserialize(u):this.opts.compression?this.opts.deserialize(u):u).then(u=>{if(u!=null)return a?u.map((A,p)=>{if(typeof A=="string"&&(A=this.opts.deserialize(A)),A!=null){if(typeof A.expires=="number"&&Date.now()>A.expires){this.delete(e[p]).then(()=>{});return}return r&&r.raw?A:A.value}}):typeof u.expires=="number"&&Date.now()>u.expires?this.delete(e).then(()=>{}):r&&r.raw?u:u.value})}set(e,r,o){let a=this._getKeyPrefix(e);typeof o>"u"&&(o=this.opts.ttl),o===0&&(o=void 0);let{store:n}=this.opts;return Promise.resolve().then(()=>{let u=typeof o=="number"?Date.now()+o:null;return typeof r=="symbol"&&this.emit("error","symbol cannot be serialized"),r={value:r,expires:u},this.opts.serialize(r)}).then(u=>n.set(a,u,o)).then(()=>!0)}delete(e){let{store:r}=this.opts;if(Array.isArray(e)){let a=this._getKeyPrefixArray(e);if(r.deleteMany===void 0){let n=[];for(let u of a)n.push(r.delete(u));return Promise.allSettled(n).then(u=>u.every(A=>A.value===!0))}return Promise.resolve().then(()=>r.deleteMany(a))}let o=this._getKeyPrefix(e);return Promise.resolve().then(()=>r.delete(o))}clear(){let{store:e}=this.opts;return Promise.resolve().then(()=>e.clear())}has(e){let r=this._getKeyPrefix(e),{store:o}=this.opts;return Promise.resolve().then(async()=>typeof o.has=="function"?o.has(r):await o.get(r)!==void 0)}disconnect(){let{store:e}=this.opts;if(typeof e.disconnect=="function")return e.disconnect()}};wae.exports=vU});var Pae=_((lLt,Dae)=>{"use strict";var xnt=ve("events"),Nb=ve("url"),knt=zoe(),Qnt=cae(),DU=Aae(),vae=hae(),Fnt=Tb(),Rnt=yae(),Tnt=Bae(),F1=class t{constructor(e,r){if(typeof e!="function")throw new TypeError("Parameter `request` must be a function");return this.cache=new Tnt({uri:typeof r=="string"&&r,store:typeof r!="string"&&r,namespace:"cacheable-request"}),this.createCacheableRequest(e)}createCacheableRequest(e){return(r,o)=>{let a;if(typeof r=="string")a=PU(Nb.parse(r)),r={};else if(r instanceof Nb.URL)a=PU(Nb.parse(r.toString())),r={};else{let[w,...D]=(r.path||"").split("?"),x=D.length>0?`?${D.join("?")}`:"";a=PU({...r,pathname:w,search:x})}r={headers:{},method:"GET",cache:!0,strictTtl:!1,automaticFailover:!1,...r,...Nnt(a)},r.headers=Fnt(r.headers);let n=new xnt,u=knt(Nb.format(a),{stripWWW:!1,removeTrailingSlash:!1,stripAuthentication:!1}),A=`${r.method}:${u}`,p=!1,h=!1,E=w=>{h=!0;let D=!1,x,C=new Promise(L=>{x=()=>{D||(D=!0,L())}}),T=L=>{if(p&&!w.forceRefresh){L.status=L.statusCode;let J=DU.fromObject(p.cachePolicy).revalidatedPolicy(w,L);if(!J.modified){let te=J.policy.responseHeaders();L=new vae(p.statusCode,te,p.body,p.url),L.cachePolicy=J.policy,L.fromCache=!0}}L.fromCache||(L.cachePolicy=new DU(w,L,w),L.fromCache=!1);let U;w.cache&&L.cachePolicy.storable()?(U=Rnt(L),(async()=>{try{let J=Qnt.buffer(L);if(await Promise.race([C,new Promise(ue=>L.once("end",ue))]),D)return;let te=await J,le={cachePolicy:L.cachePolicy.toObject(),url:L.url,statusCode:L.fromCache?p.statusCode:L.statusCode,body:te},ce=w.strictTtl?L.cachePolicy.timeToLive():void 0;w.maxTtl&&(ce=ce?Math.min(ce,w.maxTtl):w.maxTtl),await this.cache.set(A,le,ce)}catch(J){n.emit("error",new t.CacheError(J))}})()):w.cache&&p&&(async()=>{try{await this.cache.delete(A)}catch(J){n.emit("error",new t.CacheError(J))}})(),n.emit("response",U||L),typeof o=="function"&&o(U||L)};try{let L=e(w,T);L.once("error",x),L.once("abort",x),n.emit("request",L)}catch(L){n.emit("error",new t.RequestError(L))}};return(async()=>{let w=async x=>{await Promise.resolve();let C=x.cache?await this.cache.get(A):void 0;if(typeof C>"u")return E(x);let T=DU.fromObject(C.cachePolicy);if(T.satisfiesWithoutRevalidation(x)&&!x.forceRefresh){let L=T.responseHeaders(),U=new vae(C.statusCode,L,C.body,C.url);U.cachePolicy=T,U.fromCache=!0,n.emit("response",U),typeof o=="function"&&o(U)}else p=C,x.headers=T.revalidationHeaders(x),E(x)},D=x=>n.emit("error",new t.CacheError(x));this.cache.once("error",D),n.on("response",()=>this.cache.removeListener("error",D));try{await w(r)}catch(x){r.automaticFailover&&!h&&E(r),n.emit("error",new t.CacheError(x))}})(),n}}};function Nnt(t){let e={...t};return e.path=`${t.pathname||"/"}${t.search||""}`,delete e.pathname,delete e.search,e}function PU(t){return{protocol:t.protocol,auth:t.auth,hostname:t.hostname||t.host||"localhost",port:t.port,pathname:t.pathname,search:t.search}}F1.RequestError=class extends Error{constructor(t){super(t.message),this.name="RequestError",Object.assign(this,t)}};F1.CacheError=class extends Error{constructor(t){super(t.message),this.name="CacheError",Object.assign(this,t)}};Dae.exports=F1});var bae=_((ALt,Sae)=>{"use strict";var Lnt=["aborted","complete","headers","httpVersion","httpVersionMinor","httpVersionMajor","method","rawHeaders","rawTrailers","setTimeout","socket","statusCode","statusMessage","trailers","url"];Sae.exports=(t,e)=>{if(e._readableState.autoDestroy)throw new Error("The second stream must have the `autoDestroy` option set to `false`");let r=new Set(Object.keys(t).concat(Lnt)),o={};for(let a of r)a in e||(o[a]={get(){let n=t[a];return typeof n=="function"?n.bind(t):n},set(n){t[a]=n},enumerable:!0,configurable:!1});return Object.defineProperties(e,o),t.once("aborted",()=>{e.destroy(),e.emit("aborted")}),t.once("close",()=>{t.complete&&e.readable?e.once("end",()=>{e.emit("close")}):e.emit("close")}),e}});var kae=_((fLt,xae)=>{"use strict";var{Transform:Ont,PassThrough:Mnt}=ve("stream"),SU=ve("zlib"),Unt=bae();xae.exports=t=>{let e=(t.headers["content-encoding"]||"").toLowerCase();if(!["gzip","deflate","br"].includes(e))return t;let r=e==="br";if(r&&typeof SU.createBrotliDecompress!="function")return t.destroy(new Error("Brotli is not supported on Node.js < 12")),t;let o=!0,a=new Ont({transform(A,p,h){o=!1,h(null,A)},flush(A){A()}}),n=new Mnt({autoDestroy:!1,destroy(A,p){t.destroy(),p(A)}}),u=r?SU.createBrotliDecompress():SU.createUnzip();return u.once("error",A=>{if(o&&!t.readable){n.end();return}n.destroy(A)}),Unt(t,n),t.pipe(a).pipe(u).pipe(n),n}});var xU=_((pLt,Qae)=>{"use strict";var bU=class{constructor(e={}){if(!(e.maxSize&&e.maxSize>0))throw new TypeError("`maxSize` must be a number greater than 0");this.maxSize=e.maxSize,this.onEviction=e.onEviction,this.cache=new Map,this.oldCache=new Map,this._size=0}_set(e,r){if(this.cache.set(e,r),this._size++,this._size>=this.maxSize){if(this._size=0,typeof this.onEviction=="function")for(let[o,a]of this.oldCache.entries())this.onEviction(o,a);this.oldCache=this.cache,this.cache=new Map}}get(e){if(this.cache.has(e))return this.cache.get(e);if(this.oldCache.has(e)){let r=this.oldCache.get(e);return this.oldCache.delete(e),this._set(e,r),r}}set(e,r){return this.cache.has(e)?this.cache.set(e,r):this._set(e,r),this}has(e){return this.cache.has(e)||this.oldCache.has(e)}peek(e){if(this.cache.has(e))return this.cache.get(e);if(this.oldCache.has(e))return this.oldCache.get(e)}delete(e){let r=this.cache.delete(e);return r&&this._size--,this.oldCache.delete(e)||r}clear(){this.cache.clear(),this.oldCache.clear(),this._size=0}*keys(){for(let[e]of this)yield e}*values(){for(let[,e]of this)yield e}*[Symbol.iterator](){for(let e of this.cache)yield e;for(let e of this.oldCache){let[r]=e;this.cache.has(r)||(yield e)}}get size(){let e=0;for(let r of this.oldCache.keys())this.cache.has(r)||e++;return Math.min(this._size+e,this.maxSize)}};Qae.exports=bU});var QU=_((hLt,Nae)=>{"use strict";var _nt=ve("events"),Hnt=ve("tls"),qnt=ve("http2"),jnt=xU(),ea=Symbol("currentStreamsCount"),Fae=Symbol("request"),Jl=Symbol("cachedOriginSet"),wy=Symbol("gracefullyClosing"),Gnt=["maxDeflateDynamicTableSize","maxSessionMemory","maxHeaderListPairs","maxOutstandingPings","maxReservedRemoteStreams","maxSendHeaderBlockLength","paddingStrategy","localAddress","path","rejectUnauthorized","minDHSize","ca","cert","clientCertEngine","ciphers","key","pfx","servername","minVersion","maxVersion","secureProtocol","crl","honorCipherOrder","ecdhCurve","dhparam","secureOptions","sessionIdContext"],Wnt=(t,e,r)=>{let o=0,a=t.length;for(;o<a;){let n=o+a>>>1;r(t[n],e)?o=n+1:a=n}return o},Ynt=(t,e)=>t.remoteSettings.maxConcurrentStreams>e.remoteSettings.maxConcurrentStreams,kU=(t,e)=>{for(let r of t)r[Jl].length<e[Jl].length&&r[Jl].every(o=>e[Jl].includes(o))&&r[ea]+e[ea]<=e.remoteSettings.maxConcurrentStreams&&Tae(r)},Knt=(t,e)=>{for(let r of t)e[Jl].length<r[Jl].length&&e[Jl].every(o=>r[Jl].includes(o))&&e[ea]+r[ea]<=r.remoteSettings.maxConcurrentStreams&&Tae(e)},Rae=({agent:t,isFree:e})=>{let r={};for(let o in t.sessions){let n=t.sessions[o].filter(u=>{let A=u[bg.kCurrentStreamsCount]<u.remoteSettings.maxConcurrentStreams;return e?A:!A});n.length!==0&&(r[o]=n)}return r},Tae=t=>{t[wy]=!0,t[ea]===0&&t.close()},bg=class t extends _nt{constructor({timeout:e=6e4,maxSessions:r=1/0,maxFreeSessions:o=10,maxCachedTlsSessions:a=100}={}){super(),this.sessions={},this.queue={},this.timeout=e,this.maxSessions=r,this.maxFreeSessions=o,this._freeSessionsCount=0,this._sessionsCount=0,this.settings={enablePush:!1},this.tlsSessionCache=new jnt({maxSize:a})}static normalizeOrigin(e,r){return typeof e=="string"&&(e=new URL(e)),r&&e.hostname!==r&&(e.hostname=r),e.origin}normalizeOptions(e){let r="";if(e)for(let o of Gnt)e[o]&&(r+=`:${e[o]}`);return r}_tryToCreateNewSession(e,r){if(!(e in this.queue)||!(r in this.queue[e]))return;let o=this.queue[e][r];this._sessionsCount<this.maxSessions&&!o.completed&&(o.completed=!0,o())}getSession(e,r,o){return new Promise((a,n)=>{Array.isArray(o)?(o=[...o],a()):o=[{resolve:a,reject:n}];let u=this.normalizeOptions(r),A=t.normalizeOrigin(e,r&&r.servername);if(A===void 0){for(let{reject:E}of o)E(new TypeError("The `origin` argument needs to be a string or an URL object"));return}if(u in this.sessions){let E=this.sessions[u],w=-1,D=-1,x;for(let C of E){let T=C.remoteSettings.maxConcurrentStreams;if(T<w)break;if(C[Jl].includes(A)){let L=C[ea];if(L>=T||C[wy]||C.destroyed)continue;x||(w=T),L>D&&(x=C,D=L)}}if(x){if(o.length!==1){for(let{reject:C}of o){let T=new Error(`Expected the length of listeners to be 1, got ${o.length}. +Please report this to https://github.com/szmarczak/http2-wrapper/`);C(T)}return}o[0].resolve(x);return}}if(u in this.queue){if(A in this.queue[u]){this.queue[u][A].listeners.push(...o),this._tryToCreateNewSession(u,A);return}}else this.queue[u]={};let p=()=>{u in this.queue&&this.queue[u][A]===h&&(delete this.queue[u][A],Object.keys(this.queue[u]).length===0&&delete this.queue[u])},h=()=>{let E=`${A}:${u}`,w=!1;try{let D=qnt.connect(e,{createConnection:this.createConnection,settings:this.settings,session:this.tlsSessionCache.get(E),...r});D[ea]=0,D[wy]=!1;let x=()=>D[ea]<D.remoteSettings.maxConcurrentStreams,C=!0;D.socket.once("session",L=>{this.tlsSessionCache.set(E,L)}),D.once("error",L=>{for(let{reject:U}of o)U(L);this.tlsSessionCache.delete(E)}),D.setTimeout(this.timeout,()=>{D.destroy()}),D.once("close",()=>{if(w){C&&this._freeSessionsCount--,this._sessionsCount--;let L=this.sessions[u];L.splice(L.indexOf(D),1),L.length===0&&delete this.sessions[u]}else{let L=new Error("Session closed without receiving a SETTINGS frame");L.code="HTTP2WRAPPER_NOSETTINGS";for(let{reject:U}of o)U(L);p()}this._tryToCreateNewSession(u,A)});let T=()=>{if(!(!(u in this.queue)||!x())){for(let L of D[Jl])if(L in this.queue[u]){let{listeners:U}=this.queue[u][L];for(;U.length!==0&&x();)U.shift().resolve(D);let J=this.queue[u];if(J[L].listeners.length===0&&(delete J[L],Object.keys(J).length===0)){delete this.queue[u];break}if(!x())break}}};D.on("origin",()=>{D[Jl]=D.originSet,x()&&(T(),kU(this.sessions[u],D))}),D.once("remoteSettings",()=>{if(D.ref(),D.unref(),this._sessionsCount++,h.destroyed){let L=new Error("Agent has been destroyed");for(let U of o)U.reject(L);D.destroy();return}D[Jl]=D.originSet;{let L=this.sessions;if(u in L){let U=L[u];U.splice(Wnt(U,D,Ynt),0,D)}else L[u]=[D]}this._freeSessionsCount+=1,w=!0,this.emit("session",D),T(),p(),D[ea]===0&&this._freeSessionsCount>this.maxFreeSessions&&D.close(),o.length!==0&&(this.getSession(A,r,o),o.length=0),D.on("remoteSettings",()=>{T(),kU(this.sessions[u],D)})}),D[Fae]=D.request,D.request=(L,U)=>{if(D[wy])throw new Error("The session is gracefully closing. No new streams are allowed.");let J=D[Fae](L,U);return D.ref(),++D[ea],D[ea]===D.remoteSettings.maxConcurrentStreams&&this._freeSessionsCount--,J.once("close",()=>{if(C=x(),--D[ea],!D.destroyed&&!D.closed&&(Knt(this.sessions[u],D),x()&&!D.closed)){C||(this._freeSessionsCount++,C=!0);let te=D[ea]===0;te&&D.unref(),te&&(this._freeSessionsCount>this.maxFreeSessions||D[wy])?D.close():(kU(this.sessions[u],D),T())}}),J}}catch(D){for(let x of o)x.reject(D);p()}};h.listeners=o,h.completed=!1,h.destroyed=!1,this.queue[u][A]=h,this._tryToCreateNewSession(u,A)})}request(e,r,o,a){return new Promise((n,u)=>{this.getSession(e,r,[{reject:u,resolve:A=>{try{n(A.request(o,a))}catch(p){u(p)}}}])})}createConnection(e,r){return t.connect(e,r)}static connect(e,r){r.ALPNProtocols=["h2"];let o=e.port||443,a=e.hostname||e.host;return typeof r.servername>"u"&&(r.servername=a),Hnt.connect(o,a,r)}closeFreeSessions(){for(let e of Object.values(this.sessions))for(let r of e)r[ea]===0&&r.close()}destroy(e){for(let r of Object.values(this.sessions))for(let o of r)o.destroy(e);for(let r of Object.values(this.queue))for(let o of Object.values(r))o.destroyed=!0;this.queue={}}get freeSessions(){return Rae({agent:this,isFree:!0})}get busySessions(){return Rae({agent:this,isFree:!1})}};bg.kCurrentStreamsCount=ea;bg.kGracefullyClosing=wy;Nae.exports={Agent:bg,globalAgent:new bg}});var RU=_((gLt,Lae)=>{"use strict";var{Readable:Vnt}=ve("stream"),FU=class extends Vnt{constructor(e,r){super({highWaterMark:r,autoDestroy:!1}),this.statusCode=null,this.statusMessage="",this.httpVersion="2.0",this.httpVersionMajor=2,this.httpVersionMinor=0,this.headers={},this.trailers={},this.req=null,this.aborted=!1,this.complete=!1,this.upgrade=null,this.rawHeaders=[],this.rawTrailers=[],this.socket=e,this.connection=e,this._dumped=!1}_destroy(e){this.req._request.destroy(e)}setTimeout(e,r){return this.req.setTimeout(e,r),this}_dump(){this._dumped||(this._dumped=!0,this.removeAllListeners("data"),this.resume())}_read(){this.req&&this.req._request.resume()}};Lae.exports=FU});var TU=_((dLt,Oae)=>{"use strict";Oae.exports=t=>{let e={protocol:t.protocol,hostname:typeof t.hostname=="string"&&t.hostname.startsWith("[")?t.hostname.slice(1,-1):t.hostname,host:t.host,hash:t.hash,search:t.search,pathname:t.pathname,href:t.href,path:`${t.pathname||""}${t.search||""}`};return typeof t.port=="string"&&t.port.length!==0&&(e.port=Number(t.port)),(t.username||t.password)&&(e.auth=`${t.username||""}:${t.password||""}`),e}});var Uae=_((mLt,Mae)=>{"use strict";Mae.exports=(t,e,r)=>{for(let o of r)t.on(o,(...a)=>e.emit(o,...a))}});var Hae=_((yLt,_ae)=>{"use strict";_ae.exports=t=>{switch(t){case":method":case":scheme":case":authority":case":path":return!0;default:return!1}}});var jae=_((CLt,qae)=>{"use strict";var By=(t,e,r)=>{qae.exports[e]=class extends t{constructor(...a){super(typeof r=="string"?r:r(a)),this.name=`${super.name} [${e}]`,this.code=e}}};By(TypeError,"ERR_INVALID_ARG_TYPE",t=>{let e=t[0].includes(".")?"property":"argument",r=t[1],o=Array.isArray(r);return o&&(r=`${r.slice(0,-1).join(", ")} or ${r.slice(-1)}`),`The "${t[0]}" ${e} must be ${o?"one of":"of"} type ${r}. Received ${typeof t[2]}`});By(TypeError,"ERR_INVALID_PROTOCOL",t=>`Protocol "${t[0]}" not supported. Expected "${t[1]}"`);By(Error,"ERR_HTTP_HEADERS_SENT",t=>`Cannot ${t[0]} headers after they are sent to the client`);By(TypeError,"ERR_INVALID_HTTP_TOKEN",t=>`${t[0]} must be a valid HTTP token [${t[1]}]`);By(TypeError,"ERR_HTTP_INVALID_HEADER_VALUE",t=>`Invalid value "${t[0]} for header "${t[1]}"`);By(TypeError,"ERR_INVALID_CHAR",t=>`Invalid character in ${t[0]} [${t[1]}]`)});var UU=_((ILt,zae)=>{"use strict";var Jnt=ve("http2"),{Writable:znt}=ve("stream"),{Agent:Gae,globalAgent:Xnt}=QU(),Znt=RU(),$nt=TU(),eit=Uae(),tit=Hae(),{ERR_INVALID_ARG_TYPE:NU,ERR_INVALID_PROTOCOL:rit,ERR_HTTP_HEADERS_SENT:Wae,ERR_INVALID_HTTP_TOKEN:nit,ERR_HTTP_INVALID_HEADER_VALUE:iit,ERR_INVALID_CHAR:sit}=jae(),{HTTP2_HEADER_STATUS:Yae,HTTP2_HEADER_METHOD:Kae,HTTP2_HEADER_PATH:Vae,HTTP2_METHOD_CONNECT:oit}=Jnt.constants,vo=Symbol("headers"),LU=Symbol("origin"),OU=Symbol("session"),Jae=Symbol("options"),Lb=Symbol("flushedHeaders"),R1=Symbol("jobs"),ait=/^[\^`\-\w!#$%&*+.|~]+$/,lit=/[^\t\u0020-\u007E\u0080-\u00FF]/,MU=class extends znt{constructor(e,r,o){super({autoDestroy:!1});let a=typeof e=="string"||e instanceof URL;if(a&&(e=$nt(e instanceof URL?e:new URL(e))),typeof r=="function"||r===void 0?(o=r,r=a?e:{...e}):r={...e,...r},r.h2session)this[OU]=r.h2session;else if(r.agent===!1)this.agent=new Gae({maxFreeSessions:0});else if(typeof r.agent>"u"||r.agent===null)typeof r.createConnection=="function"?(this.agent=new Gae({maxFreeSessions:0}),this.agent.createConnection=r.createConnection):this.agent=Xnt;else if(typeof r.agent.request=="function")this.agent=r.agent;else throw new NU("options.agent",["Agent-like Object","undefined","false"],r.agent);if(r.protocol&&r.protocol!=="https:")throw new rit(r.protocol,"https:");let n=r.port||r.defaultPort||this.agent&&this.agent.defaultPort||443,u=r.hostname||r.host||"localhost";delete r.hostname,delete r.host,delete r.port;let{timeout:A}=r;if(r.timeout=void 0,this[vo]=Object.create(null),this[R1]=[],this.socket=null,this.connection=null,this.method=r.method||"GET",this.path=r.path,this.res=null,this.aborted=!1,this.reusedSocket=!1,r.headers)for(let[p,h]of Object.entries(r.headers))this.setHeader(p,h);r.auth&&!("authorization"in this[vo])&&(this[vo].authorization="Basic "+Buffer.from(r.auth).toString("base64")),r.session=r.tlsSession,r.path=r.socketPath,this[Jae]=r,n===443?(this[LU]=`https://${u}`,":authority"in this[vo]||(this[vo][":authority"]=u)):(this[LU]=`https://${u}:${n}`,":authority"in this[vo]||(this[vo][":authority"]=`${u}:${n}`)),A&&this.setTimeout(A),o&&this.once("response",o),this[Lb]=!1}get method(){return this[vo][Kae]}set method(e){e&&(this[vo][Kae]=e.toUpperCase())}get path(){return this[vo][Vae]}set path(e){e&&(this[vo][Vae]=e)}get _mustNotHaveABody(){return this.method==="GET"||this.method==="HEAD"||this.method==="DELETE"}_write(e,r,o){if(this._mustNotHaveABody){o(new Error("The GET, HEAD and DELETE methods must NOT have a body"));return}this.flushHeaders();let a=()=>this._request.write(e,r,o);this._request?a():this[R1].push(a)}_final(e){if(this.destroyed)return;this.flushHeaders();let r=()=>{if(this._mustNotHaveABody){e();return}this._request.end(e)};this._request?r():this[R1].push(r)}abort(){this.res&&this.res.complete||(this.aborted||process.nextTick(()=>this.emit("abort")),this.aborted=!0,this.destroy())}_destroy(e,r){this.res&&this.res._dump(),this._request&&this._request.destroy(),r(e)}async flushHeaders(){if(this[Lb]||this.destroyed)return;this[Lb]=!0;let e=this.method===oit,r=o=>{if(this._request=o,this.destroyed){o.destroy();return}e||eit(o,this,["timeout","continue","close","error"]);let a=u=>(...A)=>{!this.writable&&!this.destroyed?u(...A):this.once("finish",()=>{u(...A)})};o.once("response",a((u,A,p)=>{let h=new Znt(this.socket,o.readableHighWaterMark);this.res=h,h.req=this,h.statusCode=u[Yae],h.headers=u,h.rawHeaders=p,h.once("end",()=>{this.aborted?(h.aborted=!0,h.emit("aborted")):(h.complete=!0,h.socket=null,h.connection=null)}),e?(h.upgrade=!0,this.emit("connect",h,o,Buffer.alloc(0))?this.emit("close"):o.destroy()):(o.on("data",E=>{!h._dumped&&!h.push(E)&&o.pause()}),o.once("end",()=>{h.push(null)}),this.emit("response",h)||h._dump())})),o.once("headers",a(u=>this.emit("information",{statusCode:u[Yae]}))),o.once("trailers",a((u,A,p)=>{let{res:h}=this;h.trailers=u,h.rawTrailers=p}));let{socket:n}=o.session;this.socket=n,this.connection=n;for(let u of this[R1])u();this.emit("socket",this.socket)};if(this[OU])try{r(this[OU].request(this[vo]))}catch(o){this.emit("error",o)}else{this.reusedSocket=!0;try{r(await this.agent.request(this[LU],this[Jae],this[vo]))}catch(o){this.emit("error",o)}}}getHeader(e){if(typeof e!="string")throw new NU("name","string",e);return this[vo][e.toLowerCase()]}get headersSent(){return this[Lb]}removeHeader(e){if(typeof e!="string")throw new NU("name","string",e);if(this.headersSent)throw new Wae("remove");delete this[vo][e.toLowerCase()]}setHeader(e,r){if(this.headersSent)throw new Wae("set");if(typeof e!="string"||!ait.test(e)&&!tit(e))throw new nit("Header name",e);if(typeof r>"u")throw new iit(r,e);if(lit.test(r))throw new sit("header content",e);this[vo][e.toLowerCase()]=r}setNoDelay(){}setSocketKeepAlive(){}setTimeout(e,r){let o=()=>this._request.setTimeout(e,r);return this._request?o():this[R1].push(o),this}get maxHeadersCount(){if(!this.destroyed&&this._request)return this._request.session.localSettings.maxHeaderListSize}set maxHeadersCount(e){}};zae.exports=MU});var Zae=_((wLt,Xae)=>{"use strict";var cit=ve("tls");Xae.exports=(t={},e=cit.connect)=>new Promise((r,o)=>{let a=!1,n,u=async()=>{await p,n.off("timeout",A),n.off("error",o),t.resolveSocket?(r({alpnProtocol:n.alpnProtocol,socket:n,timeout:a}),a&&(await Promise.resolve(),n.emit("timeout"))):(n.destroy(),r({alpnProtocol:n.alpnProtocol,timeout:a}))},A=async()=>{a=!0,u()},p=(async()=>{try{n=await e(t,u),n.on("error",o),n.once("timeout",A)}catch(h){o(h)}})()})});var ele=_((BLt,$ae)=>{"use strict";var uit=ve("net");$ae.exports=t=>{let e=t.host,r=t.headers&&t.headers.host;return r&&(r.startsWith("[")?r.indexOf("]")===-1?e=r:e=r.slice(1,-1):e=r.split(":",1)[0]),uit.isIP(e)?"":e}});var nle=_((vLt,HU)=>{"use strict";var tle=ve("http"),_U=ve("https"),Ait=Zae(),fit=xU(),pit=UU(),hit=ele(),git=TU(),Ob=new fit({maxSize:100}),T1=new Map,rle=(t,e,r)=>{e._httpMessage={shouldKeepAlive:!0};let o=()=>{t.emit("free",e,r)};e.on("free",o);let a=()=>{t.removeSocket(e,r)};e.on("close",a);let n=()=>{t.removeSocket(e,r),e.off("close",a),e.off("free",o),e.off("agentRemove",n)};e.on("agentRemove",n),t.emit("free",e,r)},dit=async t=>{let e=`${t.host}:${t.port}:${t.ALPNProtocols.sort()}`;if(!Ob.has(e)){if(T1.has(e))return(await T1.get(e)).alpnProtocol;let{path:r,agent:o}=t;t.path=t.socketPath;let a=Ait(t);T1.set(e,a);try{let{socket:n,alpnProtocol:u}=await a;if(Ob.set(e,u),t.path=r,u==="h2")n.destroy();else{let{globalAgent:A}=_U,p=_U.Agent.prototype.createConnection;o?o.createConnection===p?rle(o,n,t):n.destroy():A.createConnection===p?rle(A,n,t):n.destroy()}return T1.delete(e),u}catch(n){throw T1.delete(e),n}}return Ob.get(e)};HU.exports=async(t,e,r)=>{if((typeof t=="string"||t instanceof URL)&&(t=git(new URL(t))),typeof e=="function"&&(r=e,e=void 0),e={ALPNProtocols:["h2","http/1.1"],...t,...e,resolveSocket:!0},!Array.isArray(e.ALPNProtocols)||e.ALPNProtocols.length===0)throw new Error("The `ALPNProtocols` option must be an Array with at least one entry");e.protocol=e.protocol||"https:";let o=e.protocol==="https:";e.host=e.hostname||e.host||"localhost",e.session=e.tlsSession,e.servername=e.servername||hit(e),e.port=e.port||(o?443:80),e._defaultAgent=o?_U.globalAgent:tle.globalAgent;let a=e.agent;if(a){if(a.addRequest)throw new Error("The `options.agent` object can contain only `http`, `https` or `http2` properties");e.agent=a[o?"https":"http"]}return o&&await dit(e)==="h2"?(a&&(e.agent=a.http2),new pit(e,r)):tle.request(e,r)};HU.exports.protocolCache=Ob});var sle=_((DLt,ile)=>{"use strict";var mit=ve("http2"),yit=QU(),qU=UU(),Eit=RU(),Cit=nle(),Iit=(t,e,r)=>new qU(t,e,r),wit=(t,e,r)=>{let o=new qU(t,e,r);return o.end(),o};ile.exports={...mit,ClientRequest:qU,IncomingMessage:Eit,...yit,request:Iit,get:wit,auto:Cit}});var GU=_(jU=>{"use strict";Object.defineProperty(jU,"__esModule",{value:!0});var ole=Ff();jU.default=t=>ole.default.nodeStream(t)&&ole.default.function_(t.getBoundary)});var ule=_(WU=>{"use strict";Object.defineProperty(WU,"__esModule",{value:!0});var lle=ve("fs"),cle=ve("util"),ale=Ff(),Bit=GU(),vit=cle.promisify(lle.stat);WU.default=async(t,e)=>{if(e&&"content-length"in e)return Number(e["content-length"]);if(!t)return 0;if(ale.default.string(t))return Buffer.byteLength(t);if(ale.default.buffer(t))return t.length;if(Bit.default(t))return cle.promisify(t.getLength.bind(t))();if(t instanceof lle.ReadStream){let{size:r}=await vit(t.path);return r===0?void 0:r}}});var KU=_(YU=>{"use strict";Object.defineProperty(YU,"__esModule",{value:!0});function Dit(t,e,r){let o={};for(let a of r)o[a]=(...n)=>{e.emit(a,...n)},t.on(a,o[a]);return()=>{for(let a of r)t.off(a,o[a])}}YU.default=Dit});var Ale=_(VU=>{"use strict";Object.defineProperty(VU,"__esModule",{value:!0});VU.default=()=>{let t=[];return{once(e,r,o){e.once(r,o),t.push({origin:e,event:r,fn:o})},unhandleAll(){for(let e of t){let{origin:r,event:o,fn:a}=e;r.removeListener(o,a)}t.length=0}}}});var ple=_(N1=>{"use strict";Object.defineProperty(N1,"__esModule",{value:!0});N1.TimeoutError=void 0;var Pit=ve("net"),Sit=Ale(),fle=Symbol("reentry"),bit=()=>{},Mb=class extends Error{constructor(e,r){super(`Timeout awaiting '${r}' for ${e}ms`),this.event=r,this.name="TimeoutError",this.code="ETIMEDOUT"}};N1.TimeoutError=Mb;N1.default=(t,e,r)=>{if(fle in t)return bit;t[fle]=!0;let o=[],{once:a,unhandleAll:n}=Sit.default(),u=(w,D,x)=>{var C;let T=setTimeout(D,w,w,x);(C=T.unref)===null||C===void 0||C.call(T);let L=()=>{clearTimeout(T)};return o.push(L),L},{host:A,hostname:p}=r,h=(w,D)=>{t.destroy(new Mb(w,D))},E=()=>{for(let w of o)w();n()};if(t.once("error",w=>{if(E(),t.listenerCount("error")===0)throw w}),t.once("close",E),a(t,"response",w=>{a(w,"end",E)}),typeof e.request<"u"&&u(e.request,h,"request"),typeof e.socket<"u"){let w=()=>{h(e.socket,"socket")};t.setTimeout(e.socket,w),o.push(()=>{t.removeListener("timeout",w)})}return a(t,"socket",w=>{var D;let{socketPath:x}=t;if(w.connecting){let C=!!(x??Pit.isIP((D=p??A)!==null&&D!==void 0?D:"")!==0);if(typeof e.lookup<"u"&&!C&&typeof w.address().address>"u"){let T=u(e.lookup,h,"lookup");a(w,"lookup",T)}if(typeof e.connect<"u"){let T=()=>u(e.connect,h,"connect");C?a(w,"connect",T()):a(w,"lookup",L=>{L===null&&a(w,"connect",T())})}typeof e.secureConnect<"u"&&r.protocol==="https:"&&a(w,"connect",()=>{let T=u(e.secureConnect,h,"secureConnect");a(w,"secureConnect",T)})}if(typeof e.send<"u"){let C=()=>u(e.send,h,"send");w.connecting?a(w,"connect",()=>{a(t,"upload-complete",C())}):a(t,"upload-complete",C())}}),typeof e.response<"u"&&a(t,"upload-complete",()=>{let w=u(e.response,h,"response");a(t,"response",w)}),E}});var gle=_(JU=>{"use strict";Object.defineProperty(JU,"__esModule",{value:!0});var hle=Ff();JU.default=t=>{t=t;let e={protocol:t.protocol,hostname:hle.default.string(t.hostname)&&t.hostname.startsWith("[")?t.hostname.slice(1,-1):t.hostname,host:t.host,hash:t.hash,search:t.search,pathname:t.pathname,href:t.href,path:`${t.pathname||""}${t.search||""}`};return hle.default.string(t.port)&&t.port.length>0&&(e.port=Number(t.port)),(t.username||t.password)&&(e.auth=`${t.username||""}:${t.password||""}`),e}});var dle=_(zU=>{"use strict";Object.defineProperty(zU,"__esModule",{value:!0});var xit=ve("url"),kit=["protocol","host","hostname","port","pathname","search"];zU.default=(t,e)=>{var r,o;if(e.path){if(e.pathname)throw new TypeError("Parameters `path` and `pathname` are mutually exclusive.");if(e.search)throw new TypeError("Parameters `path` and `search` are mutually exclusive.");if(e.searchParams)throw new TypeError("Parameters `path` and `searchParams` are mutually exclusive.")}if(e.search&&e.searchParams)throw new TypeError("Parameters `search` and `searchParams` are mutually exclusive.");if(!t){if(!e.protocol)throw new TypeError("No URL protocol specified");t=`${e.protocol}//${(o=(r=e.hostname)!==null&&r!==void 0?r:e.host)!==null&&o!==void 0?o:""}`}let a=new xit.URL(t);if(e.path){let n=e.path.indexOf("?");n===-1?e.pathname=e.path:(e.pathname=e.path.slice(0,n),e.search=e.path.slice(n+1)),delete e.path}for(let n of kit)e[n]&&(a[n]=e[n].toString());return a}});var mle=_(ZU=>{"use strict";Object.defineProperty(ZU,"__esModule",{value:!0});var XU=class{constructor(){this.weakMap=new WeakMap,this.map=new Map}set(e,r){typeof e=="object"?this.weakMap.set(e,r):this.map.set(e,r)}get(e){return typeof e=="object"?this.weakMap.get(e):this.map.get(e)}has(e){return typeof e=="object"?this.weakMap.has(e):this.map.has(e)}};ZU.default=XU});var e4=_($U=>{"use strict";Object.defineProperty($U,"__esModule",{value:!0});var Qit=async t=>{let e=[],r=0;for await(let o of t)e.push(o),r+=Buffer.byteLength(o);return Buffer.isBuffer(e[0])?Buffer.concat(e,r):Buffer.from(e.join(""))};$U.default=Qit});var Ele=_(xg=>{"use strict";Object.defineProperty(xg,"__esModule",{value:!0});xg.dnsLookupIpVersionToFamily=xg.isDnsLookupIpVersion=void 0;var yle={auto:0,ipv4:4,ipv6:6};xg.isDnsLookupIpVersion=t=>t in yle;xg.dnsLookupIpVersionToFamily=t=>{if(xg.isDnsLookupIpVersion(t))return yle[t];throw new Error("Invalid DNS lookup IP version")}});var t4=_(Ub=>{"use strict";Object.defineProperty(Ub,"__esModule",{value:!0});Ub.isResponseOk=void 0;Ub.isResponseOk=t=>{let{statusCode:e}=t,r=t.request.options.followRedirect?299:399;return e>=200&&e<=r||e===304}});var Ile=_(r4=>{"use strict";Object.defineProperty(r4,"__esModule",{value:!0});var Cle=new Set;r4.default=t=>{Cle.has(t)||(Cle.add(t),process.emitWarning(`Got: ${t}`,{type:"DeprecationWarning"}))}});var wle=_(n4=>{"use strict";Object.defineProperty(n4,"__esModule",{value:!0});var mi=Ff(),Fit=(t,e)=>{if(mi.default.null_(t.encoding))throw new TypeError("To get a Buffer, set `options.responseType` to `buffer` instead");mi.assert.any([mi.default.string,mi.default.undefined],t.encoding),mi.assert.any([mi.default.boolean,mi.default.undefined],t.resolveBodyOnly),mi.assert.any([mi.default.boolean,mi.default.undefined],t.methodRewriting),mi.assert.any([mi.default.boolean,mi.default.undefined],t.isStream),mi.assert.any([mi.default.string,mi.default.undefined],t.responseType),t.responseType===void 0&&(t.responseType="text");let{retry:r}=t;if(e?t.retry={...e.retry}:t.retry={calculateDelay:o=>o.computedValue,limit:0,methods:[],statusCodes:[],errorCodes:[],maxRetryAfter:void 0},mi.default.object(r)?(t.retry={...t.retry,...r},t.retry.methods=[...new Set(t.retry.methods.map(o=>o.toUpperCase()))],t.retry.statusCodes=[...new Set(t.retry.statusCodes)],t.retry.errorCodes=[...new Set(t.retry.errorCodes)]):mi.default.number(r)&&(t.retry.limit=r),mi.default.undefined(t.retry.maxRetryAfter)&&(t.retry.maxRetryAfter=Math.min(...[t.timeout.request,t.timeout.connect].filter(mi.default.number))),mi.default.object(t.pagination)){e&&(t.pagination={...e.pagination,...t.pagination});let{pagination:o}=t;if(!mi.default.function_(o.transform))throw new Error("`options.pagination.transform` must be implemented");if(!mi.default.function_(o.shouldContinue))throw new Error("`options.pagination.shouldContinue` must be implemented");if(!mi.default.function_(o.filter))throw new TypeError("`options.pagination.filter` must be implemented");if(!mi.default.function_(o.paginate))throw new Error("`options.pagination.paginate` must be implemented")}return t.responseType==="json"&&t.headers.accept===void 0&&(t.headers.accept="application/json"),t};n4.default=Fit});var Ble=_(L1=>{"use strict";Object.defineProperty(L1,"__esModule",{value:!0});L1.retryAfterStatusCodes=void 0;L1.retryAfterStatusCodes=new Set([413,429,503]);var Rit=({attemptCount:t,retryOptions:e,error:r,retryAfter:o})=>{if(t>e.limit)return 0;let a=e.methods.includes(r.options.method),n=e.errorCodes.includes(r.code),u=r.response&&e.statusCodes.includes(r.response.statusCode);if(!a||!n&&!u)return 0;if(r.response){if(o)return e.maxRetryAfter===void 0||o>e.maxRetryAfter?0:o;if(r.response.statusCode===413)return 0}let A=Math.random()*100;return 2**(t-1)*1e3+A};L1.default=Rit});var U1=_(Qn=>{"use strict";Object.defineProperty(Qn,"__esModule",{value:!0});Qn.UnsupportedProtocolError=Qn.ReadError=Qn.TimeoutError=Qn.UploadError=Qn.CacheError=Qn.HTTPError=Qn.MaxRedirectsError=Qn.RequestError=Qn.setNonEnumerableProperties=Qn.knownHookEvents=Qn.withoutBody=Qn.kIsNormalizedAlready=void 0;var vle=ve("util"),Dle=ve("stream"),Tit=ve("fs"),uh=ve("url"),Ple=ve("http"),i4=ve("http"),Nit=ve("https"),Lit=_oe(),Oit=Koe(),Sle=Pae(),Mit=kae(),Uit=sle(),_it=Tb(),at=Ff(),Hit=ule(),ble=GU(),qit=KU(),xle=ple(),jit=gle(),kle=dle(),Git=mle(),Wit=e4(),Qle=Ele(),Yit=t4(),Ah=Ile(),Kit=wle(),Vit=Ble(),s4,Ys=Symbol("request"),qb=Symbol("response"),vy=Symbol("responseSize"),Dy=Symbol("downloadedSize"),Py=Symbol("bodySize"),Sy=Symbol("uploadedSize"),_b=Symbol("serverResponsesPiped"),Fle=Symbol("unproxyEvents"),Rle=Symbol("isFromCache"),o4=Symbol("cancelTimeouts"),Tle=Symbol("startedReading"),by=Symbol("stopReading"),Hb=Symbol("triggerRead"),fh=Symbol("body"),O1=Symbol("jobs"),Nle=Symbol("originalResponse"),Lle=Symbol("retryTimeout");Qn.kIsNormalizedAlready=Symbol("isNormalizedAlready");var Jit=at.default.string(process.versions.brotli);Qn.withoutBody=new Set(["GET","HEAD"]);Qn.knownHookEvents=["init","beforeRequest","beforeRedirect","beforeError","beforeRetry","afterResponse"];function zit(t){for(let e in t){let r=t[e];if(!at.default.string(r)&&!at.default.number(r)&&!at.default.boolean(r)&&!at.default.null_(r)&&!at.default.undefined(r))throw new TypeError(`The \`searchParams\` value '${String(r)}' must be a string, number, boolean or null`)}}function Xit(t){return at.default.object(t)&&!("statusCode"in t)}var a4=new Git.default,Zit=async t=>new Promise((e,r)=>{let o=a=>{r(a)};t.pending||e(),t.once("error",o),t.once("ready",()=>{t.off("error",o),e()})}),$it=new Set([300,301,302,303,304,307,308]),est=["context","body","json","form"];Qn.setNonEnumerableProperties=(t,e)=>{let r={};for(let o of t)if(o)for(let a of est)a in o&&(r[a]={writable:!0,configurable:!0,enumerable:!1,value:o[a]});Object.defineProperties(e,r)};var zi=class extends Error{constructor(e,r,o){var a;if(super(e),Error.captureStackTrace(this,this.constructor),this.name="RequestError",this.code=r.code,o instanceof Jb?(Object.defineProperty(this,"request",{enumerable:!1,value:o}),Object.defineProperty(this,"response",{enumerable:!1,value:o[qb]}),Object.defineProperty(this,"options",{enumerable:!1,value:o.options})):Object.defineProperty(this,"options",{enumerable:!1,value:o}),this.timings=(a=this.request)===null||a===void 0?void 0:a.timings,at.default.string(r.stack)&&at.default.string(this.stack)){let n=this.stack.indexOf(this.message)+this.message.length,u=this.stack.slice(n).split(` +`).reverse(),A=r.stack.slice(r.stack.indexOf(r.message)+r.message.length).split(` +`).reverse();for(;A.length!==0&&A[0]===u[0];)u.shift();this.stack=`${this.stack.slice(0,n)}${u.reverse().join(` +`)}${A.reverse().join(` +`)}`}}};Qn.RequestError=zi;var jb=class extends zi{constructor(e){super(`Redirected ${e.options.maxRedirects} times. Aborting.`,{},e),this.name="MaxRedirectsError"}};Qn.MaxRedirectsError=jb;var Gb=class extends zi{constructor(e){super(`Response code ${e.statusCode} (${e.statusMessage})`,{},e.request),this.name="HTTPError"}};Qn.HTTPError=Gb;var Wb=class extends zi{constructor(e,r){super(e.message,e,r),this.name="CacheError"}};Qn.CacheError=Wb;var Yb=class extends zi{constructor(e,r){super(e.message,e,r),this.name="UploadError"}};Qn.UploadError=Yb;var Kb=class extends zi{constructor(e,r,o){super(e.message,e,o),this.name="TimeoutError",this.event=e.event,this.timings=r}};Qn.TimeoutError=Kb;var M1=class extends zi{constructor(e,r){super(e.message,e,r),this.name="ReadError"}};Qn.ReadError=M1;var Vb=class extends zi{constructor(e){super(`Unsupported protocol "${e.url.protocol}"`,{},e),this.name="UnsupportedProtocolError"}};Qn.UnsupportedProtocolError=Vb;var tst=["socket","connect","continue","information","upgrade","timeout"],Jb=class extends Dle.Duplex{constructor(e,r={},o){super({autoDestroy:!1,highWaterMark:0}),this[Dy]=0,this[Sy]=0,this.requestInitialized=!1,this[_b]=new Set,this.redirects=[],this[by]=!1,this[Hb]=!1,this[O1]=[],this.retryCount=0,this._progressCallbacks=[];let a=()=>this._unlockWrite(),n=()=>this._lockWrite();this.on("pipe",h=>{h.prependListener("data",a),h.on("data",n),h.prependListener("end",a),h.on("end",n)}),this.on("unpipe",h=>{h.off("data",a),h.off("data",n),h.off("end",a),h.off("end",n)}),this.on("pipe",h=>{h instanceof i4.IncomingMessage&&(this.options.headers={...h.headers,...this.options.headers})});let{json:u,body:A,form:p}=r;if((u||A||p)&&this._lockWrite(),Qn.kIsNormalizedAlready in r)this.options=r;else try{this.options=this.constructor.normalizeArguments(e,r,o)}catch(h){at.default.nodeStream(r.body)&&r.body.destroy(),this.destroy(h);return}(async()=>{var h;try{this.options.body instanceof Tit.ReadStream&&await Zit(this.options.body);let{url:E}=this.options;if(!E)throw new TypeError("Missing `url` property");if(this.requestUrl=E.toString(),decodeURI(this.requestUrl),await this._finalizeBody(),await this._makeRequest(),this.destroyed){(h=this[Ys])===null||h===void 0||h.destroy();return}for(let w of this[O1])w();this[O1].length=0,this.requestInitialized=!0}catch(E){if(E instanceof zi){this._beforeError(E);return}this.destroyed||this.destroy(E)}})()}static normalizeArguments(e,r,o){var a,n,u,A,p;let h=r;if(at.default.object(e)&&!at.default.urlInstance(e))r={...o,...e,...r};else{if(e&&r&&r.url!==void 0)throw new TypeError("The `url` option is mutually exclusive with the `input` argument");r={...o,...r},e!==void 0&&(r.url=e),at.default.urlInstance(r.url)&&(r.url=new uh.URL(r.url.toString()))}if(r.cache===!1&&(r.cache=void 0),r.dnsCache===!1&&(r.dnsCache=void 0),at.assert.any([at.default.string,at.default.undefined],r.method),at.assert.any([at.default.object,at.default.undefined],r.headers),at.assert.any([at.default.string,at.default.urlInstance,at.default.undefined],r.prefixUrl),at.assert.any([at.default.object,at.default.undefined],r.cookieJar),at.assert.any([at.default.object,at.default.string,at.default.undefined],r.searchParams),at.assert.any([at.default.object,at.default.string,at.default.undefined],r.cache),at.assert.any([at.default.object,at.default.number,at.default.undefined],r.timeout),at.assert.any([at.default.object,at.default.undefined],r.context),at.assert.any([at.default.object,at.default.undefined],r.hooks),at.assert.any([at.default.boolean,at.default.undefined],r.decompress),at.assert.any([at.default.boolean,at.default.undefined],r.ignoreInvalidCookies),at.assert.any([at.default.boolean,at.default.undefined],r.followRedirect),at.assert.any([at.default.number,at.default.undefined],r.maxRedirects),at.assert.any([at.default.boolean,at.default.undefined],r.throwHttpErrors),at.assert.any([at.default.boolean,at.default.undefined],r.http2),at.assert.any([at.default.boolean,at.default.undefined],r.allowGetBody),at.assert.any([at.default.string,at.default.undefined],r.localAddress),at.assert.any([Qle.isDnsLookupIpVersion,at.default.undefined],r.dnsLookupIpVersion),at.assert.any([at.default.object,at.default.undefined],r.https),at.assert.any([at.default.boolean,at.default.undefined],r.rejectUnauthorized),r.https&&(at.assert.any([at.default.boolean,at.default.undefined],r.https.rejectUnauthorized),at.assert.any([at.default.function_,at.default.undefined],r.https.checkServerIdentity),at.assert.any([at.default.string,at.default.object,at.default.array,at.default.undefined],r.https.certificateAuthority),at.assert.any([at.default.string,at.default.object,at.default.array,at.default.undefined],r.https.key),at.assert.any([at.default.string,at.default.object,at.default.array,at.default.undefined],r.https.certificate),at.assert.any([at.default.string,at.default.undefined],r.https.passphrase),at.assert.any([at.default.string,at.default.buffer,at.default.array,at.default.undefined],r.https.pfx)),at.assert.any([at.default.object,at.default.undefined],r.cacheOptions),at.default.string(r.method)?r.method=r.method.toUpperCase():r.method="GET",r.headers===o?.headers?r.headers={...r.headers}:r.headers=_it({...o?.headers,...r.headers}),"slashes"in r)throw new TypeError("The legacy `url.Url` has been deprecated. Use `URL` instead.");if("auth"in r)throw new TypeError("Parameter `auth` is deprecated. Use `username` / `password` instead.");if("searchParams"in r&&r.searchParams&&r.searchParams!==o?.searchParams){let x;if(at.default.string(r.searchParams)||r.searchParams instanceof uh.URLSearchParams)x=new uh.URLSearchParams(r.searchParams);else{zit(r.searchParams),x=new uh.URLSearchParams;for(let C in r.searchParams){let T=r.searchParams[C];T===null?x.append(C,""):T!==void 0&&x.append(C,T)}}(a=o?.searchParams)===null||a===void 0||a.forEach((C,T)=>{x.has(T)||x.append(T,C)}),r.searchParams=x}if(r.username=(n=r.username)!==null&&n!==void 0?n:"",r.password=(u=r.password)!==null&&u!==void 0?u:"",at.default.undefined(r.prefixUrl)?r.prefixUrl=(A=o?.prefixUrl)!==null&&A!==void 0?A:"":(r.prefixUrl=r.prefixUrl.toString(),r.prefixUrl!==""&&!r.prefixUrl.endsWith("/")&&(r.prefixUrl+="/")),at.default.string(r.url)){if(r.url.startsWith("/"))throw new Error("`input` must not start with a slash when using `prefixUrl`");r.url=kle.default(r.prefixUrl+r.url,r)}else(at.default.undefined(r.url)&&r.prefixUrl!==""||r.protocol)&&(r.url=kle.default(r.prefixUrl,r));if(r.url){"port"in r&&delete r.port;let{prefixUrl:x}=r;Object.defineProperty(r,"prefixUrl",{set:T=>{let L=r.url;if(!L.href.startsWith(T))throw new Error(`Cannot change \`prefixUrl\` from ${x} to ${T}: ${L.href}`);r.url=new uh.URL(T+L.href.slice(x.length)),x=T},get:()=>x});let{protocol:C}=r.url;if(C==="unix:"&&(C="http:",r.url=new uh.URL(`http://unix${r.url.pathname}${r.url.search}`)),r.searchParams&&(r.url.search=r.searchParams.toString()),C!=="http:"&&C!=="https:")throw new Vb(r);r.username===""?r.username=r.url.username:r.url.username=r.username,r.password===""?r.password=r.url.password:r.url.password=r.password}let{cookieJar:E}=r;if(E){let{setCookie:x,getCookieString:C}=E;at.assert.function_(x),at.assert.function_(C),x.length===4&&C.length===0&&(x=vle.promisify(x.bind(r.cookieJar)),C=vle.promisify(C.bind(r.cookieJar)),r.cookieJar={setCookie:x,getCookieString:C})}let{cache:w}=r;if(w&&(a4.has(w)||a4.set(w,new Sle((x,C)=>{let T=x[Ys](x,C);return at.default.promise(T)&&(T.once=(L,U)=>{if(L==="error")T.catch(U);else if(L==="abort")(async()=>{try{(await T).once("abort",U)}catch{}})();else throw new Error(`Unknown HTTP2 promise event: ${L}`);return T}),T},w))),r.cacheOptions={...r.cacheOptions},r.dnsCache===!0)s4||(s4=new Oit.default),r.dnsCache=s4;else if(!at.default.undefined(r.dnsCache)&&!r.dnsCache.lookup)throw new TypeError(`Parameter \`dnsCache\` must be a CacheableLookup instance or a boolean, got ${at.default(r.dnsCache)}`);at.default.number(r.timeout)?r.timeout={request:r.timeout}:o&&r.timeout!==o.timeout?r.timeout={...o.timeout,...r.timeout}:r.timeout={...r.timeout},r.context||(r.context={});let D=r.hooks===o?.hooks;r.hooks={...r.hooks};for(let x of Qn.knownHookEvents)if(x in r.hooks)if(at.default.array(r.hooks[x]))r.hooks[x]=[...r.hooks[x]];else throw new TypeError(`Parameter \`${x}\` must be an Array, got ${at.default(r.hooks[x])}`);else r.hooks[x]=[];if(o&&!D)for(let x of Qn.knownHookEvents)o.hooks[x].length>0&&(r.hooks[x]=[...o.hooks[x],...r.hooks[x]]);if("family"in r&&Ah.default('"options.family" was never documented, please use "options.dnsLookupIpVersion"'),o?.https&&(r.https={...o.https,...r.https}),"rejectUnauthorized"in r&&Ah.default('"options.rejectUnauthorized" is now deprecated, please use "options.https.rejectUnauthorized"'),"checkServerIdentity"in r&&Ah.default('"options.checkServerIdentity" was never documented, please use "options.https.checkServerIdentity"'),"ca"in r&&Ah.default('"options.ca" was never documented, please use "options.https.certificateAuthority"'),"key"in r&&Ah.default('"options.key" was never documented, please use "options.https.key"'),"cert"in r&&Ah.default('"options.cert" was never documented, please use "options.https.certificate"'),"passphrase"in r&&Ah.default('"options.passphrase" was never documented, please use "options.https.passphrase"'),"pfx"in r&&Ah.default('"options.pfx" was never documented, please use "options.https.pfx"'),"followRedirects"in r)throw new TypeError("The `followRedirects` option does not exist. Use `followRedirect` instead.");if(r.agent){for(let x in r.agent)if(x!=="http"&&x!=="https"&&x!=="http2")throw new TypeError(`Expected the \`options.agent\` properties to be \`http\`, \`https\` or \`http2\`, got \`${x}\``)}return r.maxRedirects=(p=r.maxRedirects)!==null&&p!==void 0?p:0,Qn.setNonEnumerableProperties([o,h],r),Kit.default(r,o)}_lockWrite(){let e=()=>{throw new TypeError("The payload has been already provided")};this.write=e,this.end=e}_unlockWrite(){this.write=super.write,this.end=super.end}async _finalizeBody(){let{options:e}=this,{headers:r}=e,o=!at.default.undefined(e.form),a=!at.default.undefined(e.json),n=!at.default.undefined(e.body),u=o||a||n,A=Qn.withoutBody.has(e.method)&&!(e.method==="GET"&&e.allowGetBody);if(this._cannotHaveBody=A,u){if(A)throw new TypeError(`The \`${e.method}\` method cannot be used with a body`);if([n,o,a].filter(p=>p).length>1)throw new TypeError("The `body`, `json` and `form` options are mutually exclusive");if(n&&!(e.body instanceof Dle.Readable)&&!at.default.string(e.body)&&!at.default.buffer(e.body)&&!ble.default(e.body))throw new TypeError("The `body` option must be a stream.Readable, string or Buffer");if(o&&!at.default.object(e.form))throw new TypeError("The `form` option must be an Object");{let p=!at.default.string(r["content-type"]);n?(ble.default(e.body)&&p&&(r["content-type"]=`multipart/form-data; boundary=${e.body.getBoundary()}`),this[fh]=e.body):o?(p&&(r["content-type"]="application/x-www-form-urlencoded"),this[fh]=new uh.URLSearchParams(e.form).toString()):(p&&(r["content-type"]="application/json"),this[fh]=e.stringifyJson(e.json));let h=await Hit.default(this[fh],e.headers);at.default.undefined(r["content-length"])&&at.default.undefined(r["transfer-encoding"])&&!A&&!at.default.undefined(h)&&(r["content-length"]=String(h))}}else A?this._lockWrite():this._unlockWrite();this[Py]=Number(r["content-length"])||void 0}async _onResponseBase(e){let{options:r}=this,{url:o}=r;this[Nle]=e,r.decompress&&(e=Mit(e));let a=e.statusCode,n=e;n.statusMessage=n.statusMessage?n.statusMessage:Ple.STATUS_CODES[a],n.url=r.url.toString(),n.requestUrl=this.requestUrl,n.redirectUrls=this.redirects,n.request=this,n.isFromCache=e.fromCache||!1,n.ip=this.ip,n.retryCount=this.retryCount,this[Rle]=n.isFromCache,this[vy]=Number(e.headers["content-length"])||void 0,this[qb]=e,e.once("end",()=>{this[vy]=this[Dy],this.emit("downloadProgress",this.downloadProgress)}),e.once("error",A=>{e.destroy(),this._beforeError(new M1(A,this))}),e.once("aborted",()=>{this._beforeError(new M1({name:"Error",message:"The server aborted pending request",code:"ECONNRESET"},this))}),this.emit("downloadProgress",this.downloadProgress);let u=e.headers["set-cookie"];if(at.default.object(r.cookieJar)&&u){let A=u.map(async p=>r.cookieJar.setCookie(p,o.toString()));r.ignoreInvalidCookies&&(A=A.map(async p=>p.catch(()=>{})));try{await Promise.all(A)}catch(p){this._beforeError(p);return}}if(r.followRedirect&&e.headers.location&&$it.has(a)){if(e.resume(),this[Ys]&&(this[o4](),delete this[Ys],this[Fle]()),(a===303&&r.method!=="GET"&&r.method!=="HEAD"||!r.methodRewriting)&&(r.method="GET","body"in r&&delete r.body,"json"in r&&delete r.json,"form"in r&&delete r.form,this[fh]=void 0,delete r.headers["content-length"]),this.redirects.length>=r.maxRedirects){this._beforeError(new jb(this));return}try{let p=Buffer.from(e.headers.location,"binary").toString(),h=new uh.URL(p,o),E=h.toString();decodeURI(E),h.hostname!==o.hostname||h.port!==o.port?("host"in r.headers&&delete r.headers.host,"cookie"in r.headers&&delete r.headers.cookie,"authorization"in r.headers&&delete r.headers.authorization,(r.username||r.password)&&(r.username="",r.password="")):(h.username=r.username,h.password=r.password),this.redirects.push(E),r.url=h;for(let w of r.hooks.beforeRedirect)await w(r,n);this.emit("redirect",n,r),await this._makeRequest()}catch(p){this._beforeError(p);return}return}if(r.isStream&&r.throwHttpErrors&&!Yit.isResponseOk(n)){this._beforeError(new Gb(n));return}e.on("readable",()=>{this[Hb]&&this._read()}),this.on("resume",()=>{e.resume()}),this.on("pause",()=>{e.pause()}),e.once("end",()=>{this.push(null)}),this.emit("response",e);for(let A of this[_b])if(!A.headersSent){for(let p in e.headers){let h=r.decompress?p!=="content-encoding":!0,E=e.headers[p];h&&A.setHeader(p,E)}A.statusCode=a}}async _onResponse(e){try{await this._onResponseBase(e)}catch(r){this._beforeError(r)}}_onRequest(e){let{options:r}=this,{timeout:o,url:a}=r;Lit.default(e),this[o4]=xle.default(e,o,a);let n=r.cache?"cacheableResponse":"response";e.once(n,p=>{this._onResponse(p)}),e.once("error",p=>{var h;e.destroy(),(h=e.res)===null||h===void 0||h.removeAllListeners("end"),p=p instanceof xle.TimeoutError?new Kb(p,this.timings,this):new zi(p.message,p,this),this._beforeError(p)}),this[Fle]=qit.default(e,this,tst),this[Ys]=e,this.emit("uploadProgress",this.uploadProgress);let u=this[fh],A=this.redirects.length===0?this:e;at.default.nodeStream(u)?(u.pipe(A),u.once("error",p=>{this._beforeError(new Yb(p,this))})):(this._unlockWrite(),at.default.undefined(u)?(this._cannotHaveBody||this._noPipe)&&(A.end(),this._lockWrite()):(this._writeRequest(u,void 0,()=>{}),A.end(),this._lockWrite())),this.emit("request",e)}async _createCacheableRequest(e,r){return new Promise((o,a)=>{Object.assign(r,jit.default(e)),delete r.url;let n,u=a4.get(r.cache)(r,async A=>{A._readableState.autoDestroy=!1,n&&(await n).emit("cacheableResponse",A),o(A)});r.url=e,u.once("error",a),u.once("request",async A=>{n=A,o(n)})})}async _makeRequest(){var e,r,o,a,n;let{options:u}=this,{headers:A}=u;for(let U in A)if(at.default.undefined(A[U]))delete A[U];else if(at.default.null_(A[U]))throw new TypeError(`Use \`undefined\` instead of \`null\` to delete the \`${U}\` header`);if(u.decompress&&at.default.undefined(A["accept-encoding"])&&(A["accept-encoding"]=Jit?"gzip, deflate, br":"gzip, deflate"),u.cookieJar){let U=await u.cookieJar.getCookieString(u.url.toString());at.default.nonEmptyString(U)&&(u.headers.cookie=U)}for(let U of u.hooks.beforeRequest){let J=await U(u);if(!at.default.undefined(J)){u.request=()=>J;break}}u.body&&this[fh]!==u.body&&(this[fh]=u.body);let{agent:p,request:h,timeout:E,url:w}=u;if(u.dnsCache&&!("lookup"in u)&&(u.lookup=u.dnsCache.lookup),w.hostname==="unix"){let U=/(?<socketPath>.+?):(?<path>.+)/.exec(`${w.pathname}${w.search}`);if(U?.groups){let{socketPath:J,path:te}=U.groups;Object.assign(u,{socketPath:J,path:te,host:""})}}let D=w.protocol==="https:",x;u.http2?x=Uit.auto:x=D?Nit.request:Ple.request;let C=(e=u.request)!==null&&e!==void 0?e:x,T=u.cache?this._createCacheableRequest:C;p&&!u.http2&&(u.agent=p[D?"https":"http"]),u[Ys]=C,delete u.request,delete u.timeout;let L=u;if(L.shared=(r=u.cacheOptions)===null||r===void 0?void 0:r.shared,L.cacheHeuristic=(o=u.cacheOptions)===null||o===void 0?void 0:o.cacheHeuristic,L.immutableMinTimeToLive=(a=u.cacheOptions)===null||a===void 0?void 0:a.immutableMinTimeToLive,L.ignoreCargoCult=(n=u.cacheOptions)===null||n===void 0?void 0:n.ignoreCargoCult,u.dnsLookupIpVersion!==void 0)try{L.family=Qle.dnsLookupIpVersionToFamily(u.dnsLookupIpVersion)}catch{throw new Error("Invalid `dnsLookupIpVersion` option value")}u.https&&("rejectUnauthorized"in u.https&&(L.rejectUnauthorized=u.https.rejectUnauthorized),u.https.checkServerIdentity&&(L.checkServerIdentity=u.https.checkServerIdentity),u.https.certificateAuthority&&(L.ca=u.https.certificateAuthority),u.https.certificate&&(L.cert=u.https.certificate),u.https.key&&(L.key=u.https.key),u.https.passphrase&&(L.passphrase=u.https.passphrase),u.https.pfx&&(L.pfx=u.https.pfx));try{let U=await T(w,L);at.default.undefined(U)&&(U=x(w,L)),u.request=h,u.timeout=E,u.agent=p,u.https&&("rejectUnauthorized"in u.https&&delete L.rejectUnauthorized,u.https.checkServerIdentity&&delete L.checkServerIdentity,u.https.certificateAuthority&&delete L.ca,u.https.certificate&&delete L.cert,u.https.key&&delete L.key,u.https.passphrase&&delete L.passphrase,u.https.pfx&&delete L.pfx),Xit(U)?this._onRequest(U):this.writable?(this.once("finish",()=>{this._onResponse(U)}),this._unlockWrite(),this.end(),this._lockWrite()):this._onResponse(U)}catch(U){throw U instanceof Sle.CacheError?new Wb(U,this):new zi(U.message,U,this)}}async _error(e){try{for(let r of this.options.hooks.beforeError)e=await r(e)}catch(r){e=new zi(r.message,r,this)}this.destroy(e)}_beforeError(e){if(this[by])return;let{options:r}=this,o=this.retryCount+1;this[by]=!0,e instanceof zi||(e=new zi(e.message,e,this));let a=e,{response:n}=a;(async()=>{if(n&&!n.body){n.setEncoding(this._readableState.encoding);try{n.rawBody=await Wit.default(n),n.body=n.rawBody.toString()}catch{}}if(this.listenerCount("retry")!==0){let u;try{let A;n&&"retry-after"in n.headers&&(A=Number(n.headers["retry-after"]),Number.isNaN(A)?(A=Date.parse(n.headers["retry-after"])-Date.now(),A<=0&&(A=1)):A*=1e3),u=await r.retry.calculateDelay({attemptCount:o,retryOptions:r.retry,error:a,retryAfter:A,computedValue:Vit.default({attemptCount:o,retryOptions:r.retry,error:a,retryAfter:A,computedValue:0})})}catch(A){this._error(new zi(A.message,A,this));return}if(u){let A=async()=>{try{for(let p of this.options.hooks.beforeRetry)await p(this.options,a,o)}catch(p){this._error(new zi(p.message,e,this));return}this.destroyed||(this.destroy(),this.emit("retry",o,e))};this[Lle]=setTimeout(A,u);return}}this._error(a)})()}_read(){this[Hb]=!0;let e=this[qb];if(e&&!this[by]){e.readableLength&&(this[Hb]=!1);let r;for(;(r=e.read())!==null;){this[Dy]+=r.length,this[Tle]=!0;let o=this.downloadProgress;o.percent<1&&this.emit("downloadProgress",o),this.push(r)}}}_write(e,r,o){let a=()=>{this._writeRequest(e,r,o)};this.requestInitialized?a():this[O1].push(a)}_writeRequest(e,r,o){this[Ys].destroyed||(this._progressCallbacks.push(()=>{this[Sy]+=Buffer.byteLength(e,r);let a=this.uploadProgress;a.percent<1&&this.emit("uploadProgress",a)}),this[Ys].write(e,r,a=>{!a&&this._progressCallbacks.length>0&&this._progressCallbacks.shift()(),o(a)}))}_final(e){let r=()=>{for(;this._progressCallbacks.length!==0;)this._progressCallbacks.shift()();if(!(Ys in this)){e();return}if(this[Ys].destroyed){e();return}this[Ys].end(o=>{o||(this[Py]=this[Sy],this.emit("uploadProgress",this.uploadProgress),this[Ys].emit("upload-complete")),e(o)})};this.requestInitialized?r():this[O1].push(r)}_destroy(e,r){var o;this[by]=!0,clearTimeout(this[Lle]),Ys in this&&(this[o4](),!((o=this[qb])===null||o===void 0)&&o.complete||this[Ys].destroy()),e!==null&&!at.default.undefined(e)&&!(e instanceof zi)&&(e=new zi(e.message,e,this)),r(e)}get _isAboutToError(){return this[by]}get ip(){var e;return(e=this.socket)===null||e===void 0?void 0:e.remoteAddress}get aborted(){var e,r,o;return((r=(e=this[Ys])===null||e===void 0?void 0:e.destroyed)!==null&&r!==void 0?r:this.destroyed)&&!(!((o=this[Nle])===null||o===void 0)&&o.complete)}get socket(){var e,r;return(r=(e=this[Ys])===null||e===void 0?void 0:e.socket)!==null&&r!==void 0?r:void 0}get downloadProgress(){let e;return this[vy]?e=this[Dy]/this[vy]:this[vy]===this[Dy]?e=1:e=0,{percent:e,transferred:this[Dy],total:this[vy]}}get uploadProgress(){let e;return this[Py]?e=this[Sy]/this[Py]:this[Py]===this[Sy]?e=1:e=0,{percent:e,transferred:this[Sy],total:this[Py]}}get timings(){var e;return(e=this[Ys])===null||e===void 0?void 0:e.timings}get isFromCache(){return this[Rle]}pipe(e,r){if(this[Tle])throw new Error("Failed to pipe. The response has been emitted already.");return e instanceof i4.ServerResponse&&this[_b].add(e),super.pipe(e,r)}unpipe(e){return e instanceof i4.ServerResponse&&this[_b].delete(e),super.unpipe(e),this}};Qn.default=Jb});var _1=_(zc=>{"use strict";var rst=zc&&zc.__createBinding||(Object.create?function(t,e,r,o){o===void 0&&(o=r),Object.defineProperty(t,o,{enumerable:!0,get:function(){return e[r]}})}:function(t,e,r,o){o===void 0&&(o=r),t[o]=e[r]}),nst=zc&&zc.__exportStar||function(t,e){for(var r in t)r!=="default"&&!Object.prototype.hasOwnProperty.call(e,r)&&rst(e,t,r)};Object.defineProperty(zc,"__esModule",{value:!0});zc.CancelError=zc.ParseError=void 0;var Ole=U1(),l4=class extends Ole.RequestError{constructor(e,r){let{options:o}=r.request;super(`${e.message} in "${o.url.toString()}"`,e,r.request),this.name="ParseError"}};zc.ParseError=l4;var c4=class extends Ole.RequestError{constructor(e){super("Promise was canceled",{},e),this.name="CancelError"}get isCanceled(){return!0}};zc.CancelError=c4;nst(U1(),zc)});var Ule=_(u4=>{"use strict";Object.defineProperty(u4,"__esModule",{value:!0});var Mle=_1(),ist=(t,e,r,o)=>{let{rawBody:a}=t;try{if(e==="text")return a.toString(o);if(e==="json")return a.length===0?"":r(a.toString());if(e==="buffer")return a;throw new Mle.ParseError({message:`Unknown body type '${e}'`,name:"Error"},t)}catch(n){throw new Mle.ParseError(n,t)}};u4.default=ist});var A4=_(ph=>{"use strict";var sst=ph&&ph.__createBinding||(Object.create?function(t,e,r,o){o===void 0&&(o=r),Object.defineProperty(t,o,{enumerable:!0,get:function(){return e[r]}})}:function(t,e,r,o){o===void 0&&(o=r),t[o]=e[r]}),ost=ph&&ph.__exportStar||function(t,e){for(var r in t)r!=="default"&&!Object.prototype.hasOwnProperty.call(e,r)&&sst(e,t,r)};Object.defineProperty(ph,"__esModule",{value:!0});var ast=ve("events"),lst=Ff(),cst=Moe(),zb=_1(),_le=Ule(),Hle=U1(),ust=KU(),Ast=e4(),qle=t4(),fst=["request","response","redirect","uploadProgress","downloadProgress"];function jle(t){let e,r,o=new ast.EventEmitter,a=new cst((u,A,p)=>{let h=E=>{let w=new Hle.default(void 0,t);w.retryCount=E,w._noPipe=!0,p(()=>w.destroy()),p.shouldReject=!1,p(()=>A(new zb.CancelError(w))),e=w,w.once("response",async C=>{var T;if(C.retryCount=E,C.request.aborted)return;let L;try{L=await Ast.default(w),C.rawBody=L}catch{return}if(w._isAboutToError)return;let U=((T=C.headers["content-encoding"])!==null&&T!==void 0?T:"").toLowerCase(),J=["gzip","deflate","br"].includes(U),{options:te}=w;if(J&&!te.decompress)C.body=L;else try{C.body=_le.default(C,te.responseType,te.parseJson,te.encoding)}catch(le){if(C.body=L.toString(),qle.isResponseOk(C)){w._beforeError(le);return}}try{for(let[le,ce]of te.hooks.afterResponse.entries())C=await ce(C,async ue=>{let Ie=Hle.default.normalizeArguments(void 0,{...ue,retry:{calculateDelay:()=>0},throwHttpErrors:!1,resolveBodyOnly:!1},te);Ie.hooks.afterResponse=Ie.hooks.afterResponse.slice(0,le);for(let De of Ie.hooks.beforeRetry)await De(Ie);let he=jle(Ie);return p(()=>{he.catch(()=>{}),he.cancel()}),he})}catch(le){w._beforeError(new zb.RequestError(le.message,le,w));return}if(!qle.isResponseOk(C)){w._beforeError(new zb.HTTPError(C));return}r=C,u(w.options.resolveBodyOnly?C.body:C)});let D=C=>{if(a.isCanceled)return;let{options:T}=w;if(C instanceof zb.HTTPError&&!T.throwHttpErrors){let{response:L}=C;u(w.options.resolveBodyOnly?L.body:L);return}A(C)};w.once("error",D);let x=w.options.body;w.once("retry",(C,T)=>{var L,U;if(x===((L=T.request)===null||L===void 0?void 0:L.options.body)&&lst.default.nodeStream((U=T.request)===null||U===void 0?void 0:U.options.body)){D(T);return}h(C)}),ust.default(w,o,fst)};h(0)});a.on=(u,A)=>(o.on(u,A),a);let n=u=>{let A=(async()=>{await a;let{options:p}=r.request;return _le.default(r,u,p.parseJson,p.encoding)})();return Object.defineProperties(A,Object.getOwnPropertyDescriptors(a)),A};return a.json=()=>{let{headers:u}=e.options;return!e.writableFinished&&u.accept===void 0&&(u.accept="application/json"),n("json")},a.buffer=()=>n("buffer"),a.text=()=>n("text"),a}ph.default=jle;ost(_1(),ph)});var Gle=_(f4=>{"use strict";Object.defineProperty(f4,"__esModule",{value:!0});var pst=_1();function hst(t,...e){let r=(async()=>{if(t instanceof pst.RequestError)try{for(let a of e)if(a)for(let n of a)t=await n(t)}catch(a){t=a}throw t})(),o=()=>r;return r.json=o,r.text=o,r.buffer=o,r.on=o,r}f4.default=hst});var Kle=_(p4=>{"use strict";Object.defineProperty(p4,"__esModule",{value:!0});var Wle=Ff();function Yle(t){for(let e of Object.values(t))(Wle.default.plainObject(e)||Wle.default.array(e))&&Yle(e);return Object.freeze(t)}p4.default=Yle});var Jle=_(Vle=>{"use strict";Object.defineProperty(Vle,"__esModule",{value:!0})});var h4=_(Xl=>{"use strict";var gst=Xl&&Xl.__createBinding||(Object.create?function(t,e,r,o){o===void 0&&(o=r),Object.defineProperty(t,o,{enumerable:!0,get:function(){return e[r]}})}:function(t,e,r,o){o===void 0&&(o=r),t[o]=e[r]}),dst=Xl&&Xl.__exportStar||function(t,e){for(var r in t)r!=="default"&&!Object.prototype.hasOwnProperty.call(e,r)&&gst(e,t,r)};Object.defineProperty(Xl,"__esModule",{value:!0});Xl.defaultHandler=void 0;var zle=Ff(),zl=A4(),mst=Gle(),Zb=U1(),yst=Kle(),Est={RequestError:zl.RequestError,CacheError:zl.CacheError,ReadError:zl.ReadError,HTTPError:zl.HTTPError,MaxRedirectsError:zl.MaxRedirectsError,TimeoutError:zl.TimeoutError,ParseError:zl.ParseError,CancelError:zl.CancelError,UnsupportedProtocolError:zl.UnsupportedProtocolError,UploadError:zl.UploadError},Cst=async t=>new Promise(e=>{setTimeout(e,t)}),{normalizeArguments:Xb}=Zb.default,Xle=(...t)=>{let e;for(let r of t)e=Xb(void 0,r,e);return e},Ist=t=>t.isStream?new Zb.default(void 0,t):zl.default(t),wst=t=>"defaults"in t&&"options"in t.defaults,Bst=["get","post","put","patch","head","delete"];Xl.defaultHandler=(t,e)=>e(t);var Zle=(t,e)=>{if(t)for(let r of t)r(e)},$le=t=>{t._rawHandlers=t.handlers,t.handlers=t.handlers.map(o=>(a,n)=>{let u,A=o(a,p=>(u=n(p),u));if(A!==u&&!a.isStream&&u){let p=A,{then:h,catch:E,finally:w}=p;Object.setPrototypeOf(p,Object.getPrototypeOf(u)),Object.defineProperties(p,Object.getOwnPropertyDescriptors(u)),p.then=h,p.catch=E,p.finally=w}return A});let e=(o,a={},n)=>{var u,A;let p=0,h=E=>t.handlers[p++](E,p===t.handlers.length?Ist:h);if(zle.default.plainObject(o)){let E={...o,...a};Zb.setNonEnumerableProperties([o,a],E),a=E,o=void 0}try{let E;try{Zle(t.options.hooks.init,a),Zle((u=a.hooks)===null||u===void 0?void 0:u.init,a)}catch(D){E=D}let w=Xb(o,a,n??t.options);if(w[Zb.kIsNormalizedAlready]=!0,E)throw new zl.RequestError(E.message,E,w);return h(w)}catch(E){if(a.isStream)throw E;return mst.default(E,t.options.hooks.beforeError,(A=a.hooks)===null||A===void 0?void 0:A.beforeError)}};e.extend=(...o)=>{let a=[t.options],n=[...t._rawHandlers],u;for(let A of o)wst(A)?(a.push(A.defaults.options),n.push(...A.defaults._rawHandlers),u=A.defaults.mutableDefaults):(a.push(A),"handlers"in A&&n.push(...A.handlers),u=A.mutableDefaults);return n=n.filter(A=>A!==Xl.defaultHandler),n.length===0&&n.push(Xl.defaultHandler),$le({options:Xle(...a),handlers:n,mutableDefaults:!!u})};let r=async function*(o,a){let n=Xb(o,a,t.options);n.resolveBodyOnly=!1;let u=n.pagination;if(!zle.default.object(u))throw new TypeError("`options.pagination` must be implemented");let A=[],{countLimit:p}=u,h=0;for(;h<u.requestLimit;){h!==0&&await Cst(u.backoff);let E=await e(void 0,void 0,n),w=await u.transform(E),D=[];for(let C of w)if(u.filter(C,A,D)&&(!u.shouldContinue(C,A,D)||(yield C,u.stackAllItems&&A.push(C),D.push(C),--p<=0)))return;let x=u.paginate(E,A,D);if(x===!1)return;x===E.request.options?n=E.request.options:x!==void 0&&(n=Xb(void 0,x,n)),h++}};e.paginate=r,e.paginate.all=async(o,a)=>{let n=[];for await(let u of r(o,a))n.push(u);return n},e.paginate.each=r,e.stream=(o,a)=>e(o,{...a,isStream:!0});for(let o of Bst)e[o]=(a,n)=>e(a,{...n,method:o}),e.stream[o]=(a,n)=>e(a,{...n,method:o,isStream:!0});return Object.assign(e,Est),Object.defineProperty(e,"defaults",{value:t.mutableDefaults?t:yst.default(t),writable:t.mutableDefaults,configurable:t.mutableDefaults,enumerable:!0}),e.mergeOptions=Xle,e};Xl.default=$le;dst(Jle(),Xl)});var rce=_((Rf,$b)=>{"use strict";var vst=Rf&&Rf.__createBinding||(Object.create?function(t,e,r,o){o===void 0&&(o=r),Object.defineProperty(t,o,{enumerable:!0,get:function(){return e[r]}})}:function(t,e,r,o){o===void 0&&(o=r),t[o]=e[r]}),ece=Rf&&Rf.__exportStar||function(t,e){for(var r in t)r!=="default"&&!Object.prototype.hasOwnProperty.call(e,r)&&vst(e,t,r)};Object.defineProperty(Rf,"__esModule",{value:!0});var Dst=ve("url"),tce=h4(),Pst={options:{method:"GET",retry:{limit:2,methods:["GET","PUT","HEAD","DELETE","OPTIONS","TRACE"],statusCodes:[408,413,429,500,502,503,504,521,522,524],errorCodes:["ETIMEDOUT","ECONNRESET","EADDRINUSE","ECONNREFUSED","EPIPE","ENOTFOUND","ENETUNREACH","EAI_AGAIN"],maxRetryAfter:void 0,calculateDelay:({computedValue:t})=>t},timeout:{},headers:{"user-agent":"got (https://github.com/sindresorhus/got)"},hooks:{init:[],beforeRequest:[],beforeRedirect:[],beforeRetry:[],beforeError:[],afterResponse:[]},cache:void 0,dnsCache:void 0,decompress:!0,throwHttpErrors:!0,followRedirect:!0,isStream:!1,responseType:"text",resolveBodyOnly:!1,maxRedirects:10,prefixUrl:"",methodRewriting:!0,ignoreInvalidCookies:!1,context:{},http2:!1,allowGetBody:!1,https:void 0,pagination:{transform:t=>t.request.options.responseType==="json"?t.body:JSON.parse(t.body),paginate:t=>{if(!Reflect.has(t.headers,"link"))return!1;let e=t.headers.link.split(","),r;for(let o of e){let a=o.split(";");if(a[1].includes("next")){r=a[0].trimStart().trim(),r=r.slice(1,-1);break}}return r?{url:new Dst.URL(r)}:!1},filter:()=>!0,shouldContinue:()=>!0,countLimit:1/0,backoff:0,requestLimit:1e4,stackAllItems:!0},parseJson:t=>JSON.parse(t),stringifyJson:t=>JSON.stringify(t),cacheOptions:{}},handlers:[tce.defaultHandler],mutableDefaults:!1},g4=tce.default(Pst);Rf.default=g4;$b.exports=g4;$b.exports.default=g4;$b.exports.__esModule=!0;ece(h4(),Rf);ece(A4(),Rf)});var on={};Kt(on,{Method:()=>cce,del:()=>Qst,get:()=>E4,getNetworkSettings:()=>lce,post:()=>C4,put:()=>kst,request:()=>H1});function sce(t){let e=new URL(t),r={host:e.hostname,headers:{}};return e.port&&(r.port=Number(e.port)),e.username&&e.password&&(r.proxyAuth=`${e.username}:${e.password}`),{proxy:r}}async function d4(t){return Al(ice,t,()=>ae.readFilePromise(t).then(e=>(ice.set(t,e),e)))}function xst({statusCode:t,statusMessage:e},r){let o=Ut(r,t,Ct.NUMBER),a=`https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/${t}`;return ty(r,`${o}${e?` (${e})`:""}`,a)}async function ex(t,{configuration:e,customErrorMessage:r}){try{return await t}catch(o){if(o.name!=="HTTPError")throw o;let a=r?.(o,e)??o.response.body?.error;a==null&&(o.message.startsWith("Response code")?a="The remote server failed to provide the requested resource":a=o.message),o.code==="ETIMEDOUT"&&o.event==="socket"&&(a+=`(can be increased via ${Ut(e,"httpTimeout",Ct.SETTING)})`);let n=new Jt(35,a,u=>{o.response&&u.reportError(35,` ${$u(e,{label:"Response Code",value:Yc(Ct.NO_HINT,xst(o.response,e))})}`),o.request&&(u.reportError(35,` ${$u(e,{label:"Request Method",value:Yc(Ct.NO_HINT,o.request.options.method)})}`),u.reportError(35,` ${$u(e,{label:"Request URL",value:Yc(Ct.URL,o.request.requestUrl)})}`)),o.request.redirects.length>0&&u.reportError(35,` ${$u(e,{label:"Request Redirects",value:Yc(Ct.NO_HINT,cO(e,o.request.redirects,Ct.URL))})}`),o.request.retryCount===o.request.options.retry.limit&&u.reportError(35,` ${$u(e,{label:"Request Retry Count",value:Yc(Ct.NO_HINT,`${Ut(e,o.request.retryCount,Ct.NUMBER)} (can be increased via ${Ut(e,"httpRetry",Ct.SETTING)})`)})}`)});throw n.originalError=o,n}}function lce(t,e){let r=[...e.configuration.get("networkSettings")].sort(([u],[A])=>A.length-u.length),o={enableNetwork:void 0,httpsCaFilePath:void 0,httpProxy:void 0,httpsProxy:void 0,httpsKeyFilePath:void 0,httpsCertFilePath:void 0},a=Object.keys(o),n=typeof t=="string"?new URL(t):t;for(let[u,A]of r)if(y4.default.isMatch(n.hostname,u))for(let p of a){let h=A.get(p);h!==null&&typeof o[p]>"u"&&(o[p]=h)}for(let u of a)typeof o[u]>"u"&&(o[u]=e.configuration.get(u));return o}async function H1(t,e,{configuration:r,headers:o,jsonRequest:a,jsonResponse:n,method:u="GET",wrapNetworkRequest:A}){let p={target:t,body:e,configuration:r,headers:o,jsonRequest:a,jsonResponse:n,method:u},h=async()=>await Fst(t,e,p),E=typeof A<"u"?await A(h,p):h;return await(await r.reduceHook(D=>D.wrapNetworkRequest,E,p))()}async function E4(t,{configuration:e,jsonResponse:r,customErrorMessage:o,wrapNetworkRequest:a,...n}){let u=()=>ex(H1(t,null,{configuration:e,wrapNetworkRequest:a,...n}),{configuration:e,customErrorMessage:o}).then(p=>p.body),A=await(typeof a<"u"?u():Al(nce,t,()=>u().then(p=>(nce.set(t,p),p))));return r?JSON.parse(A.toString()):A}async function kst(t,e,{customErrorMessage:r,...o}){return(await ex(H1(t,e,{...o,method:"PUT"}),{customErrorMessage:r,configuration:o.configuration})).body}async function C4(t,e,{customErrorMessage:r,...o}){return(await ex(H1(t,e,{...o,method:"POST"}),{customErrorMessage:r,configuration:o.configuration})).body}async function Qst(t,{customErrorMessage:e,...r}){return(await ex(H1(t,null,{...r,method:"DELETE"}),{customErrorMessage:e,configuration:r.configuration})).body}async function Fst(t,e,{configuration:r,headers:o,jsonRequest:a,jsonResponse:n,method:u="GET"}){let A=typeof t=="string"?new URL(t):t,p=lce(A,{configuration:r});if(p.enableNetwork===!1)throw new Jt(80,`Request to '${A.href}' has been blocked because of your configuration settings`);if(A.protocol==="http:"&&!y4.default.isMatch(A.hostname,r.get("unsafeHttpWhitelist")))throw new Jt(81,`Unsafe http requests must be explicitly whitelisted in your configuration (${A.hostname})`);let E={agent:{http:p.httpProxy?m4.default.httpOverHttp(sce(p.httpProxy)):Sst,https:p.httpsProxy?m4.default.httpsOverHttp(sce(p.httpsProxy)):bst},headers:o,method:u};E.responseType=n?"json":"buffer",e!==null&&(Buffer.isBuffer(e)||!a&&typeof e=="string"?E.body=e:E.json=e);let w=r.get("httpTimeout"),D=r.get("httpRetry"),x=r.get("enableStrictSsl"),C=p.httpsCaFilePath,T=p.httpsCertFilePath,L=p.httpsKeyFilePath,{default:U}=await Promise.resolve().then(()=>et(rce())),J=C?await d4(C):void 0,te=T?await d4(T):void 0,le=L?await d4(L):void 0,ce=U.extend({timeout:{socket:w},retry:D,https:{rejectUnauthorized:x,certificateAuthority:J,certificate:te,key:le},...E});return r.getLimit("networkConcurrency")(()=>ce(A))}var oce,ace,y4,m4,nce,ice,Sst,bst,cce,tx=It(()=>{Pt();oce=ve("https"),ace=ve("http"),y4=et(Xo()),m4=et(Roe());Vl();Wl();Gl();nce=new Map,ice=new Map,Sst=new ace.Agent({keepAlive:!0}),bst=new oce.Agent({keepAlive:!0});cce=(a=>(a.GET="GET",a.PUT="PUT",a.POST="POST",a.DELETE="DELETE",a))(cce||{})});var Xi={};Kt(Xi,{availableParallelism:()=>w4,getArchitecture:()=>q1,getArchitectureName:()=>Ost,getArchitectureSet:()=>I4,getCaller:()=>Hst,major:()=>Rst,openUrl:()=>Tst});function Lst(){if(process.platform==="darwin"||process.platform==="win32")return null;let t;try{t=ae.readFileSync(Nst)}catch{}if(typeof t<"u"){if(t&&(t.includes("GLIBC")||t.includes("libc")))return"glibc";if(t&&t.includes("musl"))return"musl"}let r=(process.report?.getReport()??{}).sharedObjects??[],o=/\/(?:(ld-linux-|[^/]+-linux-gnu\/)|(libc.musl-|ld-musl-))/;return eh(r,a=>{let n=a.match(o);if(!n)return eh.skip;if(n[1])return"glibc";if(n[2])return"musl";throw new Error("Assertion failed: Expected the libc variant to have been detected")})??null}function q1(){return Ace=Ace??{os:process.platform,cpu:process.arch,libc:Lst()}}function Ost(t=q1()){return t.libc?`${t.os}-${t.cpu}-${t.libc}`:`${t.os}-${t.cpu}`}function I4(){let t=q1();return fce=fce??{os:[t.os],cpu:[t.cpu],libc:t.libc?[t.libc]:[]}}function _st(t){let e=Mst.exec(t);if(!e)return null;let r=e[2]&&e[2].indexOf("native")===0,o=e[2]&&e[2].indexOf("eval")===0,a=Ust.exec(e[2]);return o&&a!=null&&(e[2]=a[1],e[3]=a[2],e[4]=a[3]),{file:r?null:e[2],methodName:e[1]||"<unknown>",arguments:r?[e[2]]:[],line:e[3]?+e[3]:null,column:e[4]?+e[4]:null}}function Hst(){let e=new Error().stack.split(` +`)[3];return _st(e)}function w4(){return typeof rx.default.availableParallelism<"u"?rx.default.availableParallelism():Math.max(1,rx.default.cpus().length)}var rx,Rst,uce,Tst,Nst,Ace,fce,Mst,Ust,nx=It(()=>{Pt();rx=et(ve("os"));ix();Gl();Rst=Number(process.versions.node.split(".")[0]),uce=new Map([["darwin","open"],["linux","xdg-open"],["win32","explorer.exe"]]).get(process.platform),Tst=typeof uce<"u"?async t=>{try{return await B4(uce,[t],{cwd:K.cwd()}),!0}catch{return!1}}:void 0,Nst="/usr/bin/ldd";Mst=/^\s*at (.*?) ?\(((?:file|https?|blob|chrome-extension|native|eval|webpack|<anonymous>|\/|[a-z]:\\|\\\\).*?)(?::(\d+))?(?::(\d+))?\)?\s*$/i,Ust=/\((\S*)(?::(\d+))(?::(\d+))\)/});function b4(t,e,r,o,a){let n=x1(r);if(o.isArray||o.type==="ANY"&&Array.isArray(n))return Array.isArray(n)?n.map((u,A)=>v4(t,`${e}[${A}]`,u,o,a)):String(n).split(/,/).map(u=>v4(t,e,u,o,a));if(Array.isArray(n))throw new Error(`Non-array configuration settings "${e}" cannot be an array`);return v4(t,e,r,o,a)}function v4(t,e,r,o,a){let n=x1(r);switch(o.type){case"ANY":return Bb(n);case"SHAPE":return Wst(t,e,r,o,a);case"MAP":return Yst(t,e,r,o,a)}if(n===null&&!o.isNullable&&o.default!==null)throw new Error(`Non-nullable configuration settings "${e}" cannot be set to null`);if(o.values?.includes(n))return n;let A=(()=>{if(o.type==="BOOLEAN"&&typeof n!="string")return f1(n);if(typeof n!="string")throw new Error(`Expected configuration setting "${e}" to be a string, got ${typeof n}`);let p=LS(n,{env:t.env});switch(o.type){case"ABSOLUTE_PATH":{let h=a,E=eU(r);return E&&E[0]!=="<"&&(h=K.dirname(E)),K.resolve(h,Ae.toPortablePath(p))}case"LOCATOR_LOOSE":return Sf(p,!1);case"NUMBER":return parseInt(p);case"LOCATOR":return Sf(p);case"BOOLEAN":return f1(p);default:return p}})();if(o.values&&!o.values.includes(A))throw new Error(`Invalid value, expected one of ${o.values.join(", ")}`);return A}function Wst(t,e,r,o,a){let n=x1(r);if(typeof n!="object"||Array.isArray(n))throw new it(`Object configuration settings "${e}" must be an object`);let u=x4(t,o,{ignoreArrays:!0});if(n===null)return u;for(let[A,p]of Object.entries(n)){let h=`${e}.${A}`;if(!o.properties[A])throw new it(`Unrecognized configuration settings found: ${e}.${A} - run "yarn config -v" to see the list of settings supported in Yarn`);u.set(A,b4(t,h,p,o.properties[A],a))}return u}function Yst(t,e,r,o,a){let n=x1(r),u=new Map;if(typeof n!="object"||Array.isArray(n))throw new it(`Map configuration settings "${e}" must be an object`);if(n===null)return u;for(let[A,p]of Object.entries(n)){let h=o.normalizeKeys?o.normalizeKeys(A):A,E=`${e}['${h}']`,w=o.valueDefinition;u.set(h,b4(t,E,p,w,a))}return u}function x4(t,e,{ignoreArrays:r=!1}={}){switch(e.type){case"SHAPE":{if(e.isArray&&!r)return[];let o=new Map;for(let[a,n]of Object.entries(e.properties))o.set(a,x4(t,n));return o}case"MAP":return e.isArray&&!r?[]:new Map;case"ABSOLUTE_PATH":return e.default===null?null:t.projectCwd===null?Array.isArray(e.default)?e.default.map(o=>K.normalize(o)):K.isAbsolute(e.default)?K.normalize(e.default):e.isNullable?null:void 0:Array.isArray(e.default)?e.default.map(o=>K.resolve(t.projectCwd,o)):K.resolve(t.projectCwd,e.default);default:return e.default}}function ox(t,e,r){if(e.type==="SECRET"&&typeof t=="string"&&r.hideSecrets)return Gst;if(e.type==="ABSOLUTE_PATH"&&typeof t=="string"&&r.getNativePaths)return Ae.fromPortablePath(t);if(e.isArray&&Array.isArray(t)){let o=[];for(let a of t)o.push(ox(a,e,r));return o}if(e.type==="MAP"&&t instanceof Map){if(t.size===0)return;let o=new Map;for(let[a,n]of t.entries()){let u=ox(n,e.valueDefinition,r);typeof u<"u"&&o.set(a,u)}return o}if(e.type==="SHAPE"&&t instanceof Map){if(t.size===0)return;let o=new Map;for(let[a,n]of t.entries()){let u=e.properties[a],A=ox(n,u,r);typeof A<"u"&&o.set(a,A)}return o}return t}function Kst(){let t={};for(let[e,r]of Object.entries(process.env))e=e.toLowerCase(),e.startsWith(ax)&&(e=(0,hce.default)(e.slice(ax.length)),t[e]=r);return t}function P4(){let t=`${ax}rc_filename`;for(let[e,r]of Object.entries(process.env))if(e.toLowerCase()===t&&typeof r=="string")return r;return S4}async function pce(t){try{return await ae.readFilePromise(t)}catch{return Buffer.of()}}async function Vst(t,e){return Buffer.compare(...await Promise.all([pce(t),pce(e)]))===0}async function Jst(t,e){let[r,o]=await Promise.all([ae.statPromise(t),ae.statPromise(e)]);return r.dev===o.dev&&r.ino===o.ino}async function Xst({configuration:t,selfPath:e}){let r=t.get("yarnPath");return t.get("ignorePath")||r===null||r===e||await zst(r,e)?null:r}var hce,Tf,gce,dce,mce,D4,qst,j1,jst,xy,ax,S4,Gst,G1,yce,lx,sx,zst,ze,W1=It(()=>{Pt();Ol();hce=et(jV()),Tf=et(sg());Gt();gce=et(LJ()),dce=ve("module"),mce=et(lg()),D4=ve("stream");Vse();Ay();YM();KM();VM();woe();JM();Dg();Soe();Db();Wl();ah();tx();Gl();nx();xf();Io();qst=function(){if(!Tf.GITHUB_ACTIONS||!process.env.GITHUB_EVENT_PATH)return!1;let t=Ae.toPortablePath(process.env.GITHUB_EVENT_PATH),e;try{e=ae.readJsonSync(t)}catch{return!1}return!(!("repository"in e)||!e.repository||(e.repository.private??!0))}(),j1=new Set(["@yarnpkg/plugin-constraints","@yarnpkg/plugin-exec","@yarnpkg/plugin-interactive-tools","@yarnpkg/plugin-stage","@yarnpkg/plugin-typescript","@yarnpkg/plugin-version","@yarnpkg/plugin-workspace-tools"]),jst=new Set(["isTestEnv","injectNpmUser","injectNpmPassword","injectNpm2FaToken","zipDataEpilogue","cacheCheckpointOverride","cacheVersionOverride","lockfileVersionOverride","binFolder","version","flags","profile","gpg","ignoreNode","wrapOutput","home","confDir","registry","ignoreCwd"]),xy=/^(?!v)[a-z0-9._-]+$/i,ax="yarn_",S4=".yarnrc.yml",Gst="********",G1=(E=>(E.ANY="ANY",E.BOOLEAN="BOOLEAN",E.ABSOLUTE_PATH="ABSOLUTE_PATH",E.LOCATOR="LOCATOR",E.LOCATOR_LOOSE="LOCATOR_LOOSE",E.NUMBER="NUMBER",E.STRING="STRING",E.SECRET="SECRET",E.SHAPE="SHAPE",E.MAP="MAP",E))(G1||{}),yce=Ct,lx=(r=>(r.JUNCTIONS="junctions",r.SYMLINKS="symlinks",r))(lx||{}),sx={lastUpdateCheck:{description:"Last timestamp we checked whether new Yarn versions were available",type:"STRING",default:null},yarnPath:{description:"Path to the local executable that must be used over the global one",type:"ABSOLUTE_PATH",default:null},ignorePath:{description:"If true, the local executable will be ignored when using the global one",type:"BOOLEAN",default:!1},globalFolder:{description:"Folder where all system-global files are stored",type:"ABSOLUTE_PATH",default:rU()},cacheFolder:{description:"Folder where the cache files must be written",type:"ABSOLUTE_PATH",default:"./.yarn/cache"},compressionLevel:{description:"Zip files compression level, from 0 to 9 or mixed (a variant of 9, which stores some files uncompressed, when compression doesn't yield good results)",type:"NUMBER",values:["mixed",0,1,2,3,4,5,6,7,8,9],default:0},virtualFolder:{description:"Folder where the virtual packages (cf doc) will be mapped on the disk (must be named __virtual__)",type:"ABSOLUTE_PATH",default:"./.yarn/__virtual__"},installStatePath:{description:"Path of the file where the install state will be persisted",type:"ABSOLUTE_PATH",default:"./.yarn/install-state.gz"},immutablePatterns:{description:"Array of glob patterns; files matching them won't be allowed to change during immutable installs",type:"STRING",default:[],isArray:!0},rcFilename:{description:"Name of the files where the configuration can be found",type:"STRING",default:P4()},enableGlobalCache:{description:"If true, the system-wide cache folder will be used regardless of `cache-folder`",type:"BOOLEAN",default:!0},cacheMigrationMode:{description:"Defines the conditions under which Yarn upgrades should cause the cache archives to be regenerated.",type:"STRING",values:["always","match-spec","required-only"],default:"always"},enableColors:{description:"If true, the CLI is allowed to use colors in its output",type:"BOOLEAN",default:US,defaultText:"<dynamic>"},enableHyperlinks:{description:"If true, the CLI is allowed to use hyperlinks in its output",type:"BOOLEAN",default:lO,defaultText:"<dynamic>"},enableInlineBuilds:{description:"If true, the CLI will print the build output on the command line",type:"BOOLEAN",default:Tf.isCI,defaultText:"<dynamic>"},enableMessageNames:{description:"If true, the CLI will prefix most messages with codes suitable for search engines",type:"BOOLEAN",default:!0},enableProgressBars:{description:"If true, the CLI is allowed to show a progress bar for long-running events",type:"BOOLEAN",default:!Tf.isCI,defaultText:"<dynamic>"},enableTimers:{description:"If true, the CLI is allowed to print the time spent executing commands",type:"BOOLEAN",default:!0},enableTips:{description:"If true, installs will print a helpful message every day of the week",type:"BOOLEAN",default:!Tf.isCI,defaultText:"<dynamic>"},preferInteractive:{description:"If true, the CLI will automatically use the interactive mode when called from a TTY",type:"BOOLEAN",default:!1},preferTruncatedLines:{description:"If true, the CLI will truncate lines that would go beyond the size of the terminal",type:"BOOLEAN",default:!1},progressBarStyle:{description:"Which style of progress bar should be used (only when progress bars are enabled)",type:"STRING",default:void 0,defaultText:"<dynamic>"},defaultLanguageName:{description:"Default language mode that should be used when a package doesn't offer any insight",type:"STRING",default:"node"},defaultProtocol:{description:"Default resolution protocol used when resolving pure semver and tag ranges",type:"STRING",default:"npm:"},enableTransparentWorkspaces:{description:"If false, Yarn won't automatically resolve workspace dependencies unless they use the `workspace:` protocol",type:"BOOLEAN",default:!0},supportedArchitectures:{description:"Architectures that Yarn will fetch and inject into the resolver",type:"SHAPE",properties:{os:{description:"Array of supported process.platform strings, or null to target them all",type:"STRING",isArray:!0,isNullable:!0,default:["current"]},cpu:{description:"Array of supported process.arch strings, or null to target them all",type:"STRING",isArray:!0,isNullable:!0,default:["current"]},libc:{description:"Array of supported libc libraries, or null to target them all",type:"STRING",isArray:!0,isNullable:!0,default:["current"]}}},enableMirror:{description:"If true, the downloaded packages will be retrieved and stored in both the local and global folders",type:"BOOLEAN",default:!0},enableNetwork:{description:"If false, Yarn will refuse to use the network if required to",type:"BOOLEAN",default:!0},enableOfflineMode:{description:"If true, Yarn will attempt to retrieve files and metadata from the global cache rather than the network",type:"BOOLEAN",default:!1},httpProxy:{description:"URL of the http proxy that must be used for outgoing http requests",type:"STRING",default:null},httpsProxy:{description:"URL of the http proxy that must be used for outgoing https requests",type:"STRING",default:null},unsafeHttpWhitelist:{description:"List of the hostnames for which http queries are allowed (glob patterns are supported)",type:"STRING",default:[],isArray:!0},httpTimeout:{description:"Timeout of each http request in milliseconds",type:"NUMBER",default:6e4},httpRetry:{description:"Retry times on http failure",type:"NUMBER",default:3},networkConcurrency:{description:"Maximal number of concurrent requests",type:"NUMBER",default:50},taskPoolConcurrency:{description:"Maximal amount of concurrent heavy task processing",type:"NUMBER",default:w4()},taskPoolMode:{description:"Execution strategy for heavy tasks",type:"STRING",values:["async","workers"],default:"workers"},networkSettings:{description:"Network settings per hostname (glob patterns are supported)",type:"MAP",valueDefinition:{description:"",type:"SHAPE",properties:{httpsCaFilePath:{description:"Path to file containing one or multiple Certificate Authority signing certificates",type:"ABSOLUTE_PATH",default:null},enableNetwork:{description:"If false, the package manager will refuse to use the network if required to",type:"BOOLEAN",default:null},httpProxy:{description:"URL of the http proxy that must be used for outgoing http requests",type:"STRING",default:null},httpsProxy:{description:"URL of the http proxy that must be used for outgoing https requests",type:"STRING",default:null},httpsKeyFilePath:{description:"Path to file containing private key in PEM format",type:"ABSOLUTE_PATH",default:null},httpsCertFilePath:{description:"Path to file containing certificate chain in PEM format",type:"ABSOLUTE_PATH",default:null}}}},httpsCaFilePath:{description:"A path to a file containing one or multiple Certificate Authority signing certificates",type:"ABSOLUTE_PATH",default:null},httpsKeyFilePath:{description:"Path to file containing private key in PEM format",type:"ABSOLUTE_PATH",default:null},httpsCertFilePath:{description:"Path to file containing certificate chain in PEM format",type:"ABSOLUTE_PATH",default:null},enableStrictSsl:{description:"If false, SSL certificate errors will be ignored",type:"BOOLEAN",default:!0},logFilters:{description:"Overrides for log levels",type:"SHAPE",isArray:!0,concatenateValues:!0,properties:{code:{description:"Code of the messages covered by this override",type:"STRING",default:void 0},text:{description:"Code of the texts covered by this override",type:"STRING",default:void 0},pattern:{description:"Code of the patterns covered by this override",type:"STRING",default:void 0},level:{description:"Log level override, set to null to remove override",type:"STRING",values:Object.values(HS),isNullable:!0,default:void 0}}},enableTelemetry:{description:"If true, telemetry will be periodically sent, following the rules in https://yarnpkg.com/advanced/telemetry",type:"BOOLEAN",default:!0},telemetryInterval:{description:"Minimal amount of time between two telemetry uploads, in days",type:"NUMBER",default:7},telemetryUserId:{description:"If you desire to tell us which project you are, you can set this field. Completely optional and opt-in.",type:"STRING",default:null},enableHardenedMode:{description:"If true, automatically enable --check-resolutions --refresh-lockfile on installs",type:"BOOLEAN",default:Tf.isPR&&qst,defaultText:"<true on public PRs>"},enableScripts:{description:"If true, packages are allowed to have install scripts by default",type:"BOOLEAN",default:!0},enableStrictSettings:{description:"If true, unknown settings will cause Yarn to abort",type:"BOOLEAN",default:!0},enableImmutableCache:{description:"If true, the cache is reputed immutable and actions that would modify it will throw",type:"BOOLEAN",default:!1},enableCacheClean:{description:"If false, disallows the `cache clean` command",type:"BOOLEAN",default:!0},checksumBehavior:{description:"Enumeration defining what to do when a checksum doesn't match expectations",type:"STRING",default:"throw"},injectEnvironmentFiles:{description:"List of all the environment files that Yarn should inject inside the process when it starts",type:"ABSOLUTE_PATH",default:[".env.yarn?"],isArray:!0},packageExtensions:{description:"Map of package corrections to apply on the dependency tree",type:"MAP",valueDefinition:{description:"The extension that will be applied to any package whose version matches the specified range",type:"SHAPE",properties:{dependencies:{description:"The set of dependencies that must be made available to the current package in order for it to work properly",type:"MAP",valueDefinition:{description:"A range",type:"STRING"}},peerDependencies:{description:"Inherited dependencies - the consumer of the package will be tasked to provide them",type:"MAP",valueDefinition:{description:"A semver range",type:"STRING"}},peerDependenciesMeta:{description:"Extra information related to the dependencies listed in the peerDependencies field",type:"MAP",valueDefinition:{description:"The peerDependency meta",type:"SHAPE",properties:{optional:{description:"If true, the selected peer dependency will be marked as optional by the package manager and the consumer omitting it won't be reported as an error",type:"BOOLEAN",default:!1}}}}}}}};zst=process.platform==="win32"?Vst:Jst;ze=class t{constructor(e){this.isCI=Tf.isCI;this.projectCwd=null;this.plugins=new Map;this.settings=new Map;this.values=new Map;this.sources=new Map;this.invalid=new Map;this.env={};this.limits=new Map;this.packageExtensions=null;this.startingCwd=e}static{this.deleteProperty=Symbol()}static{this.telemetry=null}static create(e,r,o){let a=new t(e);typeof r<"u"&&!(r instanceof Map)&&(a.projectCwd=r),a.importSettings(sx);let n=typeof o<"u"?o:r instanceof Map?r:new Map;for(let[u,A]of n)a.activatePlugin(u,A);return a}static async find(e,r,{strict:o=!0,usePathCheck:a=null,useRc:n=!0}={}){let u=Kst();delete u.rcFilename;let A=new t(e),p=await t.findRcFiles(e),h=await t.findFolderRcFile(my());h&&(p.find(Ie=>Ie.path===h.path)||p.unshift(h));let E=Poe(p.map(ue=>[ue.path,ue.data])),w=Bt.dot,D=new Set(Object.keys(sx)),x=({yarnPath:ue,ignorePath:Ie,injectEnvironmentFiles:he})=>({yarnPath:ue,ignorePath:Ie,injectEnvironmentFiles:he}),C=({yarnPath:ue,ignorePath:Ie,injectEnvironmentFiles:he,...De})=>{let Ee={};for(let[g,me]of Object.entries(De))D.has(g)&&(Ee[g]=me);return Ee},T=({yarnPath:ue,ignorePath:Ie,...he})=>{let De={};for(let[Ee,g]of Object.entries(he))D.has(Ee)||(De[Ee]=g);return De};if(A.importSettings(x(sx)),A.useWithSource("<environment>",x(u),e,{strict:!1}),E){let[ue,Ie]=E;A.useWithSource(ue,x(Ie),w,{strict:!1})}if(a){if(await Xst({configuration:A,selfPath:a})!==null)return A;A.useWithSource("<override>",{ignorePath:!0},e,{strict:!1,overwrite:!0})}let L=await t.findProjectCwd(e);A.startingCwd=e,A.projectCwd=L;let U=Object.assign(Object.create(null),process.env);A.env=U;let J=await Promise.all(A.get("injectEnvironmentFiles").map(async ue=>{let Ie=ue.endsWith("?")?await ae.readFilePromise(ue.slice(0,-1),"utf8").catch(()=>""):await ae.readFilePromise(ue,"utf8");return(0,gce.parse)(Ie)}));for(let ue of J)for(let[Ie,he]of Object.entries(ue))A.env[Ie]=LS(he,{env:U});if(A.importSettings(C(sx)),A.useWithSource("<environment>",C(u),e,{strict:o}),E){let[ue,Ie]=E;A.useWithSource(ue,C(Ie),w,{strict:o})}let te=ue=>"default"in ue?ue.default:ue,le=new Map([["@@core",Kse]]);if(r!==null)for(let ue of r.plugins.keys())le.set(ue,te(r.modules.get(ue)));for(let[ue,Ie]of le)A.activatePlugin(ue,Ie);let ce=new Map([]);if(r!==null){let ue=new Map;for(let[De,Ee]of r.modules)ue.set(De,()=>Ee);let Ie=new Set,he=async(De,Ee)=>{let{factory:g,name:me}=vf(De);if(!g||Ie.has(me))return;let Ce=new Map(ue),fe=Z=>{if((0,dce.isBuiltin)(Z))return vf(Z);if(Ce.has(Z))return Ce.get(Z)();throw new it(`This plugin cannot access the package referenced via ${Z} which is neither a builtin, nor an exposed entry`)},ie=await zm(async()=>te(await g(fe)),Z=>`${Z} (when initializing ${me}, defined in ${Ee})`);ue.set(me,()=>ie),Ie.add(me),ce.set(me,ie)};if(u.plugins)for(let De of u.plugins.split(";")){let Ee=K.resolve(e,Ae.toPortablePath(De));await he(Ee,"<environment>")}for(let{path:De,cwd:Ee,data:g}of p)if(n&&Array.isArray(g.plugins))for(let me of g.plugins){let Ce=typeof me!="string"?me.path:me,fe=me?.spec??"",ie=me?.checksum??"";if(j1.has(fe))continue;let Z=K.resolve(Ee,Ae.toPortablePath(Ce));if(!await ae.existsPromise(Z)){if(!fe){let ht=Ut(A,K.basename(Z,".cjs"),Ct.NAME),q=Ut(A,".gitignore",Ct.NAME),nt=Ut(A,A.values.get("rcFilename"),Ct.NAME),Ne=Ut(A,"https://yarnpkg.com/getting-started/qa#which-files-should-be-gitignored",Ct.URL);throw new it(`Missing source for the ${ht} plugin - please try to remove the plugin from ${nt} then reinstall it manually. This error usually occurs because ${q} is incorrect, check ${Ne} to make sure your plugin folder isn't gitignored.`)}if(!fe.match(/^https?:/)){let ht=Ut(A,K.basename(Z,".cjs"),Ct.NAME),q=Ut(A,A.values.get("rcFilename"),Ct.NAME);throw new it(`Failed to recognize the source for the ${ht} plugin - please try to delete the plugin from ${q} then reinstall it manually.`)}let Pe=await E4(fe,{configuration:A}),Re=Ji(Pe);if(ie&&ie!==Re){let ht=Ut(A,K.basename(Z,".cjs"),Ct.NAME),q=Ut(A,A.values.get("rcFilename"),Ct.NAME),nt=Ut(A,`yarn plugin import ${fe}`,Ct.CODE);throw new it(`Failed to fetch the ${ht} plugin from its remote location: its checksum seems to have changed. If this is expected, please remove the plugin from ${q} then run ${nt} to reimport it.`)}await ae.mkdirPromise(K.dirname(Z),{recursive:!0}),await ae.writeFilePromise(Z,Pe)}await he(Z,De)}}for(let[ue,Ie]of ce)A.activatePlugin(ue,Ie);if(A.useWithSource("<environment>",T(u),e,{strict:o}),E){let[ue,Ie]=E;A.useWithSource(ue,T(Ie),w,{strict:o})}return A.get("enableGlobalCache")&&(A.values.set("cacheFolder",`${A.get("globalFolder")}/cache`),A.sources.set("cacheFolder","<internal>")),A}static async findRcFiles(e){let r=P4(),o=[],a=e,n=null;for(;a!==n;){n=a;let u=K.join(n,r);if(ae.existsSync(u)){let A=await ae.readFilePromise(u,"utf8"),p;try{p=Ki(A)}catch{let E="";throw A.match(/^\s+(?!-)[^:]+\s+\S+/m)&&(E=" (in particular, make sure you list the colons after each key name)"),new it(`Parse error when loading ${u}; please check it's proper Yaml${E}`)}o.unshift({path:u,cwd:n,data:p})}a=K.dirname(n)}return o}static async findFolderRcFile(e){let r=K.join(e,mr.rc),o;try{o=await ae.readFilePromise(r,"utf8")}catch(n){if(n.code==="ENOENT")return null;throw n}let a=Ki(o);return{path:r,cwd:e,data:a}}static async findProjectCwd(e){let r=null,o=e,a=null;for(;o!==a;){if(a=o,ae.existsSync(K.join(a,mr.lockfile)))return a;ae.existsSync(K.join(a,mr.manifest))&&(r=a),o=K.dirname(a)}return r}static async updateConfiguration(e,r,o={}){let a=P4(),n=K.join(e,a),u=ae.existsSync(n)?Ki(await ae.readFilePromise(n,"utf8")):{},A=!1,p;if(typeof r=="function"){try{p=r(u)}catch{p=r({})}if(p===u)return!1}else{p=u;for(let h of Object.keys(r)){let E=u[h],w=r[h],D;if(typeof w=="function")try{D=w(E)}catch{D=w(void 0)}else D=w;E!==D&&(D===t.deleteProperty?delete p[h]:p[h]=D,A=!0)}if(!A)return!1}return await ae.changeFilePromise(n,Pa(p),{automaticNewlines:!0}),!0}static async addPlugin(e,r){r.length!==0&&await t.updateConfiguration(e,o=>{let a=o.plugins??[];if(a.length===0)return{...o,plugins:r};let n=[],u=[...r];for(let A of a){let p=typeof A!="string"?A.path:A,h=u.find(E=>E.path===p);h?(n.push(h),u=u.filter(E=>E!==h)):n.push(A)}return n.push(...u),{...o,plugins:n}})}static async updateHomeConfiguration(e){let r=my();return await t.updateConfiguration(r,e)}activatePlugin(e,r){this.plugins.set(e,r),typeof r.configuration<"u"&&this.importSettings(r.configuration)}importSettings(e){for(let[r,o]of Object.entries(e))if(o!=null){if(this.settings.has(r))throw new Error(`Cannot redefine settings "${r}"`);this.settings.set(r,o),this.values.set(r,x4(this,o))}}useWithSource(e,r,o,a){try{this.use(e,r,o,a)}catch(n){throw n.message+=` (in ${Ut(this,e,Ct.PATH)})`,n}}use(e,r,o,{strict:a=!0,overwrite:n=!1}={}){a=a&&this.get("enableStrictSettings");for(let u of["enableStrictSettings",...Object.keys(r)]){let A=r[u],p=eU(A);if(p&&(e=p),typeof A>"u"||u==="plugins"||e==="<environment>"&&jst.has(u))continue;if(u==="rcFilename")throw new it(`The rcFilename settings can only be set via ${`${ax}RC_FILENAME`.toUpperCase()}, not via a rc file`);let h=this.settings.get(u);if(!h){let w=my(),D=e[0]!=="<"?K.dirname(e):null;if(a&&!(D!==null?w===D:!1))throw new it(`Unrecognized or legacy configuration settings found: ${u} - run "yarn config -v" to see the list of settings supported in Yarn`);this.invalid.set(u,e);continue}if(this.sources.has(u)&&!(n||h.type==="MAP"||h.isArray&&h.concatenateValues))continue;let E;try{E=b4(this,u,A,h,o)}catch(w){throw w.message+=` in ${Ut(this,e,Ct.PATH)}`,w}if(u==="enableStrictSettings"&&e!=="<environment>"){a=E;continue}if(h.type==="MAP"){let w=this.values.get(u);this.values.set(u,new Map(n?[...w,...E]:[...E,...w])),this.sources.set(u,`${this.sources.get(u)}, ${e}`)}else if(h.isArray&&h.concatenateValues){let w=this.values.get(u);this.values.set(u,n?[...w,...E]:[...E,...w]),this.sources.set(u,`${this.sources.get(u)}, ${e}`)}else this.values.set(u,E),this.sources.set(u,e)}}get(e){if(!this.values.has(e))throw new Error(`Invalid configuration key "${e}"`);return this.values.get(e)}getSpecial(e,{hideSecrets:r=!1,getNativePaths:o=!1}){let a=this.get(e),n=this.settings.get(e);if(typeof n>"u")throw new it(`Couldn't find a configuration settings named "${e}"`);return ox(a,n,{hideSecrets:r,getNativePaths:o})}getSubprocessStreams(e,{header:r,prefix:o,report:a}){let n,u,A=ae.createWriteStream(e);if(this.get("enableInlineBuilds")){let p=a.createStreamReporter(`${o} ${Ut(this,"STDOUT","green")}`),h=a.createStreamReporter(`${o} ${Ut(this,"STDERR","red")}`);n=new D4.PassThrough,n.pipe(p),n.pipe(A),u=new D4.PassThrough,u.pipe(h),u.pipe(A)}else n=A,u=A,typeof r<"u"&&n.write(`${r} +`);return{stdout:n,stderr:u}}makeResolver(){let e=[];for(let r of this.plugins.values())for(let o of r.resolvers||[])e.push(new o);return new Pg([new wb,new ci,...e])}makeFetcher(){let e=[];for(let r of this.plugins.values())for(let o of r.fetchers||[])e.push(new o);return new py([new hy,new gy,...e])}getLinkers(){let e=[];for(let r of this.plugins.values())for(let o of r.linkers||[])e.push(new o);return e}getSupportedArchitectures(){let e=q1(),r=this.get("supportedArchitectures"),o=r.get("os");o!==null&&(o=o.map(u=>u==="current"?e.os:u));let a=r.get("cpu");a!==null&&(a=a.map(u=>u==="current"?e.cpu:u));let n=r.get("libc");return n!==null&&(n=ul(n,u=>u==="current"?e.libc??ul.skip:u)),{os:o,cpu:a,libc:n}}isInteractive({interactive:e,stdout:r}){return r.isTTY?e??this.get("preferInteractive"):!1}async getPackageExtensions(){if(this.packageExtensions!==null)return this.packageExtensions;this.packageExtensions=new Map;let e=this.packageExtensions,r=(o,a,{userProvided:n=!1}={})=>{if(!Fa(o.range))throw new Error("Only semver ranges are allowed as keys for the packageExtensions setting");let u=new _t;u.load(a,{yamlCompatibilityMode:!0});let A=u1(e,o.identHash),p=[];A.push([o.range,p]);let h={status:"inactive",userProvided:n,parentDescriptor:o};for(let E of u.dependencies.values())p.push({...h,type:"Dependency",descriptor:E});for(let E of u.peerDependencies.values())p.push({...h,type:"PeerDependency",descriptor:E});for(let[E,w]of u.peerDependenciesMeta)for(let[D,x]of Object.entries(w))p.push({...h,type:"PeerDependencyMeta",selector:E,key:D,value:x})};await this.triggerHook(o=>o.registerPackageExtensions,this,r);for(let[o,a]of this.get("packageExtensions"))r(lh(o,!0),NS(a),{userProvided:!0});return e}normalizeLocator(e){return Fa(e.reference)?Ss(e,`${this.get("defaultProtocol")}${e.reference}`):xy.test(e.reference)?Ss(e,`${this.get("defaultProtocol")}${e.reference}`):e}normalizeDependency(e){return Fa(e.range)?kn(e,`${this.get("defaultProtocol")}${e.range}`):xy.test(e.range)?kn(e,`${this.get("defaultProtocol")}${e.range}`):e}normalizeDependencyMap(e){return new Map([...e].map(([r,o])=>[r,this.normalizeDependency(o)]))}normalizePackage(e,{packageExtensions:r}){let o=E1(e),a=r.get(e.identHash);if(typeof a<"u"){let u=e.version;if(u!==null){for(let[A,p]of a)if(nA(u,A))for(let h of p)switch(h.status==="inactive"&&(h.status="redundant"),h.type){case"Dependency":typeof o.dependencies.get(h.descriptor.identHash)>"u"&&(h.status="active",o.dependencies.set(h.descriptor.identHash,this.normalizeDependency(h.descriptor)));break;case"PeerDependency":typeof o.peerDependencies.get(h.descriptor.identHash)>"u"&&(h.status="active",o.peerDependencies.set(h.descriptor.identHash,h.descriptor));break;case"PeerDependencyMeta":{let E=o.peerDependenciesMeta.get(h.selector);(typeof E>"u"||!Object.hasOwn(E,h.key)||E[h.key]!==h.value)&&(h.status="active",Al(o.peerDependenciesMeta,h.selector,()=>({}))[h.key]=h.value)}break;default:tO(h)}}}let n=u=>u.scope?`${u.scope}__${u.name}`:`${u.name}`;for(let u of o.peerDependenciesMeta.keys()){let A=Zo(u);o.peerDependencies.has(A.identHash)||o.peerDependencies.set(A.identHash,kn(A,"*"))}for(let u of o.peerDependencies.values()){if(u.scope==="types")continue;let A=n(u),p=rA("types",A),h=rn(p);o.peerDependencies.has(p.identHash)||o.peerDependenciesMeta.has(h)||(o.peerDependencies.set(p.identHash,kn(p,"*")),o.peerDependenciesMeta.set(h,{optional:!0}))}return o.dependencies=new Map(Ps(o.dependencies,([,u])=>ka(u))),o.peerDependencies=new Map(Ps(o.peerDependencies,([,u])=>ka(u))),o}getLimit(e){return Al(this.limits,e,()=>(0,mce.default)(this.get(e)))}async triggerHook(e,...r){for(let o of this.plugins.values()){let a=o.hooks;if(!a)continue;let n=e(a);n&&await n(...r)}}async triggerMultipleHooks(e,r){for(let o of r)await this.triggerHook(e,...o)}async reduceHook(e,r,...o){let a=r;for(let n of this.plugins.values()){let u=n.hooks;if(!u)continue;let A=e(u);A&&(a=await A(a,...o))}return a}async firstHook(e,...r){for(let o of this.plugins.values()){let a=o.hooks;if(!a)continue;let n=e(a);if(!n)continue;let u=await n(...r);if(typeof u<"u")return u}return null}}});var Hr={};Kt(Hr,{EndStrategy:()=>R4,ExecError:()=>cx,PipeError:()=>Y1,execvp:()=>B4,pipevp:()=>Xc});function kg(t){return t!==null&&typeof t.fd=="number"}function k4(){}function Q4(){for(let t of Qg)t.kill()}async function Xc(t,e,{cwd:r,env:o=process.env,strict:a=!1,stdin:n=null,stdout:u,stderr:A,end:p=2}){let h=["pipe","pipe","pipe"];n===null?h[0]="ignore":kg(n)&&(h[0]=n),kg(u)&&(h[1]=u),kg(A)&&(h[2]=A);let E=(0,F4.default)(t,e,{cwd:Ae.fromPortablePath(r),env:{...o,PWD:Ae.fromPortablePath(r)},stdio:h});Qg.add(E),Qg.size===1&&(process.on("SIGINT",k4),process.on("SIGTERM",Q4)),!kg(n)&&n!==null&&n.pipe(E.stdin),kg(u)||E.stdout.pipe(u,{end:!1}),kg(A)||E.stderr.pipe(A,{end:!1});let w=()=>{for(let D of new Set([u,A]))kg(D)||D.end()};return new Promise((D,x)=>{E.on("error",C=>{Qg.delete(E),Qg.size===0&&(process.off("SIGINT",k4),process.off("SIGTERM",Q4)),(p===2||p===1)&&w(),x(C)}),E.on("close",(C,T)=>{Qg.delete(E),Qg.size===0&&(process.off("SIGINT",k4),process.off("SIGTERM",Q4)),(p===2||p===1&&C!==0)&&w(),C===0||!a?D({code:T4(C,T)}):x(new Y1({fileName:t,code:C,signal:T}))})})}async function B4(t,e,{cwd:r,env:o=process.env,encoding:a="utf8",strict:n=!1}){let u=["ignore","pipe","pipe"],A=[],p=[],h=Ae.fromPortablePath(r);typeof o.PWD<"u"&&(o={...o,PWD:h});let E=(0,F4.default)(t,e,{cwd:h,env:o,stdio:u});return E.stdout.on("data",w=>{A.push(w)}),E.stderr.on("data",w=>{p.push(w)}),await new Promise((w,D)=>{E.on("error",x=>{let C=ze.create(r),T=Ut(C,t,Ct.PATH);D(new Jt(1,`Process ${T} failed to spawn`,L=>{L.reportError(1,` ${$u(C,{label:"Thrown Error",value:Yc(Ct.NO_HINT,x.message)})}`)}))}),E.on("close",(x,C)=>{let T=a==="buffer"?Buffer.concat(A):Buffer.concat(A).toString(a),L=a==="buffer"?Buffer.concat(p):Buffer.concat(p).toString(a);x===0||!n?w({code:T4(x,C),stdout:T,stderr:L}):D(new cx({fileName:t,code:x,signal:C,stdout:T,stderr:L}))})})}function T4(t,e){let r=Zst.get(e);return typeof r<"u"?128+r:t??1}function $st(t,e,{configuration:r,report:o}){o.reportError(1,` ${$u(r,t!==null?{label:"Exit Code",value:Yc(Ct.NUMBER,t)}:{label:"Exit Signal",value:Yc(Ct.CODE,e)})}`)}var F4,R4,Y1,cx,Qg,Zst,ix=It(()=>{Pt();F4=et(MT());W1();Vl();Wl();R4=(o=>(o[o.Never=0]="Never",o[o.ErrorCode=1]="ErrorCode",o[o.Always=2]="Always",o))(R4||{}),Y1=class extends Jt{constructor({fileName:e,code:r,signal:o}){let a=ze.create(K.cwd()),n=Ut(a,e,Ct.PATH);super(1,`Child ${n} reported an error`,u=>{$st(r,o,{configuration:a,report:u})}),this.code=T4(r,o)}},cx=class extends Y1{constructor({fileName:e,code:r,signal:o,stdout:a,stderr:n}){super({fileName:e,code:r,signal:o}),this.stdout=a,this.stderr=n}};Qg=new Set;Zst=new Map([["SIGINT",2],["SIGQUIT",3],["SIGKILL",9],["SIGTERM",15]])});function Cce(t){Ece=t}function K1(){return typeof N4>"u"&&(N4=Ece()),N4}var N4,Ece,L4=It(()=>{Ece=()=>{throw new Error("Assertion failed: No libzip instance is available, and no factory was configured")}});var Ice=_((ux,M4)=>{var eot=Object.assign({},ve("fs")),O4=function(){var t=typeof document<"u"&&document.currentScript?document.currentScript.src:void 0;return typeof __filename<"u"&&(t=t||__filename),function(e){e=e||{};var r=typeof e<"u"?e:{},o,a;r.ready=new Promise(function(Je,st){o=Je,a=st});var n={},u;for(u in r)r.hasOwnProperty(u)&&(n[u]=r[u]);var A=[],p="./this.program",h=function(Je,st){throw st},E=!1,w=!0,D="";function x(Je){return r.locateFile?r.locateFile(Je,D):D+Je}var C,T,L,U;w&&(E?D=ve("path").dirname(D)+"/":D=__dirname+"/",C=function(st,vt){var ar=ia(st);return ar?vt?ar:ar.toString():(L||(L=eot),U||(U=ve("path")),st=U.normalize(st),L.readFileSync(st,vt?null:"utf8"))},T=function(st){var vt=C(st,!0);return vt.buffer||(vt=new Uint8Array(vt)),me(vt.buffer),vt},process.argv.length>1&&(p=process.argv[1].replace(/\\/g,"/")),A=process.argv.slice(2),h=function(Je){process.exit(Je)},r.inspect=function(){return"[Emscripten Module object]"});var J=r.print||console.log.bind(console),te=r.printErr||console.warn.bind(console);for(u in n)n.hasOwnProperty(u)&&(r[u]=n[u]);n=null,r.arguments&&(A=r.arguments),r.thisProgram&&(p=r.thisProgram),r.quit&&(h=r.quit);var le=0,ce=function(Je){le=Je},ue;r.wasmBinary&&(ue=r.wasmBinary);var Ie=r.noExitRuntime||!0;typeof WebAssembly!="object"&&Hi("no native wasm support detected");function he(Je,st,vt){switch(st=st||"i8",st.charAt(st.length-1)==="*"&&(st="i32"),st){case"i1":return Ve[Je>>0];case"i8":return Ve[Je>>0];case"i16":return ap((Je>>1)*2);case"i32":return Rs((Je>>2)*4);case"i64":return Rs((Je>>2)*4);case"float":return gu((Je>>2)*4);case"double":return op((Je>>3)*8);default:Hi("invalid type for getValue: "+st)}return null}var De,Ee=!1,g;function me(Je,st){Je||Hi("Assertion failed: "+st)}function Ce(Je){var st=r["_"+Je];return me(st,"Cannot call unknown function "+Je+", make sure it is exported"),st}function fe(Je,st,vt,ar,ee){var ye={string:function(Qi){var Pn=0;if(Qi!=null&&Qi!==0){var fa=(Qi.length<<2)+1;Pn=pi(fa),ht(Qi,Pn,fa)}return Pn},array:function(Qi){var Pn=pi(Qi.length);return Ne(Qi,Pn),Pn}};function Le(Qi){return st==="string"?Pe(Qi):st==="boolean"?!!Qi:Qi}var gt=Ce(Je),mt=[],Dt=0;if(ar)for(var er=0;er<ar.length;er++){var sn=ye[vt[er]];sn?(Dt===0&&(Dt=yu()),mt[er]=sn(ar[er])):mt[er]=ar[er]}var ei=gt.apply(null,mt);return ei=Le(ei),Dt!==0&&Pl(Dt),ei}function ie(Je,st,vt,ar){vt=vt||[];var ee=vt.every(function(Le){return Le==="number"}),ye=st!=="string";return ye&&ee&&!ar?Ce(Je):function(){return fe(Je,st,vt,arguments,ar)}}var Z=new TextDecoder("utf8");function Pe(Je,st){if(!Je)return"";for(var vt=Je+st,ar=Je;!(ar>=vt)&&be[ar];)++ar;return Z.decode(be.subarray(Je,ar))}function Re(Je,st,vt,ar){if(!(ar>0))return 0;for(var ee=vt,ye=vt+ar-1,Le=0;Le<Je.length;++Le){var gt=Je.charCodeAt(Le);if(gt>=55296&><=57343){var mt=Je.charCodeAt(++Le);gt=65536+((gt&1023)<<10)|mt&1023}if(gt<=127){if(vt>=ye)break;st[vt++]=gt}else if(gt<=2047){if(vt+1>=ye)break;st[vt++]=192|gt>>6,st[vt++]=128|gt&63}else if(gt<=65535){if(vt+2>=ye)break;st[vt++]=224|gt>>12,st[vt++]=128|gt>>6&63,st[vt++]=128|gt&63}else{if(vt+3>=ye)break;st[vt++]=240|gt>>18,st[vt++]=128|gt>>12&63,st[vt++]=128|gt>>6&63,st[vt++]=128|gt&63}}return st[vt]=0,vt-ee}function ht(Je,st,vt){return Re(Je,be,st,vt)}function q(Je){for(var st=0,vt=0;vt<Je.length;++vt){var ar=Je.charCodeAt(vt);ar>=55296&&ar<=57343&&(ar=65536+((ar&1023)<<10)|Je.charCodeAt(++vt)&1023),ar<=127?++st:ar<=2047?st+=2:ar<=65535?st+=3:st+=4}return st}function nt(Je){var st=q(Je)+1,vt=aa(st);return vt&&Re(Je,Ve,vt,st),vt}function Ne(Je,st){Ve.set(Je,st)}function Te(Je,st){return Je%st>0&&(Je+=st-Je%st),Je}var ke,Ve,be,tt,He,b,I,S,y,R;function z(Je){ke=Je,r.HEAP_DATA_VIEW=R=new DataView(Je),r.HEAP8=Ve=new Int8Array(Je),r.HEAP16=tt=new Int16Array(Je),r.HEAP32=b=new Int32Array(Je),r.HEAPU8=be=new Uint8Array(Je),r.HEAPU16=He=new Uint16Array(Je),r.HEAPU32=I=new Uint32Array(Je),r.HEAPF32=S=new Float32Array(Je),r.HEAPF64=y=new Float64Array(Je)}var X=r.INITIAL_MEMORY||16777216,$,se=[],xe=[],Fe=[],lt=!1;function Et(){if(r.preRun)for(typeof r.preRun=="function"&&(r.preRun=[r.preRun]);r.preRun.length;)St(r.preRun.shift());hs(se)}function qt(){lt=!0,hs(xe)}function nr(){if(r.postRun)for(typeof r.postRun=="function"&&(r.postRun=[r.postRun]);r.postRun.length;)Pr(r.postRun.shift());hs(Fe)}function St(Je){se.unshift(Je)}function cn(Je){xe.unshift(Je)}function Pr(Je){Fe.unshift(Je)}var yr=0,Rr=null,Xr=null;function $n(Je){yr++,r.monitorRunDependencies&&r.monitorRunDependencies(yr)}function Xs(Je){if(yr--,r.monitorRunDependencies&&r.monitorRunDependencies(yr),yr==0&&(Rr!==null&&(clearInterval(Rr),Rr=null),Xr)){var st=Xr;Xr=null,st()}}r.preloadedImages={},r.preloadedAudios={};function Hi(Je){r.onAbort&&r.onAbort(Je),Je+="",te(Je),Ee=!0,g=1,Je="abort("+Je+"). Build with -s ASSERTIONS=1 for more info.";var st=new WebAssembly.RuntimeError(Je);throw a(st),st}var Qs="data:application/octet-stream;base64,";function Zs(Je){return Je.startsWith(Qs)}var xi="data:application/octet-stream;base64,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QCAAKAJIIgEgASADaiADEAcaAkAgAyAAKAJsIgFNBEAgACABIANrNgJsDAELIABCADcCbAsgACAAKAJoIANrIgE2AmggACAAKAJYIANrNgJYIAEgACgChC5JBEAgACABNgKELgsgAEH8gAEoAgARAwAgAiADaiECCwJAIAAoAgAiASgCBCIERQ0AIAAoAjwhBSAAIAIgBCACIARJGyICBH8gACgCSCAAKAJoaiAFaiEFIAEgBCACazYCBAJAAkACQAJAIAEoAhwiBCgCFEEBaw4CAQACCyAEQaABaiAFIAEoAgAgAkHcgAEoAgARCAAMAgsgASABKAIwIAUgASgCACACQcSAASgCABEEADYCMAwBCyAFIAEoAgAgAhAHGgsgASABKAIAIAJqNgIAIAEgASgCCCACajYCCCAAKAI8BSAFCyACaiICNgI8AkAgACgChC4iASACakEDSQ0AIAAoAmggAWshAQJAIAAoAnRBgQhPBEAgACAAIAAoAkggAWoiAi0AACACLQABIAAoAnwRAAA2AlQMAQsgAUUNACAAIAFBAWsgACgChAERAgAaCyAAKAKELiAAKAI8IgJBAUZrIgRFDQAgACABIAQgACgCgAERBQAgACAAKAKELiAEazYChC4gACgCPCECCyACQYUCSw0AIAAoAgAoAgRFDQAgACgCMCEBDAELCwJAIAAoAkQiAiAAKAJAIgNNDQAgAAJ/IAAoAjwgACgCaGoiASADSwRAIAAoAkggAWpBACACIAFrIgNBggIgA0GCAkkbIgMQGSABIANqDAELIAFBggJqIgEgA00NASAAKAJIIANqQQAgAiADayICIAEgA2siAyACIANJGyIDEBkgACgCQCADags2AkALC50CAQF/AkAgAAJ/IAAoAqAuIgFBwABGBEAgACgCBCAAKAIQaiAAKQOYLjcAACAAQgA3A5guIAAgACgCEEEIajYCEEEADAELIAFBIE4EQCAAKAIEIAAoAhBqIAApA5guPgAAIAAgAEGcLmo1AgA3A5guIAAgACgCEEEEajYCECAAIAAoAqAuQSBrIgE2AqAuCyABQRBOBEAgACgCBCAAKAIQaiAAKQOYLj0AACAAIAAoAhBBAmo2AhAgACAAKQOYLkIQiDcDmC4gACAAKAKgLkEQayIBNgKgLgsgAUEISA0BIAAgACgCECIBQQFqNgIQ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KAJUIgEEfyABQQAgARAiEBkgACgCVAVBAAsQBiAAQQA2AlQLC9wMAgl/AX4jAEFAaiIGJAACQAJAAkACQAJAIAEoAjBBABAjIgVBAkZBACABKAI4QQAQIyIEQQFGGw0AIAVBAUZBACAEQQJGGw0AIAVBAkciAw0BIARBAkcNAQsgASABLwEMQYAQcjsBDEEAIQMMAQsgASABLwEMQf/vA3E7AQxBACEFIANFBEBB9eABIAEoAjAgAEEIahBpIgVFDQILIAJBgAJxBEAgBSEDDAELIARBAkcEQCAFIQMMAQtB9cYBIAEoAjggAEEIahBpIgNFBEAgBRAcDAILIAMgBTYCAAsgASABLwEMQf7/A3EgAS8BUiIFQQBHcjsBDAJAAkACQAJAAn8CQAJAIAEpAyhC/v///w9WDQAgASkDIEL+////D1YNACACQYAEcUUNASABKQNIQv////8PVA0BCyAFQYECa0H//wNxQQNJIQdBAQwBCyAFQYECa0H//wNxIQQgAkGACnFBgApHDQEgBEEDSSEHQQALIQkgBkIcEBciBEUEQCAAQQhqIgAEQCAAQQA2AgQgAEEONgIACyADEBwMBQsgAkGACHEhBQJAAkAgAkGAAnEEQAJAIAUNACABKQMgQv////8PVg0AIAEpAyhCgICAgBBUDQMLIAQgASkDKBAYIAEpAyAhDAwBCwJAAkACQCAFDQAgASkDIEL/////D1YNACABKQMoIgxC/////w9WDQEgASkDSEKAgICAEFQNBAsgASkDKCIMQv////8PVA0BCyAEIAwQGAsgASkDICIMQv////8PWgRAIAQgDBAYCyABKQNIIgxC/////w9UDQELIAQgDBAYCyAELQAARQRAIABBCGoiAARAIABBADYCBCAAQRQ2AgALIAQQCCADEBwMBQtBASEKQQEgBC0AAAR+IAQpAxAFQgALp0H//wNxIAYQRyEFIAQQCCAFIAM2AgAgBw0BDAILIAMhBSAEQQJLDQELIAZCBxAXIgRFBEAgAEEIaiIABEAgAEEANgIEIABBDjYCAAsgBRAcDAMLIARBAhANIARBhxJBAhAsIAQgAS0AUhBwIAQgAS8BEBANIAQtAABFBEAgAEEIaiIABEAgAEEANgIEIABBFDYCAAsgBBAIDAILQYGyAkEHIAYQRyEDIAQQCCADIAU2AgBBASEL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NgIEIABB7A42AhggGiEdDAMLIARB/wFxIgJBwABxRQRAIAggDSADLwECQQJ0aiAdp0F/IAJ0QX9zcUECdGoiAy0AASICayEIIB0gAq2IIR0gAy0AACIERQ0HDAELCyAEQSBxBEAgB0G//gA2AgQgASECDAgLIAdB0f4ANgIEIABB0A42AhggASECDAcLIB1BfyAGdEF/c62DIBt8IhunIQUgCCAEQQ9xIgNrIQggGiAErUIPg4ghHSABIBdrIgYgAjMBAiAaQX8gA3RBf3Otg3ynIgRPDQIgBCAGayIGIBlNDQEgBygCjEdFDQEgB0HR/gA2AgQgAEG5DDYCGAsgASECIAshBQwFCwJAIA5FBEAgDCARIAZraiEDDAELIAYgDk0EQCAMIA4gBmtqIQMMAQsgDCARIAYgDmsiBmtqIQMgBSAGTQ0AIAUgBmshBQJAAkAgASADTSABIA8gAWusIhogBq0iGyAaIBtUGyIapyIGaiICIANLcQ0AIAMgBmogAUsgASADT3ENACABIAMgBhAHGiACIQEMAQsgASADIAMgAWsiASABQR91IgFqIAFzIgIQByACaiEBIBogAq0iHn0iHFANACACIANqIQIDQAJAIBwgHiAcIB5UGyIbQiBUBEAgGyEaDAELIBsiGkIgfSIgQgWIQgF8QgODIh9QRQRAA0AgASACKQAANwAAIAEgAikAGDcAGCABIAIpABA3ABAgASACKQAINwAIIBpCIH0hGiACQSBqIQIgAUEgaiEBIB9CAX0iH0IAUg0ACwsgIELgAFQNAANAIAEgAikAADcAACABIAIpABg3ABggASACKQAQNwAQIAEgAikACDcACCABIAIpADg3ADggASACKQAwNwAwIAEgAikAKDcAKCABIAIpACA3ACAgASACKQBYNwBYIAEgAikAUDcAUCABIAIpAEg3AEggASACKQBANwBAIAEgAikAYDcAYCABIAIpAGg3AGggASACKQBwNwBwIAEgAikAeDcAeCACQYABaiECIAFBgAFqIQEgGkKAAX0iGkIfVg0ACwsgGkIQWgRAIAEgAikAADcAACABIAIpAAg3AAggGkIQfSEaIAJBEGohAiABQRBqIQELIBpCCFoEQCABIAIpAAA3AAAgGkIIfSEaIAJBCGohAiABQQhqIQELIBpCBFoEQCABIAIoAAA2AAAgGkIEfSEaIAJBBGohAiABQQRqIQELIBpCAloEQCABIAIvAAA7AAAgGkICfSEaIAJBAmohAiABQQJqIQELIBwgG30hHCAaUEUEQCABIAItAAA6AAAgAkEBaiECIAFBAWohAQsgHEIAUg0ACwsgDiEGIAwhAwsgBSAGSwRAAkACQCABIANNIAEgDyABa6wiGiAGrSIbIBogG1QbIhqnIglqIgIgA0txDQAgAyAJaiABSyABIANPcQ0AIAEgAyAJEAcaDAELIAEgAyADIAFrIgEgAUEfdSIBaiABcyIBEAcgAWohAiAaIAGtIh59IhxQDQAgASADaiEBA0ACQCAcIB4gHCAeVBsiG0IgVARAIBshGgwBCyAbIhpCIH0iIEIFiEIBfEIDgyIfUEUEQANAIAIgASkAADcAACACIAEpABg3ABggAiABKQAQNwAQIAIgASkACDcACCAaQiB9IRogAUEgaiEBIAJBIGohAiAfQgF9Ih9CAFINAAsLICBC4ABUDQADQCACIAEpAAA3AAAgAiABKQAYNwAYIAIgASkAEDcAECACIAEpAAg3AAggAiABKQA4NwA4IAIgASkAMDcAMCACIAEpACg3ACggAiABKQAgNwAgIAIgASkAWDcAWCACIAEpAFA3AFAgAiABKQBINwBIIAIgASkAQDcAQCACIAEpAGA3AGAgAiABKQBoNwBoIAIgASkAcDcAcCACIAEpAHg3AHggAUGAAWohASACQYABaiECIBpCgAF9IhpCH1YNAAsLIBpCEFoEQCACIAEpAAA3AAAgAiABKQAINwAIIBpCEH0hGiACQRBqIQIgAUEQaiEBCyAaQghaBEAgAiABKQAANwAAIBpCCH0hGiACQQhqIQIgAUEIaiEBCyAaQgRaBEAgAiABKAAANgAAIBpCBH0hGiACQQRqIQIgAUEEaiEBCyAaQgJaBEAgAiABLwAAOwAAIBpCAn0hGiACQQJqIQIgAUECaiEBCyAcIBt9IRwgGlBFBEAgAiABLQAAOgAAIAJBAWohAiABQQFqIQELIBxCAFINAAsLIAUgBmshAUEAIARrIQUCQCAEQQdLBEAgBCEDDAELIAEgBE0EQCAEIQMMAQsgAiAEayEFA0ACQCACIAUpAAA3AAAgBEEBdCEDIAEgBGshASACIARqIQIgBEEDSw0AIAMhBCABIANLDQELC0EAIANrIQULIAIgBWohBAJAIAUgDyACa6wiGiABrSIbIBogG1QbIhqnIgFIIAVBf0pxDQAgBUEBSCABIARqIAJLcQ0AIAIgBCABEAcgAWohAgwDCyACIAQgAyADQR91IgFqIAFzIgEQByABaiECIBogAa0iHn0iHFANAiABIARqIQEDQAJAIBwgHiAcIB5UGyIbQiBUBEAgGyEaDAELIBsiGkIgfSIgQgWIQgF8QgODIh9QRQRAA0AgAiABKQAANwAAIAIgASkAGDcAGCACIAEpABA3ABAgAiABKQAINwAIIBpCIH0hGiABQSBqIQEgAkEgaiECIB9CAX0iH0IAUg0ACwsgIELgAFQNAANAIAIgASkAADcAACACIAEpABg3ABggAiABKQAQNwAQIAIgASkACDcACCACIAEpADg3ADggAiABKQAwNwAwIAIgASkAKDcAKCACIAEpACA3ACAgAiABKQBYNwBYIAIgASkAUDcAUCACIAEpAEg3AEggAiABKQBANwBAIAIgASkAYDcAYCACIAEpAGg3AGggAiABKQBwNwBwIAIgASkAeDcAeCABQYABaiEBIAJBgAFqIQIgGkKAAX0iGkIfVg0ACwsgGkIQWgRAIAIgASkAADcAACACIAEpAAg3AAggGkIQfSEaIAJBEGohAiABQRBqIQELIBpCCFoEQCACIAEpAAA3AAAgGkIIfSEaIAJBCGohAiABQQhqIQELIBpCBFoEQCACIAEoAAA2AAAgGkIEfSEaIAJBBGohAiABQQRqIQELIBpCAloEQCACIAEvAAA7AAAgGkICfSEaIAJBAmohAiABQQJqIQELIBwgG30hHCAaUEUEQCACIAEtAAA6AAAgAkEBaiECIAFBAWohAQsgHFBFDQALDAILAkAgASADTSABIA8gAWusIhogBa0iGyAaIBtUGyIapyIEaiICIANLcQ0AIAMgBGogAUsgASADT3ENACABIAMgBBAHGgwCCyABIAMgAyABayIBIAFBH3UiAWogAXMiARAHIAFqIQIgGiABrSIefSIcUA0BIAEgA2ohAQNAAkAgHCAeIBwgHlQbIhtCIFQEQCAbIRoMAQsgGyIaQiB9IiBCBYhCAXxCA4MiH1BFBEADQCACIAEpAAA3AAAgAiABKQAYNwAYIAIgASkAEDcAECACIAEpAAg3AAggGkIgfSEaIAFBIGohASACQSBqIQIgH0IBfSIfQgBSDQALCyAgQuAAVA0AA0AgAiABKQAANwAAIAIgASkAGDcAGCACIAEpABA3ABAgAiABKQAINwAIIAIgASkAODcAOCACIAEpADA3ADAgAiABKQAoNwAoIAIgASkAIDcAICACIAEpAFg3AFggAiABKQBQNwBQIAIgASkASDcASCACIAEpAEA3AEAgAiABKQBgNwBgIAIgASkAaDcAaCACIAEpAHA3AHAgAiABKQB4NwB4IAFBgAFqIQEgAkGAAWohAiAaQoABfSIaQh9WDQALCyAaQhBaBEAgAiABKQAANwAAIAIgASkACDcACCAaQhB9IRogAkEQaiECIAFBEGohAQsgGkIIWgRAIAIgASkAADcAACAaQgh9IRogAkEIaiECIAFBCGohAQsgGkIEWgRAIAIgASgAADYAACAaQgR9IRogAkEEaiECIAFBBGohAQsgGkICWgRAIAIgAS8AADsAACAaQgJ9IRogAkECaiECIAFBAmohAQsgHCAbfSEcIBpQRQRAIAIgAS0AADoAACACQQFqIQIgAUEBaiEBCyAcUEUNAAsMAQsCQAJAIBYEQAJAIAQgBUkEQCAHKAKYRyAESw0BCyABIARrIQMCQEEAIARrIgVBf0ogDyABa6wiGiAbIBogG1QbIhqnIgIgBUpxDQAgBUEBSCACIANqIAFLcQ0AIAEgAyACEAcgAmohAgwFCyABIAMgBCAEQR91IgFqIAFzIgEQByABaiECIBogAa0iHn0iHFANBCABIANqIQEDQAJAIBwgHiAcIB5UGyIbQiBUBEAgGyEaDAELIBsiGkIgfSIgQgWIQgF8QgODIh9QRQRAA0AgAiABKQAANwAAIAIgASkAGDcAGCACIAEpABA3ABAgAiABKQAINwAIIBpCIH0hGiABQSBqIQEgAkEgaiECIB9CAX0iH0IAUg0ACwsgIELgAFQNAANAIAIgASkAADcAACACIAEpABg3ABggAiABKQAQNwAQIAIgASkACDcACCACIAEpADg3ADggAiABKQAwNwAwIAIgASkAKDcAKCACIAEpACA3ACAgAiABKQBYNwBYIAIgASkAUDcAUCACIAEpAEg3AEggAiABKQBANwBAIAIgASkAYDcAYCACIAEpAGg3AGggAiABKQBwNwBwIAIgASkAeDcAeCABQYABaiEBIAJBgAFqIQIgGkKAAX0iGkIfVg0ACwsgGkIQWgRAIAIgASkAADcAACACIAEpAAg3AAggGkIQfSEaIAJBEGohAiABQRBqIQELIBpCCFoEQCACIAEpAAA3AAAgGkIIfSEaIAJBCGohAiABQQhqIQELIBpCBFoEQCACIAEoAAA2AAAgGkIEfSEaIAJBBGohAiABQQRqIQELIBpCAloEQCACIAEvAAA7AAAgGkICfSEaIAJBAmohAiABQQJqIQELIBwgG30hHCAaUEUEQCACIAEtAAA6AAAgAkEBaiECIAFBAWohAQsgHFBFDQALDAQLIBAgAWsiCUEBaiIGIAUgBSAGSxshAyABIARrIQIgAUEHcUUNAiADRQ0CIAEgAi0AADoAACACQQFqIQIgAUEBaiIGQQdxQQAgA0EBayIFGw0BIAYhASAFIQMgCSEGDAILAkAgBCAFSQRAIAcoAphHIARLDQELIAEgASAEayIGKQAANwAAIAEgBUEBa0EHcUEBaiIDaiECIAUgA2siBEUNAyADIAZqIQEDQCACIAEpAAA3AAAgAUEIaiEBIAJBCGohAiAEQQhrIgQNAAsMAwsgASAEIAUQPyECDAILIAEgAi0AADoAASAJQQFrIQYgA0ECayEFIAJBAWohAgJAIAFBAmoiCkEHcUUNACAFRQ0AIAEgAi0AADoAAiAJQQJrIQYgA0EDayEFIAJBAWohAgJAIAFBA2oiCkEHcUUNACAFRQ0AIAEgAi0AADoAAyAJQQNrIQYgA0EEayEFIAJBAWohAgJAIAFBBGoiCkEHcUUNACAFRQ0AIAEgAi0AADoABCAJQQRrIQYgA0EFayEFIAJBAWohAgJAIAFBBWoiCkEHcUUNACAFRQ0AIAEgAi0AADoABSAJQQVrIQYgA0EGayEFIAJBAWohAgJAIAFBBmoiCkEHcUUNACAFRQ0AIAEgAi0AADoABiAJQQZrIQYgA0EHayEFIAJBAWohAgJAIAFBB2oiCkEHcUUNACAFRQ0AIAEgAi0AADoAByAJQQdrIQYgA0EIayEDIAFBCGohASACQQFqIQIMBgsgCiEBIAUhAwwFCyAKIQEgBSEDDAQLIAohASAFIQMMAwsgCiEBIAUhAwwCCyAKIQEgBSEDDAELIAohASAFIQMLAkACQCAGQRdNBEAgA0UNASADQQFrIQUgA0EHcSIEBEADQCABIAItAAA6AAAgA0EBayEDIAFBAWohASACQQFqIQIgBEEBayIEDQALCyAFQQdJDQEDQCABIAItAAA6AAAgASACLQABOgABIAEgAi0AAjoAAiABIAItAAM6AAMgASACLQAEOgAEIAEgAi0ABToABSABIAItAAY6AAYgASACLQAHOgAHIAFBCGohASACQQhqIQIgA0EIayIDDQALDAELIAMNAQsgASECDAELIAEgBCADED8hAgsgCyEFDAELIAEgAy0AAjoAACABQQFqIQILIAUgFE8NACACIBNJDQELCyAAIAI2AgwgACAFIAhBA3ZrIgE2AgAgACATIAJrQYMCajYCECAAIBQgAWtBDmo2AgQgByAIQQdxIgA2AogBIAcgHUJ/IACthkJ/hYM+AoQBC+cFAQR/IAMgAiACIANLGyEEIAAgAWshAgJAIABBB3FFDQAgBEUNACAAIAItAAA6AAAgA0EBayEGIAJBAWohAiAAQQFqIgdBB3FBACAEQQFrIgUbRQRAIAchACAFIQQgBiEDDAELIAAgAi0AADoAASADQQJrIQYgBEECayEFIAJBAWohAgJAIABBAmoiB0EHcUUNACAFRQ0AIAAgAi0AADoAAiADQQNrIQYgBEEDayEFIAJBAWohAgJAIABBA2oiB0EHcUUNACAFRQ0AIAAgAi0AADoAAyADQQRrIQYgBEEEayEFIAJBAWohAgJAIABBBGoiB0EHcUUNACAFRQ0AIAAgAi0AADoABCADQQVrIQYgBEEFayEFIAJBAWohAgJAIABBBWoiB0EHcUUNACAFRQ0AIAAgAi0AADoABSADQQZrIQYgBEEGayEFIAJBAWohAgJAIABBBmoiB0EHcUUNACAFRQ0AIAAgAi0AADoABiADQQdrIQYgBEEHayEFIAJBAWohAgJAIABBB2oiB0EHcUUNACAFRQ0AIAAgAi0AADoAByADQQhrIQMgBEEIayEEIABBCGohACACQQFqIQIMBgsgByEAIAUhBCAGIQMMBQsgByEAIAUhBCAGIQMMBAsgByEAIAUhBCAGIQMMAwsgByEAIAUhBCAGIQMMAgsgByEAIAUhBCAGIQMMAQsgByEAIAUhBCAGIQMLAkAgA0EXTQRAIARFDQEgBEEBayEBIARBB3EiAwRAA0AgACACLQAAOgAAIARBAWshBCAAQQFqIQAgAkEBaiECIANBAWsi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CyAAIAMtAAAEfiADKQMQBUIAC6dB//8DcSADKAIEEEcLIQUgAxAICyAEQRBqJAAgBQvgAQICfwF+QTAQCSICRQRAIAEEQCABQQA2AgQgAUEONgIAC0EADwsgAkIANwMIIAJBADYCACACQgA3AxAgAkIANwMYIAJCADcDICACQgA3ACUgAFAEQCACDwsCQCAAQv////8AVg0AIACnQQR0EAkiA0UNACACIAM2AgBBACEBQgEhBANAIAMgAUEEdGoiAUIANwIAIAFCADcABSAAIARSBEAgBKchASAEQgF8IQQMAQsLIAIgADcDCCACIAA3AxAgAg8LIAEEQCABQQA2AgQgAUEONgIAC0EAEBAgAhAGQQAL7gECA38BfiMAQRBrIgQkAAJAIARBDGpCBBAXIgNFBEBBfyECDAELAkAgAQRAIAJBgAZxIQUDQAJAIAUgASgCBHFFDQACQCADKQMIQgBUBEAgA0EAOgAADAELIANCADcDECADQQE6AAALIAMgAS8BCBANIAMgAS8BChANIAMtAABFBEAgAEEIaiIABEAgAEEANgIEIABBFDYCAAtBfyECDAQLQX8hAiAAIARBDGpCBBAbQQBIDQMgATMBCiIGUA0AIAAgASgCDCAGEBtBAEgNAwsgASgCACIBDQALC0EAIQILIAMQCAsgBEEQaiQAIAILPAEBfyAABEAgAUGABnEhAQNAIAEgACgCBHEEQCACIAAvAQpqQQRqIQILIAAoAgAiAA0ACwsgAkH//wNxC5wBAQN/IABFBEBBAA8LIAAhAwNAAn8CQAJAIAAvAQgiAUH04AFNBEAgAUEBRg0BIAFB9cYBRg0BDAILIAFBgbICRg0AIAFB9eABRw0BCyAAKAIAIQEgAEEANgIAIAAoAgwQBiAAEAYgASADIAAgA0YbIQMCQCACRQRAQQAhAgwBCyACIAE2AgALIAEMAQsgACICKAIACyIADQALIAMLsgQCBX8BfgJAAkACQCAAIAGtEBciAQRAIAEtAAANAUEAIQAMAgsgBARAIARBADYCBCAEQQ42AgALQQAPC0EAIQADQCABLQAABH4gASkDCCABKQMQfQVCAAtCBFQNASABEAwhByABIAEQDCIGrRATIghFBEBBACECIAQEQCAEQQA2AgQgBEEVNgIACyABEAggAEUNAwNAIAAoAgAhASAAKAIMEAYg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DCAAQRg2AggLDAMLIAAgBiAFLwFqQQAgBCABEQYAIQEgBhALIAFFDQILAkAgDUUEQCABIQMMAQsgACABIAUvAWgQgQEhAyABEAsgA0UNAQsCQCAJRSAMckUEQCADIQEMAQsgACADQQEQgAEhASADEAsgAUUNAQsgASEDDAELQQAhAwsgBUHwAGokACADC4UBAQF/IAFFBEAgAEEIaiIABEAgAEEANgIEIABBEjYCAAtBAA8LQTgQCSIDRQRAIABBCGoiAARAIABBADYCBCAAQQ42AgALQQAPCyADQQA2AhAgA0IANwIIIANCADcDKCADQQA2AgQgAyACNgIAIANCADcDGCADQQA2AjAgACABQTsgAxBCCw8AIAAgASACQQBBABCCAQusAgECfyABRQRAIABBCGoiAARAIABBADYCBCAAQRI2AgALQQAPCwJAIAJBfUsNACACQf//A3FBCEYNACAAQQhqIgAEQCAAQQA2AgQgAEEQNgIAC0EADwsCQEGwwAAQCSIFBEAgBUEANgIIIAVCADcCACAFQYiBAUGogQEgAxs2AqhAIAUgAjYCFCAFIAM6ABAgBUEAOgAPIAVBADsBDCAFIAMgAkF9SyIGcToADiAFQQggAiAGG0H//wNxIAQgBUGIgQFBqIEBIAMbKAIAEQAAIgI2AqxAIAINASAFEDEgBRAGCyAAQQhqIgAEQCAAQQA2AgQgAEEONgIAC0EADwsgACABQTogBRBCIgAEfyAABSAFKAKsQCAFKAKoQCgCBBEDACAFEDEgBRAGQQALC6ABAQF/IAIgACgCBCIDIAIgA0kbIgIEQCAAIAMgAms2AgQCQAJAAkACQCAAKAIcIgMoAhRBAWsOAgEAAgsgA0GgAWogASAAKAIAIAJB3IABKAIAEQgADAILIAAgACgCMCABIAAoAgAgAkHEgAEoAgARBAA2AjAMAQsgASAAKAIAIAIQBxoLIAAgACgCACACajYCACAAIAAoAgggAmo2AggLC7cCAQR/QX4hAgJAIABFDQAgACgCIEUNACAAKAIkIgRFDQAgACgCHCIBRQ0AIAEoAgAgAEcNAAJAAkAgASgCICIDQTlrDjkBAgICAgICAgICAgIBAgICAQICAgICAgICAgICAgICAgICAQICAgICAgICAgICAQICAgICAgICAgEACyADQZoFRg0AIANBKkcN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DCABajYCDCAGIAYoAgggAWo2AgggBSAFKAIUIAFqNgIUIAUgBSgCECABazYCECAGIAYoAhAgAWsiATYCECABDQAgBiAGKAIENgIIC0EAIQRBACEJIAMoAhBFDQAMCgsgAygCHCgCJCEGIAMgAygCGCIBQQFqNgIYIAEgBmotAAAhASADIARBAWo2AhAgAygCBCAEaiABOgAAIAEEQCADKAIQIQQMAQsLIAMoAhwoAixFDQAgAygCECIGIAlNDQAgBQJ/IAUoAjAhBEEAIAMoAgQgCWoiAUUNABogBCABIAYgCWtB1IABKAIAEQAACzYCMAsgA0HnADYCIAsCQCADKAIcKAIsBEAgAygCDCADKAIQIgFBAmpJBH8gBRAKIAMoAhANAkEABSABCyADKAIEaiAFKAIwOwAAIAMgAygCEEECajYCECADQaABakHkgAEoAgARAQAaCyADQfEANgIgIAUQCiADKAIQRQ0BDAcLDAYLIAUoAgQNAQsgAygCPA0AIApFDQEgAygCIEGaBUYNAQsCfyADKAKIASIBRQRAIAMgChCFAQwBCwJAAkACQCADKAKMAUECaw4CAAECCwJ/AkADQAJAAkAgAygCPA0AIAMQLyADKAI8DQAgCg0BQQAMBAsgAygCSCADKAJoai0AACEEIAMgAygC8C0iAUEBajYC8C0gASADKALsLWpBADoAACADIAMoAvAtIgFBAWo2AvAtIAEgAygC7C1qQQA6AAAgAyADKALwLSIBQQFqNgLwLSABIAMoAuwtaiAEOgAAIAMgBEECdGoiASABLwHkAUEBajsB5AEgAyADKAI8QQFrNgI8IAMgAygCaEEBaiIBNgJoIAMoAvAtIAMoAvQtRw0BQQAhBCADIAMoAlgiBkEATgR/IAMoAkggBmoFQQALIAEgBmtBABAPIAMgAygCaDYCWCADKAIAEAogAygCACgCEA0BDAILCyADQQA2AoQuIApBBEYEQCADIAMoAlgiAUEATgR/IAMoAkggAWoFQQALIAMoAmggAWtBARAPIAMgAygCaDYCWCADKAIAEApBA0ECIAMoAgAoAhAbDAILIAMoAvAtBEBBACEEIAMgAygCWCIBQQBOBH8gAygCSCABagVBAAsgAygCaCABa0EAEA8gAyADKAJoNgJYIAMoAgAQCiADKAIAKAIQRQ0BC0EBIQQLIAQL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bGl0ZXJhbC9sZW5ndGhzIHNldABpbnZhbGlkIGNvZGUgbGVuZ3RocyBzZXQAdW5rbm93biBoZWFkZXIgZmxhZ3Mgc2V0AGludmFsaWQgZGlzdGFuY2VzIHNldABpbnZhbGlkIGJpdCBsZW5ndGggcmVwZWF0AEZpbGUgYWxyZWFkeSBleGlzdHMAdG9vIG1hbnkgbGVuZ3RoIG9yIGRpc3RhbmNlIHN5bWJvbHMAaW52YWxpZCBzdG9yZWQgYmxvY2sgbGVuZ3RocwAlcyVzJXMAYnVmZmVyIGVycm9yAE5vIGVycm9yAHN0cmVhbSBlcnJvcgBUZWxsIGVycm9yAEludGVybmFsIGVycm9yAFNlZWsgZXJyb3IAV3JpdGUgZXJyb3IAZmlsZSBlcnJvcgBSZWFkIGVycm9yAFpsaWIgZXJyb3IAZGF0YSBlcnJvcgBDUkMgZXJyb3IAaW5jb21wYXRpYmxlIHZlcnNpb24AaW52YWxpZCBjb2RlIC0tIG1pc3NpbmcgZW5kLW9mLWJsb2NrAGluY29ycmVjdCBoZWFkZXIgY2hlY2sAaW5jb3JyZWN0IGxlbmd0aCBjaGVjawBpbmNvcnJlY3QgZGF0YSBjaGVjawBpbnZhbGlkIGRpc3RhbmNlIHRvbyBmYXIgYmFjawBoZWFkZXIgY3JjIG1pc21hdGNoADEuMi4xMy56bGliLW5nAGludmFsaWQgd2luZG93IHNpemUAUmVhZC1vbmx5IGFyY2hpdmUATm90IGEgemlwIGFyY2hpdmUAUmVzb3VyY2Ugc3RpbGwgaW4gdXNlAE1hbGxvYyBmYWlsdXJlAGludmFsaWQgYmxvY2sgdHlwZQBGYWlsdXJlIHRvIGNyZWF0ZSB0ZW1wb3JhcnkgZmlsZQBDYW4ndCBvcGVuIGZpbGUATm8gc3VjaCBmaWxlAFByZW1hdHVyZSBlbmQgb2YgZmlsZQBDYW4ndCByZW1vdmUgZmlsZQBpbnZhbGlkIGxpdGVyYWwvbGVuZ3RoIGNvZGUAaW52YWxpZCBkaXN0YW5jZSBjb2RlAHVua25vd24gY29tcHJlc3Npb24gbWV0aG9kAHN0cmVhbSBlbmQAQ29tcHJlc3NlZCBkYXRhIGludmFsaWQATXVsdGktZGlzayB6aXAgYXJjaGl2ZXMgbm90IHN1cHBvcnRl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UgAIANIACAAyAAgAsgAIAHIACADyAAgACgAIAIoACABKAAgAygAIACoACACqAAgAagAIAOoACAAaAAgAmgAIAFoACADaAAgAOgAIALoACAB6AAgA+gAIAAYACACGAAgARgAIAMYACAAmAAgApgAIAGYACADmAAgAFgAIAJYACABWAAgA1gAIADYACAC2AAgAdgAIAPYACAAOAAgAjgAIAE4ACADOAAgALgAIAK4ACABuAAgA7gAIAB4ACACeAAgAXgAIAN4ACAA+AAgAvgAIAH4ACAD+AAgAAQAIAIEACABBAAgAwQAIACEACAChAAgAYQAIAOEACAARAAgAkQAIAFEACADRAAgAMQAIALEACABxAAgA8QAIAAkACACJAAgASQAIAMkACAApAAgAqQAIAGkACADpAAgAGQAIAJkACABZAAgA2QAIADkACAC5AAgAeQAIAPkACAAFAAgAhQAIAEUACADFAAgAJQAIAKUACABlAAgA5QAIABUACACVAAgAVQAIANUACAA1AAgAtQAIAHUACAD1AAgADQAIAI0ACABNAAgAzQAIAC0ACACtAAgAbQAIAO0ACAAdAAgAnQAIAF0ACADdAAgAPQAIAL0ACAB9AAgA/QAIABMACQATAQkAkwAJAJMBCQBTAAkAUwEJANMACQDTAQkAMwAJADMBCQCzAAkAswEJAHMACQBzAQkA8wAJAPMBCQALAAkACwEJAIsACQCLAQkASwAJAEsBCQDLAAkAywEJACsACQArAQkAqwAJAKsBCQBrAAkAawEJAOsACQDrAQkAGwAJABsBCQCbAAkAmwEJAFsACQBbAQkA2wAJANsBCQA7AAkAOwEJALsACQC7AQkAewAJAHsBCQD7AAkA+wEJAAcACQAHAQkAhwAJAIcBCQBHAAkARwEJAMcACQDHAQkAJwAJACcBCQCnAAkApwEJAGcACQBnAQkA5wAJAOcBCQAXAAkAFwEJAJcACQCXAQkAVwAJAFcBCQDXAAkA1wEJADcACQA3AQkAtwAJALcBCQB3AAkAdwEJAPcACQD3AQkADwAJAA8BCQCPAAkAjwEJAE8ACQBPAQkAzwAJAM8BCQAvAAkALwEJAK8ACQCvAQkAbwAJAG8BCQDvAAkA7wEJAB8ACQAfAQkAnwAJAJ8BCQBfAAkAXwEJAN8ACQDfAQkAPwAJAD8BCQC/AAkA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SXMgYSBkaXJlY3RvcnkAVGV4dCBmaWxlIGJ1c3kARXhlYyBmb3JtYXQgZXJyb3IASW52YWxpZCBhcmd1bWVudABBcmd1bWVudCBsaXN0IHRvbyBsb25nAFN5bWJvbGljIGxpbmsgbG9vcABGaWxlbmFtZSB0b28gbG9uZwBUb28gbWFueSBvcGVuIGZpbGVzIGluIHN5c3RlbQBObyBmaWxlIGRlc2NyaXB0b3JzIGF2YWlsYWJsZQBCYWQgZmlsZSBkZXNjcmlwdG9yAE5vIGNoaWxkIHByb2Nlc3MAQmFkIGFkZHJlc3MARmlsZSB0b28gbGFyZ2UAVG9vIG1hbnkgbGlua3MATm8gbG9ja3MgYXZhaWxhYmxlAFJlc291cmNlIGRlYWRsb2NrIHdvdWxkIG9jY3VyAFN0YXRlIG5vdCByZWNvdmVyYWJsZQBQcmV2aW91cyBvd25lciBkaWVkAE9wZXJhdGlvbiBjYW5jZWxlZABGdW5jdGlvbiBub3QgaW1wbGVtZW50ZWQATm8gbWVzc2FnZSBvZiBkZXNpcmVkIHR5cGUASWRlbnRpZmllciByZW1vdmVkAERldmljZSBub3QgYSBzdHJlYW0ATm8gZGF0YSBhdmFpbGFibGUARGV2aWNlIHRpbWVvdXQAT3V0IG9mIHN0cmVhbXMgcmVzb3VyY2VzAExpbmsgaGFzIGJlZW4gc2V2ZXJlZABQcm90b2NvbCBlcnJvcgBCYWQgbWVzc2FnZQBGaWxlIGRlc2NyaXB0b3IgaW4gYmFkIHN0YXRlAE5vdCBhIHNvY2tldABEZXN0aW5hdGlvbiBhZGRyZXNzIHJlcXVpcmVkAE1lc3NhZ2UgdG9vIGxhcmdlAFByb3RvY29sIHdyb25nIHR5cGUgZm9yIHNvY2tldABQcm90b2NvbCBub3QgYXZhaWxhYmxlAFByb3RvY29sIG5vdCBzdXBwb3J0ZWQAU29ja2V0IHR5cGUgbm90IHN1cHBvcnRlZABOb3Qgc3VwcG9ydGVkAFByb3RvY29sIGZhbWlseSBub3Qgc3VwcG9ydGVkAEFkZHJlc3MgZmFtaWx5IG5vdCBzdXBwb3J0ZWQgYnkgcHJvdG9jb2wAQWRkcmVzcyBub3QgYXZhaWxhYmxlAE5ldHdvcmsgaXMgZG93bgBOZXR3b3JrIHVucmVhY2hhYmxlAENvbm5lY3Rpb24gcmVzZXQgYnkgbmV0d29yawBDb25uZWN0aW9uIGFib3J0ZWQATm8gYnVmZmVyIHNwYWNlIGF2YWlsYWJsZQBTb2NrZXQgaXMgY29ubmVjdGVkAFNvY2tldCBub3QgY29ubmVjdGVkAENhbm5vdCBzZW5kIGFmdGVyIHNvY2tldCBzaHV0ZG93bgBPcGVyYXRpb24gYWxyZWFkeSBpbiBwcm9ncmVzcwBPcGVyYXRpb24gaW4gcHJvZ3Jlc3MAU3RhbGUgZmlsZSBoYW5kbGUAUmVtb3RlIEkvTyBlcnJvcgBRdW90YSBleGNlZWRlZABObyBtZWRpdW0gZm91bmQAV3JvbmcgbWVkaXVtIHR5cGUATm8gZXJyb3IgaW5mb3JtYXRpb24AQcCAAQuFARMAAAAUAAAAFQAAABYAAAAXAAAAGAAAABkAAAAaAAAAGwAAABwAAAAdAAAAHgAAAB8AAAAgAAAAIQAAACIAAAAjAAAAgERQADEAAAAyAAAAMwAAADQAAAA1AAAANgAAADcAAAA4AAAAOQAAADIAAAAzAAAANAAAADUAAAA2AAAANwAAADgAQfSCAQsCXEQAQbCDAQsQ/////////////////////w==";Zs(xi)||(xi=x(xi));function Fs(Je){try{if(Je==xi&&ue)return new Uint8Array(ue);var st=ia(Je);if(st)return st;if(T)return T(Je);throw"sync fetching of the wasm failed: you can preload it to Module['wasmBinary'] manually, or emcc.py will do that for you when generating HTML (but not JS)"}catch(vt){Hi(vt)}}function $s(Je,st){var vt,ar,ee;try{ee=Fs(Je),ar=new WebAssembly.Module(ee),vt=new WebAssembly.Instance(ar,st)}catch(Le){var ye=Le.toString();throw te("failed to compile wasm module: "+ye),(ye.includes("imported Memory")||ye.includes("memory import"))&&te("Memory size incompatibility issues may be due to changing INITIAL_MEMORY at runtime to something too large. Use ALLOW_MEMORY_GROWTH to allow any size memory (and also make sure not to set INITIAL_MEMORY at runtime to something smaller than it was at compile time)."),Le}return[vt,ar]}function SA(){var Je={a:dc};function st(ee,ye){var Le=ee.exports;r.asm=Le,De=r.asm.g,z(De.buffer),$=r.asm.W,cn(r.asm.h),Xs("wasm-instantiate")}if($n("wasm-instantiate"),r.instantiateWasm)try{var vt=r.instantiateWasm(Je,st);return vt}catch(ee){return te("Module.instantiateWasm callback failed with error: "+ee),!1}var ar=$s(xi,Je);return st(ar[0]),r.asm}function gu(Je){return R.getFloat32(Je,!0)}function op(Je){return R.getFloat64(Je,!0)}function ap(Je){return R.getInt16(Je,!0)}function Rs(Je){return R.getInt32(Je,!0)}function Ln(Je,st){R.setInt32(Je,st,!0)}function hs(Je){for(;Je.length>0;){var st=Je.shift();if(typeof st=="function"){st(r);continue}var vt=st.func;typeof vt=="number"?st.arg===void 0?$.get(vt)():$.get(vt)(st.arg):vt(st.arg===void 0?null:st.arg)}}function Ts(Je,st){var vt=new Date(Rs((Je>>2)*4)*1e3);Ln((st>>2)*4,vt.getUTCSeconds()),Ln((st+4>>2)*4,vt.getUTCMinutes()),Ln((st+8>>2)*4,vt.getUTCHours()),Ln((st+12>>2)*4,vt.getUTCDate()),Ln((st+16>>2)*4,vt.getUTCMonth()),Ln((st+20>>2)*4,vt.getUTCFullYear()-1900),Ln((st+24>>2)*4,vt.getUTCDay()),Ln((st+36>>2)*4,0),Ln((st+32>>2)*4,0);var ar=Date.UTC(vt.getUTCFullYear(),0,1,0,0,0,0),ee=(vt.getTime()-ar)/(1e3*60*60*24)|0;return Ln((st+28>>2)*4,ee),Ts.GMTString||(Ts.GMTString=nt("GMT")),Ln((st+40>>2)*4,Ts.GMTString),st}function pc(Je,st){return Ts(Je,st)}function hc(Je,st,vt){be.copyWithin(Je,st,st+vt)}function gc(Je){try{return De.grow(Je-ke.byteLength+65535>>>16),z(De.buffer),1}catch{}}function bA(Je){var st=be.length;Je=Je>>>0;var vt=2147483648;if(Je>vt)return!1;for(var ar=1;ar<=4;ar*=2){var ee=st*(1+.2/ar);ee=Math.min(ee,Je+100663296);var ye=Math.min(vt,Te(Math.max(Je,ee),65536)),Le=gc(ye);if(Le)return!0}return!1}function xA(Je){ce(Je)}function Ro(Je){var st=Date.now()/1e3|0;return Je&&Ln((Je>>2)*4,st),st}function To(){if(To.called)return;To.called=!0;var Je=new Date().getFullYear(),st=new Date(Je,0,1),vt=new Date(Je,6,1),ar=st.getTimezoneOffset(),ee=vt.getTimezoneOffset(),ye=Math.max(ar,ee);Ln((ja()>>2)*4,ye*60),Ln((rs()>>2)*4,+(ar!=ee));function Le(sn){var ei=sn.toTimeString().match(/\(([A-Za-z ]+)\)$/);return ei?ei[1]:"GMT"}var gt=Le(st),mt=Le(vt),Dt=nt(gt),er=nt(mt);ee<ar?(Ln((Di()>>2)*4,Dt),Ln((Di()+4>>2)*4,er)):(Ln((Di()>>2)*4,er),Ln((Di()+4>>2)*4,Dt))}function kA(Je){To();var st=Date.UTC(Rs((Je+20>>2)*4)+1900,Rs((Je+16>>2)*4),Rs((Je+12>>2)*4),Rs((Je+8>>2)*4),Rs((Je+4>>2)*4),Rs((Je>>2)*4),0),vt=new Date(st);Ln((Je+24>>2)*4,vt.getUTCDay());var ar=Date.UTC(vt.getUTCFullYear(),0,1,0,0,0,0),ee=(vt.getTime()-ar)/(1e3*60*60*24)|0;return Ln((Je+28>>2)*4,ee),vt.getTime()/1e3|0}var pr=typeof atob=="function"?atob:function(Je){var st="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",vt="",ar,ee,ye,Le,gt,mt,Dt,er=0;Je=Je.replace(/[^A-Za-z0-9\+\/\=]/g,"");do Le=st.indexOf(Je.charAt(er++)),gt=st.indexOf(Je.charAt(er++)),mt=st.indexOf(Je.charAt(er++)),Dt=st.indexOf(Je.charAt(er++)),ar=Le<<2|gt>>4,ee=(gt&15)<<4|mt>>2,ye=(mt&3)<<6|Dt,vt=vt+String.fromCharCode(ar),mt!==64&&(vt=vt+String.fromCharCode(ee)),Dt!==64&&(vt=vt+String.fromCharCode(ye));while(er<Je.length);return vt};function Me(Je){if(typeof w=="boolean"&&w){var st;try{st=Buffer.from(Je,"base64")}catch{st=new Buffer(Je,"base64")}return new Uint8Array(st.buffer,st.byteOffset,st.byteLength)}try{for(var vt=pr(Je),ar=new Uint8Array(vt.length),ee=0;ee<vt.length;++ee)ar[ee]=vt.charCodeAt(ee);return ar}catch{throw new Error("Converting base64 string to bytes failed.")}}function ia(Je){if(Zs(Je))return Me(Je.slice(Qs.length))}var dc={e:pc,c:hc,d:bA,a:xA,b:Ro,f:kA},Er=SA(),du=r.___wasm_call_ctors=Er.h,QA=r._zip_ext_count_symlinks=Er.i,FA=r._zip_file_get_external_attributes=Er.j,mc=r._zipstruct_statS=Er.k,yc=r._zipstruct_stat_size=Er.l,Il=r._zipstruct_stat_mtime=Er.m,we=r._zipstruct_stat_crc=Er.n,Tt=r._zipstruct_errorS=Er.o,wl=r._zipstruct_error_code_zip=Er.p,Bi=r._zipstruct_stat_comp_size=Er.q,Ns=r._zipstruct_stat_comp_method=Er.r,Ft=r._zip_close=Er.s,Bn=r._zip_delete=Er.t,No=r._zip_dir_add=Er.u,ki=r._zip_discard=Er.v,vi=r._zip_error_init_with_code=Er.w,sa=r._zip_get_error=Er.x,un=r._zip_file_get_error=Er.y,qn=r._zip_error_strerror=Er.z,Ec=r._zip_fclose=Er.A,lp=r._zip_file_add=Er.B,oa=r._free=Er.C,aa=r._malloc=Er.D,la=r._zip_source_error=Er.E,Ze=r._zip_source_seek=Er.F,ca=r._zip_file_set_external_attributes=Er.G,mu=r._zip_file_set_mtime=Er.H,Bl=r._zip_fopen_index=Er.I,dn=r._zip_fread=Er.J,Lo=r._zip_get_name=Er.K,RA=r._zip_get_num_entries=Er.L,TA=r._zip_source_read=Er.M,Oo=r._zip_name_locate=Er.N,qa=r._zip_open_from_source=Er.O,Ot=r._zip_set_file_compression=Er.P,vn=r._zip_source_buffer=Er.Q,Mo=r._zip_source_buffer_create=Er.R,ua=r._zip_source_close=Er.S,qi=r._zip_source_free=Er.T,vl=r._zip_source_keep=Er.U,Cc=r._zip_source_open=Er.V,Dl=r._zip_source_tell=Er.X,Aa=r._zip_stat_index=Er.Y,Di=r.__get_tzname=Er.Z,rs=r.__get_daylight=Er._,ja=r.__get_timezone=Er.$,yu=r.stackSave=Er.aa,Pl=r.stackRestore=Er.ba,pi=r.stackAlloc=Er.ca;r.cwrap=ie,r.getValue=he;var Dn;Xr=function Je(){Dn||Sl(),Dn||(Xr=Je)};function Sl(Je){if(Je=Je||A,yr>0||(Et(),yr>0))return;function st(){Dn||(Dn=!0,r.calledRun=!0,!Ee&&(qt(),o(r),r.onRuntimeInitialized&&r.onRuntimeInitialized(),nr()))}r.setStatus?(r.setStatus("Running..."),setTimeout(function(){setTimeout(function(){r.setStatus("")},1),st()},1)):st()}if(r.run=Sl,r.preInit)for(typeof r.preInit=="function"&&(r.preInit=[r.preInit]);r.preInit.length>0;)r.preInit.pop()();return Sl(),e}}();typeof ux=="object"&&typeof M4=="object"?M4.exports=O4:typeof define=="function"&&define.amd?define([],function(){return O4}):typeof ux=="object"&&(ux.createModule=O4)});var Nf,wce,Bce,vce=It(()=>{Nf=["number","number"],wce=(Z=>(Z[Z.ZIP_ER_OK=0]="ZIP_ER_OK",Z[Z.ZIP_ER_MULTIDISK=1]="ZIP_ER_MULTIDISK",Z[Z.ZIP_ER_RENAME=2]="ZIP_ER_RENAME",Z[Z.ZIP_ER_CLOSE=3]="ZIP_ER_CLOSE",Z[Z.ZIP_ER_SEEK=4]="ZIP_ER_SEEK",Z[Z.ZIP_ER_READ=5]="ZIP_ER_READ",Z[Z.ZIP_ER_WRITE=6]="ZIP_ER_WRITE",Z[Z.ZIP_ER_CRC=7]="ZIP_ER_CRC",Z[Z.ZIP_ER_ZIPCLOSED=8]="ZIP_ER_ZIPCLOSED",Z[Z.ZIP_ER_NOENT=9]="ZIP_ER_NOENT",Z[Z.ZIP_ER_EXISTS=10]="ZIP_ER_EXISTS",Z[Z.ZIP_ER_OPEN=11]="ZIP_ER_OPEN",Z[Z.ZIP_ER_TMPOPEN=12]="ZIP_ER_TMPOPEN",Z[Z.ZIP_ER_ZLIB=13]="ZIP_ER_ZLIB",Z[Z.ZIP_ER_MEMORY=14]="ZIP_ER_MEMORY",Z[Z.ZIP_ER_CHANGED=15]="ZIP_ER_CHANGED",Z[Z.ZIP_ER_COMPNOTSUPP=16]="ZIP_ER_COMPNOTSUPP",Z[Z.ZIP_ER_EOF=17]="ZIP_ER_EOF",Z[Z.ZIP_ER_INVAL=18]="ZIP_ER_INVAL",Z[Z.ZIP_ER_NOZIP=19]="ZIP_ER_NOZIP",Z[Z.ZIP_ER_INTERNAL=20]="ZIP_ER_INTERNAL",Z[Z.ZIP_ER_INCONS=21]="ZIP_ER_INCONS",Z[Z.ZIP_ER_REMOVE=22]="ZIP_ER_REMOVE",Z[Z.ZIP_ER_DELETED=23]="ZIP_ER_DELETED",Z[Z.ZIP_ER_ENCRNOTSUPP=24]="ZIP_ER_ENCRNOTSUPP",Z[Z.ZIP_ER_RDONLY=25]="ZIP_ER_RDONLY",Z[Z.ZIP_ER_NOPASSWD=26]="ZIP_ER_NOPASSWD",Z[Z.ZIP_ER_WRONGPASSWD=27]="ZIP_ER_WRONGPASSWD",Z[Z.ZIP_ER_OPNOTSUPP=28]="ZIP_ER_OPNOTSUPP",Z[Z.ZIP_ER_INUSE=29]="ZIP_ER_INUSE",Z[Z.ZIP_ER_TELL=30]="ZIP_ER_TELL",Z[Z.ZIP_ER_COMPRESSED_DATA=31]="ZIP_ER_COMPRESSED_DATA",Z))(wce||{}),Bce=t=>({get HEAPU8(){return t.HEAPU8},errors:wce,SEEK_SET:0,SEEK_CUR:1,SEEK_END:2,ZIP_CHECKCONS:4,ZIP_EXCL:2,ZIP_RDONLY:16,ZIP_FL_OVERWRITE:8192,ZIP_FL_COMPRESSED:4,ZIP_OPSYS_DOS:0,ZIP_OPSYS_AMIGA:1,ZIP_OPSYS_OPENVMS:2,ZIP_OPSYS_UNIX:3,ZIP_OPSYS_VM_CMS:4,ZIP_OPSYS_ATARI_ST:5,ZIP_OPSYS_OS_2:6,ZIP_OPSYS_MACINTOSH:7,ZIP_OPSYS_Z_SYSTEM:8,ZIP_OPSYS_CPM:9,ZIP_OPSYS_WINDOWS_NTFS:10,ZIP_OPSYS_MVS:11,ZIP_OPSYS_VSE:12,ZIP_OPSYS_ACORN_RISC:13,ZIP_OPSYS_VFAT:14,ZIP_OPSYS_ALTERNATE_MVS:15,ZIP_OPSYS_BEOS:16,ZIP_OPSYS_TANDEM:17,ZIP_OPSYS_OS_400:18,ZIP_OPSYS_OS_X:19,ZIP_CM_DEFAULT:-1,ZIP_CM_STORE:0,ZIP_CM_DEFLATE:8,uint08S:t._malloc(1),uint32S:t._malloc(4),malloc:t._malloc,free:t._free,getValue:t.getValue,openFromSource:t.cwrap("zip_open_from_source","number",["number","number","number"]),close:t.cwrap("zip_close","number",["number"]),discard:t.cwrap("zip_discard",null,["number"]),getError:t.cwrap("zip_get_error","number",["number"]),getName:t.cwrap("zip_get_name","string",["number","number","number"]),getNumEntries:t.cwrap("zip_get_num_entries","number",["number","number"]),delete:t.cwrap("zip_delete","number",["number","number"]),statIndex:t.cwrap("zip_stat_index","number",["number",...Nf,"number","number"]),fopenIndex:t.cwrap("zip_fopen_index","number",["number",...Nf,"number"]),fread:t.cwrap("zip_fread","number",["number","number","number","number"]),fclose:t.cwrap("zip_fclose","number",["number"]),dir:{add:t.cwrap("zip_dir_add","number",["number","string"])},file:{add:t.cwrap("zip_file_add","number",["number","string","number","number"]),getError:t.cwrap("zip_file_get_error","number",["number"]),getExternalAttributes:t.cwrap("zip_file_get_external_attributes","number",["number",...Nf,"number","number","number"]),setExternalAttributes:t.cwrap("zip_file_set_external_attributes","number",["number",...Nf,"number","number","number"]),setMtime:t.cwrap("zip_file_set_mtime","number",["number",...Nf,"number","number"]),setCompression:t.cwrap("zip_set_file_compression","number",["number",...Nf,"number","number"])},ext:{countSymlinks:t.cwrap("zip_ext_count_symlinks","number",["number"])},error:{initWithCode:t.cwrap("zip_error_init_with_code",null,["number","number"]),strerror:t.cwrap("zip_error_strerror","string",["number"])},name:{locate:t.cwrap("zip_name_locate","number",["number","string","number"])},source:{fromUnattachedBuffer:t.cwrap("zip_source_buffer_create","number",["number",...Nf,"number","number"]),fromBuffer:t.cwrap("zip_source_buffer","number",["number","number",...Nf,"number"]),free:t.cwrap("zip_source_free",null,["number"]),keep:t.cwrap("zip_source_keep",null,["number"]),open:t.cwrap("zip_source_open","number",["number"]),close:t.cwrap("zip_source_close","number",["number"]),seek:t.cwrap("zip_source_seek","number",["number",...Nf,"number"]),tell:t.cwrap("zip_source_tell","number",["number"]),read:t.cwrap("zip_source_read","number",["number","number","number"]),error:t.cwrap("zip_source_error","number",["number"])},struct:{statS:t.cwrap("zipstruct_statS","number",[]),statSize:t.cwrap("zipstruct_stat_size","number",["number"]),statCompSize:t.cwrap("zipstruct_stat_comp_size","number",["number"]),statCompMethod:t.cwrap("zipstruct_stat_comp_method","number",["number"]),statMtime:t.cwrap("zipstruct_stat_mtime","number",["number"]),statCrc:t.cwrap("zipstruct_stat_crc","number",["number"]),errorS:t.cwrap("zipstruct_errorS","number",[]),errorCodeZip:t.cwrap("zipstruct_error_code_zip","number",["number"])}})});function U4(t,e){let r=t.indexOf(e);if(r<=0)return null;let o=r;for(;r>=0&&(o=r+e.length,t[o]!==K.sep);){if(t[r-1]===K.sep)return null;r=t.indexOf(e,o)}return t.length>o&&t[o]!==K.sep?null:t.slice(0,o)}var iA,Dce=It(()=>{Pt();Pt();sA();iA=class t extends Gp{static async openPromise(e,r){let o=new t(r);try{return await e(o)}finally{o.saveAndClose()}}constructor(e={}){let r=e.fileExtensions,o=e.readOnlyArchives,a=typeof r>"u"?A=>U4(A,".zip"):A=>{for(let p of r){let h=U4(A,p);if(h)return h}return null},n=(A,p)=>new Zi(p,{baseFs:A,readOnly:o,stats:A.statSync(p)}),u=async(A,p)=>{let h={baseFs:A,readOnly:o,stats:await A.statPromise(p)};return()=>new Zi(p,h)};super({...e,factorySync:n,factoryPromise:u,getMountPoint:a})}}});function tot(t){if(typeof t=="string"&&String(+t)===t)return+t;if(typeof t=="number"&&Number.isFinite(t))return t<0?Date.now()/1e3:t;if(Pce.types.isDate(t))return t.getTime()/1e3;throw new Error("Invalid time")}function Ax(){return Buffer.from([80,75,5,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0])}var ta,_4,Pce,H4,Sce,fx,Zi,q4=It(()=>{Pt();Pt();Pt();Pt();Pt();Pt();ta=ve("fs"),_4=ve("stream"),Pce=ve("util"),H4=et(ve("zlib"));L4();Sce="mixed";fx=class extends Error{constructor(e,r){super(e),this.name="Libzip Error",this.code=r}},Zi=class extends qu{constructor(r,o={}){super();this.listings=new Map;this.entries=new Map;this.fileSources=new Map;this.fds=new Map;this.nextFd=0;this.ready=!1;this.readOnly=!1;let a=o;if(this.level=typeof a.level<"u"?a.level:Sce,r??=Ax(),typeof r=="string"){let{baseFs:A=new _n}=a;this.baseFs=A,this.path=r}else this.path=null,this.baseFs=null;if(o.stats)this.stats=o.stats;else if(typeof r=="string")try{this.stats=this.baseFs.statSync(r)}catch(A){if(A.code==="ENOENT"&&a.create)this.stats=wa.makeDefaultStats();else throw A}else this.stats=wa.makeDefaultStats();this.libzip=K1();let n=this.libzip.malloc(4);try{let A=0;o.readOnly&&(A|=this.libzip.ZIP_RDONLY,this.readOnly=!0),typeof r=="string"&&(r=a.create?Ax():this.baseFs.readFileSync(r));let p=this.allocateUnattachedSource(r);try{this.zip=this.libzip.openFromSource(p,A,n),this.lzSource=p}catch(h){throw this.libzip.source.free(p),h}if(this.zip===0){let h=this.libzip.struct.errorS();throw this.libzip.error.initWithCode(h,this.libzip.getValue(n,"i32")),this.makeLibzipError(h)}}finally{this.libzip.free(n)}this.listings.set(Bt.root,new Set);let u=this.libzip.getNumEntries(this.zip,0);for(let A=0;A<u;++A){let p=this.libzip.getName(this.zip,A,0);if(K.isAbsolute(p))continue;let h=K.resolve(Bt.root,p);this.registerEntry(h,A),p.endsWith("/")&&this.registerListing(h)}if(this.symlinkCount=this.libzip.ext.countSymlinks(this.zip),this.symlinkCount===-1)throw this.makeLibzipError(this.libzip.getError(this.zip));this.ready=!0}makeLibzipError(r){let o=this.libzip.struct.errorCodeZip(r),a=this.libzip.error.strerror(r),n=new fx(a,this.libzip.errors[o]);if(o===this.libzip.errors.ZIP_ER_CHANGED)throw new Error(`Assertion failed: Unexpected libzip error: ${n.message}`);return n}getExtractHint(r){for(let o of this.entries.keys()){let a=this.pathUtils.extname(o);if(r.relevantExtensions.has(a))return!0}return!1}getAllFiles(){return Array.from(this.entries.keys())}getRealPath(){if(!this.path)throw new Error("ZipFS don't have real paths when loaded from a buffer");return this.path}prepareClose(){if(!this.ready)throw sr.EBUSY("archive closed, close");j0(this)}getBufferAndClose(){if(this.prepareClose(),this.entries.size===0)return this.discardAndClose(),Ax();try{if(this.libzip.source.keep(this.lzSource),this.libzip.close(this.zip)===-1)throw this.makeLibzipError(this.libzip.getError(this.zip));if(this.libzip.source.open(this.lzSource)===-1)throw this.makeLibzipError(this.libzip.source.error(this.lzSource));if(this.libzip.source.seek(this.lzSource,0,0,this.libzip.SEEK_END)===-1)throw this.makeLibzipError(this.libzip.source.error(this.lzSource));let r=this.libzip.source.tell(this.lzSource);if(r===-1)throw this.makeLibzipError(this.libzip.source.error(this.lzSource));if(this.libzip.source.seek(this.lzSource,0,0,this.libzip.SEEK_SET)===-1)throw this.makeLibzipError(this.libzip.source.error(this.lzSource));let o=this.libzip.malloc(r);if(!o)throw new Error("Couldn't allocate enough memory");try{let a=this.libzip.source.read(this.lzSource,o,r);if(a===-1)throw this.makeLibzipError(this.libzip.source.error(this.lzSource));if(a<r)throw new Error("Incomplete read");if(a>r)throw new Error("Overread");let n=Buffer.from(this.libzip.HEAPU8.subarray(o,o+r));return process.env.YARN_IS_TEST_ENV&&process.env.YARN_ZIP_DATA_EPILOGUE&&(n=Buffer.concat([n,Buffer.from(process.env.YARN_ZIP_DATA_EPILOGUE)])),n}finally{this.libzip.free(o)}}finally{this.libzip.source.close(this.lzSource),this.libzip.source.free(this.lzSource),this.ready=!1}}discardAndClose(){this.prepareClose(),this.libzip.discard(this.zip),this.ready=!1}saveAndClose(){if(!this.path||!this.baseFs)throw new Error("ZipFS cannot be saved and must be discarded when loaded from a buffer");if(this.readOnly){this.discardAndClose();return}let r=this.baseFs.existsSync(this.path)||this.stats.mode===wa.DEFAULT_MODE?void 0:this.stats.mode;this.baseFs.writeFileSync(this.path,this.getBufferAndClose(),{mode:r}),this.ready=!1}resolve(r){return K.resolve(Bt.root,r)}async openPromise(r,o,a){return this.openSync(r,o,a)}openSync(r,o,a){let n=this.nextFd++;return this.fds.set(n,{cursor:0,p:r}),n}hasOpenFileHandles(){return!!this.fds.size}async opendirPromise(r,o){return this.opendirSync(r,o)}opendirSync(r,o={}){let a=this.resolveFilename(`opendir '${r}'`,r);if(!this.entries.has(a)&&!this.listings.has(a))throw sr.ENOENT(`opendir '${r}'`);let n=this.listings.get(a);if(!n)throw sr.ENOTDIR(`opendir '${r}'`);let u=[...n],A=this.openSync(a,"r");return eP(this,a,u,{onClose:()=>{this.closeSync(A)}})}async readPromise(r,o,a,n,u){return this.readSync(r,o,a,n,u)}readSync(r,o,a=0,n=o.byteLength,u=-1){let A=this.fds.get(r);if(typeof A>"u")throw sr.EBADF("read");let p=u===-1||u===null?A.cursor:u,h=this.readFileSync(A.p);h.copy(o,a,p,p+n);let E=Math.max(0,Math.min(h.length-p,n));return(u===-1||u===null)&&(A.cursor+=E),E}async writePromise(r,o,a,n,u){return typeof o=="string"?this.writeSync(r,o,u):this.writeSync(r,o,a,n,u)}writeSync(r,o,a,n,u){throw typeof this.fds.get(r)>"u"?sr.EBADF("read"):new Error("Unimplemented")}async closePromise(r){return this.closeSync(r)}closeSync(r){if(typeof this.fds.get(r)>"u")throw sr.EBADF("read");this.fds.delete(r)}createReadStream(r,{encoding:o}={}){if(r===null)throw new Error("Unimplemented");let a=this.openSync(r,"r"),n=Object.assign(new _4.PassThrough({emitClose:!0,autoDestroy:!0,destroy:(A,p)=>{clearImmediate(u),this.closeSync(a),p(A)}}),{close(){n.destroy()},bytesRead:0,path:r,pending:!1}),u=setImmediate(async()=>{try{let A=await this.readFilePromise(r,o);n.bytesRead=A.length,n.end(A)}catch(A){n.destroy(A)}});return n}createWriteStream(r,{encoding:o}={}){if(this.readOnly)throw sr.EROFS(`open '${r}'`);if(r===null)throw new Error("Unimplemented");let a=[],n=this.openSync(r,"w"),u=Object.assign(new _4.PassThrough({autoDestroy:!0,emitClose:!0,destroy:(A,p)=>{try{A?p(A):(this.writeFileSync(r,Buffer.concat(a),o),p(null))}catch(h){p(h)}finally{this.closeSync(n)}}}),{close(){u.destroy()},bytesWritten:0,path:r,pending:!1});return u.on("data",A=>{let p=Buffer.from(A);u.bytesWritten+=p.length,a.push(p)}),u}async realpathPromise(r){return this.realpathSync(r)}realpathSync(r){let o=this.resolveFilename(`lstat '${r}'`,r);if(!this.entries.has(o)&&!this.listings.has(o))throw sr.ENOENT(`lstat '${r}'`);return o}async existsPromise(r){return this.existsSync(r)}existsSync(r){if(!this.ready)throw sr.EBUSY(`archive closed, existsSync '${r}'`);if(this.symlinkCount===0){let a=K.resolve(Bt.root,r);return this.entries.has(a)||this.listings.has(a)}let o;try{o=this.resolveFilename(`stat '${r}'`,r,void 0,!1)}catch{return!1}return o===void 0?!1:this.entries.has(o)||this.listings.has(o)}async accessPromise(r,o){return this.accessSync(r,o)}accessSync(r,o=ta.constants.F_OK){let a=this.resolveFilename(`access '${r}'`,r);if(!this.entries.has(a)&&!this.listings.has(a))throw sr.ENOENT(`access '${r}'`);if(this.readOnly&&o&ta.constants.W_OK)throw sr.EROFS(`access '${r}'`)}async statPromise(r,o={bigint:!1}){return o.bigint?this.statSync(r,{bigint:!0}):this.statSync(r)}statSync(r,o={bigint:!1,throwIfNoEntry:!0}){let a=this.resolveFilename(`stat '${r}'`,r,void 0,o.throwIfNoEntry);if(a!==void 0){if(!this.entries.has(a)&&!this.listings.has(a)){if(o.throwIfNoEntry===!1)return;throw sr.ENOENT(`stat '${r}'`)}if(r[r.length-1]==="/"&&!this.listings.has(a))throw sr.ENOTDIR(`stat '${r}'`);return this.statImpl(`stat '${r}'`,a,o)}}async fstatPromise(r,o){return this.fstatSync(r,o)}fstatSync(r,o){let a=this.fds.get(r);if(typeof a>"u")throw sr.EBADF("fstatSync");let{p:n}=a,u=this.resolveFilename(`stat '${n}'`,n);if(!this.entries.has(u)&&!this.listings.has(u))throw sr.ENOENT(`stat '${n}'`);if(n[n.length-1]==="/"&&!this.listings.has(u))throw sr.ENOTDIR(`stat '${n}'`);return this.statImpl(`fstat '${n}'`,u,o)}async lstatPromise(r,o={bigint:!1}){return o.bigint?this.lstatSync(r,{bigint:!0}):this.lstatSync(r)}lstatSync(r,o={bigint:!1,throwIfNoEntry:!0}){let a=this.resolveFilename(`lstat '${r}'`,r,!1,o.throwIfNoEntry);if(a!==void 0){if(!this.entries.has(a)&&!this.listings.has(a)){if(o.throwIfNoEntry===!1)return;throw sr.ENOENT(`lstat '${r}'`)}if(r[r.length-1]==="/"&&!this.listings.has(a))throw sr.ENOTDIR(`lstat '${r}'`);return this.statImpl(`lstat '${r}'`,a,o)}}statImpl(r,o,a={}){let n=this.entries.get(o);if(typeof n<"u"){let u=this.libzip.struct.statS();if(this.libzip.statIndex(this.zip,n,0,0,u)===-1)throw this.makeLibzipError(this.libzip.getError(this.zip));let p=this.stats.uid,h=this.stats.gid,E=this.libzip.struct.statSize(u)>>>0,w=512,D=Math.ceil(E/w),x=(this.libzip.struct.statMtime(u)>>>0)*1e3,C=x,T=x,L=x,U=new Date(C),J=new Date(T),te=new Date(L),le=new Date(x),ce=this.listings.has(o)?ta.constants.S_IFDIR:this.isSymbolicLink(n)?ta.constants.S_IFLNK:ta.constants.S_IFREG,ue=ce===ta.constants.S_IFDIR?493:420,Ie=ce|this.getUnixMode(n,ue)&511,he=this.libzip.struct.statCrc(u),De=Object.assign(new wa.StatEntry,{uid:p,gid:h,size:E,blksize:w,blocks:D,atime:U,birthtime:J,ctime:te,mtime:le,atimeMs:C,birthtimeMs:T,ctimeMs:L,mtimeMs:x,mode:Ie,crc:he});return a.bigint===!0?wa.convertToBigIntStats(De):De}if(this.listings.has(o)){let u=this.stats.uid,A=this.stats.gid,p=0,h=512,E=0,w=this.stats.mtimeMs,D=this.stats.mtimeMs,x=this.stats.mtimeMs,C=this.stats.mtimeMs,T=new Date(w),L=new Date(D),U=new Date(x),J=new Date(C),te=ta.constants.S_IFDIR|493,ce=Object.assign(new wa.StatEntry,{uid:u,gid:A,size:p,blksize:h,blocks:E,atime:T,birthtime:L,ctime:U,mtime:J,atimeMs:w,birthtimeMs:D,ctimeMs:x,mtimeMs:C,mode:te,crc:0});return a.bigint===!0?wa.convertToBigIntStats(ce):ce}throw new Error("Unreachable")}getUnixMode(r,o){if(this.libzip.file.getExternalAttributes(this.zip,r,0,0,this.libzip.uint08S,this.libzip.uint32S)===-1)throw this.makeLibzipError(this.libzip.getError(this.zip));return this.libzip.getValue(this.libzip.uint08S,"i8")>>>0!==this.libzip.ZIP_OPSYS_UNIX?o:this.libzip.getValue(this.libzip.uint32S,"i32")>>>16}registerListing(r){let o=this.listings.get(r);if(o)return o;this.registerListing(K.dirname(r)).add(K.basename(r));let n=new Set;return this.listings.set(r,n),n}registerEntry(r,o){this.registerListing(K.dirname(r)).add(K.basename(r)),this.entries.set(r,o)}unregisterListing(r){this.listings.delete(r),this.listings.get(K.dirname(r))?.delete(K.basename(r))}unregisterEntry(r){this.unregisterListing(r);let o=this.entries.get(r);this.entries.delete(r),!(typeof o>"u")&&(this.fileSources.delete(o),this.isSymbolicLink(o)&&this.symlinkCount--)}deleteEntry(r,o){if(this.unregisterEntry(r),this.libzip.delete(this.zip,o)===-1)throw this.makeLibzipError(this.libzip.getError(this.zip))}resolveFilename(r,o,a=!0,n=!0){if(!this.ready)throw sr.EBUSY(`archive closed, ${r}`);let u=K.resolve(Bt.root,o);if(u==="/")return Bt.root;let A=this.entries.get(u);if(a&&A!==void 0)if(this.symlinkCount!==0&&this.isSymbolicLink(A)){let p=this.getFileSource(A).toString();return this.resolveFilename(r,K.resolve(K.dirname(u),p),!0,n)}else return u;for(;;){let p=this.resolveFilename(r,K.dirname(u),!0,n);if(p===void 0)return p;let h=this.listings.has(p),E=this.entries.has(p);if(!h&&!E){if(n===!1)return;throw sr.ENOENT(r)}if(!h)throw sr.ENOTDIR(r);if(u=K.resolve(p,K.basename(u)),!a||this.symlinkCount===0)break;let w=this.libzip.name.locate(this.zip,u.slice(1),0);if(w===-1)break;if(this.isSymbolicLink(w)){let D=this.getFileSource(w).toString();u=K.resolve(K.dirname(u),D)}else break}return u}allocateBuffer(r){Buffer.isBuffer(r)||(r=Buffer.from(r));let o=this.libzip.malloc(r.byteLength);if(!o)throw new Error("Couldn't allocate enough memory");return new Uint8Array(this.libzip.HEAPU8.buffer,o,r.byteLength).set(r),{buffer:o,byteLength:r.byteLength}}allocateUnattachedSource(r){let o=this.libzip.struct.errorS(),{buffer:a,byteLength:n}=this.allocateBuffer(r),u=this.libzip.source.fromUnattachedBuffer(a,n,0,1,o);if(u===0)throw this.libzip.free(o),this.makeLibzipError(o);return u}allocateSource(r){let{buffer:o,byteLength:a}=this.allocateBuffer(r),n=this.libzip.source.fromBuffer(this.zip,o,a,0,1);if(n===0)throw this.libzip.free(o),this.makeLibzipError(this.libzip.getError(this.zip));return n}setFileSource(r,o){let a=Buffer.isBuffer(o)?o:Buffer.from(o),n=K.relative(Bt.root,r),u=this.allocateSource(o);try{let A=this.libzip.file.add(this.zip,n,u,this.libzip.ZIP_FL_OVERWRITE);if(A===-1)throw this.makeLibzipError(this.libzip.getError(this.zip));if(this.level!=="mixed"){let p=this.level===0?this.libzip.ZIP_CM_STORE:this.libzip.ZIP_CM_DEFLATE;if(this.libzip.file.setCompression(this.zip,A,0,p,this.level)===-1)throw this.makeLibzipError(this.libzip.getError(this.zip))}return this.fileSources.set(A,a),A}catch(A){throw this.libzip.source.free(u),A}}isSymbolicLink(r){if(this.symlinkCount===0)return!1;if(this.libzip.file.getExternalAttributes(this.zip,r,0,0,this.libzip.uint08S,this.libzip.uint32S)===-1)throw this.makeLibzipError(this.libzip.getError(this.zip));return this.libzip.getValue(this.libzip.uint08S,"i8")>>>0!==this.libzip.ZIP_OPSYS_UNIX?!1:(this.libzip.getValue(this.libzip.uint32S,"i32")>>>16&ta.constants.S_IFMT)===ta.constants.S_IFLNK}getFileSource(r,o={asyncDecompress:!1}){let a=this.fileSources.get(r);if(typeof a<"u")return a;let n=this.libzip.struct.statS();if(this.libzip.statIndex(this.zip,r,0,0,n)===-1)throw this.makeLibzipError(this.libzip.getError(this.zip));let A=this.libzip.struct.statCompSize(n),p=this.libzip.struct.statCompMethod(n),h=this.libzip.malloc(A);try{let E=this.libzip.fopenIndex(this.zip,r,0,this.libzip.ZIP_FL_COMPRESSED);if(E===0)throw this.makeLibzipError(this.libzip.getError(this.zip));try{let w=this.libzip.fread(E,h,A,0);if(w===-1)throw this.makeLibzipError(this.libzip.file.getError(E));if(w<A)throw new Error("Incomplete read");if(w>A)throw new Error("Overread");let D=this.libzip.HEAPU8.subarray(h,h+A),x=Buffer.from(D);if(p===0)return this.fileSources.set(r,x),x;if(o.asyncDecompress)return new Promise((C,T)=>{H4.default.inflateRaw(x,(L,U)=>{L?T(L):(this.fileSources.set(r,U),C(U))})});{let C=H4.default.inflateRawSync(x);return this.fileSources.set(r,C),C}}finally{this.libzip.fclose(E)}}finally{this.libzip.free(h)}}async fchmodPromise(r,o){return this.chmodPromise(this.fdToPath(r,"fchmod"),o)}fchmodSync(r,o){return this.chmodSync(this.fdToPath(r,"fchmodSync"),o)}async chmodPromise(r,o){return this.chmodSync(r,o)}chmodSync(r,o){if(this.readOnly)throw sr.EROFS(`chmod '${r}'`);o&=493;let a=this.resolveFilename(`chmod '${r}'`,r,!1),n=this.entries.get(a);if(typeof n>"u")throw new Error(`Assertion failed: The entry should have been registered (${a})`);let A=this.getUnixMode(n,ta.constants.S_IFREG|0)&-512|o;if(this.libzip.file.setExternalAttributes(this.zip,n,0,0,this.libzip.ZIP_OPSYS_UNIX,A<<16)===-1)throw this.makeLibzipError(this.libzip.getError(this.zip))}async fchownPromise(r,o,a){return this.chownPromise(this.fdToPath(r,"fchown"),o,a)}fchownSync(r,o,a){return this.chownSync(this.fdToPath(r,"fchownSync"),o,a)}async chownPromise(r,o,a){return this.chownSync(r,o,a)}chownSync(r,o,a){throw new Error("Unimplemented")}async renamePromise(r,o){return this.renameSync(r,o)}renameSync(r,o){throw new Error("Unimplemented")}async copyFilePromise(r,o,a){let{indexSource:n,indexDest:u,resolvedDestP:A}=this.prepareCopyFile(r,o,a),p=await this.getFileSource(n,{asyncDecompress:!0}),h=this.setFileSource(A,p);h!==u&&this.registerEntry(A,h)}copyFileSync(r,o,a=0){let{indexSource:n,indexDest:u,resolvedDestP:A}=this.prepareCopyFile(r,o,a),p=this.getFileSource(n),h=this.setFileSource(A,p);h!==u&&this.registerEntry(A,h)}prepareCopyFile(r,o,a=0){if(this.readOnly)throw sr.EROFS(`copyfile '${r} -> '${o}'`);if(a&ta.constants.COPYFILE_FICLONE_FORCE)throw sr.ENOSYS("unsupported clone operation",`copyfile '${r}' -> ${o}'`);let n=this.resolveFilename(`copyfile '${r} -> ${o}'`,r),u=this.entries.get(n);if(typeof u>"u")throw sr.EINVAL(`copyfile '${r}' -> '${o}'`);let A=this.resolveFilename(`copyfile '${r}' -> ${o}'`,o),p=this.entries.get(A);if(a&(ta.constants.COPYFILE_EXCL|ta.constants.COPYFILE_FICLONE_FORCE)&&typeof p<"u")throw sr.EEXIST(`copyfile '${r}' -> '${o}'`);return{indexSource:u,resolvedDestP:A,indexDest:p}}async appendFilePromise(r,o,a){if(this.readOnly)throw sr.EROFS(`open '${r}'`);return typeof a>"u"?a={flag:"a"}:typeof a=="string"?a={flag:"a",encoding:a}:typeof a.flag>"u"&&(a={flag:"a",...a}),this.writeFilePromise(r,o,a)}appendFileSync(r,o,a={}){if(this.readOnly)throw sr.EROFS(`open '${r}'`);return typeof a>"u"?a={flag:"a"}:typeof a=="string"?a={flag:"a",encoding:a}:typeof a.flag>"u"&&(a={flag:"a",...a}),this.writeFileSync(r,o,a)}fdToPath(r,o){let a=this.fds.get(r)?.p;if(typeof a>"u")throw sr.EBADF(o);return a}async writeFilePromise(r,o,a){let{encoding:n,mode:u,index:A,resolvedP:p}=this.prepareWriteFile(r,a);A!==void 0&&typeof a=="object"&&a.flag&&a.flag.includes("a")&&(o=Buffer.concat([await this.getFileSource(A,{asyncDecompress:!0}),Buffer.from(o)])),n!==null&&(o=o.toString(n));let h=this.setFileSource(p,o);h!==A&&this.registerEntry(p,h),u!==null&&await this.chmodPromise(p,u)}writeFileSync(r,o,a){let{encoding:n,mode:u,index:A,resolvedP:p}=this.prepareWriteFile(r,a);A!==void 0&&typeof a=="object"&&a.flag&&a.flag.includes("a")&&(o=Buffer.concat([this.getFileSource(A),Buffer.from(o)])),n!==null&&(o=o.toString(n));let h=this.setFileSource(p,o);h!==A&&this.registerEntry(p,h),u!==null&&this.chmodSync(p,u)}prepareWriteFile(r,o){if(typeof r=="number"&&(r=this.fdToPath(r,"read")),this.readOnly)throw sr.EROFS(`open '${r}'`);let a=this.resolveFilename(`open '${r}'`,r);if(this.listings.has(a))throw sr.EISDIR(`open '${r}'`);let n=null,u=null;typeof o=="string"?n=o:typeof o=="object"&&({encoding:n=null,mode:u=null}=o);let A=this.entries.get(a);return{encoding:n,mode:u,resolvedP:a,index:A}}async unlinkPromise(r){return this.unlinkSync(r)}unlinkSync(r){if(this.readOnly)throw sr.EROFS(`unlink '${r}'`);let o=this.resolveFilename(`unlink '${r}'`,r);if(this.listings.has(o))throw sr.EISDIR(`unlink '${r}'`);let a=this.entries.get(o);if(typeof a>"u")throw sr.EINVAL(`unlink '${r}'`);this.deleteEntry(o,a)}async utimesPromise(r,o,a){return this.utimesSync(r,o,a)}utimesSync(r,o,a){if(this.readOnly)throw sr.EROFS(`utimes '${r}'`);let n=this.resolveFilename(`utimes '${r}'`,r);this.utimesImpl(n,a)}async lutimesPromise(r,o,a){return this.lutimesSync(r,o,a)}lutimesSync(r,o,a){if(this.readOnly)throw sr.EROFS(`lutimes '${r}'`);let n=this.resolveFilename(`utimes '${r}'`,r,!1);this.utimesImpl(n,a)}utimesImpl(r,o){this.listings.has(r)&&(this.entries.has(r)||this.hydrateDirectory(r));let a=this.entries.get(r);if(a===void 0)throw new Error("Unreachable");if(this.libzip.file.setMtime(this.zip,a,0,tot(o),0)===-1)throw this.makeLibzipError(this.libzip.getError(this.zip))}async mkdirPromise(r,o){return this.mkdirSync(r,o)}mkdirSync(r,{mode:o=493,recursive:a=!1}={}){if(a)return this.mkdirpSync(r,{chmod:o});if(this.readOnly)throw sr.EROFS(`mkdir '${r}'`);let n=this.resolveFilename(`mkdir '${r}'`,r);if(this.entries.has(n)||this.listings.has(n))throw sr.EEXIST(`mkdir '${r}'`);this.hydrateDirectory(n),this.chmodSync(n,o)}async rmdirPromise(r,o){return this.rmdirSync(r,o)}rmdirSync(r,{recursive:o=!1}={}){if(this.readOnly)throw sr.EROFS(`rmdir '${r}'`);if(o){this.removeSync(r);return}let a=this.resolveFilename(`rmdir '${r}'`,r),n=this.listings.get(a);if(!n)throw sr.ENOTDIR(`rmdir '${r}'`);if(n.size>0)throw sr.ENOTEMPTY(`rmdir '${r}'`);let u=this.entries.get(a);if(typeof u>"u")throw sr.EINVAL(`rmdir '${r}'`);this.deleteEntry(r,u)}async rmPromise(r,o){return this.rmSync(r,o)}rmSync(r,{recursive:o=!1}={}){if(this.readOnly)throw sr.EROFS(`rm '${r}'`);if(o){this.removeSync(r);return}let a=this.resolveFilename(`rm '${r}'`,r),n=this.listings.get(a);if(!n)throw sr.ENOTDIR(`rm '${r}'`);if(n.size>0)throw sr.ENOTEMPTY(`rm '${r}'`);let u=this.entries.get(a);if(typeof u>"u")throw sr.EINVAL(`rm '${r}'`);this.deleteEntry(r,u)}hydrateDirectory(r){let o=this.libzip.dir.add(this.zip,K.relative(Bt.root,r));if(o===-1)throw this.makeLibzipError(this.libzip.getError(this.zip));return this.registerListing(r),this.registerEntry(r,o),o}async linkPromise(r,o){return this.linkSync(r,o)}linkSync(r,o){throw sr.EOPNOTSUPP(`link '${r}' -> '${o}'`)}async symlinkPromise(r,o){return this.symlinkSync(r,o)}symlinkSync(r,o){if(this.readOnly)throw sr.EROFS(`symlink '${r}' -> '${o}'`);let a=this.resolveFilename(`symlink '${r}' -> '${o}'`,o);if(this.listings.has(a))throw sr.EISDIR(`symlink '${r}' -> '${o}'`);if(this.entries.has(a))throw sr.EEXIST(`symlink '${r}' -> '${o}'`);let n=this.setFileSource(a,r);if(this.registerEntry(a,n),this.libzip.file.setExternalAttributes(this.zip,n,0,0,this.libzip.ZIP_OPSYS_UNIX,(ta.constants.S_IFLNK|511)<<16)===-1)throw this.makeLibzipError(this.libzip.getError(this.zip));this.symlinkCount+=1}async readFilePromise(r,o){typeof o=="object"&&(o=o?o.encoding:void 0);let a=await this.readFileBuffer(r,{asyncDecompress:!0});return o?a.toString(o):a}readFileSync(r,o){typeof o=="object"&&(o=o?o.encoding:void 0);let a=this.readFileBuffer(r);return o?a.toString(o):a}readFileBuffer(r,o={asyncDecompress:!1}){typeof r=="number"&&(r=this.fdToPath(r,"read"));let a=this.resolveFilename(`open '${r}'`,r);if(!this.entries.has(a)&&!this.listings.has(a))throw sr.ENOENT(`open '${r}'`);if(r[r.length-1]==="/"&&!this.listings.has(a))throw sr.ENOTDIR(`open '${r}'`);if(this.listings.has(a))throw sr.EISDIR("read");let n=this.entries.get(a);if(n===void 0)throw new Error("Unreachable");return this.getFileSource(n,o)}async readdirPromise(r,o){return this.readdirSync(r,o)}readdirSync(r,o){let a=this.resolveFilename(`scandir '${r}'`,r);if(!this.entries.has(a)&&!this.listings.has(a))throw sr.ENOENT(`scandir '${r}'`);let n=this.listings.get(a);if(!n)throw sr.ENOTDIR(`scandir '${r}'`);if(o?.recursive)if(o?.withFileTypes){let u=Array.from(n,A=>Object.assign(this.statImpl("lstat",K.join(r,A)),{name:A,path:Bt.dot}));for(let A of u){if(!A.isDirectory())continue;let p=K.join(A.path,A.name),h=this.listings.get(K.join(a,p));for(let E of h)u.push(Object.assign(this.statImpl("lstat",K.join(r,p,E)),{name:E,path:p}))}return u}else{let u=[...n];for(let A of u){let p=this.listings.get(K.join(a,A));if(!(typeof p>"u"))for(let h of p)u.push(K.join(A,h))}return u}else return o?.withFileTypes?Array.from(n,u=>Object.assign(this.statImpl("lstat",K.join(r,u)),{name:u,path:void 0})):[...n]}async readlinkPromise(r){let o=this.prepareReadlink(r);return(await this.getFileSource(o,{asyncDecompress:!0})).toString()}readlinkSync(r){let o=this.prepareReadlink(r);return this.getFileSource(o).toString()}prepareReadlink(r){let o=this.resolveFilename(`readlink '${r}'`,r,!1);if(!this.entries.has(o)&&!this.listings.has(o))throw sr.ENOENT(`readlink '${r}'`);if(r[r.length-1]==="/"&&!this.listings.has(o))throw sr.ENOTDIR(`open '${r}'`);if(this.listings.has(o))throw sr.EINVAL(`readlink '${r}'`);let a=this.entries.get(o);if(a===void 0)throw new Error("Unreachable");if(!this.isSymbolicLink(a))throw sr.EINVAL(`readlink '${r}'`);return a}async truncatePromise(r,o=0){let a=this.resolveFilename(`open '${r}'`,r),n=this.entries.get(a);if(typeof n>"u")throw sr.EINVAL(`open '${r}'`);let u=await this.getFileSource(n,{asyncDecompress:!0}),A=Buffer.alloc(o,0);return u.copy(A),await this.writeFilePromise(r,A)}truncateSync(r,o=0){let a=this.resolveFilename(`open '${r}'`,r),n=this.entries.get(a);if(typeof n>"u")throw sr.EINVAL(`open '${r}'`);let u=this.getFileSource(n),A=Buffer.alloc(o,0);return u.copy(A),this.writeFileSync(r,A)}async ftruncatePromise(r,o){return this.truncatePromise(this.fdToPath(r,"ftruncate"),o)}ftruncateSync(r,o){return this.truncateSync(this.fdToPath(r,"ftruncateSync"),o)}watch(r,o,a){let n;switch(typeof o){case"function":case"string":case"undefined":n=!0;break;default:({persistent:n=!0}=o);break}if(!n)return{on:()=>{},close:()=>{}};let u=setInterval(()=>{},24*60*60*1e3);return{on:()=>{},close:()=>{clearInterval(u)}}}watchFile(r,o,a){let n=K.resolve(Bt.root,r);return um(this,n,o,a)}unwatchFile(r,o){let a=K.resolve(Bt.root,r);return q0(this,a,o)}}});function xce(t,e,r=Buffer.alloc(0),o){let a=new Zi(r),n=w=>w===e||w.startsWith(`${e}/`)?w.slice(0,e.length):null,u=async(w,D)=>()=>a,A=(w,D)=>a,p={...t},h=new _n(p),E=new Gp({baseFs:h,getMountPoint:n,factoryPromise:u,factorySync:A,magicByte:21,maxAge:1/0,typeCheck:o?.typeCheck});return uw(bce.default,new Wp(E)),a}var bce,kce=It(()=>{Pt();bce=et(ve("fs"));q4()});var Qce=It(()=>{Dce();q4();kce()});var V1={};Kt(V1,{DEFAULT_COMPRESSION_LEVEL:()=>Sce,LibzipError:()=>fx,ZipFS:()=>Zi,ZipOpenFS:()=>iA,getArchivePart:()=>U4,getLibzipPromise:()=>not,getLibzipSync:()=>rot,makeEmptyArchive:()=>Ax,mountMemoryDrive:()=>xce});function rot(){return K1()}async function not(){return K1()}var Fce,sA=It(()=>{L4();Fce=et(Ice());vce();Qce();Cce(()=>{let t=(0,Fce.default)();return Bce(t)})});var J1,Rce=It(()=>{Pt();Gt();z1();J1=class extends ot{constructor(){super(...arguments);this.cwd=de.String("--cwd",process.cwd(),{description:"The directory to run the command in"});this.commandName=de.String();this.args=de.Proxy()}static{this.usage={description:"run a command using yarn's portable shell",details:` + This command will run a command using Yarn's portable shell. + + Make sure to escape glob patterns, redirections, and other features that might be expanded by your own shell. + + Note: To escape something from Yarn's shell, you might have to escape it twice, the first time from your own shell. + + Note: Don't use this command in Yarn scripts, as Yarn's shell is automatically used. + + For a list of features, visit: https://github.com/yarnpkg/berry/blob/master/packages/yarnpkg-shell/README.md. + `,examples:[["Run a simple command","$0 echo Hello"],["Run a command with a glob pattern","$0 echo '*.js'"],["Run a command with a redirection","$0 echo Hello World '>' hello.txt"],["Run a command with an escaped glob pattern (The double escape is needed in Unix shells)",`$0 echo '"*.js"'`],["Run a command with a variable (Double quotes are needed in Unix shells, to prevent them from expanding the variable)",'$0 "GREETING=Hello echo $GREETING World"']]}}async execute(){let r=this.args.length>0?`${this.commandName} ${this.args.join(" ")}`:this.commandName;return await ky(r,[],{cwd:Ae.toPortablePath(this.cwd),stdin:this.context.stdin,stdout:this.context.stdout,stderr:this.context.stderr})}}});var fl,Tce=It(()=>{fl=class extends Error{constructor(e){super(e),this.name="ShellError"}}});var gx={};Kt(gx,{fastGlobOptions:()=>Oce,isBraceExpansion:()=>j4,isGlobPattern:()=>iot,match:()=>sot,micromatchOptions:()=>hx});function iot(t){if(!px.default.scan(t,hx).isGlob)return!1;try{px.default.parse(t,hx)}catch{return!1}return!0}function sot(t,{cwd:e,baseFs:r}){return(0,Nce.default)(t,{...Oce,cwd:Ae.fromPortablePath(e),fs:aP(Lce.default,new Wp(r))})}function j4(t){return px.default.scan(t,hx).isBrace}var Nce,Lce,px,hx,Oce,Mce=It(()=>{Pt();Nce=et(Ab()),Lce=et(ve("fs")),px=et(Xo()),hx={strictBrackets:!0},Oce={onlyDirectories:!1,onlyFiles:!1}});function G4(){}function W4(){for(let t of Fg)t.kill()}function qce(t,e,r,o){return a=>{let n=a[0]instanceof oA.Transform?"pipe":a[0],u=a[1]instanceof oA.Transform?"pipe":a[1],A=a[2]instanceof oA.Transform?"pipe":a[2],p=(0,_ce.default)(t,e,{...o,stdio:[n,u,A]});return Fg.add(p),Fg.size===1&&(process.on("SIGINT",G4),process.on("SIGTERM",W4)),a[0]instanceof oA.Transform&&a[0].pipe(p.stdin),a[1]instanceof oA.Transform&&p.stdout.pipe(a[1],{end:!1}),a[2]instanceof oA.Transform&&p.stderr.pipe(a[2],{end:!1}),{stdin:p.stdin,promise:new Promise(h=>{p.on("error",E=>{switch(Fg.delete(p),Fg.size===0&&(process.off("SIGINT",G4),process.off("SIGTERM",W4)),E.code){case"ENOENT":a[2].write(`command not found: ${t} +`),h(127);break;case"EACCES":a[2].write(`permission denied: ${t} +`),h(128);break;default:a[2].write(`uncaught error: ${E.message} +`),h(1);break}}),p.on("close",E=>{Fg.delete(p),Fg.size===0&&(process.off("SIGINT",G4),process.off("SIGTERM",W4)),h(E!==null?E:129)})})}}}function jce(t){return e=>{let r=e[0]==="pipe"?new oA.PassThrough:e[0];return{stdin:r,promise:Promise.resolve().then(()=>t({stdin:r,stdout:e[1],stderr:e[2]}))}}}function dx(t,e){return K4.start(t,e)}function Uce(t,e=null){let r=new oA.PassThrough,o=new Hce.StringDecoder,a="";return r.on("data",n=>{let u=o.write(n),A;do if(A=u.indexOf(` +`),A!==-1){let p=a+u.substring(0,A);u=u.substring(A+1),a="",t(e!==null?`${e} ${p}`:p)}while(A!==-1);a+=u}),r.on("end",()=>{let n=o.end();n!==""&&t(e!==null?`${e} ${n}`:n)}),r}function Gce(t,{prefix:e}){return{stdout:Uce(r=>t.stdout.write(`${r} +`),t.stdout.isTTY?e:null),stderr:Uce(r=>t.stderr.write(`${r} +`),t.stderr.isTTY?e:null)}}var _ce,oA,Hce,Fg,Zl,Y4,K4,V4=It(()=>{_ce=et(MT()),oA=ve("stream"),Hce=ve("string_decoder"),Fg=new Set;Zl=class{constructor(e){this.stream=e}close(){}get(){return this.stream}},Y4=class{constructor(){this.stream=null}close(){if(this.stream===null)throw new Error("Assertion failed: No stream attached");this.stream.end()}attach(e){this.stream=e}get(){if(this.stream===null)throw new Error("Assertion failed: No stream attached");return this.stream}},K4=class t{constructor(e,r){this.stdin=null;this.stdout=null;this.stderr=null;this.pipe=null;this.ancestor=e,this.implementation=r}static start(e,{stdin:r,stdout:o,stderr:a}){let n=new t(null,e);return n.stdin=r,n.stdout=o,n.stderr=a,n}pipeTo(e,r=1){let o=new t(this,e),a=new Y4;return o.pipe=a,o.stdout=this.stdout,o.stderr=this.stderr,(r&1)===1?this.stdout=a:this.ancestor!==null&&(this.stderr=this.ancestor.stdout),(r&2)===2?this.stderr=a:this.ancestor!==null&&(this.stderr=this.ancestor.stderr),o}async exec(){let e=["ignore","ignore","ignore"];if(this.pipe)e[0]="pipe";else{if(this.stdin===null)throw new Error("Assertion failed: No input stream registered");e[0]=this.stdin.get()}let r;if(this.stdout===null)throw new Error("Assertion failed: No output stream registered");r=this.stdout,e[1]=r.get();let o;if(this.stderr===null)throw new Error("Assertion failed: No error stream registered");o=this.stderr,e[2]=o.get();let a=this.implementation(e);return this.pipe&&this.pipe.attach(a.stdin),await a.promise.then(n=>(r.close(),o.close(),n))}async run(){let e=[];for(let o=this;o;o=o.ancestor)e.push(o.exec());return(await Promise.all(e))[0]}}});var e2={};Kt(e2,{EntryCommand:()=>J1,ShellError:()=>fl,execute:()=>ky,globUtils:()=>gx});function Wce(t,e,r){let o=new pl.PassThrough({autoDestroy:!0});switch(t){case 0:(e&1)===1&&r.stdin.pipe(o,{end:!1}),(e&2)===2&&r.stdin instanceof pl.Writable&&o.pipe(r.stdin,{end:!1});break;case 1:(e&1)===1&&r.stdout.pipe(o,{end:!1}),(e&2)===2&&o.pipe(r.stdout,{end:!1});break;case 2:(e&1)===1&&r.stderr.pipe(o,{end:!1}),(e&2)===2&&o.pipe(r.stderr,{end:!1});break;default:throw new fl(`Bad file descriptor: "${t}"`)}return o}function yx(t,e={}){let r={...t,...e};return r.environment={...t.environment,...e.environment},r.variables={...t.variables,...e.variables},r}async function aot(t,e,r){let o=[],a=new pl.PassThrough;return a.on("data",n=>o.push(n)),await Ex(t,e,yx(r,{stdout:a})),Buffer.concat(o).toString().replace(/[\r\n]+$/,"")}async function Yce(t,e,r){let o=t.map(async n=>{let u=await Rg(n.args,e,r);return{name:n.name,value:u.join(" ")}});return(await Promise.all(o)).reduce((n,u)=>(n[u.name]=u.value,n),{})}function mx(t){return t.match(/[^ \r\n\t]+/g)||[]}async function Zce(t,e,r,o,a=o){switch(t.name){case"$":o(String(process.pid));break;case"#":o(String(e.args.length));break;case"@":if(t.quoted)for(let n of e.args)a(n);else for(let n of e.args){let u=mx(n);for(let A=0;A<u.length-1;++A)a(u[A]);o(u[u.length-1])}break;case"*":{let n=e.args.join(" ");if(t.quoted)o(n);else for(let u of mx(n))a(u)}break;case"PPID":o(String(process.ppid));break;case"RANDOM":o(String(Math.floor(Math.random()*32768)));break;default:{let n=parseInt(t.name,10),u,A=Number.isFinite(n);if(A?n>=0&&n<e.args.length&&(u=e.args[n]):Object.hasOwn(r.variables,t.name)?u=r.variables[t.name]:Object.hasOwn(r.environment,t.name)&&(u=r.environment[t.name]),typeof u<"u"&&t.alternativeValue?u=(await Rg(t.alternativeValue,e,r)).join(" "):typeof u>"u"&&(t.defaultValue?u=(await Rg(t.defaultValue,e,r)).join(" "):t.alternativeValue&&(u="")),typeof u>"u")throw A?new fl(`Unbound argument #${n}`):new fl(`Unbound variable "${t.name}"`);if(t.quoted)o(u);else{let p=mx(u);for(let E=0;E<p.length-1;++E)a(p[E]);let h=p[p.length-1];typeof h<"u"&&o(h)}}break}}async function X1(t,e,r){if(t.type==="number"){if(Number.isInteger(t.value))return t.value;throw new Error(`Invalid number: "${t.value}", only integers are allowed`)}else if(t.type==="variable"){let o=[];await Zce({...t,quoted:!0},e,r,n=>o.push(n));let a=Number(o.join(" "));return Number.isNaN(a)?X1({type:"variable",name:o.join(" ")},e,r):X1({type:"number",value:a},e,r)}else return lot[t.type](await X1(t.left,e,r),await X1(t.right,e,r))}async function Rg(t,e,r){let o=new Map,a=[],n=[],u=E=>{n.push(E)},A=()=>{n.length>0&&a.push(n.join("")),n=[]},p=E=>{u(E),A()},h=(E,w,D)=>{let x=JSON.stringify({type:E,fd:w}),C=o.get(x);typeof C>"u"&&o.set(x,C=[]),C.push(D)};for(let E of t){let w=!1;switch(E.type){case"redirection":{let D=await Rg(E.args,e,r);for(let x of D)h(E.subtype,E.fd,x)}break;case"argument":for(let D of E.segments)switch(D.type){case"text":u(D.text);break;case"glob":u(D.pattern),w=!0;break;case"shell":{let x=await aot(D.shell,e,r);if(D.quoted)u(x);else{let C=mx(x);for(let T=0;T<C.length-1;++T)p(C[T]);u(C[C.length-1])}}break;case"variable":await Zce(D,e,r,u,p);break;case"arithmetic":u(String(await X1(D.arithmetic,e,r)));break}break}if(A(),w){let D=a.pop();if(typeof D>"u")throw new Error("Assertion failed: Expected a glob pattern to have been set");let x=await e.glob.match(D,{cwd:r.cwd,baseFs:e.baseFs});if(x.length===0){let C=j4(D)?". Note: Brace expansion of arbitrary strings isn't currently supported. For more details, please read this issue: https://github.com/yarnpkg/berry/issues/22":"";throw new fl(`No matches found: "${D}"${C}`)}for(let C of x.sort())p(C)}}if(o.size>0){let E=[];for(let[w,D]of o.entries())E.splice(E.length,0,w,String(D.length),...D);a.splice(0,0,"__ysh_set_redirects",...E,"--")}return a}function Z1(t,e,r){e.builtins.has(t[0])||(t=["command",...t]);let o=Ae.fromPortablePath(r.cwd),a=r.environment;typeof a.PWD<"u"&&(a={...a,PWD:o});let[n,...u]=t;if(n==="command")return qce(u[0],u.slice(1),e,{cwd:o,env:a});let A=e.builtins.get(n);if(typeof A>"u")throw new Error(`Assertion failed: A builtin should exist for "${n}"`);return jce(async({stdin:p,stdout:h,stderr:E})=>{let{stdin:w,stdout:D,stderr:x}=r;r.stdin=p,r.stdout=h,r.stderr=E;try{return await A(u,e,r)}finally{r.stdin=w,r.stdout=D,r.stderr=x}})}function cot(t,e,r){return o=>{let a=new pl.PassThrough,n=Ex(t,e,yx(r,{stdin:a}));return{stdin:a,promise:n}}}function uot(t,e,r){return o=>{let a=new pl.PassThrough,n=Ex(t,e,r);return{stdin:a,promise:n}}}function Kce(t,e,r,o){if(e.length===0)return t;{let a;do a=String(Math.random());while(Object.hasOwn(o.procedures,a));return o.procedures={...o.procedures},o.procedures[a]=t,Z1([...e,"__ysh_run_procedure",a],r,o)}}async function Vce(t,e,r){let o=t,a=null,n=null;for(;o;){let u=o.then?{...r}:r,A;switch(o.type){case"command":{let p=await Rg(o.args,e,r),h=await Yce(o.envs,e,r);A=o.envs.length?Z1(p,e,yx(u,{environment:h})):Z1(p,e,u)}break;case"subshell":{let p=await Rg(o.args,e,r),h=cot(o.subshell,e,u);A=Kce(h,p,e,u)}break;case"group":{let p=await Rg(o.args,e,r),h=uot(o.group,e,u);A=Kce(h,p,e,u)}break;case"envs":{let p=await Yce(o.envs,e,r);u.environment={...u.environment,...p},A=Z1(["true"],e,u)}break}if(typeof A>"u")throw new Error("Assertion failed: An action should have been generated");if(a===null)n=dx(A,{stdin:new Zl(u.stdin),stdout:new Zl(u.stdout),stderr:new Zl(u.stderr)});else{if(n===null)throw new Error("Assertion failed: The execution pipeline should have been setup");switch(a){case"|":n=n.pipeTo(A,1);break;case"|&":n=n.pipeTo(A,3);break}}o.then?(a=o.then.type,o=o.then.chain):o=null}if(n===null)throw new Error("Assertion failed: The execution pipeline should have been setup");return await n.run()}async function Aot(t,e,r,{background:o=!1}={}){function a(n){let u=["#2E86AB","#A23B72","#F18F01","#C73E1D","#CCE2A3"],A=u[n%u.length];return Jce.default.hex(A)}if(o){let n=r.nextBackgroundJobIndex++,u=a(n),A=`[${n}]`,p=u(A),{stdout:h,stderr:E}=Gce(r,{prefix:p});return r.backgroundJobs.push(Vce(t,e,yx(r,{stdout:h,stderr:E})).catch(w=>E.write(`${w.message} +`)).finally(()=>{r.stdout.isTTY&&r.stdout.write(`Job ${p}, '${u(mm(t))}' has ended +`)})),0}return await Vce(t,e,r)}async function fot(t,e,r,{background:o=!1}={}){let a,n=A=>{a=A,r.variables["?"]=String(A)},u=async A=>{try{return await Aot(A.chain,e,r,{background:o&&typeof A.then>"u"})}catch(p){if(!(p instanceof fl))throw p;return r.stderr.write(`${p.message} +`),1}};for(n(await u(t));t.then;){if(r.exitCode!==null)return r.exitCode;switch(t.then.type){case"&&":a===0&&n(await u(t.then.line));break;case"||":a!==0&&n(await u(t.then.line));break;default:throw new Error(`Assertion failed: Unsupported command type: "${t.then.type}"`)}t=t.then.line}return a}async function Ex(t,e,r){let o=r.backgroundJobs;r.backgroundJobs=[];let a=0;for(let{command:n,type:u}of t){if(a=await fot(n,e,r,{background:u==="&"}),r.exitCode!==null)return r.exitCode;r.variables["?"]=String(a)}return await Promise.all(r.backgroundJobs),r.backgroundJobs=o,a}function $ce(t){switch(t.type){case"variable":return t.name==="@"||t.name==="#"||t.name==="*"||Number.isFinite(parseInt(t.name,10))||"defaultValue"in t&&!!t.defaultValue&&t.defaultValue.some(e=>$1(e))||"alternativeValue"in t&&!!t.alternativeValue&&t.alternativeValue.some(e=>$1(e));case"arithmetic":return J4(t.arithmetic);case"shell":return z4(t.shell);default:return!1}}function $1(t){switch(t.type){case"redirection":return t.args.some(e=>$1(e));case"argument":return t.segments.some(e=>$ce(e));default:throw new Error(`Assertion failed: Unsupported argument type: "${t.type}"`)}}function J4(t){switch(t.type){case"variable":return $ce(t);case"number":return!1;default:return J4(t.left)||J4(t.right)}}function z4(t){return t.some(({command:e})=>{for(;e;){let r=e.chain;for(;r;){let o;switch(r.type){case"subshell":o=z4(r.subshell);break;case"command":o=r.envs.some(a=>a.args.some(n=>$1(n)))||r.args.some(a=>$1(a));break}if(o)return!0;if(!r.then)break;r=r.then.chain}if(!e.then)break;e=e.then.line}return!1})}async function ky(t,e=[],{baseFs:r=new _n,builtins:o={},cwd:a=Ae.toPortablePath(process.cwd()),env:n=process.env,stdin:u=process.stdin,stdout:A=process.stdout,stderr:p=process.stderr,variables:h={},glob:E=gx}={}){let w={};for(let[C,T]of Object.entries(n))typeof T<"u"&&(w[C]=T);let D=new Map(oot);for(let[C,T]of Object.entries(o))D.set(C,T);u===null&&(u=new pl.PassThrough,u.end());let x=uP(t,E);if(!z4(x)&&x.length>0&&e.length>0){let{command:C}=x[x.length-1];for(;C.then;)C=C.then.line;let T=C.chain;for(;T.then;)T=T.then.chain;T.type==="command"&&(T.args=T.args.concat(e.map(L=>({type:"argument",segments:[{type:"text",text:L}]}))))}return await Ex(x,{args:e,baseFs:r,builtins:D,initialStdin:u,initialStdout:A,initialStderr:p,glob:E},{cwd:a,environment:w,exitCode:null,procedures:{},stdin:u,stdout:A,stderr:p,variables:Object.assign({},h,{"?":0}),nextBackgroundJobIndex:1,backgroundJobs:[]})}var Jce,zce,pl,Xce,oot,lot,z1=It(()=>{Pt();Ol();Jce=et(iL()),zce=ve("os"),pl=ve("stream"),Xce=ve("timers/promises");Rce();Tce();Mce();V4();V4();oot=new Map([["cd",async([t=(0,zce.homedir)(),...e],r,o)=>{let a=K.resolve(o.cwd,Ae.toPortablePath(t));if(!(await r.baseFs.statPromise(a).catch(u=>{throw u.code==="ENOENT"?new fl(`cd: no such file or directory: ${t}`):u})).isDirectory())throw new fl(`cd: not a directory: ${t}`);return o.cwd=a,0}],["pwd",async(t,e,r)=>(r.stdout.write(`${Ae.fromPortablePath(r.cwd)} +`),0)],[":",async(t,e,r)=>0],["true",async(t,e,r)=>0],["false",async(t,e,r)=>1],["exit",async([t,...e],r,o)=>o.exitCode=parseInt(t??o.variables["?"],10)],["echo",async(t,e,r)=>(r.stdout.write(`${t.join(" ")} +`),0)],["sleep",async([t],e,r)=>{if(typeof t>"u")throw new fl("sleep: missing operand");let o=Number(t);if(Number.isNaN(o))throw new fl(`sleep: invalid time interval '${t}'`);return await(0,Xce.setTimeout)(1e3*o,0)}],["unset",async(t,e,r)=>{for(let o of t)delete r.environment[o],delete r.variables[o];return 0}],["__ysh_run_procedure",async(t,e,r)=>{let o=r.procedures[t[0]];return await dx(o,{stdin:new Zl(r.stdin),stdout:new Zl(r.stdout),stderr:new Zl(r.stderr)}).run()}],["__ysh_set_redirects",async(t,e,r)=>{let o=r.stdin,a=r.stdout,n=r.stderr,u=[],A=[],p=[],h=0;for(;t[h]!=="--";){let w=t[h++],{type:D,fd:x}=JSON.parse(w),C=J=>{switch(x){case null:case 0:u.push(J);break;default:throw new Error(`Unsupported file descriptor: "${x}"`)}},T=J=>{switch(x){case null:case 1:A.push(J);break;case 2:p.push(J);break;default:throw new Error(`Unsupported file descriptor: "${x}"`)}},L=Number(t[h++]),U=h+L;for(let J=h;J<U;++h,++J)switch(D){case"<":C(()=>e.baseFs.createReadStream(K.resolve(r.cwd,Ae.toPortablePath(t[J]))));break;case"<<<":C(()=>{let te=new pl.PassThrough;return process.nextTick(()=>{te.write(`${t[J]} +`),te.end()}),te});break;case"<&":C(()=>Wce(Number(t[J]),1,r));break;case">":case">>":{let te=K.resolve(r.cwd,Ae.toPortablePath(t[J]));T(te==="/dev/null"?new pl.Writable({autoDestroy:!0,emitClose:!0,write(le,ce,ue){setImmediate(ue)}}):e.baseFs.createWriteStream(te,D===">>"?{flags:"a"}:void 0))}break;case">&":T(Wce(Number(t[J]),2,r));break;default:throw new Error(`Assertion failed: Unsupported redirection type: "${D}"`)}}if(u.length>0){let w=new pl.PassThrough;o=w;let D=x=>{if(x===u.length)w.end();else{let C=u[x]();C.pipe(w,{end:!1}),C.on("end",()=>{D(x+1)})}};D(0)}if(A.length>0){let w=new pl.PassThrough;a=w;for(let D of A)w.pipe(D)}if(p.length>0){let w=new pl.PassThrough;n=w;for(let D of p)w.pipe(D)}let E=await dx(Z1(t.slice(h+1),e,r),{stdin:new Zl(o),stdout:new Zl(a),stderr:new Zl(n)}).run();return await Promise.all(A.map(w=>new Promise((D,x)=>{w.on("error",C=>{x(C)}),w.on("close",()=>{D()}),w.end()}))),await Promise.all(p.map(w=>new Promise((D,x)=>{w.on("error",C=>{x(C)}),w.on("close",()=>{D()}),w.end()}))),E}]]);lot={addition:(t,e)=>t+e,subtraction:(t,e)=>t-e,multiplication:(t,e)=>t*e,division:(t,e)=>Math.trunc(t/e)}});var Cx=_((MMt,eue)=>{function pot(t,e){for(var r=-1,o=t==null?0:t.length,a=Array(o);++r<o;)a[r]=e(t[r],r,t);return a}eue.exports=pot});var oue=_((UMt,sue)=>{var tue=dg(),hot=Cx(),got=jl(),dot=fy(),mot=1/0,rue=tue?tue.prototype:void 0,nue=rue?rue.toString:void 0;function iue(t){if(typeof t=="string")return t;if(got(t))return hot(t,iue)+"";if(dot(t))return nue?nue.call(t):"";var e=t+"";return e=="0"&&1/t==-mot?"-0":e}sue.exports=iue});var t2=_((_Mt,aue)=>{var yot=oue();function Eot(t){return t==null?"":yot(t)}aue.exports=Eot});var X4=_((HMt,lue)=>{function Cot(t,e,r){var o=-1,a=t.length;e<0&&(e=-e>a?0:a+e),r=r>a?a:r,r<0&&(r+=a),a=e>r?0:r-e>>>0,e>>>=0;for(var n=Array(a);++o<a;)n[o]=t[o+e];return n}lue.exports=Cot});var uue=_((qMt,cue)=>{var Iot=X4();function wot(t,e,r){var o=t.length;return r=r===void 0?o:r,!e&&r>=o?t:Iot(t,e,r)}cue.exports=wot});var Z4=_((jMt,Aue)=>{var Bot="\\ud800-\\udfff",vot="\\u0300-\\u036f",Dot="\\ufe20-\\ufe2f",Pot="\\u20d0-\\u20ff",Sot=vot+Dot+Pot,bot="\\ufe0e\\ufe0f",xot="\\u200d",kot=RegExp("["+xot+Bot+Sot+bot+"]");function Qot(t){return kot.test(t)}Aue.exports=Qot});var pue=_((GMt,fue)=>{function Fot(t){return t.split("")}fue.exports=Fot});var Iue=_((WMt,Cue)=>{var hue="\\ud800-\\udfff",Rot="\\u0300-\\u036f",Tot="\\ufe20-\\ufe2f",Not="\\u20d0-\\u20ff",Lot=Rot+Tot+Not,Oot="\\ufe0e\\ufe0f",Mot="["+hue+"]",$4="["+Lot+"]",e3="\\ud83c[\\udffb-\\udfff]",Uot="(?:"+$4+"|"+e3+")",gue="[^"+hue+"]",due="(?:\\ud83c[\\udde6-\\uddff]){2}",mue="[\\ud800-\\udbff][\\udc00-\\udfff]",_ot="\\u200d",yue=Uot+"?",Eue="["+Oot+"]?",Hot="(?:"+_ot+"(?:"+[gue,due,mue].join("|")+")"+Eue+yue+")*",qot=Eue+yue+Hot,jot="(?:"+[gue+$4+"?",$4,due,mue,Mot].join("|")+")",Got=RegExp(e3+"(?="+e3+")|"+jot+qot,"g");function Wot(t){return t.match(Got)||[]}Cue.exports=Wot});var Bue=_((YMt,wue)=>{var Yot=pue(),Kot=Z4(),Vot=Iue();function Jot(t){return Kot(t)?Vot(t):Yot(t)}wue.exports=Jot});var Due=_((KMt,vue)=>{var zot=uue(),Xot=Z4(),Zot=Bue(),$ot=t2();function eat(t){return function(e){e=$ot(e);var r=Xot(e)?Zot(e):void 0,o=r?r[0]:e.charAt(0),a=r?zot(r,1).join(""):e.slice(1);return o[t]()+a}}vue.exports=eat});var Sue=_((VMt,Pue)=>{var tat=Due(),rat=tat("toUpperCase");Pue.exports=rat});var t3=_((JMt,bue)=>{var nat=t2(),iat=Sue();function sat(t){return iat(nat(t).toLowerCase())}bue.exports=sat});var xue=_((zMt,Ix)=>{function oat(){var t=0,e=1,r=2,o=3,a=4,n=5,u=6,A=7,p=8,h=9,E=10,w=11,D=12,x=13,C=14,T=15,L=16,U=17,J=0,te=1,le=2,ce=3,ue=4;function Ie(g,me){return 55296<=g.charCodeAt(me)&&g.charCodeAt(me)<=56319&&56320<=g.charCodeAt(me+1)&&g.charCodeAt(me+1)<=57343}function he(g,me){me===void 0&&(me=0);var Ce=g.charCodeAt(me);if(55296<=Ce&&Ce<=56319&&me<g.length-1){var fe=Ce,ie=g.charCodeAt(me+1);return 56320<=ie&&ie<=57343?(fe-55296)*1024+(ie-56320)+65536:fe}if(56320<=Ce&&Ce<=57343&&me>=1){var fe=g.charCodeAt(me-1),ie=Ce;return 55296<=fe&&fe<=56319?(fe-55296)*1024+(ie-56320)+65536:ie}return Ce}function De(g,me,Ce){var fe=[g].concat(me).concat([Ce]),ie=fe[fe.length-2],Z=Ce,Pe=fe.lastIndexOf(C);if(Pe>1&&fe.slice(1,Pe).every(function(q){return q==o})&&[o,x,U].indexOf(g)==-1)return le;var Re=fe.lastIndexOf(a);if(Re>0&&fe.slice(1,Re).every(function(q){return q==a})&&[D,a].indexOf(ie)==-1)return fe.filter(function(q){return q==a}).length%2==1?ce:ue;if(ie==t&&Z==e)return J;if(ie==r||ie==t||ie==e)return Z==C&&me.every(function(q){return q==o})?le:te;if(Z==r||Z==t||Z==e)return te;if(ie==u&&(Z==u||Z==A||Z==h||Z==E))return J;if((ie==h||ie==A)&&(Z==A||Z==p))return J;if((ie==E||ie==p)&&Z==p)return J;if(Z==o||Z==T)return J;if(Z==n)return J;if(ie==D)return J;var ht=fe.indexOf(o)!=-1?fe.lastIndexOf(o)-1:fe.length-2;return[x,U].indexOf(fe[ht])!=-1&&fe.slice(ht+1,-1).every(function(q){return q==o})&&Z==C||ie==T&&[L,U].indexOf(Z)!=-1?J:me.indexOf(a)!=-1?le:ie==a&&Z==a?J:te}this.nextBreak=function(g,me){if(me===void 0&&(me=0),me<0)return 0;if(me>=g.length-1)return g.length;for(var Ce=Ee(he(g,me)),fe=[],ie=me+1;ie<g.length;ie++)if(!Ie(g,ie-1)){var Z=Ee(he(g,ie));if(De(Ce,fe,Z))return ie;fe.push(Z)}return g.length},this.splitGraphemes=function(g){for(var me=[],Ce=0,fe;(fe=this.nextBreak(g,Ce))<g.length;)me.push(g.slice(Ce,fe)),Ce=fe;return Ce<g.length&&me.push(g.slice(Ce)),me},this.iterateGraphemes=function(g){var me=0,Ce={next:function(){var fe,ie;return(ie=this.nextBreak(g,me))<g.length?(fe=g.slice(me,ie),me=ie,{value:fe,done:!1}):me<g.length?(fe=g.slice(me),me=g.length,{value:fe,done:!1}):{value:void 0,done:!0}}.bind(this)};return typeof Symbol<"u"&&Symbol.iterator&&(Ce[Symbol.iterator]=function(){return Ce}),Ce},this.countGraphemes=function(g){for(var me=0,Ce=0,fe;(fe=this.nextBreak(g,Ce))<g.length;)Ce=fe,me++;return Ce<g.length&&me++,me};function Ee(g){return 1536<=g&&g<=1541||g==1757||g==1807||g==2274||g==3406||g==69821||70082<=g&&g<=70083||g==72250||72326<=g&&g<=72329||g==73030?D:g==13?t:g==10?e:0<=g&&g<=9||11<=g&&g<=12||14<=g&&g<=31||127<=g&&g<=159||g==173||g==1564||g==6158||g==8203||8206<=g&&g<=8207||g==8232||g==8233||8234<=g&&g<=8238||8288<=g&&g<=8292||g==8293||8294<=g&&g<=8303||55296<=g&&g<=57343||g==65279||65520<=g&&g<=65528||65529<=g&&g<=65531||113824<=g&&g<=113827||119155<=g&&g<=119162||g==917504||g==917505||917506<=g&&g<=917535||917632<=g&&g<=917759||918e3<=g&&g<=921599?r:768<=g&&g<=879||1155<=g&&g<=1159||1160<=g&&g<=1161||1425<=g&&g<=1469||g==1471||1473<=g&&g<=1474||1476<=g&&g<=1477||g==1479||1552<=g&&g<=1562||1611<=g&&g<=1631||g==1648||1750<=g&&g<=1756||1759<=g&&g<=1764||1767<=g&&g<=1768||1770<=g&&g<=1773||g==1809||1840<=g&&g<=1866||1958<=g&&g<=1968||2027<=g&&g<=2035||2070<=g&&g<=2073||2075<=g&&g<=2083||2085<=g&&g<=2087||2089<=g&&g<=2093||2137<=g&&g<=2139||2260<=g&&g<=2273||2275<=g&&g<=2306||g==2362||g==2364||2369<=g&&g<=2376||g==2381||2385<=g&&g<=2391||2402<=g&&g<=2403||g==2433||g==2492||g==2494||2497<=g&&g<=2500||g==2509||g==2519||2530<=g&&g<=2531||2561<=g&&g<=2562||g==2620||2625<=g&&g<=2626||2631<=g&&g<=2632||2635<=g&&g<=2637||g==2641||2672<=g&&g<=2673||g==2677||2689<=g&&g<=2690||g==2748||2753<=g&&g<=2757||2759<=g&&g<=2760||g==2765||2786<=g&&g<=2787||2810<=g&&g<=2815||g==2817||g==2876||g==2878||g==2879||2881<=g&&g<=2884||g==2893||g==2902||g==2903||2914<=g&&g<=2915||g==2946||g==3006||g==3008||g==3021||g==3031||g==3072||3134<=g&&g<=3136||3142<=g&&g<=3144||3146<=g&&g<=3149||3157<=g&&g<=3158||3170<=g&&g<=3171||g==3201||g==3260||g==3263||g==3266||g==3270||3276<=g&&g<=3277||3285<=g&&g<=3286||3298<=g&&g<=3299||3328<=g&&g<=3329||3387<=g&&g<=3388||g==3390||3393<=g&&g<=3396||g==3405||g==3415||3426<=g&&g<=3427||g==3530||g==3535||3538<=g&&g<=3540||g==3542||g==3551||g==3633||3636<=g&&g<=3642||3655<=g&&g<=3662||g==3761||3764<=g&&g<=3769||3771<=g&&g<=3772||3784<=g&&g<=3789||3864<=g&&g<=3865||g==3893||g==3895||g==3897||3953<=g&&g<=3966||3968<=g&&g<=3972||3974<=g&&g<=3975||3981<=g&&g<=3991||3993<=g&&g<=4028||g==4038||4141<=g&&g<=4144||4146<=g&&g<=4151||4153<=g&&g<=4154||4157<=g&&g<=4158||4184<=g&&g<=4185||4190<=g&&g<=4192||4209<=g&&g<=4212||g==4226||4229<=g&&g<=4230||g==4237||g==4253||4957<=g&&g<=4959||5906<=g&&g<=5908||5938<=g&&g<=5940||5970<=g&&g<=5971||6002<=g&&g<=6003||6068<=g&&g<=6069||6071<=g&&g<=6077||g==6086||6089<=g&&g<=6099||g==6109||6155<=g&&g<=6157||6277<=g&&g<=6278||g==6313||6432<=g&&g<=6434||6439<=g&&g<=6440||g==6450||6457<=g&&g<=6459||6679<=g&&g<=6680||g==6683||g==6742||6744<=g&&g<=6750||g==6752||g==6754||6757<=g&&g<=6764||6771<=g&&g<=6780||g==6783||6832<=g&&g<=6845||g==6846||6912<=g&&g<=6915||g==6964||6966<=g&&g<=6970||g==6972||g==6978||7019<=g&&g<=7027||7040<=g&&g<=7041||7074<=g&&g<=7077||7080<=g&&g<=7081||7083<=g&&g<=7085||g==7142||7144<=g&&g<=7145||g==7149||7151<=g&&g<=7153||7212<=g&&g<=7219||7222<=g&&g<=7223||7376<=g&&g<=7378||7380<=g&&g<=7392||7394<=g&&g<=7400||g==7405||g==7412||7416<=g&&g<=7417||7616<=g&&g<=7673||7675<=g&&g<=7679||g==8204||8400<=g&&g<=8412||8413<=g&&g<=8416||g==8417||8418<=g&&g<=8420||8421<=g&&g<=8432||11503<=g&&g<=11505||g==11647||11744<=g&&g<=11775||12330<=g&&g<=12333||12334<=g&&g<=12335||12441<=g&&g<=12442||g==42607||42608<=g&&g<=42610||42612<=g&&g<=42621||42654<=g&&g<=42655||42736<=g&&g<=42737||g==43010||g==43014||g==43019||43045<=g&&g<=43046||43204<=g&&g<=43205||43232<=g&&g<=43249||43302<=g&&g<=43309||43335<=g&&g<=43345||43392<=g&&g<=43394||g==43443||43446<=g&&g<=43449||g==43452||g==43493||43561<=g&&g<=43566||43569<=g&&g<=43570||43573<=g&&g<=43574||g==43587||g==43596||g==43644||g==43696||43698<=g&&g<=43700||43703<=g&&g<=43704||43710<=g&&g<=43711||g==43713||43756<=g&&g<=43757||g==43766||g==44005||g==44008||g==44013||g==64286||65024<=g&&g<=65039||65056<=g&&g<=65071||65438<=g&&g<=65439||g==66045||g==66272||66422<=g&&g<=66426||68097<=g&&g<=68099||68101<=g&&g<=68102||68108<=g&&g<=68111||68152<=g&&g<=68154||g==68159||68325<=g&&g<=68326||g==69633||69688<=g&&g<=69702||69759<=g&&g<=69761||69811<=g&&g<=69814||69817<=g&&g<=69818||69888<=g&&g<=69890||69927<=g&&g<=69931||69933<=g&&g<=69940||g==70003||70016<=g&&g<=70017||70070<=g&&g<=70078||70090<=g&&g<=70092||70191<=g&&g<=70193||g==70196||70198<=g&&g<=70199||g==70206||g==70367||70371<=g&&g<=70378||70400<=g&&g<=70401||g==70460||g==70462||g==70464||g==70487||70502<=g&&g<=70508||70512<=g&&g<=70516||70712<=g&&g<=70719||70722<=g&&g<=70724||g==70726||g==70832||70835<=g&&g<=70840||g==70842||g==70845||70847<=g&&g<=70848||70850<=g&&g<=70851||g==71087||71090<=g&&g<=71093||71100<=g&&g<=71101||71103<=g&&g<=71104||71132<=g&&g<=71133||71219<=g&&g<=71226||g==71229||71231<=g&&g<=71232||g==71339||g==71341||71344<=g&&g<=71349||g==71351||71453<=g&&g<=71455||71458<=g&&g<=71461||71463<=g&&g<=71467||72193<=g&&g<=72198||72201<=g&&g<=72202||72243<=g&&g<=72248||72251<=g&&g<=72254||g==72263||72273<=g&&g<=72278||72281<=g&&g<=72283||72330<=g&&g<=72342||72344<=g&&g<=72345||72752<=g&&g<=72758||72760<=g&&g<=72765||g==72767||72850<=g&&g<=72871||72874<=g&&g<=72880||72882<=g&&g<=72883||72885<=g&&g<=72886||73009<=g&&g<=73014||g==73018||73020<=g&&g<=73021||73023<=g&&g<=73029||g==73031||92912<=g&&g<=92916||92976<=g&&g<=92982||94095<=g&&g<=94098||113821<=g&&g<=113822||g==119141||119143<=g&&g<=119145||119150<=g&&g<=119154||119163<=g&&g<=119170||119173<=g&&g<=119179||119210<=g&&g<=119213||119362<=g&&g<=119364||121344<=g&&g<=121398||121403<=g&&g<=121452||g==121461||g==121476||121499<=g&&g<=121503||121505<=g&&g<=121519||122880<=g&&g<=122886||122888<=g&&g<=122904||122907<=g&&g<=122913||122915<=g&&g<=122916||122918<=g&&g<=122922||125136<=g&&g<=125142||125252<=g&&g<=125258||917536<=g&&g<=917631||917760<=g&&g<=917999?o:127462<=g&&g<=127487?a:g==2307||g==2363||2366<=g&&g<=2368||2377<=g&&g<=2380||2382<=g&&g<=2383||2434<=g&&g<=2435||2495<=g&&g<=2496||2503<=g&&g<=2504||2507<=g&&g<=2508||g==2563||2622<=g&&g<=2624||g==2691||2750<=g&&g<=2752||g==2761||2763<=g&&g<=2764||2818<=g&&g<=2819||g==2880||2887<=g&&g<=2888||2891<=g&&g<=2892||g==3007||3009<=g&&g<=3010||3014<=g&&g<=3016||3018<=g&&g<=3020||3073<=g&&g<=3075||3137<=g&&g<=3140||3202<=g&&g<=3203||g==3262||3264<=g&&g<=3265||3267<=g&&g<=3268||3271<=g&&g<=3272||3274<=g&&g<=3275||3330<=g&&g<=3331||3391<=g&&g<=3392||3398<=g&&g<=3400||3402<=g&&g<=3404||3458<=g&&g<=3459||3536<=g&&g<=3537||3544<=g&&g<=3550||3570<=g&&g<=3571||g==3635||g==3763||3902<=g&&g<=3903||g==3967||g==4145||4155<=g&&g<=4156||4182<=g&&g<=4183||g==4228||g==6070||6078<=g&&g<=6085||6087<=g&&g<=6088||6435<=g&&g<=6438||6441<=g&&g<=6443||6448<=g&&g<=6449||6451<=g&&g<=6456||6681<=g&&g<=6682||g==6741||g==6743||6765<=g&&g<=6770||g==6916||g==6965||g==6971||6973<=g&&g<=6977||6979<=g&&g<=6980||g==7042||g==7073||7078<=g&&g<=7079||g==7082||g==7143||7146<=g&&g<=7148||g==7150||7154<=g&&g<=7155||7204<=g&&g<=7211||7220<=g&&g<=7221||g==7393||7410<=g&&g<=7411||g==7415||43043<=g&&g<=43044||g==43047||43136<=g&&g<=43137||43188<=g&&g<=43203||43346<=g&&g<=43347||g==43395||43444<=g&&g<=43445||43450<=g&&g<=43451||43453<=g&&g<=43456||43567<=g&&g<=43568||43571<=g&&g<=43572||g==43597||g==43755||43758<=g&&g<=43759||g==43765||44003<=g&&g<=44004||44006<=g&&g<=44007||44009<=g&&g<=44010||g==44012||g==69632||g==69634||g==69762||69808<=g&&g<=69810||69815<=g&&g<=69816||g==69932||g==70018||70067<=g&&g<=70069||70079<=g&&g<=70080||70188<=g&&g<=70190||70194<=g&&g<=70195||g==70197||70368<=g&&g<=70370||70402<=g&&g<=70403||g==70463||70465<=g&&g<=70468||70471<=g&&g<=70472||70475<=g&&g<=70477||70498<=g&&g<=70499||70709<=g&&g<=70711||70720<=g&&g<=70721||g==70725||70833<=g&&g<=70834||g==70841||70843<=g&&g<=70844||g==70846||g==70849||71088<=g&&g<=71089||71096<=g&&g<=71099||g==71102||71216<=g&&g<=71218||71227<=g&&g<=71228||g==71230||g==71340||71342<=g&&g<=71343||g==71350||71456<=g&&g<=71457||g==71462||72199<=g&&g<=72200||g==72249||72279<=g&&g<=72280||g==72343||g==72751||g==72766||g==72873||g==72881||g==72884||94033<=g&&g<=94078||g==119142||g==119149?n:4352<=g&&g<=4447||43360<=g&&g<=43388?u:4448<=g&&g<=4519||55216<=g&&g<=55238?A:4520<=g&&g<=4607||55243<=g&&g<=55291?p:g==44032||g==44060||g==44088||g==44116||g==44144||g==44172||g==44200||g==44228||g==44256||g==44284||g==44312||g==44340||g==44368||g==44396||g==44424||g==44452||g==44480||g==44508||g==44536||g==44564||g==44592||g==44620||g==44648||g==44676||g==44704||g==44732||g==44760||g==44788||g==44816||g==44844||g==44872||g==44900||g==44928||g==44956||g==44984||g==45012||g==45040||g==45068||g==45096||g==45124||g==45152||g==45180||g==45208||g==45236||g==45264||g==45292||g==45320||g==45348||g==45376||g==45404||g==45432||g==45460||g==45488||g==45516||g==45544||g==45572||g==45600||g==45628||g==45656||g==45684||g==45712||g==45740||g==45768||g==45796||g==45824||g==45852||g==45880||g==45908||g==45936||g==45964||g==45992||g==46020||g==46048||g==46076||g==46104||g==46132||g==46160||g==46188||g==46216||g==46244||g==46272||g==46300||g==46328||g==46356||g==46384||g==46412||g==46440||g==46468||g==46496||g==46524||g==46552||g==46580||g==46608||g==46636||g==46664||g==46692||g==46720||g==46748||g==46776||g==46804||g==46832||g==46860||g==46888||g==46916||g==46944||g==46972||g==47e3||g==47028||g==47056||g==47084||g==47112||g==47140||g==47168||g==47196||g==47224||g==47252||g==47280||g==47308||g==47336||g==47364||g==47392||g==47420||g==47448||g==47476||g==47504||g==47532||g==47560||g==47588||g==47616||g==47644||g==47672||g==47700||g==47728||g==47756||g==47784||g==47812||g==47840||g==47868||g==47896||g==47924||g==47952||g==47980||g==48008||g==48036||g==48064||g==48092||g==48120||g==48148||g==48176||g==48204||g==48232||g==48260||g==48288||g==48316||g==48344||g==48372||g==48400||g==48428||g==48456||g==48484||g==48512||g==48540||g==48568||g==48596||g==48624||g==48652||g==48680||g==48708||g==48736||g==48764||g==48792||g==48820||g==48848||g==48876||g==48904||g==48932||g==48960||g==48988||g==49016||g==49044||g==49072||g==49100||g==49128||g==49156||g==49184||g==49212||g==49240||g==49268||g==49296||g==49324||g==49352||g==49380||g==49408||g==49436||g==49464||g==49492||g==49520||g==49548||g==49576||g==49604||g==49632||g==49660||g==49688||g==49716||g==49744||g==49772||g==49800||g==49828||g==49856||g==49884||g==49912||g==49940||g==49968||g==49996||g==50024||g==50052||g==50080||g==50108||g==50136||g==50164||g==50192||g==50220||g==50248||g==50276||g==50304||g==50332||g==50360||g==50388||g==50416||g==50444||g==50472||g==50500||g==50528||g==50556||g==50584||g==50612||g==50640||g==50668||g==50696||g==50724||g==50752||g==50780||g==50808||g==50836||g==50864||g==50892||g==50920||g==50948||g==50976||g==51004||g==51032||g==51060||g==51088||g==51116||g==51144||g==51172||g==51200||g==51228||g==51256||g==51284||g==51312||g==51340||g==51368||g==51396||g==51424||g==51452||g==51480||g==51508||g==51536||g==51564||g==51592||g==51620||g==51648||g==51676||g==51704||g==51732||g==51760||g==51788||g==51816||g==51844||g==51872||g==51900||g==51928||g==51956||g==51984||g==52012||g==52040||g==52068||g==52096||g==52124||g==52152||g==52180||g==52208||g==52236||g==52264||g==52292||g==52320||g==52348||g==52376||g==52404||g==52432||g==52460||g==52488||g==52516||g==52544||g==52572||g==52600||g==52628||g==52656||g==52684||g==52712||g==52740||g==52768||g==52796||g==52824||g==52852||g==52880||g==52908||g==52936||g==52964||g==52992||g==53020||g==53048||g==53076||g==53104||g==53132||g==53160||g==53188||g==53216||g==53244||g==53272||g==53300||g==53328||g==53356||g==53384||g==53412||g==53440||g==53468||g==53496||g==53524||g==53552||g==53580||g==53608||g==53636||g==53664||g==53692||g==53720||g==53748||g==53776||g==53804||g==53832||g==53860||g==53888||g==53916||g==53944||g==53972||g==54e3||g==54028||g==54056||g==54084||g==54112||g==54140||g==54168||g==54196||g==54224||g==54252||g==54280||g==54308||g==54336||g==54364||g==54392||g==54420||g==54448||g==54476||g==54504||g==54532||g==54560||g==54588||g==54616||g==54644||g==54672||g==54700||g==54728||g==54756||g==54784||g==54812||g==54840||g==54868||g==54896||g==54924||g==54952||g==54980||g==55008||g==55036||g==55064||g==55092||g==55120||g==55148||g==55176?h:44033<=g&&g<=44059||44061<=g&&g<=44087||44089<=g&&g<=44115||44117<=g&&g<=44143||44145<=g&&g<=44171||44173<=g&&g<=44199||44201<=g&&g<=44227||44229<=g&&g<=44255||44257<=g&&g<=44283||44285<=g&&g<=44311||44313<=g&&g<=44339||44341<=g&&g<=44367||44369<=g&&g<=44395||44397<=g&&g<=44423||44425<=g&&g<=44451||44453<=g&&g<=44479||44481<=g&&g<=44507||44509<=g&&g<=44535||44537<=g&&g<=44563||44565<=g&&g<=44591||44593<=g&&g<=44619||44621<=g&&g<=44647||44649<=g&&g<=44675||44677<=g&&g<=44703||44705<=g&&g<=44731||44733<=g&&g<=44759||44761<=g&&g<=44787||44789<=g&&g<=44815||44817<=g&&g<=44843||44845<=g&&g<=44871||44873<=g&&g<=44899||44901<=g&&g<=44927||44929<=g&&g<=44955||44957<=g&&g<=44983||44985<=g&&g<=45011||45013<=g&&g<=45039||45041<=g&&g<=45067||45069<=g&&g<=45095||45097<=g&&g<=45123||45125<=g&&g<=45151||45153<=g&&g<=45179||45181<=g&&g<=45207||45209<=g&&g<=45235||45237<=g&&g<=45263||45265<=g&&g<=45291||45293<=g&&g<=45319||45321<=g&&g<=45347||45349<=g&&g<=45375||45377<=g&&g<=45403||45405<=g&&g<=45431||45433<=g&&g<=45459||45461<=g&&g<=45487||45489<=g&&g<=45515||45517<=g&&g<=45543||45545<=g&&g<=45571||45573<=g&&g<=45599||45601<=g&&g<=45627||45629<=g&&g<=45655||45657<=g&&g<=45683||45685<=g&&g<=45711||45713<=g&&g<=45739||45741<=g&&g<=45767||45769<=g&&g<=45795||45797<=g&&g<=45823||45825<=g&&g<=45851||45853<=g&&g<=45879||45881<=g&&g<=45907||45909<=g&&g<=45935||45937<=g&&g<=45963||45965<=g&&g<=45991||45993<=g&&g<=46019||46021<=g&&g<=46047||46049<=g&&g<=46075||46077<=g&&g<=46103||46105<=g&&g<=46131||46133<=g&&g<=46159||46161<=g&&g<=46187||46189<=g&&g<=46215||46217<=g&&g<=46243||46245<=g&&g<=46271||46273<=g&&g<=46299||46301<=g&&g<=46327||46329<=g&&g<=46355||46357<=g&&g<=46383||46385<=g&&g<=46411||46413<=g&&g<=46439||46441<=g&&g<=46467||46469<=g&&g<=46495||46497<=g&&g<=46523||46525<=g&&g<=46551||46553<=g&&g<=46579||46581<=g&&g<=46607||46609<=g&&g<=46635||46637<=g&&g<=46663||46665<=g&&g<=46691||46693<=g&&g<=46719||46721<=g&&g<=46747||46749<=g&&g<=46775||46777<=g&&g<=46803||46805<=g&&g<=46831||46833<=g&&g<=46859||46861<=g&&g<=46887||46889<=g&&g<=46915||46917<=g&&g<=46943||46945<=g&&g<=46971||46973<=g&&g<=46999||47001<=g&&g<=47027||47029<=g&&g<=47055||47057<=g&&g<=47083||47085<=g&&g<=47111||47113<=g&&g<=47139||47141<=g&&g<=47167||47169<=g&&g<=47195||47197<=g&&g<=47223||47225<=g&&g<=47251||47253<=g&&g<=47279||47281<=g&&g<=47307||47309<=g&&g<=47335||47337<=g&&g<=47363||47365<=g&&g<=47391||47393<=g&&g<=47419||47421<=g&&g<=47447||47449<=g&&g<=47475||47477<=g&&g<=47503||47505<=g&&g<=47531||47533<=g&&g<=47559||47561<=g&&g<=47587||47589<=g&&g<=47615||47617<=g&&g<=47643||47645<=g&&g<=47671||47673<=g&&g<=47699||47701<=g&&g<=47727||47729<=g&&g<=47755||47757<=g&&g<=47783||47785<=g&&g<=47811||47813<=g&&g<=47839||47841<=g&&g<=47867||47869<=g&&g<=47895||47897<=g&&g<=47923||47925<=g&&g<=47951||47953<=g&&g<=47979||47981<=g&&g<=48007||48009<=g&&g<=48035||48037<=g&&g<=48063||48065<=g&&g<=48091||48093<=g&&g<=48119||48121<=g&&g<=48147||48149<=g&&g<=48175||48177<=g&&g<=48203||48205<=g&&g<=48231||48233<=g&&g<=48259||48261<=g&&g<=48287||48289<=g&&g<=48315||48317<=g&&g<=48343||48345<=g&&g<=48371||48373<=g&&g<=48399||48401<=g&&g<=48427||48429<=g&&g<=48455||48457<=g&&g<=48483||48485<=g&&g<=48511||48513<=g&&g<=48539||48541<=g&&g<=48567||48569<=g&&g<=48595||48597<=g&&g<=48623||48625<=g&&g<=48651||48653<=g&&g<=48679||48681<=g&&g<=48707||48709<=g&&g<=48735||48737<=g&&g<=48763||48765<=g&&g<=48791||48793<=g&&g<=48819||48821<=g&&g<=48847||48849<=g&&g<=48875||48877<=g&&g<=48903||48905<=g&&g<=48931||48933<=g&&g<=48959||48961<=g&&g<=48987||48989<=g&&g<=49015||49017<=g&&g<=49043||49045<=g&&g<=49071||49073<=g&&g<=49099||49101<=g&&g<=49127||49129<=g&&g<=49155||49157<=g&&g<=49183||49185<=g&&g<=49211||49213<=g&&g<=49239||49241<=g&&g<=49267||49269<=g&&g<=49295||49297<=g&&g<=49323||49325<=g&&g<=49351||49353<=g&&g<=49379||49381<=g&&g<=49407||49409<=g&&g<=49435||49437<=g&&g<=49463||49465<=g&&g<=49491||49493<=g&&g<=49519||49521<=g&&g<=49547||49549<=g&&g<=49575||49577<=g&&g<=49603||49605<=g&&g<=49631||49633<=g&&g<=49659||49661<=g&&g<=49687||49689<=g&&g<=49715||49717<=g&&g<=49743||49745<=g&&g<=49771||49773<=g&&g<=49799||49801<=g&&g<=49827||49829<=g&&g<=49855||49857<=g&&g<=49883||49885<=g&&g<=49911||49913<=g&&g<=49939||49941<=g&&g<=49967||49969<=g&&g<=49995||49997<=g&&g<=50023||50025<=g&&g<=50051||50053<=g&&g<=50079||50081<=g&&g<=50107||50109<=g&&g<=50135||50137<=g&&g<=50163||50165<=g&&g<=50191||50193<=g&&g<=50219||50221<=g&&g<=50247||50249<=g&&g<=50275||50277<=g&&g<=50303||50305<=g&&g<=50331||50333<=g&&g<=50359||50361<=g&&g<=50387||50389<=g&&g<=50415||50417<=g&&g<=50443||50445<=g&&g<=50471||50473<=g&&g<=50499||50501<=g&&g<=50527||50529<=g&&g<=50555||50557<=g&&g<=50583||50585<=g&&g<=50611||50613<=g&&g<=50639||50641<=g&&g<=50667||50669<=g&&g<=50695||50697<=g&&g<=50723||50725<=g&&g<=50751||50753<=g&&g<=50779||50781<=g&&g<=50807||50809<=g&&g<=50835||50837<=g&&g<=50863||50865<=g&&g<=50891||50893<=g&&g<=50919||50921<=g&&g<=50947||50949<=g&&g<=50975||50977<=g&&g<=51003||51005<=g&&g<=51031||51033<=g&&g<=51059||51061<=g&&g<=51087||51089<=g&&g<=51115||51117<=g&&g<=51143||51145<=g&&g<=51171||51173<=g&&g<=51199||51201<=g&&g<=51227||51229<=g&&g<=51255||51257<=g&&g<=51283||51285<=g&&g<=51311||51313<=g&&g<=51339||51341<=g&&g<=51367||51369<=g&&g<=51395||51397<=g&&g<=51423||51425<=g&&g<=51451||51453<=g&&g<=51479||51481<=g&&g<=51507||51509<=g&&g<=51535||51537<=g&&g<=51563||51565<=g&&g<=51591||51593<=g&&g<=51619||51621<=g&&g<=51647||51649<=g&&g<=51675||51677<=g&&g<=51703||51705<=g&&g<=51731||51733<=g&&g<=51759||51761<=g&&g<=51787||51789<=g&&g<=51815||51817<=g&&g<=51843||51845<=g&&g<=51871||51873<=g&&g<=51899||51901<=g&&g<=51927||51929<=g&&g<=51955||51957<=g&&g<=51983||51985<=g&&g<=52011||52013<=g&&g<=52039||52041<=g&&g<=52067||52069<=g&&g<=52095||52097<=g&&g<=52123||52125<=g&&g<=52151||52153<=g&&g<=52179||52181<=g&&g<=52207||52209<=g&&g<=52235||52237<=g&&g<=52263||52265<=g&&g<=52291||52293<=g&&g<=52319||52321<=g&&g<=52347||52349<=g&&g<=52375||52377<=g&&g<=52403||52405<=g&&g<=52431||52433<=g&&g<=52459||52461<=g&&g<=52487||52489<=g&&g<=52515||52517<=g&&g<=52543||52545<=g&&g<=52571||52573<=g&&g<=52599||52601<=g&&g<=52627||52629<=g&&g<=52655||52657<=g&&g<=52683||52685<=g&&g<=52711||52713<=g&&g<=52739||52741<=g&&g<=52767||52769<=g&&g<=52795||52797<=g&&g<=52823||52825<=g&&g<=52851||52853<=g&&g<=52879||52881<=g&&g<=52907||52909<=g&&g<=52935||52937<=g&&g<=52963||52965<=g&&g<=52991||52993<=g&&g<=53019||53021<=g&&g<=53047||53049<=g&&g<=53075||53077<=g&&g<=53103||53105<=g&&g<=53131||53133<=g&&g<=53159||53161<=g&&g<=53187||53189<=g&&g<=53215||53217<=g&&g<=53243||53245<=g&&g<=53271||53273<=g&&g<=53299||53301<=g&&g<=53327||53329<=g&&g<=53355||53357<=g&&g<=53383||53385<=g&&g<=53411||53413<=g&&g<=53439||53441<=g&&g<=53467||53469<=g&&g<=53495||53497<=g&&g<=53523||53525<=g&&g<=53551||53553<=g&&g<=53579||53581<=g&&g<=53607||53609<=g&&g<=53635||53637<=g&&g<=53663||53665<=g&&g<=53691||53693<=g&&g<=53719||53721<=g&&g<=53747||53749<=g&&g<=53775||53777<=g&&g<=53803||53805<=g&&g<=53831||53833<=g&&g<=53859||53861<=g&&g<=53887||53889<=g&&g<=53915||53917<=g&&g<=53943||53945<=g&&g<=53971||53973<=g&&g<=53999||54001<=g&&g<=54027||54029<=g&&g<=54055||54057<=g&&g<=54083||54085<=g&&g<=54111||54113<=g&&g<=54139||54141<=g&&g<=54167||54169<=g&&g<=54195||54197<=g&&g<=54223||54225<=g&&g<=54251||54253<=g&&g<=54279||54281<=g&&g<=54307||54309<=g&&g<=54335||54337<=g&&g<=54363||54365<=g&&g<=54391||54393<=g&&g<=54419||54421<=g&&g<=54447||54449<=g&&g<=54475||54477<=g&&g<=54503||54505<=g&&g<=54531||54533<=g&&g<=54559||54561<=g&&g<=54587||54589<=g&&g<=54615||54617<=g&&g<=54643||54645<=g&&g<=54671||54673<=g&&g<=54699||54701<=g&&g<=54727||54729<=g&&g<=54755||54757<=g&&g<=54783||54785<=g&&g<=54811||54813<=g&&g<=54839||54841<=g&&g<=54867||54869<=g&&g<=54895||54897<=g&&g<=54923||54925<=g&&g<=54951||54953<=g&&g<=54979||54981<=g&&g<=55007||55009<=g&&g<=55035||55037<=g&&g<=55063||55065<=g&&g<=55091||55093<=g&&g<=55119||55121<=g&&g<=55147||55149<=g&&g<=55175||55177<=g&&g<=55203?E:g==9757||g==9977||9994<=g&&g<=9997||g==127877||127938<=g&&g<=127940||g==127943||127946<=g&&g<=127948||128066<=g&&g<=128067||128070<=g&&g<=128080||g==128110||128112<=g&&g<=128120||g==128124||128129<=g&&g<=128131||128133<=g&&g<=128135||g==128170||128372<=g&&g<=128373||g==128378||g==128400||128405<=g&&g<=128406||128581<=g&&g<=128583||128587<=g&&g<=128591||g==128675||128692<=g&&g<=128694||g==128704||g==128716||129304<=g&&g<=129308||129310<=g&&g<=129311||g==129318||129328<=g&&g<=129337||129341<=g&&g<=129342||129489<=g&&g<=129501?x:127995<=g&&g<=127999?C:g==8205?T:g==9792||g==9794||9877<=g&&g<=9878||g==9992||g==10084||g==127752||g==127806||g==127859||g==127891||g==127908||g==127912||g==127979||g==127981||g==128139||128187<=g&&g<=128188||g==128295||g==128300||g==128488||g==128640||g==128658?L:128102<=g&&g<=128105?U:w}return this}typeof Ix<"u"&&Ix.exports&&(Ix.exports=oat)});var Que=_((XMt,kue)=>{var aat=/^(.*?)(\x1b\[[^m]+m|\x1b\]8;;.*?(\x1b\\|\u0007))/,wx;function lat(){if(wx)return wx;if(typeof Intl.Segmenter<"u"){let t=new Intl.Segmenter("en",{granularity:"grapheme"});return wx=e=>Array.from(t.segment(e),({segment:r})=>r)}else{let t=xue(),e=new t;return wx=r=>e.splitGraphemes(r)}}kue.exports=(t,e=0,r=t.length)=>{if(e<0||r<0)throw new RangeError("Negative indices aren't supported by this implementation");let o=r-e,a="",n=0,u=0;for(;t.length>0;){let A=t.match(aat)||[t,t,void 0],p=lat()(A[1]),h=Math.min(e-n,p.length);p=p.slice(h);let E=Math.min(o-u,p.length);a+=p.slice(0,E).join(""),n+=h,u+=E,typeof A[2]<"u"&&(a+=A[2]),t=t.slice(A[0].length)}return a}});var nn,r2=It(()=>{nn=process.env.YARN_IS_TEST_ENV?"0.0.0":"4.6.0"});function Oue(t,{configuration:e,json:r}){if(!e.get("enableMessageNames"))return"";let a=Ju(t===null?0:t);return!r&&t===null?Ut(e,a,"grey"):a}function r3(t,{configuration:e,json:r}){let o=Oue(t,{configuration:e,json:r});if(!o||t===null||t===0)return o;let a=vr[t],n=`https://yarnpkg.com/advanced/error-codes#${o}---${a}`.toLowerCase();return ty(e,o,n)}async function Qy({configuration:t,stdout:e,forceError:r},o){let a=await Nt.start({configuration:t,stdout:e,includeFooter:!1},async n=>{let u=!1,A=!1;for(let p of o)typeof p.option<"u"&&(p.error||r?(A=!0,n.reportError(50,p.message)):(u=!0,n.reportWarning(50,p.message)),p.callback?.());u&&!A&&n.reportSeparator()});return a.hasErrors()?a.exitCode():null}var Nue,Bx,cat,Fue,Rue,hh,Lue,Tue,uat,Aat,vx,fat,Nt,n2=It(()=>{Nue=et(Que()),Bx=et(sg());jP();Vl();r2();Wl();cat="\xB7",Fue=["\u280B","\u2819","\u2839","\u2838","\u283C","\u2834","\u2826","\u2827","\u2807","\u280F"],Rue=80,hh=Bx.default.GITHUB_ACTIONS?{start:t=>`::group::${t} +`,end:t=>`::endgroup:: +`}:Bx.default.TRAVIS?{start:t=>`travis_fold:start:${t} +`,end:t=>`travis_fold:end:${t} +`}:Bx.default.GITLAB?{start:t=>`section_start:${Math.floor(Date.now()/1e3)}:${t.toLowerCase().replace(/\W+/g,"_")}[collapsed=true]\r\x1B[0K${t} +`,end:t=>`section_end:${Math.floor(Date.now()/1e3)}:${t.toLowerCase().replace(/\W+/g,"_")}\r\x1B[0K`}:null,Lue=hh!==null,Tue=new Date,uat=["iTerm.app","Apple_Terminal","WarpTerminal","vscode"].includes(process.env.TERM_PROGRAM)||!!process.env.WT_SESSION,Aat=t=>t,vx=Aat({patrick:{date:[17,3],chars:["\u{1F340}","\u{1F331}"],size:40},simba:{date:[19,7],chars:["\u{1F981}","\u{1F334}"],size:40},jack:{date:[31,10],chars:["\u{1F383}","\u{1F987}"],size:40},hogsfather:{date:[31,12],chars:["\u{1F389}","\u{1F384}"],size:40},default:{chars:["=","-"],size:80}}),fat=uat&&Object.keys(vx).find(t=>{let e=vx[t];return!(e.date&&(e.date[0]!==Tue.getDate()||e.date[1]!==Tue.getMonth()+1))})||"default";Nt=class extends Ws{constructor({configuration:r,stdout:o,json:a=!1,forceSectionAlignment:n=!1,includeNames:u=!0,includePrefix:A=!0,includeFooter:p=!0,includeLogs:h=!a,includeInfos:E=h,includeWarnings:w=h}){super();this.uncommitted=new Set;this.warningCount=0;this.errorCount=0;this.timerFooter=[];this.startTime=Date.now();this.indent=0;this.level=0;this.progress=new Map;this.progressTime=0;this.progressFrame=0;this.progressTimeout=null;this.progressStyle=null;this.progressMaxScaledSize=null;if(g1(this,{configuration:r}),this.configuration=r,this.forceSectionAlignment=n,this.includeNames=u,this.includePrefix=A,this.includeFooter=p,this.includeInfos=E,this.includeWarnings=w,this.json=a,this.stdout=o,r.get("enableProgressBars")&&!a&&o.isTTY&&o.columns>22){let D=r.get("progressBarStyle")||fat;if(!Object.hasOwn(vx,D))throw new Error("Assertion failed: Invalid progress bar style");this.progressStyle=vx[D];let x=Math.min(this.getRecommendedLength(),80);this.progressMaxScaledSize=Math.floor(this.progressStyle.size*x/80)}}static async start(r,o){let a=new this(r),n=process.emitWarning;process.emitWarning=(u,A)=>{if(typeof u!="string"){let h=u;u=h.message,A=A??h.name}let p=typeof A<"u"?`${A}: ${u}`:u;a.reportWarning(0,p)},r.includeVersion&&a.reportInfo(0,Cg(r.configuration,`Yarn ${nn}`,2));try{await o(a)}catch(u){a.reportExceptionOnce(u)}finally{await a.finalize(),process.emitWarning=n}return a}hasErrors(){return this.errorCount>0}exitCode(){return this.hasErrors()?1:0}getRecommendedLength(){let o=this.progressStyle!==null?this.stdout.columns-1:super.getRecommendedLength();return Math.max(40,o-12-this.indent*2)}startSectionSync({reportHeader:r,reportFooter:o,skipIfEmpty:a},n){let u={committed:!1,action:()=>{r?.()}};a?this.uncommitted.add(u):(u.action(),u.committed=!0);let A=Date.now();try{return n()}catch(p){throw this.reportExceptionOnce(p),p}finally{let p=Date.now();this.uncommitted.delete(u),u.committed&&o?.(p-A)}}async startSectionPromise({reportHeader:r,reportFooter:o,skipIfEmpty:a},n){let u={committed:!1,action:()=>{r?.()}};a?this.uncommitted.add(u):(u.action(),u.committed=!0);let A=Date.now();try{return await n()}catch(p){throw this.reportExceptionOnce(p),p}finally{let p=Date.now();this.uncommitted.delete(u),u.committed&&o?.(p-A)}}startTimerImpl(r,o,a){return{cb:typeof o=="function"?o:a,reportHeader:()=>{this.level+=1,this.reportInfo(null,`\u250C ${r}`),this.indent+=1,hh!==null&&!this.json&&this.includeInfos&&this.stdout.write(hh.start(r))},reportFooter:A=>{if(this.indent-=1,hh!==null&&!this.json&&this.includeInfos){this.stdout.write(hh.end(r));for(let p of this.timerFooter)p()}this.configuration.get("enableTimers")&&A>200?this.reportInfo(null,`\u2514 Completed in ${Ut(this.configuration,A,Ct.DURATION)}`):this.reportInfo(null,"\u2514 Completed"),this.level-=1},skipIfEmpty:(typeof o=="function"?{}:o).skipIfEmpty}}startTimerSync(r,o,a){let{cb:n,...u}=this.startTimerImpl(r,o,a);return this.startSectionSync(u,n)}async startTimerPromise(r,o,a){let{cb:n,...u}=this.startTimerImpl(r,o,a);return this.startSectionPromise(u,n)}reportSeparator(){this.indent===0?this.writeLine(""):this.reportInfo(null,"")}reportInfo(r,o){if(!this.includeInfos)return;this.commit();let a=this.formatNameWithHyperlink(r),n=a?`${a}: `:"",u=`${this.formatPrefix(n,"blueBright")}${o}`;this.json?this.reportJson({type:"info",name:r,displayName:this.formatName(r),indent:this.formatIndent(),data:o}):this.writeLine(u)}reportWarning(r,o){if(this.warningCount+=1,!this.includeWarnings)return;this.commit();let a=this.formatNameWithHyperlink(r),n=a?`${a}: `:"";this.json?this.reportJson({type:"warning",name:r,displayName:this.formatName(r),indent:this.formatIndent(),data:o}):this.writeLine(`${this.formatPrefix(n,"yellowBright")}${o}`)}reportError(r,o){this.errorCount+=1,this.timerFooter.push(()=>this.reportErrorImpl(r,o)),this.reportErrorImpl(r,o)}reportErrorImpl(r,o){this.commit();let a=this.formatNameWithHyperlink(r),n=a?`${a}: `:"";this.json?this.reportJson({type:"error",name:r,displayName:this.formatName(r),indent:this.formatIndent(),data:o}):this.writeLine(`${this.formatPrefix(n,"redBright")}${o}`,{truncate:!1})}reportFold(r,o){if(!hh)return;let a=`${hh.start(r)}${o}${hh.end(r)}`;this.timerFooter.push(()=>this.stdout.write(a))}reportProgress(r){if(this.progressStyle===null)return{...Promise.resolve(),stop:()=>{}};if(r.hasProgress&&r.hasTitle)throw new Error("Unimplemented: Progress bars can't have both progress and titles.");let o=!1,a=Promise.resolve().then(async()=>{let u={progress:r.hasProgress?0:void 0,title:r.hasTitle?"":void 0};this.progress.set(r,{definition:u,lastScaledSize:r.hasProgress?-1:void 0,lastTitle:void 0}),this.refreshProgress({delta:-1});for await(let{progress:A,title:p}of r)o||u.progress===A&&u.title===p||(u.progress=A,u.title=p,this.refreshProgress());n()}),n=()=>{o||(o=!0,this.progress.delete(r),this.refreshProgress({delta:1}))};return{...a,stop:n}}reportJson(r){this.json&&this.writeLine(`${JSON.stringify(r)}`)}async finalize(){if(!this.includeFooter)return;let r="";this.errorCount>0?r="Failed with errors":this.warningCount>0?r="Done with warnings":r="Done";let o=Ut(this.configuration,Date.now()-this.startTime,Ct.DURATION),a=this.configuration.get("enableTimers")?`${r} in ${o}`:r;this.errorCount>0?this.reportError(0,a):this.warningCount>0?this.reportWarning(0,a):this.reportInfo(0,a)}writeLine(r,{truncate:o}={}){this.clearProgress({clear:!0}),this.stdout.write(`${this.truncate(r,{truncate:o})} +`),this.writeProgress()}writeLines(r,{truncate:o}={}){this.clearProgress({delta:r.length});for(let a of r)this.stdout.write(`${this.truncate(a,{truncate:o})} +`);this.writeProgress()}commit(){let r=this.uncommitted;this.uncommitted=new Set;for(let o of r)o.committed=!0,o.action()}clearProgress({delta:r=0,clear:o=!1}){this.progressStyle!==null&&this.progress.size+r>0&&(this.stdout.write(`\x1B[${this.progress.size+r}A`),(r>0||o)&&this.stdout.write("\x1B[0J"))}writeProgress(){if(this.progressStyle===null||(this.progressTimeout!==null&&clearTimeout(this.progressTimeout),this.progressTimeout=null,this.progress.size===0))return;let r=Date.now();r-this.progressTime>Rue&&(this.progressFrame=(this.progressFrame+1)%Fue.length,this.progressTime=r);let o=Fue[this.progressFrame];for(let a of this.progress.values()){let n="";if(typeof a.lastScaledSize<"u"){let h=this.progressStyle.chars[0].repeat(a.lastScaledSize),E=this.progressStyle.chars[1].repeat(this.progressMaxScaledSize-a.lastScaledSize);n=` ${h}${E}`}let u=this.formatName(null),A=u?`${u}: `:"",p=a.definition.title?` ${a.definition.title}`:"";this.stdout.write(`${Ut(this.configuration,"\u27A4","blueBright")} ${A}${o}${n}${p} +`)}this.progressTimeout=setTimeout(()=>{this.refreshProgress({force:!0})},Rue)}refreshProgress({delta:r=0,force:o=!1}={}){let a=!1,n=!1;if(o||this.progress.size===0)a=!0;else for(let u of this.progress.values()){let A=typeof u.definition.progress<"u"?Math.trunc(this.progressMaxScaledSize*u.definition.progress):void 0,p=u.lastScaledSize;u.lastScaledSize=A;let h=u.lastTitle;if(u.lastTitle=u.definition.title,A!==p||(n=h!==u.definition.title)){a=!0;break}}a&&(this.clearProgress({delta:r,clear:n}),this.writeProgress())}truncate(r,{truncate:o}={}){return this.progressStyle===null&&(o=!1),typeof o>"u"&&(o=this.configuration.get("preferTruncatedLines")),o&&(r=(0,Nue.default)(r,0,this.stdout.columns-1)),r}formatName(r){return this.includeNames?Oue(r,{configuration:this.configuration,json:this.json}):""}formatPrefix(r,o){return this.includePrefix?`${Ut(this.configuration,"\u27A4",o)} ${r}${this.formatIndent()}`:""}formatNameWithHyperlink(r){return this.includeNames?r3(r,{configuration:this.configuration,json:this.json}):""}formatIndent(){return this.level>0||!this.forceSectionAlignment?"\u2502 ".repeat(this.indent):`${cat} `}}});var hn={};Kt(hn,{PackageManager:()=>_ue,detectPackageManager:()=>Hue,executePackageAccessibleBinary:()=>Yue,executePackageScript:()=>Dx,executePackageShellcode:()=>n3,executeWorkspaceAccessibleBinary:()=>Eat,executeWorkspaceLifecycleScript:()=>Gue,executeWorkspaceScript:()=>jue,getPackageAccessibleBinaries:()=>Px,getWorkspaceAccessibleBinaries:()=>Wue,hasPackageScript:()=>dat,hasWorkspaceScript:()=>i3,isNodeScript:()=>s3,makeScriptEnv:()=>i2,maybeExecuteWorkspaceLifecycleScript:()=>yat,prepareExternalProject:()=>gat});async function gh(t,e,r,o=[]){if(process.platform==="win32"){let a=`@goto #_undefined_# 2>NUL || @title %COMSPEC% & @setlocal & @"${r}" ${o.map(n=>`"${n.replace('"','""')}"`).join(" ")} %*`;await ae.writeFilePromise(K.format({dir:t,name:e,ext:".cmd"}),a)}await ae.writeFilePromise(K.join(t,e),`#!/bin/sh +exec "${r}" ${o.map(a=>`'${a.replace(/'/g,`'"'"'`)}'`).join(" ")} "$@" +`,{mode:493})}async function Hue(t){let e=await _t.tryFind(t);if(e?.packageManager){let o=mb(e.packageManager);if(o?.name){let a=`found ${JSON.stringify({packageManager:e.packageManager})} in manifest`,[n]=o.reference.split(".");switch(o.name){case"yarn":return{packageManagerField:!0,packageManager:Number(n)===1?"Yarn Classic":"Yarn",reason:a};case"npm":return{packageManagerField:!0,packageManager:"npm",reason:a};case"pnpm":return{packageManagerField:!0,packageManager:"pnpm",reason:a}}}}let r;try{r=await ae.readFilePromise(K.join(t,mr.lockfile),"utf8")}catch{}return r!==void 0?r.match(/^__metadata:$/m)?{packageManager:"Yarn",reason:'"__metadata" key found in yarn.lock'}:{packageManager:"Yarn Classic",reason:'"__metadata" key not found in yarn.lock, must be a Yarn classic lockfile'}:ae.existsSync(K.join(t,"package-lock.json"))?{packageManager:"npm",reason:`found npm's "package-lock.json" lockfile`}:ae.existsSync(K.join(t,"pnpm-lock.yaml"))?{packageManager:"pnpm",reason:`found pnpm's "pnpm-lock.yaml" lockfile`}:null}async function i2({project:t,locator:e,binFolder:r,ignoreCorepack:o,lifecycleScript:a,baseEnv:n=t?.configuration.env??process.env}){let u={};for(let[E,w]of Object.entries(n))typeof w<"u"&&(u[E.toLowerCase()!=="path"?E:"PATH"]=w);let A=Ae.fromPortablePath(r);u.BERRY_BIN_FOLDER=Ae.fromPortablePath(A);let p=process.env.COREPACK_ROOT&&!o?Ae.join(process.env.COREPACK_ROOT,"dist/yarn.js"):process.argv[1];if(await Promise.all([gh(r,"node",process.execPath),...nn!==null?[gh(r,"run",process.execPath,[p,"run"]),gh(r,"yarn",process.execPath,[p]),gh(r,"yarnpkg",process.execPath,[p]),gh(r,"node-gyp",process.execPath,[p,"run","--top-level","node-gyp"])]:[]]),t&&(u.INIT_CWD=Ae.fromPortablePath(t.configuration.startingCwd),u.PROJECT_CWD=Ae.fromPortablePath(t.cwd)),u.PATH=u.PATH?`${A}${Ae.delimiter}${u.PATH}`:`${A}`,u.npm_execpath=`${A}${Ae.sep}yarn`,u.npm_node_execpath=`${A}${Ae.sep}node`,e){if(!t)throw new Error("Assertion failed: Missing project");let E=t.tryWorkspaceByLocator(e),w=E?E.manifest.version??"":t.storedPackages.get(e.locatorHash).version??"";u.npm_package_name=rn(e),u.npm_package_version=w;let D;if(E)D=E.cwd;else{let x=t.storedPackages.get(e.locatorHash);if(!x)throw new Error(`Package for ${jr(t.configuration,e)} not found in the project`);let C=t.configuration.getLinkers(),T={project:t,report:new Nt({stdout:new dh.PassThrough,configuration:t.configuration})},L=C.find(U=>U.supportsPackage(x,T));if(!L)throw new Error(`The package ${jr(t.configuration,x)} isn't supported by any of the available linkers`);D=await L.findPackageLocation(x,T)}u.npm_package_json=Ae.fromPortablePath(K.join(D,mr.manifest))}let h=nn!==null?`yarn/${nn}`:`yarn/${vf("@yarnpkg/core").version}-core`;return u.npm_config_user_agent=`${h} npm/? node/${process.version} ${process.platform} ${process.arch}`,a&&(u.npm_lifecycle_event=a),t&&await t.configuration.triggerHook(E=>E.setupScriptEnvironment,t,u,async(E,w,D)=>await gh(r,E,w,D)),u}async function gat(t,e,{configuration:r,report:o,workspace:a=null,locator:n=null}){await hat(async()=>{await ae.mktempPromise(async u=>{let A=K.join(u,"pack.log"),p=null,{stdout:h,stderr:E}=r.getSubprocessStreams(A,{prefix:Ae.fromPortablePath(t),report:o}),w=n&&Jc(n)?I1(n):n,D=w?Qa(w):"an external project";h.write(`Packing ${D} from sources +`);let x=await Hue(t),C;x!==null?(h.write(`Using ${x.packageManager} for bootstrap. Reason: ${x.reason} + +`),C=x.packageManager):(h.write(`No package manager configuration detected; defaulting to Yarn + +`),C="Yarn");let T=C==="Yarn"&&!x?.packageManagerField;await ae.mktempPromise(async L=>{let U=await i2({binFolder:L,ignoreCorepack:T,baseEnv:{...process.env,COREPACK_ENABLE_AUTO_PIN:"0"}}),te=new Map([["Yarn Classic",async()=>{let ce=a!==null?["workspace",a]:[],ue=K.join(t,mr.manifest),Ie=await ae.readFilePromise(ue),he=await Xc(process.execPath,[process.argv[1],"set","version","classic","--only-if-needed","--yarn-path"],{cwd:t,env:U,stdin:p,stdout:h,stderr:E,end:1});if(he.code!==0)return he.code;await ae.writeFilePromise(ue,Ie),await ae.appendFilePromise(K.join(t,".npmignore"),`/.yarn +`),h.write(` +`),delete U.NODE_ENV;let De=await Xc("yarn",["install"],{cwd:t,env:U,stdin:p,stdout:h,stderr:E,end:1});if(De.code!==0)return De.code;h.write(` +`);let Ee=await Xc("yarn",[...ce,"pack","--filename",Ae.fromPortablePath(e)],{cwd:t,env:U,stdin:p,stdout:h,stderr:E});return Ee.code!==0?Ee.code:0}],["Yarn",async()=>{let ce=a!==null?["workspace",a]:[];U.YARN_ENABLE_INLINE_BUILDS="1";let ue=K.join(t,mr.lockfile);await ae.existsPromise(ue)||await ae.writeFilePromise(ue,"");let Ie=await Xc("yarn",[...ce,"pack","--install-if-needed","--filename",Ae.fromPortablePath(e)],{cwd:t,env:U,stdin:p,stdout:h,stderr:E});return Ie.code!==0?Ie.code:0}],["npm",async()=>{if(a!==null){let me=new dh.PassThrough,Ce=Xm(me);me.pipe(h,{end:!1});let fe=await Xc("npm",["--version"],{cwd:t,env:U,stdin:p,stdout:me,stderr:E,end:0});if(me.end(),fe.code!==0)return h.end(),E.end(),fe.code;let ie=(await Ce).toString().trim();if(!nA(ie,">=7.x")){let Z=rA(null,"npm"),Pe=kn(Z,ie),Re=kn(Z,">=7.x");throw new Error(`Workspaces aren't supported by ${Jn(r,Pe)}; please upgrade to ${Jn(r,Re)} (npm has been detected as the primary package manager for ${Ut(r,t,Ct.PATH)})`)}}let ce=a!==null?["--workspace",a]:[];delete U.npm_config_user_agent,delete U.npm_config_production,delete U.NPM_CONFIG_PRODUCTION,delete U.NODE_ENV;let ue=await Xc("npm",["install","--legacy-peer-deps"],{cwd:t,env:U,stdin:p,stdout:h,stderr:E,end:1});if(ue.code!==0)return ue.code;let Ie=new dh.PassThrough,he=Xm(Ie);Ie.pipe(h);let De=await Xc("npm",["pack","--silent",...ce],{cwd:t,env:U,stdin:p,stdout:Ie,stderr:E});if(De.code!==0)return De.code;let Ee=(await he).toString().trim().replace(/^.*\n/s,""),g=K.resolve(t,Ae.toPortablePath(Ee));return await ae.renamePromise(g,e),0}]]).get(C);if(typeof te>"u")throw new Error("Assertion failed: Unsupported workflow");let le=await te();if(!(le===0||typeof le>"u"))throw ae.detachTemp(u),new Jt(58,`Packing the package failed (exit code ${le}, logs can be found here: ${Ut(r,A,Ct.PATH)})`)})})})}async function dat(t,e,{project:r}){let o=r.tryWorkspaceByLocator(t);if(o!==null)return i3(o,e);let a=r.storedPackages.get(t.locatorHash);if(!a)throw new Error(`Package for ${jr(r.configuration,t)} not found in the project`);return await iA.openPromise(async n=>{let u=r.configuration,A=r.configuration.getLinkers(),p={project:r,report:new Nt({stdout:new dh.PassThrough,configuration:u})},h=A.find(x=>x.supportsPackage(a,p));if(!h)throw new Error(`The package ${jr(r.configuration,a)} isn't supported by any of the available linkers`);let E=await h.findPackageLocation(a,p),w=new En(E,{baseFs:n});return(await _t.find(Bt.dot,{baseFs:w})).scripts.has(e)})}async function Dx(t,e,r,{cwd:o,project:a,stdin:n,stdout:u,stderr:A}){return await ae.mktempPromise(async p=>{let{manifest:h,env:E,cwd:w}=await que(t,{project:a,binFolder:p,cwd:o,lifecycleScript:e}),D=h.scripts.get(e);if(typeof D>"u")return 1;let x=async()=>await ky(D,r,{cwd:w,env:E,stdin:n,stdout:u,stderr:A});return await(await a.configuration.reduceHook(T=>T.wrapScriptExecution,x,a,t,e,{script:D,args:r,cwd:w,env:E,stdin:n,stdout:u,stderr:A}))()})}async function n3(t,e,r,{cwd:o,project:a,stdin:n,stdout:u,stderr:A}){return await ae.mktempPromise(async p=>{let{env:h,cwd:E}=await que(t,{project:a,binFolder:p,cwd:o});return await ky(e,r,{cwd:E,env:h,stdin:n,stdout:u,stderr:A})})}async function mat(t,{binFolder:e,cwd:r,lifecycleScript:o}){let a=await i2({project:t.project,locator:t.anchoredLocator,binFolder:e,lifecycleScript:o});return await o3(e,await Wue(t)),typeof r>"u"&&(r=K.dirname(await ae.realpathPromise(K.join(t.cwd,"package.json")))),{manifest:t.manifest,binFolder:e,env:a,cwd:r}}async function que(t,{project:e,binFolder:r,cwd:o,lifecycleScript:a}){let n=e.tryWorkspaceByLocator(t);if(n!==null)return mat(n,{binFolder:r,cwd:o,lifecycleScript:a});let u=e.storedPackages.get(t.locatorHash);if(!u)throw new Error(`Package for ${jr(e.configuration,t)} not found in the project`);return await iA.openPromise(async A=>{let p=e.configuration,h=e.configuration.getLinkers(),E={project:e,report:new Nt({stdout:new dh.PassThrough,configuration:p})},w=h.find(L=>L.supportsPackage(u,E));if(!w)throw new Error(`The package ${jr(e.configuration,u)} isn't supported by any of the available linkers`);let D=await i2({project:e,locator:t,binFolder:r,lifecycleScript:a});await o3(r,await Px(t,{project:e}));let x=await w.findPackageLocation(u,E),C=new En(x,{baseFs:A}),T=await _t.find(Bt.dot,{baseFs:C});return typeof o>"u"&&(o=x),{manifest:T,binFolder:r,env:D,cwd:o}})}async function jue(t,e,r,{cwd:o,stdin:a,stdout:n,stderr:u}){return await Dx(t.anchoredLocator,e,r,{cwd:o,project:t.project,stdin:a,stdout:n,stderr:u})}function i3(t,e){return t.manifest.scripts.has(e)}async function Gue(t,e,{cwd:r,report:o}){let{configuration:a}=t.project,n=null;await ae.mktempPromise(async u=>{let A=K.join(u,`${e}.log`),p=`# This file contains the result of Yarn calling the "${e}" lifecycle script inside a workspace ("${Ae.fromPortablePath(t.cwd)}") +`,{stdout:h,stderr:E}=a.getSubprocessStreams(A,{report:o,prefix:jr(a,t.anchoredLocator),header:p});o.reportInfo(36,`Calling the "${e}" lifecycle script`);let w=await jue(t,e,[],{cwd:r,stdin:n,stdout:h,stderr:E});if(h.end(),E.end(),w!==0)throw ae.detachTemp(u),new Jt(36,`${(0,Mue.default)(e)} script failed (exit code ${Ut(a,w,Ct.NUMBER)}, logs can be found here: ${Ut(a,A,Ct.PATH)}); run ${Ut(a,`yarn ${e}`,Ct.CODE)} to investigate`)})}async function yat(t,e,r){i3(t,e)&&await Gue(t,e,r)}function s3(t){let e=K.extname(t);if(e.match(/\.[cm]?[jt]sx?$/))return!0;if(e===".exe"||e===".bin")return!1;let r=Buffer.alloc(4),o;try{o=ae.openSync(t,"r")}catch{return!0}try{ae.readSync(o,r,0,r.length,0)}finally{ae.closeSync(o)}let a=r.readUint32BE();return!(a===3405691582||a===3489328638||a===2135247942||(a&4294901760)===1297743872)}async function Px(t,{project:e}){let r=e.configuration,o=new Map,a=e.storedPackages.get(t.locatorHash);if(!a)throw new Error(`Package for ${jr(r,t)} not found in the project`);let n=new dh.Writable,u=r.getLinkers(),A={project:e,report:new Nt({configuration:r,stdout:n})},p=new Set([t.locatorHash]);for(let E of a.dependencies.values()){let w=e.storedResolutions.get(E.descriptorHash);if(!w)throw new Error(`Assertion failed: The resolution (${Jn(r,E)}) should have been registered`);p.add(w)}let h=await Promise.all(Array.from(p,async E=>{let w=e.storedPackages.get(E);if(!w)throw new Error(`Assertion failed: The package (${E}) should have been registered`);if(w.bin.size===0)return ul.skip;let D=u.find(C=>C.supportsPackage(w,A));if(!D)return ul.skip;let x=null;try{x=await D.findPackageLocation(w,A)}catch(C){if(C.code==="LOCATOR_NOT_INSTALLED")return ul.skip;throw C}return{dependency:w,packageLocation:x}}));for(let E of h){if(E===ul.skip)continue;let{dependency:w,packageLocation:D}=E;for(let[x,C]of w.bin){let T=K.resolve(D,C);o.set(x,[w,Ae.fromPortablePath(T),s3(T)])}}return o}async function Wue(t){return await Px(t.anchoredLocator,{project:t.project})}async function o3(t,e){await Promise.all(Array.from(e,([r,[,o,a]])=>a?gh(t,r,process.execPath,[o]):gh(t,r,o,[])))}async function Yue(t,e,r,{cwd:o,project:a,stdin:n,stdout:u,stderr:A,nodeArgs:p=[],packageAccessibleBinaries:h}){h??=await Px(t,{project:a});let E=h.get(e);if(!E)throw new Error(`Binary not found (${e}) for ${jr(a.configuration,t)}`);return await ae.mktempPromise(async w=>{let[,D]=E,x=await i2({project:a,locator:t,binFolder:w});await o3(x.BERRY_BIN_FOLDER,h);let C=s3(Ae.toPortablePath(D))?Xc(process.execPath,[...p,D,...r],{cwd:o,env:x,stdin:n,stdout:u,stderr:A}):Xc(D,r,{cwd:o,env:x,stdin:n,stdout:u,stderr:A}),T;try{T=await C}finally{await ae.removePromise(x.BERRY_BIN_FOLDER)}return T.code})}async function Eat(t,e,r,{cwd:o,stdin:a,stdout:n,stderr:u,packageAccessibleBinaries:A}){return await Yue(t.anchoredLocator,e,r,{project:t.project,cwd:o,stdin:a,stdout:n,stderr:u,packageAccessibleBinaries:A})}var Mue,Uue,dh,_ue,pat,hat,a3=It(()=>{Pt();Pt();sA();z1();Mue=et(t3()),Uue=et(lg()),dh=ve("stream");Ay();Vl();n2();r2();ix();Wl();Gl();xf();Io();_ue=(a=>(a.Yarn1="Yarn Classic",a.Yarn2="Yarn",a.Npm="npm",a.Pnpm="pnpm",a))(_ue||{});pat=2,hat=(0,Uue.default)(pat)});var Fy=_((yUt,Vue)=>{"use strict";var Kue=new Map([["C","cwd"],["f","file"],["z","gzip"],["P","preservePaths"],["U","unlink"],["strip-components","strip"],["stripComponents","strip"],["keep-newer","newer"],["keepNewer","newer"],["keep-newer-files","newer"],["keepNewerFiles","newer"],["k","keep"],["keep-existing","keep"],["keepExisting","keep"],["m","noMtime"],["no-mtime","noMtime"],["p","preserveOwner"],["L","follow"],["h","follow"]]);Vue.exports=t=>t?Object.keys(t).map(e=>[Kue.has(e)?Kue.get(e):e,t[e]]).reduce((e,r)=>(e[r[0]]=r[1],e),Object.create(null)):{}});var Ty=_((EUt,nAe)=>{"use strict";var Jue=typeof process=="object"&&process?process:{stdout:null,stderr:null},Cat=ve("events"),zue=ve("stream"),Xue=ve("string_decoder").StringDecoder,Lf=Symbol("EOF"),Of=Symbol("maybeEmitEnd"),mh=Symbol("emittedEnd"),Sx=Symbol("emittingEnd"),s2=Symbol("emittedError"),bx=Symbol("closed"),Zue=Symbol("read"),xx=Symbol("flush"),$ue=Symbol("flushChunk"),Ra=Symbol("encoding"),Mf=Symbol("decoder"),kx=Symbol("flowing"),o2=Symbol("paused"),Ry=Symbol("resume"),bs=Symbol("bufferLength"),l3=Symbol("bufferPush"),c3=Symbol("bufferShift"),Do=Symbol("objectMode"),Po=Symbol("destroyed"),u3=Symbol("emitData"),eAe=Symbol("emitEnd"),A3=Symbol("emitEnd2"),Uf=Symbol("async"),a2=t=>Promise.resolve().then(t),tAe=global._MP_NO_ITERATOR_SYMBOLS_!=="1",Iat=tAe&&Symbol.asyncIterator||Symbol("asyncIterator not implemented"),wat=tAe&&Symbol.iterator||Symbol("iterator not implemented"),Bat=t=>t==="end"||t==="finish"||t==="prefinish",vat=t=>t instanceof ArrayBuffer||typeof t=="object"&&t.constructor&&t.constructor.name==="ArrayBuffer"&&t.byteLength>=0,Dat=t=>!Buffer.isBuffer(t)&&ArrayBuffer.isView(t),Qx=class{constructor(e,r,o){this.src=e,this.dest=r,this.opts=o,this.ondrain=()=>e[Ry](),r.on("drain",this.ondrain)}unpipe(){this.dest.removeListener("drain",this.ondrain)}proxyErrors(){}end(){this.unpipe(),this.opts.end&&this.dest.end()}},f3=class extends Qx{unpipe(){this.src.removeListener("error",this.proxyErrors),super.unpipe()}constructor(e,r,o){super(e,r,o),this.proxyErrors=a=>r.emit("error",a),e.on("error",this.proxyErrors)}};nAe.exports=class rAe extends zue{constructor(e){super(),this[kx]=!1,this[o2]=!1,this.pipes=[],this.buffer=[],this[Do]=e&&e.objectMode||!1,this[Do]?this[Ra]=null:this[Ra]=e&&e.encoding||null,this[Ra]==="buffer"&&(this[Ra]=null),this[Uf]=e&&!!e.async||!1,this[Mf]=this[Ra]?new Xue(this[Ra]):null,this[Lf]=!1,this[mh]=!1,this[Sx]=!1,this[bx]=!1,this[s2]=null,this.writable=!0,this.readable=!0,this[bs]=0,this[Po]=!1}get bufferLength(){return this[bs]}get encoding(){return this[Ra]}set encoding(e){if(this[Do])throw new Error("cannot set encoding in objectMode");if(this[Ra]&&e!==this[Ra]&&(this[Mf]&&this[Mf].lastNeed||this[bs]))throw new Error("cannot change encoding");this[Ra]!==e&&(this[Mf]=e?new Xue(e):null,this.buffer.length&&(this.buffer=this.buffer.map(r=>this[Mf].write(r)))),this[Ra]=e}setEncoding(e){this.encoding=e}get objectMode(){return this[Do]}set objectMode(e){this[Do]=this[Do]||!!e}get async(){return this[Uf]}set async(e){this[Uf]=this[Uf]||!!e}write(e,r,o){if(this[Lf])throw new Error("write after end");if(this[Po])return this.emit("error",Object.assign(new Error("Cannot call write after a stream was destroyed"),{code:"ERR_STREAM_DESTROYED"})),!0;typeof r=="function"&&(o=r,r="utf8"),r||(r="utf8");let a=this[Uf]?a2:n=>n();return!this[Do]&&!Buffer.isBuffer(e)&&(Dat(e)?e=Buffer.from(e.buffer,e.byteOffset,e.byteLength):vat(e)?e=Buffer.from(e):typeof e!="string"&&(this.objectMode=!0)),this[Do]?(this.flowing&&this[bs]!==0&&this[xx](!0),this.flowing?this.emit("data",e):this[l3](e),this[bs]!==0&&this.emit("readable"),o&&a(o),this.flowing):e.length?(typeof e=="string"&&!(r===this[Ra]&&!this[Mf].lastNeed)&&(e=Buffer.from(e,r)),Buffer.isBuffer(e)&&this[Ra]&&(e=this[Mf].write(e)),this.flowing&&this[bs]!==0&&this[xx](!0),this.flowing?this.emit("data",e):this[l3](e),this[bs]!==0&&this.emit("readable"),o&&a(o),this.flowing):(this[bs]!==0&&this.emit("readable"),o&&a(o),this.flowing)}read(e){if(this[Po])return null;if(this[bs]===0||e===0||e>this[bs])return this[Of](),null;this[Do]&&(e=null),this.buffer.length>1&&!this[Do]&&(this.encoding?this.buffer=[this.buffer.join("")]:this.buffer=[Buffer.concat(this.buffer,this[bs])]);let r=this[Zue](e||null,this.buffer[0]);return this[Of](),r}[Zue](e,r){return e===r.length||e===null?this[c3]():(this.buffer[0]=r.slice(e),r=r.slice(0,e),this[bs]-=e),this.emit("data",r),!this.buffer.length&&!this[Lf]&&this.emit("drain"),r}end(e,r,o){return typeof e=="function"&&(o=e,e=null),typeof r=="function"&&(o=r,r="utf8"),e&&this.write(e,r),o&&this.once("end",o),this[Lf]=!0,this.writable=!1,(this.flowing||!this[o2])&&this[Of](),this}[Ry](){this[Po]||(this[o2]=!1,this[kx]=!0,this.emit("resume"),this.buffer.length?this[xx]():this[Lf]?this[Of]():this.emit("drain"))}resume(){return this[Ry]()}pause(){this[kx]=!1,this[o2]=!0}get destroyed(){return this[Po]}get flowing(){return this[kx]}get paused(){return this[o2]}[l3](e){this[Do]?this[bs]+=1:this[bs]+=e.length,this.buffer.push(e)}[c3](){return this.buffer.length&&(this[Do]?this[bs]-=1:this[bs]-=this.buffer[0].length),this.buffer.shift()}[xx](e){do;while(this[$ue](this[c3]()));!e&&!this.buffer.length&&!this[Lf]&&this.emit("drain")}[$ue](e){return e?(this.emit("data",e),this.flowing):!1}pipe(e,r){if(this[Po])return;let o=this[mh];return r=r||{},e===Jue.stdout||e===Jue.stderr?r.end=!1:r.end=r.end!==!1,r.proxyErrors=!!r.proxyErrors,o?r.end&&e.end():(this.pipes.push(r.proxyErrors?new f3(this,e,r):new Qx(this,e,r)),this[Uf]?a2(()=>this[Ry]()):this[Ry]()),e}unpipe(e){let r=this.pipes.find(o=>o.dest===e);r&&(this.pipes.splice(this.pipes.indexOf(r),1),r.unpipe())}addListener(e,r){return this.on(e,r)}on(e,r){let o=super.on(e,r);return e==="data"&&!this.pipes.length&&!this.flowing?this[Ry]():e==="readable"&&this[bs]!==0?super.emit("readable"):Bat(e)&&this[mh]?(super.emit(e),this.removeAllListeners(e)):e==="error"&&this[s2]&&(this[Uf]?a2(()=>r.call(this,this[s2])):r.call(this,this[s2])),o}get emittedEnd(){return this[mh]}[Of](){!this[Sx]&&!this[mh]&&!this[Po]&&this.buffer.length===0&&this[Lf]&&(this[Sx]=!0,this.emit("end"),this.emit("prefinish"),this.emit("finish"),this[bx]&&this.emit("close"),this[Sx]=!1)}emit(e,r,...o){if(e!=="error"&&e!=="close"&&e!==Po&&this[Po])return;if(e==="data")return r?this[Uf]?a2(()=>this[u3](r)):this[u3](r):!1;if(e==="end")return this[eAe]();if(e==="close"){if(this[bx]=!0,!this[mh]&&!this[Po])return;let n=super.emit("close");return this.removeAllListeners("close"),n}else if(e==="error"){this[s2]=r;let n=super.emit("error",r);return this[Of](),n}else if(e==="resume"){let n=super.emit("resume");return this[Of](),n}else if(e==="finish"||e==="prefinish"){let n=super.emit(e);return this.removeAllListeners(e),n}let a=super.emit(e,r,...o);return this[Of](),a}[u3](e){for(let o of this.pipes)o.dest.write(e)===!1&&this.pause();let r=super.emit("data",e);return this[Of](),r}[eAe](){this[mh]||(this[mh]=!0,this.readable=!1,this[Uf]?a2(()=>this[A3]()):this[A3]())}[A3](){if(this[Mf]){let r=this[Mf].end();if(r){for(let o of this.pipes)o.dest.write(r);super.emit("data",r)}}for(let r of this.pipes)r.end();let e=super.emit("end");return this.removeAllListeners("end"),e}collect(){let e=[];this[Do]||(e.dataLength=0);let r=this.promise();return this.on("data",o=>{e.push(o),this[Do]||(e.dataLength+=o.length)}),r.then(()=>e)}concat(){return this[Do]?Promise.reject(new Error("cannot concat in objectMode")):this.collect().then(e=>this[Do]?Promise.reject(new Error("cannot concat in objectMode")):this[Ra]?e.join(""):Buffer.concat(e,e.dataLength))}promise(){return new Promise((e,r)=>{this.on(Po,()=>r(new Error("stream destroyed"))),this.on("error",o=>r(o)),this.on("end",()=>e())})}[Iat](){return{next:()=>{let r=this.read();if(r!==null)return Promise.resolve({done:!1,value:r});if(this[Lf])return Promise.resolve({done:!0});let o=null,a=null,n=h=>{this.removeListener("data",u),this.removeListener("end",A),a(h)},u=h=>{this.removeListener("error",n),this.removeListener("end",A),this.pause(),o({value:h,done:!!this[Lf]})},A=()=>{this.removeListener("error",n),this.removeListener("data",u),o({done:!0})},p=()=>n(new Error("stream destroyed"));return new Promise((h,E)=>{a=E,o=h,this.once(Po,p),this.once("error",n),this.once("end",A),this.once("data",u)})}}}[wat](){return{next:()=>{let r=this.read();return{value:r,done:r===null}}}}destroy(e){return this[Po]?(e?this.emit("error",e):this.emit(Po),this):(this[Po]=!0,this.buffer.length=0,this[bs]=0,typeof this.close=="function"&&!this[bx]&&this.close(),e?this.emit("error",e):this.emit(Po),this)}static isStream(e){return!!e&&(e instanceof rAe||e instanceof zue||e instanceof Cat&&(typeof e.pipe=="function"||typeof e.write=="function"&&typeof e.end=="function"))}}});var sAe=_((CUt,iAe)=>{var Pat=ve("zlib").constants||{ZLIB_VERNUM:4736};iAe.exports=Object.freeze(Object.assign(Object.create(null),{Z_NO_FLUSH:0,Z_PARTIAL_FLUSH:1,Z_SYNC_FLUSH:2,Z_FULL_FLUSH:3,Z_FINISH:4,Z_BLOCK:5,Z_OK:0,Z_STREAM_END:1,Z_NEED_DICT:2,Z_ERRNO:-1,Z_STREAM_ERROR:-2,Z_DATA_ERROR:-3,Z_MEM_ERROR:-4,Z_BUF_ERROR:-5,Z_VERSION_ERROR:-6,Z_NO_COMPRESSION:0,Z_BEST_SPEED:1,Z_BEST_COMPRESSION:9,Z_DEFAULT_COMPRESSION:-1,Z_FILTERED:1,Z_HUFFMAN_ONLY:2,Z_RLE:3,Z_FIXED:4,Z_DEFAULT_STRATEGY:0,DEFLATE:1,INFLATE:2,GZIP:3,GUNZIP:4,DEFLATERAW:5,INFLATERAW:6,UNZIP:7,BROTLI_DECODE:8,BROTLI_ENCODE:9,Z_MIN_WINDOWBITS:8,Z_MAX_WINDOWBITS:15,Z_DEFAULT_WINDOWBITS:15,Z_MIN_CHUNK:64,Z_MAX_CHUNK:1/0,Z_DEFAULT_CHUNK:16384,Z_MIN_MEMLEVEL:1,Z_MAX_MEMLEVEL:9,Z_DEFAULT_MEMLEVEL:8,Z_MIN_LEVEL:-1,Z_MAX_LEVEL:9,Z_DEFAULT_LEVEL:-1,BROTLI_OPERATION_PROCESS:0,BROTLI_OPERATION_FLUSH:1,BROTLI_OPERATION_FINISH:2,BROTLI_OPERATION_EMIT_METADATA:3,BROTLI_MODE_GENERIC:0,BROTLI_MODE_TEXT:1,BROTLI_MODE_FONT:2,BROTLI_DEFAULT_MODE:0,BROTLI_MIN_QUALITY:0,BROTLI_MAX_QUALITY:11,BROTLI_DEFAULT_QUALITY:11,BROTLI_MIN_WINDOW_BITS:10,BROTLI_MAX_WINDOW_BITS:24,BROTLI_LARGE_MAX_WINDOW_BITS:30,BROTLI_DEFAULT_WINDOW:22,BROTLI_MIN_INPUT_BLOCK_BITS:16,BROTLI_MAX_INPUT_BLOCK_BITS:24,BROTLI_PARAM_MODE:0,BROTLI_PARAM_QUALITY:1,BROTLI_PARAM_LGWIN:2,BROTLI_PARAM_LGBLOCK:3,BROTLI_PARAM_DISABLE_LITERAL_CONTEXT_MODELING:4,BROTLI_PARAM_SIZE_HINT:5,BROTLI_PARAM_LARGE_WINDOW:6,BROTLI_PARAM_NPOSTFIX:7,BROTLI_PARAM_NDIRECT:8,BROTLI_DECODER_RESULT_ERROR:0,BROTLI_DECODER_RESULT_SUCCESS:1,BROTLI_DECODER_RESULT_NEEDS_MORE_INPUT:2,BROTLI_DECODER_RESULT_NEEDS_MORE_OUTPUT:3,BROTLI_DECODER_PARAM_DISABLE_RING_BUFFER_REALLOCATION:0,BROTLI_DECODER_PARAM_LARGE_WINDOW:1,BROTLI_DECODER_NO_ERROR:0,BROTLI_DECODER_SUCCESS:1,BROTLI_DECODER_NEEDS_MORE_INPUT:2,BROTLI_DECODER_NEEDS_MORE_OUTPUT:3,BROTLI_DECODER_ERROR_FORMAT_EXUBERANT_NIBBLE:-1,BROTLI_DECODER_ERROR_FORMAT_RESERVED:-2,BROTLI_DECODER_ERROR_FORMAT_EXUBERANT_META_NIBBLE:-3,BROTLI_DECODER_ERROR_FORMAT_SIMPLE_HUFFMAN_ALPHABET:-4,BROTLI_DECODER_ERROR_FORMAT_SIMPLE_HUFFMAN_SAME:-5,BROTLI_DECODER_ERROR_FORMAT_CL_SPACE:-6,BROTLI_DECODER_ERROR_FORMAT_HUFFMAN_SPACE:-7,BROTLI_DECODER_ERROR_FORMAT_CONTEXT_MAP_REPEAT:-8,BROTLI_DECODER_ERROR_FORMAT_BLOCK_LENGTH_1:-9,BROTLI_DECODER_ERROR_FORMAT_BLOCK_LENGTH_2:-10,BROTLI_DECODER_ERROR_FORMAT_TRANSFORM:-11,BROTLI_DECODER_ERROR_FORMAT_DICTIONARY:-12,BROTLI_DECODER_ERROR_FORMAT_WINDOW_BITS:-13,BROTLI_DECODER_ERROR_FORMAT_PADDING_1:-14,BROTLI_DECODER_ERROR_FORMAT_PADDING_2:-15,BROTLI_DECODER_ERROR_FORMAT_DISTANCE:-16,BROTLI_DECODER_ERROR_DICTIONARY_NOT_SET:-19,BROTLI_DECODER_ERROR_INVALID_ARGUMENTS:-20,BROTLI_DECODER_ERROR_ALLOC_CONTEXT_MODES:-21,BROTLI_DECODER_ERROR_ALLOC_TREE_GROUPS:-22,BROTLI_DECODER_ERROR_ALLOC_CONTEXT_MAP:-25,BROTLI_DECODER_ERROR_ALLOC_RING_BUFFER_1:-26,BROTLI_DECODER_ERROR_ALLOC_RING_BUFFER_2:-27,BROTLI_DECODER_ERROR_ALLOC_BLOCK_TYPE_TREES:-30,BROTLI_DECODER_ERROR_UNREACHABLE:-31},Pat))});var b3=_(hl=>{"use strict";var m3=ve("assert"),yh=ve("buffer").Buffer,lAe=ve("zlib"),Tg=hl.constants=sAe(),Sat=Ty(),oAe=yh.concat,Ng=Symbol("_superWrite"),Ly=class extends Error{constructor(e){super("zlib: "+e.message),this.code=e.code,this.errno=e.errno,this.code||(this.code="ZLIB_ERROR"),this.message="zlib: "+e.message,Error.captureStackTrace(this,this.constructor)}get name(){return"ZlibError"}},bat=Symbol("opts"),l2=Symbol("flushFlag"),aAe=Symbol("finishFlushFlag"),S3=Symbol("fullFlushFlag"),ui=Symbol("handle"),Fx=Symbol("onError"),Ny=Symbol("sawError"),p3=Symbol("level"),h3=Symbol("strategy"),g3=Symbol("ended"),IUt=Symbol("_defaultFullFlush"),Rx=class extends Sat{constructor(e,r){if(!e||typeof e!="object")throw new TypeError("invalid options for ZlibBase constructor");super(e),this[Ny]=!1,this[g3]=!1,this[bat]=e,this[l2]=e.flush,this[aAe]=e.finishFlush;try{this[ui]=new lAe[r](e)}catch(o){throw new Ly(o)}this[Fx]=o=>{this[Ny]||(this[Ny]=!0,this.close(),this.emit("error",o))},this[ui].on("error",o=>this[Fx](new Ly(o))),this.once("end",()=>this.close)}close(){this[ui]&&(this[ui].close(),this[ui]=null,this.emit("close"))}reset(){if(!this[Ny])return m3(this[ui],"zlib binding closed"),this[ui].reset()}flush(e){this.ended||(typeof e!="number"&&(e=this[S3]),this.write(Object.assign(yh.alloc(0),{[l2]:e})))}end(e,r,o){return e&&this.write(e,r),this.flush(this[aAe]),this[g3]=!0,super.end(null,null,o)}get ended(){return this[g3]}write(e,r,o){if(typeof r=="function"&&(o=r,r="utf8"),typeof e=="string"&&(e=yh.from(e,r)),this[Ny])return;m3(this[ui],"zlib binding closed");let a=this[ui]._handle,n=a.close;a.close=()=>{};let u=this[ui].close;this[ui].close=()=>{},yh.concat=h=>h;let A;try{let h=typeof e[l2]=="number"?e[l2]:this[l2];A=this[ui]._processChunk(e,h),yh.concat=oAe}catch(h){yh.concat=oAe,this[Fx](new Ly(h))}finally{this[ui]&&(this[ui]._handle=a,a.close=n,this[ui].close=u,this[ui].removeAllListeners("error"))}this[ui]&&this[ui].on("error",h=>this[Fx](new Ly(h)));let p;if(A)if(Array.isArray(A)&&A.length>0){p=this[Ng](yh.from(A[0]));for(let h=1;h<A.length;h++)p=this[Ng](A[h])}else p=this[Ng](yh.from(A));return o&&o(),p}[Ng](e){return super.write(e)}},_f=class extends Rx{constructor(e,r){e=e||{},e.flush=e.flush||Tg.Z_NO_FLUSH,e.finishFlush=e.finishFlush||Tg.Z_FINISH,super(e,r),this[S3]=Tg.Z_FULL_FLUSH,this[p3]=e.level,this[h3]=e.strategy}params(e,r){if(!this[Ny]){if(!this[ui])throw new Error("cannot switch params when binding is closed");if(!this[ui].params)throw new Error("not supported in this implementation");if(this[p3]!==e||this[h3]!==r){this.flush(Tg.Z_SYNC_FLUSH),m3(this[ui],"zlib binding closed");let o=this[ui].flush;this[ui].flush=(a,n)=>{this.flush(a),n()};try{this[ui].params(e,r)}finally{this[ui].flush=o}this[ui]&&(this[p3]=e,this[h3]=r)}}}},y3=class extends _f{constructor(e){super(e,"Deflate")}},E3=class extends _f{constructor(e){super(e,"Inflate")}},d3=Symbol("_portable"),C3=class extends _f{constructor(e){super(e,"Gzip"),this[d3]=e&&!!e.portable}[Ng](e){return this[d3]?(this[d3]=!1,e[9]=255,super[Ng](e)):super[Ng](e)}},I3=class extends _f{constructor(e){super(e,"Gunzip")}},w3=class extends _f{constructor(e){super(e,"DeflateRaw")}},B3=class extends _f{constructor(e){super(e,"InflateRaw")}},v3=class extends _f{constructor(e){super(e,"Unzip")}},Tx=class extends Rx{constructor(e,r){e=e||{},e.flush=e.flush||Tg.BROTLI_OPERATION_PROCESS,e.finishFlush=e.finishFlush||Tg.BROTLI_OPERATION_FINISH,super(e,r),this[S3]=Tg.BROTLI_OPERATION_FLUSH}},D3=class extends Tx{constructor(e){super(e,"BrotliCompress")}},P3=class extends Tx{constructor(e){super(e,"BrotliDecompress")}};hl.Deflate=y3;hl.Inflate=E3;hl.Gzip=C3;hl.Gunzip=I3;hl.DeflateRaw=w3;hl.InflateRaw=B3;hl.Unzip=v3;typeof lAe.BrotliCompress=="function"?(hl.BrotliCompress=D3,hl.BrotliDecompress=P3):hl.BrotliCompress=hl.BrotliDecompress=class{constructor(){throw new Error("Brotli is not supported in this version of Node.js")}}});var Oy=_((vUt,cAe)=>{var xat=process.env.TESTING_TAR_FAKE_PLATFORM||process.platform;cAe.exports=xat!=="win32"?t=>t:t=>t&&t.replace(/\\/g,"/")});var Nx=_((PUt,uAe)=>{"use strict";var kat=Ty(),x3=Oy(),k3=Symbol("slurp");uAe.exports=class extends kat{constructor(e,r,o){switch(super(),this.pause(),this.extended=r,this.globalExtended=o,this.header=e,this.startBlockSize=512*Math.ceil(e.size/512),this.blockRemain=this.startBlockSize,this.remain=e.size,this.type=e.type,this.meta=!1,this.ignore=!1,this.type){case"File":case"OldFile":case"Link":case"SymbolicLink":case"CharacterDevice":case"BlockDevice":case"Directory":case"FIFO":case"ContiguousFile":case"GNUDumpDir":break;case"NextFileHasLongLinkpath":case"NextFileHasLongPath":case"OldGnuLongPath":case"GlobalExtendedHeader":case"ExtendedHeader":case"OldExtendedHeader":this.meta=!0;break;default:this.ignore=!0}this.path=x3(e.path),this.mode=e.mode,this.mode&&(this.mode=this.mode&4095),this.uid=e.uid,this.gid=e.gid,this.uname=e.uname,this.gname=e.gname,this.size=e.size,this.mtime=e.mtime,this.atime=e.atime,this.ctime=e.ctime,this.linkpath=x3(e.linkpath),this.uname=e.uname,this.gname=e.gname,r&&this[k3](r),o&&this[k3](o,!0)}write(e){let r=e.length;if(r>this.blockRemain)throw new Error("writing more to entry than is appropriate");let o=this.remain,a=this.blockRemain;return this.remain=Math.max(0,o-r),this.blockRemain=Math.max(0,a-r),this.ignore?!0:o>=r?super.write(e):super.write(e.slice(0,o))}[k3](e,r){for(let o in e)e[o]!==null&&e[o]!==void 0&&!(r&&o==="path")&&(this[o]=o==="path"||o==="linkpath"?x3(e[o]):e[o])}}});var Q3=_(Lx=>{"use strict";Lx.name=new Map([["0","File"],["","OldFile"],["1","Link"],["2","SymbolicLink"],["3","CharacterDevice"],["4","BlockDevice"],["5","Directory"],["6","FIFO"],["7","ContiguousFile"],["g","GlobalExtendedHeader"],["x","ExtendedHeader"],["A","SolarisACL"],["D","GNUDumpDir"],["I","Inode"],["K","NextFileHasLongLinkpath"],["L","NextFileHasLongPath"],["M","ContinuationFile"],["N","OldGnuLongPath"],["S","SparseFile"],["V","TapeVolumeHeader"],["X","OldExtendedHeader"]]);Lx.code=new Map(Array.from(Lx.name).map(t=>[t[1],t[0]]))});var hAe=_((bUt,pAe)=>{"use strict";var Qat=(t,e)=>{if(Number.isSafeInteger(t))t<0?Rat(t,e):Fat(t,e);else throw Error("cannot encode number outside of javascript safe integer range");return e},Fat=(t,e)=>{e[0]=128;for(var r=e.length;r>1;r--)e[r-1]=t&255,t=Math.floor(t/256)},Rat=(t,e)=>{e[0]=255;var r=!1;t=t*-1;for(var o=e.length;o>1;o--){var a=t&255;t=Math.floor(t/256),r?e[o-1]=AAe(a):a===0?e[o-1]=0:(r=!0,e[o-1]=fAe(a))}},Tat=t=>{let e=t[0],r=e===128?Lat(t.slice(1,t.length)):e===255?Nat(t):null;if(r===null)throw Error("invalid base256 encoding");if(!Number.isSafeInteger(r))throw Error("parsed number outside of javascript safe integer range");return r},Nat=t=>{for(var e=t.length,r=0,o=!1,a=e-1;a>-1;a--){var n=t[a],u;o?u=AAe(n):n===0?u=n:(o=!0,u=fAe(n)),u!==0&&(r-=u*Math.pow(256,e-a-1))}return r},Lat=t=>{for(var e=t.length,r=0,o=e-1;o>-1;o--){var a=t[o];a!==0&&(r+=a*Math.pow(256,e-o-1))}return r},AAe=t=>(255^t)&255,fAe=t=>(255^t)+1&255;pAe.exports={encode:Qat,parse:Tat}});var Uy=_((xUt,dAe)=>{"use strict";var F3=Q3(),My=ve("path").posix,gAe=hAe(),R3=Symbol("slurp"),gl=Symbol("type"),L3=class{constructor(e,r,o,a){this.cksumValid=!1,this.needPax=!1,this.nullBlock=!1,this.block=null,this.path=null,this.mode=null,this.uid=null,this.gid=null,this.size=null,this.mtime=null,this.cksum=null,this[gl]="0",this.linkpath=null,this.uname=null,this.gname=null,this.devmaj=0,this.devmin=0,this.atime=null,this.ctime=null,Buffer.isBuffer(e)?this.decode(e,r||0,o,a):e&&this.set(e)}decode(e,r,o,a){if(r||(r=0),!e||!(e.length>=r+512))throw new Error("need 512 bytes for header");if(this.path=Lg(e,r,100),this.mode=Eh(e,r+100,8),this.uid=Eh(e,r+108,8),this.gid=Eh(e,r+116,8),this.size=Eh(e,r+124,12),this.mtime=T3(e,r+136,12),this.cksum=Eh(e,r+148,12),this[R3](o),this[R3](a,!0),this[gl]=Lg(e,r+156,1),this[gl]===""&&(this[gl]="0"),this[gl]==="0"&&this.path.substr(-1)==="/"&&(this[gl]="5"),this[gl]==="5"&&(this.size=0),this.linkpath=Lg(e,r+157,100),e.slice(r+257,r+265).toString()==="ustar\x0000")if(this.uname=Lg(e,r+265,32),this.gname=Lg(e,r+297,32),this.devmaj=Eh(e,r+329,8),this.devmin=Eh(e,r+337,8),e[r+475]!==0){let u=Lg(e,r+345,155);this.path=u+"/"+this.path}else{let u=Lg(e,r+345,130);u&&(this.path=u+"/"+this.path),this.atime=T3(e,r+476,12),this.ctime=T3(e,r+488,12)}let n=8*32;for(let u=r;u<r+148;u++)n+=e[u];for(let u=r+156;u<r+512;u++)n+=e[u];this.cksumValid=n===this.cksum,this.cksum===null&&n===8*32&&(this.nullBlock=!0)}[R3](e,r){for(let o in e)e[o]!==null&&e[o]!==void 0&&!(r&&o==="path")&&(this[o]=e[o])}encode(e,r){if(e||(e=this.block=Buffer.alloc(512),r=0),r||(r=0),!(e.length>=r+512))throw new Error("need 512 bytes for header");let o=this.ctime||this.atime?130:155,a=Oat(this.path||"",o),n=a[0],u=a[1];this.needPax=a[2],this.needPax=Og(e,r,100,n)||this.needPax,this.needPax=Ch(e,r+100,8,this.mode)||this.needPax,this.needPax=Ch(e,r+108,8,this.uid)||this.needPax,this.needPax=Ch(e,r+116,8,this.gid)||this.needPax,this.needPax=Ch(e,r+124,12,this.size)||this.needPax,this.needPax=N3(e,r+136,12,this.mtime)||this.needPax,e[r+156]=this[gl].charCodeAt(0),this.needPax=Og(e,r+157,100,this.linkpath)||this.needPax,e.write("ustar\x0000",r+257,8),this.needPax=Og(e,r+265,32,this.uname)||this.needPax,this.needPax=Og(e,r+297,32,this.gname)||this.needPax,this.needPax=Ch(e,r+329,8,this.devmaj)||this.needPax,this.needPax=Ch(e,r+337,8,this.devmin)||this.needPax,this.needPax=Og(e,r+345,o,u)||this.needPax,e[r+475]!==0?this.needPax=Og(e,r+345,155,u)||this.needPax:(this.needPax=Og(e,r+345,130,u)||this.needPax,this.needPax=N3(e,r+476,12,this.atime)||this.needPax,this.needPax=N3(e,r+488,12,this.ctime)||this.needPax);let A=8*32;for(let p=r;p<r+148;p++)A+=e[p];for(let p=r+156;p<r+512;p++)A+=e[p];return this.cksum=A,Ch(e,r+148,8,this.cksum),this.cksumValid=!0,this.needPax}set(e){for(let r in e)e[r]!==null&&e[r]!==void 0&&(this[r]=e[r])}get type(){return F3.name.get(this[gl])||this[gl]}get typeKey(){return this[gl]}set type(e){F3.code.has(e)?this[gl]=F3.code.get(e):this[gl]=e}},Oat=(t,e)=>{let o=t,a="",n,u=My.parse(t).root||".";if(Buffer.byteLength(o)<100)n=[o,a,!1];else{a=My.dirname(o),o=My.basename(o);do Buffer.byteLength(o)<=100&&Buffer.byteLength(a)<=e?n=[o,a,!1]:Buffer.byteLength(o)>100&&Buffer.byteLength(a)<=e?n=[o.substr(0,99),a,!0]:(o=My.join(My.basename(a),o),a=My.dirname(a));while(a!==u&&!n);n||(n=[t.substr(0,99),"",!0])}return n},Lg=(t,e,r)=>t.slice(e,e+r).toString("utf8").replace(/\0.*/,""),T3=(t,e,r)=>Mat(Eh(t,e,r)),Mat=t=>t===null?null:new Date(t*1e3),Eh=(t,e,r)=>t[e]&128?gAe.parse(t.slice(e,e+r)):_at(t,e,r),Uat=t=>isNaN(t)?null:t,_at=(t,e,r)=>Uat(parseInt(t.slice(e,e+r).toString("utf8").replace(/\0.*$/,"").trim(),8)),Hat={12:8589934591,8:2097151},Ch=(t,e,r,o)=>o===null?!1:o>Hat[r]||o<0?(gAe.encode(o,t.slice(e,e+r)),!0):(qat(t,e,r,o),!1),qat=(t,e,r,o)=>t.write(jat(o,r),e,r,"ascii"),jat=(t,e)=>Gat(Math.floor(t).toString(8),e),Gat=(t,e)=>(t.length===e-1?t:new Array(e-t.length-1).join("0")+t+" ")+"\0",N3=(t,e,r,o)=>o===null?!1:Ch(t,e,r,o.getTime()/1e3),Wat=new Array(156).join("\0"),Og=(t,e,r,o)=>o===null?!1:(t.write(o+Wat,e,r,"utf8"),o.length!==Buffer.byteLength(o)||o.length>r);dAe.exports=L3});var Ox=_((kUt,mAe)=>{"use strict";var Yat=Uy(),Kat=ve("path"),c2=class{constructor(e,r){this.atime=e.atime||null,this.charset=e.charset||null,this.comment=e.comment||null,this.ctime=e.ctime||null,this.gid=e.gid||null,this.gname=e.gname||null,this.linkpath=e.linkpath||null,this.mtime=e.mtime||null,this.path=e.path||null,this.size=e.size||null,this.uid=e.uid||null,this.uname=e.uname||null,this.dev=e.dev||null,this.ino=e.ino||null,this.nlink=e.nlink||null,this.global=r||!1}encode(){let e=this.encodeBody();if(e==="")return null;let r=Buffer.byteLength(e),o=512*Math.ceil(1+r/512),a=Buffer.allocUnsafe(o);for(let n=0;n<512;n++)a[n]=0;new Yat({path:("PaxHeader/"+Kat.basename(this.path)).slice(0,99),mode:this.mode||420,uid:this.uid||null,gid:this.gid||null,size:r,mtime:this.mtime||null,type:this.global?"GlobalExtendedHeader":"ExtendedHeader",linkpath:"",uname:this.uname||"",gname:this.gname||"",devmaj:0,devmin:0,atime:this.atime||null,ctime:this.ctime||null}).encode(a),a.write(e,512,r,"utf8");for(let n=r+512;n<a.length;n++)a[n]=0;return a}encodeBody(){return this.encodeField("path")+this.encodeField("ctime")+this.encodeField("atime")+this.encodeField("dev")+this.encodeField("ino")+this.encodeField("nlink")+this.encodeField("charset")+this.encodeField("comment")+this.encodeField("gid")+this.encodeField("gname")+this.encodeField("linkpath")+this.encodeField("mtime")+this.encodeField("size")+this.encodeField("uid")+this.encodeField("uname")}encodeField(e){if(this[e]===null||this[e]===void 0)return"";let r=this[e]instanceof Date?this[e].getTime()/1e3:this[e],o=" "+(e==="dev"||e==="ino"||e==="nlink"?"SCHILY.":"")+e+"="+r+` +`,a=Buffer.byteLength(o),n=Math.floor(Math.log(a)/Math.log(10))+1;return a+n>=Math.pow(10,n)&&(n+=1),n+a+o}};c2.parse=(t,e,r)=>new c2(Vat(Jat(t),e),r);var Vat=(t,e)=>e?Object.keys(t).reduce((r,o)=>(r[o]=t[o],r),e):t,Jat=t=>t.replace(/\n$/,"").split(` +`).reduce(zat,Object.create(null)),zat=(t,e)=>{let r=parseInt(e,10);if(r!==Buffer.byteLength(e)+1)return t;e=e.substr((r+" ").length);let o=e.split("="),a=o.shift().replace(/^SCHILY\.(dev|ino|nlink)/,"$1");if(!a)return t;let n=o.join("=");return t[a]=/^([A-Z]+\.)?([mac]|birth|creation)time$/.test(a)?new Date(n*1e3):/^[0-9]+$/.test(n)?+n:n,t};mAe.exports=c2});var _y=_((QUt,yAe)=>{yAe.exports=t=>{let e=t.length-1,r=-1;for(;e>-1&&t.charAt(e)==="/";)r=e,e--;return r===-1?t:t.slice(0,r)}});var Mx=_((FUt,EAe)=>{"use strict";EAe.exports=t=>class extends t{warn(e,r,o={}){this.file&&(o.file=this.file),this.cwd&&(o.cwd=this.cwd),o.code=r instanceof Error&&r.code||e,o.tarCode=e,!this.strict&&o.recoverable!==!1?(r instanceof Error&&(o=Object.assign(r,o),r=r.message),this.emit("warn",o.tarCode,r,o)):r instanceof Error?this.emit("error",Object.assign(r,o)):this.emit("error",Object.assign(new Error(`${e}: ${r}`),o))}}});var M3=_((TUt,CAe)=>{"use strict";var Ux=["|","<",">","?",":"],O3=Ux.map(t=>String.fromCharCode(61440+t.charCodeAt(0))),Xat=new Map(Ux.map((t,e)=>[t,O3[e]])),Zat=new Map(O3.map((t,e)=>[t,Ux[e]]));CAe.exports={encode:t=>Ux.reduce((e,r)=>e.split(r).join(Xat.get(r)),t),decode:t=>O3.reduce((e,r)=>e.split(r).join(Zat.get(r)),t)}});var U3=_((NUt,wAe)=>{var{isAbsolute:$at,parse:IAe}=ve("path").win32;wAe.exports=t=>{let e="",r=IAe(t);for(;$at(t)||r.root;){let o=t.charAt(0)==="/"&&t.slice(0,4)!=="//?/"?"/":r.root;t=t.substr(o.length),e+=o,r=IAe(t)}return[e,t]}});var vAe=_((LUt,BAe)=>{"use strict";BAe.exports=(t,e,r)=>(t&=4095,r&&(t=(t|384)&-19),e&&(t&256&&(t|=64),t&32&&(t|=8),t&4&&(t|=1)),t)});var J3=_((UUt,MAe)=>{"use strict";var QAe=Ty(),FAe=Ox(),RAe=Uy(),lA=ve("fs"),DAe=ve("path"),aA=Oy(),elt=_y(),TAe=(t,e)=>e?(t=aA(t).replace(/^\.(\/|$)/,""),elt(e)+"/"+t):aA(t),tlt=16*1024*1024,PAe=Symbol("process"),SAe=Symbol("file"),bAe=Symbol("directory"),H3=Symbol("symlink"),xAe=Symbol("hardlink"),u2=Symbol("header"),_x=Symbol("read"),q3=Symbol("lstat"),Hx=Symbol("onlstat"),j3=Symbol("onread"),G3=Symbol("onreadlink"),W3=Symbol("openfile"),Y3=Symbol("onopenfile"),Ih=Symbol("close"),qx=Symbol("mode"),K3=Symbol("awaitDrain"),_3=Symbol("ondrain"),cA=Symbol("prefix"),kAe=Symbol("hadError"),NAe=Mx(),rlt=M3(),LAe=U3(),OAe=vAe(),jx=NAe(class extends QAe{constructor(e,r){if(r=r||{},super(r),typeof e!="string")throw new TypeError("path is required");this.path=aA(e),this.portable=!!r.portable,this.myuid=process.getuid&&process.getuid()||0,this.myuser=process.env.USER||"",this.maxReadSize=r.maxReadSize||tlt,this.linkCache=r.linkCache||new Map,this.statCache=r.statCache||new Map,this.preservePaths=!!r.preservePaths,this.cwd=aA(r.cwd||process.cwd()),this.strict=!!r.strict,this.noPax=!!r.noPax,this.noMtime=!!r.noMtime,this.mtime=r.mtime||null,this.prefix=r.prefix?aA(r.prefix):null,this.fd=null,this.blockLen=null,this.blockRemain=null,this.buf=null,this.offset=null,this.length=null,this.pos=null,this.remain=null,typeof r.onwarn=="function"&&this.on("warn",r.onwarn);let o=!1;if(!this.preservePaths){let[a,n]=LAe(this.path);a&&(this.path=n,o=a)}this.win32=!!r.win32||process.platform==="win32",this.win32&&(this.path=rlt.decode(this.path.replace(/\\/g,"/")),e=e.replace(/\\/g,"/")),this.absolute=aA(r.absolute||DAe.resolve(this.cwd,e)),this.path===""&&(this.path="./"),o&&this.warn("TAR_ENTRY_INFO",`stripping ${o} from absolute path`,{entry:this,path:o+this.path}),this.statCache.has(this.absolute)?this[Hx](this.statCache.get(this.absolute)):this[q3]()}emit(e,...r){return e==="error"&&(this[kAe]=!0),super.emit(e,...r)}[q3](){lA.lstat(this.absolute,(e,r)=>{if(e)return this.emit("error",e);this[Hx](r)})}[Hx](e){this.statCache.set(this.absolute,e),this.stat=e,e.isFile()||(e.size=0),this.type=ilt(e),this.emit("stat",e),this[PAe]()}[PAe](){switch(this.type){case"File":return this[SAe]();case"Directory":return this[bAe]();case"SymbolicLink":return this[H3]();default:return this.end()}}[qx](e){return OAe(e,this.type==="Directory",this.portable)}[cA](e){return TAe(e,this.prefix)}[u2](){this.type==="Directory"&&this.portable&&(this.noMtime=!0),this.header=new RAe({path:this[cA](this.path),linkpath:this.type==="Link"?this[cA](this.linkpath):this.linkpath,mode:this[qx](this.stat.mode),uid:this.portable?null:this.stat.uid,gid:this.portable?null:this.stat.gid,size:this.stat.size,mtime:this.noMtime?null:this.mtime||this.stat.mtime,type:this.type,uname:this.portable?null:this.stat.uid===this.myuid?this.myuser:"",atime:this.portable?null:this.stat.atime,ctime:this.portable?null:this.stat.ctime}),this.header.encode()&&!this.noPax&&super.write(new FAe({atime:this.portable?null:this.header.atime,ctime:this.portable?null:this.header.ctime,gid:this.portable?null:this.header.gid,mtime:this.noMtime?null:this.mtime||this.header.mtime,path:this[cA](this.path),linkpath:this.type==="Link"?this[cA](this.linkpath):this.linkpath,size:this.header.size,uid:this.portable?null:this.header.uid,uname:this.portable?null:this.header.uname,dev:this.portable?null:this.stat.dev,ino:this.portable?null:this.stat.ino,nlink:this.portable?null:this.stat.nlink}).encode()),super.write(this.header.block)}[bAe](){this.path.substr(-1)!=="/"&&(this.path+="/"),this.stat.size=0,this[u2](),this.end()}[H3](){lA.readlink(this.absolute,(e,r)=>{if(e)return this.emit("error",e);this[G3](r)})}[G3](e){this.linkpath=aA(e),this[u2](),this.end()}[xAe](e){this.type="Link",this.linkpath=aA(DAe.relative(this.cwd,e)),this.stat.size=0,this[u2](),this.end()}[SAe](){if(this.stat.nlink>1){let e=this.stat.dev+":"+this.stat.ino;if(this.linkCache.has(e)){let r=this.linkCache.get(e);if(r.indexOf(this.cwd)===0)return this[xAe](r)}this.linkCache.set(e,this.absolute)}if(this[u2](),this.stat.size===0)return this.end();this[W3]()}[W3](){lA.open(this.absolute,"r",(e,r)=>{if(e)return this.emit("error",e);this[Y3](r)})}[Y3](e){if(this.fd=e,this[kAe])return this[Ih]();this.blockLen=512*Math.ceil(this.stat.size/512),this.blockRemain=this.blockLen;let r=Math.min(this.blockLen,this.maxReadSize);this.buf=Buffer.allocUnsafe(r),this.offset=0,this.pos=0,this.remain=this.stat.size,this.length=this.buf.length,this[_x]()}[_x](){let{fd:e,buf:r,offset:o,length:a,pos:n}=this;lA.read(e,r,o,a,n,(u,A)=>{if(u)return this[Ih](()=>this.emit("error",u));this[j3](A)})}[Ih](e){lA.close(this.fd,e)}[j3](e){if(e<=0&&this.remain>0){let a=new Error("encountered unexpected EOF");return a.path=this.absolute,a.syscall="read",a.code="EOF",this[Ih](()=>this.emit("error",a))}if(e>this.remain){let a=new Error("did not encounter expected EOF");return a.path=this.absolute,a.syscall="read",a.code="EOF",this[Ih](()=>this.emit("error",a))}if(e===this.remain)for(let a=e;a<this.length&&e<this.blockRemain;a++)this.buf[a+this.offset]=0,e++,this.remain++;let r=this.offset===0&&e===this.buf.length?this.buf:this.buf.slice(this.offset,this.offset+e);this.write(r)?this[_3]():this[K3](()=>this[_3]())}[K3](e){this.once("drain",e)}write(e){if(this.blockRemain<e.length){let r=new Error("writing more data than expected");return r.path=this.absolute,this.emit("error",r)}return this.remain-=e.length,this.blockRemain-=e.length,this.pos+=e.length,this.offset+=e.length,super.write(e)}[_3](){if(!this.remain)return this.blockRemain&&super.write(Buffer.alloc(this.blockRemain)),this[Ih](e=>e?this.emit("error",e):this.end());this.offset>=this.length&&(this.buf=Buffer.allocUnsafe(Math.min(this.blockRemain,this.buf.length)),this.offset=0),this.length=this.buf.length-this.offset,this[_x]()}}),V3=class extends jx{[q3](){this[Hx](lA.lstatSync(this.absolute))}[H3](){this[G3](lA.readlinkSync(this.absolute))}[W3](){this[Y3](lA.openSync(this.absolute,"r"))}[_x](){let e=!0;try{let{fd:r,buf:o,offset:a,length:n,pos:u}=this,A=lA.readSync(r,o,a,n,u);this[j3](A),e=!1}finally{if(e)try{this[Ih](()=>{})}catch{}}}[K3](e){e()}[Ih](e){lA.closeSync(this.fd),e()}},nlt=NAe(class extends QAe{constructor(e,r){r=r||{},super(r),this.preservePaths=!!r.preservePaths,this.portable=!!r.portable,this.strict=!!r.strict,this.noPax=!!r.noPax,this.noMtime=!!r.noMtime,this.readEntry=e,this.type=e.type,this.type==="Directory"&&this.portable&&(this.noMtime=!0),this.prefix=r.prefix||null,this.path=aA(e.path),this.mode=this[qx](e.mode),this.uid=this.portable?null:e.uid,this.gid=this.portable?null:e.gid,this.uname=this.portable?null:e.uname,this.gname=this.portable?null:e.gname,this.size=e.size,this.mtime=this.noMtime?null:r.mtime||e.mtime,this.atime=this.portable?null:e.atime,this.ctime=this.portable?null:e.ctime,this.linkpath=aA(e.linkpath),typeof r.onwarn=="function"&&this.on("warn",r.onwarn);let o=!1;if(!this.preservePaths){let[a,n]=LAe(this.path);a&&(this.path=n,o=a)}this.remain=e.size,this.blockRemain=e.startBlockSize,this.header=new RAe({path:this[cA](this.path),linkpath:this.type==="Link"?this[cA](this.linkpath):this.linkpath,mode:this.mode,uid:this.portable?null:this.uid,gid:this.portable?null:this.gid,size:this.size,mtime:this.noMtime?null:this.mtime,type:this.type,uname:this.portable?null:this.uname,atime:this.portable?null:this.atime,ctime:this.portable?null:this.ctime}),o&&this.warn("TAR_ENTRY_INFO",`stripping ${o} from absolute path`,{entry:this,path:o+this.path}),this.header.encode()&&!this.noPax&&super.write(new FAe({atime:this.portable?null:this.atime,ctime:this.portable?null:this.ctime,gid:this.portable?null:this.gid,mtime:this.noMtime?null:this.mtime,path:this[cA](this.path),linkpath:this.type==="Link"?this[cA](this.linkpath):this.linkpath,size:this.size,uid:this.portable?null:this.uid,uname:this.portable?null:this.uname,dev:this.portable?null:this.readEntry.dev,ino:this.portable?null:this.readEntry.ino,nlink:this.portable?null:this.readEntry.nlink}).encode()),super.write(this.header.block),e.pipe(this)}[cA](e){return TAe(e,this.prefix)}[qx](e){return OAe(e,this.type==="Directory",this.portable)}write(e){let r=e.length;if(r>this.blockRemain)throw new Error("writing more to entry than is appropriate");return this.blockRemain-=r,super.write(e)}end(){return this.blockRemain&&super.write(Buffer.alloc(this.blockRemain)),super.end()}});jx.Sync=V3;jx.Tar=nlt;var ilt=t=>t.isFile()?"File":t.isDirectory()?"Directory":t.isSymbolicLink()?"SymbolicLink":"Unsupported";MAe.exports=jx});var Zx=_((HUt,WAe)=>{"use strict";var zx=class{constructor(e,r){this.path=e||"./",this.absolute=r,this.entry=null,this.stat=null,this.readdir=null,this.pending=!1,this.ignore=!1,this.piped=!1}},slt=Ty(),olt=b3(),alt=Nx(),i8=J3(),llt=i8.Sync,clt=i8.Tar,ult=$P(),UAe=Buffer.alloc(1024),Yx=Symbol("onStat"),Gx=Symbol("ended"),uA=Symbol("queue"),Hy=Symbol("current"),Mg=Symbol("process"),Wx=Symbol("processing"),_Ae=Symbol("processJob"),AA=Symbol("jobs"),z3=Symbol("jobDone"),Kx=Symbol("addFSEntry"),HAe=Symbol("addTarEntry"),e8=Symbol("stat"),t8=Symbol("readdir"),Vx=Symbol("onreaddir"),Jx=Symbol("pipe"),qAe=Symbol("entry"),X3=Symbol("entryOpt"),r8=Symbol("writeEntryClass"),GAe=Symbol("write"),Z3=Symbol("ondrain"),Xx=ve("fs"),jAe=ve("path"),Alt=Mx(),$3=Oy(),s8=Alt(class extends slt{constructor(e){super(e),e=e||Object.create(null),this.opt=e,this.file=e.file||"",this.cwd=e.cwd||process.cwd(),this.maxReadSize=e.maxReadSize,this.preservePaths=!!e.preservePaths,this.strict=!!e.strict,this.noPax=!!e.noPax,this.prefix=$3(e.prefix||""),this.linkCache=e.linkCache||new Map,this.statCache=e.statCache||new Map,this.readdirCache=e.readdirCache||new Map,this[r8]=i8,typeof e.onwarn=="function"&&this.on("warn",e.onwarn),this.portable=!!e.portable,this.zip=null,e.gzip?(typeof e.gzip!="object"&&(e.gzip={}),this.portable&&(e.gzip.portable=!0),this.zip=new olt.Gzip(e.gzip),this.zip.on("data",r=>super.write(r)),this.zip.on("end",r=>super.end()),this.zip.on("drain",r=>this[Z3]()),this.on("resume",r=>this.zip.resume())):this.on("drain",this[Z3]),this.noDirRecurse=!!e.noDirRecurse,this.follow=!!e.follow,this.noMtime=!!e.noMtime,this.mtime=e.mtime||null,this.filter=typeof e.filter=="function"?e.filter:r=>!0,this[uA]=new ult,this[AA]=0,this.jobs=+e.jobs||4,this[Wx]=!1,this[Gx]=!1}[GAe](e){return super.write(e)}add(e){return this.write(e),this}end(e){return e&&this.write(e),this[Gx]=!0,this[Mg](),this}write(e){if(this[Gx])throw new Error("write after end");return e instanceof alt?this[HAe](e):this[Kx](e),this.flowing}[HAe](e){let r=$3(jAe.resolve(this.cwd,e.path));if(!this.filter(e.path,e))e.resume();else{let o=new zx(e.path,r,!1);o.entry=new clt(e,this[X3](o)),o.entry.on("end",a=>this[z3](o)),this[AA]+=1,this[uA].push(o)}this[Mg]()}[Kx](e){let r=$3(jAe.resolve(this.cwd,e));this[uA].push(new zx(e,r)),this[Mg]()}[e8](e){e.pending=!0,this[AA]+=1;let r=this.follow?"stat":"lstat";Xx[r](e.absolute,(o,a)=>{e.pending=!1,this[AA]-=1,o?this.emit("error",o):this[Yx](e,a)})}[Yx](e,r){this.statCache.set(e.absolute,r),e.stat=r,this.filter(e.path,r)||(e.ignore=!0),this[Mg]()}[t8](e){e.pending=!0,this[AA]+=1,Xx.readdir(e.absolute,(r,o)=>{if(e.pending=!1,this[AA]-=1,r)return this.emit("error",r);this[Vx](e,o)})}[Vx](e,r){this.readdirCache.set(e.absolute,r),e.readdir=r,this[Mg]()}[Mg](){if(!this[Wx]){this[Wx]=!0;for(let e=this[uA].head;e!==null&&this[AA]<this.jobs;e=e.next)if(this[_Ae](e.value),e.value.ignore){let r=e.next;this[uA].removeNode(e),e.next=r}this[Wx]=!1,this[Gx]&&!this[uA].length&&this[AA]===0&&(this.zip?this.zip.end(UAe):(super.write(UAe),super.end()))}}get[Hy](){return this[uA]&&this[uA].head&&this[uA].head.value}[z3](e){this[uA].shift(),this[AA]-=1,this[Mg]()}[_Ae](e){if(!e.pending){if(e.entry){e===this[Hy]&&!e.piped&&this[Jx](e);return}if(e.stat||(this.statCache.has(e.absolute)?this[Yx](e,this.statCache.get(e.absolute)):this[e8](e)),!!e.stat&&!e.ignore&&!(!this.noDirRecurse&&e.stat.isDirectory()&&!e.readdir&&(this.readdirCache.has(e.absolute)?this[Vx](e,this.readdirCache.get(e.absolute)):this[t8](e),!e.readdir))){if(e.entry=this[qAe](e),!e.entry){e.ignore=!0;return}e===this[Hy]&&!e.piped&&this[Jx](e)}}}[X3](e){return{onwarn:(r,o,a)=>this.warn(r,o,a),noPax:this.noPax,cwd:this.cwd,absolute:e.absolute,preservePaths:this.preservePaths,maxReadSize:this.maxReadSize,strict:this.strict,portable:this.portable,linkCache:this.linkCache,statCache:this.statCache,noMtime:this.noMtime,mtime:this.mtime,prefix:this.prefix}}[qAe](e){this[AA]+=1;try{return new this[r8](e.path,this[X3](e)).on("end",()=>this[z3](e)).on("error",r=>this.emit("error",r))}catch(r){this.emit("error",r)}}[Z3](){this[Hy]&&this[Hy].entry&&this[Hy].entry.resume()}[Jx](e){e.piped=!0,e.readdir&&e.readdir.forEach(a=>{let n=e.path,u=n==="./"?"":n.replace(/\/*$/,"/");this[Kx](u+a)});let r=e.entry,o=this.zip;o?r.on("data",a=>{o.write(a)||r.pause()}):r.on("data",a=>{super.write(a)||r.pause()})}pause(){return this.zip&&this.zip.pause(),super.pause()}}),n8=class extends s8{constructor(e){super(e),this[r8]=llt}pause(){}resume(){}[e8](e){let r=this.follow?"statSync":"lstatSync";this[Yx](e,Xx[r](e.absolute))}[t8](e,r){this[Vx](e,Xx.readdirSync(e.absolute))}[Jx](e){let r=e.entry,o=this.zip;e.readdir&&e.readdir.forEach(a=>{let n=e.path,u=n==="./"?"":n.replace(/\/*$/,"/");this[Kx](u+a)}),o?r.on("data",a=>{o.write(a)}):r.on("data",a=>{super[GAe](a)})}};s8.Sync=n8;WAe.exports=s8});var Jy=_(f2=>{"use strict";var flt=Ty(),plt=ve("events").EventEmitter,Ta=ve("fs"),l8=Ta.writev;if(!l8){let t=process.binding("fs"),e=t.FSReqWrap||t.FSReqCallback;l8=(r,o,a,n)=>{let u=(p,h)=>n(p,h,o),A=new e;A.oncomplete=u,t.writeBuffers(r,o,a,A)}}var Ky=Symbol("_autoClose"),Zc=Symbol("_close"),A2=Symbol("_ended"),zn=Symbol("_fd"),YAe=Symbol("_finished"),Bh=Symbol("_flags"),o8=Symbol("_flush"),c8=Symbol("_handleChunk"),u8=Symbol("_makeBuf"),nk=Symbol("_mode"),$x=Symbol("_needDrain"),Wy=Symbol("_onerror"),Vy=Symbol("_onopen"),a8=Symbol("_onread"),jy=Symbol("_onwrite"),vh=Symbol("_open"),Hf=Symbol("_path"),Ug=Symbol("_pos"),fA=Symbol("_queue"),Gy=Symbol("_read"),KAe=Symbol("_readSize"),wh=Symbol("_reading"),ek=Symbol("_remain"),VAe=Symbol("_size"),tk=Symbol("_write"),qy=Symbol("_writing"),rk=Symbol("_defaultFlag"),Yy=Symbol("_errored"),ik=class extends flt{constructor(e,r){if(r=r||{},super(r),this.readable=!0,this.writable=!1,typeof e!="string")throw new TypeError("path must be a string");this[Yy]=!1,this[zn]=typeof r.fd=="number"?r.fd:null,this[Hf]=e,this[KAe]=r.readSize||16*1024*1024,this[wh]=!1,this[VAe]=typeof r.size=="number"?r.size:1/0,this[ek]=this[VAe],this[Ky]=typeof r.autoClose=="boolean"?r.autoClose:!0,typeof this[zn]=="number"?this[Gy]():this[vh]()}get fd(){return this[zn]}get path(){return this[Hf]}write(){throw new TypeError("this is a readable stream")}end(){throw new TypeError("this is a readable stream")}[vh](){Ta.open(this[Hf],"r",(e,r)=>this[Vy](e,r))}[Vy](e,r){e?this[Wy](e):(this[zn]=r,this.emit("open",r),this[Gy]())}[u8](){return Buffer.allocUnsafe(Math.min(this[KAe],this[ek]))}[Gy](){if(!this[wh]){this[wh]=!0;let e=this[u8]();if(e.length===0)return process.nextTick(()=>this[a8](null,0,e));Ta.read(this[zn],e,0,e.length,null,(r,o,a)=>this[a8](r,o,a))}}[a8](e,r,o){this[wh]=!1,e?this[Wy](e):this[c8](r,o)&&this[Gy]()}[Zc](){if(this[Ky]&&typeof this[zn]=="number"){let e=this[zn];this[zn]=null,Ta.close(e,r=>r?this.emit("error",r):this.emit("close"))}}[Wy](e){this[wh]=!0,this[Zc](),this.emit("error",e)}[c8](e,r){let o=!1;return this[ek]-=e,e>0&&(o=super.write(e<r.length?r.slice(0,e):r)),(e===0||this[ek]<=0)&&(o=!1,this[Zc](),super.end()),o}emit(e,r){switch(e){case"prefinish":case"finish":break;case"drain":typeof this[zn]=="number"&&this[Gy]();break;case"error":return this[Yy]?void 0:(this[Yy]=!0,super.emit(e,r));default:return super.emit(e,r)}}},A8=class extends ik{[vh](){let e=!0;try{this[Vy](null,Ta.openSync(this[Hf],"r")),e=!1}finally{e&&this[Zc]()}}[Gy](){let e=!0;try{if(!this[wh]){this[wh]=!0;do{let r=this[u8](),o=r.length===0?0:Ta.readSync(this[zn],r,0,r.length,null);if(!this[c8](o,r))break}while(!0);this[wh]=!1}e=!1}finally{e&&this[Zc]()}}[Zc](){if(this[Ky]&&typeof this[zn]=="number"){let e=this[zn];this[zn]=null,Ta.closeSync(e),this.emit("close")}}},sk=class extends plt{constructor(e,r){r=r||{},super(r),this.readable=!1,this.writable=!0,this[Yy]=!1,this[qy]=!1,this[A2]=!1,this[$x]=!1,this[fA]=[],this[Hf]=e,this[zn]=typeof r.fd=="number"?r.fd:null,this[nk]=r.mode===void 0?438:r.mode,this[Ug]=typeof r.start=="number"?r.start:null,this[Ky]=typeof r.autoClose=="boolean"?r.autoClose:!0;let o=this[Ug]!==null?"r+":"w";this[rk]=r.flags===void 0,this[Bh]=this[rk]?o:r.flags,this[zn]===null&&this[vh]()}emit(e,r){if(e==="error"){if(this[Yy])return;this[Yy]=!0}return super.emit(e,r)}get fd(){return this[zn]}get path(){return this[Hf]}[Wy](e){this[Zc](),this[qy]=!0,this.emit("error",e)}[vh](){Ta.open(this[Hf],this[Bh],this[nk],(e,r)=>this[Vy](e,r))}[Vy](e,r){this[rk]&&this[Bh]==="r+"&&e&&e.code==="ENOENT"?(this[Bh]="w",this[vh]()):e?this[Wy](e):(this[zn]=r,this.emit("open",r),this[o8]())}end(e,r){return e&&this.write(e,r),this[A2]=!0,!this[qy]&&!this[fA].length&&typeof this[zn]=="number"&&this[jy](null,0),this}write(e,r){return typeof e=="string"&&(e=Buffer.from(e,r)),this[A2]?(this.emit("error",new Error("write() after end()")),!1):this[zn]===null||this[qy]||this[fA].length?(this[fA].push(e),this[$x]=!0,!1):(this[qy]=!0,this[tk](e),!0)}[tk](e){Ta.write(this[zn],e,0,e.length,this[Ug],(r,o)=>this[jy](r,o))}[jy](e,r){e?this[Wy](e):(this[Ug]!==null&&(this[Ug]+=r),this[fA].length?this[o8]():(this[qy]=!1,this[A2]&&!this[YAe]?(this[YAe]=!0,this[Zc](),this.emit("finish")):this[$x]&&(this[$x]=!1,this.emit("drain"))))}[o8](){if(this[fA].length===0)this[A2]&&this[jy](null,0);else if(this[fA].length===1)this[tk](this[fA].pop());else{let e=this[fA];this[fA]=[],l8(this[zn],e,this[Ug],(r,o)=>this[jy](r,o))}}[Zc](){if(this[Ky]&&typeof this[zn]=="number"){let e=this[zn];this[zn]=null,Ta.close(e,r=>r?this.emit("error",r):this.emit("close"))}}},f8=class extends sk{[vh](){let e;if(this[rk]&&this[Bh]==="r+")try{e=Ta.openSync(this[Hf],this[Bh],this[nk])}catch(r){if(r.code==="ENOENT")return this[Bh]="w",this[vh]();throw r}else e=Ta.openSync(this[Hf],this[Bh],this[nk]);this[Vy](null,e)}[Zc](){if(this[Ky]&&typeof this[zn]=="number"){let e=this[zn];this[zn]=null,Ta.closeSync(e),this.emit("close")}}[tk](e){let r=!0;try{this[jy](null,Ta.writeSync(this[zn],e,0,e.length,this[Ug])),r=!1}finally{if(r)try{this[Zc]()}catch{}}}};f2.ReadStream=ik;f2.ReadStreamSync=A8;f2.WriteStream=sk;f2.WriteStreamSync=f8});var fk=_((GUt,tfe)=>{"use strict";var hlt=Mx(),glt=Uy(),dlt=ve("events"),mlt=$P(),ylt=1024*1024,Elt=Nx(),JAe=Ox(),Clt=b3(),p8=Buffer.from([31,139]),$l=Symbol("state"),_g=Symbol("writeEntry"),qf=Symbol("readEntry"),h8=Symbol("nextEntry"),zAe=Symbol("processEntry"),ec=Symbol("extendedHeader"),p2=Symbol("globalExtendedHeader"),Dh=Symbol("meta"),XAe=Symbol("emitMeta"),yi=Symbol("buffer"),jf=Symbol("queue"),Hg=Symbol("ended"),ZAe=Symbol("emittedEnd"),qg=Symbol("emit"),Na=Symbol("unzip"),ok=Symbol("consumeChunk"),ak=Symbol("consumeChunkSub"),g8=Symbol("consumeBody"),$Ae=Symbol("consumeMeta"),efe=Symbol("consumeHeader"),lk=Symbol("consuming"),d8=Symbol("bufferConcat"),m8=Symbol("maybeEnd"),h2=Symbol("writing"),Ph=Symbol("aborted"),ck=Symbol("onDone"),jg=Symbol("sawValidEntry"),uk=Symbol("sawNullBlock"),Ak=Symbol("sawEOF"),Ilt=t=>!0;tfe.exports=hlt(class extends dlt{constructor(e){e=e||{},super(e),this.file=e.file||"",this[jg]=null,this.on(ck,r=>{(this[$l]==="begin"||this[jg]===!1)&&this.warn("TAR_BAD_ARCHIVE","Unrecognized archive format")}),e.ondone?this.on(ck,e.ondone):this.on(ck,r=>{this.emit("prefinish"),this.emit("finish"),this.emit("end"),this.emit("close")}),this.strict=!!e.strict,this.maxMetaEntrySize=e.maxMetaEntrySize||ylt,this.filter=typeof e.filter=="function"?e.filter:Ilt,this.writable=!0,this.readable=!1,this[jf]=new mlt,this[yi]=null,this[qf]=null,this[_g]=null,this[$l]="begin",this[Dh]="",this[ec]=null,this[p2]=null,this[Hg]=!1,this[Na]=null,this[Ph]=!1,this[uk]=!1,this[Ak]=!1,typeof e.onwarn=="function"&&this.on("warn",e.onwarn),typeof e.onentry=="function"&&this.on("entry",e.onentry)}[efe](e,r){this[jg]===null&&(this[jg]=!1);let o;try{o=new glt(e,r,this[ec],this[p2])}catch(a){return this.warn("TAR_ENTRY_INVALID",a)}if(o.nullBlock)this[uk]?(this[Ak]=!0,this[$l]==="begin"&&(this[$l]="header"),this[qg]("eof")):(this[uk]=!0,this[qg]("nullBlock"));else if(this[uk]=!1,!o.cksumValid)this.warn("TAR_ENTRY_INVALID","checksum failure",{header:o});else if(!o.path)this.warn("TAR_ENTRY_INVALID","path is required",{header:o});else{let a=o.type;if(/^(Symbolic)?Link$/.test(a)&&!o.linkpath)this.warn("TAR_ENTRY_INVALID","linkpath required",{header:o});else if(!/^(Symbolic)?Link$/.test(a)&&o.linkpath)this.warn("TAR_ENTRY_INVALID","linkpath forbidden",{header:o});else{let n=this[_g]=new Elt(o,this[ec],this[p2]);if(!this[jg])if(n.remain){let u=()=>{n.invalid||(this[jg]=!0)};n.on("end",u)}else this[jg]=!0;n.meta?n.size>this.maxMetaEntrySize?(n.ignore=!0,this[qg]("ignoredEntry",n),this[$l]="ignore",n.resume()):n.size>0&&(this[Dh]="",n.on("data",u=>this[Dh]+=u),this[$l]="meta"):(this[ec]=null,n.ignore=n.ignore||!this.filter(n.path,n),n.ignore?(this[qg]("ignoredEntry",n),this[$l]=n.remain?"ignore":"header",n.resume()):(n.remain?this[$l]="body":(this[$l]="header",n.end()),this[qf]?this[jf].push(n):(this[jf].push(n),this[h8]())))}}}[zAe](e){let r=!0;return e?Array.isArray(e)?this.emit.apply(this,e):(this[qf]=e,this.emit("entry",e),e.emittedEnd||(e.on("end",o=>this[h8]()),r=!1)):(this[qf]=null,r=!1),r}[h8](){do;while(this[zAe](this[jf].shift()));if(!this[jf].length){let e=this[qf];!e||e.flowing||e.size===e.remain?this[h2]||this.emit("drain"):e.once("drain",o=>this.emit("drain"))}}[g8](e,r){let o=this[_g],a=o.blockRemain,n=a>=e.length&&r===0?e:e.slice(r,r+a);return o.write(n),o.blockRemain||(this[$l]="header",this[_g]=null,o.end()),n.length}[$Ae](e,r){let o=this[_g],a=this[g8](e,r);return this[_g]||this[XAe](o),a}[qg](e,r,o){!this[jf].length&&!this[qf]?this.emit(e,r,o):this[jf].push([e,r,o])}[XAe](e){switch(this[qg]("meta",this[Dh]),e.type){case"ExtendedHeader":case"OldExtendedHeader":this[ec]=JAe.parse(this[Dh],this[ec],!1);break;case"GlobalExtendedHeader":this[p2]=JAe.parse(this[Dh],this[p2],!0);break;case"NextFileHasLongPath":case"OldGnuLongPath":this[ec]=this[ec]||Object.create(null),this[ec].path=this[Dh].replace(/\0.*/,"");break;case"NextFileHasLongLinkpath":this[ec]=this[ec]||Object.create(null),this[ec].linkpath=this[Dh].replace(/\0.*/,"");break;default:throw new Error("unknown meta: "+e.type)}}abort(e){this[Ph]=!0,this.emit("abort",e),this.warn("TAR_ABORT",e,{recoverable:!1})}write(e){if(this[Ph])return;if(this[Na]===null&&e){if(this[yi]&&(e=Buffer.concat([this[yi],e]),this[yi]=null),e.length<p8.length)return this[yi]=e,!0;for(let o=0;this[Na]===null&&o<p8.length;o++)e[o]!==p8[o]&&(this[Na]=!1);if(this[Na]===null){let o=this[Hg];this[Hg]=!1,this[Na]=new Clt.Unzip,this[Na].on("data",n=>this[ok](n)),this[Na].on("error",n=>this.abort(n)),this[Na].on("end",n=>{this[Hg]=!0,this[ok]()}),this[h2]=!0;let a=this[Na][o?"end":"write"](e);return this[h2]=!1,a}}this[h2]=!0,this[Na]?this[Na].write(e):this[ok](e),this[h2]=!1;let r=this[jf].length?!1:this[qf]?this[qf].flowing:!0;return!r&&!this[jf].length&&this[qf].once("drain",o=>this.emit("drain")),r}[d8](e){e&&!this[Ph]&&(this[yi]=this[yi]?Buffer.concat([this[yi],e]):e)}[m8](){if(this[Hg]&&!this[ZAe]&&!this[Ph]&&!this[lk]){this[ZAe]=!0;let e=this[_g];if(e&&e.blockRemain){let r=this[yi]?this[yi].length:0;this.warn("TAR_BAD_ARCHIVE",`Truncated input (needed ${e.blockRemain} more bytes, only ${r} available)`,{entry:e}),this[yi]&&e.write(this[yi]),e.end()}this[qg](ck)}}[ok](e){if(this[lk])this[d8](e);else if(!e&&!this[yi])this[m8]();else{if(this[lk]=!0,this[yi]){this[d8](e);let r=this[yi];this[yi]=null,this[ak](r)}else this[ak](e);for(;this[yi]&&this[yi].length>=512&&!this[Ph]&&!this[Ak];){let r=this[yi];this[yi]=null,this[ak](r)}this[lk]=!1}(!this[yi]||this[Hg])&&this[m8]()}[ak](e){let r=0,o=e.length;for(;r+512<=o&&!this[Ph]&&!this[Ak];)switch(this[$l]){case"begin":case"header":this[efe](e,r),r+=512;break;case"ignore":case"body":r+=this[g8](e,r);break;case"meta":r+=this[$Ae](e,r);break;default:throw new Error("invalid state: "+this[$l])}r<o&&(this[yi]?this[yi]=Buffer.concat([e.slice(r),this[yi]]):this[yi]=e.slice(r))}end(e){this[Ph]||(this[Na]?this[Na].end(e):(this[Hg]=!0,this.write(e)))}})});var pk=_((WUt,sfe)=>{"use strict";var wlt=Fy(),nfe=fk(),zy=ve("fs"),Blt=Jy(),rfe=ve("path"),y8=_y();sfe.exports=(t,e,r)=>{typeof t=="function"?(r=t,e=null,t={}):Array.isArray(t)&&(e=t,t={}),typeof e=="function"&&(r=e,e=null),e?e=Array.from(e):e=[];let o=wlt(t);if(o.sync&&typeof r=="function")throw new TypeError("callback not supported for sync tar functions");if(!o.file&&typeof r=="function")throw new TypeError("callback only supported with file option");return e.length&&Dlt(o,e),o.noResume||vlt(o),o.file&&o.sync?Plt(o):o.file?Slt(o,r):ife(o)};var vlt=t=>{let e=t.onentry;t.onentry=e?r=>{e(r),r.resume()}:r=>r.resume()},Dlt=(t,e)=>{let r=new Map(e.map(n=>[y8(n),!0])),o=t.filter,a=(n,u)=>{let A=u||rfe.parse(n).root||".",p=n===A?!1:r.has(n)?r.get(n):a(rfe.dirname(n),A);return r.set(n,p),p};t.filter=o?(n,u)=>o(n,u)&&a(y8(n)):n=>a(y8(n))},Plt=t=>{let e=ife(t),r=t.file,o=!0,a;try{let n=zy.statSync(r),u=t.maxReadSize||16*1024*1024;if(n.size<u)e.end(zy.readFileSync(r));else{let A=0,p=Buffer.allocUnsafe(u);for(a=zy.openSync(r,"r");A<n.size;){let h=zy.readSync(a,p,0,u,A);A+=h,e.write(p.slice(0,h))}e.end()}o=!1}finally{if(o&&a)try{zy.closeSync(a)}catch{}}},Slt=(t,e)=>{let r=new nfe(t),o=t.maxReadSize||16*1024*1024,a=t.file,n=new Promise((u,A)=>{r.on("error",A),r.on("end",u),zy.stat(a,(p,h)=>{if(p)A(p);else{let E=new Blt.ReadStream(a,{readSize:o,size:h.size});E.on("error",A),E.pipe(r)}})});return e?n.then(e,e):n},ife=t=>new nfe(t)});var Afe=_((YUt,ufe)=>{"use strict";var blt=Fy(),hk=Zx(),ofe=Jy(),afe=pk(),lfe=ve("path");ufe.exports=(t,e,r)=>{if(typeof e=="function"&&(r=e),Array.isArray(t)&&(e=t,t={}),!e||!Array.isArray(e)||!e.length)throw new TypeError("no files or directories specified");e=Array.from(e);let o=blt(t);if(o.sync&&typeof r=="function")throw new TypeError("callback not supported for sync tar functions");if(!o.file&&typeof r=="function")throw new TypeError("callback only supported with file option");return o.file&&o.sync?xlt(o,e):o.file?klt(o,e,r):o.sync?Qlt(o,e):Flt(o,e)};var xlt=(t,e)=>{let r=new hk.Sync(t),o=new ofe.WriteStreamSync(t.file,{mode:t.mode||438});r.pipe(o),cfe(r,e)},klt=(t,e,r)=>{let o=new hk(t),a=new ofe.WriteStream(t.file,{mode:t.mode||438});o.pipe(a);let n=new Promise((u,A)=>{a.on("error",A),a.on("close",u),o.on("error",A)});return E8(o,e),r?n.then(r,r):n},cfe=(t,e)=>{e.forEach(r=>{r.charAt(0)==="@"?afe({file:lfe.resolve(t.cwd,r.substr(1)),sync:!0,noResume:!0,onentry:o=>t.add(o)}):t.add(r)}),t.end()},E8=(t,e)=>{for(;e.length;){let r=e.shift();if(r.charAt(0)==="@")return afe({file:lfe.resolve(t.cwd,r.substr(1)),noResume:!0,onentry:o=>t.add(o)}).then(o=>E8(t,e));t.add(r)}t.end()},Qlt=(t,e)=>{let r=new hk.Sync(t);return cfe(r,e),r},Flt=(t,e)=>{let r=new hk(t);return E8(r,e),r}});var C8=_((KUt,yfe)=>{"use strict";var Rlt=Fy(),ffe=Zx(),dl=ve("fs"),pfe=Jy(),hfe=pk(),gfe=ve("path"),dfe=Uy();yfe.exports=(t,e,r)=>{let o=Rlt(t);if(!o.file)throw new TypeError("file is required");if(o.gzip)throw new TypeError("cannot append to compressed archives");if(!e||!Array.isArray(e)||!e.length)throw new TypeError("no files or directories specified");return e=Array.from(e),o.sync?Tlt(o,e):Llt(o,e,r)};var Tlt=(t,e)=>{let r=new ffe.Sync(t),o=!0,a,n;try{try{a=dl.openSync(t.file,"r+")}catch(p){if(p.code==="ENOENT")a=dl.openSync(t.file,"w+");else throw p}let u=dl.fstatSync(a),A=Buffer.alloc(512);e:for(n=0;n<u.size;n+=512){for(let E=0,w=0;E<512;E+=w){if(w=dl.readSync(a,A,E,A.length-E,n+E),n===0&&A[0]===31&&A[1]===139)throw new Error("cannot append to compressed archives");if(!w)break e}let p=new dfe(A);if(!p.cksumValid)break;let h=512*Math.ceil(p.size/512);if(n+h+512>u.size)break;n+=h,t.mtimeCache&&t.mtimeCache.set(p.path,p.mtime)}o=!1,Nlt(t,r,n,a,e)}finally{if(o)try{dl.closeSync(a)}catch{}}},Nlt=(t,e,r,o,a)=>{let n=new pfe.WriteStreamSync(t.file,{fd:o,start:r});e.pipe(n),Olt(e,a)},Llt=(t,e,r)=>{e=Array.from(e);let o=new ffe(t),a=(u,A,p)=>{let h=(C,T)=>{C?dl.close(u,L=>p(C)):p(null,T)},E=0;if(A===0)return h(null,0);let w=0,D=Buffer.alloc(512),x=(C,T)=>{if(C)return h(C);if(w+=T,w<512&&T)return dl.read(u,D,w,D.length-w,E+w,x);if(E===0&&D[0]===31&&D[1]===139)return h(new Error("cannot append to compressed archives"));if(w<512)return h(null,E);let L=new dfe(D);if(!L.cksumValid)return h(null,E);let U=512*Math.ceil(L.size/512);if(E+U+512>A||(E+=U+512,E>=A))return h(null,E);t.mtimeCache&&t.mtimeCache.set(L.path,L.mtime),w=0,dl.read(u,D,0,512,E,x)};dl.read(u,D,0,512,E,x)},n=new Promise((u,A)=>{o.on("error",A);let p="r+",h=(E,w)=>{if(E&&E.code==="ENOENT"&&p==="r+")return p="w+",dl.open(t.file,p,h);if(E)return A(E);dl.fstat(w,(D,x)=>{if(D)return dl.close(w,()=>A(D));a(w,x.size,(C,T)=>{if(C)return A(C);let L=new pfe.WriteStream(t.file,{fd:w,start:T});o.pipe(L),L.on("error",A),L.on("close",u),mfe(o,e)})})};dl.open(t.file,p,h)});return r?n.then(r,r):n},Olt=(t,e)=>{e.forEach(r=>{r.charAt(0)==="@"?hfe({file:gfe.resolve(t.cwd,r.substr(1)),sync:!0,noResume:!0,onentry:o=>t.add(o)}):t.add(r)}),t.end()},mfe=(t,e)=>{for(;e.length;){let r=e.shift();if(r.charAt(0)==="@")return hfe({file:gfe.resolve(t.cwd,r.substr(1)),noResume:!0,onentry:o=>t.add(o)}).then(o=>mfe(t,e));t.add(r)}t.end()}});var Cfe=_((VUt,Efe)=>{"use strict";var Mlt=Fy(),Ult=C8();Efe.exports=(t,e,r)=>{let o=Mlt(t);if(!o.file)throw new TypeError("file is required");if(o.gzip)throw new TypeError("cannot append to compressed archives");if(!e||!Array.isArray(e)||!e.length)throw new TypeError("no files or directories specified");return e=Array.from(e),_lt(o),Ult(o,e,r)};var _lt=t=>{let e=t.filter;t.mtimeCache||(t.mtimeCache=new Map),t.filter=e?(r,o)=>e(r,o)&&!(t.mtimeCache.get(r)>o.mtime):(r,o)=>!(t.mtimeCache.get(r)>o.mtime)}});var Bfe=_((JUt,wfe)=>{var{promisify:Ife}=ve("util"),Sh=ve("fs"),Hlt=t=>{if(!t)t={mode:511,fs:Sh};else if(typeof t=="object")t={mode:511,fs:Sh,...t};else if(typeof t=="number")t={mode:t,fs:Sh};else if(typeof t=="string")t={mode:parseInt(t,8),fs:Sh};else throw new TypeError("invalid options argument");return t.mkdir=t.mkdir||t.fs.mkdir||Sh.mkdir,t.mkdirAsync=Ife(t.mkdir),t.stat=t.stat||t.fs.stat||Sh.stat,t.statAsync=Ife(t.stat),t.statSync=t.statSync||t.fs.statSync||Sh.statSync,t.mkdirSync=t.mkdirSync||t.fs.mkdirSync||Sh.mkdirSync,t};wfe.exports=Hlt});var Dfe=_((zUt,vfe)=>{var qlt=process.platform,{resolve:jlt,parse:Glt}=ve("path"),Wlt=t=>{if(/\0/.test(t))throw Object.assign(new TypeError("path must be a string without null bytes"),{path:t,code:"ERR_INVALID_ARG_VALUE"});if(t=jlt(t),qlt==="win32"){let e=/[*|"<>?:]/,{root:r}=Glt(t);if(e.test(t.substr(r.length)))throw Object.assign(new Error("Illegal characters in path."),{path:t,code:"EINVAL"})}return t};vfe.exports=Wlt});var kfe=_((XUt,xfe)=>{var{dirname:Pfe}=ve("path"),Sfe=(t,e,r=void 0)=>r===e?Promise.resolve():t.statAsync(e).then(o=>o.isDirectory()?r:void 0,o=>o.code==="ENOENT"?Sfe(t,Pfe(e),e):void 0),bfe=(t,e,r=void 0)=>{if(r!==e)try{return t.statSync(e).isDirectory()?r:void 0}catch(o){return o.code==="ENOENT"?bfe(t,Pfe(e),e):void 0}};xfe.exports={findMade:Sfe,findMadeSync:bfe}});var B8=_((ZUt,Ffe)=>{var{dirname:Qfe}=ve("path"),I8=(t,e,r)=>{e.recursive=!1;let o=Qfe(t);return o===t?e.mkdirAsync(t,e).catch(a=>{if(a.code!=="EISDIR")throw a}):e.mkdirAsync(t,e).then(()=>r||t,a=>{if(a.code==="ENOENT")return I8(o,e).then(n=>I8(t,e,n));if(a.code!=="EEXIST"&&a.code!=="EROFS")throw a;return e.statAsync(t).then(n=>{if(n.isDirectory())return r;throw a},()=>{throw a})})},w8=(t,e,r)=>{let o=Qfe(t);if(e.recursive=!1,o===t)try{return e.mkdirSync(t,e)}catch(a){if(a.code!=="EISDIR")throw a;return}try{return e.mkdirSync(t,e),r||t}catch(a){if(a.code==="ENOENT")return w8(t,e,w8(o,e,r));if(a.code!=="EEXIST"&&a.code!=="EROFS")throw a;try{if(!e.statSync(t).isDirectory())throw a}catch{throw a}}};Ffe.exports={mkdirpManual:I8,mkdirpManualSync:w8}});var Nfe=_(($Ut,Tfe)=>{var{dirname:Rfe}=ve("path"),{findMade:Ylt,findMadeSync:Klt}=kfe(),{mkdirpManual:Vlt,mkdirpManualSync:Jlt}=B8(),zlt=(t,e)=>(e.recursive=!0,Rfe(t)===t?e.mkdirAsync(t,e):Ylt(e,t).then(o=>e.mkdirAsync(t,e).then(()=>o).catch(a=>{if(a.code==="ENOENT")return Vlt(t,e);throw a}))),Xlt=(t,e)=>{if(e.recursive=!0,Rfe(t)===t)return e.mkdirSync(t,e);let o=Klt(e,t);try{return e.mkdirSync(t,e),o}catch(a){if(a.code==="ENOENT")return Jlt(t,e);throw a}};Tfe.exports={mkdirpNative:zlt,mkdirpNativeSync:Xlt}});var Ufe=_((e4t,Mfe)=>{var Lfe=ve("fs"),Zlt=process.version,v8=Zlt.replace(/^v/,"").split("."),Ofe=+v8[0]>10||+v8[0]==10&&+v8[1]>=12,$lt=Ofe?t=>t.mkdir===Lfe.mkdir:()=>!1,ect=Ofe?t=>t.mkdirSync===Lfe.mkdirSync:()=>!1;Mfe.exports={useNative:$lt,useNativeSync:ect}});var Wfe=_((t4t,Gfe)=>{var Xy=Bfe(),Zy=Dfe(),{mkdirpNative:_fe,mkdirpNativeSync:Hfe}=Nfe(),{mkdirpManual:qfe,mkdirpManualSync:jfe}=B8(),{useNative:tct,useNativeSync:rct}=Ufe(),$y=(t,e)=>(t=Zy(t),e=Xy(e),tct(e)?_fe(t,e):qfe(t,e)),nct=(t,e)=>(t=Zy(t),e=Xy(e),rct(e)?Hfe(t,e):jfe(t,e));$y.sync=nct;$y.native=(t,e)=>_fe(Zy(t),Xy(e));$y.manual=(t,e)=>qfe(Zy(t),Xy(e));$y.nativeSync=(t,e)=>Hfe(Zy(t),Xy(e));$y.manualSync=(t,e)=>jfe(Zy(t),Xy(e));Gfe.exports=$y});var Zfe=_((r4t,Xfe)=>{"use strict";var tc=ve("fs"),Gg=ve("path"),ict=tc.lchown?"lchown":"chown",sct=tc.lchownSync?"lchownSync":"chownSync",Kfe=tc.lchown&&!process.version.match(/v1[1-9]+\./)&&!process.version.match(/v10\.[6-9]/),Yfe=(t,e,r)=>{try{return tc[sct](t,e,r)}catch(o){if(o.code!=="ENOENT")throw o}},oct=(t,e,r)=>{try{return tc.chownSync(t,e,r)}catch(o){if(o.code!=="ENOENT")throw o}},act=Kfe?(t,e,r,o)=>a=>{!a||a.code!=="EISDIR"?o(a):tc.chown(t,e,r,o)}:(t,e,r,o)=>o,D8=Kfe?(t,e,r)=>{try{return Yfe(t,e,r)}catch(o){if(o.code!=="EISDIR")throw o;oct(t,e,r)}}:(t,e,r)=>Yfe(t,e,r),lct=process.version,Vfe=(t,e,r)=>tc.readdir(t,e,r),cct=(t,e)=>tc.readdirSync(t,e);/^v4\./.test(lct)&&(Vfe=(t,e,r)=>tc.readdir(t,r));var gk=(t,e,r,o)=>{tc[ict](t,e,r,act(t,e,r,a=>{o(a&&a.code!=="ENOENT"?a:null)}))},Jfe=(t,e,r,o,a)=>{if(typeof e=="string")return tc.lstat(Gg.resolve(t,e),(n,u)=>{if(n)return a(n.code!=="ENOENT"?n:null);u.name=e,Jfe(t,u,r,o,a)});if(e.isDirectory())P8(Gg.resolve(t,e.name),r,o,n=>{if(n)return a(n);let u=Gg.resolve(t,e.name);gk(u,r,o,a)});else{let n=Gg.resolve(t,e.name);gk(n,r,o,a)}},P8=(t,e,r,o)=>{Vfe(t,{withFileTypes:!0},(a,n)=>{if(a){if(a.code==="ENOENT")return o();if(a.code!=="ENOTDIR"&&a.code!=="ENOTSUP")return o(a)}if(a||!n.length)return gk(t,e,r,o);let u=n.length,A=null,p=h=>{if(!A){if(h)return o(A=h);if(--u===0)return gk(t,e,r,o)}};n.forEach(h=>Jfe(t,h,e,r,p))})},uct=(t,e,r,o)=>{if(typeof e=="string")try{let a=tc.lstatSync(Gg.resolve(t,e));a.name=e,e=a}catch(a){if(a.code==="ENOENT")return;throw a}e.isDirectory()&&zfe(Gg.resolve(t,e.name),r,o),D8(Gg.resolve(t,e.name),r,o)},zfe=(t,e,r)=>{let o;try{o=cct(t,{withFileTypes:!0})}catch(a){if(a.code==="ENOENT")return;if(a.code==="ENOTDIR"||a.code==="ENOTSUP")return D8(t,e,r);throw a}return o&&o.length&&o.forEach(a=>uct(t,a,e,r)),D8(t,e,r)};Xfe.exports=P8;P8.sync=zfe});var rpe=_((n4t,S8)=>{"use strict";var $fe=Wfe(),rc=ve("fs"),dk=ve("path"),epe=Zfe(),$c=Oy(),mk=class extends Error{constructor(e,r){super("Cannot extract through symbolic link"),this.path=r,this.symlink=e}get name(){return"SylinkError"}},yk=class extends Error{constructor(e,r){super(r+": Cannot cd into '"+e+"'"),this.path=e,this.code=r}get name(){return"CwdError"}},Ek=(t,e)=>t.get($c(e)),g2=(t,e,r)=>t.set($c(e),r),Act=(t,e)=>{rc.stat(t,(r,o)=>{(r||!o.isDirectory())&&(r=new yk(t,r&&r.code||"ENOTDIR")),e(r)})};S8.exports=(t,e,r)=>{t=$c(t);let o=e.umask,a=e.mode|448,n=(a&o)!==0,u=e.uid,A=e.gid,p=typeof u=="number"&&typeof A=="number"&&(u!==e.processUid||A!==e.processGid),h=e.preserve,E=e.unlink,w=e.cache,D=$c(e.cwd),x=(L,U)=>{L?r(L):(g2(w,t,!0),U&&p?epe(U,u,A,J=>x(J)):n?rc.chmod(t,a,r):r())};if(w&&Ek(w,t)===!0)return x();if(t===D)return Act(t,x);if(h)return $fe(t,{mode:a}).then(L=>x(null,L),x);let T=$c(dk.relative(D,t)).split("/");Ck(D,T,a,w,E,D,null,x)};var Ck=(t,e,r,o,a,n,u,A)=>{if(!e.length)return A(null,u);let p=e.shift(),h=$c(dk.resolve(t+"/"+p));if(Ek(o,h))return Ck(h,e,r,o,a,n,u,A);rc.mkdir(h,r,tpe(h,e,r,o,a,n,u,A))},tpe=(t,e,r,o,a,n,u,A)=>p=>{p?rc.lstat(t,(h,E)=>{if(h)h.path=h.path&&$c(h.path),A(h);else if(E.isDirectory())Ck(t,e,r,o,a,n,u,A);else if(a)rc.unlink(t,w=>{if(w)return A(w);rc.mkdir(t,r,tpe(t,e,r,o,a,n,u,A))});else{if(E.isSymbolicLink())return A(new mk(t,t+"/"+e.join("/")));A(p)}}):(u=u||t,Ck(t,e,r,o,a,n,u,A))},fct=t=>{let e=!1,r="ENOTDIR";try{e=rc.statSync(t).isDirectory()}catch(o){r=o.code}finally{if(!e)throw new yk(t,r)}};S8.exports.sync=(t,e)=>{t=$c(t);let r=e.umask,o=e.mode|448,a=(o&r)!==0,n=e.uid,u=e.gid,A=typeof n=="number"&&typeof u=="number"&&(n!==e.processUid||u!==e.processGid),p=e.preserve,h=e.unlink,E=e.cache,w=$c(e.cwd),D=L=>{g2(E,t,!0),L&&A&&epe.sync(L,n,u),a&&rc.chmodSync(t,o)};if(E&&Ek(E,t)===!0)return D();if(t===w)return fct(w),D();if(p)return D($fe.sync(t,o));let C=$c(dk.relative(w,t)).split("/"),T=null;for(let L=C.shift(),U=w;L&&(U+="/"+L);L=C.shift())if(U=$c(dk.resolve(U)),!Ek(E,U))try{rc.mkdirSync(U,o),T=T||U,g2(E,U,!0)}catch{let te=rc.lstatSync(U);if(te.isDirectory()){g2(E,U,!0);continue}else if(h){rc.unlinkSync(U),rc.mkdirSync(U,o),T=T||U,g2(E,U,!0);continue}else if(te.isSymbolicLink())return new mk(U,U+"/"+C.join("/"))}return D(T)}});var x8=_((i4t,npe)=>{var b8=Object.create(null),{hasOwnProperty:pct}=Object.prototype;npe.exports=t=>(pct.call(b8,t)||(b8[t]=t.normalize("NFKD")),b8[t])});var ape=_((s4t,ope)=>{var ipe=ve("assert"),hct=x8(),gct=_y(),{join:spe}=ve("path"),dct=process.env.TESTING_TAR_FAKE_PLATFORM||process.platform,mct=dct==="win32";ope.exports=()=>{let t=new Map,e=new Map,r=h=>h.split("/").slice(0,-1).reduce((w,D)=>(w.length&&(D=spe(w[w.length-1],D)),w.push(D||"/"),w),[]),o=new Set,a=h=>{let E=e.get(h);if(!E)throw new Error("function does not have any path reservations");return{paths:E.paths.map(w=>t.get(w)),dirs:[...E.dirs].map(w=>t.get(w))}},n=h=>{let{paths:E,dirs:w}=a(h);return E.every(D=>D[0]===h)&&w.every(D=>D[0]instanceof Set&&D[0].has(h))},u=h=>o.has(h)||!n(h)?!1:(o.add(h),h(()=>A(h)),!0),A=h=>{if(!o.has(h))return!1;let{paths:E,dirs:w}=e.get(h),D=new Set;return E.forEach(x=>{let C=t.get(x);ipe.equal(C[0],h),C.length===1?t.delete(x):(C.shift(),typeof C[0]=="function"?D.add(C[0]):C[0].forEach(T=>D.add(T)))}),w.forEach(x=>{let C=t.get(x);ipe(C[0]instanceof Set),C[0].size===1&&C.length===1?t.delete(x):C[0].size===1?(C.shift(),D.add(C[0])):C[0].delete(h)}),o.delete(h),D.forEach(x=>u(x)),!0};return{check:n,reserve:(h,E)=>{h=mct?["win32 parallelization disabled"]:h.map(D=>hct(gct(spe(D))).toLowerCase());let w=new Set(h.map(D=>r(D)).reduce((D,x)=>D.concat(x)));return e.set(E,{dirs:w,paths:h}),h.forEach(D=>{let x=t.get(D);x?x.push(E):t.set(D,[E])}),w.forEach(D=>{let x=t.get(D);x?x[x.length-1]instanceof Set?x[x.length-1].add(E):x.push(new Set([E])):t.set(D,[new Set([E])])}),u(E)}}}});var upe=_((o4t,cpe)=>{var yct=process.platform,Ect=yct==="win32",Cct=global.__FAKE_TESTING_FS__||ve("fs"),{O_CREAT:Ict,O_TRUNC:wct,O_WRONLY:Bct,UV_FS_O_FILEMAP:lpe=0}=Cct.constants,vct=Ect&&!!lpe,Dct=512*1024,Pct=lpe|wct|Ict|Bct;cpe.exports=vct?t=>t<Dct?Pct:"w":()=>"w"});var M8=_((a4t,vpe)=>{"use strict";var Sct=ve("assert"),bct=fk(),Fn=ve("fs"),xct=Jy(),Gf=ve("path"),Ipe=rpe(),Ape=M3(),kct=ape(),Qct=U3(),ml=Oy(),Fct=_y(),Rct=x8(),fpe=Symbol("onEntry"),F8=Symbol("checkFs"),ppe=Symbol("checkFs2"),Bk=Symbol("pruneCache"),R8=Symbol("isReusable"),nc=Symbol("makeFs"),T8=Symbol("file"),N8=Symbol("directory"),vk=Symbol("link"),hpe=Symbol("symlink"),gpe=Symbol("hardlink"),dpe=Symbol("unsupported"),mpe=Symbol("checkPath"),bh=Symbol("mkdir"),So=Symbol("onError"),Ik=Symbol("pending"),ype=Symbol("pend"),eE=Symbol("unpend"),k8=Symbol("ended"),Q8=Symbol("maybeClose"),L8=Symbol("skip"),d2=Symbol("doChown"),m2=Symbol("uid"),y2=Symbol("gid"),E2=Symbol("checkedCwd"),wpe=ve("crypto"),Bpe=upe(),Tct=process.env.TESTING_TAR_FAKE_PLATFORM||process.platform,C2=Tct==="win32",Nct=(t,e)=>{if(!C2)return Fn.unlink(t,e);let r=t+".DELETE."+wpe.randomBytes(16).toString("hex");Fn.rename(t,r,o=>{if(o)return e(o);Fn.unlink(r,e)})},Lct=t=>{if(!C2)return Fn.unlinkSync(t);let e=t+".DELETE."+wpe.randomBytes(16).toString("hex");Fn.renameSync(t,e),Fn.unlinkSync(e)},Epe=(t,e,r)=>t===t>>>0?t:e===e>>>0?e:r,Cpe=t=>Rct(Fct(ml(t))).toLowerCase(),Oct=(t,e)=>{e=Cpe(e);for(let r of t.keys()){let o=Cpe(r);(o===e||o.indexOf(e+"/")===0)&&t.delete(r)}},Mct=t=>{for(let e of t.keys())t.delete(e)},I2=class extends bct{constructor(e){if(e||(e={}),e.ondone=r=>{this[k8]=!0,this[Q8]()},super(e),this[E2]=!1,this.reservations=kct(),this.transform=typeof e.transform=="function"?e.transform:null,this.writable=!0,this.readable=!1,this[Ik]=0,this[k8]=!1,this.dirCache=e.dirCache||new Map,typeof e.uid=="number"||typeof e.gid=="number"){if(typeof e.uid!="number"||typeof e.gid!="number")throw new TypeError("cannot set owner without number uid and gid");if(e.preserveOwner)throw new TypeError("cannot preserve owner in archive and also set owner explicitly");this.uid=e.uid,this.gid=e.gid,this.setOwner=!0}else this.uid=null,this.gid=null,this.setOwner=!1;e.preserveOwner===void 0&&typeof e.uid!="number"?this.preserveOwner=process.getuid&&process.getuid()===0:this.preserveOwner=!!e.preserveOwner,this.processUid=(this.preserveOwner||this.setOwner)&&process.getuid?process.getuid():null,this.processGid=(this.preserveOwner||this.setOwner)&&process.getgid?process.getgid():null,this.forceChown=e.forceChown===!0,this.win32=!!e.win32||C2,this.newer=!!e.newer,this.keep=!!e.keep,this.noMtime=!!e.noMtime,this.preservePaths=!!e.preservePaths,this.unlink=!!e.unlink,this.cwd=ml(Gf.resolve(e.cwd||process.cwd())),this.strip=+e.strip||0,this.processUmask=e.noChmod?0:process.umask(),this.umask=typeof e.umask=="number"?e.umask:this.processUmask,this.dmode=e.dmode||511&~this.umask,this.fmode=e.fmode||438&~this.umask,this.on("entry",r=>this[fpe](r))}warn(e,r,o={}){return(e==="TAR_BAD_ARCHIVE"||e==="TAR_ABORT")&&(o.recoverable=!1),super.warn(e,r,o)}[Q8](){this[k8]&&this[Ik]===0&&(this.emit("prefinish"),this.emit("finish"),this.emit("end"),this.emit("close"))}[mpe](e){if(this.strip){let r=ml(e.path).split("/");if(r.length<this.strip)return!1;if(e.path=r.slice(this.strip).join("/"),e.type==="Link"){let o=ml(e.linkpath).split("/");if(o.length>=this.strip)e.linkpath=o.slice(this.strip).join("/");else return!1}}if(!this.preservePaths){let r=ml(e.path),o=r.split("/");if(o.includes("..")||C2&&/^[a-z]:\.\.$/i.test(o[0]))return this.warn("TAR_ENTRY_ERROR","path contains '..'",{entry:e,path:r}),!1;let[a,n]=Qct(r);a&&(e.path=n,this.warn("TAR_ENTRY_INFO",`stripping ${a} from absolute path`,{entry:e,path:r}))}if(Gf.isAbsolute(e.path)?e.absolute=ml(Gf.resolve(e.path)):e.absolute=ml(Gf.resolve(this.cwd,e.path)),!this.preservePaths&&e.absolute.indexOf(this.cwd+"/")!==0&&e.absolute!==this.cwd)return this.warn("TAR_ENTRY_ERROR","path escaped extraction target",{entry:e,path:ml(e.path),resolvedPath:e.absolute,cwd:this.cwd}),!1;if(e.absolute===this.cwd&&e.type!=="Directory"&&e.type!=="GNUDumpDir")return!1;if(this.win32){let{root:r}=Gf.win32.parse(e.absolute);e.absolute=r+Ape.encode(e.absolute.substr(r.length));let{root:o}=Gf.win32.parse(e.path);e.path=o+Ape.encode(e.path.substr(o.length))}return!0}[fpe](e){if(!this[mpe](e))return e.resume();switch(Sct.equal(typeof e.absolute,"string"),e.type){case"Directory":case"GNUDumpDir":e.mode&&(e.mode=e.mode|448);case"File":case"OldFile":case"ContiguousFile":case"Link":case"SymbolicLink":return this[F8](e);case"CharacterDevice":case"BlockDevice":case"FIFO":default:return this[dpe](e)}}[So](e,r){e.name==="CwdError"?this.emit("error",e):(this.warn("TAR_ENTRY_ERROR",e,{entry:r}),this[eE](),r.resume())}[bh](e,r,o){Ipe(ml(e),{uid:this.uid,gid:this.gid,processUid:this.processUid,processGid:this.processGid,umask:this.processUmask,preserve:this.preservePaths,unlink:this.unlink,cache:this.dirCache,cwd:this.cwd,mode:r,noChmod:this.noChmod},o)}[d2](e){return this.forceChown||this.preserveOwner&&(typeof e.uid=="number"&&e.uid!==this.processUid||typeof e.gid=="number"&&e.gid!==this.processGid)||typeof this.uid=="number"&&this.uid!==this.processUid||typeof this.gid=="number"&&this.gid!==this.processGid}[m2](e){return Epe(this.uid,e.uid,this.processUid)}[y2](e){return Epe(this.gid,e.gid,this.processGid)}[T8](e,r){let o=e.mode&4095||this.fmode,a=new xct.WriteStream(e.absolute,{flags:Bpe(e.size),mode:o,autoClose:!1});a.on("error",p=>{a.fd&&Fn.close(a.fd,()=>{}),a.write=()=>!0,this[So](p,e),r()});let n=1,u=p=>{if(p){a.fd&&Fn.close(a.fd,()=>{}),this[So](p,e),r();return}--n===0&&Fn.close(a.fd,h=>{h?this[So](h,e):this[eE](),r()})};a.on("finish",p=>{let h=e.absolute,E=a.fd;if(e.mtime&&!this.noMtime){n++;let w=e.atime||new Date,D=e.mtime;Fn.futimes(E,w,D,x=>x?Fn.utimes(h,w,D,C=>u(C&&x)):u())}if(this[d2](e)){n++;let w=this[m2](e),D=this[y2](e);Fn.fchown(E,w,D,x=>x?Fn.chown(h,w,D,C=>u(C&&x)):u())}u()});let A=this.transform&&this.transform(e)||e;A!==e&&(A.on("error",p=>{this[So](p,e),r()}),e.pipe(A)),A.pipe(a)}[N8](e,r){let o=e.mode&4095||this.dmode;this[bh](e.absolute,o,a=>{if(a){this[So](a,e),r();return}let n=1,u=A=>{--n===0&&(r(),this[eE](),e.resume())};e.mtime&&!this.noMtime&&(n++,Fn.utimes(e.absolute,e.atime||new Date,e.mtime,u)),this[d2](e)&&(n++,Fn.chown(e.absolute,this[m2](e),this[y2](e),u)),u()})}[dpe](e){e.unsupported=!0,this.warn("TAR_ENTRY_UNSUPPORTED",`unsupported entry type: ${e.type}`,{entry:e}),e.resume()}[hpe](e,r){this[vk](e,e.linkpath,"symlink",r)}[gpe](e,r){let o=ml(Gf.resolve(this.cwd,e.linkpath));this[vk](e,o,"link",r)}[ype](){this[Ik]++}[eE](){this[Ik]--,this[Q8]()}[L8](e){this[eE](),e.resume()}[R8](e,r){return e.type==="File"&&!this.unlink&&r.isFile()&&r.nlink<=1&&!C2}[F8](e){this[ype]();let r=[e.path];e.linkpath&&r.push(e.linkpath),this.reservations.reserve(r,o=>this[ppe](e,o))}[Bk](e){e.type==="SymbolicLink"?Mct(this.dirCache):e.type!=="Directory"&&Oct(this.dirCache,e.absolute)}[ppe](e,r){this[Bk](e);let o=A=>{this[Bk](e),r(A)},a=()=>{this[bh](this.cwd,this.dmode,A=>{if(A){this[So](A,e),o();return}this[E2]=!0,n()})},n=()=>{if(e.absolute!==this.cwd){let A=ml(Gf.dirname(e.absolute));if(A!==this.cwd)return this[bh](A,this.dmode,p=>{if(p){this[So](p,e),o();return}u()})}u()},u=()=>{Fn.lstat(e.absolute,(A,p)=>{if(p&&(this.keep||this.newer&&p.mtime>e.mtime)){this[L8](e),o();return}if(A||this[R8](e,p))return this[nc](null,e,o);if(p.isDirectory()){if(e.type==="Directory"){let h=!this.noChmod&&e.mode&&(p.mode&4095)!==e.mode,E=w=>this[nc](w,e,o);return h?Fn.chmod(e.absolute,e.mode,E):E()}if(e.absolute!==this.cwd)return Fn.rmdir(e.absolute,h=>this[nc](h,e,o))}if(e.absolute===this.cwd)return this[nc](null,e,o);Nct(e.absolute,h=>this[nc](h,e,o))})};this[E2]?n():a()}[nc](e,r,o){if(e){this[So](e,r),o();return}switch(r.type){case"File":case"OldFile":case"ContiguousFile":return this[T8](r,o);case"Link":return this[gpe](r,o);case"SymbolicLink":return this[hpe](r,o);case"Directory":case"GNUDumpDir":return this[N8](r,o)}}[vk](e,r,o,a){Fn[o](r,e.absolute,n=>{n?this[So](n,e):(this[eE](),e.resume()),a()})}},wk=t=>{try{return[null,t()]}catch(e){return[e,null]}},O8=class extends I2{[nc](e,r){return super[nc](e,r,()=>{})}[F8](e){if(this[Bk](e),!this[E2]){let n=this[bh](this.cwd,this.dmode);if(n)return this[So](n,e);this[E2]=!0}if(e.absolute!==this.cwd){let n=ml(Gf.dirname(e.absolute));if(n!==this.cwd){let u=this[bh](n,this.dmode);if(u)return this[So](u,e)}}let[r,o]=wk(()=>Fn.lstatSync(e.absolute));if(o&&(this.keep||this.newer&&o.mtime>e.mtime))return this[L8](e);if(r||this[R8](e,o))return this[nc](null,e);if(o.isDirectory()){if(e.type==="Directory"){let u=!this.noChmod&&e.mode&&(o.mode&4095)!==e.mode,[A]=u?wk(()=>{Fn.chmodSync(e.absolute,e.mode)}):[];return this[nc](A,e)}let[n]=wk(()=>Fn.rmdirSync(e.absolute));this[nc](n,e)}let[a]=e.absolute===this.cwd?[]:wk(()=>Lct(e.absolute));this[nc](a,e)}[T8](e,r){let o=e.mode&4095||this.fmode,a=A=>{let p;try{Fn.closeSync(n)}catch(h){p=h}(A||p)&&this[So](A||p,e),r()},n;try{n=Fn.openSync(e.absolute,Bpe(e.size),o)}catch(A){return a(A)}let u=this.transform&&this.transform(e)||e;u!==e&&(u.on("error",A=>this[So](A,e)),e.pipe(u)),u.on("data",A=>{try{Fn.writeSync(n,A,0,A.length)}catch(p){a(p)}}),u.on("end",A=>{let p=null;if(e.mtime&&!this.noMtime){let h=e.atime||new Date,E=e.mtime;try{Fn.futimesSync(n,h,E)}catch(w){try{Fn.utimesSync(e.absolute,h,E)}catch{p=w}}}if(this[d2](e)){let h=this[m2](e),E=this[y2](e);try{Fn.fchownSync(n,h,E)}catch(w){try{Fn.chownSync(e.absolute,h,E)}catch{p=p||w}}}a(p)})}[N8](e,r){let o=e.mode&4095||this.dmode,a=this[bh](e.absolute,o);if(a){this[So](a,e),r();return}if(e.mtime&&!this.noMtime)try{Fn.utimesSync(e.absolute,e.atime||new Date,e.mtime)}catch{}if(this[d2](e))try{Fn.chownSync(e.absolute,this[m2](e),this[y2](e))}catch{}r(),e.resume()}[bh](e,r){try{return Ipe.sync(ml(e),{uid:this.uid,gid:this.gid,processUid:this.processUid,processGid:this.processGid,umask:this.processUmask,preserve:this.preservePaths,unlink:this.unlink,cache:this.dirCache,cwd:this.cwd,mode:r})}catch(o){return o}}[vk](e,r,o,a){try{Fn[o+"Sync"](r,e.absolute),a(),e.resume()}catch(n){return this[So](n,e)}}};I2.Sync=O8;vpe.exports=I2});var xpe=_((l4t,bpe)=>{"use strict";var Uct=Fy(),Dk=M8(),Ppe=ve("fs"),Spe=Jy(),Dpe=ve("path"),U8=_y();bpe.exports=(t,e,r)=>{typeof t=="function"?(r=t,e=null,t={}):Array.isArray(t)&&(e=t,t={}),typeof e=="function"&&(r=e,e=null),e?e=Array.from(e):e=[];let o=Uct(t);if(o.sync&&typeof r=="function")throw new TypeError("callback not supported for sync tar functions");if(!o.file&&typeof r=="function")throw new TypeError("callback only supported with file option");return e.length&&_ct(o,e),o.file&&o.sync?Hct(o):o.file?qct(o,r):o.sync?jct(o):Gct(o)};var _ct=(t,e)=>{let r=new Map(e.map(n=>[U8(n),!0])),o=t.filter,a=(n,u)=>{let A=u||Dpe.parse(n).root||".",p=n===A?!1:r.has(n)?r.get(n):a(Dpe.dirname(n),A);return r.set(n,p),p};t.filter=o?(n,u)=>o(n,u)&&a(U8(n)):n=>a(U8(n))},Hct=t=>{let e=new Dk.Sync(t),r=t.file,o=Ppe.statSync(r),a=t.maxReadSize||16*1024*1024;new Spe.ReadStreamSync(r,{readSize:a,size:o.size}).pipe(e)},qct=(t,e)=>{let r=new Dk(t),o=t.maxReadSize||16*1024*1024,a=t.file,n=new Promise((u,A)=>{r.on("error",A),r.on("close",u),Ppe.stat(a,(p,h)=>{if(p)A(p);else{let E=new Spe.ReadStream(a,{readSize:o,size:h.size});E.on("error",A),E.pipe(r)}})});return e?n.then(e,e):n},jct=t=>new Dk.Sync(t),Gct=t=>new Dk(t)});var kpe=_(us=>{"use strict";us.c=us.create=Afe();us.r=us.replace=C8();us.t=us.list=pk();us.u=us.update=Cfe();us.x=us.extract=xpe();us.Pack=Zx();us.Unpack=M8();us.Parse=fk();us.ReadEntry=Nx();us.WriteEntry=J3();us.Header=Uy();us.Pax=Ox();us.types=Q3()});var _8,Qpe,xh,w2,B2,Fpe=It(()=>{_8=et(lg()),Qpe=ve("worker_threads"),xh=Symbol("kTaskInfo"),w2=class{constructor(e,r){this.fn=e;this.limit=(0,_8.default)(r.poolSize)}run(e){return this.limit(()=>this.fn(e))}},B2=class{constructor(e,r){this.source=e;this.workers=[];this.limit=(0,_8.default)(r.poolSize),this.cleanupInterval=setInterval(()=>{if(this.limit.pendingCount===0&&this.limit.activeCount===0){let o=this.workers.pop();o?o.terminate():clearInterval(this.cleanupInterval)}},5e3).unref()}createWorker(){this.cleanupInterval.refresh();let e=new Qpe.Worker(this.source,{eval:!0,execArgv:[...process.execArgv,"--unhandled-rejections=strict"]});return e.on("message",r=>{if(!e[xh])throw new Error("Assertion failed: Worker sent a result without having a task assigned");e[xh].resolve(r),e[xh]=null,e.unref(),this.workers.push(e)}),e.on("error",r=>{e[xh]?.reject(r),e[xh]=null}),e.on("exit",r=>{r!==0&&e[xh]?.reject(new Error(`Worker exited with code ${r}`)),e[xh]=null}),e}run(e){return this.limit(()=>{let r=this.workers.pop()??this.createWorker();return r.ref(),new Promise((o,a)=>{r[xh]={resolve:o,reject:a},r.postMessage(e)})})}}});var Tpe=_((f4t,Rpe)=>{var H8;Rpe.exports.getContent=()=>(typeof H8>"u"&&(H8=ve("zlib").brotliDecompressSync(Buffer.from("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","base64")).toString()),H8)});var $i={};Kt($i,{convertToZip:()=>Vct,convertToZipWorker:()=>G8,extractArchiveTo:()=>Upe,getDefaultTaskPool:()=>Ope,getTaskPoolForConfiguration:()=>Mpe,makeArchiveFromDirectory:()=>Kct});function Wct(t,e){switch(t){case"async":return new w2(G8,{poolSize:e});case"workers":return new B2((0,j8.getContent)(),{poolSize:e});default:throw new Error(`Assertion failed: Unknown value ${t} for taskPoolMode`)}}function Ope(){return typeof q8>"u"&&(q8=Wct("workers",Xi.availableParallelism())),q8}function Mpe(t){return typeof t>"u"?Ope():Al(Yct,t,()=>{let e=t.get("taskPoolMode"),r=t.get("taskPoolConcurrency");switch(e){case"async":return new w2(G8,{poolSize:r});case"workers":return new B2((0,j8.getContent)(),{poolSize:r});default:throw new Error(`Assertion failed: Unknown value ${e} for taskPoolMode`)}})}async function G8(t){let{tmpFile:e,tgz:r,compressionLevel:o,extractBufferOpts:a}=t,n=new Zi(e,{create:!0,level:o,stats:wa.makeDefaultStats()}),u=Buffer.from(r.buffer,r.byteOffset,r.byteLength);return await Upe(u,n,a),n.saveAndClose(),e}async function Kct(t,{baseFs:e=new _n,prefixPath:r=Bt.root,compressionLevel:o,inMemory:a=!1}={}){let n;if(a)n=new Zi(null,{level:o});else{let A=await ae.mktempPromise(),p=K.join(A,"archive.zip");n=new Zi(p,{create:!0,level:o})}let u=K.resolve(Bt.root,r);return await n.copyPromise(u,t,{baseFs:e,stableTime:!0,stableSort:!0}),n}async function Vct(t,e={}){let r=await ae.mktempPromise(),o=K.join(r,"archive.zip"),a=e.compressionLevel??e.configuration?.get("compressionLevel")??"mixed",n={prefixPath:e.prefixPath,stripComponents:e.stripComponents};return await(e.taskPool??Mpe(e.configuration)).run({tmpFile:o,tgz:t,compressionLevel:a,extractBufferOpts:n}),new Zi(o,{level:e.compressionLevel})}async function*Jct(t){let e=new Lpe.default.Parse,r=new Npe.PassThrough({objectMode:!0,autoDestroy:!0,emitClose:!0});e.on("entry",o=>{r.write(o)}),e.on("error",o=>{r.destroy(o)}),e.on("close",()=>{r.destroyed||r.end()}),e.end(t);for await(let o of r){let a=o;yield a,a.resume()}}async function Upe(t,e,{stripComponents:r=0,prefixPath:o=Bt.dot}={}){function a(n){if(n.path[0]==="/")return!0;let u=n.path.split(/\//g);return!!(u.some(A=>A==="..")||u.length<=r)}for await(let n of Jct(t)){if(a(n))continue;let u=K.normalize(Ae.toPortablePath(n.path)).replace(/\/$/,"").split(/\//g);if(u.length<=r)continue;let A=u.slice(r).join("/"),p=K.join(o,A),h=420;switch((n.type==="Directory"||(n.mode??0)&73)&&(h|=73),n.type){case"Directory":e.mkdirpSync(K.dirname(p),{chmod:493,utimes:[Pi.SAFE_TIME,Pi.SAFE_TIME]}),e.mkdirSync(p,{mode:h}),e.utimesSync(p,Pi.SAFE_TIME,Pi.SAFE_TIME);break;case"OldFile":case"File":e.mkdirpSync(K.dirname(p),{chmod:493,utimes:[Pi.SAFE_TIME,Pi.SAFE_TIME]}),e.writeFileSync(p,await Xm(n),{mode:h}),e.utimesSync(p,Pi.SAFE_TIME,Pi.SAFE_TIME);break;case"SymbolicLink":e.mkdirpSync(K.dirname(p),{chmod:493,utimes:[Pi.SAFE_TIME,Pi.SAFE_TIME]}),e.symlinkSync(n.linkpath,p),e.lutimesSync(p,Pi.SAFE_TIME,Pi.SAFE_TIME);break}}return e}var Npe,Lpe,j8,q8,Yct,_pe=It(()=>{Ke();Pt();sA();Npe=ve("stream"),Lpe=et(kpe());Fpe();Gl();j8=et(Tpe());Yct=new WeakMap});var qpe=_((W8,Hpe)=>{(function(t,e){typeof W8=="object"?Hpe.exports=e():typeof define=="function"&&define.amd?define(e):t.treeify=e()})(W8,function(){function t(a,n){var u=n?"\u2514":"\u251C";return a?u+="\u2500 ":u+="\u2500\u2500\u2510",u}function e(a,n){var u=[];for(var A in a)a.hasOwnProperty(A)&&(n&&typeof a[A]=="function"||u.push(A));return u}function r(a,n,u,A,p,h,E){var w="",D=0,x,C,T=A.slice(0);if(T.push([n,u])&&A.length>0&&(A.forEach(function(U,J){J>0&&(w+=(U[1]?" ":"\u2502")+" "),!C&&U[0]===n&&(C=!0)}),w+=t(a,u)+a,p&&(typeof n!="object"||n instanceof Date)&&(w+=": "+n),C&&(w+=" (circular ref.)"),E(w)),!C&&typeof n=="object"){var L=e(n,h);L.forEach(function(U){x=++D===L.length,r(U,n[U],x,T,p,h,E)})}}var o={};return o.asLines=function(a,n,u,A){var p=typeof u!="function"?u:!1;r(".",a,!1,[],n,p,A||u)},o.asTree=function(a,n,u){var A="";return r(".",a,!1,[],n,u,function(p){A+=p+` +`}),A},o})});var As={};Kt(As,{emitList:()=>zct,emitTree:()=>Ype,treeNodeToJson:()=>Wpe,treeNodeToTreeify:()=>Gpe});function Gpe(t,{configuration:e}){let r={},o=0,a=(n,u)=>{let A=Array.isArray(n)?n.entries():Object.entries(n);for(let[p,h]of A){if(!h)continue;let{label:E,value:w,children:D}=h,x=[];typeof E<"u"&&x.push(Cg(e,E,2)),typeof w<"u"&&x.push(Ut(e,w[0],w[1])),x.length===0&&x.push(Cg(e,`${p}`,2));let C=x.join(": ").trim(),T=`\0${o++}\0`,L=u[`${T}${C}`]={};typeof D<"u"&&a(D,L)}};if(typeof t.children>"u")throw new Error("The root node must only contain children");return a(t.children,r),r}function Wpe(t){let e=r=>{if(typeof r.children>"u"){if(typeof r.value>"u")throw new Error("Assertion failed: Expected a value to be set if the children are missing");return Ig(r.value[0],r.value[1])}let o=Array.isArray(r.children)?r.children.entries():Object.entries(r.children??{}),a=Array.isArray(r.children)?[]:{};for(let[n,u]of o)u&&(a[Xct(n)]=e(u));return typeof r.value>"u"?a:{value:Ig(r.value[0],r.value[1]),children:a}};return e(t)}function zct(t,{configuration:e,stdout:r,json:o}){let a=t.map(n=>({value:n}));Ype({children:a},{configuration:e,stdout:r,json:o})}function Ype(t,{configuration:e,stdout:r,json:o,separators:a=0}){if(o){let u=Array.isArray(t.children)?t.children.values():Object.values(t.children??{});for(let A of u)A&&r.write(`${JSON.stringify(Wpe(A))} +`);return}let n=(0,jpe.asTree)(Gpe(t,{configuration:e}),!1,!1);if(n=n.replace(/\0[0-9]+\0/g,""),a>=1&&(n=n.replace(/^([├└]─)/gm,`\u2502 +$1`).replace(/^│\n/,"")),a>=2)for(let u=0;u<2;++u)n=n.replace(/^([│ ].{2}[├│ ].{2}[^\n]+\n)(([│ ]).{2}[├└].{2}[^\n]*\n[│ ].{2}[│ ].{2}[├└]─)/gm,`$1$3 \u2502 +$2`).replace(/^│\n/,"");if(a>=3)throw new Error("Only the first two levels are accepted by treeUtils.emitTree");r.write(n)}function Xct(t){return typeof t=="string"?t.replace(/^\0[0-9]+\0/,""):t}var jpe,Kpe=It(()=>{jpe=et(qpe());Wl()});function v2(t){let e=t.match(Zct);if(!e?.groups)throw new Error("Assertion failed: Expected the checksum to match the requested pattern");let r=e.groups.cacheVersion?parseInt(e.groups.cacheVersion):null;return{cacheKey:e.groups.cacheKey??null,cacheVersion:r,cacheSpec:e.groups.cacheSpec??null,hash:e.groups.hash}}var Vpe,Y8,K8,Pk,Wr,Zct,V8=It(()=>{Ke();Pt();Pt();sA();Vpe=ve("crypto"),Y8=et(ve("fs"));Vl();ah();Gl();Io();K8=Zm(process.env.YARN_CACHE_CHECKPOINT_OVERRIDE??process.env.YARN_CACHE_VERSION_OVERRIDE??9),Pk=Zm(process.env.YARN_CACHE_VERSION_OVERRIDE??10),Wr=class t{constructor(e,{configuration:r,immutable:o=r.get("enableImmutableCache"),check:a=!1}){this.markedFiles=new Set;this.mutexes=new Map;this.cacheId=`-${(0,Vpe.randomBytes)(8).toString("hex")}.tmp`;this.configuration=r,this.cwd=e,this.immutable=o,this.check=a;let{cacheSpec:n,cacheKey:u}=t.getCacheKey(r);this.cacheSpec=n,this.cacheKey=u}static async find(e,{immutable:r,check:o}={}){let a=new t(e.get("cacheFolder"),{configuration:e,immutable:r,check:o});return await a.setup(),a}static getCacheKey(e){let r=e.get("compressionLevel"),o=r!=="mixed"?`c${r}`:"";return{cacheKey:[Pk,o].join(""),cacheSpec:o}}get mirrorCwd(){if(!this.configuration.get("enableMirror"))return null;let e=`${this.configuration.get("globalFolder")}/cache`;return e!==this.cwd?e:null}getVersionFilename(e){return`${ly(e)}-${this.cacheKey}.zip`}getChecksumFilename(e,r){let a=v2(r).hash.slice(0,10);return`${ly(e)}-${a}.zip`}isChecksumCompatible(e){if(e===null)return!1;let{cacheVersion:r,cacheSpec:o}=v2(e);if(r===null||r<K8)return!1;let a=this.configuration.get("cacheMigrationMode");return!(r<Pk&&a==="always"||o!==this.cacheSpec&&a!=="required-only")}getLocatorPath(e,r){return this.mirrorCwd===null?K.resolve(this.cwd,this.getVersionFilename(e)):r===null?K.resolve(this.cwd,this.getVersionFilename(e)):K.resolve(this.cwd,this.getChecksumFilename(e,r))}getLocatorMirrorPath(e){let r=this.mirrorCwd;return r!==null?K.resolve(r,this.getVersionFilename(e)):null}async setup(){if(!this.configuration.get("enableGlobalCache"))if(this.immutable){if(!await ae.existsPromise(this.cwd))throw new Jt(56,"Cache path does not exist.")}else{await ae.mkdirPromise(this.cwd,{recursive:!0});let e=K.resolve(this.cwd,".gitignore");await ae.changeFilePromise(e,`/.gitignore +*.flock +*.tmp +`)}(this.mirrorCwd||!this.immutable)&&await ae.mkdirPromise(this.mirrorCwd||this.cwd,{recursive:!0})}async fetchPackageFromCache(e,r,{onHit:o,onMiss:a,loader:n,...u}){let A=this.getLocatorMirrorPath(e),p=new _n,h=()=>{let he=new Zi,De=K.join(Bt.root,_M(e));return he.mkdirSync(De,{recursive:!0}),he.writeJsonSync(K.join(De,mr.manifest),{name:rn(e),mocked:!0}),he},E=async(he,{isColdHit:De,controlPath:Ee=null})=>{if(Ee===null&&u.unstablePackages?.has(e.locatorHash))return{isValid:!0,hash:null};let g=r&&!De?v2(r).cacheKey:this.cacheKey,me=!u.skipIntegrityCheck||!r?`${g}/${await pb(he)}`:r;if(Ee!==null){let fe=!u.skipIntegrityCheck||!r?`${this.cacheKey}/${await pb(Ee)}`:r;if(me!==fe)throw new Jt(18,"The remote archive doesn't match the local checksum - has the local cache been corrupted?")}let Ce=null;switch(r!==null&&me!==r&&(this.check?Ce="throw":v2(r).cacheKey!==v2(me).cacheKey?Ce="update":Ce=this.configuration.get("checksumBehavior")),Ce){case null:case"update":return{isValid:!0,hash:me};case"ignore":return{isValid:!0,hash:r};case"reset":return{isValid:!1,hash:r};default:case"throw":throw new Jt(18,"The remote archive doesn't match the expected checksum")}},w=async he=>{if(!n)throw new Error(`Cache check required but no loader configured for ${jr(this.configuration,e)}`);let De=await n(),Ee=De.getRealPath();De.saveAndClose(),await ae.chmodPromise(Ee,420);let g=await E(he,{controlPath:Ee,isColdHit:!1});if(!g.isValid)throw new Error("Assertion failed: Expected a valid checksum");return g.hash},D=async()=>{if(A===null||!await ae.existsPromise(A)){let he=await n(),De=he.getRealPath();return he.saveAndClose(),{source:"loader",path:De}}return{source:"mirror",path:A}},x=async()=>{if(!n)throw new Error(`Cache entry required but missing for ${jr(this.configuration,e)}`);if(this.immutable)throw new Jt(56,`Cache entry required but missing for ${jr(this.configuration,e)}`);let{path:he,source:De}=await D(),{hash:Ee}=await E(he,{isColdHit:!0}),g=this.getLocatorPath(e,Ee),me=[];De!=="mirror"&&A!==null&&me.push(async()=>{let fe=`${A}${this.cacheId}`;await ae.copyFilePromise(he,fe,Y8.default.constants.COPYFILE_FICLONE),await ae.chmodPromise(fe,420),await ae.renamePromise(fe,A)}),(!u.mirrorWriteOnly||A===null)&&me.push(async()=>{let fe=`${g}${this.cacheId}`;await ae.copyFilePromise(he,fe,Y8.default.constants.COPYFILE_FICLONE),await ae.chmodPromise(fe,420),await ae.renamePromise(fe,g)});let Ce=u.mirrorWriteOnly?A??g:g;return await Promise.all(me.map(fe=>fe())),[!1,Ce,Ee]},C=async()=>{let De=(async()=>{let Ee=u.unstablePackages?.has(e.locatorHash),g=Ee||!r||this.isChecksumCompatible(r)?this.getLocatorPath(e,r):null,me=g!==null?this.markedFiles.has(g)||await p.existsPromise(g):!1,Ce=!!u.mockedPackages?.has(e.locatorHash)&&(!this.check||!me),fe=Ce||me,ie=fe?o:a;if(ie&&ie(),fe){let Z=null,Pe=g;if(!Ce)if(this.check)Z=await w(Pe);else{let Re=await E(Pe,{isColdHit:!1});if(Re.isValid)Z=Re.hash;else return x()}return[Ce,Pe,Z]}else{if(this.immutable&&Ee)throw new Jt(56,`Cache entry required but missing for ${jr(this.configuration,e)}; consider defining ${pe.pretty(this.configuration,"supportedArchitectures",pe.Type.CODE)} to cache packages for multiple systems`);return x()}})();this.mutexes.set(e.locatorHash,De);try{return await De}finally{this.mutexes.delete(e.locatorHash)}};for(let he;he=this.mutexes.get(e.locatorHash);)await he;let[T,L,U]=await C();T||this.markedFiles.add(L);let J,te=T?()=>h():()=>new Zi(L,{baseFs:p,readOnly:!0}),le=new Am(()=>rO(()=>J=te(),he=>`Failed to open the cache entry for ${jr(this.configuration,e)}: ${he}`),K),ce=new ju(L,{baseFs:le,pathUtils:K}),ue=()=>{J?.discardAndClose()},Ie=u.unstablePackages?.has(e.locatorHash)?null:U;return[ce,ue,Ie]}},Zct=/^(?:(?<cacheKey>(?<cacheVersion>[0-9]+)(?<cacheSpec>.*))\/)?(?<hash>.*)$/});var Sk,Jpe=It(()=>{Sk=(r=>(r[r.SCRIPT=0]="SCRIPT",r[r.SHELLCODE=1]="SHELLCODE",r))(Sk||{})});var $ct,tE,J8=It(()=>{Pt();Ol();xf();Io();$ct=[[/^(git(?:\+(?:https|ssh))?:\/\/.*(?:\.git)?)#(.*)$/,(t,e,r,o)=>`${r}#commit=${o}`],[/^https:\/\/((?:[^/]+?)@)?codeload\.github\.com\/([^/]+\/[^/]+)\/tar\.gz\/([0-9a-f]+)$/,(t,e,r="",o,a)=>`https://${r}github.com/${o}.git#commit=${a}`],[/^https:\/\/((?:[^/]+?)@)?github\.com\/([^/]+\/[^/]+?)(?:\.git)?#([0-9a-f]+)$/,(t,e,r="",o,a)=>`https://${r}github.com/${o}.git#commit=${a}`],[/^https?:\/\/[^/]+\/(?:[^/]+\/)*(?:@.+(?:\/|(?:%2f)))?([^/]+)\/(?:-|download)\/\1-[^/]+\.tgz(?:#|$)/,t=>`npm:${t}`],[/^https:\/\/npm\.pkg\.github\.com\/download\/(?:@[^/]+)\/(?:[^/]+)\/(?:[^/]+)\/(?:[0-9a-f]+)(?:#|$)/,t=>`npm:${t}`],[/^https:\/\/npm\.fontawesome\.com\/(?:@[^/]+)\/([^/]+)\/-\/([^/]+)\/\1-\2.tgz(?:#|$)/,t=>`npm:${t}`],[/^https?:\/\/[^/]+\/.*\/(@[^/]+)\/([^/]+)\/-\/\1\/\2-(?:[.\d\w-]+)\.tgz(?:#|$)/,(t,e)=>yb({protocol:"npm:",source:null,selector:t,params:{__archiveUrl:e}})],[/^[^/]+\.tgz#[0-9a-f]+$/,t=>`npm:${t}`]],tE=class{constructor(e){this.resolver=e;this.resolutions=null}async setup(e,{report:r}){let o=K.join(e.cwd,mr.lockfile);if(!ae.existsSync(o))return;let a=await ae.readFilePromise(o,"utf8"),n=Ki(a);if(Object.hasOwn(n,"__metadata"))return;let u=this.resolutions=new Map;for(let A of Object.keys(n)){let p=v1(A);if(!p){r.reportWarning(14,`Failed to parse the string "${A}" into a proper descriptor`);continue}let h=Fa(p.range)?kn(p,`npm:${p.range}`):p,{version:E,resolved:w}=n[A];if(!w)continue;let D;for(let[C,T]of $ct){let L=w.match(C);if(L){D=T(E,...L);break}}if(!D){r.reportWarning(14,`${Jn(e.configuration,h)}: Only some patterns can be imported from legacy lockfiles (not "${w}")`);continue}let x=h;try{let C=vg(h.range),T=v1(C.selector,!0);T&&(x=T)}catch{}u.set(h.descriptorHash,Ss(x,D))}}supportsDescriptor(e,r){return this.resolutions?this.resolutions.has(e.descriptorHash):!1}supportsLocator(e,r){return!1}shouldPersistResolution(e,r){throw new Error("Assertion failed: This resolver doesn't support resolving locators to packages")}bindDescriptor(e,r,o){return e}getResolutionDependencies(e,r){return{}}async getCandidates(e,r,o){if(!this.resolutions)throw new Error("Assertion failed: The resolution store should have been setup");let a=this.resolutions.get(e.descriptorHash);if(!a)throw new Error("Assertion failed: The resolution should have been registered");let n=LM(a),u=o.project.configuration.normalizeDependency(n);return await this.resolver.getCandidates(u,r,o)}async getSatisfying(e,r,o,a){let[n]=await this.getCandidates(e,r,a);return{locators:o.filter(u=>u.locatorHash===n.locatorHash),sorted:!1}}async resolve(e,r){throw new Error("Assertion failed: This resolver doesn't support resolving locators to packages")}}});var pA,zpe=It(()=>{Vl();n2();Wl();pA=class extends Ws{constructor({configuration:r,stdout:o,suggestInstall:a=!0}){super();this.errorCount=0;g1(this,{configuration:r}),this.configuration=r,this.stdout=o,this.suggestInstall=a}static async start(r,o){let a=new this(r);try{await o(a)}catch(n){a.reportExceptionOnce(n)}finally{await a.finalize()}return a}hasErrors(){return this.errorCount>0}exitCode(){return this.hasErrors()?1:0}reportCacheHit(r){}reportCacheMiss(r){}startSectionSync(r,o){return o()}async startSectionPromise(r,o){return await o()}startTimerSync(r,o,a){return(typeof o=="function"?o:a)()}async startTimerPromise(r,o,a){return await(typeof o=="function"?o:a)()}reportSeparator(){}reportInfo(r,o){}reportWarning(r,o){}reportError(r,o){this.errorCount+=1,this.stdout.write(`${Ut(this.configuration,"\u27A4","redBright")} ${this.formatNameWithHyperlink(r)}: ${o} +`)}reportProgress(r){return{...Promise.resolve().then(async()=>{for await(let{}of r);}),stop:()=>{}}}reportJson(r){}reportFold(r,o){}async finalize(){this.errorCount>0&&(this.stdout.write(` +`),this.stdout.write(`${Ut(this.configuration,"\u27A4","redBright")} Errors happened when preparing the environment required to run this command. +`),this.suggestInstall&&this.stdout.write(`${Ut(this.configuration,"\u27A4","redBright")} This might be caused by packages being missing from the lockfile, in which case running "yarn install" might help. +`))}formatNameWithHyperlink(r){return r3(r,{configuration:this.configuration,json:!1})}}});var rE,z8=It(()=>{Io();rE=class{constructor(e){this.resolver=e}supportsDescriptor(e,r){return!!(r.project.storedResolutions.get(e.descriptorHash)||r.project.originalPackages.has(gb(e).locatorHash))}supportsLocator(e,r){return!!(r.project.originalPackages.has(e.locatorHash)&&!r.project.lockfileNeedsRefresh)}shouldPersistResolution(e,r){throw new Error("The shouldPersistResolution method shouldn't be called on the lockfile resolver, which would always answer yes")}bindDescriptor(e,r,o){return e}getResolutionDependencies(e,r){return this.resolver.getResolutionDependencies(e,r)}async getCandidates(e,r,o){let a=o.project.storedResolutions.get(e.descriptorHash);if(a){let u=o.project.originalPackages.get(a);if(u)return[u]}let n=o.project.originalPackages.get(gb(e).locatorHash);if(n)return[n];throw new Error("Resolution expected from the lockfile data")}async getSatisfying(e,r,o,a){let[n]=await this.getCandidates(e,r,a);return{locators:o.filter(u=>u.locatorHash===n.locatorHash),sorted:!1}}async resolve(e,r){let o=r.project.originalPackages.get(e.locatorHash);if(!o)throw new Error("The lockfile resolver isn't meant to resolve packages - they should already have been stored into a cache");return o}}});function Wf(){}function eut(t,e,r,o,a){for(var n=0,u=e.length,A=0,p=0;n<u;n++){var h=e[n];if(h.removed){if(h.value=t.join(o.slice(p,p+h.count)),p+=h.count,n&&e[n-1].added){var w=e[n-1];e[n-1]=e[n],e[n]=w}}else{if(!h.added&&a){var E=r.slice(A,A+h.count);E=E.map(function(x,C){var T=o[p+C];return T.length>x.length?T:x}),h.value=t.join(E)}else h.value=t.join(r.slice(A,A+h.count));A+=h.count,h.added||(p+=h.count)}}var D=e[u-1];return u>1&&typeof D.value=="string"&&(D.added||D.removed)&&t.equals("",D.value)&&(e[u-2].value+=D.value,e.pop()),e}function tut(t){return{newPos:t.newPos,components:t.components.slice(0)}}function rut(t,e){if(typeof t=="function")e.callback=t;else if(t)for(var r in t)t.hasOwnProperty(r)&&(e[r]=t[r]);return e}function $pe(t,e,r){return r=rut(r,{ignoreWhitespace:!0}),t_.diff(t,e,r)}function nut(t,e,r){return r_.diff(t,e,r)}function bk(t){"@babel/helpers - typeof";return typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?bk=function(e){return typeof e}:bk=function(e){return e&&typeof Symbol=="function"&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},bk(t)}function X8(t){return out(t)||aut(t)||lut(t)||cut()}function out(t){if(Array.isArray(t))return Z8(t)}function aut(t){if(typeof Symbol<"u"&&Symbol.iterator in Object(t))return Array.from(t)}function lut(t,e){if(t){if(typeof t=="string")return Z8(t,e);var r=Object.prototype.toString.call(t).slice(8,-1);if(r==="Object"&&t.constructor&&(r=t.constructor.name),r==="Map"||r==="Set")return Array.from(t);if(r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return Z8(t,e)}}function Z8(t,e){(e==null||e>t.length)&&(e=t.length);for(var r=0,o=new Array(e);r<e;r++)o[r]=t[r];return o}function cut(){throw new TypeError(`Invalid attempt to spread non-iterable instance. +In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function $8(t,e,r,o,a){e=e||[],r=r||[],o&&(t=o(a,t));var n;for(n=0;n<e.length;n+=1)if(e[n]===t)return r[n];var u;if(uut.call(t)==="[object Array]"){for(e.push(t),u=new Array(t.length),r.push(u),n=0;n<t.length;n+=1)u[n]=$8(t[n],e,r,o,a);return e.pop(),r.pop(),u}if(t&&t.toJSON&&(t=t.toJSON()),bk(t)==="object"&&t!==null){e.push(t),u={},r.push(u);var A=[],p;for(p in t)t.hasOwnProperty(p)&&A.push(p);for(A.sort(),n=0;n<A.length;n+=1)p=A[n],u[p]=$8(t[p],e,r,o,p);e.pop(),r.pop()}else u=t;return u}function ehe(t,e,r,o,a,n,u){u||(u={}),typeof u.context>"u"&&(u.context=4);var A=nut(r,o,u);if(!A)return;A.push({value:"",lines:[]});function p(U){return U.map(function(J){return" "+J})}for(var h=[],E=0,w=0,D=[],x=1,C=1,T=function(J){var te=A[J],le=te.lines||te.value.replace(/\n$/,"").split(` +`);if(te.lines=le,te.added||te.removed){var ce;if(!E){var ue=A[J-1];E=x,w=C,ue&&(D=u.context>0?p(ue.lines.slice(-u.context)):[],E-=D.length,w-=D.length)}(ce=D).push.apply(ce,X8(le.map(function(fe){return(te.added?"+":"-")+fe}))),te.added?C+=le.length:x+=le.length}else{if(E)if(le.length<=u.context*2&&J<A.length-2){var Ie;(Ie=D).push.apply(Ie,X8(p(le)))}else{var he,De=Math.min(le.length,u.context);(he=D).push.apply(he,X8(p(le.slice(0,De))));var Ee={oldStart:E,oldLines:x-E+De,newStart:w,newLines:C-w+De,lines:D};if(J>=A.length-2&&le.length<=u.context){var g=/\n$/.test(r),me=/\n$/.test(o),Ce=le.length==0&&D.length>Ee.oldLines;!g&&Ce&&r.length>0&&D.splice(Ee.oldLines,0,"\\ No newline at end of file"),(!g&&!Ce||!me)&&D.push("\\ No newline at end of file")}h.push(Ee),E=0,w=0,D=[]}x+=le.length,C+=le.length}},L=0;L<A.length;L++)T(L);return{oldFileName:t,newFileName:e,oldHeader:a,newHeader:n,hunks:h}}var U4t,Xpe,Zpe,t_,r_,iut,sut,uut,D2,e_,n_=It(()=>{Wf.prototype={diff:function(e,r){var o=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},a=o.callback;typeof o=="function"&&(a=o,o={}),this.options=o;var n=this;function u(T){return a?(setTimeout(function(){a(void 0,T)},0),!0):T}e=this.castInput(e),r=this.castInput(r),e=this.removeEmpty(this.tokenize(e)),r=this.removeEmpty(this.tokenize(r));var A=r.length,p=e.length,h=1,E=A+p;o.maxEditLength&&(E=Math.min(E,o.maxEditLength));var w=[{newPos:-1,components:[]}],D=this.extractCommon(w[0],r,e,0);if(w[0].newPos+1>=A&&D+1>=p)return u([{value:this.join(r),count:r.length}]);function x(){for(var T=-1*h;T<=h;T+=2){var L=void 0,U=w[T-1],J=w[T+1],te=(J?J.newPos:0)-T;U&&(w[T-1]=void 0);var le=U&&U.newPos+1<A,ce=J&&0<=te&&te<p;if(!le&&!ce){w[T]=void 0;continue}if(!le||ce&&U.newPos<J.newPos?(L=tut(J),n.pushComponent(L.components,void 0,!0)):(L=U,L.newPos++,n.pushComponent(L.components,!0,void 0)),te=n.extractCommon(L,r,e,T),L.newPos+1>=A&&te+1>=p)return u(eut(n,L.components,r,e,n.useLongestToken));w[T]=L}h++}if(a)(function T(){setTimeout(function(){if(h>E)return a();x()||T()},0)})();else for(;h<=E;){var C=x();if(C)return C}},pushComponent:function(e,r,o){var a=e[e.length-1];a&&a.added===r&&a.removed===o?e[e.length-1]={count:a.count+1,added:r,removed:o}:e.push({count:1,added:r,removed:o})},extractCommon:function(e,r,o,a){for(var n=r.length,u=o.length,A=e.newPos,p=A-a,h=0;A+1<n&&p+1<u&&this.equals(r[A+1],o[p+1]);)A++,p++,h++;return h&&e.components.push({count:h}),e.newPos=A,p},equals:function(e,r){return this.options.comparator?this.options.comparator(e,r):e===r||this.options.ignoreCase&&e.toLowerCase()===r.toLowerCase()},removeEmpty:function(e){for(var r=[],o=0;o<e.length;o++)e[o]&&r.push(e[o]);return r},castInput:function(e){return e},tokenize:function(e){return e.split("")},join:function(e){return e.join("")}};U4t=new Wf;Xpe=/^[A-Za-z\xC0-\u02C6\u02C8-\u02D7\u02DE-\u02FF\u1E00-\u1EFF]+$/,Zpe=/\S/,t_=new Wf;t_.equals=function(t,e){return this.options.ignoreCase&&(t=t.toLowerCase(),e=e.toLowerCase()),t===e||this.options.ignoreWhitespace&&!Zpe.test(t)&&!Zpe.test(e)};t_.tokenize=function(t){for(var e=t.split(/([^\S\r\n]+|[()[\]{}'"\r\n]|\b)/),r=0;r<e.length-1;r++)!e[r+1]&&e[r+2]&&Xpe.test(e[r])&&Xpe.test(e[r+2])&&(e[r]+=e[r+2],e.splice(r+1,2),r--);return e};r_=new Wf;r_.tokenize=function(t){var e=[],r=t.split(/(\n|\r\n)/);r[r.length-1]||r.pop();for(var o=0;o<r.length;o++){var a=r[o];o%2&&!this.options.newlineIsToken?e[e.length-1]+=a:(this.options.ignoreWhitespace&&(a=a.trim()),e.push(a))}return e};iut=new Wf;iut.tokenize=function(t){return t.split(/(\S.+?[.!?])(?=\s+|$)/)};sut=new Wf;sut.tokenize=function(t){return t.split(/([{}:;,]|\s+)/)};uut=Object.prototype.toString,D2=new Wf;D2.useLongestToken=!0;D2.tokenize=r_.tokenize;D2.castInput=function(t){var e=this.options,r=e.undefinedReplacement,o=e.stringifyReplacer,a=o===void 0?function(n,u){return typeof u>"u"?r:u}:o;return typeof t=="string"?t:JSON.stringify($8(t,null,null,a),a," ")};D2.equals=function(t,e){return Wf.prototype.equals.call(D2,t.replace(/,([\r\n])/g,"$1"),e.replace(/,([\r\n])/g,"$1"))};e_=new Wf;e_.tokenize=function(t){return t.slice()};e_.join=e_.removeEmpty=function(t){return t}});var rhe=_((H4t,the)=>{var Aut=jl(),fut=fy(),put=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,hut=/^\w*$/;function gut(t,e){if(Aut(t))return!1;var r=typeof t;return r=="number"||r=="symbol"||r=="boolean"||t==null||fut(t)?!0:hut.test(t)||!put.test(t)||e!=null&&t in Object(e)}the.exports=gut});var she=_((q4t,ihe)=>{var nhe=dS(),dut="Expected a function";function i_(t,e){if(typeof t!="function"||e!=null&&typeof e!="function")throw new TypeError(dut);var r=function(){var o=arguments,a=e?e.apply(this,o):o[0],n=r.cache;if(n.has(a))return n.get(a);var u=t.apply(this,o);return r.cache=n.set(a,u)||n,u};return r.cache=new(i_.Cache||nhe),r}i_.Cache=nhe;ihe.exports=i_});var ahe=_((j4t,ohe)=>{var mut=she(),yut=500;function Eut(t){var e=mut(t,function(o){return r.size===yut&&r.clear(),o}),r=e.cache;return e}ohe.exports=Eut});var s_=_((G4t,lhe)=>{var Cut=ahe(),Iut=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,wut=/\\(\\)?/g,But=Cut(function(t){var e=[];return t.charCodeAt(0)===46&&e.push(""),t.replace(Iut,function(r,o,a,n){e.push(a?n.replace(wut,"$1"):o||r)}),e});lhe.exports=But});var Wg=_((W4t,che)=>{var vut=jl(),Dut=rhe(),Put=s_(),Sut=t2();function but(t,e){return vut(t)?t:Dut(t,e)?[t]:Put(Sut(t))}che.exports=but});var nE=_((Y4t,uhe)=>{var xut=fy(),kut=1/0;function Qut(t){if(typeof t=="string"||xut(t))return t;var e=t+"";return e=="0"&&1/t==-kut?"-0":e}uhe.exports=Qut});var xk=_((K4t,Ahe)=>{var Fut=Wg(),Rut=nE();function Tut(t,e){e=Fut(e,t);for(var r=0,o=e.length;t!=null&&r<o;)t=t[Rut(e[r++])];return r&&r==o?t:void 0}Ahe.exports=Tut});var o_=_((V4t,phe)=>{var Nut=RS(),Lut=Wg(),Out=n1(),fhe=cl(),Mut=nE();function Uut(t,e,r,o){if(!fhe(t))return t;e=Lut(e,t);for(var a=-1,n=e.length,u=n-1,A=t;A!=null&&++a<n;){var p=Mut(e[a]),h=r;if(p==="__proto__"||p==="constructor"||p==="prototype")return t;if(a!=u){var E=A[p];h=o?o(E,p,A):void 0,h===void 0&&(h=fhe(E)?E:Out(e[a+1])?[]:{})}Nut(A,p,h),A=A[p]}return t}phe.exports=Uut});var ghe=_((J4t,hhe)=>{var _ut=xk(),Hut=o_(),qut=Wg();function jut(t,e,r){for(var o=-1,a=e.length,n={};++o<a;){var u=e[o],A=_ut(t,u);r(A,u)&&Hut(n,qut(u,t),A)}return n}hhe.exports=jut});var mhe=_((z4t,dhe)=>{function Gut(t,e){return t!=null&&e in Object(t)}dhe.exports=Gut});var a_=_((X4t,yhe)=>{var Wut=Wg(),Yut=e1(),Kut=jl(),Vut=n1(),Jut=IS(),zut=nE();function Xut(t,e,r){e=Wut(e,t);for(var o=-1,a=e.length,n=!1;++o<a;){var u=zut(e[o]);if(!(n=t!=null&&r(t,u)))break;t=t[u]}return n||++o!=a?n:(a=t==null?0:t.length,!!a&&Jut(a)&&Vut(u,a)&&(Kut(t)||Yut(t)))}yhe.exports=Xut});var Che=_((Z4t,Ehe)=>{var Zut=mhe(),$ut=a_();function eAt(t,e){return t!=null&&$ut(t,e,Zut)}Ehe.exports=eAt});var whe=_(($4t,Ihe)=>{var tAt=ghe(),rAt=Che();function nAt(t,e){return tAt(t,e,function(r,o){return rAt(t,o)})}Ihe.exports=nAt});var Phe=_((e3t,Dhe)=>{var Bhe=dg(),iAt=e1(),sAt=jl(),vhe=Bhe?Bhe.isConcatSpreadable:void 0;function oAt(t){return sAt(t)||iAt(t)||!!(vhe&&t&&t[vhe])}Dhe.exports=oAt});var xhe=_((t3t,bhe)=>{var aAt=ES(),lAt=Phe();function She(t,e,r,o,a){var n=-1,u=t.length;for(r||(r=lAt),a||(a=[]);++n<u;){var A=t[n];e>0&&r(A)?e>1?She(A,e-1,r,o,a):aAt(a,A):o||(a[a.length]=A)}return a}bhe.exports=She});var Qhe=_((r3t,khe)=>{var cAt=xhe();function uAt(t){var e=t==null?0:t.length;return e?cAt(t,1):[]}khe.exports=uAt});var l_=_((n3t,Fhe)=>{var AAt=Qhe(),fAt=VL(),pAt=JL();function hAt(t){return pAt(fAt(t,void 0,AAt),t+"")}Fhe.exports=hAt});var c_=_((i3t,Rhe)=>{var gAt=whe(),dAt=l_(),mAt=dAt(function(t,e){return t==null?{}:gAt(t,e)});Rhe.exports=mAt});var kk,The=It(()=>{Vl();kk=class{constructor(e){this.resolver=e}supportsDescriptor(e,r){return this.resolver.supportsDescriptor(e,r)}supportsLocator(e,r){return this.resolver.supportsLocator(e,r)}shouldPersistResolution(e,r){return this.resolver.shouldPersistResolution(e,r)}bindDescriptor(e,r,o){return this.resolver.bindDescriptor(e,r,o)}getResolutionDependencies(e,r){return this.resolver.getResolutionDependencies(e,r)}async getCandidates(e,r,o){throw new Jt(20,`This package doesn't seem to be present in your lockfile; run "yarn install" to update the lockfile`)}async getSatisfying(e,r,o,a){throw new Jt(20,`This package doesn't seem to be present in your lockfile; run "yarn install" to update the lockfile`)}async resolve(e,r){throw new Jt(20,`This package doesn't seem to be present in your lockfile; run "yarn install" to update the lockfile`)}}});var Ri,u_=It(()=>{Vl();Ri=class extends Ws{reportCacheHit(e){}reportCacheMiss(e){}startSectionSync(e,r){return r()}async startSectionPromise(e,r){return await r()}startTimerSync(e,r,o){return(typeof r=="function"?r:o)()}async startTimerPromise(e,r,o){return await(typeof r=="function"?r:o)()}reportSeparator(){}reportInfo(e,r){}reportWarning(e,r){}reportError(e,r){}reportProgress(e){return{...Promise.resolve().then(async()=>{for await(let{}of e);}),stop:()=>{}}}reportJson(e){}reportFold(e,r){}async finalize(){}}});var Nhe,iE,A_=It(()=>{Pt();Nhe=et(Ab());Ay();Dg();Wl();ah();xf();Io();iE=class{constructor(e,{project:r}){this.workspacesCwds=new Set;this.project=r,this.cwd=e}async setup(){this.manifest=await _t.tryFind(this.cwd)??new _t,this.relativeCwd=K.relative(this.project.cwd,this.cwd)||Bt.dot;let e=this.manifest.name?this.manifest.name:rA(null,`${this.computeCandidateName()}-${Ji(this.relativeCwd).substring(0,6)}`);this.anchoredDescriptor=kn(e,`${ci.protocol}${this.relativeCwd}`),this.anchoredLocator=Ss(e,`${ci.protocol}${this.relativeCwd}`);let r=this.manifest.workspaceDefinitions.map(({pattern:a})=>a);if(r.length===0)return;let o=await(0,Nhe.default)(r,{cwd:Ae.fromPortablePath(this.cwd),onlyDirectories:!0,ignore:["**/node_modules","**/.git","**/.yarn"]});o.sort(),await o.reduce(async(a,n)=>{let u=K.resolve(this.cwd,Ae.toPortablePath(n)),A=await ae.existsPromise(K.join(u,"package.json"));await a,A&&this.workspacesCwds.add(u)},Promise.resolve())}get anchoredPackage(){let e=this.project.storedPackages.get(this.anchoredLocator.locatorHash);if(!e)throw new Error(`Assertion failed: Expected workspace ${P1(this.project.configuration,this)} (${Ut(this.project.configuration,K.join(this.cwd,mr.manifest),Ct.PATH)}) to have been resolved. Run "yarn install" to update the lockfile`);return e}accepts(e){let r=e.indexOf(":"),o=r!==-1?e.slice(0,r+1):null,a=r!==-1?e.slice(r+1):e;if(o===ci.protocol&&K.normalize(a)===this.relativeCwd||o===ci.protocol&&(a==="*"||a==="^"||a==="~"))return!0;let n=Fa(a);return n?o===ci.protocol?n.test(this.manifest.version??"0.0.0"):this.project.configuration.get("enableTransparentWorkspaces")&&this.manifest.version!==null?n.test(this.manifest.version):!1:!1}computeCandidateName(){return this.cwd===this.project.cwd?"root-workspace":`${K.basename(this.cwd)}`||"unnamed-workspace"}getRecursiveWorkspaceDependencies({dependencies:e=_t.hardDependencies}={}){let r=new Set,o=a=>{for(let n of e)for(let u of a.manifest[n].values()){let A=this.project.tryWorkspaceByDescriptor(u);A===null||r.has(A)||(r.add(A),o(A))}};return o(this),r}getRecursiveWorkspaceDependents({dependencies:e=_t.hardDependencies}={}){let r=new Set,o=a=>{for(let n of this.project.workspaces)e.some(A=>[...n.manifest[A].values()].some(p=>{let h=this.project.tryWorkspaceByDescriptor(p);return h!==null&&B1(h.anchoredLocator,a.anchoredLocator)}))&&!r.has(n)&&(r.add(n),o(n))};return o(this),r}getRecursiveWorkspaceChildren(){let e=new Set([this]);for(let r of e)for(let o of r.workspacesCwds){let a=this.project.workspacesByCwd.get(o);a&&e.add(a)}return e.delete(this),Array.from(e)}async persistManifest(){let e={};this.manifest.exportTo(e);let r=K.join(this.cwd,_t.fileName),o=`${JSON.stringify(e,null,this.manifest.indent)} +`;await ae.changeFilePromise(r,o,{automaticNewlines:!0}),this.manifest.raw=e}}});function BAt({project:t,allDescriptors:e,allResolutions:r,allPackages:o,accessibleLocators:a=new Set,optionalBuilds:n=new Set,peerRequirements:u=new Map,peerWarnings:A=[],peerRequirementNodes:p=new Map,volatileDescriptors:h=new Set}){let E=new Map,w=[],D=new Map,x=new Map,C=new Map,T=new Map,L=new Map(t.workspaces.map(ce=>{let ue=ce.anchoredLocator.locatorHash,Ie=o.get(ue);if(typeof Ie>"u")throw new Error("Assertion failed: The workspace should have an associated package");return[ue,E1(Ie)]})),U=()=>{let ce=ae.mktempSync(),ue=K.join(ce,"stacktrace.log"),Ie=String(w.length+1).length,he=w.map((De,Ee)=>`${`${Ee+1}.`.padStart(Ie," ")} ${Qa(De)} +`).join("");throw ae.writeFileSync(ue,he),ae.detachTemp(ce),new Jt(45,`Encountered a stack overflow when resolving peer dependencies; cf ${Ae.fromPortablePath(ue)}`)},J=ce=>{let ue=r.get(ce.descriptorHash);if(typeof ue>"u")throw new Error("Assertion failed: The resolution should have been registered");let Ie=o.get(ue);if(!Ie)throw new Error("Assertion failed: The package could not be found");return Ie},te=(ce,ue,Ie,{top:he,optional:De})=>{w.length>1e3&&U(),w.push(ue);let Ee=le(ce,ue,Ie,{top:he,optional:De});return w.pop(),Ee},le=(ce,ue,Ie,{top:he,optional:De})=>{if(De||n.delete(ue.locatorHash),a.has(ue.locatorHash))return;a.add(ue.locatorHash);let Ee=o.get(ue.locatorHash);if(!Ee)throw new Error(`Assertion failed: The package (${jr(t.configuration,ue)}) should have been registered`);let g=[],me=new Map,Ce=[],fe=[],ie=[],Z=[];for(let Re of Array.from(Ee.dependencies.values())){if(Ee.peerDependencies.has(Re.identHash)&&Ee.locatorHash!==he)continue;if(Pf(Re))throw new Error("Assertion failed: Virtual packages shouldn't be encountered when virtualizing a branch");h.delete(Re.descriptorHash);let ht=De;if(!ht){let be=Ee.dependenciesMeta.get(rn(Re));if(typeof be<"u"){let tt=be.get(null);typeof tt<"u"&&tt.optional&&(ht=!0)}}let q=r.get(Re.descriptorHash);if(!q)throw new Error(`Assertion failed: The resolution (${Jn(t.configuration,Re)}) should have been registered`);let nt=L.get(q)||o.get(q);if(!nt)throw new Error(`Assertion failed: The package (${q}, resolved from ${Jn(t.configuration,Re)}) should have been registered`);if(nt.peerDependencies.size===0){te(Re,nt,new Map,{top:he,optional:ht});continue}let Ne,Te,ke=new Set,Ve=new Map;Ce.push(()=>{Ne=MM(Re,ue.locatorHash),Te=UM(nt,ue.locatorHash),Ee.dependencies.delete(Re.identHash),Ee.dependencies.set(Ne.identHash,Ne),r.set(Ne.descriptorHash,Te.locatorHash),e.set(Ne.descriptorHash,Ne),o.set(Te.locatorHash,Te),g.push([nt,Ne,Te])}),fe.push(()=>{T.set(Te.locatorHash,Ve);for(let be of Te.peerDependencies.values()){let He=Al(me,be.identHash,()=>{let b=Ie.get(be.identHash)??null,I=Ee.dependencies.get(be.identHash);return!I&&w1(ue,be)&&(ce.identHash===ue.identHash?I=ce:(I=kn(ue,ce.range),e.set(I.descriptorHash,I),r.set(I.descriptorHash,ue.locatorHash),h.delete(I.descriptorHash),b=null)),I||(I=kn(be,"missing:")),{subject:ue,ident:be,provided:I,root:!b,requests:new Map,hash:`p${Ji(ue.locatorHash,be.identHash).slice(0,5)}`}}).provided;if(He.range==="missing:"&&Te.dependencies.has(be.identHash)){Te.peerDependencies.delete(be.identHash);continue}Ve.set(be.identHash,{requester:Te,descriptor:be,meta:Te.peerDependenciesMeta.get(rn(be)),children:new Map}),Te.dependencies.set(be.identHash,He),Pf(He)&&Jm(C,He.descriptorHash).add(Te.locatorHash),D.set(He.identHash,He),He.range==="missing:"&&ke.add(He.identHash)}Te.dependencies=new Map(Ps(Te.dependencies,([be,tt])=>rn(tt)))}),ie.push(()=>{if(!o.has(Te.locatorHash))return;let be=E.get(nt.locatorHash);typeof be=="number"&&be>=2&&U();let tt=E.get(nt.locatorHash),He=typeof tt<"u"?tt+1:1;E.set(nt.locatorHash,He),te(Ne,Te,Ve,{top:he,optional:ht}),E.set(nt.locatorHash,He-1)}),Z.push(()=>{let be=Ee.dependencies.get(Re.identHash);if(typeof be>"u")throw new Error("Assertion failed: Expected the peer dependency to have been turned into a dependency");let tt=r.get(be.descriptorHash);if(typeof tt>"u")throw new Error("Assertion failed: Expected the descriptor to be registered");let He=T.get(tt);if(typeof He>"u")throw new Error("Assertion failed: Expected the peer requests to be registered");for(let b of me.values()){let I=He.get(b.ident.identHash);I&&(b.requests.set(be.descriptorHash,I),p.set(b.hash,b),b.root||Ie.get(b.ident.identHash)?.children.set(be.descriptorHash,I))}if(o.has(Te.locatorHash))for(let b of ke)Te.dependencies.delete(b)})}for(let Re of[...Ce,...fe])Re();let Pe;do{Pe=!0;for(let[Re,ht,q]of g){let nt=A1(x,Re.locatorHash),Ne=Ji(...[...q.dependencies.values()].map(be=>{let tt=be.range!=="missing:"?r.get(be.descriptorHash):"missing:";if(typeof tt>"u")throw new Error(`Assertion failed: Expected the resolution for ${Jn(t.configuration,be)} to have been registered`);return tt===he?`${tt} (top)`:tt}),ht.identHash),Te=nt.get(Ne);if(typeof Te>"u"){nt.set(Ne,ht);continue}if(Te===ht)continue;o.delete(q.locatorHash),e.delete(ht.descriptorHash),r.delete(ht.descriptorHash),a.delete(q.locatorHash);let ke=C.get(ht.descriptorHash)||[],Ve=[Ee.locatorHash,...ke];C.delete(ht.descriptorHash);for(let be of Ve){let tt=o.get(be);typeof tt>"u"||(tt.dependencies.get(ht.identHash).descriptorHash!==Te.descriptorHash&&(Pe=!1),tt.dependencies.set(ht.identHash,Te))}for(let be of me.values())be.provided.descriptorHash===ht.descriptorHash&&(be.provided=Te)}}while(!Pe);for(let Re of[...ie,...Z])Re()};for(let ce of t.workspaces){let ue=ce.anchoredLocator;h.delete(ce.anchoredDescriptor.descriptorHash),te(ce.anchoredDescriptor,ue,new Map,{top:ue.locatorHash,optional:!1})}for(let ce of p.values()){if(!ce.root)continue;let ue=o.get(ce.subject.locatorHash);if(typeof ue>"u")continue;for(let he of ce.requests.values()){let De=`p${Ji(ce.subject.locatorHash,rn(ce.ident),he.requester.locatorHash).slice(0,5)}`;u.set(De,{subject:ce.subject.locatorHash,requested:ce.ident,rootRequester:he.requester.locatorHash,allRequesters:Array.from(S1(he),Ee=>Ee.requester.locatorHash)})}let Ie=[...S1(ce)];if(ce.provided.range!=="missing:"){let he=J(ce.provided),De=he.version??"0.0.0",Ee=me=>{if(me.startsWith(ci.protocol)){if(!t.tryWorkspaceByLocator(he))return null;me=me.slice(ci.protocol.length),(me==="^"||me==="~")&&(me="*")}return me},g=!0;for(let me of Ie){let Ce=Ee(me.descriptor.range);if(Ce===null){g=!1;continue}if(!nA(De,Ce)){g=!1;let fe=`p${Ji(ce.subject.locatorHash,rn(ce.ident),me.requester.locatorHash).slice(0,5)}`;A.push({type:1,subject:ue,requested:ce.ident,requester:me.requester,version:De,hash:fe,requirementCount:Ie.length})}}if(!g){let me=Ie.map(Ce=>Ee(Ce.descriptor.range));A.push({type:3,node:ce,range:me.includes(null)?null:qM(me),hash:ce.hash})}}else{let he=!0;for(let De of Ie)if(!De.meta?.optional){he=!1;let Ee=`p${Ji(ce.subject.locatorHash,rn(ce.ident),De.requester.locatorHash).slice(0,5)}`;A.push({type:0,subject:ue,requested:ce.ident,requester:De.requester,hash:Ee})}he||A.push({type:2,node:ce,hash:ce.hash})}}}function*vAt(t){let e=new Map;if("children"in t)e.set(t,t);else for(let r of t.requests.values())e.set(r,r);for(let[r,o]of e){yield{request:r,root:o};for(let a of r.children.values())e.has(a)||e.set(a,o)}}function DAt(t,e){let r=[],o=[],a=!1;for(let n of t.peerWarnings)if(!(n.type===1||n.type===0)){if(!t.tryWorkspaceByLocator(n.node.subject)){a=!0;continue}if(n.type===3){let u=t.storedResolutions.get(n.node.provided.descriptorHash);if(typeof u>"u")throw new Error("Assertion failed: Expected the descriptor to be registered");let A=t.storedPackages.get(u);if(typeof A>"u")throw new Error("Assertion failed: Expected the package to be registered");let p=eh(vAt(n.node),({request:w,root:D})=>nA(A.version??"0.0.0",w.descriptor.range)?eh.skip:w===D?Ui(t.configuration,w.requester):`${Ui(t.configuration,w.requester)} (via ${Ui(t.configuration,D.requester)})`),h=[...S1(n.node)].length>1?"and other dependencies request":"requests",E=n.range?cy(t.configuration,n.range):Ut(t.configuration,"but they have non-overlapping ranges!","redBright");r.push(`${Ui(t.configuration,n.node.ident)} is listed by your project with version ${D1(t.configuration,A.version??"0.0.0")} (${Ut(t.configuration,n.hash,Ct.CODE)}), which doesn't satisfy what ${p} ${h} (${E}).`)}if(n.type===2){let u=n.node.requests.size>1?" and other dependencies":"";o.push(`${jr(t.configuration,n.node.subject)} doesn't provide ${Ui(t.configuration,n.node.ident)} (${Ut(t.configuration,n.hash,Ct.CODE)}), requested by ${Ui(t.configuration,n.node.requests.values().next().value.requester)}${u}.`)}}e.startSectionSync({reportFooter:()=>{e.reportWarning(86,`Some peer dependencies are incorrectly met by your project; run ${Ut(t.configuration,"yarn explain peer-requirements <hash>",Ct.CODE)} for details, where ${Ut(t.configuration,"<hash>",Ct.CODE)} is the six-letter p-prefixed code.`)},skipIfEmpty:!0},()=>{for(let n of Ps(r,u=>ey.default(u)))e.reportWarning(60,n);for(let n of Ps(o,u=>ey.default(u)))e.reportWarning(2,n)}),a&&e.reportWarning(86,`Some peer dependencies are incorrectly met by dependencies; run ${Ut(t.configuration,"yarn explain peer-requirements",Ct.CODE)} for details.`)}var Qk,Fk,Rk,Mhe,h_,p_,g_,Tk,yAt,EAt,Lhe,CAt,IAt,wAt,yl,f_,Nk,Ohe,Qt,Uhe=It(()=>{Pt();Pt();Ol();Gt();Qk=ve("crypto");n_();Fk=et(c_()),Rk=et(lg()),Mhe=et(ni()),h_=ve("util"),p_=et(ve("v8")),g_=et(ve("zlib"));V8();W1();J8();z8();Ay();KM();Vl();The();n2();u_();Dg();A_();Db();Wl();ah();Gl();nx();a3();xf();Io();Tk=Zm(process.env.YARN_LOCKFILE_VERSION_OVERRIDE??8),yAt=3,EAt=/ *, */g,Lhe=/\/$/,CAt=32,IAt=(0,h_.promisify)(g_.default.gzip),wAt=(0,h_.promisify)(g_.default.gunzip),yl=(r=>(r.UpdateLockfile="update-lockfile",r.SkipBuild="skip-build",r))(yl||{}),f_={restoreLinkersCustomData:["linkersCustomData"],restoreResolutions:["accessibleLocators","conditionalLocators","disabledLocators","optionalBuilds","storedDescriptors","storedResolutions","storedPackages","lockFileChecksum"],restoreBuildState:["skippedBuilds","storedBuildState"]},Nk=(a=>(a[a.NotProvided=0]="NotProvided",a[a.NotCompatible=1]="NotCompatible",a[a.NodeNotProvided=2]="NodeNotProvided",a[a.NodeNotCompatible=3]="NodeNotCompatible",a))(Nk||{}),Ohe=t=>Ji(`${yAt}`,t),Qt=class t{constructor(e,{configuration:r}){this.resolutionAliases=new Map;this.workspaces=[];this.workspacesByCwd=new Map;this.workspacesByIdent=new Map;this.storedResolutions=new Map;this.storedDescriptors=new Map;this.storedPackages=new Map;this.storedChecksums=new Map;this.storedBuildState=new Map;this.accessibleLocators=new Set;this.conditionalLocators=new Set;this.disabledLocators=new Set;this.originalPackages=new Map;this.optionalBuilds=new Set;this.skippedBuilds=new Set;this.lockfileLastVersion=null;this.lockfileNeedsRefresh=!1;this.peerRequirements=new Map;this.peerWarnings=[];this.peerRequirementNodes=new Map;this.linkersCustomData=new Map;this.lockFileChecksum=null;this.installStateChecksum=null;this.configuration=r,this.cwd=e}static async find(e,r){if(!e.projectCwd)throw new it(`No project found in ${r}`);let o=e.projectCwd,a=r,n=null;for(;n!==e.projectCwd;){if(n=a,ae.existsSync(K.join(n,mr.manifest))){o=n;break}a=K.dirname(n)}let u=new t(e.projectCwd,{configuration:e});ze.telemetry?.reportProject(u.cwd),await u.setupResolutions(),await u.setupWorkspaces(),ze.telemetry?.reportWorkspaceCount(u.workspaces.length),ze.telemetry?.reportDependencyCount(u.workspaces.reduce((C,T)=>C+T.manifest.dependencies.size+T.manifest.devDependencies.size,0));let A=u.tryWorkspaceByCwd(o);if(A)return{project:u,workspace:A,locator:A.anchoredLocator};let p=await u.findLocatorForLocation(`${o}/`,{strict:!0});if(p)return{project:u,locator:p,workspace:null};let h=Ut(e,u.cwd,Ct.PATH),E=Ut(e,K.relative(u.cwd,o),Ct.PATH),w=`- If ${h} isn't intended to be a project, remove any yarn.lock and/or package.json file there.`,D=`- If ${h} is intended to be a project, it might be that you forgot to list ${E} in its workspace configuration.`,x=`- Finally, if ${h} is fine and you intend ${E} to be treated as a completely separate project (not even a workspace), create an empty yarn.lock file in it.`;throw new it(`The nearest package directory (${Ut(e,o,Ct.PATH)}) doesn't seem to be part of the project declared in ${Ut(e,u.cwd,Ct.PATH)}. + +${[w,D,x].join(` +`)}`)}async setupResolutions(){this.storedResolutions=new Map,this.storedDescriptors=new Map,this.storedPackages=new Map,this.lockFileChecksum=null;let e=K.join(this.cwd,mr.lockfile),r=this.configuration.get("defaultLanguageName");if(ae.existsSync(e)){let o=await ae.readFilePromise(e,"utf8");this.lockFileChecksum=Ohe(o);let a=Ki(o);if(a.__metadata){let n=a.__metadata.version,u=a.__metadata.cacheKey;this.lockfileLastVersion=n,this.lockfileNeedsRefresh=n<Tk;for(let A of Object.keys(a)){if(A==="__metadata")continue;let p=a[A];if(typeof p.resolution>"u")throw new Error(`Assertion failed: Expected the lockfile entry to have a resolution field (${A})`);let h=Sf(p.resolution,!0),E=new _t;E.load(p,{yamlCompatibilityMode:!0});let w=E.version,D=E.languageName||r,x=p.linkType.toUpperCase(),C=p.conditions??null,T=E.dependencies,L=E.peerDependencies,U=E.dependenciesMeta,J=E.peerDependenciesMeta,te=E.bin;if(p.checksum!=null){let ce=typeof u<"u"&&!p.checksum.includes("/")?`${u}/${p.checksum}`:p.checksum;this.storedChecksums.set(h.locatorHash,ce)}let le={...h,version:w,languageName:D,linkType:x,conditions:C,dependencies:T,peerDependencies:L,dependenciesMeta:U,peerDependenciesMeta:J,bin:te};this.originalPackages.set(le.locatorHash,le);for(let ce of A.split(EAt)){let ue=lh(ce);n<=6&&(ue=this.configuration.normalizeDependency(ue),ue=kn(ue,ue.range.replace(/^patch:[^@]+@(?!npm(:|%3A))/,"$1npm%3A"))),this.storedDescriptors.set(ue.descriptorHash,ue),this.storedResolutions.set(ue.descriptorHash,h.locatorHash)}}}else o.includes("yarn lockfile v1")&&(this.lockfileLastVersion=-1)}}async setupWorkspaces(){this.workspaces=[],this.workspacesByCwd=new Map,this.workspacesByIdent=new Map;let e=new Set,r=(0,Rk.default)(4),o=async(a,n)=>{if(e.has(n))return a;e.add(n);let u=new iE(n,{project:this});await r(()=>u.setup());let A=a.then(()=>{this.addWorkspace(u)});return Array.from(u.workspacesCwds).reduce(o,A)};await o(Promise.resolve(),this.cwd)}addWorkspace(e){let r=this.workspacesByIdent.get(e.anchoredLocator.identHash);if(typeof r<"u")throw new Error(`Duplicate workspace name ${Ui(this.configuration,e.anchoredLocator)}: ${Ae.fromPortablePath(e.cwd)} conflicts with ${Ae.fromPortablePath(r.cwd)}`);this.workspaces.push(e),this.workspacesByCwd.set(e.cwd,e),this.workspacesByIdent.set(e.anchoredLocator.identHash,e)}get topLevelWorkspace(){return this.getWorkspaceByCwd(this.cwd)}tryWorkspaceByCwd(e){K.isAbsolute(e)||(e=K.resolve(this.cwd,e)),e=K.normalize(e).replace(/\/+$/,"");let r=this.workspacesByCwd.get(e);return r||null}getWorkspaceByCwd(e){let r=this.tryWorkspaceByCwd(e);if(!r)throw new Error(`Workspace not found (${e})`);return r}tryWorkspaceByFilePath(e){let r=null;for(let o of this.workspaces)K.relative(o.cwd,e).startsWith("../")||r&&r.cwd.length>=o.cwd.length||(r=o);return r||null}getWorkspaceByFilePath(e){let r=this.tryWorkspaceByFilePath(e);if(!r)throw new Error(`Workspace not found (${e})`);return r}tryWorkspaceByIdent(e){let r=this.workspacesByIdent.get(e.identHash);return typeof r>"u"?null:r}getWorkspaceByIdent(e){let r=this.tryWorkspaceByIdent(e);if(!r)throw new Error(`Workspace not found (${Ui(this.configuration,e)})`);return r}tryWorkspaceByDescriptor(e){if(e.range.startsWith(ci.protocol)){let o=e.range.slice(ci.protocol.length);if(o!=="^"&&o!=="~"&&o!=="*"&&!Fa(o))return this.tryWorkspaceByCwd(o)}let r=this.tryWorkspaceByIdent(e);return r===null||(Pf(e)&&(e=C1(e)),!r.accepts(e.range))?null:r}getWorkspaceByDescriptor(e){let r=this.tryWorkspaceByDescriptor(e);if(r===null)throw new Error(`Workspace not found (${Jn(this.configuration,e)})`);return r}tryWorkspaceByLocator(e){let r=this.tryWorkspaceByIdent(e);return r===null||(Jc(e)&&(e=I1(e)),r.anchoredLocator.locatorHash!==e.locatorHash)?null:r}getWorkspaceByLocator(e){let r=this.tryWorkspaceByLocator(e);if(!r)throw new Error(`Workspace not found (${jr(this.configuration,e)})`);return r}deleteDescriptor(e){this.storedResolutions.delete(e),this.storedDescriptors.delete(e)}deleteLocator(e){this.originalPackages.delete(e),this.storedPackages.delete(e),this.accessibleLocators.delete(e)}forgetResolution(e){if("descriptorHash"in e){let r=this.storedResolutions.get(e.descriptorHash);this.deleteDescriptor(e.descriptorHash);let o=new Set(this.storedResolutions.values());typeof r<"u"&&!o.has(r)&&this.deleteLocator(r)}if("locatorHash"in e){this.deleteLocator(e.locatorHash);for(let[r,o]of this.storedResolutions)o===e.locatorHash&&this.deleteDescriptor(r)}}forgetTransientResolutions(){let e=this.configuration.makeResolver(),r=new Map;for(let[o,a]of this.storedResolutions.entries()){let n=r.get(a);n||r.set(a,n=new Set),n.add(o)}for(let o of this.originalPackages.values()){let a;try{a=e.shouldPersistResolution(o,{project:this,resolver:e})}catch{a=!1}if(!a){this.deleteLocator(o.locatorHash);let n=r.get(o.locatorHash);if(n){r.delete(o.locatorHash);for(let u of n)this.deleteDescriptor(u)}}}}forgetVirtualResolutions(){for(let e of this.storedPackages.values())for(let[r,o]of e.dependencies)Pf(o)&&e.dependencies.set(r,C1(o))}getDependencyMeta(e,r){let o={},n=this.topLevelWorkspace.manifest.dependenciesMeta.get(rn(e));if(!n)return o;let u=n.get(null);if(u&&Object.assign(o,u),r===null||!Mhe.default.valid(r))return o;for(let[A,p]of n)A!==null&&A===r&&Object.assign(o,p);return o}async findLocatorForLocation(e,{strict:r=!1}={}){let o=new Ri,a=this.configuration.getLinkers(),n={project:this,report:o};for(let u of a){let A=await u.findPackageLocator(e,n);if(A){if(r&&(await u.findPackageLocation(A,n)).replace(Lhe,"")!==e.replace(Lhe,""))continue;return A}}return null}async loadUserConfig(){let e=K.join(this.cwd,".pnp.cjs");await ae.existsPromise(e)&&vf(e).setup();let r=K.join(this.cwd,"yarn.config.cjs");return await ae.existsPromise(r)?vf(r):null}async preparePackage(e,{resolver:r,resolveOptions:o}){let a=await this.configuration.getPackageExtensions(),n=this.configuration.normalizePackage(e,{packageExtensions:a});for(let[u,A]of n.dependencies){let p=await this.configuration.reduceHook(E=>E.reduceDependency,A,this,n,A,{resolver:r,resolveOptions:o});if(!w1(A,p))throw new Error("Assertion failed: The descriptor ident cannot be changed through aliases");let h=r.bindDescriptor(p,n,o);n.dependencies.set(u,h)}return n}async resolveEverything(e){if(!this.workspacesByCwd||!this.workspacesByIdent)throw new Error("Workspaces must have been setup before calling this function");this.forgetVirtualResolutions();let r=new Map(this.originalPackages),o=[];e.lockfileOnly||this.forgetTransientResolutions();let a=e.resolver||this.configuration.makeResolver(),n=new tE(a);await n.setup(this,{report:e.report});let u=e.lockfileOnly?[new kk(a)]:[n,a],A=new Pg([new rE(a),...u]),p=new Pg([...u]),h=this.configuration.makeFetcher(),E=e.lockfileOnly?{project:this,report:e.report,resolver:A}:{project:this,report:e.report,resolver:A,fetchOptions:{project:this,cache:e.cache,checksums:this.storedChecksums,report:e.report,fetcher:h,cacheOptions:{mirrorWriteOnly:!0}}},w=new Map,D=new Map,x=new Map,C=new Map,T=new Map,L=new Map,U=this.topLevelWorkspace.anchoredLocator,J=new Set,te=[],le=I4(),ce=this.configuration.getSupportedArchitectures();await e.report.startProgressPromise(Ws.progressViaTitle(),async ie=>{let Z=async nt=>{let Ne=await zm(async()=>await A.resolve(nt,E),be=>`${jr(this.configuration,nt)}: ${be}`);if(!B1(nt,Ne))throw new Error(`Assertion failed: The locator cannot be changed by the resolver (went from ${jr(this.configuration,nt)} to ${jr(this.configuration,Ne)})`);C.set(Ne.locatorHash,Ne),!r.delete(Ne.locatorHash)&&!this.tryWorkspaceByLocator(Ne)&&o.push(Ne);let ke=await this.preparePackage(Ne,{resolver:A,resolveOptions:E}),Ve=Wc([...ke.dependencies.values()].map(be=>q(be)));return te.push(Ve),Ve.catch(()=>{}),D.set(ke.locatorHash,ke),ke},Pe=async nt=>{let Ne=T.get(nt.locatorHash);if(typeof Ne<"u")return Ne;let Te=Promise.resolve().then(()=>Z(nt));return T.set(nt.locatorHash,Te),Te},Re=async(nt,Ne)=>{let Te=await q(Ne);return w.set(nt.descriptorHash,nt),x.set(nt.descriptorHash,Te.locatorHash),Te},ht=async nt=>{ie.setTitle(Jn(this.configuration,nt));let Ne=this.resolutionAliases.get(nt.descriptorHash);if(typeof Ne<"u")return Re(nt,this.storedDescriptors.get(Ne));let Te=A.getResolutionDependencies(nt,E),ke=Object.fromEntries(await Wc(Object.entries(Te).map(async([tt,He])=>{let b=A.bindDescriptor(He,U,E),I=await q(b);return J.add(I.locatorHash),[tt,I]}))),be=(await zm(async()=>await A.getCandidates(nt,ke,E),tt=>`${Jn(this.configuration,nt)}: ${tt}`))[0];if(typeof be>"u")throw new Jt(82,`${Jn(this.configuration,nt)}: No candidates found`);if(e.checkResolutions){let{locators:tt}=await p.getSatisfying(nt,ke,[be],{...E,resolver:p});if(!tt.find(He=>He.locatorHash===be.locatorHash))throw new Jt(78,`Invalid resolution ${d1(this.configuration,nt,be)}`)}return w.set(nt.descriptorHash,nt),x.set(nt.descriptorHash,be.locatorHash),Pe(be)},q=nt=>{let Ne=L.get(nt.descriptorHash);if(typeof Ne<"u")return Ne;w.set(nt.descriptorHash,nt);let Te=Promise.resolve().then(()=>ht(nt));return L.set(nt.descriptorHash,Te),Te};for(let nt of this.workspaces){let Ne=nt.anchoredDescriptor;te.push(q(Ne))}for(;te.length>0;){let nt=[...te];te.length=0,await Wc(nt)}});let ue=ul(r.values(),ie=>this.tryWorkspaceByLocator(ie)?ul.skip:ie);if(o.length>0||ue.length>0){let ie=new Set(this.workspaces.flatMap(nt=>{let Ne=D.get(nt.anchoredLocator.locatorHash);if(!Ne)throw new Error("Assertion failed: The workspace should have been resolved");return Array.from(Ne.dependencies.values(),Te=>{let ke=x.get(Te.descriptorHash);if(!ke)throw new Error("Assertion failed: The resolution should have been registered");return ke})})),Z=nt=>ie.has(nt.locatorHash)?"0":"1",Pe=nt=>Qa(nt),Re=Ps(o,[Z,Pe]),ht=Ps(ue,[Z,Pe]),q=e.report.getRecommendedLength();Re.length>0&&e.report.reportInfo(85,`${Ut(this.configuration,"+",Ct.ADDED)} ${_S(this.configuration,Re,q)}`),ht.length>0&&e.report.reportInfo(85,`${Ut(this.configuration,"-",Ct.REMOVED)} ${_S(this.configuration,ht,q)}`)}let Ie=new Set(this.resolutionAliases.values()),he=new Set(D.keys()),De=new Set,Ee=new Map,g=[],me=new Map;BAt({project:this,accessibleLocators:De,volatileDescriptors:Ie,optionalBuilds:he,peerRequirements:Ee,peerWarnings:g,peerRequirementNodes:me,allDescriptors:w,allResolutions:x,allPackages:D});for(let ie of J)he.delete(ie);for(let ie of Ie)w.delete(ie),x.delete(ie);let Ce=new Set,fe=new Set;for(let ie of D.values())ie.conditions!=null&&he.has(ie.locatorHash)&&(Cb(ie,ce)||(Cb(ie,le)&&e.report.reportWarningOnce(77,`${jr(this.configuration,ie)}: Your current architecture (${process.platform}-${process.arch}) is supported by this package, but is missing from the ${Ut(this.configuration,"supportedArchitectures",Ct.SETTING)} setting`),fe.add(ie.locatorHash)),Ce.add(ie.locatorHash));this.storedResolutions=x,this.storedDescriptors=w,this.storedPackages=D,this.accessibleLocators=De,this.conditionalLocators=Ce,this.disabledLocators=fe,this.originalPackages=C,this.optionalBuilds=he,this.peerRequirements=Ee,this.peerWarnings=g,this.peerRequirementNodes=me}async fetchEverything({cache:e,report:r,fetcher:o,mode:a,persistProject:n=!0}){let u={mockedPackages:this.disabledLocators,unstablePackages:this.conditionalLocators},A=o||this.configuration.makeFetcher(),p={checksums:this.storedChecksums,project:this,cache:e,fetcher:A,report:r,cacheOptions:u},h=Array.from(new Set(Ps(this.storedResolutions.values(),[C=>{let T=this.storedPackages.get(C);if(!T)throw new Error("Assertion failed: The locator should have been registered");return Qa(T)}])));a==="update-lockfile"&&(h=h.filter(C=>!this.storedChecksums.has(C)));let E=!1,w=Ws.progressViaCounter(h.length);await r.reportProgress(w);let D=(0,Rk.default)(CAt);if(await Wc(h.map(C=>D(async()=>{let T=this.storedPackages.get(C);if(!T)throw new Error("Assertion failed: The locator should have been registered");if(Jc(T))return;let L;try{L=await A.fetch(T,p)}catch(U){U.message=`${jr(this.configuration,T)}: ${U.message}`,r.reportExceptionOnce(U),E=U;return}L.checksum!=null?this.storedChecksums.set(T.locatorHash,L.checksum):this.storedChecksums.delete(T.locatorHash),L.releaseFs&&L.releaseFs()}).finally(()=>{w.tick()}))),E)throw E;let x=n&&a!=="update-lockfile"?await this.cacheCleanup({cache:e,report:r}):null;if(r.cacheMisses.size>0||x){let T=(await Promise.all([...r.cacheMisses].map(async ue=>{let Ie=this.storedPackages.get(ue),he=this.storedChecksums.get(ue)??null,De=e.getLocatorPath(Ie,he);return(await ae.statPromise(De)).size}))).reduce((ue,Ie)=>ue+Ie,0)-(x?.size??0),L=r.cacheMisses.size,U=x?.count??0,J=`${TS(L,{zero:"No new packages",one:"A package was",more:`${Ut(this.configuration,L,Ct.NUMBER)} packages were`})} added to the project`,te=`${TS(U,{zero:"none were",one:"one was",more:`${Ut(this.configuration,U,Ct.NUMBER)} were`})} removed`,le=T!==0?` (${Ut(this.configuration,T,Ct.SIZE_DIFF)})`:"",ce=U>0?L>0?`${J}, and ${te}${le}.`:`${J}, but ${te}${le}.`:`${J}${le}.`;r.reportInfo(13,ce)}}async linkEverything({cache:e,report:r,fetcher:o,mode:a}){let n={mockedPackages:this.disabledLocators,unstablePackages:this.conditionalLocators,skipIntegrityCheck:!0},u=o||this.configuration.makeFetcher(),A={checksums:this.storedChecksums,project:this,cache:e,fetcher:u,report:r,cacheOptions:n},p=this.configuration.getLinkers(),h={project:this,report:r},E=new Map(p.map(Ce=>{let fe=Ce.makeInstaller(h),ie=Ce.getCustomDataKey(),Z=this.linkersCustomData.get(ie);return typeof Z<"u"&&fe.attachCustomData(Z),[Ce,fe]})),w=new Map,D=new Map,x=new Map,C=new Map(await Wc([...this.accessibleLocators].map(async Ce=>{let fe=this.storedPackages.get(Ce);if(!fe)throw new Error("Assertion failed: The locator should have been registered");return[Ce,await u.fetch(fe,A)]}))),T=[],L=new Set,U=[];for(let Ce of this.accessibleLocators){let fe=this.storedPackages.get(Ce);if(typeof fe>"u")throw new Error("Assertion failed: The locator should have been registered");let ie=C.get(fe.locatorHash);if(typeof ie>"u")throw new Error("Assertion failed: The fetch result should have been registered");let Z=[],Pe=ht=>{Z.push(ht)},Re=this.tryWorkspaceByLocator(fe);if(Re!==null){let ht=[],{scripts:q}=Re.manifest;for(let Ne of["preinstall","install","postinstall"])q.has(Ne)&&ht.push({type:0,script:Ne});try{for(let[Ne,Te]of E)if(Ne.supportsPackage(fe,h)&&(await Te.installPackage(fe,ie,{holdFetchResult:Pe})).buildRequest!==null)throw new Error("Assertion failed: Linkers can't return build directives for workspaces; this responsibility befalls to the Yarn core")}finally{Z.length===0?ie.releaseFs?.():T.push(Wc(Z).catch(()=>{}).then(()=>{ie.releaseFs?.()}))}let nt=K.join(ie.packageFs.getRealPath(),ie.prefixPath);D.set(fe.locatorHash,nt),!Jc(fe)&&ht.length>0&&x.set(fe.locatorHash,{buildDirectives:ht,buildLocations:[nt]})}else{let ht=p.find(Ne=>Ne.supportsPackage(fe,h));if(!ht)throw new Jt(12,`${jr(this.configuration,fe)} isn't supported by any available linker`);let q=E.get(ht);if(!q)throw new Error("Assertion failed: The installer should have been registered");let nt;try{nt=await q.installPackage(fe,ie,{holdFetchResult:Pe})}finally{Z.length===0?ie.releaseFs?.():T.push(Wc(Z).then(()=>{}).then(()=>{ie.releaseFs?.()}))}w.set(fe.locatorHash,ht),D.set(fe.locatorHash,nt.packageLocation),nt.buildRequest&&nt.packageLocation&&(nt.buildRequest.skipped?(L.add(fe.locatorHash),this.skippedBuilds.has(fe.locatorHash)||U.push([fe,nt.buildRequest.explain])):x.set(fe.locatorHash,{buildDirectives:nt.buildRequest.directives,buildLocations:[nt.packageLocation]}))}}let J=new Map;for(let Ce of this.accessibleLocators){let fe=this.storedPackages.get(Ce);if(!fe)throw new Error("Assertion failed: The locator should have been registered");let ie=this.tryWorkspaceByLocator(fe)!==null,Z=async(Pe,Re)=>{let ht=D.get(fe.locatorHash);if(typeof ht>"u")throw new Error(`Assertion failed: The package (${jr(this.configuration,fe)}) should have been registered`);let q=[];for(let nt of fe.dependencies.values()){let Ne=this.storedResolutions.get(nt.descriptorHash);if(typeof Ne>"u")throw new Error(`Assertion failed: The resolution (${Jn(this.configuration,nt)}, from ${jr(this.configuration,fe)})should have been registered`);let Te=this.storedPackages.get(Ne);if(typeof Te>"u")throw new Error(`Assertion failed: The package (${Ne}, resolved from ${Jn(this.configuration,nt)}) should have been registered`);let ke=this.tryWorkspaceByLocator(Te)===null?w.get(Ne):null;if(typeof ke>"u")throw new Error(`Assertion failed: The package (${Ne}, resolved from ${Jn(this.configuration,nt)}) should have been registered`);ke===Pe||ke===null?D.get(Te.locatorHash)!==null&&q.push([nt,Te]):!ie&&ht!==null&&u1(J,Ne).push(ht)}ht!==null&&await Re.attachInternalDependencies(fe,q)};if(ie)for(let[Pe,Re]of E)Pe.supportsPackage(fe,h)&&await Z(Pe,Re);else{let Pe=w.get(fe.locatorHash);if(!Pe)throw new Error("Assertion failed: The linker should have been found");let Re=E.get(Pe);if(!Re)throw new Error("Assertion failed: The installer should have been registered");await Z(Pe,Re)}}for(let[Ce,fe]of J){let ie=this.storedPackages.get(Ce);if(!ie)throw new Error("Assertion failed: The package should have been registered");let Z=w.get(ie.locatorHash);if(!Z)throw new Error("Assertion failed: The linker should have been found");let Pe=E.get(Z);if(!Pe)throw new Error("Assertion failed: The installer should have been registered");await Pe.attachExternalDependents(ie,fe)}let te=new Map;for(let[Ce,fe]of E){let ie=await fe.finalizeInstall();for(let Z of ie?.records??[])Z.buildRequest.skipped?(L.add(Z.locator.locatorHash),this.skippedBuilds.has(Z.locator.locatorHash)||U.push([Z.locator,Z.buildRequest.explain])):x.set(Z.locator.locatorHash,{buildDirectives:Z.buildRequest.directives,buildLocations:Z.buildLocations});typeof ie?.customData<"u"&&te.set(Ce.getCustomDataKey(),ie.customData)}if(this.linkersCustomData=te,await Wc(T),a==="skip-build")return;for(let[,Ce]of Ps(U,([fe])=>Qa(fe)))Ce(r);let le=new Set(x.keys()),ce=(0,Qk.createHash)("sha512");ce.update(process.versions.node),await this.configuration.triggerHook(Ce=>Ce.globalHashGeneration,this,Ce=>{ce.update("\0"),ce.update(Ce)});let ue=ce.digest("hex"),Ie=new Map,he=Ce=>{let fe=Ie.get(Ce.locatorHash);if(typeof fe<"u")return fe;let ie=this.storedPackages.get(Ce.locatorHash);if(typeof ie>"u")throw new Error("Assertion failed: The package should have been registered");let Z=(0,Qk.createHash)("sha512");Z.update(Ce.locatorHash),Ie.set(Ce.locatorHash,"<recursive>");for(let Pe of ie.dependencies.values()){let Re=this.storedResolutions.get(Pe.descriptorHash);if(typeof Re>"u")throw new Error(`Assertion failed: The resolution (${Jn(this.configuration,Pe)}) should have been registered`);let ht=this.storedPackages.get(Re);if(typeof ht>"u")throw new Error("Assertion failed: The package should have been registered");Z.update(he(ht))}return fe=Z.digest("hex"),Ie.set(Ce.locatorHash,fe),fe},De=(Ce,fe)=>{let ie=(0,Qk.createHash)("sha512");ie.update(ue),ie.update(he(Ce));for(let Z of fe)ie.update(Z);return ie.digest("hex")},Ee=new Map,g=!1,me=Ce=>{let fe=new Set([Ce.locatorHash]);for(let ie of fe){let Z=this.storedPackages.get(ie);if(!Z)throw new Error("Assertion failed: The package should have been registered");for(let Pe of Z.dependencies.values()){let Re=this.storedResolutions.get(Pe.descriptorHash);if(!Re)throw new Error(`Assertion failed: The resolution (${Jn(this.configuration,Pe)}) should have been registered`);if(Re!==Ce.locatorHash&&le.has(Re))return!1;let ht=this.storedPackages.get(Re);if(!ht)throw new Error("Assertion failed: The package should have been registered");let q=this.tryWorkspaceByLocator(ht);if(q){if(q.anchoredLocator.locatorHash!==Ce.locatorHash&&le.has(q.anchoredLocator.locatorHash))return!1;fe.add(q.anchoredLocator.locatorHash)}fe.add(Re)}}return!0};for(;le.size>0;){let Ce=le.size,fe=[];for(let ie of le){let Z=this.storedPackages.get(ie);if(!Z)throw new Error("Assertion failed: The package should have been registered");if(!me(Z))continue;let Pe=x.get(Z.locatorHash);if(!Pe)throw new Error("Assertion failed: The build directive should have been registered");let Re=De(Z,Pe.buildLocations);if(this.storedBuildState.get(Z.locatorHash)===Re){Ee.set(Z.locatorHash,Re),le.delete(ie);continue}g||(await this.persistInstallStateFile(),g=!0),this.storedBuildState.has(Z.locatorHash)?r.reportInfo(8,`${jr(this.configuration,Z)} must be rebuilt because its dependency tree changed`):r.reportInfo(7,`${jr(this.configuration,Z)} must be built because it never has been before or the last one failed`);let ht=Pe.buildLocations.map(async q=>{if(!K.isAbsolute(q))throw new Error(`Assertion failed: Expected the build location to be absolute (not ${q})`);for(let nt of Pe.buildDirectives){let Ne=`# This file contains the result of Yarn building a package (${Qa(Z)}) +`;switch(nt.type){case 0:Ne+=`# Script name: ${nt.script} +`;break;case 1:Ne+=`# Script code: ${nt.script} +`;break}let Te=null;if(!await ae.mktempPromise(async Ve=>{let be=K.join(Ve,"build.log"),{stdout:tt,stderr:He}=this.configuration.getSubprocessStreams(be,{header:Ne,prefix:jr(this.configuration,Z),report:r}),b;try{switch(nt.type){case 0:b=await Dx(Z,nt.script,[],{cwd:q,project:this,stdin:Te,stdout:tt,stderr:He});break;case 1:b=await n3(Z,nt.script,[],{cwd:q,project:this,stdin:Te,stdout:tt,stderr:He});break}}catch(y){He.write(y.stack),b=1}if(tt.end(),He.end(),b===0)return!0;ae.detachTemp(Ve);let I=`${jr(this.configuration,Z)} couldn't be built successfully (exit code ${Ut(this.configuration,b,Ct.NUMBER)}, logs can be found here: ${Ut(this.configuration,be,Ct.PATH)})`,S=this.optionalBuilds.has(Z.locatorHash);return S?r.reportInfo(9,I):r.reportError(9,I),Lue&&r.reportFold(Ae.fromPortablePath(be),ae.readFileSync(be,"utf8")),S}))return!1}return!0});fe.push(...ht,Promise.allSettled(ht).then(q=>{le.delete(ie),q.every(nt=>nt.status==="fulfilled"&&nt.value===!0)&&Ee.set(Z.locatorHash,Re)}))}if(await Wc(fe),Ce===le.size){let ie=Array.from(le).map(Z=>{let Pe=this.storedPackages.get(Z);if(!Pe)throw new Error("Assertion failed: The package should have been registered");return jr(this.configuration,Pe)}).join(", ");r.reportError(3,`Some packages have circular dependencies that make their build order unsatisfiable - as a result they won't be built (affected packages are: ${ie})`);break}}this.storedBuildState=Ee,this.skippedBuilds=L}async installWithNewReport(e,r){return(await Nt.start({configuration:this.configuration,json:e.json,stdout:e.stdout,forceSectionAlignment:!0,includeLogs:!e.json&&!e.quiet,includeVersion:!0},async a=>{await this.install({...r,report:a})})).exitCode()}async install(e){let r=this.configuration.get("nodeLinker");ze.telemetry?.reportInstall(r);let o=!1;if(await e.report.startTimerPromise("Project validation",{skipIfEmpty:!0},async()=>{this.configuration.get("enableOfflineMode")&&e.report.reportWarning(90,"Offline work is enabled; Yarn won't fetch packages from the remote registry if it can avoid it"),await this.configuration.triggerHook(E=>E.validateProject,this,{reportWarning:(E,w)=>{e.report.reportWarning(E,w)},reportError:(E,w)=>{e.report.reportError(E,w),o=!0}})}),o)return;let a=await this.configuration.getPackageExtensions();for(let E of a.values())for(let[,w]of E)for(let D of w)D.status="inactive";let n=K.join(this.cwd,mr.lockfile),u=null;if(e.immutable)try{u=await ae.readFilePromise(n,"utf8")}catch(E){throw E.code==="ENOENT"?new Jt(28,"The lockfile would have been created by this install, which is explicitly forbidden."):E}await e.report.startTimerPromise("Resolution step",async()=>{await this.resolveEverything(e)}),await e.report.startTimerPromise("Post-resolution validation",{skipIfEmpty:!0},async()=>{DAt(this,e.report);for(let[,E]of a)for(let[,w]of E)for(let D of w)if(D.userProvided){let x=Ut(this.configuration,D,Ct.PACKAGE_EXTENSION);switch(D.status){case"inactive":e.report.reportWarning(68,`${x}: No matching package in the dependency tree; you may not need this rule anymore.`);break;case"redundant":e.report.reportWarning(69,`${x}: This rule seems redundant when applied on the original package; the extension may have been applied upstream.`);break}}if(u!==null){let E=G0(u,this.generateLockfile());if(E!==u){let w=ehe(n,n,u,E,void 0,void 0,{maxEditLength:100});if(w){e.report.reportSeparator();for(let D of w.hunks){e.report.reportInfo(null,`@@ -${D.oldStart},${D.oldLines} +${D.newStart},${D.newLines} @@`);for(let x of D.lines)x.startsWith("+")?e.report.reportError(28,Ut(this.configuration,x,Ct.ADDED)):x.startsWith("-")?e.report.reportError(28,Ut(this.configuration,x,Ct.REMOVED)):e.report.reportInfo(null,Ut(this.configuration,x,"grey"))}e.report.reportSeparator()}throw new Jt(28,"The lockfile would have been modified by this install, which is explicitly forbidden.")}}});for(let E of a.values())for(let[,w]of E)for(let D of w)D.userProvided&&D.status==="active"&&ze.telemetry?.reportPackageExtension(Ig(D,Ct.PACKAGE_EXTENSION));await e.report.startTimerPromise("Fetch step",async()=>{await this.fetchEverything(e)});let A=e.immutable?[...new Set(this.configuration.get("immutablePatterns"))].sort():[],p=await Promise.all(A.map(async E=>hb(E,{cwd:this.cwd})));(typeof e.persistProject>"u"||e.persistProject)&&await this.persist(),await e.report.startTimerPromise("Link step",async()=>{if(e.mode==="update-lockfile"){e.report.reportWarning(73,`Skipped due to ${Ut(this.configuration,"mode=update-lockfile",Ct.CODE)}`);return}await this.linkEverything(e);let E=await Promise.all(A.map(async w=>hb(w,{cwd:this.cwd})));for(let w=0;w<A.length;++w)p[w]!==E[w]&&e.report.reportError(64,`The checksum for ${A[w]} has been modified by this install, which is explicitly forbidden.`)}),await this.persistInstallStateFile();let h=!1;await e.report.startTimerPromise("Post-install validation",{skipIfEmpty:!0},async()=>{await this.configuration.triggerHook(E=>E.validateProjectAfterInstall,this,{reportWarning:(E,w)=>{e.report.reportWarning(E,w)},reportError:(E,w)=>{e.report.reportError(E,w),h=!0}})}),!h&&await this.configuration.triggerHook(E=>E.afterAllInstalled,this,e)}generateLockfile(){let e=new Map;for(let[n,u]of this.storedResolutions.entries()){let A=e.get(u);A||e.set(u,A=new Set),A.add(n)}let r={},{cacheKey:o}=Wr.getCacheKey(this.configuration);r.__metadata={version:Tk,cacheKey:o};for(let[n,u]of e.entries()){let A=this.originalPackages.get(n);if(!A)continue;let p=[];for(let w of u){let D=this.storedDescriptors.get(w);if(!D)throw new Error("Assertion failed: The descriptor should have been registered");p.push(D)}let h=p.map(w=>ka(w)).sort().join(", "),E=new _t;E.version=A.linkType==="HARD"?A.version:"0.0.0-use.local",E.languageName=A.languageName,E.dependencies=new Map(A.dependencies),E.peerDependencies=new Map(A.peerDependencies),E.dependenciesMeta=new Map(A.dependenciesMeta),E.peerDependenciesMeta=new Map(A.peerDependenciesMeta),E.bin=new Map(A.bin),r[h]={...E.exportTo({},{compatibilityMode:!1}),linkType:A.linkType.toLowerCase(),resolution:Qa(A),checksum:this.storedChecksums.get(A.locatorHash),conditions:A.conditions||void 0}}return`${[`# This file is generated by running "yarn install" inside your project. +`,`# Manual changes might be lost - proceed with caution! +`].join("")} +`+Pa(r)}async persistLockfile(){let e=K.join(this.cwd,mr.lockfile),r="";try{r=await ae.readFilePromise(e,"utf8")}catch{}let o=this.generateLockfile(),a=G0(r,o);a!==r&&(await ae.writeFilePromise(e,a),this.lockFileChecksum=Ohe(a),this.lockfileNeedsRefresh=!1)}async persistInstallStateFile(){let e=[];for(let u of Object.values(f_))e.push(...u);let r=(0,Fk.default)(this,e),o=p_.default.serialize(r),a=Ji(o);if(this.installStateChecksum===a)return;let n=this.configuration.get("installStatePath");await ae.mkdirPromise(K.dirname(n),{recursive:!0}),await ae.writeFilePromise(n,await IAt(o)),this.installStateChecksum=a}async restoreInstallState({restoreLinkersCustomData:e=!0,restoreResolutions:r=!0,restoreBuildState:o=!0}={}){let a=this.configuration.get("installStatePath"),n;try{let u=await wAt(await ae.readFilePromise(a));n=p_.default.deserialize(u),this.installStateChecksum=Ji(u)}catch{r&&await this.applyLightResolution();return}e&&typeof n.linkersCustomData<"u"&&(this.linkersCustomData=n.linkersCustomData),o&&Object.assign(this,(0,Fk.default)(n,f_.restoreBuildState)),r&&(n.lockFileChecksum===this.lockFileChecksum?Object.assign(this,(0,Fk.default)(n,f_.restoreResolutions)):await this.applyLightResolution())}async applyLightResolution(){await this.resolveEverything({lockfileOnly:!0,report:new Ri}),await this.persistInstallStateFile()}async persist(){let e=(0,Rk.default)(4);await Promise.all([this.persistLockfile(),...this.workspaces.map(r=>e(()=>r.persistManifest()))])}async cacheCleanup({cache:e,report:r}){if(this.configuration.get("enableGlobalCache"))return null;let o=new Set([".gitignore"]);if(!nU(e.cwd,this.cwd)||!await ae.existsPromise(e.cwd))return null;let a=[];for(let u of await ae.readdirPromise(e.cwd)){if(o.has(u))continue;let A=K.resolve(e.cwd,u);e.markedFiles.has(A)||(e.immutable?r.reportError(56,`${Ut(this.configuration,K.basename(A),"magenta")} appears to be unused and would be marked for deletion, but the cache is immutable`):a.push(ae.lstatPromise(A).then(async p=>(await ae.removePromise(A),p.size))))}if(a.length===0)return null;let n=await Promise.all(a);return{count:a.length,size:n.reduce((u,A)=>u+A,0)}}}});function PAt(t){let o=Math.floor(t.timeNow/864e5),a=t.updateInterval*864e5,n=t.state.lastUpdate??t.timeNow+a+Math.floor(a*t.randomInitialInterval),u=n+a,A=t.state.lastTips??o*864e5,p=A+864e5+8*36e5-t.timeZone,h=u<=t.timeNow,E=p<=t.timeNow,w=null;return(h||E||!t.state.lastUpdate||!t.state.lastTips)&&(w={},w.lastUpdate=h?t.timeNow:n,w.lastTips=A,w.blocks=h?{}:t.state.blocks,w.displayedTips=t.state.displayedTips),{nextState:w,triggerUpdate:h,triggerTips:E,nextTips:E?o*864e5:A}}var sE,_he=It(()=>{Pt();r2();ah();tx();Gl();xf();sE=class{constructor(e,r){this.values=new Map;this.hits=new Map;this.enumerators=new Map;this.nextTips=0;this.displayedTips=[];this.shouldCommitTips=!1;this.configuration=e;let o=this.getRegistryPath();this.isNew=!ae.existsSync(o),this.shouldShowTips=!1,this.sendReport(r),this.startBuffer()}commitTips(){this.shouldShowTips&&(this.shouldCommitTips=!0)}selectTip(e){let r=new Set(this.displayedTips),o=A=>A&&nn?nA(nn,A):!1,a=e.map((A,p)=>p).filter(A=>e[A]&&o(e[A]?.selector));if(a.length===0)return null;let n=a.filter(A=>!r.has(A));if(n.length===0){let A=Math.floor(a.length*.2);this.displayedTips=A>0?this.displayedTips.slice(-A):[],n=a.filter(p=>!r.has(p))}let u=n[Math.floor(Math.random()*n.length)];return this.displayedTips.push(u),this.commitTips(),e[u]}reportVersion(e){this.reportValue("version",e.replace(/-git\..*/,"-git"))}reportCommandName(e){this.reportValue("commandName",e||"<none>")}reportPluginName(e){this.reportValue("pluginName",e)}reportProject(e){this.reportEnumerator("projectCount",e)}reportInstall(e){this.reportHit("installCount",e)}reportPackageExtension(e){this.reportValue("packageExtension",e)}reportWorkspaceCount(e){this.reportValue("workspaceCount",String(e))}reportDependencyCount(e){this.reportValue("dependencyCount",String(e))}reportValue(e,r){Jm(this.values,e).add(r)}reportEnumerator(e,r){Jm(this.enumerators,e).add(Ji(r))}reportHit(e,r="*"){let o=A1(this.hits,e),a=Al(o,r,()=>0);o.set(r,a+1)}getRegistryPath(){let e=this.configuration.get("globalFolder");return K.join(e,"telemetry.json")}sendReport(e){let r=this.getRegistryPath(),o;try{o=ae.readJsonSync(r)}catch{o={}}let{nextState:a,triggerUpdate:n,triggerTips:u,nextTips:A}=PAt({state:o,timeNow:Date.now(),timeZone:new Date().getTimezoneOffset()*60*1e3,randomInitialInterval:Math.random(),updateInterval:this.configuration.get("telemetryInterval")});if(this.nextTips=A,this.displayedTips=o.displayedTips??[],a!==null)try{ae.mkdirSync(K.dirname(r),{recursive:!0}),ae.writeJsonSync(r,a)}catch{return!1}if(u&&this.configuration.get("enableTips")&&(this.shouldShowTips=!0),n){let p=o.blocks??{};if(Object.keys(p).length===0){let h=`https://browser-http-intake.logs.datadoghq.eu/v1/input/${e}?ddsource=yarn`,E=w=>C4(h,w,{configuration:this.configuration}).catch(()=>{});for(let[w,D]of Object.entries(o.blocks??{})){if(Object.keys(D).length===0)continue;let x=D;x.userId=w,x.reportType="primary";for(let L of Object.keys(x.enumerators??{}))x.enumerators[L]=x.enumerators[L].length;E(x);let C=new Map,T=20;for(let[L,U]of Object.entries(x.values))U.length>0&&C.set(L,U.slice(0,T));for(;C.size>0;){let L={};L.userId=w,L.reportType="secondary",L.metrics={};for(let[U,J]of C)L.metrics[U]=J.shift(),J.length===0&&C.delete(U);E(L)}}}}return!0}applyChanges(){let e=this.getRegistryPath(),r;try{r=ae.readJsonSync(e)}catch{r={}}let o=this.configuration.get("telemetryUserId")??"*",a=r.blocks=r.blocks??{},n=a[o]=a[o]??{};for(let u of this.hits.keys()){let A=n.hits=n.hits??{},p=A[u]=A[u]??{};for(let[h,E]of this.hits.get(u))p[h]=(p[h]??0)+E}for(let u of["values","enumerators"])for(let A of this[u].keys()){let p=n[u]=n[u]??{};p[A]=[...new Set([...p[A]??[],...this[u].get(A)??[]])]}this.shouldCommitTips&&(r.lastTips=this.nextTips,r.displayedTips=this.displayedTips),ae.mkdirSync(K.dirname(e),{recursive:!0}),ae.writeJsonSync(e,r)}startBuffer(){process.on("exit",()=>{try{this.applyChanges()}catch{}})}}});var P2={};Kt(P2,{BuildDirectiveType:()=>Sk,CACHE_CHECKPOINT:()=>K8,CACHE_VERSION:()=>Pk,Cache:()=>Wr,Configuration:()=>ze,DEFAULT_RC_FILENAME:()=>S4,FormatType:()=>yce,InstallMode:()=>yl,LEGACY_PLUGINS:()=>j1,LOCKFILE_VERSION:()=>Tk,LegacyMigrationResolver:()=>tE,LightReport:()=>pA,LinkType:()=>$m,LockfileResolver:()=>rE,Manifest:()=>_t,MessageName:()=>vr,MultiFetcher:()=>py,PackageExtensionStatus:()=>sO,PackageExtensionType:()=>iO,PeerWarningType:()=>Nk,Project:()=>Qt,Report:()=>Ws,ReportError:()=>Jt,SettingsType:()=>G1,StreamReport:()=>Nt,TAG_REGEXP:()=>xy,TelemetryManager:()=>sE,ThrowReport:()=>Ri,VirtualFetcher:()=>hy,WindowsLinkType:()=>lx,Workspace:()=>iE,WorkspaceFetcher:()=>gy,WorkspaceResolver:()=>ci,YarnVersion:()=>nn,execUtils:()=>Hr,folderUtils:()=>vb,formatUtils:()=>pe,hashUtils:()=>xn,httpUtils:()=>on,miscUtils:()=>qe,nodeUtils:()=>Xi,parseMessageName:()=>qP,reportOptionDeprecations:()=>Qy,scriptUtils:()=>hn,semverUtils:()=>Ur,stringifyMessageName:()=>Ju,structUtils:()=>G,tgzUtils:()=>$i,treeUtils:()=>As});var Ke=It(()=>{ix();Db();Wl();ah();tx();Gl();nx();a3();xf();Io();_pe();Kpe();V8();W1();W1();Jpe();J8();zpe();z8();Ay();jP();YM();Uhe();Vl();n2();_he();u_();VM();JM();Dg();A_();r2();iie()});var Yhe=_((x8t,b2)=>{"use strict";var bAt=process.env.TERM_PROGRAM==="Hyper",xAt=process.platform==="win32",jhe=process.platform==="linux",d_={ballotDisabled:"\u2612",ballotOff:"\u2610",ballotOn:"\u2611",bullet:"\u2022",bulletWhite:"\u25E6",fullBlock:"\u2588",heart:"\u2764",identicalTo:"\u2261",line:"\u2500",mark:"\u203B",middot:"\xB7",minus:"\uFF0D",multiplication:"\xD7",obelus:"\xF7",pencilDownRight:"\u270E",pencilRight:"\u270F",pencilUpRight:"\u2710",percent:"%",pilcrow2:"\u2761",pilcrow:"\xB6",plusMinus:"\xB1",section:"\xA7",starsOff:"\u2606",starsOn:"\u2605",upDownArrow:"\u2195"},Ghe=Object.assign({},d_,{check:"\u221A",cross:"\xD7",ellipsisLarge:"...",ellipsis:"...",info:"i",question:"?",questionSmall:"?",pointer:">",pointerSmall:"\xBB",radioOff:"( )",radioOn:"(*)",warning:"\u203C"}),Whe=Object.assign({},d_,{ballotCross:"\u2718",check:"\u2714",cross:"\u2716",ellipsisLarge:"\u22EF",ellipsis:"\u2026",info:"\u2139",question:"?",questionFull:"\uFF1F",questionSmall:"\uFE56",pointer:jhe?"\u25B8":"\u276F",pointerSmall:jhe?"\u2023":"\u203A",radioOff:"\u25EF",radioOn:"\u25C9",warning:"\u26A0"});b2.exports=xAt&&!bAt?Ghe:Whe;Reflect.defineProperty(b2.exports,"common",{enumerable:!1,value:d_});Reflect.defineProperty(b2.exports,"windows",{enumerable:!1,value:Ghe});Reflect.defineProperty(b2.exports,"other",{enumerable:!1,value:Whe})});var eu=_((k8t,m_)=>{"use strict";var kAt=t=>t!==null&&typeof t=="object"&&!Array.isArray(t),QAt=/[\u001b\u009b][[\]#;?()]*(?:(?:(?:[^\W_]*;?[^\W_]*)\u0007)|(?:(?:[0-9]{1,4}(;[0-9]{0,4})*)?[~0-9=<>cf-nqrtyA-PRZ]))/g,Khe=()=>{let t={enabled:!0,visible:!0,styles:{},keys:{}};"FORCE_COLOR"in process.env&&(t.enabled=process.env.FORCE_COLOR!=="0");let e=n=>{let u=n.open=`\x1B[${n.codes[0]}m`,A=n.close=`\x1B[${n.codes[1]}m`,p=n.regex=new RegExp(`\\u001b\\[${n.codes[1]}m`,"g");return n.wrap=(h,E)=>{h.includes(A)&&(h=h.replace(p,A+u));let w=u+h+A;return E?w.replace(/\r*\n/g,`${A}$&${u}`):w},n},r=(n,u,A)=>typeof n=="function"?n(u):n.wrap(u,A),o=(n,u)=>{if(n===""||n==null)return"";if(t.enabled===!1)return n;if(t.visible===!1)return"";let A=""+n,p=A.includes(` +`),h=u.length;for(h>0&&u.includes("unstyle")&&(u=[...new Set(["unstyle",...u])].reverse());h-- >0;)A=r(t.styles[u[h]],A,p);return A},a=(n,u,A)=>{t.styles[n]=e({name:n,codes:u}),(t.keys[A]||(t.keys[A]=[])).push(n),Reflect.defineProperty(t,n,{configurable:!0,enumerable:!0,set(h){t.alias(n,h)},get(){let h=E=>o(E,h.stack);return Reflect.setPrototypeOf(h,t),h.stack=this.stack?this.stack.concat(n):[n],h}})};return a("reset",[0,0],"modifier"),a("bold",[1,22],"modifier"),a("dim",[2,22],"modifier"),a("italic",[3,23],"modifier"),a("underline",[4,24],"modifier"),a("inverse",[7,27],"modifier"),a("hidden",[8,28],"modifier"),a("strikethrough",[9,29],"modifier"),a("black",[30,39],"color"),a("red",[31,39],"color"),a("green",[32,39],"color"),a("yellow",[33,39],"color"),a("blue",[34,39],"color"),a("magenta",[35,39],"color"),a("cyan",[36,39],"color"),a("white",[37,39],"color"),a("gray",[90,39],"color"),a("grey",[90,39],"color"),a("bgBlack",[40,49],"bg"),a("bgRed",[41,49],"bg"),a("bgGreen",[42,49],"bg"),a("bgYellow",[43,49],"bg"),a("bgBlue",[44,49],"bg"),a("bgMagenta",[45,49],"bg"),a("bgCyan",[46,49],"bg"),a("bgWhite",[47,49],"bg"),a("blackBright",[90,39],"bright"),a("redBright",[91,39],"bright"),a("greenBright",[92,39],"bright"),a("yellowBright",[93,39],"bright"),a("blueBright",[94,39],"bright"),a("magentaBright",[95,39],"bright"),a("cyanBright",[96,39],"bright"),a("whiteBright",[97,39],"bright"),a("bgBlackBright",[100,49],"bgBright"),a("bgRedBright",[101,49],"bgBright"),a("bgGreenBright",[102,49],"bgBright"),a("bgYellowBright",[103,49],"bgBright"),a("bgBlueBright",[104,49],"bgBright"),a("bgMagentaBright",[105,49],"bgBright"),a("bgCyanBright",[106,49],"bgBright"),a("bgWhiteBright",[107,49],"bgBright"),t.ansiRegex=QAt,t.hasColor=t.hasAnsi=n=>(t.ansiRegex.lastIndex=0,typeof n=="string"&&n!==""&&t.ansiRegex.test(n)),t.alias=(n,u)=>{let A=typeof u=="string"?t[u]:u;if(typeof A!="function")throw new TypeError("Expected alias to be the name of an existing color (string) or a function");A.stack||(Reflect.defineProperty(A,"name",{value:n}),t.styles[n]=A,A.stack=[n]),Reflect.defineProperty(t,n,{configurable:!0,enumerable:!0,set(p){t.alias(n,p)},get(){let p=h=>o(h,p.stack);return Reflect.setPrototypeOf(p,t),p.stack=this.stack?this.stack.concat(A.stack):A.stack,p}})},t.theme=n=>{if(!kAt(n))throw new TypeError("Expected theme to be an object");for(let u of Object.keys(n))t.alias(u,n[u]);return t},t.alias("unstyle",n=>typeof n=="string"&&n!==""?(t.ansiRegex.lastIndex=0,n.replace(t.ansiRegex,"")):""),t.alias("noop",n=>n),t.none=t.clear=t.noop,t.stripColor=t.unstyle,t.symbols=Yhe(),t.define=a,t};m_.exports=Khe();m_.exports.create=Khe});var bo=_(an=>{"use strict";var FAt=Object.prototype.toString,ic=eu(),Vhe=!1,y_=[],Jhe={yellow:"blue",cyan:"red",green:"magenta",black:"white",blue:"yellow",red:"cyan",magenta:"green",white:"black"};an.longest=(t,e)=>t.reduce((r,o)=>Math.max(r,e?o[e].length:o.length),0);an.hasColor=t=>!!t&&ic.hasColor(t);var Ok=an.isObject=t=>t!==null&&typeof t=="object"&&!Array.isArray(t);an.nativeType=t=>FAt.call(t).slice(8,-1).toLowerCase().replace(/\s/g,"");an.isAsyncFn=t=>an.nativeType(t)==="asyncfunction";an.isPrimitive=t=>t!=null&&typeof t!="object"&&typeof t!="function";an.resolve=(t,e,...r)=>typeof e=="function"?e.call(t,...r):e;an.scrollDown=(t=[])=>[...t.slice(1),t[0]];an.scrollUp=(t=[])=>[t.pop(),...t];an.reorder=(t=[])=>{let e=t.slice();return e.sort((r,o)=>r.index>o.index?1:r.index<o.index?-1:0),e};an.swap=(t,e,r)=>{let o=t.length,a=r===o?0:r<0?o-1:r,n=t[e];t[e]=t[a],t[a]=n};an.width=(t,e=80)=>{let r=t&&t.columns?t.columns:e;return t&&typeof t.getWindowSize=="function"&&(r=t.getWindowSize()[0]),process.platform==="win32"?r-1:r};an.height=(t,e=20)=>{let r=t&&t.rows?t.rows:e;return t&&typeof t.getWindowSize=="function"&&(r=t.getWindowSize()[1]),r};an.wordWrap=(t,e={})=>{if(!t)return t;typeof e=="number"&&(e={width:e});let{indent:r="",newline:o=` +`+r,width:a=80}=e,n=(o+r).match(/[^\S\n]/g)||[];a-=n.length;let u=`.{1,${a}}([\\s\\u200B]+|$)|[^\\s\\u200B]+?([\\s\\u200B]+|$)`,A=t.trim(),p=new RegExp(u,"g"),h=A.match(p)||[];return h=h.map(E=>E.replace(/\n$/,"")),e.padEnd&&(h=h.map(E=>E.padEnd(a," "))),e.padStart&&(h=h.map(E=>E.padStart(a," "))),r+h.join(o)};an.unmute=t=>{let e=t.stack.find(o=>ic.keys.color.includes(o));return e?ic[e]:t.stack.find(o=>o.slice(2)==="bg")?ic[e.slice(2)]:o=>o};an.pascal=t=>t?t[0].toUpperCase()+t.slice(1):"";an.inverse=t=>{if(!t||!t.stack)return t;let e=t.stack.find(o=>ic.keys.color.includes(o));if(e){let o=ic["bg"+an.pascal(e)];return o?o.black:t}let r=t.stack.find(o=>o.slice(0,2)==="bg");return r?ic[r.slice(2).toLowerCase()]||t:ic.none};an.complement=t=>{if(!t||!t.stack)return t;let e=t.stack.find(o=>ic.keys.color.includes(o)),r=t.stack.find(o=>o.slice(0,2)==="bg");if(e&&!r)return ic[Jhe[e]||e];if(r){let o=r.slice(2).toLowerCase(),a=Jhe[o];return a&&ic["bg"+an.pascal(a)]||t}return ic.none};an.meridiem=t=>{let e=t.getHours(),r=t.getMinutes(),o=e>=12?"pm":"am";e=e%12;let a=e===0?12:e,n=r<10?"0"+r:r;return a+":"+n+" "+o};an.set=(t={},e="",r)=>e.split(".").reduce((o,a,n,u)=>{let A=u.length-1>n?o[a]||{}:r;return!an.isObject(A)&&n<u.length-1&&(A={}),o[a]=A},t);an.get=(t={},e="",r)=>{let o=t[e]==null?e.split(".").reduce((a,n)=>a&&a[n],t):t[e];return o??r};an.mixin=(t,e)=>{if(!Ok(t))return e;if(!Ok(e))return t;for(let r of Object.keys(e)){let o=Object.getOwnPropertyDescriptor(e,r);if(o.hasOwnProperty("value"))if(t.hasOwnProperty(r)&&Ok(o.value)){let a=Object.getOwnPropertyDescriptor(t,r);Ok(a.value)?t[r]=an.merge({},t[r],e[r]):Reflect.defineProperty(t,r,o)}else Reflect.defineProperty(t,r,o);else Reflect.defineProperty(t,r,o)}return t};an.merge=(...t)=>{let e={};for(let r of t)an.mixin(e,r);return e};an.mixinEmitter=(t,e)=>{let r=e.constructor.prototype;for(let o of Object.keys(r)){let a=r[o];typeof a=="function"?an.define(t,o,a.bind(e)):an.define(t,o,a)}};an.onExit=t=>{let e=(r,o)=>{Vhe||(Vhe=!0,y_.forEach(a=>a()),r===!0&&process.exit(128+o))};y_.length===0&&(process.once("SIGTERM",e.bind(null,!0,15)),process.once("SIGINT",e.bind(null,!0,2)),process.once("exit",e)),y_.push(t)};an.define=(t,e,r)=>{Reflect.defineProperty(t,e,{value:r})};an.defineExport=(t,e,r)=>{let o;Reflect.defineProperty(t,e,{enumerable:!0,configurable:!0,set(a){o=a},get(){return o?o():r()}})}});var zhe=_(cE=>{"use strict";cE.ctrl={a:"first",b:"backward",c:"cancel",d:"deleteForward",e:"last",f:"forward",g:"reset",i:"tab",k:"cutForward",l:"reset",n:"newItem",m:"cancel",j:"submit",p:"search",r:"remove",s:"save",u:"undo",w:"cutLeft",x:"toggleCursor",v:"paste"};cE.shift={up:"shiftUp",down:"shiftDown",left:"shiftLeft",right:"shiftRight",tab:"prev"};cE.fn={up:"pageUp",down:"pageDown",left:"pageLeft",right:"pageRight",delete:"deleteForward"};cE.option={b:"backward",f:"forward",d:"cutRight",left:"cutLeft",up:"altUp",down:"altDown"};cE.keys={pageup:"pageUp",pagedown:"pageDown",home:"home",end:"end",cancel:"cancel",delete:"deleteForward",backspace:"delete",down:"down",enter:"submit",escape:"cancel",left:"left",space:"space",number:"number",return:"submit",right:"right",tab:"next",up:"up"}});var $he=_((R8t,Zhe)=>{"use strict";var Xhe=ve("readline"),RAt=zhe(),TAt=/^(?:\x1b)([a-zA-Z0-9])$/,NAt=/^(?:\x1b+)(O|N|\[|\[\[)(?:(\d+)(?:;(\d+))?([~^$])|(?:1;)?(\d+)?([a-zA-Z]))/,LAt={OP:"f1",OQ:"f2",OR:"f3",OS:"f4","[11~":"f1","[12~":"f2","[13~":"f3","[14~":"f4","[[A":"f1","[[B":"f2","[[C":"f3","[[D":"f4","[[E":"f5","[15~":"f5","[17~":"f6","[18~":"f7","[19~":"f8","[20~":"f9","[21~":"f10","[23~":"f11","[24~":"f12","[A":"up","[B":"down","[C":"right","[D":"left","[E":"clear","[F":"end","[H":"home",OA:"up",OB:"down",OC:"right",OD:"left",OE:"clear",OF:"end",OH:"home","[1~":"home","[2~":"insert","[3~":"delete","[4~":"end","[5~":"pageup","[6~":"pagedown","[[5~":"pageup","[[6~":"pagedown","[7~":"home","[8~":"end","[a":"up","[b":"down","[c":"right","[d":"left","[e":"clear","[2$":"insert","[3$":"delete","[5$":"pageup","[6$":"pagedown","[7$":"home","[8$":"end",Oa:"up",Ob:"down",Oc:"right",Od:"left",Oe:"clear","[2^":"insert","[3^":"delete","[5^":"pageup","[6^":"pagedown","[7^":"home","[8^":"end","[Z":"tab"};function OAt(t){return["[a","[b","[c","[d","[e","[2$","[3$","[5$","[6$","[7$","[8$","[Z"].includes(t)}function MAt(t){return["Oa","Ob","Oc","Od","Oe","[2^","[3^","[5^","[6^","[7^","[8^"].includes(t)}var Mk=(t="",e={})=>{let r,o={name:e.name,ctrl:!1,meta:!1,shift:!1,option:!1,sequence:t,raw:t,...e};if(Buffer.isBuffer(t)?t[0]>127&&t[1]===void 0?(t[0]-=128,t="\x1B"+String(t)):t=String(t):t!==void 0&&typeof t!="string"?t=String(t):t||(t=o.sequence||""),o.sequence=o.sequence||t||o.name,t==="\r")o.raw=void 0,o.name="return";else if(t===` +`)o.name="enter";else if(t===" ")o.name="tab";else if(t==="\b"||t==="\x7F"||t==="\x1B\x7F"||t==="\x1B\b")o.name="backspace",o.meta=t.charAt(0)==="\x1B";else if(t==="\x1B"||t==="\x1B\x1B")o.name="escape",o.meta=t.length===2;else if(t===" "||t==="\x1B ")o.name="space",o.meta=t.length===2;else if(t<="")o.name=String.fromCharCode(t.charCodeAt(0)+97-1),o.ctrl=!0;else if(t.length===1&&t>="0"&&t<="9")o.name="number";else if(t.length===1&&t>="a"&&t<="z")o.name=t;else if(t.length===1&&t>="A"&&t<="Z")o.name=t.toLowerCase(),o.shift=!0;else if(r=TAt.exec(t))o.meta=!0,o.shift=/^[A-Z]$/.test(r[1]);else if(r=NAt.exec(t)){let a=[...t];a[0]==="\x1B"&&a[1]==="\x1B"&&(o.option=!0);let n=[r[1],r[2],r[4],r[6]].filter(Boolean).join(""),u=(r[3]||r[5]||1)-1;o.ctrl=!!(u&4),o.meta=!!(u&10),o.shift=!!(u&1),o.code=n,o.name=LAt[n],o.shift=OAt(n)||o.shift,o.ctrl=MAt(n)||o.ctrl}return o};Mk.listen=(t={},e)=>{let{stdin:r}=t;if(!r||r!==process.stdin&&!r.isTTY)throw new Error("Invalid stream passed");let o=Xhe.createInterface({terminal:!0,input:r});Xhe.emitKeypressEvents(r,o);let a=(A,p)=>e(A,Mk(A,p),o),n=r.isRaw;return r.isTTY&&r.setRawMode(!0),r.on("keypress",a),o.resume(),()=>{r.isTTY&&r.setRawMode(n),r.removeListener("keypress",a),o.pause(),o.close()}};Mk.action=(t,e,r)=>{let o={...RAt,...r};return e.ctrl?(e.action=o.ctrl[e.name],e):e.option&&o.option?(e.action=o.option[e.name],e):e.shift?(e.action=o.shift[e.name],e):(e.action=o.keys[e.name],e)};Zhe.exports=Mk});var t0e=_((T8t,e0e)=>{"use strict";e0e.exports=t=>{t.timers=t.timers||{};let e=t.options.timers;if(e)for(let r of Object.keys(e)){let o=e[r];typeof o=="number"&&(o={interval:o}),UAt(t,r,o)}};function UAt(t,e,r={}){let o=t.timers[e]={name:e,start:Date.now(),ms:0,tick:0},a=r.interval||120;o.frames=r.frames||[],o.loading=!0;let n=setInterval(()=>{o.ms=Date.now()-o.start,o.tick++,t.render()},a);return o.stop=()=>{o.loading=!1,clearInterval(n)},Reflect.defineProperty(o,"interval",{value:n}),t.once("close",()=>o.stop()),o.stop}});var n0e=_((N8t,r0e)=>{"use strict";var{define:_At,width:HAt}=bo(),E_=class{constructor(e){let r=e.options;_At(this,"_prompt",e),this.type=e.type,this.name=e.name,this.message="",this.header="",this.footer="",this.error="",this.hint="",this.input="",this.cursor=0,this.index=0,this.lines=0,this.tick=0,this.prompt="",this.buffer="",this.width=HAt(r.stdout||process.stdout),Object.assign(this,r),this.name=this.name||this.message,this.message=this.message||this.name,this.symbols=e.symbols,this.styles=e.styles,this.required=new Set,this.cancelled=!1,this.submitted=!1}clone(){let e={...this};return e.status=this.status,e.buffer=Buffer.from(e.buffer),delete e.clone,e}set color(e){this._color=e}get color(){let e=this.prompt.styles;if(this.cancelled)return e.cancelled;if(this.submitted)return e.submitted;let r=this._color||e[this.status];return typeof r=="function"?r:e.pending}set loading(e){this._loading=e}get loading(){return typeof this._loading=="boolean"?this._loading:this.loadingChoices?"choices":!1}get status(){return this.cancelled?"cancelled":this.submitted?"submitted":"pending"}};r0e.exports=E_});var s0e=_((L8t,i0e)=>{"use strict";var C_=bo(),Ks=eu(),I_={default:Ks.noop,noop:Ks.noop,set inverse(t){this._inverse=t},get inverse(){return this._inverse||C_.inverse(this.primary)},set complement(t){this._complement=t},get complement(){return this._complement||C_.complement(this.primary)},primary:Ks.cyan,success:Ks.green,danger:Ks.magenta,strong:Ks.bold,warning:Ks.yellow,muted:Ks.dim,disabled:Ks.gray,dark:Ks.dim.gray,underline:Ks.underline,set info(t){this._info=t},get info(){return this._info||this.primary},set em(t){this._em=t},get em(){return this._em||this.primary.underline},set heading(t){this._heading=t},get heading(){return this._heading||this.muted.underline},set pending(t){this._pending=t},get pending(){return this._pending||this.primary},set submitted(t){this._submitted=t},get submitted(){return this._submitted||this.success},set cancelled(t){this._cancelled=t},get cancelled(){return this._cancelled||this.danger},set typing(t){this._typing=t},get typing(){return this._typing||this.dim},set placeholder(t){this._placeholder=t},get placeholder(){return this._placeholder||this.primary.dim},set highlight(t){this._highlight=t},get highlight(){return this._highlight||this.inverse}};I_.merge=(t={})=>{t.styles&&typeof t.styles.enabled=="boolean"&&(Ks.enabled=t.styles.enabled),t.styles&&typeof t.styles.visible=="boolean"&&(Ks.visible=t.styles.visible);let e=C_.merge({},I_,t.styles);delete e.merge;for(let r of Object.keys(Ks))e.hasOwnProperty(r)||Reflect.defineProperty(e,r,{get:()=>Ks[r]});for(let r of Object.keys(Ks.styles))e.hasOwnProperty(r)||Reflect.defineProperty(e,r,{get:()=>Ks[r]});return e};i0e.exports=I_});var a0e=_((O8t,o0e)=>{"use strict";var w_=process.platform==="win32",Yf=eu(),qAt=bo(),B_={...Yf.symbols,upDownDoubleArrow:"\u21D5",upDownDoubleArrow2:"\u2B0D",upDownArrow:"\u2195",asterisk:"*",asterism:"\u2042",bulletWhite:"\u25E6",electricArrow:"\u2301",ellipsisLarge:"\u22EF",ellipsisSmall:"\u2026",fullBlock:"\u2588",identicalTo:"\u2261",indicator:Yf.symbols.check,leftAngle:"\u2039",mark:"\u203B",minus:"\u2212",multiplication:"\xD7",obelus:"\xF7",percent:"%",pilcrow:"\xB6",pilcrow2:"\u2761",pencilUpRight:"\u2710",pencilDownRight:"\u270E",pencilRight:"\u270F",plus:"+",plusMinus:"\xB1",pointRight:"\u261E",rightAngle:"\u203A",section:"\xA7",hexagon:{off:"\u2B21",on:"\u2B22",disabled:"\u2B22"},ballot:{on:"\u2611",off:"\u2610",disabled:"\u2612"},stars:{on:"\u2605",off:"\u2606",disabled:"\u2606"},folder:{on:"\u25BC",off:"\u25B6",disabled:"\u25B6"},prefix:{pending:Yf.symbols.question,submitted:Yf.symbols.check,cancelled:Yf.symbols.cross},separator:{pending:Yf.symbols.pointerSmall,submitted:Yf.symbols.middot,cancelled:Yf.symbols.middot},radio:{off:w_?"( )":"\u25EF",on:w_?"(*)":"\u25C9",disabled:w_?"(|)":"\u24BE"},numbers:["\u24EA","\u2460","\u2461","\u2462","\u2463","\u2464","\u2465","\u2466","\u2467","\u2468","\u2469","\u246A","\u246B","\u246C","\u246D","\u246E","\u246F","\u2470","\u2471","\u2472","\u2473","\u3251","\u3252","\u3253","\u3254","\u3255","\u3256","\u3257","\u3258","\u3259","\u325A","\u325B","\u325C","\u325D","\u325E","\u325F","\u32B1","\u32B2","\u32B3","\u32B4","\u32B5","\u32B6","\u32B7","\u32B8","\u32B9","\u32BA","\u32BB","\u32BC","\u32BD","\u32BE","\u32BF"]};B_.merge=t=>{let e=qAt.merge({},Yf.symbols,B_,t.symbols);return delete e.merge,e};o0e.exports=B_});var c0e=_((M8t,l0e)=>{"use strict";var jAt=s0e(),GAt=a0e(),WAt=bo();l0e.exports=t=>{t.options=WAt.merge({},t.options.theme,t.options),t.symbols=GAt.merge(t.options),t.styles=jAt.merge(t.options)}});var h0e=_((f0e,p0e)=>{"use strict";var u0e=process.env.TERM_PROGRAM==="Apple_Terminal",YAt=eu(),v_=bo(),tu=p0e.exports=f0e,Si="\x1B[",A0e="\x07",D_=!1,kh=tu.code={bell:A0e,beep:A0e,beginning:`${Si}G`,down:`${Si}J`,esc:Si,getPosition:`${Si}6n`,hide:`${Si}?25l`,line:`${Si}2K`,lineEnd:`${Si}K`,lineStart:`${Si}1K`,restorePosition:Si+(u0e?"8":"u"),savePosition:Si+(u0e?"7":"s"),screen:`${Si}2J`,show:`${Si}?25h`,up:`${Si}1J`},Yg=tu.cursor={get hidden(){return D_},hide(){return D_=!0,kh.hide},show(){return D_=!1,kh.show},forward:(t=1)=>`${Si}${t}C`,backward:(t=1)=>`${Si}${t}D`,nextLine:(t=1)=>`${Si}E`.repeat(t),prevLine:(t=1)=>`${Si}F`.repeat(t),up:(t=1)=>t?`${Si}${t}A`:"",down:(t=1)=>t?`${Si}${t}B`:"",right:(t=1)=>t?`${Si}${t}C`:"",left:(t=1)=>t?`${Si}${t}D`:"",to(t,e){return e?`${Si}${e+1};${t+1}H`:`${Si}${t+1}G`},move(t=0,e=0){let r="";return r+=t<0?Yg.left(-t):t>0?Yg.right(t):"",r+=e<0?Yg.up(-e):e>0?Yg.down(e):"",r},restore(t={}){let{after:e,cursor:r,initial:o,input:a,prompt:n,size:u,value:A}=t;if(o=v_.isPrimitive(o)?String(o):"",a=v_.isPrimitive(a)?String(a):"",A=v_.isPrimitive(A)?String(A):"",u){let p=tu.cursor.up(u)+tu.cursor.to(n.length),h=a.length-r;return h>0&&(p+=tu.cursor.left(h)),p}if(A||e){let p=!a&&o?-o.length:-a.length+r;return e&&(p-=e.length),a===""&&o&&!n.includes(o)&&(p+=o.length),tu.cursor.move(p)}}},P_=tu.erase={screen:kh.screen,up:kh.up,down:kh.down,line:kh.line,lineEnd:kh.lineEnd,lineStart:kh.lineStart,lines(t){let e="";for(let r=0;r<t;r++)e+=tu.erase.line+(r<t-1?tu.cursor.up(1):"");return t&&(e+=tu.code.beginning),e}};tu.clear=(t="",e=process.stdout.columns)=>{if(!e)return P_.line+Yg.to(0);let r=n=>[...YAt.unstyle(n)].length,o=t.split(/\r?\n/),a=0;for(let n of o)a+=1+Math.floor(Math.max(r(n)-1,0)/e);return(P_.line+Yg.prevLine()).repeat(a-1)+P_.line+Yg.to(0)}});var uE=_((U8t,d0e)=>{"use strict";var KAt=ve("events"),g0e=eu(),S_=$he(),VAt=t0e(),JAt=n0e(),zAt=c0e(),La=bo(),Kg=h0e(),b_=class t extends KAt{constructor(e={}){super(),this.name=e.name,this.type=e.type,this.options=e,zAt(this),VAt(this),this.state=new JAt(this),this.initial=[e.initial,e.default].find(r=>r!=null),this.stdout=e.stdout||process.stdout,this.stdin=e.stdin||process.stdin,this.scale=e.scale||1,this.term=this.options.term||process.env.TERM_PROGRAM,this.margin=ZAt(this.options.margin),this.setMaxListeners(0),XAt(this)}async keypress(e,r={}){this.keypressed=!0;let o=S_.action(e,S_(e,r),this.options.actions);this.state.keypress=o,this.emit("keypress",e,o),this.emit("state",this.state.clone());let a=this.options[o.action]||this[o.action]||this.dispatch;if(typeof a=="function")return await a.call(this,e,o);this.alert()}alert(){delete this.state.alert,this.options.show===!1?this.emit("alert"):this.stdout.write(Kg.code.beep)}cursorHide(){this.stdout.write(Kg.cursor.hide()),La.onExit(()=>this.cursorShow())}cursorShow(){this.stdout.write(Kg.cursor.show())}write(e){e&&(this.stdout&&this.state.show!==!1&&this.stdout.write(e),this.state.buffer+=e)}clear(e=0){let r=this.state.buffer;this.state.buffer="",!(!r&&!e||this.options.show===!1)&&this.stdout.write(Kg.cursor.down(e)+Kg.clear(r,this.width))}restore(){if(this.state.closed||this.options.show===!1)return;let{prompt:e,after:r,rest:o}=this.sections(),{cursor:a,initial:n="",input:u="",value:A=""}=this,p=this.state.size=o.length,h={after:r,cursor:a,initial:n,input:u,prompt:e,size:p,value:A},E=Kg.cursor.restore(h);E&&this.stdout.write(E)}sections(){let{buffer:e,input:r,prompt:o}=this.state;o=g0e.unstyle(o);let a=g0e.unstyle(e),n=a.indexOf(o),u=a.slice(0,n),p=a.slice(n).split(` +`),h=p[0],E=p[p.length-1],D=(o+(r?" "+r:"")).length,x=D<h.length?h.slice(D+1):"";return{header:u,prompt:h,after:x,rest:p.slice(1),last:E}}async submit(){this.state.submitted=!0,this.state.validating=!0,this.options.onSubmit&&await this.options.onSubmit.call(this,this.name,this.value,this);let e=this.state.error||await this.validate(this.value,this.state);if(e!==!0){let r=` +`+this.symbols.pointer+" ";typeof e=="string"?r+=e.trim():r+="Invalid input",this.state.error=` +`+this.styles.danger(r),this.state.submitted=!1,await this.render(),await this.alert(),this.state.validating=!1,this.state.error=void 0;return}this.state.validating=!1,await this.render(),await this.close(),this.value=await this.result(this.value),this.emit("submit",this.value)}async cancel(e){this.state.cancelled=this.state.submitted=!0,await this.render(),await this.close(),typeof this.options.onCancel=="function"&&await this.options.onCancel.call(this,this.name,this.value,this),this.emit("cancel",await this.error(e))}async close(){this.state.closed=!0;try{let e=this.sections(),r=Math.ceil(e.prompt.length/this.width);e.rest&&this.write(Kg.cursor.down(e.rest.length)),this.write(` +`.repeat(r))}catch{}this.emit("close")}start(){!this.stop&&this.options.show!==!1&&(this.stop=S_.listen(this,this.keypress.bind(this)),this.once("close",this.stop))}async skip(){return this.skipped=this.options.skip===!0,typeof this.options.skip=="function"&&(this.skipped=await this.options.skip.call(this,this.name,this.value)),this.skipped}async initialize(){let{format:e,options:r,result:o}=this;if(this.format=()=>e.call(this,this.value),this.result=()=>o.call(this,this.value),typeof r.initial=="function"&&(this.initial=await r.initial.call(this,this)),typeof r.onRun=="function"&&await r.onRun.call(this,this),typeof r.onSubmit=="function"){let a=r.onSubmit.bind(this),n=this.submit.bind(this);delete this.options.onSubmit,this.submit=async()=>(await a(this.name,this.value,this),n())}await this.start(),await this.render()}render(){throw new Error("expected prompt to have a custom render method")}run(){return new Promise(async(e,r)=>{if(this.once("submit",e),this.once("cancel",r),await this.skip())return this.render=()=>{},this.submit();await this.initialize(),this.emit("run")})}async element(e,r,o){let{options:a,state:n,symbols:u,timers:A}=this,p=A&&A[e];n.timer=p;let h=a[e]||n[e]||u[e],E=r&&r[e]!=null?r[e]:await h;if(E==="")return E;let w=await this.resolve(E,n,r,o);return!w&&r&&r[e]?this.resolve(h,n,r,o):w}async prefix(){let e=await this.element("prefix")||this.symbols,r=this.timers&&this.timers.prefix,o=this.state;return o.timer=r,La.isObject(e)&&(e=e[o.status]||e.pending),La.hasColor(e)?e:(this.styles[o.status]||this.styles.pending)(e)}async message(){let e=await this.element("message");return La.hasColor(e)?e:this.styles.strong(e)}async separator(){let e=await this.element("separator")||this.symbols,r=this.timers&&this.timers.separator,o=this.state;o.timer=r;let a=e[o.status]||e.pending||o.separator,n=await this.resolve(a,o);return La.isObject(n)&&(n=n[o.status]||n.pending),La.hasColor(n)?n:this.styles.muted(n)}async pointer(e,r){let o=await this.element("pointer",e,r);if(typeof o=="string"&&La.hasColor(o))return o;if(o){let a=this.styles,n=this.index===r,u=n?a.primary:h=>h,A=await this.resolve(o[n?"on":"off"]||o,this.state),p=La.hasColor(A)?A:u(A);return n?p:" ".repeat(A.length)}}async indicator(e,r){let o=await this.element("indicator",e,r);if(typeof o=="string"&&La.hasColor(o))return o;if(o){let a=this.styles,n=e.enabled===!0,u=n?a.success:a.dark,A=o[n?"on":"off"]||o;return La.hasColor(A)?A:u(A)}return""}body(){return null}footer(){if(this.state.status==="pending")return this.element("footer")}header(){if(this.state.status==="pending")return this.element("header")}async hint(){if(this.state.status==="pending"&&!this.isValue(this.state.input)){let e=await this.element("hint");return La.hasColor(e)?e:this.styles.muted(e)}}error(e){return this.state.submitted?"":e||this.state.error}format(e){return e}result(e){return e}validate(e){return this.options.required===!0?this.isValue(e):!0}isValue(e){return e!=null&&e!==""}resolve(e,...r){return La.resolve(this,e,...r)}get base(){return t.prototype}get style(){return this.styles[this.state.status]}get height(){return this.options.rows||La.height(this.stdout,25)}get width(){return this.options.columns||La.width(this.stdout,80)}get size(){return{width:this.width,height:this.height}}set cursor(e){this.state.cursor=e}get cursor(){return this.state.cursor}set input(e){this.state.input=e}get input(){return this.state.input}set value(e){this.state.value=e}get value(){let{input:e,value:r}=this.state,o=[r,e].find(this.isValue.bind(this));return this.isValue(o)?o:this.initial}static get prompt(){return e=>new this(e).run()}};function XAt(t){let e=a=>t[a]===void 0||typeof t[a]=="function",r=["actions","choices","initial","margin","roles","styles","symbols","theme","timers","value"],o=["body","footer","error","header","hint","indicator","message","prefix","separator","skip"];for(let a of Object.keys(t.options)){if(r.includes(a)||/^on[A-Z]/.test(a))continue;let n=t.options[a];typeof n=="function"&&e(a)?o.includes(a)||(t[a]=n.bind(t)):typeof t[a]!="function"&&(t[a]=n)}}function ZAt(t){typeof t=="number"&&(t=[t,t,t,t]);let e=[].concat(t||[]),r=a=>a%2===0?` +`:" ",o=[];for(let a=0;a<4;a++){let n=r(a);e[a]?o.push(n.repeat(e[a])):o.push("")}return o}d0e.exports=b_});var E0e=_((_8t,y0e)=>{"use strict";var $At=bo(),m0e={default(t,e){return e},checkbox(t,e){throw new Error("checkbox role is not implemented yet")},editable(t,e){throw new Error("editable role is not implemented yet")},expandable(t,e){throw new Error("expandable role is not implemented yet")},heading(t,e){return e.disabled="",e.indicator=[e.indicator," "].find(r=>r!=null),e.message=e.message||"",e},input(t,e){throw new Error("input role is not implemented yet")},option(t,e){return m0e.default(t,e)},radio(t,e){throw new Error("radio role is not implemented yet")},separator(t,e){return e.disabled="",e.indicator=[e.indicator," "].find(r=>r!=null),e.message=e.message||t.symbols.line.repeat(5),e},spacer(t,e){return e}};y0e.exports=(t,e={})=>{let r=$At.merge({},m0e,e.roles);return r[t]||r.default}});var x2=_((H8t,w0e)=>{"use strict";var eft=eu(),tft=uE(),rft=E0e(),Uk=bo(),{reorder:x_,scrollUp:nft,scrollDown:ift,isObject:C0e,swap:sft}=Uk,k_=class extends tft{constructor(e){super(e),this.cursorHide(),this.maxSelected=e.maxSelected||1/0,this.multiple=e.multiple||!1,this.initial=e.initial||0,this.delay=e.delay||0,this.longest=0,this.num=""}async initialize(){typeof this.options.initial=="function"&&(this.initial=await this.options.initial.call(this)),await this.reset(!0),await super.initialize()}async reset(){let{choices:e,initial:r,autofocus:o,suggest:a}=this.options;if(this.state._choices=[],this.state.choices=[],this.choices=await Promise.all(await this.toChoices(e)),this.choices.forEach(n=>n.enabled=!1),typeof a!="function"&&this.selectable.length===0)throw new Error("At least one choice must be selectable");C0e(r)&&(r=Object.keys(r)),Array.isArray(r)?(o!=null&&(this.index=this.findIndex(o)),r.forEach(n=>this.enable(this.find(n))),await this.render()):(o!=null&&(r=o),typeof r=="string"&&(r=this.findIndex(r)),typeof r=="number"&&r>-1&&(this.index=Math.max(0,Math.min(r,this.choices.length)),this.enable(this.find(this.index)))),this.isDisabled(this.focused)&&await this.down()}async toChoices(e,r){this.state.loadingChoices=!0;let o=[],a=0,n=async(u,A)=>{typeof u=="function"&&(u=await u.call(this)),u instanceof Promise&&(u=await u);for(let p=0;p<u.length;p++){let h=u[p]=await this.toChoice(u[p],a++,A);o.push(h),h.choices&&await n(h.choices,h)}return o};return n(e,r).then(u=>(this.state.loadingChoices=!1,u))}async toChoice(e,r,o){if(typeof e=="function"&&(e=await e.call(this,this)),e instanceof Promise&&(e=await e),typeof e=="string"&&(e={name:e}),e.normalized)return e;e.normalized=!0;let a=e.value;if(e=rft(e.role,this.options)(this,e),typeof e.disabled=="string"&&!e.hint&&(e.hint=e.disabled,e.disabled=!0),e.disabled===!0&&e.hint==null&&(e.hint="(disabled)"),e.index!=null)return e;e.name=e.name||e.key||e.title||e.value||e.message,e.message=e.message||e.name||"",e.value=[e.value,e.name].find(this.isValue.bind(this)),e.input="",e.index=r,e.cursor=0,Uk.define(e,"parent",o),e.level=o?o.level+1:1,e.indent==null&&(e.indent=o?o.indent+" ":e.indent||""),e.path=o?o.path+"."+e.name:e.name,e.enabled=!!(this.multiple&&!this.isDisabled(e)&&(e.enabled||this.isSelected(e))),this.isDisabled(e)||(this.longest=Math.max(this.longest,eft.unstyle(e.message).length));let u={...e};return e.reset=(A=u.input,p=u.value)=>{for(let h of Object.keys(u))e[h]=u[h];e.input=A,e.value=p},a==null&&typeof e.initial=="function"&&(e.input=await e.initial.call(this,this.state,e,r)),e}async onChoice(e,r){this.emit("choice",e,r,this),typeof e.onChoice=="function"&&await e.onChoice.call(this,this.state,e,r)}async addChoice(e,r,o){let a=await this.toChoice(e,r,o);return this.choices.push(a),this.index=this.choices.length-1,this.limit=this.choices.length,a}async newItem(e,r,o){let a={name:"New choice name?",editable:!0,newChoice:!0,...e},n=await this.addChoice(a,r,o);return n.updateChoice=()=>{delete n.newChoice,n.name=n.message=n.input,n.input="",n.cursor=0},this.render()}indent(e){return e.indent==null?e.level>1?" ".repeat(e.level-1):"":e.indent}dispatch(e,r){if(this.multiple&&this[r.name])return this[r.name]();this.alert()}focus(e,r){return typeof r!="boolean"&&(r=e.enabled),r&&!e.enabled&&this.selected.length>=this.maxSelected?this.alert():(this.index=e.index,e.enabled=r&&!this.isDisabled(e),e)}space(){return this.multiple?(this.toggle(this.focused),this.render()):this.alert()}a(){if(this.maxSelected<this.choices.length)return this.alert();let e=this.selectable.every(r=>r.enabled);return this.choices.forEach(r=>r.enabled=!e),this.render()}i(){return this.choices.length-this.selected.length>this.maxSelected?this.alert():(this.choices.forEach(e=>e.enabled=!e.enabled),this.render())}g(e=this.focused){return this.choices.some(r=>!!r.parent)?(this.toggle(e.parent&&!e.choices?e.parent:e),this.render()):this.a()}toggle(e,r){if(!e.enabled&&this.selected.length>=this.maxSelected)return this.alert();typeof r!="boolean"&&(r=!e.enabled),e.enabled=r,e.choices&&e.choices.forEach(a=>this.toggle(a,r));let o=e.parent;for(;o;){let a=o.choices.filter(n=>this.isDisabled(n));o.enabled=a.every(n=>n.enabled===!0),o=o.parent}return I0e(this,this.choices),this.emit("toggle",e,this),e}enable(e){return this.selected.length>=this.maxSelected?this.alert():(e.enabled=!this.isDisabled(e),e.choices&&e.choices.forEach(this.enable.bind(this)),e)}disable(e){return e.enabled=!1,e.choices&&e.choices.forEach(this.disable.bind(this)),e}number(e){this.num+=e;let r=o=>{let a=Number(o);if(a>this.choices.length-1)return this.alert();let n=this.focused,u=this.choices.find(A=>a===A.index);if(!u.enabled&&this.selected.length>=this.maxSelected)return this.alert();if(this.visible.indexOf(u)===-1){let A=x_(this.choices),p=A.indexOf(u);if(n.index>p){let h=A.slice(p,p+this.limit),E=A.filter(w=>!h.includes(w));this.choices=h.concat(E)}else{let h=p-this.limit+1;this.choices=A.slice(h).concat(A.slice(0,h))}}return this.index=this.choices.indexOf(u),this.toggle(this.focused),this.render()};return clearTimeout(this.numberTimeout),new Promise(o=>{let a=this.choices.length,n=this.num,u=(A=!1,p)=>{clearTimeout(this.numberTimeout),A&&(p=r(n)),this.num="",o(p)};if(n==="0"||n.length===1&&+(n+"0")>a)return u(!0);if(Number(n)>a)return u(!1,this.alert());this.numberTimeout=setTimeout(()=>u(!0),this.delay)})}home(){return this.choices=x_(this.choices),this.index=0,this.render()}end(){let e=this.choices.length-this.limit,r=x_(this.choices);return this.choices=r.slice(e).concat(r.slice(0,e)),this.index=this.limit-1,this.render()}first(){return this.index=0,this.render()}last(){return this.index=this.visible.length-1,this.render()}prev(){return this.visible.length<=1?this.alert():this.up()}next(){return this.visible.length<=1?this.alert():this.down()}right(){return this.cursor>=this.input.length?this.alert():(this.cursor++,this.render())}left(){return this.cursor<=0?this.alert():(this.cursor--,this.render())}up(){let e=this.choices.length,r=this.visible.length,o=this.index;return this.options.scroll===!1&&o===0?this.alert():e>r&&o===0?this.scrollUp():(this.index=(o-1%e+e)%e,this.isDisabled()?this.up():this.render())}down(){let e=this.choices.length,r=this.visible.length,o=this.index;return this.options.scroll===!1&&o===r-1?this.alert():e>r&&o===r-1?this.scrollDown():(this.index=(o+1)%e,this.isDisabled()?this.down():this.render())}scrollUp(e=0){return this.choices=nft(this.choices),this.index=e,this.isDisabled()?this.up():this.render()}scrollDown(e=this.visible.length-1){return this.choices=ift(this.choices),this.index=e,this.isDisabled()?this.down():this.render()}async shiftUp(){if(this.options.sort===!0){this.sorting=!0,this.swap(this.index-1),await this.up(),this.sorting=!1;return}return this.scrollUp(this.index)}async shiftDown(){if(this.options.sort===!0){this.sorting=!0,this.swap(this.index+1),await this.down(),this.sorting=!1;return}return this.scrollDown(this.index)}pageUp(){return this.visible.length<=1?this.alert():(this.limit=Math.max(this.limit-1,0),this.index=Math.min(this.limit-1,this.index),this._limit=this.limit,this.isDisabled()?this.up():this.render())}pageDown(){return this.visible.length>=this.choices.length?this.alert():(this.index=Math.max(0,this.index),this.limit=Math.min(this.limit+1,this.choices.length),this._limit=this.limit,this.isDisabled()?this.down():this.render())}swap(e){sft(this.choices,this.index,e)}isDisabled(e=this.focused){return e&&["disabled","collapsed","hidden","completing","readonly"].some(o=>e[o]===!0)?!0:e&&e.role==="heading"}isEnabled(e=this.focused){if(Array.isArray(e))return e.every(r=>this.isEnabled(r));if(e.choices){let r=e.choices.filter(o=>!this.isDisabled(o));return e.enabled&&r.every(o=>this.isEnabled(o))}return e.enabled&&!this.isDisabled(e)}isChoice(e,r){return e.name===r||e.index===Number(r)}isSelected(e){return Array.isArray(this.initial)?this.initial.some(r=>this.isChoice(e,r)):this.isChoice(e,this.initial)}map(e=[],r="value"){return[].concat(e||[]).reduce((o,a)=>(o[a]=this.find(a,r),o),{})}filter(e,r){let a=typeof e=="function"?e:(A,p)=>[A.name,p].includes(e),u=(this.options.multiple?this.state._choices:this.choices).filter(a);return r?u.map(A=>A[r]):u}find(e,r){if(C0e(e))return r?e[r]:e;let a=typeof e=="function"?e:(u,A)=>[u.name,A].includes(e),n=this.choices.find(a);if(n)return r?n[r]:n}findIndex(e){return this.choices.indexOf(this.find(e))}async submit(){let e=this.focused;if(!e)return this.alert();if(e.newChoice)return e.input?(e.updateChoice(),this.render()):this.alert();if(this.choices.some(u=>u.newChoice))return this.alert();let{reorder:r,sort:o}=this.options,a=this.multiple===!0,n=this.selected;return n===void 0?this.alert():(Array.isArray(n)&&r!==!1&&o!==!0&&(n=Uk.reorder(n)),this.value=a?n.map(u=>u.name):n.name,super.submit())}set choices(e=[]){this.state._choices=this.state._choices||[],this.state.choices=e;for(let r of e)this.state._choices.some(o=>o.name===r.name)||this.state._choices.push(r);if(!this._initial&&this.options.initial){this._initial=!0;let r=this.initial;if(typeof r=="string"||typeof r=="number"){let o=this.find(r);o&&(this.initial=o.index,this.focus(o,!0))}}}get choices(){return I0e(this,this.state.choices||[])}set visible(e){this.state.visible=e}get visible(){return(this.state.visible||this.choices).slice(0,this.limit)}set limit(e){this.state.limit=e}get limit(){let{state:e,options:r,choices:o}=this,a=e.limit||this._limit||r.limit||o.length;return Math.min(a,this.height)}set value(e){super.value=e}get value(){return typeof super.value!="string"&&super.value===this.initial?this.input:super.value}set index(e){this.state.index=e}get index(){return Math.max(0,this.state?this.state.index:0)}get enabled(){return this.filter(this.isEnabled.bind(this))}get focused(){let e=this.choices[this.index];return e&&this.state.submitted&&this.multiple!==!0&&(e.enabled=!0),e}get selectable(){return this.choices.filter(e=>!this.isDisabled(e))}get selected(){return this.multiple?this.enabled:this.focused}};function I0e(t,e){if(e instanceof Promise)return e;if(typeof e=="function"){if(Uk.isAsyncFn(e))return e;e=e.call(t,t)}for(let r of e){if(Array.isArray(r.choices)){let o=r.choices.filter(a=>!t.isDisabled(a));r.enabled=o.every(a=>a.enabled===!0)}t.isDisabled(r)===!0&&delete r.enabled}return e}w0e.exports=k_});var Qh=_((q8t,B0e)=>{"use strict";var oft=x2(),Q_=bo(),F_=class extends oft{constructor(e){super(e),this.emptyError=this.options.emptyError||"No items were selected"}async dispatch(e,r){if(this.multiple)return this[r.name]?await this[r.name](e,r):await super.dispatch(e,r);this.alert()}separator(){if(this.options.separator)return super.separator();let e=this.styles.muted(this.symbols.ellipsis);return this.state.submitted?super.separator():e}pointer(e,r){return!this.multiple||this.options.pointer?super.pointer(e,r):""}indicator(e,r){return this.multiple?super.indicator(e,r):""}choiceMessage(e,r){let o=this.resolve(e.message,this.state,e,r);return e.role==="heading"&&!Q_.hasColor(o)&&(o=this.styles.strong(o)),this.resolve(o,this.state,e,r)}choiceSeparator(){return":"}async renderChoice(e,r){await this.onChoice(e,r);let o=this.index===r,a=await this.pointer(e,r),n=await this.indicator(e,r)+(e.pad||""),u=await this.resolve(e.hint,this.state,e,r);u&&!Q_.hasColor(u)&&(u=this.styles.muted(u));let A=this.indent(e),p=await this.choiceMessage(e,r),h=()=>[this.margin[3],A+a+n,p,this.margin[1],u].filter(Boolean).join(" ");return e.role==="heading"?h():e.disabled?(Q_.hasColor(p)||(p=this.styles.disabled(p)),h()):(o&&(p=this.styles.em(p)),h())}async renderChoices(){if(this.state.loading==="choices")return this.styles.warning("Loading choices");if(this.state.submitted)return"";let e=this.visible.map(async(n,u)=>await this.renderChoice(n,u)),r=await Promise.all(e);r.length||r.push(this.styles.danger("No matching choices"));let o=this.margin[0]+r.join(` +`),a;return this.options.choicesHeader&&(a=await this.resolve(this.options.choicesHeader,this.state)),[a,o].filter(Boolean).join(` +`)}format(){return!this.state.submitted||this.state.cancelled?"":Array.isArray(this.selected)?this.selected.map(e=>this.styles.primary(e.name)).join(", "):this.styles.primary(this.selected.name)}async render(){let{submitted:e,size:r}=this.state,o="",a=await this.header(),n=await this.prefix(),u=await this.separator(),A=await this.message();this.options.promptLine!==!1&&(o=[n,A,u,""].join(" "),this.state.prompt=o);let p=await this.format(),h=await this.error()||await this.hint(),E=await this.renderChoices(),w=await this.footer();p&&(o+=p),h&&!o.includes(h)&&(o+=" "+h),e&&!p&&!E.trim()&&this.multiple&&this.emptyError!=null&&(o+=this.styles.danger(this.emptyError)),this.clear(r),this.write([a,o,E,w].filter(Boolean).join(` +`)),this.write(this.margin[2]),this.restore()}};B0e.exports=F_});var D0e=_((j8t,v0e)=>{"use strict";var aft=Qh(),lft=(t,e)=>{let r=t.toLowerCase();return o=>{let n=o.toLowerCase().indexOf(r),u=e(o.slice(n,n+r.length));return n>=0?o.slice(0,n)+u+o.slice(n+r.length):o}},R_=class extends aft{constructor(e){super(e),this.cursorShow()}moveCursor(e){this.state.cursor+=e}dispatch(e){return this.append(e)}space(e){return this.options.multiple?super.space(e):this.append(e)}append(e){let{cursor:r,input:o}=this.state;return this.input=o.slice(0,r)+e+o.slice(r),this.moveCursor(1),this.complete()}delete(){let{cursor:e,input:r}=this.state;return r?(this.input=r.slice(0,e-1)+r.slice(e),this.moveCursor(-1),this.complete()):this.alert()}deleteForward(){let{cursor:e,input:r}=this.state;return r[e]===void 0?this.alert():(this.input=`${r}`.slice(0,e)+`${r}`.slice(e+1),this.complete())}number(e){return this.append(e)}async complete(){this.completing=!0,this.choices=await this.suggest(this.input,this.state._choices),this.state.limit=void 0,this.index=Math.min(Math.max(this.visible.length-1,0),this.index),await this.render(),this.completing=!1}suggest(e=this.input,r=this.state._choices){if(typeof this.options.suggest=="function")return this.options.suggest.call(this,e,r);let o=e.toLowerCase();return r.filter(a=>a.message.toLowerCase().includes(o))}pointer(){return""}format(){if(!this.focused)return this.input;if(this.options.multiple&&this.state.submitted)return this.selected.map(e=>this.styles.primary(e.message)).join(", ");if(this.state.submitted){let e=this.value=this.input=this.focused.value;return this.styles.primary(e)}return this.input}async render(){if(this.state.status!=="pending")return super.render();let e=this.options.highlight?this.options.highlight.bind(this):this.styles.placeholder,r=lft(this.input,e),o=this.choices;this.choices=o.map(a=>({...a,message:r(a.message)})),await super.render(),this.choices=o}submit(){return this.options.multiple&&(this.value=this.selected.map(e=>e.name)),super.submit()}};v0e.exports=R_});var N_=_((G8t,P0e)=>{"use strict";var T_=bo();P0e.exports=(t,e={})=>{t.cursorHide();let{input:r="",initial:o="",pos:a,showCursor:n=!0,color:u}=e,A=u||t.styles.placeholder,p=T_.inverse(t.styles.primary),h=T=>p(t.styles.black(T)),E=r,w=" ",D=h(w);if(t.blink&&t.blink.off===!0&&(h=T=>T,D=""),n&&a===0&&o===""&&r==="")return h(w);if(n&&a===0&&(r===o||r===""))return h(o[0])+A(o.slice(1));o=T_.isPrimitive(o)?`${o}`:"",r=T_.isPrimitive(r)?`${r}`:"";let x=o&&o.startsWith(r)&&o!==r,C=x?h(o[r.length]):D;if(a!==r.length&&n===!0&&(E=r.slice(0,a)+h(r[a])+r.slice(a+1),C=""),n===!1&&(C=""),x){let T=t.styles.unstyle(E+C);return E+C+A(o.slice(T.length))}return E+C}});var _k=_((W8t,S0e)=>{"use strict";var cft=eu(),uft=Qh(),Aft=N_(),L_=class extends uft{constructor(e){super({...e,multiple:!0}),this.type="form",this.initial=this.options.initial,this.align=[this.options.align,"right"].find(r=>r!=null),this.emptyError="",this.values={}}async reset(e){return await super.reset(),e===!0&&(this._index=this.index),this.index=this._index,this.values={},this.choices.forEach(r=>r.reset&&r.reset()),this.render()}dispatch(e){return!!e&&this.append(e)}append(e){let r=this.focused;if(!r)return this.alert();let{cursor:o,input:a}=r;return r.value=r.input=a.slice(0,o)+e+a.slice(o),r.cursor++,this.render()}delete(){let e=this.focused;if(!e||e.cursor<=0)return this.alert();let{cursor:r,input:o}=e;return e.value=e.input=o.slice(0,r-1)+o.slice(r),e.cursor--,this.render()}deleteForward(){let e=this.focused;if(!e)return this.alert();let{cursor:r,input:o}=e;if(o[r]===void 0)return this.alert();let a=`${o}`.slice(0,r)+`${o}`.slice(r+1);return e.value=e.input=a,this.render()}right(){let e=this.focused;return e?e.cursor>=e.input.length?this.alert():(e.cursor++,this.render()):this.alert()}left(){let e=this.focused;return e?e.cursor<=0?this.alert():(e.cursor--,this.render()):this.alert()}space(e,r){return this.dispatch(e,r)}number(e,r){return this.dispatch(e,r)}next(){let e=this.focused;if(!e)return this.alert();let{initial:r,input:o}=e;return r&&r.startsWith(o)&&o!==r?(e.value=e.input=r,e.cursor=e.value.length,this.render()):super.next()}prev(){let e=this.focused;return e?e.cursor===0?super.prev():(e.value=e.input="",e.cursor=0,this.render()):this.alert()}separator(){return""}format(e){return this.state.submitted?"":super.format(e)}pointer(){return""}indicator(e){return e.input?"\u29BF":"\u2299"}async choiceSeparator(e,r){let o=await this.resolve(e.separator,this.state,e,r)||":";return o?" "+this.styles.disabled(o):""}async renderChoice(e,r){await this.onChoice(e,r);let{state:o,styles:a}=this,{cursor:n,initial:u="",name:A,hint:p,input:h=""}=e,{muted:E,submitted:w,primary:D,danger:x}=a,C=p,T=this.index===r,L=e.validate||(()=>!0),U=await this.choiceSeparator(e,r),J=e.message;this.align==="right"&&(J=J.padStart(this.longest+1," ")),this.align==="left"&&(J=J.padEnd(this.longest+1," "));let te=this.values[A]=h||u,le=h?"success":"dark";await L.call(e,te,this.state)!==!0&&(le="danger");let ce=a[le],ue=ce(await this.indicator(e,r))+(e.pad||""),Ie=this.indent(e),he=()=>[Ie,ue,J+U,h,C].filter(Boolean).join(" ");if(o.submitted)return J=cft.unstyle(J),h=w(h),C="",he();if(e.format)h=await e.format.call(this,h,e,r);else{let De=this.styles.muted;h=Aft(this,{input:h,initial:u,pos:n,showCursor:T,color:De})}return this.isValue(h)||(h=this.styles.muted(this.symbols.ellipsis)),e.result&&(this.values[A]=await e.result.call(this,te,e,r)),T&&(J=D(J)),e.error?h+=(h?" ":"")+x(e.error.trim()):e.hint&&(h+=(h?" ":"")+E(e.hint.trim())),he()}async submit(){return this.value=this.values,super.base.submit.call(this)}};S0e.exports=L_});var O_=_((Y8t,x0e)=>{"use strict";var fft=_k(),pft=()=>{throw new Error("expected prompt to have a custom authenticate method")},b0e=(t=pft)=>{class e extends fft{constructor(o){super(o)}async submit(){this.value=await t.call(this,this.values,this.state),super.base.submit.call(this)}static create(o){return b0e(o)}}return e};x0e.exports=b0e()});var F0e=_((K8t,Q0e)=>{"use strict";var hft=O_();function gft(t,e){return t.username===this.options.username&&t.password===this.options.password}var k0e=(t=gft)=>{let e=[{name:"username",message:"username"},{name:"password",message:"password",format(o){return this.options.showPassword?o:(this.state.submitted?this.styles.primary:this.styles.muted)(this.symbols.asterisk.repeat(o.length))}}];class r extends hft.create(t){constructor(a){super({...a,choices:e})}static create(a){return k0e(a)}}return r};Q0e.exports=k0e()});var Hk=_((V8t,R0e)=>{"use strict";var dft=uE(),{isPrimitive:mft,hasColor:yft}=bo(),M_=class extends dft{constructor(e){super(e),this.cursorHide()}async initialize(){let e=await this.resolve(this.initial,this.state);this.input=await this.cast(e),await super.initialize()}dispatch(e){return this.isValue(e)?(this.input=e,this.submit()):this.alert()}format(e){let{styles:r,state:o}=this;return o.submitted?r.success(e):r.primary(e)}cast(e){return this.isTrue(e)}isTrue(e){return/^[ty1]/i.test(e)}isFalse(e){return/^[fn0]/i.test(e)}isValue(e){return mft(e)&&(this.isTrue(e)||this.isFalse(e))}async hint(){if(this.state.status==="pending"){let e=await this.element("hint");return yft(e)?e:this.styles.muted(e)}}async render(){let{input:e,size:r}=this.state,o=await this.prefix(),a=await this.separator(),n=await this.message(),u=this.styles.muted(this.default),A=[o,n,u,a].filter(Boolean).join(" ");this.state.prompt=A;let p=await this.header(),h=this.value=this.cast(e),E=await this.format(h),w=await this.error()||await this.hint(),D=await this.footer();w&&!A.includes(w)&&(E+=" "+w),A+=" "+E,this.clear(r),this.write([p,A,D].filter(Boolean).join(` +`)),this.restore()}set value(e){super.value=e}get value(){return this.cast(super.value)}};R0e.exports=M_});var N0e=_((J8t,T0e)=>{"use strict";var Eft=Hk(),U_=class extends Eft{constructor(e){super(e),this.default=this.options.default||(this.initial?"(Y/n)":"(y/N)")}};T0e.exports=U_});var O0e=_((z8t,L0e)=>{"use strict";var Cft=Qh(),Ift=_k(),AE=Ift.prototype,__=class extends Cft{constructor(e){super({...e,multiple:!0}),this.align=[this.options.align,"left"].find(r=>r!=null),this.emptyError="",this.values={}}dispatch(e,r){let o=this.focused,a=o.parent||{};return!o.editable&&!a.editable&&(e==="a"||e==="i")?super[e]():AE.dispatch.call(this,e,r)}append(e,r){return AE.append.call(this,e,r)}delete(e,r){return AE.delete.call(this,e,r)}space(e){return this.focused.editable?this.append(e):super.space()}number(e){return this.focused.editable?this.append(e):super.number(e)}next(){return this.focused.editable?AE.next.call(this):super.next()}prev(){return this.focused.editable?AE.prev.call(this):super.prev()}async indicator(e,r){let o=e.indicator||"",a=e.editable?o:super.indicator(e,r);return await this.resolve(a,this.state,e,r)||""}indent(e){return e.role==="heading"?"":e.editable?" ":" "}async renderChoice(e,r){return e.indent="",e.editable?AE.renderChoice.call(this,e,r):super.renderChoice(e,r)}error(){return""}footer(){return this.state.error}async validate(){let e=!0;for(let r of this.choices){if(typeof r.validate!="function"||r.role==="heading")continue;let o=r.parent?this.value[r.parent.name]:this.value;if(r.editable?o=r.value===r.name?r.initial||"":r.value:this.isDisabled(r)||(o=r.enabled===!0),e=await r.validate(o,this.state),e!==!0)break}return e!==!0&&(this.state.error=typeof e=="string"?e:"Invalid Input"),e}submit(){if(this.focused.newChoice===!0)return super.submit();if(this.choices.some(e=>e.newChoice))return this.alert();this.value={};for(let e of this.choices){let r=e.parent?this.value[e.parent.name]:this.value;if(e.role==="heading"){this.value[e.name]={};continue}e.editable?r[e.name]=e.value===e.name?e.initial||"":e.value:this.isDisabled(e)||(r[e.name]=e.enabled===!0)}return this.base.submit.call(this)}};L0e.exports=__});var Vg=_((X8t,M0e)=>{"use strict";var wft=uE(),Bft=N_(),{isPrimitive:vft}=bo(),H_=class extends wft{constructor(e){super(e),this.initial=vft(this.initial)?String(this.initial):"",this.initial&&this.cursorHide(),this.state.prevCursor=0,this.state.clipboard=[]}async keypress(e,r={}){let o=this.state.prevKeypress;return this.state.prevKeypress=r,this.options.multiline===!0&&r.name==="return"&&(!o||o.name!=="return")?this.append(` +`,r):super.keypress(e,r)}moveCursor(e){this.cursor+=e}reset(){return this.input=this.value="",this.cursor=0,this.render()}dispatch(e,r){if(!e||r.ctrl||r.code)return this.alert();this.append(e)}append(e){let{cursor:r,input:o}=this.state;this.input=`${o}`.slice(0,r)+e+`${o}`.slice(r),this.moveCursor(String(e).length),this.render()}insert(e){this.append(e)}delete(){let{cursor:e,input:r}=this.state;if(e<=0)return this.alert();this.input=`${r}`.slice(0,e-1)+`${r}`.slice(e),this.moveCursor(-1),this.render()}deleteForward(){let{cursor:e,input:r}=this.state;if(r[e]===void 0)return this.alert();this.input=`${r}`.slice(0,e)+`${r}`.slice(e+1),this.render()}cutForward(){let e=this.cursor;if(this.input.length<=e)return this.alert();this.state.clipboard.push(this.input.slice(e)),this.input=this.input.slice(0,e),this.render()}cutLeft(){let e=this.cursor;if(e===0)return this.alert();let r=this.input.slice(0,e),o=this.input.slice(e),a=r.split(" ");this.state.clipboard.push(a.pop()),this.input=a.join(" "),this.cursor=this.input.length,this.input+=o,this.render()}paste(){if(!this.state.clipboard.length)return this.alert();this.insert(this.state.clipboard.pop()),this.render()}toggleCursor(){this.state.prevCursor?(this.cursor=this.state.prevCursor,this.state.prevCursor=0):(this.state.prevCursor=this.cursor,this.cursor=0),this.render()}first(){this.cursor=0,this.render()}last(){this.cursor=this.input.length-1,this.render()}next(){let e=this.initial!=null?String(this.initial):"";if(!e||!e.startsWith(this.input))return this.alert();this.input=this.initial,this.cursor=this.initial.length,this.render()}prev(){if(!this.input)return this.alert();this.reset()}backward(){return this.left()}forward(){return this.right()}right(){return this.cursor>=this.input.length?this.alert():(this.moveCursor(1),this.render())}left(){return this.cursor<=0?this.alert():(this.moveCursor(-1),this.render())}isValue(e){return!!e}async format(e=this.value){let r=await this.resolve(this.initial,this.state);return this.state.submitted?this.styles.submitted(e||r):Bft(this,{input:e,initial:r,pos:this.cursor})}async render(){let e=this.state.size,r=await this.prefix(),o=await this.separator(),a=await this.message(),n=[r,a,o].filter(Boolean).join(" ");this.state.prompt=n;let u=await this.header(),A=await this.format(),p=await this.error()||await this.hint(),h=await this.footer();p&&!A.includes(p)&&(A+=" "+p),n+=" "+A,this.clear(e),this.write([u,n,h].filter(Boolean).join(` +`)),this.restore()}};M0e.exports=H_});var _0e=_((Z8t,U0e)=>{"use strict";var Dft=t=>t.filter((e,r)=>t.lastIndexOf(e)===r),qk=t=>Dft(t).filter(Boolean);U0e.exports=(t,e={},r="")=>{let{past:o=[],present:a=""}=e,n,u;switch(t){case"prev":case"undo":return n=o.slice(0,o.length-1),u=o[o.length-1]||"",{past:qk([r,...n]),present:u};case"next":case"redo":return n=o.slice(1),u=o[0]||"",{past:qk([...n,r]),present:u};case"save":return{past:qk([...o,r]),present:""};case"remove":return u=qk(o.filter(A=>A!==r)),a="",u.length&&(a=u.pop()),{past:u,present:a};default:throw new Error(`Invalid action: "${t}"`)}}});var j_=_(($8t,q0e)=>{"use strict";var Pft=Vg(),H0e=_0e(),q_=class extends Pft{constructor(e){super(e);let r=this.options.history;if(r&&r.store){let o=r.values||this.initial;this.autosave=!!r.autosave,this.store=r.store,this.data=this.store.get("values")||{past:[],present:o},this.initial=this.data.present||this.data.past[this.data.past.length-1]}}completion(e){return this.store?(this.data=H0e(e,this.data,this.input),this.data.present?(this.input=this.data.present,this.cursor=this.input.length,this.render()):this.alert()):this.alert()}altUp(){return this.completion("prev")}altDown(){return this.completion("next")}prev(){return this.save(),super.prev()}save(){this.store&&(this.data=H0e("save",this.data,this.input),this.store.set("values",this.data))}submit(){return this.store&&this.autosave===!0&&this.save(),super.submit()}};q0e.exports=q_});var G0e=_((e_t,j0e)=>{"use strict";var Sft=Vg(),G_=class extends Sft{format(){return""}};j0e.exports=G_});var Y0e=_((t_t,W0e)=>{"use strict";var bft=Vg(),W_=class extends bft{constructor(e={}){super(e),this.sep=this.options.separator||/, */,this.initial=e.initial||""}split(e=this.value){return e?String(e).split(this.sep):[]}format(){let e=this.state.submitted?this.styles.primary:r=>r;return this.list.map(e).join(", ")}async submit(e){let r=this.state.error||await this.validate(this.list,this.state);return r!==!0?(this.state.error=r,super.submit()):(this.value=this.list,super.submit())}get list(){return this.split()}};W0e.exports=W_});var V0e=_((r_t,K0e)=>{"use strict";var xft=Qh(),Y_=class extends xft{constructor(e){super({...e,multiple:!0})}};K0e.exports=Y_});var V_=_((n_t,J0e)=>{"use strict";var kft=Vg(),K_=class extends kft{constructor(e={}){super({style:"number",...e}),this.min=this.isValue(e.min)?this.toNumber(e.min):-1/0,this.max=this.isValue(e.max)?this.toNumber(e.max):1/0,this.delay=e.delay!=null?e.delay:1e3,this.float=e.float!==!1,this.round=e.round===!0||e.float===!1,this.major=e.major||10,this.minor=e.minor||1,this.initial=e.initial!=null?e.initial:"",this.input=String(this.initial),this.cursor=this.input.length,this.cursorShow()}append(e){return!/[-+.]/.test(e)||e==="."&&this.input.includes(".")?this.alert("invalid number"):super.append(e)}number(e){return super.append(e)}next(){return this.input&&this.input!==this.initial?this.alert():this.isValue(this.initial)?(this.input=this.initial,this.cursor=String(this.initial).length,this.render()):this.alert()}up(e){let r=e||this.minor,o=this.toNumber(this.input);return o>this.max+r?this.alert():(this.input=`${o+r}`,this.render())}down(e){let r=e||this.minor,o=this.toNumber(this.input);return o<this.min-r?this.alert():(this.input=`${o-r}`,this.render())}shiftDown(){return this.down(this.major)}shiftUp(){return this.up(this.major)}format(e=this.input){return typeof this.options.format=="function"?this.options.format.call(this,e):this.styles.info(e)}toNumber(e=""){return this.float?+e:Math.round(+e)}isValue(e){return/^[-+]?[0-9]+((\.)|(\.[0-9]+))?$/.test(e)}submit(){let e=[this.input,this.initial].find(r=>this.isValue(r));return this.value=this.toNumber(e||0),super.submit()}};J0e.exports=K_});var X0e=_((i_t,z0e)=>{z0e.exports=V_()});var $0e=_((s_t,Z0e)=>{"use strict";var Qft=Vg(),J_=class extends Qft{constructor(e){super(e),this.cursorShow()}format(e=this.input){return this.keypressed?(this.state.submitted?this.styles.primary:this.styles.muted)(this.symbols.asterisk.repeat(e.length)):""}};Z0e.exports=J_});var rge=_((o_t,tge)=>{"use strict";var Fft=eu(),Rft=x2(),ege=bo(),z_=class extends Rft{constructor(e={}){super(e),this.widths=[].concat(e.messageWidth||50),this.align=[].concat(e.align||"left"),this.linebreak=e.linebreak||!1,this.edgeLength=e.edgeLength||3,this.newline=e.newline||` + `;let r=e.startNumber||1;typeof this.scale=="number"&&(this.scaleKey=!1,this.scale=Array(this.scale).fill(0).map((o,a)=>({name:a+r})))}async reset(){return this.tableized=!1,await super.reset(),this.render()}tableize(){if(this.tableized===!0)return;this.tableized=!0;let e=0;for(let r of this.choices){e=Math.max(e,r.message.length),r.scaleIndex=r.initial||2,r.scale=[];for(let o=0;o<this.scale.length;o++)r.scale.push({index:o})}this.widths[0]=Math.min(this.widths[0],e+3)}async dispatch(e,r){if(this.multiple)return this[r.name]?await this[r.name](e,r):await super.dispatch(e,r);this.alert()}heading(e,r,o){return this.styles.strong(e)}separator(){return this.styles.muted(this.symbols.ellipsis)}right(){let e=this.focused;return e.scaleIndex>=this.scale.length-1?this.alert():(e.scaleIndex++,this.render())}left(){let e=this.focused;return e.scaleIndex<=0?this.alert():(e.scaleIndex--,this.render())}indent(){return""}format(){return this.state.submitted?this.choices.map(r=>this.styles.info(r.index)).join(", "):""}pointer(){return""}renderScaleKey(){return this.scaleKey===!1||this.state.submitted?"":["",...this.scale.map(o=>` ${o.name} - ${o.message}`)].map(o=>this.styles.muted(o)).join(` +`)}renderScaleHeading(e){let r=this.scale.map(p=>p.name);typeof this.options.renderScaleHeading=="function"&&(r=this.options.renderScaleHeading.call(this,e));let o=this.scaleLength-r.join("").length,a=Math.round(o/(r.length-1)),u=r.map(p=>this.styles.strong(p)).join(" ".repeat(a)),A=" ".repeat(this.widths[0]);return this.margin[3]+A+this.margin[1]+u}scaleIndicator(e,r,o){if(typeof this.options.scaleIndicator=="function")return this.options.scaleIndicator.call(this,e,r,o);let a=e.scaleIndex===r.index;return r.disabled?this.styles.hint(this.symbols.radio.disabled):a?this.styles.success(this.symbols.radio.on):this.symbols.radio.off}renderScale(e,r){let o=e.scale.map(n=>this.scaleIndicator(e,n,r)),a=this.term==="Hyper"?"":" ";return o.join(a+this.symbols.line.repeat(this.edgeLength))}async renderChoice(e,r){await this.onChoice(e,r);let o=this.index===r,a=await this.pointer(e,r),n=await e.hint;n&&!ege.hasColor(n)&&(n=this.styles.muted(n));let u=C=>this.margin[3]+C.replace(/\s+$/,"").padEnd(this.widths[0]," "),A=this.newline,p=this.indent(e),h=await this.resolve(e.message,this.state,e,r),E=await this.renderScale(e,r),w=this.margin[1]+this.margin[3];this.scaleLength=Fft.unstyle(E).length,this.widths[0]=Math.min(this.widths[0],this.width-this.scaleLength-w.length);let x=ege.wordWrap(h,{width:this.widths[0],newline:A}).split(` +`).map(C=>u(C)+this.margin[1]);return o&&(E=this.styles.info(E),x=x.map(C=>this.styles.info(C))),x[0]+=E,this.linebreak&&x.push(""),[p+a,x.join(` +`)].filter(Boolean)}async renderChoices(){if(this.state.submitted)return"";this.tableize();let e=this.visible.map(async(a,n)=>await this.renderChoice(a,n)),r=await Promise.all(e),o=await this.renderScaleHeading();return this.margin[0]+[o,...r.map(a=>a.join(" "))].join(` +`)}async render(){let{submitted:e,size:r}=this.state,o=await this.prefix(),a=await this.separator(),n=await this.message(),u="";this.options.promptLine!==!1&&(u=[o,n,a,""].join(" "),this.state.prompt=u);let A=await this.header(),p=await this.format(),h=await this.renderScaleKey(),E=await this.error()||await this.hint(),w=await this.renderChoices(),D=await this.footer(),x=this.emptyError;p&&(u+=p),E&&!u.includes(E)&&(u+=" "+E),e&&!p&&!w.trim()&&this.multiple&&x!=null&&(u+=this.styles.danger(x)),this.clear(r),this.write([A,u,h,w,D].filter(Boolean).join(` +`)),this.state.submitted||this.write(this.margin[2]),this.restore()}submit(){this.value={};for(let e of this.choices)this.value[e.name]=e.scaleIndex;return this.base.submit.call(this)}};tge.exports=z_});var sge=_((a_t,ige)=>{"use strict";var nge=eu(),Tft=(t="")=>typeof t=="string"?t.replace(/^['"]|['"]$/g,""):"",Z_=class{constructor(e){this.name=e.key,this.field=e.field||{},this.value=Tft(e.initial||this.field.initial||""),this.message=e.message||this.name,this.cursor=0,this.input="",this.lines=[]}},Nft=async(t={},e={},r=o=>o)=>{let o=new Set,a=t.fields||[],n=t.template,u=[],A=[],p=[],h=1;typeof n=="function"&&(n=await n());let E=-1,w=()=>n[++E],D=()=>n[E+1],x=C=>{C.line=h,u.push(C)};for(x({type:"bos",value:""});E<n.length-1;){let C=w();if(/^[^\S\n ]$/.test(C)){x({type:"text",value:C});continue}if(C===` +`){x({type:"newline",value:C}),h++;continue}if(C==="\\"){C+=w(),x({type:"text",value:C});continue}if((C==="$"||C==="#"||C==="{")&&D()==="{"){let L=w();C+=L;let U={type:"template",open:C,inner:"",close:"",value:C},J;for(;J=w();){if(J==="}"){D()==="}"&&(J+=w()),U.value+=J,U.close=J;break}J===":"?(U.initial="",U.key=U.inner):U.initial!==void 0&&(U.initial+=J),U.value+=J,U.inner+=J}U.template=U.open+(U.initial||U.inner)+U.close,U.key=U.key||U.inner,e.hasOwnProperty(U.key)&&(U.initial=e[U.key]),U=r(U),x(U),p.push(U.key),o.add(U.key);let te=A.find(le=>le.name===U.key);U.field=a.find(le=>le.name===U.key),te||(te=new Z_(U),A.push(te)),te.lines.push(U.line-1);continue}let T=u[u.length-1];T.type==="text"&&T.line===h?T.value+=C:x({type:"text",value:C})}return x({type:"eos",value:""}),{input:n,tabstops:u,unique:o,keys:p,items:A}};ige.exports=async t=>{let e=t.options,r=new Set(e.required===!0?[]:e.required||[]),o={...e.values,...e.initial},{tabstops:a,items:n,keys:u}=await Nft(e,o),A=X_("result",t,e),p=X_("format",t,e),h=X_("validate",t,e,!0),E=t.isValue.bind(t);return async(w={},D=!1)=>{let x=0;w.required=r,w.items=n,w.keys=u,w.output="";let C=async(J,te,le,ce)=>{let ue=await h(J,te,le,ce);return ue===!1?"Invalid field "+le.name:ue};for(let J of a){let te=J.value,le=J.key;if(J.type!=="template"){te&&(w.output+=te);continue}if(J.type==="template"){let ce=n.find(Ee=>Ee.name===le);e.required===!0&&w.required.add(ce.name);let ue=[ce.input,w.values[ce.value],ce.value,te].find(E),he=(ce.field||{}).message||J.inner;if(D){let Ee=await C(w.values[le],w,ce,x);if(Ee&&typeof Ee=="string"||Ee===!1){w.invalid.set(le,Ee);continue}w.invalid.delete(le);let g=await A(w.values[le],w,ce,x);w.output+=nge.unstyle(g);continue}ce.placeholder=!1;let De=te;te=await p(te,w,ce,x),ue!==te?(w.values[le]=ue,te=t.styles.typing(ue),w.missing.delete(he)):(w.values[le]=void 0,ue=`<${he}>`,te=t.styles.primary(ue),ce.placeholder=!0,w.required.has(le)&&w.missing.add(he)),w.missing.has(he)&&w.validating&&(te=t.styles.warning(ue)),w.invalid.has(le)&&w.validating&&(te=t.styles.danger(ue)),x===w.index&&(De!==te?te=t.styles.underline(te):te=t.styles.heading(nge.unstyle(te))),x++}te&&(w.output+=te)}let T=w.output.split(` +`).map(J=>" "+J),L=n.length,U=0;for(let J of n)w.invalid.has(J.name)&&J.lines.forEach(te=>{T[te][0]===" "&&(T[te]=w.styles.danger(w.symbols.bullet)+T[te].slice(1))}),t.isValue(w.values[J.name])&&U++;return w.completed=(U/L*100).toFixed(0),w.output=T.join(` +`),w.output}};function X_(t,e,r,o){return(a,n,u,A)=>typeof u.field[t]=="function"?u.field[t].call(e,a,n,u,A):[o,a].find(p=>e.isValue(p))}});var age=_((l_t,oge)=>{"use strict";var Lft=eu(),Oft=sge(),Mft=uE(),$_=class extends Mft{constructor(e){super(e),this.cursorHide(),this.reset(!0)}async initialize(){this.interpolate=await Oft(this),await super.initialize()}async reset(e){this.state.keys=[],this.state.invalid=new Map,this.state.missing=new Set,this.state.completed=0,this.state.values={},e!==!0&&(await this.initialize(),await this.render())}moveCursor(e){let r=this.getItem();this.cursor+=e,r.cursor+=e}dispatch(e,r){if(!r.code&&!r.ctrl&&e!=null&&this.getItem()){this.append(e,r);return}this.alert()}append(e,r){let o=this.getItem(),a=o.input.slice(0,this.cursor),n=o.input.slice(this.cursor);this.input=o.input=`${a}${e}${n}`,this.moveCursor(1),this.render()}delete(){let e=this.getItem();if(this.cursor<=0||!e.input)return this.alert();let r=e.input.slice(this.cursor),o=e.input.slice(0,this.cursor-1);this.input=e.input=`${o}${r}`,this.moveCursor(-1),this.render()}increment(e){return e>=this.state.keys.length-1?0:e+1}decrement(e){return e<=0?this.state.keys.length-1:e-1}first(){this.state.index=0,this.render()}last(){this.state.index=this.state.keys.length-1,this.render()}right(){if(this.cursor>=this.input.length)return this.alert();this.moveCursor(1),this.render()}left(){if(this.cursor<=0)return this.alert();this.moveCursor(-1),this.render()}prev(){this.state.index=this.decrement(this.state.index),this.getItem(),this.render()}next(){this.state.index=this.increment(this.state.index),this.getItem(),this.render()}up(){this.prev()}down(){this.next()}format(e){let r=this.state.completed<100?this.styles.warning:this.styles.success;return this.state.submitted===!0&&this.state.completed!==100&&(r=this.styles.danger),r(`${this.state.completed}% completed`)}async render(){let{index:e,keys:r=[],submitted:o,size:a}=this.state,n=[this.options.newline,` +`].find(J=>J!=null),u=await this.prefix(),A=await this.separator(),p=await this.message(),h=[u,p,A].filter(Boolean).join(" ");this.state.prompt=h;let E=await this.header(),w=await this.error()||"",D=await this.hint()||"",x=o?"":await this.interpolate(this.state),C=this.state.key=r[e]||"",T=await this.format(C),L=await this.footer();T&&(h+=" "+T),D&&!T&&this.state.completed===0&&(h+=" "+D),this.clear(a);let U=[E,h,x,L,w.trim()];this.write(U.filter(Boolean).join(n)),this.restore()}getItem(e){let{items:r,keys:o,index:a}=this.state,n=r.find(u=>u.name===o[a]);return n&&n.input!=null&&(this.input=n.input,this.cursor=n.cursor),n}async submit(){typeof this.interpolate!="function"&&await this.initialize(),await this.interpolate(this.state,!0);let{invalid:e,missing:r,output:o,values:a}=this.state;if(e.size){let A="";for(let[p,h]of e)A+=`Invalid ${p}: ${h} +`;return this.state.error=A,super.submit()}if(r.size)return this.state.error="Required: "+[...r.keys()].join(", "),super.submit();let u=Lft.unstyle(o).split(` +`).map(A=>A.slice(1)).join(` +`);return this.value={values:a,result:u},super.submit()}};oge.exports=$_});var cge=_((c_t,lge)=>{"use strict";var Uft="(Use <shift>+<up/down> to sort)",_ft=Qh(),eH=class extends _ft{constructor(e){super({...e,reorder:!1,sort:!0,multiple:!0}),this.state.hint=[this.options.hint,Uft].find(this.isValue.bind(this))}indicator(){return""}async renderChoice(e,r){let o=await super.renderChoice(e,r),a=this.symbols.identicalTo+" ",n=this.index===r&&this.sorting?this.styles.muted(a):" ";return this.options.drag===!1&&(n=""),this.options.numbered===!0?n+`${r+1} - `+o:n+o}get selected(){return this.choices}submit(){return this.value=this.choices.map(e=>e.value),super.submit()}};lge.exports=eH});var Age=_((u_t,uge)=>{"use strict";var Hft=x2(),tH=class extends Hft{constructor(e={}){if(super(e),this.emptyError=e.emptyError||"No items were selected",this.term=process.env.TERM_PROGRAM,!this.options.header){let r=["","4 - Strongly Agree","3 - Agree","2 - Neutral","1 - Disagree","0 - Strongly Disagree",""];r=r.map(o=>this.styles.muted(o)),this.state.header=r.join(` + `)}}async toChoices(...e){if(this.createdScales)return!1;this.createdScales=!0;let r=await super.toChoices(...e);for(let o of r)o.scale=qft(5,this.options),o.scaleIdx=2;return r}dispatch(){this.alert()}space(){let e=this.focused,r=e.scale[e.scaleIdx],o=r.selected;return e.scale.forEach(a=>a.selected=!1),r.selected=!o,this.render()}indicator(){return""}pointer(){return""}separator(){return this.styles.muted(this.symbols.ellipsis)}right(){let e=this.focused;return e.scaleIdx>=e.scale.length-1?this.alert():(e.scaleIdx++,this.render())}left(){let e=this.focused;return e.scaleIdx<=0?this.alert():(e.scaleIdx--,this.render())}indent(){return" "}async renderChoice(e,r){await this.onChoice(e,r);let o=this.index===r,a=this.term==="Hyper",n=a?9:8,u=a?"":" ",A=this.symbols.line.repeat(n),p=" ".repeat(n+(a?0:1)),h=te=>(te?this.styles.success("\u25C9"):"\u25EF")+u,E=r+1+".",w=o?this.styles.heading:this.styles.noop,D=await this.resolve(e.message,this.state,e,r),x=this.indent(e),C=x+e.scale.map((te,le)=>h(le===e.scaleIdx)).join(A),T=te=>te===e.scaleIdx?w(te):te,L=x+e.scale.map((te,le)=>T(le)).join(p),U=()=>[E,D].filter(Boolean).join(" "),J=()=>[U(),C,L," "].filter(Boolean).join(` +`);return o&&(C=this.styles.cyan(C),L=this.styles.cyan(L)),J()}async renderChoices(){if(this.state.submitted)return"";let e=this.visible.map(async(o,a)=>await this.renderChoice(o,a)),r=await Promise.all(e);return r.length||r.push(this.styles.danger("No matching choices")),r.join(` +`)}format(){return this.state.submitted?this.choices.map(r=>this.styles.info(r.scaleIdx)).join(", "):""}async render(){let{submitted:e,size:r}=this.state,o=await this.prefix(),a=await this.separator(),n=await this.message(),u=[o,n,a].filter(Boolean).join(" ");this.state.prompt=u;let A=await this.header(),p=await this.format(),h=await this.error()||await this.hint(),E=await this.renderChoices(),w=await this.footer();(p||!h)&&(u+=" "+p),h&&!u.includes(h)&&(u+=" "+h),e&&!p&&!E&&this.multiple&&this.type!=="form"&&(u+=this.styles.danger(this.emptyError)),this.clear(r),this.write([u,A,E,w].filter(Boolean).join(` +`)),this.restore()}submit(){this.value={};for(let e of this.choices)this.value[e.name]=e.scaleIdx;return this.base.submit.call(this)}};function qft(t,e={}){if(Array.isArray(e.scale))return e.scale.map(o=>({...o}));let r=[];for(let o=1;o<t+1;o++)r.push({i:o,selected:!1});return r}uge.exports=tH});var pge=_((A_t,fge)=>{fge.exports=j_()});var gge=_((f_t,hge)=>{"use strict";var jft=Hk(),rH=class extends jft{async initialize(){await super.initialize(),this.value=this.initial=!!this.options.initial,this.disabled=this.options.disabled||"no",this.enabled=this.options.enabled||"yes",await this.render()}reset(){this.value=this.initial,this.render()}delete(){this.alert()}toggle(){this.value=!this.value,this.render()}enable(){if(this.value===!0)return this.alert();this.value=!0,this.render()}disable(){if(this.value===!1)return this.alert();this.value=!1,this.render()}up(){this.toggle()}down(){this.toggle()}right(){this.toggle()}left(){this.toggle()}next(){this.toggle()}prev(){this.toggle()}dispatch(e="",r){switch(e.toLowerCase()){case" ":return this.toggle();case"1":case"y":case"t":return this.enable();case"0":case"n":case"f":return this.disable();default:return this.alert()}}format(){let e=o=>this.styles.primary.underline(o);return[this.value?this.disabled:e(this.disabled),this.value?e(this.enabled):this.enabled].join(this.styles.muted(" / "))}async render(){let{size:e}=this.state,r=await this.header(),o=await this.prefix(),a=await this.separator(),n=await this.message(),u=await this.format(),A=await this.error()||await this.hint(),p=await this.footer(),h=[o,n,a,u].join(" ");this.state.prompt=h,A&&!h.includes(A)&&(h+=" "+A),this.clear(e),this.write([r,h,p].filter(Boolean).join(` +`)),this.write(this.margin[2]),this.restore()}};hge.exports=rH});var mge=_((p_t,dge)=>{"use strict";var Gft=Qh(),nH=class extends Gft{constructor(e){if(super(e),typeof this.options.correctChoice!="number"||this.options.correctChoice<0)throw new Error("Please specify the index of the correct answer from the list of choices")}async toChoices(e,r){let o=await super.toChoices(e,r);if(o.length<2)throw new Error("Please give at least two choices to the user");if(this.options.correctChoice>o.length)throw new Error("Please specify the index of the correct answer from the list of choices");return o}check(e){return e.index===this.options.correctChoice}async result(e){return{selectedAnswer:e,correctAnswer:this.options.choices[this.options.correctChoice].value,correct:await this.check(this.state)}}};dge.exports=nH});var Ege=_(iH=>{"use strict";var yge=bo(),fs=(t,e)=>{yge.defineExport(iH,t,e),yge.defineExport(iH,t.toLowerCase(),e)};fs("AutoComplete",()=>D0e());fs("BasicAuth",()=>F0e());fs("Confirm",()=>N0e());fs("Editable",()=>O0e());fs("Form",()=>_k());fs("Input",()=>j_());fs("Invisible",()=>G0e());fs("List",()=>Y0e());fs("MultiSelect",()=>V0e());fs("Numeral",()=>X0e());fs("Password",()=>$0e());fs("Scale",()=>rge());fs("Select",()=>Qh());fs("Snippet",()=>age());fs("Sort",()=>cge());fs("Survey",()=>Age());fs("Text",()=>pge());fs("Toggle",()=>gge());fs("Quiz",()=>mge())});var Ige=_((g_t,Cge)=>{Cge.exports={ArrayPrompt:x2(),AuthPrompt:O_(),BooleanPrompt:Hk(),NumberPrompt:V_(),StringPrompt:Vg()}});var Q2=_((d_t,Bge)=>{"use strict";var wge=ve("assert"),oH=ve("events"),Fh=bo(),ru=class extends oH{constructor(e,r){super(),this.options=Fh.merge({},e),this.answers={...r}}register(e,r){if(Fh.isObject(e)){for(let a of Object.keys(e))this.register(a,e[a]);return this}wge.equal(typeof r,"function","expected a function");let o=e.toLowerCase();return r.prototype instanceof this.Prompt?this.prompts[o]=r:this.prompts[o]=r(this.Prompt,this),this}async prompt(e=[]){for(let r of[].concat(e))try{typeof r=="function"&&(r=await r.call(this)),await this.ask(Fh.merge({},this.options,r))}catch(o){return Promise.reject(o)}return this.answers}async ask(e){typeof e=="function"&&(e=await e.call(this));let r=Fh.merge({},this.options,e),{type:o,name:a}=e,{set:n,get:u}=Fh;if(typeof o=="function"&&(o=await o.call(this,e,this.answers)),!o)return this.answers[a];wge(this.prompts[o],`Prompt "${o}" is not registered`);let A=new this.prompts[o](r),p=u(this.answers,a);A.state.answers=this.answers,A.enquirer=this,a&&A.on("submit",E=>{this.emit("answer",a,E,A),n(this.answers,a,E)});let h=A.emit.bind(A);return A.emit=(...E)=>(this.emit.call(this,...E),h(...E)),this.emit("prompt",A,this),r.autofill&&p!=null?(A.value=A.input=p,r.autofill==="show"&&await A.submit()):p=A.value=await A.run(),p}use(e){return e.call(this,this),this}set Prompt(e){this._Prompt=e}get Prompt(){return this._Prompt||this.constructor.Prompt}get prompts(){return this.constructor.prompts}static set Prompt(e){this._Prompt=e}static get Prompt(){return this._Prompt||uE()}static get prompts(){return Ege()}static get types(){return Ige()}static get prompt(){let e=(r,...o)=>{let a=new this(...o),n=a.emit.bind(a);return a.emit=(...u)=>(e.emit(...u),n(...u)),a.prompt(r)};return Fh.mixinEmitter(e,new oH),e}};Fh.mixinEmitter(ru,new oH);var sH=ru.prompts;for(let t of Object.keys(sH)){let e=t.toLowerCase(),r=o=>new sH[t](o).run();ru.prompt[e]=r,ru[e]=r,ru[t]||Reflect.defineProperty(ru,t,{get:()=>sH[t]})}var k2=t=>{Fh.defineExport(ru,t,()=>ru.types[t])};k2("ArrayPrompt");k2("AuthPrompt");k2("BooleanPrompt");k2("NumberPrompt");k2("StringPrompt");Bge.exports=ru});var N2=_((Z_t,kge)=>{var zft=xk();function Xft(t,e,r){var o=t==null?void 0:zft(t,e);return o===void 0?r:o}kge.exports=Xft});var Rge=_((iHt,Fge)=>{function Zft(t,e){for(var r=-1,o=t==null?0:t.length;++r<o&&e(t[r],r,t)!==!1;);return t}Fge.exports=Zft});var Nge=_((sHt,Tge)=>{var $ft=Eg(),ept=PS();function tpt(t,e){return t&&$ft(e,ept(e),t)}Tge.exports=tpt});var Oge=_((oHt,Lge)=>{var rpt=Eg(),npt=Vm();function ipt(t,e){return t&&rpt(e,npt(e),t)}Lge.exports=ipt});var Uge=_((aHt,Mge)=>{var spt=Eg(),opt=CS();function apt(t,e){return spt(t,opt(t),e)}Mge.exports=apt});var fH=_((lHt,_ge)=>{var lpt=ES(),cpt=QS(),upt=CS(),Apt=bL(),fpt=Object.getOwnPropertySymbols,ppt=fpt?function(t){for(var e=[];t;)lpt(e,upt(t)),t=cpt(t);return e}:Apt;_ge.exports=ppt});var qge=_((cHt,Hge)=>{var hpt=Eg(),gpt=fH();function dpt(t,e){return hpt(t,gpt(t),e)}Hge.exports=dpt});var pH=_((uHt,jge)=>{var mpt=SL(),ypt=fH(),Ept=Vm();function Cpt(t){return mpt(t,Ept,ypt)}jge.exports=Cpt});var Wge=_((AHt,Gge)=>{var Ipt=Object.prototype,wpt=Ipt.hasOwnProperty;function Bpt(t){var e=t.length,r=new t.constructor(e);return e&&typeof t[0]=="string"&&wpt.call(t,"index")&&(r.index=t.index,r.input=t.input),r}Gge.exports=Bpt});var Kge=_((fHt,Yge)=>{var vpt=xS();function Dpt(t,e){var r=e?vpt(t.buffer):t.buffer;return new t.constructor(r,t.byteOffset,t.byteLength)}Yge.exports=Dpt});var Jge=_((pHt,Vge)=>{var Ppt=/\w*$/;function Spt(t){var e=new t.constructor(t.source,Ppt.exec(t));return e.lastIndex=t.lastIndex,e}Vge.exports=Spt});var ede=_((hHt,$ge)=>{var zge=dg(),Xge=zge?zge.prototype:void 0,Zge=Xge?Xge.valueOf:void 0;function bpt(t){return Zge?Object(Zge.call(t)):{}}$ge.exports=bpt});var rde=_((gHt,tde)=>{var xpt=xS(),kpt=Kge(),Qpt=Jge(),Fpt=ede(),Rpt=qL(),Tpt="[object Boolean]",Npt="[object Date]",Lpt="[object Map]",Opt="[object Number]",Mpt="[object RegExp]",Upt="[object Set]",_pt="[object String]",Hpt="[object Symbol]",qpt="[object ArrayBuffer]",jpt="[object DataView]",Gpt="[object Float32Array]",Wpt="[object Float64Array]",Ypt="[object Int8Array]",Kpt="[object Int16Array]",Vpt="[object Int32Array]",Jpt="[object Uint8Array]",zpt="[object Uint8ClampedArray]",Xpt="[object Uint16Array]",Zpt="[object Uint32Array]";function $pt(t,e,r){var o=t.constructor;switch(e){case qpt:return xpt(t);case Tpt:case Npt:return new o(+t);case jpt:return kpt(t,r);case Gpt:case Wpt:case Ypt:case Kpt:case Vpt:case Jpt:case zpt:case Xpt:case Zpt:return Rpt(t,r);case Lpt:return new o;case Opt:case _pt:return new o(t);case Mpt:return Qpt(t);case Upt:return new o;case Hpt:return Fpt(t)}}tde.exports=$pt});var ide=_((dHt,nde)=>{var eht=a1(),tht=Zu(),rht="[object Map]";function nht(t){return tht(t)&&eht(t)==rht}nde.exports=nht});var lde=_((mHt,ade)=>{var iht=ide(),sht=wS(),sde=BS(),ode=sde&&sde.isMap,oht=ode?sht(ode):iht;ade.exports=oht});var ude=_((yHt,cde)=>{var aht=a1(),lht=Zu(),cht="[object Set]";function uht(t){return lht(t)&&aht(t)==cht}cde.exports=uht});var hde=_((EHt,pde)=>{var Aht=ude(),fht=wS(),Ade=BS(),fde=Ade&&Ade.isSet,pht=fde?fht(fde):Aht;pde.exports=pht});var hH=_((CHt,yde)=>{var hht=mS(),ght=Rge(),dht=RS(),mht=Nge(),yht=Oge(),Eht=HL(),Cht=kS(),Iht=Uge(),wht=qge(),Bht=FL(),vht=pH(),Dht=a1(),Pht=Wge(),Sht=rde(),bht=jL(),xht=jl(),kht=r1(),Qht=lde(),Fht=cl(),Rht=hde(),Tht=PS(),Nht=Vm(),Lht=1,Oht=2,Mht=4,gde="[object Arguments]",Uht="[object Array]",_ht="[object Boolean]",Hht="[object Date]",qht="[object Error]",dde="[object Function]",jht="[object GeneratorFunction]",Ght="[object Map]",Wht="[object Number]",mde="[object Object]",Yht="[object RegExp]",Kht="[object Set]",Vht="[object String]",Jht="[object Symbol]",zht="[object WeakMap]",Xht="[object ArrayBuffer]",Zht="[object DataView]",$ht="[object Float32Array]",e0t="[object Float64Array]",t0t="[object Int8Array]",r0t="[object Int16Array]",n0t="[object Int32Array]",i0t="[object Uint8Array]",s0t="[object Uint8ClampedArray]",o0t="[object Uint16Array]",a0t="[object Uint32Array]",Ai={};Ai[gde]=Ai[Uht]=Ai[Xht]=Ai[Zht]=Ai[_ht]=Ai[Hht]=Ai[$ht]=Ai[e0t]=Ai[t0t]=Ai[r0t]=Ai[n0t]=Ai[Ght]=Ai[Wht]=Ai[mde]=Ai[Yht]=Ai[Kht]=Ai[Vht]=Ai[Jht]=Ai[i0t]=Ai[s0t]=Ai[o0t]=Ai[a0t]=!0;Ai[qht]=Ai[dde]=Ai[zht]=!1;function Gk(t,e,r,o,a,n){var u,A=e&Lht,p=e&Oht,h=e&Mht;if(r&&(u=a?r(t,o,a,n):r(t)),u!==void 0)return u;if(!Fht(t))return t;var E=xht(t);if(E){if(u=Pht(t),!A)return Cht(t,u)}else{var w=Dht(t),D=w==dde||w==jht;if(kht(t))return Eht(t,A);if(w==mde||w==gde||D&&!a){if(u=p||D?{}:bht(t),!A)return p?wht(t,yht(u,t)):Iht(t,mht(u,t))}else{if(!Ai[w])return a?t:{};u=Sht(t,w,A)}}n||(n=new hht);var x=n.get(t);if(x)return x;n.set(t,u),Rht(t)?t.forEach(function(L){u.add(Gk(L,e,r,L,t,n))}):Qht(t)&&t.forEach(function(L,U){u.set(U,Gk(L,e,r,U,t,n))});var C=h?p?vht:Bht:p?Nht:Tht,T=E?void 0:C(t);return ght(T||t,function(L,U){T&&(U=L,L=t[U]),dht(u,U,Gk(L,e,r,U,t,n))}),u}yde.exports=Gk});var gH=_((IHt,Ede)=>{var l0t=hH(),c0t=1,u0t=4;function A0t(t){return l0t(t,c0t|u0t)}Ede.exports=A0t});var dH=_((wHt,Cde)=>{var f0t=o_();function p0t(t,e,r){return t==null?t:f0t(t,e,r)}Cde.exports=p0t});var Dde=_((bHt,vde)=>{var h0t=Object.prototype,g0t=h0t.hasOwnProperty;function d0t(t,e){return t!=null&&g0t.call(t,e)}vde.exports=d0t});var Sde=_((xHt,Pde)=>{var m0t=Dde(),y0t=a_();function E0t(t,e){return t!=null&&y0t(t,e,m0t)}Pde.exports=E0t});var xde=_((kHt,bde)=>{function C0t(t){var e=t==null?0:t.length;return e?t[e-1]:void 0}bde.exports=C0t});var Qde=_((QHt,kde)=>{var I0t=xk(),w0t=X4();function B0t(t,e){return e.length<2?t:I0t(t,w0t(e,0,-1))}kde.exports=B0t});var yH=_((FHt,Fde)=>{var v0t=Wg(),D0t=xde(),P0t=Qde(),S0t=nE();function b0t(t,e){return e=v0t(e,t),t=P0t(t,e),t==null||delete t[S0t(D0t(e))]}Fde.exports=b0t});var EH=_((RHt,Rde)=>{var x0t=yH();function k0t(t,e){return t==null?!0:x0t(t,e)}Rde.exports=k0t});var Mde=_((l6t,R0t)=>{R0t.exports={name:"@yarnpkg/cli",version:"4.6.0",license:"BSD-2-Clause",main:"./sources/index.ts",exports:{".":"./sources/index.ts","./polyfills":"./sources/polyfills.ts","./package.json":"./package.json"},dependencies:{"@yarnpkg/core":"workspace:^","@yarnpkg/fslib":"workspace:^","@yarnpkg/libzip":"workspace:^","@yarnpkg/parsers":"workspace:^","@yarnpkg/plugin-compat":"workspace:^","@yarnpkg/plugin-constraints":"workspace:^","@yarnpkg/plugin-dlx":"workspace:^","@yarnpkg/plugin-essentials":"workspace:^","@yarnpkg/plugin-exec":"workspace:^","@yarnpkg/plugin-file":"workspace:^","@yarnpkg/plugin-git":"workspace:^","@yarnpkg/plugin-github":"workspace:^","@yarnpkg/plugin-http":"workspace:^","@yarnpkg/plugin-init":"workspace:^","@yarnpkg/plugin-interactive-tools":"workspace:^","@yarnpkg/plugin-link":"workspace:^","@yarnpkg/plugin-nm":"workspace:^","@yarnpkg/plugin-npm":"workspace:^","@yarnpkg/plugin-npm-cli":"workspace:^","@yarnpkg/plugin-pack":"workspace:^","@yarnpkg/plugin-patch":"workspace:^","@yarnpkg/plugin-pnp":"workspace:^","@yarnpkg/plugin-pnpm":"workspace:^","@yarnpkg/plugin-stage":"workspace:^","@yarnpkg/plugin-typescript":"workspace:^","@yarnpkg/plugin-version":"workspace:^","@yarnpkg/plugin-workspace-tools":"workspace:^","@yarnpkg/shell":"workspace:^","ci-info":"^4.0.0",clipanion:"^4.0.0-rc.2",semver:"^7.1.2",tslib:"^2.4.0",typanion:"^3.14.0"},devDependencies:{"@types/semver":"^7.1.0","@yarnpkg/builder":"workspace:^","@yarnpkg/monorepo":"workspace:^","@yarnpkg/pnpify":"workspace:^"},peerDependencies:{"@yarnpkg/core":"workspace:^"},scripts:{postpack:"rm -rf lib",prepack:'run build:compile "$(pwd)"',"build:cli+hook":"run build:pnp:hook && builder build bundle","build:cli":"builder build bundle","run:cli":"builder run","update-local":"run build:cli --no-git-hash && rsync -a --delete bundles/ bin/"},publishConfig:{main:"./lib/index.js",bin:null,exports:{".":"./lib/index.js","./package.json":"./package.json"}},files:["/lib/**/*","!/lib/pluginConfiguration.*","!/lib/cli.*"],"@yarnpkg/builder":{bundles:{standard:["@yarnpkg/plugin-essentials","@yarnpkg/plugin-compat","@yarnpkg/plugin-constraints","@yarnpkg/plugin-dlx","@yarnpkg/plugin-exec","@yarnpkg/plugin-file","@yarnpkg/plugin-git","@yarnpkg/plugin-github","@yarnpkg/plugin-http","@yarnpkg/plugin-init","@yarnpkg/plugin-interactive-tools","@yarnpkg/plugin-link","@yarnpkg/plugin-nm","@yarnpkg/plugin-npm","@yarnpkg/plugin-npm-cli","@yarnpkg/plugin-pack","@yarnpkg/plugin-patch","@yarnpkg/plugin-pnp","@yarnpkg/plugin-pnpm","@yarnpkg/plugin-stage","@yarnpkg/plugin-typescript","@yarnpkg/plugin-version","@yarnpkg/plugin-workspace-tools"]}},repository:{type:"git",url:"ssh://git@github.com/yarnpkg/berry.git",directory:"packages/yarnpkg-cli"},engines:{node:">=18.12.0"}}});var bH=_((U5t,zde)=>{"use strict";zde.exports=function(e,r){r===!0&&(r=0);var o="";if(typeof e=="string")try{o=new URL(e).protocol}catch{}else e&&e.constructor===URL&&(o=e.protocol);var a=o.split(/\:|\+/).filter(Boolean);return typeof r=="number"?a[r]:a}});var Zde=_((_5t,Xde)=>{"use strict";var $0t=bH();function egt(t){var e={protocols:[],protocol:null,port:null,resource:"",host:"",user:"",password:"",pathname:"",hash:"",search:"",href:t,query:{},parse_failed:!1};try{var r=new URL(t);e.protocols=$0t(r),e.protocol=e.protocols[0],e.port=r.port,e.resource=r.hostname,e.host=r.host,e.user=r.username||"",e.password=r.password||"",e.pathname=r.pathname,e.hash=r.hash.slice(1),e.search=r.search.slice(1),e.href=r.href,e.query=Object.fromEntries(r.searchParams)}catch{e.protocols=["file"],e.protocol=e.protocols[0],e.port="",e.resource="",e.user="",e.pathname="",e.hash="",e.search="",e.href=t,e.query={},e.parse_failed=!0}return e}Xde.exports=egt});var tme=_((H5t,eme)=>{"use strict";var tgt=Zde();function rgt(t){return t&&typeof t=="object"&&"default"in t?t:{default:t}}var ngt=rgt(tgt),igt="text/plain",sgt="us-ascii",$de=(t,e)=>e.some(r=>r instanceof RegExp?r.test(t):r===t),ogt=(t,{stripHash:e})=>{let r=/^data:(?<type>[^,]*?),(?<data>[^#]*?)(?:#(?<hash>.*))?$/.exec(t);if(!r)throw new Error(`Invalid URL: ${t}`);let{type:o,data:a,hash:n}=r.groups,u=o.split(";");n=e?"":n;let A=!1;u[u.length-1]==="base64"&&(u.pop(),A=!0);let p=(u.shift()||"").toLowerCase(),E=[...u.map(w=>{let[D,x=""]=w.split("=").map(C=>C.trim());return D==="charset"&&(x=x.toLowerCase(),x===sgt)?"":`${D}${x?`=${x}`:""}`}).filter(Boolean)];return A&&E.push("base64"),(E.length>0||p&&p!==igt)&&E.unshift(p),`data:${E.join(";")},${A?a.trim():a}${n?`#${n}`:""}`};function agt(t,e){if(e={defaultProtocol:"http:",normalizeProtocol:!0,forceHttp:!1,forceHttps:!1,stripAuthentication:!0,stripHash:!1,stripTextFragment:!0,stripWWW:!0,removeQueryParameters:[/^utm_\w+/i],removeTrailingSlash:!0,removeSingleSlash:!0,removeDirectoryIndex:!1,sortQueryParameters:!0,...e},t=t.trim(),/^data:/i.test(t))return ogt(t,e);if(/^view-source:/i.test(t))throw new Error("`view-source:` is not supported as it is a non-standard protocol");let r=t.startsWith("//");!r&&/^\.*\//.test(t)||(t=t.replace(/^(?!(?:\w+:)?\/\/)|^\/\//,e.defaultProtocol));let a=new URL(t);if(e.forceHttp&&e.forceHttps)throw new Error("The `forceHttp` and `forceHttps` options cannot be used together");if(e.forceHttp&&a.protocol==="https:"&&(a.protocol="http:"),e.forceHttps&&a.protocol==="http:"&&(a.protocol="https:"),e.stripAuthentication&&(a.username="",a.password=""),e.stripHash?a.hash="":e.stripTextFragment&&(a.hash=a.hash.replace(/#?:~:text.*?$/i,"")),a.pathname){let u=/\b[a-z][a-z\d+\-.]{1,50}:\/\//g,A=0,p="";for(;;){let E=u.exec(a.pathname);if(!E)break;let w=E[0],D=E.index,x=a.pathname.slice(A,D);p+=x.replace(/\/{2,}/g,"/"),p+=w,A=D+w.length}let h=a.pathname.slice(A,a.pathname.length);p+=h.replace(/\/{2,}/g,"/"),a.pathname=p}if(a.pathname)try{a.pathname=decodeURI(a.pathname)}catch{}if(e.removeDirectoryIndex===!0&&(e.removeDirectoryIndex=[/^index\.[a-z]+$/]),Array.isArray(e.removeDirectoryIndex)&&e.removeDirectoryIndex.length>0){let u=a.pathname.split("/"),A=u[u.length-1];$de(A,e.removeDirectoryIndex)&&(u=u.slice(0,-1),a.pathname=u.slice(1).join("/")+"/")}if(a.hostname&&(a.hostname=a.hostname.replace(/\.$/,""),e.stripWWW&&/^www\.(?!www\.)[a-z\-\d]{1,63}\.[a-z.\-\d]{2,63}$/.test(a.hostname)&&(a.hostname=a.hostname.replace(/^www\./,""))),Array.isArray(e.removeQueryParameters))for(let u of[...a.searchParams.keys()])$de(u,e.removeQueryParameters)&&a.searchParams.delete(u);if(e.removeQueryParameters===!0&&(a.search=""),e.sortQueryParameters){a.searchParams.sort();try{a.search=decodeURIComponent(a.search)}catch{}}e.removeTrailingSlash&&(a.pathname=a.pathname.replace(/\/$/,""));let n=t;return t=a.toString(),!e.removeSingleSlash&&a.pathname==="/"&&!n.endsWith("/")&&a.hash===""&&(t=t.replace(/\/$/,"")),(e.removeTrailingSlash||a.pathname==="/")&&a.hash===""&&e.removeSingleSlash&&(t=t.replace(/\/$/,"")),r&&!e.normalizeProtocol&&(t=t.replace(/^http:\/\//,"//")),e.stripProtocol&&(t=t.replace(/^(?:https?:)?\/\//,"")),t}var xH=(t,e=!1)=>{let r=/^(?:([a-z_][a-z0-9_-]{0,31})@|https?:\/\/)([\w\.\-@]+)[\/:]([\~,\.\w,\-,\_,\/]+?(?:\.git|\/)?)$/,o=n=>{let u=new Error(n);throw u.subject_url=t,u};(typeof t!="string"||!t.trim())&&o("Invalid url."),t.length>xH.MAX_INPUT_LENGTH&&o("Input exceeds maximum length. If needed, change the value of parseUrl.MAX_INPUT_LENGTH."),e&&(typeof e!="object"&&(e={stripHash:!1}),t=agt(t,e));let a=ngt.default(t);if(a.parse_failed){let n=a.href.match(r);n?(a.protocols=["ssh"],a.protocol="ssh",a.resource=n[2],a.host=n[2],a.user=n[1],a.pathname=`/${n[3]}`,a.parse_failed=!1):o("URL parsing failed.")}return a};xH.MAX_INPUT_LENGTH=2048;eme.exports=xH});var ime=_((q5t,nme)=>{"use strict";var lgt=bH();function rme(t){if(Array.isArray(t))return t.indexOf("ssh")!==-1||t.indexOf("rsync")!==-1;if(typeof t!="string")return!1;var e=lgt(t);if(t=t.substring(t.indexOf("://")+3),rme(e))return!0;var r=new RegExp(".([a-zA-Z\\d]+):(\\d+)/");return!t.match(r)&&t.indexOf("@")<t.indexOf(":")}nme.exports=rme});var ame=_((j5t,ome)=>{"use strict";var cgt=tme(),sme=ime();function ugt(t){var e=cgt(t);return e.token="",e.password==="x-oauth-basic"?e.token=e.user:e.user==="x-token-auth"&&(e.token=e.password),sme(e.protocols)||e.protocols.length===0&&sme(t)?e.protocol="ssh":e.protocols.length?e.protocol=e.protocols[0]:(e.protocol="file",e.protocols=["file"]),e.href=e.href.replace(/\/$/,""),e}ome.exports=ugt});var cme=_((G5t,lme)=>{"use strict";var Agt=ame();function kH(t){if(typeof t!="string")throw new Error("The url must be a string.");var e=/^([a-z\d-]{1,39})\/([-\.\w]{1,100})$/i;e.test(t)&&(t="https://github.com/"+t);var r=Agt(t),o=r.resource.split("."),a=null;switch(r.toString=function(L){return kH.stringify(this,L)},r.source=o.length>2?o.slice(1-o.length).join("."):r.source=r.resource,r.git_suffix=/\.git$/.test(r.pathname),r.name=decodeURIComponent((r.pathname||r.href).replace(/(^\/)|(\/$)/g,"").replace(/\.git$/,"")),r.owner=decodeURIComponent(r.user),r.source){case"git.cloudforge.com":r.owner=r.user,r.organization=o[0],r.source="cloudforge.com";break;case"visualstudio.com":if(r.resource==="vs-ssh.visualstudio.com"){a=r.name.split("/"),a.length===4&&(r.organization=a[1],r.owner=a[2],r.name=a[3],r.full_name=a[2]+"/"+a[3]);break}else{a=r.name.split("/"),a.length===2?(r.owner=a[1],r.name=a[1],r.full_name="_git/"+r.name):a.length===3?(r.name=a[2],a[0]==="DefaultCollection"?(r.owner=a[2],r.organization=a[0],r.full_name=r.organization+"/_git/"+r.name):(r.owner=a[0],r.full_name=r.owner+"/_git/"+r.name)):a.length===4&&(r.organization=a[0],r.owner=a[1],r.name=a[3],r.full_name=r.organization+"/"+r.owner+"/_git/"+r.name);break}case"dev.azure.com":case"azure.com":if(r.resource==="ssh.dev.azure.com"){a=r.name.split("/"),a.length===4&&(r.organization=a[1],r.owner=a[2],r.name=a[3]);break}else{a=r.name.split("/"),a.length===5?(r.organization=a[0],r.owner=a[1],r.name=a[4],r.full_name="_git/"+r.name):a.length===3?(r.name=a[2],a[0]==="DefaultCollection"?(r.owner=a[2],r.organization=a[0],r.full_name=r.organization+"/_git/"+r.name):(r.owner=a[0],r.full_name=r.owner+"/_git/"+r.name)):a.length===4&&(r.organization=a[0],r.owner=a[1],r.name=a[3],r.full_name=r.organization+"/"+r.owner+"/_git/"+r.name),r.query&&r.query.path&&(r.filepath=r.query.path.replace(/^\/+/g,"")),r.query&&r.query.version&&(r.ref=r.query.version.replace(/^GB/,""));break}default:a=r.name.split("/");var n=a.length-1;if(a.length>=2){var u=a.indexOf("-",2),A=a.indexOf("blob",2),p=a.indexOf("tree",2),h=a.indexOf("commit",2),E=a.indexOf("src",2),w=a.indexOf("raw",2),D=a.indexOf("edit",2);n=u>0?u-1:A>0?A-1:p>0?p-1:h>0?h-1:E>0?E-1:w>0?w-1:D>0?D-1:n,r.owner=a.slice(0,n).join("/"),r.name=a[n],h&&(r.commit=a[n+2])}r.ref="",r.filepathtype="",r.filepath="";var x=a.length>n&&a[n+1]==="-"?n+1:n;a.length>x+2&&["raw","src","blob","tree","edit"].indexOf(a[x+1])>=0&&(r.filepathtype=a[x+1],r.ref=a[x+2],a.length>x+3&&(r.filepath=a.slice(x+3).join("/"))),r.organization=r.owner;break}r.full_name||(r.full_name=r.owner,r.name&&(r.full_name&&(r.full_name+="/"),r.full_name+=r.name)),r.owner.startsWith("scm/")&&(r.source="bitbucket-server",r.owner=r.owner.replace("scm/",""),r.organization=r.owner,r.full_name=r.owner+"/"+r.name);var C=/(projects|users)\/(.*?)\/repos\/(.*?)((\/.*$)|$)/,T=C.exec(r.pathname);return T!=null&&(r.source="bitbucket-server",T[1]==="users"?r.owner="~"+T[2]:r.owner=T[2],r.organization=r.owner,r.name=T[3],a=T[4].split("/"),a.length>1&&(["raw","browse"].indexOf(a[1])>=0?(r.filepathtype=a[1],a.length>2&&(r.filepath=a.slice(2).join("/"))):a[1]==="commits"&&a.length>2&&(r.commit=a[2])),r.full_name=r.owner+"/"+r.name,r.query.at?r.ref=r.query.at:r.ref=""),r}kH.stringify=function(t,e){e=e||(t.protocols&&t.protocols.length?t.protocols.join("+"):t.protocol);var r=t.port?":"+t.port:"",o=t.user||"git",a=t.git_suffix?".git":"";switch(e){case"ssh":return r?"ssh://"+o+"@"+t.resource+r+"/"+t.full_name+a:o+"@"+t.resource+":"+t.full_name+a;case"git+ssh":case"ssh+git":case"ftp":case"ftps":return e+"://"+o+"@"+t.resource+r+"/"+t.full_name+a;case"http":case"https":var n=t.token?fgt(t):t.user&&(t.protocols.includes("http")||t.protocols.includes("https"))?t.user+"@":"";return e+"://"+n+t.resource+r+"/"+pgt(t)+a;default:return t.href}};function fgt(t){switch(t.source){case"bitbucket.org":return"x-token-auth:"+t.token+"@";default:return t.token+"@"}}function pgt(t){switch(t.source){case"bitbucket-server":return"scm/"+t.full_name;default:return""+t.full_name}}lme.exports=kH});var Dme=_((B9t,vme)=>{var vgt=Cx(),Dgt=kS(),Pgt=jl(),Sgt=fy(),bgt=s_(),xgt=nE(),kgt=t2();function Qgt(t){return Pgt(t)?vgt(t,xgt):Sgt(t)?[t]:Dgt(bgt(kgt(t)))}vme.exports=Qgt});function Ngt(t,e){return e===1&&Tgt.has(t[0])}function q2(t){let e=Array.isArray(t)?t:(0,bme.default)(t);return e.map((o,a)=>Fgt.test(o)?`[${o}]`:Rgt.test(o)&&!Ngt(e,a)?`.${o}`:`[${JSON.stringify(o)}]`).join("").replace(/^\./,"")}function Lgt(t,e){let r=[];if(e.methodName!==null&&r.push(pe.pretty(t,e.methodName,pe.Type.CODE)),e.file!==null){let o=[];o.push(pe.pretty(t,e.file,pe.Type.PATH)),e.line!==null&&(o.push(pe.pretty(t,e.line,pe.Type.NUMBER)),e.column!==null&&o.push(pe.pretty(t,e.column,pe.Type.NUMBER))),r.push(`(${o.join(pe.pretty(t,":","grey"))})`)}return r.join(" ")}function Vk(t,{manifestUpdates:e,reportedErrors:r},{fix:o}={}){let a=new Map,n=new Map,u=[...r.keys()].map(A=>[A,new Map]);for(let[A,p]of[...u,...e]){let h=r.get(A)?.map(x=>({text:x,fixable:!1}))??[],E=!1,w=t.getWorkspaceByCwd(A),D=w.manifest.exportTo({});for(let[x,C]of p){if(C.size>1){let T=[...C].map(([L,U])=>{let J=pe.pretty(t.configuration,L,pe.Type.INSPECT),te=U.size>0?Lgt(t.configuration,U.values().next().value):null;return te!==null?` +${J} at ${te}`:` +${J}`}).join("");h.push({text:`Conflict detected in constraint targeting ${pe.pretty(t.configuration,x,pe.Type.CODE)}; conflicting values are:${T}`,fixable:!1})}else{let[[T]]=C,L=(0,Pme.default)(D,x);if(JSON.stringify(L)===JSON.stringify(T))continue;if(!o){let U=typeof L>"u"?`Missing field ${pe.pretty(t.configuration,x,pe.Type.CODE)}; expected ${pe.pretty(t.configuration,T,pe.Type.INSPECT)}`:typeof T>"u"?`Extraneous field ${pe.pretty(t.configuration,x,pe.Type.CODE)} currently set to ${pe.pretty(t.configuration,L,pe.Type.INSPECT)}`:`Invalid field ${pe.pretty(t.configuration,x,pe.Type.CODE)}; expected ${pe.pretty(t.configuration,T,pe.Type.INSPECT)}, found ${pe.pretty(t.configuration,L,pe.Type.INSPECT)}`;h.push({text:U,fixable:!0});continue}typeof T>"u"?(0,xme.default)(D,x):(0,Sme.default)(D,x,T),E=!0}E&&a.set(w,D)}h.length>0&&n.set(w,h)}return{changedWorkspaces:a,remainingErrors:n}}function kme(t,{configuration:e}){let r={children:[]};for(let[o,a]of t){let n=[];for(let A of a){let p=A.text.split(/\n/);A.fixable&&(p[0]=`${pe.pretty(e,"\u2699","gray")} ${p[0]}`),n.push({value:pe.tuple(pe.Type.NO_HINT,p[0]),children:p.slice(1).map(h=>({value:pe.tuple(pe.Type.NO_HINT,h)}))})}let u={value:pe.tuple(pe.Type.LOCATOR,o.anchoredLocator),children:qe.sortMap(n,A=>A.value[1])};r.children.push(u)}return r.children=qe.sortMap(r.children,o=>o.value[1]),r}var Pme,Sme,bme,xme,ZE,Fgt,Rgt,Tgt,j2=It(()=>{Ke();Pme=et(N2()),Sme=et(dH()),bme=et(Dme()),xme=et(EH()),ZE=class{constructor(e){this.indexedFields=e;this.items=[];this.indexes={};this.clear()}clear(){this.items=[];for(let e of this.indexedFields)this.indexes[e]=new Map}insert(e){this.items.push(e);for(let r of this.indexedFields){let o=Object.hasOwn(e,r)?e[r]:void 0;if(typeof o>"u")continue;qe.getArrayWithDefault(this.indexes[r],o).push(e)}return e}find(e){if(typeof e>"u")return this.items;let r=Object.entries(e);if(r.length===0)return this.items;let o=[],a;for(let[u,A]of r){let p=u,h=Object.hasOwn(this.indexes,p)?this.indexes[p]:void 0;if(typeof h>"u"){o.push([p,A]);continue}let E=new Set(h.get(A)??[]);if(E.size===0)return[];if(typeof a>"u")a=E;else for(let w of a)E.has(w)||a.delete(w);if(a.size===0)break}let n=[...a??[]];return o.length>0&&(n=n.filter(u=>{for(let[A,p]of o)if(!(typeof p<"u"?Object.hasOwn(u,A)&&u[A]===p:Object.hasOwn(u,A)===!1))return!1;return!0})),n}},Fgt=/^[0-9]+$/,Rgt=/^[a-zA-Z0-9_]+$/,Tgt=new Set(["scripts",..._t.allDependencies])});var Qme=_((N9t,GH)=>{var Ogt;(function(t){var e=function(){return{"append/2":[new t.type.Rule(new t.type.Term("append",[new t.type.Var("X"),new t.type.Var("L")]),new t.type.Term("foldl",[new t.type.Term("append",[]),new t.type.Var("X"),new t.type.Term("[]",[]),new t.type.Var("L")]))],"append/3":[new t.type.Rule(new t.type.Term("append",[new t.type.Term("[]",[]),new t.type.Var("X"),new t.type.Var("X")]),null),new t.type.Rule(new t.type.Term("append",[new t.type.Term(".",[new t.type.Var("H"),new t.type.Var("T")]),new t.type.Var("X"),new t.type.Term(".",[new t.type.Var("H"),new t.type.Var("S")])]),new t.type.Term("append",[new t.type.Var("T"),new t.type.Var("X"),new t.type.Var("S")]))],"member/2":[new t.type.Rule(new t.type.Term("member",[new t.type.Var("X"),new t.type.Term(".",[new t.type.Var("X"),new t.type.Var("_")])]),null),new t.type.Rule(new t.type.Term("member",[new t.type.Var("X"),new t.type.Term(".",[new t.type.Var("_"),new t.type.Var("Xs")])]),new t.type.Term("member",[new t.type.Var("X"),new t.type.Var("Xs")]))],"permutation/2":[new t.type.Rule(new t.type.Term("permutation",[new t.type.Term("[]",[]),new t.type.Term("[]",[])]),null),new t.type.Rule(new t.type.Term("permutation",[new t.type.Term(".",[new t.type.Var("H"),new t.type.Var("T")]),new t.type.Var("S")]),new t.type.Term(",",[new t.type.Term("permutation",[new t.type.Var("T"),new t.type.Var("P")]),new t.type.Term(",",[new t.type.Term("append",[new t.type.Var("X"),new t.type.Var("Y"),new t.type.Var("P")]),new t.type.Term("append",[new t.type.Var("X"),new t.type.Term(".",[new t.type.Var("H"),new t.type.Var("Y")]),new t.type.Var("S")])])]))],"maplist/2":[new t.type.Rule(new t.type.Term("maplist",[new t.type.Var("_"),new t.type.Term("[]",[])]),null),new t.type.Rule(new t.type.Term("maplist",[new t.type.Var("P"),new t.type.Term(".",[new t.type.Var("X"),new t.type.Var("Xs")])]),new t.type.Term(",",[new t.type.Term("call",[new t.type.Var("P"),new t.type.Var("X")]),new t.type.Term("maplist",[new t.type.Var("P"),new t.type.Var("Xs")])]))],"maplist/3":[new t.type.Rule(new t.type.Term("maplist",[new t.type.Var("_"),new t.type.Term("[]",[]),new t.type.Term("[]",[])]),null),new t.type.Rule(new t.type.Term("maplist",[new t.type.Var("P"),new t.type.Term(".",[new t.type.Var("A"),new t.type.Var("As")]),new t.type.Term(".",[new t.type.Var("B"),new t.type.Var("Bs")])]),new t.type.Term(",",[new t.type.Term("call",[new t.type.Var("P"),new t.type.Var("A"),new t.type.Var("B")]),new t.type.Term("maplist",[new t.type.Var("P"),new t.type.Var("As"),new t.type.Var("Bs")])]))],"maplist/4":[new t.type.Rule(new t.type.Term("maplist",[new t.type.Var("_"),new t.type.Term("[]",[]),new t.type.Term("[]",[]),new t.type.Term("[]",[])]),null),new t.type.Rule(new t.type.Term("maplist",[new t.type.Var("P"),new t.type.Term(".",[new t.type.Var("A"),new t.type.Var("As")]),new t.type.Term(".",[new t.type.Var("B"),new t.type.Var("Bs")]),new t.type.Term(".",[new t.type.Var("C"),new t.type.Var("Cs")])]),new t.type.Term(",",[new t.type.Term("call",[new t.type.Var("P"),new t.type.Var("A"),new t.type.Var("B"),new t.type.Var("C")]),new t.type.Term("maplist",[new t.type.Var("P"),new t.type.Var("As"),new t.type.Var("Bs"),new t.type.Var("Cs")])]))],"maplist/5":[new t.type.Rule(new t.type.Term("maplist",[new t.type.Var("_"),new t.type.Term("[]",[]),new t.type.Term("[]",[]),new t.type.Term("[]",[]),new t.type.Term("[]",[])]),null),new t.type.Rule(new t.type.Term("maplist",[new t.type.Var("P"),new t.type.Term(".",[new t.type.Var("A"),new t.type.Var("As")]),new t.type.Term(".",[new t.type.Var("B"),new t.type.Var("Bs")]),new t.type.Term(".",[new t.type.Var("C"),new t.type.Var("Cs")]),new t.type.Term(".",[new t.type.Var("D"),new t.type.Var("Ds")])]),new t.type.Term(",",[new t.type.Term("call",[new t.type.Var("P"),new t.type.Var("A"),new t.type.Var("B"),new t.type.Var("C"),new t.type.Var("D")]),new t.type.Term("maplist",[new t.type.Var("P"),new t.type.Var("As"),new t.type.Var("Bs"),new t.type.Var("Cs"),new t.type.Var("Ds")])]))],"maplist/6":[new t.type.Rule(new t.type.Term("maplist",[new t.type.Var("_"),new t.type.Term("[]",[]),new t.type.Term("[]",[]),new t.type.Term("[]",[]),new t.type.Term("[]",[]),new t.type.Term("[]",[])]),null),new t.type.Rule(new t.type.Term("maplist",[new t.type.Var("P"),new t.type.Term(".",[new t.type.Var("A"),new t.type.Var("As")]),new t.type.Term(".",[new t.type.Var("B"),new t.type.Var("Bs")]),new t.type.Term(".",[new t.type.Var("C"),new t.type.Var("Cs")]),new t.type.Term(".",[new t.type.Var("D"),new t.type.Var("Ds")]),new t.type.Term(".",[new t.type.Var("E"),new t.type.Var("Es")])]),new t.type.Term(",",[new t.type.Term("call",[new t.type.Var("P"),new t.type.Var("A"),new t.type.Var("B"),new t.type.Var("C"),new t.type.Var("D"),new t.type.Var("E")]),new t.type.Term("maplist",[new t.type.Var("P"),new t.type.Var("As"),new t.type.Var("Bs"),new t.type.Var("Cs"),new t.type.Var("Ds"),new t.type.Var("Es")])]))],"maplist/7":[new t.type.Rule(new t.type.Term("maplist",[new t.type.Var("_"),new t.type.Term("[]",[]),new t.type.Term("[]",[]),new t.type.Term("[]",[]),new t.type.Term("[]",[]),new t.type.Term("[]",[]),new t.type.Term("[]",[])]),null),new t.type.Rule(new t.type.Term("maplist",[new t.type.Var("P"),new t.type.Term(".",[new t.type.Var("A"),new t.type.Var("As")]),new t.type.Term(".",[new t.type.Var("B"),new t.type.Var("Bs")]),new t.type.Term(".",[new t.type.Var("C"),new t.type.Var("Cs")]),new t.type.Term(".",[new t.type.Var("D"),new t.type.Var("Ds")]),new t.type.Term(".",[new t.type.Var("E"),new t.type.Var("Es")]),new t.type.Term(".",[new t.type.Var("F"),new t.type.Var("Fs")])]),new t.type.Term(",",[new t.type.Term("call",[new t.type.Var("P"),new t.type.Var("A"),new t.type.Var("B"),new t.type.Var("C"),new t.type.Var("D"),new t.type.Var("E"),new t.type.Var("F")]),new t.type.Term("maplist",[new t.type.Var("P"),new t.type.Var("As"),new t.type.Var("Bs"),new t.type.Var("Cs"),new t.type.Var("Ds"),new t.type.Var("Es"),new t.type.Var("Fs")])]))],"maplist/8":[new t.type.Rule(new t.type.Term("maplist",[new t.type.Var("_"),new t.type.Term("[]",[]),new t.type.Term("[]",[]),new t.type.Term("[]",[]),new t.type.Term("[]",[]),new t.type.Term("[]",[]),new t.type.Term("[]",[]),new t.type.Term("[]",[])]),null),new t.type.Rule(new t.type.Term("maplist",[new t.type.Var("P"),new t.type.Term(".",[new t.type.Var("A"),new t.type.Var("As")]),new t.type.Term(".",[new t.type.Var("B"),new t.type.Var("Bs")]),new t.type.Term(".",[new t.type.Var("C"),new t.type.Var("Cs")]),new t.type.Term(".",[new t.type.Var("D"),new t.type.Var("Ds")]),new t.type.Term(".",[new t.type.Var("E"),new t.type.Var("Es")]),new t.type.Term(".",[new t.type.Var("F"),new t.type.Var("Fs")]),new t.type.Term(".",[new t.type.Var("G"),new t.type.Var("Gs")])]),new t.type.Term(",",[new t.type.Term("call",[new t.type.Var("P"),new t.type.Var("A"),new t.type.Var("B"),new t.type.Var("C"),new t.type.Var("D"),new t.type.Var("E"),new t.type.Var("F"),new t.type.Var("G")]),new t.type.Term("maplist",[new t.type.Var("P"),new t.type.Var("As"),new t.type.Var("Bs"),new t.type.Var("Cs"),new t.type.Var("Ds"),new t.type.Var("Es"),new t.type.Var("Fs"),new t.type.Var("Gs")])]))],"include/3":[new t.type.Rule(new t.type.Term("include",[new t.type.Var("_"),new t.type.Term("[]",[]),new t.type.Term("[]",[])]),null),new t.type.Rule(new t.type.Term("include",[new t.type.Var("P"),new t.type.Term(".",[new t.type.Var("H"),new t.type.Var("T")]),new t.type.Var("L")]),new t.type.Term(",",[new t.type.Term("=..",[new t.type.Var("P"),new t.type.Var("A")]),new t.type.Term(",",[new t.type.Term("append",[new t.type.Var("A"),new t.type.Term(".",[new t.type.Var("H"),new t.type.Term("[]",[])]),new t.type.Var("B")]),new t.type.Term(",",[new t.type.Term("=..",[new t.type.Var("F"),new t.type.Var("B")]),new t.type.Term(",",[new t.type.Term(";",[new t.type.Term(",",[new t.type.Term("call",[new t.type.Var("F")]),new t.type.Term(",",[new t.type.Term("=",[new t.type.Var("L"),new t.type.Term(".",[new t.type.Var("H"),new t.type.Var("S")])]),new t.type.Term("!",[])])]),new t.type.Term("=",[new t.type.Var("L"),new t.type.Var("S")])]),new t.type.Term("include",[new t.type.Var("P"),new t.type.Var("T"),new t.type.Var("S")])])])])]))],"exclude/3":[new t.type.Rule(new t.type.Term("exclude",[new t.type.Var("_"),new t.type.Term("[]",[]),new t.type.Term("[]",[])]),null),new t.type.Rule(new t.type.Term("exclude",[new t.type.Var("P"),new t.type.Term(".",[new t.type.Var("H"),new t.type.Var("T")]),new t.type.Var("S")]),new t.type.Term(",",[new t.type.Term("exclude",[new t.type.Var("P"),new t.type.Var("T"),new t.type.Var("E")]),new t.type.Term(",",[new t.type.Term("=..",[new t.type.Var("P"),new t.type.Var("L")]),new t.type.Term(",",[new t.type.Term("append",[new t.type.Var("L"),new t.type.Term(".",[new t.type.Var("H"),new t.type.Term("[]",[])]),new t.type.Var("Q")]),new t.type.Term(",",[new t.type.Term("=..",[new t.type.Var("R"),new t.type.Var("Q")]),new t.type.Term(";",[new t.type.Term(",",[new t.type.Term("call",[new t.type.Var("R")]),new t.type.Term(",",[new t.type.Term("!",[]),new t.type.Term("=",[new t.type.Var("S"),new t.type.Var("E")])])]),new t.type.Term("=",[new t.type.Var("S"),new t.type.Term(".",[new t.type.Var("H"),new t.type.Var("E")])])])])])])]))],"foldl/4":[new t.type.Rule(new t.type.Term("foldl",[new t.type.Var("_"),new t.type.Term("[]",[]),new t.type.Var("I"),new t.type.Var("I")]),null),new t.type.Rule(new t.type.Term("foldl",[new t.type.Var("P"),new t.type.Term(".",[new t.type.Var("H"),new t.type.Var("T")]),new t.type.Var("I"),new t.type.Var("R")]),new t.type.Term(",",[new t.type.Term("=..",[new t.type.Var("P"),new t.type.Var("L")]),new t.type.Term(",",[new t.type.Term("append",[new t.type.Var("L"),new t.type.Term(".",[new t.type.Var("I"),new t.type.Term(".",[new t.type.Var("H"),new t.type.Term(".",[new t.type.Var("X"),new t.type.Term("[]",[])])])]),new t.type.Var("L2")]),new t.type.Term(",",[new t.type.Term("=..",[new t.type.Var("P2"),new t.type.Var("L2")]),new t.type.Term(",",[new t.type.Term("call",[new t.type.Var("P2")]),new t.type.Term("foldl",[new t.type.Var("P"),new t.type.Var("T"),new t.type.Var("X"),new t.type.Var("R")])])])])]))],"select/3":[new t.type.Rule(new t.type.Term("select",[new t.type.Var("E"),new t.type.Term(".",[new t.type.Var("E"),new t.type.Var("Xs")]),new t.type.Var("Xs")]),null),new t.type.Rule(new t.type.Term("select",[new t.type.Var("E"),new t.type.Term(".",[new t.type.Var("X"),new t.type.Var("Xs")]),new t.type.Term(".",[new t.type.Var("X"),new t.type.Var("Ys")])]),new t.type.Term("select",[new t.type.Var("E"),new t.type.Var("Xs"),new t.type.Var("Ys")]))],"sum_list/2":[new t.type.Rule(new t.type.Term("sum_list",[new t.type.Term("[]",[]),new t.type.Num(0,!1)]),null),new t.type.Rule(new t.type.Term("sum_list",[new t.type.Term(".",[new t.type.Var("X"),new t.type.Var("Xs")]),new t.type.Var("S")]),new t.type.Term(",",[new t.type.Term("sum_list",[new t.type.Var("Xs"),new t.type.Var("Y")]),new t.type.Term("is",[new t.type.Var("S"),new t.type.Term("+",[new t.type.Var("X"),new t.type.Var("Y")])])]))],"max_list/2":[new t.type.Rule(new t.type.Term("max_list",[new t.type.Term(".",[new t.type.Var("X"),new t.type.Term("[]",[])]),new t.type.Var("X")]),null),new t.type.Rule(new t.type.Term("max_list",[new t.type.Term(".",[new t.type.Var("X"),new t.type.Var("Xs")]),new t.type.Var("S")]),new t.type.Term(",",[new t.type.Term("max_list",[new t.type.Var("Xs"),new t.type.Var("Y")]),new t.type.Term(";",[new t.type.Term(",",[new t.type.Term(">=",[new t.type.Var("X"),new t.type.Var("Y")]),new t.type.Term(",",[new t.type.Term("=",[new t.type.Var("S"),new t.type.Var("X")]),new t.type.Term("!",[])])]),new t.type.Term("=",[new t.type.Var("S"),new t.type.Var("Y")])])]))],"min_list/2":[new t.type.Rule(new t.type.Term("min_list",[new t.type.Term(".",[new t.type.Var("X"),new t.type.Term("[]",[])]),new t.type.Var("X")]),null),new t.type.Rule(new t.type.Term("min_list",[new t.type.Term(".",[new t.type.Var("X"),new t.type.Var("Xs")]),new t.type.Var("S")]),new t.type.Term(",",[new t.type.Term("min_list",[new t.type.Var("Xs"),new t.type.Var("Y")]),new t.type.Term(";",[new t.type.Term(",",[new t.type.Term("=<",[new t.type.Var("X"),new t.type.Var("Y")]),new t.type.Term(",",[new t.type.Term("=",[new t.type.Var("S"),new t.type.Var("X")]),new t.type.Term("!",[])])]),new t.type.Term("=",[new t.type.Var("S"),new t.type.Var("Y")])])]))],"prod_list/2":[new t.type.Rule(new t.type.Term("prod_list",[new t.type.Term("[]",[]),new t.type.Num(1,!1)]),null),new t.type.Rule(new t.type.Term("prod_list",[new t.type.Term(".",[new t.type.Var("X"),new t.type.Var("Xs")]),new t.type.Var("S")]),new t.type.Term(",",[new t.type.Term("prod_list",[new t.type.Var("Xs"),new t.type.Var("Y")]),new t.type.Term("is",[new t.type.Var("S"),new t.type.Term("*",[new t.type.Var("X"),new t.type.Var("Y")])])]))],"last/2":[new t.type.Rule(new t.type.Term("last",[new t.type.Term(".",[new t.type.Var("X"),new t.type.Term("[]",[])]),new t.type.Var("X")]),null),new t.type.Rule(new t.type.Term("last",[new t.type.Term(".",[new t.type.Var("_"),new t.type.Var("Xs")]),new t.type.Var("X")]),new t.type.Term("last",[new t.type.Var("Xs"),new t.type.Var("X")]))],"prefix/2":[new t.type.Rule(new t.type.Term("prefix",[new t.type.Var("Part"),new t.type.Var("Whole")]),new t.type.Term("append",[new t.type.Var("Part"),new t.type.Var("_"),new t.type.Var("Whole")]))],"nth0/3":[new t.type.Rule(new t.type.Term("nth0",[new t.type.Var("X"),new t.type.Var("Y"),new t.type.Var("Z")]),new t.type.Term(";",[new t.type.Term("->",[new t.type.Term("var",[new t.type.Var("X")]),new t.type.Term("nth",[new t.type.Num(0,!1),new t.type.Var("X"),new t.type.Var("Y"),new t.type.Var("Z"),new t.type.Var("_")])]),new t.type.Term(",",[new t.type.Term(">=",[new t.type.Var("X"),new t.type.Num(0,!1)]),new t.type.Term(",",[new t.type.Term("nth",[new t.type.Num(0,!1),new t.type.Var("X"),new t.type.Var("Y"),new t.type.Var("Z"),new t.type.Var("_")]),new t.type.Term("!",[])])])]))],"nth1/3":[new t.type.Rule(new t.type.Term("nth1",[new t.type.Var("X"),new t.type.Var("Y"),new t.type.Var("Z")]),new t.type.Term(";",[new t.type.Term("->",[new t.type.Term("var",[new t.type.Var("X")]),new t.type.Term("nth",[new t.type.Num(1,!1),new t.type.Var("X"),new t.type.Var("Y"),new t.type.Var("Z"),new t.type.Var("_")])]),new t.type.Term(",",[new t.type.Term(">",[new t.type.Var("X"),new t.type.Num(0,!1)]),new t.type.Term(",",[new t.type.Term("nth",[new t.type.Num(1,!1),new t.type.Var("X"),new t.type.Var("Y"),new t.type.Var("Z"),new t.type.Var("_")]),new t.type.Term("!",[])])])]))],"nth0/4":[new t.type.Rule(new t.type.Term("nth0",[new t.type.Var("X"),new t.type.Var("Y"),new t.type.Var("Z"),new t.type.Var("W")]),new t.type.Term(";",[new t.type.Term("->",[new t.type.Term("var",[new t.type.Var("X")]),new t.type.Term("nth",[new t.type.Num(0,!1),new t.type.Var("X"),new t.type.Var("Y"),new t.type.Var("Z"),new t.type.Var("W")])]),new t.type.Term(",",[new t.type.Term(">=",[new t.type.Var("X"),new t.type.Num(0,!1)]),new t.type.Term(",",[new t.type.Term("nth",[new t.type.Num(0,!1),new t.type.Var("X"),new t.type.Var("Y"),new t.type.Var("Z"),new t.type.Var("W")]),new t.type.Term("!",[])])])]))],"nth1/4":[new t.type.Rule(new t.type.Term("nth1",[new t.type.Var("X"),new t.type.Var("Y"),new t.type.Var("Z"),new t.type.Var("W")]),new t.type.Term(";",[new t.type.Term("->",[new t.type.Term("var",[new t.type.Var("X")]),new t.type.Term("nth",[new t.type.Num(1,!1),new t.type.Var("X"),new t.type.Var("Y"),new t.type.Var("Z"),new t.type.Var("W")])]),new t.type.Term(",",[new t.type.Term(">",[new t.type.Var("X"),new t.type.Num(0,!1)]),new t.type.Term(",",[new t.type.Term("nth",[new t.type.Num(1,!1),new t.type.Var("X"),new t.type.Var("Y"),new t.type.Var("Z"),new t.type.Var("W")]),new t.type.Term("!",[])])])]))],"nth/5":[new t.type.Rule(new t.type.Term("nth",[new t.type.Var("N"),new t.type.Var("N"),new t.type.Term(".",[new t.type.Var("X"),new t.type.Var("Xs")]),new t.type.Var("X"),new t.type.Var("Xs")]),null),new t.type.Rule(new t.type.Term("nth",[new t.type.Var("N"),new t.type.Var("O"),new t.type.Term(".",[new t.type.Var("X"),new t.type.Var("Xs")]),new t.type.Var("Y"),new t.type.Term(".",[new t.type.Var("X"),new t.type.Var("Ys")])]),new t.type.Term(",",[new t.type.Term("is",[new t.type.Var("M"),new t.type.Term("+",[new t.type.Var("N"),new t.type.Num(1,!1)])]),new t.type.Term("nth",[new t.type.Var("M"),new t.type.Var("O"),new t.type.Var("Xs"),new t.type.Var("Y"),new t.type.Var("Ys")])]))],"length/2":function(o,a,n){var u=n.args[0],A=n.args[1];if(!t.type.is_variable(A)&&!t.type.is_integer(A))o.throw_error(t.error.type("integer",A,n.indicator));else if(t.type.is_integer(A)&&A.value<0)o.throw_error(t.error.domain("not_less_than_zero",A,n.indicator));else{var p=new t.type.Term("length",[u,new t.type.Num(0,!1),A]);t.type.is_integer(A)&&(p=new t.type.Term(",",[p,new t.type.Term("!",[])])),o.prepend([new t.type.State(a.goal.replace(p),a.substitution,a)])}},"length/3":[new t.type.Rule(new t.type.Term("length",[new t.type.Term("[]",[]),new t.type.Var("N"),new t.type.Var("N")]),null),new t.type.Rule(new t.type.Term("length",[new t.type.Term(".",[new t.type.Var("_"),new t.type.Var("X")]),new t.type.Var("A"),new t.type.Var("N")]),new t.type.Term(",",[new t.type.Term("succ",[new t.type.Var("A"),new t.type.Var("B")]),new t.type.Term("length",[new t.type.Var("X"),new t.type.Var("B"),new t.type.Var("N")])]))],"replicate/3":function(o,a,n){var u=n.args[0],A=n.args[1],p=n.args[2];if(t.type.is_variable(A))o.throw_error(t.error.instantiation(n.indicator));else if(!t.type.is_integer(A))o.throw_error(t.error.type("integer",A,n.indicator));else if(A.value<0)o.throw_error(t.error.domain("not_less_than_zero",A,n.indicator));else if(!t.type.is_variable(p)&&!t.type.is_list(p))o.throw_error(t.error.type("list",p,n.indicator));else{for(var h=new t.type.Term("[]"),E=0;E<A.value;E++)h=new t.type.Term(".",[u,h]);o.prepend([new t.type.State(a.goal.replace(new t.type.Term("=",[h,p])),a.substitution,a)])}},"sort/2":function(o,a,n){var u=n.args[0],A=n.args[1];if(t.type.is_variable(u))o.throw_error(t.error.instantiation(n.indicator));else if(!t.type.is_variable(A)&&!t.type.is_fully_list(A))o.throw_error(t.error.type("list",A,n.indicator));else{for(var p=[],h=u;h.indicator==="./2";)p.push(h.args[0]),h=h.args[1];if(t.type.is_variable(h))o.throw_error(t.error.instantiation(n.indicator));else if(!t.type.is_empty_list(h))o.throw_error(t.error.type("list",u,n.indicator));else{for(var E=p.sort(t.compare),w=E.length-1;w>0;w--)E[w].equals(E[w-1])&&E.splice(w,1);for(var D=new t.type.Term("[]"),w=E.length-1;w>=0;w--)D=new t.type.Term(".",[E[w],D]);o.prepend([new t.type.State(a.goal.replace(new t.type.Term("=",[D,A])),a.substitution,a)])}}},"msort/2":function(o,a,n){var u=n.args[0],A=n.args[1];if(t.type.is_variable(u))o.throw_error(t.error.instantiation(n.indicator));else if(!t.type.is_variable(A)&&!t.type.is_fully_list(A))o.throw_error(t.error.type("list",A,n.indicator));else{for(var p=[],h=u;h.indicator==="./2";)p.push(h.args[0]),h=h.args[1];if(t.type.is_variable(h))o.throw_error(t.error.instantiation(n.indicator));else if(!t.type.is_empty_list(h))o.throw_error(t.error.type("list",u,n.indicator));else{for(var E=p.sort(t.compare),w=new t.type.Term("[]"),D=E.length-1;D>=0;D--)w=new t.type.Term(".",[E[D],w]);o.prepend([new t.type.State(a.goal.replace(new t.type.Term("=",[w,A])),a.substitution,a)])}}},"keysort/2":function(o,a,n){var u=n.args[0],A=n.args[1];if(t.type.is_variable(u))o.throw_error(t.error.instantiation(n.indicator));else if(!t.type.is_variable(A)&&!t.type.is_fully_list(A))o.throw_error(t.error.type("list",A,n.indicator));else{for(var p=[],h,E=u;E.indicator==="./2";){if(h=E.args[0],t.type.is_variable(h)){o.throw_error(t.error.instantiation(n.indicator));return}else if(!t.type.is_term(h)||h.indicator!=="-/2"){o.throw_error(t.error.type("pair",h,n.indicator));return}h.args[0].pair=h.args[1],p.push(h.args[0]),E=E.args[1]}if(t.type.is_variable(E))o.throw_error(t.error.instantiation(n.indicator));else if(!t.type.is_empty_list(E))o.throw_error(t.error.type("list",u,n.indicator));else{for(var w=p.sort(t.compare),D=new t.type.Term("[]"),x=w.length-1;x>=0;x--)D=new t.type.Term(".",[new t.type.Term("-",[w[x],w[x].pair]),D]),delete w[x].pair;o.prepend([new t.type.State(a.goal.replace(new t.type.Term("=",[D,A])),a.substitution,a)])}}},"take/3":function(o,a,n){var u=n.args[0],A=n.args[1],p=n.args[2];if(t.type.is_variable(A)||t.type.is_variable(u))o.throw_error(t.error.instantiation(n.indicator));else if(!t.type.is_list(A))o.throw_error(t.error.type("list",A,n.indicator));else if(!t.type.is_integer(u))o.throw_error(t.error.type("integer",u,n.indicator));else if(!t.type.is_variable(p)&&!t.type.is_list(p))o.throw_error(t.error.type("list",p,n.indicator));else{for(var h=u.value,E=[],w=A;h>0&&w.indicator==="./2";)E.push(w.args[0]),w=w.args[1],h--;if(h===0){for(var D=new t.type.Term("[]"),h=E.length-1;h>=0;h--)D=new t.type.Term(".",[E[h],D]);o.prepend([new t.type.State(a.goal.replace(new t.type.Term("=",[D,p])),a.substitution,a)])}}},"drop/3":function(o,a,n){var u=n.args[0],A=n.args[1],p=n.args[2];if(t.type.is_variable(A)||t.type.is_variable(u))o.throw_error(t.error.instantiation(n.indicator));else if(!t.type.is_list(A))o.throw_error(t.error.type("list",A,n.indicator));else if(!t.type.is_integer(u))o.throw_error(t.error.type("integer",u,n.indicator));else if(!t.type.is_variable(p)&&!t.type.is_list(p))o.throw_error(t.error.type("list",p,n.indicator));else{for(var h=u.value,E=[],w=A;h>0&&w.indicator==="./2";)E.push(w.args[0]),w=w.args[1],h--;h===0&&o.prepend([new t.type.State(a.goal.replace(new t.type.Term("=",[w,p])),a.substitution,a)])}},"reverse/2":function(o,a,n){var u=n.args[0],A=n.args[1],p=t.type.is_instantiated_list(u),h=t.type.is_instantiated_list(A);if(t.type.is_variable(u)&&t.type.is_variable(A))o.throw_error(t.error.instantiation(n.indicator));else if(!t.type.is_variable(u)&&!t.type.is_fully_list(u))o.throw_error(t.error.type("list",u,n.indicator));else if(!t.type.is_variable(A)&&!t.type.is_fully_list(A))o.throw_error(t.error.type("list",A,n.indicator));else if(!p&&!h)o.throw_error(t.error.instantiation(n.indicator));else{for(var E=p?u:A,w=new t.type.Term("[]",[]);E.indicator==="./2";)w=new t.type.Term(".",[E.args[0],w]),E=E.args[1];o.prepend([new t.type.State(a.goal.replace(new t.type.Term("=",[w,p?A:u])),a.substitution,a)])}},"list_to_set/2":function(o,a,n){var u=n.args[0],A=n.args[1];if(t.type.is_variable(u))o.throw_error(t.error.instantiation(n.indicator));else{for(var p=u,h=[];p.indicator==="./2";)h.push(p.args[0]),p=p.args[1];if(t.type.is_variable(p))o.throw_error(t.error.instantiation(n.indicator));else if(!t.type.is_term(p)||p.indicator!=="[]/0")o.throw_error(t.error.type("list",u,n.indicator));else{for(var E=[],w=new t.type.Term("[]",[]),D,x=0;x<h.length;x++){D=!1;for(var C=0;C<E.length&&!D;C++)D=t.compare(h[x],E[C])===0;D||E.push(h[x])}for(x=E.length-1;x>=0;x--)w=new t.type.Term(".",[E[x],w]);o.prepend([new t.type.State(a.goal.replace(new t.type.Term("=",[A,w])),a.substitution,a)])}}}}},r=["append/2","append/3","member/2","permutation/2","maplist/2","maplist/3","maplist/4","maplist/5","maplist/6","maplist/7","maplist/8","include/3","exclude/3","foldl/4","sum_list/2","max_list/2","min_list/2","prod_list/2","last/2","prefix/2","nth0/3","nth1/3","nth0/4","nth1/4","length/2","replicate/3","select/3","sort/2","msort/2","keysort/2","take/3","drop/3","reverse/2","list_to_set/2"];typeof GH<"u"?GH.exports=function(o){t=o,new t.type.Module("lists",e(),r)}:new t.type.Module("lists",e(),r)})(Ogt)});var Yme=_(Vr=>{"use strict";var Xg=process.platform==="win32",WH="aes-256-cbc",Mgt="sha256",Tme="The current environment doesn't support interactive reading from TTY.",Xn=ve("fs"),Fme=process.binding("tty_wrap").TTY,KH=ve("child_process"),Nh=ve("path"),VH={prompt:"> ",hideEchoBack:!1,mask:"*",limit:[],limitMessage:"Input another, please.$<( [)limit(])>",defaultInput:"",trueValue:[],falseValue:[],caseSensitive:!1,keepWhitespace:!1,encoding:"utf8",bufferSize:1024,print:void 0,history:!0,cd:!1,phContent:void 0,preCheck:void 0},Kf="none",iu,eC,Rme=!1,Th,zk,YH,Ugt=0,$H="",zg=[],Xk,Nme=!1,JH=!1,G2=!1;function Lme(t){function e(r){return r.replace(/[^\w\u0080-\uFFFF]/g,function(o){return"#"+o.charCodeAt(0)+";"})}return zk.concat(function(r){var o=[];return Object.keys(r).forEach(function(a){r[a]==="boolean"?t[a]&&o.push("--"+a):r[a]==="string"&&t[a]&&o.push("--"+a,e(t[a]))}),o}({display:"string",displayOnly:"boolean",keyIn:"boolean",hideEchoBack:"boolean",mask:"string",limit:"string",caseSensitive:"boolean"}))}function _gt(t,e){function r(U){var J,te="",le;for(YH=YH||ve("os").tmpdir();;){J=Nh.join(YH,U+te);try{le=Xn.openSync(J,"wx")}catch(ce){if(ce.code==="EEXIST"){te++;continue}else throw ce}Xn.closeSync(le);break}return J}var o,a,n,u={},A,p,h=r("readline-sync.stdout"),E=r("readline-sync.stderr"),w=r("readline-sync.exit"),D=r("readline-sync.done"),x=ve("crypto"),C,T,L;C=x.createHash(Mgt),C.update(""+process.pid+Ugt+++Math.random()),L=C.digest("hex"),T=x.createDecipher(WH,L),o=Lme(t),Xg?(a=process.env.ComSpec||"cmd.exe",process.env.Q='"',n=["/V:ON","/S","/C","(%Q%"+a+"%Q% /V:ON /S /C %Q%%Q%"+Th+"%Q%"+o.map(function(U){return" %Q%"+U+"%Q%"}).join("")+" & (echo !ERRORLEVEL!)>%Q%"+w+"%Q%%Q%) 2>%Q%"+E+"%Q% |%Q%"+process.execPath+"%Q% %Q%"+__dirname+"\\encrypt.js%Q% %Q%"+WH+"%Q% %Q%"+L+"%Q% >%Q%"+h+"%Q% & (echo 1)>%Q%"+D+"%Q%"]):(a="/bin/sh",n=["-c",'("'+Th+'"'+o.map(function(U){return" '"+U.replace(/'/g,"'\\''")+"'"}).join("")+'; echo $?>"'+w+'") 2>"'+E+'" |"'+process.execPath+'" "'+__dirname+'/encrypt.js" "'+WH+'" "'+L+'" >"'+h+'"; echo 1 >"'+D+'"']),G2&&G2("_execFileSync",o);try{KH.spawn(a,n,e)}catch(U){u.error=new Error(U.message),u.error.method="_execFileSync - spawn",u.error.program=a,u.error.args=n}for(;Xn.readFileSync(D,{encoding:t.encoding}).trim()!=="1";);return(A=Xn.readFileSync(w,{encoding:t.encoding}).trim())==="0"?u.input=T.update(Xn.readFileSync(h,{encoding:"binary"}),"hex",t.encoding)+T.final(t.encoding):(p=Xn.readFileSync(E,{encoding:t.encoding}).trim(),u.error=new Error(Tme+(p?` +`+p:"")),u.error.method="_execFileSync",u.error.program=a,u.error.args=n,u.error.extMessage=p,u.error.exitCode=+A),Xn.unlinkSync(h),Xn.unlinkSync(E),Xn.unlinkSync(w),Xn.unlinkSync(D),u}function Hgt(t){var e,r={},o,a={env:process.env,encoding:t.encoding};if(Th||(Xg?process.env.PSModulePath?(Th="powershell.exe",zk=["-ExecutionPolicy","Bypass","-File",__dirname+"\\read.ps1"]):(Th="cscript.exe",zk=["//nologo",__dirname+"\\read.cs.js"]):(Th="/bin/sh",zk=[__dirname+"/read.sh"])),Xg&&!process.env.PSModulePath&&(a.stdio=[process.stdin]),KH.execFileSync){e=Lme(t),G2&&G2("execFileSync",e);try{r.input=KH.execFileSync(Th,e,a)}catch(n){o=n.stderr?(n.stderr+"").trim():"",r.error=new Error(Tme+(o?` +`+o:"")),r.error.method="execFileSync",r.error.program=Th,r.error.args=e,r.error.extMessage=o,r.error.exitCode=n.status,r.error.code=n.code,r.error.signal=n.signal}}else r=_gt(t,a);return r.error||(r.input=r.input.replace(/^\s*'|'\s*$/g,""),t.display=""),r}function zH(t){var e="",r=t.display,o=!t.display&&t.keyIn&&t.hideEchoBack&&!t.mask;function a(){var n=Hgt(t);if(n.error)throw n.error;return n.input}return JH&&JH(t),function(){var n,u,A;function p(){return n||(n=process.binding("fs"),u=process.binding("constants")),n}if(typeof Kf=="string")if(Kf=null,Xg){if(A=function(h){var E=h.replace(/^\D+/,"").split("."),w=0;return(E[0]=+E[0])&&(w+=E[0]*1e4),(E[1]=+E[1])&&(w+=E[1]*100),(E[2]=+E[2])&&(w+=E[2]),w}(process.version),!(A>=20302&&A<40204||A>=5e4&&A<50100||A>=50600&&A<60200)&&process.stdin.isTTY)process.stdin.pause(),Kf=process.stdin.fd,eC=process.stdin._handle;else try{Kf=p().open("CONIN$",u.O_RDWR,parseInt("0666",8)),eC=new Fme(Kf,!0)}catch{}if(process.stdout.isTTY)iu=process.stdout.fd;else{try{iu=Xn.openSync("\\\\.\\CON","w")}catch{}if(typeof iu!="number")try{iu=p().open("CONOUT$",u.O_RDWR,parseInt("0666",8))}catch{}}}else{if(process.stdin.isTTY){process.stdin.pause();try{Kf=Xn.openSync("/dev/tty","r"),eC=process.stdin._handle}catch{}}else try{Kf=Xn.openSync("/dev/tty","r"),eC=new Fme(Kf,!1)}catch{}if(process.stdout.isTTY)iu=process.stdout.fd;else try{iu=Xn.openSync("/dev/tty","w")}catch{}}}(),function(){var n,u,A=!t.hideEchoBack&&!t.keyIn,p,h,E,w,D;Xk="";function x(C){return C===Rme?!0:eC.setRawMode(C)!==0?!1:(Rme=C,!0)}if(Nme||!eC||typeof iu!="number"&&(t.display||!A)){e=a();return}if(t.display&&(Xn.writeSync(iu,t.display),t.display=""),!t.displayOnly){if(!x(!A)){e=a();return}for(h=t.keyIn?1:t.bufferSize,p=Buffer.allocUnsafe&&Buffer.alloc?Buffer.alloc(h):new Buffer(h),t.keyIn&&t.limit&&(u=new RegExp("[^"+t.limit+"]","g"+(t.caseSensitive?"":"i")));;){E=0;try{E=Xn.readSync(Kf,p,0,h)}catch(C){if(C.code!=="EOF"){x(!1),e+=a();return}}if(E>0?(w=p.toString(t.encoding,0,E),Xk+=w):(w=` +`,Xk+="\0"),w&&typeof(D=(w.match(/^(.*?)[\r\n]/)||[])[1])=="string"&&(w=D,n=!0),w&&(w=w.replace(/[\x00-\x08\x0b\x0c\x0e-\x1f\x7f]/g,"")),w&&u&&(w=w.replace(u,"")),w&&(A||(t.hideEchoBack?t.mask&&Xn.writeSync(iu,new Array(w.length+1).join(t.mask)):Xn.writeSync(iu,w)),e+=w),!t.keyIn&&n||t.keyIn&&e.length>=h)break}!A&&!o&&Xn.writeSync(iu,` +`),x(!1)}}(),t.print&&!o&&t.print(r+(t.displayOnly?"":(t.hideEchoBack?new Array(e.length+1).join(t.mask):e)+` +`),t.encoding),t.displayOnly?"":$H=t.keepWhitespace||t.keyIn?e:e.trim()}function qgt(t,e){var r=[];function o(a){a!=null&&(Array.isArray(a)?a.forEach(o):(!e||e(a))&&r.push(a))}return o(t),r}function e6(t){return t.replace(/[\x00-\x7f]/g,function(e){return"\\x"+("00"+e.charCodeAt().toString(16)).substr(-2)})}function xs(){var t=Array.prototype.slice.call(arguments),e,r;return t.length&&typeof t[0]=="boolean"&&(r=t.shift(),r&&(e=Object.keys(VH),t.unshift(VH))),t.reduce(function(o,a){return a==null||(a.hasOwnProperty("noEchoBack")&&!a.hasOwnProperty("hideEchoBack")&&(a.hideEchoBack=a.noEchoBack,delete a.noEchoBack),a.hasOwnProperty("noTrim")&&!a.hasOwnProperty("keepWhitespace")&&(a.keepWhitespace=a.noTrim,delete a.noTrim),r||(e=Object.keys(a)),e.forEach(function(n){var u;if(a.hasOwnProperty(n))switch(u=a[n],n){case"mask":case"limitMessage":case"defaultInput":case"encoding":u=u!=null?u+"":"",u&&n!=="limitMessage"&&(u=u.replace(/[\r\n]/g,"")),o[n]=u;break;case"bufferSize":!isNaN(u=parseInt(u,10))&&typeof u=="number"&&(o[n]=u);break;case"displayOnly":case"keyIn":case"hideEchoBack":case"caseSensitive":case"keepWhitespace":case"history":case"cd":o[n]=!!u;break;case"limit":case"trueValue":case"falseValue":o[n]=qgt(u,function(A){var p=typeof A;return p==="string"||p==="number"||p==="function"||A instanceof RegExp}).map(function(A){return typeof A=="string"?A.replace(/[\r\n]/g,""):A});break;case"print":case"phContent":case"preCheck":o[n]=typeof u=="function"?u:void 0;break;case"prompt":case"display":o[n]=u??"";break}})),o},{})}function XH(t,e,r){return e.some(function(o){var a=typeof o;return a==="string"?r?t===o:t.toLowerCase()===o.toLowerCase():a==="number"?parseFloat(t)===o:a==="function"?o(t):o instanceof RegExp?o.test(t):!1})}function t6(t,e){var r=Nh.normalize(Xg?(process.env.HOMEDRIVE||"")+(process.env.HOMEPATH||""):process.env.HOME||"").replace(/[\/\\]+$/,"");return t=Nh.normalize(t),e?t.replace(/^~(?=\/|\\|$)/,r):t.replace(new RegExp("^"+e6(r)+"(?=\\/|\\\\|$)",Xg?"i":""),"~")}function tC(t,e){var r="(?:\\(([\\s\\S]*?)\\))?(\\w+|.-.)(?:\\(([\\s\\S]*?)\\))?",o=new RegExp("(\\$)?(\\$<"+r+">)","g"),a=new RegExp("(\\$)?(\\$\\{"+r+"\\})","g");function n(u,A,p,h,E,w){var D;return A||typeof(D=e(E))!="string"?p:D?(h||"")+D+(w||""):""}return t.replace(o,n).replace(a,n)}function Ome(t,e,r){var o,a=[],n=-1,u=0,A="",p;function h(E,w){return w.length>3?(E.push(w[0]+"..."+w[w.length-1]),p=!0):w.length&&(E=E.concat(w)),E}return o=t.reduce(function(E,w){return E.concat((w+"").split(""))},[]).reduce(function(E,w){var D,x;return e||(w=w.toLowerCase()),D=/^\d$/.test(w)?1:/^[A-Z]$/.test(w)?2:/^[a-z]$/.test(w)?3:0,r&&D===0?A+=w:(x=w.charCodeAt(0),D&&D===n&&x===u+1?a.push(w):(E=h(E,a),a=[w],n=D),u=x),E},[]),o=h(o,a),A&&(o.push(A),p=!0),{values:o,suppressed:p}}function Mme(t,e){return t.join(t.length>2?", ":e?" / ":"/")}function Ume(t,e){var r,o,a={},n;if(e.phContent&&(r=e.phContent(t,e)),typeof r!="string")switch(t){case"hideEchoBack":case"mask":case"defaultInput":case"caseSensitive":case"keepWhitespace":case"encoding":case"bufferSize":case"history":case"cd":r=e.hasOwnProperty(t)?typeof e[t]=="boolean"?e[t]?"on":"off":e[t]+"":"";break;case"limit":case"trueValue":case"falseValue":o=e[e.hasOwnProperty(t+"Src")?t+"Src":t],e.keyIn?(a=Ome(o,e.caseSensitive),o=a.values):o=o.filter(function(u){var A=typeof u;return A==="string"||A==="number"}),r=Mme(o,a.suppressed);break;case"limitCount":case"limitCountNotZero":r=e[e.hasOwnProperty("limitSrc")?"limitSrc":"limit"].length,r=r||t!=="limitCountNotZero"?r+"":"";break;case"lastInput":r=$H;break;case"cwd":case"CWD":case"cwdHome":r=process.cwd(),t==="CWD"?r=Nh.basename(r):t==="cwdHome"&&(r=t6(r));break;case"date":case"time":case"localeDate":case"localeTime":r=new Date()["to"+t.replace(/^./,function(u){return u.toUpperCase()})+"String"]();break;default:typeof(n=(t.match(/^history_m(\d+)$/)||[])[1])=="string"&&(r=zg[zg.length-n]||"")}return r}function _me(t){var e=/^(.)-(.)$/.exec(t),r="",o,a,n,u;if(!e)return null;for(o=e[1].charCodeAt(0),a=e[2].charCodeAt(0),u=o<a?1:-1,n=o;n!==a+u;n+=u)r+=String.fromCharCode(n);return r}function ZH(t){var e=new RegExp(/(\s*)(?:("|')(.*?)(?:\2|$)|(\S+))/g),r,o="",a=[],n;for(t=t.trim();r=e.exec(t);)n=r[3]||r[4]||"",r[1]&&(a.push(o),o=""),o+=n;return o&&a.push(o),a}function Hme(t,e){return e.trueValue.length&&XH(t,e.trueValue,e.caseSensitive)?!0:e.falseValue.length&&XH(t,e.falseValue,e.caseSensitive)?!1:t}function qme(t){var e,r,o,a,n,u,A;function p(E){return Ume(E,t)}function h(E){t.display+=(/[^\r\n]$/.test(t.display)?` +`:"")+E}for(t.limitSrc=t.limit,t.displaySrc=t.display,t.limit="",t.display=tC(t.display+"",p);;){if(e=zH(t),r=!1,o="",t.defaultInput&&!e&&(e=t.defaultInput),t.history&&((a=/^\s*\!(?:\!|-1)(:p)?\s*$/.exec(e))?(n=zg[0]||"",a[1]?r=!0:e=n,h(n+` +`),r||(t.displayOnly=!0,zH(t),t.displayOnly=!1)):e&&e!==zg[zg.length-1]&&(zg=[e])),!r&&t.cd&&e)switch(u=ZH(e),u[0].toLowerCase()){case"cd":if(u[1])try{process.chdir(t6(u[1],!0))}catch(E){h(E+"")}r=!0;break;case"pwd":h(process.cwd()),r=!0;break}if(!r&&t.preCheck&&(A=t.preCheck(e,t),e=A.res,A.forceNext&&(r=!0)),!r){if(!t.limitSrc.length||XH(e,t.limitSrc,t.caseSensitive))break;t.limitMessage&&(o=tC(t.limitMessage,p))}h((o?o+` +`:"")+tC(t.displaySrc+"",p))}return Hme(e,t)}Vr._DBG_set_useExt=function(t){Nme=t};Vr._DBG_set_checkOptions=function(t){JH=t};Vr._DBG_set_checkMethod=function(t){G2=t};Vr._DBG_clearHistory=function(){$H="",zg=[]};Vr.setDefaultOptions=function(t){return VH=xs(!0,t),xs(!0)};Vr.question=function(t,e){return qme(xs(xs(!0,e),{display:t}))};Vr.prompt=function(t){var e=xs(!0,t);return e.display=e.prompt,qme(e)};Vr.keyIn=function(t,e){var r=xs(xs(!0,e),{display:t,keyIn:!0,keepWhitespace:!0});return r.limitSrc=r.limit.filter(function(o){var a=typeof o;return a==="string"||a==="number"}).map(function(o){return tC(o+"",_me)}),r.limit=e6(r.limitSrc.join("")),["trueValue","falseValue"].forEach(function(o){r[o]=r[o].reduce(function(a,n){var u=typeof n;return u==="string"||u==="number"?a=a.concat((n+"").split("")):a.push(n),a},[])}),r.display=tC(r.display+"",function(o){return Ume(o,r)}),Hme(zH(r),r)};Vr.questionEMail=function(t,e){return t==null&&(t="Input e-mail address: "),Vr.question(t,xs({hideEchoBack:!1,limit:/^[a-zA-Z0-9.!#$%&'*+\/=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*$/,limitMessage:"Input valid e-mail address, please.",trueValue:null,falseValue:null},e,{keepWhitespace:!1,cd:!1}))};Vr.questionNewPassword=function(t,e){var r,o,a,n=xs({hideEchoBack:!0,mask:"*",limitMessage:`It can include: $<charlist> +And the length must be: $<length>`,trueValue:null,falseValue:null,caseSensitive:!0},e,{history:!1,cd:!1,phContent:function(x){return x==="charlist"?r.text:x==="length"?o+"..."+a:null}}),u,A,p,h,E,w,D;for(e=e||{},u=tC(e.charlist?e.charlist+"":"$<!-~>",_me),(isNaN(o=parseInt(e.min,10))||typeof o!="number")&&(o=12),(isNaN(a=parseInt(e.max,10))||typeof a!="number")&&(a=24),h=new RegExp("^["+e6(u)+"]{"+o+","+a+"}$"),r=Ome([u],n.caseSensitive,!0),r.text=Mme(r.values,r.suppressed),A=e.confirmMessage!=null?e.confirmMessage:"Reinput a same one to confirm it: ",p=e.unmatchMessage!=null?e.unmatchMessage:"It differs from first one. Hit only the Enter key if you want to retry from first one.",t==null&&(t="Input new password: "),E=n.limitMessage;!D;)n.limit=h,n.limitMessage=E,w=Vr.question(t,n),n.limit=[w,""],n.limitMessage=p,D=Vr.question(A,n);return w};function jme(t,e,r){var o;function a(n){return o=r(n),!isNaN(o)&&typeof o=="number"}return Vr.question(t,xs({limitMessage:"Input valid number, please."},e,{limit:a,cd:!1})),o}Vr.questionInt=function(t,e){return jme(t,e,function(r){return parseInt(r,10)})};Vr.questionFloat=function(t,e){return jme(t,e,parseFloat)};Vr.questionPath=function(t,e){var r,o="",a=xs({hideEchoBack:!1,limitMessage:`$<error( +)>Input valid path, please.$<( Min:)min>$<( Max:)max>`,history:!0,cd:!0},e,{keepWhitespace:!1,limit:function(n){var u,A,p;n=t6(n,!0),o="";function h(E){E.split(/\/|\\/).reduce(function(w,D){var x=Nh.resolve(w+=D+Nh.sep);if(!Xn.existsSync(x))Xn.mkdirSync(x);else if(!Xn.statSync(x).isDirectory())throw new Error("Non directory already exists: "+x);return w},"")}try{if(u=Xn.existsSync(n),r=u?Xn.realpathSync(n):Nh.resolve(n),!e.hasOwnProperty("exists")&&!u||typeof e.exists=="boolean"&&e.exists!==u)return o=(u?"Already exists":"No such file or directory")+": "+r,!1;if(!u&&e.create&&(e.isDirectory?h(r):(h(Nh.dirname(r)),Xn.closeSync(Xn.openSync(r,"w"))),r=Xn.realpathSync(r)),u&&(e.min||e.max||e.isFile||e.isDirectory)){if(A=Xn.statSync(r),e.isFile&&!A.isFile())return o="Not file: "+r,!1;if(e.isDirectory&&!A.isDirectory())return o="Not directory: "+r,!1;if(e.min&&A.size<+e.min||e.max&&A.size>+e.max)return o="Size "+A.size+" is out of range: "+r,!1}if(typeof e.validate=="function"&&(p=e.validate(r))!==!0)return typeof p=="string"&&(o=p),!1}catch(E){return o=E+"",!1}return!0},phContent:function(n){return n==="error"?o:n!=="min"&&n!=="max"?null:e.hasOwnProperty(n)?e[n]+"":""}});return e=e||{},t==null&&(t='Input path (you can "cd" and "pwd"): '),Vr.question(t,a),r};function Gme(t,e){var r={},o={};return typeof t=="object"?(Object.keys(t).forEach(function(a){typeof t[a]=="function"&&(o[e.caseSensitive?a:a.toLowerCase()]=t[a])}),r.preCheck=function(a){var n;return r.args=ZH(a),n=r.args[0]||"",e.caseSensitive||(n=n.toLowerCase()),r.hRes=n!=="_"&&o.hasOwnProperty(n)?o[n].apply(a,r.args.slice(1)):o.hasOwnProperty("_")?o._.apply(a,r.args):null,{res:a,forceNext:!1}},o.hasOwnProperty("_")||(r.limit=function(){var a=r.args[0]||"";return e.caseSensitive||(a=a.toLowerCase()),o.hasOwnProperty(a)})):r.preCheck=function(a){return r.args=ZH(a),r.hRes=typeof t=="function"?t.apply(a,r.args):!0,{res:a,forceNext:!1}},r}Vr.promptCL=function(t,e){var r=xs({hideEchoBack:!1,limitMessage:"Requested command is not available.",caseSensitive:!1,history:!0},e),o=Gme(t,r);return r.limit=o.limit,r.preCheck=o.preCheck,Vr.prompt(r),o.args};Vr.promptLoop=function(t,e){for(var r=xs({hideEchoBack:!1,trueValue:null,falseValue:null,caseSensitive:!1,history:!0},e);!t(Vr.prompt(r)););};Vr.promptCLLoop=function(t,e){var r=xs({hideEchoBack:!1,limitMessage:"Requested command is not available.",caseSensitive:!1,history:!0},e),o=Gme(t,r);for(r.limit=o.limit,r.preCheck=o.preCheck;Vr.prompt(r),!o.hRes;);};Vr.promptSimShell=function(t){return Vr.prompt(xs({hideEchoBack:!1,history:!0},t,{prompt:function(){return Xg?"$<cwd>>":(process.env.USER||"")+(process.env.HOSTNAME?"@"+process.env.HOSTNAME.replace(/\..*$/,""):"")+":$<cwdHome>$ "}()}))};function Wme(t,e,r){var o;return t==null&&(t="Are you sure? "),(!e||e.guide!==!1)&&(t+="")&&(t=t.replace(/\s*:?\s*$/,"")+" [y/n]: "),o=Vr.keyIn(t,xs(e,{hideEchoBack:!1,limit:r,trueValue:"y",falseValue:"n",caseSensitive:!1})),typeof o=="boolean"?o:""}Vr.keyInYN=function(t,e){return Wme(t,e)};Vr.keyInYNStrict=function(t,e){return Wme(t,e,"yn")};Vr.keyInPause=function(t,e){t==null&&(t="Continue..."),(!e||e.guide!==!1)&&(t+="")&&(t=t.replace(/\s+$/,"")+" (Hit any key)"),Vr.keyIn(t,xs({limit:null},e,{hideEchoBack:!0,mask:""}))};Vr.keyInSelect=function(t,e,r){var o=xs({hideEchoBack:!1},r,{trueValue:null,falseValue:null,caseSensitive:!1,phContent:function(p){return p==="itemsCount"?t.length+"":p==="firstItem"?(t[0]+"").trim():p==="lastItem"?(t[t.length-1]+"").trim():null}}),a="",n={},u=49,A=` +`;if(!Array.isArray(t)||!t.length||t.length>35)throw"`items` must be Array (max length: 35).";return t.forEach(function(p,h){var E=String.fromCharCode(u);a+=E,n[E]=h,A+="["+E+"] "+(p+"").trim()+` +`,u=u===57?97:u+1}),(!r||r.cancel!==!1)&&(a+="0",n[0]=-1,A+="[0] "+(r&&r.cancel!=null&&typeof r.cancel!="boolean"?(r.cancel+"").trim():"CANCEL")+` +`),o.limit=a,A+=` +`,e==null&&(e="Choose one from list: "),(e+="")&&((!r||r.guide!==!1)&&(e=e.replace(/\s*:?\s*$/,"")+" [$<limit>]: "),A+=e),n[Vr.keyIn(A,o).toLowerCase()]};Vr.getRawInput=function(){return Xk};function W2(t,e){var r;return e.length&&(r={},r[t]=e[0]),Vr.setDefaultOptions(r)[t]}Vr.setPrint=function(){return W2("print",arguments)};Vr.setPrompt=function(){return W2("prompt",arguments)};Vr.setEncoding=function(){return W2("encoding",arguments)};Vr.setMask=function(){return W2("mask",arguments)};Vr.setBufferSize=function(){return W2("bufferSize",arguments)}});var r6=_((O9t,El)=>{(function(){var t={major:0,minor:2,patch:66,status:"beta"};tau_file_system={files:{},open:function(I,S,y){var R=tau_file_system.files[I];if(!R){if(y==="read")return null;R={path:I,text:"",type:S,get:function(z,X){return X===this.text.length||X>this.text.length?"end_of_file":this.text.substring(X,X+z)},put:function(z,X){return X==="end_of_file"?(this.text+=z,!0):X==="past_end_of_file"?null:(this.text=this.text.substring(0,X)+z+this.text.substring(X+z.length),!0)},get_byte:function(z){if(z==="end_of_stream")return-1;var X=Math.floor(z/2);if(this.text.length<=X)return-1;var $=n(this.text[Math.floor(z/2)],0);return z%2===0?$&255:$/256>>>0},put_byte:function(z,X){var $=X==="end_of_stream"?this.text.length:Math.floor(X/2);if(this.text.length<$)return null;var se=this.text.length===$?-1:n(this.text[Math.floor(X/2)],0);return X%2===0?(se=se/256>>>0,se=(se&255)<<8|z&255):(se=se&255,se=(z&255)<<8|se&255),this.text.length===$?this.text+=u(se):this.text=this.text.substring(0,$)+u(se)+this.text.substring($+1),!0},flush:function(){return!0},close:function(){var z=tau_file_system.files[this.path];return z?!0:null}},tau_file_system.files[I]=R}return y==="write"&&(R.text=""),R}},tau_user_input={buffer:"",get:function(I,S){for(var y;tau_user_input.buffer.length<I;)y=window.prompt(),y&&(tau_user_input.buffer+=y);return y=tau_user_input.buffer.substr(0,I),tau_user_input.buffer=tau_user_input.buffer.substr(I),y}},tau_user_output={put:function(I,S){return console.log(I),!0},flush:function(){return!0}},nodejs_file_system={open:function(I,S,y){var R=ve("fs"),z=R.openSync(I,y[0]);return y==="read"&&!R.existsSync(I)?null:{get:function(X,$){var se=new Buffer(X);return R.readSync(z,se,0,X,$),se.toString()},put:function(X,$){var se=Buffer.from(X);if($==="end_of_file")R.writeSync(z,se);else{if($==="past_end_of_file")return null;R.writeSync(z,se,0,se.length,$)}return!0},get_byte:function(X){return null},put_byte:function(X,$){return null},flush:function(){return!0},close:function(){return R.closeSync(z),!0}}}},nodejs_user_input={buffer:"",get:function(I,S){for(var y,R=Yme();nodejs_user_input.buffer.length<I;)nodejs_user_input.buffer+=R.question();return y=nodejs_user_input.buffer.substr(0,I),nodejs_user_input.buffer=nodejs_user_input.buffer.substr(I),y}},nodejs_user_output={put:function(I,S){return process.stdout.write(I),!0},flush:function(){return!0}};var e;Array.prototype.indexOf?e=function(I,S){return I.indexOf(S)}:e=function(I,S){for(var y=I.length,R=0;R<y;R++)if(S===I[R])return R;return-1};var r=function(I,S){if(I.length!==0){for(var y=I[0],R=I.length,z=1;z<R;z++)y=S(y,I[z]);return y}},o;Array.prototype.map?o=function(I,S){return I.map(S)}:o=function(I,S){for(var y=[],R=I.length,z=0;z<R;z++)y.push(S(I[z]));return y};var a;Array.prototype.filter?a=function(I,S){return I.filter(S)}:a=function(I,S){for(var y=[],R=I.length,z=0;z<R;z++)S(I[z])&&y.push(I[z]);return y};var n;String.prototype.codePointAt?n=function(I,S){return I.codePointAt(S)}:n=function(I,S){return I.charCodeAt(S)};var u;String.fromCodePoint?u=function(){return String.fromCodePoint.apply(null,arguments)}:u=function(){return String.fromCharCode.apply(null,arguments)};var A=0,p=1,h=/(\\a)|(\\b)|(\\f)|(\\n)|(\\r)|(\\t)|(\\v)|\\x([0-9a-fA-F]+)\\|\\([0-7]+)\\|(\\\\)|(\\')|('')|(\\")|(\\`)|(\\.)|(.)/g,E={"\\a":7,"\\b":8,"\\f":12,"\\n":10,"\\r":13,"\\t":9,"\\v":11};function w(I){var S=[],y=!1;return I.replace(h,function(R,z,X,$,se,xe,Fe,lt,Et,qt,nr,St,cn,Pr,yr,Rr,Xr){switch(!0){case Et!==void 0:return S.push(parseInt(Et,16)),"";case qt!==void 0:return S.push(parseInt(qt,8)),"";case nr!==void 0:case St!==void 0:case cn!==void 0:case Pr!==void 0:case yr!==void 0:return S.push(n(R.substr(1),0)),"";case Xr!==void 0:return S.push(n(Xr,0)),"";case Rr!==void 0:y=!0;default:return S.push(E[R]),""}}),y?null:S}function D(I,S){var y="";if(I.length<2)return I;try{I=I.replace(/\\([0-7]+)\\/g,function($,se){return u(parseInt(se,8))}),I=I.replace(/\\x([0-9a-fA-F]+)\\/g,function($,se){return u(parseInt(se,16))})}catch{return null}for(var R=0;R<I.length;R++){var z=I.charAt(R),X=I.charAt(R+1);if(z===S&&X===S)R++,y+=S;else if(z==="\\")if(["a","b","f","n","r","t","v","'",'"',"\\","a","\b","\f",` +`,"\r"," ","\v"].indexOf(X)!==-1)switch(R+=1,X){case"a":y+="a";break;case"b":y+="\b";break;case"f":y+="\f";break;case"n":y+=` +`;break;case"r":y+="\r";break;case"t":y+=" ";break;case"v":y+="\v";break;case"'":y+="'";break;case'"':y+='"';break;case"\\":y+="\\";break}else return null;else y+=z}return y}function x(I){for(var S="",y=0;y<I.length;y++)switch(I.charAt(y)){case"'":S+="\\'";break;case"\\":S+="\\\\";break;case"\b":S+="\\b";break;case"\f":S+="\\f";break;case` +`:S+="\\n";break;case"\r":S+="\\r";break;case" ":S+="\\t";break;case"\v":S+="\\v";break;default:S+=I.charAt(y);break}return S}function C(I){var S=I.substr(2);switch(I.substr(0,2).toLowerCase()){case"0x":return parseInt(S,16);case"0b":return parseInt(S,2);case"0o":return parseInt(S,8);case"0'":return w(S)[0];default:return parseFloat(I)}}var T={whitespace:/^\s*(?:(?:%.*)|(?:\/\*(?:\n|\r|.)*?\*\/)|(?:\s+))\s*/,variable:/^(?:[A-Z_][a-zA-Z0-9_]*)/,atom:/^(\!|,|;|[a-z][0-9a-zA-Z_]*|[#\$\&\*\+\-\.\/\:\<\=\>\?\@\^\~\\]+|'(?:[^']*?(?:\\(?:x?\d+)?\\)*(?:'')*(?:\\')*)*')/,number:/^(?:0o[0-7]+|0x[0-9a-fA-F]+|0b[01]+|0'(?:''|\\[abfnrtv\\'"`]|\\x?\d+\\|[^\\])|\d+(?:\.\d+(?:[eE][+-]?\d+)?)?)/,string:/^(?:"([^"]|""|\\")*"|`([^`]|``|\\`)*`)/,l_brace:/^(?:\[)/,r_brace:/^(?:\])/,l_bracket:/^(?:\{)/,r_bracket:/^(?:\})/,bar:/^(?:\|)/,l_paren:/^(?:\()/,r_paren:/^(?:\))/};function L(I,S){return I.get_flag("char_conversion").id==="on"?S.replace(/./g,function(y){return I.get_char_conversion(y)}):S}function U(I){this.thread=I,this.text="",this.tokens=[]}U.prototype.set_last_tokens=function(I){return this.tokens=I},U.prototype.new_text=function(I){this.text=I,this.tokens=[]},U.prototype.get_tokens=function(I){var S,y=0,R=0,z=0,X=[],$=!1;if(I){var se=this.tokens[I-1];y=se.len,S=L(this.thread,this.text.substr(se.len)),R=se.line,z=se.start}else S=this.text;if(/^\s*$/.test(S))return null;for(;S!=="";){var xe=[],Fe=!1;if(/^\n/.exec(S)!==null){R++,z=0,y++,S=S.replace(/\n/,""),$=!0;continue}for(var lt in T)if(T.hasOwnProperty(lt)){var Et=T[lt].exec(S);Et&&xe.push({value:Et[0],name:lt,matches:Et})}if(!xe.length)return this.set_last_tokens([{value:S,matches:[],name:"lexical",line:R,start:z}]);var se=r(xe,function(Pr,yr){return Pr.value.length>=yr.value.length?Pr:yr});switch(se.start=z,se.line=R,S=S.replace(se.value,""),z+=se.value.length,y+=se.value.length,se.name){case"atom":se.raw=se.value,se.value.charAt(0)==="'"&&(se.value=D(se.value.substr(1,se.value.length-2),"'"),se.value===null&&(se.name="lexical",se.value="unknown escape sequence"));break;case"number":se.float=se.value.substring(0,2)!=="0x"&&se.value.match(/[.eE]/)!==null&&se.value!=="0'.",se.value=C(se.value),se.blank=Fe;break;case"string":var qt=se.value.charAt(0);se.value=D(se.value.substr(1,se.value.length-2),qt),se.value===null&&(se.name="lexical",se.value="unknown escape sequence");break;case"whitespace":var nr=X[X.length-1];nr&&(nr.space=!0),Fe=!0;continue;case"r_bracket":X.length>0&&X[X.length-1].name==="l_bracket"&&(se=X.pop(),se.name="atom",se.value="{}",se.raw="{}",se.space=!1);break;case"r_brace":X.length>0&&X[X.length-1].name==="l_brace"&&(se=X.pop(),se.name="atom",se.value="[]",se.raw="[]",se.space=!1);break}se.len=y,X.push(se),Fe=!1}var St=this.set_last_tokens(X);return St.length===0?null:St};function J(I,S,y,R,z){if(!S[y])return{type:A,value:b.error.syntax(S[y-1],"expression expected",!0)};var X;if(R==="0"){var $=S[y];switch($.name){case"number":return{type:p,len:y+1,value:new b.type.Num($.value,$.float)};case"variable":return{type:p,len:y+1,value:new b.type.Var($.value)};case"string":var se;switch(I.get_flag("double_quotes").id){case"atom":se=new q($.value,[]);break;case"codes":se=new q("[]",[]);for(var xe=$.value.length-1;xe>=0;xe--)se=new q(".",[new b.type.Num(n($.value,xe),!1),se]);break;case"chars":se=new q("[]",[]);for(var xe=$.value.length-1;xe>=0;xe--)se=new q(".",[new b.type.Term($.value.charAt(xe),[]),se]);break}return{type:p,len:y+1,value:se};case"l_paren":var St=J(I,S,y+1,I.__get_max_priority(),!0);return St.type!==p?St:S[St.len]&&S[St.len].name==="r_paren"?(St.len++,St):{type:A,derived:!0,value:b.error.syntax(S[St.len]?S[St.len]:S[St.len-1],") or operator expected",!S[St.len])};case"l_bracket":var St=J(I,S,y+1,I.__get_max_priority(),!0);return St.type!==p?St:S[St.len]&&S[St.len].name==="r_bracket"?(St.len++,St.value=new q("{}",[St.value]),St):{type:A,derived:!0,value:b.error.syntax(S[St.len]?S[St.len]:S[St.len-1],"} or operator expected",!S[St.len])}}var Fe=te(I,S,y,z);return Fe.type===p||Fe.derived||(Fe=le(I,S,y),Fe.type===p||Fe.derived)?Fe:{type:A,derived:!1,value:b.error.syntax(S[y],"unexpected token")}}var lt=I.__get_max_priority(),Et=I.__get_next_priority(R),qt=y;if(S[y].name==="atom"&&S[y+1]&&(S[y].space||S[y+1].name!=="l_paren")){var $=S[y++],nr=I.__lookup_operator_classes(R,$.value);if(nr&&nr.indexOf("fy")>-1){var St=J(I,S,y,R,z);if(St.type!==A)return $.value==="-"&&!$.space&&b.type.is_number(St.value)?{value:new b.type.Num(-St.value.value,St.value.is_float),len:St.len,type:p}:{value:new b.type.Term($.value,[St.value]),len:St.len,type:p};X=St}else if(nr&&nr.indexOf("fx")>-1){var St=J(I,S,y,Et,z);if(St.type!==A)return{value:new b.type.Term($.value,[St.value]),len:St.len,type:p};X=St}}y=qt;var St=J(I,S,y,Et,z);if(St.type===p){y=St.len;var $=S[y];if(S[y]&&(S[y].name==="atom"&&I.__lookup_operator_classes(R,$.value)||S[y].name==="bar"&&I.__lookup_operator_classes(R,"|"))){var cn=Et,Pr=R,nr=I.__lookup_operator_classes(R,$.value);if(nr.indexOf("xf")>-1)return{value:new b.type.Term($.value,[St.value]),len:++St.len,type:p};if(nr.indexOf("xfx")>-1){var yr=J(I,S,y+1,cn,z);return yr.type===p?{value:new b.type.Term($.value,[St.value,yr.value]),len:yr.len,type:p}:(yr.derived=!0,yr)}else if(nr.indexOf("xfy")>-1){var yr=J(I,S,y+1,Pr,z);return yr.type===p?{value:new b.type.Term($.value,[St.value,yr.value]),len:yr.len,type:p}:(yr.derived=!0,yr)}else if(St.type!==A)for(;;){y=St.len;var $=S[y];if($&&$.name==="atom"&&I.__lookup_operator_classes(R,$.value)){var nr=I.__lookup_operator_classes(R,$.value);if(nr.indexOf("yf")>-1)St={value:new b.type.Term($.value,[St.value]),len:++y,type:p};else if(nr.indexOf("yfx")>-1){var yr=J(I,S,++y,cn,z);if(yr.type===A)return yr.derived=!0,yr;y=yr.len,St={value:new b.type.Term($.value,[St.value,yr.value]),len:y,type:p}}else break}else break}}else X={type:A,value:b.error.syntax(S[St.len-1],"operator expected")};return St}return St}function te(I,S,y,R){if(!S[y]||S[y].name==="atom"&&S[y].raw==="."&&!R&&(S[y].space||!S[y+1]||S[y+1].name!=="l_paren"))return{type:A,derived:!1,value:b.error.syntax(S[y-1],"unfounded token")};var z=S[y],X=[];if(S[y].name==="atom"&&S[y].raw!==","){if(y++,S[y-1].space)return{type:p,len:y,value:new b.type.Term(z.value,X)};if(S[y]&&S[y].name==="l_paren"){if(S[y+1]&&S[y+1].name==="r_paren")return{type:A,derived:!0,value:b.error.syntax(S[y+1],"argument expected")};var $=J(I,S,++y,"999",!0);if($.type===A)return $.derived?$:{type:A,derived:!0,value:b.error.syntax(S[y]?S[y]:S[y-1],"argument expected",!S[y])};for(X.push($.value),y=$.len;S[y]&&S[y].name==="atom"&&S[y].value===",";){if($=J(I,S,y+1,"999",!0),$.type===A)return $.derived?$:{type:A,derived:!0,value:b.error.syntax(S[y+1]?S[y+1]:S[y],"argument expected",!S[y+1])};X.push($.value),y=$.len}if(S[y]&&S[y].name==="r_paren")y++;else return{type:A,derived:!0,value:b.error.syntax(S[y]?S[y]:S[y-1],", or ) expected",!S[y])}}return{type:p,len:y,value:new b.type.Term(z.value,X)}}return{type:A,derived:!1,value:b.error.syntax(S[y],"term expected")}}function le(I,S,y){if(!S[y])return{type:A,derived:!1,value:b.error.syntax(S[y-1],"[ expected")};if(S[y]&&S[y].name==="l_brace"){var R=J(I,S,++y,"999",!0),z=[R.value],X=void 0;if(R.type===A)return S[y]&&S[y].name==="r_brace"?{type:p,len:y+1,value:new b.type.Term("[]",[])}:{type:A,derived:!0,value:b.error.syntax(S[y],"] expected")};for(y=R.len;S[y]&&S[y].name==="atom"&&S[y].value===",";){if(R=J(I,S,y+1,"999",!0),R.type===A)return R.derived?R:{type:A,derived:!0,value:b.error.syntax(S[y+1]?S[y+1]:S[y],"argument expected",!S[y+1])};z.push(R.value),y=R.len}var $=!1;if(S[y]&&S[y].name==="bar"){if($=!0,R=J(I,S,y+1,"999",!0),R.type===A)return R.derived?R:{type:A,derived:!0,value:b.error.syntax(S[y+1]?S[y+1]:S[y],"argument expected",!S[y+1])};X=R.value,y=R.len}return S[y]&&S[y].name==="r_brace"?{type:p,len:y+1,value:g(z,X)}:{type:A,derived:!0,value:b.error.syntax(S[y]?S[y]:S[y-1],$?"] expected":", or | or ] expected",!S[y])}}return{type:A,derived:!1,value:b.error.syntax(S[y],"list expected")}}function ce(I,S,y){var R=S[y].line,z=J(I,S,y,I.__get_max_priority(),!1),X=null,$;if(z.type!==A)if(y=z.len,S[y]&&S[y].name==="atom"&&S[y].raw===".")if(y++,b.type.is_term(z.value)){if(z.value.indicator===":-/2"?(X=new b.type.Rule(z.value.args[0],Ee(z.value.args[1])),$={value:X,len:y,type:p}):z.value.indicator==="-->/2"?(X=he(new b.type.Rule(z.value.args[0],z.value.args[1]),I),X.body=Ee(X.body),$={value:X,len:y,type:b.type.is_rule(X)?p:A}):(X=new b.type.Rule(z.value,null),$={value:X,len:y,type:p}),X){var se=X.singleton_variables();se.length>0&&I.throw_warning(b.warning.singleton(se,X.head.indicator,R))}return $}else return{type:A,value:b.error.syntax(S[y],"callable expected")};else return{type:A,value:b.error.syntax(S[y]?S[y]:S[y-1],". or operator expected")};return z}function ue(I,S,y){y=y||{},y.from=y.from?y.from:"$tau-js",y.reconsult=y.reconsult!==void 0?y.reconsult:!0;var R=new U(I),z={},X;R.new_text(S);var $=0,se=R.get_tokens($);do{if(se===null||!se[$])break;var xe=ce(I,se,$);if(xe.type===A)return new q("throw",[xe.value]);if(xe.value.body===null&&xe.value.head.indicator==="?-/1"){var Fe=new tt(I.session);Fe.add_goal(xe.value.head.args[0]),Fe.answer(function(Et){b.type.is_error(Et)?I.throw_warning(Et.args[0]):(Et===!1||Et===null)&&I.throw_warning(b.warning.failed_goal(xe.value.head.args[0],xe.len))}),$=xe.len;var lt=!0}else if(xe.value.body===null&&xe.value.head.indicator===":-/1"){var lt=I.run_directive(xe.value.head.args[0]);$=xe.len,xe.value.head.args[0].indicator==="char_conversion/2"&&(se=R.get_tokens($),$=0)}else{X=xe.value.head.indicator,y.reconsult!==!1&&z[X]!==!0&&!I.is_multifile_predicate(X)&&(I.session.rules[X]=a(I.session.rules[X]||[],function(qt){return qt.dynamic}),z[X]=!0);var lt=I.add_rule(xe.value,y);$=xe.len}if(!lt)return lt}while(!0);return!0}function Ie(I,S){var y=new U(I);y.new_text(S);var R=0;do{var z=y.get_tokens(R);if(z===null)break;var X=J(I,z,0,I.__get_max_priority(),!1);if(X.type!==A){var $=X.len,se=$;if(z[$]&&z[$].name==="atom"&&z[$].raw===".")I.add_goal(Ee(X.value));else{var xe=z[$];return new q("throw",[b.error.syntax(xe||z[$-1],". or operator expected",!xe)])}R=X.len+1}else return new q("throw",[X.value])}while(!0);return!0}function he(I,S){I=I.rename(S);var y=S.next_free_variable(),R=De(I.body,y,S);return R.error?R.value:(I.body=R.value,I.head.args=I.head.args.concat([y,R.variable]),I.head=new q(I.head.id,I.head.args),I)}function De(I,S,y){var R;if(b.type.is_term(I)&&I.indicator==="!/0")return{value:I,variable:S,error:!1};if(b.type.is_term(I)&&I.indicator===",/2"){var z=De(I.args[0],S,y);if(z.error)return z;var X=De(I.args[1],z.variable,y);return X.error?X:{value:new q(",",[z.value,X.value]),variable:X.variable,error:!1}}else{if(b.type.is_term(I)&&I.indicator==="{}/1")return{value:I.args[0],variable:S,error:!1};if(b.type.is_empty_list(I))return{value:new q("true",[]),variable:S,error:!1};if(b.type.is_list(I)){R=y.next_free_variable();for(var $=I,se;$.indicator==="./2";)se=$,$=$.args[1];return b.type.is_variable($)?{value:b.error.instantiation("DCG"),variable:S,error:!0}:b.type.is_empty_list($)?(se.args[1]=R,{value:new q("=",[S,I]),variable:R,error:!1}):{value:b.error.type("list",I,"DCG"),variable:S,error:!0}}else return b.type.is_callable(I)?(R=y.next_free_variable(),I.args=I.args.concat([S,R]),I=new q(I.id,I.args),{value:I,variable:R,error:!1}):{value:b.error.type("callable",I,"DCG"),variable:S,error:!0}}}function Ee(I){return b.type.is_variable(I)?new q("call",[I]):b.type.is_term(I)&&[",/2",";/2","->/2"].indexOf(I.indicator)!==-1?new q(I.id,[Ee(I.args[0]),Ee(I.args[1])]):I}function g(I,S){for(var y=S||new b.type.Term("[]",[]),R=I.length-1;R>=0;R--)y=new b.type.Term(".",[I[R],y]);return y}function me(I,S){for(var y=I.length-1;y>=0;y--)I[y]===S&&I.splice(y,1)}function Ce(I){for(var S={},y=[],R=0;R<I.length;R++)I[R]in S||(y.push(I[R]),S[I[R]]=!0);return y}function fe(I,S,y,R){if(I.session.rules[y]!==null){for(var z=0;z<I.session.rules[y].length;z++)if(I.session.rules[y][z]===R){I.session.rules[y].splice(z,1),I.success(S);break}}}function ie(I){return function(S,y,R){var z=R.args[0],X=R.args.slice(1,I);if(b.type.is_variable(z))S.throw_error(b.error.instantiation(S.level));else if(!b.type.is_callable(z))S.throw_error(b.error.type("callable",z,S.level));else{var $=new q(z.id,z.args.concat(X));S.prepend([new ke(y.goal.replace($),y.substitution,y)])}}}function Z(I){for(var S=I.length-1;S>=0;S--)if(I.charAt(S)==="/")return new q("/",[new q(I.substring(0,S)),new Re(parseInt(I.substring(S+1)),!1)])}function Pe(I){this.id=I}function Re(I,S){this.is_float=S!==void 0?S:parseInt(I)!==I,this.value=this.is_float?I:parseInt(I)}var ht=0;function q(I,S,y){this.ref=y||++ht,this.id=I,this.args=S||[],this.indicator=I+"/"+this.args.length}var nt=0;function Ne(I,S,y,R,z,X){this.id=nt++,this.stream=I,this.mode=S,this.alias=y,this.type=R!==void 0?R:"text",this.reposition=z!==void 0?z:!0,this.eof_action=X!==void 0?X:"eof_code",this.position=this.mode==="append"?"end_of_stream":0,this.output=this.mode==="write"||this.mode==="append",this.input=this.mode==="read"}function Te(I){I=I||{},this.links=I}function ke(I,S,y){S=S||new Te,y=y||null,this.goal=I,this.substitution=S,this.parent=y}function Ve(I,S,y){this.head=I,this.body=S,this.dynamic=y||!1}function be(I){I=I===void 0||I<=0?1e3:I,this.rules={},this.src_predicates={},this.rename=0,this.modules=[],this.thread=new tt(this),this.total_threads=1,this.renamed_variables={},this.public_predicates={},this.multifile_predicates={},this.limit=I,this.streams={user_input:new Ne(typeof El<"u"&&El.exports?nodejs_user_input:tau_user_input,"read","user_input","text",!1,"reset"),user_output:new Ne(typeof El<"u"&&El.exports?nodejs_user_output:tau_user_output,"write","user_output","text",!1,"eof_code")},this.file_system=typeof El<"u"&&El.exports?nodejs_file_system:tau_file_system,this.standard_input=this.streams.user_input,this.standard_output=this.streams.user_output,this.current_input=this.streams.user_input,this.current_output=this.streams.user_output,this.format_success=function(S){return S.substitution},this.format_error=function(S){return S.goal},this.flag={bounded:b.flag.bounded.value,max_integer:b.flag.max_integer.value,min_integer:b.flag.min_integer.value,integer_rounding_function:b.flag.integer_rounding_function.value,char_conversion:b.flag.char_conversion.value,debug:b.flag.debug.value,max_arity:b.flag.max_arity.value,unknown:b.flag.unknown.value,double_quotes:b.flag.double_quotes.value,occurs_check:b.flag.occurs_check.value,dialect:b.flag.dialect.value,version_data:b.flag.version_data.value,nodejs:b.flag.nodejs.value},this.__loaded_modules=[],this.__char_conversion={},this.__operators={1200:{":-":["fx","xfx"],"-->":["xfx"],"?-":["fx"]},1100:{";":["xfy"]},1050:{"->":["xfy"]},1e3:{",":["xfy"]},900:{"\\+":["fy"]},700:{"=":["xfx"],"\\=":["xfx"],"==":["xfx"],"\\==":["xfx"],"@<":["xfx"],"@=<":["xfx"],"@>":["xfx"],"@>=":["xfx"],"=..":["xfx"],is:["xfx"],"=:=":["xfx"],"=\\=":["xfx"],"<":["xfx"],"=<":["xfx"],">":["xfx"],">=":["xfx"]},600:{":":["xfy"]},500:{"+":["yfx"],"-":["yfx"],"/\\":["yfx"],"\\/":["yfx"]},400:{"*":["yfx"],"/":["yfx"],"//":["yfx"],rem:["yfx"],mod:["yfx"],"<<":["yfx"],">>":["yfx"]},200:{"**":["xfx"],"^":["xfy"],"-":["fy"],"+":["fy"],"\\":["fy"]}}}function tt(I){this.epoch=Date.now(),this.session=I,this.session.total_threads++,this.total_steps=0,this.cpu_time=0,this.cpu_time_last=0,this.points=[],this.debugger=!1,this.debugger_states=[],this.level="top_level/0",this.__calls=[],this.current_limit=this.session.limit,this.warnings=[]}function He(I,S,y){this.id=I,this.rules=S,this.exports=y,b.module[I]=this}He.prototype.exports_predicate=function(I){return this.exports.indexOf(I)!==-1},Pe.prototype.unify=function(I,S){if(S&&e(I.variables(),this.id)!==-1&&!b.type.is_variable(I))return null;var y={};return y[this.id]=I,new Te(y)},Re.prototype.unify=function(I,S){return b.type.is_number(I)&&this.value===I.value&&this.is_float===I.is_float?new Te:null},q.prototype.unify=function(I,S){if(b.type.is_term(I)&&this.indicator===I.indicator){for(var y=new Te,R=0;R<this.args.length;R++){var z=b.unify(this.args[R].apply(y),I.args[R].apply(y),S);if(z===null)return null;for(var X in z.links)y.links[X]=z.links[X];y=y.apply(z)}return y}return null},Ne.prototype.unify=function(I,S){return b.type.is_stream(I)&&this.id===I.id?new Te:null},Pe.prototype.toString=function(I){return this.id},Re.prototype.toString=function(I){return this.is_float&&e(this.value.toString(),".")===-1?this.value+".0":this.value.toString()},q.prototype.toString=function(I,S,y){if(I=I||{},I.quoted=I.quoted===void 0?!0:I.quoted,I.ignore_ops=I.ignore_ops===void 0?!1:I.ignore_ops,I.numbervars=I.numbervars===void 0?!1:I.numbervars,S=S===void 0?1200:S,y=y===void 0?"":y,I.numbervars&&this.indicator==="$VAR/1"&&b.type.is_integer(this.args[0])&&this.args[0].value>=0){var R=this.args[0].value,z=Math.floor(R/26),X=R%26;return"ABCDEFGHIJKLMNOPQRSTUVWXYZ"[X]+(z!==0?z:"")}switch(this.indicator){case"[]/0":case"{}/0":case"!/0":return this.id;case"{}/1":return"{"+this.args[0].toString(I)+"}";case"./2":for(var $="["+this.args[0].toString(I),se=this.args[1];se.indicator==="./2";)$+=", "+se.args[0].toString(I),se=se.args[1];return se.indicator!=="[]/0"&&($+="|"+se.toString(I)),$+="]",$;case",/2":return"("+this.args[0].toString(I)+", "+this.args[1].toString(I)+")";default:var xe=this.id,Fe=I.session?I.session.lookup_operator(this.id,this.args.length):null;if(I.session===void 0||I.ignore_ops||Fe===null)return I.quoted&&!/^(!|,|;|[a-z][0-9a-zA-Z_]*)$/.test(xe)&&xe!=="{}"&&xe!=="[]"&&(xe="'"+x(xe)+"'"),xe+(this.args.length?"("+o(this.args,function(nr){return nr.toString(I)}).join(", ")+")":"");var lt=Fe.priority>S.priority||Fe.priority===S.priority&&(Fe.class==="xfy"&&this.indicator!==S.indicator||Fe.class==="yfx"&&this.indicator!==S.indicator||this.indicator===S.indicator&&Fe.class==="yfx"&&y==="right"||this.indicator===S.indicator&&Fe.class==="xfy"&&y==="left");Fe.indicator=this.indicator;var Et=lt?"(":"",qt=lt?")":"";return this.args.length===0?"("+this.id+")":["fy","fx"].indexOf(Fe.class)!==-1?Et+xe+" "+this.args[0].toString(I,Fe)+qt:["yf","xf"].indexOf(Fe.class)!==-1?Et+this.args[0].toString(I,Fe)+" "+xe+qt:Et+this.args[0].toString(I,Fe,"left")+" "+this.id+" "+this.args[1].toString(I,Fe,"right")+qt}},Ne.prototype.toString=function(I){return"<stream>("+this.id+")"},Te.prototype.toString=function(I){var S="{";for(var y in this.links)this.links.hasOwnProperty(y)&&(S!=="{"&&(S+=", "),S+=y+"/"+this.links[y].toString(I));return S+="}",S},ke.prototype.toString=function(I){return this.goal===null?"<"+this.substitution.toString(I)+">":"<"+this.goal.toString(I)+", "+this.substitution.toString(I)+">"},Ve.prototype.toString=function(I){return this.body?this.head.toString(I)+" :- "+this.body.toString(I)+".":this.head.toString(I)+"."},be.prototype.toString=function(I){for(var S="",y=0;y<this.modules.length;y++)S+=":- use_module(library("+this.modules[y]+`)). +`;S+=` +`;for(key in this.rules)for(y=0;y<this.rules[key].length;y++)S+=this.rules[key][y].toString(I),S+=` +`;return S},Pe.prototype.clone=function(){return new Pe(this.id)},Re.prototype.clone=function(){return new Re(this.value,this.is_float)},q.prototype.clone=function(){return new q(this.id,o(this.args,function(I){return I.clone()}))},Ne.prototype.clone=function(){return new Stram(this.stream,this.mode,this.alias,this.type,this.reposition,this.eof_action)},Te.prototype.clone=function(){var I={};for(var S in this.links)this.links.hasOwnProperty(S)&&(I[S]=this.links[S].clone());return new Te(I)},ke.prototype.clone=function(){return new ke(this.goal.clone(),this.substitution.clone(),this.parent)},Ve.prototype.clone=function(){return new Ve(this.head.clone(),this.body!==null?this.body.clone():null)},Pe.prototype.equals=function(I){return b.type.is_variable(I)&&this.id===I.id},Re.prototype.equals=function(I){return b.type.is_number(I)&&this.value===I.value&&this.is_float===I.is_float},q.prototype.equals=function(I){if(!b.type.is_term(I)||this.indicator!==I.indicator)return!1;for(var S=0;S<this.args.length;S++)if(!this.args[S].equals(I.args[S]))return!1;return!0},Ne.prototype.equals=function(I){return b.type.is_stream(I)&&this.id===I.id},Te.prototype.equals=function(I){var S;if(!b.type.is_substitution(I))return!1;for(S in this.links)if(this.links.hasOwnProperty(S)&&(!I.links[S]||!this.links[S].equals(I.links[S])))return!1;for(S in I.links)if(I.links.hasOwnProperty(S)&&!this.links[S])return!1;return!0},ke.prototype.equals=function(I){return b.type.is_state(I)&&this.goal.equals(I.goal)&&this.substitution.equals(I.substitution)&&this.parent===I.parent},Ve.prototype.equals=function(I){return b.type.is_rule(I)&&this.head.equals(I.head)&&(this.body===null&&I.body===null||this.body!==null&&this.body.equals(I.body))},Pe.prototype.rename=function(I){return I.get_free_variable(this)},Re.prototype.rename=function(I){return this},q.prototype.rename=function(I){return new q(this.id,o(this.args,function(S){return S.rename(I)}))},Ne.prototype.rename=function(I){return this},Ve.prototype.rename=function(I){return new Ve(this.head.rename(I),this.body!==null?this.body.rename(I):null)},Pe.prototype.variables=function(){return[this.id]},Re.prototype.variables=function(){return[]},q.prototype.variables=function(){return[].concat.apply([],o(this.args,function(I){return I.variables()}))},Ne.prototype.variables=function(){return[]},Ve.prototype.variables=function(){return this.body===null?this.head.variables():this.head.variables().concat(this.body.variables())},Pe.prototype.apply=function(I){return I.lookup(this.id)?I.lookup(this.id):this},Re.prototype.apply=function(I){return this},q.prototype.apply=function(I){if(this.indicator==="./2"){for(var S=[],y=this;y.indicator==="./2";)S.push(y.args[0].apply(I)),y=y.args[1];for(var R=y.apply(I),z=S.length-1;z>=0;z--)R=new q(".",[S[z],R]);return R}return new q(this.id,o(this.args,function(X){return X.apply(I)}),this.ref)},Ne.prototype.apply=function(I){return this},Ve.prototype.apply=function(I){return new Ve(this.head.apply(I),this.body!==null?this.body.apply(I):null)},Te.prototype.apply=function(I){var S,y={};for(S in this.links)this.links.hasOwnProperty(S)&&(y[S]=this.links[S].apply(I));return new Te(y)},q.prototype.select=function(){for(var I=this;I.indicator===",/2";)I=I.args[0];return I},q.prototype.replace=function(I){return this.indicator===",/2"?this.args[0].indicator===",/2"?new q(",",[this.args[0].replace(I),this.args[1]]):I===null?this.args[1]:new q(",",[I,this.args[1]]):I},q.prototype.search=function(I){if(b.type.is_term(I)&&I.ref!==void 0&&this.ref===I.ref)return!0;for(var S=0;S<this.args.length;S++)if(b.type.is_term(this.args[S])&&this.args[S].search(I))return!0;return!1},be.prototype.get_current_input=function(){return this.current_input},tt.prototype.get_current_input=function(){return this.session.get_current_input()},be.prototype.get_current_output=function(){return this.current_output},tt.prototype.get_current_output=function(){return this.session.get_current_output()},be.prototype.set_current_input=function(I){this.current_input=I},tt.prototype.set_current_input=function(I){return this.session.set_current_input(I)},be.prototype.set_current_output=function(I){this.current_input=I},tt.prototype.set_current_output=function(I){return this.session.set_current_output(I)},be.prototype.get_stream_by_alias=function(I){return this.streams[I]},tt.prototype.get_stream_by_alias=function(I){return this.session.get_stream_by_alias(I)},be.prototype.file_system_open=function(I,S,y){return this.file_system.open(I,S,y)},tt.prototype.file_system_open=function(I,S,y){return this.session.file_system_open(I,S,y)},be.prototype.get_char_conversion=function(I){return this.__char_conversion[I]||I},tt.prototype.get_char_conversion=function(I){return this.session.get_char_conversion(I)},be.prototype.parse=function(I){return this.thread.parse(I)},tt.prototype.parse=function(I){var S=new U(this);S.new_text(I);var y=S.get_tokens();if(y===null)return!1;var R=J(this,y,0,this.__get_max_priority(),!1);return R.len!==y.length?!1:{value:R.value,expr:R,tokens:y}},be.prototype.get_flag=function(I){return this.flag[I]},tt.prototype.get_flag=function(I){return this.session.get_flag(I)},be.prototype.add_rule=function(I,S){return S=S||{},S.from=S.from?S.from:"$tau-js",this.src_predicates[I.head.indicator]=S.from,this.rules[I.head.indicator]||(this.rules[I.head.indicator]=[]),this.rules[I.head.indicator].push(I),this.public_predicates.hasOwnProperty(I.head.indicator)||(this.public_predicates[I.head.indicator]=!1),!0},tt.prototype.add_rule=function(I,S){return this.session.add_rule(I,S)},be.prototype.run_directive=function(I){this.thread.run_directive(I)},tt.prototype.run_directive=function(I){return b.type.is_directive(I)?(b.directive[I.indicator](this,I),!0):!1},be.prototype.__get_max_priority=function(){return"1200"},tt.prototype.__get_max_priority=function(){return this.session.__get_max_priority()},be.prototype.__get_next_priority=function(I){var S=0;I=parseInt(I);for(var y in this.__operators)if(this.__operators.hasOwnProperty(y)){var R=parseInt(y);R>S&&R<I&&(S=R)}return S.toString()},tt.prototype.__get_next_priority=function(I){return this.session.__get_next_priority(I)},be.prototype.__lookup_operator_classes=function(I,S){return this.__operators.hasOwnProperty(I)&&this.__operators[I][S]instanceof Array&&this.__operators[I][S]||!1},tt.prototype.__lookup_operator_classes=function(I,S){return this.session.__lookup_operator_classes(I,S)},be.prototype.lookup_operator=function(I,S){for(var y in this.__operators)if(this.__operators[y][I]){for(var R=0;R<this.__operators[y][I].length;R++)if(S===0||this.__operators[y][I][R].length===S+1)return{priority:y,class:this.__operators[y][I][R]}}return null},tt.prototype.lookup_operator=function(I,S){return this.session.lookup_operator(I,S)},be.prototype.throw_warning=function(I){this.thread.throw_warning(I)},tt.prototype.throw_warning=function(I){this.warnings.push(I)},be.prototype.get_warnings=function(){return this.thread.get_warnings()},tt.prototype.get_warnings=function(){return this.warnings},be.prototype.add_goal=function(I,S){this.thread.add_goal(I,S)},tt.prototype.add_goal=function(I,S,y){y=y||null,S===!0&&(this.points=[]);for(var R=I.variables(),z={},X=0;X<R.length;X++)z[R[X]]=new Pe(R[X]);this.points.push(new ke(I,new Te(z),y))},be.prototype.consult=function(I,S){return this.thread.consult(I,S)},tt.prototype.consult=function(I,S){var y="";if(typeof I=="string"){y=I;var R=y.length;if(y.substring(R-3,R)===".pl"&&document.getElementById(y)){var z=document.getElementById(y),X=z.getAttribute("type");X!==null&&X.replace(/ /g,"").toLowerCase()==="text/prolog"&&(y=z.text)}}else if(I.nodeName)switch(I.nodeName.toLowerCase()){case"input":case"textarea":y=I.value;break;default:y=I.innerHTML;break}else return!1;return this.warnings=[],ue(this,y,S)},be.prototype.query=function(I){return this.thread.query(I)},tt.prototype.query=function(I){return this.points=[],this.debugger_points=[],Ie(this,I)},be.prototype.head_point=function(){return this.thread.head_point()},tt.prototype.head_point=function(){return this.points[this.points.length-1]},be.prototype.get_free_variable=function(I){return this.thread.get_free_variable(I)},tt.prototype.get_free_variable=function(I){var S=[];if(I.id==="_"||this.session.renamed_variables[I.id]===void 0){for(this.session.rename++,this.points.length>0&&(S=this.head_point().substitution.domain());e(S,b.format_variable(this.session.rename))!==-1;)this.session.rename++;if(I.id==="_")return new Pe(b.format_variable(this.session.rename));this.session.renamed_variables[I.id]=b.format_variable(this.session.rename)}return new Pe(this.session.renamed_variables[I.id])},be.prototype.next_free_variable=function(){return this.thread.next_free_variable()},tt.prototype.next_free_variable=function(){this.session.rename++;var I=[];for(this.points.length>0&&(I=this.head_point().substitution.domain());e(I,b.format_variable(this.session.rename))!==-1;)this.session.rename++;return new Pe(b.format_variable(this.session.rename))},be.prototype.is_public_predicate=function(I){return!this.public_predicates.hasOwnProperty(I)||this.public_predicates[I]===!0},tt.prototype.is_public_predicate=function(I){return this.session.is_public_predicate(I)},be.prototype.is_multifile_predicate=function(I){return this.multifile_predicates.hasOwnProperty(I)&&this.multifile_predicates[I]===!0},tt.prototype.is_multifile_predicate=function(I){return this.session.is_multifile_predicate(I)},be.prototype.prepend=function(I){return this.thread.prepend(I)},tt.prototype.prepend=function(I){for(var S=I.length-1;S>=0;S--)this.points.push(I[S])},be.prototype.success=function(I,S){return this.thread.success(I,S)},tt.prototype.success=function(I,y){var y=typeof y>"u"?I:y;this.prepend([new ke(I.goal.replace(null),I.substitution,y)])},be.prototype.throw_error=function(I){return this.thread.throw_error(I)},tt.prototype.throw_error=function(I){this.prepend([new ke(new q("throw",[I]),new Te,null,null)])},be.prototype.step_rule=function(I,S){return this.thread.step_rule(I,S)},tt.prototype.step_rule=function(I,S){var y=S.indicator;if(I==="user"&&(I=null),I===null&&this.session.rules.hasOwnProperty(y))return this.session.rules[y];for(var R=I===null?this.session.modules:e(this.session.modules,I)===-1?[]:[I],z=0;z<R.length;z++){var X=b.module[R[z]];if(X.rules.hasOwnProperty(y)&&(X.rules.hasOwnProperty(this.level)||X.exports_predicate(y)))return b.module[R[z]].rules[y]}return null},be.prototype.step=function(){return this.thread.step()},tt.prototype.step=function(){if(this.points.length!==0){var I=!1,S=this.points.pop();if(this.debugger&&this.debugger_states.push(S),b.type.is_term(S.goal)){var y=S.goal.select(),R=null,z=[];if(y!==null){this.total_steps++;for(var X=S;X.parent!==null&&X.parent.goal.search(y);)X=X.parent;if(this.level=X.parent===null?"top_level/0":X.parent.goal.select().indicator,b.type.is_term(y)&&y.indicator===":/2"&&(R=y.args[0].id,y=y.args[1]),R===null&&b.type.is_builtin(y))this.__call_indicator=y.indicator,I=b.predicate[y.indicator](this,S,y);else{var $=this.step_rule(R,y);if($===null)this.session.rules.hasOwnProperty(y.indicator)||(this.get_flag("unknown").id==="error"?this.throw_error(b.error.existence("procedure",y.indicator,this.level)):this.get_flag("unknown").id==="warning"&&this.throw_warning("unknown procedure "+y.indicator+" (from "+this.level+")"));else if($ instanceof Function)I=$(this,S,y);else{for(var se in $)if($.hasOwnProperty(se)){var xe=$[se];this.session.renamed_variables={},xe=xe.rename(this);var Fe=this.get_flag("occurs_check").indicator==="true/0",lt=new ke,Et=b.unify(y,xe.head,Fe);Et!==null&&(lt.goal=S.goal.replace(xe.body),lt.goal!==null&&(lt.goal=lt.goal.apply(Et)),lt.substitution=S.substitution.apply(Et),lt.parent=S,z.push(lt))}this.prepend(z)}}}}else b.type.is_variable(S.goal)?this.throw_error(b.error.instantiation(this.level)):this.throw_error(b.error.type("callable",S.goal,this.level));return I}},be.prototype.answer=function(I){return this.thread.answer(I)},tt.prototype.answer=function(I){I=I||function(S){},this.__calls.push(I),!(this.__calls.length>1)&&this.again()},be.prototype.answers=function(I,S,y){return this.thread.answers(I,S,y)},tt.prototype.answers=function(I,S,y){var R=S||1e3,z=this;if(S<=0){y&&y();return}this.answer(function(X){I(X),X!==!1?setTimeout(function(){z.answers(I,S-1,y)},1):y&&y()})},be.prototype.again=function(I){return this.thread.again(I)},tt.prototype.again=function(I){for(var S,y=Date.now();this.__calls.length>0;){for(this.warnings=[],I!==!1&&(this.current_limit=this.session.limit);this.current_limit>0&&this.points.length>0&&this.head_point().goal!==null&&!b.type.is_error(this.head_point().goal);)if(this.current_limit--,this.step()===!0)return;var R=Date.now();this.cpu_time_last=R-y,this.cpu_time+=this.cpu_time_last;var z=this.__calls.shift();this.current_limit<=0?z(null):this.points.length===0?z(!1):b.type.is_error(this.head_point().goal)?(S=this.session.format_error(this.points.pop()),this.points=[],z(S)):(this.debugger&&this.debugger_states.push(this.head_point()),S=this.session.format_success(this.points.pop()),z(S))}},be.prototype.unfold=function(I){if(I.body===null)return!1;var S=I.head,y=I.body,R=y.select(),z=new tt(this),X=[];z.add_goal(R),z.step();for(var $=z.points.length-1;$>=0;$--){var se=z.points[$],xe=S.apply(se.substitution),Fe=y.replace(se.goal);Fe!==null&&(Fe=Fe.apply(se.substitution)),X.push(new Ve(xe,Fe))}var lt=this.rules[S.indicator],Et=e(lt,I);return X.length>0&&Et!==-1?(lt.splice.apply(lt,[Et,1].concat(X)),!0):!1},tt.prototype.unfold=function(I){return this.session.unfold(I)},Pe.prototype.interpret=function(I){return b.error.instantiation(I.level)},Re.prototype.interpret=function(I){return this},q.prototype.interpret=function(I){return b.type.is_unitary_list(this)?this.args[0].interpret(I):b.operate(I,this)},Pe.prototype.compare=function(I){return this.id<I.id?-1:this.id>I.id?1:0},Re.prototype.compare=function(I){if(this.value===I.value&&this.is_float===I.is_float)return 0;if(this.value<I.value||this.value===I.value&&this.is_float&&!I.is_float)return-1;if(this.value>I.value)return 1},q.prototype.compare=function(I){if(this.args.length<I.args.length||this.args.length===I.args.length&&this.id<I.id)return-1;if(this.args.length>I.args.length||this.args.length===I.args.length&&this.id>I.id)return 1;for(var S=0;S<this.args.length;S++){var y=b.compare(this.args[S],I.args[S]);if(y!==0)return y}return 0},Te.prototype.lookup=function(I){return this.links[I]?this.links[I]:null},Te.prototype.filter=function(I){var S={};for(var y in this.links)if(this.links.hasOwnProperty(y)){var R=this.links[y];I(y,R)&&(S[y]=R)}return new Te(S)},Te.prototype.exclude=function(I){var S={};for(var y in this.links)this.links.hasOwnProperty(y)&&e(I,y)===-1&&(S[y]=this.links[y]);return new Te(S)},Te.prototype.add=function(I,S){this.links[I]=S},Te.prototype.domain=function(I){var S=I===!0?function(z){return z}:function(z){return new Pe(z)},y=[];for(var R in this.links)y.push(S(R));return y},Pe.prototype.compile=function(){return'new pl.type.Var("'+this.id.toString()+'")'},Re.prototype.compile=function(){return"new pl.type.Num("+this.value.toString()+", "+this.is_float.toString()+")"},q.prototype.compile=function(){return'new pl.type.Term("'+this.id.replace(/"/g,'\\"')+'", ['+o(this.args,function(I){return I.compile()})+"])"},Ve.prototype.compile=function(){return"new pl.type.Rule("+this.head.compile()+", "+(this.body===null?"null":this.body.compile())+")"},be.prototype.compile=function(){var I,S=[],y;for(var R in this.rules)if(this.rules.hasOwnProperty(R)){var z=this.rules[R];y=[],I='"'+R+'": [';for(var X=0;X<z.length;X++)y.push(z[X].compile());I+=y.join(),I+="]",S.push(I)}return"{"+S.join()+"};"},Pe.prototype.toJavaScript=function(){},Re.prototype.toJavaScript=function(){return this.value},q.prototype.toJavaScript=function(){if(this.args.length===0&&this.indicator!=="[]/0")return this.id;if(b.type.is_list(this)){for(var I=[],S=this,y;S.indicator==="./2";){if(y=S.args[0].toJavaScript(),y===void 0)return;I.push(y),S=S.args[1]}if(S.indicator==="[]/0")return I}},Ve.prototype.singleton_variables=function(){var I=this.head.variables(),S={},y=[];this.body!==null&&(I=I.concat(this.body.variables()));for(var R=0;R<I.length;R++)S[I[R]]===void 0&&(S[I[R]]=0),S[I[R]]++;for(var z in S)z!=="_"&&S[z]===1&&y.push(z);return y};var b={__env:typeof El<"u"&&El.exports?global:window,module:{},version:t,parser:{tokenizer:U,expression:J},utils:{str_indicator:Z,codePointAt:n,fromCodePoint:u},statistics:{getCountTerms:function(){return ht}},fromJavaScript:{test:{boolean:function(I){return I===!0||I===!1},number:function(I){return typeof I=="number"},string:function(I){return typeof I=="string"},list:function(I){return I instanceof Array},variable:function(I){return I===void 0},any:function(I){return!0}},conversion:{boolean:function(I){return new q(I?"true":"false",[])},number:function(I){return new Re(I,I%1!==0)},string:function(I){return new q(I,[])},list:function(I){for(var S=[],y,R=0;R<I.length;R++){if(y=b.fromJavaScript.apply(I[R]),y===void 0)return;S.push(y)}return g(S)},variable:function(I){return new Pe("_")},any:function(I){}},apply:function(I){for(var S in b.fromJavaScript.test)if(S!=="any"&&b.fromJavaScript.test[S](I))return b.fromJavaScript.conversion[S](I);return b.fromJavaScript.conversion.any(I)}},type:{Var:Pe,Num:Re,Term:q,Rule:Ve,State:ke,Stream:Ne,Module:He,Thread:tt,Session:be,Substitution:Te,order:[Pe,Re,q,Ne],compare:function(I,S){var y=e(b.type.order,I.constructor),R=e(b.type.order,S.constructor);if(y<R)return-1;if(y>R)return 1;if(I.constructor===Re){if(I.is_float&&S.is_float)return 0;if(I.is_float)return-1;if(S.is_float)return 1}return 0},is_substitution:function(I){return I instanceof Te},is_state:function(I){return I instanceof ke},is_rule:function(I){return I instanceof Ve},is_variable:function(I){return I instanceof Pe},is_stream:function(I){return I instanceof Ne},is_anonymous_var:function(I){return I instanceof Pe&&I.id==="_"},is_callable:function(I){return I instanceof q},is_number:function(I){return I instanceof Re},is_integer:function(I){return I instanceof Re&&!I.is_float},is_float:function(I){return I instanceof Re&&I.is_float},is_term:function(I){return I instanceof q},is_atom:function(I){return I instanceof q&&I.args.length===0},is_ground:function(I){if(I instanceof Pe)return!1;if(I instanceof q){for(var S=0;S<I.args.length;S++)if(!b.type.is_ground(I.args[S]))return!1}return!0},is_atomic:function(I){return I instanceof q&&I.args.length===0||I instanceof Re},is_compound:function(I){return I instanceof q&&I.args.length>0},is_list:function(I){return I instanceof q&&(I.indicator==="[]/0"||I.indicator==="./2")},is_empty_list:function(I){return I instanceof q&&I.indicator==="[]/0"},is_non_empty_list:function(I){return I instanceof q&&I.indicator==="./2"},is_fully_list:function(I){for(;I instanceof q&&I.indicator==="./2";)I=I.args[1];return I instanceof Pe||I instanceof q&&I.indicator==="[]/0"},is_instantiated_list:function(I){for(;I instanceof q&&I.indicator==="./2";)I=I.args[1];return I instanceof q&&I.indicator==="[]/0"},is_unitary_list:function(I){return I instanceof q&&I.indicator==="./2"&&I.args[1]instanceof q&&I.args[1].indicator==="[]/0"},is_character:function(I){return I instanceof q&&(I.id.length===1||I.id.length>0&&I.id.length<=2&&n(I.id,0)>=65536)},is_character_code:function(I){return I instanceof Re&&!I.is_float&&I.value>=0&&I.value<=1114111},is_byte:function(I){return I instanceof Re&&!I.is_float&&I.value>=0&&I.value<=255},is_operator:function(I){return I instanceof q&&b.arithmetic.evaluation[I.indicator]},is_directive:function(I){return I instanceof q&&b.directive[I.indicator]!==void 0},is_builtin:function(I){return I instanceof q&&b.predicate[I.indicator]!==void 0},is_error:function(I){return I instanceof q&&I.indicator==="throw/1"},is_predicate_indicator:function(I){return I instanceof q&&I.indicator==="//2"&&I.args[0]instanceof q&&I.args[0].args.length===0&&I.args[1]instanceof Re&&I.args[1].is_float===!1},is_flag:function(I){return I instanceof q&&I.args.length===0&&b.flag[I.id]!==void 0},is_value_flag:function(I,S){if(!b.type.is_flag(I))return!1;for(var y in b.flag[I.id].allowed)if(b.flag[I.id].allowed.hasOwnProperty(y)&&b.flag[I.id].allowed[y].equals(S))return!0;return!1},is_io_mode:function(I){return b.type.is_atom(I)&&["read","write","append"].indexOf(I.id)!==-1},is_stream_option:function(I){return b.type.is_term(I)&&(I.indicator==="alias/1"&&b.type.is_atom(I.args[0])||I.indicator==="reposition/1"&&b.type.is_atom(I.args[0])&&(I.args[0].id==="true"||I.args[0].id==="false")||I.indicator==="type/1"&&b.type.is_atom(I.args[0])&&(I.args[0].id==="text"||I.args[0].id==="binary")||I.indicator==="eof_action/1"&&b.type.is_atom(I.args[0])&&(I.args[0].id==="error"||I.args[0].id==="eof_code"||I.args[0].id==="reset"))},is_stream_position:function(I){return b.type.is_integer(I)&&I.value>=0||b.type.is_atom(I)&&(I.id==="end_of_stream"||I.id==="past_end_of_stream")},is_stream_property:function(I){return b.type.is_term(I)&&(I.indicator==="input/0"||I.indicator==="output/0"||I.indicator==="alias/1"&&(b.type.is_variable(I.args[0])||b.type.is_atom(I.args[0]))||I.indicator==="file_name/1"&&(b.type.is_variable(I.args[0])||b.type.is_atom(I.args[0]))||I.indicator==="position/1"&&(b.type.is_variable(I.args[0])||b.type.is_stream_position(I.args[0]))||I.indicator==="reposition/1"&&(b.type.is_variable(I.args[0])||b.type.is_atom(I.args[0])&&(I.args[0].id==="true"||I.args[0].id==="false"))||I.indicator==="type/1"&&(b.type.is_variable(I.args[0])||b.type.is_atom(I.args[0])&&(I.args[0].id==="text"||I.args[0].id==="binary"))||I.indicator==="mode/1"&&(b.type.is_variable(I.args[0])||b.type.is_atom(I.args[0])&&(I.args[0].id==="read"||I.args[0].id==="write"||I.args[0].id==="append"))||I.indicator==="eof_action/1"&&(b.type.is_variable(I.args[0])||b.type.is_atom(I.args[0])&&(I.args[0].id==="error"||I.args[0].id==="eof_code"||I.args[0].id==="reset"))||I.indicator==="end_of_stream/1"&&(b.type.is_variable(I.args[0])||b.type.is_atom(I.args[0])&&(I.args[0].id==="at"||I.args[0].id==="past"||I.args[0].id==="not")))},is_streamable:function(I){return I.__proto__.stream!==void 0},is_read_option:function(I){return b.type.is_term(I)&&["variables/1","variable_names/1","singletons/1"].indexOf(I.indicator)!==-1},is_write_option:function(I){return b.type.is_term(I)&&(I.indicator==="quoted/1"&&b.type.is_atom(I.args[0])&&(I.args[0].id==="true"||I.args[0].id==="false")||I.indicator==="ignore_ops/1"&&b.type.is_atom(I.args[0])&&(I.args[0].id==="true"||I.args[0].id==="false")||I.indicator==="numbervars/1"&&b.type.is_atom(I.args[0])&&(I.args[0].id==="true"||I.args[0].id==="false"))},is_close_option:function(I){return b.type.is_term(I)&&I.indicator==="force/1"&&b.type.is_atom(I.args[0])&&(I.args[0].id==="true"||I.args[0].id==="false")},is_modifiable_flag:function(I){return b.type.is_flag(I)&&b.flag[I.id].changeable},is_module:function(I){return I instanceof q&&I.indicator==="library/1"&&I.args[0]instanceof q&&I.args[0].args.length===0&&b.module[I.args[0].id]!==void 0}},arithmetic:{evaluation:{"e/0":{type_args:null,type_result:!0,fn:function(I){return Math.E}},"pi/0":{type_args:null,type_result:!0,fn:function(I){return Math.PI}},"tau/0":{type_args:null,type_result:!0,fn:function(I){return 2*Math.PI}},"epsilon/0":{type_args:null,type_result:!0,fn:function(I){return Number.EPSILON}},"+/1":{type_args:null,type_result:null,fn:function(I,S){return I}},"-/1":{type_args:null,type_result:null,fn:function(I,S){return-I}},"\\/1":{type_args:!1,type_result:!1,fn:function(I,S){return~I}},"abs/1":{type_args:null,type_result:null,fn:function(I,S){return Math.abs(I)}},"sign/1":{type_args:null,type_result:null,fn:function(I,S){return Math.sign(I)}},"float_integer_part/1":{type_args:!0,type_result:!1,fn:function(I,S){return parseInt(I)}},"float_fractional_part/1":{type_args:!0,type_result:!0,fn:function(I,S){return I-parseInt(I)}},"float/1":{type_args:null,type_result:!0,fn:function(I,S){return parseFloat(I)}},"floor/1":{type_args:!0,type_result:!1,fn:function(I,S){return Math.floor(I)}},"truncate/1":{type_args:!0,type_result:!1,fn:function(I,S){return parseInt(I)}},"round/1":{type_args:!0,type_result:!1,fn:function(I,S){return Math.round(I)}},"ceiling/1":{type_args:!0,type_result:!1,fn:function(I,S){return Math.ceil(I)}},"sin/1":{type_args:null,type_result:!0,fn:function(I,S){return Math.sin(I)}},"cos/1":{type_args:null,type_result:!0,fn:function(I,S){return Math.cos(I)}},"tan/1":{type_args:null,type_result:!0,fn:function(I,S){return Math.tan(I)}},"asin/1":{type_args:null,type_result:!0,fn:function(I,S){return Math.asin(I)}},"acos/1":{type_args:null,type_result:!0,fn:function(I,S){return Math.acos(I)}},"atan/1":{type_args:null,type_result:!0,fn:function(I,S){return Math.atan(I)}},"atan2/2":{type_args:null,type_result:!0,fn:function(I,S,y){return Math.atan2(I,S)}},"exp/1":{type_args:null,type_result:!0,fn:function(I,S){return Math.exp(I)}},"sqrt/1":{type_args:null,type_result:!0,fn:function(I,S){return Math.sqrt(I)}},"log/1":{type_args:null,type_result:!0,fn:function(I,S){return I>0?Math.log(I):b.error.evaluation("undefined",S.__call_indicator)}},"+/2":{type_args:null,type_result:null,fn:function(I,S,y){return I+S}},"-/2":{type_args:null,type_result:null,fn:function(I,S,y){return I-S}},"*/2":{type_args:null,type_result:null,fn:function(I,S,y){return I*S}},"//2":{type_args:null,type_result:!0,fn:function(I,S,y){return S?I/S:b.error.evaluation("zero_division",y.__call_indicator)}},"///2":{type_args:!1,type_result:!1,fn:function(I,S,y){return S?parseInt(I/S):b.error.evaluation("zero_division",y.__call_indicator)}},"**/2":{type_args:null,type_result:!0,fn:function(I,S,y){return Math.pow(I,S)}},"^/2":{type_args:null,type_result:null,fn:function(I,S,y){return Math.pow(I,S)}},"<</2":{type_args:!1,type_result:!1,fn:function(I,S,y){return I<<S}},">>/2":{type_args:!1,type_result:!1,fn:function(I,S,y){return I>>S}},"/\\/2":{type_args:!1,type_result:!1,fn:function(I,S,y){return I&S}},"\\//2":{type_args:!1,type_result:!1,fn:function(I,S,y){return I|S}},"xor/2":{type_args:!1,type_result:!1,fn:function(I,S,y){return I^S}},"rem/2":{type_args:!1,type_result:!1,fn:function(I,S,y){return S?I%S:b.error.evaluation("zero_division",y.__call_indicator)}},"mod/2":{type_args:!1,type_result:!1,fn:function(I,S,y){return S?I-parseInt(I/S)*S:b.error.evaluation("zero_division",y.__call_indicator)}},"max/2":{type_args:null,type_result:null,fn:function(I,S,y){return Math.max(I,S)}},"min/2":{type_args:null,type_result:null,fn:function(I,S,y){return Math.min(I,S)}}}},directive:{"dynamic/1":function(I,S){var y=S.args[0];if(b.type.is_variable(y))I.throw_error(b.error.instantiation(S.indicator));else if(!b.type.is_compound(y)||y.indicator!=="//2")I.throw_error(b.error.type("predicate_indicator",y,S.indicator));else if(b.type.is_variable(y.args[0])||b.type.is_variable(y.args[1]))I.throw_error(b.error.instantiation(S.indicator));else if(!b.type.is_atom(y.args[0]))I.throw_error(b.error.type("atom",y.args[0],S.indicator));else if(!b.type.is_integer(y.args[1]))I.throw_error(b.error.type("integer",y.args[1],S.indicator));else{var R=S.args[0].args[0].id+"/"+S.args[0].args[1].value;I.session.public_predicates[R]=!0,I.session.rules[R]||(I.session.rules[R]=[])}},"multifile/1":function(I,S){var y=S.args[0];b.type.is_variable(y)?I.throw_error(b.error.instantiation(S.indicator)):!b.type.is_compound(y)||y.indicator!=="//2"?I.throw_error(b.error.type("predicate_indicator",y,S.indicator)):b.type.is_variable(y.args[0])||b.type.is_variable(y.args[1])?I.throw_error(b.error.instantiation(S.indicator)):b.type.is_atom(y.args[0])?b.type.is_integer(y.args[1])?I.session.multifile_predicates[S.args[0].args[0].id+"/"+S.args[0].args[1].value]=!0:I.throw_error(b.error.type("integer",y.args[1],S.indicator)):I.throw_error(b.error.type("atom",y.args[0],S.indicator))},"set_prolog_flag/2":function(I,S){var y=S.args[0],R=S.args[1];b.type.is_variable(y)||b.type.is_variable(R)?I.throw_error(b.error.instantiation(S.indicator)):b.type.is_atom(y)?b.type.is_flag(y)?b.type.is_value_flag(y,R)?b.type.is_modifiable_flag(y)?I.session.flag[y.id]=R:I.throw_error(b.error.permission("modify","flag",y)):I.throw_error(b.error.domain("flag_value",new q("+",[y,R]),S.indicator)):I.throw_error(b.error.domain("prolog_flag",y,S.indicator)):I.throw_error(b.error.type("atom",y,S.indicator))},"use_module/1":function(I,S){var y=S.args[0];if(b.type.is_variable(y))I.throw_error(b.error.instantiation(S.indicator));else if(!b.type.is_term(y))I.throw_error(b.error.type("term",y,S.indicator));else if(b.type.is_module(y)){var R=y.args[0].id;e(I.session.modules,R)===-1&&I.session.modules.push(R)}},"char_conversion/2":function(I,S){var y=S.args[0],R=S.args[1];b.type.is_variable(y)||b.type.is_variable(R)?I.throw_error(b.error.instantiation(S.indicator)):b.type.is_character(y)?b.type.is_character(R)?y.id===R.id?delete I.session.__char_conversion[y.id]:I.session.__char_conversion[y.id]=R.id:I.throw_error(b.error.type("character",R,S.indicator)):I.throw_error(b.error.type("character",y,S.indicator))},"op/3":function(I,S){var y=S.args[0],R=S.args[1],z=S.args[2];if(b.type.is_variable(y)||b.type.is_variable(R)||b.type.is_variable(z))I.throw_error(b.error.instantiation(S.indicator));else if(!b.type.is_integer(y))I.throw_error(b.error.type("integer",y,S.indicator));else if(!b.type.is_atom(R))I.throw_error(b.error.type("atom",R,S.indicator));else if(!b.type.is_atom(z))I.throw_error(b.error.type("atom",z,S.indicator));else if(y.value<0||y.value>1200)I.throw_error(b.error.domain("operator_priority",y,S.indicator));else if(z.id===",")I.throw_error(b.error.permission("modify","operator",z,S.indicator));else if(z.id==="|"&&(y.value<1001||R.id.length!==3))I.throw_error(b.error.permission("modify","operator",z,S.indicator));else if(["fy","fx","yf","xf","xfx","yfx","xfy"].indexOf(R.id)===-1)I.throw_error(b.error.domain("operator_specifier",R,S.indicator));else{var X={prefix:null,infix:null,postfix:null};for(var $ in I.session.__operators)if(I.session.__operators.hasOwnProperty($)){var se=I.session.__operators[$][z.id];se&&(e(se,"fx")!==-1&&(X.prefix={priority:$,type:"fx"}),e(se,"fy")!==-1&&(X.prefix={priority:$,type:"fy"}),e(se,"xf")!==-1&&(X.postfix={priority:$,type:"xf"}),e(se,"yf")!==-1&&(X.postfix={priority:$,type:"yf"}),e(se,"xfx")!==-1&&(X.infix={priority:$,type:"xfx"}),e(se,"xfy")!==-1&&(X.infix={priority:$,type:"xfy"}),e(se,"yfx")!==-1&&(X.infix={priority:$,type:"yfx"}))}var xe;switch(R.id){case"fy":case"fx":xe="prefix";break;case"yf":case"xf":xe="postfix";break;default:xe="infix";break}if(((X.prefix&&xe==="prefix"||X.postfix&&xe==="postfix"||X.infix&&xe==="infix")&&X[xe].type!==R.id||X.infix&&xe==="postfix"||X.postfix&&xe==="infix")&&y.value!==0)I.throw_error(b.error.permission("create","operator",z,S.indicator));else return X[xe]&&(me(I.session.__operators[X[xe].priority][z.id],R.id),I.session.__operators[X[xe].priority][z.id].length===0&&delete I.session.__operators[X[xe].priority][z.id]),y.value>0&&(I.session.__operators[y.value]||(I.session.__operators[y.value.toString()]={}),I.session.__operators[y.value][z.id]||(I.session.__operators[y.value][z.id]=[]),I.session.__operators[y.value][z.id].push(R.id)),!0}}},predicate:{"op/3":function(I,S,y){b.directive["op/3"](I,y)&&I.success(S)},"current_op/3":function(I,S,y){var R=y.args[0],z=y.args[1],X=y.args[2],$=[];for(var se in I.session.__operators)for(var xe in I.session.__operators[se])for(var Fe=0;Fe<I.session.__operators[se][xe].length;Fe++)$.push(new ke(S.goal.replace(new q(",",[new q("=",[new Re(se,!1),R]),new q(",",[new q("=",[new q(I.session.__operators[se][xe][Fe],[]),z]),new q("=",[new q(xe,[]),X])])])),S.substitution,S));I.prepend($)},";/2":function(I,S,y){if(b.type.is_term(y.args[0])&&y.args[0].indicator==="->/2"){var R=I.points,z=I.session.format_success,X=I.session.format_error;I.session.format_success=function(Fe){return Fe.substitution},I.session.format_error=function(Fe){return Fe.goal},I.points=[new ke(y.args[0].args[0],S.substitution,S)];var $=function(Fe){I.points=R,I.session.format_success=z,I.session.format_error=X,Fe===!1?I.prepend([new ke(S.goal.replace(y.args[1]),S.substitution,S)]):b.type.is_error(Fe)?I.throw_error(Fe.args[0]):Fe===null?(I.prepend([S]),I.__calls.shift()(null)):I.prepend([new ke(S.goal.replace(y.args[0].args[1]).apply(Fe),S.substitution.apply(Fe),S)])};I.__calls.unshift($)}else{var se=new ke(S.goal.replace(y.args[0]),S.substitution,S),xe=new ke(S.goal.replace(y.args[1]),S.substitution,S);I.prepend([se,xe])}},"!/0":function(I,S,y){var R,z,X=[];for(R=S,z=null;R.parent!==null&&R.parent.goal.search(y);)if(z=R,R=R.parent,R.goal!==null){var $=R.goal.select();if($&&$.id==="call"&&$.search(y)){R=z;break}}for(var se=I.points.length-1;se>=0;se--){for(var xe=I.points[se],Fe=xe.parent;Fe!==null&&Fe!==R.parent;)Fe=Fe.parent;Fe===null&&Fe!==R.parent&&X.push(xe)}I.points=X.reverse(),I.success(S)},"\\+/1":function(I,S,y){var R=y.args[0];b.type.is_variable(R)?I.throw_error(b.error.instantiation(I.level)):b.type.is_callable(R)?I.prepend([new ke(S.goal.replace(new q(",",[new q(",",[new q("call",[R]),new q("!",[])]),new q("fail",[])])),S.substitution,S),new ke(S.goal.replace(null),S.substitution,S)]):I.throw_error(b.error.type("callable",R,I.level))},"->/2":function(I,S,y){var R=S.goal.replace(new q(",",[y.args[0],new q(",",[new q("!"),y.args[1]])]));I.prepend([new ke(R,S.substitution,S)])},"fail/0":function(I,S,y){},"false/0":function(I,S,y){},"true/0":function(I,S,y){I.success(S)},"call/1":ie(1),"call/2":ie(2),"call/3":ie(3),"call/4":ie(4),"call/5":ie(5),"call/6":ie(6),"call/7":ie(7),"call/8":ie(8),"once/1":function(I,S,y){var R=y.args[0];I.prepend([new ke(S.goal.replace(new q(",",[new q("call",[R]),new q("!",[])])),S.substitution,S)])},"forall/2":function(I,S,y){var R=y.args[0],z=y.args[1];I.prepend([new ke(S.goal.replace(new q("\\+",[new q(",",[new q("call",[R]),new q("\\+",[new q("call",[z])])])])),S.substitution,S)])},"repeat/0":function(I,S,y){I.prepend([new ke(S.goal.replace(null),S.substitution,S),S])},"throw/1":function(I,S,y){b.type.is_variable(y.args[0])?I.throw_error(b.error.instantiation(I.level)):I.throw_error(y.args[0])},"catch/3":function(I,S,y){var R=I.points;I.points=[],I.prepend([new ke(y.args[0],S.substitution,S)]);var z=I.session.format_success,X=I.session.format_error;I.session.format_success=function(se){return se.substitution},I.session.format_error=function(se){return se.goal};var $=function(se){var xe=I.points;if(I.points=R,I.session.format_success=z,I.session.format_error=X,b.type.is_error(se)){for(var Fe=[],lt=I.points.length-1;lt>=0;lt--){for(var nr=I.points[lt],Et=nr.parent;Et!==null&&Et!==S.parent;)Et=Et.parent;Et===null&&Et!==S.parent&&Fe.push(nr)}I.points=Fe;var qt=I.get_flag("occurs_check").indicator==="true/0",nr=new ke,St=b.unify(se.args[0],y.args[1],qt);St!==null?(nr.substitution=S.substitution.apply(St),nr.goal=S.goal.replace(y.args[2]).apply(St),nr.parent=S,I.prepend([nr])):I.throw_error(se.args[0])}else if(se!==!1){for(var cn=se===null?[]:[new ke(S.goal.apply(se).replace(null),S.substitution.apply(se),S)],Pr=[],lt=xe.length-1;lt>=0;lt--){Pr.push(xe[lt]);var yr=xe[lt].goal!==null?xe[lt].goal.select():null;if(b.type.is_term(yr)&&yr.indicator==="!/0")break}var Rr=o(Pr,function(Xr){return Xr.goal===null&&(Xr.goal=new q("true",[])),Xr=new ke(S.goal.replace(new q("catch",[Xr.goal,y.args[1],y.args[2]])),S.substitution.apply(Xr.substitution),Xr.parent),Xr.exclude=y.args[0].variables(),Xr}).reverse();I.prepend(Rr),I.prepend(cn),se===null&&(this.current_limit=0,I.__calls.shift()(null))}};I.__calls.unshift($)},"=/2":function(I,S,y){var R=I.get_flag("occurs_check").indicator==="true/0",z=new ke,X=b.unify(y.args[0],y.args[1],R);X!==null&&(z.goal=S.goal.apply(X).replace(null),z.substitution=S.substitution.apply(X),z.parent=S,I.prepend([z]))},"unify_with_occurs_check/2":function(I,S,y){var R=new ke,z=b.unify(y.args[0],y.args[1],!0);z!==null&&(R.goal=S.goal.apply(z).replace(null),R.substitution=S.substitution.apply(z),R.parent=S,I.prepend([R]))},"\\=/2":function(I,S,y){var R=I.get_flag("occurs_check").indicator==="true/0",z=b.unify(y.args[0],y.args[1],R);z===null&&I.success(S)},"subsumes_term/2":function(I,S,y){var R=I.get_flag("occurs_check").indicator==="true/0",z=b.unify(y.args[1],y.args[0],R);z!==null&&y.args[1].apply(z).equals(y.args[1])&&I.success(S)},"findall/3":function(I,S,y){var R=y.args[0],z=y.args[1],X=y.args[2];if(b.type.is_variable(z))I.throw_error(b.error.instantiation(y.indicator));else if(!b.type.is_callable(z))I.throw_error(b.error.type("callable",z,y.indicator));else if(!b.type.is_variable(X)&&!b.type.is_list(X))I.throw_error(b.error.type("list",X,y.indicator));else{var $=I.next_free_variable(),se=new q(",",[z,new q("=",[$,R])]),xe=I.points,Fe=I.session.limit,lt=I.session.format_success;I.session.format_success=function(nr){return nr.substitution},I.add_goal(se,!0,S);var Et=[],qt=function(nr){if(nr!==!1&&nr!==null&&!b.type.is_error(nr))I.__calls.unshift(qt),Et.push(nr.links[$.id]),I.session.limit=I.current_limit;else if(I.points=xe,I.session.limit=Fe,I.session.format_success=lt,b.type.is_error(nr))I.throw_error(nr.args[0]);else if(I.current_limit>0){for(var St=new q("[]"),cn=Et.length-1;cn>=0;cn--)St=new q(".",[Et[cn],St]);I.prepend([new ke(S.goal.replace(new q("=",[X,St])),S.substitution,S)])}};I.__calls.unshift(qt)}},"bagof/3":function(I,S,y){var R,z=y.args[0],X=y.args[1],$=y.args[2];if(b.type.is_variable(X))I.throw_error(b.error.instantiation(y.indicator));else if(!b.type.is_callable(X))I.throw_error(b.error.type("callable",X,y.indicator));else if(!b.type.is_variable($)&&!b.type.is_list($))I.throw_error(b.error.type("list",$,y.indicator));else{var se=I.next_free_variable(),xe;X.indicator==="^/2"?(xe=X.args[0].variables(),X=X.args[1]):xe=[],xe=xe.concat(z.variables());for(var Fe=X.variables().filter(function(Rr){return e(xe,Rr)===-1}),lt=new q("[]"),Et=Fe.length-1;Et>=0;Et--)lt=new q(".",[new Pe(Fe[Et]),lt]);var qt=new q(",",[X,new q("=",[se,new q(",",[lt,z])])]),nr=I.points,St=I.session.limit,cn=I.session.format_success;I.session.format_success=function(Rr){return Rr.substitution},I.add_goal(qt,!0,S);var Pr=[],yr=function(Rr){if(Rr!==!1&&Rr!==null&&!b.type.is_error(Rr)){I.__calls.unshift(yr);var Xr=!1,$n=Rr.links[se.id].args[0],Xs=Rr.links[se.id].args[1];for(var Hi in Pr)if(Pr.hasOwnProperty(Hi)){var Qs=Pr[Hi];if(Qs.variables.equals($n)){Qs.answers.push(Xs),Xr=!0;break}}Xr||Pr.push({variables:$n,answers:[Xs]}),I.session.limit=I.current_limit}else if(I.points=nr,I.session.limit=St,I.session.format_success=cn,b.type.is_error(Rr))I.throw_error(Rr.args[0]);else if(I.current_limit>0){for(var Zs=[],xi=0;xi<Pr.length;xi++){Rr=Pr[xi].answers;for(var Fs=new q("[]"),$s=Rr.length-1;$s>=0;$s--)Fs=new q(".",[Rr[$s],Fs]);Zs.push(new ke(S.goal.replace(new q(",",[new q("=",[lt,Pr[xi].variables]),new q("=",[$,Fs])])),S.substitution,S))}I.prepend(Zs)}};I.__calls.unshift(yr)}},"setof/3":function(I,S,y){var R,z=y.args[0],X=y.args[1],$=y.args[2];if(b.type.is_variable(X))I.throw_error(b.error.instantiation(y.indicator));else if(!b.type.is_callable(X))I.throw_error(b.error.type("callable",X,y.indicator));else if(!b.type.is_variable($)&&!b.type.is_list($))I.throw_error(b.error.type("list",$,y.indicator));else{var se=I.next_free_variable(),xe;X.indicator==="^/2"?(xe=X.args[0].variables(),X=X.args[1]):xe=[],xe=xe.concat(z.variables());for(var Fe=X.variables().filter(function(Rr){return e(xe,Rr)===-1}),lt=new q("[]"),Et=Fe.length-1;Et>=0;Et--)lt=new q(".",[new Pe(Fe[Et]),lt]);var qt=new q(",",[X,new q("=",[se,new q(",",[lt,z])])]),nr=I.points,St=I.session.limit,cn=I.session.format_success;I.session.format_success=function(Rr){return Rr.substitution},I.add_goal(qt,!0,S);var Pr=[],yr=function(Rr){if(Rr!==!1&&Rr!==null&&!b.type.is_error(Rr)){I.__calls.unshift(yr);var Xr=!1,$n=Rr.links[se.id].args[0],Xs=Rr.links[se.id].args[1];for(var Hi in Pr)if(Pr.hasOwnProperty(Hi)){var Qs=Pr[Hi];if(Qs.variables.equals($n)){Qs.answers.push(Xs),Xr=!0;break}}Xr||Pr.push({variables:$n,answers:[Xs]}),I.session.limit=I.current_limit}else if(I.points=nr,I.session.limit=St,I.session.format_success=cn,b.type.is_error(Rr))I.throw_error(Rr.args[0]);else if(I.current_limit>0){for(var Zs=[],xi=0;xi<Pr.length;xi++){Rr=Pr[xi].answers.sort(b.compare);for(var Fs=new q("[]"),$s=Rr.length-1;$s>=0;$s--)Fs=new q(".",[Rr[$s],Fs]);Zs.push(new ke(S.goal.replace(new q(",",[new q("=",[lt,Pr[xi].variables]),new q("=",[$,Fs])])),S.substitution,S))}I.prepend(Zs)}};I.__calls.unshift(yr)}},"functor/3":function(I,S,y){var R,z=y.args[0],X=y.args[1],$=y.args[2];if(b.type.is_variable(z)&&(b.type.is_variable(X)||b.type.is_variable($)))I.throw_error(b.error.instantiation("functor/3"));else if(!b.type.is_variable($)&&!b.type.is_integer($))I.throw_error(b.error.type("integer",y.args[2],"functor/3"));else if(!b.type.is_variable(X)&&!b.type.is_atomic(X))I.throw_error(b.error.type("atomic",y.args[1],"functor/3"));else if(b.type.is_integer(X)&&b.type.is_integer($)&&$.value!==0)I.throw_error(b.error.type("atom",y.args[1],"functor/3"));else if(b.type.is_variable(z)){if(y.args[2].value>=0){for(var se=[],xe=0;xe<$.value;xe++)se.push(I.next_free_variable());var Fe=b.type.is_integer(X)?X:new q(X.id,se);I.prepend([new ke(S.goal.replace(new q("=",[z,Fe])),S.substitution,S)])}}else{var lt=b.type.is_integer(z)?z:new q(z.id,[]),Et=b.type.is_integer(z)?new Re(0,!1):new Re(z.args.length,!1),qt=new q(",",[new q("=",[lt,X]),new q("=",[Et,$])]);I.prepend([new ke(S.goal.replace(qt),S.substitution,S)])}},"arg/3":function(I,S,y){if(b.type.is_variable(y.args[0])||b.type.is_variable(y.args[1]))I.throw_error(b.error.instantiation(y.indicator));else if(y.args[0].value<0)I.throw_error(b.error.domain("not_less_than_zero",y.args[0],y.indicator));else if(!b.type.is_compound(y.args[1]))I.throw_error(b.error.type("compound",y.args[1],y.indicator));else{var R=y.args[0].value;if(R>0&&R<=y.args[1].args.length){var z=new q("=",[y.args[1].args[R-1],y.args[2]]);I.prepend([new ke(S.goal.replace(z),S.substitution,S)])}}},"=../2":function(I,S,y){var R;if(b.type.is_variable(y.args[0])&&(b.type.is_variable(y.args[1])||b.type.is_non_empty_list(y.args[1])&&b.type.is_variable(y.args[1].args[0])))I.throw_error(b.error.instantiation(y.indicator));else if(!b.type.is_fully_list(y.args[1]))I.throw_error(b.error.type("list",y.args[1],y.indicator));else if(b.type.is_variable(y.args[0])){if(!b.type.is_variable(y.args[1])){var X=[];for(R=y.args[1].args[1];R.indicator==="./2";)X.push(R.args[0]),R=R.args[1];b.type.is_variable(y.args[0])&&b.type.is_variable(R)?I.throw_error(b.error.instantiation(y.indicator)):X.length===0&&b.type.is_compound(y.args[1].args[0])?I.throw_error(b.error.type("atomic",y.args[1].args[0],y.indicator)):X.length>0&&(b.type.is_compound(y.args[1].args[0])||b.type.is_number(y.args[1].args[0]))?I.throw_error(b.error.type("atom",y.args[1].args[0],y.indicator)):X.length===0?I.prepend([new ke(S.goal.replace(new q("=",[y.args[1].args[0],y.args[0]],S)),S.substitution,S)]):I.prepend([new ke(S.goal.replace(new q("=",[new q(y.args[1].args[0].id,X),y.args[0]])),S.substitution,S)])}}else{if(b.type.is_atomic(y.args[0]))R=new q(".",[y.args[0],new q("[]")]);else{R=new q("[]");for(var z=y.args[0].args.length-1;z>=0;z--)R=new q(".",[y.args[0].args[z],R]);R=new q(".",[new q(y.args[0].id),R])}I.prepend([new ke(S.goal.replace(new q("=",[R,y.args[1]])),S.substitution,S)])}},"copy_term/2":function(I,S,y){var R=y.args[0].rename(I);I.prepend([new ke(S.goal.replace(new q("=",[R,y.args[1]])),S.substitution,S.parent)])},"term_variables/2":function(I,S,y){var R=y.args[0],z=y.args[1];if(!b.type.is_fully_list(z))I.throw_error(b.error.type("list",z,y.indicator));else{var X=g(o(Ce(R.variables()),function($){return new Pe($)}));I.prepend([new ke(S.goal.replace(new q("=",[z,X])),S.substitution,S)])}},"clause/2":function(I,S,y){if(b.type.is_variable(y.args[0]))I.throw_error(b.error.instantiation(y.indicator));else if(!b.type.is_callable(y.args[0]))I.throw_error(b.error.type("callable",y.args[0],y.indicator));else if(!b.type.is_variable(y.args[1])&&!b.type.is_callable(y.args[1]))I.throw_error(b.error.type("callable",y.args[1],y.indicator));else if(I.session.rules[y.args[0].indicator]!==void 0)if(I.is_public_predicate(y.args[0].indicator)){var R=[];for(var z in I.session.rules[y.args[0].indicator])if(I.session.rules[y.args[0].indicator].hasOwnProperty(z)){var X=I.session.rules[y.args[0].indicator][z];I.session.renamed_variables={},X=X.rename(I),X.body===null&&(X.body=new q("true"));var $=new q(",",[new q("=",[X.head,y.args[0]]),new q("=",[X.body,y.args[1]])]);R.push(new ke(S.goal.replace($),S.substitution,S))}I.prepend(R)}else I.throw_error(b.error.permission("access","private_procedure",y.args[0].indicator,y.indicator))},"current_predicate/1":function(I,S,y){var R=y.args[0];if(!b.type.is_variable(R)&&(!b.type.is_compound(R)||R.indicator!=="//2"))I.throw_error(b.error.type("predicate_indicator",R,y.indicator));else if(!b.type.is_variable(R)&&!b.type.is_variable(R.args[0])&&!b.type.is_atom(R.args[0]))I.throw_error(b.error.type("atom",R.args[0],y.indicator));else if(!b.type.is_variable(R)&&!b.type.is_variable(R.args[1])&&!b.type.is_integer(R.args[1]))I.throw_error(b.error.type("integer",R.args[1],y.indicator));else{var z=[];for(var X in I.session.rules)if(I.session.rules.hasOwnProperty(X)){var $=X.lastIndexOf("/"),se=X.substr(0,$),xe=parseInt(X.substr($+1,X.length-($+1))),Fe=new q("/",[new q(se),new Re(xe,!1)]),lt=new q("=",[Fe,R]);z.push(new ke(S.goal.replace(lt),S.substitution,S))}I.prepend(z)}},"asserta/1":function(I,S,y){if(b.type.is_variable(y.args[0]))I.throw_error(b.error.instantiation(y.indicator));else if(!b.type.is_callable(y.args[0]))I.throw_error(b.error.type("callable",y.args[0],y.indicator));else{var R,z;y.args[0].indicator===":-/2"?(R=y.args[0].args[0],z=Ee(y.args[0].args[1])):(R=y.args[0],z=null),b.type.is_callable(R)?z!==null&&!b.type.is_callable(z)?I.throw_error(b.error.type("callable",z,y.indicator)):I.is_public_predicate(R.indicator)?(I.session.rules[R.indicator]===void 0&&(I.session.rules[R.indicator]=[]),I.session.public_predicates[R.indicator]=!0,I.session.rules[R.indicator]=[new Ve(R,z,!0)].concat(I.session.rules[R.indicator]),I.success(S)):I.throw_error(b.error.permission("modify","static_procedure",R.indicator,y.indicator)):I.throw_error(b.error.type("callable",R,y.indicator))}},"assertz/1":function(I,S,y){if(b.type.is_variable(y.args[0]))I.throw_error(b.error.instantiation(y.indicator));else if(!b.type.is_callable(y.args[0]))I.throw_error(b.error.type("callable",y.args[0],y.indicator));else{var R,z;y.args[0].indicator===":-/2"?(R=y.args[0].args[0],z=Ee(y.args[0].args[1])):(R=y.args[0],z=null),b.type.is_callable(R)?z!==null&&!b.type.is_callable(z)?I.throw_error(b.error.type("callable",z,y.indicator)):I.is_public_predicate(R.indicator)?(I.session.rules[R.indicator]===void 0&&(I.session.rules[R.indicator]=[]),I.session.public_predicates[R.indicator]=!0,I.session.rules[R.indicator].push(new Ve(R,z,!0)),I.success(S)):I.throw_error(b.error.permission("modify","static_procedure",R.indicator,y.indicator)):I.throw_error(b.error.type("callable",R,y.indicator))}},"retract/1":function(I,S,y){if(b.type.is_variable(y.args[0]))I.throw_error(b.error.instantiation(y.indicator));else if(!b.type.is_callable(y.args[0]))I.throw_error(b.error.type("callable",y.args[0],y.indicator));else{var R,z;if(y.args[0].indicator===":-/2"?(R=y.args[0].args[0],z=y.args[0].args[1]):(R=y.args[0],z=new q("true")),typeof S.retract>"u")if(I.is_public_predicate(R.indicator)){if(I.session.rules[R.indicator]!==void 0){for(var X=[],$=0;$<I.session.rules[R.indicator].length;$++){I.session.renamed_variables={};var se=I.session.rules[R.indicator][$],xe=se.rename(I);xe.body===null&&(xe.body=new q("true",[]));var Fe=I.get_flag("occurs_check").indicator==="true/0",lt=b.unify(new q(",",[R,z]),new q(",",[xe.head,xe.body]),Fe);if(lt!==null){var Et=new ke(S.goal.replace(new q(",",[new q("retract",[new q(":-",[R,z])]),new q(",",[new q("=",[R,xe.head]),new q("=",[z,xe.body])])])),S.substitution,S);Et.retract=se,X.push(Et)}}I.prepend(X)}}else I.throw_error(b.error.permission("modify","static_procedure",R.indicator,y.indicator));else fe(I,S,R.indicator,S.retract)}},"retractall/1":function(I,S,y){var R=y.args[0];b.type.is_variable(R)?I.throw_error(b.error.instantiation(y.indicator)):b.type.is_callable(R)?I.prepend([new ke(S.goal.replace(new q(",",[new q("retract",[new b.type.Term(":-",[R,new Pe("_")])]),new q("fail",[])])),S.substitution,S),new ke(S.goal.replace(null),S.substitution,S)]):I.throw_error(b.error.type("callable",R,y.indicator))},"abolish/1":function(I,S,y){if(b.type.is_variable(y.args[0])||b.type.is_term(y.args[0])&&y.args[0].indicator==="//2"&&(b.type.is_variable(y.args[0].args[0])||b.type.is_variable(y.args[0].args[1])))I.throw_error(b.error.instantiation(y.indicator));else if(!b.type.is_term(y.args[0])||y.args[0].indicator!=="//2")I.throw_error(b.error.type("predicate_indicator",y.args[0],y.indicator));else if(!b.type.is_atom(y.args[0].args[0]))I.throw_error(b.error.type("atom",y.args[0].args[0],y.indicator));else if(!b.type.is_integer(y.args[0].args[1]))I.throw_error(b.error.type("integer",y.args[0].args[1],y.indicator));else if(y.args[0].args[1].value<0)I.throw_error(b.error.domain("not_less_than_zero",y.args[0].args[1],y.indicator));else if(b.type.is_number(I.get_flag("max_arity"))&&y.args[0].args[1].value>I.get_flag("max_arity").value)I.throw_error(b.error.representation("max_arity",y.indicator));else{var R=y.args[0].args[0].id+"/"+y.args[0].args[1].value;I.is_public_predicate(R)?(delete I.session.rules[R],I.success(S)):I.throw_error(b.error.permission("modify","static_procedure",R,y.indicator))}},"atom_length/2":function(I,S,y){if(b.type.is_variable(y.args[0]))I.throw_error(b.error.instantiation(y.indicator));else if(!b.type.is_atom(y.args[0]))I.throw_error(b.error.type("atom",y.args[0],y.indicator));else if(!b.type.is_variable(y.args[1])&&!b.type.is_integer(y.args[1]))I.throw_error(b.error.type("integer",y.args[1],y.indicator));else if(b.type.is_integer(y.args[1])&&y.args[1].value<0)I.throw_error(b.error.domain("not_less_than_zero",y.args[1],y.indicator));else{var R=new Re(y.args[0].id.length,!1);I.prepend([new ke(S.goal.replace(new q("=",[R,y.args[1]])),S.substitution,S)])}},"atom_concat/3":function(I,S,y){var R,z,X=y.args[0],$=y.args[1],se=y.args[2];if(b.type.is_variable(se)&&(b.type.is_variable(X)||b.type.is_variable($)))I.throw_error(b.error.instantiation(y.indicator));else if(!b.type.is_variable(X)&&!b.type.is_atom(X))I.throw_error(b.error.type("atom",X,y.indicator));else if(!b.type.is_variable($)&&!b.type.is_atom($))I.throw_error(b.error.type("atom",$,y.indicator));else if(!b.type.is_variable(se)&&!b.type.is_atom(se))I.throw_error(b.error.type("atom",se,y.indicator));else{var xe=b.type.is_variable(X),Fe=b.type.is_variable($);if(!xe&&!Fe)z=new q("=",[se,new q(X.id+$.id)]),I.prepend([new ke(S.goal.replace(z),S.substitution,S)]);else if(xe&&!Fe)R=se.id.substr(0,se.id.length-$.id.length),R+$.id===se.id&&(z=new q("=",[X,new q(R)]),I.prepend([new ke(S.goal.replace(z),S.substitution,S)]));else if(Fe&&!xe)R=se.id.substr(X.id.length),X.id+R===se.id&&(z=new q("=",[$,new q(R)]),I.prepend([new ke(S.goal.replace(z),S.substitution,S)]));else{for(var lt=[],Et=0;Et<=se.id.length;Et++){var qt=new q(se.id.substr(0,Et)),nr=new q(se.id.substr(Et));z=new q(",",[new q("=",[qt,X]),new q("=",[nr,$])]),lt.push(new ke(S.goal.replace(z),S.substitution,S))}I.prepend(lt)}}},"sub_atom/5":function(I,S,y){var R,z=y.args[0],X=y.args[1],$=y.args[2],se=y.args[3],xe=y.args[4];if(b.type.is_variable(z))I.throw_error(b.error.instantiation(y.indicator));else if(!b.type.is_variable(X)&&!b.type.is_integer(X))I.throw_error(b.error.type("integer",X,y.indicator));else if(!b.type.is_variable($)&&!b.type.is_integer($))I.throw_error(b.error.type("integer",$,y.indicator));else if(!b.type.is_variable(se)&&!b.type.is_integer(se))I.throw_error(b.error.type("integer",se,y.indicator));else if(b.type.is_integer(X)&&X.value<0)I.throw_error(b.error.domain("not_less_than_zero",X,y.indicator));else if(b.type.is_integer($)&&$.value<0)I.throw_error(b.error.domain("not_less_than_zero",$,y.indicator));else if(b.type.is_integer(se)&&se.value<0)I.throw_error(b.error.domain("not_less_than_zero",se,y.indicator));else{var Fe=[],lt=[],Et=[];if(b.type.is_variable(X))for(R=0;R<=z.id.length;R++)Fe.push(R);else Fe.push(X.value);if(b.type.is_variable($))for(R=0;R<=z.id.length;R++)lt.push(R);else lt.push($.value);if(b.type.is_variable(se))for(R=0;R<=z.id.length;R++)Et.push(R);else Et.push(se.value);var qt=[];for(var nr in Fe)if(Fe.hasOwnProperty(nr)){R=Fe[nr];for(var St in lt)if(lt.hasOwnProperty(St)){var cn=lt[St],Pr=z.id.length-R-cn;if(e(Et,Pr)!==-1&&R+cn+Pr===z.id.length){var yr=z.id.substr(R,cn);if(z.id===z.id.substr(0,R)+yr+z.id.substr(R+cn,Pr)){var Rr=new q("=",[new q(yr),xe]),Xr=new q("=",[X,new Re(R)]),$n=new q("=",[$,new Re(cn)]),Xs=new q("=",[se,new Re(Pr)]),Hi=new q(",",[new q(",",[new q(",",[Xr,$n]),Xs]),Rr]);qt.push(new ke(S.goal.replace(Hi),S.substitution,S))}}}}I.prepend(qt)}},"atom_chars/2":function(I,S,y){var R=y.args[0],z=y.args[1];if(b.type.is_variable(R)&&b.type.is_variable(z))I.throw_error(b.error.instantiation(y.indicator));else if(!b.type.is_variable(R)&&!b.type.is_atom(R))I.throw_error(b.error.type("atom",R,y.indicator));else if(b.type.is_variable(R)){for(var se=z,xe=b.type.is_variable(R),Fe="";se.indicator==="./2";){if(b.type.is_character(se.args[0]))Fe+=se.args[0].id;else if(b.type.is_variable(se.args[0])&&xe){I.throw_error(b.error.instantiation(y.indicator));return}else if(!b.type.is_variable(se.args[0])){I.throw_error(b.error.type("character",se.args[0],y.indicator));return}se=se.args[1]}b.type.is_variable(se)&&xe?I.throw_error(b.error.instantiation(y.indicator)):!b.type.is_empty_list(se)&&!b.type.is_variable(se)?I.throw_error(b.error.type("list",z,y.indicator)):I.prepend([new ke(S.goal.replace(new q("=",[new q(Fe),R])),S.substitution,S)])}else{for(var X=new q("[]"),$=R.id.length-1;$>=0;$--)X=new q(".",[new q(R.id.charAt($)),X]);I.prepend([new ke(S.goal.replace(new q("=",[z,X])),S.substitution,S)])}},"atom_codes/2":function(I,S,y){var R=y.args[0],z=y.args[1];if(b.type.is_variable(R)&&b.type.is_variable(z))I.throw_error(b.error.instantiation(y.indicator));else if(!b.type.is_variable(R)&&!b.type.is_atom(R))I.throw_error(b.error.type("atom",R,y.indicator));else if(b.type.is_variable(R)){for(var se=z,xe=b.type.is_variable(R),Fe="";se.indicator==="./2";){if(b.type.is_character_code(se.args[0]))Fe+=u(se.args[0].value);else if(b.type.is_variable(se.args[0])&&xe){I.throw_error(b.error.instantiation(y.indicator));return}else if(!b.type.is_variable(se.args[0])){I.throw_error(b.error.representation("character_code",y.indicator));return}se=se.args[1]}b.type.is_variable(se)&&xe?I.throw_error(b.error.instantiation(y.indicator)):!b.type.is_empty_list(se)&&!b.type.is_variable(se)?I.throw_error(b.error.type("list",z,y.indicator)):I.prepend([new ke(S.goal.replace(new q("=",[new q(Fe),R])),S.substitution,S)])}else{for(var X=new q("[]"),$=R.id.length-1;$>=0;$--)X=new q(".",[new Re(n(R.id,$),!1),X]);I.prepend([new ke(S.goal.replace(new q("=",[z,X])),S.substitution,S)])}},"char_code/2":function(I,S,y){var R=y.args[0],z=y.args[1];if(b.type.is_variable(R)&&b.type.is_variable(z))I.throw_error(b.error.instantiation(y.indicator));else if(!b.type.is_variable(R)&&!b.type.is_character(R))I.throw_error(b.error.type("character",R,y.indicator));else if(!b.type.is_variable(z)&&!b.type.is_integer(z))I.throw_error(b.error.type("integer",z,y.indicator));else if(!b.type.is_variable(z)&&!b.type.is_character_code(z))I.throw_error(b.error.representation("character_code",y.indicator));else if(b.type.is_variable(z)){var X=new Re(n(R.id,0),!1);I.prepend([new ke(S.goal.replace(new q("=",[X,z])),S.substitution,S)])}else{var $=new q(u(z.value));I.prepend([new ke(S.goal.replace(new q("=",[$,R])),S.substitution,S)])}},"number_chars/2":function(I,S,y){var R,z=y.args[0],X=y.args[1];if(b.type.is_variable(z)&&b.type.is_variable(X))I.throw_error(b.error.instantiation(y.indicator));else if(!b.type.is_variable(z)&&!b.type.is_number(z))I.throw_error(b.error.type("number",z,y.indicator));else if(!b.type.is_variable(X)&&!b.type.is_list(X))I.throw_error(b.error.type("list",X,y.indicator));else{var $=b.type.is_variable(z);if(!b.type.is_variable(X)){var se=X,xe=!0;for(R="";se.indicator==="./2";){if(b.type.is_character(se.args[0]))R+=se.args[0].id;else if(b.type.is_variable(se.args[0]))xe=!1;else if(!b.type.is_variable(se.args[0])){I.throw_error(b.error.type("character",se.args[0],y.indicator));return}se=se.args[1]}if(xe=xe&&b.type.is_empty_list(se),!b.type.is_empty_list(se)&&!b.type.is_variable(se)){I.throw_error(b.error.type("list",X,y.indicator));return}if(!xe&&$){I.throw_error(b.error.instantiation(y.indicator));return}else if(xe)if(b.type.is_variable(se)&&$){I.throw_error(b.error.instantiation(y.indicator));return}else{var Fe=I.parse(R),lt=Fe.value;!b.type.is_number(lt)||Fe.tokens[Fe.tokens.length-1].space?I.throw_error(b.error.syntax_by_predicate("parseable_number",y.indicator)):I.prepend([new ke(S.goal.replace(new q("=",[z,lt])),S.substitution,S)]);return}}if(!$){R=z.toString();for(var Et=new q("[]"),qt=R.length-1;qt>=0;qt--)Et=new q(".",[new q(R.charAt(qt)),Et]);I.prepend([new ke(S.goal.replace(new q("=",[X,Et])),S.substitution,S)])}}},"number_codes/2":function(I,S,y){var R,z=y.args[0],X=y.args[1];if(b.type.is_variable(z)&&b.type.is_variable(X))I.throw_error(b.error.instantiation(y.indicator));else if(!b.type.is_variable(z)&&!b.type.is_number(z))I.throw_error(b.error.type("number",z,y.indicator));else if(!b.type.is_variable(X)&&!b.type.is_list(X))I.throw_error(b.error.type("list",X,y.indicator));else{var $=b.type.is_variable(z);if(!b.type.is_variable(X)){var se=X,xe=!0;for(R="";se.indicator==="./2";){if(b.type.is_character_code(se.args[0]))R+=u(se.args[0].value);else if(b.type.is_variable(se.args[0]))xe=!1;else if(!b.type.is_variable(se.args[0])){I.throw_error(b.error.type("character_code",se.args[0],y.indicator));return}se=se.args[1]}if(xe=xe&&b.type.is_empty_list(se),!b.type.is_empty_list(se)&&!b.type.is_variable(se)){I.throw_error(b.error.type("list",X,y.indicator));return}if(!xe&&$){I.throw_error(b.error.instantiation(y.indicator));return}else if(xe)if(b.type.is_variable(se)&&$){I.throw_error(b.error.instantiation(y.indicator));return}else{var Fe=I.parse(R),lt=Fe.value;!b.type.is_number(lt)||Fe.tokens[Fe.tokens.length-1].space?I.throw_error(b.error.syntax_by_predicate("parseable_number",y.indicator)):I.prepend([new ke(S.goal.replace(new q("=",[z,lt])),S.substitution,S)]);return}}if(!$){R=z.toString();for(var Et=new q("[]"),qt=R.length-1;qt>=0;qt--)Et=new q(".",[new Re(n(R,qt),!1),Et]);I.prepend([new ke(S.goal.replace(new q("=",[X,Et])),S.substitution,S)])}}},"upcase_atom/2":function(I,S,y){var R=y.args[0],z=y.args[1];b.type.is_variable(R)?I.throw_error(b.error.instantiation(y.indicator)):b.type.is_atom(R)?!b.type.is_variable(z)&&!b.type.is_atom(z)?I.throw_error(b.error.type("atom",z,y.indicator)):I.prepend([new ke(S.goal.replace(new q("=",[z,new q(R.id.toUpperCase(),[])])),S.substitution,S)]):I.throw_error(b.error.type("atom",R,y.indicator))},"downcase_atom/2":function(I,S,y){var R=y.args[0],z=y.args[1];b.type.is_variable(R)?I.throw_error(b.error.instantiation(y.indicator)):b.type.is_atom(R)?!b.type.is_variable(z)&&!b.type.is_atom(z)?I.throw_error(b.error.type("atom",z,y.indicator)):I.prepend([new ke(S.goal.replace(new q("=",[z,new q(R.id.toLowerCase(),[])])),S.substitution,S)]):I.throw_error(b.error.type("atom",R,y.indicator))},"atomic_list_concat/2":function(I,S,y){var R=y.args[0],z=y.args[1];I.prepend([new ke(S.goal.replace(new q("atomic_list_concat",[R,new q("",[]),z])),S.substitution,S)])},"atomic_list_concat/3":function(I,S,y){var R=y.args[0],z=y.args[1],X=y.args[2];if(b.type.is_variable(z)||b.type.is_variable(R)&&b.type.is_variable(X))I.throw_error(b.error.instantiation(y.indicator));else if(!b.type.is_variable(R)&&!b.type.is_list(R))I.throw_error(b.error.type("list",R,y.indicator));else if(!b.type.is_variable(X)&&!b.type.is_atom(X))I.throw_error(b.error.type("atom",X,y.indicator));else if(b.type.is_variable(X)){for(var se="",xe=R;b.type.is_term(xe)&&xe.indicator==="./2";){if(!b.type.is_atom(xe.args[0])&&!b.type.is_number(xe.args[0])){I.throw_error(b.error.type("atomic",xe.args[0],y.indicator));return}se!==""&&(se+=z.id),b.type.is_atom(xe.args[0])?se+=xe.args[0].id:se+=""+xe.args[0].value,xe=xe.args[1]}se=new q(se,[]),b.type.is_variable(xe)?I.throw_error(b.error.instantiation(y.indicator)):!b.type.is_term(xe)||xe.indicator!=="[]/0"?I.throw_error(b.error.type("list",R,y.indicator)):I.prepend([new ke(S.goal.replace(new q("=",[se,X])),S.substitution,S)])}else{var $=g(o(X.id.split(z.id),function(Fe){return new q(Fe,[])}));I.prepend([new ke(S.goal.replace(new q("=",[$,R])),S.substitution,S)])}},"@=</2":function(I,S,y){b.compare(y.args[0],y.args[1])<=0&&I.success(S)},"==/2":function(I,S,y){b.compare(y.args[0],y.args[1])===0&&I.success(S)},"\\==/2":function(I,S,y){b.compare(y.args[0],y.args[1])!==0&&I.success(S)},"@</2":function(I,S,y){b.compare(y.args[0],y.args[1])<0&&I.success(S)},"@>/2":function(I,S,y){b.compare(y.args[0],y.args[1])>0&&I.success(S)},"@>=/2":function(I,S,y){b.compare(y.args[0],y.args[1])>=0&&I.success(S)},"compare/3":function(I,S,y){var R=y.args[0],z=y.args[1],X=y.args[2];if(!b.type.is_variable(R)&&!b.type.is_atom(R))I.throw_error(b.error.type("atom",R,y.indicator));else if(b.type.is_atom(R)&&["<",">","="].indexOf(R.id)===-1)I.throw_error(b.type.domain("order",R,y.indicator));else{var $=b.compare(z,X);$=$===0?"=":$===-1?"<":">",I.prepend([new ke(S.goal.replace(new q("=",[R,new q($,[])])),S.substitution,S)])}},"is/2":function(I,S,y){var R=y.args[1].interpret(I);b.type.is_number(R)?I.prepend([new ke(S.goal.replace(new q("=",[y.args[0],R],I.level)),S.substitution,S)]):I.throw_error(R)},"between/3":function(I,S,y){var R=y.args[0],z=y.args[1],X=y.args[2];if(b.type.is_variable(R)||b.type.is_variable(z))I.throw_error(b.error.instantiation(y.indicator));else if(!b.type.is_integer(R))I.throw_error(b.error.type("integer",R,y.indicator));else if(!b.type.is_integer(z))I.throw_error(b.error.type("integer",z,y.indicator));else if(!b.type.is_variable(X)&&!b.type.is_integer(X))I.throw_error(b.error.type("integer",X,y.indicator));else if(b.type.is_variable(X)){var $=[new ke(S.goal.replace(new q("=",[X,R])),S.substitution,S)];R.value<z.value&&$.push(new ke(S.goal.replace(new q("between",[new Re(R.value+1,!1),z,X])),S.substitution,S)),I.prepend($)}else R.value<=X.value&&z.value>=X.value&&I.success(S)},"succ/2":function(I,S,y){var R=y.args[0],z=y.args[1];b.type.is_variable(R)&&b.type.is_variable(z)?I.throw_error(b.error.instantiation(y.indicator)):!b.type.is_variable(R)&&!b.type.is_integer(R)?I.throw_error(b.error.type("integer",R,y.indicator)):!b.type.is_variable(z)&&!b.type.is_integer(z)?I.throw_error(b.error.type("integer",z,y.indicator)):!b.type.is_variable(R)&&R.value<0?I.throw_error(b.error.domain("not_less_than_zero",R,y.indicator)):!b.type.is_variable(z)&&z.value<0?I.throw_error(b.error.domain("not_less_than_zero",z,y.indicator)):(b.type.is_variable(z)||z.value>0)&&(b.type.is_variable(R)?I.prepend([new ke(S.goal.replace(new q("=",[R,new Re(z.value-1,!1)])),S.substitution,S)]):I.prepend([new ke(S.goal.replace(new q("=",[z,new Re(R.value+1,!1)])),S.substitution,S)]))},"=:=/2":function(I,S,y){var R=b.arithmetic_compare(I,y.args[0],y.args[1]);b.type.is_term(R)?I.throw_error(R):R===0&&I.success(S)},"=\\=/2":function(I,S,y){var R=b.arithmetic_compare(I,y.args[0],y.args[1]);b.type.is_term(R)?I.throw_error(R):R!==0&&I.success(S)},"</2":function(I,S,y){var R=b.arithmetic_compare(I,y.args[0],y.args[1]);b.type.is_term(R)?I.throw_error(R):R<0&&I.success(S)},"=</2":function(I,S,y){var R=b.arithmetic_compare(I,y.args[0],y.args[1]);b.type.is_term(R)?I.throw_error(R):R<=0&&I.success(S)},">/2":function(I,S,y){var R=b.arithmetic_compare(I,y.args[0],y.args[1]);b.type.is_term(R)?I.throw_error(R):R>0&&I.success(S)},">=/2":function(I,S,y){var R=b.arithmetic_compare(I,y.args[0],y.args[1]);b.type.is_term(R)?I.throw_error(R):R>=0&&I.success(S)},"var/1":function(I,S,y){b.type.is_variable(y.args[0])&&I.success(S)},"atom/1":function(I,S,y){b.type.is_atom(y.args[0])&&I.success(S)},"atomic/1":function(I,S,y){b.type.is_atomic(y.args[0])&&I.success(S)},"compound/1":function(I,S,y){b.type.is_compound(y.args[0])&&I.success(S)},"integer/1":function(I,S,y){b.type.is_integer(y.args[0])&&I.success(S)},"float/1":function(I,S,y){b.type.is_float(y.args[0])&&I.success(S)},"number/1":function(I,S,y){b.type.is_number(y.args[0])&&I.success(S)},"nonvar/1":function(I,S,y){b.type.is_variable(y.args[0])||I.success(S)},"ground/1":function(I,S,y){y.variables().length===0&&I.success(S)},"acyclic_term/1":function(I,S,y){for(var R=S.substitution.apply(S.substitution),z=y.args[0].variables(),X=0;X<z.length;X++)if(S.substitution.links[z[X]]!==void 0&&!S.substitution.links[z[X]].equals(R.links[z[X]]))return;I.success(S)},"callable/1":function(I,S,y){b.type.is_callable(y.args[0])&&I.success(S)},"is_list/1":function(I,S,y){for(var R=y.args[0];b.type.is_term(R)&&R.indicator==="./2";)R=R.args[1];b.type.is_term(R)&&R.indicator==="[]/0"&&I.success(S)},"current_input/1":function(I,S,y){var R=y.args[0];!b.type.is_variable(R)&&!b.type.is_stream(R)&&!b.type.is_atom(R)?I.throw_error(b.error.domain("stream",R,y.indicator)):(b.type.is_atom(R)&&I.get_stream_by_alias(R.id)&&(R=I.get_stream_by_alias(R.id)),I.prepend([new ke(S.goal.replace(new q("=",[R,I.get_current_input()])),S.substitution,S)]))},"current_output/1":function(I,S,y){var R=y.args[0];!b.type.is_variable(R)&&!b.type.is_stream(R)&&!b.type.is_atom(R)?I.throw_error(b.error.domain("stream_or_alias",R,y.indicator)):(b.type.is_atom(R)&&I.get_stream_by_alias(R.id)&&(R=I.get_stream_by_alias(R.id)),I.prepend([new ke(S.goal.replace(new q("=",[R,I.get_current_output()])),S.substitution,S)]))},"set_input/1":function(I,S,y){var R=y.args[0],z=b.type.is_stream(R)?R:I.get_stream_by_alias(R.id);b.type.is_variable(R)?I.throw_error(b.error.instantiation(y.indicator)):!b.type.is_variable(R)&&!b.type.is_stream(R)&&!b.type.is_atom(R)?I.throw_error(b.error.domain("stream_or_alias",R,y.indicator)):b.type.is_stream(z)?z.output===!0?I.throw_error(b.error.permission("input","stream",R,y.indicator)):(I.set_current_input(z),I.success(S)):I.throw_error(b.error.existence("stream",R,y.indicator))},"set_output/1":function(I,S,y){var R=y.args[0],z=b.type.is_stream(R)?R:I.get_stream_by_alias(R.id);b.type.is_variable(R)?I.throw_error(b.error.instantiation(y.indicator)):!b.type.is_variable(R)&&!b.type.is_stream(R)&&!b.type.is_atom(R)?I.throw_error(b.error.domain("stream_or_alias",R,y.indicator)):b.type.is_stream(z)?z.input===!0?I.throw_error(b.error.permission("output","stream",R,y.indicator)):(I.set_current_output(z),I.success(S)):I.throw_error(b.error.existence("stream",R,y.indicator))},"open/3":function(I,S,y){var R=y.args[0],z=y.args[1],X=y.args[2];I.prepend([new ke(S.goal.replace(new q("open",[R,z,X,new q("[]",[])])),S.substitution,S)])},"open/4":function(I,S,y){var R=y.args[0],z=y.args[1],X=y.args[2],$=y.args[3];if(b.type.is_variable(R)||b.type.is_variable(z))I.throw_error(b.error.instantiation(y.indicator));else if(!b.type.is_variable(z)&&!b.type.is_atom(z))I.throw_error(b.error.type("atom",z,y.indicator));else if(!b.type.is_list($))I.throw_error(b.error.type("list",$,y.indicator));else if(!b.type.is_variable(X))I.throw_error(b.error.type("variable",X,y.indicator));else if(!b.type.is_atom(R)&&!b.type.is_streamable(R))I.throw_error(b.error.domain("source_sink",R,y.indicator));else if(!b.type.is_io_mode(z))I.throw_error(b.error.domain("io_mode",z,y.indicator));else{for(var se={},xe=$,Fe;b.type.is_term(xe)&&xe.indicator==="./2";){if(Fe=xe.args[0],b.type.is_variable(Fe)){I.throw_error(b.error.instantiation(y.indicator));return}else if(!b.type.is_stream_option(Fe)){I.throw_error(b.error.domain("stream_option",Fe,y.indicator));return}se[Fe.id]=Fe.args[0].id,xe=xe.args[1]}if(xe.indicator!=="[]/0"){b.type.is_variable(xe)?I.throw_error(b.error.instantiation(y.indicator)):I.throw_error(b.error.type("list",$,y.indicator));return}else{var lt=se.alias;if(lt&&I.get_stream_by_alias(lt)){I.throw_error(b.error.permission("open","source_sink",new q("alias",[new q(lt,[])]),y.indicator));return}se.type||(se.type="text");var Et;if(b.type.is_atom(R)?Et=I.file_system_open(R.id,se.type,z.id):Et=R.stream(se.type,z.id),Et===!1){I.throw_error(b.error.permission("open","source_sink",R,y.indicator));return}else if(Et===null){I.throw_error(b.error.existence("source_sink",R,y.indicator));return}var qt=new Ne(Et,z.id,se.alias,se.type,se.reposition==="true",se.eof_action);lt?I.session.streams[lt]=qt:I.session.streams[qt.id]=qt,I.prepend([new ke(S.goal.replace(new q("=",[X,qt])),S.substitution,S)])}}},"close/1":function(I,S,y){var R=y.args[0];I.prepend([new ke(S.goal.replace(new q("close",[R,new q("[]",[])])),S.substitution,S)])},"close/2":function(I,S,y){var R=y.args[0],z=y.args[1],X=b.type.is_stream(R)?R:I.get_stream_by_alias(R.id);if(b.type.is_variable(R)||b.type.is_variable(z))I.throw_error(b.error.instantiation(y.indicator));else if(!b.type.is_list(z))I.throw_error(b.error.type("list",z,y.indicator));else if(!b.type.is_stream(R)&&!b.type.is_atom(R))I.throw_error(b.error.domain("stream_or_alias",R,y.indicator));else if(!b.type.is_stream(X)||X.stream===null)I.throw_error(b.error.existence("stream",R,y.indicator));else{for(var $={},se=z,xe;b.type.is_term(se)&&se.indicator==="./2";){if(xe=se.args[0],b.type.is_variable(xe)){I.throw_error(b.error.instantiation(y.indicator));return}else if(!b.type.is_close_option(xe)){I.throw_error(b.error.domain("close_option",xe,y.indicator));return}$[xe.id]=xe.args[0].id==="true",se=se.args[1]}if(se.indicator!=="[]/0"){b.type.is_variable(se)?I.throw_error(b.error.instantiation(y.indicator)):I.throw_error(b.error.type("list",z,y.indicator));return}else{if(X===I.session.standard_input||X===I.session.standard_output){I.success(S);return}else X===I.session.current_input?I.session.current_input=I.session.standard_input:X===I.session.current_output&&(I.session.current_output=I.session.current_output);X.alias!==null?delete I.session.streams[X.alias]:delete I.session.streams[X.id],X.output&&X.stream.flush();var Fe=X.stream.close();X.stream=null,($.force===!0||Fe===!0)&&I.success(S)}}},"flush_output/0":function(I,S,y){I.prepend([new ke(S.goal.replace(new q(",",[new q("current_output",[new Pe("S")]),new q("flush_output",[new Pe("S")])])),S.substitution,S)])},"flush_output/1":function(I,S,y){var R=y.args[0],z=b.type.is_stream(R)?R:I.get_stream_by_alias(R.id);b.type.is_variable(R)?I.throw_error(b.error.instantiation(y.indicator)):!b.type.is_stream(R)&&!b.type.is_atom(R)?I.throw_error(b.error.domain("stream_or_alias",R,y.indicator)):!b.type.is_stream(z)||z.stream===null?I.throw_error(b.error.existence("stream",R,y.indicator)):R.input===!0?I.throw_error(b.error.permission("output","stream",output,y.indicator)):(z.stream.flush(),I.success(S))},"stream_property/2":function(I,S,y){var R=y.args[0],z=y.args[1],X=b.type.is_stream(R)?R:I.get_stream_by_alias(R.id);if(!b.type.is_variable(R)&&!b.type.is_stream(R)&&!b.type.is_atom(R))I.throw_error(b.error.domain("stream_or_alias",R,y.indicator));else if(!b.type.is_variable(R)&&(!b.type.is_stream(X)||X.stream===null))I.throw_error(b.error.existence("stream",R,y.indicator));else if(!b.type.is_variable(z)&&!b.type.is_stream_property(z))I.throw_error(b.error.domain("stream_property",z,y.indicator));else{var $=[],se=[];if(!b.type.is_variable(R))$.push(X);else for(var xe in I.session.streams)$.push(I.session.streams[xe]);for(var Fe=0;Fe<$.length;Fe++){var lt=[];$[Fe].filename&<.push(new q("file_name",[new q($[Fe].file_name,[])])),lt.push(new q("mode",[new q($[Fe].mode,[])])),lt.push(new q($[Fe].input?"input":"output",[])),$[Fe].alias&<.push(new q("alias",[new q($[Fe].alias,[])])),lt.push(new q("position",[typeof $[Fe].position=="number"?new Re($[Fe].position,!1):new q($[Fe].position,[])])),lt.push(new q("end_of_stream",[new q($[Fe].position==="end_of_stream"?"at":$[Fe].position==="past_end_of_stream"?"past":"not",[])])),lt.push(new q("eof_action",[new q($[Fe].eof_action,[])])),lt.push(new q("reposition",[new q($[Fe].reposition?"true":"false",[])])),lt.push(new q("type",[new q($[Fe].type,[])]));for(var Et=0;Et<lt.length;Et++)se.push(new ke(S.goal.replace(new q(",",[new q("=",[b.type.is_variable(R)?R:X,$[Fe]]),new q("=",[z,lt[Et]])])),S.substitution,S))}I.prepend(se)}},"at_end_of_stream/0":function(I,S,y){I.prepend([new ke(S.goal.replace(new q(",",[new q("current_input",[new Pe("S")]),new q(",",[new q("stream_property",[new Pe("S"),new q("end_of_stream",[new Pe("E")])]),new q(",",[new q("!",[]),new q(";",[new q("=",[new Pe("E"),new q("at",[])]),new q("=",[new Pe("E"),new q("past",[])])])])])])),S.substitution,S)])},"at_end_of_stream/1":function(I,S,y){var R=y.args[0];I.prepend([new ke(S.goal.replace(new q(",",[new q("stream_property",[R,new q("end_of_stream",[new Pe("E")])]),new q(",",[new q("!",[]),new q(";",[new q("=",[new Pe("E"),new q("at",[])]),new q("=",[new Pe("E"),new q("past",[])])])])])),S.substitution,S)])},"set_stream_position/2":function(I,S,y){var R=y.args[0],z=y.args[1],X=b.type.is_stream(R)?R:I.get_stream_by_alias(R.id);b.type.is_variable(R)||b.type.is_variable(z)?I.throw_error(b.error.instantiation(y.indicator)):!b.type.is_stream(R)&&!b.type.is_atom(R)?I.throw_error(b.error.domain("stream_or_alias",R,y.indicator)):!b.type.is_stream(X)||X.stream===null?I.throw_error(b.error.existence("stream",R,y.indicator)):b.type.is_stream_position(z)?X.reposition===!1?I.throw_error(b.error.permission("reposition","stream",R,y.indicator)):(b.type.is_integer(z)?X.position=z.value:X.position=z.id,I.success(S)):I.throw_error(b.error.domain("stream_position",z,y.indicator))},"get_char/1":function(I,S,y){var R=y.args[0];I.prepend([new ke(S.goal.replace(new q(",",[new q("current_input",[new Pe("S")]),new q("get_char",[new Pe("S"),R])])),S.substitution,S)])},"get_char/2":function(I,S,y){var R=y.args[0],z=y.args[1],X=b.type.is_stream(R)?R:I.get_stream_by_alias(R.id);if(b.type.is_variable(R))I.throw_error(b.error.instantiation(y.indicator));else if(!b.type.is_variable(z)&&!b.type.is_character(z))I.throw_error(b.error.type("in_character",z,y.indicator));else if(!b.type.is_stream(R)&&!b.type.is_atom(R))I.throw_error(b.error.domain("stream_or_alias",R,y.indicator));else if(!b.type.is_stream(X)||X.stream===null)I.throw_error(b.error.existence("stream",R,y.indicator));else if(X.output)I.throw_error(b.error.permission("input","stream",R,y.indicator));else if(X.type==="binary")I.throw_error(b.error.permission("input","binary_stream",R,y.indicator));else if(X.position==="past_end_of_stream"&&X.eof_action==="error")I.throw_error(b.error.permission("input","past_end_of_stream",R,y.indicator));else{var $;if(X.position==="end_of_stream")$="end_of_file",X.position="past_end_of_stream";else{if($=X.stream.get(1,X.position),$===null){I.throw_error(b.error.representation("character",y.indicator));return}X.position++}I.prepend([new ke(S.goal.replace(new q("=",[new q($,[]),z])),S.substitution,S)])}},"get_code/1":function(I,S,y){var R=y.args[0];I.prepend([new ke(S.goal.replace(new q(",",[new q("current_input",[new Pe("S")]),new q("get_code",[new Pe("S"),R])])),S.substitution,S)])},"get_code/2":function(I,S,y){var R=y.args[0],z=y.args[1],X=b.type.is_stream(R)?R:I.get_stream_by_alias(R.id);if(b.type.is_variable(R))I.throw_error(b.error.instantiation(y.indicator));else if(!b.type.is_variable(z)&&!b.type.is_integer(z))I.throw_error(b.error.type("integer",char,y.indicator));else if(!b.type.is_variable(R)&&!b.type.is_stream(R)&&!b.type.is_atom(R))I.throw_error(b.error.domain("stream_or_alias",R,y.indicator));else if(!b.type.is_stream(X)||X.stream===null)I.throw_error(b.error.existence("stream",R,y.indicator));else if(X.output)I.throw_error(b.error.permission("input","stream",R,y.indicator));else if(X.type==="binary")I.throw_error(b.error.permission("input","binary_stream",R,y.indicator));else if(X.position==="past_end_of_stream"&&X.eof_action==="error")I.throw_error(b.error.permission("input","past_end_of_stream",R,y.indicator));else{var $;if(X.position==="end_of_stream")$=-1,X.position="past_end_of_stream";else{if($=X.stream.get(1,X.position),$===null){I.throw_error(b.error.representation("character",y.indicator));return}$=n($,0),X.position++}I.prepend([new ke(S.goal.replace(new q("=",[new Re($,!1),z])),S.substitution,S)])}},"peek_char/1":function(I,S,y){var R=y.args[0];I.prepend([new ke(S.goal.replace(new q(",",[new q("current_input",[new Pe("S")]),new q("peek_char",[new Pe("S"),R])])),S.substitution,S)])},"peek_char/2":function(I,S,y){var R=y.args[0],z=y.args[1],X=b.type.is_stream(R)?R:I.get_stream_by_alias(R.id);if(b.type.is_variable(R))I.throw_error(b.error.instantiation(y.indicator));else if(!b.type.is_variable(z)&&!b.type.is_character(z))I.throw_error(b.error.type("in_character",z,y.indicator));else if(!b.type.is_stream(R)&&!b.type.is_atom(R))I.throw_error(b.error.domain("stream_or_alias",R,y.indicator));else if(!b.type.is_stream(X)||X.stream===null)I.throw_error(b.error.existence("stream",R,y.indicator));else if(X.output)I.throw_error(b.error.permission("input","stream",R,y.indicator));else if(X.type==="binary")I.throw_error(b.error.permission("input","binary_stream",R,y.indicator));else if(X.position==="past_end_of_stream"&&X.eof_action==="error")I.throw_error(b.error.permission("input","past_end_of_stream",R,y.indicator));else{var $;if(X.position==="end_of_stream")$="end_of_file",X.position="past_end_of_stream";else if($=X.stream.get(1,X.position),$===null){I.throw_error(b.error.representation("character",y.indicator));return}I.prepend([new ke(S.goal.replace(new q("=",[new q($,[]),z])),S.substitution,S)])}},"peek_code/1":function(I,S,y){var R=y.args[0];I.prepend([new ke(S.goal.replace(new q(",",[new q("current_input",[new Pe("S")]),new q("peek_code",[new Pe("S"),R])])),S.substitution,S)])},"peek_code/2":function(I,S,y){var R=y.args[0],z=y.args[1],X=b.type.is_stream(R)?R:I.get_stream_by_alias(R.id);if(b.type.is_variable(R))I.throw_error(b.error.instantiation(y.indicator));else if(!b.type.is_variable(z)&&!b.type.is_integer(z))I.throw_error(b.error.type("integer",char,y.indicator));else if(!b.type.is_variable(R)&&!b.type.is_stream(R)&&!b.type.is_atom(R))I.throw_error(b.error.domain("stream_or_alias",R,y.indicator));else if(!b.type.is_stream(X)||X.stream===null)I.throw_error(b.error.existence("stream",R,y.indicator));else if(X.output)I.throw_error(b.error.permission("input","stream",R,y.indicator));else if(X.type==="binary")I.throw_error(b.error.permission("input","binary_stream",R,y.indicator));else if(X.position==="past_end_of_stream"&&X.eof_action==="error")I.throw_error(b.error.permission("input","past_end_of_stream",R,y.indicator));else{var $;if(X.position==="end_of_stream")$=-1,X.position="past_end_of_stream";else{if($=X.stream.get(1,X.position),$===null){I.throw_error(b.error.representation("character",y.indicator));return}$=n($,0)}I.prepend([new ke(S.goal.replace(new q("=",[new Re($,!1),z])),S.substitution,S)])}},"put_char/1":function(I,S,y){var R=y.args[0];I.prepend([new ke(S.goal.replace(new q(",",[new q("current_output",[new Pe("S")]),new q("put_char",[new Pe("S"),R])])),S.substitution,S)])},"put_char/2":function(I,S,y){var R=y.args[0],z=y.args[1],X=b.type.is_stream(R)?R:I.get_stream_by_alias(R.id);b.type.is_variable(R)||b.type.is_variable(z)?I.throw_error(b.error.instantiation(y.indicator)):b.type.is_character(z)?!b.type.is_variable(R)&&!b.type.is_stream(R)&&!b.type.is_atom(R)?I.throw_error(b.error.domain("stream_or_alias",R,y.indicator)):!b.type.is_stream(X)||X.stream===null?I.throw_error(b.error.existence("stream",R,y.indicator)):X.input?I.throw_error(b.error.permission("output","stream",R,y.indicator)):X.type==="binary"?I.throw_error(b.error.permission("output","binary_stream",R,y.indicator)):X.stream.put(z.id,X.position)&&(typeof X.position=="number"&&X.position++,I.success(S)):I.throw_error(b.error.type("character",z,y.indicator))},"put_code/1":function(I,S,y){var R=y.args[0];I.prepend([new ke(S.goal.replace(new q(",",[new q("current_output",[new Pe("S")]),new q("put_code",[new Pe("S"),R])])),S.substitution,S)])},"put_code/2":function(I,S,y){var R=y.args[0],z=y.args[1],X=b.type.is_stream(R)?R:I.get_stream_by_alias(R.id);b.type.is_variable(R)||b.type.is_variable(z)?I.throw_error(b.error.instantiation(y.indicator)):b.type.is_integer(z)?b.type.is_character_code(z)?!b.type.is_variable(R)&&!b.type.is_stream(R)&&!b.type.is_atom(R)?I.throw_error(b.error.domain("stream_or_alias",R,y.indicator)):!b.type.is_stream(X)||X.stream===null?I.throw_error(b.error.existence("stream",R,y.indicator)):X.input?I.throw_error(b.error.permission("output","stream",R,y.indicator)):X.type==="binary"?I.throw_error(b.error.permission("output","binary_stream",R,y.indicator)):X.stream.put_char(u(z.value),X.position)&&(typeof X.position=="number"&&X.position++,I.success(S)):I.throw_error(b.error.representation("character_code",y.indicator)):I.throw_error(b.error.type("integer",z,y.indicator))},"nl/0":function(I,S,y){I.prepend([new ke(S.goal.replace(new q(",",[new q("current_output",[new Pe("S")]),new q("put_char",[new Pe("S"),new q(` +`,[])])])),S.substitution,S)])},"nl/1":function(I,S,y){var R=y.args[0];I.prepend([new ke(S.goal.replace(new q("put_char",[R,new q(` +`,[])])),S.substitution,S)])},"get_byte/1":function(I,S,y){var R=y.args[0];I.prepend([new ke(S.goal.replace(new q(",",[new q("current_input",[new Pe("S")]),new q("get_byte",[new Pe("S"),R])])),S.substitution,S)])},"get_byte/2":function(I,S,y){var R=y.args[0],z=y.args[1],X=b.type.is_stream(R)?R:I.get_stream_by_alias(R.id);if(b.type.is_variable(R))I.throw_error(b.error.instantiation(y.indicator));else if(!b.type.is_variable(z)&&!b.type.is_byte(z))I.throw_error(b.error.type("in_byte",char,y.indicator));else if(!b.type.is_stream(R)&&!b.type.is_atom(R))I.throw_error(b.error.domain("stream_or_alias",R,y.indicator));else if(!b.type.is_stream(X)||X.stream===null)I.throw_error(b.error.existence("stream",R,y.indicator));else if(X.output)I.throw_error(b.error.permission("input","stream",R,y.indicator));else if(X.type==="text")I.throw_error(b.error.permission("input","text_stream",R,y.indicator));else if(X.position==="past_end_of_stream"&&X.eof_action==="error")I.throw_error(b.error.permission("input","past_end_of_stream",R,y.indicator));else{var $;if(X.position==="end_of_stream")$="end_of_file",X.position="past_end_of_stream";else{if($=X.stream.get_byte(X.position),$===null){I.throw_error(b.error.representation("byte",y.indicator));return}X.position++}I.prepend([new ke(S.goal.replace(new q("=",[new Re($,!1),z])),S.substitution,S)])}},"peek_byte/1":function(I,S,y){var R=y.args[0];I.prepend([new ke(S.goal.replace(new q(",",[new q("current_input",[new Pe("S")]),new q("peek_byte",[new Pe("S"),R])])),S.substitution,S)])},"peek_byte/2":function(I,S,y){var R=y.args[0],z=y.args[1],X=b.type.is_stream(R)?R:I.get_stream_by_alias(R.id);if(b.type.is_variable(R))I.throw_error(b.error.instantiation(y.indicator));else if(!b.type.is_variable(z)&&!b.type.is_byte(z))I.throw_error(b.error.type("in_byte",char,y.indicator));else if(!b.type.is_stream(R)&&!b.type.is_atom(R))I.throw_error(b.error.domain("stream_or_alias",R,y.indicator));else if(!b.type.is_stream(X)||X.stream===null)I.throw_error(b.error.existence("stream",R,y.indicator));else if(X.output)I.throw_error(b.error.permission("input","stream",R,y.indicator));else if(X.type==="text")I.throw_error(b.error.permission("input","text_stream",R,y.indicator));else if(X.position==="past_end_of_stream"&&X.eof_action==="error")I.throw_error(b.error.permission("input","past_end_of_stream",R,y.indicator));else{var $;if(X.position==="end_of_stream")$="end_of_file",X.position="past_end_of_stream";else if($=X.stream.get_byte(X.position),$===null){I.throw_error(b.error.representation("byte",y.indicator));return}I.prepend([new ke(S.goal.replace(new q("=",[new Re($,!1),z])),S.substitution,S)])}},"put_byte/1":function(I,S,y){var R=y.args[0];I.prepend([new ke(S.goal.replace(new q(",",[new q("current_output",[new Pe("S")]),new q("put_byte",[new Pe("S"),R])])),S.substitution,S)])},"put_byte/2":function(I,S,y){var R=y.args[0],z=y.args[1],X=b.type.is_stream(R)?R:I.get_stream_by_alias(R.id);b.type.is_variable(R)||b.type.is_variable(z)?I.throw_error(b.error.instantiation(y.indicator)):b.type.is_byte(z)?!b.type.is_variable(R)&&!b.type.is_stream(R)&&!b.type.is_atom(R)?I.throw_error(b.error.domain("stream_or_alias",R,y.indicator)):!b.type.is_stream(X)||X.stream===null?I.throw_error(b.error.existence("stream",R,y.indicator)):X.input?I.throw_error(b.error.permission("output","stream",R,y.indicator)):X.type==="text"?I.throw_error(b.error.permission("output","text_stream",R,y.indicator)):X.stream.put_byte(z.value,X.position)&&(typeof X.position=="number"&&X.position++,I.success(S)):I.throw_error(b.error.type("byte",z,y.indicator))},"read/1":function(I,S,y){var R=y.args[0];I.prepend([new ke(S.goal.replace(new q(",",[new q("current_input",[new Pe("S")]),new q("read_term",[new Pe("S"),R,new q("[]",[])])])),S.substitution,S)])},"read/2":function(I,S,y){var R=y.args[0],z=y.args[1];I.prepend([new ke(S.goal.replace(new q("read_term",[R,z,new q("[]",[])])),S.substitution,S)])},"read_term/2":function(I,S,y){var R=y.args[0],z=y.args[1];I.prepend([new ke(S.goal.replace(new q(",",[new q("current_input",[new Pe("S")]),new q("read_term",[new Pe("S"),R,z])])),S.substitution,S)])},"read_term/3":function(I,S,y){var R=y.args[0],z=y.args[1],X=y.args[2],$=b.type.is_stream(R)?R:I.get_stream_by_alias(R.id);if(b.type.is_variable(R)||b.type.is_variable(X))I.throw_error(b.error.instantiation(y.indicator));else if(!b.type.is_list(X))I.throw_error(b.error.type("list",X,y.indicator));else if(!b.type.is_stream(R)&&!b.type.is_atom(R))I.throw_error(b.error.domain("stream_or_alias",R,y.indicator));else if(!b.type.is_stream($)||$.stream===null)I.throw_error(b.error.existence("stream",R,y.indicator));else if($.output)I.throw_error(b.error.permission("input","stream",R,y.indicator));else if($.type==="binary")I.throw_error(b.error.permission("input","binary_stream",R,y.indicator));else if($.position==="past_end_of_stream"&&$.eof_action==="error")I.throw_error(b.error.permission("input","past_end_of_stream",R,y.indicator));else{for(var se={},xe=X,Fe;b.type.is_term(xe)&&xe.indicator==="./2";){if(Fe=xe.args[0],b.type.is_variable(Fe)){I.throw_error(b.error.instantiation(y.indicator));return}else if(!b.type.is_read_option(Fe)){I.throw_error(b.error.domain("read_option",Fe,y.indicator));return}se[Fe.id]=Fe.args[0],xe=xe.args[1]}if(xe.indicator!=="[]/0"){b.type.is_variable(xe)?I.throw_error(b.error.instantiation(y.indicator)):I.throw_error(b.error.type("list",X,y.indicator));return}else{for(var lt,Et,qt,nr="",St=[],cn=null;cn===null||cn.name!=="atom"||cn.value!=="."||qt.type===A&&b.flatten_error(new q("throw",[qt.value])).found==="token_not_found";){if(lt=$.stream.get(1,$.position),lt===null){I.throw_error(b.error.representation("character",y.indicator));return}if(lt==="end_of_file"||lt==="past_end_of_file"){qt?I.throw_error(b.error.syntax(St[qt.len-1],". or expression expected",!1)):I.throw_error(b.error.syntax(null,"token not found",!0));return}$.position++,nr+=lt,Et=new U(I),Et.new_text(nr),St=Et.get_tokens(),cn=St!==null&&St.length>0?St[St.length-1]:null,St!==null&&(qt=J(I,St,0,I.__get_max_priority(),!1))}if(qt.type===p&&qt.len===St.length-1&&cn.value==="."){qt=qt.value.rename(I);var Pr=new q("=",[z,qt]);if(se.variables){var yr=g(o(Ce(qt.variables()),function(Rr){return new Pe(Rr)}));Pr=new q(",",[Pr,new q("=",[se.variables,yr])])}if(se.variable_names){var yr=g(o(Ce(qt.variables()),function(Xr){var $n;for($n in I.session.renamed_variables)if(I.session.renamed_variables.hasOwnProperty($n)&&I.session.renamed_variables[$n]===Xr)break;return new q("=",[new q($n,[]),new Pe(Xr)])}));Pr=new q(",",[Pr,new q("=",[se.variable_names,yr])])}if(se.singletons){var yr=g(o(new Ve(qt,null).singleton_variables(),function(Xr){var $n;for($n in I.session.renamed_variables)if(I.session.renamed_variables.hasOwnProperty($n)&&I.session.renamed_variables[$n]===Xr)break;return new q("=",[new q($n,[]),new Pe(Xr)])}));Pr=new q(",",[Pr,new q("=",[se.singletons,yr])])}I.prepend([new ke(S.goal.replace(Pr),S.substitution,S)])}else qt.type===p?I.throw_error(b.error.syntax(St[qt.len],"unexpected token",!1)):I.throw_error(qt.value)}}},"write/1":function(I,S,y){var R=y.args[0];I.prepend([new ke(S.goal.replace(new q(",",[new q("current_output",[new Pe("S")]),new q("write",[new Pe("S"),R])])),S.substitution,S)])},"write/2":function(I,S,y){var R=y.args[0],z=y.args[1];I.prepend([new ke(S.goal.replace(new q("write_term",[R,z,new q(".",[new q("quoted",[new q("false",[])]),new q(".",[new q("ignore_ops",[new q("false")]),new q(".",[new q("numbervars",[new q("true")]),new q("[]",[])])])])])),S.substitution,S)])},"writeq/1":function(I,S,y){var R=y.args[0];I.prepend([new ke(S.goal.replace(new q(",",[new q("current_output",[new Pe("S")]),new q("writeq",[new Pe("S"),R])])),S.substitution,S)])},"writeq/2":function(I,S,y){var R=y.args[0],z=y.args[1];I.prepend([new ke(S.goal.replace(new q("write_term",[R,z,new q(".",[new q("quoted",[new q("true",[])]),new q(".",[new q("ignore_ops",[new q("false")]),new q(".",[new q("numbervars",[new q("true")]),new q("[]",[])])])])])),S.substitution,S)])},"write_canonical/1":function(I,S,y){var R=y.args[0];I.prepend([new ke(S.goal.replace(new q(",",[new q("current_output",[new Pe("S")]),new q("write_canonical",[new Pe("S"),R])])),S.substitution,S)])},"write_canonical/2":function(I,S,y){var R=y.args[0],z=y.args[1];I.prepend([new ke(S.goal.replace(new q("write_term",[R,z,new q(".",[new q("quoted",[new q("true",[])]),new q(".",[new q("ignore_ops",[new q("true")]),new q(".",[new q("numbervars",[new q("false")]),new q("[]",[])])])])])),S.substitution,S)])},"write_term/2":function(I,S,y){var R=y.args[0],z=y.args[1];I.prepend([new ke(S.goal.replace(new q(",",[new q("current_output",[new Pe("S")]),new q("write_term",[new Pe("S"),R,z])])),S.substitution,S)])},"write_term/3":function(I,S,y){var R=y.args[0],z=y.args[1],X=y.args[2],$=b.type.is_stream(R)?R:I.get_stream_by_alias(R.id);if(b.type.is_variable(R)||b.type.is_variable(X))I.throw_error(b.error.instantiation(y.indicator));else if(!b.type.is_list(X))I.throw_error(b.error.type("list",X,y.indicator));else if(!b.type.is_stream(R)&&!b.type.is_atom(R))I.throw_error(b.error.domain("stream_or_alias",R,y.indicator));else if(!b.type.is_stream($)||$.stream===null)I.throw_error(b.error.existence("stream",R,y.indicator));else if($.input)I.throw_error(b.error.permission("output","stream",R,y.indicator));else if($.type==="binary")I.throw_error(b.error.permission("output","binary_stream",R,y.indicator));else if($.position==="past_end_of_stream"&&$.eof_action==="error")I.throw_error(b.error.permission("output","past_end_of_stream",R,y.indicator));else{for(var se={},xe=X,Fe;b.type.is_term(xe)&&xe.indicator==="./2";){if(Fe=xe.args[0],b.type.is_variable(Fe)){I.throw_error(b.error.instantiation(y.indicator));return}else if(!b.type.is_write_option(Fe)){I.throw_error(b.error.domain("write_option",Fe,y.indicator));return}se[Fe.id]=Fe.args[0].id==="true",xe=xe.args[1]}if(xe.indicator!=="[]/0"){b.type.is_variable(xe)?I.throw_error(b.error.instantiation(y.indicator)):I.throw_error(b.error.type("list",X,y.indicator));return}else{se.session=I.session;var lt=z.toString(se);$.stream.put(lt,$.position),typeof $.position=="number"&&($.position+=lt.length),I.success(S)}}},"halt/0":function(I,S,y){I.points=[]},"halt/1":function(I,S,y){var R=y.args[0];b.type.is_variable(R)?I.throw_error(b.error.instantiation(y.indicator)):b.type.is_integer(R)?I.points=[]:I.throw_error(b.error.type("integer",R,y.indicator))},"current_prolog_flag/2":function(I,S,y){var R=y.args[0],z=y.args[1];if(!b.type.is_variable(R)&&!b.type.is_atom(R))I.throw_error(b.error.type("atom",R,y.indicator));else if(!b.type.is_variable(R)&&!b.type.is_flag(R))I.throw_error(b.error.domain("prolog_flag",R,y.indicator));else{var X=[];for(var $ in b.flag)if(b.flag.hasOwnProperty($)){var se=new q(",",[new q("=",[new q($),R]),new q("=",[I.get_flag($),z])]);X.push(new ke(S.goal.replace(se),S.substitution,S))}I.prepend(X)}},"set_prolog_flag/2":function(I,S,y){var R=y.args[0],z=y.args[1];b.type.is_variable(R)||b.type.is_variable(z)?I.throw_error(b.error.instantiation(y.indicator)):b.type.is_atom(R)?b.type.is_flag(R)?b.type.is_value_flag(R,z)?b.type.is_modifiable_flag(R)?(I.session.flag[R.id]=z,I.success(S)):I.throw_error(b.error.permission("modify","flag",R)):I.throw_error(b.error.domain("flag_value",new q("+",[R,z]),y.indicator)):I.throw_error(b.error.domain("prolog_flag",R,y.indicator)):I.throw_error(b.error.type("atom",R,y.indicator))}},flag:{bounded:{allowed:[new q("true"),new q("false")],value:new q("true"),changeable:!1},max_integer:{allowed:[new Re(Number.MAX_SAFE_INTEGER)],value:new Re(Number.MAX_SAFE_INTEGER),changeable:!1},min_integer:{allowed:[new Re(Number.MIN_SAFE_INTEGER)],value:new Re(Number.MIN_SAFE_INTEGER),changeable:!1},integer_rounding_function:{allowed:[new q("down"),new q("toward_zero")],value:new q("toward_zero"),changeable:!1},char_conversion:{allowed:[new q("on"),new q("off")],value:new q("on"),changeable:!0},debug:{allowed:[new q("on"),new q("off")],value:new q("off"),changeable:!0},max_arity:{allowed:[new q("unbounded")],value:new q("unbounded"),changeable:!1},unknown:{allowed:[new q("error"),new q("fail"),new q("warning")],value:new q("error"),changeable:!0},double_quotes:{allowed:[new q("chars"),new q("codes"),new q("atom")],value:new q("codes"),changeable:!0},occurs_check:{allowed:[new q("false"),new q("true")],value:new q("false"),changeable:!0},dialect:{allowed:[new q("tau")],value:new q("tau"),changeable:!1},version_data:{allowed:[new q("tau",[new Re(t.major,!1),new Re(t.minor,!1),new Re(t.patch,!1),new q(t.status)])],value:new q("tau",[new Re(t.major,!1),new Re(t.minor,!1),new Re(t.patch,!1),new q(t.status)]),changeable:!1},nodejs:{allowed:[new q("yes"),new q("no")],value:new q(typeof El<"u"&&El.exports?"yes":"no"),changeable:!1}},unify:function(I,S,y){y=y===void 0?!1:y;for(var R=[{left:I,right:S}],z={};R.length!==0;){var X=R.pop();if(I=X.left,S=X.right,b.type.is_term(I)&&b.type.is_term(S)){if(I.indicator!==S.indicator)return null;for(var $=0;$<I.args.length;$++)R.push({left:I.args[$],right:S.args[$]})}else if(b.type.is_number(I)&&b.type.is_number(S)){if(I.value!==S.value||I.is_float!==S.is_float)return null}else if(b.type.is_variable(I)){if(b.type.is_variable(S)&&I.id===S.id)continue;if(y===!0&&S.variables().indexOf(I.id)!==-1)return null;if(I.id!=="_"){var se=new Te;se.add(I.id,S);for(var $=0;$<R.length;$++)R[$].left=R[$].left.apply(se),R[$].right=R[$].right.apply(se);for(var $ in z)z[$]=z[$].apply(se);z[I.id]=S}}else if(b.type.is_variable(S))R.push({left:S,right:I});else if(I.unify!==void 0){if(!I.unify(S))return null}else return null}return new Te(z)},compare:function(I,S){var y=b.type.compare(I,S);return y!==0?y:I.compare(S)},arithmetic_compare:function(I,S,y){var R=S.interpret(I);if(b.type.is_number(R)){var z=y.interpret(I);return b.type.is_number(z)?R.value<z.value?-1:R.value>z.value?1:0:z}else return R},operate:function(I,S){if(b.type.is_operator(S)){for(var y=b.type.is_operator(S),R=[],z,X=!1,$=0;$<S.args.length;$++){if(z=S.args[$].interpret(I),b.type.is_number(z)){if(y.type_args!==null&&z.is_float!==y.type_args)return b.error.type(y.type_args?"float":"integer",z,I.__call_indicator);R.push(z.value)}else return z;X=X||z.is_float}return R.push(I),z=b.arithmetic.evaluation[S.indicator].fn.apply(this,R),X=y.type_result===null?X:y.type_result,b.type.is_term(z)?z:z===Number.POSITIVE_INFINITY||z===Number.NEGATIVE_INFINITY?b.error.evaluation("overflow",I.__call_indicator):X===!1&&I.get_flag("bounded").id==="true"&&(z>I.get_flag("max_integer").value||z<I.get_flag("min_integer").value)?b.error.evaluation("int_overflow",I.__call_indicator):new Re(z,X)}else return b.error.type("evaluable",S.indicator,I.__call_indicator)},error:{existence:function(I,S,y){return typeof S=="string"&&(S=Z(S)),new q("error",[new q("existence_error",[new q(I),S]),Z(y)])},type:function(I,S,y){return new q("error",[new q("type_error",[new q(I),S]),Z(y)])},instantiation:function(I){return new q("error",[new q("instantiation_error"),Z(I)])},domain:function(I,S,y){return new q("error",[new q("domain_error",[new q(I),S]),Z(y)])},representation:function(I,S){return new q("error",[new q("representation_error",[new q(I)]),Z(S)])},permission:function(I,S,y,R){return new q("error",[new q("permission_error",[new q(I),new q(S),y]),Z(R)])},evaluation:function(I,S){return new q("error",[new q("evaluation_error",[new q(I)]),Z(S)])},syntax:function(I,S,y){I=I||{value:"",line:0,column:0,matches:[""],start:0};var R=y&&I.matches.length>0?I.start+I.matches[0].length:I.start,z=y?new q("token_not_found"):new q("found",[new q(I.value.toString())]),X=new q(".",[new q("line",[new Re(I.line+1)]),new q(".",[new q("column",[new Re(R+1)]),new q(".",[z,new q("[]",[])])])]);return new q("error",[new q("syntax_error",[new q(S)]),X])},syntax_by_predicate:function(I,S){return new q("error",[new q("syntax_error",[new q(I)]),Z(S)])}},warning:{singleton:function(I,S,y){for(var R=new q("[]"),z=I.length-1;z>=0;z--)R=new q(".",[new Pe(I[z]),R]);return new q("warning",[new q("singleton_variables",[R,Z(S)]),new q(".",[new q("line",[new Re(y,!1)]),new q("[]")])])},failed_goal:function(I,S){return new q("warning",[new q("failed_goal",[I]),new q(".",[new q("line",[new Re(S,!1)]),new q("[]")])])}},format_variable:function(I){return"_"+I},format_answer:function(I,S,R){S instanceof be&&(S=S.thread);var R=R||{};if(R.session=S?S.session:void 0,b.type.is_error(I))return"uncaught exception: "+I.args[0].toString();if(I===!1)return"false.";if(I===null)return"limit exceeded ;";var z=0,X="";if(b.type.is_substitution(I)){var $=I.domain(!0);I=I.filter(function(Fe,lt){return!b.type.is_variable(lt)||$.indexOf(lt.id)!==-1&&Fe!==lt.id})}for(var se in I.links)I.links.hasOwnProperty(se)&&(z++,X!==""&&(X+=", "),X+=se.toString(R)+" = "+I.links[se].toString(R));var xe=typeof S>"u"||S.points.length>0?" ;":".";return z===0?"true"+xe:X+xe},flatten_error:function(I){if(!b.type.is_error(I))return null;I=I.args[0];var S={};return S.type=I.args[0].id,S.thrown=S.type==="syntax_error"?null:I.args[1].id,S.expected=null,S.found=null,S.representation=null,S.existence=null,S.existence_type=null,S.line=null,S.column=null,S.permission_operation=null,S.permission_type=null,S.evaluation_type=null,S.type==="type_error"||S.type==="domain_error"?(S.expected=I.args[0].args[0].id,S.found=I.args[0].args[1].toString()):S.type==="syntax_error"?I.args[1].indicator==="./2"?(S.expected=I.args[0].args[0].id,S.found=I.args[1].args[1].args[1].args[0],S.found=S.found.id==="token_not_found"?S.found.id:S.found.args[0].id,S.line=I.args[1].args[0].args[0].value,S.column=I.args[1].args[1].args[0].args[0].value):S.thrown=I.args[1].id:S.type==="permission_error"?(S.found=I.args[0].args[2].toString(),S.permission_operation=I.args[0].args[0].id,S.permission_type=I.args[0].args[1].id):S.type==="evaluation_error"?S.evaluation_type=I.args[0].args[0].id:S.type==="representation_error"?S.representation=I.args[0].args[0].id:S.type==="existence_error"&&(S.existence=I.args[0].args[1].toString(),S.existence_type=I.args[0].args[0].id),S},create:function(I){return new b.type.Session(I)}};typeof El<"u"?El.exports=b:window.pl=b})()});function Kme(t,e,r){t.prepend(r.map(o=>new Oa.default.type.State(e.goal.replace(o),e.substitution,e)))}function n6(t){let e=Jme.get(t.session);if(e==null)throw new Error("Assertion failed: A project should have been registered for the active session");return e}function zme(t,e){Jme.set(t,e),t.consult(`:- use_module(library(${Wgt.id})).`)}var i6,Oa,Vme,Lh,jgt,Ggt,Jme,Wgt,Xme=It(()=>{Ke();i6=et(N2()),Oa=et(r6()),Vme=et(ve("vm")),{is_atom:Lh,is_variable:jgt,is_instantiated_list:Ggt}=Oa.default.type;Jme=new WeakMap;Wgt=new Oa.default.type.Module("constraints",{"project_workspaces_by_descriptor/3":(t,e,r)=>{let[o,a,n]=r.args;if(!Lh(o)||!Lh(a)){t.throw_error(Oa.default.error.instantiation(r.indicator));return}let u=G.parseIdent(o.id),A=G.makeDescriptor(u,a.id),h=n6(t).tryWorkspaceByDescriptor(A);jgt(n)&&h!==null&&Kme(t,e,[new Oa.default.type.Term("=",[n,new Oa.default.type.Term(String(h.relativeCwd))])]),Lh(n)&&h!==null&&h.relativeCwd===n.id&&t.success(e)},"workspace_field/3":(t,e,r)=>{let[o,a,n]=r.args;if(!Lh(o)||!Lh(a)){t.throw_error(Oa.default.error.instantiation(r.indicator));return}let A=n6(t).tryWorkspaceByCwd(o.id);if(A==null)return;let p=(0,i6.default)(A.manifest.raw,a.id);typeof p>"u"||Kme(t,e,[new Oa.default.type.Term("=",[n,new Oa.default.type.Term(typeof p=="object"?JSON.stringify(p):p)])])},"workspace_field_test/3":(t,e,r)=>{let[o,a,n]=r.args;t.prepend([new Oa.default.type.State(e.goal.replace(new Oa.default.type.Term("workspace_field_test",[o,a,n,new Oa.default.type.Term("[]",[])])),e.substitution,e)])},"workspace_field_test/4":(t,e,r)=>{let[o,a,n,u]=r.args;if(!Lh(o)||!Lh(a)||!Lh(n)||!Ggt(u)){t.throw_error(Oa.default.error.instantiation(r.indicator));return}let p=n6(t).tryWorkspaceByCwd(o.id);if(p==null)return;let h=(0,i6.default)(p.manifest.raw,a.id);if(typeof h>"u")return;let E={$$:h};for(let[D,x]of u.toJavaScript().entries())E[`$${D}`]=x;Vme.default.runInNewContext(n.id,E)&&t.success(e)}},["project_workspaces_by_descriptor/3","workspace_field/3","workspace_field_test/3","workspace_field_test/4"])});var Y2={};Kt(Y2,{Constraints:()=>o6,DependencyType:()=>tye});function Vs(t){if(t instanceof rC.default.type.Num)return t.value;if(t instanceof rC.default.type.Term)switch(t.indicator){case"throw/1":return Vs(t.args[0]);case"error/1":return Vs(t.args[0]);case"error/2":if(t.args[0]instanceof rC.default.type.Term&&t.args[0].indicator==="syntax_error/1")return Object.assign(Vs(t.args[0]),...Vs(t.args[1]));{let e=Vs(t.args[0]);return e.message+=` (in ${Vs(t.args[1])})`,e}case"syntax_error/1":return new Jt(43,`Syntax error: ${Vs(t.args[0])}`);case"existence_error/2":return new Jt(44,`Existence error: ${Vs(t.args[0])} ${Vs(t.args[1])} not found`);case"instantiation_error/0":return new Jt(75,"Instantiation error: an argument is variable when an instantiated argument was expected");case"line/1":return{line:Vs(t.args[0])};case"column/1":return{column:Vs(t.args[0])};case"found/1":return{found:Vs(t.args[0])};case"./2":return[Vs(t.args[0])].concat(Vs(t.args[1]));case"//2":return`${Vs(t.args[0])}/${Vs(t.args[1])}`;default:return t.id}throw`couldn't pretty print because of unsupported node ${t}`}function $me(t){let e;try{e=Vs(t)}catch(r){throw typeof r=="string"?new Jt(42,`Unknown error: ${t} (note: ${r})`):r}return typeof e.line<"u"&&typeof e.column<"u"&&(e.message+=` at line ${e.line}, column ${e.column}`),e}function Zg(t){return t.id==="null"?null:`${t.toJavaScript()}`}function Ygt(t){if(t.id==="null")return null;{let e=t.toJavaScript();if(typeof e!="string")return JSON.stringify(e);try{return JSON.stringify(JSON.parse(e))}catch{return JSON.stringify(e)}}}function Oh(t){return typeof t=="string"?`'${t}'`:"[]"}var eye,rC,tye,Zme,s6,o6,K2=It(()=>{Ke();Ke();Pt();eye=et(Qme()),rC=et(r6());j2();Xme();(0,eye.default)(rC.default);tye=(o=>(o.Dependencies="dependencies",o.DevDependencies="devDependencies",o.PeerDependencies="peerDependencies",o))(tye||{}),Zme=["dependencies","devDependencies","peerDependencies"];s6=class{constructor(e,r){let o=1e3*e.workspaces.length;this.session=rC.default.create(o),zme(this.session,e),this.session.consult(":- use_module(library(lists))."),this.session.consult(r)}fetchNextAnswer(){return new Promise(e=>{this.session.answer(r=>{e(r)})})}async*makeQuery(e){let r=this.session.query(e);if(r!==!0)throw $me(r);for(;;){let o=await this.fetchNextAnswer();if(o===null)throw new Jt(79,"Resolution limit exceeded");if(!o)break;if(o.id==="throw")throw $me(o);yield o}}};o6=class t{constructor(e){this.source="";this.project=e;let r=e.configuration.get("constraintsPath");ae.existsSync(r)&&(this.source=ae.readFileSync(r,"utf8"))}static async find(e){return new t(e)}getProjectDatabase(){let e="";for(let r of Zme)e+=`dependency_type(${r}). +`;for(let r of this.project.workspacesByCwd.values()){let o=r.relativeCwd;e+=`workspace(${Oh(o)}). +`,e+=`workspace_ident(${Oh(o)}, ${Oh(G.stringifyIdent(r.anchoredLocator))}). +`,e+=`workspace_version(${Oh(o)}, ${Oh(r.manifest.version)}). +`;for(let a of Zme)for(let n of r.manifest[a].values())e+=`workspace_has_dependency(${Oh(o)}, ${Oh(G.stringifyIdent(n))}, ${Oh(n.range)}, ${a}). +`}return e+=`workspace(_) :- false. +`,e+=`workspace_ident(_, _) :- false. +`,e+=`workspace_version(_, _) :- false. +`,e+=`workspace_has_dependency(_, _, _, _) :- false. +`,e}getDeclarations(){let e="";return e+=`gen_enforced_dependency(_, _, _, _) :- false. +`,e+=`gen_enforced_field(_, _, _) :- false. +`,e}get fullSource(){return`${this.getProjectDatabase()} +${this.source} +${this.getDeclarations()}`}createSession(){return new s6(this.project,this.fullSource)}async processClassic(){let e=this.createSession();return{enforcedDependencies:await this.genEnforcedDependencies(e),enforcedFields:await this.genEnforcedFields(e)}}async process(){let{enforcedDependencies:e,enforcedFields:r}=await this.processClassic(),o=new Map;for(let{workspace:a,dependencyIdent:n,dependencyRange:u,dependencyType:A}of e){let p=q2([A,G.stringifyIdent(n)]),h=qe.getMapWithDefault(o,a.cwd);qe.getMapWithDefault(h,p).set(u??void 0,new Set)}for(let{workspace:a,fieldPath:n,fieldValue:u}of r){let A=q2(n),p=qe.getMapWithDefault(o,a.cwd);qe.getMapWithDefault(p,A).set(JSON.parse(u)??void 0,new Set)}return{manifestUpdates:o,reportedErrors:new Map}}async genEnforcedDependencies(e){let r=[];for await(let o of e.makeQuery("workspace(WorkspaceCwd), dependency_type(DependencyType), gen_enforced_dependency(WorkspaceCwd, DependencyIdent, DependencyRange, DependencyType).")){let a=K.resolve(this.project.cwd,Zg(o.links.WorkspaceCwd)),n=Zg(o.links.DependencyIdent),u=Zg(o.links.DependencyRange),A=Zg(o.links.DependencyType);if(a===null||n===null)throw new Error("Invalid rule");let p=this.project.getWorkspaceByCwd(a),h=G.parseIdent(n);r.push({workspace:p,dependencyIdent:h,dependencyRange:u,dependencyType:A})}return qe.sortMap(r,[({dependencyRange:o})=>o!==null?"0":"1",({workspace:o})=>G.stringifyIdent(o.anchoredLocator),({dependencyIdent:o})=>G.stringifyIdent(o)])}async genEnforcedFields(e){let r=[];for await(let o of e.makeQuery("workspace(WorkspaceCwd), gen_enforced_field(WorkspaceCwd, FieldPath, FieldValue).")){let a=K.resolve(this.project.cwd,Zg(o.links.WorkspaceCwd)),n=Zg(o.links.FieldPath),u=Ygt(o.links.FieldValue);if(a===null||n===null)throw new Error("Invalid rule");let A=this.project.getWorkspaceByCwd(a);r.push({workspace:A,fieldPath:n,fieldValue:u})}return qe.sortMap(r,[({workspace:o})=>G.stringifyIdent(o.anchoredLocator),({fieldPath:o})=>o])}async*query(e){let r=this.createSession();for await(let o of r.makeQuery(e)){let a={};for(let[n,u]of Object.entries(o.links))n!=="_"&&(a[n]=Zg(u));yield a}}}});var uye=_(tQ=>{"use strict";Object.defineProperty(tQ,"__esModule",{value:!0});function lB(t){let e=[...t.caches],r=e.shift();return r===void 0?cye():{get(o,a,n={miss:()=>Promise.resolve()}){return r.get(o,a,n).catch(()=>lB({caches:e}).get(o,a,n))},set(o,a){return r.set(o,a).catch(()=>lB({caches:e}).set(o,a))},delete(o){return r.delete(o).catch(()=>lB({caches:e}).delete(o))},clear(){return r.clear().catch(()=>lB({caches:e}).clear())}}}function cye(){return{get(t,e,r={miss:()=>Promise.resolve()}){return e().then(a=>Promise.all([a,r.miss(a)])).then(([a])=>a)},set(t,e){return Promise.resolve(e)},delete(t){return Promise.resolve()},clear(){return Promise.resolve()}}}tQ.createFallbackableCache=lB;tQ.createNullCache=cye});var fye=_((pYt,Aye)=>{Aye.exports=uye()});var pye=_(C6=>{"use strict";Object.defineProperty(C6,"__esModule",{value:!0});function Adt(t={serializable:!0}){let e={};return{get(r,o,a={miss:()=>Promise.resolve()}){let n=JSON.stringify(r);if(n in e)return Promise.resolve(t.serializable?JSON.parse(e[n]):e[n]);let u=o(),A=a&&a.miss||(()=>Promise.resolve());return u.then(p=>A(p)).then(()=>u)},set(r,o){return e[JSON.stringify(r)]=t.serializable?JSON.stringify(o):o,Promise.resolve(o)},delete(r){return delete e[JSON.stringify(r)],Promise.resolve()},clear(){return e={},Promise.resolve()}}}C6.createInMemoryCache=Adt});var gye=_((gYt,hye)=>{hye.exports=pye()});var mye=_(su=>{"use strict";Object.defineProperty(su,"__esModule",{value:!0});function fdt(t,e,r){let o={"x-algolia-api-key":r,"x-algolia-application-id":e};return{headers(){return t===I6.WithinHeaders?o:{}},queryParameters(){return t===I6.WithinQueryParameters?o:{}}}}function pdt(t){let e=0,r=()=>(e++,new Promise(o=>{setTimeout(()=>{o(t(r))},Math.min(100*e,1e3))}));return t(r)}function dye(t,e=(r,o)=>Promise.resolve()){return Object.assign(t,{wait(r){return dye(t.then(o=>Promise.all([e(o,r),o])).then(o=>o[1]))}})}function hdt(t){let e=t.length-1;for(e;e>0;e--){let r=Math.floor(Math.random()*(e+1)),o=t[e];t[e]=t[r],t[r]=o}return t}function gdt(t,e){return e&&Object.keys(e).forEach(r=>{t[r]=e[r](t)}),t}function ddt(t,...e){let r=0;return t.replace(/%s/g,()=>encodeURIComponent(e[r++]))}var mdt="4.22.1",ydt=t=>()=>t.transporter.requester.destroy(),I6={WithinQueryParameters:0,WithinHeaders:1};su.AuthMode=I6;su.addMethods=gdt;su.createAuth=fdt;su.createRetryablePromise=pdt;su.createWaitablePromise=dye;su.destroy=ydt;su.encode=ddt;su.shuffle=hdt;su.version=mdt});var cB=_((mYt,yye)=>{yye.exports=mye()});var Eye=_(w6=>{"use strict";Object.defineProperty(w6,"__esModule",{value:!0});var Edt={Delete:"DELETE",Get:"GET",Post:"POST",Put:"PUT"};w6.MethodEnum=Edt});var uB=_((EYt,Cye)=>{Cye.exports=Eye()});var Nye=_(Ti=>{"use strict";Object.defineProperty(Ti,"__esModule",{value:!0});var wye=uB();function B6(t,e){let r=t||{},o=r.data||{};return Object.keys(r).forEach(a=>{["timeout","headers","queryParameters","data","cacheable"].indexOf(a)===-1&&(o[a]=r[a])}),{data:Object.entries(o).length>0?o:void 0,timeout:r.timeout||e,headers:r.headers||{},queryParameters:r.queryParameters||{},cacheable:r.cacheable}}var AB={Read:1,Write:2,Any:3},fC={Up:1,Down:2,Timeouted:3},Bye=2*60*1e3;function D6(t,e=fC.Up){return{...t,status:e,lastUpdate:Date.now()}}function vye(t){return t.status===fC.Up||Date.now()-t.lastUpdate>Bye}function Dye(t){return t.status===fC.Timeouted&&Date.now()-t.lastUpdate<=Bye}function P6(t){return typeof t=="string"?{protocol:"https",url:t,accept:AB.Any}:{protocol:t.protocol||"https",url:t.url,accept:t.accept||AB.Any}}function Cdt(t,e){return Promise.all(e.map(r=>t.get(r,()=>Promise.resolve(D6(r))))).then(r=>{let o=r.filter(A=>vye(A)),a=r.filter(A=>Dye(A)),n=[...o,...a],u=n.length>0?n.map(A=>P6(A)):e;return{getTimeout(A,p){return(a.length===0&&A===0?1:a.length+3+A)*p},statelessHosts:u}})}var Idt=({isTimedOut:t,status:e})=>!t&&~~e===0,wdt=t=>{let e=t.status;return t.isTimedOut||Idt(t)||~~(e/100)!==2&&~~(e/100)!==4},Bdt=({status:t})=>~~(t/100)===2,vdt=(t,e)=>wdt(t)?e.onRetry(t):Bdt(t)?e.onSuccess(t):e.onFail(t);function Iye(t,e,r,o){let a=[],n=kye(r,o),u=Qye(t,o),A=r.method,p=r.method!==wye.MethodEnum.Get?{}:{...r.data,...o.data},h={"x-algolia-agent":t.userAgent.value,...t.queryParameters,...p,...o.queryParameters},E=0,w=(D,x)=>{let C=D.pop();if(C===void 0)throw Tye(v6(a));let T={data:n,headers:u,method:A,url:bye(C,r.path,h),connectTimeout:x(E,t.timeouts.connect),responseTimeout:x(E,o.timeout)},L=J=>{let te={request:T,response:J,host:C,triesLeft:D.length};return a.push(te),te},U={onSuccess:J=>Pye(J),onRetry(J){let te=L(J);return J.isTimedOut&&E++,Promise.all([t.logger.info("Retryable failure",S6(te)),t.hostsCache.set(C,D6(C,J.isTimedOut?fC.Timeouted:fC.Down))]).then(()=>w(D,x))},onFail(J){throw L(J),Sye(J,v6(a))}};return t.requester.send(T).then(J=>vdt(J,U))};return Cdt(t.hostsCache,e).then(D=>w([...D.statelessHosts].reverse(),D.getTimeout))}function Ddt(t){let{hostsCache:e,logger:r,requester:o,requestsCache:a,responsesCache:n,timeouts:u,userAgent:A,hosts:p,queryParameters:h,headers:E}=t,w={hostsCache:e,logger:r,requester:o,requestsCache:a,responsesCache:n,timeouts:u,userAgent:A,headers:E,queryParameters:h,hosts:p.map(D=>P6(D)),read(D,x){let C=B6(x,w.timeouts.read),T=()=>Iye(w,w.hosts.filter(J=>(J.accept&AB.Read)!==0),D,C);if((C.cacheable!==void 0?C.cacheable:D.cacheable)!==!0)return T();let U={request:D,mappedRequestOptions:C,transporter:{queryParameters:w.queryParameters,headers:w.headers}};return w.responsesCache.get(U,()=>w.requestsCache.get(U,()=>w.requestsCache.set(U,T()).then(J=>Promise.all([w.requestsCache.delete(U),J]),J=>Promise.all([w.requestsCache.delete(U),Promise.reject(J)])).then(([J,te])=>te)),{miss:J=>w.responsesCache.set(U,J)})},write(D,x){return Iye(w,w.hosts.filter(C=>(C.accept&AB.Write)!==0),D,B6(x,w.timeouts.write))}};return w}function Pdt(t){let e={value:`Algolia for JavaScript (${t})`,add(r){let o=`; ${r.segment}${r.version!==void 0?` (${r.version})`:""}`;return e.value.indexOf(o)===-1&&(e.value=`${e.value}${o}`),e}};return e}function Pye(t){try{return JSON.parse(t.content)}catch(e){throw Rye(e.message,t)}}function Sye({content:t,status:e},r){let o=t;try{o=JSON.parse(t).message}catch{}return Fye(o,e,r)}function Sdt(t,...e){let r=0;return t.replace(/%s/g,()=>encodeURIComponent(e[r++]))}function bye(t,e,r){let o=xye(r),a=`${t.protocol}://${t.url}/${e.charAt(0)==="/"?e.substr(1):e}`;return o.length&&(a+=`?${o}`),a}function xye(t){let e=r=>Object.prototype.toString.call(r)==="[object Object]"||Object.prototype.toString.call(r)==="[object Array]";return Object.keys(t).map(r=>Sdt("%s=%s",r,e(t[r])?JSON.stringify(t[r]):t[r])).join("&")}function kye(t,e){if(t.method===wye.MethodEnum.Get||t.data===void 0&&e.data===void 0)return;let r=Array.isArray(t.data)?t.data:{...t.data,...e.data};return JSON.stringify(r)}function Qye(t,e){let r={...t.headers,...e.headers},o={};return Object.keys(r).forEach(a=>{let n=r[a];o[a.toLowerCase()]=n}),o}function v6(t){return t.map(e=>S6(e))}function S6(t){let e=t.request.headers["x-algolia-api-key"]?{"x-algolia-api-key":"*****"}:{};return{...t,request:{...t.request,headers:{...t.request.headers,...e}}}}function Fye(t,e,r){return{name:"ApiError",message:t,status:e,transporterStackTrace:r}}function Rye(t,e){return{name:"DeserializationError",message:t,response:e}}function Tye(t){return{name:"RetryError",message:"Unreachable hosts - your application id may be incorrect. If the error persists, contact support@algolia.com.",transporterStackTrace:t}}Ti.CallEnum=AB;Ti.HostStatusEnum=fC;Ti.createApiError=Fye;Ti.createDeserializationError=Rye;Ti.createMappedRequestOptions=B6;Ti.createRetryError=Tye;Ti.createStatefulHost=D6;Ti.createStatelessHost=P6;Ti.createTransporter=Ddt;Ti.createUserAgent=Pdt;Ti.deserializeFailure=Sye;Ti.deserializeSuccess=Pye;Ti.isStatefulHostTimeouted=Dye;Ti.isStatefulHostUp=vye;Ti.serializeData=kye;Ti.serializeHeaders=Qye;Ti.serializeQueryParameters=xye;Ti.serializeUrl=bye;Ti.stackFrameWithoutCredentials=S6;Ti.stackTraceWithoutCredentials=v6});var fB=_((IYt,Lye)=>{Lye.exports=Nye()});var Oye=_(Mh=>{"use strict";Object.defineProperty(Mh,"__esModule",{value:!0});var pC=cB(),bdt=fB(),pB=uB(),xdt=t=>{let e=t.region||"us",r=pC.createAuth(pC.AuthMode.WithinHeaders,t.appId,t.apiKey),o=bdt.createTransporter({hosts:[{url:`analytics.${e}.algolia.com`}],...t,headers:{...r.headers(),"content-type":"application/json",...t.headers},queryParameters:{...r.queryParameters(),...t.queryParameters}}),a=t.appId;return pC.addMethods({appId:a,transporter:o},t.methods)},kdt=t=>(e,r)=>t.transporter.write({method:pB.MethodEnum.Post,path:"2/abtests",data:e},r),Qdt=t=>(e,r)=>t.transporter.write({method:pB.MethodEnum.Delete,path:pC.encode("2/abtests/%s",e)},r),Fdt=t=>(e,r)=>t.transporter.read({method:pB.MethodEnum.Get,path:pC.encode("2/abtests/%s",e)},r),Rdt=t=>e=>t.transporter.read({method:pB.MethodEnum.Get,path:"2/abtests"},e),Tdt=t=>(e,r)=>t.transporter.write({method:pB.MethodEnum.Post,path:pC.encode("2/abtests/%s/stop",e)},r);Mh.addABTest=kdt;Mh.createAnalyticsClient=xdt;Mh.deleteABTest=Qdt;Mh.getABTest=Fdt;Mh.getABTests=Rdt;Mh.stopABTest=Tdt});var Uye=_((BYt,Mye)=>{Mye.exports=Oye()});var Hye=_(hB=>{"use strict";Object.defineProperty(hB,"__esModule",{value:!0});var b6=cB(),Ndt=fB(),_ye=uB(),Ldt=t=>{let e=t.region||"us",r=b6.createAuth(b6.AuthMode.WithinHeaders,t.appId,t.apiKey),o=Ndt.createTransporter({hosts:[{url:`personalization.${e}.algolia.com`}],...t,headers:{...r.headers(),"content-type":"application/json",...t.headers},queryParameters:{...r.queryParameters(),...t.queryParameters}});return b6.addMethods({appId:t.appId,transporter:o},t.methods)},Odt=t=>e=>t.transporter.read({method:_ye.MethodEnum.Get,path:"1/strategies/personalization"},e),Mdt=t=>(e,r)=>t.transporter.write({method:_ye.MethodEnum.Post,path:"1/strategies/personalization",data:e},r);hB.createPersonalizationClient=Ldt;hB.getPersonalizationStrategy=Odt;hB.setPersonalizationStrategy=Mdt});var jye=_((DYt,qye)=>{qye.exports=Hye()});var nEe=_(Rt=>{"use strict";Object.defineProperty(Rt,"__esModule",{value:!0});var Wt=cB(),Ma=fB(),Dr=uB(),Udt=ve("crypto");function rQ(t){let e=r=>t.request(r).then(o=>{if(t.batch!==void 0&&t.batch(o.hits),!t.shouldStop(o))return o.cursor?e({cursor:o.cursor}):e({page:(r.page||0)+1})});return e({})}var _dt=t=>{let e=t.appId,r=Wt.createAuth(t.authMode!==void 0?t.authMode:Wt.AuthMode.WithinHeaders,e,t.apiKey),o=Ma.createTransporter({hosts:[{url:`${e}-dsn.algolia.net`,accept:Ma.CallEnum.Read},{url:`${e}.algolia.net`,accept:Ma.CallEnum.Write}].concat(Wt.shuffle([{url:`${e}-1.algolianet.com`},{url:`${e}-2.algolianet.com`},{url:`${e}-3.algolianet.com`}])),...t,headers:{...r.headers(),"content-type":"application/x-www-form-urlencoded",...t.headers},queryParameters:{...r.queryParameters(),...t.queryParameters}}),a={transporter:o,appId:e,addAlgoliaAgent(n,u){o.userAgent.add({segment:n,version:u})},clearCache(){return Promise.all([o.requestsCache.clear(),o.responsesCache.clear()]).then(()=>{})}};return Wt.addMethods(a,t.methods)};function Gye(){return{name:"MissingObjectIDError",message:"All objects must have an unique objectID (like a primary key) to be valid. Algolia is also able to generate objectIDs automatically but *it's not recommended*. To do it, use the `{'autoGenerateObjectIDIfNotExist': true}` option."}}function Wye(){return{name:"ObjectNotFoundError",message:"Object not found."}}function Yye(){return{name:"ValidUntilNotFoundError",message:"ValidUntil not found in given secured api key."}}var Hdt=t=>(e,r)=>{let{queryParameters:o,...a}=r||{},n={acl:e,...o!==void 0?{queryParameters:o}:{}},u=(A,p)=>Wt.createRetryablePromise(h=>gB(t)(A.key,p).catch(E=>{if(E.status!==404)throw E;return h()}));return Wt.createWaitablePromise(t.transporter.write({method:Dr.MethodEnum.Post,path:"1/keys",data:n},a),u)},qdt=t=>(e,r,o)=>{let a=Ma.createMappedRequestOptions(o);return a.queryParameters["X-Algolia-User-ID"]=e,t.transporter.write({method:Dr.MethodEnum.Post,path:"1/clusters/mapping",data:{cluster:r}},a)},jdt=t=>(e,r,o)=>t.transporter.write({method:Dr.MethodEnum.Post,path:"1/clusters/mapping/batch",data:{users:e,cluster:r}},o),Gdt=t=>(e,r)=>Wt.createWaitablePromise(t.transporter.write({method:Dr.MethodEnum.Post,path:Wt.encode("/1/dictionaries/%s/batch",e),data:{clearExistingDictionaryEntries:!0,requests:{action:"addEntry",body:[]}}},r),(o,a)=>hC(t)(o.taskID,a)),nQ=t=>(e,r,o)=>{let a=(n,u)=>dB(t)(e,{methods:{waitTask:es}}).waitTask(n.taskID,u);return Wt.createWaitablePromise(t.transporter.write({method:Dr.MethodEnum.Post,path:Wt.encode("1/indexes/%s/operation",e),data:{operation:"copy",destination:r}},o),a)},Wdt=t=>(e,r,o)=>nQ(t)(e,r,{...o,scope:[sQ.Rules]}),Ydt=t=>(e,r,o)=>nQ(t)(e,r,{...o,scope:[sQ.Settings]}),Kdt=t=>(e,r,o)=>nQ(t)(e,r,{...o,scope:[sQ.Synonyms]}),Vdt=t=>(e,r)=>e.method===Dr.MethodEnum.Get?t.transporter.read(e,r):t.transporter.write(e,r),Jdt=t=>(e,r)=>{let o=(a,n)=>Wt.createRetryablePromise(u=>gB(t)(e,n).then(u).catch(A=>{if(A.status!==404)throw A}));return Wt.createWaitablePromise(t.transporter.write({method:Dr.MethodEnum.Delete,path:Wt.encode("1/keys/%s",e)},r),o)},zdt=t=>(e,r,o)=>{let a=r.map(n=>({action:"deleteEntry",body:{objectID:n}}));return Wt.createWaitablePromise(t.transporter.write({method:Dr.MethodEnum.Post,path:Wt.encode("/1/dictionaries/%s/batch",e),data:{clearExistingDictionaryEntries:!1,requests:a}},o),(n,u)=>hC(t)(n.taskID,u))},Xdt=()=>(t,e)=>{let r=Ma.serializeQueryParameters(e),o=Udt.createHmac("sha256",t).update(r).digest("hex");return Buffer.from(o+r).toString("base64")},gB=t=>(e,r)=>t.transporter.read({method:Dr.MethodEnum.Get,path:Wt.encode("1/keys/%s",e)},r),Kye=t=>(e,r)=>t.transporter.read({method:Dr.MethodEnum.Get,path:Wt.encode("1/task/%s",e.toString())},r),Zdt=t=>e=>t.transporter.read({method:Dr.MethodEnum.Get,path:"/1/dictionaries/*/settings"},e),$dt=t=>e=>t.transporter.read({method:Dr.MethodEnum.Get,path:"1/logs"},e),emt=()=>t=>{let e=Buffer.from(t,"base64").toString("ascii"),r=/validUntil=(\d+)/,o=e.match(r);if(o===null)throw Yye();return parseInt(o[1],10)-Math.round(new Date().getTime()/1e3)},tmt=t=>e=>t.transporter.read({method:Dr.MethodEnum.Get,path:"1/clusters/mapping/top"},e),rmt=t=>(e,r)=>t.transporter.read({method:Dr.MethodEnum.Get,path:Wt.encode("1/clusters/mapping/%s",e)},r),nmt=t=>e=>{let{retrieveMappings:r,...o}=e||{};return r===!0&&(o.getClusters=!0),t.transporter.read({method:Dr.MethodEnum.Get,path:"1/clusters/mapping/pending"},o)},dB=t=>(e,r={})=>{let o={transporter:t.transporter,appId:t.appId,indexName:e};return Wt.addMethods(o,r.methods)},imt=t=>e=>t.transporter.read({method:Dr.MethodEnum.Get,path:"1/keys"},e),smt=t=>e=>t.transporter.read({method:Dr.MethodEnum.Get,path:"1/clusters"},e),omt=t=>e=>t.transporter.read({method:Dr.MethodEnum.Get,path:"1/indexes"},e),amt=t=>e=>t.transporter.read({method:Dr.MethodEnum.Get,path:"1/clusters/mapping"},e),lmt=t=>(e,r,o)=>{let a=(n,u)=>dB(t)(e,{methods:{waitTask:es}}).waitTask(n.taskID,u);return Wt.createWaitablePromise(t.transporter.write({method:Dr.MethodEnum.Post,path:Wt.encode("1/indexes/%s/operation",e),data:{operation:"move",destination:r}},o),a)},cmt=t=>(e,r)=>{let o=(a,n)=>Promise.all(Object.keys(a.taskID).map(u=>dB(t)(u,{methods:{waitTask:es}}).waitTask(a.taskID[u],n)));return Wt.createWaitablePromise(t.transporter.write({method:Dr.MethodEnum.Post,path:"1/indexes/*/batch",data:{requests:e}},r),o)},umt=t=>(e,r)=>t.transporter.read({method:Dr.MethodEnum.Post,path:"1/indexes/*/objects",data:{requests:e}},r),Amt=t=>(e,r)=>{let o=e.map(a=>({...a,params:Ma.serializeQueryParameters(a.params||{})}));return t.transporter.read({method:Dr.MethodEnum.Post,path:"1/indexes/*/queries",data:{requests:o},cacheable:!0},r)},fmt=t=>(e,r)=>Promise.all(e.map(o=>{let{facetName:a,facetQuery:n,...u}=o.params;return dB(t)(o.indexName,{methods:{searchForFacetValues:eEe}}).searchForFacetValues(a,n,{...r,...u})})),pmt=t=>(e,r)=>{let o=Ma.createMappedRequestOptions(r);return o.queryParameters["X-Algolia-User-ID"]=e,t.transporter.write({method:Dr.MethodEnum.Delete,path:"1/clusters/mapping"},o)},hmt=t=>(e,r,o)=>{let a=r.map(n=>({action:"addEntry",body:n}));return Wt.createWaitablePromise(t.transporter.write({method:Dr.MethodEnum.Post,path:Wt.encode("/1/dictionaries/%s/batch",e),data:{clearExistingDictionaryEntries:!0,requests:a}},o),(n,u)=>hC(t)(n.taskID,u))},gmt=t=>(e,r)=>{let o=(a,n)=>Wt.createRetryablePromise(u=>gB(t)(e,n).catch(A=>{if(A.status!==404)throw A;return u()}));return Wt.createWaitablePromise(t.transporter.write({method:Dr.MethodEnum.Post,path:Wt.encode("1/keys/%s/restore",e)},r),o)},dmt=t=>(e,r,o)=>{let a=r.map(n=>({action:"addEntry",body:n}));return Wt.createWaitablePromise(t.transporter.write({method:Dr.MethodEnum.Post,path:Wt.encode("/1/dictionaries/%s/batch",e),data:{clearExistingDictionaryEntries:!1,requests:a}},o),(n,u)=>hC(t)(n.taskID,u))},mmt=t=>(e,r,o)=>t.transporter.read({method:Dr.MethodEnum.Post,path:Wt.encode("/1/dictionaries/%s/search",e),data:{query:r},cacheable:!0},o),ymt=t=>(e,r)=>t.transporter.read({method:Dr.MethodEnum.Post,path:"1/clusters/mapping/search",data:{query:e}},r),Emt=t=>(e,r)=>Wt.createWaitablePromise(t.transporter.write({method:Dr.MethodEnum.Put,path:"/1/dictionaries/*/settings",data:e},r),(o,a)=>hC(t)(o.taskID,a)),Cmt=t=>(e,r)=>{let o=Object.assign({},r),{queryParameters:a,...n}=r||{},u=a?{queryParameters:a}:{},A=["acl","indexes","referers","restrictSources","queryParameters","description","maxQueriesPerIPPerHour","maxHitsPerQuery"],p=E=>Object.keys(o).filter(w=>A.indexOf(w)!==-1).every(w=>{if(Array.isArray(E[w])&&Array.isArray(o[w])){let D=E[w];return D.length===o[w].length&&D.every((x,C)=>x===o[w][C])}else return E[w]===o[w]}),h=(E,w)=>Wt.createRetryablePromise(D=>gB(t)(e,w).then(x=>p(x)?Promise.resolve():D()));return Wt.createWaitablePromise(t.transporter.write({method:Dr.MethodEnum.Put,path:Wt.encode("1/keys/%s",e),data:u},n),h)},hC=t=>(e,r)=>Wt.createRetryablePromise(o=>Kye(t)(e,r).then(a=>a.status!=="published"?o():void 0)),Vye=t=>(e,r)=>{let o=(a,n)=>es(t)(a.taskID,n);return Wt.createWaitablePromise(t.transporter.write({method:Dr.MethodEnum.Post,path:Wt.encode("1/indexes/%s/batch",t.indexName),data:{requests:e}},r),o)},Imt=t=>e=>rQ({shouldStop:r=>r.cursor===void 0,...e,request:r=>t.transporter.read({method:Dr.MethodEnum.Post,path:Wt.encode("1/indexes/%s/browse",t.indexName),data:r},e)}),wmt=t=>e=>{let r={hitsPerPage:1e3,...e};return rQ({shouldStop:o=>o.hits.length<r.hitsPerPage,...r,request(o){return tEe(t)("",{...r,...o}).then(a=>({...a,hits:a.hits.map(n=>(delete n._highlightResult,n))}))}})},Bmt=t=>e=>{let r={hitsPerPage:1e3,...e};return rQ({shouldStop:o=>o.hits.length<r.hitsPerPage,...r,request(o){return rEe(t)("",{...r,...o}).then(a=>({...a,hits:a.hits.map(n=>(delete n._highlightResult,n))}))}})},iQ=t=>(e,r,o)=>{let{batchSize:a,...n}=o||{},u={taskIDs:[],objectIDs:[]},A=(p=0)=>{let h=[],E;for(E=p;E<e.length&&(h.push(e[E]),h.length!==(a||1e3));E++);return h.length===0?Promise.resolve(u):Vye(t)(h.map(w=>({action:r,body:w})),n).then(w=>(u.objectIDs=u.objectIDs.concat(w.objectIDs),u.taskIDs.push(w.taskID),E++,A(E)))};return Wt.createWaitablePromise(A(),(p,h)=>Promise.all(p.taskIDs.map(E=>es(t)(E,h))))},vmt=t=>e=>Wt.createWaitablePromise(t.transporter.write({method:Dr.MethodEnum.Post,path:Wt.encode("1/indexes/%s/clear",t.indexName)},e),(r,o)=>es(t)(r.taskID,o)),Dmt=t=>e=>{let{forwardToReplicas:r,...o}=e||{},a=Ma.createMappedRequestOptions(o);return r&&(a.queryParameters.forwardToReplicas=1),Wt.createWaitablePromise(t.transporter.write({method:Dr.MethodEnum.Post,path:Wt.encode("1/indexes/%s/rules/clear",t.indexName)},a),(n,u)=>es(t)(n.taskID,u))},Pmt=t=>e=>{let{forwardToReplicas:r,...o}=e||{},a=Ma.createMappedRequestOptions(o);return r&&(a.queryParameters.forwardToReplicas=1),Wt.createWaitablePromise(t.transporter.write({method:Dr.MethodEnum.Post,path:Wt.encode("1/indexes/%s/synonyms/clear",t.indexName)},a),(n,u)=>es(t)(n.taskID,u))},Smt=t=>(e,r)=>Wt.createWaitablePromise(t.transporter.write({method:Dr.MethodEnum.Post,path:Wt.encode("1/indexes/%s/deleteByQuery",t.indexName),data:e},r),(o,a)=>es(t)(o.taskID,a)),bmt=t=>e=>Wt.createWaitablePromise(t.transporter.write({method:Dr.MethodEnum.Delete,path:Wt.encode("1/indexes/%s",t.indexName)},e),(r,o)=>es(t)(r.taskID,o)),xmt=t=>(e,r)=>Wt.createWaitablePromise(Jye(t)([e],r).then(o=>({taskID:o.taskIDs[0]})),(o,a)=>es(t)(o.taskID,a)),Jye=t=>(e,r)=>{let o=e.map(a=>({objectID:a}));return iQ(t)(o,ed.DeleteObject,r)},kmt=t=>(e,r)=>{let{forwardToReplicas:o,...a}=r||{},n=Ma.createMappedRequestOptions(a);return o&&(n.queryParameters.forwardToReplicas=1),Wt.createWaitablePromise(t.transporter.write({method:Dr.MethodEnum.Delete,path:Wt.encode("1/indexes/%s/rules/%s",t.indexName,e)},n),(u,A)=>es(t)(u.taskID,A))},Qmt=t=>(e,r)=>{let{forwardToReplicas:o,...a}=r||{},n=Ma.createMappedRequestOptions(a);return o&&(n.queryParameters.forwardToReplicas=1),Wt.createWaitablePromise(t.transporter.write({method:Dr.MethodEnum.Delete,path:Wt.encode("1/indexes/%s/synonyms/%s",t.indexName,e)},n),(u,A)=>es(t)(u.taskID,A))},Fmt=t=>e=>zye(t)(e).then(()=>!0).catch(r=>{if(r.status!==404)throw r;return!1}),Rmt=t=>(e,r,o)=>t.transporter.read({method:Dr.MethodEnum.Post,path:Wt.encode("1/answers/%s/prediction",t.indexName),data:{query:e,queryLanguages:r},cacheable:!0},o),Tmt=t=>(e,r)=>{let{query:o,paginate:a,...n}=r||{},u=0,A=()=>$ye(t)(o||"",{...n,page:u}).then(p=>{for(let[h,E]of Object.entries(p.hits))if(e(E))return{object:E,position:parseInt(h,10),page:u};if(u++,a===!1||u>=p.nbPages)throw Wye();return A()});return A()},Nmt=t=>(e,r)=>t.transporter.read({method:Dr.MethodEnum.Get,path:Wt.encode("1/indexes/%s/%s",t.indexName,e)},r),Lmt=()=>(t,e)=>{for(let[r,o]of Object.entries(t.hits))if(o.objectID===e)return parseInt(r,10);return-1},Omt=t=>(e,r)=>{let{attributesToRetrieve:o,...a}=r||{},n=e.map(u=>({indexName:t.indexName,objectID:u,...o?{attributesToRetrieve:o}:{}}));return t.transporter.read({method:Dr.MethodEnum.Post,path:"1/indexes/*/objects",data:{requests:n}},a)},Mmt=t=>(e,r)=>t.transporter.read({method:Dr.MethodEnum.Get,path:Wt.encode("1/indexes/%s/rules/%s",t.indexName,e)},r),zye=t=>e=>t.transporter.read({method:Dr.MethodEnum.Get,path:Wt.encode("1/indexes/%s/settings",t.indexName),data:{getVersion:2}},e),Umt=t=>(e,r)=>t.transporter.read({method:Dr.MethodEnum.Get,path:Wt.encode("1/indexes/%s/synonyms/%s",t.indexName,e)},r),Xye=t=>(e,r)=>t.transporter.read({method:Dr.MethodEnum.Get,path:Wt.encode("1/indexes/%s/task/%s",t.indexName,e.toString())},r),_mt=t=>(e,r)=>Wt.createWaitablePromise(Zye(t)([e],r).then(o=>({objectID:o.objectIDs[0],taskID:o.taskIDs[0]})),(o,a)=>es(t)(o.taskID,a)),Zye=t=>(e,r)=>{let{createIfNotExists:o,...a}=r||{},n=o?ed.PartialUpdateObject:ed.PartialUpdateObjectNoCreate;return iQ(t)(e,n,a)},Hmt=t=>(e,r)=>{let{safe:o,autoGenerateObjectIDIfNotExist:a,batchSize:n,...u}=r||{},A=(C,T,L,U)=>Wt.createWaitablePromise(t.transporter.write({method:Dr.MethodEnum.Post,path:Wt.encode("1/indexes/%s/operation",C),data:{operation:L,destination:T}},U),(J,te)=>es(t)(J.taskID,te)),p=Math.random().toString(36).substring(7),h=`${t.indexName}_tmp_${p}`,E=x6({appId:t.appId,transporter:t.transporter,indexName:h}),w=[],D=A(t.indexName,h,"copy",{...u,scope:["settings","synonyms","rules"]});w.push(D);let x=(o?D.wait(u):D).then(()=>{let C=E(e,{...u,autoGenerateObjectIDIfNotExist:a,batchSize:n});return w.push(C),o?C.wait(u):C}).then(()=>{let C=A(h,t.indexName,"move",u);return w.push(C),o?C.wait(u):C}).then(()=>Promise.all(w)).then(([C,T,L])=>({objectIDs:T.objectIDs,taskIDs:[C.taskID,...T.taskIDs,L.taskID]}));return Wt.createWaitablePromise(x,(C,T)=>Promise.all(w.map(L=>L.wait(T))))},qmt=t=>(e,r)=>k6(t)(e,{...r,clearExistingRules:!0}),jmt=t=>(e,r)=>Q6(t)(e,{...r,clearExistingSynonyms:!0}),Gmt=t=>(e,r)=>Wt.createWaitablePromise(x6(t)([e],r).then(o=>({objectID:o.objectIDs[0],taskID:o.taskIDs[0]})),(o,a)=>es(t)(o.taskID,a)),x6=t=>(e,r)=>{let{autoGenerateObjectIDIfNotExist:o,...a}=r||{},n=o?ed.AddObject:ed.UpdateObject;if(n===ed.UpdateObject){for(let u of e)if(u.objectID===void 0)return Wt.createWaitablePromise(Promise.reject(Gye()))}return iQ(t)(e,n,a)},Wmt=t=>(e,r)=>k6(t)([e],r),k6=t=>(e,r)=>{let{forwardToReplicas:o,clearExistingRules:a,...n}=r||{},u=Ma.createMappedRequestOptions(n);return o&&(u.queryParameters.forwardToReplicas=1),a&&(u.queryParameters.clearExistingRules=1),Wt.createWaitablePromise(t.transporter.write({method:Dr.MethodEnum.Post,path:Wt.encode("1/indexes/%s/rules/batch",t.indexName),data:e},u),(A,p)=>es(t)(A.taskID,p))},Ymt=t=>(e,r)=>Q6(t)([e],r),Q6=t=>(e,r)=>{let{forwardToReplicas:o,clearExistingSynonyms:a,replaceExistingSynonyms:n,...u}=r||{},A=Ma.createMappedRequestOptions(u);return o&&(A.queryParameters.forwardToReplicas=1),(n||a)&&(A.queryParameters.replaceExistingSynonyms=1),Wt.createWaitablePromise(t.transporter.write({method:Dr.MethodEnum.Post,path:Wt.encode("1/indexes/%s/synonyms/batch",t.indexName),data:e},A),(p,h)=>es(t)(p.taskID,h))},$ye=t=>(e,r)=>t.transporter.read({method:Dr.MethodEnum.Post,path:Wt.encode("1/indexes/%s/query",t.indexName),data:{query:e},cacheable:!0},r),eEe=t=>(e,r,o)=>t.transporter.read({method:Dr.MethodEnum.Post,path:Wt.encode("1/indexes/%s/facets/%s/query",t.indexName,e),data:{facetQuery:r},cacheable:!0},o),tEe=t=>(e,r)=>t.transporter.read({method:Dr.MethodEnum.Post,path:Wt.encode("1/indexes/%s/rules/search",t.indexName),data:{query:e}},r),rEe=t=>(e,r)=>t.transporter.read({method:Dr.MethodEnum.Post,path:Wt.encode("1/indexes/%s/synonyms/search",t.indexName),data:{query:e}},r),Kmt=t=>(e,r)=>{let{forwardToReplicas:o,...a}=r||{},n=Ma.createMappedRequestOptions(a);return o&&(n.queryParameters.forwardToReplicas=1),Wt.createWaitablePromise(t.transporter.write({method:Dr.MethodEnum.Put,path:Wt.encode("1/indexes/%s/settings",t.indexName),data:e},n),(u,A)=>es(t)(u.taskID,A))},es=t=>(e,r)=>Wt.createRetryablePromise(o=>Xye(t)(e,r).then(a=>a.status!=="published"?o():void 0)),Vmt={AddObject:"addObject",Analytics:"analytics",Browser:"browse",DeleteIndex:"deleteIndex",DeleteObject:"deleteObject",EditSettings:"editSettings",Inference:"inference",ListIndexes:"listIndexes",Logs:"logs",Personalization:"personalization",Recommendation:"recommendation",Search:"search",SeeUnretrievableAttributes:"seeUnretrievableAttributes",Settings:"settings",Usage:"usage"},ed={AddObject:"addObject",UpdateObject:"updateObject",PartialUpdateObject:"partialUpdateObject",PartialUpdateObjectNoCreate:"partialUpdateObjectNoCreate",DeleteObject:"deleteObject",DeleteIndex:"delete",ClearIndex:"clear"},sQ={Settings:"settings",Synonyms:"synonyms",Rules:"rules"},Jmt={None:"none",StopIfEnoughMatches:"stopIfEnoughMatches"},zmt={Synonym:"synonym",OneWaySynonym:"oneWaySynonym",AltCorrection1:"altCorrection1",AltCorrection2:"altCorrection2",Placeholder:"placeholder"};Rt.ApiKeyACLEnum=Vmt;Rt.BatchActionEnum=ed;Rt.ScopeEnum=sQ;Rt.StrategyEnum=Jmt;Rt.SynonymEnum=zmt;Rt.addApiKey=Hdt;Rt.assignUserID=qdt;Rt.assignUserIDs=jdt;Rt.batch=Vye;Rt.browseObjects=Imt;Rt.browseRules=wmt;Rt.browseSynonyms=Bmt;Rt.chunkedBatch=iQ;Rt.clearDictionaryEntries=Gdt;Rt.clearObjects=vmt;Rt.clearRules=Dmt;Rt.clearSynonyms=Pmt;Rt.copyIndex=nQ;Rt.copyRules=Wdt;Rt.copySettings=Ydt;Rt.copySynonyms=Kdt;Rt.createBrowsablePromise=rQ;Rt.createMissingObjectIDError=Gye;Rt.createObjectNotFoundError=Wye;Rt.createSearchClient=_dt;Rt.createValidUntilNotFoundError=Yye;Rt.customRequest=Vdt;Rt.deleteApiKey=Jdt;Rt.deleteBy=Smt;Rt.deleteDictionaryEntries=zdt;Rt.deleteIndex=bmt;Rt.deleteObject=xmt;Rt.deleteObjects=Jye;Rt.deleteRule=kmt;Rt.deleteSynonym=Qmt;Rt.exists=Fmt;Rt.findAnswers=Rmt;Rt.findObject=Tmt;Rt.generateSecuredApiKey=Xdt;Rt.getApiKey=gB;Rt.getAppTask=Kye;Rt.getDictionarySettings=Zdt;Rt.getLogs=$dt;Rt.getObject=Nmt;Rt.getObjectPosition=Lmt;Rt.getObjects=Omt;Rt.getRule=Mmt;Rt.getSecuredApiKeyRemainingValidity=emt;Rt.getSettings=zye;Rt.getSynonym=Umt;Rt.getTask=Xye;Rt.getTopUserIDs=tmt;Rt.getUserID=rmt;Rt.hasPendingMappings=nmt;Rt.initIndex=dB;Rt.listApiKeys=imt;Rt.listClusters=smt;Rt.listIndices=omt;Rt.listUserIDs=amt;Rt.moveIndex=lmt;Rt.multipleBatch=cmt;Rt.multipleGetObjects=umt;Rt.multipleQueries=Amt;Rt.multipleSearchForFacetValues=fmt;Rt.partialUpdateObject=_mt;Rt.partialUpdateObjects=Zye;Rt.removeUserID=pmt;Rt.replaceAllObjects=Hmt;Rt.replaceAllRules=qmt;Rt.replaceAllSynonyms=jmt;Rt.replaceDictionaryEntries=hmt;Rt.restoreApiKey=gmt;Rt.saveDictionaryEntries=dmt;Rt.saveObject=Gmt;Rt.saveObjects=x6;Rt.saveRule=Wmt;Rt.saveRules=k6;Rt.saveSynonym=Ymt;Rt.saveSynonyms=Q6;Rt.search=$ye;Rt.searchDictionaryEntries=mmt;Rt.searchForFacetValues=eEe;Rt.searchRules=tEe;Rt.searchSynonyms=rEe;Rt.searchUserIDs=ymt;Rt.setDictionarySettings=Emt;Rt.setSettings=Kmt;Rt.updateApiKey=Cmt;Rt.waitAppTask=hC;Rt.waitTask=es});var sEe=_((SYt,iEe)=>{iEe.exports=nEe()});var oEe=_(oQ=>{"use strict";Object.defineProperty(oQ,"__esModule",{value:!0});function Xmt(){return{debug(t,e){return Promise.resolve()},info(t,e){return Promise.resolve()},error(t,e){return Promise.resolve()}}}var Zmt={Debug:1,Info:2,Error:3};oQ.LogLevelEnum=Zmt;oQ.createNullLogger=Xmt});var lEe=_((xYt,aEe)=>{aEe.exports=oEe()});var fEe=_(F6=>{"use strict";Object.defineProperty(F6,"__esModule",{value:!0});var cEe=ve("http"),uEe=ve("https"),$mt=ve("url"),AEe={keepAlive:!0},eyt=new cEe.Agent(AEe),tyt=new uEe.Agent(AEe);function ryt({agent:t,httpAgent:e,httpsAgent:r,requesterOptions:o={}}={}){let a=e||t||eyt,n=r||t||tyt;return{send(u){return new Promise(A=>{let p=$mt.parse(u.url),h=p.query===null?p.pathname:`${p.pathname}?${p.query}`,E={...o,agent:p.protocol==="https:"?n:a,hostname:p.hostname,path:h,method:u.method,headers:{...o&&o.headers?o.headers:{},...u.headers},...p.port!==void 0?{port:p.port||""}:{}},w=(p.protocol==="https:"?uEe:cEe).request(E,T=>{let L=[];T.on("data",U=>{L=L.concat(U)}),T.on("end",()=>{clearTimeout(x),clearTimeout(C),A({status:T.statusCode||0,content:Buffer.concat(L).toString(),isTimedOut:!1})})}),D=(T,L)=>setTimeout(()=>{w.abort(),A({status:0,content:L,isTimedOut:!0})},T*1e3),x=D(u.connectTimeout,"Connection timeout"),C;w.on("error",T=>{clearTimeout(x),clearTimeout(C),A({status:0,content:T.message,isTimedOut:!1})}),w.once("response",()=>{clearTimeout(x),C=D(u.responseTimeout,"Socket timeout")}),u.data!==void 0&&w.write(u.data),w.end()})},destroy(){return a.destroy(),n.destroy(),Promise.resolve()}}}F6.createNodeHttpRequester=ryt});var hEe=_((QYt,pEe)=>{pEe.exports=fEe()});var yEe=_((FYt,mEe)=>{"use strict";var gEe=fye(),nyt=gye(),gC=Uye(),T6=cB(),R6=jye(),Ht=sEe(),iyt=lEe(),syt=hEe(),oyt=fB();function dEe(t,e,r){let o={appId:t,apiKey:e,timeouts:{connect:2,read:5,write:30},requester:syt.createNodeHttpRequester(),logger:iyt.createNullLogger(),responsesCache:gEe.createNullCache(),requestsCache:gEe.createNullCache(),hostsCache:nyt.createInMemoryCache(),userAgent:oyt.createUserAgent(T6.version).add({segment:"Node.js",version:process.versions.node})},a={...o,...r},n=()=>u=>R6.createPersonalizationClient({...o,...u,methods:{getPersonalizationStrategy:R6.getPersonalizationStrategy,setPersonalizationStrategy:R6.setPersonalizationStrategy}});return Ht.createSearchClient({...a,methods:{search:Ht.multipleQueries,searchForFacetValues:Ht.multipleSearchForFacetValues,multipleBatch:Ht.multipleBatch,multipleGetObjects:Ht.multipleGetObjects,multipleQueries:Ht.multipleQueries,copyIndex:Ht.copyIndex,copySettings:Ht.copySettings,copyRules:Ht.copyRules,copySynonyms:Ht.copySynonyms,moveIndex:Ht.moveIndex,listIndices:Ht.listIndices,getLogs:Ht.getLogs,listClusters:Ht.listClusters,multipleSearchForFacetValues:Ht.multipleSearchForFacetValues,getApiKey:Ht.getApiKey,addApiKey:Ht.addApiKey,listApiKeys:Ht.listApiKeys,updateApiKey:Ht.updateApiKey,deleteApiKey:Ht.deleteApiKey,restoreApiKey:Ht.restoreApiKey,assignUserID:Ht.assignUserID,assignUserIDs:Ht.assignUserIDs,getUserID:Ht.getUserID,searchUserIDs:Ht.searchUserIDs,listUserIDs:Ht.listUserIDs,getTopUserIDs:Ht.getTopUserIDs,removeUserID:Ht.removeUserID,hasPendingMappings:Ht.hasPendingMappings,generateSecuredApiKey:Ht.generateSecuredApiKey,getSecuredApiKeyRemainingValidity:Ht.getSecuredApiKeyRemainingValidity,destroy:T6.destroy,clearDictionaryEntries:Ht.clearDictionaryEntries,deleteDictionaryEntries:Ht.deleteDictionaryEntries,getDictionarySettings:Ht.getDictionarySettings,getAppTask:Ht.getAppTask,replaceDictionaryEntries:Ht.replaceDictionaryEntries,saveDictionaryEntries:Ht.saveDictionaryEntries,searchDictionaryEntries:Ht.searchDictionaryEntries,setDictionarySettings:Ht.setDictionarySettings,waitAppTask:Ht.waitAppTask,customRequest:Ht.customRequest,initIndex:u=>A=>Ht.initIndex(u)(A,{methods:{batch:Ht.batch,delete:Ht.deleteIndex,findAnswers:Ht.findAnswers,getObject:Ht.getObject,getObjects:Ht.getObjects,saveObject:Ht.saveObject,saveObjects:Ht.saveObjects,search:Ht.search,searchForFacetValues:Ht.searchForFacetValues,waitTask:Ht.waitTask,setSettings:Ht.setSettings,getSettings:Ht.getSettings,partialUpdateObject:Ht.partialUpdateObject,partialUpdateObjects:Ht.partialUpdateObjects,deleteObject:Ht.deleteObject,deleteObjects:Ht.deleteObjects,deleteBy:Ht.deleteBy,clearObjects:Ht.clearObjects,browseObjects:Ht.browseObjects,getObjectPosition:Ht.getObjectPosition,findObject:Ht.findObject,exists:Ht.exists,saveSynonym:Ht.saveSynonym,saveSynonyms:Ht.saveSynonyms,getSynonym:Ht.getSynonym,searchSynonyms:Ht.searchSynonyms,browseSynonyms:Ht.browseSynonyms,deleteSynonym:Ht.deleteSynonym,clearSynonyms:Ht.clearSynonyms,replaceAllObjects:Ht.replaceAllObjects,replaceAllSynonyms:Ht.replaceAllSynonyms,searchRules:Ht.searchRules,getRule:Ht.getRule,deleteRule:Ht.deleteRule,saveRule:Ht.saveRule,saveRules:Ht.saveRules,replaceAllRules:Ht.replaceAllRules,browseRules:Ht.browseRules,clearRules:Ht.clearRules}}),initAnalytics:()=>u=>gC.createAnalyticsClient({...o,...u,methods:{addABTest:gC.addABTest,getABTest:gC.getABTest,getABTests:gC.getABTests,stopABTest:gC.stopABTest,deleteABTest:gC.deleteABTest}}),initPersonalization:n,initRecommendation:()=>u=>(a.logger.info("The `initRecommendation` method is deprecated. Use `initPersonalization` instead."),n()(u))}})}dEe.version=T6.version;mEe.exports=dEe});var L6=_((RYt,N6)=>{var EEe=yEe();N6.exports=EEe;N6.exports.default=EEe});var U6=_((NYt,wEe)=>{"use strict";var IEe=Object.getOwnPropertySymbols,lyt=Object.prototype.hasOwnProperty,cyt=Object.prototype.propertyIsEnumerable;function uyt(t){if(t==null)throw new TypeError("Object.assign cannot be called with null or undefined");return Object(t)}function Ayt(){try{if(!Object.assign)return!1;var t=new String("abc");if(t[5]="de",Object.getOwnPropertyNames(t)[0]==="5")return!1;for(var e={},r=0;r<10;r++)e["_"+String.fromCharCode(r)]=r;var o=Object.getOwnPropertyNames(e).map(function(n){return e[n]});if(o.join("")!=="0123456789")return!1;var a={};return"abcdefghijklmnopqrst".split("").forEach(function(n){a[n]=n}),Object.keys(Object.assign({},a)).join("")==="abcdefghijklmnopqrst"}catch{return!1}}wEe.exports=Ayt()?Object.assign:function(t,e){for(var r,o=uyt(t),a,n=1;n<arguments.length;n++){r=Object(arguments[n]);for(var u in r)lyt.call(r,u)&&(o[u]=r[u]);if(IEe){a=IEe(r);for(var A=0;A<a.length;A++)cyt.call(r,a[A])&&(o[a[A]]=r[a[A]])}}return o}});var MEe=_(Cn=>{"use strict";var H6=U6(),dC=60103,DEe=60106;Cn.Fragment=60107;Cn.StrictMode=60108;Cn.Profiler=60114;var PEe=60109,SEe=60110,bEe=60112;Cn.Suspense=60113;var xEe=60115,kEe=60116;typeof Symbol=="function"&&Symbol.for&&(sc=Symbol.for,dC=sc("react.element"),DEe=sc("react.portal"),Cn.Fragment=sc("react.fragment"),Cn.StrictMode=sc("react.strict_mode"),Cn.Profiler=sc("react.profiler"),PEe=sc("react.provider"),SEe=sc("react.context"),bEe=sc("react.forward_ref"),Cn.Suspense=sc("react.suspense"),xEe=sc("react.memo"),kEe=sc("react.lazy"));var sc,BEe=typeof Symbol=="function"&&Symbol.iterator;function fyt(t){return t===null||typeof t!="object"?null:(t=BEe&&t[BEe]||t["@@iterator"],typeof t=="function"?t:null)}function mB(t){for(var e="https://reactjs.org/docs/error-decoder.html?invariant="+t,r=1;r<arguments.length;r++)e+="&args[]="+encodeURIComponent(arguments[r]);return"Minified React error #"+t+"; visit "+e+" for the full message or use the non-minified dev environment for full errors and additional helpful warnings."}var QEe={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},FEe={};function mC(t,e,r){this.props=t,this.context=e,this.refs=FEe,this.updater=r||QEe}mC.prototype.isReactComponent={};mC.prototype.setState=function(t,e){if(typeof t!="object"&&typeof t!="function"&&t!=null)throw Error(mB(85));this.updater.enqueueSetState(this,t,e,"setState")};mC.prototype.forceUpdate=function(t){this.updater.enqueueForceUpdate(this,t,"forceUpdate")};function REe(){}REe.prototype=mC.prototype;function q6(t,e,r){this.props=t,this.context=e,this.refs=FEe,this.updater=r||QEe}var j6=q6.prototype=new REe;j6.constructor=q6;H6(j6,mC.prototype);j6.isPureReactComponent=!0;var G6={current:null},TEe=Object.prototype.hasOwnProperty,NEe={key:!0,ref:!0,__self:!0,__source:!0};function LEe(t,e,r){var o,a={},n=null,u=null;if(e!=null)for(o in e.ref!==void 0&&(u=e.ref),e.key!==void 0&&(n=""+e.key),e)TEe.call(e,o)&&!NEe.hasOwnProperty(o)&&(a[o]=e[o]);var A=arguments.length-2;if(A===1)a.children=r;else if(1<A){for(var p=Array(A),h=0;h<A;h++)p[h]=arguments[h+2];a.children=p}if(t&&t.defaultProps)for(o in A=t.defaultProps,A)a[o]===void 0&&(a[o]=A[o]);return{$$typeof:dC,type:t,key:n,ref:u,props:a,_owner:G6.current}}function pyt(t,e){return{$$typeof:dC,type:t.type,key:e,ref:t.ref,props:t.props,_owner:t._owner}}function W6(t){return typeof t=="object"&&t!==null&&t.$$typeof===dC}function hyt(t){var e={"=":"=0",":":"=2"};return"$"+t.replace(/[=:]/g,function(r){return e[r]})}var vEe=/\/+/g;function _6(t,e){return typeof t=="object"&&t!==null&&t.key!=null?hyt(""+t.key):e.toString(36)}function lQ(t,e,r,o,a){var n=typeof t;(n==="undefined"||n==="boolean")&&(t=null);var u=!1;if(t===null)u=!0;else switch(n){case"string":case"number":u=!0;break;case"object":switch(t.$$typeof){case dC:case DEe:u=!0}}if(u)return u=t,a=a(u),t=o===""?"."+_6(u,0):o,Array.isArray(a)?(r="",t!=null&&(r=t.replace(vEe,"$&/")+"/"),lQ(a,e,r,"",function(h){return h})):a!=null&&(W6(a)&&(a=pyt(a,r+(!a.key||u&&u.key===a.key?"":(""+a.key).replace(vEe,"$&/")+"/")+t)),e.push(a)),1;if(u=0,o=o===""?".":o+":",Array.isArray(t))for(var A=0;A<t.length;A++){n=t[A];var p=o+_6(n,A);u+=lQ(n,e,r,p,a)}else if(p=fyt(t),typeof p=="function")for(t=p.call(t),A=0;!(n=t.next()).done;)n=n.value,p=o+_6(n,A++),u+=lQ(n,e,r,p,a);else if(n==="object")throw e=""+t,Error(mB(31,e==="[object Object]"?"object with keys {"+Object.keys(t).join(", ")+"}":e));return u}function aQ(t,e,r){if(t==null)return t;var o=[],a=0;return lQ(t,o,"","",function(n){return e.call(r,n,a++)}),o}function gyt(t){if(t._status===-1){var e=t._result;e=e(),t._status=0,t._result=e,e.then(function(r){t._status===0&&(r=r.default,t._status=1,t._result=r)},function(r){t._status===0&&(t._status=2,t._result=r)})}if(t._status===1)return t._result;throw t._result}var OEe={current:null};function Vf(){var t=OEe.current;if(t===null)throw Error(mB(321));return t}var dyt={ReactCurrentDispatcher:OEe,ReactCurrentBatchConfig:{transition:0},ReactCurrentOwner:G6,IsSomeRendererActing:{current:!1},assign:H6};Cn.Children={map:aQ,forEach:function(t,e,r){aQ(t,function(){e.apply(this,arguments)},r)},count:function(t){var e=0;return aQ(t,function(){e++}),e},toArray:function(t){return aQ(t,function(e){return e})||[]},only:function(t){if(!W6(t))throw Error(mB(143));return t}};Cn.Component=mC;Cn.PureComponent=q6;Cn.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED=dyt;Cn.cloneElement=function(t,e,r){if(t==null)throw Error(mB(267,t));var o=H6({},t.props),a=t.key,n=t.ref,u=t._owner;if(e!=null){if(e.ref!==void 0&&(n=e.ref,u=G6.current),e.key!==void 0&&(a=""+e.key),t.type&&t.type.defaultProps)var A=t.type.defaultProps;for(p in e)TEe.call(e,p)&&!NEe.hasOwnProperty(p)&&(o[p]=e[p]===void 0&&A!==void 0?A[p]:e[p])}var p=arguments.length-2;if(p===1)o.children=r;else if(1<p){A=Array(p);for(var h=0;h<p;h++)A[h]=arguments[h+2];o.children=A}return{$$typeof:dC,type:t.type,key:a,ref:n,props:o,_owner:u}};Cn.createContext=function(t,e){return e===void 0&&(e=null),t={$$typeof:SEe,_calculateChangedBits:e,_currentValue:t,_currentValue2:t,_threadCount:0,Provider:null,Consumer:null},t.Provider={$$typeof:PEe,_context:t},t.Consumer=t};Cn.createElement=LEe;Cn.createFactory=function(t){var e=LEe.bind(null,t);return e.type=t,e};Cn.createRef=function(){return{current:null}};Cn.forwardRef=function(t){return{$$typeof:bEe,render:t}};Cn.isValidElement=W6;Cn.lazy=function(t){return{$$typeof:kEe,_payload:{_status:-1,_result:t},_init:gyt}};Cn.memo=function(t,e){return{$$typeof:xEe,type:t,compare:e===void 0?null:e}};Cn.useCallback=function(t,e){return Vf().useCallback(t,e)};Cn.useContext=function(t,e){return Vf().useContext(t,e)};Cn.useDebugValue=function(){};Cn.useEffect=function(t,e){return Vf().useEffect(t,e)};Cn.useImperativeHandle=function(t,e,r){return Vf().useImperativeHandle(t,e,r)};Cn.useLayoutEffect=function(t,e){return Vf().useLayoutEffect(t,e)};Cn.useMemo=function(t,e){return Vf().useMemo(t,e)};Cn.useReducer=function(t,e,r){return Vf().useReducer(t,e,r)};Cn.useRef=function(t){return Vf().useRef(t)};Cn.useState=function(t){return Vf().useState(t)};Cn.version="17.0.2"});var ln=_((OYt,UEe)=>{"use strict";UEe.exports=MEe()});var K6=_((MYt,Y6)=>{"use strict";var gn=Y6.exports;Y6.exports.default=gn;var Gn="\x1B[",yB="\x1B]",yC="\x07",cQ=";",_Ee=process.env.TERM_PROGRAM==="Apple_Terminal";gn.cursorTo=(t,e)=>{if(typeof t!="number")throw new TypeError("The `x` argument is required");return typeof e!="number"?Gn+(t+1)+"G":Gn+(e+1)+";"+(t+1)+"H"};gn.cursorMove=(t,e)=>{if(typeof t!="number")throw new TypeError("The `x` argument is required");let r="";return t<0?r+=Gn+-t+"D":t>0&&(r+=Gn+t+"C"),e<0?r+=Gn+-e+"A":e>0&&(r+=Gn+e+"B"),r};gn.cursorUp=(t=1)=>Gn+t+"A";gn.cursorDown=(t=1)=>Gn+t+"B";gn.cursorForward=(t=1)=>Gn+t+"C";gn.cursorBackward=(t=1)=>Gn+t+"D";gn.cursorLeft=Gn+"G";gn.cursorSavePosition=_Ee?"\x1B7":Gn+"s";gn.cursorRestorePosition=_Ee?"\x1B8":Gn+"u";gn.cursorGetPosition=Gn+"6n";gn.cursorNextLine=Gn+"E";gn.cursorPrevLine=Gn+"F";gn.cursorHide=Gn+"?25l";gn.cursorShow=Gn+"?25h";gn.eraseLines=t=>{let e="";for(let r=0;r<t;r++)e+=gn.eraseLine+(r<t-1?gn.cursorUp():"");return t&&(e+=gn.cursorLeft),e};gn.eraseEndLine=Gn+"K";gn.eraseStartLine=Gn+"1K";gn.eraseLine=Gn+"2K";gn.eraseDown=Gn+"J";gn.eraseUp=Gn+"1J";gn.eraseScreen=Gn+"2J";gn.scrollUp=Gn+"S";gn.scrollDown=Gn+"T";gn.clearScreen="\x1Bc";gn.clearTerminal=process.platform==="win32"?`${gn.eraseScreen}${Gn}0f`:`${gn.eraseScreen}${Gn}3J${Gn}H`;gn.beep=yC;gn.link=(t,e)=>[yB,"8",cQ,cQ,e,yC,t,yB,"8",cQ,cQ,yC].join("");gn.image=(t,e={})=>{let r=`${yB}1337;File=inline=1`;return e.width&&(r+=`;width=${e.width}`),e.height&&(r+=`;height=${e.height}`),e.preserveAspectRatio===!1&&(r+=";preserveAspectRatio=0"),r+":"+t.toString("base64")+yC};gn.iTerm={setCwd:(t=process.cwd())=>`${yB}50;CurrentDir=${t}${yC}`,annotation:(t,e={})=>{let r=`${yB}1337;`,o=typeof e.x<"u",a=typeof e.y<"u";if((o||a)&&!(o&&a&&typeof e.length<"u"))throw new Error("`x`, `y` and `length` must be defined when `x` or `y` is defined");return t=t.replace(/\|/g,""),r+=e.isHidden?"AddHiddenAnnotation=":"AddAnnotation=",e.length>0?r+=(o?[t,e.length,e.x,e.y]:[e.length,t]).join("|"):r+=t,r+yC}}});var qEe=_((UYt,V6)=>{"use strict";var HEe=(t,e)=>{for(let r of Reflect.ownKeys(e))Object.defineProperty(t,r,Object.getOwnPropertyDescriptor(e,r));return t};V6.exports=HEe;V6.exports.default=HEe});var GEe=_((_Yt,AQ)=>{"use strict";var myt=qEe(),uQ=new WeakMap,jEe=(t,e={})=>{if(typeof t!="function")throw new TypeError("Expected a function");let r,o=0,a=t.displayName||t.name||"<anonymous>",n=function(...u){if(uQ.set(n,++o),o===1)r=t.apply(this,u),t=null;else if(e.throw===!0)throw new Error(`Function \`${a}\` can only be called once`);return r};return myt(n,t),uQ.set(n,o),n};AQ.exports=jEe;AQ.exports.default=jEe;AQ.exports.callCount=t=>{if(!uQ.has(t))throw new Error(`The given function \`${t.name}\` is not wrapped by the \`onetime\` package`);return uQ.get(t)}});var WEe=_((HYt,fQ)=>{fQ.exports=["SIGABRT","SIGALRM","SIGHUP","SIGINT","SIGTERM"];process.platform!=="win32"&&fQ.exports.push("SIGVTALRM","SIGXCPU","SIGXFSZ","SIGUSR2","SIGTRAP","SIGSYS","SIGQUIT","SIGIOT");process.platform==="linux"&&fQ.exports.push("SIGIO","SIGPOLL","SIGPWR","SIGSTKFLT","SIGUNUSED")});var X6=_((qYt,IC)=>{var wi=global.process,td=function(t){return t&&typeof t=="object"&&typeof t.removeListener=="function"&&typeof t.emit=="function"&&typeof t.reallyExit=="function"&&typeof t.listeners=="function"&&typeof t.kill=="function"&&typeof t.pid=="number"&&typeof t.on=="function"};td(wi)?(YEe=ve("assert"),EC=WEe(),KEe=/^win/i.test(wi.platform),EB=ve("events"),typeof EB!="function"&&(EB=EB.EventEmitter),wi.__signal_exit_emitter__?ks=wi.__signal_exit_emitter__:(ks=wi.__signal_exit_emitter__=new EB,ks.count=0,ks.emitted={}),ks.infinite||(ks.setMaxListeners(1/0),ks.infinite=!0),IC.exports=function(t,e){if(!td(global.process))return function(){};YEe.equal(typeof t,"function","a callback must be provided for exit handler"),CC===!1&&J6();var r="exit";e&&e.alwaysLast&&(r="afterexit");var o=function(){ks.removeListener(r,t),ks.listeners("exit").length===0&&ks.listeners("afterexit").length===0&&pQ()};return ks.on(r,t),o},pQ=function(){!CC||!td(global.process)||(CC=!1,EC.forEach(function(e){try{wi.removeListener(e,hQ[e])}catch{}}),wi.emit=gQ,wi.reallyExit=z6,ks.count-=1)},IC.exports.unload=pQ,rd=function(e,r,o){ks.emitted[e]||(ks.emitted[e]=!0,ks.emit(e,r,o))},hQ={},EC.forEach(function(t){hQ[t]=function(){if(td(global.process)){var r=wi.listeners(t);r.length===ks.count&&(pQ(),rd("exit",null,t),rd("afterexit",null,t),KEe&&t==="SIGHUP"&&(t="SIGINT"),wi.kill(wi.pid,t))}}}),IC.exports.signals=function(){return EC},CC=!1,J6=function(){CC||!td(global.process)||(CC=!0,ks.count+=1,EC=EC.filter(function(e){try{return wi.on(e,hQ[e]),!0}catch{return!1}}),wi.emit=JEe,wi.reallyExit=VEe)},IC.exports.load=J6,z6=wi.reallyExit,VEe=function(e){td(global.process)&&(wi.exitCode=e||0,rd("exit",wi.exitCode,null),rd("afterexit",wi.exitCode,null),z6.call(wi,wi.exitCode))},gQ=wi.emit,JEe=function(e,r){if(e==="exit"&&td(global.process)){r!==void 0&&(wi.exitCode=r);var o=gQ.apply(this,arguments);return rd("exit",wi.exitCode,null),rd("afterexit",wi.exitCode,null),o}else return gQ.apply(this,arguments)}):IC.exports=function(){return function(){}};var YEe,EC,KEe,EB,ks,pQ,rd,hQ,CC,J6,z6,VEe,gQ,JEe});var XEe=_((jYt,zEe)=>{"use strict";var yyt=GEe(),Eyt=X6();zEe.exports=yyt(()=>{Eyt(()=>{process.stderr.write("\x1B[?25h")},{alwaysLast:!0})})});var Z6=_(wC=>{"use strict";var Cyt=XEe(),dQ=!1;wC.show=(t=process.stderr)=>{t.isTTY&&(dQ=!1,t.write("\x1B[?25h"))};wC.hide=(t=process.stderr)=>{t.isTTY&&(Cyt(),dQ=!0,t.write("\x1B[?25l"))};wC.toggle=(t,e)=>{t!==void 0&&(dQ=t),dQ?wC.show(e):wC.hide(e)}});var tCe=_(CB=>{"use strict";var eCe=CB&&CB.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(CB,"__esModule",{value:!0});var ZEe=eCe(K6()),$Ee=eCe(Z6()),Iyt=(t,{showCursor:e=!1}={})=>{let r=0,o="",a=!1,n=u=>{!e&&!a&&($Ee.default.hide(),a=!0);let A=u+` +`;A!==o&&(o=A,t.write(ZEe.default.eraseLines(r)+A),r=A.split(` +`).length)};return n.clear=()=>{t.write(ZEe.default.eraseLines(r)),o="",r=0},n.done=()=>{o="",r=0,e||($Ee.default.show(),a=!1)},n};CB.default={create:Iyt}});var rCe=_((YYt,wyt)=>{wyt.exports=[{name:"AppVeyor",constant:"APPVEYOR",env:"APPVEYOR",pr:"APPVEYOR_PULL_REQUEST_NUMBER"},{name:"Azure Pipelines",constant:"AZURE_PIPELINES",env:"SYSTEM_TEAMFOUNDATIONCOLLECTIONURI",pr:"SYSTEM_PULLREQUEST_PULLREQUESTID"},{name:"Bamboo",constant:"BAMBOO",env:"bamboo_planKey"},{name:"Bitbucket Pipelines",constant:"BITBUCKET",env:"BITBUCKET_COMMIT",pr:"BITBUCKET_PR_ID"},{name:"Bitrise",constant:"BITRISE",env:"BITRISE_IO",pr:"BITRISE_PULL_REQUEST"},{name:"Buddy",constant:"BUDDY",env:"BUDDY_WORKSPACE_ID",pr:"BUDDY_EXECUTION_PULL_REQUEST_ID"},{name:"Buildkite",constant:"BUILDKITE",env:"BUILDKITE",pr:{env:"BUILDKITE_PULL_REQUEST",ne:"false"}},{name:"CircleCI",constant:"CIRCLE",env:"CIRCLECI",pr:"CIRCLE_PULL_REQUEST"},{name:"Cirrus CI",constant:"CIRRUS",env:"CIRRUS_CI",pr:"CIRRUS_PR"},{name:"AWS CodeBuild",constant:"CODEBUILD",env:"CODEBUILD_BUILD_ARN"},{name:"Codeship",constant:"CODESHIP",env:{CI_NAME:"codeship"}},{name:"Drone",constant:"DRONE",env:"DRONE",pr:{DRONE_BUILD_EVENT:"pull_request"}},{name:"dsari",constant:"DSARI",env:"DSARI"},{name:"GitLab CI",constant:"GITLAB",env:"GITLAB_CI"},{name:"GoCD",constant:"GOCD",env:"GO_PIPELINE_LABEL"},{name:"Hudson",constant:"HUDSON",env:"HUDSON_URL"},{name:"Jenkins",constant:"JENKINS",env:["JENKINS_URL","BUILD_ID"],pr:{any:["ghprbPullId","CHANGE_ID"]}},{name:"Magnum CI",constant:"MAGNUM",env:"MAGNUM"},{name:"Netlify CI",constant:"NETLIFY",env:"NETLIFY_BUILD_BASE",pr:{env:"PULL_REQUEST",ne:"false"}},{name:"Sail CI",constant:"SAIL",env:"SAILCI",pr:"SAIL_PULL_REQUEST_NUMBER"},{name:"Semaphore",constant:"SEMAPHORE",env:"SEMAPHORE",pr:"PULL_REQUEST_NUMBER"},{name:"Shippable",constant:"SHIPPABLE",env:"SHIPPABLE",pr:{IS_PULL_REQUEST:"true"}},{name:"Solano CI",constant:"SOLANO",env:"TDDIUM",pr:"TDDIUM_PR_ID"},{name:"Strider CD",constant:"STRIDER",env:"STRIDER"},{name:"TaskCluster",constant:"TASKCLUSTER",env:["TASK_ID","RUN_ID"]},{name:"TeamCity",constant:"TEAMCITY",env:"TEAMCITY_VERSION"},{name:"Travis CI",constant:"TRAVIS",env:"TRAVIS",pr:{env:"TRAVIS_PULL_REQUEST",ne:"false"}}]});var sCe=_(Cl=>{"use strict";var iCe=rCe(),gA=process.env;Object.defineProperty(Cl,"_vendors",{value:iCe.map(function(t){return t.constant})});Cl.name=null;Cl.isPR=null;iCe.forEach(function(t){var e=Array.isArray(t.env)?t.env:[t.env],r=e.every(function(o){return nCe(o)});if(Cl[t.constant]=r,r)switch(Cl.name=t.name,typeof t.pr){case"string":Cl.isPR=!!gA[t.pr];break;case"object":"env"in t.pr?Cl.isPR=t.pr.env in gA&&gA[t.pr.env]!==t.pr.ne:"any"in t.pr?Cl.isPR=t.pr.any.some(function(o){return!!gA[o]}):Cl.isPR=nCe(t.pr);break;default:Cl.isPR=null}});Cl.isCI=!!(gA.CI||gA.CONTINUOUS_INTEGRATION||gA.BUILD_NUMBER||gA.RUN_ID||Cl.name);function nCe(t){return typeof t=="string"?!!gA[t]:Object.keys(t).every(function(e){return gA[e]===t[e]})}});var aCe=_((VYt,oCe)=>{"use strict";oCe.exports=sCe().isCI});var cCe=_((JYt,lCe)=>{"use strict";var Byt=t=>{let e=new Set;do for(let r of Reflect.ownKeys(t))e.add([t,r]);while((t=Reflect.getPrototypeOf(t))&&t!==Object.prototype);return e};lCe.exports=(t,{include:e,exclude:r}={})=>{let o=a=>{let n=u=>typeof u=="string"?a===u:u.test(a);return e?e.some(n):r?!r.some(n):!0};for(let[a,n]of Byt(t.constructor.prototype)){if(n==="constructor"||!o(n))continue;let u=Reflect.getOwnPropertyDescriptor(a,n);u&&typeof u.value=="function"&&(t[n]=t[n].bind(t))}return t}});var gCe=_(Hn=>{"use strict";var vC,BB,CQ,sq;typeof performance=="object"&&typeof performance.now=="function"?(uCe=performance,Hn.unstable_now=function(){return uCe.now()}):($6=Date,ACe=$6.now(),Hn.unstable_now=function(){return $6.now()-ACe});var uCe,$6,ACe;typeof window>"u"||typeof MessageChannel!="function"?(BC=null,eq=null,tq=function(){if(BC!==null)try{var t=Hn.unstable_now();BC(!0,t),BC=null}catch(e){throw setTimeout(tq,0),e}},vC=function(t){BC!==null?setTimeout(vC,0,t):(BC=t,setTimeout(tq,0))},BB=function(t,e){eq=setTimeout(t,e)},CQ=function(){clearTimeout(eq)},Hn.unstable_shouldYield=function(){return!1},sq=Hn.unstable_forceFrameRate=function(){}):(fCe=window.setTimeout,pCe=window.clearTimeout,typeof console<"u"&&(hCe=window.cancelAnimationFrame,typeof window.requestAnimationFrame!="function"&&console.error("This browser doesn't support requestAnimationFrame. Make sure that you load a polyfill in older browsers. https://reactjs.org/link/react-polyfills"),typeof hCe!="function"&&console.error("This browser doesn't support cancelAnimationFrame. Make sure that you load a polyfill in older browsers. https://reactjs.org/link/react-polyfills")),IB=!1,wB=null,mQ=-1,rq=5,nq=0,Hn.unstable_shouldYield=function(){return Hn.unstable_now()>=nq},sq=function(){},Hn.unstable_forceFrameRate=function(t){0>t||125<t?console.error("forceFrameRate takes a positive int between 0 and 125, forcing frame rates higher than 125 fps is not supported"):rq=0<t?Math.floor(1e3/t):5},iq=new MessageChannel,yQ=iq.port2,iq.port1.onmessage=function(){if(wB!==null){var t=Hn.unstable_now();nq=t+rq;try{wB(!0,t)?yQ.postMessage(null):(IB=!1,wB=null)}catch(e){throw yQ.postMessage(null),e}}else IB=!1},vC=function(t){wB=t,IB||(IB=!0,yQ.postMessage(null))},BB=function(t,e){mQ=fCe(function(){t(Hn.unstable_now())},e)},CQ=function(){pCe(mQ),mQ=-1});var BC,eq,tq,fCe,pCe,hCe,IB,wB,mQ,rq,nq,iq,yQ;function oq(t,e){var r=t.length;t.push(e);e:for(;;){var o=r-1>>>1,a=t[o];if(a!==void 0&&0<EQ(a,e))t[o]=e,t[r]=a,r=o;else break e}}function ou(t){return t=t[0],t===void 0?null:t}function IQ(t){var e=t[0];if(e!==void 0){var r=t.pop();if(r!==e){t[0]=r;e:for(var o=0,a=t.length;o<a;){var n=2*(o+1)-1,u=t[n],A=n+1,p=t[A];if(u!==void 0&&0>EQ(u,r))p!==void 0&&0>EQ(p,u)?(t[o]=p,t[A]=r,o=A):(t[o]=u,t[n]=r,o=n);else if(p!==void 0&&0>EQ(p,r))t[o]=p,t[A]=r,o=A;else break e}}return e}return null}function EQ(t,e){var r=t.sortIndex-e.sortIndex;return r!==0?r:t.id-e.id}var dA=[],Uh=[],vyt=1,oc=null,xo=3,wQ=!1,nd=!1,vB=!1;function aq(t){for(var e=ou(Uh);e!==null;){if(e.callback===null)IQ(Uh);else if(e.startTime<=t)IQ(Uh),e.sortIndex=e.expirationTime,oq(dA,e);else break;e=ou(Uh)}}function lq(t){if(vB=!1,aq(t),!nd)if(ou(dA)!==null)nd=!0,vC(cq);else{var e=ou(Uh);e!==null&&BB(lq,e.startTime-t)}}function cq(t,e){nd=!1,vB&&(vB=!1,CQ()),wQ=!0;var r=xo;try{for(aq(e),oc=ou(dA);oc!==null&&(!(oc.expirationTime>e)||t&&!Hn.unstable_shouldYield());){var o=oc.callback;if(typeof o=="function"){oc.callback=null,xo=oc.priorityLevel;var a=o(oc.expirationTime<=e);e=Hn.unstable_now(),typeof a=="function"?oc.callback=a:oc===ou(dA)&&IQ(dA),aq(e)}else IQ(dA);oc=ou(dA)}if(oc!==null)var n=!0;else{var u=ou(Uh);u!==null&&BB(lq,u.startTime-e),n=!1}return n}finally{oc=null,xo=r,wQ=!1}}var Dyt=sq;Hn.unstable_IdlePriority=5;Hn.unstable_ImmediatePriority=1;Hn.unstable_LowPriority=4;Hn.unstable_NormalPriority=3;Hn.unstable_Profiling=null;Hn.unstable_UserBlockingPriority=2;Hn.unstable_cancelCallback=function(t){t.callback=null};Hn.unstable_continueExecution=function(){nd||wQ||(nd=!0,vC(cq))};Hn.unstable_getCurrentPriorityLevel=function(){return xo};Hn.unstable_getFirstCallbackNode=function(){return ou(dA)};Hn.unstable_next=function(t){switch(xo){case 1:case 2:case 3:var e=3;break;default:e=xo}var r=xo;xo=e;try{return t()}finally{xo=r}};Hn.unstable_pauseExecution=function(){};Hn.unstable_requestPaint=Dyt;Hn.unstable_runWithPriority=function(t,e){switch(t){case 1:case 2:case 3:case 4:case 5:break;default:t=3}var r=xo;xo=t;try{return e()}finally{xo=r}};Hn.unstable_scheduleCallback=function(t,e,r){var o=Hn.unstable_now();switch(typeof r=="object"&&r!==null?(r=r.delay,r=typeof r=="number"&&0<r?o+r:o):r=o,t){case 1:var a=-1;break;case 2:a=250;break;case 5:a=1073741823;break;case 4:a=1e4;break;default:a=5e3}return a=r+a,t={id:vyt++,callback:e,priorityLevel:t,startTime:r,expirationTime:a,sortIndex:-1},r>o?(t.sortIndex=r,oq(Uh,t),ou(dA)===null&&t===ou(Uh)&&(vB?CQ():vB=!0,BB(lq,r-o))):(t.sortIndex=a,oq(dA,t),nd||wQ||(nd=!0,vC(cq))),t};Hn.unstable_wrapCallback=function(t){var e=xo;return function(){var r=xo;xo=e;try{return t.apply(this,arguments)}finally{xo=r}}}});var uq=_((XYt,dCe)=>{"use strict";dCe.exports=gCe()});var mCe=_((ZYt,DB)=>{DB.exports=function(e){var r={},o=U6(),a=ln(),n=uq();function u(v){for(var P="https://reactjs.org/docs/error-decoder.html?invariant="+v,Q=1;Q<arguments.length;Q++)P+="&args[]="+encodeURIComponent(arguments[Q]);return"Minified React error #"+v+"; visit "+P+" for the full message or use the non-minified dev environment for full errors and additional helpful warnings."}var A=a.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED,p=60103,h=60106,E=60107,w=60108,D=60114,x=60109,C=60110,T=60112,L=60113,U=60120,J=60115,te=60116,le=60121,ce=60129,ue=60130,Ie=60131;if(typeof Symbol=="function"&&Symbol.for){var he=Symbol.for;p=he("react.element"),h=he("react.portal"),E=he("react.fragment"),w=he("react.strict_mode"),D=he("react.profiler"),x=he("react.provider"),C=he("react.context"),T=he("react.forward_ref"),L=he("react.suspense"),U=he("react.suspense_list"),J=he("react.memo"),te=he("react.lazy"),le=he("react.block"),he("react.scope"),ce=he("react.debug_trace_mode"),ue=he("react.offscreen"),Ie=he("react.legacy_hidden")}var De=typeof Symbol=="function"&&Symbol.iterator;function Ee(v){return v===null||typeof v!="object"?null:(v=De&&v[De]||v["@@iterator"],typeof v=="function"?v:null)}function g(v){if(v==null)return null;if(typeof v=="function")return v.displayName||v.name||null;if(typeof v=="string")return v;switch(v){case E:return"Fragment";case h:return"Portal";case D:return"Profiler";case w:return"StrictMode";case L:return"Suspense";case U:return"SuspenseList"}if(typeof v=="object")switch(v.$$typeof){case C:return(v.displayName||"Context")+".Consumer";case x:return(v._context.displayName||"Context")+".Provider";case T:var P=v.render;return P=P.displayName||P.name||"",v.displayName||(P!==""?"ForwardRef("+P+")":"ForwardRef");case J:return g(v.type);case le:return g(v._render);case te:P=v._payload,v=v._init;try{return g(v(P))}catch{}}return null}function me(v){var P=v,Q=v;if(v.alternate)for(;P.return;)P=P.return;else{v=P;do P=v,P.flags&1026&&(Q=P.return),v=P.return;while(v)}return P.tag===3?Q:null}function Ce(v){if(me(v)!==v)throw Error(u(188))}function fe(v){var P=v.alternate;if(!P){if(P=me(v),P===null)throw Error(u(188));return P!==v?null:v}for(var Q=v,H=P;;){var Y=Q.return;if(Y===null)break;var ne=Y.alternate;if(ne===null){if(H=Y.return,H!==null){Q=H;continue}break}if(Y.child===ne.child){for(ne=Y.child;ne;){if(ne===Q)return Ce(Y),v;if(ne===H)return Ce(Y),P;ne=ne.sibling}throw Error(u(188))}if(Q.return!==H.return)Q=Y,H=ne;else{for(var Be=!1,Ue=Y.child;Ue;){if(Ue===Q){Be=!0,Q=Y,H=ne;break}if(Ue===H){Be=!0,H=Y,Q=ne;break}Ue=Ue.sibling}if(!Be){for(Ue=ne.child;Ue;){if(Ue===Q){Be=!0,Q=ne,H=Y;break}if(Ue===H){Be=!0,H=ne,Q=Y;break}Ue=Ue.sibling}if(!Be)throw Error(u(189))}}if(Q.alternate!==H)throw Error(u(190))}if(Q.tag!==3)throw Error(u(188));return Q.stateNode.current===Q?v:P}function ie(v){if(v=fe(v),!v)return null;for(var P=v;;){if(P.tag===5||P.tag===6)return P;if(P.child)P.child.return=P,P=P.child;else{if(P===v)break;for(;!P.sibling;){if(!P.return||P.return===v)return null;P=P.return}P.sibling.return=P.return,P=P.sibling}}return null}function Z(v){if(v=fe(v),!v)return null;for(var P=v;;){if(P.tag===5||P.tag===6)return P;if(P.child&&P.tag!==4)P.child.return=P,P=P.child;else{if(P===v)break;for(;!P.sibling;){if(!P.return||P.return===v)return null;P=P.return}P.sibling.return=P.return,P=P.sibling}}return null}function Pe(v,P){for(var Q=v.alternate;P!==null;){if(P===v||P===Q)return!0;P=P.return}return!1}var Re=e.getPublicInstance,ht=e.getRootHostContext,q=e.getChildHostContext,nt=e.prepareForCommit,Ne=e.resetAfterCommit,Te=e.createInstance,ke=e.appendInitialChild,Ve=e.finalizeInitialChildren,be=e.prepareUpdate,tt=e.shouldSetTextContent,He=e.createTextInstance,b=e.scheduleTimeout,I=e.cancelTimeout,S=e.noTimeout,y=e.isPrimaryRenderer,R=e.supportsMutation,z=e.supportsPersistence,X=e.supportsHydration,$=e.getInstanceFromNode,se=e.makeOpaqueHydratingObject,xe=e.makeClientId,Fe=e.beforeActiveInstanceBlur,lt=e.afterActiveInstanceBlur,Et=e.preparePortalMount,qt=e.supportsTestSelectors,nr=e.findFiberRoot,St=e.getBoundingRect,cn=e.getTextContent,Pr=e.isHiddenSubtree,yr=e.matchAccessibilityRole,Rr=e.setFocusIfFocusable,Xr=e.setupIntersectionObserver,$n=e.appendChild,Xs=e.appendChildToContainer,Hi=e.commitTextUpdate,Qs=e.commitMount,Zs=e.commitUpdate,xi=e.insertBefore,Fs=e.insertInContainerBefore,$s=e.removeChild,SA=e.removeChildFromContainer,gu=e.resetTextContent,op=e.hideInstance,ap=e.hideTextInstance,Rs=e.unhideInstance,Ln=e.unhideTextInstance,hs=e.clearContainer,Ts=e.cloneInstance,pc=e.createContainerChildSet,hc=e.appendChildToContainerChildSet,gc=e.finalizeContainerChildren,bA=e.replaceContainerChildren,xA=e.cloneHiddenInstance,Ro=e.cloneHiddenTextInstance,To=e.canHydrateInstance,kA=e.canHydrateTextInstance,pr=e.isSuspenseInstancePending,Me=e.isSuspenseInstanceFallback,ia=e.getNextHydratableSibling,dc=e.getFirstHydratableChild,Er=e.hydrateInstance,du=e.hydrateTextInstance,QA=e.getNextHydratableInstanceAfterSuspenseInstance,FA=e.commitHydratedContainer,mc=e.commitHydratedSuspenseInstance,yc;function Il(v){if(yc===void 0)try{throw Error()}catch(Q){var P=Q.stack.trim().match(/\n( *(at )?)/);yc=P&&P[1]||""}return` +`+yc+v}var we=!1;function Tt(v,P){if(!v||we)return"";we=!0;var Q=Error.prepareStackTrace;Error.prepareStackTrace=void 0;try{if(P)if(P=function(){throw Error()},Object.defineProperty(P.prototype,"props",{set:function(){throw Error()}}),typeof Reflect=="object"&&Reflect.construct){try{Reflect.construct(P,[])}catch(ft){var H=ft}Reflect.construct(v,[],P)}else{try{P.call()}catch(ft){H=ft}v.call(P.prototype)}else{try{throw Error()}catch(ft){H=ft}v()}}catch(ft){if(ft&&H&&typeof ft.stack=="string"){for(var Y=ft.stack.split(` +`),ne=H.stack.split(` +`),Be=Y.length-1,Ue=ne.length-1;1<=Be&&0<=Ue&&Y[Be]!==ne[Ue];)Ue--;for(;1<=Be&&0<=Ue;Be--,Ue--)if(Y[Be]!==ne[Ue]){if(Be!==1||Ue!==1)do if(Be--,Ue--,0>Ue||Y[Be]!==ne[Ue])return` +`+Y[Be].replace(" at new "," at ");while(1<=Be&&0<=Ue);break}}}finally{we=!1,Error.prepareStackTrace=Q}return(v=v?v.displayName||v.name:"")?Il(v):""}var wl=[],Bi=-1;function Ns(v){return{current:v}}function Ft(v){0>Bi||(v.current=wl[Bi],wl[Bi]=null,Bi--)}function Bn(v,P){Bi++,wl[Bi]=v.current,v.current=P}var No={},ki=Ns(No),vi=Ns(!1),sa=No;function un(v,P){var Q=v.type.contextTypes;if(!Q)return No;var H=v.stateNode;if(H&&H.__reactInternalMemoizedUnmaskedChildContext===P)return H.__reactInternalMemoizedMaskedChildContext;var Y={},ne;for(ne in Q)Y[ne]=P[ne];return H&&(v=v.stateNode,v.__reactInternalMemoizedUnmaskedChildContext=P,v.__reactInternalMemoizedMaskedChildContext=Y),Y}function qn(v){return v=v.childContextTypes,v!=null}function Ec(){Ft(vi),Ft(ki)}function lp(v,P,Q){if(ki.current!==No)throw Error(u(168));Bn(ki,P),Bn(vi,Q)}function oa(v,P,Q){var H=v.stateNode;if(v=P.childContextTypes,typeof H.getChildContext!="function")return Q;H=H.getChildContext();for(var Y in H)if(!(Y in v))throw Error(u(108,g(P)||"Unknown",Y));return o({},Q,H)}function aa(v){return v=(v=v.stateNode)&&v.__reactInternalMemoizedMergedChildContext||No,sa=ki.current,Bn(ki,v),Bn(vi,vi.current),!0}function la(v,P,Q){var H=v.stateNode;if(!H)throw Error(u(169));Q?(v=oa(v,P,sa),H.__reactInternalMemoizedMergedChildContext=v,Ft(vi),Ft(ki),Bn(ki,v)):Ft(vi),Bn(vi,Q)}var Ze=null,ca=null,mu=n.unstable_now;mu();var Bl=0,dn=8;function Lo(v){if(1&v)return dn=15,1;if(2&v)return dn=14,2;if(4&v)return dn=13,4;var P=24&v;return P!==0?(dn=12,P):v&32?(dn=11,32):(P=192&v,P!==0?(dn=10,P):v&256?(dn=9,256):(P=3584&v,P!==0?(dn=8,P):v&4096?(dn=7,4096):(P=4186112&v,P!==0?(dn=6,P):(P=62914560&v,P!==0?(dn=5,P):v&67108864?(dn=4,67108864):v&134217728?(dn=3,134217728):(P=805306368&v,P!==0?(dn=2,P):1073741824&v?(dn=1,1073741824):(dn=8,v))))))}function RA(v){switch(v){case 99:return 15;case 98:return 10;case 97:case 96:return 8;case 95:return 2;default:return 0}}function TA(v){switch(v){case 15:case 14:return 99;case 13:case 12:case 11:case 10:return 98;case 9:case 8:case 7:case 6:case 4:case 5:return 97;case 3:case 2:case 1:return 95;case 0:return 90;default:throw Error(u(358,v))}}function Oo(v,P){var Q=v.pendingLanes;if(Q===0)return dn=0;var H=0,Y=0,ne=v.expiredLanes,Be=v.suspendedLanes,Ue=v.pingedLanes;if(ne!==0)H=ne,Y=dn=15;else if(ne=Q&134217727,ne!==0){var ft=ne&~Be;ft!==0?(H=Lo(ft),Y=dn):(Ue&=ne,Ue!==0&&(H=Lo(Ue),Y=dn))}else ne=Q&~Be,ne!==0?(H=Lo(ne),Y=dn):Ue!==0&&(H=Lo(Ue),Y=dn);if(H===0)return 0;if(H=31-qi(H),H=Q&((0>H?0:1<<H)<<1)-1,P!==0&&P!==H&&!(P&Be)){if(Lo(P),Y<=dn)return P;dn=Y}if(P=v.entangledLanes,P!==0)for(v=v.entanglements,P&=H;0<P;)Q=31-qi(P),Y=1<<Q,H|=v[Q],P&=~Y;return H}function qa(v){return v=v.pendingLanes&-1073741825,v!==0?v:v&1073741824?1073741824:0}function Ot(v,P){switch(v){case 15:return 1;case 14:return 2;case 12:return v=vn(24&~P),v===0?Ot(10,P):v;case 10:return v=vn(192&~P),v===0?Ot(8,P):v;case 8:return v=vn(3584&~P),v===0&&(v=vn(4186112&~P),v===0&&(v=512)),v;case 2:return P=vn(805306368&~P),P===0&&(P=268435456),P}throw Error(u(358,v))}function vn(v){return v&-v}function Mo(v){for(var P=[],Q=0;31>Q;Q++)P.push(v);return P}function ua(v,P,Q){v.pendingLanes|=P;var H=P-1;v.suspendedLanes&=H,v.pingedLanes&=H,v=v.eventTimes,P=31-qi(P),v[P]=Q}var qi=Math.clz32?Math.clz32:Dl,vl=Math.log,Cc=Math.LN2;function Dl(v){return v===0?32:31-(vl(v)/Cc|0)|0}var Aa=n.unstable_runWithPriority,Di=n.unstable_scheduleCallback,rs=n.unstable_cancelCallback,ja=n.unstable_shouldYield,yu=n.unstable_requestPaint,Pl=n.unstable_now,pi=n.unstable_getCurrentPriorityLevel,Dn=n.unstable_ImmediatePriority,Sl=n.unstable_UserBlockingPriority,Je=n.unstable_NormalPriority,st=n.unstable_LowPriority,vt=n.unstable_IdlePriority,ar={},ee=yu!==void 0?yu:function(){},ye=null,Le=null,gt=!1,mt=Pl(),Dt=1e4>mt?Pl:function(){return Pl()-mt};function er(){switch(pi()){case Dn:return 99;case Sl:return 98;case Je:return 97;case st:return 96;case vt:return 95;default:throw Error(u(332))}}function sn(v){switch(v){case 99:return Dn;case 98:return Sl;case 97:return Je;case 96:return st;case 95:return vt;default:throw Error(u(332))}}function ei(v,P){return v=sn(v),Aa(v,P)}function Qi(v,P,Q){return v=sn(v),Di(v,P,Q)}function Pn(){if(Le!==null){var v=Le;Le=null,rs(v)}fa()}function fa(){if(!gt&&ye!==null){gt=!0;var v=0;try{var P=ye;ei(99,function(){for(;v<P.length;v++){var Q=P[v];do Q=Q(!0);while(Q!==null)}}),ye=null}catch(Q){throw ye!==null&&(ye=ye.slice(v+1)),Di(Dn,Pn),Q}finally{gt=!1}}}var wd=A.ReactCurrentBatchConfig;function BI(v,P){return v===P&&(v!==0||1/v===1/P)||v!==v&&P!==P}var eo=typeof Object.is=="function"?Object.is:BI,Bd=Object.prototype.hasOwnProperty;function cp(v,P){if(eo(v,P))return!0;if(typeof v!="object"||v===null||typeof P!="object"||P===null)return!1;var Q=Object.keys(v),H=Object.keys(P);if(Q.length!==H.length)return!1;for(H=0;H<Q.length;H++)if(!Bd.call(P,Q[H])||!eo(v[Q[H]],P[Q[H]]))return!1;return!0}function vI(v){switch(v.tag){case 5:return Il(v.type);case 16:return Il("Lazy");case 13:return Il("Suspense");case 19:return Il("SuspenseList");case 0:case 2:case 15:return v=Tt(v.type,!1),v;case 11:return v=Tt(v.type.render,!1),v;case 22:return v=Tt(v.type._render,!1),v;case 1:return v=Tt(v.type,!0),v;default:return""}}function to(v,P){if(v&&v.defaultProps){P=o({},P),v=v.defaultProps;for(var Q in v)P[Q]===void 0&&(P[Q]=v[Q]);return P}return P}var up=Ns(null),Ap=null,Ic=null,fp=null;function s0(){fp=Ic=Ap=null}function o0(v,P){v=v.type._context,y?(Bn(up,v._currentValue),v._currentValue=P):(Bn(up,v._currentValue2),v._currentValue2=P)}function a0(v){var P=up.current;Ft(up),v=v.type._context,y?v._currentValue=P:v._currentValue2=P}function vd(v,P){for(;v!==null;){var Q=v.alternate;if((v.childLanes&P)===P){if(Q===null||(Q.childLanes&P)===P)break;Q.childLanes|=P}else v.childLanes|=P,Q!==null&&(Q.childLanes|=P);v=v.return}}function Eu(v,P){Ap=v,fp=Ic=null,v=v.dependencies,v!==null&&v.firstContext!==null&&(v.lanes&P&&(Ye=!0),v.firstContext=null)}function ro(v,P){if(fp!==v&&P!==!1&&P!==0)if((typeof P!="number"||P===1073741823)&&(fp=v,P=1073741823),P={context:v,observedBits:P,next:null},Ic===null){if(Ap===null)throw Error(u(308));Ic=P,Ap.dependencies={lanes:0,firstContext:P,responders:null}}else Ic=Ic.next=P;return y?v._currentValue:v._currentValue2}var Ga=!1;function pp(v){v.updateQueue={baseState:v.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null},effects:null}}function l0(v,P){v=v.updateQueue,P.updateQueue===v&&(P.updateQueue={baseState:v.baseState,firstBaseUpdate:v.firstBaseUpdate,lastBaseUpdate:v.lastBaseUpdate,shared:v.shared,effects:v.effects})}function Wa(v,P){return{eventTime:v,lane:P,tag:0,payload:null,callback:null,next:null}}function Ya(v,P){if(v=v.updateQueue,v!==null){v=v.shared;var Q=v.pending;Q===null?P.next=P:(P.next=Q.next,Q.next=P),v.pending=P}}function Dd(v,P){var Q=v.updateQueue,H=v.alternate;if(H!==null&&(H=H.updateQueue,Q===H)){var Y=null,ne=null;if(Q=Q.firstBaseUpdate,Q!==null){do{var Be={eventTime:Q.eventTime,lane:Q.lane,tag:Q.tag,payload:Q.payload,callback:Q.callback,next:null};ne===null?Y=ne=Be:ne=ne.next=Be,Q=Q.next}while(Q!==null);ne===null?Y=ne=P:ne=ne.next=P}else Y=ne=P;Q={baseState:H.baseState,firstBaseUpdate:Y,lastBaseUpdate:ne,shared:H.shared,effects:H.effects},v.updateQueue=Q;return}v=Q.lastBaseUpdate,v===null?Q.firstBaseUpdate=P:v.next=P,Q.lastBaseUpdate=P}function NA(v,P,Q,H){var Y=v.updateQueue;Ga=!1;var ne=Y.firstBaseUpdate,Be=Y.lastBaseUpdate,Ue=Y.shared.pending;if(Ue!==null){Y.shared.pending=null;var ft=Ue,jt=ft.next;ft.next=null,Be===null?ne=jt:Be.next=jt,Be=ft;var wr=v.alternate;if(wr!==null){wr=wr.updateQueue;var Tr=wr.lastBaseUpdate;Tr!==Be&&(Tr===null?wr.firstBaseUpdate=jt:Tr.next=jt,wr.lastBaseUpdate=ft)}}if(ne!==null){Tr=Y.baseState,Be=0,wr=jt=ft=null;do{Ue=ne.lane;var Xt=ne.eventTime;if((H&Ue)===Ue){wr!==null&&(wr=wr.next={eventTime:Xt,lane:0,tag:ne.tag,payload:ne.payload,callback:ne.callback,next:null});e:{var jn=v,li=ne;switch(Ue=P,Xt=Q,li.tag){case 1:if(jn=li.payload,typeof jn=="function"){Tr=jn.call(Xt,Tr,Ue);break e}Tr=jn;break e;case 3:jn.flags=jn.flags&-4097|64;case 0:if(jn=li.payload,Ue=typeof jn=="function"?jn.call(Xt,Tr,Ue):jn,Ue==null)break e;Tr=o({},Tr,Ue);break e;case 2:Ga=!0}}ne.callback!==null&&(v.flags|=32,Ue=Y.effects,Ue===null?Y.effects=[ne]:Ue.push(ne))}else Xt={eventTime:Xt,lane:Ue,tag:ne.tag,payload:ne.payload,callback:ne.callback,next:null},wr===null?(jt=wr=Xt,ft=Tr):wr=wr.next=Xt,Be|=Ue;if(ne=ne.next,ne===null){if(Ue=Y.shared.pending,Ue===null)break;ne=Ue.next,Ue.next=null,Y.lastBaseUpdate=Ue,Y.shared.pending=null}}while(!0);wr===null&&(ft=Tr),Y.baseState=ft,Y.firstBaseUpdate=jt,Y.lastBaseUpdate=wr,B0|=Be,v.lanes=Be,v.memoizedState=Tr}}function Pd(v,P,Q){if(v=P.effects,P.effects=null,v!==null)for(P=0;P<v.length;P++){var H=v[P],Y=H.callback;if(Y!==null){if(H.callback=null,H=Q,typeof Y!="function")throw Error(u(191,Y));Y.call(H)}}}var Sd=new a.Component().refs;function LA(v,P,Q,H){P=v.memoizedState,Q=Q(H,P),Q=Q==null?P:o({},P,Q),v.memoizedState=Q,v.lanes===0&&(v.updateQueue.baseState=Q)}var OA={isMounted:function(v){return(v=v._reactInternals)?me(v)===v:!1},enqueueSetState:function(v,P,Q){v=v._reactInternals;var H=oo(),Y=ss(v),ne=Wa(H,Y);ne.payload=P,Q!=null&&(ne.callback=Q),Ya(v,ne),Xa(v,Y,H)},enqueueReplaceState:function(v,P,Q){v=v._reactInternals;var H=oo(),Y=ss(v),ne=Wa(H,Y);ne.tag=1,ne.payload=P,Q!=null&&(ne.callback=Q),Ya(v,ne),Xa(v,Y,H)},enqueueForceUpdate:function(v,P){v=v._reactInternals;var Q=oo(),H=ss(v),Y=Wa(Q,H);Y.tag=2,P!=null&&(Y.callback=P),Ya(v,Y),Xa(v,H,Q)}};function W(v,P,Q,H,Y,ne,Be){return v=v.stateNode,typeof v.shouldComponentUpdate=="function"?v.shouldComponentUpdate(H,ne,Be):P.prototype&&P.prototype.isPureReactComponent?!cp(Q,H)||!cp(Y,ne):!0}function bt(v,P,Q){var H=!1,Y=No,ne=P.contextType;return typeof ne=="object"&&ne!==null?ne=ro(ne):(Y=qn(P)?sa:ki.current,H=P.contextTypes,ne=(H=H!=null)?un(v,Y):No),P=new P(Q,ne),v.memoizedState=P.state!==null&&P.state!==void 0?P.state:null,P.updater=OA,v.stateNode=P,P._reactInternals=v,H&&(v=v.stateNode,v.__reactInternalMemoizedUnmaskedChildContext=Y,v.__reactInternalMemoizedMaskedChildContext=ne),P}function MA(v,P,Q,H){v=P.state,typeof P.componentWillReceiveProps=="function"&&P.componentWillReceiveProps(Q,H),typeof P.UNSAFE_componentWillReceiveProps=="function"&&P.UNSAFE_componentWillReceiveProps(Q,H),P.state!==v&&OA.enqueueReplaceState(P,P.state,null)}function no(v,P,Q,H){var Y=v.stateNode;Y.props=Q,Y.state=v.memoizedState,Y.refs=Sd,pp(v);var ne=P.contextType;typeof ne=="object"&&ne!==null?Y.context=ro(ne):(ne=qn(P)?sa:ki.current,Y.context=un(v,ne)),NA(v,Q,Y,H),Y.state=v.memoizedState,ne=P.getDerivedStateFromProps,typeof ne=="function"&&(LA(v,P,ne,Q),Y.state=v.memoizedState),typeof P.getDerivedStateFromProps=="function"||typeof Y.getSnapshotBeforeUpdate=="function"||typeof Y.UNSAFE_componentWillMount!="function"&&typeof Y.componentWillMount!="function"||(P=Y.state,typeof Y.componentWillMount=="function"&&Y.componentWillMount(),typeof Y.UNSAFE_componentWillMount=="function"&&Y.UNSAFE_componentWillMount(),P!==Y.state&&OA.enqueueReplaceState(Y,Y.state,null),NA(v,Q,Y,H),Y.state=v.memoizedState),typeof Y.componentDidMount=="function"&&(v.flags|=4)}var Cu=Array.isArray;function dt(v,P,Q){if(v=Q.ref,v!==null&&typeof v!="function"&&typeof v!="object"){if(Q._owner){if(Q=Q._owner,Q){if(Q.tag!==1)throw Error(u(309));var H=Q.stateNode}if(!H)throw Error(u(147,v));var Y=""+v;return P!==null&&P.ref!==null&&typeof P.ref=="function"&&P.ref._stringRef===Y?P.ref:(P=function(ne){var Be=H.refs;Be===Sd&&(Be=H.refs={}),ne===null?delete Be[Y]:Be[Y]=ne},P._stringRef=Y,P)}if(typeof v!="string")throw Error(u(284));if(!Q._owner)throw Error(u(290,v))}return v}function wc(v,P){if(v.type!=="textarea")throw Error(u(31,Object.prototype.toString.call(P)==="[object Object]"?"object with keys {"+Object.keys(P).join(", ")+"}":P))}function bd(v){function P($e,je){if(v){var pt=$e.lastEffect;pt!==null?(pt.nextEffect=je,$e.lastEffect=je):$e.firstEffect=$e.lastEffect=je,je.nextEffect=null,je.flags=8}}function Q($e,je){if(!v)return null;for(;je!==null;)P($e,je),je=je.sibling;return null}function H($e,je){for($e=new Map;je!==null;)je.key!==null?$e.set(je.key,je):$e.set(je.index,je),je=je.sibling;return $e}function Y($e,je){return $e=Fc($e,je),$e.index=0,$e.sibling=null,$e}function ne($e,je,pt){return $e.index=pt,v?(pt=$e.alternate,pt!==null?(pt=pt.index,pt<je?($e.flags=2,je):pt):($e.flags=2,je)):je}function Be($e){return v&&$e.alternate===null&&($e.flags=2),$e}function Ue($e,je,pt,zt){return je===null||je.tag!==6?(je=ZI(pt,$e.mode,zt),je.return=$e,je):(je=Y(je,pt),je.return=$e,je)}function ft($e,je,pt,zt){return je!==null&&je.elementType===pt.type?(zt=Y(je,pt.props),zt.ref=dt($e,je,pt),zt.return=$e,zt):(zt=k0(pt.type,pt.key,pt.props,null,$e.mode,zt),zt.ref=dt($e,je,pt),zt.return=$e,zt)}function jt($e,je,pt,zt){return je===null||je.tag!==4||je.stateNode.containerInfo!==pt.containerInfo||je.stateNode.implementation!==pt.implementation?(je=ao(pt,$e.mode,zt),je.return=$e,je):(je=Y(je,pt.children||[]),je.return=$e,je)}function wr($e,je,pt,zt,Br){return je===null||je.tag!==7?(je=Ru(pt,$e.mode,zt,Br),je.return=$e,je):(je=Y(je,pt),je.return=$e,je)}function Tr($e,je,pt){if(typeof je=="string"||typeof je=="number")return je=ZI(""+je,$e.mode,pt),je.return=$e,je;if(typeof je=="object"&&je!==null){switch(je.$$typeof){case p:return pt=k0(je.type,je.key,je.props,null,$e.mode,pt),pt.ref=dt($e,null,je),pt.return=$e,pt;case h:return je=ao(je,$e.mode,pt),je.return=$e,je}if(Cu(je)||Ee(je))return je=Ru(je,$e.mode,pt,null),je.return=$e,je;wc($e,je)}return null}function Xt($e,je,pt,zt){var Br=je!==null?je.key:null;if(typeof pt=="string"||typeof pt=="number")return Br!==null?null:Ue($e,je,""+pt,zt);if(typeof pt=="object"&&pt!==null){switch(pt.$$typeof){case p:return pt.key===Br?pt.type===E?wr($e,je,pt.props.children,zt,Br):ft($e,je,pt,zt):null;case h:return pt.key===Br?jt($e,je,pt,zt):null}if(Cu(pt)||Ee(pt))return Br!==null?null:wr($e,je,pt,zt,null);wc($e,pt)}return null}function jn($e,je,pt,zt,Br){if(typeof zt=="string"||typeof zt=="number")return $e=$e.get(pt)||null,Ue(je,$e,""+zt,Br);if(typeof zt=="object"&&zt!==null){switch(zt.$$typeof){case p:return $e=$e.get(zt.key===null?pt:zt.key)||null,zt.type===E?wr(je,$e,zt.props.children,Br,zt.key):ft(je,$e,zt,Br);case h:return $e=$e.get(zt.key===null?pt:zt.key)||null,jt(je,$e,zt,Br)}if(Cu(zt)||Ee(zt))return $e=$e.get(pt)||null,wr(je,$e,zt,Br,null);wc(je,zt)}return null}function li($e,je,pt,zt){for(var Br=null,Wn=null,br=je,Sn=je=0,Tn=null;br!==null&&Sn<pt.length;Sn++){br.index>Sn?(Tn=br,br=null):Tn=br.sibling;var Yr=Xt($e,br,pt[Sn],zt);if(Yr===null){br===null&&(br=Tn);break}v&&br&&Yr.alternate===null&&P($e,br),je=ne(Yr,je,Sn),Wn===null?Br=Yr:Wn.sibling=Yr,Wn=Yr,br=Tn}if(Sn===pt.length)return Q($e,br),Br;if(br===null){for(;Sn<pt.length;Sn++)br=Tr($e,pt[Sn],zt),br!==null&&(je=ne(br,je,Sn),Wn===null?Br=br:Wn.sibling=br,Wn=br);return Br}for(br=H($e,br);Sn<pt.length;Sn++)Tn=jn(br,$e,Sn,pt[Sn],zt),Tn!==null&&(v&&Tn.alternate!==null&&br.delete(Tn.key===null?Sn:Tn.key),je=ne(Tn,je,Sn),Wn===null?Br=Tn:Wn.sibling=Tn,Wn=Tn);return v&&br.forEach(function(ti){return P($e,ti)}),Br}function Ea($e,je,pt,zt){var Br=Ee(pt);if(typeof Br!="function")throw Error(u(150));if(pt=Br.call(pt),pt==null)throw Error(u(151));for(var Wn=Br=null,br=je,Sn=je=0,Tn=null,Yr=pt.next();br!==null&&!Yr.done;Sn++,Yr=pt.next()){br.index>Sn?(Tn=br,br=null):Tn=br.sibling;var ti=Xt($e,br,Yr.value,zt);if(ti===null){br===null&&(br=Tn);break}v&&br&&ti.alternate===null&&P($e,br),je=ne(ti,je,Sn),Wn===null?Br=ti:Wn.sibling=ti,Wn=ti,br=Tn}if(Yr.done)return Q($e,br),Br;if(br===null){for(;!Yr.done;Sn++,Yr=pt.next())Yr=Tr($e,Yr.value,zt),Yr!==null&&(je=ne(Yr,je,Sn),Wn===null?Br=Yr:Wn.sibling=Yr,Wn=Yr);return Br}for(br=H($e,br);!Yr.done;Sn++,Yr=pt.next())Yr=jn(br,$e,Sn,Yr.value,zt),Yr!==null&&(v&&Yr.alternate!==null&&br.delete(Yr.key===null?Sn:Yr.key),je=ne(Yr,je,Sn),Wn===null?Br=Yr:Wn.sibling=Yr,Wn=Yr);return v&&br.forEach(function(Rc){return P($e,Rc)}),Br}return function($e,je,pt,zt){var Br=typeof pt=="object"&&pt!==null&&pt.type===E&&pt.key===null;Br&&(pt=pt.props.children);var Wn=typeof pt=="object"&&pt!==null;if(Wn)switch(pt.$$typeof){case p:e:{for(Wn=pt.key,Br=je;Br!==null;){if(Br.key===Wn){switch(Br.tag){case 7:if(pt.type===E){Q($e,Br.sibling),je=Y(Br,pt.props.children),je.return=$e,$e=je;break e}break;default:if(Br.elementType===pt.type){Q($e,Br.sibling),je=Y(Br,pt.props),je.ref=dt($e,Br,pt),je.return=$e,$e=je;break e}}Q($e,Br);break}else P($e,Br);Br=Br.sibling}pt.type===E?(je=Ru(pt.props.children,$e.mode,zt,pt.key),je.return=$e,$e=je):(zt=k0(pt.type,pt.key,pt.props,null,$e.mode,zt),zt.ref=dt($e,je,pt),zt.return=$e,$e=zt)}return Be($e);case h:e:{for(Br=pt.key;je!==null;){if(je.key===Br)if(je.tag===4&&je.stateNode.containerInfo===pt.containerInfo&&je.stateNode.implementation===pt.implementation){Q($e,je.sibling),je=Y(je,pt.children||[]),je.return=$e,$e=je;break e}else{Q($e,je);break}else P($e,je);je=je.sibling}je=ao(pt,$e.mode,zt),je.return=$e,$e=je}return Be($e)}if(typeof pt=="string"||typeof pt=="number")return pt=""+pt,je!==null&&je.tag===6?(Q($e,je.sibling),je=Y(je,pt),je.return=$e,$e=je):(Q($e,je),je=ZI(pt,$e.mode,zt),je.return=$e,$e=je),Be($e);if(Cu(pt))return li($e,je,pt,zt);if(Ee(pt))return Ea($e,je,pt,zt);if(Wn&&wc($e,pt),typeof pt>"u"&&!Br)switch($e.tag){case 1:case 22:case 0:case 11:case 15:throw Error(u(152,g($e.type)||"Component"))}return Q($e,je)}}var c0=bd(!0),DI=bd(!1),hp={},cr=Ns(hp),Li=Ns(hp),Iu=Ns(hp);function pa(v){if(v===hp)throw Error(u(174));return v}function u0(v,P){Bn(Iu,P),Bn(Li,v),Bn(cr,hp),v=ht(P),Ft(cr),Bn(cr,v)}function Bc(){Ft(cr),Ft(Li),Ft(Iu)}function wu(v){var P=pa(Iu.current),Q=pa(cr.current);P=q(Q,v.type,P),Q!==P&&(Bn(Li,v),Bn(cr,P))}function wt(v){Li.current===v&&(Ft(cr),Ft(Li))}var oi=Ns(0);function UA(v){for(var P=v;P!==null;){if(P.tag===13){var Q=P.memoizedState;if(Q!==null&&(Q=Q.dehydrated,Q===null||pr(Q)||Me(Q)))return P}else if(P.tag===19&&P.memoizedProps.revealOrder!==void 0){if(P.flags&64)return P}else if(P.child!==null){P.child.return=P,P=P.child;continue}if(P===v)break;for(;P.sibling===null;){if(P.return===null||P.return===v)return null;P=P.return}P.sibling.return=P.return,P=P.sibling}return null}var ha=null,Uo=null,ga=!1;function A0(v,P){var Q=ya(5,null,null,0);Q.elementType="DELETED",Q.type="DELETED",Q.stateNode=P,Q.return=v,Q.flags=8,v.lastEffect!==null?(v.lastEffect.nextEffect=Q,v.lastEffect=Q):v.firstEffect=v.lastEffect=Q}function gp(v,P){switch(v.tag){case 5:return P=To(P,v.type,v.pendingProps),P!==null?(v.stateNode=P,!0):!1;case 6:return P=kA(P,v.pendingProps),P!==null?(v.stateNode=P,!0):!1;case 13:return!1;default:return!1}}function f0(v){if(ga){var P=Uo;if(P){var Q=P;if(!gp(v,P)){if(P=ia(Q),!P||!gp(v,P)){v.flags=v.flags&-1025|2,ga=!1,ha=v;return}A0(ha,Q)}ha=v,Uo=dc(P)}else v.flags=v.flags&-1025|2,ga=!1,ha=v}}function xd(v){for(v=v.return;v!==null&&v.tag!==5&&v.tag!==3&&v.tag!==13;)v=v.return;ha=v}function _A(v){if(!X||v!==ha)return!1;if(!ga)return xd(v),ga=!0,!1;var P=v.type;if(v.tag!==5||P!=="head"&&P!=="body"&&!tt(P,v.memoizedProps))for(P=Uo;P;)A0(v,P),P=ia(P);if(xd(v),v.tag===13){if(!X)throw Error(u(316));if(v=v.memoizedState,v=v!==null?v.dehydrated:null,!v)throw Error(u(317));Uo=QA(v)}else Uo=ha?ia(v.stateNode):null;return!0}function p0(){X&&(Uo=ha=null,ga=!1)}var vc=[];function Dc(){for(var v=0;v<vc.length;v++){var P=vc[v];y?P._workInProgressVersionPrimary=null:P._workInProgressVersionSecondary=null}vc.length=0}var Bu=A.ReactCurrentDispatcher,gs=A.ReactCurrentBatchConfig,Pc=0,On=null,ji=null,Ci=null,HA=!1,vu=!1;function An(){throw Error(u(321))}function h0(v,P){if(P===null)return!1;for(var Q=0;Q<P.length&&Q<v.length;Q++)if(!eo(v[Q],P[Q]))return!1;return!0}function g0(v,P,Q,H,Y,ne){if(Pc=ne,On=P,P.memoizedState=null,P.updateQueue=null,P.lanes=0,Bu.current=v===null||v.memoizedState===null?N:V,v=Q(H,Y),vu){ne=0;do{if(vu=!1,!(25>ne))throw Error(u(301));ne+=1,Ci=ji=null,P.updateQueue=null,Bu.current=re,v=Q(H,Y)}while(vu)}if(Bu.current=xt,P=ji!==null&&ji.next!==null,Pc=0,Ci=ji=On=null,HA=!1,P)throw Error(u(300));return v}function Gi(){var v={memoizedState:null,baseState:null,baseQueue:null,queue:null,next:null};return Ci===null?On.memoizedState=Ci=v:Ci=Ci.next=v,Ci}function Ka(){if(ji===null){var v=On.alternate;v=v!==null?v.memoizedState:null}else v=ji.next;var P=Ci===null?On.memoizedState:Ci.next;if(P!==null)Ci=P,ji=v;else{if(v===null)throw Error(u(310));ji=v,v={memoizedState:ji.memoizedState,baseState:ji.baseState,baseQueue:ji.baseQueue,queue:ji.queue,next:null},Ci===null?On.memoizedState=Ci=v:Ci=Ci.next=v}return Ci}function io(v,P){return typeof P=="function"?P(v):P}function Du(v){var P=Ka(),Q=P.queue;if(Q===null)throw Error(u(311));Q.lastRenderedReducer=v;var H=ji,Y=H.baseQueue,ne=Q.pending;if(ne!==null){if(Y!==null){var Be=Y.next;Y.next=ne.next,ne.next=Be}H.baseQueue=Y=ne,Q.pending=null}if(Y!==null){Y=Y.next,H=H.baseState;var Ue=Be=ne=null,ft=Y;do{var jt=ft.lane;if((Pc&jt)===jt)Ue!==null&&(Ue=Ue.next={lane:0,action:ft.action,eagerReducer:ft.eagerReducer,eagerState:ft.eagerState,next:null}),H=ft.eagerReducer===v?ft.eagerState:v(H,ft.action);else{var wr={lane:jt,action:ft.action,eagerReducer:ft.eagerReducer,eagerState:ft.eagerState,next:null};Ue===null?(Be=Ue=wr,ne=H):Ue=Ue.next=wr,On.lanes|=jt,B0|=jt}ft=ft.next}while(ft!==null&&ft!==Y);Ue===null?ne=H:Ue.next=Be,eo(H,P.memoizedState)||(Ye=!0),P.memoizedState=H,P.baseState=ne,P.baseQueue=Ue,Q.lastRenderedState=H}return[P.memoizedState,Q.dispatch]}function Pu(v){var P=Ka(),Q=P.queue;if(Q===null)throw Error(u(311));Q.lastRenderedReducer=v;var H=Q.dispatch,Y=Q.pending,ne=P.memoizedState;if(Y!==null){Q.pending=null;var Be=Y=Y.next;do ne=v(ne,Be.action),Be=Be.next;while(Be!==Y);eo(ne,P.memoizedState)||(Ye=!0),P.memoizedState=ne,P.baseQueue===null&&(P.baseState=ne),Q.lastRenderedState=ne}return[ne,H]}function Va(v,P,Q){var H=P._getVersion;H=H(P._source);var Y=y?P._workInProgressVersionPrimary:P._workInProgressVersionSecondary;if(Y!==null?v=Y===H:(v=v.mutableReadLanes,(v=(Pc&v)===v)&&(y?P._workInProgressVersionPrimary=H:P._workInProgressVersionSecondary=H,vc.push(P))),v)return Q(P._source);throw vc.push(P),Error(u(350))}function fn(v,P,Q,H){var Y=Os;if(Y===null)throw Error(u(349));var ne=P._getVersion,Be=ne(P._source),Ue=Bu.current,ft=Ue.useState(function(){return Va(Y,P,Q)}),jt=ft[1],wr=ft[0];ft=Ci;var Tr=v.memoizedState,Xt=Tr.refs,jn=Xt.getSnapshot,li=Tr.source;Tr=Tr.subscribe;var Ea=On;return v.memoizedState={refs:Xt,source:P,subscribe:H},Ue.useEffect(function(){Xt.getSnapshot=Q,Xt.setSnapshot=jt;var $e=ne(P._source);if(!eo(Be,$e)){$e=Q(P._source),eo(wr,$e)||(jt($e),$e=ss(Ea),Y.mutableReadLanes|=$e&Y.pendingLanes),$e=Y.mutableReadLanes,Y.entangledLanes|=$e;for(var je=Y.entanglements,pt=$e;0<pt;){var zt=31-qi(pt),Br=1<<zt;je[zt]|=$e,pt&=~Br}}},[Q,P,H]),Ue.useEffect(function(){return H(P._source,function(){var $e=Xt.getSnapshot,je=Xt.setSnapshot;try{je($e(P._source));var pt=ss(Ea);Y.mutableReadLanes|=pt&Y.pendingLanes}catch(zt){je(function(){throw zt})}})},[P,H]),eo(jn,Q)&&eo(li,P)&&eo(Tr,H)||(v={pending:null,dispatch:null,lastRenderedReducer:io,lastRenderedState:wr},v.dispatch=jt=Ep.bind(null,On,v),ft.queue=v,ft.baseQueue=null,wr=Va(Y,P,Q),ft.memoizedState=ft.baseState=wr),wr}function so(v,P,Q){var H=Ka();return fn(H,v,P,Q)}function Sc(v){var P=Gi();return typeof v=="function"&&(v=v()),P.memoizedState=P.baseState=v,v=P.queue={pending:null,dispatch:null,lastRenderedReducer:io,lastRenderedState:v},v=v.dispatch=Ep.bind(null,On,v),[P.memoizedState,v]}function _o(v,P,Q,H){return v={tag:v,create:P,destroy:Q,deps:H,next:null},P=On.updateQueue,P===null?(P={lastEffect:null},On.updateQueue=P,P.lastEffect=v.next=v):(Q=P.lastEffect,Q===null?P.lastEffect=v.next=v:(H=Q.next,Q.next=v,v.next=H,P.lastEffect=v)),v}function ds(v){var P=Gi();return v={current:v},P.memoizedState=v}function dp(){return Ka().memoizedState}function qA(v,P,Q,H){var Y=Gi();On.flags|=v,Y.memoizedState=_o(1|P,Q,void 0,H===void 0?null:H)}function Su(v,P,Q,H){var Y=Ka();H=H===void 0?null:H;var ne=void 0;if(ji!==null){var Be=ji.memoizedState;if(ne=Be.destroy,H!==null&&h0(H,Be.deps)){_o(P,Q,ne,H);return}}On.flags|=v,Y.memoizedState=_o(1|P,Q,ne,H)}function Ls(v,P){return qA(516,4,v,P)}function Kr(v,P){return Su(516,4,v,P)}function mp(v,P){return Su(4,2,v,P)}function jA(v,P){if(typeof P=="function")return v=v(),P(v),function(){P(null)};if(P!=null)return v=v(),P.current=v,function(){P.current=null}}function kd(v,P,Q){return Q=Q!=null?Q.concat([v]):null,Su(4,2,jA.bind(null,P,v),Q)}function d0(){}function yp(v,P){var Q=Ka();P=P===void 0?null:P;var H=Q.memoizedState;return H!==null&&P!==null&&h0(P,H[1])?H[0]:(Q.memoizedState=[v,P],v)}function bl(v,P){var Q=Ka();P=P===void 0?null:P;var H=Q.memoizedState;return H!==null&&P!==null&&h0(P,H[1])?H[0]:(v=v(),Q.memoizedState=[v,P],v)}function Qd(v,P){var Q=er();ei(98>Q?98:Q,function(){v(!0)}),ei(97<Q?97:Q,function(){var H=gs.transition;gs.transition=1;try{v(!1),P()}finally{gs.transition=H}})}function Ep(v,P,Q){var H=oo(),Y=ss(v),ne={lane:Y,action:Q,eagerReducer:null,eagerState:null,next:null},Be=P.pending;if(Be===null?ne.next=ne:(ne.next=Be.next,Be.next=ne),P.pending=ne,Be=v.alternate,v===On||Be!==null&&Be===On)vu=HA=!0;else{if(v.lanes===0&&(Be===null||Be.lanes===0)&&(Be=P.lastRenderedReducer,Be!==null))try{var Ue=P.lastRenderedState,ft=Be(Ue,Q);if(ne.eagerReducer=Be,ne.eagerState=ft,eo(ft,Ue))return}catch{}finally{}Xa(v,Y,H)}}var xt={readContext:ro,useCallback:An,useContext:An,useEffect:An,useImperativeHandle:An,useLayoutEffect:An,useMemo:An,useReducer:An,useRef:An,useState:An,useDebugValue:An,useDeferredValue:An,useTransition:An,useMutableSource:An,useOpaqueIdentifier:An,unstable_isNewReconciler:!1},N={readContext:ro,useCallback:function(v,P){return Gi().memoizedState=[v,P===void 0?null:P],v},useContext:ro,useEffect:Ls,useImperativeHandle:function(v,P,Q){return Q=Q!=null?Q.concat([v]):null,qA(4,2,jA.bind(null,P,v),Q)},useLayoutEffect:function(v,P){return qA(4,2,v,P)},useMemo:function(v,P){var Q=Gi();return P=P===void 0?null:P,v=v(),Q.memoizedState=[v,P],v},useReducer:function(v,P,Q){var H=Gi();return P=Q!==void 0?Q(P):P,H.memoizedState=H.baseState=P,v=H.queue={pending:null,dispatch:null,lastRenderedReducer:v,lastRenderedState:P},v=v.dispatch=Ep.bind(null,On,v),[H.memoizedState,v]},useRef:ds,useState:Sc,useDebugValue:d0,useDeferredValue:function(v){var P=Sc(v),Q=P[0],H=P[1];return Ls(function(){var Y=gs.transition;gs.transition=1;try{H(v)}finally{gs.transition=Y}},[v]),Q},useTransition:function(){var v=Sc(!1),P=v[0];return v=Qd.bind(null,v[1]),ds(v),[v,P]},useMutableSource:function(v,P,Q){var H=Gi();return H.memoizedState={refs:{getSnapshot:P,setSnapshot:null},source:v,subscribe:Q},fn(H,v,P,Q)},useOpaqueIdentifier:function(){if(ga){var v=!1,P=se(function(){throw v||(v=!0,Q(xe())),Error(u(355))}),Q=Sc(P)[1];return!(On.mode&2)&&(On.flags|=516,_o(5,function(){Q(xe())},void 0,null)),P}return P=xe(),Sc(P),P},unstable_isNewReconciler:!1},V={readContext:ro,useCallback:yp,useContext:ro,useEffect:Kr,useImperativeHandle:kd,useLayoutEffect:mp,useMemo:bl,useReducer:Du,useRef:dp,useState:function(){return Du(io)},useDebugValue:d0,useDeferredValue:function(v){var P=Du(io),Q=P[0],H=P[1];return Kr(function(){var Y=gs.transition;gs.transition=1;try{H(v)}finally{gs.transition=Y}},[v]),Q},useTransition:function(){var v=Du(io)[0];return[dp().current,v]},useMutableSource:so,useOpaqueIdentifier:function(){return Du(io)[0]},unstable_isNewReconciler:!1},re={readContext:ro,useCallback:yp,useContext:ro,useEffect:Kr,useImperativeHandle:kd,useLayoutEffect:mp,useMemo:bl,useReducer:Pu,useRef:dp,useState:function(){return Pu(io)},useDebugValue:d0,useDeferredValue:function(v){var P=Pu(io),Q=P[0],H=P[1];return Kr(function(){var Y=gs.transition;gs.transition=1;try{H(v)}finally{gs.transition=Y}},[v]),Q},useTransition:function(){var v=Pu(io)[0];return[dp().current,v]},useMutableSource:so,useOpaqueIdentifier:function(){return Pu(io)[0]},unstable_isNewReconciler:!1},ge=A.ReactCurrentOwner,Ye=!1;function At(v,P,Q,H){P.child=v===null?DI(P,null,Q,H):c0(P,v.child,Q,H)}function hr(v,P,Q,H,Y){Q=Q.render;var ne=P.ref;return Eu(P,Y),H=g0(v,P,Q,H,ne,Y),v!==null&&!Ye?(P.updateQueue=v.updateQueue,P.flags&=-517,v.lanes&=~Y,Mn(v,P,Y)):(P.flags|=1,At(v,P,H,Y),P.child)}function Ir(v,P,Q,H,Y,ne){if(v===null){var Be=Q.type;return typeof Be=="function"&&!zI(Be)&&Be.defaultProps===void 0&&Q.compare===null&&Q.defaultProps===void 0?(P.tag=15,P.type=Be,Rn(v,P,Be,H,Y,ne)):(v=k0(Q.type,null,H,P,P.mode,ne),v.ref=P.ref,v.return=P,P.child=v)}return Be=v.child,!(Y&ne)&&(Y=Be.memoizedProps,Q=Q.compare,Q=Q!==null?Q:cp,Q(Y,H)&&v.ref===P.ref)?Mn(v,P,ne):(P.flags|=1,v=Fc(Be,H),v.ref=P.ref,v.return=P,P.child=v)}function Rn(v,P,Q,H,Y,ne){if(v!==null&&cp(v.memoizedProps,H)&&v.ref===P.ref)if(Ye=!1,(ne&Y)!==0)v.flags&16384&&(Ye=!0);else return P.lanes=v.lanes,Mn(v,P,ne);return GA(v,P,Q,H,ne)}function ai(v,P,Q){var H=P.pendingProps,Y=H.children,ne=v!==null?v.memoizedState:null;if(H.mode==="hidden"||H.mode==="unstable-defer-without-hiding")if(!(P.mode&4))P.memoizedState={baseLanes:0},Jd(P,Q);else if(Q&1073741824)P.memoizedState={baseLanes:0},Jd(P,ne!==null?ne.baseLanes:Q);else return v=ne!==null?ne.baseLanes|Q:Q,P.lanes=P.childLanes=1073741824,P.memoizedState={baseLanes:v},Jd(P,v),null;else ne!==null?(H=ne.baseLanes|Q,P.memoizedState=null):H=Q,Jd(P,H);return At(v,P,Y,Q),P.child}function ns(v,P){var Q=P.ref;(v===null&&Q!==null||v!==null&&v.ref!==Q)&&(P.flags|=128)}function GA(v,P,Q,H,Y){var ne=qn(Q)?sa:ki.current;return ne=un(P,ne),Eu(P,Y),Q=g0(v,P,Q,H,ne,Y),v!==null&&!Ye?(P.updateQueue=v.updateQueue,P.flags&=-517,v.lanes&=~Y,Mn(v,P,Y)):(P.flags|=1,At(v,P,Q,Y),P.child)}function lD(v,P,Q,H,Y){if(qn(Q)){var ne=!0;aa(P)}else ne=!1;if(Eu(P,Y),P.stateNode===null)v!==null&&(v.alternate=null,P.alternate=null,P.flags|=2),bt(P,Q,H),no(P,Q,H,Y),H=!0;else if(v===null){var Be=P.stateNode,Ue=P.memoizedProps;Be.props=Ue;var ft=Be.context,jt=Q.contextType;typeof jt=="object"&&jt!==null?jt=ro(jt):(jt=qn(Q)?sa:ki.current,jt=un(P,jt));var wr=Q.getDerivedStateFromProps,Tr=typeof wr=="function"||typeof Be.getSnapshotBeforeUpdate=="function";Tr||typeof Be.UNSAFE_componentWillReceiveProps!="function"&&typeof Be.componentWillReceiveProps!="function"||(Ue!==H||ft!==jt)&&MA(P,Be,H,jt),Ga=!1;var Xt=P.memoizedState;Be.state=Xt,NA(P,H,Be,Y),ft=P.memoizedState,Ue!==H||Xt!==ft||vi.current||Ga?(typeof wr=="function"&&(LA(P,Q,wr,H),ft=P.memoizedState),(Ue=Ga||W(P,Q,Ue,H,Xt,ft,jt))?(Tr||typeof Be.UNSAFE_componentWillMount!="function"&&typeof Be.componentWillMount!="function"||(typeof Be.componentWillMount=="function"&&Be.componentWillMount(),typeof Be.UNSAFE_componentWillMount=="function"&&Be.UNSAFE_componentWillMount()),typeof Be.componentDidMount=="function"&&(P.flags|=4)):(typeof Be.componentDidMount=="function"&&(P.flags|=4),P.memoizedProps=H,P.memoizedState=ft),Be.props=H,Be.state=ft,Be.context=jt,H=Ue):(typeof Be.componentDidMount=="function"&&(P.flags|=4),H=!1)}else{Be=P.stateNode,l0(v,P),Ue=P.memoizedProps,jt=P.type===P.elementType?Ue:to(P.type,Ue),Be.props=jt,Tr=P.pendingProps,Xt=Be.context,ft=Q.contextType,typeof ft=="object"&&ft!==null?ft=ro(ft):(ft=qn(Q)?sa:ki.current,ft=un(P,ft));var jn=Q.getDerivedStateFromProps;(wr=typeof jn=="function"||typeof Be.getSnapshotBeforeUpdate=="function")||typeof Be.UNSAFE_componentWillReceiveProps!="function"&&typeof Be.componentWillReceiveProps!="function"||(Ue!==Tr||Xt!==ft)&&MA(P,Be,H,ft),Ga=!1,Xt=P.memoizedState,Be.state=Xt,NA(P,H,Be,Y);var li=P.memoizedState;Ue!==Tr||Xt!==li||vi.current||Ga?(typeof jn=="function"&&(LA(P,Q,jn,H),li=P.memoizedState),(jt=Ga||W(P,Q,jt,H,Xt,li,ft))?(wr||typeof Be.UNSAFE_componentWillUpdate!="function"&&typeof Be.componentWillUpdate!="function"||(typeof Be.componentWillUpdate=="function"&&Be.componentWillUpdate(H,li,ft),typeof Be.UNSAFE_componentWillUpdate=="function"&&Be.UNSAFE_componentWillUpdate(H,li,ft)),typeof Be.componentDidUpdate=="function"&&(P.flags|=4),typeof Be.getSnapshotBeforeUpdate=="function"&&(P.flags|=256)):(typeof Be.componentDidUpdate!="function"||Ue===v.memoizedProps&&Xt===v.memoizedState||(P.flags|=4),typeof Be.getSnapshotBeforeUpdate!="function"||Ue===v.memoizedProps&&Xt===v.memoizedState||(P.flags|=256),P.memoizedProps=H,P.memoizedState=li),Be.props=H,Be.state=li,Be.context=ft,H=jt):(typeof Be.componentDidUpdate!="function"||Ue===v.memoizedProps&&Xt===v.memoizedState||(P.flags|=4),typeof Be.getSnapshotBeforeUpdate!="function"||Ue===v.memoizedProps&&Xt===v.memoizedState||(P.flags|=256),H=!1)}return PI(v,P,Q,H,ne,Y)}function PI(v,P,Q,H,Y,ne){ns(v,P);var Be=(P.flags&64)!==0;if(!H&&!Be)return Y&&la(P,Q,!1),Mn(v,P,ne);H=P.stateNode,ge.current=P;var Ue=Be&&typeof Q.getDerivedStateFromError!="function"?null:H.render();return P.flags|=1,v!==null&&Be?(P.child=c0(P,v.child,null,ne),P.child=c0(P,null,Ue,ne)):At(v,P,Ue,ne),P.memoizedState=H.state,Y&&la(P,Q,!0),P.child}function Fd(v){var P=v.stateNode;P.pendingContext?lp(v,P.pendingContext,P.pendingContext!==P.context):P.context&&lp(v,P.context,!1),u0(v,P.containerInfo)}var Cp={dehydrated:null,retryLane:0};function SI(v,P,Q){var H=P.pendingProps,Y=oi.current,ne=!1,Be;return(Be=(P.flags&64)!==0)||(Be=v!==null&&v.memoizedState===null?!1:(Y&2)!==0),Be?(ne=!0,P.flags&=-65):v!==null&&v.memoizedState===null||H.fallback===void 0||H.unstable_avoidThisFallback===!0||(Y|=1),Bn(oi,Y&1),v===null?(H.fallback!==void 0&&f0(P),v=H.children,Y=H.fallback,ne?(v=da(P,v,Y,Q),P.child.memoizedState={baseLanes:Q},P.memoizedState=Cp,v):typeof H.unstable_expectedLoadTime=="number"?(v=da(P,v,Y,Q),P.child.memoizedState={baseLanes:Q},P.memoizedState=Cp,P.lanes=33554432,v):(Q=XI({mode:"visible",children:v},P.mode,Q,null),Q.return=P,P.child=Q)):v.memoizedState!==null?ne?(H=WA(v,P,H.children,H.fallback,Q),ne=P.child,Y=v.child.memoizedState,ne.memoizedState=Y===null?{baseLanes:Q}:{baseLanes:Y.baseLanes|Q},ne.childLanes=v.childLanes&~Q,P.memoizedState=Cp,H):(Q=bI(v,P,H.children,Q),P.memoizedState=null,Q):ne?(H=WA(v,P,H.children,H.fallback,Q),ne=P.child,Y=v.child.memoizedState,ne.memoizedState=Y===null?{baseLanes:Q}:{baseLanes:Y.baseLanes|Q},ne.childLanes=v.childLanes&~Q,P.memoizedState=Cp,H):(Q=bI(v,P,H.children,Q),P.memoizedState=null,Q)}function da(v,P,Q,H){var Y=v.mode,ne=v.child;return P={mode:"hidden",children:P},!(Y&2)&&ne!==null?(ne.childLanes=0,ne.pendingProps=P):ne=XI(P,Y,0,null),Q=Ru(Q,Y,H,null),ne.return=v,Q.return=v,ne.sibling=Q,v.child=ne,Q}function bI(v,P,Q,H){var Y=v.child;return v=Y.sibling,Q=Fc(Y,{mode:"visible",children:Q}),!(P.mode&2)&&(Q.lanes=H),Q.return=P,Q.sibling=null,v!==null&&(v.nextEffect=null,v.flags=8,P.firstEffect=P.lastEffect=v),P.child=Q}function WA(v,P,Q,H,Y){var ne=P.mode,Be=v.child;v=Be.sibling;var Ue={mode:"hidden",children:Q};return!(ne&2)&&P.child!==Be?(Q=P.child,Q.childLanes=0,Q.pendingProps=Ue,Be=Q.lastEffect,Be!==null?(P.firstEffect=Q.firstEffect,P.lastEffect=Be,Be.nextEffect=null):P.firstEffect=P.lastEffect=null):Q=Fc(Be,Ue),v!==null?H=Fc(v,H):(H=Ru(H,ne,Y,null),H.flags|=2),H.return=P,Q.return=P,Q.sibling=H,P.child=Q,H}function Ip(v,P){v.lanes|=P;var Q=v.alternate;Q!==null&&(Q.lanes|=P),vd(v.return,P)}function Rd(v,P,Q,H,Y,ne){var Be=v.memoizedState;Be===null?v.memoizedState={isBackwards:P,rendering:null,renderingStartTime:0,last:H,tail:Q,tailMode:Y,lastEffect:ne}:(Be.isBackwards=P,Be.rendering=null,Be.renderingStartTime=0,Be.last=H,Be.tail=Q,Be.tailMode=Y,Be.lastEffect=ne)}function cD(v,P,Q){var H=P.pendingProps,Y=H.revealOrder,ne=H.tail;if(At(v,P,H.children,Q),H=oi.current,H&2)H=H&1|2,P.flags|=64;else{if(v!==null&&v.flags&64)e:for(v=P.child;v!==null;){if(v.tag===13)v.memoizedState!==null&&Ip(v,Q);else if(v.tag===19)Ip(v,Q);else if(v.child!==null){v.child.return=v,v=v.child;continue}if(v===P)break e;for(;v.sibling===null;){if(v.return===null||v.return===P)break e;v=v.return}v.sibling.return=v.return,v=v.sibling}H&=1}if(Bn(oi,H),!(P.mode&2))P.memoizedState=null;else switch(Y){case"forwards":for(Q=P.child,Y=null;Q!==null;)v=Q.alternate,v!==null&&UA(v)===null&&(Y=Q),Q=Q.sibling;Q=Y,Q===null?(Y=P.child,P.child=null):(Y=Q.sibling,Q.sibling=null),Rd(P,!1,Y,Q,ne,P.lastEffect);break;case"backwards":for(Q=null,Y=P.child,P.child=null;Y!==null;){if(v=Y.alternate,v!==null&&UA(v)===null){P.child=Y;break}v=Y.sibling,Y.sibling=Q,Q=Y,Y=v}Rd(P,!0,Q,null,ne,P.lastEffect);break;case"together":Rd(P,!1,null,null,void 0,P.lastEffect);break;default:P.memoizedState=null}return P.child}function Mn(v,P,Q){if(v!==null&&(P.dependencies=v.dependencies),B0|=P.lanes,Q&P.childLanes){if(v!==null&&P.child!==v.child)throw Error(u(153));if(P.child!==null){for(v=P.child,Q=Fc(v,v.pendingProps),P.child=Q,Q.return=P;v.sibling!==null;)v=v.sibling,Q=Q.sibling=Fc(v,v.pendingProps),Q.return=P;Q.sibling=null}return P.child}return null}function Wi(v){v.flags|=4}var Ja,za,bc,Ho;if(R)Ja=function(v,P){for(var Q=P.child;Q!==null;){if(Q.tag===5||Q.tag===6)ke(v,Q.stateNode);else if(Q.tag!==4&&Q.child!==null){Q.child.return=Q,Q=Q.child;continue}if(Q===P)break;for(;Q.sibling===null;){if(Q.return===null||Q.return===P)return;Q=Q.return}Q.sibling.return=Q.return,Q=Q.sibling}},za=function(){},bc=function(v,P,Q,H,Y){if(v=v.memoizedProps,v!==H){var ne=P.stateNode,Be=pa(cr.current);Q=be(ne,Q,v,H,Y,Be),(P.updateQueue=Q)&&Wi(P)}},Ho=function(v,P,Q,H){Q!==H&&Wi(P)};else if(z){Ja=function(v,P,Q,H){for(var Y=P.child;Y!==null;){if(Y.tag===5){var ne=Y.stateNode;Q&&H&&(ne=xA(ne,Y.type,Y.memoizedProps,Y)),ke(v,ne)}else if(Y.tag===6)ne=Y.stateNode,Q&&H&&(ne=Ro(ne,Y.memoizedProps,Y)),ke(v,ne);else if(Y.tag!==4){if(Y.tag===13&&Y.flags&4&&(ne=Y.memoizedState!==null)){var Be=Y.child;if(Be!==null&&(Be.child!==null&&(Be.child.return=Be,Ja(v,Be,!0,ne)),ne=Be.sibling,ne!==null)){ne.return=Y,Y=ne;continue}}if(Y.child!==null){Y.child.return=Y,Y=Y.child;continue}}if(Y===P)break;for(;Y.sibling===null;){if(Y.return===null||Y.return===P)return;Y=Y.return}Y.sibling.return=Y.return,Y=Y.sibling}};var YA=function(v,P,Q,H){for(var Y=P.child;Y!==null;){if(Y.tag===5){var ne=Y.stateNode;Q&&H&&(ne=xA(ne,Y.type,Y.memoizedProps,Y)),hc(v,ne)}else if(Y.tag===6)ne=Y.stateNode,Q&&H&&(ne=Ro(ne,Y.memoizedProps,Y)),hc(v,ne);else if(Y.tag!==4){if(Y.tag===13&&Y.flags&4&&(ne=Y.memoizedState!==null)){var Be=Y.child;if(Be!==null&&(Be.child!==null&&(Be.child.return=Be,YA(v,Be,!0,ne)),ne=Be.sibling,ne!==null)){ne.return=Y,Y=ne;continue}}if(Y.child!==null){Y.child.return=Y,Y=Y.child;continue}}if(Y===P)break;for(;Y.sibling===null;){if(Y.return===null||Y.return===P)return;Y=Y.return}Y.sibling.return=Y.return,Y=Y.sibling}};za=function(v){var P=v.stateNode;if(v.firstEffect!==null){var Q=P.containerInfo,H=pc(Q);YA(H,v,!1,!1),P.pendingChildren=H,Wi(v),gc(Q,H)}},bc=function(v,P,Q,H,Y){var ne=v.stateNode,Be=v.memoizedProps;if((v=P.firstEffect===null)&&Be===H)P.stateNode=ne;else{var Ue=P.stateNode,ft=pa(cr.current),jt=null;Be!==H&&(jt=be(Ue,Q,Be,H,Y,ft)),v&&jt===null?P.stateNode=ne:(ne=Ts(ne,jt,Q,Be,H,P,v,Ue),Ve(ne,Q,H,Y,ft)&&Wi(P),P.stateNode=ne,v?Wi(P):Ja(ne,P,!1,!1))}},Ho=function(v,P,Q,H){Q!==H?(v=pa(Iu.current),Q=pa(cr.current),P.stateNode=He(H,v,Q,P),Wi(P)):P.stateNode=v.stateNode}}else za=function(){},bc=function(){},Ho=function(){};function KA(v,P){if(!ga)switch(v.tailMode){case"hidden":P=v.tail;for(var Q=null;P!==null;)P.alternate!==null&&(Q=P),P=P.sibling;Q===null?v.tail=null:Q.sibling=null;break;case"collapsed":Q=v.tail;for(var H=null;Q!==null;)Q.alternate!==null&&(H=Q),Q=Q.sibling;H===null?P||v.tail===null?v.tail=null:v.tail.sibling=null:H.sibling=null}}function HF(v,P,Q){var H=P.pendingProps;switch(P.tag){case 2:case 16:case 15:case 0:case 11:case 7:case 8:case 12:case 9:case 14:return null;case 1:return qn(P.type)&&Ec(),null;case 3:return Bc(),Ft(vi),Ft(ki),Dc(),H=P.stateNode,H.pendingContext&&(H.context=H.pendingContext,H.pendingContext=null),(v===null||v.child===null)&&(_A(P)?Wi(P):H.hydrate||(P.flags|=256)),za(P),null;case 5:wt(P);var Y=pa(Iu.current);if(Q=P.type,v!==null&&P.stateNode!=null)bc(v,P,Q,H,Y),v.ref!==P.ref&&(P.flags|=128);else{if(!H){if(P.stateNode===null)throw Error(u(166));return null}if(v=pa(cr.current),_A(P)){if(!X)throw Error(u(175));v=Er(P.stateNode,P.type,P.memoizedProps,Y,v,P),P.updateQueue=v,v!==null&&Wi(P)}else{var ne=Te(Q,H,Y,v,P);Ja(ne,P,!1,!1),P.stateNode=ne,Ve(ne,Q,H,Y,v)&&Wi(P)}P.ref!==null&&(P.flags|=128)}return null;case 6:if(v&&P.stateNode!=null)Ho(v,P,v.memoizedProps,H);else{if(typeof H!="string"&&P.stateNode===null)throw Error(u(166));if(v=pa(Iu.current),Y=pa(cr.current),_A(P)){if(!X)throw Error(u(176));du(P.stateNode,P.memoizedProps,P)&&Wi(P)}else P.stateNode=He(H,v,Y,P)}return null;case 13:return Ft(oi),H=P.memoizedState,P.flags&64?(P.lanes=Q,P):(H=H!==null,Y=!1,v===null?P.memoizedProps.fallback!==void 0&&_A(P):Y=v.memoizedState!==null,H&&!Y&&P.mode&2&&(v===null&&P.memoizedProps.unstable_avoidThisFallback!==!0||oi.current&1?is===0&&(is=3):((is===0||is===3)&&(is=4),Os===null||!(B0&134217727)&&!(vp&134217727)||Dp(Os,ms))),z&&H&&(P.flags|=4),R&&(H||Y)&&(P.flags|=4),null);case 4:return Bc(),za(P),v===null&&Et(P.stateNode.containerInfo),null;case 10:return a0(P),null;case 17:return qn(P.type)&&Ec(),null;case 19:if(Ft(oi),H=P.memoizedState,H===null)return null;if(Y=(P.flags&64)!==0,ne=H.rendering,ne===null)if(Y)KA(H,!1);else{if(is!==0||v!==null&&v.flags&64)for(v=P.child;v!==null;){if(ne=UA(v),ne!==null){for(P.flags|=64,KA(H,!1),v=ne.updateQueue,v!==null&&(P.updateQueue=v,P.flags|=4),H.lastEffect===null&&(P.firstEffect=null),P.lastEffect=H.lastEffect,v=Q,H=P.child;H!==null;)Y=H,Q=v,Y.flags&=2,Y.nextEffect=null,Y.firstEffect=null,Y.lastEffect=null,ne=Y.alternate,ne===null?(Y.childLanes=0,Y.lanes=Q,Y.child=null,Y.memoizedProps=null,Y.memoizedState=null,Y.updateQueue=null,Y.dependencies=null,Y.stateNode=null):(Y.childLanes=ne.childLanes,Y.lanes=ne.lanes,Y.child=ne.child,Y.memoizedProps=ne.memoizedProps,Y.memoizedState=ne.memoizedState,Y.updateQueue=ne.updateQueue,Y.type=ne.type,Q=ne.dependencies,Y.dependencies=Q===null?null:{lanes:Q.lanes,firstContext:Q.firstContext}),H=H.sibling;return Bn(oi,oi.current&1|2),P.child}v=v.sibling}H.tail!==null&&Dt()>qI&&(P.flags|=64,Y=!0,KA(H,!1),P.lanes=33554432)}else{if(!Y)if(v=UA(ne),v!==null){if(P.flags|=64,Y=!0,v=v.updateQueue,v!==null&&(P.updateQueue=v,P.flags|=4),KA(H,!0),H.tail===null&&H.tailMode==="hidden"&&!ne.alternate&&!ga)return P=P.lastEffect=H.lastEffect,P!==null&&(P.nextEffect=null),null}else 2*Dt()-H.renderingStartTime>qI&&Q!==1073741824&&(P.flags|=64,Y=!0,KA(H,!1),P.lanes=33554432);H.isBackwards?(ne.sibling=P.child,P.child=ne):(v=H.last,v!==null?v.sibling=ne:P.child=ne,H.last=ne)}return H.tail!==null?(v=H.tail,H.rendering=v,H.tail=v.sibling,H.lastEffect=P.lastEffect,H.renderingStartTime=Dt(),v.sibling=null,P=oi.current,Bn(oi,Y?P&1|2:P&1),v):null;case 23:case 24:return VI(),v!==null&&v.memoizedState!==null!=(P.memoizedState!==null)&&H.mode!=="unstable-defer-without-hiding"&&(P.flags|=4),null}throw Error(u(156,P.tag))}function qF(v){switch(v.tag){case 1:qn(v.type)&&Ec();var P=v.flags;return P&4096?(v.flags=P&-4097|64,v):null;case 3:if(Bc(),Ft(vi),Ft(ki),Dc(),P=v.flags,P&64)throw Error(u(285));return v.flags=P&-4097|64,v;case 5:return wt(v),null;case 13:return Ft(oi),P=v.flags,P&4096?(v.flags=P&-4097|64,v):null;case 19:return Ft(oi),null;case 4:return Bc(),null;case 10:return a0(v),null;case 23:case 24:return VI(),null;default:return null}}function m0(v,P){try{var Q="",H=P;do Q+=vI(H),H=H.return;while(H);var Y=Q}catch(ne){Y=` +Error generating stack: `+ne.message+` +`+ne.stack}return{value:v,source:P,stack:Y}}function y0(v,P){try{console.error(P.value)}catch(Q){setTimeout(function(){throw Q})}}var jF=typeof WeakMap=="function"?WeakMap:Map;function xI(v,P,Q){Q=Wa(-1,Q),Q.tag=3,Q.payload={element:null};var H=P.value;return Q.callback=function(){Wd||(Wd=!0,jI=H),y0(v,P)},Q}function E0(v,P,Q){Q=Wa(-1,Q),Q.tag=3;var H=v.type.getDerivedStateFromError;if(typeof H=="function"){var Y=P.value;Q.payload=function(){return y0(v,P),H(Y)}}var ne=v.stateNode;return ne!==null&&typeof ne.componentDidCatch=="function"&&(Q.callback=function(){typeof H!="function"&&(xl===null?xl=new Set([this]):xl.add(this),y0(v,P));var Be=P.stack;this.componentDidCatch(P.value,{componentStack:Be!==null?Be:""})}),Q}var GF=typeof WeakSet=="function"?WeakSet:Set;function kI(v){var P=v.ref;if(P!==null)if(typeof P=="function")try{P(null)}catch(Q){Fu(v,Q)}else P.current=null}function Td(v,P){switch(P.tag){case 0:case 11:case 15:case 22:return;case 1:if(P.flags&256&&v!==null){var Q=v.memoizedProps,H=v.memoizedState;v=P.stateNode,P=v.getSnapshotBeforeUpdate(P.elementType===P.type?Q:to(P.type,Q),H),v.__reactInternalSnapshotBeforeUpdate=P}return;case 3:R&&P.flags&256&&hs(P.stateNode.containerInfo);return;case 5:case 6:case 4:case 17:return}throw Error(u(163))}function wp(v,P){if(P=P.updateQueue,P=P!==null?P.lastEffect:null,P!==null){var Q=P=P.next;do{if((Q.tag&v)===v){var H=Q.destroy;Q.destroy=void 0,H!==void 0&&H()}Q=Q.next}while(Q!==P)}}function uD(v,P,Q){switch(Q.tag){case 0:case 11:case 15:case 22:if(P=Q.updateQueue,P=P!==null?P.lastEffect:null,P!==null){v=P=P.next;do{if((v.tag&3)===3){var H=v.create;v.destroy=H()}v=v.next}while(v!==P)}if(P=Q.updateQueue,P=P!==null?P.lastEffect:null,P!==null){v=P=P.next;do{var Y=v;H=Y.next,Y=Y.tag,Y&4&&Y&1&&(vD(Q,v),$F(Q,v)),v=H}while(v!==P)}return;case 1:v=Q.stateNode,Q.flags&4&&(P===null?v.componentDidMount():(H=Q.elementType===Q.type?P.memoizedProps:to(Q.type,P.memoizedProps),v.componentDidUpdate(H,P.memoizedState,v.__reactInternalSnapshotBeforeUpdate))),P=Q.updateQueue,P!==null&&Pd(Q,P,v);return;case 3:if(P=Q.updateQueue,P!==null){if(v=null,Q.child!==null)switch(Q.child.tag){case 5:v=Re(Q.child.stateNode);break;case 1:v=Q.child.stateNode}Pd(Q,P,v)}return;case 5:v=Q.stateNode,P===null&&Q.flags&4&&Qs(v,Q.type,Q.memoizedProps,Q);return;case 6:return;case 4:return;case 12:return;case 13:X&&Q.memoizedState===null&&(Q=Q.alternate,Q!==null&&(Q=Q.memoizedState,Q!==null&&(Q=Q.dehydrated,Q!==null&&mc(Q))));return;case 19:case 17:case 20:case 21:case 23:case 24:return}throw Error(u(163))}function AD(v,P){if(R)for(var Q=v;;){if(Q.tag===5){var H=Q.stateNode;P?op(H):Rs(Q.stateNode,Q.memoizedProps)}else if(Q.tag===6)H=Q.stateNode,P?ap(H):Ln(H,Q.memoizedProps);else if((Q.tag!==23&&Q.tag!==24||Q.memoizedState===null||Q===v)&&Q.child!==null){Q.child.return=Q,Q=Q.child;continue}if(Q===v)break;for(;Q.sibling===null;){if(Q.return===null||Q.return===v)return;Q=Q.return}Q.sibling.return=Q.return,Q=Q.sibling}}function Nd(v,P){if(ca&&typeof ca.onCommitFiberUnmount=="function")try{ca.onCommitFiberUnmount(Ze,P)}catch{}switch(P.tag){case 0:case 11:case 14:case 15:case 22:if(v=P.updateQueue,v!==null&&(v=v.lastEffect,v!==null)){var Q=v=v.next;do{var H=Q,Y=H.destroy;if(H=H.tag,Y!==void 0)if(H&4)vD(P,Q);else{H=P;try{Y()}catch(ne){Fu(H,ne)}}Q=Q.next}while(Q!==v)}break;case 1:if(kI(P),v=P.stateNode,typeof v.componentWillUnmount=="function")try{v.props=P.memoizedProps,v.state=P.memoizedState,v.componentWillUnmount()}catch(ne){Fu(P,ne)}break;case 5:kI(P);break;case 4:R?gD(v,P):z&&z&&(P=P.stateNode.containerInfo,v=pc(P),bA(P,v))}}function fD(v,P){for(var Q=P;;)if(Nd(v,Q),Q.child===null||R&&Q.tag===4){if(Q===P)break;for(;Q.sibling===null;){if(Q.return===null||Q.return===P)return;Q=Q.return}Q.sibling.return=Q.return,Q=Q.sibling}else Q.child.return=Q,Q=Q.child}function Ld(v){v.alternate=null,v.child=null,v.dependencies=null,v.firstEffect=null,v.lastEffect=null,v.memoizedProps=null,v.memoizedState=null,v.pendingProps=null,v.return=null,v.updateQueue=null}function pD(v){return v.tag===5||v.tag===3||v.tag===4}function hD(v){if(R){e:{for(var P=v.return;P!==null;){if(pD(P))break e;P=P.return}throw Error(u(160))}var Q=P;switch(P=Q.stateNode,Q.tag){case 5:var H=!1;break;case 3:P=P.containerInfo,H=!0;break;case 4:P=P.containerInfo,H=!0;break;default:throw Error(u(161))}Q.flags&16&&(gu(P),Q.flags&=-17);e:t:for(Q=v;;){for(;Q.sibling===null;){if(Q.return===null||pD(Q.return)){Q=null;break e}Q=Q.return}for(Q.sibling.return=Q.return,Q=Q.sibling;Q.tag!==5&&Q.tag!==6&&Q.tag!==18;){if(Q.flags&2||Q.child===null||Q.tag===4)continue t;Q.child.return=Q,Q=Q.child}if(!(Q.flags&2)){Q=Q.stateNode;break e}}H?QI(v,Q,P):FI(v,Q,P)}}function QI(v,P,Q){var H=v.tag,Y=H===5||H===6;if(Y)v=Y?v.stateNode:v.stateNode.instance,P?Fs(Q,v,P):Xs(Q,v);else if(H!==4&&(v=v.child,v!==null))for(QI(v,P,Q),v=v.sibling;v!==null;)QI(v,P,Q),v=v.sibling}function FI(v,P,Q){var H=v.tag,Y=H===5||H===6;if(Y)v=Y?v.stateNode:v.stateNode.instance,P?xi(Q,v,P):$n(Q,v);else if(H!==4&&(v=v.child,v!==null))for(FI(v,P,Q),v=v.sibling;v!==null;)FI(v,P,Q),v=v.sibling}function gD(v,P){for(var Q=P,H=!1,Y,ne;;){if(!H){H=Q.return;e:for(;;){if(H===null)throw Error(u(160));switch(Y=H.stateNode,H.tag){case 5:ne=!1;break e;case 3:Y=Y.containerInfo,ne=!0;break e;case 4:Y=Y.containerInfo,ne=!0;break e}H=H.return}H=!0}if(Q.tag===5||Q.tag===6)fD(v,Q),ne?SA(Y,Q.stateNode):$s(Y,Q.stateNode);else if(Q.tag===4){if(Q.child!==null){Y=Q.stateNode.containerInfo,ne=!0,Q.child.return=Q,Q=Q.child;continue}}else if(Nd(v,Q),Q.child!==null){Q.child.return=Q,Q=Q.child;continue}if(Q===P)break;for(;Q.sibling===null;){if(Q.return===null||Q.return===P)return;Q=Q.return,Q.tag===4&&(H=!1)}Q.sibling.return=Q.return,Q=Q.sibling}}function RI(v,P){if(R){switch(P.tag){case 0:case 11:case 14:case 15:case 22:wp(3,P);return;case 1:return;case 5:var Q=P.stateNode;if(Q!=null){var H=P.memoizedProps;v=v!==null?v.memoizedProps:H;var Y=P.type,ne=P.updateQueue;P.updateQueue=null,ne!==null&&Zs(Q,ne,Y,v,H,P)}return;case 6:if(P.stateNode===null)throw Error(u(162));Q=P.memoizedProps,Hi(P.stateNode,v!==null?v.memoizedProps:Q,Q);return;case 3:X&&(P=P.stateNode,P.hydrate&&(P.hydrate=!1,FA(P.containerInfo)));return;case 12:return;case 13:dD(P),C0(P);return;case 19:C0(P);return;case 17:return;case 23:case 24:AD(P,P.memoizedState!==null);return}throw Error(u(163))}switch(P.tag){case 0:case 11:case 14:case 15:case 22:wp(3,P);return;case 12:return;case 13:dD(P),C0(P);return;case 19:C0(P);return;case 3:X&&(Q=P.stateNode,Q.hydrate&&(Q.hydrate=!1,FA(Q.containerInfo)));break;case 23:case 24:return}e:if(z){switch(P.tag){case 1:case 5:case 6:case 20:break e;case 3:case 4:P=P.stateNode,bA(P.containerInfo,P.pendingChildren);break e}throw Error(u(163))}}function dD(v){v.memoizedState!==null&&(HI=Dt(),R&&AD(v.child,!0))}function C0(v){var P=v.updateQueue;if(P!==null){v.updateQueue=null;var Q=v.stateNode;Q===null&&(Q=v.stateNode=new GF),P.forEach(function(H){var Y=tR.bind(null,v,H);Q.has(H)||(Q.add(H),H.then(Y,Y))})}}function WF(v,P){return v!==null&&(v=v.memoizedState,v===null||v.dehydrated!==null)?(P=P.memoizedState,P!==null&&P.dehydrated===null):!1}var Od=0,Md=1,Ud=2,I0=3,_d=4;if(typeof Symbol=="function"&&Symbol.for){var w0=Symbol.for;Od=w0("selector.component"),Md=w0("selector.has_pseudo_class"),Ud=w0("selector.role"),I0=w0("selector.test_id"),_d=w0("selector.text")}function Hd(v){var P=$(v);if(P!=null){if(typeof P.memoizedProps["data-testname"]!="string")throw Error(u(364));return P}if(v=nr(v),v===null)throw Error(u(362));return v.stateNode.current}function bu(v,P){switch(P.$$typeof){case Od:if(v.type===P.value)return!0;break;case Md:e:{P=P.value,v=[v,0];for(var Q=0;Q<v.length;){var H=v[Q++],Y=v[Q++],ne=P[Y];if(H.tag!==5||!Pr(H)){for(;ne!=null&&bu(H,ne);)Y++,ne=P[Y];if(Y===P.length){P=!0;break e}else for(H=H.child;H!==null;)v.push(H,Y),H=H.sibling}}P=!1}return P;case Ud:if(v.tag===5&&yr(v.stateNode,P.value))return!0;break;case _d:if((v.tag===5||v.tag===6)&&(v=cn(v),v!==null&&0<=v.indexOf(P.value)))return!0;break;case I0:if(v.tag===5&&(v=v.memoizedProps["data-testname"],typeof v=="string"&&v.toLowerCase()===P.value.toLowerCase()))return!0;break;default:throw Error(u(365,P))}return!1}function xu(v){switch(v.$$typeof){case Od:return"<"+(g(v.value)||"Unknown")+">";case Md:return":has("+(xu(v)||"")+")";case Ud:return'[role="'+v.value+'"]';case _d:return'"'+v.value+'"';case I0:return'[data-testname="'+v.value+'"]';default:throw Error(u(365,v))}}function TI(v,P){var Q=[];v=[v,0];for(var H=0;H<v.length;){var Y=v[H++],ne=v[H++],Be=P[ne];if(Y.tag!==5||!Pr(Y)){for(;Be!=null&&bu(Y,Be);)ne++,Be=P[ne];if(ne===P.length)Q.push(Y);else for(Y=Y.child;Y!==null;)v.push(Y,ne),Y=Y.sibling}}return Q}function NI(v,P){if(!qt)throw Error(u(363));v=Hd(v),v=TI(v,P),P=[],v=Array.from(v);for(var Q=0;Q<v.length;){var H=v[Q++];if(H.tag===5)Pr(H)||P.push(H.stateNode);else for(H=H.child;H!==null;)v.push(H),H=H.sibling}return P}var qd=null;function YF(v){if(qd===null)try{var P=("require"+Math.random()).slice(0,7);qd=(DB&&DB[P]).call(DB,"timers").setImmediate}catch{qd=function(H){var Y=new MessageChannel;Y.port1.onmessage=H,Y.port2.postMessage(void 0)}}return qd(v)}var KF=Math.ceil,jd=A.ReactCurrentDispatcher,LI=A.ReactCurrentOwner,OI=A.IsSomeRendererActing,Sr=0,Os=null,Oi=null,ms=0,VA=0,MI=Ns(0),is=0,Gd=null,Bp=0,B0=0,vp=0,UI=0,_I=null,HI=0,qI=1/0;function ku(){qI=Dt()+500}var ir=null,Wd=!1,jI=null,xl=null,Qu=!1,v0=null,D0=90,GI=[],WI=[],xc=null,P0=0,YI=null,Yd=-1,kc=0,Kd=0,S0=null,b0=!1;function oo(){return Sr&48?Dt():Yd!==-1?Yd:Yd=Dt()}function ss(v){if(v=v.mode,!(v&2))return 1;if(!(v&4))return er()===99?1:2;if(kc===0&&(kc=Bp),wd.transition!==0){Kd!==0&&(Kd=_I!==null?_I.pendingLanes:0),v=kc;var P=4186112&~Kd;return P&=-P,P===0&&(v=4186112&~v,P=v&-v,P===0&&(P=8192)),P}return v=er(),Sr&4&&v===98?v=Ot(12,kc):(v=RA(v),v=Ot(v,kc)),v}function Xa(v,P,Q){if(50<P0)throw P0=0,YI=null,Error(u(185));if(v=Vd(v,P),v===null)return null;ua(v,P,Q),v===Os&&(vp|=P,is===4&&Dp(v,ms));var H=er();P===1?Sr&8&&!(Sr&48)?KI(v):(qo(v,Q),Sr===0&&(ku(),Pn())):(!(Sr&4)||H!==98&&H!==99||(xc===null?xc=new Set([v]):xc.add(v)),qo(v,Q)),_I=v}function Vd(v,P){v.lanes|=P;var Q=v.alternate;for(Q!==null&&(Q.lanes|=P),Q=v,v=v.return;v!==null;)v.childLanes|=P,Q=v.alternate,Q!==null&&(Q.childLanes|=P),Q=v,v=v.return;return Q.tag===3?Q.stateNode:null}function qo(v,P){for(var Q=v.callbackNode,H=v.suspendedLanes,Y=v.pingedLanes,ne=v.expirationTimes,Be=v.pendingLanes;0<Be;){var Ue=31-qi(Be),ft=1<<Ue,jt=ne[Ue];if(jt===-1){if(!(ft&H)||ft&Y){jt=P,Lo(ft);var wr=dn;ne[Ue]=10<=wr?jt+250:6<=wr?jt+5e3:-1}}else jt<=P&&(v.expiredLanes|=ft);Be&=~ft}if(H=Oo(v,v===Os?ms:0),P=dn,H===0)Q!==null&&(Q!==ar&&rs(Q),v.callbackNode=null,v.callbackPriority=0);else{if(Q!==null){if(v.callbackPriority===P)return;Q!==ar&&rs(Q)}P===15?(Q=KI.bind(null,v),ye===null?(ye=[Q],Le=Di(Dn,fa)):ye.push(Q),Q=ar):P===14?Q=Qi(99,KI.bind(null,v)):(Q=TA(P),Q=Qi(Q,mD.bind(null,v))),v.callbackPriority=P,v.callbackNode=Q}}function mD(v){if(Yd=-1,Kd=kc=0,Sr&48)throw Error(u(327));var P=v.callbackNode;if(Qc()&&v.callbackNode!==P)return null;var Q=Oo(v,v===Os?ms:0);if(Q===0)return null;var H=Q,Y=Sr;Sr|=16;var ne=ID();(Os!==v||ms!==H)&&(ku(),Pp(v,H));do try{zF();break}catch(Ue){CD(v,Ue)}while(!0);if(s0(),jd.current=ne,Sr=Y,Oi!==null?H=0:(Os=null,ms=0,H=is),Bp&vp)Pp(v,0);else if(H!==0){if(H===2&&(Sr|=64,v.hydrate&&(v.hydrate=!1,hs(v.containerInfo)),Q=qa(v),Q!==0&&(H=x0(v,Q))),H===1)throw P=Gd,Pp(v,0),Dp(v,Q),qo(v,Dt()),P;switch(v.finishedWork=v.current.alternate,v.finishedLanes=Q,H){case 0:case 1:throw Error(u(345));case 2:JA(v);break;case 3:if(Dp(v,Q),(Q&62914560)===Q&&(H=HI+500-Dt(),10<H)){if(Oo(v,0)!==0)break;if(Y=v.suspendedLanes,(Y&Q)!==Q){oo(),v.pingedLanes|=v.suspendedLanes&Y;break}v.timeoutHandle=b(JA.bind(null,v),H);break}JA(v);break;case 4:if(Dp(v,Q),(Q&4186112)===Q)break;for(H=v.eventTimes,Y=-1;0<Q;){var Be=31-qi(Q);ne=1<<Be,Be=H[Be],Be>Y&&(Y=Be),Q&=~ne}if(Q=Y,Q=Dt()-Q,Q=(120>Q?120:480>Q?480:1080>Q?1080:1920>Q?1920:3e3>Q?3e3:4320>Q?4320:1960*KF(Q/1960))-Q,10<Q){v.timeoutHandle=b(JA.bind(null,v),Q);break}JA(v);break;case 5:JA(v);break;default:throw Error(u(329))}}return qo(v,Dt()),v.callbackNode===P?mD.bind(null,v):null}function Dp(v,P){for(P&=~UI,P&=~vp,v.suspendedLanes|=P,v.pingedLanes&=~P,v=v.expirationTimes;0<P;){var Q=31-qi(P),H=1<<Q;v[Q]=-1,P&=~H}}function KI(v){if(Sr&48)throw Error(u(327));if(Qc(),v===Os&&v.expiredLanes&ms){var P=ms,Q=x0(v,P);Bp&vp&&(P=Oo(v,P),Q=x0(v,P))}else P=Oo(v,0),Q=x0(v,P);if(v.tag!==0&&Q===2&&(Sr|=64,v.hydrate&&(v.hydrate=!1,hs(v.containerInfo)),P=qa(v),P!==0&&(Q=x0(v,P))),Q===1)throw Q=Gd,Pp(v,0),Dp(v,P),qo(v,Dt()),Q;return v.finishedWork=v.current.alternate,v.finishedLanes=P,JA(v),qo(v,Dt()),null}function VF(){if(xc!==null){var v=xc;xc=null,v.forEach(function(P){P.expiredLanes|=24&P.pendingLanes,qo(P,Dt())})}Pn()}function yD(v,P){var Q=Sr;Sr|=1;try{return v(P)}finally{Sr=Q,Sr===0&&(ku(),Pn())}}function ED(v,P){var Q=Sr;if(Q&48)return v(P);Sr|=1;try{if(v)return ei(99,v.bind(null,P))}finally{Sr=Q,Pn()}}function Jd(v,P){Bn(MI,VA),VA|=P,Bp|=P}function VI(){VA=MI.current,Ft(MI)}function Pp(v,P){v.finishedWork=null,v.finishedLanes=0;var Q=v.timeoutHandle;if(Q!==S&&(v.timeoutHandle=S,I(Q)),Oi!==null)for(Q=Oi.return;Q!==null;){var H=Q;switch(H.tag){case 1:H=H.type.childContextTypes,H!=null&&Ec();break;case 3:Bc(),Ft(vi),Ft(ki),Dc();break;case 5:wt(H);break;case 4:Bc();break;case 13:Ft(oi);break;case 19:Ft(oi);break;case 10:a0(H);break;case 23:case 24:VI()}Q=Q.return}Os=v,Oi=Fc(v.current,null),ms=VA=Bp=P,is=0,Gd=null,UI=vp=B0=0}function CD(v,P){do{var Q=Oi;try{if(s0(),Bu.current=xt,HA){for(var H=On.memoizedState;H!==null;){var Y=H.queue;Y!==null&&(Y.pending=null),H=H.next}HA=!1}if(Pc=0,Ci=ji=On=null,vu=!1,LI.current=null,Q===null||Q.return===null){is=1,Gd=P,Oi=null;break}e:{var ne=v,Be=Q.return,Ue=Q,ft=P;if(P=ms,Ue.flags|=2048,Ue.firstEffect=Ue.lastEffect=null,ft!==null&&typeof ft=="object"&&typeof ft.then=="function"){var jt=ft;if(!(Ue.mode&2)){var wr=Ue.alternate;wr?(Ue.updateQueue=wr.updateQueue,Ue.memoizedState=wr.memoizedState,Ue.lanes=wr.lanes):(Ue.updateQueue=null,Ue.memoizedState=null)}var Tr=(oi.current&1)!==0,Xt=Be;do{var jn;if(jn=Xt.tag===13){var li=Xt.memoizedState;if(li!==null)jn=li.dehydrated!==null;else{var Ea=Xt.memoizedProps;jn=Ea.fallback===void 0?!1:Ea.unstable_avoidThisFallback!==!0?!0:!Tr}}if(jn){var $e=Xt.updateQueue;if($e===null){var je=new Set;je.add(jt),Xt.updateQueue=je}else $e.add(jt);if(!(Xt.mode&2)){if(Xt.flags|=64,Ue.flags|=16384,Ue.flags&=-2981,Ue.tag===1)if(Ue.alternate===null)Ue.tag=17;else{var pt=Wa(-1,1);pt.tag=2,Ya(Ue,pt)}Ue.lanes|=1;break e}ft=void 0,Ue=P;var zt=ne.pingCache;if(zt===null?(zt=ne.pingCache=new jF,ft=new Set,zt.set(jt,ft)):(ft=zt.get(jt),ft===void 0&&(ft=new Set,zt.set(jt,ft))),!ft.has(Ue)){ft.add(Ue);var Br=PD.bind(null,ne,jt,Ue);jt.then(Br,Br)}Xt.flags|=4096,Xt.lanes=P;break e}Xt=Xt.return}while(Xt!==null);ft=Error((g(Ue.type)||"A React component")+` suspended while rendering, but no fallback UI was specified. + +Add a <Suspense fallback=...> component higher in the tree to provide a loading indicator or placeholder to display.`)}is!==5&&(is=2),ft=m0(ft,Ue),Xt=Be;do{switch(Xt.tag){case 3:ne=ft,Xt.flags|=4096,P&=-P,Xt.lanes|=P;var Wn=xI(Xt,ne,P);Dd(Xt,Wn);break e;case 1:ne=ft;var br=Xt.type,Sn=Xt.stateNode;if(!(Xt.flags&64)&&(typeof br.getDerivedStateFromError=="function"||Sn!==null&&typeof Sn.componentDidCatch=="function"&&(xl===null||!xl.has(Sn)))){Xt.flags|=4096,P&=-P,Xt.lanes|=P;var Tn=E0(Xt,ne,P);Dd(Xt,Tn);break e}}Xt=Xt.return}while(Xt!==null)}BD(Q)}catch(Yr){P=Yr,Oi===Q&&Q!==null&&(Oi=Q=Q.return);continue}break}while(!0)}function ID(){var v=jd.current;return jd.current=xt,v===null?xt:v}function x0(v,P){var Q=Sr;Sr|=16;var H=ID();Os===v&&ms===P||Pp(v,P);do try{JF();break}catch(Y){CD(v,Y)}while(!0);if(s0(),Sr=Q,jd.current=H,Oi!==null)throw Error(u(261));return Os=null,ms=0,is}function JF(){for(;Oi!==null;)wD(Oi)}function zF(){for(;Oi!==null&&!ja();)wD(Oi)}function wD(v){var P=SD(v.alternate,v,VA);v.memoizedProps=v.pendingProps,P===null?BD(v):Oi=P,LI.current=null}function BD(v){var P=v;do{var Q=P.alternate;if(v=P.return,P.flags&2048){if(Q=qF(P),Q!==null){Q.flags&=2047,Oi=Q;return}v!==null&&(v.firstEffect=v.lastEffect=null,v.flags|=2048)}else{if(Q=HF(Q,P,VA),Q!==null){Oi=Q;return}if(Q=P,Q.tag!==24&&Q.tag!==23||Q.memoizedState===null||VA&1073741824||!(Q.mode&4)){for(var H=0,Y=Q.child;Y!==null;)H|=Y.lanes|Y.childLanes,Y=Y.sibling;Q.childLanes=H}v!==null&&!(v.flags&2048)&&(v.firstEffect===null&&(v.firstEffect=P.firstEffect),P.lastEffect!==null&&(v.lastEffect!==null&&(v.lastEffect.nextEffect=P.firstEffect),v.lastEffect=P.lastEffect),1<P.flags&&(v.lastEffect!==null?v.lastEffect.nextEffect=P:v.firstEffect=P,v.lastEffect=P))}if(P=P.sibling,P!==null){Oi=P;return}Oi=P=v}while(P!==null);is===0&&(is=5)}function JA(v){var P=er();return ei(99,XF.bind(null,v,P)),null}function XF(v,P){do Qc();while(v0!==null);if(Sr&48)throw Error(u(327));var Q=v.finishedWork;if(Q===null)return null;if(v.finishedWork=null,v.finishedLanes=0,Q===v.current)throw Error(u(177));v.callbackNode=null;var H=Q.lanes|Q.childLanes,Y=H,ne=v.pendingLanes&~Y;v.pendingLanes=Y,v.suspendedLanes=0,v.pingedLanes=0,v.expiredLanes&=Y,v.mutableReadLanes&=Y,v.entangledLanes&=Y,Y=v.entanglements;for(var Be=v.eventTimes,Ue=v.expirationTimes;0<ne;){var ft=31-qi(ne),jt=1<<ft;Y[ft]=0,Be[ft]=-1,Ue[ft]=-1,ne&=~jt}if(xc!==null&&!(H&24)&&xc.has(v)&&xc.delete(v),v===Os&&(Oi=Os=null,ms=0),1<Q.flags?Q.lastEffect!==null?(Q.lastEffect.nextEffect=Q,H=Q.firstEffect):H=Q:H=Q.firstEffect,H!==null){Y=Sr,Sr|=32,LI.current=null,S0=nt(v.containerInfo),b0=!1,ir=H;do try{ZF()}catch(je){if(ir===null)throw Error(u(330));Fu(ir,je),ir=ir.nextEffect}while(ir!==null);S0=null,ir=H;do try{for(Be=v;ir!==null;){var wr=ir.flags;if(wr&16&&R&&gu(ir.stateNode),wr&128){var Tr=ir.alternate;if(Tr!==null){var Xt=Tr.ref;Xt!==null&&(typeof Xt=="function"?Xt(null):Xt.current=null)}}switch(wr&1038){case 2:hD(ir),ir.flags&=-3;break;case 6:hD(ir),ir.flags&=-3,RI(ir.alternate,ir);break;case 1024:ir.flags&=-1025;break;case 1028:ir.flags&=-1025,RI(ir.alternate,ir);break;case 4:RI(ir.alternate,ir);break;case 8:Ue=Be,ne=ir,R?gD(Ue,ne):fD(Ue,ne);var jn=ne.alternate;Ld(ne),jn!==null&&Ld(jn)}ir=ir.nextEffect}}catch(je){if(ir===null)throw Error(u(330));Fu(ir,je),ir=ir.nextEffect}while(ir!==null);b0&<(),Ne(v.containerInfo),v.current=Q,ir=H;do try{for(wr=v;ir!==null;){var li=ir.flags;if(li&36&&uD(wr,ir.alternate,ir),li&128){Tr=void 0;var Ea=ir.ref;if(Ea!==null){var $e=ir.stateNode;switch(ir.tag){case 5:Tr=Re($e);break;default:Tr=$e}typeof Ea=="function"?Ea(Tr):Ea.current=Tr}}ir=ir.nextEffect}}catch(je){if(ir===null)throw Error(u(330));Fu(ir,je),ir=ir.nextEffect}while(ir!==null);ir=null,ee(),Sr=Y}else v.current=Q;if(Qu)Qu=!1,v0=v,D0=P;else for(ir=H;ir!==null;)P=ir.nextEffect,ir.nextEffect=null,ir.flags&8&&(li=ir,li.sibling=null,li.stateNode=null),ir=P;if(H=v.pendingLanes,H===0&&(xl=null),H===1?v===YI?P0++:(P0=0,YI=v):P0=0,Q=Q.stateNode,ca&&typeof ca.onCommitFiberRoot=="function")try{ca.onCommitFiberRoot(Ze,Q,void 0,(Q.current.flags&64)===64)}catch{}if(qo(v,Dt()),Wd)throw Wd=!1,v=jI,jI=null,v;return Sr&8||Pn(),null}function ZF(){for(;ir!==null;){var v=ir.alternate;b0||S0===null||(ir.flags&8?Pe(ir,S0)&&(b0=!0,Fe()):ir.tag===13&&WF(v,ir)&&Pe(ir,S0)&&(b0=!0,Fe()));var P=ir.flags;P&256&&Td(v,ir),!(P&512)||Qu||(Qu=!0,Qi(97,function(){return Qc(),null})),ir=ir.nextEffect}}function Qc(){if(D0!==90){var v=97<D0?97:D0;return D0=90,ei(v,eR)}return!1}function $F(v,P){GI.push(P,v),Qu||(Qu=!0,Qi(97,function(){return Qc(),null}))}function vD(v,P){WI.push(P,v),Qu||(Qu=!0,Qi(97,function(){return Qc(),null}))}function eR(){if(v0===null)return!1;var v=v0;if(v0=null,Sr&48)throw Error(u(331));var P=Sr;Sr|=32;var Q=WI;WI=[];for(var H=0;H<Q.length;H+=2){var Y=Q[H],ne=Q[H+1],Be=Y.destroy;if(Y.destroy=void 0,typeof Be=="function")try{Be()}catch(ft){if(ne===null)throw Error(u(330));Fu(ne,ft)}}for(Q=GI,GI=[],H=0;H<Q.length;H+=2){Y=Q[H],ne=Q[H+1];try{var Ue=Y.create;Y.destroy=Ue()}catch(ft){if(ne===null)throw Error(u(330));Fu(ne,ft)}}for(Ue=v.current.firstEffect;Ue!==null;)v=Ue.nextEffect,Ue.nextEffect=null,Ue.flags&8&&(Ue.sibling=null,Ue.stateNode=null),Ue=v;return Sr=P,Pn(),!0}function DD(v,P,Q){P=m0(Q,P),P=xI(v,P,1),Ya(v,P),P=oo(),v=Vd(v,1),v!==null&&(ua(v,1,P),qo(v,P))}function Fu(v,P){if(v.tag===3)DD(v,v,P);else for(var Q=v.return;Q!==null;){if(Q.tag===3){DD(Q,v,P);break}else if(Q.tag===1){var H=Q.stateNode;if(typeof Q.type.getDerivedStateFromError=="function"||typeof H.componentDidCatch=="function"&&(xl===null||!xl.has(H))){v=m0(P,v);var Y=E0(Q,v,1);if(Ya(Q,Y),Y=oo(),Q=Vd(Q,1),Q!==null)ua(Q,1,Y),qo(Q,Y);else if(typeof H.componentDidCatch=="function"&&(xl===null||!xl.has(H)))try{H.componentDidCatch(P,v)}catch{}break}}Q=Q.return}}function PD(v,P,Q){var H=v.pingCache;H!==null&&H.delete(P),P=oo(),v.pingedLanes|=v.suspendedLanes&Q,Os===v&&(ms&Q)===Q&&(is===4||is===3&&(ms&62914560)===ms&&500>Dt()-HI?Pp(v,0):UI|=Q),qo(v,P)}function tR(v,P){var Q=v.stateNode;Q!==null&&Q.delete(P),P=0,P===0&&(P=v.mode,P&2?P&4?(kc===0&&(kc=Bp),P=vn(62914560&~kc),P===0&&(P=4194304)):P=er()===99?1:2:P=1),Q=oo(),v=Vd(v,P),v!==null&&(ua(v,P,Q),qo(v,Q))}var SD;SD=function(v,P,Q){var H=P.lanes;if(v!==null)if(v.memoizedProps!==P.pendingProps||vi.current)Ye=!0;else if(Q&H)Ye=!!(v.flags&16384);else{switch(Ye=!1,P.tag){case 3:Fd(P),p0();break;case 5:wu(P);break;case 1:qn(P.type)&&aa(P);break;case 4:u0(P,P.stateNode.containerInfo);break;case 10:o0(P,P.memoizedProps.value);break;case 13:if(P.memoizedState!==null)return Q&P.child.childLanes?SI(v,P,Q):(Bn(oi,oi.current&1),P=Mn(v,P,Q),P!==null?P.sibling:null);Bn(oi,oi.current&1);break;case 19:if(H=(Q&P.childLanes)!==0,v.flags&64){if(H)return cD(v,P,Q);P.flags|=64}var Y=P.memoizedState;if(Y!==null&&(Y.rendering=null,Y.tail=null,Y.lastEffect=null),Bn(oi,oi.current),H)break;return null;case 23:case 24:return P.lanes=0,ai(v,P,Q)}return Mn(v,P,Q)}else Ye=!1;switch(P.lanes=0,P.tag){case 2:if(H=P.type,v!==null&&(v.alternate=null,P.alternate=null,P.flags|=2),v=P.pendingProps,Y=un(P,ki.current),Eu(P,Q),Y=g0(null,P,H,v,Y,Q),P.flags|=1,typeof Y=="object"&&Y!==null&&typeof Y.render=="function"&&Y.$$typeof===void 0){if(P.tag=1,P.memoizedState=null,P.updateQueue=null,qn(H)){var ne=!0;aa(P)}else ne=!1;P.memoizedState=Y.state!==null&&Y.state!==void 0?Y.state:null,pp(P);var Be=H.getDerivedStateFromProps;typeof Be=="function"&&LA(P,H,Be,v),Y.updater=OA,P.stateNode=Y,Y._reactInternals=P,no(P,H,v,Q),P=PI(null,P,H,!0,ne,Q)}else P.tag=0,At(null,P,Y,Q),P=P.child;return P;case 16:Y=P.elementType;e:{switch(v!==null&&(v.alternate=null,P.alternate=null,P.flags|=2),v=P.pendingProps,ne=Y._init,Y=ne(Y._payload),P.type=Y,ne=P.tag=nR(Y),v=to(Y,v),ne){case 0:P=GA(null,P,Y,v,Q);break e;case 1:P=lD(null,P,Y,v,Q);break e;case 11:P=hr(null,P,Y,v,Q);break e;case 14:P=Ir(null,P,Y,to(Y.type,v),H,Q);break e}throw Error(u(306,Y,""))}return P;case 0:return H=P.type,Y=P.pendingProps,Y=P.elementType===H?Y:to(H,Y),GA(v,P,H,Y,Q);case 1:return H=P.type,Y=P.pendingProps,Y=P.elementType===H?Y:to(H,Y),lD(v,P,H,Y,Q);case 3:if(Fd(P),H=P.updateQueue,v===null||H===null)throw Error(u(282));if(H=P.pendingProps,Y=P.memoizedState,Y=Y!==null?Y.element:null,l0(v,P),NA(P,H,null,Q),H=P.memoizedState.element,H===Y)p0(),P=Mn(v,P,Q);else{if(Y=P.stateNode,(ne=Y.hydrate)&&(X?(Uo=dc(P.stateNode.containerInfo),ha=P,ne=ga=!0):ne=!1),ne){if(X&&(v=Y.mutableSourceEagerHydrationData,v!=null))for(Y=0;Y<v.length;Y+=2)ne=v[Y],Be=v[Y+1],y?ne._workInProgressVersionPrimary=Be:ne._workInProgressVersionSecondary=Be,vc.push(ne);for(Q=DI(P,null,H,Q),P.child=Q;Q;)Q.flags=Q.flags&-3|1024,Q=Q.sibling}else At(v,P,H,Q),p0();P=P.child}return P;case 5:return wu(P),v===null&&f0(P),H=P.type,Y=P.pendingProps,ne=v!==null?v.memoizedProps:null,Be=Y.children,tt(H,Y)?Be=null:ne!==null&&tt(H,ne)&&(P.flags|=16),ns(v,P),At(v,P,Be,Q),P.child;case 6:return v===null&&f0(P),null;case 13:return SI(v,P,Q);case 4:return u0(P,P.stateNode.containerInfo),H=P.pendingProps,v===null?P.child=c0(P,null,H,Q):At(v,P,H,Q),P.child;case 11:return H=P.type,Y=P.pendingProps,Y=P.elementType===H?Y:to(H,Y),hr(v,P,H,Y,Q);case 7:return At(v,P,P.pendingProps,Q),P.child;case 8:return At(v,P,P.pendingProps.children,Q),P.child;case 12:return At(v,P,P.pendingProps.children,Q),P.child;case 10:e:{if(H=P.type._context,Y=P.pendingProps,Be=P.memoizedProps,ne=Y.value,o0(P,ne),Be!==null){var Ue=Be.value;if(ne=eo(Ue,ne)?0:(typeof H._calculateChangedBits=="function"?H._calculateChangedBits(Ue,ne):1073741823)|0,ne===0){if(Be.children===Y.children&&!vi.current){P=Mn(v,P,Q);break e}}else for(Ue=P.child,Ue!==null&&(Ue.return=P);Ue!==null;){var ft=Ue.dependencies;if(ft!==null){Be=Ue.child;for(var jt=ft.firstContext;jt!==null;){if(jt.context===H&&jt.observedBits&ne){Ue.tag===1&&(jt=Wa(-1,Q&-Q),jt.tag=2,Ya(Ue,jt)),Ue.lanes|=Q,jt=Ue.alternate,jt!==null&&(jt.lanes|=Q),vd(Ue.return,Q),ft.lanes|=Q;break}jt=jt.next}}else Be=Ue.tag===10&&Ue.type===P.type?null:Ue.child;if(Be!==null)Be.return=Ue;else for(Be=Ue;Be!==null;){if(Be===P){Be=null;break}if(Ue=Be.sibling,Ue!==null){Ue.return=Be.return,Be=Ue;break}Be=Be.return}Ue=Be}}At(v,P,Y.children,Q),P=P.child}return P;case 9:return Y=P.type,ne=P.pendingProps,H=ne.children,Eu(P,Q),Y=ro(Y,ne.unstable_observedBits),H=H(Y),P.flags|=1,At(v,P,H,Q),P.child;case 14:return Y=P.type,ne=to(Y,P.pendingProps),ne=to(Y.type,ne),Ir(v,P,Y,ne,H,Q);case 15:return Rn(v,P,P.type,P.pendingProps,H,Q);case 17:return H=P.type,Y=P.pendingProps,Y=P.elementType===H?Y:to(H,Y),v!==null&&(v.alternate=null,P.alternate=null,P.flags|=2),P.tag=1,qn(H)?(v=!0,aa(P)):v=!1,Eu(P,Q),bt(P,H,Y),no(P,H,Y,Q),PI(null,P,H,!0,v,Q);case 19:return cD(v,P,Q);case 23:return ai(v,P,Q);case 24:return ai(v,P,Q)}throw Error(u(156,P.tag))};var zd={current:!1},ys=n.unstable_flushAllWithoutAsserting,bD=typeof ys=="function";function JI(){if(ys!==void 0)return ys();for(var v=!1;Qc();)v=!0;return v}function jo(v){try{JI(),YF(function(){JI()?jo(v):v()})}catch(P){v(P)}}var ma=0,Xd=!1;function rR(v,P,Q,H){this.tag=v,this.key=Q,this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null,this.index=0,this.ref=null,this.pendingProps=P,this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null,this.mode=H,this.flags=0,this.lastEffect=this.firstEffect=this.nextEffect=null,this.childLanes=this.lanes=0,this.alternate=null}function ya(v,P,Q,H){return new rR(v,P,Q,H)}function zI(v){return v=v.prototype,!(!v||!v.isReactComponent)}function nR(v){if(typeof v=="function")return zI(v)?1:0;if(v!=null){if(v=v.$$typeof,v===T)return 11;if(v===J)return 14}return 2}function Fc(v,P){var Q=v.alternate;return Q===null?(Q=ya(v.tag,P,v.key,v.mode),Q.elementType=v.elementType,Q.type=v.type,Q.stateNode=v.stateNode,Q.alternate=v,v.alternate=Q):(Q.pendingProps=P,Q.type=v.type,Q.flags=0,Q.nextEffect=null,Q.firstEffect=null,Q.lastEffect=null),Q.childLanes=v.childLanes,Q.lanes=v.lanes,Q.child=v.child,Q.memoizedProps=v.memoizedProps,Q.memoizedState=v.memoizedState,Q.updateQueue=v.updateQueue,P=v.dependencies,Q.dependencies=P===null?null:{lanes:P.lanes,firstContext:P.firstContext},Q.sibling=v.sibling,Q.index=v.index,Q.ref=v.ref,Q}function k0(v,P,Q,H,Y,ne){var Be=2;if(H=v,typeof v=="function")zI(v)&&(Be=1);else if(typeof v=="string")Be=5;else e:switch(v){case E:return Ru(Q.children,Y,ne,P);case ce:Be=8,Y|=16;break;case w:Be=8,Y|=1;break;case D:return v=ya(12,Q,P,Y|8),v.elementType=D,v.type=D,v.lanes=ne,v;case L:return v=ya(13,Q,P,Y),v.type=L,v.elementType=L,v.lanes=ne,v;case U:return v=ya(19,Q,P,Y),v.elementType=U,v.lanes=ne,v;case ue:return XI(Q,Y,ne,P);case Ie:return v=ya(24,Q,P,Y),v.elementType=Ie,v.lanes=ne,v;default:if(typeof v=="object"&&v!==null)switch(v.$$typeof){case x:Be=10;break e;case C:Be=9;break e;case T:Be=11;break e;case J:Be=14;break e;case te:Be=16,H=null;break e;case le:Be=22;break e}throw Error(u(130,v==null?v:typeof v,""))}return P=ya(Be,Q,P,Y),P.elementType=v,P.type=H,P.lanes=ne,P}function Ru(v,P,Q,H){return v=ya(7,v,H,P),v.lanes=Q,v}function XI(v,P,Q,H){return v=ya(23,v,H,P),v.elementType=ue,v.lanes=Q,v}function ZI(v,P,Q){return v=ya(6,v,null,P),v.lanes=Q,v}function ao(v,P,Q){return P=ya(4,v.children!==null?v.children:[],v.key,P),P.lanes=Q,P.stateNode={containerInfo:v.containerInfo,pendingChildren:null,implementation:v.implementation},P}function iR(v,P,Q){this.tag=P,this.containerInfo=v,this.finishedWork=this.pingCache=this.current=this.pendingChildren=null,this.timeoutHandle=S,this.pendingContext=this.context=null,this.hydrate=Q,this.callbackNode=null,this.callbackPriority=0,this.eventTimes=Mo(0),this.expirationTimes=Mo(-1),this.entangledLanes=this.finishedLanes=this.mutableReadLanes=this.expiredLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=Mo(0),X&&(this.mutableSourceEagerHydrationData=null)}function xD(v){var P=v._reactInternals;if(P===void 0)throw typeof v.render=="function"?Error(u(188)):Error(u(268,Object.keys(v)));return v=ie(P),v===null?null:v.stateNode}function kD(v,P){if(v=v.memoizedState,v!==null&&v.dehydrated!==null){var Q=v.retryLane;v.retryLane=Q!==0&&Q<P?Q:P}}function Zd(v,P){kD(v,P),(v=v.alternate)&&kD(v,P)}function sR(v){return v=ie(v),v===null?null:v.stateNode}function oR(){return null}return r.IsThisRendererActing=zd,r.act=function(v){function P(){ma--,OI.current=Q,zd.current=H}Xd===!1&&(Xd=!0,console.error("act(...) is not supported in production builds of React, and might not behave as expected.")),ma++;var Q=OI.current,H=zd.current;OI.current=!0,zd.current=!0;try{var Y=yD(v)}catch(ne){throw P(),ne}if(Y!==null&&typeof Y=="object"&&typeof Y.then=="function")return{then:function(ne,Be){Y.then(function(){1<ma||bD===!0&&Q===!0?(P(),ne()):jo(function(Ue){P(),Ue?Be(Ue):ne()})},function(Ue){P(),Be(Ue)})}};try{ma!==1||bD!==!1&&Q!==!1||JI(),P()}catch(ne){throw P(),ne}return{then:function(ne){ne()}}},r.attemptContinuousHydration=function(v){if(v.tag===13){var P=oo();Xa(v,67108864,P),Zd(v,67108864)}},r.attemptHydrationAtCurrentPriority=function(v){if(v.tag===13){var P=oo(),Q=ss(v);Xa(v,Q,P),Zd(v,Q)}},r.attemptSynchronousHydration=function(v){switch(v.tag){case 3:var P=v.stateNode;if(P.hydrate){var Q=Lo(P.pendingLanes);P.expiredLanes|=Q&P.pendingLanes,qo(P,Dt()),!(Sr&48)&&(ku(),Pn())}break;case 13:var H=oo();ED(function(){return Xa(v,1,H)}),Zd(v,4)}},r.attemptUserBlockingHydration=function(v){if(v.tag===13){var P=oo();Xa(v,4,P),Zd(v,4)}},r.batchedEventUpdates=function(v,P){var Q=Sr;Sr|=2;try{return v(P)}finally{Sr=Q,Sr===0&&(ku(),Pn())}},r.batchedUpdates=yD,r.createComponentSelector=function(v){return{$$typeof:Od,value:v}},r.createContainer=function(v,P,Q){return v=new iR(v,P,Q),P=ya(3,null,null,P===2?7:P===1?3:0),v.current=P,P.stateNode=v,pp(P),v},r.createHasPsuedoClassSelector=function(v){return{$$typeof:Md,value:v}},r.createPortal=function(v,P,Q){var H=3<arguments.length&&arguments[3]!==void 0?arguments[3]:null;return{$$typeof:h,key:H==null?null:""+H,children:v,containerInfo:P,implementation:Q}},r.createRoleSelector=function(v){return{$$typeof:Ud,value:v}},r.createTestNameSelector=function(v){return{$$typeof:I0,value:v}},r.createTextSelector=function(v){return{$$typeof:_d,value:v}},r.deferredUpdates=function(v){return ei(97,v)},r.discreteUpdates=function(v,P,Q,H,Y){var ne=Sr;Sr|=4;try{return ei(98,v.bind(null,P,Q,H,Y))}finally{Sr=ne,Sr===0&&(ku(),Pn())}},r.findAllNodes=NI,r.findBoundingRects=function(v,P){if(!qt)throw Error(u(363));P=NI(v,P),v=[];for(var Q=0;Q<P.length;Q++)v.push(St(P[Q]));for(P=v.length-1;0<P;P--){Q=v[P];for(var H=Q.x,Y=H+Q.width,ne=Q.y,Be=ne+Q.height,Ue=P-1;0<=Ue;Ue--)if(P!==Ue){var ft=v[Ue],jt=ft.x,wr=jt+ft.width,Tr=ft.y,Xt=Tr+ft.height;if(H>=jt&&ne>=Tr&&Y<=wr&&Be<=Xt){v.splice(P,1);break}else if(H!==jt||Q.width!==ft.width||Xt<ne||Tr>Be){if(!(ne!==Tr||Q.height!==ft.height||wr<H||jt>Y)){jt>H&&(ft.width+=jt-H,ft.x=H),wr<Y&&(ft.width=Y-jt),v.splice(P,1);break}}else{Tr>ne&&(ft.height+=Tr-ne,ft.y=ne),Xt<Be&&(ft.height=Be-Tr),v.splice(P,1);break}}}return v},r.findHostInstance=xD,r.findHostInstanceWithNoPortals=function(v){return v=Z(v),v===null?null:v.tag===20?v.stateNode.instance:v.stateNode},r.findHostInstanceWithWarning=function(v){return xD(v)},r.flushControlled=function(v){var P=Sr;Sr|=1;try{ei(99,v)}finally{Sr=P,Sr===0&&(ku(),Pn())}},r.flushDiscreteUpdates=function(){!(Sr&49)&&(VF(),Qc())},r.flushPassiveEffects=Qc,r.flushSync=ED,r.focusWithin=function(v,P){if(!qt)throw Error(u(363));for(v=Hd(v),P=TI(v,P),P=Array.from(P),v=0;v<P.length;){var Q=P[v++];if(!Pr(Q)){if(Q.tag===5&&Rr(Q.stateNode))return!0;for(Q=Q.child;Q!==null;)P.push(Q),Q=Q.sibling}}return!1},r.getCurrentUpdateLanePriority=function(){return Bl},r.getFindAllNodesFailureDescription=function(v,P){if(!qt)throw Error(u(363));var Q=0,H=[];v=[Hd(v),0];for(var Y=0;Y<v.length;){var ne=v[Y++],Be=v[Y++],Ue=P[Be];if((ne.tag!==5||!Pr(ne))&&(bu(ne,Ue)&&(H.push(xu(Ue)),Be++,Be>Q&&(Q=Be)),Be<P.length))for(ne=ne.child;ne!==null;)v.push(ne,Be),ne=ne.sibling}if(Q<P.length){for(v=[];Q<P.length;Q++)v.push(xu(P[Q]));return`findAllNodes was able to match part of the selector: + `+(H.join(" > ")+` + +No matching component was found for: + `)+v.join(" > ")}return null},r.getPublicRootInstance=function(v){if(v=v.current,!v.child)return null;switch(v.child.tag){case 5:return Re(v.child.stateNode);default:return v.child.stateNode}},r.injectIntoDevTools=function(v){if(v={bundleType:v.bundleType,version:v.version,rendererPackageName:v.rendererPackageName,rendererConfig:v.rendererConfig,overrideHookState:null,overrideHookStateDeletePath:null,overrideHookStateRenamePath:null,overrideProps:null,overridePropsDeletePath:null,overridePropsRenamePath:null,setSuspenseHandler:null,scheduleUpdate:null,currentDispatcherRef:A.ReactCurrentDispatcher,findHostInstanceByFiber:sR,findFiberByHostInstance:v.findFiberByHostInstance||oR,findHostInstancesForRefresh:null,scheduleRefresh:null,scheduleRoot:null,setRefreshHandler:null,getCurrentFiber:null},typeof __REACT_DEVTOOLS_GLOBAL_HOOK__>"u")v=!1;else{var P=__REACT_DEVTOOLS_GLOBAL_HOOK__;if(!P.isDisabled&&P.supportsFiber)try{Ze=P.inject(v),ca=P}catch{}v=!0}return v},r.observeVisibleRects=function(v,P,Q,H){if(!qt)throw Error(u(363));v=NI(v,P);var Y=Xr(v,Q,H).disconnect;return{disconnect:function(){Y()}}},r.registerMutableSourceForHydration=function(v,P){var Q=P._getVersion;Q=Q(P._source),v.mutableSourceEagerHydrationData==null?v.mutableSourceEagerHydrationData=[P,Q]:v.mutableSourceEagerHydrationData.push(P,Q)},r.runWithPriority=function(v,P){var Q=Bl;try{return Bl=v,P()}finally{Bl=Q}},r.shouldSuspend=function(){return!1},r.unbatchedUpdates=function(v,P){var Q=Sr;Sr&=-2,Sr|=8;try{return v(P)}finally{Sr=Q,Sr===0&&(ku(),Pn())}},r.updateContainer=function(v,P,Q,H){var Y=P.current,ne=oo(),Be=ss(Y);e:if(Q){Q=Q._reactInternals;t:{if(me(Q)!==Q||Q.tag!==1)throw Error(u(170));var Ue=Q;do{switch(Ue.tag){case 3:Ue=Ue.stateNode.context;break t;case 1:if(qn(Ue.type)){Ue=Ue.stateNode.__reactInternalMemoizedMergedChildContext;break t}}Ue=Ue.return}while(Ue!==null);throw Error(u(171))}if(Q.tag===1){var ft=Q.type;if(qn(ft)){Q=oa(Q,ft,Ue);break e}}Q=Ue}else Q=No;return P.context===null?P.context=Q:P.pendingContext=Q,P=Wa(ne,Be),P.payload={element:v},H=H===void 0?null:H,H!==null&&(P.callback=H),Ya(Y,P),Xa(Y,Be,ne),Be},r}});var ECe=_(($Yt,yCe)=>{"use strict";yCe.exports=mCe()});var ICe=_((eKt,CCe)=>{"use strict";var Pyt={ALIGN_COUNT:8,ALIGN_AUTO:0,ALIGN_FLEX_START:1,ALIGN_CENTER:2,ALIGN_FLEX_END:3,ALIGN_STRETCH:4,ALIGN_BASELINE:5,ALIGN_SPACE_BETWEEN:6,ALIGN_SPACE_AROUND:7,DIMENSION_COUNT:2,DIMENSION_WIDTH:0,DIMENSION_HEIGHT:1,DIRECTION_COUNT:3,DIRECTION_INHERIT:0,DIRECTION_LTR:1,DIRECTION_RTL:2,DISPLAY_COUNT:2,DISPLAY_FLEX:0,DISPLAY_NONE:1,EDGE_COUNT:9,EDGE_LEFT:0,EDGE_TOP:1,EDGE_RIGHT:2,EDGE_BOTTOM:3,EDGE_START:4,EDGE_END:5,EDGE_HORIZONTAL:6,EDGE_VERTICAL:7,EDGE_ALL:8,EXPERIMENTAL_FEATURE_COUNT:1,EXPERIMENTAL_FEATURE_WEB_FLEX_BASIS:0,FLEX_DIRECTION_COUNT:4,FLEX_DIRECTION_COLUMN:0,FLEX_DIRECTION_COLUMN_REVERSE:1,FLEX_DIRECTION_ROW:2,FLEX_DIRECTION_ROW_REVERSE:3,JUSTIFY_COUNT:6,JUSTIFY_FLEX_START:0,JUSTIFY_CENTER:1,JUSTIFY_FLEX_END:2,JUSTIFY_SPACE_BETWEEN:3,JUSTIFY_SPACE_AROUND:4,JUSTIFY_SPACE_EVENLY:5,LOG_LEVEL_COUNT:6,LOG_LEVEL_ERROR:0,LOG_LEVEL_WARN:1,LOG_LEVEL_INFO:2,LOG_LEVEL_DEBUG:3,LOG_LEVEL_VERBOSE:4,LOG_LEVEL_FATAL:5,MEASURE_MODE_COUNT:3,MEASURE_MODE_UNDEFINED:0,MEASURE_MODE_EXACTLY:1,MEASURE_MODE_AT_MOST:2,NODE_TYPE_COUNT:2,NODE_TYPE_DEFAULT:0,NODE_TYPE_TEXT:1,OVERFLOW_COUNT:3,OVERFLOW_VISIBLE:0,OVERFLOW_HIDDEN:1,OVERFLOW_SCROLL:2,POSITION_TYPE_COUNT:2,POSITION_TYPE_RELATIVE:0,POSITION_TYPE_ABSOLUTE:1,PRINT_OPTIONS_COUNT:3,PRINT_OPTIONS_LAYOUT:1,PRINT_OPTIONS_STYLE:2,PRINT_OPTIONS_CHILDREN:4,UNIT_COUNT:4,UNIT_UNDEFINED:0,UNIT_POINT:1,UNIT_PERCENT:2,UNIT_AUTO:3,WRAP_COUNT:3,WRAP_NO_WRAP:0,WRAP_WRAP:1,WRAP_WRAP_REVERSE:2};CCe.exports=Pyt});var DCe=_((tKt,vCe)=>{"use strict";var Syt=Object.assign||function(t){for(var e=1;e<arguments.length;e++){var r=arguments[e];for(var o in r)Object.prototype.hasOwnProperty.call(r,o)&&(t[o]=r[o])}return t},BQ=function(){function t(e,r){for(var o=0;o<r.length;o++){var a=r[o];a.enumerable=a.enumerable||!1,a.configurable=!0,"value"in a&&(a.writable=!0),Object.defineProperty(e,a.key,a)}}return function(e,r,o){return r&&t(e.prototype,r),o&&t(e,o),e}}();function Aq(t,e,r){return e in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}function fq(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}var au=ICe(),byt=function(){function t(e,r,o,a,n,u){fq(this,t),this.left=e,this.right=r,this.top=o,this.bottom=a,this.width=n,this.height=u}return BQ(t,[{key:"fromJS",value:function(r){r(this.left,this.right,this.top,this.bottom,this.width,this.height)}},{key:"toString",value:function(){return"<Layout#"+this.left+":"+this.right+";"+this.top+":"+this.bottom+";"+this.width+":"+this.height+">"}}]),t}(),wCe=function(){BQ(t,null,[{key:"fromJS",value:function(r){var o=r.width,a=r.height;return new t(o,a)}}]);function t(e,r){fq(this,t),this.width=e,this.height=r}return BQ(t,[{key:"fromJS",value:function(r){r(this.width,this.height)}},{key:"toString",value:function(){return"<Size#"+this.width+"x"+this.height+">"}}]),t}(),BCe=function(){function t(e,r){fq(this,t),this.unit=e,this.value=r}return BQ(t,[{key:"fromJS",value:function(r){r(this.unit,this.value)}},{key:"toString",value:function(){switch(this.unit){case au.UNIT_POINT:return String(this.value);case au.UNIT_PERCENT:return this.value+"%";case au.UNIT_AUTO:return"auto";default:return this.value+"?"}}},{key:"valueOf",value:function(){return this.value}}]),t}();vCe.exports=function(t,e){function r(u,A,p){var h=u[A];u[A]=function(){for(var E=arguments.length,w=Array(E),D=0;D<E;D++)w[D]=arguments[D];return p.call.apply(p,[this,h].concat(w))}}for(var o=["setPosition","setMargin","setFlexBasis","setWidth","setHeight","setMinWidth","setMinHeight","setMaxWidth","setMaxHeight","setPadding"],a=function(){var A,p=o[n],h=(A={},Aq(A,au.UNIT_POINT,e.Node.prototype[p]),Aq(A,au.UNIT_PERCENT,e.Node.prototype[p+"Percent"]),Aq(A,au.UNIT_AUTO,e.Node.prototype[p+"Auto"]),A);r(e.Node.prototype,p,function(E){for(var w=arguments.length,D=Array(w>1?w-1:0),x=1;x<w;x++)D[x-1]=arguments[x];var C=D.pop(),T=void 0,L=void 0;if(C==="auto")T=au.UNIT_AUTO,L=void 0;else if(C instanceof BCe)T=C.unit,L=C.valueOf();else if(T=typeof C=="string"&&C.endsWith("%")?au.UNIT_PERCENT:au.UNIT_POINT,L=parseFloat(C),!Number.isNaN(C)&&Number.isNaN(L))throw new Error("Invalid value "+C+" for "+p);if(!h[T])throw new Error('Failed to execute "'+p+`": Unsupported unit '`+C+"'");if(L!==void 0){var U;return(U=h[T]).call.apply(U,[this].concat(D,[L]))}else{var J;return(J=h[T]).call.apply(J,[this].concat(D))}})},n=0;n<o.length;n++)a();return r(e.Config.prototype,"free",function(){e.Config.destroy(this)}),r(e.Node,"create",function(u,A){return A?e.Node.createWithConfig(A):e.Node.createDefault()}),r(e.Node.prototype,"free",function(){e.Node.destroy(this)}),r(e.Node.prototype,"freeRecursive",function(){for(var u=0,A=this.getChildCount();u<A;++u)this.getChild(0).freeRecursive();this.free()}),r(e.Node.prototype,"setMeasureFunc",function(u,A){return A?u.call(this,function(){return wCe.fromJS(A.apply(void 0,arguments))}):this.unsetMeasureFunc()}),r(e.Node.prototype,"calculateLayout",function(u){var A=arguments.length>1&&arguments[1]!==void 0?arguments[1]:NaN,p=arguments.length>2&&arguments[2]!==void 0?arguments[2]:NaN,h=arguments.length>3&&arguments[3]!==void 0?arguments[3]:au.DIRECTION_LTR;return u.call(this,A,p,h)}),Syt({Config:e.Config,Node:e.Node,Layout:t("Layout",byt),Size:t("Size",wCe),Value:t("Value",BCe),getInstanceCount:function(){return e.getInstanceCount.apply(e,arguments)}},au)}});var PCe=_((exports,module)=>{(function(t,e){typeof define=="function"&&define.amd?define([],function(){return e}):typeof module=="object"&&module.exports?module.exports=e:(t.nbind=t.nbind||{}).init=e})(exports,function(Module,cb){typeof Module=="function"&&(cb=Module,Module={}),Module.onRuntimeInitialized=function(t,e){return function(){t&&t.apply(this,arguments);try{Module.ccall("nbind_init")}catch(r){e(r);return}e(null,{bind:Module._nbind_value,reflect:Module.NBind.reflect,queryType:Module.NBind.queryType,toggleLightGC:Module.toggleLightGC,lib:Module})}}(Module.onRuntimeInitialized,cb);var Module;Module||(Module=(typeof Module<"u"?Module:null)||{});var moduleOverrides={};for(var key in Module)Module.hasOwnProperty(key)&&(moduleOverrides[key]=Module[key]);var ENVIRONMENT_IS_WEB=!1,ENVIRONMENT_IS_WORKER=!1,ENVIRONMENT_IS_NODE=!1,ENVIRONMENT_IS_SHELL=!1;if(Module.ENVIRONMENT)if(Module.ENVIRONMENT==="WEB")ENVIRONMENT_IS_WEB=!0;else if(Module.ENVIRONMENT==="WORKER")ENVIRONMENT_IS_WORKER=!0;else if(Module.ENVIRONMENT==="NODE")ENVIRONMENT_IS_NODE=!0;else if(Module.ENVIRONMENT==="SHELL")ENVIRONMENT_IS_SHELL=!0;else throw new Error("The provided Module['ENVIRONMENT'] value is not valid. It must be one of: WEB|WORKER|NODE|SHELL.");else ENVIRONMENT_IS_WEB=typeof window=="object",ENVIRONMENT_IS_WORKER=typeof importScripts=="function",ENVIRONMENT_IS_NODE=typeof process=="object"&&typeof ve=="function"&&!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_WORKER,ENVIRONMENT_IS_SHELL=!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_NODE&&!ENVIRONMENT_IS_WORKER;if(ENVIRONMENT_IS_NODE){Module.print||(Module.print=console.log),Module.printErr||(Module.printErr=console.warn);var nodeFS,nodePath;Module.read=function(e,r){nodeFS||(nodeFS={}("")),nodePath||(nodePath={}("")),e=nodePath.normalize(e);var o=nodeFS.readFileSync(e);return r?o:o.toString()},Module.readBinary=function(e){var r=Module.read(e,!0);return r.buffer||(r=new Uint8Array(r)),assert(r.buffer),r},Module.load=function(e){globalEval(read(e))},Module.thisProgram||(process.argv.length>1?Module.thisProgram=process.argv[1].replace(/\\/g,"/"):Module.thisProgram="unknown-program"),Module.arguments=process.argv.slice(2),typeof module<"u"&&(module.exports=Module),Module.inspect=function(){return"[Emscripten Module object]"}}else if(ENVIRONMENT_IS_SHELL)Module.print||(Module.print=print),typeof printErr<"u"&&(Module.printErr=printErr),typeof read<"u"?Module.read=read:Module.read=function(){throw"no read() available"},Module.readBinary=function(e){if(typeof readbuffer=="function")return new Uint8Array(readbuffer(e));var r=read(e,"binary");return assert(typeof r=="object"),r},typeof scriptArgs<"u"?Module.arguments=scriptArgs:typeof arguments<"u"&&(Module.arguments=arguments),typeof quit=="function"&&(Module.quit=function(t,e){quit(t)});else if(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER){if(Module.read=function(e){var r=new XMLHttpRequest;return r.open("GET",e,!1),r.send(null),r.responseText},ENVIRONMENT_IS_WORKER&&(Module.readBinary=function(e){var r=new XMLHttpRequest;return r.open("GET",e,!1),r.responseType="arraybuffer",r.send(null),new Uint8Array(r.response)}),Module.readAsync=function(e,r,o){var a=new XMLHttpRequest;a.open("GET",e,!0),a.responseType="arraybuffer",a.onload=function(){a.status==200||a.status==0&&a.response?r(a.response):o()},a.onerror=o,a.send(null)},typeof arguments<"u"&&(Module.arguments=arguments),typeof console<"u")Module.print||(Module.print=function(e){console.log(e)}),Module.printErr||(Module.printErr=function(e){console.warn(e)});else{var TRY_USE_DUMP=!1;Module.print||(Module.print=TRY_USE_DUMP&&typeof dump<"u"?function(t){dump(t)}:function(t){})}ENVIRONMENT_IS_WORKER&&(Module.load=importScripts),typeof Module.setWindowTitle>"u"&&(Module.setWindowTitle=function(t){document.title=t})}else throw"Unknown runtime environment. Where are we?";function globalEval(t){eval.call(null,t)}!Module.load&&Module.read&&(Module.load=function(e){globalEval(Module.read(e))}),Module.print||(Module.print=function(){}),Module.printErr||(Module.printErr=Module.print),Module.arguments||(Module.arguments=[]),Module.thisProgram||(Module.thisProgram="./this.program"),Module.quit||(Module.quit=function(t,e){throw e}),Module.print=Module.print,Module.printErr=Module.printErr,Module.preRun=[],Module.postRun=[];for(var key in moduleOverrides)moduleOverrides.hasOwnProperty(key)&&(Module[key]=moduleOverrides[key]);moduleOverrides=void 0;var Runtime={setTempRet0:function(t){return tempRet0=t,t},getTempRet0:function(){return tempRet0},stackSave:function(){return STACKTOP},stackRestore:function(t){STACKTOP=t},getNativeTypeSize:function(t){switch(t){case"i1":case"i8":return 1;case"i16":return 2;case"i32":return 4;case"i64":return 8;case"float":return 4;case"double":return 8;default:{if(t[t.length-1]==="*")return Runtime.QUANTUM_SIZE;if(t[0]==="i"){var e=parseInt(t.substr(1));return assert(e%8===0),e/8}else return 0}}},getNativeFieldSize:function(t){return Math.max(Runtime.getNativeTypeSize(t),Runtime.QUANTUM_SIZE)},STACK_ALIGN:16,prepVararg:function(t,e){return e==="double"||e==="i64"?t&7&&(assert((t&7)===4),t+=4):assert((t&3)===0),t},getAlignSize:function(t,e,r){return!r&&(t=="i64"||t=="double")?8:t?Math.min(e||(t?Runtime.getNativeFieldSize(t):0),Runtime.QUANTUM_SIZE):Math.min(e,8)},dynCall:function(t,e,r){return r&&r.length?Module["dynCall_"+t].apply(null,[e].concat(r)):Module["dynCall_"+t].call(null,e)},functionPointers:[],addFunction:function(t){for(var e=0;e<Runtime.functionPointers.length;e++)if(!Runtime.functionPointers[e])return Runtime.functionPointers[e]=t,2*(1+e);throw"Finished up all reserved function pointers. Use a higher value for RESERVED_FUNCTION_POINTERS."},removeFunction:function(t){Runtime.functionPointers[(t-2)/2]=null},warnOnce:function(t){Runtime.warnOnce.shown||(Runtime.warnOnce.shown={}),Runtime.warnOnce.shown[t]||(Runtime.warnOnce.shown[t]=1,Module.printErr(t))},funcWrappers:{},getFuncWrapper:function(t,e){if(t){assert(e),Runtime.funcWrappers[e]||(Runtime.funcWrappers[e]={});var r=Runtime.funcWrappers[e];return r[t]||(e.length===1?r[t]=function(){return Runtime.dynCall(e,t)}:e.length===2?r[t]=function(a){return Runtime.dynCall(e,t,[a])}:r[t]=function(){return Runtime.dynCall(e,t,Array.prototype.slice.call(arguments))}),r[t]}},getCompilerSetting:function(t){throw"You must build with -s RETAIN_COMPILER_SETTINGS=1 for Runtime.getCompilerSetting or emscripten_get_compiler_setting to work"},stackAlloc:function(t){var e=STACKTOP;return STACKTOP=STACKTOP+t|0,STACKTOP=STACKTOP+15&-16,e},staticAlloc:function(t){var e=STATICTOP;return STATICTOP=STATICTOP+t|0,STATICTOP=STATICTOP+15&-16,e},dynamicAlloc:function(t){var e=HEAP32[DYNAMICTOP_PTR>>2],r=(e+t+15|0)&-16;if(HEAP32[DYNAMICTOP_PTR>>2]=r,r>=TOTAL_MEMORY){var o=enlargeMemory();if(!o)return HEAP32[DYNAMICTOP_PTR>>2]=e,0}return e},alignMemory:function(t,e){var r=t=Math.ceil(t/(e||16))*(e||16);return r},makeBigInt:function(t,e,r){var o=r?+(t>>>0)+ +(e>>>0)*4294967296:+(t>>>0)+ +(e|0)*4294967296;return o},GLOBAL_BASE:8,QUANTUM_SIZE:4,__dummy__:0};Module.Runtime=Runtime;var ABORT=0,EXITSTATUS=0;function assert(t,e){t||abort("Assertion failed: "+e)}function getCFunc(ident){var func=Module["_"+ident];if(!func)try{func=eval("_"+ident)}catch(t){}return assert(func,"Cannot call unknown function "+ident+" (perhaps LLVM optimizations or closure removed it?)"),func}var cwrap,ccall;(function(){var JSfuncs={stackSave:function(){Runtime.stackSave()},stackRestore:function(){Runtime.stackRestore()},arrayToC:function(t){var e=Runtime.stackAlloc(t.length);return writeArrayToMemory(t,e),e},stringToC:function(t){var e=0;if(t!=null&&t!==0){var r=(t.length<<2)+1;e=Runtime.stackAlloc(r),stringToUTF8(t,e,r)}return e}},toC={string:JSfuncs.stringToC,array:JSfuncs.arrayToC};ccall=function(e,r,o,a,n){var u=getCFunc(e),A=[],p=0;if(a)for(var h=0;h<a.length;h++){var E=toC[o[h]];E?(p===0&&(p=Runtime.stackSave()),A[h]=E(a[h])):A[h]=a[h]}var w=u.apply(null,A);if(r==="string"&&(w=Pointer_stringify(w)),p!==0){if(n&&n.async){EmterpreterAsync.asyncFinalizers.push(function(){Runtime.stackRestore(p)});return}Runtime.stackRestore(p)}return w};var sourceRegex=/^function\s*[a-zA-Z$_0-9]*\s*\(([^)]*)\)\s*{\s*([^*]*?)[\s;]*(?:return\s*(.*?)[;\s]*)?}$/;function parseJSFunc(t){var e=t.toString().match(sourceRegex).slice(1);return{arguments:e[0],body:e[1],returnValue:e[2]}}var JSsource=null;function ensureJSsource(){if(!JSsource){JSsource={};for(var t in JSfuncs)JSfuncs.hasOwnProperty(t)&&(JSsource[t]=parseJSFunc(JSfuncs[t]))}}cwrap=function cwrap(ident,returnType,argTypes){argTypes=argTypes||[];var cfunc=getCFunc(ident),numericArgs=argTypes.every(function(t){return t==="number"}),numericRet=returnType!=="string";if(numericRet&&numericArgs)return cfunc;var argNames=argTypes.map(function(t,e){return"$"+e}),funcstr="(function("+argNames.join(",")+") {",nargs=argTypes.length;if(!numericArgs){ensureJSsource(),funcstr+="var stack = "+JSsource.stackSave.body+";";for(var i=0;i<nargs;i++){var arg=argNames[i],type=argTypes[i];if(type!=="number"){var convertCode=JSsource[type+"ToC"];funcstr+="var "+convertCode.arguments+" = "+arg+";",funcstr+=convertCode.body+";",funcstr+=arg+"=("+convertCode.returnValue+");"}}}var cfuncname=parseJSFunc(function(){return cfunc}).returnValue;if(funcstr+="var ret = "+cfuncname+"("+argNames.join(",")+");",!numericRet){var strgfy=parseJSFunc(function(){return Pointer_stringify}).returnValue;funcstr+="ret = "+strgfy+"(ret);"}return numericArgs||(ensureJSsource(),funcstr+=JSsource.stackRestore.body.replace("()","(stack)")+";"),funcstr+="return ret})",eval(funcstr)}})(),Module.ccall=ccall,Module.cwrap=cwrap;function setValue(t,e,r,o){switch(r=r||"i8",r.charAt(r.length-1)==="*"&&(r="i32"),r){case"i1":HEAP8[t>>0]=e;break;case"i8":HEAP8[t>>0]=e;break;case"i16":HEAP16[t>>1]=e;break;case"i32":HEAP32[t>>2]=e;break;case"i64":tempI64=[e>>>0,(tempDouble=e,+Math_abs(tempDouble)>=1?tempDouble>0?(Math_min(+Math_floor(tempDouble/4294967296),4294967295)|0)>>>0:~~+Math_ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[t>>2]=tempI64[0],HEAP32[t+4>>2]=tempI64[1];break;case"float":HEAPF32[t>>2]=e;break;case"double":HEAPF64[t>>3]=e;break;default:abort("invalid type for setValue: "+r)}}Module.setValue=setValue;function getValue(t,e,r){switch(e=e||"i8",e.charAt(e.length-1)==="*"&&(e="i32"),e){case"i1":return HEAP8[t>>0];case"i8":return HEAP8[t>>0];case"i16":return HEAP16[t>>1];case"i32":return HEAP32[t>>2];case"i64":return HEAP32[t>>2];case"float":return HEAPF32[t>>2];case"double":return HEAPF64[t>>3];default:abort("invalid type for setValue: "+e)}return null}Module.getValue=getValue;var ALLOC_NORMAL=0,ALLOC_STACK=1,ALLOC_STATIC=2,ALLOC_DYNAMIC=3,ALLOC_NONE=4;Module.ALLOC_NORMAL=ALLOC_NORMAL,Module.ALLOC_STACK=ALLOC_STACK,Module.ALLOC_STATIC=ALLOC_STATIC,Module.ALLOC_DYNAMIC=ALLOC_DYNAMIC,Module.ALLOC_NONE=ALLOC_NONE;function allocate(t,e,r,o){var a,n;typeof t=="number"?(a=!0,n=t):(a=!1,n=t.length);var u=typeof e=="string"?e:null,A;if(r==ALLOC_NONE?A=o:A=[typeof _malloc=="function"?_malloc:Runtime.staticAlloc,Runtime.stackAlloc,Runtime.staticAlloc,Runtime.dynamicAlloc][r===void 0?ALLOC_STATIC:r](Math.max(n,u?1:e.length)),a){var o=A,p;for(assert((A&3)==0),p=A+(n&-4);o<p;o+=4)HEAP32[o>>2]=0;for(p=A+n;o<p;)HEAP8[o++>>0]=0;return A}if(u==="i8")return t.subarray||t.slice?HEAPU8.set(t,A):HEAPU8.set(new Uint8Array(t),A),A;for(var h=0,E,w,D;h<n;){var x=t[h];if(typeof x=="function"&&(x=Runtime.getFunctionIndex(x)),E=u||e[h],E===0){h++;continue}E=="i64"&&(E="i32"),setValue(A+h,x,E),D!==E&&(w=Runtime.getNativeTypeSize(E),D=E),h+=w}return A}Module.allocate=allocate;function getMemory(t){return staticSealed?runtimeInitialized?_malloc(t):Runtime.dynamicAlloc(t):Runtime.staticAlloc(t)}Module.getMemory=getMemory;function Pointer_stringify(t,e){if(e===0||!t)return"";for(var r=0,o,a=0;o=HEAPU8[t+a>>0],r|=o,!(o==0&&!e||(a++,e&&a==e)););e||(e=a);var n="";if(r<128){for(var u=1024,A;e>0;)A=String.fromCharCode.apply(String,HEAPU8.subarray(t,t+Math.min(e,u))),n=n?n+A:A,t+=u,e-=u;return n}return Module.UTF8ToString(t)}Module.Pointer_stringify=Pointer_stringify;function AsciiToString(t){for(var e="";;){var r=HEAP8[t++>>0];if(!r)return e;e+=String.fromCharCode(r)}}Module.AsciiToString=AsciiToString;function stringToAscii(t,e){return writeAsciiToMemory(t,e,!1)}Module.stringToAscii=stringToAscii;var UTF8Decoder=typeof TextDecoder<"u"?new TextDecoder("utf8"):void 0;function UTF8ArrayToString(t,e){for(var r=e;t[r];)++r;if(r-e>16&&t.subarray&&UTF8Decoder)return UTF8Decoder.decode(t.subarray(e,r));for(var o,a,n,u,A,p,h="";;){if(o=t[e++],!o)return h;if(!(o&128)){h+=String.fromCharCode(o);continue}if(a=t[e++]&63,(o&224)==192){h+=String.fromCharCode((o&31)<<6|a);continue}if(n=t[e++]&63,(o&240)==224?o=(o&15)<<12|a<<6|n:(u=t[e++]&63,(o&248)==240?o=(o&7)<<18|a<<12|n<<6|u:(A=t[e++]&63,(o&252)==248?o=(o&3)<<24|a<<18|n<<12|u<<6|A:(p=t[e++]&63,o=(o&1)<<30|a<<24|n<<18|u<<12|A<<6|p))),o<65536)h+=String.fromCharCode(o);else{var E=o-65536;h+=String.fromCharCode(55296|E>>10,56320|E&1023)}}}Module.UTF8ArrayToString=UTF8ArrayToString;function UTF8ToString(t){return UTF8ArrayToString(HEAPU8,t)}Module.UTF8ToString=UTF8ToString;function stringToUTF8Array(t,e,r,o){if(!(o>0))return 0;for(var a=r,n=r+o-1,u=0;u<t.length;++u){var A=t.charCodeAt(u);if(A>=55296&&A<=57343&&(A=65536+((A&1023)<<10)|t.charCodeAt(++u)&1023),A<=127){if(r>=n)break;e[r++]=A}else if(A<=2047){if(r+1>=n)break;e[r++]=192|A>>6,e[r++]=128|A&63}else if(A<=65535){if(r+2>=n)break;e[r++]=224|A>>12,e[r++]=128|A>>6&63,e[r++]=128|A&63}else if(A<=2097151){if(r+3>=n)break;e[r++]=240|A>>18,e[r++]=128|A>>12&63,e[r++]=128|A>>6&63,e[r++]=128|A&63}else if(A<=67108863){if(r+4>=n)break;e[r++]=248|A>>24,e[r++]=128|A>>18&63,e[r++]=128|A>>12&63,e[r++]=128|A>>6&63,e[r++]=128|A&63}else{if(r+5>=n)break;e[r++]=252|A>>30,e[r++]=128|A>>24&63,e[r++]=128|A>>18&63,e[r++]=128|A>>12&63,e[r++]=128|A>>6&63,e[r++]=128|A&63}}return e[r]=0,r-a}Module.stringToUTF8Array=stringToUTF8Array;function stringToUTF8(t,e,r){return stringToUTF8Array(t,HEAPU8,e,r)}Module.stringToUTF8=stringToUTF8;function lengthBytesUTF8(t){for(var e=0,r=0;r<t.length;++r){var o=t.charCodeAt(r);o>=55296&&o<=57343&&(o=65536+((o&1023)<<10)|t.charCodeAt(++r)&1023),o<=127?++e:o<=2047?e+=2:o<=65535?e+=3:o<=2097151?e+=4:o<=67108863?e+=5:e+=6}return e}Module.lengthBytesUTF8=lengthBytesUTF8;var UTF16Decoder=typeof TextDecoder<"u"?new TextDecoder("utf-16le"):void 0;function demangle(t){var e=Module.___cxa_demangle||Module.__cxa_demangle;if(e){try{var r=t.substr(1),o=lengthBytesUTF8(r)+1,a=_malloc(o);stringToUTF8(r,a,o);var n=_malloc(4),u=e(a,0,0,n);if(getValue(n,"i32")===0&&u)return Pointer_stringify(u)}catch{}finally{a&&_free(a),n&&_free(n),u&&_free(u)}return t}return Runtime.warnOnce("warning: build with -s DEMANGLE_SUPPORT=1 to link in libcxxabi demangling"),t}function demangleAll(t){var e=/__Z[\w\d_]+/g;return t.replace(e,function(r){var o=demangle(r);return r===o?r:r+" ["+o+"]"})}function jsStackTrace(){var t=new Error;if(!t.stack){try{throw new Error(0)}catch(e){t=e}if(!t.stack)return"(no stack trace available)"}return t.stack.toString()}function stackTrace(){var t=jsStackTrace();return Module.extraStackTrace&&(t+=` +`+Module.extraStackTrace()),demangleAll(t)}Module.stackTrace=stackTrace;var HEAP,buffer,HEAP8,HEAPU8,HEAP16,HEAPU16,HEAP32,HEAPU32,HEAPF32,HEAPF64;function updateGlobalBufferViews(){Module.HEAP8=HEAP8=new Int8Array(buffer),Module.HEAP16=HEAP16=new Int16Array(buffer),Module.HEAP32=HEAP32=new Int32Array(buffer),Module.HEAPU8=HEAPU8=new Uint8Array(buffer),Module.HEAPU16=HEAPU16=new Uint16Array(buffer),Module.HEAPU32=HEAPU32=new Uint32Array(buffer),Module.HEAPF32=HEAPF32=new Float32Array(buffer),Module.HEAPF64=HEAPF64=new Float64Array(buffer)}var STATIC_BASE,STATICTOP,staticSealed,STACK_BASE,STACKTOP,STACK_MAX,DYNAMIC_BASE,DYNAMICTOP_PTR;STATIC_BASE=STATICTOP=STACK_BASE=STACKTOP=STACK_MAX=DYNAMIC_BASE=DYNAMICTOP_PTR=0,staticSealed=!1;function abortOnCannotGrowMemory(){abort("Cannot enlarge memory arrays. Either (1) compile with -s TOTAL_MEMORY=X with X higher than the current value "+TOTAL_MEMORY+", (2) compile with -s ALLOW_MEMORY_GROWTH=1 which allows increasing the size at runtime but prevents some optimizations, (3) set Module.TOTAL_MEMORY to a higher value before the program runs, or (4) if you want malloc to return NULL (0) instead of this abort, compile with -s ABORTING_MALLOC=0 ")}function enlargeMemory(){abortOnCannotGrowMemory()}var TOTAL_STACK=Module.TOTAL_STACK||5242880,TOTAL_MEMORY=Module.TOTAL_MEMORY||134217728;TOTAL_MEMORY<TOTAL_STACK&&Module.printErr("TOTAL_MEMORY should be larger than TOTAL_STACK, was "+TOTAL_MEMORY+"! (TOTAL_STACK="+TOTAL_STACK+")"),Module.buffer?buffer=Module.buffer:buffer=new ArrayBuffer(TOTAL_MEMORY),updateGlobalBufferViews();function getTotalMemory(){return TOTAL_MEMORY}if(HEAP32[0]=1668509029,HEAP16[1]=25459,HEAPU8[2]!==115||HEAPU8[3]!==99)throw"Runtime error: expected the system to be little-endian!";Module.HEAP=HEAP,Module.buffer=buffer,Module.HEAP8=HEAP8,Module.HEAP16=HEAP16,Module.HEAP32=HEAP32,Module.HEAPU8=HEAPU8,Module.HEAPU16=HEAPU16,Module.HEAPU32=HEAPU32,Module.HEAPF32=HEAPF32,Module.HEAPF64=HEAPF64;function callRuntimeCallbacks(t){for(;t.length>0;){var e=t.shift();if(typeof e=="function"){e();continue}var r=e.func;typeof r=="number"?e.arg===void 0?Module.dynCall_v(r):Module.dynCall_vi(r,e.arg):r(e.arg===void 0?null:e.arg)}}var __ATPRERUN__=[],__ATINIT__=[],__ATMAIN__=[],__ATEXIT__=[],__ATPOSTRUN__=[],runtimeInitialized=!1,runtimeExited=!1;function preRun(){if(Module.preRun)for(typeof Module.preRun=="function"&&(Module.preRun=[Module.preRun]);Module.preRun.length;)addOnPreRun(Module.preRun.shift());callRuntimeCallbacks(__ATPRERUN__)}function ensureInitRuntime(){runtimeInitialized||(runtimeInitialized=!0,callRuntimeCallbacks(__ATINIT__))}function preMain(){callRuntimeCallbacks(__ATMAIN__)}function exitRuntime(){callRuntimeCallbacks(__ATEXIT__),runtimeExited=!0}function postRun(){if(Module.postRun)for(typeof Module.postRun=="function"&&(Module.postRun=[Module.postRun]);Module.postRun.length;)addOnPostRun(Module.postRun.shift());callRuntimeCallbacks(__ATPOSTRUN__)}function addOnPreRun(t){__ATPRERUN__.unshift(t)}Module.addOnPreRun=addOnPreRun;function addOnInit(t){__ATINIT__.unshift(t)}Module.addOnInit=addOnInit;function addOnPreMain(t){__ATMAIN__.unshift(t)}Module.addOnPreMain=addOnPreMain;function addOnExit(t){__ATEXIT__.unshift(t)}Module.addOnExit=addOnExit;function addOnPostRun(t){__ATPOSTRUN__.unshift(t)}Module.addOnPostRun=addOnPostRun;function intArrayFromString(t,e,r){var o=r>0?r:lengthBytesUTF8(t)+1,a=new Array(o),n=stringToUTF8Array(t,a,0,a.length);return e&&(a.length=n),a}Module.intArrayFromString=intArrayFromString;function intArrayToString(t){for(var e=[],r=0;r<t.length;r++){var o=t[r];o>255&&(o&=255),e.push(String.fromCharCode(o))}return e.join("")}Module.intArrayToString=intArrayToString;function writeStringToMemory(t,e,r){Runtime.warnOnce("writeStringToMemory is deprecated and should not be called! Use stringToUTF8() instead!");var o,a;r&&(a=e+lengthBytesUTF8(t),o=HEAP8[a]),stringToUTF8(t,e,1/0),r&&(HEAP8[a]=o)}Module.writeStringToMemory=writeStringToMemory;function writeArrayToMemory(t,e){HEAP8.set(t,e)}Module.writeArrayToMemory=writeArrayToMemory;function writeAsciiToMemory(t,e,r){for(var o=0;o<t.length;++o)HEAP8[e++>>0]=t.charCodeAt(o);r||(HEAP8[e>>0]=0)}if(Module.writeAsciiToMemory=writeAsciiToMemory,(!Math.imul||Math.imul(4294967295,5)!==-5)&&(Math.imul=function t(e,r){var o=e>>>16,a=e&65535,n=r>>>16,u=r&65535;return a*u+(o*u+a*n<<16)|0}),Math.imul=Math.imul,!Math.fround){var froundBuffer=new Float32Array(1);Math.fround=function(t){return froundBuffer[0]=t,froundBuffer[0]}}Math.fround=Math.fround,Math.clz32||(Math.clz32=function(t){t=t>>>0;for(var e=0;e<32;e++)if(t&1<<31-e)return e;return 32}),Math.clz32=Math.clz32,Math.trunc||(Math.trunc=function(t){return t<0?Math.ceil(t):Math.floor(t)}),Math.trunc=Math.trunc;var Math_abs=Math.abs,Math_cos=Math.cos,Math_sin=Math.sin,Math_tan=Math.tan,Math_acos=Math.acos,Math_asin=Math.asin,Math_atan=Math.atan,Math_atan2=Math.atan2,Math_exp=Math.exp,Math_log=Math.log,Math_sqrt=Math.sqrt,Math_ceil=Math.ceil,Math_floor=Math.floor,Math_pow=Math.pow,Math_imul=Math.imul,Math_fround=Math.fround,Math_round=Math.round,Math_min=Math.min,Math_clz32=Math.clz32,Math_trunc=Math.trunc,runDependencies=0,runDependencyWatcher=null,dependenciesFulfilled=null;function getUniqueRunDependency(t){return t}function addRunDependency(t){runDependencies++,Module.monitorRunDependencies&&Module.monitorRunDependencies(runDependencies)}Module.addRunDependency=addRunDependency;function removeRunDependency(t){if(runDependencies--,Module.monitorRunDependencies&&Module.monitorRunDependencies(runDependencies),runDependencies==0&&(runDependencyWatcher!==null&&(clearInterval(runDependencyWatcher),runDependencyWatcher=null),dependenciesFulfilled)){var e=dependenciesFulfilled;dependenciesFulfilled=null,e()}}Module.removeRunDependency=removeRunDependency,Module.preloadedImages={},Module.preloadedAudios={};var ASM_CONSTS=[function(t,e,r,o,a,n,u,A){return _nbind.callbackSignatureList[t].apply(this,arguments)}];function _emscripten_asm_const_iiiiiiii(t,e,r,o,a,n,u,A){return ASM_CONSTS[t](e,r,o,a,n,u,A)}function _emscripten_asm_const_iiiii(t,e,r,o,a){return ASM_CONSTS[t](e,r,o,a)}function _emscripten_asm_const_iiidddddd(t,e,r,o,a,n,u,A,p){return ASM_CONSTS[t](e,r,o,a,n,u,A,p)}function _emscripten_asm_const_iiididi(t,e,r,o,a,n,u){return ASM_CONSTS[t](e,r,o,a,n,u)}function _emscripten_asm_const_iiii(t,e,r,o){return ASM_CONSTS[t](e,r,o)}function _emscripten_asm_const_iiiid(t,e,r,o,a){return ASM_CONSTS[t](e,r,o,a)}function _emscripten_asm_const_iiiiii(t,e,r,o,a,n){return ASM_CONSTS[t](e,r,o,a,n)}STATIC_BASE=Runtime.GLOBAL_BASE,STATICTOP=STATIC_BASE+12800,__ATINIT__.push({func:function(){__GLOBAL__sub_I_Yoga_cpp()}},{func:function(){__GLOBAL__sub_I_nbind_cc()}},{func:function(){__GLOBAL__sub_I_common_cc()}},{func:function(){__GLOBAL__sub_I_Binding_cc()}}),allocate([0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,192,127,0,0,192,127,0,0,192,127,0,0,192,127,3,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,3,0,0,0,0,0,192,127,3,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,192,127,0,0,192,127,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,192,127,0,0,0,0,0,0,0,0,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,192,127,0,0,192,127,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,0,0,128,191,0,0,128,191,0,0,192,127,0,0,0,0,0,0,0,0,0,0,128,63,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,3,0,0,0,1,0,0,0,2,0,0,0,0,0,0,0,190,12,0,0,200,12,0,0,208,12,0,0,216,12,0,0,230,12,0,0,242,12,0,0,1,0,0,0,3,0,0,0,0,0,0,0,2,0,0,0,0,0,192,127,3,0,0,0,180,45,0,0,181,45,0,0,182,45,0,0,181,45,0,0,182,45,0,0,0,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,1,0,0,0,4,0,0,0,183,45,0,0,181,45,0,0,181,45,0,0,181,45,0,0,181,45,0,0,181,45,0,0,181,45,0,0,184,45,0,0,185,45,0,0,181,45,0,0,181,45,0,0,182,45,0,0,186,45,0,0,185,45,0,0,148,4,0,0,3,0,0,0,187,45,0,0,164,4,0,0,188,45,0,0,2,0,0,0,189,45,0,0,164,4,0,0,188,45,0,0,185,45,0,0,164,4,0,0,185,45,0,0,164,4,0,0,188,45,0,0,181,45,0,0,182,45,0,0,181,45,0,0,0,0,0,0,0,0,0,0,1,0,0,0,5,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,183,45,0,0,182,45,0,0,181,45,0,0,190,45,0,0,190,45,0,0,182,45,0,0,182,45,0,0,185,45,0,0,181,45,0,0,185,45,0,0,182,45,0,0,181,45,0,0,185,45,0,0,182,45,0,0,185,45,0,0,48,5,0,0,3,0,0,0,56,5,0,0,1,0,0,0,189,45,0,0,185,45,0,0,164,4,0,0,76,5,0,0,2,0,0,0,191,45,0,0,186,45,0,0,182,45,0,0,185,45,0,0,192,45,0,0,185,45,0,0,182,45,0,0,186,45,0,0,185,45,0,0,76,5,0,0,76,5,0,0,136,5,0,0,182,45,0,0,181,45,0,0,2,0,0,0,190,45,0,0,136,5,0,0,56,19,0,0,156,5,0,0,2,0,0,0,184,45,0,0,0,0,0,0,0,0,0,0,1,0,0,0,8,0,0,0,9,0,0,0,1,0,0,0,10,0,0,0,204,5,0,0,181,45,0,0,181,45,0,0,2,0,0,0,180,45,0,0,204,5,0,0,2,0,0,0,195,45,0,0,236,5,0,0,97,19,0,0,198,45,0,0,211,45,0,0,212,45,0,0,213,45,0,0,214,45,0,0,215,45,0,0,188,45,0,0,182,45,0,0,216,45,0,0,217,45,0,0,218,45,0,0,219,45,0,0,192,45,0,0,181,45,0,0,0,0,0,0,185,45,0,0,110,19,0,0,186,45,0,0,115,19,0,0,221,45,0,0,120,19,0,0,148,4,0,0,132,19,0,0,96,6,0,0,145,19,0,0,222,45,0,0,164,19,0,0,223,45,0,0,173,19,0,0,0,0,0,0,3,0,0,0,104,6,0,0,1,0,0,0,187,45,0,0,0,0,0,0,0,0,0,0,1,0,0,0,11,0,0,0,12,0,0,0,1,0,0,0,13,0,0,0,185,45,0,0,224,45,0,0,164,6,0,0,188,45,0,0,172,6,0,0,180,6,0,0,2,0,0,0,188,6,0,0,7,0,0,0,224,45,0,0,7,0,0,0,164,6,0,0,1,0,0,0,213,45,0,0,185,45,0,0,224,45,0,0,172,6,0,0,185,45,0,0,224,45,0,0,164,6,0,0,185,45,0,0,224,45,0,0,211,45,0,0,211,45,0,0,222,45,0,0,211,45,0,0,224,45,0,0,222,45,0,0,211,45,0,0,224,45,0,0,172,6,0,0,222,45,0,0,211,45,0,0,224,45,0,0,188,45,0,0,222,45,0,0,211,45,0,0,40,7,0,0,188,45,0,0,2,0,0,0,224,45,0,0,185,45,0,0,188,45,0,0,188,45,0,0,188,45,0,0,188,45,0,0,222,45,0,0,224,45,0,0,148,4,0,0,185,45,0,0,148,4,0,0,148,4,0,0,148,4,0,0,148,4,0,0,148,4,0,0,185,45,0,0,164,6,0,0,148,4,0,0,0,0,0,0,0,0,0,0,1,0,0,0,14,0,0,0,15,0,0,0,1,0,0,0,16,0,0,0,148,7,0,0,2,0,0,0,225,45,0,0,183,45,0,0,188,45,0,0,168,7,0,0,5,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,234,45,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,148,45,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,28,9,0,0,5,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,2,0,0,0,242,45,0,0,0,4,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,67,111,117,108,100,32,110,111,116,32,97,108,108,111,99,97,116,101,32,109,101,109,111,114,121,32,102,111,114,32,110,111,100,101,0,67,97,110,110,111,116,32,114,101,115,101,116,32,97,32,110,111,100,101,32,119,104,105,99,104,32,115,116,105,108,108,32,104,97,115,32,99,104,105,108,100,114,101,110,32,97,116,116,97,99,104,101,100,0,67,97,110,110,111,116,32,114,101,115,101,116,32,97,32,110,111,100,101,32,115,116,105,108,108,32,97,116,116,97,99,104,101,100,32,116,111,32,97,32,112,97,114,101,110,116,0,67,111,117,108,100,32,110,111,116,32,97,108,108,111,99,97,116,101,32,109,101,109,111,114,121,32,102,111,114,32,99,111,110,102,105,103,0,67,97,110,110,111,116,32,115,101,116,32,109,101,97,115,117,114,101,32,102,117,110,99,116,105,111,110,58,32,78,111,100,101,115,32,119,105,116,104,32,109,101,97,115,117,114,101,32,102,117,110,99,116,105,111,110,115,32,99,97,110,110,111,116,32,104,97,118,101,32,99,104,105,108,100,114,101,110,46,0,67,104,105,108,100,32,97,108,114,101,97,100,121,32,104,97,115,32,97,32,112,97,114,101,110,116,44,32,105,116,32,109,117,115,116,32,98,101,32,114,101,109,111,118,101,100,32,102,105,114,115,116,46,0,67,97,110,110,111,116,32,97,100,100,32,99,104,105,108,100,58,32,78,111,100,101,115,32,119,105,116,104,32,109,101,97,115,117,114,101,32,102,117,110,99,116,105,111,110,115,32,99,97,110,110,111,116,32,104,97,118,101,32,99,104,105,108,100,114,101,110,46,0,79,110,108,121,32,108,101,97,102,32,110,111,100,101,115,32,119,105,116,104,32,99,117,115,116,111,109,32,109,101,97,115,117,114,101,32,102,117,110,99,116,105,111,110,115,115,104,111,117,108,100,32,109,97,110,117,97,108,108,121,32,109,97,114,107,32,116,104,101,109,115,101,108,118,101,115,32,97,115,32,100,105,114,116,121,0,67,97,110,110,111,116,32,103,101,116,32,108,97,121,111,117,116,32,112,114,111,112,101,114,116,105,101,115,32,111,102,32,109,117,108,116,105,45,101,100,103,101,32,115,104,111,114,116,104,97,110,100,115,0,37,115,37,100,46,123,91,115,107,105,112,112,101,100,93,32,0,119,109,58,32,37,115,44,32,104,109,58,32,37,115,44,32,97,119,58,32,37,102,32,97,104,58,32,37,102,32,61,62,32,100,58,32,40,37,102,44,32,37,102,41,32,37,115,10,0,37,115,37,100,46,123,37,115,0,42,0,119,109,58,32,37,115,44,32,104,109,58,32,37,115,44,32,97,119,58,32,37,102,32,97,104,58,32,37,102,32,37,115,10,0,37,115,37,100,46,125,37,115,0,119,109,58,32,37,115,44,32,104,109,58,32,37,115,44,32,100,58,32,40,37,102,44,32,37,102,41,32,37,115,10,0,79,117,116,32,111,102,32,99,97,99,104,101,32,101,110,116,114,105,101,115,33,10,0,83,99,97,108,101,32,102,97,99,116,111,114,32,115,104,111,117,108,100,32,110,111,116,32,98,101,32,108,101,115,115,32,116,104,97,110,32,122,101,114,111,0,105,110,105,116,105,97,108,0,37,115,10,0,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,0,85,78,68,69,70,73,78,69,68,0,69,88,65,67,84,76,89,0,65,84,95,77,79,83,84,0,76,65,89,95,85,78,68,69,70,73,78,69,68,0,76,65,89,95,69,88,65,67,84,76,89,0,76,65,89,95,65,84,95,77,79,83,84,0,97,118,97,105,108,97,98,108,101,87,105,100,116,104,32,105,115,32,105,110,100,101,102,105,110,105,116,101,32,115,111,32,119,105,100,116,104,77,101,97,115,117,114,101,77,111,100,101,32,109,117,115,116,32,98,101,32,89,71,77,101,97,115,117,114,101,77,111,100,101,85,110,100,101,102,105,110,101,100,0,97,118,97,105,108,97,98,108,101,72,101,105,103,104,116,32,105,115,32,105,110,100,101,102,105,110,105,116,101,32,115,111,32,104,101,105,103,104,116,77,101,97,115,117,114,101,77,111,100,101,32,109,117,115,116,32,98,101,32,89,71,77,101,97,115,117,114,101,77,111,100,101,85,110,100,101,102,105,110,101,100,0,102,108,101,120,0,115,116,114,101,116,99,104,0,109,117,108,116,105,108,105,110,101,45,115,116,114,101,116,99,104,0,69,120,112,101,99,116,101,100,32,110,111,100,101,32,116,111,32,104,97,118,101,32,99,117,115,116,111,109,32,109,101,97,115,117,114,101,32,102,117,110,99,116,105,111,110,0,109,101,97,115,117,114,101,0,69,120,112,101,99,116,32,99,117,115,116,111,109,32,98,97,115,101,108,105,110,101,32,102,117,110,99,116,105,111,110,32,116,111,32,110,111,116,32,114,101,116,117,114,110,32,78,97,78,0,97,98,115,45,109,101,97,115,117,114,101,0,97,98,115,45,108,97,121,111,117,116,0,78,111,100,101,0,99,114,101,97,116,101,68,101,102,97,117,108,116,0,99,114,101,97,116,101,87,105,116,104,67,111,110,102,105,103,0,100,101,115,116,114,111,121,0,114,101,115,101,116,0,99,111,112,121,83,116,121,108,101,0,115,101,116,80,111,115,105,116,105,111,110,84,121,112,101,0,115,101,116,80,111,115,105,116,105,111,110,0,115,101,116,80,111,115,105,116,105,111,110,80,101,114,99,101,110,116,0,115,101,116,65,108,105,103,110,67,111,110,116,101,110,116,0,115,101,116,65,108,105,103,110,73,116,101,109,115,0,115,101,116,65,108,105,103,110,83,101,108,102,0,115,101,116,70,108,101,120,68,105,114,101,99,116,105,111,110,0,115,101,116,70,108,101,120,87,114,97,112,0,115,101,116,74,117,115,116,105,102,121,67,111,110,116,101,110,116,0,115,101,116,77,97,114,103,105,110,0,115,101,116,77,97,114,103,105,110,80,101,114,99,101,110,116,0,115,101,116,77,97,114,103,105,110,65,117,116,111,0,115,101,116,79,118,101,114,102,108,111,119,0,115,101,116,68,105,115,112,108,97,121,0,115,101,116,70,108,101,120,0,115,101,116,70,108,101,120,66,97,115,105,115,0,115,101,116,70,108,101,120,66,97,115,105,115,80,101,114,99,101,110,116,0,115,101,116,70,108,101,120,71,114,111,119,0,115,101,116,70,108,101,120,83,104,114,105,110,107,0,115,101,116,87,105,100,116,104,0,115,101,116,87,105,100,116,104,80,101,114,99,101,110,116,0,115,101,116,87,105,100,116,104,65,117,116,111,0,115,101,116,72,101,105,103,104,116,0,115,101,116,72,101,105,103,104,116,80,101,114,99,101,110,116,0,115,101,116,72,101,105,103,104,116,65,117,116,111,0,115,101,116,77,105,110,87,105,100,116,104,0,115,101,116,77,105,110,87,105,100,116,104,80,101,114,99,101,110,116,0,115,101,116,77,105,110,72,101,105,103,104,116,0,115,101,116,77,105,110,72,101,105,103,104,116,80,101,114,99,101,110,116,0,115,101,116,77,97,120,87,105,100,116,104,0,115,101,116,77,97,120,87,105,100,116,104,80,101,114,99,101,110,116,0,115,101,116,77,97,120,72,101,105,103,104,116,0,115,101,116,77,97,120,72,101,105,103,104,116,80,101,114,99,101,110,116,0,115,101,116,65,115,112,101,99,116,82,97,116,105,111,0,115,101,116,66,111,114,100,101,114,0,115,101,116,80,97,100,100,105,110,103,0,115,101,116,80,97,100,100,105,110,103,80,101,114,99,101,110,116,0,103,101,116,80,111,115,105,116,105,111,110,84,121,112,101,0,103,101,116,80,111,115,105,116,105,111,110,0,103,101,116,65,108,105,103,110,67,111,110,116,101,110,116,0,103,101,116,65,108,105,103,110,73,116,101,109,115,0,103,101,116,65,108,105,103,110,83,101,108,102,0,103,101,116,70,108,101,120,68,105,114,101,99,116,105,111,110,0,103,101,116,70,108,101,120,87,114,97,112,0,103,101,116,74,117,115,116,105,102,121,67,111,110,116,101,110,116,0,103,101,116,77,97,114,103,105,110,0,103,101,116,70,108,101,120,66,97,115,105,115,0,103,101,116,70,108,101,120,71,114,111,119,0,103,101,116,70,108,101,120,83,104,114,105,110,107,0,103,101,116,87,105,100,116,104,0,103,101,116,72,101,105,103,104,116,0,103,101,116,77,105,110,87,105,100,116,104,0,103,101,116,77,105,110,72,101,105,103,104,116,0,103,101,116,77,97,120,87,105,100,116,104,0,103,101,116,77,97,120,72,101,105,103,104,116,0,103,101,116,65,115,112,101,99,116,82,97,116,105,111,0,103,101,116,66,111,114,100,101,114,0,103,101,116,79,118,101,114,102,108,111,119,0,103,101,116,68,105,115,112,108,97,121,0,103,101,116,80,97,100,100,105,110,103,0,105,110,115,101,114,116,67,104,105,108,100,0,114,101,109,111,118,101,67,104,105,108,100,0,103,101,116,67,104,105,108,100,67,111,117,110,116,0,103,101,116,80,97,114,101,110,116,0,103,101,116,67,104,105,108,100,0,115,101,116,77,101,97,115,117,114,101,70,117,110,99,0,117,110,115,101,116,77,101,97,115,117,114,101,70,117,110,99,0,109,97,114,107,68,105,114,116,121,0,105,115,68,105,114,116,121,0,99,97,108,99,117,108,97,116,101,76,97,121,111,117,116,0,103,101,116,67,111,109,112,117,116,101,100,76,101,102,116,0,103,101,116,67,111,109,112,117,116,101,100,82,105,103,104,116,0,103,101,116,67,111,109,112,117,116,101,100,84,111,112,0,103,101,116,67,111,109,112,117,116,101,100,66,111,116,116,111,109,0,103,101,116,67,111,109,112,117,116,101,100,87,105,100,116,104,0,103,101,116,67,111,109,112,117,116,101,100,72,101,105,103,104,116,0,103,101,116,67,111,109,112,117,116,101,100,76,97,121,111,117,116,0,103,101,116,67,111,109,112,117,116,101,100,77,97,114,103,105,110,0,103,101,116,67,111,109,112,117,116,101,100,66,111,114,100,101,114,0,103,101,116,67,111,109,112,117,116,101,100,80,97,100,100,105,110,103,0,67,111,110,102,105,103,0,99,114,101,97,116,101,0,115,101,116,69,120,112,101,114,105,109,101,110,116,97,108,70,101,97,116,117,114,101,69,110,97,98,108,101,100,0,115,101,116,80,111,105,110,116,83,99,97,108,101,70,97,99,116,111,114,0,105,115,69,120,112,101,114,105,109,101,110,116,97,108,70,101,97,116,117,114,101,69,110,97,98,108,101,100,0,86,97,108,117,101,0,76,97,121,111,117,116,0,83,105,122,101,0,103,101,116,73,110,115,116,97,110,99,101,67,111,117,110,116,0,73,110,116,54,52,0,1,1,1,2,2,4,4,4,4,8,8,4,8,118,111,105,100,0,98,111,111,108,0,115,116,100,58,58,115,116,114,105,110,103,0,99,98,70,117,110,99,116,105,111,110,32,38,0,99,111,110,115,116,32,99,98,70,117,110,99,116,105,111,110,32,38,0,69,120,116,101,114,110,97,108,0,66,117,102,102,101,114,0,78,66,105,110,100,73,68,0,78,66,105,110,100,0,98,105,110,100,95,118,97,108,117,101,0,114,101,102,108,101,99,116,0,113,117,101,114,121,84,121,112,101,0,108,97,108,108,111,99,0,108,114,101,115,101,116,0,123,114,101,116,117,114,110,40,95,110,98,105,110,100,46,99,97,108,108,98,97,99,107,83,105,103,110,97,116,117,114,101,76,105,115,116,91,36,48,93,46,97,112,112,108,121,40,116,104,105,115,44,97,114,103,117,109,101,110,116,115,41,41,59,125,0,95,110,98,105,110,100,95,110,101,119,0,17,0,10,0,17,17,17,0,0,0,0,5,0,0,0,0,0,0,9,0,0,0,0,11,0,0,0,0,0,0,0,0,17,0,15,10,17,17,17,3,10,7,0,1,19,9,11,11,0,0,9,6,11,0,0,11,0,6,17,0,0,0,17,17,17,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,0,0,0,0,0,0,0,0,17,0,10,10,17,17,17,0,10,0,0,2,0,9,11,0,0,0,9,0,11,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,12,0,0,0,0,9,12,0,0,0,0,0,12,0,0,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,0,0,0,0,13,0,0,0,4,13,0,0,0,0,9,14,0,0,0,0,0,14,0,0,14,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,15,0,0,0,0,15,0,0,0,0,9,16,0,0,0,0,0,16,0,0,16,0,0,18,0,0,0,18,18,18,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,18,0,0,0,18,18,18,0,0,0,0,0,0,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,0,0,0,0,0,0,0,0,0,0,0,10,0,0,0,0,10,0,0,0,0,9,11,0,0,0,0,0,11,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,12,0,0,0,0,9,12,0,0,0,0,0,12,0,0,12,0,0,45,43,32,32,32,48,88,48,120,0,40,110,117,108,108,41,0,45,48,88,43,48,88,32,48,88,45,48,120,43,48,120,32,48,120,0,105,110,102,0,73,78,70,0,110,97,110,0,78,65,78,0,48,49,50,51,52,53,54,55,56,57,65,66,67,68,69,70,46,0,84,33,34,25,13,1,2,3,17,75,28,12,16,4,11,29,18,30,39,104,110,111,112,113,98,32,5,6,15,19,20,21,26,8,22,7,40,36,23,24,9,10,14,27,31,37,35,131,130,125,38,42,43,60,61,62,63,67,71,74,77,88,89,90,91,92,93,94,95,96,97,99,100,101,102,103,105,106,107,108,114,115,116,121,122,123,124,0,73,108,108,101,103,97,108,32,98,121,116,101,32,115,101,113,117,101,110,99,101,0,68,111,109,97,105,110,32,101,114,114,111,114,0,82,101,115,117,108,116,32,110,111,116,32,114,101,112,114,101,115,101,110,116,97,98,108,101,0,78,111,116,32,97,32,116,116,121,0,80,101,114,109,105,115,115,105,111,110,32,100,101,110,105,101,100,0,79,112,101,114,97,116,105,111,110,32,110,111,116,32,112,101,114,109,105,116,116,101,100,0,78,111,32,115,117,99,104,32,102,105,108,101,32,111,114,32,100,105,114,101,99,116,111,114,121,0,78,111,32,115,117,99,104,32,112,114,111,99,101,115,115,0,70,105,108,101,32,101,120,105,115,116,115,0,86,97,108,117,101,32,116,111,111,32,108,97,114,103,101,32,102,111,114,32,100,97,116,97,32,116,121,112,101,0,78,111,32,115,112,97,99,101,32,108,101,102,116,32,111,110,32,100,101,118,105,99,101,0,79,117,116,32,111,102,32,109,101,109,111,114,121,0,82,101,115,111,117,114,99,101,32,98,117,115,121,0,73,110,116,101,114,114,117,112,116,101,100,32,115,121,115,116,101,109,32,99,97,108,108,0,82,101,115,111,117,114,99,101,32,116,101,109,112,111,114,97,114,105,108,121,32,117,110,97,118,97,105,108,97,98,108,101,0,73,110,118,97,108,105,100,32,115,101,101,107,0,67,114,111,115,115,45,100,101,118,105,99,101,32,108,105,110,107,0,82,101,97,100,45,111,110,108,121,32,102,105,108,101,32,115,121,115,116,101,109,0,68,105,114,101,99,116,111,114,121,32,110,111,116,32,101,109,112,116,121,0,67,111,110,110,101,99,116,105,111,110,32,114,101,115,101,116,32,98,121,32,112,101,101,114,0,79,112,101,114,97,116,105,111,110,32,116,105,109,101,100,32,111,117,116,0,67,111,110,110,101,99,116,105,111,110,32,114,101,102,117,115,101,100,0,72,111,115,116,32,105,115,32,100,111,119,110,0,72,111,115,116,32,105,115,32,117,110,114,101,97,99,104,97,98,108,101,0,65,100,100,114,101,115,115,32,105,110,32,117,115,101,0,66,114,111,107,101,110,32,112,105,112,101,0,73,47,79,32,101,114,114,111,114,0,78,111,32,115,117,99,104,32,100,101,118,105,99,101,32,111,114,32,97,100,100,114,101,115,115,0,66,108,111,99,107,32,100,101,118,105,99,101,32,114,101,113,117,105,114,101,100,0,78,111,32,115,117,99,104,32,100,101,118,105,99,101,0,78,111,116,32,97,32,100,105,114,101,99,116,111,114,121,0,73,115,32,97,32,100,105,114,101,99,116,111,114,121,0,84,101,120,116,32,102,105,108,101,32,98,117,115,121,0,69,120,101,99,32,102,111,114,109,97,116,32,101,114,114,111,114,0,73,110,118,97,108,105,100,32,97,114,103,117,109,101,110,116,0,65,114,103,117,109,101,110,116,32,108,105,115,116,32,116,111,111,32,108,111,110,103,0,83,121,109,98,111,108,105,99,32,108,105,110,107,32,108,111,111,112,0,70,105,108,101,110,97,109,101,32,116,111,111,32,108,111,110,103,0,84,111,111,32,109,97,110,121,32,111,112,101,110,32,102,105,108,101,115,32,105,110,32,115,121,115,116,101,109,0,78,111,32,102,105,108,101,32,100,101,115,99,114,105,112,116,111,114,115,32,97,118,97,105,108,97,98,108,101,0,66,97,100,32,102,105,108,101,32,100,101,115,99,114,105,112,116,111,114,0,78,111,32,99,104,105,108,100,32,112,114,111,99,101,115,115,0,66,97,100,32,97,100,100,114,101,115,115,0,70,105,108,101,32,116,111,111,32,108,97,114,103,101,0,84,111,111,32,109,97,110,121,32,108,105,110,107,115,0,78,111,32,108,111,99,107,115,32,97,118,97,105,108,97,98,108,101,0,82,101,115,111,117,114,99,101,32,100,101,97,100,108,111,99,107,32,119,111,117,108,100,32,111,99,99,117,114,0,83,116,97,116,101,32,110,111,116,32,114,101,99,111,118,101,114,97,98,108,101,0,80,114,101,118,105,111,117,115,32,111,119,110,101,114,32,100,105,101,100,0,79,112,101,114,97,116,105,111,110,32,99,97,110,99,101,108,101,100,0,70,117,110,99,116,105,111,110,32,110,111,116,32,105,109,112,108,101,109,101,110,116,101,100,0,78,111,32,109,101,115,115,97,103,101,32,111,102,32,100,101,115,105,114,101,100,32,116,121,112,101,0,73,100,101,110,116,105,102,105,101,114,32,114,101,109,111,118,101,100,0,68,101,118,105,99,101,32,110,111,116,32,97,32,115,116,114,101,97,109,0,78,111,32,100,97,116,97,32,97,118,97,105,108,97,98,108,101,0,68,101,118,105,99,101,32,116,105,109,101,111,117,116,0,79,117,116,32,111,102,32,115,116,114,101,97,109,115,32,114,101,115,111,117,114,99,101,115,0,76,105,110,107,32,104,97,115,32,98,101,101,110,32,115,101,118,101,114,101,100,0,80,114,111,116,111,99,111,108,32,101,114,114,111,114,0,66,97,100,32,109,101,115,115,97,103,101,0,70,105,108,101,32,100,101,115,99,114,105,112,116,111,114,32,105,110,32,98,97,100,32,115,116,97,116,101,0,78,111,116,32,97,32,115,111,99,107,101,116,0,68,101,115,116,105,110,97,116,105,111,110,32,97,100,100,114,101,115,115,32,114,101,113,117,105,114,101,100,0,77,101,115,115,97,103,101,32,116,111,111,32,108,97,114,103,101,0,80,114,111,116,111,99,111,108,32,119,114,111,110,103,32,116,121,112,101,32,102,111,114,32,115,111,99,107,101,116,0,80,114,111,116,111,99,111,108,32,110,111,116,32,97,118,97,105,108,97,98,108,101,0,80,114,111,116,111,99,111,108,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,83,111,99,107,101,116,32,116,121,112,101,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,78,111,116,32,115,117,112,112,111,114,116,101,100,0,80,114,111,116,111,99,111,108,32,102,97,109,105,108,121,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,65,100,100,114,101,115,115,32,102,97,109,105,108,121,32,110,111,116,32,115,117,112,112,111,114,116,101,100,32,98,121,32,112,114,111,116,111,99,111,108,0,65,100,100,114,101,115,115,32,110,111,116,32,97,118,97,105,108,97,98,108,101,0,78,101,116,119,111,114,107,32,105,115,32,100,111,119,110,0,78,101,116,119,111,114,107,32,117,110,114,101,97,99,104,97,98,108,101,0,67,111,110,110,101,99,116,105,111,110,32,114,101,115,101,116,32,98,121,32,110,101,116,119,111,114,107,0,67,111,110,110,101,99,116,105,111,110,32,97,98,111,114,116,101,100,0,78,111,32,98,117,102,102,101,114,32,115,112,97,99,101,32,97,118,97,105,108,97,98,108,101,0,83,111,99,107,101,116,32,105,115,32,99,111,110,110,101,99,116,101,100,0,83,111,99,107,101,116,32,110,111,116,32,99,111,110,110,101,99,116,101,100,0,67,97,110,110,111,116,32,115,101,110,100,32,97,102,116,101,114,32,115,111,99,107,101,116,32,115,104,117,116,100,111,119,110,0,79,112,101,114,97,116,105,111,110,32,97,108,114,101,97,100,121,32,105,110,32,112,114,111,103,114,101,115,115,0,79,112,101,114,97,116,105,111,110,32,105,110,32,112,114,111,103,114,101,115,115,0,83,116,97,108,101,32,102,105,108,101,32,104,97,110,100,108,101,0,82,101,109,111,116,101,32,73,47,79,32,101,114,114,111,114,0,81,117,111,116,97,32,101,120,99,101,101,100,101,100,0,78,111,32,109,101,100,105,117,109,32,102,111,117,110,100,0,87,114,111,110,103,32,109,101,100,105,117,109,32,116,121,112,101,0,78,111,32,101,114,114,111,114,32,105,110,102,111,114,109,97,116,105,111,110,0,0],"i8",ALLOC_NONE,Runtime.GLOBAL_BASE);var tempDoublePtr=STATICTOP;STATICTOP+=16;function _atexit(t,e){__ATEXIT__.unshift({func:t,arg:e})}function ___cxa_atexit(){return _atexit.apply(null,arguments)}function _abort(){Module.abort()}function __ZN8facebook4yoga14YGNodeToStringEPNSt3__212basic_stringIcNS1_11char_traitsIcEENS1_9allocatorIcEEEEP6YGNode14YGPrintOptionsj(){Module.printErr("missing function: _ZN8facebook4yoga14YGNodeToStringEPNSt3__212basic_stringIcNS1_11char_traitsIcEENS1_9allocatorIcEEEEP6YGNode14YGPrintOptionsj"),abort(-1)}function __decorate(t,e,r,o){var a=arguments.length,n=a<3?e:o===null?o=Object.getOwnPropertyDescriptor(e,r):o,u;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")n=Reflect.decorate(t,e,r,o);else for(var A=t.length-1;A>=0;A--)(u=t[A])&&(n=(a<3?u(n):a>3?u(e,r,n):u(e,r))||n);return a>3&&n&&Object.defineProperty(e,r,n),n}function _defineHidden(t){return function(e,r){Object.defineProperty(e,r,{configurable:!1,enumerable:!1,value:t,writable:!0})}}var _nbind={};function __nbind_free_external(t){_nbind.externalList[t].dereference(t)}function __nbind_reference_external(t){_nbind.externalList[t].reference()}function _llvm_stackrestore(t){var e=_llvm_stacksave,r=e.LLVM_SAVEDSTACKS[t];e.LLVM_SAVEDSTACKS.splice(t,1),Runtime.stackRestore(r)}function __nbind_register_pool(t,e,r,o){_nbind.Pool.pageSize=t,_nbind.Pool.usedPtr=e/4,_nbind.Pool.rootPtr=r,_nbind.Pool.pagePtr=o/4,HEAP32[e/4]=16909060,HEAP8[e]==1&&(_nbind.bigEndian=!0),HEAP32[e/4]=0,_nbind.makeTypeKindTbl=(n={},n[1024]=_nbind.PrimitiveType,n[64]=_nbind.Int64Type,n[2048]=_nbind.BindClass,n[3072]=_nbind.BindClassPtr,n[4096]=_nbind.SharedClassPtr,n[5120]=_nbind.ArrayType,n[6144]=_nbind.ArrayType,n[7168]=_nbind.CStringType,n[9216]=_nbind.CallbackType,n[10240]=_nbind.BindType,n),_nbind.makeTypeNameTbl={Buffer:_nbind.BufferType,External:_nbind.ExternalType,Int64:_nbind.Int64Type,_nbind_new:_nbind.CreateValueType,bool:_nbind.BooleanType,"cbFunction &":_nbind.CallbackType,"const cbFunction &":_nbind.CallbackType,"const std::string &":_nbind.StringType,"std::string":_nbind.StringType},Module.toggleLightGC=_nbind.toggleLightGC,_nbind.callUpcast=Module.dynCall_ii;var a=_nbind.makeType(_nbind.constructType,{flags:2048,id:0,name:""});a.proto=Module,_nbind.BindClass.list.push(a);var n}function _emscripten_set_main_loop_timing(t,e){if(Browser.mainLoop.timingMode=t,Browser.mainLoop.timingValue=e,!Browser.mainLoop.func)return 1;if(t==0)Browser.mainLoop.scheduler=function(){var u=Math.max(0,Browser.mainLoop.tickStartTime+e-_emscripten_get_now())|0;setTimeout(Browser.mainLoop.runner,u)},Browser.mainLoop.method="timeout";else if(t==1)Browser.mainLoop.scheduler=function(){Browser.requestAnimationFrame(Browser.mainLoop.runner)},Browser.mainLoop.method="rAF";else if(t==2){if(!window.setImmediate){let n=function(u){u.source===window&&u.data===o&&(u.stopPropagation(),r.shift()())};var a=n,r=[],o="setimmediate";window.addEventListener("message",n,!0),window.setImmediate=function(A){r.push(A),ENVIRONMENT_IS_WORKER?(Module.setImmediates===void 0&&(Module.setImmediates=[]),Module.setImmediates.push(A),window.postMessage({target:o})):window.postMessage(o,"*")}}Browser.mainLoop.scheduler=function(){window.setImmediate(Browser.mainLoop.runner)},Browser.mainLoop.method="immediate"}return 0}function _emscripten_get_now(){abort()}function _emscripten_set_main_loop(t,e,r,o,a){Module.noExitRuntime=!0,assert(!Browser.mainLoop.func,"emscripten_set_main_loop: there can only be one main loop function at once: call emscripten_cancel_main_loop to cancel the previous one before setting a new one with different parameters."),Browser.mainLoop.func=t,Browser.mainLoop.arg=o;var n;typeof o<"u"?n=function(){Module.dynCall_vi(t,o)}:n=function(){Module.dynCall_v(t)};var u=Browser.mainLoop.currentlyRunningMainloop;if(Browser.mainLoop.runner=function(){if(!ABORT){if(Browser.mainLoop.queue.length>0){var p=Date.now(),h=Browser.mainLoop.queue.shift();if(h.func(h.arg),Browser.mainLoop.remainingBlockers){var E=Browser.mainLoop.remainingBlockers,w=E%1==0?E-1:Math.floor(E);h.counted?Browser.mainLoop.remainingBlockers=w:(w=w+.5,Browser.mainLoop.remainingBlockers=(8*E+w)/9)}if(console.log('main loop blocker "'+h.name+'" took '+(Date.now()-p)+" ms"),Browser.mainLoop.updateStatus(),u<Browser.mainLoop.currentlyRunningMainloop)return;setTimeout(Browser.mainLoop.runner,0);return}if(!(u<Browser.mainLoop.currentlyRunningMainloop)){if(Browser.mainLoop.currentFrameNumber=Browser.mainLoop.currentFrameNumber+1|0,Browser.mainLoop.timingMode==1&&Browser.mainLoop.timingValue>1&&Browser.mainLoop.currentFrameNumber%Browser.mainLoop.timingValue!=0){Browser.mainLoop.scheduler();return}else Browser.mainLoop.timingMode==0&&(Browser.mainLoop.tickStartTime=_emscripten_get_now());Browser.mainLoop.method==="timeout"&&Module.ctx&&(Module.printErr("Looks like you are rendering without using requestAnimationFrame for the main loop. You should use 0 for the frame rate in emscripten_set_main_loop in order to use requestAnimationFrame, as that can greatly improve your frame rates!"),Browser.mainLoop.method=""),Browser.mainLoop.runIter(n),!(u<Browser.mainLoop.currentlyRunningMainloop)&&(typeof SDL=="object"&&SDL.audio&&SDL.audio.queueNewAudioData&&SDL.audio.queueNewAudioData(),Browser.mainLoop.scheduler())}}},a||(e&&e>0?_emscripten_set_main_loop_timing(0,1e3/e):_emscripten_set_main_loop_timing(1,1),Browser.mainLoop.scheduler()),r)throw"SimulateInfiniteLoop"}var Browser={mainLoop:{scheduler:null,method:"",currentlyRunningMainloop:0,func:null,arg:0,timingMode:0,timingValue:0,currentFrameNumber:0,queue:[],pause:function(){Browser.mainLoop.scheduler=null,Browser.mainLoop.currentlyRunningMainloop++},resume:function(){Browser.mainLoop.currentlyRunningMainloop++;var t=Browser.mainLoop.timingMode,e=Browser.mainLoop.timingValue,r=Browser.mainLoop.func;Browser.mainLoop.func=null,_emscripten_set_main_loop(r,0,!1,Browser.mainLoop.arg,!0),_emscripten_set_main_loop_timing(t,e),Browser.mainLoop.scheduler()},updateStatus:function(){if(Module.setStatus){var t=Module.statusMessage||"Please wait...",e=Browser.mainLoop.remainingBlockers,r=Browser.mainLoop.expectedBlockers;e?e<r?Module.setStatus(t+" ("+(r-e)+"/"+r+")"):Module.setStatus(t):Module.setStatus("")}},runIter:function(t){if(!ABORT){if(Module.preMainLoop){var e=Module.preMainLoop();if(e===!1)return}try{t()}catch(r){if(r instanceof ExitStatus)return;throw r&&typeof r=="object"&&r.stack&&Module.printErr("exception thrown: "+[r,r.stack]),r}Module.postMainLoop&&Module.postMainLoop()}}},isFullscreen:!1,pointerLock:!1,moduleContextCreatedCallbacks:[],workers:[],init:function(){if(Module.preloadPlugins||(Module.preloadPlugins=[]),Browser.initted)return;Browser.initted=!0;try{new Blob,Browser.hasBlobConstructor=!0}catch{Browser.hasBlobConstructor=!1,console.log("warning: no blob constructor, cannot create blobs with mimetypes")}Browser.BlobBuilder=typeof MozBlobBuilder<"u"?MozBlobBuilder:typeof WebKitBlobBuilder<"u"?WebKitBlobBuilder:Browser.hasBlobConstructor?null:console.log("warning: no BlobBuilder"),Browser.URLObject=typeof window<"u"?window.URL?window.URL:window.webkitURL:void 0,!Module.noImageDecoding&&typeof Browser.URLObject>"u"&&(console.log("warning: Browser does not support creating object URLs. Built-in browser image decoding will not be available."),Module.noImageDecoding=!0);var t={};t.canHandle=function(n){return!Module.noImageDecoding&&/\.(jpg|jpeg|png|bmp)$/i.test(n)},t.handle=function(n,u,A,p){var h=null;if(Browser.hasBlobConstructor)try{h=new Blob([n],{type:Browser.getMimetype(u)}),h.size!==n.length&&(h=new Blob([new Uint8Array(n).buffer],{type:Browser.getMimetype(u)}))}catch(x){Runtime.warnOnce("Blob constructor present but fails: "+x+"; falling back to blob builder")}if(!h){var E=new Browser.BlobBuilder;E.append(new Uint8Array(n).buffer),h=E.getBlob()}var w=Browser.URLObject.createObjectURL(h),D=new Image;D.onload=function(){assert(D.complete,"Image "+u+" could not be decoded");var C=document.createElement("canvas");C.width=D.width,C.height=D.height;var T=C.getContext("2d");T.drawImage(D,0,0),Module.preloadedImages[u]=C,Browser.URLObject.revokeObjectURL(w),A&&A(n)},D.onerror=function(C){console.log("Image "+w+" could not be decoded"),p&&p()},D.src=w},Module.preloadPlugins.push(t);var e={};e.canHandle=function(n){return!Module.noAudioDecoding&&n.substr(-4)in{".ogg":1,".wav":1,".mp3":1}},e.handle=function(n,u,A,p){var h=!1;function E(T){h||(h=!0,Module.preloadedAudios[u]=T,A&&A(n))}function w(){h||(h=!0,Module.preloadedAudios[u]=new Audio,p&&p())}if(Browser.hasBlobConstructor){try{var D=new Blob([n],{type:Browser.getMimetype(u)})}catch{return w()}var x=Browser.URLObject.createObjectURL(D),C=new Audio;C.addEventListener("canplaythrough",function(){E(C)},!1),C.onerror=function(L){if(h)return;console.log("warning: browser could not fully decode audio "+u+", trying slower base64 approach");function U(J){for(var te="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",le="=",ce="",ue=0,Ie=0,he=0;he<J.length;he++)for(ue=ue<<8|J[he],Ie+=8;Ie>=6;){var De=ue>>Ie-6&63;Ie-=6,ce+=te[De]}return Ie==2?(ce+=te[(ue&3)<<4],ce+=le+le):Ie==4&&(ce+=te[(ue&15)<<2],ce+=le),ce}C.src="data:audio/x-"+u.substr(-3)+";base64,"+U(n),E(C)},C.src=x,Browser.safeSetTimeout(function(){E(C)},1e4)}else return w()},Module.preloadPlugins.push(e);function r(){Browser.pointerLock=document.pointerLockElement===Module.canvas||document.mozPointerLockElement===Module.canvas||document.webkitPointerLockElement===Module.canvas||document.msPointerLockElement===Module.canvas}var o=Module.canvas;o&&(o.requestPointerLock=o.requestPointerLock||o.mozRequestPointerLock||o.webkitRequestPointerLock||o.msRequestPointerLock||function(){},o.exitPointerLock=document.exitPointerLock||document.mozExitPointerLock||document.webkitExitPointerLock||document.msExitPointerLock||function(){},o.exitPointerLock=o.exitPointerLock.bind(document),document.addEventListener("pointerlockchange",r,!1),document.addEventListener("mozpointerlockchange",r,!1),document.addEventListener("webkitpointerlockchange",r,!1),document.addEventListener("mspointerlockchange",r,!1),Module.elementPointerLock&&o.addEventListener("click",function(a){!Browser.pointerLock&&Module.canvas.requestPointerLock&&(Module.canvas.requestPointerLock(),a.preventDefault())},!1))},createContext:function(t,e,r,o){if(e&&Module.ctx&&t==Module.canvas)return Module.ctx;var a,n;if(e){var u={antialias:!1,alpha:!1};if(o)for(var A in o)u[A]=o[A];n=GL.createContext(t,u),n&&(a=GL.getContext(n).GLctx)}else a=t.getContext("2d");return a?(r&&(e||assert(typeof GLctx>"u","cannot set in module if GLctx is used, but we are a non-GL context that would replace it"),Module.ctx=a,e&&GL.makeContextCurrent(n),Module.useWebGL=e,Browser.moduleContextCreatedCallbacks.forEach(function(p){p()}),Browser.init()),a):null},destroyContext:function(t,e,r){},fullscreenHandlersInstalled:!1,lockPointer:void 0,resizeCanvas:void 0,requestFullscreen:function(t,e,r){Browser.lockPointer=t,Browser.resizeCanvas=e,Browser.vrDevice=r,typeof Browser.lockPointer>"u"&&(Browser.lockPointer=!0),typeof Browser.resizeCanvas>"u"&&(Browser.resizeCanvas=!1),typeof Browser.vrDevice>"u"&&(Browser.vrDevice=null);var o=Module.canvas;function a(){Browser.isFullscreen=!1;var u=o.parentNode;(document.fullscreenElement||document.mozFullScreenElement||document.msFullscreenElement||document.webkitFullscreenElement||document.webkitCurrentFullScreenElement)===u?(o.exitFullscreen=document.exitFullscreen||document.cancelFullScreen||document.mozCancelFullScreen||document.msExitFullscreen||document.webkitCancelFullScreen||function(){},o.exitFullscreen=o.exitFullscreen.bind(document),Browser.lockPointer&&o.requestPointerLock(),Browser.isFullscreen=!0,Browser.resizeCanvas&&Browser.setFullscreenCanvasSize()):(u.parentNode.insertBefore(o,u),u.parentNode.removeChild(u),Browser.resizeCanvas&&Browser.setWindowedCanvasSize()),Module.onFullScreen&&Module.onFullScreen(Browser.isFullscreen),Module.onFullscreen&&Module.onFullscreen(Browser.isFullscreen),Browser.updateCanvasDimensions(o)}Browser.fullscreenHandlersInstalled||(Browser.fullscreenHandlersInstalled=!0,document.addEventListener("fullscreenchange",a,!1),document.addEventListener("mozfullscreenchange",a,!1),document.addEventListener("webkitfullscreenchange",a,!1),document.addEventListener("MSFullscreenChange",a,!1));var n=document.createElement("div");o.parentNode.insertBefore(n,o),n.appendChild(o),n.requestFullscreen=n.requestFullscreen||n.mozRequestFullScreen||n.msRequestFullscreen||(n.webkitRequestFullscreen?function(){n.webkitRequestFullscreen(Element.ALLOW_KEYBOARD_INPUT)}:null)||(n.webkitRequestFullScreen?function(){n.webkitRequestFullScreen(Element.ALLOW_KEYBOARD_INPUT)}:null),r?n.requestFullscreen({vrDisplay:r}):n.requestFullscreen()},requestFullScreen:function(t,e,r){return Module.printErr("Browser.requestFullScreen() is deprecated. Please call Browser.requestFullscreen instead."),Browser.requestFullScreen=function(o,a,n){return Browser.requestFullscreen(o,a,n)},Browser.requestFullscreen(t,e,r)},nextRAF:0,fakeRequestAnimationFrame:function(t){var e=Date.now();if(Browser.nextRAF===0)Browser.nextRAF=e+1e3/60;else for(;e+2>=Browser.nextRAF;)Browser.nextRAF+=1e3/60;var r=Math.max(Browser.nextRAF-e,0);setTimeout(t,r)},requestAnimationFrame:function t(e){typeof window>"u"?Browser.fakeRequestAnimationFrame(e):(window.requestAnimationFrame||(window.requestAnimationFrame=window.requestAnimationFrame||window.mozRequestAnimationFrame||window.webkitRequestAnimationFrame||window.msRequestAnimationFrame||window.oRequestAnimationFrame||Browser.fakeRequestAnimationFrame),window.requestAnimationFrame(e))},safeCallback:function(t){return function(){if(!ABORT)return t.apply(null,arguments)}},allowAsyncCallbacks:!0,queuedAsyncCallbacks:[],pauseAsyncCallbacks:function(){Browser.allowAsyncCallbacks=!1},resumeAsyncCallbacks:function(){if(Browser.allowAsyncCallbacks=!0,Browser.queuedAsyncCallbacks.length>0){var t=Browser.queuedAsyncCallbacks;Browser.queuedAsyncCallbacks=[],t.forEach(function(e){e()})}},safeRequestAnimationFrame:function(t){return Browser.requestAnimationFrame(function(){ABORT||(Browser.allowAsyncCallbacks?t():Browser.queuedAsyncCallbacks.push(t))})},safeSetTimeout:function(t,e){return Module.noExitRuntime=!0,setTimeout(function(){ABORT||(Browser.allowAsyncCallbacks?t():Browser.queuedAsyncCallbacks.push(t))},e)},safeSetInterval:function(t,e){return Module.noExitRuntime=!0,setInterval(function(){ABORT||Browser.allowAsyncCallbacks&&t()},e)},getMimetype:function(t){return{jpg:"image/jpeg",jpeg:"image/jpeg",png:"image/png",bmp:"image/bmp",ogg:"audio/ogg",wav:"audio/wav",mp3:"audio/mpeg"}[t.substr(t.lastIndexOf(".")+1)]},getUserMedia:function(t){window.getUserMedia||(window.getUserMedia=navigator.getUserMedia||navigator.mozGetUserMedia),window.getUserMedia(t)},getMovementX:function(t){return t.movementX||t.mozMovementX||t.webkitMovementX||0},getMovementY:function(t){return t.movementY||t.mozMovementY||t.webkitMovementY||0},getMouseWheelDelta:function(t){var e=0;switch(t.type){case"DOMMouseScroll":e=t.detail;break;case"mousewheel":e=t.wheelDelta;break;case"wheel":e=t.deltaY;break;default:throw"unrecognized mouse wheel event: "+t.type}return e},mouseX:0,mouseY:0,mouseMovementX:0,mouseMovementY:0,touches:{},lastTouches:{},calculateMouseEvent:function(t){if(Browser.pointerLock)t.type!="mousemove"&&"mozMovementX"in t?Browser.mouseMovementX=Browser.mouseMovementY=0:(Browser.mouseMovementX=Browser.getMovementX(t),Browser.mouseMovementY=Browser.getMovementY(t)),typeof SDL<"u"?(Browser.mouseX=SDL.mouseX+Browser.mouseMovementX,Browser.mouseY=SDL.mouseY+Browser.mouseMovementY):(Browser.mouseX+=Browser.mouseMovementX,Browser.mouseY+=Browser.mouseMovementY);else{var e=Module.canvas.getBoundingClientRect(),r=Module.canvas.width,o=Module.canvas.height,a=typeof window.scrollX<"u"?window.scrollX:window.pageXOffset,n=typeof window.scrollY<"u"?window.scrollY:window.pageYOffset;if(t.type==="touchstart"||t.type==="touchend"||t.type==="touchmove"){var u=t.touch;if(u===void 0)return;var A=u.pageX-(a+e.left),p=u.pageY-(n+e.top);A=A*(r/e.width),p=p*(o/e.height);var h={x:A,y:p};if(t.type==="touchstart")Browser.lastTouches[u.identifier]=h,Browser.touches[u.identifier]=h;else if(t.type==="touchend"||t.type==="touchmove"){var E=Browser.touches[u.identifier];E||(E=h),Browser.lastTouches[u.identifier]=E,Browser.touches[u.identifier]=h}return}var w=t.pageX-(a+e.left),D=t.pageY-(n+e.top);w=w*(r/e.width),D=D*(o/e.height),Browser.mouseMovementX=w-Browser.mouseX,Browser.mouseMovementY=D-Browser.mouseY,Browser.mouseX=w,Browser.mouseY=D}},asyncLoad:function(t,e,r,o){var a=o?"":"al "+t;Module.readAsync(t,function(n){assert(n,'Loading data file "'+t+'" failed (no arrayBuffer).'),e(new Uint8Array(n)),a&&removeRunDependency(a)},function(n){if(r)r();else throw'Loading data file "'+t+'" failed.'}),a&&addRunDependency(a)},resizeListeners:[],updateResizeListeners:function(){var t=Module.canvas;Browser.resizeListeners.forEach(function(e){e(t.width,t.height)})},setCanvasSize:function(t,e,r){var o=Module.canvas;Browser.updateCanvasDimensions(o,t,e),r||Browser.updateResizeListeners()},windowedWidth:0,windowedHeight:0,setFullscreenCanvasSize:function(){if(typeof SDL<"u"){var t=HEAPU32[SDL.screen+Runtime.QUANTUM_SIZE*0>>2];t=t|8388608,HEAP32[SDL.screen+Runtime.QUANTUM_SIZE*0>>2]=t}Browser.updateResizeListeners()},setWindowedCanvasSize:function(){if(typeof SDL<"u"){var t=HEAPU32[SDL.screen+Runtime.QUANTUM_SIZE*0>>2];t=t&-8388609,HEAP32[SDL.screen+Runtime.QUANTUM_SIZE*0>>2]=t}Browser.updateResizeListeners()},updateCanvasDimensions:function(t,e,r){e&&r?(t.widthNative=e,t.heightNative=r):(e=t.widthNative,r=t.heightNative);var o=e,a=r;if(Module.forcedAspectRatio&&Module.forcedAspectRatio>0&&(o/a<Module.forcedAspectRatio?o=Math.round(a*Module.forcedAspectRatio):a=Math.round(o/Module.forcedAspectRatio)),(document.fullscreenElement||document.mozFullScreenElement||document.msFullscreenElement||document.webkitFullscreenElement||document.webkitCurrentFullScreenElement)===t.parentNode&&typeof screen<"u"){var n=Math.min(screen.width/o,screen.height/a);o=Math.round(o*n),a=Math.round(a*n)}Browser.resizeCanvas?(t.width!=o&&(t.width=o),t.height!=a&&(t.height=a),typeof t.style<"u"&&(t.style.removeProperty("width"),t.style.removeProperty("height"))):(t.width!=e&&(t.width=e),t.height!=r&&(t.height=r),typeof t.style<"u"&&(o!=e||a!=r?(t.style.setProperty("width",o+"px","important"),t.style.setProperty("height",a+"px","important")):(t.style.removeProperty("width"),t.style.removeProperty("height"))))},wgetRequests:{},nextWgetRequestHandle:0,getNextWgetRequestHandle:function(){var t=Browser.nextWgetRequestHandle;return Browser.nextWgetRequestHandle++,t}},SYSCALLS={varargs:0,get:function(t){SYSCALLS.varargs+=4;var e=HEAP32[SYSCALLS.varargs-4>>2];return e},getStr:function(){var t=Pointer_stringify(SYSCALLS.get());return t},get64:function(){var t=SYSCALLS.get(),e=SYSCALLS.get();return t>=0?assert(e===0):assert(e===-1),t},getZero:function(){assert(SYSCALLS.get()===0)}};function ___syscall6(t,e){SYSCALLS.varargs=e;try{var r=SYSCALLS.getStreamFromFD();return FS.close(r),0}catch(o){return(typeof FS>"u"||!(o instanceof FS.ErrnoError))&&abort(o),-o.errno}}function ___syscall54(t,e){SYSCALLS.varargs=e;try{return 0}catch(r){return(typeof FS>"u"||!(r instanceof FS.ErrnoError))&&abort(r),-r.errno}}function _typeModule(t){var e=[[0,1,"X"],[1,1,"const X"],[128,1,"X *"],[256,1,"X &"],[384,1,"X &&"],[512,1,"std::shared_ptr<X>"],[640,1,"std::unique_ptr<X>"],[5120,1,"std::vector<X>"],[6144,2,"std::array<X, Y>"],[9216,-1,"std::function<X (Y)>"]];function r(p,h,E,w,D,x){if(h==1){var C=w&896;(C==128||C==256||C==384)&&(p="X const")}var T;return x?T=E.replace("X",p).replace("Y",D):T=p.replace("X",E).replace("Y",D),T.replace(/([*&]) (?=[*&])/g,"$1")}function o(p,h,E,w,D){throw new Error(p+" type "+E.replace("X",h+"?")+(w?" with flag "+w:"")+" in "+D)}function a(p,h,E,w,D,x,C,T){x===void 0&&(x="X"),T===void 0&&(T=1);var L=E(p);if(L)return L;var U=w(p),J=U.placeholderFlag,te=e[J];C&&te&&(x=r(C[2],C[0],x,te[0],"?",!0));var le;J==0&&(le="Unbound"),J>=10&&(le="Corrupt"),T>20&&(le="Deeply nested"),le&&o(le,p,x,J,D||"?");var ce=U.paramList[0],ue=a(ce,h,E,w,D,x,te,T+1),Ie,he={flags:te[0],id:p,name:"",paramList:[ue]},De=[],Ee="?";switch(U.placeholderFlag){case 1:Ie=ue.spec;break;case 2:if((ue.flags&15360)==1024&&ue.spec.ptrSize==1){he.flags=7168;break}case 3:case 6:case 5:Ie=ue.spec,ue.flags&15360;break;case 8:Ee=""+U.paramList[1],he.paramList.push(U.paramList[1]);break;case 9:for(var g=0,me=U.paramList[1];g<me.length;g++){var Ce=me[g],fe=a(Ce,h,E,w,D,x,te,T+1);De.push(fe.name),he.paramList.push(fe)}Ee=De.join(", ");break;default:break}if(he.name=r(te[2],te[0],ue.name,ue.flags,Ee),Ie){for(var ie=0,Z=Object.keys(Ie);ie<Z.length;ie++){var Pe=Z[ie];he[Pe]=he[Pe]||Ie[Pe]}he.flags|=Ie.flags}return n(h,he)}function n(p,h){var E=h.flags,w=E&896,D=E&15360;return!h.name&&D==1024&&(h.ptrSize==1?h.name=(E&16?"":(E&8?"un":"")+"signed ")+"char":h.name=(E&8?"u":"")+(E&32?"float":"int")+(h.ptrSize*8+"_t")),h.ptrSize==8&&!(E&32)&&(D=64),D==2048&&(w==512||w==640?D=4096:w&&(D=3072)),p(D,h)}var u=function(){function p(h){this.id=h.id,this.name=h.name,this.flags=h.flags,this.spec=h}return p.prototype.toString=function(){return this.name},p}(),A={Type:u,getComplexType:a,makeType:n,structureList:e};return t.output=A,t.output||A}function __nbind_register_type(t,e){var r=_nbind.readAsciiString(e),o={flags:10240,id:t,name:r};_nbind.makeType(_nbind.constructType,o)}function __nbind_register_callback_signature(t,e){var r=_nbind.readTypeIdList(t,e),o=_nbind.callbackSignatureList.length;return _nbind.callbackSignatureList[o]=_nbind.makeJSCaller(r),o}function __extends(t,e){for(var r in e)e.hasOwnProperty(r)&&(t[r]=e[r]);function o(){this.constructor=t}o.prototype=e.prototype,t.prototype=new o}function __nbind_register_class(t,e,r,o,a,n,u){var A=_nbind.readAsciiString(u),p=_nbind.readPolicyList(e),h=HEAPU32.subarray(t/4,t/4+2),E={flags:2048|(p.Value?2:0),id:h[0],name:A},w=_nbind.makeType(_nbind.constructType,E);w.ptrType=_nbind.getComplexType(h[1],_nbind.constructType,_nbind.getType,_nbind.queryType),w.destroy=_nbind.makeMethodCaller(w.ptrType,{boundID:E.id,flags:0,name:"destroy",num:0,ptr:n,title:w.name+".free",typeList:["void","uint32_t","uint32_t"]}),a&&(w.superIdList=Array.prototype.slice.call(HEAPU32.subarray(r/4,r/4+a)),w.upcastList=Array.prototype.slice.call(HEAPU32.subarray(o/4,o/4+a))),Module[w.name]=w.makeBound(p),_nbind.BindClass.list.push(w)}function _removeAccessorPrefix(t){var e=/^[Gg]et_?([A-Z]?([A-Z]?))/;return t.replace(e,function(r,o,a){return a?o:o.toLowerCase()})}function __nbind_register_function(t,e,r,o,a,n,u,A,p,h){var E=_nbind.getType(t),w=_nbind.readPolicyList(e),D=_nbind.readTypeIdList(r,o),x;if(u==5)x=[{direct:a,name:"__nbindConstructor",ptr:0,title:E.name+" constructor",typeList:["uint32_t"].concat(D.slice(1))},{direct:n,name:"__nbindValueConstructor",ptr:0,title:E.name+" value constructor",typeList:["void","uint32_t"].concat(D.slice(1))}];else{var C=_nbind.readAsciiString(A),T=(E.name&&E.name+".")+C;(u==3||u==4)&&(C=_removeAccessorPrefix(C)),x=[{boundID:t,direct:n,name:C,ptr:a,title:T,typeList:D}]}for(var L=0,U=x;L<U.length;L++){var J=U[L];J.signatureType=u,J.policyTbl=w,J.num=p,J.flags=h,E.addMethod(J)}}function _nbind_value(t,e){_nbind.typeNameTbl[t]||_nbind.throwError("Unknown value type "+t),Module.NBind.bind_value(t,e),_defineHidden(_nbind.typeNameTbl[t].proto.prototype.__nbindValueConstructor)(e.prototype,"__nbindValueConstructor")}Module._nbind_value=_nbind_value;function __nbind_get_value_object(t,e){var r=_nbind.popValue(t);if(!r.fromJS)throw new Error("Object "+r+" has no fromJS function");r.fromJS(function(){r.__nbindValueConstructor.apply(this,Array.prototype.concat.apply([e],arguments))})}function _emscripten_memcpy_big(t,e,r){return HEAPU8.set(HEAPU8.subarray(e,e+r),t),t}function __nbind_register_primitive(t,e,r){var o={flags:1024|r,id:t,ptrSize:e};_nbind.makeType(_nbind.constructType,o)}var cttz_i8=allocate([8,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,6,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,7,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,6,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0],"i8",ALLOC_STATIC);function ___setErrNo(t){return Module.___errno_location&&(HEAP32[Module.___errno_location()>>2]=t),t}function _llvm_stacksave(){var t=_llvm_stacksave;return t.LLVM_SAVEDSTACKS||(t.LLVM_SAVEDSTACKS=[]),t.LLVM_SAVEDSTACKS.push(Runtime.stackSave()),t.LLVM_SAVEDSTACKS.length-1}function ___syscall140(t,e){SYSCALLS.varargs=e;try{var r=SYSCALLS.getStreamFromFD(),o=SYSCALLS.get(),a=SYSCALLS.get(),n=SYSCALLS.get(),u=SYSCALLS.get(),A=a;return FS.llseek(r,A,u),HEAP32[n>>2]=r.position,r.getdents&&A===0&&u===0&&(r.getdents=null),0}catch(p){return(typeof FS>"u"||!(p instanceof FS.ErrnoError))&&abort(p),-p.errno}}function ___syscall146(t,e){SYSCALLS.varargs=e;try{var r=SYSCALLS.get(),o=SYSCALLS.get(),a=SYSCALLS.get(),n=0;___syscall146.buffer||(___syscall146.buffers=[null,[],[]],___syscall146.printChar=function(E,w){var D=___syscall146.buffers[E];assert(D),w===0||w===10?((E===1?Module.print:Module.printErr)(UTF8ArrayToString(D,0)),D.length=0):D.push(w)});for(var u=0;u<a;u++){for(var A=HEAP32[o+u*8>>2],p=HEAP32[o+(u*8+4)>>2],h=0;h<p;h++)___syscall146.printChar(r,HEAPU8[A+h]);n+=p}return n}catch(E){return(typeof FS>"u"||!(E instanceof FS.ErrnoError))&&abort(E),-E.errno}}function __nbind_finish(){for(var t=0,e=_nbind.BindClass.list;t<e.length;t++){var r=e[t];r.finish()}}var ___dso_handle=STATICTOP;STATICTOP+=16,function(_nbind){var typeIdTbl={};_nbind.typeNameTbl={};var Pool=function(){function t(){}return t.lalloc=function(e){e=e+7&-8;var r=HEAPU32[t.usedPtr];if(e>t.pageSize/2||e>t.pageSize-r){var o=_nbind.typeNameTbl.NBind.proto;return o.lalloc(e)}else return HEAPU32[t.usedPtr]=r+e,t.rootPtr+r},t.lreset=function(e,r){var o=HEAPU32[t.pagePtr];if(o){var a=_nbind.typeNameTbl.NBind.proto;a.lreset(e,r)}else HEAPU32[t.usedPtr]=e},t}();_nbind.Pool=Pool;function constructType(t,e){var r=t==10240?_nbind.makeTypeNameTbl[e.name]||_nbind.BindType:_nbind.makeTypeKindTbl[t],o=new r(e);return typeIdTbl[e.id]=o,_nbind.typeNameTbl[e.name]=o,o}_nbind.constructType=constructType;function getType(t){return typeIdTbl[t]}_nbind.getType=getType;function queryType(t){var e=HEAPU8[t],r=_nbind.structureList[e][1];t/=4,r<0&&(++t,r=HEAPU32[t]+1);var o=Array.prototype.slice.call(HEAPU32.subarray(t+1,t+1+r));return e==9&&(o=[o[0],o.slice(1)]),{paramList:o,placeholderFlag:e}}_nbind.queryType=queryType;function getTypes(t,e){return t.map(function(r){return typeof r=="number"?_nbind.getComplexType(r,constructType,getType,queryType,e):_nbind.typeNameTbl[r]})}_nbind.getTypes=getTypes;function readTypeIdList(t,e){return Array.prototype.slice.call(HEAPU32,t/4,t/4+e)}_nbind.readTypeIdList=readTypeIdList;function readAsciiString(t){for(var e=t;HEAPU8[e++];);return String.fromCharCode.apply("",HEAPU8.subarray(t,e-1))}_nbind.readAsciiString=readAsciiString;function readPolicyList(t){var e={};if(t)for(;;){var r=HEAPU32[t/4];if(!r)break;e[readAsciiString(r)]=!0,t+=4}return e}_nbind.readPolicyList=readPolicyList;function getDynCall(t,e){var r={float32_t:"d",float64_t:"d",int64_t:"d",uint64_t:"d",void:"v"},o=t.map(function(n){return r[n.name]||"i"}).join(""),a=Module["dynCall_"+o];if(!a)throw new Error("dynCall_"+o+" not found for "+e+"("+t.map(function(n){return n.name}).join(", ")+")");return a}_nbind.getDynCall=getDynCall;function addMethod(t,e,r,o){var a=t[e];t.hasOwnProperty(e)&&a?((a.arity||a.arity===0)&&(a=_nbind.makeOverloader(a,a.arity),t[e]=a),a.addMethod(r,o)):(r.arity=o,t[e]=r)}_nbind.addMethod=addMethod;function throwError(t){throw new Error(t)}_nbind.throwError=throwError,_nbind.bigEndian=!1,_a=_typeModule(_typeModule),_nbind.Type=_a.Type,_nbind.makeType=_a.makeType,_nbind.getComplexType=_a.getComplexType,_nbind.structureList=_a.structureList;var BindType=function(t){__extends(e,t);function e(){var r=t!==null&&t.apply(this,arguments)||this;return r.heap=HEAPU32,r.ptrSize=4,r}return e.prototype.needsWireRead=function(r){return!!this.wireRead||!!this.makeWireRead},e.prototype.needsWireWrite=function(r){return!!this.wireWrite||!!this.makeWireWrite},e}(_nbind.Type);_nbind.BindType=BindType;var PrimitiveType=function(t){__extends(e,t);function e(r){var o=t.call(this,r)||this,a=r.flags&32?{32:HEAPF32,64:HEAPF64}:r.flags&8?{8:HEAPU8,16:HEAPU16,32:HEAPU32}:{8:HEAP8,16:HEAP16,32:HEAP32};return o.heap=a[r.ptrSize*8],o.ptrSize=r.ptrSize,o}return e.prototype.needsWireWrite=function(r){return!!r&&!!r.Strict},e.prototype.makeWireWrite=function(r,o){return o&&o.Strict&&function(a){if(typeof a=="number")return a;throw new Error("Type mismatch")}},e}(BindType);_nbind.PrimitiveType=PrimitiveType;function pushCString(t,e){if(t==null){if(e&&e.Nullable)return 0;throw new Error("Type mismatch")}if(e&&e.Strict){if(typeof t!="string")throw new Error("Type mismatch")}else t=t.toString();var r=Module.lengthBytesUTF8(t)+1,o=_nbind.Pool.lalloc(r);return Module.stringToUTF8Array(t,HEAPU8,o,r),o}_nbind.pushCString=pushCString;function popCString(t){return t===0?null:Module.Pointer_stringify(t)}_nbind.popCString=popCString;var CStringType=function(t){__extends(e,t);function e(){var r=t!==null&&t.apply(this,arguments)||this;return r.wireRead=popCString,r.wireWrite=pushCString,r.readResources=[_nbind.resources.pool],r.writeResources=[_nbind.resources.pool],r}return e.prototype.makeWireWrite=function(r,o){return function(a){return pushCString(a,o)}},e}(BindType);_nbind.CStringType=CStringType;var BooleanType=function(t){__extends(e,t);function e(){var r=t!==null&&t.apply(this,arguments)||this;return r.wireRead=function(o){return!!o},r}return e.prototype.needsWireWrite=function(r){return!!r&&!!r.Strict},e.prototype.makeWireRead=function(r){return"!!("+r+")"},e.prototype.makeWireWrite=function(r,o){return o&&o.Strict&&function(a){if(typeof a=="boolean")return a;throw new Error("Type mismatch")}||r},e}(BindType);_nbind.BooleanType=BooleanType;var Wrapper=function(){function t(){}return t.prototype.persist=function(){this.__nbindState|=1},t}();_nbind.Wrapper=Wrapper;function makeBound(t,e){var r=function(o){__extends(a,o);function a(n,u,A,p){var h=o.call(this)||this;if(!(h instanceof a))return new(Function.prototype.bind.apply(a,Array.prototype.concat.apply([null],arguments)));var E=u,w=A,D=p;if(n!==_nbind.ptrMarker){var x=h.__nbindConstructor.apply(h,arguments);E=4608,D=HEAPU32[x/4],w=HEAPU32[x/4+1]}var C={configurable:!0,enumerable:!1,value:null,writable:!1},T={__nbindFlags:E,__nbindPtr:w};D&&(T.__nbindShared=D,_nbind.mark(h));for(var L=0,U=Object.keys(T);L<U.length;L++){var J=U[L];C.value=T[J],Object.defineProperty(h,J,C)}return _defineHidden(0)(h,"__nbindState"),h}return a.prototype.free=function(){e.destroy.call(this,this.__nbindShared,this.__nbindFlags),this.__nbindState|=2,disableMember(this,"__nbindShared"),disableMember(this,"__nbindPtr")},a}(Wrapper);return __decorate([_defineHidden()],r.prototype,"__nbindConstructor",void 0),__decorate([_defineHidden()],r.prototype,"__nbindValueConstructor",void 0),__decorate([_defineHidden(t)],r.prototype,"__nbindPolicies",void 0),r}_nbind.makeBound=makeBound;function disableMember(t,e){function r(){throw new Error("Accessing deleted object")}Object.defineProperty(t,e,{configurable:!1,enumerable:!1,get:r,set:r})}_nbind.ptrMarker={};var BindClass=function(t){__extends(e,t);function e(r){var o=t.call(this,r)||this;return o.wireRead=function(a){return _nbind.popValue(a,o.ptrType)},o.wireWrite=function(a){return pushPointer(a,o.ptrType,!0)},o.pendingSuperCount=0,o.ready=!1,o.methodTbl={},r.paramList?(o.classType=r.paramList[0].classType,o.proto=o.classType.proto):o.classType=o,o}return e.prototype.makeBound=function(r){var o=_nbind.makeBound(r,this);return this.proto=o,this.ptrType.proto=o,o},e.prototype.addMethod=function(r){var o=this.methodTbl[r.name]||[];o.push(r),this.methodTbl[r.name]=o},e.prototype.registerMethods=function(r,o){for(var a,n=0,u=Object.keys(r.methodTbl);n<u.length;n++)for(var A=u[n],p=r.methodTbl[A],h=0,E=p;h<E.length;h++){var w=E[h],D=void 0,x=void 0;if(D=this.proto.prototype,!(o&&w.signatureType!=1))switch(w.signatureType){case 1:D=this.proto;case 5:x=_nbind.makeCaller(w),_nbind.addMethod(D,w.name,x,w.typeList.length-1);break;case 4:a=_nbind.makeMethodCaller(r.ptrType,w);break;case 3:Object.defineProperty(D,w.name,{configurable:!0,enumerable:!1,get:_nbind.makeMethodCaller(r.ptrType,w),set:a});break;case 2:x=_nbind.makeMethodCaller(r.ptrType,w),_nbind.addMethod(D,w.name,x,w.typeList.length-1);break;default:break}}},e.prototype.registerSuperMethods=function(r,o,a){if(!a[r.name]){a[r.name]=!0;for(var n=0,u,A=0,p=r.superIdList||[];A<p.length;A++){var h=p[A],E=_nbind.getType(h);n++<o||o<0?u=-1:u=0,this.registerSuperMethods(E,u,a)}this.registerMethods(r,o<0)}},e.prototype.finish=function(){if(this.ready)return this;this.ready=!0,this.superList=(this.superIdList||[]).map(function(a){return _nbind.getType(a).finish()});var r=this.proto;if(this.superList.length){var o=function(){this.constructor=r};o.prototype=this.superList[0].proto.prototype,r.prototype=new o}return r!=Module&&(r.prototype.__nbindType=this),this.registerSuperMethods(this,1,{}),this},e.prototype.upcastStep=function(r,o){if(r==this)return o;for(var a=0;a<this.superList.length;++a){var n=this.superList[a].upcastStep(r,_nbind.callUpcast(this.upcastList[a],o));if(n)return n}return 0},e}(_nbind.BindType);BindClass.list=[],_nbind.BindClass=BindClass;function popPointer(t,e){return t?new e.proto(_nbind.ptrMarker,e.flags,t):null}_nbind.popPointer=popPointer;function pushPointer(t,e,r){if(!(t instanceof _nbind.Wrapper)){if(r)return _nbind.pushValue(t);throw new Error("Type mismatch")}var o=t.__nbindPtr,a=t.__nbindType.classType,n=e.classType;if(t instanceof e.proto)for(;a!=n;)o=_nbind.callUpcast(a.upcastList[0],o),a=a.superList[0];else if(o=a.upcastStep(n,o),!o)throw new Error("Type mismatch");return o}_nbind.pushPointer=pushPointer;function pushMutablePointer(t,e){var r=pushPointer(t,e);if(t.__nbindFlags&1)throw new Error("Passing a const value as a non-const argument");return r}var BindClassPtr=function(t){__extends(e,t);function e(r){var o=t.call(this,r)||this;o.classType=r.paramList[0].classType,o.proto=o.classType.proto;var a=r.flags&1,n=(o.flags&896)==256&&r.flags&2,u=a?pushPointer:pushMutablePointer,A=n?_nbind.popValue:popPointer;return o.makeWireWrite=function(p,h){return h.Nullable?function(E){return E?u(E,o):0}:function(E){return u(E,o)}},o.wireRead=function(p){return A(p,o)},o.wireWrite=function(p){return u(p,o)},o}return e}(_nbind.BindType);_nbind.BindClassPtr=BindClassPtr;function popShared(t,e){var r=HEAPU32[t/4],o=HEAPU32[t/4+1];return o?new e.proto(_nbind.ptrMarker,e.flags,o,r):null}_nbind.popShared=popShared;function pushShared(t,e){if(!(t instanceof e.proto))throw new Error("Type mismatch");return t.__nbindShared}function pushMutableShared(t,e){if(!(t instanceof e.proto))throw new Error("Type mismatch");if(t.__nbindFlags&1)throw new Error("Passing a const value as a non-const argument");return t.__nbindShared}var SharedClassPtr=function(t){__extends(e,t);function e(r){var o=t.call(this,r)||this;o.readResources=[_nbind.resources.pool],o.classType=r.paramList[0].classType,o.proto=o.classType.proto;var a=r.flags&1,n=a?pushShared:pushMutableShared;return o.wireRead=function(u){return popShared(u,o)},o.wireWrite=function(u){return n(u,o)},o}return e}(_nbind.BindType);_nbind.SharedClassPtr=SharedClassPtr,_nbind.externalList=[0];var firstFreeExternal=0,External=function(){function t(e){this.refCount=1,this.data=e}return t.prototype.register=function(){var e=firstFreeExternal;return e?firstFreeExternal=_nbind.externalList[e]:e=_nbind.externalList.length,_nbind.externalList[e]=this,e},t.prototype.reference=function(){++this.refCount},t.prototype.dereference=function(e){--this.refCount==0&&(this.free&&this.free(),_nbind.externalList[e]=firstFreeExternal,firstFreeExternal=e)},t}();_nbind.External=External;function popExternal(t){var e=_nbind.externalList[t];return e.dereference(t),e.data}function pushExternal(t){var e=new External(t);return e.reference(),e.register()}var ExternalType=function(t){__extends(e,t);function e(){var r=t!==null&&t.apply(this,arguments)||this;return r.wireRead=popExternal,r.wireWrite=pushExternal,r}return e}(_nbind.BindType);_nbind.ExternalType=ExternalType,_nbind.callbackSignatureList=[];var CallbackType=function(t){__extends(e,t);function e(){var r=t!==null&&t.apply(this,arguments)||this;return r.wireWrite=function(o){return typeof o!="function"&&_nbind.throwError("Type mismatch"),new _nbind.External(o).register()},r}return e}(_nbind.BindType);_nbind.CallbackType=CallbackType,_nbind.valueList=[0];var firstFreeValue=0;function pushValue(t){var e=firstFreeValue;return e?firstFreeValue=_nbind.valueList[e]:e=_nbind.valueList.length,_nbind.valueList[e]=t,e*2+1}_nbind.pushValue=pushValue;function popValue(t,e){if(t||_nbind.throwError("Value type JavaScript class is missing or not registered"),t&1){t>>=1;var r=_nbind.valueList[t];return _nbind.valueList[t]=firstFreeValue,firstFreeValue=t,r}else{if(e)return _nbind.popShared(t,e);throw new Error("Invalid value slot "+t)}}_nbind.popValue=popValue;var valueBase=18446744073709552e3;function push64(t){return typeof t=="number"?t:pushValue(t)*4096+valueBase}function pop64(t){return t<valueBase?t:popValue((t-valueBase)/4096)}var CreateValueType=function(t){__extends(e,t);function e(){return t!==null&&t.apply(this,arguments)||this}return e.prototype.makeWireWrite=function(r){return"(_nbind.pushValue(new "+r+"))"},e}(_nbind.BindType);_nbind.CreateValueType=CreateValueType;var Int64Type=function(t){__extends(e,t);function e(){var r=t!==null&&t.apply(this,arguments)||this;return r.wireWrite=push64,r.wireRead=pop64,r}return e}(_nbind.BindType);_nbind.Int64Type=Int64Type;function pushArray(t,e){if(!t)return 0;var r=t.length;if((e.size||e.size===0)&&r<e.size)throw new Error("Type mismatch");var o=e.memberType.ptrSize,a=_nbind.Pool.lalloc(4+r*o);HEAPU32[a/4]=r;var n=e.memberType.heap,u=(a+4)/o,A=e.memberType.wireWrite,p=0;if(A)for(;p<r;)n[u++]=A(t[p++]);else for(;p<r;)n[u++]=t[p++];return a}_nbind.pushArray=pushArray;function popArray(t,e){if(t===0)return null;var r=HEAPU32[t/4],o=new Array(r),a=e.memberType.heap;t=(t+4)/e.memberType.ptrSize;var n=e.memberType.wireRead,u=0;if(n)for(;u<r;)o[u++]=n(a[t++]);else for(;u<r;)o[u++]=a[t++];return o}_nbind.popArray=popArray;var ArrayType=function(t){__extends(e,t);function e(r){var o=t.call(this,r)||this;return o.wireRead=function(a){return popArray(a,o)},o.wireWrite=function(a){return pushArray(a,o)},o.readResources=[_nbind.resources.pool],o.writeResources=[_nbind.resources.pool],o.memberType=r.paramList[0],r.paramList[1]&&(o.size=r.paramList[1]),o}return e}(_nbind.BindType);_nbind.ArrayType=ArrayType;function pushString(t,e){if(t==null)if(e&&e.Nullable)t="";else throw new Error("Type mismatch");if(e&&e.Strict){if(typeof t!="string")throw new Error("Type mismatch")}else t=t.toString();var r=Module.lengthBytesUTF8(t),o=_nbind.Pool.lalloc(4+r+1);return HEAPU32[o/4]=r,Module.stringToUTF8Array(t,HEAPU8,o+4,r+1),o}_nbind.pushString=pushString;function popString(t){if(t===0)return null;var e=HEAPU32[t/4];return Module.Pointer_stringify(t+4,e)}_nbind.popString=popString;var StringType=function(t){__extends(e,t);function e(){var r=t!==null&&t.apply(this,arguments)||this;return r.wireRead=popString,r.wireWrite=pushString,r.readResources=[_nbind.resources.pool],r.writeResources=[_nbind.resources.pool],r}return e.prototype.makeWireWrite=function(r,o){return function(a){return pushString(a,o)}},e}(_nbind.BindType);_nbind.StringType=StringType;function makeArgList(t){return Array.apply(null,Array(t)).map(function(e,r){return"a"+(r+1)})}function anyNeedsWireWrite(t,e){return t.reduce(function(r,o){return r||o.needsWireWrite(e)},!1)}function anyNeedsWireRead(t,e){return t.reduce(function(r,o){return r||!!o.needsWireRead(e)},!1)}function makeWireRead(t,e,r,o){var a=t.length;return r.makeWireRead?r.makeWireRead(o,t,a):r.wireRead?(t[a]=r.wireRead,"(convertParamList["+a+"]("+o+"))"):o}function makeWireWrite(t,e,r,o){var a,n=t.length;return r.makeWireWrite?a=r.makeWireWrite(o,e,t,n):a=r.wireWrite,a?typeof a=="string"?a:(t[n]=a,"(convertParamList["+n+"]("+o+"))"):o}function buildCallerFunction(dynCall,ptrType,ptr,num,policyTbl,needsWireWrite,prefix,returnType,argTypeList,mask,err){var argList=makeArgList(argTypeList.length),convertParamList=[],callExpression=makeWireRead(convertParamList,policyTbl,returnType,"dynCall("+[prefix].concat(argList.map(function(t,e){return makeWireWrite(convertParamList,policyTbl,argTypeList[e],t)})).join(",")+")"),resourceSet=_nbind.listResources([returnType],argTypeList),sourceCode="function("+argList.join(",")+"){"+(mask?"this.__nbindFlags&mask&&err();":"")+resourceSet.makeOpen()+"var r="+callExpression+";"+resourceSet.makeClose()+"return r;}";return eval("("+sourceCode+")")}function buildJSCallerFunction(returnType,argTypeList){var argList=makeArgList(argTypeList.length),convertParamList=[],callExpression=makeWireWrite(convertParamList,null,returnType,"_nbind.externalList[num].data("+argList.map(function(t,e){return makeWireRead(convertParamList,null,argTypeList[e],t)}).join(",")+")"),resourceSet=_nbind.listResources(argTypeList,[returnType]);resourceSet.remove(_nbind.resources.pool);var sourceCode="function("+["dummy","num"].concat(argList).join(",")+"){"+resourceSet.makeOpen()+"var r="+callExpression+";"+resourceSet.makeClose()+"return r;}";return eval("("+sourceCode+")")}_nbind.buildJSCallerFunction=buildJSCallerFunction;function makeJSCaller(t){var e=t.length-1,r=_nbind.getTypes(t,"callback"),o=r[0],a=r.slice(1),n=anyNeedsWireRead(a,null),u=o.needsWireWrite(null);if(!u&&!n)switch(e){case 0:return function(A,p){return _nbind.externalList[p].data()};case 1:return function(A,p,h){return _nbind.externalList[p].data(h)};case 2:return function(A,p,h,E){return _nbind.externalList[p].data(h,E)};case 3:return function(A,p,h,E,w){return _nbind.externalList[p].data(h,E,w)};default:break}return buildJSCallerFunction(o,a)}_nbind.makeJSCaller=makeJSCaller;function makeMethodCaller(t,e){var r=e.typeList.length-1,o=e.typeList.slice(0);o.splice(1,0,"uint32_t",e.boundID);var a=_nbind.getTypes(o,e.title),n=a[0],u=a.slice(3),A=n.needsWireRead(e.policyTbl),p=anyNeedsWireWrite(u,e.policyTbl),h=e.ptr,E=e.num,w=_nbind.getDynCall(a,e.title),D=~e.flags&1;function x(){throw new Error("Calling a non-const method on a const object")}if(!A&&!p)switch(r){case 0:return function(){return this.__nbindFlags&D?x():w(h,E,_nbind.pushPointer(this,t))};case 1:return function(C){return this.__nbindFlags&D?x():w(h,E,_nbind.pushPointer(this,t),C)};case 2:return function(C,T){return this.__nbindFlags&D?x():w(h,E,_nbind.pushPointer(this,t),C,T)};case 3:return function(C,T,L){return this.__nbindFlags&D?x():w(h,E,_nbind.pushPointer(this,t),C,T,L)};default:break}return buildCallerFunction(w,t,h,E,e.policyTbl,p,"ptr,num,pushPointer(this,ptrType)",n,u,D,x)}_nbind.makeMethodCaller=makeMethodCaller;function makeCaller(t){var e=t.typeList.length-1,r=_nbind.getTypes(t.typeList,t.title),o=r[0],a=r.slice(1),n=o.needsWireRead(t.policyTbl),u=anyNeedsWireWrite(a,t.policyTbl),A=t.direct,p=t.ptr;if(t.direct&&!n&&!u){var h=_nbind.getDynCall(r,t.title);switch(e){case 0:return function(){return h(A)};case 1:return function(x){return h(A,x)};case 2:return function(x,C){return h(A,x,C)};case 3:return function(x,C,T){return h(A,x,C,T)};default:break}p=0}var E;if(p){var w=t.typeList.slice(0);w.splice(1,0,"uint32_t"),r=_nbind.getTypes(w,t.title),E="ptr,num"}else p=A,E="ptr";var D=_nbind.getDynCall(r,t.title);return buildCallerFunction(D,null,p,t.num,t.policyTbl,u,E,o,a)}_nbind.makeCaller=makeCaller;function makeOverloader(t,e){var r=[];function o(){return r[arguments.length].apply(this,arguments)}return o.addMethod=function(a,n){r[n]=a},o.addMethod(t,e),o}_nbind.makeOverloader=makeOverloader;var Resource=function(){function t(e,r){var o=this;this.makeOpen=function(){return Object.keys(o.openTbl).join("")},this.makeClose=function(){return Object.keys(o.closeTbl).join("")},this.openTbl={},this.closeTbl={},e&&(this.openTbl[e]=!0),r&&(this.closeTbl[r]=!0)}return t.prototype.add=function(e){for(var r=0,o=Object.keys(e.openTbl);r<o.length;r++){var a=o[r];this.openTbl[a]=!0}for(var n=0,u=Object.keys(e.closeTbl);n<u.length;n++){var a=u[n];this.closeTbl[a]=!0}},t.prototype.remove=function(e){for(var r=0,o=Object.keys(e.openTbl);r<o.length;r++){var a=o[r];delete this.openTbl[a]}for(var n=0,u=Object.keys(e.closeTbl);n<u.length;n++){var a=u[n];delete this.closeTbl[a]}},t}();_nbind.Resource=Resource;function listResources(t,e){for(var r=new Resource,o=0,a=t;o<a.length;o++)for(var n=a[o],u=0,A=n.readResources||[];u<A.length;u++){var p=A[u];r.add(p)}for(var h=0,E=e;h<E.length;h++)for(var n=E[h],w=0,D=n.writeResources||[];w<D.length;w++){var p=D[w];r.add(p)}return r}_nbind.listResources=listResources,_nbind.resources={pool:new Resource("var used=HEAPU32[_nbind.Pool.usedPtr],page=HEAPU32[_nbind.Pool.pagePtr];","_nbind.Pool.lreset(used,page);")};var ExternalBuffer=function(t){__extends(e,t);function e(r,o){var a=t.call(this,r)||this;return a.ptr=o,a}return e.prototype.free=function(){_free(this.ptr)},e}(_nbind.External);function getBuffer(t){return t instanceof ArrayBuffer?new Uint8Array(t):t instanceof DataView?new Uint8Array(t.buffer,t.byteOffset,t.byteLength):t}function pushBuffer(t,e){if(t==null&&e&&e.Nullable&&(t=[]),typeof t!="object")throw new Error("Type mismatch");var r=t,o=r.byteLength||r.length;if(!o&&o!==0&&r.byteLength!==0)throw new Error("Type mismatch");var a=_nbind.Pool.lalloc(8),n=_malloc(o),u=a/4;return HEAPU32[u++]=o,HEAPU32[u++]=n,HEAPU32[u++]=new ExternalBuffer(t,n).register(),HEAPU8.set(getBuffer(t),n),a}var BufferType=function(t){__extends(e,t);function e(){var r=t!==null&&t.apply(this,arguments)||this;return r.wireWrite=pushBuffer,r.readResources=[_nbind.resources.pool],r.writeResources=[_nbind.resources.pool],r}return e.prototype.makeWireWrite=function(r,o){return function(a){return pushBuffer(a,o)}},e}(_nbind.BindType);_nbind.BufferType=BufferType;function commitBuffer(t,e,r){var o=_nbind.externalList[t].data,a=Buffer;if(typeof Buffer!="function"&&(a=function(){}),!(o instanceof Array)){var n=HEAPU8.subarray(e,e+r);if(o instanceof a){var u=void 0;typeof Buffer.from=="function"&&Buffer.from.length>=3?u=Buffer.from(n):u=new Buffer(n),u.copy(o)}else getBuffer(o).set(n)}}_nbind.commitBuffer=commitBuffer;var dirtyList=[],gcTimer=0;function sweep(){for(var t=0,e=dirtyList;t<e.length;t++){var r=e[t];r.__nbindState&3||r.free()}dirtyList=[],gcTimer=0}_nbind.mark=function(t){};function toggleLightGC(t){t?_nbind.mark=function(e){dirtyList.push(e),gcTimer||(gcTimer=setTimeout(sweep,0))}:_nbind.mark=function(e){}}_nbind.toggleLightGC=toggleLightGC}(_nbind),Module.requestFullScreen=function t(e,r,o){Module.printErr("Module.requestFullScreen is deprecated. Please call Module.requestFullscreen instead."),Module.requestFullScreen=Module.requestFullscreen,Browser.requestFullScreen(e,r,o)},Module.requestFullscreen=function t(e,r,o){Browser.requestFullscreen(e,r,o)},Module.requestAnimationFrame=function t(e){Browser.requestAnimationFrame(e)},Module.setCanvasSize=function t(e,r,o){Browser.setCanvasSize(e,r,o)},Module.pauseMainLoop=function t(){Browser.mainLoop.pause()},Module.resumeMainLoop=function t(){Browser.mainLoop.resume()},Module.getUserMedia=function t(){Browser.getUserMedia()},Module.createContext=function t(e,r,o,a){return Browser.createContext(e,r,o,a)},ENVIRONMENT_IS_NODE?_emscripten_get_now=function(){var e=process.hrtime();return e[0]*1e3+e[1]/1e6}:typeof dateNow<"u"?_emscripten_get_now=dateNow:typeof self=="object"&&self.performance&&typeof self.performance.now=="function"?_emscripten_get_now=function(){return self.performance.now()}:typeof performance=="object"&&typeof performance.now=="function"?_emscripten_get_now=function(){return performance.now()}:_emscripten_get_now=Date.now,__ATEXIT__.push(function(){var t=Module._fflush;t&&t(0);var e=___syscall146.printChar;if(e){var r=___syscall146.buffers;r[1].length&&e(1,10),r[2].length&&e(2,10)}}),DYNAMICTOP_PTR=allocate(1,"i32",ALLOC_STATIC),STACK_BASE=STACKTOP=Runtime.alignMemory(STATICTOP),STACK_MAX=STACK_BASE+TOTAL_STACK,DYNAMIC_BASE=Runtime.alignMemory(STACK_MAX),HEAP32[DYNAMICTOP_PTR>>2]=DYNAMIC_BASE,staticSealed=!0;function invoke_viiiii(t,e,r,o,a,n){try{Module.dynCall_viiiii(t,e,r,o,a,n)}catch(u){if(typeof u!="number"&&u!=="longjmp")throw u;Module.setThrew(1,0)}}function invoke_vif(t,e,r){try{Module.dynCall_vif(t,e,r)}catch(o){if(typeof o!="number"&&o!=="longjmp")throw o;Module.setThrew(1,0)}}function invoke_vid(t,e,r){try{Module.dynCall_vid(t,e,r)}catch(o){if(typeof o!="number"&&o!=="longjmp")throw o;Module.setThrew(1,0)}}function invoke_fiff(t,e,r,o){try{return Module.dynCall_fiff(t,e,r,o)}catch(a){if(typeof a!="number"&&a!=="longjmp")throw a;Module.setThrew(1,0)}}function invoke_vi(t,e){try{Module.dynCall_vi(t,e)}catch(r){if(typeof r!="number"&&r!=="longjmp")throw r;Module.setThrew(1,0)}}function invoke_vii(t,e,r){try{Module.dynCall_vii(t,e,r)}catch(o){if(typeof o!="number"&&o!=="longjmp")throw o;Module.setThrew(1,0)}}function invoke_ii(t,e){try{return Module.dynCall_ii(t,e)}catch(r){if(typeof r!="number"&&r!=="longjmp")throw r;Module.setThrew(1,0)}}function invoke_viddi(t,e,r,o,a){try{Module.dynCall_viddi(t,e,r,o,a)}catch(n){if(typeof n!="number"&&n!=="longjmp")throw n;Module.setThrew(1,0)}}function invoke_vidd(t,e,r,o){try{Module.dynCall_vidd(t,e,r,o)}catch(a){if(typeof a!="number"&&a!=="longjmp")throw a;Module.setThrew(1,0)}}function invoke_iiii(t,e,r,o){try{return Module.dynCall_iiii(t,e,r,o)}catch(a){if(typeof a!="number"&&a!=="longjmp")throw a;Module.setThrew(1,0)}}function invoke_diii(t,e,r,o){try{return Module.dynCall_diii(t,e,r,o)}catch(a){if(typeof a!="number"&&a!=="longjmp")throw a;Module.setThrew(1,0)}}function invoke_di(t,e){try{return Module.dynCall_di(t,e)}catch(r){if(typeof r!="number"&&r!=="longjmp")throw r;Module.setThrew(1,0)}}function invoke_iid(t,e,r){try{return Module.dynCall_iid(t,e,r)}catch(o){if(typeof o!="number"&&o!=="longjmp")throw o;Module.setThrew(1,0)}}function invoke_iii(t,e,r){try{return Module.dynCall_iii(t,e,r)}catch(o){if(typeof o!="number"&&o!=="longjmp")throw o;Module.setThrew(1,0)}}function invoke_viiddi(t,e,r,o,a,n){try{Module.dynCall_viiddi(t,e,r,o,a,n)}catch(u){if(typeof u!="number"&&u!=="longjmp")throw u;Module.setThrew(1,0)}}function invoke_viiiiii(t,e,r,o,a,n,u){try{Module.dynCall_viiiiii(t,e,r,o,a,n,u)}catch(A){if(typeof A!="number"&&A!=="longjmp")throw A;Module.setThrew(1,0)}}function invoke_dii(t,e,r){try{return Module.dynCall_dii(t,e,r)}catch(o){if(typeof o!="number"&&o!=="longjmp")throw o;Module.setThrew(1,0)}}function invoke_i(t){try{return Module.dynCall_i(t)}catch(e){if(typeof e!="number"&&e!=="longjmp")throw e;Module.setThrew(1,0)}}function invoke_iiiiii(t,e,r,o,a,n){try{return Module.dynCall_iiiiii(t,e,r,o,a,n)}catch(u){if(typeof u!="number"&&u!=="longjmp")throw u;Module.setThrew(1,0)}}function invoke_viiid(t,e,r,o,a){try{Module.dynCall_viiid(t,e,r,o,a)}catch(n){if(typeof n!="number"&&n!=="longjmp")throw n;Module.setThrew(1,0)}}function invoke_viififi(t,e,r,o,a,n,u){try{Module.dynCall_viififi(t,e,r,o,a,n,u)}catch(A){if(typeof A!="number"&&A!=="longjmp")throw A;Module.setThrew(1,0)}}function invoke_viii(t,e,r,o){try{Module.dynCall_viii(t,e,r,o)}catch(a){if(typeof a!="number"&&a!=="longjmp")throw a;Module.setThrew(1,0)}}function invoke_v(t){try{Module.dynCall_v(t)}catch(e){if(typeof e!="number"&&e!=="longjmp")throw e;Module.setThrew(1,0)}}function invoke_viid(t,e,r,o){try{Module.dynCall_viid(t,e,r,o)}catch(a){if(typeof a!="number"&&a!=="longjmp")throw a;Module.setThrew(1,0)}}function invoke_idd(t,e,r){try{return Module.dynCall_idd(t,e,r)}catch(o){if(typeof o!="number"&&o!=="longjmp")throw o;Module.setThrew(1,0)}}function invoke_viiii(t,e,r,o,a){try{Module.dynCall_viiii(t,e,r,o,a)}catch(n){if(typeof n!="number"&&n!=="longjmp")throw n;Module.setThrew(1,0)}}Module.asmGlobalArg={Math,Int8Array,Int16Array,Int32Array,Uint8Array,Uint16Array,Uint32Array,Float32Array,Float64Array,NaN:NaN,Infinity:1/0},Module.asmLibraryArg={abort,assert,enlargeMemory,getTotalMemory,abortOnCannotGrowMemory,invoke_viiiii,invoke_vif,invoke_vid,invoke_fiff,invoke_vi,invoke_vii,invoke_ii,invoke_viddi,invoke_vidd,invoke_iiii,invoke_diii,invoke_di,invoke_iid,invoke_iii,invoke_viiddi,invoke_viiiiii,invoke_dii,invoke_i,invoke_iiiiii,invoke_viiid,invoke_viififi,invoke_viii,invoke_v,invoke_viid,invoke_idd,invoke_viiii,_emscripten_asm_const_iiiii,_emscripten_asm_const_iiidddddd,_emscripten_asm_const_iiiid,__nbind_reference_external,_emscripten_asm_const_iiiiiiii,_removeAccessorPrefix,_typeModule,__nbind_register_pool,__decorate,_llvm_stackrestore,___cxa_atexit,__extends,__nbind_get_value_object,__ZN8facebook4yoga14YGNodeToStringEPNSt3__212basic_stringIcNS1_11char_traitsIcEENS1_9allocatorIcEEEEP6YGNode14YGPrintOptionsj,_emscripten_set_main_loop_timing,__nbind_register_primitive,__nbind_register_type,_emscripten_memcpy_big,__nbind_register_function,___setErrNo,__nbind_register_class,__nbind_finish,_abort,_nbind_value,_llvm_stacksave,___syscall54,_defineHidden,_emscripten_set_main_loop,_emscripten_get_now,__nbind_register_callback_signature,_emscripten_asm_const_iiiiii,__nbind_free_external,_emscripten_asm_const_iiii,_emscripten_asm_const_iiididi,___syscall6,_atexit,___syscall140,___syscall146,DYNAMICTOP_PTR,tempDoublePtr,ABORT,STACKTOP,STACK_MAX,cttz_i8,___dso_handle};var asm=function(t,e,r){var o=new t.Int8Array(r),a=new t.Int16Array(r),n=new t.Int32Array(r),u=new t.Uint8Array(r),A=new t.Uint16Array(r),p=new t.Uint32Array(r),h=new t.Float32Array(r),E=new t.Float64Array(r),w=e.DYNAMICTOP_PTR|0,D=e.tempDoublePtr|0,x=e.ABORT|0,C=e.STACKTOP|0,T=e.STACK_MAX|0,L=e.cttz_i8|0,U=e.___dso_handle|0,J=0,te=0,le=0,ce=0,ue=t.NaN,Ie=t.Infinity,he=0,De=0,Ee=0,g=0,me=0,Ce=0,fe=t.Math.floor,ie=t.Math.abs,Z=t.Math.sqrt,Pe=t.Math.pow,Re=t.Math.cos,ht=t.Math.sin,q=t.Math.tan,nt=t.Math.acos,Ne=t.Math.asin,Te=t.Math.atan,ke=t.Math.atan2,Ve=t.Math.exp,be=t.Math.log,tt=t.Math.ceil,He=t.Math.imul,b=t.Math.min,I=t.Math.max,S=t.Math.clz32,y=t.Math.fround,R=e.abort,z=e.assert,X=e.enlargeMemory,$=e.getTotalMemory,se=e.abortOnCannotGrowMemory,xe=e.invoke_viiiii,Fe=e.invoke_vif,lt=e.invoke_vid,Et=e.invoke_fiff,qt=e.invoke_vi,nr=e.invoke_vii,St=e.invoke_ii,cn=e.invoke_viddi,Pr=e.invoke_vidd,yr=e.invoke_iiii,Rr=e.invoke_diii,Xr=e.invoke_di,$n=e.invoke_iid,Xs=e.invoke_iii,Hi=e.invoke_viiddi,Qs=e.invoke_viiiiii,Zs=e.invoke_dii,xi=e.invoke_i,Fs=e.invoke_iiiiii,$s=e.invoke_viiid,SA=e.invoke_viififi,gu=e.invoke_viii,op=e.invoke_v,ap=e.invoke_viid,Rs=e.invoke_idd,Ln=e.invoke_viiii,hs=e._emscripten_asm_const_iiiii,Ts=e._emscripten_asm_const_iiidddddd,pc=e._emscripten_asm_const_iiiid,hc=e.__nbind_reference_external,gc=e._emscripten_asm_const_iiiiiiii,bA=e._removeAccessorPrefix,xA=e._typeModule,Ro=e.__nbind_register_pool,To=e.__decorate,kA=e._llvm_stackrestore,pr=e.___cxa_atexit,Me=e.__extends,ia=e.__nbind_get_value_object,dc=e.__ZN8facebook4yoga14YGNodeToStringEPNSt3__212basic_stringIcNS1_11char_traitsIcEENS1_9allocatorIcEEEEP6YGNode14YGPrintOptionsj,Er=e._emscripten_set_main_loop_timing,du=e.__nbind_register_primitive,QA=e.__nbind_register_type,FA=e._emscripten_memcpy_big,mc=e.__nbind_register_function,yc=e.___setErrNo,Il=e.__nbind_register_class,we=e.__nbind_finish,Tt=e._abort,wl=e._nbind_value,Bi=e._llvm_stacksave,Ns=e.___syscall54,Ft=e._defineHidden,Bn=e._emscripten_set_main_loop,No=e._emscripten_get_now,ki=e.__nbind_register_callback_signature,vi=e._emscripten_asm_const_iiiiii,sa=e.__nbind_free_external,un=e._emscripten_asm_const_iiii,qn=e._emscripten_asm_const_iiididi,Ec=e.___syscall6,lp=e._atexit,oa=e.___syscall140,aa=e.___syscall146,la=y(0);let Ze=y(0);function ca(s){s=s|0;var l=0;return l=C,C=C+s|0,C=C+15&-16,l|0}function mu(){return C|0}function Bl(s){s=s|0,C=s}function dn(s,l){s=s|0,l=l|0,C=s,T=l}function Lo(s,l){s=s|0,l=l|0,J||(J=s,te=l)}function RA(s){s=s|0,Ce=s}function TA(){return Ce|0}function Oo(){var s=0,l=0;xr(8104,8,400)|0,xr(8504,408,540)|0,s=9044,l=s+44|0;do n[s>>2]=0,s=s+4|0;while((s|0)<(l|0));o[9088]=0,o[9089]=1,n[2273]=0,n[2274]=948,n[2275]=948,pr(17,8104,U|0)|0}function qa(s){s=s|0,gt(s+948|0)}function Ot(s){return s=y(s),((AD(s)|0)&2147483647)>>>0>2139095040|0}function vn(s,l,c){s=s|0,l=l|0,c=c|0;e:do if(n[s+(l<<3)+4>>2]|0)s=s+(l<<3)|0;else{if((l|2|0)==3&&n[s+60>>2]|0){s=s+56|0;break}switch(l|0){case 0:case 2:case 4:case 5:{if(n[s+52>>2]|0){s=s+48|0;break e}break}default:}if(n[s+68>>2]|0){s=s+64|0;break}else{s=(l|1|0)==5?948:c;break}}while(!1);return s|0}function Mo(s){s=s|0;var l=0;return l=_D(1e3)|0,ua(s,(l|0)!=0,2456),n[2276]=(n[2276]|0)+1,xr(l|0,8104,1e3)|0,o[s+2>>0]|0&&(n[l+4>>2]=2,n[l+12>>2]=4),n[l+976>>2]=s,l|0}function ua(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0;d=C,C=C+16|0,f=d,l||(n[f>>2]=c,d0(s,5,3197,f)),C=d}function qi(){return Mo(956)|0}function vl(s){s=s|0;var l=0;return l=Yt(1e3)|0,Cc(l,s),ua(n[s+976>>2]|0,1,2456),n[2276]=(n[2276]|0)+1,n[l+944>>2]=0,l|0}function Cc(s,l){s=s|0,l=l|0;var c=0;xr(s|0,l|0,948)|0,Qd(s+948|0,l+948|0),c=s+960|0,s=l+960|0,l=c+40|0;do n[c>>2]=n[s>>2],c=c+4|0,s=s+4|0;while((c|0)<(l|0))}function Dl(s){s=s|0;var l=0,c=0,f=0,d=0;if(l=s+944|0,c=n[l>>2]|0,c|0&&(Aa(c+948|0,s)|0,n[l>>2]=0),c=Di(s)|0,c|0){l=0;do n[(rs(s,l)|0)+944>>2]=0,l=l+1|0;while((l|0)!=(c|0))}c=s+948|0,f=n[c>>2]|0,d=s+952|0,l=n[d>>2]|0,(l|0)!=(f|0)&&(n[d>>2]=l+(~((l+-4-f|0)>>>2)<<2)),ja(c),HD(s),n[2276]=(n[2276]|0)+-1}function Aa(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0,k=0;f=n[s>>2]|0,k=s+4|0,c=n[k>>2]|0,m=c;e:do if((f|0)==(c|0))d=f,B=4;else for(s=f;;){if((n[s>>2]|0)==(l|0)){d=s,B=4;break e}if(s=s+4|0,(s|0)==(c|0)){s=0;break}}while(!1);return(B|0)==4&&((d|0)!=(c|0)?(f=d+4|0,s=m-f|0,l=s>>2,l&&(rw(d|0,f|0,s|0)|0,c=n[k>>2]|0),s=d+(l<<2)|0,(c|0)==(s|0)||(n[k>>2]=c+(~((c+-4-s|0)>>>2)<<2)),s=1):s=0),s|0}function Di(s){return s=s|0,(n[s+952>>2]|0)-(n[s+948>>2]|0)>>2|0}function rs(s,l){s=s|0,l=l|0;var c=0;return c=n[s+948>>2]|0,(n[s+952>>2]|0)-c>>2>>>0>l>>>0?s=n[c+(l<<2)>>2]|0:s=0,s|0}function ja(s){s=s|0;var l=0,c=0,f=0,d=0;f=C,C=C+32|0,l=f,d=n[s>>2]|0,c=(n[s+4>>2]|0)-d|0,((n[s+8>>2]|0)-d|0)>>>0>c>>>0&&(d=c>>2,Nd(l,d,d,s+8|0),fD(s,l),Ld(l)),C=f}function yu(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0,k=0,F=0,M=0;M=Di(s)|0;do if(M|0){if((n[(rs(s,0)|0)+944>>2]|0)==(s|0)){if(!(Aa(s+948|0,l)|0))break;xr(l+400|0,8504,540)|0,n[l+944>>2]=0,Le(s);break}B=n[(n[s+976>>2]|0)+12>>2]|0,k=s+948|0,F=(B|0)==0,c=0,m=0;do f=n[(n[k>>2]|0)+(m<<2)>>2]|0,(f|0)==(l|0)?Le(s):(d=vl(f)|0,n[(n[k>>2]|0)+(c<<2)>>2]=d,n[d+944>>2]=s,F||hT[B&15](f,d,s,c),c=c+1|0),m=m+1|0;while((m|0)!=(M|0));if(c>>>0<M>>>0){F=s+948|0,k=s+952|0,B=c,c=n[k>>2]|0;do m=(n[F>>2]|0)+(B<<2)|0,f=m+4|0,d=c-f|0,l=d>>2,l&&(rw(m|0,f|0,d|0)|0,c=n[k>>2]|0),d=c,f=m+(l<<2)|0,(d|0)!=(f|0)&&(c=d+(~((d+-4-f|0)>>>2)<<2)|0,n[k>>2]=c),B=B+1|0;while((B|0)!=(M|0))}}while(!1)}function Pl(s){s=s|0;var l=0,c=0,f=0,d=0;pi(s,(Di(s)|0)==0,2491),pi(s,(n[s+944>>2]|0)==0,2545),l=s+948|0,c=n[l>>2]|0,f=s+952|0,d=n[f>>2]|0,(d|0)!=(c|0)&&(n[f>>2]=d+(~((d+-4-c|0)>>>2)<<2)),ja(l),l=s+976|0,c=n[l>>2]|0,xr(s|0,8104,1e3)|0,o[c+2>>0]|0&&(n[s+4>>2]=2,n[s+12>>2]=4),n[l>>2]=c}function pi(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0;d=C,C=C+16|0,f=d,l||(n[f>>2]=c,so(s,5,3197,f)),C=d}function Dn(){return n[2276]|0}function Sl(){var s=0;return s=_D(20)|0,Je((s|0)!=0,2592),n[2277]=(n[2277]|0)+1,n[s>>2]=n[239],n[s+4>>2]=n[240],n[s+8>>2]=n[241],n[s+12>>2]=n[242],n[s+16>>2]=n[243],s|0}function Je(s,l){s=s|0,l=l|0;var c=0,f=0;f=C,C=C+16|0,c=f,s||(n[c>>2]=l,so(0,5,3197,c)),C=f}function st(s){s=s|0,HD(s),n[2277]=(n[2277]|0)+-1}function vt(s,l){s=s|0,l=l|0;var c=0;l?(pi(s,(Di(s)|0)==0,2629),c=1):(c=0,l=0),n[s+964>>2]=l,n[s+988>>2]=c}function ar(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0;f=C,C=C+16|0,m=f+8|0,d=f+4|0,B=f,n[d>>2]=l,pi(s,(n[l+944>>2]|0)==0,2709),pi(s,(n[s+964>>2]|0)==0,2763),ee(s),l=s+948|0,n[B>>2]=(n[l>>2]|0)+(c<<2),n[m>>2]=n[B>>2],ye(l,m,d)|0,n[(n[d>>2]|0)+944>>2]=s,Le(s),C=f}function ee(s){s=s|0;var l=0,c=0,f=0,d=0,m=0,B=0,k=0;if(c=Di(s)|0,c|0&&(n[(rs(s,0)|0)+944>>2]|0)!=(s|0)){f=n[(n[s+976>>2]|0)+12>>2]|0,d=s+948|0,m=(f|0)==0,l=0;do B=n[(n[d>>2]|0)+(l<<2)>>2]|0,k=vl(B)|0,n[(n[d>>2]|0)+(l<<2)>>2]=k,n[k+944>>2]=s,m||hT[f&15](B,k,s,l),l=l+1|0;while((l|0)!=(c|0))}}function ye(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,k=0,F=0,M=0,O=0,j=0,oe=0,We=0,Oe=0,Qe=0,rt=0,Xe=0;rt=C,C=C+64|0,j=rt+52|0,k=rt+48|0,oe=rt+28|0,We=rt+24|0,Oe=rt+20|0,Qe=rt,f=n[s>>2]|0,m=f,l=f+((n[l>>2]|0)-m>>2<<2)|0,f=s+4|0,d=n[f>>2]|0,B=s+8|0;do if(d>>>0<(n[B>>2]|0)>>>0){if((l|0)==(d|0)){n[l>>2]=n[c>>2],n[f>>2]=(n[f>>2]|0)+4;break}pD(s,l,d,l+4|0),l>>>0<=c>>>0&&(c=(n[f>>2]|0)>>>0>c>>>0?c+4|0:c),n[l>>2]=n[c>>2]}else{f=(d-m>>2)+1|0,d=N(s)|0,d>>>0<f>>>0&&Zr(s),O=n[s>>2]|0,M=(n[B>>2]|0)-O|0,m=M>>1,Nd(Qe,M>>2>>>0<d>>>1>>>0?m>>>0<f>>>0?f:m:d,l-O>>2,s+8|0),O=Qe+8|0,f=n[O>>2]|0,m=Qe+12|0,M=n[m>>2]|0,B=M,F=f;do if((f|0)==(M|0)){if(M=Qe+4|0,f=n[M>>2]|0,Xe=n[Qe>>2]|0,d=Xe,f>>>0<=Xe>>>0){f=B-d>>1,f=f|0?f:1,Nd(oe,f,f>>>2,n[Qe+16>>2]|0),n[We>>2]=n[M>>2],n[Oe>>2]=n[O>>2],n[k>>2]=n[We>>2],n[j>>2]=n[Oe>>2],QI(oe,k,j),f=n[Qe>>2]|0,n[Qe>>2]=n[oe>>2],n[oe>>2]=f,f=oe+4|0,Xe=n[M>>2]|0,n[M>>2]=n[f>>2],n[f>>2]=Xe,f=oe+8|0,Xe=n[O>>2]|0,n[O>>2]=n[f>>2],n[f>>2]=Xe,f=oe+12|0,Xe=n[m>>2]|0,n[m>>2]=n[f>>2],n[f>>2]=Xe,Ld(oe),f=n[O>>2]|0;break}m=f,B=((m-d>>2)+1|0)/-2|0,k=f+(B<<2)|0,d=F-m|0,m=d>>2,m&&(rw(k|0,f|0,d|0)|0,f=n[M>>2]|0),Xe=k+(m<<2)|0,n[O>>2]=Xe,n[M>>2]=f+(B<<2),f=Xe}while(!1);n[f>>2]=n[c>>2],n[O>>2]=(n[O>>2]|0)+4,l=hD(s,Qe,l)|0,Ld(Qe)}while(!1);return C=rt,l|0}function Le(s){s=s|0;var l=0;do{if(l=s+984|0,o[l>>0]|0)break;o[l>>0]=1,h[s+504>>2]=y(ue),s=n[s+944>>2]|0}while(s|0)}function gt(s){s=s|0;var l=0,c=0,f=0;c=n[s>>2]|0,f=c,c|0&&(s=s+4|0,l=n[s>>2]|0,(l|0)!=(c|0)&&(n[s>>2]=l+(~((l+-4-f|0)>>>2)<<2)),yt(c))}function mt(s){return s=s|0,n[s+944>>2]|0}function Dt(s){s=s|0,pi(s,(n[s+964>>2]|0)!=0,2832),Le(s)}function er(s){return s=s|0,(o[s+984>>0]|0)!=0|0}function sn(s,l){s=s|0,l=l|0,w4e(s,l,400)|0&&(xr(s|0,l|0,400)|0,Le(s))}function ei(s){s=s|0;var l=Ze;return l=y(h[s+44>>2]),s=Ot(l)|0,y(s?y(0):l)}function Qi(s){s=s|0;var l=Ze;return l=y(h[s+48>>2]),Ot(l)|0&&(l=o[(n[s+976>>2]|0)+2>>0]|0?y(1):y(0)),y(l)}function Pn(s,l){s=s|0,l=l|0,n[s+980>>2]=l}function fa(s){return s=s|0,n[s+980>>2]|0}function wd(s,l){s=s|0,l=l|0;var c=0;c=s+4|0,(n[c>>2]|0)!=(l|0)&&(n[c>>2]=l,Le(s))}function BI(s){return s=s|0,n[s+4>>2]|0}function eo(s,l){s=s|0,l=l|0;var c=0;c=s+8|0,(n[c>>2]|0)!=(l|0)&&(n[c>>2]=l,Le(s))}function Bd(s){return s=s|0,n[s+8>>2]|0}function cp(s,l){s=s|0,l=l|0;var c=0;c=s+12|0,(n[c>>2]|0)!=(l|0)&&(n[c>>2]=l,Le(s))}function vI(s){return s=s|0,n[s+12>>2]|0}function to(s,l){s=s|0,l=l|0;var c=0;c=s+16|0,(n[c>>2]|0)!=(l|0)&&(n[c>>2]=l,Le(s))}function up(s){return s=s|0,n[s+16>>2]|0}function Ap(s,l){s=s|0,l=l|0;var c=0;c=s+20|0,(n[c>>2]|0)!=(l|0)&&(n[c>>2]=l,Le(s))}function Ic(s){return s=s|0,n[s+20>>2]|0}function fp(s,l){s=s|0,l=l|0;var c=0;c=s+24|0,(n[c>>2]|0)!=(l|0)&&(n[c>>2]=l,Le(s))}function s0(s){return s=s|0,n[s+24>>2]|0}function o0(s,l){s=s|0,l=l|0;var c=0;c=s+28|0,(n[c>>2]|0)!=(l|0)&&(n[c>>2]=l,Le(s))}function a0(s){return s=s|0,n[s+28>>2]|0}function vd(s,l){s=s|0,l=l|0;var c=0;c=s+32|0,(n[c>>2]|0)!=(l|0)&&(n[c>>2]=l,Le(s))}function Eu(s){return s=s|0,n[s+32>>2]|0}function ro(s,l){s=s|0,l=l|0;var c=0;c=s+36|0,(n[c>>2]|0)!=(l|0)&&(n[c>>2]=l,Le(s))}function Ga(s){return s=s|0,n[s+36>>2]|0}function pp(s,l){s=s|0,l=y(l);var c=0;c=s+40|0,y(h[c>>2])!=l&&(h[c>>2]=l,Le(s))}function l0(s,l){s=s|0,l=y(l);var c=0;c=s+44|0,y(h[c>>2])!=l&&(h[c>>2]=l,Le(s))}function Wa(s,l){s=s|0,l=y(l);var c=0;c=s+48|0,y(h[c>>2])!=l&&(h[c>>2]=l,Le(s))}function Ya(s,l){s=s|0,l=y(l);var c=0,f=0,d=0,m=0;m=Ot(l)|0,c=(m^1)&1,f=s+52|0,d=s+56|0,m|y(h[f>>2])==l&&(n[d>>2]|0)==(c|0)||(h[f>>2]=l,n[d>>2]=c,Le(s))}function Dd(s,l){s=s|0,l=y(l);var c=0,f=0;f=s+52|0,c=s+56|0,y(h[f>>2])==l&&(n[c>>2]|0)==2||(h[f>>2]=l,f=Ot(l)|0,n[c>>2]=f?3:2,Le(s))}function NA(s,l){s=s|0,l=l|0;var c=0,f=0;f=l+52|0,c=n[f+4>>2]|0,l=s,n[l>>2]=n[f>>2],n[l+4>>2]=c}function Pd(s,l,c){s=s|0,l=l|0,c=y(c);var f=0,d=0,m=0;m=Ot(c)|0,f=(m^1)&1,d=s+132+(l<<3)|0,l=s+132+(l<<3)+4|0,m|y(h[d>>2])==c&&(n[l>>2]|0)==(f|0)||(h[d>>2]=c,n[l>>2]=f,Le(s))}function Sd(s,l,c){s=s|0,l=l|0,c=y(c);var f=0,d=0,m=0;m=Ot(c)|0,f=m?0:2,d=s+132+(l<<3)|0,l=s+132+(l<<3)+4|0,m|y(h[d>>2])==c&&(n[l>>2]|0)==(f|0)||(h[d>>2]=c,n[l>>2]=f,Le(s))}function LA(s,l,c){s=s|0,l=l|0,c=c|0;var f=0;f=l+132+(c<<3)|0,l=n[f+4>>2]|0,c=s,n[c>>2]=n[f>>2],n[c+4>>2]=l}function OA(s,l,c){s=s|0,l=l|0,c=y(c);var f=0,d=0,m=0;m=Ot(c)|0,f=(m^1)&1,d=s+60+(l<<3)|0,l=s+60+(l<<3)+4|0,m|y(h[d>>2])==c&&(n[l>>2]|0)==(f|0)||(h[d>>2]=c,n[l>>2]=f,Le(s))}function W(s,l,c){s=s|0,l=l|0,c=y(c);var f=0,d=0,m=0;m=Ot(c)|0,f=m?0:2,d=s+60+(l<<3)|0,l=s+60+(l<<3)+4|0,m|y(h[d>>2])==c&&(n[l>>2]|0)==(f|0)||(h[d>>2]=c,n[l>>2]=f,Le(s))}function bt(s,l,c){s=s|0,l=l|0,c=c|0;var f=0;f=l+60+(c<<3)|0,l=n[f+4>>2]|0,c=s,n[c>>2]=n[f>>2],n[c+4>>2]=l}function MA(s,l){s=s|0,l=l|0;var c=0;c=s+60+(l<<3)+4|0,(n[c>>2]|0)!=3&&(h[s+60+(l<<3)>>2]=y(ue),n[c>>2]=3,Le(s))}function no(s,l,c){s=s|0,l=l|0,c=y(c);var f=0,d=0,m=0;m=Ot(c)|0,f=(m^1)&1,d=s+204+(l<<3)|0,l=s+204+(l<<3)+4|0,m|y(h[d>>2])==c&&(n[l>>2]|0)==(f|0)||(h[d>>2]=c,n[l>>2]=f,Le(s))}function Cu(s,l,c){s=s|0,l=l|0,c=y(c);var f=0,d=0,m=0;m=Ot(c)|0,f=m?0:2,d=s+204+(l<<3)|0,l=s+204+(l<<3)+4|0,m|y(h[d>>2])==c&&(n[l>>2]|0)==(f|0)||(h[d>>2]=c,n[l>>2]=f,Le(s))}function dt(s,l,c){s=s|0,l=l|0,c=c|0;var f=0;f=l+204+(c<<3)|0,l=n[f+4>>2]|0,c=s,n[c>>2]=n[f>>2],n[c+4>>2]=l}function wc(s,l,c){s=s|0,l=l|0,c=y(c);var f=0,d=0,m=0;m=Ot(c)|0,f=(m^1)&1,d=s+276+(l<<3)|0,l=s+276+(l<<3)+4|0,m|y(h[d>>2])==c&&(n[l>>2]|0)==(f|0)||(h[d>>2]=c,n[l>>2]=f,Le(s))}function bd(s,l){return s=s|0,l=l|0,y(h[s+276+(l<<3)>>2])}function c0(s,l){s=s|0,l=y(l);var c=0,f=0,d=0,m=0;m=Ot(l)|0,c=(m^1)&1,f=s+348|0,d=s+352|0,m|y(h[f>>2])==l&&(n[d>>2]|0)==(c|0)||(h[f>>2]=l,n[d>>2]=c,Le(s))}function DI(s,l){s=s|0,l=y(l);var c=0,f=0;f=s+348|0,c=s+352|0,y(h[f>>2])==l&&(n[c>>2]|0)==2||(h[f>>2]=l,f=Ot(l)|0,n[c>>2]=f?3:2,Le(s))}function hp(s){s=s|0;var l=0;l=s+352|0,(n[l>>2]|0)!=3&&(h[s+348>>2]=y(ue),n[l>>2]=3,Le(s))}function cr(s,l){s=s|0,l=l|0;var c=0,f=0;f=l+348|0,c=n[f+4>>2]|0,l=s,n[l>>2]=n[f>>2],n[l+4>>2]=c}function Li(s,l){s=s|0,l=y(l);var c=0,f=0,d=0,m=0;m=Ot(l)|0,c=(m^1)&1,f=s+356|0,d=s+360|0,m|y(h[f>>2])==l&&(n[d>>2]|0)==(c|0)||(h[f>>2]=l,n[d>>2]=c,Le(s))}function Iu(s,l){s=s|0,l=y(l);var c=0,f=0;f=s+356|0,c=s+360|0,y(h[f>>2])==l&&(n[c>>2]|0)==2||(h[f>>2]=l,f=Ot(l)|0,n[c>>2]=f?3:2,Le(s))}function pa(s){s=s|0;var l=0;l=s+360|0,(n[l>>2]|0)!=3&&(h[s+356>>2]=y(ue),n[l>>2]=3,Le(s))}function u0(s,l){s=s|0,l=l|0;var c=0,f=0;f=l+356|0,c=n[f+4>>2]|0,l=s,n[l>>2]=n[f>>2],n[l+4>>2]=c}function Bc(s,l){s=s|0,l=y(l);var c=0,f=0,d=0,m=0;m=Ot(l)|0,c=(m^1)&1,f=s+364|0,d=s+368|0,m|y(h[f>>2])==l&&(n[d>>2]|0)==(c|0)||(h[f>>2]=l,n[d>>2]=c,Le(s))}function wu(s,l){s=s|0,l=y(l);var c=0,f=0,d=0,m=0;m=Ot(l)|0,c=m?0:2,f=s+364|0,d=s+368|0,m|y(h[f>>2])==l&&(n[d>>2]|0)==(c|0)||(h[f>>2]=l,n[d>>2]=c,Le(s))}function wt(s,l){s=s|0,l=l|0;var c=0,f=0;f=l+364|0,c=n[f+4>>2]|0,l=s,n[l>>2]=n[f>>2],n[l+4>>2]=c}function oi(s,l){s=s|0,l=y(l);var c=0,f=0,d=0,m=0;m=Ot(l)|0,c=(m^1)&1,f=s+372|0,d=s+376|0,m|y(h[f>>2])==l&&(n[d>>2]|0)==(c|0)||(h[f>>2]=l,n[d>>2]=c,Le(s))}function UA(s,l){s=s|0,l=y(l);var c=0,f=0,d=0,m=0;m=Ot(l)|0,c=m?0:2,f=s+372|0,d=s+376|0,m|y(h[f>>2])==l&&(n[d>>2]|0)==(c|0)||(h[f>>2]=l,n[d>>2]=c,Le(s))}function ha(s,l){s=s|0,l=l|0;var c=0,f=0;f=l+372|0,c=n[f+4>>2]|0,l=s,n[l>>2]=n[f>>2],n[l+4>>2]=c}function Uo(s,l){s=s|0,l=y(l);var c=0,f=0,d=0,m=0;m=Ot(l)|0,c=(m^1)&1,f=s+380|0,d=s+384|0,m|y(h[f>>2])==l&&(n[d>>2]|0)==(c|0)||(h[f>>2]=l,n[d>>2]=c,Le(s))}function ga(s,l){s=s|0,l=y(l);var c=0,f=0,d=0,m=0;m=Ot(l)|0,c=m?0:2,f=s+380|0,d=s+384|0,m|y(h[f>>2])==l&&(n[d>>2]|0)==(c|0)||(h[f>>2]=l,n[d>>2]=c,Le(s))}function A0(s,l){s=s|0,l=l|0;var c=0,f=0;f=l+380|0,c=n[f+4>>2]|0,l=s,n[l>>2]=n[f>>2],n[l+4>>2]=c}function gp(s,l){s=s|0,l=y(l);var c=0,f=0,d=0,m=0;m=Ot(l)|0,c=(m^1)&1,f=s+388|0,d=s+392|0,m|y(h[f>>2])==l&&(n[d>>2]|0)==(c|0)||(h[f>>2]=l,n[d>>2]=c,Le(s))}function f0(s,l){s=s|0,l=y(l);var c=0,f=0,d=0,m=0;m=Ot(l)|0,c=m?0:2,f=s+388|0,d=s+392|0,m|y(h[f>>2])==l&&(n[d>>2]|0)==(c|0)||(h[f>>2]=l,n[d>>2]=c,Le(s))}function xd(s,l){s=s|0,l=l|0;var c=0,f=0;f=l+388|0,c=n[f+4>>2]|0,l=s,n[l>>2]=n[f>>2],n[l+4>>2]=c}function _A(s,l){s=s|0,l=y(l);var c=0;c=s+396|0,y(h[c>>2])!=l&&(h[c>>2]=l,Le(s))}function p0(s){return s=s|0,y(h[s+396>>2])}function vc(s){return s=s|0,y(h[s+400>>2])}function Dc(s){return s=s|0,y(h[s+404>>2])}function Bu(s){return s=s|0,y(h[s+408>>2])}function gs(s){return s=s|0,y(h[s+412>>2])}function Pc(s){return s=s|0,y(h[s+416>>2])}function On(s){return s=s|0,y(h[s+420>>2])}function ji(s,l){switch(s=s|0,l=l|0,pi(s,(l|0)<6,2918),l|0){case 0:{l=(n[s+496>>2]|0)==2?5:4;break}case 2:{l=(n[s+496>>2]|0)==2?4:5;break}default:}return y(h[s+424+(l<<2)>>2])}function Ci(s,l){switch(s=s|0,l=l|0,pi(s,(l|0)<6,2918),l|0){case 0:{l=(n[s+496>>2]|0)==2?5:4;break}case 2:{l=(n[s+496>>2]|0)==2?4:5;break}default:}return y(h[s+448+(l<<2)>>2])}function HA(s,l){switch(s=s|0,l=l|0,pi(s,(l|0)<6,2918),l|0){case 0:{l=(n[s+496>>2]|0)==2?5:4;break}case 2:{l=(n[s+496>>2]|0)==2?4:5;break}default:}return y(h[s+472+(l<<2)>>2])}function vu(s,l){s=s|0,l=l|0;var c=0,f=Ze;return c=n[s+4>>2]|0,(c|0)==(n[l+4>>2]|0)?c?(f=y(h[s>>2]),s=y(ie(y(f-y(h[l>>2]))))<y(999999974e-13)):s=1:s=0,s|0}function An(s,l){s=y(s),l=y(l);var c=0;return Ot(s)|0?c=Ot(l)|0:c=y(ie(y(s-l)))<y(999999974e-13),c|0}function h0(s,l){s=s|0,l=l|0,g0(s,l)}function g0(s,l){s=s|0,l=l|0;var c=0,f=0;c=C,C=C+16|0,f=c+4|0,n[f>>2]=0,n[f+4>>2]=0,n[f+8>>2]=0,dc(f|0,s|0,l|0,0),so(s,3,(o[f+11>>0]|0)<0?n[f>>2]|0:f,c),W4e(f),C=c}function Gi(s,l,c,f){s=y(s),l=y(l),c=c|0,f=f|0;var d=Ze;s=y(s*l),d=y(lT(s,y(1)));do if(An(d,y(0))|0)s=y(s-d);else{if(s=y(s-d),An(d,y(1))|0){s=y(s+y(1));break}if(c){s=y(s+y(1));break}f||(d>y(.5)?d=y(1):(f=An(d,y(.5))|0,d=y(f?1:0)),s=y(s+d))}while(!1);return y(s/l)}function Ka(s,l,c,f,d,m,B,k,F,M,O,j,oe){s=s|0,l=y(l),c=c|0,f=y(f),d=d|0,m=y(m),B=B|0,k=y(k),F=y(F),M=y(M),O=y(O),j=y(j),oe=oe|0;var We=0,Oe=Ze,Qe=Ze,rt=Ze,Xe=Ze,ct=Ze,_e=Ze;return F<y(0)|M<y(0)?oe=0:(oe|0&&(Oe=y(h[oe+4>>2]),Oe!=y(0))?(rt=y(Gi(l,Oe,0,0)),Xe=y(Gi(f,Oe,0,0)),Qe=y(Gi(m,Oe,0,0)),Oe=y(Gi(k,Oe,0,0))):(Qe=m,rt=l,Oe=k,Xe=f),(d|0)==(s|0)?We=An(Qe,rt)|0:We=0,(B|0)==(c|0)?oe=An(Oe,Xe)|0:oe=0,!We&&(ct=y(l-O),!(io(s,ct,F)|0))&&!(Du(s,ct,d,F)|0)?We=Pu(s,ct,d,m,F)|0:We=1,!oe&&(_e=y(f-j),!(io(c,_e,M)|0))&&!(Du(c,_e,B,M)|0)?oe=Pu(c,_e,B,k,M)|0:oe=1,oe=We&oe),oe|0}function io(s,l,c){return s=s|0,l=y(l),c=y(c),(s|0)==1?s=An(l,c)|0:s=0,s|0}function Du(s,l,c,f){return s=s|0,l=y(l),c=c|0,f=y(f),(s|0)==2&(c|0)==0?l>=f?s=1:s=An(l,f)|0:s=0,s|0}function Pu(s,l,c,f,d){return s=s|0,l=y(l),c=c|0,f=y(f),d=y(d),(s|0)==2&(c|0)==2&f>l?d<=l?s=1:s=An(l,d)|0:s=0,s|0}function Va(s,l,c,f,d,m,B,k,F,M,O){s=s|0,l=y(l),c=y(c),f=f|0,d=d|0,m=m|0,B=y(B),k=y(k),F=F|0,M=M|0,O=O|0;var j=0,oe=0,We=0,Oe=0,Qe=Ze,rt=Ze,Xe=0,ct=0,_e=0,Ge=0,Lt=0,_r=0,ur=0,Zt=0,kr=0,Or=0,lr=0,Nn=Ze,lo=Ze,co=Ze,uo=0,Ia=0;lr=C,C=C+160|0,Zt=lr+152|0,ur=lr+120|0,_r=lr+104|0,_e=lr+72|0,Oe=lr+56|0,Lt=lr+8|0,ct=lr,Ge=(n[2279]|0)+1|0,n[2279]=Ge,kr=s+984|0,o[kr>>0]|0&&(n[s+512>>2]|0)!=(n[2278]|0)?Xe=4:(n[s+516>>2]|0)==(f|0)?Or=0:Xe=4,(Xe|0)==4&&(n[s+520>>2]=0,n[s+924>>2]=-1,n[s+928>>2]=-1,h[s+932>>2]=y(-1),h[s+936>>2]=y(-1),Or=1);e:do if(n[s+964>>2]|0)if(Qe=y(fn(s,2,B)),rt=y(fn(s,0,B)),j=s+916|0,co=y(h[j>>2]),lo=y(h[s+920>>2]),Nn=y(h[s+932>>2]),Ka(d,l,m,c,n[s+924>>2]|0,co,n[s+928>>2]|0,lo,Nn,y(h[s+936>>2]),Qe,rt,O)|0)Xe=22;else if(We=n[s+520>>2]|0,!We)Xe=21;else for(oe=0;;){if(j=s+524+(oe*24|0)|0,Nn=y(h[j>>2]),lo=y(h[s+524+(oe*24|0)+4>>2]),co=y(h[s+524+(oe*24|0)+16>>2]),Ka(d,l,m,c,n[s+524+(oe*24|0)+8>>2]|0,Nn,n[s+524+(oe*24|0)+12>>2]|0,lo,co,y(h[s+524+(oe*24|0)+20>>2]),Qe,rt,O)|0){Xe=22;break e}if(oe=oe+1|0,oe>>>0>=We>>>0){Xe=21;break}}else{if(F){if(j=s+916|0,!(An(y(h[j>>2]),l)|0)){Xe=21;break}if(!(An(y(h[s+920>>2]),c)|0)){Xe=21;break}if((n[s+924>>2]|0)!=(d|0)){Xe=21;break}j=(n[s+928>>2]|0)==(m|0)?j:0,Xe=22;break}if(We=n[s+520>>2]|0,!We)Xe=21;else for(oe=0;;){if(j=s+524+(oe*24|0)|0,An(y(h[j>>2]),l)|0&&An(y(h[s+524+(oe*24|0)+4>>2]),c)|0&&(n[s+524+(oe*24|0)+8>>2]|0)==(d|0)&&(n[s+524+(oe*24|0)+12>>2]|0)==(m|0)){Xe=22;break e}if(oe=oe+1|0,oe>>>0>=We>>>0){Xe=21;break}}}while(!1);do if((Xe|0)==21)o[11697]|0?(j=0,Xe=28):(j=0,Xe=31);else if((Xe|0)==22){if(oe=(o[11697]|0)!=0,!((j|0)!=0&(Or^1)))if(oe){Xe=28;break}else{Xe=31;break}Oe=j+16|0,n[s+908>>2]=n[Oe>>2],We=j+20|0,n[s+912>>2]=n[We>>2],(o[11698]|0)==0|oe^1||(n[ct>>2]=Sc(Ge)|0,n[ct+4>>2]=Ge,so(s,4,2972,ct),oe=n[s+972>>2]|0,oe|0&&ef[oe&127](s),d=_o(d,F)|0,m=_o(m,F)|0,Ia=+y(h[Oe>>2]),uo=+y(h[We>>2]),n[Lt>>2]=d,n[Lt+4>>2]=m,E[Lt+8>>3]=+l,E[Lt+16>>3]=+c,E[Lt+24>>3]=Ia,E[Lt+32>>3]=uo,n[Lt+40>>2]=M,so(s,4,2989,Lt))}while(!1);return(Xe|0)==28&&(oe=Sc(Ge)|0,n[Oe>>2]=oe,n[Oe+4>>2]=Ge,n[Oe+8>>2]=Or?3047:11699,so(s,4,3038,Oe),oe=n[s+972>>2]|0,oe|0&&ef[oe&127](s),Lt=_o(d,F)|0,Xe=_o(m,F)|0,n[_e>>2]=Lt,n[_e+4>>2]=Xe,E[_e+8>>3]=+l,E[_e+16>>3]=+c,n[_e+24>>2]=M,so(s,4,3049,_e),Xe=31),(Xe|0)==31&&(ds(s,l,c,f,d,m,B,k,F,O),o[11697]|0&&(oe=n[2279]|0,Lt=Sc(oe)|0,n[_r>>2]=Lt,n[_r+4>>2]=oe,n[_r+8>>2]=Or?3047:11699,so(s,4,3083,_r),oe=n[s+972>>2]|0,oe|0&&ef[oe&127](s),Lt=_o(d,F)|0,_r=_o(m,F)|0,uo=+y(h[s+908>>2]),Ia=+y(h[s+912>>2]),n[ur>>2]=Lt,n[ur+4>>2]=_r,E[ur+8>>3]=uo,E[ur+16>>3]=Ia,n[ur+24>>2]=M,so(s,4,3092,ur)),n[s+516>>2]=f,j||(oe=s+520|0,j=n[oe>>2]|0,(j|0)==16&&(o[11697]|0&&so(s,4,3124,Zt),n[oe>>2]=0,j=0),F?j=s+916|0:(n[oe>>2]=j+1,j=s+524+(j*24|0)|0),h[j>>2]=l,h[j+4>>2]=c,n[j+8>>2]=d,n[j+12>>2]=m,n[j+16>>2]=n[s+908>>2],n[j+20>>2]=n[s+912>>2],j=0)),F&&(n[s+416>>2]=n[s+908>>2],n[s+420>>2]=n[s+912>>2],o[s+985>>0]=1,o[kr>>0]=0),n[2279]=(n[2279]|0)+-1,n[s+512>>2]=n[2278],C=lr,Or|(j|0)==0|0}function fn(s,l,c){s=s|0,l=l|0,c=y(c);var f=Ze;return f=y(V(s,l,c)),y(f+y(re(s,l,c)))}function so(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0,m=0;m=C,C=C+16|0,d=m,n[d>>2]=f,s?f=n[s+976>>2]|0:f=0,yp(f,s,l,c,d),C=m}function Sc(s){return s=s|0,(s>>>0>60?3201:3201+(60-s)|0)|0}function _o(s,l){s=s|0,l=l|0;var c=0,f=0,d=0;return d=C,C=C+32|0,c=d+12|0,f=d,n[c>>2]=n[254],n[c+4>>2]=n[255],n[c+8>>2]=n[256],n[f>>2]=n[257],n[f+4>>2]=n[258],n[f+8>>2]=n[259],(s|0)>2?s=11699:s=n[(l?f:c)+(s<<2)>>2]|0,C=d,s|0}function ds(s,l,c,f,d,m,B,k,F,M){s=s|0,l=y(l),c=y(c),f=f|0,d=d|0,m=m|0,B=y(B),k=y(k),F=F|0,M=M|0;var O=0,j=0,oe=0,We=0,Oe=Ze,Qe=Ze,rt=Ze,Xe=Ze,ct=Ze,_e=Ze,Ge=Ze,Lt=0,_r=0,ur=0,Zt=Ze,kr=Ze,Or=0,lr=Ze,Nn=0,lo=0,co=0,uo=0,Ia=0,Np=0,Lp=0,kl=0,Op=0,Lu=0,Ou=0,Mp=0,Up=0,_p=0,$r=0,Ql=0,Hp=0,Nc=0,qp=Ze,jp=Ze,Mu=Ze,Uu=Ze,Lc=Ze,Ms=0,rl=0,Go=0,Fl=0,rf=0,nf=Ze,_u=Ze,sf=Ze,of=Ze,Us=Ze,Cs=Ze,Rl=0,Un=Ze,af=Ze,Ao=Ze,Oc=Ze,fo=Ze,Mc=Ze,lf=0,cf=0,Uc=Ze,_s=Ze,Tl=0,uf=0,Af=0,ff=0,Fr=Ze,ri=0,Is=0,po=0,Hs=0,Nr=0,Ar=0,Nl=0,Vt=Ze,pf=0,hi=0;Nl=C,C=C+16|0,Ms=Nl+12|0,rl=Nl+8|0,Go=Nl+4|0,Fl=Nl,pi(s,(d|0)==0|(Ot(l)|0)^1,3326),pi(s,(m|0)==0|(Ot(c)|0)^1,3406),Is=At(s,f)|0,n[s+496>>2]=Is,Nr=hr(2,Is)|0,Ar=hr(0,Is)|0,h[s+440>>2]=y(V(s,Nr,B)),h[s+444>>2]=y(re(s,Nr,B)),h[s+428>>2]=y(V(s,Ar,B)),h[s+436>>2]=y(re(s,Ar,B)),h[s+464>>2]=y(Ir(s,Nr)),h[s+468>>2]=y(Rn(s,Nr)),h[s+452>>2]=y(Ir(s,Ar)),h[s+460>>2]=y(Rn(s,Ar)),h[s+488>>2]=y(ai(s,Nr,B)),h[s+492>>2]=y(ns(s,Nr,B)),h[s+476>>2]=y(ai(s,Ar,B)),h[s+484>>2]=y(ns(s,Ar,B));do if(n[s+964>>2]|0)GA(s,l,c,d,m,B,k);else{if(po=s+948|0,Hs=(n[s+952>>2]|0)-(n[po>>2]|0)>>2,!Hs){lD(s,l,c,d,m,B,k);break}if(!F&&PI(s,l,c,d,m,B,k)|0)break;ee(s),Ql=s+508|0,o[Ql>>0]=0,Nr=hr(n[s+4>>2]|0,Is)|0,Ar=Fd(Nr,Is)|0,ri=ge(Nr)|0,Hp=n[s+8>>2]|0,uf=s+28|0,Nc=(n[uf>>2]|0)!=0,fo=ri?B:k,Uc=ri?k:B,qp=y(Cp(s,Nr,B)),jp=y(SI(s,Nr,B)),Oe=y(Cp(s,Ar,B)),Mc=y(da(s,Nr,B)),_s=y(da(s,Ar,B)),ur=ri?d:m,Tl=ri?m:d,Fr=ri?Mc:_s,ct=ri?_s:Mc,Oc=y(fn(s,2,B)),Xe=y(fn(s,0,B)),Qe=y(y(Kr(s+364|0,B))-Fr),rt=y(y(Kr(s+380|0,B))-Fr),_e=y(y(Kr(s+372|0,k))-ct),Ge=y(y(Kr(s+388|0,k))-ct),Mu=ri?Qe:_e,Uu=ri?rt:Ge,Oc=y(l-Oc),l=y(Oc-Fr),Ot(l)|0?Fr=l:Fr=y(Yn(y(M0(l,rt)),Qe)),af=y(c-Xe),l=y(af-ct),Ot(l)|0?Ao=l:Ao=y(Yn(y(M0(l,Ge)),_e)),Qe=ri?Fr:Ao,Un=ri?Ao:Fr;e:do if((ur|0)==1)for(f=0,j=0;;){if(O=rs(s,j)|0,!f)y(WA(O))>y(0)&&y(Ip(O))>y(0)?f=O:f=0;else if(bI(O)|0){We=0;break e}if(j=j+1|0,j>>>0>=Hs>>>0){We=f;break}}else We=0;while(!1);Lt=We+500|0,_r=We+504|0,f=0,O=0,l=y(0),oe=0;do{if(j=n[(n[po>>2]|0)+(oe<<2)>>2]|0,(n[j+36>>2]|0)==1)Rd(j),o[j+985>>0]=1,o[j+984>>0]=0;else{Su(j),F&&mp(j,At(j,Is)|0,Qe,Un,Fr);do if((n[j+24>>2]|0)!=1)if((j|0)==(We|0)){n[Lt>>2]=n[2278],h[_r>>2]=y(0);break}else{cD(s,j,Fr,d,Ao,Fr,Ao,m,Is,M);break}else O|0&&(n[O+960>>2]=j),n[j+960>>2]=0,O=j,f=f|0?f:j;while(!1);Cs=y(h[j+504>>2]),l=y(l+y(Cs+y(fn(j,Nr,Fr))))}oe=oe+1|0}while((oe|0)!=(Hs|0));for(co=l>Qe,Rl=Nc&((ur|0)==2&co)?1:ur,Nn=(Tl|0)==1,Ia=Nn&(F^1),Np=(Rl|0)==1,Lp=(Rl|0)==2,kl=976+(Nr<<2)|0,Op=(Tl|2|0)==2,_p=Nn&(Nc^1),Lu=1040+(Ar<<2)|0,Ou=1040+(Nr<<2)|0,Mp=976+(Ar<<2)|0,Up=(Tl|0)!=1,co=Nc&((ur|0)!=0&co),lo=s+976|0,Nn=Nn^1,l=Qe,Or=0,uo=0,Cs=y(0),Lc=y(0);;){e:do if(Or>>>0<Hs>>>0)for(_r=n[po>>2]|0,oe=0,Ge=y(0),_e=y(0),rt=y(0),Qe=y(0),j=0,O=0,We=Or;;){if(Lt=n[_r+(We<<2)>>2]|0,(n[Lt+36>>2]|0)!=1&&(n[Lt+940>>2]=uo,(n[Lt+24>>2]|0)!=1)){if(Xe=y(fn(Lt,Nr,Fr)),$r=n[kl>>2]|0,c=y(Kr(Lt+380+($r<<3)|0,fo)),ct=y(h[Lt+504>>2]),c=y(M0(c,ct)),c=y(Yn(y(Kr(Lt+364+($r<<3)|0,fo)),c)),Nc&(oe|0)!=0&y(Xe+y(_e+c))>l){m=oe,Xe=Ge,ur=We;break e}Xe=y(Xe+c),c=y(_e+Xe),Xe=y(Ge+Xe),bI(Lt)|0&&(rt=y(rt+y(WA(Lt))),Qe=y(Qe-y(ct*y(Ip(Lt))))),O|0&&(n[O+960>>2]=Lt),n[Lt+960>>2]=0,oe=oe+1|0,O=Lt,j=j|0?j:Lt}else Xe=Ge,c=_e;if(We=We+1|0,We>>>0<Hs>>>0)Ge=Xe,_e=c;else{m=oe,ur=We;break}}else m=0,Xe=y(0),rt=y(0),Qe=y(0),j=0,ur=Or;while(!1);$r=rt>y(0)&rt<y(1),Zt=$r?y(1):rt,$r=Qe>y(0)&Qe<y(1),Ge=$r?y(1):Qe;do if(Np)$r=51;else if(Xe<Mu&((Ot(Mu)|0)^1))l=Mu,$r=51;else if(Xe>Uu&((Ot(Uu)|0)^1))l=Uu,$r=51;else if(o[(n[lo>>2]|0)+3>>0]|0)$r=51;else{if(Zt!=y(0)&&y(WA(s))!=y(0)){$r=53;break}l=Xe,$r=53}while(!1);if(($r|0)==51&&($r=0,Ot(l)|0?$r=53:(kr=y(l-Xe),lr=l)),($r|0)==53&&($r=0,Xe<y(0)?(kr=y(-Xe),lr=l):(kr=y(0),lr=l)),!Ia&&(rf=(j|0)==0,!rf)){oe=n[kl>>2]|0,We=kr<y(0),ct=y(kr/Ge),Lt=kr>y(0),_e=y(kr/Zt),rt=y(0),Xe=y(0),l=y(0),O=j;do c=y(Kr(O+380+(oe<<3)|0,fo)),Qe=y(Kr(O+364+(oe<<3)|0,fo)),Qe=y(M0(c,y(Yn(Qe,y(h[O+504>>2]))))),We?(c=y(Qe*y(Ip(O))),c!=y(-0)&&(Vt=y(Qe-y(ct*c)),nf=y(Mn(O,Nr,Vt,lr,Fr)),Vt!=nf)&&(rt=y(rt-y(nf-Qe)),l=y(l+c))):Lt&&(_u=y(WA(O)),_u!=y(0))&&(Vt=y(Qe+y(_e*_u)),sf=y(Mn(O,Nr,Vt,lr,Fr)),Vt!=sf)&&(rt=y(rt-y(sf-Qe)),Xe=y(Xe-_u)),O=n[O+960>>2]|0;while(O|0);if(l=y(Ge+l),Qe=y(kr+rt),rf)l=y(0);else{ct=y(Zt+Xe),We=n[kl>>2]|0,Lt=Qe<y(0),_r=l==y(0),_e=y(Qe/l),oe=Qe>y(0),ct=y(Qe/ct),l=y(0);do{Vt=y(Kr(j+380+(We<<3)|0,fo)),rt=y(Kr(j+364+(We<<3)|0,fo)),rt=y(M0(Vt,y(Yn(rt,y(h[j+504>>2]))))),Lt?(Vt=y(rt*y(Ip(j))),Qe=y(-Vt),Vt!=y(-0)?(Vt=y(_e*Qe),Qe=y(Mn(j,Nr,y(rt+(_r?Qe:Vt)),lr,Fr))):Qe=rt):oe&&(of=y(WA(j)),of!=y(0))?Qe=y(Mn(j,Nr,y(rt+y(ct*of)),lr,Fr)):Qe=rt,l=y(l-y(Qe-rt)),Xe=y(fn(j,Nr,Fr)),c=y(fn(j,Ar,Fr)),Qe=y(Qe+Xe),h[rl>>2]=Qe,n[Fl>>2]=1,rt=y(h[j+396>>2]);e:do if(Ot(rt)|0){O=Ot(Un)|0;do if(!O){if(co|(Ls(j,Ar,Un)|0|Nn)||(Wi(s,j)|0)!=4||(n[(Ja(j,Ar)|0)+4>>2]|0)==3||(n[(za(j,Ar)|0)+4>>2]|0)==3)break;h[Ms>>2]=Un,n[Go>>2]=1;break e}while(!1);if(Ls(j,Ar,Un)|0){O=n[j+992+(n[Mp>>2]<<2)>>2]|0,Vt=y(c+y(Kr(O,Un))),h[Ms>>2]=Vt,O=Up&(n[O+4>>2]|0)==2,n[Go>>2]=((Ot(Vt)|0|O)^1)&1;break}else{h[Ms>>2]=Un,n[Go>>2]=O?0:2;break}}else Vt=y(Qe-Xe),Zt=y(Vt/rt),Vt=y(rt*Vt),n[Go>>2]=1,h[Ms>>2]=y(c+(ri?Zt:Vt));while(!1);bc(j,Nr,lr,Fr,Fl,rl),bc(j,Ar,Un,Fr,Go,Ms);do if(!(Ls(j,Ar,Un)|0)&&(Wi(s,j)|0)==4){if((n[(Ja(j,Ar)|0)+4>>2]|0)==3){O=0;break}O=(n[(za(j,Ar)|0)+4>>2]|0)!=3}else O=0;while(!1);Vt=y(h[rl>>2]),Zt=y(h[Ms>>2]),pf=n[Fl>>2]|0,hi=n[Go>>2]|0,Va(j,ri?Vt:Zt,ri?Zt:Vt,Is,ri?pf:hi,ri?hi:pf,Fr,Ao,F&(O^1),3488,M)|0,o[Ql>>0]=o[Ql>>0]|o[j+508>>0],j=n[j+960>>2]|0}while(j|0)}}else l=y(0);if(l=y(kr+l),hi=l<y(0)&1,o[Ql>>0]=hi|u[Ql>>0],Lp&l>y(0)?(O=n[kl>>2]|0,n[s+364+(O<<3)+4>>2]|0&&(Us=y(Kr(s+364+(O<<3)|0,fo)),Us>=y(0))?Qe=y(Yn(y(0),y(Us-y(lr-l)))):Qe=y(0)):Qe=l,Lt=Or>>>0<ur>>>0,Lt){We=n[po>>2]|0,oe=Or,O=0;do j=n[We+(oe<<2)>>2]|0,n[j+24>>2]|0||(O=((n[(Ja(j,Nr)|0)+4>>2]|0)==3&1)+O|0,O=O+((n[(za(j,Nr)|0)+4>>2]|0)==3&1)|0),oe=oe+1|0;while((oe|0)!=(ur|0));O?(Xe=y(0),c=y(0)):$r=101}else $r=101;e:do if(($r|0)==101)switch($r=0,Hp|0){case 1:{O=0,Xe=y(Qe*y(.5)),c=y(0);break e}case 2:{O=0,Xe=Qe,c=y(0);break e}case 3:{if(m>>>0<=1){O=0,Xe=y(0),c=y(0);break e}c=y((m+-1|0)>>>0),O=0,Xe=y(0),c=y(y(Yn(Qe,y(0)))/c);break e}case 5:{c=y(Qe/y((m+1|0)>>>0)),O=0,Xe=c;break e}case 4:{c=y(Qe/y(m>>>0)),O=0,Xe=y(c*y(.5));break e}default:{O=0,Xe=y(0),c=y(0);break e}}while(!1);if(l=y(qp+Xe),Lt){rt=y(Qe/y(O|0)),oe=n[po>>2]|0,j=Or,Qe=y(0);do{O=n[oe+(j<<2)>>2]|0;e:do if((n[O+36>>2]|0)!=1){switch(n[O+24>>2]|0){case 1:{if(Ho(O,Nr)|0){if(!F)break e;Vt=y(YA(O,Nr,lr)),Vt=y(Vt+y(Ir(s,Nr))),Vt=y(Vt+y(V(O,Nr,Fr))),h[O+400+(n[Ou>>2]<<2)>>2]=Vt;break e}break}case 0:if(hi=(n[(Ja(O,Nr)|0)+4>>2]|0)==3,Vt=y(rt+l),l=hi?Vt:l,F&&(hi=O+400+(n[Ou>>2]<<2)|0,h[hi>>2]=y(l+y(h[hi>>2]))),hi=(n[(za(O,Nr)|0)+4>>2]|0)==3,Vt=y(rt+l),l=hi?Vt:l,Ia){Vt=y(c+y(fn(O,Nr,Fr))),Qe=Un,l=y(l+y(Vt+y(h[O+504>>2])));break e}else{l=y(l+y(c+y(KA(O,Nr,Fr)))),Qe=y(Yn(Qe,y(KA(O,Ar,Fr))));break e}default:}F&&(Vt=y(Xe+y(Ir(s,Nr))),hi=O+400+(n[Ou>>2]<<2)|0,h[hi>>2]=y(Vt+y(h[hi>>2])))}while(!1);j=j+1|0}while((j|0)!=(ur|0))}else Qe=y(0);if(c=y(jp+l),Op?Xe=y(y(Mn(s,Ar,y(_s+Qe),Uc,B))-_s):Xe=Un,rt=y(y(Mn(s,Ar,y(_s+(_p?Un:Qe)),Uc,B))-_s),Lt&F){j=Or;do{oe=n[(n[po>>2]|0)+(j<<2)>>2]|0;do if((n[oe+36>>2]|0)!=1){if((n[oe+24>>2]|0)==1){if(Ho(oe,Ar)|0){if(Vt=y(YA(oe,Ar,Un)),Vt=y(Vt+y(Ir(s,Ar))),Vt=y(Vt+y(V(oe,Ar,Fr))),O=n[Lu>>2]|0,h[oe+400+(O<<2)>>2]=Vt,!(Ot(Vt)|0))break}else O=n[Lu>>2]|0;Vt=y(Ir(s,Ar)),h[oe+400+(O<<2)>>2]=y(Vt+y(V(oe,Ar,Fr)));break}O=Wi(s,oe)|0;do if((O|0)==4){if((n[(Ja(oe,Ar)|0)+4>>2]|0)==3){$r=139;break}if((n[(za(oe,Ar)|0)+4>>2]|0)==3){$r=139;break}if(Ls(oe,Ar,Un)|0){l=Oe;break}pf=n[oe+908+(n[kl>>2]<<2)>>2]|0,n[Ms>>2]=pf,l=y(h[oe+396>>2]),hi=Ot(l)|0,Qe=(n[D>>2]=pf,y(h[D>>2])),hi?l=rt:(kr=y(fn(oe,Ar,Fr)),Vt=y(Qe/l),l=y(l*Qe),l=y(kr+(ri?Vt:l))),h[rl>>2]=l,h[Ms>>2]=y(y(fn(oe,Nr,Fr))+Qe),n[Go>>2]=1,n[Fl>>2]=1,bc(oe,Nr,lr,Fr,Go,Ms),bc(oe,Ar,Un,Fr,Fl,rl),l=y(h[Ms>>2]),kr=y(h[rl>>2]),Vt=ri?l:kr,l=ri?kr:l,hi=((Ot(Vt)|0)^1)&1,Va(oe,Vt,l,Is,hi,((Ot(l)|0)^1)&1,Fr,Ao,1,3493,M)|0,l=Oe}else $r=139;while(!1);e:do if(($r|0)==139){$r=0,l=y(Xe-y(KA(oe,Ar,Fr)));do if((n[(Ja(oe,Ar)|0)+4>>2]|0)==3){if((n[(za(oe,Ar)|0)+4>>2]|0)!=3)break;l=y(Oe+y(Yn(y(0),y(l*y(.5)))));break e}while(!1);if((n[(za(oe,Ar)|0)+4>>2]|0)==3){l=Oe;break}if((n[(Ja(oe,Ar)|0)+4>>2]|0)==3){l=y(Oe+y(Yn(y(0),l)));break}switch(O|0){case 1:{l=Oe;break e}case 2:{l=y(Oe+y(l*y(.5)));break e}default:{l=y(Oe+l);break e}}}while(!1);Vt=y(Cs+l),hi=oe+400+(n[Lu>>2]<<2)|0,h[hi>>2]=y(Vt+y(h[hi>>2]))}while(!1);j=j+1|0}while((j|0)!=(ur|0))}if(Cs=y(Cs+rt),Lc=y(Yn(Lc,c)),m=uo+1|0,ur>>>0>=Hs>>>0)break;l=lr,Or=ur,uo=m}do if(F){if(O=m>>>0>1,!O&&!(HF(s)|0))break;if(!(Ot(Un)|0)){l=y(Un-Cs);e:do switch(n[s+12>>2]|0){case 3:{Oe=y(Oe+l),_e=y(0);break}case 2:{Oe=y(Oe+y(l*y(.5))),_e=y(0);break}case 4:{Un>Cs?_e=y(l/y(m>>>0)):_e=y(0);break}case 7:if(Un>Cs){Oe=y(Oe+y(l/y(m<<1>>>0))),_e=y(l/y(m>>>0)),_e=O?_e:y(0);break e}else{Oe=y(Oe+y(l*y(.5))),_e=y(0);break e}case 6:{_e=y(l/y(uo>>>0)),_e=Un>Cs&O?_e:y(0);break}default:_e=y(0)}while(!1);if(m|0)for(Lt=1040+(Ar<<2)|0,_r=976+(Ar<<2)|0,We=0,j=0;;){e:do if(j>>>0<Hs>>>0)for(Qe=y(0),rt=y(0),l=y(0),oe=j;;){O=n[(n[po>>2]|0)+(oe<<2)>>2]|0;do if((n[O+36>>2]|0)!=1&&!(n[O+24>>2]|0)){if((n[O+940>>2]|0)!=(We|0))break e;if(qF(O,Ar)|0&&(Vt=y(h[O+908+(n[_r>>2]<<2)>>2]),l=y(Yn(l,y(Vt+y(fn(O,Ar,Fr)))))),(Wi(s,O)|0)!=5)break;Us=y(m0(O)),Us=y(Us+y(V(O,0,Fr))),Vt=y(h[O+912>>2]),Vt=y(y(Vt+y(fn(O,0,Fr)))-Us),Us=y(Yn(rt,Us)),Vt=y(Yn(Qe,Vt)),Qe=Vt,rt=Us,l=y(Yn(l,y(Us+Vt)))}while(!1);if(O=oe+1|0,O>>>0<Hs>>>0)oe=O;else{oe=O;break}}else rt=y(0),l=y(0),oe=j;while(!1);if(ct=y(_e+l),c=Oe,Oe=y(Oe+ct),j>>>0<oe>>>0){Xe=y(c+rt),O=j;do{j=n[(n[po>>2]|0)+(O<<2)>>2]|0;e:do if((n[j+36>>2]|0)!=1&&!(n[j+24>>2]|0))switch(Wi(s,j)|0){case 1:{Vt=y(c+y(V(j,Ar,Fr))),h[j+400+(n[Lt>>2]<<2)>>2]=Vt;break e}case 3:{Vt=y(y(Oe-y(re(j,Ar,Fr)))-y(h[j+908+(n[_r>>2]<<2)>>2])),h[j+400+(n[Lt>>2]<<2)>>2]=Vt;break e}case 2:{Vt=y(c+y(y(ct-y(h[j+908+(n[_r>>2]<<2)>>2]))*y(.5))),h[j+400+(n[Lt>>2]<<2)>>2]=Vt;break e}case 4:{if(Vt=y(c+y(V(j,Ar,Fr))),h[j+400+(n[Lt>>2]<<2)>>2]=Vt,Ls(j,Ar,Un)|0||(ri?(Qe=y(h[j+908>>2]),l=y(Qe+y(fn(j,Nr,Fr))),rt=ct):(rt=y(h[j+912>>2]),rt=y(rt+y(fn(j,Ar,Fr))),l=ct,Qe=y(h[j+908>>2])),An(l,Qe)|0&&An(rt,y(h[j+912>>2]))|0))break e;Va(j,l,rt,Is,1,1,Fr,Ao,1,3501,M)|0;break e}case 5:{h[j+404>>2]=y(y(Xe-y(m0(j)))+y(YA(j,0,Un)));break e}default:break e}while(!1);O=O+1|0}while((O|0)!=(oe|0))}if(We=We+1|0,(We|0)==(m|0))break;j=oe}}}while(!1);if(h[s+908>>2]=y(Mn(s,2,Oc,B,B)),h[s+912>>2]=y(Mn(s,0,af,k,B)),Rl|0&&(lf=n[s+32>>2]|0,cf=(Rl|0)==2,!(cf&(lf|0)!=2))?cf&(lf|0)==2&&(l=y(Mc+lr),l=y(Yn(y(M0(l,y(y0(s,Nr,Lc,fo)))),Mc)),$r=198):(l=y(Mn(s,Nr,Lc,fo,B)),$r=198),($r|0)==198&&(h[s+908+(n[976+(Nr<<2)>>2]<<2)>>2]=l),Tl|0&&(Af=n[s+32>>2]|0,ff=(Tl|0)==2,!(ff&(Af|0)!=2))?ff&(Af|0)==2&&(l=y(_s+Un),l=y(Yn(y(M0(l,y(y0(s,Ar,y(_s+Cs),Uc)))),_s)),$r=204):(l=y(Mn(s,Ar,y(_s+Cs),Uc,B)),$r=204),($r|0)==204&&(h[s+908+(n[976+(Ar<<2)>>2]<<2)>>2]=l),F){if((n[uf>>2]|0)==2){j=976+(Ar<<2)|0,oe=1040+(Ar<<2)|0,O=0;do We=rs(s,O)|0,n[We+24>>2]|0||(pf=n[j>>2]|0,Vt=y(h[s+908+(pf<<2)>>2]),hi=We+400+(n[oe>>2]<<2)|0,Vt=y(Vt-y(h[hi>>2])),h[hi>>2]=y(Vt-y(h[We+908+(pf<<2)>>2]))),O=O+1|0;while((O|0)!=(Hs|0))}if(f|0){O=ri?Rl:d;do jF(s,f,Fr,O,Ao,Is,M),f=n[f+960>>2]|0;while(f|0)}if(O=(Nr|2|0)==3,j=(Ar|2|0)==3,O|j){f=0;do oe=n[(n[po>>2]|0)+(f<<2)>>2]|0,(n[oe+36>>2]|0)!=1&&(O&&xI(s,oe,Nr),j&&xI(s,oe,Ar)),f=f+1|0;while((f|0)!=(Hs|0))}}}while(!1);C=Nl}function dp(s,l){s=s|0,l=y(l);var c=0;ua(s,l>=y(0),3147),c=l==y(0),h[s+4>>2]=c?y(0):l}function qA(s,l,c,f){s=s|0,l=y(l),c=y(c),f=f|0;var d=Ze,m=Ze,B=0,k=0,F=0;n[2278]=(n[2278]|0)+1,Su(s),Ls(s,2,l)|0?(d=y(Kr(n[s+992>>2]|0,l)),F=1,d=y(d+y(fn(s,2,l)))):(d=y(Kr(s+380|0,l)),d>=y(0)?F=2:(F=((Ot(l)|0)^1)&1,d=l)),Ls(s,0,c)|0?(m=y(Kr(n[s+996>>2]|0,c)),k=1,m=y(m+y(fn(s,0,l)))):(m=y(Kr(s+388|0,c)),m>=y(0)?k=2:(k=((Ot(c)|0)^1)&1,m=c)),B=s+976|0,Va(s,d,m,f,F,k,l,c,1,3189,n[B>>2]|0)|0&&(mp(s,n[s+496>>2]|0,l,c,l),jA(s,y(h[(n[B>>2]|0)+4>>2]),y(0),y(0)),o[11696]|0)&&h0(s,7)}function Su(s){s=s|0;var l=0,c=0,f=0,d=0,m=0,B=0,k=0,F=0,M=0,O=0;k=C,C=C+32|0,B=k+24|0,m=k+16|0,f=k+8|0,d=k,c=0;do l=s+380+(c<<3)|0,n[s+380+(c<<3)+4>>2]|0&&(F=l,M=n[F+4>>2]|0,O=f,n[O>>2]=n[F>>2],n[O+4>>2]=M,O=s+364+(c<<3)|0,M=n[O+4>>2]|0,F=d,n[F>>2]=n[O>>2],n[F+4>>2]=M,n[m>>2]=n[f>>2],n[m+4>>2]=n[f+4>>2],n[B>>2]=n[d>>2],n[B+4>>2]=n[d+4>>2],vu(m,B)|0)||(l=s+348+(c<<3)|0),n[s+992+(c<<2)>>2]=l,c=c+1|0;while((c|0)!=2);C=k}function Ls(s,l,c){s=s|0,l=l|0,c=y(c);var f=0;switch(s=n[s+992+(n[976+(l<<2)>>2]<<2)>>2]|0,n[s+4>>2]|0){case 0:case 3:{s=0;break}case 1:{y(h[s>>2])<y(0)?s=0:f=5;break}case 2:{y(h[s>>2])<y(0)?s=0:s=(Ot(c)|0)^1;break}default:f=5}return(f|0)==5&&(s=1),s|0}function Kr(s,l){switch(s=s|0,l=y(l),n[s+4>>2]|0){case 2:{l=y(y(y(h[s>>2])*l)/y(100));break}case 1:{l=y(h[s>>2]);break}default:l=y(ue)}return y(l)}function mp(s,l,c,f,d){s=s|0,l=l|0,c=y(c),f=y(f),d=y(d);var m=0,B=Ze;l=n[s+944>>2]|0?l:1,m=hr(n[s+4>>2]|0,l)|0,l=Fd(m,l)|0,c=y(uD(s,m,c)),f=y(uD(s,l,f)),B=y(c+y(V(s,m,d))),h[s+400+(n[1040+(m<<2)>>2]<<2)>>2]=B,c=y(c+y(re(s,m,d))),h[s+400+(n[1e3+(m<<2)>>2]<<2)>>2]=c,c=y(f+y(V(s,l,d))),h[s+400+(n[1040+(l<<2)>>2]<<2)>>2]=c,d=y(f+y(re(s,l,d))),h[s+400+(n[1e3+(l<<2)>>2]<<2)>>2]=d}function jA(s,l,c,f){s=s|0,l=y(l),c=y(c),f=y(f);var d=0,m=0,B=Ze,k=Ze,F=0,M=0,O=Ze,j=0,oe=Ze,We=Ze,Oe=Ze,Qe=Ze;if(l!=y(0)&&(d=s+400|0,Qe=y(h[d>>2]),m=s+404|0,Oe=y(h[m>>2]),j=s+416|0,We=y(h[j>>2]),M=s+420|0,B=y(h[M>>2]),oe=y(Qe+c),O=y(Oe+f),f=y(oe+We),k=y(O+B),F=(n[s+988>>2]|0)==1,h[d>>2]=y(Gi(Qe,l,0,F)),h[m>>2]=y(Gi(Oe,l,0,F)),c=y(lT(y(We*l),y(1))),An(c,y(0))|0?m=0:m=(An(c,y(1))|0)^1,c=y(lT(y(B*l),y(1))),An(c,y(0))|0?d=0:d=(An(c,y(1))|0)^1,Qe=y(Gi(f,l,F&m,F&(m^1))),h[j>>2]=y(Qe-y(Gi(oe,l,0,F))),Qe=y(Gi(k,l,F&d,F&(d^1))),h[M>>2]=y(Qe-y(Gi(O,l,0,F))),m=(n[s+952>>2]|0)-(n[s+948>>2]|0)>>2,m|0)){d=0;do jA(rs(s,d)|0,l,oe,O),d=d+1|0;while((d|0)!=(m|0))}}function kd(s,l,c,f,d){switch(s=s|0,l=l|0,c=c|0,f=f|0,d=d|0,c|0){case 5:case 0:{s=M7(n[489]|0,f,d)|0;break}default:s=H4e(f,d)|0}return s|0}function d0(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0,m=0;d=C,C=C+16|0,m=d,n[m>>2]=f,yp(s,0,l,c,m),C=d}function yp(s,l,c,f,d){if(s=s|0,l=l|0,c=c|0,f=f|0,d=d|0,s=s|0?s:956,sW[n[s+8>>2]&1](s,l,c,f,d)|0,(c|0)==5)Tt();else return}function bl(s,l,c){s=s|0,l=l|0,c=c|0,o[s+l>>0]=c&1}function Qd(s,l){s=s|0,l=l|0;var c=0,f=0;n[s>>2]=0,n[s+4>>2]=0,n[s+8>>2]=0,c=l+4|0,f=(n[c>>2]|0)-(n[l>>2]|0)>>2,f|0&&(Ep(s,f),xt(s,n[l>>2]|0,n[c>>2]|0,f))}function Ep(s,l){s=s|0,l=l|0;var c=0;if((N(s)|0)>>>0<l>>>0&&Zr(s),l>>>0>1073741823)Tt();else{c=Yt(l<<2)|0,n[s+4>>2]=c,n[s>>2]=c,n[s+8>>2]=c+(l<<2);return}}function xt(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0,f=s+4|0,s=c-l|0,(s|0)>0&&(xr(n[f>>2]|0,l|0,s|0)|0,n[f>>2]=(n[f>>2]|0)+(s>>>2<<2))}function N(s){return s=s|0,1073741823}function V(s,l,c){return s=s|0,l=l|0,c=y(c),ge(l)|0&&n[s+96>>2]|0?s=s+92|0:s=vn(s+60|0,n[1040+(l<<2)>>2]|0,992)|0,y(Ye(s,c))}function re(s,l,c){return s=s|0,l=l|0,c=y(c),ge(l)|0&&n[s+104>>2]|0?s=s+100|0:s=vn(s+60|0,n[1e3+(l<<2)>>2]|0,992)|0,y(Ye(s,c))}function ge(s){return s=s|0,(s|1|0)==3|0}function Ye(s,l){return s=s|0,l=y(l),(n[s+4>>2]|0)==3?l=y(0):l=y(Kr(s,l)),y(l)}function At(s,l){return s=s|0,l=l|0,s=n[s>>2]|0,(s|0?s:(l|0)>1?l:1)|0}function hr(s,l){s=s|0,l=l|0;var c=0;e:do if((l|0)==2){switch(s|0){case 2:{s=3;break e}case 3:break;default:{c=4;break e}}s=2}else c=4;while(!1);return s|0}function Ir(s,l){s=s|0,l=l|0;var c=Ze;return ge(l)|0&&n[s+312>>2]|0&&(c=y(h[s+308>>2]),c>=y(0))||(c=y(Yn(y(h[(vn(s+276|0,n[1040+(l<<2)>>2]|0,992)|0)>>2]),y(0)))),y(c)}function Rn(s,l){s=s|0,l=l|0;var c=Ze;return ge(l)|0&&n[s+320>>2]|0&&(c=y(h[s+316>>2]),c>=y(0))||(c=y(Yn(y(h[(vn(s+276|0,n[1e3+(l<<2)>>2]|0,992)|0)>>2]),y(0)))),y(c)}function ai(s,l,c){s=s|0,l=l|0,c=y(c);var f=Ze;return ge(l)|0&&n[s+240>>2]|0&&(f=y(Kr(s+236|0,c)),f>=y(0))||(f=y(Yn(y(Kr(vn(s+204|0,n[1040+(l<<2)>>2]|0,992)|0,c)),y(0)))),y(f)}function ns(s,l,c){s=s|0,l=l|0,c=y(c);var f=Ze;return ge(l)|0&&n[s+248>>2]|0&&(f=y(Kr(s+244|0,c)),f>=y(0))||(f=y(Yn(y(Kr(vn(s+204|0,n[1e3+(l<<2)>>2]|0,992)|0,c)),y(0)))),y(f)}function GA(s,l,c,f,d,m,B){s=s|0,l=y(l),c=y(c),f=f|0,d=d|0,m=y(m),B=y(B);var k=Ze,F=Ze,M=Ze,O=Ze,j=Ze,oe=Ze,We=0,Oe=0,Qe=0;Qe=C,C=C+16|0,We=Qe,Oe=s+964|0,pi(s,(n[Oe>>2]|0)!=0,3519),k=y(da(s,2,l)),F=y(da(s,0,l)),M=y(fn(s,2,l)),O=y(fn(s,0,l)),Ot(l)|0?j=l:j=y(Yn(y(0),y(y(l-M)-k))),Ot(c)|0?oe=c:oe=y(Yn(y(0),y(y(c-O)-F))),(f|0)==1&(d|0)==1?(h[s+908>>2]=y(Mn(s,2,y(l-M),m,m)),l=y(Mn(s,0,y(c-O),B,m))):(oW[n[Oe>>2]&1](We,s,j,f,oe,d),j=y(k+y(h[We>>2])),oe=y(l-M),h[s+908>>2]=y(Mn(s,2,(f|2|0)==2?j:oe,m,m)),oe=y(F+y(h[We+4>>2])),l=y(c-O),l=y(Mn(s,0,(d|2|0)==2?oe:l,B,m))),h[s+912>>2]=l,C=Qe}function lD(s,l,c,f,d,m,B){s=s|0,l=y(l),c=y(c),f=f|0,d=d|0,m=y(m),B=y(B);var k=Ze,F=Ze,M=Ze,O=Ze;M=y(da(s,2,m)),k=y(da(s,0,m)),O=y(fn(s,2,m)),F=y(fn(s,0,m)),l=y(l-O),h[s+908>>2]=y(Mn(s,2,(f|2|0)==2?M:l,m,m)),c=y(c-F),h[s+912>>2]=y(Mn(s,0,(d|2|0)==2?k:c,B,m))}function PI(s,l,c,f,d,m,B){s=s|0,l=y(l),c=y(c),f=f|0,d=d|0,m=y(m),B=y(B);var k=0,F=Ze,M=Ze;return k=(f|0)==2,!(l<=y(0)&k)&&!(c<=y(0)&(d|0)==2)&&!((f|0)==1&(d|0)==1)?s=0:(F=y(fn(s,0,m)),M=y(fn(s,2,m)),k=l<y(0)&k|(Ot(l)|0),l=y(l-M),h[s+908>>2]=y(Mn(s,2,k?y(0):l,m,m)),l=y(c-F),k=c<y(0)&(d|0)==2|(Ot(c)|0),h[s+912>>2]=y(Mn(s,0,k?y(0):l,B,m)),s=1),s|0}function Fd(s,l){return s=s|0,l=l|0,E0(s)|0?s=hr(2,l)|0:s=0,s|0}function Cp(s,l,c){return s=s|0,l=l|0,c=y(c),c=y(ai(s,l,c)),y(c+y(Ir(s,l)))}function SI(s,l,c){return s=s|0,l=l|0,c=y(c),c=y(ns(s,l,c)),y(c+y(Rn(s,l)))}function da(s,l,c){s=s|0,l=l|0,c=y(c);var f=Ze;return f=y(Cp(s,l,c)),y(f+y(SI(s,l,c)))}function bI(s){return s=s|0,n[s+24>>2]|0?s=0:y(WA(s))!=y(0)?s=1:s=y(Ip(s))!=y(0),s|0}function WA(s){s=s|0;var l=Ze;if(n[s+944>>2]|0){if(l=y(h[s+44>>2]),Ot(l)|0)return l=y(h[s+40>>2]),s=l>y(0)&((Ot(l)|0)^1),y(s?l:y(0))}else l=y(0);return y(l)}function Ip(s){s=s|0;var l=Ze,c=0,f=Ze;do if(n[s+944>>2]|0){if(l=y(h[s+48>>2]),Ot(l)|0){if(c=o[(n[s+976>>2]|0)+2>>0]|0,!(c<<24>>24)&&(f=y(h[s+40>>2]),f<y(0)&((Ot(f)|0)^1))){l=y(-f);break}l=c<<24>>24?y(1):y(0)}}else l=y(0);while(!1);return y(l)}function Rd(s){s=s|0;var l=0,c=0;if(sm(s+400|0,0,540)|0,o[s+985>>0]=1,ee(s),c=Di(s)|0,c|0){l=s+948|0,s=0;do Rd(n[(n[l>>2]|0)+(s<<2)>>2]|0),s=s+1|0;while((s|0)!=(c|0))}}function cD(s,l,c,f,d,m,B,k,F,M){s=s|0,l=l|0,c=y(c),f=f|0,d=y(d),m=y(m),B=y(B),k=k|0,F=F|0,M=M|0;var O=0,j=Ze,oe=0,We=0,Oe=Ze,Qe=Ze,rt=0,Xe=Ze,ct=0,_e=Ze,Ge=0,Lt=0,_r=0,ur=0,Zt=0,kr=0,Or=0,lr=0,Nn=0,lo=0;Nn=C,C=C+16|0,_r=Nn+12|0,ur=Nn+8|0,Zt=Nn+4|0,kr=Nn,lr=hr(n[s+4>>2]|0,F)|0,Ge=ge(lr)|0,j=y(Kr(GF(l)|0,Ge?m:B)),Lt=Ls(l,2,m)|0,Or=Ls(l,0,B)|0;do if(!(Ot(j)|0)&&!(Ot(Ge?c:d)|0)){if(O=l+504|0,!(Ot(y(h[O>>2]))|0)&&(!(kI(n[l+976>>2]|0,0)|0)||(n[l+500>>2]|0)==(n[2278]|0)))break;h[O>>2]=y(Yn(j,y(da(l,lr,m))))}else oe=7;while(!1);do if((oe|0)==7){if(ct=Ge^1,!(ct|Lt^1)){B=y(Kr(n[l+992>>2]|0,m)),h[l+504>>2]=y(Yn(B,y(da(l,2,m))));break}if(!(Ge|Or^1)){B=y(Kr(n[l+996>>2]|0,B)),h[l+504>>2]=y(Yn(B,y(da(l,0,m))));break}h[_r>>2]=y(ue),h[ur>>2]=y(ue),n[Zt>>2]=0,n[kr>>2]=0,Xe=y(fn(l,2,m)),_e=y(fn(l,0,m)),Lt?(Oe=y(Xe+y(Kr(n[l+992>>2]|0,m))),h[_r>>2]=Oe,n[Zt>>2]=1,We=1):(We=0,Oe=y(ue)),Or?(j=y(_e+y(Kr(n[l+996>>2]|0,B))),h[ur>>2]=j,n[kr>>2]=1,O=1):(O=0,j=y(ue)),oe=n[s+32>>2]|0,Ge&(oe|0)==2?oe=2:Ot(Oe)|0&&!(Ot(c)|0)&&(h[_r>>2]=c,n[Zt>>2]=2,We=2,Oe=c),!((oe|0)==2&ct)&&Ot(j)|0&&!(Ot(d)|0)&&(h[ur>>2]=d,n[kr>>2]=2,O=2,j=d),Qe=y(h[l+396>>2]),rt=Ot(Qe)|0;do if(rt)oe=We;else{if((We|0)==1&ct){h[ur>>2]=y(y(Oe-Xe)/Qe),n[kr>>2]=1,O=1,oe=1;break}Ge&(O|0)==1?(h[_r>>2]=y(Qe*y(j-_e)),n[Zt>>2]=1,O=1,oe=1):oe=We}while(!1);lo=Ot(c)|0,We=(Wi(s,l)|0)!=4,!(Ge|Lt|((f|0)!=1|lo)|(We|(oe|0)==1))&&(h[_r>>2]=c,n[Zt>>2]=1,!rt)&&(h[ur>>2]=y(y(c-Xe)/Qe),n[kr>>2]=1,O=1),!(Or|ct|((k|0)!=1|(Ot(d)|0))|(We|(O|0)==1))&&(h[ur>>2]=d,n[kr>>2]=1,!rt)&&(h[_r>>2]=y(Qe*y(d-_e)),n[Zt>>2]=1),bc(l,2,m,m,Zt,_r),bc(l,0,B,m,kr,ur),c=y(h[_r>>2]),d=y(h[ur>>2]),Va(l,c,d,F,n[Zt>>2]|0,n[kr>>2]|0,m,B,0,3565,M)|0,B=y(h[l+908+(n[976+(lr<<2)>>2]<<2)>>2]),h[l+504>>2]=y(Yn(B,y(da(l,lr,m))))}while(!1);n[l+500>>2]=n[2278],C=Nn}function Mn(s,l,c,f,d){return s=s|0,l=l|0,c=y(c),f=y(f),d=y(d),f=y(y0(s,l,c,f)),y(Yn(f,y(da(s,l,d))))}function Wi(s,l){return s=s|0,l=l|0,l=l+20|0,l=n[(n[l>>2]|0?l:s+16|0)>>2]|0,(l|0)==5&&E0(n[s+4>>2]|0)|0&&(l=1),l|0}function Ja(s,l){return s=s|0,l=l|0,ge(l)|0&&n[s+96>>2]|0?l=4:l=n[1040+(l<<2)>>2]|0,s+60+(l<<3)|0}function za(s,l){return s=s|0,l=l|0,ge(l)|0&&n[s+104>>2]|0?l=5:l=n[1e3+(l<<2)>>2]|0,s+60+(l<<3)|0}function bc(s,l,c,f,d,m){switch(s=s|0,l=l|0,c=y(c),f=y(f),d=d|0,m=m|0,c=y(Kr(s+380+(n[976+(l<<2)>>2]<<3)|0,c)),c=y(c+y(fn(s,l,f))),n[d>>2]|0){case 2:case 1:{d=Ot(c)|0,f=y(h[m>>2]),h[m>>2]=d|f<c?f:c;break}case 0:{Ot(c)|0||(n[d>>2]=2,h[m>>2]=c);break}default:}}function Ho(s,l){return s=s|0,l=l|0,s=s+132|0,ge(l)|0&&n[(vn(s,4,948)|0)+4>>2]|0?s=1:s=(n[(vn(s,n[1040+(l<<2)>>2]|0,948)|0)+4>>2]|0)!=0,s|0}function YA(s,l,c){s=s|0,l=l|0,c=y(c);var f=0,d=0;return s=s+132|0,ge(l)|0&&(f=vn(s,4,948)|0,(n[f+4>>2]|0)!=0)?d=4:(f=vn(s,n[1040+(l<<2)>>2]|0,948)|0,n[f+4>>2]|0?d=4:c=y(0)),(d|0)==4&&(c=y(Kr(f,c))),y(c)}function KA(s,l,c){s=s|0,l=l|0,c=y(c);var f=Ze;return f=y(h[s+908+(n[976+(l<<2)>>2]<<2)>>2]),f=y(f+y(V(s,l,c))),y(f+y(re(s,l,c)))}function HF(s){s=s|0;var l=0,c=0,f=0;e:do if(E0(n[s+4>>2]|0)|0)l=0;else if((n[s+16>>2]|0)!=5)if(c=Di(s)|0,!c)l=0;else for(l=0;;){if(f=rs(s,l)|0,!(n[f+24>>2]|0)&&(n[f+20>>2]|0)==5){l=1;break e}if(l=l+1|0,l>>>0>=c>>>0){l=0;break}}else l=1;while(!1);return l|0}function qF(s,l){s=s|0,l=l|0;var c=Ze;return c=y(h[s+908+(n[976+(l<<2)>>2]<<2)>>2]),c>=y(0)&((Ot(c)|0)^1)|0}function m0(s){s=s|0;var l=Ze,c=0,f=0,d=0,m=0,B=0,k=0,F=Ze;if(c=n[s+968>>2]|0,c)F=y(h[s+908>>2]),l=y(h[s+912>>2]),l=y(tW[c&0](s,F,l)),pi(s,(Ot(l)|0)^1,3573);else{m=Di(s)|0;do if(m|0){for(c=0,d=0;;){if(f=rs(s,d)|0,n[f+940>>2]|0){B=8;break}if((n[f+24>>2]|0)!=1)if(k=(Wi(s,f)|0)==5,k){c=f;break}else c=c|0?c:f;if(d=d+1|0,d>>>0>=m>>>0){B=8;break}}if((B|0)==8&&!c)break;return l=y(m0(c)),y(l+y(h[c+404>>2]))}while(!1);l=y(h[s+912>>2])}return y(l)}function y0(s,l,c,f){s=s|0,l=l|0,c=y(c),f=y(f);var d=Ze,m=0;return E0(l)|0?(l=1,m=3):ge(l)|0?(l=0,m=3):(f=y(ue),d=y(ue)),(m|0)==3&&(d=y(Kr(s+364+(l<<3)|0,f)),f=y(Kr(s+380+(l<<3)|0,f))),m=f<c&(f>=y(0)&((Ot(f)|0)^1)),c=m?f:c,m=d>=y(0)&((Ot(d)|0)^1)&c<d,y(m?d:c)}function jF(s,l,c,f,d,m,B){s=s|0,l=l|0,c=y(c),f=f|0,d=y(d),m=m|0,B=B|0;var k=Ze,F=Ze,M=0,O=0,j=Ze,oe=Ze,We=Ze,Oe=0,Qe=0,rt=0,Xe=0,ct=Ze,_e=0;rt=hr(n[s+4>>2]|0,m)|0,Oe=Fd(rt,m)|0,Qe=ge(rt)|0,j=y(fn(l,2,c)),oe=y(fn(l,0,c)),Ls(l,2,c)|0?k=y(j+y(Kr(n[l+992>>2]|0,c))):Ho(l,2)|0&&Td(l,2)|0?(k=y(h[s+908>>2]),F=y(Ir(s,2)),F=y(k-y(F+y(Rn(s,2)))),k=y(YA(l,2,c)),k=y(Mn(l,2,y(F-y(k+y(wp(l,2,c)))),c,c))):k=y(ue),Ls(l,0,d)|0?F=y(oe+y(Kr(n[l+996>>2]|0,d))):Ho(l,0)|0&&Td(l,0)|0?(F=y(h[s+912>>2]),ct=y(Ir(s,0)),ct=y(F-y(ct+y(Rn(s,0)))),F=y(YA(l,0,d)),F=y(Mn(l,0,y(ct-y(F+y(wp(l,0,d)))),d,c))):F=y(ue),M=Ot(k)|0,O=Ot(F)|0;do if(M^O&&(We=y(h[l+396>>2]),!(Ot(We)|0)))if(M){k=y(j+y(y(F-oe)*We));break}else{ct=y(oe+y(y(k-j)/We)),F=O?ct:F;break}while(!1);O=Ot(k)|0,M=Ot(F)|0,O|M&&(_e=(O^1)&1,f=c>y(0)&((f|0)!=0&O),k=Qe?k:f?c:k,Va(l,k,F,m,Qe?_e:f?2:_e,O&(M^1)&1,k,F,0,3623,B)|0,k=y(h[l+908>>2]),k=y(k+y(fn(l,2,c))),F=y(h[l+912>>2]),F=y(F+y(fn(l,0,c)))),Va(l,k,F,m,1,1,k,F,1,3635,B)|0,Td(l,rt)|0&&!(Ho(l,rt)|0)?(_e=n[976+(rt<<2)>>2]|0,ct=y(h[s+908+(_e<<2)>>2]),ct=y(ct-y(h[l+908+(_e<<2)>>2])),ct=y(ct-y(Rn(s,rt))),ct=y(ct-y(re(l,rt,c))),ct=y(ct-y(wp(l,rt,Qe?c:d))),h[l+400+(n[1040+(rt<<2)>>2]<<2)>>2]=ct):Xe=21;do if((Xe|0)==21){if(!(Ho(l,rt)|0)&&(n[s+8>>2]|0)==1){_e=n[976+(rt<<2)>>2]|0,ct=y(h[s+908+(_e<<2)>>2]),ct=y(y(ct-y(h[l+908+(_e<<2)>>2]))*y(.5)),h[l+400+(n[1040+(rt<<2)>>2]<<2)>>2]=ct;break}!(Ho(l,rt)|0)&&(n[s+8>>2]|0)==2&&(_e=n[976+(rt<<2)>>2]|0,ct=y(h[s+908+(_e<<2)>>2]),ct=y(ct-y(h[l+908+(_e<<2)>>2])),h[l+400+(n[1040+(rt<<2)>>2]<<2)>>2]=ct)}while(!1);Td(l,Oe)|0&&!(Ho(l,Oe)|0)?(_e=n[976+(Oe<<2)>>2]|0,ct=y(h[s+908+(_e<<2)>>2]),ct=y(ct-y(h[l+908+(_e<<2)>>2])),ct=y(ct-y(Rn(s,Oe))),ct=y(ct-y(re(l,Oe,c))),ct=y(ct-y(wp(l,Oe,Qe?d:c))),h[l+400+(n[1040+(Oe<<2)>>2]<<2)>>2]=ct):Xe=30;do if((Xe|0)==30&&!(Ho(l,Oe)|0)){if((Wi(s,l)|0)==2){_e=n[976+(Oe<<2)>>2]|0,ct=y(h[s+908+(_e<<2)>>2]),ct=y(y(ct-y(h[l+908+(_e<<2)>>2]))*y(.5)),h[l+400+(n[1040+(Oe<<2)>>2]<<2)>>2]=ct;break}_e=(Wi(s,l)|0)==3,_e^(n[s+28>>2]|0)==2&&(_e=n[976+(Oe<<2)>>2]|0,ct=y(h[s+908+(_e<<2)>>2]),ct=y(ct-y(h[l+908+(_e<<2)>>2])),h[l+400+(n[1040+(Oe<<2)>>2]<<2)>>2]=ct)}while(!1)}function xI(s,l,c){s=s|0,l=l|0,c=c|0;var f=Ze,d=0;d=n[976+(c<<2)>>2]|0,f=y(h[l+908+(d<<2)>>2]),f=y(y(h[s+908+(d<<2)>>2])-f),f=y(f-y(h[l+400+(n[1040+(c<<2)>>2]<<2)>>2])),h[l+400+(n[1e3+(c<<2)>>2]<<2)>>2]=f}function E0(s){return s=s|0,(s|1|0)==1|0}function GF(s){s=s|0;var l=Ze;switch(n[s+56>>2]|0){case 0:case 3:{l=y(h[s+40>>2]),l>y(0)&((Ot(l)|0)^1)?s=o[(n[s+976>>2]|0)+2>>0]|0?1056:992:s=1056;break}default:s=s+52|0}return s|0}function kI(s,l){return s=s|0,l=l|0,(o[s+l>>0]|0)!=0|0}function Td(s,l){return s=s|0,l=l|0,s=s+132|0,ge(l)|0&&n[(vn(s,5,948)|0)+4>>2]|0?s=1:s=(n[(vn(s,n[1e3+(l<<2)>>2]|0,948)|0)+4>>2]|0)!=0,s|0}function wp(s,l,c){s=s|0,l=l|0,c=y(c);var f=0,d=0;return s=s+132|0,ge(l)|0&&(f=vn(s,5,948)|0,(n[f+4>>2]|0)!=0)?d=4:(f=vn(s,n[1e3+(l<<2)>>2]|0,948)|0,n[f+4>>2]|0?d=4:c=y(0)),(d|0)==4&&(c=y(Kr(f,c))),y(c)}function uD(s,l,c){return s=s|0,l=l|0,c=y(c),Ho(s,l)|0?c=y(YA(s,l,c)):c=y(-y(wp(s,l,c))),y(c)}function AD(s){return s=y(s),h[D>>2]=s,n[D>>2]|0|0}function Nd(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0;n[s+12>>2]=0,n[s+16>>2]=f;do if(l)if(l>>>0>1073741823)Tt();else{d=Yt(l<<2)|0;break}else d=0;while(!1);n[s>>2]=d,f=d+(c<<2)|0,n[s+8>>2]=f,n[s+4>>2]=f,n[s+12>>2]=d+(l<<2)}function fD(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0;f=n[s>>2]|0,B=s+4|0,m=l+4|0,d=(n[B>>2]|0)-f|0,c=(n[m>>2]|0)+(0-(d>>2)<<2)|0,n[m>>2]=c,(d|0)>0?(xr(c|0,f|0,d|0)|0,f=m,c=n[m>>2]|0):f=m,m=n[s>>2]|0,n[s>>2]=c,n[f>>2]=m,m=l+8|0,d=n[B>>2]|0,n[B>>2]=n[m>>2],n[m>>2]=d,m=s+8|0,B=l+12|0,s=n[m>>2]|0,n[m>>2]=n[B>>2],n[B>>2]=s,n[l>>2]=n[f>>2]}function Ld(s){s=s|0;var l=0,c=0,f=0;l=n[s+4>>2]|0,c=s+8|0,f=n[c>>2]|0,(f|0)!=(l|0)&&(n[c>>2]=f+(~((f+-4-l|0)>>>2)<<2)),s=n[s>>2]|0,s|0&&yt(s)}function pD(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0,m=0,B=0,k=0;if(B=s+4|0,k=n[B>>2]|0,d=k-f|0,m=d>>2,s=l+(m<<2)|0,s>>>0<c>>>0){f=k;do n[f>>2]=n[s>>2],s=s+4|0,f=(n[B>>2]|0)+4|0,n[B>>2]=f;while(s>>>0<c>>>0)}m|0&&rw(k+(0-m<<2)|0,l|0,d|0)|0}function hD(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,k=0,F=0;return k=l+4|0,F=n[k>>2]|0,d=n[s>>2]|0,B=c,m=B-d|0,f=F+(0-(m>>2)<<2)|0,n[k>>2]=f,(m|0)>0&&xr(f|0,d|0,m|0)|0,d=s+4|0,m=l+8|0,f=(n[d>>2]|0)-B|0,(f|0)>0&&(xr(n[m>>2]|0,c|0,f|0)|0,n[m>>2]=(n[m>>2]|0)+(f>>>2<<2)),B=n[s>>2]|0,n[s>>2]=n[k>>2],n[k>>2]=B,B=n[d>>2]|0,n[d>>2]=n[m>>2],n[m>>2]=B,B=s+8|0,c=l+12|0,s=n[B>>2]|0,n[B>>2]=n[c>>2],n[c>>2]=s,n[l>>2]=n[k>>2],F|0}function QI(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0;if(B=n[l>>2]|0,m=n[c>>2]|0,(B|0)!=(m|0)){d=s+8|0,c=((m+-4-B|0)>>>2)+1|0,s=B,f=n[d>>2]|0;do n[f>>2]=n[s>>2],f=(n[d>>2]|0)+4|0,n[d>>2]=f,s=s+4|0;while((s|0)!=(m|0));n[l>>2]=B+(c<<2)}}function FI(){Oo()}function gD(){var s=0;return s=Yt(4)|0,RI(s),s|0}function RI(s){s=s|0,n[s>>2]=Sl()|0}function dD(s){s=s|0,s|0&&(C0(s),yt(s))}function C0(s){s=s|0,st(n[s>>2]|0)}function WF(s,l,c){s=s|0,l=l|0,c=c|0,bl(n[s>>2]|0,l,c)}function Od(s,l){s=s|0,l=y(l),dp(n[s>>2]|0,l)}function Md(s,l){return s=s|0,l=l|0,kI(n[s>>2]|0,l)|0}function Ud(){var s=0;return s=Yt(8)|0,I0(s,0),s|0}function I0(s,l){s=s|0,l=l|0,l?l=Mo(n[l>>2]|0)|0:l=qi()|0,n[s>>2]=l,n[s+4>>2]=0,Pn(l,s)}function _d(s){s=s|0;var l=0;return l=Yt(8)|0,I0(l,s),l|0}function w0(s){s=s|0,s|0&&(Hd(s),yt(s))}function Hd(s){s=s|0;var l=0;Dl(n[s>>2]|0),l=s+4|0,s=n[l>>2]|0,n[l>>2]=0,s|0&&(bu(s),yt(s))}function bu(s){s=s|0,xu(s)}function xu(s){s=s|0,s=n[s>>2]|0,s|0&&sa(s|0)}function TI(s){return s=s|0,fa(s)|0}function NI(s){s=s|0;var l=0,c=0;c=s+4|0,l=n[c>>2]|0,n[c>>2]=0,l|0&&(bu(l),yt(l)),Pl(n[s>>2]|0)}function qd(s,l){s=s|0,l=l|0,sn(n[s>>2]|0,n[l>>2]|0)}function YF(s,l){s=s|0,l=l|0,fp(n[s>>2]|0,l)}function KF(s,l,c){s=s|0,l=l|0,c=+c,Pd(n[s>>2]|0,l,y(c))}function jd(s,l,c){s=s|0,l=l|0,c=+c,Sd(n[s>>2]|0,l,y(c))}function LI(s,l){s=s|0,l=l|0,cp(n[s>>2]|0,l)}function OI(s,l){s=s|0,l=l|0,to(n[s>>2]|0,l)}function Sr(s,l){s=s|0,l=l|0,Ap(n[s>>2]|0,l)}function Os(s,l){s=s|0,l=l|0,wd(n[s>>2]|0,l)}function Oi(s,l){s=s|0,l=l|0,o0(n[s>>2]|0,l)}function ms(s,l){s=s|0,l=l|0,eo(n[s>>2]|0,l)}function VA(s,l,c){s=s|0,l=l|0,c=+c,OA(n[s>>2]|0,l,y(c))}function MI(s,l,c){s=s|0,l=l|0,c=+c,W(n[s>>2]|0,l,y(c))}function is(s,l){s=s|0,l=l|0,MA(n[s>>2]|0,l)}function Gd(s,l){s=s|0,l=l|0,vd(n[s>>2]|0,l)}function Bp(s,l){s=s|0,l=l|0,ro(n[s>>2]|0,l)}function B0(s,l){s=s|0,l=+l,pp(n[s>>2]|0,y(l))}function vp(s,l){s=s|0,l=+l,Ya(n[s>>2]|0,y(l))}function UI(s,l){s=s|0,l=+l,Dd(n[s>>2]|0,y(l))}function _I(s,l){s=s|0,l=+l,l0(n[s>>2]|0,y(l))}function HI(s,l){s=s|0,l=+l,Wa(n[s>>2]|0,y(l))}function qI(s,l){s=s|0,l=+l,c0(n[s>>2]|0,y(l))}function ku(s,l){s=s|0,l=+l,DI(n[s>>2]|0,y(l))}function ir(s){s=s|0,hp(n[s>>2]|0)}function Wd(s,l){s=s|0,l=+l,Li(n[s>>2]|0,y(l))}function jI(s,l){s=s|0,l=+l,Iu(n[s>>2]|0,y(l))}function xl(s){s=s|0,pa(n[s>>2]|0)}function Qu(s,l){s=s|0,l=+l,Bc(n[s>>2]|0,y(l))}function v0(s,l){s=s|0,l=+l,wu(n[s>>2]|0,y(l))}function D0(s,l){s=s|0,l=+l,oi(n[s>>2]|0,y(l))}function GI(s,l){s=s|0,l=+l,UA(n[s>>2]|0,y(l))}function WI(s,l){s=s|0,l=+l,Uo(n[s>>2]|0,y(l))}function xc(s,l){s=s|0,l=+l,ga(n[s>>2]|0,y(l))}function P0(s,l){s=s|0,l=+l,gp(n[s>>2]|0,y(l))}function YI(s,l){s=s|0,l=+l,f0(n[s>>2]|0,y(l))}function Yd(s,l){s=s|0,l=+l,_A(n[s>>2]|0,y(l))}function kc(s,l,c){s=s|0,l=l|0,c=+c,wc(n[s>>2]|0,l,y(c))}function Kd(s,l,c){s=s|0,l=l|0,c=+c,no(n[s>>2]|0,l,y(c))}function S0(s,l,c){s=s|0,l=l|0,c=+c,Cu(n[s>>2]|0,l,y(c))}function b0(s){return s=s|0,s0(n[s>>2]|0)|0}function oo(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0;f=C,C=C+16|0,d=f,LA(d,n[l>>2]|0,c),ss(s,d),C=f}function ss(s,l){s=s|0,l=l|0,Xa(s,n[l+4>>2]|0,+y(h[l>>2]))}function Xa(s,l,c){s=s|0,l=l|0,c=+c,n[s>>2]=l,E[s+8>>3]=c}function Vd(s){return s=s|0,vI(n[s>>2]|0)|0}function qo(s){return s=s|0,up(n[s>>2]|0)|0}function mD(s){return s=s|0,Ic(n[s>>2]|0)|0}function Dp(s){return s=s|0,BI(n[s>>2]|0)|0}function KI(s){return s=s|0,a0(n[s>>2]|0)|0}function VF(s){return s=s|0,Bd(n[s>>2]|0)|0}function yD(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0;f=C,C=C+16|0,d=f,bt(d,n[l>>2]|0,c),ss(s,d),C=f}function ED(s){return s=s|0,Eu(n[s>>2]|0)|0}function Jd(s){return s=s|0,Ga(n[s>>2]|0)|0}function VI(s,l){s=s|0,l=l|0;var c=0,f=0;c=C,C=C+16|0,f=c,NA(f,n[l>>2]|0),ss(s,f),C=c}function Pp(s){return s=s|0,+ +y(ei(n[s>>2]|0))}function CD(s){return s=s|0,+ +y(Qi(n[s>>2]|0))}function ID(s,l){s=s|0,l=l|0;var c=0,f=0;c=C,C=C+16|0,f=c,cr(f,n[l>>2]|0),ss(s,f),C=c}function x0(s,l){s=s|0,l=l|0;var c=0,f=0;c=C,C=C+16|0,f=c,u0(f,n[l>>2]|0),ss(s,f),C=c}function JF(s,l){s=s|0,l=l|0;var c=0,f=0;c=C,C=C+16|0,f=c,wt(f,n[l>>2]|0),ss(s,f),C=c}function zF(s,l){s=s|0,l=l|0;var c=0,f=0;c=C,C=C+16|0,f=c,ha(f,n[l>>2]|0),ss(s,f),C=c}function wD(s,l){s=s|0,l=l|0;var c=0,f=0;c=C,C=C+16|0,f=c,A0(f,n[l>>2]|0),ss(s,f),C=c}function BD(s,l){s=s|0,l=l|0;var c=0,f=0;c=C,C=C+16|0,f=c,xd(f,n[l>>2]|0),ss(s,f),C=c}function JA(s){return s=s|0,+ +y(p0(n[s>>2]|0))}function XF(s,l){return s=s|0,l=l|0,+ +y(bd(n[s>>2]|0,l))}function ZF(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0;f=C,C=C+16|0,d=f,dt(d,n[l>>2]|0,c),ss(s,d),C=f}function Qc(s,l,c){s=s|0,l=l|0,c=c|0,ar(n[s>>2]|0,n[l>>2]|0,c)}function $F(s,l){s=s|0,l=l|0,yu(n[s>>2]|0,n[l>>2]|0)}function vD(s){return s=s|0,Di(n[s>>2]|0)|0}function eR(s){return s=s|0,s=mt(n[s>>2]|0)|0,s?s=TI(s)|0:s=0,s|0}function DD(s,l){return s=s|0,l=l|0,s=rs(n[s>>2]|0,l)|0,s?s=TI(s)|0:s=0,s|0}function Fu(s,l){s=s|0,l=l|0;var c=0,f=0;f=Yt(4)|0,PD(f,l),c=s+4|0,l=n[c>>2]|0,n[c>>2]=f,l|0&&(bu(l),yt(l)),vt(n[s>>2]|0,1)}function PD(s,l){s=s|0,l=l|0,iR(s,l)}function tR(s,l,c,f,d,m){s=s|0,l=l|0,c=y(c),f=f|0,d=y(d),m=m|0;var B=0,k=0;B=C,C=C+16|0,k=B,SD(k,fa(l)|0,+c,f,+d,m),h[s>>2]=y(+E[k>>3]),h[s+4>>2]=y(+E[k+8>>3]),C=B}function SD(s,l,c,f,d,m){s=s|0,l=l|0,c=+c,f=f|0,d=+d,m=m|0;var B=0,k=0,F=0,M=0,O=0;B=C,C=C+32|0,O=B+8|0,M=B+20|0,F=B,k=B+16|0,E[O>>3]=c,n[M>>2]=f,E[F>>3]=d,n[k>>2]=m,zd(s,n[l+4>>2]|0,O,M,F,k),C=B}function zd(s,l,c,f,d,m){s=s|0,l=l|0,c=c|0,f=f|0,d=d|0,m=m|0;var B=0,k=0;B=C,C=C+16|0,k=B,$a(k),l=ys(l)|0,bD(s,l,+E[c>>3],n[f>>2]|0,+E[d>>3],n[m>>2]|0),el(k),C=B}function ys(s){return s=s|0,n[s>>2]|0}function bD(s,l,c,f,d,m){s=s|0,l=l|0,c=+c,f=f|0,d=+d,m=m|0;var B=0;B=jo(JI()|0)|0,c=+ma(c),f=Xd(f)|0,d=+ma(d),rR(s,qn(0,B|0,l|0,+c,f|0,+d,Xd(m)|0)|0)}function JI(){var s=0;return o[7608]|0||(XI(9120),s=7608,n[s>>2]=1,n[s+4>>2]=0),9120}function jo(s){return s=s|0,n[s+8>>2]|0}function ma(s){return s=+s,+ +Ru(s)}function Xd(s){return s=s|0,k0(s)|0}function rR(s,l){s=s|0,l=l|0;var c=0,f=0,d=0;d=C,C=C+32|0,c=d,f=l,f&1?(ya(c,0),ia(f|0,c|0)|0,zI(s,c),nR(c)):(n[s>>2]=n[l>>2],n[s+4>>2]=n[l+4>>2],n[s+8>>2]=n[l+8>>2],n[s+12>>2]=n[l+12>>2]),C=d}function ya(s,l){s=s|0,l=l|0,Fc(s,l),n[s+8>>2]=0,o[s+24>>0]=0}function zI(s,l){s=s|0,l=l|0,l=l+8|0,n[s>>2]=n[l>>2],n[s+4>>2]=n[l+4>>2],n[s+8>>2]=n[l+8>>2],n[s+12>>2]=n[l+12>>2]}function nR(s){s=s|0,o[s+24>>0]=0}function Fc(s,l){s=s|0,l=l|0,n[s>>2]=l}function k0(s){return s=s|0,s|0}function Ru(s){return s=+s,+s}function XI(s){s=s|0,ao(s,ZI()|0,4)}function ZI(){return 1064}function ao(s,l,c){s=s|0,l=l|0,c=c|0,n[s>>2]=l,n[s+4>>2]=c,n[s+8>>2]=ki(l|0,c+1|0)|0}function iR(s,l){s=s|0,l=l|0,l=n[l>>2]|0,n[s>>2]=l,hc(l|0)}function xD(s){s=s|0;var l=0,c=0;c=s+4|0,l=n[c>>2]|0,n[c>>2]=0,l|0&&(bu(l),yt(l)),vt(n[s>>2]|0,0)}function kD(s){s=s|0,Dt(n[s>>2]|0)}function Zd(s){return s=s|0,er(n[s>>2]|0)|0}function sR(s,l,c,f){s=s|0,l=+l,c=+c,f=f|0,qA(n[s>>2]|0,y(l),y(c),f)}function oR(s){return s=s|0,+ +y(vc(n[s>>2]|0))}function v(s){return s=s|0,+ +y(Bu(n[s>>2]|0))}function P(s){return s=s|0,+ +y(Dc(n[s>>2]|0))}function Q(s){return s=s|0,+ +y(gs(n[s>>2]|0))}function H(s){return s=s|0,+ +y(Pc(n[s>>2]|0))}function Y(s){return s=s|0,+ +y(On(n[s>>2]|0))}function ne(s,l){s=s|0,l=l|0,E[s>>3]=+y(vc(n[l>>2]|0)),E[s+8>>3]=+y(Bu(n[l>>2]|0)),E[s+16>>3]=+y(Dc(n[l>>2]|0)),E[s+24>>3]=+y(gs(n[l>>2]|0)),E[s+32>>3]=+y(Pc(n[l>>2]|0)),E[s+40>>3]=+y(On(n[l>>2]|0))}function Be(s,l){return s=s|0,l=l|0,+ +y(ji(n[s>>2]|0,l))}function Ue(s,l){return s=s|0,l=l|0,+ +y(Ci(n[s>>2]|0,l))}function ft(s,l){return s=s|0,l=l|0,+ +y(HA(n[s>>2]|0,l))}function jt(){return Dn()|0}function wr(){Tr(),Xt(),jn(),li(),Ea(),$e()}function Tr(){SNe(11713,4938,1)}function Xt(){YTe(10448)}function jn(){STe(10408)}function li(){zRe(10324)}function Ea(){iFe(10096)}function $e(){je(9132)}function je(s){s=s|0;var l=0,c=0,f=0,d=0,m=0,B=0,k=0,F=0,M=0,O=0,j=0,oe=0,We=0,Oe=0,Qe=0,rt=0,Xe=0,ct=0,_e=0,Ge=0,Lt=0,_r=0,ur=0,Zt=0,kr=0,Or=0,lr=0,Nn=0,lo=0,co=0,uo=0,Ia=0,Np=0,Lp=0,kl=0,Op=0,Lu=0,Ou=0,Mp=0,Up=0,_p=0,$r=0,Ql=0,Hp=0,Nc=0,qp=0,jp=0,Mu=0,Uu=0,Lc=0,Ms=0,rl=0,Go=0,Fl=0,rf=0,nf=0,_u=0,sf=0,of=0,Us=0,Cs=0,Rl=0,Un=0,af=0,Ao=0,Oc=0,fo=0,Mc=0,lf=0,cf=0,Uc=0,_s=0,Tl=0,uf=0,Af=0,ff=0,Fr=0,ri=0,Is=0,po=0,Hs=0,Nr=0,Ar=0,Nl=0;l=C,C=C+672|0,c=l+656|0,Nl=l+648|0,Ar=l+640|0,Nr=l+632|0,Hs=l+624|0,po=l+616|0,Is=l+608|0,ri=l+600|0,Fr=l+592|0,ff=l+584|0,Af=l+576|0,uf=l+568|0,Tl=l+560|0,_s=l+552|0,Uc=l+544|0,cf=l+536|0,lf=l+528|0,Mc=l+520|0,fo=l+512|0,Oc=l+504|0,Ao=l+496|0,af=l+488|0,Un=l+480|0,Rl=l+472|0,Cs=l+464|0,Us=l+456|0,of=l+448|0,sf=l+440|0,_u=l+432|0,nf=l+424|0,rf=l+416|0,Fl=l+408|0,Go=l+400|0,rl=l+392|0,Ms=l+384|0,Lc=l+376|0,Uu=l+368|0,Mu=l+360|0,jp=l+352|0,qp=l+344|0,Nc=l+336|0,Hp=l+328|0,Ql=l+320|0,$r=l+312|0,_p=l+304|0,Up=l+296|0,Mp=l+288|0,Ou=l+280|0,Lu=l+272|0,Op=l+264|0,kl=l+256|0,Lp=l+248|0,Np=l+240|0,Ia=l+232|0,uo=l+224|0,co=l+216|0,lo=l+208|0,Nn=l+200|0,lr=l+192|0,Or=l+184|0,kr=l+176|0,Zt=l+168|0,ur=l+160|0,_r=l+152|0,Lt=l+144|0,Ge=l+136|0,_e=l+128|0,ct=l+120|0,Xe=l+112|0,rt=l+104|0,Qe=l+96|0,Oe=l+88|0,We=l+80|0,oe=l+72|0,j=l+64|0,O=l+56|0,M=l+48|0,F=l+40|0,k=l+32|0,B=l+24|0,m=l+16|0,d=l+8|0,f=l,pt(s,3646),zt(s,3651,2)|0,Br(s,3665,2)|0,Wn(s,3682,18)|0,n[Nl>>2]=19,n[Nl+4>>2]=0,n[c>>2]=n[Nl>>2],n[c+4>>2]=n[Nl+4>>2],br(s,3690,c)|0,n[Ar>>2]=1,n[Ar+4>>2]=0,n[c>>2]=n[Ar>>2],n[c+4>>2]=n[Ar+4>>2],Sn(s,3696,c)|0,n[Nr>>2]=2,n[Nr+4>>2]=0,n[c>>2]=n[Nr>>2],n[c+4>>2]=n[Nr+4>>2],Tn(s,3706,c)|0,n[Hs>>2]=1,n[Hs+4>>2]=0,n[c>>2]=n[Hs>>2],n[c+4>>2]=n[Hs+4>>2],Yr(s,3722,c)|0,n[po>>2]=2,n[po+4>>2]=0,n[c>>2]=n[po>>2],n[c+4>>2]=n[po+4>>2],Yr(s,3734,c)|0,n[Is>>2]=3,n[Is+4>>2]=0,n[c>>2]=n[Is>>2],n[c+4>>2]=n[Is+4>>2],Tn(s,3753,c)|0,n[ri>>2]=4,n[ri+4>>2]=0,n[c>>2]=n[ri>>2],n[c+4>>2]=n[ri+4>>2],Tn(s,3769,c)|0,n[Fr>>2]=5,n[Fr+4>>2]=0,n[c>>2]=n[Fr>>2],n[c+4>>2]=n[Fr+4>>2],Tn(s,3783,c)|0,n[ff>>2]=6,n[ff+4>>2]=0,n[c>>2]=n[ff>>2],n[c+4>>2]=n[ff+4>>2],Tn(s,3796,c)|0,n[Af>>2]=7,n[Af+4>>2]=0,n[c>>2]=n[Af>>2],n[c+4>>2]=n[Af+4>>2],Tn(s,3813,c)|0,n[uf>>2]=8,n[uf+4>>2]=0,n[c>>2]=n[uf>>2],n[c+4>>2]=n[uf+4>>2],Tn(s,3825,c)|0,n[Tl>>2]=3,n[Tl+4>>2]=0,n[c>>2]=n[Tl>>2],n[c+4>>2]=n[Tl+4>>2],Yr(s,3843,c)|0,n[_s>>2]=4,n[_s+4>>2]=0,n[c>>2]=n[_s>>2],n[c+4>>2]=n[_s+4>>2],Yr(s,3853,c)|0,n[Uc>>2]=9,n[Uc+4>>2]=0,n[c>>2]=n[Uc>>2],n[c+4>>2]=n[Uc+4>>2],Tn(s,3870,c)|0,n[cf>>2]=10,n[cf+4>>2]=0,n[c>>2]=n[cf>>2],n[c+4>>2]=n[cf+4>>2],Tn(s,3884,c)|0,n[lf>>2]=11,n[lf+4>>2]=0,n[c>>2]=n[lf>>2],n[c+4>>2]=n[lf+4>>2],Tn(s,3896,c)|0,n[Mc>>2]=1,n[Mc+4>>2]=0,n[c>>2]=n[Mc>>2],n[c+4>>2]=n[Mc+4>>2],ti(s,3907,c)|0,n[fo>>2]=2,n[fo+4>>2]=0,n[c>>2]=n[fo>>2],n[c+4>>2]=n[fo+4>>2],ti(s,3915,c)|0,n[Oc>>2]=3,n[Oc+4>>2]=0,n[c>>2]=n[Oc>>2],n[c+4>>2]=n[Oc+4>>2],ti(s,3928,c)|0,n[Ao>>2]=4,n[Ao+4>>2]=0,n[c>>2]=n[Ao>>2],n[c+4>>2]=n[Ao+4>>2],ti(s,3948,c)|0,n[af>>2]=5,n[af+4>>2]=0,n[c>>2]=n[af>>2],n[c+4>>2]=n[af+4>>2],ti(s,3960,c)|0,n[Un>>2]=6,n[Un+4>>2]=0,n[c>>2]=n[Un>>2],n[c+4>>2]=n[Un+4>>2],ti(s,3974,c)|0,n[Rl>>2]=7,n[Rl+4>>2]=0,n[c>>2]=n[Rl>>2],n[c+4>>2]=n[Rl+4>>2],ti(s,3983,c)|0,n[Cs>>2]=20,n[Cs+4>>2]=0,n[c>>2]=n[Cs>>2],n[c+4>>2]=n[Cs+4>>2],br(s,3999,c)|0,n[Us>>2]=8,n[Us+4>>2]=0,n[c>>2]=n[Us>>2],n[c+4>>2]=n[Us+4>>2],ti(s,4012,c)|0,n[of>>2]=9,n[of+4>>2]=0,n[c>>2]=n[of>>2],n[c+4>>2]=n[of+4>>2],ti(s,4022,c)|0,n[sf>>2]=21,n[sf+4>>2]=0,n[c>>2]=n[sf>>2],n[c+4>>2]=n[sf+4>>2],br(s,4039,c)|0,n[_u>>2]=10,n[_u+4>>2]=0,n[c>>2]=n[_u>>2],n[c+4>>2]=n[_u+4>>2],ti(s,4053,c)|0,n[nf>>2]=11,n[nf+4>>2]=0,n[c>>2]=n[nf>>2],n[c+4>>2]=n[nf+4>>2],ti(s,4065,c)|0,n[rf>>2]=12,n[rf+4>>2]=0,n[c>>2]=n[rf>>2],n[c+4>>2]=n[rf+4>>2],ti(s,4084,c)|0,n[Fl>>2]=13,n[Fl+4>>2]=0,n[c>>2]=n[Fl>>2],n[c+4>>2]=n[Fl+4>>2],ti(s,4097,c)|0,n[Go>>2]=14,n[Go+4>>2]=0,n[c>>2]=n[Go>>2],n[c+4>>2]=n[Go+4>>2],ti(s,4117,c)|0,n[rl>>2]=15,n[rl+4>>2]=0,n[c>>2]=n[rl>>2],n[c+4>>2]=n[rl+4>>2],ti(s,4129,c)|0,n[Ms>>2]=16,n[Ms+4>>2]=0,n[c>>2]=n[Ms>>2],n[c+4>>2]=n[Ms+4>>2],ti(s,4148,c)|0,n[Lc>>2]=17,n[Lc+4>>2]=0,n[c>>2]=n[Lc>>2],n[c+4>>2]=n[Lc+4>>2],ti(s,4161,c)|0,n[Uu>>2]=18,n[Uu+4>>2]=0,n[c>>2]=n[Uu>>2],n[c+4>>2]=n[Uu+4>>2],ti(s,4181,c)|0,n[Mu>>2]=5,n[Mu+4>>2]=0,n[c>>2]=n[Mu>>2],n[c+4>>2]=n[Mu+4>>2],Yr(s,4196,c)|0,n[jp>>2]=6,n[jp+4>>2]=0,n[c>>2]=n[jp>>2],n[c+4>>2]=n[jp+4>>2],Yr(s,4206,c)|0,n[qp>>2]=7,n[qp+4>>2]=0,n[c>>2]=n[qp>>2],n[c+4>>2]=n[qp+4>>2],Yr(s,4217,c)|0,n[Nc>>2]=3,n[Nc+4>>2]=0,n[c>>2]=n[Nc>>2],n[c+4>>2]=n[Nc+4>>2],Rc(s,4235,c)|0,n[Hp>>2]=1,n[Hp+4>>2]=0,n[c>>2]=n[Hp>>2],n[c+4>>2]=n[Hp+4>>2],aR(s,4251,c)|0,n[Ql>>2]=4,n[Ql+4>>2]=0,n[c>>2]=n[Ql>>2],n[c+4>>2]=n[Ql+4>>2],Rc(s,4263,c)|0,n[$r>>2]=5,n[$r+4>>2]=0,n[c>>2]=n[$r>>2],n[c+4>>2]=n[$r+4>>2],Rc(s,4279,c)|0,n[_p>>2]=6,n[_p+4>>2]=0,n[c>>2]=n[_p>>2],n[c+4>>2]=n[_p+4>>2],Rc(s,4293,c)|0,n[Up>>2]=7,n[Up+4>>2]=0,n[c>>2]=n[Up>>2],n[c+4>>2]=n[Up+4>>2],Rc(s,4306,c)|0,n[Mp>>2]=8,n[Mp+4>>2]=0,n[c>>2]=n[Mp>>2],n[c+4>>2]=n[Mp+4>>2],Rc(s,4323,c)|0,n[Ou>>2]=9,n[Ou+4>>2]=0,n[c>>2]=n[Ou>>2],n[c+4>>2]=n[Ou+4>>2],Rc(s,4335,c)|0,n[Lu>>2]=2,n[Lu+4>>2]=0,n[c>>2]=n[Lu>>2],n[c+4>>2]=n[Lu+4>>2],aR(s,4353,c)|0,n[Op>>2]=12,n[Op+4>>2]=0,n[c>>2]=n[Op>>2],n[c+4>>2]=n[Op+4>>2],Q0(s,4363,c)|0,n[kl>>2]=1,n[kl+4>>2]=0,n[c>>2]=n[kl>>2],n[c+4>>2]=n[kl+4>>2],zA(s,4376,c)|0,n[Lp>>2]=2,n[Lp+4>>2]=0,n[c>>2]=n[Lp>>2],n[c+4>>2]=n[Lp+4>>2],zA(s,4388,c)|0,n[Np>>2]=13,n[Np+4>>2]=0,n[c>>2]=n[Np>>2],n[c+4>>2]=n[Np+4>>2],Q0(s,4402,c)|0,n[Ia>>2]=14,n[Ia+4>>2]=0,n[c>>2]=n[Ia>>2],n[c+4>>2]=n[Ia+4>>2],Q0(s,4411,c)|0,n[uo>>2]=15,n[uo+4>>2]=0,n[c>>2]=n[uo>>2],n[c+4>>2]=n[uo+4>>2],Q0(s,4421,c)|0,n[co>>2]=16,n[co+4>>2]=0,n[c>>2]=n[co>>2],n[c+4>>2]=n[co+4>>2],Q0(s,4433,c)|0,n[lo>>2]=17,n[lo+4>>2]=0,n[c>>2]=n[lo>>2],n[c+4>>2]=n[lo+4>>2],Q0(s,4446,c)|0,n[Nn>>2]=18,n[Nn+4>>2]=0,n[c>>2]=n[Nn>>2],n[c+4>>2]=n[Nn+4>>2],Q0(s,4458,c)|0,n[lr>>2]=3,n[lr+4>>2]=0,n[c>>2]=n[lr>>2],n[c+4>>2]=n[lr+4>>2],zA(s,4471,c)|0,n[Or>>2]=1,n[Or+4>>2]=0,n[c>>2]=n[Or>>2],n[c+4>>2]=n[Or+4>>2],QD(s,4486,c)|0,n[kr>>2]=10,n[kr+4>>2]=0,n[c>>2]=n[kr>>2],n[c+4>>2]=n[kr+4>>2],Rc(s,4496,c)|0,n[Zt>>2]=11,n[Zt+4>>2]=0,n[c>>2]=n[Zt>>2],n[c+4>>2]=n[Zt+4>>2],Rc(s,4508,c)|0,n[ur>>2]=3,n[ur+4>>2]=0,n[c>>2]=n[ur>>2],n[c+4>>2]=n[ur+4>>2],aR(s,4519,c)|0,n[_r>>2]=4,n[_r+4>>2]=0,n[c>>2]=n[_r>>2],n[c+4>>2]=n[_r+4>>2],Nve(s,4530,c)|0,n[Lt>>2]=19,n[Lt+4>>2]=0,n[c>>2]=n[Lt>>2],n[c+4>>2]=n[Lt+4>>2],Lve(s,4542,c)|0,n[Ge>>2]=12,n[Ge+4>>2]=0,n[c>>2]=n[Ge>>2],n[c+4>>2]=n[Ge+4>>2],Ove(s,4554,c)|0,n[_e>>2]=13,n[_e+4>>2]=0,n[c>>2]=n[_e>>2],n[c+4>>2]=n[_e+4>>2],Mve(s,4568,c)|0,n[ct>>2]=2,n[ct+4>>2]=0,n[c>>2]=n[ct>>2],n[c+4>>2]=n[ct+4>>2],Uve(s,4578,c)|0,n[Xe>>2]=20,n[Xe+4>>2]=0,n[c>>2]=n[Xe>>2],n[c+4>>2]=n[Xe+4>>2],_ve(s,4587,c)|0,n[rt>>2]=22,n[rt+4>>2]=0,n[c>>2]=n[rt>>2],n[c+4>>2]=n[rt+4>>2],br(s,4602,c)|0,n[Qe>>2]=23,n[Qe+4>>2]=0,n[c>>2]=n[Qe>>2],n[c+4>>2]=n[Qe+4>>2],br(s,4619,c)|0,n[Oe>>2]=14,n[Oe+4>>2]=0,n[c>>2]=n[Oe>>2],n[c+4>>2]=n[Oe+4>>2],Hve(s,4629,c)|0,n[We>>2]=1,n[We+4>>2]=0,n[c>>2]=n[We>>2],n[c+4>>2]=n[We+4>>2],qve(s,4637,c)|0,n[oe>>2]=4,n[oe+4>>2]=0,n[c>>2]=n[oe>>2],n[c+4>>2]=n[oe+4>>2],zA(s,4653,c)|0,n[j>>2]=5,n[j+4>>2]=0,n[c>>2]=n[j>>2],n[c+4>>2]=n[j+4>>2],zA(s,4669,c)|0,n[O>>2]=6,n[O+4>>2]=0,n[c>>2]=n[O>>2],n[c+4>>2]=n[O+4>>2],zA(s,4686,c)|0,n[M>>2]=7,n[M+4>>2]=0,n[c>>2]=n[M>>2],n[c+4>>2]=n[M+4>>2],zA(s,4701,c)|0,n[F>>2]=8,n[F+4>>2]=0,n[c>>2]=n[F>>2],n[c+4>>2]=n[F+4>>2],zA(s,4719,c)|0,n[k>>2]=9,n[k+4>>2]=0,n[c>>2]=n[k>>2],n[c+4>>2]=n[k+4>>2],zA(s,4736,c)|0,n[B>>2]=21,n[B+4>>2]=0,n[c>>2]=n[B>>2],n[c+4>>2]=n[B+4>>2],jve(s,4754,c)|0,n[m>>2]=2,n[m+4>>2]=0,n[c>>2]=n[m>>2],n[c+4>>2]=n[m+4>>2],QD(s,4772,c)|0,n[d>>2]=3,n[d+4>>2]=0,n[c>>2]=n[d>>2],n[c+4>>2]=n[d+4>>2],QD(s,4790,c)|0,n[f>>2]=4,n[f+4>>2]=0,n[c>>2]=n[f>>2],n[c+4>>2]=n[f+4>>2],QD(s,4808,c)|0,C=l}function pt(s,l){s=s|0,l=l|0;var c=0;c=JQe()|0,n[s>>2]=c,zQe(c,l),Fp(n[s>>2]|0)}function zt(s,l,c){return s=s|0,l=l|0,c=c|0,NQe(s,mn(l)|0,c,0),s|0}function Br(s,l,c){return s=s|0,l=l|0,c=c|0,EQe(s,mn(l)|0,c,0),s|0}function Wn(s,l,c){return s=s|0,l=l|0,c=c|0,sQe(s,mn(l)|0,c,0),s|0}function br(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0;return f=C,C=C+16|0,d=f+8|0,m=f,B=n[c+4>>2]|0,n[m>>2]=n[c>>2],n[m+4>>2]=B,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],jke(s,l,d),C=f,s|0}function Sn(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0;return f=C,C=C+16|0,d=f+8|0,m=f,B=n[c+4>>2]|0,n[m>>2]=n[c>>2],n[m+4>>2]=B,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],vke(s,l,d),C=f,s|0}function Tn(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0;return f=C,C=C+16|0,d=f+8|0,m=f,B=n[c+4>>2]|0,n[m>>2]=n[c>>2],n[m+4>>2]=B,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],lke(s,l,d),C=f,s|0}function Yr(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0;return f=C,C=C+16|0,d=f+8|0,m=f,B=n[c+4>>2]|0,n[m>>2]=n[c>>2],n[m+4>>2]=B,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],Yxe(s,l,d),C=f,s|0}function ti(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0;return f=C,C=C+16|0,d=f+8|0,m=f,B=n[c+4>>2]|0,n[m>>2]=n[c>>2],n[m+4>>2]=B,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],kxe(s,l,d),C=f,s|0}function Rc(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0;return f=C,C=C+16|0,d=f+8|0,m=f,B=n[c+4>>2]|0,n[m>>2]=n[c>>2],n[m+4>>2]=B,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],hxe(s,l,d),C=f,s|0}function aR(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0;return f=C,C=C+16|0,d=f+8|0,m=f,B=n[c+4>>2]|0,n[m>>2]=n[c>>2],n[m+4>>2]=B,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],Zbe(s,l,d),C=f,s|0}function Q0(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0;return f=C,C=C+16|0,d=f+8|0,m=f,B=n[c+4>>2]|0,n[m>>2]=n[c>>2],n[m+4>>2]=B,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],vbe(s,l,d),C=f,s|0}function zA(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0;return f=C,C=C+16|0,d=f+8|0,m=f,B=n[c+4>>2]|0,n[m>>2]=n[c>>2],n[m+4>>2]=B,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],lbe(s,l,d),C=f,s|0}function QD(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0;return f=C,C=C+16|0,d=f+8|0,m=f,B=n[c+4>>2]|0,n[m>>2]=n[c>>2],n[m+4>>2]=B,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],YSe(s,l,d),C=f,s|0}function Nve(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0;return f=C,C=C+16|0,d=f+8|0,m=f,B=n[c+4>>2]|0,n[m>>2]=n[c>>2],n[m+4>>2]=B,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],kSe(s,l,d),C=f,s|0}function Lve(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0;return f=C,C=C+16|0,d=f+8|0,m=f,B=n[c+4>>2]|0,n[m>>2]=n[c>>2],n[m+4>>2]=B,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],hSe(s,l,d),C=f,s|0}function Ove(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0;return f=C,C=C+16|0,d=f+8|0,m=f,B=n[c+4>>2]|0,n[m>>2]=n[c>>2],n[m+4>>2]=B,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],$Pe(s,l,d),C=f,s|0}function Mve(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0;return f=C,C=C+16|0,d=f+8|0,m=f,B=n[c+4>>2]|0,n[m>>2]=n[c>>2],n[m+4>>2]=B,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],MPe(s,l,d),C=f,s|0}function Uve(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0;return f=C,C=C+16|0,d=f+8|0,m=f,B=n[c+4>>2]|0,n[m>>2]=n[c>>2],n[m+4>>2]=B,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],IPe(s,l,d),C=f,s|0}function _ve(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0;return f=C,C=C+16|0,d=f+8|0,m=f,B=n[c+4>>2]|0,n[m>>2]=n[c>>2],n[m+4>>2]=B,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],iPe(s,l,d),C=f,s|0}function Hve(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0;return f=C,C=C+16|0,d=f+8|0,m=f,B=n[c+4>>2]|0,n[m>>2]=n[c>>2],n[m+4>>2]=B,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],qDe(s,l,d),C=f,s|0}function qve(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0;return f=C,C=C+16|0,d=f+8|0,m=f,B=n[c+4>>2]|0,n[m>>2]=n[c>>2],n[m+4>>2]=B,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],vDe(s,l,d),C=f,s|0}function jve(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0;return f=C,C=C+16|0,d=f+8|0,m=f,B=n[c+4>>2]|0,n[m>>2]=n[c>>2],n[m+4>>2]=B,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],Gve(s,l,d),C=f,s|0}function Gve(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,k=0;f=C,C=C+16|0,d=f+8|0,m=f,k=n[c>>2]|0,B=n[c+4>>2]|0,c=mn(l)|0,n[m>>2]=k,n[m+4>>2]=B,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],Wve(s,c,d,1),C=f}function mn(s){return s=s|0,s|0}function Wve(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0,m=0,B=0,k=0,F=0,M=0,O=0;d=C,C=C+32|0,m=d+16|0,O=d+8|0,k=d,M=n[c>>2]|0,F=n[c+4>>2]|0,B=n[s>>2]|0,s=lR()|0,n[O>>2]=M,n[O+4>>2]=F,n[m>>2]=n[O>>2],n[m+4>>2]=n[O+4>>2],c=Yve(m)|0,n[k>>2]=M,n[k+4>>2]=F,n[m>>2]=n[k>>2],n[m+4>>2]=n[k+4>>2],yn(B,l,s,c,Kve(m,f)|0,f),C=d}function lR(){var s=0,l=0;if(o[7616]|0||(NG(9136),pr(24,9136,U|0)|0,l=7616,n[l>>2]=1,n[l+4>>2]=0),!(Lr(9136)|0)){s=9136,l=s+36|0;do n[s>>2]=0,s=s+4|0;while((s|0)<(l|0));NG(9136)}return 9136}function Yve(s){return s=s|0,0}function Kve(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0,k=0,F=0,M=0,O=0,j=0;return O=C,C=C+32|0,d=O+24|0,B=O+16|0,k=O,F=O+8|0,m=n[s>>2]|0,f=n[s+4>>2]|0,n[k>>2]=m,n[k+4>>2]=f,j=lR()|0,M=j+24|0,s=dr(l,4)|0,n[F>>2]=s,l=j+28|0,c=n[l>>2]|0,c>>>0<(n[j+32>>2]|0)>>>0?(n[B>>2]=m,n[B+4>>2]=f,n[d>>2]=n[B>>2],n[d+4>>2]=n[B+4>>2],TG(c,d,s),s=(n[l>>2]|0)+12|0,n[l>>2]=s):(zve(M,k,F),s=n[l>>2]|0),C=O,((s-(n[M>>2]|0)|0)/12|0)+-1|0}function yn(s,l,c,f,d,m){s=s|0,l=l|0,c=c|0,f=f|0,d=d|0,m=m|0;var B=0,k=0,F=0,M=0,O=0,j=0,oe=0,We=0;B=C,C=C+32|0,oe=B+24|0,j=B+20|0,F=B+16|0,O=B+12|0,M=B+8|0,k=B+4|0,We=B,n[j>>2]=l,n[F>>2]=c,n[O>>2]=f,n[M>>2]=d,n[k>>2]=m,m=s+28|0,n[We>>2]=n[m>>2],n[oe>>2]=n[We>>2],Vve(s+24|0,oe,j,O,M,F,k)|0,n[m>>2]=n[n[m>>2]>>2],C=B}function Vve(s,l,c,f,d,m,B){return s=s|0,l=l|0,c=c|0,f=f|0,d=d|0,m=m|0,B=B|0,s=Jve(l)|0,l=Yt(24)|0,RG(l+4|0,n[c>>2]|0,n[f>>2]|0,n[d>>2]|0,n[m>>2]|0,n[B>>2]|0),n[l>>2]=n[s>>2],n[s>>2]=l,l|0}function Jve(s){return s=s|0,n[s>>2]|0}function RG(s,l,c,f,d,m){s=s|0,l=l|0,c=c|0,f=f|0,d=d|0,m=m|0,n[s>>2]=l,n[s+4>>2]=c,n[s+8>>2]=f,n[s+12>>2]=d,n[s+16>>2]=m}function dr(s,l){return s=s|0,l=l|0,l|s|0}function TG(s,l,c){s=s|0,l=l|0,c=c|0;var f=0;f=n[l+4>>2]|0,n[s>>2]=n[l>>2],n[s+4>>2]=f,n[s+8>>2]=c}function zve(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,k=0,F=0,M=0,O=0,j=0,oe=0;if(M=C,C=C+48|0,f=M+32|0,B=M+24|0,k=M,F=s+4|0,d=(((n[F>>2]|0)-(n[s>>2]|0)|0)/12|0)+1|0,m=Xve(s)|0,m>>>0<d>>>0)Zr(s);else{O=n[s>>2]|0,oe=((n[s+8>>2]|0)-O|0)/12|0,j=oe<<1,Zve(k,oe>>>0<m>>>1>>>0?j>>>0<d>>>0?d:j:m,((n[F>>2]|0)-O|0)/12|0,s+8|0),F=k+8|0,m=n[F>>2]|0,d=n[l+4>>2]|0,c=n[c>>2]|0,n[B>>2]=n[l>>2],n[B+4>>2]=d,n[f>>2]=n[B>>2],n[f+4>>2]=n[B+4>>2],TG(m,f,c),n[F>>2]=(n[F>>2]|0)+12,$ve(s,k),eDe(k),C=M;return}}function Xve(s){return s=s|0,357913941}function Zve(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0;n[s+12>>2]=0,n[s+16>>2]=f;do if(l)if(l>>>0>357913941)Tt();else{d=Yt(l*12|0)|0;break}else d=0;while(!1);n[s>>2]=d,f=d+(c*12|0)|0,n[s+8>>2]=f,n[s+4>>2]=f,n[s+12>>2]=d+(l*12|0)}function $ve(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0;f=n[s>>2]|0,B=s+4|0,m=l+4|0,d=(n[B>>2]|0)-f|0,c=(n[m>>2]|0)+(((d|0)/-12|0)*12|0)|0,n[m>>2]=c,(d|0)>0?(xr(c|0,f|0,d|0)|0,f=m,c=n[m>>2]|0):f=m,m=n[s>>2]|0,n[s>>2]=c,n[f>>2]=m,m=l+8|0,d=n[B>>2]|0,n[B>>2]=n[m>>2],n[m>>2]=d,m=s+8|0,B=l+12|0,s=n[m>>2]|0,n[m>>2]=n[B>>2],n[B>>2]=s,n[l>>2]=n[f>>2]}function eDe(s){s=s|0;var l=0,c=0,f=0;l=n[s+4>>2]|0,c=s+8|0,f=n[c>>2]|0,(f|0)!=(l|0)&&(n[c>>2]=f+(~(((f+-12-l|0)>>>0)/12|0)*12|0)),s=n[s>>2]|0,s|0&&yt(s)}function NG(s){s=s|0,nDe(s)}function tDe(s){s=s|0,rDe(s+24|0)}function Lr(s){return s=s|0,n[s>>2]|0}function rDe(s){s=s|0;var l=0,c=0,f=0;c=n[s>>2]|0,f=c,c|0&&(s=s+4|0,l=n[s>>2]|0,(l|0)!=(c|0)&&(n[s>>2]=l+(~(((l+-12-f|0)>>>0)/12|0)*12|0)),yt(c))}function nDe(s){s=s|0;var l=0;l=Jr()|0,zr(s,2,3,l,iDe()|0,0),n[s+24>>2]=0,n[s+28>>2]=0,n[s+32>>2]=0}function Jr(){return 9228}function iDe(){return 1140}function sDe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0;return c=C,C=C+16|0,f=c+8|0,d=c,m=oDe(s)|0,s=n[m+4>>2]|0,n[d>>2]=n[m>>2],n[d+4>>2]=s,n[f>>2]=n[d>>2],n[f+4>>2]=n[d+4>>2],l=aDe(l,f)|0,C=c,l|0}function zr(s,l,c,f,d,m){s=s|0,l=l|0,c=c|0,f=f|0,d=d|0,m=m|0,n[s>>2]=l,n[s+4>>2]=c,n[s+8>>2]=f,n[s+12>>2]=d,n[s+16>>2]=m}function oDe(s){return s=s|0,(n[(lR()|0)+24>>2]|0)+(s*12|0)|0}function aDe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0;return d=C,C=C+48|0,f=d,c=n[l>>2]|0,l=n[l+4>>2]|0,s=s+(l>>1)|0,l&1&&(c=n[(n[s>>2]|0)+c>>2]|0),tf[c&31](f,s),f=lDe(f)|0,C=d,f|0}function lDe(s){s=s|0;var l=0,c=0,f=0,d=0;return d=C,C=C+32|0,l=d+12|0,c=d,f=cR(LG()|0)|0,f?(uR(l,f),AR(c,l),cDe(s,c),s=fR(l)|0):s=uDe(s)|0,C=d,s|0}function LG(){var s=0;return o[7632]|0||(CDe(9184),pr(25,9184,U|0)|0,s=7632,n[s>>2]=1,n[s+4>>2]=0),9184}function cR(s){return s=s|0,n[s+36>>2]|0}function uR(s,l){s=s|0,l=l|0,n[s>>2]=l,n[s+4>>2]=s,n[s+8>>2]=0}function AR(s,l){s=s|0,l=l|0,n[s>>2]=n[l>>2],n[s+4>>2]=n[l+4>>2],n[s+8>>2]=0}function cDe(s,l){s=s|0,l=l|0,hDe(l,s,s+8|0,s+16|0,s+24|0,s+32|0,s+40|0)|0}function fR(s){return s=s|0,n[(n[s+4>>2]|0)+8>>2]|0}function uDe(s){s=s|0;var l=0,c=0,f=0,d=0,m=0,B=0,k=0,F=0;F=C,C=C+16|0,c=F+4|0,f=F,d=Za(8)|0,m=d,B=Yt(48)|0,k=B,l=k+48|0;do n[k>>2]=n[s>>2],k=k+4|0,s=s+4|0;while((k|0)<(l|0));return l=m+4|0,n[l>>2]=B,k=Yt(8)|0,B=n[l>>2]|0,n[f>>2]=0,n[c>>2]=n[f>>2],OG(k,B,c),n[d>>2]=k,C=F,m|0}function OG(s,l,c){s=s|0,l=l|0,c=c|0,n[s>>2]=l,c=Yt(16)|0,n[c+4>>2]=0,n[c+8>>2]=0,n[c>>2]=1092,n[c+12>>2]=l,n[s+4>>2]=c}function ADe(s){s=s|0,im(s),yt(s)}function fDe(s){s=s|0,s=n[s+12>>2]|0,s|0&&yt(s)}function pDe(s){s=s|0,yt(s)}function hDe(s,l,c,f,d,m,B){return s=s|0,l=l|0,c=c|0,f=f|0,d=d|0,m=m|0,B=B|0,m=gDe(n[s>>2]|0,l,c,f,d,m,B)|0,B=s+4|0,n[(n[B>>2]|0)+8>>2]=m,n[(n[B>>2]|0)+8>>2]|0}function gDe(s,l,c,f,d,m,B){s=s|0,l=l|0,c=c|0,f=f|0,d=d|0,m=m|0,B=B|0;var k=0,F=0;return k=C,C=C+16|0,F=k,$a(F),s=ys(s)|0,B=dDe(s,+E[l>>3],+E[c>>3],+E[f>>3],+E[d>>3],+E[m>>3],+E[B>>3])|0,el(F),C=k,B|0}function dDe(s,l,c,f,d,m,B){s=s|0,l=+l,c=+c,f=+f,d=+d,m=+m,B=+B;var k=0;return k=jo(mDe()|0)|0,l=+ma(l),c=+ma(c),f=+ma(f),d=+ma(d),m=+ma(m),Ts(0,k|0,s|0,+l,+c,+f,+d,+m,+ +ma(B))|0}function mDe(){var s=0;return o[7624]|0||(yDe(9172),s=7624,n[s>>2]=1,n[s+4>>2]=0),9172}function yDe(s){s=s|0,ao(s,EDe()|0,6)}function EDe(){return 1112}function CDe(s){s=s|0,Sp(s)}function IDe(s){s=s|0,MG(s+24|0),UG(s+16|0)}function MG(s){s=s|0,BDe(s)}function UG(s){s=s|0,wDe(s)}function wDe(s){s=s|0;var l=0,c=0;if(l=n[s>>2]|0,l|0)do c=l,l=n[l>>2]|0,yt(c);while(l|0);n[s>>2]=0}function BDe(s){s=s|0;var l=0,c=0;if(l=n[s>>2]|0,l|0)do c=l,l=n[l>>2]|0,yt(c);while(l|0);n[s>>2]=0}function Sp(s){s=s|0;var l=0;n[s+16>>2]=0,n[s+20>>2]=0,l=s+24|0,n[l>>2]=0,n[s+28>>2]=l,n[s+36>>2]=0,o[s+40>>0]=0,o[s+41>>0]=0}function vDe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,k=0;f=C,C=C+16|0,d=f+8|0,m=f,k=n[c>>2]|0,B=n[c+4>>2]|0,c=mn(l)|0,n[m>>2]=k,n[m+4>>2]=B,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],DDe(s,c,d,0),C=f}function DDe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0,m=0,B=0,k=0,F=0,M=0,O=0;d=C,C=C+32|0,m=d+16|0,O=d+8|0,k=d,M=n[c>>2]|0,F=n[c+4>>2]|0,B=n[s>>2]|0,s=pR()|0,n[O>>2]=M,n[O+4>>2]=F,n[m>>2]=n[O>>2],n[m+4>>2]=n[O+4>>2],c=PDe(m)|0,n[k>>2]=M,n[k+4>>2]=F,n[m>>2]=n[k>>2],n[m+4>>2]=n[k+4>>2],yn(B,l,s,c,SDe(m,f)|0,f),C=d}function pR(){var s=0,l=0;if(o[7640]|0||(HG(9232),pr(26,9232,U|0)|0,l=7640,n[l>>2]=1,n[l+4>>2]=0),!(Lr(9232)|0)){s=9232,l=s+36|0;do n[s>>2]=0,s=s+4|0;while((s|0)<(l|0));HG(9232)}return 9232}function PDe(s){return s=s|0,0}function SDe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0,k=0,F=0,M=0,O=0,j=0;return O=C,C=C+32|0,d=O+24|0,B=O+16|0,k=O,F=O+8|0,m=n[s>>2]|0,f=n[s+4>>2]|0,n[k>>2]=m,n[k+4>>2]=f,j=pR()|0,M=j+24|0,s=dr(l,4)|0,n[F>>2]=s,l=j+28|0,c=n[l>>2]|0,c>>>0<(n[j+32>>2]|0)>>>0?(n[B>>2]=m,n[B+4>>2]=f,n[d>>2]=n[B>>2],n[d+4>>2]=n[B+4>>2],_G(c,d,s),s=(n[l>>2]|0)+12|0,n[l>>2]=s):(bDe(M,k,F),s=n[l>>2]|0),C=O,((s-(n[M>>2]|0)|0)/12|0)+-1|0}function _G(s,l,c){s=s|0,l=l|0,c=c|0;var f=0;f=n[l+4>>2]|0,n[s>>2]=n[l>>2],n[s+4>>2]=f,n[s+8>>2]=c}function bDe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,k=0,F=0,M=0,O=0,j=0,oe=0;if(M=C,C=C+48|0,f=M+32|0,B=M+24|0,k=M,F=s+4|0,d=(((n[F>>2]|0)-(n[s>>2]|0)|0)/12|0)+1|0,m=xDe(s)|0,m>>>0<d>>>0)Zr(s);else{O=n[s>>2]|0,oe=((n[s+8>>2]|0)-O|0)/12|0,j=oe<<1,kDe(k,oe>>>0<m>>>1>>>0?j>>>0<d>>>0?d:j:m,((n[F>>2]|0)-O|0)/12|0,s+8|0),F=k+8|0,m=n[F>>2]|0,d=n[l+4>>2]|0,c=n[c>>2]|0,n[B>>2]=n[l>>2],n[B+4>>2]=d,n[f>>2]=n[B>>2],n[f+4>>2]=n[B+4>>2],_G(m,f,c),n[F>>2]=(n[F>>2]|0)+12,QDe(s,k),FDe(k),C=M;return}}function xDe(s){return s=s|0,357913941}function kDe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0;n[s+12>>2]=0,n[s+16>>2]=f;do if(l)if(l>>>0>357913941)Tt();else{d=Yt(l*12|0)|0;break}else d=0;while(!1);n[s>>2]=d,f=d+(c*12|0)|0,n[s+8>>2]=f,n[s+4>>2]=f,n[s+12>>2]=d+(l*12|0)}function QDe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0;f=n[s>>2]|0,B=s+4|0,m=l+4|0,d=(n[B>>2]|0)-f|0,c=(n[m>>2]|0)+(((d|0)/-12|0)*12|0)|0,n[m>>2]=c,(d|0)>0?(xr(c|0,f|0,d|0)|0,f=m,c=n[m>>2]|0):f=m,m=n[s>>2]|0,n[s>>2]=c,n[f>>2]=m,m=l+8|0,d=n[B>>2]|0,n[B>>2]=n[m>>2],n[m>>2]=d,m=s+8|0,B=l+12|0,s=n[m>>2]|0,n[m>>2]=n[B>>2],n[B>>2]=s,n[l>>2]=n[f>>2]}function FDe(s){s=s|0;var l=0,c=0,f=0;l=n[s+4>>2]|0,c=s+8|0,f=n[c>>2]|0,(f|0)!=(l|0)&&(n[c>>2]=f+(~(((f+-12-l|0)>>>0)/12|0)*12|0)),s=n[s>>2]|0,s|0&&yt(s)}function HG(s){s=s|0,NDe(s)}function RDe(s){s=s|0,TDe(s+24|0)}function TDe(s){s=s|0;var l=0,c=0,f=0;c=n[s>>2]|0,f=c,c|0&&(s=s+4|0,l=n[s>>2]|0,(l|0)!=(c|0)&&(n[s>>2]=l+(~(((l+-12-f|0)>>>0)/12|0)*12|0)),yt(c))}function NDe(s){s=s|0;var l=0;l=Jr()|0,zr(s,2,1,l,LDe()|0,3),n[s+24>>2]=0,n[s+28>>2]=0,n[s+32>>2]=0}function LDe(){return 1144}function ODe(s,l,c,f,d){s=s|0,l=l|0,c=+c,f=+f,d=d|0;var m=0,B=0,k=0,F=0;m=C,C=C+16|0,B=m+8|0,k=m,F=MDe(s)|0,s=n[F+4>>2]|0,n[k>>2]=n[F>>2],n[k+4>>2]=s,n[B>>2]=n[k>>2],n[B+4>>2]=n[k+4>>2],UDe(l,B,c,f,d),C=m}function MDe(s){return s=s|0,(n[(pR()|0)+24>>2]|0)+(s*12|0)|0}function UDe(s,l,c,f,d){s=s|0,l=l|0,c=+c,f=+f,d=d|0;var m=0,B=0,k=0,F=0,M=0;M=C,C=C+16|0,B=M+2|0,k=M+1|0,F=M,m=n[l>>2]|0,l=n[l+4>>2]|0,s=s+(l>>1)|0,l&1&&(m=n[(n[s>>2]|0)+m>>2]|0),Tu(B,c),c=+Nu(B,c),Tu(k,f),f=+Nu(k,f),XA(F,d),F=ZA(F,d)|0,rW[m&1](s,c,f,F),C=M}function Tu(s,l){s=s|0,l=+l}function Nu(s,l){return s=s|0,l=+l,+ +HDe(l)}function XA(s,l){s=s|0,l=l|0}function ZA(s,l){return s=s|0,l=l|0,_De(l)|0}function _De(s){return s=s|0,s|0}function HDe(s){return s=+s,+s}function qDe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,k=0;f=C,C=C+16|0,d=f+8|0,m=f,k=n[c>>2]|0,B=n[c+4>>2]|0,c=mn(l)|0,n[m>>2]=k,n[m+4>>2]=B,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],jDe(s,c,d,1),C=f}function jDe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0,m=0,B=0,k=0,F=0,M=0,O=0;d=C,C=C+32|0,m=d+16|0,O=d+8|0,k=d,M=n[c>>2]|0,F=n[c+4>>2]|0,B=n[s>>2]|0,s=hR()|0,n[O>>2]=M,n[O+4>>2]=F,n[m>>2]=n[O>>2],n[m+4>>2]=n[O+4>>2],c=GDe(m)|0,n[k>>2]=M,n[k+4>>2]=F,n[m>>2]=n[k>>2],n[m+4>>2]=n[k+4>>2],yn(B,l,s,c,WDe(m,f)|0,f),C=d}function hR(){var s=0,l=0;if(o[7648]|0||(jG(9268),pr(27,9268,U|0)|0,l=7648,n[l>>2]=1,n[l+4>>2]=0),!(Lr(9268)|0)){s=9268,l=s+36|0;do n[s>>2]=0,s=s+4|0;while((s|0)<(l|0));jG(9268)}return 9268}function GDe(s){return s=s|0,0}function WDe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0,k=0,F=0,M=0,O=0,j=0;return O=C,C=C+32|0,d=O+24|0,B=O+16|0,k=O,F=O+8|0,m=n[s>>2]|0,f=n[s+4>>2]|0,n[k>>2]=m,n[k+4>>2]=f,j=hR()|0,M=j+24|0,s=dr(l,4)|0,n[F>>2]=s,l=j+28|0,c=n[l>>2]|0,c>>>0<(n[j+32>>2]|0)>>>0?(n[B>>2]=m,n[B+4>>2]=f,n[d>>2]=n[B>>2],n[d+4>>2]=n[B+4>>2],qG(c,d,s),s=(n[l>>2]|0)+12|0,n[l>>2]=s):(YDe(M,k,F),s=n[l>>2]|0),C=O,((s-(n[M>>2]|0)|0)/12|0)+-1|0}function qG(s,l,c){s=s|0,l=l|0,c=c|0;var f=0;f=n[l+4>>2]|0,n[s>>2]=n[l>>2],n[s+4>>2]=f,n[s+8>>2]=c}function YDe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,k=0,F=0,M=0,O=0,j=0,oe=0;if(M=C,C=C+48|0,f=M+32|0,B=M+24|0,k=M,F=s+4|0,d=(((n[F>>2]|0)-(n[s>>2]|0)|0)/12|0)+1|0,m=KDe(s)|0,m>>>0<d>>>0)Zr(s);else{O=n[s>>2]|0,oe=((n[s+8>>2]|0)-O|0)/12|0,j=oe<<1,VDe(k,oe>>>0<m>>>1>>>0?j>>>0<d>>>0?d:j:m,((n[F>>2]|0)-O|0)/12|0,s+8|0),F=k+8|0,m=n[F>>2]|0,d=n[l+4>>2]|0,c=n[c>>2]|0,n[B>>2]=n[l>>2],n[B+4>>2]=d,n[f>>2]=n[B>>2],n[f+4>>2]=n[B+4>>2],qG(m,f,c),n[F>>2]=(n[F>>2]|0)+12,JDe(s,k),zDe(k),C=M;return}}function KDe(s){return s=s|0,357913941}function VDe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0;n[s+12>>2]=0,n[s+16>>2]=f;do if(l)if(l>>>0>357913941)Tt();else{d=Yt(l*12|0)|0;break}else d=0;while(!1);n[s>>2]=d,f=d+(c*12|0)|0,n[s+8>>2]=f,n[s+4>>2]=f,n[s+12>>2]=d+(l*12|0)}function JDe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0;f=n[s>>2]|0,B=s+4|0,m=l+4|0,d=(n[B>>2]|0)-f|0,c=(n[m>>2]|0)+(((d|0)/-12|0)*12|0)|0,n[m>>2]=c,(d|0)>0?(xr(c|0,f|0,d|0)|0,f=m,c=n[m>>2]|0):f=m,m=n[s>>2]|0,n[s>>2]=c,n[f>>2]=m,m=l+8|0,d=n[B>>2]|0,n[B>>2]=n[m>>2],n[m>>2]=d,m=s+8|0,B=l+12|0,s=n[m>>2]|0,n[m>>2]=n[B>>2],n[B>>2]=s,n[l>>2]=n[f>>2]}function zDe(s){s=s|0;var l=0,c=0,f=0;l=n[s+4>>2]|0,c=s+8|0,f=n[c>>2]|0,(f|0)!=(l|0)&&(n[c>>2]=f+(~(((f+-12-l|0)>>>0)/12|0)*12|0)),s=n[s>>2]|0,s|0&&yt(s)}function jG(s){s=s|0,$De(s)}function XDe(s){s=s|0,ZDe(s+24|0)}function ZDe(s){s=s|0;var l=0,c=0,f=0;c=n[s>>2]|0,f=c,c|0&&(s=s+4|0,l=n[s>>2]|0,(l|0)!=(c|0)&&(n[s>>2]=l+(~(((l+-12-f|0)>>>0)/12|0)*12|0)),yt(c))}function $De(s){s=s|0;var l=0;l=Jr()|0,zr(s,2,4,l,ePe()|0,0),n[s+24>>2]=0,n[s+28>>2]=0,n[s+32>>2]=0}function ePe(){return 1160}function tPe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0;return c=C,C=C+16|0,f=c+8|0,d=c,m=rPe(s)|0,s=n[m+4>>2]|0,n[d>>2]=n[m>>2],n[d+4>>2]=s,n[f>>2]=n[d>>2],n[f+4>>2]=n[d+4>>2],l=nPe(l,f)|0,C=c,l|0}function rPe(s){return s=s|0,(n[(hR()|0)+24>>2]|0)+(s*12|0)|0}function nPe(s,l){s=s|0,l=l|0;var c=0;return c=n[l>>2]|0,l=n[l+4>>2]|0,s=s+(l>>1)|0,l&1&&(c=n[(n[s>>2]|0)+c>>2]|0),GG(_0[c&31](s)|0)|0}function GG(s){return s=s|0,s&1|0}function iPe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,k=0;f=C,C=C+16|0,d=f+8|0,m=f,k=n[c>>2]|0,B=n[c+4>>2]|0,c=mn(l)|0,n[m>>2]=k,n[m+4>>2]=B,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],sPe(s,c,d,0),C=f}function sPe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0,m=0,B=0,k=0,F=0,M=0,O=0;d=C,C=C+32|0,m=d+16|0,O=d+8|0,k=d,M=n[c>>2]|0,F=n[c+4>>2]|0,B=n[s>>2]|0,s=gR()|0,n[O>>2]=M,n[O+4>>2]=F,n[m>>2]=n[O>>2],n[m+4>>2]=n[O+4>>2],c=oPe(m)|0,n[k>>2]=M,n[k+4>>2]=F,n[m>>2]=n[k>>2],n[m+4>>2]=n[k+4>>2],yn(B,l,s,c,aPe(m,f)|0,f),C=d}function gR(){var s=0,l=0;if(o[7656]|0||(YG(9304),pr(28,9304,U|0)|0,l=7656,n[l>>2]=1,n[l+4>>2]=0),!(Lr(9304)|0)){s=9304,l=s+36|0;do n[s>>2]=0,s=s+4|0;while((s|0)<(l|0));YG(9304)}return 9304}function oPe(s){return s=s|0,0}function aPe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0,k=0,F=0,M=0,O=0,j=0;return O=C,C=C+32|0,d=O+24|0,B=O+16|0,k=O,F=O+8|0,m=n[s>>2]|0,f=n[s+4>>2]|0,n[k>>2]=m,n[k+4>>2]=f,j=gR()|0,M=j+24|0,s=dr(l,4)|0,n[F>>2]=s,l=j+28|0,c=n[l>>2]|0,c>>>0<(n[j+32>>2]|0)>>>0?(n[B>>2]=m,n[B+4>>2]=f,n[d>>2]=n[B>>2],n[d+4>>2]=n[B+4>>2],WG(c,d,s),s=(n[l>>2]|0)+12|0,n[l>>2]=s):(lPe(M,k,F),s=n[l>>2]|0),C=O,((s-(n[M>>2]|0)|0)/12|0)+-1|0}function WG(s,l,c){s=s|0,l=l|0,c=c|0;var f=0;f=n[l+4>>2]|0,n[s>>2]=n[l>>2],n[s+4>>2]=f,n[s+8>>2]=c}function lPe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,k=0,F=0,M=0,O=0,j=0,oe=0;if(M=C,C=C+48|0,f=M+32|0,B=M+24|0,k=M,F=s+4|0,d=(((n[F>>2]|0)-(n[s>>2]|0)|0)/12|0)+1|0,m=cPe(s)|0,m>>>0<d>>>0)Zr(s);else{O=n[s>>2]|0,oe=((n[s+8>>2]|0)-O|0)/12|0,j=oe<<1,uPe(k,oe>>>0<m>>>1>>>0?j>>>0<d>>>0?d:j:m,((n[F>>2]|0)-O|0)/12|0,s+8|0),F=k+8|0,m=n[F>>2]|0,d=n[l+4>>2]|0,c=n[c>>2]|0,n[B>>2]=n[l>>2],n[B+4>>2]=d,n[f>>2]=n[B>>2],n[f+4>>2]=n[B+4>>2],WG(m,f,c),n[F>>2]=(n[F>>2]|0)+12,APe(s,k),fPe(k),C=M;return}}function cPe(s){return s=s|0,357913941}function uPe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0;n[s+12>>2]=0,n[s+16>>2]=f;do if(l)if(l>>>0>357913941)Tt();else{d=Yt(l*12|0)|0;break}else d=0;while(!1);n[s>>2]=d,f=d+(c*12|0)|0,n[s+8>>2]=f,n[s+4>>2]=f,n[s+12>>2]=d+(l*12|0)}function APe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0;f=n[s>>2]|0,B=s+4|0,m=l+4|0,d=(n[B>>2]|0)-f|0,c=(n[m>>2]|0)+(((d|0)/-12|0)*12|0)|0,n[m>>2]=c,(d|0)>0?(xr(c|0,f|0,d|0)|0,f=m,c=n[m>>2]|0):f=m,m=n[s>>2]|0,n[s>>2]=c,n[f>>2]=m,m=l+8|0,d=n[B>>2]|0,n[B>>2]=n[m>>2],n[m>>2]=d,m=s+8|0,B=l+12|0,s=n[m>>2]|0,n[m>>2]=n[B>>2],n[B>>2]=s,n[l>>2]=n[f>>2]}function fPe(s){s=s|0;var l=0,c=0,f=0;l=n[s+4>>2]|0,c=s+8|0,f=n[c>>2]|0,(f|0)!=(l|0)&&(n[c>>2]=f+(~(((f+-12-l|0)>>>0)/12|0)*12|0)),s=n[s>>2]|0,s|0&&yt(s)}function YG(s){s=s|0,gPe(s)}function pPe(s){s=s|0,hPe(s+24|0)}function hPe(s){s=s|0;var l=0,c=0,f=0;c=n[s>>2]|0,f=c,c|0&&(s=s+4|0,l=n[s>>2]|0,(l|0)!=(c|0)&&(n[s>>2]=l+(~(((l+-12-f|0)>>>0)/12|0)*12|0)),yt(c))}function gPe(s){s=s|0;var l=0;l=Jr()|0,zr(s,2,5,l,dPe()|0,1),n[s+24>>2]=0,n[s+28>>2]=0,n[s+32>>2]=0}function dPe(){return 1164}function mPe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0;f=C,C=C+16|0,d=f+8|0,m=f,B=yPe(s)|0,s=n[B+4>>2]|0,n[m>>2]=n[B>>2],n[m+4>>2]=s,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],EPe(l,d,c),C=f}function yPe(s){return s=s|0,(n[(gR()|0)+24>>2]|0)+(s*12|0)|0}function EPe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0;m=C,C=C+16|0,d=m,f=n[l>>2]|0,l=n[l+4>>2]|0,s=s+(l>>1)|0,l&1&&(f=n[(n[s>>2]|0)+f>>2]|0),bp(d,c),c=xp(d,c)|0,tf[f&31](s,c),kp(d),C=m}function bp(s,l){s=s|0,l=l|0,CPe(s,l)}function xp(s,l){return s=s|0,l=l|0,s|0}function kp(s){s=s|0,bu(s)}function CPe(s,l){s=s|0,l=l|0,dR(s,l)}function dR(s,l){s=s|0,l=l|0,n[s>>2]=l}function IPe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,k=0;f=C,C=C+16|0,d=f+8|0,m=f,k=n[c>>2]|0,B=n[c+4>>2]|0,c=mn(l)|0,n[m>>2]=k,n[m+4>>2]=B,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],wPe(s,c,d,0),C=f}function wPe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0,m=0,B=0,k=0,F=0,M=0,O=0;d=C,C=C+32|0,m=d+16|0,O=d+8|0,k=d,M=n[c>>2]|0,F=n[c+4>>2]|0,B=n[s>>2]|0,s=mR()|0,n[O>>2]=M,n[O+4>>2]=F,n[m>>2]=n[O>>2],n[m+4>>2]=n[O+4>>2],c=BPe(m)|0,n[k>>2]=M,n[k+4>>2]=F,n[m>>2]=n[k>>2],n[m+4>>2]=n[k+4>>2],yn(B,l,s,c,vPe(m,f)|0,f),C=d}function mR(){var s=0,l=0;if(o[7664]|0||(VG(9340),pr(29,9340,U|0)|0,l=7664,n[l>>2]=1,n[l+4>>2]=0),!(Lr(9340)|0)){s=9340,l=s+36|0;do n[s>>2]=0,s=s+4|0;while((s|0)<(l|0));VG(9340)}return 9340}function BPe(s){return s=s|0,0}function vPe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0,k=0,F=0,M=0,O=0,j=0;return O=C,C=C+32|0,d=O+24|0,B=O+16|0,k=O,F=O+8|0,m=n[s>>2]|0,f=n[s+4>>2]|0,n[k>>2]=m,n[k+4>>2]=f,j=mR()|0,M=j+24|0,s=dr(l,4)|0,n[F>>2]=s,l=j+28|0,c=n[l>>2]|0,c>>>0<(n[j+32>>2]|0)>>>0?(n[B>>2]=m,n[B+4>>2]=f,n[d>>2]=n[B>>2],n[d+4>>2]=n[B+4>>2],KG(c,d,s),s=(n[l>>2]|0)+12|0,n[l>>2]=s):(DPe(M,k,F),s=n[l>>2]|0),C=O,((s-(n[M>>2]|0)|0)/12|0)+-1|0}function KG(s,l,c){s=s|0,l=l|0,c=c|0;var f=0;f=n[l+4>>2]|0,n[s>>2]=n[l>>2],n[s+4>>2]=f,n[s+8>>2]=c}function DPe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,k=0,F=0,M=0,O=0,j=0,oe=0;if(M=C,C=C+48|0,f=M+32|0,B=M+24|0,k=M,F=s+4|0,d=(((n[F>>2]|0)-(n[s>>2]|0)|0)/12|0)+1|0,m=PPe(s)|0,m>>>0<d>>>0)Zr(s);else{O=n[s>>2]|0,oe=((n[s+8>>2]|0)-O|0)/12|0,j=oe<<1,SPe(k,oe>>>0<m>>>1>>>0?j>>>0<d>>>0?d:j:m,((n[F>>2]|0)-O|0)/12|0,s+8|0),F=k+8|0,m=n[F>>2]|0,d=n[l+4>>2]|0,c=n[c>>2]|0,n[B>>2]=n[l>>2],n[B+4>>2]=d,n[f>>2]=n[B>>2],n[f+4>>2]=n[B+4>>2],KG(m,f,c),n[F>>2]=(n[F>>2]|0)+12,bPe(s,k),xPe(k),C=M;return}}function PPe(s){return s=s|0,357913941}function SPe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0;n[s+12>>2]=0,n[s+16>>2]=f;do if(l)if(l>>>0>357913941)Tt();else{d=Yt(l*12|0)|0;break}else d=0;while(!1);n[s>>2]=d,f=d+(c*12|0)|0,n[s+8>>2]=f,n[s+4>>2]=f,n[s+12>>2]=d+(l*12|0)}function bPe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0;f=n[s>>2]|0,B=s+4|0,m=l+4|0,d=(n[B>>2]|0)-f|0,c=(n[m>>2]|0)+(((d|0)/-12|0)*12|0)|0,n[m>>2]=c,(d|0)>0?(xr(c|0,f|0,d|0)|0,f=m,c=n[m>>2]|0):f=m,m=n[s>>2]|0,n[s>>2]=c,n[f>>2]=m,m=l+8|0,d=n[B>>2]|0,n[B>>2]=n[m>>2],n[m>>2]=d,m=s+8|0,B=l+12|0,s=n[m>>2]|0,n[m>>2]=n[B>>2],n[B>>2]=s,n[l>>2]=n[f>>2]}function xPe(s){s=s|0;var l=0,c=0,f=0;l=n[s+4>>2]|0,c=s+8|0,f=n[c>>2]|0,(f|0)!=(l|0)&&(n[c>>2]=f+(~(((f+-12-l|0)>>>0)/12|0)*12|0)),s=n[s>>2]|0,s|0&&yt(s)}function VG(s){s=s|0,FPe(s)}function kPe(s){s=s|0,QPe(s+24|0)}function QPe(s){s=s|0;var l=0,c=0,f=0;c=n[s>>2]|0,f=c,c|0&&(s=s+4|0,l=n[s>>2]|0,(l|0)!=(c|0)&&(n[s>>2]=l+(~(((l+-12-f|0)>>>0)/12|0)*12|0)),yt(c))}function FPe(s){s=s|0;var l=0;l=Jr()|0,zr(s,2,4,l,RPe()|0,1),n[s+24>>2]=0,n[s+28>>2]=0,n[s+32>>2]=0}function RPe(){return 1180}function TPe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0;return f=C,C=C+16|0,d=f+8|0,m=f,B=NPe(s)|0,s=n[B+4>>2]|0,n[m>>2]=n[B>>2],n[m+4>>2]=s,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],c=LPe(l,d,c)|0,C=f,c|0}function NPe(s){return s=s|0,(n[(mR()|0)+24>>2]|0)+(s*12|0)|0}function LPe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0;return m=C,C=C+16|0,d=m,f=n[l>>2]|0,l=n[l+4>>2]|0,s=s+(l>>1)|0,l&1&&(f=n[(n[s>>2]|0)+f>>2]|0),F0(d,c),d=R0(d,c)|0,d=FD(pT[f&15](s,d)|0)|0,C=m,d|0}function F0(s,l){s=s|0,l=l|0}function R0(s,l){return s=s|0,l=l|0,OPe(l)|0}function FD(s){return s=s|0,s|0}function OPe(s){return s=s|0,s|0}function MPe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,k=0;f=C,C=C+16|0,d=f+8|0,m=f,k=n[c>>2]|0,B=n[c+4>>2]|0,c=mn(l)|0,n[m>>2]=k,n[m+4>>2]=B,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],UPe(s,c,d,0),C=f}function UPe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0,m=0,B=0,k=0,F=0,M=0,O=0;d=C,C=C+32|0,m=d+16|0,O=d+8|0,k=d,M=n[c>>2]|0,F=n[c+4>>2]|0,B=n[s>>2]|0,s=yR()|0,n[O>>2]=M,n[O+4>>2]=F,n[m>>2]=n[O>>2],n[m+4>>2]=n[O+4>>2],c=_Pe(m)|0,n[k>>2]=M,n[k+4>>2]=F,n[m>>2]=n[k>>2],n[m+4>>2]=n[k+4>>2],yn(B,l,s,c,HPe(m,f)|0,f),C=d}function yR(){var s=0,l=0;if(o[7672]|0||(zG(9376),pr(30,9376,U|0)|0,l=7672,n[l>>2]=1,n[l+4>>2]=0),!(Lr(9376)|0)){s=9376,l=s+36|0;do n[s>>2]=0,s=s+4|0;while((s|0)<(l|0));zG(9376)}return 9376}function _Pe(s){return s=s|0,0}function HPe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0,k=0,F=0,M=0,O=0,j=0;return O=C,C=C+32|0,d=O+24|0,B=O+16|0,k=O,F=O+8|0,m=n[s>>2]|0,f=n[s+4>>2]|0,n[k>>2]=m,n[k+4>>2]=f,j=yR()|0,M=j+24|0,s=dr(l,4)|0,n[F>>2]=s,l=j+28|0,c=n[l>>2]|0,c>>>0<(n[j+32>>2]|0)>>>0?(n[B>>2]=m,n[B+4>>2]=f,n[d>>2]=n[B>>2],n[d+4>>2]=n[B+4>>2],JG(c,d,s),s=(n[l>>2]|0)+12|0,n[l>>2]=s):(qPe(M,k,F),s=n[l>>2]|0),C=O,((s-(n[M>>2]|0)|0)/12|0)+-1|0}function JG(s,l,c){s=s|0,l=l|0,c=c|0;var f=0;f=n[l+4>>2]|0,n[s>>2]=n[l>>2],n[s+4>>2]=f,n[s+8>>2]=c}function qPe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,k=0,F=0,M=0,O=0,j=0,oe=0;if(M=C,C=C+48|0,f=M+32|0,B=M+24|0,k=M,F=s+4|0,d=(((n[F>>2]|0)-(n[s>>2]|0)|0)/12|0)+1|0,m=jPe(s)|0,m>>>0<d>>>0)Zr(s);else{O=n[s>>2]|0,oe=((n[s+8>>2]|0)-O|0)/12|0,j=oe<<1,GPe(k,oe>>>0<m>>>1>>>0?j>>>0<d>>>0?d:j:m,((n[F>>2]|0)-O|0)/12|0,s+8|0),F=k+8|0,m=n[F>>2]|0,d=n[l+4>>2]|0,c=n[c>>2]|0,n[B>>2]=n[l>>2],n[B+4>>2]=d,n[f>>2]=n[B>>2],n[f+4>>2]=n[B+4>>2],JG(m,f,c),n[F>>2]=(n[F>>2]|0)+12,WPe(s,k),YPe(k),C=M;return}}function jPe(s){return s=s|0,357913941}function GPe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0;n[s+12>>2]=0,n[s+16>>2]=f;do if(l)if(l>>>0>357913941)Tt();else{d=Yt(l*12|0)|0;break}else d=0;while(!1);n[s>>2]=d,f=d+(c*12|0)|0,n[s+8>>2]=f,n[s+4>>2]=f,n[s+12>>2]=d+(l*12|0)}function WPe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0;f=n[s>>2]|0,B=s+4|0,m=l+4|0,d=(n[B>>2]|0)-f|0,c=(n[m>>2]|0)+(((d|0)/-12|0)*12|0)|0,n[m>>2]=c,(d|0)>0?(xr(c|0,f|0,d|0)|0,f=m,c=n[m>>2]|0):f=m,m=n[s>>2]|0,n[s>>2]=c,n[f>>2]=m,m=l+8|0,d=n[B>>2]|0,n[B>>2]=n[m>>2],n[m>>2]=d,m=s+8|0,B=l+12|0,s=n[m>>2]|0,n[m>>2]=n[B>>2],n[B>>2]=s,n[l>>2]=n[f>>2]}function YPe(s){s=s|0;var l=0,c=0,f=0;l=n[s+4>>2]|0,c=s+8|0,f=n[c>>2]|0,(f|0)!=(l|0)&&(n[c>>2]=f+(~(((f+-12-l|0)>>>0)/12|0)*12|0)),s=n[s>>2]|0,s|0&&yt(s)}function zG(s){s=s|0,JPe(s)}function KPe(s){s=s|0,VPe(s+24|0)}function VPe(s){s=s|0;var l=0,c=0,f=0;c=n[s>>2]|0,f=c,c|0&&(s=s+4|0,l=n[s>>2]|0,(l|0)!=(c|0)&&(n[s>>2]=l+(~(((l+-12-f|0)>>>0)/12|0)*12|0)),yt(c))}function JPe(s){s=s|0;var l=0;l=Jr()|0,zr(s,2,5,l,XG()|0,0),n[s+24>>2]=0,n[s+28>>2]=0,n[s+32>>2]=0}function XG(){return 1196}function zPe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0;return c=C,C=C+16|0,f=c+8|0,d=c,m=XPe(s)|0,s=n[m+4>>2]|0,n[d>>2]=n[m>>2],n[d+4>>2]=s,n[f>>2]=n[d>>2],n[f+4>>2]=n[d+4>>2],l=ZPe(l,f)|0,C=c,l|0}function XPe(s){return s=s|0,(n[(yR()|0)+24>>2]|0)+(s*12|0)|0}function ZPe(s,l){s=s|0,l=l|0;var c=0;return c=n[l>>2]|0,l=n[l+4>>2]|0,s=s+(l>>1)|0,l&1&&(c=n[(n[s>>2]|0)+c>>2]|0),FD(_0[c&31](s)|0)|0}function $Pe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,k=0;f=C,C=C+16|0,d=f+8|0,m=f,k=n[c>>2]|0,B=n[c+4>>2]|0,c=mn(l)|0,n[m>>2]=k,n[m+4>>2]=B,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],eSe(s,c,d,1),C=f}function eSe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0,m=0,B=0,k=0,F=0,M=0,O=0;d=C,C=C+32|0,m=d+16|0,O=d+8|0,k=d,M=n[c>>2]|0,F=n[c+4>>2]|0,B=n[s>>2]|0,s=ER()|0,n[O>>2]=M,n[O+4>>2]=F,n[m>>2]=n[O>>2],n[m+4>>2]=n[O+4>>2],c=tSe(m)|0,n[k>>2]=M,n[k+4>>2]=F,n[m>>2]=n[k>>2],n[m+4>>2]=n[k+4>>2],yn(B,l,s,c,rSe(m,f)|0,f),C=d}function ER(){var s=0,l=0;if(o[7680]|0||($G(9412),pr(31,9412,U|0)|0,l=7680,n[l>>2]=1,n[l+4>>2]=0),!(Lr(9412)|0)){s=9412,l=s+36|0;do n[s>>2]=0,s=s+4|0;while((s|0)<(l|0));$G(9412)}return 9412}function tSe(s){return s=s|0,0}function rSe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0,k=0,F=0,M=0,O=0,j=0;return O=C,C=C+32|0,d=O+24|0,B=O+16|0,k=O,F=O+8|0,m=n[s>>2]|0,f=n[s+4>>2]|0,n[k>>2]=m,n[k+4>>2]=f,j=ER()|0,M=j+24|0,s=dr(l,4)|0,n[F>>2]=s,l=j+28|0,c=n[l>>2]|0,c>>>0<(n[j+32>>2]|0)>>>0?(n[B>>2]=m,n[B+4>>2]=f,n[d>>2]=n[B>>2],n[d+4>>2]=n[B+4>>2],ZG(c,d,s),s=(n[l>>2]|0)+12|0,n[l>>2]=s):(nSe(M,k,F),s=n[l>>2]|0),C=O,((s-(n[M>>2]|0)|0)/12|0)+-1|0}function ZG(s,l,c){s=s|0,l=l|0,c=c|0;var f=0;f=n[l+4>>2]|0,n[s>>2]=n[l>>2],n[s+4>>2]=f,n[s+8>>2]=c}function nSe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,k=0,F=0,M=0,O=0,j=0,oe=0;if(M=C,C=C+48|0,f=M+32|0,B=M+24|0,k=M,F=s+4|0,d=(((n[F>>2]|0)-(n[s>>2]|0)|0)/12|0)+1|0,m=iSe(s)|0,m>>>0<d>>>0)Zr(s);else{O=n[s>>2]|0,oe=((n[s+8>>2]|0)-O|0)/12|0,j=oe<<1,sSe(k,oe>>>0<m>>>1>>>0?j>>>0<d>>>0?d:j:m,((n[F>>2]|0)-O|0)/12|0,s+8|0),F=k+8|0,m=n[F>>2]|0,d=n[l+4>>2]|0,c=n[c>>2]|0,n[B>>2]=n[l>>2],n[B+4>>2]=d,n[f>>2]=n[B>>2],n[f+4>>2]=n[B+4>>2],ZG(m,f,c),n[F>>2]=(n[F>>2]|0)+12,oSe(s,k),aSe(k),C=M;return}}function iSe(s){return s=s|0,357913941}function sSe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0;n[s+12>>2]=0,n[s+16>>2]=f;do if(l)if(l>>>0>357913941)Tt();else{d=Yt(l*12|0)|0;break}else d=0;while(!1);n[s>>2]=d,f=d+(c*12|0)|0,n[s+8>>2]=f,n[s+4>>2]=f,n[s+12>>2]=d+(l*12|0)}function oSe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0;f=n[s>>2]|0,B=s+4|0,m=l+4|0,d=(n[B>>2]|0)-f|0,c=(n[m>>2]|0)+(((d|0)/-12|0)*12|0)|0,n[m>>2]=c,(d|0)>0?(xr(c|0,f|0,d|0)|0,f=m,c=n[m>>2]|0):f=m,m=n[s>>2]|0,n[s>>2]=c,n[f>>2]=m,m=l+8|0,d=n[B>>2]|0,n[B>>2]=n[m>>2],n[m>>2]=d,m=s+8|0,B=l+12|0,s=n[m>>2]|0,n[m>>2]=n[B>>2],n[B>>2]=s,n[l>>2]=n[f>>2]}function aSe(s){s=s|0;var l=0,c=0,f=0;l=n[s+4>>2]|0,c=s+8|0,f=n[c>>2]|0,(f|0)!=(l|0)&&(n[c>>2]=f+(~(((f+-12-l|0)>>>0)/12|0)*12|0)),s=n[s>>2]|0,s|0&&yt(s)}function $G(s){s=s|0,uSe(s)}function lSe(s){s=s|0,cSe(s+24|0)}function cSe(s){s=s|0;var l=0,c=0,f=0;c=n[s>>2]|0,f=c,c|0&&(s=s+4|0,l=n[s>>2]|0,(l|0)!=(c|0)&&(n[s>>2]=l+(~(((l+-12-f|0)>>>0)/12|0)*12|0)),yt(c))}function uSe(s){s=s|0;var l=0;l=Jr()|0,zr(s,2,6,l,e9()|0,0),n[s+24>>2]=0,n[s+28>>2]=0,n[s+32>>2]=0}function e9(){return 1200}function ASe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0;return c=C,C=C+16|0,f=c+8|0,d=c,m=fSe(s)|0,s=n[m+4>>2]|0,n[d>>2]=n[m>>2],n[d+4>>2]=s,n[f>>2]=n[d>>2],n[f+4>>2]=n[d+4>>2],l=pSe(l,f)|0,C=c,l|0}function fSe(s){return s=s|0,(n[(ER()|0)+24>>2]|0)+(s*12|0)|0}function pSe(s,l){s=s|0,l=l|0;var c=0;return c=n[l>>2]|0,l=n[l+4>>2]|0,s=s+(l>>1)|0,l&1&&(c=n[(n[s>>2]|0)+c>>2]|0),RD(_0[c&31](s)|0)|0}function RD(s){return s=s|0,s|0}function hSe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,k=0;f=C,C=C+16|0,d=f+8|0,m=f,k=n[c>>2]|0,B=n[c+4>>2]|0,c=mn(l)|0,n[m>>2]=k,n[m+4>>2]=B,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],gSe(s,c,d,0),C=f}function gSe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0,m=0,B=0,k=0,F=0,M=0,O=0;d=C,C=C+32|0,m=d+16|0,O=d+8|0,k=d,M=n[c>>2]|0,F=n[c+4>>2]|0,B=n[s>>2]|0,s=CR()|0,n[O>>2]=M,n[O+4>>2]=F,n[m>>2]=n[O>>2],n[m+4>>2]=n[O+4>>2],c=dSe(m)|0,n[k>>2]=M,n[k+4>>2]=F,n[m>>2]=n[k>>2],n[m+4>>2]=n[k+4>>2],yn(B,l,s,c,mSe(m,f)|0,f),C=d}function CR(){var s=0,l=0;if(o[7688]|0||(r9(9448),pr(32,9448,U|0)|0,l=7688,n[l>>2]=1,n[l+4>>2]=0),!(Lr(9448)|0)){s=9448,l=s+36|0;do n[s>>2]=0,s=s+4|0;while((s|0)<(l|0));r9(9448)}return 9448}function dSe(s){return s=s|0,0}function mSe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0,k=0,F=0,M=0,O=0,j=0;return O=C,C=C+32|0,d=O+24|0,B=O+16|0,k=O,F=O+8|0,m=n[s>>2]|0,f=n[s+4>>2]|0,n[k>>2]=m,n[k+4>>2]=f,j=CR()|0,M=j+24|0,s=dr(l,4)|0,n[F>>2]=s,l=j+28|0,c=n[l>>2]|0,c>>>0<(n[j+32>>2]|0)>>>0?(n[B>>2]=m,n[B+4>>2]=f,n[d>>2]=n[B>>2],n[d+4>>2]=n[B+4>>2],t9(c,d,s),s=(n[l>>2]|0)+12|0,n[l>>2]=s):(ySe(M,k,F),s=n[l>>2]|0),C=O,((s-(n[M>>2]|0)|0)/12|0)+-1|0}function t9(s,l,c){s=s|0,l=l|0,c=c|0;var f=0;f=n[l+4>>2]|0,n[s>>2]=n[l>>2],n[s+4>>2]=f,n[s+8>>2]=c}function ySe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,k=0,F=0,M=0,O=0,j=0,oe=0;if(M=C,C=C+48|0,f=M+32|0,B=M+24|0,k=M,F=s+4|0,d=(((n[F>>2]|0)-(n[s>>2]|0)|0)/12|0)+1|0,m=ESe(s)|0,m>>>0<d>>>0)Zr(s);else{O=n[s>>2]|0,oe=((n[s+8>>2]|0)-O|0)/12|0,j=oe<<1,CSe(k,oe>>>0<m>>>1>>>0?j>>>0<d>>>0?d:j:m,((n[F>>2]|0)-O|0)/12|0,s+8|0),F=k+8|0,m=n[F>>2]|0,d=n[l+4>>2]|0,c=n[c>>2]|0,n[B>>2]=n[l>>2],n[B+4>>2]=d,n[f>>2]=n[B>>2],n[f+4>>2]=n[B+4>>2],t9(m,f,c),n[F>>2]=(n[F>>2]|0)+12,ISe(s,k),wSe(k),C=M;return}}function ESe(s){return s=s|0,357913941}function CSe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0;n[s+12>>2]=0,n[s+16>>2]=f;do if(l)if(l>>>0>357913941)Tt();else{d=Yt(l*12|0)|0;break}else d=0;while(!1);n[s>>2]=d,f=d+(c*12|0)|0,n[s+8>>2]=f,n[s+4>>2]=f,n[s+12>>2]=d+(l*12|0)}function ISe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0;f=n[s>>2]|0,B=s+4|0,m=l+4|0,d=(n[B>>2]|0)-f|0,c=(n[m>>2]|0)+(((d|0)/-12|0)*12|0)|0,n[m>>2]=c,(d|0)>0?(xr(c|0,f|0,d|0)|0,f=m,c=n[m>>2]|0):f=m,m=n[s>>2]|0,n[s>>2]=c,n[f>>2]=m,m=l+8|0,d=n[B>>2]|0,n[B>>2]=n[m>>2],n[m>>2]=d,m=s+8|0,B=l+12|0,s=n[m>>2]|0,n[m>>2]=n[B>>2],n[B>>2]=s,n[l>>2]=n[f>>2]}function wSe(s){s=s|0;var l=0,c=0,f=0;l=n[s+4>>2]|0,c=s+8|0,f=n[c>>2]|0,(f|0)!=(l|0)&&(n[c>>2]=f+(~(((f+-12-l|0)>>>0)/12|0)*12|0)),s=n[s>>2]|0,s|0&&yt(s)}function r9(s){s=s|0,DSe(s)}function BSe(s){s=s|0,vSe(s+24|0)}function vSe(s){s=s|0;var l=0,c=0,f=0;c=n[s>>2]|0,f=c,c|0&&(s=s+4|0,l=n[s>>2]|0,(l|0)!=(c|0)&&(n[s>>2]=l+(~(((l+-12-f|0)>>>0)/12|0)*12|0)),yt(c))}function DSe(s){s=s|0;var l=0;l=Jr()|0,zr(s,2,6,l,n9()|0,1),n[s+24>>2]=0,n[s+28>>2]=0,n[s+32>>2]=0}function n9(){return 1204}function PSe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0;f=C,C=C+16|0,d=f+8|0,m=f,B=SSe(s)|0,s=n[B+4>>2]|0,n[m>>2]=n[B>>2],n[m+4>>2]=s,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],bSe(l,d,c),C=f}function SSe(s){return s=s|0,(n[(CR()|0)+24>>2]|0)+(s*12|0)|0}function bSe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0;m=C,C=C+16|0,d=m,f=n[l>>2]|0,l=n[l+4>>2]|0,s=s+(l>>1)|0,l&1&&(f=n[(n[s>>2]|0)+f>>2]|0),IR(d,c),d=wR(d,c)|0,tf[f&31](s,d),C=m}function IR(s,l){s=s|0,l=l|0}function wR(s,l){return s=s|0,l=l|0,xSe(l)|0}function xSe(s){return s=s|0,s|0}function kSe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,k=0;f=C,C=C+16|0,d=f+8|0,m=f,k=n[c>>2]|0,B=n[c+4>>2]|0,c=mn(l)|0,n[m>>2]=k,n[m+4>>2]=B,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],QSe(s,c,d,0),C=f}function QSe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0,m=0,B=0,k=0,F=0,M=0,O=0;d=C,C=C+32|0,m=d+16|0,O=d+8|0,k=d,M=n[c>>2]|0,F=n[c+4>>2]|0,B=n[s>>2]|0,s=BR()|0,n[O>>2]=M,n[O+4>>2]=F,n[m>>2]=n[O>>2],n[m+4>>2]=n[O+4>>2],c=FSe(m)|0,n[k>>2]=M,n[k+4>>2]=F,n[m>>2]=n[k>>2],n[m+4>>2]=n[k+4>>2],yn(B,l,s,c,RSe(m,f)|0,f),C=d}function BR(){var s=0,l=0;if(o[7696]|0||(s9(9484),pr(33,9484,U|0)|0,l=7696,n[l>>2]=1,n[l+4>>2]=0),!(Lr(9484)|0)){s=9484,l=s+36|0;do n[s>>2]=0,s=s+4|0;while((s|0)<(l|0));s9(9484)}return 9484}function FSe(s){return s=s|0,0}function RSe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0,k=0,F=0,M=0,O=0,j=0;return O=C,C=C+32|0,d=O+24|0,B=O+16|0,k=O,F=O+8|0,m=n[s>>2]|0,f=n[s+4>>2]|0,n[k>>2]=m,n[k+4>>2]=f,j=BR()|0,M=j+24|0,s=dr(l,4)|0,n[F>>2]=s,l=j+28|0,c=n[l>>2]|0,c>>>0<(n[j+32>>2]|0)>>>0?(n[B>>2]=m,n[B+4>>2]=f,n[d>>2]=n[B>>2],n[d+4>>2]=n[B+4>>2],i9(c,d,s),s=(n[l>>2]|0)+12|0,n[l>>2]=s):(TSe(M,k,F),s=n[l>>2]|0),C=O,((s-(n[M>>2]|0)|0)/12|0)+-1|0}function i9(s,l,c){s=s|0,l=l|0,c=c|0;var f=0;f=n[l+4>>2]|0,n[s>>2]=n[l>>2],n[s+4>>2]=f,n[s+8>>2]=c}function TSe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,k=0,F=0,M=0,O=0,j=0,oe=0;if(M=C,C=C+48|0,f=M+32|0,B=M+24|0,k=M,F=s+4|0,d=(((n[F>>2]|0)-(n[s>>2]|0)|0)/12|0)+1|0,m=NSe(s)|0,m>>>0<d>>>0)Zr(s);else{O=n[s>>2]|0,oe=((n[s+8>>2]|0)-O|0)/12|0,j=oe<<1,LSe(k,oe>>>0<m>>>1>>>0?j>>>0<d>>>0?d:j:m,((n[F>>2]|0)-O|0)/12|0,s+8|0),F=k+8|0,m=n[F>>2]|0,d=n[l+4>>2]|0,c=n[c>>2]|0,n[B>>2]=n[l>>2],n[B+4>>2]=d,n[f>>2]=n[B>>2],n[f+4>>2]=n[B+4>>2],i9(m,f,c),n[F>>2]=(n[F>>2]|0)+12,OSe(s,k),MSe(k),C=M;return}}function NSe(s){return s=s|0,357913941}function LSe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0;n[s+12>>2]=0,n[s+16>>2]=f;do if(l)if(l>>>0>357913941)Tt();else{d=Yt(l*12|0)|0;break}else d=0;while(!1);n[s>>2]=d,f=d+(c*12|0)|0,n[s+8>>2]=f,n[s+4>>2]=f,n[s+12>>2]=d+(l*12|0)}function OSe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0;f=n[s>>2]|0,B=s+4|0,m=l+4|0,d=(n[B>>2]|0)-f|0,c=(n[m>>2]|0)+(((d|0)/-12|0)*12|0)|0,n[m>>2]=c,(d|0)>0?(xr(c|0,f|0,d|0)|0,f=m,c=n[m>>2]|0):f=m,m=n[s>>2]|0,n[s>>2]=c,n[f>>2]=m,m=l+8|0,d=n[B>>2]|0,n[B>>2]=n[m>>2],n[m>>2]=d,m=s+8|0,B=l+12|0,s=n[m>>2]|0,n[m>>2]=n[B>>2],n[B>>2]=s,n[l>>2]=n[f>>2]}function MSe(s){s=s|0;var l=0,c=0,f=0;l=n[s+4>>2]|0,c=s+8|0,f=n[c>>2]|0,(f|0)!=(l|0)&&(n[c>>2]=f+(~(((f+-12-l|0)>>>0)/12|0)*12|0)),s=n[s>>2]|0,s|0&&yt(s)}function s9(s){s=s|0,HSe(s)}function USe(s){s=s|0,_Se(s+24|0)}function _Se(s){s=s|0;var l=0,c=0,f=0;c=n[s>>2]|0,f=c,c|0&&(s=s+4|0,l=n[s>>2]|0,(l|0)!=(c|0)&&(n[s>>2]=l+(~(((l+-12-f|0)>>>0)/12|0)*12|0)),yt(c))}function HSe(s){s=s|0;var l=0;l=Jr()|0,zr(s,2,1,l,qSe()|0,2),n[s+24>>2]=0,n[s+28>>2]=0,n[s+32>>2]=0}function qSe(){return 1212}function jSe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0,m=0,B=0,k=0;d=C,C=C+16|0,m=d+8|0,B=d,k=GSe(s)|0,s=n[k+4>>2]|0,n[B>>2]=n[k>>2],n[B+4>>2]=s,n[m>>2]=n[B>>2],n[m+4>>2]=n[B+4>>2],WSe(l,m,c,f),C=d}function GSe(s){return s=s|0,(n[(BR()|0)+24>>2]|0)+(s*12|0)|0}function WSe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0,m=0,B=0,k=0;k=C,C=C+16|0,m=k+1|0,B=k,d=n[l>>2]|0,l=n[l+4>>2]|0,s=s+(l>>1)|0,l&1&&(d=n[(n[s>>2]|0)+d>>2]|0),IR(m,c),m=wR(m,c)|0,F0(B,f),B=R0(B,f)|0,sw[d&15](s,m,B),C=k}function YSe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,k=0;f=C,C=C+16|0,d=f+8|0,m=f,k=n[c>>2]|0,B=n[c+4>>2]|0,c=mn(l)|0,n[m>>2]=k,n[m+4>>2]=B,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],KSe(s,c,d,1),C=f}function KSe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0,m=0,B=0,k=0,F=0,M=0,O=0;d=C,C=C+32|0,m=d+16|0,O=d+8|0,k=d,M=n[c>>2]|0,F=n[c+4>>2]|0,B=n[s>>2]|0,s=vR()|0,n[O>>2]=M,n[O+4>>2]=F,n[m>>2]=n[O>>2],n[m+4>>2]=n[O+4>>2],c=VSe(m)|0,n[k>>2]=M,n[k+4>>2]=F,n[m>>2]=n[k>>2],n[m+4>>2]=n[k+4>>2],yn(B,l,s,c,JSe(m,f)|0,f),C=d}function vR(){var s=0,l=0;if(o[7704]|0||(a9(9520),pr(34,9520,U|0)|0,l=7704,n[l>>2]=1,n[l+4>>2]=0),!(Lr(9520)|0)){s=9520,l=s+36|0;do n[s>>2]=0,s=s+4|0;while((s|0)<(l|0));a9(9520)}return 9520}function VSe(s){return s=s|0,0}function JSe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0,k=0,F=0,M=0,O=0,j=0;return O=C,C=C+32|0,d=O+24|0,B=O+16|0,k=O,F=O+8|0,m=n[s>>2]|0,f=n[s+4>>2]|0,n[k>>2]=m,n[k+4>>2]=f,j=vR()|0,M=j+24|0,s=dr(l,4)|0,n[F>>2]=s,l=j+28|0,c=n[l>>2]|0,c>>>0<(n[j+32>>2]|0)>>>0?(n[B>>2]=m,n[B+4>>2]=f,n[d>>2]=n[B>>2],n[d+4>>2]=n[B+4>>2],o9(c,d,s),s=(n[l>>2]|0)+12|0,n[l>>2]=s):(zSe(M,k,F),s=n[l>>2]|0),C=O,((s-(n[M>>2]|0)|0)/12|0)+-1|0}function o9(s,l,c){s=s|0,l=l|0,c=c|0;var f=0;f=n[l+4>>2]|0,n[s>>2]=n[l>>2],n[s+4>>2]=f,n[s+8>>2]=c}function zSe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,k=0,F=0,M=0,O=0,j=0,oe=0;if(M=C,C=C+48|0,f=M+32|0,B=M+24|0,k=M,F=s+4|0,d=(((n[F>>2]|0)-(n[s>>2]|0)|0)/12|0)+1|0,m=XSe(s)|0,m>>>0<d>>>0)Zr(s);else{O=n[s>>2]|0,oe=((n[s+8>>2]|0)-O|0)/12|0,j=oe<<1,ZSe(k,oe>>>0<m>>>1>>>0?j>>>0<d>>>0?d:j:m,((n[F>>2]|0)-O|0)/12|0,s+8|0),F=k+8|0,m=n[F>>2]|0,d=n[l+4>>2]|0,c=n[c>>2]|0,n[B>>2]=n[l>>2],n[B+4>>2]=d,n[f>>2]=n[B>>2],n[f+4>>2]=n[B+4>>2],o9(m,f,c),n[F>>2]=(n[F>>2]|0)+12,$Se(s,k),ebe(k),C=M;return}}function XSe(s){return s=s|0,357913941}function ZSe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0;n[s+12>>2]=0,n[s+16>>2]=f;do if(l)if(l>>>0>357913941)Tt();else{d=Yt(l*12|0)|0;break}else d=0;while(!1);n[s>>2]=d,f=d+(c*12|0)|0,n[s+8>>2]=f,n[s+4>>2]=f,n[s+12>>2]=d+(l*12|0)}function $Se(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0;f=n[s>>2]|0,B=s+4|0,m=l+4|0,d=(n[B>>2]|0)-f|0,c=(n[m>>2]|0)+(((d|0)/-12|0)*12|0)|0,n[m>>2]=c,(d|0)>0?(xr(c|0,f|0,d|0)|0,f=m,c=n[m>>2]|0):f=m,m=n[s>>2]|0,n[s>>2]=c,n[f>>2]=m,m=l+8|0,d=n[B>>2]|0,n[B>>2]=n[m>>2],n[m>>2]=d,m=s+8|0,B=l+12|0,s=n[m>>2]|0,n[m>>2]=n[B>>2],n[B>>2]=s,n[l>>2]=n[f>>2]}function ebe(s){s=s|0;var l=0,c=0,f=0;l=n[s+4>>2]|0,c=s+8|0,f=n[c>>2]|0,(f|0)!=(l|0)&&(n[c>>2]=f+(~(((f+-12-l|0)>>>0)/12|0)*12|0)),s=n[s>>2]|0,s|0&&yt(s)}function a9(s){s=s|0,nbe(s)}function tbe(s){s=s|0,rbe(s+24|0)}function rbe(s){s=s|0;var l=0,c=0,f=0;c=n[s>>2]|0,f=c,c|0&&(s=s+4|0,l=n[s>>2]|0,(l|0)!=(c|0)&&(n[s>>2]=l+(~(((l+-12-f|0)>>>0)/12|0)*12|0)),yt(c))}function nbe(s){s=s|0;var l=0;l=Jr()|0,zr(s,2,1,l,ibe()|0,1),n[s+24>>2]=0,n[s+28>>2]=0,n[s+32>>2]=0}function ibe(){return 1224}function sbe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,k=0;return d=C,C=C+16|0,m=d+8|0,B=d,k=obe(s)|0,s=n[k+4>>2]|0,n[B>>2]=n[k>>2],n[B+4>>2]=s,n[m>>2]=n[B>>2],n[m+4>>2]=n[B+4>>2],f=+abe(l,m,c),C=d,+f}function obe(s){return s=s|0,(n[(vR()|0)+24>>2]|0)+(s*12|0)|0}function abe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0;return m=C,C=C+16|0,d=m,f=n[l>>2]|0,l=n[l+4>>2]|0,s=s+(l>>1)|0,l&1&&(f=n[(n[s>>2]|0)+f>>2]|0),XA(d,c),d=ZA(d,c)|0,B=+Ru(+iW[f&7](s,d)),C=m,+B}function lbe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,k=0;f=C,C=C+16|0,d=f+8|0,m=f,k=n[c>>2]|0,B=n[c+4>>2]|0,c=mn(l)|0,n[m>>2]=k,n[m+4>>2]=B,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],cbe(s,c,d,1),C=f}function cbe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0,m=0,B=0,k=0,F=0,M=0,O=0;d=C,C=C+32|0,m=d+16|0,O=d+8|0,k=d,M=n[c>>2]|0,F=n[c+4>>2]|0,B=n[s>>2]|0,s=DR()|0,n[O>>2]=M,n[O+4>>2]=F,n[m>>2]=n[O>>2],n[m+4>>2]=n[O+4>>2],c=ube(m)|0,n[k>>2]=M,n[k+4>>2]=F,n[m>>2]=n[k>>2],n[m+4>>2]=n[k+4>>2],yn(B,l,s,c,Abe(m,f)|0,f),C=d}function DR(){var s=0,l=0;if(o[7712]|0||(c9(9556),pr(35,9556,U|0)|0,l=7712,n[l>>2]=1,n[l+4>>2]=0),!(Lr(9556)|0)){s=9556,l=s+36|0;do n[s>>2]=0,s=s+4|0;while((s|0)<(l|0));c9(9556)}return 9556}function ube(s){return s=s|0,0}function Abe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0,k=0,F=0,M=0,O=0,j=0;return O=C,C=C+32|0,d=O+24|0,B=O+16|0,k=O,F=O+8|0,m=n[s>>2]|0,f=n[s+4>>2]|0,n[k>>2]=m,n[k+4>>2]=f,j=DR()|0,M=j+24|0,s=dr(l,4)|0,n[F>>2]=s,l=j+28|0,c=n[l>>2]|0,c>>>0<(n[j+32>>2]|0)>>>0?(n[B>>2]=m,n[B+4>>2]=f,n[d>>2]=n[B>>2],n[d+4>>2]=n[B+4>>2],l9(c,d,s),s=(n[l>>2]|0)+12|0,n[l>>2]=s):(fbe(M,k,F),s=n[l>>2]|0),C=O,((s-(n[M>>2]|0)|0)/12|0)+-1|0}function l9(s,l,c){s=s|0,l=l|0,c=c|0;var f=0;f=n[l+4>>2]|0,n[s>>2]=n[l>>2],n[s+4>>2]=f,n[s+8>>2]=c}function fbe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,k=0,F=0,M=0,O=0,j=0,oe=0;if(M=C,C=C+48|0,f=M+32|0,B=M+24|0,k=M,F=s+4|0,d=(((n[F>>2]|0)-(n[s>>2]|0)|0)/12|0)+1|0,m=pbe(s)|0,m>>>0<d>>>0)Zr(s);else{O=n[s>>2]|0,oe=((n[s+8>>2]|0)-O|0)/12|0,j=oe<<1,hbe(k,oe>>>0<m>>>1>>>0?j>>>0<d>>>0?d:j:m,((n[F>>2]|0)-O|0)/12|0,s+8|0),F=k+8|0,m=n[F>>2]|0,d=n[l+4>>2]|0,c=n[c>>2]|0,n[B>>2]=n[l>>2],n[B+4>>2]=d,n[f>>2]=n[B>>2],n[f+4>>2]=n[B+4>>2],l9(m,f,c),n[F>>2]=(n[F>>2]|0)+12,gbe(s,k),dbe(k),C=M;return}}function pbe(s){return s=s|0,357913941}function hbe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0;n[s+12>>2]=0,n[s+16>>2]=f;do if(l)if(l>>>0>357913941)Tt();else{d=Yt(l*12|0)|0;break}else d=0;while(!1);n[s>>2]=d,f=d+(c*12|0)|0,n[s+8>>2]=f,n[s+4>>2]=f,n[s+12>>2]=d+(l*12|0)}function gbe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0;f=n[s>>2]|0,B=s+4|0,m=l+4|0,d=(n[B>>2]|0)-f|0,c=(n[m>>2]|0)+(((d|0)/-12|0)*12|0)|0,n[m>>2]=c,(d|0)>0?(xr(c|0,f|0,d|0)|0,f=m,c=n[m>>2]|0):f=m,m=n[s>>2]|0,n[s>>2]=c,n[f>>2]=m,m=l+8|0,d=n[B>>2]|0,n[B>>2]=n[m>>2],n[m>>2]=d,m=s+8|0,B=l+12|0,s=n[m>>2]|0,n[m>>2]=n[B>>2],n[B>>2]=s,n[l>>2]=n[f>>2]}function dbe(s){s=s|0;var l=0,c=0,f=0;l=n[s+4>>2]|0,c=s+8|0,f=n[c>>2]|0,(f|0)!=(l|0)&&(n[c>>2]=f+(~(((f+-12-l|0)>>>0)/12|0)*12|0)),s=n[s>>2]|0,s|0&&yt(s)}function c9(s){s=s|0,Ebe(s)}function mbe(s){s=s|0,ybe(s+24|0)}function ybe(s){s=s|0;var l=0,c=0,f=0;c=n[s>>2]|0,f=c,c|0&&(s=s+4|0,l=n[s>>2]|0,(l|0)!=(c|0)&&(n[s>>2]=l+(~(((l+-12-f|0)>>>0)/12|0)*12|0)),yt(c))}function Ebe(s){s=s|0;var l=0;l=Jr()|0,zr(s,2,5,l,Cbe()|0,0),n[s+24>>2]=0,n[s+28>>2]=0,n[s+32>>2]=0}function Cbe(){return 1232}function Ibe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0;return f=C,C=C+16|0,d=f+8|0,m=f,B=wbe(s)|0,s=n[B+4>>2]|0,n[m>>2]=n[B>>2],n[m+4>>2]=s,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],c=+Bbe(l,d),C=f,+c}function wbe(s){return s=s|0,(n[(DR()|0)+24>>2]|0)+(s*12|0)|0}function Bbe(s,l){s=s|0,l=l|0;var c=0;return c=n[l>>2]|0,l=n[l+4>>2]|0,s=s+(l>>1)|0,l&1&&(c=n[(n[s>>2]|0)+c>>2]|0),+ +Ru(+nW[c&15](s))}function vbe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,k=0;f=C,C=C+16|0,d=f+8|0,m=f,k=n[c>>2]|0,B=n[c+4>>2]|0,c=mn(l)|0,n[m>>2]=k,n[m+4>>2]=B,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],Dbe(s,c,d,1),C=f}function Dbe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0,m=0,B=0,k=0,F=0,M=0,O=0;d=C,C=C+32|0,m=d+16|0,O=d+8|0,k=d,M=n[c>>2]|0,F=n[c+4>>2]|0,B=n[s>>2]|0,s=PR()|0,n[O>>2]=M,n[O+4>>2]=F,n[m>>2]=n[O>>2],n[m+4>>2]=n[O+4>>2],c=Pbe(m)|0,n[k>>2]=M,n[k+4>>2]=F,n[m>>2]=n[k>>2],n[m+4>>2]=n[k+4>>2],yn(B,l,s,c,Sbe(m,f)|0,f),C=d}function PR(){var s=0,l=0;if(o[7720]|0||(A9(9592),pr(36,9592,U|0)|0,l=7720,n[l>>2]=1,n[l+4>>2]=0),!(Lr(9592)|0)){s=9592,l=s+36|0;do n[s>>2]=0,s=s+4|0;while((s|0)<(l|0));A9(9592)}return 9592}function Pbe(s){return s=s|0,0}function Sbe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0,k=0,F=0,M=0,O=0,j=0;return O=C,C=C+32|0,d=O+24|0,B=O+16|0,k=O,F=O+8|0,m=n[s>>2]|0,f=n[s+4>>2]|0,n[k>>2]=m,n[k+4>>2]=f,j=PR()|0,M=j+24|0,s=dr(l,4)|0,n[F>>2]=s,l=j+28|0,c=n[l>>2]|0,c>>>0<(n[j+32>>2]|0)>>>0?(n[B>>2]=m,n[B+4>>2]=f,n[d>>2]=n[B>>2],n[d+4>>2]=n[B+4>>2],u9(c,d,s),s=(n[l>>2]|0)+12|0,n[l>>2]=s):(bbe(M,k,F),s=n[l>>2]|0),C=O,((s-(n[M>>2]|0)|0)/12|0)+-1|0}function u9(s,l,c){s=s|0,l=l|0,c=c|0;var f=0;f=n[l+4>>2]|0,n[s>>2]=n[l>>2],n[s+4>>2]=f,n[s+8>>2]=c}function bbe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,k=0,F=0,M=0,O=0,j=0,oe=0;if(M=C,C=C+48|0,f=M+32|0,B=M+24|0,k=M,F=s+4|0,d=(((n[F>>2]|0)-(n[s>>2]|0)|0)/12|0)+1|0,m=xbe(s)|0,m>>>0<d>>>0)Zr(s);else{O=n[s>>2]|0,oe=((n[s+8>>2]|0)-O|0)/12|0,j=oe<<1,kbe(k,oe>>>0<m>>>1>>>0?j>>>0<d>>>0?d:j:m,((n[F>>2]|0)-O|0)/12|0,s+8|0),F=k+8|0,m=n[F>>2]|0,d=n[l+4>>2]|0,c=n[c>>2]|0,n[B>>2]=n[l>>2],n[B+4>>2]=d,n[f>>2]=n[B>>2],n[f+4>>2]=n[B+4>>2],u9(m,f,c),n[F>>2]=(n[F>>2]|0)+12,Qbe(s,k),Fbe(k),C=M;return}}function xbe(s){return s=s|0,357913941}function kbe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0;n[s+12>>2]=0,n[s+16>>2]=f;do if(l)if(l>>>0>357913941)Tt();else{d=Yt(l*12|0)|0;break}else d=0;while(!1);n[s>>2]=d,f=d+(c*12|0)|0,n[s+8>>2]=f,n[s+4>>2]=f,n[s+12>>2]=d+(l*12|0)}function Qbe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0;f=n[s>>2]|0,B=s+4|0,m=l+4|0,d=(n[B>>2]|0)-f|0,c=(n[m>>2]|0)+(((d|0)/-12|0)*12|0)|0,n[m>>2]=c,(d|0)>0?(xr(c|0,f|0,d|0)|0,f=m,c=n[m>>2]|0):f=m,m=n[s>>2]|0,n[s>>2]=c,n[f>>2]=m,m=l+8|0,d=n[B>>2]|0,n[B>>2]=n[m>>2],n[m>>2]=d,m=s+8|0,B=l+12|0,s=n[m>>2]|0,n[m>>2]=n[B>>2],n[B>>2]=s,n[l>>2]=n[f>>2]}function Fbe(s){s=s|0;var l=0,c=0,f=0;l=n[s+4>>2]|0,c=s+8|0,f=n[c>>2]|0,(f|0)!=(l|0)&&(n[c>>2]=f+(~(((f+-12-l|0)>>>0)/12|0)*12|0)),s=n[s>>2]|0,s|0&&yt(s)}function A9(s){s=s|0,Nbe(s)}function Rbe(s){s=s|0,Tbe(s+24|0)}function Tbe(s){s=s|0;var l=0,c=0,f=0;c=n[s>>2]|0,f=c,c|0&&(s=s+4|0,l=n[s>>2]|0,(l|0)!=(c|0)&&(n[s>>2]=l+(~(((l+-12-f|0)>>>0)/12|0)*12|0)),yt(c))}function Nbe(s){s=s|0;var l=0;l=Jr()|0,zr(s,2,7,l,Lbe()|0,0),n[s+24>>2]=0,n[s+28>>2]=0,n[s+32>>2]=0}function Lbe(){return 1276}function Obe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0;return c=C,C=C+16|0,f=c+8|0,d=c,m=Mbe(s)|0,s=n[m+4>>2]|0,n[d>>2]=n[m>>2],n[d+4>>2]=s,n[f>>2]=n[d>>2],n[f+4>>2]=n[d+4>>2],l=Ube(l,f)|0,C=c,l|0}function Mbe(s){return s=s|0,(n[(PR()|0)+24>>2]|0)+(s*12|0)|0}function Ube(s,l){s=s|0,l=l|0;var c=0,f=0,d=0;return d=C,C=C+16|0,f=d,c=n[l>>2]|0,l=n[l+4>>2]|0,s=s+(l>>1)|0,l&1&&(c=n[(n[s>>2]|0)+c>>2]|0),tf[c&31](f,s),f=f9(f)|0,C=d,f|0}function f9(s){s=s|0;var l=0,c=0,f=0,d=0;return d=C,C=C+32|0,l=d+12|0,c=d,f=cR(p9()|0)|0,f?(uR(l,f),AR(c,l),_be(s,c),s=fR(l)|0):s=Hbe(s)|0,C=d,s|0}function p9(){var s=0;return o[7736]|0||(Xbe(9640),pr(25,9640,U|0)|0,s=7736,n[s>>2]=1,n[s+4>>2]=0),9640}function _be(s,l){s=s|0,l=l|0,Wbe(l,s,s+8|0)|0}function Hbe(s){s=s|0;var l=0,c=0,f=0,d=0,m=0,B=0,k=0;return c=C,C=C+16|0,d=c+4|0,B=c,f=Za(8)|0,l=f,k=Yt(16)|0,n[k>>2]=n[s>>2],n[k+4>>2]=n[s+4>>2],n[k+8>>2]=n[s+8>>2],n[k+12>>2]=n[s+12>>2],m=l+4|0,n[m>>2]=k,s=Yt(8)|0,m=n[m>>2]|0,n[B>>2]=0,n[d>>2]=n[B>>2],SR(s,m,d),n[f>>2]=s,C=c,l|0}function SR(s,l,c){s=s|0,l=l|0,c=c|0,n[s>>2]=l,c=Yt(16)|0,n[c+4>>2]=0,n[c+8>>2]=0,n[c>>2]=1244,n[c+12>>2]=l,n[s+4>>2]=c}function qbe(s){s=s|0,im(s),yt(s)}function jbe(s){s=s|0,s=n[s+12>>2]|0,s|0&&yt(s)}function Gbe(s){s=s|0,yt(s)}function Wbe(s,l,c){return s=s|0,l=l|0,c=c|0,l=Ybe(n[s>>2]|0,l,c)|0,c=s+4|0,n[(n[c>>2]|0)+8>>2]=l,n[(n[c>>2]|0)+8>>2]|0}function Ybe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0;return f=C,C=C+16|0,d=f,$a(d),s=ys(s)|0,c=Kbe(s,n[l>>2]|0,+E[c>>3])|0,el(d),C=f,c|0}function Kbe(s,l,c){s=s|0,l=l|0,c=+c;var f=0;return f=jo(Vbe()|0)|0,l=Xd(l)|0,pc(0,f|0,s|0,l|0,+ +ma(c))|0}function Vbe(){var s=0;return o[7728]|0||(Jbe(9628),s=7728,n[s>>2]=1,n[s+4>>2]=0),9628}function Jbe(s){s=s|0,ao(s,zbe()|0,2)}function zbe(){return 1264}function Xbe(s){s=s|0,Sp(s)}function Zbe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,k=0;f=C,C=C+16|0,d=f+8|0,m=f,k=n[c>>2]|0,B=n[c+4>>2]|0,c=mn(l)|0,n[m>>2]=k,n[m+4>>2]=B,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],$be(s,c,d,1),C=f}function $be(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0,m=0,B=0,k=0,F=0,M=0,O=0;d=C,C=C+32|0,m=d+16|0,O=d+8|0,k=d,M=n[c>>2]|0,F=n[c+4>>2]|0,B=n[s>>2]|0,s=bR()|0,n[O>>2]=M,n[O+4>>2]=F,n[m>>2]=n[O>>2],n[m+4>>2]=n[O+4>>2],c=exe(m)|0,n[k>>2]=M,n[k+4>>2]=F,n[m>>2]=n[k>>2],n[m+4>>2]=n[k+4>>2],yn(B,l,s,c,txe(m,f)|0,f),C=d}function bR(){var s=0,l=0;if(o[7744]|0||(g9(9684),pr(37,9684,U|0)|0,l=7744,n[l>>2]=1,n[l+4>>2]=0),!(Lr(9684)|0)){s=9684,l=s+36|0;do n[s>>2]=0,s=s+4|0;while((s|0)<(l|0));g9(9684)}return 9684}function exe(s){return s=s|0,0}function txe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0,k=0,F=0,M=0,O=0,j=0;return O=C,C=C+32|0,d=O+24|0,B=O+16|0,k=O,F=O+8|0,m=n[s>>2]|0,f=n[s+4>>2]|0,n[k>>2]=m,n[k+4>>2]=f,j=bR()|0,M=j+24|0,s=dr(l,4)|0,n[F>>2]=s,l=j+28|0,c=n[l>>2]|0,c>>>0<(n[j+32>>2]|0)>>>0?(n[B>>2]=m,n[B+4>>2]=f,n[d>>2]=n[B>>2],n[d+4>>2]=n[B+4>>2],h9(c,d,s),s=(n[l>>2]|0)+12|0,n[l>>2]=s):(rxe(M,k,F),s=n[l>>2]|0),C=O,((s-(n[M>>2]|0)|0)/12|0)+-1|0}function h9(s,l,c){s=s|0,l=l|0,c=c|0;var f=0;f=n[l+4>>2]|0,n[s>>2]=n[l>>2],n[s+4>>2]=f,n[s+8>>2]=c}function rxe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,k=0,F=0,M=0,O=0,j=0,oe=0;if(M=C,C=C+48|0,f=M+32|0,B=M+24|0,k=M,F=s+4|0,d=(((n[F>>2]|0)-(n[s>>2]|0)|0)/12|0)+1|0,m=nxe(s)|0,m>>>0<d>>>0)Zr(s);else{O=n[s>>2]|0,oe=((n[s+8>>2]|0)-O|0)/12|0,j=oe<<1,ixe(k,oe>>>0<m>>>1>>>0?j>>>0<d>>>0?d:j:m,((n[F>>2]|0)-O|0)/12|0,s+8|0),F=k+8|0,m=n[F>>2]|0,d=n[l+4>>2]|0,c=n[c>>2]|0,n[B>>2]=n[l>>2],n[B+4>>2]=d,n[f>>2]=n[B>>2],n[f+4>>2]=n[B+4>>2],h9(m,f,c),n[F>>2]=(n[F>>2]|0)+12,sxe(s,k),oxe(k),C=M;return}}function nxe(s){return s=s|0,357913941}function ixe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0;n[s+12>>2]=0,n[s+16>>2]=f;do if(l)if(l>>>0>357913941)Tt();else{d=Yt(l*12|0)|0;break}else d=0;while(!1);n[s>>2]=d,f=d+(c*12|0)|0,n[s+8>>2]=f,n[s+4>>2]=f,n[s+12>>2]=d+(l*12|0)}function sxe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0;f=n[s>>2]|0,B=s+4|0,m=l+4|0,d=(n[B>>2]|0)-f|0,c=(n[m>>2]|0)+(((d|0)/-12|0)*12|0)|0,n[m>>2]=c,(d|0)>0?(xr(c|0,f|0,d|0)|0,f=m,c=n[m>>2]|0):f=m,m=n[s>>2]|0,n[s>>2]=c,n[f>>2]=m,m=l+8|0,d=n[B>>2]|0,n[B>>2]=n[m>>2],n[m>>2]=d,m=s+8|0,B=l+12|0,s=n[m>>2]|0,n[m>>2]=n[B>>2],n[B>>2]=s,n[l>>2]=n[f>>2]}function oxe(s){s=s|0;var l=0,c=0,f=0;l=n[s+4>>2]|0,c=s+8|0,f=n[c>>2]|0,(f|0)!=(l|0)&&(n[c>>2]=f+(~(((f+-12-l|0)>>>0)/12|0)*12|0)),s=n[s>>2]|0,s|0&&yt(s)}function g9(s){s=s|0,cxe(s)}function axe(s){s=s|0,lxe(s+24|0)}function lxe(s){s=s|0;var l=0,c=0,f=0;c=n[s>>2]|0,f=c,c|0&&(s=s+4|0,l=n[s>>2]|0,(l|0)!=(c|0)&&(n[s>>2]=l+(~(((l+-12-f|0)>>>0)/12|0)*12|0)),yt(c))}function cxe(s){s=s|0;var l=0;l=Jr()|0,zr(s,2,5,l,uxe()|0,1),n[s+24>>2]=0,n[s+28>>2]=0,n[s+32>>2]=0}function uxe(){return 1280}function Axe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0;return f=C,C=C+16|0,d=f+8|0,m=f,B=fxe(s)|0,s=n[B+4>>2]|0,n[m>>2]=n[B>>2],n[m+4>>2]=s,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],c=pxe(l,d,c)|0,C=f,c|0}function fxe(s){return s=s|0,(n[(bR()|0)+24>>2]|0)+(s*12|0)|0}function pxe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0;return B=C,C=C+32|0,d=B,m=B+16|0,f=n[l>>2]|0,l=n[l+4>>2]|0,s=s+(l>>1)|0,l&1&&(f=n[(n[s>>2]|0)+f>>2]|0),XA(m,c),m=ZA(m,c)|0,sw[f&15](d,s,m),m=f9(d)|0,C=B,m|0}function hxe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,k=0;f=C,C=C+16|0,d=f+8|0,m=f,k=n[c>>2]|0,B=n[c+4>>2]|0,c=mn(l)|0,n[m>>2]=k,n[m+4>>2]=B,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],gxe(s,c,d,1),C=f}function gxe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0,m=0,B=0,k=0,F=0,M=0,O=0;d=C,C=C+32|0,m=d+16|0,O=d+8|0,k=d,M=n[c>>2]|0,F=n[c+4>>2]|0,B=n[s>>2]|0,s=xR()|0,n[O>>2]=M,n[O+4>>2]=F,n[m>>2]=n[O>>2],n[m+4>>2]=n[O+4>>2],c=dxe(m)|0,n[k>>2]=M,n[k+4>>2]=F,n[m>>2]=n[k>>2],n[m+4>>2]=n[k+4>>2],yn(B,l,s,c,mxe(m,f)|0,f),C=d}function xR(){var s=0,l=0;if(o[7752]|0||(m9(9720),pr(38,9720,U|0)|0,l=7752,n[l>>2]=1,n[l+4>>2]=0),!(Lr(9720)|0)){s=9720,l=s+36|0;do n[s>>2]=0,s=s+4|0;while((s|0)<(l|0));m9(9720)}return 9720}function dxe(s){return s=s|0,0}function mxe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0,k=0,F=0,M=0,O=0,j=0;return O=C,C=C+32|0,d=O+24|0,B=O+16|0,k=O,F=O+8|0,m=n[s>>2]|0,f=n[s+4>>2]|0,n[k>>2]=m,n[k+4>>2]=f,j=xR()|0,M=j+24|0,s=dr(l,4)|0,n[F>>2]=s,l=j+28|0,c=n[l>>2]|0,c>>>0<(n[j+32>>2]|0)>>>0?(n[B>>2]=m,n[B+4>>2]=f,n[d>>2]=n[B>>2],n[d+4>>2]=n[B+4>>2],d9(c,d,s),s=(n[l>>2]|0)+12|0,n[l>>2]=s):(yxe(M,k,F),s=n[l>>2]|0),C=O,((s-(n[M>>2]|0)|0)/12|0)+-1|0}function d9(s,l,c){s=s|0,l=l|0,c=c|0;var f=0;f=n[l+4>>2]|0,n[s>>2]=n[l>>2],n[s+4>>2]=f,n[s+8>>2]=c}function yxe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,k=0,F=0,M=0,O=0,j=0,oe=0;if(M=C,C=C+48|0,f=M+32|0,B=M+24|0,k=M,F=s+4|0,d=(((n[F>>2]|0)-(n[s>>2]|0)|0)/12|0)+1|0,m=Exe(s)|0,m>>>0<d>>>0)Zr(s);else{O=n[s>>2]|0,oe=((n[s+8>>2]|0)-O|0)/12|0,j=oe<<1,Cxe(k,oe>>>0<m>>>1>>>0?j>>>0<d>>>0?d:j:m,((n[F>>2]|0)-O|0)/12|0,s+8|0),F=k+8|0,m=n[F>>2]|0,d=n[l+4>>2]|0,c=n[c>>2]|0,n[B>>2]=n[l>>2],n[B+4>>2]=d,n[f>>2]=n[B>>2],n[f+4>>2]=n[B+4>>2],d9(m,f,c),n[F>>2]=(n[F>>2]|0)+12,Ixe(s,k),wxe(k),C=M;return}}function Exe(s){return s=s|0,357913941}function Cxe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0;n[s+12>>2]=0,n[s+16>>2]=f;do if(l)if(l>>>0>357913941)Tt();else{d=Yt(l*12|0)|0;break}else d=0;while(!1);n[s>>2]=d,f=d+(c*12|0)|0,n[s+8>>2]=f,n[s+4>>2]=f,n[s+12>>2]=d+(l*12|0)}function Ixe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0;f=n[s>>2]|0,B=s+4|0,m=l+4|0,d=(n[B>>2]|0)-f|0,c=(n[m>>2]|0)+(((d|0)/-12|0)*12|0)|0,n[m>>2]=c,(d|0)>0?(xr(c|0,f|0,d|0)|0,f=m,c=n[m>>2]|0):f=m,m=n[s>>2]|0,n[s>>2]=c,n[f>>2]=m,m=l+8|0,d=n[B>>2]|0,n[B>>2]=n[m>>2],n[m>>2]=d,m=s+8|0,B=l+12|0,s=n[m>>2]|0,n[m>>2]=n[B>>2],n[B>>2]=s,n[l>>2]=n[f>>2]}function wxe(s){s=s|0;var l=0,c=0,f=0;l=n[s+4>>2]|0,c=s+8|0,f=n[c>>2]|0,(f|0)!=(l|0)&&(n[c>>2]=f+(~(((f+-12-l|0)>>>0)/12|0)*12|0)),s=n[s>>2]|0,s|0&&yt(s)}function m9(s){s=s|0,Dxe(s)}function Bxe(s){s=s|0,vxe(s+24|0)}function vxe(s){s=s|0;var l=0,c=0,f=0;c=n[s>>2]|0,f=c,c|0&&(s=s+4|0,l=n[s>>2]|0,(l|0)!=(c|0)&&(n[s>>2]=l+(~(((l+-12-f|0)>>>0)/12|0)*12|0)),yt(c))}function Dxe(s){s=s|0;var l=0;l=Jr()|0,zr(s,2,8,l,Pxe()|0,0),n[s+24>>2]=0,n[s+28>>2]=0,n[s+32>>2]=0}function Pxe(){return 1288}function Sxe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0;return c=C,C=C+16|0,f=c+8|0,d=c,m=bxe(s)|0,s=n[m+4>>2]|0,n[d>>2]=n[m>>2],n[d+4>>2]=s,n[f>>2]=n[d>>2],n[f+4>>2]=n[d+4>>2],l=xxe(l,f)|0,C=c,l|0}function bxe(s){return s=s|0,(n[(xR()|0)+24>>2]|0)+(s*12|0)|0}function xxe(s,l){s=s|0,l=l|0;var c=0;return c=n[l>>2]|0,l=n[l+4>>2]|0,s=s+(l>>1)|0,l&1&&(c=n[(n[s>>2]|0)+c>>2]|0),k0(_0[c&31](s)|0)|0}function kxe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,k=0;f=C,C=C+16|0,d=f+8|0,m=f,k=n[c>>2]|0,B=n[c+4>>2]|0,c=mn(l)|0,n[m>>2]=k,n[m+4>>2]=B,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],Qxe(s,c,d,0),C=f}function Qxe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0,m=0,B=0,k=0,F=0,M=0,O=0;d=C,C=C+32|0,m=d+16|0,O=d+8|0,k=d,M=n[c>>2]|0,F=n[c+4>>2]|0,B=n[s>>2]|0,s=kR()|0,n[O>>2]=M,n[O+4>>2]=F,n[m>>2]=n[O>>2],n[m+4>>2]=n[O+4>>2],c=Fxe(m)|0,n[k>>2]=M,n[k+4>>2]=F,n[m>>2]=n[k>>2],n[m+4>>2]=n[k+4>>2],yn(B,l,s,c,Rxe(m,f)|0,f),C=d}function kR(){var s=0,l=0;if(o[7760]|0||(E9(9756),pr(39,9756,U|0)|0,l=7760,n[l>>2]=1,n[l+4>>2]=0),!(Lr(9756)|0)){s=9756,l=s+36|0;do n[s>>2]=0,s=s+4|0;while((s|0)<(l|0));E9(9756)}return 9756}function Fxe(s){return s=s|0,0}function Rxe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0,k=0,F=0,M=0,O=0,j=0;return O=C,C=C+32|0,d=O+24|0,B=O+16|0,k=O,F=O+8|0,m=n[s>>2]|0,f=n[s+4>>2]|0,n[k>>2]=m,n[k+4>>2]=f,j=kR()|0,M=j+24|0,s=dr(l,4)|0,n[F>>2]=s,l=j+28|0,c=n[l>>2]|0,c>>>0<(n[j+32>>2]|0)>>>0?(n[B>>2]=m,n[B+4>>2]=f,n[d>>2]=n[B>>2],n[d+4>>2]=n[B+4>>2],y9(c,d,s),s=(n[l>>2]|0)+12|0,n[l>>2]=s):(Txe(M,k,F),s=n[l>>2]|0),C=O,((s-(n[M>>2]|0)|0)/12|0)+-1|0}function y9(s,l,c){s=s|0,l=l|0,c=c|0;var f=0;f=n[l+4>>2]|0,n[s>>2]=n[l>>2],n[s+4>>2]=f,n[s+8>>2]=c}function Txe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,k=0,F=0,M=0,O=0,j=0,oe=0;if(M=C,C=C+48|0,f=M+32|0,B=M+24|0,k=M,F=s+4|0,d=(((n[F>>2]|0)-(n[s>>2]|0)|0)/12|0)+1|0,m=Nxe(s)|0,m>>>0<d>>>0)Zr(s);else{O=n[s>>2]|0,oe=((n[s+8>>2]|0)-O|0)/12|0,j=oe<<1,Lxe(k,oe>>>0<m>>>1>>>0?j>>>0<d>>>0?d:j:m,((n[F>>2]|0)-O|0)/12|0,s+8|0),F=k+8|0,m=n[F>>2]|0,d=n[l+4>>2]|0,c=n[c>>2]|0,n[B>>2]=n[l>>2],n[B+4>>2]=d,n[f>>2]=n[B>>2],n[f+4>>2]=n[B+4>>2],y9(m,f,c),n[F>>2]=(n[F>>2]|0)+12,Oxe(s,k),Mxe(k),C=M;return}}function Nxe(s){return s=s|0,357913941}function Lxe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0;n[s+12>>2]=0,n[s+16>>2]=f;do if(l)if(l>>>0>357913941)Tt();else{d=Yt(l*12|0)|0;break}else d=0;while(!1);n[s>>2]=d,f=d+(c*12|0)|0,n[s+8>>2]=f,n[s+4>>2]=f,n[s+12>>2]=d+(l*12|0)}function Oxe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0;f=n[s>>2]|0,B=s+4|0,m=l+4|0,d=(n[B>>2]|0)-f|0,c=(n[m>>2]|0)+(((d|0)/-12|0)*12|0)|0,n[m>>2]=c,(d|0)>0?(xr(c|0,f|0,d|0)|0,f=m,c=n[m>>2]|0):f=m,m=n[s>>2]|0,n[s>>2]=c,n[f>>2]=m,m=l+8|0,d=n[B>>2]|0,n[B>>2]=n[m>>2],n[m>>2]=d,m=s+8|0,B=l+12|0,s=n[m>>2]|0,n[m>>2]=n[B>>2],n[B>>2]=s,n[l>>2]=n[f>>2]}function Mxe(s){s=s|0;var l=0,c=0,f=0;l=n[s+4>>2]|0,c=s+8|0,f=n[c>>2]|0,(f|0)!=(l|0)&&(n[c>>2]=f+(~(((f+-12-l|0)>>>0)/12|0)*12|0)),s=n[s>>2]|0,s|0&&yt(s)}function E9(s){s=s|0,Hxe(s)}function Uxe(s){s=s|0,_xe(s+24|0)}function _xe(s){s=s|0;var l=0,c=0,f=0;c=n[s>>2]|0,f=c,c|0&&(s=s+4|0,l=n[s>>2]|0,(l|0)!=(c|0)&&(n[s>>2]=l+(~(((l+-12-f|0)>>>0)/12|0)*12|0)),yt(c))}function Hxe(s){s=s|0;var l=0;l=Jr()|0,zr(s,2,8,l,qxe()|0,1),n[s+24>>2]=0,n[s+28>>2]=0,n[s+32>>2]=0}function qxe(){return 1292}function jxe(s,l,c){s=s|0,l=l|0,c=+c;var f=0,d=0,m=0,B=0;f=C,C=C+16|0,d=f+8|0,m=f,B=Gxe(s)|0,s=n[B+4>>2]|0,n[m>>2]=n[B>>2],n[m+4>>2]=s,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],Wxe(l,d,c),C=f}function Gxe(s){return s=s|0,(n[(kR()|0)+24>>2]|0)+(s*12|0)|0}function Wxe(s,l,c){s=s|0,l=l|0,c=+c;var f=0,d=0,m=0;m=C,C=C+16|0,d=m,f=n[l>>2]|0,l=n[l+4>>2]|0,s=s+(l>>1)|0,l&1&&(f=n[(n[s>>2]|0)+f>>2]|0),Tu(d,c),c=+Nu(d,c),eW[f&31](s,c),C=m}function Yxe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,k=0;f=C,C=C+16|0,d=f+8|0,m=f,k=n[c>>2]|0,B=n[c+4>>2]|0,c=mn(l)|0,n[m>>2]=k,n[m+4>>2]=B,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],Kxe(s,c,d,0),C=f}function Kxe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0,m=0,B=0,k=0,F=0,M=0,O=0;d=C,C=C+32|0,m=d+16|0,O=d+8|0,k=d,M=n[c>>2]|0,F=n[c+4>>2]|0,B=n[s>>2]|0,s=QR()|0,n[O>>2]=M,n[O+4>>2]=F,n[m>>2]=n[O>>2],n[m+4>>2]=n[O+4>>2],c=Vxe(m)|0,n[k>>2]=M,n[k+4>>2]=F,n[m>>2]=n[k>>2],n[m+4>>2]=n[k+4>>2],yn(B,l,s,c,Jxe(m,f)|0,f),C=d}function QR(){var s=0,l=0;if(o[7768]|0||(I9(9792),pr(40,9792,U|0)|0,l=7768,n[l>>2]=1,n[l+4>>2]=0),!(Lr(9792)|0)){s=9792,l=s+36|0;do n[s>>2]=0,s=s+4|0;while((s|0)<(l|0));I9(9792)}return 9792}function Vxe(s){return s=s|0,0}function Jxe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0,k=0,F=0,M=0,O=0,j=0;return O=C,C=C+32|0,d=O+24|0,B=O+16|0,k=O,F=O+8|0,m=n[s>>2]|0,f=n[s+4>>2]|0,n[k>>2]=m,n[k+4>>2]=f,j=QR()|0,M=j+24|0,s=dr(l,4)|0,n[F>>2]=s,l=j+28|0,c=n[l>>2]|0,c>>>0<(n[j+32>>2]|0)>>>0?(n[B>>2]=m,n[B+4>>2]=f,n[d>>2]=n[B>>2],n[d+4>>2]=n[B+4>>2],C9(c,d,s),s=(n[l>>2]|0)+12|0,n[l>>2]=s):(zxe(M,k,F),s=n[l>>2]|0),C=O,((s-(n[M>>2]|0)|0)/12|0)+-1|0}function C9(s,l,c){s=s|0,l=l|0,c=c|0;var f=0;f=n[l+4>>2]|0,n[s>>2]=n[l>>2],n[s+4>>2]=f,n[s+8>>2]=c}function zxe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,k=0,F=0,M=0,O=0,j=0,oe=0;if(M=C,C=C+48|0,f=M+32|0,B=M+24|0,k=M,F=s+4|0,d=(((n[F>>2]|0)-(n[s>>2]|0)|0)/12|0)+1|0,m=Xxe(s)|0,m>>>0<d>>>0)Zr(s);else{O=n[s>>2]|0,oe=((n[s+8>>2]|0)-O|0)/12|0,j=oe<<1,Zxe(k,oe>>>0<m>>>1>>>0?j>>>0<d>>>0?d:j:m,((n[F>>2]|0)-O|0)/12|0,s+8|0),F=k+8|0,m=n[F>>2]|0,d=n[l+4>>2]|0,c=n[c>>2]|0,n[B>>2]=n[l>>2],n[B+4>>2]=d,n[f>>2]=n[B>>2],n[f+4>>2]=n[B+4>>2],C9(m,f,c),n[F>>2]=(n[F>>2]|0)+12,$xe(s,k),eke(k),C=M;return}}function Xxe(s){return s=s|0,357913941}function Zxe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0;n[s+12>>2]=0,n[s+16>>2]=f;do if(l)if(l>>>0>357913941)Tt();else{d=Yt(l*12|0)|0;break}else d=0;while(!1);n[s>>2]=d,f=d+(c*12|0)|0,n[s+8>>2]=f,n[s+4>>2]=f,n[s+12>>2]=d+(l*12|0)}function $xe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0;f=n[s>>2]|0,B=s+4|0,m=l+4|0,d=(n[B>>2]|0)-f|0,c=(n[m>>2]|0)+(((d|0)/-12|0)*12|0)|0,n[m>>2]=c,(d|0)>0?(xr(c|0,f|0,d|0)|0,f=m,c=n[m>>2]|0):f=m,m=n[s>>2]|0,n[s>>2]=c,n[f>>2]=m,m=l+8|0,d=n[B>>2]|0,n[B>>2]=n[m>>2],n[m>>2]=d,m=s+8|0,B=l+12|0,s=n[m>>2]|0,n[m>>2]=n[B>>2],n[B>>2]=s,n[l>>2]=n[f>>2]}function eke(s){s=s|0;var l=0,c=0,f=0;l=n[s+4>>2]|0,c=s+8|0,f=n[c>>2]|0,(f|0)!=(l|0)&&(n[c>>2]=f+(~(((f+-12-l|0)>>>0)/12|0)*12|0)),s=n[s>>2]|0,s|0&&yt(s)}function I9(s){s=s|0,nke(s)}function tke(s){s=s|0,rke(s+24|0)}function rke(s){s=s|0;var l=0,c=0,f=0;c=n[s>>2]|0,f=c,c|0&&(s=s+4|0,l=n[s>>2]|0,(l|0)!=(c|0)&&(n[s>>2]=l+(~(((l+-12-f|0)>>>0)/12|0)*12|0)),yt(c))}function nke(s){s=s|0;var l=0;l=Jr()|0,zr(s,2,1,l,ike()|0,2),n[s+24>>2]=0,n[s+28>>2]=0,n[s+32>>2]=0}function ike(){return 1300}function ske(s,l,c,f){s=s|0,l=l|0,c=c|0,f=+f;var d=0,m=0,B=0,k=0;d=C,C=C+16|0,m=d+8|0,B=d,k=oke(s)|0,s=n[k+4>>2]|0,n[B>>2]=n[k>>2],n[B+4>>2]=s,n[m>>2]=n[B>>2],n[m+4>>2]=n[B+4>>2],ake(l,m,c,f),C=d}function oke(s){return s=s|0,(n[(QR()|0)+24>>2]|0)+(s*12|0)|0}function ake(s,l,c,f){s=s|0,l=l|0,c=c|0,f=+f;var d=0,m=0,B=0,k=0;k=C,C=C+16|0,m=k+1|0,B=k,d=n[l>>2]|0,l=n[l+4>>2]|0,s=s+(l>>1)|0,l&1&&(d=n[(n[s>>2]|0)+d>>2]|0),XA(m,c),m=ZA(m,c)|0,Tu(B,f),f=+Nu(B,f),lW[d&15](s,m,f),C=k}function lke(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,k=0;f=C,C=C+16|0,d=f+8|0,m=f,k=n[c>>2]|0,B=n[c+4>>2]|0,c=mn(l)|0,n[m>>2]=k,n[m+4>>2]=B,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],cke(s,c,d,0),C=f}function cke(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0,m=0,B=0,k=0,F=0,M=0,O=0;d=C,C=C+32|0,m=d+16|0,O=d+8|0,k=d,M=n[c>>2]|0,F=n[c+4>>2]|0,B=n[s>>2]|0,s=FR()|0,n[O>>2]=M,n[O+4>>2]=F,n[m>>2]=n[O>>2],n[m+4>>2]=n[O+4>>2],c=uke(m)|0,n[k>>2]=M,n[k+4>>2]=F,n[m>>2]=n[k>>2],n[m+4>>2]=n[k+4>>2],yn(B,l,s,c,Ake(m,f)|0,f),C=d}function FR(){var s=0,l=0;if(o[7776]|0||(B9(9828),pr(41,9828,U|0)|0,l=7776,n[l>>2]=1,n[l+4>>2]=0),!(Lr(9828)|0)){s=9828,l=s+36|0;do n[s>>2]=0,s=s+4|0;while((s|0)<(l|0));B9(9828)}return 9828}function uke(s){return s=s|0,0}function Ake(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0,k=0,F=0,M=0,O=0,j=0;return O=C,C=C+32|0,d=O+24|0,B=O+16|0,k=O,F=O+8|0,m=n[s>>2]|0,f=n[s+4>>2]|0,n[k>>2]=m,n[k+4>>2]=f,j=FR()|0,M=j+24|0,s=dr(l,4)|0,n[F>>2]=s,l=j+28|0,c=n[l>>2]|0,c>>>0<(n[j+32>>2]|0)>>>0?(n[B>>2]=m,n[B+4>>2]=f,n[d>>2]=n[B>>2],n[d+4>>2]=n[B+4>>2],w9(c,d,s),s=(n[l>>2]|0)+12|0,n[l>>2]=s):(fke(M,k,F),s=n[l>>2]|0),C=O,((s-(n[M>>2]|0)|0)/12|0)+-1|0}function w9(s,l,c){s=s|0,l=l|0,c=c|0;var f=0;f=n[l+4>>2]|0,n[s>>2]=n[l>>2],n[s+4>>2]=f,n[s+8>>2]=c}function fke(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,k=0,F=0,M=0,O=0,j=0,oe=0;if(M=C,C=C+48|0,f=M+32|0,B=M+24|0,k=M,F=s+4|0,d=(((n[F>>2]|0)-(n[s>>2]|0)|0)/12|0)+1|0,m=pke(s)|0,m>>>0<d>>>0)Zr(s);else{O=n[s>>2]|0,oe=((n[s+8>>2]|0)-O|0)/12|0,j=oe<<1,hke(k,oe>>>0<m>>>1>>>0?j>>>0<d>>>0?d:j:m,((n[F>>2]|0)-O|0)/12|0,s+8|0),F=k+8|0,m=n[F>>2]|0,d=n[l+4>>2]|0,c=n[c>>2]|0,n[B>>2]=n[l>>2],n[B+4>>2]=d,n[f>>2]=n[B>>2],n[f+4>>2]=n[B+4>>2],w9(m,f,c),n[F>>2]=(n[F>>2]|0)+12,gke(s,k),dke(k),C=M;return}}function pke(s){return s=s|0,357913941}function hke(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0;n[s+12>>2]=0,n[s+16>>2]=f;do if(l)if(l>>>0>357913941)Tt();else{d=Yt(l*12|0)|0;break}else d=0;while(!1);n[s>>2]=d,f=d+(c*12|0)|0,n[s+8>>2]=f,n[s+4>>2]=f,n[s+12>>2]=d+(l*12|0)}function gke(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0;f=n[s>>2]|0,B=s+4|0,m=l+4|0,d=(n[B>>2]|0)-f|0,c=(n[m>>2]|0)+(((d|0)/-12|0)*12|0)|0,n[m>>2]=c,(d|0)>0?(xr(c|0,f|0,d|0)|0,f=m,c=n[m>>2]|0):f=m,m=n[s>>2]|0,n[s>>2]=c,n[f>>2]=m,m=l+8|0,d=n[B>>2]|0,n[B>>2]=n[m>>2],n[m>>2]=d,m=s+8|0,B=l+12|0,s=n[m>>2]|0,n[m>>2]=n[B>>2],n[B>>2]=s,n[l>>2]=n[f>>2]}function dke(s){s=s|0;var l=0,c=0,f=0;l=n[s+4>>2]|0,c=s+8|0,f=n[c>>2]|0,(f|0)!=(l|0)&&(n[c>>2]=f+(~(((f+-12-l|0)>>>0)/12|0)*12|0)),s=n[s>>2]|0,s|0&&yt(s)}function B9(s){s=s|0,Eke(s)}function mke(s){s=s|0,yke(s+24|0)}function yke(s){s=s|0;var l=0,c=0,f=0;c=n[s>>2]|0,f=c,c|0&&(s=s+4|0,l=n[s>>2]|0,(l|0)!=(c|0)&&(n[s>>2]=l+(~(((l+-12-f|0)>>>0)/12|0)*12|0)),yt(c))}function Eke(s){s=s|0;var l=0;l=Jr()|0,zr(s,2,7,l,Cke()|0,1),n[s+24>>2]=0,n[s+28>>2]=0,n[s+32>>2]=0}function Cke(){return 1312}function Ike(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0;f=C,C=C+16|0,d=f+8|0,m=f,B=wke(s)|0,s=n[B+4>>2]|0,n[m>>2]=n[B>>2],n[m+4>>2]=s,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],Bke(l,d,c),C=f}function wke(s){return s=s|0,(n[(FR()|0)+24>>2]|0)+(s*12|0)|0}function Bke(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0;m=C,C=C+16|0,d=m,f=n[l>>2]|0,l=n[l+4>>2]|0,s=s+(l>>1)|0,l&1&&(f=n[(n[s>>2]|0)+f>>2]|0),XA(d,c),d=ZA(d,c)|0,tf[f&31](s,d),C=m}function vke(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,k=0;f=C,C=C+16|0,d=f+8|0,m=f,k=n[c>>2]|0,B=n[c+4>>2]|0,c=mn(l)|0,n[m>>2]=k,n[m+4>>2]=B,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],Dke(s,c,d,0),C=f}function Dke(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0,m=0,B=0,k=0,F=0,M=0,O=0;d=C,C=C+32|0,m=d+16|0,O=d+8|0,k=d,M=n[c>>2]|0,F=n[c+4>>2]|0,B=n[s>>2]|0,s=RR()|0,n[O>>2]=M,n[O+4>>2]=F,n[m>>2]=n[O>>2],n[m+4>>2]=n[O+4>>2],c=Pke(m)|0,n[k>>2]=M,n[k+4>>2]=F,n[m>>2]=n[k>>2],n[m+4>>2]=n[k+4>>2],yn(B,l,s,c,Ske(m,f)|0,f),C=d}function RR(){var s=0,l=0;if(o[7784]|0||(D9(9864),pr(42,9864,U|0)|0,l=7784,n[l>>2]=1,n[l+4>>2]=0),!(Lr(9864)|0)){s=9864,l=s+36|0;do n[s>>2]=0,s=s+4|0;while((s|0)<(l|0));D9(9864)}return 9864}function Pke(s){return s=s|0,0}function Ske(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0,k=0,F=0,M=0,O=0,j=0;return O=C,C=C+32|0,d=O+24|0,B=O+16|0,k=O,F=O+8|0,m=n[s>>2]|0,f=n[s+4>>2]|0,n[k>>2]=m,n[k+4>>2]=f,j=RR()|0,M=j+24|0,s=dr(l,4)|0,n[F>>2]=s,l=j+28|0,c=n[l>>2]|0,c>>>0<(n[j+32>>2]|0)>>>0?(n[B>>2]=m,n[B+4>>2]=f,n[d>>2]=n[B>>2],n[d+4>>2]=n[B+4>>2],v9(c,d,s),s=(n[l>>2]|0)+12|0,n[l>>2]=s):(bke(M,k,F),s=n[l>>2]|0),C=O,((s-(n[M>>2]|0)|0)/12|0)+-1|0}function v9(s,l,c){s=s|0,l=l|0,c=c|0;var f=0;f=n[l+4>>2]|0,n[s>>2]=n[l>>2],n[s+4>>2]=f,n[s+8>>2]=c}function bke(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,k=0,F=0,M=0,O=0,j=0,oe=0;if(M=C,C=C+48|0,f=M+32|0,B=M+24|0,k=M,F=s+4|0,d=(((n[F>>2]|0)-(n[s>>2]|0)|0)/12|0)+1|0,m=xke(s)|0,m>>>0<d>>>0)Zr(s);else{O=n[s>>2]|0,oe=((n[s+8>>2]|0)-O|0)/12|0,j=oe<<1,kke(k,oe>>>0<m>>>1>>>0?j>>>0<d>>>0?d:j:m,((n[F>>2]|0)-O|0)/12|0,s+8|0),F=k+8|0,m=n[F>>2]|0,d=n[l+4>>2]|0,c=n[c>>2]|0,n[B>>2]=n[l>>2],n[B+4>>2]=d,n[f>>2]=n[B>>2],n[f+4>>2]=n[B+4>>2],v9(m,f,c),n[F>>2]=(n[F>>2]|0)+12,Qke(s,k),Fke(k),C=M;return}}function xke(s){return s=s|0,357913941}function kke(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0;n[s+12>>2]=0,n[s+16>>2]=f;do if(l)if(l>>>0>357913941)Tt();else{d=Yt(l*12|0)|0;break}else d=0;while(!1);n[s>>2]=d,f=d+(c*12|0)|0,n[s+8>>2]=f,n[s+4>>2]=f,n[s+12>>2]=d+(l*12|0)}function Qke(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0;f=n[s>>2]|0,B=s+4|0,m=l+4|0,d=(n[B>>2]|0)-f|0,c=(n[m>>2]|0)+(((d|0)/-12|0)*12|0)|0,n[m>>2]=c,(d|0)>0?(xr(c|0,f|0,d|0)|0,f=m,c=n[m>>2]|0):f=m,m=n[s>>2]|0,n[s>>2]=c,n[f>>2]=m,m=l+8|0,d=n[B>>2]|0,n[B>>2]=n[m>>2],n[m>>2]=d,m=s+8|0,B=l+12|0,s=n[m>>2]|0,n[m>>2]=n[B>>2],n[B>>2]=s,n[l>>2]=n[f>>2]}function Fke(s){s=s|0;var l=0,c=0,f=0;l=n[s+4>>2]|0,c=s+8|0,f=n[c>>2]|0,(f|0)!=(l|0)&&(n[c>>2]=f+(~(((f+-12-l|0)>>>0)/12|0)*12|0)),s=n[s>>2]|0,s|0&&yt(s)}function D9(s){s=s|0,Nke(s)}function Rke(s){s=s|0,Tke(s+24|0)}function Tke(s){s=s|0;var l=0,c=0,f=0;c=n[s>>2]|0,f=c,c|0&&(s=s+4|0,l=n[s>>2]|0,(l|0)!=(c|0)&&(n[s>>2]=l+(~(((l+-12-f|0)>>>0)/12|0)*12|0)),yt(c))}function Nke(s){s=s|0;var l=0;l=Jr()|0,zr(s,2,8,l,Lke()|0,1),n[s+24>>2]=0,n[s+28>>2]=0,n[s+32>>2]=0}function Lke(){return 1320}function Oke(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0;f=C,C=C+16|0,d=f+8|0,m=f,B=Mke(s)|0,s=n[B+4>>2]|0,n[m>>2]=n[B>>2],n[m+4>>2]=s,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],Uke(l,d,c),C=f}function Mke(s){return s=s|0,(n[(RR()|0)+24>>2]|0)+(s*12|0)|0}function Uke(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0;m=C,C=C+16|0,d=m,f=n[l>>2]|0,l=n[l+4>>2]|0,s=s+(l>>1)|0,l&1&&(f=n[(n[s>>2]|0)+f>>2]|0),_ke(d,c),d=Hke(d,c)|0,tf[f&31](s,d),C=m}function _ke(s,l){s=s|0,l=l|0}function Hke(s,l){return s=s|0,l=l|0,qke(l)|0}function qke(s){return s=s|0,s|0}function jke(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,k=0;f=C,C=C+16|0,d=f+8|0,m=f,k=n[c>>2]|0,B=n[c+4>>2]|0,c=mn(l)|0,n[m>>2]=k,n[m+4>>2]=B,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],Gke(s,c,d,0),C=f}function Gke(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0,m=0,B=0,k=0,F=0,M=0,O=0;d=C,C=C+32|0,m=d+16|0,O=d+8|0,k=d,M=n[c>>2]|0,F=n[c+4>>2]|0,B=n[s>>2]|0,s=TR()|0,n[O>>2]=M,n[O+4>>2]=F,n[m>>2]=n[O>>2],n[m+4>>2]=n[O+4>>2],c=Wke(m)|0,n[k>>2]=M,n[k+4>>2]=F,n[m>>2]=n[k>>2],n[m+4>>2]=n[k+4>>2],yn(B,l,s,c,Yke(m,f)|0,f),C=d}function TR(){var s=0,l=0;if(o[7792]|0||(S9(9900),pr(43,9900,U|0)|0,l=7792,n[l>>2]=1,n[l+4>>2]=0),!(Lr(9900)|0)){s=9900,l=s+36|0;do n[s>>2]=0,s=s+4|0;while((s|0)<(l|0));S9(9900)}return 9900}function Wke(s){return s=s|0,0}function Yke(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0,k=0,F=0,M=0,O=0,j=0;return O=C,C=C+32|0,d=O+24|0,B=O+16|0,k=O,F=O+8|0,m=n[s>>2]|0,f=n[s+4>>2]|0,n[k>>2]=m,n[k+4>>2]=f,j=TR()|0,M=j+24|0,s=dr(l,4)|0,n[F>>2]=s,l=j+28|0,c=n[l>>2]|0,c>>>0<(n[j+32>>2]|0)>>>0?(n[B>>2]=m,n[B+4>>2]=f,n[d>>2]=n[B>>2],n[d+4>>2]=n[B+4>>2],P9(c,d,s),s=(n[l>>2]|0)+12|0,n[l>>2]=s):(Kke(M,k,F),s=n[l>>2]|0),C=O,((s-(n[M>>2]|0)|0)/12|0)+-1|0}function P9(s,l,c){s=s|0,l=l|0,c=c|0;var f=0;f=n[l+4>>2]|0,n[s>>2]=n[l>>2],n[s+4>>2]=f,n[s+8>>2]=c}function Kke(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,k=0,F=0,M=0,O=0,j=0,oe=0;if(M=C,C=C+48|0,f=M+32|0,B=M+24|0,k=M,F=s+4|0,d=(((n[F>>2]|0)-(n[s>>2]|0)|0)/12|0)+1|0,m=Vke(s)|0,m>>>0<d>>>0)Zr(s);else{O=n[s>>2]|0,oe=((n[s+8>>2]|0)-O|0)/12|0,j=oe<<1,Jke(k,oe>>>0<m>>>1>>>0?j>>>0<d>>>0?d:j:m,((n[F>>2]|0)-O|0)/12|0,s+8|0),F=k+8|0,m=n[F>>2]|0,d=n[l+4>>2]|0,c=n[c>>2]|0,n[B>>2]=n[l>>2],n[B+4>>2]=d,n[f>>2]=n[B>>2],n[f+4>>2]=n[B+4>>2],P9(m,f,c),n[F>>2]=(n[F>>2]|0)+12,zke(s,k),Xke(k),C=M;return}}function Vke(s){return s=s|0,357913941}function Jke(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0;n[s+12>>2]=0,n[s+16>>2]=f;do if(l)if(l>>>0>357913941)Tt();else{d=Yt(l*12|0)|0;break}else d=0;while(!1);n[s>>2]=d,f=d+(c*12|0)|0,n[s+8>>2]=f,n[s+4>>2]=f,n[s+12>>2]=d+(l*12|0)}function zke(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0;f=n[s>>2]|0,B=s+4|0,m=l+4|0,d=(n[B>>2]|0)-f|0,c=(n[m>>2]|0)+(((d|0)/-12|0)*12|0)|0,n[m>>2]=c,(d|0)>0?(xr(c|0,f|0,d|0)|0,f=m,c=n[m>>2]|0):f=m,m=n[s>>2]|0,n[s>>2]=c,n[f>>2]=m,m=l+8|0,d=n[B>>2]|0,n[B>>2]=n[m>>2],n[m>>2]=d,m=s+8|0,B=l+12|0,s=n[m>>2]|0,n[m>>2]=n[B>>2],n[B>>2]=s,n[l>>2]=n[f>>2]}function Xke(s){s=s|0;var l=0,c=0,f=0;l=n[s+4>>2]|0,c=s+8|0,f=n[c>>2]|0,(f|0)!=(l|0)&&(n[c>>2]=f+(~(((f+-12-l|0)>>>0)/12|0)*12|0)),s=n[s>>2]|0,s|0&&yt(s)}function S9(s){s=s|0,eQe(s)}function Zke(s){s=s|0,$ke(s+24|0)}function $ke(s){s=s|0;var l=0,c=0,f=0;c=n[s>>2]|0,f=c,c|0&&(s=s+4|0,l=n[s>>2]|0,(l|0)!=(c|0)&&(n[s>>2]=l+(~(((l+-12-f|0)>>>0)/12|0)*12|0)),yt(c))}function eQe(s){s=s|0;var l=0;l=Jr()|0,zr(s,2,22,l,tQe()|0,0),n[s+24>>2]=0,n[s+28>>2]=0,n[s+32>>2]=0}function tQe(){return 1344}function rQe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0;c=C,C=C+16|0,f=c+8|0,d=c,m=nQe(s)|0,s=n[m+4>>2]|0,n[d>>2]=n[m>>2],n[d+4>>2]=s,n[f>>2]=n[d>>2],n[f+4>>2]=n[d+4>>2],iQe(l,f),C=c}function nQe(s){return s=s|0,(n[(TR()|0)+24>>2]|0)+(s*12|0)|0}function iQe(s,l){s=s|0,l=l|0;var c=0;c=n[l>>2]|0,l=n[l+4>>2]|0,s=s+(l>>1)|0,l&1&&(c=n[(n[s>>2]|0)+c>>2]|0),ef[c&127](s)}function sQe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0,m=0;m=n[s>>2]|0,d=NR()|0,s=oQe(c)|0,yn(m,l,d,s,aQe(c,f)|0,f)}function NR(){var s=0,l=0;if(o[7800]|0||(x9(9936),pr(44,9936,U|0)|0,l=7800,n[l>>2]=1,n[l+4>>2]=0),!(Lr(9936)|0)){s=9936,l=s+36|0;do n[s>>2]=0,s=s+4|0;while((s|0)<(l|0));x9(9936)}return 9936}function oQe(s){return s=s|0,s|0}function aQe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0,k=0,F=0;return k=C,C=C+16|0,d=k,m=k+4|0,n[d>>2]=s,F=NR()|0,B=F+24|0,l=dr(l,4)|0,n[m>>2]=l,c=F+28|0,f=n[c>>2]|0,f>>>0<(n[F+32>>2]|0)>>>0?(b9(f,s,l),l=(n[c>>2]|0)+8|0,n[c>>2]=l):(lQe(B,d,m),l=n[c>>2]|0),C=k,(l-(n[B>>2]|0)>>3)+-1|0}function b9(s,l,c){s=s|0,l=l|0,c=c|0,n[s>>2]=l,n[s+4>>2]=c}function lQe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,k=0,F=0,M=0,O=0;if(k=C,C=C+32|0,d=k,m=s+4|0,B=((n[m>>2]|0)-(n[s>>2]|0)>>3)+1|0,f=cQe(s)|0,f>>>0<B>>>0)Zr(s);else{F=n[s>>2]|0,O=(n[s+8>>2]|0)-F|0,M=O>>2,uQe(d,O>>3>>>0<f>>>1>>>0?M>>>0<B>>>0?B:M:f,(n[m>>2]|0)-F>>3,s+8|0),B=d+8|0,b9(n[B>>2]|0,n[l>>2]|0,n[c>>2]|0),n[B>>2]=(n[B>>2]|0)+8,AQe(s,d),fQe(d),C=k;return}}function cQe(s){return s=s|0,536870911}function uQe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0;n[s+12>>2]=0,n[s+16>>2]=f;do if(l)if(l>>>0>536870911)Tt();else{d=Yt(l<<3)|0;break}else d=0;while(!1);n[s>>2]=d,f=d+(c<<3)|0,n[s+8>>2]=f,n[s+4>>2]=f,n[s+12>>2]=d+(l<<3)}function AQe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0;f=n[s>>2]|0,B=s+4|0,m=l+4|0,d=(n[B>>2]|0)-f|0,c=(n[m>>2]|0)+(0-(d>>3)<<3)|0,n[m>>2]=c,(d|0)>0?(xr(c|0,f|0,d|0)|0,f=m,c=n[m>>2]|0):f=m,m=n[s>>2]|0,n[s>>2]=c,n[f>>2]=m,m=l+8|0,d=n[B>>2]|0,n[B>>2]=n[m>>2],n[m>>2]=d,m=s+8|0,B=l+12|0,s=n[m>>2]|0,n[m>>2]=n[B>>2],n[B>>2]=s,n[l>>2]=n[f>>2]}function fQe(s){s=s|0;var l=0,c=0,f=0;l=n[s+4>>2]|0,c=s+8|0,f=n[c>>2]|0,(f|0)!=(l|0)&&(n[c>>2]=f+(~((f+-8-l|0)>>>3)<<3)),s=n[s>>2]|0,s|0&&yt(s)}function x9(s){s=s|0,gQe(s)}function pQe(s){s=s|0,hQe(s+24|0)}function hQe(s){s=s|0;var l=0,c=0,f=0;c=n[s>>2]|0,f=c,c|0&&(s=s+4|0,l=n[s>>2]|0,(l|0)!=(c|0)&&(n[s>>2]=l+(~((l+-8-f|0)>>>3)<<3)),yt(c))}function gQe(s){s=s|0;var l=0;l=Jr()|0,zr(s,1,23,l,n9()|0,1),n[s+24>>2]=0,n[s+28>>2]=0,n[s+32>>2]=0}function dQe(s,l){s=s|0,l=l|0,yQe(n[(mQe(s)|0)>>2]|0,l)}function mQe(s){return s=s|0,(n[(NR()|0)+24>>2]|0)+(s<<3)|0}function yQe(s,l){s=s|0,l=l|0;var c=0,f=0;c=C,C=C+16|0,f=c,IR(f,l),l=wR(f,l)|0,ef[s&127](l),C=c}function EQe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0,m=0;m=n[s>>2]|0,d=LR()|0,s=CQe(c)|0,yn(m,l,d,s,IQe(c,f)|0,f)}function LR(){var s=0,l=0;if(o[7808]|0||(Q9(9972),pr(45,9972,U|0)|0,l=7808,n[l>>2]=1,n[l+4>>2]=0),!(Lr(9972)|0)){s=9972,l=s+36|0;do n[s>>2]=0,s=s+4|0;while((s|0)<(l|0));Q9(9972)}return 9972}function CQe(s){return s=s|0,s|0}function IQe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0,k=0,F=0;return k=C,C=C+16|0,d=k,m=k+4|0,n[d>>2]=s,F=LR()|0,B=F+24|0,l=dr(l,4)|0,n[m>>2]=l,c=F+28|0,f=n[c>>2]|0,f>>>0<(n[F+32>>2]|0)>>>0?(k9(f,s,l),l=(n[c>>2]|0)+8|0,n[c>>2]=l):(wQe(B,d,m),l=n[c>>2]|0),C=k,(l-(n[B>>2]|0)>>3)+-1|0}function k9(s,l,c){s=s|0,l=l|0,c=c|0,n[s>>2]=l,n[s+4>>2]=c}function wQe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,k=0,F=0,M=0,O=0;if(k=C,C=C+32|0,d=k,m=s+4|0,B=((n[m>>2]|0)-(n[s>>2]|0)>>3)+1|0,f=BQe(s)|0,f>>>0<B>>>0)Zr(s);else{F=n[s>>2]|0,O=(n[s+8>>2]|0)-F|0,M=O>>2,vQe(d,O>>3>>>0<f>>>1>>>0?M>>>0<B>>>0?B:M:f,(n[m>>2]|0)-F>>3,s+8|0),B=d+8|0,k9(n[B>>2]|0,n[l>>2]|0,n[c>>2]|0),n[B>>2]=(n[B>>2]|0)+8,DQe(s,d),PQe(d),C=k;return}}function BQe(s){return s=s|0,536870911}function vQe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0;n[s+12>>2]=0,n[s+16>>2]=f;do if(l)if(l>>>0>536870911)Tt();else{d=Yt(l<<3)|0;break}else d=0;while(!1);n[s>>2]=d,f=d+(c<<3)|0,n[s+8>>2]=f,n[s+4>>2]=f,n[s+12>>2]=d+(l<<3)}function DQe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0;f=n[s>>2]|0,B=s+4|0,m=l+4|0,d=(n[B>>2]|0)-f|0,c=(n[m>>2]|0)+(0-(d>>3)<<3)|0,n[m>>2]=c,(d|0)>0?(xr(c|0,f|0,d|0)|0,f=m,c=n[m>>2]|0):f=m,m=n[s>>2]|0,n[s>>2]=c,n[f>>2]=m,m=l+8|0,d=n[B>>2]|0,n[B>>2]=n[m>>2],n[m>>2]=d,m=s+8|0,B=l+12|0,s=n[m>>2]|0,n[m>>2]=n[B>>2],n[B>>2]=s,n[l>>2]=n[f>>2]}function PQe(s){s=s|0;var l=0,c=0,f=0;l=n[s+4>>2]|0,c=s+8|0,f=n[c>>2]|0,(f|0)!=(l|0)&&(n[c>>2]=f+(~((f+-8-l|0)>>>3)<<3)),s=n[s>>2]|0,s|0&&yt(s)}function Q9(s){s=s|0,xQe(s)}function SQe(s){s=s|0,bQe(s+24|0)}function bQe(s){s=s|0;var l=0,c=0,f=0;c=n[s>>2]|0,f=c,c|0&&(s=s+4|0,l=n[s>>2]|0,(l|0)!=(c|0)&&(n[s>>2]=l+(~((l+-8-f|0)>>>3)<<3)),yt(c))}function xQe(s){s=s|0;var l=0;l=Jr()|0,zr(s,1,9,l,kQe()|0,1),n[s+24>>2]=0,n[s+28>>2]=0,n[s+32>>2]=0}function kQe(){return 1348}function QQe(s,l){return s=s|0,l=l|0,RQe(n[(FQe(s)|0)>>2]|0,l)|0}function FQe(s){return s=s|0,(n[(LR()|0)+24>>2]|0)+(s<<3)|0}function RQe(s,l){s=s|0,l=l|0;var c=0,f=0;return c=C,C=C+16|0,f=c,F9(f,l),l=R9(f,l)|0,l=FD(_0[s&31](l)|0)|0,C=c,l|0}function F9(s,l){s=s|0,l=l|0}function R9(s,l){return s=s|0,l=l|0,TQe(l)|0}function TQe(s){return s=s|0,s|0}function NQe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0,m=0;m=n[s>>2]|0,d=OR()|0,s=LQe(c)|0,yn(m,l,d,s,OQe(c,f)|0,f)}function OR(){var s=0,l=0;if(o[7816]|0||(N9(10008),pr(46,10008,U|0)|0,l=7816,n[l>>2]=1,n[l+4>>2]=0),!(Lr(10008)|0)){s=10008,l=s+36|0;do n[s>>2]=0,s=s+4|0;while((s|0)<(l|0));N9(10008)}return 10008}function LQe(s){return s=s|0,s|0}function OQe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0,k=0,F=0;return k=C,C=C+16|0,d=k,m=k+4|0,n[d>>2]=s,F=OR()|0,B=F+24|0,l=dr(l,4)|0,n[m>>2]=l,c=F+28|0,f=n[c>>2]|0,f>>>0<(n[F+32>>2]|0)>>>0?(T9(f,s,l),l=(n[c>>2]|0)+8|0,n[c>>2]=l):(MQe(B,d,m),l=n[c>>2]|0),C=k,(l-(n[B>>2]|0)>>3)+-1|0}function T9(s,l,c){s=s|0,l=l|0,c=c|0,n[s>>2]=l,n[s+4>>2]=c}function MQe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,k=0,F=0,M=0,O=0;if(k=C,C=C+32|0,d=k,m=s+4|0,B=((n[m>>2]|0)-(n[s>>2]|0)>>3)+1|0,f=UQe(s)|0,f>>>0<B>>>0)Zr(s);else{F=n[s>>2]|0,O=(n[s+8>>2]|0)-F|0,M=O>>2,_Qe(d,O>>3>>>0<f>>>1>>>0?M>>>0<B>>>0?B:M:f,(n[m>>2]|0)-F>>3,s+8|0),B=d+8|0,T9(n[B>>2]|0,n[l>>2]|0,n[c>>2]|0),n[B>>2]=(n[B>>2]|0)+8,HQe(s,d),qQe(d),C=k;return}}function UQe(s){return s=s|0,536870911}function _Qe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0;n[s+12>>2]=0,n[s+16>>2]=f;do if(l)if(l>>>0>536870911)Tt();else{d=Yt(l<<3)|0;break}else d=0;while(!1);n[s>>2]=d,f=d+(c<<3)|0,n[s+8>>2]=f,n[s+4>>2]=f,n[s+12>>2]=d+(l<<3)}function HQe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0;f=n[s>>2]|0,B=s+4|0,m=l+4|0,d=(n[B>>2]|0)-f|0,c=(n[m>>2]|0)+(0-(d>>3)<<3)|0,n[m>>2]=c,(d|0)>0?(xr(c|0,f|0,d|0)|0,f=m,c=n[m>>2]|0):f=m,m=n[s>>2]|0,n[s>>2]=c,n[f>>2]=m,m=l+8|0,d=n[B>>2]|0,n[B>>2]=n[m>>2],n[m>>2]=d,m=s+8|0,B=l+12|0,s=n[m>>2]|0,n[m>>2]=n[B>>2],n[B>>2]=s,n[l>>2]=n[f>>2]}function qQe(s){s=s|0;var l=0,c=0,f=0;l=n[s+4>>2]|0,c=s+8|0,f=n[c>>2]|0,(f|0)!=(l|0)&&(n[c>>2]=f+(~((f+-8-l|0)>>>3)<<3)),s=n[s>>2]|0,s|0&&yt(s)}function N9(s){s=s|0,WQe(s)}function jQe(s){s=s|0,GQe(s+24|0)}function GQe(s){s=s|0;var l=0,c=0,f=0;c=n[s>>2]|0,f=c,c|0&&(s=s+4|0,l=n[s>>2]|0,(l|0)!=(c|0)&&(n[s>>2]=l+(~((l+-8-f|0)>>>3)<<3)),yt(c))}function WQe(s){s=s|0;var l=0;l=Jr()|0,zr(s,1,15,l,XG()|0,0),n[s+24>>2]=0,n[s+28>>2]=0,n[s+32>>2]=0}function YQe(s){return s=s|0,VQe(n[(KQe(s)|0)>>2]|0)|0}function KQe(s){return s=s|0,(n[(OR()|0)+24>>2]|0)+(s<<3)|0}function VQe(s){return s=s|0,FD(KD[s&7]()|0)|0}function JQe(){var s=0;return o[7832]|0||(nFe(10052),pr(25,10052,U|0)|0,s=7832,n[s>>2]=1,n[s+4>>2]=0),10052}function zQe(s,l){s=s|0,l=l|0,n[s>>2]=XQe()|0,n[s+4>>2]=ZQe()|0,n[s+12>>2]=l,n[s+8>>2]=$Qe()|0,n[s+32>>2]=2}function XQe(){return 11709}function ZQe(){return 1188}function $Qe(){return TD()|0}function eFe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0,(Qp(f,896)|0)==512?c|0&&(tFe(c),yt(c)):l|0&&(Hd(l),yt(l))}function Qp(s,l){return s=s|0,l=l|0,l&s|0}function tFe(s){s=s|0,s=n[s+4>>2]|0,s|0&&Rp(s)}function TD(){var s=0;return o[7824]|0||(n[2511]=rFe()|0,n[2512]=0,s=7824,n[s>>2]=1,n[s+4>>2]=0),10044}function rFe(){return 0}function nFe(s){s=s|0,Sp(s)}function iFe(s){s=s|0;var l=0,c=0,f=0,d=0,m=0;l=C,C=C+32|0,c=l+24|0,m=l+16|0,d=l+8|0,f=l,sFe(s,4827),oFe(s,4834,3)|0,aFe(s,3682,47)|0,n[m>>2]=9,n[m+4>>2]=0,n[c>>2]=n[m>>2],n[c+4>>2]=n[m+4>>2],lFe(s,4841,c)|0,n[d>>2]=1,n[d+4>>2]=0,n[c>>2]=n[d>>2],n[c+4>>2]=n[d+4>>2],cFe(s,4871,c)|0,n[f>>2]=10,n[f+4>>2]=0,n[c>>2]=n[f>>2],n[c+4>>2]=n[f+4>>2],uFe(s,4891,c)|0,C=l}function sFe(s,l){s=s|0,l=l|0;var c=0;c=qRe()|0,n[s>>2]=c,jRe(c,l),Fp(n[s>>2]|0)}function oFe(s,l,c){return s=s|0,l=l|0,c=c|0,PRe(s,mn(l)|0,c,0),s|0}function aFe(s,l,c){return s=s|0,l=l|0,c=c|0,ARe(s,mn(l)|0,c,0),s|0}function lFe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0;return f=C,C=C+16|0,d=f+8|0,m=f,B=n[c+4>>2]|0,n[m>>2]=n[c>>2],n[m+4>>2]=B,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],YFe(s,l,d),C=f,s|0}function cFe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0;return f=C,C=C+16|0,d=f+8|0,m=f,B=n[c+4>>2]|0,n[m>>2]=n[c>>2],n[m+4>>2]=B,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],SFe(s,l,d),C=f,s|0}function uFe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0;return f=C,C=C+16|0,d=f+8|0,m=f,B=n[c+4>>2]|0,n[m>>2]=n[c>>2],n[m+4>>2]=B,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],AFe(s,l,d),C=f,s|0}function AFe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,k=0;f=C,C=C+16|0,d=f+8|0,m=f,k=n[c>>2]|0,B=n[c+4>>2]|0,c=mn(l)|0,n[m>>2]=k,n[m+4>>2]=B,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],fFe(s,c,d,1),C=f}function fFe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0,m=0,B=0,k=0,F=0,M=0,O=0;d=C,C=C+32|0,m=d+16|0,O=d+8|0,k=d,M=n[c>>2]|0,F=n[c+4>>2]|0,B=n[s>>2]|0,s=MR()|0,n[O>>2]=M,n[O+4>>2]=F,n[m>>2]=n[O>>2],n[m+4>>2]=n[O+4>>2],c=pFe(m)|0,n[k>>2]=M,n[k+4>>2]=F,n[m>>2]=n[k>>2],n[m+4>>2]=n[k+4>>2],yn(B,l,s,c,hFe(m,f)|0,f),C=d}function MR(){var s=0,l=0;if(o[7840]|0||(O9(10100),pr(48,10100,U|0)|0,l=7840,n[l>>2]=1,n[l+4>>2]=0),!(Lr(10100)|0)){s=10100,l=s+36|0;do n[s>>2]=0,s=s+4|0;while((s|0)<(l|0));O9(10100)}return 10100}function pFe(s){return s=s|0,0}function hFe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0,k=0,F=0,M=0,O=0,j=0;return O=C,C=C+32|0,d=O+24|0,B=O+16|0,k=O,F=O+8|0,m=n[s>>2]|0,f=n[s+4>>2]|0,n[k>>2]=m,n[k+4>>2]=f,j=MR()|0,M=j+24|0,s=dr(l,4)|0,n[F>>2]=s,l=j+28|0,c=n[l>>2]|0,c>>>0<(n[j+32>>2]|0)>>>0?(n[B>>2]=m,n[B+4>>2]=f,n[d>>2]=n[B>>2],n[d+4>>2]=n[B+4>>2],L9(c,d,s),s=(n[l>>2]|0)+12|0,n[l>>2]=s):(gFe(M,k,F),s=n[l>>2]|0),C=O,((s-(n[M>>2]|0)|0)/12|0)+-1|0}function L9(s,l,c){s=s|0,l=l|0,c=c|0;var f=0;f=n[l+4>>2]|0,n[s>>2]=n[l>>2],n[s+4>>2]=f,n[s+8>>2]=c}function gFe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,k=0,F=0,M=0,O=0,j=0,oe=0;if(M=C,C=C+48|0,f=M+32|0,B=M+24|0,k=M,F=s+4|0,d=(((n[F>>2]|0)-(n[s>>2]|0)|0)/12|0)+1|0,m=dFe(s)|0,m>>>0<d>>>0)Zr(s);else{O=n[s>>2]|0,oe=((n[s+8>>2]|0)-O|0)/12|0,j=oe<<1,mFe(k,oe>>>0<m>>>1>>>0?j>>>0<d>>>0?d:j:m,((n[F>>2]|0)-O|0)/12|0,s+8|0),F=k+8|0,m=n[F>>2]|0,d=n[l+4>>2]|0,c=n[c>>2]|0,n[B>>2]=n[l>>2],n[B+4>>2]=d,n[f>>2]=n[B>>2],n[f+4>>2]=n[B+4>>2],L9(m,f,c),n[F>>2]=(n[F>>2]|0)+12,yFe(s,k),EFe(k),C=M;return}}function dFe(s){return s=s|0,357913941}function mFe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0;n[s+12>>2]=0,n[s+16>>2]=f;do if(l)if(l>>>0>357913941)Tt();else{d=Yt(l*12|0)|0;break}else d=0;while(!1);n[s>>2]=d,f=d+(c*12|0)|0,n[s+8>>2]=f,n[s+4>>2]=f,n[s+12>>2]=d+(l*12|0)}function yFe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0;f=n[s>>2]|0,B=s+4|0,m=l+4|0,d=(n[B>>2]|0)-f|0,c=(n[m>>2]|0)+(((d|0)/-12|0)*12|0)|0,n[m>>2]=c,(d|0)>0?(xr(c|0,f|0,d|0)|0,f=m,c=n[m>>2]|0):f=m,m=n[s>>2]|0,n[s>>2]=c,n[f>>2]=m,m=l+8|0,d=n[B>>2]|0,n[B>>2]=n[m>>2],n[m>>2]=d,m=s+8|0,B=l+12|0,s=n[m>>2]|0,n[m>>2]=n[B>>2],n[B>>2]=s,n[l>>2]=n[f>>2]}function EFe(s){s=s|0;var l=0,c=0,f=0;l=n[s+4>>2]|0,c=s+8|0,f=n[c>>2]|0,(f|0)!=(l|0)&&(n[c>>2]=f+(~(((f+-12-l|0)>>>0)/12|0)*12|0)),s=n[s>>2]|0,s|0&&yt(s)}function O9(s){s=s|0,wFe(s)}function CFe(s){s=s|0,IFe(s+24|0)}function IFe(s){s=s|0;var l=0,c=0,f=0;c=n[s>>2]|0,f=c,c|0&&(s=s+4|0,l=n[s>>2]|0,(l|0)!=(c|0)&&(n[s>>2]=l+(~(((l+-12-f|0)>>>0)/12|0)*12|0)),yt(c))}function wFe(s){s=s|0;var l=0;l=Jr()|0,zr(s,2,6,l,BFe()|0,1),n[s+24>>2]=0,n[s+28>>2]=0,n[s+32>>2]=0}function BFe(){return 1364}function vFe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0;return f=C,C=C+16|0,d=f+8|0,m=f,B=DFe(s)|0,s=n[B+4>>2]|0,n[m>>2]=n[B>>2],n[m+4>>2]=s,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],c=PFe(l,d,c)|0,C=f,c|0}function DFe(s){return s=s|0,(n[(MR()|0)+24>>2]|0)+(s*12|0)|0}function PFe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0;return m=C,C=C+16|0,d=m,f=n[l>>2]|0,l=n[l+4>>2]|0,s=s+(l>>1)|0,l&1&&(f=n[(n[s>>2]|0)+f>>2]|0),XA(d,c),d=ZA(d,c)|0,d=GG(pT[f&15](s,d)|0)|0,C=m,d|0}function SFe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,k=0;f=C,C=C+16|0,d=f+8|0,m=f,k=n[c>>2]|0,B=n[c+4>>2]|0,c=mn(l)|0,n[m>>2]=k,n[m+4>>2]=B,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],bFe(s,c,d,0),C=f}function bFe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0,m=0,B=0,k=0,F=0,M=0,O=0;d=C,C=C+32|0,m=d+16|0,O=d+8|0,k=d,M=n[c>>2]|0,F=n[c+4>>2]|0,B=n[s>>2]|0,s=UR()|0,n[O>>2]=M,n[O+4>>2]=F,n[m>>2]=n[O>>2],n[m+4>>2]=n[O+4>>2],c=xFe(m)|0,n[k>>2]=M,n[k+4>>2]=F,n[m>>2]=n[k>>2],n[m+4>>2]=n[k+4>>2],yn(B,l,s,c,kFe(m,f)|0,f),C=d}function UR(){var s=0,l=0;if(o[7848]|0||(U9(10136),pr(49,10136,U|0)|0,l=7848,n[l>>2]=1,n[l+4>>2]=0),!(Lr(10136)|0)){s=10136,l=s+36|0;do n[s>>2]=0,s=s+4|0;while((s|0)<(l|0));U9(10136)}return 10136}function xFe(s){return s=s|0,0}function kFe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0,k=0,F=0,M=0,O=0,j=0;return O=C,C=C+32|0,d=O+24|0,B=O+16|0,k=O,F=O+8|0,m=n[s>>2]|0,f=n[s+4>>2]|0,n[k>>2]=m,n[k+4>>2]=f,j=UR()|0,M=j+24|0,s=dr(l,4)|0,n[F>>2]=s,l=j+28|0,c=n[l>>2]|0,c>>>0<(n[j+32>>2]|0)>>>0?(n[B>>2]=m,n[B+4>>2]=f,n[d>>2]=n[B>>2],n[d+4>>2]=n[B+4>>2],M9(c,d,s),s=(n[l>>2]|0)+12|0,n[l>>2]=s):(QFe(M,k,F),s=n[l>>2]|0),C=O,((s-(n[M>>2]|0)|0)/12|0)+-1|0}function M9(s,l,c){s=s|0,l=l|0,c=c|0;var f=0;f=n[l+4>>2]|0,n[s>>2]=n[l>>2],n[s+4>>2]=f,n[s+8>>2]=c}function QFe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,k=0,F=0,M=0,O=0,j=0,oe=0;if(M=C,C=C+48|0,f=M+32|0,B=M+24|0,k=M,F=s+4|0,d=(((n[F>>2]|0)-(n[s>>2]|0)|0)/12|0)+1|0,m=FFe(s)|0,m>>>0<d>>>0)Zr(s);else{O=n[s>>2]|0,oe=((n[s+8>>2]|0)-O|0)/12|0,j=oe<<1,RFe(k,oe>>>0<m>>>1>>>0?j>>>0<d>>>0?d:j:m,((n[F>>2]|0)-O|0)/12|0,s+8|0),F=k+8|0,m=n[F>>2]|0,d=n[l+4>>2]|0,c=n[c>>2]|0,n[B>>2]=n[l>>2],n[B+4>>2]=d,n[f>>2]=n[B>>2],n[f+4>>2]=n[B+4>>2],M9(m,f,c),n[F>>2]=(n[F>>2]|0)+12,TFe(s,k),NFe(k),C=M;return}}function FFe(s){return s=s|0,357913941}function RFe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0;n[s+12>>2]=0,n[s+16>>2]=f;do if(l)if(l>>>0>357913941)Tt();else{d=Yt(l*12|0)|0;break}else d=0;while(!1);n[s>>2]=d,f=d+(c*12|0)|0,n[s+8>>2]=f,n[s+4>>2]=f,n[s+12>>2]=d+(l*12|0)}function TFe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0;f=n[s>>2]|0,B=s+4|0,m=l+4|0,d=(n[B>>2]|0)-f|0,c=(n[m>>2]|0)+(((d|0)/-12|0)*12|0)|0,n[m>>2]=c,(d|0)>0?(xr(c|0,f|0,d|0)|0,f=m,c=n[m>>2]|0):f=m,m=n[s>>2]|0,n[s>>2]=c,n[f>>2]=m,m=l+8|0,d=n[B>>2]|0,n[B>>2]=n[m>>2],n[m>>2]=d,m=s+8|0,B=l+12|0,s=n[m>>2]|0,n[m>>2]=n[B>>2],n[B>>2]=s,n[l>>2]=n[f>>2]}function NFe(s){s=s|0;var l=0,c=0,f=0;l=n[s+4>>2]|0,c=s+8|0,f=n[c>>2]|0,(f|0)!=(l|0)&&(n[c>>2]=f+(~(((f+-12-l|0)>>>0)/12|0)*12|0)),s=n[s>>2]|0,s|0&&yt(s)}function U9(s){s=s|0,MFe(s)}function LFe(s){s=s|0,OFe(s+24|0)}function OFe(s){s=s|0;var l=0,c=0,f=0;c=n[s>>2]|0,f=c,c|0&&(s=s+4|0,l=n[s>>2]|0,(l|0)!=(c|0)&&(n[s>>2]=l+(~(((l+-12-f|0)>>>0)/12|0)*12|0)),yt(c))}function MFe(s){s=s|0;var l=0;l=Jr()|0,zr(s,2,9,l,UFe()|0,1),n[s+24>>2]=0,n[s+28>>2]=0,n[s+32>>2]=0}function UFe(){return 1372}function _Fe(s,l,c){s=s|0,l=l|0,c=+c;var f=0,d=0,m=0,B=0;f=C,C=C+16|0,d=f+8|0,m=f,B=HFe(s)|0,s=n[B+4>>2]|0,n[m>>2]=n[B>>2],n[m+4>>2]=s,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],qFe(l,d,c),C=f}function HFe(s){return s=s|0,(n[(UR()|0)+24>>2]|0)+(s*12|0)|0}function qFe(s,l,c){s=s|0,l=l|0,c=+c;var f=0,d=0,m=0,B=Ze;m=C,C=C+16|0,d=m,f=n[l>>2]|0,l=n[l+4>>2]|0,s=s+(l>>1)|0,l&1&&(f=n[(n[s>>2]|0)+f>>2]|0),jFe(d,c),B=y(GFe(d,c)),$7[f&1](s,B),C=m}function jFe(s,l){s=s|0,l=+l}function GFe(s,l){return s=s|0,l=+l,y(WFe(l))}function WFe(s){return s=+s,y(s)}function YFe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,k=0;f=C,C=C+16|0,d=f+8|0,m=f,k=n[c>>2]|0,B=n[c+4>>2]|0,c=mn(l)|0,n[m>>2]=k,n[m+4>>2]=B,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],KFe(s,c,d,0),C=f}function KFe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0,m=0,B=0,k=0,F=0,M=0,O=0;d=C,C=C+32|0,m=d+16|0,O=d+8|0,k=d,M=n[c>>2]|0,F=n[c+4>>2]|0,B=n[s>>2]|0,s=_R()|0,n[O>>2]=M,n[O+4>>2]=F,n[m>>2]=n[O>>2],n[m+4>>2]=n[O+4>>2],c=VFe(m)|0,n[k>>2]=M,n[k+4>>2]=F,n[m>>2]=n[k>>2],n[m+4>>2]=n[k+4>>2],yn(B,l,s,c,JFe(m,f)|0,f),C=d}function _R(){var s=0,l=0;if(o[7856]|0||(H9(10172),pr(50,10172,U|0)|0,l=7856,n[l>>2]=1,n[l+4>>2]=0),!(Lr(10172)|0)){s=10172,l=s+36|0;do n[s>>2]=0,s=s+4|0;while((s|0)<(l|0));H9(10172)}return 10172}function VFe(s){return s=s|0,0}function JFe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0,k=0,F=0,M=0,O=0,j=0;return O=C,C=C+32|0,d=O+24|0,B=O+16|0,k=O,F=O+8|0,m=n[s>>2]|0,f=n[s+4>>2]|0,n[k>>2]=m,n[k+4>>2]=f,j=_R()|0,M=j+24|0,s=dr(l,4)|0,n[F>>2]=s,l=j+28|0,c=n[l>>2]|0,c>>>0<(n[j+32>>2]|0)>>>0?(n[B>>2]=m,n[B+4>>2]=f,n[d>>2]=n[B>>2],n[d+4>>2]=n[B+4>>2],_9(c,d,s),s=(n[l>>2]|0)+12|0,n[l>>2]=s):(zFe(M,k,F),s=n[l>>2]|0),C=O,((s-(n[M>>2]|0)|0)/12|0)+-1|0}function _9(s,l,c){s=s|0,l=l|0,c=c|0;var f=0;f=n[l+4>>2]|0,n[s>>2]=n[l>>2],n[s+4>>2]=f,n[s+8>>2]=c}function zFe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,k=0,F=0,M=0,O=0,j=0,oe=0;if(M=C,C=C+48|0,f=M+32|0,B=M+24|0,k=M,F=s+4|0,d=(((n[F>>2]|0)-(n[s>>2]|0)|0)/12|0)+1|0,m=XFe(s)|0,m>>>0<d>>>0)Zr(s);else{O=n[s>>2]|0,oe=((n[s+8>>2]|0)-O|0)/12|0,j=oe<<1,ZFe(k,oe>>>0<m>>>1>>>0?j>>>0<d>>>0?d:j:m,((n[F>>2]|0)-O|0)/12|0,s+8|0),F=k+8|0,m=n[F>>2]|0,d=n[l+4>>2]|0,c=n[c>>2]|0,n[B>>2]=n[l>>2],n[B+4>>2]=d,n[f>>2]=n[B>>2],n[f+4>>2]=n[B+4>>2],_9(m,f,c),n[F>>2]=(n[F>>2]|0)+12,$Fe(s,k),eRe(k),C=M;return}}function XFe(s){return s=s|0,357913941}function ZFe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0;n[s+12>>2]=0,n[s+16>>2]=f;do if(l)if(l>>>0>357913941)Tt();else{d=Yt(l*12|0)|0;break}else d=0;while(!1);n[s>>2]=d,f=d+(c*12|0)|0,n[s+8>>2]=f,n[s+4>>2]=f,n[s+12>>2]=d+(l*12|0)}function $Fe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0;f=n[s>>2]|0,B=s+4|0,m=l+4|0,d=(n[B>>2]|0)-f|0,c=(n[m>>2]|0)+(((d|0)/-12|0)*12|0)|0,n[m>>2]=c,(d|0)>0?(xr(c|0,f|0,d|0)|0,f=m,c=n[m>>2]|0):f=m,m=n[s>>2]|0,n[s>>2]=c,n[f>>2]=m,m=l+8|0,d=n[B>>2]|0,n[B>>2]=n[m>>2],n[m>>2]=d,m=s+8|0,B=l+12|0,s=n[m>>2]|0,n[m>>2]=n[B>>2],n[B>>2]=s,n[l>>2]=n[f>>2]}function eRe(s){s=s|0;var l=0,c=0,f=0;l=n[s+4>>2]|0,c=s+8|0,f=n[c>>2]|0,(f|0)!=(l|0)&&(n[c>>2]=f+(~(((f+-12-l|0)>>>0)/12|0)*12|0)),s=n[s>>2]|0,s|0&&yt(s)}function H9(s){s=s|0,nRe(s)}function tRe(s){s=s|0,rRe(s+24|0)}function rRe(s){s=s|0;var l=0,c=0,f=0;c=n[s>>2]|0,f=c,c|0&&(s=s+4|0,l=n[s>>2]|0,(l|0)!=(c|0)&&(n[s>>2]=l+(~(((l+-12-f|0)>>>0)/12|0)*12|0)),yt(c))}function nRe(s){s=s|0;var l=0;l=Jr()|0,zr(s,2,3,l,iRe()|0,2),n[s+24>>2]=0,n[s+28>>2]=0,n[s+32>>2]=0}function iRe(){return 1380}function sRe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0,m=0,B=0,k=0;d=C,C=C+16|0,m=d+8|0,B=d,k=oRe(s)|0,s=n[k+4>>2]|0,n[B>>2]=n[k>>2],n[B+4>>2]=s,n[m>>2]=n[B>>2],n[m+4>>2]=n[B+4>>2],aRe(l,m,c,f),C=d}function oRe(s){return s=s|0,(n[(_R()|0)+24>>2]|0)+(s*12|0)|0}function aRe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0,m=0,B=0,k=0;k=C,C=C+16|0,m=k+1|0,B=k,d=n[l>>2]|0,l=n[l+4>>2]|0,s=s+(l>>1)|0,l&1&&(d=n[(n[s>>2]|0)+d>>2]|0),XA(m,c),m=ZA(m,c)|0,lRe(B,f),B=cRe(B,f)|0,sw[d&15](s,m,B),C=k}function lRe(s,l){s=s|0,l=l|0}function cRe(s,l){return s=s|0,l=l|0,uRe(l)|0}function uRe(s){return s=s|0,(s|0)!=0|0}function ARe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0,m=0;m=n[s>>2]|0,d=HR()|0,s=fRe(c)|0,yn(m,l,d,s,pRe(c,f)|0,f)}function HR(){var s=0,l=0;if(o[7864]|0||(j9(10208),pr(51,10208,U|0)|0,l=7864,n[l>>2]=1,n[l+4>>2]=0),!(Lr(10208)|0)){s=10208,l=s+36|0;do n[s>>2]=0,s=s+4|0;while((s|0)<(l|0));j9(10208)}return 10208}function fRe(s){return s=s|0,s|0}function pRe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0,k=0,F=0;return k=C,C=C+16|0,d=k,m=k+4|0,n[d>>2]=s,F=HR()|0,B=F+24|0,l=dr(l,4)|0,n[m>>2]=l,c=F+28|0,f=n[c>>2]|0,f>>>0<(n[F+32>>2]|0)>>>0?(q9(f,s,l),l=(n[c>>2]|0)+8|0,n[c>>2]=l):(hRe(B,d,m),l=n[c>>2]|0),C=k,(l-(n[B>>2]|0)>>3)+-1|0}function q9(s,l,c){s=s|0,l=l|0,c=c|0,n[s>>2]=l,n[s+4>>2]=c}function hRe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,k=0,F=0,M=0,O=0;if(k=C,C=C+32|0,d=k,m=s+4|0,B=((n[m>>2]|0)-(n[s>>2]|0)>>3)+1|0,f=gRe(s)|0,f>>>0<B>>>0)Zr(s);else{F=n[s>>2]|0,O=(n[s+8>>2]|0)-F|0,M=O>>2,dRe(d,O>>3>>>0<f>>>1>>>0?M>>>0<B>>>0?B:M:f,(n[m>>2]|0)-F>>3,s+8|0),B=d+8|0,q9(n[B>>2]|0,n[l>>2]|0,n[c>>2]|0),n[B>>2]=(n[B>>2]|0)+8,mRe(s,d),yRe(d),C=k;return}}function gRe(s){return s=s|0,536870911}function dRe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0;n[s+12>>2]=0,n[s+16>>2]=f;do if(l)if(l>>>0>536870911)Tt();else{d=Yt(l<<3)|0;break}else d=0;while(!1);n[s>>2]=d,f=d+(c<<3)|0,n[s+8>>2]=f,n[s+4>>2]=f,n[s+12>>2]=d+(l<<3)}function mRe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0;f=n[s>>2]|0,B=s+4|0,m=l+4|0,d=(n[B>>2]|0)-f|0,c=(n[m>>2]|0)+(0-(d>>3)<<3)|0,n[m>>2]=c,(d|0)>0?(xr(c|0,f|0,d|0)|0,f=m,c=n[m>>2]|0):f=m,m=n[s>>2]|0,n[s>>2]=c,n[f>>2]=m,m=l+8|0,d=n[B>>2]|0,n[B>>2]=n[m>>2],n[m>>2]=d,m=s+8|0,B=l+12|0,s=n[m>>2]|0,n[m>>2]=n[B>>2],n[B>>2]=s,n[l>>2]=n[f>>2]}function yRe(s){s=s|0;var l=0,c=0,f=0;l=n[s+4>>2]|0,c=s+8|0,f=n[c>>2]|0,(f|0)!=(l|0)&&(n[c>>2]=f+(~((f+-8-l|0)>>>3)<<3)),s=n[s>>2]|0,s|0&&yt(s)}function j9(s){s=s|0,IRe(s)}function ERe(s){s=s|0,CRe(s+24|0)}function CRe(s){s=s|0;var l=0,c=0,f=0;c=n[s>>2]|0,f=c,c|0&&(s=s+4|0,l=n[s>>2]|0,(l|0)!=(c|0)&&(n[s>>2]=l+(~((l+-8-f|0)>>>3)<<3)),yt(c))}function IRe(s){s=s|0;var l=0;l=Jr()|0,zr(s,1,24,l,wRe()|0,1),n[s+24>>2]=0,n[s+28>>2]=0,n[s+32>>2]=0}function wRe(){return 1392}function BRe(s,l){s=s|0,l=l|0,DRe(n[(vRe(s)|0)>>2]|0,l)}function vRe(s){return s=s|0,(n[(HR()|0)+24>>2]|0)+(s<<3)|0}function DRe(s,l){s=s|0,l=l|0;var c=0,f=0;c=C,C=C+16|0,f=c,F9(f,l),l=R9(f,l)|0,ef[s&127](l),C=c}function PRe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0,m=0;m=n[s>>2]|0,d=qR()|0,s=SRe(c)|0,yn(m,l,d,s,bRe(c,f)|0,f)}function qR(){var s=0,l=0;if(o[7872]|0||(W9(10244),pr(52,10244,U|0)|0,l=7872,n[l>>2]=1,n[l+4>>2]=0),!(Lr(10244)|0)){s=10244,l=s+36|0;do n[s>>2]=0,s=s+4|0;while((s|0)<(l|0));W9(10244)}return 10244}function SRe(s){return s=s|0,s|0}function bRe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0,k=0,F=0;return k=C,C=C+16|0,d=k,m=k+4|0,n[d>>2]=s,F=qR()|0,B=F+24|0,l=dr(l,4)|0,n[m>>2]=l,c=F+28|0,f=n[c>>2]|0,f>>>0<(n[F+32>>2]|0)>>>0?(G9(f,s,l),l=(n[c>>2]|0)+8|0,n[c>>2]=l):(xRe(B,d,m),l=n[c>>2]|0),C=k,(l-(n[B>>2]|0)>>3)+-1|0}function G9(s,l,c){s=s|0,l=l|0,c=c|0,n[s>>2]=l,n[s+4>>2]=c}function xRe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,k=0,F=0,M=0,O=0;if(k=C,C=C+32|0,d=k,m=s+4|0,B=((n[m>>2]|0)-(n[s>>2]|0)>>3)+1|0,f=kRe(s)|0,f>>>0<B>>>0)Zr(s);else{F=n[s>>2]|0,O=(n[s+8>>2]|0)-F|0,M=O>>2,QRe(d,O>>3>>>0<f>>>1>>>0?M>>>0<B>>>0?B:M:f,(n[m>>2]|0)-F>>3,s+8|0),B=d+8|0,G9(n[B>>2]|0,n[l>>2]|0,n[c>>2]|0),n[B>>2]=(n[B>>2]|0)+8,FRe(s,d),RRe(d),C=k;return}}function kRe(s){return s=s|0,536870911}function QRe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0;n[s+12>>2]=0,n[s+16>>2]=f;do if(l)if(l>>>0>536870911)Tt();else{d=Yt(l<<3)|0;break}else d=0;while(!1);n[s>>2]=d,f=d+(c<<3)|0,n[s+8>>2]=f,n[s+4>>2]=f,n[s+12>>2]=d+(l<<3)}function FRe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0;f=n[s>>2]|0,B=s+4|0,m=l+4|0,d=(n[B>>2]|0)-f|0,c=(n[m>>2]|0)+(0-(d>>3)<<3)|0,n[m>>2]=c,(d|0)>0?(xr(c|0,f|0,d|0)|0,f=m,c=n[m>>2]|0):f=m,m=n[s>>2]|0,n[s>>2]=c,n[f>>2]=m,m=l+8|0,d=n[B>>2]|0,n[B>>2]=n[m>>2],n[m>>2]=d,m=s+8|0,B=l+12|0,s=n[m>>2]|0,n[m>>2]=n[B>>2],n[B>>2]=s,n[l>>2]=n[f>>2]}function RRe(s){s=s|0;var l=0,c=0,f=0;l=n[s+4>>2]|0,c=s+8|0,f=n[c>>2]|0,(f|0)!=(l|0)&&(n[c>>2]=f+(~((f+-8-l|0)>>>3)<<3)),s=n[s>>2]|0,s|0&&yt(s)}function W9(s){s=s|0,LRe(s)}function TRe(s){s=s|0,NRe(s+24|0)}function NRe(s){s=s|0;var l=0,c=0,f=0;c=n[s>>2]|0,f=c,c|0&&(s=s+4|0,l=n[s>>2]|0,(l|0)!=(c|0)&&(n[s>>2]=l+(~((l+-8-f|0)>>>3)<<3)),yt(c))}function LRe(s){s=s|0;var l=0;l=Jr()|0,zr(s,1,16,l,ORe()|0,0),n[s+24>>2]=0,n[s+28>>2]=0,n[s+32>>2]=0}function ORe(){return 1400}function MRe(s){return s=s|0,_Re(n[(URe(s)|0)>>2]|0)|0}function URe(s){return s=s|0,(n[(qR()|0)+24>>2]|0)+(s<<3)|0}function _Re(s){return s=s|0,HRe(KD[s&7]()|0)|0}function HRe(s){return s=s|0,s|0}function qRe(){var s=0;return o[7880]|0||(JRe(10280),pr(25,10280,U|0)|0,s=7880,n[s>>2]=1,n[s+4>>2]=0),10280}function jRe(s,l){s=s|0,l=l|0,n[s>>2]=GRe()|0,n[s+4>>2]=WRe()|0,n[s+12>>2]=l,n[s+8>>2]=YRe()|0,n[s+32>>2]=4}function GRe(){return 11711}function WRe(){return 1356}function YRe(){return TD()|0}function KRe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0,(Qp(f,896)|0)==512?c|0&&(VRe(c),yt(c)):l|0&&(C0(l),yt(l))}function VRe(s){s=s|0,s=n[s+4>>2]|0,s|0&&Rp(s)}function JRe(s){s=s|0,Sp(s)}function zRe(s){s=s|0,XRe(s,4920),ZRe(s)|0,$Re(s)|0}function XRe(s,l){s=s|0,l=l|0;var c=0;c=p9()|0,n[s>>2]=c,CTe(c,l),Fp(n[s>>2]|0)}function ZRe(s){s=s|0;var l=0;return l=n[s>>2]|0,T0(l,uTe()|0),s|0}function $Re(s){s=s|0;var l=0;return l=n[s>>2]|0,T0(l,eTe()|0),s|0}function eTe(){var s=0;return o[7888]|0||(Y9(10328),pr(53,10328,U|0)|0,s=7888,n[s>>2]=1,n[s+4>>2]=0),Lr(10328)|0||Y9(10328),10328}function T0(s,l){s=s|0,l=l|0,yn(s,0,l,0,0,0)}function Y9(s){s=s|0,nTe(s),N0(s,10)}function tTe(s){s=s|0,rTe(s+24|0)}function rTe(s){s=s|0;var l=0,c=0,f=0;c=n[s>>2]|0,f=c,c|0&&(s=s+4|0,l=n[s>>2]|0,(l|0)!=(c|0)&&(n[s>>2]=l+(~((l+-8-f|0)>>>3)<<3)),yt(c))}function nTe(s){s=s|0;var l=0;l=Jr()|0,zr(s,5,1,l,aTe()|0,2),n[s+24>>2]=0,n[s+28>>2]=0,n[s+32>>2]=0}function iTe(s,l,c){s=s|0,l=l|0,c=+c,sTe(s,l,c)}function N0(s,l){s=s|0,l=l|0,n[s+20>>2]=l}function sTe(s,l,c){s=s|0,l=l|0,c=+c;var f=0,d=0,m=0,B=0,k=0;f=C,C=C+16|0,m=f+8|0,k=f+13|0,d=f,B=f+12|0,XA(k,l),n[m>>2]=ZA(k,l)|0,Tu(B,c),E[d>>3]=+Nu(B,c),oTe(s,m,d),C=f}function oTe(s,l,c){s=s|0,l=l|0,c=c|0,Xa(s+8|0,n[l>>2]|0,+E[c>>3]),o[s+24>>0]=1}function aTe(){return 1404}function lTe(s,l){return s=s|0,l=+l,cTe(s,l)|0}function cTe(s,l){s=s|0,l=+l;var c=0,f=0,d=0,m=0,B=0,k=0,F=0;return f=C,C=C+16|0,m=f+4|0,B=f+8|0,k=f,d=Za(8)|0,c=d,F=Yt(16)|0,XA(m,s),s=ZA(m,s)|0,Tu(B,l),Xa(F,s,+Nu(B,l)),B=c+4|0,n[B>>2]=F,s=Yt(8)|0,B=n[B>>2]|0,n[k>>2]=0,n[m>>2]=n[k>>2],SR(s,B,m),n[d>>2]=s,C=f,c|0}function uTe(){var s=0;return o[7896]|0||(K9(10364),pr(54,10364,U|0)|0,s=7896,n[s>>2]=1,n[s+4>>2]=0),Lr(10364)|0||K9(10364),10364}function K9(s){s=s|0,pTe(s),N0(s,55)}function ATe(s){s=s|0,fTe(s+24|0)}function fTe(s){s=s|0;var l=0,c=0,f=0;c=n[s>>2]|0,f=c,c|0&&(s=s+4|0,l=n[s>>2]|0,(l|0)!=(c|0)&&(n[s>>2]=l+(~((l+-8-f|0)>>>3)<<3)),yt(c))}function pTe(s){s=s|0;var l=0;l=Jr()|0,zr(s,5,4,l,mTe()|0,0),n[s+24>>2]=0,n[s+28>>2]=0,n[s+32>>2]=0}function hTe(s){s=s|0,gTe(s)}function gTe(s){s=s|0,dTe(s)}function dTe(s){s=s|0,V9(s+8|0),o[s+24>>0]=1}function V9(s){s=s|0,n[s>>2]=0,E[s+8>>3]=0}function mTe(){return 1424}function yTe(){return ETe()|0}function ETe(){var s=0,l=0,c=0,f=0,d=0,m=0,B=0;return l=C,C=C+16|0,d=l+4|0,B=l,c=Za(8)|0,s=c,f=Yt(16)|0,V9(f),m=s+4|0,n[m>>2]=f,f=Yt(8)|0,m=n[m>>2]|0,n[B>>2]=0,n[d>>2]=n[B>>2],SR(f,m,d),n[c>>2]=f,C=l,s|0}function CTe(s,l){s=s|0,l=l|0,n[s>>2]=ITe()|0,n[s+4>>2]=wTe()|0,n[s+12>>2]=l,n[s+8>>2]=BTe()|0,n[s+32>>2]=5}function ITe(){return 11710}function wTe(){return 1416}function BTe(){return ND()|0}function vTe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0,(Qp(f,896)|0)==512?c|0&&(DTe(c),yt(c)):l|0&&yt(l)}function DTe(s){s=s|0,s=n[s+4>>2]|0,s|0&&Rp(s)}function ND(){var s=0;return o[7904]|0||(n[2600]=PTe()|0,n[2601]=0,s=7904,n[s>>2]=1,n[s+4>>2]=0),10400}function PTe(){return n[357]|0}function STe(s){s=s|0,bTe(s,4926),xTe(s)|0}function bTe(s,l){s=s|0,l=l|0;var c=0;c=LG()|0,n[s>>2]=c,_Te(c,l),Fp(n[s>>2]|0)}function xTe(s){s=s|0;var l=0;return l=n[s>>2]|0,T0(l,kTe()|0),s|0}function kTe(){var s=0;return o[7912]|0||(J9(10412),pr(56,10412,U|0)|0,s=7912,n[s>>2]=1,n[s+4>>2]=0),Lr(10412)|0||J9(10412),10412}function J9(s){s=s|0,RTe(s),N0(s,57)}function QTe(s){s=s|0,FTe(s+24|0)}function FTe(s){s=s|0;var l=0,c=0,f=0;c=n[s>>2]|0,f=c,c|0&&(s=s+4|0,l=n[s>>2]|0,(l|0)!=(c|0)&&(n[s>>2]=l+(~((l+-8-f|0)>>>3)<<3)),yt(c))}function RTe(s){s=s|0;var l=0;l=Jr()|0,zr(s,5,5,l,OTe()|0,0),n[s+24>>2]=0,n[s+28>>2]=0,n[s+32>>2]=0}function TTe(s){s=s|0,NTe(s)}function NTe(s){s=s|0,LTe(s)}function LTe(s){s=s|0;var l=0,c=0;l=s+8|0,c=l+48|0;do n[l>>2]=0,l=l+4|0;while((l|0)<(c|0));o[s+56>>0]=1}function OTe(){return 1432}function MTe(){return UTe()|0}function UTe(){var s=0,l=0,c=0,f=0,d=0,m=0,B=0,k=0;B=C,C=C+16|0,s=B+4|0,l=B,c=Za(8)|0,f=c,d=Yt(48)|0,m=d,k=m+48|0;do n[m>>2]=0,m=m+4|0;while((m|0)<(k|0));return m=f+4|0,n[m>>2]=d,k=Yt(8)|0,m=n[m>>2]|0,n[l>>2]=0,n[s>>2]=n[l>>2],OG(k,m,s),n[c>>2]=k,C=B,f|0}function _Te(s,l){s=s|0,l=l|0,n[s>>2]=HTe()|0,n[s+4>>2]=qTe()|0,n[s+12>>2]=l,n[s+8>>2]=jTe()|0,n[s+32>>2]=6}function HTe(){return 11704}function qTe(){return 1436}function jTe(){return ND()|0}function GTe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0,(Qp(f,896)|0)==512?c|0&&(WTe(c),yt(c)):l|0&&yt(l)}function WTe(s){s=s|0,s=n[s+4>>2]|0,s|0&&Rp(s)}function YTe(s){s=s|0,KTe(s,4933),VTe(s)|0,JTe(s)|0}function KTe(s,l){s=s|0,l=l|0;var c=0;c=ENe()|0,n[s>>2]=c,CNe(c,l),Fp(n[s>>2]|0)}function VTe(s){s=s|0;var l=0;return l=n[s>>2]|0,T0(l,cNe()|0),s|0}function JTe(s){s=s|0;var l=0;return l=n[s>>2]|0,T0(l,zTe()|0),s|0}function zTe(){var s=0;return o[7920]|0||(z9(10452),pr(58,10452,U|0)|0,s=7920,n[s>>2]=1,n[s+4>>2]=0),Lr(10452)|0||z9(10452),10452}function z9(s){s=s|0,$Te(s),N0(s,1)}function XTe(s){s=s|0,ZTe(s+24|0)}function ZTe(s){s=s|0;var l=0,c=0,f=0;c=n[s>>2]|0,f=c,c|0&&(s=s+4|0,l=n[s>>2]|0,(l|0)!=(c|0)&&(n[s>>2]=l+(~((l+-8-f|0)>>>3)<<3)),yt(c))}function $Te(s){s=s|0;var l=0;l=Jr()|0,zr(s,5,1,l,nNe()|0,2),n[s+24>>2]=0,n[s+28>>2]=0,n[s+32>>2]=0}function eNe(s,l,c){s=s|0,l=+l,c=+c,tNe(s,l,c)}function tNe(s,l,c){s=s|0,l=+l,c=+c;var f=0,d=0,m=0,B=0,k=0;f=C,C=C+32|0,m=f+8|0,k=f+17|0,d=f,B=f+16|0,Tu(k,l),E[m>>3]=+Nu(k,l),Tu(B,c),E[d>>3]=+Nu(B,c),rNe(s,m,d),C=f}function rNe(s,l,c){s=s|0,l=l|0,c=c|0,X9(s+8|0,+E[l>>3],+E[c>>3]),o[s+24>>0]=1}function X9(s,l,c){s=s|0,l=+l,c=+c,E[s>>3]=l,E[s+8>>3]=c}function nNe(){return 1472}function iNe(s,l){return s=+s,l=+l,sNe(s,l)|0}function sNe(s,l){s=+s,l=+l;var c=0,f=0,d=0,m=0,B=0,k=0,F=0;return f=C,C=C+16|0,B=f+4|0,k=f+8|0,F=f,d=Za(8)|0,c=d,m=Yt(16)|0,Tu(B,s),s=+Nu(B,s),Tu(k,l),X9(m,s,+Nu(k,l)),k=c+4|0,n[k>>2]=m,m=Yt(8)|0,k=n[k>>2]|0,n[F>>2]=0,n[B>>2]=n[F>>2],Z9(m,k,B),n[d>>2]=m,C=f,c|0}function Z9(s,l,c){s=s|0,l=l|0,c=c|0,n[s>>2]=l,c=Yt(16)|0,n[c+4>>2]=0,n[c+8>>2]=0,n[c>>2]=1452,n[c+12>>2]=l,n[s+4>>2]=c}function oNe(s){s=s|0,im(s),yt(s)}function aNe(s){s=s|0,s=n[s+12>>2]|0,s|0&&yt(s)}function lNe(s){s=s|0,yt(s)}function cNe(){var s=0;return o[7928]|0||($9(10488),pr(59,10488,U|0)|0,s=7928,n[s>>2]=1,n[s+4>>2]=0),Lr(10488)|0||$9(10488),10488}function $9(s){s=s|0,fNe(s),N0(s,60)}function uNe(s){s=s|0,ANe(s+24|0)}function ANe(s){s=s|0;var l=0,c=0,f=0;c=n[s>>2]|0,f=c,c|0&&(s=s+4|0,l=n[s>>2]|0,(l|0)!=(c|0)&&(n[s>>2]=l+(~((l+-8-f|0)>>>3)<<3)),yt(c))}function fNe(s){s=s|0;var l=0;l=Jr()|0,zr(s,5,6,l,dNe()|0,0),n[s+24>>2]=0,n[s+28>>2]=0,n[s+32>>2]=0}function pNe(s){s=s|0,hNe(s)}function hNe(s){s=s|0,gNe(s)}function gNe(s){s=s|0,e7(s+8|0),o[s+24>>0]=1}function e7(s){s=s|0,n[s>>2]=0,n[s+4>>2]=0,n[s+8>>2]=0,n[s+12>>2]=0}function dNe(){return 1492}function mNe(){return yNe()|0}function yNe(){var s=0,l=0,c=0,f=0,d=0,m=0,B=0;return l=C,C=C+16|0,d=l+4|0,B=l,c=Za(8)|0,s=c,f=Yt(16)|0,e7(f),m=s+4|0,n[m>>2]=f,f=Yt(8)|0,m=n[m>>2]|0,n[B>>2]=0,n[d>>2]=n[B>>2],Z9(f,m,d),n[c>>2]=f,C=l,s|0}function ENe(){var s=0;return o[7936]|0||(PNe(10524),pr(25,10524,U|0)|0,s=7936,n[s>>2]=1,n[s+4>>2]=0),10524}function CNe(s,l){s=s|0,l=l|0,n[s>>2]=INe()|0,n[s+4>>2]=wNe()|0,n[s+12>>2]=l,n[s+8>>2]=BNe()|0,n[s+32>>2]=7}function INe(){return 11700}function wNe(){return 1484}function BNe(){return ND()|0}function vNe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0,(Qp(f,896)|0)==512?c|0&&(DNe(c),yt(c)):l|0&&yt(l)}function DNe(s){s=s|0,s=n[s+4>>2]|0,s|0&&Rp(s)}function PNe(s){s=s|0,Sp(s)}function SNe(s,l,c){s=s|0,l=l|0,c=c|0,s=mn(l)|0,l=bNe(c)|0,c=xNe(c,0)|0,sLe(s,l,c,jR()|0,0)}function bNe(s){return s=s|0,s|0}function xNe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0,k=0,F=0;return k=C,C=C+16|0,d=k,m=k+4|0,n[d>>2]=s,F=jR()|0,B=F+24|0,l=dr(l,4)|0,n[m>>2]=l,c=F+28|0,f=n[c>>2]|0,f>>>0<(n[F+32>>2]|0)>>>0?(r7(f,s,l),l=(n[c>>2]|0)+8|0,n[c>>2]=l):(LNe(B,d,m),l=n[c>>2]|0),C=k,(l-(n[B>>2]|0)>>3)+-1|0}function jR(){var s=0,l=0;if(o[7944]|0||(t7(10568),pr(61,10568,U|0)|0,l=7944,n[l>>2]=1,n[l+4>>2]=0),!(Lr(10568)|0)){s=10568,l=s+36|0;do n[s>>2]=0,s=s+4|0;while((s|0)<(l|0));t7(10568)}return 10568}function t7(s){s=s|0,FNe(s)}function kNe(s){s=s|0,QNe(s+24|0)}function QNe(s){s=s|0;var l=0,c=0,f=0;c=n[s>>2]|0,f=c,c|0&&(s=s+4|0,l=n[s>>2]|0,(l|0)!=(c|0)&&(n[s>>2]=l+(~((l+-8-f|0)>>>3)<<3)),yt(c))}function FNe(s){s=s|0;var l=0;l=Jr()|0,zr(s,1,17,l,e9()|0,0),n[s+24>>2]=0,n[s+28>>2]=0,n[s+32>>2]=0}function RNe(s){return s=s|0,NNe(n[(TNe(s)|0)>>2]|0)|0}function TNe(s){return s=s|0,(n[(jR()|0)+24>>2]|0)+(s<<3)|0}function NNe(s){return s=s|0,RD(KD[s&7]()|0)|0}function r7(s,l,c){s=s|0,l=l|0,c=c|0,n[s>>2]=l,n[s+4>>2]=c}function LNe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,k=0,F=0,M=0,O=0;if(k=C,C=C+32|0,d=k,m=s+4|0,B=((n[m>>2]|0)-(n[s>>2]|0)>>3)+1|0,f=ONe(s)|0,f>>>0<B>>>0)Zr(s);else{F=n[s>>2]|0,O=(n[s+8>>2]|0)-F|0,M=O>>2,MNe(d,O>>3>>>0<f>>>1>>>0?M>>>0<B>>>0?B:M:f,(n[m>>2]|0)-F>>3,s+8|0),B=d+8|0,r7(n[B>>2]|0,n[l>>2]|0,n[c>>2]|0),n[B>>2]=(n[B>>2]|0)+8,UNe(s,d),_Ne(d),C=k;return}}function ONe(s){return s=s|0,536870911}function MNe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0;n[s+12>>2]=0,n[s+16>>2]=f;do if(l)if(l>>>0>536870911)Tt();else{d=Yt(l<<3)|0;break}else d=0;while(!1);n[s>>2]=d,f=d+(c<<3)|0,n[s+8>>2]=f,n[s+4>>2]=f,n[s+12>>2]=d+(l<<3)}function UNe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0;f=n[s>>2]|0,B=s+4|0,m=l+4|0,d=(n[B>>2]|0)-f|0,c=(n[m>>2]|0)+(0-(d>>3)<<3)|0,n[m>>2]=c,(d|0)>0?(xr(c|0,f|0,d|0)|0,f=m,c=n[m>>2]|0):f=m,m=n[s>>2]|0,n[s>>2]=c,n[f>>2]=m,m=l+8|0,d=n[B>>2]|0,n[B>>2]=n[m>>2],n[m>>2]=d,m=s+8|0,B=l+12|0,s=n[m>>2]|0,n[m>>2]=n[B>>2],n[B>>2]=s,n[l>>2]=n[f>>2]}function _Ne(s){s=s|0;var l=0,c=0,f=0;l=n[s+4>>2]|0,c=s+8|0,f=n[c>>2]|0,(f|0)!=(l|0)&&(n[c>>2]=f+(~((f+-8-l|0)>>>3)<<3)),s=n[s>>2]|0,s|0&&yt(s)}function HNe(){qNe()}function qNe(){jNe(10604)}function jNe(s){s=s|0,GNe(s,4955)}function GNe(s,l){s=s|0,l=l|0;var c=0;c=WNe()|0,n[s>>2]=c,YNe(c,l),Fp(n[s>>2]|0)}function WNe(){var s=0;return o[7952]|0||(tLe(10612),pr(25,10612,U|0)|0,s=7952,n[s>>2]=1,n[s+4>>2]=0),10612}function YNe(s,l){s=s|0,l=l|0,n[s>>2]=zNe()|0,n[s+4>>2]=XNe()|0,n[s+12>>2]=l,n[s+8>>2]=ZNe()|0,n[s+32>>2]=8}function Fp(s){s=s|0;var l=0,c=0;l=C,C=C+16|0,c=l,$d()|0,n[c>>2]=s,KNe(10608,c),C=l}function $d(){return o[11714]|0||(n[2652]=0,pr(62,10608,U|0)|0,o[11714]=1),10608}function KNe(s,l){s=s|0,l=l|0;var c=0;c=Yt(8)|0,n[c+4>>2]=n[l>>2],n[c>>2]=n[s>>2],n[s>>2]=c}function VNe(s){s=s|0,JNe(s)}function JNe(s){s=s|0;var l=0,c=0;if(l=n[s>>2]|0,l|0)do c=l,l=n[l>>2]|0,yt(c);while(l|0);n[s>>2]=0}function zNe(){return 11715}function XNe(){return 1496}function ZNe(){return TD()|0}function $Ne(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0,(Qp(f,896)|0)==512?c|0&&(eLe(c),yt(c)):l|0&&yt(l)}function eLe(s){s=s|0,s=n[s+4>>2]|0,s|0&&Rp(s)}function tLe(s){s=s|0,Sp(s)}function rLe(s,l){s=s|0,l=l|0;var c=0,f=0;$d()|0,c=n[2652]|0;e:do if(c|0){for(;f=n[c+4>>2]|0,!(f|0&&!(O7(GR(f)|0,s)|0));)if(c=n[c>>2]|0,!c)break e;nLe(f,l)}while(!1)}function GR(s){return s=s|0,n[s+12>>2]|0}function nLe(s,l){s=s|0,l=l|0;var c=0;s=s+36|0,c=n[s>>2]|0,c|0&&(bu(c),yt(c)),c=Yt(4)|0,PD(c,l),n[s>>2]=c}function WR(){return o[11716]|0||(n[2664]=0,pr(63,10656,U|0)|0,o[11716]=1),10656}function n7(){var s=0;return o[11717]|0?s=n[2665]|0:(iLe(),n[2665]=1504,o[11717]=1,s=1504),s|0}function iLe(){o[11740]|0||(o[11718]=dr(dr(8,0)|0,0)|0,o[11719]=dr(dr(0,0)|0,0)|0,o[11720]=dr(dr(0,16)|0,0)|0,o[11721]=dr(dr(8,0)|0,0)|0,o[11722]=dr(dr(0,0)|0,0)|0,o[11723]=dr(dr(8,0)|0,0)|0,o[11724]=dr(dr(0,0)|0,0)|0,o[11725]=dr(dr(8,0)|0,0)|0,o[11726]=dr(dr(0,0)|0,0)|0,o[11727]=dr(dr(8,0)|0,0)|0,o[11728]=dr(dr(0,0)|0,0)|0,o[11729]=dr(dr(0,0)|0,32)|0,o[11730]=dr(dr(0,0)|0,32)|0,o[11740]=1)}function i7(){return 1572}function sLe(s,l,c,f,d){s=s|0,l=l|0,c=c|0,f=f|0,d=d|0;var m=0,B=0,k=0,F=0,M=0,O=0;m=C,C=C+32|0,O=m+16|0,M=m+12|0,F=m+8|0,k=m+4|0,B=m,n[O>>2]=s,n[M>>2]=l,n[F>>2]=c,n[k>>2]=f,n[B>>2]=d,WR()|0,oLe(10656,O,M,F,k,B),C=m}function oLe(s,l,c,f,d,m){s=s|0,l=l|0,c=c|0,f=f|0,d=d|0,m=m|0;var B=0;B=Yt(24)|0,RG(B+4|0,n[l>>2]|0,n[c>>2]|0,n[f>>2]|0,n[d>>2]|0,n[m>>2]|0),n[B>>2]=n[s>>2],n[s>>2]=B}function s7(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,k=0,F=0,M=0,O=0,j=0,oe=0,We=0,Oe=0,Qe=0,rt=0,Xe=0,ct=0;if(ct=C,C=C+32|0,Oe=ct+20|0,Qe=ct+8|0,rt=ct+4|0,Xe=ct,l=n[l>>2]|0,l|0){We=Oe+4|0,F=Oe+8|0,M=Qe+4|0,O=Qe+8|0,j=Qe+8|0,oe=Oe+8|0;do{if(B=l+4|0,k=YR(B)|0,k|0){if(d=$I(k)|0,n[Oe>>2]=0,n[We>>2]=0,n[F>>2]=0,f=(ew(k)|0)+1|0,aLe(Oe,f),f|0)for(;f=f+-1|0,Tc(Qe,n[d>>2]|0),m=n[We>>2]|0,m>>>0<(n[oe>>2]|0)>>>0?(n[m>>2]=n[Qe>>2],n[We>>2]=(n[We>>2]|0)+4):KR(Oe,Qe),f;)d=d+4|0;f=tw(k)|0,n[Qe>>2]=0,n[M>>2]=0,n[O>>2]=0;e:do if(n[f>>2]|0)for(d=0,m=0;;){if((d|0)==(m|0)?lLe(Qe,f):(n[d>>2]=n[f>>2],n[M>>2]=(n[M>>2]|0)+4),f=f+4|0,!(n[f>>2]|0))break e;d=n[M>>2]|0,m=n[j>>2]|0}while(!1);n[rt>>2]=LD(B)|0,n[Xe>>2]=Lr(k)|0,cLe(c,s,rt,Xe,Oe,Qe),VR(Qe),$A(Oe)}l=n[l>>2]|0}while(l|0)}C=ct}function YR(s){return s=s|0,n[s+12>>2]|0}function $I(s){return s=s|0,n[s+12>>2]|0}function ew(s){return s=s|0,n[s+16>>2]|0}function aLe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0;d=C,C=C+32|0,c=d,f=n[s>>2]|0,(n[s+8>>2]|0)-f>>2>>>0<l>>>0&&(p7(c,l,(n[s+4>>2]|0)-f>>2,s+8|0),h7(s,c),g7(c)),C=d}function KR(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0,k=0,F=0,M=0;if(B=C,C=C+32|0,c=B,f=s+4|0,d=((n[f>>2]|0)-(n[s>>2]|0)>>2)+1|0,m=f7(s)|0,m>>>0<d>>>0)Zr(s);else{k=n[s>>2]|0,M=(n[s+8>>2]|0)-k|0,F=M>>1,p7(c,M>>2>>>0<m>>>1>>>0?F>>>0<d>>>0?d:F:m,(n[f>>2]|0)-k>>2,s+8|0),m=c+8|0,n[n[m>>2]>>2]=n[l>>2],n[m>>2]=(n[m>>2]|0)+4,h7(s,c),g7(c),C=B;return}}function tw(s){return s=s|0,n[s+8>>2]|0}function lLe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0,k=0,F=0,M=0;if(B=C,C=C+32|0,c=B,f=s+4|0,d=((n[f>>2]|0)-(n[s>>2]|0)>>2)+1|0,m=A7(s)|0,m>>>0<d>>>0)Zr(s);else{k=n[s>>2]|0,M=(n[s+8>>2]|0)-k|0,F=M>>1,bLe(c,M>>2>>>0<m>>>1>>>0?F>>>0<d>>>0?d:F:m,(n[f>>2]|0)-k>>2,s+8|0),m=c+8|0,n[n[m>>2]>>2]=n[l>>2],n[m>>2]=(n[m>>2]|0)+4,xLe(s,c),kLe(c),C=B;return}}function LD(s){return s=s|0,n[s>>2]|0}function cLe(s,l,c,f,d,m){s=s|0,l=l|0,c=c|0,f=f|0,d=d|0,m=m|0,uLe(s,l,c,f,d,m)}function VR(s){s=s|0;var l=0,c=0,f=0;c=n[s>>2]|0,f=c,c|0&&(s=s+4|0,l=n[s>>2]|0,(l|0)!=(c|0)&&(n[s>>2]=l+(~((l+-4-f|0)>>>2)<<2)),yt(c))}function $A(s){s=s|0;var l=0,c=0,f=0;c=n[s>>2]|0,f=c,c|0&&(s=s+4|0,l=n[s>>2]|0,(l|0)!=(c|0)&&(n[s>>2]=l+(~((l+-4-f|0)>>>2)<<2)),yt(c))}function uLe(s,l,c,f,d,m){s=s|0,l=l|0,c=c|0,f=f|0,d=d|0,m=m|0;var B=0,k=0,F=0,M=0,O=0,j=0;B=C,C=C+48|0,O=B+40|0,k=B+32|0,j=B+24|0,F=B+12|0,M=B,$a(k),s=ys(s)|0,n[j>>2]=n[l>>2],c=n[c>>2]|0,f=n[f>>2]|0,JR(F,d),ALe(M,m),n[O>>2]=n[j>>2],fLe(s,O,c,f,F,M),VR(M),$A(F),el(k),C=B}function JR(s,l){s=s|0,l=l|0;var c=0,f=0;n[s>>2]=0,n[s+4>>2]=0,n[s+8>>2]=0,c=l+4|0,f=(n[c>>2]|0)-(n[l>>2]|0)>>2,f|0&&(PLe(s,f),SLe(s,n[l>>2]|0,n[c>>2]|0,f))}function ALe(s,l){s=s|0,l=l|0;var c=0,f=0;n[s>>2]=0,n[s+4>>2]=0,n[s+8>>2]=0,c=l+4|0,f=(n[c>>2]|0)-(n[l>>2]|0)>>2,f|0&&(vLe(s,f),DLe(s,n[l>>2]|0,n[c>>2]|0,f))}function fLe(s,l,c,f,d,m){s=s|0,l=l|0,c=c|0,f=f|0,d=d|0,m=m|0;var B=0,k=0,F=0,M=0,O=0,j=0;B=C,C=C+32|0,O=B+28|0,j=B+24|0,k=B+12|0,F=B,M=jo(pLe()|0)|0,n[j>>2]=n[l>>2],n[O>>2]=n[j>>2],l=L0(O)|0,c=o7(c)|0,f=zR(f)|0,n[k>>2]=n[d>>2],O=d+4|0,n[k+4>>2]=n[O>>2],j=d+8|0,n[k+8>>2]=n[j>>2],n[j>>2]=0,n[O>>2]=0,n[d>>2]=0,d=XR(k)|0,n[F>>2]=n[m>>2],O=m+4|0,n[F+4>>2]=n[O>>2],j=m+8|0,n[F+8>>2]=n[j>>2],n[j>>2]=0,n[O>>2]=0,n[m>>2]=0,gc(0,M|0,s|0,l|0,c|0,f|0,d|0,hLe(F)|0)|0,VR(F),$A(k),C=B}function pLe(){var s=0;return o[7968]|0||(wLe(10708),s=7968,n[s>>2]=1,n[s+4>>2]=0),10708}function L0(s){return s=s|0,l7(s)|0}function o7(s){return s=s|0,a7(s)|0}function zR(s){return s=s|0,RD(s)|0}function XR(s){return s=s|0,dLe(s)|0}function hLe(s){return s=s|0,gLe(s)|0}function gLe(s){s=s|0;var l=0,c=0,f=0;if(f=(n[s+4>>2]|0)-(n[s>>2]|0)|0,c=f>>2,f=Za(f+4|0)|0,n[f>>2]=c,c|0){l=0;do n[f+4+(l<<2)>>2]=a7(n[(n[s>>2]|0)+(l<<2)>>2]|0)|0,l=l+1|0;while((l|0)!=(c|0))}return f|0}function a7(s){return s=s|0,s|0}function dLe(s){s=s|0;var l=0,c=0,f=0;if(f=(n[s+4>>2]|0)-(n[s>>2]|0)|0,c=f>>2,f=Za(f+4|0)|0,n[f>>2]=c,c|0){l=0;do n[f+4+(l<<2)>>2]=l7((n[s>>2]|0)+(l<<2)|0)|0,l=l+1|0;while((l|0)!=(c|0))}return f|0}function l7(s){s=s|0;var l=0,c=0,f=0,d=0;return d=C,C=C+32|0,l=d+12|0,c=d,f=cR(c7()|0)|0,f?(uR(l,f),AR(c,l),ZUe(s,c),s=fR(l)|0):s=mLe(s)|0,C=d,s|0}function c7(){var s=0;return o[7960]|0||(ILe(10664),pr(25,10664,U|0)|0,s=7960,n[s>>2]=1,n[s+4>>2]=0),10664}function mLe(s){s=s|0;var l=0,c=0,f=0,d=0,m=0,B=0,k=0;return c=C,C=C+16|0,d=c+4|0,B=c,f=Za(8)|0,l=f,k=Yt(4)|0,n[k>>2]=n[s>>2],m=l+4|0,n[m>>2]=k,s=Yt(8)|0,m=n[m>>2]|0,n[B>>2]=0,n[d>>2]=n[B>>2],u7(s,m,d),n[f>>2]=s,C=c,l|0}function u7(s,l,c){s=s|0,l=l|0,c=c|0,n[s>>2]=l,c=Yt(16)|0,n[c+4>>2]=0,n[c+8>>2]=0,n[c>>2]=1656,n[c+12>>2]=l,n[s+4>>2]=c}function yLe(s){s=s|0,im(s),yt(s)}function ELe(s){s=s|0,s=n[s+12>>2]|0,s|0&&yt(s)}function CLe(s){s=s|0,yt(s)}function ILe(s){s=s|0,Sp(s)}function wLe(s){s=s|0,ao(s,BLe()|0,5)}function BLe(){return 1676}function vLe(s,l){s=s|0,l=l|0;var c=0;if((A7(s)|0)>>>0<l>>>0&&Zr(s),l>>>0>1073741823)Tt();else{c=Yt(l<<2)|0,n[s+4>>2]=c,n[s>>2]=c,n[s+8>>2]=c+(l<<2);return}}function DLe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0,f=s+4|0,s=c-l|0,(s|0)>0&&(xr(n[f>>2]|0,l|0,s|0)|0,n[f>>2]=(n[f>>2]|0)+(s>>>2<<2))}function A7(s){return s=s|0,1073741823}function PLe(s,l){s=s|0,l=l|0;var c=0;if((f7(s)|0)>>>0<l>>>0&&Zr(s),l>>>0>1073741823)Tt();else{c=Yt(l<<2)|0,n[s+4>>2]=c,n[s>>2]=c,n[s+8>>2]=c+(l<<2);return}}function SLe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0,f=s+4|0,s=c-l|0,(s|0)>0&&(xr(n[f>>2]|0,l|0,s|0)|0,n[f>>2]=(n[f>>2]|0)+(s>>>2<<2))}function f7(s){return s=s|0,1073741823}function bLe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0;n[s+12>>2]=0,n[s+16>>2]=f;do if(l)if(l>>>0>1073741823)Tt();else{d=Yt(l<<2)|0;break}else d=0;while(!1);n[s>>2]=d,f=d+(c<<2)|0,n[s+8>>2]=f,n[s+4>>2]=f,n[s+12>>2]=d+(l<<2)}function xLe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0;f=n[s>>2]|0,B=s+4|0,m=l+4|0,d=(n[B>>2]|0)-f|0,c=(n[m>>2]|0)+(0-(d>>2)<<2)|0,n[m>>2]=c,(d|0)>0?(xr(c|0,f|0,d|0)|0,f=m,c=n[m>>2]|0):f=m,m=n[s>>2]|0,n[s>>2]=c,n[f>>2]=m,m=l+8|0,d=n[B>>2]|0,n[B>>2]=n[m>>2],n[m>>2]=d,m=s+8|0,B=l+12|0,s=n[m>>2]|0,n[m>>2]=n[B>>2],n[B>>2]=s,n[l>>2]=n[f>>2]}function kLe(s){s=s|0;var l=0,c=0,f=0;l=n[s+4>>2]|0,c=s+8|0,f=n[c>>2]|0,(f|0)!=(l|0)&&(n[c>>2]=f+(~((f+-4-l|0)>>>2)<<2)),s=n[s>>2]|0,s|0&&yt(s)}function p7(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0;n[s+12>>2]=0,n[s+16>>2]=f;do if(l)if(l>>>0>1073741823)Tt();else{d=Yt(l<<2)|0;break}else d=0;while(!1);n[s>>2]=d,f=d+(c<<2)|0,n[s+8>>2]=f,n[s+4>>2]=f,n[s+12>>2]=d+(l<<2)}function h7(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0;f=n[s>>2]|0,B=s+4|0,m=l+4|0,d=(n[B>>2]|0)-f|0,c=(n[m>>2]|0)+(0-(d>>2)<<2)|0,n[m>>2]=c,(d|0)>0?(xr(c|0,f|0,d|0)|0,f=m,c=n[m>>2]|0):f=m,m=n[s>>2]|0,n[s>>2]=c,n[f>>2]=m,m=l+8|0,d=n[B>>2]|0,n[B>>2]=n[m>>2],n[m>>2]=d,m=s+8|0,B=l+12|0,s=n[m>>2]|0,n[m>>2]=n[B>>2],n[B>>2]=s,n[l>>2]=n[f>>2]}function g7(s){s=s|0;var l=0,c=0,f=0;l=n[s+4>>2]|0,c=s+8|0,f=n[c>>2]|0,(f|0)!=(l|0)&&(n[c>>2]=f+(~((f+-4-l|0)>>>2)<<2)),s=n[s>>2]|0,s|0&&yt(s)}function QLe(s,l,c,f,d){s=s|0,l=l|0,c=c|0,f=f|0,d=d|0;var m=0,B=0,k=0,F=0,M=0,O=0,j=0,oe=0,We=0,Oe=0,Qe=0;if(Qe=C,C=C+32|0,O=Qe+20|0,j=Qe+12|0,M=Qe+16|0,oe=Qe+4|0,We=Qe,Oe=Qe+8|0,k=n7()|0,m=n[k>>2]|0,B=n[m>>2]|0,B|0)for(F=n[k+8>>2]|0,k=n[k+4>>2]|0;Tc(O,B),FLe(s,O,k,F),m=m+4|0,B=n[m>>2]|0,B;)F=F+1|0,k=k+1|0;if(m=i7()|0,B=n[m>>2]|0,B|0)do Tc(O,B),n[j>>2]=n[m+4>>2],RLe(l,O,j),m=m+8|0,B=n[m>>2]|0;while(B|0);if(m=n[($d()|0)>>2]|0,m|0)do l=n[m+4>>2]|0,Tc(O,n[(em(l)|0)>>2]|0),n[j>>2]=GR(l)|0,TLe(c,O,j),m=n[m>>2]|0;while(m|0);if(Tc(M,0),m=WR()|0,n[O>>2]=n[M>>2],s7(O,m,d),m=n[($d()|0)>>2]|0,m|0){s=O+4|0,l=O+8|0,c=O+8|0;do{if(F=n[m+4>>2]|0,Tc(j,n[(em(F)|0)>>2]|0),NLe(oe,d7(F)|0),B=n[oe>>2]|0,B|0){n[O>>2]=0,n[s>>2]=0,n[l>>2]=0;do Tc(We,n[(em(n[B+4>>2]|0)|0)>>2]|0),k=n[s>>2]|0,k>>>0<(n[c>>2]|0)>>>0?(n[k>>2]=n[We>>2],n[s>>2]=(n[s>>2]|0)+4):KR(O,We),B=n[B>>2]|0;while(B|0);LLe(f,j,O),$A(O)}n[Oe>>2]=n[j>>2],M=m7(F)|0,n[O>>2]=n[Oe>>2],s7(O,M,d),UG(oe),m=n[m>>2]|0}while(m|0)}C=Qe}function FLe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0,VLe(s,l,c,f)}function RLe(s,l,c){s=s|0,l=l|0,c=c|0,KLe(s,l,c)}function em(s){return s=s|0,s|0}function TLe(s,l,c){s=s|0,l=l|0,c=c|0,jLe(s,l,c)}function d7(s){return s=s|0,s+16|0}function NLe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0,k=0,F=0;if(m=C,C=C+16|0,d=m+8|0,c=m,n[s>>2]=0,f=n[l>>2]|0,n[d>>2]=f,n[c>>2]=s,c=qLe(c)|0,f|0){if(f=Yt(12)|0,B=(y7(d)|0)+4|0,s=n[B+4>>2]|0,l=f+4|0,n[l>>2]=n[B>>2],n[l+4>>2]=s,l=n[n[d>>2]>>2]|0,n[d>>2]=l,!l)s=f;else for(l=f;s=Yt(12)|0,F=(y7(d)|0)+4|0,k=n[F+4>>2]|0,B=s+4|0,n[B>>2]=n[F>>2],n[B+4>>2]=k,n[l>>2]=s,B=n[n[d>>2]>>2]|0,n[d>>2]=B,B;)l=s;n[s>>2]=n[c>>2],n[c>>2]=f}C=m}function LLe(s,l,c){s=s|0,l=l|0,c=c|0,OLe(s,l,c)}function m7(s){return s=s|0,s+24|0}function OLe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,k=0;f=C,C=C+32|0,B=f+24|0,d=f+16|0,k=f+12|0,m=f,$a(d),s=ys(s)|0,n[k>>2]=n[l>>2],JR(m,c),n[B>>2]=n[k>>2],MLe(s,B,m),$A(m),el(d),C=f}function MLe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,k=0;f=C,C=C+32|0,B=f+16|0,k=f+12|0,d=f,m=jo(ULe()|0)|0,n[k>>2]=n[l>>2],n[B>>2]=n[k>>2],l=L0(B)|0,n[d>>2]=n[c>>2],B=c+4|0,n[d+4>>2]=n[B>>2],k=c+8|0,n[d+8>>2]=n[k>>2],n[k>>2]=0,n[B>>2]=0,n[c>>2]=0,hs(0,m|0,s|0,l|0,XR(d)|0)|0,$A(d),C=f}function ULe(){var s=0;return o[7976]|0||(_Le(10720),s=7976,n[s>>2]=1,n[s+4>>2]=0),10720}function _Le(s){s=s|0,ao(s,HLe()|0,2)}function HLe(){return 1732}function qLe(s){return s=s|0,n[s>>2]|0}function y7(s){return s=s|0,n[s>>2]|0}function jLe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0;f=C,C=C+32|0,m=f+16|0,d=f+8|0,B=f,$a(d),s=ys(s)|0,n[B>>2]=n[l>>2],c=n[c>>2]|0,n[m>>2]=n[B>>2],E7(s,m,c),el(d),C=f}function E7(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0;f=C,C=C+16|0,m=f+4|0,B=f,d=jo(GLe()|0)|0,n[B>>2]=n[l>>2],n[m>>2]=n[B>>2],l=L0(m)|0,hs(0,d|0,s|0,l|0,o7(c)|0)|0,C=f}function GLe(){var s=0;return o[7984]|0||(WLe(10732),s=7984,n[s>>2]=1,n[s+4>>2]=0),10732}function WLe(s){s=s|0,ao(s,YLe()|0,2)}function YLe(){return 1744}function KLe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0;f=C,C=C+32|0,m=f+16|0,d=f+8|0,B=f,$a(d),s=ys(s)|0,n[B>>2]=n[l>>2],c=n[c>>2]|0,n[m>>2]=n[B>>2],E7(s,m,c),el(d),C=f}function VLe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0,m=0,B=0,k=0;d=C,C=C+32|0,B=d+16|0,m=d+8|0,k=d,$a(m),s=ys(s)|0,n[k>>2]=n[l>>2],c=o[c>>0]|0,f=o[f>>0]|0,n[B>>2]=n[k>>2],JLe(s,B,c,f),el(m),C=d}function JLe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0,m=0,B=0,k=0;d=C,C=C+16|0,B=d+4|0,k=d,m=jo(zLe()|0)|0,n[k>>2]=n[l>>2],n[B>>2]=n[k>>2],l=L0(B)|0,c=tm(c)|0,vi(0,m|0,s|0,l|0,c|0,tm(f)|0)|0,C=d}function zLe(){var s=0;return o[7992]|0||(ZLe(10744),s=7992,n[s>>2]=1,n[s+4>>2]=0),10744}function tm(s){return s=s|0,XLe(s)|0}function XLe(s){return s=s|0,s&255|0}function ZLe(s){s=s|0,ao(s,$Le()|0,3)}function $Le(){return 1756}function eOe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,k=0,F=0,M=0,O=0,j=0,oe=0;switch(oe=C,C=C+32|0,k=oe+8|0,F=oe+4|0,M=oe+20|0,O=oe,dR(s,0),f=XUe(l)|0,n[k>>2]=0,j=k+4|0,n[j>>2]=0,n[k+8>>2]=0,f<<24>>24){case 0:{o[M>>0]=0,tOe(F,c,M),OD(s,F)|0,xu(F);break}case 8:{j=nT(l)|0,o[M>>0]=8,Tc(O,n[j+4>>2]|0),rOe(F,c,M,O,j+8|0),OD(s,F)|0,xu(F);break}case 9:{if(m=nT(l)|0,l=n[m+4>>2]|0,l|0)for(B=k+8|0,d=m+12|0;l=l+-1|0,Tc(F,n[d>>2]|0),f=n[j>>2]|0,f>>>0<(n[B>>2]|0)>>>0?(n[f>>2]=n[F>>2],n[j>>2]=(n[j>>2]|0)+4):KR(k,F),l;)d=d+4|0;o[M>>0]=9,Tc(O,n[m+8>>2]|0),nOe(F,c,M,O,k),OD(s,F)|0,xu(F);break}default:j=nT(l)|0,o[M>>0]=f,Tc(O,n[j+4>>2]|0),iOe(F,c,M,O),OD(s,F)|0,xu(F)}$A(k),C=oe}function tOe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0;f=C,C=C+16|0,d=f,$a(d),l=ys(l)|0,mOe(s,l,o[c>>0]|0),el(d),C=f}function OD(s,l){s=s|0,l=l|0;var c=0;return c=n[s>>2]|0,c|0&&sa(c|0),n[s>>2]=n[l>>2],n[l>>2]=0,s|0}function rOe(s,l,c,f,d){s=s|0,l=l|0,c=c|0,f=f|0,d=d|0;var m=0,B=0,k=0,F=0;m=C,C=C+32|0,k=m+16|0,B=m+8|0,F=m,$a(B),l=ys(l)|0,c=o[c>>0]|0,n[F>>2]=n[f>>2],d=n[d>>2]|0,n[k>>2]=n[F>>2],pOe(s,l,c,k,d),el(B),C=m}function nOe(s,l,c,f,d){s=s|0,l=l|0,c=c|0,f=f|0,d=d|0;var m=0,B=0,k=0,F=0,M=0;m=C,C=C+32|0,F=m+24|0,B=m+16|0,M=m+12|0,k=m,$a(B),l=ys(l)|0,c=o[c>>0]|0,n[M>>2]=n[f>>2],JR(k,d),n[F>>2]=n[M>>2],cOe(s,l,c,F,k),$A(k),el(B),C=m}function iOe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0,m=0,B=0,k=0;d=C,C=C+32|0,B=d+16|0,m=d+8|0,k=d,$a(m),l=ys(l)|0,c=o[c>>0]|0,n[k>>2]=n[f>>2],n[B>>2]=n[k>>2],sOe(s,l,c,B),el(m),C=d}function sOe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0,m=0,B=0,k=0;d=C,C=C+16|0,m=d+4|0,k=d,B=jo(oOe()|0)|0,c=tm(c)|0,n[k>>2]=n[f>>2],n[m>>2]=n[k>>2],MD(s,hs(0,B|0,l|0,c|0,L0(m)|0)|0),C=d}function oOe(){var s=0;return o[8e3]|0||(aOe(10756),s=8e3,n[s>>2]=1,n[s+4>>2]=0),10756}function MD(s,l){s=s|0,l=l|0,dR(s,l)}function aOe(s){s=s|0,ao(s,lOe()|0,2)}function lOe(){return 1772}function cOe(s,l,c,f,d){s=s|0,l=l|0,c=c|0,f=f|0,d=d|0;var m=0,B=0,k=0,F=0,M=0;m=C,C=C+32|0,F=m+16|0,M=m+12|0,B=m,k=jo(uOe()|0)|0,c=tm(c)|0,n[M>>2]=n[f>>2],n[F>>2]=n[M>>2],f=L0(F)|0,n[B>>2]=n[d>>2],F=d+4|0,n[B+4>>2]=n[F>>2],M=d+8|0,n[B+8>>2]=n[M>>2],n[M>>2]=0,n[F>>2]=0,n[d>>2]=0,MD(s,vi(0,k|0,l|0,c|0,f|0,XR(B)|0)|0),$A(B),C=m}function uOe(){var s=0;return o[8008]|0||(AOe(10768),s=8008,n[s>>2]=1,n[s+4>>2]=0),10768}function AOe(s){s=s|0,ao(s,fOe()|0,3)}function fOe(){return 1784}function pOe(s,l,c,f,d){s=s|0,l=l|0,c=c|0,f=f|0,d=d|0;var m=0,B=0,k=0,F=0;m=C,C=C+16|0,k=m+4|0,F=m,B=jo(hOe()|0)|0,c=tm(c)|0,n[F>>2]=n[f>>2],n[k>>2]=n[F>>2],f=L0(k)|0,MD(s,vi(0,B|0,l|0,c|0,f|0,zR(d)|0)|0),C=m}function hOe(){var s=0;return o[8016]|0||(gOe(10780),s=8016,n[s>>2]=1,n[s+4>>2]=0),10780}function gOe(s){s=s|0,ao(s,dOe()|0,3)}function dOe(){return 1800}function mOe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0;f=jo(yOe()|0)|0,MD(s,un(0,f|0,l|0,tm(c)|0)|0)}function yOe(){var s=0;return o[8024]|0||(EOe(10792),s=8024,n[s>>2]=1,n[s+4>>2]=0),10792}function EOe(s){s=s|0,ao(s,COe()|0,1)}function COe(){return 1816}function IOe(){wOe(),BOe(),vOe()}function wOe(){n[2702]=K7(65536)|0}function BOe(){GOe(10856)}function vOe(){DOe(10816)}function DOe(s){s=s|0,POe(s,5044),SOe(s)|0}function POe(s,l){s=s|0,l=l|0;var c=0;c=c7()|0,n[s>>2]=c,MOe(c,l),Fp(n[s>>2]|0)}function SOe(s){s=s|0;var l=0;return l=n[s>>2]|0,T0(l,bOe()|0),s|0}function bOe(){var s=0;return o[8032]|0||(C7(10820),pr(64,10820,U|0)|0,s=8032,n[s>>2]=1,n[s+4>>2]=0),Lr(10820)|0||C7(10820),10820}function C7(s){s=s|0,QOe(s),N0(s,25)}function xOe(s){s=s|0,kOe(s+24|0)}function kOe(s){s=s|0;var l=0,c=0,f=0;c=n[s>>2]|0,f=c,c|0&&(s=s+4|0,l=n[s>>2]|0,(l|0)!=(c|0)&&(n[s>>2]=l+(~((l+-8-f|0)>>>3)<<3)),yt(c))}function QOe(s){s=s|0;var l=0;l=Jr()|0,zr(s,5,18,l,NOe()|0,1),n[s+24>>2]=0,n[s+28>>2]=0,n[s+32>>2]=0}function FOe(s,l){s=s|0,l=l|0,ROe(s,l)}function ROe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0;c=C,C=C+16|0,f=c,d=c+4|0,F0(d,l),n[f>>2]=R0(d,l)|0,TOe(s,f),C=c}function TOe(s,l){s=s|0,l=l|0,I7(s+4|0,n[l>>2]|0),o[s+8>>0]=1}function I7(s,l){s=s|0,l=l|0,n[s>>2]=l}function NOe(){return 1824}function LOe(s){return s=s|0,OOe(s)|0}function OOe(s){s=s|0;var l=0,c=0,f=0,d=0,m=0,B=0,k=0;return c=C,C=C+16|0,d=c+4|0,B=c,f=Za(8)|0,l=f,k=Yt(4)|0,F0(d,s),I7(k,R0(d,s)|0),m=l+4|0,n[m>>2]=k,s=Yt(8)|0,m=n[m>>2]|0,n[B>>2]=0,n[d>>2]=n[B>>2],u7(s,m,d),n[f>>2]=s,C=c,l|0}function Za(s){s=s|0;var l=0,c=0;return s=s+7&-8,s>>>0<=32768&&(l=n[2701]|0,s>>>0<=(65536-l|0)>>>0)?(c=(n[2702]|0)+l|0,n[2701]=l+s,s=c):(s=K7(s+8|0)|0,n[s>>2]=n[2703],n[2703]=s,s=s+8|0),s|0}function MOe(s,l){s=s|0,l=l|0,n[s>>2]=UOe()|0,n[s+4>>2]=_Oe()|0,n[s+12>>2]=l,n[s+8>>2]=HOe()|0,n[s+32>>2]=9}function UOe(){return 11744}function _Oe(){return 1832}function HOe(){return ND()|0}function qOe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0,(Qp(f,896)|0)==512?c|0&&(jOe(c),yt(c)):l|0&&yt(l)}function jOe(s){s=s|0,s=n[s+4>>2]|0,s|0&&Rp(s)}function GOe(s){s=s|0,WOe(s,5052),YOe(s)|0,KOe(s,5058,26)|0,VOe(s,5069,1)|0,JOe(s,5077,10)|0,zOe(s,5087,19)|0,XOe(s,5094,27)|0}function WOe(s,l){s=s|0,l=l|0;var c=0;c=jUe()|0,n[s>>2]=c,GUe(c,l),Fp(n[s>>2]|0)}function YOe(s){s=s|0;var l=0;return l=n[s>>2]|0,T0(l,xUe()|0),s|0}function KOe(s,l,c){return s=s|0,l=l|0,c=c|0,AUe(s,mn(l)|0,c,0),s|0}function VOe(s,l,c){return s=s|0,l=l|0,c=c|0,zMe(s,mn(l)|0,c,0),s|0}function JOe(s,l,c){return s=s|0,l=l|0,c=c|0,bMe(s,mn(l)|0,c,0),s|0}function zOe(s,l,c){return s=s|0,l=l|0,c=c|0,pMe(s,mn(l)|0,c,0),s|0}function w7(s,l){s=s|0,l=l|0;var c=0,f=0;e:for(;;){for(c=n[2703]|0;;){if((c|0)==(l|0))break e;if(f=n[c>>2]|0,n[2703]=f,!c)c=f;else break}yt(c)}n[2701]=s}function XOe(s,l,c){return s=s|0,l=l|0,c=c|0,ZOe(s,mn(l)|0,c,0),s|0}function ZOe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0,m=0;m=n[s>>2]|0,d=ZR()|0,s=$Oe(c)|0,yn(m,l,d,s,eMe(c,f)|0,f)}function ZR(){var s=0,l=0;if(o[8040]|0||(v7(10860),pr(65,10860,U|0)|0,l=8040,n[l>>2]=1,n[l+4>>2]=0),!(Lr(10860)|0)){s=10860,l=s+36|0;do n[s>>2]=0,s=s+4|0;while((s|0)<(l|0));v7(10860)}return 10860}function $Oe(s){return s=s|0,s|0}function eMe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0,k=0,F=0;return k=C,C=C+16|0,d=k,m=k+4|0,n[d>>2]=s,F=ZR()|0,B=F+24|0,l=dr(l,4)|0,n[m>>2]=l,c=F+28|0,f=n[c>>2]|0,f>>>0<(n[F+32>>2]|0)>>>0?(B7(f,s,l),l=(n[c>>2]|0)+8|0,n[c>>2]=l):(tMe(B,d,m),l=n[c>>2]|0),C=k,(l-(n[B>>2]|0)>>3)+-1|0}function B7(s,l,c){s=s|0,l=l|0,c=c|0,n[s>>2]=l,n[s+4>>2]=c}function tMe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,k=0,F=0,M=0,O=0;if(k=C,C=C+32|0,d=k,m=s+4|0,B=((n[m>>2]|0)-(n[s>>2]|0)>>3)+1|0,f=rMe(s)|0,f>>>0<B>>>0)Zr(s);else{F=n[s>>2]|0,O=(n[s+8>>2]|0)-F|0,M=O>>2,nMe(d,O>>3>>>0<f>>>1>>>0?M>>>0<B>>>0?B:M:f,(n[m>>2]|0)-F>>3,s+8|0),B=d+8|0,B7(n[B>>2]|0,n[l>>2]|0,n[c>>2]|0),n[B>>2]=(n[B>>2]|0)+8,iMe(s,d),sMe(d),C=k;return}}function rMe(s){return s=s|0,536870911}function nMe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0;n[s+12>>2]=0,n[s+16>>2]=f;do if(l)if(l>>>0>536870911)Tt();else{d=Yt(l<<3)|0;break}else d=0;while(!1);n[s>>2]=d,f=d+(c<<3)|0,n[s+8>>2]=f,n[s+4>>2]=f,n[s+12>>2]=d+(l<<3)}function iMe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0;f=n[s>>2]|0,B=s+4|0,m=l+4|0,d=(n[B>>2]|0)-f|0,c=(n[m>>2]|0)+(0-(d>>3)<<3)|0,n[m>>2]=c,(d|0)>0?(xr(c|0,f|0,d|0)|0,f=m,c=n[m>>2]|0):f=m,m=n[s>>2]|0,n[s>>2]=c,n[f>>2]=m,m=l+8|0,d=n[B>>2]|0,n[B>>2]=n[m>>2],n[m>>2]=d,m=s+8|0,B=l+12|0,s=n[m>>2]|0,n[m>>2]=n[B>>2],n[B>>2]=s,n[l>>2]=n[f>>2]}function sMe(s){s=s|0;var l=0,c=0,f=0;l=n[s+4>>2]|0,c=s+8|0,f=n[c>>2]|0,(f|0)!=(l|0)&&(n[c>>2]=f+(~((f+-8-l|0)>>>3)<<3)),s=n[s>>2]|0,s|0&&yt(s)}function v7(s){s=s|0,lMe(s)}function oMe(s){s=s|0,aMe(s+24|0)}function aMe(s){s=s|0;var l=0,c=0,f=0;c=n[s>>2]|0,f=c,c|0&&(s=s+4|0,l=n[s>>2]|0,(l|0)!=(c|0)&&(n[s>>2]=l+(~((l+-8-f|0)>>>3)<<3)),yt(c))}function lMe(s){s=s|0;var l=0;l=Jr()|0,zr(s,1,11,l,cMe()|0,2),n[s+24>>2]=0,n[s+28>>2]=0,n[s+32>>2]=0}function cMe(){return 1840}function uMe(s,l,c){s=s|0,l=l|0,c=c|0,fMe(n[(AMe(s)|0)>>2]|0,l,c)}function AMe(s){return s=s|0,(n[(ZR()|0)+24>>2]|0)+(s<<3)|0}function fMe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0;f=C,C=C+16|0,m=f+1|0,d=f,F0(m,l),l=R0(m,l)|0,F0(d,c),c=R0(d,c)|0,tf[s&31](l,c),C=f}function pMe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0,m=0;m=n[s>>2]|0,d=$R()|0,s=hMe(c)|0,yn(m,l,d,s,gMe(c,f)|0,f)}function $R(){var s=0,l=0;if(o[8048]|0||(P7(10896),pr(66,10896,U|0)|0,l=8048,n[l>>2]=1,n[l+4>>2]=0),!(Lr(10896)|0)){s=10896,l=s+36|0;do n[s>>2]=0,s=s+4|0;while((s|0)<(l|0));P7(10896)}return 10896}function hMe(s){return s=s|0,s|0}function gMe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0,k=0,F=0;return k=C,C=C+16|0,d=k,m=k+4|0,n[d>>2]=s,F=$R()|0,B=F+24|0,l=dr(l,4)|0,n[m>>2]=l,c=F+28|0,f=n[c>>2]|0,f>>>0<(n[F+32>>2]|0)>>>0?(D7(f,s,l),l=(n[c>>2]|0)+8|0,n[c>>2]=l):(dMe(B,d,m),l=n[c>>2]|0),C=k,(l-(n[B>>2]|0)>>3)+-1|0}function D7(s,l,c){s=s|0,l=l|0,c=c|0,n[s>>2]=l,n[s+4>>2]=c}function dMe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,k=0,F=0,M=0,O=0;if(k=C,C=C+32|0,d=k,m=s+4|0,B=((n[m>>2]|0)-(n[s>>2]|0)>>3)+1|0,f=mMe(s)|0,f>>>0<B>>>0)Zr(s);else{F=n[s>>2]|0,O=(n[s+8>>2]|0)-F|0,M=O>>2,yMe(d,O>>3>>>0<f>>>1>>>0?M>>>0<B>>>0?B:M:f,(n[m>>2]|0)-F>>3,s+8|0),B=d+8|0,D7(n[B>>2]|0,n[l>>2]|0,n[c>>2]|0),n[B>>2]=(n[B>>2]|0)+8,EMe(s,d),CMe(d),C=k;return}}function mMe(s){return s=s|0,536870911}function yMe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0;n[s+12>>2]=0,n[s+16>>2]=f;do if(l)if(l>>>0>536870911)Tt();else{d=Yt(l<<3)|0;break}else d=0;while(!1);n[s>>2]=d,f=d+(c<<3)|0,n[s+8>>2]=f,n[s+4>>2]=f,n[s+12>>2]=d+(l<<3)}function EMe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0;f=n[s>>2]|0,B=s+4|0,m=l+4|0,d=(n[B>>2]|0)-f|0,c=(n[m>>2]|0)+(0-(d>>3)<<3)|0,n[m>>2]=c,(d|0)>0?(xr(c|0,f|0,d|0)|0,f=m,c=n[m>>2]|0):f=m,m=n[s>>2]|0,n[s>>2]=c,n[f>>2]=m,m=l+8|0,d=n[B>>2]|0,n[B>>2]=n[m>>2],n[m>>2]=d,m=s+8|0,B=l+12|0,s=n[m>>2]|0,n[m>>2]=n[B>>2],n[B>>2]=s,n[l>>2]=n[f>>2]}function CMe(s){s=s|0;var l=0,c=0,f=0;l=n[s+4>>2]|0,c=s+8|0,f=n[c>>2]|0,(f|0)!=(l|0)&&(n[c>>2]=f+(~((f+-8-l|0)>>>3)<<3)),s=n[s>>2]|0,s|0&&yt(s)}function P7(s){s=s|0,BMe(s)}function IMe(s){s=s|0,wMe(s+24|0)}function wMe(s){s=s|0;var l=0,c=0,f=0;c=n[s>>2]|0,f=c,c|0&&(s=s+4|0,l=n[s>>2]|0,(l|0)!=(c|0)&&(n[s>>2]=l+(~((l+-8-f|0)>>>3)<<3)),yt(c))}function BMe(s){s=s|0;var l=0;l=Jr()|0,zr(s,1,11,l,vMe()|0,1),n[s+24>>2]=0,n[s+28>>2]=0,n[s+32>>2]=0}function vMe(){return 1852}function DMe(s,l){return s=s|0,l=l|0,SMe(n[(PMe(s)|0)>>2]|0,l)|0}function PMe(s){return s=s|0,(n[($R()|0)+24>>2]|0)+(s<<3)|0}function SMe(s,l){s=s|0,l=l|0;var c=0,f=0;return c=C,C=C+16|0,f=c,F0(f,l),l=R0(f,l)|0,l=RD(_0[s&31](l)|0)|0,C=c,l|0}function bMe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0,m=0;m=n[s>>2]|0,d=eT()|0,s=xMe(c)|0,yn(m,l,d,s,kMe(c,f)|0,f)}function eT(){var s=0,l=0;if(o[8056]|0||(b7(10932),pr(67,10932,U|0)|0,l=8056,n[l>>2]=1,n[l+4>>2]=0),!(Lr(10932)|0)){s=10932,l=s+36|0;do n[s>>2]=0,s=s+4|0;while((s|0)<(l|0));b7(10932)}return 10932}function xMe(s){return s=s|0,s|0}function kMe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0,k=0,F=0;return k=C,C=C+16|0,d=k,m=k+4|0,n[d>>2]=s,F=eT()|0,B=F+24|0,l=dr(l,4)|0,n[m>>2]=l,c=F+28|0,f=n[c>>2]|0,f>>>0<(n[F+32>>2]|0)>>>0?(S7(f,s,l),l=(n[c>>2]|0)+8|0,n[c>>2]=l):(QMe(B,d,m),l=n[c>>2]|0),C=k,(l-(n[B>>2]|0)>>3)+-1|0}function S7(s,l,c){s=s|0,l=l|0,c=c|0,n[s>>2]=l,n[s+4>>2]=c}function QMe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,k=0,F=0,M=0,O=0;if(k=C,C=C+32|0,d=k,m=s+4|0,B=((n[m>>2]|0)-(n[s>>2]|0)>>3)+1|0,f=FMe(s)|0,f>>>0<B>>>0)Zr(s);else{F=n[s>>2]|0,O=(n[s+8>>2]|0)-F|0,M=O>>2,RMe(d,O>>3>>>0<f>>>1>>>0?M>>>0<B>>>0?B:M:f,(n[m>>2]|0)-F>>3,s+8|0),B=d+8|0,S7(n[B>>2]|0,n[l>>2]|0,n[c>>2]|0),n[B>>2]=(n[B>>2]|0)+8,TMe(s,d),NMe(d),C=k;return}}function FMe(s){return s=s|0,536870911}function RMe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0;n[s+12>>2]=0,n[s+16>>2]=f;do if(l)if(l>>>0>536870911)Tt();else{d=Yt(l<<3)|0;break}else d=0;while(!1);n[s>>2]=d,f=d+(c<<3)|0,n[s+8>>2]=f,n[s+4>>2]=f,n[s+12>>2]=d+(l<<3)}function TMe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0;f=n[s>>2]|0,B=s+4|0,m=l+4|0,d=(n[B>>2]|0)-f|0,c=(n[m>>2]|0)+(0-(d>>3)<<3)|0,n[m>>2]=c,(d|0)>0?(xr(c|0,f|0,d|0)|0,f=m,c=n[m>>2]|0):f=m,m=n[s>>2]|0,n[s>>2]=c,n[f>>2]=m,m=l+8|0,d=n[B>>2]|0,n[B>>2]=n[m>>2],n[m>>2]=d,m=s+8|0,B=l+12|0,s=n[m>>2]|0,n[m>>2]=n[B>>2],n[B>>2]=s,n[l>>2]=n[f>>2]}function NMe(s){s=s|0;var l=0,c=0,f=0;l=n[s+4>>2]|0,c=s+8|0,f=n[c>>2]|0,(f|0)!=(l|0)&&(n[c>>2]=f+(~((f+-8-l|0)>>>3)<<3)),s=n[s>>2]|0,s|0&&yt(s)}function b7(s){s=s|0,MMe(s)}function LMe(s){s=s|0,OMe(s+24|0)}function OMe(s){s=s|0;var l=0,c=0,f=0;c=n[s>>2]|0,f=c,c|0&&(s=s+4|0,l=n[s>>2]|0,(l|0)!=(c|0)&&(n[s>>2]=l+(~((l+-8-f|0)>>>3)<<3)),yt(c))}function MMe(s){s=s|0;var l=0;l=Jr()|0,zr(s,1,7,l,UMe()|0,2),n[s+24>>2]=0,n[s+28>>2]=0,n[s+32>>2]=0}function UMe(){return 1860}function _Me(s,l,c){return s=s|0,l=l|0,c=c|0,qMe(n[(HMe(s)|0)>>2]|0,l,c)|0}function HMe(s){return s=s|0,(n[(eT()|0)+24>>2]|0)+(s<<3)|0}function qMe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,k=0,F=0;return f=C,C=C+32|0,B=f+12|0,m=f+8|0,k=f,F=f+16|0,d=f+4|0,jMe(F,l),GMe(k,F,l),bp(d,c),c=xp(d,c)|0,n[B>>2]=n[k>>2],sw[s&15](m,B,c),c=WMe(m)|0,xu(m),kp(d),C=f,c|0}function jMe(s,l){s=s|0,l=l|0}function GMe(s,l,c){s=s|0,l=l|0,c=c|0,YMe(s,c)}function WMe(s){return s=s|0,ys(s)|0}function YMe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0;d=C,C=C+16|0,c=d,f=l,f&1?(KMe(c,0),ia(f|0,c|0)|0,VMe(s,c),JMe(c)):n[s>>2]=n[l>>2],C=d}function KMe(s,l){s=s|0,l=l|0,Fc(s,l),n[s+4>>2]=0,o[s+8>>0]=0}function VMe(s,l){s=s|0,l=l|0,n[s>>2]=n[l+4>>2]}function JMe(s){s=s|0,o[s+8>>0]=0}function zMe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0,m=0;m=n[s>>2]|0,d=tT()|0,s=XMe(c)|0,yn(m,l,d,s,ZMe(c,f)|0,f)}function tT(){var s=0,l=0;if(o[8064]|0||(k7(10968),pr(68,10968,U|0)|0,l=8064,n[l>>2]=1,n[l+4>>2]=0),!(Lr(10968)|0)){s=10968,l=s+36|0;do n[s>>2]=0,s=s+4|0;while((s|0)<(l|0));k7(10968)}return 10968}function XMe(s){return s=s|0,s|0}function ZMe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0,k=0,F=0;return k=C,C=C+16|0,d=k,m=k+4|0,n[d>>2]=s,F=tT()|0,B=F+24|0,l=dr(l,4)|0,n[m>>2]=l,c=F+28|0,f=n[c>>2]|0,f>>>0<(n[F+32>>2]|0)>>>0?(x7(f,s,l),l=(n[c>>2]|0)+8|0,n[c>>2]=l):($Me(B,d,m),l=n[c>>2]|0),C=k,(l-(n[B>>2]|0)>>3)+-1|0}function x7(s,l,c){s=s|0,l=l|0,c=c|0,n[s>>2]=l,n[s+4>>2]=c}function $Me(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,k=0,F=0,M=0,O=0;if(k=C,C=C+32|0,d=k,m=s+4|0,B=((n[m>>2]|0)-(n[s>>2]|0)>>3)+1|0,f=eUe(s)|0,f>>>0<B>>>0)Zr(s);else{F=n[s>>2]|0,O=(n[s+8>>2]|0)-F|0,M=O>>2,tUe(d,O>>3>>>0<f>>>1>>>0?M>>>0<B>>>0?B:M:f,(n[m>>2]|0)-F>>3,s+8|0),B=d+8|0,x7(n[B>>2]|0,n[l>>2]|0,n[c>>2]|0),n[B>>2]=(n[B>>2]|0)+8,rUe(s,d),nUe(d),C=k;return}}function eUe(s){return s=s|0,536870911}function tUe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0;n[s+12>>2]=0,n[s+16>>2]=f;do if(l)if(l>>>0>536870911)Tt();else{d=Yt(l<<3)|0;break}else d=0;while(!1);n[s>>2]=d,f=d+(c<<3)|0,n[s+8>>2]=f,n[s+4>>2]=f,n[s+12>>2]=d+(l<<3)}function rUe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0;f=n[s>>2]|0,B=s+4|0,m=l+4|0,d=(n[B>>2]|0)-f|0,c=(n[m>>2]|0)+(0-(d>>3)<<3)|0,n[m>>2]=c,(d|0)>0?(xr(c|0,f|0,d|0)|0,f=m,c=n[m>>2]|0):f=m,m=n[s>>2]|0,n[s>>2]=c,n[f>>2]=m,m=l+8|0,d=n[B>>2]|0,n[B>>2]=n[m>>2],n[m>>2]=d,m=s+8|0,B=l+12|0,s=n[m>>2]|0,n[m>>2]=n[B>>2],n[B>>2]=s,n[l>>2]=n[f>>2]}function nUe(s){s=s|0;var l=0,c=0,f=0;l=n[s+4>>2]|0,c=s+8|0,f=n[c>>2]|0,(f|0)!=(l|0)&&(n[c>>2]=f+(~((f+-8-l|0)>>>3)<<3)),s=n[s>>2]|0,s|0&&yt(s)}function k7(s){s=s|0,oUe(s)}function iUe(s){s=s|0,sUe(s+24|0)}function sUe(s){s=s|0;var l=0,c=0,f=0;c=n[s>>2]|0,f=c,c|0&&(s=s+4|0,l=n[s>>2]|0,(l|0)!=(c|0)&&(n[s>>2]=l+(~((l+-8-f|0)>>>3)<<3)),yt(c))}function oUe(s){s=s|0;var l=0;l=Jr()|0,zr(s,1,1,l,aUe()|0,5),n[s+24>>2]=0,n[s+28>>2]=0,n[s+32>>2]=0}function aUe(){return 1872}function lUe(s,l,c,f,d,m){s=s|0,l=l|0,c=c|0,f=f|0,d=d|0,m=m|0,uUe(n[(cUe(s)|0)>>2]|0,l,c,f,d,m)}function cUe(s){return s=s|0,(n[(tT()|0)+24>>2]|0)+(s<<3)|0}function uUe(s,l,c,f,d,m){s=s|0,l=l|0,c=c|0,f=f|0,d=d|0,m=m|0;var B=0,k=0,F=0,M=0,O=0,j=0;B=C,C=C+32|0,k=B+16|0,F=B+12|0,M=B+8|0,O=B+4|0,j=B,bp(k,l),l=xp(k,l)|0,bp(F,c),c=xp(F,c)|0,bp(M,f),f=xp(M,f)|0,bp(O,d),d=xp(O,d)|0,bp(j,m),m=xp(j,m)|0,Z7[s&1](l,c,f,d,m),kp(j),kp(O),kp(M),kp(F),kp(k),C=B}function AUe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0,m=0;m=n[s>>2]|0,d=rT()|0,s=fUe(c)|0,yn(m,l,d,s,pUe(c,f)|0,f)}function rT(){var s=0,l=0;if(o[8072]|0||(F7(11004),pr(69,11004,U|0)|0,l=8072,n[l>>2]=1,n[l+4>>2]=0),!(Lr(11004)|0)){s=11004,l=s+36|0;do n[s>>2]=0,s=s+4|0;while((s|0)<(l|0));F7(11004)}return 11004}function fUe(s){return s=s|0,s|0}function pUe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0,k=0,F=0;return k=C,C=C+16|0,d=k,m=k+4|0,n[d>>2]=s,F=rT()|0,B=F+24|0,l=dr(l,4)|0,n[m>>2]=l,c=F+28|0,f=n[c>>2]|0,f>>>0<(n[F+32>>2]|0)>>>0?(Q7(f,s,l),l=(n[c>>2]|0)+8|0,n[c>>2]=l):(hUe(B,d,m),l=n[c>>2]|0),C=k,(l-(n[B>>2]|0)>>3)+-1|0}function Q7(s,l,c){s=s|0,l=l|0,c=c|0,n[s>>2]=l,n[s+4>>2]=c}function hUe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,k=0,F=0,M=0,O=0;if(k=C,C=C+32|0,d=k,m=s+4|0,B=((n[m>>2]|0)-(n[s>>2]|0)>>3)+1|0,f=gUe(s)|0,f>>>0<B>>>0)Zr(s);else{F=n[s>>2]|0,O=(n[s+8>>2]|0)-F|0,M=O>>2,dUe(d,O>>3>>>0<f>>>1>>>0?M>>>0<B>>>0?B:M:f,(n[m>>2]|0)-F>>3,s+8|0),B=d+8|0,Q7(n[B>>2]|0,n[l>>2]|0,n[c>>2]|0),n[B>>2]=(n[B>>2]|0)+8,mUe(s,d),yUe(d),C=k;return}}function gUe(s){return s=s|0,536870911}function dUe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0;n[s+12>>2]=0,n[s+16>>2]=f;do if(l)if(l>>>0>536870911)Tt();else{d=Yt(l<<3)|0;break}else d=0;while(!1);n[s>>2]=d,f=d+(c<<3)|0,n[s+8>>2]=f,n[s+4>>2]=f,n[s+12>>2]=d+(l<<3)}function mUe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0;f=n[s>>2]|0,B=s+4|0,m=l+4|0,d=(n[B>>2]|0)-f|0,c=(n[m>>2]|0)+(0-(d>>3)<<3)|0,n[m>>2]=c,(d|0)>0?(xr(c|0,f|0,d|0)|0,f=m,c=n[m>>2]|0):f=m,m=n[s>>2]|0,n[s>>2]=c,n[f>>2]=m,m=l+8|0,d=n[B>>2]|0,n[B>>2]=n[m>>2],n[m>>2]=d,m=s+8|0,B=l+12|0,s=n[m>>2]|0,n[m>>2]=n[B>>2],n[B>>2]=s,n[l>>2]=n[f>>2]}function yUe(s){s=s|0;var l=0,c=0,f=0;l=n[s+4>>2]|0,c=s+8|0,f=n[c>>2]|0,(f|0)!=(l|0)&&(n[c>>2]=f+(~((f+-8-l|0)>>>3)<<3)),s=n[s>>2]|0,s|0&&yt(s)}function F7(s){s=s|0,IUe(s)}function EUe(s){s=s|0,CUe(s+24|0)}function CUe(s){s=s|0;var l=0,c=0,f=0;c=n[s>>2]|0,f=c,c|0&&(s=s+4|0,l=n[s>>2]|0,(l|0)!=(c|0)&&(n[s>>2]=l+(~((l+-8-f|0)>>>3)<<3)),yt(c))}function IUe(s){s=s|0;var l=0;l=Jr()|0,zr(s,1,12,l,wUe()|0,2),n[s+24>>2]=0,n[s+28>>2]=0,n[s+32>>2]=0}function wUe(){return 1896}function BUe(s,l,c){s=s|0,l=l|0,c=c|0,DUe(n[(vUe(s)|0)>>2]|0,l,c)}function vUe(s){return s=s|0,(n[(rT()|0)+24>>2]|0)+(s<<3)|0}function DUe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0;f=C,C=C+16|0,m=f+4|0,d=f,PUe(m,l),l=SUe(m,l)|0,bp(d,c),c=xp(d,c)|0,tf[s&31](l,c),kp(d),C=f}function PUe(s,l){s=s|0,l=l|0}function SUe(s,l){return s=s|0,l=l|0,bUe(l)|0}function bUe(s){return s=s|0,s|0}function xUe(){var s=0;return o[8080]|0||(R7(11040),pr(70,11040,U|0)|0,s=8080,n[s>>2]=1,n[s+4>>2]=0),Lr(11040)|0||R7(11040),11040}function R7(s){s=s|0,FUe(s),N0(s,71)}function kUe(s){s=s|0,QUe(s+24|0)}function QUe(s){s=s|0;var l=0,c=0,f=0;c=n[s>>2]|0,f=c,c|0&&(s=s+4|0,l=n[s>>2]|0,(l|0)!=(c|0)&&(n[s>>2]=l+(~((l+-8-f|0)>>>3)<<3)),yt(c))}function FUe(s){s=s|0;var l=0;l=Jr()|0,zr(s,5,7,l,LUe()|0,0),n[s+24>>2]=0,n[s+28>>2]=0,n[s+32>>2]=0}function RUe(s){s=s|0,TUe(s)}function TUe(s){s=s|0,NUe(s)}function NUe(s){s=s|0,o[s+8>>0]=1}function LUe(){return 1936}function OUe(){return MUe()|0}function MUe(){var s=0,l=0,c=0,f=0,d=0,m=0,B=0;return l=C,C=C+16|0,d=l+4|0,B=l,c=Za(8)|0,s=c,m=s+4|0,n[m>>2]=Yt(1)|0,f=Yt(8)|0,m=n[m>>2]|0,n[B>>2]=0,n[d>>2]=n[B>>2],UUe(f,m,d),n[c>>2]=f,C=l,s|0}function UUe(s,l,c){s=s|0,l=l|0,c=c|0,n[s>>2]=l,c=Yt(16)|0,n[c+4>>2]=0,n[c+8>>2]=0,n[c>>2]=1916,n[c+12>>2]=l,n[s+4>>2]=c}function _Ue(s){s=s|0,im(s),yt(s)}function HUe(s){s=s|0,s=n[s+12>>2]|0,s|0&&yt(s)}function qUe(s){s=s|0,yt(s)}function jUe(){var s=0;return o[8088]|0||(zUe(11076),pr(25,11076,U|0)|0,s=8088,n[s>>2]=1,n[s+4>>2]=0),11076}function GUe(s,l){s=s|0,l=l|0,n[s>>2]=WUe()|0,n[s+4>>2]=YUe()|0,n[s+12>>2]=l,n[s+8>>2]=KUe()|0,n[s+32>>2]=10}function WUe(){return 11745}function YUe(){return 1940}function KUe(){return TD()|0}function VUe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0,(Qp(f,896)|0)==512?c|0&&(JUe(c),yt(c)):l|0&&yt(l)}function JUe(s){s=s|0,s=n[s+4>>2]|0,s|0&&Rp(s)}function zUe(s){s=s|0,Sp(s)}function Tc(s,l){s=s|0,l=l|0,n[s>>2]=l}function nT(s){return s=s|0,n[s>>2]|0}function XUe(s){return s=s|0,o[n[s>>2]>>0]|0}function ZUe(s,l){s=s|0,l=l|0;var c=0,f=0;c=C,C=C+16|0,f=c,n[f>>2]=n[s>>2],$Ue(l,f)|0,C=c}function $Ue(s,l){s=s|0,l=l|0;var c=0;return c=e4e(n[s>>2]|0,l)|0,l=s+4|0,n[(n[l>>2]|0)+8>>2]=c,n[(n[l>>2]|0)+8>>2]|0}function e4e(s,l){s=s|0,l=l|0;var c=0,f=0;return c=C,C=C+16|0,f=c,$a(f),s=ys(s)|0,l=t4e(s,n[l>>2]|0)|0,el(f),C=c,l|0}function $a(s){s=s|0,n[s>>2]=n[2701],n[s+4>>2]=n[2703]}function t4e(s,l){s=s|0,l=l|0;var c=0;return c=jo(r4e()|0)|0,un(0,c|0,s|0,zR(l)|0)|0}function el(s){s=s|0,w7(n[s>>2]|0,n[s+4>>2]|0)}function r4e(){var s=0;return o[8096]|0||(n4e(11120),s=8096,n[s>>2]=1,n[s+4>>2]=0),11120}function n4e(s){s=s|0,ao(s,i4e()|0,1)}function i4e(){return 1948}function s4e(){o4e()}function o4e(){var s=0,l=0,c=0,f=0,d=0,m=0,B=0,k=0,F=0,M=0,O=0,j=0,oe=0,We=0,Oe=0,Qe=0;if(Oe=C,C=C+16|0,O=Oe+4|0,j=Oe,Ro(65536,10804,n[2702]|0,10812),c=n7()|0,l=n[c>>2]|0,s=n[l>>2]|0,s|0)for(f=n[c+8>>2]|0,c=n[c+4>>2]|0;du(s|0,u[c>>0]|0|0,o[f>>0]|0),l=l+4|0,s=n[l>>2]|0,s;)f=f+1|0,c=c+1|0;if(s=i7()|0,l=n[s>>2]|0,l|0)do QA(l|0,n[s+4>>2]|0),s=s+8|0,l=n[s>>2]|0;while(l|0);QA(a4e()|0,5167),M=$d()|0,s=n[M>>2]|0;e:do if(s|0){do l4e(n[s+4>>2]|0),s=n[s>>2]|0;while(s|0);if(s=n[M>>2]|0,s|0){F=M;do{for(;d=s,s=n[s>>2]|0,d=n[d+4>>2]|0,!!(c4e(d)|0);)if(n[j>>2]=F,n[O>>2]=n[j>>2],u4e(M,O)|0,!s)break e;if(A4e(d),F=n[F>>2]|0,l=T7(d)|0,m=Bi()|0,B=C,C=C+((1*(l<<2)|0)+15&-16)|0,k=C,C=C+((1*(l<<2)|0)+15&-16)|0,l=n[(d7(d)|0)>>2]|0,l|0)for(c=B,f=k;n[c>>2]=n[(em(n[l+4>>2]|0)|0)>>2],n[f>>2]=n[l+8>>2],l=n[l>>2]|0,l;)c=c+4|0,f=f+4|0;Qe=em(d)|0,l=f4e(d)|0,c=T7(d)|0,f=p4e(d)|0,Il(Qe|0,l|0,B|0,k|0,c|0,f|0,GR(d)|0),kA(m|0)}while(s|0)}}while(!1);if(s=n[(WR()|0)>>2]|0,s|0)do Qe=s+4|0,M=YR(Qe)|0,d=tw(M)|0,m=$I(M)|0,B=(ew(M)|0)+1|0,k=UD(M)|0,F=N7(Qe)|0,M=Lr(M)|0,O=LD(Qe)|0,j=iT(Qe)|0,mc(0,d|0,m|0,B|0,k|0,F|0,M|0,O|0,j|0,sT(Qe)|0),s=n[s>>2]|0;while(s|0);s=n[($d()|0)>>2]|0;e:do if(s|0){t:for(;;){if(l=n[s+4>>2]|0,l|0&&(oe=n[(em(l)|0)>>2]|0,We=n[(m7(l)|0)>>2]|0,We|0)){c=We;do{l=c+4|0,f=YR(l)|0;r:do if(f|0)switch(Lr(f)|0){case 0:break t;case 4:case 3:case 2:{k=tw(f)|0,F=$I(f)|0,M=(ew(f)|0)+1|0,O=UD(f)|0,j=Lr(f)|0,Qe=LD(l)|0,mc(oe|0,k|0,F|0,M|0,O|0,0,j|0,Qe|0,iT(l)|0,sT(l)|0);break r}case 1:{B=tw(f)|0,k=$I(f)|0,F=(ew(f)|0)+1|0,M=UD(f)|0,O=N7(l)|0,j=Lr(f)|0,Qe=LD(l)|0,mc(oe|0,B|0,k|0,F|0,M|0,O|0,j|0,Qe|0,iT(l)|0,sT(l)|0);break r}case 5:{M=tw(f)|0,O=$I(f)|0,j=(ew(f)|0)+1|0,Qe=UD(f)|0,mc(oe|0,M|0,O|0,j|0,Qe|0,h4e(f)|0,Lr(f)|0,0,0,0);break r}default:break r}while(!1);c=n[c>>2]|0}while(c|0)}if(s=n[s>>2]|0,!s)break e}Tt()}while(!1);we(),C=Oe}function a4e(){return 11703}function l4e(s){s=s|0,o[s+40>>0]=0}function c4e(s){return s=s|0,(o[s+40>>0]|0)!=0|0}function u4e(s,l){return s=s|0,l=l|0,l=g4e(l)|0,s=n[l>>2]|0,n[l>>2]=n[s>>2],yt(s),n[l>>2]|0}function A4e(s){s=s|0,o[s+40>>0]=1}function T7(s){return s=s|0,n[s+20>>2]|0}function f4e(s){return s=s|0,n[s+8>>2]|0}function p4e(s){return s=s|0,n[s+32>>2]|0}function UD(s){return s=s|0,n[s+4>>2]|0}function N7(s){return s=s|0,n[s+4>>2]|0}function iT(s){return s=s|0,n[s+8>>2]|0}function sT(s){return s=s|0,n[s+16>>2]|0}function h4e(s){return s=s|0,n[s+20>>2]|0}function g4e(s){return s=s|0,n[s>>2]|0}function _D(s){s=s|0;var l=0,c=0,f=0,d=0,m=0,B=0,k=0,F=0,M=0,O=0,j=0,oe=0,We=0,Oe=0,Qe=0,rt=0,Xe=0,ct=0,_e=0,Ge=0,Lt=0;Lt=C,C=C+16|0,oe=Lt;do if(s>>>0<245){if(M=s>>>0<11?16:s+11&-8,s=M>>>3,j=n[2783]|0,c=j>>>s,c&3|0)return l=(c&1^1)+s|0,s=11172+(l<<1<<2)|0,c=s+8|0,f=n[c>>2]|0,d=f+8|0,m=n[d>>2]|0,(s|0)==(m|0)?n[2783]=j&~(1<<l):(n[m+12>>2]=s,n[c>>2]=m),Ge=l<<3,n[f+4>>2]=Ge|3,Ge=f+Ge+4|0,n[Ge>>2]=n[Ge>>2]|1,Ge=d,C=Lt,Ge|0;if(O=n[2785]|0,M>>>0>O>>>0){if(c|0)return l=2<<s,l=c<<s&(l|0-l),l=(l&0-l)+-1|0,B=l>>>12&16,l=l>>>B,c=l>>>5&8,l=l>>>c,d=l>>>2&4,l=l>>>d,s=l>>>1&2,l=l>>>s,f=l>>>1&1,f=(c|B|d|s|f)+(l>>>f)|0,l=11172+(f<<1<<2)|0,s=l+8|0,d=n[s>>2]|0,B=d+8|0,c=n[B>>2]|0,(l|0)==(c|0)?(s=j&~(1<<f),n[2783]=s):(n[c+12>>2]=l,n[s>>2]=c,s=j),m=(f<<3)-M|0,n[d+4>>2]=M|3,f=d+M|0,n[f+4>>2]=m|1,n[f+m>>2]=m,O|0&&(d=n[2788]|0,l=O>>>3,c=11172+(l<<1<<2)|0,l=1<<l,s&l?(s=c+8|0,l=n[s>>2]|0):(n[2783]=s|l,l=c,s=c+8|0),n[s>>2]=d,n[l+12>>2]=d,n[d+8>>2]=l,n[d+12>>2]=c),n[2785]=m,n[2788]=f,Ge=B,C=Lt,Ge|0;if(k=n[2784]|0,k){if(c=(k&0-k)+-1|0,B=c>>>12&16,c=c>>>B,m=c>>>5&8,c=c>>>m,F=c>>>2&4,c=c>>>F,f=c>>>1&2,c=c>>>f,s=c>>>1&1,s=n[11436+((m|B|F|f|s)+(c>>>s)<<2)>>2]|0,c=(n[s+4>>2]&-8)-M|0,f=n[s+16+(((n[s+16>>2]|0)==0&1)<<2)>>2]|0,!f)F=s,m=c;else{do B=(n[f+4>>2]&-8)-M|0,F=B>>>0<c>>>0,c=F?B:c,s=F?f:s,f=n[f+16+(((n[f+16>>2]|0)==0&1)<<2)>>2]|0;while(f|0);F=s,m=c}if(B=F+M|0,F>>>0<B>>>0){d=n[F+24>>2]|0,l=n[F+12>>2]|0;do if((l|0)==(F|0)){if(s=F+20|0,l=n[s>>2]|0,!l&&(s=F+16|0,l=n[s>>2]|0,!l)){c=0;break}for(;;){if(c=l+20|0,f=n[c>>2]|0,f|0){l=f,s=c;continue}if(c=l+16|0,f=n[c>>2]|0,f)l=f,s=c;else break}n[s>>2]=0,c=l}else c=n[F+8>>2]|0,n[c+12>>2]=l,n[l+8>>2]=c,c=l;while(!1);do if(d|0){if(l=n[F+28>>2]|0,s=11436+(l<<2)|0,(F|0)==(n[s>>2]|0)){if(n[s>>2]=c,!c){n[2784]=k&~(1<<l);break}}else if(n[d+16+(((n[d+16>>2]|0)!=(F|0)&1)<<2)>>2]=c,!c)break;n[c+24>>2]=d,l=n[F+16>>2]|0,l|0&&(n[c+16>>2]=l,n[l+24>>2]=c),l=n[F+20>>2]|0,l|0&&(n[c+20>>2]=l,n[l+24>>2]=c)}while(!1);return m>>>0<16?(Ge=m+M|0,n[F+4>>2]=Ge|3,Ge=F+Ge+4|0,n[Ge>>2]=n[Ge>>2]|1):(n[F+4>>2]=M|3,n[B+4>>2]=m|1,n[B+m>>2]=m,O|0&&(f=n[2788]|0,l=O>>>3,c=11172+(l<<1<<2)|0,l=1<<l,j&l?(s=c+8|0,l=n[s>>2]|0):(n[2783]=j|l,l=c,s=c+8|0),n[s>>2]=f,n[l+12>>2]=f,n[f+8>>2]=l,n[f+12>>2]=c),n[2785]=m,n[2788]=B),Ge=F+8|0,C=Lt,Ge|0}else j=M}else j=M}else j=M}else if(s>>>0<=4294967231)if(s=s+11|0,M=s&-8,F=n[2784]|0,F){f=0-M|0,s=s>>>8,s?M>>>0>16777215?k=31:(j=(s+1048320|0)>>>16&8,_e=s<<j,O=(_e+520192|0)>>>16&4,_e=_e<<O,k=(_e+245760|0)>>>16&2,k=14-(O|j|k)+(_e<<k>>>15)|0,k=M>>>(k+7|0)&1|k<<1):k=0,c=n[11436+(k<<2)>>2]|0;e:do if(!c)c=0,s=0,_e=57;else for(s=0,B=M<<((k|0)==31?0:25-(k>>>1)|0),m=0;;){if(d=(n[c+4>>2]&-8)-M|0,d>>>0<f>>>0)if(d)s=c,f=d;else{s=c,f=0,d=c,_e=61;break e}if(d=n[c+20>>2]|0,c=n[c+16+(B>>>31<<2)>>2]|0,m=(d|0)==0|(d|0)==(c|0)?m:d,d=(c|0)==0,d){c=m,_e=57;break}else B=B<<((d^1)&1)}while(!1);if((_e|0)==57){if((c|0)==0&(s|0)==0){if(s=2<<k,s=F&(s|0-s),!s){j=M;break}j=(s&0-s)+-1|0,B=j>>>12&16,j=j>>>B,m=j>>>5&8,j=j>>>m,k=j>>>2&4,j=j>>>k,O=j>>>1&2,j=j>>>O,c=j>>>1&1,s=0,c=n[11436+((m|B|k|O|c)+(j>>>c)<<2)>>2]|0}c?(d=c,_e=61):(k=s,B=f)}if((_e|0)==61)for(;;)if(_e=0,c=(n[d+4>>2]&-8)-M|0,j=c>>>0<f>>>0,c=j?c:f,s=j?d:s,d=n[d+16+(((n[d+16>>2]|0)==0&1)<<2)>>2]|0,d)f=c,_e=61;else{k=s,B=c;break}if(k|0&&B>>>0<((n[2785]|0)-M|0)>>>0){if(m=k+M|0,k>>>0>=m>>>0)return Ge=0,C=Lt,Ge|0;d=n[k+24>>2]|0,l=n[k+12>>2]|0;do if((l|0)==(k|0)){if(s=k+20|0,l=n[s>>2]|0,!l&&(s=k+16|0,l=n[s>>2]|0,!l)){l=0;break}for(;;){if(c=l+20|0,f=n[c>>2]|0,f|0){l=f,s=c;continue}if(c=l+16|0,f=n[c>>2]|0,f)l=f,s=c;else break}n[s>>2]=0}else Ge=n[k+8>>2]|0,n[Ge+12>>2]=l,n[l+8>>2]=Ge;while(!1);do if(d){if(s=n[k+28>>2]|0,c=11436+(s<<2)|0,(k|0)==(n[c>>2]|0)){if(n[c>>2]=l,!l){f=F&~(1<<s),n[2784]=f;break}}else if(n[d+16+(((n[d+16>>2]|0)!=(k|0)&1)<<2)>>2]=l,!l){f=F;break}n[l+24>>2]=d,s=n[k+16>>2]|0,s|0&&(n[l+16>>2]=s,n[s+24>>2]=l),s=n[k+20>>2]|0,s&&(n[l+20>>2]=s,n[s+24>>2]=l),f=F}else f=F;while(!1);do if(B>>>0>=16){if(n[k+4>>2]=M|3,n[m+4>>2]=B|1,n[m+B>>2]=B,l=B>>>3,B>>>0<256){c=11172+(l<<1<<2)|0,s=n[2783]|0,l=1<<l,s&l?(s=c+8|0,l=n[s>>2]|0):(n[2783]=s|l,l=c,s=c+8|0),n[s>>2]=m,n[l+12>>2]=m,n[m+8>>2]=l,n[m+12>>2]=c;break}if(l=B>>>8,l?B>>>0>16777215?l=31:(_e=(l+1048320|0)>>>16&8,Ge=l<<_e,ct=(Ge+520192|0)>>>16&4,Ge=Ge<<ct,l=(Ge+245760|0)>>>16&2,l=14-(ct|_e|l)+(Ge<<l>>>15)|0,l=B>>>(l+7|0)&1|l<<1):l=0,c=11436+(l<<2)|0,n[m+28>>2]=l,s=m+16|0,n[s+4>>2]=0,n[s>>2]=0,s=1<<l,!(f&s)){n[2784]=f|s,n[c>>2]=m,n[m+24>>2]=c,n[m+12>>2]=m,n[m+8>>2]=m;break}for(s=B<<((l|0)==31?0:25-(l>>>1)|0),c=n[c>>2]|0;;){if((n[c+4>>2]&-8|0)==(B|0)){_e=97;break}if(f=c+16+(s>>>31<<2)|0,l=n[f>>2]|0,l)s=s<<1,c=l;else{_e=96;break}}if((_e|0)==96){n[f>>2]=m,n[m+24>>2]=c,n[m+12>>2]=m,n[m+8>>2]=m;break}else if((_e|0)==97){_e=c+8|0,Ge=n[_e>>2]|0,n[Ge+12>>2]=m,n[_e>>2]=m,n[m+8>>2]=Ge,n[m+12>>2]=c,n[m+24>>2]=0;break}}else Ge=B+M|0,n[k+4>>2]=Ge|3,Ge=k+Ge+4|0,n[Ge>>2]=n[Ge>>2]|1;while(!1);return Ge=k+8|0,C=Lt,Ge|0}else j=M}else j=M;else j=-1;while(!1);if(c=n[2785]|0,c>>>0>=j>>>0)return l=c-j|0,s=n[2788]|0,l>>>0>15?(Ge=s+j|0,n[2788]=Ge,n[2785]=l,n[Ge+4>>2]=l|1,n[Ge+l>>2]=l,n[s+4>>2]=j|3):(n[2785]=0,n[2788]=0,n[s+4>>2]=c|3,Ge=s+c+4|0,n[Ge>>2]=n[Ge>>2]|1),Ge=s+8|0,C=Lt,Ge|0;if(B=n[2786]|0,B>>>0>j>>>0)return ct=B-j|0,n[2786]=ct,Ge=n[2789]|0,_e=Ge+j|0,n[2789]=_e,n[_e+4>>2]=ct|1,n[Ge+4>>2]=j|3,Ge=Ge+8|0,C=Lt,Ge|0;if(n[2901]|0?s=n[2903]|0:(n[2903]=4096,n[2902]=4096,n[2904]=-1,n[2905]=-1,n[2906]=0,n[2894]=0,s=oe&-16^1431655768,n[oe>>2]=s,n[2901]=s,s=4096),k=j+48|0,F=j+47|0,m=s+F|0,d=0-s|0,M=m&d,M>>>0<=j>>>0||(s=n[2893]|0,s|0&&(O=n[2891]|0,oe=O+M|0,oe>>>0<=O>>>0|oe>>>0>s>>>0)))return Ge=0,C=Lt,Ge|0;e:do if(n[2894]&4)l=0,_e=133;else{c=n[2789]|0;t:do if(c){for(f=11580;s=n[f>>2]|0,!(s>>>0<=c>>>0&&(Qe=f+4|0,(s+(n[Qe>>2]|0)|0)>>>0>c>>>0));)if(s=n[f+8>>2]|0,s)f=s;else{_e=118;break t}if(l=m-B&d,l>>>0<2147483647)if(s=Tp(l|0)|0,(s|0)==((n[f>>2]|0)+(n[Qe>>2]|0)|0)){if((s|0)!=-1){B=l,m=s,_e=135;break e}}else f=s,_e=126;else l=0}else _e=118;while(!1);do if((_e|0)==118)if(c=Tp(0)|0,(c|0)!=-1&&(l=c,We=n[2902]|0,Oe=We+-1|0,l=(Oe&l|0?(Oe+l&0-We)-l|0:0)+M|0,We=n[2891]|0,Oe=l+We|0,l>>>0>j>>>0&l>>>0<2147483647)){if(Qe=n[2893]|0,Qe|0&&Oe>>>0<=We>>>0|Oe>>>0>Qe>>>0){l=0;break}if(s=Tp(l|0)|0,(s|0)==(c|0)){B=l,m=c,_e=135;break e}else f=s,_e=126}else l=0;while(!1);do if((_e|0)==126){if(c=0-l|0,!(k>>>0>l>>>0&(l>>>0<2147483647&(f|0)!=-1)))if((f|0)==-1){l=0;break}else{B=l,m=f,_e=135;break e}if(s=n[2903]|0,s=F-l+s&0-s,s>>>0>=2147483647){B=l,m=f,_e=135;break e}if((Tp(s|0)|0)==-1){Tp(c|0)|0,l=0;break}else{B=s+l|0,m=f,_e=135;break e}}while(!1);n[2894]=n[2894]|4,_e=133}while(!1);if((_e|0)==133&&M>>>0<2147483647&&(ct=Tp(M|0)|0,Qe=Tp(0)|0,rt=Qe-ct|0,Xe=rt>>>0>(j+40|0)>>>0,!((ct|0)==-1|Xe^1|ct>>>0<Qe>>>0&((ct|0)!=-1&(Qe|0)!=-1)^1))&&(B=Xe?rt:l,m=ct,_e=135),(_e|0)==135){l=(n[2891]|0)+B|0,n[2891]=l,l>>>0>(n[2892]|0)>>>0&&(n[2892]=l),F=n[2789]|0;do if(F){for(l=11580;;){if(s=n[l>>2]|0,c=l+4|0,f=n[c>>2]|0,(m|0)==(s+f|0)){_e=145;break}if(d=n[l+8>>2]|0,d)l=d;else break}if((_e|0)==145&&!(n[l+12>>2]&8|0)&&F>>>0<m>>>0&F>>>0>=s>>>0){n[c>>2]=f+B,Ge=F+8|0,Ge=Ge&7|0?0-Ge&7:0,_e=F+Ge|0,Ge=(n[2786]|0)+(B-Ge)|0,n[2789]=_e,n[2786]=Ge,n[_e+4>>2]=Ge|1,n[_e+Ge+4>>2]=40,n[2790]=n[2905];break}for(m>>>0<(n[2787]|0)>>>0&&(n[2787]=m),c=m+B|0,l=11580;;){if((n[l>>2]|0)==(c|0)){_e=153;break}if(s=n[l+8>>2]|0,s)l=s;else break}if((_e|0)==153&&!(n[l+12>>2]&8|0)){n[l>>2]=m,O=l+4|0,n[O>>2]=(n[O>>2]|0)+B,O=m+8|0,O=m+(O&7|0?0-O&7:0)|0,l=c+8|0,l=c+(l&7|0?0-l&7:0)|0,M=O+j|0,k=l-O-j|0,n[O+4>>2]=j|3;do if((l|0)!=(F|0)){if((l|0)==(n[2788]|0)){Ge=(n[2785]|0)+k|0,n[2785]=Ge,n[2788]=M,n[M+4>>2]=Ge|1,n[M+Ge>>2]=Ge;break}if(s=n[l+4>>2]|0,(s&3|0)==1){B=s&-8,f=s>>>3;e:do if(s>>>0<256)if(s=n[l+8>>2]|0,c=n[l+12>>2]|0,(c|0)==(s|0)){n[2783]=n[2783]&~(1<<f);break}else{n[s+12>>2]=c,n[c+8>>2]=s;break}else{m=n[l+24>>2]|0,s=n[l+12>>2]|0;do if((s|0)==(l|0)){if(f=l+16|0,c=f+4|0,s=n[c>>2]|0,!s)if(s=n[f>>2]|0,s)c=f;else{s=0;break}for(;;){if(f=s+20|0,d=n[f>>2]|0,d|0){s=d,c=f;continue}if(f=s+16|0,d=n[f>>2]|0,d)s=d,c=f;else break}n[c>>2]=0}else Ge=n[l+8>>2]|0,n[Ge+12>>2]=s,n[s+8>>2]=Ge;while(!1);if(!m)break;c=n[l+28>>2]|0,f=11436+(c<<2)|0;do if((l|0)!=(n[f>>2]|0)){if(n[m+16+(((n[m+16>>2]|0)!=(l|0)&1)<<2)>>2]=s,!s)break e}else{if(n[f>>2]=s,s|0)break;n[2784]=n[2784]&~(1<<c);break e}while(!1);if(n[s+24>>2]=m,c=l+16|0,f=n[c>>2]|0,f|0&&(n[s+16>>2]=f,n[f+24>>2]=s),c=n[c+4>>2]|0,!c)break;n[s+20>>2]=c,n[c+24>>2]=s}while(!1);l=l+B|0,d=B+k|0}else d=k;if(l=l+4|0,n[l>>2]=n[l>>2]&-2,n[M+4>>2]=d|1,n[M+d>>2]=d,l=d>>>3,d>>>0<256){c=11172+(l<<1<<2)|0,s=n[2783]|0,l=1<<l,s&l?(s=c+8|0,l=n[s>>2]|0):(n[2783]=s|l,l=c,s=c+8|0),n[s>>2]=M,n[l+12>>2]=M,n[M+8>>2]=l,n[M+12>>2]=c;break}l=d>>>8;do if(!l)l=0;else{if(d>>>0>16777215){l=31;break}_e=(l+1048320|0)>>>16&8,Ge=l<<_e,ct=(Ge+520192|0)>>>16&4,Ge=Ge<<ct,l=(Ge+245760|0)>>>16&2,l=14-(ct|_e|l)+(Ge<<l>>>15)|0,l=d>>>(l+7|0)&1|l<<1}while(!1);if(f=11436+(l<<2)|0,n[M+28>>2]=l,s=M+16|0,n[s+4>>2]=0,n[s>>2]=0,s=n[2784]|0,c=1<<l,!(s&c)){n[2784]=s|c,n[f>>2]=M,n[M+24>>2]=f,n[M+12>>2]=M,n[M+8>>2]=M;break}for(s=d<<((l|0)==31?0:25-(l>>>1)|0),c=n[f>>2]|0;;){if((n[c+4>>2]&-8|0)==(d|0)){_e=194;break}if(f=c+16+(s>>>31<<2)|0,l=n[f>>2]|0,l)s=s<<1,c=l;else{_e=193;break}}if((_e|0)==193){n[f>>2]=M,n[M+24>>2]=c,n[M+12>>2]=M,n[M+8>>2]=M;break}else if((_e|0)==194){_e=c+8|0,Ge=n[_e>>2]|0,n[Ge+12>>2]=M,n[_e>>2]=M,n[M+8>>2]=Ge,n[M+12>>2]=c,n[M+24>>2]=0;break}}else Ge=(n[2786]|0)+k|0,n[2786]=Ge,n[2789]=M,n[M+4>>2]=Ge|1;while(!1);return Ge=O+8|0,C=Lt,Ge|0}for(l=11580;s=n[l>>2]|0,!(s>>>0<=F>>>0&&(Ge=s+(n[l+4>>2]|0)|0,Ge>>>0>F>>>0));)l=n[l+8>>2]|0;d=Ge+-47|0,s=d+8|0,s=d+(s&7|0?0-s&7:0)|0,d=F+16|0,s=s>>>0<d>>>0?F:s,l=s+8|0,c=m+8|0,c=c&7|0?0-c&7:0,_e=m+c|0,c=B+-40-c|0,n[2789]=_e,n[2786]=c,n[_e+4>>2]=c|1,n[_e+c+4>>2]=40,n[2790]=n[2905],c=s+4|0,n[c>>2]=27,n[l>>2]=n[2895],n[l+4>>2]=n[2896],n[l+8>>2]=n[2897],n[l+12>>2]=n[2898],n[2895]=m,n[2896]=B,n[2898]=0,n[2897]=l,l=s+24|0;do _e=l,l=l+4|0,n[l>>2]=7;while((_e+8|0)>>>0<Ge>>>0);if((s|0)!=(F|0)){if(m=s-F|0,n[c>>2]=n[c>>2]&-2,n[F+4>>2]=m|1,n[s>>2]=m,l=m>>>3,m>>>0<256){c=11172+(l<<1<<2)|0,s=n[2783]|0,l=1<<l,s&l?(s=c+8|0,l=n[s>>2]|0):(n[2783]=s|l,l=c,s=c+8|0),n[s>>2]=F,n[l+12>>2]=F,n[F+8>>2]=l,n[F+12>>2]=c;break}if(l=m>>>8,l?m>>>0>16777215?c=31:(_e=(l+1048320|0)>>>16&8,Ge=l<<_e,ct=(Ge+520192|0)>>>16&4,Ge=Ge<<ct,c=(Ge+245760|0)>>>16&2,c=14-(ct|_e|c)+(Ge<<c>>>15)|0,c=m>>>(c+7|0)&1|c<<1):c=0,f=11436+(c<<2)|0,n[F+28>>2]=c,n[F+20>>2]=0,n[d>>2]=0,l=n[2784]|0,s=1<<c,!(l&s)){n[2784]=l|s,n[f>>2]=F,n[F+24>>2]=f,n[F+12>>2]=F,n[F+8>>2]=F;break}for(s=m<<((c|0)==31?0:25-(c>>>1)|0),c=n[f>>2]|0;;){if((n[c+4>>2]&-8|0)==(m|0)){_e=216;break}if(f=c+16+(s>>>31<<2)|0,l=n[f>>2]|0,l)s=s<<1,c=l;else{_e=215;break}}if((_e|0)==215){n[f>>2]=F,n[F+24>>2]=c,n[F+12>>2]=F,n[F+8>>2]=F;break}else if((_e|0)==216){_e=c+8|0,Ge=n[_e>>2]|0,n[Ge+12>>2]=F,n[_e>>2]=F,n[F+8>>2]=Ge,n[F+12>>2]=c,n[F+24>>2]=0;break}}}else{Ge=n[2787]|0,(Ge|0)==0|m>>>0<Ge>>>0&&(n[2787]=m),n[2895]=m,n[2896]=B,n[2898]=0,n[2792]=n[2901],n[2791]=-1,l=0;do Ge=11172+(l<<1<<2)|0,n[Ge+12>>2]=Ge,n[Ge+8>>2]=Ge,l=l+1|0;while((l|0)!=32);Ge=m+8|0,Ge=Ge&7|0?0-Ge&7:0,_e=m+Ge|0,Ge=B+-40-Ge|0,n[2789]=_e,n[2786]=Ge,n[_e+4>>2]=Ge|1,n[_e+Ge+4>>2]=40,n[2790]=n[2905]}while(!1);if(l=n[2786]|0,l>>>0>j>>>0)return ct=l-j|0,n[2786]=ct,Ge=n[2789]|0,_e=Ge+j|0,n[2789]=_e,n[_e+4>>2]=ct|1,n[Ge+4>>2]=j|3,Ge=Ge+8|0,C=Lt,Ge|0}return n[(rm()|0)>>2]=12,Ge=0,C=Lt,Ge|0}function HD(s){s=s|0;var l=0,c=0,f=0,d=0,m=0,B=0,k=0,F=0;if(s){c=s+-8|0,d=n[2787]|0,s=n[s+-4>>2]|0,l=s&-8,F=c+l|0;do if(s&1)k=c,B=c;else{if(f=n[c>>2]|0,!(s&3)||(B=c+(0-f)|0,m=f+l|0,B>>>0<d>>>0))return;if((B|0)==(n[2788]|0)){if(s=F+4|0,l=n[s>>2]|0,(l&3|0)!=3){k=B,l=m;break}n[2785]=m,n[s>>2]=l&-2,n[B+4>>2]=m|1,n[B+m>>2]=m;return}if(c=f>>>3,f>>>0<256)if(s=n[B+8>>2]|0,l=n[B+12>>2]|0,(l|0)==(s|0)){n[2783]=n[2783]&~(1<<c),k=B,l=m;break}else{n[s+12>>2]=l,n[l+8>>2]=s,k=B,l=m;break}d=n[B+24>>2]|0,s=n[B+12>>2]|0;do if((s|0)==(B|0)){if(c=B+16|0,l=c+4|0,s=n[l>>2]|0,!s)if(s=n[c>>2]|0,s)l=c;else{s=0;break}for(;;){if(c=s+20|0,f=n[c>>2]|0,f|0){s=f,l=c;continue}if(c=s+16|0,f=n[c>>2]|0,f)s=f,l=c;else break}n[l>>2]=0}else k=n[B+8>>2]|0,n[k+12>>2]=s,n[s+8>>2]=k;while(!1);if(d){if(l=n[B+28>>2]|0,c=11436+(l<<2)|0,(B|0)==(n[c>>2]|0)){if(n[c>>2]=s,!s){n[2784]=n[2784]&~(1<<l),k=B,l=m;break}}else if(n[d+16+(((n[d+16>>2]|0)!=(B|0)&1)<<2)>>2]=s,!s){k=B,l=m;break}n[s+24>>2]=d,l=B+16|0,c=n[l>>2]|0,c|0&&(n[s+16>>2]=c,n[c+24>>2]=s),l=n[l+4>>2]|0,l?(n[s+20>>2]=l,n[l+24>>2]=s,k=B,l=m):(k=B,l=m)}else k=B,l=m}while(!1);if(!(B>>>0>=F>>>0)&&(s=F+4|0,f=n[s>>2]|0,!!(f&1))){if(f&2)n[s>>2]=f&-2,n[k+4>>2]=l|1,n[B+l>>2]=l,d=l;else{if(s=n[2788]|0,(F|0)==(n[2789]|0)){if(F=(n[2786]|0)+l|0,n[2786]=F,n[2789]=k,n[k+4>>2]=F|1,(k|0)!=(s|0))return;n[2788]=0,n[2785]=0;return}if((F|0)==(s|0)){F=(n[2785]|0)+l|0,n[2785]=F,n[2788]=B,n[k+4>>2]=F|1,n[B+F>>2]=F;return}d=(f&-8)+l|0,c=f>>>3;do if(f>>>0<256)if(l=n[F+8>>2]|0,s=n[F+12>>2]|0,(s|0)==(l|0)){n[2783]=n[2783]&~(1<<c);break}else{n[l+12>>2]=s,n[s+8>>2]=l;break}else{m=n[F+24>>2]|0,s=n[F+12>>2]|0;do if((s|0)==(F|0)){if(c=F+16|0,l=c+4|0,s=n[l>>2]|0,!s)if(s=n[c>>2]|0,s)l=c;else{c=0;break}for(;;){if(c=s+20|0,f=n[c>>2]|0,f|0){s=f,l=c;continue}if(c=s+16|0,f=n[c>>2]|0,f)s=f,l=c;else break}n[l>>2]=0,c=s}else c=n[F+8>>2]|0,n[c+12>>2]=s,n[s+8>>2]=c,c=s;while(!1);if(m|0){if(s=n[F+28>>2]|0,l=11436+(s<<2)|0,(F|0)==(n[l>>2]|0)){if(n[l>>2]=c,!c){n[2784]=n[2784]&~(1<<s);break}}else if(n[m+16+(((n[m+16>>2]|0)!=(F|0)&1)<<2)>>2]=c,!c)break;n[c+24>>2]=m,s=F+16|0,l=n[s>>2]|0,l|0&&(n[c+16>>2]=l,n[l+24>>2]=c),s=n[s+4>>2]|0,s|0&&(n[c+20>>2]=s,n[s+24>>2]=c)}}while(!1);if(n[k+4>>2]=d|1,n[B+d>>2]=d,(k|0)==(n[2788]|0)){n[2785]=d;return}}if(s=d>>>3,d>>>0<256){c=11172+(s<<1<<2)|0,l=n[2783]|0,s=1<<s,l&s?(l=c+8|0,s=n[l>>2]|0):(n[2783]=l|s,s=c,l=c+8|0),n[l>>2]=k,n[s+12>>2]=k,n[k+8>>2]=s,n[k+12>>2]=c;return}s=d>>>8,s?d>>>0>16777215?s=31:(B=(s+1048320|0)>>>16&8,F=s<<B,m=(F+520192|0)>>>16&4,F=F<<m,s=(F+245760|0)>>>16&2,s=14-(m|B|s)+(F<<s>>>15)|0,s=d>>>(s+7|0)&1|s<<1):s=0,f=11436+(s<<2)|0,n[k+28>>2]=s,n[k+20>>2]=0,n[k+16>>2]=0,l=n[2784]|0,c=1<<s;do if(l&c){for(l=d<<((s|0)==31?0:25-(s>>>1)|0),c=n[f>>2]|0;;){if((n[c+4>>2]&-8|0)==(d|0)){s=73;break}if(f=c+16+(l>>>31<<2)|0,s=n[f>>2]|0,s)l=l<<1,c=s;else{s=72;break}}if((s|0)==72){n[f>>2]=k,n[k+24>>2]=c,n[k+12>>2]=k,n[k+8>>2]=k;break}else if((s|0)==73){B=c+8|0,F=n[B>>2]|0,n[F+12>>2]=k,n[B>>2]=k,n[k+8>>2]=F,n[k+12>>2]=c,n[k+24>>2]=0;break}}else n[2784]=l|c,n[f>>2]=k,n[k+24>>2]=f,n[k+12>>2]=k,n[k+8>>2]=k;while(!1);if(F=(n[2791]|0)+-1|0,n[2791]=F,!F)s=11588;else return;for(;s=n[s>>2]|0,s;)s=s+8|0;n[2791]=-1}}}function d4e(){return 11628}function m4e(s){s=s|0;var l=0,c=0;return l=C,C=C+16|0,c=l,n[c>>2]=C4e(n[s+60>>2]|0)|0,s=qD(Ec(6,c|0)|0)|0,C=l,s|0}function L7(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,k=0,F=0,M=0,O=0,j=0,oe=0,We=0;j=C,C=C+48|0,M=j+16|0,m=j,d=j+32|0,k=s+28|0,f=n[k>>2]|0,n[d>>2]=f,F=s+20|0,f=(n[F>>2]|0)-f|0,n[d+4>>2]=f,n[d+8>>2]=l,n[d+12>>2]=c,f=f+c|0,B=s+60|0,n[m>>2]=n[B>>2],n[m+4>>2]=d,n[m+8>>2]=2,m=qD(aa(146,m|0)|0)|0;e:do if((f|0)!=(m|0)){for(l=2;!((m|0)<0);)if(f=f-m|0,We=n[d+4>>2]|0,oe=m>>>0>We>>>0,d=oe?d+8|0:d,l=(oe<<31>>31)+l|0,We=m-(oe?We:0)|0,n[d>>2]=(n[d>>2]|0)+We,oe=d+4|0,n[oe>>2]=(n[oe>>2]|0)-We,n[M>>2]=n[B>>2],n[M+4>>2]=d,n[M+8>>2]=l,m=qD(aa(146,M|0)|0)|0,(f|0)==(m|0)){O=3;break e}n[s+16>>2]=0,n[k>>2]=0,n[F>>2]=0,n[s>>2]=n[s>>2]|32,(l|0)==2?c=0:c=c-(n[d+4>>2]|0)|0}else O=3;while(!1);return(O|0)==3&&(We=n[s+44>>2]|0,n[s+16>>2]=We+(n[s+48>>2]|0),n[k>>2]=We,n[F>>2]=We),C=j,c|0}function y4e(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0;return d=C,C=C+32|0,m=d,f=d+20|0,n[m>>2]=n[s+60>>2],n[m+4>>2]=0,n[m+8>>2]=l,n[m+12>>2]=f,n[m+16>>2]=c,(qD(oa(140,m|0)|0)|0)<0?(n[f>>2]=-1,s=-1):s=n[f>>2]|0,C=d,s|0}function qD(s){return s=s|0,s>>>0>4294963200&&(n[(rm()|0)>>2]=0-s,s=-1),s|0}function rm(){return(E4e()|0)+64|0}function E4e(){return oT()|0}function oT(){return 2084}function C4e(s){return s=s|0,s|0}function I4e(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0;return d=C,C=C+32|0,f=d,n[s+36>>2]=1,!(n[s>>2]&64|0)&&(n[f>>2]=n[s+60>>2],n[f+4>>2]=21523,n[f+8>>2]=d+16,Ns(54,f|0)|0)&&(o[s+75>>0]=-1),f=L7(s,l,c)|0,C=d,f|0}function O7(s,l){s=s|0,l=l|0;var c=0,f=0;if(c=o[s>>0]|0,f=o[l>>0]|0,!(c<<24>>24)||c<<24>>24!=f<<24>>24)s=f;else{do s=s+1|0,l=l+1|0,c=o[s>>0]|0,f=o[l>>0]|0;while(!(!(c<<24>>24)||c<<24>>24!=f<<24>>24));s=f}return(c&255)-(s&255)|0}function w4e(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0;e:do if(!c)s=0;else{for(;f=o[s>>0]|0,d=o[l>>0]|0,f<<24>>24==d<<24>>24;)if(c=c+-1|0,c)s=s+1|0,l=l+1|0;else{s=0;break e}s=(f&255)-(d&255)|0}while(!1);return s|0}function M7(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,k=0,F=0,M=0,O=0,j=0,oe=0,We=0,Oe=0,Qe=0;Qe=C,C=C+224|0,O=Qe+120|0,j=Qe+80|0,We=Qe,Oe=Qe+136|0,f=j,d=f+40|0;do n[f>>2]=0,f=f+4|0;while((f|0)<(d|0));return n[O>>2]=n[c>>2],(aT(0,l,O,We,j)|0)<0?c=-1:((n[s+76>>2]|0)>-1?oe=B4e(s)|0:oe=0,c=n[s>>2]|0,M=c&32,(o[s+74>>0]|0)<1&&(n[s>>2]=c&-33),f=s+48|0,n[f>>2]|0?c=aT(s,l,O,We,j)|0:(d=s+44|0,m=n[d>>2]|0,n[d>>2]=Oe,B=s+28|0,n[B>>2]=Oe,k=s+20|0,n[k>>2]=Oe,n[f>>2]=80,F=s+16|0,n[F>>2]=Oe+80,c=aT(s,l,O,We,j)|0,m&&(YD[n[s+36>>2]&7](s,0,0)|0,c=n[k>>2]|0?c:-1,n[d>>2]=m,n[f>>2]=0,n[F>>2]=0,n[B>>2]=0,n[k>>2]=0)),f=n[s>>2]|0,n[s>>2]=f|M,oe|0&&v4e(s),c=f&32|0?-1:c),C=Qe,c|0}function aT(s,l,c,f,d){s=s|0,l=l|0,c=c|0,f=f|0,d=d|0;var m=0,B=0,k=0,F=0,M=0,O=0,j=0,oe=0,We=0,Oe=0,Qe=0,rt=0,Xe=0,ct=0,_e=0,Ge=0,Lt=0,_r=0,ur=0,Zt=0,kr=0,Or=0,lr=0;lr=C,C=C+64|0,ur=lr+16|0,Zt=lr,Lt=lr+24|0,kr=lr+8|0,Or=lr+20|0,n[ur>>2]=l,ct=(s|0)!=0,_e=Lt+40|0,Ge=_e,Lt=Lt+39|0,_r=kr+4|0,B=0,m=0,O=0;e:for(;;){do if((m|0)>-1)if((B|0)>(2147483647-m|0)){n[(rm()|0)>>2]=75,m=-1;break}else{m=B+m|0;break}while(!1);if(B=o[l>>0]|0,B<<24>>24)k=l;else{Xe=87;break}t:for(;;){switch(B<<24>>24){case 37:{B=k,Xe=9;break t}case 0:{B=k;break t}default:}rt=k+1|0,n[ur>>2]=rt,B=o[rt>>0]|0,k=rt}t:do if((Xe|0)==9)for(;;){if(Xe=0,(o[k+1>>0]|0)!=37)break t;if(B=B+1|0,k=k+2|0,n[ur>>2]=k,(o[k>>0]|0)==37)Xe=9;else break}while(!1);if(B=B-l|0,ct&&os(s,l,B),B|0){l=k;continue}F=k+1|0,B=(o[F>>0]|0)+-48|0,B>>>0<10?(rt=(o[k+2>>0]|0)==36,Qe=rt?B:-1,O=rt?1:O,F=rt?k+3|0:F):Qe=-1,n[ur>>2]=F,B=o[F>>0]|0,k=(B<<24>>24)+-32|0;t:do if(k>>>0<32)for(M=0,j=B;;){if(B=1<<k,!(B&75913)){B=j;break t}if(M=B|M,F=F+1|0,n[ur>>2]=F,B=o[F>>0]|0,k=(B<<24>>24)+-32|0,k>>>0>=32)break;j=B}else M=0;while(!1);if(B<<24>>24==42){if(k=F+1|0,B=(o[k>>0]|0)+-48|0,B>>>0<10&&(o[F+2>>0]|0)==36)n[d+(B<<2)>>2]=10,B=n[f+((o[k>>0]|0)+-48<<3)>>2]|0,O=1,F=F+3|0;else{if(O|0){m=-1;break}ct?(O=(n[c>>2]|0)+3&-4,B=n[O>>2]|0,n[c>>2]=O+4,O=0,F=k):(B=0,O=0,F=k)}n[ur>>2]=F,rt=(B|0)<0,B=rt?0-B|0:B,M=rt?M|8192:M}else{if(B=U7(ur)|0,(B|0)<0){m=-1;break}F=n[ur>>2]|0}do if((o[F>>0]|0)==46){if((o[F+1>>0]|0)!=42){n[ur>>2]=F+1,k=U7(ur)|0,F=n[ur>>2]|0;break}if(j=F+2|0,k=(o[j>>0]|0)+-48|0,k>>>0<10&&(o[F+3>>0]|0)==36){n[d+(k<<2)>>2]=10,k=n[f+((o[j>>0]|0)+-48<<3)>>2]|0,F=F+4|0,n[ur>>2]=F;break}if(O|0){m=-1;break e}ct?(rt=(n[c>>2]|0)+3&-4,k=n[rt>>2]|0,n[c>>2]=rt+4):k=0,n[ur>>2]=j,F=j}else k=-1;while(!1);for(Oe=0;;){if(((o[F>>0]|0)+-65|0)>>>0>57){m=-1;break e}if(rt=F+1|0,n[ur>>2]=rt,j=o[(o[F>>0]|0)+-65+(5178+(Oe*58|0))>>0]|0,oe=j&255,(oe+-1|0)>>>0<8)Oe=oe,F=rt;else break}if(!(j<<24>>24)){m=-1;break}We=(Qe|0)>-1;do if(j<<24>>24==19)if(We){m=-1;break e}else Xe=49;else{if(We){n[d+(Qe<<2)>>2]=oe,We=f+(Qe<<3)|0,Qe=n[We+4>>2]|0,Xe=Zt,n[Xe>>2]=n[We>>2],n[Xe+4>>2]=Qe,Xe=49;break}if(!ct){m=0;break e}_7(Zt,oe,c)}while(!1);if((Xe|0)==49&&(Xe=0,!ct)){B=0,l=rt;continue}F=o[F>>0]|0,F=(Oe|0)!=0&(F&15|0)==3?F&-33:F,We=M&-65537,Qe=M&8192|0?We:M;t:do switch(F|0){case 110:switch((Oe&255)<<24>>24){case 0:{n[n[Zt>>2]>>2]=m,B=0,l=rt;continue e}case 1:{n[n[Zt>>2]>>2]=m,B=0,l=rt;continue e}case 2:{B=n[Zt>>2]|0,n[B>>2]=m,n[B+4>>2]=((m|0)<0)<<31>>31,B=0,l=rt;continue e}case 3:{a[n[Zt>>2]>>1]=m,B=0,l=rt;continue e}case 4:{o[n[Zt>>2]>>0]=m,B=0,l=rt;continue e}case 6:{n[n[Zt>>2]>>2]=m,B=0,l=rt;continue e}case 7:{B=n[Zt>>2]|0,n[B>>2]=m,n[B+4>>2]=((m|0)<0)<<31>>31,B=0,l=rt;continue e}default:{B=0,l=rt;continue e}}case 112:{F=120,k=k>>>0>8?k:8,l=Qe|8,Xe=61;break}case 88:case 120:{l=Qe,Xe=61;break}case 111:{F=Zt,l=n[F>>2]|0,F=n[F+4>>2]|0,oe=P4e(l,F,_e)|0,We=Ge-oe|0,M=0,j=5642,k=(Qe&8|0)==0|(k|0)>(We|0)?k:We+1|0,We=Qe,Xe=67;break}case 105:case 100:if(F=Zt,l=n[F>>2]|0,F=n[F+4>>2]|0,(F|0)<0){l=jD(0,0,l|0,F|0)|0,F=Ce,M=Zt,n[M>>2]=l,n[M+4>>2]=F,M=1,j=5642,Xe=66;break t}else{M=(Qe&2049|0)!=0&1,j=Qe&2048|0?5643:Qe&1|0?5644:5642,Xe=66;break t}case 117:{F=Zt,M=0,j=5642,l=n[F>>2]|0,F=n[F+4>>2]|0,Xe=66;break}case 99:{o[Lt>>0]=n[Zt>>2],l=Lt,M=0,j=5642,oe=_e,F=1,k=We;break}case 109:{F=S4e(n[(rm()|0)>>2]|0)|0,Xe=71;break}case 115:{F=n[Zt>>2]|0,F=F|0?F:5652,Xe=71;break}case 67:{n[kr>>2]=n[Zt>>2],n[_r>>2]=0,n[Zt>>2]=kr,oe=-1,F=kr,Xe=75;break}case 83:{l=n[Zt>>2]|0,k?(oe=k,F=l,Xe=75):(Es(s,32,B,0,Qe),l=0,Xe=84);break}case 65:case 71:case 70:case 69:case 97:case 103:case 102:case 101:{B=x4e(s,+E[Zt>>3],B,k,Qe,F)|0,l=rt;continue e}default:M=0,j=5642,oe=_e,F=k,k=Qe}while(!1);t:do if((Xe|0)==61)Qe=Zt,Oe=n[Qe>>2]|0,Qe=n[Qe+4>>2]|0,oe=D4e(Oe,Qe,_e,F&32)|0,j=(l&8|0)==0|(Oe|0)==0&(Qe|0)==0,M=j?0:2,j=j?5642:5642+(F>>4)|0,We=l,l=Oe,F=Qe,Xe=67;else if((Xe|0)==66)oe=nm(l,F,_e)|0,We=Qe,Xe=67;else if((Xe|0)==71)Xe=0,Qe=b4e(F,0,k)|0,Oe=(Qe|0)==0,l=F,M=0,j=5642,oe=Oe?F+k|0:Qe,F=Oe?k:Qe-F|0,k=We;else if((Xe|0)==75){for(Xe=0,j=F,l=0,k=0;M=n[j>>2]|0,!(!M||(k=H7(Or,M)|0,(k|0)<0|k>>>0>(oe-l|0)>>>0));)if(l=k+l|0,oe>>>0>l>>>0)j=j+4|0;else break;if((k|0)<0){m=-1;break e}if(Es(s,32,B,l,Qe),!l)l=0,Xe=84;else for(M=0;;){if(k=n[F>>2]|0,!k){Xe=84;break t}if(k=H7(Or,k)|0,M=k+M|0,(M|0)>(l|0)){Xe=84;break t}if(os(s,Or,k),M>>>0>=l>>>0){Xe=84;break}else F=F+4|0}}while(!1);if((Xe|0)==67)Xe=0,F=(l|0)!=0|(F|0)!=0,Qe=(k|0)!=0|F,F=((F^1)&1)+(Ge-oe)|0,l=Qe?oe:_e,oe=_e,F=Qe?(k|0)>(F|0)?k:F:k,k=(k|0)>-1?We&-65537:We;else if((Xe|0)==84){Xe=0,Es(s,32,B,l,Qe^8192),B=(B|0)>(l|0)?B:l,l=rt;continue}Oe=oe-l|0,We=(F|0)<(Oe|0)?Oe:F,Qe=We+M|0,B=(B|0)<(Qe|0)?Qe:B,Es(s,32,B,Qe,k),os(s,j,M),Es(s,48,B,Qe,k^65536),Es(s,48,We,Oe,0),os(s,l,Oe),Es(s,32,B,Qe,k^8192),l=rt}e:do if((Xe|0)==87&&!s)if(!O)m=0;else{for(m=1;l=n[d+(m<<2)>>2]|0,!!l;)if(_7(f+(m<<3)|0,l,c),m=m+1|0,(m|0)>=10){m=1;break e}for(;;){if(n[d+(m<<2)>>2]|0){m=-1;break e}if(m=m+1|0,(m|0)>=10){m=1;break}}}while(!1);return C=lr,m|0}function B4e(s){return s=s|0,0}function v4e(s){s=s|0}function os(s,l,c){s=s|0,l=l|0,c=c|0,n[s>>2]&32||M4e(l,c,s)|0}function U7(s){s=s|0;var l=0,c=0,f=0;if(c=n[s>>2]|0,f=(o[c>>0]|0)+-48|0,f>>>0<10){l=0;do l=f+(l*10|0)|0,c=c+1|0,n[s>>2]=c,f=(o[c>>0]|0)+-48|0;while(f>>>0<10)}else l=0;return l|0}function _7(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0;e:do if(l>>>0<=20)do switch(l|0){case 9:{f=(n[c>>2]|0)+3&-4,l=n[f>>2]|0,n[c>>2]=f+4,n[s>>2]=l;break e}case 10:{f=(n[c>>2]|0)+3&-4,l=n[f>>2]|0,n[c>>2]=f+4,f=s,n[f>>2]=l,n[f+4>>2]=((l|0)<0)<<31>>31;break e}case 11:{f=(n[c>>2]|0)+3&-4,l=n[f>>2]|0,n[c>>2]=f+4,f=s,n[f>>2]=l,n[f+4>>2]=0;break e}case 12:{f=(n[c>>2]|0)+7&-8,l=f,d=n[l>>2]|0,l=n[l+4>>2]|0,n[c>>2]=f+8,f=s,n[f>>2]=d,n[f+4>>2]=l;break e}case 13:{d=(n[c>>2]|0)+3&-4,f=n[d>>2]|0,n[c>>2]=d+4,f=(f&65535)<<16>>16,d=s,n[d>>2]=f,n[d+4>>2]=((f|0)<0)<<31>>31;break e}case 14:{d=(n[c>>2]|0)+3&-4,f=n[d>>2]|0,n[c>>2]=d+4,d=s,n[d>>2]=f&65535,n[d+4>>2]=0;break e}case 15:{d=(n[c>>2]|0)+3&-4,f=n[d>>2]|0,n[c>>2]=d+4,f=(f&255)<<24>>24,d=s,n[d>>2]=f,n[d+4>>2]=((f|0)<0)<<31>>31;break e}case 16:{d=(n[c>>2]|0)+3&-4,f=n[d>>2]|0,n[c>>2]=d+4,d=s,n[d>>2]=f&255,n[d+4>>2]=0;break e}case 17:{d=(n[c>>2]|0)+7&-8,m=+E[d>>3],n[c>>2]=d+8,E[s>>3]=m;break e}case 18:{d=(n[c>>2]|0)+7&-8,m=+E[d>>3],n[c>>2]=d+8,E[s>>3]=m;break e}default:break e}while(!1);while(!1)}function D4e(s,l,c,f){if(s=s|0,l=l|0,c=c|0,f=f|0,!((s|0)==0&(l|0)==0))do c=c+-1|0,o[c>>0]=u[5694+(s&15)>>0]|0|f,s=GD(s|0,l|0,4)|0,l=Ce;while(!((s|0)==0&(l|0)==0));return c|0}function P4e(s,l,c){if(s=s|0,l=l|0,c=c|0,!((s|0)==0&(l|0)==0))do c=c+-1|0,o[c>>0]=s&7|48,s=GD(s|0,l|0,3)|0,l=Ce;while(!((s|0)==0&(l|0)==0));return c|0}function nm(s,l,c){s=s|0,l=l|0,c=c|0;var f=0;if(l>>>0>0|(l|0)==0&s>>>0>4294967295){for(;f=AT(s|0,l|0,10,0)|0,c=c+-1|0,o[c>>0]=f&255|48,f=s,s=uT(s|0,l|0,10,0)|0,l>>>0>9|(l|0)==9&f>>>0>4294967295;)l=Ce;l=s}else l=s;if(l)for(;c=c+-1|0,o[c>>0]=(l>>>0)%10|0|48,!(l>>>0<10);)l=(l>>>0)/10|0;return c|0}function S4e(s){return s=s|0,T4e(s,n[(R4e()|0)+188>>2]|0)|0}function b4e(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0;m=l&255,f=(c|0)!=0;e:do if(f&(s&3|0)!=0)for(d=l&255;;){if((o[s>>0]|0)==d<<24>>24){B=6;break e}if(s=s+1|0,c=c+-1|0,f=(c|0)!=0,!(f&(s&3|0)!=0)){B=5;break}}else B=5;while(!1);(B|0)==5&&(f?B=6:c=0);e:do if((B|0)==6&&(d=l&255,(o[s>>0]|0)!=d<<24>>24)){f=He(m,16843009)|0;t:do if(c>>>0>3){for(;m=n[s>>2]^f,!((m&-2139062144^-2139062144)&m+-16843009|0);)if(s=s+4|0,c=c+-4|0,c>>>0<=3){B=11;break t}}else B=11;while(!1);if((B|0)==11&&!c){c=0;break}for(;;){if((o[s>>0]|0)==d<<24>>24)break e;if(s=s+1|0,c=c+-1|0,!c){c=0;break}}}while(!1);return(c|0?s:0)|0}function Es(s,l,c,f,d){s=s|0,l=l|0,c=c|0,f=f|0,d=d|0;var m=0,B=0;if(B=C,C=C+256|0,m=B,(c|0)>(f|0)&(d&73728|0)==0){if(d=c-f|0,sm(m|0,l|0,(d>>>0<256?d:256)|0)|0,d>>>0>255){l=c-f|0;do os(s,m,256),d=d+-256|0;while(d>>>0>255);d=l&255}os(s,m,d)}C=B}function H7(s,l){return s=s|0,l=l|0,s?s=Q4e(s,l,0)|0:s=0,s|0}function x4e(s,l,c,f,d,m){s=s|0,l=+l,c=c|0,f=f|0,d=d|0,m=m|0;var B=0,k=0,F=0,M=0,O=0,j=0,oe=0,We=0,Oe=0,Qe=0,rt=0,Xe=0,ct=0,_e=0,Ge=0,Lt=0,_r=0,ur=0,Zt=0,kr=0,Or=0,lr=0,Nn=0;Nn=C,C=C+560|0,F=Nn+8|0,rt=Nn,lr=Nn+524|0,Or=lr,M=Nn+512|0,n[rt>>2]=0,kr=M+12|0,q7(l)|0,(Ce|0)<0?(l=-l,ur=1,_r=5659):(ur=(d&2049|0)!=0&1,_r=d&2048|0?5662:d&1|0?5665:5660),q7(l)|0,Zt=Ce&2146435072;do if(Zt>>>0<2146435072|(Zt|0)==2146435072&!1){if(We=+k4e(l,rt)*2,B=We!=0,B&&(n[rt>>2]=(n[rt>>2]|0)+-1),ct=m|32,(ct|0)==97){Oe=m&32,oe=Oe|0?_r+9|0:_r,j=ur|2,B=12-f|0;do if(f>>>0>11|(B|0)==0)l=We;else{l=8;do B=B+-1|0,l=l*16;while(B|0);if((o[oe>>0]|0)==45){l=-(l+(-We-l));break}else{l=We+l-l;break}}while(!1);k=n[rt>>2]|0,B=(k|0)<0?0-k|0:k,B=nm(B,((B|0)<0)<<31>>31,kr)|0,(B|0)==(kr|0)&&(B=M+11|0,o[B>>0]=48),o[B+-1>>0]=(k>>31&2)+43,O=B+-2|0,o[O>>0]=m+15,M=(f|0)<1,F=(d&8|0)==0,B=lr;do Zt=~~l,k=B+1|0,o[B>>0]=u[5694+Zt>>0]|Oe,l=(l-+(Zt|0))*16,(k-Or|0)==1&&!(F&(M&l==0))?(o[k>>0]=46,B=B+2|0):B=k;while(l!=0);Zt=B-Or|0,Or=kr-O|0,kr=(f|0)!=0&(Zt+-2|0)<(f|0)?f+2|0:Zt,B=Or+j+kr|0,Es(s,32,c,B,d),os(s,oe,j),Es(s,48,c,B,d^65536),os(s,lr,Zt),Es(s,48,kr-Zt|0,0,0),os(s,O,Or),Es(s,32,c,B,d^8192);break}k=(f|0)<0?6:f,B?(B=(n[rt>>2]|0)+-28|0,n[rt>>2]=B,l=We*268435456):(l=We,B=n[rt>>2]|0),Zt=(B|0)<0?F:F+288|0,F=Zt;do Ge=~~l>>>0,n[F>>2]=Ge,F=F+4|0,l=(l-+(Ge>>>0))*1e9;while(l!=0);if((B|0)>0)for(M=Zt,j=F;;){if(O=(B|0)<29?B:29,B=j+-4|0,B>>>0>=M>>>0){F=0;do _e=V7(n[B>>2]|0,0,O|0)|0,_e=cT(_e|0,Ce|0,F|0,0)|0,Ge=Ce,Xe=AT(_e|0,Ge|0,1e9,0)|0,n[B>>2]=Xe,F=uT(_e|0,Ge|0,1e9,0)|0,B=B+-4|0;while(B>>>0>=M>>>0);F&&(M=M+-4|0,n[M>>2]=F)}for(F=j;!(F>>>0<=M>>>0);)if(B=F+-4|0,!(n[B>>2]|0))F=B;else break;if(B=(n[rt>>2]|0)-O|0,n[rt>>2]=B,(B|0)>0)j=F;else break}else M=Zt;if((B|0)<0){f=((k+25|0)/9|0)+1|0,Qe=(ct|0)==102;do{if(Oe=0-B|0,Oe=(Oe|0)<9?Oe:9,M>>>0<F>>>0){O=(1<<Oe)+-1|0,j=1e9>>>Oe,oe=0,B=M;do Ge=n[B>>2]|0,n[B>>2]=(Ge>>>Oe)+oe,oe=He(Ge&O,j)|0,B=B+4|0;while(B>>>0<F>>>0);B=n[M>>2]|0?M:M+4|0,oe?(n[F>>2]=oe,M=B,B=F+4|0):(M=B,B=F)}else M=n[M>>2]|0?M:M+4|0,B=F;F=Qe?Zt:M,F=(B-F>>2|0)>(f|0)?F+(f<<2)|0:B,B=(n[rt>>2]|0)+Oe|0,n[rt>>2]=B}while((B|0)<0);B=M,f=F}else B=M,f=F;if(Ge=Zt,B>>>0<f>>>0){if(F=(Ge-B>>2)*9|0,O=n[B>>2]|0,O>>>0>=10){M=10;do M=M*10|0,F=F+1|0;while(O>>>0>=M>>>0)}}else F=0;if(Qe=(ct|0)==103,Xe=(k|0)!=0,M=k-((ct|0)!=102?F:0)+((Xe&Qe)<<31>>31)|0,(M|0)<(((f-Ge>>2)*9|0)+-9|0)){if(M=M+9216|0,Oe=Zt+4+(((M|0)/9|0)+-1024<<2)|0,M=((M|0)%9|0)+1|0,(M|0)<9){O=10;do O=O*10|0,M=M+1|0;while((M|0)!=9)}else O=10;if(j=n[Oe>>2]|0,oe=(j>>>0)%(O>>>0)|0,M=(Oe+4|0)==(f|0),M&(oe|0)==0)M=Oe;else if(We=((j>>>0)/(O>>>0)|0)&1|0?9007199254740994:9007199254740992,_e=(O|0)/2|0,l=oe>>>0<_e>>>0?.5:M&(oe|0)==(_e|0)?1:1.5,ur&&(_e=(o[_r>>0]|0)==45,l=_e?-l:l,We=_e?-We:We),M=j-oe|0,n[Oe>>2]=M,We+l!=We){if(_e=M+O|0,n[Oe>>2]=_e,_e>>>0>999999999)for(F=Oe;M=F+-4|0,n[F>>2]=0,M>>>0<B>>>0&&(B=B+-4|0,n[B>>2]=0),_e=(n[M>>2]|0)+1|0,n[M>>2]=_e,_e>>>0>999999999;)F=M;else M=Oe;if(F=(Ge-B>>2)*9|0,j=n[B>>2]|0,j>>>0>=10){O=10;do O=O*10|0,F=F+1|0;while(j>>>0>=O>>>0)}}else M=Oe;M=M+4|0,M=f>>>0>M>>>0?M:f,_e=B}else M=f,_e=B;for(ct=M;;){if(ct>>>0<=_e>>>0){rt=0;break}if(B=ct+-4|0,!(n[B>>2]|0))ct=B;else{rt=1;break}}f=0-F|0;do if(Qe)if(B=((Xe^1)&1)+k|0,(B|0)>(F|0)&(F|0)>-5?(O=m+-1|0,k=B+-1-F|0):(O=m+-2|0,k=B+-1|0),B=d&8,B)Oe=B;else{if(rt&&(Lt=n[ct+-4>>2]|0,(Lt|0)!=0))if((Lt>>>0)%10|0)M=0;else{M=0,B=10;do B=B*10|0,M=M+1|0;while(!((Lt>>>0)%(B>>>0)|0|0))}else M=9;if(B=((ct-Ge>>2)*9|0)+-9|0,(O|32|0)==102){Oe=B-M|0,Oe=(Oe|0)>0?Oe:0,k=(k|0)<(Oe|0)?k:Oe,Oe=0;break}else{Oe=B+F-M|0,Oe=(Oe|0)>0?Oe:0,k=(k|0)<(Oe|0)?k:Oe,Oe=0;break}}else O=m,Oe=d&8;while(!1);if(Qe=k|Oe,j=(Qe|0)!=0&1,oe=(O|32|0)==102,oe)Xe=0,B=(F|0)>0?F:0;else{if(B=(F|0)<0?f:F,B=nm(B,((B|0)<0)<<31>>31,kr)|0,M=kr,(M-B|0)<2)do B=B+-1|0,o[B>>0]=48;while((M-B|0)<2);o[B+-1>>0]=(F>>31&2)+43,B=B+-2|0,o[B>>0]=O,Xe=B,B=M-B|0}if(B=ur+1+k+j+B|0,Es(s,32,c,B,d),os(s,_r,ur),Es(s,48,c,B,d^65536),oe){O=_e>>>0>Zt>>>0?Zt:_e,Oe=lr+9|0,j=Oe,oe=lr+8|0,M=O;do{if(F=nm(n[M>>2]|0,0,Oe)|0,(M|0)==(O|0))(F|0)==(Oe|0)&&(o[oe>>0]=48,F=oe);else if(F>>>0>lr>>>0){sm(lr|0,48,F-Or|0)|0;do F=F+-1|0;while(F>>>0>lr>>>0)}os(s,F,j-F|0),M=M+4|0}while(M>>>0<=Zt>>>0);if(Qe|0&&os(s,5710,1),M>>>0<ct>>>0&(k|0)>0)for(;;){if(F=nm(n[M>>2]|0,0,Oe)|0,F>>>0>lr>>>0){sm(lr|0,48,F-Or|0)|0;do F=F+-1|0;while(F>>>0>lr>>>0)}if(os(s,F,(k|0)<9?k:9),M=M+4|0,F=k+-9|0,M>>>0<ct>>>0&(k|0)>9)k=F;else{k=F;break}}Es(s,48,k+9|0,9,0)}else{if(Qe=rt?ct:_e+4|0,(k|0)>-1){rt=lr+9|0,Oe=(Oe|0)==0,f=rt,j=0-Or|0,oe=lr+8|0,O=_e;do{F=nm(n[O>>2]|0,0,rt)|0,(F|0)==(rt|0)&&(o[oe>>0]=48,F=oe);do if((O|0)==(_e|0)){if(M=F+1|0,os(s,F,1),Oe&(k|0)<1){F=M;break}os(s,5710,1),F=M}else{if(F>>>0<=lr>>>0)break;sm(lr|0,48,F+j|0)|0;do F=F+-1|0;while(F>>>0>lr>>>0)}while(!1);Or=f-F|0,os(s,F,(k|0)>(Or|0)?Or:k),k=k-Or|0,O=O+4|0}while(O>>>0<Qe>>>0&(k|0)>-1)}Es(s,48,k+18|0,18,0),os(s,Xe,kr-Xe|0)}Es(s,32,c,B,d^8192)}else lr=(m&32|0)!=0,B=ur+3|0,Es(s,32,c,B,d&-65537),os(s,_r,ur),os(s,l!=l|!1?lr?5686:5690:lr?5678:5682,3),Es(s,32,c,B,d^8192);while(!1);return C=Nn,((B|0)<(c|0)?c:B)|0}function q7(s){s=+s;var l=0;return E[D>>3]=s,l=n[D>>2]|0,Ce=n[D+4>>2]|0,l|0}function k4e(s,l){return s=+s,l=l|0,+ +j7(s,l)}function j7(s,l){s=+s,l=l|0;var c=0,f=0,d=0;switch(E[D>>3]=s,c=n[D>>2]|0,f=n[D+4>>2]|0,d=GD(c|0,f|0,52)|0,d&2047){case 0:{s!=0?(s=+j7(s*18446744073709552e3,l),c=(n[l>>2]|0)+-64|0):c=0,n[l>>2]=c;break}case 2047:break;default:n[l>>2]=(d&2047)+-1022,n[D>>2]=c,n[D+4>>2]=f&-2146435073|1071644672,s=+E[D>>3]}return+s}function Q4e(s,l,c){s=s|0,l=l|0,c=c|0;do if(s){if(l>>>0<128){o[s>>0]=l,s=1;break}if(!(n[n[(F4e()|0)+188>>2]>>2]|0))if((l&-128|0)==57216){o[s>>0]=l,s=1;break}else{n[(rm()|0)>>2]=84,s=-1;break}if(l>>>0<2048){o[s>>0]=l>>>6|192,o[s+1>>0]=l&63|128,s=2;break}if(l>>>0<55296|(l&-8192|0)==57344){o[s>>0]=l>>>12|224,o[s+1>>0]=l>>>6&63|128,o[s+2>>0]=l&63|128,s=3;break}if((l+-65536|0)>>>0<1048576){o[s>>0]=l>>>18|240,o[s+1>>0]=l>>>12&63|128,o[s+2>>0]=l>>>6&63|128,o[s+3>>0]=l&63|128,s=4;break}else{n[(rm()|0)>>2]=84,s=-1;break}}else s=1;while(!1);return s|0}function F4e(){return oT()|0}function R4e(){return oT()|0}function T4e(s,l){s=s|0,l=l|0;var c=0,f=0;for(f=0;;){if((u[5712+f>>0]|0)==(s|0)){s=2;break}if(c=f+1|0,(c|0)==87){c=5800,f=87,s=5;break}else f=c}if((s|0)==2&&(f?(c=5800,s=5):c=5800),(s|0)==5)for(;;){do s=c,c=c+1|0;while(o[s>>0]|0);if(f=f+-1|0,f)s=5;else break}return N4e(c,n[l+20>>2]|0)|0}function N4e(s,l){return s=s|0,l=l|0,L4e(s,l)|0}function L4e(s,l){return s=s|0,l=l|0,l?l=O4e(n[l>>2]|0,n[l+4>>2]|0,s)|0:l=0,(l|0?l:s)|0}function O4e(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,k=0,F=0,M=0,O=0,j=0,oe=0;oe=(n[s>>2]|0)+1794895138|0,m=O0(n[s+8>>2]|0,oe)|0,f=O0(n[s+12>>2]|0,oe)|0,d=O0(n[s+16>>2]|0,oe)|0;e:do if(m>>>0<l>>>2>>>0&&(j=l-(m<<2)|0,f>>>0<j>>>0&d>>>0<j>>>0)&&!((d|f)&3|0)){for(j=f>>>2,O=d>>>2,M=0;;){if(k=m>>>1,F=M+k|0,B=F<<1,d=B+j|0,f=O0(n[s+(d<<2)>>2]|0,oe)|0,d=O0(n[s+(d+1<<2)>>2]|0,oe)|0,!(d>>>0<l>>>0&f>>>0<(l-d|0)>>>0)){f=0;break e}if(o[s+(d+f)>>0]|0){f=0;break e}if(f=O7(c,s+d|0)|0,!f)break;if(f=(f|0)<0,(m|0)==1){f=0;break e}else M=f?M:F,m=f?k:m-k|0}f=B+O|0,d=O0(n[s+(f<<2)>>2]|0,oe)|0,f=O0(n[s+(f+1<<2)>>2]|0,oe)|0,f>>>0<l>>>0&d>>>0<(l-f|0)>>>0?f=o[s+(f+d)>>0]|0?0:s+f|0:f=0}else f=0;while(!1);return f|0}function O0(s,l){s=s|0,l=l|0;var c=0;return c=X7(s|0)|0,(l|0?c:s)|0}function M4e(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,k=0;f=c+16|0,d=n[f>>2]|0,d?m=5:U4e(c)|0?f=0:(d=n[f>>2]|0,m=5);e:do if((m|0)==5){if(k=c+20|0,B=n[k>>2]|0,f=B,(d-B|0)>>>0<l>>>0){f=YD[n[c+36>>2]&7](c,s,l)|0;break}t:do if((o[c+75>>0]|0)>-1){for(B=l;;){if(!B){m=0,d=s;break t}if(d=B+-1|0,(o[s+d>>0]|0)==10)break;B=d}if(f=YD[n[c+36>>2]&7](c,s,B)|0,f>>>0<B>>>0)break e;m=B,d=s+B|0,l=l-B|0,f=n[k>>2]|0}else m=0,d=s;while(!1);xr(f|0,d|0,l|0)|0,n[k>>2]=(n[k>>2]|0)+l,f=m+l|0}while(!1);return f|0}function U4e(s){s=s|0;var l=0,c=0;return l=s+74|0,c=o[l>>0]|0,o[l>>0]=c+255|c,l=n[s>>2]|0,l&8?(n[s>>2]=l|32,s=-1):(n[s+8>>2]=0,n[s+4>>2]=0,c=n[s+44>>2]|0,n[s+28>>2]=c,n[s+20>>2]=c,n[s+16>>2]=c+(n[s+48>>2]|0),s=0),s|0}function Yn(s,l){s=y(s),l=y(l);var c=0,f=0;c=G7(s)|0;do if((c&2147483647)>>>0<=2139095040){if(f=G7(l)|0,(f&2147483647)>>>0<=2139095040)if((f^c|0)<0){s=(c|0)<0?l:s;break}else{s=s<l?l:s;break}}else s=l;while(!1);return y(s)}function G7(s){return s=y(s),h[D>>2]=s,n[D>>2]|0|0}function M0(s,l){s=y(s),l=y(l);var c=0,f=0;c=W7(s)|0;do if((c&2147483647)>>>0<=2139095040){if(f=W7(l)|0,(f&2147483647)>>>0<=2139095040)if((f^c|0)<0){s=(c|0)<0?s:l;break}else{s=s<l?s:l;break}}else s=l;while(!1);return y(s)}function W7(s){return s=y(s),h[D>>2]=s,n[D>>2]|0|0}function lT(s,l){s=y(s),l=y(l);var c=0,f=0,d=0,m=0,B=0,k=0,F=0,M=0;m=(h[D>>2]=s,n[D>>2]|0),k=(h[D>>2]=l,n[D>>2]|0),c=m>>>23&255,B=k>>>23&255,F=m&-2147483648,d=k<<1;e:do if(d|0&&!((c|0)==255|((_4e(l)|0)&2147483647)>>>0>2139095040)){if(f=m<<1,f>>>0<=d>>>0)return l=y(s*y(0)),y((f|0)==(d|0)?l:s);if(c)f=m&8388607|8388608;else{if(c=m<<9,(c|0)>-1){f=c,c=0;do c=c+-1|0,f=f<<1;while((f|0)>-1)}else c=0;f=m<<1-c}if(B)k=k&8388607|8388608;else{if(m=k<<9,(m|0)>-1){d=0;do d=d+-1|0,m=m<<1;while((m|0)>-1)}else d=0;B=d,k=k<<1-d}d=f-k|0,m=(d|0)>-1;t:do if((c|0)>(B|0)){for(;;){if(m)if(d)f=d;else break;if(f=f<<1,c=c+-1|0,d=f-k|0,m=(d|0)>-1,(c|0)<=(B|0))break t}l=y(s*y(0));break e}while(!1);if(m)if(d)f=d;else{l=y(s*y(0));break}if(f>>>0<8388608)do f=f<<1,c=c+-1|0;while(f>>>0<8388608);(c|0)>0?c=f+-8388608|c<<23:c=f>>>(1-c|0),l=(n[D>>2]=c|F,y(h[D>>2]))}else M=3;while(!1);return(M|0)==3&&(l=y(s*l),l=y(l/l)),y(l)}function _4e(s){return s=y(s),h[D>>2]=s,n[D>>2]|0|0}function H4e(s,l){return s=s|0,l=l|0,M7(n[582]|0,s,l)|0}function Zr(s){s=s|0,Tt()}function im(s){s=s|0}function q4e(s,l){return s=s|0,l=l|0,0}function j4e(s){return s=s|0,(Y7(s+4|0)|0)==-1?(ef[n[(n[s>>2]|0)+8>>2]&127](s),s=1):s=0,s|0}function Y7(s){s=s|0;var l=0;return l=n[s>>2]|0,n[s>>2]=l+-1,l+-1|0}function Rp(s){s=s|0,j4e(s)|0&&G4e(s)}function G4e(s){s=s|0;var l=0;l=s+8|0,n[l>>2]|0&&(Y7(l)|0)!=-1||ef[n[(n[s>>2]|0)+16>>2]&127](s)}function Yt(s){s=s|0;var l=0;for(l=s|0?s:1;s=_D(l)|0,!(s|0);){if(s=Y4e()|0,!s){s=0;break}aW[s&0]()}return s|0}function K7(s){return s=s|0,Yt(s)|0}function yt(s){s=s|0,HD(s)}function W4e(s){s=s|0,(o[s+11>>0]|0)<0&&yt(n[s>>2]|0)}function Y4e(){var s=0;return s=n[2923]|0,n[2923]=s+0,s|0}function K4e(){}function jD(s,l,c,f){return s=s|0,l=l|0,c=c|0,f=f|0,f=l-f-(c>>>0>s>>>0|0)>>>0,Ce=f,s-c>>>0|0|0}function cT(s,l,c,f){return s=s|0,l=l|0,c=c|0,f=f|0,c=s+c>>>0,Ce=l+f+(c>>>0<s>>>0|0)>>>0,c|0|0}function sm(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0;if(m=s+c|0,l=l&255,(c|0)>=67){for(;s&3;)o[s>>0]=l,s=s+1|0;for(f=m&-4|0,d=f-64|0,B=l|l<<8|l<<16|l<<24;(s|0)<=(d|0);)n[s>>2]=B,n[s+4>>2]=B,n[s+8>>2]=B,n[s+12>>2]=B,n[s+16>>2]=B,n[s+20>>2]=B,n[s+24>>2]=B,n[s+28>>2]=B,n[s+32>>2]=B,n[s+36>>2]=B,n[s+40>>2]=B,n[s+44>>2]=B,n[s+48>>2]=B,n[s+52>>2]=B,n[s+56>>2]=B,n[s+60>>2]=B,s=s+64|0;for(;(s|0)<(f|0);)n[s>>2]=B,s=s+4|0}for(;(s|0)<(m|0);)o[s>>0]=l,s=s+1|0;return m-c|0}function V7(s,l,c){return s=s|0,l=l|0,c=c|0,(c|0)<32?(Ce=l<<c|(s&(1<<c)-1<<32-c)>>>32-c,s<<c):(Ce=s<<c-32,0)}function GD(s,l,c){return s=s|0,l=l|0,c=c|0,(c|0)<32?(Ce=l>>>c,s>>>c|(l&(1<<c)-1)<<32-c):(Ce=0,l>>>c-32|0)}function xr(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0;if((c|0)>=8192)return FA(s|0,l|0,c|0)|0;if(m=s|0,d=s+c|0,(s&3)==(l&3)){for(;s&3;){if(!c)return m|0;o[s>>0]=o[l>>0]|0,s=s+1|0,l=l+1|0,c=c-1|0}for(c=d&-4|0,f=c-64|0;(s|0)<=(f|0);)n[s>>2]=n[l>>2],n[s+4>>2]=n[l+4>>2],n[s+8>>2]=n[l+8>>2],n[s+12>>2]=n[l+12>>2],n[s+16>>2]=n[l+16>>2],n[s+20>>2]=n[l+20>>2],n[s+24>>2]=n[l+24>>2],n[s+28>>2]=n[l+28>>2],n[s+32>>2]=n[l+32>>2],n[s+36>>2]=n[l+36>>2],n[s+40>>2]=n[l+40>>2],n[s+44>>2]=n[l+44>>2],n[s+48>>2]=n[l+48>>2],n[s+52>>2]=n[l+52>>2],n[s+56>>2]=n[l+56>>2],n[s+60>>2]=n[l+60>>2],s=s+64|0,l=l+64|0;for(;(s|0)<(c|0);)n[s>>2]=n[l>>2],s=s+4|0,l=l+4|0}else for(c=d-4|0;(s|0)<(c|0);)o[s>>0]=o[l>>0]|0,o[s+1>>0]=o[l+1>>0]|0,o[s+2>>0]=o[l+2>>0]|0,o[s+3>>0]=o[l+3>>0]|0,s=s+4|0,l=l+4|0;for(;(s|0)<(d|0);)o[s>>0]=o[l>>0]|0,s=s+1|0,l=l+1|0;return m|0}function J7(s){s=s|0;var l=0;return l=o[L+(s&255)>>0]|0,(l|0)<8?l|0:(l=o[L+(s>>8&255)>>0]|0,(l|0)<8?l+8|0:(l=o[L+(s>>16&255)>>0]|0,(l|0)<8?l+16|0:(o[L+(s>>>24)>>0]|0)+24|0))}function z7(s,l,c,f,d){s=s|0,l=l|0,c=c|0,f=f|0,d=d|0;var m=0,B=0,k=0,F=0,M=0,O=0,j=0,oe=0,We=0,Oe=0;if(O=s,F=l,M=F,B=c,oe=f,k=oe,!M)return m=(d|0)!=0,k?m?(n[d>>2]=s|0,n[d+4>>2]=l&0,oe=0,d=0,Ce=oe,d|0):(oe=0,d=0,Ce=oe,d|0):(m&&(n[d>>2]=(O>>>0)%(B>>>0),n[d+4>>2]=0),oe=0,d=(O>>>0)/(B>>>0)>>>0,Ce=oe,d|0);m=(k|0)==0;do if(B){if(!m){if(m=(S(k|0)|0)-(S(M|0)|0)|0,m>>>0<=31){j=m+1|0,k=31-m|0,l=m-31>>31,B=j,s=O>>>(j>>>0)&l|M<<k,l=M>>>(j>>>0)&l,m=0,k=O<<k;break}return d?(n[d>>2]=s|0,n[d+4>>2]=F|l&0,oe=0,d=0,Ce=oe,d|0):(oe=0,d=0,Ce=oe,d|0)}if(m=B-1|0,m&B|0){k=(S(B|0)|0)+33-(S(M|0)|0)|0,Oe=64-k|0,j=32-k|0,F=j>>31,We=k-32|0,l=We>>31,B=k,s=j-1>>31&M>>>(We>>>0)|(M<<j|O>>>(k>>>0))&l,l=l&M>>>(k>>>0),m=O<<Oe&F,k=(M<<Oe|O>>>(We>>>0))&F|O<<j&k-33>>31;break}return d|0&&(n[d>>2]=m&O,n[d+4>>2]=0),(B|0)==1?(We=F|l&0,Oe=s|0|0,Ce=We,Oe|0):(Oe=J7(B|0)|0,We=M>>>(Oe>>>0)|0,Oe=M<<32-Oe|O>>>(Oe>>>0)|0,Ce=We,Oe|0)}else{if(m)return d|0&&(n[d>>2]=(M>>>0)%(B>>>0),n[d+4>>2]=0),We=0,Oe=(M>>>0)/(B>>>0)>>>0,Ce=We,Oe|0;if(!O)return d|0&&(n[d>>2]=0,n[d+4>>2]=(M>>>0)%(k>>>0)),We=0,Oe=(M>>>0)/(k>>>0)>>>0,Ce=We,Oe|0;if(m=k-1|0,!(m&k))return d|0&&(n[d>>2]=s|0,n[d+4>>2]=m&M|l&0),We=0,Oe=M>>>((J7(k|0)|0)>>>0),Ce=We,Oe|0;if(m=(S(k|0)|0)-(S(M|0)|0)|0,m>>>0<=30){l=m+1|0,k=31-m|0,B=l,s=M<<k|O>>>(l>>>0),l=M>>>(l>>>0),m=0,k=O<<k;break}return d?(n[d>>2]=s|0,n[d+4>>2]=F|l&0,We=0,Oe=0,Ce=We,Oe|0):(We=0,Oe=0,Ce=We,Oe|0)}while(!1);if(!B)M=k,F=0,k=0;else{j=c|0|0,O=oe|f&0,M=cT(j|0,O|0,-1,-1)|0,c=Ce,F=k,k=0;do f=F,F=m>>>31|F<<1,m=k|m<<1,f=s<<1|f>>>31|0,oe=s>>>31|l<<1|0,jD(M|0,c|0,f|0,oe|0)|0,Oe=Ce,We=Oe>>31|((Oe|0)<0?-1:0)<<1,k=We&1,s=jD(f|0,oe|0,We&j|0,(((Oe|0)<0?-1:0)>>31|((Oe|0)<0?-1:0)<<1)&O|0)|0,l=Ce,B=B-1|0;while(B|0);M=F,F=0}return B=0,d|0&&(n[d>>2]=s,n[d+4>>2]=l),We=(m|0)>>>31|(M|B)<<1|(B<<1|m>>>31)&0|F,Oe=(m<<1|0)&-2|k,Ce=We,Oe|0}function uT(s,l,c,f){return s=s|0,l=l|0,c=c|0,f=f|0,z7(s,l,c,f,0)|0}function Tp(s){s=s|0;var l=0,c=0;return c=s+15&-16|0,l=n[w>>2]|0,s=l+c|0,(c|0)>0&(s|0)<(l|0)|(s|0)<0?(se()|0,yc(12),-1):(n[w>>2]=s,(s|0)>($()|0)&&!(X()|0)?(n[w>>2]=l,yc(12),-1):l|0)}function rw(s,l,c){s=s|0,l=l|0,c=c|0;var f=0;if((l|0)<(s|0)&(s|0)<(l+c|0)){for(f=s,l=l+c|0,s=s+c|0;(c|0)>0;)s=s-1|0,l=l-1|0,c=c-1|0,o[s>>0]=o[l>>0]|0;s=f}else xr(s,l,c)|0;return s|0}function AT(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0,m=0;return m=C,C=C+16|0,d=m|0,z7(s,l,c,f,d)|0,C=m,Ce=n[d+4>>2]|0,n[d>>2]|0|0}function X7(s){return s=s|0,(s&255)<<24|(s>>8&255)<<16|(s>>16&255)<<8|s>>>24|0}function V4e(s,l,c,f,d,m){s=s|0,l=l|0,c=c|0,f=f|0,d=d|0,m=m|0,Z7[s&1](l|0,c|0,f|0,d|0,m|0)}function J4e(s,l,c){s=s|0,l=l|0,c=y(c),$7[s&1](l|0,y(c))}function z4e(s,l,c){s=s|0,l=l|0,c=+c,eW[s&31](l|0,+c)}function X4e(s,l,c,f){return s=s|0,l=l|0,c=y(c),f=y(f),y(tW[s&0](l|0,y(c),y(f)))}function Z4e(s,l){s=s|0,l=l|0,ef[s&127](l|0)}function $4e(s,l,c){s=s|0,l=l|0,c=c|0,tf[s&31](l|0,c|0)}function e3e(s,l){return s=s|0,l=l|0,_0[s&31](l|0)|0}function t3e(s,l,c,f,d){s=s|0,l=l|0,c=+c,f=+f,d=d|0,rW[s&1](l|0,+c,+f,d|0)}function r3e(s,l,c,f){s=s|0,l=l|0,c=+c,f=+f,L3e[s&1](l|0,+c,+f)}function n3e(s,l,c,f){return s=s|0,l=l|0,c=c|0,f=f|0,YD[s&7](l|0,c|0,f|0)|0}function i3e(s,l,c,f){return s=s|0,l=l|0,c=c|0,f=f|0,+O3e[s&1](l|0,c|0,f|0)}function s3e(s,l){return s=s|0,l=l|0,+nW[s&15](l|0)}function o3e(s,l,c){return s=s|0,l=l|0,c=+c,M3e[s&1](l|0,+c)|0}function a3e(s,l,c){return s=s|0,l=l|0,c=c|0,pT[s&15](l|0,c|0)|0}function l3e(s,l,c,f,d,m){s=s|0,l=l|0,c=c|0,f=+f,d=+d,m=m|0,U3e[s&1](l|0,c|0,+f,+d,m|0)}function c3e(s,l,c,f,d,m,B){s=s|0,l=l|0,c=c|0,f=f|0,d=d|0,m=m|0,B=B|0,_3e[s&1](l|0,c|0,f|0,d|0,m|0,B|0)}function u3e(s,l,c){return s=s|0,l=l|0,c=c|0,+iW[s&7](l|0,c|0)}function A3e(s){return s=s|0,KD[s&7]()|0}function f3e(s,l,c,f,d,m){return s=s|0,l=l|0,c=c|0,f=f|0,d=d|0,m=m|0,sW[s&1](l|0,c|0,f|0,d|0,m|0)|0}function p3e(s,l,c,f,d){s=s|0,l=l|0,c=c|0,f=f|0,d=+d,H3e[s&1](l|0,c|0,f|0,+d)}function h3e(s,l,c,f,d,m,B){s=s|0,l=l|0,c=c|0,f=y(f),d=d|0,m=y(m),B=B|0,oW[s&1](l|0,c|0,y(f),d|0,y(m),B|0)}function g3e(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0,sw[s&15](l|0,c|0,f|0)}function d3e(s){s=s|0,aW[s&0]()}function m3e(s,l,c,f){s=s|0,l=l|0,c=c|0,f=+f,lW[s&15](l|0,c|0,+f)}function y3e(s,l,c){return s=s|0,l=+l,c=+c,q3e[s&1](+l,+c)|0}function E3e(s,l,c,f,d){s=s|0,l=l|0,c=c|0,f=f|0,d=d|0,hT[s&15](l|0,c|0,f|0,d|0)}function C3e(s,l,c,f,d){s=s|0,l=l|0,c=c|0,f=f|0,d=d|0,R(0)}function I3e(s,l){s=s|0,l=y(l),R(1)}function Ca(s,l){s=s|0,l=+l,R(2)}function w3e(s,l,c){return s=s|0,l=y(l),c=y(c),R(3),Ze}function Cr(s){s=s|0,R(4)}function nw(s,l){s=s|0,l=l|0,R(5)}function tl(s){return s=s|0,R(6),0}function B3e(s,l,c,f){s=s|0,l=+l,c=+c,f=f|0,R(7)}function v3e(s,l,c){s=s|0,l=+l,c=+c,R(8)}function D3e(s,l,c){return s=s|0,l=l|0,c=c|0,R(9),0}function P3e(s,l,c){return s=s|0,l=l|0,c=c|0,R(10),0}function U0(s){return s=s|0,R(11),0}function S3e(s,l){return s=s|0,l=+l,R(12),0}function iw(s,l){return s=s|0,l=l|0,R(13),0}function b3e(s,l,c,f,d){s=s|0,l=l|0,c=+c,f=+f,d=d|0,R(14)}function x3e(s,l,c,f,d,m){s=s|0,l=l|0,c=c|0,f=f|0,d=d|0,m=m|0,R(15)}function fT(s,l){return s=s|0,l=l|0,R(16),0}function k3e(){return R(17),0}function Q3e(s,l,c,f,d){return s=s|0,l=l|0,c=c|0,f=f|0,d=d|0,R(18),0}function F3e(s,l,c,f){s=s|0,l=l|0,c=c|0,f=+f,R(19)}function R3e(s,l,c,f,d,m){s=s|0,l=l|0,c=y(c),f=f|0,d=y(d),m=m|0,R(20)}function WD(s,l,c){s=s|0,l=l|0,c=c|0,R(21)}function T3e(){R(22)}function om(s,l,c){s=s|0,l=l|0,c=+c,R(23)}function N3e(s,l){return s=+s,l=+l,R(24),0}function am(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0,R(25)}var Z7=[C3e,QLe],$7=[I3e,Od],eW=[Ca,B0,vp,UI,_I,HI,qI,ku,Wd,jI,Qu,v0,D0,GI,WI,xc,P0,YI,Yd,Ca,Ca,Ca,Ca,Ca,Ca,Ca,Ca,Ca,Ca,Ca,Ca,Ca],tW=[w3e],ef=[Cr,im,ADe,fDe,pDe,qbe,jbe,Gbe,oNe,aNe,lNe,yLe,ELe,CLe,_Ue,HUe,qUe,qa,w0,NI,ir,xl,xD,kD,tDe,IDe,RDe,XDe,pPe,kPe,KPe,lSe,BSe,USe,tbe,mbe,Rbe,axe,Bxe,Uxe,tke,mke,Rke,Zke,pQe,SQe,jQe,dD,CFe,LFe,tRe,ERe,TRe,tTe,ATe,hTe,QTe,TTe,XTe,uNe,pNe,kNe,VNe,MG,xOe,oMe,IMe,LMe,iUe,EUe,kUe,RUe,Cr,Cr,Cr,Cr,Cr,Cr,Cr,Cr,Cr,Cr,Cr,Cr,Cr,Cr,Cr,Cr,Cr,Cr,Cr,Cr,Cr,Cr,Cr,Cr,Cr,Cr,Cr,Cr,Cr,Cr,Cr,Cr,Cr,Cr,Cr,Cr,Cr,Cr,Cr,Cr,Cr,Cr,Cr,Cr,Cr,Cr,Cr,Cr,Cr,Cr,Cr,Cr,Cr,Cr,Cr,Cr],tf=[nw,qd,YF,LI,OI,Sr,Os,Oi,ms,is,Gd,Bp,VI,ID,x0,JF,zF,wD,BD,$F,Fu,ne,rQe,dQe,BRe,FOe,rLe,w7,nw,nw,nw,nw],_0=[tl,m4e,_d,b0,Vd,qo,mD,Dp,KI,VF,ED,Jd,vD,eR,Zd,YQe,MRe,RNe,LOe,Za,tl,tl,tl,tl,tl,tl,tl,tl,tl,tl,tl,tl],rW=[B3e,sR],L3e=[v3e,eNe],YD=[D3e,L7,y4e,I4e,TPe,Axe,vFe,_Me],O3e=[P3e,sbe],nW=[U0,Pp,CD,JA,oR,v,P,Q,H,Y,U0,U0,U0,U0,U0,U0],M3e=[S3e,lTe],pT=[iw,q4e,DD,sDe,tPe,zPe,ASe,Obe,Sxe,QQe,Md,DMe,iw,iw,iw,iw],U3e=[b3e,ODe],_3e=[x3e,lUe],iW=[fT,XF,Be,Ue,ft,Ibe,fT,fT],KD=[k3e,jt,Ud,gD,yTe,MTe,mNe,OUe],sW=[Q3e,kd],H3e=[F3e,ske],oW=[R3e,tR],sw=[WD,oo,yD,ZF,Qc,mPe,PSe,Ike,Oke,WF,eOe,uMe,BUe,WD,WD,WD],aW=[T3e],lW=[om,KF,jd,VA,MI,kc,Kd,S0,jxe,_Fe,iTe,om,om,om,om,om],q3e=[N3e,iNe],hT=[am,jSe,eFe,sRe,KRe,vTe,GTe,vNe,$Ne,qOe,VUe,am,am,am,am,am];return{_llvm_bswap_i32:X7,dynCall_idd:y3e,dynCall_i:A3e,_i64Subtract:jD,___udivdi3:uT,dynCall_vif:J4e,setThrew:Lo,dynCall_viii:g3e,_bitshift64Lshr:GD,_bitshift64Shl:V7,dynCall_vi:Z4e,dynCall_viiddi:l3e,dynCall_diii:i3e,dynCall_iii:a3e,_memset:sm,_sbrk:Tp,_memcpy:xr,__GLOBAL__sub_I_Yoga_cpp:FI,dynCall_vii:$4e,___uremdi3:AT,dynCall_vid:z4e,stackAlloc:ca,_nbind_init:s4e,getTempRet0:TA,dynCall_di:s3e,dynCall_iid:o3e,setTempRet0:RA,_i64Add:cT,dynCall_fiff:X4e,dynCall_iiii:n3e,_emscripten_get_global_libc:d4e,dynCall_viid:m3e,dynCall_viiid:p3e,dynCall_viififi:h3e,dynCall_ii:e3e,__GLOBAL__sub_I_Binding_cc:IOe,dynCall_viiii:E3e,dynCall_iiiiii:f3e,stackSave:mu,dynCall_viiiii:V4e,__GLOBAL__sub_I_nbind_cc:wr,dynCall_vidd:r3e,_free:HD,runPostSets:K4e,dynCall_viiiiii:c3e,establishStackSpace:dn,_memmove:rw,stackRestore:Bl,_malloc:_D,__GLOBAL__sub_I_common_cc:HNe,dynCall_viddi:t3e,dynCall_dii:u3e,dynCall_v:d3e}}(Module.asmGlobalArg,Module.asmLibraryArg,buffer),_llvm_bswap_i32=Module._llvm_bswap_i32=asm._llvm_bswap_i32,getTempRet0=Module.getTempRet0=asm.getTempRet0,___udivdi3=Module.___udivdi3=asm.___udivdi3,setThrew=Module.setThrew=asm.setThrew,_bitshift64Lshr=Module._bitshift64Lshr=asm._bitshift64Lshr,_bitshift64Shl=Module._bitshift64Shl=asm._bitshift64Shl,_memset=Module._memset=asm._memset,_sbrk=Module._sbrk=asm._sbrk,_memcpy=Module._memcpy=asm._memcpy,stackAlloc=Module.stackAlloc=asm.stackAlloc,___uremdi3=Module.___uremdi3=asm.___uremdi3,_nbind_init=Module._nbind_init=asm._nbind_init,_i64Subtract=Module._i64Subtract=asm._i64Subtract,setTempRet0=Module.setTempRet0=asm.setTempRet0,_i64Add=Module._i64Add=asm._i64Add,_emscripten_get_global_libc=Module._emscripten_get_global_libc=asm._emscripten_get_global_libc,__GLOBAL__sub_I_Yoga_cpp=Module.__GLOBAL__sub_I_Yoga_cpp=asm.__GLOBAL__sub_I_Yoga_cpp,__GLOBAL__sub_I_Binding_cc=Module.__GLOBAL__sub_I_Binding_cc=asm.__GLOBAL__sub_I_Binding_cc,stackSave=Module.stackSave=asm.stackSave,__GLOBAL__sub_I_nbind_cc=Module.__GLOBAL__sub_I_nbind_cc=asm.__GLOBAL__sub_I_nbind_cc,_free=Module._free=asm._free,runPostSets=Module.runPostSets=asm.runPostSets,establishStackSpace=Module.establishStackSpace=asm.establishStackSpace,_memmove=Module._memmove=asm._memmove,stackRestore=Module.stackRestore=asm.stackRestore,_malloc=Module._malloc=asm._malloc,__GLOBAL__sub_I_common_cc=Module.__GLOBAL__sub_I_common_cc=asm.__GLOBAL__sub_I_common_cc,dynCall_viiiii=Module.dynCall_viiiii=asm.dynCall_viiiii,dynCall_vif=Module.dynCall_vif=asm.dynCall_vif,dynCall_vid=Module.dynCall_vid=asm.dynCall_vid,dynCall_fiff=Module.dynCall_fiff=asm.dynCall_fiff,dynCall_vi=Module.dynCall_vi=asm.dynCall_vi,dynCall_vii=Module.dynCall_vii=asm.dynCall_vii,dynCall_ii=Module.dynCall_ii=asm.dynCall_ii,dynCall_viddi=Module.dynCall_viddi=asm.dynCall_viddi,dynCall_vidd=Module.dynCall_vidd=asm.dynCall_vidd,dynCall_iiii=Module.dynCall_iiii=asm.dynCall_iiii,dynCall_diii=Module.dynCall_diii=asm.dynCall_diii,dynCall_di=Module.dynCall_di=asm.dynCall_di,dynCall_iid=Module.dynCall_iid=asm.dynCall_iid,dynCall_iii=Module.dynCall_iii=asm.dynCall_iii,dynCall_viiddi=Module.dynCall_viiddi=asm.dynCall_viiddi,dynCall_viiiiii=Module.dynCall_viiiiii=asm.dynCall_viiiiii,dynCall_dii=Module.dynCall_dii=asm.dynCall_dii,dynCall_i=Module.dynCall_i=asm.dynCall_i,dynCall_iiiiii=Module.dynCall_iiiiii=asm.dynCall_iiiiii,dynCall_viiid=Module.dynCall_viiid=asm.dynCall_viiid,dynCall_viififi=Module.dynCall_viififi=asm.dynCall_viififi,dynCall_viii=Module.dynCall_viii=asm.dynCall_viii,dynCall_v=Module.dynCall_v=asm.dynCall_v,dynCall_viid=Module.dynCall_viid=asm.dynCall_viid,dynCall_idd=Module.dynCall_idd=asm.dynCall_idd,dynCall_viiii=Module.dynCall_viiii=asm.dynCall_viiii;Runtime.stackAlloc=Module.stackAlloc,Runtime.stackSave=Module.stackSave,Runtime.stackRestore=Module.stackRestore,Runtime.establishStackSpace=Module.establishStackSpace,Runtime.setTempRet0=Module.setTempRet0,Runtime.getTempRet0=Module.getTempRet0,Module.asm=asm;function ExitStatus(t){this.name="ExitStatus",this.message="Program terminated with exit("+t+")",this.status=t}ExitStatus.prototype=new Error,ExitStatus.prototype.constructor=ExitStatus;var initialStackTop,preloadStartTime=null,calledMain=!1;dependenciesFulfilled=function t(){Module.calledRun||run(),Module.calledRun||(dependenciesFulfilled=t)},Module.callMain=Module.callMain=function t(e){e=e||[],ensureInitRuntime();var r=e.length+1;function o(){for(var p=0;p<3;p++)a.push(0)}var a=[allocate(intArrayFromString(Module.thisProgram),"i8",ALLOC_NORMAL)];o();for(var n=0;n<r-1;n=n+1)a.push(allocate(intArrayFromString(e[n]),"i8",ALLOC_NORMAL)),o();a.push(0),a=allocate(a,"i32",ALLOC_NORMAL);try{var u=Module._main(r,a,0);exit(u,!0)}catch(p){if(p instanceof ExitStatus)return;if(p=="SimulateInfiniteLoop"){Module.noExitRuntime=!0;return}else{var A=p;p&&typeof p=="object"&&p.stack&&(A=[p,p.stack]),Module.printErr("exception thrown: "+A),Module.quit(1,p)}}finally{calledMain=!0}};function run(t){if(t=t||Module.arguments,preloadStartTime===null&&(preloadStartTime=Date.now()),runDependencies>0||(preRun(),runDependencies>0)||Module.calledRun)return;function e(){Module.calledRun||(Module.calledRun=!0,!ABORT&&(ensureInitRuntime(),preMain(),Module.onRuntimeInitialized&&Module.onRuntimeInitialized(),Module._main&&shouldRunNow&&Module.callMain(t),postRun()))}Module.setStatus?(Module.setStatus("Running..."),setTimeout(function(){setTimeout(function(){Module.setStatus("")},1),e()},1)):e()}Module.run=Module.run=run;function exit(t,e){e&&Module.noExitRuntime||(Module.noExitRuntime||(ABORT=!0,EXITSTATUS=t,STACKTOP=initialStackTop,exitRuntime(),Module.onExit&&Module.onExit(t)),ENVIRONMENT_IS_NODE&&process.exit(t),Module.quit(t,new ExitStatus(t)))}Module.exit=Module.exit=exit;var abortDecorators=[];function abort(t){Module.onAbort&&Module.onAbort(t),t!==void 0?(Module.print(t),Module.printErr(t),t=JSON.stringify(t)):t="",ABORT=!0,EXITSTATUS=1;var e=` +If this abort() is unexpected, build with -s ASSERTIONS=1 which can give more information.`,r="abort("+t+") at "+stackTrace()+e;throw abortDecorators&&abortDecorators.forEach(function(o){r=o(r,t)}),r}if(Module.abort=Module.abort=abort,Module.preInit)for(typeof Module.preInit=="function"&&(Module.preInit=[Module.preInit]);Module.preInit.length>0;)Module.preInit.pop()();var shouldRunNow=!0;Module.noInitialRun&&(shouldRunNow=!1),run()})});var id=_((nKt,SCe)=>{"use strict";var xyt=DCe(),kyt=PCe(),pq=!1,hq=null;kyt({},function(t,e){if(!pq){if(pq=!0,t)throw t;hq=e}});if(!pq)throw new Error("Failed to load the yoga module - it needed to be loaded synchronously, but didn't");SCe.exports=xyt(hq.bind,hq.lib)});var dq=_((iKt,gq)=>{"use strict";var bCe=t=>Number.isNaN(t)?!1:t>=4352&&(t<=4447||t===9001||t===9002||11904<=t&&t<=12871&&t!==12351||12880<=t&&t<=19903||19968<=t&&t<=42182||43360<=t&&t<=43388||44032<=t&&t<=55203||63744<=t&&t<=64255||65040<=t&&t<=65049||65072<=t&&t<=65131||65281<=t&&t<=65376||65504<=t&&t<=65510||110592<=t&&t<=110593||127488<=t&&t<=127569||131072<=t&&t<=262141);gq.exports=bCe;gq.exports.default=bCe});var kCe=_((sKt,xCe)=>{"use strict";xCe.exports=function(){return/\uD83C\uDFF4\uDB40\uDC67\uDB40\uDC62(?:\uDB40\uDC65\uDB40\uDC6E\uDB40\uDC67|\uDB40\uDC73\uDB40\uDC63\uDB40\uDC74|\uDB40\uDC77\uDB40\uDC6C\uDB40\uDC73)\uDB40\uDC7F|\uD83D\uDC68(?:\uD83C\uDFFC\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68\uD83C\uDFFB|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFF\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFE])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFE\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFD])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFD\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB\uDFFC])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\u200D(?:\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D)?\uD83D\uDC68|(?:\uD83D[\uDC68\uDC69])\u200D(?:\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67]))|\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67])|(?:\uD83D[\uDC68\uDC69])\u200D(?:\uD83D[\uDC66\uDC67])|[\u2695\u2696\u2708]\uFE0F|\uD83D[\uDC66\uDC67]|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|(?:\uD83C\uDFFB\u200D[\u2695\u2696\u2708]|\uD83C\uDFFF\u200D[\u2695\u2696\u2708]|\uD83C\uDFFE\u200D[\u2695\u2696\u2708]|\uD83C\uDFFD\u200D[\u2695\u2696\u2708]|\uD83C\uDFFC\u200D[\u2695\u2696\u2708])\uFE0F|\uD83C\uDFFB\u200D(?:\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C[\uDFFB-\uDFFF])|(?:\uD83E\uDDD1\uD83C\uDFFB\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFC\u200D\uD83E\uDD1D\u200D\uD83D\uDC69)\uD83C\uDFFB|\uD83E\uDDD1(?:\uD83C\uDFFF\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1(?:\uD83C[\uDFFB-\uDFFF])|\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1)|(?:\uD83E\uDDD1\uD83C\uDFFE\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFF\u200D\uD83E\uDD1D\u200D(?:\uD83D[\uDC68\uDC69]))(?:\uD83C[\uDFFB-\uDFFE])|(?:\uD83E\uDDD1\uD83C\uDFFC\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFD\u200D\uD83E\uDD1D\u200D\uD83D\uDC69)(?:\uD83C[\uDFFB\uDFFC])|\uD83D\uDC69(?:\uD83C\uDFFE\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFD\uDFFF])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFC\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB\uDFFD-\uDFFF])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFB\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFC-\uDFFF])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFD\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\u200D(?:\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D(?:\uD83D[\uDC68\uDC69])|\uD83D[\uDC68\uDC69])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFF\u200D(?:\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD]))|\uD83D\uDC69\u200D\uD83D\uDC69\u200D(?:\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67]))|(?:\uD83E\uDDD1\uD83C\uDFFD\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFE\u200D\uD83E\uDD1D\u200D\uD83D\uDC69)(?:\uD83C[\uDFFB-\uDFFD])|\uD83D\uDC69\u200D\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC69\u200D\uD83D\uDC69\u200D(?:\uD83D[\uDC66\uDC67])|(?:\uD83D\uDC41\uFE0F\u200D\uD83D\uDDE8|\uD83D\uDC69(?:\uD83C\uDFFF\u200D[\u2695\u2696\u2708]|\uD83C\uDFFE\u200D[\u2695\u2696\u2708]|\uD83C\uDFFC\u200D[\u2695\u2696\u2708]|\uD83C\uDFFB\u200D[\u2695\u2696\u2708]|\uD83C\uDFFD\u200D[\u2695\u2696\u2708]|\u200D[\u2695\u2696\u2708])|(?:(?:\u26F9|\uD83C[\uDFCB\uDFCC]|\uD83D\uDD75)\uFE0F|\uD83D\uDC6F|\uD83E[\uDD3C\uDDDE\uDDDF])\u200D[\u2640\u2642]|(?:\u26F9|\uD83C[\uDFCB\uDFCC]|\uD83D\uDD75)(?:\uD83C[\uDFFB-\uDFFF])\u200D[\u2640\u2642]|(?:\uD83C[\uDFC3\uDFC4\uDFCA]|\uD83D[\uDC6E\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4-\uDEB6]|\uD83E[\uDD26\uDD37-\uDD39\uDD3D\uDD3E\uDDB8\uDDB9\uDDCD-\uDDCF\uDDD6-\uDDDD])(?:(?:\uD83C[\uDFFB-\uDFFF])\u200D[\u2640\u2642]|\u200D[\u2640\u2642])|\uD83C\uDFF4\u200D\u2620)\uFE0F|\uD83D\uDC69\u200D\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67])|\uD83C\uDFF3\uFE0F\u200D\uD83C\uDF08|\uD83D\uDC15\u200D\uD83E\uDDBA|\uD83D\uDC69\u200D\uD83D\uDC66|\uD83D\uDC69\u200D\uD83D\uDC67|\uD83C\uDDFD\uD83C\uDDF0|\uD83C\uDDF4\uD83C\uDDF2|\uD83C\uDDF6\uD83C\uDDE6|[#\*0-9]\uFE0F\u20E3|\uD83C\uDDE7(?:\uD83C[\uDDE6\uDDE7\uDDE9-\uDDEF\uDDF1-\uDDF4\uDDF6-\uDDF9\uDDFB\uDDFC\uDDFE\uDDFF])|\uD83C\uDDF9(?:\uD83C[\uDDE6\uDDE8\uDDE9\uDDEB-\uDDED\uDDEF-\uDDF4\uDDF7\uDDF9\uDDFB\uDDFC\uDDFF])|\uD83C\uDDEA(?:\uD83C[\uDDE6\uDDE8\uDDEA\uDDEC\uDDED\uDDF7-\uDDFA])|\uD83E\uDDD1(?:\uD83C[\uDFFB-\uDFFF])|\uD83C\uDDF7(?:\uD83C[\uDDEA\uDDF4\uDDF8\uDDFA\uDDFC])|\uD83D\uDC69(?:\uD83C[\uDFFB-\uDFFF])|\uD83C\uDDF2(?:\uD83C[\uDDE6\uDDE8-\uDDED\uDDF0-\uDDFF])|\uD83C\uDDE6(?:\uD83C[\uDDE8-\uDDEC\uDDEE\uDDF1\uDDF2\uDDF4\uDDF6-\uDDFA\uDDFC\uDDFD\uDDFF])|\uD83C\uDDF0(?:\uD83C[\uDDEA\uDDEC-\uDDEE\uDDF2\uDDF3\uDDF5\uDDF7\uDDFC\uDDFE\uDDFF])|\uD83C\uDDED(?:\uD83C[\uDDF0\uDDF2\uDDF3\uDDF7\uDDF9\uDDFA])|\uD83C\uDDE9(?:\uD83C[\uDDEA\uDDEC\uDDEF\uDDF0\uDDF2\uDDF4\uDDFF])|\uD83C\uDDFE(?:\uD83C[\uDDEA\uDDF9])|\uD83C\uDDEC(?:\uD83C[\uDDE6\uDDE7\uDDE9-\uDDEE\uDDF1-\uDDF3\uDDF5-\uDDFA\uDDFC\uDDFE])|\uD83C\uDDF8(?:\uD83C[\uDDE6-\uDDEA\uDDEC-\uDDF4\uDDF7-\uDDF9\uDDFB\uDDFD-\uDDFF])|\uD83C\uDDEB(?:\uD83C[\uDDEE-\uDDF0\uDDF2\uDDF4\uDDF7])|\uD83C\uDDF5(?:\uD83C[\uDDE6\uDDEA-\uDDED\uDDF0-\uDDF3\uDDF7-\uDDF9\uDDFC\uDDFE])|\uD83C\uDDFB(?:\uD83C[\uDDE6\uDDE8\uDDEA\uDDEC\uDDEE\uDDF3\uDDFA])|\uD83C\uDDF3(?:\uD83C[\uDDE6\uDDE8\uDDEA-\uDDEC\uDDEE\uDDF1\uDDF4\uDDF5\uDDF7\uDDFA\uDDFF])|\uD83C\uDDE8(?:\uD83C[\uDDE6\uDDE8\uDDE9\uDDEB-\uDDEE\uDDF0-\uDDF5\uDDF7\uDDFA-\uDDFF])|\uD83C\uDDF1(?:\uD83C[\uDDE6-\uDDE8\uDDEE\uDDF0\uDDF7-\uDDFB\uDDFE])|\uD83C\uDDFF(?:\uD83C[\uDDE6\uDDF2\uDDFC])|\uD83C\uDDFC(?:\uD83C[\uDDEB\uDDF8])|\uD83C\uDDFA(?:\uD83C[\uDDE6\uDDEC\uDDF2\uDDF3\uDDF8\uDDFE\uDDFF])|\uD83C\uDDEE(?:\uD83C[\uDDE8-\uDDEA\uDDF1-\uDDF4\uDDF6-\uDDF9])|\uD83C\uDDEF(?:\uD83C[\uDDEA\uDDF2\uDDF4\uDDF5])|(?:\uD83C[\uDFC3\uDFC4\uDFCA]|\uD83D[\uDC6E\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4-\uDEB6]|\uD83E[\uDD26\uDD37-\uDD39\uDD3D\uDD3E\uDDB8\uDDB9\uDDCD-\uDDCF\uDDD6-\uDDDD])(?:\uD83C[\uDFFB-\uDFFF])|(?:\u26F9|\uD83C[\uDFCB\uDFCC]|\uD83D\uDD75)(?:\uD83C[\uDFFB-\uDFFF])|(?:[\u261D\u270A-\u270D]|\uD83C[\uDF85\uDFC2\uDFC7]|\uD83D[\uDC42\uDC43\uDC46-\uDC50\uDC66\uDC67\uDC6B-\uDC6D\uDC70\uDC72\uDC74-\uDC76\uDC78\uDC7C\uDC83\uDC85\uDCAA\uDD74\uDD7A\uDD90\uDD95\uDD96\uDE4C\uDE4F\uDEC0\uDECC]|\uD83E[\uDD0F\uDD18-\uDD1C\uDD1E\uDD1F\uDD30-\uDD36\uDDB5\uDDB6\uDDBB\uDDD2-\uDDD5])(?:\uD83C[\uDFFB-\uDFFF])|(?:[\u231A\u231B\u23E9-\u23EC\u23F0\u23F3\u25FD\u25FE\u2614\u2615\u2648-\u2653\u267F\u2693\u26A1\u26AA\u26AB\u26BD\u26BE\u26C4\u26C5\u26CE\u26D4\u26EA\u26F2\u26F3\u26F5\u26FA\u26FD\u2705\u270A\u270B\u2728\u274C\u274E\u2753-\u2755\u2757\u2795-\u2797\u27B0\u27BF\u2B1B\u2B1C\u2B50\u2B55]|\uD83C[\uDC04\uDCCF\uDD8E\uDD91-\uDD9A\uDDE6-\uDDFF\uDE01\uDE1A\uDE2F\uDE32-\uDE36\uDE38-\uDE3A\uDE50\uDE51\uDF00-\uDF20\uDF2D-\uDF35\uDF37-\uDF7C\uDF7E-\uDF93\uDFA0-\uDFCA\uDFCF-\uDFD3\uDFE0-\uDFF0\uDFF4\uDFF8-\uDFFF]|\uD83D[\uDC00-\uDC3E\uDC40\uDC42-\uDCFC\uDCFF-\uDD3D\uDD4B-\uDD4E\uDD50-\uDD67\uDD7A\uDD95\uDD96\uDDA4\uDDFB-\uDE4F\uDE80-\uDEC5\uDECC\uDED0-\uDED2\uDED5\uDEEB\uDEEC\uDEF4-\uDEFA\uDFE0-\uDFEB]|\uD83E[\uDD0D-\uDD3A\uDD3C-\uDD45\uDD47-\uDD71\uDD73-\uDD76\uDD7A-\uDDA2\uDDA5-\uDDAA\uDDAE-\uDDCA\uDDCD-\uDDFF\uDE70-\uDE73\uDE78-\uDE7A\uDE80-\uDE82\uDE90-\uDE95])|(?:[#\*0-9\xA9\xAE\u203C\u2049\u2122\u2139\u2194-\u2199\u21A9\u21AA\u231A\u231B\u2328\u23CF\u23E9-\u23F3\u23F8-\u23FA\u24C2\u25AA\u25AB\u25B6\u25C0\u25FB-\u25FE\u2600-\u2604\u260E\u2611\u2614\u2615\u2618\u261D\u2620\u2622\u2623\u2626\u262A\u262E\u262F\u2638-\u263A\u2640\u2642\u2648-\u2653\u265F\u2660\u2663\u2665\u2666\u2668\u267B\u267E\u267F\u2692-\u2697\u2699\u269B\u269C\u26A0\u26A1\u26AA\u26AB\u26B0\u26B1\u26BD\u26BE\u26C4\u26C5\u26C8\u26CE\u26CF\u26D1\u26D3\u26D4\u26E9\u26EA\u26F0-\u26F5\u26F7-\u26FA\u26FD\u2702\u2705\u2708-\u270D\u270F\u2712\u2714\u2716\u271D\u2721\u2728\u2733\u2734\u2744\u2747\u274C\u274E\u2753-\u2755\u2757\u2763\u2764\u2795-\u2797\u27A1\u27B0\u27BF\u2934\u2935\u2B05-\u2B07\u2B1B\u2B1C\u2B50\u2B55\u3030\u303D\u3297\u3299]|\uD83C[\uDC04\uDCCF\uDD70\uDD71\uDD7E\uDD7F\uDD8E\uDD91-\uDD9A\uDDE6-\uDDFF\uDE01\uDE02\uDE1A\uDE2F\uDE32-\uDE3A\uDE50\uDE51\uDF00-\uDF21\uDF24-\uDF93\uDF96\uDF97\uDF99-\uDF9B\uDF9E-\uDFF0\uDFF3-\uDFF5\uDFF7-\uDFFF]|\uD83D[\uDC00-\uDCFD\uDCFF-\uDD3D\uDD49-\uDD4E\uDD50-\uDD67\uDD6F\uDD70\uDD73-\uDD7A\uDD87\uDD8A-\uDD8D\uDD90\uDD95\uDD96\uDDA4\uDDA5\uDDA8\uDDB1\uDDB2\uDDBC\uDDC2-\uDDC4\uDDD1-\uDDD3\uDDDC-\uDDDE\uDDE1\uDDE3\uDDE8\uDDEF\uDDF3\uDDFA-\uDE4F\uDE80-\uDEC5\uDECB-\uDED2\uDED5\uDEE0-\uDEE5\uDEE9\uDEEB\uDEEC\uDEF0\uDEF3-\uDEFA\uDFE0-\uDFEB]|\uD83E[\uDD0D-\uDD3A\uDD3C-\uDD45\uDD47-\uDD71\uDD73-\uDD76\uDD7A-\uDDA2\uDDA5-\uDDAA\uDDAE-\uDDCA\uDDCD-\uDDFF\uDE70-\uDE73\uDE78-\uDE7A\uDE80-\uDE82\uDE90-\uDE95])\uFE0F|(?:[\u261D\u26F9\u270A-\u270D]|\uD83C[\uDF85\uDFC2-\uDFC4\uDFC7\uDFCA-\uDFCC]|\uD83D[\uDC42\uDC43\uDC46-\uDC50\uDC66-\uDC78\uDC7C\uDC81-\uDC83\uDC85-\uDC87\uDC8F\uDC91\uDCAA\uDD74\uDD75\uDD7A\uDD90\uDD95\uDD96\uDE45-\uDE47\uDE4B-\uDE4F\uDEA3\uDEB4-\uDEB6\uDEC0\uDECC]|\uD83E[\uDD0F\uDD18-\uDD1F\uDD26\uDD30-\uDD39\uDD3C-\uDD3E\uDDB5\uDDB6\uDDB8\uDDB9\uDDBB\uDDCD-\uDDCF\uDDD1-\uDDDD])/g}});var PB=_((oKt,mq)=>{"use strict";var Qyt=pS(),Fyt=dq(),Ryt=kCe(),QCe=t=>{if(typeof t!="string"||t.length===0||(t=Qyt(t),t.length===0))return 0;t=t.replace(Ryt()," ");let e=0;for(let r=0;r<t.length;r++){let o=t.codePointAt(r);o<=31||o>=127&&o<=159||o>=768&&o<=879||(o>65535&&r++,e+=Fyt(o)?2:1)}return e};mq.exports=QCe;mq.exports.default=QCe});var Eq=_((aKt,yq)=>{"use strict";var Tyt=PB(),FCe=t=>{let e=0;for(let r of t.split(` +`))e=Math.max(e,Tyt(r));return e};yq.exports=FCe;yq.exports.default=FCe});var RCe=_(SB=>{"use strict";var Nyt=SB&&SB.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(SB,"__esModule",{value:!0});var Lyt=Nyt(Eq()),Cq={};SB.default=t=>{if(t.length===0)return{width:0,height:0};if(Cq[t])return Cq[t];let e=Lyt.default(t),r=t.split(` +`).length;return Cq[t]={width:e,height:r},{width:e,height:r}}});var TCe=_(bB=>{"use strict";var Oyt=bB&&bB.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(bB,"__esModule",{value:!0});var In=Oyt(id()),Myt=(t,e)=>{"position"in e&&t.setPositionType(e.position==="absolute"?In.default.POSITION_TYPE_ABSOLUTE:In.default.POSITION_TYPE_RELATIVE)},Uyt=(t,e)=>{"marginLeft"in e&&t.setMargin(In.default.EDGE_START,e.marginLeft||0),"marginRight"in e&&t.setMargin(In.default.EDGE_END,e.marginRight||0),"marginTop"in e&&t.setMargin(In.default.EDGE_TOP,e.marginTop||0),"marginBottom"in e&&t.setMargin(In.default.EDGE_BOTTOM,e.marginBottom||0)},_yt=(t,e)=>{"paddingLeft"in e&&t.setPadding(In.default.EDGE_LEFT,e.paddingLeft||0),"paddingRight"in e&&t.setPadding(In.default.EDGE_RIGHT,e.paddingRight||0),"paddingTop"in e&&t.setPadding(In.default.EDGE_TOP,e.paddingTop||0),"paddingBottom"in e&&t.setPadding(In.default.EDGE_BOTTOM,e.paddingBottom||0)},Hyt=(t,e)=>{var r;"flexGrow"in e&&t.setFlexGrow((r=e.flexGrow)!==null&&r!==void 0?r:0),"flexShrink"in e&&t.setFlexShrink(typeof e.flexShrink=="number"?e.flexShrink:1),"flexDirection"in e&&(e.flexDirection==="row"&&t.setFlexDirection(In.default.FLEX_DIRECTION_ROW),e.flexDirection==="row-reverse"&&t.setFlexDirection(In.default.FLEX_DIRECTION_ROW_REVERSE),e.flexDirection==="column"&&t.setFlexDirection(In.default.FLEX_DIRECTION_COLUMN),e.flexDirection==="column-reverse"&&t.setFlexDirection(In.default.FLEX_DIRECTION_COLUMN_REVERSE)),"flexBasis"in e&&(typeof e.flexBasis=="number"?t.setFlexBasis(e.flexBasis):typeof e.flexBasis=="string"?t.setFlexBasisPercent(Number.parseInt(e.flexBasis,10)):t.setFlexBasis(NaN)),"alignItems"in e&&((e.alignItems==="stretch"||!e.alignItems)&&t.setAlignItems(In.default.ALIGN_STRETCH),e.alignItems==="flex-start"&&t.setAlignItems(In.default.ALIGN_FLEX_START),e.alignItems==="center"&&t.setAlignItems(In.default.ALIGN_CENTER),e.alignItems==="flex-end"&&t.setAlignItems(In.default.ALIGN_FLEX_END)),"alignSelf"in e&&((e.alignSelf==="auto"||!e.alignSelf)&&t.setAlignSelf(In.default.ALIGN_AUTO),e.alignSelf==="flex-start"&&t.setAlignSelf(In.default.ALIGN_FLEX_START),e.alignSelf==="center"&&t.setAlignSelf(In.default.ALIGN_CENTER),e.alignSelf==="flex-end"&&t.setAlignSelf(In.default.ALIGN_FLEX_END)),"justifyContent"in e&&((e.justifyContent==="flex-start"||!e.justifyContent)&&t.setJustifyContent(In.default.JUSTIFY_FLEX_START),e.justifyContent==="center"&&t.setJustifyContent(In.default.JUSTIFY_CENTER),e.justifyContent==="flex-end"&&t.setJustifyContent(In.default.JUSTIFY_FLEX_END),e.justifyContent==="space-between"&&t.setJustifyContent(In.default.JUSTIFY_SPACE_BETWEEN),e.justifyContent==="space-around"&&t.setJustifyContent(In.default.JUSTIFY_SPACE_AROUND))},qyt=(t,e)=>{var r,o;"width"in e&&(typeof e.width=="number"?t.setWidth(e.width):typeof e.width=="string"?t.setWidthPercent(Number.parseInt(e.width,10)):t.setWidthAuto()),"height"in e&&(typeof e.height=="number"?t.setHeight(e.height):typeof e.height=="string"?t.setHeightPercent(Number.parseInt(e.height,10)):t.setHeightAuto()),"minWidth"in e&&(typeof e.minWidth=="string"?t.setMinWidthPercent(Number.parseInt(e.minWidth,10)):t.setMinWidth((r=e.minWidth)!==null&&r!==void 0?r:0)),"minHeight"in e&&(typeof e.minHeight=="string"?t.setMinHeightPercent(Number.parseInt(e.minHeight,10)):t.setMinHeight((o=e.minHeight)!==null&&o!==void 0?o:0))},jyt=(t,e)=>{"display"in e&&t.setDisplay(e.display==="flex"?In.default.DISPLAY_FLEX:In.default.DISPLAY_NONE)},Gyt=(t,e)=>{if("borderStyle"in e){let r=typeof e.borderStyle=="string"?1:0;t.setBorder(In.default.EDGE_TOP,r),t.setBorder(In.default.EDGE_BOTTOM,r),t.setBorder(In.default.EDGE_LEFT,r),t.setBorder(In.default.EDGE_RIGHT,r)}};bB.default=(t,e={})=>{Myt(t,e),Uyt(t,e),_yt(t,e),Hyt(t,e),qyt(t,e),jyt(t,e),Gyt(t,e)}});var OCe=_((uKt,LCe)=>{"use strict";var xB=PB(),Wyt=pS(),Yyt=qw(),wq=new Set(["\x1B","\x9B"]),Kyt=39,NCe=t=>`${wq.values().next().value}[${t}m`,Vyt=t=>t.split(" ").map(e=>xB(e)),Iq=(t,e,r)=>{let o=[...e],a=!1,n=xB(Wyt(t[t.length-1]));for(let[u,A]of o.entries()){let p=xB(A);if(n+p<=r?t[t.length-1]+=A:(t.push(A),n=0),wq.has(A))a=!0;else if(a&&A==="m"){a=!1;continue}a||(n+=p,n===r&&u<o.length-1&&(t.push(""),n=0))}!n&&t[t.length-1].length>0&&t.length>1&&(t[t.length-2]+=t.pop())},Jyt=t=>{let e=t.split(" "),r=e.length;for(;r>0&&!(xB(e[r-1])>0);)r--;return r===e.length?t:e.slice(0,r).join(" ")+e.slice(r).join("")},zyt=(t,e,r={})=>{if(r.trim!==!1&&t.trim()==="")return"";let o="",a="",n,u=Vyt(t),A=[""];for(let[p,h]of t.split(" ").entries()){r.trim!==!1&&(A[A.length-1]=A[A.length-1].trimLeft());let E=xB(A[A.length-1]);if(p!==0&&(E>=e&&(r.wordWrap===!1||r.trim===!1)&&(A.push(""),E=0),(E>0||r.trim===!1)&&(A[A.length-1]+=" ",E++)),r.hard&&u[p]>e){let w=e-E,D=1+Math.floor((u[p]-w-1)/e);Math.floor((u[p]-1)/e)<D&&A.push(""),Iq(A,h,e);continue}if(E+u[p]>e&&E>0&&u[p]>0){if(r.wordWrap===!1&&E<e){Iq(A,h,e);continue}A.push("")}if(E+u[p]>e&&r.wordWrap===!1){Iq(A,h,e);continue}A[A.length-1]+=h}r.trim!==!1&&(A=A.map(Jyt)),o=A.join(` +`);for(let[p,h]of[...o].entries()){if(a+=h,wq.has(h)){let w=parseFloat(/\d[^m]*/.exec(o.slice(p,p+4)));n=w===Kyt?null:w}let E=Yyt.codes.get(Number(n));n&&E&&(o[p+1]===` +`?a+=NCe(E):h===` +`&&(a+=NCe(n)))}return a};LCe.exports=(t,e,r)=>String(t).normalize().replace(/\r\n/g,` +`).split(` +`).map(o=>zyt(o,e,r)).join(` +`)});var _Ce=_((AKt,UCe)=>{"use strict";var MCe="[\uD800-\uDBFF][\uDC00-\uDFFF]",Xyt=t=>t&&t.exact?new RegExp(`^${MCe}$`):new RegExp(MCe,"g");UCe.exports=Xyt});var Bq=_((fKt,GCe)=>{"use strict";var Zyt=dq(),$yt=_Ce(),HCe=qw(),jCe=["\x1B","\x9B"],vQ=t=>`${jCe[0]}[${t}m`,qCe=(t,e,r)=>{let o=[];t=[...t];for(let a of t){let n=a;a.match(";")&&(a=a.split(";")[0][0]+"0");let u=HCe.codes.get(parseInt(a,10));if(u){let A=t.indexOf(u.toString());A>=0?t.splice(A,1):o.push(vQ(e?u:n))}else if(e){o.push(vQ(0));break}else o.push(vQ(n))}if(e&&(o=o.filter((a,n)=>o.indexOf(a)===n),r!==void 0)){let a=vQ(HCe.codes.get(parseInt(r,10)));o=o.reduce((n,u)=>u===a?[u,...n]:[...n,u],[])}return o.join("")};GCe.exports=(t,e,r)=>{let o=[...t.normalize()],a=[];r=typeof r=="number"?r:o.length;let n=!1,u,A=0,p="";for(let[h,E]of o.entries()){let w=!1;if(jCe.includes(E)){let D=/\d[^m]*/.exec(t.slice(h,h+18));u=D&&D.length>0?D[0]:void 0,A<r&&(n=!0,u!==void 0&&a.push(u))}else n&&E==="m"&&(n=!1,w=!0);if(!n&&!w&&++A,!$yt({exact:!0}).test(E)&&Zyt(E.codePointAt())&&++A,A>e&&A<=r)p+=E;else if(A===e&&!n&&u!==void 0)p=qCe(a);else if(A>=r){p+=qCe(a,!0,u);break}}return p}});var YCe=_((pKt,WCe)=>{"use strict";var _h=Bq(),eEt=PB();function DQ(t,e,r){if(t.charAt(e)===" ")return e;for(let o=1;o<=3;o++)if(r){if(t.charAt(e+o)===" ")return e+o}else if(t.charAt(e-o)===" ")return e-o;return e}WCe.exports=(t,e,r)=>{r={position:"end",preferTruncationOnSpace:!1,...r};let{position:o,space:a,preferTruncationOnSpace:n}=r,u="\u2026",A=1;if(typeof t!="string")throw new TypeError(`Expected \`input\` to be a string, got ${typeof t}`);if(typeof e!="number")throw new TypeError(`Expected \`columns\` to be a number, got ${typeof e}`);if(e<1)return"";if(e===1)return u;let p=eEt(t);if(p<=e)return t;if(o==="start"){if(n){let h=DQ(t,p-e+1,!0);return u+_h(t,h,p).trim()}return a===!0&&(u+=" ",A=2),u+_h(t,p-e+A,p)}if(o==="middle"){a===!0&&(u=" "+u+" ",A=3);let h=Math.floor(e/2);if(n){let E=DQ(t,h),w=DQ(t,p-(e-h)+1,!0);return _h(t,0,E)+u+_h(t,w,p).trim()}return _h(t,0,h)+u+_h(t,p-(e-h)+A,p)}if(o==="end"){if(n){let h=DQ(t,e-1);return _h(t,0,h)+u}return a===!0&&(u=" "+u,A=2),_h(t,0,e-A)+u}throw new Error(`Expected \`options.position\` to be either \`start\`, \`middle\` or \`end\`, got ${o}`)}});var Dq=_(kB=>{"use strict";var KCe=kB&&kB.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(kB,"__esModule",{value:!0});var tEt=KCe(OCe()),rEt=KCe(YCe()),vq={};kB.default=(t,e,r)=>{let o=t+String(e)+String(r);if(vq[o])return vq[o];let a=t;if(r==="wrap"&&(a=tEt.default(t,e,{trim:!1,hard:!0})),r.startsWith("truncate")){let n="end";r==="truncate-middle"&&(n="middle"),r==="truncate-start"&&(n="start"),a=rEt.default(t,e,{position:n})}return vq[o]=a,a}});var Sq=_(Pq=>{"use strict";Object.defineProperty(Pq,"__esModule",{value:!0});var VCe=t=>{let e="";if(t.childNodes.length>0)for(let r of t.childNodes){let o="";r.nodeName==="#text"?o=r.nodeValue:((r.nodeName==="ink-text"||r.nodeName==="ink-virtual-text")&&(o=VCe(r)),o.length>0&&typeof r.internal_transform=="function"&&(o=r.internal_transform(o))),e+=o}return e};Pq.default=VCe});var bq=_(Ei=>{"use strict";var QB=Ei&&Ei.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(Ei,"__esModule",{value:!0});Ei.setTextNodeValue=Ei.createTextNode=Ei.setStyle=Ei.setAttribute=Ei.removeChildNode=Ei.insertBeforeNode=Ei.appendChildNode=Ei.createNode=Ei.TEXT_NAME=void 0;var nEt=QB(id()),JCe=QB(RCe()),iEt=QB(TCe()),sEt=QB(Dq()),oEt=QB(Sq());Ei.TEXT_NAME="#text";Ei.createNode=t=>{var e;let r={nodeName:t,style:{},attributes:{},childNodes:[],parentNode:null,yogaNode:t==="ink-virtual-text"?void 0:nEt.default.Node.create()};return t==="ink-text"&&((e=r.yogaNode)===null||e===void 0||e.setMeasureFunc(aEt.bind(null,r))),r};Ei.appendChildNode=(t,e)=>{var r;e.parentNode&&Ei.removeChildNode(e.parentNode,e),e.parentNode=t,t.childNodes.push(e),e.yogaNode&&((r=t.yogaNode)===null||r===void 0||r.insertChild(e.yogaNode,t.yogaNode.getChildCount())),(t.nodeName==="ink-text"||t.nodeName==="ink-virtual-text")&&PQ(t)};Ei.insertBeforeNode=(t,e,r)=>{var o,a;e.parentNode&&Ei.removeChildNode(e.parentNode,e),e.parentNode=t;let n=t.childNodes.indexOf(r);if(n>=0){t.childNodes.splice(n,0,e),e.yogaNode&&((o=t.yogaNode)===null||o===void 0||o.insertChild(e.yogaNode,n));return}t.childNodes.push(e),e.yogaNode&&((a=t.yogaNode)===null||a===void 0||a.insertChild(e.yogaNode,t.yogaNode.getChildCount())),(t.nodeName==="ink-text"||t.nodeName==="ink-virtual-text")&&PQ(t)};Ei.removeChildNode=(t,e)=>{var r,o;e.yogaNode&&((o=(r=e.parentNode)===null||r===void 0?void 0:r.yogaNode)===null||o===void 0||o.removeChild(e.yogaNode)),e.parentNode=null;let a=t.childNodes.indexOf(e);a>=0&&t.childNodes.splice(a,1),(t.nodeName==="ink-text"||t.nodeName==="ink-virtual-text")&&PQ(t)};Ei.setAttribute=(t,e,r)=>{t.attributes[e]=r};Ei.setStyle=(t,e)=>{t.style=e,t.yogaNode&&iEt.default(t.yogaNode,e)};Ei.createTextNode=t=>{let e={nodeName:"#text",nodeValue:t,yogaNode:void 0,parentNode:null,style:{}};return Ei.setTextNodeValue(e,t),e};var aEt=function(t,e){var r,o;let a=t.nodeName==="#text"?t.nodeValue:oEt.default(t),n=JCe.default(a);if(n.width<=e||n.width>=1&&e>0&&e<1)return n;let u=(o=(r=t.style)===null||r===void 0?void 0:r.textWrap)!==null&&o!==void 0?o:"wrap",A=sEt.default(a,e,u);return JCe.default(A)},zCe=t=>{var e;if(!(!t||!t.parentNode))return(e=t.yogaNode)!==null&&e!==void 0?e:zCe(t.parentNode)},PQ=t=>{let e=zCe(t);e?.markDirty()};Ei.setTextNodeValue=(t,e)=>{typeof e!="string"&&(e=String(e)),t.nodeValue=e,PQ(t)}});var tIe=_(FB=>{"use strict";var eIe=FB&&FB.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(FB,"__esModule",{value:!0});var XCe=uq(),lEt=eIe(ECe()),ZCe=eIe(id()),ko=bq(),$Ce=t=>{t?.unsetMeasureFunc(),t?.freeRecursive()};FB.default=lEt.default({schedulePassiveEffects:XCe.unstable_scheduleCallback,cancelPassiveEffects:XCe.unstable_cancelCallback,now:Date.now,getRootHostContext:()=>({isInsideText:!1}),prepareForCommit:()=>null,preparePortalMount:()=>null,clearContainer:()=>!1,shouldDeprioritizeSubtree:()=>!1,resetAfterCommit:t=>{if(t.isStaticDirty){t.isStaticDirty=!1,typeof t.onImmediateRender=="function"&&t.onImmediateRender();return}typeof t.onRender=="function"&&t.onRender()},getChildHostContext:(t,e)=>{let r=t.isInsideText,o=e==="ink-text"||e==="ink-virtual-text";return r===o?t:{isInsideText:o}},shouldSetTextContent:()=>!1,createInstance:(t,e,r,o)=>{if(o.isInsideText&&t==="ink-box")throw new Error("<Box> can\u2019t be nested inside <Text> component");let a=t==="ink-text"&&o.isInsideText?"ink-virtual-text":t,n=ko.createNode(a);for(let[u,A]of Object.entries(e))u!=="children"&&(u==="style"?ko.setStyle(n,A):u==="internal_transform"?n.internal_transform=A:u==="internal_static"?n.internal_static=!0:ko.setAttribute(n,u,A));return n},createTextInstance:(t,e,r)=>{if(!r.isInsideText)throw new Error(`Text string "${t}" must be rendered inside <Text> component`);return ko.createTextNode(t)},resetTextContent:()=>{},hideTextInstance:t=>{ko.setTextNodeValue(t,"")},unhideTextInstance:(t,e)=>{ko.setTextNodeValue(t,e)},getPublicInstance:t=>t,hideInstance:t=>{var e;(e=t.yogaNode)===null||e===void 0||e.setDisplay(ZCe.default.DISPLAY_NONE)},unhideInstance:t=>{var e;(e=t.yogaNode)===null||e===void 0||e.setDisplay(ZCe.default.DISPLAY_FLEX)},appendInitialChild:ko.appendChildNode,appendChild:ko.appendChildNode,insertBefore:ko.insertBeforeNode,finalizeInitialChildren:(t,e,r,o)=>(t.internal_static&&(o.isStaticDirty=!0,o.staticNode=t),!1),supportsMutation:!0,appendChildToContainer:ko.appendChildNode,insertInContainerBefore:ko.insertBeforeNode,removeChildFromContainer:(t,e)=>{ko.removeChildNode(t,e),$Ce(e.yogaNode)},prepareUpdate:(t,e,r,o,a)=>{t.internal_static&&(a.isStaticDirty=!0);let n={},u=Object.keys(o);for(let A of u)if(o[A]!==r[A]){if(A==="style"&&typeof o.style=="object"&&typeof r.style=="object"){let h=o.style,E=r.style,w=Object.keys(h);for(let D of w){if(D==="borderStyle"||D==="borderColor"){if(typeof n.style!="object"){let x={};n.style=x}n.style.borderStyle=h.borderStyle,n.style.borderColor=h.borderColor}if(h[D]!==E[D]){if(typeof n.style!="object"){let x={};n.style=x}n.style[D]=h[D]}}continue}n[A]=o[A]}return n},commitUpdate:(t,e)=>{for(let[r,o]of Object.entries(e))r!=="children"&&(r==="style"?ko.setStyle(t,o):r==="internal_transform"?t.internal_transform=o:r==="internal_static"?t.internal_static=!0:ko.setAttribute(t,r,o))},commitTextUpdate:(t,e,r)=>{ko.setTextNodeValue(t,r)},removeChild:(t,e)=>{ko.removeChildNode(t,e),$Ce(e.yogaNode)}})});var nIe=_((yKt,rIe)=>{"use strict";rIe.exports=(t,e=1,r)=>{if(r={indent:" ",includeEmptyLines:!1,...r},typeof t!="string")throw new TypeError(`Expected \`input\` to be a \`string\`, got \`${typeof t}\``);if(typeof e!="number")throw new TypeError(`Expected \`count\` to be a \`number\`, got \`${typeof e}\``);if(typeof r.indent!="string")throw new TypeError(`Expected \`options.indent\` to be a \`string\`, got \`${typeof r.indent}\``);if(e===0)return t;let o=r.includeEmptyLines?/^/gm:/^(?!\s*$)/gm;return t.replace(o,r.indent.repeat(e))}});var iIe=_(RB=>{"use strict";var cEt=RB&&RB.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(RB,"__esModule",{value:!0});var SQ=cEt(id());RB.default=t=>t.getComputedWidth()-t.getComputedPadding(SQ.default.EDGE_LEFT)-t.getComputedPadding(SQ.default.EDGE_RIGHT)-t.getComputedBorder(SQ.default.EDGE_LEFT)-t.getComputedBorder(SQ.default.EDGE_RIGHT)});var sIe=_((CKt,uEt)=>{uEt.exports={single:{topLeft:"\u250C",topRight:"\u2510",bottomRight:"\u2518",bottomLeft:"\u2514",vertical:"\u2502",horizontal:"\u2500"},double:{topLeft:"\u2554",topRight:"\u2557",bottomRight:"\u255D",bottomLeft:"\u255A",vertical:"\u2551",horizontal:"\u2550"},round:{topLeft:"\u256D",topRight:"\u256E",bottomRight:"\u256F",bottomLeft:"\u2570",vertical:"\u2502",horizontal:"\u2500"},bold:{topLeft:"\u250F",topRight:"\u2513",bottomRight:"\u251B",bottomLeft:"\u2517",vertical:"\u2503",horizontal:"\u2501"},singleDouble:{topLeft:"\u2553",topRight:"\u2556",bottomRight:"\u255C",bottomLeft:"\u2559",vertical:"\u2551",horizontal:"\u2500"},doubleSingle:{topLeft:"\u2552",topRight:"\u2555",bottomRight:"\u255B",bottomLeft:"\u2558",vertical:"\u2502",horizontal:"\u2550"},classic:{topLeft:"+",topRight:"+",bottomRight:"+",bottomLeft:"+",vertical:"|",horizontal:"-"}}});var aIe=_((IKt,xq)=>{"use strict";var oIe=sIe();xq.exports=oIe;xq.exports.default=oIe});var cIe=_((wKt,lIe)=>{"use strict";var AEt=(t,e,r)=>{let o=t.indexOf(e);if(o===-1)return t;let a=e.length,n=0,u="";do u+=t.substr(n,o-n)+e+r,n=o+a,o=t.indexOf(e,n);while(o!==-1);return u+=t.substr(n),u},fEt=(t,e,r,o)=>{let a=0,n="";do{let u=t[o-1]==="\r";n+=t.substr(a,(u?o-1:o)-a)+e+(u?`\r +`:` +`)+r,a=o+1,o=t.indexOf(` +`,a)}while(o!==-1);return n+=t.substr(a),n};lIe.exports={stringReplaceAll:AEt,stringEncaseCRLFWithFirstIndex:fEt}});var hIe=_((BKt,pIe)=>{"use strict";var pEt=/(?:\\(u(?:[a-f\d]{4}|\{[a-f\d]{1,6}\})|x[a-f\d]{2}|.))|(?:\{(~)?(\w+(?:\([^)]*\))?(?:\.\w+(?:\([^)]*\))?)*)(?:[ \t]|(?=\r?\n)))|(\})|((?:.|[\r\n\f])+?)/gi,uIe=/(?:^|\.)(\w+)(?:\(([^)]*)\))?/g,hEt=/^(['"])((?:\\.|(?!\1)[^\\])*)\1$/,gEt=/\\(u(?:[a-f\d]{4}|{[a-f\d]{1,6}})|x[a-f\d]{2}|.)|([^\\])/gi,dEt=new Map([["n",` +`],["r","\r"],["t"," "],["b","\b"],["f","\f"],["v","\v"],["0","\0"],["\\","\\"],["e","\x1B"],["a","\x07"]]);function fIe(t){let e=t[0]==="u",r=t[1]==="{";return e&&!r&&t.length===5||t[0]==="x"&&t.length===3?String.fromCharCode(parseInt(t.slice(1),16)):e&&r?String.fromCodePoint(parseInt(t.slice(2,-1),16)):dEt.get(t)||t}function mEt(t,e){let r=[],o=e.trim().split(/\s*,\s*/g),a;for(let n of o){let u=Number(n);if(!Number.isNaN(u))r.push(u);else if(a=n.match(hEt))r.push(a[2].replace(gEt,(A,p,h)=>p?fIe(p):h));else throw new Error(`Invalid Chalk template style argument: ${n} (in style '${t}')`)}return r}function yEt(t){uIe.lastIndex=0;let e=[],r;for(;(r=uIe.exec(t))!==null;){let o=r[1];if(r[2]){let a=mEt(o,r[2]);e.push([o].concat(a))}else e.push([o])}return e}function AIe(t,e){let r={};for(let a of e)for(let n of a.styles)r[n[0]]=a.inverse?null:n.slice(1);let o=t;for(let[a,n]of Object.entries(r))if(Array.isArray(n)){if(!(a in o))throw new Error(`Unknown Chalk style: ${a}`);o=n.length>0?o[a](...n):o[a]}return o}pIe.exports=(t,e)=>{let r=[],o=[],a=[];if(e.replace(pEt,(n,u,A,p,h,E)=>{if(u)a.push(fIe(u));else if(p){let w=a.join("");a=[],o.push(r.length===0?w:AIe(t,r)(w)),r.push({inverse:A,styles:yEt(p)})}else if(h){if(r.length===0)throw new Error("Found extraneous } in Chalk template literal");o.push(AIe(t,r)(a.join(""))),a=[],r.pop()}else a.push(E)}),o.push(a.join("")),r.length>0){let n=`Chalk template literal is missing ${r.length} closing bracket${r.length===1?"":"s"} (\`}\`)`;throw new Error(n)}return o.join("")}});var FQ=_((vKt,CIe)=>{"use strict";var TB=qw(),{stdout:Qq,stderr:Fq}=ZN(),{stringReplaceAll:EEt,stringEncaseCRLFWithFirstIndex:CEt}=cIe(),{isArray:bQ}=Array,dIe=["ansi","ansi","ansi256","ansi16m"],DC=Object.create(null),IEt=(t,e={})=>{if(e.level&&!(Number.isInteger(e.level)&&e.level>=0&&e.level<=3))throw new Error("The `level` option should be an integer from 0 to 3");let r=Qq?Qq.level:0;t.level=e.level===void 0?r:e.level},Rq=class{constructor(e){return mIe(e)}},mIe=t=>{let e={};return IEt(e,t),e.template=(...r)=>EIe(e.template,...r),Object.setPrototypeOf(e,xQ.prototype),Object.setPrototypeOf(e.template,e),e.template.constructor=()=>{throw new Error("`chalk.constructor()` is deprecated. Use `new chalk.Instance()` instead.")},e.template.Instance=Rq,e.template};function xQ(t){return mIe(t)}for(let[t,e]of Object.entries(TB))DC[t]={get(){let r=kQ(this,Tq(e.open,e.close,this._styler),this._isEmpty);return Object.defineProperty(this,t,{value:r}),r}};DC.visible={get(){let t=kQ(this,this._styler,!0);return Object.defineProperty(this,"visible",{value:t}),t}};var yIe=["rgb","hex","keyword","hsl","hsv","hwb","ansi","ansi256"];for(let t of yIe)DC[t]={get(){let{level:e}=this;return function(...r){let o=Tq(TB.color[dIe[e]][t](...r),TB.color.close,this._styler);return kQ(this,o,this._isEmpty)}}};for(let t of yIe){let e="bg"+t[0].toUpperCase()+t.slice(1);DC[e]={get(){let{level:r}=this;return function(...o){let a=Tq(TB.bgColor[dIe[r]][t](...o),TB.bgColor.close,this._styler);return kQ(this,a,this._isEmpty)}}}}var wEt=Object.defineProperties(()=>{},{...DC,level:{enumerable:!0,get(){return this._generator.level},set(t){this._generator.level=t}}}),Tq=(t,e,r)=>{let o,a;return r===void 0?(o=t,a=e):(o=r.openAll+t,a=e+r.closeAll),{open:t,close:e,openAll:o,closeAll:a,parent:r}},kQ=(t,e,r)=>{let o=(...a)=>bQ(a[0])&&bQ(a[0].raw)?gIe(o,EIe(o,...a)):gIe(o,a.length===1?""+a[0]:a.join(" "));return Object.setPrototypeOf(o,wEt),o._generator=t,o._styler=e,o._isEmpty=r,o},gIe=(t,e)=>{if(t.level<=0||!e)return t._isEmpty?"":e;let r=t._styler;if(r===void 0)return e;let{openAll:o,closeAll:a}=r;if(e.indexOf("\x1B")!==-1)for(;r!==void 0;)e=EEt(e,r.close,r.open),r=r.parent;let n=e.indexOf(` +`);return n!==-1&&(e=CEt(e,a,o,n)),o+e+a},kq,EIe=(t,...e)=>{let[r]=e;if(!bQ(r)||!bQ(r.raw))return e.join(" ");let o=e.slice(1),a=[r.raw[0]];for(let n=1;n<r.length;n++)a.push(String(o[n-1]).replace(/[{}\\]/g,"\\$&"),String(r.raw[n]));return kq===void 0&&(kq=hIe()),kq(t,a.join(""))};Object.defineProperties(xQ.prototype,DC);var QQ=xQ();QQ.supportsColor=Qq;QQ.stderr=xQ({level:Fq?Fq.level:0});QQ.stderr.supportsColor=Fq;CIe.exports=QQ});var Nq=_(LB=>{"use strict";var BEt=LB&&LB.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(LB,"__esModule",{value:!0});var NB=BEt(FQ()),vEt=/^(rgb|hsl|hsv|hwb)\(\s?(\d+),\s?(\d+),\s?(\d+)\s?\)$/,DEt=/^(ansi|ansi256)\(\s?(\d+)\s?\)$/,RQ=(t,e)=>e==="foreground"?t:"bg"+t[0].toUpperCase()+t.slice(1);LB.default=(t,e,r)=>{if(!e)return t;if(e in NB.default){let a=RQ(e,r);return NB.default[a](t)}if(e.startsWith("#")){let a=RQ("hex",r);return NB.default[a](e)(t)}if(e.startsWith("ansi")){let a=DEt.exec(e);if(!a)return t;let n=RQ(a[1],r),u=Number(a[2]);return NB.default[n](u)(t)}if(e.startsWith("rgb")||e.startsWith("hsl")||e.startsWith("hsv")||e.startsWith("hwb")){let a=vEt.exec(e);if(!a)return t;let n=RQ(a[1],r),u=Number(a[2]),A=Number(a[3]),p=Number(a[4]);return NB.default[n](u,A,p)(t)}return t}});var wIe=_(OB=>{"use strict";var IIe=OB&&OB.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(OB,"__esModule",{value:!0});var PEt=IIe(aIe()),Lq=IIe(Nq());OB.default=(t,e,r,o)=>{if(typeof r.style.borderStyle=="string"){let a=r.yogaNode.getComputedWidth(),n=r.yogaNode.getComputedHeight(),u=r.style.borderColor,A=PEt.default[r.style.borderStyle],p=Lq.default(A.topLeft+A.horizontal.repeat(a-2)+A.topRight,u,"foreground"),h=(Lq.default(A.vertical,u,"foreground")+` +`).repeat(n-2),E=Lq.default(A.bottomLeft+A.horizontal.repeat(a-2)+A.bottomRight,u,"foreground");o.write(t,e,p,{transformers:[]}),o.write(t,e+1,h,{transformers:[]}),o.write(t+a-1,e+1,h,{transformers:[]}),o.write(t,e+n-1,E,{transformers:[]})}}});var vIe=_(MB=>{"use strict";var sd=MB&&MB.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(MB,"__esModule",{value:!0});var SEt=sd(id()),bEt=sd(Eq()),xEt=sd(nIe()),kEt=sd(Dq()),QEt=sd(iIe()),FEt=sd(Sq()),REt=sd(wIe()),TEt=(t,e)=>{var r;let o=(r=t.childNodes[0])===null||r===void 0?void 0:r.yogaNode;if(o){let a=o.getComputedLeft(),n=o.getComputedTop();e=` +`.repeat(n)+xEt.default(e,a)}return e},BIe=(t,e,r)=>{var o;let{offsetX:a=0,offsetY:n=0,transformers:u=[],skipStaticElements:A}=r;if(A&&t.internal_static)return;let{yogaNode:p}=t;if(p){if(p.getDisplay()===SEt.default.DISPLAY_NONE)return;let h=a+p.getComputedLeft(),E=n+p.getComputedTop(),w=u;if(typeof t.internal_transform=="function"&&(w=[t.internal_transform,...u]),t.nodeName==="ink-text"){let D=FEt.default(t);if(D.length>0){let x=bEt.default(D),C=QEt.default(p);if(x>C){let T=(o=t.style.textWrap)!==null&&o!==void 0?o:"wrap";D=kEt.default(D,C,T)}D=TEt(t,D),e.write(h,E,D,{transformers:w})}return}if(t.nodeName==="ink-box"&&REt.default(h,E,t,e),t.nodeName==="ink-root"||t.nodeName==="ink-box")for(let D of t.childNodes)BIe(D,e,{offsetX:h,offsetY:E,transformers:w,skipStaticElements:A})}};MB.default=BIe});var SIe=_(UB=>{"use strict";var PIe=UB&&UB.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(UB,"__esModule",{value:!0});var DIe=PIe(Bq()),NEt=PIe(PB()),Oq=class{constructor(e){this.writes=[];let{width:r,height:o}=e;this.width=r,this.height=o}write(e,r,o,a){let{transformers:n}=a;o&&this.writes.push({x:e,y:r,text:o,transformers:n})}get(){let e=[];for(let o=0;o<this.height;o++)e.push(" ".repeat(this.width));for(let o of this.writes){let{x:a,y:n,text:u,transformers:A}=o,p=u.split(` +`),h=0;for(let E of p){let w=e[n+h];if(!w)continue;let D=NEt.default(E);for(let x of A)E=x(E);e[n+h]=DIe.default(w,0,a)+E+DIe.default(w,a+D),h++}}return{output:e.map(o=>o.trimRight()).join(` +`),height:e.length}}};UB.default=Oq});var kIe=_(_B=>{"use strict";var Mq=_B&&_B.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(_B,"__esModule",{value:!0});var LEt=Mq(id()),bIe=Mq(vIe()),xIe=Mq(SIe());_B.default=(t,e)=>{var r;if(t.yogaNode.setWidth(e),t.yogaNode){t.yogaNode.calculateLayout(void 0,void 0,LEt.default.DIRECTION_LTR);let o=new xIe.default({width:t.yogaNode.getComputedWidth(),height:t.yogaNode.getComputedHeight()});bIe.default(t,o,{skipStaticElements:!0});let a;!((r=t.staticNode)===null||r===void 0)&&r.yogaNode&&(a=new xIe.default({width:t.staticNode.yogaNode.getComputedWidth(),height:t.staticNode.yogaNode.getComputedHeight()}),bIe.default(t.staticNode,a,{skipStaticElements:!1}));let{output:n,height:u}=o.get();return{output:n,outputHeight:u,staticOutput:a?`${a.get().output} +`:""}}return{output:"",outputHeight:0,staticOutput:""}}});var TIe=_((kKt,RIe)=>{"use strict";var QIe=ve("stream"),FIe=["assert","count","countReset","debug","dir","dirxml","error","group","groupCollapsed","groupEnd","info","log","table","time","timeEnd","timeLog","trace","warn"],Uq={},OEt=t=>{let e=new QIe.PassThrough,r=new QIe.PassThrough;e.write=a=>t("stdout",a),r.write=a=>t("stderr",a);let o=new console.Console(e,r);for(let a of FIe)Uq[a]=console[a],console[a]=o[a];return()=>{for(let a of FIe)console[a]=Uq[a];Uq={}}};RIe.exports=OEt});var Hq=_(_q=>{"use strict";Object.defineProperty(_q,"__esModule",{value:!0});_q.default=new WeakMap});var jq=_(qq=>{"use strict";Object.defineProperty(qq,"__esModule",{value:!0});var MEt=ln(),NIe=MEt.createContext({exit:()=>{}});NIe.displayName="InternalAppContext";qq.default=NIe});var Wq=_(Gq=>{"use strict";Object.defineProperty(Gq,"__esModule",{value:!0});var UEt=ln(),LIe=UEt.createContext({stdin:void 0,setRawMode:()=>{},isRawModeSupported:!1,internal_exitOnCtrlC:!0});LIe.displayName="InternalStdinContext";Gq.default=LIe});var Kq=_(Yq=>{"use strict";Object.defineProperty(Yq,"__esModule",{value:!0});var _Et=ln(),OIe=_Et.createContext({stdout:void 0,write:()=>{}});OIe.displayName="InternalStdoutContext";Yq.default=OIe});var Jq=_(Vq=>{"use strict";Object.defineProperty(Vq,"__esModule",{value:!0});var HEt=ln(),MIe=HEt.createContext({stderr:void 0,write:()=>{}});MIe.displayName="InternalStderrContext";Vq.default=MIe});var TQ=_(zq=>{"use strict";Object.defineProperty(zq,"__esModule",{value:!0});var qEt=ln(),UIe=qEt.createContext({activeId:void 0,add:()=>{},remove:()=>{},activate:()=>{},deactivate:()=>{},enableFocus:()=>{},disableFocus:()=>{},focusNext:()=>{},focusPrevious:()=>{},focus:()=>{}});UIe.displayName="InternalFocusContext";zq.default=UIe});var HIe=_((OKt,_Ie)=>{"use strict";var jEt=/[|\\{}()[\]^$+*?.-]/g;_Ie.exports=t=>{if(typeof t!="string")throw new TypeError("Expected a string");return t.replace(jEt,"\\$&")}});var WIe=_((MKt,GIe)=>{"use strict";var GEt=HIe(),WEt=typeof process=="object"&&process&&typeof process.cwd=="function"?process.cwd():".",jIe=[].concat(ve("module").builtinModules,"bootstrap_node","node").map(t=>new RegExp(`(?:\\((?:node:)?${t}(?:\\.js)?:\\d+:\\d+\\)$|^\\s*at (?:node:)?${t}(?:\\.js)?:\\d+:\\d+$)`));jIe.push(/\((?:node:)?internal\/[^:]+:\d+:\d+\)$/,/\s*at (?:node:)?internal\/[^:]+:\d+:\d+$/,/\/\.node-spawn-wrap-\w+-\w+\/node:\d+:\d+\)?$/);var Xq=class t{constructor(e){e={ignoredPackages:[],...e},"internals"in e||(e.internals=t.nodeInternals()),"cwd"in e||(e.cwd=WEt),this._cwd=e.cwd.replace(/\\/g,"/"),this._internals=[].concat(e.internals,YEt(e.ignoredPackages)),this._wrapCallSite=e.wrapCallSite||!1}static nodeInternals(){return[...jIe]}clean(e,r=0){r=" ".repeat(r),Array.isArray(e)||(e=e.split(` +`)),!/^\s*at /.test(e[0])&&/^\s*at /.test(e[1])&&(e=e.slice(1));let o=!1,a=null,n=[];return e.forEach(u=>{if(u=u.replace(/\\/g,"/"),this._internals.some(p=>p.test(u)))return;let A=/^\s*at /.test(u);o?u=u.trimEnd().replace(/^(\s+)at /,"$1"):(u=u.trim(),A&&(u=u.slice(3))),u=u.replace(`${this._cwd}/`,""),u&&(A?(a&&(n.push(a),a=null),n.push(u)):(o=!0,a=u))}),n.map(u=>`${r}${u} +`).join("")}captureString(e,r=this.captureString){typeof e=="function"&&(r=e,e=1/0);let{stackTraceLimit:o}=Error;e&&(Error.stackTraceLimit=e);let a={};Error.captureStackTrace(a,r);let{stack:n}=a;return Error.stackTraceLimit=o,this.clean(n)}capture(e,r=this.capture){typeof e=="function"&&(r=e,e=1/0);let{prepareStackTrace:o,stackTraceLimit:a}=Error;Error.prepareStackTrace=(A,p)=>this._wrapCallSite?p.map(this._wrapCallSite):p,e&&(Error.stackTraceLimit=e);let n={};Error.captureStackTrace(n,r);let{stack:u}=n;return Object.assign(Error,{prepareStackTrace:o,stackTraceLimit:a}),u}at(e=this.at){let[r]=this.capture(1,e);if(!r)return{};let o={line:r.getLineNumber(),column:r.getColumnNumber()};qIe(o,r.getFileName(),this._cwd),r.isConstructor()&&(o.constructor=!0),r.isEval()&&(o.evalOrigin=r.getEvalOrigin()),r.isNative()&&(o.native=!0);let a;try{a=r.getTypeName()}catch{}a&&a!=="Object"&&a!=="[object Object]"&&(o.type=a);let n=r.getFunctionName();n&&(o.function=n);let u=r.getMethodName();return u&&n!==u&&(o.method=u),o}parseLine(e){let r=e&&e.match(KEt);if(!r)return null;let o=r[1]==="new",a=r[2],n=r[3],u=r[4],A=Number(r[5]),p=Number(r[6]),h=r[7],E=r[8],w=r[9],D=r[10]==="native",x=r[11]===")",C,T={};if(E&&(T.line=Number(E)),w&&(T.column=Number(w)),x&&h){let L=0;for(let U=h.length-1;U>0;U--)if(h.charAt(U)===")")L++;else if(h.charAt(U)==="("&&h.charAt(U-1)===" "&&(L--,L===-1&&h.charAt(U-1)===" ")){let J=h.slice(0,U-1);h=h.slice(U+1),a+=` (${J}`;break}}if(a){let L=a.match(VEt);L&&(a=L[1],C=L[2])}return qIe(T,h,this._cwd),o&&(T.constructor=!0),n&&(T.evalOrigin=n,T.evalLine=A,T.evalColumn=p,T.evalFile=u&&u.replace(/\\/g,"/")),D&&(T.native=!0),a&&(T.function=a),C&&a!==C&&(T.method=C),T}};function qIe(t,e,r){e&&(e=e.replace(/\\/g,"/"),e.startsWith(`${r}/`)&&(e=e.slice(r.length+1)),t.file=e)}function YEt(t){if(t.length===0)return[];let e=t.map(r=>GEt(r));return new RegExp(`[/\\\\]node_modules[/\\\\](?:${e.join("|")})[/\\\\][^:]+:\\d+:\\d+`)}var KEt=new RegExp("^(?:\\s*at )?(?:(new) )?(?:(.*?) \\()?(?:eval at ([^ ]+) \\((.+?):(\\d+):(\\d+)\\), )?(?:(.+?):(\\d+):(\\d+)|(native))(\\)?)$"),VEt=/^(.*?) \[as (.*?)\]$/;GIe.exports=Xq});var KIe=_((UKt,YIe)=>{"use strict";YIe.exports=(t,e)=>t.replace(/^\t+/gm,r=>" ".repeat(r.length*(e||2)))});var JIe=_((_Kt,VIe)=>{"use strict";var JEt=KIe(),zEt=(t,e)=>{let r=[],o=t-e,a=t+e;for(let n=o;n<=a;n++)r.push(n);return r};VIe.exports=(t,e,r)=>{if(typeof t!="string")throw new TypeError("Source code is missing.");if(!e||e<1)throw new TypeError("Line number must start from `1`.");if(t=JEt(t).split(/\r?\n/),!(e>t.length))return r={around:3,...r},zEt(e,r.around).filter(o=>t[o-1]!==void 0).map(o=>({line:o,value:t[o-1]}))}});var NQ=_(lu=>{"use strict";var XEt=lu&&lu.__createBinding||(Object.create?function(t,e,r,o){o===void 0&&(o=r),Object.defineProperty(t,o,{enumerable:!0,get:function(){return e[r]}})}:function(t,e,r,o){o===void 0&&(o=r),t[o]=e[r]}),ZEt=lu&&lu.__setModuleDefault||(Object.create?function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}:function(t,e){t.default=e}),$Et=lu&&lu.__importStar||function(t){if(t&&t.__esModule)return t;var e={};if(t!=null)for(var r in t)r!=="default"&&Object.hasOwnProperty.call(t,r)&&XEt(e,t,r);return ZEt(e,t),e},eCt=lu&&lu.__rest||function(t,e){var r={};for(var o in t)Object.prototype.hasOwnProperty.call(t,o)&&e.indexOf(o)<0&&(r[o]=t[o]);if(t!=null&&typeof Object.getOwnPropertySymbols=="function")for(var a=0,o=Object.getOwnPropertySymbols(t);a<o.length;a++)e.indexOf(o[a])<0&&Object.prototype.propertyIsEnumerable.call(t,o[a])&&(r[o[a]]=t[o[a]]);return r};Object.defineProperty(lu,"__esModule",{value:!0});var zIe=$Et(ln()),Zq=zIe.forwardRef((t,e)=>{var{children:r}=t,o=eCt(t,["children"]);let a=Object.assign(Object.assign({},o),{marginLeft:o.marginLeft||o.marginX||o.margin||0,marginRight:o.marginRight||o.marginX||o.margin||0,marginTop:o.marginTop||o.marginY||o.margin||0,marginBottom:o.marginBottom||o.marginY||o.margin||0,paddingLeft:o.paddingLeft||o.paddingX||o.padding||0,paddingRight:o.paddingRight||o.paddingX||o.padding||0,paddingTop:o.paddingTop||o.paddingY||o.padding||0,paddingBottom:o.paddingBottom||o.paddingY||o.padding||0});return zIe.default.createElement("ink-box",{ref:e,style:a},r)});Zq.displayName="Box";Zq.defaultProps={flexDirection:"row",flexGrow:0,flexShrink:1};lu.default=Zq});var tj=_(HB=>{"use strict";var $q=HB&&HB.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(HB,"__esModule",{value:!0});var tCt=$q(ln()),PC=$q(FQ()),XIe=$q(Nq()),ej=({color:t,backgroundColor:e,dimColor:r,bold:o,italic:a,underline:n,strikethrough:u,inverse:A,wrap:p,children:h})=>{if(h==null)return null;let E=w=>(r&&(w=PC.default.dim(w)),t&&(w=XIe.default(w,t,"foreground")),e&&(w=XIe.default(w,e,"background")),o&&(w=PC.default.bold(w)),a&&(w=PC.default.italic(w)),n&&(w=PC.default.underline(w)),u&&(w=PC.default.strikethrough(w)),A&&(w=PC.default.inverse(w)),w);return tCt.default.createElement("ink-text",{style:{flexGrow:0,flexShrink:1,flexDirection:"row",textWrap:p},internal_transform:E},h)};ej.displayName="Text";ej.defaultProps={dimColor:!1,bold:!1,italic:!1,underline:!1,strikethrough:!1,wrap:"wrap"};HB.default=ej});var twe=_(cu=>{"use strict";var rCt=cu&&cu.__createBinding||(Object.create?function(t,e,r,o){o===void 0&&(o=r),Object.defineProperty(t,o,{enumerable:!0,get:function(){return e[r]}})}:function(t,e,r,o){o===void 0&&(o=r),t[o]=e[r]}),nCt=cu&&cu.__setModuleDefault||(Object.create?function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}:function(t,e){t.default=e}),iCt=cu&&cu.__importStar||function(t){if(t&&t.__esModule)return t;var e={};if(t!=null)for(var r in t)r!=="default"&&Object.hasOwnProperty.call(t,r)&&rCt(e,t,r);return nCt(e,t),e},qB=cu&&cu.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(cu,"__esModule",{value:!0});var ZIe=iCt(ve("fs")),ps=qB(ln()),$Ie=qB(WIe()),sCt=qB(JIe()),Jf=qB(NQ()),mA=qB(tj()),ewe=new $Ie.default({cwd:process.cwd(),internals:$Ie.default.nodeInternals()}),oCt=({error:t})=>{let e=t.stack?t.stack.split(` +`).slice(1):void 0,r=e?ewe.parseLine(e[0]):void 0,o,a=0;if(r?.file&&r?.line&&ZIe.existsSync(r.file)){let n=ZIe.readFileSync(r.file,"utf8");if(o=sCt.default(n,r.line),o)for(let{line:u}of o)a=Math.max(a,String(u).length)}return ps.default.createElement(Jf.default,{flexDirection:"column",padding:1},ps.default.createElement(Jf.default,null,ps.default.createElement(mA.default,{backgroundColor:"red",color:"white"}," ","ERROR"," "),ps.default.createElement(mA.default,null," ",t.message)),r&&ps.default.createElement(Jf.default,{marginTop:1},ps.default.createElement(mA.default,{dimColor:!0},r.file,":",r.line,":",r.column)),r&&o&&ps.default.createElement(Jf.default,{marginTop:1,flexDirection:"column"},o.map(({line:n,value:u})=>ps.default.createElement(Jf.default,{key:n},ps.default.createElement(Jf.default,{width:a+1},ps.default.createElement(mA.default,{dimColor:n!==r.line,backgroundColor:n===r.line?"red":void 0,color:n===r.line?"white":void 0},String(n).padStart(a," "),":")),ps.default.createElement(mA.default,{key:n,backgroundColor:n===r.line?"red":void 0,color:n===r.line?"white":void 0}," "+u)))),t.stack&&ps.default.createElement(Jf.default,{marginTop:1,flexDirection:"column"},t.stack.split(` +`).slice(1).map(n=>{let u=ewe.parseLine(n);return u?ps.default.createElement(Jf.default,{key:n},ps.default.createElement(mA.default,{dimColor:!0},"- "),ps.default.createElement(mA.default,{dimColor:!0,bold:!0},u.function),ps.default.createElement(mA.default,{dimColor:!0,color:"gray"}," ","(",u.file,":",u.line,":",u.column,")")):ps.default.createElement(Jf.default,{key:n},ps.default.createElement(mA.default,{dimColor:!0},"- "),ps.default.createElement(mA.default,{dimColor:!0,bold:!0},n))})))};cu.default=oCt});var nwe=_(uu=>{"use strict";var aCt=uu&&uu.__createBinding||(Object.create?function(t,e,r,o){o===void 0&&(o=r),Object.defineProperty(t,o,{enumerable:!0,get:function(){return e[r]}})}:function(t,e,r,o){o===void 0&&(o=r),t[o]=e[r]}),lCt=uu&&uu.__setModuleDefault||(Object.create?function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}:function(t,e){t.default=e}),cCt=uu&&uu.__importStar||function(t){if(t&&t.__esModule)return t;var e={};if(t!=null)for(var r in t)r!=="default"&&Object.hasOwnProperty.call(t,r)&&aCt(e,t,r);return lCt(e,t),e},ad=uu&&uu.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(uu,"__esModule",{value:!0});var od=cCt(ln()),rwe=ad(Z6()),uCt=ad(jq()),ACt=ad(Wq()),fCt=ad(Kq()),pCt=ad(Jq()),hCt=ad(TQ()),gCt=ad(twe()),dCt=" ",mCt="\x1B[Z",yCt="\x1B",LQ=class extends od.PureComponent{constructor(){super(...arguments),this.state={isFocusEnabled:!0,activeFocusId:void 0,focusables:[],error:void 0},this.rawModeEnabledCount=0,this.handleSetRawMode=e=>{let{stdin:r}=this.props;if(!this.isRawModeSupported())throw r===process.stdin?new Error(`Raw mode is not supported on the current process.stdin, which Ink uses as input stream by default. +Read about how to prevent this error on https://github.com/vadimdemedes/ink/#israwmodesupported`):new Error(`Raw mode is not supported on the stdin provided to Ink. +Read about how to prevent this error on https://github.com/vadimdemedes/ink/#israwmodesupported`);if(r.setEncoding("utf8"),e){this.rawModeEnabledCount===0&&(r.addListener("data",this.handleInput),r.resume(),r.setRawMode(!0)),this.rawModeEnabledCount++;return}--this.rawModeEnabledCount===0&&(r.setRawMode(!1),r.removeListener("data",this.handleInput),r.pause())},this.handleInput=e=>{e===""&&this.props.exitOnCtrlC&&this.handleExit(),e===yCt&&this.state.activeFocusId&&this.setState({activeFocusId:void 0}),this.state.isFocusEnabled&&this.state.focusables.length>0&&(e===dCt&&this.focusNext(),e===mCt&&this.focusPrevious())},this.handleExit=e=>{this.isRawModeSupported()&&this.handleSetRawMode(!1),this.props.onExit(e)},this.enableFocus=()=>{this.setState({isFocusEnabled:!0})},this.disableFocus=()=>{this.setState({isFocusEnabled:!1})},this.focus=e=>{this.setState(r=>r.focusables.some(a=>a?.id===e)?{activeFocusId:e}:r)},this.focusNext=()=>{this.setState(e=>{var r;let o=(r=e.focusables[0])===null||r===void 0?void 0:r.id;return{activeFocusId:this.findNextFocusable(e)||o}})},this.focusPrevious=()=>{this.setState(e=>{var r;let o=(r=e.focusables[e.focusables.length-1])===null||r===void 0?void 0:r.id;return{activeFocusId:this.findPreviousFocusable(e)||o}})},this.addFocusable=(e,{autoFocus:r})=>{this.setState(o=>{let a=o.activeFocusId;return!a&&r&&(a=e),{activeFocusId:a,focusables:[...o.focusables,{id:e,isActive:!0}]}})},this.removeFocusable=e=>{this.setState(r=>({activeFocusId:r.activeFocusId===e?void 0:r.activeFocusId,focusables:r.focusables.filter(o=>o.id!==e)}))},this.activateFocusable=e=>{this.setState(r=>({focusables:r.focusables.map(o=>o.id!==e?o:{id:e,isActive:!0})}))},this.deactivateFocusable=e=>{this.setState(r=>({activeFocusId:r.activeFocusId===e?void 0:r.activeFocusId,focusables:r.focusables.map(o=>o.id!==e?o:{id:e,isActive:!1})}))},this.findNextFocusable=e=>{var r;let o=e.focusables.findIndex(a=>a.id===e.activeFocusId);for(let a=o+1;a<e.focusables.length;a++)if(!((r=e.focusables[a])===null||r===void 0)&&r.isActive)return e.focusables[a].id},this.findPreviousFocusable=e=>{var r;let o=e.focusables.findIndex(a=>a.id===e.activeFocusId);for(let a=o-1;a>=0;a--)if(!((r=e.focusables[a])===null||r===void 0)&&r.isActive)return e.focusables[a].id}}static getDerivedStateFromError(e){return{error:e}}isRawModeSupported(){return this.props.stdin.isTTY}render(){return od.default.createElement(uCt.default.Provider,{value:{exit:this.handleExit}},od.default.createElement(ACt.default.Provider,{value:{stdin:this.props.stdin,setRawMode:this.handleSetRawMode,isRawModeSupported:this.isRawModeSupported(),internal_exitOnCtrlC:this.props.exitOnCtrlC}},od.default.createElement(fCt.default.Provider,{value:{stdout:this.props.stdout,write:this.props.writeToStdout}},od.default.createElement(pCt.default.Provider,{value:{stderr:this.props.stderr,write:this.props.writeToStderr}},od.default.createElement(hCt.default.Provider,{value:{activeId:this.state.activeFocusId,add:this.addFocusable,remove:this.removeFocusable,activate:this.activateFocusable,deactivate:this.deactivateFocusable,enableFocus:this.enableFocus,disableFocus:this.disableFocus,focusNext:this.focusNext,focusPrevious:this.focusPrevious,focus:this.focus}},this.state.error?od.default.createElement(gCt.default,{error:this.state.error}):this.props.children)))))}componentDidMount(){rwe.default.hide(this.props.stdout)}componentWillUnmount(){rwe.default.show(this.props.stdout),this.isRawModeSupported()&&this.handleSetRawMode(!1)}componentDidCatch(e){this.handleExit(e)}};uu.default=LQ;LQ.displayName="InternalApp"});var owe=_(Au=>{"use strict";var ECt=Au&&Au.__createBinding||(Object.create?function(t,e,r,o){o===void 0&&(o=r),Object.defineProperty(t,o,{enumerable:!0,get:function(){return e[r]}})}:function(t,e,r,o){o===void 0&&(o=r),t[o]=e[r]}),CCt=Au&&Au.__setModuleDefault||(Object.create?function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}:function(t,e){t.default=e}),ICt=Au&&Au.__importStar||function(t){if(t&&t.__esModule)return t;var e={};if(t!=null)for(var r in t)r!=="default"&&Object.hasOwnProperty.call(t,r)&&ECt(e,t,r);return CCt(e,t),e},fu=Au&&Au.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(Au,"__esModule",{value:!0});var wCt=fu(ln()),iwe=WM(),BCt=fu(tCe()),vCt=fu(K6()),DCt=fu(aCe()),PCt=fu(cCe()),rj=fu(tIe()),SCt=fu(kIe()),bCt=fu(X6()),xCt=fu(TIe()),kCt=ICt(bq()),QCt=fu(Hq()),FCt=fu(nwe()),SC=process.env.CI==="false"?!1:DCt.default,swe=()=>{},nj=class{constructor(e){this.resolveExitPromise=()=>{},this.rejectExitPromise=()=>{},this.unsubscribeExit=()=>{},this.onRender=()=>{if(this.isUnmounted)return;let{output:r,outputHeight:o,staticOutput:a}=SCt.default(this.rootNode,this.options.stdout.columns||80),n=a&&a!==` +`;if(this.options.debug){n&&(this.fullStaticOutput+=a),this.options.stdout.write(this.fullStaticOutput+r);return}if(SC){n&&this.options.stdout.write(a),this.lastOutput=r;return}if(n&&(this.fullStaticOutput+=a),o>=this.options.stdout.rows){this.options.stdout.write(vCt.default.clearTerminal+this.fullStaticOutput+r),this.lastOutput=r;return}n&&(this.log.clear(),this.options.stdout.write(a),this.log(r)),!n&&r!==this.lastOutput&&this.throttledLog(r),this.lastOutput=r},PCt.default(this),this.options=e,this.rootNode=kCt.createNode("ink-root"),this.rootNode.onRender=e.debug?this.onRender:iwe(this.onRender,32,{leading:!0,trailing:!0}),this.rootNode.onImmediateRender=this.onRender,this.log=BCt.default.create(e.stdout),this.throttledLog=e.debug?this.log:iwe(this.log,void 0,{leading:!0,trailing:!0}),this.isUnmounted=!1,this.lastOutput="",this.fullStaticOutput="",this.container=rj.default.createContainer(this.rootNode,0,!1,null),this.unsubscribeExit=bCt.default(this.unmount,{alwaysLast:!1}),e.patchConsole&&this.patchConsole(),SC||(e.stdout.on("resize",this.onRender),this.unsubscribeResize=()=>{e.stdout.off("resize",this.onRender)})}render(e){let r=wCt.default.createElement(FCt.default,{stdin:this.options.stdin,stdout:this.options.stdout,stderr:this.options.stderr,writeToStdout:this.writeToStdout,writeToStderr:this.writeToStderr,exitOnCtrlC:this.options.exitOnCtrlC,onExit:this.unmount},e);rj.default.updateContainer(r,this.container,null,swe)}writeToStdout(e){if(!this.isUnmounted){if(this.options.debug){this.options.stdout.write(e+this.fullStaticOutput+this.lastOutput);return}if(SC){this.options.stdout.write(e);return}this.log.clear(),this.options.stdout.write(e),this.log(this.lastOutput)}}writeToStderr(e){if(!this.isUnmounted){if(this.options.debug){this.options.stderr.write(e),this.options.stdout.write(this.fullStaticOutput+this.lastOutput);return}if(SC){this.options.stderr.write(e);return}this.log.clear(),this.options.stderr.write(e),this.log(this.lastOutput)}}unmount(e){this.isUnmounted||(this.onRender(),this.unsubscribeExit(),typeof this.restoreConsole=="function"&&this.restoreConsole(),typeof this.unsubscribeResize=="function"&&this.unsubscribeResize(),SC?this.options.stdout.write(this.lastOutput+` +`):this.options.debug||this.log.done(),this.isUnmounted=!0,rj.default.updateContainer(null,this.container,null,swe),QCt.default.delete(this.options.stdout),e instanceof Error?this.rejectExitPromise(e):this.resolveExitPromise())}waitUntilExit(){return this.exitPromise||(this.exitPromise=new Promise((e,r)=>{this.resolveExitPromise=e,this.rejectExitPromise=r})),this.exitPromise}clear(){!SC&&!this.options.debug&&this.log.clear()}patchConsole(){this.options.debug||(this.restoreConsole=xCt.default((e,r)=>{e==="stdout"&&this.writeToStdout(r),e==="stderr"&&(r.startsWith("The above error occurred")||this.writeToStderr(r))}))}};Au.default=nj});var lwe=_(jB=>{"use strict";var awe=jB&&jB.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(jB,"__esModule",{value:!0});var RCt=awe(owe()),OQ=awe(Hq()),TCt=ve("stream"),NCt=(t,e)=>{let r=Object.assign({stdout:process.stdout,stdin:process.stdin,stderr:process.stderr,debug:!1,exitOnCtrlC:!0,patchConsole:!0},LCt(e)),o=OCt(r.stdout,()=>new RCt.default(r));return o.render(t),{rerender:o.render,unmount:()=>o.unmount(),waitUntilExit:o.waitUntilExit,cleanup:()=>OQ.default.delete(r.stdout),clear:o.clear}};jB.default=NCt;var LCt=(t={})=>t instanceof TCt.Stream?{stdout:t,stdin:process.stdin}:t,OCt=(t,e)=>{let r;return OQ.default.has(t)?r=OQ.default.get(t):(r=e(),OQ.default.set(t,r)),r}});var uwe=_(zf=>{"use strict";var MCt=zf&&zf.__createBinding||(Object.create?function(t,e,r,o){o===void 0&&(o=r),Object.defineProperty(t,o,{enumerable:!0,get:function(){return e[r]}})}:function(t,e,r,o){o===void 0&&(o=r),t[o]=e[r]}),UCt=zf&&zf.__setModuleDefault||(Object.create?function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}:function(t,e){t.default=e}),_Ct=zf&&zf.__importStar||function(t){if(t&&t.__esModule)return t;var e={};if(t!=null)for(var r in t)r!=="default"&&Object.hasOwnProperty.call(t,r)&&MCt(e,t,r);return UCt(e,t),e};Object.defineProperty(zf,"__esModule",{value:!0});var GB=_Ct(ln()),cwe=t=>{let{items:e,children:r,style:o}=t,[a,n]=GB.useState(0),u=GB.useMemo(()=>e.slice(a),[e,a]);GB.useLayoutEffect(()=>{n(e.length)},[e.length]);let A=u.map((h,E)=>r(h,a+E)),p=GB.useMemo(()=>Object.assign({position:"absolute",flexDirection:"column"},o),[o]);return GB.default.createElement("ink-box",{internal_static:!0,style:p},A)};cwe.displayName="Static";zf.default=cwe});var fwe=_(WB=>{"use strict";var HCt=WB&&WB.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(WB,"__esModule",{value:!0});var qCt=HCt(ln()),Awe=({children:t,transform:e})=>t==null?null:qCt.default.createElement("ink-text",{style:{flexGrow:0,flexShrink:1,flexDirection:"row"},internal_transform:e},t);Awe.displayName="Transform";WB.default=Awe});var hwe=_(YB=>{"use strict";var jCt=YB&&YB.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(YB,"__esModule",{value:!0});var GCt=jCt(ln()),pwe=({count:t=1})=>GCt.default.createElement("ink-text",null,` +`.repeat(t));pwe.displayName="Newline";YB.default=pwe});var mwe=_(KB=>{"use strict";var gwe=KB&&KB.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(KB,"__esModule",{value:!0});var WCt=gwe(ln()),YCt=gwe(NQ()),dwe=()=>WCt.default.createElement(YCt.default,{flexGrow:1});dwe.displayName="Spacer";KB.default=dwe});var MQ=_(VB=>{"use strict";var KCt=VB&&VB.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(VB,"__esModule",{value:!0});var VCt=ln(),JCt=KCt(Wq()),zCt=()=>VCt.useContext(JCt.default);VB.default=zCt});var Ewe=_(JB=>{"use strict";var XCt=JB&&JB.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(JB,"__esModule",{value:!0});var ywe=ln(),ZCt=XCt(MQ()),$Ct=(t,e={})=>{let{stdin:r,setRawMode:o,internal_exitOnCtrlC:a}=ZCt.default();ywe.useEffect(()=>{if(e.isActive!==!1)return o(!0),()=>{o(!1)}},[e.isActive,o]),ywe.useEffect(()=>{if(e.isActive===!1)return;let n=u=>{let A=String(u),p={upArrow:A==="\x1B[A",downArrow:A==="\x1B[B",leftArrow:A==="\x1B[D",rightArrow:A==="\x1B[C",pageDown:A==="\x1B[6~",pageUp:A==="\x1B[5~",return:A==="\r",escape:A==="\x1B",ctrl:!1,shift:!1,tab:A===" "||A==="\x1B[Z",backspace:A==="\b",delete:A==="\x7F"||A==="\x1B[3~",meta:!1};A<=""&&!p.return&&(A=String.fromCharCode(A.charCodeAt(0)+97-1),p.ctrl=!0),A.startsWith("\x1B")&&(A=A.slice(1),p.meta=!0);let h=A>="A"&&A<="Z",E=A>="\u0410"&&A<="\u042F";A.length===1&&(h||E)&&(p.shift=!0),p.tab&&A==="[Z"&&(p.shift=!0),(p.tab||p.backspace||p.delete)&&(A=""),(!(A==="c"&&p.ctrl)||!a)&&t(A,p)};return r?.on("data",n),()=>{r?.off("data",n)}},[e.isActive,r,a,t])};JB.default=$Ct});var Cwe=_(zB=>{"use strict";var eIt=zB&&zB.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(zB,"__esModule",{value:!0});var tIt=ln(),rIt=eIt(jq()),nIt=()=>tIt.useContext(rIt.default);zB.default=nIt});var Iwe=_(XB=>{"use strict";var iIt=XB&&XB.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(XB,"__esModule",{value:!0});var sIt=ln(),oIt=iIt(Kq()),aIt=()=>sIt.useContext(oIt.default);XB.default=aIt});var wwe=_(ZB=>{"use strict";var lIt=ZB&&ZB.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(ZB,"__esModule",{value:!0});var cIt=ln(),uIt=lIt(Jq()),AIt=()=>cIt.useContext(uIt.default);ZB.default=AIt});var vwe=_(ev=>{"use strict";var Bwe=ev&&ev.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(ev,"__esModule",{value:!0});var $B=ln(),fIt=Bwe(TQ()),pIt=Bwe(MQ()),hIt=({isActive:t=!0,autoFocus:e=!1,id:r}={})=>{let{isRawModeSupported:o,setRawMode:a}=pIt.default(),{activeId:n,add:u,remove:A,activate:p,deactivate:h,focus:E}=$B.useContext(fIt.default),w=$B.useMemo(()=>r??Math.random().toString().slice(2,7),[r]);return $B.useEffect(()=>(u(w,{autoFocus:e}),()=>{A(w)}),[w,e]),$B.useEffect(()=>{t?p(w):h(w)},[t,w]),$B.useEffect(()=>{if(!(!o||!t))return a(!0),()=>{a(!1)}},[t]),{isFocused:!!w&&n===w,focus:E}};ev.default=hIt});var Dwe=_(tv=>{"use strict";var gIt=tv&&tv.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(tv,"__esModule",{value:!0});var dIt=ln(),mIt=gIt(TQ()),yIt=()=>{let t=dIt.useContext(mIt.default);return{enableFocus:t.enableFocus,disableFocus:t.disableFocus,focusNext:t.focusNext,focusPrevious:t.focusPrevious,focus:t.focus}};tv.default=yIt});var Pwe=_(ij=>{"use strict";Object.defineProperty(ij,"__esModule",{value:!0});ij.default=t=>{var e,r,o,a;return{width:(r=(e=t.yogaNode)===null||e===void 0?void 0:e.getComputedWidth())!==null&&r!==void 0?r:0,height:(a=(o=t.yogaNode)===null||o===void 0?void 0:o.getComputedHeight())!==null&&a!==void 0?a:0}}});var ac=_(Js=>{"use strict";Object.defineProperty(Js,"__esModule",{value:!0});var EIt=lwe();Object.defineProperty(Js,"render",{enumerable:!0,get:function(){return EIt.default}});var CIt=NQ();Object.defineProperty(Js,"Box",{enumerable:!0,get:function(){return CIt.default}});var IIt=tj();Object.defineProperty(Js,"Text",{enumerable:!0,get:function(){return IIt.default}});var wIt=uwe();Object.defineProperty(Js,"Static",{enumerable:!0,get:function(){return wIt.default}});var BIt=fwe();Object.defineProperty(Js,"Transform",{enumerable:!0,get:function(){return BIt.default}});var vIt=hwe();Object.defineProperty(Js,"Newline",{enumerable:!0,get:function(){return vIt.default}});var DIt=mwe();Object.defineProperty(Js,"Spacer",{enumerable:!0,get:function(){return DIt.default}});var PIt=Ewe();Object.defineProperty(Js,"useInput",{enumerable:!0,get:function(){return PIt.default}});var SIt=Cwe();Object.defineProperty(Js,"useApp",{enumerable:!0,get:function(){return SIt.default}});var bIt=MQ();Object.defineProperty(Js,"useStdin",{enumerable:!0,get:function(){return bIt.default}});var xIt=Iwe();Object.defineProperty(Js,"useStdout",{enumerable:!0,get:function(){return xIt.default}});var kIt=wwe();Object.defineProperty(Js,"useStderr",{enumerable:!0,get:function(){return kIt.default}});var QIt=vwe();Object.defineProperty(Js,"useFocus",{enumerable:!0,get:function(){return QIt.default}});var FIt=Dwe();Object.defineProperty(Js,"useFocusManager",{enumerable:!0,get:function(){return FIt.default}});var RIt=Pwe();Object.defineProperty(Js,"measureElement",{enumerable:!0,get:function(){return RIt.default}})});var oj={};Kt(oj,{Gem:()=>sj});var Swe,ld,sj,UQ=It(()=>{Swe=et(ac()),ld=et(ln()),sj=(0,ld.memo)(({active:t})=>{let e=(0,ld.useMemo)(()=>t?"\u25C9":"\u25EF",[t]),r=(0,ld.useMemo)(()=>t?"green":"yellow",[t]);return ld.default.createElement(Swe.Text,{color:r},e)})});var xwe={};Kt(xwe,{useKeypress:()=>cd});function cd({active:t},e,r){let{stdin:o}=(0,bwe.useStdin)(),a=(0,_Q.useCallback)((n,u)=>e(n,u),r);(0,_Q.useEffect)(()=>{if(!(!t||!o))return o.on("keypress",a),()=>{o.off("keypress",a)}},[t,a,o])}var bwe,_Q,rv=It(()=>{bwe=et(ac()),_Q=et(ln())});var Qwe={};Kt(Qwe,{FocusRequest:()=>kwe,useFocusRequest:()=>aj});var kwe,aj,lj=It(()=>{rv();kwe=(r=>(r.BEFORE="before",r.AFTER="after",r))(kwe||{}),aj=function({active:t},e,r){cd({active:t},(o,a)=>{a.name==="tab"&&(a.shift?e("before"):e("after"))},r)}});var Fwe={};Kt(Fwe,{useListInput:()=>nv});var nv,HQ=It(()=>{rv();nv=function(t,e,{active:r,minus:o,plus:a,set:n,loop:u=!0}){cd({active:r},(A,p)=>{let h=e.indexOf(t);switch(p.name){case o:{let E=h-1;if(u){n(e[(e.length+E)%e.length]);return}if(E<0)return;n(e[E])}break;case a:{let E=h+1;if(u){n(e[E%e.length]);return}if(E>=e.length)return;n(e[E])}break}},[e,t,a,n,u])}});var qQ={};Kt(qQ,{ScrollableItems:()=>TIt});var Hh,Ua,TIt,jQ=It(()=>{Hh=et(ac()),Ua=et(ln());lj();HQ();TIt=({active:t=!0,children:e=[],radius:r=10,size:o=1,loop:a=!0,onFocusRequest:n,willReachEnd:u})=>{let A=L=>{if(L.key===null)throw new Error("Expected all children to have a key");return L.key},p=Ua.default.Children.map(e,L=>A(L)),h=p[0],[E,w]=(0,Ua.useState)(h),D=p.indexOf(E);(0,Ua.useEffect)(()=>{p.includes(E)||w(h)},[e]),(0,Ua.useEffect)(()=>{u&&D>=p.length-2&&u()},[D]),aj({active:t&&!!n},L=>{n?.(L)},[n]),nv(E,p,{active:t,minus:"up",plus:"down",set:w,loop:a});let x=D-r,C=D+r;C>p.length&&(x-=C-p.length,C=p.length),x<0&&(C+=-x,x=0),C>=p.length&&(C=p.length-1);let T=[];for(let L=x;L<=C;++L){let U=p[L],J=t&&U===E;T.push(Ua.default.createElement(Hh.Box,{key:U,height:o},Ua.default.createElement(Hh.Box,{marginLeft:1,marginRight:1},Ua.default.createElement(Hh.Text,null,J?Ua.default.createElement(Hh.Text,{color:"cyan",bold:!0},">"):" ")),Ua.default.createElement(Hh.Box,null,Ua.default.cloneElement(e[L],{active:J}))))}return Ua.default.createElement(Hh.Box,{flexDirection:"column",width:"100%"},T)}});var Rwe,Xf,Twe,cj,Nwe,uj=It(()=>{Rwe=et(ac()),Xf=et(ln()),Twe=ve("readline"),cj=Xf.default.createContext(null),Nwe=({children:t})=>{let{stdin:e,setRawMode:r}=(0,Rwe.useStdin)();(0,Xf.useEffect)(()=>{r&&r(!0),e&&(0,Twe.emitKeypressEvents)(e)},[e,r]);let[o,a]=(0,Xf.useState)(new Map),n=(0,Xf.useMemo)(()=>({getAll:()=>o,get:u=>o.get(u),set:(u,A)=>a(new Map([...o,[u,A]]))}),[o,a]);return Xf.default.createElement(cj.Provider,{value:n,children:t})}});var Aj={};Kt(Aj,{useMinistore:()=>NIt});function NIt(t,e){let r=(0,GQ.useContext)(cj);if(r===null)throw new Error("Expected this hook to run with a ministore context attached");if(typeof t>"u")return r.getAll();let o=(0,GQ.useCallback)(n=>{r.set(t,n)},[t,r.set]),a=r.get(t);return typeof a>"u"&&(a=e),[a,o]}var GQ,fj=It(()=>{GQ=et(ln());uj()});var YQ={};Kt(YQ,{renderForm:()=>LIt});async function LIt(t,e,{stdin:r,stdout:o,stderr:a}){let n,u=p=>{let{exit:h}=(0,WQ.useApp)();cd({active:!0},(E,w)=>{w.name==="return"&&(n=p,h())},[h,p])},{waitUntilExit:A}=(0,WQ.render)(pj.default.createElement(Nwe,null,pj.default.createElement(t,{...e,useSubmit:u})),{stdin:r,stdout:o,stderr:a});return await A(),n}var WQ,pj,KQ=It(()=>{WQ=et(ac()),pj=et(ln());uj();rv()});var Uwe=_(iv=>{"use strict";Object.defineProperty(iv,"__esModule",{value:!0});iv.UncontrolledTextInput=void 0;var Owe=ln(),hj=ln(),Lwe=ac(),ud=FQ(),Mwe=({value:t,placeholder:e="",focus:r=!0,mask:o,highlightPastedText:a=!1,showCursor:n=!0,onChange:u,onSubmit:A})=>{let[{cursorOffset:p,cursorWidth:h},E]=hj.useState({cursorOffset:(t||"").length,cursorWidth:0});hj.useEffect(()=>{E(T=>{if(!r||!n)return T;let L=t||"";return T.cursorOffset>L.length-1?{cursorOffset:L.length,cursorWidth:0}:T})},[t,r,n]);let w=a?h:0,D=o?o.repeat(t.length):t,x=D,C=e?ud.grey(e):void 0;if(n&&r){C=e.length>0?ud.inverse(e[0])+ud.grey(e.slice(1)):ud.inverse(" "),x=D.length>0?"":ud.inverse(" ");let T=0;for(let L of D)T>=p-w&&T<=p?x+=ud.inverse(L):x+=L,T++;D.length>0&&p===D.length&&(x+=ud.inverse(" "))}return Lwe.useInput((T,L)=>{if(L.upArrow||L.downArrow||L.ctrl&&T==="c"||L.tab||L.shift&&L.tab)return;if(L.return){A&&A(t);return}let U=p,J=t,te=0;L.leftArrow?n&&U--:L.rightArrow?n&&U++:L.backspace||L.delete?p>0&&(J=t.slice(0,p-1)+t.slice(p,t.length),U--):(J=t.slice(0,p)+T+t.slice(p,t.length),U+=T.length,T.length>1&&(te=T.length)),p<0&&(U=0),p>t.length&&(U=t.length),E({cursorOffset:U,cursorWidth:te}),J!==t&&u(J)},{isActive:r}),Owe.createElement(Lwe.Text,null,e?D.length>0?x:C:x)};iv.default=Mwe;iv.UncontrolledTextInput=({initialValue:t="",...e})=>{let[r,o]=hj.useState(t);return Owe.createElement(Mwe,Object.assign({},e,{value:r,onChange:o}))}});var qwe={};Kt(qwe,{Pad:()=>gj});var _we,Hwe,gj,dj=It(()=>{_we=et(ac()),Hwe=et(ln()),gj=({length:t,active:e})=>{if(t===0)return null;let r=t>1?` ${"-".repeat(t-1)}`:" ";return Hwe.default.createElement(_we.Text,{dimColor:!e},r)}});var jwe={};Kt(jwe,{ItemOptions:()=>OIt});var ov,qh,OIt,Gwe=It(()=>{ov=et(ac()),qh=et(ln());HQ();UQ();dj();OIt=function({active:t,skewer:e,options:r,value:o,onChange:a,sizes:n=[]}){let u=r.filter(({label:p})=>!!p).map(({value:p})=>p),A=r.findIndex(p=>p.value===o&&p.label!="");return nv(o,u,{active:t,minus:"left",plus:"right",set:a}),qh.default.createElement(qh.default.Fragment,null,r.map(({label:p},h)=>{let E=h===A,w=n[h]-1||0,D=p.replace(/[\u001b\u009b][[()#;?]*(?:[0-9]{1,4}(?:;[0-9]{0,4})*)?[0-9A-ORZcf-nqry=><]/g,""),x=Math.max(0,w-D.length-2);return p?qh.default.createElement(ov.Box,{key:p,width:w,marginLeft:1},qh.default.createElement(ov.Text,{wrap:"truncate"},qh.default.createElement(sj,{active:E})," ",p),e?qh.default.createElement(gj,{active:t,length:x}):null):qh.default.createElement(ov.Box,{key:`spacer-${h}`,width:w,marginLeft:1})}))}});var s1e=_((bJt,i1e)=>{var Dj;i1e.exports=()=>(typeof Dj>"u"&&(Dj=ve("zlib").brotliDecompressSync(Buffer.from("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","base64")).toString()),Dj)});var P1e=_(($Jt,D1e)=>{var Tj=Symbol("arg flag"),lc=class t extends Error{constructor(e,r){super(e),this.name="ArgError",this.code=r,Object.setPrototypeOf(this,t.prototype)}};function wv(t,{argv:e=process.argv.slice(2),permissive:r=!1,stopAtPositional:o=!1}={}){if(!t)throw new lc("argument specification object is required","ARG_CONFIG_NO_SPEC");let a={_:[]},n={},u={};for(let A of Object.keys(t)){if(!A)throw new lc("argument key cannot be an empty string","ARG_CONFIG_EMPTY_KEY");if(A[0]!=="-")throw new lc(`argument key must start with '-' but found: '${A}'`,"ARG_CONFIG_NONOPT_KEY");if(A.length===1)throw new lc(`argument key must have a name; singular '-' keys are not allowed: ${A}`,"ARG_CONFIG_NONAME_KEY");if(typeof t[A]=="string"){n[A]=t[A];continue}let p=t[A],h=!1;if(Array.isArray(p)&&p.length===1&&typeof p[0]=="function"){let[E]=p;p=(w,D,x=[])=>(x.push(E(w,D,x[x.length-1])),x),h=E===Boolean||E[Tj]===!0}else if(typeof p=="function")h=p===Boolean||p[Tj]===!0;else throw new lc(`type missing or not a function or valid array type: ${A}`,"ARG_CONFIG_VAD_TYPE");if(A[1]!=="-"&&A.length>2)throw new lc(`short argument keys (with a single hyphen) must have only one character: ${A}`,"ARG_CONFIG_SHORTOPT_TOOLONG");u[A]=[p,h]}for(let A=0,p=e.length;A<p;A++){let h=e[A];if(o&&a._.length>0){a._=a._.concat(e.slice(A));break}if(h==="--"){a._=a._.concat(e.slice(A+1));break}if(h.length>1&&h[0]==="-"){let E=h[1]==="-"||h.length===2?[h]:h.slice(1).split("").map(w=>`-${w}`);for(let w=0;w<E.length;w++){let D=E[w],[x,C]=D[1]==="-"?D.split(/=(.*)/,2):[D,void 0],T=x;for(;T in n;)T=n[T];if(!(T in u))if(r){a._.push(D);continue}else throw new lc(`unknown or unexpected option: ${x}`,"ARG_UNKNOWN_OPTION");let[L,U]=u[T];if(!U&&w+1<E.length)throw new lc(`option requires argument (but was followed by another short argument): ${x}`,"ARG_MISSING_REQUIRED_SHORTARG");if(U)a[T]=L(!0,T,a[T]);else if(C===void 0){if(e.length<A+2||e[A+1].length>1&&e[A+1][0]==="-"&&!(e[A+1].match(/^-?\d*(\.(?=\d))?\d*$/)&&(L===Number||typeof BigInt<"u"&&L===BigInt))){let J=x===T?"":` (alias for ${T})`;throw new lc(`option requires argument: ${x}${J}`,"ARG_MISSING_REQUIRED_LONGARG")}a[T]=L(e[A+1],T,a[T]),++A}else a[T]=L(C,T,a[T])}}else a._.push(h)}return a}wv.flag=t=>(t[Tj]=!0,t);wv.COUNT=wv.flag((t,e,r)=>(r||0)+1);wv.ArgError=lc;D1e.exports=wv});var T1e=_((xzt,R1e)=>{var Mj;R1e.exports=()=>(typeof Mj>"u"&&(Mj=ve("zlib").brotliDecompressSync(Buffer.from("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","base64")).toString()),Mj)});var U1e=_((Gj,Wj)=>{(function(t){Gj&&typeof Gj=="object"&&typeof Wj<"u"?Wj.exports=t():typeof define=="function"&&define.amd?define([],t):typeof window<"u"?window.isWindows=t():typeof global<"u"?global.isWindows=t():typeof self<"u"?self.isWindows=t():this.isWindows=t()})(function(){"use strict";return function(){return process&&(process.platform==="win32"||/^(msys|cygwin)$/.test(process.env.OSTYPE))}})});var j1e=_((SXt,q1e)=>{"use strict";Yj.ifExists=Twt;var FC=ve("util"),cc=ve("path"),_1e=U1e(),Qwt=/^#!\s*(?:\/usr\/bin\/env)?\s*([^ \t]+)(.*)$/,Fwt={createPwshFile:!0,createCmdFile:_1e(),fs:ve("fs")},Rwt=new Map([[".js","node"],[".cjs","node"],[".mjs","node"],[".cmd","cmd"],[".bat","cmd"],[".ps1","pwsh"],[".sh","sh"]]);function H1e(t){let e={...Fwt,...t},r=e.fs;return e.fs_={chmod:r.chmod?FC.promisify(r.chmod):async()=>{},mkdir:FC.promisify(r.mkdir),readFile:FC.promisify(r.readFile),stat:FC.promisify(r.stat),unlink:FC.promisify(r.unlink),writeFile:FC.promisify(r.writeFile)},e}async function Yj(t,e,r){let o=H1e(r);await o.fs_.stat(t),await Lwt(t,e,o)}function Twt(t,e,r){return Yj(t,e,r).catch(()=>{})}function Nwt(t,e){return e.fs_.unlink(t).catch(()=>{})}async function Lwt(t,e,r){let o=await Hwt(t,r);return await Owt(e,r),Mwt(t,e,o,r)}function Owt(t,e){return e.fs_.mkdir(cc.dirname(t),{recursive:!0})}function Mwt(t,e,r,o){let a=H1e(o),n=[{generator:Gwt,extension:""}];return a.createCmdFile&&n.push({generator:jwt,extension:".cmd"}),a.createPwshFile&&n.push({generator:Wwt,extension:".ps1"}),Promise.all(n.map(u=>qwt(t,e+u.extension,r,u.generator,a)))}function Uwt(t,e){return Nwt(t,e)}function _wt(t,e){return Ywt(t,e)}async function Hwt(t,e){let a=(await e.fs_.readFile(t,"utf8")).trim().split(/\r*\n/)[0].match(Qwt);if(!a){let n=cc.extname(t).toLowerCase();return{program:Rwt.get(n)||null,additionalArgs:""}}return{program:a[1],additionalArgs:a[2]}}async function qwt(t,e,r,o,a){let n=a.preserveSymlinks?"--preserve-symlinks":"",u=[r.additionalArgs,n].filter(A=>A).join(" ");return a=Object.assign({},a,{prog:r.program,args:u}),await Uwt(e,a),await a.fs_.writeFile(e,o(t,e,a),"utf8"),_wt(e,a)}function jwt(t,e,r){let a=cc.relative(cc.dirname(e),t).split("/").join("\\"),n=cc.isAbsolute(a)?`"${a}"`:`"%~dp0\\${a}"`,u,A=r.prog,p=r.args||"",h=Kj(r.nodePath).win32;A?(u=`"%~dp0\\${A}.exe"`,a=n):(A=n,p="",a="");let E=r.progArgs?`${r.progArgs.join(" ")} `:"",w=h?`@SET NODE_PATH=${h}\r +`:"";return u?w+=`@IF EXIST ${u} (\r + ${u} ${p} ${a} ${E}%*\r +) ELSE (\r + @SETLOCAL\r + @SET PATHEXT=%PATHEXT:;.JS;=;%\r + ${A} ${p} ${a} ${E}%*\r +)\r +`:w+=`@${A} ${p} ${a} ${E}%*\r +`,w}function Gwt(t,e,r){let o=cc.relative(cc.dirname(e),t),a=r.prog&&r.prog.split("\\").join("/"),n;o=o.split("\\").join("/");let u=cc.isAbsolute(o)?`"${o}"`:`"$basedir/${o}"`,A=r.args||"",p=Kj(r.nodePath).posix;a?(n=`"$basedir/${r.prog}"`,o=u):(a=u,A="",o="");let h=r.progArgs?`${r.progArgs.join(" ")} `:"",E=`#!/bin/sh +basedir=$(dirname "$(echo "$0" | sed -e 's,\\\\,/,g')") + +case \`uname\` in + *CYGWIN*) basedir=\`cygpath -w "$basedir"\`;; +esac + +`,w=r.nodePath?`export NODE_PATH="${p}" +`:"";return n?E+=`${w}if [ -x ${n} ]; then + exec ${n} ${A} ${o} ${h}"$@" +else + exec ${a} ${A} ${o} ${h}"$@" +fi +`:E+=`${w}${a} ${A} ${o} ${h}"$@" +exit $? +`,E}function Wwt(t,e,r){let o=cc.relative(cc.dirname(e),t),a=r.prog&&r.prog.split("\\").join("/"),n=a&&`"${a}$exe"`,u;o=o.split("\\").join("/");let A=cc.isAbsolute(o)?`"${o}"`:`"$basedir/${o}"`,p=r.args||"",h=Kj(r.nodePath),E=h.win32,w=h.posix;n?(u=`"$basedir/${r.prog}$exe"`,o=A):(n=A,p="",o="");let D=r.progArgs?`${r.progArgs.join(" ")} `:"",x=`#!/usr/bin/env pwsh +$basedir=Split-Path $MyInvocation.MyCommand.Definition -Parent + +$exe="" +${r.nodePath?`$env_node_path=$env:NODE_PATH +$env:NODE_PATH="${E}" +`:""}if ($PSVersionTable.PSVersion -lt "6.0" -or $IsWindows) { + # Fix case when both the Windows and Linux builds of Node + # are installed in the same directory + $exe=".exe" +}`;return r.nodePath&&(x+=` else { + $env:NODE_PATH="${w}" +}`),u?x+=` +$ret=0 +if (Test-Path ${u}) { + # Support pipeline input + if ($MyInvocation.ExpectingInput) { + $input | & ${u} ${p} ${o} ${D}$args + } else { + & ${u} ${p} ${o} ${D}$args + } + $ret=$LASTEXITCODE +} else { + # Support pipeline input + if ($MyInvocation.ExpectingInput) { + $input | & ${n} ${p} ${o} ${D}$args + } else { + & ${n} ${p} ${o} ${D}$args + } + $ret=$LASTEXITCODE +} +${r.nodePath?`$env:NODE_PATH=$env_node_path +`:""}exit $ret +`:x+=` +# Support pipeline input +if ($MyInvocation.ExpectingInput) { + $input | & ${n} ${p} ${o} ${D}$args +} else { + & ${n} ${p} ${o} ${D}$args +} +${r.nodePath?`$env:NODE_PATH=$env_node_path +`:""}exit $LASTEXITCODE +`,x}function Ywt(t,e){return e.fs_.chmod(t,493)}function Kj(t){if(!t)return{win32:"",posix:""};let e=typeof t=="string"?t.split(cc.delimiter):Array.from(t),r={};for(let o=0;o<e.length;o++){let a=e[o].split("/").join("\\"),n=_1e()?e[o].split("\\").join("/").replace(/^([^:\\/]*):/,(u,A)=>`/mnt/${A.toLowerCase()}`):e[o];r.win32=r.win32?`${r.win32};${a}`:a,r.posix=r.posix?`${r.posix}:${n}`:n,r[o]={win32:a,posix:n}}return r}q1e.exports=Yj});var a5=_((VZt,c2e)=>{c2e.exports=ve("stream")});var p2e=_((JZt,f2e)=>{"use strict";function u2e(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(t);e&&(o=o.filter(function(a){return Object.getOwnPropertyDescriptor(t,a).enumerable})),r.push.apply(r,o)}return r}function E1t(t){for(var e=1;e<arguments.length;e++){var r=arguments[e]!=null?arguments[e]:{};e%2?u2e(Object(r),!0).forEach(function(o){C1t(t,o,r[o])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(r)):u2e(Object(r)).forEach(function(o){Object.defineProperty(t,o,Object.getOwnPropertyDescriptor(r,o))})}return t}function C1t(t,e,r){return e in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}function I1t(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function A2e(t,e){for(var r=0;r<e.length;r++){var o=e[r];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}function w1t(t,e,r){return e&&A2e(t.prototype,e),r&&A2e(t,r),t}var B1t=ve("buffer"),sF=B1t.Buffer,v1t=ve("util"),l5=v1t.inspect,D1t=l5&&l5.custom||"inspect";function P1t(t,e,r){sF.prototype.copy.call(t,e,r)}f2e.exports=function(){function t(){I1t(this,t),this.head=null,this.tail=null,this.length=0}return w1t(t,[{key:"push",value:function(r){var o={data:r,next:null};this.length>0?this.tail.next=o:this.head=o,this.tail=o,++this.length}},{key:"unshift",value:function(r){var o={data:r,next:this.head};this.length===0&&(this.tail=o),this.head=o,++this.length}},{key:"shift",value:function(){if(this.length!==0){var r=this.head.data;return this.length===1?this.head=this.tail=null:this.head=this.head.next,--this.length,r}}},{key:"clear",value:function(){this.head=this.tail=null,this.length=0}},{key:"join",value:function(r){if(this.length===0)return"";for(var o=this.head,a=""+o.data;o=o.next;)a+=r+o.data;return a}},{key:"concat",value:function(r){if(this.length===0)return sF.alloc(0);for(var o=sF.allocUnsafe(r>>>0),a=this.head,n=0;a;)P1t(a.data,o,n),n+=a.data.length,a=a.next;return o}},{key:"consume",value:function(r,o){var a;return r<this.head.data.length?(a=this.head.data.slice(0,r),this.head.data=this.head.data.slice(r)):r===this.head.data.length?a=this.shift():a=o?this._getString(r):this._getBuffer(r),a}},{key:"first",value:function(){return this.head.data}},{key:"_getString",value:function(r){var o=this.head,a=1,n=o.data;for(r-=n.length;o=o.next;){var u=o.data,A=r>u.length?u.length:r;if(A===u.length?n+=u:n+=u.slice(0,r),r-=A,r===0){A===u.length?(++a,o.next?this.head=o.next:this.head=this.tail=null):(this.head=o,o.data=u.slice(A));break}++a}return this.length-=a,n}},{key:"_getBuffer",value:function(r){var o=sF.allocUnsafe(r),a=this.head,n=1;for(a.data.copy(o),r-=a.data.length;a=a.next;){var u=a.data,A=r>u.length?u.length:r;if(u.copy(o,o.length-r,0,A),r-=A,r===0){A===u.length?(++n,a.next?this.head=a.next:this.head=this.tail=null):(this.head=a,a.data=u.slice(A));break}++n}return this.length-=n,o}},{key:D1t,value:function(r,o){return l5(this,E1t({},o,{depth:0,customInspect:!1}))}}]),t}()});var u5=_((zZt,g2e)=>{"use strict";function S1t(t,e){var r=this,o=this._readableState&&this._readableState.destroyed,a=this._writableState&&this._writableState.destroyed;return o||a?(e?e(t):t&&(this._writableState?this._writableState.errorEmitted||(this._writableState.errorEmitted=!0,process.nextTick(c5,this,t)):process.nextTick(c5,this,t)),this):(this._readableState&&(this._readableState.destroyed=!0),this._writableState&&(this._writableState.destroyed=!0),this._destroy(t||null,function(n){!e&&n?r._writableState?r._writableState.errorEmitted?process.nextTick(oF,r):(r._writableState.errorEmitted=!0,process.nextTick(h2e,r,n)):process.nextTick(h2e,r,n):e?(process.nextTick(oF,r),e(n)):process.nextTick(oF,r)}),this)}function h2e(t,e){c5(t,e),oF(t)}function oF(t){t._writableState&&!t._writableState.emitClose||t._readableState&&!t._readableState.emitClose||t.emit("close")}function b1t(){this._readableState&&(this._readableState.destroyed=!1,this._readableState.reading=!1,this._readableState.ended=!1,this._readableState.endEmitted=!1),this._writableState&&(this._writableState.destroyed=!1,this._writableState.ended=!1,this._writableState.ending=!1,this._writableState.finalCalled=!1,this._writableState.prefinished=!1,this._writableState.finished=!1,this._writableState.errorEmitted=!1)}function c5(t,e){t.emit("error",e)}function x1t(t,e){var r=t._readableState,o=t._writableState;r&&r.autoDestroy||o&&o.autoDestroy?t.destroy(e):t.emit("error",e)}g2e.exports={destroy:S1t,undestroy:b1t,errorOrDestroy:x1t}});var Jh=_((XZt,y2e)=>{"use strict";var m2e={};function Ac(t,e,r){r||(r=Error);function o(n,u,A){return typeof e=="string"?e:e(n,u,A)}class a extends r{constructor(u,A,p){super(o(u,A,p))}}a.prototype.name=r.name,a.prototype.code=t,m2e[t]=a}function d2e(t,e){if(Array.isArray(t)){let r=t.length;return t=t.map(o=>String(o)),r>2?`one of ${e} ${t.slice(0,r-1).join(", ")}, or `+t[r-1]:r===2?`one of ${e} ${t[0]} or ${t[1]}`:`of ${e} ${t[0]}`}else return`of ${e} ${String(t)}`}function k1t(t,e,r){return t.substr(!r||r<0?0:+r,e.length)===e}function Q1t(t,e,r){return(r===void 0||r>t.length)&&(r=t.length),t.substring(r-e.length,r)===e}function F1t(t,e,r){return typeof r!="number"&&(r=0),r+e.length>t.length?!1:t.indexOf(e,r)!==-1}Ac("ERR_INVALID_OPT_VALUE",function(t,e){return'The value "'+e+'" is invalid for option "'+t+'"'},TypeError);Ac("ERR_INVALID_ARG_TYPE",function(t,e,r){let o;typeof e=="string"&&k1t(e,"not ")?(o="must not be",e=e.replace(/^not /,"")):o="must be";let a;if(Q1t(t," argument"))a=`The ${t} ${o} ${d2e(e,"type")}`;else{let n=F1t(t,".")?"property":"argument";a=`The "${t}" ${n} ${o} ${d2e(e,"type")}`}return a+=`. Received type ${typeof r}`,a},TypeError);Ac("ERR_STREAM_PUSH_AFTER_EOF","stream.push() after EOF");Ac("ERR_METHOD_NOT_IMPLEMENTED",function(t){return"The "+t+" method is not implemented"});Ac("ERR_STREAM_PREMATURE_CLOSE","Premature close");Ac("ERR_STREAM_DESTROYED",function(t){return"Cannot call "+t+" after a stream was destroyed"});Ac("ERR_MULTIPLE_CALLBACK","Callback called multiple times");Ac("ERR_STREAM_CANNOT_PIPE","Cannot pipe, not readable");Ac("ERR_STREAM_WRITE_AFTER_END","write after end");Ac("ERR_STREAM_NULL_VALUES","May not write null values to stream",TypeError);Ac("ERR_UNKNOWN_ENCODING",function(t){return"Unknown encoding: "+t},TypeError);Ac("ERR_STREAM_UNSHIFT_AFTER_END_EVENT","stream.unshift() after end event");y2e.exports.codes=m2e});var A5=_((ZZt,E2e)=>{"use strict";var R1t=Jh().codes.ERR_INVALID_OPT_VALUE;function T1t(t,e,r){return t.highWaterMark!=null?t.highWaterMark:e?t[r]:null}function N1t(t,e,r,o){var a=T1t(e,o,r);if(a!=null){if(!(isFinite(a)&&Math.floor(a)===a)||a<0){var n=o?r:"highWaterMark";throw new R1t(n,a)}return Math.floor(a)}return t.objectMode?16:16*1024}E2e.exports={getHighWaterMark:N1t}});var C2e=_(($Zt,f5)=>{typeof Object.create=="function"?f5.exports=function(e,r){r&&(e.super_=r,e.prototype=Object.create(r.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}))}:f5.exports=function(e,r){if(r){e.super_=r;var o=function(){};o.prototype=r.prototype,e.prototype=new o,e.prototype.constructor=e}}});var zh=_((e$t,h5)=>{try{if(p5=ve("util"),typeof p5.inherits!="function")throw"";h5.exports=p5.inherits}catch{h5.exports=C2e()}var p5});var w2e=_((t$t,I2e)=>{I2e.exports=ve("util").deprecate});var m5=_((r$t,b2e)=>{"use strict";b2e.exports=Ni;function v2e(t){var e=this;this.next=null,this.entry=null,this.finish=function(){l2t(e,t)}}var OC;Ni.WritableState=Tv;var L1t={deprecate:w2e()},D2e=a5(),lF=ve("buffer").Buffer,O1t=global.Uint8Array||function(){};function M1t(t){return lF.from(t)}function U1t(t){return lF.isBuffer(t)||t instanceof O1t}var d5=u5(),_1t=A5(),H1t=_1t.getHighWaterMark,Xh=Jh().codes,q1t=Xh.ERR_INVALID_ARG_TYPE,j1t=Xh.ERR_METHOD_NOT_IMPLEMENTED,G1t=Xh.ERR_MULTIPLE_CALLBACK,W1t=Xh.ERR_STREAM_CANNOT_PIPE,Y1t=Xh.ERR_STREAM_DESTROYED,K1t=Xh.ERR_STREAM_NULL_VALUES,V1t=Xh.ERR_STREAM_WRITE_AFTER_END,J1t=Xh.ERR_UNKNOWN_ENCODING,MC=d5.errorOrDestroy;zh()(Ni,D2e);function z1t(){}function Tv(t,e,r){OC=OC||dd(),t=t||{},typeof r!="boolean"&&(r=e instanceof OC),this.objectMode=!!t.objectMode,r&&(this.objectMode=this.objectMode||!!t.writableObjectMode),this.highWaterMark=H1t(this,t,"writableHighWaterMark",r),this.finalCalled=!1,this.needDrain=!1,this.ending=!1,this.ended=!1,this.finished=!1,this.destroyed=!1;var o=t.decodeStrings===!1;this.decodeStrings=!o,this.defaultEncoding=t.defaultEncoding||"utf8",this.length=0,this.writing=!1,this.corked=0,this.sync=!0,this.bufferProcessing=!1,this.onwrite=function(a){n2t(e,a)},this.writecb=null,this.writelen=0,this.bufferedRequest=null,this.lastBufferedRequest=null,this.pendingcb=0,this.prefinished=!1,this.errorEmitted=!1,this.emitClose=t.emitClose!==!1,this.autoDestroy=!!t.autoDestroy,this.bufferedRequestCount=0,this.corkedRequestsFree=new v2e(this)}Tv.prototype.getBuffer=function(){for(var e=this.bufferedRequest,r=[];e;)r.push(e),e=e.next;return r};(function(){try{Object.defineProperty(Tv.prototype,"buffer",{get:L1t.deprecate(function(){return this.getBuffer()},"_writableState.buffer is deprecated. Use _writableState.getBuffer instead.","DEP0003")})}catch{}})();var aF;typeof Symbol=="function"&&Symbol.hasInstance&&typeof Function.prototype[Symbol.hasInstance]=="function"?(aF=Function.prototype[Symbol.hasInstance],Object.defineProperty(Ni,Symbol.hasInstance,{value:function(e){return aF.call(this,e)?!0:this!==Ni?!1:e&&e._writableState instanceof Tv}})):aF=function(e){return e instanceof this};function Ni(t){OC=OC||dd();var e=this instanceof OC;if(!e&&!aF.call(Ni,this))return new Ni(t);this._writableState=new Tv(t,this,e),this.writable=!0,t&&(typeof t.write=="function"&&(this._write=t.write),typeof t.writev=="function"&&(this._writev=t.writev),typeof t.destroy=="function"&&(this._destroy=t.destroy),typeof t.final=="function"&&(this._final=t.final)),D2e.call(this)}Ni.prototype.pipe=function(){MC(this,new W1t)};function X1t(t,e){var r=new V1t;MC(t,r),process.nextTick(e,r)}function Z1t(t,e,r,o){var a;return r===null?a=new K1t:typeof r!="string"&&!e.objectMode&&(a=new q1t("chunk",["string","Buffer"],r)),a?(MC(t,a),process.nextTick(o,a),!1):!0}Ni.prototype.write=function(t,e,r){var o=this._writableState,a=!1,n=!o.objectMode&&U1t(t);return n&&!lF.isBuffer(t)&&(t=M1t(t)),typeof e=="function"&&(r=e,e=null),n?e="buffer":e||(e=o.defaultEncoding),typeof r!="function"&&(r=z1t),o.ending?X1t(this,r):(n||Z1t(this,o,t,r))&&(o.pendingcb++,a=e2t(this,o,n,t,e,r)),a};Ni.prototype.cork=function(){this._writableState.corked++};Ni.prototype.uncork=function(){var t=this._writableState;t.corked&&(t.corked--,!t.writing&&!t.corked&&!t.bufferProcessing&&t.bufferedRequest&&P2e(this,t))};Ni.prototype.setDefaultEncoding=function(e){if(typeof e=="string"&&(e=e.toLowerCase()),!(["hex","utf8","utf-8","ascii","binary","base64","ucs2","ucs-2","utf16le","utf-16le","raw"].indexOf((e+"").toLowerCase())>-1))throw new J1t(e);return this._writableState.defaultEncoding=e,this};Object.defineProperty(Ni.prototype,"writableBuffer",{enumerable:!1,get:function(){return this._writableState&&this._writableState.getBuffer()}});function $1t(t,e,r){return!t.objectMode&&t.decodeStrings!==!1&&typeof e=="string"&&(e=lF.from(e,r)),e}Object.defineProperty(Ni.prototype,"writableHighWaterMark",{enumerable:!1,get:function(){return this._writableState.highWaterMark}});function e2t(t,e,r,o,a,n){if(!r){var u=$1t(e,o,a);o!==u&&(r=!0,a="buffer",o=u)}var A=e.objectMode?1:o.length;e.length+=A;var p=e.length<e.highWaterMark;if(p||(e.needDrain=!0),e.writing||e.corked){var h=e.lastBufferedRequest;e.lastBufferedRequest={chunk:o,encoding:a,isBuf:r,callback:n,next:null},h?h.next=e.lastBufferedRequest:e.bufferedRequest=e.lastBufferedRequest,e.bufferedRequestCount+=1}else g5(t,e,!1,A,o,a,n);return p}function g5(t,e,r,o,a,n,u){e.writelen=o,e.writecb=u,e.writing=!0,e.sync=!0,e.destroyed?e.onwrite(new Y1t("write")):r?t._writev(a,e.onwrite):t._write(a,n,e.onwrite),e.sync=!1}function t2t(t,e,r,o,a){--e.pendingcb,r?(process.nextTick(a,o),process.nextTick(Rv,t,e),t._writableState.errorEmitted=!0,MC(t,o)):(a(o),t._writableState.errorEmitted=!0,MC(t,o),Rv(t,e))}function r2t(t){t.writing=!1,t.writecb=null,t.length-=t.writelen,t.writelen=0}function n2t(t,e){var r=t._writableState,o=r.sync,a=r.writecb;if(typeof a!="function")throw new G1t;if(r2t(r),e)t2t(t,r,o,e,a);else{var n=S2e(r)||t.destroyed;!n&&!r.corked&&!r.bufferProcessing&&r.bufferedRequest&&P2e(t,r),o?process.nextTick(B2e,t,r,n,a):B2e(t,r,n,a)}}function B2e(t,e,r,o){r||i2t(t,e),e.pendingcb--,o(),Rv(t,e)}function i2t(t,e){e.length===0&&e.needDrain&&(e.needDrain=!1,t.emit("drain"))}function P2e(t,e){e.bufferProcessing=!0;var r=e.bufferedRequest;if(t._writev&&r&&r.next){var o=e.bufferedRequestCount,a=new Array(o),n=e.corkedRequestsFree;n.entry=r;for(var u=0,A=!0;r;)a[u]=r,r.isBuf||(A=!1),r=r.next,u+=1;a.allBuffers=A,g5(t,e,!0,e.length,a,"",n.finish),e.pendingcb++,e.lastBufferedRequest=null,n.next?(e.corkedRequestsFree=n.next,n.next=null):e.corkedRequestsFree=new v2e(e),e.bufferedRequestCount=0}else{for(;r;){var p=r.chunk,h=r.encoding,E=r.callback,w=e.objectMode?1:p.length;if(g5(t,e,!1,w,p,h,E),r=r.next,e.bufferedRequestCount--,e.writing)break}r===null&&(e.lastBufferedRequest=null)}e.bufferedRequest=r,e.bufferProcessing=!1}Ni.prototype._write=function(t,e,r){r(new j1t("_write()"))};Ni.prototype._writev=null;Ni.prototype.end=function(t,e,r){var o=this._writableState;return typeof t=="function"?(r=t,t=null,e=null):typeof e=="function"&&(r=e,e=null),t!=null&&this.write(t,e),o.corked&&(o.corked=1,this.uncork()),o.ending||a2t(this,o,r),this};Object.defineProperty(Ni.prototype,"writableLength",{enumerable:!1,get:function(){return this._writableState.length}});function S2e(t){return t.ending&&t.length===0&&t.bufferedRequest===null&&!t.finished&&!t.writing}function s2t(t,e){t._final(function(r){e.pendingcb--,r&&MC(t,r),e.prefinished=!0,t.emit("prefinish"),Rv(t,e)})}function o2t(t,e){!e.prefinished&&!e.finalCalled&&(typeof t._final=="function"&&!e.destroyed?(e.pendingcb++,e.finalCalled=!0,process.nextTick(s2t,t,e)):(e.prefinished=!0,t.emit("prefinish")))}function Rv(t,e){var r=S2e(e);if(r&&(o2t(t,e),e.pendingcb===0&&(e.finished=!0,t.emit("finish"),e.autoDestroy))){var o=t._readableState;(!o||o.autoDestroy&&o.endEmitted)&&t.destroy()}return r}function a2t(t,e,r){e.ending=!0,Rv(t,e),r&&(e.finished?process.nextTick(r):t.once("finish",r)),e.ended=!0,t.writable=!1}function l2t(t,e,r){var o=t.entry;for(t.entry=null;o;){var a=o.callback;e.pendingcb--,a(r),o=o.next}e.corkedRequestsFree.next=t}Object.defineProperty(Ni.prototype,"destroyed",{enumerable:!1,get:function(){return this._writableState===void 0?!1:this._writableState.destroyed},set:function(e){this._writableState&&(this._writableState.destroyed=e)}});Ni.prototype.destroy=d5.destroy;Ni.prototype._undestroy=d5.undestroy;Ni.prototype._destroy=function(t,e){e(t)}});var dd=_((n$t,k2e)=>{"use strict";var c2t=Object.keys||function(t){var e=[];for(var r in t)e.push(r);return e};k2e.exports=IA;var x2e=C5(),E5=m5();zh()(IA,x2e);for(y5=c2t(E5.prototype),cF=0;cF<y5.length;cF++)uF=y5[cF],IA.prototype[uF]||(IA.prototype[uF]=E5.prototype[uF]);var y5,uF,cF;function IA(t){if(!(this instanceof IA))return new IA(t);x2e.call(this,t),E5.call(this,t),this.allowHalfOpen=!0,t&&(t.readable===!1&&(this.readable=!1),t.writable===!1&&(this.writable=!1),t.allowHalfOpen===!1&&(this.allowHalfOpen=!1,this.once("end",u2t)))}Object.defineProperty(IA.prototype,"writableHighWaterMark",{enumerable:!1,get:function(){return this._writableState.highWaterMark}});Object.defineProperty(IA.prototype,"writableBuffer",{enumerable:!1,get:function(){return this._writableState&&this._writableState.getBuffer()}});Object.defineProperty(IA.prototype,"writableLength",{enumerable:!1,get:function(){return this._writableState.length}});function u2t(){this._writableState.ended||process.nextTick(A2t,this)}function A2t(t){t.end()}Object.defineProperty(IA.prototype,"destroyed",{enumerable:!1,get:function(){return this._readableState===void 0||this._writableState===void 0?!1:this._readableState.destroyed&&this._writableState.destroyed},set:function(e){this._readableState===void 0||this._writableState===void 0||(this._readableState.destroyed=e,this._writableState.destroyed=e)}})});var R2e=_((I5,F2e)=>{var AF=ve("buffer"),np=AF.Buffer;function Q2e(t,e){for(var r in t)e[r]=t[r]}np.from&&np.alloc&&np.allocUnsafe&&np.allocUnsafeSlow?F2e.exports=AF:(Q2e(AF,I5),I5.Buffer=UC);function UC(t,e,r){return np(t,e,r)}Q2e(np,UC);UC.from=function(t,e,r){if(typeof t=="number")throw new TypeError("Argument must not be a number");return np(t,e,r)};UC.alloc=function(t,e,r){if(typeof t!="number")throw new TypeError("Argument must be a number");var o=np(t);return e!==void 0?typeof r=="string"?o.fill(e,r):o.fill(e):o.fill(0),o};UC.allocUnsafe=function(t){if(typeof t!="number")throw new TypeError("Argument must be a number");return np(t)};UC.allocUnsafeSlow=function(t){if(typeof t!="number")throw new TypeError("Argument must be a number");return AF.SlowBuffer(t)}});var v5=_(N2e=>{"use strict";var B5=R2e().Buffer,T2e=B5.isEncoding||function(t){switch(t=""+t,t&&t.toLowerCase()){case"hex":case"utf8":case"utf-8":case"ascii":case"binary":case"base64":case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":case"raw":return!0;default:return!1}};function f2t(t){if(!t)return"utf8";for(var e;;)switch(t){case"utf8":case"utf-8":return"utf8";case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return"utf16le";case"latin1":case"binary":return"latin1";case"base64":case"ascii":case"hex":return t;default:if(e)return;t=(""+t).toLowerCase(),e=!0}}function p2t(t){var e=f2t(t);if(typeof e!="string"&&(B5.isEncoding===T2e||!T2e(t)))throw new Error("Unknown encoding: "+t);return e||t}N2e.StringDecoder=Nv;function Nv(t){this.encoding=p2t(t);var e;switch(this.encoding){case"utf16le":this.text=E2t,this.end=C2t,e=4;break;case"utf8":this.fillLast=d2t,e=4;break;case"base64":this.text=I2t,this.end=w2t,e=3;break;default:this.write=B2t,this.end=v2t;return}this.lastNeed=0,this.lastTotal=0,this.lastChar=B5.allocUnsafe(e)}Nv.prototype.write=function(t){if(t.length===0)return"";var e,r;if(this.lastNeed){if(e=this.fillLast(t),e===void 0)return"";r=this.lastNeed,this.lastNeed=0}else r=0;return r<t.length?e?e+this.text(t,r):this.text(t,r):e||""};Nv.prototype.end=y2t;Nv.prototype.text=m2t;Nv.prototype.fillLast=function(t){if(this.lastNeed<=t.length)return t.copy(this.lastChar,this.lastTotal-this.lastNeed,0,this.lastNeed),this.lastChar.toString(this.encoding,0,this.lastTotal);t.copy(this.lastChar,this.lastTotal-this.lastNeed,0,t.length),this.lastNeed-=t.length};function w5(t){return t<=127?0:t>>5===6?2:t>>4===14?3:t>>3===30?4:t>>6===2?-1:-2}function h2t(t,e,r){var o=e.length-1;if(o<r)return 0;var a=w5(e[o]);return a>=0?(a>0&&(t.lastNeed=a-1),a):--o<r||a===-2?0:(a=w5(e[o]),a>=0?(a>0&&(t.lastNeed=a-2),a):--o<r||a===-2?0:(a=w5(e[o]),a>=0?(a>0&&(a===2?a=0:t.lastNeed=a-3),a):0))}function g2t(t,e,r){if((e[0]&192)!==128)return t.lastNeed=0,"\uFFFD";if(t.lastNeed>1&&e.length>1){if((e[1]&192)!==128)return t.lastNeed=1,"\uFFFD";if(t.lastNeed>2&&e.length>2&&(e[2]&192)!==128)return t.lastNeed=2,"\uFFFD"}}function d2t(t){var e=this.lastTotal-this.lastNeed,r=g2t(this,t,e);if(r!==void 0)return r;if(this.lastNeed<=t.length)return t.copy(this.lastChar,e,0,this.lastNeed),this.lastChar.toString(this.encoding,0,this.lastTotal);t.copy(this.lastChar,e,0,t.length),this.lastNeed-=t.length}function m2t(t,e){var r=h2t(this,t,e);if(!this.lastNeed)return t.toString("utf8",e);this.lastTotal=r;var o=t.length-(r-this.lastNeed);return t.copy(this.lastChar,0,o),t.toString("utf8",e,o)}function y2t(t){var e=t&&t.length?this.write(t):"";return this.lastNeed?e+"\uFFFD":e}function E2t(t,e){if((t.length-e)%2===0){var r=t.toString("utf16le",e);if(r){var o=r.charCodeAt(r.length-1);if(o>=55296&&o<=56319)return this.lastNeed=2,this.lastTotal=4,this.lastChar[0]=t[t.length-2],this.lastChar[1]=t[t.length-1],r.slice(0,-1)}return r}return this.lastNeed=1,this.lastTotal=2,this.lastChar[0]=t[t.length-1],t.toString("utf16le",e,t.length-1)}function C2t(t){var e=t&&t.length?this.write(t):"";if(this.lastNeed){var r=this.lastTotal-this.lastNeed;return e+this.lastChar.toString("utf16le",0,r)}return e}function I2t(t,e){var r=(t.length-e)%3;return r===0?t.toString("base64",e):(this.lastNeed=3-r,this.lastTotal=3,r===1?this.lastChar[0]=t[t.length-1]:(this.lastChar[0]=t[t.length-2],this.lastChar[1]=t[t.length-1]),t.toString("base64",e,t.length-r))}function w2t(t){var e=t&&t.length?this.write(t):"";return this.lastNeed?e+this.lastChar.toString("base64",0,3-this.lastNeed):e}function B2t(t){return t.toString(this.encoding)}function v2t(t){return t&&t.length?this.write(t):""}});var fF=_((s$t,M2e)=>{"use strict";var L2e=Jh().codes.ERR_STREAM_PREMATURE_CLOSE;function D2t(t){var e=!1;return function(){if(!e){e=!0;for(var r=arguments.length,o=new Array(r),a=0;a<r;a++)o[a]=arguments[a];t.apply(this,o)}}}function P2t(){}function S2t(t){return t.setHeader&&typeof t.abort=="function"}function O2e(t,e,r){if(typeof e=="function")return O2e(t,null,e);e||(e={}),r=D2t(r||P2t);var o=e.readable||e.readable!==!1&&t.readable,a=e.writable||e.writable!==!1&&t.writable,n=function(){t.writable||A()},u=t._writableState&&t._writableState.finished,A=function(){a=!1,u=!0,o||r.call(t)},p=t._readableState&&t._readableState.endEmitted,h=function(){o=!1,p=!0,a||r.call(t)},E=function(C){r.call(t,C)},w=function(){var C;if(o&&!p)return(!t._readableState||!t._readableState.ended)&&(C=new L2e),r.call(t,C);if(a&&!u)return(!t._writableState||!t._writableState.ended)&&(C=new L2e),r.call(t,C)},D=function(){t.req.on("finish",A)};return S2t(t)?(t.on("complete",A),t.on("abort",w),t.req?D():t.on("request",D)):a&&!t._writableState&&(t.on("end",n),t.on("close",n)),t.on("end",h),t.on("finish",A),e.error!==!1&&t.on("error",E),t.on("close",w),function(){t.removeListener("complete",A),t.removeListener("abort",w),t.removeListener("request",D),t.req&&t.req.removeListener("finish",A),t.removeListener("end",n),t.removeListener("close",n),t.removeListener("finish",A),t.removeListener("end",h),t.removeListener("error",E),t.removeListener("close",w)}}M2e.exports=O2e});var _2e=_((o$t,U2e)=>{"use strict";var pF;function Zh(t,e,r){return e in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}var b2t=fF(),$h=Symbol("lastResolve"),md=Symbol("lastReject"),Lv=Symbol("error"),hF=Symbol("ended"),yd=Symbol("lastPromise"),D5=Symbol("handlePromise"),Ed=Symbol("stream");function e0(t,e){return{value:t,done:e}}function x2t(t){var e=t[$h];if(e!==null){var r=t[Ed].read();r!==null&&(t[yd]=null,t[$h]=null,t[md]=null,e(e0(r,!1)))}}function k2t(t){process.nextTick(x2t,t)}function Q2t(t,e){return function(r,o){t.then(function(){if(e[hF]){r(e0(void 0,!0));return}e[D5](r,o)},o)}}var F2t=Object.getPrototypeOf(function(){}),R2t=Object.setPrototypeOf((pF={get stream(){return this[Ed]},next:function(){var e=this,r=this[Lv];if(r!==null)return Promise.reject(r);if(this[hF])return Promise.resolve(e0(void 0,!0));if(this[Ed].destroyed)return new Promise(function(u,A){process.nextTick(function(){e[Lv]?A(e[Lv]):u(e0(void 0,!0))})});var o=this[yd],a;if(o)a=new Promise(Q2t(o,this));else{var n=this[Ed].read();if(n!==null)return Promise.resolve(e0(n,!1));a=new Promise(this[D5])}return this[yd]=a,a}},Zh(pF,Symbol.asyncIterator,function(){return this}),Zh(pF,"return",function(){var e=this;return new Promise(function(r,o){e[Ed].destroy(null,function(a){if(a){o(a);return}r(e0(void 0,!0))})})}),pF),F2t),T2t=function(e){var r,o=Object.create(R2t,(r={},Zh(r,Ed,{value:e,writable:!0}),Zh(r,$h,{value:null,writable:!0}),Zh(r,md,{value:null,writable:!0}),Zh(r,Lv,{value:null,writable:!0}),Zh(r,hF,{value:e._readableState.endEmitted,writable:!0}),Zh(r,D5,{value:function(n,u){var A=o[Ed].read();A?(o[yd]=null,o[$h]=null,o[md]=null,n(e0(A,!1))):(o[$h]=n,o[md]=u)},writable:!0}),r));return o[yd]=null,b2t(e,function(a){if(a&&a.code!=="ERR_STREAM_PREMATURE_CLOSE"){var n=o[md];n!==null&&(o[yd]=null,o[$h]=null,o[md]=null,n(a)),o[Lv]=a;return}var u=o[$h];u!==null&&(o[yd]=null,o[$h]=null,o[md]=null,u(e0(void 0,!0))),o[hF]=!0}),e.on("readable",k2t.bind(null,o)),o};U2e.exports=T2t});var G2e=_((a$t,j2e)=>{"use strict";function H2e(t,e,r,o,a,n,u){try{var A=t[n](u),p=A.value}catch(h){r(h);return}A.done?e(p):Promise.resolve(p).then(o,a)}function N2t(t){return function(){var e=this,r=arguments;return new Promise(function(o,a){var n=t.apply(e,r);function u(p){H2e(n,o,a,u,A,"next",p)}function A(p){H2e(n,o,a,u,A,"throw",p)}u(void 0)})}}function q2e(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(t);e&&(o=o.filter(function(a){return Object.getOwnPropertyDescriptor(t,a).enumerable})),r.push.apply(r,o)}return r}function L2t(t){for(var e=1;e<arguments.length;e++){var r=arguments[e]!=null?arguments[e]:{};e%2?q2e(Object(r),!0).forEach(function(o){O2t(t,o,r[o])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(r)):q2e(Object(r)).forEach(function(o){Object.defineProperty(t,o,Object.getOwnPropertyDescriptor(r,o))})}return t}function O2t(t,e,r){return e in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}var M2t=Jh().codes.ERR_INVALID_ARG_TYPE;function U2t(t,e,r){var o;if(e&&typeof e.next=="function")o=e;else if(e&&e[Symbol.asyncIterator])o=e[Symbol.asyncIterator]();else if(e&&e[Symbol.iterator])o=e[Symbol.iterator]();else throw new M2t("iterable",["Iterable"],e);var a=new t(L2t({objectMode:!0},r)),n=!1;a._read=function(){n||(n=!0,u())};function u(){return A.apply(this,arguments)}function A(){return A=N2t(function*(){try{var p=yield o.next(),h=p.value,E=p.done;E?a.push(null):a.push(yield h)?u():n=!1}catch(w){a.destroy(w)}}),A.apply(this,arguments)}return a}j2e.exports=U2t});var C5=_((c$t,eBe)=>{"use strict";eBe.exports=wn;var _C;wn.ReadableState=V2e;var l$t=ve("events").EventEmitter,K2e=function(e,r){return e.listeners(r).length},Mv=a5(),gF=ve("buffer").Buffer,_2t=global.Uint8Array||function(){};function H2t(t){return gF.from(t)}function q2t(t){return gF.isBuffer(t)||t instanceof _2t}var P5=ve("util"),tn;P5&&P5.debuglog?tn=P5.debuglog("stream"):tn=function(){};var j2t=p2e(),R5=u5(),G2t=A5(),W2t=G2t.getHighWaterMark,dF=Jh().codes,Y2t=dF.ERR_INVALID_ARG_TYPE,K2t=dF.ERR_STREAM_PUSH_AFTER_EOF,V2t=dF.ERR_METHOD_NOT_IMPLEMENTED,J2t=dF.ERR_STREAM_UNSHIFT_AFTER_END_EVENT,HC,S5,b5;zh()(wn,Mv);var Ov=R5.errorOrDestroy,x5=["error","close","destroy","pause","resume"];function z2t(t,e,r){if(typeof t.prependListener=="function")return t.prependListener(e,r);!t._events||!t._events[e]?t.on(e,r):Array.isArray(t._events[e])?t._events[e].unshift(r):t._events[e]=[r,t._events[e]]}function V2e(t,e,r){_C=_C||dd(),t=t||{},typeof r!="boolean"&&(r=e instanceof _C),this.objectMode=!!t.objectMode,r&&(this.objectMode=this.objectMode||!!t.readableObjectMode),this.highWaterMark=W2t(this,t,"readableHighWaterMark",r),this.buffer=new j2t,this.length=0,this.pipes=null,this.pipesCount=0,this.flowing=null,this.ended=!1,this.endEmitted=!1,this.reading=!1,this.sync=!0,this.needReadable=!1,this.emittedReadable=!1,this.readableListening=!1,this.resumeScheduled=!1,this.paused=!0,this.emitClose=t.emitClose!==!1,this.autoDestroy=!!t.autoDestroy,this.destroyed=!1,this.defaultEncoding=t.defaultEncoding||"utf8",this.awaitDrain=0,this.readingMore=!1,this.decoder=null,this.encoding=null,t.encoding&&(HC||(HC=v5().StringDecoder),this.decoder=new HC(t.encoding),this.encoding=t.encoding)}function wn(t){if(_C=_C||dd(),!(this instanceof wn))return new wn(t);var e=this instanceof _C;this._readableState=new V2e(t,this,e),this.readable=!0,t&&(typeof t.read=="function"&&(this._read=t.read),typeof t.destroy=="function"&&(this._destroy=t.destroy)),Mv.call(this)}Object.defineProperty(wn.prototype,"destroyed",{enumerable:!1,get:function(){return this._readableState===void 0?!1:this._readableState.destroyed},set:function(e){this._readableState&&(this._readableState.destroyed=e)}});wn.prototype.destroy=R5.destroy;wn.prototype._undestroy=R5.undestroy;wn.prototype._destroy=function(t,e){e(t)};wn.prototype.push=function(t,e){var r=this._readableState,o;return r.objectMode?o=!0:typeof t=="string"&&(e=e||r.defaultEncoding,e!==r.encoding&&(t=gF.from(t,e),e=""),o=!0),J2e(this,t,e,!1,o)};wn.prototype.unshift=function(t){return J2e(this,t,null,!0,!1)};function J2e(t,e,r,o,a){tn("readableAddChunk",e);var n=t._readableState;if(e===null)n.reading=!1,$2t(t,n);else{var u;if(a||(u=X2t(n,e)),u)Ov(t,u);else if(n.objectMode||e&&e.length>0)if(typeof e!="string"&&!n.objectMode&&Object.getPrototypeOf(e)!==gF.prototype&&(e=H2t(e)),o)n.endEmitted?Ov(t,new J2t):k5(t,n,e,!0);else if(n.ended)Ov(t,new K2t);else{if(n.destroyed)return!1;n.reading=!1,n.decoder&&!r?(e=n.decoder.write(e),n.objectMode||e.length!==0?k5(t,n,e,!1):F5(t,n)):k5(t,n,e,!1)}else o||(n.reading=!1,F5(t,n))}return!n.ended&&(n.length<n.highWaterMark||n.length===0)}function k5(t,e,r,o){e.flowing&&e.length===0&&!e.sync?(e.awaitDrain=0,t.emit("data",r)):(e.length+=e.objectMode?1:r.length,o?e.buffer.unshift(r):e.buffer.push(r),e.needReadable&&mF(t)),F5(t,e)}function X2t(t,e){var r;return!q2t(e)&&typeof e!="string"&&e!==void 0&&!t.objectMode&&(r=new Y2t("chunk",["string","Buffer","Uint8Array"],e)),r}wn.prototype.isPaused=function(){return this._readableState.flowing===!1};wn.prototype.setEncoding=function(t){HC||(HC=v5().StringDecoder);var e=new HC(t);this._readableState.decoder=e,this._readableState.encoding=this._readableState.decoder.encoding;for(var r=this._readableState.buffer.head,o="";r!==null;)o+=e.write(r.data),r=r.next;return this._readableState.buffer.clear(),o!==""&&this._readableState.buffer.push(o),this._readableState.length=o.length,this};var W2e=1073741824;function Z2t(t){return t>=W2e?t=W2e:(t--,t|=t>>>1,t|=t>>>2,t|=t>>>4,t|=t>>>8,t|=t>>>16,t++),t}function Y2e(t,e){return t<=0||e.length===0&&e.ended?0:e.objectMode?1:t!==t?e.flowing&&e.length?e.buffer.head.data.length:e.length:(t>e.highWaterMark&&(e.highWaterMark=Z2t(t)),t<=e.length?t:e.ended?e.length:(e.needReadable=!0,0))}wn.prototype.read=function(t){tn("read",t),t=parseInt(t,10);var e=this._readableState,r=t;if(t!==0&&(e.emittedReadable=!1),t===0&&e.needReadable&&((e.highWaterMark!==0?e.length>=e.highWaterMark:e.length>0)||e.ended))return tn("read: emitReadable",e.length,e.ended),e.length===0&&e.ended?Q5(this):mF(this),null;if(t=Y2e(t,e),t===0&&e.ended)return e.length===0&&Q5(this),null;var o=e.needReadable;tn("need readable",o),(e.length===0||e.length-t<e.highWaterMark)&&(o=!0,tn("length less than watermark",o)),e.ended||e.reading?(o=!1,tn("reading or ended",o)):o&&(tn("do read"),e.reading=!0,e.sync=!0,e.length===0&&(e.needReadable=!0),this._read(e.highWaterMark),e.sync=!1,e.reading||(t=Y2e(r,e)));var a;return t>0?a=Z2e(t,e):a=null,a===null?(e.needReadable=e.length<=e.highWaterMark,t=0):(e.length-=t,e.awaitDrain=0),e.length===0&&(e.ended||(e.needReadable=!0),r!==t&&e.ended&&Q5(this)),a!==null&&this.emit("data",a),a};function $2t(t,e){if(tn("onEofChunk"),!e.ended){if(e.decoder){var r=e.decoder.end();r&&r.length&&(e.buffer.push(r),e.length+=e.objectMode?1:r.length)}e.ended=!0,e.sync?mF(t):(e.needReadable=!1,e.emittedReadable||(e.emittedReadable=!0,z2e(t)))}}function mF(t){var e=t._readableState;tn("emitReadable",e.needReadable,e.emittedReadable),e.needReadable=!1,e.emittedReadable||(tn("emitReadable",e.flowing),e.emittedReadable=!0,process.nextTick(z2e,t))}function z2e(t){var e=t._readableState;tn("emitReadable_",e.destroyed,e.length,e.ended),!e.destroyed&&(e.length||e.ended)&&(t.emit("readable"),e.emittedReadable=!1),e.needReadable=!e.flowing&&!e.ended&&e.length<=e.highWaterMark,T5(t)}function F5(t,e){e.readingMore||(e.readingMore=!0,process.nextTick(eBt,t,e))}function eBt(t,e){for(;!e.reading&&!e.ended&&(e.length<e.highWaterMark||e.flowing&&e.length===0);){var r=e.length;if(tn("maybeReadMore read 0"),t.read(0),r===e.length)break}e.readingMore=!1}wn.prototype._read=function(t){Ov(this,new V2t("_read()"))};wn.prototype.pipe=function(t,e){var r=this,o=this._readableState;switch(o.pipesCount){case 0:o.pipes=t;break;case 1:o.pipes=[o.pipes,t];break;default:o.pipes.push(t);break}o.pipesCount+=1,tn("pipe count=%d opts=%j",o.pipesCount,e);var a=(!e||e.end!==!1)&&t!==process.stdout&&t!==process.stderr,n=a?A:T;o.endEmitted?process.nextTick(n):r.once("end",n),t.on("unpipe",u);function u(L,U){tn("onunpipe"),L===r&&U&&U.hasUnpiped===!1&&(U.hasUnpiped=!0,E())}function A(){tn("onend"),t.end()}var p=tBt(r);t.on("drain",p);var h=!1;function E(){tn("cleanup"),t.removeListener("close",x),t.removeListener("finish",C),t.removeListener("drain",p),t.removeListener("error",D),t.removeListener("unpipe",u),r.removeListener("end",A),r.removeListener("end",T),r.removeListener("data",w),h=!0,o.awaitDrain&&(!t._writableState||t._writableState.needDrain)&&p()}r.on("data",w);function w(L){tn("ondata");var U=t.write(L);tn("dest.write",U),U===!1&&((o.pipesCount===1&&o.pipes===t||o.pipesCount>1&&$2e(o.pipes,t)!==-1)&&!h&&(tn("false write response, pause",o.awaitDrain),o.awaitDrain++),r.pause())}function D(L){tn("onerror",L),T(),t.removeListener("error",D),K2e(t,"error")===0&&Ov(t,L)}z2t(t,"error",D);function x(){t.removeListener("finish",C),T()}t.once("close",x);function C(){tn("onfinish"),t.removeListener("close",x),T()}t.once("finish",C);function T(){tn("unpipe"),r.unpipe(t)}return t.emit("pipe",r),o.flowing||(tn("pipe resume"),r.resume()),t};function tBt(t){return function(){var r=t._readableState;tn("pipeOnDrain",r.awaitDrain),r.awaitDrain&&r.awaitDrain--,r.awaitDrain===0&&K2e(t,"data")&&(r.flowing=!0,T5(t))}}wn.prototype.unpipe=function(t){var e=this._readableState,r={hasUnpiped:!1};if(e.pipesCount===0)return this;if(e.pipesCount===1)return t&&t!==e.pipes?this:(t||(t=e.pipes),e.pipes=null,e.pipesCount=0,e.flowing=!1,t&&t.emit("unpipe",this,r),this);if(!t){var o=e.pipes,a=e.pipesCount;e.pipes=null,e.pipesCount=0,e.flowing=!1;for(var n=0;n<a;n++)o[n].emit("unpipe",this,{hasUnpiped:!1});return this}var u=$2e(e.pipes,t);return u===-1?this:(e.pipes.splice(u,1),e.pipesCount-=1,e.pipesCount===1&&(e.pipes=e.pipes[0]),t.emit("unpipe",this,r),this)};wn.prototype.on=function(t,e){var r=Mv.prototype.on.call(this,t,e),o=this._readableState;return t==="data"?(o.readableListening=this.listenerCount("readable")>0,o.flowing!==!1&&this.resume()):t==="readable"&&!o.endEmitted&&!o.readableListening&&(o.readableListening=o.needReadable=!0,o.flowing=!1,o.emittedReadable=!1,tn("on readable",o.length,o.reading),o.length?mF(this):o.reading||process.nextTick(rBt,this)),r};wn.prototype.addListener=wn.prototype.on;wn.prototype.removeListener=function(t,e){var r=Mv.prototype.removeListener.call(this,t,e);return t==="readable"&&process.nextTick(X2e,this),r};wn.prototype.removeAllListeners=function(t){var e=Mv.prototype.removeAllListeners.apply(this,arguments);return(t==="readable"||t===void 0)&&process.nextTick(X2e,this),e};function X2e(t){var e=t._readableState;e.readableListening=t.listenerCount("readable")>0,e.resumeScheduled&&!e.paused?e.flowing=!0:t.listenerCount("data")>0&&t.resume()}function rBt(t){tn("readable nexttick read 0"),t.read(0)}wn.prototype.resume=function(){var t=this._readableState;return t.flowing||(tn("resume"),t.flowing=!t.readableListening,nBt(this,t)),t.paused=!1,this};function nBt(t,e){e.resumeScheduled||(e.resumeScheduled=!0,process.nextTick(iBt,t,e))}function iBt(t,e){tn("resume",e.reading),e.reading||t.read(0),e.resumeScheduled=!1,t.emit("resume"),T5(t),e.flowing&&!e.reading&&t.read(0)}wn.prototype.pause=function(){return tn("call pause flowing=%j",this._readableState.flowing),this._readableState.flowing!==!1&&(tn("pause"),this._readableState.flowing=!1,this.emit("pause")),this._readableState.paused=!0,this};function T5(t){var e=t._readableState;for(tn("flow",e.flowing);e.flowing&&t.read()!==null;);}wn.prototype.wrap=function(t){var e=this,r=this._readableState,o=!1;t.on("end",function(){if(tn("wrapped end"),r.decoder&&!r.ended){var u=r.decoder.end();u&&u.length&&e.push(u)}e.push(null)}),t.on("data",function(u){if(tn("wrapped data"),r.decoder&&(u=r.decoder.write(u)),!(r.objectMode&&u==null)&&!(!r.objectMode&&(!u||!u.length))){var A=e.push(u);A||(o=!0,t.pause())}});for(var a in t)this[a]===void 0&&typeof t[a]=="function"&&(this[a]=function(A){return function(){return t[A].apply(t,arguments)}}(a));for(var n=0;n<x5.length;n++)t.on(x5[n],this.emit.bind(this,x5[n]));return this._read=function(u){tn("wrapped _read",u),o&&(o=!1,t.resume())},this};typeof Symbol=="function"&&(wn.prototype[Symbol.asyncIterator]=function(){return S5===void 0&&(S5=_2e()),S5(this)});Object.defineProperty(wn.prototype,"readableHighWaterMark",{enumerable:!1,get:function(){return this._readableState.highWaterMark}});Object.defineProperty(wn.prototype,"readableBuffer",{enumerable:!1,get:function(){return this._readableState&&this._readableState.buffer}});Object.defineProperty(wn.prototype,"readableFlowing",{enumerable:!1,get:function(){return this._readableState.flowing},set:function(e){this._readableState&&(this._readableState.flowing=e)}});wn._fromList=Z2e;Object.defineProperty(wn.prototype,"readableLength",{enumerable:!1,get:function(){return this._readableState.length}});function Z2e(t,e){if(e.length===0)return null;var r;return e.objectMode?r=e.buffer.shift():!t||t>=e.length?(e.decoder?r=e.buffer.join(""):e.buffer.length===1?r=e.buffer.first():r=e.buffer.concat(e.length),e.buffer.clear()):r=e.buffer.consume(t,e.decoder),r}function Q5(t){var e=t._readableState;tn("endReadable",e.endEmitted),e.endEmitted||(e.ended=!0,process.nextTick(sBt,e,t))}function sBt(t,e){if(tn("endReadableNT",t.endEmitted,t.length),!t.endEmitted&&t.length===0&&(t.endEmitted=!0,e.readable=!1,e.emit("end"),t.autoDestroy)){var r=e._writableState;(!r||r.autoDestroy&&r.finished)&&e.destroy()}}typeof Symbol=="function"&&(wn.from=function(t,e){return b5===void 0&&(b5=G2e()),b5(wn,t,e)});function $2e(t,e){for(var r=0,o=t.length;r<o;r++)if(t[r]===e)return r;return-1}});var N5=_((u$t,rBe)=>{"use strict";rBe.exports=ip;var yF=Jh().codes,oBt=yF.ERR_METHOD_NOT_IMPLEMENTED,aBt=yF.ERR_MULTIPLE_CALLBACK,lBt=yF.ERR_TRANSFORM_ALREADY_TRANSFORMING,cBt=yF.ERR_TRANSFORM_WITH_LENGTH_0,EF=dd();zh()(ip,EF);function uBt(t,e){var r=this._transformState;r.transforming=!1;var o=r.writecb;if(o===null)return this.emit("error",new aBt);r.writechunk=null,r.writecb=null,e!=null&&this.push(e),o(t);var a=this._readableState;a.reading=!1,(a.needReadable||a.length<a.highWaterMark)&&this._read(a.highWaterMark)}function ip(t){if(!(this instanceof ip))return new ip(t);EF.call(this,t),this._transformState={afterTransform:uBt.bind(this),needTransform:!1,transforming:!1,writecb:null,writechunk:null,writeencoding:null},this._readableState.needReadable=!0,this._readableState.sync=!1,t&&(typeof t.transform=="function"&&(this._transform=t.transform),typeof t.flush=="function"&&(this._flush=t.flush)),this.on("prefinish",ABt)}function ABt(){var t=this;typeof this._flush=="function"&&!this._readableState.destroyed?this._flush(function(e,r){tBe(t,e,r)}):tBe(this,null,null)}ip.prototype.push=function(t,e){return this._transformState.needTransform=!1,EF.prototype.push.call(this,t,e)};ip.prototype._transform=function(t,e,r){r(new oBt("_transform()"))};ip.prototype._write=function(t,e,r){var o=this._transformState;if(o.writecb=r,o.writechunk=t,o.writeencoding=e,!o.transforming){var a=this._readableState;(o.needTransform||a.needReadable||a.length<a.highWaterMark)&&this._read(a.highWaterMark)}};ip.prototype._read=function(t){var e=this._transformState;e.writechunk!==null&&!e.transforming?(e.transforming=!0,this._transform(e.writechunk,e.writeencoding,e.afterTransform)):e.needTransform=!0};ip.prototype._destroy=function(t,e){EF.prototype._destroy.call(this,t,function(r){e(r)})};function tBe(t,e,r){if(e)return t.emit("error",e);if(r!=null&&t.push(r),t._writableState.length)throw new cBt;if(t._transformState.transforming)throw new lBt;return t.push(null)}});var sBe=_((A$t,iBe)=>{"use strict";iBe.exports=Uv;var nBe=N5();zh()(Uv,nBe);function Uv(t){if(!(this instanceof Uv))return new Uv(t);nBe.call(this,t)}Uv.prototype._transform=function(t,e,r){r(null,t)}});var uBe=_((f$t,cBe)=>{"use strict";var L5;function fBt(t){var e=!1;return function(){e||(e=!0,t.apply(void 0,arguments))}}var lBe=Jh().codes,pBt=lBe.ERR_MISSING_ARGS,hBt=lBe.ERR_STREAM_DESTROYED;function oBe(t){if(t)throw t}function gBt(t){return t.setHeader&&typeof t.abort=="function"}function dBt(t,e,r,o){o=fBt(o);var a=!1;t.on("close",function(){a=!0}),L5===void 0&&(L5=fF()),L5(t,{readable:e,writable:r},function(u){if(u)return o(u);a=!0,o()});var n=!1;return function(u){if(!a&&!n){if(n=!0,gBt(t))return t.abort();if(typeof t.destroy=="function")return t.destroy();o(u||new hBt("pipe"))}}}function aBe(t){t()}function mBt(t,e){return t.pipe(e)}function yBt(t){return!t.length||typeof t[t.length-1]!="function"?oBe:t.pop()}function EBt(){for(var t=arguments.length,e=new Array(t),r=0;r<t;r++)e[r]=arguments[r];var o=yBt(e);if(Array.isArray(e[0])&&(e=e[0]),e.length<2)throw new pBt("streams");var a,n=e.map(function(u,A){var p=A<e.length-1,h=A>0;return dBt(u,p,h,function(E){a||(a=E),E&&n.forEach(aBe),!p&&(n.forEach(aBe),o(a))})});return e.reduce(mBt)}cBe.exports=EBt});var qC=_((fc,Hv)=>{var _v=ve("stream");process.env.READABLE_STREAM==="disable"&&_v?(Hv.exports=_v.Readable,Object.assign(Hv.exports,_v),Hv.exports.Stream=_v):(fc=Hv.exports=C5(),fc.Stream=_v||fc,fc.Readable=fc,fc.Writable=m5(),fc.Duplex=dd(),fc.Transform=N5(),fc.PassThrough=sBe(),fc.finished=fF(),fc.pipeline=uBe())});var pBe=_((p$t,fBe)=>{"use strict";var{Buffer:hu}=ve("buffer"),ABe=Symbol.for("BufferList");function fi(t){if(!(this instanceof fi))return new fi(t);fi._init.call(this,t)}fi._init=function(e){Object.defineProperty(this,ABe,{value:!0}),this._bufs=[],this.length=0,e&&this.append(e)};fi.prototype._new=function(e){return new fi(e)};fi.prototype._offset=function(e){if(e===0)return[0,0];let r=0;for(let o=0;o<this._bufs.length;o++){let a=r+this._bufs[o].length;if(e<a||o===this._bufs.length-1)return[o,e-r];r=a}};fi.prototype._reverseOffset=function(t){let e=t[0],r=t[1];for(let o=0;o<e;o++)r+=this._bufs[o].length;return r};fi.prototype.get=function(e){if(e>this.length||e<0)return;let r=this._offset(e);return this._bufs[r[0]][r[1]]};fi.prototype.slice=function(e,r){return typeof e=="number"&&e<0&&(e+=this.length),typeof r=="number"&&r<0&&(r+=this.length),this.copy(null,0,e,r)};fi.prototype.copy=function(e,r,o,a){if((typeof o!="number"||o<0)&&(o=0),(typeof a!="number"||a>this.length)&&(a=this.length),o>=this.length||a<=0)return e||hu.alloc(0);let n=!!e,u=this._offset(o),A=a-o,p=A,h=n&&r||0,E=u[1];if(o===0&&a===this.length){if(!n)return this._bufs.length===1?this._bufs[0]:hu.concat(this._bufs,this.length);for(let w=0;w<this._bufs.length;w++)this._bufs[w].copy(e,h),h+=this._bufs[w].length;return e}if(p<=this._bufs[u[0]].length-E)return n?this._bufs[u[0]].copy(e,r,E,E+p):this._bufs[u[0]].slice(E,E+p);n||(e=hu.allocUnsafe(A));for(let w=u[0];w<this._bufs.length;w++){let D=this._bufs[w].length-E;if(p>D)this._bufs[w].copy(e,h,E),h+=D;else{this._bufs[w].copy(e,h,E,E+p),h+=D;break}p-=D,E&&(E=0)}return e.length>h?e.slice(0,h):e};fi.prototype.shallowSlice=function(e,r){if(e=e||0,r=typeof r!="number"?this.length:r,e<0&&(e+=this.length),r<0&&(r+=this.length),e===r)return this._new();let o=this._offset(e),a=this._offset(r),n=this._bufs.slice(o[0],a[0]+1);return a[1]===0?n.pop():n[n.length-1]=n[n.length-1].slice(0,a[1]),o[1]!==0&&(n[0]=n[0].slice(o[1])),this._new(n)};fi.prototype.toString=function(e,r,o){return this.slice(r,o).toString(e)};fi.prototype.consume=function(e){if(e=Math.trunc(e),Number.isNaN(e)||e<=0)return this;for(;this._bufs.length;)if(e>=this._bufs[0].length)e-=this._bufs[0].length,this.length-=this._bufs[0].length,this._bufs.shift();else{this._bufs[0]=this._bufs[0].slice(e),this.length-=e;break}return this};fi.prototype.duplicate=function(){let e=this._new();for(let r=0;r<this._bufs.length;r++)e.append(this._bufs[r]);return e};fi.prototype.append=function(e){if(e==null)return this;if(e.buffer)this._appendBuffer(hu.from(e.buffer,e.byteOffset,e.byteLength));else if(Array.isArray(e))for(let r=0;r<e.length;r++)this.append(e[r]);else if(this._isBufferList(e))for(let r=0;r<e._bufs.length;r++)this.append(e._bufs[r]);else typeof e=="number"&&(e=e.toString()),this._appendBuffer(hu.from(e));return this};fi.prototype._appendBuffer=function(e){this._bufs.push(e),this.length+=e.length};fi.prototype.indexOf=function(t,e,r){if(r===void 0&&typeof e=="string"&&(r=e,e=void 0),typeof t=="function"||Array.isArray(t))throw new TypeError('The "value" argument must be one of type string, Buffer, BufferList, or Uint8Array.');if(typeof t=="number"?t=hu.from([t]):typeof t=="string"?t=hu.from(t,r):this._isBufferList(t)?t=t.slice():Array.isArray(t.buffer)?t=hu.from(t.buffer,t.byteOffset,t.byteLength):hu.isBuffer(t)||(t=hu.from(t)),e=Number(e||0),isNaN(e)&&(e=0),e<0&&(e=this.length+e),e<0&&(e=0),t.length===0)return e>this.length?this.length:e;let o=this._offset(e),a=o[0],n=o[1];for(;a<this._bufs.length;a++){let u=this._bufs[a];for(;n<u.length;)if(u.length-n>=t.length){let p=u.indexOf(t,n);if(p!==-1)return this._reverseOffset([a,p]);n=u.length-t.length+1}else{let p=this._reverseOffset([a,n]);if(this._match(p,t))return p;n++}n=0}return-1};fi.prototype._match=function(t,e){if(this.length-t<e.length)return!1;for(let r=0;r<e.length;r++)if(this.get(t+r)!==e[r])return!1;return!0};(function(){let t={readDoubleBE:8,readDoubleLE:8,readFloatBE:4,readFloatLE:4,readInt32BE:4,readInt32LE:4,readUInt32BE:4,readUInt32LE:4,readInt16BE:2,readInt16LE:2,readUInt16BE:2,readUInt16LE:2,readInt8:1,readUInt8:1,readIntBE:null,readIntLE:null,readUIntBE:null,readUIntLE:null};for(let e in t)(function(r){t[r]===null?fi.prototype[r]=function(o,a){return this.slice(o,o+a)[r](0,a)}:fi.prototype[r]=function(o=0){return this.slice(o,o+t[r])[r](0)}})(e)})();fi.prototype._isBufferList=function(e){return e instanceof fi||fi.isBufferList(e)};fi.isBufferList=function(e){return e!=null&&e[ABe]};fBe.exports=fi});var hBe=_((h$t,CF)=>{"use strict";var O5=qC().Duplex,CBt=zh(),qv=pBe();function Fo(t){if(!(this instanceof Fo))return new Fo(t);if(typeof t=="function"){this._callback=t;let e=function(o){this._callback&&(this._callback(o),this._callback=null)}.bind(this);this.on("pipe",function(o){o.on("error",e)}),this.on("unpipe",function(o){o.removeListener("error",e)}),t=null}qv._init.call(this,t),O5.call(this)}CBt(Fo,O5);Object.assign(Fo.prototype,qv.prototype);Fo.prototype._new=function(e){return new Fo(e)};Fo.prototype._write=function(e,r,o){this._appendBuffer(e),typeof o=="function"&&o()};Fo.prototype._read=function(e){if(!this.length)return this.push(null);e=Math.min(e,this.length),this.push(this.slice(0,e)),this.consume(e)};Fo.prototype.end=function(e){O5.prototype.end.call(this,e),this._callback&&(this._callback(null,this.slice()),this._callback=null)};Fo.prototype._destroy=function(e,r){this._bufs.length=0,this.length=0,r(e)};Fo.prototype._isBufferList=function(e){return e instanceof Fo||e instanceof qv||Fo.isBufferList(e)};Fo.isBufferList=qv.isBufferList;CF.exports=Fo;CF.exports.BufferListStream=Fo;CF.exports.BufferList=qv});var _5=_(GC=>{var IBt=Buffer.alloc,wBt="0000000000000000000",BBt="7777777777777777777",gBe=48,dBe=Buffer.from("ustar\0","binary"),vBt=Buffer.from("00","binary"),DBt=Buffer.from("ustar ","binary"),PBt=Buffer.from(" \0","binary"),SBt=parseInt("7777",8),jv=257,U5=263,bBt=function(t,e,r){return typeof t!="number"?r:(t=~~t,t>=e?e:t>=0||(t+=e,t>=0)?t:0)},xBt=function(t){switch(t){case 0:return"file";case 1:return"link";case 2:return"symlink";case 3:return"character-device";case 4:return"block-device";case 5:return"directory";case 6:return"fifo";case 7:return"contiguous-file";case 72:return"pax-header";case 55:return"pax-global-header";case 27:return"gnu-long-link-path";case 28:case 30:return"gnu-long-path"}return null},kBt=function(t){switch(t){case"file":return 0;case"link":return 1;case"symlink":return 2;case"character-device":return 3;case"block-device":return 4;case"directory":return 5;case"fifo":return 6;case"contiguous-file":return 7;case"pax-header":return 72}return 0},mBe=function(t,e,r,o){for(;r<o;r++)if(t[r]===e)return r;return o},yBe=function(t){for(var e=256,r=0;r<148;r++)e+=t[r];for(var o=156;o<512;o++)e+=t[o];return e},t0=function(t,e){return t=t.toString(8),t.length>e?BBt.slice(0,e)+" ":wBt.slice(0,e-t.length)+t+" "};function QBt(t){var e;if(t[0]===128)e=!0;else if(t[0]===255)e=!1;else return null;for(var r=[],o=t.length-1;o>0;o--){var a=t[o];e?r.push(a):r.push(255-a)}var n=0,u=r.length;for(o=0;o<u;o++)n+=r[o]*Math.pow(256,o);return e?n:-1*n}var r0=function(t,e,r){if(t=t.slice(e,e+r),e=0,t[e]&128)return QBt(t);for(;e<t.length&&t[e]===32;)e++;for(var o=bBt(mBe(t,32,e,t.length),t.length,t.length);e<o&&t[e]===0;)e++;return o===e?0:parseInt(t.slice(e,o).toString(),8)},jC=function(t,e,r,o){return t.slice(e,mBe(t,0,e,e+r)).toString(o)},M5=function(t){var e=Buffer.byteLength(t),r=Math.floor(Math.log(e)/Math.log(10))+1;return e+r>=Math.pow(10,r)&&r++,e+r+t};GC.decodeLongPath=function(t,e){return jC(t,0,t.length,e)};GC.encodePax=function(t){var e="";t.name&&(e+=M5(" path="+t.name+` +`)),t.linkname&&(e+=M5(" linkpath="+t.linkname+` +`));var r=t.pax;if(r)for(var o in r)e+=M5(" "+o+"="+r[o]+` +`);return Buffer.from(e)};GC.decodePax=function(t){for(var e={};t.length;){for(var r=0;r<t.length&&t[r]!==32;)r++;var o=parseInt(t.slice(0,r).toString(),10);if(!o)return e;var a=t.slice(r+1,o-1).toString(),n=a.indexOf("=");if(n===-1)return e;e[a.slice(0,n)]=a.slice(n+1),t=t.slice(o)}return e};GC.encode=function(t){var e=IBt(512),r=t.name,o="";if(t.typeflag===5&&r[r.length-1]!=="/"&&(r+="/"),Buffer.byteLength(r)!==r.length)return null;for(;Buffer.byteLength(r)>100;){var a=r.indexOf("/");if(a===-1)return null;o+=o?"/"+r.slice(0,a):r.slice(0,a),r=r.slice(a+1)}return Buffer.byteLength(r)>100||Buffer.byteLength(o)>155||t.linkname&&Buffer.byteLength(t.linkname)>100?null:(e.write(r),e.write(t0(t.mode&SBt,6),100),e.write(t0(t.uid,6),108),e.write(t0(t.gid,6),116),e.write(t0(t.size,11),124),e.write(t0(t.mtime.getTime()/1e3|0,11),136),e[156]=gBe+kBt(t.type),t.linkname&&e.write(t.linkname,157),dBe.copy(e,jv),vBt.copy(e,U5),t.uname&&e.write(t.uname,265),t.gname&&e.write(t.gname,297),e.write(t0(t.devmajor||0,6),329),e.write(t0(t.devminor||0,6),337),o&&e.write(o,345),e.write(t0(yBe(e),6),148),e)};GC.decode=function(t,e,r){var o=t[156]===0?0:t[156]-gBe,a=jC(t,0,100,e),n=r0(t,100,8),u=r0(t,108,8),A=r0(t,116,8),p=r0(t,124,12),h=r0(t,136,12),E=xBt(o),w=t[157]===0?null:jC(t,157,100,e),D=jC(t,265,32),x=jC(t,297,32),C=r0(t,329,8),T=r0(t,337,8),L=yBe(t);if(L===8*32)return null;if(L!==r0(t,148,8))throw new Error("Invalid tar header. Maybe the tar is corrupted or it needs to be gunzipped?");if(dBe.compare(t,jv,jv+6)===0)t[345]&&(a=jC(t,345,155,e)+"/"+a);else if(!(DBt.compare(t,jv,jv+6)===0&&PBt.compare(t,U5,U5+2)===0)){if(!r)throw new Error("Invalid tar header: unknown format.")}return o===0&&a&&a[a.length-1]==="/"&&(o=5),{name:a,mode:n,uid:u,gid:A,size:p,mtime:new Date(1e3*h),type:E,linkname:w,uname:D,gname:x,devmajor:C,devminor:T}}});var DBe=_((d$t,vBe)=>{var CBe=ve("util"),FBt=hBe(),Gv=_5(),IBe=qC().Writable,wBe=qC().PassThrough,BBe=function(){},EBe=function(t){return t&=511,t&&512-t},RBt=function(t,e){var r=new IF(t,e);return r.end(),r},TBt=function(t,e){return e.path&&(t.name=e.path),e.linkpath&&(t.linkname=e.linkpath),e.size&&(t.size=parseInt(e.size,10)),t.pax=e,t},IF=function(t,e){this._parent=t,this.offset=e,wBe.call(this,{autoDestroy:!1})};CBe.inherits(IF,wBe);IF.prototype.destroy=function(t){this._parent.destroy(t)};var sp=function(t){if(!(this instanceof sp))return new sp(t);IBe.call(this,t),t=t||{},this._offset=0,this._buffer=FBt(),this._missing=0,this._partial=!1,this._onparse=BBe,this._header=null,this._stream=null,this._overflow=null,this._cb=null,this._locked=!1,this._destroyed=!1,this._pax=null,this._paxGlobal=null,this._gnuLongPath=null,this._gnuLongLinkPath=null;var e=this,r=e._buffer,o=function(){e._continue()},a=function(D){if(e._locked=!1,D)return e.destroy(D);e._stream||o()},n=function(){e._stream=null;var D=EBe(e._header.size);D?e._parse(D,u):e._parse(512,w),e._locked||o()},u=function(){e._buffer.consume(EBe(e._header.size)),e._parse(512,w),o()},A=function(){var D=e._header.size;e._paxGlobal=Gv.decodePax(r.slice(0,D)),r.consume(D),n()},p=function(){var D=e._header.size;e._pax=Gv.decodePax(r.slice(0,D)),e._paxGlobal&&(e._pax=Object.assign({},e._paxGlobal,e._pax)),r.consume(D),n()},h=function(){var D=e._header.size;this._gnuLongPath=Gv.decodeLongPath(r.slice(0,D),t.filenameEncoding),r.consume(D),n()},E=function(){var D=e._header.size;this._gnuLongLinkPath=Gv.decodeLongPath(r.slice(0,D),t.filenameEncoding),r.consume(D),n()},w=function(){var D=e._offset,x;try{x=e._header=Gv.decode(r.slice(0,512),t.filenameEncoding,t.allowUnknownFormat)}catch(C){e.emit("error",C)}if(r.consume(512),!x){e._parse(512,w),o();return}if(x.type==="gnu-long-path"){e._parse(x.size,h),o();return}if(x.type==="gnu-long-link-path"){e._parse(x.size,E),o();return}if(x.type==="pax-global-header"){e._parse(x.size,A),o();return}if(x.type==="pax-header"){e._parse(x.size,p),o();return}if(e._gnuLongPath&&(x.name=e._gnuLongPath,e._gnuLongPath=null),e._gnuLongLinkPath&&(x.linkname=e._gnuLongLinkPath,e._gnuLongLinkPath=null),e._pax&&(e._header=x=TBt(x,e._pax),e._pax=null),e._locked=!0,!x.size||x.type==="directory"){e._parse(512,w),e.emit("entry",x,RBt(e,D),a);return}e._stream=new IF(e,D),e.emit("entry",x,e._stream,a),e._parse(x.size,n),o()};this._onheader=w,this._parse(512,w)};CBe.inherits(sp,IBe);sp.prototype.destroy=function(t){this._destroyed||(this._destroyed=!0,t&&this.emit("error",t),this.emit("close"),this._stream&&this._stream.emit("close"))};sp.prototype._parse=function(t,e){this._destroyed||(this._offset+=t,this._missing=t,e===this._onheader&&(this._partial=!1),this._onparse=e)};sp.prototype._continue=function(){if(!this._destroyed){var t=this._cb;this._cb=BBe,this._overflow?this._write(this._overflow,void 0,t):t()}};sp.prototype._write=function(t,e,r){if(!this._destroyed){var o=this._stream,a=this._buffer,n=this._missing;if(t.length&&(this._partial=!0),t.length<n)return this._missing-=t.length,this._overflow=null,o?o.write(t,r):(a.append(t),r());this._cb=r,this._missing=0;var u=null;t.length>n&&(u=t.slice(n),t=t.slice(0,n)),o?o.end(t):a.append(t),this._overflow=u,this._onparse()}};sp.prototype._final=function(t){if(this._partial)return this.destroy(new Error("Unexpected end of data"));t()};vBe.exports=sp});var SBe=_((m$t,PBe)=>{PBe.exports=ve("fs").constants||ve("constants")});var FBe=_((y$t,QBe)=>{var WC=SBe(),bBe=EU(),BF=zh(),NBt=Buffer.alloc,xBe=qC().Readable,YC=qC().Writable,LBt=ve("string_decoder").StringDecoder,wF=_5(),OBt=parseInt("755",8),MBt=parseInt("644",8),kBe=NBt(1024),q5=function(){},H5=function(t,e){e&=511,e&&t.push(kBe.slice(0,512-e))};function UBt(t){switch(t&WC.S_IFMT){case WC.S_IFBLK:return"block-device";case WC.S_IFCHR:return"character-device";case WC.S_IFDIR:return"directory";case WC.S_IFIFO:return"fifo";case WC.S_IFLNK:return"symlink"}return"file"}var vF=function(t){YC.call(this),this.written=0,this._to=t,this._destroyed=!1};BF(vF,YC);vF.prototype._write=function(t,e,r){if(this.written+=t.length,this._to.push(t))return r();this._to._drain=r};vF.prototype.destroy=function(){this._destroyed||(this._destroyed=!0,this.emit("close"))};var DF=function(){YC.call(this),this.linkname="",this._decoder=new LBt("utf-8"),this._destroyed=!1};BF(DF,YC);DF.prototype._write=function(t,e,r){this.linkname+=this._decoder.write(t),r()};DF.prototype.destroy=function(){this._destroyed||(this._destroyed=!0,this.emit("close"))};var Wv=function(){YC.call(this),this._destroyed=!1};BF(Wv,YC);Wv.prototype._write=function(t,e,r){r(new Error("No body allowed for this entry"))};Wv.prototype.destroy=function(){this._destroyed||(this._destroyed=!0,this.emit("close"))};var wA=function(t){if(!(this instanceof wA))return new wA(t);xBe.call(this,t),this._drain=q5,this._finalized=!1,this._finalizing=!1,this._destroyed=!1,this._stream=null};BF(wA,xBe);wA.prototype.entry=function(t,e,r){if(this._stream)throw new Error("already piping an entry");if(!(this._finalized||this._destroyed)){typeof e=="function"&&(r=e,e=null),r||(r=q5);var o=this;if((!t.size||t.type==="symlink")&&(t.size=0),t.type||(t.type=UBt(t.mode)),t.mode||(t.mode=t.type==="directory"?OBt:MBt),t.uid||(t.uid=0),t.gid||(t.gid=0),t.mtime||(t.mtime=new Date),typeof e=="string"&&(e=Buffer.from(e)),Buffer.isBuffer(e)){t.size=e.length,this._encode(t);var a=this.push(e);return H5(o,t.size),a?process.nextTick(r):this._drain=r,new Wv}if(t.type==="symlink"&&!t.linkname){var n=new DF;return bBe(n,function(A){if(A)return o.destroy(),r(A);t.linkname=n.linkname,o._encode(t),r()}),n}if(this._encode(t),t.type!=="file"&&t.type!=="contiguous-file")return process.nextTick(r),new Wv;var u=new vF(this);return this._stream=u,bBe(u,function(A){if(o._stream=null,A)return o.destroy(),r(A);if(u.written!==t.size)return o.destroy(),r(new Error("size mismatch"));H5(o,t.size),o._finalizing&&o.finalize(),r()}),u}};wA.prototype.finalize=function(){if(this._stream){this._finalizing=!0;return}this._finalized||(this._finalized=!0,this.push(kBe),this.push(null))};wA.prototype.destroy=function(t){this._destroyed||(this._destroyed=!0,t&&this.emit("error",t),this.emit("close"),this._stream&&this._stream.destroy&&this._stream.destroy())};wA.prototype._encode=function(t){if(!t.pax){var e=wF.encode(t);if(e){this.push(e);return}}this._encodePax(t)};wA.prototype._encodePax=function(t){var e=wF.encodePax({name:t.name,linkname:t.linkname,pax:t.pax}),r={name:"PaxHeader",mode:t.mode,uid:t.uid,gid:t.gid,size:e.length,mtime:t.mtime,type:"pax-header",linkname:t.linkname&&"PaxHeader",uname:t.uname,gname:t.gname,devmajor:t.devmajor,devminor:t.devminor};this.push(wF.encode(r)),this.push(e),H5(this,e.length),r.size=t.size,r.type=t.type,this.push(wF.encode(r))};wA.prototype._read=function(t){var e=this._drain;this._drain=q5,e()};QBe.exports=wA});var RBe=_(j5=>{j5.extract=DBe();j5.pack=FBe()});var WBe=_((M$t,GBe)=>{"use strict";var Yv=class t{constructor(e,r,o){this.__specs=e||{},Object.keys(this.__specs).forEach(a=>{if(typeof this.__specs[a]=="string"){let n=this.__specs[a],u=this.__specs[n];if(u){let A=u.aliases||[];A.push(a,n),u.aliases=[...new Set(A)],this.__specs[a]=u}else throw new Error(`Alias refers to invalid key: ${n} -> ${a}`)}}),this.__opts=r||{},this.__providers=qBe(o.filter(a=>a!=null&&typeof a=="object")),this.__isFiggyPudding=!0}get(e){return J5(this,e,!0)}get[Symbol.toStringTag](){return"FiggyPudding"}forEach(e,r=this){for(let[o,a]of this.entries())e.call(r,a,o,this)}toJSON(){let e={};return this.forEach((r,o)=>{e[o]=r}),e}*entries(e){for(let o of Object.keys(this.__specs))yield[o,this.get(o)];let r=e||this.__opts.other;if(r){let o=new Set;for(let a of this.__providers){let n=a.entries?a.entries(r):evt(a);for(let[u,A]of n)r(u)&&!o.has(u)&&(o.add(u),yield[u,A])}}}*[Symbol.iterator](){for(let[e,r]of this.entries())yield[e,r]}*keys(){for(let[e]of this.entries())yield e}*values(){for(let[,e]of this.entries())yield e}concat(...e){return new Proxy(new t(this.__specs,this.__opts,qBe(this.__providers).concat(e)),jBe)}};try{let t=ve("util");Yv.prototype[t.inspect.custom]=function(e,r){return this[Symbol.toStringTag]+" "+t.inspect(this.toJSON(),r)}}catch{}function ZBt(t){throw Object.assign(new Error(`invalid config key requested: ${t}`),{code:"EBADKEY"})}function J5(t,e,r){let o=t.__specs[e];if(r&&!o&&(!t.__opts.other||!t.__opts.other(e)))ZBt(e);else{o||(o={});let a;for(let n of t.__providers){if(a=HBe(e,n),a===void 0&&o.aliases&&o.aliases.length){for(let u of o.aliases)if(u!==e&&(a=HBe(u,n),a!==void 0))break}if(a!==void 0)break}return a===void 0&&o.default!==void 0?typeof o.default=="function"?o.default(t):o.default:a}}function HBe(t,e){let r;return e.__isFiggyPudding?r=J5(e,t,!1):typeof e.get=="function"?r=e.get(t):r=e[t],r}var jBe={has(t,e){return e in t.__specs&&J5(t,e,!1)!==void 0},ownKeys(t){return Object.keys(t.__specs)},get(t,e){return typeof e=="symbol"||e.slice(0,2)==="__"||e in Yv.prototype?t[e]:t.get(e)},set(t,e,r){if(typeof e=="symbol"||e.slice(0,2)==="__")return t[e]=r,!0;throw new Error("figgyPudding options cannot be modified. Use .concat() instead.")},deleteProperty(){throw new Error("figgyPudding options cannot be deleted. Use .concat() and shadow them instead.")}};GBe.exports=$Bt;function $Bt(t,e){function r(...o){return new Proxy(new Yv(t,e,o),jBe)}return r}function qBe(t){let e=[];return t.forEach(r=>e.unshift(r)),e}function evt(t){return Object.keys(t).map(e=>[e,t[e]])}});var VBe=_((U$t,DA)=>{"use strict";var Vv=ve("crypto"),tvt=WBe(),rvt=ve("stream").Transform,YBe=["sha256","sha384","sha512"],nvt=/^[a-z0-9+/]+(?:=?=?)$/i,ivt=/^([^-]+)-([^?]+)([?\S*]*)$/,svt=/^([^-]+)-([A-Za-z0-9+/=]{44,88})(\?[\x21-\x7E]*)*$/,ovt=/^[\x21-\x7E]+$/,na=tvt({algorithms:{default:["sha512"]},error:{default:!1},integrity:{},options:{default:[]},pickAlgorithm:{default:()=>hvt},Promise:{default:()=>Promise},sep:{default:" "},single:{default:!1},size:{},strict:{default:!1}}),n0=class{get isHash(){return!0}constructor(e,r){r=na(r);let o=!!r.strict;this.source=e.trim();let a=this.source.match(o?svt:ivt);if(!a||o&&!YBe.some(u=>u===a[1]))return;this.algorithm=a[1],this.digest=a[2];let n=a[3];this.options=n?n.slice(1).split("?"):[]}hexDigest(){return this.digest&&Buffer.from(this.digest,"base64").toString("hex")}toJSON(){return this.toString()}toString(e){if(e=na(e),e.strict&&!(YBe.some(o=>o===this.algorithm)&&this.digest.match(nvt)&&(this.options||[]).every(o=>o.match(ovt))))return"";let r=this.options&&this.options.length?`?${this.options.join("?")}`:"";return`${this.algorithm}-${this.digest}${r}`}},Cd=class{get isIntegrity(){return!0}toJSON(){return this.toString()}toString(e){e=na(e);let r=e.sep||" ";return e.strict&&(r=r.replace(/\S+/g," ")),Object.keys(this).map(o=>this[o].map(a=>n0.prototype.toString.call(a,e)).filter(a=>a.length).join(r)).filter(o=>o.length).join(r)}concat(e,r){r=na(r);let o=typeof e=="string"?e:Kv(e,r);return vA(`${this.toString(r)} ${o}`,r)}hexDigest(){return vA(this,{single:!0}).hexDigest()}match(e,r){r=na(r);let o=vA(e,r),a=o.pickAlgorithm(r);return this[a]&&o[a]&&this[a].find(n=>o[a].find(u=>n.digest===u.digest))||!1}pickAlgorithm(e){e=na(e);let r=e.pickAlgorithm,o=Object.keys(this);if(!o.length)throw new Error(`No algorithms available for ${JSON.stringify(this.toString())}`);return o.reduce((a,n)=>r(a,n)||a)}};DA.exports.parse=vA;function vA(t,e){if(e=na(e),typeof t=="string")return z5(t,e);if(t.algorithm&&t.digest){let r=new Cd;return r[t.algorithm]=[t],z5(Kv(r,e),e)}else return z5(Kv(t,e),e)}function z5(t,e){return e.single?new n0(t,e):t.trim().split(/\s+/).reduce((r,o)=>{let a=new n0(o,e);if(a.algorithm&&a.digest){let n=a.algorithm;r[n]||(r[n]=[]),r[n].push(a)}return r},new Cd)}DA.exports.stringify=Kv;function Kv(t,e){return e=na(e),t.algorithm&&t.digest?n0.prototype.toString.call(t,e):typeof t=="string"?Kv(vA(t,e),e):Cd.prototype.toString.call(t,e)}DA.exports.fromHex=avt;function avt(t,e,r){r=na(r);let o=r.options&&r.options.length?`?${r.options.join("?")}`:"";return vA(`${e}-${Buffer.from(t,"hex").toString("base64")}${o}`,r)}DA.exports.fromData=lvt;function lvt(t,e){e=na(e);let r=e.algorithms,o=e.options&&e.options.length?`?${e.options.join("?")}`:"";return r.reduce((a,n)=>{let u=Vv.createHash(n).update(t).digest("base64"),A=new n0(`${n}-${u}${o}`,e);if(A.algorithm&&A.digest){let p=A.algorithm;a[p]||(a[p]=[]),a[p].push(A)}return a},new Cd)}DA.exports.fromStream=cvt;function cvt(t,e){e=na(e);let r=e.Promise||Promise,o=X5(e);return new r((a,n)=>{t.pipe(o),t.on("error",n),o.on("error",n);let u;o.on("integrity",A=>{u=A}),o.on("end",()=>a(u)),o.on("data",()=>{})})}DA.exports.checkData=uvt;function uvt(t,e,r){if(r=na(r),e=vA(e,r),!Object.keys(e).length){if(r.error)throw Object.assign(new Error("No valid integrity hashes to check against"),{code:"EINTEGRITY"});return!1}let o=e.pickAlgorithm(r),a=Vv.createHash(o).update(t).digest("base64"),n=vA({algorithm:o,digest:a}),u=n.match(e,r);if(u||!r.error)return u;if(typeof r.size=="number"&&t.length!==r.size){let A=new Error(`data size mismatch when checking ${e}. + Wanted: ${r.size} + Found: ${t.length}`);throw A.code="EBADSIZE",A.found=t.length,A.expected=r.size,A.sri=e,A}else{let A=new Error(`Integrity checksum failed when using ${o}: Wanted ${e}, but got ${n}. (${t.length} bytes)`);throw A.code="EINTEGRITY",A.found=n,A.expected=e,A.algorithm=o,A.sri=e,A}}DA.exports.checkStream=Avt;function Avt(t,e,r){r=na(r);let o=r.Promise||Promise,a=X5(r.concat({integrity:e}));return new o((n,u)=>{t.pipe(a),t.on("error",u),a.on("error",u);let A;a.on("verified",p=>{A=p}),a.on("end",()=>n(A)),a.on("data",()=>{})})}DA.exports.integrityStream=X5;function X5(t){t=na(t);let e=t.integrity&&vA(t.integrity,t),r=e&&Object.keys(e).length,o=r&&e.pickAlgorithm(t),a=r&&e[o],n=Array.from(new Set(t.algorithms.concat(o?[o]:[]))),u=n.map(Vv.createHash),A=0,p=new rvt({transform(h,E,w){A+=h.length,u.forEach(D=>D.update(h,E)),w(null,h,E)}}).on("end",()=>{let h=t.options&&t.options.length?`?${t.options.join("?")}`:"",E=vA(u.map((D,x)=>`${n[x]}-${D.digest("base64")}${h}`).join(" "),t),w=r&&E.match(e,t);if(typeof t.size=="number"&&A!==t.size){let D=new Error(`stream size mismatch when checking ${e}. + Wanted: ${t.size} + Found: ${A}`);D.code="EBADSIZE",D.found=A,D.expected=t.size,D.sri=e,p.emit("error",D)}else if(t.integrity&&!w){let D=new Error(`${e} integrity checksum failed when using ${o}: wanted ${a} but got ${E}. (${A} bytes)`);D.code="EINTEGRITY",D.found=E,D.expected=a,D.algorithm=o,D.sri=e,p.emit("error",D)}else p.emit("size",A),p.emit("integrity",E),w&&p.emit("verified",w)});return p}DA.exports.create=fvt;function fvt(t){t=na(t);let e=t.algorithms,r=t.options.length?`?${t.options.join("?")}`:"",o=e.map(Vv.createHash);return{update:function(a,n){return o.forEach(u=>u.update(a,n)),this},digest:function(a){return e.reduce((u,A)=>{let p=o.shift().digest("base64"),h=new n0(`${A}-${p}${r}`,t);if(h.algorithm&&h.digest){let E=h.algorithm;u[E]||(u[E]=[]),u[E].push(h)}return u},new Cd)}}}var pvt=new Set(Vv.getHashes()),KBe=["md5","whirlpool","sha1","sha224","sha256","sha384","sha512","sha3","sha3-256","sha3-384","sha3-512","sha3_256","sha3_384","sha3_512"].filter(t=>pvt.has(t));function hvt(t,e){return KBe.indexOf(t.toLowerCase())>=KBe.indexOf(e.toLowerCase())?t:e}});var Bve=_((qnr,wve)=>{var hDt=WL();function gDt(t){return hDt(t)?void 0:t}wve.exports=gDt});var Dve=_((jnr,vve)=>{var dDt=Cx(),mDt=hH(),yDt=yH(),EDt=Wg(),CDt=Eg(),IDt=Bve(),wDt=l_(),BDt=pH(),vDt=1,DDt=2,PDt=4,SDt=wDt(function(t,e){var r={};if(t==null)return r;var o=!1;e=dDt(e,function(n){return n=EDt(n,t),o||(o=n.length>1),n}),CDt(t,BDt(t),r),o&&(r=mDt(r,vDt|DDt|PDt,IDt));for(var a=e.length;a--;)yDt(r,e[a]);return r});vve.exports=SDt});Pt();Ke();Pt();var kve=ve("child_process"),Qve=et(sg());Gt();var oE=new Map([]);var S2={};Kt(S2,{BaseCommand:()=>ut,WorkspaceRequiredError:()=>or,getCli:()=>qhe,getDynamicLibs:()=>Hhe,getPluginConfiguration:()=>lE,openWorkspace:()=>aE,pluginCommands:()=>oE,runExit:()=>Lk});Gt();var ut=class extends ot{constructor(){super(...arguments);this.cwd=de.String("--cwd",{hidden:!0})}validateAndExecute(){if(typeof this.cwd<"u")throw new it("The --cwd option is ambiguous when used anywhere else than the very first parameter provided in the command line, before even the command path");return super.validateAndExecute()}};Ke();Pt();Gt();var or=class extends it{constructor(e,r){let o=K.relative(e,r),a=K.join(e,_t.fileName);super(`This command can only be run from within a workspace of your project (${o} isn't a workspace of ${a}).`)}};Ke();Pt();sA();Ol();z1();Gt();var SAt=et(ni());il();var Hhe=()=>new Map([["@yarnpkg/cli",S2],["@yarnpkg/core",P2],["@yarnpkg/fslib",Aw],["@yarnpkg/libzip",V1],["@yarnpkg/parsers",Ew],["@yarnpkg/shell",e2],["clipanion",Qw],["semver",SAt],["typanion",Yo]]);Ke();async function aE(t,e){let{project:r,workspace:o}=await Qt.find(t,e);if(!o)throw new or(r.cwd,e);return o}Ke();Pt();sA();Ol();z1();Gt();var LDt=et(ni());il();var MH={};Kt(MH,{AddCommand:()=>fE,BinCommand:()=>pE,CacheCleanCommand:()=>hE,ClipanionCommand:()=>CE,ConfigCommand:()=>yE,ConfigGetCommand:()=>gE,ConfigSetCommand:()=>dE,ConfigUnsetCommand:()=>mE,DedupeCommand:()=>EE,EntryCommand:()=>wE,ExecCommand:()=>vE,ExplainCommand:()=>SE,ExplainPeerRequirementsCommand:()=>DE,HelpCommand:()=>IE,InfoCommand:()=>bE,LinkCommand:()=>kE,NodeCommand:()=>QE,PluginCheckCommand:()=>FE,PluginImportCommand:()=>NE,PluginImportSourcesCommand:()=>LE,PluginListCommand:()=>RE,PluginRemoveCommand:()=>OE,PluginRuntimeCommand:()=>ME,RebuildCommand:()=>UE,RemoveCommand:()=>_E,RunCommand:()=>qE,RunIndexCommand:()=>HE,SetResolutionCommand:()=>jE,SetVersionCommand:()=>PE,SetVersionSourcesCommand:()=>TE,UnlinkCommand:()=>GE,UpCommand:()=>WE,VersionCommand:()=>BE,WhyCommand:()=>YE,WorkspaceCommand:()=>XE,WorkspacesListCommand:()=>zE,YarnCommand:()=>xE,dedupeUtils:()=>Yk,default:()=>Igt,suggestUtils:()=>nu});var Eme=et(sg());Ke();Ke();Ke();Gt();var xge=et(Q2());il();var nu={};Kt(nu,{Modifier:()=>lH,Strategy:()=>jk,Target:()=>F2,WorkspaceModifier:()=>vge,applyModifier:()=>Kft,extractDescriptorFromPath:()=>cH,extractRangeModifier:()=>Dge,fetchDescriptorFrom:()=>uH,findProjectDescriptors:()=>bge,getModifier:()=>R2,getSuggestedDescriptors:()=>T2,makeWorkspaceDescriptor:()=>Sge,toWorkspaceModifier:()=>Pge});Ke();Ke();Pt();var aH=et(ni()),Wft="workspace:",F2=(o=>(o.REGULAR="dependencies",o.DEVELOPMENT="devDependencies",o.PEER="peerDependencies",o))(F2||{}),lH=(o=>(o.CARET="^",o.TILDE="~",o.EXACT="",o))(lH||{}),vge=(o=>(o.CARET="^",o.TILDE="~",o.EXACT="*",o))(vge||{}),jk=(n=>(n.KEEP="keep",n.REUSE="reuse",n.PROJECT="project",n.LATEST="latest",n.CACHE="cache",n))(jk||{});function R2(t,e){return t.exact?"":t.caret?"^":t.tilde?"~":e.configuration.get("defaultSemverRangePrefix")}var Yft=/^([\^~]?)[0-9]+(?:\.[0-9]+){0,2}(?:-\S+)?$/;function Dge(t,{project:e}){let r=t.match(Yft);return r?r[1]:e.configuration.get("defaultSemverRangePrefix")}function Kft(t,e){let{protocol:r,source:o,params:a,selector:n}=G.parseRange(t.range);return aH.default.valid(n)&&(n=`${e}${t.range}`),G.makeDescriptor(t,G.makeRange({protocol:r,source:o,params:a,selector:n}))}function Pge(t){switch(t){case"^":return"^";case"~":return"~";case"":return"*";default:throw new Error(`Assertion failed: Unknown modifier: "${t}"`)}}function Sge(t,e){return G.makeDescriptor(t.anchoredDescriptor,`${Wft}${Pge(e)}`)}async function bge(t,{project:e,target:r}){let o=new Map,a=n=>{let u=o.get(n.descriptorHash);return u||o.set(n.descriptorHash,u={descriptor:n,locators:[]}),u};for(let n of e.workspaces)if(r==="peerDependencies"){let u=n.manifest.peerDependencies.get(t.identHash);u!==void 0&&a(u).locators.push(n.anchoredLocator)}else{let u=n.manifest.dependencies.get(t.identHash),A=n.manifest.devDependencies.get(t.identHash);r==="devDependencies"?A!==void 0?a(A).locators.push(n.anchoredLocator):u!==void 0&&a(u).locators.push(n.anchoredLocator):u!==void 0?a(u).locators.push(n.anchoredLocator):A!==void 0&&a(A).locators.push(n.anchoredLocator)}return o}async function cH(t,{cwd:e,workspace:r}){return await Vft(async o=>{K.isAbsolute(t)||(t=K.relative(r.cwd,K.resolve(e,t)),t.match(/^\.{0,2}\//)||(t=`./${t}`));let{project:a}=r,n=await uH(G.makeIdent(null,"archive"),t,{project:r.project,cache:o,workspace:r});if(!n)throw new Error("Assertion failed: The descriptor should have been found");let u=new Ri,A=a.configuration.makeResolver(),p=a.configuration.makeFetcher(),h={checksums:a.storedChecksums,project:a,cache:o,fetcher:p,report:u,resolver:A},E=A.bindDescriptor(n,r.anchoredLocator,h),w=G.convertDescriptorToLocator(E),D=await p.fetch(w,h),x=await _t.find(D.prefixPath,{baseFs:D.packageFs});if(!x.name)throw new Error("Target path doesn't have a name");return G.makeDescriptor(x.name,t)})}async function T2(t,{project:e,workspace:r,cache:o,target:a,fixed:n,modifier:u,strategies:A,maxResults:p=1/0}){if(!(p>=0))throw new Error(`Invalid maxResults (${p})`);let[h,E]=t.range!=="unknown"?n||Ur.validRange(t.range)||!t.range.match(/^[a-z0-9._-]+$/i)?[t.range,"latest"]:["unknown",t.range]:["unknown","latest"];if(h!=="unknown")return{suggestions:[{descriptor:t,name:`Use ${G.prettyDescriptor(e.configuration,t)}`,reason:"(unambiguous explicit request)"}],rejections:[]};let w=typeof r<"u"&&r!==null&&r.manifest[a].get(t.identHash)||null,D=[],x=[],C=async T=>{try{await T()}catch(L){x.push(L)}};for(let T of A){if(D.length>=p)break;switch(T){case"keep":await C(async()=>{w&&D.push({descriptor:w,name:`Keep ${G.prettyDescriptor(e.configuration,w)}`,reason:"(no changes)"})});break;case"reuse":await C(async()=>{for(let{descriptor:L,locators:U}of(await bge(t,{project:e,target:a})).values()){if(U.length===1&&U[0].locatorHash===r.anchoredLocator.locatorHash&&A.includes("keep"))continue;let J=`(originally used by ${G.prettyLocator(e.configuration,U[0])}`;J+=U.length>1?` and ${U.length-1} other${U.length>2?"s":""})`:")",D.push({descriptor:L,name:`Reuse ${G.prettyDescriptor(e.configuration,L)}`,reason:J})}});break;case"cache":await C(async()=>{for(let L of e.storedDescriptors.values())L.identHash===t.identHash&&D.push({descriptor:L,name:`Reuse ${G.prettyDescriptor(e.configuration,L)}`,reason:"(already used somewhere in the lockfile)"})});break;case"project":await C(async()=>{if(r.manifest.name!==null&&t.identHash===r.manifest.name.identHash)return;let L=e.tryWorkspaceByIdent(t);if(L===null)return;let U=Sge(L,u);D.push({descriptor:U,name:`Attach ${G.prettyDescriptor(e.configuration,U)}`,reason:`(local workspace at ${pe.pretty(e.configuration,L.relativeCwd,pe.Type.PATH)})`})});break;case"latest":{let L=e.configuration.get("enableNetwork"),U=e.configuration.get("enableOfflineMode");await C(async()=>{if(a==="peerDependencies")D.push({descriptor:G.makeDescriptor(t,"*"),name:"Use *",reason:"(catch-all peer dependency pattern)"});else if(!L&&!U)D.push({descriptor:null,name:"Resolve from latest",reason:pe.pretty(e.configuration,"(unavailable because enableNetwork is toggled off)","grey")});else{let J=await uH(t,E,{project:e,cache:o,workspace:r,modifier:u});J&&D.push({descriptor:J,name:`Use ${G.prettyDescriptor(e.configuration,J)}`,reason:`(resolved from ${U?"the cache":"latest"})`})}})}break}}return{suggestions:D.slice(0,p),rejections:x.slice(0,p)}}async function uH(t,e,{project:r,cache:o,workspace:a,preserveModifier:n=!0,modifier:u}){let A=r.configuration.normalizeDependency(G.makeDescriptor(t,e)),p=new Ri,h=r.configuration.makeFetcher(),E=r.configuration.makeResolver(),w={project:r,fetcher:h,cache:o,checksums:r.storedChecksums,report:p,cacheOptions:{skipIntegrityCheck:!0}},D={...w,resolver:E,fetchOptions:w},x=E.bindDescriptor(A,a.anchoredLocator,D),C=await E.getCandidates(x,{},D);if(C.length===0)return null;let T=C[0],{protocol:L,source:U,params:J,selector:te}=G.parseRange(G.convertToManifestRange(T.reference));if(L===r.configuration.get("defaultProtocol")&&(L=null),aH.default.valid(te)){let le=te;if(typeof u<"u")te=u+te;else if(n!==!1){let Ie=typeof n=="string"?n:A.range;te=Dge(Ie,{project:r})+te}let ce=G.makeDescriptor(T,G.makeRange({protocol:L,source:U,params:J,selector:te}));(await E.getCandidates(r.configuration.normalizeDependency(ce),{},D)).length!==1&&(te=le)}return G.makeDescriptor(T,G.makeRange({protocol:L,source:U,params:J,selector:te}))}async function Vft(t){return await ae.mktempPromise(async e=>{let r=ze.create(e);return r.useWithSource(e,{enableMirror:!1,compressionLevel:0},e,{overwrite:!0}),await t(new Wr(e,{configuration:r,check:!1,immutable:!1}))})}var fE=class extends ut{constructor(){super(...arguments);this.json=de.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"});this.fixed=de.Boolean("-F,--fixed",!1,{description:"Store dependency tags as-is instead of resolving them"});this.exact=de.Boolean("-E,--exact",!1,{description:"Don't use any semver modifier on the resolved range"});this.tilde=de.Boolean("-T,--tilde",!1,{description:"Use the `~` semver modifier on the resolved range"});this.caret=de.Boolean("-C,--caret",!1,{description:"Use the `^` semver modifier on the resolved range"});this.dev=de.Boolean("-D,--dev",!1,{description:"Add a package as a dev dependency"});this.peer=de.Boolean("-P,--peer",!1,{description:"Add a package as a peer dependency"});this.optional=de.Boolean("-O,--optional",!1,{description:"Add / upgrade a package to an optional regular / peer dependency"});this.preferDev=de.Boolean("--prefer-dev",!1,{description:"Add / upgrade a package to a dev dependency"});this.interactive=de.Boolean("-i,--interactive",{description:"Reuse the specified package from other workspaces in the project"});this.cached=de.Boolean("--cached",!1,{description:"Reuse the highest version already used somewhere within the project"});this.mode=de.String("--mode",{description:"Change what artifacts installs generate",validator:js(yl)});this.silent=de.Boolean("--silent",{hidden:!0});this.packages=de.Rest()}static{this.paths=[["add"]]}static{this.usage=ot.Usage({description:"add dependencies to the project",details:"\n This command adds a package to the package.json for the nearest workspace.\n\n - If it didn't exist before, the package will by default be added to the regular `dependencies` field, but this behavior can be overriden thanks to the `-D,--dev` flag (which will cause the dependency to be added to the `devDependencies` field instead) and the `-P,--peer` flag (which will do the same but for `peerDependencies`).\n\n - If the package was already listed in your dependencies, it will by default be upgraded whether it's part of your `dependencies` or `devDependencies` (it won't ever update `peerDependencies`, though).\n\n - If set, the `--prefer-dev` flag will operate as a more flexible `-D,--dev` in that it will add the package to your `devDependencies` if it isn't already listed in either `dependencies` or `devDependencies`, but it will also happily upgrade your `dependencies` if that's what you already use (whereas `-D,--dev` would throw an exception).\n\n - If set, the `-O,--optional` flag will add the package to the `optionalDependencies` field and, in combination with the `-P,--peer` flag, it will add the package as an optional peer dependency. If the package was already listed in your `dependencies`, it will be upgraded to `optionalDependencies`. If the package was already listed in your `peerDependencies`, in combination with the `-P,--peer` flag, it will be upgraded to an optional peer dependency: `\"peerDependenciesMeta\": { \"<package>\": { \"optional\": true } }`\n\n - If the added package doesn't specify a range at all its `latest` tag will be resolved and the returned version will be used to generate a new semver range (using the `^` modifier by default unless otherwise configured via the `defaultSemverRangePrefix` configuration, or the `~` modifier if `-T,--tilde` is specified, or no modifier at all if `-E,--exact` is specified). Two exceptions to this rule: the first one is that if the package is a workspace then its local version will be used, and the second one is that if you use `-P,--peer` the default range will be `*` and won't be resolved at all.\n\n - If the added package specifies a range (such as `^1.0.0`, `latest`, or `rc`), Yarn will add this range as-is in the resulting package.json entry (in particular, tags such as `rc` will be encoded as-is rather than being converted into a semver range).\n\n If the `--cached` option is used, Yarn will preferably reuse the highest version already used somewhere within the project, even if through a transitive dependency.\n\n If the `-i,--interactive` option is used (or if the `preferInteractive` settings is toggled on) the command will first try to check whether other workspaces in the project use the specified package and, if so, will offer to reuse them.\n\n If the `--mode=<mode>` option is set, Yarn will change which artifacts are generated. The modes currently supported are:\n\n - `skip-build` will not run the build scripts at all. Note that this is different from setting `enableScripts` to false because the latter will disable build scripts, and thus affect the content of the artifacts generated on disk, whereas the former will just disable the build step - but not the scripts themselves, which just won't run.\n\n - `update-lockfile` will skip the link step altogether, and only fetch packages that are missing from the lockfile (or that have no associated checksums). This mode is typically used by tools like Renovate or Dependabot to keep a lockfile up-to-date without incurring the full install cost.\n\n For a compilation of all the supported protocols, please consult the dedicated page from our website: https://yarnpkg.com/protocols.\n ",examples:[["Add a regular package to the current workspace","$0 add lodash"],["Add a specific version for a package to the current workspace","$0 add lodash@1.2.3"],["Add a package from a GitHub repository (the master branch) to the current workspace using a URL","$0 add lodash@https://github.com/lodash/lodash"],["Add a package from a GitHub repository (the master branch) to the current workspace using the GitHub protocol","$0 add lodash@github:lodash/lodash"],["Add a package from a GitHub repository (the master branch) to the current workspace using the GitHub protocol (shorthand)","$0 add lodash@lodash/lodash"],["Add a package from a specific branch of a GitHub repository to the current workspace using the GitHub protocol (shorthand)","$0 add lodash-es@lodash/lodash#es"],["Add a local package (gzipped tarball format) to the current workspace","$0 add local-package-name@file:../path/to/local-package-name-v0.1.2.tgz"]]})}async execute(){let r=await ze.find(this.context.cwd,this.context.plugins),{project:o,workspace:a}=await Qt.find(r,this.context.cwd),n=await Wr.find(r);if(!a)throw new or(o.cwd,this.context.cwd);await o.restoreInstallState({restoreResolutions:!1});let u=this.fixed,A=r.isInteractive({interactive:this.interactive,stdout:this.context.stdout}),p=A||r.get("preferReuse"),h=R2(this,o),E=[p?"reuse":void 0,"project",this.cached?"cache":void 0,"latest"].filter(U=>typeof U<"u"),w=A?1/0:1,D=await Promise.all(this.packages.map(async U=>{let J=U.match(/^\.{0,2}\//)?await cH(U,{cwd:this.context.cwd,workspace:a}):G.tryParseDescriptor(U),te=U.match(/^(https?:|git@github)/);if(te)throw new it(`It seems you are trying to add a package using a ${pe.pretty(r,`${te[0]}...`,pe.Type.RANGE)} url; we now require package names to be explicitly specified. +Try running the command again with the package name prefixed: ${pe.pretty(r,"yarn add",pe.Type.CODE)} ${pe.pretty(r,G.makeDescriptor(G.makeIdent(null,"my-package"),`${te[0]}...`),pe.Type.DESCRIPTOR)}`);if(!J)throw new it(`The ${pe.pretty(r,U,pe.Type.CODE)} string didn't match the required format (package-name@range). Did you perhaps forget to explicitly reference the package name?`);let le=Jft(a,J,{dev:this.dev,peer:this.peer,preferDev:this.preferDev,optional:this.optional});return await Promise.all(le.map(async ue=>{let Ie=await T2(J,{project:o,workspace:a,cache:n,fixed:u,target:ue,modifier:h,strategies:E,maxResults:w});return{request:J,suggestedDescriptors:Ie,target:ue}}))})).then(U=>U.flat()),x=await pA.start({configuration:r,stdout:this.context.stdout,suggestInstall:!1},async U=>{for(let{request:J,suggestedDescriptors:{suggestions:te,rejections:le}}of D)if(te.filter(ue=>ue.descriptor!==null).length===0){let[ue]=le;if(typeof ue>"u")throw new Error("Assertion failed: Expected an error to have been set");o.configuration.get("enableNetwork")?U.reportError(27,`${G.prettyDescriptor(r,J)} can't be resolved to a satisfying range`):U.reportError(27,`${G.prettyDescriptor(r,J)} can't be resolved to a satisfying range (note: network resolution has been disabled)`),U.reportSeparator(),U.reportExceptionOnce(ue)}});if(x.hasErrors())return x.exitCode();let C=!1,T=[],L=[];for(let{suggestedDescriptors:{suggestions:U},target:J}of D){let te,le=U.filter(he=>he.descriptor!==null),ce=le[0].descriptor,ue=le.every(he=>G.areDescriptorsEqual(he.descriptor,ce));le.length===1||ue?te=ce:(C=!0,{answer:te}=await(0,xge.prompt)({type:"select",name:"answer",message:"Which range do you want to use?",choices:U.map(({descriptor:he,name:De,reason:Ee})=>he?{name:De,hint:Ee,descriptor:he}:{name:De,hint:Ee,disabled:!0}),onCancel:()=>process.exit(130),result(he){return this.find(he,"descriptor")},stdin:this.context.stdin,stdout:this.context.stdout}));let Ie=a.manifest[J].get(te.identHash);(typeof Ie>"u"||Ie.descriptorHash!==te.descriptorHash)&&(a.manifest[J].set(te.identHash,te),this.optional&&(J==="dependencies"?a.manifest.ensureDependencyMeta({...te,range:"unknown"}).optional=!0:J==="peerDependencies"&&(a.manifest.ensurePeerDependencyMeta({...te,range:"unknown"}).optional=!0)),typeof Ie>"u"?T.push([a,J,te,E]):L.push([a,J,Ie,te]))}return await r.triggerMultipleHooks(U=>U.afterWorkspaceDependencyAddition,T),await r.triggerMultipleHooks(U=>U.afterWorkspaceDependencyReplacement,L),C&&this.context.stdout.write(` +`),await o.installWithNewReport({json:this.json,stdout:this.context.stdout,quiet:this.context.quiet},{cache:n,mode:this.mode})}};function Jft(t,e,{dev:r,peer:o,preferDev:a,optional:n}){let u=t.manifest.dependencies.has(e.identHash),A=t.manifest.devDependencies.has(e.identHash),p=t.manifest.peerDependencies.has(e.identHash);if((r||o)&&u)throw new it(`Package "${G.prettyIdent(t.project.configuration,e)}" is already listed as a regular dependency - remove the -D,-P flags or remove it from your dependencies first`);if(!r&&!o&&p)throw new it(`Package "${G.prettyIdent(t.project.configuration,e)}" is already listed as a peer dependency - use either of -D or -P, or remove it from your peer dependencies first`);if(n&&A)throw new it(`Package "${G.prettyIdent(t.project.configuration,e)}" is already listed as a dev dependency - remove the -O flag or remove it from your dev dependencies first`);if(n&&!o&&p)throw new it(`Package "${G.prettyIdent(t.project.configuration,e)}" is already listed as a peer dependency - remove the -O flag or add the -P flag or remove it from your peer dependencies first`);if((r||a)&&n)throw new it(`Package "${G.prettyIdent(t.project.configuration,e)}" cannot simultaneously be a dev dependency and an optional dependency`);let h=[];return o&&h.push("peerDependencies"),(r||a)&&h.push("devDependencies"),n&&h.push("dependencies"),h.length>0?h:A?["devDependencies"]:p?["peerDependencies"]:["dependencies"]}Ke();Ke();Gt();var pE=class extends ut{constructor(){super(...arguments);this.verbose=de.Boolean("-v,--verbose",!1,{description:"Print both the binary name and the locator of the package that provides the binary"});this.json=de.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"});this.name=de.String({required:!1})}static{this.paths=[["bin"]]}static{this.usage=ot.Usage({description:"get the path to a binary script",details:` + When used without arguments, this command will print the list of all the binaries available in the current workspace. Adding the \`-v,--verbose\` flag will cause the output to contain both the binary name and the locator of the package that provides the binary. + + When an argument is specified, this command will just print the path to the binary on the standard output and exit. Note that the reported path may be stored within a zip archive. + `,examples:[["List all the available binaries","$0 bin"],["Print the path to a specific binary","$0 bin eslint"]]})}async execute(){let r=await ze.find(this.context.cwd,this.context.plugins),{project:o,locator:a}=await Qt.find(r,this.context.cwd);if(await o.restoreInstallState(),this.name){let A=(await hn.getPackageAccessibleBinaries(a,{project:o})).get(this.name);if(!A)throw new it(`Couldn't find a binary named "${this.name}" for package "${G.prettyLocator(r,a)}"`);let[,p]=A;return this.context.stdout.write(`${p} +`),0}return(await Nt.start({configuration:r,json:this.json,stdout:this.context.stdout},async u=>{let A=await hn.getPackageAccessibleBinaries(a,{project:o}),h=Array.from(A.keys()).reduce((E,w)=>Math.max(E,w.length),0);for(let[E,[w,D]]of A)u.reportJson({name:E,source:G.stringifyIdent(w),path:D});if(this.verbose)for(let[E,[w]]of A)u.reportInfo(null,`${E.padEnd(h," ")} ${G.prettyLocator(r,w)}`);else for(let E of A.keys())u.reportInfo(null,E)})).exitCode()}};Ke();Pt();Gt();var hE=class extends ut{constructor(){super(...arguments);this.mirror=de.Boolean("--mirror",!1,{description:"Remove the global cache files instead of the local cache files"});this.all=de.Boolean("--all",!1,{description:"Remove both the global cache files and the local cache files of the current project"})}static{this.paths=[["cache","clean"],["cache","clear"]]}static{this.usage=ot.Usage({description:"remove the shared cache files",details:` + This command will remove all the files from the cache. + `,examples:[["Remove all the local archives","$0 cache clean"],["Remove all the archives stored in the ~/.yarn directory","$0 cache clean --mirror"]]})}async execute(){let r=await ze.find(this.context.cwd,this.context.plugins);if(!r.get("enableCacheClean"))throw new it("Cache cleaning is currently disabled. To enable it, set `enableCacheClean: true` in your configuration file. Note: Cache cleaning is typically not required and should be avoided when using Zero-Installs.");let o=await Wr.find(r);return(await Nt.start({configuration:r,stdout:this.context.stdout},async()=>{let n=(this.all||this.mirror)&&o.mirrorCwd!==null,u=!this.mirror;n&&(await ae.removePromise(o.mirrorCwd),await r.triggerHook(A=>A.cleanGlobalArtifacts,r)),u&&await ae.removePromise(o.cwd)})).exitCode()}};Ke();Gt();var Qge=et(N2()),AH=ve("util"),gE=class extends ut{constructor(){super(...arguments);this.why=de.Boolean("--why",!1,{description:"Print the explanation for why a setting has its value"});this.json=de.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"});this.unsafe=de.Boolean("--no-redacted",!1,{description:"Don't redact secrets (such as tokens) from the output"});this.name=de.String()}static{this.paths=[["config","get"]]}static{this.usage=ot.Usage({description:"read a configuration settings",details:` + This command will print a configuration setting. + + Secrets (such as tokens) will be redacted from the output by default. If this behavior isn't desired, set the \`--no-redacted\` to get the untransformed value. + `,examples:[["Print a simple configuration setting","yarn config get yarnPath"],["Print a complex configuration setting","yarn config get packageExtensions"],["Print a nested field from the configuration",`yarn config get 'npmScopes["my-company"].npmRegistryServer'`],["Print a token from the configuration","yarn config get npmAuthToken --no-redacted"],["Print a configuration setting as JSON","yarn config get packageExtensions --json"]]})}async execute(){let r=await ze.find(this.context.cwd,this.context.plugins),o=this.name.replace(/[.[].*$/,""),a=this.name.replace(/^[^.[]*/,"");if(typeof r.settings.get(o)>"u")throw new it(`Couldn't find a configuration settings named "${o}"`);let u=r.getSpecial(o,{hideSecrets:!this.unsafe,getNativePaths:!0}),A=qe.convertMapsToIndexableObjects(u),p=a?(0,Qge.default)(A,a):A,h=await Nt.start({configuration:r,includeFooter:!1,json:this.json,stdout:this.context.stdout},async E=>{E.reportJson(p)});if(!this.json){if(typeof p=="string")return this.context.stdout.write(`${p} +`),h.exitCode();AH.inspect.styles.name="cyan",this.context.stdout.write(`${(0,AH.inspect)(p,{depth:1/0,colors:r.get("enableColors"),compact:!1})} +`)}return h.exitCode()}};Ke();Gt();var Ide=et(gH()),wde=et(N2()),Bde=et(dH()),mH=ve("util"),dE=class extends ut{constructor(){super(...arguments);this.json=de.Boolean("--json",!1,{description:"Set complex configuration settings to JSON values"});this.home=de.Boolean("-H,--home",!1,{description:"Update the home configuration instead of the project configuration"});this.name=de.String();this.value=de.String()}static{this.paths=[["config","set"]]}static{this.usage=ot.Usage({description:"change a configuration settings",details:` + This command will set a configuration setting. + + When used without the \`--json\` flag, it can only set a simple configuration setting (a string, a number, or a boolean). + + When used with the \`--json\` flag, it can set both simple and complex configuration settings, including Arrays and Objects. + `,examples:[["Set a simple configuration setting (a string, a number, or a boolean)","yarn config set initScope myScope"],["Set a simple configuration setting (a string, a number, or a boolean) using the `--json` flag",'yarn config set initScope --json \\"myScope\\"'],["Set a complex configuration setting (an Array) using the `--json` flag",`yarn config set unsafeHttpWhitelist --json '["*.example.com", "example.com"]'`],["Set a complex configuration setting (an Object) using the `--json` flag",`yarn config set packageExtensions --json '{ "@babel/parser@*": { "dependencies": { "@babel/types": "*" } } }'`],["Set a nested configuration setting",'yarn config set npmScopes.company.npmRegistryServer "https://npm.example.com"'],["Set a nested configuration setting using indexed access for non-simple keys",`yarn config set 'npmRegistries["//npm.example.com"].npmAuthToken' "ffffffff-ffff-ffff-ffff-ffffffffffff"`]]})}async execute(){let r=await ze.find(this.context.cwd,this.context.plugins),o=()=>{if(!r.projectCwd)throw new it("This command must be run from within a project folder");return r.projectCwd},a=this.name.replace(/[.[].*$/,""),n=this.name.replace(/^[^.[]*\.?/,"");if(typeof r.settings.get(a)>"u")throw new it(`Couldn't find a configuration settings named "${a}"`);if(a==="enableStrictSettings")throw new it("This setting only affects the file it's in, and thus cannot be set from the CLI");let A=this.json?JSON.parse(this.value):this.value;await(this.home?C=>ze.updateHomeConfiguration(C):C=>ze.updateConfiguration(o(),C))(C=>{if(n){let T=(0,Ide.default)(C);return(0,Bde.default)(T,this.name,A),T}else return{...C,[a]:A}});let E=(await ze.find(this.context.cwd,this.context.plugins)).getSpecial(a,{hideSecrets:!0,getNativePaths:!0}),w=qe.convertMapsToIndexableObjects(E),D=n?(0,wde.default)(w,n):w;return(await Nt.start({configuration:r,includeFooter:!1,stdout:this.context.stdout},async C=>{mH.inspect.styles.name="cyan",C.reportInfo(0,`Successfully set ${this.name} to ${(0,mH.inspect)(D,{depth:1/0,colors:r.get("enableColors"),compact:!1})}`)})).exitCode()}};Ke();Gt();var Tde=et(gH()),Nde=et(Sde()),Lde=et(EH()),mE=class extends ut{constructor(){super(...arguments);this.home=de.Boolean("-H,--home",!1,{description:"Update the home configuration instead of the project configuration"});this.name=de.String()}static{this.paths=[["config","unset"]]}static{this.usage=ot.Usage({description:"unset a configuration setting",details:` + This command will unset a configuration setting. + `,examples:[["Unset a simple configuration setting","yarn config unset initScope"],["Unset a complex configuration setting","yarn config unset packageExtensions"],["Unset a nested configuration setting","yarn config unset npmScopes.company.npmRegistryServer"]]})}async execute(){let r=await ze.find(this.context.cwd,this.context.plugins),o=()=>{if(!r.projectCwd)throw new it("This command must be run from within a project folder");return r.projectCwd},a=this.name.replace(/[.[].*$/,""),n=this.name.replace(/^[^.[]*\.?/,"");if(typeof r.settings.get(a)>"u")throw new it(`Couldn't find a configuration settings named "${a}"`);let A=this.home?h=>ze.updateHomeConfiguration(h):h=>ze.updateConfiguration(o(),h);return(await Nt.start({configuration:r,includeFooter:!1,stdout:this.context.stdout},async h=>{let E=!1;await A(w=>{if(!(0,Nde.default)(w,this.name))return h.reportWarning(0,`Configuration doesn't contain setting ${this.name}; there is nothing to unset`),E=!0,w;let D=n?(0,Tde.default)(w):{...w};return(0,Lde.default)(D,this.name),D}),E||h.reportInfo(0,`Successfully unset ${this.name}`)})).exitCode()}};Ke();Pt();Gt();var Wk=ve("util"),yE=class extends ut{constructor(){super(...arguments);this.noDefaults=de.Boolean("--no-defaults",!1,{description:"Omit the default values from the display"});this.json=de.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"});this.verbose=de.Boolean("-v,--verbose",{hidden:!0});this.why=de.Boolean("--why",{hidden:!0});this.names=de.Rest()}static{this.paths=[["config"]]}static{this.usage=ot.Usage({description:"display the current configuration",details:` + This command prints the current active configuration settings. + `,examples:[["Print the active configuration settings","$0 config"]]})}async execute(){let r=await ze.find(this.context.cwd,this.context.plugins,{strict:!1}),o=await Qy({configuration:r,stdout:this.context.stdout,forceError:this.json},[{option:this.verbose,message:"The --verbose option is deprecated, the settings' descriptions are now always displayed"},{option:this.why,message:"The --why option is deprecated, the settings' sources are now always displayed"}]);if(o!==null)return o;let a=this.names.length>0?[...new Set(this.names)].sort():[...r.settings.keys()].sort(),n,u=await Nt.start({configuration:r,json:this.json,stdout:this.context.stdout,includeFooter:!1},async A=>{if(r.invalid.size>0&&!this.json){for(let[p,h]of r.invalid)A.reportError(34,`Invalid configuration key "${p}" in ${h}`);A.reportSeparator()}if(this.json)for(let p of a){let h=r.settings.get(p);typeof h>"u"&&A.reportError(34,`No configuration key named "${p}"`);let E=r.getSpecial(p,{hideSecrets:!0,getNativePaths:!0}),w=r.sources.get(p)??"<default>",D=w&&w[0]!=="<"?Ae.fromPortablePath(w):w;A.reportJson({key:p,effective:E,source:D,...h})}else{let p={breakLength:1/0,colors:r.get("enableColors"),maxArrayLength:2},h={},E={children:h};for(let w of a){if(this.noDefaults&&!r.sources.has(w))continue;let D=r.settings.get(w),x=r.sources.get(w)??"<default>",C=r.getSpecial(w,{hideSecrets:!0,getNativePaths:!0}),T={Description:{label:"Description",value:pe.tuple(pe.Type.MARKDOWN,{text:D.description,format:this.cli.format(),paragraphs:!1})},Source:{label:"Source",value:pe.tuple(x[0]==="<"?pe.Type.CODE:pe.Type.PATH,x)}};h[w]={value:pe.tuple(pe.Type.CODE,w),children:T};let L=(U,J)=>{for(let[te,le]of J)if(le instanceof Map){let ce={};U[te]={children:ce},L(ce,le)}else U[te]={label:te,value:pe.tuple(pe.Type.NO_HINT,(0,Wk.inspect)(le,p))}};C instanceof Map?L(T,C):T.Value={label:"Value",value:pe.tuple(pe.Type.NO_HINT,(0,Wk.inspect)(C,p))}}a.length!==1&&(n=void 0),As.emitTree(E,{configuration:r,json:this.json,stdout:this.context.stdout,separators:2})}});if(!this.json&&typeof n<"u"){let A=a[0],p=(0,Wk.inspect)(r.getSpecial(A,{hideSecrets:!0,getNativePaths:!0}),{colors:r.get("enableColors")});this.context.stdout.write(` +`),this.context.stdout.write(`${p} +`)}return u.exitCode()}};Ke();Gt();il();var Yk={};Kt(Yk,{Strategy:()=>L2,acceptedStrategies:()=>Q0t,dedupe:()=>CH});Ke();Ke();var Ode=et(Xo()),L2=(e=>(e.HIGHEST="highest",e))(L2||{}),Q0t=new Set(Object.values(L2)),F0t={highest:async(t,e,{resolver:r,fetcher:o,resolveOptions:a,fetchOptions:n})=>{let u=new Map;for(let[p,h]of t.storedResolutions){let E=t.storedDescriptors.get(p);if(typeof E>"u")throw new Error(`Assertion failed: The descriptor (${p}) should have been registered`);qe.getSetWithDefault(u,E.identHash).add(h)}let A=new Map(qe.mapAndFilter(t.storedDescriptors.values(),p=>G.isVirtualDescriptor(p)?qe.mapAndFilter.skip:[p.descriptorHash,qe.makeDeferred()]));for(let p of t.storedDescriptors.values()){let h=A.get(p.descriptorHash);if(typeof h>"u")throw new Error(`Assertion failed: The descriptor (${p.descriptorHash}) should have been registered`);let E=t.storedResolutions.get(p.descriptorHash);if(typeof E>"u")throw new Error(`Assertion failed: The resolution (${p.descriptorHash}) should have been registered`);let w=t.originalPackages.get(E);if(typeof w>"u")throw new Error(`Assertion failed: The package (${E}) should have been registered`);Promise.resolve().then(async()=>{let D=r.getResolutionDependencies(p,a),x=Object.fromEntries(await qe.allSettledSafe(Object.entries(D).map(async([te,le])=>{let ce=A.get(le.descriptorHash);if(typeof ce>"u")throw new Error(`Assertion failed: The descriptor (${le.descriptorHash}) should have been registered`);let ue=await ce.promise;if(!ue)throw new Error("Assertion failed: Expected the dependency to have been through the dedupe process itself");return[te,ue.updatedPackage]})));if(e.length&&!Ode.default.isMatch(G.stringifyIdent(p),e)||!r.shouldPersistResolution(w,a))return w;let C=u.get(p.identHash);if(typeof C>"u")throw new Error(`Assertion failed: The resolutions (${p.identHash}) should have been registered`);if(C.size===1)return w;let T=[...C].map(te=>{let le=t.originalPackages.get(te);if(typeof le>"u")throw new Error(`Assertion failed: The package (${te}) should have been registered`);return le}),L=await r.getSatisfying(p,x,T,a),U=L.locators?.[0];if(typeof U>"u"||!L.sorted)return w;let J=t.originalPackages.get(U.locatorHash);if(typeof J>"u")throw new Error(`Assertion failed: The package (${U.locatorHash}) should have been registered`);return J}).then(async D=>{let x=await t.preparePackage(D,{resolver:r,resolveOptions:a});h.resolve({descriptor:p,currentPackage:w,updatedPackage:D,resolvedPackage:x})}).catch(D=>{h.reject(D)})}return[...A.values()].map(p=>p.promise)}};async function CH(t,{strategy:e,patterns:r,cache:o,report:a}){let{configuration:n}=t,u=new Ri,A=n.makeResolver(),p=n.makeFetcher(),h={cache:o,checksums:t.storedChecksums,fetcher:p,project:t,report:u,cacheOptions:{skipIntegrityCheck:!0}},E={project:t,resolver:A,report:u,fetchOptions:h};return await a.startTimerPromise("Deduplication step",async()=>{let w=F0t[e],D=await w(t,r,{resolver:A,resolveOptions:E,fetcher:p,fetchOptions:h}),x=Ws.progressViaCounter(D.length);await a.reportProgress(x);let C=0;await Promise.all(D.map(U=>U.then(J=>{if(J===null||J.currentPackage.locatorHash===J.updatedPackage.locatorHash)return;C++;let{descriptor:te,currentPackage:le,updatedPackage:ce}=J;a.reportInfo(0,`${G.prettyDescriptor(n,te)} can be deduped from ${G.prettyLocator(n,le)} to ${G.prettyLocator(n,ce)}`),a.reportJson({descriptor:G.stringifyDescriptor(te),currentResolution:G.stringifyLocator(le),updatedResolution:G.stringifyLocator(ce)}),t.storedResolutions.set(te.descriptorHash,ce.locatorHash)}).finally(()=>x.tick())));let T;switch(C){case 0:T="No packages";break;case 1:T="One package";break;default:T=`${C} packages`}let L=pe.pretty(n,e,pe.Type.CODE);return a.reportInfo(0,`${T} can be deduped using the ${L} strategy`),C})}var EE=class extends ut{constructor(){super(...arguments);this.strategy=de.String("-s,--strategy","highest",{description:"The strategy to use when deduping dependencies",validator:js(L2)});this.check=de.Boolean("-c,--check",!1,{description:"Exit with exit code 1 when duplicates are found, without persisting the dependency tree"});this.json=de.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"});this.mode=de.String("--mode",{description:"Change what artifacts installs generate",validator:js(yl)});this.patterns=de.Rest()}static{this.paths=[["dedupe"]]}static{this.usage=ot.Usage({description:"deduplicate dependencies with overlapping ranges",details:"\n Duplicates are defined as descriptors with overlapping ranges being resolved and locked to different locators. They are a natural consequence of Yarn's deterministic installs, but they can sometimes pile up and unnecessarily increase the size of your project.\n\n This command dedupes dependencies in the current project using different strategies (only one is implemented at the moment):\n\n - `highest`: Reuses (where possible) the locators with the highest versions. This means that dependencies can only be upgraded, never downgraded. It's also guaranteed that it never takes more than a single pass to dedupe the entire dependency tree.\n\n **Note:** Even though it never produces a wrong dependency tree, this command should be used with caution, as it modifies the dependency tree, which can sometimes cause problems when packages don't strictly follow semver recommendations. Because of this, it is recommended to also review the changes manually.\n\n If set, the `-c,--check` flag will only report the found duplicates, without persisting the modified dependency tree. If changes are found, the command will exit with a non-zero exit code, making it suitable for CI purposes.\n\n If the `--mode=<mode>` option is set, Yarn will change which artifacts are generated. The modes currently supported are:\n\n - `skip-build` will not run the build scripts at all. Note that this is different from setting `enableScripts` to false because the latter will disable build scripts, and thus affect the content of the artifacts generated on disk, whereas the former will just disable the build step - but not the scripts themselves, which just won't run.\n\n - `update-lockfile` will skip the link step altogether, and only fetch packages that are missing from the lockfile (or that have no associated checksums). This mode is typically used by tools like Renovate or Dependabot to keep a lockfile up-to-date without incurring the full install cost.\n\n This command accepts glob patterns as arguments (if valid Idents and supported by [micromatch](https://github.com/micromatch/micromatch)). Make sure to escape the patterns, to prevent your own shell from trying to expand them.\n\n ### In-depth explanation:\n\n Yarn doesn't deduplicate dependencies by default, otherwise installs wouldn't be deterministic and the lockfile would be useless. What it actually does is that it tries to not duplicate dependencies in the first place.\n\n **Example:** If `foo@^2.3.4` (a dependency of a dependency) has already been resolved to `foo@2.3.4`, running `yarn add foo@*`will cause Yarn to reuse `foo@2.3.4`, even if the latest `foo` is actually `foo@2.10.14`, thus preventing unnecessary duplication.\n\n Duplication happens when Yarn can't unlock dependencies that have already been locked inside the lockfile.\n\n **Example:** If `foo@^2.3.4` (a dependency of a dependency) has already been resolved to `foo@2.3.4`, running `yarn add foo@2.10.14` will cause Yarn to install `foo@2.10.14` because the existing resolution doesn't satisfy the range `2.10.14`. This behavior can lead to (sometimes) unwanted duplication, since now the lockfile contains 2 separate resolutions for the 2 `foo` descriptors, even though they have overlapping ranges, which means that the lockfile can be simplified so that both descriptors resolve to `foo@2.10.14`.\n ",examples:[["Dedupe all packages","$0 dedupe"],["Dedupe all packages using a specific strategy","$0 dedupe --strategy highest"],["Dedupe a specific package","$0 dedupe lodash"],["Dedupe all packages with the `@babel/*` scope","$0 dedupe '@babel/*'"],["Check for duplicates (can be used as a CI step)","$0 dedupe --check"]]})}async execute(){let r=await ze.find(this.context.cwd,this.context.plugins),{project:o}=await Qt.find(r,this.context.cwd),a=await Wr.find(r);await o.restoreInstallState({restoreResolutions:!1});let n=0,u=await Nt.start({configuration:r,includeFooter:!1,stdout:this.context.stdout,json:this.json},async A=>{n=await CH(o,{strategy:this.strategy,patterns:this.patterns,cache:a,report:A})});return u.hasErrors()?u.exitCode():this.check?n?1:0:await o.installWithNewReport({json:this.json,stdout:this.context.stdout},{cache:a,mode:this.mode})}};Ke();Gt();var CE=class extends ut{static{this.paths=[["--clipanion=definitions"]]}async execute(){let{plugins:e}=await ze.find(this.context.cwd,this.context.plugins),r=[];for(let u of e){let{commands:A}=u[1];if(A){let h=Vo.from(A).definitions();r.push([u[0],h])}}let o=this.cli.definitions(),a=(u,A)=>u.split(" ").slice(1).join()===A.split(" ").slice(1).join(),n=Mde()["@yarnpkg/builder"].bundles.standard;for(let u of r){let A=u[1];for(let p of A)o.find(h=>a(h.path,p.path)).plugin={name:u[0],isDefault:n.includes(u[0])}}this.context.stdout.write(`${JSON.stringify(o,null,2)} +`)}};var IE=class extends ut{static{this.paths=[["help"],["--help"],["-h"]]}async execute(){this.context.stdout.write(this.cli.usage(null))}};Ke();Pt();Gt();var wE=class extends ut{constructor(){super(...arguments);this.leadingArgument=de.String();this.args=de.Proxy()}async execute(){if(this.leadingArgument.match(/[\\/]/)&&!G.tryParseIdent(this.leadingArgument)){let r=K.resolve(this.context.cwd,Ae.toPortablePath(this.leadingArgument));return await this.cli.run(this.args,{cwd:r})}else return await this.cli.run(["run",this.leadingArgument,...this.args])}};Ke();var BE=class extends ut{static{this.paths=[["-v"],["--version"]]}async execute(){this.context.stdout.write(`${nn||"<unknown>"} +`)}};Ke();Ke();Gt();var vE=class extends ut{constructor(){super(...arguments);this.commandName=de.String();this.args=de.Proxy()}static{this.paths=[["exec"]]}static{this.usage=ot.Usage({description:"execute a shell script",details:` + This command simply executes a shell script within the context of the root directory of the active workspace using the portable shell. + + It also makes sure to call it in a way that's compatible with the current project (for example, on PnP projects the environment will be setup in such a way that PnP will be correctly injected into the environment). + `,examples:[["Execute a single shell command","$0 exec echo Hello World"],["Execute a shell script",'$0 exec "tsc & babel src --out-dir lib"']]})}async execute(){let r=await ze.find(this.context.cwd,this.context.plugins),{project:o,locator:a}=await Qt.find(r,this.context.cwd);return await o.restoreInstallState(),await hn.executePackageShellcode(a,this.commandName,this.args,{cwd:this.context.cwd,stdin:this.context.stdin,stdout:this.context.stdout,stderr:this.context.stderr,project:o})}};Ke();Gt();il();var DE=class extends ut{constructor(){super(...arguments);this.hash=de.String({required:!1,validator:NP(Sm(),[Bw(/^p[0-9a-f]{5}$/)])})}static{this.paths=[["explain","peer-requirements"]]}static{this.usage=ot.Usage({description:"explain a set of peer requirements",details:` + A peer requirement represents all peer requests that a subject must satisfy when providing a requested package to requesters. + + When the hash argument is specified, this command prints a detailed explanation of the peer requirement corresponding to the hash and whether it is satisfied or not. + + When used without arguments, this command lists all peer requirements and the corresponding hash that can be used to get detailed information about a given requirement. + + **Note:** A hash is a six-letter p-prefixed code that can be obtained from peer dependency warnings or from the list of all peer requirements (\`yarn explain peer-requirements\`). + `,examples:[["Explain the corresponding peer requirement for a hash","$0 explain peer-requirements p1a4ed"],["List all peer requirements","$0 explain peer-requirements"]]})}async execute(){let r=await ze.find(this.context.cwd,this.context.plugins),{project:o}=await Qt.find(r,this.context.cwd);return await o.restoreInstallState({restoreResolutions:!1}),await o.applyLightResolution(),typeof this.hash<"u"?await T0t(this.hash,o,{stdout:this.context.stdout}):await N0t(o,{stdout:this.context.stdout})}};async function T0t(t,e,r){let o=e.peerRequirementNodes.get(t);if(typeof o>"u")throw new Error(`No peerDependency requirements found for hash: "${t}"`);let a=new Set,n=p=>a.has(p.requester.locatorHash)?{value:pe.tuple(pe.Type.DEPENDENT,{locator:p.requester,descriptor:p.descriptor}),children:p.children.size>0?[{value:pe.tuple(pe.Type.NO_HINT,"...")}]:[]}:(a.add(p.requester.locatorHash),{value:pe.tuple(pe.Type.DEPENDENT,{locator:p.requester,descriptor:p.descriptor}),children:Object.fromEntries(Array.from(p.children.values(),h=>[G.stringifyLocator(h.requester),n(h)]))}),u=e.peerWarnings.find(p=>p.hash===t);return(await Nt.start({configuration:e.configuration,stdout:r.stdout,includeFooter:!1,includePrefix:!1},async p=>{let h=pe.mark(e.configuration),E=u?h.Cross:h.Check;if(p.reportInfo(0,`Package ${pe.pretty(e.configuration,o.subject,pe.Type.LOCATOR)} is requested to provide ${pe.pretty(e.configuration,o.ident,pe.Type.IDENT)} by its descendants`),p.reportSeparator(),p.reportInfo(0,pe.pretty(e.configuration,o.subject,pe.Type.LOCATOR)),As.emitTree({children:Object.fromEntries(Array.from(o.requests.values(),w=>[G.stringifyLocator(w.requester),n(w)]))},{configuration:e.configuration,stdout:r.stdout,json:!1}),p.reportSeparator(),o.provided.range==="missing:"){let w=u?"":" , but all peer requests are optional";p.reportInfo(0,`${E} Package ${pe.pretty(e.configuration,o.subject,pe.Type.LOCATOR)} does not provide ${pe.pretty(e.configuration,o.ident,pe.Type.IDENT)}${w}.`)}else{let w=e.storedResolutions.get(o.provided.descriptorHash);if(!w)throw new Error("Assertion failed: Expected the descriptor to be registered");let D=e.storedPackages.get(w);if(!D)throw new Error("Assertion failed: Expected the package to be registered");p.reportInfo(0,`${E} Package ${pe.pretty(e.configuration,o.subject,pe.Type.LOCATOR)} provides ${pe.pretty(e.configuration,o.ident,pe.Type.IDENT)} with version ${G.prettyReference(e.configuration,D.version??"0.0.0")}, ${u?"which does not satisfy all requests.":"which satisfies all requests"}`),u?.type===3&&(u.range?p.reportInfo(0,` The combined requested range is ${pe.pretty(e.configuration,u.range,pe.Type.RANGE)}`):p.reportInfo(0," Unfortunately, the requested ranges have no overlap"))}})).exitCode()}async function N0t(t,e){return(await Nt.start({configuration:t.configuration,stdout:e.stdout,includeFooter:!1,includePrefix:!1},async o=>{let a=pe.mark(t.configuration),n=qe.sortMap(t.peerRequirementNodes,[([,u])=>G.stringifyLocator(u.subject),([,u])=>G.stringifyIdent(u.ident)]);for(let[,u]of n.values()){if(!u.root)continue;let A=t.peerWarnings.find(E=>E.hash===u.hash),p=[...G.allPeerRequests(u)],h;if(p.length>2?h=` and ${p.length-1} other dependencies`:p.length===2?h=" and 1 other dependency":h="",u.provided.range!=="missing:"){let E=t.storedResolutions.get(u.provided.descriptorHash);if(!E)throw new Error("Assertion failed: Expected the resolution to have been registered");let w=t.storedPackages.get(E);if(!w)throw new Error("Assertion failed: Expected the provided package to have been registered");let D=`${pe.pretty(t.configuration,u.hash,pe.Type.CODE)} \u2192 ${A?a.Cross:a.Check} ${G.prettyLocator(t.configuration,u.subject)} provides ${G.prettyLocator(t.configuration,w)} to ${G.prettyLocator(t.configuration,p[0].requester)}${h}`;A?o.reportWarning(0,D):o.reportInfo(0,D)}else{let E=`${pe.pretty(t.configuration,u.hash,pe.Type.CODE)} \u2192 ${A?a.Cross:a.Check} ${G.prettyLocator(t.configuration,u.subject)} doesn't provide ${G.prettyIdent(t.configuration,u.ident)} to ${G.prettyLocator(t.configuration,p[0].requester)}${h}`;A?o.reportWarning(0,E):o.reportInfo(0,E)}}})).exitCode()}Ke();Gt();il();Ke();Ke();Pt();Gt();var Ude=et(ni()),PE=class extends ut{constructor(){super(...arguments);this.useYarnPath=de.Boolean("--yarn-path",{description:"Set the yarnPath setting even if the version can be accessed by Corepack"});this.onlyIfNeeded=de.Boolean("--only-if-needed",!1,{description:"Only lock the Yarn version if it isn't already locked"});this.version=de.String()}static{this.paths=[["set","version"]]}static{this.usage=ot.Usage({description:"lock the Yarn version used by the project",details:"\n This command will set a specific release of Yarn to be used by Corepack: https://nodejs.org/api/corepack.html.\n\n By default it only will set the `packageManager` field at the root of your project, but if the referenced release cannot be represented this way, if you already have `yarnPath` configured, or if you set the `--yarn-path` command line flag, then the release will also be downloaded from the Yarn GitHub repository, stored inside your project, and referenced via the `yarnPath` settings from your project `.yarnrc.yml` file.\n\n A very good use case for this command is to enforce the version of Yarn used by any single member of your team inside the same project - by doing this you ensure that you have control over Yarn upgrades and downgrades (including on your deployment servers), and get rid of most of the headaches related to someone using a slightly different version and getting different behavior.\n\n The version specifier can be:\n\n - a tag:\n - `latest` / `berry` / `stable` -> the most recent stable berry (`>=2.0.0`) release\n - `canary` -> the most recent canary (release candidate) berry (`>=2.0.0`) release\n - `classic` -> the most recent classic (`^0.x || ^1.x`) release\n\n - a semver range (e.g. `2.x`) -> the most recent version satisfying the range (limited to berry releases)\n\n - a semver version (e.g. `2.4.1`, `1.22.1`)\n\n - a local file referenced through either a relative or absolute path\n\n - `self` -> the version used to invoke the command\n ",examples:[["Download the latest release from the Yarn repository","$0 set version latest"],["Download the latest canary release from the Yarn repository","$0 set version canary"],["Download the latest classic release from the Yarn repository","$0 set version classic"],["Download the most recent Yarn 3 build","$0 set version 3.x"],["Download a specific Yarn 2 build","$0 set version 2.0.0-rc.30"],["Switch back to a specific Yarn 1 release","$0 set version 1.22.1"],["Use a release from the local filesystem","$0 set version ./yarn.cjs"],["Use a release from a URL","$0 set version https://repo.yarnpkg.com/3.1.0/packages/yarnpkg-cli/bin/yarn.js"],["Download the version used to invoke the command","$0 set version self"]]})}async execute(){let r=await ze.find(this.context.cwd,this.context.plugins);if(this.onlyIfNeeded&&r.get("yarnPath")){let A=r.sources.get("yarnPath");if(!A)throw new Error("Assertion failed: Expected 'yarnPath' to have a source");let p=r.projectCwd??r.startingCwd;if(K.contains(p,A))return 0}let o=()=>{if(typeof nn>"u")throw new it("The --install flag can only be used without explicit version specifier from the Yarn CLI");return`file://${process.argv[1]}`},a,n=(A,p)=>({version:p,url:A.replace(/\{\}/g,p)});if(this.version==="self")a={url:o(),version:nn??"self"};else if(this.version==="latest"||this.version==="berry"||this.version==="stable")a=n("https://repo.yarnpkg.com/{}/packages/yarnpkg-cli/bin/yarn.js",await O2(r,"stable"));else if(this.version==="canary")a=n("https://repo.yarnpkg.com/{}/packages/yarnpkg-cli/bin/yarn.js",await O2(r,"canary"));else if(this.version==="classic")a={url:"https://classic.yarnpkg.com/latest.js",version:"classic"};else if(this.version.match(/^https?:/))a={url:this.version,version:"remote"};else if(this.version.match(/^\.{0,2}[\\/]/)||Ae.isAbsolute(this.version))a={url:`file://${K.resolve(Ae.toPortablePath(this.version))}`,version:"file"};else if(Ur.satisfiesWithPrereleases(this.version,">=2.0.0"))a=n("https://repo.yarnpkg.com/{}/packages/yarnpkg-cli/bin/yarn.js",this.version);else if(Ur.satisfiesWithPrereleases(this.version,"^0.x || ^1.x"))a=n("https://github.com/yarnpkg/yarn/releases/download/v{}/yarn-{}.js",this.version);else if(Ur.validRange(this.version))a=n("https://repo.yarnpkg.com/{}/packages/yarnpkg-cli/bin/yarn.js",await L0t(r,this.version));else throw new it(`Invalid version descriptor "${this.version}"`);return(await Nt.start({configuration:r,stdout:this.context.stdout,includeLogs:!this.context.quiet},async A=>{let p=async()=>{let h="file://";return a.url.startsWith(h)?(A.reportInfo(0,`Retrieving ${pe.pretty(r,a.url,pe.Type.PATH)}`),await ae.readFilePromise(a.url.slice(h.length))):(A.reportInfo(0,`Downloading ${pe.pretty(r,a.url,pe.Type.URL)}`),await on.get(a.url,{configuration:r}))};await IH(r,a.version,p,{report:A,useYarnPath:this.useYarnPath})})).exitCode()}};async function L0t(t,e){let o=(await on.get("https://repo.yarnpkg.com/tags",{configuration:t,jsonResponse:!0})).tags.filter(a=>Ur.satisfiesWithPrereleases(a,e));if(o.length===0)throw new it(`No matching release found for range ${pe.pretty(t,e,pe.Type.RANGE)}.`);return o[0]}async function O2(t,e){let r=await on.get("https://repo.yarnpkg.com/tags",{configuration:t,jsonResponse:!0});if(!r.latest[e])throw new it(`Tag ${pe.pretty(t,e,pe.Type.RANGE)} not found`);return r.latest[e]}async function IH(t,e,r,{report:o,useYarnPath:a}){let n,u=async()=>(typeof n>"u"&&(n=await r()),n);if(e===null){let te=await u();await ae.mktempPromise(async le=>{let ce=K.join(le,"yarn.cjs");await ae.writeFilePromise(ce,te);let{stdout:ue}=await Hr.execvp(process.execPath,[Ae.fromPortablePath(ce),"--version"],{cwd:le,env:{...t.env,YARN_IGNORE_PATH:"1"}});if(e=ue.trim(),!Ude.default.valid(e))throw new Error(`Invalid semver version. ${pe.pretty(t,"yarn --version",pe.Type.CODE)} returned: +${e}`)})}let A=t.projectCwd??t.startingCwd,p=K.resolve(A,".yarn/releases"),h=K.resolve(p,`yarn-${e}.cjs`),E=K.relative(t.startingCwd,h),w=qe.isTaggedYarnVersion(e),D=t.get("yarnPath"),x=!w,C=x||!!D||!!a;if(a===!1){if(x)throw new Jt(0,"You explicitly opted out of yarnPath usage in your command line, but the version you specified cannot be represented by Corepack");C=!1}else!C&&!process.env.COREPACK_ROOT&&(o.reportWarning(0,`You don't seem to have ${pe.applyHyperlink(t,"Corepack","https://nodejs.org/api/corepack.html")} enabled; we'll have to rely on ${pe.applyHyperlink(t,"yarnPath","https://yarnpkg.com/configuration/yarnrc#yarnPath")} instead`),C=!0);if(C){let te=await u();o.reportInfo(0,`Saving the new release in ${pe.pretty(t,E,"magenta")}`),await ae.removePromise(K.dirname(h)),await ae.mkdirPromise(K.dirname(h),{recursive:!0}),await ae.writeFilePromise(h,te,{mode:493}),await ze.updateConfiguration(A,{yarnPath:K.relative(A,h)})}else await ae.removePromise(K.dirname(h)),await ze.updateConfiguration(A,{yarnPath:ze.deleteProperty});let T=await _t.tryFind(A)||new _t;T.packageManager=`yarn@${w?e:await O2(t,"stable")}`;let L={};T.exportTo(L);let U=K.join(A,_t.fileName),J=`${JSON.stringify(L,null,T.indent)} +`;return await ae.changeFilePromise(U,J,{automaticNewlines:!0}),{bundleVersion:e}}function _de(t){return vr[qP(t)]}var O0t=/## (?<code>YN[0-9]{4}) - `(?<name>[A-Z_]+)`\n\n(?<details>(?:.(?!##))+)/gs;async function M0t(t){let r=`https://repo.yarnpkg.com/${qe.isTaggedYarnVersion(nn)?nn:await O2(t,"canary")}/packages/docusaurus/docs/advanced/01-general-reference/error-codes.mdx`,o=await on.get(r,{configuration:t});return new Map(Array.from(o.toString().matchAll(O0t),({groups:a})=>{if(!a)throw new Error("Assertion failed: Expected the match to have been successful");let n=_de(a.code);if(a.name!==n)throw new Error(`Assertion failed: Invalid error code data: Expected "${a.name}" to be named "${n}"`);return[a.code,a.details]}))}var SE=class extends ut{constructor(){super(...arguments);this.code=de.String({required:!1,validator:vw(Sm(),[Bw(/^YN[0-9]{4}$/)])});this.json=de.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"})}static{this.paths=[["explain"]]}static{this.usage=ot.Usage({description:"explain an error code",details:` + When the code argument is specified, this command prints its name and its details. + + When used without arguments, this command lists all error codes and their names. + `,examples:[["Explain an error code","$0 explain YN0006"],["List all error codes","$0 explain"]]})}async execute(){let r=await ze.find(this.context.cwd,this.context.plugins);if(typeof this.code<"u"){let o=_de(this.code),a=pe.pretty(r,o,pe.Type.CODE),n=this.cli.format().header(`${this.code} - ${a}`),A=(await M0t(r)).get(this.code),p=typeof A<"u"?pe.jsonOrPretty(this.json,r,pe.tuple(pe.Type.MARKDOWN,{text:A,format:this.cli.format(),paragraphs:!0})):`This error code does not have a description. + +You can help us by editing this page on GitHub \u{1F642}: +${pe.jsonOrPretty(this.json,r,pe.tuple(pe.Type.URL,"https://github.com/yarnpkg/berry/blob/master/packages/docusaurus/docs/advanced/01-general-reference/error-codes.mdx"))} +`;this.json?this.context.stdout.write(`${JSON.stringify({code:this.code,name:o,details:p})} +`):this.context.stdout.write(`${n} + +${p} +`)}else{let o={children:qe.mapAndFilter(Object.entries(vr),([a,n])=>Number.isNaN(Number(a))?qe.mapAndFilter.skip:{label:Ju(Number(a)),value:pe.tuple(pe.Type.CODE,n)})};As.emitTree(o,{configuration:r,stdout:this.context.stdout,json:this.json})}}};Ke();Pt();Gt();var Hde=et(Xo()),bE=class extends ut{constructor(){super(...arguments);this.all=de.Boolean("-A,--all",!1,{description:"Print versions of a package from the whole project"});this.recursive=de.Boolean("-R,--recursive",!1,{description:"Print information for all packages, including transitive dependencies"});this.extra=de.Array("-X,--extra",[],{description:"An array of requests of extra data provided by plugins"});this.cache=de.Boolean("--cache",!1,{description:"Print information about the cache entry of a package (path, size, checksum)"});this.dependents=de.Boolean("--dependents",!1,{description:"Print all dependents for each matching package"});this.manifest=de.Boolean("--manifest",!1,{description:"Print data obtained by looking at the package archive (license, homepage, ...)"});this.nameOnly=de.Boolean("--name-only",!1,{description:"Only print the name for the matching packages"});this.virtuals=de.Boolean("--virtuals",!1,{description:"Print each instance of the virtual packages"});this.json=de.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"});this.patterns=de.Rest()}static{this.paths=[["info"]]}static{this.usage=ot.Usage({description:"see information related to packages",details:"\n This command prints various information related to the specified packages, accepting glob patterns.\n\n By default, if the locator reference is missing, Yarn will default to print the information about all the matching direct dependencies of the package for the active workspace. To instead print all versions of the package that are direct dependencies of any of your workspaces, use the `-A,--all` flag. Adding the `-R,--recursive` flag will also report transitive dependencies.\n\n Some fields will be hidden by default in order to keep the output readable, but can be selectively displayed by using additional options (`--dependents`, `--manifest`, `--virtuals`, ...) described in the option descriptions.\n\n Note that this command will only print the information directly related to the selected packages - if you wish to know why the package is there in the first place, use `yarn why` which will do just that (it also provides a `-R,--recursive` flag that may be of some help).\n ",examples:[["Show information about Lodash","$0 info lodash"]]})}async execute(){let r=await ze.find(this.context.cwd,this.context.plugins),{project:o,workspace:a}=await Qt.find(r,this.context.cwd),n=await Wr.find(r);if(!a&&!this.all)throw new or(o.cwd,this.context.cwd);await o.restoreInstallState();let u=new Set(this.extra);this.cache&&u.add("cache"),this.dependents&&u.add("dependents"),this.manifest&&u.add("manifest");let A=(le,{recursive:ce})=>{let ue=le.anchoredLocator.locatorHash,Ie=new Map,he=[ue];for(;he.length>0;){let De=he.shift();if(Ie.has(De))continue;let Ee=o.storedPackages.get(De);if(typeof Ee>"u")throw new Error("Assertion failed: Expected the package to be registered");if(Ie.set(De,Ee),G.isVirtualLocator(Ee)&&he.push(G.devirtualizeLocator(Ee).locatorHash),!(!ce&&De!==ue))for(let g of Ee.dependencies.values()){let me=o.storedResolutions.get(g.descriptorHash);if(typeof me>"u")throw new Error("Assertion failed: Expected the resolution to be registered");he.push(me)}}return Ie.values()},p=({recursive:le})=>{let ce=new Map;for(let ue of o.workspaces)for(let Ie of A(ue,{recursive:le}))ce.set(Ie.locatorHash,Ie);return ce.values()},h=({all:le,recursive:ce})=>le&&ce?o.storedPackages.values():le?p({recursive:ce}):A(a,{recursive:ce}),E=({all:le,recursive:ce})=>{let ue=h({all:le,recursive:ce}),Ie=this.patterns.map(Ee=>{let g=G.parseLocator(Ee),me=Hde.default.makeRe(G.stringifyIdent(g)),Ce=G.isVirtualLocator(g),fe=Ce?G.devirtualizeLocator(g):g;return ie=>{let Z=G.stringifyIdent(ie);if(!me.test(Z))return!1;if(g.reference==="unknown")return!0;let Pe=G.isVirtualLocator(ie),Re=Pe?G.devirtualizeLocator(ie):ie;return!(Ce&&Pe&&g.reference!==ie.reference||fe.reference!==Re.reference)}}),he=qe.sortMap([...ue],Ee=>G.stringifyLocator(Ee));return{selection:he.filter(Ee=>Ie.length===0||Ie.some(g=>g(Ee))),sortedLookup:he}},{selection:w,sortedLookup:D}=E({all:this.all,recursive:this.recursive});if(w.length===0)throw new it("No package matched your request");let x=new Map;if(this.dependents)for(let le of D)for(let ce of le.dependencies.values()){let ue=o.storedResolutions.get(ce.descriptorHash);if(typeof ue>"u")throw new Error("Assertion failed: Expected the resolution to be registered");qe.getArrayWithDefault(x,ue).push(le)}let C=new Map;for(let le of D){if(!G.isVirtualLocator(le))continue;let ce=G.devirtualizeLocator(le);qe.getArrayWithDefault(C,ce.locatorHash).push(le)}let T={},L={children:T},U=r.makeFetcher(),J={project:o,fetcher:U,cache:n,checksums:o.storedChecksums,report:new Ri,cacheOptions:{skipIntegrityCheck:!0}},te=[async(le,ce,ue)=>{if(!ce.has("manifest"))return;let Ie=await U.fetch(le,J),he;try{he=await _t.find(Ie.prefixPath,{baseFs:Ie.packageFs})}finally{Ie.releaseFs?.()}ue("Manifest",{License:pe.tuple(pe.Type.NO_HINT,he.license),Homepage:pe.tuple(pe.Type.URL,he.raw.homepage??null)})},async(le,ce,ue)=>{if(!ce.has("cache"))return;let Ie=o.storedChecksums.get(le.locatorHash)??null,he=n.getLocatorPath(le,Ie),De;if(he!==null)try{De=await ae.statPromise(he)}catch{}let Ee=typeof De<"u"?[De.size,pe.Type.SIZE]:void 0;ue("Cache",{Checksum:pe.tuple(pe.Type.NO_HINT,Ie),Path:pe.tuple(pe.Type.PATH,he),Size:Ee})}];for(let le of w){let ce=G.isVirtualLocator(le);if(!this.virtuals&&ce)continue;let ue={},Ie={value:[le,pe.Type.LOCATOR],children:ue};if(T[G.stringifyLocator(le)]=Ie,this.nameOnly){delete Ie.children;continue}let he=C.get(le.locatorHash);typeof he<"u"&&(ue.Instances={label:"Instances",value:pe.tuple(pe.Type.NUMBER,he.length)}),ue.Version={label:"Version",value:pe.tuple(pe.Type.NO_HINT,le.version)};let De=(g,me)=>{let Ce={};if(ue[g]=Ce,Array.isArray(me))Ce.children=me.map(fe=>({value:fe}));else{let fe={};Ce.children=fe;for(let[ie,Z]of Object.entries(me))typeof Z>"u"||(fe[ie]={label:ie,value:Z})}};if(!ce){for(let g of te)await g(le,u,De);await r.triggerHook(g=>g.fetchPackageInfo,le,u,De)}le.bin.size>0&&!ce&&De("Exported Binaries",[...le.bin.keys()].map(g=>pe.tuple(pe.Type.PATH,g)));let Ee=x.get(le.locatorHash);typeof Ee<"u"&&Ee.length>0&&De("Dependents",Ee.map(g=>pe.tuple(pe.Type.LOCATOR,g))),le.dependencies.size>0&&!ce&&De("Dependencies",[...le.dependencies.values()].map(g=>{let me=o.storedResolutions.get(g.descriptorHash),Ce=typeof me<"u"?o.storedPackages.get(me)??null:null;return pe.tuple(pe.Type.RESOLUTION,{descriptor:g,locator:Ce})})),le.peerDependencies.size>0&&ce&&De("Peer dependencies",[...le.peerDependencies.values()].map(g=>{let me=le.dependencies.get(g.identHash),Ce=typeof me<"u"?o.storedResolutions.get(me.descriptorHash)??null:null,fe=Ce!==null?o.storedPackages.get(Ce)??null:null;return pe.tuple(pe.Type.RESOLUTION,{descriptor:g,locator:fe})}))}As.emitTree(L,{configuration:r,json:this.json,stdout:this.context.stdout,separators:this.nameOnly?0:2})}};Ke();Pt();Ol();var Kk=et(sg());Gt();var wH=et(ni());il();var U0t=[{selector:t=>t===-1,name:"nodeLinker",value:"node-modules"},{selector:t=>t!==-1&&t<8,name:"enableGlobalCache",value:!1},{selector:t=>t!==-1&&t<8,name:"compressionLevel",value:"mixed"}],xE=class extends ut{constructor(){super(...arguments);this.json=de.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"});this.immutable=de.Boolean("--immutable",{description:"Abort with an error exit code if the lockfile was to be modified"});this.immutableCache=de.Boolean("--immutable-cache",{description:"Abort with an error exit code if the cache folder was to be modified"});this.refreshLockfile=de.Boolean("--refresh-lockfile",{description:"Refresh the package metadata stored in the lockfile"});this.checkCache=de.Boolean("--check-cache",{description:"Always refetch the packages and ensure that their checksums are consistent"});this.checkResolutions=de.Boolean("--check-resolutions",{description:"Validates that the package resolutions are coherent"});this.inlineBuilds=de.Boolean("--inline-builds",{description:"Verbosely print the output of the build steps of dependencies"});this.mode=de.String("--mode",{description:"Change what artifacts installs generate",validator:js(yl)});this.cacheFolder=de.String("--cache-folder",{hidden:!0});this.frozenLockfile=de.Boolean("--frozen-lockfile",{hidden:!0});this.ignoreEngines=de.Boolean("--ignore-engines",{hidden:!0});this.nonInteractive=de.Boolean("--non-interactive",{hidden:!0});this.preferOffline=de.Boolean("--prefer-offline",{hidden:!0});this.production=de.Boolean("--production",{hidden:!0});this.registry=de.String("--registry",{hidden:!0});this.silent=de.Boolean("--silent",{hidden:!0});this.networkTimeout=de.String("--network-timeout",{hidden:!0})}static{this.paths=[["install"],ot.Default]}static{this.usage=ot.Usage({description:"install the project dependencies",details:"\n This command sets up your project if needed. The installation is split into four different steps that each have their own characteristics:\n\n - **Resolution:** First the package manager will resolve your dependencies. The exact way a dependency version is privileged over another isn't standardized outside of the regular semver guarantees. If a package doesn't resolve to what you would expect, check that all dependencies are correctly declared (also check our website for more information: ).\n\n - **Fetch:** Then we download all the dependencies if needed, and make sure that they're all stored within our cache (check the value of `cacheFolder` in `yarn config` to see where the cache files are stored).\n\n - **Link:** Then we send the dependency tree information to internal plugins tasked with writing them on the disk in some form (for example by generating the `.pnp.cjs` file you might know).\n\n - **Build:** Once the dependency tree has been written on the disk, the package manager will now be free to run the build scripts for all packages that might need it, in a topological order compatible with the way they depend on one another. See https://yarnpkg.com/advanced/lifecycle-scripts for detail.\n\n Note that running this command is not part of the recommended workflow. Yarn supports zero-installs, which means that as long as you store your cache and your `.pnp.cjs` file inside your repository, everything will work without requiring any install right after cloning your repository or switching branches.\n\n If the `--immutable` option is set (defaults to true on CI), Yarn will abort with an error exit code if the lockfile was to be modified (other paths can be added using the `immutablePatterns` configuration setting). For backward compatibility we offer an alias under the name of `--frozen-lockfile`, but it will be removed in a later release.\n\n If the `--immutable-cache` option is set, Yarn will abort with an error exit code if the cache folder was to be modified (either because files would be added, or because they'd be removed).\n\n If the `--refresh-lockfile` option is set, Yarn will keep the same resolution for the packages currently in the lockfile but will refresh their metadata. If used together with `--immutable`, it can validate that the lockfile information are consistent. This flag is enabled by default when Yarn detects it runs within a pull request context.\n\n If the `--check-cache` option is set, Yarn will always refetch the packages and will ensure that their checksum matches what's 1/ described in the lockfile 2/ inside the existing cache files (if present). This is recommended as part of your CI workflow if you're both following the Zero-Installs model and accepting PRs from third-parties, as they'd otherwise have the ability to alter the checked-in packages before submitting them.\n\n If the `--inline-builds` option is set, Yarn will verbosely print the output of the build steps of your dependencies (instead of writing them into individual files). This is likely useful mostly for debug purposes only when using Docker-like environments.\n\n If the `--mode=<mode>` option is set, Yarn will change which artifacts are generated. The modes currently supported are:\n\n - `skip-build` will not run the build scripts at all. Note that this is different from setting `enableScripts` to false because the latter will disable build scripts, and thus affect the content of the artifacts generated on disk, whereas the former will just disable the build step - but not the scripts themselves, which just won't run.\n\n - `update-lockfile` will skip the link step altogether, and only fetch packages that are missing from the lockfile (or that have no associated checksums). This mode is typically used by tools like Renovate or Dependabot to keep a lockfile up-to-date without incurring the full install cost.\n ",examples:[["Install the project","$0 install"],["Validate a project when using Zero-Installs","$0 install --immutable --immutable-cache"],["Validate a project when using Zero-Installs (slightly safer if you accept external PRs)","$0 install --immutable --immutable-cache --check-cache"]]})}async execute(){let r=await ze.find(this.context.cwd,this.context.plugins);typeof this.inlineBuilds<"u"&&r.useWithSource("<cli>",{enableInlineBuilds:this.inlineBuilds},r.startingCwd,{overwrite:!0});let o=!!process.env.FUNCTION_TARGET||!!process.env.GOOGLE_RUNTIME,a=await Qy({configuration:r,stdout:this.context.stdout},[{option:this.ignoreEngines,message:"The --ignore-engines option is deprecated; engine checking isn't a core feature anymore",error:!Kk.default.VERCEL},{option:this.registry,message:"The --registry option is deprecated; prefer setting npmRegistryServer in your .yarnrc.yml file"},{option:this.preferOffline,message:"The --prefer-offline flag is deprecated; use the --cached flag with 'yarn add' instead",error:!Kk.default.VERCEL},{option:this.production,message:"The --production option is deprecated on 'install'; use 'yarn workspaces focus' instead",error:!0},{option:this.nonInteractive,message:"The --non-interactive option is deprecated",error:!o},{option:this.frozenLockfile,message:"The --frozen-lockfile option is deprecated; use --immutable and/or --immutable-cache instead",callback:()=>this.immutable=this.frozenLockfile},{option:this.cacheFolder,message:"The cache-folder option has been deprecated; use rc settings instead",error:!Kk.default.NETLIFY}]);if(a!==null)return a;let n=this.mode==="update-lockfile";if(n&&(this.immutable||this.immutableCache))throw new it(`${pe.pretty(r,"--immutable",pe.Type.CODE)} and ${pe.pretty(r,"--immutable-cache",pe.Type.CODE)} cannot be used with ${pe.pretty(r,"--mode=update-lockfile",pe.Type.CODE)}`);let u=(this.immutable??r.get("enableImmutableInstalls"))&&!n,A=this.immutableCache&&!n;if(r.projectCwd!==null){let T=await Nt.start({configuration:r,json:this.json,stdout:this.context.stdout,includeFooter:!1},async L=>{let U=!1;await q0t(r,u)&&(L.reportInfo(48,"Automatically removed core plugins that are now builtins \u{1F44D}"),U=!0),await H0t(r,u)&&(L.reportInfo(48,"Automatically fixed merge conflicts \u{1F44D}"),U=!0),U&&L.reportSeparator()});if(T.hasErrors())return T.exitCode()}if(r.projectCwd!==null){let T=await Nt.start({configuration:r,json:this.json,stdout:this.context.stdout,includeFooter:!1},async L=>{if(ze.telemetry?.isNew)ze.telemetry.commitTips(),L.reportInfo(65,"Yarn will periodically gather anonymous telemetry: https://yarnpkg.com/advanced/telemetry"),L.reportInfo(65,`Run ${pe.pretty(r,"yarn config set --home enableTelemetry 0",pe.Type.CODE)} to disable`),L.reportSeparator();else if(ze.telemetry?.shouldShowTips){let U=await on.get("https://repo.yarnpkg.com/tags",{configuration:r,jsonResponse:!0}).catch(()=>null);if(U!==null){let J=null;if(nn!==null){let le=wH.default.prerelease(nn)?"canary":"stable",ce=U.latest[le];wH.default.gt(ce,nn)&&(J=[le,ce])}if(J)ze.telemetry.commitTips(),L.reportInfo(88,`${pe.applyStyle(r,`A new ${J[0]} version of Yarn is available:`,pe.Style.BOLD)} ${G.prettyReference(r,J[1])}!`),L.reportInfo(88,`Upgrade now by running ${pe.pretty(r,`yarn set version ${J[1]}`,pe.Type.CODE)}`),L.reportSeparator();else{let te=ze.telemetry.selectTip(U.tips);te&&(L.reportInfo(89,pe.pretty(r,te.message,pe.Type.MARKDOWN_INLINE)),te.url&&L.reportInfo(89,`Learn more at ${te.url}`),L.reportSeparator())}}}});if(T.hasErrors())return T.exitCode()}let{project:p,workspace:h}=await Qt.find(r,this.context.cwd),E=p.lockfileLastVersion;if(E!==null){let T=await Nt.start({configuration:r,json:this.json,stdout:this.context.stdout,includeFooter:!1},async L=>{let U={};for(let J of U0t)J.selector(E)&&typeof r.sources.get(J.name)>"u"&&(r.use("<compat>",{[J.name]:J.value},p.cwd,{overwrite:!0}),U[J.name]=J.value);Object.keys(U).length>0&&(await ze.updateConfiguration(p.cwd,U),L.reportInfo(87,"Migrated your project to the latest Yarn version \u{1F680}"),L.reportSeparator())});if(T.hasErrors())return T.exitCode()}let w=await Wr.find(r,{immutable:A,check:this.checkCache});if(!h)throw new or(p.cwd,this.context.cwd);await p.restoreInstallState({restoreResolutions:!1});let D=r.get("enableHardenedMode");D&&typeof r.sources.get("enableHardenedMode")>"u"&&await Nt.start({configuration:r,json:this.json,stdout:this.context.stdout,includeFooter:!1},async T=>{T.reportWarning(0,"Yarn detected that the current workflow is executed from a public pull request. For safety the hardened mode has been enabled."),T.reportWarning(0,`It will prevent malicious lockfile manipulations, in exchange for a slower install time. You can opt-out if necessary; check our ${pe.applyHyperlink(r,"documentation","https://yarnpkg.com/features/security#hardened-mode")} for more details.`),T.reportSeparator()}),(this.refreshLockfile??D)&&(p.lockfileNeedsRefresh=!0);let x=this.checkResolutions??D;return(await Nt.start({configuration:r,json:this.json,stdout:this.context.stdout,forceSectionAlignment:!0,includeLogs:!0,includeVersion:!0},async T=>{await p.install({cache:w,report:T,immutable:u,checkResolutions:x,mode:this.mode})})).exitCode()}},_0t="<<<<<<<";async function H0t(t,e){if(!t.projectCwd)return!1;let r=K.join(t.projectCwd,mr.lockfile);if(!await ae.existsPromise(r)||!(await ae.readFilePromise(r,"utf8")).includes(_0t))return!1;if(e)throw new Jt(47,"Cannot autofix a lockfile when running an immutable install");let a=await Hr.execvp("git",["rev-parse","MERGE_HEAD","HEAD"],{cwd:t.projectCwd});if(a.code!==0&&(a=await Hr.execvp("git",["rev-parse","REBASE_HEAD","HEAD"],{cwd:t.projectCwd})),a.code!==0&&(a=await Hr.execvp("git",["rev-parse","CHERRY_PICK_HEAD","HEAD"],{cwd:t.projectCwd})),a.code!==0)throw new Jt(83,"Git returned an error when trying to find the commits pertaining to the conflict");let n=await Promise.all(a.stdout.trim().split(/\n/).map(async A=>{let p=await Hr.execvp("git",["show",`${A}:./${mr.lockfile}`],{cwd:t.projectCwd});if(p.code!==0)throw new Jt(83,`Git returned an error when trying to access the lockfile content in ${A}`);try{return Ki(p.stdout)}catch{throw new Jt(46,"A variant of the conflicting lockfile failed to parse")}}));n=n.filter(A=>!!A.__metadata);for(let A of n){if(A.__metadata.version<7)for(let p of Object.keys(A)){if(p==="__metadata")continue;let h=G.parseDescriptor(p,!0),E=t.normalizeDependency(h),w=G.stringifyDescriptor(E);w!==p&&(A[w]=A[p],delete A[p])}for(let p of Object.keys(A)){if(p==="__metadata")continue;let h=A[p].checksum;typeof h=="string"&&h.includes("/")||(A[p].checksum=`${A.__metadata.cacheKey}/${h}`)}}let u=Object.assign({},...n);u.__metadata.version=`${Math.min(...n.map(A=>parseInt(A.__metadata.version??0)))}`,u.__metadata.cacheKey="merged";for(let[A,p]of Object.entries(u))typeof p=="string"&&delete u[A];return await ae.changeFilePromise(r,Pa(u),{automaticNewlines:!0}),!0}async function q0t(t,e){if(!t.projectCwd)return!1;let r=[],o=K.join(t.projectCwd,".yarn/plugins/@yarnpkg");return await ze.updateConfiguration(t.projectCwd,{plugins:n=>{if(!Array.isArray(n))return n;let u=n.filter(A=>{if(!A.path)return!0;let p=K.resolve(t.projectCwd,A.path),h=j1.has(A.spec)&&K.contains(o,p);return h&&r.push(p),!h});return u.length===0?ze.deleteProperty:u.length===n.length?n:u}},{immutable:e})?(await Promise.all(r.map(async n=>{await ae.removePromise(n)})),!0):!1}Ke();Pt();Gt();var kE=class extends ut{constructor(){super(...arguments);this.all=de.Boolean("-A,--all",!1,{description:"Link all workspaces belonging to the target projects to the current one"});this.private=de.Boolean("-p,--private",!1,{description:"Also link private workspaces belonging to the target projects to the current one"});this.relative=de.Boolean("-r,--relative",!1,{description:"Link workspaces using relative paths instead of absolute paths"});this.destinations=de.Rest()}static{this.paths=[["link"]]}static{this.usage=ot.Usage({description:"connect the local project to another one",details:"\n This command will set a new `resolutions` field in the project-level manifest and point it to the workspace at the specified location (even if part of another project).\n ",examples:[["Register one or more remote workspaces for use in the current project","$0 link ~/ts-loader ~/jest"],["Register all workspaces from a remote project for use in the current project","$0 link ~/jest --all"]]})}async execute(){let r=await ze.find(this.context.cwd,this.context.plugins),{project:o,workspace:a}=await Qt.find(r,this.context.cwd),n=await Wr.find(r);if(!a)throw new or(o.cwd,this.context.cwd);await o.restoreInstallState({restoreResolutions:!1});let u=o.topLevelWorkspace,A=[];for(let p of this.destinations){let h=K.resolve(this.context.cwd,Ae.toPortablePath(p)),E=await ze.find(h,this.context.plugins,{useRc:!1,strict:!1}),{project:w,workspace:D}=await Qt.find(E,h);if(o.cwd===w.cwd)throw new it(`Invalid destination '${p}'; Can't link the project to itself`);if(!D)throw new or(w.cwd,h);if(this.all){let x=!1;for(let C of w.workspaces)C.manifest.name&&(!C.manifest.private||this.private)&&(A.push(C),x=!0);if(!x)throw new it(`No workspace found to be linked in the target project: ${p}`)}else{if(!D.manifest.name)throw new it(`The target workspace at '${p}' doesn't have a name and thus cannot be linked`);if(D.manifest.private&&!this.private)throw new it(`The target workspace at '${p}' is marked private - use the --private flag to link it anyway`);A.push(D)}}for(let p of A){let h=G.stringifyIdent(p.anchoredLocator),E=this.relative?K.relative(o.cwd,p.cwd):p.cwd;u.manifest.resolutions.push({pattern:{descriptor:{fullName:h}},reference:`portal:${E}`})}return await o.installWithNewReport({stdout:this.context.stdout},{cache:n})}};Gt();var QE=class extends ut{constructor(){super(...arguments);this.args=de.Proxy()}static{this.paths=[["node"]]}static{this.usage=ot.Usage({description:"run node with the hook already setup",details:` + This command simply runs Node. It also makes sure to call it in a way that's compatible with the current project (for example, on PnP projects the environment will be setup in such a way that PnP will be correctly injected into the environment). + + The Node process will use the exact same version of Node as the one used to run Yarn itself, which might be a good way to ensure that your commands always use a consistent Node version. + `,examples:[["Run a Node script","$0 node ./my-script.js"]]})}async execute(){return this.cli.run(["exec","node",...this.args])}};Ke();Gt();var FE=class extends ut{constructor(){super(...arguments);this.json=de.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"})}static{this.paths=[["plugin","check"]]}static{this.usage=ot.Usage({category:"Plugin-related commands",description:"find all third-party plugins that differ from their own spec",details:` + Check only the plugins from https. + + If this command detects any plugin differences in the CI environment, it will throw an error. + `,examples:[["find all third-party plugins that differ from their own spec","$0 plugin check"]]})}async execute(){let r=await ze.find(this.context.cwd,this.context.plugins),o=await ze.findRcFiles(this.context.cwd);return(await Nt.start({configuration:r,json:this.json,stdout:this.context.stdout},async n=>{for(let u of o)if(u.data?.plugins)for(let A of u.data.plugins){if(!A.checksum||!A.spec.match(/^https?:/))continue;let p=await on.get(A.spec,{configuration:r}),h=xn.makeHash(p);if(A.checksum===h)continue;let E=pe.pretty(r,A.path,pe.Type.PATH),w=pe.pretty(r,A.spec,pe.Type.URL),D=`${E} is different from the file provided by ${w}`;n.reportJson({...A,newChecksum:h}),n.reportError(0,D)}})).exitCode()}};Ke();Ke();Pt();Gt();var Yde=ve("os");Ke();Pt();Gt();var qde=ve("os");Ke();Ol();Gt();var j0t="https://raw.githubusercontent.com/yarnpkg/berry/master/plugins.yml";async function Jg(t,e){let r=await on.get(j0t,{configuration:t}),o=Ki(r.toString());return Object.fromEntries(Object.entries(o).filter(([a,n])=>!e||Ur.satisfiesWithPrereleases(e,n.range??"<4.0.0-rc.1")))}var RE=class extends ut{constructor(){super(...arguments);this.json=de.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"})}static{this.paths=[["plugin","list"]]}static{this.usage=ot.Usage({category:"Plugin-related commands",description:"list the available official plugins",details:"\n This command prints the plugins available directly from the Yarn repository. Only those plugins can be referenced by name in `yarn plugin import`.\n ",examples:[["List the official plugins","$0 plugin list"]]})}async execute(){let r=await ze.find(this.context.cwd,this.context.plugins);return(await Nt.start({configuration:r,json:this.json,stdout:this.context.stdout},async a=>{let n=await Jg(r,nn);for(let[u,{experimental:A,...p}]of Object.entries(n)){let h=u;A&&(h+=" [experimental]"),a.reportJson({name:u,experimental:A,...p}),a.reportInfo(null,h)}})).exitCode()}};var G0t=/^[0-9]+$/,W0t=process.platform==="win32";function jde(t){return G0t.test(t)?`pull/${t}/head`:t}var Y0t=({repository:t,branch:e},r)=>[["git","init",Ae.fromPortablePath(r)],["git","remote","add","origin",t],["git","fetch","origin","--depth=1",jde(e)],["git","reset","--hard","FETCH_HEAD"]],K0t=({branch:t})=>[["git","fetch","origin","--depth=1",jde(t),"--force"],["git","reset","--hard","FETCH_HEAD"],["git","clean","-dfx","-e","packages/yarnpkg-cli/bundles"]],V0t=({plugins:t,noMinify:e},r,o)=>[["yarn","build:cli",...new Array().concat(...t.map(a=>["--plugin",K.resolve(o,a)])),...e?["--no-minify"]:[],"|"],[W0t?"move":"mv","packages/yarnpkg-cli/bundles/yarn.js",Ae.fromPortablePath(r),"|"]],TE=class extends ut{constructor(){super(...arguments);this.installPath=de.String("--path",{description:"The path where the repository should be cloned to"});this.repository=de.String("--repository","https://github.com/yarnpkg/berry.git",{description:"The repository that should be cloned"});this.branch=de.String("--branch","master",{description:"The branch of the repository that should be cloned"});this.plugins=de.Array("--plugin",[],{description:"An array of additional plugins that should be included in the bundle"});this.dryRun=de.Boolean("-n,--dry-run",!1,{description:"If set, the bundle will be built but not added to the project"});this.noMinify=de.Boolean("--no-minify",!1,{description:"Build a bundle for development (debugging) - non-minified and non-mangled"});this.force=de.Boolean("-f,--force",!1,{description:"Always clone the repository instead of trying to fetch the latest commits"});this.skipPlugins=de.Boolean("--skip-plugins",!1,{description:"Skip updating the contrib plugins"})}static{this.paths=[["set","version","from","sources"]]}static{this.usage=ot.Usage({description:"build Yarn from master",details:` + This command will clone the Yarn repository into a temporary folder, then build it. The resulting bundle will then be copied into the local project. + + By default, it also updates all contrib plugins to the same commit the bundle is built from. This behavior can be disabled by using the \`--skip-plugins\` flag. + `,examples:[["Build Yarn from master","$0 set version from sources"]]})}async execute(){let r=await ze.find(this.context.cwd,this.context.plugins),{project:o}=await Qt.find(r,this.context.cwd),a=typeof this.installPath<"u"?K.resolve(this.context.cwd,Ae.toPortablePath(this.installPath)):K.resolve(Ae.toPortablePath((0,qde.tmpdir)()),"yarnpkg-sources",xn.makeHash(this.repository).slice(0,6));return(await Nt.start({configuration:r,stdout:this.context.stdout},async u=>{await BH(this,{configuration:r,report:u,target:a}),u.reportSeparator(),u.reportInfo(0,"Building a fresh bundle"),u.reportSeparator();let A=await Hr.execvp("git",["rev-parse","--short","HEAD"],{cwd:a,strict:!0}),p=K.join(a,`packages/yarnpkg-cli/bundles/yarn-${A.stdout.trim()}.js`);ae.existsSync(p)||(await M2(V0t(this,p,a),{configuration:r,context:this.context,target:a}),u.reportSeparator());let h=await ae.readFilePromise(p);if(!this.dryRun){let{bundleVersion:E}=await IH(r,null,async()=>h,{report:u});this.skipPlugins||await J0t(this,E,{project:o,report:u,target:a})}})).exitCode()}};async function M2(t,{configuration:e,context:r,target:o}){for(let[a,...n]of t){let u=n[n.length-1]==="|";if(u&&n.pop(),u)await Hr.pipevp(a,n,{cwd:o,stdin:r.stdin,stdout:r.stdout,stderr:r.stderr,strict:!0});else{r.stdout.write(`${pe.pretty(e,` $ ${[a,...n].join(" ")}`,"grey")} +`);try{await Hr.execvp(a,n,{cwd:o,strict:!0})}catch(A){throw r.stdout.write(A.stdout||A.stack),A}}}}async function BH(t,{configuration:e,report:r,target:o}){let a=!1;if(!t.force&&ae.existsSync(K.join(o,".git"))){r.reportInfo(0,"Fetching the latest commits"),r.reportSeparator();try{await M2(K0t(t),{configuration:e,context:t.context,target:o}),a=!0}catch{r.reportSeparator(),r.reportWarning(0,"Repository update failed; we'll try to regenerate it")}}a||(r.reportInfo(0,"Cloning the remote repository"),r.reportSeparator(),await ae.removePromise(o),await ae.mkdirPromise(o,{recursive:!0}),await M2(Y0t(t,o),{configuration:e,context:t.context,target:o}))}async function J0t(t,e,{project:r,report:o,target:a}){let n=await Jg(r.configuration,e),u=new Set(Object.keys(n));for(let A of r.configuration.plugins.keys())u.has(A)&&await vH(A,t,{project:r,report:o,target:a})}Ke();Ke();Pt();Gt();var Gde=et(ni()),Wde=ve("vm");var NE=class extends ut{constructor(){super(...arguments);this.name=de.String();this.checksum=de.Boolean("--checksum",!0,{description:"Whether to care if this plugin is modified"})}static{this.paths=[["plugin","import"]]}static{this.usage=ot.Usage({category:"Plugin-related commands",description:"download a plugin",details:` + This command downloads the specified plugin from its remote location and updates the configuration to reference it in further CLI invocations. + + Three types of plugin references are accepted: + + - If the plugin is stored within the Yarn repository, it can be referenced by name. + - Third-party plugins can be referenced directly through their public urls. + - Local plugins can be referenced by their path on the disk. + + If the \`--no-checksum\` option is set, Yarn will no longer care if the plugin is modified. + + Plugins cannot be downloaded from the npm registry, and aren't allowed to have dependencies (they need to be bundled into a single file, possibly thanks to the \`@yarnpkg/builder\` package). + `,examples:[['Download and activate the "@yarnpkg/plugin-exec" plugin',"$0 plugin import @yarnpkg/plugin-exec"],['Download and activate the "@yarnpkg/plugin-exec" plugin (shorthand)',"$0 plugin import exec"],["Download and activate a community plugin","$0 plugin import https://example.org/path/to/plugin.js"],["Activate a local plugin","$0 plugin import ./path/to/plugin.js"]]})}async execute(){let r=await ze.find(this.context.cwd,this.context.plugins);return(await Nt.start({configuration:r,stdout:this.context.stdout},async a=>{let{project:n}=await Qt.find(r,this.context.cwd),u,A;if(this.name.match(/^\.{0,2}[\\/]/)||Ae.isAbsolute(this.name)){let p=K.resolve(this.context.cwd,Ae.toPortablePath(this.name));a.reportInfo(0,`Reading ${pe.pretty(r,p,pe.Type.PATH)}`),u=K.relative(n.cwd,p),A=await ae.readFilePromise(p)}else{let p;if(this.name.match(/^https?:/)){try{new URL(this.name)}catch{throw new Jt(52,`Plugin specifier "${this.name}" is neither a plugin name nor a valid url`)}u=this.name,p=this.name}else{let h=G.parseLocator(this.name.replace(/^((@yarnpkg\/)?plugin-)?/,"@yarnpkg/plugin-"));if(h.reference!=="unknown"&&!Gde.default.valid(h.reference))throw new Jt(0,"Official plugins only accept strict version references. Use an explicit URL if you wish to download them from another location.");let E=G.stringifyIdent(h),w=await Jg(r,nn);if(!Object.hasOwn(w,E)){let D=`Couldn't find a plugin named ${G.prettyIdent(r,h)} on the remote registry. +`;throw r.plugins.has(E)?D+=`A plugin named ${G.prettyIdent(r,h)} is already installed; possibly attempting to import a built-in plugin.`:D+=`Note that only the plugins referenced on our website (${pe.pretty(r,"https://github.com/yarnpkg/berry/blob/master/plugins.yml",pe.Type.URL)}) can be referenced by their name; any other plugin will have to be referenced through its public url (for example ${pe.pretty(r,"https://github.com/yarnpkg/berry/raw/master/packages/plugin-typescript/bin/%40yarnpkg/plugin-typescript.js",pe.Type.URL)}).`,new Jt(51,D)}u=E,p=w[E].url,h.reference!=="unknown"?p=p.replace(/\/master\//,`/${E}/${h.reference}/`):nn!==null&&(p=p.replace(/\/master\//,`/@yarnpkg/cli/${nn}/`))}a.reportInfo(0,`Downloading ${pe.pretty(r,p,"green")}`),A=await on.get(p,{configuration:r})}await DH(u,A,{checksum:this.checksum,project:n,report:a})})).exitCode()}};async function DH(t,e,{checksum:r=!0,project:o,report:a}){let{configuration:n}=o,u={},A={exports:u};(0,Wde.runInNewContext)(e.toString(),{module:A,exports:u});let h=`.yarn/plugins/${A.exports.name}.cjs`,E=K.resolve(o.cwd,h);a.reportInfo(0,`Saving the new plugin in ${pe.pretty(n,h,"magenta")}`),await ae.mkdirPromise(K.dirname(E),{recursive:!0}),await ae.writeFilePromise(E,e);let w={path:h,spec:t};r&&(w.checksum=xn.makeHash(e)),await ze.addPlugin(o.cwd,[w])}var z0t=({pluginName:t,noMinify:e},r)=>[["yarn",`build:${t}`,...e?["--no-minify"]:[],"|"]],LE=class extends ut{constructor(){super(...arguments);this.installPath=de.String("--path",{description:"The path where the repository should be cloned to"});this.repository=de.String("--repository","https://github.com/yarnpkg/berry.git",{description:"The repository that should be cloned"});this.branch=de.String("--branch","master",{description:"The branch of the repository that should be cloned"});this.noMinify=de.Boolean("--no-minify",!1,{description:"Build a plugin for development (debugging) - non-minified and non-mangled"});this.force=de.Boolean("-f,--force",!1,{description:"Always clone the repository instead of trying to fetch the latest commits"});this.name=de.String()}static{this.paths=[["plugin","import","from","sources"]]}static{this.usage=ot.Usage({category:"Plugin-related commands",description:"build a plugin from sources",details:` + This command clones the Yarn repository into a temporary folder, builds the specified contrib plugin and updates the configuration to reference it in further CLI invocations. + + The plugins can be referenced by their short name if sourced from the official Yarn repository. + `,examples:[['Build and activate the "@yarnpkg/plugin-exec" plugin',"$0 plugin import from sources @yarnpkg/plugin-exec"],['Build and activate the "@yarnpkg/plugin-exec" plugin (shorthand)',"$0 plugin import from sources exec"]]})}async execute(){let r=await ze.find(this.context.cwd,this.context.plugins),o=typeof this.installPath<"u"?K.resolve(this.context.cwd,Ae.toPortablePath(this.installPath)):K.resolve(Ae.toPortablePath((0,Yde.tmpdir)()),"yarnpkg-sources",xn.makeHash(this.repository).slice(0,6));return(await Nt.start({configuration:r,stdout:this.context.stdout},async n=>{let{project:u}=await Qt.find(r,this.context.cwd),A=G.parseIdent(this.name.replace(/^((@yarnpkg\/)?plugin-)?/,"@yarnpkg/plugin-")),p=G.stringifyIdent(A),h=await Jg(r,nn);if(!Object.hasOwn(h,p))throw new Jt(51,`Couldn't find a plugin named "${p}" on the remote registry. Note that only the plugins referenced on our website (https://github.com/yarnpkg/berry/blob/master/plugins.yml) can be built and imported from sources.`);let E=p;await BH(this,{configuration:r,report:n,target:o}),await vH(E,this,{project:u,report:n,target:o})})).exitCode()}};async function vH(t,{context:e,noMinify:r},{project:o,report:a,target:n}){let u=t.replace(/@yarnpkg\//,""),{configuration:A}=o;a.reportSeparator(),a.reportInfo(0,`Building a fresh ${u}`),a.reportSeparator(),await M2(z0t({pluginName:u,noMinify:r},n),{configuration:A,context:e,target:n}),a.reportSeparator();let p=K.resolve(n,`packages/${u}/bundles/${t}.js`),h=await ae.readFilePromise(p);await DH(t,h,{project:o,report:a})}Ke();Pt();Gt();var OE=class extends ut{constructor(){super(...arguments);this.name=de.String()}static{this.paths=[["plugin","remove"]]}static{this.usage=ot.Usage({category:"Plugin-related commands",description:"remove a plugin",details:` + This command deletes the specified plugin from the .yarn/plugins folder and removes it from the configuration. + + **Note:** The plugins have to be referenced by their name property, which can be obtained using the \`yarn plugin runtime\` command. Shorthands are not allowed. + `,examples:[["Remove a plugin imported from the Yarn repository","$0 plugin remove @yarnpkg/plugin-typescript"],["Remove a plugin imported from a local file","$0 plugin remove my-local-plugin"]]})}async execute(){let r=await ze.find(this.context.cwd,this.context.plugins),{project:o}=await Qt.find(r,this.context.cwd);return(await Nt.start({configuration:r,stdout:this.context.stdout},async n=>{let u=this.name,A=G.parseIdent(u);if(!r.plugins.has(u))throw new it(`${G.prettyIdent(r,A)} isn't referenced by the current configuration`);let p=`.yarn/plugins/${u}.cjs`,h=K.resolve(o.cwd,p);ae.existsSync(h)&&(n.reportInfo(0,`Removing ${pe.pretty(r,p,pe.Type.PATH)}...`),await ae.removePromise(h)),n.reportInfo(0,"Updating the configuration..."),await ze.updateConfiguration(o.cwd,{plugins:E=>{if(!Array.isArray(E))return E;let w=E.filter(D=>D.path!==p);return w.length===0?ze.deleteProperty:w.length===E.length?E:w}})})).exitCode()}};Ke();Gt();var ME=class extends ut{constructor(){super(...arguments);this.json=de.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"})}static{this.paths=[["plugin","runtime"]]}static{this.usage=ot.Usage({category:"Plugin-related commands",description:"list the active plugins",details:` + This command prints the currently active plugins. Will be displayed both builtin plugins and external plugins. + `,examples:[["List the currently active plugins","$0 plugin runtime"]]})}async execute(){let r=await ze.find(this.context.cwd,this.context.plugins);return(await Nt.start({configuration:r,json:this.json,stdout:this.context.stdout},async a=>{for(let n of r.plugins.keys()){let u=this.context.plugins.plugins.has(n),A=n;u&&(A+=" [builtin]"),a.reportJson({name:n,builtin:u}),a.reportInfo(null,`${A}`)}})).exitCode()}};Ke();Ke();Gt();var UE=class extends ut{constructor(){super(...arguments);this.idents=de.Rest()}static{this.paths=[["rebuild"]]}static{this.usage=ot.Usage({description:"rebuild the project's native packages",details:` + This command will automatically cause Yarn to forget about previous compilations of the given packages and to run them again. + + Note that while Yarn forgets the compilation, the previous artifacts aren't erased from the filesystem and may affect the next builds (in good or bad). To avoid this, you may remove the .yarn/unplugged folder, or any other relevant location where packages might have been stored (Yarn may offer a way to do that automatically in the future). + + By default all packages will be rebuilt, but you can filter the list by specifying the names of the packages you want to clear from memory. + `,examples:[["Rebuild all packages","$0 rebuild"],["Rebuild fsevents only","$0 rebuild fsevents"]]})}async execute(){let r=await ze.find(this.context.cwd,this.context.plugins),{project:o,workspace:a}=await Qt.find(r,this.context.cwd),n=await Wr.find(r);if(!a)throw new or(o.cwd,this.context.cwd);let u=new Set;for(let A of this.idents)u.add(G.parseIdent(A).identHash);if(await o.restoreInstallState({restoreResolutions:!1}),await o.resolveEverything({cache:n,report:new Ri}),u.size>0)for(let A of o.storedPackages.values())u.has(A.identHash)&&(o.storedBuildState.delete(A.locatorHash),o.skippedBuilds.delete(A.locatorHash));else o.storedBuildState.clear(),o.skippedBuilds.clear();return await o.installWithNewReport({stdout:this.context.stdout,quiet:this.context.quiet},{cache:n})}};Ke();Ke();Ke();Gt();var PH=et(Xo());il();var _E=class extends ut{constructor(){super(...arguments);this.all=de.Boolean("-A,--all",!1,{description:"Apply the operation to all workspaces from the current project"});this.mode=de.String("--mode",{description:"Change what artifacts installs generate",validator:js(yl)});this.patterns=de.Rest()}static{this.paths=[["remove"]]}static{this.usage=ot.Usage({description:"remove dependencies from the project",details:` + This command will remove the packages matching the specified patterns from the current workspace. + + If the \`--mode=<mode>\` option is set, Yarn will change which artifacts are generated. The modes currently supported are: + + - \`skip-build\` will not run the build scripts at all. Note that this is different from setting \`enableScripts\` to false because the latter will disable build scripts, and thus affect the content of the artifacts generated on disk, whereas the former will just disable the build step - but not the scripts themselves, which just won't run. + + - \`update-lockfile\` will skip the link step altogether, and only fetch packages that are missing from the lockfile (or that have no associated checksums). This mode is typically used by tools like Renovate or Dependabot to keep a lockfile up-to-date without incurring the full install cost. + + This command accepts glob patterns as arguments (if valid Idents and supported by [micromatch](https://github.com/micromatch/micromatch)). Make sure to escape the patterns, to prevent your own shell from trying to expand them. + `,examples:[["Remove a dependency from the current project","$0 remove lodash"],["Remove a dependency from all workspaces at once","$0 remove lodash --all"],["Remove all dependencies starting with `eslint-`","$0 remove 'eslint-*'"],["Remove all dependencies with the `@babel` scope","$0 remove '@babel/*'"],["Remove all dependencies matching `react-dom` or `react-helmet`","$0 remove 'react-{dom,helmet}'"]]})}async execute(){let r=await ze.find(this.context.cwd,this.context.plugins),{project:o,workspace:a}=await Qt.find(r,this.context.cwd),n=await Wr.find(r);if(!a)throw new or(o.cwd,this.context.cwd);await o.restoreInstallState({restoreResolutions:!1});let u=this.all?o.workspaces:[a],A=["dependencies","devDependencies","peerDependencies"],p=[],h=!1,E=[];for(let C of this.patterns){let T=!1,L=G.parseIdent(C);for(let U of u){let J=[...U.manifest.peerDependenciesMeta.keys()];for(let te of(0,PH.default)(J,C))U.manifest.peerDependenciesMeta.delete(te),h=!0,T=!0;for(let te of A){let le=U.manifest.getForScope(te),ce=[...le.values()].map(ue=>G.stringifyIdent(ue));for(let ue of(0,PH.default)(ce,G.stringifyIdent(L))){let{identHash:Ie}=G.parseIdent(ue),he=le.get(Ie);if(typeof he>"u")throw new Error("Assertion failed: Expected the descriptor to be registered");U.manifest[te].delete(Ie),E.push([U,te,he]),h=!0,T=!0}}}T||p.push(C)}let w=p.length>1?"Patterns":"Pattern",D=p.length>1?"don't":"doesn't",x=this.all?"any":"this";if(p.length>0)throw new it(`${w} ${pe.prettyList(r,p,pe.Type.CODE)} ${D} match any packages referenced by ${x} workspace`);return h?(await r.triggerMultipleHooks(C=>C.afterWorkspaceDependencyRemoval,E),await o.installWithNewReport({stdout:this.context.stdout},{cache:n,mode:this.mode})):0}};Ke();Ke();Gt();var Kde=ve("util"),HE=class extends ut{constructor(){super(...arguments);this.json=de.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"})}static{this.paths=[["run"]]}async execute(){let r=await ze.find(this.context.cwd,this.context.plugins),{project:o,workspace:a}=await Qt.find(r,this.context.cwd);if(!a)throw new or(o.cwd,this.context.cwd);return(await Nt.start({configuration:r,stdout:this.context.stdout,json:this.json},async u=>{let A=a.manifest.scripts,p=qe.sortMap(A.keys(),w=>w),h={breakLength:1/0,colors:r.get("enableColors"),maxArrayLength:2},E=p.reduce((w,D)=>Math.max(w,D.length),0);for(let[w,D]of A.entries())u.reportInfo(null,`${w.padEnd(E," ")} ${(0,Kde.inspect)(D,h)}`),u.reportJson({name:w,script:D})})).exitCode()}};Ke();Ke();Gt();var qE=class extends ut{constructor(){super(...arguments);this.inspect=de.String("--inspect",!1,{tolerateBoolean:!0,description:"Forwarded to the underlying Node process when executing a binary"});this.inspectBrk=de.String("--inspect-brk",!1,{tolerateBoolean:!0,description:"Forwarded to the underlying Node process when executing a binary"});this.topLevel=de.Boolean("-T,--top-level",!1,{description:"Check the root workspace for scripts and/or binaries instead of the current one"});this.binariesOnly=de.Boolean("-B,--binaries-only",!1,{description:"Ignore any user defined scripts and only check for binaries"});this.require=de.String("--require",{description:"Forwarded to the underlying Node process when executing a binary"});this.silent=de.Boolean("--silent",{hidden:!0});this.scriptName=de.String();this.args=de.Proxy()}static{this.paths=[["run"]]}static{this.usage=ot.Usage({description:"run a script defined in the package.json",details:` + This command will run a tool. The exact tool that will be executed will depend on the current state of your workspace: + + - If the \`scripts\` field from your local package.json contains a matching script name, its definition will get executed. + + - Otherwise, if one of the local workspace's dependencies exposes a binary with a matching name, this binary will get executed. + + - Otherwise, if the specified name contains a colon character and if one of the workspaces in the project contains exactly one script with a matching name, then this script will get executed. + + Whatever happens, the cwd of the spawned process will be the workspace that declares the script (which makes it possible to call commands cross-workspaces using the third syntax). + `,examples:[["Run the tests from the local workspace","$0 run test"],['Same thing, but without the "run" keyword',"$0 test"],["Inspect Webpack while running","$0 run --inspect-brk webpack"]]})}async execute(){let r=await ze.find(this.context.cwd,this.context.plugins),{project:o,workspace:a,locator:n}=await Qt.find(r,this.context.cwd);await o.restoreInstallState();let u=this.topLevel?o.topLevelWorkspace.anchoredLocator:n;if(!this.binariesOnly&&await hn.hasPackageScript(u,this.scriptName,{project:o}))return await hn.executePackageScript(u,this.scriptName,this.args,{project:o,stdin:this.context.stdin,stdout:this.context.stdout,stderr:this.context.stderr});let A=await hn.getPackageAccessibleBinaries(u,{project:o});if(A.get(this.scriptName)){let h=[];return this.inspect&&(typeof this.inspect=="string"?h.push(`--inspect=${this.inspect}`):h.push("--inspect")),this.inspectBrk&&(typeof this.inspectBrk=="string"?h.push(`--inspect-brk=${this.inspectBrk}`):h.push("--inspect-brk")),this.require&&h.push(`--require=${this.require}`),await hn.executePackageAccessibleBinary(u,this.scriptName,this.args,{cwd:this.context.cwd,project:o,stdin:this.context.stdin,stdout:this.context.stdout,stderr:this.context.stderr,nodeArgs:h,packageAccessibleBinaries:A})}if(!this.topLevel&&!this.binariesOnly&&a&&this.scriptName.includes(":")){let E=(await Promise.all(o.workspaces.map(async w=>w.manifest.scripts.has(this.scriptName)?w:null))).filter(w=>w!==null);if(E.length===1)return await hn.executeWorkspaceScript(E[0],this.scriptName,this.args,{stdin:this.context.stdin,stdout:this.context.stdout,stderr:this.context.stderr})}if(this.topLevel)throw this.scriptName==="node-gyp"?new it(`Couldn't find a script name "${this.scriptName}" in the top-level (used by ${G.prettyLocator(r,n)}). This typically happens because some package depends on "node-gyp" to build itself, but didn't list it in their dependencies. To fix that, please run "yarn add node-gyp" into your top-level workspace. You also can open an issue on the repository of the specified package to suggest them to use an optional peer dependency.`):new it(`Couldn't find a script name "${this.scriptName}" in the top-level (used by ${G.prettyLocator(r,n)}).`);{if(this.scriptName==="global")throw new it("The 'yarn global' commands have been removed in 2.x - consider using 'yarn dlx' or a third-party plugin instead");let h=[this.scriptName].concat(this.args);for(let[E,w]of oE)for(let D of w)if(h.length>=D.length&&JSON.stringify(h.slice(0,D.length))===JSON.stringify(D))throw new it(`Couldn't find a script named "${this.scriptName}", but a matching command can be found in the ${E} plugin. You can install it with "yarn plugin import ${E}".`);throw new it(`Couldn't find a script named "${this.scriptName}".`)}}};Ke();Ke();Gt();var jE=class extends ut{constructor(){super(...arguments);this.descriptor=de.String();this.resolution=de.String()}static{this.paths=[["set","resolution"]]}static{this.usage=ot.Usage({description:"enforce a package resolution",details:'\n This command updates the resolution table so that `descriptor` is resolved by `resolution`.\n\n Note that by default this command only affect the current resolution table - meaning that this "manual override" will disappear if you remove the lockfile, or if the package disappear from the table. If you wish to make the enforced resolution persist whatever happens, edit the `resolutions` field in your top-level manifest.\n\n Note that no attempt is made at validating that `resolution` is a valid resolution entry for `descriptor`.\n ',examples:[["Force all instances of lodash@npm:^1.2.3 to resolve to 1.5.0","$0 set resolution lodash@npm:^1.2.3 1.5.0"]]})}async execute(){let r=await ze.find(this.context.cwd,this.context.plugins),{project:o,workspace:a}=await Qt.find(r,this.context.cwd),n=await Wr.find(r);if(await o.restoreInstallState({restoreResolutions:!1}),!a)throw new or(o.cwd,this.context.cwd);let u=G.parseDescriptor(this.descriptor,!0),A=G.makeDescriptor(u,this.resolution);return o.storedDescriptors.set(u.descriptorHash,u),o.storedDescriptors.set(A.descriptorHash,A),o.resolutionAliases.set(u.descriptorHash,A.descriptorHash),await o.installWithNewReport({stdout:this.context.stdout},{cache:n})}};Ke();Pt();Gt();var Vde=et(Xo()),GE=class extends ut{constructor(){super(...arguments);this.all=de.Boolean("-A,--all",!1,{description:"Unlink all workspaces belonging to the target project from the current one"});this.leadingArguments=de.Rest()}static{this.paths=[["unlink"]]}static{this.usage=ot.Usage({description:"disconnect the local project from another one",details:` + This command will remove any resolutions in the project-level manifest that would have been added via a yarn link with similar arguments. + `,examples:[["Unregister a remote workspace in the current project","$0 unlink ~/ts-loader"],["Unregister all workspaces from a remote project in the current project","$0 unlink ~/jest --all"],["Unregister all previously linked workspaces","$0 unlink --all"],["Unregister all workspaces matching a glob","$0 unlink '@babel/*' 'pkg-{a,b}'"]]})}async execute(){let r=await ze.find(this.context.cwd,this.context.plugins),{project:o,workspace:a}=await Qt.find(r,this.context.cwd),n=await Wr.find(r);if(!a)throw new or(o.cwd,this.context.cwd);let u=o.topLevelWorkspace,A=new Set;if(this.leadingArguments.length===0&&this.all)for(let{pattern:p,reference:h}of u.manifest.resolutions)h.startsWith("portal:")&&A.add(p.descriptor.fullName);if(this.leadingArguments.length>0)for(let p of this.leadingArguments){let h=K.resolve(this.context.cwd,Ae.toPortablePath(p));if(qe.isPathLike(p)){let E=await ze.find(h,this.context.plugins,{useRc:!1,strict:!1}),{project:w,workspace:D}=await Qt.find(E,h);if(!D)throw new or(w.cwd,h);if(this.all){for(let x of w.workspaces)x.manifest.name&&A.add(G.stringifyIdent(x.anchoredLocator));if(A.size===0)throw new it("No workspace found to be unlinked in the target project")}else{if(!D.manifest.name)throw new it("The target workspace doesn't have a name and thus cannot be unlinked");A.add(G.stringifyIdent(D.anchoredLocator))}}else{let E=[...u.manifest.resolutions.map(({pattern:w})=>w.descriptor.fullName)];for(let w of(0,Vde.default)(E,p))A.add(w)}}return u.manifest.resolutions=u.manifest.resolutions.filter(({pattern:p})=>!A.has(p.descriptor.fullName)),await o.installWithNewReport({stdout:this.context.stdout,quiet:this.context.quiet},{cache:n})}};Ke();Ke();Ke();Gt();var Jde=et(Q2()),SH=et(Xo());il();var WE=class extends ut{constructor(){super(...arguments);this.interactive=de.Boolean("-i,--interactive",{description:"Offer various choices, depending on the detected upgrade paths"});this.fixed=de.Boolean("-F,--fixed",!1,{description:"Store dependency tags as-is instead of resolving them"});this.exact=de.Boolean("-E,--exact",!1,{description:"Don't use any semver modifier on the resolved range"});this.tilde=de.Boolean("-T,--tilde",!1,{description:"Use the `~` semver modifier on the resolved range"});this.caret=de.Boolean("-C,--caret",!1,{description:"Use the `^` semver modifier on the resolved range"});this.recursive=de.Boolean("-R,--recursive",!1,{description:"Resolve again ALL resolutions for those packages"});this.mode=de.String("--mode",{description:"Change what artifacts installs generate",validator:js(yl)});this.patterns=de.Rest()}static{this.paths=[["up"]]}static{this.usage=ot.Usage({description:"upgrade dependencies across the project",details:"\n This command upgrades the packages matching the list of specified patterns to their latest available version across the whole project (regardless of whether they're part of `dependencies` or `devDependencies` - `peerDependencies` won't be affected). This is a project-wide command: all workspaces will be upgraded in the process.\n\n If `-R,--recursive` is set the command will change behavior and no other switch will be allowed. When operating under this mode `yarn up` will force all ranges matching the selected packages to be resolved again (often to the highest available versions) before being stored in the lockfile. It however won't touch your manifests anymore, so depending on your needs you might want to run both `yarn up` and `yarn up -R` to cover all bases.\n\n If `-i,--interactive` is set (or if the `preferInteractive` settings is toggled on) the command will offer various choices, depending on the detected upgrade paths. Some upgrades require this flag in order to resolve ambiguities.\n\n The, `-C,--caret`, `-E,--exact` and `-T,--tilde` options have the same meaning as in the `add` command (they change the modifier used when the range is missing or a tag, and are ignored when the range is explicitly set).\n\n If the `--mode=<mode>` option is set, Yarn will change which artifacts are generated. The modes currently supported are:\n\n - `skip-build` will not run the build scripts at all. Note that this is different from setting `enableScripts` to false because the latter will disable build scripts, and thus affect the content of the artifacts generated on disk, whereas the former will just disable the build step - but not the scripts themselves, which just won't run.\n\n - `update-lockfile` will skip the link step altogether, and only fetch packages that are missing from the lockfile (or that have no associated checksums). This mode is typically used by tools like Renovate or Dependabot to keep a lockfile up-to-date without incurring the full install cost.\n\n Generally you can see `yarn up` as a counterpart to what was `yarn upgrade --latest` in Yarn 1 (ie it ignores the ranges previously listed in your manifests), but unlike `yarn upgrade` which only upgraded dependencies in the current workspace, `yarn up` will upgrade all workspaces at the same time.\n\n This command accepts glob patterns as arguments (if valid Descriptors and supported by [micromatch](https://github.com/micromatch/micromatch)). Make sure to escape the patterns, to prevent your own shell from trying to expand them.\n\n **Note:** The ranges have to be static, only the package scopes and names can contain glob patterns.\n ",examples:[["Upgrade all instances of lodash to the latest release","$0 up lodash"],["Upgrade all instances of lodash to the latest release, but ask confirmation for each","$0 up lodash -i"],["Upgrade all instances of lodash to 1.2.3","$0 up lodash@1.2.3"],["Upgrade all instances of packages with the `@babel` scope to the latest release","$0 up '@babel/*'"],["Upgrade all instances of packages containing the word `jest` to the latest release","$0 up '*jest*'"],["Upgrade all instances of packages with the `@babel` scope to 7.0.0","$0 up '@babel/*@7.0.0'"]]})}static{this.schema=[Pw("recursive",Ku.Forbids,["interactive","exact","tilde","caret"],{ignore:[void 0,!1]})]}async execute(){return this.recursive?await this.executeUpRecursive():await this.executeUpClassic()}async executeUpRecursive(){let r=await ze.find(this.context.cwd,this.context.plugins),{project:o,workspace:a}=await Qt.find(r,this.context.cwd),n=await Wr.find(r);if(!a)throw new or(o.cwd,this.context.cwd);await o.restoreInstallState({restoreResolutions:!1});let u=[...o.storedDescriptors.values()],A=u.map(E=>G.stringifyIdent(E)),p=new Set;for(let E of this.patterns){if(G.parseDescriptor(E).range!=="unknown")throw new it("Ranges aren't allowed when using --recursive");for(let w of(0,SH.default)(A,E)){let D=G.parseIdent(w);p.add(D.identHash)}}let h=u.filter(E=>p.has(E.identHash));for(let E of h)o.storedDescriptors.delete(E.descriptorHash),o.storedResolutions.delete(E.descriptorHash);return await o.installWithNewReport({stdout:this.context.stdout},{cache:n,mode:this.mode})}async executeUpClassic(){let r=await ze.find(this.context.cwd,this.context.plugins),{project:o,workspace:a}=await Qt.find(r,this.context.cwd),n=await Wr.find(r);if(!a)throw new or(o.cwd,this.context.cwd);await o.restoreInstallState({restoreResolutions:!1});let u=this.fixed,A=r.isInteractive({interactive:this.interactive,stdout:this.context.stdout}),p=R2(this,o),h=A?["keep","reuse","project","latest"]:["project","latest"],E=[],w=[];for(let L of this.patterns){let U=!1,J=G.parseDescriptor(L),te=G.stringifyIdent(J);for(let le of o.workspaces)for(let ce of["dependencies","devDependencies"]){let Ie=[...le.manifest.getForScope(ce).values()].map(De=>G.stringifyIdent(De)),he=te==="*"?Ie:(0,SH.default)(Ie,te);for(let De of he){let Ee=G.parseIdent(De),g=le.manifest[ce].get(Ee.identHash);if(typeof g>"u")throw new Error("Assertion failed: Expected the descriptor to be registered");let me=G.makeDescriptor(Ee,J.range);E.push(Promise.resolve().then(async()=>[le,ce,g,await T2(me,{project:o,workspace:le,cache:n,target:ce,fixed:u,modifier:p,strategies:h})])),U=!0}}U||w.push(L)}if(w.length>1)throw new it(`Patterns ${pe.prettyList(r,w,pe.Type.CODE)} don't match any packages referenced by any workspace`);if(w.length>0)throw new it(`Pattern ${pe.prettyList(r,w,pe.Type.CODE)} doesn't match any packages referenced by any workspace`);let D=await Promise.all(E),x=await pA.start({configuration:r,stdout:this.context.stdout,suggestInstall:!1},async L=>{for(let[,,U,{suggestions:J,rejections:te}]of D){let le=J.filter(ce=>ce.descriptor!==null);if(le.length===0){let[ce]=te;if(typeof ce>"u")throw new Error("Assertion failed: Expected an error to have been set");let ue=this.cli.error(ce);o.configuration.get("enableNetwork")?L.reportError(27,`${G.prettyDescriptor(r,U)} can't be resolved to a satisfying range + +${ue}`):L.reportError(27,`${G.prettyDescriptor(r,U)} can't be resolved to a satisfying range (note: network resolution has been disabled) + +${ue}`)}else le.length>1&&!A&&L.reportError(27,`${G.prettyDescriptor(r,U)} has multiple possible upgrade strategies; use -i to disambiguate manually`)}});if(x.hasErrors())return x.exitCode();let C=!1,T=[];for(let[L,U,,{suggestions:J}]of D){let te,le=J.filter(he=>he.descriptor!==null),ce=le[0].descriptor,ue=le.every(he=>G.areDescriptorsEqual(he.descriptor,ce));le.length===1||ue?te=ce:(C=!0,{answer:te}=await(0,Jde.prompt)({type:"select",name:"answer",message:`Which range do you want to use in ${G.prettyWorkspace(r,L)} \u276F ${U}?`,choices:J.map(({descriptor:he,name:De,reason:Ee})=>he?{name:De,hint:Ee,descriptor:he}:{name:De,hint:Ee,disabled:!0}),onCancel:()=>process.exit(130),result(he){return this.find(he,"descriptor")},stdin:this.context.stdin,stdout:this.context.stdout}));let Ie=L.manifest[U].get(te.identHash);if(typeof Ie>"u")throw new Error("Assertion failed: This descriptor should have a matching entry");if(Ie.descriptorHash!==te.descriptorHash)L.manifest[U].set(te.identHash,te),T.push([L,U,Ie,te]);else{let he=r.makeResolver(),De={project:o,resolver:he},Ee=r.normalizeDependency(Ie),g=he.bindDescriptor(Ee,L.anchoredLocator,De);o.forgetResolution(g)}}return await r.triggerMultipleHooks(L=>L.afterWorkspaceDependencyReplacement,T),C&&this.context.stdout.write(` +`),await o.installWithNewReport({stdout:this.context.stdout},{cache:n,mode:this.mode})}};Ke();Ke();Ke();Gt();var YE=class extends ut{constructor(){super(...arguments);this.recursive=de.Boolean("-R,--recursive",!1,{description:"List, for each workspace, what are all the paths that lead to the dependency"});this.json=de.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"});this.peers=de.Boolean("--peers",!1,{description:"Also print the peer dependencies that match the specified name"});this.package=de.String()}static{this.paths=[["why"]]}static{this.usage=ot.Usage({description:"display the reason why a package is needed",details:` + This command prints the exact reasons why a package appears in the dependency tree. + + If \`-R,--recursive\` is set, the listing will go in depth and will list, for each workspaces, what are all the paths that lead to the dependency. Note that the display is somewhat optimized in that it will not print the package listing twice for a single package, so if you see a leaf named "Foo" when looking for "Bar", it means that "Foo" already got printed higher in the tree. + `,examples:[["Explain why lodash is used in your project","$0 why lodash"]]})}async execute(){let r=await ze.find(this.context.cwd,this.context.plugins),{project:o,workspace:a}=await Qt.find(r,this.context.cwd);if(!a)throw new or(o.cwd,this.context.cwd);await o.restoreInstallState();let n=G.parseIdent(this.package).identHash,u=this.recursive?Z0t(o,n,{configuration:r,peers:this.peers}):X0t(o,n,{configuration:r,peers:this.peers});As.emitTree(u,{configuration:r,stdout:this.context.stdout,json:this.json,separators:1})}};function X0t(t,e,{configuration:r,peers:o}){let a=qe.sortMap(t.storedPackages.values(),A=>G.stringifyLocator(A)),n={},u={children:n};for(let A of a){let p={};for(let E of A.dependencies.values()){if(!o&&A.peerDependencies.has(E.identHash))continue;let w=t.storedResolutions.get(E.descriptorHash);if(!w)throw new Error("Assertion failed: The resolution should have been registered");let D=t.storedPackages.get(w);if(!D)throw new Error("Assertion failed: The package should have been registered");if(D.identHash!==e)continue;{let C=G.stringifyLocator(A);n[C]={value:[A,pe.Type.LOCATOR],children:p}}let x=G.stringifyLocator(D);p[x]={value:[{descriptor:E,locator:D},pe.Type.DEPENDENT]}}}return u}function Z0t(t,e,{configuration:r,peers:o}){let a=qe.sortMap(t.workspaces,D=>G.stringifyLocator(D.anchoredLocator)),n=new Set,u=new Set,A=D=>{if(n.has(D.locatorHash))return u.has(D.locatorHash);if(n.add(D.locatorHash),D.identHash===e)return u.add(D.locatorHash),!0;let x=!1;D.identHash===e&&(x=!0);for(let C of D.dependencies.values()){if(!o&&D.peerDependencies.has(C.identHash))continue;let T=t.storedResolutions.get(C.descriptorHash);if(!T)throw new Error("Assertion failed: The resolution should have been registered");let L=t.storedPackages.get(T);if(!L)throw new Error("Assertion failed: The package should have been registered");A(L)&&(x=!0)}return x&&u.add(D.locatorHash),x};for(let D of a)A(D.anchoredPackage);let p=new Set,h={},E={children:h},w=(D,x,C)=>{if(!u.has(D.locatorHash))return;let T=C!==null?pe.tuple(pe.Type.DEPENDENT,{locator:D,descriptor:C}):pe.tuple(pe.Type.LOCATOR,D),L={},U={value:T,children:L},J=G.stringifyLocator(D);if(x[J]=U,!(C!==null&&t.tryWorkspaceByLocator(D))&&!p.has(D.locatorHash)){p.add(D.locatorHash);for(let te of D.dependencies.values()){if(!o&&D.peerDependencies.has(te.identHash))continue;let le=t.storedResolutions.get(te.descriptorHash);if(!le)throw new Error("Assertion failed: The resolution should have been registered");let ce=t.storedPackages.get(le);if(!ce)throw new Error("Assertion failed: The package should have been registered");w(ce,L,te)}}};for(let D of a)w(D.anchoredPackage,h,null);return E}Ke();var OH={};Kt(OH,{GitFetcher:()=>_2,GitResolver:()=>H2,default:()=>Egt,gitUtils:()=>ra});Ke();Pt();var ra={};Kt(ra,{TreeishProtocols:()=>U2,clone:()=>LH,fetchBase:()=>mme,fetchChangedFiles:()=>yme,fetchChangedWorkspaces:()=>mgt,fetchRoot:()=>dme,isGitUrl:()=>JE,lsRemote:()=>gme,normalizeLocator:()=>dgt,normalizeRepoUrl:()=>KE,resolveUrl:()=>NH,splitRepoUrl:()=>Rh,validateRepoUrl:()=>TH});Ke();Pt();Gt();var fme=et(cme()),pme=et(t3()),VE=et(ve("querystring")),FH=et(ni());function QH(t,e,r){let o=t.indexOf(r);return t.lastIndexOf(e,o>-1?o:1/0)}function ume(t){try{return new URL(t)}catch{return}}function hgt(t){let e=QH(t,"@","#"),r=QH(t,":","#");return r>e&&(t=`${t.slice(0,r)}/${t.slice(r+1)}`),QH(t,":","#")===-1&&t.indexOf("//")===-1&&(t=`ssh://${t}`),t}function Ame(t){return ume(t)||ume(hgt(t))}function KE(t,{git:e=!1}={}){if(t=t.replace(/^git\+https:/,"https:"),t=t.replace(/^(?:github:|https:\/\/github\.com\/|git:\/\/github\.com\/)?(?!\.{1,2}\/)([a-zA-Z0-9._-]+)\/(?!\.{1,2}(?:#|$))([a-zA-Z0-9._-]+?)(?:\.git)?(#.*)?$/,"https://github.com/$1/$2.git$3"),t=t.replace(/^https:\/\/github\.com\/(?!\.{1,2}\/)([a-zA-Z0-9._-]+)\/(?!\.{1,2}(?:#|$))([a-zA-Z0-9._-]+?)\/tarball\/(.+)?$/,"https://github.com/$1/$2.git#$3"),e){let r=Ame(t);r&&(t=r.href),t=t.replace(/^git\+([^:]+):/,"$1:")}return t}function hme(){return{...process.env,GIT_SSH_COMMAND:process.env.GIT_SSH_COMMAND||`${process.env.GIT_SSH||"ssh"} -o BatchMode=yes`}}var ggt=[/^ssh:/,/^git(?:\+[^:]+)?:/,/^(?:git\+)?https?:[^#]+\/[^#]+(?:\.git)(?:#.*)?$/,/^git@[^#]+\/[^#]+\.git(?:#.*)?$/,/^(?:github:|https:\/\/github\.com\/)?(?!\.{1,2}\/)([a-zA-Z._0-9-]+)\/(?!\.{1,2}(?:#|$))([a-zA-Z._0-9-]+?)(?:\.git)?(?:#.*)?$/,/^https:\/\/github\.com\/(?!\.{1,2}\/)([a-zA-Z0-9._-]+)\/(?!\.{1,2}(?:#|$))([a-zA-Z0-9._-]+?)\/tarball\/(.+)?$/],U2=(a=>(a.Commit="commit",a.Head="head",a.Tag="tag",a.Semver="semver",a))(U2||{});function JE(t){return t?ggt.some(e=>!!t.match(e)):!1}function Rh(t){t=KE(t);let e=t.indexOf("#");if(e===-1)return{repo:t,treeish:{protocol:"head",request:"HEAD"},extra:{}};let r=t.slice(0,e),o=t.slice(e+1);if(o.match(/^[a-z]+=/)){let a=VE.default.parse(o);for(let[p,h]of Object.entries(a))if(typeof h!="string")throw new Error(`Assertion failed: The ${p} parameter must be a literal string`);let n=Object.values(U2).find(p=>Object.hasOwn(a,p)),[u,A]=typeof n<"u"?[n,a[n]]:["head","HEAD"];for(let p of Object.values(U2))delete a[p];return{repo:r,treeish:{protocol:u,request:A},extra:a}}else{let a=o.indexOf(":"),[n,u]=a===-1?[null,o]:[o.slice(0,a),o.slice(a+1)];return{repo:r,treeish:{protocol:n,request:u},extra:{}}}}function dgt(t){return G.makeLocator(t,KE(t.reference))}function TH(t,{configuration:e}){let r=KE(t,{git:!0});if(!on.getNetworkSettings(`https://${(0,fme.default)(r).resource}`,{configuration:e}).enableNetwork)throw new Jt(80,`Request to '${r}' has been blocked because of your configuration settings`);return r}async function gme(t,e){let r=TH(t,{configuration:e}),o=await RH("listing refs",["ls-remote",r],{cwd:e.startingCwd,env:hme()},{configuration:e,normalizedRepoUrl:r}),a=new Map,n=/^([a-f0-9]{40})\t([^\n]+)/gm,u;for(;(u=n.exec(o.stdout))!==null;)a.set(u[2],u[1]);return a}async function NH(t,e){let{repo:r,treeish:{protocol:o,request:a},extra:n}=Rh(t),u=await gme(r,e),A=(h,E)=>{switch(h){case"commit":{if(!E.match(/^[a-f0-9]{40}$/))throw new Error("Invalid commit hash");return VE.default.stringify({...n,commit:E})}case"head":{let w=u.get(E==="HEAD"?E:`refs/heads/${E}`);if(typeof w>"u")throw new Error(`Unknown head ("${E}")`);return VE.default.stringify({...n,commit:w})}case"tag":{let w=u.get(`refs/tags/${E}`);if(typeof w>"u")throw new Error(`Unknown tag ("${E}")`);return VE.default.stringify({...n,commit:w})}case"semver":{let w=Ur.validRange(E);if(!w)throw new Error(`Invalid range ("${E}")`);let D=new Map([...u.entries()].filter(([C])=>C.startsWith("refs/tags/")).map(([C,T])=>[FH.default.parse(C.slice(10)),T]).filter(C=>C[0]!==null)),x=FH.default.maxSatisfying([...D.keys()],w);if(x===null)throw new Error(`No matching range ("${E}")`);return VE.default.stringify({...n,commit:D.get(x)})}case null:{let w;if((w=p("commit",E))!==null||(w=p("tag",E))!==null||(w=p("head",E))!==null)return w;throw E.match(/^[a-f0-9]+$/)?new Error(`Couldn't resolve "${E}" as either a commit, a tag, or a head - if a commit, use the 40-characters commit hash`):new Error(`Couldn't resolve "${E}" as either a commit, a tag, or a head`)}default:throw new Error(`Invalid Git resolution protocol ("${h}")`)}},p=(h,E)=>{try{return A(h,E)}catch{return null}};return KE(`${r}#${A(o,a)}`)}async function LH(t,e){return await e.getLimit("cloneConcurrency")(async()=>{let{repo:r,treeish:{protocol:o,request:a}}=Rh(t);if(o!=="commit")throw new Error("Invalid treeish protocol when cloning");let n=TH(r,{configuration:e}),u=await ae.mktempPromise(),A={cwd:u,env:hme()};return await RH("cloning the repository",["clone","-c core.autocrlf=false",n,Ae.fromPortablePath(u)],A,{configuration:e,normalizedRepoUrl:n}),await RH("switching branch",["checkout",`${a}`],A,{configuration:e,normalizedRepoUrl:n}),u})}async function dme(t){let e,r=t;do{if(e=r,await ae.existsPromise(K.join(e,".git")))return e;r=K.dirname(e)}while(r!==e);return null}async function mme(t,{baseRefs:e}){if(e.length===0)throw new it("Can't run this command with zero base refs specified.");let r=[];for(let A of e){let{code:p}=await Hr.execvp("git",["merge-base",A,"HEAD"],{cwd:t});p===0&&r.push(A)}if(r.length===0)throw new it(`No ancestor could be found between any of HEAD and ${e.join(", ")}`);let{stdout:o}=await Hr.execvp("git",["merge-base","HEAD",...r],{cwd:t,strict:!0}),a=o.trim(),{stdout:n}=await Hr.execvp("git",["show","--quiet","--pretty=format:%s",a],{cwd:t,strict:!0}),u=n.trim();return{hash:a,title:u}}async function yme(t,{base:e,project:r}){let o=qe.buildIgnorePattern(r.configuration.get("changesetIgnorePatterns")),{stdout:a}=await Hr.execvp("git",["diff","--name-only",`${e}`],{cwd:t,strict:!0}),n=a.split(/\r\n|\r|\n/).filter(h=>h.length>0).map(h=>K.resolve(t,Ae.toPortablePath(h))),{stdout:u}=await Hr.execvp("git",["ls-files","--others","--exclude-standard"],{cwd:t,strict:!0}),A=u.split(/\r\n|\r|\n/).filter(h=>h.length>0).map(h=>K.resolve(t,Ae.toPortablePath(h))),p=[...new Set([...n,...A].sort())];return o?p.filter(h=>!K.relative(r.cwd,h).match(o)):p}async function mgt({ref:t,project:e}){if(e.configuration.projectCwd===null)throw new it("This command can only be run from within a Yarn project");let r=[K.resolve(e.cwd,mr.lockfile),K.resolve(e.cwd,e.configuration.get("cacheFolder")),K.resolve(e.cwd,e.configuration.get("installStatePath")),K.resolve(e.cwd,e.configuration.get("virtualFolder"))];await e.configuration.triggerHook(u=>u.populateYarnPaths,e,u=>{u!=null&&r.push(u)});let o=await dme(e.configuration.projectCwd);if(o==null)throw new it("This command can only be run on Git repositories");let a=await mme(o,{baseRefs:typeof t=="string"?[t]:e.configuration.get("changesetBaseRefs")}),n=await yme(o,{base:a.hash,project:e});return new Set(qe.mapAndFilter(n,u=>{let A=e.tryWorkspaceByFilePath(u);return A===null?qe.mapAndFilter.skip:r.some(p=>u.startsWith(p))?qe.mapAndFilter.skip:A}))}async function RH(t,e,r,{configuration:o,normalizedRepoUrl:a}){try{return await Hr.execvp("git",e,{...r,strict:!0})}catch(n){if(!(n instanceof Hr.ExecError))throw n;let u=n.reportExtra,A=n.stderr.toString();throw new Jt(1,`Failed ${t}`,p=>{p.reportError(1,` ${pe.prettyField(o,{label:"Repository URL",value:pe.tuple(pe.Type.URL,a)})}`);for(let h of A.matchAll(/^(.+?): (.*)$/gm)){let[,E,w]=h;E=E.toLowerCase();let D=E==="error"?"Error":`${(0,pme.default)(E)} Error`;p.reportError(1,` ${pe.prettyField(o,{label:D,value:pe.tuple(pe.Type.NO_HINT,w)})}`)}u?.(p)})}}var _2=class{supports(e,r){return JE(e.reference)}getLocalPath(e,r){return null}async fetch(e,r){let o=r.checksums.get(e.locatorHash)||null,a=new Map(r.checksums);a.set(e.locatorHash,o);let n={...r,checksums:a},u=await this.downloadHosted(e,n);if(u!==null)return u;let[A,p,h]=await r.cache.fetchPackageFromCache(e,o,{onHit:()=>r.report.reportCacheHit(e),onMiss:()=>r.report.reportCacheMiss(e,`${G.prettyLocator(r.project.configuration,e)} can't be found in the cache and will be fetched from the remote repository`),loader:()=>this.cloneFromRemote(e,n),...r.cacheOptions});return{packageFs:A,releaseFs:p,prefixPath:G.getIdentVendorPath(e),checksum:h}}async downloadHosted(e,r){return r.project.configuration.reduceHook(o=>o.fetchHostedRepository,null,e,r)}async cloneFromRemote(e,r){let o=Rh(e.reference),a=await LH(e.reference,r.project.configuration),n=K.resolve(a,o.extra.cwd??Bt.dot),u=K.join(n,"package.tgz");await hn.prepareExternalProject(n,u,{configuration:r.project.configuration,report:r.report,workspace:o.extra.workspace,locator:e});let A=await ae.readFilePromise(u);return await qe.releaseAfterUseAsync(async()=>await $i.convertToZip(A,{configuration:r.project.configuration,prefixPath:G.getIdentVendorPath(e),stripComponents:1}))}};Ke();Ke();var H2=class{supportsDescriptor(e,r){return JE(e.range)}supportsLocator(e,r){return JE(e.reference)}shouldPersistResolution(e,r){return!0}bindDescriptor(e,r,o){return e}getResolutionDependencies(e,r){return{}}async getCandidates(e,r,o){let a=await NH(e.range,o.project.configuration);return[G.makeLocator(e,a)]}async getSatisfying(e,r,o,a){let n=Rh(e.range);return{locators:o.filter(A=>{if(A.identHash!==e.identHash)return!1;let p=Rh(A.reference);return!(n.repo!==p.repo||n.treeish.protocol==="commit"&&n.treeish.request!==p.treeish.request)}),sorted:!1}}async resolve(e,r){if(!r.fetchOptions)throw new Error("Assertion failed: This resolver cannot be used unless a fetcher is configured");let o=await r.fetchOptions.fetcher.fetch(e,r.fetchOptions),a=await qe.releaseAfterUseAsync(async()=>await _t.find(o.prefixPath,{baseFs:o.packageFs}),o.releaseFs);return{...e,version:a.version||"0.0.0",languageName:a.languageName||r.project.configuration.get("defaultLanguageName"),linkType:"HARD",conditions:a.getConditions(),dependencies:r.project.configuration.normalizeDependencyMap(a.dependencies),peerDependencies:a.peerDependencies,dependenciesMeta:a.dependenciesMeta,peerDependenciesMeta:a.peerDependenciesMeta,bin:a.bin}}};var ygt={configuration:{changesetBaseRefs:{description:"The base git refs that the current HEAD is compared against when detecting changes. Supports git branches, tags, and commits.",type:"STRING",isArray:!0,isNullable:!1,default:["master","origin/master","upstream/master","main","origin/main","upstream/main"]},changesetIgnorePatterns:{description:"Array of glob patterns; files matching them will be ignored when fetching the changed files",type:"STRING",default:[],isArray:!0},cloneConcurrency:{description:"Maximal number of concurrent clones",type:"NUMBER",default:2}},fetchers:[_2],resolvers:[H2]};var Egt=ygt;Gt();var zE=class extends ut{constructor(){super(...arguments);this.since=de.String("--since",{description:"Only include workspaces that have been changed since the specified ref.",tolerateBoolean:!0});this.recursive=de.Boolean("-R,--recursive",!1,{description:"Find packages via dependencies/devDependencies instead of using the workspaces field"});this.noPrivate=de.Boolean("--no-private",{description:"Exclude workspaces that have the private field set to true"});this.verbose=de.Boolean("-v,--verbose",!1,{description:"Also return the cross-dependencies between workspaces"});this.json=de.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"})}static{this.paths=[["workspaces","list"]]}static{this.usage=ot.Usage({category:"Workspace-related commands",description:"list all available workspaces",details:"\n This command will print the list of all workspaces in the project.\n\n - If `--since` is set, Yarn will only list workspaces that have been modified since the specified ref. By default Yarn will use the refs specified by the `changesetBaseRefs` configuration option.\n\n - If `-R,--recursive` is set, Yarn will find workspaces to run the command on by recursively evaluating `dependencies` and `devDependencies` fields, instead of looking at the `workspaces` fields.\n\n - If `--no-private` is set, Yarn will not list any workspaces that have the `private` field set to `true`.\n\n - If both the `-v,--verbose` and `--json` options are set, Yarn will also return the cross-dependencies between each workspaces (useful when you wish to automatically generate Buck / Bazel rules).\n "})}async execute(){let r=await ze.find(this.context.cwd,this.context.plugins),{project:o}=await Qt.find(r,this.context.cwd);return(await Nt.start({configuration:r,json:this.json,stdout:this.context.stdout},async n=>{let u=this.since?await ra.fetchChangedWorkspaces({ref:this.since,project:o}):o.workspaces,A=new Set(u);if(this.recursive)for(let p of[...u].map(h=>h.getRecursiveWorkspaceDependents()))for(let h of p)A.add(h);for(let p of A){let{manifest:h}=p;if(h.private&&this.noPrivate)continue;let E;if(this.verbose){let w=new Set,D=new Set;for(let x of _t.hardDependencies)for(let[C,T]of h.getForScope(x)){let L=o.tryWorkspaceByDescriptor(T);L===null?o.workspacesByIdent.has(C)&&D.add(T):w.add(L)}E={workspaceDependencies:Array.from(w).map(x=>x.relativeCwd),mismatchedWorkspaceDependencies:Array.from(D).map(x=>G.stringifyDescriptor(x))}}n.reportInfo(null,`${p.relativeCwd}`),n.reportJson({location:p.relativeCwd,name:h.name?G.stringifyIdent(h.name):null,...E})}})).exitCode()}};Ke();Ke();Gt();var XE=class extends ut{constructor(){super(...arguments);this.workspaceName=de.String();this.commandName=de.String();this.args=de.Proxy()}static{this.paths=[["workspace"]]}static{this.usage=ot.Usage({category:"Workspace-related commands",description:"run a command within the specified workspace",details:` + This command will run a given sub-command on a single workspace. + `,examples:[["Add a package to a single workspace","yarn workspace components add -D react"],["Run build script on a single workspace","yarn workspace components run build"]]})}async execute(){let r=await ze.find(this.context.cwd,this.context.plugins),{project:o,workspace:a}=await Qt.find(r,this.context.cwd);if(!a)throw new or(o.cwd,this.context.cwd);let n=o.workspaces,u=new Map(n.map(p=>[G.stringifyIdent(p.anchoredLocator),p])),A=u.get(this.workspaceName);if(A===void 0){let p=Array.from(u.keys()).sort();throw new it(`Workspace '${this.workspaceName}' not found. Did you mean any of the following: + - ${p.join(` + - `)}?`)}return this.cli.run([this.commandName,...this.args],{cwd:A.cwd})}};var Cgt={configuration:{enableImmutableInstalls:{description:"If true (the default on CI), prevents the install command from modifying the lockfile",type:"BOOLEAN",default:Eme.isCI},defaultSemverRangePrefix:{description:"The default save prefix: '^', '~' or ''",type:"STRING",values:["^","~",""],default:"^"},preferReuse:{description:"If true, `yarn add` will attempt to reuse the most common dependency range in other workspaces.",type:"BOOLEAN",default:!1}},commands:[hE,gE,dE,mE,jE,TE,PE,zE,CE,IE,wE,BE,fE,pE,yE,EE,vE,DE,SE,bE,xE,kE,GE,QE,FE,LE,NE,OE,RE,ME,UE,_E,HE,qE,WE,YE,XE]},Igt=Cgt;var jH={};Kt(jH,{default:()=>Bgt});Ke();var kt={optional:!0},UH=[["@tailwindcss/aspect-ratio@<0.2.1",{peerDependencies:{tailwindcss:"^2.0.2"}}],["@tailwindcss/line-clamp@<0.2.1",{peerDependencies:{tailwindcss:"^2.0.2"}}],["@fullhuman/postcss-purgecss@3.1.3 || 3.1.3-alpha.0",{peerDependencies:{postcss:"^8.0.0"}}],["@samverschueren/stream-to-observable@<0.3.1",{peerDependenciesMeta:{rxjs:kt,zenObservable:kt}}],["any-observable@<0.5.1",{peerDependenciesMeta:{rxjs:kt,zenObservable:kt}}],["@pm2/agent@<1.0.4",{dependencies:{debug:"*"}}],["debug@<4.2.0",{peerDependenciesMeta:{"supports-color":kt}}],["got@<11",{dependencies:{"@types/responselike":"^1.0.0","@types/keyv":"^3.1.1"}}],["cacheable-lookup@<4.1.2",{dependencies:{"@types/keyv":"^3.1.1"}}],["http-link-dataloader@*",{peerDependencies:{graphql:"^0.13.1 || ^14.0.0"}}],["typescript-language-server@*",{dependencies:{"vscode-jsonrpc":"^5.0.1","vscode-languageserver-protocol":"^3.15.0"}}],["postcss-syntax@*",{peerDependenciesMeta:{"postcss-html":kt,"postcss-jsx":kt,"postcss-less":kt,"postcss-markdown":kt,"postcss-scss":kt}}],["jss-plugin-rule-value-function@<=10.1.1",{dependencies:{"tiny-warning":"^1.0.2"}}],["ink-select-input@<4.1.0",{peerDependencies:{react:"^16.8.2"}}],["license-webpack-plugin@<2.3.18",{peerDependenciesMeta:{webpack:kt}}],["snowpack@>=3.3.0",{dependencies:{"node-gyp":"^7.1.0"}}],["promise-inflight@*",{peerDependenciesMeta:{bluebird:kt}}],["reactcss@*",{peerDependencies:{react:"*"}}],["react-color@<=2.19.0",{peerDependencies:{react:"*"}}],["gatsby-plugin-i18n@*",{dependencies:{ramda:"^0.24.1"}}],["useragent@^2.0.0",{dependencies:{request:"^2.88.0",yamlparser:"0.0.x",semver:"5.5.x"}}],["@apollographql/apollo-tools@<=0.5.2",{peerDependencies:{graphql:"^14.2.1 || ^15.0.0"}}],["material-table@^2.0.0",{dependencies:{"@babel/runtime":"^7.11.2"}}],["@babel/parser@*",{dependencies:{"@babel/types":"^7.8.3"}}],["fork-ts-checker-webpack-plugin@<=6.3.4",{peerDependencies:{eslint:">= 6",typescript:">= 2.7",webpack:">= 4","vue-template-compiler":"*"},peerDependenciesMeta:{eslint:kt,"vue-template-compiler":kt}}],["rc-animate@<=3.1.1",{peerDependencies:{react:">=16.9.0","react-dom":">=16.9.0"}}],["react-bootstrap-table2-paginator@*",{dependencies:{classnames:"^2.2.6"}}],["react-draggable@<=4.4.3",{peerDependencies:{react:">= 16.3.0","react-dom":">= 16.3.0"}}],["apollo-upload-client@<14",{peerDependencies:{graphql:"14 - 15"}}],["react-instantsearch-core@<=6.7.0",{peerDependencies:{algoliasearch:">= 3.1 < 5"}}],["react-instantsearch-dom@<=6.7.0",{dependencies:{"react-fast-compare":"^3.0.0"}}],["ws@<7.2.1",{peerDependencies:{bufferutil:"^4.0.1","utf-8-validate":"^5.0.2"},peerDependenciesMeta:{bufferutil:kt,"utf-8-validate":kt}}],["react-portal@<4.2.2",{peerDependencies:{"react-dom":"^15.0.0-0 || ^16.0.0-0 || ^17.0.0-0"}}],["react-scripts@<=4.0.1",{peerDependencies:{react:"*"}}],["testcafe@<=1.10.1",{dependencies:{"@babel/plugin-transform-for-of":"^7.12.1","@babel/runtime":"^7.12.5"}}],["testcafe-legacy-api@<=4.2.0",{dependencies:{"testcafe-hammerhead":"^17.0.1","read-file-relative":"^1.2.0"}}],["@google-cloud/firestore@<=4.9.3",{dependencies:{protobufjs:"^6.8.6"}}],["gatsby-source-apiserver@*",{dependencies:{"babel-polyfill":"^6.26.0"}}],["@webpack-cli/package-utils@<=1.0.1-alpha.4",{dependencies:{"cross-spawn":"^7.0.3"}}],["gatsby-remark-prismjs@<3.3.28",{dependencies:{lodash:"^4"}}],["gatsby-plugin-favicon@*",{peerDependencies:{webpack:"*"}}],["gatsby-plugin-sharp@<=4.6.0-next.3",{dependencies:{debug:"^4.3.1"}}],["gatsby-react-router-scroll@<=5.6.0-next.0",{dependencies:{"prop-types":"^15.7.2"}}],["@rebass/forms@*",{dependencies:{"@styled-system/should-forward-prop":"^5.0.0"},peerDependencies:{react:"^16.8.6"}}],["rebass@*",{peerDependencies:{react:"^16.8.6"}}],["@ant-design/react-slick@<=0.28.3",{peerDependencies:{react:">=16.0.0"}}],["mqtt@<4.2.7",{dependencies:{duplexify:"^4.1.1"}}],["vue-cli-plugin-vuetify@<=2.0.3",{dependencies:{semver:"^6.3.0"},peerDependenciesMeta:{"sass-loader":kt,"vuetify-loader":kt}}],["vue-cli-plugin-vuetify@<=2.0.4",{dependencies:{"null-loader":"^3.0.0"}}],["vue-cli-plugin-vuetify@>=2.4.3",{peerDependencies:{vue:"*"}}],["@vuetify/cli-plugin-utils@<=0.0.4",{dependencies:{semver:"^6.3.0"},peerDependenciesMeta:{"sass-loader":kt}}],["@vue/cli-plugin-typescript@<=5.0.0-alpha.0",{dependencies:{"babel-loader":"^8.1.0"}}],["@vue/cli-plugin-typescript@<=5.0.0-beta.0",{dependencies:{"@babel/core":"^7.12.16"},peerDependencies:{"vue-template-compiler":"^2.0.0"},peerDependenciesMeta:{"vue-template-compiler":kt}}],["cordova-ios@<=6.3.0",{dependencies:{underscore:"^1.9.2"}}],["cordova-lib@<=10.0.1",{dependencies:{underscore:"^1.9.2"}}],["git-node-fs@*",{peerDependencies:{"js-git":"^0.7.8"},peerDependenciesMeta:{"js-git":kt}}],["consolidate@<0.16.0",{peerDependencies:{mustache:"^3.0.0"},peerDependenciesMeta:{mustache:kt}}],["consolidate@<=0.16.0",{peerDependencies:{velocityjs:"^2.0.1",tinyliquid:"^0.2.34","liquid-node":"^3.0.1",jade:"^1.11.0","then-jade":"*",dust:"^0.3.0","dustjs-helpers":"^1.7.4","dustjs-linkedin":"^2.7.5",swig:"^1.4.2","swig-templates":"^2.0.3","razor-tmpl":"^1.3.1",atpl:">=0.7.6",liquor:"^0.0.5",twig:"^1.15.2",ejs:"^3.1.5",eco:"^1.1.0-rc-3",jazz:"^0.0.18",jqtpl:"~1.1.0",hamljs:"^0.6.2",hamlet:"^0.3.3",whiskers:"^0.4.0","haml-coffee":"^1.14.1","hogan.js":"^3.0.2",templayed:">=0.2.3",handlebars:"^4.7.6",underscore:"^1.11.0",lodash:"^4.17.20",pug:"^3.0.0","then-pug":"*",qejs:"^3.0.5",walrus:"^0.10.1",mustache:"^4.0.1",just:"^0.1.8",ect:"^0.5.9",mote:"^0.2.0",toffee:"^0.3.6",dot:"^1.1.3","bracket-template":"^1.1.5",ractive:"^1.3.12",nunjucks:"^3.2.2",htmling:"^0.0.8","babel-core":"^6.26.3",plates:"~0.4.11","react-dom":"^16.13.1",react:"^16.13.1","arc-templates":"^0.5.3",vash:"^0.13.0",slm:"^2.0.0",marko:"^3.14.4",teacup:"^2.0.0","coffee-script":"^1.12.7",squirrelly:"^5.1.0",twing:"^5.0.2"},peerDependenciesMeta:{velocityjs:kt,tinyliquid:kt,"liquid-node":kt,jade:kt,"then-jade":kt,dust:kt,"dustjs-helpers":kt,"dustjs-linkedin":kt,swig:kt,"swig-templates":kt,"razor-tmpl":kt,atpl:kt,liquor:kt,twig:kt,ejs:kt,eco:kt,jazz:kt,jqtpl:kt,hamljs:kt,hamlet:kt,whiskers:kt,"haml-coffee":kt,"hogan.js":kt,templayed:kt,handlebars:kt,underscore:kt,lodash:kt,pug:kt,"then-pug":kt,qejs:kt,walrus:kt,mustache:kt,just:kt,ect:kt,mote:kt,toffee:kt,dot:kt,"bracket-template":kt,ractive:kt,nunjucks:kt,htmling:kt,"babel-core":kt,plates:kt,"react-dom":kt,react:kt,"arc-templates":kt,vash:kt,slm:kt,marko:kt,teacup:kt,"coffee-script":kt,squirrelly:kt,twing:kt}}],["vue-loader@<=16.3.3",{peerDependencies:{"@vue/compiler-sfc":"^3.0.8",webpack:"^4.1.0 || ^5.0.0-0"},peerDependenciesMeta:{"@vue/compiler-sfc":kt}}],["vue-loader@^16.7.0",{peerDependencies:{"@vue/compiler-sfc":"^3.0.8",vue:"^3.2.13"},peerDependenciesMeta:{"@vue/compiler-sfc":kt,vue:kt}}],["scss-parser@<=1.0.5",{dependencies:{lodash:"^4.17.21"}}],["query-ast@<1.0.5",{dependencies:{lodash:"^4.17.21"}}],["redux-thunk@<=2.3.0",{peerDependencies:{redux:"^4.0.0"}}],["skypack@<=0.3.2",{dependencies:{tar:"^6.1.0"}}],["@npmcli/metavuln-calculator@<2.0.0",{dependencies:{"json-parse-even-better-errors":"^2.3.1"}}],["bin-links@<2.3.0",{dependencies:{"mkdirp-infer-owner":"^1.0.2"}}],["rollup-plugin-polyfill-node@<=0.8.0",{peerDependencies:{rollup:"^1.20.0 || ^2.0.0"}}],["snowpack@<3.8.6",{dependencies:{"magic-string":"^0.25.7"}}],["elm-webpack-loader@*",{dependencies:{temp:"^0.9.4"}}],["winston-transport@<=4.4.0",{dependencies:{logform:"^2.2.0"}}],["jest-vue-preprocessor@*",{dependencies:{"@babel/core":"7.8.7","@babel/template":"7.8.6"},peerDependencies:{pug:"^2.0.4"},peerDependenciesMeta:{pug:kt}}],["redux-persist@*",{peerDependencies:{react:">=16"},peerDependenciesMeta:{react:kt}}],["sodium@>=3",{dependencies:{"node-gyp":"^3.8.0"}}],["babel-plugin-graphql-tag@<=3.1.0",{peerDependencies:{graphql:"^14.0.0 || ^15.0.0"}}],["@playwright/test@<=1.14.1",{dependencies:{"jest-matcher-utils":"^26.4.2"}}],...["babel-plugin-remove-graphql-queries@<3.14.0-next.1","babel-preset-gatsby-package@<1.14.0-next.1","create-gatsby@<1.14.0-next.1","gatsby-admin@<0.24.0-next.1","gatsby-cli@<3.14.0-next.1","gatsby-core-utils@<2.14.0-next.1","gatsby-design-tokens@<3.14.0-next.1","gatsby-legacy-polyfills@<1.14.0-next.1","gatsby-plugin-benchmark-reporting@<1.14.0-next.1","gatsby-plugin-graphql-config@<0.23.0-next.1","gatsby-plugin-image@<1.14.0-next.1","gatsby-plugin-mdx@<2.14.0-next.1","gatsby-plugin-netlify-cms@<5.14.0-next.1","gatsby-plugin-no-sourcemaps@<3.14.0-next.1","gatsby-plugin-page-creator@<3.14.0-next.1","gatsby-plugin-preact@<5.14.0-next.1","gatsby-plugin-preload-fonts@<2.14.0-next.1","gatsby-plugin-schema-snapshot@<2.14.0-next.1","gatsby-plugin-styletron@<6.14.0-next.1","gatsby-plugin-subfont@<3.14.0-next.1","gatsby-plugin-utils@<1.14.0-next.1","gatsby-recipes@<0.25.0-next.1","gatsby-source-shopify@<5.6.0-next.1","gatsby-source-wikipedia@<3.14.0-next.1","gatsby-transformer-screenshot@<3.14.0-next.1","gatsby-worker@<0.5.0-next.1"].map(t=>[t,{dependencies:{"@babel/runtime":"^7.14.8"}}]),["gatsby-core-utils@<2.14.0-next.1",{dependencies:{got:"8.3.2"}}],["gatsby-plugin-gatsby-cloud@<=3.1.0-next.0",{dependencies:{"gatsby-core-utils":"^2.13.0-next.0"}}],["gatsby-plugin-gatsby-cloud@<=3.2.0-next.1",{peerDependencies:{webpack:"*"}}],["babel-plugin-remove-graphql-queries@<=3.14.0-next.1",{dependencies:{"gatsby-core-utils":"^2.8.0-next.1"}}],["gatsby-plugin-netlify@3.13.0-next.1",{dependencies:{"gatsby-core-utils":"^2.13.0-next.0"}}],["clipanion-v3-codemod@<=0.2.0",{peerDependencies:{jscodeshift:"^0.11.0"}}],["react-live@*",{peerDependencies:{"react-dom":"*",react:"*"}}],["webpack@<4.44.1",{peerDependenciesMeta:{"webpack-cli":kt,"webpack-command":kt}}],["webpack@<5.0.0-beta.23",{peerDependenciesMeta:{"webpack-cli":kt}}],["webpack-dev-server@<3.10.2",{peerDependenciesMeta:{"webpack-cli":kt}}],["@docusaurus/responsive-loader@<1.5.0",{peerDependenciesMeta:{sharp:kt,jimp:kt}}],["eslint-module-utils@*",{peerDependenciesMeta:{"eslint-import-resolver-node":kt,"eslint-import-resolver-typescript":kt,"eslint-import-resolver-webpack":kt,"@typescript-eslint/parser":kt}}],["eslint-plugin-import@*",{peerDependenciesMeta:{"@typescript-eslint/parser":kt}}],["critters-webpack-plugin@<3.0.2",{peerDependenciesMeta:{"html-webpack-plugin":kt}}],["terser@<=5.10.0",{dependencies:{acorn:"^8.5.0"}}],["babel-preset-react-app@10.0.x <10.0.2",{dependencies:{"@babel/plugin-proposal-private-property-in-object":"^7.16.7"}}],["eslint-config-react-app@*",{peerDependenciesMeta:{typescript:kt}}],["@vue/eslint-config-typescript@<11.0.0",{peerDependenciesMeta:{typescript:kt}}],["unplugin-vue2-script-setup@<0.9.1",{peerDependencies:{"@vue/composition-api":"^1.4.3","@vue/runtime-dom":"^3.2.26"}}],["@cypress/snapshot@*",{dependencies:{debug:"^3.2.7"}}],["auto-relay@<=0.14.0",{peerDependencies:{"reflect-metadata":"^0.1.13"}}],["vue-template-babel-compiler@<1.2.0",{peerDependencies:{"vue-template-compiler":"^2.6.0"}}],["@parcel/transformer-image@<2.5.0",{peerDependencies:{"@parcel/core":"*"}}],["@parcel/transformer-js@<2.5.0",{peerDependencies:{"@parcel/core":"*"}}],["parcel@*",{peerDependenciesMeta:{"@parcel/core":kt}}],["react-scripts@*",{peerDependencies:{eslint:"*"}}],["focus-trap-react@^8.0.0",{dependencies:{tabbable:"^5.3.2"}}],["react-rnd@<10.3.7",{peerDependencies:{react:">=16.3.0","react-dom":">=16.3.0"}}],["connect-mongo@<5.0.0",{peerDependencies:{"express-session":"^1.17.1"}}],["vue-i18n@<9",{peerDependencies:{vue:"^2"}}],["vue-router@<4",{peerDependencies:{vue:"^2"}}],["unified@<10",{dependencies:{"@types/unist":"^2.0.0"}}],["react-github-btn@<=1.3.0",{peerDependencies:{react:">=16.3.0"}}],["react-dev-utils@*",{peerDependencies:{typescript:">=2.7",webpack:">=4"},peerDependenciesMeta:{typescript:kt}}],["@asyncapi/react-component@<=1.0.0-next.39",{peerDependencies:{react:">=16.8.0","react-dom":">=16.8.0"}}],["xo@*",{peerDependencies:{webpack:">=1.11.0"},peerDependenciesMeta:{webpack:kt}}],["babel-plugin-remove-graphql-queries@<=4.20.0-next.0",{dependencies:{"@babel/types":"^7.15.4"}}],["gatsby-plugin-page-creator@<=4.20.0-next.1",{dependencies:{"fs-extra":"^10.1.0"}}],["gatsby-plugin-utils@<=3.14.0-next.1",{dependencies:{fastq:"^1.13.0"},peerDependencies:{graphql:"^15.0.0"}}],["gatsby-plugin-mdx@<3.1.0-next.1",{dependencies:{mkdirp:"^1.0.4"}}],["gatsby-plugin-mdx@^2",{peerDependencies:{gatsby:"^3.0.0-next"}}],["fdir@<=5.2.0",{peerDependencies:{picomatch:"2.x"},peerDependenciesMeta:{picomatch:kt}}],["babel-plugin-transform-typescript-metadata@<=0.3.2",{peerDependencies:{"@babel/core":"^7","@babel/traverse":"^7"},peerDependenciesMeta:{"@babel/traverse":kt}}],["graphql-compose@>=9.0.10",{peerDependencies:{graphql:"^14.2.0 || ^15.0.0 || ^16.0.0"}}],["vite-plugin-vuetify@<=1.0.2",{peerDependencies:{vue:"^3.0.0"}}],["webpack-plugin-vuetify@<=2.0.1",{peerDependencies:{vue:"^3.2.6"}}],["eslint-import-resolver-vite@<2.0.1",{dependencies:{debug:"^4.3.4",resolve:"^1.22.8"}}],["notistack@^3.0.0",{dependencies:{csstype:"^3.0.10"}}]];var _H;function Cme(){return typeof _H>"u"&&(_H=ve("zlib").brotliDecompressSync(Buffer.from("G7weAByFTVk3Vs7UfHhq4yykgEM7pbW7TI43SG2S5tvGrwHBAzdz+s/npQ6tgEvobvxisrPIadkXeUAJotBn5bDZ5kAhcRqsIHe3F75Walet5hNalwgFDtxb0BiDUjiUQkjG0yW2hto9HPgiCkm316d6bC0kST72YN7D7rfkhCE9x4J0XwB0yavalxpUu2t9xszHrmtwalOxT7VslsxWcB1qpqZwERUra4psWhTV8BgwWeizurec82Caf1ABL11YMfbf8FJ9JBceZOkgmvrQPbC9DUldX/yMbmX06UQluCEjSwUoyO+EZPIjofr+/oAZUck2enraRD+oWLlnlYnj8xB+gwSo9lmmks4fXv574qSqcWA6z21uYkzMu3EWj+K23RxeQlLqiE35/rC8GcS4CGkKHKKq+zAIQwD9iRDNfiAqueLLpicFFrNsAI4zeTD/eO9MHcnRa5m8UT+M2+V+AkFST4BlKneiAQRSdST8KEAIyFlULt6wa9EBd0Ds28VmpaxquJdVt+nwdEs5xUskI13OVtFyY0UrQIRAlCuvvWivvlSKQfTO+2Q8OyUR1W5RvetaPz4jD27hdtwHFFA1Ptx6Ee/t2cY2rg2G46M1pNDRf2pWhvpy8pqMnuI3++4OF3+7OFIWXGjh+o7Nr2jNvbiYcQdQS1h903/jVFgOpA0yJ78z+x759bFA0rq+6aY5qPB4FzS3oYoLupDUhD9nDz6F6H7hpnlMf18KNKDu4IKjTWwrAnY6MFQw1W6ymOALHlFyCZmQhldg1MQHaMVVQTVgDC60TfaBqG++Y8PEoFhN/PBTZT175KNP/BlHDYGOOBmnBdzqJKplZ/ljiVG0ZBzfqeBRrrUkn6rA54462SgiliKoYVnbeptMdXNfAuaupIEi0bApF10TlgHfmEJAPUVidRVFyDupSem5po5vErPqWKhKbUIp0LozpYsIKK57dM/HKr+nguF+7924IIWMICkQ8JUigs9D+W+c4LnNoRtPPKNRUiCYmP+Jfo2lfKCKw8qpraEeWU3uiNRO6zcyKQoXPR5htmzzLznke7b4YbXW3I1lIRzmgG02Udb58U+7TpwyN7XymCgH+wuPDthZVQvRZuEP+SnLtMicz9m5zASWOBiAcLmkuFlTKuHspSIhCBD0yUPKcxu81A+4YD78rA2vtwsUEday9WNyrShyrl60rWmA+SmbYZkQOwFJWArxRYYc5jGhA5ikxYw1rx3ei4NmeX/lKiwpZ9Ln1tV2Ae7sArvxuVLbJjqJRjW1vFXAyHpvLG+8MJ6T2Ubx5M2KDa2SN6vuIGxJ9WQM9Mk3Q7aCNiZONXllhqq24DmoLbQfW2rYWsOgHWjtOmIQMyMKdiHZDjoyIq5+U700nZ6odJAoYXPQBvFNiQ78d5jaXliBqLTJEqUCwi+LiH2mx92EmNKDsJL74Z613+3lf20pxkV1+erOrjj8pW00vsPaahKUM+05ssd5uwM7K482KWEf3TCwlg/o3e5ngto7qSMz7YteIgCsF1UOcsLk7F7MxWbvrPMY473ew0G+noVL8EPbkmEMftMSeL6HFub/zy+2JQ==","base64")).toString()),_H}var HH;function Ime(){return typeof HH>"u"&&(HH=ve("zlib").brotliDecompressSync(Buffer.from("G8MSIIzURnVBnObTcvb3XE6v2S9Qgc2K801Oa5otNKEtK8BINZNcaQHy+9/vf/WXBimwutXC33P2DPc64pps5rz7NGGWaOKNSPL4Y2KRE8twut2lFOIN+OXPtRmPMRhMTILib2bEQx43az2I5d3YS8Roa5UZpF/ujHb3Djd3GDvYUfvFYSUQ39vb2cmifp/rgB4J/65JK3wRBTvMBoNBmn3mbXC63/gbBkW/2IRPri0O8bcsRBsmarF328pAln04nyJFkwUAvNu934supAqLtyerZZpJ8I8suJHhf/ocMV+scKwa8NOiDKIPXw6Ex/EEZD6TEGaW8N5zvNHYF10l6Lfooj7D5W2k3dgvQSbp2Wv8TGOayS978gxlOLVjTGXs66ozewbrjwElLtyrYNnWTfzzdEutgROUFPVMhnMoy8EjJLLlWwIEoySxliim9kYW30JUHiPVyjt0iAw/ZpPmCbUCltYPnq6ZNblIKhTNhqS/oqC9iya5sGKZTOVsTEg34n92uZTf2iPpcZih8rPW8CzA+adIGmyCPcKdLMsBLShd+zuEbTrqpwuh+DLmracZcjPC5Sdf5odDAhKpFuOsQS67RT+1VgWWygSv3YwxDnylc04/PYuaMeIzhBkLrvs7e/OUzRTF56MmfY6rI63QtEjEQzq637zQqJ39nNhu3NmoRRhW/086bHGBUtx0PE0j3aEGvkdh9WJC8y8j8mqqke9/dQ5la+Q3ba4RlhvTbnfQhPDDab3tUifkjKuOsp13mXEmO00Mu88F/M67R7LXfoFDFLNtgCSWjWX+3Jn1371pJTK9xPBiMJafvDjtFyAzu8rxeQ0TKMQXNPs5xxiBOd+BRJP8KP88XPtJIbZKh/cdW8KvBUkpqKpGoiIaA32c3/JnQr4efXt85mXvidOvn/eU3Pase1typLYBalJ14mCso9h79nuMOuCa/kZAOkJHmTjP5RM2WNoPasZUAnT1TAE/NH25hUxcQv6hQWR/m1PKk4ooXMcM4SR1iYU3fUohvqk4RY2hbmTVVIXv6TvqO+0doOjgeVFAcom+RlwJQmOVH7pr1Q9LoJT6n1DeQEB+NHygsATbIwTcOKZlJsY8G4+suX1uQLjUWwLjjs0mvSvZcLTpIGAekeR7GCgl8eo3ndAqEe2XCav4huliHjdbIPBsGJuPX7lrO9HX1UbXRH5opOe1x6JsOSgHZR+EaxuXVhpLLxm6jk1LJtZfHSc6BKPun3CpYYVMJGwEUyk8MTGG0XL5MfEwaXpnc9TKnBmlGn6nHiGREc3ysn47XIBDzA+YvFdjZzVIEDcKGpS6PbUJehFRjEne8D0lVU1XuRtlgszq6pTNlQ/3MzNOEgCWPyTct22V2mEi2krizn5VDo9B19/X2DB3hCGRMM7ONbtnAcIx/OWB1u5uPbW1gsH8irXxT/IzG0PoXWYjhbMsH3KTuoOl5o17PulcgvsfTSnKFM354GWI8luqZnrswWjiXy3G+Vbyo1KMopFmmvBwNELgaS8z8dNZchx/Cl/xjddxhMcyqtzFyONb2Zdu90NkI8pAeufe7YlXrp53v8Dj/l8vWeVspRKBGXScBBPI/HinSTGmLDOGGOCIyH0JFdOZx0gWsacNlQLJMIrBhqRxXxHF/5pseWwejlAAvZ3klZSDSYY8mkToaWejXhgNomeGtx1DTLEUFMRkgF5yFB22WYdJnaWN14r1YJj81hGi45+jrADS5nYRhCiSlCJJ1nL8pYX+HDSMhdTEWyRcgHVp/IsUIZYMfT+YYncUQPgcxNGCHfZ88vDdrcUuaGIl6zhAsiaq7R5dfqrqXH/JcBhfjT8D0azayIyEz75Nxp6YkcyDxlJq3EXnJUpqDohJJOysL1t1uNiHESlvsxPb5cpbW0+ICZqJmUZus1BMW0F5IVBODLIo2zHHjA0=","base64")).toString()),HH}var qH;function wme(){return typeof qH>"u"&&(qH=ve("zlib").brotliDecompressSync(Buffer.from("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","base64")).toString()),qH}var Bme=new Map([[G.makeIdent(null,"fsevents").identHash,Cme],[G.makeIdent(null,"resolve").identHash,Ime],[G.makeIdent(null,"typescript").identHash,wme]]),wgt={hooks:{registerPackageExtensions:async(t,e)=>{for(let[r,o]of UH)e(G.parseDescriptor(r,!0),o)},getBuiltinPatch:async(t,e)=>{let r="compat/";if(!e.startsWith(r))return;let o=G.parseIdent(e.slice(r.length)),a=Bme.get(o.identHash)?.();return typeof a<"u"?a:null},reduceDependency:async(t,e,r,o)=>typeof Bme.get(t.identHash)>"u"?t:G.makeDescriptor(t,G.makeRange({protocol:"patch:",source:G.stringifyDescriptor(t),selector:`optional!builtin<compat/${G.stringifyIdent(t)}>`,params:null}))}},Bgt=wgt;var a6={};Kt(a6,{ConstraintsCheckCommand:()=>sC,ConstraintsQueryCommand:()=>nC,ConstraintsSourceCommand:()=>iC,default:()=>zgt});Ke();Ke();j2();var $E=class{constructor(e){this.project=e}createEnvironment(){let e=new ZE(["cwd","ident"]),r=new ZE(["workspace","type","ident"]),o=new ZE(["ident"]),a={manifestUpdates:new Map,reportedErrors:new Map},n=new Map,u=new Map;for(let A of this.project.storedPackages.values()){let p=Array.from(A.peerDependencies.values(),h=>[G.stringifyIdent(h),h.range]);n.set(A.locatorHash,{workspace:null,ident:G.stringifyIdent(A),version:A.version,dependencies:new Map,peerDependencies:new Map(p.filter(([h])=>A.peerDependenciesMeta.get(h)?.optional!==!0)),optionalPeerDependencies:new Map(p.filter(([h])=>A.peerDependenciesMeta.get(h)?.optional===!0))})}for(let A of this.project.storedPackages.values()){let p=n.get(A.locatorHash);p.dependencies=new Map(Array.from(A.dependencies.values(),h=>{let E=this.project.storedResolutions.get(h.descriptorHash);if(typeof E>"u")throw new Error("Assertion failed: The resolution should have been registered");let w=n.get(E);if(typeof w>"u")throw new Error("Assertion failed: The package should have been registered");return[G.stringifyIdent(h),w]})),p.dependencies.delete(p.ident)}for(let A of this.project.workspaces){let p=G.stringifyIdent(A.anchoredLocator),h=A.manifest.exportTo({}),E=n.get(A.anchoredLocator.locatorHash);if(typeof E>"u")throw new Error("Assertion failed: The package should have been registered");let w=(T,L,{caller:U=Xi.getCaller()}={})=>{let J=q2(T),te=qe.getMapWithDefault(a.manifestUpdates,A.cwd),le=qe.getMapWithDefault(te,J),ce=qe.getSetWithDefault(le,L);U!==null&&ce.add(U)},D=T=>w(T,void 0,{caller:Xi.getCaller()}),x=T=>{qe.getArrayWithDefault(a.reportedErrors,A.cwd).push(T)},C=e.insert({cwd:A.relativeCwd,ident:p,manifest:h,pkg:E,set:w,unset:D,error:x});u.set(A,C);for(let T of _t.allDependencies)for(let L of A.manifest[T].values()){let U=G.stringifyIdent(L),J=()=>{w([T,U],void 0,{caller:Xi.getCaller()})},te=ce=>{w([T,U],ce,{caller:Xi.getCaller()})},le=null;if(T!=="peerDependencies"&&(T!=="dependencies"||!A.manifest.devDependencies.has(L.identHash))){let ce=A.anchoredPackage.dependencies.get(L.identHash);if(ce){if(typeof ce>"u")throw new Error("Assertion failed: The dependency should have been registered");let ue=this.project.storedResolutions.get(ce.descriptorHash);if(typeof ue>"u")throw new Error("Assertion failed: The resolution should have been registered");let Ie=n.get(ue);if(typeof Ie>"u")throw new Error("Assertion failed: The package should have been registered");le=Ie}}r.insert({workspace:C,ident:U,range:L.range,type:T,resolution:le,update:te,delete:J,error:x})}}for(let A of this.project.storedPackages.values()){let p=this.project.tryWorkspaceByLocator(A);if(!p)continue;let h=u.get(p);if(typeof h>"u")throw new Error("Assertion failed: The workspace should have been registered");let E=n.get(A.locatorHash);if(typeof E>"u")throw new Error("Assertion failed: The package should have been registered");E.workspace=h}return{workspaces:e,dependencies:r,packages:o,result:a}}async process(){let e=this.createEnvironment(),r={Yarn:{workspace:a=>e.workspaces.find(a)[0]??null,workspaces:a=>e.workspaces.find(a),dependency:a=>e.dependencies.find(a)[0]??null,dependencies:a=>e.dependencies.find(a),package:a=>e.packages.find(a)[0]??null,packages:a=>e.packages.find(a)}},o=await this.project.loadUserConfig();return o?.constraints?(await o.constraints(r),e.result):null}};Ke();Ke();Gt();var nC=class extends ut{constructor(){super(...arguments);this.json=de.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"});this.query=de.String()}static{this.paths=[["constraints","query"]]}static{this.usage=ot.Usage({category:"Constraints-related commands",description:"query the constraints fact database",details:` + This command will output all matches to the given prolog query. + `,examples:[["List all dependencies throughout the workspace","yarn constraints query 'workspace_has_dependency(_, DependencyName, _, _).'"]]})}async execute(){let{Constraints:r}=await Promise.resolve().then(()=>(K2(),Y2)),o=await ze.find(this.context.cwd,this.context.plugins),{project:a}=await Qt.find(o,this.context.cwd),n=await r.find(a),u=this.query;return u.endsWith(".")||(u=`${u}.`),(await Nt.start({configuration:o,json:this.json,stdout:this.context.stdout},async p=>{for await(let h of n.query(u)){let E=Array.from(Object.entries(h)),w=E.length,D=E.reduce((x,[C])=>Math.max(x,C.length),0);for(let x=0;x<w;x++){let[C,T]=E[x];p.reportInfo(null,`${Vgt(x,w)}${C.padEnd(D," ")} = ${Kgt(T)}`)}p.reportJson(h)}})).exitCode()}};function Kgt(t){return typeof t!="string"?`${t}`:t.match(/^[a-zA-Z][a-zA-Z0-9_]+$/)?t:`'${t}'`}function Vgt(t,e){let r=t===0,o=t===e-1;return r&&o?"":r?"\u250C ":o?"\u2514 ":"\u2502 "}Ke();Gt();var iC=class extends ut{constructor(){super(...arguments);this.verbose=de.Boolean("-v,--verbose",!1,{description:"Also print the fact database automatically compiled from the workspace manifests"})}static{this.paths=[["constraints","source"]]}static{this.usage=ot.Usage({category:"Constraints-related commands",description:"print the source code for the constraints",details:"\n This command will print the Prolog source code used by the constraints engine. Adding the `-v,--verbose` flag will print the *full* source code, including the fact database automatically compiled from the workspace manifests.\n ",examples:[["Prints the source code","yarn constraints source"],["Print the source code and the fact database","yarn constraints source -v"]]})}async execute(){let{Constraints:r}=await Promise.resolve().then(()=>(K2(),Y2)),o=await ze.find(this.context.cwd,this.context.plugins),{project:a}=await Qt.find(o,this.context.cwd),n=await r.find(a);this.context.stdout.write(this.verbose?n.fullSource:n.source)}};Ke();Ke();Gt();j2();var sC=class extends ut{constructor(){super(...arguments);this.fix=de.Boolean("--fix",!1,{description:"Attempt to automatically fix unambiguous issues, following a multi-pass process"});this.json=de.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"})}static{this.paths=[["constraints"]]}static{this.usage=ot.Usage({category:"Constraints-related commands",description:"check that the project constraints are met",details:` + This command will run constraints on your project and emit errors for each one that is found but isn't met. If any error is emitted the process will exit with a non-zero exit code. + + If the \`--fix\` flag is used, Yarn will attempt to automatically fix the issues the best it can, following a multi-pass process (with a maximum of 10 iterations). Some ambiguous patterns cannot be autofixed, in which case you'll have to manually specify the right resolution. + + For more information as to how to write constraints, please consult our dedicated page on our website: https://yarnpkg.com/features/constraints. + `,examples:[["Check that all constraints are satisfied","yarn constraints"],["Autofix all unmet constraints","yarn constraints --fix"]]})}async execute(){let r=await ze.find(this.context.cwd,this.context.plugins),{project:o}=await Qt.find(r,this.context.cwd);await o.restoreInstallState();let a=await o.loadUserConfig(),n;if(a?.constraints)n=new $E(o);else{let{Constraints:h}=await Promise.resolve().then(()=>(K2(),Y2));n=await h.find(o)}let u,A=!1,p=!1;for(let h=this.fix?10:1;h>0;--h){let E=await n.process();if(!E)break;let{changedWorkspaces:w,remainingErrors:D}=Vk(o,E,{fix:this.fix}),x=[];for(let[C,T]of w){let L=C.manifest.indent;C.manifest=new _t,C.manifest.indent=L,C.manifest.load(T),x.push(C.persistManifest())}if(await Promise.all(x),!(w.size>0&&h>1)){u=kme(D,{configuration:r}),A=!1,p=!0;for(let[,C]of D)for(let T of C)T.fixable?A=!0:p=!1}}if(u.children.length===0)return 0;if(A){let h=p?`Those errors can all be fixed by running ${pe.pretty(r,"yarn constraints --fix",pe.Type.CODE)}`:`Errors prefixed by '\u2699' can be fixed by running ${pe.pretty(r,"yarn constraints --fix",pe.Type.CODE)}`;await Nt.start({configuration:r,stdout:this.context.stdout,includeNames:!1,includeFooter:!1},async E=>{E.reportInfo(0,h),E.reportSeparator()})}return u.children=qe.sortMap(u.children,h=>h.value[1]),As.emitTree(u,{configuration:r,stdout:this.context.stdout,json:this.json,separators:1}),1}};j2();var Jgt={configuration:{enableConstraintsChecks:{description:"If true, constraints will run during installs",type:"BOOLEAN",default:!1},constraintsPath:{description:"The path of the constraints file.",type:"ABSOLUTE_PATH",default:"./constraints.pro"}},commands:[nC,iC,sC],hooks:{async validateProjectAfterInstall(t,{reportError:e}){if(!t.configuration.get("enableConstraintsChecks"))return;let r=await t.loadUserConfig(),o;if(r?.constraints)o=new $E(t);else{let{Constraints:u}=await Promise.resolve().then(()=>(K2(),Y2));o=await u.find(t)}let a=await o.process();if(!a)return;let{remainingErrors:n}=Vk(t,a);if(n.size!==0)if(t.configuration.isCI)for(let[u,A]of n)for(let p of A)e(84,`${pe.pretty(t.configuration,u.anchoredLocator,pe.Type.IDENT)}: ${p.text}`);else e(84,`Constraint check failed; run ${pe.pretty(t.configuration,"yarn constraints",pe.Type.CODE)} for more details`)}}},zgt=Jgt;var l6={};Kt(l6,{CreateCommand:()=>oC,DlxCommand:()=>aC,default:()=>Zgt});Ke();Gt();var oC=class extends ut{constructor(){super(...arguments);this.pkg=de.String("-p,--package",{description:"The package to run the provided command from"});this.quiet=de.Boolean("-q,--quiet",!1,{description:"Only report critical errors instead of printing the full install logs"});this.command=de.String();this.args=de.Proxy()}static{this.paths=[["create"]]}async execute(){let r=[];this.pkg&&r.push("--package",this.pkg),this.quiet&&r.push("--quiet");let o=this.command.replace(/^(@[^@/]+)(@|$)/,"$1/create$2"),a=G.parseDescriptor(o),n=a.name.match(/^create(-|$)/)?a:a.scope?G.makeIdent(a.scope,`create-${a.name}`):G.makeIdent(null,`create-${a.name}`),u=G.stringifyIdent(n);return a.range!=="unknown"&&(u+=`@${a.range}`),this.cli.run(["dlx",...r,u,...this.args])}};Ke();Ke();Pt();Gt();var aC=class extends ut{constructor(){super(...arguments);this.packages=de.Array("-p,--package",{description:"The package(s) to install before running the command"});this.quiet=de.Boolean("-q,--quiet",!1,{description:"Only report critical errors instead of printing the full install logs"});this.command=de.String();this.args=de.Proxy()}static{this.paths=[["dlx"]]}static{this.usage=ot.Usage({description:"run a package in a temporary environment",details:"\n This command will install a package within a temporary environment, and run its binary script if it contains any. The binary will run within the current cwd.\n\n By default Yarn will download the package named `command`, but this can be changed through the use of the `-p,--package` flag which will instruct Yarn to still run the same command but from a different package.\n\n Using `yarn dlx` as a replacement of `yarn add` isn't recommended, as it makes your project non-deterministic (Yarn doesn't keep track of the packages installed through `dlx` - neither their name, nor their version).\n ",examples:[["Use create-react-app to create a new React app","yarn dlx create-react-app ./my-app"],["Install multiple packages for a single command",`yarn dlx -p typescript -p ts-node ts-node --transpile-only -e "console.log('hello!')"`]]})}async execute(){return ze.telemetry=null,await ae.mktempPromise(async r=>{let o=K.join(r,`dlx-${process.pid}`);await ae.mkdirPromise(o),await ae.writeFilePromise(K.join(o,"package.json"),`{} +`),await ae.writeFilePromise(K.join(o,"yarn.lock"),"");let a=K.join(o,".yarnrc.yml"),n=await ze.findProjectCwd(this.context.cwd),A={enableGlobalCache:!(await ze.find(this.context.cwd,null,{strict:!1})).get("enableGlobalCache"),enableTelemetry:!1,logFilters:[{code:Ju(68),level:pe.LogLevel.Discard}]},p=n!==null?K.join(n,".yarnrc.yml"):null;p!==null&&ae.existsSync(p)?(await ae.copyFilePromise(p,a),await ze.updateConfiguration(o,L=>{let U=qe.toMerged(L,A);return Array.isArray(L.plugins)&&(U.plugins=L.plugins.map(J=>{let te=typeof J=="string"?J:J.path,le=Ae.isAbsolute(te)?te:Ae.resolve(Ae.fromPortablePath(n),te);return typeof J=="string"?le:{path:le,spec:J.spec}})),U})):await ae.writeJsonPromise(a,A);let h=this.packages??[this.command],E=G.parseDescriptor(this.command).name,w=await this.cli.run(["add","--fixed","--",...h],{cwd:o,quiet:this.quiet});if(w!==0)return w;this.quiet||this.context.stdout.write(` +`);let D=await ze.find(o,this.context.plugins),{project:x,workspace:C}=await Qt.find(D,o);if(C===null)throw new or(x.cwd,o);await x.restoreInstallState();let T=await hn.getWorkspaceAccessibleBinaries(C);return T.has(E)===!1&&T.size===1&&typeof this.packages>"u"&&(E=Array.from(T)[0][0]),await hn.executeWorkspaceAccessibleBinary(C,E,this.args,{packageAccessibleBinaries:T,cwd:this.context.cwd,stdin:this.context.stdin,stdout:this.context.stdout,stderr:this.context.stderr})})}};var Xgt={commands:[oC,aC]},Zgt=Xgt;var A6={};Kt(A6,{ExecFetcher:()=>J2,ExecResolver:()=>z2,default:()=>tdt,execUtils:()=>Zk});Ke();Ke();Pt();var hA="exec:";var Zk={};Kt(Zk,{loadGeneratorFile:()=>V2,makeLocator:()=>u6,makeSpec:()=>rye,parseSpec:()=>c6});Ke();Pt();function c6(t){let{params:e,selector:r}=G.parseRange(t),o=Ae.toPortablePath(r);return{parentLocator:e&&typeof e.locator=="string"?G.parseLocator(e.locator):null,path:o}}function rye({parentLocator:t,path:e,generatorHash:r,protocol:o}){let a=t!==null?{locator:G.stringifyLocator(t)}:{},n=typeof r<"u"?{hash:r}:{};return G.makeRange({protocol:o,source:e,selector:e,params:{...n,...a}})}function u6(t,{parentLocator:e,path:r,generatorHash:o,protocol:a}){return G.makeLocator(t,rye({parentLocator:e,path:r,generatorHash:o,protocol:a}))}async function V2(t,e,r){let{parentLocator:o,path:a}=G.parseFileStyleRange(t,{protocol:e}),n=K.isAbsolute(a)?{packageFs:new En(Bt.root),prefixPath:Bt.dot,localPath:Bt.root}:await r.fetcher.fetch(o,r),u=n.localPath?{packageFs:new En(Bt.root),prefixPath:K.relative(Bt.root,n.localPath)}:n;n!==u&&n.releaseFs&&n.releaseFs();let A=u.packageFs,p=K.join(u.prefixPath,a);return await A.readFilePromise(p,"utf8")}var J2=class{supports(e,r){return!!e.reference.startsWith(hA)}getLocalPath(e,r){let{parentLocator:o,path:a}=G.parseFileStyleRange(e.reference,{protocol:hA});if(K.isAbsolute(a))return a;let n=r.fetcher.getLocalPath(o,r);return n===null?null:K.resolve(n,a)}async fetch(e,r){let o=r.checksums.get(e.locatorHash)||null,[a,n,u]=await r.cache.fetchPackageFromCache(e,o,{onHit:()=>r.report.reportCacheHit(e),onMiss:()=>r.report.reportCacheMiss(e),loader:()=>this.fetchFromDisk(e,r),...r.cacheOptions});return{packageFs:a,releaseFs:n,prefixPath:G.getIdentVendorPath(e),localPath:this.getLocalPath(e,r),checksum:u}}async fetchFromDisk(e,r){let o=await V2(e.reference,hA,r);return ae.mktempPromise(async a=>{let n=K.join(a,"generator.js");return await ae.writeFilePromise(n,o),ae.mktempPromise(async u=>{if(await this.generatePackage(u,e,n,r),!ae.existsSync(K.join(u,"build")))throw new Error("The script should have generated a build directory");return await $i.makeArchiveFromDirectory(K.join(u,"build"),{prefixPath:G.getIdentVendorPath(e),compressionLevel:r.project.configuration.get("compressionLevel")})})})}async generatePackage(e,r,o,a){return await ae.mktempPromise(async n=>{let u=await hn.makeScriptEnv({project:a.project,binFolder:n}),A=K.join(e,"runtime.js");return await ae.mktempPromise(async p=>{let h=K.join(p,"buildfile.log"),E=K.join(e,"generator"),w=K.join(e,"build");await ae.mkdirPromise(E),await ae.mkdirPromise(w);let D={tempDir:Ae.fromPortablePath(E),buildDir:Ae.fromPortablePath(w),locator:G.stringifyLocator(r)};await ae.writeFilePromise(A,` + // Expose 'Module' as a global variable + Object.defineProperty(global, 'Module', { + get: () => require('module'), + configurable: true, + enumerable: false, + }); + + // Expose non-hidden built-in modules as global variables + for (const name of Module.builtinModules.filter((name) => name !== 'module' && !name.startsWith('_'))) { + Object.defineProperty(global, name, { + get: () => require(name), + configurable: true, + enumerable: false, + }); + } + + // Expose the 'execEnv' global variable + Object.defineProperty(global, 'execEnv', { + value: { + ...${JSON.stringify(D)}, + }, + enumerable: true, + }); + `);let x=u.NODE_OPTIONS||"",C=/\s*--require\s+\S*\.pnp\.c?js\s*/g;x=x.replace(C," ").trim(),u.NODE_OPTIONS=x;let{stdout:T,stderr:L}=a.project.configuration.getSubprocessStreams(h,{header:`# This file contains the result of Yarn generating a package (${G.stringifyLocator(r)}) +`,prefix:G.prettyLocator(a.project.configuration,r),report:a.report}),{code:U}=await Hr.pipevp(process.execPath,["--require",Ae.fromPortablePath(A),Ae.fromPortablePath(o),G.stringifyIdent(r)],{cwd:e,env:u,stdin:null,stdout:T,stderr:L});if(U!==0)throw ae.detachTemp(p),new Error(`Package generation failed (exit code ${U}, logs can be found here: ${pe.pretty(a.project.configuration,h,pe.Type.PATH)})`)})})}};Ke();Ke();var $gt=2,z2=class{supportsDescriptor(e,r){return!!e.range.startsWith(hA)}supportsLocator(e,r){return!!e.reference.startsWith(hA)}shouldPersistResolution(e,r){return!1}bindDescriptor(e,r,o){return G.bindDescriptor(e,{locator:G.stringifyLocator(r)})}getResolutionDependencies(e,r){return{}}async getCandidates(e,r,o){if(!o.fetchOptions)throw new Error("Assertion failed: This resolver cannot be used unless a fetcher is configured");let{path:a,parentLocator:n}=c6(e.range);if(n===null)throw new Error("Assertion failed: The descriptor should have been bound");let u=await V2(G.makeRange({protocol:hA,source:a,selector:a,params:{locator:G.stringifyLocator(n)}}),hA,o.fetchOptions),A=xn.makeHash(`${$gt}`,u).slice(0,6);return[u6(e,{parentLocator:n,path:a,generatorHash:A,protocol:hA})]}async getSatisfying(e,r,o,a){let[n]=await this.getCandidates(e,r,a);return{locators:o.filter(u=>u.locatorHash===n.locatorHash),sorted:!1}}async resolve(e,r){if(!r.fetchOptions)throw new Error("Assertion failed: This resolver cannot be used unless a fetcher is configured");let o=await r.fetchOptions.fetcher.fetch(e,r.fetchOptions),a=await qe.releaseAfterUseAsync(async()=>await _t.find(o.prefixPath,{baseFs:o.packageFs}),o.releaseFs);return{...e,version:a.version||"0.0.0",languageName:a.languageName||r.project.configuration.get("defaultLanguageName"),linkType:"HARD",conditions:a.getConditions(),dependencies:r.project.configuration.normalizeDependencyMap(a.dependencies),peerDependencies:a.peerDependencies,dependenciesMeta:a.dependenciesMeta,peerDependenciesMeta:a.peerDependenciesMeta,bin:a.bin}}};var edt={fetchers:[J2],resolvers:[z2]},tdt=edt;var p6={};Kt(p6,{FileFetcher:()=>eB,FileResolver:()=>tB,TarballFileFetcher:()=>rB,TarballFileResolver:()=>nB,default:()=>idt,fileUtils:()=>$g});Ke();Pt();var lC=/^(?:[a-zA-Z]:[\\/]|\.{0,2}\/)/,X2=/^[^?]*\.(?:tar\.gz|tgz)(?:::.*)?$/,_i="file:";var $g={};Kt($g,{fetchArchiveFromLocator:()=>$2,makeArchiveFromLocator:()=>$k,makeBufferFromLocator:()=>f6,makeLocator:()=>cC,makeSpec:()=>nye,parseSpec:()=>Z2});Ke();Pt();function Z2(t){let{params:e,selector:r}=G.parseRange(t),o=Ae.toPortablePath(r);return{parentLocator:e&&typeof e.locator=="string"?G.parseLocator(e.locator):null,path:o}}function nye({parentLocator:t,path:e,hash:r,protocol:o}){let a=t!==null?{locator:G.stringifyLocator(t)}:{},n=typeof r<"u"?{hash:r}:{};return G.makeRange({protocol:o,source:e,selector:e,params:{...n,...a}})}function cC(t,{parentLocator:e,path:r,hash:o,protocol:a}){return G.makeLocator(t,nye({parentLocator:e,path:r,hash:o,protocol:a}))}async function $2(t,e){let{parentLocator:r,path:o}=G.parseFileStyleRange(t.reference,{protocol:_i}),a=K.isAbsolute(o)?{packageFs:new En(Bt.root),prefixPath:Bt.dot,localPath:Bt.root}:await e.fetcher.fetch(r,e),n=a.localPath?{packageFs:new En(Bt.root),prefixPath:K.relative(Bt.root,a.localPath)}:a;a!==n&&a.releaseFs&&a.releaseFs();let u=n.packageFs,A=K.join(n.prefixPath,o);return await qe.releaseAfterUseAsync(async()=>await u.readFilePromise(A),n.releaseFs)}async function $k(t,{protocol:e,fetchOptions:r,inMemory:o=!1}){let{parentLocator:a,path:n}=G.parseFileStyleRange(t.reference,{protocol:e}),u=K.isAbsolute(n)?{packageFs:new En(Bt.root),prefixPath:Bt.dot,localPath:Bt.root}:await r.fetcher.fetch(a,r),A=u.localPath?{packageFs:new En(Bt.root),prefixPath:K.relative(Bt.root,u.localPath)}:u;u!==A&&u.releaseFs&&u.releaseFs();let p=A.packageFs,h=K.join(A.prefixPath,n);return await qe.releaseAfterUseAsync(async()=>await $i.makeArchiveFromDirectory(h,{baseFs:p,prefixPath:G.getIdentVendorPath(t),compressionLevel:r.project.configuration.get("compressionLevel"),inMemory:o}),A.releaseFs)}async function f6(t,{protocol:e,fetchOptions:r}){return(await $k(t,{protocol:e,fetchOptions:r,inMemory:!0})).getBufferAndClose()}var eB=class{supports(e,r){return!!e.reference.startsWith(_i)}getLocalPath(e,r){let{parentLocator:o,path:a}=G.parseFileStyleRange(e.reference,{protocol:_i});if(K.isAbsolute(a))return a;let n=r.fetcher.getLocalPath(o,r);return n===null?null:K.resolve(n,a)}async fetch(e,r){let o=r.checksums.get(e.locatorHash)||null,[a,n,u]=await r.cache.fetchPackageFromCache(e,o,{onHit:()=>r.report.reportCacheHit(e),onMiss:()=>r.report.reportCacheMiss(e,`${G.prettyLocator(r.project.configuration,e)} can't be found in the cache and will be fetched from the disk`),loader:()=>this.fetchFromDisk(e,r),...r.cacheOptions});return{packageFs:a,releaseFs:n,prefixPath:G.getIdentVendorPath(e),localPath:this.getLocalPath(e,r),checksum:u}}async fetchFromDisk(e,r){return $k(e,{protocol:_i,fetchOptions:r})}};Ke();Ke();var rdt=2,tB=class{supportsDescriptor(e,r){return e.range.match(lC)?!0:!!e.range.startsWith(_i)}supportsLocator(e,r){return!!e.reference.startsWith(_i)}shouldPersistResolution(e,r){return!1}bindDescriptor(e,r,o){return lC.test(e.range)&&(e=G.makeDescriptor(e,`${_i}${e.range}`)),G.bindDescriptor(e,{locator:G.stringifyLocator(r)})}getResolutionDependencies(e,r){return{}}async getCandidates(e,r,o){if(!o.fetchOptions)throw new Error("Assertion failed: This resolver cannot be used unless a fetcher is configured");let{path:a,parentLocator:n}=Z2(e.range);if(n===null)throw new Error("Assertion failed: The descriptor should have been bound");let u=await f6(G.makeLocator(e,G.makeRange({protocol:_i,source:a,selector:a,params:{locator:G.stringifyLocator(n)}})),{protocol:_i,fetchOptions:o.fetchOptions}),A=xn.makeHash(`${rdt}`,u).slice(0,6);return[cC(e,{parentLocator:n,path:a,hash:A,protocol:_i})]}async getSatisfying(e,r,o,a){let[n]=await this.getCandidates(e,r,a);return{locators:o.filter(u=>u.locatorHash===n.locatorHash),sorted:!1}}async resolve(e,r){if(!r.fetchOptions)throw new Error("Assertion failed: This resolver cannot be used unless a fetcher is configured");let o=await r.fetchOptions.fetcher.fetch(e,r.fetchOptions),a=await qe.releaseAfterUseAsync(async()=>await _t.find(o.prefixPath,{baseFs:o.packageFs}),o.releaseFs);return{...e,version:a.version||"0.0.0",languageName:a.languageName||r.project.configuration.get("defaultLanguageName"),linkType:"HARD",conditions:a.getConditions(),dependencies:r.project.configuration.normalizeDependencyMap(a.dependencies),peerDependencies:a.peerDependencies,dependenciesMeta:a.dependenciesMeta,peerDependenciesMeta:a.peerDependenciesMeta,bin:a.bin}}};Ke();var rB=class{supports(e,r){return X2.test(e.reference)?!!e.reference.startsWith(_i):!1}getLocalPath(e,r){return null}async fetch(e,r){let o=r.checksums.get(e.locatorHash)||null,[a,n,u]=await r.cache.fetchPackageFromCache(e,o,{onHit:()=>r.report.reportCacheHit(e),onMiss:()=>r.report.reportCacheMiss(e,`${G.prettyLocator(r.project.configuration,e)} can't be found in the cache and will be fetched from the disk`),loader:()=>this.fetchFromDisk(e,r),...r.cacheOptions});return{packageFs:a,releaseFs:n,prefixPath:G.getIdentVendorPath(e),checksum:u}}async fetchFromDisk(e,r){let o=await $2(e,r);return await $i.convertToZip(o,{configuration:r.project.configuration,prefixPath:G.getIdentVendorPath(e),stripComponents:1})}};Ke();Ke();Ke();var nB=class{supportsDescriptor(e,r){return X2.test(e.range)?!!(e.range.startsWith(_i)||lC.test(e.range)):!1}supportsLocator(e,r){return X2.test(e.reference)?!!e.reference.startsWith(_i):!1}shouldPersistResolution(e,r){return!1}bindDescriptor(e,r,o){return lC.test(e.range)&&(e=G.makeDescriptor(e,`${_i}${e.range}`)),G.bindDescriptor(e,{locator:G.stringifyLocator(r)})}getResolutionDependencies(e,r){return{}}async getCandidates(e,r,o){if(!o.fetchOptions)throw new Error("Assertion failed: This resolver cannot be used unless a fetcher is configured");let{path:a,parentLocator:n}=Z2(e.range);if(n===null)throw new Error("Assertion failed: The descriptor should have been bound");let u=cC(e,{parentLocator:n,path:a,hash:"",protocol:_i}),A=await $2(u,o.fetchOptions),p=xn.makeHash(A).slice(0,6);return[cC(e,{parentLocator:n,path:a,hash:p,protocol:_i})]}async getSatisfying(e,r,o,a){let[n]=await this.getCandidates(e,r,a);return{locators:o.filter(u=>u.locatorHash===n.locatorHash),sorted:!1}}async resolve(e,r){if(!r.fetchOptions)throw new Error("Assertion failed: This resolver cannot be used unless a fetcher is configured");let o=await r.fetchOptions.fetcher.fetch(e,r.fetchOptions),a=await qe.releaseAfterUseAsync(async()=>await _t.find(o.prefixPath,{baseFs:o.packageFs}),o.releaseFs);return{...e,version:a.version||"0.0.0",languageName:a.languageName||r.project.configuration.get("defaultLanguageName"),linkType:"HARD",conditions:a.getConditions(),dependencies:r.project.configuration.normalizeDependencyMap(a.dependencies),peerDependencies:a.peerDependencies,dependenciesMeta:a.dependenciesMeta,peerDependenciesMeta:a.peerDependenciesMeta,bin:a.bin}}};var ndt={fetchers:[rB,eB],resolvers:[nB,tB]},idt=ndt;var d6={};Kt(d6,{GithubFetcher:()=>iB,default:()=>odt,githubUtils:()=>eQ});Ke();Pt();var eQ={};Kt(eQ,{invalidGithubUrlMessage:()=>oye,isGithubUrl:()=>h6,parseGithubUrl:()=>g6});var iye=et(ve("querystring")),sye=[/^https?:\/\/(?:([^/]+?)@)?github.com\/([^/#]+)\/([^/#]+)\/tarball\/([^/#]+)(?:#(.*))?$/,/^https?:\/\/(?:([^/]+?)@)?github.com\/([^/#]+)\/([^/#]+?)(?:\.git)?(?:#(.*))?$/];function h6(t){return t?sye.some(e=>!!t.match(e)):!1}function g6(t){let e;for(let A of sye)if(e=t.match(A),e)break;if(!e)throw new Error(oye(t));let[,r,o,a,n="master"]=e,{commit:u}=iye.default.parse(n);return n=u||n.replace(/[^:]*:/,""),{auth:r,username:o,reponame:a,treeish:n}}function oye(t){return`Input cannot be parsed as a valid GitHub URL ('${t}').`}var iB=class{supports(e,r){return!!h6(e.reference)}getLocalPath(e,r){return null}async fetch(e,r){let o=r.checksums.get(e.locatorHash)||null,[a,n,u]=await r.cache.fetchPackageFromCache(e,o,{onHit:()=>r.report.reportCacheHit(e),onMiss:()=>r.report.reportCacheMiss(e,`${G.prettyLocator(r.project.configuration,e)} can't be found in the cache and will be fetched from GitHub`),loader:()=>this.fetchFromNetwork(e,r),...r.cacheOptions});return{packageFs:a,releaseFs:n,prefixPath:G.getIdentVendorPath(e),checksum:u}}async fetchFromNetwork(e,r){let o=await on.get(this.getLocatorUrl(e,r),{configuration:r.project.configuration});return await ae.mktempPromise(async a=>{let n=new En(a);await $i.extractArchiveTo(o,n,{stripComponents:1});let u=ra.splitRepoUrl(e.reference),A=K.join(a,"package.tgz");await hn.prepareExternalProject(a,A,{configuration:r.project.configuration,report:r.report,workspace:u.extra.workspace,locator:e});let p=await ae.readFilePromise(A);return await $i.convertToZip(p,{configuration:r.project.configuration,prefixPath:G.getIdentVendorPath(e),stripComponents:1})})}getLocatorUrl(e,r){let{auth:o,username:a,reponame:n,treeish:u}=g6(e.reference);return`https://${o?`${o}@`:""}github.com/${a}/${n}/archive/${u}.tar.gz`}};var sdt={hooks:{async fetchHostedRepository(t,e,r){if(t!==null)return t;let o=new iB;if(!o.supports(e,r))return null;try{return await o.fetch(e,r)}catch{return null}}}},odt=sdt;var m6={};Kt(m6,{TarballHttpFetcher:()=>oB,TarballHttpResolver:()=>aB,default:()=>ldt});Ke();function sB(t){let e;try{e=new URL(t)}catch{return!1}return!(e.protocol!=="http:"&&e.protocol!=="https:"||!e.pathname.match(/(\.tar\.gz|\.tgz|\/[^.]+)$/))}var oB=class{supports(e,r){return sB(e.reference)}getLocalPath(e,r){return null}async fetch(e,r){let o=r.checksums.get(e.locatorHash)||null,[a,n,u]=await r.cache.fetchPackageFromCache(e,o,{onHit:()=>r.report.reportCacheHit(e),onMiss:()=>r.report.reportCacheMiss(e,`${G.prettyLocator(r.project.configuration,e)} can't be found in the cache and will be fetched from the remote server`),loader:()=>this.fetchFromNetwork(e,r),...r.cacheOptions});return{packageFs:a,releaseFs:n,prefixPath:G.getIdentVendorPath(e),checksum:u}}async fetchFromNetwork(e,r){let o=await on.get(e.reference,{configuration:r.project.configuration});return await $i.convertToZip(o,{configuration:r.project.configuration,prefixPath:G.getIdentVendorPath(e),stripComponents:1})}};Ke();Ke();var aB=class{supportsDescriptor(e,r){return sB(e.range)}supportsLocator(e,r){return sB(e.reference)}shouldPersistResolution(e,r){return!0}bindDescriptor(e,r,o){return e}getResolutionDependencies(e,r){return{}}async getCandidates(e,r,o){return[G.convertDescriptorToLocator(e)]}async getSatisfying(e,r,o,a){let[n]=await this.getCandidates(e,r,a);return{locators:o.filter(u=>u.locatorHash===n.locatorHash),sorted:!1}}async resolve(e,r){if(!r.fetchOptions)throw new Error("Assertion failed: This resolver cannot be used unless a fetcher is configured");let o=await r.fetchOptions.fetcher.fetch(e,r.fetchOptions),a=await qe.releaseAfterUseAsync(async()=>await _t.find(o.prefixPath,{baseFs:o.packageFs}),o.releaseFs);return{...e,version:a.version||"0.0.0",languageName:a.languageName||r.project.configuration.get("defaultLanguageName"),linkType:"HARD",conditions:a.getConditions(),dependencies:r.project.configuration.normalizeDependencyMap(a.dependencies),peerDependencies:a.peerDependencies,dependenciesMeta:a.dependenciesMeta,peerDependenciesMeta:a.peerDependenciesMeta,bin:a.bin}}};var adt={fetchers:[oB],resolvers:[aB]},ldt=adt;var y6={};Kt(y6,{InitCommand:()=>uC,default:()=>udt});Ke();Ke();Pt();Gt();var uC=class extends ut{constructor(){super(...arguments);this.private=de.Boolean("-p,--private",!1,{description:"Initialize a private package"});this.workspace=de.Boolean("-w,--workspace",!1,{description:"Initialize a workspace root with a `packages/` directory"});this.install=de.String("-i,--install",!1,{tolerateBoolean:!0,description:"Initialize a package with a specific bundle that will be locked in the project"});this.name=de.String("-n,--name",{description:"Initialize a package with the given name"});this.usev2=de.Boolean("-2",!1,{hidden:!0});this.yes=de.Boolean("-y,--yes",{hidden:!0})}static{this.paths=[["init"]]}static{this.usage=ot.Usage({description:"create a new package",details:"\n This command will setup a new package in your local directory.\n\n If the `-p,--private` or `-w,--workspace` options are set, the package will be private by default.\n\n If the `-w,--workspace` option is set, the package will be configured to accept a set of workspaces in the `packages/` directory.\n\n If the `-i,--install` option is given a value, Yarn will first download it using `yarn set version` and only then forward the init call to the newly downloaded bundle. Without arguments, the downloaded bundle will be `latest`.\n\n The initial settings of the manifest can be changed by using the `initScope` and `initFields` configuration values. Additionally, Yarn will generate an EditorConfig file whose rules can be altered via `initEditorConfig`, and will initialize a Git repository in the current directory.\n ",examples:[["Create a new package in the local directory","yarn init"],["Create a new private package in the local directory","yarn init -p"],["Create a new package and store the Yarn release inside","yarn init -i=latest"],["Create a new private package and defines it as a workspace root","yarn init -w"]]})}async execute(){let r=await ze.find(this.context.cwd,this.context.plugins),o=typeof this.install=="string"?this.install:this.usev2||this.install===!0?"latest":null;return o!==null?await this.executeProxy(r,o):await this.executeRegular(r)}async executeProxy(r,o){if(r.projectCwd!==null&&r.projectCwd!==this.context.cwd)throw new it("Cannot use the --install flag from within a project subdirectory");ae.existsSync(this.context.cwd)||await ae.mkdirPromise(this.context.cwd,{recursive:!0});let a=K.join(this.context.cwd,mr.lockfile);ae.existsSync(a)||await ae.writeFilePromise(a,"");let n=await this.cli.run(["set","version",o],{quiet:!0});if(n!==0)return n;let u=[];return this.private&&u.push("-p"),this.workspace&&u.push("-w"),this.name&&u.push(`-n=${this.name}`),this.yes&&u.push("-y"),await ae.mktempPromise(async A=>{let{code:p}=await Hr.pipevp("yarn",["init",...u],{cwd:this.context.cwd,stdin:this.context.stdin,stdout:this.context.stdout,stderr:this.context.stderr,env:await hn.makeScriptEnv({binFolder:A})});return p})}async executeRegular(r){let o=null;try{o=(await Qt.find(r,this.context.cwd)).project}catch{o=null}ae.existsSync(this.context.cwd)||await ae.mkdirPromise(this.context.cwd,{recursive:!0});let a=await _t.tryFind(this.context.cwd),n=a??new _t,u=Object.fromEntries(r.get("initFields").entries());n.load(u),n.name=n.name??G.makeIdent(r.get("initScope"),this.name??K.basename(this.context.cwd)),n.packageManager=nn&&qe.isTaggedYarnVersion(nn)?`yarn@${nn}`:null,(!a&&this.workspace||this.private)&&(n.private=!0),this.workspace&&n.workspaceDefinitions.length===0&&(await ae.mkdirPromise(K.join(this.context.cwd,"packages"),{recursive:!0}),n.workspaceDefinitions=[{pattern:"packages/*"}]);let A={};n.exportTo(A);let p=K.join(this.context.cwd,_t.fileName);await ae.changeFilePromise(p,`${JSON.stringify(A,null,2)} +`,{automaticNewlines:!0});let h=[p],E=K.join(this.context.cwd,"README.md");if(ae.existsSync(E)||(await ae.writeFilePromise(E,`# ${G.stringifyIdent(n.name)} +`),h.push(E)),!o||o.cwd===this.context.cwd){let w=K.join(this.context.cwd,mr.lockfile);ae.existsSync(w)||(await ae.writeFilePromise(w,""),h.push(w));let x=[".yarn/*","!.yarn/patches","!.yarn/plugins","!.yarn/releases","!.yarn/sdks","!.yarn/versions","","# Swap the comments on the following lines if you wish to use zero-installs","# In that case, don't forget to run `yarn config set enableGlobalCache false`!","# Documentation here: https://yarnpkg.com/features/caching#zero-installs","","#!.yarn/cache",".pnp.*"].map(ce=>`${ce} +`).join(""),C=K.join(this.context.cwd,".gitignore");ae.existsSync(C)||(await ae.writeFilePromise(C,x),h.push(C));let L=["/.yarn/** linguist-vendored","/.yarn/releases/* binary","/.yarn/plugins/**/* binary","/.pnp.* binary linguist-generated"].map(ce=>`${ce} +`).join(""),U=K.join(this.context.cwd,".gitattributes");ae.existsSync(U)||(await ae.writeFilePromise(U,L),h.push(U));let J={"*":{endOfLine:"lf",insertFinalNewline:!0},"*.{js,json,yml}":{charset:"utf-8",indentStyle:"space",indentSize:2}};qe.mergeIntoTarget(J,r.get("initEditorConfig"));let te=`root = true +`;for(let[ce,ue]of Object.entries(J)){te+=` +[${ce}] +`;for(let[Ie,he]of Object.entries(ue)){let De=Ie.replace(/[A-Z]/g,Ee=>`_${Ee.toLowerCase()}`);te+=`${De} = ${he} +`}}let le=K.join(this.context.cwd,".editorconfig");ae.existsSync(le)||(await ae.writeFilePromise(le,te),h.push(le)),await this.cli.run(["install"],{quiet:!0}),ae.existsSync(K.join(this.context.cwd,".git"))||(await Hr.execvp("git",["init"],{cwd:this.context.cwd}),await Hr.execvp("git",["add","--",...h],{cwd:this.context.cwd}),await Hr.execvp("git",["commit","--allow-empty","-m","First commit"],{cwd:this.context.cwd}))}}};var cdt={configuration:{initScope:{description:"Scope used when creating packages via the init command",type:"STRING",default:null},initFields:{description:"Additional fields to set when creating packages via the init command",type:"MAP",valueDefinition:{description:"",type:"ANY"}},initEditorConfig:{description:"Extra rules to define in the generator editorconfig",type:"MAP",valueDefinition:{description:"",type:"ANY"}}},commands:[uC]},udt=cdt;var mj={};Kt(mj,{SearchCommand:()=>bC,UpgradeInteractiveCommand:()=>xC,default:()=>UIt});Ke();var lye=et(ve("os"));function AC({stdout:t}){if(lye.default.endianness()==="BE")throw new Error("Interactive commands cannot be used on big-endian systems because ink depends on yoga-layout-prebuilt which only supports little-endian architectures");if(!t.isTTY)throw new Error("Interactive commands can only be used inside a TTY environment")}Gt();var CEe=et(L6()),O6={appId:"OFCNCOG2CU",apiKey:"6fe4476ee5a1832882e326b506d14126",indexName:"npm-search"},ayt=(0,CEe.default)(O6.appId,O6.apiKey).initIndex(O6.indexName),M6=async(t,e=0)=>await ayt.search(t,{analyticsTags:["yarn-plugin-interactive-tools"],attributesToRetrieve:["name","version","owner","repository","humanDownloadsLast30Days"],page:e,hitsPerPage:10});var sv=["regular","dev","peer"],bC=class extends ut{static{this.paths=[["search"]]}static{this.usage=ot.Usage({category:"Interactive commands",description:"open the search interface",details:` + This command opens a fullscreen terminal interface where you can search for and install packages from the npm registry. + `,examples:[["Open the search window","yarn search"]]})}async execute(){AC(this.context);let{Gem:e}=await Promise.resolve().then(()=>(UQ(),oj)),{ScrollableItems:r}=await Promise.resolve().then(()=>(jQ(),qQ)),{useKeypress:o}=await Promise.resolve().then(()=>(rv(),xwe)),{useMinistore:a}=await Promise.resolve().then(()=>(fj(),Aj)),{renderForm:n}=await Promise.resolve().then(()=>(KQ(),YQ)),{default:u}=await Promise.resolve().then(()=>et(Uwe())),{Box:A,Text:p}=await Promise.resolve().then(()=>et(ac())),{default:h,useEffect:E,useState:w}=await Promise.resolve().then(()=>et(ln())),D=await ze.find(this.context.cwd,this.context.plugins),x=()=>h.createElement(A,{flexDirection:"row"},h.createElement(A,{flexDirection:"column",width:48},h.createElement(A,null,h.createElement(p,null,"Press ",h.createElement(p,{bold:!0,color:"cyanBright"},"<up>"),"/",h.createElement(p,{bold:!0,color:"cyanBright"},"<down>")," to move between packages.")),h.createElement(A,null,h.createElement(p,null,"Press ",h.createElement(p,{bold:!0,color:"cyanBright"},"<space>")," to select a package.")),h.createElement(A,null,h.createElement(p,null,"Press ",h.createElement(p,{bold:!0,color:"cyanBright"},"<space>")," again to change the target."))),h.createElement(A,{flexDirection:"column"},h.createElement(A,{marginLeft:1},h.createElement(p,null,"Press ",h.createElement(p,{bold:!0,color:"cyanBright"},"<enter>")," to install the selected packages.")),h.createElement(A,{marginLeft:1},h.createElement(p,null,"Press ",h.createElement(p,{bold:!0,color:"cyanBright"},"<ctrl+c>")," to abort.")))),C=()=>h.createElement(h.Fragment,null,h.createElement(A,{width:15},h.createElement(p,{bold:!0,underline:!0,color:"gray"},"Owner")),h.createElement(A,{width:11},h.createElement(p,{bold:!0,underline:!0,color:"gray"},"Version")),h.createElement(A,{width:10},h.createElement(p,{bold:!0,underline:!0,color:"gray"},"Downloads"))),T=()=>h.createElement(A,{width:17},h.createElement(p,{bold:!0,underline:!0,color:"gray"},"Target")),L=({hit:he,active:De})=>{let[Ee,g]=a(he.name,null);o({active:De},(fe,ie)=>{if(ie.name!=="space")return;if(!Ee){g(sv[0]);return}let Z=sv.indexOf(Ee)+1;Z===sv.length?g(null):g(sv[Z])},[Ee,g]);let me=G.parseIdent(he.name),Ce=G.prettyIdent(D,me);return h.createElement(A,null,h.createElement(A,{width:45},h.createElement(p,{bold:!0,wrap:"wrap"},Ce)),h.createElement(A,{width:14,marginLeft:1},h.createElement(p,{bold:!0,wrap:"truncate"},he.owner.name)),h.createElement(A,{width:10,marginLeft:1},h.createElement(p,{italic:!0,wrap:"truncate"},he.version)),h.createElement(A,{width:16,marginLeft:1},h.createElement(p,null,he.humanDownloadsLast30Days)))},U=({name:he,active:De})=>{let[Ee]=a(he,null),g=G.parseIdent(he);return h.createElement(A,null,h.createElement(A,{width:47},h.createElement(p,{bold:!0}," - ",G.prettyIdent(D,g))),sv.map(me=>h.createElement(A,{key:me,width:14,marginLeft:1},h.createElement(p,null," ",h.createElement(e,{active:Ee===me})," ",h.createElement(p,{bold:!0},me)))))},J=()=>h.createElement(A,{marginTop:1},h.createElement(p,null,"Powered by Algolia.")),le=await n(({useSubmit:he})=>{let De=a();he(De);let Ee=Array.from(De.keys()).filter(q=>De.get(q)!==null),[g,me]=w(""),[Ce,fe]=w(0),[ie,Z]=w([]),Pe=q=>{q.match(/\t| /)||me(q)},Re=async()=>{fe(0);let q=await M6(g);q.query===g&&Z(q.hits)},ht=async()=>{let q=await M6(g,Ce+1);q.query===g&&q.page-1===Ce&&(fe(q.page),Z([...ie,...q.hits]))};return E(()=>{g?Re():Z([])},[g]),h.createElement(A,{flexDirection:"column"},h.createElement(x,null),h.createElement(A,{flexDirection:"row",marginTop:1},h.createElement(p,{bold:!0},"Search: "),h.createElement(A,{width:41},h.createElement(u,{value:g,onChange:Pe,placeholder:"i.e. babel, webpack, react...",showCursor:!1})),h.createElement(C,null)),ie.length?h.createElement(r,{radius:2,loop:!1,children:ie.map(q=>h.createElement(L,{key:q.name,hit:q,active:!1})),willReachEnd:ht}):h.createElement(p,{color:"gray"},"Start typing..."),h.createElement(A,{flexDirection:"row",marginTop:1},h.createElement(A,{width:49},h.createElement(p,{bold:!0},"Selected:")),h.createElement(T,null)),Ee.length?Ee.map(q=>h.createElement(U,{key:q,name:q,active:!1})):h.createElement(p,{color:"gray"},"No selected packages..."),h.createElement(J,null))},{},{stdin:this.context.stdin,stdout:this.context.stdout,stderr:this.context.stderr});if(typeof le>"u")return 1;let ce=Array.from(le.keys()).filter(he=>le.get(he)==="regular"),ue=Array.from(le.keys()).filter(he=>le.get(he)==="dev"),Ie=Array.from(le.keys()).filter(he=>le.get(he)==="peer");return ce.length&&await this.cli.run(["add",...ce]),ue.length&&await this.cli.run(["add","--dev",...ue]),Ie&&await this.cli.run(["add","--peer",...Ie]),0}};Ke();Gt();n_();var Ywe=et(ni()),Wwe=/^((?:[\^~]|>=?)?)([0-9]+)(\.[0-9]+)(\.[0-9]+)((?:-\S+)?)$/,Kwe=(t,e)=>t.length>0?[t.slice(0,e)].concat(Kwe(t.slice(e),e)):[],xC=class extends ut{static{this.paths=[["upgrade-interactive"]]}static{this.usage=ot.Usage({category:"Interactive commands",description:"open the upgrade interface",details:` + This command opens a fullscreen terminal interface where you can see any out of date packages used by your application, their status compared to the latest versions available on the remote registry, and select packages to upgrade. + `,examples:[["Open the upgrade window","yarn upgrade-interactive"]]})}async execute(){AC(this.context);let{ItemOptions:e}=await Promise.resolve().then(()=>(Gwe(),jwe)),{Pad:r}=await Promise.resolve().then(()=>(dj(),qwe)),{ScrollableItems:o}=await Promise.resolve().then(()=>(jQ(),qQ)),{useMinistore:a}=await Promise.resolve().then(()=>(fj(),Aj)),{renderForm:n}=await Promise.resolve().then(()=>(KQ(),YQ)),{Box:u,Text:A}=await Promise.resolve().then(()=>et(ac())),{default:p,useEffect:h,useRef:E,useState:w}=await Promise.resolve().then(()=>et(ln())),D=await ze.find(this.context.cwd,this.context.plugins),{project:x,workspace:C}=await Qt.find(D,this.context.cwd),T=await Wr.find(D);if(!C)throw new or(x.cwd,this.context.cwd);await x.restoreInstallState({restoreResolutions:!1});let L=this.context.stdout.rows-7,U=(me,Ce)=>{let fe=$pe(me,Ce),ie="";for(let Z of fe)Z.added?ie+=pe.pretty(D,Z.value,"green"):Z.removed||(ie+=Z.value);return ie},J=(me,Ce)=>{if(me===Ce)return Ce;let fe=G.parseRange(me),ie=G.parseRange(Ce),Z=fe.selector.match(Wwe),Pe=ie.selector.match(Wwe);if(!Z||!Pe)return U(me,Ce);let Re=["gray","red","yellow","green","magenta"],ht=null,q="";for(let nt=1;nt<Re.length;++nt)ht!==null||Z[nt]!==Pe[nt]?(ht===null&&(ht=Re[nt-1]),q+=pe.pretty(D,Pe[nt],ht)):q+=Pe[nt];return q},te=async(me,Ce,fe)=>{let ie=await nu.fetchDescriptorFrom(me,fe,{project:x,cache:T,preserveModifier:Ce,workspace:C});return ie!==null?ie.range:me.range},le=async me=>{let Ce=Ywe.default.valid(me.range)?`^${me.range}`:me.range,[fe,ie]=await Promise.all([te(me,me.range,Ce).catch(()=>null),te(me,me.range,"latest").catch(()=>null)]),Z=[{value:null,label:me.range}];return fe&&fe!==me.range?Z.push({value:fe,label:J(me.range,fe)}):Z.push({value:null,label:""}),ie&&ie!==fe&&ie!==me.range?Z.push({value:ie,label:J(me.range,ie)}):Z.push({value:null,label:""}),Z},ce=()=>p.createElement(u,{flexDirection:"row"},p.createElement(u,{flexDirection:"column",width:49},p.createElement(u,{marginLeft:1},p.createElement(A,null,"Press ",p.createElement(A,{bold:!0,color:"cyanBright"},"<up>"),"/",p.createElement(A,{bold:!0,color:"cyanBright"},"<down>")," to select packages.")),p.createElement(u,{marginLeft:1},p.createElement(A,null,"Press ",p.createElement(A,{bold:!0,color:"cyanBright"},"<left>"),"/",p.createElement(A,{bold:!0,color:"cyanBright"},"<right>")," to select versions."))),p.createElement(u,{flexDirection:"column"},p.createElement(u,{marginLeft:1},p.createElement(A,null,"Press ",p.createElement(A,{bold:!0,color:"cyanBright"},"<enter>")," to install.")),p.createElement(u,{marginLeft:1},p.createElement(A,null,"Press ",p.createElement(A,{bold:!0,color:"cyanBright"},"<ctrl+c>")," to abort.")))),ue=()=>p.createElement(u,{flexDirection:"row",paddingTop:1,paddingBottom:1},p.createElement(u,{width:50},p.createElement(A,{bold:!0},p.createElement(A,{color:"greenBright"},"?")," Pick the packages you want to upgrade.")),p.createElement(u,{width:17},p.createElement(A,{bold:!0,underline:!0,color:"gray"},"Current")),p.createElement(u,{width:17},p.createElement(A,{bold:!0,underline:!0,color:"gray"},"Range")),p.createElement(u,{width:17},p.createElement(A,{bold:!0,underline:!0,color:"gray"},"Latest"))),Ie=({active:me,descriptor:Ce,suggestions:fe})=>{let[ie,Z]=a(Ce.descriptorHash,null),Pe=G.stringifyIdent(Ce),Re=Math.max(0,45-Pe.length);return p.createElement(p.Fragment,null,p.createElement(u,null,p.createElement(u,{width:45},p.createElement(A,{bold:!0},G.prettyIdent(D,Ce)),p.createElement(r,{active:me,length:Re})),p.createElement(e,{active:me,options:fe,value:ie,skewer:!0,onChange:Z,sizes:[17,17,17]})))},he=({dependencies:me})=>{let[Ce,fe]=w(me.map(()=>null)),ie=E(!0),Z=async Pe=>{let Re=await le(Pe);return Re.filter(ht=>ht.label!=="").length<=1?null:{descriptor:Pe,suggestions:Re}};return h(()=>()=>{ie.current=!1},[]),h(()=>{let Pe=Math.trunc(L*1.75),Re=me.slice(0,Pe),ht=me.slice(Pe),q=Kwe(ht,L),nt=Re.map(Z).reduce(async(Ne,Te)=>{await Ne;let ke=await Te;ke!==null&&ie.current&&fe(Ve=>{let be=Ve.findIndex(He=>He===null),tt=[...Ve];return tt[be]=ke,tt})},Promise.resolve());q.reduce((Ne,Te)=>Promise.all(Te.map(ke=>Promise.resolve().then(()=>Z(ke)))).then(async ke=>{ke=ke.filter(Ve=>Ve!==null),await Ne,ie.current&&fe(Ve=>{let be=Ve.findIndex(tt=>tt===null);return Ve.slice(0,be).concat(ke).concat(Ve.slice(be+ke.length))})}),nt).then(()=>{ie.current&&fe(Ne=>Ne.filter(Te=>Te!==null))})},[]),Ce.length?p.createElement(o,{radius:L>>1,children:Ce.map((Pe,Re)=>Pe!==null?p.createElement(Ie,{key:Re,active:!1,descriptor:Pe.descriptor,suggestions:Pe.suggestions}):p.createElement(A,{key:Re},"Loading..."))}):p.createElement(A,null,"No upgrades found")},Ee=await n(({useSubmit:me})=>{me(a());let Ce=new Map;for(let ie of x.workspaces)for(let Z of["dependencies","devDependencies"])for(let Pe of ie.manifest[Z].values())x.tryWorkspaceByDescriptor(Pe)===null&&(Pe.range.startsWith("link:")||Ce.set(Pe.descriptorHash,Pe));let fe=qe.sortMap(Ce.values(),ie=>G.stringifyDescriptor(ie));return p.createElement(u,{flexDirection:"column"},p.createElement(ce,null),p.createElement(ue,null),p.createElement(he,{dependencies:fe}))},{},{stdin:this.context.stdin,stdout:this.context.stdout,stderr:this.context.stderr});if(typeof Ee>"u")return 1;let g=!1;for(let me of x.workspaces)for(let Ce of["dependencies","devDependencies"]){let fe=me.manifest[Ce];for(let ie of fe.values()){let Z=Ee.get(ie.descriptorHash);typeof Z<"u"&&Z!==null&&(fe.set(ie.identHash,G.makeDescriptor(ie,Z)),g=!0)}}return g?await x.installWithNewReport({quiet:this.context.quiet,stdout:this.context.stdout},{cache:T}):0}};var MIt={commands:[bC,xC]},UIt=MIt;var yj={};Kt(yj,{LinkFetcher:()=>av,LinkResolver:()=>lv,PortalFetcher:()=>cv,PortalResolver:()=>uv,default:()=>HIt});Ke();Pt();var Zf="portal:",$f="link:";var av=class{supports(e,r){return!!e.reference.startsWith($f)}getLocalPath(e,r){let{parentLocator:o,path:a}=G.parseFileStyleRange(e.reference,{protocol:$f});if(K.isAbsolute(a))return a;let n=r.fetcher.getLocalPath(o,r);return n===null?null:K.resolve(n,a)}async fetch(e,r){let{parentLocator:o,path:a}=G.parseFileStyleRange(e.reference,{protocol:$f}),n=K.isAbsolute(a)?{packageFs:new En(Bt.root),prefixPath:Bt.dot,localPath:Bt.root}:await r.fetcher.fetch(o,r),u=n.localPath?{packageFs:new En(Bt.root),prefixPath:K.relative(Bt.root,n.localPath),localPath:Bt.root}:n;n!==u&&n.releaseFs&&n.releaseFs();let A=u.packageFs,p=K.resolve(u.localPath??u.packageFs.getRealPath(),u.prefixPath,a);return n.localPath?{packageFs:new En(p,{baseFs:A}),releaseFs:u.releaseFs,prefixPath:Bt.dot,discardFromLookup:!0,localPath:p}:{packageFs:new Gu(p,{baseFs:A}),releaseFs:u.releaseFs,prefixPath:Bt.dot,discardFromLookup:!0}}};Ke();Pt();var lv=class{supportsDescriptor(e,r){return!!e.range.startsWith($f)}supportsLocator(e,r){return!!e.reference.startsWith($f)}shouldPersistResolution(e,r){return!1}bindDescriptor(e,r,o){return G.bindDescriptor(e,{locator:G.stringifyLocator(r)})}getResolutionDependencies(e,r){return{}}async getCandidates(e,r,o){let a=e.range.slice($f.length);return[G.makeLocator(e,`${$f}${Ae.toPortablePath(a)}`)]}async getSatisfying(e,r,o,a){let[n]=await this.getCandidates(e,r,a);return{locators:o.filter(u=>u.locatorHash===n.locatorHash),sorted:!1}}async resolve(e,r){return{...e,version:"0.0.0",languageName:r.project.configuration.get("defaultLanguageName"),linkType:"SOFT",conditions:null,dependencies:new Map,peerDependencies:new Map,dependenciesMeta:new Map,peerDependenciesMeta:new Map,bin:new Map}}};Ke();Pt();var cv=class{supports(e,r){return!!e.reference.startsWith(Zf)}getLocalPath(e,r){let{parentLocator:o,path:a}=G.parseFileStyleRange(e.reference,{protocol:Zf});if(K.isAbsolute(a))return a;let n=r.fetcher.getLocalPath(o,r);return n===null?null:K.resolve(n,a)}async fetch(e,r){let{parentLocator:o,path:a}=G.parseFileStyleRange(e.reference,{protocol:Zf}),n=K.isAbsolute(a)?{packageFs:new En(Bt.root),prefixPath:Bt.dot,localPath:Bt.root}:await r.fetcher.fetch(o,r),u=n.localPath?{packageFs:new En(Bt.root),prefixPath:K.relative(Bt.root,n.localPath),localPath:Bt.root}:n;n!==u&&n.releaseFs&&n.releaseFs();let A=u.packageFs,p=K.resolve(u.localPath??u.packageFs.getRealPath(),u.prefixPath,a);return n.localPath?{packageFs:new En(p,{baseFs:A}),releaseFs:u.releaseFs,prefixPath:Bt.dot,localPath:p}:{packageFs:new Gu(p,{baseFs:A}),releaseFs:u.releaseFs,prefixPath:Bt.dot}}};Ke();Ke();Pt();var uv=class{supportsDescriptor(e,r){return!!e.range.startsWith(Zf)}supportsLocator(e,r){return!!e.reference.startsWith(Zf)}shouldPersistResolution(e,r){return!1}bindDescriptor(e,r,o){return G.bindDescriptor(e,{locator:G.stringifyLocator(r)})}getResolutionDependencies(e,r){return{}}async getCandidates(e,r,o){let a=e.range.slice(Zf.length);return[G.makeLocator(e,`${Zf}${Ae.toPortablePath(a)}`)]}async getSatisfying(e,r,o,a){let[n]=await this.getCandidates(e,r,a);return{locators:o.filter(u=>u.locatorHash===n.locatorHash),sorted:!1}}async resolve(e,r){if(!r.fetchOptions)throw new Error("Assertion failed: This resolver cannot be used unless a fetcher is configured");let o=await r.fetchOptions.fetcher.fetch(e,r.fetchOptions),a=await qe.releaseAfterUseAsync(async()=>await _t.find(o.prefixPath,{baseFs:o.packageFs}),o.releaseFs);return{...e,version:a.version||"0.0.0",languageName:a.languageName||r.project.configuration.get("defaultLanguageName"),linkType:"SOFT",conditions:a.getConditions(),dependencies:r.project.configuration.normalizeDependencyMap(a.dependencies),peerDependencies:a.peerDependencies,dependenciesMeta:a.dependenciesMeta,peerDependenciesMeta:a.peerDependenciesMeta,bin:a.bin}}};var _It={fetchers:[av,cv],resolvers:[lv,uv]},HIt=_It;var t5={};Kt(t5,{NodeModulesLinker:()=>Dv,NodeModulesMode:()=>Xj,PnpLooseLinker:()=>Pv,default:()=>n1t});Pt();Ke();Pt();Pt();var Cj=(t,e)=>`${t}@${e}`,Vwe=(t,e)=>{let r=e.indexOf("#"),o=r>=0?e.substring(r+1):e;return Cj(t,o)};var zwe=(t,e={})=>{let r=e.debugLevel||Number(process.env.NM_DEBUG_LEVEL||-1),o=e.check||r>=9,a=e.hoistingLimits||new Map,n={check:o,debugLevel:r,hoistingLimits:a,fastLookupPossible:!0},u;n.debugLevel>=0&&(u=Date.now());let A=VIt(t,n),p=!1,h=0;do{let E=Ij(A,[A],new Set([A.locator]),new Map,n);p=E.anotherRoundNeeded||E.isGraphChanged,n.fastLookupPossible=!1,h++}while(p);if(n.debugLevel>=0&&console.log(`hoist time: ${Date.now()-u}ms, rounds: ${h}`),n.debugLevel>=1){let E=Av(A);if(Ij(A,[A],new Set([A.locator]),new Map,n).isGraphChanged)throw new Error(`The hoisting result is not terminal, prev tree: +${E}, next tree: +${Av(A)}`);let D=Xwe(A);if(D)throw new Error(`${D}, after hoisting finished: +${Av(A)}`)}return n.debugLevel>=2&&console.log(Av(A)),JIt(A)},qIt=t=>{let e=t[t.length-1],r=new Map,o=new Set,a=n=>{if(!o.has(n)){o.add(n);for(let u of n.hoistedDependencies.values())r.set(u.name,u);for(let u of n.dependencies.values())n.peerNames.has(u.name)||a(u)}};return a(e),r},jIt=t=>{let e=t[t.length-1],r=new Map,o=new Set,a=new Set,n=(u,A)=>{if(o.has(u))return;o.add(u);for(let h of u.hoistedDependencies.values())if(!A.has(h.name)){let E;for(let w of t)E=w.dependencies.get(h.name),E&&r.set(E.name,E)}let p=new Set;for(let h of u.dependencies.values())p.add(h.name);for(let h of u.dependencies.values())u.peerNames.has(h.name)||n(h,p)};return n(e,a),r},Jwe=(t,e)=>{if(e.decoupled)return e;let{name:r,references:o,ident:a,locator:n,dependencies:u,originalDependencies:A,hoistedDependencies:p,peerNames:h,reasons:E,isHoistBorder:w,hoistPriority:D,dependencyKind:x,hoistedFrom:C,hoistedTo:T}=e,L={name:r,references:new Set(o),ident:a,locator:n,dependencies:new Map(u),originalDependencies:new Map(A),hoistedDependencies:new Map(p),peerNames:new Set(h),reasons:new Map(E),decoupled:!0,isHoistBorder:w,hoistPriority:D,dependencyKind:x,hoistedFrom:new Map(C),hoistedTo:new Map(T)},U=L.dependencies.get(r);return U&&U.ident==L.ident&&L.dependencies.set(r,L),t.dependencies.set(L.name,L),L},GIt=(t,e)=>{let r=new Map([[t.name,[t.ident]]]);for(let a of t.dependencies.values())t.peerNames.has(a.name)||r.set(a.name,[a.ident]);let o=Array.from(e.keys());o.sort((a,n)=>{let u=e.get(a),A=e.get(n);if(A.hoistPriority!==u.hoistPriority)return A.hoistPriority-u.hoistPriority;{let p=u.dependents.size+u.peerDependents.size;return A.dependents.size+A.peerDependents.size-p}});for(let a of o){let n=a.substring(0,a.indexOf("@",1)),u=a.substring(n.length+1);if(!t.peerNames.has(n)){let A=r.get(n);A||(A=[],r.set(n,A)),A.indexOf(u)<0&&A.push(u)}}return r},Ej=t=>{let e=new Set,r=(o,a=new Set)=>{if(!a.has(o)){a.add(o);for(let n of o.peerNames)if(!t.peerNames.has(n)){let u=t.dependencies.get(n);u&&!e.has(u)&&r(u,a)}e.add(o)}};for(let o of t.dependencies.values())t.peerNames.has(o.name)||r(o);return e},Ij=(t,e,r,o,a,n=new Set)=>{let u=e[e.length-1];if(n.has(u))return{anotherRoundNeeded:!1,isGraphChanged:!1};n.add(u);let A=zIt(u),p=GIt(u,A),h=t==u?new Map:a.fastLookupPossible?qIt(e):jIt(e),E,w=!1,D=!1,x=new Map(Array.from(p.entries()).map(([T,L])=>[T,L[0]])),C=new Map;do{let T=KIt(t,e,r,h,x,p,o,C,a);T.isGraphChanged&&(D=!0),T.anotherRoundNeeded&&(w=!0),E=!1;for(let[L,U]of p)U.length>1&&!u.dependencies.has(L)&&(x.delete(L),U.shift(),x.set(L,U[0]),E=!0)}while(E);for(let T of u.dependencies.values())if(!u.peerNames.has(T.name)&&!r.has(T.locator)){r.add(T.locator);let L=Ij(t,[...e,T],r,C,a);L.isGraphChanged&&(D=!0),L.anotherRoundNeeded&&(w=!0),r.delete(T.locator)}return{anotherRoundNeeded:w,isGraphChanged:D}},WIt=t=>{for(let[e,r]of t.dependencies)if(!t.peerNames.has(e)&&r.ident!==t.ident)return!0;return!1},YIt=(t,e,r,o,a,n,u,A,{outputReason:p,fastLookupPossible:h})=>{let E,w=null,D=new Set;p&&(E=`${Array.from(e).map(L=>zs(L)).join("\u2192")}`);let x=r[r.length-1],T=!(o.ident===x.ident);if(p&&!T&&(w="- self-reference"),T&&(T=o.dependencyKind!==1,p&&!T&&(w="- workspace")),T&&o.dependencyKind===2&&(T=!WIt(o),p&&!T&&(w="- external soft link with unhoisted dependencies")),T&&(T=!t.peerNames.has(o.name),p&&!T&&(w=`- cannot shadow peer: ${zs(t.originalDependencies.get(o.name).locator)} at ${E}`)),T){let L=!1,U=a.get(o.name);if(L=!U||U.ident===o.ident,p&&!L&&(w=`- filled by: ${zs(U.locator)} at ${E}`),L)for(let J=r.length-1;J>=1;J--){let le=r[J].dependencies.get(o.name);if(le&&le.ident!==o.ident){L=!1;let ce=A.get(x);ce||(ce=new Set,A.set(x,ce)),ce.add(o.name),p&&(w=`- filled by ${zs(le.locator)} at ${r.slice(0,J).map(ue=>zs(ue.locator)).join("\u2192")}`);break}}T=L}if(T&&(T=n.get(o.name)===o.ident,p&&!T&&(w=`- filled by: ${zs(u.get(o.name)[0])} at ${E}`)),T){let L=!0,U=new Set(o.peerNames);for(let J=r.length-1;J>=1;J--){let te=r[J];for(let le of U){if(te.peerNames.has(le)&&te.originalDependencies.has(le))continue;let ce=te.dependencies.get(le);ce&&t.dependencies.get(le)!==ce&&(J===r.length-1?D.add(ce):(D=null,L=!1,p&&(w=`- peer dependency ${zs(ce.locator)} from parent ${zs(te.locator)} was not hoisted to ${E}`))),U.delete(le)}if(!L)break}T=L}if(T&&!h)for(let L of o.hoistedDependencies.values()){let U=a.get(L.name)||t.dependencies.get(L.name);if(!U||L.ident!==U.ident){T=!1,p&&(w=`- previously hoisted dependency mismatch, needed: ${zs(L.locator)}, available: ${zs(U?.locator)}`);break}}return D!==null&&D.size>0?{isHoistable:2,dependsOn:D,reason:w}:{isHoistable:T?0:1,reason:w}},VQ=t=>`${t.name}@${t.locator}`,KIt=(t,e,r,o,a,n,u,A,p)=>{let h=e[e.length-1],E=new Set,w=!1,D=!1,x=(U,J,te,le,ce)=>{if(E.has(le))return;let ue=[...J,VQ(le)],Ie=[...te,VQ(le)],he=new Map,De=new Map;for(let fe of Ej(le)){let ie=YIt(h,r,[h,...U,le],fe,o,a,n,A,{outputReason:p.debugLevel>=2,fastLookupPossible:p.fastLookupPossible});if(De.set(fe,ie),ie.isHoistable===2)for(let Z of ie.dependsOn){let Pe=he.get(Z.name)||new Set;Pe.add(fe.name),he.set(Z.name,Pe)}}let Ee=new Set,g=(fe,ie,Z)=>{if(!Ee.has(fe)){Ee.add(fe),De.set(fe,{isHoistable:1,reason:Z});for(let Pe of he.get(fe.name)||[])g(le.dependencies.get(Pe),ie,p.debugLevel>=2?`- peer dependency ${zs(fe.locator)} from parent ${zs(le.locator)} was not hoisted`:"")}};for(let[fe,ie]of De)ie.isHoistable===1&&g(fe,ie,ie.reason);let me=!1;for(let fe of De.keys())if(!Ee.has(fe)){D=!0;let ie=u.get(le);ie&&ie.has(fe.name)&&(w=!0),me=!0,le.dependencies.delete(fe.name),le.hoistedDependencies.set(fe.name,fe),le.reasons.delete(fe.name);let Z=h.dependencies.get(fe.name);if(p.debugLevel>=2){let Pe=Array.from(J).concat([le.locator]).map(ht=>zs(ht)).join("\u2192"),Re=h.hoistedFrom.get(fe.name);Re||(Re=[],h.hoistedFrom.set(fe.name,Re)),Re.push(Pe),le.hoistedTo.set(fe.name,Array.from(e).map(ht=>zs(ht.locator)).join("\u2192"))}if(!Z)h.ident!==fe.ident&&(h.dependencies.set(fe.name,fe),ce.add(fe));else for(let Pe of fe.references)Z.references.add(Pe)}if(le.dependencyKind===2&&me&&(w=!0),p.check){let fe=Xwe(t);if(fe)throw new Error(`${fe}, after hoisting dependencies of ${[h,...U,le].map(ie=>zs(ie.locator)).join("\u2192")}: +${Av(t)}`)}let Ce=Ej(le);for(let fe of Ce)if(Ee.has(fe)){let ie=De.get(fe);if((a.get(fe.name)===fe.ident||!le.reasons.has(fe.name))&&ie.isHoistable!==0&&le.reasons.set(fe.name,ie.reason),!fe.isHoistBorder&&Ie.indexOf(VQ(fe))<0){E.add(le);let Pe=Jwe(le,fe);x([...U,le],ue,Ie,Pe,T),E.delete(le)}}},C,T=new Set(Ej(h)),L=Array.from(e).map(U=>VQ(U));do{C=T,T=new Set;for(let U of C){if(U.locator===h.locator||U.isHoistBorder)continue;let J=Jwe(h,U);x([],Array.from(r),L,J,T)}}while(T.size>0);return{anotherRoundNeeded:w,isGraphChanged:D}},Xwe=t=>{let e=[],r=new Set,o=new Set,a=(n,u,A)=>{if(r.has(n)||(r.add(n),o.has(n)))return;let p=new Map(u);for(let h of n.dependencies.values())n.peerNames.has(h.name)||p.set(h.name,h);for(let h of n.originalDependencies.values()){let E=p.get(h.name),w=()=>`${Array.from(o).concat([n]).map(D=>zs(D.locator)).join("\u2192")}`;if(n.peerNames.has(h.name)){let D=u.get(h.name);(D!==E||!D||D.ident!==h.ident)&&e.push(`${w()} - broken peer promise: expected ${h.ident} but found ${D&&D.ident}`)}else{let D=A.hoistedFrom.get(n.name),x=n.hoistedTo.get(h.name),C=`${D?` hoisted from ${D.join(", ")}`:""}`,T=`${x?` hoisted to ${x}`:""}`,L=`${w()}${C}`;E?E.ident!==h.ident&&e.push(`${L} - broken require promise for ${h.name}${T}: expected ${h.ident}, but found: ${E.ident}`):e.push(`${L} - broken require promise: no required dependency ${h.name}${T} found`)}}o.add(n);for(let h of n.dependencies.values())n.peerNames.has(h.name)||a(h,p,n);o.delete(n)};return a(t,t.dependencies,t),e.join(` +`)},VIt=(t,e)=>{let{identName:r,name:o,reference:a,peerNames:n}=t,u={name:o,references:new Set([a]),locator:Cj(r,a),ident:Vwe(r,a),dependencies:new Map,originalDependencies:new Map,hoistedDependencies:new Map,peerNames:new Set(n),reasons:new Map,decoupled:!0,isHoistBorder:!0,hoistPriority:0,dependencyKind:1,hoistedFrom:new Map,hoistedTo:new Map},A=new Map([[t,u]]),p=(h,E)=>{let w=A.get(h),D=!!w;if(!w){let{name:x,identName:C,reference:T,peerNames:L,hoistPriority:U,dependencyKind:J}=h,te=e.hoistingLimits.get(E.locator);w={name:x,references:new Set([T]),locator:Cj(C,T),ident:Vwe(C,T),dependencies:new Map,originalDependencies:new Map,hoistedDependencies:new Map,peerNames:new Set(L),reasons:new Map,decoupled:!0,isHoistBorder:te?te.has(x):!1,hoistPriority:U||0,dependencyKind:J||0,hoistedFrom:new Map,hoistedTo:new Map},A.set(h,w)}if(E.dependencies.set(h.name,w),E.originalDependencies.set(h.name,w),D){let x=new Set,C=T=>{if(!x.has(T)){x.add(T),T.decoupled=!1;for(let L of T.dependencies.values())T.peerNames.has(L.name)||C(L)}};C(w)}else for(let x of h.dependencies)p(x,w)};for(let h of t.dependencies)p(h,u);return u},wj=t=>t.substring(0,t.indexOf("@",1)),JIt=t=>{let e={name:t.name,identName:wj(t.locator),references:new Set(t.references),dependencies:new Set},r=new Set([t]),o=(a,n,u)=>{let A=r.has(a),p;if(n===a)p=u;else{let{name:h,references:E,locator:w}=a;p={name:h,identName:wj(w),references:E,dependencies:new Set}}if(u.dependencies.add(p),!A){r.add(a);for(let h of a.dependencies.values())a.peerNames.has(h.name)||o(h,a,p);r.delete(a)}};for(let a of t.dependencies.values())o(a,t,e);return e},zIt=t=>{let e=new Map,r=new Set([t]),o=u=>`${u.name}@${u.ident}`,a=u=>{let A=o(u),p=e.get(A);return p||(p={dependents:new Set,peerDependents:new Set,hoistPriority:0},e.set(A,p)),p},n=(u,A)=>{let p=!!r.has(A);if(a(A).dependents.add(u.ident),!p){r.add(A);for(let E of A.dependencies.values()){let w=a(E);w.hoistPriority=Math.max(w.hoistPriority,E.hoistPriority),A.peerNames.has(E.name)?w.peerDependents.add(A.ident):n(A,E)}}};for(let u of t.dependencies.values())t.peerNames.has(u.name)||n(t,u);return e},zs=t=>{if(!t)return"none";let e=t.indexOf("@",1),r=t.substring(0,e);r.endsWith("$wsroot$")&&(r=`wh:${r.replace("$wsroot$","")}`);let o=t.substring(e+1);if(o==="workspace:.")return".";if(o){let a=(o.indexOf("#")>0?o.split("#")[1]:o).replace("npm:","");return o.startsWith("virtual")&&(r=`v:${r}`),a.startsWith("workspace")&&(r=`w:${r}`,a=""),`${r}${a?`@${a}`:""}`}else return`${r}`};var Av=t=>{let e=0,r=(a,n,u="")=>{if(e>5e4||n.has(a))return"";e++;let A=Array.from(a.dependencies.values()).sort((h,E)=>h.name===E.name?0:h.name>E.name?1:-1),p="";n.add(a);for(let h=0;h<A.length;h++){let E=A[h];if(!a.peerNames.has(E.name)&&E!==a){let w=a.reasons.get(E.name),D=wj(E.locator);p+=`${u}${h<A.length-1?"\u251C\u2500":"\u2514\u2500"}${(n.has(E)?">":"")+(D!==E.name?`a:${E.name}:`:"")+zs(E.locator)+(w?` ${w}`:"")} +`,p+=r(E,n,`${u}${h<A.length-1?"\u2502 ":" "}`)}}return n.delete(a),p};return r(t,new Set)+(e>5e4?` +Tree is too large, part of the tree has been dunped +`:"")};var fv=(o=>(o.WORKSPACES="workspaces",o.DEPENDENCIES="dependencies",o.NONE="none",o))(fv||{}),Zwe="node_modules",jh="$wsroot$";var pv=(t,e)=>{let{packageTree:r,hoistingLimits:o,errors:a,preserveSymlinksRequired:n}=ZIt(t,e),u=null;if(a.length===0){let A=zwe(r,{hoistingLimits:o});u=ewt(t,A,e)}return{tree:u,errors:a,preserveSymlinksRequired:n}},yA=t=>`${t.name}@${t.reference}`,vj=t=>{let e=new Map;for(let[r,o]of t.entries())if(!o.dirList){let a=e.get(o.locator);a||(a={target:o.target,linkType:o.linkType,locations:[],aliases:o.aliases},e.set(o.locator,a)),a.locations.push(r)}for(let r of e.values())r.locations=r.locations.sort((o,a)=>{let n=o.split(K.delimiter).length,u=a.split(K.delimiter).length;return a===o?0:n!==u?u-n:a>o?1:-1});return e},$we=(t,e)=>{let r=G.isVirtualLocator(t)?G.devirtualizeLocator(t):t,o=G.isVirtualLocator(e)?G.devirtualizeLocator(e):e;return G.areLocatorsEqual(r,o)},Bj=(t,e,r,o)=>{if(t.linkType!=="SOFT")return!1;let a=Ae.toPortablePath(r.resolveVirtual&&e.reference&&e.reference.startsWith("virtual:")?r.resolveVirtual(t.packageLocation):t.packageLocation);return K.contains(o,a)===null},XIt=t=>{let e=t.getPackageInformation(t.topLevel);if(e===null)throw new Error("Assertion failed: Expected the top-level package to have been registered");if(t.findPackageLocator(e.packageLocation)===null)throw new Error("Assertion failed: Expected the top-level package to have a physical locator");let o=Ae.toPortablePath(e.packageLocation.slice(0,-1)),a=new Map,n={children:new Map},u=t.getDependencyTreeRoots(),A=new Map,p=new Set,h=(D,x)=>{let C=yA(D);if(p.has(C))return;p.add(C);let T=t.getPackageInformation(D);if(T){let L=x?yA(x):"";if(yA(D)!==L&&T.linkType==="SOFT"&&!D.reference.startsWith("link:")&&!Bj(T,D,t,o)){let U=e1e(T,D,t);(!A.get(U)||D.reference.startsWith("workspace:"))&&A.set(U,D)}for(let[U,J]of T.packageDependencies)J!==null&&(T.packagePeers.has(U)||h(t.getLocator(U,J),D))}};for(let D of u)h(D,null);let E=o.split(K.sep);for(let D of A.values()){let x=t.getPackageInformation(D),T=Ae.toPortablePath(x.packageLocation.slice(0,-1)).split(K.sep).slice(E.length),L=n;for(let U of T){let J=L.children.get(U);J||(J={children:new Map},L.children.set(U,J)),L=J}L.workspaceLocator=D}let w=(D,x)=>{if(D.workspaceLocator){let C=yA(x),T=a.get(C);T||(T=new Set,a.set(C,T)),T.add(D.workspaceLocator)}for(let C of D.children.values())w(C,D.workspaceLocator||x)};for(let D of n.children.values())w(D,n.workspaceLocator);return a},ZIt=(t,e)=>{let r=[],o=!1,a=new Map,n=XIt(t),u=t.getPackageInformation(t.topLevel);if(u===null)throw new Error("Assertion failed: Expected the top-level package to have been registered");let A=t.findPackageLocator(u.packageLocation);if(A===null)throw new Error("Assertion failed: Expected the top-level package to have a physical locator");let p=Ae.toPortablePath(u.packageLocation.slice(0,-1)),h={name:A.name,identName:A.name,reference:A.reference,peerNames:u.packagePeers,dependencies:new Set,dependencyKind:1},E=new Map,w=(x,C)=>`${yA(C)}:${x}`,D=(x,C,T,L,U,J,te,le)=>{let ce=w(x,T),ue=E.get(ce),Ie=!!ue;!Ie&&T.name===A.name&&T.reference===A.reference&&(ue=h,E.set(ce,h));let he=Bj(C,T,t,p);if(!ue){let fe=0;he?fe=2:C.linkType==="SOFT"&&T.name.endsWith(jh)&&(fe=1),ue={name:x,identName:T.name,reference:T.reference,dependencies:new Set,peerNames:fe===1?new Set:C.packagePeers,dependencyKind:fe},E.set(ce,ue)}let De;if(he?De=2:U.linkType==="SOFT"?De=1:De=0,ue.hoistPriority=Math.max(ue.hoistPriority||0,De),le&&!he){let fe=yA({name:L.identName,reference:L.reference}),ie=a.get(fe)||new Set;a.set(fe,ie),ie.add(ue.name)}let Ee=new Map(C.packageDependencies);if(e.project){let fe=e.project.workspacesByCwd.get(Ae.toPortablePath(C.packageLocation.slice(0,-1)));if(fe){let ie=new Set([...Array.from(fe.manifest.peerDependencies.values(),Z=>G.stringifyIdent(Z)),...Array.from(fe.manifest.peerDependenciesMeta.keys())]);for(let Z of ie)Ee.has(Z)||(Ee.set(Z,J.get(Z)||null),ue.peerNames.add(Z))}}let g=yA({name:T.name.replace(jh,""),reference:T.reference}),me=n.get(g);if(me)for(let fe of me)Ee.set(`${fe.name}${jh}`,fe.reference);(C!==U||C.linkType!=="SOFT"||!he&&(!e.selfReferencesByCwd||e.selfReferencesByCwd.get(te)))&&L.dependencies.add(ue);let Ce=T!==A&&C.linkType==="SOFT"&&!T.name.endsWith(jh)&&!he;if(!Ie&&!Ce){let fe=new Map;for(let[ie,Z]of Ee)if(Z!==null){let Pe=t.getLocator(ie,Z),Re=t.getLocator(ie.replace(jh,""),Z),ht=t.getPackageInformation(Re);if(ht===null)throw new Error("Assertion failed: Expected the package to have been registered");let q=Bj(ht,Pe,t,p);if(e.validateExternalSoftLinks&&e.project&&q){ht.packageDependencies.size>0&&(o=!0);for(let[Ve,be]of ht.packageDependencies)if(be!==null){let tt=G.parseLocator(Array.isArray(be)?`${be[0]}@${be[1]}`:`${Ve}@${be}`);if(yA(tt)!==yA(Pe)){let He=Ee.get(Ve);if(He){let b=G.parseLocator(Array.isArray(He)?`${He[0]}@${He[1]}`:`${Ve}@${He}`);$we(b,tt)||r.push({messageName:71,text:`Cannot link ${G.prettyIdent(e.project.configuration,G.parseIdent(Pe.name))} into ${G.prettyLocator(e.project.configuration,G.parseLocator(`${T.name}@${T.reference}`))} dependency ${G.prettyLocator(e.project.configuration,tt)} conflicts with parent dependency ${G.prettyLocator(e.project.configuration,b)}`})}else{let b=fe.get(Ve);if(b){let I=b.target,S=G.parseLocator(Array.isArray(I)?`${I[0]}@${I[1]}`:`${Ve}@${I}`);$we(S,tt)||r.push({messageName:71,text:`Cannot link ${G.prettyIdent(e.project.configuration,G.parseIdent(Pe.name))} into ${G.prettyLocator(e.project.configuration,G.parseLocator(`${T.name}@${T.reference}`))} dependency ${G.prettyLocator(e.project.configuration,tt)} conflicts with dependency ${G.prettyLocator(e.project.configuration,S)} from sibling portal ${G.prettyIdent(e.project.configuration,G.parseIdent(b.portal.name))}`})}else fe.set(Ve,{target:tt.reference,portal:Pe})}}}}let nt=e.hoistingLimitsByCwd?.get(te),Ne=q?te:K.relative(p,Ae.toPortablePath(ht.packageLocation))||Bt.dot,Te=e.hoistingLimitsByCwd?.get(Ne);D(ie,ht,Pe,ue,C,Ee,Ne,nt==="dependencies"||Te==="dependencies"||Te==="workspaces")}}};return D(A.name,u,A,h,u,u.packageDependencies,Bt.dot,!1),{packageTree:h,hoistingLimits:a,errors:r,preserveSymlinksRequired:o}};function e1e(t,e,r){let o=r.resolveVirtual&&e.reference&&e.reference.startsWith("virtual:")?r.resolveVirtual(t.packageLocation):t.packageLocation;return Ae.toPortablePath(o||t.packageLocation)}function $It(t,e,r){let o=e.getLocator(t.name.replace(jh,""),t.reference),a=e.getPackageInformation(o);if(a===null)throw new Error("Assertion failed: Expected the package to be registered");return r.pnpifyFs?{linkType:"SOFT",target:Ae.toPortablePath(a.packageLocation)}:{linkType:a.linkType,target:e1e(a,t,e)}}var ewt=(t,e,r)=>{let o=new Map,a=(E,w,D)=>{let{linkType:x,target:C}=$It(E,t,r);return{locator:yA(E),nodePath:w,target:C,linkType:x,aliases:D}},n=E=>{let[w,D]=E.split("/");return D?{scope:w,name:D}:{scope:null,name:w}},u=new Set,A=(E,w,D)=>{if(u.has(E))return;u.add(E);let x=Array.from(E.references).sort().join("#");for(let C of E.dependencies){let T=Array.from(C.references).sort().join("#");if(C.identName===E.identName.replace(jh,"")&&T===x)continue;let L=Array.from(C.references).sort(),U={name:C.identName,reference:L[0]},{name:J,scope:te}=n(C.name),le=te?[te,J]:[J],ce=K.join(w,Zwe),ue=K.join(ce,...le),Ie=`${D}/${U.name}`,he=a(U,D,L.slice(1)),De=!1;if(he.linkType==="SOFT"&&r.project){let Ee=r.project.workspacesByCwd.get(he.target.slice(0,-1));De=!!(Ee&&!Ee.manifest.name)}if(!C.name.endsWith(jh)&&!De){let Ee=o.get(ue);if(Ee){if(Ee.dirList)throw new Error(`Assertion failed: ${ue} cannot merge dir node with leaf node`);{let Ce=G.parseLocator(Ee.locator),fe=G.parseLocator(he.locator);if(Ee.linkType!==he.linkType)throw new Error(`Assertion failed: ${ue} cannot merge nodes with different link types ${Ee.nodePath}/${G.stringifyLocator(Ce)} and ${D}/${G.stringifyLocator(fe)}`);if(Ce.identHash!==fe.identHash)throw new Error(`Assertion failed: ${ue} cannot merge nodes with different idents ${Ee.nodePath}/${G.stringifyLocator(Ce)} and ${D}/s${G.stringifyLocator(fe)}`);he.aliases=[...he.aliases,...Ee.aliases,G.parseLocator(Ee.locator).reference]}}o.set(ue,he);let g=ue.split("/"),me=g.indexOf(Zwe);for(let Ce=g.length-1;me>=0&&Ce>me;Ce--){let fe=Ae.toPortablePath(g.slice(0,Ce).join(K.sep)),ie=g[Ce],Z=o.get(fe);if(!Z)o.set(fe,{dirList:new Set([ie])});else if(Z.dirList){if(Z.dirList.has(ie))break;Z.dirList.add(ie)}}}A(C,he.linkType==="SOFT"?he.target:ue,Ie)}},p=a({name:e.name,reference:Array.from(e.references)[0]},"",[]),h=p.target;return o.set(h,p),A(e,h,""),o};Ke();Ke();Pt();Pt();sA();Ol();var jj={};Kt(jj,{PnpInstaller:()=>pd,PnpLinker:()=>Yh,UnplugCommand:()=>QC,default:()=>kwt,getPnpPath:()=>Kh,jsInstallUtils:()=>CA,pnpUtils:()=>vv,quotePathIfNeeded:()=>M1e});Pt();var O1e=ve("url");Ke();Ke();Pt();Pt();var t1e={DEFAULT:{collapsed:!1,next:{"*":"DEFAULT"}},TOP_LEVEL:{collapsed:!1,next:{fallbackExclusionList:"FALLBACK_EXCLUSION_LIST",packageRegistryData:"PACKAGE_REGISTRY_DATA","*":"DEFAULT"}},FALLBACK_EXCLUSION_LIST:{collapsed:!1,next:{"*":"FALLBACK_EXCLUSION_ENTRIES"}},FALLBACK_EXCLUSION_ENTRIES:{collapsed:!0,next:{"*":"FALLBACK_EXCLUSION_DATA"}},FALLBACK_EXCLUSION_DATA:{collapsed:!0,next:{"*":"DEFAULT"}},PACKAGE_REGISTRY_DATA:{collapsed:!1,next:{"*":"PACKAGE_REGISTRY_ENTRIES"}},PACKAGE_REGISTRY_ENTRIES:{collapsed:!0,next:{"*":"PACKAGE_STORE_DATA"}},PACKAGE_STORE_DATA:{collapsed:!1,next:{"*":"PACKAGE_STORE_ENTRIES"}},PACKAGE_STORE_ENTRIES:{collapsed:!0,next:{"*":"PACKAGE_INFORMATION_DATA"}},PACKAGE_INFORMATION_DATA:{collapsed:!1,next:{packageDependencies:"PACKAGE_DEPENDENCIES","*":"DEFAULT"}},PACKAGE_DEPENDENCIES:{collapsed:!1,next:{"*":"PACKAGE_DEPENDENCY"}},PACKAGE_DEPENDENCY:{collapsed:!0,next:{"*":"DEFAULT"}}};function twt(t,e,r){let o="";o+="[";for(let a=0,n=t.length;a<n;++a)o+=JQ(String(a),t[a],e,r).replace(/^ +/g,""),a+1<n&&(o+=", ");return o+="]",o}function rwt(t,e,r){let o=`${r} `,a="";a+=r,a+=`[ +`;for(let n=0,u=t.length;n<u;++n)a+=o+JQ(String(n),t[n],e,o).replace(/^ +/,""),n+1<u&&(a+=","),a+=` +`;return a+=r,a+="]",a}function nwt(t,e,r){let o=Object.keys(t),a="";a+="{";for(let n=0,u=o.length,A=0;n<u;++n){let p=o[n],h=t[p];typeof h>"u"||(A!==0&&(a+=", "),a+=JSON.stringify(p),a+=": ",a+=JQ(p,h,e,r).replace(/^ +/g,""),A+=1)}return a+="}",a}function iwt(t,e,r){let o=Object.keys(t),a=`${r} `,n="";n+=r,n+=`{ +`;let u=0;for(let A=0,p=o.length;A<p;++A){let h=o[A],E=t[h];typeof E>"u"||(u!==0&&(n+=",",n+=` +`),n+=a,n+=JSON.stringify(h),n+=": ",n+=JQ(h,E,e,a).replace(/^ +/g,""),u+=1)}return u!==0&&(n+=` +`),n+=r,n+="}",n}function JQ(t,e,r,o){let{next:a}=t1e[r],n=a[t]||a["*"];return r1e(e,n,o)}function r1e(t,e,r){let{collapsed:o}=t1e[e];return Array.isArray(t)?o?twt(t,e,r):rwt(t,e,r):typeof t=="object"&&t!==null?o?nwt(t,e,r):iwt(t,e,r):JSON.stringify(t)}function n1e(t){return r1e(t,"TOP_LEVEL","")}function hv(t,e){let r=Array.from(t);Array.isArray(e)||(e=[e]);let o=[];for(let n of e)o.push(r.map(u=>n(u)));let a=r.map((n,u)=>u);return a.sort((n,u)=>{for(let A of o){let p=A[n]<A[u]?-1:A[n]>A[u]?1:0;if(p!==0)return p}return 0}),a.map(n=>r[n])}function swt(t){let e=new Map,r=hv(t.fallbackExclusionList||[],[({name:o,reference:a})=>o,({name:o,reference:a})=>a]);for(let{name:o,reference:a}of r){let n=e.get(o);typeof n>"u"&&e.set(o,n=new Set),n.add(a)}return Array.from(e).map(([o,a])=>[o,Array.from(a)])}function owt(t){return hv(t.fallbackPool||[],([e])=>e)}function awt(t){let e=[];for(let[r,o]of hv(t.packageRegistry,([a])=>a===null?"0":`1${a}`)){let a=[];e.push([r,a]);for(let[n,{packageLocation:u,packageDependencies:A,packagePeers:p,linkType:h,discardFromLookup:E}]of hv(o,([w])=>w===null?"0":`1${w}`)){let w=[];r!==null&&n!==null&&!A.has(r)&&w.push([r,n]);for(let[C,T]of hv(A.entries(),([L])=>L))w.push([C,T]);let D=p&&p.size>0?Array.from(p):void 0,x=E||void 0;a.push([n,{packageLocation:u,packageDependencies:w,packagePeers:D,linkType:h,discardFromLookup:x}])}}return e}function gv(t){return{__info:["This file is automatically generated. Do not touch it, or risk","your modifications being lost."],dependencyTreeRoots:t.dependencyTreeRoots,enableTopLevelFallback:t.enableTopLevelFallback||!1,ignorePatternData:t.ignorePattern||null,fallbackExclusionList:swt(t),fallbackPool:owt(t),packageRegistryData:awt(t)}}var o1e=et(s1e());function a1e(t,e){return[t?`${t} +`:"",`/* eslint-disable */ +`,`// @ts-nocheck +`,`"use strict"; +`,` +`,e,` +`,(0,o1e.default)()].join("")}function lwt(t){return JSON.stringify(t,null,2)}function cwt(t){return`'${t.replace(/\\/g,"\\\\").replace(/'/g,"\\'").replace(/\n/g,`\\ +`)}'`}function uwt(t){return[`const RAW_RUNTIME_STATE = +`,`${cwt(n1e(t))}; + +`,`function $$SETUP_STATE(hydrateRuntimeState, basePath) { +`,` return hydrateRuntimeState(JSON.parse(RAW_RUNTIME_STATE), {basePath: basePath || __dirname}); +`,`} +`].join("")}function Awt(){return[`function $$SETUP_STATE(hydrateRuntimeState, basePath) { +`,` const fs = require('fs'); +`,` const path = require('path'); +`,` const pnpDataFilepath = path.resolve(__dirname, ${JSON.stringify(mr.pnpData)}); +`,` return hydrateRuntimeState(JSON.parse(fs.readFileSync(pnpDataFilepath, 'utf8')), {basePath: basePath || __dirname}); +`,`} +`].join("")}function l1e(t){let e=gv(t),r=uwt(e);return a1e(t.shebang,r)}function c1e(t){let e=gv(t),r=Awt(),o=a1e(t.shebang,r);return{dataFile:lwt(e),loaderFile:o}}Pt();function Pj(t,{basePath:e}){let r=Ae.toPortablePath(e),o=K.resolve(r),a=t.ignorePatternData!==null?new RegExp(t.ignorePatternData):null,n=new Map,u=new Map(t.packageRegistryData.map(([w,D])=>[w,new Map(D.map(([x,C])=>{if(w===null!=(x===null))throw new Error("Assertion failed: The name and reference should be null, or neither should");let T=C.discardFromLookup??!1,L={name:w,reference:x},U=n.get(C.packageLocation);U?(U.discardFromLookup=U.discardFromLookup&&T,T||(U.locator=L)):n.set(C.packageLocation,{locator:L,discardFromLookup:T});let J=null;return[x,{packageDependencies:new Map(C.packageDependencies),packagePeers:new Set(C.packagePeers),linkType:C.linkType,discardFromLookup:T,get packageLocation(){return J||(J=K.join(o,C.packageLocation))}}]}))])),A=new Map(t.fallbackExclusionList.map(([w,D])=>[w,new Set(D)])),p=new Map(t.fallbackPool),h=t.dependencyTreeRoots,E=t.enableTopLevelFallback;return{basePath:r,dependencyTreeRoots:h,enableTopLevelFallback:E,fallbackExclusionList:A,fallbackPool:p,ignorePattern:a,packageLocatorsByLocations:n,packageRegistry:u}}Pt();Pt();var tp=ve("module"),fd=ve("url"),Lj=ve("util");var Qo=ve("url");var p1e=et(ve("assert"));var Sj=Array.isArray,dv=JSON.stringify,mv=Object.getOwnPropertyNames,Ad=(t,e)=>Object.prototype.hasOwnProperty.call(t,e),bj=(t,e)=>RegExp.prototype.exec.call(t,e),xj=(t,...e)=>RegExp.prototype[Symbol.replace].apply(t,e),Gh=(t,...e)=>String.prototype.endsWith.apply(t,e),kj=(t,...e)=>String.prototype.includes.apply(t,e),Qj=(t,...e)=>String.prototype.lastIndexOf.apply(t,e),yv=(t,...e)=>String.prototype.indexOf.apply(t,e),u1e=(t,...e)=>String.prototype.replace.apply(t,e),Wh=(t,...e)=>String.prototype.slice.apply(t,e),EA=(t,...e)=>String.prototype.startsWith.apply(t,e),A1e=Map,f1e=JSON.parse;function Ev(t,e,r){return class extends r{constructor(...o){super(e(...o)),this.code=t,this.name=`${r.name} [${t}]`}}}var h1e=Ev("ERR_PACKAGE_IMPORT_NOT_DEFINED",(t,e,r)=>`Package import specifier "${t}" is not defined${e?` in package ${e}package.json`:""} imported from ${r}`,TypeError),Fj=Ev("ERR_INVALID_MODULE_SPECIFIER",(t,e,r=void 0)=>`Invalid module "${t}" ${e}${r?` imported from ${r}`:""}`,TypeError),g1e=Ev("ERR_INVALID_PACKAGE_TARGET",(t,e,r,o=!1,a=void 0)=>{let n=typeof r=="string"&&!o&&r.length&&!EA(r,"./");return e==="."?((0,p1e.default)(o===!1),`Invalid "exports" main target ${dv(r)} defined in the package config ${t}package.json${a?` imported from ${a}`:""}${n?'; targets must start with "./"':""}`):`Invalid "${o?"imports":"exports"}" target ${dv(r)} defined for '${e}' in the package config ${t}package.json${a?` imported from ${a}`:""}${n?'; targets must start with "./"':""}`},Error),Cv=Ev("ERR_INVALID_PACKAGE_CONFIG",(t,e,r)=>`Invalid package config ${t}${e?` while importing ${e}`:""}${r?`. ${r}`:""}`,Error),d1e=Ev("ERR_PACKAGE_PATH_NOT_EXPORTED",(t,e,r=void 0)=>e==="."?`No "exports" main defined in ${t}package.json${r?` imported from ${r}`:""}`:`Package subpath '${e}' is not defined by "exports" in ${t}package.json${r?` imported from ${r}`:""}`,Error);var XQ=ve("url");function m1e(t,e){let r=Object.create(null);for(let o=0;o<e.length;o++){let a=e[o];Ad(t,a)&&(r[a]=t[a])}return r}var zQ=new A1e;function fwt(t,e,r,o){let a=zQ.get(t);if(a!==void 0)return a;let n=o(t);if(n===void 0){let x={pjsonPath:t,exists:!1,main:void 0,name:void 0,type:"none",exports:void 0,imports:void 0};return zQ.set(t,x),x}let u;try{u=f1e(n)}catch(x){throw new Cv(t,(r?`"${e}" from `:"")+(0,XQ.fileURLToPath)(r||e),x.message)}let{imports:A,main:p,name:h,type:E}=m1e(u,["imports","main","name","type"]),w=Ad(u,"exports")?u.exports:void 0;(typeof A!="object"||A===null)&&(A=void 0),typeof p!="string"&&(p=void 0),typeof h!="string"&&(h=void 0),E!=="module"&&E!=="commonjs"&&(E="none");let D={pjsonPath:t,exists:!0,main:p,name:h,type:E,exports:w,imports:A};return zQ.set(t,D),D}function y1e(t,e){let r=new URL("./package.json",t);for(;;){let n=r.pathname;if(Gh(n,"node_modules/package.json"))break;let u=fwt((0,XQ.fileURLToPath)(r),t,void 0,e);if(u.exists)return u;let A=r;if(r=new URL("../package.json",r),r.pathname===A.pathname)break}let o=(0,XQ.fileURLToPath)(r),a={pjsonPath:o,exists:!1,main:void 0,name:void 0,type:"none",exports:void 0,imports:void 0};return zQ.set(o,a),a}function pwt(t,e,r){throw new h1e(t,e&&(0,Qo.fileURLToPath)(new URL(".",e)),(0,Qo.fileURLToPath)(r))}function hwt(t,e,r,o){let a=`request is not a valid subpath for the "${r?"imports":"exports"}" resolution of ${(0,Qo.fileURLToPath)(e)}`;throw new Fj(t,a,o&&(0,Qo.fileURLToPath)(o))}function Iv(t,e,r,o,a){throw typeof e=="object"&&e!==null?e=dv(e,null,""):e=`${e}`,new g1e((0,Qo.fileURLToPath)(new URL(".",r)),t,e,o,a&&(0,Qo.fileURLToPath)(a))}var E1e=/(^|\\|\/)((\.|%2e)(\.|%2e)?|(n|%6e|%4e)(o|%6f|%4f)(d|%64|%44)(e|%65|%45)(_|%5f)(m|%6d|%4d)(o|%6f|%4f)(d|%64|%44)(u|%75|%55)(l|%6c|%4c)(e|%65|%45)(s|%73|%53))(\\|\/|$)/i,C1e=/\*/g;function gwt(t,e,r,o,a,n,u,A){if(e!==""&&!n&&t[t.length-1]!=="/"&&Iv(r,t,o,u,a),!EA(t,"./")){if(u&&!EA(t,"../")&&!EA(t,"/")){let w=!1;try{new URL(t),w=!0}catch{}if(!w)return n?xj(C1e,t,()=>e):t+e}Iv(r,t,o,u,a)}bj(E1e,Wh(t,2))!==null&&Iv(r,t,o,u,a);let p=new URL(t,o),h=p.pathname,E=new URL(".",o).pathname;if(EA(h,E)||Iv(r,t,o,u,a),e==="")return p;if(bj(E1e,e)!==null){let w=n?u1e(r,"*",()=>e):r+e;hwt(w,o,u,a)}return n?new URL(xj(C1e,p.href,()=>e)):new URL(e,p)}function dwt(t){let e=+t;return`${e}`!==t?!1:e>=0&&e<4294967295}function kC(t,e,r,o,a,n,u,A){if(typeof e=="string")return gwt(e,r,o,t,a,n,u,A);if(Sj(e)){if(e.length===0)return null;let p;for(let h=0;h<e.length;h++){let E=e[h],w;try{w=kC(t,E,r,o,a,n,u,A)}catch(D){if(p=D,D.code==="ERR_INVALID_PACKAGE_TARGET")continue;throw D}if(w!==void 0){if(w===null){p=null;continue}return w}}if(p==null)return p;throw p}else if(typeof e=="object"&&e!==null){let p=mv(e);for(let h=0;h<p.length;h++){let E=p[h];if(dwt(E))throw new Cv((0,Qo.fileURLToPath)(t),a,'"exports" cannot contain numeric property keys.')}for(let h=0;h<p.length;h++){let E=p[h];if(E==="default"||A.has(E)){let w=e[E],D=kC(t,w,r,o,a,n,u,A);if(D===void 0)continue;return D}}return}else if(e===null)return null;Iv(o,e,t,u,a)}function w1e(t,e){let r=yv(t,"*"),o=yv(e,"*"),a=r===-1?t.length:r+1,n=o===-1?e.length:o+1;return a>n?-1:n>a||r===-1?1:o===-1||t.length>e.length?-1:e.length>t.length?1:0}function mwt(t,e,r){if(typeof t=="string"||Sj(t))return!0;if(typeof t!="object"||t===null)return!1;let o=mv(t),a=!1,n=0;for(let u=0;u<o.length;u++){let A=o[u],p=A===""||A[0]!==".";if(n++===0)a=p;else if(a!==p)throw new Cv((0,Qo.fileURLToPath)(e),r,`"exports" cannot contain some keys starting with '.' and some not. The exports object must either be an object of package subpath keys or an object of main entry condition name keys only.`)}return a}function Rj(t,e,r){throw new d1e((0,Qo.fileURLToPath)(new URL(".",e)),t,r&&(0,Qo.fileURLToPath)(r))}var I1e=new Set;function ywt(t,e,r){let o=(0,Qo.fileURLToPath)(e);I1e.has(o+"|"+t)||(I1e.add(o+"|"+t),process.emitWarning(`Use of deprecated trailing slash pattern mapping "${t}" in the "exports" field module resolution of the package at ${o}${r?` imported from ${(0,Qo.fileURLToPath)(r)}`:""}. Mapping specifiers ending in "/" is no longer supported.`,"DeprecationWarning","DEP0155"))}function B1e({packageJSONUrl:t,packageSubpath:e,exports:r,base:o,conditions:a}){if(mwt(r,t,o)&&(r={".":r}),Ad(r,e)&&!kj(e,"*")&&!Gh(e,"/")){let p=r[e],h=kC(t,p,"",e,o,!1,!1,a);return h==null&&Rj(e,t,o),h}let n="",u,A=mv(r);for(let p=0;p<A.length;p++){let h=A[p],E=yv(h,"*");if(E!==-1&&EA(e,Wh(h,0,E))){Gh(e,"/")&&ywt(e,t,o);let w=Wh(h,E+1);e.length>=h.length&&Gh(e,w)&&w1e(n,h)===1&&Qj(h,"*")===E&&(n=h,u=Wh(e,E,e.length-w.length))}}if(n){let p=r[n],h=kC(t,p,u,n,o,!0,!1,a);return h==null&&Rj(e,t,o),h}Rj(e,t,o)}function v1e({name:t,base:e,conditions:r,readFileSyncFn:o}){if(t==="#"||EA(t,"#/")||Gh(t,"/")){let u="is not a valid internal imports specifier name";throw new Fj(t,u,(0,Qo.fileURLToPath)(e))}let a,n=y1e(e,o);if(n.exists){a=(0,Qo.pathToFileURL)(n.pjsonPath);let u=n.imports;if(u)if(Ad(u,t)&&!kj(t,"*")){let A=kC(a,u[t],"",t,e,!1,!0,r);if(A!=null)return A}else{let A="",p,h=mv(u);for(let E=0;E<h.length;E++){let w=h[E],D=yv(w,"*");if(D!==-1&&EA(t,Wh(w,0,D))){let x=Wh(w,D+1);t.length>=w.length&&Gh(t,x)&&w1e(A,w)===1&&Qj(w,"*")===D&&(A=w,p=Wh(t,D,t.length-x.length))}}if(A){let E=u[A],w=kC(a,E,p,A,e,!0,!0,r);if(w!=null)return w}}}pwt(t,a,e)}Pt();var Ewt=new Set(["BUILTIN_NODE_RESOLUTION_FAILED","MISSING_DEPENDENCY","MISSING_PEER_DEPENDENCY","QUALIFIED_PATH_RESOLUTION_FAILED","UNDECLARED_DEPENDENCY"]);function ts(t,e,r={},o){o??=Ewt.has(t)?"MODULE_NOT_FOUND":t;let a={configurable:!0,writable:!0,enumerable:!1};return Object.defineProperties(new Error(e),{code:{...a,value:o},pnpCode:{...a,value:t},data:{...a,value:r}})}function pu(t){return Ae.normalize(Ae.fromPortablePath(t))}var b1e=et(P1e());function x1e(t){return Cwt(),Nj[t]}var Nj;function Cwt(){Nj||(Nj={"--conditions":[],...S1e(Iwt()),...S1e(process.execArgv)})}function S1e(t){return(0,b1e.default)({"--conditions":[String],"-C":"--conditions"},{argv:t,permissive:!0})}function Iwt(){let t=[],e=wwt(process.env.NODE_OPTIONS||"",t);return t.length,e}function wwt(t,e){let r=[],o=!1,a=!0;for(let n=0;n<t.length;++n){let u=t[n];if(u==="\\"&&o){if(n+1===t.length)return e.push(`invalid value for NODE_OPTIONS (invalid escape) +`),r;u=t[++n]}else if(u===" "&&!o){a=!0;continue}else if(u==='"'){o=!o;continue}a?(r.push(u),a=!1):r[r.length-1]+=u}return o&&e.push(`invalid value for NODE_OPTIONS (unterminated string) +`),r}Pt();var[Ha,ep]=process.versions.node.split(".").map(t=>parseInt(t,10)),k1e=Ha>19||Ha===19&&ep>=2||Ha===18&&ep>=13,tzt=Ha===20&&ep<6||Ha===19&&ep>=3,rzt=Ha>19||Ha===19&&ep>=6,nzt=Ha>=21||Ha===20&&ep>=10||Ha===18&&ep>=19,izt=Ha>=21||Ha===20&&ep>=10||Ha===18&&ep>=20,szt=Ha>=22;function Q1e(t){if(process.env.WATCH_REPORT_DEPENDENCIES&&process.send)if(t=t.map(e=>Ae.fromPortablePath(qs.resolveVirtual(Ae.toPortablePath(e)))),k1e)process.send({"watch:require":t});else for(let e of t)process.send({"watch:require":e})}function Oj(t,e){let r=Number(process.env.PNP_ALWAYS_WARN_ON_FALLBACK)>0,o=Number(process.env.PNP_DEBUG_LEVEL),a=/^(?![a-zA-Z]:[\\/]|\\\\|\.{0,2}(?:\/|$))((?:node:)?(?:@[^/]+\/)?[^/]+)\/*(.*|)$/,n=/^(\/|\.{1,2}(\/|$))/,u=/\/$/,A=/^\.{0,2}\//,p={name:null,reference:null},h=[],E=new Set;if(t.enableTopLevelFallback===!0&&h.push(p),e.compatibilityMode!==!1)for(let Ne of["react-scripts","gatsby"]){let Te=t.packageRegistry.get(Ne);if(Te)for(let ke of Te.keys()){if(ke===null)throw new Error("Assertion failed: This reference shouldn't be null");h.push({name:Ne,reference:ke})}}let{ignorePattern:w,packageRegistry:D,packageLocatorsByLocations:x}=t;function C(Ne,Te){return{fn:Ne,args:Te,error:null,result:null}}function T(Ne){let Te=process.stderr?.hasColors?.()??process.stdout.isTTY,ke=(tt,He)=>`\x1B[${tt}m${He}\x1B[0m`,Ve=Ne.error;console.error(Ve?ke("31;1",`\u2716 ${Ne.error?.message.replace(/\n.*/s,"")}`):ke("33;1","\u203C Resolution")),Ne.args.length>0&&console.error();for(let tt of Ne.args)console.error(` ${ke("37;1","In \u2190")} ${(0,Lj.inspect)(tt,{colors:Te,compact:!0})}`);Ne.result&&(console.error(),console.error(` ${ke("37;1","Out \u2192")} ${(0,Lj.inspect)(Ne.result,{colors:Te,compact:!0})}`));let be=new Error().stack.match(/(?<=^ +)at.*/gm)?.slice(2)??[];if(be.length>0){console.error();for(let tt of be)console.error(` ${ke("38;5;244",tt)}`)}console.error()}function L(Ne,Te){if(e.allowDebug===!1)return Te;if(Number.isFinite(o)){if(o>=2)return(...ke)=>{let Ve=C(Ne,ke);try{return Ve.result=Te(...ke)}catch(be){throw Ve.error=be}finally{T(Ve)}};if(o>=1)return(...ke)=>{try{return Te(...ke)}catch(Ve){let be=C(Ne,ke);throw be.error=Ve,T(be),Ve}}}return Te}function U(Ne){let Te=g(Ne);if(!Te)throw ts("INTERNAL","Couldn't find a matching entry in the dependency tree for the specified parent (this is probably an internal error)");return Te}function J(Ne){if(Ne.name===null)return!0;for(let Te of t.dependencyTreeRoots)if(Te.name===Ne.name&&Te.reference===Ne.reference)return!0;return!1}let te=new Set(["node","require",...x1e("--conditions")]);function le(Ne,Te=te,ke){let Ve=fe(K.join(Ne,"internal.js"),{resolveIgnored:!0,includeDiscardFromLookup:!0});if(Ve===null)throw ts("INTERNAL",`The locator that owns the "${Ne}" path can't be found inside the dependency tree (this is probably an internal error)`);let{packageLocation:be}=U(Ve),tt=K.join(be,mr.manifest);if(!e.fakeFs.existsSync(tt))return null;let He=JSON.parse(e.fakeFs.readFileSync(tt,"utf8"));if(He.exports==null)return null;let b=K.contains(be,Ne);if(b===null)throw ts("INTERNAL","unqualifiedPath doesn't contain the packageLocation (this is probably an internal error)");b!=="."&&!A.test(b)&&(b=`./${b}`);try{let I=B1e({packageJSONUrl:(0,fd.pathToFileURL)(Ae.fromPortablePath(tt)),packageSubpath:b,exports:He.exports,base:ke?(0,fd.pathToFileURL)(Ae.fromPortablePath(ke)):null,conditions:Te});return Ae.toPortablePath((0,fd.fileURLToPath)(I))}catch(I){throw ts("EXPORTS_RESOLUTION_FAILED",I.message,{unqualifiedPath:pu(Ne),locator:Ve,pkgJson:He,subpath:pu(b),conditions:Te},I.code)}}function ce(Ne,Te,{extensions:ke}){let Ve;try{Te.push(Ne),Ve=e.fakeFs.statSync(Ne)}catch{}if(Ve&&!Ve.isDirectory())return e.fakeFs.realpathSync(Ne);if(Ve&&Ve.isDirectory()){let be;try{be=JSON.parse(e.fakeFs.readFileSync(K.join(Ne,mr.manifest),"utf8"))}catch{}let tt;if(be&&be.main&&(tt=K.resolve(Ne,be.main)),tt&&tt!==Ne){let He=ce(tt,Te,{extensions:ke});if(He!==null)return He}}for(let be=0,tt=ke.length;be<tt;be++){let He=`${Ne}${ke[be]}`;if(Te.push(He),e.fakeFs.existsSync(He))return He}if(Ve&&Ve.isDirectory())for(let be=0,tt=ke.length;be<tt;be++){let He=K.format({dir:Ne,name:"index",ext:ke[be]});if(Te.push(He),e.fakeFs.existsSync(He))return He}return null}function ue(Ne){let Te=new tp.Module(Ne,null);return Te.filename=Ne,Te.paths=tp.Module._nodeModulePaths(Ne),Te}function Ie(Ne,Te){return Te.endsWith("/")&&(Te=K.join(Te,"internal.js")),tp.Module._resolveFilename(Ae.fromPortablePath(Ne),ue(Ae.fromPortablePath(Te)),!1,{plugnplay:!1})}function he(Ne){if(w===null)return!1;let Te=K.contains(t.basePath,Ne);return Te===null?!1:!!w.test(Te.replace(/\/$/,""))}let De={std:3,resolveVirtual:1,getAllLocators:1},Ee=p;function g({name:Ne,reference:Te}){let ke=D.get(Ne);if(!ke)return null;let Ve=ke.get(Te);return Ve||null}function me({name:Ne,reference:Te}){let ke=[];for(let[Ve,be]of D)if(Ve!==null)for(let[tt,He]of be)tt===null||He.packageDependencies.get(Ne)!==Te||Ve===Ne&&tt===Te||ke.push({name:Ve,reference:tt});return ke}function Ce(Ne,Te){let ke=new Map,Ve=new Set,be=He=>{let b=JSON.stringify(He.name);if(Ve.has(b))return;Ve.add(b);let I=me(He);for(let S of I)if(U(S).packagePeers.has(Ne))be(S);else{let R=ke.get(S.name);typeof R>"u"&&ke.set(S.name,R=new Set),R.add(S.reference)}};be(Te);let tt=[];for(let He of[...ke.keys()].sort())for(let b of[...ke.get(He)].sort())tt.push({name:He,reference:b});return tt}function fe(Ne,{resolveIgnored:Te=!1,includeDiscardFromLookup:ke=!1}={}){if(he(Ne)&&!Te)return null;let Ve=K.relative(t.basePath,Ne);Ve.match(n)||(Ve=`./${Ve}`),Ve.endsWith("/")||(Ve=`${Ve}/`);do{let be=x.get(Ve);if(typeof be>"u"||be.discardFromLookup&&!ke){Ve=Ve.substring(0,Ve.lastIndexOf("/",Ve.length-2)+1);continue}return be.locator}while(Ve!=="");return null}function ie(Ne){try{return e.fakeFs.readFileSync(Ae.toPortablePath(Ne),"utf8")}catch(Te){if(Te.code==="ENOENT")return;throw Te}}function Z(Ne,Te,{considerBuiltins:ke=!0}={}){if(Ne.startsWith("#"))throw new Error("resolveToUnqualified can not handle private import mappings");if(Ne==="pnpapi")return Ae.toPortablePath(e.pnpapiResolution);if(ke&&(0,tp.isBuiltin)(Ne))return null;let Ve=pu(Ne),be=Te&&pu(Te);if(Te&&he(Te)&&(!K.isAbsolute(Ne)||fe(Ne)===null)){let b=Ie(Ne,Te);if(b===!1)throw ts("BUILTIN_NODE_RESOLUTION_FAILED",`The builtin node resolution algorithm was unable to resolve the requested module (it didn't go through the pnp resolver because the issuer was explicitely ignored by the regexp) + +Require request: "${Ve}" +Required by: ${be} +`,{request:Ve,issuer:be});return Ae.toPortablePath(b)}let tt,He=Ne.match(a);if(He){if(!Te)throw ts("API_ERROR","The resolveToUnqualified function must be called with a valid issuer when the path isn't a builtin nor absolute",{request:Ve,issuer:be});let[,b,I]=He,S=fe(Te);if(!S){let Fe=Ie(Ne,Te);if(Fe===!1)throw ts("BUILTIN_NODE_RESOLUTION_FAILED",`The builtin node resolution algorithm was unable to resolve the requested module (it didn't go through the pnp resolver because the issuer doesn't seem to be part of the Yarn-managed dependency tree). + +Require path: "${Ve}" +Required by: ${be} +`,{request:Ve,issuer:be});return Ae.toPortablePath(Fe)}let R=U(S).packageDependencies.get(b),z=null;if(R==null&&S.name!==null){let Fe=t.fallbackExclusionList.get(S.name);if(!Fe||!Fe.has(S.reference)){for(let Et=0,qt=h.length;Et<qt;++Et){let St=U(h[Et]).packageDependencies.get(b);if(St!=null){r?z=St:R=St;break}}if(t.enableTopLevelFallback&&R==null&&z===null){let Et=t.fallbackPool.get(b);Et!=null&&(z=Et)}}}let X=null;if(R===null)if(J(S))X=ts("MISSING_PEER_DEPENDENCY",`Your application tried to access ${b} (a peer dependency); this isn't allowed as there is no ancestor to satisfy the requirement. Use a devDependency if needed. + +Required package: ${b}${b!==Ve?` (via "${Ve}")`:""} +Required by: ${be} +`,{request:Ve,issuer:be,dependencyName:b});else{let Fe=Ce(b,S);Fe.every(lt=>J(lt))?X=ts("MISSING_PEER_DEPENDENCY",`${S.name} tried to access ${b} (a peer dependency) but it isn't provided by your application; this makes the require call ambiguous and unsound. + +Required package: ${b}${b!==Ve?` (via "${Ve}")`:""} +Required by: ${S.name}@${S.reference} (via ${be}) +${Fe.map(lt=>`Ancestor breaking the chain: ${lt.name}@${lt.reference} +`).join("")} +`,{request:Ve,issuer:be,issuerLocator:Object.assign({},S),dependencyName:b,brokenAncestors:Fe}):X=ts("MISSING_PEER_DEPENDENCY",`${S.name} tried to access ${b} (a peer dependency) but it isn't provided by its ancestors; this makes the require call ambiguous and unsound. + +Required package: ${b}${b!==Ve?` (via "${Ve}")`:""} +Required by: ${S.name}@${S.reference} (via ${be}) + +${Fe.map(lt=>`Ancestor breaking the chain: ${lt.name}@${lt.reference} +`).join("")} +`,{request:Ve,issuer:be,issuerLocator:Object.assign({},S),dependencyName:b,brokenAncestors:Fe})}else R===void 0&&(!ke&&(0,tp.isBuiltin)(Ne)?J(S)?X=ts("UNDECLARED_DEPENDENCY",`Your application tried to access ${b}. While this module is usually interpreted as a Node builtin, your resolver is running inside a non-Node resolution context where such builtins are ignored. Since ${b} isn't otherwise declared in your dependencies, this makes the require call ambiguous and unsound. + +Required package: ${b}${b!==Ve?` (via "${Ve}")`:""} +Required by: ${be} +`,{request:Ve,issuer:be,dependencyName:b}):X=ts("UNDECLARED_DEPENDENCY",`${S.name} tried to access ${b}. While this module is usually interpreted as a Node builtin, your resolver is running inside a non-Node resolution context where such builtins are ignored. Since ${b} isn't otherwise declared in ${S.name}'s dependencies, this makes the require call ambiguous and unsound. + +Required package: ${b}${b!==Ve?` (via "${Ve}")`:""} +Required by: ${be} +`,{request:Ve,issuer:be,issuerLocator:Object.assign({},S),dependencyName:b}):J(S)?X=ts("UNDECLARED_DEPENDENCY",`Your application tried to access ${b}, but it isn't declared in your dependencies; this makes the require call ambiguous and unsound. + +Required package: ${b}${b!==Ve?` (via "${Ve}")`:""} +Required by: ${be} +`,{request:Ve,issuer:be,dependencyName:b}):X=ts("UNDECLARED_DEPENDENCY",`${S.name} tried to access ${b}, but it isn't declared in its dependencies; this makes the require call ambiguous and unsound. + +Required package: ${b}${b!==Ve?` (via "${Ve}")`:""} +Required by: ${S.name}@${S.reference} (via ${be}) +`,{request:Ve,issuer:be,issuerLocator:Object.assign({},S),dependencyName:b}));if(R==null){if(z===null||X===null)throw X||new Error("Assertion failed: Expected an error to have been set");R=z;let Fe=X.message.replace(/\n.*/g,"");X.message=Fe,!E.has(Fe)&&o!==0&&(E.add(Fe),process.emitWarning(X))}let $=Array.isArray(R)?{name:R[0],reference:R[1]}:{name:b,reference:R},se=U($);if(!se.packageLocation)throw ts("MISSING_DEPENDENCY",`A dependency seems valid but didn't get installed for some reason. This might be caused by a partial install, such as dev vs prod. + +Required package: ${$.name}@${$.reference}${$.name!==Ve?` (via "${Ve}")`:""} +Required by: ${S.name}@${S.reference} (via ${be}) +`,{request:Ve,issuer:be,dependencyLocator:Object.assign({},$)});let xe=se.packageLocation;I?tt=K.join(xe,I):tt=xe}else if(K.isAbsolute(Ne))tt=K.normalize(Ne);else{if(!Te)throw ts("API_ERROR","The resolveToUnqualified function must be called with a valid issuer when the path isn't a builtin nor absolute",{request:Ve,issuer:be});let b=K.resolve(Te);Te.match(u)?tt=K.normalize(K.join(b,Ne)):tt=K.normalize(K.join(K.dirname(b),Ne))}return K.normalize(tt)}function Pe(Ne,Te,ke=te,Ve){if(n.test(Ne))return Te;let be=le(Te,ke,Ve);return be?K.normalize(be):Te}function Re(Ne,{extensions:Te=Object.keys(tp.Module._extensions)}={}){let ke=[],Ve=ce(Ne,ke,{extensions:Te});if(Ve)return K.normalize(Ve);{Q1e(ke.map(He=>Ae.fromPortablePath(He)));let be=pu(Ne),tt=fe(Ne);if(tt){let{packageLocation:He}=U(tt),b=!0;try{e.fakeFs.accessSync(He)}catch(I){if(I?.code==="ENOENT")b=!1;else{let S=(I?.message??I??"empty exception thrown").replace(/^[A-Z]/,y=>y.toLowerCase());throw ts("QUALIFIED_PATH_RESOLUTION_FAILED",`Required package exists but could not be accessed (${S}). + +Missing package: ${tt.name}@${tt.reference} +Expected package location: ${pu(He)} +`,{unqualifiedPath:be,extensions:Te})}}if(!b){let I=He.includes("/unplugged/")?"Required unplugged package missing from disk. This may happen when switching branches without running installs (unplugged packages must be fully materialized on disk to work).":"Required package missing from disk. If you keep your packages inside your repository then restarting the Node process may be enough. Otherwise, try to run an install first.";throw ts("QUALIFIED_PATH_RESOLUTION_FAILED",`${I} + +Missing package: ${tt.name}@${tt.reference} +Expected package location: ${pu(He)} +`,{unqualifiedPath:be,extensions:Te})}}throw ts("QUALIFIED_PATH_RESOLUTION_FAILED",`Qualified path resolution failed: we looked for the following paths, but none could be accessed. + +Source path: ${be} +${ke.map(He=>`Not found: ${pu(He)} +`).join("")}`,{unqualifiedPath:be,extensions:Te})}}function ht(Ne,Te,ke){if(!Te)throw new Error("Assertion failed: An issuer is required to resolve private import mappings");let Ve=v1e({name:Ne,base:(0,fd.pathToFileURL)(Ae.fromPortablePath(Te)),conditions:ke.conditions??te,readFileSyncFn:ie});if(Ve instanceof URL)return Re(Ae.toPortablePath((0,fd.fileURLToPath)(Ve)),{extensions:ke.extensions});if(Ve.startsWith("#"))throw new Error("Mapping from one private import to another isn't allowed");return q(Ve,Te,ke)}function q(Ne,Te,ke={}){try{if(Ne.startsWith("#"))return ht(Ne,Te,ke);let{considerBuiltins:Ve,extensions:be,conditions:tt}=ke,He=Z(Ne,Te,{considerBuiltins:Ve});if(Ne==="pnpapi")return He;if(He===null)return null;let b=()=>Te!==null?he(Te):!1,I=(!Ve||!(0,tp.isBuiltin)(Ne))&&!b()?Pe(Ne,He,tt,Te):He;return Re(I,{extensions:be})}catch(Ve){throw Object.hasOwn(Ve,"pnpCode")&&Object.assign(Ve.data,{request:pu(Ne),issuer:Te&&pu(Te)}),Ve}}function nt(Ne){let Te=K.normalize(Ne),ke=qs.resolveVirtual(Te);return ke!==Te?ke:null}return{VERSIONS:De,topLevel:Ee,getLocator:(Ne,Te)=>Array.isArray(Te)?{name:Te[0],reference:Te[1]}:{name:Ne,reference:Te},getDependencyTreeRoots:()=>[...t.dependencyTreeRoots],getAllLocators(){let Ne=[];for(let[Te,ke]of D)for(let Ve of ke.keys())Te!==null&&Ve!==null&&Ne.push({name:Te,reference:Ve});return Ne},getPackageInformation:Ne=>{let Te=g(Ne);if(Te===null)return null;let ke=Ae.fromPortablePath(Te.packageLocation);return{...Te,packageLocation:ke}},findPackageLocator:Ne=>fe(Ae.toPortablePath(Ne)),resolveToUnqualified:L("resolveToUnqualified",(Ne,Te,ke)=>{let Ve=Te!==null?Ae.toPortablePath(Te):null,be=Z(Ae.toPortablePath(Ne),Ve,ke);return be===null?null:Ae.fromPortablePath(be)}),resolveUnqualified:L("resolveUnqualified",(Ne,Te)=>Ae.fromPortablePath(Re(Ae.toPortablePath(Ne),Te))),resolveRequest:L("resolveRequest",(Ne,Te,ke)=>{let Ve=Te!==null?Ae.toPortablePath(Te):null,be=q(Ae.toPortablePath(Ne),Ve,ke);return be===null?null:Ae.fromPortablePath(be)}),resolveVirtual:L("resolveVirtual",Ne=>{let Te=nt(Ae.toPortablePath(Ne));return Te!==null?Ae.fromPortablePath(Te):null})}}Pt();var F1e=(t,e,r)=>{let o=gv(t),a=Pj(o,{basePath:e}),n=Ae.join(e,mr.pnpCjs);return Oj(a,{fakeFs:r,pnpapiResolution:n})};var Uj=et(T1e());Gt();var CA={};Kt(CA,{checkManifestCompatibility:()=>N1e,extractBuildRequest:()=>ZQ,getExtractHint:()=>_j,hasBindingGyp:()=>Hj});Ke();Pt();function N1e(t){return G.isPackageCompatible(t,Xi.getArchitectureSet())}function ZQ(t,e,r,{configuration:o}){let a=[];for(let n of["preinstall","install","postinstall"])e.manifest.scripts.has(n)&&a.push({type:0,script:n});return!e.manifest.scripts.has("install")&&e.misc.hasBindingGyp&&a.push({type:1,script:"node-gyp rebuild"}),a.length===0?null:t.linkType!=="HARD"?{skipped:!0,explain:n=>n.reportWarningOnce(6,`${G.prettyLocator(o,t)} lists build scripts, but is referenced through a soft link. Soft links don't support build scripts, so they'll be ignored.`)}:r&&r.built===!1?{skipped:!0,explain:n=>n.reportInfoOnce(5,`${G.prettyLocator(o,t)} lists build scripts, but its build has been explicitly disabled through configuration.`)}:!o.get("enableScripts")&&!r.built?{skipped:!0,explain:n=>n.reportWarningOnce(4,`${G.prettyLocator(o,t)} lists build scripts, but all build scripts have been disabled.`)}:N1e(t)?{skipped:!1,directives:a}:{skipped:!0,explain:n=>n.reportWarningOnce(76,`${G.prettyLocator(o,t)} The ${Xi.getArchitectureName()} architecture is incompatible with this package, build skipped.`)}}var vwt=new Set([".exe",".bin",".h",".hh",".hpp",".c",".cc",".cpp",".java",".jar",".node"]);function _j(t){return t.packageFs.getExtractHint({relevantExtensions:vwt})}function Hj(t){let e=K.join(t.prefixPath,"binding.gyp");return t.packageFs.existsSync(e)}var vv={};Kt(vv,{getUnpluggedPath:()=>Bv});Ke();Pt();function Bv(t,{configuration:e}){return K.resolve(e.get("pnpUnpluggedFolder"),G.slugifyLocator(t))}var Dwt=new Set([G.makeIdent(null,"open").identHash,G.makeIdent(null,"opn").identHash]),Yh=class{constructor(){this.mode="strict";this.pnpCache=new Map}getCustomDataKey(){return JSON.stringify({name:"PnpLinker",version:2})}supportsPackage(e,r){return this.isEnabled(r)}async findPackageLocation(e,r){if(!this.isEnabled(r))throw new Error("Assertion failed: Expected the PnP linker to be enabled");let o=Kh(r.project).cjs;if(!ae.existsSync(o))throw new it(`The project in ${pe.pretty(r.project.configuration,`${r.project.cwd}/package.json`,pe.Type.PATH)} doesn't seem to have been installed - running an install there might help`);let a=qe.getFactoryWithDefault(this.pnpCache,o,()=>qe.dynamicRequire(o,{cachingStrategy:qe.CachingStrategy.FsTime})),n={name:G.stringifyIdent(e),reference:e.reference},u=a.getPackageInformation(n);if(!u)throw new it(`Couldn't find ${G.prettyLocator(r.project.configuration,e)} in the currently installed PnP map - running an install might help`);return Ae.toPortablePath(u.packageLocation)}async findPackageLocator(e,r){if(!this.isEnabled(r))return null;let o=Kh(r.project).cjs;if(!ae.existsSync(o))return null;let n=qe.getFactoryWithDefault(this.pnpCache,o,()=>qe.dynamicRequire(o,{cachingStrategy:qe.CachingStrategy.FsTime})).findPackageLocator(Ae.fromPortablePath(e));return n?G.makeLocator(G.parseIdent(n.name),n.reference):null}makeInstaller(e){return new pd(e)}isEnabled(e){return!(e.project.configuration.get("nodeLinker")!=="pnp"||e.project.configuration.get("pnpMode")!==this.mode)}},pd=class{constructor(e){this.opts=e;this.mode="strict";this.asyncActions=new qe.AsyncActions(10);this.packageRegistry=new Map;this.virtualTemplates=new Map;this.isESMLoaderRequired=!1;this.customData={store:new Map};this.unpluggedPaths=new Set;this.opts=e}attachCustomData(e){this.customData=e}async installPackage(e,r,o){let a=G.stringifyIdent(e),n=e.reference,u=!!this.opts.project.tryWorkspaceByLocator(e),A=G.isVirtualLocator(e),p=e.peerDependencies.size>0&&!A,h=!p&&!u,E=!p&&e.linkType!=="SOFT",w,D;if(h||E){let te=A?G.devirtualizeLocator(e):e;w=this.customData.store.get(te.locatorHash),typeof w>"u"&&(w=await Pwt(r),e.linkType==="HARD"&&this.customData.store.set(te.locatorHash,w)),w.manifest.type==="module"&&(this.isESMLoaderRequired=!0),D=this.opts.project.getDependencyMeta(te,e.version)}let x=h?ZQ(e,w,D,{configuration:this.opts.project.configuration}):null,C=E?await this.unplugPackageIfNeeded(e,w,r,D,o):r.packageFs;if(K.isAbsolute(r.prefixPath))throw new Error(`Assertion failed: Expected the prefix path (${r.prefixPath}) to be relative to the parent`);let T=K.resolve(C.getRealPath(),r.prefixPath),L=qj(this.opts.project.cwd,T),U=new Map,J=new Set;if(A){for(let te of e.peerDependencies.values())U.set(G.stringifyIdent(te),null),J.add(G.stringifyIdent(te));if(!u){let te=G.devirtualizeLocator(e);this.virtualTemplates.set(te.locatorHash,{location:qj(this.opts.project.cwd,qs.resolveVirtual(T)),locator:te})}}return qe.getMapWithDefault(this.packageRegistry,a).set(n,{packageLocation:L,packageDependencies:U,packagePeers:J,linkType:e.linkType,discardFromLookup:r.discardFromLookup||!1}),{packageLocation:T,buildRequest:x}}async attachInternalDependencies(e,r){let o=this.getPackageInformation(e);for(let[a,n]of r){let u=G.areIdentsEqual(a,n)?n.reference:[G.stringifyIdent(n),n.reference];o.packageDependencies.set(G.stringifyIdent(a),u)}}async attachExternalDependents(e,r){for(let o of r)this.getDiskInformation(o).packageDependencies.set(G.stringifyIdent(e),e.reference)}async finalizeInstall(){if(this.opts.project.configuration.get("pnpMode")!==this.mode)return;let e=Kh(this.opts.project);if(this.isEsmEnabled()||await ae.removePromise(e.esmLoader),this.opts.project.configuration.get("nodeLinker")!=="pnp"){await ae.removePromise(e.cjs),await ae.removePromise(e.data),await ae.removePromise(e.esmLoader),await ae.removePromise(this.opts.project.configuration.get("pnpUnpluggedFolder"));return}for(let{locator:E,location:w}of this.virtualTemplates.values())qe.getMapWithDefault(this.packageRegistry,G.stringifyIdent(E)).set(E.reference,{packageLocation:w,packageDependencies:new Map,packagePeers:new Set,linkType:"SOFT",discardFromLookup:!1});this.packageRegistry.set(null,new Map([[null,this.getPackageInformation(this.opts.project.topLevelWorkspace.anchoredLocator)]]));let r=this.opts.project.configuration.get("pnpFallbackMode"),o=this.opts.project.workspaces.map(({anchoredLocator:E})=>({name:G.stringifyIdent(E),reference:E.reference})),a=r!=="none",n=[],u=new Map,A=qe.buildIgnorePattern([".yarn/sdks/**",...this.opts.project.configuration.get("pnpIgnorePatterns")]),p=this.packageRegistry,h=this.opts.project.configuration.get("pnpShebang");if(r==="dependencies-only")for(let E of this.opts.project.storedPackages.values())this.opts.project.tryWorkspaceByLocator(E)&&n.push({name:G.stringifyIdent(E),reference:E.reference});return await this.asyncActions.wait(),await this.finalizeInstallWithPnp({dependencyTreeRoots:o,enableTopLevelFallback:a,fallbackExclusionList:n,fallbackPool:u,ignorePattern:A,packageRegistry:p,shebang:h}),{customData:this.customData}}async transformPnpSettings(e){}isEsmEnabled(){if(this.opts.project.configuration.sources.has("pnpEnableEsmLoader"))return this.opts.project.configuration.get("pnpEnableEsmLoader");if(this.isESMLoaderRequired)return!0;for(let e of this.opts.project.workspaces)if(e.manifest.type==="module")return!0;return!1}async finalizeInstallWithPnp(e){let r=Kh(this.opts.project),o=await this.locateNodeModules(e.ignorePattern);if(o.length>0){this.opts.report.reportWarning(31,"One or more node_modules have been detected and will be removed. This operation may take some time.");for(let n of o)await ae.removePromise(n)}if(await this.transformPnpSettings(e),this.opts.project.configuration.get("pnpEnableInlining")){let n=l1e(e);await ae.changeFilePromise(r.cjs,n,{automaticNewlines:!0,mode:493}),await ae.removePromise(r.data)}else{let{dataFile:n,loaderFile:u}=c1e(e);await ae.changeFilePromise(r.cjs,u,{automaticNewlines:!0,mode:493}),await ae.changeFilePromise(r.data,n,{automaticNewlines:!0,mode:420})}this.isEsmEnabled()&&(this.opts.report.reportWarning(0,"ESM support for PnP uses the experimental loader API and is therefore experimental"),await ae.changeFilePromise(r.esmLoader,(0,Uj.default)(),{automaticNewlines:!0,mode:420}));let a=this.opts.project.configuration.get("pnpUnpluggedFolder");if(this.unpluggedPaths.size===0)await ae.removePromise(a);else for(let n of await ae.readdirPromise(a)){let u=K.resolve(a,n);this.unpluggedPaths.has(u)||await ae.removePromise(u)}}async locateNodeModules(e){let r=[],o=e?new RegExp(e):null;for(let a of this.opts.project.workspaces){let n=K.join(a.cwd,"node_modules");if(o&&o.test(K.relative(this.opts.project.cwd,a.cwd))||!ae.existsSync(n))continue;let u=await ae.readdirPromise(n,{withFileTypes:!0}),A=u.filter(p=>!p.isDirectory()||p.name===".bin"||!p.name.startsWith("."));if(A.length===u.length)r.push(n);else for(let p of A)r.push(K.join(n,p.name))}return r}async unplugPackageIfNeeded(e,r,o,a,n){return this.shouldBeUnplugged(e,r,a)?this.unplugPackage(e,o,n):o.packageFs}shouldBeUnplugged(e,r,o){return typeof o.unplugged<"u"?o.unplugged:Dwt.has(e.identHash)||e.conditions!=null?!0:r.manifest.preferUnplugged!==null?r.manifest.preferUnplugged:!!(ZQ(e,r,o,{configuration:this.opts.project.configuration})?.skipped===!1||r.misc.extractHint)}async unplugPackage(e,r,o){let a=Bv(e,{configuration:this.opts.project.configuration});return this.opts.project.disabledLocators.has(e.locatorHash)?new ju(a,{baseFs:r.packageFs,pathUtils:K}):(this.unpluggedPaths.add(a),o.holdFetchResult(this.asyncActions.set(e.locatorHash,async()=>{let n=K.join(a,r.prefixPath,".ready");await ae.existsPromise(n)||(this.opts.project.storedBuildState.delete(e.locatorHash),await ae.mkdirPromise(a,{recursive:!0}),await ae.copyPromise(a,Bt.dot,{baseFs:r.packageFs,overwrite:!1}),await ae.writeFilePromise(n,""))})),new En(a))}getPackageInformation(e){let r=G.stringifyIdent(e),o=e.reference,a=this.packageRegistry.get(r);if(!a)throw new Error(`Assertion failed: The package information store should have been available (for ${G.prettyIdent(this.opts.project.configuration,e)})`);let n=a.get(o);if(!n)throw new Error(`Assertion failed: The package information should have been available (for ${G.prettyLocator(this.opts.project.configuration,e)})`);return n}getDiskInformation(e){let r=qe.getMapWithDefault(this.packageRegistry,"@@disk"),o=qj(this.opts.project.cwd,e);return qe.getFactoryWithDefault(r,o,()=>({packageLocation:o,packageDependencies:new Map,packagePeers:new Set,linkType:"SOFT",discardFromLookup:!1}))}};function qj(t,e){let r=K.relative(t,e);return r.match(/^\.{0,2}\//)||(r=`./${r}`),r.replace(/\/?$/,"/")}async function Pwt(t){let e=await _t.tryFind(t.prefixPath,{baseFs:t.packageFs})??new _t,r=new Set(["preinstall","install","postinstall"]);for(let o of e.scripts.keys())r.has(o)||e.scripts.delete(o);return{manifest:{scripts:e.scripts,preferUnplugged:e.preferUnplugged,type:e.type},misc:{extractHint:_j(t),hasBindingGyp:Hj(t)}}}Ke();Ke();Gt();var L1e=et(Xo());var QC=class extends ut{constructor(){super(...arguments);this.all=de.Boolean("-A,--all",!1,{description:"Unplug direct dependencies from the entire project"});this.recursive=de.Boolean("-R,--recursive",!1,{description:"Unplug both direct and transitive dependencies"});this.json=de.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"});this.patterns=de.Rest()}static{this.paths=[["unplug"]]}static{this.usage=ot.Usage({description:"force the unpacking of a list of packages",details:"\n This command will add the selectors matching the specified patterns to the list of packages that must be unplugged when installed.\n\n A package being unplugged means that instead of being referenced directly through its archive, it will be unpacked at install time in the directory configured via `pnpUnpluggedFolder`. Note that unpacking packages this way is generally not recommended because it'll make it harder to store your packages within the repository. However, it's a good approach to quickly and safely debug some packages, and can even sometimes be required depending on the context (for example when the package contains shellscripts).\n\n Running the command will set a persistent flag inside your top-level `package.json`, in the `dependenciesMeta` field. As such, to undo its effects, you'll need to revert the changes made to the manifest and run `yarn install` to apply the modification.\n\n By default, only direct dependencies from the current workspace are affected. If `-A,--all` is set, direct dependencies from the entire project are affected. Using the `-R,--recursive` flag will affect transitive dependencies as well as direct ones.\n\n This command accepts glob patterns inside the scope and name components (not the range). Make sure to escape the patterns to prevent your own shell from trying to expand them.\n ",examples:[["Unplug the lodash dependency from the active workspace","yarn unplug lodash"],["Unplug all instances of lodash referenced by any workspace","yarn unplug lodash -A"],["Unplug all instances of lodash referenced by the active workspace and its dependencies","yarn unplug lodash -R"],["Unplug all instances of lodash, anywhere","yarn unplug lodash -AR"],["Unplug one specific version of lodash","yarn unplug lodash@1.2.3"],["Unplug all packages with the `@babel` scope","yarn unplug '@babel/*'"],["Unplug all packages (only for testing, not recommended)","yarn unplug -R '*'"]]})}async execute(){let r=await ze.find(this.context.cwd,this.context.plugins),{project:o,workspace:a}=await Qt.find(r,this.context.cwd),n=await Wr.find(r);if(!a)throw new or(o.cwd,this.context.cwd);if(r.get("nodeLinker")!=="pnp")throw new it("This command can only be used if the `nodeLinker` option is set to `pnp`");await o.restoreInstallState();let u=new Set(this.patterns),A=this.patterns.map(x=>{let C=G.parseDescriptor(x),T=C.range!=="unknown"?C:G.makeDescriptor(C,"*");if(!Ur.validRange(T.range))throw new it(`The range of the descriptor patterns must be a valid semver range (${G.prettyDescriptor(r,T)})`);return L=>{let U=G.stringifyIdent(L);return!L1e.default.isMatch(U,G.stringifyIdent(T))||L.version&&!Ur.satisfiesWithPrereleases(L.version,T.range)?!1:(u.delete(x),!0)}}),p=()=>{let x=[];for(let C of o.storedPackages.values())!o.tryWorkspaceByLocator(C)&&!G.isVirtualLocator(C)&&A.some(T=>T(C))&&x.push(C);return x},h=x=>{let C=new Set,T=[],L=(U,J)=>{if(C.has(U.locatorHash))return;let te=!!o.tryWorkspaceByLocator(U);if(!(J>0&&!this.recursive&&te)&&(C.add(U.locatorHash),!o.tryWorkspaceByLocator(U)&&A.some(le=>le(U))&&T.push(U),!(J>0&&!this.recursive)))for(let le of U.dependencies.values()){let ce=o.storedResolutions.get(le.descriptorHash);if(!ce)throw new Error("Assertion failed: The resolution should have been registered");let ue=o.storedPackages.get(ce);if(!ue)throw new Error("Assertion failed: The package should have been registered");L(ue,J+1)}};for(let U of x)L(U.anchoredPackage,0);return T},E,w;if(this.all&&this.recursive?(E=p(),w="the project"):this.all?(E=h(o.workspaces),w="any workspace"):(E=h([a]),w="this workspace"),u.size>1)throw new it(`Patterns ${pe.prettyList(r,u,pe.Type.CODE)} don't match any packages referenced by ${w}`);if(u.size>0)throw new it(`Pattern ${pe.prettyList(r,u,pe.Type.CODE)} doesn't match any packages referenced by ${w}`);E=qe.sortMap(E,x=>G.stringifyLocator(x));let D=await Nt.start({configuration:r,stdout:this.context.stdout,json:this.json},async x=>{for(let C of E){let T=C.version??"unknown",L=o.topLevelWorkspace.manifest.ensureDependencyMeta(G.makeDescriptor(C,T));L.unplugged=!0,x.reportInfo(0,`Will unpack ${G.prettyLocator(r,C)} to ${pe.pretty(r,Bv(C,{configuration:r}),pe.Type.PATH)}`),x.reportJson({locator:G.stringifyLocator(C),version:T})}await o.topLevelWorkspace.persistManifest(),this.json||x.reportSeparator()});return D.hasErrors()?D.exitCode():await o.installWithNewReport({json:this.json,stdout:this.context.stdout},{cache:n})}};var Kh=t=>({cjs:K.join(t.cwd,mr.pnpCjs),data:K.join(t.cwd,mr.pnpData),esmLoader:K.join(t.cwd,mr.pnpEsmLoader)}),M1e=t=>/\s/.test(t)?JSON.stringify(t):t;async function Swt(t,e,r){let o=/\s*--require\s+\S*\.pnp\.c?js\s*/g,a=/\s*--experimental-loader\s+\S*\.pnp\.loader\.mjs\s*/,n=(e.NODE_OPTIONS??"").replace(o," ").replace(a," ").trim();if(t.configuration.get("nodeLinker")!=="pnp"){e.NODE_OPTIONS=n||void 0;return}let u=Kh(t),A=`--require ${M1e(Ae.fromPortablePath(u.cjs))}`;ae.existsSync(u.esmLoader)&&(A=`${A} --experimental-loader ${(0,O1e.pathToFileURL)(Ae.fromPortablePath(u.esmLoader)).href}`),ae.existsSync(u.cjs)&&(e.NODE_OPTIONS=n?`${A} ${n}`:A)}async function bwt(t,e){let r=Kh(t);e(r.cjs),e(r.data),e(r.esmLoader),e(t.configuration.get("pnpUnpluggedFolder"))}var xwt={hooks:{populateYarnPaths:bwt,setupScriptEnvironment:Swt},configuration:{nodeLinker:{description:'The linker used for installing Node packages, one of: "pnp", "pnpm", or "node-modules"',type:"STRING",default:"pnp"},winLinkType:{description:"Whether Yarn should use Windows Junctions or symlinks when creating links on Windows.",type:"STRING",values:["junctions","symlinks"],default:"junctions"},pnpMode:{description:"If 'strict', generates standard PnP maps. If 'loose', merges them with the n_m resolution.",type:"STRING",default:"strict"},pnpShebang:{description:"String to prepend to the generated PnP script",type:"STRING",default:"#!/usr/bin/env node"},pnpIgnorePatterns:{description:"Array of glob patterns; files matching them will use the classic resolution",type:"STRING",default:[],isArray:!0},pnpEnableEsmLoader:{description:"If true, Yarn will generate an ESM loader (`.pnp.loader.mjs`). If this is not explicitly set Yarn tries to automatically detect whether ESM support is required.",type:"BOOLEAN",default:!1},pnpEnableInlining:{description:"If true, the PnP data will be inlined along with the generated loader",type:"BOOLEAN",default:!0},pnpFallbackMode:{description:"If true, the generated PnP loader will follow the top-level fallback rule",type:"STRING",default:"dependencies-only"},pnpUnpluggedFolder:{description:"Folder where the unplugged packages must be stored",type:"ABSOLUTE_PATH",default:"./.yarn/unplugged"}},linkers:[Yh],commands:[QC]},kwt=xwt;var Y1e=et(j1e());Gt();var zj=et(ve("crypto")),K1e=et(ve("fs")),V1e=1,bi="node_modules",$Q=".bin",J1e=".yarn-state.yml",Kwt=1e3,Xj=(o=>(o.CLASSIC="classic",o.HARDLINKS_LOCAL="hardlinks-local",o.HARDLINKS_GLOBAL="hardlinks-global",o))(Xj||{}),Dv=class{constructor(){this.installStateCache=new Map}getCustomDataKey(){return JSON.stringify({name:"NodeModulesLinker",version:3})}supportsPackage(e,r){return this.isEnabled(r)}async findPackageLocation(e,r){if(!this.isEnabled(r))throw new Error("Assertion failed: Expected the node-modules linker to be enabled");let o=r.project.tryWorkspaceByLocator(e);if(o)return o.cwd;let a=await qe.getFactoryWithDefault(this.installStateCache,r.project.cwd,async()=>await Jj(r.project,{unrollAliases:!0}));if(a===null)throw new it("Couldn't find the node_modules state file - running an install might help (findPackageLocation)");let n=a.locatorMap.get(G.stringifyLocator(e));if(!n){let p=new it(`Couldn't find ${G.prettyLocator(r.project.configuration,e)} in the currently installed node_modules map - running an install might help`);throw p.code="LOCATOR_NOT_INSTALLED",p}let u=n.locations.sort((p,h)=>p.split(K.sep).length-h.split(K.sep).length),A=K.join(r.project.configuration.startingCwd,bi);return u.find(p=>K.contains(A,p))||n.locations[0]}async findPackageLocator(e,r){if(!this.isEnabled(r))return null;let o=await qe.getFactoryWithDefault(this.installStateCache,r.project.cwd,async()=>await Jj(r.project,{unrollAliases:!0}));if(o===null)return null;let{locationRoot:a,segments:n}=eF(K.resolve(e),{skipPrefix:r.project.cwd}),u=o.locationTree.get(a);if(!u)return null;let A=u.locator;for(let p of n){if(u=u.children.get(p),!u)break;A=u.locator||A}return G.parseLocator(A)}makeInstaller(e){return new Vj(e)}isEnabled(e){return e.project.configuration.get("nodeLinker")==="node-modules"}},Vj=class{constructor(e){this.opts=e;this.localStore=new Map;this.realLocatorChecksums=new Map;this.customData={store:new Map}}attachCustomData(e){this.customData=e}async installPackage(e,r){let o=K.resolve(r.packageFs.getRealPath(),r.prefixPath),a=this.customData.store.get(e.locatorHash);if(typeof a>"u"&&(a=await Vwt(e,r),e.linkType==="HARD"&&this.customData.store.set(e.locatorHash,a)),!G.isPackageCompatible(e,this.opts.project.configuration.getSupportedArchitectures()))return{packageLocation:null,buildRequest:null};let n=new Map,u=new Set;n.has(G.stringifyIdent(e))||n.set(G.stringifyIdent(e),e.reference);let A=e;if(G.isVirtualLocator(e)){A=G.devirtualizeLocator(e);for(let E of e.peerDependencies.values())n.set(G.stringifyIdent(E),null),u.add(G.stringifyIdent(E))}let p={packageLocation:`${Ae.fromPortablePath(o)}/`,packageDependencies:n,packagePeers:u,linkType:e.linkType,discardFromLookup:r.discardFromLookup??!1};this.localStore.set(e.locatorHash,{pkg:e,customPackageData:a,dependencyMeta:this.opts.project.getDependencyMeta(e,e.version),pnpNode:p});let h=r.checksum?r.checksum.substring(r.checksum.indexOf("/")+1):null;return this.realLocatorChecksums.set(A.locatorHash,h),{packageLocation:o,buildRequest:null}}async attachInternalDependencies(e,r){let o=this.localStore.get(e.locatorHash);if(typeof o>"u")throw new Error("Assertion failed: Expected information object to have been registered");for(let[a,n]of r){let u=G.areIdentsEqual(a,n)?n.reference:[G.stringifyIdent(n),n.reference];o.pnpNode.packageDependencies.set(G.stringifyIdent(a),u)}}async attachExternalDependents(e,r){throw new Error("External dependencies haven't been implemented for the node-modules linker")}async finalizeInstall(){if(this.opts.project.configuration.get("nodeLinker")!=="node-modules")return;let e=new qs({baseFs:new iA({maxOpenFiles:80,readOnlyArchives:!0})}),r=await Jj(this.opts.project),o=this.opts.project.configuration.get("nmMode");(r===null||o!==r.nmMode)&&(this.opts.project.storedBuildState.clear(),r={locatorMap:new Map,binSymlinks:new Map,locationTree:new Map,nmMode:o,mtimeMs:0});let a=new Map(this.opts.project.workspaces.map(D=>{let x=this.opts.project.configuration.get("nmHoistingLimits");try{x=qe.validateEnum(fv,D.manifest.installConfig?.hoistingLimits??x)}catch{let T=G.prettyWorkspace(this.opts.project.configuration,D);this.opts.report.reportWarning(57,`${T}: Invalid 'installConfig.hoistingLimits' value. Expected one of ${Object.values(fv).join(", ")}, using default: "${x}"`)}return[D.relativeCwd,x]})),n=new Map(this.opts.project.workspaces.map(D=>{let x=this.opts.project.configuration.get("nmSelfReferences");return x=D.manifest.installConfig?.selfReferences??x,[D.relativeCwd,x]})),u={VERSIONS:{std:1},topLevel:{name:null,reference:null},getLocator:(D,x)=>Array.isArray(x)?{name:x[0],reference:x[1]}:{name:D,reference:x},getDependencyTreeRoots:()=>this.opts.project.workspaces.map(D=>{let x=D.anchoredLocator;return{name:G.stringifyIdent(x),reference:x.reference}}),getPackageInformation:D=>{let x=D.reference===null?this.opts.project.topLevelWorkspace.anchoredLocator:G.makeLocator(G.parseIdent(D.name),D.reference),C=this.localStore.get(x.locatorHash);if(typeof C>"u")throw new Error("Assertion failed: Expected the package reference to have been registered");return C.pnpNode},findPackageLocator:D=>{let x=this.opts.project.tryWorkspaceByCwd(Ae.toPortablePath(D));if(x!==null){let C=x.anchoredLocator;return{name:G.stringifyIdent(C),reference:C.reference}}throw new Error("Assertion failed: Unimplemented")},resolveToUnqualified:()=>{throw new Error("Assertion failed: Unimplemented")},resolveUnqualified:()=>{throw new Error("Assertion failed: Unimplemented")},resolveRequest:()=>{throw new Error("Assertion failed: Unimplemented")},resolveVirtual:D=>Ae.fromPortablePath(qs.resolveVirtual(Ae.toPortablePath(D)))},{tree:A,errors:p,preserveSymlinksRequired:h}=pv(u,{pnpifyFs:!1,validateExternalSoftLinks:!0,hoistingLimitsByCwd:a,project:this.opts.project,selfReferencesByCwd:n});if(!A){for(let{messageName:D,text:x}of p)this.opts.report.reportError(D,x);return}let E=vj(A);await e1t(r,E,{baseFs:e,project:this.opts.project,report:this.opts.report,realLocatorChecksums:this.realLocatorChecksums,loadManifest:async D=>{let x=G.parseLocator(D),C=this.localStore.get(x.locatorHash);if(typeof C>"u")throw new Error("Assertion failed: Expected the slot to exist");return C.customPackageData.manifest}});let w=[];for(let[D,x]of E.entries()){if(Z1e(D))continue;let C=G.parseLocator(D),T=this.localStore.get(C.locatorHash);if(typeof T>"u")throw new Error("Assertion failed: Expected the slot to exist");if(this.opts.project.tryWorkspaceByLocator(T.pkg))continue;let L=CA.extractBuildRequest(T.pkg,T.customPackageData,T.dependencyMeta,{configuration:this.opts.project.configuration});L&&w.push({buildLocations:x.locations,locator:C,buildRequest:L})}return h&&this.opts.report.reportWarning(72,`The application uses portals and that's why ${pe.pretty(this.opts.project.configuration,"--preserve-symlinks",pe.Type.CODE)} Node option is required for launching it`),{customData:this.customData,records:w}}};async function Vwt(t,e){let r=await _t.tryFind(e.prefixPath,{baseFs:e.packageFs})??new _t,o=new Set(["preinstall","install","postinstall"]);for(let a of r.scripts.keys())o.has(a)||r.scripts.delete(a);return{manifest:{bin:r.bin,scripts:r.scripts},misc:{hasBindingGyp:CA.hasBindingGyp(e)}}}async function Jwt(t,e,r,o,{installChangedByUser:a}){let n="";n+=`# Warning: This file is automatically generated. Removing it is fine, but will +`,n+=`# cause your node_modules installation to become invalidated. +`,n+=` +`,n+=`__metadata: +`,n+=` version: ${V1e} +`,n+=` nmMode: ${o.value} +`;let u=Array.from(e.keys()).sort(),A=G.stringifyLocator(t.topLevelWorkspace.anchoredLocator);for(let E of u){let w=e.get(E);n+=` +`,n+=`${JSON.stringify(E)}: +`,n+=` locations: +`;for(let D of w.locations){let x=K.contains(t.cwd,D);if(x===null)throw new Error(`Assertion failed: Expected the path to be within the project (${D})`);n+=` - ${JSON.stringify(x)} +`}if(w.aliases.length>0){n+=` aliases: +`;for(let D of w.aliases)n+=` - ${JSON.stringify(D)} +`}if(E===A&&r.size>0){n+=` bin: +`;for(let[D,x]of r){let C=K.contains(t.cwd,D);if(C===null)throw new Error(`Assertion failed: Expected the path to be within the project (${D})`);n+=` ${JSON.stringify(C)}: +`;for(let[T,L]of x){let U=K.relative(K.join(D,bi),L);n+=` ${JSON.stringify(T)}: ${JSON.stringify(U)} +`}}}}let p=t.cwd,h=K.join(p,bi,J1e);a&&await ae.removePromise(h),await ae.changeFilePromise(h,n,{automaticNewlines:!0})}async function Jj(t,{unrollAliases:e=!1}={}){let r=t.cwd,o=K.join(r,bi,J1e),a;try{a=await ae.statPromise(o)}catch{}if(!a)return null;let n=Ki(await ae.readFilePromise(o,"utf8"));if(n.__metadata.version>V1e)return null;let u=n.__metadata.nmMode||"classic",A=new Map,p=new Map;delete n.__metadata;for(let[h,E]of Object.entries(n)){let w=E.locations.map(x=>K.join(r,x)),D=E.bin;if(D)for(let[x,C]of Object.entries(D)){let T=K.join(r,Ae.toPortablePath(x)),L=qe.getMapWithDefault(p,T);for(let[U,J]of Object.entries(C))L.set(U,Ae.toPortablePath([T,bi,J].join(K.sep)))}if(A.set(h,{target:Bt.dot,linkType:"HARD",locations:w,aliases:E.aliases||[]}),e&&E.aliases)for(let x of E.aliases){let{scope:C,name:T}=G.parseLocator(h),L=G.makeLocator(G.makeIdent(C,T),x),U=G.stringifyLocator(L);A.set(U,{target:Bt.dot,linkType:"HARD",locations:w,aliases:[]})}}return{locatorMap:A,binSymlinks:p,locationTree:z1e(A,{skipPrefix:t.cwd}),nmMode:u,mtimeMs:a.mtimeMs}}var RC=async(t,e)=>{if(t.split(K.sep).indexOf(bi)<0)throw new Error(`Assertion failed: trying to remove dir that doesn't contain node_modules: ${t}`);try{let r;if(!e.innerLoop&&(r=await ae.lstatPromise(t),!r.isDirectory()&&!r.isSymbolicLink()||r.isSymbolicLink()&&!e.isWorkspaceDir)){await ae.unlinkPromise(t);return}let o=await ae.readdirPromise(t,{withFileTypes:!0});for(let n of o){let u=K.join(t,n.name);n.isDirectory()?(n.name!==bi||e&&e.innerLoop)&&await RC(u,{innerLoop:!0,contentsOnly:!1}):await ae.unlinkPromise(u)}let a=!e.innerLoop&&e.isWorkspaceDir&&r?.isSymbolicLink();!e.contentsOnly&&!a&&await ae.rmdirPromise(t)}catch(r){if(r.code!=="ENOENT"&&r.code!=="ENOTEMPTY")throw r}},G1e=4,eF=(t,{skipPrefix:e})=>{let r=K.contains(e,t);if(r===null)throw new Error(`Assertion failed: Writing attempt prevented to ${t} which is outside project root: ${e}`);let o=r.split(K.sep).filter(p=>p!==""),a=o.indexOf(bi),n=o.slice(0,a).join(K.sep),u=K.join(e,n),A=o.slice(a);return{locationRoot:u,segments:A}},z1e=(t,{skipPrefix:e})=>{let r=new Map;if(t===null)return r;let o=()=>({children:new Map,linkType:"HARD"});for(let[a,n]of t.entries()){if(n.linkType==="SOFT"&&K.contains(e,n.target)!==null){let A=qe.getFactoryWithDefault(r,n.target,o);A.locator=a,A.linkType=n.linkType}for(let u of n.locations){let{locationRoot:A,segments:p}=eF(u,{skipPrefix:e}),h=qe.getFactoryWithDefault(r,A,o);for(let E=0;E<p.length;++E){let w=p[E];if(w!=="."){let D=qe.getFactoryWithDefault(h.children,w,o);h.children.set(w,D),h=D}E===p.length-1&&(h.locator=a,h.linkType=n.linkType)}}}return r},Zj=async(t,e,r)=>{if(process.platform==="win32"&&r==="junctions"){let o;try{o=await ae.lstatPromise(t)}catch{}if(!o||o.isDirectory()){await ae.symlinkPromise(t,e,"junction");return}}await ae.symlinkPromise(K.relative(K.dirname(e),t),e)};async function X1e(t,e,r){let o=K.join(t,`${zj.default.randomBytes(16).toString("hex")}.tmp`);try{await ae.writeFilePromise(o,r);try{await ae.linkPromise(o,e)}catch{}}finally{await ae.unlinkPromise(o)}}async function zwt({srcPath:t,dstPath:e,entry:r,globalHardlinksStore:o,baseFs:a,nmMode:n}){if(r.kind==="file"){if(n.value==="hardlinks-global"&&o&&r.digest){let A=K.join(o,r.digest.substring(0,2),`${r.digest.substring(2)}.dat`),p;try{let h=await ae.statPromise(A);if(h&&(!r.mtimeMs||h.mtimeMs>r.mtimeMs||h.mtimeMs<r.mtimeMs-Kwt))if(await xn.checksumFile(A,{baseFs:ae,algorithm:"sha1"})!==r.digest){let w=K.join(o,`${zj.default.randomBytes(16).toString("hex")}.tmp`);await ae.renamePromise(A,w);let D=await a.readFilePromise(t);await ae.writeFilePromise(w,D);try{await ae.linkPromise(w,A),r.mtimeMs=new Date().getTime(),await ae.unlinkPromise(w)}catch{}}else r.mtimeMs||(r.mtimeMs=Math.ceil(h.mtimeMs));await ae.linkPromise(A,e),p=!0}catch{p=!1}if(!p){let h=await a.readFilePromise(t);await X1e(o,A,h),r.mtimeMs=new Date().getTime();try{await ae.linkPromise(A,e)}catch(E){E&&E.code&&E.code=="EXDEV"&&(n.value="hardlinks-local",await a.copyFilePromise(t,e))}}}else await a.copyFilePromise(t,e);let u=r.mode&511;u!==420&&await ae.chmodPromise(e,u)}}var Xwt=async(t,e,{baseFs:r,globalHardlinksStore:o,nmMode:a,windowsLinkType:n,packageChecksum:u})=>{await ae.mkdirPromise(t,{recursive:!0});let A=async(E=Bt.dot)=>{let w=K.join(e,E),D=await r.readdirPromise(w,{withFileTypes:!0}),x=new Map;for(let C of D){let T=K.join(E,C.name),L,U=K.join(w,C.name);if(C.isFile()){if(L={kind:"file",mode:(await r.lstatPromise(U)).mode},a.value==="hardlinks-global"){let J=await xn.checksumFile(U,{baseFs:r,algorithm:"sha1"});L.digest=J}}else if(C.isDirectory())L={kind:"directory"};else if(C.isSymbolicLink())L={kind:"symlink",symlinkTo:await r.readlinkPromise(U)};else throw new Error(`Unsupported file type (file: ${U}, mode: 0o${await r.statSync(U).mode.toString(8).padStart(6,"0")})`);if(x.set(T,L),C.isDirectory()&&T!==bi){let J=await A(T);for(let[te,le]of J)x.set(te,le)}}return x},p;if(a.value==="hardlinks-global"&&o&&u){let E=K.join(o,u.substring(0,2),`${u.substring(2)}.json`);try{p=new Map(Object.entries(JSON.parse(await ae.readFilePromise(E,"utf8"))))}catch{p=await A()}}else p=await A();let h=!1;for(let[E,w]of p){let D=K.join(e,E),x=K.join(t,E);if(w.kind==="directory")await ae.mkdirPromise(x,{recursive:!0});else if(w.kind==="file"){let C=w.mtimeMs;await zwt({srcPath:D,dstPath:x,entry:w,nmMode:a,baseFs:r,globalHardlinksStore:o}),w.mtimeMs!==C&&(h=!0)}else w.kind==="symlink"&&await Zj(K.resolve(K.dirname(x),w.symlinkTo),x,n)}if(a.value==="hardlinks-global"&&o&&h&&u){let E=K.join(o,u.substring(0,2),`${u.substring(2)}.json`);await ae.removePromise(E),await X1e(o,E,Buffer.from(JSON.stringify(Object.fromEntries(p))))}};function Zwt(t,e,r,o){let a=new Map,n=new Map,u=new Map,A=!1,p=(h,E,w,D,x)=>{let C=!0,T=K.join(h,E),L=new Set;if(E===bi||E.startsWith("@")){let J;try{J=ae.statSync(T)}catch{}C=!!J,J?J.mtimeMs>r?(A=!0,L=new Set(ae.readdirSync(T))):L=new Set(w.children.get(E).children.keys()):A=!0;let te=e.get(h);if(te){let le=K.join(h,bi,$Q),ce;try{ce=ae.statSync(le)}catch{}if(!ce)A=!0;else if(ce.mtimeMs>r){A=!0;let ue=new Set(ae.readdirSync(le)),Ie=new Map;n.set(h,Ie);for(let[he,De]of te)ue.has(he)&&Ie.set(he,De)}else n.set(h,te)}}else C=x.has(E);let U=w.children.get(E);if(C){let{linkType:J,locator:te}=U,le={children:new Map,linkType:J,locator:te};if(D.children.set(E,le),te){let ce=qe.getSetWithDefault(u,te);ce.add(T),u.set(te,ce)}for(let ce of U.children.keys())p(T,ce,U,le,L)}else U.locator&&o.storedBuildState.delete(G.parseLocator(U.locator).locatorHash)};for(let[h,E]of t){let{linkType:w,locator:D}=E,x={children:new Map,linkType:w,locator:D};if(a.set(h,x),D){let C=qe.getSetWithDefault(u,E.locator);C.add(h),u.set(E.locator,C)}E.children.has(bi)&&p(h,bi,E,x,new Set)}return{locationTree:a,binSymlinks:n,locatorLocations:u,installChangedByUser:A}}function Z1e(t){let e=G.parseDescriptor(t);return G.isVirtualDescriptor(e)&&(e=G.devirtualizeDescriptor(e)),e.range.startsWith("link:")}async function $wt(t,e,r,{loadManifest:o}){let a=new Map;for(let[A,{locations:p}]of t){let h=Z1e(A)?null:await o(A,p[0]),E=new Map;if(h)for(let[w,D]of h.bin){let x=K.join(p[0],D);D!==""&&ae.existsSync(x)&&E.set(w,D)}a.set(A,E)}let n=new Map,u=(A,p,h)=>{let E=new Map,w=K.contains(r,A);if(h.locator&&w!==null){let D=a.get(h.locator);for(let[x,C]of D){let T=K.join(A,Ae.toPortablePath(C));E.set(x,T)}for(let[x,C]of h.children){let T=K.join(A,x),L=u(T,T,C);L.size>0&&n.set(A,new Map([...n.get(A)||new Map,...L]))}}else for(let[D,x]of h.children){let C=u(K.join(A,D),p,x);for(let[T,L]of C)E.set(T,L)}return E};for(let[A,p]of e){let h=u(A,A,p);h.size>0&&n.set(A,new Map([...n.get(A)||new Map,...h]))}return n}var W1e=(t,e)=>{if(!t||!e)return t===e;let r=G.parseLocator(t);G.isVirtualLocator(r)&&(r=G.devirtualizeLocator(r));let o=G.parseLocator(e);return G.isVirtualLocator(o)&&(o=G.devirtualizeLocator(o)),G.areLocatorsEqual(r,o)};function $j(t){return K.join(t.get("globalFolder"),"store")}async function e1t(t,e,{baseFs:r,project:o,report:a,loadManifest:n,realLocatorChecksums:u}){let A=K.join(o.cwd,bi),{locationTree:p,binSymlinks:h,locatorLocations:E,installChangedByUser:w}=Zwt(t.locationTree,t.binSymlinks,t.mtimeMs,o),D=z1e(e,{skipPrefix:o.cwd}),x=[],C=async({srcDir:De,dstDir:Ee,linkType:g,globalHardlinksStore:me,nmMode:Ce,windowsLinkType:fe,packageChecksum:ie})=>{let Z=(async()=>{try{g==="SOFT"?(await ae.mkdirPromise(K.dirname(Ee),{recursive:!0}),await Zj(K.resolve(De),Ee,fe)):await Xwt(Ee,De,{baseFs:r,globalHardlinksStore:me,nmMode:Ce,windowsLinkType:fe,packageChecksum:ie})}catch(Pe){throw Pe.message=`While persisting ${De} -> ${Ee} ${Pe.message}`,Pe}finally{le.tick()}})().then(()=>x.splice(x.indexOf(Z),1));x.push(Z),x.length>G1e&&await Promise.race(x)},T=async(De,Ee,g)=>{let me=(async()=>{let Ce=async(fe,ie,Z)=>{try{Z.innerLoop||await ae.mkdirPromise(ie,{recursive:!0});let Pe=await ae.readdirPromise(fe,{withFileTypes:!0});for(let Re of Pe){if(!Z.innerLoop&&Re.name===$Q)continue;let ht=K.join(fe,Re.name),q=K.join(ie,Re.name);Re.isDirectory()?(Re.name!==bi||Z&&Z.innerLoop)&&(await ae.mkdirPromise(q,{recursive:!0}),await Ce(ht,q,{...Z,innerLoop:!0})):Ie.value==="hardlinks-local"||Ie.value==="hardlinks-global"?await ae.linkPromise(ht,q):await ae.copyFilePromise(ht,q,K1e.default.constants.COPYFILE_FICLONE)}}catch(Pe){throw Z.innerLoop||(Pe.message=`While cloning ${fe} -> ${ie} ${Pe.message}`),Pe}finally{Z.innerLoop||le.tick()}};await Ce(De,Ee,g)})().then(()=>x.splice(x.indexOf(me),1));x.push(me),x.length>G1e&&await Promise.race(x)},L=async(De,Ee,g)=>{if(g)for(let[me,Ce]of Ee.children){let fe=g.children.get(me);await L(K.join(De,me),Ce,fe)}else{Ee.children.has(bi)&&await RC(K.join(De,bi),{contentsOnly:!1});let me=K.basename(De)===bi&&p.has(K.join(K.dirname(De)));await RC(De,{contentsOnly:De===A,isWorkspaceDir:me})}};for(let[De,Ee]of p){let g=D.get(De);for(let[me,Ce]of Ee.children){if(me===".")continue;let fe=g&&g.children.get(me),ie=K.join(De,me);await L(ie,Ce,fe)}}let U=async(De,Ee,g)=>{if(g){W1e(Ee.locator,g.locator)||await RC(De,{contentsOnly:Ee.linkType==="HARD"});for(let[me,Ce]of Ee.children){let fe=g.children.get(me);await U(K.join(De,me),Ce,fe)}}else{Ee.children.has(bi)&&await RC(K.join(De,bi),{contentsOnly:!0});let me=K.basename(De)===bi&&D.has(K.join(K.dirname(De)));await RC(De,{contentsOnly:Ee.linkType==="HARD",isWorkspaceDir:me})}};for(let[De,Ee]of D){let g=p.get(De);for(let[me,Ce]of Ee.children){if(me===".")continue;let fe=g&&g.children.get(me);await U(K.join(De,me),Ce,fe)}}let J=new Map,te=[];for(let[De,Ee]of E)for(let g of Ee){let{locationRoot:me,segments:Ce}=eF(g,{skipPrefix:o.cwd}),fe=D.get(me),ie=me;if(fe){for(let Z of Ce)if(ie=K.join(ie,Z),fe=fe.children.get(Z),!fe)break;if(fe){let Z=W1e(fe.locator,De),Pe=e.get(fe.locator),Re=Pe.target,ht=ie,q=Pe.linkType;if(Z)J.has(Re)||J.set(Re,ht);else if(Re!==ht){let nt=G.parseLocator(fe.locator);G.isVirtualLocator(nt)&&(nt=G.devirtualizeLocator(nt)),te.push({srcDir:Re,dstDir:ht,linkType:q,realLocatorHash:nt.locatorHash})}}}}for(let[De,{locations:Ee}]of e.entries())for(let g of Ee){let{locationRoot:me,segments:Ce}=eF(g,{skipPrefix:o.cwd}),fe=p.get(me),ie=D.get(me),Z=me,Pe=e.get(De),Re=G.parseLocator(De);G.isVirtualLocator(Re)&&(Re=G.devirtualizeLocator(Re));let ht=Re.locatorHash,q=Pe.target,nt=g;if(q===nt)continue;let Ne=Pe.linkType;for(let Te of Ce)ie=ie.children.get(Te);if(!fe)te.push({srcDir:q,dstDir:nt,linkType:Ne,realLocatorHash:ht});else for(let Te of Ce)if(Z=K.join(Z,Te),fe=fe.children.get(Te),!fe){te.push({srcDir:q,dstDir:nt,linkType:Ne,realLocatorHash:ht});break}}let le=Ws.progressViaCounter(te.length),ce=a.reportProgress(le),ue=o.configuration.get("nmMode"),Ie={value:ue},he=o.configuration.get("winLinkType");try{let De=Ie.value==="hardlinks-global"?`${$j(o.configuration)}/v1`:null;if(De&&!await ae.existsPromise(De)){await ae.mkdirpPromise(De);for(let g=0;g<256;g++)await ae.mkdirPromise(K.join(De,g.toString(16).padStart(2,"0")))}for(let g of te)(g.linkType==="SOFT"||!J.has(g.srcDir))&&(J.set(g.srcDir,g.dstDir),await C({...g,globalHardlinksStore:De,nmMode:Ie,windowsLinkType:he,packageChecksum:u.get(g.realLocatorHash)||null}));await Promise.all(x),x.length=0;for(let g of te){let me=J.get(g.srcDir);g.linkType!=="SOFT"&&g.dstDir!==me&&await T(me,g.dstDir,{nmMode:Ie})}await Promise.all(x),await ae.mkdirPromise(A,{recursive:!0});let Ee=await $wt(e,D,o.cwd,{loadManifest:n});await t1t(h,Ee,o.cwd,he),await Jwt(o,e,Ee,Ie,{installChangedByUser:w}),ue=="hardlinks-global"&&Ie.value=="hardlinks-local"&&a.reportWarningOnce(74,"'nmMode' has been downgraded to 'hardlinks-local' due to global cache and install folder being on different devices")}finally{ce.stop()}}async function t1t(t,e,r,o){for(let a of t.keys()){if(K.contains(r,a)===null)throw new Error(`Assertion failed. Excepted bin symlink location to be inside project dir, instead it was at ${a}`);if(!e.has(a)){let n=K.join(a,bi,$Q);await ae.removePromise(n)}}for(let[a,n]of e){if(K.contains(r,a)===null)throw new Error(`Assertion failed. Excepted bin symlink location to be inside project dir, instead it was at ${a}`);let u=K.join(a,bi,$Q),A=t.get(a)||new Map;await ae.mkdirPromise(u,{recursive:!0});for(let p of A.keys())n.has(p)||(await ae.removePromise(K.join(u,p)),process.platform==="win32"&&await ae.removePromise(K.join(u,`${p}.cmd`)));for(let[p,h]of n){let E=A.get(p),w=K.join(u,p);E!==h&&(process.platform==="win32"?await(0,Y1e.default)(Ae.fromPortablePath(h),Ae.fromPortablePath(w),{createPwshFile:!1}):(await ae.removePromise(w),await Zj(h,w,o),K.contains(r,await ae.realpathPromise(h))!==null&&await ae.chmodPromise(h,493)))}}}Ke();Pt();sA();var Pv=class extends Yh{constructor(){super(...arguments);this.mode="loose"}makeInstaller(r){return new e5(r)}},e5=class extends pd{constructor(){super(...arguments);this.mode="loose"}async transformPnpSettings(r){let o=new qs({baseFs:new iA({maxOpenFiles:80,readOnlyArchives:!0})}),a=F1e(r,this.opts.project.cwd,o),{tree:n,errors:u}=pv(a,{pnpifyFs:!1,project:this.opts.project});if(!n){for(let{messageName:w,text:D}of u)this.opts.report.reportError(w,D);return}let A=new Map;r.fallbackPool=A;let p=(w,D)=>{let x=G.parseLocator(D.locator),C=G.stringifyIdent(x);C===w?A.set(w,x.reference):A.set(w,[C,x.reference])},h=K.join(this.opts.project.cwd,mr.nodeModules),E=n.get(h);if(!(typeof E>"u")){if("target"in E)throw new Error("Assertion failed: Expected the root junction point to be a directory");for(let w of E.dirList){let D=K.join(h,w),x=n.get(D);if(typeof x>"u")throw new Error("Assertion failed: Expected the child to have been registered");if("target"in x)p(w,x);else for(let C of x.dirList){let T=K.join(D,C),L=n.get(T);if(typeof L>"u")throw new Error("Assertion failed: Expected the subchild to have been registered");if("target"in L)p(`${w}/${C}`,L);else throw new Error("Assertion failed: Expected the leaf junction to be a package")}}}}};var r1t={hooks:{cleanGlobalArtifacts:async t=>{let e=$j(t);await ae.removePromise(e)}},configuration:{nmHoistingLimits:{description:"Prevents packages to be hoisted past specific levels",type:"STRING",values:["workspaces","dependencies","none"],default:"none"},nmMode:{description:"Defines in which measure Yarn must use hardlinks and symlinks when generated `node_modules` directories.",type:"STRING",values:["classic","hardlinks-local","hardlinks-global"],default:"classic"},nmSelfReferences:{description:"Defines whether the linker should generate self-referencing symlinks for workspaces.",type:"BOOLEAN",default:!0}},linkers:[Dv,Pv]},n1t=r1t;var $5={};Kt($5,{NpmHttpFetcher:()=>xv,NpmRemapResolver:()=>kv,NpmSemverFetcher:()=>rp,NpmSemverResolver:()=>Qv,NpmTagResolver:()=>Fv,default:()=>yvt,npmConfigUtils:()=>si,npmHttpUtils:()=>en,npmPublishUtils:()=>VC});Ke();var o2e=et(ni());var Zn="npm:";var en={};Kt(en,{AuthType:()=>n2e,customPackageError:()=>hd,del:()=>g1t,get:()=>gd,getIdentUrl:()=>tF,getPackageMetadata:()=>LC,handleInvalidAuthenticationError:()=>Vh,post:()=>p1t,put:()=>h1t});Ke();Ke();Pt();var i5=et(Q2()),t2e=et(c_()),r2e=et(ni());var si={};Kt(si,{RegistryType:()=>$1e,getAuditRegistry:()=>i1t,getAuthConfiguration:()=>n5,getDefaultRegistry:()=>Sv,getPublishRegistry:()=>s1t,getRegistryConfiguration:()=>e2e,getScopeConfiguration:()=>r5,getScopeRegistry:()=>TC,normalizeRegistry:()=>uc});var $1e=(o=>(o.AUDIT_REGISTRY="npmAuditRegistry",o.FETCH_REGISTRY="npmRegistryServer",o.PUBLISH_REGISTRY="npmPublishRegistry",o))($1e||{});function uc(t){return t.replace(/\/$/,"")}function i1t({configuration:t}){return Sv({configuration:t,type:"npmAuditRegistry"})}function s1t(t,{configuration:e}){return t.publishConfig?.registry?uc(t.publishConfig.registry):t.name?TC(t.name.scope,{configuration:e,type:"npmPublishRegistry"}):Sv({configuration:e,type:"npmPublishRegistry"})}function TC(t,{configuration:e,type:r="npmRegistryServer"}){let o=r5(t,{configuration:e});if(o===null)return Sv({configuration:e,type:r});let a=o.get(r);return a===null?Sv({configuration:e,type:r}):uc(a)}function Sv({configuration:t,type:e="npmRegistryServer"}){let r=t.get(e);return uc(r!==null?r:t.get("npmRegistryServer"))}function e2e(t,{configuration:e}){let r=e.get("npmRegistries"),o=uc(t),a=r.get(o);if(typeof a<"u")return a;let n=r.get(o.replace(/^[a-z]+:/,""));return typeof n<"u"?n:null}function r5(t,{configuration:e}){if(t===null)return null;let o=e.get("npmScopes").get(t);return o||null}function n5(t,{configuration:e,ident:r}){let o=r&&r5(r.scope,{configuration:e});return o?.get("npmAuthIdent")||o?.get("npmAuthToken")?o:e2e(t,{configuration:e})||e}var n2e=(a=>(a[a.NO_AUTH=0]="NO_AUTH",a[a.BEST_EFFORT=1]="BEST_EFFORT",a[a.CONFIGURATION=2]="CONFIGURATION",a[a.ALWAYS_AUTH=3]="ALWAYS_AUTH",a))(n2e||{});async function Vh(t,{attemptedAs:e,registry:r,headers:o,configuration:a}){if(nF(t))throw new Jt(41,"Invalid OTP token");if(t.originalError?.name==="HTTPError"&&t.originalError?.response.statusCode===401)throw new Jt(41,`Invalid authentication (${typeof e!="string"?`as ${await m1t(r,o,{configuration:a})}`:`attempted as ${e}`})`)}function hd(t,e){let r=t.response?.statusCode;return r?r===404?"Package not found":r>=500&&r<600?`The registry appears to be down (using a ${pe.applyHyperlink(e,"local cache","https://yarnpkg.com/advanced/lexicon#local-cache")} might have protected you against such outages)`:null:null}function tF(t){return t.scope?`/@${t.scope}%2f${t.name}`:`/${t.name}`}var i2e=new Map,o1t=new Map;async function a1t(t){return await qe.getFactoryWithDefault(i2e,t,async()=>{let e=null;try{e=await ae.readJsonPromise(t)}catch{}return e})}async function l1t(t,e,{configuration:r,cached:o,registry:a,headers:n,version:u,...A}){return await qe.getFactoryWithDefault(o1t,t,async()=>await gd(tF(e),{...A,customErrorMessage:hd,configuration:r,registry:a,ident:e,headers:{...n,"If-None-Match":o?.etag,"If-Modified-Since":o?.lastModified},wrapNetworkRequest:async p=>async()=>{let h=await p();if(h.statusCode===304){if(o===null)throw new Error("Assertion failed: cachedMetadata should not be null");return{...h,body:o.metadata}}let E=c1t(JSON.parse(h.body.toString())),w={metadata:E,etag:h.headers.etag,lastModified:h.headers["last-modified"]};return i2e.set(t,Promise.resolve(w)),Promise.resolve().then(async()=>{let D=`${t}-${process.pid}.tmp`;await ae.mkdirPromise(K.dirname(D),{recursive:!0}),await ae.writeJsonPromise(D,w,{compact:!0}),await ae.renamePromise(D,t)}).catch(()=>{}),{...h,body:E}}}))}async function LC(t,{cache:e,project:r,registry:o,headers:a,version:n,...u}){let{configuration:A}=r;o=bv(A,{ident:t,registry:o});let p=A1t(A,o),h=K.join(p,`${G.slugifyIdent(t)}.json`),E=null;if(!r.lockfileNeedsRefresh&&(E=await a1t(h),E)){if(typeof n<"u"&&typeof E.metadata.versions[n]<"u")return E.metadata;if(A.get("enableOfflineMode")){let w=structuredClone(E.metadata),D=new Set;if(e){for(let C of Object.keys(w.versions)){let T=G.makeLocator(t,`npm:${C}`),L=e.getLocatorMirrorPath(T);(!L||!ae.existsSync(L))&&(delete w.versions[C],D.add(C))}let x=w["dist-tags"].latest;if(D.has(x)){let C=Object.keys(E.metadata.versions).sort(r2e.default.compare),T=C.indexOf(x);for(;D.has(C[T])&&T>=0;)T-=1;T>=0?w["dist-tags"].latest=C[T]:delete w["dist-tags"].latest}}return w}}return await l1t(h,t,{...u,configuration:A,cached:E,registry:o,headers:a,version:n})}var s2e=["name","dist.tarball","bin","scripts","os","cpu","libc","dependencies","dependenciesMeta","optionalDependencies","peerDependencies","peerDependenciesMeta","deprecated"];function c1t(t){return{"dist-tags":t["dist-tags"],versions:Object.fromEntries(Object.entries(t.versions).map(([e,r])=>[e,(0,t2e.default)(r,s2e)]))}}var u1t=xn.makeHash(...s2e).slice(0,6);function A1t(t,e){let r=f1t(t),o=new URL(e);return K.join(r,u1t,o.hostname)}function f1t(t){return K.join(t.get("globalFolder"),"metadata/npm")}async function gd(t,{configuration:e,headers:r,ident:o,authType:a,registry:n,...u}){n=bv(e,{ident:o,registry:n}),o&&o.scope&&typeof a>"u"&&(a=1);let A=await rF(n,{authType:a,configuration:e,ident:o});A&&(r={...r,authorization:A});try{return await on.get(t.charAt(0)==="/"?`${n}${t}`:t,{configuration:e,headers:r,...u})}catch(p){throw await Vh(p,{registry:n,configuration:e,headers:r}),p}}async function p1t(t,e,{attemptedAs:r,configuration:o,headers:a,ident:n,authType:u=3,registry:A,otp:p,...h}){A=bv(o,{ident:n,registry:A});let E=await rF(A,{authType:u,configuration:o,ident:n});E&&(a={...a,authorization:E}),p&&(a={...a,...NC(p)});try{return await on.post(A+t,e,{configuration:o,headers:a,...h})}catch(w){if(!nF(w)||p)throw await Vh(w,{attemptedAs:r,registry:A,configuration:o,headers:a}),w;p=await s5(w,{configuration:o});let D={...a,...NC(p)};try{return await on.post(`${A}${t}`,e,{configuration:o,headers:D,...h})}catch(x){throw await Vh(x,{attemptedAs:r,registry:A,configuration:o,headers:a}),x}}}async function h1t(t,e,{attemptedAs:r,configuration:o,headers:a,ident:n,authType:u=3,registry:A,otp:p,...h}){A=bv(o,{ident:n,registry:A});let E=await rF(A,{authType:u,configuration:o,ident:n});E&&(a={...a,authorization:E}),p&&(a={...a,...NC(p)});try{return await on.put(A+t,e,{configuration:o,headers:a,...h})}catch(w){if(!nF(w))throw await Vh(w,{attemptedAs:r,registry:A,configuration:o,headers:a}),w;p=await s5(w,{configuration:o});let D={...a,...NC(p)};try{return await on.put(`${A}${t}`,e,{configuration:o,headers:D,...h})}catch(x){throw await Vh(x,{attemptedAs:r,registry:A,configuration:o,headers:a}),x}}}async function g1t(t,{attemptedAs:e,configuration:r,headers:o,ident:a,authType:n=3,registry:u,otp:A,...p}){u=bv(r,{ident:a,registry:u});let h=await rF(u,{authType:n,configuration:r,ident:a});h&&(o={...o,authorization:h}),A&&(o={...o,...NC(A)});try{return await on.del(u+t,{configuration:r,headers:o,...p})}catch(E){if(!nF(E)||A)throw await Vh(E,{attemptedAs:e,registry:u,configuration:r,headers:o}),E;A=await s5(E,{configuration:r});let w={...o,...NC(A)};try{return await on.del(`${u}${t}`,{configuration:r,headers:w,...p})}catch(D){throw await Vh(D,{attemptedAs:e,registry:u,configuration:r,headers:o}),D}}}function bv(t,{ident:e,registry:r}){if(typeof r>"u"&&e)return TC(e.scope,{configuration:t});if(typeof r!="string")throw new Error("Assertion failed: The registry should be a string");return uc(r)}async function rF(t,{authType:e=2,configuration:r,ident:o}){let a=n5(t,{configuration:r,ident:o}),n=d1t(a,e);if(!n)return null;let u=await r.reduceHook(A=>A.getNpmAuthenticationHeader,void 0,t,{configuration:r,ident:o});if(u)return u;if(a.get("npmAuthToken"))return`Bearer ${a.get("npmAuthToken")}`;if(a.get("npmAuthIdent")){let A=a.get("npmAuthIdent");return A.includes(":")?`Basic ${Buffer.from(A).toString("base64")}`:`Basic ${A}`}if(n&&e!==1)throw new Jt(33,"No authentication configured for request");return null}function d1t(t,e){switch(e){case 2:return t.get("npmAlwaysAuth");case 1:case 3:return!0;case 0:return!1;default:throw new Error("Unreachable")}}async function m1t(t,e,{configuration:r}){if(typeof e>"u"||typeof e.authorization>"u")return"an anonymous user";try{return(await on.get(new URL(`${t}/-/whoami`).href,{configuration:r,headers:e,jsonResponse:!0})).username??"an unknown user"}catch{return"an unknown user"}}async function s5(t,{configuration:e}){let r=t.originalError?.response.headers["npm-notice"];if(r&&(await Nt.start({configuration:e,stdout:process.stdout,includeFooter:!1},async a=>{if(a.reportInfo(0,r.replace(/(https?:\/\/\S+)/g,pe.pretty(e,"$1",pe.Type.URL))),!process.env.YARN_IS_TEST_ENV){let n=r.match(/open (https?:\/\/\S+)/i);if(n&&Xi.openUrl){let{openNow:u}=await(0,i5.prompt)({type:"confirm",name:"openNow",message:"Do you want to try to open this url now?",required:!0,initial:!0,onCancel:()=>process.exit(130)});u&&(await Xi.openUrl(n[1])||(a.reportSeparator(),a.reportWarning(0,"We failed to automatically open the url; you'll have to open it yourself in your browser of choice.")))}}}),process.stdout.write(` +`)),process.env.YARN_IS_TEST_ENV)return process.env.YARN_INJECT_NPM_2FA_TOKEN||"";let{otp:o}=await(0,i5.prompt)({type:"password",name:"otp",message:"One-time password:",required:!0,onCancel:()=>process.exit(130)});return process.stdout.write(` +`),o}function nF(t){if(t.originalError?.name!=="HTTPError")return!1;try{return(t.originalError?.response.headers["www-authenticate"].split(/,\s*/).map(r=>r.toLowerCase())).includes("otp")}catch{return!1}}function NC(t){return{"npm-otp":t}}var xv=class{supports(e,r){if(!e.reference.startsWith(Zn))return!1;let{selector:o,params:a}=G.parseRange(e.reference);return!(!o2e.default.valid(o)||a===null||typeof a.__archiveUrl!="string")}getLocalPath(e,r){return null}async fetch(e,r){let o=r.checksums.get(e.locatorHash)||null,[a,n,u]=await r.cache.fetchPackageFromCache(e,o,{onHit:()=>r.report.reportCacheHit(e),onMiss:()=>r.report.reportCacheMiss(e,`${G.prettyLocator(r.project.configuration,e)} can't be found in the cache and will be fetched from the remote server`),loader:()=>this.fetchFromNetwork(e,r),...r.cacheOptions});return{packageFs:a,releaseFs:n,prefixPath:G.getIdentVendorPath(e),checksum:u}}async fetchFromNetwork(e,r){let{params:o}=G.parseRange(e.reference);if(o===null||typeof o.__archiveUrl!="string")throw new Error("Assertion failed: The archiveUrl querystring parameter should have been available");let a=await gd(o.__archiveUrl,{customErrorMessage:hd,configuration:r.project.configuration,ident:e});return await $i.convertToZip(a,{configuration:r.project.configuration,prefixPath:G.getIdentVendorPath(e),stripComponents:1})}};Ke();var kv=class{supportsDescriptor(e,r){return!(!e.range.startsWith(Zn)||!G.tryParseDescriptor(e.range.slice(Zn.length),!0))}supportsLocator(e,r){return!1}shouldPersistResolution(e,r){throw new Error("Unreachable")}bindDescriptor(e,r,o){return e}getResolutionDependencies(e,r){let o=r.project.configuration.normalizeDependency(G.parseDescriptor(e.range.slice(Zn.length),!0));return r.resolver.getResolutionDependencies(o,r)}async getCandidates(e,r,o){let a=o.project.configuration.normalizeDependency(G.parseDescriptor(e.range.slice(Zn.length),!0));return await o.resolver.getCandidates(a,r,o)}async getSatisfying(e,r,o,a){let n=a.project.configuration.normalizeDependency(G.parseDescriptor(e.range.slice(Zn.length),!0));return a.resolver.getSatisfying(n,r,o,a)}resolve(e,r){throw new Error("Unreachable")}};Ke();Ke();var a2e=et(ni());var rp=class t{supports(e,r){if(!e.reference.startsWith(Zn))return!1;let o=new URL(e.reference);return!(!a2e.default.valid(o.pathname)||o.searchParams.has("__archiveUrl"))}getLocalPath(e,r){return null}async fetch(e,r){let o=r.checksums.get(e.locatorHash)||null,[a,n,u]=await r.cache.fetchPackageFromCache(e,o,{onHit:()=>r.report.reportCacheHit(e),onMiss:()=>r.report.reportCacheMiss(e,`${G.prettyLocator(r.project.configuration,e)} can't be found in the cache and will be fetched from the remote registry`),loader:()=>this.fetchFromNetwork(e,r),...r.cacheOptions});return{packageFs:a,releaseFs:n,prefixPath:G.getIdentVendorPath(e),checksum:u}}async fetchFromNetwork(e,r){let o;try{o=await gd(t.getLocatorUrl(e),{customErrorMessage:hd,configuration:r.project.configuration,ident:e})}catch{o=await gd(t.getLocatorUrl(e).replace(/%2f/g,"/"),{customErrorMessage:hd,configuration:r.project.configuration,ident:e})}return await $i.convertToZip(o,{configuration:r.project.configuration,prefixPath:G.getIdentVendorPath(e),stripComponents:1})}static isConventionalTarballUrl(e,r,{configuration:o}){let a=TC(e.scope,{configuration:o}),n=t.getLocatorUrl(e);return r=r.replace(/^https?:(\/\/(?:[^/]+\.)?npmjs.org(?:$|\/))/,"https:$1"),a=a.replace(/^https:\/\/registry\.npmjs\.org($|\/)/,"https://registry.yarnpkg.com$1"),r=r.replace(/^https:\/\/registry\.npmjs\.org($|\/)/,"https://registry.yarnpkg.com$1"),r===a+n||r===a+n.replace(/%2f/g,"/")}static getLocatorUrl(e){let r=Ur.clean(e.reference.slice(Zn.length));if(r===null)throw new Jt(10,"The npm semver resolver got selected, but the version isn't semver");return`${tF(e)}/-/${e.name}-${r}.tgz`}};Ke();Ke();Ke();var o5=et(ni());var iF=G.makeIdent(null,"node-gyp"),y1t=/\b(node-gyp|prebuild-install)\b/,Qv=class{supportsDescriptor(e,r){return e.range.startsWith(Zn)?!!Ur.validRange(e.range.slice(Zn.length)):!1}supportsLocator(e,r){if(!e.reference.startsWith(Zn))return!1;let{selector:o}=G.parseRange(e.reference);return!!o5.default.valid(o)}shouldPersistResolution(e,r){return!0}bindDescriptor(e,r,o){return e}getResolutionDependencies(e,r){return{}}async getCandidates(e,r,o){let a=Ur.validRange(e.range.slice(Zn.length));if(a===null)throw new Error(`Expected a valid range, got ${e.range.slice(Zn.length)}`);let n=await LC(e,{cache:o.fetchOptions?.cache,project:o.project,version:o5.default.valid(a.raw)?a.raw:void 0}),u=qe.mapAndFilter(Object.keys(n.versions),h=>{try{let E=new Ur.SemVer(h);if(a.test(E))return E}catch{}return qe.mapAndFilter.skip}),A=u.filter(h=>!n.versions[h.raw].deprecated),p=A.length>0?A:u;return p.sort((h,E)=>-h.compare(E)),p.map(h=>{let E=G.makeLocator(e,`${Zn}${h.raw}`),w=n.versions[h.raw].dist.tarball;return rp.isConventionalTarballUrl(E,w,{configuration:o.project.configuration})?E:G.bindLocator(E,{__archiveUrl:w})})}async getSatisfying(e,r,o,a){let n=Ur.validRange(e.range.slice(Zn.length));if(n===null)throw new Error(`Expected a valid range, got ${e.range.slice(Zn.length)}`);return{locators:qe.mapAndFilter(o,p=>{if(p.identHash!==e.identHash)return qe.mapAndFilter.skip;let h=G.tryParseRange(p.reference,{requireProtocol:Zn});if(!h)return qe.mapAndFilter.skip;let E=new Ur.SemVer(h.selector);return n.test(E)?{locator:p,version:E}:qe.mapAndFilter.skip}).sort((p,h)=>-p.version.compare(h.version)).map(({locator:p})=>p),sorted:!0}}async resolve(e,r){let{selector:o}=G.parseRange(e.reference),a=Ur.clean(o);if(a===null)throw new Jt(10,"The npm semver resolver got selected, but the version isn't semver");let n=await LC(e,{cache:r.fetchOptions?.cache,project:r.project,version:a});if(!Object.hasOwn(n,"versions"))throw new Jt(15,'Registry returned invalid data for - missing "versions" field');if(!Object.hasOwn(n.versions,a))throw new Jt(16,`Registry failed to return reference "${a}"`);let u=new _t;if(u.load(n.versions[a]),!u.dependencies.has(iF.identHash)&&!u.peerDependencies.has(iF.identHash)){for(let A of u.scripts.values())if(A.match(y1t)){u.dependencies.set(iF.identHash,G.makeDescriptor(iF,"latest"));break}}return{...e,version:a,languageName:"node",linkType:"HARD",conditions:u.getConditions(),dependencies:r.project.configuration.normalizeDependencyMap(u.dependencies),peerDependencies:u.peerDependencies,dependenciesMeta:u.dependenciesMeta,peerDependenciesMeta:u.peerDependenciesMeta,bin:u.bin}}};Ke();Ke();var l2e=et(ni());var Fv=class{supportsDescriptor(e,r){return!(!e.range.startsWith(Zn)||!xy.test(e.range.slice(Zn.length)))}supportsLocator(e,r){return!1}shouldPersistResolution(e,r){throw new Error("Unreachable")}bindDescriptor(e,r,o){return e}getResolutionDependencies(e,r){return{}}async getCandidates(e,r,o){let a=e.range.slice(Zn.length),n=await LC(e,{cache:o.fetchOptions?.cache,project:o.project});if(!Object.hasOwn(n,"dist-tags"))throw new Jt(15,'Registry returned invalid data - missing "dist-tags" field');let u=n["dist-tags"];if(!Object.hasOwn(u,a))throw new Jt(16,`Registry failed to return tag "${a}"`);let A=u[a],p=G.makeLocator(e,`${Zn}${A}`),h=n.versions[A].dist.tarball;return rp.isConventionalTarballUrl(p,h,{configuration:o.project.configuration})?[p]:[G.bindLocator(p,{__archiveUrl:h})]}async getSatisfying(e,r,o,a){let n=[];for(let u of o){if(u.identHash!==e.identHash)continue;let A=G.tryParseRange(u.reference,{requireProtocol:Zn});if(!(!A||!l2e.default.valid(A.selector))){if(A.params?.__archiveUrl){let p=G.makeRange({protocol:Zn,selector:A.selector,source:null,params:null}),[h]=await a.resolver.getCandidates(G.makeDescriptor(e,p),r,a);if(u.reference!==h.reference)continue}n.push(u)}}return{locators:n,sorted:!1}}async resolve(e,r){throw new Error("Unreachable")}};var VC={};Kt(VC,{getGitHead:()=>dvt,getPublishAccess:()=>XBe,getReadmeContent:()=>ZBe,makePublishBody:()=>gvt});Ke();Ke();Pt();var V5={};Kt(V5,{PackCommand:()=>KC,default:()=>XBt,packUtils:()=>BA});Ke();Ke();Ke();Pt();Gt();var BA={};Kt(BA,{genPackList:()=>SF,genPackStream:()=>K5,genPackageManifest:()=>UBe,hasPackScripts:()=>W5,prepareForPack:()=>Y5});Ke();Pt();var G5=et(Xo()),OBe=et(RBe()),MBe=ve("zlib"),_Bt=["/package.json","/readme","/readme.*","/license","/license.*","/licence","/licence.*","/changelog","/changelog.*"],HBt=["/package.tgz",".github",".git",".hg","node_modules",".npmignore",".gitignore",".#*",".DS_Store"];async function W5(t){return!!(hn.hasWorkspaceScript(t,"prepack")||hn.hasWorkspaceScript(t,"postpack"))}async function Y5(t,{report:e},r){await hn.maybeExecuteWorkspaceLifecycleScript(t,"prepack",{report:e});try{let o=K.join(t.cwd,_t.fileName);await ae.existsPromise(o)&&await t.manifest.loadFile(o,{baseFs:ae}),await r()}finally{await hn.maybeExecuteWorkspaceLifecycleScript(t,"postpack",{report:e})}}async function K5(t,e){typeof e>"u"&&(e=await SF(t));let r=new Set;for(let n of t.manifest.publishConfig?.executableFiles??new Set)r.add(K.normalize(n));for(let n of t.manifest.bin.values())r.add(K.normalize(n));let o=OBe.default.pack();process.nextTick(async()=>{for(let n of e){let u=K.normalize(n),A=K.resolve(t.cwd,u),p=K.join("package",u),h=await ae.lstatPromise(A),E={name:p,mtime:new Date(Pi.SAFE_TIME*1e3)},w=r.has(u)?493:420,D,x,C=new Promise((L,U)=>{D=L,x=U}),T=L=>{L?x(L):D()};if(h.isFile()){let L;u==="package.json"?L=Buffer.from(JSON.stringify(await UBe(t),null,2)):L=await ae.readFilePromise(A),o.entry({...E,mode:w,type:"file"},L,T)}else h.isSymbolicLink()?o.entry({...E,mode:w,type:"symlink",linkname:await ae.readlinkPromise(A)},T):T(new Error(`Unsupported file type ${h.mode} for ${Ae.fromPortablePath(u)}`));await C}o.finalize()});let a=(0,MBe.createGzip)();return o.pipe(a),a}async function UBe(t){let e=JSON.parse(JSON.stringify(t.manifest.raw));return await t.project.configuration.triggerHook(r=>r.beforeWorkspacePacking,t,e),e}async function SF(t){let e=t.project,r=e.configuration,o={accept:[],reject:[]};for(let w of HBt)o.reject.push(w);for(let w of _Bt)o.accept.push(w);o.reject.push(r.get("rcFilename"));let a=w=>{if(w===null||!w.startsWith(`${t.cwd}/`))return;let D=K.relative(t.cwd,w),x=K.resolve(Bt.root,D);o.reject.push(x)};a(K.resolve(e.cwd,mr.lockfile)),a(r.get("cacheFolder")),a(r.get("globalFolder")),a(r.get("installStatePath")),a(r.get("virtualFolder")),a(r.get("yarnPath")),await r.triggerHook(w=>w.populateYarnPaths,e,w=>{a(w)});for(let w of e.workspaces){let D=K.relative(t.cwd,w.cwd);D!==""&&!D.match(/^(\.\.)?\//)&&o.reject.push(`/${D}`)}let n={accept:[],reject:[]},u=t.manifest.publishConfig?.main??t.manifest.main,A=t.manifest.publishConfig?.module??t.manifest.module,p=t.manifest.publishConfig?.browser??t.manifest.browser,h=t.manifest.publishConfig?.bin??t.manifest.bin;u!=null&&n.accept.push(K.resolve(Bt.root,u)),A!=null&&n.accept.push(K.resolve(Bt.root,A)),typeof p=="string"&&n.accept.push(K.resolve(Bt.root,p));for(let w of h.values())n.accept.push(K.resolve(Bt.root,w));if(p instanceof Map)for(let[w,D]of p.entries())n.accept.push(K.resolve(Bt.root,w)),typeof D=="string"&&n.accept.push(K.resolve(Bt.root,D));let E=t.manifest.files!==null;if(E){n.reject.push("/*");for(let w of t.manifest.files)_Be(n.accept,w,{cwd:Bt.root})}return await qBt(t.cwd,{hasExplicitFileList:E,globalList:o,ignoreList:n})}async function qBt(t,{hasExplicitFileList:e,globalList:r,ignoreList:o}){let a=[],n=new Gu(t),u=[[Bt.root,[o]]];for(;u.length>0;){let[A,p]=u.pop(),h=await n.lstatPromise(A);if(!NBe(A,{globalList:r,ignoreLists:h.isDirectory()?null:p}))if(h.isDirectory()){let E=await n.readdirPromise(A),w=!1,D=!1;if(!e||A!==Bt.root)for(let T of E)w=w||T===".gitignore",D=D||T===".npmignore";let x=D?await TBe(n,A,".npmignore"):w?await TBe(n,A,".gitignore"):null,C=x!==null?[x].concat(p):p;NBe(A,{globalList:r,ignoreLists:p})&&(C=[...p,{accept:[],reject:["**/*"]}]);for(let T of E)u.push([K.resolve(A,T),C])}else(h.isFile()||h.isSymbolicLink())&&a.push(K.relative(Bt.root,A))}return a.sort()}async function TBe(t,e,r){let o={accept:[],reject:[]},a=await t.readFilePromise(K.join(e,r),"utf8");for(let n of a.split(/\n/g))_Be(o.reject,n,{cwd:e});return o}function jBt(t,{cwd:e}){let r=t[0]==="!";return r&&(t=t.slice(1)),t.match(/\.{0,1}\//)&&(t=K.resolve(e,t)),r&&(t=`!${t}`),t}function _Be(t,e,{cwd:r}){let o=e.trim();o===""||o[0]==="#"||t.push(jBt(o,{cwd:r}))}function NBe(t,{globalList:e,ignoreLists:r}){let o=PF(t,e.accept);if(o!==0)return o===2;let a=PF(t,e.reject);if(a!==0)return a===1;if(r!==null)for(let n of r){let u=PF(t,n.accept);if(u!==0)return u===2;let A=PF(t,n.reject);if(A!==0)return A===1}return!1}function PF(t,e){let r=e,o=[];for(let a=0;a<e.length;++a)e[a][0]!=="!"?r!==e&&r.push(e[a]):(r===e&&(r=e.slice(0,a)),o.push(e[a].slice(1)));return LBe(t,o)?2:LBe(t,r)?1:0}function LBe(t,e){let r=e,o=[];for(let a=0;a<e.length;++a)e[a].includes("/")?r!==e&&r.push(e[a]):(r===e&&(r=e.slice(0,a)),o.push(e[a]));return!!(G5.default.isMatch(t,r,{dot:!0,nocase:!0})||G5.default.isMatch(t,o,{dot:!0,basename:!0,nocase:!0}))}var KC=class extends ut{constructor(){super(...arguments);this.installIfNeeded=de.Boolean("--install-if-needed",!1,{description:"Run a preliminary `yarn install` if the package contains build scripts"});this.dryRun=de.Boolean("-n,--dry-run",!1,{description:"Print the file paths without actually generating the package archive"});this.json=de.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"});this.out=de.String("-o,--out",{description:"Create the archive at the specified path"});this.filename=de.String("--filename",{hidden:!0})}static{this.paths=[["pack"]]}static{this.usage=ot.Usage({description:"generate a tarball from the active workspace",details:"\n This command will turn the active workspace into a compressed archive suitable for publishing. The archive will by default be stored at the root of the workspace (`package.tgz`).\n\n If the `-o,---out` is set the archive will be created at the specified path. The `%s` and `%v` variables can be used within the path and will be respectively replaced by the package name and version.\n ",examples:[["Create an archive from the active workspace","yarn pack"],["List the files that would be made part of the workspace's archive","yarn pack --dry-run"],["Name and output the archive in a dedicated folder","yarn pack --out /artifacts/%s-%v.tgz"]]})}async execute(){let r=await ze.find(this.context.cwd,this.context.plugins),{project:o,workspace:a}=await Qt.find(r,this.context.cwd);if(!a)throw new or(o.cwd,this.context.cwd);await W5(a)&&(this.installIfNeeded?await o.install({cache:await Wr.find(r),report:new Ri}):await o.restoreInstallState());let n=this.out??this.filename,u=typeof n<"u"?K.resolve(this.context.cwd,GBt(n,{workspace:a})):K.resolve(a.cwd,"package.tgz");return(await Nt.start({configuration:r,stdout:this.context.stdout,json:this.json},async p=>{await Y5(a,{report:p},async()=>{p.reportJson({base:Ae.fromPortablePath(a.cwd)});let h=await SF(a);for(let E of h)p.reportInfo(null,Ae.fromPortablePath(E)),p.reportJson({location:Ae.fromPortablePath(E)});if(!this.dryRun){let E=await K5(a,h),w=ae.createWriteStream(u);E.pipe(w),await new Promise(D=>{w.on("finish",D)})}}),this.dryRun||(p.reportInfo(0,`Package archive generated in ${pe.pretty(r,u,pe.Type.PATH)}`),p.reportJson({output:Ae.fromPortablePath(u)}))})).exitCode()}};function GBt(t,{workspace:e}){let r=t.replace("%s",WBt(e)).replace("%v",YBt(e));return Ae.toPortablePath(r)}function WBt(t){return t.manifest.name!==null?G.slugifyIdent(t.manifest.name):"package"}function YBt(t){return t.manifest.version!==null?t.manifest.version:"unknown"}var KBt=["dependencies","devDependencies","peerDependencies"],VBt="workspace:",JBt=(t,e)=>{e.publishConfig&&(e.publishConfig.type&&(e.type=e.publishConfig.type),e.publishConfig.main&&(e.main=e.publishConfig.main),e.publishConfig.browser&&(e.browser=e.publishConfig.browser),e.publishConfig.module&&(e.module=e.publishConfig.module),e.publishConfig.exports&&(e.exports=e.publishConfig.exports),e.publishConfig.imports&&(e.imports=e.publishConfig.imports),e.publishConfig.bin&&(e.bin=e.publishConfig.bin));let r=t.project;for(let o of KBt)for(let a of t.manifest.getForScope(o).values()){let n=r.tryWorkspaceByDescriptor(a),u=G.parseRange(a.range);if(u.protocol===VBt)if(n===null){if(r.tryWorkspaceByIdent(a)===null)throw new Jt(21,`${G.prettyDescriptor(r.configuration,a)}: No local workspace found for this range`)}else{let A;G.areDescriptorsEqual(a,n.anchoredDescriptor)||u.selector==="*"?A=n.manifest.version??"0.0.0":u.selector==="~"||u.selector==="^"?A=`${u.selector}${n.manifest.version??"0.0.0"}`:A=u.selector;let p=o==="dependencies"?G.makeDescriptor(a,"unknown"):null,h=p!==null&&t.manifest.ensureDependencyMeta(p).optional?"optionalDependencies":o;e[h][G.stringifyIdent(a)]=A}}},zBt={hooks:{beforeWorkspacePacking:JBt},commands:[KC]},XBt=zBt;var JBe=ve("crypto"),zBe=et(VBe());async function gvt(t,e,{access:r,tag:o,registry:a,gitHead:n}){let u=t.manifest.name,A=t.manifest.version,p=G.stringifyIdent(u),h=(0,JBe.createHash)("sha1").update(e).digest("hex"),E=zBe.default.fromData(e).toString(),w=r??XBe(t,u),D=await ZBe(t),x=await BA.genPackageManifest(t),C=`${p}-${A}.tgz`,T=new URL(`${uc(a)}/${p}/-/${C}`);return{_id:p,_attachments:{[C]:{content_type:"application/octet-stream",data:e.toString("base64"),length:e.length}},name:p,access:w,"dist-tags":{[o]:A},versions:{[A]:{...x,_id:`${p}@${A}`,name:p,version:A,gitHead:n,dist:{shasum:h,integrity:E,tarball:T.toString()}}},readme:D}}async function dvt(t){try{let{stdout:e}=await Hr.execvp("git",["rev-parse","--revs-only","HEAD"],{cwd:t});return e.trim()===""?void 0:e.trim()}catch{return}}function XBe(t,e){let r=t.project.configuration;return t.manifest.publishConfig&&typeof t.manifest.publishConfig.access=="string"?t.manifest.publishConfig.access:r.get("npmPublishAccess")!==null?r.get("npmPublishAccess"):e.scope?"restricted":"public"}async function ZBe(t){let e=Ae.toPortablePath(`${t.cwd}/README.md`),r=t.manifest.name,a=`# ${G.stringifyIdent(r)} +`;try{a=await ae.readFilePromise(e,"utf8")}catch(n){if(n.code==="ENOENT")return a;throw n}return a}var Z5={npmAlwaysAuth:{description:"URL of the selected npm registry (note: npm enterprise isn't supported)",type:"BOOLEAN",default:!1},npmAuthIdent:{description:"Authentication identity for the npm registry (_auth in npm and yarn v1)",type:"SECRET",default:null},npmAuthToken:{description:"Authentication token for the npm registry (_authToken in npm and yarn v1)",type:"SECRET",default:null}},$Be={npmAuditRegistry:{description:"Registry to query for audit reports",type:"STRING",default:null},npmPublishRegistry:{description:"Registry to push packages to",type:"STRING",default:null},npmRegistryServer:{description:"URL of the selected npm registry (note: npm enterprise isn't supported)",type:"STRING",default:"https://registry.yarnpkg.com"}},mvt={configuration:{...Z5,...$Be,npmScopes:{description:"Settings per package scope",type:"MAP",valueDefinition:{description:"",type:"SHAPE",properties:{...Z5,...$Be}}},npmRegistries:{description:"Settings per registry",type:"MAP",normalizeKeys:uc,valueDefinition:{description:"",type:"SHAPE",properties:{...Z5}}}},fetchers:[xv,rp],resolvers:[kv,Qv,Fv]},yvt=mvt;var lG={};Kt(lG,{NpmAuditCommand:()=>zC,NpmInfoCommand:()=>XC,NpmLoginCommand:()=>ZC,NpmLogoutCommand:()=>eI,NpmPublishCommand:()=>tI,NpmTagAddCommand:()=>nI,NpmTagListCommand:()=>rI,NpmTagRemoveCommand:()=>iI,NpmWhoamiCommand:()=>sI,default:()=>Dvt,npmAuditTypes:()=>Xv,npmAuditUtils:()=>bF});Ke();Ke();Gt();var iG=et(Xo());il();var Xv={};Kt(Xv,{Environment:()=>Jv,Severity:()=>zv});var Jv=(o=>(o.All="all",o.Production="production",o.Development="development",o))(Jv||{}),zv=(n=>(n.Info="info",n.Low="low",n.Moderate="moderate",n.High="high",n.Critical="critical",n))(zv||{});var bF={};Kt(bF,{allSeverities:()=>JC,getPackages:()=>nG,getReportTree:()=>tG,getSeverityInclusions:()=>eG,getTopLevelDependencies:()=>rG});Ke();var eve=et(ni());var JC=["info","low","moderate","high","critical"];function eG(t){if(typeof t>"u")return new Set(JC);let e=JC.indexOf(t),r=JC.slice(e);return new Set(r)}function tG(t){let e={},r={children:e};for(let[o,a]of qe.sortMap(Object.entries(t),n=>n[0]))for(let n of qe.sortMap(a,u=>`${u.id}`))e[`${o}/${n.id}`]={value:pe.tuple(pe.Type.IDENT,G.parseIdent(o)),children:{ID:typeof n.id<"u"&&{label:"ID",value:pe.tuple(pe.Type.ID,n.id)},Issue:{label:"Issue",value:pe.tuple(pe.Type.NO_HINT,n.title)},URL:typeof n.url<"u"&&{label:"URL",value:pe.tuple(pe.Type.URL,n.url)},Severity:{label:"Severity",value:pe.tuple(pe.Type.NO_HINT,n.severity)},"Vulnerable Versions":{label:"Vulnerable Versions",value:pe.tuple(pe.Type.RANGE,n.vulnerable_versions)},"Tree Versions":{label:"Tree Versions",children:[...n.versions].sort(eve.default.compare).map(u=>({value:pe.tuple(pe.Type.REFERENCE,u)}))},Dependents:{label:"Dependents",children:qe.sortMap(n.dependents,u=>G.stringifyLocator(u)).map(u=>({value:pe.tuple(pe.Type.LOCATOR,u)}))}}};return r}function rG(t,e,{all:r,environment:o}){let a=[],n=r?t.workspaces:[e],u=["all","production"].includes(o),A=["all","development"].includes(o);for(let p of n)for(let h of p.anchoredPackage.dependencies.values())(p.manifest.devDependencies.has(h.identHash)?!A:!u)||a.push({workspace:p,dependency:h});return a}function nG(t,e,{recursive:r}){let o=new Map,a=new Set,n=[],u=(A,p)=>{let h=t.storedResolutions.get(p.descriptorHash);if(typeof h>"u")throw new Error("Assertion failed: The resolution should have been registered");if(!a.has(h))a.add(h);else return;let E=t.storedPackages.get(h);if(typeof E>"u")throw new Error("Assertion failed: The package should have been registered");if(G.ensureDevirtualizedLocator(E).reference.startsWith("npm:")&&E.version!==null){let D=G.stringifyIdent(E),x=qe.getMapWithDefault(o,D);qe.getArrayWithDefault(x,E.version).push(A)}if(r)for(let D of E.dependencies.values())n.push([E,D])};for(let{workspace:A,dependency:p}of e)n.push([A.anchoredLocator,p]);for(;n.length>0;){let[A,p]=n.shift();u(A,p)}return o}var zC=class extends ut{constructor(){super(...arguments);this.all=de.Boolean("-A,--all",!1,{description:"Audit dependencies from all workspaces"});this.recursive=de.Boolean("-R,--recursive",!1,{description:"Audit transitive dependencies as well"});this.environment=de.String("--environment","all",{description:"Which environments to cover",validator:js(Jv)});this.json=de.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"});this.noDeprecations=de.Boolean("--no-deprecations",!1,{description:"Don't warn about deprecated packages"});this.severity=de.String("--severity","info",{description:"Minimal severity requested for packages to be displayed",validator:js(zv)});this.excludes=de.Array("--exclude",[],{description:"Array of glob patterns of packages to exclude from audit"});this.ignores=de.Array("--ignore",[],{description:"Array of glob patterns of advisory ID's to ignore in the audit report"})}static{this.paths=[["npm","audit"]]}static{this.usage=ot.Usage({description:"perform a vulnerability audit against the installed packages",details:` + This command checks for known security reports on the packages you use. The reports are by default extracted from the npm registry, and may or may not be relevant to your actual program (not all vulnerabilities affect all code paths). + + For consistency with our other commands the default is to only check the direct dependencies for the active workspace. To extend this search to all workspaces, use \`-A,--all\`. To extend this search to both direct and transitive dependencies, use \`-R,--recursive\`. + + Applying the \`--severity\` flag will limit the audit table to vulnerabilities of the corresponding severity and above. Valid values are ${JC.map(r=>`\`${r}\``).join(", ")}. + + If the \`--json\` flag is set, Yarn will print the output exactly as received from the registry. Regardless of this flag, the process will exit with a non-zero exit code if a report is found for the selected packages. + + If certain packages produce false positives for a particular environment, the \`--exclude\` flag can be used to exclude any number of packages from the audit. This can also be set in the configuration file with the \`npmAuditExcludePackages\` option. + + If particular advisories are needed to be ignored, the \`--ignore\` flag can be used with Advisory ID's to ignore any number of advisories in the audit report. This can also be set in the configuration file with the \`npmAuditIgnoreAdvisories\` option. + + To understand the dependency tree requiring vulnerable packages, check the raw report with the \`--json\` flag or use \`yarn why package\` to get more information as to who depends on them. + `,examples:[["Checks for known security issues with the installed packages. The output is a list of known issues.","yarn npm audit"],["Audit dependencies in all workspaces","yarn npm audit --all"],["Limit auditing to `dependencies` (excludes `devDependencies`)","yarn npm audit --environment production"],["Show audit report as valid JSON","yarn npm audit --json"],["Audit all direct and transitive dependencies","yarn npm audit --recursive"],["Output moderate (or more severe) vulnerabilities","yarn npm audit --severity moderate"],["Exclude certain packages","yarn npm audit --exclude package1 --exclude package2"],["Ignore specific advisories","yarn npm audit --ignore 1234567 --ignore 7654321"]]})}async execute(){let r=await ze.find(this.context.cwd,this.context.plugins),{project:o,workspace:a}=await Qt.find(r,this.context.cwd);if(!a)throw new or(o.cwd,this.context.cwd);await o.restoreInstallState();let n=rG(o,a,{all:this.all,environment:this.environment}),u=nG(o,n,{recursive:this.recursive}),A=Array.from(new Set([...r.get("npmAuditExcludePackages"),...this.excludes])),p=Object.create(null);for(let[L,U]of u)A.some(J=>iG.default.isMatch(L,J))||(p[L]=[...U.keys()]);let h=si.getAuditRegistry({configuration:r}),E,w=await pA.start({configuration:r,stdout:this.context.stdout},async()=>{let L=en.post("/-/npm/v1/security/advisories/bulk",p,{authType:en.AuthType.BEST_EFFORT,configuration:r,jsonResponse:!0,registry:h}),U=this.noDeprecations?[]:await Promise.all(Array.from(Object.entries(p),async([te,le])=>{let ce=await en.getPackageMetadata(G.parseIdent(te),{project:o});return qe.mapAndFilter(le,ue=>{let{deprecated:Ie}=ce.versions[ue];return Ie?[te,ue,Ie]:qe.mapAndFilter.skip})})),J=await L;for(let[te,le,ce]of U.flat(1))Object.hasOwn(J,te)&&J[te].some(ue=>Ur.satisfiesWithPrereleases(le,ue.vulnerable_versions))||(J[te]??=[],J[te].push({id:`${te} (deprecation)`,title:ce.trim()||"This package has been deprecated.",severity:"moderate",vulnerable_versions:le}));E=J});if(w.hasErrors())return w.exitCode();let D=eG(this.severity),x=Array.from(new Set([...r.get("npmAuditIgnoreAdvisories"),...this.ignores])),C=Object.create(null);for(let[L,U]of Object.entries(E)){let J=U.filter(te=>!iG.default.isMatch(`${te.id}`,x)&&D.has(te.severity));J.length>0&&(C[L]=J.map(te=>{let le=u.get(L);if(typeof le>"u")throw new Error("Assertion failed: Expected the registry to only return packages that were requested");let ce=[...le.keys()].filter(Ie=>Ur.satisfiesWithPrereleases(Ie,te.vulnerable_versions)),ue=new Map;for(let Ie of ce)for(let he of le.get(Ie))ue.set(he.locatorHash,he);return{...te,versions:ce,dependents:[...ue.values()]}}))}let T=Object.keys(C).length>0;return T?(As.emitTree(tG(C),{configuration:r,json:this.json,stdout:this.context.stdout,separators:2}),1):(await Nt.start({configuration:r,includeFooter:!1,json:this.json,stdout:this.context.stdout},async L=>{L.reportInfo(1,"No audit suggestions")}),T?1:0)}};Ke();Ke();Pt();Gt();var sG=et(ni()),oG=ve("util"),XC=class extends ut{constructor(){super(...arguments);this.fields=de.String("-f,--fields",{description:"A comma-separated list of manifest fields that should be displayed"});this.json=de.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"});this.packages=de.Rest()}static{this.paths=[["npm","info"]]}static{this.usage=ot.Usage({category:"Npm-related commands",description:"show information about a package",details:"\n This command fetches information about a package from the npm registry and prints it in a tree format.\n\n The package does not have to be installed locally, but needs to have been published (in particular, local changes will be ignored even for workspaces).\n\n Append `@<range>` to the package argument to provide information specific to the latest version that satisfies the range or to the corresponding tagged version. If the range is invalid or if there is no version satisfying the range, the command will print a warning and fall back to the latest version.\n\n If the `-f,--fields` option is set, it's a comma-separated list of fields which will be used to only display part of the package information.\n\n By default, this command won't return the `dist`, `readme`, and `users` fields, since they are often very long. To explicitly request those fields, explicitly list them with the `--fields` flag or request the output in JSON mode.\n ",examples:[["Show all available information about react (except the `dist`, `readme`, and `users` fields)","yarn npm info react"],["Show all available information about react as valid JSON (including the `dist`, `readme`, and `users` fields)","yarn npm info react --json"],["Show all available information about react@16.12.0","yarn npm info react@16.12.0"],["Show all available information about react@next","yarn npm info react@next"],["Show the description of react","yarn npm info react --fields description"],["Show all available versions of react","yarn npm info react --fields versions"],["Show the readme of react","yarn npm info react --fields readme"],["Show a few fields of react","yarn npm info react --fields homepage,repository"]]})}async execute(){let r=await ze.find(this.context.cwd,this.context.plugins),{project:o}=await Qt.find(r,this.context.cwd),a=typeof this.fields<"u"?new Set(["name",...this.fields.split(/\s*,\s*/)]):null,n=[],u=!1,A=await Nt.start({configuration:r,includeFooter:!1,json:this.json,stdout:this.context.stdout},async p=>{for(let h of this.packages){let E;if(h==="."){let le=o.topLevelWorkspace;if(!le.manifest.name)throw new it(`Missing ${pe.pretty(r,"name",pe.Type.CODE)} field in ${Ae.fromPortablePath(K.join(le.cwd,mr.manifest))}`);E=G.makeDescriptor(le.manifest.name,"unknown")}else E=G.parseDescriptor(h);let w=en.getIdentUrl(E),D=aG(await en.get(w,{configuration:r,ident:E,jsonResponse:!0,customErrorMessage:en.customPackageError})),x=Object.keys(D.versions).sort(sG.default.compareLoose),T=D["dist-tags"].latest||x[x.length-1],L=Ur.validRange(E.range);if(L){let le=sG.default.maxSatisfying(x,L);le!==null?T=le:(p.reportWarning(0,`Unmet range ${G.prettyRange(r,E.range)}; falling back to the latest version`),u=!0)}else Object.hasOwn(D["dist-tags"],E.range)?T=D["dist-tags"][E.range]:E.range!=="unknown"&&(p.reportWarning(0,`Unknown tag ${G.prettyRange(r,E.range)}; falling back to the latest version`),u=!0);let U=D.versions[T],J={...D,...U,version:T,versions:x},te;if(a!==null){te={};for(let le of a){let ce=J[le];if(typeof ce<"u")te[le]=ce;else{p.reportWarning(1,`The ${pe.pretty(r,le,pe.Type.CODE)} field doesn't exist inside ${G.prettyIdent(r,E)}'s information`),u=!0;continue}}}else this.json||(delete J.dist,delete J.readme,delete J.users),te=J;p.reportJson(te),this.json||n.push(te)}});oG.inspect.styles.name="cyan";for(let p of n)(p!==n[0]||u)&&this.context.stdout.write(` +`),this.context.stdout.write(`${(0,oG.inspect)(p,{depth:1/0,colors:!0,compact:!1})} +`);return A.exitCode()}};function aG(t){if(Array.isArray(t)){let e=[];for(let r of t)r=aG(r),r&&e.push(r);return e}else if(typeof t=="object"&&t!==null){let e={};for(let r of Object.keys(t)){if(r.startsWith("_"))continue;let o=aG(t[r]);o&&(e[r]=o)}return e}else return t||null}Ke();Ke();Gt();var tve=et(Q2()),ZC=class extends ut{constructor(){super(...arguments);this.scope=de.String("-s,--scope",{description:"Login to the registry configured for a given scope"});this.publish=de.Boolean("--publish",!1,{description:"Login to the publish registry"});this.alwaysAuth=de.Boolean("--always-auth",{description:"Set the npmAlwaysAuth configuration"})}static{this.paths=[["npm","login"]]}static{this.usage=ot.Usage({category:"Npm-related commands",description:"store new login info to access the npm registry",details:"\n This command will ask you for your username, password, and 2FA One-Time-Password (when it applies). It will then modify your local configuration (in your home folder, never in the project itself) to reference the new tokens thus generated.\n\n Adding the `-s,--scope` flag will cause the authentication to be done against whatever registry is configured for the associated scope (see also `npmScopes`).\n\n Adding the `--publish` flag will cause the authentication to be done against the registry used when publishing the package (see also `publishConfig.registry` and `npmPublishRegistry`).\n ",examples:[["Login to the default registry","yarn npm login"],["Login to the registry linked to the @my-scope registry","yarn npm login --scope my-scope"],["Login to the publish registry for the current package","yarn npm login --publish"]]})}async execute(){let r=await ze.find(this.context.cwd,this.context.plugins),o=await xF({configuration:r,cwd:this.context.cwd,publish:this.publish,scope:this.scope});return(await Nt.start({configuration:r,stdout:this.context.stdout,includeFooter:!1},async n=>{let u=await Ivt({configuration:r,registry:o,report:n,stdin:this.context.stdin,stdout:this.context.stdout}),A=await Evt(o,u,r);return await Cvt(o,A,{alwaysAuth:this.alwaysAuth,scope:this.scope}),n.reportInfo(0,"Successfully logged in")})).exitCode()}};async function xF({scope:t,publish:e,configuration:r,cwd:o}){return t&&e?si.getScopeRegistry(t,{configuration:r,type:si.RegistryType.PUBLISH_REGISTRY}):t?si.getScopeRegistry(t,{configuration:r}):e?si.getPublishRegistry((await aE(r,o)).manifest,{configuration:r}):si.getDefaultRegistry({configuration:r})}async function Evt(t,e,r){let o=`/-/user/org.couchdb.user:${encodeURIComponent(e.name)}`,a={_id:`org.couchdb.user:${e.name}`,name:e.name,password:e.password,type:"user",roles:[],date:new Date().toISOString()},n={attemptedAs:e.name,configuration:r,registry:t,jsonResponse:!0,authType:en.AuthType.NO_AUTH};try{return(await en.put(o,a,n)).token}catch(E){if(!(E.originalError?.name==="HTTPError"&&E.originalError?.response.statusCode===409))throw E}let u={...n,authType:en.AuthType.NO_AUTH,headers:{authorization:`Basic ${Buffer.from(`${e.name}:${e.password}`).toString("base64")}`}},A=await en.get(o,u);for(let[E,w]of Object.entries(A))(!a[E]||E==="roles")&&(a[E]=w);let p=`${o}/-rev/${a._rev}`;return(await en.put(p,a,u)).token}async function Cvt(t,e,{alwaysAuth:r,scope:o}){let a=u=>A=>{let p=qe.isIndexableObject(A)?A:{},h=p[u],E=qe.isIndexableObject(h)?h:{};return{...p,[u]:{...E,...r!==void 0?{npmAlwaysAuth:r}:{},npmAuthToken:e}}},n=o?{npmScopes:a(o)}:{npmRegistries:a(t)};return await ze.updateHomeConfiguration(n)}async function Ivt({configuration:t,registry:e,report:r,stdin:o,stdout:a}){r.reportInfo(0,`Logging in to ${pe.pretty(t,e,pe.Type.URL)}`);let n=!1;if(e.match(/^https:\/\/npm\.pkg\.github\.com(\/|$)/)&&(r.reportInfo(0,"You seem to be using the GitHub Package Registry. Tokens must be generated with the 'repo', 'write:packages', and 'read:packages' permissions."),n=!0),r.reportSeparator(),t.env.YARN_IS_TEST_ENV)return{name:t.env.YARN_INJECT_NPM_USER||"",password:t.env.YARN_INJECT_NPM_PASSWORD||""};let u=await(0,tve.prompt)([{type:"input",name:"name",message:"Username:",required:!0,onCancel:()=>process.exit(130),stdin:o,stdout:a},{type:"password",name:"password",message:n?"Token:":"Password:",required:!0,onCancel:()=>process.exit(130),stdin:o,stdout:a}]);return r.reportSeparator(),u}Ke();Ke();Gt();var $C=new Set(["npmAuthIdent","npmAuthToken"]),eI=class extends ut{constructor(){super(...arguments);this.scope=de.String("-s,--scope",{description:"Logout of the registry configured for a given scope"});this.publish=de.Boolean("--publish",!1,{description:"Logout of the publish registry"});this.all=de.Boolean("-A,--all",!1,{description:"Logout of all registries"})}static{this.paths=[["npm","logout"]]}static{this.usage=ot.Usage({category:"Npm-related commands",description:"logout of the npm registry",details:"\n This command will log you out by modifying your local configuration (in your home folder, never in the project itself) to delete all credentials linked to a registry.\n\n Adding the `-s,--scope` flag will cause the deletion to be done against whatever registry is configured for the associated scope (see also `npmScopes`).\n\n Adding the `--publish` flag will cause the deletion to be done against the registry used when publishing the package (see also `publishConfig.registry` and `npmPublishRegistry`).\n\n Adding the `-A,--all` flag will cause the deletion to be done against all registries and scopes.\n ",examples:[["Logout of the default registry","yarn npm logout"],["Logout of the @my-scope scope","yarn npm logout --scope my-scope"],["Logout of the publish registry for the current package","yarn npm logout --publish"],["Logout of all registries","yarn npm logout --all"]]})}async execute(){let r=await ze.find(this.context.cwd,this.context.plugins),o=async()=>{let n=await xF({configuration:r,cwd:this.context.cwd,publish:this.publish,scope:this.scope}),u=await ze.find(this.context.cwd,this.context.plugins),A=G.makeIdent(this.scope??null,"pkg");return!si.getAuthConfiguration(n,{configuration:u,ident:A}).get("npmAuthToken")};return(await Nt.start({configuration:r,stdout:this.context.stdout},async n=>{if(this.all&&(await Bvt(),n.reportInfo(0,"Successfully logged out from everything")),this.scope){await rve("npmScopes",this.scope),await o()?n.reportInfo(0,`Successfully logged out from ${this.scope}`):n.reportWarning(0,"Scope authentication settings removed, but some other ones settings still apply to it");return}let u=await xF({configuration:r,cwd:this.context.cwd,publish:this.publish});await rve("npmRegistries",u),await o()?n.reportInfo(0,`Successfully logged out from ${u}`):n.reportWarning(0,"Registry authentication settings removed, but some other ones settings still apply to it")})).exitCode()}};function wvt(t,e){let r=t[e];if(!qe.isIndexableObject(r))return!1;let o=new Set(Object.keys(r));if([...$C].every(n=>!o.has(n)))return!1;for(let n of $C)o.delete(n);if(o.size===0)return t[e]=void 0,!0;let a={...r};for(let n of $C)delete a[n];return t[e]=a,!0}async function Bvt(){let t=e=>{let r=!1,o=qe.isIndexableObject(e)?{...e}:{};o.npmAuthToken&&(delete o.npmAuthToken,r=!0);for(let a of Object.keys(o))wvt(o,a)&&(r=!0);if(Object.keys(o).length!==0)return r?o:e};return await ze.updateHomeConfiguration({npmRegistries:t,npmScopes:t})}async function rve(t,e){return await ze.updateHomeConfiguration({[t]:r=>{let o=qe.isIndexableObject(r)?r:{};if(!Object.hasOwn(o,e))return r;let a=o[e],n=qe.isIndexableObject(a)?a:{},u=new Set(Object.keys(n));if([...$C].every(p=>!u.has(p)))return r;for(let p of $C)u.delete(p);if(u.size===0)return Object.keys(o).length===1?void 0:{...o,[e]:void 0};let A={};for(let p of $C)A[p]=void 0;return{...o,[e]:{...n,...A}}}})}Ke();Gt();var tI=class extends ut{constructor(){super(...arguments);this.access=de.String("--access",{description:"The access for the published package (public or restricted)"});this.tag=de.String("--tag","latest",{description:"The tag on the registry that the package should be attached to"});this.tolerateRepublish=de.Boolean("--tolerate-republish",!1,{description:"Warn and exit when republishing an already existing version of a package"});this.otp=de.String("--otp",{description:"The OTP token to use with the command"})}static{this.paths=[["npm","publish"]]}static{this.usage=ot.Usage({category:"Npm-related commands",description:"publish the active workspace to the npm registry",details:'\n This command will pack the active workspace into a fresh archive and upload it to the npm registry.\n\n The package will by default be attached to the `latest` tag on the registry, but this behavior can be overridden by using the `--tag` option.\n\n Note that for legacy reasons scoped packages are by default published with an access set to `restricted` (aka "private packages"). This requires you to register for a paid npm plan. In case you simply wish to publish a public scoped package to the registry (for free), just add the `--access public` flag. This behavior can be enabled by default through the `npmPublishAccess` settings.\n ',examples:[["Publish the active workspace","yarn npm publish"]]})}async execute(){let r=await ze.find(this.context.cwd,this.context.plugins),{project:o,workspace:a}=await Qt.find(r,this.context.cwd);if(!a)throw new or(o.cwd,this.context.cwd);if(a.manifest.private)throw new it("Private workspaces cannot be published");if(a.manifest.name===null||a.manifest.version===null)throw new it("Workspaces must have valid names and versions to be published on an external registry");await o.restoreInstallState();let n=a.manifest.name,u=a.manifest.version,A=si.getPublishRegistry(a.manifest,{configuration:r});return(await Nt.start({configuration:r,stdout:this.context.stdout},async h=>{if(this.tolerateRepublish)try{let E=await en.get(en.getIdentUrl(n),{configuration:r,registry:A,ident:n,jsonResponse:!0});if(!Object.hasOwn(E,"versions"))throw new Jt(15,'Registry returned invalid data for - missing "versions" field');if(Object.hasOwn(E.versions,u)){h.reportWarning(0,`Registry already knows about version ${u}; skipping.`);return}}catch(E){if(E.originalError?.response?.statusCode!==404)throw E}await hn.maybeExecuteWorkspaceLifecycleScript(a,"prepublish",{report:h}),await BA.prepareForPack(a,{report:h},async()=>{let E=await BA.genPackList(a);for(let T of E)h.reportInfo(null,T);let w=await BA.genPackStream(a,E),D=await qe.bufferStream(w),x=await VC.getGitHead(a.cwd),C=await VC.makePublishBody(a,D,{access:this.access,tag:this.tag,registry:A,gitHead:x});await en.put(en.getIdentUrl(n),C,{configuration:r,registry:A,ident:n,otp:this.otp,jsonResponse:!0})}),h.reportInfo(0,"Package archive published")})).exitCode()}};Ke();Gt();var nve=et(ni());Ke();Pt();Gt();var rI=class extends ut{constructor(){super(...arguments);this.json=de.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"});this.package=de.String({required:!1})}static{this.paths=[["npm","tag","list"]]}static{this.usage=ot.Usage({category:"Npm-related commands",description:"list all dist-tags of a package",details:` + This command will list all tags of a package from the npm registry. + + If the package is not specified, Yarn will default to the current workspace. + `,examples:[["List all tags of package `my-pkg`","yarn npm tag list my-pkg"]]})}async execute(){let r=await ze.find(this.context.cwd,this.context.plugins),{project:o,workspace:a}=await Qt.find(r,this.context.cwd),n;if(typeof this.package<"u")n=G.parseIdent(this.package);else{if(!a)throw new or(o.cwd,this.context.cwd);if(!a.manifest.name)throw new it(`Missing 'name' field in ${Ae.fromPortablePath(K.join(a.cwd,mr.manifest))}`);n=a.manifest.name}let u=await Zv(n,r),p={children:qe.sortMap(Object.entries(u),([h])=>h).map(([h,E])=>({value:pe.tuple(pe.Type.RESOLUTION,{descriptor:G.makeDescriptor(n,h),locator:G.makeLocator(n,E)})}))};return As.emitTree(p,{configuration:r,json:this.json,stdout:this.context.stdout})}};async function Zv(t,e){let r=`/-/package${en.getIdentUrl(t)}/dist-tags`;return en.get(r,{configuration:e,ident:t,jsonResponse:!0,customErrorMessage:en.customPackageError})}var nI=class extends ut{constructor(){super(...arguments);this.package=de.String();this.tag=de.String()}static{this.paths=[["npm","tag","add"]]}static{this.usage=ot.Usage({category:"Npm-related commands",description:"add a tag for a specific version of a package",details:` + This command will add a tag to the npm registry for a specific version of a package. If the tag already exists, it will be overwritten. + `,examples:[["Add a `beta` tag for version `2.3.4-beta.4` of package `my-pkg`","yarn npm tag add my-pkg@2.3.4-beta.4 beta"]]})}async execute(){let r=await ze.find(this.context.cwd,this.context.plugins),{project:o,workspace:a}=await Qt.find(r,this.context.cwd);if(!a)throw new or(o.cwd,this.context.cwd);let n=G.parseDescriptor(this.package,!0),u=n.range;if(!nve.default.valid(u))throw new it(`The range ${pe.pretty(r,n.range,pe.Type.RANGE)} must be a valid semver version`);let A=si.getPublishRegistry(a.manifest,{configuration:r}),p=pe.pretty(r,n,pe.Type.IDENT),h=pe.pretty(r,u,pe.Type.RANGE),E=pe.pretty(r,this.tag,pe.Type.CODE);return(await Nt.start({configuration:r,stdout:this.context.stdout},async D=>{let x=await Zv(n,r);Object.hasOwn(x,this.tag)&&x[this.tag]===u&&D.reportWarning(0,`Tag ${E} is already set to version ${h}`);let C=`/-/package${en.getIdentUrl(n)}/dist-tags/${encodeURIComponent(this.tag)}`;await en.put(C,u,{configuration:r,registry:A,ident:n,jsonRequest:!0,jsonResponse:!0}),D.reportInfo(0,`Tag ${E} added to version ${h} of package ${p}`)})).exitCode()}};Ke();Gt();var iI=class extends ut{constructor(){super(...arguments);this.package=de.String();this.tag=de.String()}static{this.paths=[["npm","tag","remove"]]}static{this.usage=ot.Usage({category:"Npm-related commands",description:"remove a tag from a package",details:` + This command will remove a tag from a package from the npm registry. + `,examples:[["Remove the `beta` tag from package `my-pkg`","yarn npm tag remove my-pkg beta"]]})}async execute(){if(this.tag==="latest")throw new it("The 'latest' tag cannot be removed.");let r=await ze.find(this.context.cwd,this.context.plugins),{project:o,workspace:a}=await Qt.find(r,this.context.cwd);if(!a)throw new or(o.cwd,this.context.cwd);let n=G.parseIdent(this.package),u=si.getPublishRegistry(a.manifest,{configuration:r}),A=pe.pretty(r,this.tag,pe.Type.CODE),p=pe.pretty(r,n,pe.Type.IDENT),h=await Zv(n,r);if(!Object.hasOwn(h,this.tag))throw new it(`${A} is not a tag of package ${p}`);return(await Nt.start({configuration:r,stdout:this.context.stdout},async w=>{let D=`/-/package${en.getIdentUrl(n)}/dist-tags/${encodeURIComponent(this.tag)}`;await en.del(D,{configuration:r,registry:u,ident:n,jsonResponse:!0}),w.reportInfo(0,`Tag ${A} removed from package ${p}`)})).exitCode()}};Ke();Ke();Gt();var sI=class extends ut{constructor(){super(...arguments);this.scope=de.String("-s,--scope",{description:"Print username for the registry configured for a given scope"});this.publish=de.Boolean("--publish",!1,{description:"Print username for the publish registry"})}static{this.paths=[["npm","whoami"]]}static{this.usage=ot.Usage({category:"Npm-related commands",description:"display the name of the authenticated user",details:"\n Print the username associated with the current authentication settings to the standard output.\n\n When using `-s,--scope`, the username printed will be the one that matches the authentication settings of the registry associated with the given scope (those settings can be overriden using the `npmRegistries` map, and the registry associated with the scope is configured via the `npmScopes` map).\n\n When using `--publish`, the registry we'll select will by default be the one used when publishing packages (`publishConfig.registry` or `npmPublishRegistry` if available, otherwise we'll fallback to the regular `npmRegistryServer`).\n ",examples:[["Print username for the default registry","yarn npm whoami"],["Print username for the registry on a given scope","yarn npm whoami --scope company"]]})}async execute(){let r=await ze.find(this.context.cwd,this.context.plugins),o;return this.scope&&this.publish?o=si.getScopeRegistry(this.scope,{configuration:r,type:si.RegistryType.PUBLISH_REGISTRY}):this.scope?o=si.getScopeRegistry(this.scope,{configuration:r}):this.publish?o=si.getPublishRegistry((await aE(r,this.context.cwd)).manifest,{configuration:r}):o=si.getDefaultRegistry({configuration:r}),(await Nt.start({configuration:r,stdout:this.context.stdout},async n=>{let u;try{u=await en.get("/-/whoami",{configuration:r,registry:o,authType:en.AuthType.ALWAYS_AUTH,jsonResponse:!0,ident:this.scope?G.makeIdent(this.scope,""):void 0})}catch(A){if(A.response?.statusCode===401||A.response?.statusCode===403){n.reportError(41,"Authentication failed - your credentials may have expired");return}else throw A}n.reportInfo(0,u.username)})).exitCode()}};var vvt={configuration:{npmPublishAccess:{description:"Default access of the published packages",type:"STRING",default:null},npmAuditExcludePackages:{description:"Array of glob patterns of packages to exclude from npm audit",type:"STRING",default:[],isArray:!0},npmAuditIgnoreAdvisories:{description:"Array of glob patterns of advisory IDs to exclude from npm audit",type:"STRING",default:[],isArray:!0}},commands:[zC,XC,ZC,eI,tI,nI,rI,iI,sI]},Dvt=vvt;var gG={};Kt(gG,{PatchCommand:()=>AI,PatchCommitCommand:()=>uI,PatchFetcher:()=>nD,PatchResolver:()=>iD,default:()=>jvt,patchUtils:()=>Id});Ke();Ke();Pt();sA();var Id={};Kt(Id,{applyPatchFile:()=>QF,diffFolders:()=>pG,ensureUnpatchedDescriptor:()=>cG,ensureUnpatchedLocator:()=>RF,extractPackageToDisk:()=>fG,extractPatchFlags:()=>uve,isParentRequired:()=>AG,isPatchDescriptor:()=>FF,isPatchLocator:()=>i0,loadPatchFiles:()=>rD,makeDescriptor:()=>TF,makeLocator:()=>uG,makePatchHash:()=>hG,parseDescriptor:()=>eD,parseLocator:()=>tD,parsePatchFile:()=>$v,unpatchDescriptor:()=>_vt,unpatchLocator:()=>Hvt});Ke();Pt();Ke();Pt();var Pvt=/^@@ -(\d+)(,(\d+))? \+(\d+)(,(\d+))? @@.*/;function oI(t){return K.relative(Bt.root,K.resolve(Bt.root,Ae.toPortablePath(t)))}function Svt(t){let e=t.trim().match(Pvt);if(!e)throw new Error(`Bad header line: '${t}'`);return{original:{start:Math.max(Number(e[1]),1),length:Number(e[3]||1)},patched:{start:Math.max(Number(e[4]),1),length:Number(e[6]||1)}}}var bvt=420,xvt=493;var ive=()=>({semverExclusivity:null,diffLineFromPath:null,diffLineToPath:null,oldMode:null,newMode:null,deletedFileMode:null,newFileMode:null,renameFrom:null,renameTo:null,beforeHash:null,afterHash:null,fromPath:null,toPath:null,hunks:null}),kvt=t=>({header:Svt(t),parts:[]}),Qvt={"@":"header","-":"deletion","+":"insertion"," ":"context","\\":"pragma",undefined:"context"};function Fvt(t){let e=[],r=ive(),o="parsing header",a=null,n=null;function u(){a&&(n&&(a.parts.push(n),n=null),r.hunks.push(a),a=null)}function A(){u(),e.push(r),r=ive()}for(let p=0;p<t.length;p++){let h=t[p];if(o==="parsing header")if(h.startsWith("@@"))o="parsing hunks",r.hunks=[],p-=1;else if(h.startsWith("diff --git ")){r&&r.diffLineFromPath&&A();let E=h.match(/^diff --git a\/(.*?) b\/(.*?)\s*$/);if(!E)throw new Error(`Bad diff line: ${h}`);r.diffLineFromPath=E[1],r.diffLineToPath=E[2]}else if(h.startsWith("old mode "))r.oldMode=h.slice(9).trim();else if(h.startsWith("new mode "))r.newMode=h.slice(9).trim();else if(h.startsWith("deleted file mode "))r.deletedFileMode=h.slice(18).trim();else if(h.startsWith("new file mode "))r.newFileMode=h.slice(14).trim();else if(h.startsWith("rename from "))r.renameFrom=h.slice(12).trim();else if(h.startsWith("rename to "))r.renameTo=h.slice(10).trim();else if(h.startsWith("index ")){let E=h.match(/(\w+)\.\.(\w+)/);if(!E)continue;r.beforeHash=E[1],r.afterHash=E[2]}else h.startsWith("semver exclusivity ")?r.semverExclusivity=h.slice(19).trim():h.startsWith("--- ")?r.fromPath=h.slice(6).trim():h.startsWith("+++ ")&&(r.toPath=h.slice(6).trim());else{let E=Qvt[h[0]]||null;switch(E){case"header":u(),a=kvt(h);break;case null:o="parsing header",A(),p-=1;break;case"pragma":{if(!h.startsWith("\\ No newline at end of file"))throw new Error(`Unrecognized pragma in patch file: ${h}`);if(!n)throw new Error("Bad parser state: No newline at EOF pragma encountered without context");n.noNewlineAtEndOfFile=!0}break;case"context":case"deletion":case"insertion":{if(!a)throw new Error("Bad parser state: Hunk lines encountered before hunk header");n&&n.type!==E&&(a.parts.push(n),n=null),n||(n={type:E,lines:[],noNewlineAtEndOfFile:!1}),n.lines.push(h.slice(1))}break;default:qe.assertNever(E);break}}}A();for(let{hunks:p}of e)if(p)for(let h of p)Tvt(h);return e}function Rvt(t){let e=[];for(let r of t){let{semverExclusivity:o,diffLineFromPath:a,diffLineToPath:n,oldMode:u,newMode:A,deletedFileMode:p,newFileMode:h,renameFrom:E,renameTo:w,beforeHash:D,afterHash:x,fromPath:C,toPath:T,hunks:L}=r,U=E?"rename":p?"file deletion":h?"file creation":L&&L.length>0?"patch":"mode change",J=null;switch(U){case"rename":{if(!E||!w)throw new Error("Bad parser state: rename from & to not given");e.push({type:"rename",semverExclusivity:o,fromPath:oI(E),toPath:oI(w)}),J=w}break;case"file deletion":{let te=a||C;if(!te)throw new Error("Bad parse state: no path given for file deletion");e.push({type:"file deletion",semverExclusivity:o,hunk:L&&L[0]||null,path:oI(te),mode:kF(p),hash:D})}break;case"file creation":{let te=n||T;if(!te)throw new Error("Bad parse state: no path given for file creation");e.push({type:"file creation",semverExclusivity:o,hunk:L&&L[0]||null,path:oI(te),mode:kF(h),hash:x})}break;case"patch":case"mode change":J=T||n;break;default:qe.assertNever(U);break}J&&u&&A&&u!==A&&e.push({type:"mode change",semverExclusivity:o,path:oI(J),oldMode:kF(u),newMode:kF(A)}),J&&L&&L.length&&e.push({type:"patch",semverExclusivity:o,path:oI(J),hunks:L,beforeHash:D,afterHash:x})}if(e.length===0)throw new Error("Unable to parse patch file: No changes found. Make sure the patch is a valid UTF8 encoded string");return e}function kF(t){let e=parseInt(t,8)&511;if(e!==bvt&&e!==xvt)throw new Error(`Unexpected file mode string: ${t}`);return e}function $v(t){let e=t.split(/\n/g);return e[e.length-1]===""&&e.pop(),Rvt(Fvt(e))}function Tvt(t){let e=0,r=0;for(let{type:o,lines:a}of t.parts)switch(o){case"context":r+=a.length,e+=a.length;break;case"deletion":e+=a.length;break;case"insertion":r+=a.length;break;default:qe.assertNever(o);break}if(e!==t.header.original.length||r!==t.header.patched.length){let o=a=>a<0?a:`+${a}`;throw new Error(`hunk header integrity check failed (expected @@ ${o(t.header.original.length)} ${o(t.header.patched.length)} @@, got @@ ${o(e)} ${o(r)} @@)`)}}Ke();Pt();var aI=class extends Error{constructor(r,o){super(`Cannot apply hunk #${r+1}`);this.hunk=o}};async function lI(t,e,r){let o=await t.lstatPromise(e),a=await r();typeof a<"u"&&(e=a),await t.lutimesPromise(e,o.atime,o.mtime)}async function QF(t,{baseFs:e=new _n,dryRun:r=!1,version:o=null}={}){for(let a of t)if(!(a.semverExclusivity!==null&&o!==null&&!Ur.satisfiesWithPrereleases(o,a.semverExclusivity)))switch(a.type){case"file deletion":if(r){if(!e.existsSync(a.path))throw new Error(`Trying to delete a file that doesn't exist: ${a.path}`)}else await lI(e,K.dirname(a.path),async()=>{await e.unlinkPromise(a.path)});break;case"rename":if(r){if(!e.existsSync(a.fromPath))throw new Error(`Trying to move a file that doesn't exist: ${a.fromPath}`)}else await lI(e,K.dirname(a.fromPath),async()=>{await lI(e,K.dirname(a.toPath),async()=>{await lI(e,a.fromPath,async()=>(await e.movePromise(a.fromPath,a.toPath),a.toPath))})});break;case"file creation":if(r){if(e.existsSync(a.path))throw new Error(`Trying to create a file that already exists: ${a.path}`)}else{let n=a.hunk?a.hunk.parts[0].lines.join(` +`)+(a.hunk.parts[0].noNewlineAtEndOfFile?"":` +`):"";await e.mkdirpPromise(K.dirname(a.path),{chmod:493,utimes:[Pi.SAFE_TIME,Pi.SAFE_TIME]}),await e.writeFilePromise(a.path,n,{mode:a.mode}),await e.utimesPromise(a.path,Pi.SAFE_TIME,Pi.SAFE_TIME)}break;case"patch":await lI(e,a.path,async()=>{await Ovt(a,{baseFs:e,dryRun:r})});break;case"mode change":{let u=(await e.statPromise(a.path)).mode;if(sve(a.newMode)!==sve(u))continue;await lI(e,a.path,async()=>{await e.chmodPromise(a.path,a.newMode)})}break;default:qe.assertNever(a);break}}function sve(t){return(t&64)>0}function ove(t){return t.replace(/\s+$/,"")}function Lvt(t,e){return ove(t)===ove(e)}async function Ovt({hunks:t,path:e},{baseFs:r,dryRun:o=!1}){let a=await r.statSync(e).mode,u=(await r.readFileSync(e,"utf8")).split(/\n/),A=[],p=0,h=0;for(let w of t){let D=Math.max(h,w.header.patched.start+p),x=Math.max(0,D-h),C=Math.max(0,u.length-D-w.header.original.length),T=Math.max(x,C),L=0,U=0,J=null;for(;L<=T;){if(L<=x&&(U=D-L,J=ave(w,u,U),J!==null)){L=-L;break}if(L<=C&&(U=D+L,J=ave(w,u,U),J!==null))break;L+=1}if(J===null)throw new aI(t.indexOf(w),w);A.push(J),p+=L,h=U+w.header.original.length}if(o)return;let E=0;for(let w of A)for(let D of w)switch(D.type){case"splice":{let x=D.index+E;u.splice(x,D.numToDelete,...D.linesToInsert),E+=D.linesToInsert.length-D.numToDelete}break;case"pop":u.pop();break;case"push":u.push(D.line);break;default:qe.assertNever(D);break}await r.writeFilePromise(e,u.join(` +`),{mode:a})}function ave(t,e,r){let o=[];for(let a of t.parts)switch(a.type){case"context":case"deletion":{for(let n of a.lines){let u=e[r];if(u==null||!Lvt(u,n))return null;r+=1}a.type==="deletion"&&(o.push({type:"splice",index:r-a.lines.length,numToDelete:a.lines.length,linesToInsert:[]}),a.noNewlineAtEndOfFile&&o.push({type:"push",line:""}))}break;case"insertion":o.push({type:"splice",index:r,numToDelete:0,linesToInsert:a.lines}),a.noNewlineAtEndOfFile&&o.push({type:"pop"});break;default:qe.assertNever(a.type);break}return o}var Uvt=/^builtin<([^>]+)>$/;function cI(t,e){let{protocol:r,source:o,selector:a,params:n}=G.parseRange(t);if(r!=="patch:")throw new Error("Invalid patch range");if(o===null)throw new Error("Patch locators must explicitly define their source");let u=a?a.split(/&/).map(E=>Ae.toPortablePath(E)):[],A=n&&typeof n.locator=="string"?G.parseLocator(n.locator):null,p=n&&typeof n.version=="string"?n.version:null,h=e(o);return{parentLocator:A,sourceItem:h,patchPaths:u,sourceVersion:p}}function FF(t){return t.range.startsWith("patch:")}function i0(t){return t.reference.startsWith("patch:")}function eD(t){let{sourceItem:e,...r}=cI(t.range,G.parseDescriptor);return{...r,sourceDescriptor:e}}function tD(t){let{sourceItem:e,...r}=cI(t.reference,G.parseLocator);return{...r,sourceLocator:e}}function _vt(t){let{sourceItem:e}=cI(t.range,G.parseDescriptor);return e}function Hvt(t){let{sourceItem:e}=cI(t.reference,G.parseLocator);return e}function cG(t){if(!FF(t))return t;let{sourceItem:e}=cI(t.range,G.parseDescriptor);return e}function RF(t){if(!i0(t))return t;let{sourceItem:e}=cI(t.reference,G.parseLocator);return e}function lve({parentLocator:t,sourceItem:e,patchPaths:r,sourceVersion:o,patchHash:a},n){let u=t!==null?{locator:G.stringifyLocator(t)}:{},A=typeof o<"u"?{version:o}:{},p=typeof a<"u"?{hash:a}:{};return G.makeRange({protocol:"patch:",source:n(e),selector:r.join("&"),params:{...A,...p,...u}})}function TF(t,{parentLocator:e,sourceDescriptor:r,patchPaths:o}){return G.makeDescriptor(t,lve({parentLocator:e,sourceItem:r,patchPaths:o},G.stringifyDescriptor))}function uG(t,{parentLocator:e,sourcePackage:r,patchPaths:o,patchHash:a}){return G.makeLocator(t,lve({parentLocator:e,sourceItem:r,sourceVersion:r.version,patchPaths:o,patchHash:a},G.stringifyLocator))}function cve({onAbsolute:t,onRelative:e,onProject:r,onBuiltin:o},a){let n=a.lastIndexOf("!");n!==-1&&(a=a.slice(n+1));let u=a.match(Uvt);return u!==null?o(u[1]):a.startsWith("~/")?r(a.slice(2)):K.isAbsolute(a)?t(a):e(a)}function uve(t){let e=t.lastIndexOf("!");return{optional:(e!==-1?new Set(t.slice(0,e).split(/!/)):new Set).has("optional")}}function AG(t){return cve({onAbsolute:()=>!1,onRelative:()=>!0,onProject:()=>!1,onBuiltin:()=>!1},t)}async function rD(t,e,r){let o=t!==null?await r.fetcher.fetch(t,r):null,a=o&&o.localPath?{packageFs:new En(Bt.root),prefixPath:K.relative(Bt.root,o.localPath)}:o;o&&o!==a&&o.releaseFs&&o.releaseFs();let n=await qe.releaseAfterUseAsync(async()=>await Promise.all(e.map(async u=>{let A=uve(u),p=await cve({onAbsolute:async h=>await ae.readFilePromise(h,"utf8"),onRelative:async h=>{if(a===null)throw new Error("Assertion failed: The parent locator should have been fetched");return await a.packageFs.readFilePromise(K.join(a.prefixPath,h),"utf8")},onProject:async h=>await ae.readFilePromise(K.join(r.project.cwd,h),"utf8"),onBuiltin:async h=>await r.project.configuration.firstHook(E=>E.getBuiltinPatch,r.project,h)},u);return{...A,source:p}})));for(let u of n)typeof u.source=="string"&&(u.source=u.source.replace(/\r\n?/g,` +`));return n}async function fG(t,{cache:e,project:r}){let o=r.storedPackages.get(t.locatorHash);if(typeof o>"u")throw new Error("Assertion failed: Expected the package to be registered");let a=RF(t),n=r.storedChecksums,u=new Ri,A=await ae.mktempPromise(),p=K.join(A,"source"),h=K.join(A,"user"),E=K.join(A,".yarn-patch.json"),w=r.configuration.makeFetcher(),D=[];try{let x,C;if(t.locatorHash===a.locatorHash){let T=await w.fetch(t,{cache:e,project:r,fetcher:w,checksums:n,report:u});D.push(()=>T.releaseFs?.()),x=T,C=T}else x=await w.fetch(t,{cache:e,project:r,fetcher:w,checksums:n,report:u}),D.push(()=>x.releaseFs?.()),C=await w.fetch(t,{cache:e,project:r,fetcher:w,checksums:n,report:u}),D.push(()=>C.releaseFs?.());await Promise.all([ae.copyPromise(p,x.prefixPath,{baseFs:x.packageFs}),ae.copyPromise(h,C.prefixPath,{baseFs:C.packageFs}),ae.writeJsonPromise(E,{locator:G.stringifyLocator(t),version:o.version})])}finally{for(let x of D)x()}return ae.detachTemp(A),h}async function pG(t,e){let r=Ae.fromPortablePath(t).replace(/\\/g,"/"),o=Ae.fromPortablePath(e).replace(/\\/g,"/"),{stdout:a,stderr:n}=await Hr.execvp("git",["-c","core.safecrlf=false","diff","--src-prefix=a/","--dst-prefix=b/","--ignore-cr-at-eol","--full-index","--no-index","--no-renames","--text",r,o],{cwd:Ae.toPortablePath(process.cwd()),env:{...process.env,GIT_CONFIG_NOSYSTEM:"1",HOME:"",XDG_CONFIG_HOME:"",USERPROFILE:""}});if(n.length>0)throw new Error(`Unable to diff directories. Make sure you have a recent version of 'git' available in PATH. +The following error was reported by 'git': +${n}`);let u=r.startsWith("/")?A=>A.slice(1):A=>A;return a.replace(new RegExp(`(a|b)(${qe.escapeRegExp(`/${u(r)}/`)})`,"g"),"$1/").replace(new RegExp(`(a|b)${qe.escapeRegExp(`/${u(o)}/`)}`,"g"),"$1/").replace(new RegExp(qe.escapeRegExp(`${r}/`),"g"),"").replace(new RegExp(qe.escapeRegExp(`${o}/`),"g"),"")}function hG(t,e){let r=[];for(let{source:o}of t){if(o===null)continue;let a=$v(o);for(let n of a){let{semverExclusivity:u,...A}=n;u!==null&&e!==null&&!Ur.satisfiesWithPrereleases(e,u)||r.push(JSON.stringify(A))}}return xn.makeHash(`${3}`,...r).slice(0,6)}Ke();function Ave(t,{configuration:e,report:r}){for(let o of t.parts)for(let a of o.lines)switch(o.type){case"context":r.reportInfo(null,` ${pe.pretty(e,a,"grey")}`);break;case"deletion":r.reportError(28,`- ${pe.pretty(e,a,pe.Type.REMOVED)}`);break;case"insertion":r.reportError(28,`+ ${pe.pretty(e,a,pe.Type.ADDED)}`);break;default:qe.assertNever(o.type)}}var nD=class{supports(e,r){return!!i0(e)}getLocalPath(e,r){return null}async fetch(e,r){let o=r.checksums.get(e.locatorHash)||null,[a,n,u]=await r.cache.fetchPackageFromCache(e,o,{onHit:()=>r.report.reportCacheHit(e),onMiss:()=>r.report.reportCacheMiss(e,`${G.prettyLocator(r.project.configuration,e)} can't be found in the cache and will be fetched from the disk`),loader:()=>this.patchPackage(e,r),...r.cacheOptions});return{packageFs:a,releaseFs:n,prefixPath:G.getIdentVendorPath(e),localPath:this.getLocalPath(e,r),checksum:u}}async patchPackage(e,r){let{parentLocator:o,sourceLocator:a,sourceVersion:n,patchPaths:u}=tD(e),A=await rD(o,u,r),p=await ae.mktempPromise(),h=K.join(p,"current.zip"),E=await r.fetcher.fetch(a,r),w=G.getIdentVendorPath(e),D=new Zi(h,{create:!0,level:r.project.configuration.get("compressionLevel")});await qe.releaseAfterUseAsync(async()=>{await D.copyPromise(w,E.prefixPath,{baseFs:E.packageFs,stableSort:!0})},E.releaseFs),D.saveAndClose();for(let{source:x,optional:C}of A){if(x===null)continue;let T=new Zi(h,{level:r.project.configuration.get("compressionLevel")}),L=new En(K.resolve(Bt.root,w),{baseFs:T});try{await QF($v(x),{baseFs:L,version:n})}catch(U){if(!(U instanceof aI))throw U;let J=r.project.configuration.get("enableInlineHunks"),te=!J&&!C?" (set enableInlineHunks for details)":"",le=`${G.prettyLocator(r.project.configuration,e)}: ${U.message}${te}`,ce=ue=>{J&&Ave(U.hunk,{configuration:r.project.configuration,report:ue})};if(T.discardAndClose(),C){r.report.reportWarningOnce(66,le,{reportExtra:ce});continue}else throw new Jt(66,le,ce)}T.saveAndClose()}return new Zi(h,{level:r.project.configuration.get("compressionLevel")})}};Ke();var iD=class{supportsDescriptor(e,r){return!!FF(e)}supportsLocator(e,r){return!!i0(e)}shouldPersistResolution(e,r){return!1}bindDescriptor(e,r,o){let{patchPaths:a}=eD(e);return a.every(n=>!AG(n))?e:G.bindDescriptor(e,{locator:G.stringifyLocator(r)})}getResolutionDependencies(e,r){let{sourceDescriptor:o}=eD(e);return{sourceDescriptor:r.project.configuration.normalizeDependency(o)}}async getCandidates(e,r,o){if(!o.fetchOptions)throw new Error("Assertion failed: This resolver cannot be used unless a fetcher is configured");let{parentLocator:a,patchPaths:n}=eD(e),u=await rD(a,n,o.fetchOptions),A=r.sourceDescriptor;if(typeof A>"u")throw new Error("Assertion failed: The dependency should have been resolved");let p=hG(u,A.version);return[uG(e,{parentLocator:a,sourcePackage:A,patchPaths:n,patchHash:p})]}async getSatisfying(e,r,o,a){let[n]=await this.getCandidates(e,r,a);return{locators:o.filter(u=>u.locatorHash===n.locatorHash),sorted:!1}}async resolve(e,r){let{sourceLocator:o}=tD(e);return{...await r.resolver.resolve(o,r),...e}}};Ke();Pt();Gt();var uI=class extends ut{constructor(){super(...arguments);this.save=de.Boolean("-s,--save",!1,{description:"Add the patch to your resolution entries"});this.patchFolder=de.String()}static{this.paths=[["patch-commit"]]}static{this.usage=ot.Usage({description:"generate a patch out of a directory",details:"\n By default, this will print a patchfile on stdout based on the diff between the folder passed in and the original version of the package. Such file is suitable for consumption with the `patch:` protocol.\n\n With the `-s,--save` option set, the patchfile won't be printed on stdout anymore and will instead be stored within a local file (by default kept within `.yarn/patches`, but configurable via the `patchFolder` setting). A `resolutions` entry will also be added to your top-level manifest, referencing the patched package via the `patch:` protocol.\n\n Note that only folders generated by `yarn patch` are accepted as valid input for `yarn patch-commit`.\n "})}async execute(){let r=await ze.find(this.context.cwd,this.context.plugins),{project:o,workspace:a}=await Qt.find(r,this.context.cwd);if(!a)throw new or(o.cwd,this.context.cwd);await o.restoreInstallState();let n=K.resolve(this.context.cwd,Ae.toPortablePath(this.patchFolder)),u=K.join(n,"../source"),A=K.join(n,"../.yarn-patch.json");if(!ae.existsSync(u))throw new it("The argument folder didn't get created by 'yarn patch'");let p=await pG(u,n),h=await ae.readJsonPromise(A),E=G.parseLocator(h.locator,!0);if(!o.storedPackages.has(E.locatorHash))throw new it("No package found in the project for the given locator");if(!this.save){this.context.stdout.write(p);return}let w=r.get("patchFolder"),D=K.join(w,`${G.slugifyLocator(E)}.patch`);await ae.mkdirPromise(w,{recursive:!0}),await ae.writeFilePromise(D,p);let x=[],C=new Map;for(let T of o.storedPackages.values()){if(G.isVirtualLocator(T))continue;let L=T.dependencies.get(E.identHash);if(!L)continue;let U=G.ensureDevirtualizedDescriptor(L),J=cG(U),te=o.storedResolutions.get(J.descriptorHash);if(!te)throw new Error("Assertion failed: Expected the resolution to have been registered");if(!o.storedPackages.get(te))throw new Error("Assertion failed: Expected the package to have been registered");let ce=o.tryWorkspaceByLocator(T);if(ce)x.push(ce);else{let ue=o.originalPackages.get(T.locatorHash);if(!ue)throw new Error("Assertion failed: Expected the original package to have been registered");let Ie=ue.dependencies.get(L.identHash);if(!Ie)throw new Error("Assertion failed: Expected the original dependency to have been registered");C.set(Ie.descriptorHash,Ie)}}for(let T of x)for(let L of _t.hardDependencies){let U=T.manifest[L].get(E.identHash);if(!U)continue;let J=TF(U,{parentLocator:null,sourceDescriptor:G.convertLocatorToDescriptor(E),patchPaths:[K.join(mr.home,K.relative(o.cwd,D))]});T.manifest[L].set(U.identHash,J)}for(let T of C.values()){let L=TF(T,{parentLocator:null,sourceDescriptor:G.convertLocatorToDescriptor(E),patchPaths:[K.join(mr.home,K.relative(o.cwd,D))]});o.topLevelWorkspace.manifest.resolutions.push({pattern:{descriptor:{fullName:G.stringifyIdent(L),description:T.range}},reference:L.range})}await o.persist()}};Ke();Pt();Gt();var AI=class extends ut{constructor(){super(...arguments);this.update=de.Boolean("-u,--update",!1,{description:"Reapply local patches that already apply to this packages"});this.json=de.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"});this.package=de.String()}static{this.paths=[["patch"]]}static{this.usage=ot.Usage({description:"prepare a package for patching",details:"\n This command will cause a package to be extracted in a temporary directory intended to be editable at will.\n\n Once you're done with your changes, run `yarn patch-commit -s path` (with `path` being the temporary directory you received) to generate a patchfile and register it into your top-level manifest via the `patch:` protocol. Run `yarn patch-commit -h` for more details.\n\n Calling the command when you already have a patch won't import it by default (in other words, the default behavior is to reset existing patches). However, adding the `-u,--update` flag will import any current patch.\n "})}async execute(){let r=await ze.find(this.context.cwd,this.context.plugins),{project:o,workspace:a}=await Qt.find(r,this.context.cwd),n=await Wr.find(r);if(!a)throw new or(o.cwd,this.context.cwd);await o.restoreInstallState();let u=G.parseLocator(this.package);if(u.reference==="unknown"){let A=qe.mapAndFilter([...o.storedPackages.values()],p=>p.identHash!==u.identHash?qe.mapAndFilter.skip:G.isVirtualLocator(p)?qe.mapAndFilter.skip:i0(p)!==this.update?qe.mapAndFilter.skip:p);if(A.length===0)throw new it("No package found in the project for the given locator");if(A.length>1)throw new it(`Multiple candidate packages found; explicitly choose one of them (use \`yarn why <package>\` to get more information as to who depends on them): +${A.map(p=>` +- ${G.prettyLocator(r,p)}`).join("")}`);u=A[0]}if(!o.storedPackages.has(u.locatorHash))throw new it("No package found in the project for the given locator");await Nt.start({configuration:r,json:this.json,stdout:this.context.stdout},async A=>{let p=RF(u),h=await fG(u,{cache:n,project:o});A.reportJson({locator:G.stringifyLocator(p),path:Ae.fromPortablePath(h)});let E=this.update?" along with its current modifications":"";A.reportInfo(0,`Package ${G.prettyLocator(r,p)} got extracted with success${E}!`),A.reportInfo(0,`You can now edit the following folder: ${pe.pretty(r,Ae.fromPortablePath(h),"magenta")}`),A.reportInfo(0,`Once you are done run ${pe.pretty(r,`yarn patch-commit -s ${process.platform==="win32"?'"':""}${Ae.fromPortablePath(h)}${process.platform==="win32"?'"':""}`,"cyan")} and Yarn will store a patchfile based on your changes.`)})}};var qvt={configuration:{enableInlineHunks:{description:"If true, the installs will print unmatched patch hunks",type:"BOOLEAN",default:!1},patchFolder:{description:"Folder where the patch files must be written",type:"ABSOLUTE_PATH",default:"./.yarn/patches"}},commands:[uI,AI],fetchers:[nD],resolvers:[iD]},jvt=qvt;var yG={};Kt(yG,{PnpmLinker:()=>sD,default:()=>Vvt});Ke();Pt();Gt();var sD=class{getCustomDataKey(){return JSON.stringify({name:"PnpmLinker",version:3})}supportsPackage(e,r){return this.isEnabled(r)}async findPackageLocation(e,r){if(!this.isEnabled(r))throw new Error("Assertion failed: Expected the pnpm linker to be enabled");let o=this.getCustomDataKey(),a=r.project.linkersCustomData.get(o);if(!a)throw new it(`The project in ${pe.pretty(r.project.configuration,`${r.project.cwd}/package.json`,pe.Type.PATH)} doesn't seem to have been installed - running an install there might help`);let n=a.pathsByLocator.get(e.locatorHash);if(typeof n>"u")throw new it(`Couldn't find ${G.prettyLocator(r.project.configuration,e)} in the currently installed pnpm map - running an install might help`);return n.packageLocation}async findPackageLocator(e,r){if(!this.isEnabled(r))return null;let o=this.getCustomDataKey(),a=r.project.linkersCustomData.get(o);if(!a)throw new it(`The project in ${pe.pretty(r.project.configuration,`${r.project.cwd}/package.json`,pe.Type.PATH)} doesn't seem to have been installed - running an install there might help`);let n=e.match(/(^.*\/node_modules\/(@[^/]*\/)?[^/]+)(\/.*$)/);if(n){let p=a.locatorByPath.get(n[1]);if(p)return p}let u=e,A=e;do{A=u,u=K.dirname(A);let p=a.locatorByPath.get(A);if(p)return p}while(u!==A);return null}makeInstaller(e){return new dG(e)}isEnabled(e){return e.project.configuration.get("nodeLinker")==="pnpm"}},dG=class{constructor(e){this.opts=e;this.asyncActions=new qe.AsyncActions(10);this.customData={pathsByLocator:new Map,locatorByPath:new Map};this.indexFolderPromise=$D(ae,{indexPath:K.join(e.project.configuration.get("globalFolder"),"index")})}attachCustomData(e){}async installPackage(e,r,o){switch(e.linkType){case"SOFT":return this.installPackageSoft(e,r,o);case"HARD":return this.installPackageHard(e,r,o)}throw new Error("Assertion failed: Unsupported package link type")}async installPackageSoft(e,r,o){let a=K.resolve(r.packageFs.getRealPath(),r.prefixPath),n=this.opts.project.tryWorkspaceByLocator(e)?K.join(a,mr.nodeModules):null;return this.customData.pathsByLocator.set(e.locatorHash,{packageLocation:a,dependenciesLocation:n}),{packageLocation:a,buildRequest:null}}async installPackageHard(e,r,o){let a=Gvt(e,{project:this.opts.project}),n=a.packageLocation;this.customData.locatorByPath.set(n,G.stringifyLocator(e)),this.customData.pathsByLocator.set(e.locatorHash,a),o.holdFetchResult(this.asyncActions.set(e.locatorHash,async()=>{await ae.mkdirPromise(n,{recursive:!0}),await ae.copyPromise(n,r.prefixPath,{baseFs:r.packageFs,overwrite:!1,linkStrategy:{type:"HardlinkFromIndex",indexPath:await this.indexFolderPromise,autoRepair:!0}})}));let A=G.isVirtualLocator(e)?G.devirtualizeLocator(e):e,p={manifest:await _t.tryFind(r.prefixPath,{baseFs:r.packageFs})??new _t,misc:{hasBindingGyp:CA.hasBindingGyp(r)}},h=this.opts.project.getDependencyMeta(A,e.version),E=CA.extractBuildRequest(e,p,h,{configuration:this.opts.project.configuration});return{packageLocation:n,buildRequest:E}}async attachInternalDependencies(e,r){if(this.opts.project.configuration.get("nodeLinker")!=="pnpm"||!fve(e,{project:this.opts.project}))return;let o=this.customData.pathsByLocator.get(e.locatorHash);if(typeof o>"u")throw new Error(`Assertion failed: Expected the package to have been registered (${G.stringifyLocator(e)})`);let{dependenciesLocation:a}=o;a&&this.asyncActions.reduce(e.locatorHash,async n=>{await ae.mkdirPromise(a,{recursive:!0});let u=await Wvt(a),A=new Map(u),p=[n],h=(w,D)=>{let x=D;fve(D,{project:this.opts.project})||(this.opts.report.reportWarningOnce(0,"The pnpm linker doesn't support providing different versions to workspaces' peer dependencies"),x=G.devirtualizeLocator(D));let C=this.customData.pathsByLocator.get(x.locatorHash);if(typeof C>"u")throw new Error(`Assertion failed: Expected the package to have been registered (${G.stringifyLocator(D)})`);let T=G.stringifyIdent(w),L=K.join(a,T),U=K.relative(K.dirname(L),C.packageLocation),J=A.get(T);A.delete(T),p.push(Promise.resolve().then(async()=>{if(J){if(J.isSymbolicLink()&&await ae.readlinkPromise(L)===U)return;await ae.removePromise(L)}await ae.mkdirpPromise(K.dirname(L)),process.platform=="win32"&&this.opts.project.configuration.get("winLinkType")==="junctions"?await ae.symlinkPromise(C.packageLocation,L,"junction"):await ae.symlinkPromise(U,L)}))},E=!1;for(let[w,D]of r)w.identHash===e.identHash&&(E=!0),h(w,D);!E&&!this.opts.project.tryWorkspaceByLocator(e)&&h(G.convertLocatorToDescriptor(e),e),p.push(Yvt(a,A)),await Promise.all(p)})}async attachExternalDependents(e,r){throw new Error("External dependencies haven't been implemented for the pnpm linker")}async finalizeInstall(){let e=hve(this.opts.project);if(this.opts.project.configuration.get("nodeLinker")!=="pnpm")await ae.removePromise(e);else{let r;try{r=new Set(await ae.readdirPromise(e))}catch{r=new Set}for(let{dependenciesLocation:o}of this.customData.pathsByLocator.values()){if(!o)continue;let a=K.contains(e,o);if(a===null)continue;let[n]=a.split(K.sep);r.delete(n)}await Promise.all([...r].map(async o=>{await ae.removePromise(K.join(e,o))}))}return await this.asyncActions.wait(),await mG(e),this.opts.project.configuration.get("nodeLinker")!=="node-modules"&&await mG(pve(this.opts.project)),{customData:this.customData}}};function pve(t){return K.join(t.cwd,mr.nodeModules)}function hve(t){return K.join(pve(t),".store")}function Gvt(t,{project:e}){let r=G.slugifyLocator(t),o=hve(e),a=K.join(o,r,"package"),n=K.join(o,r,mr.nodeModules);return{packageLocation:a,dependenciesLocation:n}}function fve(t,{project:e}){return!G.isVirtualLocator(t)||!e.tryWorkspaceByLocator(t)}async function Wvt(t){let e=new Map,r=[];try{r=await ae.readdirPromise(t,{withFileTypes:!0})}catch(o){if(o.code!=="ENOENT")throw o}try{for(let o of r)if(!o.name.startsWith("."))if(o.name.startsWith("@")){let a=await ae.readdirPromise(K.join(t,o.name),{withFileTypes:!0});if(a.length===0)e.set(o.name,o);else for(let n of a)e.set(`${o.name}/${n.name}`,n)}else e.set(o.name,o)}catch(o){if(o.code!=="ENOENT")throw o}return e}async function Yvt(t,e){let r=[],o=new Set;for(let a of e.keys()){r.push(ae.removePromise(K.join(t,a)));let n=G.tryParseIdent(a)?.scope;n&&o.add(`@${n}`)}return Promise.all(r).then(()=>Promise.all([...o].map(a=>mG(K.join(t,a)))))}async function mG(t){try{await ae.rmdirPromise(t)}catch(e){if(e.code!=="ENOENT"&&e.code!=="ENOTEMPTY")throw e}}var Kvt={linkers:[sD]},Vvt=Kvt;var DG={};Kt(DG,{StageCommand:()=>fI,default:()=>sDt,stageUtils:()=>LF});Ke();Pt();Gt();Ke();Pt();var LF={};Kt(LF,{ActionType:()=>EG,checkConsensus:()=>NF,expandDirectory:()=>wG,findConsensus:()=>BG,findVcsRoot:()=>CG,genCommitMessage:()=>vG,getCommitPrefix:()=>gve,isYarnFile:()=>IG});Pt();var EG=(n=>(n[n.CREATE=0]="CREATE",n[n.DELETE=1]="DELETE",n[n.ADD=2]="ADD",n[n.REMOVE=3]="REMOVE",n[n.MODIFY=4]="MODIFY",n))(EG||{});async function CG(t,{marker:e}){do if(!ae.existsSync(K.join(t,e)))t=K.dirname(t);else return t;while(t!=="/");return null}function IG(t,{roots:e,names:r}){if(r.has(K.basename(t)))return!0;do if(!e.has(t))t=K.dirname(t);else return!0;while(t!=="/");return!1}function wG(t){let e=[],r=[t];for(;r.length>0;){let o=r.pop(),a=ae.readdirSync(o);for(let n of a){let u=K.resolve(o,n);ae.lstatSync(u).isDirectory()?r.push(u):e.push(u)}}return e}function NF(t,e){let r=0,o=0;for(let a of t)a!=="wip"&&(e.test(a)?r+=1:o+=1);return r>=o}function BG(t){let e=NF(t,/^(\w\(\w+\):\s*)?\w+s/),r=NF(t,/^(\w\(\w+\):\s*)?[A-Z]/),o=NF(t,/^\w\(\w+\):/);return{useThirdPerson:e,useUpperCase:r,useComponent:o}}function gve(t){return t.useComponent?"chore(yarn): ":""}var Jvt=new Map([[0,"create"],[1,"delete"],[2,"add"],[3,"remove"],[4,"update"]]);function vG(t,e){let r=gve(t),o=[],a=e.slice().sort((n,u)=>n[0]-u[0]);for(;a.length>0;){let[n,u]=a.shift(),A=Jvt.get(n);t.useUpperCase&&o.length===0&&(A=`${A[0].toUpperCase()}${A.slice(1)}`),t.useThirdPerson&&(A+="s");let p=[u];for(;a.length>0&&a[0][0]===n;){let[,E]=a.shift();p.push(E)}p.sort();let h=p.shift();p.length===1?h+=" (and one other)":p.length>1&&(h+=` (and ${p.length} others)`),o.push(`${A} ${h}`)}return`${r}${o.join(", ")}`}var zvt="Commit generated via `yarn stage`",Xvt=11;async function dve(t){let{code:e,stdout:r}=await Hr.execvp("git",["log","-1","--pretty=format:%H"],{cwd:t});return e===0?r.trim():null}async function Zvt(t,e){let r=[],o=e.filter(h=>K.basename(h.path)==="package.json");for(let{action:h,path:E}of o){let w=K.relative(t,E);if(h===4){let D=await dve(t),{stdout:x}=await Hr.execvp("git",["show",`${D}:${w}`],{cwd:t,strict:!0}),C=await _t.fromText(x),T=await _t.fromFile(E),L=new Map([...T.dependencies,...T.devDependencies]),U=new Map([...C.dependencies,...C.devDependencies]);for(let[J,te]of U){let le=G.stringifyIdent(te),ce=L.get(J);ce?ce.range!==te.range&&r.push([4,`${le} to ${ce.range}`]):r.push([3,le])}for(let[J,te]of L)U.has(J)||r.push([2,G.stringifyIdent(te)])}else if(h===0){let D=await _t.fromFile(E);D.name?r.push([0,G.stringifyIdent(D.name)]):r.push([0,"a package"])}else if(h===1){let D=await dve(t),{stdout:x}=await Hr.execvp("git",["show",`${D}:${w}`],{cwd:t,strict:!0}),C=await _t.fromText(x);C.name?r.push([1,G.stringifyIdent(C.name)]):r.push([1,"a package"])}else throw new Error("Assertion failed: Unsupported action type")}let{code:a,stdout:n}=await Hr.execvp("git",["log",`-${Xvt}`,"--pretty=format:%s"],{cwd:t}),u=a===0?n.split(/\n/g).filter(h=>h!==""):[],A=BG(u);return vG(A,r)}var $vt={0:[" A ","?? "],4:[" M "],1:[" D "]},eDt={0:["A "],4:["M "],1:["D "]},mve={async findRoot(t){return await CG(t,{marker:".git"})},async filterChanges(t,e,r,o){let{stdout:a}=await Hr.execvp("git",["status","-s"],{cwd:t,strict:!0}),n=a.toString().split(/\n/g),u=o?.staged?eDt:$vt;return[].concat(...n.map(p=>{if(p==="")return[];let h=p.slice(0,3),E=K.resolve(t,p.slice(3));if(!o?.staged&&h==="?? "&&p.endsWith("/"))return wG(E).map(w=>({action:0,path:w}));{let D=[0,4,1].find(x=>u[x].includes(h));return D!==void 0?[{action:D,path:E}]:[]}})).filter(p=>IG(p.path,{roots:e,names:r}))},async genCommitMessage(t,e){return await Zvt(t,e)},async makeStage(t,e){let r=e.map(o=>Ae.fromPortablePath(o.path));await Hr.execvp("git",["add","--",...r],{cwd:t,strict:!0})},async makeCommit(t,e,r){let o=e.map(a=>Ae.fromPortablePath(a.path));await Hr.execvp("git",["add","-N","--",...o],{cwd:t,strict:!0}),await Hr.execvp("git",["commit","-m",`${r} + +${zvt} +`,"--",...o],{cwd:t,strict:!0})},async makeReset(t,e){let r=e.map(o=>Ae.fromPortablePath(o.path));await Hr.execvp("git",["reset","HEAD","--",...r],{cwd:t,strict:!0})}};var tDt=[mve],fI=class extends ut{constructor(){super(...arguments);this.commit=de.Boolean("-c,--commit",!1,{description:"Commit the staged files"});this.reset=de.Boolean("-r,--reset",!1,{description:"Remove all files from the staging area"});this.dryRun=de.Boolean("-n,--dry-run",!1,{description:"Print the commit message and the list of modified files without staging / committing"});this.update=de.Boolean("-u,--update",!1,{hidden:!0})}static{this.paths=[["stage"]]}static{this.usage=ot.Usage({description:"add all yarn files to your vcs",details:"\n This command will add to your staging area the files belonging to Yarn (typically any modified `package.json` and `.yarnrc.yml` files, but also linker-generated files, cache data, etc). It will take your ignore list into account, so the cache files won't be added if the cache is ignored in a `.gitignore` file (assuming you use Git).\n\n Running `--reset` will instead remove them from the staging area (the changes will still be there, but won't be committed until you stage them back).\n\n Since the staging area is a non-existent concept in Mercurial, Yarn will always create a new commit when running this command on Mercurial repositories. You can get this behavior when using Git by using the `--commit` flag which will directly create a commit.\n ",examples:[["Adds all modified project files to the staging area","yarn stage"],["Creates a new commit containing all modified project files","yarn stage --commit"]]})}async execute(){let r=await ze.find(this.context.cwd,this.context.plugins),{project:o}=await Qt.find(r,this.context.cwd),{driver:a,root:n}=await rDt(o.cwd),u=[r.get("cacheFolder"),r.get("globalFolder"),r.get("virtualFolder"),r.get("yarnPath")];await r.triggerHook(w=>w.populateYarnPaths,o,w=>{u.push(w)});let A=new Set;for(let w of u)for(let D of nDt(n,w))A.add(D);let p=new Set([r.get("rcFilename"),mr.lockfile,mr.manifest]),h=await a.filterChanges(n,A,p),E=await a.genCommitMessage(n,h);if(this.dryRun)if(this.commit)this.context.stdout.write(`${E} +`);else for(let w of h)this.context.stdout.write(`${Ae.fromPortablePath(w.path)} +`);else if(this.reset){let w=await a.filterChanges(n,A,p,{staged:!0});w.length===0?this.context.stdout.write("No staged changes found!"):await a.makeReset(n,w)}else h.length===0?this.context.stdout.write("No changes found!"):this.commit?await a.makeCommit(n,h,E):(await a.makeStage(n,h),this.context.stdout.write(E))}};async function rDt(t){let e=null,r=null;for(let o of tDt)if((r=await o.findRoot(t))!==null){e=o;break}if(e===null||r===null)throw new it("No stage driver has been found for your current project");return{driver:e,root:r}}function nDt(t,e){let r=[];if(e===null)return r;for(;;){(e===t||e.startsWith(`${t}/`))&&r.push(e);let o;try{o=ae.statSync(e)}catch{break}if(o.isSymbolicLink())e=K.resolve(K.dirname(e),ae.readlinkSync(e));else break}return r}var iDt={commands:[fI]},sDt=iDt;var PG={};Kt(PG,{default:()=>pDt});Ke();Ke();Pt();var Cve=et(ni());Ke();var yve=et(L6()),oDt="e8e1bd300d860104bb8c58453ffa1eb4",aDt="OFCNCOG2CU",Eve=async(t,e)=>{let r=G.stringifyIdent(t),a=lDt(e).initIndex("npm-search");try{return(await a.getObject(r,{attributesToRetrieve:["types"]})).types?.ts==="definitely-typed"}catch{return!1}},lDt=t=>(0,yve.default)(aDt,oDt,{requester:{async send(r){try{let o=await on.request(r.url,r.data||null,{configuration:t,headers:r.headers});return{content:o.body,isTimedOut:!1,status:o.statusCode}}catch(o){return{content:o.response.body,isTimedOut:!1,status:o.response.statusCode}}}}});var Ive=t=>t.scope?`${t.scope}__${t.name}`:`${t.name}`,cDt=async(t,e,r,o)=>{if(r.scope==="types")return;let{project:a}=t,{configuration:n}=a;if(!(n.get("tsEnableAutoTypes")??(ae.existsSync(K.join(t.cwd,"tsconfig.json"))||ae.existsSync(K.join(a.cwd,"tsconfig.json")))))return;let A=n.makeResolver(),p={project:a,resolver:A,report:new Ri};if(!await Eve(r,n))return;let E=Ive(r),w=G.parseRange(r.range).selector;if(!Ur.validRange(w)){let L=n.normalizeDependency(r),U=await A.getCandidates(L,{},p);w=G.parseRange(U[0].reference).selector}let D=Cve.default.coerce(w);if(D===null)return;let x=`${nu.Modifier.CARET}${D.major}`,C=G.makeDescriptor(G.makeIdent("types",E),x),T=qe.mapAndFind(a.workspaces,L=>{let U=L.manifest.dependencies.get(r.identHash)?.descriptorHash,J=L.manifest.devDependencies.get(r.identHash)?.descriptorHash;if(U!==r.descriptorHash&&J!==r.descriptorHash)return qe.mapAndFind.skip;let te=[];for(let le of _t.allDependencies){let ce=L.manifest[le].get(C.identHash);typeof ce>"u"||te.push([le,ce])}return te.length===0?qe.mapAndFind.skip:te});if(typeof T<"u")for(let[L,U]of T)t.manifest[L].set(U.identHash,U);else{try{let L=n.normalizeDependency(C);if((await A.getCandidates(L,{},p)).length===0)return}catch{return}t.manifest[nu.Target.DEVELOPMENT].set(C.identHash,C)}},uDt=async(t,e,r)=>{if(r.scope==="types")return;let{project:o}=t,{configuration:a}=o;if(!(a.get("tsEnableAutoTypes")??(ae.existsSync(K.join(t.cwd,"tsconfig.json"))||ae.existsSync(K.join(o.cwd,"tsconfig.json")))))return;let u=Ive(r),A=G.makeIdent("types",u);for(let p of _t.allDependencies)typeof t.manifest[p].get(A.identHash)>"u"||t.manifest[p].delete(A.identHash)},ADt=(t,e)=>{e.publishConfig&&e.publishConfig.typings&&(e.typings=e.publishConfig.typings),e.publishConfig&&e.publishConfig.types&&(e.types=e.publishConfig.types)},fDt={configuration:{tsEnableAutoTypes:{description:"Whether Yarn should auto-install @types/ dependencies on 'yarn add'",type:"BOOLEAN",isNullable:!0,default:null}},hooks:{afterWorkspaceDependencyAddition:cDt,afterWorkspaceDependencyRemoval:uDt,beforeWorkspacePacking:ADt}},pDt=fDt;var QG={};Kt(QG,{VersionApplyCommand:()=>mI,VersionCheckCommand:()=>yI,VersionCommand:()=>EI,default:()=>FDt,versionUtils:()=>dI});Ke();Ke();Gt();var dI={};Kt(dI,{Decision:()=>hI,applyPrerelease:()=>Sve,applyReleases:()=>kG,applyStrategy:()=>MF,clearVersionFiles:()=>SG,getUndecidedDependentWorkspaces:()=>aD,getUndecidedWorkspaces:()=>OF,openVersionFile:()=>gI,requireMoreDecisions:()=>xDt,resolveVersionFiles:()=>oD,suggestStrategy:()=>xG,updateVersionFiles:()=>bG,validateReleaseDecision:()=>pI});Ke();Pt();Ol();Gt();var Pve=et(Dve()),PA=et(ni()),bDt=/^(>=|[~^]|)(0|[1-9]\d*)\.(0|[1-9]\d*)\.(0|[1-9]\d*)(-(0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*)(\.(0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*))*)?(\+[0-9a-zA-Z-]+(\.[0-9a-zA-Z-]+)*)?$/,hI=(u=>(u.UNDECIDED="undecided",u.DECLINE="decline",u.MAJOR="major",u.MINOR="minor",u.PATCH="patch",u.PRERELEASE="prerelease",u))(hI||{});function pI(t){let e=PA.default.valid(t);return e||qe.validateEnum((0,Pve.default)(hI,"UNDECIDED"),t)}async function oD(t,{prerelease:e=null}={}){let r=new Map,o=t.configuration.get("deferredVersionFolder");if(!ae.existsSync(o))return r;let a=await ae.readdirPromise(o);for(let n of a){if(!n.endsWith(".yml"))continue;let u=K.join(o,n),A=await ae.readFilePromise(u,"utf8"),p=Ki(A);for(let[h,E]of Object.entries(p.releases||{})){if(E==="decline")continue;let w=G.parseIdent(h),D=t.tryWorkspaceByIdent(w);if(D===null)throw new Error(`Assertion failed: Expected a release definition file to only reference existing workspaces (${K.basename(u)} references ${h})`);if(D.manifest.version===null)throw new Error(`Assertion failed: Expected the workspace to have a version (${G.prettyLocator(t.configuration,D.anchoredLocator)})`);let x=D.manifest.raw.stableVersion??D.manifest.version,C=r.get(D),T=MF(x,pI(E));if(T===null)throw new Error(`Assertion failed: Expected ${x} to support being bumped via strategy ${E}`);let L=typeof C<"u"?PA.default.gt(T,C)?T:C:T;r.set(D,L)}}return e&&(r=new Map([...r].map(([n,u])=>[n,Sve(u,{current:n.manifest.version,prerelease:e})]))),r}async function SG(t){let e=t.configuration.get("deferredVersionFolder");ae.existsSync(e)&&await ae.removePromise(e)}async function bG(t,e){let r=new Set(e),o=t.configuration.get("deferredVersionFolder");if(!ae.existsSync(o))return;let a=await ae.readdirPromise(o);for(let n of a){if(!n.endsWith(".yml"))continue;let u=K.join(o,n),A=await ae.readFilePromise(u,"utf8"),p=Ki(A),h=p?.releases;if(h){for(let E of Object.keys(h)){let w=G.parseIdent(E),D=t.tryWorkspaceByIdent(w);(D===null||r.has(D))&&delete p.releases[E]}Object.keys(p.releases).length>0?await ae.changeFilePromise(u,Pa(new Pa.PreserveOrdering(p))):await ae.unlinkPromise(u)}}}async function gI(t,{allowEmpty:e=!1}={}){let r=t.configuration;if(r.projectCwd===null)throw new it("This command can only be run from within a Yarn project");let o=await ra.fetchRoot(r.projectCwd),a=o!==null?await ra.fetchBase(o,{baseRefs:r.get("changesetBaseRefs")}):null,n=o!==null?await ra.fetchChangedFiles(o,{base:a.hash,project:t}):[],u=r.get("deferredVersionFolder"),A=n.filter(x=>K.contains(u,x)!==null);if(A.length>1)throw new it(`Your current branch contains multiple versioning files; this isn't supported: +- ${A.map(x=>Ae.fromPortablePath(x)).join(` +- `)}`);let p=new Set(qe.mapAndFilter(n,x=>{let C=t.tryWorkspaceByFilePath(x);return C===null?qe.mapAndFilter.skip:C}));if(A.length===0&&p.size===0&&!e)return null;let h=A.length===1?A[0]:K.join(u,`${xn.makeHash(Math.random().toString()).slice(0,8)}.yml`),E=ae.existsSync(h)?await ae.readFilePromise(h,"utf8"):"{}",w=Ki(E),D=new Map;for(let x of w.declined||[]){let C=G.parseIdent(x),T=t.getWorkspaceByIdent(C);D.set(T,"decline")}for(let[x,C]of Object.entries(w.releases||{})){let T=G.parseIdent(x),L=t.getWorkspaceByIdent(T);D.set(L,pI(C))}return{project:t,root:o,baseHash:a!==null?a.hash:null,baseTitle:a!==null?a.title:null,changedFiles:new Set(n),changedWorkspaces:p,releaseRoots:new Set([...p].filter(x=>x.manifest.version!==null)),releases:D,async saveAll(){let x={},C=[],T=[];for(let L of t.workspaces){if(L.manifest.version===null)continue;let U=G.stringifyIdent(L.anchoredLocator),J=D.get(L);J==="decline"?C.push(U):typeof J<"u"?x[U]=pI(J):p.has(L)&&T.push(U)}await ae.mkdirPromise(K.dirname(h),{recursive:!0}),await ae.changeFilePromise(h,Pa(new Pa.PreserveOrdering({releases:Object.keys(x).length>0?x:void 0,declined:C.length>0?C:void 0,undecided:T.length>0?T:void 0})))}}}function xDt(t){return OF(t).size>0||aD(t).length>0}function OF(t){let e=new Set;for(let r of t.changedWorkspaces)r.manifest.version!==null&&(t.releases.has(r)||e.add(r));return e}function aD(t,{include:e=new Set}={}){let r=[],o=new Map(qe.mapAndFilter([...t.releases],([n,u])=>u==="decline"?qe.mapAndFilter.skip:[n.anchoredLocator.locatorHash,n])),a=new Map(qe.mapAndFilter([...t.releases],([n,u])=>u!=="decline"?qe.mapAndFilter.skip:[n.anchoredLocator.locatorHash,n]));for(let n of t.project.workspaces)if(!(!e.has(n)&&(a.has(n.anchoredLocator.locatorHash)||o.has(n.anchoredLocator.locatorHash)))&&n.manifest.version!==null)for(let u of _t.hardDependencies)for(let A of n.manifest.getForScope(u).values()){let p=t.project.tryWorkspaceByDescriptor(A);p!==null&&o.has(p.anchoredLocator.locatorHash)&&r.push([n,p])}return r}function xG(t,e){let r=PA.default.clean(e);for(let o of Object.values(hI))if(o!=="undecided"&&o!=="decline"&&PA.default.inc(t,o)===r)return o;return null}function MF(t,e){if(PA.default.valid(e))return e;if(t===null)throw new it(`Cannot apply the release strategy "${e}" unless the workspace already has a valid version`);if(!PA.default.valid(t))throw new it(`Cannot apply the release strategy "${e}" on a non-semver version (${t})`);let r=PA.default.inc(t,e);if(r===null)throw new it(`Cannot apply the release strategy "${e}" on the specified version (${t})`);return r}function kG(t,e,{report:r}){let o=new Map;for(let a of t.workspaces)for(let n of _t.allDependencies)for(let u of a.manifest[n].values()){let A=t.tryWorkspaceByDescriptor(u);if(A===null||!e.has(A))continue;qe.getArrayWithDefault(o,A).push([a,n,u.identHash])}for(let[a,n]of e){let u=a.manifest.version;a.manifest.version=n,PA.default.prerelease(n)===null?delete a.manifest.raw.stableVersion:a.manifest.raw.stableVersion||(a.manifest.raw.stableVersion=u);let A=a.manifest.name!==null?G.stringifyIdent(a.manifest.name):null;r.reportInfo(0,`${G.prettyLocator(t.configuration,a.anchoredLocator)}: Bumped to ${n}`),r.reportJson({cwd:Ae.fromPortablePath(a.cwd),ident:A,oldVersion:u,newVersion:n});let p=o.get(a);if(!(typeof p>"u"))for(let[h,E,w]of p){let D=h.manifest[E].get(w);if(typeof D>"u")throw new Error("Assertion failed: The dependency should have existed");let x=D.range,C=!1;if(x.startsWith(ci.protocol)&&(x=x.slice(ci.protocol.length),C=!0,x===a.relativeCwd))continue;let T=x.match(bDt);if(!T){r.reportWarning(0,`Couldn't auto-upgrade range ${x} (in ${G.prettyLocator(t.configuration,h.anchoredLocator)})`);continue}let L=`${T[1]}${n}`;C&&(L=`${ci.protocol}${L}`);let U=G.makeDescriptor(D,L);h.manifest[E].set(w,U)}}}var kDt=new Map([["%n",{extract:t=>t.length>=1?[t[0],t.slice(1)]:null,generate:(t=0)=>`${t+1}`}]]);function Sve(t,{current:e,prerelease:r}){let o=new PA.default.SemVer(e),a=o.prerelease.slice(),n=[];o.prerelease=[],o.format()!==t&&(a.length=0);let u=!0,A=r.split(/\./g);for(let p of A){let h=kDt.get(p);if(typeof h>"u")n.push(p),a[0]===p?a.shift():u=!1;else{let E=u?h.extract(a):null;E!==null&&typeof E[0]=="number"?(n.push(h.generate(E[0])),a=E[1]):(n.push(h.generate()),u=!1)}}return o.prerelease&&(o.prerelease=[]),`${t}-${n.join(".")}`}var mI=class extends ut{constructor(){super(...arguments);this.all=de.Boolean("--all",!1,{description:"Apply the deferred version changes on all workspaces"});this.dryRun=de.Boolean("--dry-run",!1,{description:"Print the versions without actually generating the package archive"});this.prerelease=de.String("--prerelease",{description:"Add a prerelease identifier to new versions",tolerateBoolean:!0});this.recursive=de.Boolean("-R,--recursive",{description:"Release the transitive workspaces as well"});this.json=de.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"})}static{this.paths=[["version","apply"]]}static{this.usage=ot.Usage({category:"Release-related commands",description:"apply all the deferred version bumps at once",details:` + This command will apply the deferred version changes and remove their definitions from the repository. + + Note that if \`--prerelease\` is set, the given prerelease identifier (by default \`rc.%n\`) will be used on all new versions and the version definitions will be kept as-is. + + By default only the current workspace will be bumped, but you can configure this behavior by using one of: + + - \`--recursive\` to also apply the version bump on its dependencies + - \`--all\` to apply the version bump on all packages in the repository + + Note that this command will also update the \`workspace:\` references across all your local workspaces, thus ensuring that they keep referring to the same workspaces even after the version bump. + `,examples:[["Apply the version change to the local workspace","yarn version apply"],["Apply the version change to all the workspaces in the local workspace","yarn version apply --all"]]})}async execute(){let r=await ze.find(this.context.cwd,this.context.plugins),{project:o,workspace:a}=await Qt.find(r,this.context.cwd),n=await Wr.find(r);if(!a)throw new or(o.cwd,this.context.cwd);await o.restoreInstallState({restoreResolutions:!1});let u=await Nt.start({configuration:r,json:this.json,stdout:this.context.stdout},async A=>{let p=this.prerelease?typeof this.prerelease!="boolean"?this.prerelease:"rc.%n":null,h=await oD(o,{prerelease:p}),E=new Map;if(this.all)E=h;else{let w=this.recursive?a.getRecursiveWorkspaceDependencies():[a];for(let D of w){let x=h.get(D);typeof x<"u"&&E.set(D,x)}}if(E.size===0){let w=h.size>0?" Did you want to add --all?":"";A.reportWarning(0,`The current workspace doesn't seem to require a version bump.${w}`);return}kG(o,E,{report:A}),this.dryRun||(p||(this.all?await SG(o):await bG(o,[...E.keys()])),A.reportSeparator())});return this.dryRun||u.hasErrors()?u.exitCode():await o.installWithNewReport({json:this.json,stdout:this.context.stdout},{cache:n})}};Ke();Pt();Gt();var UF=et(ni());var yI=class extends ut{constructor(){super(...arguments);this.interactive=de.Boolean("-i,--interactive",{description:"Open an interactive interface used to set version bumps"})}static{this.paths=[["version","check"]]}static{this.usage=ot.Usage({category:"Release-related commands",description:"check that all the relevant packages have been bumped",details:"\n **Warning:** This command currently requires Git.\n\n This command will check that all the packages covered by the files listed in argument have been properly bumped or declined to bump.\n\n In the case of a bump, the check will also cover transitive packages - meaning that should `Foo` be bumped, a package `Bar` depending on `Foo` will require a decision as to whether `Bar` will need to be bumped. This check doesn't cross packages that have declined to bump.\n\n In case no arguments are passed to the function, the list of modified files will be generated by comparing the HEAD against `master`.\n ",examples:[["Check whether the modified packages need a bump","yarn version check"]]})}async execute(){return this.interactive?await this.executeInteractive():await this.executeStandard()}async executeInteractive(){AC(this.context);let{Gem:r}=await Promise.resolve().then(()=>(UQ(),oj)),{ScrollableItems:o}=await Promise.resolve().then(()=>(jQ(),qQ)),{FocusRequest:a}=await Promise.resolve().then(()=>(lj(),Qwe)),{useListInput:n}=await Promise.resolve().then(()=>(HQ(),Fwe)),{renderForm:u}=await Promise.resolve().then(()=>(KQ(),YQ)),{Box:A,Text:p}=await Promise.resolve().then(()=>et(ac())),{default:h,useCallback:E,useState:w}=await Promise.resolve().then(()=>et(ln())),D=await ze.find(this.context.cwd,this.context.plugins),{project:x,workspace:C}=await Qt.find(D,this.context.cwd);if(!C)throw new or(x.cwd,this.context.cwd);await x.restoreInstallState();let T=await gI(x);if(T===null||T.releaseRoots.size===0)return 0;if(T.root===null)throw new it("This command can only be run on Git repositories");let L=()=>h.createElement(A,{flexDirection:"row",paddingBottom:1},h.createElement(A,{flexDirection:"column",width:60},h.createElement(A,null,h.createElement(p,null,"Press ",h.createElement(p,{bold:!0,color:"cyanBright"},"<up>"),"/",h.createElement(p,{bold:!0,color:"cyanBright"},"<down>")," to select workspaces.")),h.createElement(A,null,h.createElement(p,null,"Press ",h.createElement(p,{bold:!0,color:"cyanBright"},"<left>"),"/",h.createElement(p,{bold:!0,color:"cyanBright"},"<right>")," to select release strategies."))),h.createElement(A,{flexDirection:"column"},h.createElement(A,{marginLeft:1},h.createElement(p,null,"Press ",h.createElement(p,{bold:!0,color:"cyanBright"},"<enter>")," to save.")),h.createElement(A,{marginLeft:1},h.createElement(p,null,"Press ",h.createElement(p,{bold:!0,color:"cyanBright"},"<ctrl+c>")," to abort.")))),U=({workspace:Ie,active:he,decision:De,setDecision:Ee})=>{let g=Ie.manifest.raw.stableVersion??Ie.manifest.version;if(g===null)throw new Error(`Assertion failed: The version should have been set (${G.prettyLocator(D,Ie.anchoredLocator)})`);if(UF.default.prerelease(g)!==null)throw new Error(`Assertion failed: Prerelease identifiers shouldn't be found (${g})`);let me=["undecided","decline","patch","minor","major"];n(De,me,{active:he,minus:"left",plus:"right",set:Ee});let Ce=De==="undecided"?h.createElement(p,{color:"yellow"},g):De==="decline"?h.createElement(p,{color:"green"},g):h.createElement(p,null,h.createElement(p,{color:"magenta"},g)," \u2192 ",h.createElement(p,{color:"green"},UF.default.valid(De)?De:UF.default.inc(g,De)));return h.createElement(A,{flexDirection:"column"},h.createElement(A,null,h.createElement(p,null,G.prettyLocator(D,Ie.anchoredLocator)," - ",Ce)),h.createElement(A,null,me.map(fe=>h.createElement(A,{key:fe,paddingLeft:2},h.createElement(p,null,h.createElement(r,{active:fe===De})," ",fe)))))},J=Ie=>{let he=new Set(T.releaseRoots),De=new Map([...Ie].filter(([Ee])=>he.has(Ee)));for(;;){let Ee=aD({project:T.project,releases:De}),g=!1;if(Ee.length>0){for(let[me]of Ee)if(!he.has(me)){he.add(me),g=!0;let Ce=Ie.get(me);typeof Ce<"u"&&De.set(me,Ce)}}if(!g)break}return{relevantWorkspaces:he,relevantReleases:De}},te=()=>{let[Ie,he]=w(()=>new Map(T.releases)),De=E((Ee,g)=>{let me=new Map(Ie);g!=="undecided"?me.set(Ee,g):me.delete(Ee);let{relevantReleases:Ce}=J(me);he(Ce)},[Ie,he]);return[Ie,De]},le=({workspaces:Ie,releases:he})=>{let De=[];De.push(`${Ie.size} total`);let Ee=0,g=0;for(let me of Ie){let Ce=he.get(me);typeof Ce>"u"?g+=1:Ce!=="decline"&&(Ee+=1)}return De.push(`${Ee} release${Ee===1?"":"s"}`),De.push(`${g} remaining`),h.createElement(p,{color:"yellow"},De.join(", "))},ue=await u(({useSubmit:Ie})=>{let[he,De]=te();Ie(he);let{relevantWorkspaces:Ee}=J(he),g=new Set([...Ee].filter(ie=>!T.releaseRoots.has(ie))),[me,Ce]=w(0),fe=E(ie=>{switch(ie){case a.BEFORE:Ce(me-1);break;case a.AFTER:Ce(me+1);break}},[me,Ce]);return h.createElement(A,{flexDirection:"column"},h.createElement(L,null),h.createElement(A,null,h.createElement(p,{wrap:"wrap"},"The following files have been modified in your local checkout.")),h.createElement(A,{flexDirection:"column",marginTop:1,paddingLeft:2},[...T.changedFiles].map(ie=>h.createElement(A,{key:ie},h.createElement(p,null,h.createElement(p,{color:"grey"},Ae.fromPortablePath(T.root)),Ae.sep,Ae.relative(Ae.fromPortablePath(T.root),Ae.fromPortablePath(ie)))))),T.releaseRoots.size>0&&h.createElement(h.Fragment,null,h.createElement(A,{marginTop:1},h.createElement(p,{wrap:"wrap"},"Because of those files having been modified, the following workspaces may need to be released again (note that private workspaces are also shown here, because even though they won't be published, releasing them will allow us to flag their dependents for potential re-release):")),g.size>3?h.createElement(A,{marginTop:1},h.createElement(le,{workspaces:T.releaseRoots,releases:he})):null,h.createElement(A,{marginTop:1,flexDirection:"column"},h.createElement(o,{active:me%2===0,radius:1,size:2,onFocusRequest:fe},[...T.releaseRoots].map(ie=>h.createElement(U,{key:ie.cwd,workspace:ie,decision:he.get(ie)||"undecided",setDecision:Z=>De(ie,Z)}))))),g.size>0?h.createElement(h.Fragment,null,h.createElement(A,{marginTop:1},h.createElement(p,{wrap:"wrap"},"The following workspaces depend on other workspaces that have been marked for release, and thus may need to be released as well:")),h.createElement(A,null,h.createElement(p,null,"(Press ",h.createElement(p,{bold:!0,color:"cyanBright"},"<tab>")," to move the focus between the workspace groups.)")),g.size>5?h.createElement(A,{marginTop:1},h.createElement(le,{workspaces:g,releases:he})):null,h.createElement(A,{marginTop:1,flexDirection:"column"},h.createElement(o,{active:me%2===1,radius:2,size:2,onFocusRequest:fe},[...g].map(ie=>h.createElement(U,{key:ie.cwd,workspace:ie,decision:he.get(ie)||"undecided",setDecision:Z=>De(ie,Z)}))))):null)},{versionFile:T},{stdin:this.context.stdin,stdout:this.context.stdout,stderr:this.context.stderr});if(typeof ue>"u")return 1;T.releases.clear();for(let[Ie,he]of ue)T.releases.set(Ie,he);await T.saveAll()}async executeStandard(){let r=await ze.find(this.context.cwd,this.context.plugins),{project:o,workspace:a}=await Qt.find(r,this.context.cwd);if(!a)throw new or(o.cwd,this.context.cwd);return await o.restoreInstallState(),(await Nt.start({configuration:r,stdout:this.context.stdout},async u=>{let A=await gI(o);if(A===null||A.releaseRoots.size===0)return;if(A.root===null)throw new it("This command can only be run on Git repositories");if(u.reportInfo(0,`Your PR was started right after ${pe.pretty(r,A.baseHash.slice(0,7),"yellow")} ${pe.pretty(r,A.baseTitle,"magenta")}`),A.changedFiles.size>0){u.reportInfo(0,"You have changed the following files since then:"),u.reportSeparator();for(let D of A.changedFiles)u.reportInfo(null,`${pe.pretty(r,Ae.fromPortablePath(A.root),"gray")}${Ae.sep}${Ae.relative(Ae.fromPortablePath(A.root),Ae.fromPortablePath(D))}`)}let p=!1,h=!1,E=OF(A);if(E.size>0){p||u.reportSeparator();for(let D of E)u.reportError(0,`${G.prettyLocator(r,D.anchoredLocator)} has been modified but doesn't have a release strategy attached`);p=!0}let w=aD(A);for(let[D,x]of w)h||u.reportSeparator(),u.reportError(0,`${G.prettyLocator(r,D.anchoredLocator)} doesn't have a release strategy attached, but depends on ${G.prettyWorkspace(r,x)} which is planned for release.`),h=!0;(p||h)&&(u.reportSeparator(),u.reportInfo(0,"This command detected that at least some workspaces have received modifications without explicit instructions as to how they had to be released (if needed)."),u.reportInfo(0,"To correct these errors, run `yarn version check --interactive` then follow the instructions."))})).exitCode()}};Ke();Gt();var _F=et(ni());var EI=class extends ut{constructor(){super(...arguments);this.deferred=de.Boolean("-d,--deferred",{description:"Prepare the version to be bumped during the next release cycle"});this.immediate=de.Boolean("-i,--immediate",{description:"Bump the version immediately"});this.strategy=de.String()}static{this.paths=[["version"]]}static{this.usage=ot.Usage({category:"Release-related commands",description:"apply a new version to the current package",details:"\n This command will bump the version number for the given package, following the specified strategy:\n\n - If `major`, the first number from the semver range will be increased (`X.0.0`).\n - If `minor`, the second number from the semver range will be increased (`0.X.0`).\n - If `patch`, the third number from the semver range will be increased (`0.0.X`).\n - If prefixed by `pre` (`premajor`, ...), a `-0` suffix will be set (`0.0.0-0`).\n - If `prerelease`, the suffix will be increased (`0.0.0-X`); the third number from the semver range will also be increased if there was no suffix in the previous version.\n - If `decline`, the nonce will be increased for `yarn version check` to pass without version bump.\n - If a valid semver range, it will be used as new version.\n - If unspecified, Yarn will ask you for guidance.\n\n For more information about the `--deferred` flag, consult our documentation (https://yarnpkg.com/features/release-workflow#deferred-versioning).\n ",examples:[["Immediately bump the version to the next major","yarn version major"],["Prepare the version to be bumped to the next major","yarn version major --deferred"]]})}async execute(){let r=await ze.find(this.context.cwd,this.context.plugins),{project:o,workspace:a}=await Qt.find(r,this.context.cwd);if(!a)throw new or(o.cwd,this.context.cwd);let n=r.get("preferDeferredVersions");this.deferred&&(n=!0),this.immediate&&(n=!1);let u=_F.default.valid(this.strategy),A=this.strategy==="decline",p;if(u)if(a.manifest.version!==null){let E=xG(a.manifest.version,this.strategy);E!==null?p=E:p=this.strategy}else p=this.strategy;else{let E=a.manifest.version;if(!A){if(E===null)throw new it("Can't bump the version if there wasn't a version to begin with - use 0.0.0 as initial version then run the command again.");if(typeof E!="string"||!_F.default.valid(E))throw new it(`Can't bump the version (${E}) if it's not valid semver`)}p=pI(this.strategy)}if(!n){let w=(await oD(o)).get(a);if(typeof w<"u"&&p!=="decline"){let D=MF(a.manifest.version,p);if(_F.default.lt(D,w))throw new it(`Can't bump the version to one that would be lower than the current deferred one (${w})`)}}let h=await gI(o,{allowEmpty:!0});return h.releases.set(a,p),await h.saveAll(),n?0:await this.cli.run(["version","apply"])}};var QDt={configuration:{deferredVersionFolder:{description:"Folder where are stored the versioning files",type:"ABSOLUTE_PATH",default:"./.yarn/versions"},preferDeferredVersions:{description:"If true, running `yarn version` will assume the `--deferred` flag unless `--immediate` is set",type:"BOOLEAN",default:!1}},commands:[mI,yI,EI]},FDt=QDt;var FG={};Kt(FG,{WorkspacesFocusCommand:()=>CI,WorkspacesForeachCommand:()=>wI,default:()=>NDt});Ke();Ke();Gt();var CI=class extends ut{constructor(){super(...arguments);this.json=de.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"});this.production=de.Boolean("--production",!1,{description:"Only install regular dependencies by omitting dev dependencies"});this.all=de.Boolean("-A,--all",!1,{description:"Install the entire project"});this.workspaces=de.Rest()}static{this.paths=[["workspaces","focus"]]}static{this.usage=ot.Usage({category:"Workspace-related commands",description:"install a single workspace and its dependencies",details:"\n This command will run an install as if the specified workspaces (and all other workspaces they depend on) were the only ones in the project. If no workspaces are explicitly listed, the active one will be assumed.\n\n Note that this command is only very moderately useful when using zero-installs, since the cache will contain all the packages anyway - meaning that the only difference between a full install and a focused install would just be a few extra lines in the `.pnp.cjs` file, at the cost of introducing an extra complexity.\n\n If the `-A,--all` flag is set, the entire project will be installed. Combine with `--production` to replicate the old `yarn install --production`.\n "})}async execute(){let r=await ze.find(this.context.cwd,this.context.plugins),{project:o,workspace:a}=await Qt.find(r,this.context.cwd),n=await Wr.find(r);await o.restoreInstallState({restoreResolutions:!1});let u;if(this.all)u=new Set(o.workspaces);else if(this.workspaces.length===0){if(!a)throw new or(o.cwd,this.context.cwd);u=new Set([a])}else u=new Set(this.workspaces.map(A=>o.getWorkspaceByIdent(G.parseIdent(A))));for(let A of u)for(let p of this.production?["dependencies"]:_t.hardDependencies)for(let h of A.manifest.getForScope(p).values()){let E=o.tryWorkspaceByDescriptor(h);E!==null&&u.add(E)}for(let A of o.workspaces)u.has(A)?this.production&&A.manifest.devDependencies.clear():(A.manifest.installConfig=A.manifest.installConfig||{},A.manifest.installConfig.selfReferences=!1,A.manifest.dependencies.clear(),A.manifest.devDependencies.clear(),A.manifest.peerDependencies.clear(),A.manifest.scripts.clear());return await o.installWithNewReport({json:this.json,stdout:this.context.stdout},{cache:n,persistProject:!1})}};Ke();Ke();Ke();Gt();var II=et(Xo()),xve=et(lg());il();var wI=class extends ut{constructor(){super(...arguments);this.from=de.Array("--from",{description:"An array of glob pattern idents or paths from which to base any recursion"});this.all=de.Boolean("-A,--all",{description:"Run the command on all workspaces of a project"});this.recursive=de.Boolean("-R,--recursive",{description:"Run the command on the current workspace and all of its recursive dependencies"});this.worktree=de.Boolean("-W,--worktree",{description:"Run the command on all workspaces of the current worktree"});this.verbose=de.Counter("-v,--verbose",{description:"Increase level of logging verbosity up to 2 times"});this.parallel=de.Boolean("-p,--parallel",!1,{description:"Run the commands in parallel"});this.interlaced=de.Boolean("-i,--interlaced",!1,{description:"Print the output of commands in real-time instead of buffering it"});this.jobs=de.String("-j,--jobs",{description:"The maximum number of parallel tasks that the execution will be limited to; or `unlimited`",validator:pN([js(["unlimited"]),vw(fN(),[gN(),hN(1)])])});this.topological=de.Boolean("-t,--topological",!1,{description:"Run the command after all workspaces it depends on (regular) have finished"});this.topologicalDev=de.Boolean("--topological-dev",!1,{description:"Run the command after all workspaces it depends on (regular + dev) have finished"});this.include=de.Array("--include",[],{description:"An array of glob pattern idents or paths; only matching workspaces will be traversed"});this.exclude=de.Array("--exclude",[],{description:"An array of glob pattern idents or paths; matching workspaces won't be traversed"});this.publicOnly=de.Boolean("--no-private",{description:"Avoid running the command on private workspaces"});this.since=de.String("--since",{description:"Only include workspaces that have been changed since the specified ref.",tolerateBoolean:!0});this.dryRun=de.Boolean("-n,--dry-run",{description:"Print the commands that would be run, without actually running them"});this.commandName=de.String();this.args=de.Proxy()}static{this.paths=[["workspaces","foreach"]]}static{this.usage=ot.Usage({category:"Workspace-related commands",description:"run a command on all workspaces",details:"\n This command will run a given sub-command on current and all its descendant workspaces. Various flags can alter the exact behavior of the command:\n\n - If `-p,--parallel` is set, the commands will be ran in parallel; they'll by default be limited to a number of parallel tasks roughly equal to half your core number, but that can be overridden via `-j,--jobs`, or disabled by setting `-j unlimited`.\n\n - If `-p,--parallel` and `-i,--interlaced` are both set, Yarn will print the lines from the output as it receives them. If `-i,--interlaced` wasn't set, it would instead buffer the output from each process and print the resulting buffers only after their source processes have exited.\n\n - If `-t,--topological` is set, Yarn will only run the command after all workspaces that it depends on through the `dependencies` field have successfully finished executing. If `--topological-dev` is set, both the `dependencies` and `devDependencies` fields will be considered when figuring out the wait points.\n\n - If `-A,--all` is set, Yarn will run the command on all the workspaces of a project.\n\n - If `-R,--recursive` is set, Yarn will find workspaces to run the command on by recursively evaluating `dependencies` and `devDependencies` fields, instead of looking at the `workspaces` fields.\n\n - If `-W,--worktree` is set, Yarn will find workspaces to run the command on by looking at the current worktree.\n\n - If `--from` is set, Yarn will use the packages matching the 'from' glob as the starting point for any recursive search.\n\n - If `--since` is set, Yarn will only run the command on workspaces that have been modified since the specified ref. By default Yarn will use the refs specified by the `changesetBaseRefs` configuration option.\n\n - If `--dry-run` is set, Yarn will explain what it would do without actually doing anything.\n\n - The command may apply to only some workspaces through the use of `--include` which acts as a whitelist. The `--exclude` flag will do the opposite and will be a list of packages that mustn't execute the script. Both flags accept glob patterns (if valid Idents and supported by [micromatch](https://github.com/micromatch/micromatch)). Make sure to escape the patterns, to prevent your own shell from trying to expand them.\n\n The `-v,--verbose` flag can be passed up to twice: once to prefix output lines with the originating workspace's name, and again to include start/finish/timing log lines. Maximum verbosity is enabled by default in terminal environments.\n\n If the command is `run` and the script being run does not exist the child workspace will be skipped without error.\n ",examples:[["Publish all packages","yarn workspaces foreach -A npm publish --tolerate-republish"],["Run the build script on all descendant packages","yarn workspaces foreach -A run build"],["Run the build script on current and all descendant packages in parallel, building package dependencies first","yarn workspaces foreach -Apt run build"],["Run the build script on several packages and all their dependencies, building dependencies first","yarn workspaces foreach -Rpt --from '{workspace-a,workspace-b}' run build"]]})}static{this.schema=[Pw("all",Ku.Forbids,["from","recursive","since","worktree"],{missingIf:"undefined"}),dN(["all","recursive","since","worktree"],{missingIf:"undefined"})]}async execute(){let r=await ze.find(this.context.cwd,this.context.plugins),{project:o,workspace:a}=await Qt.find(r,this.context.cwd);if(!this.all&&!a)throw new or(o.cwd,this.context.cwd);await o.restoreInstallState();let n=this.cli.process([this.commandName,...this.args]),u=n.path.length===1&&n.path[0]==="run"&&typeof n.scriptName<"u"?n.scriptName:null;if(n.path.length===0)throw new it("Invalid subcommand name for iteration - use the 'run' keyword if you wish to execute a script");let A=Ee=>{this.dryRun&&this.context.stdout.write(`${Ee} +`)},p=()=>{let Ee=this.from.map(g=>II.default.matcher(g));return o.workspaces.filter(g=>{let me=G.stringifyIdent(g.anchoredLocator),Ce=g.relativeCwd;return Ee.some(fe=>fe(me)||fe(Ce))})},h=[];if(this.since?(A("Option --since is set; selecting the changed workspaces as root for workspace selection"),h=Array.from(await ra.fetchChangedWorkspaces({ref:this.since,project:o}))):this.from?(A("Option --from is set; selecting the specified workspaces"),h=[...p()]):this.worktree?(A("Option --worktree is set; selecting the current workspace"),h=[a]):this.recursive?(A("Option --recursive is set; selecting the current workspace"),h=[a]):this.all&&(A("Option --all is set; selecting all workspaces"),h=[...o.workspaces]),this.dryRun&&!this.all){for(let Ee of h)A(` +- ${Ee.relativeCwd} + ${G.prettyLocator(r,Ee.anchoredLocator)}`);h.length>0&&A("")}let E;if(this.recursive?this.since?(A("Option --recursive --since is set; recursively selecting all dependent workspaces"),E=new Set(h.map(Ee=>[...Ee.getRecursiveWorkspaceDependents()]).flat())):(A("Option --recursive is set; recursively selecting all transitive dependencies"),E=new Set(h.map(Ee=>[...Ee.getRecursiveWorkspaceDependencies()]).flat())):this.worktree?(A("Option --worktree is set; recursively selecting all nested workspaces"),E=new Set(h.map(Ee=>[...Ee.getRecursiveWorkspaceChildren()]).flat())):E=null,E!==null&&(h=[...new Set([...h,...E])],this.dryRun))for(let Ee of E)A(` +- ${Ee.relativeCwd} + ${G.prettyLocator(r,Ee.anchoredLocator)}`);let w=[],D=!1;if(u?.includes(":")){for(let Ee of o.workspaces)if(Ee.manifest.scripts.has(u)&&(D=!D,D===!1))break}for(let Ee of h){if(u&&!Ee.manifest.scripts.has(u)&&!D&&!(await hn.getWorkspaceAccessibleBinaries(Ee)).has(u)){A(`Excluding ${Ee.relativeCwd} because it doesn't have a "${u}" script`);continue}if(!(u===r.env.npm_lifecycle_event&&Ee.cwd===a.cwd)){if(this.include.length>0&&!II.default.isMatch(G.stringifyIdent(Ee.anchoredLocator),this.include)&&!II.default.isMatch(Ee.relativeCwd,this.include)){A(`Excluding ${Ee.relativeCwd} because it doesn't match the --include filter`);continue}if(this.exclude.length>0&&(II.default.isMatch(G.stringifyIdent(Ee.anchoredLocator),this.exclude)||II.default.isMatch(Ee.relativeCwd,this.exclude))){A(`Excluding ${Ee.relativeCwd} because it matches the --exclude filter`);continue}if(this.publicOnly&&Ee.manifest.private===!0){A(`Excluding ${Ee.relativeCwd} because it's a private workspace and --no-private was set`);continue}w.push(Ee)}}if(this.dryRun)return 0;let x=this.verbose??(this.context.stdout.isTTY?1/0:0),C=x>0,T=x>1,L=this.parallel?this.jobs==="unlimited"?1/0:Number(this.jobs)||Math.ceil(Xi.availableParallelism()/2):1,U=L===1?!1:this.parallel,J=U?this.interlaced:!0,te=(0,xve.default)(L),le=new Map,ce=new Set,ue=0,Ie=null,he=!1,De=await Nt.start({configuration:r,stdout:this.context.stdout,includePrefix:!1},async Ee=>{let g=async(me,{commandIndex:Ce})=>{if(he)return-1;!U&&T&&Ce>1&&Ee.reportSeparator();let fe=RDt(me,{configuration:r,label:C,commandIndex:Ce}),[ie,Z]=bve(Ee,{prefix:fe,interlaced:J}),[Pe,Re]=bve(Ee,{prefix:fe,interlaced:J});try{T&&Ee.reportInfo(null,`${fe?`${fe} `:""}Process started`);let ht=Date.now(),q=await this.cli.run([this.commandName,...this.args],{cwd:me.cwd,stdout:ie,stderr:Pe})||0;ie.end(),Pe.end(),await Z,await Re;let nt=Date.now();if(T){let Ne=r.get("enableTimers")?`, completed in ${pe.pretty(r,nt-ht,pe.Type.DURATION)}`:"";Ee.reportInfo(null,`${fe?`${fe} `:""}Process exited (exit code ${q})${Ne}`)}return q===130&&(he=!0,Ie=q),q}catch(ht){throw ie.end(),Pe.end(),await Z,await Re,ht}};for(let me of w)le.set(me.anchoredLocator.locatorHash,me);for(;le.size>0&&!Ee.hasErrors();){let me=[];for(let[Z,Pe]of le){if(ce.has(Pe.anchoredDescriptor.descriptorHash))continue;let Re=!0;if(this.topological||this.topologicalDev){let ht=this.topologicalDev?new Map([...Pe.manifest.dependencies,...Pe.manifest.devDependencies]):Pe.manifest.dependencies;for(let q of ht.values()){let nt=o.tryWorkspaceByDescriptor(q);if(Re=nt===null||!le.has(nt.anchoredLocator.locatorHash),!Re)break}}if(Re&&(ce.add(Pe.anchoredDescriptor.descriptorHash),me.push(te(async()=>{let ht=await g(Pe,{commandIndex:++ue});return le.delete(Z),ce.delete(Pe.anchoredDescriptor.descriptorHash),{workspace:Pe,exitCode:ht}})),!U))break}if(me.length===0){let Z=Array.from(le.values()).map(Pe=>G.prettyLocator(r,Pe.anchoredLocator)).join(", ");Ee.reportError(3,`Dependency cycle detected (${Z})`);return}let Ce=await Promise.all(me);Ce.forEach(({workspace:Z,exitCode:Pe})=>{Pe!==0&&Ee.reportError(0,`The command failed in workspace ${G.prettyLocator(r,Z.anchoredLocator)} with exit code ${Pe}`)});let ie=Ce.map(Z=>Z.exitCode).find(Z=>Z!==0);(this.topological||this.topologicalDev)&&typeof ie<"u"&&Ee.reportError(0,"The command failed for workspaces that are depended upon by other workspaces; can't satisfy the dependency graph")}});return Ie!==null?Ie:De.exitCode()}};function bve(t,{prefix:e,interlaced:r}){let o=t.createStreamReporter(e),a=new qe.DefaultStream;a.pipe(o,{end:!1}),a.on("finish",()=>{o.end()});let n=new Promise(A=>{o.on("finish",()=>{A(a.active)})});if(r)return[a,n];let u=new qe.BufferStream;return u.pipe(a,{end:!1}),u.on("finish",()=>{a.end()}),[u,n]}function RDt(t,{configuration:e,commandIndex:r,label:o}){if(!o)return null;let n=`[${G.stringifyIdent(t.anchoredLocator)}]:`,u=["#2E86AB","#A23B72","#F18F01","#C73E1D","#CCE2A3"],A=u[r%u.length];return pe.pretty(e,n,A)}var TDt={commands:[CI,wI]},NDt=TDt;var lE=()=>({modules:new Map([["@yarnpkg/cli",S2],["@yarnpkg/core",P2],["@yarnpkg/fslib",Aw],["@yarnpkg/libzip",V1],["@yarnpkg/parsers",Ew],["@yarnpkg/shell",e2],["clipanion",Qw],["semver",LDt],["typanion",Yo],["@yarnpkg/plugin-essentials",MH],["@yarnpkg/plugin-compat",jH],["@yarnpkg/plugin-constraints",a6],["@yarnpkg/plugin-dlx",l6],["@yarnpkg/plugin-exec",A6],["@yarnpkg/plugin-file",p6],["@yarnpkg/plugin-git",OH],["@yarnpkg/plugin-github",d6],["@yarnpkg/plugin-http",m6],["@yarnpkg/plugin-init",y6],["@yarnpkg/plugin-interactive-tools",mj],["@yarnpkg/plugin-link",yj],["@yarnpkg/plugin-nm",t5],["@yarnpkg/plugin-npm",$5],["@yarnpkg/plugin-npm-cli",lG],["@yarnpkg/plugin-pack",V5],["@yarnpkg/plugin-patch",gG],["@yarnpkg/plugin-pnp",jj],["@yarnpkg/plugin-pnpm",yG],["@yarnpkg/plugin-stage",DG],["@yarnpkg/plugin-typescript",PG],["@yarnpkg/plugin-version",QG],["@yarnpkg/plugin-workspace-tools",FG]]),plugins:new Set(["@yarnpkg/plugin-essentials","@yarnpkg/plugin-compat","@yarnpkg/plugin-constraints","@yarnpkg/plugin-dlx","@yarnpkg/plugin-exec","@yarnpkg/plugin-file","@yarnpkg/plugin-git","@yarnpkg/plugin-github","@yarnpkg/plugin-http","@yarnpkg/plugin-init","@yarnpkg/plugin-interactive-tools","@yarnpkg/plugin-link","@yarnpkg/plugin-nm","@yarnpkg/plugin-npm","@yarnpkg/plugin-npm-cli","@yarnpkg/plugin-pack","@yarnpkg/plugin-patch","@yarnpkg/plugin-pnp","@yarnpkg/plugin-pnpm","@yarnpkg/plugin-stage","@yarnpkg/plugin-typescript","@yarnpkg/plugin-version","@yarnpkg/plugin-workspace-tools"])});function Fve({cwd:t,pluginConfiguration:e}){let r=new Vo({binaryLabel:"Yarn Package Manager",binaryName:"yarn",binaryVersion:nn??"<unknown>"});return Object.assign(r,{defaultContext:{...Vo.defaultContext,cwd:t,plugins:e,quiet:!1,stdin:process.stdin,stdout:process.stdout,stderr:process.stderr}})}function ODt(t){if(qe.parseOptionalBoolean(process.env.YARN_IGNORE_NODE))return!0;let r=process.versions.node,o=">=18.12.0";if(Ur.satisfiesWithPrereleases(r,o))return!0;let a=new it(`This tool requires a Node version compatible with ${o} (got ${r}). Upgrade Node, or set \`YARN_IGNORE_NODE=1\` in your environment.`);return Vo.defaultContext.stdout.write(t.error(a)),!1}async function Rve({selfPath:t,pluginConfiguration:e}){return await ze.find(Ae.toPortablePath(process.cwd()),e,{strict:!1,usePathCheck:t})}function MDt(t,e,{yarnPath:r}){if(!ae.existsSync(r))return t.error(new Error(`The "yarn-path" option has been set, but the specified location doesn't exist (${r}).`)),1;process.on("SIGINT",()=>{});let o={stdio:"inherit",env:{...process.env,YARN_IGNORE_PATH:"1"}};try{(0,kve.execFileSync)(process.execPath,[Ae.fromPortablePath(r),...e],o)}catch(a){return a.status??1}return 0}function UDt(t,e){let r=null,o=e;return e.length>=2&&e[0]==="--cwd"?(r=Ae.toPortablePath(e[1]),o=e.slice(2)):e.length>=1&&e[0].startsWith("--cwd=")?(r=Ae.toPortablePath(e[0].slice(6)),o=e.slice(1)):e[0]==="add"&&e[e.length-2]==="--cwd"&&(r=Ae.toPortablePath(e[e.length-1]),o=e.slice(0,e.length-2)),t.defaultContext.cwd=r!==null?K.resolve(r):K.cwd(),o}function _Dt(t,{configuration:e}){if(!e.get("enableTelemetry")||Qve.isCI||!process.stdout.isTTY)return;ze.telemetry=new sE(e,"puba9cdc10ec5790a2cf4969dd413a47270");let o=/^@yarnpkg\/plugin-(.*)$/;for(let a of e.plugins.keys())oE.has(a.match(o)?.[1]??"")&&ze.telemetry?.reportPluginName(a);t.binaryVersion&&ze.telemetry.reportVersion(t.binaryVersion)}function Tve(t,{configuration:e}){for(let r of e.plugins.values())for(let o of r.commands||[])t.register(o)}async function HDt(t,e,{selfPath:r,pluginConfiguration:o}){if(!ODt(t))return 1;let a=await Rve({selfPath:r,pluginConfiguration:o}),n=a.get("yarnPath"),u=a.get("ignorePath");if(n&&!u)return MDt(t,e,{yarnPath:n});delete process.env.YARN_IGNORE_PATH;let A=UDt(t,e);_Dt(t,{configuration:a}),Tve(t,{configuration:a});let p=t.process(A,t.defaultContext);return p.help||ze.telemetry?.reportCommandName(p.path.join(" ")),await t.run(p,t.defaultContext)}async function qhe({cwd:t=K.cwd(),pluginConfiguration:e=lE()}={}){let r=Fve({cwd:t,pluginConfiguration:e}),o=await Rve({pluginConfiguration:e,selfPath:null});return Tve(r,{configuration:o}),r}async function Lk(t,{cwd:e=K.cwd(),selfPath:r,pluginConfiguration:o}){let a=Fve({cwd:e,pluginConfiguration:o});function n(){Vo.defaultContext.stdout.write(`ERROR: Yarn is terminating due to an unexpected empty event loop. +Please report this issue at https://github.com/yarnpkg/berry/issues.`)}process.once("beforeExit",n);try{process.exitCode=42,process.exitCode=await HDt(a,t,{selfPath:r,pluginConfiguration:o})}catch(u){Vo.defaultContext.stdout.write(a.error(u)),process.exitCode=1}finally{process.off("beforeExit",n),await ae.rmtempPromise()}}Lk(process.argv.slice(2),{cwd:K.cwd(),selfPath:Ae.toPortablePath(Ae.resolve(process.argv[1])),pluginConfiguration:lE()});})(); +/** + @license + Copyright (c) 2015, Rebecca Turner + + Permission to use, copy, modify, and/or distribute this software for any + purpose with or without fee is hereby granted, provided that the above + copyright notice and this permission notice appear in all copies. + + THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH + REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND + FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, + INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM + LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR + OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR + PERFORMANCE OF THIS SOFTWARE. + */ +/** + @license + Copyright Node.js contributors. All rights reserved. + + Permission is hereby granted, free of charge, to any person obtaining a copy + of this software and associated documentation files (the "Software"), to + deal in the Software without restriction, including without limitation the + rights to use, copy, modify, merge, publish, distribute, sublicense, and/or + sell copies of the Software, and to permit persons to whom the Software is + furnished to do so, subject to the following conditions: + + The above copyright notice and this permission notice shall be included in + all copies or substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING + FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS + IN THE SOFTWARE. +*/ +/** + @license + The MIT License (MIT) + + Copyright (c) 2014 Blake Embrey (hello@blakeembrey.com) + + Permission is hereby granted, free of charge, to any person obtaining a copy + of this software and associated documentation files (the "Software"), to deal + in the Software without restriction, including without limitation the rights + to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + copies of the Software, and to permit persons to whom the Software is + furnished to do so, subject to the following conditions: + + The above copyright notice and this permission notice shall be included in + all copies or substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN + THE SOFTWARE. +*/ +/** + @license + Copyright Joyent, Inc. and other Node contributors. + + Permission is hereby granted, free of charge, to any person obtaining a + copy of this software and associated documentation files (the + "Software"), to deal in the Software without restriction, including + without limitation the rights to use, copy, modify, merge, publish, + distribute, sublicense, and/or sell copies of the Software, and to permit + persons to whom the Software is furnished to do so, subject to the + following conditions: + + The above copyright notice and this permission notice shall be included + in all copies or substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS + OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN + NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, + DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR + OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE + USE OR OTHER DEALINGS IN THE SOFTWARE. +*/ +/*! Bundled license information: + +is-number/index.js: + (*! + * is-number <https://github.com/jonschlinkert/is-number> + * + * Copyright (c) 2014-present, Jon Schlinkert. + * Released under the MIT License. + *) + +to-regex-range/index.js: + (*! + * to-regex-range <https://github.com/micromatch/to-regex-range> + * + * Copyright (c) 2015-present, Jon Schlinkert. + * Released under the MIT License. + *) + +fill-range/index.js: + (*! + * fill-range <https://github.com/jonschlinkert/fill-range> + * + * Copyright (c) 2014-present, Jon Schlinkert. + * Licensed under the MIT License. + *) + +is-extglob/index.js: + (*! + * is-extglob <https://github.com/jonschlinkert/is-extglob> + * + * Copyright (c) 2014-2016, Jon Schlinkert. + * Licensed under the MIT License. + *) + +is-glob/index.js: + (*! + * is-glob <https://github.com/jonschlinkert/is-glob> + * + * Copyright (c) 2014-2017, Jon Schlinkert. + * Released under the MIT License. + *) + +queue-microtask/index.js: + (*! queue-microtask. MIT License. Feross Aboukhadijeh <https://feross.org/opensource> *) + +run-parallel/index.js: + (*! run-parallel. MIT License. Feross Aboukhadijeh <https://feross.org/opensource> *) + +git-url-parse/lib/index.js: + (*! + * buildToken + * Builds OAuth token prefix (helper function) + * + * @name buildToken + * @function + * @param {GitUrl} obj The parsed Git url object. + * @return {String} token prefix + *) + +object-assign/index.js: + (* + object-assign + (c) Sindre Sorhus + @license MIT + *) + +react/cjs/react.production.min.js: + (** @license React v17.0.2 + * react.production.min.js + * + * Copyright (c) Facebook, Inc. and its affiliates. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + *) + +scheduler/cjs/scheduler.production.min.js: + (** @license React v0.20.2 + * scheduler.production.min.js + * + * Copyright (c) Facebook, Inc. and its affiliates. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + *) + +react-reconciler/cjs/react-reconciler.production.min.js: + (** @license React v0.26.2 + * react-reconciler.production.min.js + * + * Copyright (c) Facebook, Inc. and its affiliates. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + *) + +is-windows/index.js: + (*! + * is-windows <https://github.com/jonschlinkert/is-windows> + * + * Copyright © 2015-2018, Jon Schlinkert. + * Released under the MIT License. + *) +*/ diff --git a/.yarnrc.yml b/.yarnrc.yml index fb47c904..1dbd1e31 100644 --- a/.yarnrc.yml +++ b/.yarnrc.yml @@ -7,8 +7,8 @@ changesetBaseRefs: changesetIgnorePatterns: - '!{docs,src/**,{CHANGELOG,LICENSE,README}.md,package.json}' - '**/*.snap' - - '**/*.spec.ts' - - '**/*.spec-d.ts' + - '**/*.spec.mts' + - '**/*.spec-d.mts' compressionLevel: mixed @@ -20,16 +20,19 @@ enableInlineBuilds: true enableTransparentWorkspaces: false -nmHoistingLimits: dependencies +injectEnvironmentFiles: + - .env.repo? + +nmHoistingLimits: workspaces nodeLinker: node-modules npmScopes: flex-development: npmAlwaysAuth: true - npmAuthToken: ${GITHUB_TOKEN:-$PAT_BOT} + npmAuthToken: ${GITHUB_TOKEN:-$GH_REGISTRY_TOKEN} npmRegistryServer: https://npm.pkg.github.com patchFolder: ./patches -yarnPath: .yarn/releases/yarn-4.0.0-rc.50.cjs +yarnPath: .yarn/releases/yarn-4.6.0.cjs diff --git a/CHANGELOG.md b/CHANGELOG.md index ac5a39db..79dba137 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,402 +2,402 @@ ### :package: Build -- **deps-dev:** Bump @arethetypeswrong/cli from 0.7.1 to 0.10.1 ([#355](https://github.com/flex-development/mkbuild/pull/355)) ([54bb2fb](https://github.com/flex-development/mkbuild/commit/54bb2fb03f077a1fdb5c46c017b04c137cc9a1cf)) -- **deps-dev:** Bump cspell from 7.0.1-alpha.9 to 7.0.1 ([#343](https://github.com/flex-development/mkbuild/pull/343)) ([e79d07d](https://github.com/flex-development/mkbuild/commit/e79d07ddcee1b6b43e6f0cbf636101cbb8dab4bc)) -- **deps-dev:** Bump eslint-plugin-import from 2.27.5 to 2.28.1 ([#338](https://github.com/flex-development/mkbuild/pull/338)) ([213b9c7](https://github.com/flex-development/mkbuild/commit/213b9c7ae852898ba11b500f102dbbce3490bd34)) -- **deps-dev:** Bump lint-staged from 14.0.0 to 14.0.1 ([#342](https://github.com/flex-development/mkbuild/pull/342)) ([26ede25](https://github.com/flex-development/mkbuild/commit/26ede255854b4bfe712839bef75eb02335d4c8c6)) -- **deps-dev:** Bump prettier from 3.0.1 to 3.0.2 ([#335](https://github.com/flex-development/mkbuild/pull/335)) ([61ffe13](https://github.com/flex-development/mkbuild/commit/61ffe13a5241bb3dfcd88c9db58faf56079918ba)) -- **deps-dev:** Bump pretty-format from 29.6.2 to 29.6.3 ([#345](https://github.com/flex-development/mkbuild/pull/345)) ([a897063](https://github.com/flex-development/mkbuild/commit/a897063a884d72541c633c54742fd46aa04b25ec)) -- **deps-dev:** Bump the conventional-changelog group with 1 update ([#358](https://github.com/flex-development/mkbuild/pull/358)) ([57ce066](https://github.com/flex-development/mkbuild/commit/57ce0667b631d471f2167ac6d18de22ffac67b25)) -- **deps-dev:** Bump the nest-commander group with 3 updates ([#341](https://github.com/flex-development/mkbuild/pull/341)) ([3de0482](https://github.com/flex-development/mkbuild/commit/3de048237ffa0226a6550526068d19766694e614)) -- **deps-dev:** Bump the nest-commander group with 3 updates ([#344](https://github.com/flex-development/mkbuild/pull/344)) ([9878ba8](https://github.com/flex-development/mkbuild/commit/9878ba8f9254fec008ea19f415e08f6440222194)) -- **deps-dev:** Bump the typescript-eslint group with 2 updates ([#340](https://github.com/flex-development/mkbuild/pull/340)) ([a2aad8a](https://github.com/flex-development/mkbuild/commit/a2aad8a5cf4f990317ed6dcc2bdb5b33c59ee0ee)) -- **deps-dev:** Bump the typescript-eslint group with 2 updates ([#359](https://github.com/flex-development/mkbuild/pull/359)) ([ce91937](https://github.com/flex-development/mkbuild/commit/ce91937a9c8ec7cf091e98784dd89b6ca4e5fe75)) -- **deps-dev:** Bump the vitest group with 3 updates ([#336](https://github.com/flex-development/mkbuild/pull/336)) ([5d00999](https://github.com/flex-development/mkbuild/commit/5d00999cb1246a2ec83e5822e8e6847504cbe6d1)) -- **deps-dev:** bump typescript from 5.1.6 to 5.2.2 ([53f2198](https://github.com/flex-development/mkbuild/commit/53f21981e4184a1e3f31b6522ca209b6651be6c8)) -- **deps-dev:** use @flex-development/nest-commander in lieu of nest-commander ([6624182](https://github.com/flex-development/mkbuild/commit/6624182ccc862dd2a690225372fb825b8c4b6714)) -- **deps:** bump @flex-development/tutils from 6.0.0-alpha.21 to 6.0.0-alpha.22 ([493ead9](https://github.com/flex-development/mkbuild/commit/493ead95d1c05f21b3d69574084df75da745f376)) -- **node:** require `>=16.20.0 <20.6.0 || >20.6.0` ([c7be6f0](https://github.com/flex-development/mkbuild/commit/c7be6f0c30e6b8921589ee7d4a149763512fbd69)) +- [[`54bb2fb`](https://github.com/flex-development/mkbuild/commit/54bb2fb03f077a1fdb5c46c017b04c137cc9a1cf)] **deps-dev:** Bump @arethetypeswrong/cli from 0.7.1 to 0.10.1 ([#355](https://github.com/flex-development/mkbuild/issues/355)) +- [[`e79d07d`](https://github.com/flex-development/mkbuild/commit/e79d07ddcee1b6b43e6f0cbf636101cbb8dab4bc)] **deps-dev:** Bump cspell from 7.0.1-alpha.9 to 7.0.1 ([#343](https://github.com/flex-development/mkbuild/issues/343)) +- [[`213b9c7`](https://github.com/flex-development/mkbuild/commit/213b9c7ae852898ba11b500f102dbbce3490bd34)] **deps-dev:** Bump eslint-plugin-import from 2.27.5 to 2.28.1 ([#338](https://github.com/flex-development/mkbuild/issues/338)) +- [[`26ede25`](https://github.com/flex-development/mkbuild/commit/26ede255854b4bfe712839bef75eb02335d4c8c6)] **deps-dev:** Bump lint-staged from 14.0.0 to 14.0.1 ([#342](https://github.com/flex-development/mkbuild/issues/342)) +- [[`61ffe13`](https://github.com/flex-development/mkbuild/commit/61ffe13a5241bb3dfcd88c9db58faf56079918ba)] **deps-dev:** Bump prettier from 3.0.1 to 3.0.2 ([#335](https://github.com/flex-development/mkbuild/issues/335)) +- [[`a897063`](https://github.com/flex-development/mkbuild/commit/a897063a884d72541c633c54742fd46aa04b25ec)] **deps-dev:** Bump pretty-format from 29.6.2 to 29.6.3 ([#345](https://github.com/flex-development/mkbuild/issues/345)) +- [[`57ce066`](https://github.com/flex-development/mkbuild/commit/57ce0667b631d471f2167ac6d18de22ffac67b25)] **deps-dev:** Bump the conventional-changelog group with 1 update ([#358](https://github.com/flex-development/mkbuild/issues/358)) +- [[`3de0482`](https://github.com/flex-development/mkbuild/commit/3de048237ffa0226a6550526068d19766694e614)] **deps-dev:** Bump the nest-commander group with 3 updates ([#341](https://github.com/flex-development/mkbuild/issues/341)) +- [[`9878ba8`](https://github.com/flex-development/mkbuild/commit/9878ba8f9254fec008ea19f415e08f6440222194)] **deps-dev:** Bump the nest-commander group with 3 updates ([#344](https://github.com/flex-development/mkbuild/issues/344)) +- [[`a2aad8a`](https://github.com/flex-development/mkbuild/commit/a2aad8a5cf4f990317ed6dcc2bdb5b33c59ee0ee)] **deps-dev:** Bump the typescript-eslint group with 2 updates ([#340](https://github.com/flex-development/mkbuild/issues/340)) +- [[`ce91937`](https://github.com/flex-development/mkbuild/commit/ce91937a9c8ec7cf091e98784dd89b6ca4e5fe75)] **deps-dev:** Bump the typescript-eslint group with 2 updates ([#359](https://github.com/flex-development/mkbuild/issues/359)) +- [[`5d00999`](https://github.com/flex-development/mkbuild/commit/5d00999cb1246a2ec83e5822e8e6847504cbe6d1)] **deps-dev:** Bump the vitest group with 3 updates ([#336](https://github.com/flex-development/mkbuild/issues/336)) +- [[`53f2198`](https://github.com/flex-development/mkbuild/commit/53f21981e4184a1e3f31b6522ca209b6651be6c8)] **deps-dev:** bump typescript from 5.1.6 to 5.2.2 +- [[`6624182`](https://github.com/flex-development/mkbuild/commit/6624182ccc862dd2a690225372fb825b8c4b6714)] **deps-dev:** use @flex-development/nest-commander in lieu of nest-commander +- [[`493ead9`](https://github.com/flex-development/mkbuild/commit/493ead95d1c05f21b3d69574084df75da745f376)] **deps:** bump @flex-development/tutils from 6.0.0-alpha.21 to 6.0.0-alpha.22 +- [[`c7be6f0`](https://github.com/flex-development/mkbuild/commit/c7be6f0c30e6b8921589ee7d4a149763512fbd69)] **node:** require `>=16.20.0 <20.6.0 || >20.6.0` ### :robot: Continuous Integration -- **deps:** Bump actions/cache from 3.3.1 to 3.3.2 ([#357](https://github.com/flex-development/mkbuild/pull/357)) ([45b7880](https://github.com/flex-development/mkbuild/commit/45b7880ba9b920c4619abc512cbb0032aaaf5bb6)) -- **deps:** Bump actions/checkout from 3.5.3 to 3.6.0 ([#347](https://github.com/flex-development/mkbuild/pull/347)) ([cb21aa1](https://github.com/flex-development/mkbuild/commit/cb21aa17124a6d3ec9e48bf14f15fe66eb11ef48)) -- **deps:** Bump actions/checkout from 3.6.0 to 4.0.0 ([#354](https://github.com/flex-development/mkbuild/pull/354)) ([c3bc181](https://github.com/flex-development/mkbuild/commit/c3bc18119155aba2de5fb48c28d13d364ad1cac2)) -- **deps:** Bump actions/setup-node from 3.7.0 to 3.8.0 ([#334](https://github.com/flex-development/mkbuild/pull/334)) ([bc0a5ce](https://github.com/flex-development/mkbuild/commit/bc0a5ce3640d3e74ed2aaf320356d10486f2b2f9)) -- **deps:** Bump actions/setup-node from 3.8.0 to 3.8.1 ([#337](https://github.com/flex-development/mkbuild/pull/337)) ([b65fdfa](https://github.com/flex-development/mkbuild/commit/b65fdfa1326f45535d6363643e4e2e3a07df52fa)) -- **deps:** Bump actions/upload-artifact from 3.1.2 to 3.1.3 ([#356](https://github.com/flex-development/mkbuild/pull/356)) ([5a5d1b0](https://github.com/flex-development/mkbuild/commit/5a5d1b0683320ea53de228f693fdf2d0f1dc1b65)) -- **deps:** Bump crazy-max/ghaction-import-gpg from 5.3.0 to 5.4.0 ([#353](https://github.com/flex-development/mkbuild/pull/353)) ([1404901](https://github.com/flex-development/mkbuild/commit/1404901e7bad0940db7447f29cf07251d0da6cfd)) +- [[`45b7880`](https://github.com/flex-development/mkbuild/commit/45b7880ba9b920c4619abc512cbb0032aaaf5bb6)] **deps:** Bump actions/cache from 3.3.1 to 3.3.2 ([#357](https://github.com/flex-development/mkbuild/issues/357)) +- [[`cb21aa1`](https://github.com/flex-development/mkbuild/commit/cb21aa17124a6d3ec9e48bf14f15fe66eb11ef48)] **deps:** Bump actions/checkout from 3.5.3 to 3.6.0 ([#347](https://github.com/flex-development/mkbuild/issues/347)) +- [[`c3bc181`](https://github.com/flex-development/mkbuild/commit/c3bc18119155aba2de5fb48c28d13d364ad1cac2)] **deps:** Bump actions/checkout from 3.6.0 to 4.0.0 ([#354](https://github.com/flex-development/mkbuild/issues/354)) +- [[`bc0a5ce`](https://github.com/flex-development/mkbuild/commit/bc0a5ce3640d3e74ed2aaf320356d10486f2b2f9)] **deps:** Bump actions/setup-node from 3.7.0 to 3.8.0 ([#334](https://github.com/flex-development/mkbuild/issues/334)) +- [[`b65fdfa`](https://github.com/flex-development/mkbuild/commit/b65fdfa1326f45535d6363643e4e2e3a07df52fa)] **deps:** Bump actions/setup-node from 3.8.0 to 3.8.1 ([#337](https://github.com/flex-development/mkbuild/issues/337)) +- [[`5a5d1b0`](https://github.com/flex-development/mkbuild/commit/5a5d1b0683320ea53de228f693fdf2d0f1dc1b65)] **deps:** Bump actions/upload-artifact from 3.1.2 to 3.1.3 ([#356](https://github.com/flex-development/mkbuild/issues/356)) +- [[`1404901`](https://github.com/flex-development/mkbuild/commit/1404901e7bad0940db7447f29cf07251d0da6cfd)] **deps:** Bump crazy-max/ghaction-import-gpg from 5.3.0 to 5.4.0 ([#353](https://github.com/flex-development/mkbuild/issues/353)) ### :bug: Fixes -- **plugins:** [`decorators`] decorator check ([978ffe9](https://github.com/flex-development/mkbuild/commit/978ffe9ec9abfb25868f6ff547cfd45c87c4111a)) +- [[`978ffe9`](https://github.com/flex-development/mkbuild/commit/978ffe9ec9abfb25868f6ff547cfd45c87c4111a)] **plugins:** [`decorators`] decorator check ### :house_with_garden: Housekeeping -- dprint migration ([7f578c9](https://github.com/flex-development/mkbuild/commit/7f578c90c69d12b283e49b9036c06029585630f8)) +- [[`7f578c9`](https://github.com/flex-development/mkbuild/commit/7f578c90c69d12b283e49b9036c06029585630f8)] dprint migration ## [1.0.0-alpha.22](https://github.com/flex-development/mkbuild/compare/1.0.0-alpha.21...1.0.0-alpha.22) (2023-08-15) ### :package: Build -- **cli:** reduce bundle size ([91c650a](https://github.com/flex-development/mkbuild/commit/91c650a3c4912ecc51ebb917985d9c84ebe5e0fd)) -- **deps-dev:** Bump @commitlint/cli from 17.6.7 to 17.7.1 ([#323](https://github.com/flex-development/mkbuild/pull/323)) ([87af7e8](https://github.com/flex-development/mkbuild/commit/87af7e8db532d49df7006bc007e7fdf40d94820c)) -- **deps-dev:** Bump cspell from 7.0.1-alpha.8 to 7.0.1-alpha.9 ([#324](https://github.com/flex-development/mkbuild/pull/324)) ([7ceb570](https://github.com/flex-development/mkbuild/commit/7ceb570fac53a856da567b90c226cfe88c466276)) -- **deps-dev:** Bump esbuild from 0.19.0 to 0.19.2 ([#328](https://github.com/flex-development/mkbuild/pull/328)) ([a3796f6](https://github.com/flex-development/mkbuild/commit/a3796f6c5e7b28019295b1b07ecbc62f095aa5cf)) -- **deps-dev:** Bump eslint from 8.46.0 to 8.47.0 ([#326](https://github.com/flex-development/mkbuild/pull/326)) ([9efab5b](https://github.com/flex-development/mkbuild/commit/9efab5b72e8101eeb01501f7828822a89354765e)) -- **deps-dev:** Bump eslint-import-resolver-typescript from 3.5.5 to 3.6.0 ([#322](https://github.com/flex-development/mkbuild/pull/322)) ([9d09339](https://github.com/flex-development/mkbuild/commit/9d0933993835cbb6606c550e57af271539d00241)) -- **deps-dev:** Bump eslint-plugin-markdownlint from 0.4.1 to 0.5.0 ([#331](https://github.com/flex-development/mkbuild/pull/331)) ([1d144ed](https://github.com/flex-development/mkbuild/commit/1d144ed0752e72c6bc6f761d2b3c1cb1d07e6545)) -- **deps-dev:** Bump graphql from 16.7.1 to 16.8.0 ([#332](https://github.com/flex-development/mkbuild/pull/332)) ([977a400](https://github.com/flex-development/mkbuild/commit/977a400d70badcb9dc32b62484768505e663bca4)) -- **deps-dev:** Bump lint-staged from 13.2.3 to 14.0.0 ([#327](https://github.com/flex-development/mkbuild/pull/327)) ([c8226b3](https://github.com/flex-development/mkbuild/commit/c8226b329261078b78fd2e4735f72d53a89efcaa)) -- **deps-dev:** Bump the typescript-eslint group with 2 updates ([#329](https://github.com/flex-development/mkbuild/pull/329)) ([dbec932](https://github.com/flex-development/mkbuild/commit/dbec932edbb8cf0e42048e9de2eccb715ab83df8)) -- **deps-dev:** drop rxjs ([8d99303](https://github.com/flex-development/mkbuild/commit/8d99303a2d6b942b509de959c296a73063ade081)) -- **deps:** bump @flex-development/tutils from 6.0.0-alpha.18 to 6.0.0-alpha.19 ([8c450c6](https://github.com/flex-development/mkbuild/commit/8c450c6a3570594115c50271524b498d1ba7bdd7)) -- **deps:** Bump the flex-development group with 1 update ([#325](https://github.com/flex-development/mkbuild/pull/325)) ([cc5f665](https://github.com/flex-development/mkbuild/commit/cc5f665a34191efcfbdb3d6948fd75a47c2070ff)) -- **deps:** Bump the flex-development group with 3 updates ([#330](https://github.com/flex-development/mkbuild/pull/330)) ([613a69a](https://github.com/flex-development/mkbuild/commit/613a69aae2ce4087e0e6a4eebfdc3b535bcf88b8)) +- [[`91c650a`](https://github.com/flex-development/mkbuild/commit/91c650a3c4912ecc51ebb917985d9c84ebe5e0fd)] **cli:** reduce bundle size +- [[`87af7e8`](https://github.com/flex-development/mkbuild/commit/87af7e8db532d49df7006bc007e7fdf40d94820c)] **deps-dev:** Bump @commitlint/cli from 17.6.7 to 17.7.1 ([#323](https://github.com/flex-development/mkbuild/issues/323)) +- [[`7ceb570`](https://github.com/flex-development/mkbuild/commit/7ceb570fac53a856da567b90c226cfe88c466276)] **deps-dev:** Bump cspell from 7.0.1-alpha.8 to 7.0.1-alpha.9 ([#324](https://github.com/flex-development/mkbuild/issues/324)) +- [[`a3796f6`](https://github.com/flex-development/mkbuild/commit/a3796f6c5e7b28019295b1b07ecbc62f095aa5cf)] **deps-dev:** Bump esbuild from 0.19.0 to 0.19.2 ([#328](https://github.com/flex-development/mkbuild/issues/328)) +- [[`9efab5b`](https://github.com/flex-development/mkbuild/commit/9efab5b72e8101eeb01501f7828822a89354765e)] **deps-dev:** Bump eslint from 8.46.0 to 8.47.0 ([#326](https://github.com/flex-development/mkbuild/issues/326)) +- [[`9d09339`](https://github.com/flex-development/mkbuild/commit/9d0933993835cbb6606c550e57af271539d00241)] **deps-dev:** Bump eslint-import-resolver-typescript from 3.5.5 to 3.6.0 ([#322](https://github.com/flex-development/mkbuild/issues/322)) +- [[`1d144ed`](https://github.com/flex-development/mkbuild/commit/1d144ed0752e72c6bc6f761d2b3c1cb1d07e6545)] **deps-dev:** Bump eslint-plugin-markdownlint from 0.4.1 to 0.5.0 ([#331](https://github.com/flex-development/mkbuild/issues/331)) +- [[`977a400`](https://github.com/flex-development/mkbuild/commit/977a400d70badcb9dc32b62484768505e663bca4)] **deps-dev:** Bump graphql from 16.7.1 to 16.8.0 ([#332](https://github.com/flex-development/mkbuild/issues/332)) +- [[`c8226b3`](https://github.com/flex-development/mkbuild/commit/c8226b329261078b78fd2e4735f72d53a89efcaa)] **deps-dev:** Bump lint-staged from 13.2.3 to 14.0.0 ([#327](https://github.com/flex-development/mkbuild/issues/327)) +- [[`dbec932`](https://github.com/flex-development/mkbuild/commit/dbec932edbb8cf0e42048e9de2eccb715ab83df8)] **deps-dev:** Bump the typescript-eslint group with 2 updates ([#329](https://github.com/flex-development/mkbuild/issues/329)) +- [[`8d99303`](https://github.com/flex-development/mkbuild/commit/8d99303a2d6b942b509de959c296a73063ade081)] **deps-dev:** drop rxjs +- [[`8c450c6`](https://github.com/flex-development/mkbuild/commit/8c450c6a3570594115c50271524b498d1ba7bdd7)] **deps:** bump @flex-development/tutils from 6.0.0-alpha.18 to 6.0.0-alpha.19 +- [[`cc5f665`](https://github.com/flex-development/mkbuild/commit/cc5f665a34191efcfbdb3d6948fd75a47c2070ff)] **deps:** Bump the flex-development group with 1 update ([#325](https://github.com/flex-development/mkbuild/issues/325)) +- [[`613a69a`](https://github.com/flex-development/mkbuild/commit/613a69aae2ce4087e0e6a4eebfdc3b535bcf88b8)] **deps:** Bump the flex-development group with 3 updates ([#330](https://github.com/flex-development/mkbuild/issues/330)) ## [1.0.0-alpha.21](https://github.com/flex-development/mkbuild/compare/1.0.0-alpha.20...1.0.0-alpha.21) (2023-08-09) ### ⚠ BREAKING CHANGES -- **deps-peer:** bump esbuild from >=0.17.16 to >=0.19.0 - **deps-peer:** bump typescript from >=4.8 to >=5.0.4 +- **deps-peer:** bump esbuild from >=0.17.16 to >=0.19.0 ### :package: Build -- **deps-dev:** Bump @commitlint/cli from 17.5.1 to 17.6.1 ([#215](https://github.com/flex-development/mkbuild/pull/215)) ([bcac6be](https://github.com/flex-development/mkbuild/commit/bcac6be4533d1ef390c13dd9720f19ade4fed4a0)) -- **deps-dev:** Bump @commitlint/cli from 17.6.1 to 17.6.3 ([#245](https://github.com/flex-development/mkbuild/pull/245)) ([a8a1910](https://github.com/flex-development/mkbuild/commit/a8a191030af17cead765635657000f69f60150e1)) -- **deps-dev:** Bump @faker-js/faker from 8.0.0-alpha.2 to 8.0.0-beta.0 ([#237](https://github.com/flex-development/mkbuild/pull/237)) ([bfd8c8a](https://github.com/flex-development/mkbuild/commit/bfd8c8a245008cd24e7a83380e665e22d3d94013)) -- **deps-dev:** Bump @faker-js/faker from 8.0.0-beta.0 to 8.0.1 ([#267](https://github.com/flex-development/mkbuild/pull/267)) ([7767381](https://github.com/flex-development/mkbuild/commit/77673817454aa759b8f1b73f1130f8141638096b)) -- **deps-dev:** Bump @nestjs/common from 9.4.0 to 9.4.1 ([#264](https://github.com/flex-development/mkbuild/pull/264)) ([3a18713](https://github.com/flex-development/mkbuild/commit/3a18713ae02ac5369825e95a29ff33f1094737f4)) -- **deps-dev:** Bump @nestjs/testing from 9.4.0 to 9.4.2 ([#273](https://github.com/flex-development/mkbuild/pull/273)) ([d80e3ce](https://github.com/flex-development/mkbuild/commit/d80e3ce7d0fa34f111cd4fb216b2f981ae82b45d)) -- **deps-dev:** Bump @typescript-eslint/eslint-plugin from 5.57.1 to 5.58.0 ([#200](https://github.com/flex-development/mkbuild/pull/200)) ([2302f52](https://github.com/flex-development/mkbuild/commit/2302f523b082a1119c9803c3e6720ffcf17ac571)) -- **deps-dev:** Bump @typescript-eslint/eslint-plugin from 5.58.0 to 5.59.1 ([#226](https://github.com/flex-development/mkbuild/pull/226)) ([b7e5d2c](https://github.com/flex-development/mkbuild/commit/b7e5d2c3e1a06dda22791689004fbab4e1feec75)) -- **deps-dev:** Bump @typescript-eslint/eslint-plugin from 5.59.1 to 5.59.2 ([#239](https://github.com/flex-development/mkbuild/pull/239)) ([fbbd66f](https://github.com/flex-development/mkbuild/commit/fbbd66ff789ac98a4da2a2f6a566d714d395b22d)) -- **deps-dev:** Bump @typescript-eslint/eslint-plugin from 5.59.2 to 5.59.6 ([#263](https://github.com/flex-development/mkbuild/pull/263)) ([54af0f1](https://github.com/flex-development/mkbuild/commit/54af0f169f33bb6b456e8ece5e49f8851f212059)) -- **deps-dev:** Bump @typescript-eslint/eslint-plugin from 5.59.6 to 5.59.9 ([#282](https://github.com/flex-development/mkbuild/pull/282)) ([346ea89](https://github.com/flex-development/mkbuild/commit/346ea897e0041912b898b80918d91bec8e8abd90)) -- **deps-dev:** Bump @typescript-eslint/parser from 5.57.1 to 5.58.0 ([#198](https://github.com/flex-development/mkbuild/pull/198)) ([0483dec](https://github.com/flex-development/mkbuild/commit/0483deca1d68e109bfebe089a3f8743abbbf5eb9)) -- **deps-dev:** Bump @typescript-eslint/parser from 5.58.0 to 5.59.1 ([#225](https://github.com/flex-development/mkbuild/pull/225)) ([8535942](https://github.com/flex-development/mkbuild/commit/853594280f3ff765013bc61d6aba189cdd287d1a)) -- **deps-dev:** Bump @typescript-eslint/parser from 5.59.1 to 5.59.2 ([#240](https://github.com/flex-development/mkbuild/pull/240)) ([12be8bd](https://github.com/flex-development/mkbuild/commit/12be8bd49a2d93d816c63f1db4df883fcf85ba9e)) -- **deps-dev:** Bump @typescript-eslint/parser from 5.59.2 to 5.59.6 ([#265](https://github.com/flex-development/mkbuild/pull/265)) ([caae4f4](https://github.com/flex-development/mkbuild/commit/caae4f47eb5580981e0b72f7a273dcd61ad9248e)) -- **deps-dev:** Bump @vitest/coverage-c8 from 0.30.0 to 0.30.1 ([#208](https://github.com/flex-development/mkbuild/pull/208)) ([8838fb5](https://github.com/flex-development/mkbuild/commit/8838fb554d172558531bf8446e8fa087a65cf257)) -- **deps-dev:** Bump @vitest/coverage-c8 from 0.30.1 to 0.31.0 ([#244](https://github.com/flex-development/mkbuild/pull/244)) ([17fa527](https://github.com/flex-development/mkbuild/commit/17fa527e9d0bdd06c700dd76ba0fd82923393842)) -- **deps-dev:** Bump @vitest/ui from 0.30.0 to 0.30.1 ([#207](https://github.com/flex-development/mkbuild/pull/207)) ([f574f57](https://github.com/flex-development/mkbuild/commit/f574f574d7f18fff517c44048e055d91f504c843)) -- **deps-dev:** Bump @vitest/ui from 0.30.1 to 0.31.0 ([#243](https://github.com/flex-development/mkbuild/pull/243)) ([fefe745](https://github.com/flex-development/mkbuild/commit/fefe74554253003c60b4cc4b3fbe83f88748e447)) -- **deps-dev:** Bump conventional-changelog from 3.1.25 to 4.0.0 ([#283](https://github.com/flex-development/mkbuild/pull/283)) ([f683b68](https://github.com/flex-development/mkbuild/commit/f683b68ee0c3a6df4e2d3f0a1934a0131efef5ab)) -- **deps-dev:** Bump esbuild from 0.17.16 to 0.17.18 ([#228](https://github.com/flex-development/mkbuild/pull/228)) ([e76b6bb](https://github.com/flex-development/mkbuild/commit/e76b6bb986788dc9e319b711fca6628905421dbf)) -- **deps-dev:** Bump esbuild from 0.17.18 to 0.17.19 ([#258](https://github.com/flex-development/mkbuild/pull/258)) ([f80b788](https://github.com/flex-development/mkbuild/commit/f80b788b5c73b3f077293cc8e273977cd2271310)) -- **deps-dev:** Bump eslint from 8.38.0 to 8.39.0 ([#236](https://github.com/flex-development/mkbuild/pull/236)) ([72f7f76](https://github.com/flex-development/mkbuild/commit/72f7f76119fb0ce488604c4d34afb09a58f4e7dd)) -- **deps-dev:** Bump eslint-plugin-jsdoc from 40.1.2 to 40.3.0 ([#202](https://github.com/flex-development/mkbuild/pull/202)) ([7c56a77](https://github.com/flex-development/mkbuild/commit/7c56a771393c6f883776df3f938a9c382d9aa619)) -- **deps-dev:** Bump eslint-plugin-jsonc from 2.7.0 to 2.8.0 ([#270](https://github.com/flex-development/mkbuild/pull/270)) ([396e34c](https://github.com/flex-development/mkbuild/commit/396e34c63f42326af86b442bc67f5c53846848fa)) -- **deps-dev:** Bump eslint-plugin-yml from 1.5.0 to 1.7.0 ([#252](https://github.com/flex-development/mkbuild/pull/252)) ([f8823e3](https://github.com/flex-development/mkbuild/commit/f8823e3a0ec3fde7ff75b93a603818570a0d82e8)) -- **deps-dev:** Bump jsonc-eslint-parser from 2.2.0 to 2.3.0 ([#266](https://github.com/flex-development/mkbuild/pull/266)) ([29b9802](https://github.com/flex-development/mkbuild/commit/29b9802d4768e70a0f1b2387726413f4cc9f9e06)) -- **deps-dev:** Bump lint-staged from 13.2.1 to 13.2.2 ([#234](https://github.com/flex-development/mkbuild/pull/234)) ([67296ee](https://github.com/flex-development/mkbuild/commit/67296ee150b5bb88dd99ac2ca974d90ae9191295)) -- **deps-dev:** Bump memfs from 3.5.0 to 3.5.1 ([#232](https://github.com/flex-development/mkbuild/pull/232)) ([4f7d78e](https://github.com/flex-development/mkbuild/commit/4f7d78eda57ffbf186dc5ae5bbdccbaee48949f9)) -- **deps-dev:** bump nest-commander from 3.6.1 to 3.11.1 ([193628e](https://github.com/flex-development/mkbuild/commit/193628ee6abdb6d16573ed3d0a185355ee9451ce)) -- **deps-dev:** Bump prettier from 2.8.7 to 2.8.8 ([#231](https://github.com/flex-development/mkbuild/pull/231)) ([aa6124a](https://github.com/flex-development/mkbuild/commit/aa6124a6c9af644862333d91dcf18c1883319cfb)) -- **deps-dev:** Bump rxjs from 8.0.0-alpha.8 to 8.0.0-alpha.9 ([#235](https://github.com/flex-development/mkbuild/pull/235)) ([f42159f](https://github.com/flex-development/mkbuild/commit/f42159fe16d26a3e29e909a55b4cd805e979d5f9)) -- **deps-dev:** Bump rxjs from 8.0.0-alpha.9 to 8.0.0-alpha.10 ([#316](https://github.com/flex-development/mkbuild/pull/316)) ([134b3a8](https://github.com/flex-development/mkbuild/commit/134b3a8f696eebc22541f8d1a871f4bba4c598f9)) -- **deps-dev:** Bump semver from 7.3.8 to 7.4.0 ([#201](https://github.com/flex-development/mkbuild/pull/201)) ([88dabfc](https://github.com/flex-development/mkbuild/commit/88dabfcca8ca589faa350dedb27311c840f147dc)) -- **deps-dev:** Bump semver from 7.4.0 to 7.5.0 ([#230](https://github.com/flex-development/mkbuild/pull/230)) ([c15d78d](https://github.com/flex-development/mkbuild/commit/c15d78de9413bb5ab9c944f37e239e689346e6c7)) -- **deps-dev:** Bump semver from 7.5.0 to 7.5.1 ([#260](https://github.com/flex-development/mkbuild/pull/260)) ([7608d6d](https://github.com/flex-development/mkbuild/commit/7608d6d263f4da9a4f9dbc37a8c8706d624250c5)) -- **deps-dev:** Bump semver from 7.5.1 to 7.5.2 ([#291](https://github.com/flex-development/mkbuild/pull/291)) ([37bd0b7](https://github.com/flex-development/mkbuild/commit/37bd0b7f0f1a084e3c9c22bd3e185b97ed36592c)) -- **deps-dev:** Bump the conventional-changelog group with 4 updates ([#308](https://github.com/flex-development/mkbuild/pull/308)) ([3221385](https://github.com/flex-development/mkbuild/commit/32213856dc244f24ba95361b23e5366aa16a81ac)) -- **deps-dev:** Bump the nest-commander group with 2 updates ([#310](https://github.com/flex-development/mkbuild/pull/310)) ([417b284](https://github.com/flex-development/mkbuild/commit/417b284d1b54cfbb40079030aa5c9979f8f26568)) -- **deps-dev:** Bump the nestjs group with 3 updates ([#311](https://github.com/flex-development/mkbuild/pull/311)) ([2c00577](https://github.com/flex-development/mkbuild/commit/2c005779e389242c06d8a4625b13f8e6bda19c22)) -- **deps-dev:** Bump vite from 4.2.1 to 4.3.3 ([#238](https://github.com/flex-development/mkbuild/pull/238)) ([2d6c332](https://github.com/flex-development/mkbuild/commit/2d6c3329c5524fda5f6dc1a177ba75ea203d7b17)) -- **deps-dev:** Bump vite from 4.3.3 to 4.3.4 ([#241](https://github.com/flex-development/mkbuild/pull/241)) ([5f82361](https://github.com/flex-development/mkbuild/commit/5f823610109407643f81d2cf4a292ed9f288d988)) -- **deps-dev:** Bump vite from 4.3.4 to 4.3.5 ([#254](https://github.com/flex-development/mkbuild/pull/254)) ([4666178](https://github.com/flex-development/mkbuild/commit/4666178ea40889ac304c995f6364078f38794392)) -- **deps-dev:** Bump vite from 4.3.5 to 4.3.9 ([#280](https://github.com/flex-development/mkbuild/pull/280)) ([6b65962](https://github.com/flex-development/mkbuild/commit/6b659629040134e309e35016329bd838d380cd4b)) -- **deps-dev:** Bump vite-tsconfig-paths from 4.0.8 to 4.1.0 ([#199](https://github.com/flex-development/mkbuild/pull/199)) ([00568f8](https://github.com/flex-development/mkbuild/commit/00568f8514c3193a6237979d33498b85e5ffcd7d)) -- **deps-dev:** Bump vite-tsconfig-paths from 4.1.0 to 4.2.0 ([#210](https://github.com/flex-development/mkbuild/pull/210)) ([05e80bc](https://github.com/flex-development/mkbuild/commit/05e80bc9ca18bde040289bad07ac2a8ffa0aae85)) -- **deps-dev:** Bump vitest from 0.30.0 to 0.30.1 ([#205](https://github.com/flex-development/mkbuild/pull/205)) ([ef3acc8](https://github.com/flex-development/mkbuild/commit/ef3acc86cc186047ec4f8579a182b242580d95bf)) -- **deps-dev:** Bump vitest from 0.30.1 to 0.31.1 ([#262](https://github.com/flex-development/mkbuild/pull/262)) ([d00ea5f](https://github.com/flex-development/mkbuild/commit/d00ea5f5d6a13409469987d3ea7903b42f69d312)) -- **deps-dev:** Bump word-wrap from 1.2.3 to 1.2.4 ([#303](https://github.com/flex-development/mkbuild/pull/303)) ([a8e34af](https://github.com/flex-development/mkbuild/commit/a8e34afd7c0923755124ffc78c91508bb5fc8796)) -- **deps-dev:** Bump word-wrap from 1.2.4 to 1.2.5 ([#317](https://github.com/flex-development/mkbuild/pull/317)) ([4029e9d](https://github.com/flex-development/mkbuild/commit/4029e9d4f306d6703a8cd505d5119287e3550435)) -- **deps-dev:** Bump yaml-eslint-parser from 1.2.0 to 1.2.2 ([#250](https://github.com/flex-development/mkbuild/pull/250)) ([fccb080](https://github.com/flex-development/mkbuild/commit/fccb08098f8fc208f6c62d9ca518b57c2e2ade0c)) -- **deps-peer:** bump esbuild from >=0.17.16 to >=0.19.0 ([530c25f](https://github.com/flex-development/mkbuild/commit/530c25f602eaa5ac3fdc4760087426023915f7d2)) -- **deps-peer:** bump typescript from >=4.8 to >=5.0.4 ([6216456](https://github.com/flex-development/mkbuild/commit/6216456c3af53743d05b45b9516399a9c739cad6)) -- **deps:** bump @flex-development/tutils from 6.0.0-alpha.10 to 6.0.0-alpha.18 ([3082838](https://github.com/flex-development/mkbuild/commit/3082838c423eabf13aa9f367823f2ca488cc382e)) -- **deps:** Bump colorette from 2.0.19 to 2.0.20 ([#219](https://github.com/flex-development/mkbuild/pull/219)) ([1d5fb7e](https://github.com/flex-development/mkbuild/commit/1d5fb7e387bdf36808c0e5eb961dbede707e72fd)) -- **deps:** Bump consola from 3.0.0-3 to 3.0.2 ([#212](https://github.com/flex-development/mkbuild/pull/212)) ([075a097](https://github.com/flex-development/mkbuild/commit/075a097a9233e7135092676b9b236bad18cb8ab7)) -- **deps:** Bump consola from 3.0.2 to 3.1.0 ([#229](https://github.com/flex-development/mkbuild/pull/229)) ([f4c5a53](https://github.com/flex-development/mkbuild/commit/f4c5a53f06526fa1e6ffaab29298d35a37ad836d)) -- **deps:** Bump consola from 3.1.0 to 3.2.3 ([#313](https://github.com/flex-development/mkbuild/pull/313)) ([d6c9df4](https://github.com/flex-development/mkbuild/commit/d6c9df4f7ac2f774d0be773a9429cf5cd9ede128)) -- **deps:** Bump cosmiconfig from 8.1.3 to 8.2.0 ([#319](https://github.com/flex-development/mkbuild/pull/319)) ([1a305bd](https://github.com/flex-development/mkbuild/commit/1a305bd598828b17b9dea88dd92d9a2ac2b642a1)) -- **deps:** Bump fast-glob from 3.2.12 to 3.3.1 ([#318](https://github.com/flex-development/mkbuild/pull/318)) ([2738ea1](https://github.com/flex-development/mkbuild/commit/2738ea1d55a1870b426ac2f095a86c2a95b3b2d9)) -- **deps:** Bump merge-anything from 5.1.4 to 5.1.5 ([#233](https://github.com/flex-development/mkbuild/pull/233)) ([a0a5af6](https://github.com/flex-development/mkbuild/commit/a0a5af67975057e60b0835ac339546802ad34dae)) -- **deps:** Bump merge-anything from 5.1.5 to 5.1.6 ([#256](https://github.com/flex-development/mkbuild/pull/256)) ([772d4f7](https://github.com/flex-development/mkbuild/commit/772d4f722b57ba5e12d0128e8df54e23168ae06e)) -- **deps:** Bump pretty-bytes from 6.1.0 to 6.1.1 ([#320](https://github.com/flex-development/mkbuild/pull/320)) ([7b3b852](https://github.com/flex-development/mkbuild/commit/7b3b8521cb0abea69523f75e9ecfdb47658b746f)) -- **deps:** Bump the flex-development group with 8 updates ([#312](https://github.com/flex-development/mkbuild/pull/312)) ([01d00df](https://github.com/flex-development/mkbuild/commit/01d00df3f0aa3058d8f9a5ecdd1dc2bbf00014cd)) -- **deps:** replace colorette with tinyrainbow ([a2d139b](https://github.com/flex-development/mkbuild/commit/a2d139b8b07c6068960c7a5102fa3e8c00c21992)) +- [[`bcac6be`](https://github.com/flex-development/mkbuild/commit/bcac6be4533d1ef390c13dd9720f19ade4fed4a0)] **deps-dev:** Bump @commitlint/cli from 17.5.1 to 17.6.1 ([#215](https://github.com/flex-development/mkbuild/issues/215)) +- [[`a8a1910`](https://github.com/flex-development/mkbuild/commit/a8a191030af17cead765635657000f69f60150e1)] **deps-dev:** Bump @commitlint/cli from 17.6.1 to 17.6.3 ([#245](https://github.com/flex-development/mkbuild/issues/245)) +- [[`bfd8c8a`](https://github.com/flex-development/mkbuild/commit/bfd8c8a245008cd24e7a83380e665e22d3d94013)] **deps-dev:** Bump @faker-js/faker from 8.0.0-alpha.2 to 8.0.0-beta.0 ([#237](https://github.com/flex-development/mkbuild/issues/237)) +- [[`7767381`](https://github.com/flex-development/mkbuild/commit/77673817454aa759b8f1b73f1130f8141638096b)] **deps-dev:** Bump @faker-js/faker from 8.0.0-beta.0 to 8.0.1 ([#267](https://github.com/flex-development/mkbuild/issues/267)) +- [[`3a18713`](https://github.com/flex-development/mkbuild/commit/3a18713ae02ac5369825e95a29ff33f1094737f4)] **deps-dev:** Bump @nestjs/common from 9.4.0 to 9.4.1 ([#264](https://github.com/flex-development/mkbuild/issues/264)) +- [[`d80e3ce`](https://github.com/flex-development/mkbuild/commit/d80e3ce7d0fa34f111cd4fb216b2f981ae82b45d)] **deps-dev:** Bump @nestjs/testing from 9.4.0 to 9.4.2 ([#273](https://github.com/flex-development/mkbuild/issues/273)) +- [[`2302f52`](https://github.com/flex-development/mkbuild/commit/2302f523b082a1119c9803c3e6720ffcf17ac571)] **deps-dev:** Bump @typescript-eslint/eslint-plugin from 5.57.1 to 5.58.0 ([#200](https://github.com/flex-development/mkbuild/issues/200)) +- [[`b7e5d2c`](https://github.com/flex-development/mkbuild/commit/b7e5d2c3e1a06dda22791689004fbab4e1feec75)] **deps-dev:** Bump @typescript-eslint/eslint-plugin from 5.58.0 to 5.59.1 ([#226](https://github.com/flex-development/mkbuild/issues/226)) +- [[`fbbd66f`](https://github.com/flex-development/mkbuild/commit/fbbd66ff789ac98a4da2a2f6a566d714d395b22d)] **deps-dev:** Bump @typescript-eslint/eslint-plugin from 5.59.1 to 5.59.2 ([#239](https://github.com/flex-development/mkbuild/issues/239)) +- [[`54af0f1`](https://github.com/flex-development/mkbuild/commit/54af0f169f33bb6b456e8ece5e49f8851f212059)] **deps-dev:** Bump @typescript-eslint/eslint-plugin from 5.59.2 to 5.59.6 ([#263](https://github.com/flex-development/mkbuild/issues/263)) +- [[`346ea89`](https://github.com/flex-development/mkbuild/commit/346ea897e0041912b898b80918d91bec8e8abd90)] **deps-dev:** Bump @typescript-eslint/eslint-plugin from 5.59.6 to 5.59.9 ([#282](https://github.com/flex-development/mkbuild/issues/282)) +- [[`0483dec`](https://github.com/flex-development/mkbuild/commit/0483deca1d68e109bfebe089a3f8743abbbf5eb9)] **deps-dev:** Bump @typescript-eslint/parser from 5.57.1 to 5.58.0 ([#198](https://github.com/flex-development/mkbuild/issues/198)) +- [[`8535942`](https://github.com/flex-development/mkbuild/commit/853594280f3ff765013bc61d6aba189cdd287d1a)] **deps-dev:** Bump @typescript-eslint/parser from 5.58.0 to 5.59.1 ([#225](https://github.com/flex-development/mkbuild/issues/225)) +- [[`12be8bd`](https://github.com/flex-development/mkbuild/commit/12be8bd49a2d93d816c63f1db4df883fcf85ba9e)] **deps-dev:** Bump @typescript-eslint/parser from 5.59.1 to 5.59.2 ([#240](https://github.com/flex-development/mkbuild/issues/240)) +- [[`caae4f4`](https://github.com/flex-development/mkbuild/commit/caae4f47eb5580981e0b72f7a273dcd61ad9248e)] **deps-dev:** Bump @typescript-eslint/parser from 5.59.2 to 5.59.6 ([#265](https://github.com/flex-development/mkbuild/issues/265)) +- [[`8838fb5`](https://github.com/flex-development/mkbuild/commit/8838fb554d172558531bf8446e8fa087a65cf257)] **deps-dev:** Bump @vitest/coverage-c8 from 0.30.0 to 0.30.1 ([#208](https://github.com/flex-development/mkbuild/issues/208)) +- [[`17fa527`](https://github.com/flex-development/mkbuild/commit/17fa527e9d0bdd06c700dd76ba0fd82923393842)] **deps-dev:** Bump @vitest/coverage-c8 from 0.30.1 to 0.31.0 ([#244](https://github.com/flex-development/mkbuild/issues/244)) +- [[`f574f57`](https://github.com/flex-development/mkbuild/commit/f574f574d7f18fff517c44048e055d91f504c843)] **deps-dev:** Bump @vitest/ui from 0.30.0 to 0.30.1 ([#207](https://github.com/flex-development/mkbuild/issues/207)) +- [[`fefe745`](https://github.com/flex-development/mkbuild/commit/fefe74554253003c60b4cc4b3fbe83f88748e447)] **deps-dev:** Bump @vitest/ui from 0.30.1 to 0.31.0 ([#243](https://github.com/flex-development/mkbuild/issues/243)) +- [[`f683b68`](https://github.com/flex-development/mkbuild/commit/f683b68ee0c3a6df4e2d3f0a1934a0131efef5ab)] **deps-dev:** Bump conventional-changelog from 3.1.25 to 4.0.0 ([#283](https://github.com/flex-development/mkbuild/issues/283)) +- [[`e76b6bb`](https://github.com/flex-development/mkbuild/commit/e76b6bb986788dc9e319b711fca6628905421dbf)] **deps-dev:** Bump esbuild from 0.17.16 to 0.17.18 ([#228](https://github.com/flex-development/mkbuild/issues/228)) +- [[`f80b788`](https://github.com/flex-development/mkbuild/commit/f80b788b5c73b3f077293cc8e273977cd2271310)] **deps-dev:** Bump esbuild from 0.17.18 to 0.17.19 ([#258](https://github.com/flex-development/mkbuild/issues/258)) +- [[`72f7f76`](https://github.com/flex-development/mkbuild/commit/72f7f76119fb0ce488604c4d34afb09a58f4e7dd)] **deps-dev:** Bump eslint from 8.38.0 to 8.39.0 ([#236](https://github.com/flex-development/mkbuild/issues/236)) +- [[`7c56a77`](https://github.com/flex-development/mkbuild/commit/7c56a771393c6f883776df3f938a9c382d9aa619)] **deps-dev:** Bump eslint-plugin-jsdoc from 40.1.2 to 40.3.0 ([#202](https://github.com/flex-development/mkbuild/issues/202)) +- [[`396e34c`](https://github.com/flex-development/mkbuild/commit/396e34c63f42326af86b442bc67f5c53846848fa)] **deps-dev:** Bump eslint-plugin-jsonc from 2.7.0 to 2.8.0 ([#270](https://github.com/flex-development/mkbuild/issues/270)) +- [[`f8823e3`](https://github.com/flex-development/mkbuild/commit/f8823e3a0ec3fde7ff75b93a603818570a0d82e8)] **deps-dev:** Bump eslint-plugin-yml from 1.5.0 to 1.7.0 ([#252](https://github.com/flex-development/mkbuild/issues/252)) +- [[`29b9802`](https://github.com/flex-development/mkbuild/commit/29b9802d4768e70a0f1b2387726413f4cc9f9e06)] **deps-dev:** Bump jsonc-eslint-parser from 2.2.0 to 2.3.0 ([#266](https://github.com/flex-development/mkbuild/issues/266)) +- [[`67296ee`](https://github.com/flex-development/mkbuild/commit/67296ee150b5bb88dd99ac2ca974d90ae9191295)] **deps-dev:** Bump lint-staged from 13.2.1 to 13.2.2 ([#234](https://github.com/flex-development/mkbuild/issues/234)) +- [[`4f7d78e`](https://github.com/flex-development/mkbuild/commit/4f7d78eda57ffbf186dc5ae5bbdccbaee48949f9)] **deps-dev:** Bump memfs from 3.5.0 to 3.5.1 ([#232](https://github.com/flex-development/mkbuild/issues/232)) +- [[`193628e`](https://github.com/flex-development/mkbuild/commit/193628ee6abdb6d16573ed3d0a185355ee9451ce)] **deps-dev:** bump nest-commander from 3.6.1 to 3.11.1 +- [[`aa6124a`](https://github.com/flex-development/mkbuild/commit/aa6124a6c9af644862333d91dcf18c1883319cfb)] **deps-dev:** Bump prettier from 2.8.7 to 2.8.8 ([#231](https://github.com/flex-development/mkbuild/issues/231)) +- [[`f42159f`](https://github.com/flex-development/mkbuild/commit/f42159fe16d26a3e29e909a55b4cd805e979d5f9)] **deps-dev:** Bump rxjs from 8.0.0-alpha.8 to 8.0.0-alpha.9 ([#235](https://github.com/flex-development/mkbuild/issues/235)) +- [[`134b3a8`](https://github.com/flex-development/mkbuild/commit/134b3a8f696eebc22541f8d1a871f4bba4c598f9)] **deps-dev:** Bump rxjs from 8.0.0-alpha.9 to 8.0.0-alpha.10 ([#316](https://github.com/flex-development/mkbuild/issues/316)) +- [[`88dabfc`](https://github.com/flex-development/mkbuild/commit/88dabfcca8ca589faa350dedb27311c840f147dc)] **deps-dev:** Bump semver from 7.3.8 to 7.4.0 ([#201](https://github.com/flex-development/mkbuild/issues/201)) +- [[`c15d78d`](https://github.com/flex-development/mkbuild/commit/c15d78de9413bb5ab9c944f37e239e689346e6c7)] **deps-dev:** Bump semver from 7.4.0 to 7.5.0 ([#230](https://github.com/flex-development/mkbuild/issues/230)) +- [[`7608d6d`](https://github.com/flex-development/mkbuild/commit/7608d6d263f4da9a4f9dbc37a8c8706d624250c5)] **deps-dev:** Bump semver from 7.5.0 to 7.5.1 ([#260](https://github.com/flex-development/mkbuild/issues/260)) +- [[`37bd0b7`](https://github.com/flex-development/mkbuild/commit/37bd0b7f0f1a084e3c9c22bd3e185b97ed36592c)] **deps-dev:** Bump semver from 7.5.1 to 7.5.2 ([#291](https://github.com/flex-development/mkbuild/issues/291)) +- [[`3221385`](https://github.com/flex-development/mkbuild/commit/32213856dc244f24ba95361b23e5366aa16a81ac)] **deps-dev:** Bump the conventional-changelog group with 4 updates ([#308](https://github.com/flex-development/mkbuild/issues/308)) +- [[`417b284`](https://github.com/flex-development/mkbuild/commit/417b284d1b54cfbb40079030aa5c9979f8f26568)] **deps-dev:** Bump the nest-commander group with 2 updates ([#310](https://github.com/flex-development/mkbuild/issues/310)) +- [[`2c00577`](https://github.com/flex-development/mkbuild/commit/2c005779e389242c06d8a4625b13f8e6bda19c22)] **deps-dev:** Bump the nestjs group with 3 updates ([#311](https://github.com/flex-development/mkbuild/issues/311)) +- [[`2d6c332`](https://github.com/flex-development/mkbuild/commit/2d6c3329c5524fda5f6dc1a177ba75ea203d7b17)] **deps-dev:** Bump vite from 4.2.1 to 4.3.3 ([#238](https://github.com/flex-development/mkbuild/issues/238)) +- [[`5f82361`](https://github.com/flex-development/mkbuild/commit/5f823610109407643f81d2cf4a292ed9f288d988)] **deps-dev:** Bump vite from 4.3.3 to 4.3.4 ([#241](https://github.com/flex-development/mkbuild/issues/241)) +- [[`4666178`](https://github.com/flex-development/mkbuild/commit/4666178ea40889ac304c995f6364078f38794392)] **deps-dev:** Bump vite from 4.3.4 to 4.3.5 ([#254](https://github.com/flex-development/mkbuild/issues/254)) +- [[`6b65962`](https://github.com/flex-development/mkbuild/commit/6b659629040134e309e35016329bd838d380cd4b)] **deps-dev:** Bump vite from 4.3.5 to 4.3.9 ([#280](https://github.com/flex-development/mkbuild/issues/280)) +- [[`00568f8`](https://github.com/flex-development/mkbuild/commit/00568f8514c3193a6237979d33498b85e5ffcd7d)] **deps-dev:** Bump vite-tsconfig-paths from 4.0.8 to 4.1.0 ([#199](https://github.com/flex-development/mkbuild/issues/199)) +- [[`05e80bc`](https://github.com/flex-development/mkbuild/commit/05e80bc9ca18bde040289bad07ac2a8ffa0aae85)] **deps-dev:** Bump vite-tsconfig-paths from 4.1.0 to 4.2.0 ([#210](https://github.com/flex-development/mkbuild/issues/210)) +- [[`ef3acc8`](https://github.com/flex-development/mkbuild/commit/ef3acc86cc186047ec4f8579a182b242580d95bf)] **deps-dev:** Bump vitest from 0.30.0 to 0.30.1 ([#205](https://github.com/flex-development/mkbuild/issues/205)) +- [[`d00ea5f`](https://github.com/flex-development/mkbuild/commit/d00ea5f5d6a13409469987d3ea7903b42f69d312)] **deps-dev:** Bump vitest from 0.30.1 to 0.31.1 ([#262](https://github.com/flex-development/mkbuild/issues/262)) +- [[`a8e34af`](https://github.com/flex-development/mkbuild/commit/a8e34afd7c0923755124ffc78c91508bb5fc8796)] **deps-dev:** Bump word-wrap from 1.2.3 to 1.2.4 ([#303](https://github.com/flex-development/mkbuild/issues/303)) +- [[`4029e9d`](https://github.com/flex-development/mkbuild/commit/4029e9d4f306d6703a8cd505d5119287e3550435)] **deps-dev:** Bump word-wrap from 1.2.4 to 1.2.5 ([#317](https://github.com/flex-development/mkbuild/issues/317)) +- [[`fccb080`](https://github.com/flex-development/mkbuild/commit/fccb08098f8fc208f6c62d9ca518b57c2e2ade0c)] **deps-dev:** Bump yaml-eslint-parser from 1.2.0 to 1.2.2 ([#250](https://github.com/flex-development/mkbuild/issues/250)) +- [[`530c25f`](https://github.com/flex-development/mkbuild/commit/530c25f602eaa5ac3fdc4760087426023915f7d2)] **deps-peer:** bump esbuild from >=0.17.16 to >=0.19.0 +- [[`6216456`](https://github.com/flex-development/mkbuild/commit/6216456c3af53743d05b45b9516399a9c739cad6)] **deps-peer:** bump typescript from >=4.8 to >=5.0.4 +- [[`3082838`](https://github.com/flex-development/mkbuild/commit/3082838c423eabf13aa9f367823f2ca488cc382e)] **deps:** bump @flex-development/tutils from 6.0.0-alpha.10 to 6.0.0-alpha.18 +- [[`1d5fb7e`](https://github.com/flex-development/mkbuild/commit/1d5fb7e387bdf36808c0e5eb961dbede707e72fd)] **deps:** Bump colorette from 2.0.19 to 2.0.20 ([#219](https://github.com/flex-development/mkbuild/issues/219)) +- [[`075a097`](https://github.com/flex-development/mkbuild/commit/075a097a9233e7135092676b9b236bad18cb8ab7)] **deps:** Bump consola from 3.0.0-3 to 3.0.2 ([#212](https://github.com/flex-development/mkbuild/issues/212)) +- [[`f4c5a53`](https://github.com/flex-development/mkbuild/commit/f4c5a53f06526fa1e6ffaab29298d35a37ad836d)] **deps:** Bump consola from 3.0.2 to 3.1.0 ([#229](https://github.com/flex-development/mkbuild/issues/229)) +- [[`d6c9df4`](https://github.com/flex-development/mkbuild/commit/d6c9df4f7ac2f774d0be773a9429cf5cd9ede128)] **deps:** Bump consola from 3.1.0 to 3.2.3 ([#313](https://github.com/flex-development/mkbuild/issues/313)) +- [[`1a305bd`](https://github.com/flex-development/mkbuild/commit/1a305bd598828b17b9dea88dd92d9a2ac2b642a1)] **deps:** Bump cosmiconfig from 8.1.3 to 8.2.0 ([#319](https://github.com/flex-development/mkbuild/issues/319)) +- [[`2738ea1`](https://github.com/flex-development/mkbuild/commit/2738ea1d55a1870b426ac2f095a86c2a95b3b2d9)] **deps:** Bump fast-glob from 3.2.12 to 3.3.1 ([#318](https://github.com/flex-development/mkbuild/issues/318)) +- [[`a0a5af6`](https://github.com/flex-development/mkbuild/commit/a0a5af67975057e60b0835ac339546802ad34dae)] **deps:** Bump merge-anything from 5.1.4 to 5.1.5 ([#233](https://github.com/flex-development/mkbuild/issues/233)) +- [[`772d4f7`](https://github.com/flex-development/mkbuild/commit/772d4f722b57ba5e12d0128e8df54e23168ae06e)] **deps:** Bump merge-anything from 5.1.5 to 5.1.6 ([#256](https://github.com/flex-development/mkbuild/issues/256)) +- [[`7b3b852`](https://github.com/flex-development/mkbuild/commit/7b3b8521cb0abea69523f75e9ecfdb47658b746f)] **deps:** Bump pretty-bytes from 6.1.0 to 6.1.1 ([#320](https://github.com/flex-development/mkbuild/issues/320)) +- [[`01d00df`](https://github.com/flex-development/mkbuild/commit/01d00df3f0aa3058d8f9a5ecdd1dc2bbf00014cd)] **deps:** Bump the flex-development group with 8 updates ([#312](https://github.com/flex-development/mkbuild/issues/312)) +- [[`a2d139b`](https://github.com/flex-development/mkbuild/commit/a2d139b8b07c6068960c7a5102fa3e8c00c21992)] **deps:** replace colorette with tinyrainbow ### :robot: Continuous Integration -- [[@dependabot](https://github.com/dependabot)] configure grouped version updates ([ea9bb05](https://github.com/flex-development/mkbuild/commit/ea9bb054601deddb420c675dd83ea6ce00e303ee)) -- [[@dependabot](https://github.com/dependabot)] merge nest-commander and nestjs groups ([20089cc](https://github.com/flex-development/mkbuild/commit/20089cc99ac1fd2230dc1f0d6f73a07d8e53fe49)) -- **deps:** Bump actions/checkout from 3.5.0 to 3.5.1 ([#209](https://github.com/flex-development/mkbuild/pull/209)) ([ee8602a](https://github.com/flex-development/mkbuild/commit/ee8602a3e56dca6ee6da32bb83592e8429a12dd8)) -- **deps:** Bump actions/checkout from 3.5.1 to 3.5.2 ([#211](https://github.com/flex-development/mkbuild/pull/211)) ([d82f74d](https://github.com/flex-development/mkbuild/commit/d82f74d8cdbdb880a8038f9bd2f52aae42a65688)) -- **deps:** Bump actions/checkout from 3.5.2 to 3.5.3 ([#287](https://github.com/flex-development/mkbuild/pull/287)) ([2b04e63](https://github.com/flex-development/mkbuild/commit/2b04e63ef654b99def11c248d199d3d729cc4afe)) -- **deps:** Bump actions/setup-node from 3.6.0 to 3.7.0 ([#298](https://github.com/flex-development/mkbuild/pull/298)) ([50c45b5](https://github.com/flex-development/mkbuild/commit/50c45b578eeed5fa321a0da66d268a0a9e404e33)) -- **deps:** Bump codecov/codecov-action from 3.1.1 to 3.1.2 ([#203](https://github.com/flex-development/mkbuild/pull/203)) ([57463a1](https://github.com/flex-development/mkbuild/commit/57463a1e8a1a4ba2e0d11a744a26286cc1b12600)) -- **deps:** Bump codecov/codecov-action from 3.1.2 to 3.1.3 ([#223](https://github.com/flex-development/mkbuild/pull/223)) ([41ab424](https://github.com/flex-development/mkbuild/commit/41ab42457626109fb76e5d9cd23fa4030995ae69)) -- **deps:** Bump codecov/codecov-action from 3.1.3 to 3.1.4 ([#259](https://github.com/flex-development/mkbuild/pull/259)) ([8263918](https://github.com/flex-development/mkbuild/commit/8263918f4363ad39e49753ba5b23a8329dbce4f6)) -- **deps:** Bump crazy-max/ghaction-import-gpg from 5.2.0 to 5.3.0 ([#248](https://github.com/flex-development/mkbuild/pull/248)) ([8834fb0](https://github.com/flex-development/mkbuild/commit/8834fb07c8067d40f8638749dfafb62b7acaf23b)) -- **deps:** Bump dependabot/fetch-metadata from 1.3.6 to 1.4.0 ([#217](https://github.com/flex-development/mkbuild/pull/217)) ([e96d285](https://github.com/flex-development/mkbuild/commit/e96d285771a3f9bb681b37a2520c3d530797a5ac)) -- **deps:** Bump dependabot/fetch-metadata from 1.4.0 to 1.5.0 ([#269](https://github.com/flex-development/mkbuild/pull/269)) ([31edd93](https://github.com/flex-development/mkbuild/commit/31edd934193bcb27d29cec2ef19d156e1d77cea2)) -- **deps:** Bump dependabot/fetch-metadata from 1.5.0 to 1.5.1 ([#272](https://github.com/flex-development/mkbuild/pull/272)) ([c6b70e7](https://github.com/flex-development/mkbuild/commit/c6b70e7dc1be16ba626ef22848ba17e1fc12f1aa)) -- **deps:** Bump dependabot/fetch-metadata from 1.5.1 to 1.6.0 ([#293](https://github.com/flex-development/mkbuild/pull/293)) ([4a7fb8a](https://github.com/flex-development/mkbuild/commit/4a7fb8a06b1650ab137e96a2d3a207ea825fba31)) -- **deps:** Bump dessant/lock-threads from 4.0.0 to 4.0.1 ([#288](https://github.com/flex-development/mkbuild/pull/288)) ([9b91310](https://github.com/flex-development/mkbuild/commit/9b9131055b74f04b340b1168061cdba5b5afd3d2)) -- **deps:** Bump octokit/graphql-action from 2.2.23 to 2.2.24 ([#197](https://github.com/flex-development/mkbuild/pull/197)) ([0d23d7c](https://github.com/flex-development/mkbuild/commit/0d23d7c0c737c4683ddd79c8bad1b640a0593c7a)) -- **deps:** Bump octokit/graphql-action from 2.2.24 to 2.2.25 ([#302](https://github.com/flex-development/mkbuild/pull/302)) ([8171cf4](https://github.com/flex-development/mkbuild/commit/8171cf48f0fa503dd4932ce4fbe6a15ac335810f)) -- **workflows:** [`approve-pr`] remove `dependabot-metadata` condition ([81ed11c](https://github.com/flex-development/mkbuild/commit/81ed11c1fabf37bb63488c14f417a9c2ff29535c)) -- **workflows:** [`cache-cleanup`] refactor branch filter ([5562b1b](https://github.com/flex-development/mkbuild/commit/5562b1bf8534f9999c1f79d6996cb6bc285337f9)) -- **workflows:** [`dependabot-auto`] remove `approve-pr` condition ([ca7a2e8](https://github.com/flex-development/mkbuild/commit/ca7a2e864a0dc15d57b92c350cf903d6b2440d4f)) +- [[`ea9bb05`](https://github.com/flex-development/mkbuild/commit/ea9bb054601deddb420c675dd83ea6ce00e303ee)] [[@dependabot](https://github.com/dependabot)] configure grouped version updates +- [[`20089cc`](https://github.com/flex-development/mkbuild/commit/20089cc99ac1fd2230dc1f0d6f73a07d8e53fe49)] [[@dependabot](https://github.com/dependabot)] merge nest-commander and nestjs groups +- [[`ee8602a`](https://github.com/flex-development/mkbuild/commit/ee8602a3e56dca6ee6da32bb83592e8429a12dd8)] **deps:** Bump actions/checkout from 3.5.0 to 3.5.1 ([#209](https://github.com/flex-development/mkbuild/issues/209)) +- [[`d82f74d`](https://github.com/flex-development/mkbuild/commit/d82f74d8cdbdb880a8038f9bd2f52aae42a65688)] **deps:** Bump actions/checkout from 3.5.1 to 3.5.2 ([#211](https://github.com/flex-development/mkbuild/issues/211)) +- [[`2b04e63`](https://github.com/flex-development/mkbuild/commit/2b04e63ef654b99def11c248d199d3d729cc4afe)] **deps:** Bump actions/checkout from 3.5.2 to 3.5.3 ([#287](https://github.com/flex-development/mkbuild/issues/287)) +- [[`50c45b5`](https://github.com/flex-development/mkbuild/commit/50c45b578eeed5fa321a0da66d268a0a9e404e33)] **deps:** Bump actions/setup-node from 3.6.0 to 3.7.0 ([#298](https://github.com/flex-development/mkbuild/issues/298)) +- [[`57463a1`](https://github.com/flex-development/mkbuild/commit/57463a1e8a1a4ba2e0d11a744a26286cc1b12600)] **deps:** Bump codecov/codecov-action from 3.1.1 to 3.1.2 ([#203](https://github.com/flex-development/mkbuild/issues/203)) +- [[`41ab424`](https://github.com/flex-development/mkbuild/commit/41ab42457626109fb76e5d9cd23fa4030995ae69)] **deps:** Bump codecov/codecov-action from 3.1.2 to 3.1.3 ([#223](https://github.com/flex-development/mkbuild/issues/223)) +- [[`8263918`](https://github.com/flex-development/mkbuild/commit/8263918f4363ad39e49753ba5b23a8329dbce4f6)] **deps:** Bump codecov/codecov-action from 3.1.3 to 3.1.4 ([#259](https://github.com/flex-development/mkbuild/issues/259)) +- [[`8834fb0`](https://github.com/flex-development/mkbuild/commit/8834fb07c8067d40f8638749dfafb62b7acaf23b)] **deps:** Bump crazy-max/ghaction-import-gpg from 5.2.0 to 5.3.0 ([#248](https://github.com/flex-development/mkbuild/issues/248)) +- [[`e96d285`](https://github.com/flex-development/mkbuild/commit/e96d285771a3f9bb681b37a2520c3d530797a5ac)] **deps:** Bump dependabot/fetch-metadata from 1.3.6 to 1.4.0 ([#217](https://github.com/flex-development/mkbuild/issues/217)) +- [[`31edd93`](https://github.com/flex-development/mkbuild/commit/31edd934193bcb27d29cec2ef19d156e1d77cea2)] **deps:** Bump dependabot/fetch-metadata from 1.4.0 to 1.5.0 ([#269](https://github.com/flex-development/mkbuild/issues/269)) +- [[`c6b70e7`](https://github.com/flex-development/mkbuild/commit/c6b70e7dc1be16ba626ef22848ba17e1fc12f1aa)] **deps:** Bump dependabot/fetch-metadata from 1.5.0 to 1.5.1 ([#272](https://github.com/flex-development/mkbuild/issues/272)) +- [[`4a7fb8a`](https://github.com/flex-development/mkbuild/commit/4a7fb8a06b1650ab137e96a2d3a207ea825fba31)] **deps:** Bump dependabot/fetch-metadata from 1.5.1 to 1.6.0 ([#293](https://github.com/flex-development/mkbuild/issues/293)) +- [[`9b91310`](https://github.com/flex-development/mkbuild/commit/9b9131055b74f04b340b1168061cdba5b5afd3d2)] **deps:** Bump dessant/lock-threads from 4.0.0 to 4.0.1 ([#288](https://github.com/flex-development/mkbuild/issues/288)) +- [[`0d23d7c`](https://github.com/flex-development/mkbuild/commit/0d23d7c0c737c4683ddd79c8bad1b640a0593c7a)] **deps:** Bump octokit/graphql-action from 2.2.23 to 2.2.24 ([#197](https://github.com/flex-development/mkbuild/issues/197)) +- [[`8171cf4`](https://github.com/flex-development/mkbuild/commit/8171cf48f0fa503dd4932ce4fbe6a15ac335810f)] **deps:** Bump octokit/graphql-action from 2.2.24 to 2.2.25 ([#302](https://github.com/flex-development/mkbuild/issues/302)) +- [[`81ed11c`](https://github.com/flex-development/mkbuild/commit/81ed11c1fabf37bb63488c14f417a9c2ff29535c)] **workflows:** [`approve-pr`] remove `dependabot-metadata` condition +- [[`5562b1b`](https://github.com/flex-development/mkbuild/commit/5562b1bf8534f9999c1f79d6996cb6bc285337f9)] **workflows:** [`cache-cleanup`] refactor branch filter +- [[`ca7a2e8`](https://github.com/flex-development/mkbuild/commit/ca7a2e864a0dc15d57b92c350cf903d6b2440d4f)] **workflows:** [`dependabot-auto`] remove `approve-pr` condition ### :bug: Fixes -- **deps:** add @flex-development/errnode ([c3139c4](https://github.com/flex-development/mkbuild/commit/c3139c4dbdcf932c951eb2a560e8dc5e3928c2fb)) +- [[`c3139c4`](https://github.com/flex-development/mkbuild/commit/c3139c4dbdcf932c951eb2a560e8dc5e3928c2fb)] **deps:** add @flex-development/errnode ### :house_with_garden: Housekeeping -- [editorconfig] add `xml` rules ([92a664c](https://github.com/flex-development/mkbuild/commit/92a664cf3e783c93166be69d9bfd555a29676276)) -- [eslint] fix `tsconfig.cjs.json` path ([e4d5ddb](https://github.com/flex-development/mkbuild/commit/e4d5ddbef68e3e12d6e1b2849bafdc07b71b9d3b)) -- analyze types distribution ([ad28d2b](https://github.com/flex-development/mkbuild/commit/ad28d2b62b41869ef0bdab2af1059385fea7c143)) -- update project architecture ([7173959](https://github.com/flex-development/mkbuild/commit/7173959a3f6214fa81bf1e6f849ba0a393a85b06)) -- update test environments ([8f18fa2](https://github.com/flex-development/mkbuild/commit/8f18fa2b28ad80f47ab73b07e79630142c786527)) +- [[`92a664c`](https://github.com/flex-development/mkbuild/commit/92a664cf3e783c93166be69d9bfd555a29676276)] [editorconfig] add `xml` rules +- [[`e4d5ddb`](https://github.com/flex-development/mkbuild/commit/e4d5ddbef68e3e12d6e1b2849bafdc07b71b9d3b)] [eslint] fix `tsconfig.cjs.json` path +- [[`ad28d2b`](https://github.com/flex-development/mkbuild/commit/ad28d2b62b41869ef0bdab2af1059385fea7c143)] analyze types distribution +- [[`7173959`](https://github.com/flex-development/mkbuild/commit/7173959a3f6214fa81bf1e6f849ba0a393a85b06)] update project architecture +- [[`8f18fa2`](https://github.com/flex-development/mkbuild/commit/8f18fa2b28ad80f47ab73b07e79630142c786527)] update test environments ## [1.0.0-alpha.20](https://github.com/flex-development/mkbuild/compare/1.0.0-alpha.19...1.0.0-alpha.20) (2023-04-10) ### :package: Build -- **deps-dev:** bump esbuild from 0.17.15 to 0.17.16 ([3d87eee](https://github.com/flex-development/mkbuild/commit/3d87eee043a91cb7813a3a91d9bd2fa472a6d4fb)) -- **deps-peer:** bump esbuild from >=0.17.15 to >=0.17.16 ([69610a0](https://github.com/flex-development/mkbuild/commit/69610a0b4f01a282be6bf8dc3e2ee139431f2f42)) -- **deps:** bump @flex-development/toggle-pkg-type from 1.1.1 to 2.0.0 ([36117e9](https://github.com/flex-development/mkbuild/commit/36117e9acabae95e37e69c6fb5dfe2fc99a2ecee)) -- **deps:** bump consola from 2.15.3 to 3.0.0-3 ([78b5666](https://github.com/flex-development/mkbuild/commit/78b5666ae50d5db4bb6e24089f3dfa0e79c20e6c)) +- [[`3d87eee`](https://github.com/flex-development/mkbuild/commit/3d87eee043a91cb7813a3a91d9bd2fa472a6d4fb)] **deps-dev:** bump esbuild from 0.17.15 to 0.17.16 +- [[`69610a0`](https://github.com/flex-development/mkbuild/commit/69610a0b4f01a282be6bf8dc3e2ee139431f2f42)] **deps-peer:** bump esbuild from >=0.17.15 to >=0.17.16 +- [[`36117e9`](https://github.com/flex-development/mkbuild/commit/36117e9acabae95e37e69c6fb5dfe2fc99a2ecee)] **deps:** bump @flex-development/toggle-pkg-type from 1.1.1 to 2.0.0 +- [[`78b5666`](https://github.com/flex-development/mkbuild/commit/78b5666ae50d5db4bb6e24089f3dfa0e79c20e6c)] **deps:** bump consola from 2.15.3 to 3.0.0-3 ### :robot: Continuous Integration -- **workflows:** [`cache-cleanup`] fix branch checkout ([50a20ce](https://github.com/flex-development/mkbuild/commit/50a20ce4bff749f8f2ebc54abdaf094a58c22b86)) -- **workflows:** [`ci`] check for test files ([5578022](https://github.com/flex-development/mkbuild/commit/5578022f15f2554b33720df77a4ea75e940092e8)) -- **workflows:** [`release`] checkout release commit from `main` ([0edd574](https://github.com/flex-development/mkbuild/commit/0edd57436a48456baf7209dceb8ffcd5a0463b22)) +- [[`50a20ce`](https://github.com/flex-development/mkbuild/commit/50a20ce4bff749f8f2ebc54abdaf094a58c22b86)] **workflows:** [`cache-cleanup`] fix branch checkout +- [[`5578022`](https://github.com/flex-development/mkbuild/commit/5578022f15f2554b33720df77a4ea75e940092e8)] **workflows:** [`ci`] check for test files +- [[`0edd574`](https://github.com/flex-development/mkbuild/commit/0edd57436a48456baf7209dceb8ffcd5a0463b22)] **workflows:** [`release`] checkout release commit from `main` ### :bug: Fixes -- **plugins:** [`filter`] filter output file metadata ([7efead9](https://github.com/flex-development/mkbuild/commit/7efead95d1feaa19f3b395932bc243d0b2e32045)) +- [[`7efead9`](https://github.com/flex-development/mkbuild/commit/7efead95d1feaa19f3b395932bc243d0b2e32045)] **plugins:** [`filter`] filter output file metadata ### :house_with_garden: Housekeeping -- sync config files ([0740dcc](https://github.com/flex-development/mkbuild/commit/0740dcc653ec543b8416e066d025c5e00c17fbf9)) -- **github:** delete branch on merge ([5e929c4](https://github.com/flex-development/mkbuild/commit/5e929c460700f33b2e6fc76bbb53893f9c83757c)) +- [[`0740dcc`](https://github.com/flex-development/mkbuild/commit/0740dcc653ec543b8416e066d025c5e00c17fbf9)] sync config files +- [[`5e929c4`](https://github.com/flex-development/mkbuild/commit/5e929c460700f33b2e6fc76bbb53893f9c83757c)] **github:** delete branch on merge -## [1.0.0-alpha.19](https://github.com/flex-development/mkbuild/compare/1.0.0-alpha.18...1.0.0-alpha.19) (2023-04-08) +## [1.0.0-alpha.19](https://github.com/flex-development/mkbuild/compare/1.0.0-alpha.18...1.0.0-alpha.19) (2023-04-09) ### :package: Build -- output `utf8` ([9b3eba3](https://github.com/flex-development/mkbuild/commit/9b3eba3652ae14c2822539cfca9e57996959879c)) +- [[`9b3eba3`](https://github.com/flex-development/mkbuild/commit/9b3eba3652ae14c2822539cfca9e57996959879c)] output `utf8` ### :sparkles: Features -- serve mode + live reload ([f47bbf0](https://github.com/flex-development/mkbuild/commit/f47bbf072d6d4c45fc2f9de59dadc61e77e1a0d4)) +- [[`f47bbf0`](https://github.com/flex-development/mkbuild/commit/f47bbf072d6d4c45fc2f9de59dadc61e77e1a0d4)] serve mode + live reload -## [1.0.0-alpha.18](https://github.com/flex-development/mkbuild/compare/1.0.0-alpha.17...1.0.0-alpha.18) (2023-04-07) +## [1.0.0-alpha.18](https://github.com/flex-development/mkbuild/compare/1.0.0-alpha.17...1.0.0-alpha.18) (2023-04-08) ### :bug: Fixes -- **cli:** terminate `watch` mode via esbuild ([34ef996](https://github.com/flex-development/mkbuild/commit/34ef996197443dcd2b51987731537314d9831a57)) +- [[`34ef996`](https://github.com/flex-development/mkbuild/commit/34ef996197443dcd2b51987731537314d9831a57)] **cli:** terminate `watch` mode via esbuild ## [1.0.0-alpha.17](https://github.com/flex-development/mkbuild/compare/1.0.0-alpha.16...1.0.0-alpha.17) (2023-04-07) ### ⚠ BREAKING CHANGES -- watch mode -- **cli:** reimplement with `nest-commander` - **utils:** [`analyzeOutputs`] intake `esbuild.Metafile['outputs']` +- **cli:** reimplement with `nest-commander` +- watch mode ### :package: Build -- **deps-dev:** Bump @commitlint/cli from 17.4.4 to 17.5.0 ([#149](https://github.com/flex-development/mkbuild/pull/149)) ([05ac930](https://github.com/flex-development/mkbuild/commit/05ac9309a2d5cfda5d170857baf1f0f36c559f95)) -- **deps-dev:** Bump @commitlint/cli from 17.5.0 to 17.5.1 ([#170](https://github.com/flex-development/mkbuild/pull/170)) ([570fc4d](https://github.com/flex-development/mkbuild/commit/570fc4d307c0b8e20fa10a75231e3f545c00b1c3)) -- **deps-dev:** Bump @faker-js/faker from 8.0.0-alpha.0 to 8.0.0-alpha.1 ([#153](https://github.com/flex-development/mkbuild/pull/153)) ([cd18a56](https://github.com/flex-development/mkbuild/commit/cd18a5668263b39be075b3e20fd535c8dfa023ea)) -- **deps-dev:** Bump @faker-js/faker from 8.0.0-alpha.1 to 8.0.0-alpha.2 ([#161](https://github.com/flex-development/mkbuild/pull/161)) ([20dda4f](https://github.com/flex-development/mkbuild/commit/20dda4fec4292fed45b6027504cd94ccd3b890df)) -- **deps-dev:** Bump @graphql-eslint/eslint-plugin from 3.16.1 to 3.17.0 ([#162](https://github.com/flex-development/mkbuild/pull/162)) ([f54d814](https://github.com/flex-development/mkbuild/commit/f54d8145c207b2170dc6589bcbbbb8cba55ff4bd)) -- **deps-dev:** Bump @graphql-eslint/eslint-plugin from 3.17.0 to 3.18.0 ([#175](https://github.com/flex-development/mkbuild/pull/175)) ([918ddbd](https://github.com/flex-development/mkbuild/commit/918ddbd6d54b4e9e666f3cc3742fbaf21788d7c6)) -- **deps-dev:** Bump @nestjs/common from 9.3.12 to 9.4.0 ([#190](https://github.com/flex-development/mkbuild/pull/190)) ([1d77592](https://github.com/flex-development/mkbuild/commit/1d775925bebaaf47c7c67586e4a9976f028fdc99)) -- **deps-dev:** Bump @nestjs/core from 9.3.12 to 9.4.0 ([#188](https://github.com/flex-development/mkbuild/pull/188)) ([a4c126a](https://github.com/flex-development/mkbuild/commit/a4c126ac0cc12f00d0aa0792132512209865ecdd)) -- **deps-dev:** Bump @nestjs/testing from 9.3.12 to 9.4.0 ([#189](https://github.com/flex-development/mkbuild/pull/189)) ([0f4c23a](https://github.com/flex-development/mkbuild/commit/0f4c23a65ae4b03a1eb7924d23340409ef942a8e)) -- **deps-dev:** Bump @typescript-eslint/eslint-plugin from 5.54.0 to 5.54.1 ([#109](https://github.com/flex-development/mkbuild/pull/109)) ([0552329](https://github.com/flex-development/mkbuild/commit/0552329fecb6cb7b861b3c43743981fa00a6d1cd)) -- **deps-dev:** Bump @typescript-eslint/eslint-plugin from 5.54.1 to 5.55.0 ([#130](https://github.com/flex-development/mkbuild/pull/130)) ([7538774](https://github.com/flex-development/mkbuild/commit/75387745409e065b5c6aefb569948911881c7cbc)) -- **deps-dev:** Bump @typescript-eslint/eslint-plugin from 5.55.0 to 5.56.0 ([#146](https://github.com/flex-development/mkbuild/pull/146)) ([15b7592](https://github.com/flex-development/mkbuild/commit/15b75920d6b1644695b7d8988fe5e2704411cc4b)) -- **deps-dev:** Bump @typescript-eslint/eslint-plugin from 5.56.0 to 5.57.0 ([#163](https://github.com/flex-development/mkbuild/pull/163)) ([87dbb30](https://github.com/flex-development/mkbuild/commit/87dbb3031c844696e757a710b2718b25724d24af)) -- **deps-dev:** Bump @typescript-eslint/eslint-plugin from 5.57.0 to 5.57.1 ([#183](https://github.com/flex-development/mkbuild/pull/183)) ([89e90e7](https://github.com/flex-development/mkbuild/commit/89e90e7b84b927ff1eaea20c23bda52d61c370f1)) -- **deps-dev:** Bump @typescript-eslint/parser from 5.54.0 to 5.54.1 ([#117](https://github.com/flex-development/mkbuild/pull/117)) ([af4373d](https://github.com/flex-development/mkbuild/commit/af4373d8ae8036de868505d00e106f062a02ca0e)) -- **deps-dev:** Bump @typescript-eslint/parser from 5.54.1 to 5.55.0 ([#129](https://github.com/flex-development/mkbuild/pull/129)) ([6e942d4](https://github.com/flex-development/mkbuild/commit/6e942d4ac30d1074ecc5f6761dee340d14f11ca6)) -- **deps-dev:** Bump @typescript-eslint/parser from 5.55.0 to 5.56.0 ([#145](https://github.com/flex-development/mkbuild/pull/145)) ([a8ea6ab](https://github.com/flex-development/mkbuild/commit/a8ea6abeb5e0ba738de72249e9edcbda44bacf14)) -- **deps-dev:** Bump @typescript-eslint/parser from 5.56.0 to 5.57.0 ([#165](https://github.com/flex-development/mkbuild/pull/165)) ([a746722](https://github.com/flex-development/mkbuild/commit/a746722c3ef43990cb2ce9118049b703ef247afd)) -- **deps-dev:** Bump @typescript-eslint/parser from 5.57.0 to 5.57.1 ([#184](https://github.com/flex-development/mkbuild/pull/184)) ([56965d5](https://github.com/flex-development/mkbuild/commit/56965d552082c7a306999c4200bfe25b58fadb64)) -- **deps-dev:** Bump @vitest/coverage-c8 from 0.29.2 to 0.29.7 ([#141](https://github.com/flex-development/mkbuild/pull/141)) ([d26aa4d](https://github.com/flex-development/mkbuild/commit/d26aa4d3a66cfac8635977e35ae198e1084b45f2)) -- **deps-dev:** Bump @vitest/ui from 0.29.2 to 0.29.7 ([#140](https://github.com/flex-development/mkbuild/pull/140)) ([fdcca4f](https://github.com/flex-development/mkbuild/commit/fdcca4ffcdd2fc4e8b8a1fe972677fbd842092b1)) -- **deps-dev:** Bump @vitest/ui from 0.29.7 to 0.29.8 ([#169](https://github.com/flex-development/mkbuild/pull/169)) ([124260c](https://github.com/flex-development/mkbuild/commit/124260c84c7bebdf47eb856227aa187a94262ecb)) -- **deps-dev:** Bump cspell from 6.27.0 to 6.28.0 ([#107](https://github.com/flex-development/mkbuild/pull/107)) ([2b51662](https://github.com/flex-development/mkbuild/commit/2b5166233a2794d010cba67e4d2de30cc080d1c0)) -- **deps-dev:** Bump cspell from 6.28.0 to 6.29.0 ([#124](https://github.com/flex-development/mkbuild/pull/124)) ([09f0354](https://github.com/flex-development/mkbuild/commit/09f035441f41882e2561832e175bc6321d8fa6d5)) -- **deps-dev:** Bump cspell from 6.29.0 to 6.29.3 ([#131](https://github.com/flex-development/mkbuild/pull/131)) ([9774100](https://github.com/flex-development/mkbuild/commit/9774100d75225d261217ea538b8eb2efd45684ee)) -- **deps-dev:** Bump cspell from 6.29.3 to 6.30.2 ([#150](https://github.com/flex-development/mkbuild/pull/150)) ([1f85ddd](https://github.com/flex-development/mkbuild/commit/1f85ddd186fe007092f38fa06b3d3393d5f63fb6)) -- **deps-dev:** Bump cspell from 6.30.2 to 6.31.1 ([#159](https://github.com/flex-development/mkbuild/pull/159)) ([c759852](https://github.com/flex-development/mkbuild/commit/c759852cd9cd4196c86df568ef44f9445604ea21)) -- **deps-dev:** Bump esbuild from 0.17.10 to 0.17.11 ([#105](https://github.com/flex-development/mkbuild/pull/105)) ([4563c32](https://github.com/flex-development/mkbuild/commit/4563c32b0bfd7bfba98587719b975962c5d03dd1)) -- **deps-dev:** Bump esbuild from 0.17.11 to 0.17.14 ([#160](https://github.com/flex-development/mkbuild/pull/160)) ([07dc606](https://github.com/flex-development/mkbuild/commit/07dc606cfc2a7074edd0834577adf7ead3a5b72d)) -- **deps-dev:** Bump esbuild from 0.17.14 to 0.17.15 ([#179](https://github.com/flex-development/mkbuild/pull/179)) ([ac680af](https://github.com/flex-development/mkbuild/commit/ac680afc8182026999e701eb66ea02e1c63b8b25)) -- **deps-dev:** Bump eslint from 8.35.0 to 8.36.0 ([#126](https://github.com/flex-development/mkbuild/pull/126)) ([ae0a0ef](https://github.com/flex-development/mkbuild/commit/ae0a0efb8dd227e736d292f7acdcd810fb0cc34f)) -- **deps-dev:** Bump eslint from 8.36.0 to 8.37.0 ([#173](https://github.com/flex-development/mkbuild/pull/173)) ([abe652d](https://github.com/flex-development/mkbuild/commit/abe652d3d0755a7646419362c1b7bc975a54fa6c)) -- **deps-dev:** Bump eslint-config-prettier from 8.6.0 to 8.7.0 ([#111](https://github.com/flex-development/mkbuild/pull/111)) ([9e15ccc](https://github.com/flex-development/mkbuild/commit/9e15ccc7f03c6bdabb70f745e0201a8c4cfe6296)) -- **deps-dev:** Bump eslint-config-prettier from 8.7.0 to 8.8.0 ([#155](https://github.com/flex-development/mkbuild/pull/155)) ([6dbeeed](https://github.com/flex-development/mkbuild/commit/6dbeeedc7c8449a4fe8f28f2eef55a54577100b9)) -- **deps-dev:** Bump eslint-plugin-jsdoc from 40.0.1 to 40.0.2 ([#128](https://github.com/flex-development/mkbuild/pull/128)) ([5236bac](https://github.com/flex-development/mkbuild/commit/5236bac1c0287e8125d07ec2e5861a96964a8ba1)) -- **deps-dev:** Bump eslint-plugin-jsdoc from 40.0.2 to 40.1.0 ([#172](https://github.com/flex-development/mkbuild/pull/172)) ([8c22b4f](https://github.com/flex-development/mkbuild/commit/8c22b4faf2d6b91d626a83dde8590aaa0fe504a0)) -- **deps-dev:** Bump eslint-plugin-jsdoc from 40.1.0 to 40.1.1 ([#178](https://github.com/flex-development/mkbuild/pull/178)) ([b870673](https://github.com/flex-development/mkbuild/commit/b8706733fd533237a1f9b621fddffa6a610fe0d9)) -- **deps-dev:** Bump eslint-plugin-jsonc from 2.6.0 to 2.7.0 ([#151](https://github.com/flex-development/mkbuild/pull/151)) ([7919791](https://github.com/flex-development/mkbuild/commit/7919791dcae510793598183a7af88b15c42451d1)) -- **deps-dev:** Bump eslint-plugin-markdownlint from 0.4.0 to 0.4.1 ([#115](https://github.com/flex-development/mkbuild/pull/115)) ([0dc0bd6](https://github.com/flex-development/mkbuild/commit/0dc0bd6d1a0bcdca3d28c4d9422ee30cb1312985)) -- **deps-dev:** Bump eslint-plugin-unicorn from 45.0.2 to 46.0.0 ([#104](https://github.com/flex-development/mkbuild/pull/104)) ([037ae73](https://github.com/flex-development/mkbuild/commit/037ae73449790d1fc66ee8d9bc18a4a866bfb02f)) -- **deps-dev:** Bump graphql-config from 4.4.1 to 4.5.0 ([#110](https://github.com/flex-development/mkbuild/pull/110)) ([a621234](https://github.com/flex-development/mkbuild/commit/a621234af0d9b0c67755d580d9fb6bcba52fa60c)) -- **deps-dev:** Bump jsonc-eslint-parser from 2.1.0 to 2.2.0 ([#120](https://github.com/flex-development/mkbuild/pull/120)) ([168cce6](https://github.com/flex-development/mkbuild/commit/168cce6ae180a9f109b928a361387877b4f7df80)) -- **deps-dev:** Bump lint-staged from 13.1.2 to 13.2.0 ([#125](https://github.com/flex-development/mkbuild/pull/125)) ([842ab95](https://github.com/flex-development/mkbuild/commit/842ab95b6cf7c6eaa143aa773eedb097718e445f)) -- **deps-dev:** Bump memfs from 3.4.13 to 3.5.0 ([#192](https://github.com/flex-development/mkbuild/pull/192)) ([54e17b8](https://github.com/flex-development/mkbuild/commit/54e17b86719f26c99b422a41759c5ed690c1fdc1)) -- **deps-dev:** Bump prettier from 2.8.4 to 2.8.6 ([#147](https://github.com/flex-development/mkbuild/pull/147)) ([c80339e](https://github.com/flex-development/mkbuild/commit/c80339ea90c7eecaa017fdd878809a810e4e84fd)) -- **deps-dev:** Bump prettier from 2.8.6 to 2.8.7 ([#164](https://github.com/flex-development/mkbuild/pull/164)) ([cfe6550](https://github.com/flex-development/mkbuild/commit/cfe65503af0bc78f8b554532247c6ea3a0667ebe)) -- **deps-dev:** Bump pretty-format from 29.4.3 to 29.5.0 ([#114](https://github.com/flex-development/mkbuild/pull/114)) ([8ac60d9](https://github.com/flex-development/mkbuild/commit/8ac60d9bf98ff344944ba579f41487f7cb18601c)) -- **deps-dev:** Bump rxjs from 8.0.0-alpha.7 to 8.0.0-alpha.8 ([#187](https://github.com/flex-development/mkbuild/pull/187)) ([8a6deea](https://github.com/flex-development/mkbuild/commit/8a6deeab3a3315d4f65ba6a12d3bc289ac673e1f)) -- **deps-dev:** bump typescript from 5.1.0-dev.20230301 to 5.0.3 ([bb640bf](https://github.com/flex-development/mkbuild/commit/bb640bf18196b4fcf3765c92e24f2556b7475d07)) -- **deps-dev:** Bump vite from 4.1.4 to 4.2.1 ([#154](https://github.com/flex-development/mkbuild/pull/154)) ([571bc8a](https://github.com/flex-development/mkbuild/commit/571bc8a777a94e9c453322cba53ca5b3d5018c19)) -- **deps-dev:** Bump vite-tsconfig-paths from 4.0.5 to 4.0.7 ([#132](https://github.com/flex-development/mkbuild/pull/132)) ([fdeca0c](https://github.com/flex-development/mkbuild/commit/fdeca0ccac60749c7b7b371596896f44d793483a)) -- **deps-dev:** Bump vite-tsconfig-paths from 4.0.7 to 4.0.8 ([#186](https://github.com/flex-development/mkbuild/pull/186)) ([e8cc68c](https://github.com/flex-development/mkbuild/commit/e8cc68c3e24a7ab7133ede0235549ef6415f058d)) -- **deps-dev:** Bump vitest from 0.29.2 to 0.29.7 ([#143](https://github.com/flex-development/mkbuild/pull/143)) ([bbb7c4b](https://github.com/flex-development/mkbuild/commit/bbb7c4b5ecd83dc568a454c70f483d4b1e5e1d6a)) -- **deps-dev:** Bump yaml-eslint-parser from 1.1.0 to 1.2.0 ([#119](https://github.com/flex-development/mkbuild/pull/119)) ([7e632c0](https://github.com/flex-development/mkbuild/commit/7e632c0dca00824e51fa7f6ee7fa06fe0abf34ed)) -- **deps-peer:** bump esbuild from >=0.17.14 to >=0.17.15 ([a3a0d54](https://github.com/flex-development/mkbuild/commit/a3a0d549a9930f8a4c650278983add144448ca82)) -- **deps:** Bump cosmiconfig from 8.1.0 to 8.1.3 ([#177](https://github.com/flex-development/mkbuild/pull/177)) ([d248a7a](https://github.com/flex-development/mkbuild/commit/d248a7acc823092cfe14c8bb6d7df39a35e3ab1b)) -- **deps:** Bump radash from 10.7.0 to 10.7.1 ([#113](https://github.com/flex-development/mkbuild/pull/113)) ([306b178](https://github.com/flex-development/mkbuild/commit/306b178410a2ab498ae155b9185a9aacf9665820)) -- **deps:** Bump radash from 10.7.1 to 10.8.1 ([#176](https://github.com/flex-development/mkbuild/pull/176)) ([42b88f5](https://github.com/flex-development/mkbuild/commit/42b88f546ae2c92560b96bb70d59f433f7623905)) +- [[`05ac930`](https://github.com/flex-development/mkbuild/commit/05ac9309a2d5cfda5d170857baf1f0f36c559f95)] **deps-dev:** Bump @commitlint/cli from 17.4.4 to 17.5.0 ([#149](https://github.com/flex-development/mkbuild/issues/149)) +- [[`570fc4d`](https://github.com/flex-development/mkbuild/commit/570fc4d307c0b8e20fa10a75231e3f545c00b1c3)] **deps-dev:** Bump @commitlint/cli from 17.5.0 to 17.5.1 ([#170](https://github.com/flex-development/mkbuild/issues/170)) +- [[`cd18a56`](https://github.com/flex-development/mkbuild/commit/cd18a5668263b39be075b3e20fd535c8dfa023ea)] **deps-dev:** Bump @faker-js/faker from 8.0.0-alpha.0 to 8.0.0-alpha.1 ([#153](https://github.com/flex-development/mkbuild/issues/153)) +- [[`20dda4f`](https://github.com/flex-development/mkbuild/commit/20dda4fec4292fed45b6027504cd94ccd3b890df)] **deps-dev:** Bump @faker-js/faker from 8.0.0-alpha.1 to 8.0.0-alpha.2 ([#161](https://github.com/flex-development/mkbuild/issues/161)) +- [[`f54d814`](https://github.com/flex-development/mkbuild/commit/f54d8145c207b2170dc6589bcbbbb8cba55ff4bd)] **deps-dev:** Bump @graphql-eslint/eslint-plugin from 3.16.1 to 3.17.0 ([#162](https://github.com/flex-development/mkbuild/issues/162)) +- [[`918ddbd`](https://github.com/flex-development/mkbuild/commit/918ddbd6d54b4e9e666f3cc3742fbaf21788d7c6)] **deps-dev:** Bump @graphql-eslint/eslint-plugin from 3.17.0 to 3.18.0 ([#175](https://github.com/flex-development/mkbuild/issues/175)) +- [[`1d77592`](https://github.com/flex-development/mkbuild/commit/1d775925bebaaf47c7c67586e4a9976f028fdc99)] **deps-dev:** Bump @nestjs/common from 9.3.12 to 9.4.0 ([#190](https://github.com/flex-development/mkbuild/issues/190)) +- [[`a4c126a`](https://github.com/flex-development/mkbuild/commit/a4c126ac0cc12f00d0aa0792132512209865ecdd)] **deps-dev:** Bump @nestjs/core from 9.3.12 to 9.4.0 ([#188](https://github.com/flex-development/mkbuild/issues/188)) +- [[`0f4c23a`](https://github.com/flex-development/mkbuild/commit/0f4c23a65ae4b03a1eb7924d23340409ef942a8e)] **deps-dev:** Bump @nestjs/testing from 9.3.12 to 9.4.0 ([#189](https://github.com/flex-development/mkbuild/issues/189)) +- [[`0552329`](https://github.com/flex-development/mkbuild/commit/0552329fecb6cb7b861b3c43743981fa00a6d1cd)] **deps-dev:** Bump @typescript-eslint/eslint-plugin from 5.54.0 to 5.54.1 ([#109](https://github.com/flex-development/mkbuild/issues/109)) +- [[`7538774`](https://github.com/flex-development/mkbuild/commit/75387745409e065b5c6aefb569948911881c7cbc)] **deps-dev:** Bump @typescript-eslint/eslint-plugin from 5.54.1 to 5.55.0 ([#130](https://github.com/flex-development/mkbuild/issues/130)) +- [[`15b7592`](https://github.com/flex-development/mkbuild/commit/15b75920d6b1644695b7d8988fe5e2704411cc4b)] **deps-dev:** Bump @typescript-eslint/eslint-plugin from 5.55.0 to 5.56.0 ([#146](https://github.com/flex-development/mkbuild/issues/146)) +- [[`87dbb30`](https://github.com/flex-development/mkbuild/commit/87dbb3031c844696e757a710b2718b25724d24af)] **deps-dev:** Bump @typescript-eslint/eslint-plugin from 5.56.0 to 5.57.0 ([#163](https://github.com/flex-development/mkbuild/issues/163)) +- [[`89e90e7`](https://github.com/flex-development/mkbuild/commit/89e90e7b84b927ff1eaea20c23bda52d61c370f1)] **deps-dev:** Bump @typescript-eslint/eslint-plugin from 5.57.0 to 5.57.1 ([#183](https://github.com/flex-development/mkbuild/issues/183)) +- [[`af4373d`](https://github.com/flex-development/mkbuild/commit/af4373d8ae8036de868505d00e106f062a02ca0e)] **deps-dev:** Bump @typescript-eslint/parser from 5.54.0 to 5.54.1 ([#117](https://github.com/flex-development/mkbuild/issues/117)) +- [[`6e942d4`](https://github.com/flex-development/mkbuild/commit/6e942d4ac30d1074ecc5f6761dee340d14f11ca6)] **deps-dev:** Bump @typescript-eslint/parser from 5.54.1 to 5.55.0 ([#129](https://github.com/flex-development/mkbuild/issues/129)) +- [[`a8ea6ab`](https://github.com/flex-development/mkbuild/commit/a8ea6abeb5e0ba738de72249e9edcbda44bacf14)] **deps-dev:** Bump @typescript-eslint/parser from 5.55.0 to 5.56.0 ([#145](https://github.com/flex-development/mkbuild/issues/145)) +- [[`a746722`](https://github.com/flex-development/mkbuild/commit/a746722c3ef43990cb2ce9118049b703ef247afd)] **deps-dev:** Bump @typescript-eslint/parser from 5.56.0 to 5.57.0 ([#165](https://github.com/flex-development/mkbuild/issues/165)) +- [[`56965d5`](https://github.com/flex-development/mkbuild/commit/56965d552082c7a306999c4200bfe25b58fadb64)] **deps-dev:** Bump @typescript-eslint/parser from 5.57.0 to 5.57.1 ([#184](https://github.com/flex-development/mkbuild/issues/184)) +- [[`d26aa4d`](https://github.com/flex-development/mkbuild/commit/d26aa4d3a66cfac8635977e35ae198e1084b45f2)] **deps-dev:** Bump @vitest/coverage-c8 from 0.29.2 to 0.29.7 ([#141](https://github.com/flex-development/mkbuild/issues/141)) +- [[`fdcca4f`](https://github.com/flex-development/mkbuild/commit/fdcca4ffcdd2fc4e8b8a1fe972677fbd842092b1)] **deps-dev:** Bump @vitest/ui from 0.29.2 to 0.29.7 ([#140](https://github.com/flex-development/mkbuild/issues/140)) +- [[`124260c`](https://github.com/flex-development/mkbuild/commit/124260c84c7bebdf47eb856227aa187a94262ecb)] **deps-dev:** Bump @vitest/ui from 0.29.7 to 0.29.8 ([#169](https://github.com/flex-development/mkbuild/issues/169)) +- [[`2b51662`](https://github.com/flex-development/mkbuild/commit/2b5166233a2794d010cba67e4d2de30cc080d1c0)] **deps-dev:** Bump cspell from 6.27.0 to 6.28.0 ([#107](https://github.com/flex-development/mkbuild/issues/107)) +- [[`09f0354`](https://github.com/flex-development/mkbuild/commit/09f035441f41882e2561832e175bc6321d8fa6d5)] **deps-dev:** Bump cspell from 6.28.0 to 6.29.0 ([#124](https://github.com/flex-development/mkbuild/issues/124)) +- [[`9774100`](https://github.com/flex-development/mkbuild/commit/9774100d75225d261217ea538b8eb2efd45684ee)] **deps-dev:** Bump cspell from 6.29.0 to 6.29.3 ([#131](https://github.com/flex-development/mkbuild/issues/131)) +- [[`1f85ddd`](https://github.com/flex-development/mkbuild/commit/1f85ddd186fe007092f38fa06b3d3393d5f63fb6)] **deps-dev:** Bump cspell from 6.29.3 to 6.30.2 ([#150](https://github.com/flex-development/mkbuild/issues/150)) +- [[`c759852`](https://github.com/flex-development/mkbuild/commit/c759852cd9cd4196c86df568ef44f9445604ea21)] **deps-dev:** Bump cspell from 6.30.2 to 6.31.1 ([#159](https://github.com/flex-development/mkbuild/issues/159)) +- [[`4563c32`](https://github.com/flex-development/mkbuild/commit/4563c32b0bfd7bfba98587719b975962c5d03dd1)] **deps-dev:** Bump esbuild from 0.17.10 to 0.17.11 ([#105](https://github.com/flex-development/mkbuild/issues/105)) +- [[`07dc606`](https://github.com/flex-development/mkbuild/commit/07dc606cfc2a7074edd0834577adf7ead3a5b72d)] **deps-dev:** Bump esbuild from 0.17.11 to 0.17.14 ([#160](https://github.com/flex-development/mkbuild/issues/160)) +- [[`ac680af`](https://github.com/flex-development/mkbuild/commit/ac680afc8182026999e701eb66ea02e1c63b8b25)] **deps-dev:** Bump esbuild from 0.17.14 to 0.17.15 ([#179](https://github.com/flex-development/mkbuild/issues/179)) +- [[`ae0a0ef`](https://github.com/flex-development/mkbuild/commit/ae0a0efb8dd227e736d292f7acdcd810fb0cc34f)] **deps-dev:** Bump eslint from 8.35.0 to 8.36.0 ([#126](https://github.com/flex-development/mkbuild/issues/126)) +- [[`abe652d`](https://github.com/flex-development/mkbuild/commit/abe652d3d0755a7646419362c1b7bc975a54fa6c)] **deps-dev:** Bump eslint from 8.36.0 to 8.37.0 ([#173](https://github.com/flex-development/mkbuild/issues/173)) +- [[`9e15ccc`](https://github.com/flex-development/mkbuild/commit/9e15ccc7f03c6bdabb70f745e0201a8c4cfe6296)] **deps-dev:** Bump eslint-config-prettier from 8.6.0 to 8.7.0 ([#111](https://github.com/flex-development/mkbuild/issues/111)) +- [[`6dbeeed`](https://github.com/flex-development/mkbuild/commit/6dbeeedc7c8449a4fe8f28f2eef55a54577100b9)] **deps-dev:** Bump eslint-config-prettier from 8.7.0 to 8.8.0 ([#155](https://github.com/flex-development/mkbuild/issues/155)) +- [[`5236bac`](https://github.com/flex-development/mkbuild/commit/5236bac1c0287e8125d07ec2e5861a96964a8ba1)] **deps-dev:** Bump eslint-plugin-jsdoc from 40.0.1 to 40.0.2 ([#128](https://github.com/flex-development/mkbuild/issues/128)) +- [[`8c22b4f`](https://github.com/flex-development/mkbuild/commit/8c22b4faf2d6b91d626a83dde8590aaa0fe504a0)] **deps-dev:** Bump eslint-plugin-jsdoc from 40.0.2 to 40.1.0 ([#172](https://github.com/flex-development/mkbuild/issues/172)) +- [[`b870673`](https://github.com/flex-development/mkbuild/commit/b8706733fd533237a1f9b621fddffa6a610fe0d9)] **deps-dev:** Bump eslint-plugin-jsdoc from 40.1.0 to 40.1.1 ([#178](https://github.com/flex-development/mkbuild/issues/178)) +- [[`7919791`](https://github.com/flex-development/mkbuild/commit/7919791dcae510793598183a7af88b15c42451d1)] **deps-dev:** Bump eslint-plugin-jsonc from 2.6.0 to 2.7.0 ([#151](https://github.com/flex-development/mkbuild/issues/151)) +- [[`0dc0bd6`](https://github.com/flex-development/mkbuild/commit/0dc0bd6d1a0bcdca3d28c4d9422ee30cb1312985)] **deps-dev:** Bump eslint-plugin-markdownlint from 0.4.0 to 0.4.1 ([#115](https://github.com/flex-development/mkbuild/issues/115)) +- [[`037ae73`](https://github.com/flex-development/mkbuild/commit/037ae73449790d1fc66ee8d9bc18a4a866bfb02f)] **deps-dev:** Bump eslint-plugin-unicorn from 45.0.2 to 46.0.0 ([#104](https://github.com/flex-development/mkbuild/issues/104)) +- [[`a621234`](https://github.com/flex-development/mkbuild/commit/a621234af0d9b0c67755d580d9fb6bcba52fa60c)] **deps-dev:** Bump graphql-config from 4.4.1 to 4.5.0 ([#110](https://github.com/flex-development/mkbuild/issues/110)) +- [[`168cce6`](https://github.com/flex-development/mkbuild/commit/168cce6ae180a9f109b928a361387877b4f7df80)] **deps-dev:** Bump jsonc-eslint-parser from 2.1.0 to 2.2.0 ([#120](https://github.com/flex-development/mkbuild/issues/120)) +- [[`842ab95`](https://github.com/flex-development/mkbuild/commit/842ab95b6cf7c6eaa143aa773eedb097718e445f)] **deps-dev:** Bump lint-staged from 13.1.2 to 13.2.0 ([#125](https://github.com/flex-development/mkbuild/issues/125)) +- [[`54e17b8`](https://github.com/flex-development/mkbuild/commit/54e17b86719f26c99b422a41759c5ed690c1fdc1)] **deps-dev:** Bump memfs from 3.4.13 to 3.5.0 ([#192](https://github.com/flex-development/mkbuild/issues/192)) +- [[`c80339e`](https://github.com/flex-development/mkbuild/commit/c80339ea90c7eecaa017fdd878809a810e4e84fd)] **deps-dev:** Bump prettier from 2.8.4 to 2.8.6 ([#147](https://github.com/flex-development/mkbuild/issues/147)) +- [[`cfe6550`](https://github.com/flex-development/mkbuild/commit/cfe65503af0bc78f8b554532247c6ea3a0667ebe)] **deps-dev:** Bump prettier from 2.8.6 to 2.8.7 ([#164](https://github.com/flex-development/mkbuild/issues/164)) +- [[`8ac60d9`](https://github.com/flex-development/mkbuild/commit/8ac60d9bf98ff344944ba579f41487f7cb18601c)] **deps-dev:** Bump pretty-format from 29.4.3 to 29.5.0 ([#114](https://github.com/flex-development/mkbuild/issues/114)) +- [[`8a6deea`](https://github.com/flex-development/mkbuild/commit/8a6deeab3a3315d4f65ba6a12d3bc289ac673e1f)] **deps-dev:** Bump rxjs from 8.0.0-alpha.7 to 8.0.0-alpha.8 ([#187](https://github.com/flex-development/mkbuild/issues/187)) +- [[`bb640bf`](https://github.com/flex-development/mkbuild/commit/bb640bf18196b4fcf3765c92e24f2556b7475d07)] **deps-dev:** bump typescript from 5.1.0-dev.20230301 to 5.0.3 +- [[`571bc8a`](https://github.com/flex-development/mkbuild/commit/571bc8a777a94e9c453322cba53ca5b3d5018c19)] **deps-dev:** Bump vite from 4.1.4 to 4.2.1 ([#154](https://github.com/flex-development/mkbuild/issues/154)) +- [[`fdeca0c`](https://github.com/flex-development/mkbuild/commit/fdeca0ccac60749c7b7b371596896f44d793483a)] **deps-dev:** Bump vite-tsconfig-paths from 4.0.5 to 4.0.7 ([#132](https://github.com/flex-development/mkbuild/issues/132)) +- [[`e8cc68c`](https://github.com/flex-development/mkbuild/commit/e8cc68c3e24a7ab7133ede0235549ef6415f058d)] **deps-dev:** Bump vite-tsconfig-paths from 4.0.7 to 4.0.8 ([#186](https://github.com/flex-development/mkbuild/issues/186)) +- [[`bbb7c4b`](https://github.com/flex-development/mkbuild/commit/bbb7c4b5ecd83dc568a454c70f483d4b1e5e1d6a)] **deps-dev:** Bump vitest from 0.29.2 to 0.29.7 ([#143](https://github.com/flex-development/mkbuild/issues/143)) +- [[`7e632c0`](https://github.com/flex-development/mkbuild/commit/7e632c0dca00824e51fa7f6ee7fa06fe0abf34ed)] **deps-dev:** Bump yaml-eslint-parser from 1.1.0 to 1.2.0 ([#119](https://github.com/flex-development/mkbuild/issues/119)) +- [[`a3a0d54`](https://github.com/flex-development/mkbuild/commit/a3a0d549a9930f8a4c650278983add144448ca82)] **deps-peer:** bump esbuild from >=0.17.14 to >=0.17.15 +- [[`d248a7a`](https://github.com/flex-development/mkbuild/commit/d248a7acc823092cfe14c8bb6d7df39a35e3ab1b)] **deps:** Bump cosmiconfig from 8.1.0 to 8.1.3 ([#177](https://github.com/flex-development/mkbuild/issues/177)) +- [[`306b178`](https://github.com/flex-development/mkbuild/commit/306b178410a2ab498ae155b9185a9aacf9665820)] **deps:** Bump radash from 10.7.0 to 10.7.1 ([#113](https://github.com/flex-development/mkbuild/issues/113)) +- [[`42b88f5`](https://github.com/flex-development/mkbuild/commit/42b88f546ae2c92560b96bb70d59f433f7623905)] **deps:** Bump radash from 10.7.1 to 10.8.1 ([#176](https://github.com/flex-development/mkbuild/issues/176)) ### :robot: Continuous Integration -- **deps:** Bump actions/add-to-project from 0.4.1 to 0.5.0 ([#182](https://github.com/flex-development/mkbuild/pull/182)) ([20feff0](https://github.com/flex-development/mkbuild/commit/20feff0ca49e3a89f91e2ccab56f4e3008a95c78)) -- **deps:** Bump actions/cache from 3.2.6 to 3.3.1 ([#122](https://github.com/flex-development/mkbuild/pull/122)) ([4426201](https://github.com/flex-development/mkbuild/commit/4426201200c76b98ff88ad7282469084c708fe54)) -- **deps:** Bump actions/checkout from 3.3.0 to 3.4.0 ([#134](https://github.com/flex-development/mkbuild/pull/134)) ([0d14fcd](https://github.com/flex-development/mkbuild/commit/0d14fcddcb266260b77f1cc7f5373fd91cae94be)) -- **deps:** Bump actions/checkout from 3.4.0 to 3.5.0 ([#156](https://github.com/flex-development/mkbuild/pull/156)) ([36dfdd1](https://github.com/flex-development/mkbuild/commit/36dfdd186b38a7c71c5905bdcd0aab811e045d99)) -- **deps:** Bump actions/github-script from 6.4.0 to 6.4.1 ([#191](https://github.com/flex-development/mkbuild/pull/191)) ([9aacaf4](https://github.com/flex-development/mkbuild/commit/9aacaf423342663adb81acfa9ae675468f8dae84)) -- **workflows:** [`auto-merge`] use `secrets.PAT_REPO` ([cf6a0bf](https://github.com/flex-development/mkbuild/commit/cf6a0bf4d60af0a42ec57356eef112475d060ff6)) -- **workflows:** [`ci`] add `jobs.build.steps.pkg-size-report` ([b193660](https://github.com/flex-development/mkbuild/commit/b1936604b2ed7b4bc813cf1e91167d81259e65ef)) -- **workflows:** add `cache-cleanup` ([ac7e325](https://github.com/flex-development/mkbuild/commit/ac7e3254b50548cc1c41844e6f7c152911055d9f)) -- **workflows:** add `infrastructure` ([55d0661](https://github.com/flex-development/mkbuild/commit/55d06614523a2f553f3dd4b7b3d1e021a3a5f7af)) -- **workflows:** improve docs, formatting, and security ([ae66b37](https://github.com/flex-development/mkbuild/commit/ae66b37fbc25a921f379ac556d39c7e86e099544)) +- [[`20feff0`](https://github.com/flex-development/mkbuild/commit/20feff0ca49e3a89f91e2ccab56f4e3008a95c78)] **deps:** Bump actions/add-to-project from 0.4.1 to 0.5.0 ([#182](https://github.com/flex-development/mkbuild/issues/182)) +- [[`4426201`](https://github.com/flex-development/mkbuild/commit/4426201200c76b98ff88ad7282469084c708fe54)] **deps:** Bump actions/cache from 3.2.6 to 3.3.1 ([#122](https://github.com/flex-development/mkbuild/issues/122)) +- [[`0d14fcd`](https://github.com/flex-development/mkbuild/commit/0d14fcddcb266260b77f1cc7f5373fd91cae94be)] **deps:** Bump actions/checkout from 3.3.0 to 3.4.0 ([#134](https://github.com/flex-development/mkbuild/issues/134)) +- [[`36dfdd1`](https://github.com/flex-development/mkbuild/commit/36dfdd186b38a7c71c5905bdcd0aab811e045d99)] **deps:** Bump actions/checkout from 3.4.0 to 3.5.0 ([#156](https://github.com/flex-development/mkbuild/issues/156)) +- [[`9aacaf4`](https://github.com/flex-development/mkbuild/commit/9aacaf423342663adb81acfa9ae675468f8dae84)] **deps:** Bump actions/github-script from 6.4.0 to 6.4.1 ([#191](https://github.com/flex-development/mkbuild/issues/191)) +- [[`cf6a0bf`](https://github.com/flex-development/mkbuild/commit/cf6a0bf4d60af0a42ec57356eef112475d060ff6)] **workflows:** [`auto-merge`] use `secrets.PAT_REPO` +- [[`b193660`](https://github.com/flex-development/mkbuild/commit/b1936604b2ed7b4bc813cf1e91167d81259e65ef)] **workflows:** [`ci`] add `jobs.build.steps.pkg-size-report` +- [[`ac7e325`](https://github.com/flex-development/mkbuild/commit/ac7e3254b50548cc1c41844e6f7c152911055d9f)] **workflows:** add `cache-cleanup` +- [[`55d0661`](https://github.com/flex-development/mkbuild/commit/55d06614523a2f553f3dd4b7b3d1e021a3a5f7af)] **workflows:** add `infrastructure` +- [[`ae66b37`](https://github.com/flex-development/mkbuild/commit/ae66b37fbc25a921f379ac556d39c7e86e099544)] **workflows:** improve docs, formatting, and security ### :sparkles: Features -- watch mode ([f1decde](https://github.com/flex-development/mkbuild/commit/f1decde8597173569c69f8df8b013559231ff18b)) -- **cli:** [options] allow object and regex types ([23cbf6b](https://github.com/flex-development/mkbuild/commit/23cbf6bbacbcbfa8209a8cebed5c4f7a61c301b6)) -- **internal:** `gitignore` ([e4c83c0](https://github.com/flex-development/mkbuild/commit/e4c83c03702ee9c75d65fc02e6599fd33d53bc3f)) +- [[`f1decde`](https://github.com/flex-development/mkbuild/commit/f1decde8597173569c69f8df8b013559231ff18b)] watch mode +- [[`23cbf6b`](https://github.com/flex-development/mkbuild/commit/23cbf6bbacbcbfa8209a8cebed5c4f7a61c301b6)] **cli:** [options] allow object and regex types +- [[`e4c83c0`](https://github.com/flex-development/mkbuild/commit/e4c83c03702ee9c75d65fc02e6599fd33d53bc3f)] **internal:** `gitignore` ### :house_with_garden: Housekeeping -- sync config files ([8061fee](https://github.com/flex-development/mkbuild/commit/8061fee226c6791f46e4f0e2bedb5259abfb5445)) -- **tests:** [plugins] format option suite names ([bd03054](https://github.com/flex-development/mkbuild/commit/bd03054c008d20c14820f06f134b28144ba08927)) +- [[`8061fee`](https://github.com/flex-development/mkbuild/commit/8061fee226c6791f46e4f0e2bedb5259abfb5445)] sync config files +- [[`bd03054`](https://github.com/flex-development/mkbuild/commit/bd03054c008d20c14820f06f134b28144ba08927)] **tests:** [plugins] format option suite names ### :fire: Performance Improvements -- **tests:** [`make`] improve test speeds ([e69e826](https://github.com/flex-development/mkbuild/commit/e69e826dfb6739adaa628a1abccf842c6c0f73ab)) +- [[`e69e826`](https://github.com/flex-development/mkbuild/commit/e69e826dfb6739adaa628a1abccf842c6c0f73ab)] **tests:** [`make`] improve test speeds ### :mechanical_arm: Refactors -- cache cleaned output directories ([52bf5d8](https://github.com/flex-development/mkbuild/commit/52bf5d8a3180400e3b65f0413e38d2f59bf25818)) -- **cli:** `--help` + `--version` flag logic ([7201b91](https://github.com/flex-development/mkbuild/commit/7201b9175aba75f516ab3bfb2f5b50bda0666a75)) -- **cli:** combine short options as booleans ([e8f4718](https://github.com/flex-development/mkbuild/commit/e8f4718870ffe3fdfa085cfc52dd6ed21ada63b7)) -- **cli:** reimplement with `nest-commander` ([9bc1543](https://github.com/flex-development/mkbuild/commit/9bc154356970c5da1a14b60a0917b33139dff68c)) -- **utils:** [`analyzeOutputs`] intake `esbuild.Metafile['outputs']` ([f467b4b](https://github.com/flex-development/mkbuild/commit/f467b4bae340a83d126c8dc80b75af0a912d7ff7)) +- [[`52bf5d8`](https://github.com/flex-development/mkbuild/commit/52bf5d8a3180400e3b65f0413e38d2f59bf25818)] cache cleaned output directories +- [[`7201b91`](https://github.com/flex-development/mkbuild/commit/7201b9175aba75f516ab3bfb2f5b50bda0666a75)] **cli:** `--help` + `--version` flag logic +- [[`e8f4718`](https://github.com/flex-development/mkbuild/commit/e8f4718870ffe3fdfa085cfc52dd6ed21ada63b7)] **cli:** combine short options as booleans +- [[`9bc1543`](https://github.com/flex-development/mkbuild/commit/9bc154356970c5da1a14b60a0917b33139dff68c)] **cli:** reimplement with `nest-commander` +- [[`f467b4b`](https://github.com/flex-development/mkbuild/commit/f467b4bae340a83d126c8dc80b75af0a912d7ff7)] **utils:** [`analyzeOutputs`] intake `esbuild.Metafile['outputs']` ## [1.0.0-alpha.16](https://github.com/flex-development/mkbuild/compare/1.0.0-alpha.15...1.0.0-alpha.16) (2023-03-03) ### :package: Build -- **deps:** Bump @flex-development/mlly from 1.0.0-alpha.14 to 1.0.0-alpha.15 ([#101](https://github.com/flex-development/mkbuild/pull/101)) ([38d5a59](https://github.com/flex-development/mkbuild/commit/38d5a5982c70c4f896c6a0df661388e51ec3628f)) +- [[`38d5a59`](https://github.com/flex-development/mkbuild/commit/38d5a5982c70c4f896c6a0df661388e51ec3628f)] **deps:** Bump @flex-development/mlly from 1.0.0-alpha.14 to 1.0.0-alpha.15 ([#101](https://github.com/flex-development/mkbuild/issues/101)) ### :robot: Continuous Integration -- **workflows:** add `auto-merge` ([f8d3c62](https://github.com/flex-development/mkbuild/commit/f8d3c6240fd31d5ae89a949bf2e2ebec39956612)) +- [[`f8d3c62`](https://github.com/flex-development/mkbuild/commit/f8d3c6240fd31d5ae89a949bf2e2ebec39956612)] **workflows:** add `auto-merge` ## [1.0.0-alpha.15](https://github.com/flex-development/mkbuild/compare/1.0.0-alpha.14...1.0.0-alpha.15) (2023-03-03) ### :package: Build -- **deps-dev:** Bump @graphql-eslint/eslint-plugin from 3.16.0 to 3.16.1 ([#99](https://github.com/flex-development/mkbuild/pull/99)) ([669c2b7](https://github.com/flex-development/mkbuild/commit/669c2b7c2639344ae491cc4e732be6c0639d26c5)) -- **deps-dev:** Bump @typescript-eslint/eslint-plugin from 5.53.0 to 5.54.0 ([#95](https://github.com/flex-development/mkbuild/pull/95)) ([c59b7de](https://github.com/flex-development/mkbuild/commit/c59b7de11279af1b126c5f5243fd458d10766f67)) -- **deps-dev:** Bump @typescript-eslint/parser from 5.53.0 to 5.54.0 ([#94](https://github.com/flex-development/mkbuild/pull/94)) ([eba1278](https://github.com/flex-development/mkbuild/commit/eba12787e5c19acb96496f4570c5f924c1bc43f1)) -- **deps-dev:** Bump @vitest/ui from 0.28.5 to 0.29.1 ([#90](https://github.com/flex-development/mkbuild/pull/90)) ([a92483f](https://github.com/flex-development/mkbuild/commit/a92483f1e24d7e9908737884c190e4fdd0b96ac8)) -- **deps-dev:** Bump cspell from 6.26.3 to 6.27.0 ([#88](https://github.com/flex-development/mkbuild/pull/88)) ([8cea99d](https://github.com/flex-development/mkbuild/commit/8cea99da81febc1cc2b759694438e81761d6fcdc)) -- **deps:** bump @flex-development/mlly from 1.0.0-alpha.13 to 1.0.0-alpha.14 ([e839b54](https://github.com/flex-development/mkbuild/commit/e839b54c3169ebf9a1b812848d3d2791d9a62016)) -- **deps:** Bump cosmiconfig from 8.0.0 to 8.1.0 ([#87](https://github.com/flex-development/mkbuild/pull/87)) ([409461a](https://github.com/flex-development/mkbuild/commit/409461a10ffd3b35925fb1120f407c820f4a1ad2)) +- [[`669c2b7`](https://github.com/flex-development/mkbuild/commit/669c2b7c2639344ae491cc4e732be6c0639d26c5)] **deps-dev:** Bump @graphql-eslint/eslint-plugin from 3.16.0 to 3.16.1 ([#99](https://github.com/flex-development/mkbuild/issues/99)) +- [[`c59b7de`](https://github.com/flex-development/mkbuild/commit/c59b7de11279af1b126c5f5243fd458d10766f67)] **deps-dev:** Bump @typescript-eslint/eslint-plugin from 5.53.0 to 5.54.0 ([#95](https://github.com/flex-development/mkbuild/issues/95)) +- [[`eba1278`](https://github.com/flex-development/mkbuild/commit/eba12787e5c19acb96496f4570c5f924c1bc43f1)] **deps-dev:** Bump @typescript-eslint/parser from 5.53.0 to 5.54.0 ([#94](https://github.com/flex-development/mkbuild/issues/94)) +- [[`a92483f`](https://github.com/flex-development/mkbuild/commit/a92483f1e24d7e9908737884c190e4fdd0b96ac8)] **deps-dev:** Bump @vitest/ui from 0.28.5 to 0.29.1 ([#90](https://github.com/flex-development/mkbuild/issues/90)) +- [[`8cea99d`](https://github.com/flex-development/mkbuild/commit/8cea99da81febc1cc2b759694438e81761d6fcdc)] **deps-dev:** Bump cspell from 6.26.3 to 6.27.0 ([#88](https://github.com/flex-development/mkbuild/issues/88)) +- [[`e839b54`](https://github.com/flex-development/mkbuild/commit/e839b54c3169ebf9a1b812848d3d2791d9a62016)] **deps:** bump @flex-development/mlly from 1.0.0-alpha.13 to 1.0.0-alpha.14 +- [[`409461a`](https://github.com/flex-development/mkbuild/commit/409461a10ffd3b35925fb1120f407c820f4a1ad2)] **deps:** Bump cosmiconfig from 8.0.0 to 8.1.0 ([#87](https://github.com/flex-development/mkbuild/issues/87)) ### :robot: Continuous Integration -- **deps:** Bump actions/add-to-project from 0.4.0 to 0.4.1 ([#93](https://github.com/flex-development/mkbuild/pull/93)) ([c7d963d](https://github.com/flex-development/mkbuild/commit/c7d963dc81a21e5078423450d58966c61590e440)) -- **workflows:** [`ci`] add `commitlint` job ([a31805b](https://github.com/flex-development/mkbuild/commit/a31805bbeed419125513f52901aecc9453aa1fa2)) -- **workflows:** [`ci`] make jobs dependant on `gitguardian` ([d139c70](https://github.com/flex-development/mkbuild/commit/d139c7025ca6002b2bae995f25b7f1505823c091)) +- [[`c7d963d`](https://github.com/flex-development/mkbuild/commit/c7d963dc81a21e5078423450d58966c61590e440)] **deps:** Bump actions/add-to-project from 0.4.0 to 0.4.1 ([#93](https://github.com/flex-development/mkbuild/issues/93)) +- [[`a31805b`](https://github.com/flex-development/mkbuild/commit/a31805bbeed419125513f52901aecc9453aa1fa2)] **workflows:** [`ci`] add `commitlint` job +- [[`d139c70`](https://github.com/flex-development/mkbuild/commit/d139c7025ca6002b2bae995f25b7f1505823c091)] **workflows:** [`ci`] make jobs dependant on `gitguardian` ### :house_with_garden: Housekeeping -- sync config files ([aa46fa3](https://github.com/flex-development/mkbuild/commit/aa46fa3c220d3fe6a98b140d5cd87ed186767d16)) +- [[`aa46fa3`](https://github.com/flex-development/mkbuild/commit/aa46fa3c220d3fe6a98b140d5cd87ed186767d16)] sync config files ## [1.0.0-alpha.14](https://github.com/flex-development/mkbuild/compare/1.0.0-alpha.13...1.0.0-alpha.14) (2023-02-24) ### :package: Build -- externalize `node-fetch` ([ad6d562](https://github.com/flex-development/mkbuild/commit/ad6d562eca65b1674cba1f86f77279a6780c276a)) -- **deps-dev:** Bump @commitlint/cli from 17.4.2 to 17.4.4 ([#67](https://github.com/flex-development/mkbuild/pull/67)) ([3fff4e0](https://github.com/flex-development/mkbuild/commit/3fff4e0c1f3f7165de6f1fde3ff22a9f47592d65)) -- **deps-dev:** Bump @commitlint/config-conventional from 17.4.2 to 17.4.4 ([#66](https://github.com/flex-development/mkbuild/pull/66)) ([608d8c4](https://github.com/flex-development/mkbuild/commit/608d8c49d21cbc1bf701b2806ce69f2b48a9539b)) -- **deps-dev:** Bump @types/eslint from 8.21.0 to 8.21.1 ([#58](https://github.com/flex-development/mkbuild/pull/58)) ([0652191](https://github.com/flex-development/mkbuild/commit/0652191f1af2469b7783aaf44ebdbf4bf278e35b)) -- **deps-dev:** Bump @types/node from 18.13.0 to 18.14.0 ([#69](https://github.com/flex-development/mkbuild/pull/69)) ([e668044](https://github.com/flex-development/mkbuild/commit/e668044a21ddb8bd353315c6a52c99db7c39c6e0)) -- **deps-dev:** Bump @typescript-eslint/eslint-plugin from 5.52.0 to 5.53.0 ([#75](https://github.com/flex-development/mkbuild/pull/75)) ([9b587e6](https://github.com/flex-development/mkbuild/commit/9b587e62425617a7390632dfff4b1dbb814dadc7)) -- **deps-dev:** Bump @typescript-eslint/parser from 5.51.0 to 5.52.0 ([#60](https://github.com/flex-development/mkbuild/pull/60)) ([f6b89c5](https://github.com/flex-development/mkbuild/commit/f6b89c5b3ddfe253669e70933af034d9358594e9)) -- **deps-dev:** Bump @typescript-eslint/parser from 5.52.0 to 5.53.0 ([#77](https://github.com/flex-development/mkbuild/pull/77)) ([e12b278](https://github.com/flex-development/mkbuild/commit/e12b2789aef18e2d52a286016fcfb57638c76f2f)) -- **deps-dev:** Bump cspell from 6.24.0 to 6.26.3 ([#64](https://github.com/flex-development/mkbuild/pull/64)) ([833edb8](https://github.com/flex-development/mkbuild/commit/833edb8103d012e6535d9881c10dccffe7b435ce)) -- **deps-dev:** Bump esbuild from 0.17.8 to 0.17.9 ([#71](https://github.com/flex-development/mkbuild/pull/71)) ([f44dc3e](https://github.com/flex-development/mkbuild/commit/f44dc3e95db56ebf19abb8f05dab33edbfade380)) -- **deps-dev:** Bump esbuild from 0.17.9 to 0.17.10 ([#74](https://github.com/flex-development/mkbuild/pull/74)) ([195e606](https://github.com/flex-development/mkbuild/commit/195e6060490495834c7069f3151d2591ed4584c8)) -- **deps-dev:** Bump pretty-format from 29.4.2 to 29.4.3 ([#68](https://github.com/flex-development/mkbuild/pull/68)) ([4dcee03](https://github.com/flex-development/mkbuild/commit/4dcee03861b7385ee9768cddbd3b8bab0ae265b9)) -- **deps-dev:** Bump typescript from 5.0.0-dev.20230213 to 5.0.0-dev.20230221 ([#78](https://github.com/flex-development/mkbuild/pull/78)) ([d748ff1](https://github.com/flex-development/mkbuild/commit/d748ff174b1d3bff44b22898483c84663a6787c2)) -- **deps-dev:** Bump typescript from 5.0.0-dev.20230221 to 5.0.0-dev.20230222 ([#82](https://github.com/flex-development/mkbuild/pull/82)) ([185924c](https://github.com/flex-development/mkbuild/commit/185924c317113f9a32175b5f0c4560f053455a02)) -- **deps-dev:** bump typescript from 5.0.0-dev.20230222 to 5.0.0-dev.20230224 ([fc2d542](https://github.com/flex-development/mkbuild/commit/fc2d542a36c7c1c79fac082cca8a727628e54d66)) -- **deps-dev:** Bump vite from 4.1.1 to 4.1.2 ([#70](https://github.com/flex-development/mkbuild/pull/70)) ([3ef6a90](https://github.com/flex-development/mkbuild/commit/3ef6a90bf0bcd30013389a427b312815a59f4fbd)) -- **deps-dev:** Bump vite from 4.1.2 to 4.1.3 ([#76](https://github.com/flex-development/mkbuild/pull/76)) ([47606af](https://github.com/flex-development/mkbuild/commit/47606afacc1d21a367024111bfa9c6998aafa928)) -- **deps-dev:** Bump vite from 4.1.3 to 4.1.4 ([#80](https://github.com/flex-development/mkbuild/pull/80)) ([6fd8b81](https://github.com/flex-development/mkbuild/commit/6fd8b815af9b898608612722ae9c78181f12f38e)) -- **deps-peer:** bump esbuild from >=0.17.8 to >=0.17.9 ([cd43825](https://github.com/flex-development/mkbuild/commit/cd438258117cab1d47100fe077d35cf27ad5a538)) -- **deps:** bump @flex-development/mlly from 1.0.0-alpha.11 to 1.0.0-alpha.13 ([9a5018a](https://github.com/flex-development/mkbuild/commit/9a5018a07626b07b53598ae53e1d255dd65a8c3c)) -- **deps:** Bump @flex-development/tsconfig-utils from 1.1.1 to 1.1.2 ([#83](https://github.com/flex-development/mkbuild/pull/83)) ([1c9daeb](https://github.com/flex-development/mkbuild/commit/1c9daeb47b72e29ecc458e34dd75bb5ab2d300cd)) -- **yarn:** bump yarn from 4.0.0-rc.34 to 4.0.0-rc.39 ([5c68260](https://github.com/flex-development/mkbuild/commit/5c68260cc2196ccdede622032911ba78a0ce92c2)) +- [[`ad6d562`](https://github.com/flex-development/mkbuild/commit/ad6d562eca65b1674cba1f86f77279a6780c276a)] externalize `node-fetch` +- [[`3fff4e0`](https://github.com/flex-development/mkbuild/commit/3fff4e0c1f3f7165de6f1fde3ff22a9f47592d65)] **deps-dev:** Bump @commitlint/cli from 17.4.2 to 17.4.4 ([#67](https://github.com/flex-development/mkbuild/issues/67)) +- [[`608d8c4`](https://github.com/flex-development/mkbuild/commit/608d8c49d21cbc1bf701b2806ce69f2b48a9539b)] **deps-dev:** Bump @commitlint/config-conventional from 17.4.2 to 17.4.4 ([#66](https://github.com/flex-development/mkbuild/issues/66)) +- [[`0652191`](https://github.com/flex-development/mkbuild/commit/0652191f1af2469b7783aaf44ebdbf4bf278e35b)] **deps-dev:** Bump @types/eslint from 8.21.0 to 8.21.1 ([#58](https://github.com/flex-development/mkbuild/issues/58)) +- [[`e668044`](https://github.com/flex-development/mkbuild/commit/e668044a21ddb8bd353315c6a52c99db7c39c6e0)] **deps-dev:** Bump @types/node from 18.13.0 to 18.14.0 ([#69](https://github.com/flex-development/mkbuild/issues/69)) +- [[`9b587e6`](https://github.com/flex-development/mkbuild/commit/9b587e62425617a7390632dfff4b1dbb814dadc7)] **deps-dev:** Bump @typescript-eslint/eslint-plugin from 5.52.0 to 5.53.0 ([#75](https://github.com/flex-development/mkbuild/issues/75)) +- [[`f6b89c5`](https://github.com/flex-development/mkbuild/commit/f6b89c5b3ddfe253669e70933af034d9358594e9)] **deps-dev:** Bump @typescript-eslint/parser from 5.51.0 to 5.52.0 ([#60](https://github.com/flex-development/mkbuild/issues/60)) +- [[`e12b278`](https://github.com/flex-development/mkbuild/commit/e12b2789aef18e2d52a286016fcfb57638c76f2f)] **deps-dev:** Bump @typescript-eslint/parser from 5.52.0 to 5.53.0 ([#77](https://github.com/flex-development/mkbuild/issues/77)) +- [[`833edb8`](https://github.com/flex-development/mkbuild/commit/833edb8103d012e6535d9881c10dccffe7b435ce)] **deps-dev:** Bump cspell from 6.24.0 to 6.26.3 ([#64](https://github.com/flex-development/mkbuild/issues/64)) +- [[`f44dc3e`](https://github.com/flex-development/mkbuild/commit/f44dc3e95db56ebf19abb8f05dab33edbfade380)] **deps-dev:** Bump esbuild from 0.17.8 to 0.17.9 ([#71](https://github.com/flex-development/mkbuild/issues/71)) +- [[`195e606`](https://github.com/flex-development/mkbuild/commit/195e6060490495834c7069f3151d2591ed4584c8)] **deps-dev:** Bump esbuild from 0.17.9 to 0.17.10 ([#74](https://github.com/flex-development/mkbuild/issues/74)) +- [[`4dcee03`](https://github.com/flex-development/mkbuild/commit/4dcee03861b7385ee9768cddbd3b8bab0ae265b9)] **deps-dev:** Bump pretty-format from 29.4.2 to 29.4.3 ([#68](https://github.com/flex-development/mkbuild/issues/68)) +- [[`d748ff1`](https://github.com/flex-development/mkbuild/commit/d748ff174b1d3bff44b22898483c84663a6787c2)] **deps-dev:** Bump typescript from 5.0.0-dev.20230213 to 5.0.0-dev.20230221 ([#78](https://github.com/flex-development/mkbuild/issues/78)) +- [[`185924c`](https://github.com/flex-development/mkbuild/commit/185924c317113f9a32175b5f0c4560f053455a02)] **deps-dev:** Bump typescript from 5.0.0-dev.20230221 to 5.0.0-dev.20230222 ([#82](https://github.com/flex-development/mkbuild/issues/82)) +- [[`fc2d542`](https://github.com/flex-development/mkbuild/commit/fc2d542a36c7c1c79fac082cca8a727628e54d66)] **deps-dev:** bump typescript from 5.0.0-dev.20230222 to 5.0.0-dev.20230224 +- [[`3ef6a90`](https://github.com/flex-development/mkbuild/commit/3ef6a90bf0bcd30013389a427b312815a59f4fbd)] **deps-dev:** Bump vite from 4.1.1 to 4.1.2 ([#70](https://github.com/flex-development/mkbuild/issues/70)) +- [[`47606af`](https://github.com/flex-development/mkbuild/commit/47606afacc1d21a367024111bfa9c6998aafa928)] **deps-dev:** Bump vite from 4.1.2 to 4.1.3 ([#76](https://github.com/flex-development/mkbuild/issues/76)) +- [[`6fd8b81`](https://github.com/flex-development/mkbuild/commit/6fd8b815af9b898608612722ae9c78181f12f38e)] **deps-dev:** Bump vite from 4.1.3 to 4.1.4 ([#80](https://github.com/flex-development/mkbuild/issues/80)) +- [[`cd43825`](https://github.com/flex-development/mkbuild/commit/cd438258117cab1d47100fe077d35cf27ad5a538)] **deps-peer:** bump esbuild from >=0.17.8 to >=0.17.9 +- [[`9a5018a`](https://github.com/flex-development/mkbuild/commit/9a5018a07626b07b53598ae53e1d255dd65a8c3c)] **deps:** bump @flex-development/mlly from 1.0.0-alpha.11 to 1.0.0-alpha.13 +- [[`1c9daeb`](https://github.com/flex-development/mkbuild/commit/1c9daeb47b72e29ecc458e34dd75bb5ab2d300cd)] **deps:** Bump @flex-development/tsconfig-utils from 1.1.1 to 1.1.2 ([#83](https://github.com/flex-development/mkbuild/issues/83)) +- [[`5c68260`](https://github.com/flex-development/mkbuild/commit/5c68260cc2196ccdede622032911ba78a0ce92c2)] **yarn:** bump yarn from 4.0.0-rc.34 to 4.0.0-rc.39 ### :robot: Continuous Integration -- [[@dependabot](https://github.com/dependabot)] fix private registry updates ([69618f1](https://github.com/flex-development/mkbuild/commit/69618f140558c99c29e144d86d4beacca7b8055a)) -- **deps:** Bump actions/cache from 3.2.5 to 3.2.6 ([#79](https://github.com/flex-development/mkbuild/pull/79)) ([5bd78f0](https://github.com/flex-development/mkbuild/commit/5bd78f078f88bd8ce1828cc87993d99c349f5924)) -- **workflows:** [`ci`] use `github.event.pull_request.head.sha` for codecov ([e7cf854](https://github.com/flex-development/mkbuild/commit/e7cf854d049b70ff7c0f55e740837e5008aa99ef)) +- [[`69618f1`](https://github.com/flex-development/mkbuild/commit/69618f140558c99c29e144d86d4beacca7b8055a)] [[@dependabot](https://github.com/dependabot)] fix private registry updates +- [[`5bd78f0`](https://github.com/flex-development/mkbuild/commit/5bd78f078f88bd8ce1828cc87993d99c349f5924)] **deps:** Bump actions/cache from 3.2.5 to 3.2.6 ([#79](https://github.com/flex-development/mkbuild/issues/79)) +- [[`e7cf854`](https://github.com/flex-development/mkbuild/commit/e7cf854d049b70ff7c0f55e740837e5008aa99ef)] **workflows:** [`ci`] use `github.event.pull_request.head.sha` for codecov ### :sparkles: Features -- toggle package `type` ([755b9a7](https://github.com/flex-development/mkbuild/commit/755b9a7de67c58416d9b80beef17439df7e28c43)) +- [[`755b9a7`](https://github.com/flex-development/mkbuild/commit/755b9a7de67c58416d9b80beef17439df7e28c43)] toggle package `type` ### :house_with_garden: Housekeeping -- update config files ([461e99d](https://github.com/flex-development/mkbuild/commit/461e99d1497c70c1bb9245ed284bbe55c17644f8)) -- **github:** merge `pre-push` workflow into `commit-msg` workflow ([a5ec9a0](https://github.com/flex-development/mkbuild/commit/a5ec9a0261f6ca6bd670e9a5dfad40febb999632)) +- [[`461e99d`](https://github.com/flex-development/mkbuild/commit/461e99d1497c70c1bb9245ed284bbe55c17644f8)] update config files +- [[`a5ec9a0`](https://github.com/flex-development/mkbuild/commit/a5ec9a0261f6ca6bd670e9a5dfad40febb999632)] **github:** merge `pre-push` workflow into `commit-msg` workflow ### :mechanical_arm: Refactors -- **loader:** prepare for use in tests across node versions ([0148197](https://github.com/flex-development/mkbuild/commit/0148197ea6777bcc26f7ee6434c5de3cd3e08c93)) +- [[`0148197`](https://github.com/flex-development/mkbuild/commit/0148197ea6777bcc26f7ee6434c5de3cd3e08c93)] **loader:** prepare for use in tests across node versions ### :white_check_mark: Testing -- improve tests to catch erroneous build logic ([d85ecb2](https://github.com/flex-development/mkbuild/commit/d85ecb239cb29e08f7344197bff7a4e9f5e6ca70)) +- [[`d85ecb2`](https://github.com/flex-development/mkbuild/commit/d85ecb239cb29e08f7344197bff7a4e9f5e6ca70)] improve tests to catch erroneous build logic ## [1.0.0-alpha.13](https://github.com/flex-development/mkbuild/compare/1.0.0-alpha.12...1.0.0-alpha.13) (2023-02-17) ### :bug: Fixes -- **options:** default `source` ([8730e90](https://github.com/flex-development/mkbuild/commit/8730e90fab707e5e064184a378a24f1096778ec3)) +- [[`8730e90`](https://github.com/flex-development/mkbuild/commit/8730e90fab707e5e064184a378a24f1096778ec3)] **options:** default `source` ## [1.0.0-alpha.12](https://github.com/flex-development/mkbuild/compare/1.0.0-alpha.11...1.0.0-alpha.12) (2023-02-16) @@ -407,273 +407,273 @@ ### :package: Build -- preserve symbol names in bundle output ([bca9aa1](https://github.com/flex-development/mkbuild/commit/bca9aa1f6bb3cc02a7be7b59831d45e983a5b32b)) -- **deps-dev:** Bump @graphql-eslint/eslint-plugin from 3.15.0 to 3.16.0 ([#47](https://github.com/flex-development/mkbuild/pull/47)) ([9a4fc0a](https://github.com/flex-development/mkbuild/commit/9a4fc0a86edd6d58e3152f3e0b8b8b14acd00eec)) -- **deps-dev:** Bump @typescript-eslint/eslint-plugin from 5.51.0 to 5.52.0 ([#56](https://github.com/flex-development/mkbuild/pull/56)) ([c09abaa](https://github.com/flex-development/mkbuild/commit/c09abaa2f1ffdc89efbe81166a86073c765188a4)) -- **deps-dev:** bump @vitest/coverage-c8 from 0.28.4 to 0.28.5 ([2e02663](https://github.com/flex-development/mkbuild/commit/2e02663497894e414da2dcc50f8a381047c2ceda)) -- **deps-dev:** bump @vitest/spy from 0.28.4 to 0.28.5 ([cbf297d](https://github.com/flex-development/mkbuild/commit/cbf297d6075621d6e478bc774f027db0e0c2c4df)) -- **deps-dev:** bump @vitest/ui from 0.28.4 to 0.28.5 ([b0b075a](https://github.com/flex-development/mkbuild/commit/b0b075aa3430881d74e6a8421a7ff076dd6daf6b)) -- **deps-dev:** Bump cspell from 6.23.0 to 6.24.0 ([#52](https://github.com/flex-development/mkbuild/pull/52)) ([b2e404f](https://github.com/flex-development/mkbuild/commit/b2e404f8817db7b86399dc470766c4721f8622bb)) -- **deps-dev:** Bump esbuild from 0.17.7 to 0.17.8 ([#50](https://github.com/flex-development/mkbuild/pull/50)) ([d2445d4](https://github.com/flex-development/mkbuild/commit/d2445d4bbea506b5ed1231fb74319da60c9f3129)) -- **deps-dev:** Bump lint-staged from 13.1.1 to 13.1.2 ([#53](https://github.com/flex-development/mkbuild/pull/53)) ([85eb9b3](https://github.com/flex-development/mkbuild/commit/85eb9b309be26045013ba881dc2aa5fd7f4d2dd6)) -- **deps-dev:** Bump tempfile from 4.0.0 to 5.0.0 ([#48](https://github.com/flex-development/mkbuild/pull/48)) ([b9212bc](https://github.com/flex-development/mkbuild/commit/b9212bc1f6b974072eb9699387dc07b07fd518ad)) -- **deps-dev:** Bump typescript from 5.0.0-dev.20230211 to 5.0.0-dev.20230213 ([#51](https://github.com/flex-development/mkbuild/pull/51)) ([fe222ec](https://github.com/flex-development/mkbuild/commit/fe222ec37695244ce0068c18cc0c89ba9cd3272e)) -- **deps-dev:** bump vitest from 0.28.4 to 0.28.5 ([a3fa3fa](https://github.com/flex-development/mkbuild/commit/a3fa3fa3ee6ae352d95bbbd72c86af28bedf9f02)) -- **deps-peer:** bump esbuild from >=0.17.7 to >=0.17.8 ([a1eee55](https://github.com/flex-development/mkbuild/commit/a1eee552ed865456e6acafffee82016314174452)) -- **exports:** remove `./plugins/*` ([9119481](https://github.com/flex-development/mkbuild/commit/911948167e525ff8e8dfb9ab01178615e6e5982c)) +- [[`bca9aa1`](https://github.com/flex-development/mkbuild/commit/bca9aa1f6bb3cc02a7be7b59831d45e983a5b32b)] preserve symbol names in bundle output +- [[`9a4fc0a`](https://github.com/flex-development/mkbuild/commit/9a4fc0a86edd6d58e3152f3e0b8b8b14acd00eec)] **deps-dev:** Bump @graphql-eslint/eslint-plugin from 3.15.0 to 3.16.0 ([#47](https://github.com/flex-development/mkbuild/issues/47)) +- [[`c09abaa`](https://github.com/flex-development/mkbuild/commit/c09abaa2f1ffdc89efbe81166a86073c765188a4)] **deps-dev:** Bump @typescript-eslint/eslint-plugin from 5.51.0 to 5.52.0 ([#56](https://github.com/flex-development/mkbuild/issues/56)) +- [[`2e02663`](https://github.com/flex-development/mkbuild/commit/2e02663497894e414da2dcc50f8a381047c2ceda)] **deps-dev:** bump @vitest/coverage-c8 from 0.28.4 to 0.28.5 +- [[`cbf297d`](https://github.com/flex-development/mkbuild/commit/cbf297d6075621d6e478bc774f027db0e0c2c4df)] **deps-dev:** bump @vitest/spy from 0.28.4 to 0.28.5 +- [[`b0b075a`](https://github.com/flex-development/mkbuild/commit/b0b075aa3430881d74e6a8421a7ff076dd6daf6b)] **deps-dev:** bump @vitest/ui from 0.28.4 to 0.28.5 +- [[`b2e404f`](https://github.com/flex-development/mkbuild/commit/b2e404f8817db7b86399dc470766c4721f8622bb)] **deps-dev:** Bump cspell from 6.23.0 to 6.24.0 ([#52](https://github.com/flex-development/mkbuild/issues/52)) +- [[`d2445d4`](https://github.com/flex-development/mkbuild/commit/d2445d4bbea506b5ed1231fb74319da60c9f3129)] **deps-dev:** Bump esbuild from 0.17.7 to 0.17.8 ([#50](https://github.com/flex-development/mkbuild/issues/50)) +- [[`85eb9b3`](https://github.com/flex-development/mkbuild/commit/85eb9b309be26045013ba881dc2aa5fd7f4d2dd6)] **deps-dev:** Bump lint-staged from 13.1.1 to 13.1.2 ([#53](https://github.com/flex-development/mkbuild/issues/53)) +- [[`b9212bc`](https://github.com/flex-development/mkbuild/commit/b9212bc1f6b974072eb9699387dc07b07fd518ad)] **deps-dev:** Bump tempfile from 4.0.0 to 5.0.0 ([#48](https://github.com/flex-development/mkbuild/issues/48)) +- [[`fe222ec`](https://github.com/flex-development/mkbuild/commit/fe222ec37695244ce0068c18cc0c89ba9cd3272e)] **deps-dev:** Bump typescript from 5.0.0-dev.20230211 to 5.0.0-dev.20230213 ([#51](https://github.com/flex-development/mkbuild/issues/51)) +- [[`a3fa3fa`](https://github.com/flex-development/mkbuild/commit/a3fa3fa3ee6ae352d95bbbd72c86af28bedf9f02)] **deps-dev:** bump vitest from 0.28.4 to 0.28.5 +- [[`a1eee55`](https://github.com/flex-development/mkbuild/commit/a1eee552ed865456e6acafffee82016314174452)] **deps-peer:** bump esbuild from >=0.17.7 to >=0.17.8 +- [[`9119481`](https://github.com/flex-development/mkbuild/commit/911948167e525ff8e8dfb9ab01178615e6e5982c)] **exports:** remove `./plugins/*` ### :robot: Continuous Integration -- **deps:** Bump actions/cache from 3.2.4 to 3.2.5 ([#45](https://github.com/flex-development/mkbuild/pull/45)) ([cc0732c](https://github.com/flex-development/mkbuild/commit/cc0732cff30519cb26dd1f5fddfa6b6be88c76f5)) -- **workflows:** [`dependabot-auto`] remove `enable-auto-merge` job conditional ([4323177](https://github.com/flex-development/mkbuild/commit/432317730d3ad89dc65260703dc35b2609af1260)) +- [[`cc0732c`](https://github.com/flex-development/mkbuild/commit/cc0732cff30519cb26dd1f5fddfa6b6be88c76f5)] **deps:** Bump actions/cache from 3.2.4 to 3.2.5 ([#45](https://github.com/flex-development/mkbuild/issues/45)) +- [[`4323177`](https://github.com/flex-development/mkbuild/commit/432317730d3ad89dc65260703dc35b2609af1260)] **workflows:** [`dependabot-auto`] remove `enable-auto-merge` job conditional ### :sparkles: Features -- **plugins:** `decorators` ([c9d1e56](https://github.com/flex-development/mkbuild/commit/c9d1e56b1ea53432e3c35cacefeddac430cb413a)) +- [[`c9d1e56`](https://github.com/flex-development/mkbuild/commit/c9d1e56b1ea53432e3c35cacefeddac430cb413a)] **plugins:** `decorators` ### :bug: Fixes -- **options:** bundle defaults ([51c88a9](https://github.com/flex-development/mkbuild/commit/51c88a9ef1c5f03b7bc1bae6b2b06223d9194214)) +- [[`51c88a9`](https://github.com/flex-development/mkbuild/commit/51c88a9ef1c5f03b7bc1bae6b2b06223d9194214)] **options:** bundle defaults ### :mechanical_arm: Refactors -- **cli:** improve error logs ([c405798](https://github.com/flex-development/mkbuild/commit/c405798a6f0a001459fede43f7898fd55a9392d0)) -- **cli:** set exit code on error ([4587a9d](https://github.com/flex-development/mkbuild/commit/4587a9dc9441716a36197bb753702a5b3dd6f541)) +- [[`c405798`](https://github.com/flex-development/mkbuild/commit/c405798a6f0a001459fede43f7898fd55a9392d0)] **cli:** improve error logs +- [[`4587a9d`](https://github.com/flex-development/mkbuild/commit/4587a9dc9441716a36197bb753702a5b3dd6f541)] **cli:** set exit code on error -## [1.0.0-alpha.11](https://github.com/flex-development/mkbuild/compare/1.0.0-alpha.10...1.0.0-alpha.11) (2023-02-12) +## [1.0.0-alpha.11](https://github.com/flex-development/mkbuild/compare/1.0.0-alpha.10...1.0.0-alpha.11) (2023-02-13) ### :bug: Fixes -- dts-only write ([fcd4c51](https://github.com/flex-development/mkbuild/commit/fcd4c519e3c1935483c9672806a51e704906464d)) +- [[`fcd4c51`](https://github.com/flex-development/mkbuild/commit/fcd4c519e3c1935483c9672806a51e704906464d)] dts-only write ## [1.0.0-alpha.10](https://github.com/flex-development/mkbuild/compare/1.0.0-alpha.9...1.0.0-alpha.10) (2023-02-12) ### :package: Build -- **deps-peer:** bump esbuild from >=0.15.0 to >=0.17.7 ([75c620a](https://github.com/flex-development/mkbuild/commit/75c620a5fc1afe27f1a4de7c41f4347f06cea39f)) -- **deps:** Bump cosmiconfig from 7.0.1 to 8.0.0 ([#42](https://github.com/flex-development/mkbuild/pull/42)) ([ab75b8c](https://github.com/flex-development/mkbuild/commit/ab75b8c4d8d57016e8808c48dbf72b30866551d2)) -- **deps:** Bump pretty-bytes from 6.0.0 to 6.1.0 ([#41](https://github.com/flex-development/mkbuild/pull/41)) ([91df1e8](https://github.com/flex-development/mkbuild/commit/91df1e80010c04caca58feec58b5f8020b9edf93)) -- **deps:** replace `pkg-types` with `@flex-development/pkg-types` ([29cbd06](https://github.com/flex-development/mkbuild/commit/29cbd06c3c870eeb9761067c5bdbf77ee9ed511a)) +- [[`75c620a`](https://github.com/flex-development/mkbuild/commit/75c620a5fc1afe27f1a4de7c41f4347f06cea39f)] **deps-peer:** bump esbuild from >=0.15.0 to >=0.17.7 +- [[`ab75b8c`](https://github.com/flex-development/mkbuild/commit/ab75b8c4d8d57016e8808c48dbf72b30866551d2)] **deps:** Bump cosmiconfig from 7.0.1 to 8.0.0 ([#42](https://github.com/flex-development/mkbuild/issues/42)) +- [[`91df1e8`](https://github.com/flex-development/mkbuild/commit/91df1e80010c04caca58feec58b5f8020b9edf93)] **deps:** Bump pretty-bytes from 6.0.0 to 6.1.0 ([#41](https://github.com/flex-development/mkbuild/issues/41)) +- [[`29cbd06`](https://github.com/flex-development/mkbuild/commit/29cbd06c3c870eeb9761067c5bdbf77ee9ed511a)] **deps:** replace `pkg-types` with `@flex-development/pkg-types` ### :robot: Continuous Integration -- [[@dependabot](https://github.com/dependabot)] fix npm package-ecosystem x yarn integration ([0586b03](https://github.com/flex-development/mkbuild/commit/0586b034e5f34d9e74e7fcb0db6c25857bfee888)) -- **deps:** bump actions/add-to-project from 0.3.0 to 0.4.0 ([#34](https://github.com/flex-development/mkbuild/pull/34)) ([3f99321](https://github.com/flex-development/mkbuild/commit/3f99321f855c1df7b1f0be30b0732626d50d1842)) -- **deps:** bump actions/checkout from 3.1.0 to 3.2.0 ([#36](https://github.com/flex-development/mkbuild/pull/36)) ([e007d3b](https://github.com/flex-development/mkbuild/commit/e007d3b406e9e5dc74ab1a0693aa5ea4904b1cb1)) -- **deps:** bump actions/checkout from 3.2.0 to 3.3.0 ([#37](https://github.com/flex-development/mkbuild/pull/37)) ([bc6e3b7](https://github.com/flex-development/mkbuild/commit/bc6e3b701d4d08beab0a1e0a59972ce5dd730478)) -- **deps:** bump actions/github-script from 6.3.3 to 6.4.0 ([#40](https://github.com/flex-development/mkbuild/pull/40)) ([df77c5a](https://github.com/flex-development/mkbuild/commit/df77c5aca350f4b94923c6aa3ff4784366d2756d)) -- **deps:** bump actions/setup-node from 3.5.0 to 3.6.0 ([#38](https://github.com/flex-development/mkbuild/pull/38)) ([0df7e82](https://github.com/flex-development/mkbuild/commit/0df7e821834e9a1ade4ecd4cb7ed19ddb5827bea)) -- **deps:** bump dependabot/fetch-metadata from 1.3.5 to 1.3.6 ([#39](https://github.com/flex-development/mkbuild/pull/39)) ([16c9abf](https://github.com/flex-development/mkbuild/commit/16c9abf178265428688f559576932738b8fd42e3)) -- **deps:** bump dessant/lock-threads from 3.0.0 to 4.0.0 ([#35](https://github.com/flex-development/mkbuild/pull/35)) ([252f8d3](https://github.com/flex-development/mkbuild/commit/252f8d3060c86d0301651ec85c8d77d6df2a8c12)) -- **deps:** bump flex-development/dist-tag-action from 1.1.1 to 1.1.2 ([#33](https://github.com/flex-development/mkbuild/pull/33)) ([442728b](https://github.com/flex-development/mkbuild/commit/442728bc1f90b67f7af4cf60b67cbc8441e73879)) -- **deps:** bump octokit/graphql-action from 2.2.22 to 2.2.23 ([#24](https://github.com/flex-development/mkbuild/pull/24)) ([e5cd5ef](https://github.com/flex-development/mkbuild/commit/e5cd5efd1012891bd8fb73cd5f40796feff348ca)) -- **workflows:** [`add-to-project`] add items from repo admin account ([1bc490e](https://github.com/flex-development/mkbuild/commit/1bc490e3a5bb8445038e2feb29e85571f78293e1)) -- **workflows:** [`add-to-project`] run workflow when pr is synchronized ([51b4a93](https://github.com/flex-development/mkbuild/commit/51b4a935848309ce29b0686e96366e311b1c0e8e)) -- **workflows:** [`approve-pr`] refactor approval step conditional ([29c8556](https://github.com/flex-development/mkbuild/commit/29c85569cfe805f9fcec91cc7f51559afe8b9ed6)) -- **workflows:** [`ci`] split ci job into multiple jobs ([80c8fde](https://github.com/flex-development/mkbuild/commit/80c8fde580b4d40eb2c5ee2df8797c42374e6de2)) -- **workflows:** [`ci`] upload coverage report to codecov ([3bdf063](https://github.com/flex-development/mkbuild/commit/3bdf063bc9ebb18fae169d1b79316404990d1a91)) -- **workflows:** [`dependabot-auto`] sign lockfile fix commit ([e0a3c1d](https://github.com/flex-development/mkbuild/commit/e0a3c1da1c508e4644949f07133f70e20e5681a4)) -- **workflows:** [`integrity`] update `pull_request` event activity types ([0ddb1e6](https://github.com/flex-development/mkbuild/commit/0ddb1e68c7146a159708ead3b5fa7f88fbd1809c)) -- **workflows:** add `typescript-canary` ([4f5a3f1](https://github.com/flex-development/mkbuild/commit/4f5a3f1da82a6f4fd2750cb3122e6e852d612e62)) -- **workflows:** use environment files ([048e470](https://github.com/flex-development/mkbuild/commit/048e470ef10a074fc45140fc70b0f9740294555d)) +- [[`0586b03`](https://github.com/flex-development/mkbuild/commit/0586b034e5f34d9e74e7fcb0db6c25857bfee888)] [[@dependabot](https://github.com/dependabot)] fix npm package-ecosystem x yarn integration +- [[`3f99321`](https://github.com/flex-development/mkbuild/commit/3f99321f855c1df7b1f0be30b0732626d50d1842)] **deps:** bump actions/add-to-project from 0.3.0 to 0.4.0 ([#34](https://github.com/flex-development/mkbuild/issues/34)) +- [[`e007d3b`](https://github.com/flex-development/mkbuild/commit/e007d3b406e9e5dc74ab1a0693aa5ea4904b1cb1)] **deps:** bump actions/checkout from 3.1.0 to 3.2.0 ([#36](https://github.com/flex-development/mkbuild/issues/36)) +- [[`bc6e3b7`](https://github.com/flex-development/mkbuild/commit/bc6e3b701d4d08beab0a1e0a59972ce5dd730478)] **deps:** bump actions/checkout from 3.2.0 to 3.3.0 ([#37](https://github.com/flex-development/mkbuild/issues/37)) +- [[`df77c5a`](https://github.com/flex-development/mkbuild/commit/df77c5aca350f4b94923c6aa3ff4784366d2756d)] **deps:** bump actions/github-script from 6.3.3 to 6.4.0 ([#40](https://github.com/flex-development/mkbuild/issues/40)) +- [[`0df7e82`](https://github.com/flex-development/mkbuild/commit/0df7e821834e9a1ade4ecd4cb7ed19ddb5827bea)] **deps:** bump actions/setup-node from 3.5.0 to 3.6.0 ([#38](https://github.com/flex-development/mkbuild/issues/38)) +- [[`16c9abf`](https://github.com/flex-development/mkbuild/commit/16c9abf178265428688f559576932738b8fd42e3)] **deps:** bump dependabot/fetch-metadata from 1.3.5 to 1.3.6 ([#39](https://github.com/flex-development/mkbuild/issues/39)) +- [[`252f8d3`](https://github.com/flex-development/mkbuild/commit/252f8d3060c86d0301651ec85c8d77d6df2a8c12)] **deps:** bump dessant/lock-threads from 3.0.0 to 4.0.0 ([#35](https://github.com/flex-development/mkbuild/issues/35)) +- [[`442728b`](https://github.com/flex-development/mkbuild/commit/442728bc1f90b67f7af4cf60b67cbc8441e73879)] **deps:** bump flex-development/dist-tag-action from 1.1.1 to 1.1.2 ([#33](https://github.com/flex-development/mkbuild/issues/33)) +- [[`e5cd5ef`](https://github.com/flex-development/mkbuild/commit/e5cd5efd1012891bd8fb73cd5f40796feff348ca)] **deps:** bump octokit/graphql-action from 2.2.22 to 2.2.23 ([#24](https://github.com/flex-development/mkbuild/issues/24)) +- [[`1bc490e`](https://github.com/flex-development/mkbuild/commit/1bc490e3a5bb8445038e2feb29e85571f78293e1)] **workflows:** [`add-to-project`] add items from repo admin account +- [[`51b4a93`](https://github.com/flex-development/mkbuild/commit/51b4a935848309ce29b0686e96366e311b1c0e8e)] **workflows:** [`add-to-project`] run workflow when pr is synchronized +- [[`29c8556`](https://github.com/flex-development/mkbuild/commit/29c85569cfe805f9fcec91cc7f51559afe8b9ed6)] **workflows:** [`approve-pr`] refactor approval step conditional +- [[`80c8fde`](https://github.com/flex-development/mkbuild/commit/80c8fde580b4d40eb2c5ee2df8797c42374e6de2)] **workflows:** [`ci`] split ci job into multiple jobs +- [[`3bdf063`](https://github.com/flex-development/mkbuild/commit/3bdf063bc9ebb18fae169d1b79316404990d1a91)] **workflows:** [`ci`] upload coverage report to codecov +- [[`e0a3c1d`](https://github.com/flex-development/mkbuild/commit/e0a3c1da1c508e4644949f07133f70e20e5681a4)] **workflows:** [`dependabot-auto`] sign lockfile fix commit +- [[`0ddb1e6`](https://github.com/flex-development/mkbuild/commit/0ddb1e68c7146a159708ead3b5fa7f88fbd1809c)] **workflows:** [`integrity`] update `pull_request` event activity types +- [[`4f5a3f1`](https://github.com/flex-development/mkbuild/commit/4f5a3f1da82a6f4fd2750cb3122e6e852d612e62)] **workflows:** add `typescript-canary` +- [[`048e470`](https://github.com/flex-development/mkbuild/commit/048e470ef10a074fc45140fc70b0f9740294555d)] **workflows:** use environment files ### :pencil: Documentation -- add "contributor covenant code of conduct" ([98f96dd](https://github.com/flex-development/mkbuild/commit/98f96ddd2772a293e4ca11f3890b634647c17e46)) +- [[`98f96dd`](https://github.com/flex-development/mkbuild/commit/98f96ddd2772a293e4ca11f3890b634647c17e46)] add "contributor covenant code of conduct" ### :sparkles: Features -- **options:** `write?` ([fd5b227](https://github.com/flex-development/mkbuild/commit/fd5b227f8806c16a9e80756ad4d0c36884479ee0)) +- [[`fd5b227`](https://github.com/flex-development/mkbuild/commit/fd5b227f8806c16a9e80756ad4d0c36884479ee0)] **options:** `write?` ### :bug: Fixes -- **bundle:** `outbase` support ([b908fd5](https://github.com/flex-development/mkbuild/commit/b908fd501a24b1cef0ffcb53066948d43c3cd0bb)) -- **install:** [git] make `postinstall` script work with git install ([56ba06b](https://github.com/flex-development/mkbuild/commit/56ba06bdbcd69c95fb522c615759620fa6e8f11f)) +- [[`b908fd5`](https://github.com/flex-development/mkbuild/commit/b908fd501a24b1cef0ffcb53066948d43c3cd0bb)] **bundle:** `outbase` support +- [[`56ba06b`](https://github.com/flex-development/mkbuild/commit/56ba06bdbcd69c95fb522c615759620fa6e8f11f)] **install:** [git] make `postinstall` script work with git install ### :house_with_garden: Housekeeping -- update project architecture ([77d6a43](https://github.com/flex-development/mkbuild/commit/77d6a438d5a6a206ccf73f2e57543dfae28c1e17)) -- **github:** add "package manager" dropdown to bug report template ([a972b1b](https://github.com/flex-development/mkbuild/commit/a972b1bcbdc8f5e8d39d3372255b79608ce5ce43)) -- **github:** add "typescript version" input to bug report template ([997e725](https://github.com/flex-development/mkbuild/commit/997e725658b09880352f56882cc3c0bc743b6c9c)) -- **github:** add commit scope `build` ([9302f17](https://github.com/flex-development/mkbuild/commit/9302f17d1b3d2b4fda1d754725354b689281da98)) -- **github:** add commit scope `bundle` ([4c541c8](https://github.com/flex-development/mkbuild/commit/4c541c8bd5100f2077a91fd0e1cfa5d961aab53d)) -- **github:** add commit scope `install` ([498c709](https://github.com/flex-development/mkbuild/commit/498c709cdca52333b44c1a5fe6e2cb6234843de1)) -- **github:** add commit scope `internal` ([0e6bc3c](https://github.com/flex-development/mkbuild/commit/0e6bc3cbfdd2ae24ebe8870675aad335d7873c71)) -- **github:** add commit scope `loader` ([f42a4ab](https://github.com/flex-development/mkbuild/commit/f42a4ab20ef6fad11d0c23e9e59d3f17f9c84af6)) -- **github:** add commit scope `nvm` ([099fa5b](https://github.com/flex-development/mkbuild/commit/099fa5b4240269b38939ccf4fc56015783673551)) -- **github:** add commit scope `spelling` ([ca38cee](https://github.com/flex-development/mkbuild/commit/ca38cee137c7d04dbb011ee86fd906c304c4d605)) -- **github:** add commit scope `transpile` ([bdb4999](https://github.com/flex-development/mkbuild/commit/bdb4999462ef129337170366719284020a9f9e78)) -- **github:** add label `scope:install` ([5137ad7](https://github.com/flex-development/mkbuild/commit/5137ad79461b112fc8c1e2b9929d5d850b4cf0ad)) -- **github:** add label `status:triaged ([077cbce](https://github.com/flex-development/mkbuild/commit/077cbceaea79ef0adce608339aff9e900d73b5f5)) -- **github:** configure sponsor button ([7943874](https://github.com/flex-development/mkbuild/commit/7943874f68ba7c21c7e6329999a5a98413d1c669)) -- **github:** remove "tests" section from pull request template ([bc53f6b](https://github.com/flex-development/mkbuild/commit/bc53f6bd6a0510f1ad4d5fc9e63217dec5710126)) -- **tests:** codecov integration ([79fff1e](https://github.com/flex-development/mkbuild/commit/79fff1eba58717c78c867b992bf2e12632faf471)) +- [[`77d6a43`](https://github.com/flex-development/mkbuild/commit/77d6a438d5a6a206ccf73f2e57543dfae28c1e17)] update project architecture +- [[`a972b1b`](https://github.com/flex-development/mkbuild/commit/a972b1bcbdc8f5e8d39d3372255b79608ce5ce43)] **github:** add "package manager" dropdown to bug report template +- [[`997e725`](https://github.com/flex-development/mkbuild/commit/997e725658b09880352f56882cc3c0bc743b6c9c)] **github:** add "typescript version" input to bug report template +- [[`9302f17`](https://github.com/flex-development/mkbuild/commit/9302f17d1b3d2b4fda1d754725354b689281da98)] **github:** add commit scope `build` +- [[`4c541c8`](https://github.com/flex-development/mkbuild/commit/4c541c8bd5100f2077a91fd0e1cfa5d961aab53d)] **github:** add commit scope `bundle` +- [[`498c709`](https://github.com/flex-development/mkbuild/commit/498c709cdca52333b44c1a5fe6e2cb6234843de1)] **github:** add commit scope `install` +- [[`0e6bc3c`](https://github.com/flex-development/mkbuild/commit/0e6bc3cbfdd2ae24ebe8870675aad335d7873c71)] **github:** add commit scope `internal` +- [[`f42a4ab`](https://github.com/flex-development/mkbuild/commit/f42a4ab20ef6fad11d0c23e9e59d3f17f9c84af6)] **github:** add commit scope `loader` +- [[`099fa5b`](https://github.com/flex-development/mkbuild/commit/099fa5b4240269b38939ccf4fc56015783673551)] **github:** add commit scope `nvm` +- [[`ca38cee`](https://github.com/flex-development/mkbuild/commit/ca38cee137c7d04dbb011ee86fd906c304c4d605)] **github:** add commit scope `spelling` +- [[`bdb4999`](https://github.com/flex-development/mkbuild/commit/bdb4999462ef129337170366719284020a9f9e78)] **github:** add commit scope `transpile` +- [[`5137ad7`](https://github.com/flex-development/mkbuild/commit/5137ad79461b112fc8c1e2b9929d5d850b4cf0ad)] **github:** add label `scope:install` +- [[`077cbce`](https://github.com/flex-development/mkbuild/commit/077cbceaea79ef0adce608339aff9e900d73b5f5)] **github:** add label `status:triaged +- [[`7943874`](https://github.com/flex-development/mkbuild/commit/7943874f68ba7c21c7e6329999a5a98413d1c669)] **github:** configure sponsor button +- [[`bc53f6b`](https://github.com/flex-development/mkbuild/commit/bc53f6bd6a0510f1ad4d5fc9e63217dec5710126)] **github:** remove "tests" section from pull request template +- [[`79fff1e`](https://github.com/flex-development/mkbuild/commit/79fff1eba58717c78c867b992bf2e12632faf471)] **tests:** codecov integration ### :mechanical_arm: Refactors -- dependencies + project architecture ([da965b7](https://github.com/flex-development/mkbuild/commit/da965b7f6b888aeb1ca5530639d65db3b69e71a7)) +- [[`da965b7`](https://github.com/flex-development/mkbuild/commit/da965b7f6b888aeb1ca5530639d65db3b69e71a7)] dependencies + project architecture ### :white_check_mark: Testing -- **ts:** add type tests ([c34bb91](https://github.com/flex-development/mkbuild/commit/c34bb91e642cfd0aea594724d5c009655b09a3d2)) +- [[`c34bb91`](https://github.com/flex-development/mkbuild/commit/c34bb91e642cfd0aea594724d5c009655b09a3d2)] **ts:** add type tests ## [1.0.0-alpha.9](https://github.com/flex-development/mkbuild/compare/1.0.0-alpha.8...1.0.0-alpha.9) (2022-11-06) ### :package: Build -- **deps:** use @flex-development/mlly@1.0.0-alpha.2 ([94ddedb](https://github.com/flex-development/mkbuild/commit/94ddedba5c8d75510fc4829695d5b7c113b865f6)) +- [[`94ddedb`](https://github.com/flex-development/mkbuild/commit/94ddedba5c8d75510fc4829695d5b7c113b865f6)] **deps:** use @flex-development/mlly@1.0.0-alpha.2 ### :robot: Continuous Integration -- **deps:** bump dependabot/fetch-metadata from 1.3.3 to 1.3.5 ([#31](https://github.com/flex-development/mkbuild/pull/31)) ([d6aef35](https://github.com/flex-development/mkbuild/commit/d6aef350979a98a016ce329b186c2e53705ce8fd)) +- [[`d6aef35`](https://github.com/flex-development/mkbuild/commit/d6aef350979a98a016ce329b186c2e53705ce8fd)] **deps:** bump dependabot/fetch-metadata from 1.3.3 to 1.3.5 ([#31](https://github.com/flex-development/mkbuild/issues/31)) ## [1.0.0-alpha.8](https://github.com/flex-development/mkbuild/compare/1.0.0-alpha.7...1.0.0-alpha.8) (2022-10-22) ### :package: Build -- **deps:** use flex-development/mlly@a58ec2055750747743bc537f32f33ad7676fdcf4 ([ca74bfd](https://github.com/flex-development/mkbuild/commit/ca74bfd4c4057fe739ede1b65a2f7459549e33ab)) +- [[`ca74bfd`](https://github.com/flex-development/mkbuild/commit/ca74bfd4c4057fe739ede1b65a2f7459549e33ab)] **deps:** use flex-development/mlly@a58ec2055750747743bc537f32f33ad7676fdcf4 ## [1.0.0-alpha.7](https://github.com/flex-development/mkbuild/compare/1.0.0-alpha.6...1.0.0-alpha.7) (2022-10-21) ### :package: Build -- cleanup build target settings ([548b846](https://github.com/flex-development/mkbuild/commit/548b846ee64cd39e517a78c161220279a409746b)) -- remove `src` files from distribution ([d0a3302](https://github.com/flex-development/mkbuild/commit/d0a3302df9ffa1dd6ee2d962b6153613261cc7bc)) -- replace `mlly` with `@flex-development/mlly` ([72d3fcf](https://github.com/flex-development/mkbuild/commit/72d3fcf31b5e9105ae9baa8290666ab827a51f27)) -- **deps-dev:** bump deps according to `yarn upgrade-interactive` ([ba92cd0](https://github.com/flex-development/mkbuild/commit/ba92cd0d75b29216348320a55d0e20b9a1de0477)) -- **deps-dev:** bump esbuild from 0.15.10 to 0.15.12 ([3321e1e](https://github.com/flex-development/mkbuild/commit/3321e1ed9e617f6148c3a70a04f7cb0b628467fa)) -- **exports:** export `.`, `./package.json`, and `./plugins/*` only ([825c536](https://github.com/flex-development/mkbuild/commit/825c5367a4f89bb3334a3c466af8f5568dd88b2f)) -- **pkg:** add `"sideEffects": false` ([6bc2cd0](https://github.com/flex-development/mkbuild/commit/6bc2cd0a617d1131315a8e14ae861e9922ebcae9)) +- [[`548b846`](https://github.com/flex-development/mkbuild/commit/548b846ee64cd39e517a78c161220279a409746b)] cleanup build target settings +- [[`d0a3302`](https://github.com/flex-development/mkbuild/commit/d0a3302df9ffa1dd6ee2d962b6153613261cc7bc)] remove `src` files from distribution +- [[`72d3fcf`](https://github.com/flex-development/mkbuild/commit/72d3fcf31b5e9105ae9baa8290666ab827a51f27)] replace `mlly` with `@flex-development/mlly` +- [[`ba92cd0`](https://github.com/flex-development/mkbuild/commit/ba92cd0d75b29216348320a55d0e20b9a1de0477)] **deps-dev:** bump deps according to `yarn upgrade-interactive` +- [[`3321e1e`](https://github.com/flex-development/mkbuild/commit/3321e1ed9e617f6148c3a70a04f7cb0b628467fa)] **deps-dev:** bump esbuild from 0.15.10 to 0.15.12 +- [[`825c536`](https://github.com/flex-development/mkbuild/commit/825c5367a4f89bb3334a3c466af8f5568dd88b2f)] **exports:** export `.`, `./package.json`, and `./plugins/*` only +- [[`6bc2cd0`](https://github.com/flex-development/mkbuild/commit/6bc2cd0a617d1131315a8e14ae861e9922ebcae9)] **pkg:** add `"sideEffects": false` ### :robot: Continuous Integration -- **deps:** bump actions/checkout from 3.0.2 to 3.1.0 ([#22](https://github.com/flex-development/mkbuild/pull/22)) ([0632090](https://github.com/flex-development/mkbuild/commit/0632090da01483d2918a43ea936038cd658526cc)) -- **deps:** bump actions/github-script from 6.3.0 to 6.3.1 ([#20](https://github.com/flex-development/mkbuild/pull/20)) ([ba50c35](https://github.com/flex-development/mkbuild/commit/ba50c35f349c8572110c1e56106d87a9b545af56)) -- **deps:** bump actions/github-script from 6.3.1 to 6.3.2 ([#25](https://github.com/flex-development/mkbuild/pull/25)) ([557bf2e](https://github.com/flex-development/mkbuild/commit/557bf2e7d0753abf6efdcba3f4f8267aa393ec10)) -- **deps:** bump actions/github-script from 6.3.2 to 6.3.3 ([#27](https://github.com/flex-development/mkbuild/pull/27)) ([2943bf8](https://github.com/flex-development/mkbuild/commit/2943bf836bceb179ffbe9104fb804aba788416ca)) -- **deps:** bump crazy-max/ghaction-import-gpg from 5.1.0 to 5.2.0 ([#28](https://github.com/flex-development/mkbuild/pull/28)) ([ab88c54](https://github.com/flex-development/mkbuild/commit/ab88c5457f0dd8313614931fd5d33fb79e41c90e)) -- **deps:** bump hmarr/debug-action from 2.0.1 to 2.1.0 ([#23](https://github.com/flex-development/mkbuild/pull/23)) ([f78e5e8](https://github.com/flex-development/mkbuild/commit/f78e5e80bab643f3c63e8d8f12b3437cc3495d2c)) +- [[`0632090`](https://github.com/flex-development/mkbuild/commit/0632090da01483d2918a43ea936038cd658526cc)] **deps:** bump actions/checkout from 3.0.2 to 3.1.0 ([#22](https://github.com/flex-development/mkbuild/issues/22)) +- [[`ba50c35`](https://github.com/flex-development/mkbuild/commit/ba50c35f349c8572110c1e56106d87a9b545af56)] **deps:** bump actions/github-script from 6.3.0 to 6.3.1 ([#20](https://github.com/flex-development/mkbuild/issues/20)) +- [[`557bf2e`](https://github.com/flex-development/mkbuild/commit/557bf2e7d0753abf6efdcba3f4f8267aa393ec10)] **deps:** bump actions/github-script from 6.3.1 to 6.3.2 ([#25](https://github.com/flex-development/mkbuild/issues/25)) +- [[`2943bf8`](https://github.com/flex-development/mkbuild/commit/2943bf836bceb179ffbe9104fb804aba788416ca)] **deps:** bump actions/github-script from 6.3.2 to 6.3.3 ([#27](https://github.com/flex-development/mkbuild/issues/27)) +- [[`ab88c54`](https://github.com/flex-development/mkbuild/commit/ab88c5457f0dd8313614931fd5d33fb79e41c90e)] **deps:** bump crazy-max/ghaction-import-gpg from 5.1.0 to 5.2.0 ([#28](https://github.com/flex-development/mkbuild/issues/28)) +- [[`f78e5e8`](https://github.com/flex-development/mkbuild/commit/f78e5e80bab643f3c63e8d8f12b3437cc3495d2c)] **deps:** bump hmarr/debug-action from 2.0.1 to 2.1.0 ([#23](https://github.com/flex-development/mkbuild/issues/23)) ### :pencil: Documentation -- merge zsh docs into contributing guide ([42f50bd](https://github.com/flex-development/mkbuild/commit/42f50bdc3063566be1b2b063b76686f5992ac58c)) -- reorganize gpr install guide ([ca184cb](https://github.com/flex-development/mkbuild/commit/ca184cbd514b964e50e7944b87885162cffdbd5a)) +- [[`42f50bd`](https://github.com/flex-development/mkbuild/commit/42f50bdc3063566be1b2b063b76686f5992ac58c)] merge zsh docs into contributing guide +- [[`ca184cb`](https://github.com/flex-development/mkbuild/commit/ca184cbd514b964e50e7944b87885162cffdbd5a)] reorganize gpr install guide ### :house_with_garden: Housekeeping -- add "vscode as git editor" setup to sample gitconfig ([b215a09](https://github.com/flex-development/mkbuild/commit/b215a092abe6dc4602a0a28bb176b1d8f43a1cf7)) -- **tests:** reorganize vitest config ([7b690c6](https://github.com/flex-development/mkbuild/commit/7b690c600ee3471ff9af180f3fa35ad26f367d82)) -- **tests:** update `ImportMetaEnv` base ([50842cc](https://github.com/flex-development/mkbuild/commit/50842cc2a2c9ca5be7211d6bf94ad6113b9ead81)) -- **ts:** enforce `import type` for type-only imports ([6fb9272](https://github.com/flex-development/mkbuild/commit/6fb92721b9794e0cba76e4bd71305846d3947fa4)) -- **vscode:** configure debugging ([6c6ea09](https://github.com/flex-development/mkbuild/commit/6c6ea094d4cecafb7e5af1c70148d4ac24065890)) +- [[`b215a09`](https://github.com/flex-development/mkbuild/commit/b215a092abe6dc4602a0a28bb176b1d8f43a1cf7)] add "vscode as git editor" setup to sample gitconfig +- [[`7b690c6`](https://github.com/flex-development/mkbuild/commit/7b690c600ee3471ff9af180f3fa35ad26f367d82)] **tests:** reorganize vitest config +- [[`50842cc`](https://github.com/flex-development/mkbuild/commit/50842cc2a2c9ca5be7211d6bf94ad6113b9ead81)] **tests:** update `ImportMetaEnv` base +- [[`6fb9272`](https://github.com/flex-development/mkbuild/commit/6fb92721b9794e0cba76e4bd71305846d3947fa4)] **ts:** enforce `import type` for type-only imports +- [[`6c6ea09`](https://github.com/flex-development/mkbuild/commit/6c6ea094d4cecafb7e5af1c70148d4ac24065890)] **vscode:** configure debugging ## [1.0.0-alpha.6](https://github.com/flex-development/mkbuild/compare/1.0.0-alpha.5...1.0.0-alpha.6) (2022-10-02) ### :package: Build -- **deps-dev:** bump @flex-development/tutils from 5.0.0 to 5.0.1 ([7cc1c69](https://github.com/flex-development/mkbuild/commit/7cc1c69e11d54fec3125f570d04be83c3f6d472f)) -- **deps:** move @flex-development/tutils to `dependencies` ([eee26a9](https://github.com/flex-development/mkbuild/commit/eee26a95217386f4bd9204b49dec118577b4b94c)) +- [[`7cc1c69`](https://github.com/flex-development/mkbuild/commit/7cc1c69e11d54fec3125f570d04be83c3f6d472f)] **deps-dev:** bump @flex-development/tutils from 5.0.0 to 5.0.1 +- [[`eee26a9`](https://github.com/flex-development/mkbuild/commit/eee26a95217386f4bd9204b49dec118577b4b94c)] **deps:** move @flex-development/tutils to `dependencies` ### :bug: Fixes -- **plugins:** [`fully-specified`] dot case specifiers support ([b301894](https://github.com/flex-development/mkbuild/commit/b301894aac5f29f9ea36eeb2a21ac737d7732483)) +- [[`b301894`](https://github.com/flex-development/mkbuild/commit/b301894aac5f29f9ea36eeb2a21ac737d7732483)] **plugins:** [`fully-specified`] dot case specifiers support ## [1.0.0-alpha.5](https://github.com/flex-development/mkbuild/compare/1.0.0-alpha.4...1.0.0-alpha.5) (2022-09-30) ### :package: Build -- **deps-dev:** bump pretty-format from 29.1.0 to 29.1.2 ([bf400b2](https://github.com/flex-development/mkbuild/commit/bf400b24a43a3f5e768ba4090751ee03700166c8)) -- **deps:** bump mlly from 0.5.14 to 0.5.16 ([95bdfc8](https://github.com/flex-development/mkbuild/commit/95bdfc8b07ec3becf5cc586c2423d3e90f3d30e2)) +- [[`bf400b2`](https://github.com/flex-development/mkbuild/commit/bf400b24a43a3f5e768ba4090751ee03700166c8)] **deps-dev:** bump pretty-format from 29.1.0 to 29.1.2 +- [[`95bdfc8`](https://github.com/flex-development/mkbuild/commit/95bdfc8b07ec3becf5cc586c2423d3e90f3d30e2)] **deps:** bump mlly from 0.5.14 to 0.5.16 ## [1.0.0-alpha.4](https://github.com/flex-development/mkbuild/compare/1.0.0-alpha.3...1.0.0-alpha.4) (2022-09-30) ### :bug: Fixes -- **plugins:** [`fully-specified`] `Cannot read properties of undefined (reading 'length')` ([deab2d8](https://github.com/flex-development/mkbuild/commit/deab2d8da9b44aa88120d6f5c240efd0a2d23e7a)) +- [[`deab2d8`](https://github.com/flex-development/mkbuild/commit/deab2d8da9b44aa88120d6f5c240efd0a2d23e7a)] **plugins:** [`fully-specified`] `Cannot read properties of undefined (reading 'length')` ### :house_with_garden: Housekeeping -- `.graphqlrc.cts` -> `.graphqlrc.yml` ([24a70c3](https://github.com/flex-development/mkbuild/commit/24a70c3a445f8c192f6bd9c884d88845540fc2d1)) -- **deps-dev:** cleanup + upgrade deps ([50d2562](https://github.com/flex-development/mkbuild/commit/50d2562defe001ad4e55eff280addf7fdbcf7b6a)) +- [[`24a70c3`](https://github.com/flex-development/mkbuild/commit/24a70c3a445f8c192f6bd9c884d88845540fc2d1)] `.graphqlrc.cts` -> `.graphqlrc.yml` +- [[`50d2562`](https://github.com/flex-development/mkbuild/commit/50d2562defe001ad4e55eff280addf7fdbcf7b6a)] **deps-dev:** cleanup + upgrade deps -## [1.0.0-alpha.3](https://github.com/flex-development/mkbuild/compare/1.0.0-alpha.2...1.0.0-alpha.3) (2022-09-29) +## [1.0.0-alpha.3](https://github.com/flex-development/mkbuild/compare/1.0.0-alpha.2...1.0.0-alpha.3) (2022-09-30) ### :bug: Fixes -- **plugins:** [`create-require`] remove new line from end of snippet if output should be minified ([dc0f0f9](https://github.com/flex-development/mkbuild/commit/dc0f0f93ce7cb9844360f59da605eeaa52164d77)) +- [[`dc0f0f9`](https://github.com/flex-development/mkbuild/commit/dc0f0f93ce7cb9844360f59da605eeaa52164d77)] **plugins:** [`create-require`] remove new line from end of snippet if output should be minified ## [1.0.0-alpha.2](https://github.com/flex-development/mkbuild/compare/1.0.0-alpha.1...1.0.0-alpha.2) (2022-09-29) ### :mechanical_arm: Refactors -- **options:** merge esbuild options into common build options ([0b40f2d](https://github.com/flex-development/mkbuild/commit/0b40f2d9a7cb774eda82d01ab8b176744797af84)) +- [[`0b40f2d`](https://github.com/flex-development/mkbuild/commit/0b40f2d9a7cb774eda82d01ab8b176744797af84)] **options:** merge esbuild options into common build options ## 1.0.0-alpha.1 (2022-09-29) ### :package: Build -- fix `ERR_PACKAGE_IMPORT_NOT_DEFINED` ([c5e7153](https://github.com/flex-development/mkbuild/commit/c5e715305b72bd678edd71564ae3afb83f893fee)) -- remove `main` field ([c408bba](https://github.com/flex-development/mkbuild/commit/c408bbaff206b8fbb2094d11794599342801c8fa)) -- **deps-peer:** require `esbuild>=0.15.0` ([8752a0b](https://github.com/flex-development/mkbuild/commit/8752a0b03352f946a6ee52c095e9cc966b9807b0)) -- **esm:** pure esm ([0705685](https://github.com/flex-development/mkbuild/commit/0705685f33ce75b785a83001827d067119c58d09)) -- **exports:** remove extraneous exports ([7bde131](https://github.com/flex-development/mkbuild/commit/7bde1319e5288fed720d1390b1463d2f44380c51)) -- **node:** make programmatic users apply patches ([811ba99](https://github.com/flex-development/mkbuild/commit/811ba99eaea0f4af4dd0330f602a781cb28b860f)) +- [[`c5e7153`](https://github.com/flex-development/mkbuild/commit/c5e715305b72bd678edd71564ae3afb83f893fee)] fix `ERR_PACKAGE_IMPORT_NOT_DEFINED` +- [[`c408bba`](https://github.com/flex-development/mkbuild/commit/c408bbaff206b8fbb2094d11794599342801c8fa)] remove `main` field +- [[`8752a0b`](https://github.com/flex-development/mkbuild/commit/8752a0b03352f946a6ee52c095e9cc966b9807b0)] **deps-peer:** require `esbuild>=0.15.0` +- [[`0705685`](https://github.com/flex-development/mkbuild/commit/0705685f33ce75b785a83001827d067119c58d09)] **esm:** pure esm +- [[`7bde131`](https://github.com/flex-development/mkbuild/commit/7bde1319e5288fed720d1390b1463d2f44380c51)] **exports:** remove extraneous exports +- [[`811ba99`](https://github.com/flex-development/mkbuild/commit/811ba99eaea0f4af4dd0330f602a781cb28b860f)] **node:** make programmatic users apply patches ### :robot: Continuous Integration -- add [@dependabot](https://github.com/dependabot) config ([9c58d1c](https://github.com/flex-development/mkbuild/commit/9c58d1ca753406bbba92c729360b9b6e400a6e9a)) -- **deps:** bump actions/github-script from 6.2.0 to 6.3.0 ([#11](https://github.com/flex-development/mkbuild/pull/11)) ([bc89779](https://github.com/flex-development/mkbuild/commit/bc89779332666701448a1083b9759017f299ad3b)) -- **deps:** bump actions/setup-node from 3.4.1 to 3.5.0 ([#12](https://github.com/flex-development/mkbuild/pull/12)) ([cff3812](https://github.com/flex-development/mkbuild/commit/cff38122a9d1521d9364fc7c6770cd762c6748f0)) -- **deps:** bump flex-development/dist-tag-action from 1.1.0 to 1.1.1 ([#13](https://github.com/flex-development/mkbuild/pull/13)) ([28ee8df](https://github.com/flex-development/mkbuild/commit/28ee8df69b00be0adf5f0e46543f14eb96a308af)) +- [[`9c58d1c`](https://github.com/flex-development/mkbuild/commit/9c58d1ca753406bbba92c729360b9b6e400a6e9a)] add [@dependabot](https://github.com/dependabot) config +- [[`bc89779`](https://github.com/flex-development/mkbuild/commit/bc89779332666701448a1083b9759017f299ad3b)] **deps:** bump actions/github-script from 6.2.0 to 6.3.0 ([#11](https://github.com/flex-development/mkbuild/issues/11)) +- [[`cff3812`](https://github.com/flex-development/mkbuild/commit/cff38122a9d1521d9364fc7c6770cd762c6748f0)] **deps:** bump actions/setup-node from 3.4.1 to 3.5.0 ([#12](https://github.com/flex-development/mkbuild/issues/12)) +- [[`28ee8df`](https://github.com/flex-development/mkbuild/commit/28ee8df69b00be0adf5f0e46543f14eb96a308af)] **deps:** bump flex-development/dist-tag-action from 1.1.0 to 1.1.1 ([#13](https://github.com/flex-development/mkbuild/issues/13)) ### :pencil: Documentation -- add `module type` badge ([bd9814f](https://github.com/flex-development/mkbuild/commit/bd9814f3a5366bee74b97870e5349d6b59767c39)) -- features ([2eecc98](https://github.com/flex-development/mkbuild/commit/2eecc98e289835f74fe3214791a0718ff257a9b3)) -- remove "built with" section in `README` ([36af097](https://github.com/flex-development/mkbuild/commit/36af0975ca143e4e9e5f3237d71568ca60094296)) -- remove starter todo list ([4e6959f](https://github.com/flex-development/mkbuild/commit/4e6959f7f8b6f3d4840433e938ca3947db5cd51d)) -- update project description ([cd8ee28](https://github.com/flex-development/mkbuild/commit/cd8ee28635f02e9fd6c94209140b47a1158cf2f1)) -- usage ([ba6861a](https://github.com/flex-development/mkbuild/commit/ba6861ab81f47bd2644ff36097cb695ec87d48cb)) +- [[`bd9814f`](https://github.com/flex-development/mkbuild/commit/bd9814f3a5366bee74b97870e5349d6b59767c39)] add `module type` badge +- [[`2eecc98`](https://github.com/flex-development/mkbuild/commit/2eecc98e289835f74fe3214791a0718ff257a9b3)] features +- [[`36af097`](https://github.com/flex-development/mkbuild/commit/36af0975ca143e4e9e5f3237d71568ca60094296)] remove "built with" section in `README` +- [[`4e6959f`](https://github.com/flex-development/mkbuild/commit/4e6959f7f8b6f3d4840433e938ca3947db5cd51d)] remove starter todo list +- [[`cd8ee28`](https://github.com/flex-development/mkbuild/commit/cd8ee28635f02e9fd6c94209140b47a1158cf2f1)] update project description +- [[`ba6861a`](https://github.com/flex-development/mkbuild/commit/ba6861ab81f47bd2644ff36097cb695ec87d48cb)] usage ### :sparkles: Features -- auto-insert `require` definition when creating esm bundles ([b584192](https://github.com/flex-development/mkbuild/commit/b584192816d48085407487df05203de243631f4d)) -- bundling ([#10](https://github.com/flex-development/mkbuild/pull/10)) ([10f79b5](https://github.com/flex-development/mkbuild/commit/10f79b5bb4a38e88c5d173c7832c402a5971b835)) -- file-to-file transpilation ([#4](https://github.com/flex-development/mkbuild/pull/4)) ([1601d26](https://github.com/flex-development/mkbuild/commit/1601d268bce74abafab6a4b0d0e244b35dd1e808)) -- infer build entry from build config ([5168c94](https://github.com/flex-development/mkbuild/commit/5168c9466e33dc7b4325d1a1c53f14e18892ce25)) -- **cli:** cli ([9c82c3b](https://github.com/flex-development/mkbuild/commit/9c82c3b24887cb596f66e5d924bb86f12b6f3186)) -- **esbuild:** source map support ([#8](https://github.com/flex-development/mkbuild/pull/8)) ([fd58b93](https://github.com/flex-development/mkbuild/commit/fd58b93450f5352c29c511b2af394d794b22227e)) -- **options:** default `dts` based on `typescript` install ([2af6d0e](https://github.com/flex-development/mkbuild/commit/2af6d0e6d77a50c5481d3c1d111841f90f1943a4)) -- **options:** options ([#3](https://github.com/flex-development/mkbuild/pull/3)) ([b12fa72](https://github.com/flex-development/mkbuild/commit/b12fa72123b782757dc365d5af11e2ac816a8c80)) -- **plugins:** [`create-require`] recalculate output file size ([6f62642](https://github.com/flex-development/mkbuild/commit/6f62642a5121c44ff9aa79a6cca3418166ceddc6)) -- **plugins:** `create-require` ([885b805](https://github.com/flex-development/mkbuild/commit/885b805db5eefb42fb8b92a4f1736b14e7a23058)) +- [[`b584192`](https://github.com/flex-development/mkbuild/commit/b584192816d48085407487df05203de243631f4d)] auto-insert `require` definition when creating esm bundles +- [[`10f79b5`](https://github.com/flex-development/mkbuild/commit/10f79b5bb4a38e88c5d173c7832c402a5971b835)] bundling ([#10](https://github.com/flex-development/mkbuild/issues/10)) +- [[`1601d26`](https://github.com/flex-development/mkbuild/commit/1601d268bce74abafab6a4b0d0e244b35dd1e808)] file-to-file transpilation ([#4](https://github.com/flex-development/mkbuild/issues/4)) +- [[`5168c94`](https://github.com/flex-development/mkbuild/commit/5168c9466e33dc7b4325d1a1c53f14e18892ce25)] infer build entry from build config +- [[`9c82c3b`](https://github.com/flex-development/mkbuild/commit/9c82c3b24887cb596f66e5d924bb86f12b6f3186)] **cli:** cli +- [[`fd58b93`](https://github.com/flex-development/mkbuild/commit/fd58b93450f5352c29c511b2af394d794b22227e)] **esbuild:** source map support ([#8](https://github.com/flex-development/mkbuild/issues/8)) +- [[`2af6d0e`](https://github.com/flex-development/mkbuild/commit/2af6d0e6d77a50c5481d3c1d111841f90f1943a4)] **options:** default `dts` based on `typescript` install +- [[`b12fa72`](https://github.com/flex-development/mkbuild/commit/b12fa72123b782757dc365d5af11e2ac816a8c80)] **options:** options ([#3](https://github.com/flex-development/mkbuild/issues/3)) +- [[`6f62642`](https://github.com/flex-development/mkbuild/commit/6f62642a5121c44ff9aa79a6cca3418166ceddc6)] **plugins:** [`create-require`] recalculate output file size +- [[`885b805`](https://github.com/flex-development/mkbuild/commit/885b805db5eefb42fb8b92a4f1736b14e7a23058)] **plugins:** `create-require` ### :bug: Fixes -- **config:** prevent `import.meta.url` from being rewritten ([3e9c7c8](https://github.com/flex-development/mkbuild/commit/3e9c7c881cbc93156fe31176c7a0090e698dfac6)) -- **config:** prevent json imports from being converted into data urls ([63b1261](https://github.com/flex-development/mkbuild/commit/63b126136d2564c71253f1e22eb1317a0ac983c0)) +- [[`3e9c7c8`](https://github.com/flex-development/mkbuild/commit/3e9c7c881cbc93156fe31176c7a0090e698dfac6)] **config:** prevent `import.meta.url` from being rewritten +- [[`63b1261`](https://github.com/flex-development/mkbuild/commit/63b126136d2564c71253f1e22eb1317a0ac983c0)] **config:** prevent json imports from being converted into data urls ### :house_with_garden: Housekeeping -- update `eslint.globals.JSX` logic ([c997476](https://github.com/flex-development/mkbuild/commit/c9974764b81a684adeb1352b71597d223a3cbd71)) -- update eslint extensions ([95963c6](https://github.com/flex-development/mkbuild/commit/95963c6d7bec157f31f2d8adefcf656d450b3a08)) -- **deps-dev:** resolve esbuild to 0.15.9 ([c0acee4](https://github.com/flex-development/mkbuild/commit/c0acee43767f4a977ad80393d2a6f3075dfaa078)) -- **esm:** cleanup ([0e1abd2](https://github.com/flex-development/mkbuild/commit/0e1abd2bc63613cb1c11a8fbebe4767489b626a5)) -- **github:** update text file extensions in `.gitattributes` ([ff6d830](https://github.com/flex-development/mkbuild/commit/ff6d83096305fdaa512d884688a450a5170fb391)) -- **pkg:** check test coverage in `check:ci` script ([799bb8c](https://github.com/flex-development/mkbuild/commit/799bb8c299cc7f4372a97aacc255d23e40de2383)) -- **pkg:** check types build in `check:ci` script ([e357301](https://github.com/flex-development/mkbuild/commit/e35730159a30a1bbae84bfe39625b751b1440ff6)) -- **pkg:** convert `bugs` and `repository` field to strings ([aff2cd7](https://github.com/flex-development/mkbuild/commit/aff2cd70bb5071e94400c3305b786d234c343b1a)) -- **pkg:** update `keywords` ([98fe7c3](https://github.com/flex-development/mkbuild/commit/98fe7c340b50f105d32ad0d402c4c22ff28f7bbd)) -- **tests:** cleanup test environment ([34a0fb0](https://github.com/flex-development/mkbuild/commit/34a0fb0f6b73038734b2ab818df29fd2f8cae841)) -- **tests:** remove `.env.test` ([0132bd3](https://github.com/flex-development/mkbuild/commit/0132bd352191a09bb80414ccfeb41e43b82eb1c0)) -- **ts:** set `module` to `NodeNext` ([2917af4](https://github.com/flex-development/mkbuild/commit/2917af4ea5ae200f46565b3c0cbf6f32cc685577)) -- **vscode:** cleanup settings ([4827c7c](https://github.com/flex-development/mkbuild/commit/4827c7cc70ad601d1bb512292954e9e85436de36)) +- [[`c997476`](https://github.com/flex-development/mkbuild/commit/c9974764b81a684adeb1352b71597d223a3cbd71)] update `eslint.globals.JSX` logic +- [[`95963c6`](https://github.com/flex-development/mkbuild/commit/95963c6d7bec157f31f2d8adefcf656d450b3a08)] update eslint extensions +- [[`c0acee4`](https://github.com/flex-development/mkbuild/commit/c0acee43767f4a977ad80393d2a6f3075dfaa078)] **deps-dev:** resolve esbuild to 0.15.9 +- [[`0e1abd2`](https://github.com/flex-development/mkbuild/commit/0e1abd2bc63613cb1c11a8fbebe4767489b626a5)] **esm:** cleanup +- [[`ff6d830`](https://github.com/flex-development/mkbuild/commit/ff6d83096305fdaa512d884688a450a5170fb391)] **github:** update text file extensions in `.gitattributes` +- [[`799bb8c`](https://github.com/flex-development/mkbuild/commit/799bb8c299cc7f4372a97aacc255d23e40de2383)] **pkg:** check test coverage in `check:ci` script +- [[`e357301`](https://github.com/flex-development/mkbuild/commit/e35730159a30a1bbae84bfe39625b751b1440ff6)] **pkg:** check types build in `check:ci` script +- [[`aff2cd7`](https://github.com/flex-development/mkbuild/commit/aff2cd70bb5071e94400c3305b786d234c343b1a)] **pkg:** convert `bugs` and `repository` field to strings +- [[`98fe7c3`](https://github.com/flex-development/mkbuild/commit/98fe7c340b50f105d32ad0d402c4c22ff28f7bbd)] **pkg:** update `keywords` +- [[`34a0fb0`](https://github.com/flex-development/mkbuild/commit/34a0fb0f6b73038734b2ab818df29fd2f8cae841)] **tests:** cleanup test environment +- [[`0132bd3`](https://github.com/flex-development/mkbuild/commit/0132bd352191a09bb80414ccfeb41e43b82eb1c0)] **tests:** remove `.env.test` +- [[`2917af4`](https://github.com/flex-development/mkbuild/commit/2917af4ea5ae200f46565b3c0cbf6f32cc685577)] **ts:** set `module` to `NodeNext` +- [[`4827c7c`](https://github.com/flex-development/mkbuild/commit/4827c7cc70ad601d1bb512292954e9e85436de36)] **vscode:** cleanup settings ### :mechanical_arm: Refactors -- **node:** add `dependencies` check to default `Entry#createRequire` logic ([0341d74](https://github.com/flex-development/mkbuild/commit/0341d74841628627cfc83527b341c33ffcd6be3f)) -- **options:** `declaration?` -> `dts?` ([3ddb296](https://github.com/flex-development/mkbuild/commit/3ddb29625b6c1220a84b7f35336758a40d05ae17)) -- **utils:** [`esbuilder`] let esbuild externalize node built-ins ([200d360](https://github.com/flex-development/mkbuild/commit/200d360bda3ca7accd5cf7251d6322adeacb4c50)) -- **utils:** [`esbuilder`] remove `TS_NODE_PROJECT` check for tsconfig-paths plugin ([c863c7e](https://github.com/flex-development/mkbuild/commit/c863c7e1467b799609ac084b197ef9f0a4a03cec)) -- **utils:** [`extractStatements`] follow `unsupported-dynamic-import` rule ([ee2110b](https://github.com/flex-development/mkbuild/commit/ee2110ba7abb7214b30a92eb4b72ad9532b7a377)) +- [[`0341d74`](https://github.com/flex-development/mkbuild/commit/0341d74841628627cfc83527b341c33ffcd6be3f)] **node:** add `dependencies` check to default `Entry#createRequire` logic +- [[`3ddb296`](https://github.com/flex-development/mkbuild/commit/3ddb29625b6c1220a84b7f35336758a40d05ae17)] **options:** `declaration?` -> `dts?` +- [[`200d360`](https://github.com/flex-development/mkbuild/commit/200d360bda3ca7accd5cf7251d6322adeacb4c50)] **utils:** [`esbuilder`] let esbuild externalize node built-ins +- [[`c863c7e`](https://github.com/flex-development/mkbuild/commit/c863c7e1467b799609ac084b197ef9f0a4a03cec)] **utils:** [`esbuilder`] remove `TS_NODE_PROJECT` check for tsconfig-paths plugin +- [[`ee2110b`](https://github.com/flex-development/mkbuild/commit/ee2110ba7abb7214b30a92eb4b72ad9532b7a377)] **utils:** [`extractStatements`] follow `unsupported-dynamic-import` rule diff --git a/CODE_OF_CONDUCT.md b/CODE_OF_CONDUCT.md index e2142a86..0037c0fb 100644 --- a/CODE_OF_CONDUCT.md +++ b/CODE_OF_CONDUCT.md @@ -48,7 +48,7 @@ account, or acting as an appointed representative at an online or offline event. ## Enforcement Instances of abusive, harassing, or otherwise unacceptable behavior may be reported to the community leaders responsible -for enforcement at [`support@flexdevelopment.llc`](mailto:support@flexdevelopment.llc). All complaints will be reviewed +for enforcement at [`support@flexdevelopment.llc`](mailto\:support@flexdevelopment.llc). All complaints will be reviewed and investigated promptly and fairly. All community leaders are obligated to respect the privacy and security of the reporter of any incident. @@ -102,5 +102,7 @@ For answers to common questions about this code of conduct, see the FAQ at <http Translations are available at <https://www.contributor-covenant.org/translations>. [1]: https://www.contributor-covenant.org + [2]: https://www.contributor-covenant.org/version/2/0/code_of_conduct.html + [3]: https://github.com/mozilla/inclusion/blob/master/code-of-conduct-enforcement/consequence-ladder.md diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 1615f5e7..1457e6f4 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -19,7 +19,7 @@ Follow the steps below to setup your local development environment: cd mkbuild ``` -2. Install binaries with [Homebrew][1] +2. Install binaries with [Homebrew][] ```sh brew bundle --file ./Brewfile @@ -31,12 +31,13 @@ Follow the steps below to setup your local development environment: nvm use ``` -4. [Configure commit signing][2] +4. [Configure commit signing][gpg-commit-signature-verification] 5. Update `~/.gitconfig` ```sh git config --global commit.gpgsign true + git config --global tag.gpgsign true git config --global user.email <email> git config --global user.name <name> git config --global user.username <username> @@ -50,12 +51,12 @@ Follow the steps below to setup your local development environment: yarn ``` - **Note**: This project uses [Yarn 2][3]. Consult [`.yarnrc.yml`](.yarnrc.yml) for an overview of configuration + **Note**: This project uses [Yarn 2][yarn]. Consult [`.yarnrc.yml`](.yarnrc.yml) for an overview of configuration options and required environment variables. Furthermore, if you already have a global Yarn configuration, or any `YARN_*` environment variables set, an error will be thrown if any settings conflict with the project's Yarn configuration, or the Yarn 2 API. Missing environment variables will also yield an error. -7. [ZSH][4] setup +7. [ZSH][ohmyzsh] setup 8. Update `$ZDOTDIR/.zprofile`: @@ -107,7 +108,6 @@ Follow the steps below to setup your local development environment: | `GITHUB_TOKEN` | | `HOMEBREW_BREWFILE` | | `NODE_NO_WARNINGS` | -| `PAT_BOT` | | `ZSH_DOTENV_FILE` | #### GitHub Actions @@ -122,7 +122,7 @@ See [`.github/.gitconfig`](.github/.gitconfig) for an exhaustive list. ## Contributing Code -[Husky][5] is used to locally enforce coding and commit message standards, as well as run tests pre-push. +[Husky][] is used to locally enforce coding and commit message standards, as well as run tests pre-push. Any code merged into the [trunk](#branching-model) must confront the following criteria: @@ -133,7 +133,8 @@ Any code merged into the [trunk](#branching-model) must confront the following c ### Branching Model -This project follows a [Trunk Based Development][6] workflow, specifically the [short-lived branch style][7]. +This project follows a [Trunk Based Development][tbd] workflow, specifically the [short-lived branch +style][tbd-short-lived-feature-branches]. - Trunk Branch: `main` - Short-Lived Branches: `feat/*`, `hotfix/*`, `release/*` @@ -156,7 +157,8 @@ When creating a new branch, the name should match the following format: ### Commit Messages -This project follows [Conventional Commit][8] standards and uses [commitlint][9] to enforce those standards. +This project follows [Conventional Commit][conventionalcommits] standards and uses [commitlint][] to enforce those +standards. This means every commit must conform to the following format: @@ -168,13 +170,13 @@ This means every commit must conform to the following format: │ │ │ │ │ └─⫸ optional breaking change flag │ │ - │ └─⫸ see .commitlintrc.cts + │ └─⫸ see .commitlintrc.ts │ └─⫸ build|ci|chore|docs|feat|fix|perf|refactor|revert|style|test|wip [body] -[BREAKING CHANGE: <change>] +[BREAKING-CHANGE: <change>] [footer(s)] ``` @@ -192,23 +194,22 @@ This means every commit must conform to the following format: - `revert`: Revert past changes - `style`: Changes that do not affect the meaning of the code - `test`: Change that impact the test suite -- `wip`: Working on changes, but you need to go to bed :wink: +- `wip`: Working on changes, but you need to go to bed \:wink: e.g: - `build(deps-dev): bump cspell from 6.7.0 to 6.8.0` - `perf: lighten initial load` -See [`.commitlintrc.cts`](.commitlintrc.cts) to view all commit guidelines. +See [`.commitlintrc.ts`](.commitlintrc.ts) to view all commit guidelines. ### Code Style -[dprint][10] is used to format code and [ESLint][11] to lint files. +[dprint][] is used to format code and [ESLint][] to lint files. - [`.dprint.jsonc`](.dprint.jsonc) -- [`.eslintignore`](.eslintignore) -- [`.eslintrc.base.cjs`](.eslintrc.base.cjs) -- [`.eslintrc.cjs`](.eslintrc.cjs) +- [`eslint.base.config.mjs`](eslint.base.config.mjs) +- [`eslint.config.mjs`](eslint.config.mjs) ### Making Changes @@ -216,26 +217,27 @@ Source code is located in [`src`](src) directory. ### Documentation -- JavaScript & TypeScript: [JSDoc][12]; linted with [`eslint-plugin-jsdoc`][13] +- JavaScript & TypeScript: [JSDoc][]; linted with [`eslint-plugin-jsdoc`][eslint-plugin-jsdoc] Before making a pull request, be sure your code is well documented, as it will be part of your code review. ### Testing -This project uses [Vitest][14] to run tests. +This project uses [Vitest][] to run tests. [Husky](#contributing-code) is configured to run tests against changed files. -Be sure to use [`it.skip`][15] or [`it.todo`][16] where appropriate. +Be sure to use [`it.skip`][vitest-test-skip] or [`it.todo`][vitest-test-todo] where appropriate. #### Running Tests - `yarn test` - `yarn test:cov` +- `yarn typecheck` #### Code Coverage -Code coverage is reported using [Codecov][17]. +Code coverage is reported using [Codecov][]. To manually upload coverage reports: @@ -249,15 +251,15 @@ To manually upload coverage reports: exec $SHELL ``` -4. Install [Codecov Uploader][18] +4. Install [Codecov Uploader][codecov-uploader] 5. Run `yarn codecov` ### Getting Help -If you need help, make note of any issues in their respective files in the form of a [JSDoc comment][12]. If you need -help with a test, don't forget to use [`it.skip`][15] and/or [`it.todo`][16]. Afterwards, [start a discussion in the Q&A -category][19]. +If you need help, make note of any issues in their respective files in the form of a [JSDoc comment][jsdoc]. If you need +help with a test, don't forget to use [`it.skip`][vitest-test-skip] and/or [`it.todo`][vitest-test-todo]. Afterwards, +[start a discussion in the Q\&A category][qa]. ## Labels @@ -279,9 +281,9 @@ If you haven't found a related open issue, or feel that a closed issue should be A well-written issue - contains a well-written summary of the bug, feature, or improvement -- contains a [minimal, reproducible example][20] (if applicable) +- contains a [minimal, reproducible example][mre] (if applicable) - includes links to related articles and documentation (if any) -- includes an emoji in the title :wink: +- includes an emoji in the title \:wink: ## Pull Requests @@ -330,7 +332,7 @@ When squashing, be sure to follow [commit message standards](#commit-messages): │ │ │ │ │ └─⫸ optional breaking change flag │ │ - │ └─⫸ see .commitlintrc.cts + │ └─⫸ see .commitlintrc.ts │ └─⫸ build|ci|chore|docs|feat|fix|perf|refactor|release|revert|style|test ``` @@ -346,61 +348,72 @@ e.g: > Note: Package and release publication is executed via GitHub workflow.\ > This is so invalid or malicious versions cannot be published without merging those changes into `main` first. -Before deploying, the following steps must be completed: - -1. Schedule a code freeze -2. Decide what type of version bump the package needs - - `yarn recommended-bump` -3. Bump version - - `bump <new-version>` - - `bump major` - - `bump minor` - - `bump patch` - - `bump premajor --preid <dist-tag>` - - `bump preminor --preid <dist-tag>` - - `bump prepatch --preid <dist-tag>` - - `bump prerelease --preid <dist-tag>` -4. Update `CHANGELOG.md` - - `yarn changelog -sw` (remove `w` to do a dry-run, i.e. `yarn changelog -s`) -5. `yarn release` -6. Open PR from `release/*` into `main` - - PR title should match `release: <release-tag>` - - e.g: `release: 1.1.0` - - link all issues being released - - after review, `squash and merge` PR - - `release: <release-tag> (#pull-request-n)` - - e.g: `release: 1.1.0 (#3)` - - on PR merge, [release workflow](.github/workflows/release.yml) will fire - - if successful, the workflow will: - - pack project - - create and push new tag - - create and publish github release - - make sure all prereleased or released issues are closed - - delete the release branch - - on release publish, [publish workflow](.github/workflows/publish.yml) will fire - - if successful, the workflow will: - - publish package to [github package registry][21] - - publish package to [npm][22] - -[1]: https://brew.sh -[2]: https://docs.github.com/authentication/managing-commit-signature-verification/about-commit-signature-verification#gpg-commit-signature-verification -[3]: https://yarnpkg.com/getting-started -[4]: https://github.com/ohmyzsh/ohmyzsh -[5]: https://github.com/typicode/husky -[6]: https://trunkbaseddevelopment.com -[7]: https://trunkbaseddevelopment.com/styles/#short-lived-feature-branches -[8]: https://conventionalcommits.org -[9]: https://github.com/conventional-changelog/commitlint -[10]: https://dprint.dev/ -[11]: https://eslint.org -[12]: https://jsdoc.app -[13]: https://github.com/gajus/eslint-plugin-jsdoc -[14]: https://vitest.dev -[15]: https://vitest.dev/api/#test-skip -[16]: https://vitest.dev/api/#test-todo -[17]: https://codecov.io -[18]: https://docs.codecov.com/docs/codecov-uploader -[19]: https://github.com/flex-development/mkbuild/discussions/new?category=q-a -[20]: https://stackoverflow.com/help/minimal-reproducible-example -[21]: https://github.com/features/packages -[22]: https://npmjs.com +1. Get a version bump recommendation + - `grease bump --recommend` +2. Create release chore commit + - `yarn release <new-version>` + - `yarn release major` + - `yarn release minor` + - `yarn release patch` + - `yarn release premajor --preid <dist-tag>` + - `yarn release preminor --preid <dist-tag>` + - `yarn release prepatch --preid <dist-tag>` + - `yarn release prerelease --preid <dist-tag>` +3. Push release chore commit +4. Monitor workflows + 1. [`release-chore`](.github/workflows/release-chore.yml) + - create release branch + - bump manifest version + - add changelog entry for new release + - create release pr + 2. [`release`](.github/workflows/release.yml) + - create and push new tag + - create and publish github release + - ensure all relevant issues are closed + 3. [`publish`](.github/workflows/publish.yml) + - publish package to [github package registry][gpr] + - publish package to [npm][] + +[codecov-uploader]: https://docs.codecov.com/docs/codecov-uploader + +[codecov]: https://codecov.io + +[commitlint]: https://github.com/conventional-changelog/commitlint + +[conventionalcommits]: https://conventionalcommits.org + +[dprint]: https://dprint.dev + +[eslint-plugin-jsdoc]: https://github.com/gajus/eslint-plugin-jsdoc + +[eslint]: https://eslint.org + +[gpg-commit-signature-verification]: https://docs.github.com/authentication/managing-commit-signature-verification/about-commit-signature-verification#gpg-commit-signature-verification + +[gpr]: https://github.com/features/packages + +[homebrew]: https://brew.sh + +[husky]: https://github.com/typicode/husky + +[jsdoc]: https://jsdoc.app + +[mre]: https://stackoverflow.com/help/minimal-reproducible-example + +[npm]: https://npmjs.com + +[ohmyzsh]: https://github.com/ohmyzsh/ohmyzsh + +[qa]: https://github.com/flex-development/mkbuild/discussions/new?category=q-a + +[tbd-short-lived-feature-branches]: https://trunkbaseddevelopment.com/styles/#short-lived-feature-branches + +[tbd]: https://trunkbaseddevelopment.com + +[vitest-test-skip]: https://vitest.dev/api/#test-skip + +[vitest-test-todo]: https://vitest.dev/api/#test-todo + +[vitest]: https://vitest.dev + +[yarn]: https://yarnpkg.com/getting-started diff --git a/README.md b/README.md index bebdc3db..76cb0b23 100644 --- a/README.md +++ b/README.md @@ -1,150 +1,79 @@ # mkbuild -[![github release](https://img.shields.io/github/v/release/flex-development/mkbuild.svg?include_prereleases&sort=semver)](https://github.com/flex-development/mkbuild/releases/latest) +[![github release](https://img.shields.io/github/v/release/flex-development/mkbuild.svg?include_prereleases\&sort=semver)](https://github.com/flex-development/mkbuild/releases/latest) [![npm](https://img.shields.io/npm/v/@flex-development/mkbuild.svg)](https://npmjs.com/package/@flex-development/mkbuild) -[![codecov](https://codecov.io/gh/flex-development/mkbuild/branch/main/graph/badge.svg?token=TDSHFXPP4Z)](https://codecov.io/gh/flex-development/mkbuild) +[![codecov](https://codecov.io/gh/flex-development/mkbuild/graph/badge.svg?token=TDSHFXPP4Z)](https://codecov.io/gh/flex-development/mkbuild) [![module type: esm](https://img.shields.io/badge/module%20type-esm-brightgreen)](https://github.com/voxpelli/badges-cjs-esm) [![license](https://img.shields.io/github/license/flex-development/mkbuild.svg)](LICENSE.md) -[![conventional commits](https://img.shields.io/badge/-conventional%20commits-fe5196?logo=conventional-commits&logoColor=ffffff)](https://conventionalcommits.org/) -[![typescript](https://img.shields.io/badge/-typescript-3178c6?logo=typescript&logoColor=ffffff)](https://typescriptlang.org/) -[![vitest](https://img.shields.io/badge/-vitest-6e9f18?style=flat&logo=vitest&logoColor=ffffff)](https://vitest.dev/) -[![yarn](https://img.shields.io/badge/-yarn-2c8ebb?style=flat&logo=yarn&logoColor=ffffff)](https://yarnpkg.com/) +[![conventional commits](https://img.shields.io/badge/-conventional%20commits-fe5196?logo=conventional-commits\&logoColor=ffffff)](https://conventionalcommits.org) +[![typescript](https://img.shields.io/badge/-typescript-3178c6?logo=typescript\&logoColor=ffffff)](https://typescriptlang.org) +[![vitest](https://img.shields.io/badge/-vitest-6e9f18?style=flat\&logo=vitest\&logoColor=ffffff)](https://vitest.dev) +[![yarn](https://img.shields.io/badge/-yarn-2c8ebb?style=flat\&logo=yarn\&logoColor=ffffff)](https://yarnpkg.com) -An [esbuild][1] based file-to-file transformer and bundler. +a file-to-file transformer and bundler ## Contents -- [Features](#features) +- [What is this?](#what-is-this) - [Install](#install) - [Use](#use) - - [Configuration](#configuration) - - [Configuring Build Entries](#configuring-build-entries) - [Types](#types) - [Contribute](#contribute) -## Features +## What is this? -### :package: optimized bundler and transpiler - -fast and minimal builds with [esbuild][1] (integrates with the build api for plugin support — say toodles 👋🏾 to -transform api hacks! :wink:) - -### :file_folder: bundleless dists - -create bundleless distributions with file-to-file transpilation and static asset copying - -### :relieved: esm friendly - -create es modules + add file extensions to specifiers in modules ***and*** declaration files - -### :bookmark_tabs: dts generation <small>(`.d.cts`, `.d.mts`, `.d.ts`)</small> - -generate declarations for `.cjs`, `.cts`, `.js`, `.jsx`, `.mjs`, `.mts`, `.ts`, and `.tsx` files - -### :dna: path alias support - -resolve path aliases in `.cjs`, `.cts`, `.d.cts`, `.d.mts`, `.d.ts`, `.js`, `.jsx`, `.mjs`, `.mts`, `.ts`, and `.tsx` -files +**TODO**: what is this? ## Install -This package is [ESM only][2]. - -```sh -yarn add -D @flex-development/mkbuild esbuild typescript -``` +This package is [ESM only][esm]. -From Git: +In Node.js (version 18+) with [yarn][]: ```sh -yarn add -D @flex-development/mkbuild@flex-development/mkbuild esbuild typescript +yarn add @flex-development/mkbuild ``` <blockquote> <small> - See <a href='https://yarnpkg.com/features/protocols#git'>Git - Protocols | Yarn</a> -  for details on requesting a specific branch, commit, or tag. + See <a href='https://yarnpkg.com/protocol/git'>Git - Protocols | Yarn</a> +  for details regarding installing from Git. </small> </blockquote> -## Use +In Deno with [`esm.sh`][esmsh]: -```shell -mkbuild +```ts +import { make } from 'https://esm.sh/@flex-development/mkbuild' ``` -Running the command above without a [build configuration](#configuration) file will create a bundleless [esm][3] build -with [declarations][4]. - -Files within the `src` directory will be transpiled or copied and output to `dist/**.{d.mts,mjs}`. Declaration files, -`dist/**.d.mts`, will be generated if `typescript` is installed. The original folder structure and extensions of copied -files will remain in tact. - -### Configuration - -Create `build.config.{cjs,cts,js,json,mjs,mts,ts}`: - -```typescript -/** - * @file Build Config - * @module config/build - */ - -import { defineBuildConfig } from '@flex-development/mkbuild' +In browsers with [`esm.sh`][esmsh]: -export default defineBuildConfig({ - // esbuild options; see https://esbuild.github.io/api/#build-api - sourcemap: 'external', - sourcesContent: false, - treeShaking: true, - tsconfig: 'tsconfig.build.json' -}) +```html +<script type="module"> + import { make } from 'https://esm.sh/@flex-development/mkbuild' +</script> ``` -See all configuration options [here](src/interfaces/config). - -Options common to build configs and [build entries](#configuring-build-entries) can be seen -[here](src/interfaces/options). - -### Configuring Build Entries - -```typescript -/** - * @file Build Config - * @module config/build - */ - -import { defineBuildConfig } from '@flex-development/mkbuild' -import pkg from './package.json' assert { type: 'json' } - -export default defineBuildConfig({ - entries: [ - { dts: true, ignore: ['cli.ts'] }, // dist/**.{d.mts,mjs} - { dts: true, ext: '.cjs', format: 'cjs', ignore: ['cli.ts'] }, // dist/**.{cjs,d.cts} - { dts: 'only', ext: '.js', ignore: ['cli.ts'] }, // dist/**.d.ts - { bundle: true, minify: true, source: 'src/cli.ts' } // dist/cli.mjs - ], - platform: 'node', - sourcemap: 'external', - sourcesContent: false, - target: 'node' + pkg.engines.node.replace(/^\D+/, ''), - treeShaking: true, - tsconfig: 'tsconfig.build.json' -}) -``` +## Use -See all build entry options [here](src/interfaces/entry). +**TODO**: use ## Types -This package is fully typed with [TypeScript][5]. +This package is fully typed with [TypeScript][]. ## Contribute See [`CONTRIBUTING.md`](CONTRIBUTING.md). -[1]: https://esbuild.github.io -[2]: https://gist.github.com/sindresorhus/a39789f98801d908bbc7ff3ecc99d99c -[3]: https://nodejs.org/api/esm.html -[4]: https://www.typescriptlang.org/docs/handbook/2/type-declarations.html -[5]: https://typescriptlang.org/ +This project has a [code of conduct](./CODE_OF_CONDUCT.md). By interacting with this repository, organization, or +community you agree to abide by its terms. + +[esm]: https://gist.github.com/sindresorhus/a39789f98801d908bbc7ff3ecc99d99c + +[esmsh]: https://esm.sh + +[typescript]: https://www.typescriptlang.org + +[yarn]: https://yarnpkg.com diff --git a/__fixtures__/max-value.ts b/__fixtures__/max-value.ts deleted file mode 100644 index c3f13e81..00000000 --- a/__fixtures__/max-value.ts +++ /dev/null @@ -1,6 +0,0 @@ -/** - * @file Fixtures - MAX_VALUE - * @module fixtures/MAX_VALUE - */ - -export default 2 ** 31 - 1 diff --git a/__fixtures__/min-value.ts b/__fixtures__/min-value.ts deleted file mode 100644 index 8dfd0e6c..00000000 --- a/__fixtures__/min-value.ts +++ /dev/null @@ -1,6 +0,0 @@ -/** - * @file Fixtures - MIN_VALUE - * @module fixtures/MIN_VALUE - */ - -export default (-2) ** 31 diff --git a/__fixtures__/options-esbuild.ts b/__fixtures__/options-esbuild.ts deleted file mode 100644 index 96c168ad..00000000 --- a/__fixtures__/options-esbuild.ts +++ /dev/null @@ -1,18 +0,0 @@ -/** - * @file Fixtures - ESBUILD_OPTIONS - * @module fixtures/ESBUILD_OPTIONS - */ - -import * as mlly from '@flex-development/mlly' -import * as tscu from '@flex-development/tsconfig-utils' -import type * as esbuild from 'esbuild' - -export default { - allowOverwrite: true, - conditions: [...mlly.CONDITIONS], - metafile: true, - outdir: 'dist', - resolveExtensions: [...mlly.RESOLVE_EXTENSIONS], - target: tscu.ScriptTarget.ESNext, - write: false -} as esbuild.BuildOptions & { metafile: true; write: false } diff --git a/__fixtures__/pkg/apple-stock/build.config.jsonc b/__fixtures__/pkg/apple-stock/build.config.jsonc new file mode 100644 index 00000000..7443417a --- /dev/null +++ b/__fixtures__/pkg/apple-stock/build.config.jsonc @@ -0,0 +1,5 @@ +{ + "esbuild": { "loader": { ".jsonc": "copy" } }, + "input": "*", + "root": "__fixtures__/pkg/apple-stock" +} diff --git a/__fixtures__/pkg/bitcoin-price/bitcoin-price.json5 b/__fixtures__/pkg/bitcoin-price/bitcoin-price.json5 deleted file mode 100644 index b4de3048..00000000 --- a/__fixtures__/pkg/bitcoin-price/bitcoin-price.json5 +++ /dev/null @@ -1,10 +0,0 @@ -{ - currency: 'USD', - prices: [ - { price: '2486.69', time: '2017-07-03T00:00:00Z' }, - { price: '2457.05', time: '2017-07-02T00:00:00Z' }, - { price: '2486.09', time: '2017-07-01T00:00:00Z' }, - { price: '2535.85', time: '2017-06-30T00:00:00Z' }, - { price: '2546.06', time: '2017-06-29T00:00:00Z' } - ] -} diff --git a/__fixtures__/pkg/bitcoin-price/package.json b/__fixtures__/pkg/bitcoin-price/package.json deleted file mode 100644 index 7b75be9e..00000000 --- a/__fixtures__/pkg/bitcoin-price/package.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "name": "bitcoin-price" -} diff --git a/__fixtures__/pkg/buddy/buddy.js b/__fixtures__/pkg/buddy/buddy.js deleted file mode 100644 index 76581bac..00000000 --- a/__fixtures__/pkg/buddy/buddy.js +++ /dev/null @@ -1,67 +0,0 @@ -/** - * @file buddy - * @module fixtures/pkg/buddy/buddy - * @see https://codewars.com/kata/59ccf051dcc4050f7800008f - */ - -/** - * The divisors of positive integer `n` are said to be `proper` when considering - * divisors other than `n` itself. - * - * Let `s(n)` be the sum of `proper` divisors of `n`. Call `buddy` two positive - * integers such that the sum` of the `proper` divisors of each number is one - * more than the other number: - * - * `[n, m]` are `buddy` if `s(m) = n + 1` and `s(n) = m + 1` - * - * Given two positive integers, `start` and `limit`, the function returns the - * first pair of `buddy pairs` such that `start <= n <= limit` and `m > n`. - * - * @example - * buddy(2382, 3679) // [] - * @example - * buddy(10, 50) // [48, 75] - * @example - * buddy(48, 50) // [48, 75] - * @example - * buddy(1071625, 1103735) // [1081184, 1331967] - * - * @param {number} start - Lower bound (inclusive) - * @param {number} limit - Upper bound (inclusive) - * @return {[] | [number, number]} First pair of `buddy pairs` - */ -const buddy = (start, limit) => { - /** - * Returns the sum of `proper` divisors of `int`. - * - * @param {number} int - Integer to get `proper` divisors for - * @return {number} Sum of `proper` divisors of `int` - */ - const s = int => { - /** @var {number} sum - Sum of `proper` divisors of {@link int} */ - let sum = 1 - - // Calculate sum of proper divisors - for (let d = 2; d <= Math.sqrt(int); d++) { - // If d is divisible by int, increase sum - // If divisors d and int/d are equal, add divisor once. Otherwise add both - if (int % d === 0) sum += d + (d === int / d ? 0 : int / d) - } - - return sum - } - - // Find first buddy pair - for (let n = start; n <= limit; n++) { - /** @const {number} m - Possible `m` value */ - const m = s(n) - 1 - - // If m satisfies constraint, return buddy pair - if (s(m) === n + 1 && m > n) return [n, m] - } - - // If buddy pair wasn't found, return empty array - return [] -} - -export default buddy diff --git a/__fixtures__/pkg/buddy/build.config.js b/__fixtures__/pkg/buddy/build.config.js deleted file mode 100644 index 9f4465fc..00000000 --- a/__fixtures__/pkg/buddy/build.config.js +++ /dev/null @@ -1,15 +0,0 @@ -/** - * @file Build Config Fixture - buddy - * @module fixtures/pkg/buddy/build.config - */ - -export default { - bundle: true, - cwd: '__fixtures__/pkg/buddy', - entries: [{ format: 'esm' }, { format: 'cjs' }], - name: 'index', - platform: 'neutral', - source: 'buddy.js', - sourcemap: true, - sourcesContent: false -} diff --git a/__fixtures__/pkg/buddy/package.json b/__fixtures__/pkg/buddy/package.json deleted file mode 100644 index eb91b7d4..00000000 --- a/__fixtures__/pkg/buddy/package.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "name": "buddy", - "type": "module", - "exports": { - "import": "./dist/index.mjs", - "require": "./dist/index.cjs" - } -} diff --git a/__fixtures__/pkg/dbl-linear/build.config.ts b/__fixtures__/pkg/dbl-linear/build.config.ts deleted file mode 100644 index 77adaeea..00000000 --- a/__fixtures__/pkg/dbl-linear/build.config.ts +++ /dev/null @@ -1,15 +0,0 @@ -/** - * @file Build Config Fixture - dbl-linear - * @module fixtures/pkg/dbl-linear/build.config - */ - -export default { - cwd: '__fixtures__/pkg/dbl-linear', - format: 'esm', - outdir: '.', - pattern: 'dbl-linear.ts', - source: '.', - sourcemap: true, - sourcesContent: false, - tsconfig: 'tsconfig.json' -} diff --git a/__fixtures__/pkg/dbl-linear/dbl-linear.ts b/__fixtures__/pkg/dbl-linear/dbl-linear.ts deleted file mode 100644 index d5916b0b..00000000 --- a/__fixtures__/pkg/dbl-linear/dbl-linear.ts +++ /dev/null @@ -1,59 +0,0 @@ -/** - * @file dblLinear - * @module fixtures/pkg/dbl-linear/dblLinear - * @see https://codewars.com/kata/5672682212c8ecf83e000050 - */ - -/** - * Consider a sequence `u` where `u` is defined as follows: - * - * 1. The number `u(0) = 1` is the first one in `u` - * 2. For each `x` in `u`, then `y = 2x + 1` and `z = 3x + 1` must be in `u` too - * 3. There are no other numbers in `u` - * - * Given an index, `n`, the function returns the element at `u(n)`. - * - * @example - * dblLinear(0) // 1 - * @example - * dblLinear(10) // 22 - * @example - * dblLinear(100) // 447 - * @example - * dblLinear(7687) // 111718 - * - * @param {number} n - Index of element to get - * @return {number} Element at `u(n)` - */ -const dblLinear = (n: number): number => { - /** @const {number[]} u - Sequence */ - const u: number[] = [1] - - /** @var {number} j - Index of x in {@linkcode u} used to calculate y */ - let j: number = 0 - - /** @var {number} k - Index of x in {@linkcode u} used to calculate z */ - let k: number = 0 - - // Build sequence up to index n (inclusive) - for (let i = 1; i <= n; i++) { - /** @const {number} y - `y` */ - const y: number = 2 * u[j]! + 1 - - /** @const {number} z - `z` */ - const z: number = 3 * u[k]! + 1 - - // Set sequence value to smallest value in [y, z] - u[i] = Math.min(y, z) - - // Increase of index of x used to calculate y by 1 - if (u[i] === y) j++ - - // Increase of index of x used to calculate z by 1 - if (u[i] === z) k++ - } - - return u[n]! -} - -export default dblLinear diff --git a/__fixtures__/pkg/dbl-linear/package.json b/__fixtures__/pkg/dbl-linear/package.json deleted file mode 100644 index ae294e2f..00000000 --- a/__fixtures__/pkg/dbl-linear/package.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "name": "dbl-linear", - "type": "module", - "exports": { - ".": "./dbl-linear.mjs", - "./package.json": "./package.json" - } -} diff --git a/__fixtures__/pkg/dbl-linear/tsconfig.json b/__fixtures__/pkg/dbl-linear/tsconfig.json deleted file mode 100644 index d2a05007..00000000 --- a/__fixtures__/pkg/dbl-linear/tsconfig.json +++ /dev/null @@ -1,49 +0,0 @@ -{ - "compilerOptions": { - "allowJs": true, - "allowUnreachableCode": false, - "alwaysStrict": false, - "baseUrl": ".", - "checkJs": false, - "declaration": true, - "declarationMap": true, - "esModuleInterop": true, - "exactOptionalPropertyTypes": false, - "experimentalDecorators": true, - "forceConsistentCasingInFileNames": true, - "lib": ["es2021"], - "module": "esnext", - "moduleDetection": "force", - "moduleResolution": "node", - "newLine": "lf", - "noEmit": true, - "noErrorTruncation": true, - "noFallthroughCasesInSwitch": true, - "noImplicitAny": true, - "noImplicitOverride": true, - "noImplicitReturns": true, - "noUncheckedIndexedAccess": true, - "noUnusedLocals": false, - "noUnusedParameters": false, - "outDir": "__fixtures__/pkg/dbl-linear/dist", - "paths": { - "#src": ["../../../src/index"] - }, - "preserveConstEnums": true, - "preserveSymlinks": false, - "pretty": true, - "resolveJsonModule": true, - "rootDir": "../../..", - "skipLibCheck": true, - "sourceMap": true, - "strict": true, - "strictNullChecks": true, - "strictPropertyInitialization": true, - "target": "es2021", - "useDefineForClassFields": true, - "useUnknownInCatchVariables": true, - "verbatimModuleSyntax": true - }, - "exclude": ["**/dist", "**/node_modules"], - "include": ["**/**.ts"] -} diff --git a/__fixtures__/pkg/find-uniq/build.config.cjs b/__fixtures__/pkg/find-uniq/build.config.cjs deleted file mode 100644 index e2020d58..00000000 --- a/__fixtures__/pkg/find-uniq/build.config.cjs +++ /dev/null @@ -1,14 +0,0 @@ -/** - * @file Build Config Fixture - find-uniq - * @module fixtures/pkg/find-uniq/build.config - */ - -module.exports = { - cwd: '__fixtures__/find-uniq', - ext: '.cjs', - format: 'cjs', - pattern: 'find-uniq.cts', - source: '.', - sourcemap: true, - sourcesContent: false -} diff --git a/__fixtures__/pkg/find-uniq/find-uniq.cts b/__fixtures__/pkg/find-uniq/find-uniq.cts deleted file mode 100644 index f7dc60b2..00000000 --- a/__fixtures__/pkg/find-uniq/find-uniq.cts +++ /dev/null @@ -1,39 +0,0 @@ -/** - * @file findUniq - * @module fixtures/pkg/find-uniq/findUniq - * @see https://codewars.com/kata/585d7d5adb20cf33cb000235 - */ - -/** - * Given an array of numbers, `arr`, the function returns the unique element in - * the array, if found. - * - * @example - * findUniq([]) // null - * @example - * findUniq([1]) // null - * @example - * findUniq([1, 2]) // null - * @example - * findUniq([3, 3, 3]) // null - * @example - * findUniq([1, 1, 1, 2, 1, 1]) // 2 - * @example - * findUniq([0, 0, 0.55, 0, 0]) // 0.55 - * @example - * findUniq([0, 1, 1, 1, 1, 1, 1, 1]) // 0 - * - * @param {number[]} arr - Number array - * @return {number | null} Unique element in `arr` or `null` - */ -const findUniq = (arr: number[]): number | null => { - // If array has less than 3 elements, or every element is the same, do nothing - if (arr.length < 3 || arr.every(el => el === arr[0])) return null - - // Find unique element - return arr.reduce<number | null>((u, el, i) => { - return u === null && arr[i - 1] !== el && !arr.includes(el, i + 1) ? el : u - }, null) -} - -export default findUniq diff --git a/__fixtures__/pkg/find-uniq/package.json b/__fixtures__/pkg/find-uniq/package.json deleted file mode 100644 index d509db18..00000000 --- a/__fixtures__/pkg/find-uniq/package.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "name": "find-uniq", - "type": "module", - "exports": { - ".": "./dist/find-uniq.cjs", - "./package.json": "./package.json" - } -} diff --git a/__fixtures__/pkg/find-uniq/tsconfig.json b/__fixtures__/pkg/find-uniq/tsconfig.json deleted file mode 100644 index 7b4f8415..00000000 --- a/__fixtures__/pkg/find-uniq/tsconfig.json +++ /dev/null @@ -1,47 +0,0 @@ -{ - "compilerOptions": { - "allowJs": true, - "allowUnreachableCode": false, - "alwaysStrict": false, - "baseUrl": ".", - "checkJs": false, - "declaration": true, - "declarationMap": true, - "esModuleInterop": true, - "exactOptionalPropertyTypes": false, - "experimentalDecorators": true, - "forceConsistentCasingInFileNames": true, - "lib": ["es2021"], - "module": "esnext", - "moduleDetection": "force", - "moduleResolution": "node", - "newLine": "lf", - "noEmit": true, - "noErrorTruncation": true, - "noFallthroughCasesInSwitch": true, - "noImplicitAny": true, - "noImplicitOverride": true, - "noImplicitReturns": true, - "noUncheckedIndexedAccess": true, - "noUnusedLocals": false, - "noUnusedParameters": false, - "outDir": "__fixtures__/pkg/find-uniq/dist", - "paths": {}, - "preserveConstEnums": true, - "preserveSymlinks": false, - "pretty": true, - "resolveJsonModule": true, - "rootDir": "../../..", - "skipLibCheck": true, - "sourceMap": true, - "strict": true, - "strictNullChecks": true, - "strictPropertyInitialization": true, - "target": "es2021", - "useDefineForClassFields": true, - "useUnknownInCatchVariables": true, - "verbatimModuleSyntax": true - }, - "exclude": ["**/dist", "**/node_modules"], - "include": ["**/**.cts", "**/**.ts"] -} diff --git a/__fixtures__/pkg/my-atoi/build.config.cts b/__fixtures__/pkg/my-atoi/build.config.cts deleted file mode 100644 index 6470627b..00000000 --- a/__fixtures__/pkg/my-atoi/build.config.cts +++ /dev/null @@ -1,19 +0,0 @@ -/** - * @file Build Config Fixture - my-atoi - * @module fixtures/pkg/my-atoi/build.config - */ - -import type { Config } from '#src' - -export default { - bundle: true, - cwd: '__fixtures__/pkg/my-atoi', - ext: '.js', - format: 'cjs', - name: 'index', - platform: 'neutral', - source: 'find-uniq.cts', - sourcemap: true, - sourcesContent: false, - tsconfig: 'tsconfig.json' -} as Config diff --git a/__fixtures__/pkg/my-atoi/package.json b/__fixtures__/pkg/my-atoi/package.json deleted file mode 100644 index 30057571..00000000 --- a/__fixtures__/pkg/my-atoi/package.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "name": "my-atoi", - "exports": { - ".": "./dist/index.js", - "./package.json": "./package.json" - } -} diff --git a/__fixtures__/pkg/my-atoi/src/index.cts b/__fixtures__/pkg/my-atoi/src/index.cts deleted file mode 100644 index 226df165..00000000 --- a/__fixtures__/pkg/my-atoi/src/index.cts +++ /dev/null @@ -1,6 +0,0 @@ -/** - * @file Package Entry Point - myAtoi - * @module fixtures/pkg/my-atoi - */ - -export { default as myAtoi } from './my-atoi.cts' diff --git a/__fixtures__/pkg/my-atoi/src/min-value.ts b/__fixtures__/pkg/my-atoi/src/min-value.ts deleted file mode 100644 index 311201dd..00000000 --- a/__fixtures__/pkg/my-atoi/src/min-value.ts +++ /dev/null @@ -1,6 +0,0 @@ -/** - * @file reverse - MIN_VALUE - * @module fixtures/pkg/reverse/MIN_VALUE - */ - -export default (-2) ** 31 diff --git a/__fixtures__/pkg/my-atoi/src/my-atoi.cts b/__fixtures__/pkg/my-atoi/src/my-atoi.cts deleted file mode 100644 index 45491b73..00000000 --- a/__fixtures__/pkg/my-atoi/src/my-atoi.cts +++ /dev/null @@ -1,67 +0,0 @@ -/** - * @file myAtoi - * @module fixtures/pkg/my-atoi/myAtoi - * @see https://leetcode.com/problems/string-to-integer-atoi - */ - -import MAX_VALUE from '#fixtures/pkg/my-atoi/src/max-value' -import MIN_VALUE from '#fixtures/pkg/my-atoi/src/min-value' - -/** - * Converts a string, `s`, to a 32-bit signed integer (similar to C/C++'s `atoi` - * function). - * - * @example myAtoi('') // 0 - * @example myAtoi('42') // 42 - * @example myAtoi(' -42') // -42 - * @example myAtoi('4193 with words') // 4193 - * @example myAtoi('words and 987') // 0 - * @example myAtoi('+-12') // 0 - * - * @param {string} s - String to convert - * @return {number} 32-bit signed integer - */ -function myAtoi(s: string): number { - /** @const {Set<string>} characters - Valid characters */ - const characters: Set<string> = new Set([ - ' ', - '-', - '+', - '0', - '1', - '2', - '3', - '4', - '5', - '6', - '7', - '8', - '9' - ]) - - /** @var {string} numeric - Stringified number */ - let numeric: string = '' - - // Convert string - for (let pos = 0; pos < s.length; pos++) { - /** @const {string} char - A single character in {@linkcode s} */ - const char: string = s.charAt(pos) - - // Check if integer sign and check for valid one digit integer or whitespace - if (!characters.has(char)) break - - // Add digit to numeric - numeric += char - } - - // Return clamped value - return +numeric > MAX_VALUE - ? MAX_VALUE - : +numeric < MIN_VALUE - ? MIN_VALUE - : Number.isNaN(+numeric) - ? 0 - : +numeric -} - -export default myAtoi diff --git a/__fixtures__/pkg/my-atoi/tsconfig.json b/__fixtures__/pkg/my-atoi/tsconfig.json deleted file mode 100644 index f107a48b..00000000 --- a/__fixtures__/pkg/my-atoi/tsconfig.json +++ /dev/null @@ -1,51 +0,0 @@ -{ - "compilerOptions": { - "allowImportingTsExtensions": true, - "allowJs": true, - "allowUnreachableCode": false, - "alwaysStrict": false, - "baseUrl": ".", - "checkJs": false, - "declaration": true, - "declarationMap": true, - "esModuleInterop": true, - "exactOptionalPropertyTypes": false, - "experimentalDecorators": true, - "forceConsistentCasingInFileNames": true, - "lib": ["es2021"], - "module": "esnext", - "moduleDetection": "force", - "moduleResolution": "node", - "newLine": "lf", - "noEmit": true, - "noErrorTruncation": true, - "noFallthroughCasesInSwitch": true, - "noImplicitAny": true, - "noImplicitOverride": true, - "noImplicitReturns": true, - "noUncheckedIndexedAccess": true, - "noUnusedLocals": false, - "noUnusedParameters": false, - "outDir": "__fixtures__/pkg/my-atoi/dist", - "paths": { - "#fixtures/*": ["../../../__fixtures__/*"], - "#src": ["../../../src/index"] - }, - "preserveConstEnums": true, - "preserveSymlinks": false, - "pretty": true, - "resolveJsonModule": true, - "rootDir": "../../..", - "skipLibCheck": true, - "sourceMap": true, - "strict": true, - "strictNullChecks": true, - "strictPropertyInitialization": true, - "target": "es2021", - "useDefineForClassFields": true, - "useUnknownInCatchVariables": true, - "verbatimModuleSyntax": true - }, - "exclude": ["**/dist", "**/node_modules"], - "include": ["**/**.cts", "**/**.ts"] -} diff --git a/__fixtures__/pkg/post/package.json b/__fixtures__/pkg/post/package.json deleted file mode 100644 index 3c906dd4..00000000 --- a/__fixtures__/pkg/post/package.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "name": "post", - "type": "module", - "exports": { - ".": "./dist/post.mjs", - "./package.json": "./package.json" - } -} diff --git a/__fixtures__/pkg/post/src/post.ts b/__fixtures__/pkg/post/src/post.ts deleted file mode 100644 index ba9ab3b3..00000000 --- a/__fixtures__/pkg/post/src/post.ts +++ /dev/null @@ -1,39 +0,0 @@ -/** - * @file Post - * @module fixtures/pkg/post/Post - */ - -import { - IsDate, - IsEmail, - IsFQDN, - IsInt, - IsString, - Length, - Max, - Min -} from 'class-validator' - -class Post { - @IsDate() - public created_at!: Date - - @IsEmail() - public email!: string - - @IsInt() - @Min(0) - @Max(10) - public rating!: number - - @IsFQDN() - public site!: string - - @IsString() - public text!: string - - @Length(10, 20) - public title!: string -} - -export default Post diff --git a/__fixtures__/pkg/post/tsconfig.json b/__fixtures__/pkg/post/tsconfig.json deleted file mode 100644 index 6e1f630c..00000000 --- a/__fixtures__/pkg/post/tsconfig.json +++ /dev/null @@ -1,48 +0,0 @@ -{ - "compilerOptions": { - "allowJs": true, - "allowUnreachableCode": false, - "alwaysStrict": false, - "baseUrl": ".", - "checkJs": false, - "declaration": true, - "declarationMap": true, - "emitDecoratorMetadata": true, - "esModuleInterop": true, - "exactOptionalPropertyTypes": false, - "experimentalDecorators": true, - "forceConsistentCasingInFileNames": true, - "lib": ["es2021"], - "module": "esnext", - "moduleDetection": "force", - "moduleResolution": "node", - "newLine": "lf", - "noEmit": true, - "noErrorTruncation": true, - "noFallthroughCasesInSwitch": true, - "noImplicitAny": true, - "noImplicitOverride": true, - "noImplicitReturns": true, - "noUncheckedIndexedAccess": true, - "noUnusedLocals": false, - "noUnusedParameters": false, - "outDir": "__fixtures__/pkg/post/dist", - "paths": {}, - "preserveConstEnums": true, - "preserveSymlinks": false, - "pretty": true, - "resolveJsonModule": true, - "rootDir": "../../..", - "skipLibCheck": true, - "sourceMap": true, - "strict": true, - "strictNullChecks": true, - "strictPropertyInitialization": true, - "target": "es2021", - "useDefineForClassFields": true, - "useUnknownInCatchVariables": true, - "verbatimModuleSyntax": true - }, - "exclude": ["**/dist", "**/node_modules"], - "include": ["**/**.ts"] -} diff --git a/__fixtures__/pkg/reverse/build.config.mts b/__fixtures__/pkg/reverse/build.config.mts index 3006763d..43d798a1 100644 --- a/__fixtures__/pkg/reverse/build.config.mts +++ b/__fixtures__/pkg/reverse/build.config.mts @@ -1,14 +1,10 @@ /** - * @file Build Config Fixture - reverse + * @file Build Config * @module fixtures/pkg/reverse/build.config */ -import * as mlly from '@flex-development/mlly' - export default { - conditions: mlly.CONDITIONS, - cwd: '__fixtures__/pkg/reverse', - sourcemap: true, - sourcesContent: false, + input: ['src/*.mts'], + root: '__fixtures__/pkg/reverse', tsconfig: 'tsconfig.json' } diff --git a/__fixtures__/pkg/reverse/package.json b/__fixtures__/pkg/reverse/package.json index b4ef673a..debd7728 100644 --- a/__fixtures__/pkg/reverse/package.json +++ b/__fixtures__/pkg/reverse/package.json @@ -2,7 +2,7 @@ "name": "reverse", "type": "module", "exports": { - ".": "./dist/reverse.mjs", + ".": "./dist/index.mjs", "./package.json": "./package.json" } } diff --git a/__fixtures__/pkg/my-atoi/src/max-value.ts b/__fixtures__/pkg/reverse/src/max-value.mts similarity index 72% rename from __fixtures__/pkg/my-atoi/src/max-value.ts rename to __fixtures__/pkg/reverse/src/max-value.mts index a157dc00..aee17e11 100644 --- a/__fixtures__/pkg/my-atoi/src/max-value.ts +++ b/__fixtures__/pkg/reverse/src/max-value.mts @@ -1,5 +1,5 @@ /** - * @file reverse - MAX_VALUE + * @file MAX_VALUE * @module fixtures/pkg/reverse/MAX_VALUE */ diff --git a/__fixtures__/pkg/reverse/src/max-value.ts b/__fixtures__/pkg/reverse/src/max-value.ts deleted file mode 100644 index a157dc00..00000000 --- a/__fixtures__/pkg/reverse/src/max-value.ts +++ /dev/null @@ -1,6 +0,0 @@ -/** - * @file reverse - MAX_VALUE - * @module fixtures/pkg/reverse/MAX_VALUE - */ - -export default 2 ** 31 - 1 diff --git a/__fixtures__/pkg/reverse/src/min-value.ts b/__fixtures__/pkg/reverse/src/min-value.mts similarity index 72% rename from __fixtures__/pkg/reverse/src/min-value.ts rename to __fixtures__/pkg/reverse/src/min-value.mts index 311201dd..b641b2ff 100644 --- a/__fixtures__/pkg/reverse/src/min-value.ts +++ b/__fixtures__/pkg/reverse/src/min-value.mts @@ -1,5 +1,5 @@ /** - * @file reverse - MIN_VALUE + * @file MIN_VALUE * @module fixtures/pkg/reverse/MIN_VALUE */ diff --git a/__fixtures__/pkg/reverse/src/reverse.mts b/__fixtures__/pkg/reverse/src/reverse.mts index e066ef37..b7f7bf33 100644 --- a/__fixtures__/pkg/reverse/src/reverse.mts +++ b/__fixtures__/pkg/reverse/src/reverse.mts @@ -4,35 +4,50 @@ * @see https://leetcode.com/problems/reverse-integer */ -import MAX_VALUE from '#fixtures/pkg/reverse/src/max-value' -import MIN_VALUE from '#fixtures/pkg/reverse/src/min-value' +import MAX_VALUE from './max-value.mts' +import MIN_VALUE from './min-value.mts' /** * Given a signed 32-bit integer, `x`, the function returns `x` with its digits * reversed. If reversing `x` causes the value to go outside the signed 32-bit * integer range, `0` will be returned instead. * - * @example reverse(3) // 3 - * @example reverse(-4) // -4 - * @example reverse(123) // 321 - * @example reverse(-123) // -321 - * @example reverse(120) // 21 - * @example reverse(1534236469) // 0 + * @example + * reverse(3) // 3 + * @example + * reverse(-4) // -4 + * @example + * reverse(123) // 321 + * @example + * reverse(-123) // -321 + * @example + * reverse(120) // 21 + * @example + * reverse(1534236469) // 0 * - * @param {number} x - Integer to reverse - * @return {number} `x` with its digits reversed + * @param {number} x + * The integer to reverse + * @return {number} + * Number representing the digits of `x` reversed */ function reverse(x: number): number { - // If x is between -9 and 9, return x if (x >= -9 && x <= 9) return x - /** @const {string} s - `x` stringified */ - const s: string = x.toString() + /** + * Digit list. + * + * @const {string[]} digits + */ + const digits: string[] = [...x.toString(), x < 0 ? '-' : ''] - /** @const {number} r - `x` reversed */ - const r: number = Number.parseInt([...s, x < 0 ? '-' : ''].reverse().join('')) + /** + * {@linkcode x} reversed. + * + * @const {string} reversed + */ + const reversed: number = Number.parseInt(digits.reverse().join('')) - return r < MIN_VALUE || r > MAX_VALUE ? 0 : r + return reversed < MIN_VALUE || reversed > MAX_VALUE ? 0 : reversed } export default reverse diff --git a/__fixtures__/pkg/reverse/tsconfig.json b/__fixtures__/pkg/reverse/tsconfig.json index b65a942e..c3903fce 100644 --- a/__fixtures__/pkg/reverse/tsconfig.json +++ b/__fixtures__/pkg/reverse/tsconfig.json @@ -1,51 +1,27 @@ { "compilerOptions": { "allowImportingTsExtensions": true, - "allowJs": true, - "allowUnreachableCode": false, - "alwaysStrict": false, - "baseUrl": ".", + "allowJs": false, + "alwaysStrict": true, "checkJs": false, "declaration": true, - "declarationMap": true, - "esModuleInterop": true, - "exactOptionalPropertyTypes": false, - "experimentalDecorators": true, - "forceConsistentCasingInFileNames": true, - "lib": ["es2021"], + "declarationMap": 0, + "lib": ["es2024"], "module": "esnext", - "moduleDetection": "force", - "moduleResolution": "node", + "moduleResolution": "bundler", "newLine": "lf", "noEmit": true, "noErrorTruncation": true, - "noFallthroughCasesInSwitch": true, - "noImplicitAny": true, - "noImplicitOverride": true, - "noImplicitReturns": true, - "noUncheckedIndexedAccess": true, - "noUnusedLocals": false, + "noUncheckedSideEffectImports": true, "noUnusedParameters": false, "outDir": "__fixtures__/pkg/reverse/dist", - "paths": { - "#fixtures/*": ["../../../__fixtures__/*"], - "#src": ["../../../src/index"] - }, - "preserveConstEnums": true, - "preserveSymlinks": false, - "pretty": true, "resolveJsonModule": true, - "rootDir": "../../..", - "skipLibCheck": true, "sourceMap": true, - "strict": true, - "strictNullChecks": true, - "strictPropertyInitialization": true, - "target": "es2021", - "useDefineForClassFields": true, - "useUnknownInCatchVariables": true, + "target": "es2024", + "traceResolution": true, "verbatimModuleSyntax": true }, - "exclude": ["**/dist", "**/node_modules"], - "include": ["**/**.mts", "**/**.ts"] + "exclude": ["coverage", "dist", "node_modules"], + "extends": "@tsconfig/strictest/tsconfig", + "include": ["src/*.mts"] } diff --git a/__fixtures__/pkg/sum-of-intervals/build.config.mjs b/__fixtures__/pkg/sum-of-intervals/build.config.mjs deleted file mode 100644 index afad613f..00000000 --- a/__fixtures__/pkg/sum-of-intervals/build.config.mjs +++ /dev/null @@ -1,15 +0,0 @@ -/** - * @file Build Config Fixture - sum-of-intervals - * @module fixtures/pkg/sum-of-intervals/build.config - */ - -export default { - cwd: '__fixtures__/pkg/sum-of-intervals', - entries: [ - { format: 'esm', pattern: 'sum-of-intervals.mjs' }, - { format: 'cjs', pattern: 'sum-of-intervals.cjs' } - ], - source: '.', - sourcemap: true, - sourcesContent: false -} diff --git a/__fixtures__/pkg/sum-of-intervals/package.json b/__fixtures__/pkg/sum-of-intervals/package.json deleted file mode 100644 index f0809793..00000000 --- a/__fixtures__/pkg/sum-of-intervals/package.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "name": "sum-of-intervals", - "type": "module", - "exports": { - "types": "./dist/sum-of-intervals.d.ts", - "import": "./dist/sum-of-intervals.mjs", - "require": "./dist/sum-of-intervals.cjs" - } -} diff --git a/__fixtures__/pkg/sum-of-intervals/sum-of-intervals.cjs b/__fixtures__/pkg/sum-of-intervals/sum-of-intervals.cjs deleted file mode 100644 index 1d9f8774..00000000 --- a/__fixtures__/pkg/sum-of-intervals/sum-of-intervals.cjs +++ /dev/null @@ -1,61 +0,0 @@ -/** - * @file sumOfIntervals (cjs) - * @module fixtures/pkg/sum-of-intervals/cjs - * @see https://codewars.com/kata/52b7ed099cdc285c300001cd - */ - -/** - * Given an array of intervals, all of varying lengths, the function returns the - * sum of all interval lengths. - * - * **Overlapping intervals will be counted once**. - * - * @example - * sumOfIntervals([[1, 5]]) // 4 - * @example - * sumOfIntervals([[1, 4], [7, 10], [3, 5]]) // 7 - * @example - * sumOfIntervals([[1, 5], [10, 15], [-1, 3]]) // 11 - * - * @param {[number, number][]} intervals - Intervals - * @return {number} Sum of all interval lengths - */ -const sumOfIntervals = intervals => { - // Return array length if array is empty - if (intervals.length === 0) return intervals.length - - // If intervals array only has one interval, do simple math - if (intervals.length === 1) return intervals[0][1] - intervals[0][0] - - // Sort intervals array - intervals = intervals.sort((a, b) => a[0] - b[0]) - - /** @var {number} sum - Sum of intervals in {@linkcode intervals} */ - let sum = 0 - - // Calculate sum - for (let i = 0; i < intervals.length; i++) { - /** @const {[number, number] | undefined} prev - Previous interval */ - const prev = intervals[i - 1] - - // Bounds of current interval - const [, b2] = intervals[i] - let [b1] = intervals[i] - - // If bounds are within prev, remove previous interval - // Otherwise, add difference in bounds to sum - if (prev && b1 >= prev[0] && b2 <= prev[1]) { - intervals.splice((i -= 1) + 1, 1) - } else { - // Replace lower bound of current interval if within previous interval - if (prev && b1 >= prev[0] && b1 <= prev[1]) b1 = prev[1] - - // Add difference in bounds to sum - sum += b2 - b1 - } - } - - return sum -} - -module.exports = sumOfIntervals diff --git a/__fixtures__/pkg/sum-of-intervals/sum-of-intervals.d.ts b/__fixtures__/pkg/sum-of-intervals/sum-of-intervals.d.ts deleted file mode 100644 index d80d6ceb..00000000 --- a/__fixtures__/pkg/sum-of-intervals/sum-of-intervals.d.ts +++ /dev/null @@ -1,21 +0,0 @@ -declare module './sum-of-intervals' { - /** - * Given an array of intervals, all of varying lengths, the function returns - * the sum of all interval lengths. - * - * **Overlapping intervals will be counted once**. - * - * @example - * sumOfIntervals([[1, 5]]) // 4 - * @example - * sumOfIntervals([[1, 4], [7, 10], [3, 5]]) // 7 - * @example - * sumOfIntervals([[1, 5], [10, 15], [-1, 3]]) // 11 - * - * @param {[number, number][]} intervals - Intervals - * @return {number} Sum of all interval lengths - */ - const sumOfIntervals: (intervals: [number, number][]) => number - - export default sumOfIntervals -} diff --git a/__fixtures__/pkg/sum-of-intervals/sum-of-intervals.mjs b/__fixtures__/pkg/sum-of-intervals/sum-of-intervals.mjs deleted file mode 100644 index d402b100..00000000 --- a/__fixtures__/pkg/sum-of-intervals/sum-of-intervals.mjs +++ /dev/null @@ -1,61 +0,0 @@ -/** - * @file sumOfIntervals (mjs) - * @module fixtures/pkg/sum-of-intervals/mjs - * @see https://codewars.com/kata/52b7ed099cdc285c300001cd - */ - -/** - * Given an array of intervals, all of varying lengths, the function returns the - * sum of all interval lengths. - * - * **Overlapping intervals will be counted once**. - * - * @example - * sumOfIntervals([[1, 5]]) // 4 - * @example - * sumOfIntervals([[1, 4], [7, 10], [3, 5]]) // 7 - * @example - * sumOfIntervals([[1, 5], [10, 15], [-1, 3]]) // 11 - * - * @param {[number, number][]} intervals - Intervals - * @return {number} Sum of all interval lengths - */ -const sumOfIntervals = intervals => { - // Return array length if array is empty - if (intervals.length === 0) return intervals.length - - // If intervals array only has one interval, do simple math - if (intervals.length === 1) return intervals[0][1] - intervals[0][0] - - // Sort intervals array - intervals = intervals.sort((a, b) => a[0] - b[0]) - - /** @var {number} sum - Sum of intervals in {@linkcode intervals} */ - let sum = 0 - - // Calculate sum - for (let i = 0; i < intervals.length; i++) { - /** @const {[number, number] | undefined} prev - Previous interval */ - const prev = intervals[i - 1] - - // Bounds of current interval - const [, b2] = intervals[i] - let [b1] = intervals[i] - - // If bounds are within prev, remove previous interval - // Otherwise, add difference in bounds to sum - if (prev && b1 >= prev[0] && b2 <= prev[1]) { - intervals.splice((i -= 1) + 1, 1) - } else { - // Replace lower bound of current interval if within previous interval - if (prev && b1 >= prev[0] && b1 <= prev[1]) b1 = prev[1] - - // Add difference in bounds to sum - sum += b2 - b1 - } - } - - return sum -} - -export default sumOfIntervals diff --git a/__fixtures__/pkg/tribonacci/.gitignore b/__fixtures__/pkg/tribonacci/.gitignore new file mode 100644 index 00000000..6dc8454a --- /dev/null +++ b/__fixtures__/pkg/tribonacci/.gitignore @@ -0,0 +1,66 @@ +# macOS +# ------------------------------------------------------------------------------ +**/._* +**/.DS_* + +# Node +# ------------------------------------------------------------------------------ +**/node_modules/ +*.log +*.pid +*.pid.lock +*.seed +*.tgz +*.zip +.npm +.yarn-integrity +logs +npm-debug.log* +pids +report.[0-9]*.[0-9]*.[0-9]*.[0-9]*.json +yarn-debug.log* +yarn-error.log* +!**/__fixtures__/node_modules/ +!**/__fixtures__/**/*.log + +# Yarn 2 (Not using Zero-Installs) +# https://yarnpkg.com/getting-started/qa#which-files-should-be-gitignored +# ------------------------------------------------------------------------------ +.pnp.* +.yarn/* +!.yarn/plugins +!.yarn/releases +!.yarn/sdks +!.yarn/versions + +# Environment +# ------------------------------------------------------------------------------ +**/.env +**/.env*.local +**/.env.repo + +# TypeScript +# ------------------------------------------------------------------------------ +*.tsbuildinfo + +# Testing +# ------------------------------------------------------------------------------ +**/.vitest-reports/ +**/__tests__/reports/* +**/coverage/ +**/tsconfig*temp.json +*.lcov +codecov + +# ESLint +# ------------------------------------------------------------------------------ +**/.eslintcache + +# Builds +# ------------------------------------------------------------------------------ +**/dist/ + +# Misc +# ------------------------------------------------------------------------------ +**/*config.*.timestamp* +**/.temp/ diff --git a/__fixtures__/pkg/tribonacci/build.config.json b/__fixtures__/pkg/tribonacci/build.config.json deleted file mode 100644 index 1e8daa94..00000000 --- a/__fixtures__/pkg/tribonacci/build.config.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "cwd": "__fixtures__/pkg/tribonacci", - "entries": [{ "format": "esm" }, { "format": "cjs" }], - "sourcemap": true, - "sourcesContent": false, - "tsconfig": "tsconfig.json" -} diff --git a/__fixtures__/pkg/tribonacci/build.config.ts b/__fixtures__/pkg/tribonacci/build.config.ts new file mode 100644 index 00000000..44daa3f0 --- /dev/null +++ b/__fixtures__/pkg/tribonacci/build.config.ts @@ -0,0 +1,11 @@ +/** + * @file Build Config + * @module fixtures/pkg/tribonacci/build.config + */ + +export default { + input: 'src/*.ts', + root: '__fixtures__/pkg/tribonacci', + tasks: [{ format: 'cjs' as const }, { format: 'esm' as const }], + tsconfig: 'tsconfig.json' +} diff --git a/__fixtures__/pkg/tribonacci/src/tribonacci.ts b/__fixtures__/pkg/tribonacci/src/tribonacci.ts index db8dc722..c67c840e 100644 --- a/__fixtures__/pkg/tribonacci/src/tribonacci.ts +++ b/__fixtures__/pkg/tribonacci/src/tribonacci.ts @@ -4,6 +4,11 @@ * @see https://codewars.com/kata/556deca17c58da83c00002db */ +/** + * Starting sequence. + */ +type Sequence = [a: number, b: number, c: number] + /** * Given a starting sequence, `[a, b, c]`, the function returns an array with * the first `n` elements of the sequence. @@ -13,14 +18,14 @@ * @example * tribonacci([1, 1, 1], 10) // [1, 1, 1, 3, 5, 9, 17, 31, 57, 105] * - * @param {[number, number, number]} args - Starting sequence - * @param {number} n - Total number of elements in sequence - * @return {number[]} First `n` elements of sequence + * @param {Sequence} seq + * Starting sequence + * @param {number} n + * Total number of elements to include in sequence + * @return {number[]} + * First `n` elements of sequence */ -const tribonacci = ( - [a, b, c]: [number, number, number], - n: number -): number[] => { +function tribonacci(seq: Sequence, n: number): number[] { // base case: n is less than or equal to zero if (n <= 0) return [] @@ -29,9 +34,9 @@ const tribonacci = ( * * @const {number} sum */ - const sum: number = a + b + c + const sum: number = seq[0] + seq[1] + seq[2] - return [a, ...tribonacci([b, c, sum], n - 1)] + return [seq[0], ...tribonacci([seq[1], seq[2], sum], n - 1)] } export default tribonacci diff --git a/__fixtures__/pkg/tribonacci/tsconfig.json b/__fixtures__/pkg/tribonacci/tsconfig.json index 2cf79381..8bc93995 100644 --- a/__fixtures__/pkg/tribonacci/tsconfig.json +++ b/__fixtures__/pkg/tribonacci/tsconfig.json @@ -1,48 +1,29 @@ { "compilerOptions": { - "allowJs": true, - "allowUnreachableCode": false, - "alwaysStrict": false, - "baseUrl": ".", + "allowImportingTsExtensions": true, + "allowJs": false, + "alwaysStrict": true, "checkJs": false, + "customConditions": ["mkbuild"], "declaration": true, "declarationMap": true, - "emitDecoratorMetadata": true, - "esModuleInterop": true, - "exactOptionalPropertyTypes": false, - "experimentalDecorators": true, - "forceConsistentCasingInFileNames": true, - "lib": ["es2021"], + "lib": ["es2024"], "module": "esnext", - "moduleDetection": "force", - "moduleResolution": "node", + "moduleResolution": "bundler", "newLine": "lf", "noEmit": true, "noErrorTruncation": true, - "noFallthroughCasesInSwitch": true, - "noImplicitAny": true, - "noImplicitOverride": true, - "noImplicitReturns": true, - "noUncheckedIndexedAccess": true, - "noUnusedLocals": false, + "noUncheckedSideEffectImports": true, "noUnusedParameters": false, "outDir": "__fixtures__/pkg/tribonacci/dist", - "paths": {}, - "preserveConstEnums": true, - "preserveSymlinks": false, - "pretty": true, "resolveJsonModule": true, - "rootDir": "../../..", - "skipLibCheck": true, "sourceMap": true, - "strict": true, - "strictNullChecks": true, - "strictPropertyInitialization": true, - "target": "es2021", - "useDefineForClassFields": true, - "useUnknownInCatchVariables": true, + "target": "es2024", + "traceResolution": true, "verbatimModuleSyntax": true }, - "exclude": ["**/dist", "**/node_modules"], - "include": ["**/**.ts", "**/**.tsx"] + "exclude": ["coverage", "dist", "node_modules"], + "extends": "@tsconfig/strictest/tsconfig", + "files": ["../../../typings/typescript/lib.es5.d.ts"], + "include": ["**/**.ts"] } diff --git a/__fixtures__/volume.ts b/__fixtures__/volume.ts deleted file mode 100644 index 7a4f5cbb..00000000 --- a/__fixtures__/volume.ts +++ /dev/null @@ -1,42 +0,0 @@ -/** - * @file Test Fixture - volume - * @module tests/setup/volume - * @see https://github.com/streamich/memfs - */ - -import { Volume } from 'memfs/lib/volume' - -/** - * Virtual file system. - * - * @const {Volume} volume - */ -const volume: Volume = Volume.fromNestedJSON({}, process.cwd()) - -/** - * Support relative paths. - * - * @see https://github.com/streamich/memfs/blob/master/docs/relative-paths.md - * @see https://github.com/streamich/memfs/issues/23 - */ -volume.mkdirSync(process.cwd(), { recursive: true }) - -/** - * Original {@linkcode volume.reset} function. - * - * @const {Volume['reset']} reset - */ -const reset: Volume['reset'] = volume.reset.bind(volume) - -/** - * Clears the virtual file system, {@linkcode volume}, and recursively recreates - * the current working directory. - * - * @return {void} Nothing when complete - */ -volume.reset = function(): void { - reset() - return void volume.mkdirSync(process.cwd(), { recursive: true }) -} - -export default volume diff --git a/__mocks__/@flex-development/mlly.ts b/__mocks__/@flex-development/mlly.ts deleted file mode 100644 index e5bce36c..00000000 --- a/__mocks__/@flex-development/mlly.ts +++ /dev/null @@ -1,30 +0,0 @@ -/** - * @file Mocks - @flex-development/mlly - * @module mocks/flex-development/mlly - * @see https://github.com/flex-development/mlly - */ - -/** - * [`@flex-development/mlly`][1] module type. - * - * [1]: https://github.com/flex-development/mlly - */ -type Actual = typeof import('@flex-development/mlly') - -/** - * `@flex-development/mlly` module. - * - * @const {Actual} actual - */ -const actual: Actual = await vi.importActual<Actual>('@flex-development/mlly') - -export const CONDITIONS = actual.CONDITIONS -export const RESOLVE_EXTENSIONS = actual.RESOLVE_EXTENSIONS -export const fillModules = vi.fn(actual.fillModules) -export const findStaticImports = vi.fn(actual.findStaticImports) -export const getSource = vi.fn(actual.getSource) -export const readPackageJson = vi.fn(actual.readPackageJson) -export const resolveModule = vi.fn(actual.resolveModule) -export const resolveModules = vi.fn(actual.resolveModules) -export const toDataURL = vi.fn(actual.toDataURL) -export const toURL = vi.fn(actual.toURL) diff --git a/__mocks__/@flex-development/pathe.ts b/__mocks__/@flex-development/pathe.ts deleted file mode 100644 index 2b10cabc..00000000 --- a/__mocks__/@flex-development/pathe.ts +++ /dev/null @@ -1,39 +0,0 @@ -/** - * @file Mocks - @flex-development/pathe - * @module mocks/flex-development/pathe - * @see https://github.com/flex-development/pathe - */ - -/** - * [`@flex-development/pathe`][1] module type. - * - * [1]: https://github.com/flex-development/pathe - */ -type Actual = typeof import('@flex-development/pathe') - -/** - * `@flex-development/pathe` module. - * - * @const {Actual} actual - */ -const actual: Actual = await vi.importActual<Actual>('@flex-development/pathe') - -export const basename = vi.fn(actual.basename) -export const dirname = vi.fn(actual.dirname) -export const extname = vi.fn(actual.extname) -export const format = vi.fn(actual.format) -export const join = vi.fn(actual.join) -export const parse = vi.fn(actual.parse) -export const relative = vi.fn(actual.relative) -export const resolve = vi.fn(actual.resolve) - -export default { - basename, - dirname, - extname, - format, - join, - parse, - relative, - resolve -} diff --git a/__mocks__/@flex-development/toggle-pkg-type.ts b/__mocks__/@flex-development/toggle-pkg-type.ts deleted file mode 100644 index 48d6ce51..00000000 --- a/__mocks__/@flex-development/toggle-pkg-type.ts +++ /dev/null @@ -1,7 +0,0 @@ -/** - * @file Mocks - @flex-development/toggle-pkg-type - * @module mocks/flex-development/toggle-pkg-type - * @see https://github.com/flex-development/toggle-pkg-type - */ - -export default vi.fn() diff --git a/__mocks__/@flex-development/tsconfig-utils.ts b/__mocks__/@flex-development/tsconfig-utils.ts deleted file mode 100644 index 2aec1c1a..00000000 --- a/__mocks__/@flex-development/tsconfig-utils.ts +++ /dev/null @@ -1,27 +0,0 @@ -/** - * @file Mocks - @flex-development/tsconfig-utils - * @module mocks/flex-development/tsconfig-utils - * @see https://github.com/flex-development/tsconfig-utils - */ - -/** - * [`@flex-development/tsconfig-utils`][1] module type. - * - * [1]: https://github.com/flex-development/tsconfig-utils - */ -type Actual = typeof import('@flex-development/tsconfig-utils') - -/** - * `@flex-development/tsconfig-utils` module. - * - * @const {Actual} actual - */ -const actual: Actual = await vi.importActual<Actual>( - '@flex-development/tsconfig-utils' -) - -export const ScriptTarget = actual.ScriptTarget -export const loadCompilerOptions = vi.fn(actual.loadCompilerOptions) -export const normalizeCompilerOptions = vi.fn(actual.normalizeCompilerOptions) -export const normalizeModuleResolution = vi.fn(actual.normalizeModuleResolution) -export const resolvePaths = vi.fn(actual.resolvePaths) diff --git a/__mocks__/esbuild.ts b/__mocks__/esbuild.ts deleted file mode 100644 index 0099821d..00000000 --- a/__mocks__/esbuild.ts +++ /dev/null @@ -1,22 +0,0 @@ -/** - * @file Mocks - esbuild - * @module mocks/esbuild - * @see https://esbuild.github.io - */ - -/** - * [`esbuild`][1] module type. - * - * [1]: https://esbuild.github.io - */ -type Actual = typeof import('esbuild') - -/** - * `esbuild` module. - * - * @const {Actual} actual - */ -const actual: Actual = await vi.importActual<Actual>('esbuild') - -export const context = vi.fn(actual.context) -export const transform = vi.fn(actual.transform) diff --git a/__mocks__/exit-hook.ts b/__mocks__/exit-hook.ts deleted file mode 100644 index 77d019ac..00000000 --- a/__mocks__/exit-hook.ts +++ /dev/null @@ -1,23 +0,0 @@ -/** - * @file Mocks - exitHook - * @module mocks/exitHook - * @see https://github.com/sindresorhus/exit-hook - */ - -/** - * [`exit-hook`][1] module type. - * - * [1]: https://github.com/sindresorhus/exit-hook - */ -type Actual = typeof import('exit-hook') - -/** - * `exit-hook` module. - * - * @const {Actual} actual - */ -const actual: Actual = await vi.importActual<Actual>('exit-hook') - -export const asyncExitHook = vi.fn(actual.asyncExitHook) - -export default vi.fn(actual.default) diff --git a/__tests__/interfaces/index.ts b/__tests__/interfaces/index.ts deleted file mode 100644 index df90fc31..00000000 --- a/__tests__/interfaces/index.ts +++ /dev/null @@ -1,7 +0,0 @@ -/** - * @file Entry Point - Test Environment Interfaces - * @module tests/interfaces - */ - -export type { default as Mock } from './mock' -export type { default as Spy } from './spy' diff --git a/__tests__/interfaces/mock.ts b/__tests__/interfaces/mock.ts deleted file mode 100644 index 71a9cfea..00000000 --- a/__tests__/interfaces/mock.ts +++ /dev/null @@ -1,19 +0,0 @@ -/** - * @file Test Environment Interfaces - Mock - * @module tests/interfaces/Mock - */ - -import type { Fn } from '@flex-development/tutils' -import type * as vitest from 'vitest' - -/** - * {@linkcode vitest.Mock} utility. - * - * @template F - Function being mocked - * - * @extends {vitest.Mock<Parameters<F>,ReturnType<F>>} - */ -interface Mock<F extends Fn = Fn> - extends vitest.Mock<Parameters<F>, ReturnType<F>> {} - -export type { Mock as default } diff --git a/__tests__/interfaces/spy.ts b/__tests__/interfaces/spy.ts deleted file mode 100644 index fc8e4f71..00000000 --- a/__tests__/interfaces/spy.ts +++ /dev/null @@ -1,19 +0,0 @@ -/** - * @file Test Environment Interfaces - Spy - * @module tests/interfaces/Spy - */ - -import type { Fn } from '@flex-development/tutils' -import type * as vitest from 'vitest' - -/** - * {@linkcode vitest.SpyInstance} utility. - * - * @template F - Function being spied on - * - * @extends {vitest.SpyInstance<Parameters<F>,ReturnType<F>>} - */ -interface Spy<F extends Fn = Fn> - extends vitest.SpyInstance<Parameters<F>, ReturnType<F>> {} - -export type { Spy as default } diff --git a/__tests__/plugins/chai-each.mts b/__tests__/plugins/chai-each.mts new file mode 100644 index 00000000..469bc71e --- /dev/null +++ b/__tests__/plugins/chai-each.mts @@ -0,0 +1,73 @@ +/** + * @file Plugins - chaiEach + * @module tests/plugins/chaiEach + */ + +import type Chai from 'chai' + +export default plugin + +/** + * A list. + */ +type List = Set<unknown> | readonly unknown[] + +/** + * Chai plugin to allow for assertions on each item in a list. + * + * @see {@linkcode Chai.ChaiStatic} + * @see {@linkcode Chai.ChaiUtils} + * + * @param {ChaiStatic} chai + * `chai` export + * @param {Chai.ChaiUtils} utils + * `chai` utilities + * @return {undefined} + */ +function plugin(chai: Chai.ChaiStatic, utils: Chai.ChaiUtils): undefined { + return void chai.Assertion.addProperty('each', each) + + /** + * @this {Chai.AssertionStatic} + * + * @return {undefined} + */ + function each(this: Chai.AssertionStatic): undefined { + /** + * Subject of assertion. + * + * @const {unknown} object + */ + const object: unknown = utils.flag(this, 'object') + + new chai.Assertion(object).satisfies(list) + + for (const item of object as List) { + /** + * Assertion for list item. + * + * @const {Chai.Assertion} that + */ + const that: Chai.Assertion = Object.create(this) + + utils.transferFlags(this as unknown as Chai.Assertion, that, false) + utils.flag(that, 'object', item) + + new chai.Assertion(that) + } + + return void undefined + } + + /** + * @this {void} + * + * @param {unknown} thing + * The value to check + * @return {List} + * `true` if `thing` is an array or set + */ + function list(this: void, thing: unknown): thing is List { + return Array.isArray(thing) || thing instanceof Set + } +} diff --git a/__tests__/plugins/chai-pathe.mts b/__tests__/plugins/chai-pathe.mts new file mode 100644 index 00000000..64db9d8e --- /dev/null +++ b/__tests__/plugins/chai-pathe.mts @@ -0,0 +1,60 @@ +/** + * @file Plugins - chaiPathe + * @module tests/plugins/chaiPathe + */ + +import pathe from '@flex-development/pathe' +import type Chai from 'chai' + +export default plugin + +/** + * Chai plugin for [pathe][]. + * + * [pathe]: https://github.com/flex-development/pathe + * + * @see {@linkcode Chai.ChaiStatic} + * @see {@linkcode Chai.ChaiUtils} + * + * @param {ChaiStatic} chai + * `chai` export + * @param {Chai.ChaiUtils} utils + * `chai` utilities + * @return {undefined} + */ +function plugin(chai: Chai.ChaiStatic, utils: Chai.ChaiUtils): undefined { + utils.addChainableMethod(chai.Assertion.prototype, dirname.name, dirname) + + return void 0 + + /** + * @this {Chai.Assertion} + * + * @param {URL | string} expected + * Expected dirname + * @return {undefined} + */ + function dirname(this: Chai.Assertion, expected: URL | string): undefined { + /** + * Subject of assertion. + * + * @const {URL | string} subject + */ + const subject: URL | string = utils.flag(this, 'object') + + /** + * Actual dirname. + * + * @const {string} actual + */ + const actual: string = pathe.dirname(subject) + + return expected = String(expected), void this.assert( + actual === expected, + 'expected #{this} to have dirname #{exp} but got #{act}', + 'expected #{this} not to have dirname #{exp} but got #{act}', + expected, + actual + ) + } +} diff --git a/__tests__/reporters/notifier.ts b/__tests__/reporters/notifier.mts similarity index 52% rename from __tests__/reporters/notifier.ts rename to __tests__/reporters/notifier.mts index b03441f0..7336fc56 100644 --- a/__tests__/reporters/notifier.ts +++ b/__tests__/reporters/notifier.mts @@ -1,28 +1,36 @@ /** * @file Reporters - Notifier * @module tests/reporters/Notifier + * @see https://vitest.dev/advanced/reporters#exported-reporters */ -import { cast, isArray, type OneOrMany } from '@flex-development/tutils' +import type { Test } from '@vitest/runner' +import { getTests } from '@vitest/runner/utils' +import ci from 'is-ci' import notifier from 'node-notifier' -import type NotificationCenter from 'node-notifier/notifiers/notificationcenter' +import type { Notification } from 'node-notifier/notifiers/notificationcenter' import { performance } from 'node:perf_hooks' import { promisify } from 'node:util' import { dedent } from 'ts-dedent' -import type { File, Reporter, Task, Test, Vitest } from 'vitest' +import type { RunnerTestFile } from 'vitest' +import type { Vitest } from 'vitest/node' +import type { Reporter } from 'vitest/reporters' /** - * Custom reporter that sends a notification when all tests have been ran. + * Test report summary notifier. * - * @see https://vitest.dev/config/#reporters + * @see {@linkcode Reporter} * * @implements {Reporter} */ class Notifier implements Reporter { /** - * Test reporter context. + * Reporter context. + * + * @see {@linkcode Vitest} * * @public + * @instance * @member {Vitest} ctx */ public ctx!: Vitest @@ -31,6 +39,7 @@ class Notifier implements Reporter { * Test run end time (in milliseconds). * * @public + * @instance * @member {number} end */ public end!: number @@ -39,31 +48,77 @@ class Notifier implements Reporter { * Test run start time (in milliseconds). * * @public + * @instance * @member {number} start */ public start!: number /** - * Sends a notification. + * Send a notification after all tests have ran (in non ci/cd environments). + * + * @see {@linkcode RunnerTestFile} * - * @protected + * @public + * @instance * * @async * - * @param {File[]} [files=this.ctx.state.getFiles()] - File objects - * @param {unknown[]} [errors=this.ctx.state.getUnhandledErrors()] - Errors - * @return {Promise<void>} Nothing when complete + * @param {RunnerTestFile[] | undefined} [files=this.ctx.state.getFiles()] + * List of test files + * @param {unknown[] | undefined} [errors=this.ctx.state.getUnhandledErrors()] + * List of unhandled errors + * @return {undefined} */ - protected async notify( - files: File[] = this.ctx.state.getFiles(), + public async onFinished( + files: RunnerTestFile[] = this.ctx.state.getFiles(), errors: unknown[] = this.ctx.state.getUnhandledErrors() - ): Promise<void> { + ): Promise<undefined> { + this.end = performance.now() + return void await (ci || this.reportSummary(files, errors)) + } + + /** + * Initialize the reporter. + * + * @see {@linkcode Vitest} + * + * @public + * @instance + * + * @param {Vitest} ctx + * Reporter context + * @return {undefined} + */ + public onInit(ctx: Vitest): undefined { + return void (this.ctx = ctx, this.start = performance.now()) + } + + /** + * Send a notification. + * + * @see {@linkcode RunnerTestFile} + * + * @public + * @instance + * + * @async + * + * @param {RunnerTestFile[] | undefined} [files=this.ctx.state.getFiles()] + * List of test files + * @param {unknown[] | undefined} [errors=this.ctx.state.getUnhandledErrors()] + * List of unhandled errors + * @return {Promise<undefined>} + */ + public async reportSummary( + files: RunnerTestFile[] = this.ctx.state.getFiles(), + errors: unknown[] = this.ctx.state.getUnhandledErrors() + ): Promise<undefined> { /** * Tests that have been run. * * @const {Test[]} tests */ - const tests: Test[] = this.tests(files) + const tests: Test[] = getTests(files) /** * Total number of failed tests. @@ -120,66 +175,11 @@ class Notifier implements Reporter { title = '\u2705 Passed' } - // send notification - return void (await promisify<NotificationCenter.Notification>( - notifier.notify.bind(notifier) - )({ + return void await promisify<Notification>(notifier.notify.bind(notifier))({ message, sound: true, - timeout: 10, + timeout: 15, title - })) - } - - /** - * Sends a notification after all tests have ran (in non ci/cd environments). - * - * @public - * - * @async - * - * @param {File[]} [files=this.ctx.state.getFiles()] - File objects - * @param {unknown[]} [errors=this.ctx.state.getUnhandledErrors()] - Errors - * @return {Promise<void>} Nothing when complete - */ - public async onFinished( - files: File[] = this.ctx.state.getFiles(), - errors: unknown[] = this.ctx.state.getUnhandledErrors() - ): Promise<void> { - this.end = performance.now() - return void (await this.notify(files, errors)) - } - - /** - * Initializes the reporter. - * - * @public - * - * @param {Vitest} context - Test reporter context - * @return {void} Nothing when complete - */ - public onInit(context: Vitest): void { - this.ctx = context - return void ((this.start = performance.now()) && (this.end = 0)) - } - - /** - * Returns an array of {@linkcode Test} objects. - * - * @protected - * - * @param {OneOrMany<Task>} [tasks=[]] - Tasks to collect tests from - * @return {Test[]} `Test` object array - */ - protected tests(tasks: OneOrMany<Task> = []): Test[] { - return (isArray<Task>(tasks) ? tasks : [tasks]).flatMap(task => { - return task.type === 'custom' - ? [cast(task)] - : task.type === 'test' - ? [task] - : 'tasks' in task - ? task.tasks.flatMap(task => this.tests(task)) - : [] }) } } diff --git a/__tests__/reporters/verbose.mts b/__tests__/reporters/verbose.mts new file mode 100644 index 00000000..1cebc1b4 --- /dev/null +++ b/__tests__/reporters/verbose.mts @@ -0,0 +1,223 @@ +/** + * @file Reporters - VerboseReporter + * @module tests/reporters/VerboseReporter + * @see https://vitest.dev/advanced/reporters#exported-reporters + */ + +import type { Task, TaskResultPack } from '@vitest/runner' +import { getNames, getTests } from '@vitest/runner/utils' +import colors, { type Colors } from 'tinyrainbow' +import type { RunnerTask, RunnerTestFile } from 'vitest' +import type { ConfigEnv } from 'vitest/config' +import { DefaultReporter, type Reporter } from 'vitest/reporters' + +/** + * Verbose reporter. + * + * @see {@linkcode DefaultReporter} + * @see {@linkcode Reporter} + * + * @extends {DefaultReporter} + * @implements {Reporter} + */ +class VerboseReporter extends DefaultReporter implements Reporter { + /** + * Color functions map. + * + * @public + * @instance + * @member {Colors} colors + */ + public colors: Colors + + /** + * Create a new verbose reporter. + * + * @see {@linkcode ConfigEnv} + * + * @param {ConfigEnv} [env] + * Vitest configuration environment + */ + constructor(env: ConfigEnv) { + super({ summary: env.mode !== 'typecheck' }) + + this.colors = colors + this.renderSucceed = true + this.verbose = true + } + + /** + * Format a project `name`. + * + * @protected + * @instance + * + * @param {string | null | undefined} name + * The project name to format + * @param {boolean | null | undefined} dim + * Dim formattted project name? + * @return {string} + * Formatted project name + */ + protected formatProjectName( + name: string | null | undefined, + dim?: boolean | null | undefined + ): string { + if (name) { + name = this.colors.magenta(`[${name}]`) + if (dim) name = this.colors.dim(name) + return name + } + + return '' + } + + /** + * Get a symbol representing `task`. + * + * @see {@linkcode RunnerTask} + * + * @protected + * @instance + * + * @param {RunnerTask} task + * The runner task to handle + * @return {string} + * Task state symbol + */ + protected getTaskSymbol(task: RunnerTask): string { + if (task.mode === 'skip') return this.colors.dim(this.colors.gray('↓')) + + if (task.mode === 'todo') return this.colors.yellow('→') + + if (!task.result) return this.colors.gray('.') + + if (task.result.state === 'pass') { + return this.colors.green(task.meta.benchmark ? '·' : '✓') + } + + if (task.result.state === 'fail') { + return this.colors.red(task.type === 'suite' ? '❯' : '✖') + } + + return '' + } + + /** + * Print tasks. + * + * @see {@linkcode RunnerTestFile} + * + * @public + * @override + * @instance + * + * @param {RunnerTestFile[] | undefined} [files] + * List of test files + * @param {unknown[] | undefined} [errors] + * List of unhandled errors + * @return {undefined} + */ + public override onFinished( + files?: RunnerTestFile[] | undefined, + errors?: unknown[] | undefined + ): undefined { + if (files) { for (const task of files) this.printTask(task, true) } + return void super.onFinished(files, errors) + } + + /** + * Handle task updates. + * + * @see {@linkcode TaskResultPack} + * + * @public + * @override + * @instance + * + * @param {TaskResultPack[]} packs + * List of task result packs + * @return {undefined} + */ + public override onTaskUpdate(packs: TaskResultPack[]): undefined { + return void packs + } + + /** + * Print `task`. + * + * @see {@linkcode Task} + * + * @protected + * @override + * @instance + * + * @param {Task | null | undefined} task + * The task to handle + * @param {boolean | null | undefined} [force] + * Print `task` even when {@linkcode isTTY} is `false`? + * @return {undefined} + */ + protected override printTask( + task: Task | null | undefined, + force?: boolean | null | undefined + ): undefined { + if ( + (!this.isTTY || force) && + task?.result?.state && + task.result.state !== 'queued' && + task.result.state !== 'run' + ) { + /** + * Task skipped? + * + * @const {boolean} skip + */ + const skip: boolean = task.mode === 'skip' + + /** + * Printed task. + * + * @var {string} state + */ + let state: string = '' + + state = ' '.repeat(getNames(task).length * 2) + state += this.getTaskSymbol(task) + ' ' + + if (task.type !== 'suite') { + this.log(state += skip ? this.colors.blackBright(task.name) : task.name) + } else { + /** + * Suite title. + * + * @var {string} suite + */ + let suite: string = '' + + if ('filepath' in task) { + suite = task.file.name + + if (task.file.projectName) { + state += this.formatProjectName(task.file.projectName, skip) + ' ' + } + } else { + suite = task.name + } + + suite += ` (${getTests(task).length})` + state += skip ? this.colors.blackBright(suite) : suite + + this.log(state) + + if (!skip) { + for (const subtask of task.tasks) void this.printTask(subtask, force) + } + } + } + + return void task + } +} + +export default VerboseReporter diff --git a/__tests__/serializers/cwd.mts b/__tests__/serializers/cwd.mts new file mode 100644 index 00000000..7c04e0fc --- /dev/null +++ b/__tests__/serializers/cwd.mts @@ -0,0 +1,44 @@ +/** + * @file Snapshot Serializers - cwd + * @module tests/serializers/cwd + * @see https://vitest.dev/guide/snapshot + */ + +import { ok } from 'devlop' +import type { SnapshotSerializer } from 'vitest' + +/** + * `process.cwd()` snapshot serializer. + * + * @const {SnapshotSerializer} serializer + */ +const serializer: SnapshotSerializer = { print, test } + +export default serializer + +/** + * Print a snapshot value. + * + * > 👉 `value` is expected to be a string. + * + * @param {unknown} value + * Value to print + * @return {string} + * Snapshot value + */ +function print(value: unknown): string { + ok(test(value), 'expected `value` to pass `test`') + return value.replaceAll(process.cwd(), '${process.cwd()}') +} + +/** + * Check if `value` is a string containing {@linkcode process.cwd}. + * + * @param {unknown} value + * Value to check + * @return {value is string} + * `true` if `value` is string containing `process.cwd` + */ +function test(value: unknown): value is string { + return typeof value === 'string' && value.includes(process.cwd()) +} diff --git a/__tests__/setup/chai.mts b/__tests__/setup/chai.mts new file mode 100644 index 00000000..de8d92e9 --- /dev/null +++ b/__tests__/setup/chai.mts @@ -0,0 +1,17 @@ +/** + * @file Test Setup - chai + * @module tests/setup/chai + * @see https://chaijs.com + */ + +import chaiEach from '#tests/plugins/chai-each' +import chaiPathe from '#tests/plugins/chai-pathe' +import chaiString from 'chai-string' +import { chai } from 'vitest' + +/** + * initialize chai plugins. + */ +chai.use(chaiEach) +chai.use(chaiPathe) +chai.use(chaiString) diff --git a/__tests__/setup/chai.ts b/__tests__/setup/chai.ts deleted file mode 100644 index 5406d120..00000000 --- a/__tests__/setup/chai.ts +++ /dev/null @@ -1,26 +0,0 @@ -/** - * @file Test Setup - chai - * @module tests/setup/chai - * @see https://chaijs.com - */ - -import { JestExtend as extend } from '@vitest/expect' -import chaiEach from 'chai-each' -import chaiFs from 'chai-fs' -import chaiQuantifiers from 'chai-quantifiers' -import chaiString from 'chai-string' -import { chai } from 'vitest' - -/** - * initialize chai plugins. - * - * @see https://github.com/jamesthomasonjr/chai-each - * @see https://github.com/chaijs/chai-fs - * @see https://github.com/funny-bytes/chai-quantifiers - * @see https://github.com/onechiporenko/chai-string - */ -extend(chai, chai.util) -chai.use(chaiEach) -chai.use(chaiFs) -chai.use(chaiQuantifiers) -chai.use(chaiString) diff --git a/__tests__/setup/faker.ts b/__tests__/setup/faker.mts similarity index 100% rename from __tests__/setup/faker.ts rename to __tests__/setup/faker.mts diff --git a/__tests__/setup/index.ts b/__tests__/setup/index.ts deleted file mode 100644 index dbfdf755..00000000 --- a/__tests__/setup/index.ts +++ /dev/null @@ -1,10 +0,0 @@ -/** - * @file Entry Point - Test Setup Files - * @module tests/setup - */ - -import 'reflect-metadata' -import './chai' -import './faker' -import './matchers' -import './serializers' diff --git a/__tests__/setup/matchers/index.ts b/__tests__/setup/matchers/index.ts deleted file mode 100644 index 1dd460ec..00000000 --- a/__tests__/setup/matchers/index.ts +++ /dev/null @@ -1,7 +0,0 @@ -/** - * @file Entry Point - Custom Matchers - * @module tests/setup/matchers - * @see https://vitest.dev/guide/extending-matchers.html - */ - -export {} diff --git a/__tests__/setup/serializers/index.ts b/__tests__/setup/serializers/index.ts deleted file mode 100644 index 599182fd..00000000 --- a/__tests__/setup/serializers/index.ts +++ /dev/null @@ -1,7 +0,0 @@ -/** - * @file Entry Point - Snapshot Serializers - * @module tests/setup/serializers - * @see https://vitest.dev/guide/snapshot.html#custom-serializer - */ - -import './result-array' diff --git a/__tests__/setup/serializers/result-array.ts b/__tests__/setup/serializers/result-array.ts deleted file mode 100644 index b218cebb..00000000 --- a/__tests__/setup/serializers/result-array.ts +++ /dev/null @@ -1,62 +0,0 @@ -/** - * @file Snapshot Serializers - Result[] - * @module tests/setup/serializers/result-array - */ - -import type { Result } from '#src/interfaces' -import { - cast, - get, - isArray, - isNIL, - isObjectPlain, - isString, - omit, - pick -} from '@flex-development/tutils' -import pf from 'pretty-format' - -expect.addSnapshotSerializer({ - /** - * Prints the given `value`. - * - * @param {unknown} value - Value to print - * @return {string} `value` as printable string - */ - print(value: unknown): string { - value = cast<Result[]>(value).map(result => { - result.cwd = result.cwd.replace(/.*?(?=\/__.+)/, '${process.cwd()}') - - return { - ...omit(result, ['metafile']), - outputs: result.outputs.map(output => { - output.path = output.path.replace(/.*?(?=\/__.+)/, '${process.cwd()}') - return pick(output, ['entryPoint', 'outfile', 'path']) - }) - } - }) - - return pf(value, { printBasicPrototype: false }) - }, - /** - * Checks if the given `value` is a {@linkcode Result} array. - * - * @param {unknown} value - Value to check - * @return {value is Result[]} `true` if `value` is {@linkcode Result} array - */ - test(value: unknown): value is Result[] { - return isArray(value) - ? value.every(item => { - return ( - isString(get(item, 'cwd')) && - isArray(get(item, 'errors')) && - (isObjectPlain(get(item, 'mangleCache')) || - isNIL(get(item, 'mangleCache'))) && - isString(get(item, 'outdir')) && - isArray(get(item, 'outputs')) && - isArray(get(item, 'warnings')) - ) - }) - : false - } -}) diff --git a/__tests__/utils/create-has-plugin.mts b/__tests__/utils/create-has-plugin.mts new file mode 100644 index 00000000..bac0aecd --- /dev/null +++ b/__tests__/utils/create-has-plugin.mts @@ -0,0 +1,54 @@ +/** + * @file Test Utilities - createHasPlugin + * @module tests/utils/createHasPlugin + */ + +import { sift } from '@flex-development/tutils' +import type { InputPluginOption } from 'rollup' + +export { createHasPlugin as default, type HasPlugin } + +/** + * Check if a list of input plugin options contains a specific plugin. + * + * @see {@linkcode InputPluginOption} + * + * @this {void} + * + * @param {InputPluginOption[]} plugins + * List of input plugin options + * @return {boolean} + * `true` if `plugins` contains plugin with bounded plugin name + */ +type HasPlugin = (this: void, plugins: InputPluginOption[]) => boolean + +/** + * Create a function to check if a list of input plugin options contains a + * plugin with the name `plugin`. + * + * @see {@linkcode HasPlugin} + * + * @this {void} + * + * @param {string} plugin + * Plugin name + * @return {HasPlugin} + * Input plugin option list predicate + */ +function createHasPlugin(this: void, plugin: string): HasPlugin { + return hasPlugin + + /** + * @this {void} + * + * @param {InputPluginOption[]} plugins + * List of input plugin options + * @return {boolean} + * `true` if `plugins` contains plugin with the name `plugin` + */ + function hasPlugin(this: void, plugins: InputPluginOption[]): boolean { + return sift(plugins).some(option => { + return 'name' in option && option.name === plugin + }) + } +} diff --git a/__tests__/utils/create-plugin-api.ts b/__tests__/utils/create-plugin-api.ts deleted file mode 100644 index dcdbc6ec..00000000 --- a/__tests__/utils/create-plugin-api.ts +++ /dev/null @@ -1,35 +0,0 @@ -/** - * @file Test Utilities - createPluginAPI - * @module tests/utils/createPluginAPI - */ - -import * as esbuild from 'esbuild' - -/** - * Creates an [esbuild plugin API][1] object. - * - * [1]: https://esbuild.github.io/plugins - * - * @param {Partial<esbuild.PluginBuild>} [overrides={}] - API overrides - * @return {esbuild.PluginBuild} Mock [plugin API][1] object - */ -const createPluginAPI = ({ - initialOptions = {}, - onDispose = vi.fn(), - onEnd = vi.fn(), - onLoad = vi.fn(), - onResolve = vi.fn(), - onStart = vi.fn(), - resolve = vi.fn() -}: Partial<esbuild.PluginBuild> = {}): esbuild.PluginBuild => ({ - esbuild, - initialOptions, - onDispose, - onEnd, - onLoad, - onResolve, - onStart, - resolve -}) - -export default createPluginAPI diff --git a/__tests__/utils/get-package-json.ts b/__tests__/utils/get-package-json.ts deleted file mode 100644 index f6ce7c60..00000000 --- a/__tests__/utils/get-package-json.ts +++ /dev/null @@ -1,36 +0,0 @@ -/** - * @file Test Utilities - getPackageJson - * @module tests/utils/getPackageJson - */ - -import type mlly from '@flex-development/mlly' -import type pkg from '@flex-development/pkg-types' -import { cast } from '@flex-development/tutils' - -/** - * Retrieves a `package.json` object. - * - * @see {@linkcode mlly.ModuleId} - * @see {@linkcode pkg.PackageJson} - * - * @async - * - * @param {mlly.ModuleId} [id='package.json'] - Module id of `package.json` file - * @return {Promise<pkg.PackageJson>} `package.json` object - */ -const getPackageJson = async ( - id: mlly.ModuleId = 'package.json' -): Promise<pkg.PackageJson> => { - /** - * [`node:fs`][1] module. - * - * [1]: https://nodejs.org/api/fs.html - * - * @const {typeof import('node:fs')} fs - */ - const fs: typeof import('node:fs') = await vi.importActual('node:fs') - - return cast(JSON.parse(fs.readFileSync(id, 'utf8'))) -} - -export default getPackageJson diff --git a/build.config.mts b/build.config.mts new file mode 100644 index 00000000..9396e0b2 --- /dev/null +++ b/build.config.mts @@ -0,0 +1,43 @@ +/** + * @file Configuration - Build + * @module config/build + */ + +import { defineBuildConfig, type Config } from '@flex-development/mkbuild' +import tsconfig from './tsconfig.build.json' assert { type: 'json' } + +/** + * Build configuration. + * + * @type {Config} + */ +export default defineBuildConfig({ + esbuild: { + target: ['node18', tsconfig.compilerOptions.target] + }, + resolve: { + conditions: tsconfig.compilerOptions.customConditions + }, + tasks: [ + { + dts: 'only', + input: [ + 'src/*.mts', + 'src/interfaces/*.mts', + 'src/types/*.mts', + 'src/utils/*.mts' + ] + }, + { + dts: false, + input: [ + '!src/internal/*.d.mts', + 'src/*.mts', + 'src/internal/*.mts', + 'src/plugins/*.mts', + 'src/utils/*.mts' + ] + } + ], + tsconfig: 'tsconfig.build.json' +}) diff --git a/build.config.ts b/build.config.ts deleted file mode 100644 index 69561dba..00000000 --- a/build.config.ts +++ /dev/null @@ -1,74 +0,0 @@ -/** - * @file Configuration - Build - * @module config/build - */ - -import { defineBuildConfig, type Config } from '#src' -import pathe from '@flex-development/pathe' -import { at } from '@flex-development/tutils' -import pkg from './package.json' assert { type: 'json' } -import tsconfig from './tsconfig.build.json' assert { type: 'json' } - -/** - * Build configuration options. - * - * @const {Config} config - */ -const config: Config = defineBuildConfig({ - charset: 'utf8', - entries: [ - { dts: 'only', ignore: ['cli/**'] }, - { - dts: false, - pattern: [ - '!plugins/**/options.ts', - '*.ts', - 'config/**', - 'internal/**', - 'plugins/**', - 'utils/**' - ], - sourcemap: true - }, - { - alias: { - '@flex-development/errnode': '@flex-development/errnode', - '@flex-development/mlly': '@flex-development/mlly', - '@flex-development/pathe': '@flex-development/pathe', - '@flex-development/tutils': '@flex-development/tutils', - dequal: 'dequal', - iterare: 'iterare', - lodash: 'lodash-es', - tslib: 'tslib', - uid: 'uid' - }, - bundle: true, - external: [ - '@babel/*', - '@nestjs/microservices', - '@nestjs/platform-express', - '@nestjs/websockets/socket-module', - 'cache-manager', - 'class-transformer', - 'class-validator', - 'node-fetch' - ], - minify: true, - name: 'cli', - platform: 'node', - source: 'src/cli/index.ts', - sourcemap: true, - sourcesContent: false - } - ], - keepNames: true, - minifySyntax: true, - sourceRoot: 'file' + pathe.delimiter + pathe.sep.repeat(2), - target: [ - 'node' + at(/([\d.]+)/.exec(pkg.engines.node), 0, ''), - tsconfig.compilerOptions.target - ], - tsconfig: 'tsconfig.build.json' -}) - -export default config diff --git a/dprint/prettier.mjs b/dprint/prettier.mts similarity index 61% rename from dprint/prettier.mjs rename to dprint/prettier.mts index 711ad8e7..91d3e7c3 100644 --- a/dprint/prettier.mjs +++ b/dprint/prettier.mts @@ -3,11 +3,18 @@ * @module dprint/prettier */ -import { includes } from '@flex-development/tutils' +import { ok } from 'devlop' import editorconfig from 'editorconfig' import { Transform } from 'node:stream' import * as prettier from 'prettier' +declare module 'editorconfig' { + interface KnownProps { + max_line_length?: number | undefined + single_attribute_per_line?: boolean | undefined + } +} + process.stdin.pipe(new Transform({ /** * Formats a file using `prettier`. @@ -16,11 +23,14 @@ process.stdin.pipe(new Transform({ * * @async * - * @param {Buffer} buffer - Data buffer - * @return {Promise<string>} Formatted file content + * @param {Buffer} buffer + * Data buffer + * @return {Promise<string>} + * Formatted file content */ - async transform(buffer) { + async transform(buffer: Buffer): Promise<string> { const [filepath] = process.argv.slice(2) + ok(typeof filepath === 'string', 'expected `filepath`') const { end_of_line = 'lf', @@ -28,6 +38,7 @@ process.stdin.pipe(new Transform({ indent_style = 'space', max_line_length = 80, quote_type = 'single', + single_attribute_per_line = false, spaces_around_brackets = 'inside', tab_width = 2 } = await editorconfig.parse(filepath) @@ -35,10 +46,9 @@ process.stdin.pipe(new Transform({ /** * Formatted text. * - * @type {string} - * @const text + * @const {string} text */ - const text = await prettier.format(buffer.toString(), { + const text: string = await prettier.format(buffer.toString(), { arrowParens: 'avoid', bracketSpacing: spaces_around_brackets === 'inside', endOfLine: end_of_line === 'unset' ? 'auto' : end_of_line, @@ -48,14 +58,13 @@ process.stdin.pipe(new Transform({ proseWrap: 'always', quoteProps: 'as-needed', semi: false, - singleAttributePerLine: true, + singleAttributePerLine: single_attribute_per_line, singleQuote: quote_type === 'single', tabWidth: tab_width === 'unset' ? 2 : tab_width, trailingComma: 'none', - useTabs: includes([indent_size, indent_style], 'tab') + useTabs: [indent_size, indent_style].includes('tab') }) - process.stdout.write(text) - return text + return process.stdout.write(text), text } })) diff --git a/dprint/remark.mts b/dprint/remark.mts new file mode 100644 index 00000000..8e8edf59 --- /dev/null +++ b/dprint/remark.mts @@ -0,0 +1,46 @@ +/** + * @file dprint - remark + * @module dprint/remark + */ + +import { ok } from 'devlop' +import { Transform } from 'node:stream' +import remarkParse from 'remark-parse' +import remarkStringify from 'remark-stringify' +import { unified } from 'unified' +import { VFile } from 'vfile' +import remarkPreset from '../.remarkrc.mjs' + +process.stdin.pipe(new Transform({ + /** + * Formats a file using `remark`. + * + * @see https://github.com/remarkjs/remark + * + * @async + * + * @param {Buffer} buffer + * Data buffer + * @return {Promise<string>} + * Formatted file content + */ + async transform(buffer: Buffer): Promise<string> { + /** + * Virtual file. + * + * @const {VFile} file + */ + const file: VFile = new VFile(buffer.toString()) + + file.path = process.argv.slice(2)[0]! + + await unified() + .use(remarkParse) + .use(remarkPreset) + .use(remarkStringify) + .process(file) + + ok(typeof file.value === 'string', 'expected `file.value` to be a string') + return process.stdout.write(file.value), file.value + } +})) diff --git a/dprint/shfmt.mjs b/dprint/shfmt.mts similarity index 54% rename from dprint/shfmt.mjs rename to dprint/shfmt.mts index 553ca2ca..df3b6c20 100644 --- a/dprint/shfmt.mjs +++ b/dprint/shfmt.mts @@ -3,11 +3,23 @@ * @module dprint/shfmt */ -import * as tutils from '@flex-development/tutils' +import { ok } from 'devlop' import editorconfig from 'editorconfig' import { Transform } from 'node:stream' import * as sh from 'sh-syntax' +declare module 'editorconfig' { + interface KnownProps { + binary_next_line?: boolean | undefined + function_next_line?: boolean | undefined + keep_comments?: boolean | undefined + keep_padding?: boolean | undefined + shell_variant?: sh.LangVariant | undefined + space_redirects?: boolean | undefined + switch_case_indent?: boolean | undefined + } +} + process.stdin.pipe(new Transform({ /** * Formats a file using `sh-syntax`. @@ -17,11 +29,14 @@ process.stdin.pipe(new Transform({ * * @async * - * @param {Buffer} buffer - Data buffer - * @return {Promise<string>} Formatted file content + * @param {Buffer} buffer + * Data buffer + * @return {Promise<string>} + * Formatted file content */ - async transform(buffer) { + async transform(buffer: Buffer): Promise<string> { const [filepath] = process.argv.slice(2) + ok(typeof filepath === 'string', 'expected `filepath`') const { binary_next_line = true, @@ -39,49 +54,44 @@ process.stdin.pipe(new Transform({ /** * Shell formatting options. * - * @type {tutils.Shake<Required<Omit<sh.ShOptions,'stopAt'>>>} - * @const opts + * @const {sh.ShOptions} options */ - const opts = tutils.shake({ + const options: sh.ShOptions = { binaryNextLine: binary_next_line, filepath, functionNextLine: function_next_line, - indent: indent_size, + indent: typeof indent_size === 'string' ? 2 : indent_size, keepComments: keep_comments, keepPadding: keep_padding, minify: false, spaceRedirects: space_redirects, switchCaseIndent: switch_case_indent, - tabWidth: tab_width, + tabWidth: tab_width === 'unset' ? 2 : tab_width, useTabs: indent_style === 'tab', variant: shell_variant - }) + } /** * Text to format. * - * @type {string} - * @const originalText + * @const {string} originalText */ - const originalText = buffer.toString() + const originalText: string = buffer.toString() /** * Formatted text AST. * - * @type {sh.File} - * @const ast + * @const {sh.File} ast */ - const ast = await sh.parse(originalText, opts) + const ast: sh.File = await sh.parse(originalText, options) /** * Formatted text. * - * @type {string} - * @const text + * @const {string} text */ - const text = await sh.print(ast, { ...opts, originalText }) + const text: string = await sh.print(ast, { ...options, originalText }) - process.stdout.write(text) - return text + return process.stdout.write(text), text } })) diff --git a/eslint.base.config.mjs b/eslint.base.config.mjs new file mode 100644 index 00000000..1033df69 --- /dev/null +++ b/eslint.base.config.mjs @@ -0,0 +1,1437 @@ +/** + * @file ESLint Configuration - Base + * @module config/eslint/base + * @see https://eslint.org/docs/user-guide/configuring + */ + +import eslint from '@eslint/js' +import globals from 'globals' +import fs from 'node:fs' +import ts from 'typescript-eslint' +import pkg from './package.json' with { type: 'json' } + +/** + * @typedef {import('eslint').ESLint.Plugin} Plugin + * @typedef {import('eslint').Linter.Config} Config + * @typedef {import('eslint').Linter.Parser} Parser + * @typedef {import('eslint').Linter.SourceType} SourceType + */ + +/** + * Load a plugin. + * + * @async + * + * @param {string} name + * Plugin module name + * @return {Promise<Plugin>} + * Eslint plugin + */ +const plugin = async name => (await import(name)).default + +/** + * Eslint configuration objects. + * + * @type {Config[]} + */ +export default [ + eslint.configs.recommended, + { + languageOptions: { + ecmaVersion: 'latest', + parserOptions: { + ecmaFeatures: { + impliedStrict: true, + jsx: true + } + }, + sourceType: /** @type {SourceType} */ (pkg.type) + }, + linterOptions: { + reportUnusedDisableDirectives: true + }, + settings: { + 'import/parsers': { + '@typescript-eslint/parser': ['.cts', '.mts', '.ts', '.tsx'] + }, + 'import/resolver': { + node: true, + typescript: true + }, + jsdoc: { + augmentsExtendsReplacesDocs: true, + ignoreInternal: false, + ignorePrivate: false, + implementsReplacesDocs: true, + mode: 'typescript', + overrideReplacesDocs: true, + preferredTypes: { + '*': false, + '.<>': false, + 'Array<>': { replacement: '[]' }, + Object: { replacement: 'object' }, + 'Object<>': { replacement: 'Record<>' }, + object: 'object' + }, + structuredTags: { + category: { + name: 'namepath-referencing', + required: ['name'], + type: false + }, + const: { + name: 'namepath-defining', + required: ['name'] + }, + decorator: { + name: 'none' + }, + enum: { + name: 'namepath-defining', + required: ['name', 'type'] + }, + experimental: { + name: false, + type: false + }, + extends: { + name: 'namepath-defining', + required: ['type'] + }, + fires: { + required: ['name'] + }, + implements: { + name: 'namepath-defining', + required: ['type'] + }, + maximum: { + name: 'text', + required: ['name'] + }, + member: { + name: 'namepath-defining', + required: ['name', 'type'] + }, + minimum: { + name: 'text', + required: ['name'] + }, + next: { + name: 'namepath-defining', + required: ['type'] + }, + packageManager: { + name: 'text', + required: ['name'] + }, + param: { + name: 'namepath-defining', + required: ['name', 'type'] + }, + return: { + name: 'namepath-defining', + required: ['type'] + }, + throws: { + name: 'namepath-defining', + required: ['type'] + }, + type: { + name: 'namepath-defining', + required: ['type'] + }, + var: { + name: 'namepath-defining', + required: ['name'] + }, + visibleName: { + required: ['name'] + }, + yield: { + name: 'namepath-defining', + required: ['type'] + } + }, + tagNamePreference: { + augments: 'extends', + constant: 'const', + fileoverview: 'file', + member: 'member', + returns: 'return', + var: 'var', + yields: 'yield' + } + } + } + }, + { + files: ['**/*.+(cjs|cts|js|jsx|mjs|mts|ts|tsx)'], + languageOptions: { + globals: { + ...globals.es2024, + ...globals.node, + Chai: 'readonly', + Console: 'readonly', + NodeJS: 'readonly', + React: fs.existsSync('node_modules/react') ? 'readonly' : false + }, + parser: /** @type {Parser} */ (ts.parser), + parserOptions: { + extraFileExtensions: [], + program: null, + project: null, + tsconfigRootDir: import.meta.dirname, + warnOnUnsupportedTypeScriptVersion: true + } + }, + plugins: { + '@stylistic': await plugin('@stylistic/eslint-plugin'), + '@typescript-eslint': /** @type {Plugin} */ (ts.plugin), + import: await plugin('eslint-plugin-import'), + jsdoc: await plugin('eslint-plugin-jsdoc'), + node: await plugin('eslint-plugin-n'), + promise: await plugin('eslint-plugin-promise'), + unicorn: await plugin('eslint-plugin-unicorn') + }, + rules: { + '@stylistic/lines-between-class-members': [ + 2, + 'always', + { + exceptAfterOverload: true, + exceptAfterSingleLine: false + } + ], + '@stylistic/quotes': [ + 2, + 'single', + { + allowTemplateLiterals: true, + avoidEscape: true + } + ], + '@typescript-eslint/adjacent-overload-signatures': 2, + '@typescript-eslint/array-type': [ + 2, + { + default: 'array', + readonly: 'array' + } + ], + '@typescript-eslint/ban-ts-comment': [ + 2, + { + minimumDescriptionLength: 3, + 'ts-expect-error': 'allow-with-description', + 'ts-ignore': 'allow-with-description', + 'ts-nocheck': 'allow-with-description' + } + ], + '@typescript-eslint/ban-tslint-comment': 2, + '@typescript-eslint/class-literal-property-style': [2, 'getters'], + '@typescript-eslint/class-methods-use-this': 0, + '@typescript-eslint/consistent-generic-constructors': [ + 2, + 'type-annotation' + ], + '@typescript-eslint/consistent-indexed-object-style': 0, + '@typescript-eslint/consistent-type-assertions': 0, + '@typescript-eslint/consistent-type-definitions': 0, + '@typescript-eslint/consistent-type-imports': 0, + '@typescript-eslint/default-param-last': 2, + '@typescript-eslint/explicit-function-return-type': 0, + '@typescript-eslint/explicit-module-boundary-types': 0, + '@typescript-eslint/init-declarations': 0, + '@typescript-eslint/max-params': 0, + '@typescript-eslint/member-ordering': [ + 2, + { + default: { + memberTypes: [ + 'static-field', + 'instance-field', + 'signature', + 'call-signature', + 'public-constructor', + 'protected-constructor', + 'private-constructor', + 'static-initialization', + 'static-get', + 'static-set', + 'static-method', + ['instance-get', 'instance-set'], + 'instance-method' + ], + order: 'alphabetically' + } + } + ], + '@typescript-eslint/method-signature-style': [2, 'method'], + '@typescript-eslint/no-confusing-non-null-assertion': 0, + '@typescript-eslint/no-dupe-class-members': 2, + '@typescript-eslint/no-dynamic-delete': 0, + '@typescript-eslint/no-empty-function': [ + 2, + { + allow: ['constructors', 'decoratedFunctions'] + } + ], + '@typescript-eslint/no-empty-object-type': [ + 2, + { + allowInterfaces: 'always' + } + ], + '@typescript-eslint/no-explicit-any': 0, + '@typescript-eslint/no-extra-non-null-assertion': 2, + '@typescript-eslint/no-extraneous-class': [ + 2, + { + allowConstructorOnly: false, + allowEmpty: true, + allowStaticOnly: true, + allowWithDecorator: true + } + ], + '@typescript-eslint/no-import-type-side-effects': 0, + '@typescript-eslint/no-inferrable-types': 0, + '@typescript-eslint/no-invalid-this': [2, { capIsConstructor: true }], + '@typescript-eslint/no-invalid-void-type': [ + 2, + { + allowAsThisParameter: true, + allowInGenericTypeArguments: true + } + ], + '@typescript-eslint/no-loop-func': 2, + '@typescript-eslint/no-loss-of-precision': 2, + '@typescript-eslint/no-magic-numbers': 0, + '@typescript-eslint/no-misused-new': 2, + '@typescript-eslint/no-namespace': 0, + '@typescript-eslint/no-non-null-asserted-nullish-coalescing': 2, + '@typescript-eslint/no-non-null-asserted-optional-chain': 0, + '@typescript-eslint/no-non-null-assertion': 0, + '@typescript-eslint/no-redeclare': 0, + '@typescript-eslint/no-require-imports': 2, + '@typescript-eslint/no-restricted-imports': 0, + '@typescript-eslint/no-shadow': 0, + '@typescript-eslint/no-this-alias': [ + 2, + { + allowDestructuring: false, + allowedNames: ['self'] + } + ], + '@typescript-eslint/no-unnecessary-type-constraint': 2, + '@typescript-eslint/no-unsafe-declaration-merging': 2, + // '@typescript-eslint/no-unsafe-function-type': 2, + '@typescript-eslint/no-unused-expressions': [ + 2, + { + allowShortCircuit: true, + allowTaggedTemplates: true, + allowTernary: true, + enforceForJSX: true + } + ], + '@typescript-eslint/no-unused-vars': [ + 2, + { + args: 'after-used', + caughtErrors: 'all', + ignoreRestSiblings: false, + vars: 'all' + } + ], + '@typescript-eslint/no-use-before-define': [ + 2, + { + allowNamedExports: true, + classes: true, + enums: true, + functions: false, + ignoreTypeReferences: true, + typedefs: true, + variables: true + } + ], + '@typescript-eslint/no-useless-constructor': 2, + '@typescript-eslint/no-useless-empty-export': 2, + // '@typescript-eslint/no-wrapper-object-types': 2, + '@typescript-eslint/parameter-properties': 0, + '@typescript-eslint/prefer-as-const': 2, + '@typescript-eslint/prefer-enum-initializers': 0, + '@typescript-eslint/prefer-for-of': 2, + '@typescript-eslint/prefer-function-type': 0, + '@typescript-eslint/prefer-literal-enum-member': [ + 2, + { + allowBitwiseExpressions: true + } + ], + '@typescript-eslint/prefer-namespace-keyword': 2, + '@typescript-eslint/triple-slash-reference': [ + 2, + { + lib: 'never', + path: 'never', + types: 'prefer-import' + } + ], + '@typescript-eslint/typedef': 0, + '@typescript-eslint/unified-signatures': 2, + 'class-methods-use-this': 0, + 'default-param-last': 0, + eqeqeq: 1, + 'import/no-duplicates': [ + 2, + { + considerQueryString: true, + 'prefer-inline': true + } + ], + 'init-declarations': 0, + 'jsdoc/check-access': 1, + 'jsdoc/check-alignment': 1, + 'jsdoc/check-examples': 0, + // https://github.com/gajus/eslint-plugin-jsdoc/issues/541 + 'jsdoc/check-indentation': 0, + 'jsdoc/check-line-alignment': [ + 1, + 'never', + { + customSpacings: { + postDelimiter: 1, + postHyphen: 1, + postName: 1, + postTag: 1, + postType: 1 + }, + tags: [ + 'param', + 'property', + 'return', + 'template', + 'throws', + 'typeParam' + ], + wrapIndent: ' ' + } + ], + 'jsdoc/check-param-names': [ + 1, + { + allowExtraTrailingParamDocs: false, + checkDestructured: true, + checkRestProperty: true, + disableExtraPropertyReporting: true, + enableFixer: true + } + ], + 'jsdoc/check-property-names': [1, { enableFixer: true }], + 'jsdoc/check-syntax': 1, + 'jsdoc/check-tag-names': [ + 1, + { + definedTags: [ + 'decorator', + 'experimental', + 'maximum', + 'minimum', + 'next', + 'packageManager', + 'visibleName' + ], + jsxTags: false + } + ], + 'jsdoc/check-types': [1, { unifyParentAndChildTypeChecks: true }], + 'jsdoc/check-values': 1, + 'jsdoc/empty-tags': 1, + 'jsdoc/implements-on-classes': 1, + 'jsdoc/match-description': 0, + 'jsdoc/match-name': 0, + 'jsdoc/multiline-blocks': 1, + 'jsdoc/no-bad-blocks': [1, { preventAllMultiAsteriskBlocks: true }], + 'jsdoc/no-defaults': 0, + 'jsdoc/no-missing-syntax': 0, + 'jsdoc/no-multi-asterisks': [ + 1, + { + allowWhitespace: true, + preventAtEnd: true, + preventAtMiddleLines: true + } + ], + 'jsdoc/no-restricted-syntax': 0, + 'jsdoc/no-types': 0, + 'jsdoc/no-undefined-types': [1, { + definedTypes: ['never', 'unknown'], + // https://github.com/gajus/eslint-plugin-jsdoc/issues/1119 + // this rule would be nice to use to check property name changes, but + // it does not work properly. reporting is disabled for now, but in + // the future, some eslint-plugin-jsdoc usage may need to be replaced + // with a docast-based plugin. + disableReporting: true, + markVariablesAsUsed: true + }], + 'jsdoc/require-asterisk-prefix': [1, 'always'], + 'jsdoc/require-description': [ + 1, + { + checkConstructors: true, + checkGetters: true, + checkSetters: true, + contexts: [ + 'ClassDeclaration', + 'MethodDefinition', + 'PropertyDefinition', + 'TSInterfaceDeclaration', + 'TSMethodSignature', + 'VariableDeclaration' + ], + descriptionStyle: 'body' + } + ], + 'jsdoc/require-description-complete-sentence': 0, + 'jsdoc/require-example': 0, + 'jsdoc/require-file-overview': [ + 1, + { + tags: { + file: { + initialCommentsOnly: true, + mustExist: true, + preventDuplicates: true + }, + module: { + initialCommentsOnly: true, + mustExist: true, + preventDuplicates: true + } + } + } + ], + 'jsdoc/require-hyphen-before-param-description': 0, + 'jsdoc/require-jsdoc': [ + 1, + { + checkConstructors: true, + checkGetters: true, + checkSetters: true, + contexts: [ + 'PropertyDefinition', + 'TSDeclareFunction:not(TSDeclareFunction + TSDeclareFunction)', + 'TSMethodSignature', + 'FunctionDeclaration:not(TSDeclareFunction + FunctionDeclaration)' + ], + enableFixer: true, + exemptEmptyConstructors: false, + exemptEmptyFunctions: false, + require: { + ArrowFunctionExpression: false, + ClassDeclaration: true, + ClassExpression: true, + FunctionDeclaration: true, + FunctionExpression: true, + MethodDefinition: true + } + } + ], + 'jsdoc/require-param': [ + 1, + { + autoIncrementBase: 0, + checkConstructors: true, + checkDestructured: true, + checkDestructuredRoots: true, + checkGetters: true, + checkRestProperty: true, + checkSetters: true, + enableFixer: true, + enableRestElementFixer: true, + enableRootFixer: true, + exemptedBy: ['inheritdoc', 'this'], + unnamedRootBase: ['param'], + useDefaultObjectProperties: true + } + ], + 'jsdoc/require-param-description': 1, + 'jsdoc/require-param-name': 1, + 'jsdoc/require-param-type': 1, + 'jsdoc/require-property': 1, + 'jsdoc/require-property-description': 1, + 'jsdoc/require-property-name': 1, + 'jsdoc/require-property-type': 1, + 'jsdoc/require-returns': [ + 1, + { + checkConstructors: false, + checkGetters: true, + forceRequireReturn: true, + forceReturnsWithAsync: true + } + ], + 'jsdoc/require-returns-check': [ + 1, + { + exemptAsync: false, + exemptGenerators: true, + reportMissingReturnForUndefinedTypes: true + } + ], + 'jsdoc/require-returns-description': 1, + 'jsdoc/require-returns-type': 1, + 'jsdoc/require-throws': 1, + 'jsdoc/require-yields': [ + 1, + { + forceRequireNext: true, + forceRequireYields: true, + next: true, + nextWithGeneratorTag: true, + withGeneratorTag: true + } + ], + 'jsdoc/require-yields-check': [ + 1, + { + checkGeneratorsOnly: true, + next: true + } + ], + 'jsdoc/sort-tags': 0, + 'jsdoc/tag-lines': [ + 1, + 'any', + { + applyToEndTag: true, + count: 1, + endLines: 0, + startLines: 1, + tags: {} + } + ], + 'jsdoc/valid-types': [1, { allowEmptyNamepaths: true }], + 'lines-between-class-members': 0, + 'max-params': 0, + 'no-array-constructor': 0, + 'no-case-declarations': 0, + 'no-constant-condition': 2, + 'no-dupe-class-members': 0, + 'no-duplicate-imports': 0, + 'no-empty': [2, { allowEmptyCatch: true }], + 'no-empty-function': 0, + 'no-ex-assign': 0, + 'no-extra-parens': 0, + 'no-extra-semi': 0, + 'no-invalid-this': 0, + 'no-loop-func': 0, + 'no-loss-of-precision': 0, + 'no-magic-numbers': 0, + 'no-redeclare': 0, + 'no-restricted-imports': 0, + 'no-return-await': 0, + 'no-shadow': 0, + 'no-sparse-arrays': 0, + 'no-throw-literal': 0, + 'no-unused-expressions': 0, + 'no-unused-vars': 0, + 'no-use-before-define': 0, + 'no-useless-constructor': 0, + 'no-warning-comments': 0, + 'node/callback-return': [2, ['callback', 'cb', 'done', 'next']], + 'node/exports-style': [2, 'module.exports', { allowBatchAssign: true }], + 'node/file-extension-in-import': 0, + 'node/global-require': 0, + 'node/handle-callback-err': [2, '^(err|error)$'], + 'node/no-callback-literal': 2, + 'node/no-deprecated-api': 2, + 'node/no-exports-assign': 2, + 'node/no-extraneous-import': 0, + 'node/no-extraneous-require': 0, + 'node/no-missing-import': 0, + 'node/no-new-require': 2, + 'node/no-path-concat': 2, + 'node/no-process-env': 0, + 'node/no-process-exit': 0, + 'node/no-unpublished-bin': 0, + 'node/no-unpublished-import': 0, + 'node/no-unpublished-require': 0, + 'node/no-unsupported-features/es-builtins': 2, + 'node/no-unsupported-features/es-syntax': 0, + 'node/no-unsupported-features/node-builtins': [ + 2, + { + allowExperimental: true + } + ], + 'node/prefer-global/buffer': 2, + 'node/prefer-global/console': 2, + 'node/prefer-global/process': 2, + 'node/prefer-global/text-decoder': 2, + 'node/prefer-global/text-encoder': 2, + 'node/prefer-global/url': 0, + 'node/prefer-global/url-search-params': 2, + 'node/prefer-promises/dns': 2, + 'node/prefer-promises/fs': 2, + 'node/process-exit-as-throw': 2, + 'node/shebang': 0, + 'padding-line-between-statements': 0, + 'prefer-arrow-callback': 0, + 'promise/always-return': 2, + 'promise/avoid-new': 0, + 'promise/catch-or-return': [2, { allowFinally: true, allowThen: true }], + 'promise/no-callback-in-promise': 2, + 'promise/no-native': 0, + 'promise/no-nesting': 2, + 'promise/no-new-statics': 2, + 'promise/no-promise-in-callback': 2, + 'promise/no-return-in-finally': 2, + 'promise/no-return-wrap': [2, { allowReject: false }], + 'promise/param-names': 2, + 'promise/prefer-await-to-callbacks': 1, + 'promise/prefer-await-to-then': 2, + 'promise/valid-params': 2, + quotes: 0, + 'sort-keys': [ + 2, + 'asc', + { + caseSensitive: true, + minKeys: 2, + natural: true + } + ], + 'unicorn/better-regex': [2, { sortCharacterClasses: true }], + 'unicorn/catch-error-name': [2, { name: 'e' }], + 'unicorn/consistent-destructuring': 2, + 'unicorn/custom-error-definition': 2, + 'unicorn/empty-brace-spaces': 2, + 'unicorn/error-message': 2, + 'unicorn/escape-case': 2, + 'unicorn/expiring-todo-comments': [ + 2, + { + allowWarningComments: true, + ignore: [], + ignoreDatesOnPullRequests: true, + terms: ['@fixme', '@todo'] + } + ], + 'unicorn/explicit-length-check': 0, + 'unicorn/filename-case': [ + 2, + { + cases: { kebabCase: true }, + ignore: [] + } + ], + 'unicorn/import-index': 2, + 'unicorn/import-style': [2, { styles: {} }], + 'unicorn/new-for-builtins': 2, + 'unicorn/no-abusive-eslint-disable': 2, + 'unicorn/no-array-callback-reference': 0, + 'unicorn/no-array-for-each': 2, + 'unicorn/no-array-method-this-argument': 2, + 'unicorn/no-array-push-push': 0, + 'unicorn/no-array-reduce': 0, + 'unicorn/no-await-expression-member': 0, + 'unicorn/no-console-spaces': 2, + 'unicorn/no-empty-file': 2, + 'unicorn/no-for-loop': 0, + 'unicorn/no-hex-escape': 2, + 'unicorn/no-instanceof-array': 2, + 'unicorn/no-keyword-prefix': [ + 2, + { + checkProperties: false, + disallowedPrefixes: ['class', 'new'], + onlyCamelCase: true + } + ], + 'unicorn/no-lonely-if': 0, + 'unicorn/no-nested-ternary': 0, + 'unicorn/no-new-array': 2, + 'unicorn/no-new-buffer': 2, + 'unicorn/no-null': 0, + 'unicorn/no-object-as-default-parameter': 2, + 'unicorn/no-process-exit': 2, + 'unicorn/no-static-only-class': 0, + 'unicorn/no-thenable': 2, + 'unicorn/no-this-assignment': 2, + 'unicorn/no-unreadable-array-destructuring': 0, + 'unicorn/no-unsafe-regex': 0, + 'unicorn/no-unused-properties': 2, + 'unicorn/no-useless-fallback-in-spread': 2, + 'unicorn/no-useless-length-check': 2, + 'unicorn/no-useless-promise-resolve-reject': 2, + 'unicorn/no-useless-spread': 2, + 'unicorn/no-useless-undefined': 0, + 'unicorn/no-zero-fractions': 2, + 'unicorn/number-literal-case': 0, + // https://github.com/sindresorhus/eslint-plugin-unicorn/issues/2003 + 'unicorn/numeric-separators-style': 0, + 'unicorn/prefer-add-event-listener': 2, + 'unicorn/prefer-array-find': 2, + 'unicorn/prefer-array-flat': [2, { functions: [] }], + 'unicorn/prefer-array-flat-map': 2, + 'unicorn/prefer-array-index-of': 2, + 'unicorn/prefer-array-some': 2, + 'unicorn/prefer-at': 0, + 'unicorn/prefer-code-point': 2, + 'unicorn/prefer-date-now': 2, + 'unicorn/prefer-default-parameters': 2, + 'unicorn/prefer-export-from': [2, { ignoreUsedVariables: true }], + 'unicorn/prefer-includes': 2, + 'unicorn/prefer-json-parse-buffer': 0, + 'unicorn/prefer-math-trunc': 0, + 'unicorn/prefer-module': 2, + 'unicorn/prefer-negative-index': 2, + 'unicorn/prefer-node-protocol': 2, + 'unicorn/prefer-number-properties': 2, + 'unicorn/prefer-object-from-entries': [2, { functions: [] }], + 'unicorn/prefer-optional-catch-binding': 2, + 'unicorn/prefer-prototype-methods': 2, + 'unicorn/prefer-reflect-apply': 2, + 'unicorn/prefer-regexp-test': 0, + 'unicorn/prefer-set-has': 2, + 'unicorn/prefer-spread': 2, + 'unicorn/prefer-string-replace-all': 0, + 'unicorn/prefer-string-slice': 2, + 'unicorn/prefer-string-starts-ends-with': 2, + 'unicorn/prefer-string-trim-start-end': 2, + 'unicorn/prefer-switch': 2, + 'unicorn/prefer-ternary': 2, + 'unicorn/prefer-top-level-await': 0, + 'unicorn/prefer-type-error': 2, + 'unicorn/prevent-abbreviations': 0, + 'unicorn/relative-url-style': [2, 'never'], + 'unicorn/require-array-join-separator': 2, + 'unicorn/require-number-to-fixed-digits-argument': 2, + 'unicorn/string-content': [2, { patterns: {} }], + 'unicorn/template-indent': [2, { indent: 2 }], + 'unicorn/text-encoding-identifier-case': 2, + 'unicorn/throw-new-error': 2 + } + }, + { + files: ['**/*.+(cts|mts|ts|tsx)'], + ignores: ['**/*.{md,mdx}/*.+(cts|mts|ts|tsx)'], + languageOptions: { + parserOptions: { + project: ['./tsconfig.json', './tsconfig.typecheck.json'], + tsconfigRootDir: import.meta.dirname + } + }, + rules: { + '@typescript-eslint/await-thenable': 2, + '@typescript-eslint/consistent-return': 0, + '@typescript-eslint/consistent-type-exports': [ + 2, + { + fixMixedExportsWithInlineTypeSpecifier: true + } + ], + '@typescript-eslint/dot-notation': [ + 2, + { + allowIndexSignaturePropertyAccess: false, + allowKeywords: true, + allowPattern: undefined, + allowPrivateClassPropertyAccess: false, + allowProtectedClassPropertyAccess: false + } + ], + '@typescript-eslint/explicit-member-accessibility': [ + 2, + { + accessibility: 'explicit', + overrides: { + constructors: 'no-public' + } + } + ], + '@typescript-eslint/explicit-module-boundary-types': [ + 2, + { + allowArgumentsExplicitlyTypedAsAny: true, + allowDirectConstAssertionInArrowFunctions: true, + allowHigherOrderFunctions: false, + allowTypedFunctionExpressions: false, + allowedNames: [] + } + ], + '@typescript-eslint/naming-convention': 0, + '@typescript-eslint/no-array-delete': 0, + '@typescript-eslint/no-base-to-string': [ + 2, + { + ignoredTypeNames: [ + 'Error', + 'RegExp', + 'SemVer', + 'URL', + 'URLSearchParams' + ] + } + ], + '@typescript-eslint/no-confusing-void-expression': [ + 2, + { + ignoreArrowShorthand: true, + ignoreVoidOperator: true + } + ], + '@typescript-eslint/no-duplicate-type-constituents': 0, + '@typescript-eslint/no-floating-promises': [ + 2, + { + ignoreIIFE: false, + ignoreVoid: true + } + ], + '@typescript-eslint/no-for-in-array': 2, + '@typescript-eslint/no-implied-eval': 2, + '@typescript-eslint/no-meaningless-void-operator': 0, + '@typescript-eslint/no-misused-promises': [ + 2, + { + checksConditionals: true, + checksVoidReturn: true + } + ], + '@typescript-eslint/no-mixed-enums': 0, + '@typescript-eslint/no-redundant-type-constituents': 2, + '@typescript-eslint/no-unnecessary-boolean-literal-compare': [ + 2, + { + allowComparingNullableBooleansToFalse: true, + allowComparingNullableBooleansToTrue: true + } + ], + '@typescript-eslint/no-unnecessary-condition': [ + 2, + { + allowConstantLoopConditions: true, + allowRuleToRunWithoutStrictNullChecksIKnowWhatIAmDoing: false + } + ], + '@typescript-eslint/no-unnecessary-qualifier': 2, + '@typescript-eslint/no-unnecessary-template-expression': 0, + '@typescript-eslint/no-unnecessary-type-arguments': 2, + '@typescript-eslint/no-unnecessary-type-assertion': [ + 2, + { + typesToIgnore: [] + } + ], + '@typescript-eslint/no-unnecessary-type-constraint': 2, + '@typescript-eslint/no-unsafe-argument': 2, + '@typescript-eslint/no-unsafe-assignment': 0, + '@typescript-eslint/no-unsafe-call': 2, + '@typescript-eslint/no-unsafe-enum-comparison': 0, + '@typescript-eslint/no-unsafe-member-access': 2, + '@typescript-eslint/no-unsafe-return': 2, + '@typescript-eslint/no-unsafe-unary-minus': 0, + '@typescript-eslint/non-nullable-type-assertion-style': 2, + '@typescript-eslint/only-throw-error': 2, + '@typescript-eslint/prefer-destructuring': 0, + '@typescript-eslint/prefer-find': 0, + '@typescript-eslint/prefer-includes': 0, + '@typescript-eslint/prefer-nullish-coalescing': [ + 2, + { + ignoreConditionalTests: true, + ignoreMixedLogicalExpressions: true, + ignorePrimitives: { boolean: true, string: true } + } + ], + '@typescript-eslint/prefer-optional-chain': 2, + '@typescript-eslint/prefer-promise-reject-errors': 2, + '@typescript-eslint/prefer-readonly': 2, + '@typescript-eslint/prefer-readonly-parameter-types': 0, + '@typescript-eslint/prefer-reduce-type-parameter': 2, + '@typescript-eslint/prefer-regexp-exec': 2, + '@typescript-eslint/prefer-return-this-type': 0, + '@typescript-eslint/prefer-string-starts-ends-with': [ + 2, + { + allowSingleElementEquality: 'always' + } + ], + '@typescript-eslint/promise-function-async': 2, + '@typescript-eslint/require-array-sort-compare': 2, + '@typescript-eslint/require-await': 2, + '@typescript-eslint/restrict-plus-operands': [ + 2, + { + allowAny: false, + allowBoolean: false, + allowNullish: false, + allowNumberAndString: true, + allowRegExp: false, + skipCompoundAssignments: true + } + ], + '@typescript-eslint/restrict-template-expressions': [ + 2, + { + allowAny: false, + allowBoolean: true, + allowNullish: true, + allowNumber: true, + allowRegExp: true + } + ], + '@typescript-eslint/return-await': [2, 'in-try-catch'], + '@typescript-eslint/strict-boolean-expressions': 0, + '@typescript-eslint/switch-exhaustiveness-check': 2, + '@typescript-eslint/unbound-method': [2, { ignoreStatic: true }], + '@typescript-eslint/use-unknown-in-catch-callback-variable': 2, + 'consistent-return': 0, + 'dot-notation': 0, + 'no-implied-eval': 0, + 'prefer-destructuring': 0, + 'prefer-promise-reject-errors': 0, + 'require-await': 0 + } + }, + { + files: ['**/*.+(cjs|cts)'], + rules: { + '@typescript-eslint/no-require-imports': 0, + 'unicorn/prefer-module': 0 + } + }, + { + files: ['**/*.+(cts|mts)'], + rules: { + '@typescript-eslint/consistent-type-assertions': [ + 2, + { + assertionStyle: 'as' + } + ] + } + }, + { + files: ['**/*.d.+(cts|mts|ts)'], + rules: { + '@typescript-eslint/triple-slash-reference': 0, + 'jsdoc/no-undefined-types': 0, + 'jsdoc/require-file-overview': 0, + 'no-undef': 0, + 'no-var': 0, + 'unicorn/filename-case': 0, + 'unicorn/no-keyword-prefix': 0 + } + }, + { + files: ['**/*.abstract.+(mts|ts)'], + rules: { + '@typescript-eslint/no-useless-constructor': 0 + } + }, + { + files: [ + '**/*.interface.+(mts|ts)', + '**/interfaces/*.+(mts|ts)', + '**/types/*.+(mts|ts)' + ], + rules: { + '@typescript-eslint/no-invalid-void-type': 0 + } + }, + { + files: [ + '**/__mocks__/**/*.+(mts|ts|tsx)', + '**/__tests__/*.spec.+(mts|ts|tsx)', + '**/__tests__/*.spec-d.+(mts|ts)', + '**/__tests__/setup/*.+(mts|ts|tsx)', + '**/__tests__/utils/*.+(mts|ts|tsx)' + ], + languageOptions: { + globals: { + afterAll: true, + afterEach: true, + assert: true, + beforeAll: true, + beforeEach: true, + chai: true, + describe: true, + expect: true, + faker: fs.existsSync('node_modules/@faker-js/faker'), + it: true, + pf: fs.existsSync('node_modules/pretty-format'), + server: fs.existsSync('node_modules/msw'), + suite: true, + test: true, + vi: true, + vitest: true + } + }, + plugins: { + 'chai-expect': await plugin('eslint-plugin-chai-expect'), + 'jest-formatting': await plugin('eslint-plugin-jest-formatting') + }, + rules: { + '@typescript-eslint/class-literal-property-style': 0, + '@typescript-eslint/no-base-to-string': 0, + '@typescript-eslint/no-empty-function': 0, + '@typescript-eslint/no-invalid-void-type': 0, + '@typescript-eslint/no-unused-expressions': 0, + '@typescript-eslint/prefer-as-const': 0, + '@typescript-eslint/prefer-ts-expect-error': 0, + '@typescript-eslint/require-await': 0, + '@typescript-eslint/restrict-template-expressions': 0, + '@typescript-eslint/unbound-method': 0, + 'chai-expect/missing-assertion': 2, + 'chai-expect/no-inner-compare': 2, + 'chai-expect/no-inner-literal': 2, + 'chai-expect/terminating-properties': [2, { properties: [] }], + 'jest-formatting/padding-around-after-all-blocks': 1, + 'jest-formatting/padding-around-after-each-blocks': 1, + 'jest-formatting/padding-around-before-all-blocks': 1, + 'jest-formatting/padding-around-before-each-blocks': 1, + 'jest-formatting/padding-around-describe-blocks': 1, + 'jest-formatting/padding-around-expect-groups': 1, + 'jest-formatting/padding-around-test-blocks': 1, + 'jsdoc/require-jsdoc': 0, + 'no-control-regex': 0, + 'no-empty-pattern': 0, + 'promise/prefer-await-to-callbacks': 0, + 'promise/valid-params': 0, + 'unicorn/consistent-destructuring': 0, + 'unicorn/error-message': 0, + 'unicorn/no-array-for-each': 0, + 'unicorn/no-hex-escape': 0, + 'unicorn/no-useless-undefined': 0, + 'unicorn/prefer-at': 0, + 'unicorn/prefer-dom-node-append': 0, + 'unicorn/string-content': 0 + } + }, + { + files: ['**/__tests__/*.spec-d.+(mts|ts)'], + languageOptions: { + globals: { + assertType: true, + expectTypeOf: true + } + }, + rules: { + '@typescript-eslint/no-redundant-type-constituents': 0 + // '@typescript-eslint/no-unsafe-function-type': 0, + // '@typescript-eslint/no-wrapper-object-types': 0 + } + }, + { + files: ['**/cli/**/*.+(mts|ts)'], + rules: { + 'node/prefer-global/process': [2, 'never'], + 'unicorn/no-process-exit': 0 + } + }, + { + files: [ + '**/enums/*.+(mts|ts)', + '**/interfaces/*.+(mts|ts)', + '**/types/*.+(mts|ts)' + ], + rules: { + 'unicorn/no-keyword-prefix': 0 + } + }, + { + files: ['**/*.+(json|json5|jsonc)'], + ignores: [ + '**/__tests__/benchmark.json', + '**/__tests__/report.*', + '**/__tests__/typecheck.json', + '**/tsconfig*temp.json' + ], + languageOptions: { + parser: await import('jsonc-eslint-parser') + }, + plugins: { + jsonc: /** @type {any} */ ((await import('eslint-plugin-jsonc')).default) + }, + rules: { + 'jsonc/no-bigint-literals': 2, + 'jsonc/no-binary-expression': 2, + 'jsonc/no-binary-numeric-literals': 2, + 'jsonc/no-escape-sequence-in-identifier': 2, + 'jsonc/no-hexadecimal-numeric-literals': 2, + 'jsonc/no-infinity': 2, + 'jsonc/no-multi-str': 2, + 'jsonc/no-nan': 2, + 'jsonc/no-number-props': 2, + 'jsonc/no-numeric-separators': 2, + 'jsonc/no-octal': 0, + 'jsonc/no-octal-escape': 2, + 'jsonc/no-octal-numeric-literals': 2, + 'jsonc/no-parenthesized': 2, + 'jsonc/no-plus-sign': 2, + 'jsonc/no-regexp-literals': 2, + 'jsonc/no-sparse-arrays': 2, + 'jsonc/no-template-literals': 2, + 'jsonc/no-undefined-value': 2, + 'jsonc/no-unicode-codepoint-escapes': 2, + 'jsonc/no-useless-escape': 2, + 'jsonc/sort-array-values': [ + 2, + { + order: { caseSensitive: true, type: 'asc' }, + pathPattern: '^$' + } + ], + 'jsonc/sort-keys': [ + 2, + { + order: { caseSensitive: true, type: 'asc' }, + pathPattern: '^$' + } + ], + 'jsonc/valid-json-number': 2, + 'jsonc/vue-custom-block/no-parsing-error': 2 + } + }, + { + files: ['**/*.+(json5|jsonc)', 'tsconfig*.json'], + rules: { + 'jsonc/no-comments': 0 + } + }, + { + files: ['**/*.{md,mdx}'], + languageOptions: { + globals: { + React: false + }, + parser: (await import('eslint-mdx')).parser + }, + plugins: { + mdx: await plugin('eslint-plugin-mdx') + }, + processor: 'mdx/remark', + rules: { + 'mdx/remark': 1, + 'no-unused-expressions': 2, + 'react/react-in-jsx-scope': 0 + }, + settings: { + 'mdx/code-blocks': true + } + }, + { + files: ['**/*.{md,mdx}/*.+(cjs|cts|js|jsx|mdx|mjs|mts|ts|tsx)'], + languageOptions: { + parserOptions: { + program: null, + project: false + } + }, + rules: { + 'jsdoc/require-file-overview': 0, + strict: 0, + 'unicorn/filename-case': 0 + } + }, + { + files: ['**/package.json'], + rules: { + 'jsonc/sort-keys': [ + 2, + { + order: [ + 'name', + 'description', + 'version', + 'keywords', + 'license', + 'homepage', + 'repository', + 'bugs', + 'author', + 'contributors', + 'publishConfig', + 'type', + 'files', + 'exports', + 'main', + 'module', + 'types', + 'scripts', + 'dependencies', + 'devDependencies', + 'optionalDependencies', + 'peerDependencies', + 'resolutions', + 'engines', + 'packageManager', + 'readme' + ], + pathPattern: '^$' + } + ] + } + }, + { + files: ['**/*.+(yaml|yml)'], + languageOptions: { + parser: await import('yaml-eslint-parser') + }, + plugins: { + yml: /** @type {any} */ ((await import('eslint-plugin-yml')).default) + }, + rules: { + 'spaced-comment': 0, + 'yml/block-mapping': 2, + 'yml/block-mapping-question-indicator-newline': [2, 'never'], + 'yml/block-sequence': 2, + 'yml/block-sequence-hyphen-indicator-newline': [2, 'never'], + 'yml/flow-mapping-curly-newline': 2, + 'yml/flow-mapping-curly-spacing': [ + 2, + 'always', + { + arraysInObjects: false, + objectsInObjects: false + } + ], + 'yml/flow-sequence-bracket-newline': 2, + 'yml/flow-sequence-bracket-spacing': 2, + 'yml/indent': [2, 2], + 'yml/key-name-casing': [ + 2, + { + SCREAMING_SNAKE_CASE: true, + camelCase: false, + 'kebab-case': true, + snake_case: true + } + ], + 'yml/key-spacing': 2, + 'yml/no-empty-document': 0, + 'yml/no-empty-key': 2, + 'yml/no-empty-mapping-value': 0, + 'yml/no-empty-sequence-entry': 2, + 'yml/no-irregular-whitespace': 2, + 'yml/no-multiple-empty-lines': [2, { max: 2, maxBOF: 0, maxEOF: 1 }], + 'yml/no-tab-indent': 2, + 'yml/plain-scalar': [2, 'always'], + 'yml/quotes': [2, { avoidEscape: true, prefer: 'single' }], + 'yml/require-string-key': 2, + 'yml/sort-keys': [ + 2, + { + order: { caseSensitive: true, type: 'asc' }, + pathPattern: '^$' + } + ], + 'yml/sort-sequence-values': [ + 2, + { + order: { caseSensitive: true, type: 'asc' }, + pathPattern: '^$' + } + ], + 'yml/spaced-comment': 2 + } + }, + { + files: ['.github/ISSUE_TEMPLATE/*.yml'], + rules: { + 'yml/sort-keys': [ + 2, + { + order: [ + 'name', + 'description', + 'title', + 'assignees', + 'labels', + 'body' + ], + pathPattern: '^$' + } + ] + } + }, + { + files: ['.github/ISSUE_TEMPLATE/config.yml'], + rules: { + 'yml/sort-keys': [ + 2, + { + order: { caseSensitive: true, type: 'asc' }, + pathPattern: '^$' + } + ] + } + }, + { + files: ['.github/dependabot.yml'], + rules: { + 'yml/sort-keys': [ + 2, + { + order: ['version', 'registries', 'updates'], + pathPattern: '^$' + } + ] + } + }, + { + files: ['.github/workflows/*.yml'], + rules: { + 'yml/sort-keys': [ + 2, + { + order: ['name', 'on', 'permissions', 'env', 'concurrency', 'jobs'], + pathPattern: '^$' + } + ] + } + }, + { + files: ['.github/workflows/*.yml', '.yarnrc.yml', 'docker*.yml'], + rules: { + 'yml/key-name-casing': 0 + } + }, + { + files: ['.vscode/launch.json'], + rules: { + 'jsonc/sort-keys': 0 + } + }, + { + files: ['action.yml'], + rules: { + 'yml/sort-keys': [ + 2, + { + order: [ + 'name', + 'author', + 'description', + 'inputs', + 'outputs', + 'runs', + 'branding' + ], + pathPattern: '^$' + } + ] + } + }, + { + files: ['docker*.yml', '**/*.md/*.+(yaml|yml)'], + rules: { + 'yml/sort-keys': 0 + } + } +] diff --git a/eslint.config.mjs b/eslint.config.mjs new file mode 100644 index 00000000..74750936 --- /dev/null +++ b/eslint.config.mjs @@ -0,0 +1,37 @@ +/** + * @file ESLint Configuration - Root + * @module config/eslint + * @see https://eslint.org/docs/user-guide/configuring + */ + +/** + * Root eslint configuration object. + * + * @type {import('eslint').Linter.Config[]} + */ +export default [ + ...(await import('./eslint.base.config.mjs')).default, + { + ignores: [ + '!**/__fixtures__/**/dist/', + '!**/__fixtures__/node_modules/', + '!**/typings/**/dist/', + '**/*config.*.timestamp*', + '**/.vitest-reports/', + '**/.yarn/', + '**/CHANGELOG.md', + '**/LICENSE.md', + '**/RELEASE_NOTES.md', + '**/__tests__/reports/', + '**/coverage/', + '**/dist/', + '**/tsconfig*temp.json' + ] + }, + { + files: ['src/providers/logger.service.mts'], + rules: { + '@typescript-eslint/unified-signatures': 0 + } + } +] diff --git a/grease.config.json b/grease.config.json new file mode 100644 index 00000000..1342d459 --- /dev/null +++ b/grease.config.json @@ -0,0 +1,8 @@ +{ + "$schema": "https://raw.githubusercontent.com/flex-development/grease/main/grease.schema.json", + "tag": { + "message": "release: {tag}", + "sign": true + }, + "tagprefix": "" +} diff --git a/grease/commands/changelog.command.ts b/grease/commands/changelog.command.ts deleted file mode 100644 index be905c53..00000000 --- a/grease/commands/changelog.command.ts +++ /dev/null @@ -1,319 +0,0 @@ -/** - * @file Commands - ChangelogCommand - * @module grease/commands/ChangelogCommand - */ - -import * as mlly from '@flex-development/mlly' -import { - CliUtilityService, - Command, - CommandRunner, - Option -} from '@flex-development/nest-commander' -import type * as commander from '@flex-development/nest-commander/commander' -import type { PackageJson } from '@flex-development/pkg-types' -import { - DOT, - fallback, - isNull, - trim, - type EmptyArray -} from '@flex-development/tutils' -import type { ChangelogOptions as Opts } from '../options' -import { ChangelogService } from '../providers' - -/** - * `changelog` command model. - * - * @class - * @extends {CommandRunner} - */ -@Command({ - description: 'changelog generator', - examples: ['', '-sw'], - name: 'changelog' -}) -class ChangelogCommand extends CommandRunner { - /** - * Creates a new `changelog` command runner. - * - * @param {ChangelogService} changelog - Changelog generator service - * @param {CliUtilityService} util - Utilities service instance - */ - constructor( - protected readonly changelog: ChangelogService, - protected readonly util: CliUtilityService - ) { - super() - } - - /** - * Parses the `--cwd` flag. - * - * @see {@linkcode Opts.cwd} - * - * @protected - * - * @param {string} val - Value to parse - * @return {string} Parsed option value - */ - @Option({ - description: 'path to current working directory', - fallback: { value: DOT }, - flags: '-c, --cwd <path>' - }) - protected parseCwd(val: string): string { - return trim(val) - } - - /** - * Parses the `--debug` flag. - * - * @see {@linkcode Opts.debug} - * - * @protected - * - * @param {string} val - Value to parse - * @return {boolean} Parsed option value - */ - @Option({ - description: 'enable verbose output', - fallback: { value: false }, - flags: '-d, --debug', - preset: 'true' - }) - protected parseDebug(val: string): boolean { - return this.util.parseBoolean(val) - } - - /** - * Parses the `--from` flag. - * - * @see {@linkcode Opts.from} - * - * @protected - * - * @param {string} val - Value to parse - * @return {string} Parsed option value - */ - @Option({ - description: 'beginning of commit revision range', - fallback: { value: '' }, - flags: '-f, --from <commitish>' - }) - protected parseFrom(val: string): string { - return trim(val) - } - - /** - * Parses the `--infile` flag. - * - * @see {@linkcode Opts.infile} - * - * @protected - * - * @param {string} val - Value to parse - * @return {string} Parsed option value - */ - @Option({ - description: 'read CHANGELOG from this file', - flags: '-i, --infile <path>' - }) - protected parseInfile(val: string): string { - return trim(val) - } - - /** - * Parses the `--outfile` flag. - * - * @see {@linkcode Opts.outfile} - * - * @protected - * - * @param {string} val - Value to parse - * @return {string} Parsed option value - */ - @Option({ - description: 'write content to this file', - flags: '-o, --outfile <path>', - implies: { write: true } - }) - protected parseOutfile(val: string): string { - return trim(val) - } - - /** - * Parses the `--pkg` flag. - * - * @see {@linkcode Opts.pkg} - * - * @protected - * - * @param {string} val - Value to parse - * @return {PackageJson} Parsed option value - */ - @Option({ - description: 'module id of package directory or manifest', - env: 'npm_package_json', - fallback: { value: DOT }, - flags: '-p, --pkg <path>' - }) - protected parsePkg(val: string): PackageJson { - return fallback( - mlly.readPackageJson(val.replace(/\/?package\.json$/, '')), - {}, - isNull - ) - } - - /** - * Parses the `--releases` flag. - * - * @see {@linkcode Opts.releases} - * - * @protected - * - * @param {string} val - Value to parse - * @return {number} Parsed option value - */ - @Option({ - description: 'number of releases to generate', - fallback: { value: 1 }, - flags: '-r, --releases <count>' - }) - protected parseReleases(val: string): number { - return this.util.parseInt(val) - } - - /** - * Parses the `--samefile` flag. - * - * @see {@linkcode Opts.samefile} - * - * @protected - * - * @param {string} val - Value to parse - * @return {boolean} Parsed option value - */ - @Option({ - description: 'output content to infile', - fallback: { value: false }, - flags: '-s, --samefile [option]', - preset: 'true' - }) - protected parseSamefile(val: string): boolean { - return this.util.parseBoolean(val) - } - - /** - * Parses the `--tagprefix` flag. - * - * @see {@linkcode Opts.tagprefix} - * - * @protected - * - * @param {string} val - Value to parse - * @return {string} Parsed option value - */ - @Option({ - description: 'tag prefix to apply during git tag comparisons', - fallback: { value: '' }, - flags: '-T, --tagprefix <prefix>' - }) - protected parseTagPrefix(val: string): string { - return trim(val) - } - - /** - * Parses the `--to` flag. - * - * @see {@linkcode Opts.to} - * - * @protected - * - * @param {string} val - Value to parse - * @return {string} Parsed option value - */ - @Option({ - description: 'end of commit revision range', - fallback: { value: 'HEAD' }, - flags: '-t, --to <commitish>' - }) - protected parseTo(val: string): string { - return trim(val) - } - - /** - * Parses the `--unstable` flag. - * - * @see {@linkcode Opts.unstable} - * - * @protected - * - * @param {string} val - Value to parse - * @return {boolean} Parsed option value - */ - @Option({ - description: 'include unstable releases', - fallback: { value: true }, - flags: '-u, --unstable [option]', - preset: 'true' - }) - protected parseUnstable(val: string): boolean { - return this.util.parseBoolean(val) - } - - /** - * Parses the `--write` flag. - * - * @see {@linkcode Opts.write} - * - * @protected - * - * @param {string} val - Value to parse - * @return {boolean} Parsed option value - */ - @Option({ - description: 'write content to file', - fallback: { value: false }, - flags: '-w, --write [option]', - preset: 'true' - }) - protected parseWrite(val: string): boolean { - return this.util.parseBoolean(val) - } - - /** - * Command action handler. - * - * @see {@linkcode Opts} - * - * @public - * @async - * - * @param {EmptyArray} _ - Parsed command arguments - * @param {Opts} opts - Parsed command options - * @return {Promise<void>} Nothing when complete - */ - public async run(_: EmptyArray, opts: Opts): Promise<void> { - return void (await this.changelog.generate(opts)) - } - - /** - * Set the current command. - * - * @see {@linkcode command} - * - * @public - * @override - * - * @param {commander.Command} cmd - New command instance - * @return {this} `this` command runner - */ - public override setCommand(cmd: commander.Command): this { - cmd.showHelpAfterError() - return super.setCommand(cmd) - } -} - -export default ChangelogCommand diff --git a/grease/commands/index.ts b/grease/commands/index.ts deleted file mode 100644 index 7421979b..00000000 --- a/grease/commands/index.ts +++ /dev/null @@ -1,6 +0,0 @@ -/** - * @file Entry Point - Commands - * @module grease/commands - */ - -export { default as ChangelogCommand } from './changelog.command' diff --git a/grease/enums/index.ts b/grease/enums/index.ts deleted file mode 100644 index 9690687e..00000000 --- a/grease/enums/index.ts +++ /dev/null @@ -1,6 +0,0 @@ -/** - * @file Entry Point - Enums - * @module grease/enums/RepoProvider - */ - -export { default as RepoProvider } from './repo-provider' diff --git a/grease/enums/repo-provider.ts b/grease/enums/repo-provider.ts deleted file mode 100644 index 00fe7c87..00000000 --- a/grease/enums/repo-provider.ts +++ /dev/null @@ -1,17 +0,0 @@ -/** - * @file Enums - RepoProvider - * @module grease/enums/RepoProvider - */ - -/** - * Repository provider names. - * - * @enum {Lowercase<string>} - */ -enum RepoProvider { - BITBUCKET = 'bitbucket', - GITHUB = 'github', - GITLAB = 'gitlab' -} - -export default RepoProvider diff --git a/grease/index.ts b/grease/index.ts deleted file mode 100644 index aa9f6e2c..00000000 --- a/grease/index.ts +++ /dev/null @@ -1,33 +0,0 @@ -#!/usr/bin/env node - -/** - * @file grease - * @module grease - */ - -import { Program, ProgramFactory } from '@flex-development/nest-commander' -import { Module } from '@nestjs/common' -import { ChangelogCommand } from './commands' -import { Grammar } from './models' -import { ChangelogService } from './providers' - -/** - * CLI application module. - * - * @class - */ -@Module({ - providers: [ChangelogCommand, ChangelogService, Grammar] -}) -class ProgramModule { - /** - * Creates a new CLI application module. - * - * @param {Program} program - CLI program instance - */ - constructor(protected readonly program: Program) { - program.name('grease') - } -} - -await (await ProgramFactory.create(ProgramModule)).run() diff --git a/grease/interfaces/commit.interface.ts b/grease/interfaces/commit.interface.ts deleted file mode 100644 index 6d44e76f..00000000 --- a/grease/interfaces/commit.interface.ts +++ /dev/null @@ -1,113 +0,0 @@ -/** - * @file Interfaces - Commit - * @module grease/interfaces/Commit - */ - -import type { Nullable } from '@flex-development/tutils' -import type { Author, BreakingChange, Reference, Trailer } from '../types' - -/** - * A parsed commit. - * - * @see https://conventionalcommits.org - */ -interface Commit { - /** - * Commit author details. - * - * @see {@linkcode Author} - */ - author: Author - - /** - * Commit body text. - */ - body: Nullable<string> - - /** - * Boolean indicating if commit contains breaking changes. - */ - breaking: boolean - - /** - * Breaking changes noted in {@linkcode subject} and {@linkcode trailers}. - * - * @see {@linkcode BreakingChange} - */ - breaking_changes: BreakingChange[] - - /** - * Commit date in strict ISO 8601 format (`%cI`). - * - * @see https://git-scm.com/docs/pretty-formats/2.21.0 - */ - date: string - - /** - * Abbreviated commit SHA. - */ - hash: string - - /** - * Commit {@linkcode type}, {@linkcode scope}, breaking change indicator, and - * {@linkcode subject}. - */ - header: string - - /** - * Users mentioned in commit message. - */ - mentions: string[] - - /** - * Pull request number if commit {@linkcode subject} includes a pull request - * reference. - */ - pr: Nullable<number> - - /** - * Issue and/or pull request references. - * - * @see {@linkcode Reference} - */ - references: Reference[] - - /** - * Commit scope. - */ - scope: Nullable<string> - - /** - * Commit SHA. - */ - sha: string - - /** - * Commit subject. - */ - subject: string - - /** - * Tags associated with commit. - */ - tags: string[] - - /** - * Commit message trailers. - * - * @see {@linkcode Trailer} - */ - trailers: Trailer[] - - /** - * Commit type. - */ - type: string - - /** - * Tagged commit version. - */ - version: Nullable<string> -} - -export type { Commit as default } diff --git a/grease/interfaces/context.interface.ts b/grease/interfaces/context.interface.ts deleted file mode 100644 index 45b76fbf..00000000 --- a/grease/interfaces/context.interface.ts +++ /dev/null @@ -1,48 +0,0 @@ -/** - * @file Interfaces - Context - * @module grease/interfaces/Context - */ - -import type { Dot } from '@flex-development/tutils' -import type { RepoProvider } from '../enums' -import type { RepoKeywords } from '../types' - -/** - * Changelog context. - */ -interface Context { - /** - * Repository hostname. - * - * @see {@linkcode RepoProvider} - * - * @example - * 'github.com' - */ - host: `${RepoProvider}${Dot}${'com' | 'org'}` - - /** - * Keywords used in reference URLs. - * - * @see {@linkcode RepoKeywords} - */ - keywords: RepoKeywords - - /** - * Repository owner. - * - * @example - * 'flex-development' - */ - owner: string - - /** - * Repository name on {@linkcode host}. - * - * @example - * 'grease' - */ - repo: string -} - -export type { Context as default } diff --git a/grease/interfaces/entry.interface.ts b/grease/interfaces/entry.interface.ts deleted file mode 100644 index 67654585..00000000 --- a/grease/interfaces/entry.interface.ts +++ /dev/null @@ -1,62 +0,0 @@ -/** - * @file Interfaces - Entry - * @module grease/interfaces/Entry - */ - -import type { Nullable } from '@flex-development/tutils' -import type { CommitGroup } from '../types' -import type Commit from './commit.interface' - -/** - * Object representing a changelog entry. - */ -interface Entry { - /** - * Changelog entry date. - * - * @see https://github.com/felixge/node-dateformat - * - * @default key.date || dateformat(tutils.timeiso(), 'yyyy-mm-dd', true) - */ - date: string - - /** - * Parsed commit groups. - * - * @see {@linkcode CommitGroup} - */ - groups: CommitGroup[] - - /** - * Key commit. - * - * @see {@linkcode Commit} - */ - key: Commit - - /** - * Last released version. - */ - last_version: Nullable<string> - - /** - * Entry is for patch release? - * - * @default !!semver.patch(entry.version) - */ - patch: boolean - - /** - * Entry is for prerelease? - * - * @default !!semver.prerelease(entry.version) - */ - prerelease: boolean - - /** - * Release version. - */ - version: string -} - -export type { Entry as default } diff --git a/grease/interfaces/index.ts b/grease/interfaces/index.ts deleted file mode 100644 index dad4b222..00000000 --- a/grease/interfaces/index.ts +++ /dev/null @@ -1,8 +0,0 @@ -/** - * @file Entry Point - Interfaces - * @module grease/interfaces - */ - -export type { default as Commit } from './commit.interface' -export type { default as Context } from './context.interface' -export type { default as Entry } from './entry.interface' diff --git a/grease/models/formatter.model.ts b/grease/models/formatter.model.ts deleted file mode 100644 index f62b944a..00000000 --- a/grease/models/formatter.model.ts +++ /dev/null @@ -1,294 +0,0 @@ -/** - * @file Models - Formatter - * @module grease/models/Formatter - */ - -import { - cast, - get, - ifelse, - iterate, - template, - trim -} from '@flex-development/tutils' -import type { Commit, Context, Entry } from '../interfaces' -import type { BreakingChange, CommitGroup } from '../types' -import Grammar from './grammar.model' - -/** - * Data model encapsulating changelog formatting. - * - * @class - */ -class Formatter { - /** - * Create a new changelog formatter. - * - * @param {Grammar} [grammar=new Grammar()] - Changelog grammar instance - */ - constructor(protected readonly grammar: Grammar = new Grammar()) {} - - /** - * Format breaking change notes. - * - * @see {@linkcode Entry} - * - * @public - * - * @param {Entry} entry - Changelog entry object - * @return {string} Formatted breaking change notes - */ - public formatBreakingChanges(entry: Entry): string { - /** - * Breaking changes. - * - * @const {BreakingChange[]} changes - */ - const changes: BreakingChange[] = iterate( - entry.groups.length, - [], - (acc: BreakingChange[], i: number): typeof acc => [ - ...acc, - ...get(entry.groups, `${i}.commits`)!.flatMap(commit => { - return commit.breaking_changes - }) - ] - ) - - return this.section( - '### ⚠ BREAKING CHANGES', - template('{changes}\n\n', { - changes: iterate(changes.length, '', (acc, i) => { - const [brk] = cast<[BreakingChange]>(changes.slice(i)) - return template('{acc}{newline}- {change}', { - acc, - change: brk.scope - ? template('**{scope}:** {subject}', brk) - : brk.subject, - newline: ifelse(acc, '\n', acc) - }) - }) - }) - ) - } - - /** - * Format a commit message. - * - * @see {@linkcode Commit} - * @see {@linkcode Context} - * - * @public - * - * @param {Commit} commit - Parsed commit - * @param {Context} context - Changelog context - * @return {string} Formatted commit message - */ - public formatCommit(commit: Commit, context: Context): string { - return template('- {scope}{subject} ([{hash}]({url}))', { - hash: commit.hash, - scope: commit.scope ? `**${commit.scope}:** ` : '', - subject: commit.subject.replace(`#${commit.pr}`, () => { - return template('[#{pr}]({url})', { - pr: commit.pr, - url: this.formatPullRequestUrl(commit, context) - }) - }), - url: this.formatCommitUrl(commit, context) - }).replaceAll(this.grammar.mention, (_, mention, user) => { - return template('[{mention}]({host}/{user})', { - host: this.formatRepositoryHost(context), - mention, - user - }) - }) - } - - /** - * Format a commit group. - * - * @see {@linkcode Commit} - * @see {@linkcode Context} - * - * @public - * - * @param {CommitGroup} group - Parsed commit group - * @param {Context} context - Changelog context - * @return {string} Formatted commit group - */ - public formatCommitGroup(group: CommitGroup, context: Context): string { - return this.section( - template('### {section}', { section: group.section }), - template('{commits}\n', { - commits: group.hidden - ? '' - : iterate(group.commits.length, '', (acc, i) => { - return template('{acc}{newline}{commit}', { - acc, - commit: this.formatCommit(group.commits[i]!, context), - newline: ifelse(acc, '\n', acc) - }) - }) - }) - ) - } - - /** - * Format a commit URL. - * - * @see {@linkcode Commit} - * @see {@linkcode Context} - * - * @public - * - * @param {Commit} commit - Parsed commit - * @param {Context} context - Changelog context - * @return {string} Formatted commit URL - */ - public formatCommitUrl(commit: Commit, context: Context): string { - return template('{repository}/{keyword}/{sha}', { - keyword: context.keywords.commit, - repository: this.formatRepository(context), - sha: commit.sha - }) - } - - /** - * Format a repository compare url. - * - * @see {@linkcode Context} - * @see {@linkcode Entry} - * - * @public - * - * @param {Entry} entry - Changelog entry object - * @param {Context} context - Changelog context - * @return {string} Formatted compare url - */ - public formatCompareUrl(entry: Entry, context: Context): string { - return template('{repository}/compare/{last_version}...{version}', { - last_version: entry.last_version, - repository: this.formatRepository(context), - version: entry.version - }) - } - - /** - * Format a changelog entry. - * - * @see {@linkcode Context} - * - * @public - * - * @param {Entry} entry - Changelog entry object - * @param {Context} context - Changelog context - * @return {string} Formatted changelog entry - */ - public formatEntry(entry: Entry, context: Context): string { - return this.section( - this.formatEntryTitle(entry, context), - template('{breaking_changes}{groups}\n', { - breaking_changes: this.formatBreakingChanges(entry), - groups: iterate(entry.groups.length, '', (acc, i) => { - return template('{acc}{newline}{group}', { - acc, - group: this.formatCommitGroup(entry.groups[i]!, context), - newline: ifelse(acc, '\n', acc) - }) - }) - }) - ) - } - - /** - * Format a changelog entry title. - * - * @see {@linkcode Context} - * @see {@linkcode Entry} - * - * @public - * - * @param {Entry} entry - Changelog entry object - * @param {Context} context - Changelog context - * @return {string} Formatted changelog entry title - */ - public formatEntryTitle(entry: Entry, context: Context): string { - return template( - template('## {header} ({date})', { - date: entry.date, - header: entry.last_version ? '[{version}]({compare})' : '{version}' - }), - { - compare: this.formatCompareUrl(entry, context), - version: entry.version - } - ) - } - - /** - * Format a pull request URL. - * - * @see {@linkcode Commit} - * @see {@linkcode Context} - * - * @public - * - * @param {Commit} commit - Parsed commit - * @param {Context} context - Changelog context - * @return {string} Formatted pull request URL - */ - public formatPullRequestUrl(commit: Commit, context: Context): string { - return template('{repository}/{keyword}/{pr}', { - keyword: context.keywords.pr, - pr: commit.pr, - repository: this.formatRepository(context) - }) - } - - /** - * Format a repository URL. - * - * @public - * - * @param {Context} context - Changelog context - * @return {string} Formatted repository url - */ - public formatRepository(context: Context): string { - return template('{host}/{owner}/{repo}', { - host: this.formatRepositoryHost(context), - owner: context.owner, - repo: context.repo - }) - } - - /** - * Format a repository host URL. - * - * @public - * - * @param {Context} context - Changelog context - * @return {string} Formatted repository host url - */ - public formatRepositoryHost(context: Context): string { - return template('https://{host}', { host: context.host }) - } - - /** - * Create a changelog section. - * - * @protected - * - * @param {string} title - Section title - * @param {string} text - Section content - * @return {string} Formatted changelog section - */ - protected section(title: string, text: string): string { - return ifelse( - trim(text), - template('{title}\n\n{text}', { text, title }), - '' - ) - } -} - -export default Formatter diff --git a/grease/models/grammar.model.ts b/grease/models/grammar.model.ts deleted file mode 100644 index 2c61ae04..00000000 --- a/grease/models/grammar.model.ts +++ /dev/null @@ -1,75 +0,0 @@ -/** - * @file Models - Grammar - * @module grease/models/Grammar - */ - -/** - * Data model encapsulating changelog grammar. - * - * @class - */ -class Grammar { - /** - * Regular expression matching fields in a raw commit. - * - * @public - * - * @return {RegExp} Git log field regex - */ - public get field(): RegExp { - return /^-(?<field>.*?)-(?=\n*)$/m - } - - /** - * Regular expression matching a commit header. - * - * @see https://regex101.com/r/WAJeLp - * - * @public - * - * @return {RegExp} Commit header regex - */ - public get header(): RegExp { - return /^(?<type>[a-z]+)(?:\((?<scope>[a-z-]+)\))?(?<breaking>!)?: +(?<subject>(?:.+ \(#(?<pr>\d+)\))|.+)/i - } - - /** - * Regular expression matching mentions (e.g. `@unicornware`) in a raw commit. - * - * @see https://regex101.com/r/upbRpj - * - * @public - * - * @return {RegExp} Mention regex - */ - public get mention(): RegExp { - return /\B(?<mention>@(?<user>[\w-]{1,38}(?=[^\w-]\B|\s)))/g - } - - /** - * Regular expression matching issue references in commit bodies. - * - * @see https://regex101.com/r/Thsp1M - * - * @public - * - * @return {RegExp} Issue reference regex - */ - public get reference(): RegExp { - return /(?:(?:(?<action>(?:close|resolve)[ds]?|fix(?:e[ds])?|releases) +)|(?<repository>(?<owner>[\da-z](?:-(?=[\da-z])|[\da-z]){0,38}(?<=[\da-z]))\/(?<repo>\S+)))?(?<ref>(?<prefix>#|gh-)(?<number>\d+))/gi - } - - /** - * Regular expression matching components of a git trailer. - * - * @see https://git-scm.com/docs/git-interpret-trailers - * @see https://regex101.com/r/I56Kgg - * - * @return {RegExp} Git trailer components regex - */ - public get trailer(): RegExp { - return /(?<token>^.+?(?=:)): (?<value>.+?(?=\n*$))/gs - } -} - -export default Grammar diff --git a/grease/models/index.ts b/grease/models/index.ts deleted file mode 100644 index 3a544d9a..00000000 --- a/grease/models/index.ts +++ /dev/null @@ -1,7 +0,0 @@ -/** - * @file Entry Point - Models - * @module grease/models - */ - -export { default as Formatter } from './formatter.model' -export { default as Grammar } from './grammar.model' diff --git a/grease/options/changelog.options.ts b/grease/options/changelog.options.ts deleted file mode 100644 index 55c6d58a..00000000 --- a/grease/options/changelog.options.ts +++ /dev/null @@ -1,352 +0,0 @@ -/** - * @file Options - ChangelogOptions - * @module grease/options/ChangelogOptions - */ - -import { Type } from '@flex-development/commitlint-config' -import pathe from '@flex-development/pathe' -import type { PackageJson } from '@flex-development/pkg-types' -import { - CompareResult, - cast, - constant, - defaults, - fallback, - identity, - isNull, - type EmptyArray, - type EmptyString, - type Fn, - type Omit, - type Optional, - type Times -} from '@flex-development/tutils' -import * as emoji from 'node-emoji' -import { RepoProvider } from '../enums' -import type { Commit } from '../interfaces' -import { Formatter } from '../models' -import type { CommitGroup, CommitTransformer } from '../types' - -/** - * Changelog generation options. - * - * @class - */ -class ChangelogOptions { - /** - * Path to current working directory. - * - * @default process.cwd() - * - * @public - * @instance - * @member {string} cwd - */ - public cwd: string - - /** - * Enable verbose output. - * - * @default false - * - * @public - * @instance - * @member {boolean} debug - */ - public debug: boolean - - /** - * Changelog formatter. - * - * @default - * new Formatter() - * - * @public - * @instance - * @member {Formatter} formatter - */ - public formatter: Formatter - - /** - * Revision range start. - * - * @default - * based on `options.releases` - * - * @public - * @instance - * @member {string} from - */ - public from: string - - /** - * Commit grouping function. - * - * @default commit=>commit.type - * - * @public - * @instance - * @member {Fn<[Commit], string>} groupby - */ - public groupby: Fn<[commit: Commit], string> - - /** - * An array of commit group objects representing explicitly supported commit - * message types, and whether they should show up in generated changelog. - * - * @default - * [ - * { section: ':sparkles: Features', type: Type.FEAT }, - * { section: ':bug: Fixes', type: Type.FIX }, - * { section: ':mechanical_arm: Refactors', type: Type.REFACTOR }, - * { section: ':fire: Performance Improvements', type: Type.PERF }, - * { section: ':wastebasket: Reverts', type: Type.REVERT }, - * { section: ':pencil: Documentation', type: Type.DOCS }, - * { section: ':white_check_mark: Testing', type: Type.TEST }, - * { section: ':package: Build', type: Type.BUILD }, - * { section: ':robot: Continuous Integration', type: Type.CI }, - * { section: ':house_with_garden: Housekeeping', type: Type.CHORE }, - * { hidden: true, type: Type.RELEASE }, - * { hidden: true, type: Type.STYLE }, - * { hidden: true, type: Type.WIP }, - * ] - * - * @public - * @instance - * @member {Omit<CommitGroup, 'commits'>[]} groups - */ - public groups: Omit<CommitGroup, 'commits'>[] - - /** - * Commit group sorting function. - * - * @public - * @instance - * @member {Fn<Times<2, CommitGroup>, CompareResult>} groupsort - */ - public groupsort: Fn<Times<2, CommitGroup>, CompareResult> - - /** - * Read `CHANGELOG` from this file. - * - * @public - * @instance - * @member {Optional<string>} infile - */ - public infile?: Optional<string> - - /** - * Write changelog entries to this file. - * - * @public - * @instance - * @member {Optional<string>} outfile - */ - public outfile?: Optional<string> - - /** - * Package context. - * - * @default {} - * - * @public - * @instance - * @member {PackageJson} pkg - */ - public pkg: PackageJson - - /** - * Number of releases to generate. - * - * To regenerate the entire changelog, pass `0`. - * - * @default 1 - * - * @public - * @instance - * @member {number} releases - */ - public releases: number - - /** - * Repository provider. - * - * @default RepoProvider.GITHUB - * - * @public - * @instance - * @member {RepoProvider} repo - */ - public repo: RepoProvider - - /** - * Output content to {@linkcode infile}. - * - * @default false - * - * @public - * @instance - * @member {boolean} samefile - */ - public samefile: boolean - - /** - * Tag prefix to apply during git tag comparisons. - * - * @default '' - * - * @public - * @instance - * @member {string} tagprefix - */ - public tagprefix: string - - /** - * Revision range end. - * - * @default 'HEAD' - * - * @public - * @instance - * @member {string} to - */ - public to: string - - /** - * Parsed commit transformer. - * - * @see {@linkcode CommitTransformer} - * - * @public - * @instance - * @member {CommitTransformer} transform - */ - public transform: CommitTransformer - - /** - * Include unstable releases. - * - * @default true - * - * @public - * @instance - * @member {boolean} unstable - */ - public unstable: boolean - - /** - * Write content to {@linkcode outfile} instead of {@linkcode process.stdout}. - * - * @default false - * - * @public - * @instance - * @member {boolean} write - */ - public write: boolean - - /** - * Create a new changelog options object. - * - * @param {Partial<ChangelogOptions>} [opts] - Changelog options - */ - constructor(opts?: Partial<ChangelogOptions>) { - const { - cwd, - debug, - formatter, - from, - groupby, - groups, - groupsort, - infile, - outfile, - pkg, - releases, - repo, - samefile, - tagprefix, - to, - transform, - unstable, - write - } = defaults(fallback(opts, {}), { - cwd: process.cwd(), - debug: false, - formatter: new Formatter(), - from: '', - groupby: (commit: Commit): string => fallback(commit.type, '', isNull), - groups: [ - { section: ':sparkles: Features', type: Type.FEAT }, - { section: ':bug: Fixes', type: Type.FIX }, - { section: ':mechanical_arm: Refactors', type: Type.REFACTOR }, - { section: ':fire: Performance Improvements', type: Type.PERF }, - { section: ':wastebasket: Reverts', type: Type.REVERT }, - { section: ':pencil: Documentation', type: Type.DOCS }, - { section: ':white_check_mark: Testing', type: Type.TEST }, - { section: ':package: Build', type: Type.BUILD }, - { section: ':robot: Continuous Integration', type: Type.CI }, - { section: ':house_with_garden: Housekeeping', type: Type.CHORE }, - { hidden: true as const, type: Type.RELEASE }, - { hidden: true as const, type: Type.STYLE }, - { hidden: true as const, type: Type.WIP } - ], - groupsort: (a: CommitGroup, b: CommitGroup): CompareResult => { - /** - * Function used to remove emojis from commit group titles. - * - * @const {Fn<EmptyArray, EmptyString>} format - */ - const format: Fn<EmptyArray, EmptyString> = constant('') - - return a.hidden - ? CompareResult.GREATER_THAN - : b.hidden - ? CompareResult.LESS_THAN - : emoji - .emojify(a.section, { format }) - .localeCompare(emoji.emojify(b.section, { format })) - }, - infile: undefined, - outfile: undefined, - pkg: {}, - releases: 1, - repo: RepoProvider.GITHUB, - samefile: false, - tagprefix: '', - to: 'HEAD', - transform: identity, - unstable: true, - write: false - }) - - this.cwd = pathe.resolve(cwd) - this.debug = debug - this.formatter = formatter - this.from = releases === 0 ? '' : from - this.groupby = groupby - this.groups = groups - this.groupsort = groupsort - this.infile = infile - this.outfile = outfile - this.pkg = pkg - this.releases = releases - this.repo = repo - this.samefile = infile && infile === outfile ? true : samefile - this.tagprefix = tagprefix - this.to = to || 'HEAD' - this.transform = cast(transform) - this.unstable = unstable - this.write = write - - // reset samefile if changelog is being overwritten - if (this.write && !this.releases) this.samefile = true - - // reset outfile if changelog should be output to infile - if (this.samefile) { - this.outfile = this.infile = this.infile ?? 'CHANGELOG.md' - } - } -} - -export default ChangelogOptions diff --git a/grease/options/commit-raw.options.ts b/grease/options/commit-raw.options.ts deleted file mode 100644 index 3303f035..00000000 --- a/grease/options/commit-raw.options.ts +++ /dev/null @@ -1,39 +0,0 @@ -/** - * @file Options - RawCommitOptions - * @module grease/options/RawCommitOptions - */ - -/** - * Commit retrieval and parsing options. - */ -type RawCommitOptions = { - /** - * Path to current working directory. - * - * @default process.cwd() - */ - cwd?: string - - /** - * Enable verbose output. - * - * @default false - */ - debug?: boolean - - /** - * Revision range start. - * - * @default '' - */ - from?: string - - /** - * Revision range end. - * - * @default 'HEAD' - */ - to?: string -} - -export type { RawCommitOptions as default } diff --git a/grease/options/commit.options.ts b/grease/options/commit.options.ts deleted file mode 100644 index d2bdbc58..00000000 --- a/grease/options/commit.options.ts +++ /dev/null @@ -1,27 +0,0 @@ -/** - * @file Options - CommitOptions - * @module grease/options/CommitOptions - */ - -import type { CommitTransformer } from '../types' -import type RawCommitOptions from './commit-raw.options' - -/** - * Commit retrieval and parsing options. - * - * @see {@linkcode RawCommitOptions} - * - * @extends {RawCommitOptions} - */ -type CommitOptions = RawCommitOptions & { - /** - * Parsed commit transformer. - * - * @see {@linkcode CommitTransformer} - * - * @default identity - */ - transform?: CommitTransformer -} - -export type { CommitOptions as default } diff --git a/grease/options/index.ts b/grease/options/index.ts deleted file mode 100644 index 4a6e3b2a..00000000 --- a/grease/options/index.ts +++ /dev/null @@ -1,9 +0,0 @@ -/** - * @file Entry Point - Options - * @module grease/options - */ - -export { default as ChangelogOptions } from './changelog.options' -export type { default as RawCommitOptions } from './commit-raw.options' -export type { default as CommitOptions } from './commit.options' -export type { default as SemverTagOptions } from './semver-tags.options' diff --git a/grease/options/semver-tags.options.ts b/grease/options/semver-tags.options.ts deleted file mode 100644 index ac9ea531..00000000 --- a/grease/options/semver-tags.options.ts +++ /dev/null @@ -1,25 +0,0 @@ -/** - * @file Options - SemverTagOptions - * @module grease/options/SemverTagOptions - */ - -/** - * Semver tag retrieval options. - */ -type SemverTagOptions = { - /** - * Tag prefix to consider when validating tags. - * - * @default '' - */ - tagprefix?: string - - /** - * Include unstable releases. - * - * @default true - */ - unstable?: boolean -} - -export type { SemverTagOptions as default } diff --git a/grease/providers/changelog.service.ts b/grease/providers/changelog.service.ts deleted file mode 100644 index 9d254350..00000000 --- a/grease/providers/changelog.service.ts +++ /dev/null @@ -1,618 +0,0 @@ -/** - * @file changelog - ChangelogService - * @module config/changelog/providers/ChangelogService - */ - -import { - at, - cast, - construct, - entries, - fallback, - fork, - get, - group, - includes, - isNaN, - join, - ksort, - noop, - objectify, - pick, - select, - sift, - sort, - split, - template, - timeiso, - trim, - type Construct, - type Nullable, - type Pick -} from '@flex-development/tutils' -import { Injectable } from '@nestjs/common' -import consola from 'consola' -import dateformat, { masks } from 'dateformat' -import { exec, execFile, execSync } from 'node:child_process' -import { - ReadStream, - createReadStream, - createWriteStream, - type WriteStream -} from 'node:fs' -import { Readable } from 'node:stream' -import util from 'node:util' -import semver from 'semver' -import { RepoProvider } from '../enums' -import type { Commit, Context, Entry } from '../interfaces' -import { Grammar } from '../models' -import { - ChangelogOptions, - type CommitOptions, - type SemverTagOptions -} from '../options' -import type { - BreakingChange, - CommitGroup, - RawCommitField, - RepoProviderMap, - Trailer -} from '../types' - -/** - * Encapsulates logic for generating changelogs. - * - * @class - */ -@Injectable() -class ChangelogService { - /** - * Format string passed to `git log`. - * - * @see https://git-scm.com/docs/git-log#_pretty_formats - * - * @public - * @static - * @readonly - * @member {string} GIT_LOG_FORMAT - */ - public static readonly GIT_LOG_FORMAT: string = join( - [ - '%s%n', - 'author.email', - '%n%ae%n', - 'author.name', - '%n%an%n', - 'body', - '%n%b%n', - 'date', - '%n%cI%n', - 'hash', - '%n%h%n', - 'sha', - '%n%H%n', - 'tags', - '%n%D%n', - 'trailers', - '%n%(trailers)%n' - ], - '-' - ) - - /** - * Repository provider configuration map. - * - * @public - * @static - * @readonly - * @member {RepoProviderMap} PROVIDERS - */ - public static readonly PROVIDERS: RepoProviderMap = { - [RepoProvider.BITBUCKET]: { - host: `${RepoProvider.BITBUCKET}.org`, - keywords: { commit: 'commit', issue: 'issues', pr: 'pull-requests' } - }, - [RepoProvider.GITHUB]: { - host: `${RepoProvider.GITHUB}.com`, - keywords: { commit: 'commit', issue: 'issues', pr: 'pull' } - }, - [RepoProvider.GITLAB]: { - host: `${RepoProvider.GITLAB}.com`, - keywords: { commit: 'commit', issue: 'issues', pr: 'merge_requests' } - } - } - - /** - * Create a new changelog service. - * - * @param {Grammar} grammar - Changelog grammar instance - */ - constructor(protected readonly grammar: Grammar) {} - - /** - * Get an array of parsed commits. - * - * @see {@linkcode CommitOptions} - * - * @template T - Transformed commit type - * - * @public - * @async - * - * @param {CommitOptions} opts - Commit retrieval and parsing options - * @return {Promise<T[]>} Parsed commit array - */ - public async commits<T extends Commit = Commit>( - opts: CommitOptions - ): Promise<T[]> { - /** - * String used to separate commit logs. - * - * @const {string} LOG_DELIMITER - */ - const LOG_DELIMITER: string = '--$--' - - /** - * Git command arguments. - * - * @const {string[]} args - */ - const args: string[] = sift([ - 'log', - `--format=${ChangelogService.GIT_LOG_FORMAT}%n${LOG_DELIMITER}`, - '--decorate-refs=refs/tags', - '--decorate=short', - join(sift([opts.from, opts.to || 'HEAD']), '..') - ]) - - // filter commits by directory - if (opts.cwd !== process.cwd()) args.push(`-- ${opts.cwd}`) - - // debug git log command - if (opts.debug) consola.info('git', ...args) - - /** - * Git command output. - * - * @const {{ stderr: string; stdout: string }} gitlog - */ - const gitlog: { - stderr: string - stdout: string - } = await util.promisify(execFile)('git', args, { - cwd: opts.cwd, - maxBuffer: Number.POSITIVE_INFINITY - }) - - /** - * Array containing parsed commits. - * - * @const {T[]} commits - */ - const commits: T[] = [] - - // parse raw commits - for (let chunk of split(gitlog.stdout, LOG_DELIMITER + '\n')) { - if (!(chunk = trim(chunk))) continue - - // get commit header and raw fields - const [[header = ''], raw_fields]: [string[], string[]] = fork( - split(chunk, /^(?=-.*?-\n*$)/gm), - raw => !this.grammar.field.test(raw) - ) - - // extract commit header data - const { - groups: { - breaking = null, - pr = 'null', - scope = null, - subject = '', - type = '' - } = {} - } = pick(this.grammar.header.exec(header)!, ['groups']) - - /** - * Commit fields object. - * - * @const {Construct<Record<RawCommitField, string>>} fields - */ - const fields: Construct<Record<RawCommitField, string>> = construct( - cast<Record<RawCommitField, string>>( - objectify( - raw_fields, - raw => get(this.grammar.field.exec(raw)!.groups, 'field', ''), - raw => trim(raw.replace(this.grammar.field, '')) - ) - ) - ) - - /** - * Tags associated with commit. - * - * @const {string[]} tags - */ - const tags: string[] = select( - split(fields.tags, ','), - tag => !!trim(tag), - tag => trim(tag.replace(/^tag: */, '')) - ) - - /** - * Commit message trailers. - * - * @const {Trailer[]} trailers - */ - const trailers: Trailer[] = select( - split(fields.trailers, '\n'), - trailer => !!trim(trailer), - trailer => { - const { token, value } = this.grammar.trailer.exec(trailer)!.groups! - return { token: token!, value: trim(value!) } - } - ) - - /** - * Breaking changes noted in commit subject and trailers. - * - * @const {BreakingChange[]} breaking_changes - */ - const breaking_changes: BreakingChange[] = select( - trailers, - trailer => /^BREAKING[ -]CHANGE/.test(trailer.token), - trailer => ({ scope: null, subject: trailer.value, type }) - ) - - // add subject to breaking changes if breaking change is in subject - if (breaking && !includes(breaking_changes, subject)) { - breaking_changes.unshift({ scope, subject, type }) - } - - /** - * Parsed commit object. - * - * @var {T} commit - */ - let commit: T = cast({ - ...fields, - body: fields.body.replace(fields.trailers, ''), - breaking: !!breaking_changes.length, - breaking_changes, - header: header.replace(/\n$/, ''), - mentions: select( - [...chunk.matchAll(this.grammar.mention)], - null, - match => get(match, 'groups.user')! - ), - pr: fallback(+pr, null, isNaN), - references: select( - [...chunk.matchAll(this.grammar.reference)], - null, - match => ({ - action: get(match, 'groups.action', null), - number: +get(match, 'groups.number', ''), - owner: get(match, 'groups.owner', null), - ref: get(match, 'groups.ref', ''), - repo: get(match, 'groups.repo', null) - }) - ), - scope, - subject, - tags, - trailers, - type, - version: at(tags, 0, null) - }) - - // transform commit - if (opts.transform) commit = await opts.transform(commit, chunk) - - // add parsed commit - commits.push(ksort(commit, { deep: true })) - } - - return commits - } - - /** - * Get an array of changelog entry objects. - * - * @public - * - * @param {Commit[]} commits - Parsed commit array - * @param {string[]} tags - Semver tags - * @param {ChangelogOptions} opts - Changelog options - * @return {Entry[]} Changelog entry object array - */ - public entries( - commits: Commit[], - tags: string[], - opts: ChangelogOptions - ): Entry[] { - return select( - entries( - group(commits, commit => { - if (commit.version) return commit.version - - /** - * Git command used to get tag containing {@linkcode commit}. - * - * @see https://git-scm.com/docs/git-describe - * - * @const {string} cmd - */ - const cmd: string = join( - [ - 'git', - 'describe', - '--candidates=1', - '--contains', - template('--match="{tagprefix}*"', { tagprefix: opts.tagprefix }), - commit.sha - ], - ' ' - ) - - // get tag containing commit - try { - return trim( - execSync(cmd, { - encoding: 'utf8', - stdio: ['ignore', 'pipe', 'ignore'] - }) - ).replace(/~\d+$/, '') - } catch { - const [tag] = tags - return tag?.replace(opts.tagprefix, '') === opts.pkg.version - ? template('{tag}+{sha}', { sha: get(commits, '0.sha'), tag }) - : opts.pkg.version! - } - }) - ), - null, - ([version, commits]) => { - const { groupby, groups, groupsort } = opts - - /** - * Key commit. - * - * @const {Nullable<Commit>} key - */ - const key: Nullable<Commit> = fallback( - commits!.find(commit => commit.version === version), - null - ) - - /** - * Grouped commits map. - * - * @const {Record<string, Commit[]>} map - */ - const map: Record<string, Commit[]> = cast(group(commits!, groupby)) - - return { - date: dateformat(key?.date ?? timeiso(), masks.isoDate), - groups: sort( - entries(map).reduce<CommitGroup[]>((acc, [type, commits]) => { - const [group] = select(groups, group => group.type === type) - return group && !group.hidden - ? [ - ...acc, - { - ...group, - commits: sort(commits, (a, b) => { - return a.header.localeCompare(b.header) - }) - } - ] - : acc - }, []), - groupsort - ), - key: key ?? at(commits, 0)!, - last_version: fallback(tags[tags.indexOf(version) + 1], null), - patch: !!semver.patch(version), - prerelease: !!semver.prerelease(version), - version - } - } - ) - } - - /** - * Generate a changelog. - * - * @public - * @async - * - * @param {ChangelogOptions} [opts] - Changelog options - * @return {Promise<void>} Nothing when complete - */ - public async generate(opts?: ChangelogOptions): Promise<void> { - opts = new ChangelogOptions(opts) - - /** - * Git semver tags. - * - * @const {string[]} tags - */ - const tags: string[] = await this.tags(opts) - - // set revision start range based on release count - if (opts.releases && opts.to === 'HEAD' && !includes(tags, opts.from)) { - opts.from = fallback(tags[opts.releases - 1], '') - } - - /** - * Parsed commits. - * - * @const {Commit[]} commits - */ - const commits: Commit[] = await this.commits(opts) - - return void (await this.write(this.entries(commits, tags, opts), opts)) - } - - /** - * Get the owner and name of the current repository. - * - * @public - * @async - * - * @param {RepoProvider} provider - Repository provider - * @return {Promise<Pick<Context, 'owner' | 'repo'>>} Repository owner + name - */ - public async repository( - provider: RepoProvider - ): Promise<Pick<Context, 'owner' | 'repo'>> { - // get repository url - let { stdout } = await util.promisify(exec)('git remote get-url origin') - - // remove repository host from remote url - stdout = stdout.replace( - new RegExp(`https://${ChangelogService.PROVIDERS[provider].host}/`), - '' - ) - - return cast<Pick<Context, 'owner' | 'repo'>>( - get(/(?<owner>\S+)\/(?<repo>\S+)(?=\.git)/.exec(stdout)!, 'groups') - ) - } - - /** - * Get an array containing all git semver tags in reverse chronological order. - * - * @see {@linkcode SemverTagOptions} - * - * @public - * @async - * - * @param {SemverTagOptions} opts - Tag retrieval options - * @return {Promise<string[]>} Semver tags array - */ - public async tags(opts: SemverTagOptions): Promise<string[]> { - const { tagprefix, unstable } = new ChangelogOptions(opts) - - /** - * Git command arguments. - * - * @const {string[]} args - */ - const args: string[] = [ - 'log', - '--decorate-refs=refs/tags', - '--decorate=short', - '--format=%D' - ] - - /** - * Git command output. - * - * @const {{ stderr: string; stdout: string }} gitlog - */ - const gitlog: { - stderr: string - stdout: string - } = await util.promisify(execFile)('git', args, { - cwd: process.cwd(), - maxBuffer: Number.POSITIVE_INFINITY - }) - - return select( - select( - split(gitlog.stdout, '\n'), - tag => !!trim(tag), - tag => trim(tag).replace(/^tag: */, '') - ), - tag => { - return ( - tag.startsWith(tagprefix) && - !!semver.valid(tag = tag.replace(tagprefix, '')) && - (!unstable ? !semver.parse(tag)!.prerelease.length : true) - ) - } - ) - } - - /** - * Write changelog entries. - * - * @public - * @async - * - * @param {Entry[]} entries - Changelog entry objects - * @param {ChangelogOptions} opts - Changelog options - * @return {Promise<void>} Nothing when complete - */ - public async write(entries: Entry[], opts: ChangelogOptions): Promise<void> { - /** - * Changelog context. - * - * @const {Context} context - */ - const context: Context = ksort({ - ...ChangelogService.PROVIDERS[opts.repo], - ...(await this.repository(opts.repo)) - }) - - /** - * Get a writer. - * - * If writing to file is disabled, {@linkcode process.stdout} will be used - * to write changelog entries. A write stream will be used otherwise. - * - * @see {@linkcode NodeJS.WriteStream} - * @see {@linkcode WriteStream} - * @see {@linkcode createWriteStream} - * - * @return {WriteStream | (NodeJS.WriteStream & { fd: 1 })} File writer - */ - const writer = (): WriteStream | (NodeJS.WriteStream & { fd: 1 }) => { - return opts.write && opts.outfile - ? createWriteStream(opts.outfile) - : process.stdout - } - - /** - * Readable changelog. - * - * @const {Readable} changelog - */ - const changelog: Readable = new Readable({ read: noop }) - - // add error handler to readable changelog - changelog.on('error', consola.error.bind({})) - - // add newline chunk if writing changelog to stdout in debug mode - if (opts.debug && !opts.write) changelog.push('\n') - - // add changelog entry chunks to readable changelog - for (const entry of entries) { - changelog.push(opts.formatter.formatEntry(entry, context)) - } - - // output changelog if infile should not be added to readable changelog - if (!(opts.infile && opts.releases)) return void changelog.pipe(writer()) - - /** - * Readable {@linkcode opts.infile} stream. - * - * @const {ReadStream} infile - */ - const infile: ReadStream = createReadStream(opts.infile) - - // add error handler to infile stream - infile.on('error', () => { - if (opts.debug) consola.error('infile does not exist.') - if (opts.samefile) changelog.pipe(writer()) - }) - - // add infile to readable changelog - for await (const chunk of infile) changelog.push(chunk) - - // write changelog to infile, outfile, or stdout - return void changelog.pipe(writer()) - } -} - -export default ChangelogService diff --git a/grease/providers/index.ts b/grease/providers/index.ts deleted file mode 100644 index 7f5ef6c0..00000000 --- a/grease/providers/index.ts +++ /dev/null @@ -1,6 +0,0 @@ -/** - * @file Entry Point - Providers - * @module grease/providers - */ - -export { default as ChangelogService } from './changelog.service' diff --git a/grease/types/author.ts b/grease/types/author.ts deleted file mode 100644 index dc4b0c31..00000000 --- a/grease/types/author.ts +++ /dev/null @@ -1,21 +0,0 @@ -/** - * @file Type Definitions - Author - * @module grease/types/Author - */ - -/** - * A commit author. - */ -type Author = { - /** - * Commit author email. - */ - email: string - - /** - * Commit author name. - */ - name: string -} - -export type { Author as default } diff --git a/grease/types/breaking-change.ts b/grease/types/breaking-change.ts deleted file mode 100644 index b0baceba..00000000 --- a/grease/types/breaking-change.ts +++ /dev/null @@ -1,28 +0,0 @@ -/** - * @file Type Definitions - BreakingChange - * @module grease/types/BreakingChange - */ - -import type { Nullable } from '@flex-development/tutils' - -/** - * Object representing a breaking change noted in a commit subject or trailer. - */ -type BreakingChange = { - /** - * Commit scope if breaking change was noted in a scoped commit message. - */ - scope: Nullable<string> - - /** - * Commit subject or breaking change trailer value. - */ - subject: string - - /** - * Commit type. - */ - type: string -} - -export type { BreakingChange as default } diff --git a/grease/types/commit-group.ts b/grease/types/commit-group.ts deleted file mode 100644 index 0f031d6f..00000000 --- a/grease/types/commit-group.ts +++ /dev/null @@ -1,64 +0,0 @@ -/** - * @file Type Definitions - CommitGroup - * @module grease/types/CommitGroup - */ - -import type { Commit } from '../interfaces' - -/** - * A hidden group of commits. - * - * @internal - */ -type HiddenCommitGroup = { - /** - * Remove commit group from changelog. - */ - hidden: true - - /** - * Group title. - */ - section?: string - - /** - * Group type. - */ - type: string -} - -/** - * A visible group of commits. - * - * @internal - */ -type VisibleCommitGroup = { - /** - * Remove commit group from changelog. - */ - hidden?: false - - /** - * Group title. - */ - section: string - - /** - * Group type. - */ - type: string -} - -/** - * A group of commits. - */ -type CommitGroup = { - /** - * Grouped commits. - * - * @see {@linkcode Commit} - */ - commits: Commit[] -} & (HiddenCommitGroup | VisibleCommitGroup) - -export type { CommitGroup as default } diff --git a/grease/types/commit-transformer.ts b/grease/types/commit-transformer.ts deleted file mode 100644 index 4147ad17..00000000 --- a/grease/types/commit-transformer.ts +++ /dev/null @@ -1,24 +0,0 @@ -/** - * @file Type Definitions - CommitTransformer - * @module grease/types/CommitTransformer - */ - -import type { Commit } from '../interfaces' - -/** - * Parsed commit transformer. - * - * @see {@linkcode Commit} - * - * @template T - Transformed commit type - * - * @param {Commit} commit - Parsed commit - * @param {string} raw - Raw commit - * @return {T} Transformed commit - */ -type CommitTransformer = <T extends Commit>( - commit: Commit, - raw: string -) => Promise<T> | T - -export type { CommitTransformer as default } diff --git a/grease/types/index.ts b/grease/types/index.ts deleted file mode 100644 index 64692e84..00000000 --- a/grease/types/index.ts +++ /dev/null @@ -1,14 +0,0 @@ -/** - * @file Entry Point - Type Definitions - * @module grease/types - */ - -export type { default as Author } from './author' -export type { default as BreakingChange } from './breaking-change' -export type { default as CommitGroup } from './commit-group' -export type { default as CommitTransformer } from './commit-transformer' -export type { default as RawCommitField } from './raw-commit-field' -export type { default as Reference } from './reference' -export type { default as RepoKeywords } from './repo-keywords' -export type { default as RepoProviderMap } from './repo-provider-map' -export type { default as Trailer } from './trailer' diff --git a/grease/types/raw-commit-field.ts b/grease/types/raw-commit-field.ts deleted file mode 100644 index 5f576255..00000000 --- a/grease/types/raw-commit-field.ts +++ /dev/null @@ -1,18 +0,0 @@ -/** - * @file Type Definitions - RawCommitField - * @module grease/types/RawCommitField - */ - -/** - * Raw commit field names. - */ -type RawCommitField = - | 'body' - | 'date' - | 'hash' - | 'sha' - | 'tags' - | 'trailers' - | `author.${'email' | 'name'}` - -export type { RawCommitField as default } diff --git a/grease/types/reference.ts b/grease/types/reference.ts deleted file mode 100644 index dd5d8829..00000000 --- a/grease/types/reference.ts +++ /dev/null @@ -1,38 +0,0 @@ -/** - * @file Type Definitions - Reference - * @module grease/types/Reference - */ - -import type { Nullable } from '@flex-development/tutils' - -/** - * Object representing a reference to an issue or pull request in a commit. - */ -type Reference = { - /** - * Reference action, if any. - */ - action: Nullable<string> - - /** - * Issue or pull request number. - */ - number: number - - /** - * Repository owner. - */ - owner: Nullable<string> - - /** - * The referenced issue or pull request. - */ - ref: string - - /** - * Repository name. - */ - repo: Nullable<string> -} - -export type { Reference as default } diff --git a/grease/types/repo-keywords.ts b/grease/types/repo-keywords.ts deleted file mode 100644 index 44d73400..00000000 --- a/grease/types/repo-keywords.ts +++ /dev/null @@ -1,35 +0,0 @@ -/** - * @file Type Definitions - RepoKeywords - * @module grease/types/RepoKeywords - */ - -/** - * Keywords used in reference URLs. - */ -type RepoKeywords = { - /** - * Commit reference keyword. - * - * @example - * 'commit' - */ - commit: string - - /** - * Issue reference keyword. - * - * @example - * 'issues' - */ - issue: string - - /** - * Pull request reference keyword. - * - * @example - * 'pull' - */ - pr: string -} - -export type { RepoKeywords as default } diff --git a/grease/types/repo-provider-map.ts b/grease/types/repo-provider-map.ts deleted file mode 100644 index 6e443e4d..00000000 --- a/grease/types/repo-provider-map.ts +++ /dev/null @@ -1,20 +0,0 @@ -/** - * @file Type Definitions - RepoProviderMap - * @module grease/types/RepoProviderMap - */ - -import type { Pick, Simplify } from '@flex-development/tutils' -import type { RepoProvider } from '../enums' -import type { Context } from '../interfaces' - -/** - * Repository provider configuration map. - * - * @see {@linkcode Context} - * @see {@linkcode RepoProvider} - */ -type RepoProviderMap = Simplify< - Record<RepoProvider, Pick<Context, 'host' | 'keywords'>> -> - -export type { RepoProviderMap as default } diff --git a/grease/types/trailer.ts b/grease/types/trailer.ts deleted file mode 100644 index b2015517..00000000 --- a/grease/types/trailer.ts +++ /dev/null @@ -1,23 +0,0 @@ -/** - * @file Type Definitions - Trailer - * @module grease/types/Trailer - */ - -/** - * Object representing a trailer line in a commit message. - * - * @see https://git-scm.com/docs/git-interpret-trailers - */ -type Trailer = { - /** - * Trailer token. - */ - token: string - - /** - * Trailer value. - */ - value: string -} - -export type { Trailer as default } diff --git a/loader.mjs b/loader.mjs deleted file mode 100644 index 6624cd57..00000000 --- a/loader.mjs +++ /dev/null @@ -1,183 +0,0 @@ -/** - * @file Custom Loader Hooks - * @module loader - * @see https://nodejs.org/api/esm.html#loaders - */ - -import { DECORATOR_REGEX } from '@flex-development/decorator-regex' -import * as esm from '@flex-development/esm-types' -import * as mlly from '@flex-development/mlly' -import * as pathe from '@flex-development/pathe' -import * as tscu from '@flex-development/tsconfig-utils' -import * as tutils from '@flex-development/tutils' -import * as esbuild from 'esbuild' -import { URL, fileURLToPath, pathToFileURL } from 'node:url' -import ts from 'typescript' - -// add support for extensionless files in "bin" scripts -// https://github.com/nodejs/modules/issues/488 -mlly.EXTENSION_FORMAT_MAP.set('', mlly.Format.COMMONJS) - -/** - * {@linkcode URL} of tsconfig file. - * - * @type {URL} - * @const tsconfig - */ -const tsconfig = mlly.toURL('tsconfig.json') - -/** - * TypeScript compiler options. - * - * @type {tscu.CompilerOptions} - * @const compilerOptions - */ -const compilerOptions = tscu.loadCompilerOptions(tsconfig) - -/** - * Determines how the given module `url` should be interpreted, retrieved, and - * parsed. - * - * @see {@linkcode esm.LoadHookContext} - * @see {@linkcode esm.LoadHookResult} - * @see {@linkcode esm.LoadHook} - * @see {@linkcode esm.ResolvedModuleUrl} - * @see https://nodejs.org/api/esm.html#loadurl-context-nextload - * - * @async - * - * @param {esm.ResolvedModuleUrl} url - Resolved module URL - * @param {esm.LoadHookContext} context - Hook context - * @return {Promise<esm.LoadHookResult>} Hook result - */ -export const load = async (url, context) => { - // get module format - context.format = context.format ?? (await mlly.getFormat(url)) - - // validate import assertions - mlly.validateAssertions(url, context.format, context.importAssertions) - - /** - * File extension of {@linkcode url}. - * - * @type {pathe.Ext | tutils.EmptyString} - * @const ext - */ - const ext = pathe.extname(url) - - /** - * Module source code. - * - * @type {tutils.Optional<esm.Source<Uint8Array | string>>} - * @var source - */ - let source = await mlly.getSource(url, { format: context.format }) - - // emit decorator metadata - DECORATOR_REGEX.lastIndex = 0 - if (DECORATOR_REGEX.test(source)) { - const { outputText } = ts.transpileModule(source, { - compilerOptions: tscu.normalizeCompilerOptions({ - ...compilerOptions, - sourceMap: false - }), - fileName: url - }) - - source = outputText - } - - // transform typescript files - if (/^\.(?:cts|mts|tsx?)$/.test(ext) && !/\.d\.(?:cts|mts|ts)$/.test(url)) { - // push require condition for .cts files and update format - if (ext === '.cts') { - context.conditions = context.conditions ?? [] - context.conditions.unshift('require', 'node') - context.format = mlly.Format.MODULE - } - - // resolve path aliases - source = await tscu.resolvePaths(source, { - conditions: context.conditions, - ext: '', - parent: url, - tsconfig - }) - - // resolve modules - source = await mlly.resolveModules(source, { - conditions: context.conditions, - parent: url - }) - - // transpile source code - const { code } = await esbuild.transform(source, { - format: 'esm', - keepNames: true, - loader: ext.slice(/^\.[cm]/.test(ext) ? 2 : 1), - minify: false, - sourcefile: fileURLToPath(url), - sourcemap: 'inline', - target: `node${process.versions.node}`, - tsconfigRaw: { compilerOptions } - }) - - // set source code to transpiled source - source = code - } - - return { - format: context.format, - shortCircuit: true, - source: context.format === mlly.Format.COMMONJS ? null : source - } -} - -/** - * Resolves the given module `specifier`, and its module format as a hint to the - * {@linkcode load} hook. - * - * Adds supports for: - * - * - Path alias resolution - * - Extensionless file and directory index resolution - * - * @see {@linkcode esm.ResolveHookContext} - * @see {@linkcode esm.ResolveHookResult} - * @see {@linkcode esm.ResolveHook} - * @see https://nodejs.org/api/esm.html#resolvespecifier-context-nextresolve - * - * @async - * - * @param {string} specifier - Module specifier - * @param {esm.ResolveHookContext} context - Hook context - * @return {Promise<esm.ResolveHookResult>} Hook result - */ -export const resolve = async (specifier, context) => { - const { conditions, parentURL: parent } = context - - // resolve path alias - specifier = await mlly.resolveAlias(specifier, { - aliases: compilerOptions.paths, - conditions, - cwd: pathToFileURL(compilerOptions.baseUrl), - parent - }) - - /** - * Resolved module {@linkcode URL}. - * - * @type {URL} - * @const url - */ - const url = await mlly.resolveModule(specifier, { - conditions, - parent: parent?.startsWith('file:') ? parent : specifier - }) - - return { - format: await mlly.getFormat(url), - shortCircuit: true, - url: url.href - } -} diff --git a/package.json b/package.json index a3306e0a..006f42d4 100644 --- a/package.json +++ b/package.json @@ -1,8 +1,9 @@ { "name": "@flex-development/mkbuild", - "description": "An esbuild based file-to-file transformer and bundler", + "description": "A file-to-file transformer and bundler", "version": "1.0.0-alpha.23", "keywords": [ + "build-tool", "bundle", "bundler", "dts", @@ -10,6 +11,7 @@ "file-to-file", "jsx", "react", + "rollup", "transpile", "transpiler", "typescript" @@ -24,166 +26,277 @@ }, "publishConfig": { "access": "public", - "directory": "./" + "diff-dst-prefix": "mkbuild", + "diff-src-prefix": "mkbuild", + "directory": "./", + "executableFiles": [], + "node-options": null, + "pack-destination": ".", + "parseable": true, + "prefer-dedupe": true, + "provenance": true, + "tag-version-prefix": "" }, "type": "module", "files": [ "CHANGELOG.md", + "LICENSE.md", + "README.md", "dist" ], "bin": "./dist/cli.mjs", "exports": { - ".": "./dist/index.mjs", + ".": { + "mkbuild": "./src/index.mts", + "default": "./dist/index.mjs" + }, "./package.json": "./package.json" }, "imports": { - "#pkg": "./package.json", - "#src": "./src/index.ts", - "#src/*": "./src/*.ts" + "#fixtures/*.ts": "./__fixtures__/*.ts", + "#fixtures/*": "./__fixtures__/*.mts", + "#interfaces/*": { + "mkbuild": "./src/interfaces/*.mts", + "default": "./dist/interfaces/*.d.mts" + }, + "#internal/fs": { + "types": { + "mkbuild": "./src/internal/fs.d.mts", + "default": "./dist/internal/fs.d.mts" + }, + "browser": { + "mkbuild": "./src/internal/fs.browser.mts", + "default": "./dist/internal/fs.browser.mjs" + }, + "node": { + "mkbuild": "./src/internal/fs.node.mts", + "default": "./dist/internal/fs.node.mjs" + }, + "default": "./dist/internal/fs.node.mjs" + }, + "#internal/*": { + "mkbuild": "./src/internal/*.mts", + "default": "./dist/internal/*.mjs" + }, + "#make": { + "mkbuild": "./src/make.mts", + "default": "./dist/make.mjs" + }, + "#plugins/*": { + "mkbuild": "./src/plugins/*.mts", + "default": "./dist/plugins/*.mjs" + }, + "#tests/*": "./__tests__/*.mts", + "#types/*": { + "mkbuild": "./src/types/*.mts", + "default": "./dist/types/*.d.mts" + }, + "#utils/*": { + "mkbuild": "./src/utils/*.mts", + "default": "./dist/utils/*.mjs" + } }, "module": "./dist/index.mjs", "types": "./dist/index.d.mts", "scripts": { - "build": "node --enable-source-maps --loader=./loader.mjs ./src/cli", - "changelog": "yarn grease changelog", - "check:ci": "yarn dedupe --check && yarn check:format && yarn check:lint && yarn check:spelling && yarn typecheck && yarn test:cov && yarn pack && yarn check:types:build && attw package.tgz && yarn clean:pack && yarn pkg-size", - "check:format": "dprint check", + "build": "node --conditions development --conditions mkbuild --experimental-strip-types --experimental-transform-types ./scripts/build.mts", + "check:ci": "yarn dedupe --check && yarn check:format && yarn check:lint && yarn check:spelling && yarn typecheck && yarn test:cov && yarn pack && yarn check:types:build && attw package.tgz && yarn clean:pack", + "check:format": "dprint check --incremental=false", "check:lint": "eslint --exit-on-fatal-error --max-warnings 0 .", "check:spelling": "cspell lint --color --no-progress --relative $@ \"**\"", "check:types": "tsc -p tsconfig.typecheck.json", - "check:types:attw": "yarn pack && attw package.tgz && yarn clean:pack", - "check:types:build": "bash ./scripts/typecheck-build.sh", + "check:types:attw": "yarn pack && attw package.tgz; yarn clean:pack", + "check:types:build": "tsc -p tsconfig.build.json", "check:upgrades": "yarn upgrade-interactive", - "clean:build": "trash ./{dist,*.tgz}", - "clean:coverage": "trash ./coverage", + "clean:build": "trash \"./{dist,*.tgz}\"", "clean:modules": "trash ./.yarn/{cache,*.gz} ./node_modules", - "clean:pack": "trash ./*.tgz", - "clean:test": "yarn clean:coverage && trash ./__tests__/report.json", + "clean:pack": "trash \"./*.tgz\"", + "clean:test": "trash ./coverage && trash __tests__/reports", "codecov": "yarn test:cov && yarn test:cov:upload", "codecov:validate": "cat .codecov.yml | curl --data-binary @- https://codecov.io/validate", - "commitlint": "cross-env TS_NODE_PROJECT=tsconfig.cjs.json commitlint -V", + "commitlint": "commitlint -V", "fix:cg": "yarn fix:format && yarn fix:lint", "fix:dedupe": "yarn dedupe --strategy=highest", "fix:format": "dprint fmt", "fix:lint": "yarn check:lint --cache --fix", - "grease": "node --enable-source-maps --loader=./loader.mjs ./grease", - "pkg-size": "pkg-size --sizes size --sort-by name", - "postinstall": "[ -f ./node_modules/.bin/husky ] && chmod +x .husky/* && husky install || exit 0", + "postinstall": "[ -f ./node_modules/.bin/husky ] && chmod +x .husky/* && husky || exit 0", "postpack": "toggle-scripts +postinstall", "postpublish": "toggle-scripts +prepack", "prepack": "toggle-scripts -postinstall && yarn build", "prepublishOnly": "toggle-scripts -prepack", - "recommended-bump": "conventional-recommended-bump --preset=conventionalcommits --tag-prefix=$(jq .tagPrefix package.json -r) --verbose", "release": "bash ./scripts/release.sh", - "test": "vitest run", - "test:cov": "yarn clean:coverage; yarn test --coverage", - "test:cov:serve": "vite preview --outDir ./coverage", + "remark": "remark .", + "test": "yarn clean:build; cross-env NODE_OPTIONS=\"--conditions mkbuild --experimental-strip-types --experimental-transform-types\" vitest run", + "test:cov": "yarn test --coverage", + "test:cov:reports": "yarn test:cov --merge-reports --mode=reports", + "test:cov:ui": "yarn test:ui --coverage", "test:cov:upload": "./codecov -t $CODECOV_TOKEN -f ./coverage/lcov.info", - "test:watch": "vitest", - "typecheck": "vitest typecheck --run", - "typecheck:watch": "vitest typecheck" + "test:reports": "yarn test --merge-reports --mode=reports", + "test:ui": "cross-env VITEST_UI=1 NODE_OPTIONS=\"--conditions mkbuild --experimental-strip-types --experimental-transform-types\" vitest --ui", + "typecheck": "yarn test --typecheck --mode=typecheck", + "typecheck:ui": "yarn test:ui --typecheck --mode=typecheck" }, "dependencies": { - "@flex-development/decorator-regex": "2.0.0", - "@flex-development/errnode": "2.0.0", - "@flex-development/ext-regex": "2.0.0", - "@flex-development/mlly": "1.0.0-alpha.18", - "@flex-development/pathe": "2.0.0", - "@flex-development/pkg-types": "3.0.0", - "@flex-development/toggle-pkg-type": "2.0.1", - "@flex-development/tsconfig-utils": "2.0.2", - "@flex-development/tutils": "6.0.0-alpha.22", - "consola": "3.2.3", - "cosmiconfig": "8.3.6", - "exit-hook": "3.2.0", - "fast-glob": "3.3.1", - "pretty-bytes": "6.1.1", - "tinyrainbow": "1.1.1" + "@flex-development/errnode": "3.1.1", + "@flex-development/fst-util-from-fs": "1.0.0-alpha.1", + "@flex-development/is-builtin": "3.2.0", + "@flex-development/mlly": "1.0.0-alpha.20", + "@flex-development/pathe": "4.0.1", + "@flex-development/tsconfig-types": "5.1.0", + "@flex-development/tsconfig-utils": "flex-development/tsconfig-utils#commit=b562e6ef751afe112c799b529dbefaa19e6d7d7f", + "@flex-development/tutils": "6.0.0-alpha.25", + "@flex-development/vfile-location": "1.1.0", + "@rollup/pluginutils": "5.1.4", + "@types/rollup": "0.54.0", + "devlop": "1.1.0", + "json5": "2.2.3", + "magic-string": "0.30.17", + "rollup": "4.31.0", + "smob": "1.5.0" }, "devDependencies": { - "@arethetypeswrong/cli": "0.12.2", - "@commitlint/cli": "17.8.0", - "@commitlint/types": "17.4.4", - "@faker-js/faker": "8.2.0", + "@arethetypeswrong/cli": "0.17.3", + "@commitlint/cli": "19.6.1", + "@commitlint/types": "19.5.0", + "@eslint/js": "9.18.0", + "@faker-js/faker": "9.4.0", "@flex-development/commitlint-config": "1.0.1", - "@flex-development/esm-types": "2.0.0", + "@flex-development/fst": "1.0.0", + "@flex-development/grease": "3.0.0-alpha.9", "@flex-development/nest-commander": "1.0.0-alpha.1", - "@nestjs/common": "10.2.7", - "@nestjs/core": "10.2.7", - "@nestjs/testing": "10.2.7", - "@swc/core": "1.3.93", - "@types/chai": "4.3.5", - "@types/chai-fs": "2.0.2", - "@types/chai-string": "1.4.2", - "@types/dateformat": "5.0.0", - "@types/eslint": "8.44.2", - "@types/is-ci": "3.0.0", - "@types/node": "20.6.0", - "@types/node-notifier": "8.0.2", - "@types/semver": "7.5.0", - "@typescript-eslint/eslint-plugin": "6.8.0", - "@typescript-eslint/parser": "6.8.0", + "@flex-development/pkg-types": "4.1.0", + "@flex-development/unist-util-inspect": "1.0.1", + "@flex-development/unist-util-types": "1.6.1", + "@stylistic/eslint-plugin": "2.10.0", + "@tsconfig/strictest": "2.0.5", + "@types/chai": "5.0.1", + "@types/chai-string": "1.4.5", + "@types/envinfo": "7.8.4", + "@types/eslint": "9.6.1", + "@types/eslint__js": "8.42.3", + "@types/is-ci": "3.0.4", + "@types/node": "22.10.7", + "@types/node-notifier": "8.0.5", + "@typescript-eslint/eslint-plugin": "8.21.1-alpha.2", + "@typescript-eslint/parser": "8.21.1-alpha.2", "@vates/toggle-scripts": "1.0.0", - "@vitest/coverage-v8": "0.34.6", - "@vitest/expect": "0.34.6", - "chai": "5.0.0-alpha.1", - "chai-each": "0.0.1", - "chai-fs": "2.0.0", - "chai-quantifiers": "1.0.17", + "@vitest/coverage-v8": "3.0.3", + "@vitest/ui": "3.0.3", + "chai": "5.1.2", "chai-string": "1.5.0", - "class-validator": "0.14.0", - "conventional-recommended-bump": "9.0.0", + "class-validator": "0.14.1", "cross-env": "7.0.3", - "cspell": "7.3.8", - "dateformat": "5.0.3", - "dprint": "0.41.0", + "cspell": "8.17.2", + "dprint": "0.48.0", "editorconfig": "2.0.0", - "esbuild": "0.19.5", - "eslint": "8.51.0", - "eslint-import-resolver-typescript": "3.6.1", - "eslint-plugin-chai-expect": "3.0.0", - "eslint-plugin-import": "2.28.1", + "envinfo": "7.14.0", + "esbuild": "0.24.2", + "eslint": "9.18.0", + "eslint-import-resolver-typescript": "3.7.0", + "eslint-mdx": "3.1.5", + "eslint-plugin-chai-expect": "3.1.0", + "eslint-plugin-import": "2.31.0", "eslint-plugin-jest-formatting": "3.1.0", - "eslint-plugin-jsdoc": "44.1.0", - "eslint-plugin-jsonc": "2.10.0", - "eslint-plugin-markdown": "3.0.1", - "eslint-plugin-markdownlint": "0.5.0", - "eslint-plugin-node": "11.1.0", - "eslint-plugin-promise": "6.1.1", - "eslint-plugin-unicorn": "48.0.1", - "eslint-plugin-yml": "1.10.0", + "eslint-plugin-jsdoc": "50.6.2", + "eslint-plugin-jsonc": "2.18.2", + "eslint-plugin-mdx": "3.1.5", + "eslint-plugin-n": "17.15.1", + "eslint-plugin-promise": "7.2.1", + "eslint-plugin-unicorn": "56.0.1", + "eslint-plugin-yml": "1.16.0", + "globals": "15.14.0", "growl": "1.10.5", - "husky": "8.0.3", - "is-ci": "3.0.1", - "jsonc-eslint-parser": "2.3.0", - "lint-staged": "15.0.1", - "lodash-es": "4.17.21", - "memfs": "4.6.0", - "node-emoji": "2.1.0", + "husky": "9.1.7", + "is-ci": "4.1.0", + "jsonc-eslint-parser": "2.4.0", "node-notifier": "10.0.1", - "pkg-size": "2.4.0", - "prettier": "3.0.3", - "pretty-format": "29.7.0", - "reflect-metadata": "0.1.13", - "rxjs": "7.8.1", - "semver": "7.5.4", - "sh-syntax": "0.4.1", - "trash-cli": "5.0.0", + "prettier": "3.4.2", + "remark": "15.0.1", + "remark-cli": "12.0.1", + "remark-directive": "3.0.0", + "remark-frontmatter": "5.0.0", + "remark-gfm": "4.0.0", + "remark-lint": "10.0.0", + "remark-lint-blockquote-indentation": "4.0.0", + "remark-lint-checkbox-character-style": "5.0.0", + "remark-lint-checkbox-content-indent": "5.0.0", + "remark-lint-code-block-style": "4.0.0", + "remark-lint-definition-case": "4.0.0", + "remark-lint-definition-spacing": "4.0.0", + "remark-lint-emphasis-marker": "4.0.0", + "remark-lint-fenced-code-flag": "4.0.0", + "remark-lint-fenced-code-marker": "4.0.0", + "remark-lint-file-extension": "3.0.0", + "remark-lint-final-definition": "4.0.1", + "remark-lint-final-newline": "3.0.0", + "remark-lint-first-heading-level": "4.0.0", + "remark-lint-hard-break-spaces": "4.0.0", + "remark-lint-heading-increment": "4.0.0", + "remark-lint-heading-style": "4.0.0", + "remark-lint-linebreak-style": "4.0.0", + "remark-lint-link-title-style": "4.0.0", + "remark-lint-list-item-bullet-indent": "5.0.0", + "remark-lint-list-item-content-indent": "4.0.0", + "remark-lint-list-item-indent": "4.0.0", + "remark-lint-list-item-spacing": "5.0.0", + "remark-lint-maximum-heading-length": "4.0.0", + "remark-lint-maximum-line-length": "4.0.1", + "remark-lint-no-blockquote-without-marker": "6.0.0", + "remark-lint-no-consecutive-blank-lines": "5.0.0", + "remark-lint-no-duplicate-defined-urls": "3.0.0", + "remark-lint-no-duplicate-definitions": "4.0.0", + "remark-lint-no-duplicate-headings-in-section": "4.0.0", + "remark-lint-no-emphasis-as-heading": "4.0.0", + "remark-lint-no-empty-url": "4.0.0", + "remark-lint-no-file-name-articles": "3.0.0", + "remark-lint-no-file-name-consecutive-dashes": "3.0.0", + "remark-lint-no-file-name-irregular-characters": "3.0.0", + "remark-lint-no-file-name-mixed-case": "3.0.0", + "remark-lint-no-file-name-outer-dashes": "3.0.0", + "remark-lint-no-heading-content-indent": "5.0.0", + "remark-lint-no-heading-indent": "5.0.0", + "remark-lint-no-heading-like-paragraph": "4.0.0", + "remark-lint-no-heading-punctuation": "4.0.0", + "remark-lint-no-literal-urls": "4.0.0", + "remark-lint-no-missing-blank-lines": "4.0.0", + "remark-lint-no-multiple-toplevel-headings": "4.0.0", + "remark-lint-no-paragraph-content-indent": "5.0.0", + "remark-lint-no-shell-dollars": "4.0.0", + "remark-lint-no-shortcut-reference-image": "4.0.0", + "remark-lint-no-shortcut-reference-link": "4.0.0", + "remark-lint-no-table-indentation": "5.0.0", + "remark-lint-no-tabs": "4.0.0", + "remark-lint-no-undefined-references": "5.0.0", + "remark-lint-no-unneeded-full-reference-image": "4.0.0", + "remark-lint-no-unneeded-full-reference-link": "4.0.0", + "remark-lint-no-unused-definitions": "4.0.0", + "remark-lint-no-url-trailing-slash": "3.0.1", + "remark-lint-ordered-list-marker-style": "4.0.0", + "remark-lint-ordered-list-marker-value": "4.0.0", + "remark-lint-rule-style": "4.0.0", + "remark-lint-strikethrough-marker": "3.0.0", + "remark-lint-strong-marker": "4.0.0", + "remark-lint-table-cell-padding": "5.0.0", + "remark-lint-table-pipe-alignment": "4.0.0", + "remark-lint-table-pipes": "5.0.0", + "remark-lint-unordered-list-marker-style": "4.0.0", + "remark-validate-links": "13.0.2", + "sh-syntax": "0.4.2", + "trash-cli": "6.0.0", "ts-dedent": "2.2.0", - "typescript": "5.2.2", - "version-bump-prompt": "6.1.0", - "vite": "5.0.0-beta.10", - "vite-tsconfig-paths": "4.2.1", - "vitest": "0.34.6", - "yaml-eslint-parser": "1.2.2" + "typescript": "5.7.3", + "typescript-eslint": "8.21.1-alpha.2", + "unified": "11.0.5", + "vfile": "6.0.3", + "vitest": "3.0.3", + "yaml-eslint-parser": "1.2.3" }, "peerDependencies": { - "@types/node": ">=16.18.23", - "esbuild": ">=0.19.0", - "typescript": ">=5.0.4" + "esbuild": ">=0.24.0", + "typescript": ">=5.2.2" }, "peerDependenciesMeta": { - "@types/node": { + "esbuild": { "optional": true }, "typescript": { @@ -191,16 +304,11 @@ } }, "resolutions": { - "@flex-development/tutils": "6.0.0-alpha.22", - "chai": "5.0.0-alpha.1", - "esbuild": "0.19.5" + "esbuild": "0.24.2" }, "engines": { - "node": ">=16.20.0 <20.6.0 || >20.6.0", - "yarn": "4.0.0-rc.50" + "node": ">=18.20.4 <20.6.0 || >20.6.0" }, - "packageManager": "yarn@4.0.0-rc.50", - "readme": "README.md", - "sideEffects": false, - "tagPrefix": "" + "packageManager": "yarn@4.6.0", + "sideEffects": false } diff --git a/scripts/build.mts b/scripts/build.mts new file mode 100644 index 00000000..f31ef2be --- /dev/null +++ b/scripts/build.mts @@ -0,0 +1,18 @@ +/** + * @file build + * @module scripts/build + */ + +import { make, type Report } from '@flex-development/mkbuild' +import config from '../build.config.mts' + +/** + * Build report. + * + * @const {Report} report + */ +const report: Report = await make({ ...config, write: true }) + +for (const result of report.builds) { + if (result.failure) console.error(result.failure) +} diff --git a/scripts/release.sh b/scripts/release.sh index c14bb8b4..e3fa5484 100644 --- a/scripts/release.sh +++ b/scripts/release.sh @@ -1,5 +1,7 @@ #!/bin/sh +set -e + # Local Release Workflow # # 1. run typecheck @@ -7,32 +9,19 @@ # 3. pack project # 4. run postbuild typecheck # 5. analyze types -# 6. print package size report -# 7. get new package version -# 8. get release branch name -# 9. switch to release branch -# 10. stage changes -# 11. commit changes -# 12. push release branch to origin -# 13. create pull request -# 14. cleanup +# 6. create release chore commit +# 7. cleanup # # References: # -# - https://cli.github.com/manual/gh_pr_create -# - https://github.com/arethetypeswrong/arethetypeswrong.github.io +# - https://git-scm.com/docs/git-commit +# - https://github.com/flex-development/grease +# - https://jqlang.github.io yarn typecheck yarn test:cov yarn pack yarn check:types:build attw package.tgz -yarn pkg-size -VERSION=$(jq .version package.json -r) -RELEASE_BRANCH=release/$VERSION -git switch -c $RELEASE_BRANCH -git add . -git commit -s -m "release: $(jq .tagPrefix package.json -r)$VERSION" -git push origin -u --no-verify $RELEASE_BRANCH -gh pr create --assignee @me --label scope:release --web +git commit --allow-empty -S -s -m "release(chore): $(jq .version -r <<<$(grease bump -j $@))" yarn clean:pack diff --git a/scripts/typecheck-build.sh b/scripts/typecheck-build.sh deleted file mode 100644 index ddcfc15d..00000000 --- a/scripts/typecheck-build.sh +++ /dev/null @@ -1,12 +0,0 @@ -#!/bin/sh - -# Postbuild Typecheck Workflow - -# set initial tsconfig file -TSCONFIG='tsconfig.build.json' - -# change tsconfig file if typescript version is not at least 5 -[[ ! $(jq .devDependencies.typescript package.json -r) = 5* ]] && TSCONFIG=__tests__/ts/v4/$TSCONFIG - -# run typecheck -tsc -p $TSCONFIG diff --git a/src/.npmignore b/src/.npmignore deleted file mode 100644 index 8dafe5f6..00000000 --- a/src/.npmignore +++ /dev/null @@ -1,8 +0,0 @@ -# NPM IGNORE -# https://npm.github.io/publishing-pkgs-docs/publishing/the-npmignore-file.html -# https://github.com/yarnpkg/yarn/issues/685#issuecomment-457618561 - -# DIRECTORIES & FILES -**/__mocks__/** -**/__snapshots__/** -**/__tests__/** diff --git a/src/__mocks__/make.ts b/src/__mocks__/make.ts deleted file mode 100644 index 8644f03b..00000000 --- a/src/__mocks__/make.ts +++ /dev/null @@ -1,6 +0,0 @@ -/** - * @file Mocks - make - * @module mkbuild/mocks/make - */ - -export default vi.fn() diff --git a/src/__snapshots__/index.e2e.snap b/src/__snapshots__/index.e2e.snap new file mode 100644 index 00000000..35227481 --- /dev/null +++ b/src/__snapshots__/index.e2e.snap @@ -0,0 +1,14 @@ +// Vitest Snapshot v1, https://vitest.dev/guide/snapshot.html + +exports[`e2e:mkbuild > should expose public api 1`] = ` +[ + "make", + "defineBuildConfig", + "formatToExt", + "gitignore", + "IGNORE_PATTERNS", + "loadBuildConfig", + "runnableTask", + "TASK_PLUGIN_NAME", +] +`; diff --git a/src/__snapshots__/make.e2e.snap b/src/__snapshots__/make.e2e.snap deleted file mode 100644 index d21e73eb..00000000 --- a/src/__snapshots__/make.e2e.snap +++ /dev/null @@ -1,159 +0,0 @@ -// Vitest Snapshot v1, https://vitest.dev/guide/snapshot.html - -exports[`e2e:make > cjs > should create bundle in cjs format 1`] = ` -[ - { - "cwd": "\${process.cwd()}/__fixtures__/pkg/my-atoi", - "errors": [], - "mangleCache": undefined, - "outdir": "dist", - "outputs": [ - { - "entryPoint": "src/index.cts", - "outfile": "dist/index.cjs", - "path": "\${process.cwd()}/__fixtures__/pkg/my-atoi/dist/index.cjs", - }, - ], - "warnings": [], - }, -] -`; - -exports[`e2e:make > cjs > should create bundleless build in cjs format 1`] = ` -[ - { - "cwd": "\${process.cwd()}/__fixtures__/pkg/my-atoi", - "errors": [], - "mangleCache": undefined, - "outdir": "dist", - "outputs": [ - { - "entryPoint": "src/index.cts", - "outfile": "dist/index.cjs", - "path": "\${process.cwd()}/__fixtures__/pkg/my-atoi/dist/index.cjs", - }, - { - "entryPoint": "src/max-value.ts", - "outfile": "dist/max-value.cjs", - "path": "\${process.cwd()}/__fixtures__/pkg/my-atoi/dist/max-value.cjs", - }, - { - "entryPoint": "src/min-value.ts", - "outfile": "dist/min-value.cjs", - "path": "\${process.cwd()}/__fixtures__/pkg/my-atoi/dist/min-value.cjs", - }, - { - "entryPoint": "src/my-atoi.cts", - "outfile": "dist/my-atoi.cjs", - "path": "\${process.cwd()}/__fixtures__/pkg/my-atoi/dist/my-atoi.cjs", - }, - ], - "warnings": [], - }, -] -`; - -exports[`e2e:make > esm > should create bundle in esm format 1`] = ` -[ - { - "cwd": "\${process.cwd()}/__fixtures__/pkg/dbl-linear", - "errors": [], - "mangleCache": undefined, - "outdir": "dist", - "outputs": [ - { - "entryPoint": "dbl-linear.ts", - "outfile": "dist/index.mjs", - "path": "\${process.cwd()}/__fixtures__/pkg/dbl-linear/dist/index.mjs", - }, - ], - "warnings": [], - }, -] -`; - -exports[`e2e:make > esm > should create bundleless build in esm format 1`] = ` -[ - { - "cwd": "\${process.cwd()}/__fixtures__/pkg/dbl-linear", - "errors": [], - "mangleCache": undefined, - "outdir": "dist", - "outputs": [ - { - "entryPoint": "dbl-linear.ts", - "outfile": "dist/dbl-linear.mjs", - "path": "\${process.cwd()}/__fixtures__/pkg/dbl-linear/dist/dbl-linear.mjs", - }, - ], - "warnings": [], - }, -] -`; - -exports[`e2e:make > iife > should create bundle in iife format 1`] = ` -[ - { - "cwd": "\${process.cwd()}/__fixtures__/pkg/tribonacci", - "errors": [], - "mangleCache": undefined, - "outdir": "dist", - "outputs": [ - { - "entryPoint": "src/tribonacci.ts", - "outfile": "dist/index.js", - "path": "\${process.cwd()}/__fixtures__/pkg/tribonacci/dist/index.js", - }, - ], - "warnings": [], - }, -] -`; - -exports[`e2e:make > iife > should create bundleless build in iife format 1`] = ` -[ - { - "cwd": "\${process.cwd()}/__fixtures__/pkg/tribonacci", - "errors": [], - "mangleCache": undefined, - "outdir": "dist", - "outputs": [ - { - "entryPoint": "src/tribonacci.ts", - "outfile": "dist/tribonacci.js", - "path": "\${process.cwd()}/__fixtures__/pkg/tribonacci/dist/tribonacci.js", - }, - ], - "warnings": [], - }, -] -`; - -exports[`e2e:make > should copy files to output directory 1`] = ` -[ - { - "cwd": "\${process.cwd()}/__fixtures__/pkg/sum-of-intervals", - "errors": [], - "mangleCache": undefined, - "outdir": "dist", - "outputs": [ - { - "entryPoint": "sum-of-intervals.cjs", - "outfile": "dist/sum-of-intervals.cjs", - "path": "\${process.cwd()}/__fixtures__/pkg/sum-of-intervals/dist/sum-of-intervals.cjs", - }, - { - "entryPoint": "sum-of-intervals.d.ts", - "outfile": "dist/sum-of-intervals.d.ts", - "path": "\${process.cwd()}/__fixtures__/pkg/sum-of-intervals/dist/sum-of-intervals.d.ts", - }, - { - "entryPoint": "sum-of-intervals.mjs", - "outfile": "dist/sum-of-intervals.mjs", - "path": "\${process.cwd()}/__fixtures__/pkg/sum-of-intervals/dist/sum-of-intervals.mjs", - }, - ], - "warnings": [], - }, -] -`; diff --git a/src/__tests__/index.e2e.spec.mts b/src/__tests__/index.e2e.spec.mts new file mode 100644 index 00000000..cb4f1329 --- /dev/null +++ b/src/__tests__/index.e2e.spec.mts @@ -0,0 +1,12 @@ +/** + * @file E2E Tests - api + * @module mkbuild/tests/e2e/api + */ + +import * as testSubject from '@flex-development/mkbuild' + +describe('e2e:mkbuild', () => { + it('should expose public api', () => { + expect(Object.keys(testSubject)).toMatchSnapshot() + }) +}) diff --git a/src/__tests__/make.e2e.spec.ts b/src/__tests__/make.e2e.spec.ts deleted file mode 100644 index aa27c932..00000000 --- a/src/__tests__/make.e2e.spec.ts +++ /dev/null @@ -1,132 +0,0 @@ -/** - * @file E2E Tests - make - * @module mkbuild/tests/make/e2e - */ - -import type { Config } from '#src/interfaces' -import type { Platform } from 'esbuild' -import testSubject from '../make' - -vi.mock('../plugins/clean/plugin') - -describe('e2e:make', () => { - let configfile: false - let dts: false - - beforeAll(() => { - configfile = false - dts = false - }) - - it('should copy files to output directory', async () => { - // Act - const results = await testSubject({ - configfile, - cwd: '__fixtures__/pkg/sum-of-intervals', - dts, - loader: { '.cjs': 'copy', '.mjs': 'copy' }, - source: '.' - }) - - // Expect - expect(results).toMatchSnapshot() - }) - - describe('cjs', () => { - let config: Config - - beforeAll(() => { - config = { - configfile, - cwd: '__fixtures__/pkg/my-atoi', - dts, - format: 'cjs', - tsconfig: 'tsconfig.json' - } - }) - - it('should create bundle in cjs format', async () => { - // Arrange - const bundle: boolean = true - const name: string = 'index' - - // Act + Expect - expect(await testSubject({ ...config, bundle, name })).toMatchSnapshot() - }) - - it('should create bundleless build in cjs format', async () => { - expect(await testSubject(config)).toMatchSnapshot() - }) - }) - - describe('esm', () => { - let config: Config - - beforeAll(() => { - config = { configfile, cwd: '__fixtures__/pkg/dbl-linear', dts } - }) - - it('should create bundle in esm format', async () => { - // Arrange - const bundle: boolean = true - const name: string = 'index' - const platform: Platform = 'node' - const source: string = 'dbl-linear.ts' - - // Act - const results = await testSubject({ - ...config, - bundle, - dts, - name, - platform, - source - }) - - // Expect - expect(results).toMatchSnapshot() - }) - - it('should create bundleless build in esm format', async () => { - // Arrange - const pattern: string = 'dbl-linear.ts' - const source: string = '.' - - // Act - const results = await testSubject({ ...config, pattern, source }) - - // Expect - expect(results).toMatchSnapshot() - }) - }) - - describe('iife', () => { - let config: Config - - beforeAll(() => { - config = { - configfile, - cwd: '__fixtures__/pkg/tribonacci', - dts, - format: 'iife' - } - }) - - it('should create bundle in iife format', async () => { - // Arrange - const bundle: boolean = true - const name: string = 'index' - const source: string = 'src/tribonacci' - - // Act - const results = await testSubject({ ...config, bundle, name, source }) - - // Expect - expect(results).toMatchSnapshot() - }) - - it('should create bundleless build in iife format', async () => { - expect(await testSubject(config)).toMatchSnapshot() - }) - }) -}) diff --git a/src/__tests__/make.functional.spec.ts b/src/__tests__/make.functional.spec.ts deleted file mode 100644 index ec32f28c..00000000 --- a/src/__tests__/make.functional.spec.ts +++ /dev/null @@ -1,204 +0,0 @@ -/** - * @file Functional Tests - make - * @module mkbuild/tests/make/functional - */ - -import loadBuildConfig from '#src/config/load' -import type { Context } from '#src/interfaces' -import createContext from '#src/internal/create-context' -import analyzeOutputs from '#src/utils/analyze-outputs' -import getPackageJson from '#tests/utils/get-package-json' -import * as mlly from '@flex-development/mlly' -import pathe from '@flex-development/pathe' -import type { PackageJson } from '@flex-development/pkg-types' -import { cast } from '@flex-development/tutils' -import consola from 'consola' -import type * as esbuild from 'esbuild' -import { asyncExitHook as exitHook } from 'exit-hook' -import color from 'tinyrainbow' -import testSubject from '../make' - -vi.mock('@flex-development/mlly') -vi.mock('exit-hook') -vi.mock('../config/load') -vi.mock('../internal/create-context') -vi.mock('../plugins/clean/plugin') -vi.mock('../plugins/write/plugin') -vi.mock('../utils/analyze-outputs') - -describe('functional:make', () => { - let context: Context - let cwd: string - let outfile: string - let outputs: esbuild.Metafile['outputs'] - let pattern: string - let pkgjson: PackageJson - - beforeAll(async () => { - cwd = '__fixtures__/pkg/dbl-linear' - outfile = 'dist/dbl-linear.mjs' - pattern = 'dbl-linear.ts' - pkgjson = await getPackageJson(cwd + '/package.json') - - outputs = { - [outfile]: { - bytes: 350, - entryPoint: pattern, - exports: [], - imports: [], - inputs: {} - } - } - - context = { - cancel: vi.fn(), - dispose: vi.fn(), - rebuild: vi.fn(async () => ({ - errors: [], - mangleCache: undefined, - metafile: cast<esbuild.Metafile>({ - inputs: { [pattern]: { bytes: 1501, format: 'esm', imports: [] } }, - outputs - }), - outputFiles: [ - { - bytes: 350, - contents: new Uint8Array(350), - entryPoint: pattern, - exports: ['default'], - hash: faker.string.sample({ max: 11, min: 11 }), - imports: [], - outfile, - path: pathe.resolve(cwd, outfile), - text: '' - } - ], - warnings: [] - })), - serve: vi.fn(), - watch: vi.fn() - } - - consola.mockTypes(() => vi.fn()) - }) - - beforeEach(() => { - vi.mocked(createContext).mockResolvedValue(context) - }) - - describe('build', () => { - beforeEach(async () => { - await testSubject({ cwd, dts: false, pattern, write: true }) - }) - - it('should load build config', () => { - expect(loadBuildConfig).toHaveBeenCalledOnce() - expect(loadBuildConfig).toHaveBeenCalledWith(cwd) - }) - - it('should load package.json from current working directory', () => { - expect(mlly.readPackageJson).toHaveBeenCalledOnce() - expect(mlly.readPackageJson).toHaveBeenCalledWith(pathe.resolve(cwd)) - }) - - it('should print build start info', () => { - // Arrange - const message: string = `Building ${pkgjson.name}` - - // Expect - expect(consola.info).toHaveBeenCalledWith(color.cyan(message)) - }) - - it('should create build context', () => { - expect(createContext).toHaveBeenCalledOnce() - }) - - it('should do static build', () => { - expect(context.rebuild).toHaveBeenCalledOnce() - }) - - it('should print build done info', () => { - // Arrange - const message: string = `Build succeeded for ${pkgjson.name}` - - // Expect - expect(consola.success).toHaveBeenCalledWith(color.green(message)) - }) - - it('should print build output analysis', () => { - expect(analyzeOutputs).toHaveBeenCalledTimes(1) - expect(analyzeOutputs).toHaveBeenCalledWith('.', outputs) - }) - - it('should print total build size', () => { - // Arrange - const bytes: string = expect.any(String) - - // Expect - expect(consola.log).lastCalledWith('Σ Total build size:', bytes) - }) - }) - - describe('serve', () => { - beforeEach(async () => { - await testSubject({ configfile: false, cwd, serve: true }) - }) - - it('should load package.json from current working directory', () => { - expect(mlly.readPackageJson).toHaveBeenCalledOnce() - expect(mlly.readPackageJson).toHaveBeenCalledWith(pathe.resolve(cwd)) - }) - - it('should print serve start info', () => { - // Arrange - const message: string = `Serving ${pkgjson.name}` - - // Expect - expect(consola.info).toHaveBeenCalledWith(color.cyan(message)) - }) - - it('should create build context', () => { - expect(createContext).toHaveBeenCalledOnce() - }) - - it('should enable serve mode', () => { - expect(context.serve).toHaveBeenCalledOnce() - expect(context.serve).toHaveBeenCalledWith({}) - }) - - it('should add hook to dispose build context on process exit', () => { - expect(exitHook).toHaveBeenCalledOnce() - }) - }) - - describe('watch', () => { - beforeEach(async () => { - await testSubject({ configfile: false, cwd, watch: true }) - }) - - it('should load package.json from current working directory', () => { - expect(mlly.readPackageJson).toHaveBeenCalledOnce() - expect(mlly.readPackageJson).toHaveBeenCalledWith(pathe.resolve(cwd)) - }) - - it('should print watch start info', () => { - // Arrange - const message: string = `Watching ${pkgjson.name}` - - // Expect - expect(consola.info).toHaveBeenCalledWith(color.cyan(message)) - }) - - it('should create build context', () => { - expect(createContext).toHaveBeenCalledOnce() - }) - - it('should enable watch mode', () => { - expect(context.watch).toHaveBeenCalledOnce() - }) - - it('should add hook to dispose build context on process exit', () => { - expect(exitHook).toHaveBeenCalledOnce() - }) - }) -}) diff --git a/src/__tests__/make.spec.mts b/src/__tests__/make.spec.mts new file mode 100644 index 00000000..c1cea881 --- /dev/null +++ b/src/__tests__/make.spec.mts @@ -0,0 +1,93 @@ +/** + * @file Unit Tests - make + * @module mkbuild/tests/make/unit + */ + +import reverse from '#fixtures/pkg/reverse/build.config' +import tribonacci from '#fixtures/pkg/tribonacci/build.config.ts' +import testSubject from '#make' +import type { Report } from '@flex-development/mkbuild' +import { + constant, + isObjectPlain, + type Fn +} from '@flex-development/tutils' + +describe('unit:make', () => { + it.each<[ + ...Parameters<typeof testSubject>, + Fn<Parameters<typeof testSubject>, Fn<[Report], undefined>>? + ]>([ + [ + null, + function assertion(this: void): Fn<[Report], undefined> { + return assert + + /** + * @this {void} + * + * @param {Report} report + * Build report + * @return {undefined} + */ + function assert(report: Report): undefined { + return void expect(report).to.have.property('builds').be.of.length(0) + } + } + ], + [ + reverse, + function assertion(this: void): Fn<[Report], undefined> { + return assert + + /** + * @this {void} + * + * @param {Report} report + * Build report + * @return {undefined} + */ + function assert(report: Report): undefined { + expect(report).to.have.property('builds').be.of.length(1) + expect(report.builds).to.each.have.property('failure', null) + + return void report + } + } + ], + [ + tribonacci, + function assertion(this: void): Fn<[Report], undefined> { + return assert + + /** + * @this {void} + * + * @param {Report} report + * Build report + * @return {undefined} + */ + function assert(report: Report): undefined { + expect(report).to.have.property('builds').be.of.length(2) + expect(report.builds).to.each.have.property('failure', null) + + return void report + } + } + ] + ])('should return build report (%#)', async ( + config, + assert = constant(constant(undefined)) + ) => { + // Act + const result = await testSubject(config) + + // Expect + expect(result).to.satisfy(isObjectPlain) + expect(result).to.have.property('builds').be.an('array') + expect(result).to.have.property('size').be.a('number') + + // Assert + assert(config)(result) + }) +}) diff --git a/src/__tests__/make.spec.ts b/src/__tests__/make.spec.ts deleted file mode 100644 index b962e1e9..00000000 --- a/src/__tests__/make.spec.ts +++ /dev/null @@ -1,31 +0,0 @@ -/** - * @file Unit Tests - make - * @module mkbuild/tests/make/unit - */ - -import { ErrorCode, type NodeError } from '@flex-development/errnode' -import pathe from '@flex-development/pathe' -import testSubject from '../make' - -describe('unit:make', () => { - it('should throw if package.json file is not found', async () => { - // Arrange - const base: string = pathe.resolve('src/make.ts') - const cwd: string = '__fixtures__/pkg/no-package-json' - const id: string = pathe.resolve(cwd, 'package.json') - const message: string = `Cannot find module '${id}' imported from ${base}` - let error!: NodeError - - // Act - try { - await testSubject({ configfile: false, cwd }) - assert.fail('expected exception not thrown') - } catch (e: unknown) { - error = e as typeof error - } - - // Expect - expect(error).to.have.property('code').equal(ErrorCode.ERR_MODULE_NOT_FOUND) - expect(error).to.have.property('message').equal(message) - }) -}) diff --git a/src/cli/__tests__/app.module.functional.spec.ts b/src/cli/__tests__/app.module.functional.spec.ts deleted file mode 100644 index 84f2ca5b..00000000 --- a/src/cli/__tests__/app.module.functional.spec.ts +++ /dev/null @@ -1,133 +0,0 @@ -/** - * @file Functional Tests - AppModule - * @module mkbuild/cli/tests/functional/AppModule - */ - -import type { Spy } from '#tests/interfaces' -import { ERR_MODULE_NOT_FOUND, type NodeError } from '@flex-development/errnode' -import * as mlly from '@flex-development/mlly' -import { CommanderError } from '@flex-development/nest-commander/commander' -import pathe from '@flex-development/pathe' -import { cast, template } from '@flex-development/tutils' -import consola from 'consola' -import type * as esbuild from 'esbuild' -import { fileURLToPath } from 'node:url' -import color from 'tinyrainbow' -import TestSubject from '../app.module' - -vi.mock('esbuild') - -describe('functional:cli/AppModule', () => { - beforeAll(() => { - consola.mockTypes(() => vi.fn()) - }) - - describe('.done', () => { - let args: string[] - let exit: Spy<(typeof process)['exit']> - - beforeEach(() => { - args = [] - exit = vi.spyOn(process, 'exit').mockImplementationOnce(vi.fn()) - }) - - it('should not terminate process in serve mode', () => { - // Act - TestSubject.done(args, { serve: {} }) - - // Expect - expect(exit).not.toHaveBeenCalled() - }) - - it('should not terminate process in watch mode', () => { - // Act - TestSubject.done(args, { watch: true }) - - // Expect - expect(exit).not.toHaveBeenCalled() - }) - - it('should terminate process after static build', () => { - // Act - TestSubject.done(args, { bundle: true }) - - // Expect - expect(exit).toHaveBeenCalledOnce() - }) - }) - - describe('.error', () => { - it('should handle Error', () => { - // Arrange - const error: NodeError = new ERR_MODULE_NOT_FOUND( - pathe.join('__fixtures__/pkg/no-package-json', 'package.json'), - fileURLToPath(mlly.toURL('dist/make.mjs')), - 'module' - ) - const log: string = template('{0} {1} {2}', { - 0: color.red('✘'), - 1: color.bgRed('[ERROR]'), - 2: color.white(error.message) - }) - - // Act - TestSubject.error(error) - - // Expect - expect(process).to.have.property('exitCode', 1) - expect(consola.log).toHaveBeenCalledOnce() - expect(consola.log).toHaveBeenCalledWith(log) - }) - - it('should handle esbuild.BuildFailure', () => { - // Act - TestSubject.error( - cast<esbuild.BuildFailure>({ - ...new Error('Cannot use "external" without "bundle"'), - errors: [], - warnings: [] - }) - ) - - // Expect - expect(process).to.have.property('exitCode', 1) - expect(consola.log).not.toHaveBeenCalled() - }) - }) - - describe('.exit', () => { - it('should handle error with exit code 0', () => { - // Arrange - const code: string = 'commander.helpDisplayed' - const message: string = '(outputHelp)' - const error: CommanderError = new CommanderError(0, code, message) - - // Act - TestSubject.exit(error) - - // Expect - expect(process).to.have.property('exitCode', error.exitCode) - expect(consola.log).not.toHaveBeenCalled() - }) - - it('should handle error with exit code greater than 0', () => { - // Arrange - const code: string = 'commander.unknownOption' - const message: string = 'error: unknown option \'--formatter\'' - const error: CommanderError = new CommanderError(1, code, message) - const log: string = template('{0} {1} {2}', { - 0: color.red('✘'), - 1: color.bgRed('[ERROR]'), - 2: color.white(error.message) - }) - - // Act - TestSubject.exit(error) - - // Expect - expect(process).to.have.property('exitCode').equal(error.exitCode) - expect(consola.log).toHaveBeenCalledOnce() - expect(consola.log).toHaveBeenCalledWith(log) - }) - }) -}) diff --git a/src/cli/app.module.ts b/src/cli/app.module.ts deleted file mode 100644 index 04fc0731..00000000 --- a/src/cli/app.module.ts +++ /dev/null @@ -1,91 +0,0 @@ -/** - * @file CLI - AppModule - * @module mkbuild/cli/AppModule - */ - -import type * as commander from '@flex-development/nest-commander/commander' -import { cast, isArray, isObject, template } from '@flex-development/tutils' -import { Module } from '@nestjs/common' -import consola from 'consola' -import type * as esbuild from 'esbuild' -import color from 'tinyrainbow' -import { MkbuildCommand } from './commands' -import type { Opts } from './interfaces' - -/** - * CLI application module. - * - * @class - */ -@Module({ providers: [MkbuildCommand] }) -class AppModule { - /** - * Callback ran after command-line arguments are parsed and the CLI program - * has run successfully. - * - * @public - * @static - * - * @param {string[]} args - Parsed command arguments - * @param {Partial<Opts>} opts - Parsed command options - * @return {void} Nothing when complete - */ - public static done(args: string[], opts: Partial<Opts>): void { - return void (!isObject(opts.serve) && !opts.watch && process.exit()) - } - - /** - * CLI command error handler. - * - * @public - * @static - * - * @param {Error} error - Error to handle - * @return {void} Nothing when complete - */ - public static error(error: Error): void { - const { errors, warnings } = cast<esbuild.BuildFailure>(error) - - // format and log non-esbuild error - if (!isArray(errors) && !isArray(warnings)) { - consola.log( - template('{{0} {1} {2}', { - 0: color.red('✘'), - 1: color.bgRed('[ERROR]'), - 2: color.white(error.message) - }) - ) - } - - return void (process.exitCode = 1) - } - - /** - * Commander error handler. - * - * @see {@linkcode commander.Command.exitOverride} - * @see {@linkcode commander.CommanderError} - * @see https://github.com/jmcdo29/nest-commander/blob/nest-commander%403.6.1/packages/nest-commander/src/command-runner.service.ts#L49-L51 - * - * @public - * @static - * - * @param {commander.CommanderError} error - Error to handle - * @return {void} Nothing when complete - */ - public static exit(error: commander.CommanderError): void { - if (error.exitCode) { - consola.log( - template('{{0} {1} {2}', { - 0: color.red('✘'), - 1: color.bgRed('[ERROR]'), - 2: color.white(error.message) - }) - ) - } - - return void (process.exitCode = error.exitCode) - } -} - -export default AppModule diff --git a/src/cli/commands/__tests__/mkbuild.command.functional.spec.ts b/src/cli/commands/__tests__/mkbuild.command.functional.spec.ts deleted file mode 100644 index 1471c1c0..00000000 --- a/src/cli/commands/__tests__/mkbuild.command.functional.spec.ts +++ /dev/null @@ -1,1484 +0,0 @@ -/** - * @file Functional Tests - MkbuildCommand - * @module mkbuild/cli/commands/tests/functional/MkbuildCommand - */ - -import type { Opts } from '#src/cli/interfaces' -import make from '#src/make' -import type { Jsx, LegalComments, OutputExtension, Sourcemap } from '#src/types' -import type { Spy } from '#tests/interfaces' -import * as mlly from '@flex-development/mlly' -import { - CliUtilityService, - HelpService -} from '@flex-development/nest-commander' -import { CommandTestFactory } from '@flex-development/nest-commander/testing' -import { cast, descriptor } from '@flex-development/tutils' -import type { TestingModule } from '@nestjs/testing' -import consola from 'consola' -import type * as esbuild from 'esbuild' -import TestSubject from '../mkbuild.command' - -vi.mock('#src/make') -vi.mock('#src/plugins/clean/plugin') -vi.mock('#src/plugins/write/plugin') - -describe('functional:cli/commands/MkbuildCommand', () => { - let command: TestingModule - let util: CliUtilityService - let write: boolean - - beforeAll(() => { - consola.mockTypes(() => vi.fn()) - write = true - }) - - beforeEach(async () => { - command = await CommandTestFactory.createTestingCommand({ - done: vi.fn().mockName('done'), - error: vi.fn().mockName('error'), - exit: vi.fn().mockName('exit'), - providers: [TestSubject] - }) - - util = command.get(CliUtilityService) - }) - - describe('--alias <list>', () => { - it('should call make with flags.alias', async () => { - // Arrange - const alias: string = 'oldpkg:newpkg' - - // Act - await CommandTestFactory.run(command, [`--alias=${alias}`]) - - // Expect - expect(make).toHaveBeenCalledOnce() - expect(vi.mocked(make).mock.lastCall?.[0]).to.eql({ - alias: util.parseObject(alias), - write - }) - }) - }) - - describe('--asset-names <template>', () => { - it('should call make with flags.assetNames', async () => { - // Arrange - const assetNames: string = 'assets/[name]-[hash]' - - // Act - await CommandTestFactory.run(command, [`--asset-names=${assetNames}`]) - - // Expect - expect(make).toHaveBeenCalledOnce() - expect(vi.mocked(make).mock.lastCall?.[0]).to.eql({ - assetNames, - write - }) - }) - }) - - describe('--banner <list>', () => { - it('should call make with flags.banner', async () => { - // Arrange - const banner: string = 'css:/*comment:*/,js://comment' - - // Act - await CommandTestFactory.run(command, [`--banner=${banner}`]) - - // Expect - expect(make).toHaveBeenCalledOnce() - expect(vi.mocked(make).mock.lastCall?.[0]).to.eql({ - banner: util.parseObject(banner), - write - }) - }) - }) - - describe('--bundle, -b [choice]', () => { - let bundle: boolean - - beforeAll(() => { - bundle = true - }) - - it('should call make with flags.bundle', async () => { - // Act - await CommandTestFactory.run(command, [`--bundle=${bundle}`]) - - // Expect - expect(make).toHaveBeenCalledOnce() - expect(vi.mocked(make).mock.lastCall?.[0]).to.eql({ - bundle, - write - }) - }) - - it('should call make with flags.bundle given short flag', async () => { - // Act - await CommandTestFactory.run(command, ['-b']) - - // Expect - expect(make).toHaveBeenCalledOnce() - expect(vi.mocked(make).mock.lastCall?.[0]).to.eql({ - bundle, - write - }) - }) - }) - - describe('--charset <charset>', () => { - it('should call make with flags.charset', async () => { - // Arrange - const charset: esbuild.Charset = 'utf8' - - // Act - await CommandTestFactory.run(command, [`--charset=${charset}`]) - - // Expect - expect(make).toHaveBeenCalledOnce() - expect(vi.mocked(make).mock.lastCall?.[0]).to.eql({ - charset, - write - }) - }) - }) - - describe('--chunk-names <template>', () => { - it('should call make with flags.chunkNames', async () => { - // Arrange - const chunkNames: string = 'chunks/[name]-[hash]' - - // Act - await CommandTestFactory.run(command, [`--chunk-names=${chunkNames}`]) - - // Expect - expect(make).toHaveBeenCalledOnce() - expect(vi.mocked(make).mock.lastCall?.[0]).to.eql({ - chunkNames, - write - }) - }) - }) - - describe('--clean, -c [choice]', () => { - let clean: boolean - - beforeAll(() => { - clean = true - }) - - it('should call make with flags.clean', async () => { - // Act - await CommandTestFactory.run(command, [`--clean=${clean}`]) - - // Expect - expect(make).toHaveBeenCalledOnce() - expect(vi.mocked(make).mock.lastCall?.[0]).to.eql({ - clean, - write - }) - }) - - it('should call make with flags.clean given short flag', async () => { - // Act - await CommandTestFactory.run(command, ['-c']) - - // Expect - expect(make).toHaveBeenCalledOnce() - expect(vi.mocked(make).mock.lastCall?.[0]).to.eql({ - clean, - write - }) - }) - }) - - describe('--color [choice]', () => { - it('should call make with flags.color', async () => { - // Arrange - const color: boolean = true - - // Act - await CommandTestFactory.run(command, [`--color=${color}`]) - - // Expect - expect(make).toHaveBeenCalledOnce() - expect(vi.mocked(make).mock.lastCall?.[0]).to.eql({ color, write }) - }) - }) - - describe('--conditions <list>', () => { - it('should call make with flags.conditions', async () => { - // Arrange - const conditions: string = 'import,default' - - // Act - await CommandTestFactory.run(command, [`--conditions=${conditions}`]) - - // Expect - expect(make).toHaveBeenCalledOnce() - expect(vi.mocked(make).mock.lastCall?.[0]).to.eql({ - conditions: util.parseList(conditions), - write - }) - }) - }) - - describe('--create-require [choice]', () => { - it('should call make with flags.createRequire', async () => { - // Arrange - const createRequire: boolean = true - - // Act - await CommandTestFactory.run(command, [ - `--create-require=${createRequire}` - ]) - - // Expect - expect(make).toHaveBeenCalledOnce() - expect(vi.mocked(make).mock.lastCall?.[0]).to.eql({ - createRequire, - write - }) - }) - }) - - describe('--cwd <directory>', () => { - it('should call make with flags.cwd', async () => { - // Arrange - const cwd: string = '.' - - // Act - await CommandTestFactory.run(command, [`--cwd=${cwd}`]) - - // Expect - expect(make).toHaveBeenCalledOnce() - expect(vi.mocked(make).mock.lastCall?.[0]).to.eql({ - cwd, - write - }) - }) - }) - - describe('--define <list>', () => { - it('should call make with flags.define', async () => { - // Arrange - const define: string = 'id:text,str:"text"' - - // Act - await CommandTestFactory.run(command, [`--define=${define}`]) - - // Expect - expect(make).toHaveBeenCalledOnce() - expect(vi.mocked(make).mock.lastCall?.[0]).to.eql({ - define: util.parseObject(define), - write - }) - }) - }) - - describe('--drop <list>', () => { - it('should call make with flags.drop', async () => { - // Arrange - const drop: string = 'debugger' - - // Act - await CommandTestFactory.run(command, [`--drop=${drop}`]) - - // Expect - expect(make).toHaveBeenCalledOnce() - expect(vi.mocked(make).mock.lastCall?.[0]).to.eql({ - drop: [...util.parseList(drop)], - write - }) - }) - }) - - describe('--dts, -d [choice]', () => { - it('should call make with flags.dts', async () => { - // Arrange - const dts: boolean = true - - // Act - await CommandTestFactory.run(command, [`--dts=${dts}`]) - - // Expect - expect(make).toHaveBeenCalledOnce() - expect(vi.mocked(make).mock.lastCall?.[0]).to.eql({ dts, write }) - }) - - it('should call make with flags.dts given short flag', async () => { - // Arrange - const dts: NonNullable<Exclude<Opts['dts'], boolean>> = 'only' - - // Act - await CommandTestFactory.run(command, ['-d', dts]) - - // Expect - expect(make).toHaveBeenCalledOnce() - expect(vi.mocked(make).mock.lastCall?.[0]).to.eql({ dts, write }) - }) - }) - - describe('--ext, -e <ext>', () => { - let ext: OutputExtension - - beforeAll(() => { - ext = '.mjs' - }) - - it('should call make with flags.ext', async () => { - // Act - await CommandTestFactory.run(command, [`--ext=${ext}`]) - - // Expect - expect(make).toHaveBeenCalledOnce() - expect(vi.mocked(make).mock.lastCall?.[0]).to.eql({ ext, write }) - }) - - it('should call make with flags.ext given short flag', async () => { - // Act - await CommandTestFactory.run(command, ['-e', ext]) - - // Expect - expect(make).toHaveBeenCalledOnce() - expect(vi.mocked(make).mock.lastCall?.[0]).to.eql({ ext, write }) - }) - }) - - describe('--external <list>', () => { - it('should call make with flags.external', async () => { - // Arrange - const external: string = - '@nestjs/microservices,@nestjs/platform-express,@nestjs/websockets/socket-module,cache-manager,class-transformer,node-fetch' - - // Act - await CommandTestFactory.run(command, [`--external=${external}`]) - - // Expect - expect(make).toHaveBeenCalledOnce() - expect(vi.mocked(make).mock.lastCall?.[0]).to.eql({ - external: [...util.parseList(external)], - write - }) - }) - }) - - describe('--footer <list>', () => { - it('should call make with flags.footer', async () => { - // Arrange - const footer: string = 'css:/*comment:*/,js://comment' - - // Act - await CommandTestFactory.run(command, [`--footer=${footer}`]) - - // Expect - expect(make).toHaveBeenCalledOnce() - expect(vi.mocked(make).mock.lastCall?.[0]).to.eql({ - footer: util.parseObject(footer), - write - }) - }) - }) - - describe('--format, -f <format>', () => { - let format: esbuild.Format - - beforeAll(() => { - format = 'esm' - }) - - it('should call make with flags.format', async () => { - // Act - await CommandTestFactory.run(command, [`--format=${format}`]) - - // Expect - expect(make).toHaveBeenCalledOnce() - expect(vi.mocked(make).mock.lastCall?.[0]).to.eql({ - format, - write - }) - }) - - it('should call make with flags.format given short flag', async () => { - // Act - await CommandTestFactory.run(command, ['-f', format]) - - // Expect - expect(make).toHaveBeenCalledOnce() - expect(vi.mocked(make).mock.lastCall?.[0]).to.eql({ - format, - write - }) - }) - }) - - describe('--global-name <name>', () => { - it('should call make with flags.globalName', async () => { - // Arrange - const globalName: string = 'mlly' - - // Act - await CommandTestFactory.run(command, [`--global-name=${globalName}`]) - - // Expect - expect(make).toHaveBeenCalledOnce() - expect(vi.mocked(make).mock.lastCall?.[0]).to.eql({ - globalName, - write - }) - }) - }) - - describe.todo('--help, -h', () => { - let formatHelp: Spy<HelpService['formatHelp']> - let subject: TestSubject - - beforeEach(() => { - formatHelp = cast(vi.spyOn(command.get(HelpService), 'formatHelp')) - subject = command.get(TestSubject) - }) - - it('should print help text', async () => { - // Act - await CommandTestFactory.run(command, ['--help']) - - // Expect - expect(formatHelp).toHaveBeenCalledOnce() - expect(formatHelp).toBeCalledWith(descriptor(subject, 'command').value) - expect(consola.log).toHaveBeenCalledOnce() - expect(make).not.toHaveBeenCalled() - }) - - it('should print help text given short flag', async () => { - // Act - await CommandTestFactory.run(command, ['-h']) - - // Expect - expect(formatHelp).toHaveBeenCalledOnce() - expect(formatHelp).toBeCalledWith(descriptor(subject, 'command').value) - expect(consola.log).toHaveBeenCalledOnce() - expect(make).not.toHaveBeenCalled() - }) - }) - - describe('--ignore, -i <list>', () => { - let ignore: string - let parsed: Set<string> - - beforeAll(() => { - ignore = 'bin.ts,cli/**' - parsed = util.parseList(ignore) - }) - - it('should call make with flags.ignore', async () => { - // Act - await CommandTestFactory.run(command, [`--ignore=${ignore}`]) - - // Expect - expect(make).toHaveBeenCalledOnce() - expect(vi.mocked(make).mock.lastCall?.[0]).to.eql({ - ignore: parsed, - write - }) - }) - - it('should call make with flags.ignore given short flag', async () => { - // Act - await CommandTestFactory.run(command, ['-i', ignore]) - - // Expect - expect(make).toHaveBeenCalledOnce() - expect(vi.mocked(make).mock.lastCall?.[0]).to.eql({ - ignore: parsed, - write - }) - }) - }) - - describe('--ignore-annotations [choice]', () => { - it('should call make with flags.ignoreAnnotations', async () => { - // Arrange - const ignoreAnnotations: boolean = true - - // Act - await CommandTestFactory.run(command, [ - `--ignore-annotations=${ignoreAnnotations}` - ]) - - // Expect - expect(make).toHaveBeenCalledOnce() - expect(vi.mocked(make).mock.lastCall?.[0]).to.eql({ - ignoreAnnotations, - write - }) - }) - }) - - describe('--inject <list>', () => { - it('should call make with flags.inject', async () => { - // Arrange - const inject: string = './process-cwd-shim.mjs' - - // Act - await CommandTestFactory.run(command, [`--inject=${inject}`]) - - // Expect - expect(make).toHaveBeenCalledOnce() - expect(vi.mocked(make).mock.lastCall?.[0]).to.eql({ - inject: [...util.parseList(inject)], - write - }) - }) - }) - - describe('--jsx <mode>', () => { - it('should call make with flags.jsx', async () => { - // Arrange - const jsx: Jsx = 'automatic' - - // Act - await CommandTestFactory.run(command, [`--jsx=${jsx}`]) - - // Expect - expect(make).toHaveBeenCalledOnce() - expect(vi.mocked(make).mock.lastCall?.[0]).to.eql({ - jsx, - write - }) - }) - }) - - describe('--jsx-dev [choice]', () => { - it('should call make with flags.jsxDev', async () => { - // Arrange - const jsxDev: boolean = true - - // Act - await CommandTestFactory.run(command, [`--jsx-dev=${jsxDev}`]) - - // Expect - expect(make).toHaveBeenCalledOnce() - expect(vi.mocked(make).mock.lastCall?.[0]).to.eql({ - jsx: 'automatic', - jsxDev, - write - }) - }) - }) - - describe('--jsx-factory <factory>', () => { - it('should call make with flags.jsxFactory', async () => { - // Arrange - const jsxFactory: string = 'h' - - // Act - await CommandTestFactory.run(command, [`--jsx-factory=${jsxFactory}`]) - - // Expect - expect(make).toHaveBeenCalledOnce() - expect(vi.mocked(make).mock.lastCall?.[0]).to.eql({ - jsxFactory, - write - }) - }) - }) - - describe('--jsx-fragment <fragment>', () => { - it('should call make with flags.jsxFragment', async () => { - // Arrange - const jsxFragment: string = 'Fragment' - - // Act - await CommandTestFactory.run(command, [`--jsx-fragment=${jsxFragment}`]) - - // Expect - expect(make).toHaveBeenCalledOnce() - expect(vi.mocked(make).mock.lastCall?.[0]).to.eql({ - jsxFragment, - write - }) - }) - }) - - describe('--jsx-import-source <source>', () => { - it('should call make with flags.jsxImportSource', async () => { - // Arrange - const jsxImportSource: string = 'react' - - // Act - await CommandTestFactory.run(command, [ - `--jsx-import-source=${jsxImportSource}` - ]) - - // Expect - expect(make).toHaveBeenCalledOnce() - expect(vi.mocked(make).mock.lastCall?.[0]).to.eql({ - jsxImportSource, - write - }) - }) - }) - - describe('--jsx-side-effects [choice]', () => { - it('should call make with flags.jsxSideEffects', async () => { - // Arrange - const jsxSideEffects: boolean = true - - // Act - await CommandTestFactory.run(command, [ - `--jsx-side-effects=${jsxSideEffects}` - ]) - - // Expect - expect(make).toHaveBeenCalledOnce() - expect(vi.mocked(make).mock.lastCall?.[0]).to.eql({ - jsxSideEffects, - write - }) - }) - }) - - describe('--keep-names [choice]', () => { - it('should call make with flags.keepNames', async () => { - // Arrange - const keepNames: boolean = true - - // Act - await CommandTestFactory.run(command, [`--keep-names=${keepNames}`]) - - // Expect - expect(make).toHaveBeenCalledOnce() - expect(vi.mocked(make).mock.lastCall?.[0]).to.eql({ - keepNames, - write - }) - }) - }) - - describe('--legal-comments <choice>', () => { - it('should call make with flags.legalComments', async () => { - // Arrange - const legalComments: LegalComments = 'eof' - - // Act - await CommandTestFactory.run(command, [ - `--legal-comments=${legalComments}` - ]) - - // Expect - expect(make).toHaveBeenCalledOnce() - expect(vi.mocked(make).mock.lastCall?.[0]).to.eql({ - legalComments, - write - }) - }) - }) - - describe('--loader <list>', () => { - it('should call make with flags.loader', async () => { - // Arrange - const loader: string = '.css:css,.ts:ts,.tsx:tsx' - - // Act - await CommandTestFactory.run(command, [`--loader=${loader}`]) - - // Expect - expect(make).toHaveBeenCalledOnce() - expect(vi.mocked(make).mock.lastCall?.[0]).to.eql({ - loader: util.parseObject(loader), - write - }) - }) - }) - - describe('--log-level <level>', () => { - it('should call make with flags.logLevel', async () => { - // Arrange - const logLevel: esbuild.LogLevel = 'debug' - - // Act - await CommandTestFactory.run(command, [`--log-level=${logLevel}`]) - - // Expect - expect(make).toHaveBeenCalledOnce() - expect(vi.mocked(make).mock.lastCall?.[0]).to.eql({ - logLevel, - write - }) - }) - }) - - describe('--log-override <list>', () => { - it('should call make with flags.logOverride', async () => { - // Arrange - const logOverride: string = - 'unsupported-dynamic-import:warning,unsupported-jsx-comment:warning' - - // Act - await CommandTestFactory.run(command, [`--log-override=${logOverride}`]) - - // Expect - expect(make).toHaveBeenCalledOnce() - expect(vi.mocked(make).mock.lastCall?.[0]).to.eql({ - logOverride: util.parseObject(logOverride), - write - }) - }) - }) - - describe('--log-limit <limit>', () => { - it('should call make with flags.logLimit', async () => { - // Arrange - const logLimit: number = faker.number.int({ max: 13, min: 1 }) - - // Act - await CommandTestFactory.run(command, [`--log-limit=${logLimit}`]) - - // Expect - expect(make).toHaveBeenCalledOnce() - expect(vi.mocked(make).mock.lastCall?.[0]).to.eql({ - logLimit, - write - }) - }) - }) - - describe('--main-fields <list>', () => { - it('should call make with flags.mainFields', async () => { - // Arrange - const mainFields: string = 'module,main' - - // Act - await CommandTestFactory.run(command, [`--main-fields=${mainFields}`]) - - // Expect - expect(make).toHaveBeenCalledOnce() - expect(vi.mocked(make).mock.lastCall?.[0]).to.eql({ - mainFields: util.parseList(mainFields), - write - }) - }) - }) - - describe('--mangle-cache <list>', () => { - it('should call make with flags.mangleCache', async () => { - // Arrange - const mangleCache: string = - 'customRenaming_:"cR_",disabledRenaming_:false' - - // Act - await CommandTestFactory.run(command, [`--mangle-cache=${mangleCache}`]) - - // Expect - expect(make).toHaveBeenCalledOnce() - expect(vi.mocked(make).mock.lastCall?.[0]).to.eql({ - mangleCache: util.parseObject(mangleCache), - write - }) - }) - }) - - describe('--mangle-props <regex>', () => { - it('should call make with flags.mangleProps', async () => { - // Arrange - const mangleProps: string = '/_$/' - - // Act - await CommandTestFactory.run(command, [`--mangle-props=${mangleProps}`]) - - // Expect - expect(make).toHaveBeenCalledOnce() - expect(vi.mocked(make).mock.lastCall?.[0]).to.eql({ - mangleProps: util.parseRegExp(mangleProps), - write - }) - }) - }) - - describe('--mangle-quoted [choice]', () => { - it('should call make with flags.mangleQuoted', async () => { - // Arrange - const mangleQuoted: boolean = true - - // Act - await CommandTestFactory.run(command, [`--mangle-quoted=${mangleQuoted}`]) - - // Expect - expect(make).toHaveBeenCalledOnce() - expect(vi.mocked(make).mock.lastCall?.[0]).to.eql({ - mangleQuoted, - write - }) - }) - }) - - describe('--minify [choice]', () => { - it('should call make with flags.minify', async () => { - // Arrange - const minify: boolean = true - - // Act - await CommandTestFactory.run(command, [`--minify=${minify}`]) - - // Expect - expect(make).toHaveBeenCalledOnce() - expect(vi.mocked(make).mock.lastCall?.[0]).to.eql({ - minify, - write - }) - }) - }) - - describe('--minify-identifiers [choice]', () => { - it('should call make with flags.minifyIdentifiers', async () => { - // Arrange - const minifyIdentifiers: boolean = true - - // Act - await CommandTestFactory.run(command, [ - `--minify-identifiers=${minifyIdentifiers}` - ]) - - // Expect - expect(make).toHaveBeenCalledOnce() - expect(vi.mocked(make).mock.lastCall?.[0]).to.eql({ - minifyIdentifiers, - write - }) - }) - }) - - describe('--minify-syntax [choice]', () => { - it('should call make with flags.minifySyntax', async () => { - // Arrange - const minifySyntax: boolean = true - - // Act - await CommandTestFactory.run(command, [`--minify-syntax=${minifySyntax}`]) - - // Expect - expect(make).toHaveBeenCalledOnce() - expect(vi.mocked(make).mock.lastCall?.[0]).to.eql({ - minifySyntax, - write - }) - }) - }) - - describe('--minify-whitespace [choice]', () => { - it('should call make with flags.minifyWhitespace', async () => { - // Arrange - const minifyWhitespace: boolean = true - - // Act - await CommandTestFactory.run(command, [ - `--minify-whitespace=${minifyWhitespace}` - ]) - - // Expect - expect(make).toHaveBeenCalledOnce() - expect(vi.mocked(make).mock.lastCall?.[0]).to.eql({ - minifyWhitespace, - write - }) - }) - }) - - describe('--name, -n <name>', () => { - let name: string - - beforeAll(() => { - name = 'cli' - }) - - it('should call make with flags.name', async () => { - // Act - await CommandTestFactory.run(command, [`--name=${name}`]) - - // Expect - expect(make).toHaveBeenCalledOnce() - expect(vi.mocked(make).mock.lastCall?.[0]).to.eql({ - name, - write - }) - }) - - it('should call make with flags.name given short flag', async () => { - // Act - await CommandTestFactory.run(command, ['-n', name]) - - // Expect - expect(make).toHaveBeenCalledOnce() - expect(vi.mocked(make).mock.lastCall?.[0]).to.eql({ - name, - write - }) - }) - }) - - describe('--out-extension <list>', () => { - it('should call make with flags.outExtension', async () => { - // Arrange - const outExtension: string = '.sass:.scss' - - // Act - await CommandTestFactory.run(command, [`--out-extension=${outExtension}`]) - - // Expect - expect(make).toHaveBeenCalledOnce() - expect(vi.mocked(make).mock.lastCall?.[0]).to.eql({ - outExtension: util.parseObject(outExtension), - write - }) - }) - }) - - describe('--outbase <directory>', () => { - it('should call make with flags.outbase', async () => { - // Arrange - const outbase: string = 'src' - - // Act - await CommandTestFactory.run(command, [`--outbase=${outbase}`]) - - // Expect - expect(make).toHaveBeenCalledOnce() - expect(vi.mocked(make).mock.lastCall?.[0]).to.eql({ - outbase, - write - }) - }) - }) - - describe('--outdir, -o <directory>', () => { - let outdir: string - - beforeAll(() => { - outdir = 'dist' - }) - - it('should call make with flags.outdir', async () => { - // Act - await CommandTestFactory.run(command, [`--outdir=${outdir}`]) - - // Expect - expect(make).toHaveBeenCalledOnce() - expect(vi.mocked(make).mock.lastCall?.[0]).to.eql({ - outdir, - write - }) - }) - - it('should call make with flags.outdir given short flag', async () => { - // Act - await CommandTestFactory.run(command, ['-o', outdir]) - - // Expect - expect(make).toHaveBeenCalledOnce() - expect(vi.mocked(make).mock.lastCall?.[0]).to.eql({ - outdir, - write - }) - }) - }) - - describe('--packages <choice>', () => { - it('should call make with flags.packages', async () => { - // Arrange - const packages: string = 'external' - - // Act - await CommandTestFactory.run(command, [`--packages=${packages}`]) - - // Expect - expect(make).toHaveBeenCalledOnce() - expect(vi.mocked(make).mock.lastCall?.[0]).to.eql({ - packages, - write - }) - }) - }) - - describe('--pattern, -p <list>', () => { - let pattern: string - let parsed: Set<string> - - beforeAll(() => { - pattern = '**/index.ts,enums/*,internal/*,utils/*' - parsed = util.parseList(pattern) - }) - - it('should call make with flags.pattern', async () => { - // Act - await CommandTestFactory.run(command, [`--pattern=${pattern}`]) - - // Expect - expect(make).toHaveBeenCalledOnce() - expect(vi.mocked(make).mock.lastCall?.[0]).to.eql({ - pattern: parsed, - write - }) - }) - - it('should call make with flags.pattern given short flag', async () => { - // Act - await CommandTestFactory.run(command, ['-p', pattern]) - - // Expect - expect(make).toHaveBeenCalledOnce() - expect(vi.mocked(make).mock.lastCall?.[0]).to.eql({ - pattern: parsed, - write - }) - }) - }) - - describe('--platform <platform>', () => { - it('should call make with flags.platform', async () => { - // Arrange - const platform: esbuild.Platform = 'node' - - // Act - await CommandTestFactory.run(command, [`--platform=${platform}`]) - - // Expect - expect(make).toHaveBeenCalledOnce() - expect(vi.mocked(make).mock.lastCall?.[0]).to.eql({ - platform, - write - }) - }) - }) - - describe('--preserve-symlinks [choice]', () => { - it('should call make with flags.preserveSymlinks', async () => { - // Arrange - const preserveSymlinks: boolean = true - - // Act - await CommandTestFactory.run(command, [ - `--preserve-symlinks=${preserveSymlinks}` - ]) - - // Expect - expect(make).toHaveBeenCalledOnce() - expect(vi.mocked(make).mock.lastCall?.[0]).to.eql({ - preserveSymlinks, - write - }) - }) - }) - - describe('--public-path <path>', () => { - it('should call make with flags.publicPath', async () => { - // Arrange - const publicPath: string = faker.internet.url({ protocol: 'https' }) - - // Act - await CommandTestFactory.run(command, [`--public-path=${publicPath}`]) - - // Expect - expect(make).toHaveBeenCalledOnce() - expect(vi.mocked(make).mock.lastCall?.[0]).to.eql({ - publicPath, - write - }) - }) - }) - - describe('--pure <list>', () => { - it('should call make with flags.pure', async () => { - // Arrange - const pure: string = 'document.createElement' - - // Act - await CommandTestFactory.run(command, [`--pure=${pure}`]) - - // Expect - expect(make).toHaveBeenCalledOnce() - expect(vi.mocked(make).mock.lastCall?.[0]).to.eql({ - pure: [...util.parseList(pure)], - write - }) - }) - }) - - describe('--reserve-props <regex>', () => { - it('should call make with flags.reserveProps', async () => { - // Arrange - const reserveProps: string = '/^__.*__$/' - - // Act - await CommandTestFactory.run(command, [`--reserve-props=${reserveProps}`]) - - // Expect - expect(make).toHaveBeenCalledOnce() - expect(vi.mocked(make).mock.lastCall?.[0]).to.eql({ - reserveProps: util.parseRegExp(reserveProps), - write - }) - }) - }) - - describe('--resolve-extensions <list>', () => { - it('should call make with flags.resolveExtensions', async () => { - // Arrange - const resolveExtensions: string = 'mjs,mts,cjs,cts,js,ts,jsx,tsx,json' - - // Act - await CommandTestFactory.run(command, [ - `--resolve-extensions=${resolveExtensions}` - ]) - - // Expect - expect(make).toHaveBeenCalledOnce() - expect(vi.mocked(make).mock.lastCall?.[0]).to.eql({ - resolveExtensions: util.parseList(resolveExtensions), - write - }) - }) - }) - - describe('--serve, -S [choice]', () => { - it('should call make with flags.serve', async () => { - // Act - await CommandTestFactory.run(command, ['--serve']) - - // Expect - expect(make).toHaveBeenCalledOnce() - expect(vi.mocked(make).mock.lastCall?.[0]).to.eql({ - logLevel: 'info', - serve: {}, - write - }) - }) - - it('should call make with flags.serve given short flag', async () => { - // Act - await CommandTestFactory.run(command, ['-S', 'false']) - - // Expect - expect(make).toHaveBeenCalledOnce() - expect(vi.mocked(make).mock.lastCall?.[0]).to.eql({ - logLevel: 'info', - serve: false, - write - }) - }) - }) - - describe('--serve.certfile <path>', () => { - it('should call make with flags.serve.certfile', async () => { - // Arrange - const certfile: string = './.lego/certificates/_.mkbuild.app.crt' - - // Act - await CommandTestFactory.run(command, [`--serve.certfile=${certfile}`]) - - // Expect - expect(make).toHaveBeenCalledOnce() - expect(vi.mocked(make).mock.lastCall?.[0]).to.eql({ - logLevel: 'info', - serve: { certfile }, - write - }) - }) - }) - - describe('--serve.host <host>', () => { - it('should call make with flags.serve.host', async () => { - // Arrange - const host: string = 'localhost' - - // Act - await CommandTestFactory.run(command, [`--serve.host=${host}`]) - - // Expect - expect(make).toHaveBeenCalledOnce() - expect(vi.mocked(make).mock.lastCall?.[0]).to.eql({ - logLevel: 'info', - serve: { host }, - write - }) - }) - }) - - describe('--serve.keyfile <path>', () => { - it('should call make with flags.serve.keyfile', async () => { - // Arrange - const keyfile: string = './.lego/certificates/_.mkbuild.app.key' - - // Act - await CommandTestFactory.run(command, [`--serve.keyfile=${keyfile}`]) - - // Expect - expect(make).toHaveBeenCalledOnce() - expect(vi.mocked(make).mock.lastCall?.[0]).to.eql({ - logLevel: 'info', - serve: { keyfile }, - write - }) - }) - }) - - describe('--serve.port <port>', () => { - it('should call make with flags.serve.port', async () => { - // Arrange - const port: number = 8004 - - // Act - await CommandTestFactory.run(command, [`--serve.port=${port}`]) - - // Expect - expect(make).toHaveBeenCalledOnce() - expect(vi.mocked(make).mock.lastCall?.[0]).to.eql({ - logLevel: 'info', - serve: { port }, - write - }) - }) - }) - - describe('--serve.servedir <directory>', () => { - it('should call make with flags.serve.servedir', async () => { - // Arrange - const servedir: string = 'www/js' - - // Act - await CommandTestFactory.run(command, [`--serve.servedir=${servedir}`]) - - // Expect - expect(make).toHaveBeenCalledOnce() - expect(vi.mocked(make).mock.lastCall?.[0]).to.eql({ - logLevel: 'info', - serve: { servedir }, - write - }) - }) - }) - - describe('--source, -s <path>', () => { - let source: string - - beforeAll(() => { - source = 'src' - }) - - it('should call make with flags.source', async () => { - // Act - await CommandTestFactory.run(command, [`--source=${source}`]) - - // Expect - expect(make).toHaveBeenCalledOnce() - expect(vi.mocked(make).mock.lastCall?.[0]).to.eql({ - source, - write - }) - }) - - it('should call make with flags.source given short flag', async () => { - // Act - await CommandTestFactory.run(command, ['-s', source]) - - // Expect - expect(make).toHaveBeenCalledOnce() - expect(vi.mocked(make).mock.lastCall?.[0]).to.eql({ - source, - write - }) - }) - }) - - describe('--source-root <root>', () => { - it('should call make with flags.sourceRoot', async () => { - // Arrange - const sourceRoot: string = faker.internet.url({ protocol: 'https' }) - - // Act - await CommandTestFactory.run(command, [`--source-root=${sourceRoot}`]) - - // Expect - expect(make).toHaveBeenCalledOnce() - expect(vi.mocked(make).mock.lastCall?.[0]).to.eql({ - sourceRoot, - write - }) - }) - }) - - describe('--sourcemap [choice]', () => { - it('should call make with flags.sourcemap', async () => { - // Arrange - const sourcemap: Sourcemap = 'inline' - - // Act - await CommandTestFactory.run(command, [`--sourcemap=${sourcemap}`]) - - // Expect - expect(make).toHaveBeenCalledOnce() - expect(vi.mocked(make).mock.lastCall?.[0]).to.eql({ - sourcemap, - write - }) - }) - }) - - describe('--sources-content [choice]', () => { - it('should call make with flags.sourcesContent', async () => { - // Arrange - const sourcesContent: boolean = true - - // Act - await CommandTestFactory.run(command, [ - `--sources-content=${sourcesContent}` - ]) - - // Expect - expect(make).toHaveBeenCalledOnce() - expect(vi.mocked(make).mock.lastCall?.[0]).to.eql({ - sourcesContent, - write - }) - }) - }) - - describe('--splitting [choice]', () => { - it('should call make with flags.splitting', async () => { - // Arrange - const splitting: boolean = true - - // Act - await CommandTestFactory.run(command, [`--splitting=${splitting}`]) - - // Expect - expect(make).toHaveBeenCalledOnce() - expect(vi.mocked(make).mock.lastCall?.[0]).to.eql({ - splitting, - write - }) - }) - }) - - describe('--supported <list>', () => { - it('should call make with flags.supported', async () => { - // Arrange - const supported: string = 'async-await:true,bigint:false' - - // Act - await CommandTestFactory.run(command, [`--supported=${supported}`]) - - // Expect - expect(make).toHaveBeenCalledOnce() - expect(vi.mocked(make).mock.lastCall?.[0]).to.eql({ - supported: util.parseObject(supported), - write - }) - }) - }) - - describe('--target <list>', () => { - it('should call make with flags.target', async () => { - // Arrange - const target: string = 'node16.20.0,es2021' - - // Act - await CommandTestFactory.run(command, [`--target=${target}`]) - - // Expect - expect(make).toHaveBeenCalledOnce() - expect(vi.mocked(make).mock.lastCall?.[0]).to.eql({ - target: [...util.parseList(target)], - write - }) - }) - }) - - describe('--tree-shaking [choice]', () => { - it('should call make with flags.treeShaking', async () => { - // Arrange - const treeShaking: boolean = true - - // Act - await CommandTestFactory.run(command, [`--tree-shaking=${treeShaking}`]) - - // Expect - expect(make).toHaveBeenCalledOnce() - expect(vi.mocked(make).mock.lastCall?.[0]).to.eql({ - treeShaking, - write - }) - }) - }) - - describe('--tsconfig <tsconfig>', () => { - it('should call make with flags.tsconfig', async () => { - // Arrange - const tsconfig: string = 'tsconfig.build.json' - - // Act - await CommandTestFactory.run(command, [`--tsconfig=${tsconfig}`]) - - // Expect - expect(make).toHaveBeenCalledOnce() - expect(vi.mocked(make).mock.lastCall?.[0]).to.eql({ - tsconfig, - write - }) - }) - }) - - describe.todo('--version, -v', () => { - let version: string - - beforeAll(() => { - version = mlly.readPackageJson()!.version! - }) - - it('should print version number', async () => { - // Act - await CommandTestFactory.run(command, ['--version']) - - // Expect - expect(consola.log).toHaveBeenCalledOnce() - expect(consola.log).toBeCalledWith(version) - expect(make).not.toHaveBeenCalled() - }) - - it('should print version number given short flag', async () => { - // Act - await CommandTestFactory.run(command, ['-v']) - - // Expect - expect(consola.log).toHaveBeenCalledOnce() - expect(consola.log).toBeCalledWith(version) - expect(make).not.toHaveBeenCalled() - }) - }) - - describe('--watch, -w [choice]', () => { - let watch: boolean - - beforeAll(() => { - watch = true - }) - - it('should call make with flags.watch', async () => { - // Act - await CommandTestFactory.run(command, [`--watch=${watch}`]) - - // Expect - expect(make).toHaveBeenCalledOnce() - expect(vi.mocked(make).mock.lastCall?.[0]).to.eql({ watch, write }) - }) - - it('should call make with flags.watch given short flag', async () => { - // Act - await CommandTestFactory.run(command, ['-w', watch.toString()]) - - // Expect - expect(make).toHaveBeenCalledOnce() - expect(vi.mocked(make).mock.lastCall?.[0]).to.eql({ watch, write }) - }) - }) -}) diff --git a/src/cli/commands/index.ts b/src/cli/commands/index.ts deleted file mode 100644 index a1332eb9..00000000 --- a/src/cli/commands/index.ts +++ /dev/null @@ -1,6 +0,0 @@ -/** - * @file Entry Point - CLI Commands - * @module mkbuild/cli/commands - */ - -export { default as MkbuildCommand } from './mkbuild.command' diff --git a/src/cli/commands/mkbuild.command.ts b/src/cli/commands/mkbuild.command.ts deleted file mode 100644 index 36b4092c..00000000 --- a/src/cli/commands/mkbuild.command.ts +++ /dev/null @@ -1,1493 +0,0 @@ -/** - * @file CLI Commands - MkbuildCommand - * @module mkbuild/cli/commands/mkbuild - */ - -import pkg from '#pkg' assert { type: 'json' } -import type { Opts } from '#src/cli/interfaces' -import make from '#src/make' -import type { - GeneratedFileType, - Jsx, - LegalComments, - OutputExtension, - Sourcemap -} from '#src/types' -import { IGNORE_PATTERNS, loaders } from '#src/utils' -import * as mlly from '@flex-development/mlly' -import { - CliUtilityService, - Command, - CommandRunner, - HelpService, - Option -} from '@flex-development/nest-commander' -import type * as commander from '@flex-development/nest-commander/commander' -import * as pathe from '@flex-development/pathe' -import { - DOT, - cast, - construct, - entries, - ifelse, - isBooleanish, - join, - keys, - set, - type EmptyObject -} from '@flex-development/tutils' -import type * as esbuild from 'esbuild' - -/** - * `mkbuild` command model. - * - * @todo `--allow-overwrite` - * @todo `--serve.onrequest` - * - * @class - * @extends {CommandRunner} - */ -@Command({ - description: pkg.description, - examples: [], - name: pkg.name.replace(/.*\//, ''), - root: true -}) -class MkbuildCommand extends CommandRunner { - /** - * Creates a new `mkbuild` command instance. - * - * @param {HelpService} help - Help service instance - * @param {CliUtilityService} util - Utilities service instance - */ - constructor( - protected readonly help: HelpService, - protected readonly util: CliUtilityService - ) { - super() - } - - /** - * Parses the `--alias` flag. - * - * @see {@linkcode Opts.alias} - * - * @protected - * - * @param {string} val - Value to parse - * @return {Record<string, string>} Parsed option value - */ - @Option({ - description: 'https://esbuild.github.io/api/#alias', - flags: '--alias <list>' - }) - protected parseAlias(val: string): Record<string, string> { - return this.util.parseObject(val) - } - - /** - * Parses the `--asset-names` flag. - * - * @see {@linkcode Opts.assetNames} - * - * @protected - * - * @param {string} val - Value to parse - * @return {string} Parsed option value - */ - @Option({ - description: 'https://esbuild.github.io/api/#asset-names', - fallback: { value: 'assets/[name]-[hash]' }, - flags: '--asset-names <template>' - }) - protected parseAssetNames(val: string): string { - return val - } - - /** - * Parses the `--banner` flag. - * - * @see {@linkcode Opts.banner} - * - * @protected - * - * @param {string} val - Value to parse - * @return {EmptyObject | Record<GeneratedFileType, string>} Parsed option - * value - */ - @Option({ - description: 'https://esbuild.github.io/api/#banner', - flags: '--banner <list>' - }) - protected parseBanner( - val: string - ): EmptyObject | { [K in GeneratedFileType]: string } { - return this.util.parseObject<GeneratedFileType, string>(val) - } - - /** - * Parses the `--bundle` flag. - * - * @see {@linkcode Opts.bundle} - * - * @protected - * - * @param {string} val - Value to parse - * @return {boolean} Parsed option value - */ - @Option({ - choices: CliUtilityService.BOOLEAN_CHOICES, - description: 'https://esbuild.github.io/api/#bundle', - fallback: { value: false }, - flags: '-b, --bundle [choice]', - preset: 'true' - }) - protected parseBundle(val: string): boolean { - return this.util.parseBoolean(val) - } - - /** - * Parses the `--charset` flag. - * - * @see {@linkcode Opts.charset} - * - * @protected - * - * @param {string} val - Value to parse - * @return {esbuild.Charset} Parsed option value - */ - @Option({ - choices: ['ascii', 'utf8'], - description: 'https://esbuild.github.io/api/#charset', - flags: '--charset <charset>' - }) - protected parseCharset(val: string): esbuild.Charset { - return cast<esbuild.Charset>(val) - } - - /** - * Parses the `--chunk-names` flag. - * - * @see {@linkcode Opts.chunkNames} - * - * @protected - * - * @param {string} val - Value to parse - * @return {string} Parsed option value - */ - @Option({ - description: 'https://esbuild.github.io/api/#chunk-names', - fallback: { value: 'chunks/[name]-[hash]' }, - flags: '--chunk-names <template>' - }) - protected parseChunkNames(val: string): string { - return val - } - - /** - * Parses the `--clean` flag. - * - * @see {@linkcode Opts.clean} - * - * @protected - * - * @param {string} val - Value to parse - * @return {boolean} Parsed option value - */ - @Option({ - choices: CliUtilityService.BOOLEAN_CHOICES, - description: 'Remove output directories before starting build', - fallback: { value: true }, - flags: '-c, --clean [choice]', - preset: 'true' - }) - protected parseClean(val: string): boolean { - return this.util.parseBoolean(val) - } - - /** - * Parses the `--color` flag. - * - * @see {@linkcode Opts.color} - * - * @protected - * - * @param {string} val - Value to parse - * @return {boolean} Parsed option value - */ - @Option({ - choices: CliUtilityService.BOOLEAN_CHOICES, - description: 'https://esbuild.github.io/api/#color', - env: 'NO_COLOR', - fallback: { value: true }, - flags: '--color [choice]', - preset: 'true' - }) - protected parseColor(val: string): boolean { - return this.util.parseBoolean(val) - } - - /** - * Parses the `--conditions` flag. - * - * @see {@linkcode Opts.conditions} - * - * @protected - * - * @param {string} val - Value to parse - * @return {Set<string>} Parsed option value - */ - @Option({ - description: 'https://esbuild.github.io/api/#conditions', - fallback: { description: 'import,default', value: ['import', 'default'] }, - flags: '--conditions <list>' - }) - protected parseConditions(val: string): Set<string> { - return this.util.parseList(val) - } - - /** - * Parses the `--create-require` flag. - * - * @see {@linkcode Opts.createRequire} - * - * @protected - * - * @param {string} val - Value to parse - * @return {boolean} Parsed option value - */ - @Option({ - choices: CliUtilityService.BOOLEAN_CHOICES, - description: 'Insert `require` function definition', - flags: '--create-require [choice]', - preset: 'true' - }) - protected parseCreateRequire(val: string): boolean { - return this.util.parseBoolean(val) - } - - /** - * Parses the `--cwd` flag. - * - * @see {@linkcode Opts.cwd} - * - * @protected - * - * @param {string} val - Value to parse - * @return {string} Parsed option value - */ - @Option({ - description: 'Current working directory', - fallback: { value: DOT }, - flags: '--cwd <directory>' - }) - protected parseCwd(val: string): string { - return val - } - - /** - * Parses the `--define` flag. - * - * @see {@linkcode Opts.define} - * - * @protected - * - * @param {string} val - Value to parse - * @return {Record<string, string>} Parsed option value - */ - @Option({ - description: 'https://esbuild.github.io/api/#define', - flags: '--define <list>' - }) - protected parseDefine(val: string): Record<string, string> { - return this.util.parseObject(val) - } - - /** - * Parses the `--drop` flag. - * - * @see {@linkcode Opts.drop} - * - * @protected - * - * @param {string} val - Value to parse - * @return {string[]} Parsed option value - */ - @Option({ - description: 'https://esbuild.github.io/api/#drop', - flags: '--drop <list>' - }) - protected parseDrop(val: string): string[] { - return [...this.util.parseList(val)] - } - - /** - * Parses the `--dts` flag. - * - * @see {@linkcode Opts.dts} - * - * @protected - * - * @param {string} val - Value to parse - * @return {boolean | 'only'} Parsed option value - */ - @Option({ - choices: ['only', ...CliUtilityService.BOOLEAN_CHOICES], - description: 'Generate TypeScript declaration files', - flags: '-d, --dts [choice]', - preset: 'true' - }) - protected parseDts(val: string): boolean | 'only' { - return val === 'only' ? val : this.util.parseBoolean(val) - } - - /** - * Parses the `--ext` flag. - * - * @see {@linkcode Opts.ext} - * - * @protected - * - * @param {string} val - Value to parse - * @return {OutputExtension} Parsed option value - * @throws {Error} - */ - @Option({ - choices: [ - '.cjs', - '.js', - '.mjs', - '.min.cjs', - '.min.js', - '.min.mjs', - 'cjs', - 'js', - 'mjs', - 'min.cjs', - 'min.js', - 'min.mjs' - ], - description: 'Output file extension', - flags: '-e, --ext <ext>' - }) - protected parseExt(val: string): OutputExtension { - return cast<OutputExtension>(val) - } - - /** - * Parses the `--external` flag. - * - * @see {@linkcode Opts.external} - * - * @protected - * - * @param {string} val - Value to parse - * @return {string[]} Parsed option value - */ - @Option({ - description: 'https://esbuild.github.io/api/#external', - flags: '--external <list>' - }) - protected parseExternal(val: string): string[] { - return [...this.util.parseList(val)] - } - - /** - * Parses the `--footer` flag. - * - * @see {@linkcode Opts.footer} - * - * @protected - * - * @param {string} val - Value to parse - * @return {EmptyObject | Record<GeneratedFileType, string>} Parsed option - * value - */ - @Option({ - description: 'https://esbuild.github.io/api/#footer', - flags: '--footer <list>' - }) - protected parseFooter( - val: string - ): EmptyObject | { [K in GeneratedFileType]: string } { - return this.util.parseObject<GeneratedFileType, string>(val) - } - - /** - * Parses the `--format` flag. - * - * @see {@linkcode Opts.format} - * - * @protected - * - * @param {string} val - Value to parse - * @return {esbuild.Format} Parsed option value - * @throws {Error} - */ - @Option({ - choices: ['cjs', 'esm', 'iife'], - description: 'Output file format', - fallback: { value: 'esm' }, - flags: '-f, --format <format>' - }) - protected parseFormat(val: string): esbuild.Format { - return cast<esbuild.Format>(val) - } - - /** - * Parses the `--global-name` flag. - * - * @see {@linkcode Opts.globalName} - * - * @protected - * - * @param {string} val - Value to parse - * @return {string} Parsed option value - */ - @Option({ - description: 'https://esbuild.github.io/api/#global-name', - flags: '--global-name <name>' - }) - protected parseGlobalName(val: string): string { - return val - } - - /** - * Parses the `--ignore` flag. - * - * @see {@linkcode Opts.ignore} - * - * @protected - * - * @param {string} val - Value to parse - * @return {Set<string>} Parsed option value - */ - @Option({ - description: 'Glob patterns to exclude matches in --pattern', - fallback: { - description: JSON.stringify(join([...IGNORE_PATTERNS], ', ')), - value: [...IGNORE_PATTERNS] - }, - flags: '-i, --ignore <list>' - }) - protected parseIgnore(val: string): Set<string> { - return this.util.parseList(val) - } - - /** - * Parses the `--ignore-annotations` flag. - * - * @see {@linkcode Opts.ignoreAnnotations} - * - * @protected - * - * @param {string} val - Value to parse - * @return {boolean} Parsed option value - */ - @Option({ - choices: CliUtilityService.BOOLEAN_CHOICES, - description: 'https://esbuild.github.io/api/#ignore-annotations', - fallback: { value: false }, - flags: '--ignore-annotations [choice]', - preset: 'true' - }) - protected parseIgnoreAnnotations(val: string): boolean { - return this.util.parseBoolean(val) - } - - /** - * Parses the `--inject` flag. - * - * @see {@linkcode Opts.inject} - * - * @protected - * - * @param {string} val - Value to parse - * @return {string[]} Parsed option value - */ - @Option({ - description: 'https://esbuild.github.io/api/#inject', - flags: '--inject <list>' - }) - protected parseInject(val: string): string[] { - return [...this.util.parseList(val)] - } - - /** - * Parses the `--jsx` flag. - * - * @see {@linkcode Opts.jsx} - * - * @protected - * - * @param {string} val - Value to parse - * @return {Jsx} Parsed option value - */ - @Option({ - choices: ['automatic', 'preserve', 'transform'], - description: 'https://esbuild.github.io/api/#jsx', - flags: '--jsx <mode>' - }) - protected parseJsx(val: string): Jsx { - return cast<Jsx>(val) - } - - /** - * Parses the `--jsx-dev` flag. - * - * @see {@linkcode Opts.jsxDev} - * - * @protected - * - * @param {string} val - Value to parse - * @return {boolean} Parsed option value - */ - @Option({ - choices: CliUtilityService.BOOLEAN_CHOICES, - description: 'https://esbuild.github.io/api/#jsx-dev', - fallback: { value: false }, - flags: '--jsx-dev [choice]', - implies: { jsx: 'automatic' }, - preset: 'true' - }) - protected parseJsxDev(val: string): boolean { - return this.util.parseBoolean(val) - } - - /** - * Parses the `--jsx-factory` flag. - * - * @see {@linkcode Opts.jsxFactory} - * - * @protected - * - * @param {string} val - Value to parse - * @return {string} Parsed option value - */ - @Option({ - description: 'https://esbuild.github.io/api/#jsx-factory', - flags: '--jsx-factory <factory>' - }) - protected parseJsxFactory(val: string): string { - return val - } - - /** - * Parses the `--jsx-fragment` flag. - * - * @see {@linkcode Opts.jsxFragment} - * - * @protected - * - * @param {string} val - Value to parse - * @return {string} Parsed option value - */ - @Option({ - description: 'https://esbuild.github.io/api/#jsx-fragment', - flags: '--jsx-fragment <fragment>' - }) - protected parseJsxFragment(val: string): string { - return val - } - - /** - * Parses the `--jsx-import-source` flag. - * - * @see {@linkcode Opts.jsxImportSource} - * - * @protected - * - * @param {string} val - Value to parse - * @return {string} Parsed option value - */ - @Option({ - description: 'https://esbuild.github.io/api/#jsx-import-source', - fallback: { value: 'react' }, - flags: '--jsx-import-source <source>' - }) - protected parseJsxImportSource(val: string): string { - return val - } - - /** - * Parses the `--jsx-side-effects` flag. - * - * @see {@linkcode Opts.jsxSideEffects} - * - * @protected - * - * @param {string} val - Value to parse - * @return {boolean} Parsed option value - */ - @Option({ - choices: CliUtilityService.BOOLEAN_CHOICES, - description: 'https://esbuild.github.io/api/#jsx-side-effects', - fallback: { value: false }, - flags: '--jsx-side-effects [choice]', - preset: 'true' - }) - protected parseJsxSideEffects(val: string): boolean { - return this.util.parseBoolean(val) - } - - /** - * Parses the `--keep-names` flag. - * - * @see {@linkcode Opts.keepNames} - * - * @protected - * - * @param {string} val - Value to parse - * @return {boolean} Parsed option value - */ - @Option({ - choices: CliUtilityService.BOOLEAN_CHOICES, - description: 'https://esbuild.github.io/api/#keep-names', - fallback: { value: false }, - flags: '--keep-names [choice]', - preset: 'true' - }) - protected parseKeepNames(val: string): boolean { - return this.util.parseBoolean(val) - } - - /** - * Parses the `--legal-comments` flag. - * - * @see {@linkcode Opts.legalComments} - * - * @protected - * - * @param {string} val - Value to parse - * @return {LegalComments} Parsed option value - */ - @Option({ - choices: ['eof', 'external', 'inline', 'linked', 'none'], - description: 'https://esbuild.github.io/api/#legal-comments', - flags: '--legal-comments <choice>' - }) - protected parseLegalComments(val: string): LegalComments { - return cast<LegalComments>(val) - } - - /** - * Parses the `--loader` flag. - * - * @see {@linkcode Opts.loader} - * - * @protected - * - * @param {string} val - Value to parse - * @return {Record<pathe.Ext, esbuild.Loader>} Parsed option value - */ - @Option({ - description: 'https://esbuild.github.io/api/#loader', - fallback: { - description: JSON.stringify( - join( - entries(loaders()).map(([ext, loader]): string => { - return `${ext}${pathe.delimiter}${loader}` - }), - ', ' - ) - ), - value: loaders() - }, - flags: '--loader <list>' - }) - protected parseLoader(val: string): Record<pathe.Ext, esbuild.Loader> { - return this.util.parseObject<pathe.Ext, esbuild.Loader>(val) - } - - /** - * Parses the `--log-level` flag. - * - * @see {@linkcode Opts.logLevel} - * - * @protected - * - * @param {string} val - Value to parse - * @return {esbuild.LogLevel} Parsed option value - */ - @Option({ - choices: ['debug', 'error', 'info', 'silent', 'verbose', 'warning'], - description: 'https://esbuild.github.io/api/#log-level', - fallback: { value: 'info' }, - flags: '--log-level <level>' - }) - protected parseLogLevel(val: string): esbuild.LogLevel { - return cast<esbuild.LogLevel>(val) - } - - /** - * Parses the `--log-limit` flag. - * - * @see {@linkcode Opts.logLimit} - * - * @protected - * - * @param {string} val - Value to parse - * @return {number} Parsed option value - */ - @Option({ - description: 'https://esbuild.github.io/api/#log-limit', - fallback: { value: 10 }, - flags: '--log-limit <limit>' - }) - protected parseLogLimit(val: string): number { - return this.util.parseInt(val) - } - - /** - * Parses the `--log-override` flag. - * - * @see {@linkcode Opts.logOverride} - * - * @protected - * - * @param {string} val - Value to parse - * @return {Record<string, esbuild.LogLevel>} Parsed option value - */ - @Option({ - description: 'https://esbuild.github.io/api/#log-override', - flags: '--log-override <list>' - }) - protected parseLogOverride(val: string): Record<string, esbuild.LogLevel> { - return this.util.parseObject<string, esbuild.LogLevel>(val) - } - - /** - * Parses the `--main-fields` flag. - * - * @see {@linkcode Opts.mainFields} - * - * @protected - * - * @param {string} val - Value to parse - * @return {Set<string>} Parsed option value - */ - @Option({ - description: 'https://esbuild.github.io/api/#main-fields', - fallback: { description: 'module,main', value: ['module', 'main'] }, - flags: '--main-fields <list>' - }) - protected parseMainFields(val: string): Set<string> { - return this.util.parseList(val) - } - - /** - * Parses the `--mangle-cache` flag. - * - * @see {@linkcode Opts.mangleCache} - * - * @protected - * - * @param {string} val - Value to parse - * @return {Record<string, string | false>} Parsed option value - */ - @Option({ - description: 'https://esbuild.github.io/api/#mangle-cache', - flags: '--mangle-cache <list>' - }) - protected parseMangleCache(val: string): Record<string, string | false> { - return this.util.parseObject<string, string | false>(val) - } - - /** - * Parses the `--mangle-props` flag. - * - * @see {@linkcode Opts.mangleProps} - * - * @protected - * - * @param {string} val - Value to parse - * @return {RegExp} Parsed option value - */ - @Option({ - description: 'https://esbuild.github.io/api/#mangle-props', - flags: '--mangle-props <regex>' - }) - protected parseMangleProps(val: string): RegExp { - return this.util.parseRegExp(val) - } - - /** - * Parses the `--mangle-quoted` flag. - * - * @see {@linkcode Opts.mangleQuoted} - * - * @protected - * - * @param {string} val - Value to parse - * @return {boolean} Parsed option value - */ - @Option({ - choices: CliUtilityService.BOOLEAN_CHOICES, - description: 'https://esbuild.github.io/api/#mangle-quoted', - fallback: { value: false }, - flags: '--mangle-quoted [choice]', - preset: 'true' - }) - protected parseMangleQuoted(val: string): boolean { - return this.util.parseBoolean(val) - } - - /** - * Parses the `--minify` flag. - * - * @see {@linkcode Opts.minify} - * - * @protected - * - * @param {string} val - Value to parse - * @return {boolean} Parsed option value - */ - @Option({ - choices: CliUtilityService.BOOLEAN_CHOICES, - description: 'https://esbuild.github.io/api/#minify', - fallback: { value: false }, - flags: '--minify [choice]', - preset: 'true' - }) - protected parseMinify(val: string): boolean { - return this.util.parseBoolean(val) - } - - /** - * Parses the `--minify-identifiers` flag. - * - * @see {@linkcode Opts.minifyIdentifiers} - * - * @protected - * - * @param {string} val - Value to parse - * @return {boolean} Parsed option value - */ - @Option({ - choices: CliUtilityService.BOOLEAN_CHOICES, - description: 'https://esbuild.github.io/api/#minify-identifiers', - fallback: { value: false }, - flags: '--minify-identifiers [choice]', - preset: 'true' - }) - protected parseMinifyIdentifiers(val: string): boolean { - return this.util.parseBoolean(val) - } - - /** - * Parses the `--minify-syntax` flag. - * - * @see {@linkcode Opts.minifySyntax} - * - * @protected - * - * @param {string} val - Value to parse - * @return {boolean} Parsed option value - */ - @Option({ - choices: CliUtilityService.BOOLEAN_CHOICES, - description: 'https://esbuild.github.io/api/#minify-syntax', - fallback: { value: false }, - flags: '--minify-syntax [choice]', - preset: 'true' - }) - protected parseMinifySyntax(val: string): boolean { - return this.util.parseBoolean(val) - } - - /** - * Parses the `--minify-whitespace` flag. - * - * @see {@linkcode Opts.minifyWhitespace} - * - * @protected - * - * @param {string} val - Value to parse - * @return {boolean} Parsed option value - */ - @Option({ - choices: CliUtilityService.BOOLEAN_CHOICES, - description: 'https://esbuild.github.io/api/#minify-whitespace', - fallback: { value: false }, - flags: '--minify-whitespace [choice]', - preset: 'true' - }) - protected parseMinifyWhitespace(val: string): boolean { - return this.util.parseBoolean(val) - } - - /** - * Parses the `--name` flag. - * - * @see {@linkcode Opts.name} - * - * @protected - * - * @param {string} val - Value to parse - * @return {string} Parsed option value - */ - @Option({ - description: 'Bundle output file name', - fallback: { value: '[name]' }, - flags: '-n, --name <name>' - }) - protected parseName(val: string): string { - return val - } - - /** - * Parses the `--out-extension` flag. - * - * @see {@linkcode Opts.outExtension} - * - * @protected - * - * @param {string} val - Value to parse - * @return {Record<pathe.Ext, pathe.Ext>} Parsed option value - */ - @Option({ - description: 'https://esbuild.github.io/api/#out-extension', - flags: '--out-extension <list>' - }) - protected parseOutExtension(val: string): Record<pathe.Ext, pathe.Ext> { - return this.util.parseObject<pathe.Ext, pathe.Ext>(val) - } - - /** - * Parses the `--outbase` flag. - * - * @see {@linkcode Opts.outbase} - * - * @protected - * - * @param {string} val - Value to parse - * @return {string} Parsed option value - */ - @Option({ - description: 'https://esbuild.github.io/api/#outbase', - flags: '--outbase <directory>' - }) - protected parseOutbase(val: string): string { - return val - } - - /** - * Parses the `--outdir` flag. - * - * @see {@linkcode Opts.outdir} - * - * @protected - * - * @param {string} val - Value to parse - * @return {string} Parsed option value - */ - @Option({ - description: 'Output directory', - fallback: { value: 'dist' }, - flags: '-o, --outdir <directory>' - }) - protected parseOutdir(val: string): string { - return val - } - - /** - * Parses the `--packages` flag. - * - * @see {@linkcode Opts.packages} - * - * @protected - * - * @param {string} val - Value to parse - * @return {string} Parsed option value - */ - @Option({ - choices: ['external'], - description: 'https://esbuild.github.io/api/#packages', - flags: '--packages <choice>' - }) - protected parsePackages(val: string): string { - return val - } - - /** - * Parses the `--pattern` flag. - * - * @see {@linkcode Opts.pattern} - * - * @protected - * - * @param {string} val - Value to parse - * @return {Set<string>} Parsed option value - */ - @Option({ - description: 'Glob patterns matching source files', - fallback: { value: '**' }, - flags: '-p, --pattern <list>' - }) - protected parsePattern(val: string): Set<string> { - return this.util.parseList(val) - } - - /** - * Parses the `--platform` flag. - * - * @see {@linkcode Opts.platform} - * - * @protected - * - * @param {string} val - Value to parse - * @return {esbuild.Platform} Parsed option value - */ - @Option({ - choices: ['browser', 'neutral', 'node'], - description: 'https://esbuild.github.io/api/#platform', - fallback: { value: 'neutral' }, - flags: '--platform <platform>' - }) - protected parsePlatform(val: string): esbuild.Platform { - return cast<esbuild.Platform>(val) - } - - /** - * Parses the `--preserve-symlinks` flag. - * - * @see {@linkcode Opts.preserveSymlinks} - * - * @protected - * - * @param {string} val - Value to parse - * @return {boolean} Parsed option value - */ - @Option({ - choices: CliUtilityService.BOOLEAN_CHOICES, - description: 'https://esbuild.github.io/api/#preserve-symlinks', - fallback: { value: false }, - flags: '--preserve-symlinks [choice]', - preset: 'true' - }) - protected parsePreserveSymlinks(val: string): boolean { - return this.util.parseBoolean(val) - } - - /** - * Parses the `--public-path` flag. - * - * @see {@linkcode Opts.publicPath} - * - * @protected - * - * @param {string} val - Value to parse - * @return {string} Parsed option value - */ - @Option({ - description: 'https://esbuild.github.io/api/#public-path', - flags: '--public-path <path>' - }) - protected parsePublicPath(val: string): string { - return val - } - - /** - * Parses the `--pure` flag. - * - * @see {@linkcode Opts.pure} - * - * @protected - * - * @param {string} val - Value to parse - * @return {string[]} Parsed option value - */ - @Option({ - description: 'https://esbuild.github.io/api/#pure', - flags: '--pure <list>' - }) - protected parsePure(val: string): string[] { - return [...this.util.parseList(val)] - } - - /** - * Parses the `--reserve-props` flag. - * - * @see {@linkcode Opts.reserveProps} - * - * @protected - * - * @param {string} val - Value to parse - * @return {RegExp} Parsed option value - */ - @Option({ - description: 'https://esbuild.github.io/api/#reserve-props', - flags: '--reserve-props <regex>' - }) - protected parseReserveProps(val: string): RegExp { - return this.util.parseRegExp(val) - } - - /** - * Parses the `--resolve-extensions` flag. - * - * @see {@linkcode Opts.resolveExtensions} - * - * @protected - * - * @param {string} val - Value to parse - * @return {Set<string>} Parsed option value - */ - @Option({ - description: 'Resolvable file extensions', - fallback: { - description: JSON.stringify(join([...mlly.RESOLVE_EXTENSIONS])), - value: [...mlly.RESOLVE_EXTENSIONS] - }, - flags: '--resolve-extensions <list>' - }) - protected parseResolveExtensions(val: string): Set<string> { - return this.util.parseList(val) - } - - /** - * Parses the `--serve` flag. - * - * @see {@linkcode Opts.serve} - * - * @protected - * - * @param {string} val - Value to parse - * @return {esbuild.ServeOptions | false} Parsed option value - */ - @Option({ - choices: CliUtilityService.BOOLEAN_CHOICES, - description: 'https://esbuild.github.io/api/#serve', - fallback: { value: false }, - flags: '-S, --serve [choice]', - implies: { logLevel: 'info' }, - preset: 'true' - }) - protected parseServe(val: string): esbuild.ServeOptions | false { - return this.util.parseBoolean(val) && {} - } - - /** - * Parses the `--serve.certfile` flag. - * - * @protected - * - * @param {string} val - Value to parse - * @return {string} Parsed option value - */ - @Option({ - description: 'https://esbuild.github.io/api/#serve-arguments', - flags: '--serve.certfile <path>', - implies: { logLevel: 'info', serve: {} } - }) - protected parseServeCertfile(val: string): string { - return val - } - - /** - * Parses the `--serve.servedir` flag. - * - * @protected - * - * @param {string} val - Value to parse - * @return {string} Parsed option value - */ - @Option({ - description: 'https://esbuild.github.io/api/#serve-arguments', - flags: '--serve.servedir <directory>', - implies: { logLevel: 'info', serve: {} } - }) - protected parseServeDir(val: string): string { - return val - } - - /** - * Parses the `--serve.host` flag. - * - * @protected - * - * @param {string} val - Value to parse - * @return {string} Parsed option value - */ - @Option({ - description: 'https://esbuild.github.io/api/#serve-arguments', - fallback: { value: '0.0.0.0' }, - flags: '--serve.host <host>', - implies: { logLevel: 'info', serve: {} } - }) - protected parseServeHost(val: string): string { - return val - } - - /** - * Parses the `--serve.keyfile` flag. - * - * @protected - * - * @param {string} val - Value to parse - * @return {string} Parsed option value - */ - @Option({ - description: 'https://esbuild.github.io/api/#serve-arguments', - flags: '--serve.keyfile <path>', - implies: { logLevel: 'info', serve: {} } - }) - protected parseServeKeyfile(val: string): string { - return val - } - - /** - * Parses the `--serve.port` flag. - * - * @protected - * - * @param {string} val - Value to parse - * @return {number} Parsed option value - */ - @Option({ - description: 'https://esbuild.github.io/api/#serve-arguments', - flags: '--serve.port <port>', - implies: { logLevel: 'info', serve: {} } - }) - protected parseServePort(val: string): number { - return this.util.parseInt(val) - } - - /** - * Parses the `--source` flag. - * - * @see {@linkcode Opts.source} - * - * @protected - * - * @param {string} val - Value to parse - * @return {string} Parsed option value - */ - @Option({ - description: - 'Directory containing source files or relative path to bundle input', - flags: '-s, --source <path>' - }) - protected parseSource(val: string): string { - return val - } - - /** - * Parses the `--source-root` flag. - * - * @see {@linkcode Opts.sourceRoot} - * - * @protected - * - * @param {string} val - Value to parse - * @return {string} Parsed option value - */ - @Option({ - description: 'https://esbuild.github.io/api/#source-root', - flags: '--source-root <root>' - }) - protected parseSourceRoot(val: string): string { - return val - } - - /** - * Parses the `--sourcemap` flag. - * - * @see {@linkcode Opts.sourcemap} - * - * @protected - * - * @param {string} val - Value to parse - * @return {Sourcemap | boolean} Parsed option value - */ - @Option({ - choices: ['false', 'true', 'both', 'external', 'inline', 'linked'], - description: 'https://esbuild.github.io/api/#sourcemap', - fallback: { value: false }, - flags: '--sourcemap [choice]', - preset: 'true' - }) - protected parseSourcemap(val: string): Sourcemap | boolean { - return ifelse( - isBooleanish(val), - this.util.parseBoolean(val), - cast<Sourcemap>(val) - ) - } - - /** - * Parses the `--sources-content` flag. - * - * @see {@linkcode Opts.sourcesContent} - * - * @protected - * - * @param {string} val - Value to parse - * @return {boolean} Parsed option value - */ - @Option({ - choices: CliUtilityService.BOOLEAN_CHOICES, - description: 'https://esbuild.github.io/api/#sources-content', - fallback: { value: false }, - flags: '--sources-content [choice]', - preset: 'true' - }) - protected parseSourcesContent(val: string): boolean { - return this.util.parseBoolean(val) - } - - /** - * Parses the `--splitting` flag. - * - * @see {@linkcode Opts.splitting} - * - * @protected - * - * @param {string} val - Value to parse - * @return {boolean} Parsed option value - */ - @Option({ - choices: CliUtilityService.BOOLEAN_CHOICES, - description: 'https://esbuild.github.io/api/#splitting', - fallback: { value: false }, - flags: '--splitting [choice]', - preset: 'true' - }) - protected parseSplitting(val: string): boolean { - return this.util.parseBoolean(val) - } - - /** - * Parses the `--supported` flag. - * - * @see {@linkcode Opts.supported} - * - * @protected - * - * @param {string} val - Value to parse - * @return {Record<string, boolean>} Parsed option value - */ - @Option({ - description: 'https://esbuild.github.io/api/#supported', - flags: '--supported <list>' - }) - protected parseSupported(val: string): Record<string, boolean> { - return this.util.parseObject<string, boolean>(val) - } - - /** - * Parses the `--target` flag. - * - * @see {@linkcode Opts.target} - * - * @protected - * - * @param {string} val - Value to parse - * @return {string[]} Parsed option value - */ - @Option({ - description: 'https://esbuild.github.io/api/#target', - flags: '--target <list>' - }) - protected parseTarget(val: string): string[] { - return [...this.util.parseList(val)] - } - - /** - * Parses the `--tree-shaking` flag. - * - * @see {@linkcode Opts.treeShaking} - * - * @protected - * - * @param {string} val - Value to parse - * @return {boolean} Parsed option value - */ - @Option({ - choices: CliUtilityService.BOOLEAN_CHOICES, - description: 'https://esbuild.github.io/api/#tree-shaking', - flags: '--tree-shaking [choice]', - preset: 'true' - }) - protected parseTreeShaking(val: string): boolean { - return this.util.parseBoolean(val) - } - - /** - * Parses the `--tsconfig` flag. - * - * @see {@linkcode Opts.tsconfig} - * - * @protected - * - * @param {string} val - Value to parse - * @return {string} Parsed option value - */ - @Option({ - description: 'https://esbuild.github.io/api/#tsconfig', - flags: '--tsconfig <tsconfig>' - }) - protected parseTsconfig(val: string): string { - return val - } - - /** - * Parses the `--watch` flag. - * - * @see {@linkcode Opts.watch} - * - * @protected - * - * @param {string} val - Value to parse - * @return {boolean} Parsed option value - */ - @Option({ - choices: CliUtilityService.BOOLEAN_CHOICES, - description: 'Watch files', - fallback: { value: false }, - flags: '-w, --watch [choice]', - preset: 'true' - }) - protected parseWatch(val: string): boolean { - return this.util.parseBoolean(val) - } - - /** - * Command runner. - * - * @public - * @async - * - * @param {string[]} args - Parsed command arguments - * @param {Opts} opts - Parsed command options - * @return {Promise<void>} Nothing when complete - */ - public async run(args: string[], opts: Opts): Promise<void> { - // remove defaults to prevent accidental config file option override - for (const key of keys<Opts>(opts)) { - if (this.command.getOptionValueSource(key) !== 'default') continue - Reflect.deleteProperty(opts, key) - } - - // run make - return void (await make(cast(construct(set(opts, 'write', true))))) - } - - /** - * Set the current command. - * - * @see {@linkcode command} - * - * @public - * @override - * - * @param {commander.Command} cmd - New command instance - * @return {this} `this` command runner - */ - public override setCommand(cmd: commander.Command): this { - cmd.showHelpAfterError() - return super.setCommand(cmd) - } -} - -export default MkbuildCommand diff --git a/src/cli/index.ts b/src/cli/index.ts deleted file mode 100644 index 0c76fcf4..00000000 --- a/src/cli/index.ts +++ /dev/null @@ -1,22 +0,0 @@ -#!/usr/bin/env node - -/** - * @file Entry Point - CLI - * @module mkbuild/cli - */ - -import pkg from '#pkg' assert { type: 'json' } -import { ProgramFactory } from '@flex-development/nest-commander' -import { isFalsy } from '@flex-development/tutils' -import AppModule from './app.module' - -// run program -await ( - await ProgramFactory.create(AppModule, { - done: AppModule.done, - error: AppModule.error, - excess: !isFalsy(process.env.LINT_STAGED), - exit: AppModule.exit, - version: pkg.version - }) -).run() diff --git a/src/cli/interfaces/__tests__/opts.spec-d.ts b/src/cli/interfaces/__tests__/opts.spec-d.ts deleted file mode 100644 index a4d339c9..00000000 --- a/src/cli/interfaces/__tests__/opts.spec-d.ts +++ /dev/null @@ -1,20 +0,0 @@ -/** - * @file Type Tests - Opts - * @module mkbuild/cli/interfaces/tests/unit-d/Opts - * - * @todo update tests - */ - -import type { Options } from '#src/interfaces' -import type { Omit } from '@flex-development/tutils' -import type TestSubject from '../opts' - -describe('unit-d:cli/interfaces/Opts', () => { - it('should extend Omit<Options, "nodePaths">', () => { - expectTypeOf<TestSubject>().toMatchTypeOf<Omit<Options, 'nodePaths'>>() - }) - - it('should match [watch: boolean]', () => { - expectTypeOf<TestSubject>().toHaveProperty('watch').toEqualTypeOf<boolean>() - }) -}) diff --git a/src/cli/interfaces/index.ts b/src/cli/interfaces/index.ts deleted file mode 100644 index 2ec1c554..00000000 --- a/src/cli/interfaces/index.ts +++ /dev/null @@ -1,6 +0,0 @@ -/** - * @file Entry Point - CLI Interfaces - * @module mkbuild/cli/interfaces - */ - -export type { default as Opts } from './opts' diff --git a/src/cli/interfaces/opts.ts b/src/cli/interfaces/opts.ts deleted file mode 100644 index f31fcaf8..00000000 --- a/src/cli/interfaces/opts.ts +++ /dev/null @@ -1,143 +0,0 @@ -/** - * @file Interfaces - Opts - * @module mkbuild/cli/interfaces/opts - */ - -import type { Options } from '#src/interfaces' -import type { Sourcemap } from '#src/types' -import type * as pathe from '@flex-development/pathe' -import type { EmptyObject, Omit } from '@flex-development/tutils' -import type * as esbuild from 'esbuild' - -/** - * Parsed CLI options. - * - * @todo update documentation - * - * @extends {Omit<Options,'nodePaths'>} - */ -interface Flags extends Omit<Options, 'nodePaths'> { - assetNames: string - - bundle: boolean - - chunkNames: string - - clean: boolean - - color: boolean - - conditions: Set<string> - - cwd: string - - format: esbuild.Format - - ignore: Set<string> - - ignoreAnnotations: boolean - - jsxDev: boolean - - jsxImportSource: string - - jsxSideEffects: boolean - - keepNames: boolean - - loader: Record<pathe.Ext, esbuild.Loader> - - logLevel: esbuild.LogLevel - - logLimit: number - - mainFields: string[] - - mangleQuoted: boolean - - minify: boolean - - minifyIdentifiers: boolean - - minifySyntax: boolean - - minifyWhitespace: boolean - - name: string - - outdir: string - - pattern: string - - platform: esbuild.Platform - - preserveSymlinks: boolean - - resolveExtensions: Set<string> - - /** - * Serve files. - * - * @see https://esbuild.github.io/api/#serve - * - * @default false - */ - serve: EmptyObject | false - - /** - * Private key certificate file. - * - * @see https://esbuild.github.io/api/#serve - */ - 'serve.certfile'?: string - - /** - * File serving host. - * - * @see https://esbuild.github.io/api/#serve - */ - 'serve.host': string - - /** - * Private key file. - * - * @see https://esbuild.github.io/api/#serve - */ - 'serve.keyfile'?: string - - /** - * Port to serve files on. - * - * @see https://esbuild.github.io/api/#serve - */ - 'serve.port'?: number - - /** - * Directory to serve. - * - * @see https://esbuild.github.io/api/#serve - */ - 'serve.servedir'?: string - - /** - * Enable sourcemaps. - * - * @see https://esbuild.github.io/api/#sourcemap - * - * @default false - */ - sourcemap: Sourcemap | boolean - - sourcesContent: boolean - - splitting: boolean - - /** - * Watch files. - * - * @default false - */ - watch: boolean -} - -export type { Flags as default } diff --git a/src/config/__mocks__/load.ts b/src/config/__mocks__/load.ts deleted file mode 100644 index 7e283cc3..00000000 --- a/src/config/__mocks__/load.ts +++ /dev/null @@ -1,18 +0,0 @@ -/** - * @file Mock Config - loadBuildConfig - * @module mkbuild/config/mocks/loadBuildConfig - */ - -/** - * `loadBuildConfig` module type. - */ -type Actual = typeof import('../load') - -/** - * `loadBuildConfig` module. - * - * @const {Actual} actual - */ -const actual: Actual = await vi.importActual<Actual>('../load') - -export default vi.fn(actual.default) diff --git a/src/config/__snapshots__/load.integration.snap b/src/config/__snapshots__/load.integration.snap deleted file mode 100644 index bf0000bb..00000000 --- a/src/config/__snapshots__/load.integration.snap +++ /dev/null @@ -1,110 +0,0 @@ -// Vitest Snapshot v1, https://vitest.dev/guide/snapshot.html - -exports[`integration:config/loadBuildConfig > cosmiconfig > should load config from .cjs file 1`] = ` -{ - "cwd": "__fixtures__/find-uniq", - "ext": ".cjs", - "format": "cjs", - "pattern": "find-uniq.cts", - "source": ".", - "sourcemap": true, - "sourcesContent": false, -} -`; - -exports[`integration:config/loadBuildConfig > cosmiconfig > should load config from .cts file 1`] = ` -{ - "bundle": true, - "cwd": "__fixtures__/pkg/my-atoi", - "ext": ".js", - "format": "cjs", - "name": "index", - "platform": "neutral", - "source": "find-uniq.cts", - "sourcemap": true, - "sourcesContent": false, - "tsconfig": "tsconfig.json", -} -`; - -exports[`integration:config/loadBuildConfig > cosmiconfig > should load config from .js file 1`] = ` -{ - "bundle": true, - "cwd": "__fixtures__/pkg/buddy", - "entries": [ - { - "format": "esm", - }, - { - "format": "cjs", - }, - ], - "name": "index", - "platform": "neutral", - "source": "buddy.js", - "sourcemap": true, - "sourcesContent": false, -} -`; - -exports[`integration:config/loadBuildConfig > cosmiconfig > should load config from .json file 1`] = ` -{ - "cwd": "__fixtures__/pkg/tribonacci", - "entries": [ - { - "format": "esm", - }, - { - "format": "cjs", - }, - ], - "sourcemap": true, - "sourcesContent": false, - "tsconfig": "tsconfig.json", -} -`; - -exports[`integration:config/loadBuildConfig > cosmiconfig > should load config from .mjs file 1`] = ` -{ - "cwd": "__fixtures__/pkg/sum-of-intervals", - "entries": [ - { - "format": "esm", - "pattern": "sum-of-intervals.mjs", - }, - { - "format": "cjs", - "pattern": "sum-of-intervals.cjs", - }, - ], - "source": ".", - "sourcemap": true, - "sourcesContent": false, -} -`; - -exports[`integration:config/loadBuildConfig > cosmiconfig > should load config from .mts file 1`] = ` -{ - "conditions": Set { - "node", - "import", - }, - "cwd": "__fixtures__/pkg/reverse", - "sourcemap": true, - "sourcesContent": false, - "tsconfig": "tsconfig.json", -} -`; - -exports[`integration:config/loadBuildConfig > cosmiconfig > should load config from .ts file 1`] = ` -{ - "cwd": "__fixtures__/pkg/dbl-linear", - "format": "esm", - "outdir": ".", - "pattern": "dbl-linear.ts", - "source": ".", - "sourcemap": true, - "sourcesContent": false, - "tsconfig": "tsconfig.json", -} -`; diff --git a/src/config/__snapshots__/loader-es.snap b/src/config/__snapshots__/loader-es.snap deleted file mode 100644 index 86943892..00000000 --- a/src/config/__snapshots__/loader-es.snap +++ /dev/null @@ -1,81 +0,0 @@ -// Vitest Snapshot v1, https://vitest.dev/guide/snapshot.html - -exports[`unit:config/esLoader > should return config from .cts file 1`] = ` -{ - "bundle": true, - "cwd": "__fixtures__/pkg/my-atoi", - "ext": ".js", - "format": "cjs", - "name": "index", - "platform": "neutral", - "source": "find-uniq.cts", - "sourcemap": true, - "sourcesContent": false, - "tsconfig": "tsconfig.json", -} -`; - -exports[`unit:config/esLoader > should return config from .js file 1`] = ` -{ - "bundle": true, - "cwd": "__fixtures__/pkg/buddy", - "entries": [ - { - "format": "esm", - }, - { - "format": "cjs", - }, - ], - "name": "index", - "platform": "neutral", - "source": "buddy.js", - "sourcemap": true, - "sourcesContent": false, -} -`; - -exports[`unit:config/esLoader > should return config from .mjs file 1`] = ` -{ - "cwd": "__fixtures__/pkg/sum-of-intervals", - "entries": [ - { - "format": "esm", - "pattern": "sum-of-intervals.mjs", - }, - { - "format": "cjs", - "pattern": "sum-of-intervals.cjs", - }, - ], - "source": ".", - "sourcemap": true, - "sourcesContent": false, -} -`; - -exports[`unit:config/esLoader > should return config from .mts file 1`] = ` -{ - "conditions": Set { - "node", - "import", - }, - "cwd": "__fixtures__/pkg/reverse", - "sourcemap": true, - "sourcesContent": false, - "tsconfig": "tsconfig.json", -} -`; - -exports[`unit:config/esLoader > should return config from .ts file 1`] = ` -{ - "cwd": "__fixtures__/pkg/dbl-linear", - "format": "esm", - "outdir": ".", - "pattern": "dbl-linear.ts", - "source": ".", - "sourcemap": true, - "sourcesContent": false, - "tsconfig": "tsconfig.json", -} -`; diff --git a/src/config/__tests__/load.integration.spec.ts b/src/config/__tests__/load.integration.spec.ts deleted file mode 100644 index 14be804c..00000000 --- a/src/config/__tests__/load.integration.spec.ts +++ /dev/null @@ -1,68 +0,0 @@ -/** - * @file Integration Tests - loadBuildConfig - * @module mkbuild/config/tests/integration/loadBuildConfig - */ - -import pathe from '@flex-development/pathe' -import testSubject from '../load' - -describe('integration:config/loadBuildConfig', () => { - describe('cosmiconfig', () => { - it('should load config from .cjs file', async () => { - // Arrange - const location: string = pathe.resolve('__fixtures__/pkg/find-uniq') - - // Act + Expect - expect(await testSubject(location)).toMatchSnapshot() - }) - - it('should load config from .cts file', async () => { - // Arrange - const location: string = pathe.resolve('__fixtures__/pkg/my-atoi') - - // Act + Expect - expect(await testSubject(location)).toMatchSnapshot() - }) - - it('should load config from .js file', async () => { - // Arrange - const location: string = pathe.resolve('__fixtures__/pkg/buddy') - - // Act + Expect - expect(await testSubject(location)).toMatchSnapshot() - }) - - it('should load config from .json file', async () => { - // Arrange - const location: string = pathe.resolve('__fixtures__/pkg/tribonacci') - - // Act + Expect - expect(await testSubject(location)).toMatchSnapshot() - }) - - it('should load config from .mjs file', async () => { - // Arrange - const dir: string = '__fixtures__/pkg/sum-of-intervals' - const location: string = pathe.resolve(dir) - - // Act + Expect - expect(await testSubject(location)).toMatchSnapshot() - }) - - it('should load config from .mts file', async () => { - // Arrange - const location: string = pathe.resolve('__fixtures__/pkg/reverse') - - // Act + Expect - expect(await testSubject(location)).toMatchSnapshot() - }) - - it('should load config from .ts file', async () => { - // Arrange - const location: string = pathe.resolve('__fixtures__/pkg/dbl-linear') - - // Act + Expect - expect(await testSubject(location)).toMatchSnapshot() - }) - }) -}) diff --git a/src/config/__tests__/load.spec.ts b/src/config/__tests__/load.spec.ts deleted file mode 100644 index 07ae77f9..00000000 --- a/src/config/__tests__/load.spec.ts +++ /dev/null @@ -1,13 +0,0 @@ -/** - * @file Unit Tests - loadBuildConfig - * @module mkbuild/config/tests/unit/loadBuildConfig - */ - -import path from 'node:path' -import testSubject from '../load' - -describe('unit:config/loadBuildConfig', () => { - it('should return empty object if config is not found', async () => { - expect(await testSubject(path.resolve('__fixtures__'))).to.eql({}) - }) -}) diff --git a/src/config/__tests__/loader-es.spec.ts b/src/config/__tests__/loader-es.spec.ts deleted file mode 100644 index f2c4ff46..00000000 --- a/src/config/__tests__/loader-es.spec.ts +++ /dev/null @@ -1,70 +0,0 @@ -/** - * @file Unit Tests - esLoader - * @module mkbuild/config/tests/unit/esLoader - */ - -import pathe from '@flex-development/pathe' -import fs from 'node:fs/promises' -import testSubject from '../loader-es' - -describe('unit:config/esLoader', () => { - it('should return config from .cts file', async () => { - // Arrange - const file: string = '__fixtures__/pkg/my-atoi/build.config.cts' - const path: string = pathe.resolve(file) - - // Act - const result = await testSubject(path, await fs.readFile(path, 'utf8')) - - // Expect - expect(result).toMatchSnapshot() - }) - - it('should return config from .js file', async () => { - // Arrange - const file: string = '__fixtures__/pkg/buddy/build.config.js' - const path: string = pathe.resolve(file) - - // Act - const result = await testSubject(path, await fs.readFile(path, 'utf8')) - - // Expect - expect(result).toMatchSnapshot() - }) - - it('should return config from .mjs file', async () => { - // Arrange - const file: string = '__fixtures__/pkg/sum-of-intervals/build.config.mjs' - const path: string = pathe.resolve(file) - - // Act - const result = await testSubject(path, await fs.readFile(path, 'utf8')) - - // Expect - expect(result).toMatchSnapshot() - }) - - it('should return config from .mts file', async () => { - // Arrange - const file: string = '__fixtures__/pkg/reverse/build.config.mts' - const path: string = pathe.resolve(file) - - // Act - const result = await testSubject(path, await fs.readFile(path, 'utf8')) - - // Expect - expect(result).toMatchSnapshot() - }) - - it('should return config from .ts file', async () => { - // Arrange - const file: string = '__fixtures__/pkg/dbl-linear/build.config.ts' - const path: string = pathe.resolve(file) - - // Act - const result = await testSubject(path, await fs.readFile(path, 'utf8')) - - // Expect - expect(result).toMatchSnapshot() - }) -}) diff --git a/src/config/load.ts b/src/config/load.ts deleted file mode 100644 index 3fd480f3..00000000 --- a/src/config/load.ts +++ /dev/null @@ -1,51 +0,0 @@ -/** - * @file Config - loadBuildConfig - * @module mkbuild/config/loadBuildConfig - */ - -import type { Config } from '#src/interfaces' -import pathe from '@flex-development/pathe' -import { DOT, cast, get } from '@flex-development/tutils' -import { cosmiconfig } from 'cosmiconfig' -import es from './loader-es' - -/** - * Searches for a build configuration file. - * - * If found, a config object will be returned. The object will contain options - * from the config file. If not found, an empty object will be returned. - * - * @see https://github.com/davidtheclark/cosmiconfig#explorersearch - * - * @async - * - * @param {string} [location=DOT] - Directory to search - * @return {Config} Build configuration options - */ -const loadBuildConfig = async (location: string = DOT): Promise<Config> => { - /** - * Module name. - * - * @const {string} name - */ - const name: string = 'build' - - // get search function - const { search } = cosmiconfig(name, { - loaders: { '.cts': es, '.js': es, '.mjs': es, '.mts': es, '.ts': es }, - searchPlaces: [ - '#.config.cjs', - '#.config.cts', - '#.config.js', - '#.config.json', - '#.config.mjs', - '#.config.mts', - '#.config.ts' - ].map(place => place.replace('#', name)), - stopDir: pathe.resolve(location) - }) - - return cast(get((await search(location)) ?? undefined, 'config', {})) -} - -export default loadBuildConfig diff --git a/src/config/loader-es.ts b/src/config/loader-es.ts deleted file mode 100644 index 17be8736..00000000 --- a/src/config/loader-es.ts +++ /dev/null @@ -1,81 +0,0 @@ -/** - * @file Config - esLoader - * @module mkbuild/config/esLoader - */ - -import type { Config } from '#src/interfaces' -import * as mlly from '@flex-development/mlly' -import * as pathe from '@flex-development/pathe' -import * as tscu from '@flex-development/tsconfig-utils' -import { cast, get, type EmptyString } from '@flex-development/tutils' -import * as esbuild from 'esbuild' -import { pathToFileURL, type URL } from 'node:url' - -/** - * Loads an [ESM][1] (`*.js`, `*.mjs`) or TypeScript (`*.cts`, `*.mts`, `*.ts`) - * build config file. - * - * [1]: https://nodejs.org/api/esm.html - * - * @see https://github.com/davidtheclark/cosmiconfig#loaders - * - * @async - * - * @param {string} path - Absolute path to config file - * @param {string} content - Config file content - * @return {Promise<Config>} Build configuration options - */ -const esLoader = async (path: string, content: string): Promise<Config> => { - /** - * File extension of {@linkcode path}. - * - * @const {EmptyString | pathe.Ext} ext - */ - const ext: EmptyString | pathe.Ext = pathe.extname(path) - - /** - * URL of module to resolve from. - * - * @const {URL} parent - */ - const parent: URL = pathToFileURL(path) - - // convert content to data url if content does not need to be transformed - if (!/^\.(?:cts|mts|ts)$/.test(ext)) { - content = mlly.toDataURL(await mlly.resolveModules(content, { parent })) - return cast(get(await import(content), 'default')) - } - - /** - * Absolute path to tsconfig file. - * - * @const {string} tsconfig - */ - const tsconfig: string = pathe.join(pathe.dirname(path), 'tsconfig.json') - - // resolve path aliases - content = await tscu.resolvePaths(content, { - baseUrl: pathe.dirname(path), - ext: '', - parent, - tsconfig - }) - - // convert module specifiers to absolute specifiers - content = await mlly.resolveModules(content, { parent }) - - // convert content to pure javascript - const { code } = await esbuild.transform( - content, - cast<esbuild.TransformOptions>({ - format: 'esm', - loader: ext.slice(/^\.[cm]/.test(ext) ? 2 : 1), - sourcefile: path, - tsconfigRaw: { compilerOptions: tscu.loadCompilerOptions(tsconfig) } - }) - ) - - return cast(get(await import(mlly.toDataURL(code)), 'default')) -} - -export default esLoader diff --git a/src/index.mts b/src/index.mts new file mode 100644 index 00000000..117d898f --- /dev/null +++ b/src/index.mts @@ -0,0 +1,9 @@ +/** + * @file Package Entry Point + * @module mkbuild + */ + +export type * from '#interfaces/index' +export { default as make } from '#make' +export type * from '#types/index' +export * from '#utils/index' diff --git a/src/index.ts b/src/index.ts deleted file mode 100644 index f7b871a2..00000000 --- a/src/index.ts +++ /dev/null @@ -1,9 +0,0 @@ -/** - * @file Package Entry Point - * @module mkbuild - */ - -export type * from './interfaces' -export { default } from './make' -export type * from './types' -export * from './utils' diff --git a/src/interfaces/__tests__/config-resolved.spec-d.mts b/src/interfaces/__tests__/config-resolved.spec-d.mts new file mode 100644 index 00000000..bd14c311 --- /dev/null +++ b/src/interfaces/__tests__/config-resolved.spec-d.mts @@ -0,0 +1,20 @@ +/** + * @file Type Tests - ResolvedConfig + * @module mkbuild/interfaces/tests/unit-d/ResolvedConfig + */ + +import type TestSubject from '#interfaces/config-resolved' +import type { Config } from '@flex-development/mkbuild' +import type { Nullable } from '@flex-development/tutils' + +describe('unit-d:interfaces/ResolvedConfig', () => { + it('should match [config: Config]', () => { + expectTypeOf<TestSubject>().toHaveProperty('config').toEqualTypeOf<Config>() + }) + + it('should match [url: URL | null]', () => { + expectTypeOf<TestSubject>() + .toHaveProperty('url') + .toEqualTypeOf<Nullable<URL>>() + }) +}) diff --git a/src/interfaces/__tests__/config.spec-d.mts b/src/interfaces/__tests__/config.spec-d.mts new file mode 100644 index 00000000..7d614256 --- /dev/null +++ b/src/interfaces/__tests__/config.spec-d.mts @@ -0,0 +1,26 @@ +/** + * @file Type Tests - Config + * @module mkbuild/interfaces/tests/unit-d/Config + */ + +import type TestSubject from '#interfaces/config' +import type { FileSystem, Task } from '@flex-development/mkbuild' +import type { Nilable } from '@flex-development/tutils' + +describe('unit-d:interfaces/Config', () => { + it('should extend Task', () => { + expectTypeOf<TestSubject>().toMatchTypeOf<Task>() + }) + + it('should match [fs?: Partial<FileSystem> | null | undefined]', () => { + expectTypeOf<TestSubject>() + .toHaveProperty('fs') + .toEqualTypeOf<Nilable<Partial<FileSystem>>>() + }) + + it('should match [tasks?: Task[] | null | undefined]', () => { + expectTypeOf<TestSubject>() + .toHaveProperty('tasks') + .toEqualTypeOf<Nilable<Task[]>>() + }) +}) diff --git a/src/interfaces/__tests__/config.spec-d.ts b/src/interfaces/__tests__/config.spec-d.ts deleted file mode 100644 index c2f42c5d..00000000 --- a/src/interfaces/__tests__/config.spec-d.ts +++ /dev/null @@ -1,53 +0,0 @@ -/** - * @file Type Tests - Config - * @module mkbuild/interfaces/tests/unit-d/Config - */ - -import type { FileSystemAdapter } from '#src/types' -import type { Omit, Optional } from '@flex-development/tutils' -import type * as esbuild from 'esbuild' -import type TestSubject from '../config' -import type Options from '../options' -import type Task from '../task' - -describe('unit-d:interfaces/Config', () => { - it('should extend Options', () => { - expectTypeOf<TestSubject>().toMatchTypeOf<Options>() - }) - - it('should match [configfile?: boolean]', () => { - expectTypeOf<TestSubject>() - .toHaveProperty('configfile') - .toEqualTypeOf<Optional<boolean>>() - }) - - it('should match [entries?: Partial<Omit<Task, "write">>[]]', () => { - expectTypeOf<TestSubject>() - .toHaveProperty('entries') - .toEqualTypeOf<Optional<Partial<Omit<Task, 'write'>>[]>>() - }) - - it('should match [fs?: FileSystemAdapter]', () => { - expectTypeOf<TestSubject>() - .toHaveProperty('fs') - .toEqualTypeOf<Optional<FileSystemAdapter>>() - }) - - it('should match [serve?: esbuild.ServeOptions | boolean]', () => { - expectTypeOf<TestSubject>() - .toHaveProperty('serve') - .toEqualTypeOf<Optional<esbuild.ServeOptions | boolean>>() - }) - - it('should match [watch?: boolean]', () => { - expectTypeOf<TestSubject>() - .toHaveProperty('watch') - .toEqualTypeOf<Optional<boolean>>() - }) - - it('should match [write?: boolean]', () => { - expectTypeOf<TestSubject>() - .toHaveProperty('write') - .toEqualTypeOf<Optional<boolean>>() - }) -}) diff --git a/src/interfaces/__tests__/context.spec-d.ts b/src/interfaces/__tests__/context.spec-d.ts deleted file mode 100644 index 852aa5e7..00000000 --- a/src/interfaces/__tests__/context.spec-d.ts +++ /dev/null @@ -1,15 +0,0 @@ -/** - * @file Type Tests - Context - * @module mkbuild/interfaces/tests/unit-d/Context - */ - -import type * as esbuild from 'esbuild' -import type TestSubject from '../context' - -describe('unit-d:interfaces/Context', () => { - it('should extend esbuild.BuildContext<{metafile:true;write:false}>', () => { - expectTypeOf<TestSubject>().toMatchTypeOf< - esbuild.BuildContext<{ metafile: true; write: false }> - >() - }) -}) diff --git a/src/interfaces/__tests__/esbuild-options.spec-d.mts b/src/interfaces/__tests__/esbuild-options.spec-d.mts new file mode 100644 index 00000000..6b084d78 --- /dev/null +++ b/src/interfaces/__tests__/esbuild-options.spec-d.mts @@ -0,0 +1,176 @@ +/** + * @file Type Tests - EsbuildOptions + * @module mkbuild/interfaces/tests/unit-d/EsbuildOptions + */ + +import type TestSubject from '#interfaces/esbuild-options' +import type { JsxTransform } from '@flex-development/mkbuild' +import type { EmptyString, Ext } from '@flex-development/pathe' +import type { Tsconfig } from '@flex-development/tsconfig-types' +import type { Nilable } from '@flex-development/tutils' +import type { FilterPattern } from '@rollup/pluginutils' +import type { Charset, Drop, Loader, LogLevel, Platform } from 'esbuild' + +describe('unit-d:interfaces/EsbuildOptions', () => { + it('should match [charset?: Charset | null | undefined]', () => { + expectTypeOf<TestSubject>() + .toHaveProperty('charset') + .toEqualTypeOf<Nilable<Charset>>() + }) + + it('should match [define?: { [key: string]: string } | null | undefined]', () => { + expectTypeOf<TestSubject>() + .toHaveProperty('define') + .toEqualTypeOf<Nilable<{ [key: string]: string }>>() + }) + + it('should match [drop?: Drop[] | null | undefined]', () => { + expectTypeOf<TestSubject>() + .toHaveProperty('drop') + .toEqualTypeOf<Nilable<Drop[]>>() + }) + + it('should match [dropLabels?: string[] | null | undefined]', () => { + expectTypeOf<TestSubject>() + .toHaveProperty('dropLabels') + .toEqualTypeOf<Nilable<string[]>>() + }) + + it('should match [exclude?: FilterPattern | null | undefined]', () => { + expectTypeOf<TestSubject>() + .toHaveProperty('exclude') + .toEqualTypeOf<Nilable<FilterPattern>>() + }) + + it('should match [include?: FilterPattern | null | undefined]', () => { + expectTypeOf<TestSubject>() + .toHaveProperty('include') + .toEqualTypeOf<Nilable<FilterPattern>>() + }) + + it('should match [jsx?: JsxTransform | null | undefined]', () => { + expectTypeOf<TestSubject>() + .toHaveProperty('jsx') + .toEqualTypeOf<Nilable<JsxTransform>>() + }) + + it('should match [jsxDev?: boolean | null | undefined]', () => { + expectTypeOf<TestSubject>() + .toHaveProperty('jsxDev') + .toEqualTypeOf<Nilable<boolean>>() + }) + + it('should match [jsxFactory?: string | null | undefined]', () => { + expectTypeOf<TestSubject>() + .toHaveProperty('jsxFactory') + .toEqualTypeOf<Nilable<string>>() + }) + + it('should match [jsxFragment?: string | null | undefined]', () => { + expectTypeOf<TestSubject>() + .toHaveProperty('jsxFragment') + .toEqualTypeOf<Nilable<string>>() + }) + + it('should match [jsxImportSource?: string | null | undefined]', () => { + expectTypeOf<TestSubject>() + .toHaveProperty('jsxImportSource') + .toEqualTypeOf<Nilable<string>>() + }) + + it('should match [jsxSideEffects?: boolean | null | undefined]', () => { + expectTypeOf<TestSubject>() + .toHaveProperty('jsxSideEffects') + .toEqualTypeOf<Nilable<boolean>>() + }) + + it('should match [keepNames?: boolean | null | undefined]', () => { + expectTypeOf<TestSubject>() + .toHaveProperty('keepNames') + .toEqualTypeOf<Nilable<boolean>>() + }) + + it('should match [loader?: Partial<Record<EmptyString | Ext, Loader>> | null | undefined]', () => { + expectTypeOf<TestSubject>() + .toHaveProperty('loader') + .toEqualTypeOf<Nilable<Partial<Record<EmptyString | Ext, Loader>>>>() + }) + + it('should match [logOverride?: Record<string, LogLevel> | null | undefined]', () => { + expectTypeOf<TestSubject>() + .toHaveProperty('logOverride') + .toEqualTypeOf<Nilable<Record<string, LogLevel>>>() + }) + + it('should match [mangleCache?: Record<string, string | false> | null | undefined]', () => { + expectTypeOf<TestSubject>() + .toHaveProperty('mangleCache') + .toEqualTypeOf<Nilable<Record<string, string | false>>>() + }) + + it('should match [mangleProps?: RegExp | null | undefined]', () => { + expectTypeOf<TestSubject>() + .toHaveProperty('mangleProps') + .toEqualTypeOf<Nilable<RegExp>>() + }) + + it('should match [mangleQuoted?: boolean | null | undefined]', () => { + expectTypeOf<TestSubject>() + .toHaveProperty('mangleQuoted') + .toEqualTypeOf<Nilable<boolean>>() + }) + + it('should match [minify?: boolean | null | undefined]', () => { + expectTypeOf<TestSubject>() + .toHaveProperty('minify') + .toEqualTypeOf<Nilable<boolean>>() + }) + + it('should match [minifyIdentifiers?: boolean | null | undefined]', () => { + expectTypeOf<TestSubject>() + .toHaveProperty('minifyIdentifiers') + .toEqualTypeOf<Nilable<boolean>>() + }) + + it('should match [minifySyntax?: boolean | null | undefined]', () => { + expectTypeOf<TestSubject>() + .toHaveProperty('minifySyntax') + .toEqualTypeOf<Nilable<boolean>>() + }) + + it('should match [minifyWhitespace?: boolean | null | undefined]', () => { + expectTypeOf<TestSubject>() + .toHaveProperty('minifyWhitespace') + .toEqualTypeOf<Nilable<boolean>>() + }) + + it('should match [platform?: Platform | null | undefined]', () => { + expectTypeOf<TestSubject>() + .toHaveProperty('platform') + .toEqualTypeOf<Nilable<Platform>>() + }) + + it('should match [reserveProps?: RegExp | null | undefined]', () => { + expectTypeOf<TestSubject>() + .toHaveProperty('reserveProps') + .toEqualTypeOf<Nilable<RegExp>>() + }) + + it('should match [supported?: Record<string, boolean> | null | undefined]', () => { + expectTypeOf<TestSubject>() + .toHaveProperty('supported') + .toEqualTypeOf<Nilable<Record<string, boolean>>>() + }) + + it('should match [target?: Set<string> | string[] | string | null | undefined]', () => { + expectTypeOf<TestSubject>() + .toHaveProperty('target') + .toEqualTypeOf<Nilable<Set<string> | string[] | string>>() + }) + + it('should match [tsconfigRaw?: Tsconfig | string | null | undefined]', () => { + expectTypeOf<TestSubject>() + .toHaveProperty('tsconfigRaw') + .toEqualTypeOf<Nilable<Tsconfig | string>>() + }) +}) diff --git a/src/interfaces/__tests__/experimental-options.spec-d.mts b/src/interfaces/__tests__/experimental-options.spec-d.mts new file mode 100644 index 00000000..1c8635a3 --- /dev/null +++ b/src/interfaces/__tests__/experimental-options.spec-d.mts @@ -0,0 +1,15 @@ +/** + * @file Type Tests - ExperimentalOptions + * @module mkbuild/interfaces/tests/unit-d/ExperimentalOptions + */ + +import type TestSubject from '#interfaces/experimental-options' +import type { Nilable } from '@flex-development/tutils' + +describe('unit-d:interfaces/ExperimentalOptions', () => { + it('should match [perf?: boolean | null | undefined]', () => { + expectTypeOf<TestSubject>() + .toHaveProperty('perf') + .toEqualTypeOf<Nilable<boolean>>() + }) +}) diff --git a/src/interfaces/__tests__/file-system.spec-d.mts b/src/interfaces/__tests__/file-system.spec-d.mts new file mode 100644 index 00000000..1f0b5315 --- /dev/null +++ b/src/interfaces/__tests__/file-system.spec-d.mts @@ -0,0 +1,106 @@ +/** + * @file Type Tests - FileSystem + * @module mlly/interfaces/tests/unit-d/FileSystem + */ + +import type TestSubject from '#interfaces/file-system' +import type { Awaitable, ModuleId } from '@flex-development/mlly' +import type * as tscu from '@flex-development/tsconfig-utils' + +describe('unit-d:interfaces/FileSystem', () => { + it('should extend tscu.FileSystem', () => { + expectTypeOf<TestSubject>().toMatchTypeOf<tscu.FileSystem>() + }) + + describe('mkdir', () => { + type Subject = TestSubject['mkdir'] + + it('should match [this: void]', () => { + expectTypeOf<Subject>().thisParameter.toEqualTypeOf<void>() + }) + + describe('parameters', () => { + it('should be callable with [ModuleId, ({ recursive: true } | undefined)?]', () => { + expectTypeOf<Subject>() + .parameters + .toEqualTypeOf<[ModuleId, ({ recursive: true } | undefined)?]>() + }) + }) + + describe('returns', () => { + it('should return Awaitable<string | null | undefined | void>', () => { + expectTypeOf<Subject>() + .returns + .toEqualTypeOf<Awaitable<string | null | undefined | void>>() + }) + }) + }) + + describe('mkdirSync', () => { + type Subject = TestSubject['mkdirSync'] + + it('should match [this: void]', () => { + expectTypeOf<Subject>().thisParameter.toEqualTypeOf<void>() + }) + + describe('parameters', () => { + it('should be callable with [ModuleId]', () => { + expectTypeOf<Subject>().parameters.toEqualTypeOf<[ModuleId]>() + }) + }) + + describe('returns', () => { + it('should return string | null | undefined | void', () => { + expectTypeOf<Subject>() + .returns + .toEqualTypeOf<string | null | undefined | void>() + }) + }) + }) + + describe('rm', () => { + type Subject = TestSubject['rm'] + + it('should match [this: void]', () => { + expectTypeOf<Subject>().thisParameter.toEqualTypeOf<void>() + }) + + describe('parameters', () => { + it('should be callable with [string, { force: true; recursive: true }]', () => { + expectTypeOf<Subject>() + .parameters + .toEqualTypeOf<[string, { force: true; recursive: true }]>() + }) + }) + + describe('returns', () => { + it('should return Awaitable<null | undefined | void>', () => { + expectTypeOf<Subject>() + .returns + .toEqualTypeOf<Awaitable<null | undefined | void>>() + }) + }) + }) + + describe('writeFile', () => { + type Subject = TestSubject['writeFile'] + + it('should match [this: void]', () => { + expectTypeOf<Subject>().thisParameter.toEqualTypeOf<void>() + }) + + describe('parameters', () => { + it('should be callable with [string, string]', () => { + expectTypeOf<Subject>().parameters.toEqualTypeOf<[string, string]>() + }) + }) + + describe('returns', () => { + it('should return Awaitable<null | undefined | void>', () => { + expectTypeOf<Subject>() + .returns + .toEqualTypeOf<Awaitable<null | undefined | void>>() + }) + }) + }) +}) diff --git a/src/interfaces/__tests__/message-location.spec-d.mts b/src/interfaces/__tests__/message-location.spec-d.mts new file mode 100644 index 00000000..877c6f06 --- /dev/null +++ b/src/interfaces/__tests__/message-location.spec-d.mts @@ -0,0 +1,20 @@ +/** + * @file Type Tests - MessageLocation + * @module mkbuild/interfaces/tests/unit-d/MessageLocation + */ + +import type TestSubject from '#interfaces/message-location' +import type { Optional } from '@flex-development/tutils' +import type { Point } from '@flex-development/vfile-location' + +describe('unit-d:interfaces/MessageLocation', () => { + it('should extend Omit<Point, "offset">', () => { + expectTypeOf<TestSubject>().toMatchTypeOf<Omit<Point, 'offset'>>() + }) + + it('should match [file?: string | undefined]', () => { + expectTypeOf<TestSubject>() + .toHaveProperty('file') + .toEqualTypeOf<Optional<string>>() + }) +}) diff --git a/src/interfaces/__tests__/message.spec-d.mts b/src/interfaces/__tests__/message.spec-d.mts new file mode 100644 index 00000000..9db534e3 --- /dev/null +++ b/src/interfaces/__tests__/message.spec-d.mts @@ -0,0 +1,119 @@ +/** + * @file Type Tests - Message + * @module mkbuild/interfaces/tests/unit-d/Message + */ + +import type TestSubject from '#interfaces/message' +import type { MessageLocation, RollupCode } from '@flex-development/mkbuild' +import type { Nilable } from '@flex-development/tutils' +import type * as rollup from 'rollup' + +describe('unit-d:interfaces/Message', () => { + it('should match [binding?: string | null | undefined]', () => { + expectTypeOf<TestSubject>() + .toHaveProperty('binding') + .toEqualTypeOf<Nilable<string>>() + }) + + it('should match [cause?: unknown]', () => { + expectTypeOf<TestSubject>().toHaveProperty('cause').toEqualTypeOf<unknown>() + }) + + it('should match [code: RollupCode]', () => { + expectTypeOf<TestSubject>() + .toHaveProperty('code') + .toEqualTypeOf<RollupCode>() + }) + + it('should match [exporter?: string | null | undefined]', () => { + expectTypeOf<TestSubject>() + .toHaveProperty('exporter') + .toEqualTypeOf<Nilable<string>>() + }) + + it('should match [frame?: string | null | undefined]', () => { + expectTypeOf<TestSubject>() + .toHaveProperty('frame') + .toEqualTypeOf<Nilable<string>>() + }) + + it('should match [hook?: string | null | undefined]', () => { + expectTypeOf<TestSubject>() + .toHaveProperty('hook') + .toEqualTypeOf<Nilable<string>>() + }) + + it('should match [id?: string | null | undefined]', () => { + expectTypeOf<TestSubject>() + .toHaveProperty('id') + .toEqualTypeOf<Nilable<string>>() + }) + + it('should match [ids?: string[] | null | undefined]', () => { + expectTypeOf<TestSubject>() + .toHaveProperty('ids') + .toEqualTypeOf<Nilable<string[]>>() + }) + + it('should match [loc?: MessageLocation | null | undefined]', () => { + expectTypeOf<TestSubject>() + .toHaveProperty('loc') + .toEqualTypeOf<Nilable<MessageLocation>>() + }) + + it('should match [level: rollup.LogLevel]', () => { + expectTypeOf<TestSubject>() + .toHaveProperty('level') + .toEqualTypeOf<rollup.LogLevel>() + }) + + it('should match [meta?: unknown]', () => { + expectTypeOf<TestSubject>().toHaveProperty('meta').toEqualTypeOf<unknown>() + }) + + it('should match [names?: string[] | null | undefined]', () => { + expectTypeOf<TestSubject>() + .toHaveProperty('names') + .toEqualTypeOf<Nilable<string[]>>() + }) + + it('should match [plugin?: string | null | undefined]', () => { + expectTypeOf<TestSubject>() + .toHaveProperty('plugin') + .toEqualTypeOf<Nilable<string>>() + }) + + it('should match [pluginCode?: unknown]', () => { + expectTypeOf<TestSubject>() + .toHaveProperty('pluginCode') + .toEqualTypeOf<unknown>() + }) + + it('should match [pos?: number | null | undefined]', () => { + expectTypeOf<TestSubject>() + .toHaveProperty('pos') + .toEqualTypeOf<Nilable<number>>() + }) + + it('should match [reexporter?: string | null | undefined]', () => { + expectTypeOf<TestSubject>() + .toHaveProperty('reexporter') + .toEqualTypeOf<Nilable<string>>() + }) + + it('should match [stack?: string | null | undefined]', () => { + expectTypeOf<TestSubject>() + .toHaveProperty('stack') + .toEqualTypeOf<Nilable<string>>() + }) + + it('should match [text: string]', () => { + expectTypeOf<TestSubject>().toHaveProperty('text').toEqualTypeOf<string>() + }) + + it('should match [url?: string | null | undefined]', () => { + expectTypeOf<TestSubject>() + .toHaveProperty('url') + .toEqualTypeOf<Nilable<string>>() + }) +}) diff --git a/src/interfaces/__tests__/options.spec-d.ts b/src/interfaces/__tests__/options.spec-d.ts deleted file mode 100644 index c192ba17..00000000 --- a/src/interfaces/__tests__/options.spec-d.ts +++ /dev/null @@ -1,116 +0,0 @@ -/** - * @file Type Tests - Options - * @module mkbuild/interfaces/tests/unit-d/Options - */ - -import type { - EsbuildOptions, - GeneratedFileType, - OutputExtension -} from '#src/types' -import type * as pathe from '@flex-development/pathe' -import type { OneOrMany, Optional } from '@flex-development/tutils' -import type * as esbuild from 'esbuild' -import type TestSubject from '../options' - -describe('unit-d:interfaces/Options', () => { - it('should extend EsbuildOptions', () => { - expectTypeOf<TestSubject>().toMatchTypeOf<EsbuildOptions>() - }) - - it('should match [banner?: { [K in GeneratedFileType]?: string }]', () => { - expectTypeOf<TestSubject>() - .toHaveProperty('banner') - .toEqualTypeOf<Optional<{ [K in GeneratedFileType]?: string }>>() - }) - - it('should match [clean?: boolean]', () => { - expectTypeOf<TestSubject>() - .toHaveProperty('clean') - .toEqualTypeOf<Optional<boolean>>() - }) - - it('should match [conditions?: Set<string> | string[]]', () => { - expectTypeOf<TestSubject>() - .toHaveProperty('conditions') - .toEqualTypeOf<Optional<Set<string> | string[]>>() - }) - - it('should match [createRequire?: boolean]', () => { - expectTypeOf<TestSubject>() - .toHaveProperty('createRequire') - .toEqualTypeOf<Optional<boolean>>() - }) - - it('should match [cwd?: string]', () => { - expectTypeOf<TestSubject>() - .toHaveProperty('cwd') - .toEqualTypeOf<Optional<string>>() - }) - - it('should match [dts?: boolean | "only"]', () => { - expectTypeOf<TestSubject>() - .toHaveProperty('dts') - .toEqualTypeOf<Optional<boolean | 'only'>>() - }) - - it('should match [ext?: OutputExtension]', () => { - expectTypeOf<TestSubject>() - .toHaveProperty('ext') - .toEqualTypeOf<Optional<OutputExtension>>() - }) - - it('should match [footer?: { [K in GeneratedFileType]?: string }]', () => { - expectTypeOf<TestSubject>() - .toHaveProperty('footer') - .toEqualTypeOf<Optional<{ [K in GeneratedFileType]?: string }>>() - }) - - it('should match [ignore?: Set<string> | string[]]', () => { - expectTypeOf<TestSubject>() - .toHaveProperty('ignore') - .toEqualTypeOf<Optional<Set<string> | string[]>>() - }) - - it('should match [loader?: Record<pathe.Ext, esbuild.Loader>]', () => { - expectTypeOf<TestSubject>() - .toHaveProperty('loader') - .toEqualTypeOf<Optional<Record<pathe.Ext, esbuild.Loader>>>() - }) - - it('should match [mainFields?: Set<string> | string[]]', () => { - expectTypeOf<TestSubject>() - .toHaveProperty('mainFields') - .toEqualTypeOf<Optional<Set<string> | string[]>>() - }) - - it('should match [name?: string]', () => { - expectTypeOf<TestSubject>() - .toHaveProperty('name') - .toEqualTypeOf<Optional<string>>() - }) - - it('should match [outExtension?: Record<pathe.Ext, pathe.Ext>]', () => { - expectTypeOf<TestSubject>() - .toHaveProperty('outExtension') - .toEqualTypeOf<Optional<Record<pathe.Ext, pathe.Ext>>>() - }) - - it('should match [pattern?: OneOrMany<string> | Set<string>]', () => { - expectTypeOf<TestSubject>() - .toHaveProperty('pattern') - .toEqualTypeOf<Optional<OneOrMany<string> | Set<string>>>() - }) - - it('should match [resolveExtensions?: Set<string> | string[]]', () => { - expectTypeOf<TestSubject>() - .toHaveProperty('resolveExtensions') - .toEqualTypeOf<Optional<Set<string> | string[]>>() - }) - - it('should match [source?: string]', () => { - expectTypeOf<TestSubject>() - .toHaveProperty('source') - .toEqualTypeOf<Optional<string>>() - }) -}) diff --git a/src/interfaces/__tests__/output-asset.spec-d.mts b/src/interfaces/__tests__/output-asset.spec-d.mts new file mode 100644 index 00000000..ee8532ec --- /dev/null +++ b/src/interfaces/__tests__/output-asset.spec-d.mts @@ -0,0 +1,17 @@ +/** + * @file Type Tests - OutputAsset + * @module mkbuild/interfaces/tests/unit-d/OutputAsset + */ + +import type TestSubject from '#interfaces/output-asset' +import type * as rollup from 'rollup' + +describe('unit-d:interfaces/OutputAsset', () => { + it('should extend rollup.OutputAsset', () => { + expectTypeOf<TestSubject>().toMatchTypeOf<rollup.OutputAsset>() + }) + + it('should match [bytes: number]', () => { + expectTypeOf<TestSubject>().toHaveProperty('bytes').toEqualTypeOf<number>() + }) +}) diff --git a/src/interfaces/__tests__/output-chunk.spec-d.mts b/src/interfaces/__tests__/output-chunk.spec-d.mts new file mode 100644 index 00000000..2611f157 --- /dev/null +++ b/src/interfaces/__tests__/output-chunk.spec-d.mts @@ -0,0 +1,17 @@ +/** + * @file Type Tests - OutputChunk + * @module mkbuild/interfaces/tests/unit-d/OutputChunk + */ + +import type TestSubject from '#interfaces/output-chunk' +import type * as rollup from 'rollup' + +describe('unit-d:interfaces/OutputChunk', () => { + it('should extend rollup.OutputChunk', () => { + expectTypeOf<TestSubject>().toMatchTypeOf<rollup.OutputChunk>() + }) + + it('should match [bytes: number]', () => { + expectTypeOf<TestSubject>().toHaveProperty('bytes').toEqualTypeOf<number>() + }) +}) diff --git a/src/interfaces/__tests__/output.spec-d.ts b/src/interfaces/__tests__/output.spec-d.ts deleted file mode 100644 index 938d1960..00000000 --- a/src/interfaces/__tests__/output.spec-d.ts +++ /dev/null @@ -1,42 +0,0 @@ -/** - * @file Type Tests - Output - * @module mkbuild/interfaces/tests/unit-d/Output - */ - -import type { OutputMetadata } from '#src/types' -import type * as esbuild from 'esbuild' -import type TestSubject from '../output' - -describe('unit-d:interfaces/Output', () => { - it('should extend esbuild.OutputFile', () => { - expectTypeOf<TestSubject>().toMatchTypeOf<esbuild.OutputFile>() - }) - - it('should match [bytes: OutputMetadata["bytes"]]', () => { - expectTypeOf<TestSubject>() - .toHaveProperty('bytes') - .toEqualTypeOf<OutputMetadata['bytes']>() - }) - - it('should match [entryPoint: OutputMetadata["entryPoint"]]', () => { - expectTypeOf<TestSubject>() - .toHaveProperty('entryPoint') - .toEqualTypeOf<OutputMetadata['entryPoint']>() - }) - - it('should match [exports: OutputMetadata["exports"]]', () => { - expectTypeOf<TestSubject>() - .toHaveProperty('exports') - .toEqualTypeOf<OutputMetadata['exports']>() - }) - - it('should match [imports: OutputMetadata["imports"]]', () => { - expectTypeOf<TestSubject>() - .toHaveProperty('imports') - .toEqualTypeOf<OutputMetadata['imports']>() - }) - - it('should match [outfile: string]', () => { - expectTypeOf<TestSubject>().toHaveProperty('outfile').toBeString() - }) -}) diff --git a/src/interfaces/__tests__/report.spec-d.mts b/src/interfaces/__tests__/report.spec-d.mts new file mode 100644 index 00000000..3159eba9 --- /dev/null +++ b/src/interfaces/__tests__/report.spec-d.mts @@ -0,0 +1,19 @@ +/** + * @file Type Tests - Report + * @module mkbuild/interfaces/tests/unit-d/Report + */ + +import type TestSubject from '#interfaces/report' +import type { Result } from '@flex-development/mkbuild' + +describe('unit-d:interfaces/Report', () => { + it('should match [builds: Result[]]', () => { + expectTypeOf<TestSubject>() + .toHaveProperty('builds') + .toEqualTypeOf<Result[]>() + }) + + it('should match [size: number]', () => { + expectTypeOf<TestSubject>().toHaveProperty('size').toEqualTypeOf<number>() + }) +}) diff --git a/src/interfaces/__tests__/resolve-id-options.spec-d.mts b/src/interfaces/__tests__/resolve-id-options.spec-d.mts new file mode 100644 index 00000000..b84320f0 --- /dev/null +++ b/src/interfaces/__tests__/resolve-id-options.spec-d.mts @@ -0,0 +1,28 @@ +/** + * @file Type Tests - ResolveIdOptions + * @module mkbuild/interfaces/tests/unit-d/ResolveIdOptions + */ + +import type TestSubject from '#interfaces/resolve-id-options' +import type { Optional } from '@flex-development/tutils' +import type { CustomPluginOptions } from 'rollup' + +describe('unit-d:interfaces/ResolveIdOptions', () => { + it('should match [attributes: Record<string, string>]', () => { + expectTypeOf<TestSubject>() + .toHaveProperty('attributes') + .toEqualTypeOf<Record<string, string>>() + }) + + it('should match [custom?: CustomPluginOptions | undefined]', () => { + expectTypeOf<TestSubject>() + .toHaveProperty('custom') + .toEqualTypeOf<Optional<CustomPluginOptions>>() + }) + + it('should match [isEntry: boolean]', () => { + expectTypeOf<TestSubject>() + .toHaveProperty('isEntry') + .toEqualTypeOf<boolean>() + }) +}) diff --git a/src/interfaces/__tests__/resolve-options.spec-d.mts b/src/interfaces/__tests__/resolve-options.spec-d.mts new file mode 100644 index 00000000..33e4e7af --- /dev/null +++ b/src/interfaces/__tests__/resolve-options.spec-d.mts @@ -0,0 +1,33 @@ +/** + * @file Type Tests - ResolveOptions + * @module mkbuild/interfaces/tests/unit-d/ResolveOptions + */ + +import type { Skip, default as TestSubject } from '#interfaces/resolve-options' +import type { ResolveModuleOptions } from '@flex-development/mlly' +import type { Nilable } from '@flex-development/tutils' + +describe('unit-d:interfaces/ResolveOptions', () => { + it('should extend Omit<ResolveModuleOptions, Skip>', () => { + expectTypeOf<TestSubject>() + .toMatchTypeOf<Omit<ResolveModuleOptions, Skip>>() + }) + + it('should match [conditions?: Set<string> | string[] | null | undefined]', () => { + expectTypeOf<TestSubject>() + .toHaveProperty('conditions') + .toEqualTypeOf<Nilable<Set<string> | string[]>>() + }) + + it('should match [extensions?: Set<string> | string[] | null | undefined]', () => { + expectTypeOf<TestSubject>() + .toHaveProperty('extensions') + .toEqualTypeOf<Nilable<Set<string> | string[]>>() + }) + + it('should match [mainFields?: Set<string> | string[] | null | undefined]', () => { + expectTypeOf<TestSubject>() + .toHaveProperty('mainFields') + .toEqualTypeOf<Nilable<Set<string> | string[]>>() + }) +}) diff --git a/src/interfaces/__tests__/result.spec-d.mts b/src/interfaces/__tests__/result.spec-d.mts new file mode 100644 index 00000000..a1e2ceb8 --- /dev/null +++ b/src/interfaces/__tests__/result.spec-d.mts @@ -0,0 +1,63 @@ +/** + * @file Type Tests - Result + * @module mkbuild/interfaces/tests/unit-d/Result + */ + +import type TestSubject from '#interfaces/result' +import type { + Format, + Message, + OutputAsset, + OutputChunk, + RunnableTask +} from '@flex-development/mkbuild' +import type { Nilable } from '@flex-development/tutils' +import type { SerializedTimings } from 'rollup' + +describe('unit-d:interfaces/Result', () => { + it('should match [failure?: Error | null | undefined]', () => { + expectTypeOf<TestSubject>() + .toHaveProperty('failure') + .toEqualTypeOf<Nilable<Error>>() + }) + + it('should match [format: Format]', () => { + expectTypeOf<TestSubject>().toHaveProperty('format').toEqualTypeOf<Format>() + }) + + it('should match [messages: Message[]]', () => { + expectTypeOf<TestSubject>() + .toHaveProperty('messages') + .toEqualTypeOf<Message[]>() + }) + + it('should match [outdir: string]', () => { + expectTypeOf<TestSubject>().toHaveProperty('outdir').toEqualTypeOf<string>() + }) + + it('should match [outputs: (OutputAsset | OutputChunk)[]]', () => { + expectTypeOf<TestSubject>() + .toHaveProperty('outputs') + .toEqualTypeOf<(OutputAsset | OutputChunk)[]>() + }) + + it('should match [root: string]', () => { + expectTypeOf<TestSubject>().toHaveProperty('root').toEqualTypeOf<string>() + }) + + it('should match [size: number]', () => { + expectTypeOf<TestSubject>().toHaveProperty('size').toEqualTypeOf<number>() + }) + + it('should match [task: Omit<RunnableTask, "run">]', () => { + expectTypeOf<TestSubject>() + .toHaveProperty('task') + .toEqualTypeOf<Omit<RunnableTask, 'run'>>() + }) + + it('should match [timings?: SerializedTimings | null | undefined]', () => { + expectTypeOf<TestSubject>() + .toHaveProperty('timings') + .toEqualTypeOf<Nilable<SerializedTimings>>() + }) +}) diff --git a/src/interfaces/__tests__/result.spec-d.ts b/src/interfaces/__tests__/result.spec-d.ts deleted file mode 100644 index 9d6635a1..00000000 --- a/src/interfaces/__tests__/result.spec-d.ts +++ /dev/null @@ -1,51 +0,0 @@ -/** - * @file Type Tests - Result - * @module mkbuild/interfaces/tests/unit-d/Result - */ - -import type * as esbuild from 'esbuild' -import type Output from '../output' -import type TestSubject from '../result' -import type Task from '../task' - -describe('unit-d:interfaces/Result', () => { - it('should match [cwd: string]', () => { - expectTypeOf<TestSubject>().toHaveProperty('cwd').toBeString() - }) - - it('should match [errors: esbuild.BuildResult["errors"]]', () => { - expectTypeOf<TestSubject>() - .toHaveProperty('errors') - .toEqualTypeOf<esbuild.BuildResult['errors']>() - }) - - it('should match [mangleCache: esbuild.BuildResult["mangleCache"]]', () => { - expectTypeOf<TestSubject>() - .toHaveProperty('mangleCache') - .toEqualTypeOf<esbuild.BuildResult['mangleCache']>() - }) - - it('should match [metafile: esbuild.Metafile]', () => { - expectTypeOf<TestSubject>() - .toHaveProperty('metafile') - .toEqualTypeOf<esbuild.Metafile>() - }) - - it('should match [outdir: Task["outdir"]]', () => { - expectTypeOf<TestSubject>() - .toHaveProperty('outdir') - .toEqualTypeOf<Task['outdir']>() - }) - - it('should match [outputs: Output[]]', () => { - expectTypeOf<TestSubject>() - .toHaveProperty('outputs') - .toEqualTypeOf<Output[]>() - }) - - it('should match [warnings: esbuild.BuildResult["warnings"]]', () => { - expectTypeOf<TestSubject>() - .toHaveProperty('warnings') - .toEqualTypeOf<esbuild.BuildResult['warnings']>() - }) -}) diff --git a/src/interfaces/__tests__/source-file.spec-d.ts b/src/interfaces/__tests__/source-file.spec-d.ts deleted file mode 100644 index 58315b09..00000000 --- a/src/interfaces/__tests__/source-file.spec-d.ts +++ /dev/null @@ -1,21 +0,0 @@ -/** - * @file Type Tests - SourceFile - * @module mkbuild/interfaces/tests/unit-d/SourceFile - */ - -import type * as pathe from '@flex-development/pathe' -import type TestSubject from '../source-file' - -describe('unit-d:interfaces/SourceFile', () => { - it('should match [ext: pathe.Ext]', () => { - expectTypeOf<TestSubject>().toHaveProperty('ext').toEqualTypeOf<pathe.Ext>() - }) - - it('should match [file: string]', () => { - expectTypeOf<TestSubject>().toHaveProperty('file').toBeString() - }) - - it('should match [path: string]', () => { - expectTypeOf<TestSubject>().toHaveProperty('path').toBeString() - }) -}) diff --git a/src/interfaces/__tests__/task-runnable.spec-d.mts b/src/interfaces/__tests__/task-runnable.spec-d.mts new file mode 100644 index 00000000..efbb0220 --- /dev/null +++ b/src/interfaces/__tests__/task-runnable.spec-d.mts @@ -0,0 +1,42 @@ +/** + * @file Type Tests - RunnableTask + * @module mkbuild/interfaces/tests/unit-d/RunnableTask + */ + +import type TestSubject from '#interfaces/task-runnable' +import type { Format, Result, Task } from '@flex-development/mkbuild' +import type { EmptyArray } from '@flex-development/tutils' + +describe('unit-d:interfaces/RunnableTask', () => { + it('should extend Task', () => { + expectTypeOf<TestSubject>().toMatchTypeOf<Task>() + }) + + it('should match [format: Format]', () => { + expectTypeOf<TestSubject>().toHaveProperty('format').toEqualTypeOf<Format>() + }) + + it('should match [root: string]', () => { + expectTypeOf<TestSubject>().toHaveProperty('root').toEqualTypeOf<string>() + }) + + describe('run', () => { + type Subject = TestSubject['run'] + + it('should match [this: void]', () => { + expectTypeOf<Subject>().thisParameter.toEqualTypeOf<void>() + }) + + describe('parameters', () => { + it('should be callable with []', () => { + expectTypeOf<Subject>().parameters.toEqualTypeOf<EmptyArray>() + }) + }) + + describe('returns', () => { + it('should return Promise<Result>', () => { + expectTypeOf<Subject>().returns.toEqualTypeOf<Promise<Result>>() + }) + }) + }) +}) diff --git a/src/interfaces/__tests__/task.spec-d.mts b/src/interfaces/__tests__/task.spec-d.mts new file mode 100644 index 00000000..cbd7fba4 --- /dev/null +++ b/src/interfaces/__tests__/task.spec-d.mts @@ -0,0 +1,233 @@ +/** + * @file Type Tests - Task + * @module mkbuild/interfaces/tests/unit-d/Task + */ + +import type TestSubject from '#interfaces/task' +import type { + AssetFileNamesFn, + BannerFn, + DTSOption, + EntryFileNamesFn, + EsbuildOptions, + ExperimentalOptions, + FooterFn, + Format, + Input, + ResolveOptions, + SanitizeFileNameFn, + SourcemapFileNamesFn, + SourcemapIgnoreTest, + SourcemapOption, + SourcemapPathTransform +} from '@flex-development/mkbuild' +import type { ModuleId } from '@flex-development/mlly' +import type { Tsconfig } from '@flex-development/tsconfig-types' +import type { Nilable } from '@flex-development/tutils' +import type { HashCharacters, InputPluginOption, LogLevelOption } from 'rollup' + +describe('unit-d:interfaces/Task', () => { + it('should match [assetFileNames?: AssetFileNamesFn | string | null | undefined]', () => { + expectTypeOf<TestSubject>() + .toHaveProperty('assetFileNames') + .toEqualTypeOf<Nilable<AssetFileNamesFn | string>>() + }) + + it('should match [banner?: BannerFn | string | null | undefined]', () => { + expectTypeOf<TestSubject>() + .toHaveProperty('banner') + .toEqualTypeOf<Nilable<BannerFn | string>>() + }) + + it('should match [clean?: boolean | null | undefined]', () => { + expectTypeOf<TestSubject>() + .toHaveProperty('clean') + .toEqualTypeOf<Nilable<boolean>>() + }) + + it('should match [dts?: DTSOption | null | undefined]', () => { + expectTypeOf<TestSubject>() + .toHaveProperty('dts') + .toEqualTypeOf<Nilable<DTSOption>>() + }) + + it('should match [entryFileNames?: EntryFileNamesFn | string | null | undefined]', () => { + expectTypeOf<TestSubject>() + .toHaveProperty('entryFileNames') + .toEqualTypeOf<Nilable<EntryFileNamesFn | string>>() + }) + + it('should match [esbuild?: EsbuildOptions | null | undefined]', () => { + expectTypeOf<TestSubject>() + .toHaveProperty('esbuild') + .toEqualTypeOf<Nilable<EsbuildOptions>>() + }) + + it('should match [experimental?: ExperimentalOptions | null | undefined]', () => { + expectTypeOf<TestSubject>() + .toHaveProperty('experimental') + .toEqualTypeOf<Nilable<ExperimentalOptions>>() + }) + + it('should match [ext?: string | null | undefined]', () => { + expectTypeOf<TestSubject>() + .toHaveProperty('ext') + .toEqualTypeOf<Nilable<string>>() + }) + + it('should match [footer?: FooterFn | string | null | undefined]', () => { + expectTypeOf<TestSubject>() + .toHaveProperty('footer') + .toEqualTypeOf<Nilable<FooterFn | string>>() + }) + + it('should match [format?: Format | null | undefined]', () => { + expectTypeOf<TestSubject>() + .toHaveProperty('format') + .toEqualTypeOf<Nilable<Format>>() + }) + + it('should match [gitignore?: boolean | null | undefined]', () => { + expectTypeOf<TestSubject>() + .toHaveProperty('gitignore') + .toEqualTypeOf<Nilable<boolean>>() + }) + + it('should match [hashCharacters?: HashCharacters | null | undefined]', () => { + expectTypeOf<TestSubject>() + .toHaveProperty('hashCharacters') + .toEqualTypeOf<Nilable<HashCharacters>>() + }) + + it('should match [ignore?: Set<string> | readonly string[] | string | null | undefined]', () => { + expectTypeOf<TestSubject>() + .toHaveProperty('ignore') + .toEqualTypeOf<Nilable<Set<string> | readonly string[] | string>>() + }) + + it('should match [input?: Input | null | undefined]', () => { + expectTypeOf<TestSubject>() + .toHaveProperty('input') + .toEqualTypeOf<Nilable<Input>>() + }) + + it('should match [logLevel?: LogLevelOption | null | undefined]', () => { + expectTypeOf<TestSubject>() + .toHaveProperty('logLevel') + .toEqualTypeOf<Nilable<LogLevelOption>>() + }) + + it('should match [maxParallelFileOps?: number | null | undefined]', () => { + expectTypeOf<TestSubject>() + .toHaveProperty('maxParallelFileOps') + .toEqualTypeOf<Nilable<number>>() + }) + + it('should match [outdir?: string | null | undefined]', () => { + expectTypeOf<TestSubject>() + .toHaveProperty('outdir') + .toEqualTypeOf<Nilable<string>>() + }) + + it('should match [plugins?: InputPluginOption[] | null | undefined]', () => { + expectTypeOf<TestSubject>() + .toHaveProperty('plugins') + .toEqualTypeOf<Nilable<InputPluginOption[]>>() + }) + + it('should match [resolve?: ResolveOptions | null | undefined]', () => { + expectTypeOf<TestSubject>() + .toHaveProperty('resolve') + .toEqualTypeOf<Nilable<ResolveOptions>>() + }) + + it('should match [root?: ModuleId | null | undefined]', () => { + expectTypeOf<TestSubject>() + .toHaveProperty('root') + .toEqualTypeOf<Nilable<ModuleId>>() + }) + + it('should match [sanitizeFileName?: SanitizeFileNameFn | boolean | null | undefined]', () => { + expectTypeOf<TestSubject>() + .toHaveProperty('sanitizeFileName') + .toEqualTypeOf<Nilable<SanitizeFileNameFn | boolean>>() + }) + + it('should match [sourcemap?: SourcemapOption | null | undefined]', () => { + expectTypeOf<TestSubject>() + .toHaveProperty('sourcemap') + .toEqualTypeOf<Nilable<SourcemapOption>>() + }) + + it('should match [sourcemapBaseUrl?: ModuleId | null | undefined]', () => { + expectTypeOf<TestSubject>() + .toHaveProperty('sourcemapBaseUrl') + .toEqualTypeOf<Nilable<ModuleId>>() + }) + + it('should match [sourcemapExcludeSources?: boolean | null | undefined]', () => { + expectTypeOf<TestSubject>() + .toHaveProperty('sourcemapExcludeSources') + .toEqualTypeOf<Nilable<boolean>>() + }) + + it('should match [sourcemapFileNames?: SourcemapFileNamesFn | string | null | undefined]', () => { + expectTypeOf<TestSubject>() + .toHaveProperty('sourcemapFileNames') + .toEqualTypeOf<Nilable<SourcemapFileNamesFn | string>>() + }) + + it('should match [sourcemapIgnoreList?: SourcemapIgnoreTest | boolean | null | undefined]', () => { + expectTypeOf<TestSubject>() + .toHaveProperty('sourcemapIgnoreList') + .toEqualTypeOf<Nilable<SourcemapIgnoreTest | boolean>>() + }) + + it('should match [sourcemapPathTransform?: SourcemapPathTransform | null | undefined]', () => { + expectTypeOf<TestSubject>() + .toHaveProperty('sourcemapPathTransform') + .toEqualTypeOf<Nilable<SourcemapPathTransform>>() + }) + + it('should match [strictDeprecations?: boolean | null | undefined]', () => { + expectTypeOf<TestSubject>() + .toHaveProperty('strictDeprecations') + .toEqualTypeOf<Nilable<boolean>>() + }) + + it('should match [tsconfig?: ModuleId | null | undefined]', () => { + expectTypeOf<TestSubject>() + .toHaveProperty('tsconfig') + .toEqualTypeOf<Nilable<ModuleId>>() + }) + + it('should match [tsconfigRaw?: Tsconfig | string | null | undefined]', () => { + expectTypeOf<TestSubject>() + .toHaveProperty('tsconfigRaw') + .toEqualTypeOf<Nilable<Tsconfig | string>>() + }) + + it('should match [typescriptPath?: string | null | undefined]', () => { + expectTypeOf<TestSubject>() + .toHaveProperty('typescriptPath') + .toEqualTypeOf<Nilable<string>>() + }) + + it('should match [validate?: boolean | null | undefined]', () => { + expectTypeOf<TestSubject>() + .toHaveProperty('validate') + .toEqualTypeOf<Nilable<boolean>>() + }) + + it('should match [virtualDirname?: string | null | undefined]', () => { + expectTypeOf<TestSubject>() + .toHaveProperty('virtualDirname') + .toEqualTypeOf<Nilable<string>>() + }) + + it('should match [write?: boolean | null | undefined]', () => { + expectTypeOf<TestSubject>() + .toHaveProperty('write') + .toEqualTypeOf<Nilable<boolean>>() + }) +}) diff --git a/src/interfaces/__tests__/task.spec-d.ts b/src/interfaces/__tests__/task.spec-d.ts deleted file mode 100644 index 7bc24e63..00000000 --- a/src/interfaces/__tests__/task.spec-d.ts +++ /dev/null @@ -1,30 +0,0 @@ -/** - * @file Type Tests - Task - * @module mkbuild/interfaces/tests/unit-d/Task - */ - -import type { EsbuildOptions } from '#src/types' -import type Options from '../options' -import type TestSubject from '../task' - -describe('unit-d:interfaces/Task', () => { - it('should extend EsbuildOptions', () => { - expectTypeOf<TestSubject>().toMatchTypeOf<EsbuildOptions>() - }) - - it('should extend Options', () => { - expectTypeOf<TestSubject>().toMatchTypeOf<Options>() - }) - - it('should match [cwd: string]', () => { - expectTypeOf<TestSubject>().toHaveProperty('cwd').toBeString() - }) - - it('should match [outdir: string]', () => { - expectTypeOf<TestSubject>().toHaveProperty('outdir').toBeString() - }) - - it('should match [source: string]', () => { - expectTypeOf<TestSubject>().toHaveProperty('source').toBeString() - }) -}) diff --git a/src/interfaces/config-resolved.mts b/src/interfaces/config-resolved.mts new file mode 100644 index 00000000..00136433 --- /dev/null +++ b/src/interfaces/config-resolved.mts @@ -0,0 +1,25 @@ +/** + * @file Interfaces - ResolvedConfig + * @module mkbuild/interfaces/ResolvedConfig + */ + +import type { Config } from '@flex-development/mkbuild' + +/** + * Resolved build configuration. + */ +interface ResolvedConfig { + /** + * Build configuration. + * + * @see {@linkcode Config} + */ + config: Config + + /** + * URL of config file. + */ + url: URL | null +} + +export type { ResolvedConfig as default } diff --git a/src/interfaces/config.mts b/src/interfaces/config.mts new file mode 100644 index 00000000..07d96f8d --- /dev/null +++ b/src/interfaces/config.mts @@ -0,0 +1,37 @@ +/** + * @file Interfaces - Config + * @module mkbuild/interfaces/Config + */ + +import type { FileSystem, Task } from '@flex-development/mkbuild' + +/** + * Build configuration. + * + * @see {@linkcode Task} + * + * @extends {Task} + */ +interface Config extends Task { + /** + * File system API. + * + * @see {@linkcode FileSystem} + */ + fs?: Partial<FileSystem> | null | undefined + + /** + * Build tasks. + * + * Each build task will be merged with the base task. Top-level lists (arrays + * and sets) are concatted and deduped. Plain objects are deep merged. + * + * > 👉 **Note**: If empty, `null`, or `undefined`, a single build task will + * > be inferred from the base task. + * + * @see {@linkcode Task} + */ + tasks?: Task[] | null | undefined +} + +export type { Config as default } diff --git a/src/interfaces/config.ts b/src/interfaces/config.ts deleted file mode 100644 index 69349b82..00000000 --- a/src/interfaces/config.ts +++ /dev/null @@ -1,70 +0,0 @@ -/** - * @file Interfaces - Config - * @module mkbuild/interfaces/Config - */ - -import type { FileSystemAdapter } from '#src/types' -import type { Omit } from '@flex-development/tutils' -import type * as esbuild from 'esbuild' -import type Options from './options' -import type Task from './task' - -/** - * Build configuration options. - * - * @extends {Options} - */ -interface Config extends Options { - /** - * Load build config from config file. - * - * @default true - */ - configfile?: boolean - - /** - * Build entries. - * - * **Note**: If empty or `undefined`, a single build entry will be inferred - * from the remaining set of configuration options. - * - * @default [] - */ - entries?: Partial<Omit<Task, 'write'>>[] - - /** - * Custom implementations of file system methods. - * - * @see {@linkcode FileSystemAdapter} - * @see https://nodejs.org/api/fs.html - * - * @default fsa - */ - fs?: FileSystemAdapter - - /** - * Serve files. - * - * @see {@linkcode esbuild.ServeOptions} - * @see https://esbuild.github.io/api/#serve - * - * @default false - */ - serve?: esbuild.ServeOptions | boolean - - /** - * Watch files. - * - * @default false - */ - watch?: boolean - - /** - * Write build results. - * - * @default false - */ - write?: boolean -} - -export type { Config as default } diff --git a/src/interfaces/context.ts b/src/interfaces/context.ts deleted file mode 100644 index 7ee1932d..00000000 --- a/src/interfaces/context.ts +++ /dev/null @@ -1,18 +0,0 @@ -/** - * @file Interfaces - Context - * @module mkbuild/interfaces/Context - */ - -import type * as esbuild from 'esbuild' - -/** - * Object representing a build context. - * - * @see {@linkcode esbuild.BuildContext} - * - * @extends {esbuild.BuildContext<{metafile:true;write:false}>} - */ -interface Context - extends esbuild.BuildContext<{ metafile: true; write: false }> {} - -export type { Context as default } diff --git a/src/interfaces/esbuild-options.mts b/src/interfaces/esbuild-options.mts new file mode 100644 index 00000000..599f19c8 --- /dev/null +++ b/src/interfaces/esbuild-options.mts @@ -0,0 +1,244 @@ +/** + * @file Interfaces - EsbuildOptions + * @module mkbuild/interfaces/EsbuildOptions + */ + +import type { JsxTransform } from '@flex-development/mkbuild' +import type { EmptyString, Ext } from '@flex-development/pathe' +import type { Tsconfig } from '@flex-development/tsconfig-types' +import type { FilterPattern } from '@rollup/pluginutils' +import type { Charset, Drop, Loader, LogLevel, Platform } from 'esbuild' + +/** + * Options passed to the [esbuild transform api][esbuild-transform]. + * + * [esbuild-transform]: https://esbuild.github.io/api/#transform + * + * @todo `globalName` + * @todo `ignoreAnnotations` + * @todo `pure` + * @todo `treeShaking` + */ +interface EsbuildOptions { + /** + * By default esbuild's output is ASCII-only. Any non-ASCII characters are + * escaped using backslash escape sequences. Disable character escaping by + * setting the charset. + * + * @see https://esbuild.github.io/api/#charset + * @see {@linkcode Charset} + */ + charset?: Charset | null | undefined + + /** + * Replace global identifiers with constant expressions. + * + * @see https://esbuild.github.io/api/#define + */ + define?: { [key: string]: string } | null | undefined + + /** + * Remove certain constructs before transformation. + * + * @see https://esbuild.github.io/api/#drop + * @see {@linkcode Drop} + */ + drop?: Drop[] | null | undefined + + /** + * Remove labeled statements with specific label names. + * + * @see https://esbuild.github.io/api/#drop-labels + */ + dropLabels?: string[] | null | undefined + + /** + * Patterns matching modules to exclude from transformation. + * + * @see {@linkcode FilterPattern} + */ + exclude?: FilterPattern | null | undefined + + /** + * Patterns matching modules to transform. + * + * @see {@linkcode FilterPattern} + * + * @default /\.(?:(?:json)|(?:[cm]?[jt]s)|(?:[jt]sx?))$/ + */ + include?: FilterPattern | null | undefined + + /** + * Tell esbuild what to do about JSX syntax. + * + * @see https://esbuild.github.io/api/#jsx + * @see {@linkcode JsxTransform} + */ + jsx?: JsxTransform | null | undefined + + /** + * Tell esbuild to automatically inject the file name and source location into + * each JSX element. Your JSX library can then use this information to help + * with debugging. + * + * @see https://esbuild.github.io/api/#jsx-dev + */ + jsxDev?: boolean | null | undefined + + /** + * The function that is called for each JSX element. + * + * @see https://esbuild.github.io/api/#jsx-factory + */ + jsxFactory?: string | null | undefined + + /** + * The function that is called for each JSX fragment. + * + * @see https://esbuild.github.io/api/#jsx-fragment + */ + jsxFragment?: string | null | undefined + + /** + * The library to automatically import JSX helper functions from. + * + * @see https://esbuild.github.io/api/#jsx-import-source + */ + jsxImportSource?: string | null | undefined + + /** + * Mark JSX expressions as having side effects. + * + * @see https://esbuild.github.io/api/#jsx-side-effects + */ + jsxSideEffects?: boolean | null | undefined + + /** + * Preserve original `name` values in minified code. + * + * @see https://esbuild.github.io/api/#keep-names + */ + keepNames?: boolean | null | undefined + + /** + * Prevent esbuild from generating output files with really long lines, which + * can help editing performance in poorly-implemented text editors. + * + * @see https://esbuild.github.io/api/#line-limit + */ + lineLimit?: number | null | undefined + + /** + * Loader map. + * + * @see https://esbuild.github.io/api/#loader + * @see {@linkcode Ext} + * @see {@linkcode Loader} + */ + loader?: Partial<Record<EmptyString | Ext, Loader>> | null | undefined + + /** + * Log overrides. + * + * @see https://esbuild.github.io/api/#log-override + * @see {@linkcode LogLevel} + */ + logOverride?: Record<string, LogLevel> | null | undefined + + /** + * Customize what mangled properties are renamed to, and/or disable mangling + * for individual properties. + * + * @see https://esbuild.github.io/api/#mangle-cache + */ + mangleCache?: Record<string, string | false> | null | undefined + + /** + * Regular expression matching properties that esbuild should automatically + * rename. + * + * @see https://esbuild.github.io/api/#mangle-props + */ + mangleProps?: RegExp | null | undefined + + /** + * Mangle quoted properties. + * + * @see https://esbuild.github.io/api/#mangle-quoted + */ + mangleQuoted?: boolean | null | undefined + + /** + * Minify generated code by renaming local variables to be shorter, rewriting + * syntax to be more compact, and removing whitespace. + * + * @see https://esbuild.github.io/api/#minify + * @see {@linkcode minifyIdentifiers} + * @see {@linkcode minifySyntax} + * @see {@linkcode minifyWhitespace} + */ + minify?: boolean | null | undefined + + /** + * Minify generated code by renaming local variables to be shorter. + * + * @see https://esbuild.github.io/api/#minify + */ + minifyIdentifiers?: boolean | null | undefined + + /** + * Minify generated code by rewriting syntax to be more compact. + * + * @see https://esbuild.github.io/api/#minify + */ + minifySyntax?: boolean | null | undefined + + /** + * Minify generated code by removing whitespace. + * + * @see https://esbuild.github.io/api/#minify + */ + minifyWhitespace?: boolean | null | undefined + + /** + * Platform to generate code for. + * + * @see https://esbuild.github.io/api/#platform + * @see {@linkcode Platform} + * + * @default 'node' + */ + platform?: Platform | null | undefined + + /** + * Regular expression matching properties to exclude from mangling. + * + * @see https://esbuild.github.io/api/#reserve-props + */ + reserveProps?: RegExp | null | undefined + + /** + * Customize esbuild's set of unsupported syntax features at the individual + * syntax feature level. + * + * @see https://esbuild.github.io/api/#supported + */ + supported?: Record<string, boolean> | null | undefined + + /** + * Target environment for generated JavaScript and/or CSS code. + * + * @see https://esbuild.github.io/api/#target + */ + target?: Set<string> | string[] | string | null | undefined + + /** + * Raw tsconfig. + * + * @see https://esbuild.github.io/api/#tsconfig-raw + * @see {@linkcode Tsconfig} + */ + tsconfigRaw?: Tsconfig | string | null | undefined +} + +export type { EsbuildOptions as default } diff --git a/src/interfaces/experimental-options.mts b/src/interfaces/experimental-options.mts new file mode 100644 index 00000000..2aeae8a8 --- /dev/null +++ b/src/interfaces/experimental-options.mts @@ -0,0 +1,36 @@ +/** + * @file Interfaces - ExperimentalOptions + * @module mkbuild/interfaces/ExperimentalOptions + */ + +import type { Result } from '@flex-development/mkbuild' + +/** + * Experimental options. + */ +interface ExperimentalOptions { + /** + * Whether to collect performance timings. + * + * When enabled, the `timings` key of a build task {@linkcode Result} will be + * an object where each value is a list of performance times. + * + * For each key, the first number represents the elapsed time, the second the + * change in memory consumption, and the third represents the total memory + * consumption after this step. + * The order of these steps is the order used by `Object.keys`. + * Top level keys start with `#` and contain the timings of nested steps, i.e. + * in the example below, the `698ms` of the `# BUILD` step include the `538ms` + * of the `## parse modules` step. + * + * @example + * { + * "# BUILD": [ 698.020877, 33979632, 45328080 ], + * "## parse modules": [ 537.509342, 16295024, 27660296 ], + * "load modules": [ 33.253778999999994, 2277104, 38204152 ] + * } + */ + perf?: boolean | null | undefined +} + +export type { ExperimentalOptions as default } diff --git a/src/interfaces/file-system.mts b/src/interfaces/file-system.mts new file mode 100644 index 00000000..ef80e8e5 --- /dev/null +++ b/src/interfaces/file-system.mts @@ -0,0 +1,124 @@ +/** + * @file Interfaces - FileSystem + * @module mkbuild/interfaces/FileSystem + */ + +import type { Awaitable, ModuleId } from '@flex-development/mlly' +import type * as tscu from '@flex-development/tsconfig-utils' + +/** + * File system API. + * + * @see {@linkcode tscu.FileSystem} + * + * @extends {tscu.FileSystem} + */ +interface FileSystem extends tscu.FileSystem { + /** + * Create a directory. + * + * @see {@linkcode Awaitable} + * @see {@linkcode ModuleId} + * + * @this {void} + * + * @param {ModuleId} id + * Direcory URL or path relative to current working directory + * @param {{ recursive: true } | undefined} [options] + * Creation options + * @param {true} options.recursive + * Create parent folders + * @return {Awaitable<string | null | undefined | void>} + * First directory path created + */ + mkdir( + this: void, + id: ModuleId, + options?: { recursive: true } | undefined + ): Awaitable<string | null | undefined | void> + + /** + * Create a directory. + * + * @see {@linkcode ModuleId} + * + * @this {void} + * + * @param {ModuleId} id + * Direcory URL or path relative to current working directory + * @return {string | null | undefined | void} + * First directory path created + */ + mkdirSync(this: void, id: ModuleId): string | null | undefined | void + + /** + * Get the contents of the file at `id`. + * + * @see {@linkcode ModuleId} + * + * @this {void} + * + * @param {ModuleId} id + * Module id of file to read + * @param {'utf8'} encoding + * Buffer encoding + * @return {string} + * File contents + */ + readFileSync(this: void, id: ModuleId, encoding: 'utf8'): string + + /** + * Get the contents of the file at `id`. + * + * @see {@linkcode Buffer} + * @see {@linkcode ModuleId} + * + * @this {void} + * + * @param {ModuleId} id + * Module id of file to read + * @return {Buffer | string} + * File contents + */ + readFileSync(this: void, id: ModuleId): Buffer | string + + /** + * Remove a directory or file. + * + * @this {void} + * + * @param {string} path + * Directory or file path, relative to current working directory + * @param {{ force: true; recursive: true }} options + * Removal options + * @param {true} options.force + * Ignore exceptions if `path` does not exist + * @param {true} options.recursive + * Perform a recursive directory removal + * @return {Awaitable<null | undefined | void>} + */ + rm( + this: void, + path: string, + options: { force: true; recursive: true } + ): Awaitable<null | undefined | void> + + /** + * Create a file. + * + * @this {void} + * + * @param {string} path + * File path, relative to current working directory + * @param {string} contents + * File contents + * @return {Awaitable<null | undefined | void>} + */ + writeFile( + this: void, + path: string, + contents: string + ): Awaitable<null | undefined | void> +} + +export type { FileSystem as default } diff --git a/src/interfaces/index.mts b/src/interfaces/index.mts new file mode 100644 index 00000000..02d32fe8 --- /dev/null +++ b/src/interfaces/index.mts @@ -0,0 +1,25 @@ +/** + * @file Entry Point - Interfaces + * @module mkbuild/interfaces + */ + +export type { default as Config } from '#interfaces/config' +export type { default as ResolvedConfig } from '#interfaces/config-resolved' +export type { default as EsbuildOptions } from '#interfaces/esbuild-options' +export type { + default as ExperimentalOptions +} from '#interfaces/experimental-options' +export type { default as FileSystem } from '#interfaces/file-system' +export type { default as Message } from '#interfaces/message' +export type { default as MessageLocation } from '#interfaces/message-location' +export type { default as OutputAsset } from '#interfaces/output-asset' +export type { default as OutputChunk } from '#interfaces/output-chunk' +export type { default as Report } from '#interfaces/report' +export type { + default as ResolveIdOptions +} from '#interfaces/resolve-id-options' +export type { default as ResolveOptions } from '#interfaces/resolve-options' +export type { default as Result } from '#interfaces/result' +export type { default as RollupCodeMap } from '#interfaces/rollup-code-map' +export type { default as Task } from '#interfaces/task' +export type { default as RunnableTask } from '#interfaces/task-runnable' diff --git a/src/interfaces/index.ts b/src/interfaces/index.ts deleted file mode 100644 index 83ae7fc3..00000000 --- a/src/interfaces/index.ts +++ /dev/null @@ -1,12 +0,0 @@ -/** - * @file Entry Point - Interfaces - * @module mkbuild/interfaces - */ - -export type { default as Config } from './config' -export type { default as Context } from './context' -export type { default as Options } from './options' -export type { default as Output } from './output' -export type { default as Result } from './result' -export type { default as SourceFile } from './source-file' -export type { default as Task } from './task' diff --git a/src/interfaces/message-location.mts b/src/interfaces/message-location.mts new file mode 100644 index 00000000..daa2e57b --- /dev/null +++ b/src/interfaces/message-location.mts @@ -0,0 +1,22 @@ +/** + * @file Interfaces - MessageLocation + * @module mkbuild/interfaces/MessageLocation + */ + +import type { Point } from '@flex-development/vfile-location' + +/** + * Build message location. + * + * @see {@linkcode Point} + * + * @extends {Omit<Point,'offset'>} + */ +interface MessageLocation extends Omit<Point, 'offset'> { + /** + * Module id of file where message occurred. + */ + file?: string | undefined +} + +export type { MessageLocation as default } diff --git a/src/interfaces/message.mts b/src/interfaces/message.mts new file mode 100644 index 00000000..44438378 --- /dev/null +++ b/src/interfaces/message.mts @@ -0,0 +1,115 @@ +/** + * @file Interfaces - Message + * @module mkbuild/interfaces/Message + */ + +import type { MessageLocation, RollupCode } from '@flex-development/mkbuild' +import type * as rollup from 'rollup' + +/** + * Build message. + */ +interface Message { + /** + * Name of relevant export. + */ + binding?: string | null | undefined + + /** + * Cause for message. + */ + cause?: unknown + + /** + * Message code. + * + * @see {@linkcode RollupCode} + */ + code: RollupCode + + /** + * Module id of exporting file. + */ + exporter?: string | null | undefined + + /** + * Code snippet. + */ + frame?: string | null | undefined + + /** + * Plugin hook name. + */ + hook?: string | null | undefined + + /** + * Module id of file where message occurred. + */ + id?: string | null | undefined + + /** + * List of relevant module ids. + */ + ids?: string[] | null | undefined + + /** + * Location where message originated in {@linkcode id}. + * + * @see {@linkcode MessageLocation} + */ + loc?: MessageLocation | null | undefined + + /** + * Log level of message. + * + * @see {@linkcode rollup.LogLevel} + */ + level: rollup.LogLevel + + /** + * Message metadata. + */ + meta?: unknown + + /** + * List of relevant chunk, export, or import names. + */ + names?: string[] | null | undefined + + /** + * Plugin name. + */ + plugin?: string | null | undefined + + /** + * Custom plugin code. + */ + pluginCode?: unknown + + /** + * Index of where message originated in {@linkcode id}. + */ + pos?: number | null | undefined + + /** + * Module id of file that re-exports bindings from another module. + */ + reexporter?: string | null | undefined + + /** + * Stack trace. + */ + stack?: string | null | undefined + + /** + * Message text. + */ + text: string + + /** + * Help URL. + */ + url?: string | null | undefined +} + +export type { Message as default } diff --git a/src/interfaces/options.ts b/src/interfaces/options.ts deleted file mode 100644 index 3d354a75..00000000 --- a/src/interfaces/options.ts +++ /dev/null @@ -1,234 +0,0 @@ -/** - * @file Interfaces - Options - * @module mkbuild/interfaces/Options - */ - -import type { - EsbuildOptions, - GeneratedFileType, - OutputExtension -} from '#src/types' -import type * as pathe from '@flex-development/pathe' -import type { OneOrMany } from '@flex-development/tutils' -import type * as esbuild from 'esbuild' - -/** - * Common build options. - * - * @extends {EsbuildOptions} - */ -interface Options extends EsbuildOptions { - /** - * Asset name template. - * - * @see https://esbuild.github.io/api/#asset-names - * - * @default 'assets/[name]-[hash]' - */ - assetNames?: string - - /** - * Arbitrary strings to insert at the beginning of generated JavaScript and - * CSS files. - * - * @see https://esbuild.github.io/api/#banner - * - * @default {} - */ - banner?: { [K in GeneratedFileType]?: string } - - /** - * Bundle files. - * - * @see https://esbuild.github.io/api/#bundle - * - * @default false - */ - bundle?: boolean - - /** - * Chunk name template. - * - * @see https://esbuild.github.io/api/#chunk-names - * - * @default 'chunks/[name]-[hash]' - */ - chunkNames?: string - - /** - * Remove output directory before starting build. - */ - clean?: boolean - - /** - * Export conditions to apply. - * - * @see https://esbuild.github.io/api/#conditions - * - * @default ['import','default'] - */ - conditions?: Set<string> | string[] - - /** - * Insert `require` function definition snippet into ESM bundles. - * - * [1]: https://esbuild.github.io/api/#platform - * - * @default bundle && format === 'esm' && platform === 'node' - */ - createRequire?: boolean - - /** - * Current working directory. - * - * @default '.' - */ - cwd?: string - - /** - * Generate TypeScript declaration (`*.d.cts`, `*.d.mts`, or `*.d.ts`) files. - * - * Pass `'only'` to only write declaration files. - * - * @default !!mlly.resolveModule(cwd+'node_modules/typescript/package.json') - */ - dts?: boolean | 'only' - - /** - * Output file extension. - * - * @default format === 'cjs' ? '.cjs' : format === 'esm' ? '.mjs' : '.js' - */ - ext?: OutputExtension - - /** - * Arbitrary strings to insert at the end of generated JavaScript and CSS - * files. - * - * @see https://esbuild.github.io/api/#footer - * - * @default {} - */ - footer?: { [K in GeneratedFileType]?: string } - - /** - * Output file format. - * - * @see https://esbuild.github.io/api/#format - * - * @default 'esm' - */ - format?: esbuild.Format - - /** - * Glob patterns to exclude matches in {@linkcode pattern}. - * - * If a `.gitignore` file is found, patterns from the ignore file (that are - * not negated) will be added to the default set of ignore patterns. - * - * @see https://github.com/mrmlnc/fast-glob#ignore - * - * @default IGNORE_PATTERNS - */ - ignore?: Set<string> | string[] - - /** - * Input file interpreter. - * - * @see https://esbuild.github.io/api/#loader - * @see https://esbuild.github.io/content-types - * - * @default loaders(format,bundle) - */ - loader?: Record<pathe.Ext, esbuild.Loader> - - /** - * Log level. - * - * @see https://esbuild.github.io/api/#log-level - * - * @default 'info' - */ - logLevel?: esbuild.LogLevel - - /** - * Log overrides. - * - * @see https://esbuild.github.io/api/#log-override - * - * @default {} - */ - logOverride?: Record<string, esbuild.LogLevel> - - /** - * Additional `package.json` fields to try when resolving a package. - * - * @see https://esbuild.github.io/api/#main-fields - * - * @default ['module','main'] - */ - mainFields?: Set<string> | string[] - - /** - * Bundle output file name. - * - * @default '[name]' - */ - name?: string - - /** - * Output file extension map. - * - * **Note**: Entry `.js` will be overwritten by {@linkcode ext}. - * - * @see https://esbuild.github.io/api/#out-extension - * - * @default {} - */ - outExtension?: Record<pathe.Ext, pathe.Ext> - - /** - * Output directory. - * - * @default 'dist' - */ - outdir?: string - - /** - * Glob patterns matching source files. - * - * **Note**: Not applicable if {@linkcode bundle} is enabled. - * - * @see https://github.com/sindresorhus/globby - * - * @default '**' - */ - pattern?: OneOrMany<string> | Set<string> - - /** - * Platform to generate code for. - * - * @see https://esbuild.github.io/api/#platform - * - * @default 'neutral' - */ - platform?: esbuild.Platform - - /** - * Resolvable file extensions. - * - * @see https://esbuild.github.io/api/#resolve-extensions - * - * @default mlly.RESOLVE_EXTENSIONS - */ - resolveExtensions?: Set<string> | string[] - - /** - * Directory containing source files or relative path to bundle input. - * - * @default bundle ? 'src/index' : 'src' - */ - source?: string -} - -export type { Options as default } diff --git a/src/interfaces/output-asset.mts b/src/interfaces/output-asset.mts new file mode 100644 index 00000000..19b42ba0 --- /dev/null +++ b/src/interfaces/output-asset.mts @@ -0,0 +1,22 @@ +/** + * @file Interfaces - OutputAsset + * @module mkbuild/interfaces/OutputAsset + */ + +import type * as rollup from 'rollup' + +/** + * Build task output asset. + * + * @see {@linkcode rollup.OutputAsset} + * + * @extends {rollup.OutputAsset} + */ +interface OutputAsset extends rollup.OutputAsset { + /** + * Asset size in bytes. + */ + bytes: number +} + +export type { OutputAsset as default } diff --git a/src/interfaces/output-chunk.mts b/src/interfaces/output-chunk.mts new file mode 100644 index 00000000..85c6842b --- /dev/null +++ b/src/interfaces/output-chunk.mts @@ -0,0 +1,22 @@ +/** + * @file Interfaces - OutputChunk + * @module mkbuild/interfaces/OutputChunk + */ + +import type * as rollup from 'rollup' + +/** + * Build task output chunk. + * + * @see {@linkcode rollup.OutputChunk} + * + * @extends {rollup.OutputChunk} + */ +interface OutputChunk extends rollup.OutputChunk { + /** + * Chunk size in bytes. + */ + bytes: number +} + +export type { OutputChunk as default } diff --git a/src/interfaces/output.ts b/src/interfaces/output.ts deleted file mode 100644 index a7775727..00000000 --- a/src/interfaces/output.ts +++ /dev/null @@ -1,57 +0,0 @@ -/** - * @file Interfaces - Output - * @module mkbuild/interfaces/Output - */ - -import type { OutputMetadata } from '#src/types' -import type * as esbuild from 'esbuild' - -/** - * Object representing a build output. - * - * @see {@linkcode esbuild.OutputFile} - * - * @extends {esbuild.OutputFile} - */ -interface Output extends esbuild.OutputFile { - /** - * Output file size. - * - * @see {@linkcode OutputMetadata.bytes} - */ - bytes: OutputMetadata['bytes'] - - /** - * Relative path to source file. - * - * **Note**: Relative to current working directory. - * - * @see {@linkcode OutputMetadata.entryPoint} - */ - entryPoint: OutputMetadata['entryPoint'] - - /** - * Export names. - * - * @see {@linkcode OutputMetadata.exports} - */ - exports: OutputMetadata['exports'] - - /** - * Import names. - * - * @see {@linkcode OutputMetadata.imports} - */ - imports: OutputMetadata['imports'] - - /** - * Relative path to output file. - * - * **Note**: Relative to current working directory. - * - * @see {@linkcode OutputMetadata.outfile} - */ - outfile: string -} - -export type { Output as default } diff --git a/src/interfaces/report.mts b/src/interfaces/report.mts new file mode 100644 index 00000000..c0b94230 --- /dev/null +++ b/src/interfaces/report.mts @@ -0,0 +1,28 @@ +/** + * @file Interfaces - Report + * @module mkbuild/interfaces/Report + */ + +import type { Result } from '@flex-development/mkbuild' + +/** + * Build report. + */ +interface Report { + /** + * Build results. + * + * @see {@linkcode Result} + */ + builds: Result[] + + /** + * Get the total build size. + * + * @return {number} + * Total build size in bytes + */ + get size(): number +} + +export type { Report as default } diff --git a/src/interfaces/resolve-id-options.mts b/src/interfaces/resolve-id-options.mts new file mode 100644 index 00000000..6065bf4f --- /dev/null +++ b/src/interfaces/resolve-id-options.mts @@ -0,0 +1,36 @@ +/** + * @file Interfaces - ResolveIdOptions + * @module mkbuild/interfaces/ResolveIdOptions + */ + +import type { CustomPluginOptions } from 'rollup' + +/** + * Options passed to the `resolveId` hook. + * + * @see https://rollupjs.org/plugin-development/#resolveid + */ +interface ResolveIdOptions { + /** + * Import attributes that were present in the import. + */ + attributes: Record<string, string> + + /** + * Custom plugin options. + * + * @see {@linkcode CustomPluginOptions} + */ + custom?: CustomPluginOptions | undefined + + /** + * Boolean indicating if a user defined entry point or emitted chunk is being + * resolved, or the `isEntry` parameter was provided to the + * [`this.resolve context`][resolve] function. + * + * [resolve]: https://rollupjs.org/plugin-development/#this-resolve + */ + isEntry: boolean +} + +export type { ResolveIdOptions as default } diff --git a/src/interfaces/resolve-options.mts b/src/interfaces/resolve-options.mts new file mode 100644 index 00000000..40fbf8d7 --- /dev/null +++ b/src/interfaces/resolve-options.mts @@ -0,0 +1,66 @@ +/** + * @file Interfaces - ResolveOptions + * @module mkbuild/interfaces/ResolveOptions + */ + +import type { ResolveModuleOptions } from '@flex-development/mlly' + +/** + * Union of ignored or overridden fields. + * + * @internal + */ +type Skip = 'conditions' | 'cwd' | 'fs' | 'mainFields' + +/** + * Module resolution options. + * + * Modules are resolved according to the [ESM Resolver algorithm][esm], mostly + * 😉. Support is also added for: + * + * - Changing file extensions + * - Directory index resolution + * - Extensionless file resolution + * - Path alias resolution + * - Scopeless `@types/*` resolution (i.e. `unist` -> `@types/unist`) + * + * [esm]: https://nodejs.org/api/esm.html#esm_resolver_algorithm + * + * @see {@linkcode ResolveModuleOptions} + * + * @extends {Omit<ResolveModuleOptions,Skip>} + */ +interface ResolveOptions extends Omit<ResolveModuleOptions, Skip> { + /** + * List of export/import conditions. + * + * > 👉 **Note**: Should be sorted by priority. + * + * @see https://nodejs.org/api/packages.html#conditional-exports + * + * @default mlly.defaultConditions + */ + conditions?: Set<string> | string[] | null | undefined + + /** + * Module extensions to probe for. + * + * > 👉 **Note**: Should be sorted by priority. + * + * @override + * + * @default ['.mjs','.js','.mts','.ts','.jsx','.tsx','.json'] + */ + extensions?: Set<string> | string[] | null | undefined + + /** + * List of legacy `main` fields. + * + * > 👉 **Note**: Should be sorted by priority. + * + * @default mlly.defaultMainFields + */ + mainFields?: Set<string> | string[] | null | undefined +} + +export type { ResolveOptions as default, Skip } diff --git a/src/interfaces/result.mts b/src/interfaces/result.mts new file mode 100644 index 00000000..88ac1f20 --- /dev/null +++ b/src/interfaces/result.mts @@ -0,0 +1,98 @@ +/** + * @file Interfaces - Result + * @module mkbuild/interfaces/Result + */ + +import type { + Format, + Message, + OutputAsset, + OutputChunk, + RunnableTask +} from '@flex-development/mkbuild' +import type { SerializedTimings } from 'rollup' + +/** + * Build task result. + * + * @todo `bundle` + */ +interface Result { + /** + * Build failure. + */ + failure?: Error | null | undefined + + /** + * Output file format. + * + * @see {@linkcode Format} + */ + format: Format + + /** + * Build messages. + * + * @see {@linkcode Message} + */ + messages: Message[] + + /** + * Output directory. + * + * > 👉 **Note**: Relative to {@linkcode root}. + */ + outdir: string + + /** + * Output files. + * + * @see {@linkcode OutputAsset} + * @see {@linkcode OutputChunk} + */ + outputs: (OutputAsset | OutputChunk)[] + + /** + * Absolute path to working directory. + */ + root: string + + /** + * Get the size of the build result. + * + * @return {number} + * Build result size in bytes + */ + get size(): number + + /** + * Build task. + * + * @see {@linkcode RunnableTask} + */ + task: Omit<RunnableTask, 'run'> + + /** + * Serialized performance timings. + * + * For each key, the first number represents the elapsed time, the second the + * change in memory consumption, and the third represents the total memory + * consumption after this step. + * The order of these steps is the order used by `Object.keys`. + * Top level keys start with `#` and contain the timings of nested steps, i.e. + * in the example below, the `698ms` of the `# BUILD` step include the `538ms` + * of the `## parse modules` step. + * + * @example + * { + * "# BUILD": [ 698.020877, 33979632, 45328080 ], + * "## parse modules": [ 537.509342, 16295024, 27660296 ], + * "load modules": [ 33.253778999999994, 2277104, 38204152 ] + * } + * + * @see {@linkcode SerializedTimings} + */ + timings?: SerializedTimings | null | undefined +} + +export type { Result as default } diff --git a/src/interfaces/result.ts b/src/interfaces/result.ts deleted file mode 100644 index 21a8d799..00000000 --- a/src/interfaces/result.ts +++ /dev/null @@ -1,70 +0,0 @@ -/** - * @file Interfaces - Result - * @module mkbuild/interfaces/Result - */ - -import type * as esbuild from 'esbuild' -import type Output from './output' -import type Task from './task' - -/** - * Object representing a build task result. - */ -interface Result { - /** - * Absolute path to current working directory. - */ - cwd: string - - /** - * Error messages generated by [esbuild][1]. - * - * [1]: https://esbuild.github.io - * - * @see {@linkcode esbuild.BuildResult.errors} - */ - errors: esbuild.BuildResult['errors'] - - /** - * Mangling configuration. - * - * @see https://esbuild.github.io/api/#mangle-props - * - * @see {@linkcode esbuild.BuildResult.mangleCache} - */ - mangleCache: esbuild.BuildResult['mangleCache'] - - /** - * Metadata file. - * - * @see {@linkcode esbuild.Metafile} - */ - metafile: esbuild.Metafile - - /** - * Relative path to output directory. - * - * Path is relative to {@linkcode cwd}; does **not** include `'./'` prefix. - * - * @see {@linkcode Task.outdir} - */ - outdir: Task['outdir'] - - /** - * Output files. - * - * @see {@linkcode Output} - */ - outputs: Output[] - - /** - * Warning messages generated by [esbuild][1]. - * - * [1]: https://esbuild.github.io - * - * @see {@linkcode esbuild.BuildResult.warnings} - */ - warnings: esbuild.BuildResult['warnings'] -} - -export type { Result as default } diff --git a/src/interfaces/rollup-code-map.mts b/src/interfaces/rollup-code-map.mts new file mode 100644 index 00000000..c3670517 --- /dev/null +++ b/src/interfaces/rollup-code-map.mts @@ -0,0 +1,92 @@ +/** + * @file Interfaces - RollupCodeMap + * @module mkbuild/interfaces/RollupCodeMap + */ + +/** + * Registry of rollup log codes. + * + * @see https://github.com/rollup/rollup/blob/master/src/utils/logs.ts + */ +interface RollupCodeMap { + ADDON_ERROR: true + ALREADY_CLOSED: true + AMBIGUOUS_EXTERNAL_NAMESPACES: true + ANONYMOUS_PLUGIN_CACHE: true + ASSET_NOT_FINALISED: true + ASSET_NOT_FOUND: true + ASSET_SOURCE_ALREADY_SET: true + ASSET_SOURCE_MISSING: true + BAD_LOADER: true + CANNOT_CALL_NAMESPACE: true + CANNOT_EMIT_FROM_OPTIONS_HOOK: true + CHUNK_INVALID: true + CHUNK_NOT_GENERATED: true + CIRCULAR_DEPENDENCY: true + CIRCULAR_REEXPORT: true + CONST_REASSIGN: true + CYCLIC_CROSS_CHUNK_REEXPORT: true + DEPRECATED_FEATURE: true + DUPLICATE_ARGUMENT_NAME: true + DUPLICATE_EXPORT: true + DUPLICATE_IMPORT_OPTIONS: true + DUPLICATE_PLUGIN_NAME: true + EMPTY_BUNDLE: true + EVAL: true + EXTERNAL_MODULES_CANNOT_BE_INCLUDED_IN_MANUAL_CHUNKS: true + EXTERNAL_MODULES_CANNOT_BE_TRANSFORMED_TO_MODULES: true + EXTERNAL_SYNTHETIC_EXPORTS: true + FAIL_AFTER_WARNINGS: true + FILE_NAME_CONFLICT: true + FILE_NOT_FOUND: true + FIRST_SIDE_EFFECT: true + ILLEGAL_IDENTIFIER_AS_NAME: true + ILLEGAL_REASSIGNMENT: true + INCONSISTENT_IMPORT_ATTRIBUTES: true + INPUT_HOOK_IN_OUTPUT_PLUGIN: true + INVALID_ANNOTATION: true + INVALID_CHUNK: true + INVALID_CONFIG_MODULE_FORMAT: true + INVALID_EXPORT_OPTION: true + INVALID_EXTERNAL_ID: true + INVALID_IMPORT_ATTRIBUTE: true + INVALID_LOG_POSITION: true + INVALID_OPTION: true + INVALID_PLUGIN_HOOK: true + INVALID_ROLLUP_PHASE: true + INVALID_SETASSETSOURCE: true + INVALID_TLA_FORMAT: true + MISSING_CONFIG: true + MISSING_EXPORT: true + MISSING_EXTERNAL_CONFIG: true + MISSING_GLOBAL_NAME: true + MISSING_IMPLICIT_DEPENDANT: true + MISSING_JSX_EXPORT: true + MISSING_NAME_OPTION_FOR_IIFE_EXPORT: true + MISSING_NODE_BUILTINS: true + MISSING_OPTION: true + MIXED_EXPORTS: true + MODULE_LEVEL_DIRECTIVE: true + NAMESPACE_CONFLICT: true + NO_FS_IN_BROWSER: true + NO_TRANSFORM_MAP_OR_AST_WITHOUT_CODE: true + ONLY_INLINE_SOURCEMAPS: true + OPTIMIZE_CHUNK_STATUS: true + PARSE_ERROR: true + PLUGIN_ERROR: true + REDECLARATION_ERROR: true + RESERVED_NAMESPACE: true + SHIMMED_EXPORT: true + SOURCEMAP_BROKEN: true + SOURCEMAP_ERROR: true + SYNTHETIC_NAMED_EXPORTS_NEED_NAMESPACE_EXPORT: true + THIS_IS_UNDEFINED: true + UNEXPECTED_NAMED_IMPORT: true + UNKNOWN_OPTION: true + UNRESOLVED_ENTRY: true + UNRESOLVED_IMPORT: true + UNUSED_EXTERNAL_IMPORT: true + VALIDATION_ERROR: true +} + +export type { RollupCodeMap as default } diff --git a/src/interfaces/source-file.ts b/src/interfaces/source-file.ts deleted file mode 100644 index e5df1cd8..00000000 --- a/src/interfaces/source-file.ts +++ /dev/null @@ -1,33 +0,0 @@ -/** - * @file Interfaces - SourceFile - * @module mkbuild/interfaces/SourceFile - */ - -import type * as pathe from '@flex-development/pathe' - -/** - * Object representing a source file. - */ -interface SourceFile { - /** - * File extension of source file. - * - * @see {@linkcode pathe.Ext} - */ - ext: pathe.Ext - - /** - * Relative path to source file. - * - * **Note**: Relative to `entry.source` if bundling is disabled; relative to - * current working directory otherwise. - */ - file: string - - /** - * Absolute path to source file. - */ - path: string -} - -export type { SourceFile as default } diff --git a/src/interfaces/task-runnable.mts b/src/interfaces/task-runnable.mts new file mode 100644 index 00000000..e2338189 --- /dev/null +++ b/src/interfaces/task-runnable.mts @@ -0,0 +1,53 @@ +/** + * @file Interfaces - RunnableTask + * @module mkbuild/interfaces/RunnableTask + */ + +import type { Format, Result, Task } from '@flex-development/mkbuild' + +/** + * A build task with a `run` method. + * + * @see {@linkcode Task} + * + * @extends {Task} + */ +interface RunnableTask extends Task { + /** + * Output file format. + * + * @see {@linkcode Format} + * + * @override + * + * @default + * pkg.type === 'module' ? 'esm' : 'cjs' + */ + format: Format + + /** + * Absolute path to project root directory. + * + * @override + * + * @default + * pathe.cwd() + pathe.sep + */ + root: string + + /** + * Task runner. + * + * @see {@linkcode Result} + * + * @async + * + * @this {void} + * + * @return {Promise<Result>} + * Build result + */ + run(this: void): Promise<Result> +} + +export type { RunnableTask as default } diff --git a/src/interfaces/task.mts b/src/interfaces/task.mts new file mode 100644 index 00000000..f755827c --- /dev/null +++ b/src/interfaces/task.mts @@ -0,0 +1,395 @@ +/** + * @file Interfaces - Task + * @module mkbuild/interfaces/Task + */ + +import type { + AssetFileNamesFn, + BannerFn, + DTSOption, + EntryFileNamesFn, + EsbuildOptions, + ExperimentalOptions, + FooterFn, + Format, + Input, + ResolveOptions, + SanitizeFileNameFn, + SourcemapFileNamesFn, + SourcemapIgnoreTest, + SourcemapOption, + SourcemapPathTransform +} from '@flex-development/mkbuild' +import type { ModuleId } from '@flex-development/mlly' +import type { Tsconfig } from '@flex-development/tsconfig-types' +import type { + HashCharacters, + InputPluginOption, + LogLevelOption +} from 'rollup' + +/** + * Build task. + * + * @todo bundle mode support + */ +interface Task { + /** + * Pattern to use for naming custom emitted assets, or a function that is + * called per asset that returns such a pattern. + * + * Patterns support the following placeholders: + * + * - `[ext]`: file extension of the asset, without leading dot (e.g. `css`) + * - `[extname]`: normalized file extension of the asset (e.g. `.css`) + * - `[format]`: normalized rendering format (e.g. `es`, `cjs`) + * - `[hash]`: hash based on content of the asset. the hash length can also be + * specified by appending a colon and length: `[hash:13]` + * - `[name]`: file name of the asset excluding any extension + * + * Forward slashes `/` can be used to place files in sub-directories. + * + * @see {@linkcode AssetFileNamesFn} + * + * @default 'assets/[name][extname]' + */ + assetFileNames?: AssetFileNamesFn | string | null | undefined + + /** + * A string to prepend to output chunk contents, or a function that returns + * such a string. + * + * @see {@linkcode BannerFn} + */ + banner?: BannerFn | string | null | undefined + + /** + * Empty {@linkcode outdir} before build. + * + * > 👉 **Note**: Skipped if `outdir` resolves to {@linkcode root}. + * + * @default true + */ + clean?: boolean | null | undefined + + /** + * Generate TypeScript declaration (`*.d.cts`, `*.d.mts`, or `*.d.ts`) files. + * + * Pass `'only'` to only write declaration files. + * + * Defaults to `true` if `'typescript'` is detected in production or + * development dependencies. + * + * @see {@linkcode DTSOption} + * + * @default + * Object.keys({ ...pkg.devDependencies }).includes('typescript') + */ + dts?: DTSOption | null | undefined + + /** + * Pattern to use for naming chunks created from entry points, or a function + * that is called per entry chunk that returns such a pattern. + * + * Patterns support the following placeholders: + * + * - `{extname}`: normalized output file extension (e.g. `.mjs`, `.cjs`), + * supported by `mkbuild` only + * - `[format]`: normalized rendering format (e.g. `es`, `cjs`) + * - `[hash]`: hash based only on the content of the final generated chunk, + * including transformations in [`renderChunk`][render-chunk] and any + * referenced file hashes. the hash length can also be specified by + * appending a colon and length: `[hash:13]` + * - `[name]`: file name (without extension) of the entry point, unless the + * object form of input was used to define a different name + * + * Forward slashes `/` can be used to place files in sub-directories. + * + * [render-chunk]: https://rollupjs.org/plugin-development/#renderchunk + * + * @see {@linkcode EntryFileNamesFn} + * + * @default '[name]{extname}' + */ + entryFileNames?: EntryFileNamesFn | string | null | undefined + + /** + * Transform options to pass to `esbuild`. + * + * @see {@linkcode EsbuildOptions} + * @see https://esbuild.github.io/api/#transform + */ + esbuild?: EsbuildOptions | null | undefined + + /** + * Experimental options. + * + * @see {@linkcode ExperimentalOptions} + */ + experimental?: ExperimentalOptions | null | undefined + + /** + * Output file extension. + * + * > 👉 **Note**: Only applied to output chunks. + * + * @default + * format === 'esm' ? '.mjs' : format === 'cjs' ? '.cjs' : '.js' + */ + ext?: string | null | undefined + + /** + * A string to prepend to output chunk contents, or a function that returns + * such a string. + * + * @see {@linkcode FooterFn} + */ + footer?: FooterFn | string | null | undefined + + /** + * Output file format. + * + * @see {@linkcode Format} + * + * @default + * pkg.type === 'module' ? 'esm' : 'cjs' + */ + format?: Format | null | undefined + + /** + * Use `.gitignore` file in {@linkcode root}. Patterns that are not negated + * will be considered {@linkcode ignore} patterns. + * + * @default true + */ + gitignore?: boolean | null | undefined + + /** + * Character set that mkbuild (rollup) is allowed to use in file hashes. + * + * - `'base64'`: url-safe base-64 hashes with potential characters + * `ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_`. + * - `'base36'`: lower-case letters and numbers + * `abcdefghijklmnopqrstuvwxyz0123456789`. + * - `'hex'`: hexadecimal hashes with the characters `abcdef0123456789`. + * + * @see {@linkcode HashCharacters} + * + * @default 'base64' + */ + hashCharacters?: HashCharacters | null | undefined + + /** + * Glob patterns to exclude matches in {@linkcode pattern}. + * + * If a `.gitignore` file is found, patterns from the ignore file (that are + * not negated) will be added to the default set of ignore patterns. + * + * @default IGNORE_PATTERNS + */ + ignore?: Set<string> | readonly string[] | string | null | undefined + + /** + * Entry points. + * + * @see {@linkcode Input} + */ + input?: Input | null | undefined + + /** + * Log level. + * + * @see {@linkcode LogLevelOption} + * + * @default 'info' + */ + logLevel?: LogLevelOption | null | undefined + + /** + * Limit the number of files that can be opened in parallel when reading + * modules or writing chunks. Without a limit or with a high enough value, + * builds can fail with an `"EMFILE: too many open files"`. This depends on + * how many open file handles the operating system allows. + * + * @default 20 + */ + maxParallelFileOps?: number | null | undefined + + /** + * Directory relative from {@linkcode root} where build output will be placed. + * + * @default 'dist' + */ + outdir?: string | null | undefined + + /** + * List of plugins to use. + * + * @see {@linkcode InputPluginOption} + */ + plugins?: InputPluginOption[] | null | undefined + + /** + * Module resolver options. + * + * Specifiers are resolved according to the [ESM Resolver algorithm][esm], + * mostly 😉. + * + * Support is added for: + * + * - Changing file extensions + * - Directory index resolution + * - Extensionless file resolution + * - Path alias resolution + * - Scopeless `@types/*` resolution (i.e. `unist` -> `@types/unist`) + * + * [esm]: https://nodejs.org/api/esm.html#esm_resolver_algorithm + * + * @see {@linkcode ResolveOptions} + */ + resolve?: ResolveOptions | null | undefined + + /** + * Project root directory. + * + * Can be a `file:` URL, absolute path, or a path relative to the current + * working directory. + * + * @see {@linkcode ModuleId} + * + * @default + * pathe.cwd() + pathe.sep + */ + root?: ModuleId | null | undefined + + /** + * Boolean enabling or disabling default chunk name sanitization (removal of + * `\0`, `?`, and `*` characters), or function to customize chunk name + * sanitization. + * + * @see {@linkcode SanitizeFileNameFn} + * + * @default true + */ + sanitizeFileName?: SanitizeFileNameFn | boolean | null | undefined + + /** + * Generate production source maps. + * + * - `true`: separate sourcemap files will be created + * - `'hidden'`: works like `true`, but sourcemap comments in corresponding + * output files are suppressed + * - `'inline'`: sourcemaps will be appended to output files as data URIs + * + * @see {@linkcode SourcemapOption} + * + * @default undefined + */ + sourcemap?: SourcemapOption | null | undefined + + /** + * Base URL to use in source maps. + * + * @see {@linkcode ModuleId} + */ + sourcemapBaseUrl?: ModuleId | null | undefined + + /** + * Do not add the actual code of the sources to sourcemaps, thus making them + * considerably smaller. + * + * @default undefined + */ + sourcemapExcludeSources?: boolean | null | undefined + + /** + * Pattern to use for for naming sourcemaps, or a function that is called per + * sourcemap that returns such a pattern. + * + * Patterns support the following placeholders: + * + * - `[chunkhash]`: the same hash as the one used for for the corresponding + * generated chunk (if any) + * - `[format]`: normalized rendering format (e.g. `es`, `cjs`) + * - `[hash]`: hash based only on the content of the final generated + * sourcemap. the hash length can also be specified: `[hash:13]` + * - `[name]`: file name (without extension) of the entry point, unless the + * object form of input was used to define a different name + * + * Forward slashes `/` can be used to place files in sub-directories. + * + * @see {@linkcode SourcemapFileNamesFn} + */ + sourcemapFileNames?: SourcemapFileNamesFn | string | null | undefined + + /** + * A predicate to decide whether or not to ignore-list source files in a + * sourcemap, `true` to enable default ignore listing, or `false` to turn off + * ignore-listing completely. + * + * @see {@linkcode SourcemapIgnoreTest} + */ + sourcemapIgnoreList?: SourcemapIgnoreTest | boolean | null | undefined + + /** + * A transformation to apply to each path in a sourcemap. + * + * @see {@linkcode SourcemapPathTransform} + */ + sourcemapPathTransform?: SourcemapPathTransform | null | undefined + + /** + * Throw an error instead of showing a warning when a deprecated feature is + * used. + * + * @default true + */ + strictDeprecations?: boolean | null | undefined + + /** + * Module id of tsconfig file. + * + * @see {@linkcode ModuleId} + */ + tsconfig?: ModuleId | null | undefined + + /** + * Raw tsconfig. + * + * @see https://esbuild.github.io/api/#tsconfig-raw + * @see {@linkcode Tsconfig} + */ + tsconfigRaw?: Tsconfig | string | null | undefined + + /** + * Path to TypeScript module directory. + * + * @default pathe.resolve('node_modules/typescript') + */ + typescriptPath?: string | null | undefined + + /** + * Re-parse each generated chunk to detect if the generated code is valid + * JavaScript. This can be useful to debug output generated by plugins that + * use the [`renderChunk`][render-chunk] hook to transform code. + * + * [render-chunk]: https://rollupjs.org/plugin-development/#renderchunk + * + * @default false + */ + validate?: boolean | null | undefined + + /** + * Directory name for "virtual" files that might be emitted by plugins. + */ + virtualDirname?: string | null | undefined + + /** + * Write build outputs to disk. + * + * @default false + */ + write?: boolean | null | undefined +} + +export type { Task as default } diff --git a/src/interfaces/task.ts b/src/interfaces/task.ts deleted file mode 100644 index 19a5469c..00000000 --- a/src/interfaces/task.ts +++ /dev/null @@ -1,34 +0,0 @@ -/** - * @file Interfaces - Task - * @module mkbuild/interfaces/Task - */ - -import type { EsbuildOptions } from '#src/types' -import type Options from './options' - -/** - * Object representing a build task. - * - * @extends {EsbuildOptions} - * @extends {Options} - */ -interface Task extends EsbuildOptions, Options { - /** - * Current working directory. - */ - cwd: string - - /** - * Relative path to output directory. - * - * Does **not** include `'./'` prefix. - */ - outdir: string - - /** - * Name of directory containing source files or relative path to bundle input. - */ - source: string -} - -export type { Task as default } diff --git a/src/internal/__mocks__/create-context.ts b/src/internal/__mocks__/create-context.ts deleted file mode 100644 index adff27bd..00000000 --- a/src/internal/__mocks__/create-context.ts +++ /dev/null @@ -1,18 +0,0 @@ -/** - * @file Mock Internals - createContext - * @module mkbuild/internal/mocks/createContext - */ - -/** - * `createContext` module type. - */ -type Actual = typeof import('../create-context') - -/** - * `createContext` module. - * - * @const {Actual} actual - */ -const actual: Actual = await vi.importActual<Actual>('../create-context') - -export default vi.fn(actual.default) diff --git a/src/internal/__snapshots__/create-entry-file-names.snap b/src/internal/__snapshots__/create-entry-file-names.snap new file mode 100644 index 00000000..243087cd --- /dev/null +++ b/src/internal/__snapshots__/create-entry-file-names.snap @@ -0,0 +1,5 @@ +// Vitest Snapshot v1, https://vitest.dev/guide/snapshot.html + +exports[`unit:internal/createEntryFileNames > entryFileNames > should return pattern to use for naming \`chunk\` (0) 1`] = `"[name].mjs"`; + +exports[`unit:internal/createEntryFileNames > entryFileNames > should return pattern to use for naming \`chunk\` (1) 1`] = `"make.mjs"`; diff --git a/src/internal/__snapshots__/format-esbuild-message.snap b/src/internal/__snapshots__/format-esbuild-message.snap new file mode 100644 index 00000000..a3058bc5 --- /dev/null +++ b/src/internal/__snapshots__/format-esbuild-message.snap @@ -0,0 +1,23 @@ +// Vitest Snapshot v1, https://vitest.dev/guide/snapshot.html + +exports[`unit:internal/formatEsbuildMessage > should return \`message\` as rollup log 1`] = ` +{ + "frame": " : (await import(url.href) as { default?: Config | null }).default", + "hook": "transform", + "id": \${process.cwd()}/src/utils/load-build-config.mts, + "level": "warn", + "loc": { + "column": 18, + "file": \${process.cwd()}/src/utils/load-build-config.mts, + "line": 96, + }, + "message": "This "import" expression will not be bundled because the argument is not a string literal", + "meta": { + "level": "warning", + "notes": [], + }, + "plugin": "mkbuild:esbuild", + "pluginCode": "unsupported-dynamic-import", + "pos": 2183, +} +`; diff --git a/src/internal/__snapshots__/format-log.functional.snap b/src/internal/__snapshots__/format-log.functional.snap new file mode 100644 index 00000000..b24e6786 --- /dev/null +++ b/src/internal/__snapshots__/format-log.functional.snap @@ -0,0 +1,49 @@ +// Vitest Snapshot v1, https://vitest.dev/guide/snapshot.html + +exports[`functional:internal/formatLog > should format rollup \`log\` (0) 1`] = ` +{ + "code": "EMPTY_BUNDLE", + "level": "warn", + "message": "Generated an empty chunk: "interfaces/task".", + "names": [ + "interfaces/task", + ], +} +`; + +exports[`functional:internal/formatLog > should format rollup \`log\` (1) 1`] = ` +{ + "code": "PLUGIN_WARNING", + "hook": "renderStart", + "id": \${process.cwd()}/tsconfig.build.json, + "level": "warn", + "message": "Compiler option 'sourceMap' requires a value of type boolean.", + "meta": { + "category": 1, + }, + "plugin": "mkbuild:dts", + "pluginCode": 5024, +} +`; + +exports[`functional:internal/formatLog > should format rollup \`log\` (2) 1`] = ` +{ + "code": "PLUGIN_WARNING", + "frame": " : (await import(url.href) as { default?: Config | null }).default", + "hook": "transform", + "level": "warn", + "loc": { + "column": 18, + "file": \${process.cwd()}/src/utils/load-build-config.mts, + "line": 96, + }, + "message": "This "import" expression will not be bundled because the argument is not a string literal", + "meta": { + "level": "warning", + "notes": [], + }, + "plugin": "mkbuild:esbuild", + "pluginCode": "unsupported-dynamic-import", + "pos": 2188, +} +`; diff --git a/src/internal/__snapshots__/to-path.snap b/src/internal/__snapshots__/to-path.snap new file mode 100644 index 00000000..9c218710 --- /dev/null +++ b/src/internal/__snapshots__/to-path.snap @@ -0,0 +1,5 @@ +// Vitest Snapshot v1, https://vitest.dev/guide/snapshot.html + +exports[`unit:internal/toPath > should return \`input\` as path ("./build.config.mts") 1`] = `"./build.config.mts"`; + +exports[`unit:internal/toPath > should return \`input\` as path ("file:///build.config.mts") 1`] = `"/build.config.mts"`; diff --git a/src/internal/__snapshots__/with-trailing-slash.snap b/src/internal/__snapshots__/with-trailing-slash.snap new file mode 100644 index 00000000..2215d45d --- /dev/null +++ b/src/internal/__snapshots__/with-trailing-slash.snap @@ -0,0 +1,8 @@ +// Vitest Snapshot v1, https://vitest.dev/guide/snapshot.html + +exports[`unit:internal/withTrailingSlash > should return \`value\` with one trailing slash 1`] = ` +{ + "href": file://\${process.cwd()}/, + "pathname": \${process.cwd()}/, +} +`; diff --git a/src/internal/__tests__/create-context.integration.spec.ts b/src/internal/__tests__/create-context.integration.spec.ts deleted file mode 100644 index 687bfa8e..00000000 --- a/src/internal/__tests__/create-context.integration.spec.ts +++ /dev/null @@ -1,400 +0,0 @@ -/** - * @file Integration Tests - createContext - * @module mkbuild/internal/tests/integration/createContext - */ - -import type { Task } from '#src/interfaces' -import type { GeneratedFileType } from '#src/types' -import loaders from '#src/utils/loaders' -import getPackageJson from '#tests/utils/get-package-json' -import * as mlly from '@flex-development/mlly' -import * as pathe from '@flex-development/pathe' -import type { PackageJson } from '@flex-development/pkg-types' -import { DOT } from '@flex-development/tutils' -import * as esbuild from 'esbuild' -import testSubject from '../create-context' - -vi.mock('#src/utils/fs') -vi.mock('esbuild') - -describe('integration:internal/createContext', () => { - describe('esbuild', () => { - let allowOverwrite: boolean - let assetNames: string - let banner: { [K in GeneratedFileType]?: string } - let chunkNames: string - let color: boolean - let conditions: string[] - let drop: string[] - let external: string[] - let footer: { [K in GeneratedFileType]?: string } - let inject: string[] - let logLimit: number - let logOverride: Record<string, esbuild.LogLevel> - let mainFields: string[] - let outdir: string - let platform: esbuild.Platform - let pure: string[] - let resolveExtensions: pathe.Ext[] - let write: boolean - - beforeEach(() => { - allowOverwrite = false - assetNames = 'assets/[name]-[hash]' - banner = {} - chunkNames = 'chunks/[name]-[hash]' - color = true - conditions = ['import', 'default'] - drop = [] - external = [] - footer = {} - inject = [] - logLimit = 10 - logOverride = {} - mainFields = ['module', 'main'] - outdir = 'dist' - platform = 'neutral' - pure = [] - resolveExtensions = [...mlly.RESOLVE_EXTENSIONS] - write = false - }) - - describe('cjs', () => { - let absWorkingDir: string - let format: esbuild.Format - let pkg: PackageJson - let task: Partial<Task> - - beforeAll(async () => { - task = { clean: false, cwd: '__fixtures__/pkg/buddy' } - absWorkingDir = pathe.resolve(task.cwd!) - format = task.format = 'cjs' - pkg = await getPackageJson(pathe.join(absWorkingDir, 'package.json')) - }) - - it('should create context for cjs bundle', async () => { - // Arrange - const bundle: boolean = true - const source: string = 'buddy.js' - - // Act - await testSubject({ ...task, bundle, source }, pkg) - - // Expect - expect(vi.mocked(esbuild.context).mock.lastCall?.[0]).toMatchObject({ - absWorkingDir, - allowOverwrite, - assetNames, - banner, - bundle, - chunkNames, - color, - conditions, - drop, - entryNames: '[dir]/[name]', - entryPoints: [source], - external, - footer, - format, - inject, - loader: loaders(format, bundle), - logLimit, - logOverride, - mainFields, - metafile: true, - outExtension: { '.js': '.cjs' }, - outbase: DOT, - outdir, - platform, - plugins: [ - { name: 'pkgtype', setup: expect.any(Function) }, - { name: 'fully-specified', setup: expect.any(Function) }, - { name: 'filter', setup: expect.any(Function) } - ], - pure, - resolveExtensions, - write - }) - }) - - it('should create context for cjs transpilation', async () => { - // Arrange - const pattern: string = 'buddy.js' - const source: string = DOT - - // Act - await testSubject({ ...task, pattern, source }, pkg) - - // Expect - expect(vi.mocked(esbuild.context).mock.lastCall?.[0]).toMatchObject({ - absWorkingDir, - allowOverwrite, - assetNames, - banner, - bundle: false, - chunkNames, - color, - conditions, - drop, - entryNames: '[dir]/[name]', - entryPoints: [pattern], - external, - footer, - format, - inject, - loader: loaders(format), - logLimit, - logOverride, - mainFields, - metafile: true, - outExtension: { '.js': '.cjs' }, - outbase: source, - outdir, - platform, - plugins: [ - { name: 'pkgtype', setup: expect.any(Function) }, - { name: 'fully-specified', setup: expect.any(Function) }, - { name: 'filter', setup: expect.any(Function) } - ], - pure, - resolveExtensions, - write - }) - }) - }) - - describe('esm', () => { - let absWorkingDir: string - let format: esbuild.Format - let task: Partial<Task> - - beforeAll(() => { - task = { cwd: '__fixtures__/pkg/reverse', tsconfig: 'tsconfig.json' } - format = 'esm' - absWorkingDir = pathe.resolve(task.cwd!) - }) - - it('should create context for esm bundle', async () => { - // Arrange - const bundle: boolean = true - const keepNames: boolean = true - const name: string = 'index' - const platform: esbuild.Platform = 'node' - const sourcemap: boolean = true - const sourcesContent: boolean = false - const target: string[] = ['es2021', 'node16.20.0'] - - // Act - await testSubject({ - ...task, - bundle, - keepNames, - name, - platform, - sourcemap, - sourcesContent, - target - }) - - // Expect - expect(vi.mocked(esbuild.context).mock.lastCall?.[0]).toMatchObject({ - absWorkingDir, - allowOverwrite, - assetNames, - banner, - bundle, - chunkNames, - color, - conditions, - drop, - entryNames: `[dir]/${name}`, - entryPoints: ['src/index.mts'], - external, - footer, - format, - inject, - keepNames, - loader: loaders(format, bundle), - logLimit, - logOverride, - mainFields, - metafile: true, - outExtension: { '.js': '.mjs' }, - outbase: 'src', - outdir, - platform, - plugins: [ - { name: 'pkgtype', setup: expect.any(Function) }, - { name: 'clean', setup: expect.any(Function) }, - { name: 'create-require', setup: expect.any(Function) }, - { name: 'decorators', setup: expect.any(Function) }, - { name: 'tsconfig-paths', setup: expect.any(Function) }, - { name: 'fully-specified', setup: expect.any(Function) }, - { name: 'filter', setup: expect.any(Function) } - ], - pure, - resolveExtensions, - sourcemap, - sourcesContent, - target, - tsconfig: task.tsconfig, - write - }) - }) - - it('should create context for esm transpilation', async () => { - // Act - await testSubject({ ...task, dts: 'only', write: true }) - - // Expect - expect(vi.mocked(esbuild.context).mock.lastCall?.[0]).toMatchObject({ - absWorkingDir, - allowOverwrite, - assetNames, - banner, - bundle: false, - chunkNames, - color, - conditions, - drop, - entryNames: '[dir]/[name]', - entryPoints: [ - 'src/index.mts', - 'src/max-value.ts', - 'src/min-value.ts', - 'src/reverse.mts' - ], - external, - footer, - format, - inject, - loader: loaders(format), - logLimit, - logOverride, - mainFields, - metafile: true, - outExtension: { '.js': '.mjs' }, - outbase: 'src', - outdir, - platform, - plugins: [ - { name: 'pkgtype', setup: expect.any(Function) }, - { name: 'clean', setup: expect.any(Function) }, - { name: 'dts', setup: expect.any(Function) }, - { name: 'decorators', setup: expect.any(Function) }, - { name: 'tsconfig-paths', setup: expect.any(Function) }, - { name: 'fully-specified', setup: expect.any(Function) }, - { name: 'filter', setup: expect.any(Function) }, - { name: 'write', setup: expect.any(Function) } - ], - pure, - resolveExtensions, - tsconfig: task.tsconfig, - write - }) - }) - }) - - describe('iife', () => { - let absWorkingDir: string - let format: esbuild.Format - let task: Partial<Task> - - beforeAll(() => { - task = { cwd: '__fixtures__/pkg/find-uniq' } - format = task.format = 'iife' - absWorkingDir = pathe.resolve(task.cwd!) - }) - - it('should create context for iife bundle', async () => { - // Arrange - const bundle: boolean = true - const source: string = 'find-uniq.cts' - - // Act - await testSubject({ ...task, bundle, source }) - - // Expect - expect(vi.mocked(esbuild.context).mock.lastCall?.[0]).toMatchObject({ - absWorkingDir, - allowOverwrite, - assetNames, - banner, - bundle, - chunkNames, - color, - conditions, - drop, - entryNames: '[dir]/[name]', - entryPoints: [source], - external, - footer, - format, - inject, - loader: loaders(format, bundle), - logLimit, - logOverride, - mainFields, - metafile: true, - outExtension: { '.js': '.js' }, - outbase: DOT, - outdir, - platform, - plugins: [ - { name: 'pkgtype', setup: expect.any(Function) }, - { name: 'clean', setup: expect.any(Function) }, - { name: 'filter', setup: expect.any(Function) } - ], - pure, - resolveExtensions, - write - }) - }) - - it('should create context for iife transpilation', async () => { - // Arrange - const pattern: string[] = ['find-uniq.cts'] - const source: string = DOT - - // Act - await testSubject({ ...task, pattern, source }) - - // Expect - expect(vi.mocked(esbuild.context).mock.lastCall?.[0]).toMatchObject({ - absWorkingDir, - allowOverwrite, - assetNames, - banner, - bundle: false, - chunkNames, - color, - conditions, - drop, - entryNames: '[dir]/[name]', - entryPoints: pattern, - external, - footer, - format, - inject, - loader: loaders(format), - logLimit, - logOverride, - mainFields, - metafile: true, - outExtension: { '.js': '.js' }, - outbase: source, - outdir, - platform, - plugins: [ - { name: 'pkgtype', setup: expect.any(Function) }, - { name: 'clean', setup: expect.any(Function) }, - { name: 'filter', setup: expect.any(Function) } - ], - pure, - resolveExtensions, - write - }) - }) - }) - }) -}) diff --git a/src/internal/__tests__/create-context.spec.ts b/src/internal/__tests__/create-context.spec.ts deleted file mode 100644 index eefdcc29..00000000 --- a/src/internal/__tests__/create-context.spec.ts +++ /dev/null @@ -1,34 +0,0 @@ -/** - * @file Unit Tests - createContext - * @module mkbuild/internal/tests/unit/createContext - */ - -import pkg from '#pkg' assert { type: 'json' } -import type { Task } from '#src' -import { cast } from '@flex-development/tutils' -import testSubject from '../create-context' - -vi.mock('#src/utils/fs') - -describe('unit:internal/createContext', () => { - it('should return build context', async () => { - // Arrange - const task: Partial<Task> = { - ignore: ['cli/**'], - sourcemap: true, - sourcesContent: false, - target: 'node16.20.0', - tsconfig: 'tsconfig.build.json' - } - - // Act - const result = await testSubject(task, cast(pkg)) - - // Expect - expect(result).to.have.property('cancel').be.instanceof(Function) - expect(result).to.have.property('dispose').be.instanceof(Function) - expect(result).to.have.property('rebuild').be.instanceof(Function) - expect(result).to.have.property('serve').be.instanceof(Function) - expect(result).to.have.property('watch').be.instanceof(Function) - }) -}) diff --git a/src/internal/__tests__/create-entry-file-names.spec.mts b/src/internal/__tests__/create-entry-file-names.spec.mts new file mode 100644 index 00000000..25ea5135 --- /dev/null +++ b/src/internal/__tests__/create-entry-file-names.spec.mts @@ -0,0 +1,34 @@ +/** + * @file Unit Tests - createEntryFileNames + * @module mkbuild/internal/tests/unit/createEntryFileNames + */ + +import testSubject from '#internal/create-entry-file-names' +import pathe from '@flex-development/pathe' + +describe('unit:internal/createEntryFileNames', () => { + describe('entryFileNames', () => { + it.each<Parameters<typeof testSubject>>([ + [{ entryFileNames: '[name]{extname}', ext: '.mjs' }], + [{ entryFileNames: chunk => chunk.name + '{extname}', ext: '.mjs' }] + ])('should return pattern to use for naming `chunk` (%#)', task => { + // Arrange + const facadeModuleId: string = pathe.resolve('src/make.mts') + + // Act + const result = testSubject(task)({ + exports: ['default'], + facadeModuleId, + isDynamicEntry: false, + isEntry: true, + isImplicitEntry: false, + moduleIds: [facadeModuleId], + name: pathe.basename(facadeModuleId, pathe.extname(facadeModuleId)), + type: 'chunk' + }) + + // Expect + expect(result).toMatchSnapshot() + }) + }) +}) diff --git a/src/internal/__tests__/create-on-log.functional.spec.mts b/src/internal/__tests__/create-on-log.functional.spec.mts new file mode 100644 index 00000000..7f60a4e0 --- /dev/null +++ b/src/internal/__tests__/create-on-log.functional.spec.mts @@ -0,0 +1,64 @@ +/** + * @file Functional Tests - createOnLog + * @module mkbuild/internal/tests/functional/createOnLog + */ + +import testSubject from '#internal/create-on-log' +import type { Message } from '@flex-development/mkbuild' +import pathe from '@flex-development/pathe' +import { ok } from 'devlop' +import ts from 'typescript' + +describe('functional:internal/createOnLog', () => { + describe('onLog', () => { + it.each<Parameters<ReturnType<typeof testSubject>>>([ + ['warn', { + code: 'EMPTY_BUNDLE', + message: 'Generated an empty chunk: "interfaces/task".', + names: ['interfaces/task'] + }], + ['warn', { + code: 'PLUGIN_WARNING', + hook: 'renderStart', + id: pathe.resolve('tsconfig.build.json'), + message: + 'Compiler option \'sourceMap\' requires a value of type boolean.', + meta: { category: ts.DiagnosticCategory.Error }, + plugin: 'mkbuild:dts', + pluginCode: 5024, + pos: 299 + }], + ['warn', { + code: 'PLUGIN_WARNING', + frame: + ' : (await import(url.href) as { default?: Config | null }).default', + hook: 'transform', + loc: { + column: 18, + file: pathe.resolve('src/utils/load-build-config.mts'), + line: 96 + }, + message: + 'This "import" expression will not be bundled because the argument is not a string literal', + meta: { level: 'warning', notes: [] }, + plugin: 'mkbuild:esbuild', + pluginCode: 'unsupported-dynamic-import', + pos: 2188 + }] + ])('should handle rollup `log` (%#)', (...args) => { + ok(args[1].code, 'expected `log.code`') + + // Arrange + const messages: Message[] = [] + + // Act + testSubject(messages)(...args) + + // Expect + expect(messages).to.be.of.length(1) + expect(messages).to.have.nested.property('0.code', args[1].code) + expect(messages).to.have.nested.property('0.level', args[0]) + expect(messages).to.have.nested.property('0.text', args[1].message) + }) + }) +}) diff --git a/src/internal/__tests__/format-diagnostic.spec.mts b/src/internal/__tests__/format-diagnostic.spec.mts new file mode 100644 index 00000000..627cd6d8 --- /dev/null +++ b/src/internal/__tests__/format-diagnostic.spec.mts @@ -0,0 +1,52 @@ +/** + * @file Unit Tests - formatDiagnostic + * @module mkbuild/internal/tests/unit/formatDiagnostic + */ + +import testSubject, { + type MinimalDiagnostic +} from '#internal/format-diagnostic' +import pathe from '@flex-development/pathe' +import { readFileSync } from 'node:fs' +import ts from 'typescript' + +describe('unit:internal/formatDiagnostic', () => { + let diagnostic: MinimalDiagnostic + let fileName: string + let hook: string + let plugin: string + + beforeAll(() => { + fileName = pathe.resolve('src/utils/runnable-task.mts') + hook = 'renderStart' + plugin = 'mkbuild:dts' + + diagnostic = { + category: ts.DiagnosticCategory.Error, + code: 2578, + file: { fileName, text: readFileSync(fileName, 'utf8') }, + length: undefined, + messageText: 'Unused \'@ts-expect-error\' directive.', + start: 10305 + } + }) + + it('should return `diagnostic` as rollup log', () => { + // Act + const result = testSubject(diagnostic, plugin, hook, ts) + + // Expect + expect(result).to.have.property('frame').be.a('string') + expect(result).to.have.property('hook', hook) + expect(result).to.have.property('id', fileName) + expect(result).to.have.property('level', 'warn') + expect(result).to.have.nested.property('loc.column').be.a('number') + expect(result).to.have.nested.property('loc.file', fileName) + expect(result).to.have.nested.property('loc.line').be.a('number') + expect(result).to.have.property('message', diagnostic.messageText) + expect(result).to.have.nested.property('meta.category', diagnostic.category) + expect(result).to.have.property('plugin', plugin) + expect(result).to.have.property('pluginCode', diagnostic.code) + expect(result).to.have.property('pos').be.a('number') + }) +}) diff --git a/src/internal/__tests__/format-esbuild-message.spec.mts b/src/internal/__tests__/format-esbuild-message.spec.mts new file mode 100644 index 00000000..ffaa8a0e --- /dev/null +++ b/src/internal/__tests__/format-esbuild-message.spec.mts @@ -0,0 +1,48 @@ +/** + * @file Unit Tests - formatEsbuildMessage + * @module mkbuild/internal/tests/unit/formatEsbuildMessage + */ + +import testSubject from '#internal/format-esbuild-message' +import pathe from '@flex-development/pathe' +import type { LogLevel, Message } from 'esbuild' +import { readFileSync } from 'node:fs' + +describe('unit:internal/formatEsbuildMessage', () => { + let code: string + let file: string + let level: LogLevel + let plugin: string + let message: Message + + beforeAll(() => { + file = pathe.resolve('src/utils/load-build-config.mts') + + code = readFileSync(file, 'utf8') + level = 'warning' + plugin = 'mkbuild:esbuild' + + message = { + detail: undefined, + id: 'unsupported-dynamic-import', + location: { + column: 17, + file, + length: 6, + line: 96, + lineText: + ' : (await import(url.href) as { default?: Config | null }).default', + namespace: '', + suggestion: '' + }, + notes: [], + pluginName: '', + text: + 'This "import" expression will not be bundled because the argument is not a string literal' + } + }) + + it('should return `message` as rollup log', () => { + expect(testSubject(message, code, file, plugin, level)).toMatchSnapshot() + }) +}) diff --git a/src/internal/__tests__/format-log.functional.spec.mts b/src/internal/__tests__/format-log.functional.spec.mts new file mode 100644 index 00000000..d6029917 --- /dev/null +++ b/src/internal/__tests__/format-log.functional.spec.mts @@ -0,0 +1,52 @@ +/** + * @file Functional Tests - formatLog + * @module mkbuild/internal/tests/functional/formatLog + */ + +import testSubject from '#internal/format-log' +import pathe from '@flex-development/pathe' +import ts from 'typescript' + +describe('functional:internal/formatLog', () => { + it.each<Parameters<typeof testSubject>>([ + ['warn', { + code: 'EMPTY_BUNDLE', + message: 'Generated an empty chunk: "interfaces/task".', + names: ['interfaces/task'] + }], + ['warn', { + code: 'PLUGIN_WARNING', + hook: 'renderStart', + id: pathe.resolve('tsconfig.build.json'), + message: + '[plugin mkbuild:dts] tsconfig.build.json: Compiler option \'sourceMap\' requires a value of type boolean.', + meta: { category: ts.DiagnosticCategory.Error }, + plugin: 'mkbuild:dts', + pluginCode: 5024 + }], + ['warn', { + code: 'PLUGIN_WARNING', + frame: + ' : (await import(url.href) as { default?: Config | null }).default', + hook: 'transform', + loc: { + column: 18, + file: pathe.resolve('src/utils/load-build-config.mts'), + line: 96 + }, + message: + '[plugin mkbuild:esbuild] src/utils/load-build-config.mts (96:18): This "import" expression will not be bundled because the argument is not a string literal', + meta: { level: 'warning', notes: [] }, + plugin: 'mkbuild:esbuild', + pluginCode: 'unsupported-dynamic-import', + pos: 2188 + }] + ])('should format rollup `log` (%#)', (level, log) => { + // Act + testSubject(level, log) + + // Expect + expect(log).to.have.property('level', level) + expect(log).toMatchSnapshot() + }) +}) diff --git a/src/internal/__tests__/gitignore.spec.ts b/src/internal/__tests__/gitignore.spec.ts deleted file mode 100644 index ad63a459..00000000 --- a/src/internal/__tests__/gitignore.spec.ts +++ /dev/null @@ -1,26 +0,0 @@ -/** - * @file Unit Tests - gitignore - * @module mkbuild/internal/tests/unit/gitignore - */ - -import pathe from '@flex-development/pathe' -import testSubject from '../gitignore' - -describe('unit:internal/gitignore', () => { - it('should return empty set if .gitignore file is not found', async () => { - // Arrange - const absWorkingDir: string = pathe.resolve('__fixtures__/pkg/buddy') - - // Act + Expect - expect(await testSubject(absWorkingDir)).to.be.empty.instanceof(Set) - }) - - it('should return set containing .gitignore ignore patterns', async () => { - // Act - const result = await testSubject(process.cwd()) - - // Expect - expect(result).to.be.instanceof(Set).and.not.empty - expect(result).toMatchSnapshot() - }) -}) diff --git a/src/internal/__tests__/glob.spec.mts b/src/internal/__tests__/glob.spec.mts new file mode 100644 index 00000000..09bcbfe0 --- /dev/null +++ b/src/internal/__tests__/glob.spec.mts @@ -0,0 +1,116 @@ +/** + * @file Unit Tests - glob + * @module mkbuild/internal/tests/unit/glob + */ + +import testSubject from '#internal/glob' +import IGNORE_PATTERNS from '#utils/ignore-patterns' +import type { Options } from '@flex-development/fst-util-from-fs' +import pathe from '@flex-development/pathe' +import { constant, type Fn } from '@flex-development/tutils' +import { ok } from 'devlop' + +describe('unit:internal/glob', () => { + it.each<[ + ...Parameters<typeof testSubject>, + Fn<Parameters<typeof testSubject>, Fn<[readonly string[]], undefined>>? + ]>([ + [ + null, + function assertion(this: void): Fn<[readonly string[]], undefined> { + return assert + + /** + * @this {void} + * + * @param {ReadonlyArray<string>} files + * List of matched files + * @return {undefined} + */ + function assert(this: void, files: readonly string[]): undefined { + return void expect(files).to.be.of.length(0) + } + } + ], + [ + { + ignore: '**/package.json', + include: '**', + root: '__fixtures__/pkg/browser-usage' + }, + function assertion( + this: void, + options?: Options | null | undefined + ): Fn<[readonly string[]], undefined> { + return assert + + /** + * @this {void} + * + * @param {ReadonlyArray<string>} files + * List of matched files + * @return {undefined} + */ + function assert(this: void, files: readonly string[]): undefined { + ok(options, 'expected `options`') + ok(typeof options.root === 'string', 'expected `options.root`') + + expect(files).to.be.of.length(1) + expect(files).to.each.have.dirname(options.root) + + return void files + } + } + ], + [ + { + ignore: IGNORE_PATTERNS, + include: [ + '!src/internal/*.d.mts', + 'src/*.mts', + 'src/internal/*.mts', + 'src/plugins/*.mts', + 'src/utils/*.mts' + ] + }, + function assertion(this: void): Fn<[readonly string[]], undefined> { + /** + * Regular expression matching ignored files. + * + * @const {RegExp} ignored + */ + const ignored: RegExp = /\/src\/internal\/.*\.d\.mts$/ + + return assert + + /** + * @this {void} + * + * @param {ReadonlyArray<string>} files + * List of matched files + * @return {undefined} + */ + function assert(this: void, files: readonly string[]): undefined { + expect(files).to.have.property('length').gt(0) + expect(files).to.each.satisfy(pathe.isAbsolute) + expect(files).to.each.startWith(pathe.resolve('src') + pathe.sep) + expect(files).to.each.not.match(ignored) + + return void files + } + } + ] + ])('should return list of matched files (%#)', ( + options, + assert = constant(constant(undefined)) + ) => { + // Act + const result = testSubject(options) + + // Expect + expect(result).to.be.an('array') + + // Assert + assert(options)(result) + }) +}) diff --git a/src/internal/__tests__/load-tsconfig.spec.mts b/src/internal/__tests__/load-tsconfig.spec.mts new file mode 100644 index 00000000..eecf87e0 --- /dev/null +++ b/src/internal/__tests__/load-tsconfig.spec.mts @@ -0,0 +1,41 @@ +/** + * @file Unit Tests - loadTsconfig + * @module mkbuild/internal/tests/unit/loadTsconfig + */ + +import testSubject from '#internal/load-tsconfig' +import type { Tsconfig } from '@flex-development/tsconfig-types' +import * as tscu from '@flex-development/tsconfig-utils' +import { isObjectPlain } from '@flex-development/tutils' +import json5 from 'json5' +import tsconfigRaw from '../../../tsconfig.json' with { type: 'json' } + +describe('unit:internal/loadTsconfig', () => { + describe('options.tsconfig', () => { + it('should return normalized tsconfig', async () => { + // Arrange + const id: string = 'tsconfig.build.json' + + // Act + const result = await testSubject({ tsconfig: id }) + + // Expect + expect(result).to.eql((await tscu.loadTsconfig(id))?.tsconfig) + expect(result).to.have.property('compilerOptions').satisfy(isObjectPlain) + }) + }) + + describe('options.tsconfigRaw', () => { + it.each<Parameters<typeof testSubject>>([ + [{ tsconfigRaw: json5.stringify(tsconfigRaw) }], + [{ tsconfigRaw: tsconfigRaw as Tsconfig }] + ])('should return normalized tsconfig (%#)', async options => { + // Act + const result = await testSubject(options) + + // Expect + expect(result).to.eql(tsconfigRaw).and.not.eq(tsconfigRaw) + expect(result).to.have.property('compilerOptions').satisfy(isObjectPlain) + }) + }) +}) diff --git a/src/internal/__tests__/read-package-json.spec.mts b/src/internal/__tests__/read-package-json.spec.mts new file mode 100644 index 00000000..f04dad10 --- /dev/null +++ b/src/internal/__tests__/read-package-json.spec.mts @@ -0,0 +1,62 @@ +/** + * @file Unit Tests - readPackageJson + * @module mkbuild/internal/tests/unit/readPackageJson + */ + +import testSubject from '#internal/read-package-json' +import { codes, isNodeError, type NodeError } from '@flex-development/errnode' +import pkg from '@flex-development/mkbuild/package.json' +import * as mlly from '@flex-development/mlly' +import pathe from '@flex-development/pathe' +import type { PackageJson } from '@flex-development/pkg-types' + +vi.mock('@flex-development/mlly', async actual => { + const m: typeof mlly = await actual<typeof mlly>() + return { ...m, readPackageJson: vi.fn(m.readPackageJson) } +}) + +describe('unit:internal/readPackageJson', () => { + let key: string + let root: mlly.ModuleId + + afterEach(() => { + testSubject.cache.clear() + }) + + beforeAll(() => { + root = mlly.cwd() + key = pathe.fileURLToPath(root) + }) + + it('should return cached package manifest object', () => { + // Arrange + testSubject.cache.set(key, pkg as PackageJson) + + // Act + const result = testSubject(root) + + // Expect + expect(result).to.eq(testSubject.cache.get(key)) + expect(mlly.readPackageJson).not.toHaveBeenCalled() + }) + + it('should return package manifest object', () => { + expect(testSubject(root)).to.eql(pkg) + }) + + it('should throw if `package.json` file is not found', () => { + // Arrange + let error!: NodeError + + // Act + try { + testSubject(new URL('__fixtures__/pkg/no-package-json' + pathe.sep, root)) + } catch (e: unknown) { + error = e as typeof error + } + + // Expect + expect(error).to.satisfy(isNodeError) + expect(error).to.have.property('code', codes.ERR_MODULE_NOT_FOUND) + }) +}) diff --git a/src/internal/__tests__/to-path.spec.mts b/src/internal/__tests__/to-path.spec.mts new file mode 100644 index 00000000..d24967be --- /dev/null +++ b/src/internal/__tests__/to-path.spec.mts @@ -0,0 +1,41 @@ +/** + * @file Unit Tests - toPath + * @module mkbuild/internal/tests/unit/toPath + */ + +import testSubject from '#internal/to-path' +import { codes, isNodeError, type NodeError } from '@flex-development/errnode' +import pathe from '@flex-development/pathe' + +describe('unit:internal/toPath', () => { + it.each<[URL | string]>([ + [new URL('file:///build.config.mts')], + [pathe.dot + pathe.sep + 'build.config.mts'] + ])('should return `input` as path (%j)', input => { + // Act + const result = testSubject(input) + + // Expect + expect(result).toMatchSnapshot() + }) + + it.each<[URL | string]>([ + ['node:test'], + [new URL('node:test/reporters')] + ])('should throw if `input` is not a path or `file:` URL (%j)', input => { + // Arrange + let error!: NodeError + + // Act + try { + testSubject(input) + } catch (e: unknown) { + error = e as typeof error + } + + // Expect + expect(error).to.satisfy(isNodeError) + expect(error).to.have.property('code', codes.ERR_INVALID_URL_SCHEME) + expect(error).to.have.property('message').match(/of scheme file/) + }) +}) diff --git a/src/internal/__tests__/validate-url-string.spec.mts b/src/internal/__tests__/validate-url-string.spec.mts new file mode 100644 index 00000000..9158d1e0 --- /dev/null +++ b/src/internal/__tests__/validate-url-string.spec.mts @@ -0,0 +1,39 @@ +/** + * @file Unit Tests - validateURLString + * @module mkbuild/internal/tests/unit/validateURLString + */ + +import testSubject from '#internal/validate-url-string' +import { codes, isNodeError, type NodeError } from '@flex-development/errnode' + +describe('unit:internal/validateURLString', () => { + let name: string + + beforeAll(() => { + name = 'value' + }) + + it('should return `true` if `value` is a `URL`', () => { + expect(testSubject(new URL(import.meta.url), name)).to.be.true + }) + + it('should return `true` if `value` is a string', () => { + expect(testSubject(import.meta.url, name)).to.be.true + }) + + it('should throw if `value` is not a `URL` or string', () => { + // Arrange + let error!: NodeError + + // Act + try { + testSubject(null, name) + } catch (e: unknown) { + error = e as typeof error + } + + // Expect + expect(error).to.satisfy(isNodeError) + expect(error).to.have.property('code', codes.ERR_INVALID_ARG_TYPE) + }) +}) diff --git a/src/internal/__tests__/virtual-module-re.spec.mts b/src/internal/__tests__/virtual-module-re.spec.mts new file mode 100644 index 00000000..408b3a03 --- /dev/null +++ b/src/internal/__tests__/virtual-module-re.spec.mts @@ -0,0 +1,15 @@ +/** + * @file Unit Tests - VIRTUAL_MODULE_RE + * @module mkbuild/internal/tests/unit/VIRTUAL_MODULE_RE + */ + +import TEST_SUBJECT from '#internal/virtual-module-re' + +describe('unit:internal/VIRTUAL_MODULE_RE', () => { + it.each<string>([ + '\0virtual:my-module', + 'virtual:my-module' + ])('should match virtual modules naming convention (%j)', id => { + expect(TEST_SUBJECT.test(id)).to.be.true + }) +}) diff --git a/src/internal/__tests__/with-trailing-slash.spec.mts b/src/internal/__tests__/with-trailing-slash.spec.mts new file mode 100644 index 00000000..2b4b8102 --- /dev/null +++ b/src/internal/__tests__/with-trailing-slash.spec.mts @@ -0,0 +1,28 @@ +/** + * @file Unit Tests - withTrailingSlash + * @module mkbuild/internal/tests/unit/withTrailingSlash + */ + +import testSubject from '#internal/with-trailing-slash' +import * as mlly from '@flex-development/mlly' +import pathe from '@flex-development/pathe' +import { equal } from 'devlop' + +describe('unit:internal/withTrailingSlash', () => { + let url: URL + + beforeAll(() => { + url = mlly.cwd() + url.href += pathe.sep + equal(url.href.slice(-2), pathe.sep.repeat(2), 'expected `2` slashes') + }) + + it('should return `value` with one trailing slash', () => { + // Act + const result = testSubject(url) + + // Expect + expect(result).to.eq(url) + expect({ href: result.href, pathname: result.pathname }).toMatchSnapshot() + }) +}) diff --git a/src/internal/create-context.ts b/src/internal/create-context.ts deleted file mode 100644 index a5066f77..00000000 --- a/src/internal/create-context.ts +++ /dev/null @@ -1,227 +0,0 @@ -/** - * @file Internal - createContext - * @module mkbuild/internal/createContext - */ - -import type { Context, SourceFile, Task } from '#src/interfaces' -import * as mkp from '#src/plugins' -import type { FileSystemAdapter } from '#src/types' -import fsa from '#src/utils/fs' -import IGNORE_PATTERNS from '#src/utils/ignore-patterns' -import loaders from '#src/utils/loaders' -import { EXT_DTS_REGEX } from '@flex-development/ext-regex' -import * as mlly from '@flex-development/mlly' -import * as pathe from '@flex-development/pathe' -import type { PackageJson } from '@flex-development/pkg-types' -import { - DOT, - cast, - get, - isString, - isUndefined, - keys, - omit, - regexp, - shake, - sift -} from '@flex-development/tutils' -import * as esbuild from 'esbuild' -import fg from 'fast-glob' -import gitignore from './gitignore' - -/** - * Creates a build context for the given build `task`. - * - * @todo throw if `absWorkingDir` is not a directory - * @todo throw if `task.ext` is not a valid `OutputExtension` - * @todo throw if `task.outdir` is not a directory - * @todo throw if `task.source` is not a directory when not bundling - * @todo throw if `task.source` is not a file when bundling - * - * @internal - * @async - * - * @param {Partial<Task & { write?: boolean }>} task - Build task object - * @param {PackageJson?} [pkg={}] - Relevant `package.json` object - * @param {Partial<FileSystemAdapter>} [fs=fsa] - Custom file system methods - * @return {Promise<Context>} Build context for `task` - */ -async function createContext( - task: Partial<Task & { write?: boolean }>, - pkg: PackageJson = {}, - fs: Partial<FileSystemAdapter> = fsa -): Promise<Context> { - const { - assetNames = 'assets/[name]-[hash]', - banner = {}, - bundle = false, - chunkNames = 'chunks/[name]-[hash]', - clean = true, - color = true, - conditions = ['import', 'default'], - cwd = DOT, - drop, - dts = await (async () => { - try { - await mlly.resolveModule( - pathe.resolve(cwd, 'node_modules', 'typescript', 'package.json') - ) - return true - } catch { - return false - } - })(), - external = bundle ? keys(get(pkg, 'peerDependencies', {})) : [], - footer = {}, - format = 'esm', - ignore = IGNORE_PATTERNS, - inject, - loader = {}, - logLimit = 10, - logOverride = {}, - mainFields = ['module', 'main'], - name = '[name]', - outExtension = {}, - outdir = 'dist', - pattern = mlly.PATTERN_CHARACTER.repeat(2), - pure, - platform = 'neutral', - plugins = [], - resolveExtensions = mlly.RESOLVE_EXTENSIONS, - source = bundle ? 'src/index' : 'src', - target, - tsconfig, - write = false, - createRequire = bundle && format === 'esm' && platform === 'node', - ext = format === 'cjs' ? '.cjs' : format === 'esm' ? '.mjs' : '.js', - outbase = bundle ? pathe.dirname(source) : source, - ...options - } = task - - /** - * Absolute path to current working directory. - * - * @const {string} absWorkingDir - */ - const absWorkingDir: string = pathe.resolve(cwd) - - /** - * Relative paths to source files. - * - * **Note**: Files are relative to {@linkcode source} when {@linkcode bundle} - * is `false`. When enabled, files are relative to {@linkcode absWorkingDir}. - * - * @const {string[]} files - */ - const files: string[] = await fg( - bundle - ? (!pathe.extname(source) && source + '.*') || /* c8 ignore next */ source - : isString(pattern) - ? pattern - : [...new Set<string>(pattern)], - { - absolute: false, - braceExpansion: true, - caseSensitiveMatch: true, - cwd: pathe.join(absWorkingDir, bundle ? '' : source), - dot: true, - extglob: true, - fs: omit(fs, ['readdir']), - globstar: true, - ignore: [ - ...IGNORE_PATTERNS, - ...new Set([...(await gitignore(absWorkingDir)), ...ignore]) - ], - objectMode: false, - onlyFiles: true, - stats: false, - throwErrorOnBrokenSymbolicLink: false, - unique: true - } - ) - - /** - * Boolean indicating if module specifiers should be fully specified. - * - * @const {boolean} fill - */ - const fill: boolean = format === 'esm' || - ['.cjs', '.mjs'].some(e => ext.endsWith(e)) - - // remove unsupported options that are not overridden - Reflect.deleteProperty(options, 'incremental') - Reflect.deleteProperty(options, 'outfile') - Reflect.deleteProperty(options, 'stdin') - Reflect.deleteProperty(options, 'watch') - - return esbuild.context( - shake({ - ...options, - absWorkingDir, - allowOverwrite: false, - assetNames, - banner, - bundle, - chunkNames, - color, - conditions: [...new Set(conditions)], - drop: [...new Set(drop)], - entryNames: `[dir]${pathe.sep}${name}`, - entryPoints: files - .map((file: string): SourceFile => { - return { - ext: cast(pathe.extname(file)), - file: bundle && outbase !== DOT - // outbase support for bundles (esbuild only uses outbase for - // multiple entries); https://esbuild.github.io/api/#outbase - ? file - .replace(new RegExp(`^${regexp(outbase)}`), '') - .replace(/^\//, '') - : file, - path: pathe.join(absWorkingDir, source, bundle ? '' : file) - } - }) - .map((sourcefile: SourceFile): string => { - return pathe.join(bundle ? outbase : source, sourcefile.file) - }), - external: bundle - ? [...new Set([...keys(get(pkg, 'peerDependencies', {})), ...external])] - : [], - footer, - format, - inject: [...new Set(inject)], - loader: { ...loaders(format, bundle), ...loader }, - logLimit, - logOverride, - mainFields: [...new Set(mainFields)], - metafile: true as const, - outExtension: { ...outExtension, '.js': pathe.formatExt(ext) }, - outbase, - outdir, - platform, - plugins: sift([ - mkp.pkgtype(pkg), - clean && mkp.clean(fs), - createRequire && mkp.createRequire(), - dts !== false && mkp.dts(), - !!tsconfig && mkp.decorators(), - !!tsconfig && mkp.tsconfigPaths(), - fill && mkp.fullySpecified(), - ...plugins, - mkp.filter(dts === 'only' ? EXT_DTS_REGEX : undefined), - write && mkp.write(fs) - ]), - pure: [...new Set(pure)], - resolveExtensions: [...new Set(resolveExtensions)].map(pathe.formatExt), - target: isUndefined(target) - ? undefined - : isString(target) - ? target - : [...new Set(target)], - tsconfig, - write: false as const - }) - ) -} - -export default createContext diff --git a/src/internal/create-entry-file-names.mts b/src/internal/create-entry-file-names.mts new file mode 100644 index 00000000..49bcf98d --- /dev/null +++ b/src/internal/create-entry-file-names.mts @@ -0,0 +1,59 @@ +/** + * @file Internal - createEntryFileNames + * @module mkbuild/internal/createEntryFileNames + */ + +import type { EntryFileNamesFn, Task } from '@flex-development/mkbuild' +import { isNIL, template } from '@flex-development/tutils' +import { ok } from 'devlop' +import type { PreRenderedChunk } from 'rollup' + +/** + * Create a function that returns a pattern to use for naming chunks created + * from entry points. + * + * @see {@linkcode EntryFileNamesFn} + * @see {@linkcode Task} + * + * @internal + * + * @this {void} + * + * @param {Pick<Task, 'entryFileNames' | 'ext'>} task + * Build task + * @return {EntryFileNamesFn} + * Entry point chunk file name generator + */ +function createEntryFileNames( + this: void, + task: Pick<Task, 'entryFileNames' | 'ext'> +): EntryFileNamesFn { + return entryFileNames + + /** + * @this {void} + * + * @param {PreRenderedChunk} chunk + * Pre-rendered entry chunk + * @return {string} + * Pattern to use for naming `chunk` + */ + function entryFileNames(this: void, chunk: PreRenderedChunk): string { + ok(task, 'expected `task`') + ok(!isNIL(task.entryFileNames), 'expected `task.entryFileNames`') + ok(!isNIL(task.ext), 'expected `task.ext`') + + /** + * Pattern to use for naming chunks created from entry points. + * + * @const {string} entryFileNames + */ + const entryFileNames: string = typeof task.entryFileNames === 'string' + ? task.entryFileNames + : task.entryFileNames(chunk) + + return template(entryFileNames, { extname: task.ext }) + } +} + +export default createEntryFileNames diff --git a/src/internal/create-on-log.mts b/src/internal/create-on-log.mts new file mode 100644 index 00000000..c1cf9f16 --- /dev/null +++ b/src/internal/create-on-log.mts @@ -0,0 +1,53 @@ +/** + * @file Internal - createOnLog + * @module mkbuild/internal/createOnLog + */ + +import type { Message, RollupCode } from '@flex-development/mkbuild' +import { ksort, omit } from '@flex-development/tutils' +import { ok } from 'devlop' +import type { LogHandler, LogLevel, RollupLog } from 'rollup' + +export default createOnLog + +/** + * Create a log handler. + * + * @see https://rollupjs.org/configuration-options/#onlog + * @see {@linkcode LogHandler} + * @see {@linkcode Message} + * + * @internal + * + * @this {void} + * + * @param {Message[]} messages + * List to collect build messages + * @return {LogHandler} + * Rollup log handler + */ +function createOnLog(this: void, messages: Message[]): LogHandler { + return onLog + + /** + * @see https://rollupjs.org/configuration-options/#onlog + * + * @this {void} + * + * @param {LogLevel} level + * Rollup log level + * @param {RollupLog} log + * Rollup log object + * @return {undefined} + */ + function onLog(this: void, level: LogLevel, log: RollupLog): undefined { + ok(typeof log.code === 'string', 'expected `log.code`') + + return void messages.push(ksort({ + ...omit(log, ['message']), + code: log.code as RollupCode, + level, + text: log.message + })) + } +} diff --git a/src/internal/format-diagnostic.mts b/src/internal/format-diagnostic.mts new file mode 100644 index 00000000..b41a9252 --- /dev/null +++ b/src/internal/format-diagnostic.mts @@ -0,0 +1,119 @@ +/** + * @file Internal - formatDiagnostic + * @module mkbuild/internal/formatDiagnostic + */ + +import { Location, type Point } from '@flex-development/vfile-location' +import { ok } from 'devlop' +import type { LogLevel, RollupLog } from 'rollup' +import type { + Diagnostic, + DiagnosticCategory, + SourceFile, + default as TypeScript +} from 'typescript' + +export { formatDiagnostic as default, type MinimalDiagnostic } + +/** + * Minimal TypeScript diagnostic. + * + * @see {@linkcode Diagnostic} + * + * @internal + * + * @extends {Omit<Diagnostic,'file'>} + */ +interface MinimalDiagnostic extends Omit<Diagnostic, 'file'> { + /** + * Source file associated with diagnostic. + * + * @see {@linkcode SourceFile} + */ + file?: Pick<SourceFile, 'fileName' | 'text'> | undefined +} + +/** + * Convert a TypeScript `diagnostic` to a rollup log. + * + * @see {@linkcode MinimalDiagnostic} + * @see {@linkcode RollupLog} + * @see {@linkcode TypeScript} + * + * @internal + * + * @this {void} + * + * @param {MinimalDiagnostic} diagnostic + * The diagnostic to handle + * @param {string} plugin + * Plugin name + * @param {string} hook + * Plugin hook name + * @param {typeof TypeScript} ts + * TypeScript module + * @return {RollupLog} + * `diagnostic` as rollup log + */ +function formatDiagnostic( + this: void, + diagnostic: MinimalDiagnostic, + plugin: string, + hook: string, + ts: typeof TypeScript +): RollupLog { + /** + * Diagnostic as rollup log. + * + * @const {RollupLog} log + */ + const log: RollupLog = { + hook, + level: ({ + [ts.DiagnosticCategory.Error]: 'warn', + [ts.DiagnosticCategory.Message]: 'info', + [ts.DiagnosticCategory.Suggestion]: 'info', + [ts.DiagnosticCategory.Warning]: 'warn' + } as Record<DiagnosticCategory, LogLevel | 'error'>)[diagnostic.category], + message: ts.flattenDiagnosticMessageText(diagnostic.messageText, '\n'), + meta: { category: diagnostic.category }, + plugin, + pluginCode: diagnostic.code + } + + if (diagnostic.file) { + ok(typeof diagnostic.start === 'number', 'expected `diagnostic.start`') + ok(typeof log.meta === 'object', 'expected `log.meta`') + + /** + * Location utility. + * + * @const {Location} location + */ + const location: Location = new Location(diagnostic.file.text) + + /** + * Point where {@linkcode diagnostic} starts. + * + * @const {Point} point + */ + const point: Point = location.point(diagnostic.start) + + log.id = diagnostic.file.fileName + + log.frame = diagnostic.file.text.slice( + location.offset({ column: 1, line: point.line }), + diagnostic.file.text.indexOf('\n', point.offset) + ) + + log.loc = { + column: point.column, + file: diagnostic.file.fileName, + line: point.line + } + + log.pos = point.offset + } + + return log +} diff --git a/src/internal/format-esbuild-message.mts b/src/internal/format-esbuild-message.mts new file mode 100644 index 00000000..2cb53f6b --- /dev/null +++ b/src/internal/format-esbuild-message.mts @@ -0,0 +1,81 @@ +/** + * @file Internal - formatEsbuildMessage + * @module mkbuild/internal/formatEsbuildMessage + */ + +import { Location } from '@flex-development/vfile-location' +import type { LogLevel, Message } from 'esbuild' +import type { RollupLog, LogLevel as RollupLogLevel } from 'rollup' + +/** + * Convert an esbuild `message` to a rollup log. + * + * @see {@linkcode LogLevel} + * @see {@linkcode Message} + * @see {@linkcode RollupLog} + * + * @internal + * + * @this {void} + * + * @param {Message} message + * The message to handle + * @param {string} code + * The code being transformed + * @param {string} id + * Module id + * @param {string} plugin + * Plugin name + * @param {LogLevel | undefined} [level='warning'] + * esbuild log level override + * @return {RollupLog} + * `message` formatted as rollup log + */ +function formatEsbuildMessage( + this: void, + message: Message, + code: string, + id: string, + plugin: string, + level: LogLevel | undefined = 'warning' +): RollupLog { + /** + * esbuild {@linkcode message} as rollup log. + * + * @const {RollupLog} log + */ + const log: RollupLog = { + hook: 'transform', + id, + message: message.text, + meta: { level, notes: message.notes }, + plugin, + pluginCode: message.id + } + + if (level !== 'silent') { + log.level = ({ + debug: 'debug', + error: 'error', + info: 'info', + verbose: 'debug', + warning: 'warn' + } as Record<LogLevel, RollupLogLevel | 'error'>)[level] + } + + if (message.location) { + log.frame = message.location.lineText + + log.loc = { + column: message.location.column + 1, + file: message.location.file, + line: message.location.line + } + + log.pos = new Location(code).offset(log.loc) + } + + return log +} + +export default formatEsbuildMessage diff --git a/src/internal/format-log.mts b/src/internal/format-log.mts new file mode 100644 index 00000000..8e5c560c --- /dev/null +++ b/src/internal/format-log.mts @@ -0,0 +1,61 @@ +/** + * @file Internal - formatLog + * @module mkbuild/internal/formatLog + */ + +import pathe from '@flex-development/pathe' +import { ksort } from '@flex-development/tutils' +import { ok } from 'devlop' +import type { LogLevel, RollupLog } from 'rollup' + +/** + * Format a rollup `log`. + * + * @see https://rollupjs.org/plugin-development/#onlog + * @see https://github.com/rollup/rollup/issues/5699 + * @see {@linkcode LogLevel} + * @see {@linkcode RollupLog} + * + * @internal + * + * @this {void} + * + * @param {LogLevel} level + * Rollup log level + * @param {RollupLog} log + * Rollup log object + * @return {undefined} + */ +function formatLog(this: void, level: LogLevel, log: RollupLog): undefined { + ok(typeof log.code === 'string', 'expected `log.code`') + + /** + * Path to module where message originated. + * + * @const {string | undefined} id + */ + const id: string | undefined = log.id || log.loc?.file + + if (log.plugin) { + log.message = log.message.slice(`[plugin ${log.plugin}]`.length + 1) + } + + if (id) { + /** + * String to search for in {@linkcode log.message}. + * + * @var {string} seed + */ + let seed: string = pathe.basename(id) + + if (log.loc) seed += ` (${log.loc.line}:${log.loc.column}):` + + log.message = log.message.slice(log.message.indexOf(seed) + seed.length + 1) + log.message = log.message.trimStart() + } + + if (!log.level) log.level = level + return void ksort(log) +} + +export default formatLog diff --git a/src/internal/fs.browser.mts b/src/internal/fs.browser.mts new file mode 100644 index 00000000..6150c539 --- /dev/null +++ b/src/internal/fs.browser.mts @@ -0,0 +1,105 @@ +/** + * @file Internal - fs/browser + * @module mkbuild/internal/fs/browser + */ + +import type { FileSystem } from '@flex-development/mkbuild' + +/** + * File system API. + * + * @internal + * + * @const {FileSystem} fs + */ +const fs: FileSystem = { + /** + * Create a directory. + * + * @return {never} + * Never; not implemented + * @throws {Error} + */ + mkdir(): never { + throw new Error('[mkdir] not implemented') + }, + + /** + * Create a directory. + * + * @return {never} + * Never; not implemented + * @throws {Error} + */ + mkdirSync(): never { + throw new Error('[mkdirSync] not implemented') + }, + + /** + * Get the contents of a file. + * + * @return {never} + * Never; not implemented + * @throws {Error} + */ + readFileSync(): never { + throw new Error('[readFileSync] not implemented') + }, + + /** + * Read the contents of a directory. + * + * @return {never} + * Never; not implemented + * @throws {Error} + */ + readdirSync(): never { + throw new Error('[readdirSync] not implemented') + }, + + /** + * Get the resolved pathname of a directory or file. + * + * @return {never} + * Never; not implemented + * @throws {Error} + */ + realpathSync(): never { + throw new Error('[realpathSync] not implemented') + }, + + /** + * Remove a directory or file. + * + * @return {never} + * Never; not implemented + * @throws {Error} + */ + rm(): never { + throw new Error('[rm] not implemented') + }, + + /** + * Get information about a directory or file. + * + * @return {never} + * Never; not implemented + * @throws {Error} + */ + statSync(): never { + throw new Error('[statSync] not implemented') + }, + + /** + * Create a file. + * + * @return {never} + * Never; not implemented + * @throws {Error} + */ + writeFile(): never { + throw new Error('[writeFile] not implemented') + } +} + +export default fs diff --git a/src/internal/fs.d.mts b/src/internal/fs.d.mts new file mode 100644 index 00000000..6db1ab0e --- /dev/null +++ b/src/internal/fs.d.mts @@ -0,0 +1,7 @@ +declare module '#internal/fs' { + import type { FileSystem } from '@flex-development/mkbuild' + + const fs: FileSystem + + export default fs +} diff --git a/src/internal/fs.node.mts b/src/internal/fs.node.mts new file mode 100644 index 00000000..26fe216e --- /dev/null +++ b/src/internal/fs.node.mts @@ -0,0 +1,34 @@ +/** + * @file Internal - fs/node + * @module mkbuild/internal/fs/node + */ + +import type { FileSystem } from '@flex-development/mkbuild' +import { + mkdirSync, + readdirSync, + readFileSync, + realpathSync, + statSync +} from 'node:fs' +import { mkdir, rm, writeFile } from 'node:fs/promises' + +/** + * File system API. + * + * @internal + * + * @const {FileSystem} fs + */ +const fs: FileSystem = { + mkdir, + mkdirSync, + readFileSync, + readdirSync, + realpathSync, + rm, + statSync, + writeFile +} + +export default fs diff --git a/src/internal/gitignore.ts b/src/internal/gitignore.ts deleted file mode 100644 index 8346ca2b..00000000 --- a/src/internal/gitignore.ts +++ /dev/null @@ -1,56 +0,0 @@ -/** - * @file Internal - gitignore - * @module mkbuild/internal/gitignore - */ - -import * as mlly from '@flex-development/mlly' -import * as pathe from '@flex-development/pathe' -import { cast, isEmptyString, trim } from '@flex-development/tutils' - -/** - * Returns a set of ignore patterns found in a `.gitignore` file. - * - * @internal - * @async - * - * @param {string} absWorkingDir - Absolute path to current working directory - * @return {Promise<Set<string>>} Ignore patterns set - */ -const gitignore = async (absWorkingDir: string): Promise<Set<string>> => { - /** - * Ignore patterns found in `.gitignore` file. - * - * @const {Set<string>} ignore - */ - const ignore: Set<string> = new Set<string>() - - // try adding ignore patterns from .gitignore - try { - /** - * Absolute path to `.gitignore` file. - * - * @const {string} path - */ - const path: string = pathe.resolve(absWorkingDir, '.gitignore') - - /** - * `.gitignore` file content. - * - * @const {string} gitignore - */ - const content: string = cast(await mlly.getSource(path)) - - // add ignore patterns from .gitignore - for (const line of content.split(/\r?\n/)) { - if (isEmptyString(trim(line))) continue - if (line.startsWith('#') || line.startsWith('!')) continue - ignore.add(trim(line)) - } - } catch { - // do nothing if .gitignore file was not found - } - - return ignore -} - -export default gitignore diff --git a/src/internal/glob.mts b/src/internal/glob.mts new file mode 100644 index 00000000..ef475c68 --- /dev/null +++ b/src/internal/glob.mts @@ -0,0 +1,189 @@ +/** + * @file Internal - glob + * @module mkbuild/internal/glob + */ + +import dfs from '#internal/fs' +import toPath from '#internal/to-path' +import type { DirectoryContent, File } from '@flex-development/fst' +import { + fromFileSystem, + type Dirent, + type Options +} from '@flex-development/fst-util-from-fs' +import pathe from '@flex-development/pathe' +import type { Type } from '@flex-development/unist-util-types' +import { ok } from 'devlop' + +export default glob + +/** + * Glob options. + * + * @internal + */ +interface GlobOptions extends Options { + /** + * Path filters to determine if nodes should be added to the tree. + * + * @override + */ + filters?: null | undefined + + /** + * Glob pattern, or a list of patterns, used to exclude matches. + */ + ignore?: Set<string> | readonly string[] | string | null | undefined + + /** + * Glob pattern, or a list of patterns, matching files to include in the tree. + * + * > 👉 **Note**: Patterns matching directories to search will be generated + * > using this list. + */ + include?: Set<string> | readonly string[] | string | null | undefined +} + +/** + * Traverse the file system and return a list of pathnames matching a a defined + * set of patterns. + * + * @internal + * + * @this {void} + * + * @param {GlobOptions | null | undefined} [options] + * Glob options + * @return {string[]} + * List of matched files + */ +function glob(this: void, options?: GlobOptions | null | undefined): string[] { + options ??= {} + + if (typeof options.ignore === 'string') options.ignore = [options.ignore] + if (typeof options.include === 'string') options.include = [options.include] + + /** + * List of matched files. + * + * @const {string[]} files + */ + const files: string[] = [] + + /** + * List of glob patterns used to exclude matches. + * + * @const {Set<string>} ignore + */ + const ignore: Set<string> = new Set<string>(options.ignore) + + /** + * Record of glob patterns matching directories to search and files to + * include. + * + * @const {Record<Type<DirectoryContent>, Set<string>>} matchers + */ + const matchers: Record<Type<DirectoryContent>, Set<string>> = { + directory: new Set(), + file: new Set(options.include) + } + + // convert negated patterns to ignore patterns + for (const pattern of matchers.file) { + if (pattern.startsWith('!')) { + ignore.add(pattern.slice(1)) + matchers.file.delete(pattern) + } + } + + // get patterns matching directories to search + for (const pattern of matchers.file) { + if (pattern === '**') { + matchers.directory.add(pattern) + } else { + /** + * Directory name of {@linkcode pattern}. + * + * @const {string} dirname + */ + let dirname: string = pathe.dirname(pattern) + + while (dirname !== pathe.dot) { + matchers.directory.add(dirname) + dirname = pathe.dirname(dirname) + } + } + } + + // create matched file tree + fromFileSystem({ + ...options, + filters: { + /** + * Determine if a `directory` node should be added to the tree. + * + * @this {void} + * + * @param {string} x + * Relative path to directory + * @return {boolean} + * `true` if `directory` node should be added, `false` otherwise + */ + directory(this: void, x: string): boolean { + return filter(x, matchers.directory) + }, + /** + * Determine if a `file` node should be added to the tree. + * + * @this {void} + * + * @param {string} x + * Relative path to file + * @return {boolean} + * `true` if `file` node should be added, `false` otherwise + */ + file(this: void, x: string): boolean { + return filter(x, matchers.file) + } + }, + fs: { ...dfs, ...options.fs }, + handles: { + /** + * Add matched files. + * + * @this {void} + * + * @param {File} node + * File node + * @param {Dirent} dirent + * Dirent object representing the file `node` was created from + * @return {undefined} + */ + file(this: void, node: File, dirent: Dirent): undefined { + return void files.push(pathe.join(dirent.parentPath, node.name)) + } + } + }) + + return files + + /** + * @this {void} + * + * @param {string} x + * The path to match + * @param {Set<string>} patterns + * List of glob patterns + * @return {boolean} + * `true` if `x` matches include pattern and is not excluded + */ + function filter(this: void, x: string, patterns: Set<string>): boolean { + ok(options, 'expected `options`') + + return pathe.matchesGlob(x, [...patterns], { + cwd: options.root ? toPath(options.root) : pathe.cwd(), + dot: true, + ignore: [...ignore] + }) + } +} diff --git a/src/internal/index.ts b/src/internal/index.ts deleted file mode 100644 index 02fd10de..00000000 --- a/src/internal/index.ts +++ /dev/null @@ -1,7 +0,0 @@ -/** - * @file Entry Point - Internal - * @module mkbuild/internal - */ - -export { default as createContext } from './create-context' -export { default as gitignore } from './gitignore' diff --git a/src/internal/load-tsconfig.mts b/src/internal/load-tsconfig.mts new file mode 100644 index 00000000..1c2286a2 --- /dev/null +++ b/src/internal/load-tsconfig.mts @@ -0,0 +1,69 @@ +/** + * @file Internal - loadTsconfig + * @module mkbuild/internal/loadTsconfig + */ + +import type { ModuleId } from '@flex-development/mlly' +import * as tscu from '@flex-development/tsconfig-utils' +import json5 from 'json5' + +export default loadTsconfig + +/** + * Tsconfig loading options. + * + * @see {@linkcode tscu.LoadTsconfigOptions} + * + * @internal + * + * @extends {tscu.LoadTsconfigOptions} + */ +interface Options extends tscu.LoadTsconfigOptions { + /** + * Module id of tsconfig file. + * + * @see {@linkcode ModuleId} + */ + tsconfig?: ModuleId | null | undefined + + /** + * Raw tsconfig. + * + * @see {@linkcode tscu.Tsconfig} + */ + tsconfigRaw?: tscu.Tsconfig | string | null | undefined +} + +/** + * Load a tsconfig. + * + * @see {@linkcode Options} + * @see {@linkcode tscu.Tsconfig} + * + * @internal + * + * @async + * + * @param {Options} options + * Load options + * @return {Promise<tscu.Tsconfig>} + * TypeScript configuration options + */ +async function loadTsconfig(options: Options): Promise<tscu.Tsconfig> { + /** + * Parsed tsconfig. + * + * @var {tscu.Tsconfig} tsconfig + */ + let tsconfig: tscu.Tsconfig = {} + + if (typeof options.tsconfigRaw === 'object' && options.tsconfigRaw) { + tsconfig = { ...options.tsconfigRaw } + } else if (typeof options.tsconfigRaw === 'string' && options.tsconfigRaw) { + tsconfig = json5.parse<tscu.Tsconfig>(options.tsconfigRaw) + } else if (options.tsconfig) { + tsconfig = (await tscu.loadTsconfig(options.tsconfig, options))!.tsconfig + } + + return tsconfig.compilerOptions ??= {}, tsconfig +} diff --git a/src/internal/read-package-json.mts b/src/internal/read-package-json.mts new file mode 100644 index 00000000..c8cf3572 --- /dev/null +++ b/src/internal/read-package-json.mts @@ -0,0 +1,77 @@ +/** + * @file Internal - readPackageJson + * @module mkbuild/internal/readPackageJson + */ + +import dfs from '#internal/fs' +import { + ERR_MODULE_NOT_FOUND, + type ErrModuleNotFound +} from '@flex-development/errnode' +import * as mlly from '@flex-development/mlly' +import pathe from '@flex-development/pathe' +import type { PackageJson } from '@flex-development/pkg-types' +import { ok } from 'devlop' + +/** + * Package manifest cache. + * + * @internal + * + * @const {Map<string, PackageJson>} cache + */ +const cache: Map<string, PackageJson> = new Map<string, PackageJson>() + +export default readPackageJson +readPackageJson.cache = cache + +/** + * Load a `package.json` file. + * + * @see {@linkcode ErrModuleNotFound} + * @see {@linkcode PackageJson} + * @see {@linkcode mlly.FileSystem} + * @see {@linkcode mlly.ModuleId} + * + * @internal + * + * @param {mlly.ModuleId} root + * Absolute module id of working directory + * @param {mlly.FileSystem | null | undefined} [fs] + * File system API + * @return {PackageJson} + * Package manifest object + * @throws {ErrModuleNotFound} + * If `package.json` file is not found + */ +function readPackageJson( + root: mlly.ModuleId, + fs?: mlly.FileSystem | null | undefined +): PackageJson { + ok(String(root).endsWith('/'), 'expected trailing slash ("/") end') + + root = pathe.toPath(root) + if (cache.has(root)) return cache.get(root)! + + /** + * Package manifest. + * + * @const {PackageJson | null} pkg + */ + const pkg: PackageJson | null = mlly.readPackageJson( + pathe.pathToFileURL(root), + null, + null, + fs ?? dfs + ) + + if (!pkg) { + throw new ERR_MODULE_NOT_FOUND( + pathe.join(root, 'package.json'), + import.meta.url, + new URL('package.json', pathe.pathToFileURL(root)) + ) + } + + return cache.set(root, pkg), pkg +} diff --git a/src/internal/to-path.mts b/src/internal/to-path.mts new file mode 100644 index 00000000..0d28b9d7 --- /dev/null +++ b/src/internal/to-path.mts @@ -0,0 +1,47 @@ +/** + * @file Internal - toPath + * @module mkbuild/internal/toPath + */ + +import validateURLString from '#internal/validate-url-string' +import { + ERR_INVALID_URL_SCHEME, + type ErrInvalidUrlScheme +} from '@flex-development/errnode' +import pathe from '@flex-development/pathe' + +/** + * Convert `input` to a path. + * + * > 👉 **Note**: `input` is assumed to be a path if it is a string and cannot + * > be parsed to a URL (checked using {@linkcode pathe.isURL}). + * + * @see {@linkcode ErrInvalidUrlScheme} + * + * @internal + * + * @this {void} + * + * @param {URL | string} input + * The {@linkcode URL}, URL string, or path to convert + * @return {string} + * `input` as path + * @throws {ErrInvalidUrlScheme} + * If `input` is not a path or `file:` URL + */ +function toPath( + this: void, + input: URL | string +): string { + validateURLString(input, 'input') + + if (typeof input === 'string') { + if (!pathe.isURL(input)) return pathe.toPosix(input) + input = new URL(input) + } + + if (input.protocol === 'file:') return pathe.fileURLToPath(input) + throw new ERR_INVALID_URL_SCHEME('file') +} + +export default toPath diff --git a/src/internal/validate-url-string.mts b/src/internal/validate-url-string.mts new file mode 100644 index 00000000..4e3b7fe3 --- /dev/null +++ b/src/internal/validate-url-string.mts @@ -0,0 +1,36 @@ +/** + * @file Internal - validateURLString + * @module mkbuild/internal/validateURLString + */ + +import { + ERR_INVALID_ARG_TYPE, + type ErrInvalidArgType +} from '@flex-development/errnode' +import pathe from '@flex-development/pathe' + +/** + * Check if `value` is a {@linkcode URL} object or string. + * + * @see {@linkcode ErrInvalidArgType} + * + * @internal + * + * @param {unknown} value + * Value to check + * @param {string} name + * Name of invalid argument or property + * @return {value is URL | string} + * `true` if `value` is `URL` object or string + * @throws {ErrInvalidArgType} + * If `value` is not `URL` object or string + */ +function validateURLString( + value: unknown, + name: string +): value is URL | string { + if (typeof value === 'string' || pathe.isURL(value)) return true + throw new ERR_INVALID_ARG_TYPE(name, ['URL', 'string'], value) +} + +export default validateURLString diff --git a/src/internal/virtual-module-re.mts b/src/internal/virtual-module-re.mts new file mode 100644 index 00000000..0759c932 --- /dev/null +++ b/src/internal/virtual-module-re.mts @@ -0,0 +1,18 @@ +/** + * @file Internal - VIRTUAL_MODULE_RE + * @module mkbuild/internal/VIRTUAL_MODULE_RE + */ + +/** + * Regular expression matching module ids following virtual modules convention. + * + * @see https://rollupjs.org/plugin-development/#conventions + * @see https://vite.dev/guide/api-plugin#virtual-modules-convention + * + * @internal + * + * @const {RegExp} VIRTUAL_MODULE_RE + */ +const VIRTUAL_MODULE_RE: RegExp = /^\\0|(?:(?:\\0)?virtual:)/ + +export default VIRTUAL_MODULE_RE diff --git a/src/internal/with-trailing-slash.mts b/src/internal/with-trailing-slash.mts new file mode 100644 index 00000000..8eba43e4 --- /dev/null +++ b/src/internal/with-trailing-slash.mts @@ -0,0 +1,66 @@ +/** + * @file Internal - withTrailingSlash + * @module mkbuild/internal/withTrailingSlash + */ + +import pathe from '@flex-development/pathe' + +export default withTrailingSlash + +/** + * Ensure `url.href` and `url.pathname` end with a single trailing slash. + * + * @internal + * + * @param {URL} url + * URL to handle + * @return {URL} + * `url` + */ +function withTrailingSlash(url: URL): URL + +/** + * Ensure `str` ends with a single trailing slash. + * + * @internal + * + * @param {string} str + * String to handle + * @return {string} + * `str` + */ +function withTrailingSlash(str: string): string + +/** + * If `value` is a string, ensure `value` ends with a single trailing slash.\ + * Otherwise, ensure `value.href` and `value.pathname` end with a single + * trailing slash. + * + * @internal + * + * @param {URL | string} value + * URL or string to handle + * @return {URL | string} + * `value` + */ +function withTrailingSlash(value: URL | string): URL | string + +/** + * Ensure `value` ends with a single trailing slash. + * + * @internal + * + * @param {URL | string} value + * URL or string to handle + * @return {URL | string} + * `value` + */ +function withTrailingSlash(value: URL | string): URL | string { + if (typeof value === 'string') { + value = value.replace(/[/\\]+$/, '') + pathe.sep + } else { + value.href = withTrailingSlash(value.href) + } + + return value +} diff --git a/src/make.mts b/src/make.mts new file mode 100644 index 00000000..d894fbea --- /dev/null +++ b/src/make.mts @@ -0,0 +1,77 @@ +/** + * @file make + * @module mkbuild/make + */ + +import readPackageJson from '#internal/read-package-json' +import clean from '#plugins/clean' +import mergeTask from '#utils/merge-task' +import runnableTask from '#utils/runnable-task' +import type { Config, Report, RunnableTask } from '@flex-development/mkbuild' + +/** + * Execute build tasks. + * + * @see {@linkcode Config} + * @see {@linkcode Report} + * + * @async + * + * @this {void} + * + * @param {Config | null | undefined} [config] + * Build configuration + * @return {Promise<Report>} + * Build report + */ +async function make( + this: void, + config?: Config | null | undefined +): Promise<Report> { + /** + * Build report. + * + * @const {Report} report + */ + const report: Report = Object.defineProperties({ builds: [], size: 0 }, { + size: { + enumerable: true, + /** + * Get the size of `this` build report. + * + * @this {Report} + * + * @return {number} + * Build report size in bytes + */ + get(this: Report): number { + return this.builds.reduce((acc, result) => acc + result.size, 0) + } + } + }) + + if (config) { + const { fs, tasks, ...baseTask } = config + + // execute build tasks + for (const tsk of tasks ?? [baseTask]) { + /** + * Runnable build task. + * + * @const {RunnableTask} task + */ + const task: RunnableTask = runnableTask(mergeTask({}, baseTask, tsk), fs) + + // run build task + add result to build report + report.builds.push(await task.run()) + } + + // clear caches + clean.directories.clear() + readPackageJson.cache.clear() + } + + return report +} + +export default make diff --git a/src/make.ts b/src/make.ts deleted file mode 100644 index ecc0ea5a..00000000 --- a/src/make.ts +++ /dev/null @@ -1,264 +0,0 @@ -/** - * @file Make - * @module mkbuild/make - */ - -import { ERR_MODULE_NOT_FOUND, type NodeError } from '@flex-development/errnode' -import * as mlly from '@flex-development/mlly' -import pathe from '@flex-development/pathe' -import type { PackageJson } from '@flex-development/pkg-types' -import { - DOT, - cast, - defaults, - get, - ksort, - regexp, - type Nullable -} from '@flex-development/tutils' -import consola from 'consola' -import type * as esbuild from 'esbuild' -import { asyncExitHook as exitHook } from 'exit-hook' -import { fileURLToPath } from 'node:url' -import pb from 'pretty-bytes' -import color from 'tinyrainbow' -import loadBuildConfig from './config/load' -import type { Config, Context, Result, Task } from './interfaces' -import * as internal from './internal' -import type { OutputMetadata } from './types' -import { analyzeOutputs, fs as fsa } from './utils' - -/** - * [esbuild][1] based file-to-file transformer and bundler. - * - * [1]: https://esbuild.github.io - * - * @todo hooks support - * @todo validate build results against package.json - * - * @async - * - * @example - * await make({ entries: [{}] }) - * @example - * await make({ entries: [{ ext: '.mjs', format: 'esm' }] }) - * @example - * await make({ entries: [{ ext: '.cjs', format: 'cjs' }] }) - * @example - * await make({ entries: [{ ext: '.js', format: 'iife' }] }) - * - * @param {Config} [config={}] - Build configuration options - * @return {Promise<Result[]>} Build results - * @throws {esbuild.BuildFailure | NodeError} - */ -async function make({ - configfile = true, - cwd = DOT, - ...config -}: Config = {}): Promise<Result[]> { - const { entries, fs, serve, watch, write, ...options } = defaults( - config, - configfile ? await loadBuildConfig(cwd) : {}, - { - cwd, - entries: cast<Partial<Task>[]>([{}]), - fs: fsa, - logLevel: cast<esbuild.LogLevel>('info'), - outdir: 'dist', - serve: cast<esbuild.ServeOptions | boolean>(false), - watch: false, - write: false - } - ) - - /** - * Absolute path to current working directory. - * - * @const {string} absWorkingDir - */ - const absWorkingDir: string = pathe.resolve(options.cwd) - - /** - * `package.json` data. - * - * @const {Nullable<PackageJson>} pkg - */ - const pkg: Nullable<PackageJson> = mlly.readPackageJson(absWorkingDir) - - // throw if package.json was not found - if (!pkg) { - throw new ERR_MODULE_NOT_FOUND( - pathe.join(absWorkingDir, 'package.json'), - fileURLToPath(import.meta.url), - 'module' - ) - } - - // print start info - if (serve !== false || watch || write) { - /** - * Start message prefix. - * - * @const {string} prefix - */ - const prefix: string = serve !== false - ? 'Serving' - : watch - ? 'Watching' - : 'Building' - - consola.info(color.cyan(`${prefix} ${pkg.name}`)) - } - - /** - * Build tasks. - * - * @const {Task[]} tasks - */ - const tasks: Task[] = entries.map(entry => { - const { - bundle = options.bundle, - cwd = options.cwd, - dts = serve !== false || watch ? false : undefined, - outdir = options.outdir, - source = options.source ?? (bundle ? 'src/index' : 'src'), - ...rest - } = entry - - return defaults( - { - bundle, - cwd, - dts, - outdir, - source, - write - }, - rest, - options - ) - }) - - /** - * Build results. - * - * @const {Result[]} results - */ - const results: Result[] = [] - - /** - * Build context. - * - * @var {Context} context - */ - let context: Context - - // do static build - if (!watch && serve === false) { - for (const task of tasks) { - // create build context - context = await internal.createContext(task, pkg, fs) - - /** - * esbuild build result. - * - * @const {esbuild.BuildResult<{ metafile: true; write: false }>} result - */ - const result: esbuild.BuildResult<{ metafile: true; write: false }> = - await context.rebuild() - - // add build results - results.push({ - cwd: pathe.resolve(task.cwd), - errors: result.errors, - mangleCache: result.mangleCache, - metafile: result.metafile, - outdir: task.outdir, - outputs: result.outputFiles.map(output => { - /** - * Relative path to output file. - * - * **Note**: Relative to {@linkcode absWorkingDir}. - * - * @const {string} outfile - */ - const outfile: string = output.path - .replace(new RegExp('^' + regexp(absWorkingDir)), '') - .replace(/^\//, '') - - /** - * Output metadata. - * - * @const {OutputMetadata} metadata - */ - const metadata: OutputMetadata = get(result.metafile.outputs, outfile) - - return ksort({ - ...output, - bytes: metadata.bytes, - entryPoint: metadata.entryPoint, - exports: [...new Set(metadata.exports)], - imports: metadata.imports, - outfile - }) - }), - warnings: result.warnings - }) - - // dispose build context - await context.dispose() - } - - // print build done info, output analysis, and total size - if (write) { - /** - * Total build size (in bytes). - * - * @var {number} size - */ - let size: number = 0 - - // print build done info - consola.success(color.green(`Build succeeded for ${pkg.name}`)) - - // print build output analysis and update total build size - for (const { outdir, metafile } of results) { - const { analysis, bytes } = analyzeOutputs(outdir, metafile.outputs) - size += bytes - consola.log(analysis) - } - - // print total build size - consola.log('Σ Total build size:', color.cyan(pb(size))) - } - } - - // enable serve or watch mode - if (serve !== false || watch) { - const [task] = cast<[Task]>(tasks) - - // force clean output directory - task.clean = true - - // force writing output files - task.write = true - - // create build context - context = await internal.createContext(task, pkg, fs) - - // watch files - watch && (await context.watch()) - - // serve files - if (serve !== false) { - await context.serve({ ...cast<esbuild.ServeOptions>(serve) }) - } - - // dispose build context on process exit - exitHook(context.dispose.bind(context), { minimumWait: 5 }) - } - - return results -} - -export default make diff --git a/src/plugins/__snapshots__/clean.snap b/src/plugins/__snapshots__/clean.snap new file mode 100644 index 00000000..ca9e4d8a --- /dev/null +++ b/src/plugins/__snapshots__/clean.snap @@ -0,0 +1,12 @@ +// Vitest Snapshot v1, https://vitest.dev/guide/snapshot.html + +exports[`unit:plugins/clean > should return plugin 1`] = ` +{ + "name": "mkbuild:clean", + "renderStart": { + "handler": [Function renderStart], + "order": "pre", + "sequential": true, + }, +} +`; diff --git a/src/plugins/__snapshots__/dts.snap b/src/plugins/__snapshots__/dts.snap new file mode 100644 index 00000000..63b482b7 --- /dev/null +++ b/src/plugins/__snapshots__/dts.snap @@ -0,0 +1,9 @@ +// Vitest Snapshot v1, https://vitest.dev/guide/snapshot.html + +exports[`unit:plugins/dts > should return plugin 1`] = ` +{ + "generateBundle": [Function generateBundle], + "name": "mkbuild:dts", + "renderStart": [Function renderStart], +} +`; diff --git a/src/plugins/__snapshots__/esbuild.snap b/src/plugins/__snapshots__/esbuild.snap new file mode 100644 index 00000000..3f911302 --- /dev/null +++ b/src/plugins/__snapshots__/esbuild.snap @@ -0,0 +1,12 @@ +// Vitest Snapshot v1, https://vitest.dev/guide/snapshot.html + +exports[`unit:plugins/esbuild > should return plugin 1`] = ` +{ + "buildStart": [Function buildStart], + "generateBundle": [Function generateBundle], + "name": "mkbuild:esbuild", + "onLog": [Function onLog], + "renderChunk": [Function renderChunk], + "transform": [Function transform], +} +`; diff --git a/src/plugins/__snapshots__/metadata.snap b/src/plugins/__snapshots__/metadata.snap new file mode 100644 index 00000000..69c0bd51 --- /dev/null +++ b/src/plugins/__snapshots__/metadata.snap @@ -0,0 +1,8 @@ +// Vitest Snapshot v1, https://vitest.dev/guide/snapshot.html + +exports[`unit:plugins/metadata > should return plugin 1`] = ` +{ + "generateBundle": [Function generateBundle], + "name": "mkbuild:metadata", +} +`; diff --git a/src/plugins/__snapshots__/resolve.snap b/src/plugins/__snapshots__/resolve.snap new file mode 100644 index 00000000..ddf0ea3e --- /dev/null +++ b/src/plugins/__snapshots__/resolve.snap @@ -0,0 +1,10 @@ +// Vitest Snapshot v1, https://vitest.dev/guide/snapshot.html + +exports[`unit:plugins/resolve > should return plugin 1`] = ` +{ + "api": {}, + "buildStart": [Function buildStart], + "name": "mkbuild:resolve", + "resolveId": [Function resolveId], +} +`; diff --git a/src/plugins/__snapshots__/write.snap b/src/plugins/__snapshots__/write.snap new file mode 100644 index 00000000..07533dea --- /dev/null +++ b/src/plugins/__snapshots__/write.snap @@ -0,0 +1,11 @@ +// Vitest Snapshot v1, https://vitest.dev/guide/snapshot.html + +exports[`unit:plugins/write > should return plugin 1`] = ` +{ + "generateBundle": { + "handler": [Function generateBundle], + "order": "post", + }, + "name": "mkbuild:write", +} +`; diff --git a/src/plugins/__tests__/clean.integration.spec.mts b/src/plugins/__tests__/clean.integration.spec.mts new file mode 100644 index 00000000..8afa85ef --- /dev/null +++ b/src/plugins/__tests__/clean.integration.spec.mts @@ -0,0 +1,79 @@ +/** + * @file Integration Tests - clean + * @module mkbuild/plugins/tests/integration/clean + */ + +import testSubject from '#plugins/clean' +import createHasPlugin, { type HasPlugin } from '#tests/utils/create-has-plugin' +import runnableTask from '#utils/runnable-task' +import type { FileSystem, Task } from '@flex-development/mkbuild' +import pathe from '@flex-development/pathe' +import { isObjectPlain, noop } from '@flex-development/tutils' +import type { Mock } from 'vitest' + +describe('integration:plugins/clean', () => { + let cache: Set<string> + let hasPlugin: HasPlugin + let mkdir: Mock<FileSystem['mkdir']> + let rm: Mock<FileSystem['rm']> + let taskBase: Task + let writeFile: Mock<FileSystem['writeFile']> + + beforeAll(() => { + cache = testSubject.directories + hasPlugin = createHasPlugin(testSubject.PLUGIN_NAME) + mkdir = vi.fn(noop).mockName('mkdir') + rm = vi.fn(noop).mockName('rm') + writeFile = vi.fn(noop).mockName('writeFile') + + taskBase = { + input: '*', + root: '__fixtures__/pkg/browser-usage', + write: true + } + }) + + afterEach(() => { + cache.clear() + }) + + it('should clean new output directories', async () => { + // Arrange + const task: Task = { ...taskBase, outdir: 'dist/' } + + // Act + const result = await runnableTask(task, { mkdir, rm, writeFile }).run() + const path: string = pathe.join(result.root, result.outdir) + + // Expect + expect(result).to.have.property('failure').be.null + expect(result).to.have.property('task', task).satisfy(isObjectPlain) + expect(result).to.have.nested.property('task.plugins').satisfy(hasPlugin) + expect(cache).to.have.property('size', 2) + expect(cache.has(path)).to.be.true + expect(cache.has(result.root)).to.be.true + expect(mkdir).toHaveBeenCalledTimes(2) + expect(mkdir).toHaveBeenCalledAfter(rm, true) + expect(mkdir).toHaveBeenNthCalledWith(1, path, { recursive: true }) + expect(rm).toHaveBeenCalledOnce() + expect(rm).toHaveBeenCalledWith(path, { force: true, recursive: true }) + }) + + it('should not clean cached output directories', async () => { + // Arrange + const task: Task = { ...taskBase, outdir: '' } + + // Act + const result = await runnableTask(task, { mkdir, rm, writeFile }).run() + + // Expect + expect(result).to.have.property('failure').be.null + expect(result).to.have.property('task', task).satisfy(isObjectPlain) + expect(result).to.have.nested.property('task.plugins').satisfy(hasPlugin) + expect(cache).to.have.property('size', 1) + expect(cache.has(result.root)).to.be.true + expect(mkdir).toHaveBeenCalledOnce() + expect(mkdir).not.toHaveBeenCalledBefore(rm) + expect(rm).not.toHaveBeenCalled() + }) +}) diff --git a/src/plugins/__tests__/clean.spec.mts b/src/plugins/__tests__/clean.spec.mts new file mode 100644 index 00000000..1357313d --- /dev/null +++ b/src/plugins/__tests__/clean.spec.mts @@ -0,0 +1,17 @@ +/** + * @file Unit Tests - clean + * @module mkbuild/plugins/tests/unit/clean + */ + +import testSubject from '#plugins/clean' + +describe('unit:plugins/clean', () => { + it('should return plugin', () => { + // Arrange + const result = testSubject() + + // Expect + expect(result).to.have.property('name', testSubject.PLUGIN_NAME) + expect(result).toMatchSnapshot() + }) +}) diff --git a/src/plugins/__tests__/dts.integration.spec.mts b/src/plugins/__tests__/dts.integration.spec.mts new file mode 100644 index 00000000..01b8427c --- /dev/null +++ b/src/plugins/__tests__/dts.integration.spec.mts @@ -0,0 +1,138 @@ +/** + * @file Integration Tests - dts + * @module mkbuild/plugins/tests/integration/dts + */ + +import testSubject from '#plugins/dts' +import createHasPlugin, { type HasPlugin } from '#tests/utils/create-has-plugin' +import runnableTask from '#utils/runnable-task' +import type { FileSystem, Result, Task } from '@flex-development/mkbuild' +import { constant, isObjectPlain, type Fn } from '@flex-development/tutils' +import { ok } from 'devlop' + +describe('integration:plugins/dts', () => { + let hasPlugin: HasPlugin + + beforeAll(() => { + hasPlugin = createHasPlugin(testSubject.PLUGIN_NAME) + }) + + it.each<[ + Task, + FileSystem | null | undefined, + Fn<[Task, FileSystem | null | undefined], Fn<[Result], undefined>>? + ]>([ + [ + { + dts: 'only', + input: 'src/*.mts', + logLevel: 'silent', + root: '__fixtures__/pkg/reverse', + tsconfig: 'tsconfig.json' + }, + null, + function assertion( + this: void, + task: Task | null | undefined + ): Fn<[Result], undefined> { + ok(task, 'expected `task`') + ok(task.dts === 'only', 'expected `task.dts`') + + /** + * Expected `task.dts` value. + * + * @const {string} dts + */ + const dts: string = task.dts + + /** + * Regular expression matching expected output file extensions. + * + * @const {RegExp} ext + */ + const ext: RegExp = /\.d\.mts$/ + + return assert + + /** + * @this {void} + * + * @param {Result} result + * Build result + * @return {undefined} + */ + function assert(this: void, result: Result): undefined { + expect(result).to.have.property('messages').of.length(1) + expect(result).to.have.nested.property('task.dts', dts) + expect(result.outputs).to.have.property('length', 4) + expect(result.outputs).to.each.have.property('fileName').match(ext) + + return void result + } + } + ], + [ + { + dts: true, + input: 'src/*.ts', + root: '__fixtures__/pkg/tribonacci', + tsconfig: 'tsconfig.json' + }, + null, + function assertion( + this: void, + task: Task | null | undefined + ): Fn<[Result], undefined> { + ok(task, 'expected `task`') + ok(task.dts === true, 'expected `task.dts`') + + /** + * Expected `task.dts` value. + * + * @const {boolean} dts + */ + const dts: boolean = task.dts + + /** + * Regular expression matching expected output file extensions. + * + * @const {RegExp} ext + */ + const ext: RegExp = /\.(?:(?:d\.ts(?:\.map)?)|(?:mjs))$/ + + return assert + + /** + * @this {void} + * + * @param {Result} result + * Build result + * @return {undefined} + */ + function assert(this: void, result: Result): undefined { + expect(result).to.have.property('messages').of.length(0) + expect(result).to.have.nested.property('task.dts', dts) + expect(result.outputs).to.have.property('length', 3) + expect(result.outputs).to.each.have.property('fileName').match(ext) + + return void result + } + } + ] + ])('should generate declaration files (%#)', async ( + task, + fs, + assert = () => constant(undefined) + ) => { + // Act + const result = await runnableTask(task, fs).run() + + // Expect + expect(result).to.have.property('failure').be.null + expect(result).to.have.property('task', task).satisfy(isObjectPlain) + expect(result).to.have.nested.property('task.plugins').satisfy(hasPlugin) + + // Assert + assert(task, fs)(result) + }, 10000) +}) diff --git a/src/plugins/__tests__/dts.spec.mts b/src/plugins/__tests__/dts.spec.mts new file mode 100644 index 00000000..428b8c5c --- /dev/null +++ b/src/plugins/__tests__/dts.spec.mts @@ -0,0 +1,17 @@ +/** + * @file Unit Tests - dts + * @module mkbuild/plugins/tests/unit/dts + */ + +import testSubject from '#plugins/dts' + +describe('unit:plugins/dts', () => { + it('should return plugin', () => { + // Arrange + const result = testSubject({}) + + // Expect + expect(result).to.have.property('name', testSubject.PLUGIN_NAME) + expect(result).toMatchSnapshot() + }) +}) diff --git a/src/plugins/__tests__/esbuild.integration.spec.mts b/src/plugins/__tests__/esbuild.integration.spec.mts new file mode 100644 index 00000000..5b294baa --- /dev/null +++ b/src/plugins/__tests__/esbuild.integration.spec.mts @@ -0,0 +1,134 @@ +/** + * @file Integration Tests - esbuild + * @module mkbuild/plugins/tests/integration/esbuild + */ + +import testSubject from '#plugins/esbuild' +import createHasPlugin, { type HasPlugin } from '#tests/utils/create-has-plugin' +import runnableTask from '#utils/runnable-task' +import type { FileSystem, Result, Task } from '@flex-development/mkbuild' +import pathe from '@flex-development/pathe' +import { constant, isObjectPlain, type Fn } from '@flex-development/tutils' +import { ok } from 'devlop' +import { readFileSync } from 'node:fs' +import tsconfig from '../../../tsconfig.build.json' with { type: 'json' } + +describe('integration:plugins/esbuild', () => { + let hasPlugin: HasPlugin + + beforeAll(() => { + hasPlugin = createHasPlugin(testSubject.PLUGIN_NAME) + }) + + it.each<[ + Task, + (FileSystem | null | undefined)?, + Fn<[Task, FileSystem | null | undefined], Fn<[Result], undefined>>? + ]>([ + [ + { + esbuild: { tsconfigRaw: {} }, + input: ['*'], + root: '__fixtures__/pkg/browser-usage', + sourcemap: true + }, + null, + function assertion( + this: void, + task: Task | null | undefined + ): Fn<[Result], undefined> { + ok(task, 'expected `task`') + ok(typeof task.root === 'string', 'expected `task.root`') + + /** + * Module id of file containing source code. + * + * @const {string} id + */ + const id: string = pathe.resolve(task.root, 'browser-usage.json') + + /** + * Source code. + * + * @const {string} code + */ + const code: string = readFileSync(id, 'utf8') + + return assert + + /** + * @this {void} + * + * @param {Result} result + * Build result + * @return {undefined} + */ + function assert(this: void, result: Result): undefined { + expect(result).to.have.property('messages').of.length(0) + expect(result).to.have.property('outputs').of.length(1) + expect(result.outputs).to.each.have.property('code', code) + expect(result.outputs).to.each.have.property('type', 'chunk') + + return void result + } + } + ], + [ + { + dts: false, + esbuild: { + logOverride: { + 'unsupported-dynamic-import': 'warning' + }, + target: ['node18', tsconfig.compilerOptions.target] + }, + input: [ + '!src/internal/*.d.mts', + 'src/*.mts', + 'src/internal/*.mts', + 'src/plugins/*.mts', + 'src/utils/*.mts' + ], + logLevel: 'silent', + resolve: { + conditions: tsconfig.compilerOptions.customConditions + } + }, + null, + function assertion(): Fn<[Result], undefined> { + return assert + + /** + * @this {void} + * + * @param {Result} result + * Build result + * @return {undefined} + */ + function assert(this: void, result: Result): undefined { + expect(result).to.have.property('messages').of.length(1) + expect(result).to.have.nested.property('outputs.length').gt(0) + expect(result.outputs).to.each.have.property('code').be.a('string') + expect(result.outputs).to.each.have.property('type', 'chunk') + + return void result + } + } + ] + ])('should transform files with esbuild (%#)', async ( + task, + fs, + assert = () => constant(undefined) + ) => { + // Act + const result = await runnableTask(task, fs).run() + + // Expect + expect(result).to.have.property('failure').be.null + expect(result).to.have.property('task', task).satisfy(isObjectPlain) + expect(result).to.have.nested.property('task.plugins').satisfy(hasPlugin) + + // Assert + assert(task, fs)(result) + }) +}) diff --git a/src/plugins/__tests__/esbuild.spec.mts b/src/plugins/__tests__/esbuild.spec.mts new file mode 100644 index 00000000..075cb9cb --- /dev/null +++ b/src/plugins/__tests__/esbuild.spec.mts @@ -0,0 +1,17 @@ +/** + * @file Unit Tests - esbuild + * @module mkbuild/plugins/tests/unit/esbuild + */ + +import testSubject from '#plugins/esbuild' + +describe('unit:plugins/esbuild', () => { + it('should return plugin', () => { + // Arrange + const result = testSubject({ format: 'esm' }) + + // Expect + expect(result).to.have.property('name', testSubject.PLUGIN_NAME) + expect(result).toMatchSnapshot() + }) +}) diff --git a/src/plugins/__tests__/metadata.integration.spec.mts b/src/plugins/__tests__/metadata.integration.spec.mts new file mode 100644 index 00000000..32a825a4 --- /dev/null +++ b/src/plugins/__tests__/metadata.integration.spec.mts @@ -0,0 +1,45 @@ +/** + * @file Integration Tests - metadata + * @module mkbuild/plugins/tests/integration/metadata + */ + +import testSubject from '#plugins/metadata' +import createHasPlugin, { type HasPlugin } from '#tests/utils/create-has-plugin' +import runnableTask from '#utils/runnable-task' +import { isObjectPlain } from '@flex-development/tutils' + +describe('integration:plugins/metadata', () => { + let hasPlugin: HasPlugin + + beforeAll(() => { + hasPlugin = createHasPlugin(testSubject.PLUGIN_NAME) + }) + + it.each<Parameters<typeof runnableTask>>([ + [ + { + esbuild: { loader: { '.jsonc': 'copy' } }, + input: ['*'], + root: '__fixtures__/pkg/apple-stock' + } + ], + [ + { + input: ['src/*.mts'], + root: '__fixtures__/pkg/reverse', + sourcemap: true + } + ] + ])('should add build metadata to outputs (%#)', async (task, fs) => { + // Act + const result = await runnableTask(task, fs).run() + + // Expect + expect(result).to.have.property('failure').be.null + expect(result).to.have.property('outputs').be.an('array').that.is.not.empty + expect(result).to.have.property('task', task).satisfy(isObjectPlain) + expect(result).to.have.nested.property('task.plugins').satisfy(hasPlugin) + expect(result.outputs).each.have.property('bytes').be.a('number') + expect(result.outputs).each.have.property('type').oneOf(['asset', 'chunk']) + }) +}) diff --git a/src/plugins/__tests__/metadata.spec.mts b/src/plugins/__tests__/metadata.spec.mts new file mode 100644 index 00000000..20cd4aa8 --- /dev/null +++ b/src/plugins/__tests__/metadata.spec.mts @@ -0,0 +1,17 @@ +/** + * @file Unit Tests - metadata + * @module mkbuild/plugins/tests/unit/metadata + */ + +import testSubject from '#plugins/metadata' + +describe('unit:plugins/metadata', () => { + it('should return plugin', () => { + // Arrange + const result = testSubject() + + // Expect + expect(result).to.have.property('name', testSubject.PLUGIN_NAME) + expect(result).toMatchSnapshot() + }) +}) diff --git a/src/plugins/__tests__/resolve.spec.mts b/src/plugins/__tests__/resolve.spec.mts new file mode 100644 index 00000000..71ccccfc --- /dev/null +++ b/src/plugins/__tests__/resolve.spec.mts @@ -0,0 +1,17 @@ +/** + * @file Unit Tests - resolve + * @module mkbuild/plugins/tests/unit/resolve + */ + +import testSubject from '#plugins/resolve' + +describe('unit:plugins/resolve', () => { + it('should return plugin', () => { + // Arrange + const result = testSubject() + + // Expect + expect(result).to.have.property('name', testSubject.PLUGIN_NAME) + expect(result).toMatchSnapshot() + }) +}) diff --git a/src/plugins/__tests__/write.integration.spec.mts b/src/plugins/__tests__/write.integration.spec.mts new file mode 100644 index 00000000..7d247e50 --- /dev/null +++ b/src/plugins/__tests__/write.integration.spec.mts @@ -0,0 +1,82 @@ +/** + * @file Integration Tests - write + * @module mkbuild/plugins/tests/integration/write + */ + +import testSubject from '#plugins/write' +import createHasPlugin, { type HasPlugin } from '#tests/utils/create-has-plugin' +import runnableTask from '#utils/runnable-task' +import type { FileSystem, Result, Task } from '@flex-development/mkbuild' +import pathe from '@flex-development/pathe' +import { isObjectPlain, noop } from '@flex-development/tutils' +import type { Mock } from 'vitest' + +describe('integration:plugins/write', () => { + let hasPlugin: HasPlugin + let mkdir: Mock<FileSystem['mkdir']> + let writeFile: Mock<FileSystem['writeFile']> + + beforeAll(() => { + hasPlugin = createHasPlugin(testSubject.PLUGIN_NAME) + mkdir = vi.fn(noop).mockName('mkdir') + writeFile = vi.fn(noop).mockName('writeFile') + }) + + it('should write output files', async () => { + // Arrange + const task: Task = { + clean: false, + input: 'src/*.ts', + root: '__fixtures__/pkg/tribonacci', + sourcemap: true, + write: true + } + + // Act + const result = await runnableTask(task, { mkdir, writeFile }).run() + + // Expect + expect(result).to.have.property('failure').be.null + expect(result).to.have.nested.property('outputs.length').gt(0) + expect(result).to.have.property('task', task).satisfy(isObjectPlain) + expect(result).to.have.nested.property('task.plugins').satisfy(hasPlugin) + expect(result.outputs).satisfy((outputs: Result['outputs']): boolean => { + expect(mkdir).toHaveBeenCalledTimes(outputs.length) + expect(writeFile).toHaveBeenCalledTimes(outputs.length) + + for (const output of outputs) { + /** + * Path to output file. + * + * @const {string} path + */ + const path: string = pathe.join( + result.root, + result.outdir, + output.fileName + ) + + /** + * Path to output file directory. + * + * @const {string} path + */ + const dirname: string = pathe.dirname(path) + + /** + * Output file contents. + * + * @const {string} contents + */ + const contents: string = 'code' in output + ? output.code + : String(output.source) + + expect(mkdir).toHaveBeenCalledWith(dirname, { recursive: true }) + expect(writeFile).toHaveBeenCalledWith(path, contents) + } + + return true + }) + }) +}) diff --git a/src/plugins/__tests__/write.spec.mts b/src/plugins/__tests__/write.spec.mts new file mode 100644 index 00000000..558912fd --- /dev/null +++ b/src/plugins/__tests__/write.spec.mts @@ -0,0 +1,17 @@ +/** + * @file Unit Tests - write + * @module mkbuild/plugins/tests/unit/write + */ + +import testSubject from '#plugins/write' + +describe('unit:plugins/write', () => { + it('should return plugin', () => { + // Arrange + const result = testSubject() + + // Expect + expect(result).to.have.property('name', testSubject.PLUGIN_NAME) + expect(result).toMatchSnapshot() + }) +}) diff --git a/src/plugins/clean.mts b/src/plugins/clean.mts new file mode 100644 index 00000000..a26d097a --- /dev/null +++ b/src/plugins/clean.mts @@ -0,0 +1,102 @@ +/** + * @file Plugins - clean + * @module mkbuild/plugins/clean + */ + +import pathe from '@flex-development/pathe' +import { ok } from 'devlop' +import type { + NormalizedOutputOptions, + Plugin, + PluginContext +} from 'rollup' + +/** + * Plugin name. + * + * @internal + * + * @const {string} PLUGIN_NAME + */ +const PLUGIN_NAME: string = 'mkbuild:clean' + +/** + * Cleaned directory cache. + * + * @internal + * + * @const {Set<string>} directories + */ +const directories: Set<string> = new Set<string>() + +plugin.PLUGIN_NAME = PLUGIN_NAME +plugin.directories = directories + +export default plugin + +/** + * Create an output directory cleaner plugin. + * + * @internal + * + * @see {@linkcode Plugin} + * + * @this {void} + * + * @return {Plugin} + * Output directory cleaner plugin + */ +function plugin(this: void): Plugin { + return { + name: PLUGIN_NAME, + renderStart: { handler: renderStart, order: 'pre', sequential: true } + } + + /** + * Remove and recreate an output directory. + * + * @see https://rollupjs.org/plugin-development/#renderstart + * + * @async + * + * @this {PluginContext} + * + * @param {NormalizedOutputOptions} output + * Normalized output options + * @return {Promise<undefined>} + */ + async function renderStart( + this: PluginContext, + output: NormalizedOutputOptions + ): Promise<undefined> { + ok(typeof output.clean === 'boolean', 'expected `output.clean`') + ok(typeof output.fs === 'object', 'expected `output.fs`') + ok(typeof output.root === 'string', 'expected `output.root`') + ok(typeof output.write === 'boolean', 'expected `output.write`') + + if ( + output.clean && + output.root && + output.write && + typeof output.dir === 'string' + ) { + directories.add(output.root) + + /** + * Absolute path to output directory. + * + * @const {string} path + */ + const path: string = pathe.join(output.root, output.dir) + + if (!directories.has(path)) { + await output.fs.rm(path, { force: true, recursive: true }) + await output.fs.mkdir(path, { recursive: true }) + } + + directories.add(path) + } + + return void this + } +} diff --git a/src/plugins/clean/__mocks__/plugin.ts b/src/plugins/clean/__mocks__/plugin.ts deleted file mode 100644 index 577fcb00..00000000 --- a/src/plugins/clean/__mocks__/plugin.ts +++ /dev/null @@ -1,10 +0,0 @@ -/** - * @file Mock Plugins - clean - * @module mkbuild/plugins/clean/mocks/plugin - */ - -import type { Plugin } from 'esbuild' - -export default vi - .fn((): Plugin => ({ name: 'clean', setup: vi.fn() })) - .mockName('clean') diff --git a/src/plugins/clean/__tests__/cache.spec-d.ts b/src/plugins/clean/__tests__/cache.spec-d.ts deleted file mode 100644 index 54072ad4..00000000 --- a/src/plugins/clean/__tests__/cache.spec-d.ts +++ /dev/null @@ -1,12 +0,0 @@ -/** - * @file Type Tests - CLEAN_CACHE - * @module mkbuild/plugins/tests/unit-d/clean/CLEAN_CACHE - */ - -import type TestSubject from '../cache' - -describe('unit-d:plugins/clean/CLEAN_CACHE', () => { - it('should be instance Map<string, true>', () => { - expectTypeOf<typeof TestSubject>().toEqualTypeOf<Map<string, true>>() - }) -}) diff --git a/src/plugins/clean/__tests__/options.spec-d.ts b/src/plugins/clean/__tests__/options.spec-d.ts deleted file mode 100644 index b76e27b9..00000000 --- a/src/plugins/clean/__tests__/options.spec-d.ts +++ /dev/null @@ -1,28 +0,0 @@ -/** - * @file Type Tests - CleanPluginOptions - * @module mkbuild/plugins/tests/unit-d/clean/CleanPluginOptions - */ - -import type { FileSystemAdapter } from '#src/types' -import type { Optional } from '@flex-development/tutils' -import type TestSubject from '../options' - -describe('unit-d:plugins/clean/CleanPluginOptions', () => { - it('should match [mkdir?: FileSystemAdapter["mkdir"]]', () => { - expectTypeOf<TestSubject>() - .toHaveProperty('mkdir') - .toEqualTypeOf<Optional<FileSystemAdapter['mkdir']>>() - }) - - it('should match [rm?: FileSystemAdapter["rm"]]', () => { - expectTypeOf<TestSubject>() - .toHaveProperty('rm') - .toEqualTypeOf<Optional<FileSystemAdapter['rm']>>() - }) - - it('should match [unlink?: FileSystemAdapter["unlink"]]', () => { - expectTypeOf<TestSubject>() - .toHaveProperty('unlink') - .toEqualTypeOf<Optional<FileSystemAdapter['unlink']>>() - }) -}) diff --git a/src/plugins/clean/__tests__/plugin.integration.spec.ts b/src/plugins/clean/__tests__/plugin.integration.spec.ts deleted file mode 100644 index baf179fe..00000000 --- a/src/plugins/clean/__tests__/plugin.integration.spec.ts +++ /dev/null @@ -1,43 +0,0 @@ -/** - * @file Integration Tests - clean plugin - * @module mkbuild/plugins/tests/integration/clean - */ - -import ESBUILD_OPTIONS from '#fixtures/options-esbuild' -import fsa from '#src/utils/fs' -import pathe from '@flex-development/pathe' -import * as esbuild from 'esbuild' -import testSubject from '../plugin' - -vi.mock('#src/utils/fs') - -describe('integration:plugins/clean', () => { - describe('esbuild', () => { - it('should clean outdir', async () => { - // Arrange - const absWorkingDir: string = pathe.resolve('__fixtures__/pkg/dbl-linear') - const outdir: string = 'dist' - const path: string = pathe.resolve(absWorkingDir, outdir) - - // Act - await esbuild.build({ - ...ESBUILD_OPTIONS, - absWorkingDir, - entryPoints: ['dbl-linear.ts'], - format: 'esm', - loader: { '.mts': 'ts' }, - logLevel: 'silent', - outExtension: { '.js': '.mjs' }, - plugins: [testSubject(fsa)] - }) - - // Expect - expect(fsa.unlink).toHaveBeenCalledOnce() - expect(fsa.unlink).toHaveBeenCalledWith(path) - expect(fsa.rm).toHaveBeenCalledOnce() - expect(fsa.rm).toHaveBeenCalledWith(path, { recursive: true }) - expect(fsa.mkdir).toHaveBeenCalledOnce() - expect(fsa.mkdir).toHaveBeenCalledWith(path, { recursive: true }) - }) - }) -}) diff --git a/src/plugins/clean/cache.ts b/src/plugins/clean/cache.ts deleted file mode 100644 index 9bc2aad3..00000000 --- a/src/plugins/clean/cache.ts +++ /dev/null @@ -1,15 +0,0 @@ -/** - * @file Plugins - CLEAN_CACHE - * @module mkbuild/plugins/clean/cache - */ - -/** - * Cleaned directory cache. - * - * @internal - * - * @const {Map<string, true>} CLEAN_CACHE - */ -const CLEAN_CACHE: Map<string, true> = new Map<string, true>() - -export default CLEAN_CACHE diff --git a/src/plugins/clean/options.ts b/src/plugins/clean/options.ts deleted file mode 100644 index 8bc0d3a7..00000000 --- a/src/plugins/clean/options.ts +++ /dev/null @@ -1,36 +0,0 @@ -/** - * @file Plugin Options - clean - * @module mkbuild/plugins/clean/options - */ - -import type { FileSystemAdapter } from '#src/types' - -/** - * Output directory cleaning options. - */ -interface CleanPluginOptions { - /** - * Creates a directory. - * - * If the directory structure does not exist, it will be created. - * - * @default fsa.mkdir - */ - mkdir?: FileSystemAdapter['mkdir'] - - /** - * Removes a directory or file. - * - * @default fsa.rm - */ - rm?: FileSystemAdapter['rm'] - - /** - * Unlinks a directory or file. - * - * @default fsa.unlink - */ - unlink?: FileSystemAdapter['unlink'] -} - -export type { CleanPluginOptions as default } diff --git a/src/plugins/clean/plugin.ts b/src/plugins/clean/plugin.ts deleted file mode 100644 index 9e5385f4..00000000 --- a/src/plugins/clean/plugin.ts +++ /dev/null @@ -1,69 +0,0 @@ -/** - * @file Plugins - clean - * @module mkbuild/plugins/clean/plugin - */ - -import fsa from '#src/utils/fs' -import pathe from '@flex-development/pathe' -import type { BuildOptions, Plugin, PluginBuild } from 'esbuild' -import CLEAN_CACHE from './cache' -import type Options from './options' - -/** - * Returns an output directory cleaner plugin. - * - * @param {Options} [options] - Plugin options - * @return {Plugin} Output directory cleaner plugin - */ -const plugin = ({ - mkdir = fsa.mkdir, - rm = fsa.rm, - unlink = fsa.unlink -}: Options = {}): Plugin => { - /** - * Cleans an output directory. - * - * Cleaning will skipped under either of the following conditions: - * - * - `initialOptions.outdir` resolves to `initialOptions.absWorkingDir` - * - a cache hit is found in {@linkcode CLEAN_CACHE} - * - * [1]: https://esbuild.github.io/plugins - * [2]: https://esbuild.github.io/api/#build-api - * - * @async - * - * @param {PluginBuild} build - [esbuild plugin api][1] - * @param {BuildOptions} build.initialOptions - [esbuild build api][2] options - * @return {Promise<void>} Nothing when complete - */ - const setup = async ({ initialOptions }: PluginBuild): Promise<void> => { - const { absWorkingDir = process.cwd(), outdir = 'dist' } = initialOptions - - /** - * Absolute path to output directory. - * - * @const {string} path - */ - const path: string = pathe.resolve(absWorkingDir, outdir).replace(/\/$/, '') - - // clean output directory if outdir does not resolve to absWorkingDir and - // cache hit was not found for path - if (absWorkingDir.replace(/\/$/, '') !== path && !CLEAN_CACHE.get(path)) { - // unlink output directory - await unlink(path).catch(() => ({})) - - // try removing output directory - await rm(path, { recursive: true }).catch(() => ({})) - - // recreate output directory - await mkdir(path, { recursive: true }) - } - - return void CLEAN_CACHE.set(path, true) - } - - return { name: 'clean', setup } -} - -export { plugin as default, type Options } diff --git a/src/plugins/create-require/__snapshots__/plugin.integration.snap b/src/plugins/create-require/__snapshots__/plugin.integration.snap deleted file mode 100644 index e74068e3..00000000 --- a/src/plugins/create-require/__snapshots__/plugin.integration.snap +++ /dev/null @@ -1,49 +0,0 @@ -// Vitest Snapshot v1, https://vitest.dev/guide/snapshot.html - -exports[`integration:plugins/create-require > esbuild > should insert require definition 1`] = ` -"/** - * @file Virtual File System - * @module vfs - * @see https://github.com/streamich/memfs - */ -import { createRequire as __createRequire } from \\"node:module\\"; -const require = __createRequire(import.meta.url); -var __create = Object.create; -var __defProp = Object.defineProperty; -var __getOwnPropDesc = Object.getOwnPropertyDescriptor; -var __getOwnPropNames = Object.getOwnPropertyNames; -var __getProtoOf = Object.getPrototypeOf; -var __hasOwnProp = Object.prototype.hasOwnProperty; -var __require = /* @__PURE__ */ ((x) => typeof require !== \\"undefined\\" ? require : typeof Proxy !== \\"undefined\\" ? new Proxy(x, { - get: (a, b) => (typeof require !== \\"undefined\\" ? require : a)[b] -}) : x)(function(x) { - if (typeof require !== \\"undefined\\") - return require.apply(this, arguments); - throw Error('Dynamic require of \\"' + x + '\\" is not supported'); -}); -" -`; - -exports[`integration:plugins/create-require > esbuild > should insert require definition into minified output 1`] = `"import{createRequire as __createRequire}from\\"node:module\\";const require=__createRequire(import.meta.url);var __create=Object.create;var __defProp=Object.defineProperty;var __getOwnPropDesc=Object.getOwnPropertyDescriptor;var __getOwnPropNames=Object.getOwnPropertyNames;var __getProtoOf=Object.getPrototypeOf;var __hasOwnProp=Object.prototype.hasOwnProperty;var __require=(x=>typeof require!==\\"undefined\\"?require:typeof Proxy!==\\"undefined\\"?new Proxy(x,{get:(a,b)=>(typeof require!==\\"undefined\\"?require:a)[b]}):x)(function(x){if(typeof require!==\\"undefined\\")return require.apply(this,arguments);throw Error('Dynamic require of \\"'+x+'\\" is not supported')});"`; - -exports[`integration:plugins/create-require > esbuild > should skip output files without __require shim 1`] = ` -"// src/max-value.ts -var max_value_default = 2 ** 31 - 1; - -// src/min-value.ts -var min_value_default = (-2) ** 31; - -// src/reverse.mts -function reverse(x) { - if (x >= -9 && x <= 9) - return x; - const s = x.toString(); - const r = Number.parseInt([...s, x < 0 ? \\"-\\" : \\"\\"].reverse().join(\\"\\")); - return r < min_value_default || r > max_value_default ? 0 : r; -} -var reverse_default = reverse; -export { - reverse_default as default -}; -" -`; diff --git a/src/plugins/create-require/__tests__/plugin.integration.spec.ts b/src/plugins/create-require/__tests__/plugin.integration.spec.ts deleted file mode 100644 index 0dbc1515..00000000 --- a/src/plugins/create-require/__tests__/plugin.integration.spec.ts +++ /dev/null @@ -1,85 +0,0 @@ -/** - * @file Integration Tests - create-require plugin - * @module mkbuild/plugins/tests/integration/create-require - */ - -import ESBUILD_OPTIONS from '#fixtures/options-esbuild' -import pathe from '@flex-development/pathe' -import esbuild from 'esbuild' -import dedent from 'ts-dedent' -import testSubject from '../plugin' - -describe('integration:plugins/create-require', () => { - let options: esbuild.BuildOptions & { metafile: true; write: false } - let subject: esbuild.Plugin - - beforeEach(() => { - subject = testSubject() - options = { - ...ESBUILD_OPTIONS, - bundle: true, - format: 'esm', - outbase: '__fixtures__', - platform: 'node', - plugins: [subject] - } - }) - - describe('esbuild', () => { - it('should insert require definition', async () => { - // Act - const { errors, outputFiles, warnings } = await esbuild.build({ - ...options, - banner: { - js: dedent` - /** - * @file Virtual File System - * @module vfs - * @see https://github.com/streamich/memfs - */ - ` - }, - entryPoints: ['__fixtures__/volume.ts'], - loader: { '.ts': 'ts' } - }) - - // Expect - expect(errors).to.be.an('array').that.is.empty - expect(warnings).to.be.an('array').that.is.empty - expect(outputFiles).to.be.an('array').of.length(1) - expect(outputFiles[0]!.text.split('var __commonJS')[0]).toMatchSnapshot() - }) - - it('should insert require definition into minified output', async () => { - // Act - const { errors, outputFiles, warnings } = await esbuild.build({ - ...options, - entryPoints: ['__fixtures__/volume.ts'], - loader: { '.ts': 'ts' }, - minifyWhitespace: true - }) - - // Expect - expect(errors).to.be.an('array').that.is.empty - expect(warnings).to.be.an('array').that.is.empty - expect(outputFiles).to.be.an('array').of.length(1) - expect(outputFiles[0]!.text.split('var __commonJS')[0]).toMatchSnapshot() - }) - - it('should skip output files without __require shim', async () => { - // Act - const { errors, outputFiles, warnings } = await esbuild.build({ - ...options, - absWorkingDir: pathe.resolve('__fixtures__/pkg/reverse'), - entryPoints: ['src/reverse.mts'], - loader: { '.mts': 'ts' } - }) - - // Expect - expect(errors).to.be.an('array').that.is.empty - expect(warnings).to.be.an('array').that.is.empty - expect(outputFiles).to.be.an('array').of.length(1) - expect(outputFiles[0]!.text).toMatchSnapshot() - }) - }) -}) diff --git a/src/plugins/create-require/__tests__/plugin.spec.ts b/src/plugins/create-require/__tests__/plugin.spec.ts deleted file mode 100644 index d8582e6b..00000000 --- a/src/plugins/create-require/__tests__/plugin.spec.ts +++ /dev/null @@ -1,83 +0,0 @@ -/** - * @file Unit Tests - create-require plugin - * @module mkbuild/plugins/tests/unit/create-require - */ - -import createPluginAPI from '#tests/utils/create-plugin-api' -import { cast } from '@flex-development/tutils' -import * as esbuild from 'esbuild' -import testSubject from '../plugin' - -vi.mock('esbuild') - -describe('unit:plugins/create-require', () => { - let subject: esbuild.Plugin - - beforeEach(() => { - subject = testSubject() - }) - - it('should do nothing if bundling is not enabled', async () => { - // Arrange - const api: esbuild.PluginBuild = createPluginAPI({ - initialOptions: { bundle: false } - }) - - // Act - await subject.setup(api) - - // Expect - expect(esbuild.transform).toHaveBeenCalledTimes(0) - expect(api.onEnd).toHaveBeenCalledTimes(0) - }) - - it('should do nothing if not creating esm bundle', async () => { - // Arrange - const api: esbuild.PluginBuild = createPluginAPI({ - initialOptions: { bundle: true, format: 'cjs' } - }) - - // Act - await subject.setup(api) - - // Expect - expect(esbuild.transform).toHaveBeenCalledTimes(0) - expect(api.onEnd).toHaveBeenCalledTimes(0) - }) - - it('should throw if esbuild is writing output files', async () => { - // Arrange - let error!: Error - - // Act - try { - await subject.setup( - createPluginAPI({ - initialOptions: { bundle: true, format: 'esm', write: true } - }) - ) - } catch (e: unknown) { - error = cast(e) - } - - // Expect - expect(error).to.have.property('message', 'write must be disabled') - }) - - it('should throw if metafile is disabled', async () => { - // Arrange - let error!: Error - - // Act - try { - await subject.setup( - createPluginAPI({ initialOptions: { bundle: true, format: 'esm' } }) - ) - } catch (e: unknown) { - error = cast(e) - } - - // Expect - expect(error).to.have.property('message', 'metafile required') - }) -}) diff --git a/src/plugins/create-require/plugin.ts b/src/plugins/create-require/plugin.ts deleted file mode 100644 index 817fa9b3..00000000 --- a/src/plugins/create-require/plugin.ts +++ /dev/null @@ -1,182 +0,0 @@ -/** - * @file Plugins - create-require - * @module mkbuild/plugins/create-require/plugin - */ - -import { constant, define, join, regexp } from '@flex-development/tutils' -import { - transform, - type BuildOptions, - type BuildResult, - type OutputFile, - type Plugin, - type PluginBuild -} from 'esbuild' -import util from 'node:util' - -/** - * Plugin-specific build options. - * - * @internal - */ -type SpecificOptions = { metafile: true; write: false } - -/** - * Returns a plugin that defines the `require` function in ESM bundles. - * - * When outputting ESM, any `require` calls will be replaced with esbuild's - * `__require` shim, since [`require` is not defined in ESM environments][1]. - * - * The shim first checks if `require` is polyfilled. If it is, the shim passes - * the call to `require.apply`. If `require` isn't defined, an error will be - * thrown: `Dynamic require of "' + x + '" is not supported`. - * - * This is particularly problematic when bundling, especially when targeting - * node ([`platform === 'node'`][2]), since [built-in modules][3] are marked - * as [`external`][4] by esbuild automatically. `require`ing these modules, as - * well as other externals, will generate a runtime error. This is described - * in [`evanw/esbuild#1921`][5]. - * - * To circumvent this issue, output files containing the shim will have a - * snippet insert that defines `require` using [`module.createRequire`][6]. - * - * [1]: https://nodejs.org/api/esm.html#no-require-exports-or-moduleexports - * [2]: https://esbuild.github.io/api/#platform - * [3]: https://nodejs.org/api/esm.html#builtin-modules - * [4]: https://esbuild.github.io/api/#external - * [5]: https://github.com/evanw/esbuild/issues/1921 - * [6]: https://nodejs.org/api/module.html#modulecreaterequirefilename - * - * @return {Plugin} `create-require` plugin - */ -const plugin = (): Plugin => { - /** - * Inserts a `require` function definition into ESM bundles. - * - * [1]: https://esbuild.github.io/plugins - * [2]: https://esbuild.github.io/api/#build-api - * - * @param {PluginBuild} build - [esbuild plugin api][1] - * @param {BuildOptions} build.initialOptions - [esbuild build api][2] options - * @param {PluginBuild['onEnd']} build.onEnd - Build end callback - * @return {Promise<void>} Nothing when complete - */ - const setup = async ({ - initialOptions, - onEnd - }: PluginBuild): Promise<void> => { - const { - absWorkingDir = process.cwd(), - banner: { js: banner = '' } = {}, - bundle, - format = 'esm', - metafile, - minify = false, - minifySyntax, - minifyWhitespace, - platform = 'node', - target = [], - write - } = initialOptions - - // do nothing if bundling is not enabled - if (!bundle) return void bundle - - // do nothing if not creating esm bundle - if (format !== 'esm') return void format - - // esbuild write must be disabled to access result.outputFiles - if (write) throw new Error('write must be disabled') - - // metafile required to get output metadata - if (!metafile) throw new Error('metafile required') - - /** - * Code snippet that defines `require` using [`module.createRequire`][1]. - * - * [1]: https://nodejs.org/api/module.html#modulecreaterequirefilename - * - * @const {string} snippet - */ - const snippet: string = join( - [ - 'import { createRequire as __createRequire } from \'node:module\'', - 'const require = __createRequire(import.meta.url)' - ], - '\n' - ) - - // transform snippet to re-add banner and minify - let { code } = await transform(snippet, { - banner, - minifySyntax: minifySyntax ?? minify, - minifyWhitespace: minifyWhitespace ?? minify, - platform, - target - }) - - // remove new line from end of code snippet if output should be minified - if (minify || minifyWhitespace) code = code.replace(/\n$/, '') - - return void onEnd((result: BuildResult<SpecificOptions>): void => { - /** - * Regex used to deduce if an output file includes the `__require` shim. - * - * @const {RegExp} filter - */ - const filter: RegExp = /Dynamic require of ".*" is not supported/m - - // insert require function definitions - result.outputFiles = result.outputFiles.map((output: OutputFile) => { - // do nothing if output file does not contain shim - if (!filter.test(output.text)) return output - - // get hashbang - const [hashbang = ''] = /^#!.+\n/.exec(output.text) ?? [] - - /** - * {@linkcode output.text} copy. - * - * @var {string} text - */ - let text: string = output.text.replace(hashbang, '') - - // remove banner - if (banner) text = text.replace(new RegExp(regexp(banner) + '\n?'), '') - - // redefine output text to insert require function definition - define(output, 'text', { get: constant(hashbang + code + text) }) - - // reset output file contents - output.contents = new util.TextEncoder().encode(output.text) - - /** - * Relative path to output file. - * - * **Note**: Relative to {@linkcode absWorkingDir}. - * - * @const {string} outfile - */ - const outfile: string = output.path - .replace(absWorkingDir, '') - .replace(/^\//, '') - - /** - * Output contents size including `require` function definition. - * - * @const {number} bytes - */ - const bytes: number = Buffer.byteLength(output.contents) - - // reset output file size - result.metafile.outputs[outfile]!.bytes = bytes - - return output - }) - }) - } - - return { name: 'create-require', setup } -} - -export { plugin as default } diff --git a/src/plugins/decorators/__snapshots__/plugin.integration.snap b/src/plugins/decorators/__snapshots__/plugin.integration.snap deleted file mode 100644 index 7233aee4..00000000 --- a/src/plugins/decorators/__snapshots__/plugin.integration.snap +++ /dev/null @@ -1,140 +0,0 @@ -// Vitest Snapshot v1, https://vitest.dev/guide/snapshot.html - -exports[`integration:plugins/decorators > esbuild > should skip modules that are not typescript 1`] = ` -"[ - { - \\"date\\": \\"2007-04-24T07:00:00.000Z\\", - \\"close\\": 93.24 - }, - { - \\"date\\": \\"2007-04-25T07:00:00.000Z\\", - \\"close\\": 95.35 - }, - { - \\"date\\": \\"2007-06-08T07:00:00.000Z\\", - \\"close\\": 124.49 - }, - { - \\"date\\": \\"2007-06-11T07:00:00.000Z\\", - \\"close\\": 120.19 - }, - { - \\"date\\": \\"2007-06-12T07:00:00.000Z\\", - \\"close\\": 120.38 - } -] -" -`; - -exports[`integration:plugins/decorators > esbuild > should skip typescript declaration modules 1`] = ` -"declare global { - var faker: (typeof import('@faker-js/faker'))['faker'] -} - -export {} -" -`; - -exports[`integration:plugins/decorators > esbuild > should skip typescript modules not using decorators 1`] = ` -"const tribonacci = ([a, b, c], n) => { - if (n <= 0) - return []; - const sum = a + b + c; - return [a, ...tribonacci([b, c, sum], n - 1)]; -}; -var tribonacci_default = tribonacci; -export { - tribonacci_default as default -}; -" -`; - -exports[`integration:plugins/decorators > esbuild > should transpile typescript modules using decorators 1`] = ` -"var __decorate = function(decorators, target, key, desc) { - var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; - if (typeof Reflect === \\"object\\" && typeof Reflect.decorate === \\"function\\") - r = Reflect.decorate(decorators, target, key, desc); - else - for (var i = decorators.length - 1; i >= 0; i--) - if (d = decorators[i]) - r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; - return c > 3 && r && Object.defineProperty(target, key, r), r; -}; -var __metadata = function(k, v) { - if (typeof Reflect === \\"object\\" && typeof Reflect.metadata === \\"function\\") - return Reflect.metadata(k, v); -}; -var _a; -import { IsDate, IsEmail, IsFQDN, IsInt, IsString, Length, Max, Min } from \\"class-validator\\"; -class Post { - constructor() { - Object.defineProperty(this, \\"created_at\\", { - enumerable: true, - configurable: true, - writable: true, - value: void 0 - }); - Object.defineProperty(this, \\"email\\", { - enumerable: true, - configurable: true, - writable: true, - value: void 0 - }); - Object.defineProperty(this, \\"rating\\", { - enumerable: true, - configurable: true, - writable: true, - value: void 0 - }); - Object.defineProperty(this, \\"site\\", { - enumerable: true, - configurable: true, - writable: true, - value: void 0 - }); - Object.defineProperty(this, \\"text\\", { - enumerable: true, - configurable: true, - writable: true, - value: void 0 - }); - Object.defineProperty(this, \\"title\\", { - enumerable: true, - configurable: true, - writable: true, - value: void 0 - }); - } -} -__decorate([ - IsDate(), - __metadata(\\"design:type\\", typeof (_a = typeof Date !== \\"undefined\\" && Date) === \\"function\\" ? _a : Object) -], Post.prototype, \\"created_at\\", void 0); -__decorate([ - IsEmail(), - __metadata(\\"design:type\\", String) -], Post.prototype, \\"email\\", void 0); -__decorate([ - IsInt(), - Min(0), - Max(10), - __metadata(\\"design:type\\", Number) -], Post.prototype, \\"rating\\", void 0); -__decorate([ - IsFQDN(), - __metadata(\\"design:type\\", String) -], Post.prototype, \\"site\\", void 0); -__decorate([ - IsString(), - __metadata(\\"design:type\\", String) -], Post.prototype, \\"text\\", void 0); -__decorate([ - Length(10, 20), - __metadata(\\"design:type\\", String) -], Post.prototype, \\"title\\", void 0); -var post_default = Post; -export { - post_default as default -}; -" -`; diff --git a/src/plugins/decorators/__tests__/plugin.integration.spec.ts b/src/plugins/decorators/__tests__/plugin.integration.spec.ts deleted file mode 100644 index 0ee9df65..00000000 --- a/src/plugins/decorators/__tests__/plugin.integration.spec.ts +++ /dev/null @@ -1,85 +0,0 @@ -/** - * @file Integration Tests - decorators plugin - * @module mkbuild/plugins/tests/integration/decorators - */ - -import ESBUILD_OPTIONS from '#fixtures/options-esbuild' -import pathe from '@flex-development/pathe' -import * as esbuild from 'esbuild' -import testSubject from '../plugin' - -describe('integration:plugins/decorators', () => { - let options: esbuild.BuildOptions & { metafile: true; write: false } - - beforeAll(() => { - options = { - ...ESBUILD_OPTIONS, - logLevel: 'silent', - plugins: [testSubject()] - } - }) - - describe('esbuild', () => { - it('should skip modules that are not typescript', async () => { - // Act - const { errors, outputFiles, warnings } = await esbuild.build({ - ...options, - absWorkingDir: pathe.resolve('__fixtures__/pkg/apple-stock'), - entryPoints: ['apple-stock.jsonc'], - loader: { '.jsonc': 'copy' } - }) - - // Expect - expect(errors).to.be.an('array').that.is.empty - expect(warnings).to.be.an('array').that.is.empty - expect(outputFiles[0]?.text).toMatchSnapshot() - }) - - it('should skip typescript declaration modules', async () => { - // Act - const { errors, outputFiles, warnings } = await esbuild.build({ - ...options, - entryPoints: ['typings/@faker-js/faker/global.d.ts'], - loader: { '.d.ts': 'copy' } - }) - - // Expect - expect(errors).to.be.an('array').that.is.empty - expect(warnings).to.be.an('array').that.is.empty - expect(outputFiles[0]?.text).toMatchSnapshot() - }) - - it('should skip typescript modules not using decorators', async () => { - // Act - const { errors, outputFiles, warnings } = await esbuild.build({ - ...options, - absWorkingDir: pathe.resolve('__fixtures__/pkg/tribonacci'), - entryPoints: ['src/tribonacci.ts'], - format: 'esm', - loader: { '.ts': 'ts' } - }) - - // Expect - expect(errors).to.be.an('array').that.is.empty - expect(warnings).to.be.an('array').that.is.empty - expect(outputFiles[0]?.text).toMatchSnapshot() - }) - - it('should transpile typescript modules using decorators', async () => { - // Act - const { errors, outputFiles, warnings } = await esbuild.build({ - ...options, - absWorkingDir: pathe.resolve('__fixtures__/pkg/post'), - entryPoints: ['src/post.ts'], - format: 'esm', - loader: { '.ts': 'ts' }, - outExtension: { '.js': '.mjs' } - }) - - // Expect - expect(errors).to.be.an('array').that.is.empty - expect(warnings).to.be.an('array').that.is.empty - expect(outputFiles[0]?.text).toMatchSnapshot() - }) - }) -}) diff --git a/src/plugins/decorators/__tests__/plugin.spec.ts b/src/plugins/decorators/__tests__/plugin.spec.ts deleted file mode 100644 index 799b45a8..00000000 --- a/src/plugins/decorators/__tests__/plugin.spec.ts +++ /dev/null @@ -1,32 +0,0 @@ -/** - * @file Unit Tests - decorators plugin - * @module mkbuild/plugins/tests/unit/decorators - */ - -import createPluginAPI from '#tests/utils/create-plugin-api' -import pathe from '@flex-development/pathe' -import type * as esbuild from 'esbuild' -import testSubject from '../plugin' - -describe('unit:plugins/decorators', () => { - let subject: esbuild.Plugin - - beforeEach(() => { - subject = testSubject() - }) - - it('should do nothing if emitDecoratorMetadata is not enabled', async () => { - // Arrange - const api: esbuild.PluginBuild = createPluginAPI({ - initialOptions: { - absWorkingDir: pathe.resolve('__fixtures__/pkg/dbl-linear') - } - }) - - // Act - await subject.setup(api) - - // Expect - expect(api.onLoad).toHaveBeenCalledTimes(0) - }) -}) diff --git a/src/plugins/decorators/plugin.ts b/src/plugins/decorators/plugin.ts deleted file mode 100644 index 3e534fa0..00000000 --- a/src/plugins/decorators/plugin.ts +++ /dev/null @@ -1,140 +0,0 @@ -/** - * @file Plugins - decorators - * @module mkbuild/plugins/decorators - */ - -import { DECORATOR_REGEX } from '@flex-development/decorator-regex' -import { EXT_DTS_REGEX, EXT_TS_REGEX } from '@flex-development/ext-regex' -import * as mlly from '@flex-development/mlly' -import pathe from '@flex-development/pathe' -import * as tscu from '@flex-development/tsconfig-utils' -import { DOT, cast, type Nullable } from '@flex-development/tutils' -import type { - BuildOptions, - OnLoadArgs, - OnLoadOptions, - OnLoadResult, - Plugin, - PluginBuild -} from 'esbuild' -import type { URL } from 'node:url' - -/** - * Plugin name. - * - * @const {string} PLUGIN_NAME - */ -const PLUGIN_NAME: string = 'decorators' - -/** - * Returns a plugin that allows esbuild to handle [`emitDecoratorMetadata`][1]. - * - * [1]: https://www.typescriptlang.org/tsconfig#emitDecoratorMetadata - * - * @see https://github.com/evanw/esbuild/issues/257 - * - * @param {tscu.LoadTsconfigOptions?} [options] - Plugin options - * @return {Plugin} Decorator metadata plugin - */ -const plugin = (options?: tscu.LoadTsconfigOptions): Plugin => { - /** - * Allows esbuild to handle [`emitDecoratorMetadata`][1]. - * - * [1]: https://www.typescriptlang.org/tsconfig#emitDecoratorMetadata - * [2]: https://esbuild.github.io/plugins - * [3]: https://esbuild.github.io/api/#build-api - * - * @param {PluginBuild} build - [esbuild plugin api][2] - * @param {BuildOptions} build.initialOptions - [esbuild build api][3] options - * @param {PluginBuild['onLoad']} build.onLoad - Function called on file load - * @return {Promise<void>} Nothing when complete - */ - const setup = async ({ - initialOptions, - onLoad - }: PluginBuild): Promise<void> => { - const { absWorkingDir = DOT, tsconfig = 'tsconfig.json' } = initialOptions - - /** - * User compiler options. - * - * @const {tscu.CompilerOptions} compilerOptions - */ - const compilerOptions: tscu.CompilerOptions = tscu.loadCompilerOptions( - pathe.resolve(absWorkingDir, tsconfig), - options - ) - - // exit early if decorator metadata should not be emitted - if (!compilerOptions.emitDecoratorMetadata) return void 0 - - // inline sourcemaps - if (compilerOptions.sourceMap) { - compilerOptions.sourceMap = false - compilerOptions.inlineSources = true - compilerOptions.inlineSourceMap = true - } - - /** - * TypeScript module. - * - * @const {typeof import('typescript')} ts - */ - const ts: typeof import('typescript') = (await import('typescript')).default - - /** - * {@linkcode onLoad} callback options. - * - * @const {OnLoadOptions} - */ - const opts: OnLoadOptions = { filter: /.*/ } - - // transpile modules containing decorators - onLoad(opts, async (args: OnLoadArgs): Promise<Nullable<OnLoadResult>> => { - /** - * Callback result. - * - * @var {?OnLoadResult} result - */ - let result: Nullable<OnLoadResult> = null - - // transpile modules, but skip typescript declaration modules - if (EXT_TS_REGEX.test(args.path) && !EXT_DTS_REGEX.test(args.path)) { - /** - * URL of module to load. - * - * @const {URL} url - */ - const url: URL = mlly.toURL(args.path) - - /** - * File content at {@linkcode args.path}. - * - * @const {string} source - */ - const source: string = cast(await mlly.getSource(url)) - - // do nothing if module does not contain decorators - DECORATOR_REGEX.lastIndex = 0 - if (!DECORATOR_REGEX.test(source)) return null - - // transpile module to emit decorator metadata - const { outputText: contents } = ts.transpileModule(source, { - compilerOptions: tscu.normalizeCompilerOptions(compilerOptions), - fileName: args.path - }) - - // set result to transpiled content, loader, and plugin name - result = { contents, loader: 'js', pluginName: PLUGIN_NAME } - } - - return result - }) - - return void 0 - } - - return { name: PLUGIN_NAME, setup } -} - -export default plugin diff --git a/src/plugins/dts.mts b/src/plugins/dts.mts new file mode 100644 index 00000000..14d64a72 --- /dev/null +++ b/src/plugins/dts.mts @@ -0,0 +1,478 @@ +/** + * @file Plugins - dts + * @module mkbuild/plugins/dts + */ + +import formatDiagnostic from '#internal/format-diagnostic' +import withTrailingSlash from '#internal/with-trailing-slash' +import type { InputFile } from '@flex-development/mkbuild' +import pathe from '@flex-development/pathe' +import { + createGetCanonicalFileName as canonicalFileName, + createParseConfigHost, + type ModuleResolutionHost, + type ParseConfigHost +} from '@flex-development/tsconfig-utils' +import { constant, noop } from '@flex-development/tutils' +import { ok } from 'devlop' +import json5 from 'json5' +import { SourceMap } from 'magic-string' +import type { + EmittedAsset, + EmittedPrebuiltChunk, + MinimalPluginContext, + NormalizedInputOptions, + NormalizedOutputOptions, + OutputAsset, + OutputBundle, + OutputChunk, + Plugin, + PluginContext, + RollupLog +} from 'rollup' +import type { + CreateSourceFileOptions, + Diagnostic, + EmitResult, + Program, + ScriptTarget, + SourceFile, + default as TypeScript +} from 'typescript' + +/** + * Plugin name. + * + * @internal + * + * @const {string} PLUGIN_NAME + */ +const PLUGIN_NAME: string = 'mkbuild:dts' + +/** + * TypeScript module. + * + * @internal + * + * @var {typeof TypeScript | undefined} ts + */ +let ts: typeof TypeScript | undefined + +plugin.PLUGIN_NAME = PLUGIN_NAME +export default plugin + +/** + * Plugin configuration options. + * + * @internal + */ +interface Options { + /** + * Remove non-declaration files from the output bundle. + * + * Source maps will be preserved. + */ + only?: boolean | null | undefined + + /** + * Path to TypeScript module directory. + */ + path?: string | null | undefined +} + +/** + * Create a plugin to generate TypeScript declarations. + * + * @internal + * + * @this {void} + * + * @param {Options} opts + * Plugin options + * @return {Plugin} + * TypeScript declaration plugin + */ +function plugin(this: void, opts: Options): Plugin { + /** + * Record mapping facade module ids to declaration output file names. + * + * @const {Map<string, string>} files + */ + const files: Map<string, string> = new Map<string, string>() + + return { generateBundle, name: PLUGIN_NAME, renderStart } + + /** + * Log diagnostics. + * + * @this {MinimalPluginContext} + * + * @param {ReadonlyArray<Diagnostic>} diagnostics + * The list of diagnostics to handle + * @param {typeof TypeScript} ts + * TypeScript module + * @return {undefined} + */ + function diagnostics( + this: MinimalPluginContext, + diagnostics: readonly Diagnostic[], + ts: typeof TypeScript + ): undefined { + for (const diagnostic of diagnostics) { + /** + * Diagnostic as rollup log. + * + * @const {RollupLog} log + */ + const log: RollupLog = formatDiagnostic( + diagnostic, + PLUGIN_NAME, + renderStart.name, + ts + ) + + ok(typeof log.level === 'string', 'expected `log.level`') + this[log.level](log) + } + + return void diagnostics + } + + /** + * Update declaration output chunks and filter `bundle` if required. + * + * @see https://rollupjs.org/plugin-development/#generatebundle + * + * @this {PluginContext} + * + * @param {NormalizedOutputOptions} options + * Normalized output options + * @param {OutputBundle} bundle + * Output bundle + * @return {undefined} + */ + function generateBundle( + this: PluginContext, + options: NormalizedOutputOptions, + bundle: OutputBundle + ): undefined { + for (const output of Object.values(bundle)) { + if ( + 'code' in output && + output.facadeModuleId && + output.isEntry && + files.has(output.facadeModuleId) + ) { + /** + * Declaration output file name. + * + * @const {string} dtsFileName + */ + const dtsFileName: string | undefined = files.get(output.facadeModuleId) + + ok(typeof dtsFileName === 'string', 'expected `dtsFileName`') + + /** + * Declaration output. + * + * @const {OutputAsset | OutputChunk} dtsOutput + */ + const dtsOutput: OutputAsset | OutputChunk = bundle[dtsFileName]! + + ok(dtsOutput, 'expected `dtsOutput`') + ok('code' in dtsOutput, 'expected `dtsOutput` to be chunk') + + dtsOutput.exports = output.exports + dtsOutput.facadeModuleId = output.facadeModuleId + '?dts' + dtsOutput.importedBindings = output.importedBindings + dtsOutput.imports = output.imports + dtsOutput.moduleIds = output.moduleIds + dtsOutput.modules = output.modules + dtsOutput.name = pathe.changeExt(dtsOutput.fileName, null) + dtsOutput.referencedFiles = output.referencedFiles + + if (dtsOutput.map) { + dtsOutput.sourcemapFileName = pathe.addExt(dtsFileName, 'map') + } + } + + // remove outputs that are not declaration files or declaration maps + if (opts.only && !/\.d\.[cm]?ts(?:\.map)?$/.test(output.fileName)) { + delete bundle[output.fileName] + } + } + + return void this + } + + /** + * Get a source file by `fileName`. + * + * @this {ModuleResolutionHost} + * + * @param {string} fileName + * Source file name + * @param {CreateSourceFileOptions | ScriptTarget} options + * Script target or source file creation options + * @return {SourceFile | undefined} + * Source file or `undefined` + */ + function getSourceFile( + this: ModuleResolutionHost, + fileName: string, + options: CreateSourceFileOptions | ScriptTarget + ): SourceFile | undefined { + /** + * File contents. + * + * @const {string | undefined} contents + */ + const contents: string | undefined = this.readFile(fileName) + + /** + * Source file. + * + * @var {SourceFile | undefined} sourceFile + */ + let sourceFile: SourceFile | undefined + + if (contents !== undefined) { + ok(ts, 'expected `ts`') + + sourceFile = ts.createSourceFile( + this.realpath(fileName), + contents, + options + ) + } + + return sourceFile + } + + /** + * Emit declaration files. + * + * @see https://rollupjs.org/plugin-development/#renderstart + * + * @this {PluginContext} + * + * @async + * + * @param {NormalizedOutputOptions} output + * Normalized output options + * @param {NormalizedInputOptions} input + * Normalized input options + * @return {Promise<undefined>} + */ + async function renderStart( + this: PluginContext, + output: NormalizedOutputOptions, + input: NormalizedInputOptions + ): Promise<undefined> { + ok(typeof output.dir === 'string', 'expected `output.dir`') + ok(typeof input.tsconfig === 'object', 'expected `input.tsconfig`') + ok(typeof input.root === 'string', 'expected `input.root`') + + // load typescript module + ts ??= (await import('typescript')).default + + /** + * List of files to pass to the TypeScript program. + * + * @const {string[]} rootNames + */ + const inputs: InputFile[] = Object.values(input.input) + + /** + * Path to TypeScript module. + * + * @const {string} path + */ + const path: string = opts.path ?? pathe.resolve('node_modules/typescript') + + /** + * Parse config host. + * + * @const {ParseConfigHost} pch + */ + const pch: ParseConfigHost = createParseConfigHost({ + fs: input.fs, + root: input.root + }) + + // normalize tsconfig + const { + errors: configFileParsingDiagnostics, + fileNames, + options: compilerOptions, + projectReferences = [] + } = ts.parseJsonConfigFileContent(input.tsconfig, { + ...pch, + readDirectory: constant(inputs), + trace: trace.bind(this) + }, input.root) + + compilerOptions.declaration = true + compilerOptions.emitDeclarationOnly = true + compilerOptions.outDir = pathe.join(output.root, output.dir) + compilerOptions.outDir = withTrailingSlash(compilerOptions.outDir) + + delete compilerOptions.declarationDir + + /** + * Declaration map store. + * + * @const {Map<string, SourceMap>} maps + */ + const maps: Map<string, SourceMap> = new Map() + + /** + * TypeScript program. + * + * @const {Program} program + */ + const program: Program = ts.createProgram({ + configFileParsingDiagnostics, + host: { + directoryExists: pch.directoryExists, + fileExists: pch.fileExists, + getCanonicalFileName: canonicalFileName(pch.useCaseSensitiveFileNames), + getCurrentDirectory: pch.getCurrentDirectory, + getDefaultLibFileName: ts.getDefaultLibFileName, + getDefaultLibLocation: constant(pathe.join(path, 'lib')), + getDirectories: constant([]), + getNewLine: constant('\n'), + getSourceFile: getSourceFile.bind(pch), + readDirectory: constant([]), + readFile: pch.readFile, + realpath: pch.realpath, + trace: trace.bind(this), + useCaseSensitiveFileNames: constant(pch.useCaseSensitiveFileNames), + writeFile: noop + }, + options: compilerOptions, + projectReferences, + rootNames: fileNames + }) + + // handle pre-emit diagnostics + diagnostics.call(this, ts.getPreEmitDiagnostics(program), ts) + + // generate declaration files and sourcemaps + for (const id of inputs) { + /** + * TypeScript source file. + * + * @const {SourceFile | undefined} sourceFile + */ + const sourceFile: SourceFile | undefined = program.getSourceFile(id) + + ok(sourceFile, 'expected `sourceFile`') + + /** + * Emit result. + * + * @const {EmitResult} emit + */ + const emit: EmitResult = program.emit( + sourceFile, + writeFile.bind(this), + undefined, + true + ) + + // handle emit diagnostics + diagnostics.call(this, emit.diagnostics, ts) + } + + return void this + + /** + * @this {PluginContext} + * + * @param {string} fileName + * Filename of source file + * @param {string} contents + * File contents + * @param {boolean} bom + * Write byte order mark? + * @param {((message: string) => void) | undefined} [onError] + * Error message handler + * @param {ReadonlyArray<SourceFile> | undefined} [sourceFiles] + * List of source files + * @return {undefined} + */ + function writeFile( + this: PluginContext, + fileName: string, + contents: string, + bom: boolean, + onError?: ((message: string) => void) | undefined, + sourceFiles?: readonly SourceFile[] | undefined + ): undefined { + ok(typeof compilerOptions.outDir === 'string', 'expected `outDir`') + ok(Array.isArray(sourceFiles), 'expected `sourceFiles`') + + const [sourceFile] = sourceFiles + ok(sourceFile, 'expected `sourceFile`') + + fileName = fileName.slice(compilerOptions.outDir.length) + + /** + * The file to emit. + * + * @var {EmittedAsset | EmittedPrebuiltChunk} file + */ + let file: EmittedAsset | EmittedPrebuiltChunk + + if (pathe.extname(fileName) === '.map') { + file = { + fileName, + needsCodeReference: false, + originalFileName: sourceFile.fileName, + source: contents, + type: 'asset' + } + + maps.set(fileName, new SourceMap(json5.parse(contents))) + } else { + file = { code: contents, exports: [], fileName, type: 'prebuilt-chunk' } + files.set(sourceFile.fileName, fileName) + + if (compilerOptions.declarationMap) { + file.sourcemapFileName = fileName + '.map' + + /** + * Declaration map. + * + * @const {SourceMap | undefined} map + */ + const map: SourceMap | undefined = maps.get(file.sourcemapFileName) + + ok(map, 'expected sourcemap') + file.map = map + } + } + + return void this.emitFile(file) + } + } + + /** + * Handle `message`. + * + * @this {MinimalPluginContext} + * + * @param {string} message + * Formatted diagnostic message or message describing the resolution process + * @return {undefined} + */ + function trace(this: MinimalPluginContext, message: string): undefined { + return void this.debug({ + message, + meta: this.meta, + plugin: PLUGIN_NAME, + pluginCode: trace.name + }) + } +} diff --git a/src/plugins/dts/__mocks__/plugin.ts b/src/plugins/dts/__mocks__/plugin.ts deleted file mode 100644 index a54f41f8..00000000 --- a/src/plugins/dts/__mocks__/plugin.ts +++ /dev/null @@ -1,10 +0,0 @@ -/** - * @file Mock Plugins - dts - * @module mkbuild/plugins/dts/mocks/plugin - */ - -import type { Plugin } from 'esbuild' - -export default vi - .fn((): Plugin => ({ name: 'dts', setup: vi.fn() })) - .mockName('dts') diff --git a/src/plugins/dts/__tests__/plugin.integration.spec.ts b/src/plugins/dts/__tests__/plugin.integration.spec.ts deleted file mode 100644 index f508672f..00000000 --- a/src/plugins/dts/__tests__/plugin.integration.spec.ts +++ /dev/null @@ -1,88 +0,0 @@ -/** - * @file Integration Tests - dts plugin - * @module mkbuild/plugins/tests/integration/dts - */ - -import ESBUILD_OPTIONS from '#fixtures/options-esbuild' -import pathe from '@flex-development/pathe' -import * as esbuild from 'esbuild' -import testSubject from '../plugin' - -describe('integration:plugins/dts', () => { - let options: esbuild.BuildOptions & { metafile: true; write: false } - - beforeAll(() => { - options = { - ...ESBUILD_OPTIONS, - logLevel: 'silent', - plugins: [testSubject()] - } - }) - - describe('esbuild', () => { - it('should add declaration output', async () => { - // Arrange - const absWorkingDir: string = pathe.resolve('__fixtures__/pkg/reverse') - const dirname: string = pathe.join(absWorkingDir, 'dist') - - // Act - const { errors, outputFiles, warnings } = await esbuild.build({ - ...options, - absWorkingDir, - entryPoints: ['src/reverse.mts'], - format: 'esm', - loader: { '.mts': 'ts' }, - outExtension: { '.js': '.mjs' }, - outbase: 'src' - }) - - // Expect - expect(errors).to.be.an('array').that.is.empty - expect(warnings).to.be.an('array').that.is.empty - expect(outputFiles).to.be.an('array').of.length(2) - expect(outputFiles).to.each.have.property('path').with.dirname(dirname) - expect(outputFiles).to.containExactlyOne((output: esbuild.OutputFile) => { - return output.path.endsWith('.d.mts') - }) - }) - - it('should add declaration output for copied file', async () => { - // Arrange - const absWorkingDir: string = pathe.resolve('__fixtures__/pkg/find-uniq') - const dirname: string = pathe.join(absWorkingDir, 'dist') - - // Act - const { errors, outputFiles, warnings } = await esbuild.build({ - ...options, - absWorkingDir, - entryPoints: ['find-uniq.cts'], - format: 'cjs', - loader: { '.cts': 'copy' }, - outExtension: { '.js': '.cjs' } - }) - - // Expect - expect(errors).to.be.an('array').that.is.empty - expect(warnings).to.be.an('array').that.is.empty - expect(outputFiles).to.be.an('array').of.length(2) - expect(outputFiles).to.each.have.property('path').with.dirname(dirname) - expect(outputFiles).to.containExactlyOne((output: esbuild.OutputFile) => { - return output.path.endsWith('.d.cts') - }) - }) - - it('should skip output files without entry points', async () => { - // Act - const { errors, outputFiles, warnings } = await esbuild.build({ - ...options, - entryPoints: ['__fixtures__/pkg/apple-stock/apple-stock.jsonc'], - loader: { '.jsonc': 'copy' } - }) - - // Expect - expect(errors).to.be.an('array').that.is.empty - expect(warnings).to.be.an('array').that.is.empty - expect(outputFiles).to.be.an('array').of.length(1) - }) - }) -}) diff --git a/src/plugins/dts/__tests__/plugin.spec.ts b/src/plugins/dts/__tests__/plugin.spec.ts deleted file mode 100644 index e56b211b..00000000 --- a/src/plugins/dts/__tests__/plugin.spec.ts +++ /dev/null @@ -1,61 +0,0 @@ -/** - * @file Unit Tests - dts plugin - * @module mkbuild/plugins/tests/unit/dts - */ - -import createPluginAPI from '#tests/utils/create-plugin-api' -import { cast } from '@flex-development/tutils' -import type * as esbuild from 'esbuild' -import testSubject from '../plugin' - -describe('unit:plugins/dts', () => { - let subject: esbuild.Plugin - - beforeEach(() => { - subject = testSubject() - }) - - it('should do nothing if bundling', async () => { - // Arrange - const api: esbuild.PluginBuild = createPluginAPI({ - initialOptions: { bundle: true } - }) - - // Act - await subject.setup(api) - - // Expect - expect(api.onResolve).toHaveBeenCalledTimes(0) - expect(api.onEnd).toHaveBeenCalledTimes(0) - }) - - it('should throw if esbuild is writing output files', async () => { - // Arrange - let error!: Error - - // Act - try { - await subject.setup(createPluginAPI({ initialOptions: { write: true } })) - } catch (e: unknown) { - error = cast(e) - } - - // Expect - expect(error).to.have.property('message', 'write must be disabled') - }) - - it('should throw if metafile is disabled', async () => { - // Arrange - let error!: Error - - // Act - try { - await subject.setup(createPluginAPI()) - } catch (e: unknown) { - error = cast(e) - } - - // Expect - expect(error).to.have.property('message', 'metafile required') - }) -}) diff --git a/src/plugins/dts/plugin.ts b/src/plugins/dts/plugin.ts deleted file mode 100644 index 06f0e82c..00000000 --- a/src/plugins/dts/plugin.ts +++ /dev/null @@ -1,297 +0,0 @@ -/** - * @file Plugins - dts - * @module mkbuild/plugins/dts - */ - -import { - EXT_DTS_REGEX, - EXT_JS_REGEX, - EXT_TS_REGEX -} from '@flex-development/ext-regex' -import pathe from '@flex-development/pathe' -import * as tscu from '@flex-development/tsconfig-utils' -import { - DOT, - cast, - constant, - defaults, - define, - get, - includes, - keys, - shake -} from '@flex-development/tutils' -import type { - BuildOptions, - BuildResult, - OnResolveArgs, - OutputFile, - Plugin, - PluginBuild -} from 'esbuild' -import util from 'node:util' -import type { - CompilerHost, - CompilerOptions, - WriteFileCallback -} from 'typescript' - -/** - * Plugin-specific build options. - * - * @internal - */ -type SpecificOptions = { metafile: true; write: false } - -/** - * Returns a TypeScript declaration plugin. - * - * @return {Plugin} TypeScript declaration plugin - */ -const plugin = (): Plugin => { - /** - * Generates TypeScript declarations. - * - * @todo handle diagnostics - * @todo bundle declarations - * - * [1]: https://esbuild.github.io/plugins - * [2]: https://esbuild.github.io/api/#build-api - * - * @async - * - * @param {PluginBuild} build - [esbuild plugin api][1] - * @param {BuildOptions} build.initialOptions - [esbuild build api][2] options - * @param {PluginBuild['onEnd']} build.onEnd - Build end cb - * @param {PluginBuild['onResolve']} build.onResolve - Path resolution cb - * @return {Promise<void>} Nothing when complete - * @throws {Error} - */ - const setup = async ({ - initialOptions, - onEnd, - onResolve - }: PluginBuild): Promise<void> => { - const { - absWorkingDir = process.cwd(), - bundle, - color = true, - format, - metafile, - outExtension: { '.js': ext = '.js' } = {}, - outbase = '', - outdir = DOT, - preserveSymlinks = false, - tsconfig = 'tsconfig.json', - write - } = initialOptions - - // not bundling declarations yet - if (bundle) return void bundle - - // esbuild write must be disabled to access result.outputFiles - if (write) throw new Error('write must be disabled') - - // metafile required to get output metadata - if (!metafile) throw new Error('metafile required') - - /** - * TypeScript module. - * - * @const {typeof import('typescript')} ts - */ - const ts: typeof import('typescript') = (await import('typescript')).default - - /** - * Absolute paths to source files. - * - * @const {string[]} sourcefiles - */ - const sourcefiles: string[] = [] - - /** - * Source file filter. - * - * @const {RegExp} filter - */ - const filter: RegExp = new RegExp( - ( - `(?:(?:${EXT_JS_REGEX.source.slice(0, -8)})` + - `|(?:${EXT_TS_REGEX.source.slice(0, -8)}))$` - ).replace(/\?<.+?>/g, '?:') - ) - - // get source files as entry points are resolved - onResolve({ filter }, (args: OnResolveArgs): undefined => { - return void sourcefiles.push(pathe.resolve(args.resolveDir, args.path)) - }) - - return void onEnd((result: BuildResult<SpecificOptions>): void => { - /** - * TypeScript compiler options. - * - * @var {CompilerOptions | tscu.CompilerOptions} compilerOptions - */ - let compilerOptions: CompilerOptions | tscu.CompilerOptions = - // dprint-ignore-next - tscu.loadCompilerOptions(pathe.resolve(absWorkingDir, tsconfig)) - - // normalize compiler options - compilerOptions = tscu.normalizeCompilerOptions(compilerOptions) - - // remove forbidden compiler options - delete compilerOptions.declarationDir - delete compilerOptions.out - delete compilerOptions.outFile - delete compilerOptions.rootDirs - delete compilerOptions.sourceMap - delete compilerOptions.sourceRoot - - // remove overridden compiler options - delete compilerOptions.declaration - delete compilerOptions.emitDeclarationOnly - delete compilerOptions.noEmit - delete compilerOptions.noErrorTruncation - delete compilerOptions.outDir - delete compilerOptions.rootDir - - // remove unsupported compiler options - delete compilerOptions.declarationMap - delete compilerOptions.noEmitOnError - - // merge compiler options with defaults - compilerOptions = defaults( - compilerOptions, - shake({ - allowJs: true, - allowUmdGlobalAccess: format === 'iife', - allowUnreachableCode: false, - baseUrl: absWorkingDir, - checkJs: false, - declaration: true, - declarationMap: false, - emitDeclarationOnly: true, - esModuleInterop: true, - forceConsistentCasingInFileNames: true, - isolatedModules: true, - module: ts.ModuleKind.ESNext, - moduleResolution: tscu.normalizeModuleResolution( - tscu.ModuleResolutionKind.NodeJs - ), - noEmit: false, - noEmitOnError: false, - noErrorTruncation: true, - noImplicitAny: true, - noImplicitOverride: true, - noImplicitReturns: true, - outDir: pathe.resolve(absWorkingDir, outdir), - preserveConstEnums: true, - preserveSymlinks, - pretty: color, - resolveJsonModule: true, - rootDir: pathe.resolve(absWorkingDir, outbase), - skipLibCheck: true, - target: ts.ScriptTarget.ESNext - }) - ) - - /** - * TypeScript compiler host. - * - * @const {CompilerHost} host - */ - const host: CompilerHost = ts.createCompilerHost(compilerOptions) - - /** - * Virtual file system for declaration files. - * - * @const {Record<string, string>} vfs - */ - const vfs: Record<string, string> = {} - - // first letter before "js" or "ts" in output file extension - const [, cm = ''] = /\.(c|m)?[jt]sx?$/.exec(ext)! - - /** - * Writes a declaration file to {@linkcode vfs}. - * - * @param {string} filename - Name of file to write - * @param {string} contents - Content to write - * @return {void} Nothing when complete - */ - const writeFile: WriteFileCallback = ( - filename: string, - contents: string - ): void => { - filename = filename.replace(EXT_DTS_REGEX, `.d.${cm}ts`) - return void (vfs[filename] = contents) - } - - // override write file function - host.writeFile = writeFile - - // emit declarations to virtual file system - ts.createProgram( - sourcefiles.filter(sourcefile => !EXT_DTS_REGEX.test(sourcefile)), - compilerOptions, - host - ).emit() - - // remap output files to insert declaration file outputs - return void (result.outputFiles = result.outputFiles.flatMap(output => { - /** - * Absolute path to declaration file for {@linkcode output}. - * - * @const {string} dtspath - */ - const path: string = EXT_JS_REGEX.test(output.path) - ? output.path.replace(EXT_JS_REGEX, '.d.$1ts') - : EXT_TS_REGEX.test(output.path) && !EXT_DTS_REGEX.test(output.path) - ? output.path.replace(EXT_TS_REGEX, '.d.$2ts') - : '' - - // do nothing if missing declaration file - if (!includes(keys(vfs), path)) return [output] - - /** - * Declaration file output. - * - * @const {OutputFile} dts - */ - const dts: OutputFile = cast({ - contents: new util.TextEncoder().encode(vfs[path]), - path - }) - - // redefine output text - define(dts, 'text', { get: constant(vfs[path]) }) - - /** - * Relative path to declaration output file. - * - * **Note**: Relative to {@linkcode absWorkingDir}. - * - * @const {string} dtsoutfile - */ - const outfile: string = path - .replace(absWorkingDir, '') - .replace(/^\//, '') - - // update metafile - result.metafile.outputs[outfile] = { - ...get( - result.metafile.outputs, - output.path.replace(absWorkingDir, '').replace(/^\//, '') - ), - bytes: Buffer.byteLength(dts.contents) - } - - return [output, dts] - })) - }) - } - - return { name: 'dts', setup } -} - -export default plugin diff --git a/src/plugins/esbuild.mts b/src/plugins/esbuild.mts new file mode 100644 index 00000000..a0366fad --- /dev/null +++ b/src/plugins/esbuild.mts @@ -0,0 +1,431 @@ +/** + * @file Plugins - esbuild + * @module mkbuild/plugins/esbuild + */ + +import formatEsbuildMessage from '#internal/format-esbuild-message' +import type WithUndefined from '#types/with-undefined' +import type { + EsbuildOptions, + Format +} from '@flex-development/mkbuild' +import pathe from '@flex-development/pathe' +import { ifelse, isNIL } from '@flex-development/tutils' +import { createFilter } from '@rollup/pluginutils' +import { ok } from 'devlop' +import type * as Esbuild from 'esbuild' +import type { Loader, LogLevel, TransformOptions, TsconfigRaw } from 'esbuild' +import type { + MinimalPluginContext, + ModuleInfo, + NormalizedInputOptions, + NormalizedOutputOptions, + OutputBundle, + Plugin, + PluginContext, + ProgramNode, + RenderedChunk, + RollupLog, + LogLevel as RollupLogLevel, + SourceDescription, + TransformPluginContext, + TransformResult +} from 'rollup' + +/** + * Plugin name. + * + * @internal + * + * @const {string} PLUGIN_NAME + */ +const PLUGIN_NAME: string = 'mkbuild:esbuild' + +/** + * esbuild module. + * + * @internal + * + * @var {typeof Esbuild | undefined} esbuild + */ +let esbuild: typeof Esbuild | undefined + +plugin.PLUGIN_NAME = PLUGIN_NAME +export default plugin + +/** + * Plugin options. + * + * @internal + * + * @extends {EsbuildOptions} + */ +interface Options extends EsbuildOptions { + /** + * Module format. + * + * @see {@linkcode Format} + */ + format: Format + + /** + * Set the value of the `sourceRoot` field in a source map, which specifies + * the path that all other paths in the source map are relative to. If this + * field is not present, all paths in the source map are interpreted as being + * relative to the directory containing the source map instead. + * + * @see https://esbuild.github.io/api/#source-root + */ + sourceRoot?: URL | string | null | undefined + + /** + * Include the `sourcesContent` field in sourcemaps. + * + * @see https://esbuild.github.io/api/#sources-content + */ + sourcesContent?: boolean | null | undefined +} + +/** + * Create a plugin to transform files with esbuild. + * + * @see {@linkcode Options} + * @see {@linkcode Plugin} + * + * @internal + * + * @this {void} + * + * @param {Options} [opts] + * esbuild options + * @return {Plugin} + * esbuild transform plugin + */ +function plugin(this: void, opts: Options): Plugin { + /** + * Copied modules. + * + * @const {Set<ModuleInfo>} copied + */ + const copied: Set<ModuleInfo> = new Set<ModuleInfo>() + + /** + * Module id filter. + * + * @const {(id: unknown) => boolean} filter + */ + const filter: (id: unknown) => boolean = createFilter( + opts.include ?? /\.(?:(?:json)|(?:[cm]?[jt]s)|(?:[jt]sx?))$/, + opts.exclude ?? undefined + ) + + /** + * Raw tsconfig. + * + * @var {TsconfigRaw} tsconfigRaw + */ + let tsconfigRaw: TsconfigRaw + + return { + buildStart, + generateBundle, + name: PLUGIN_NAME, + onLog, + renderChunk, + transform + } + + /** + * Get the raw tsconfig from `options`. + * + * @this {PluginContext} + * + * @param {NormalizedInputOptions} options + * Normalized input options + * @return {undefined} + */ + function buildStart( + this: PluginContext, + options: NormalizedInputOptions + ): undefined { + ok(typeof options.tsconfig === 'object', 'expected `options.tsconfig`') + tsconfigRaw = options.tsconfig as TsconfigRaw + return void this + } + + /** + * Add the content of copied modules to their chunks. Any sourcemaps generated + * for copied modules will be removed. + * + * @see https://rollupjs.org/plugin-development/#generatebundle + * + * @this {PluginContext} + * + * @param {NormalizedOutputOptions} options + * Normalized output options + * @param {OutputBundle} bundle + * Output bundle + * @return {undefined} + */ + function generateBundle( + this: PluginContext, + options: NormalizedOutputOptions, + bundle: OutputBundle + ): undefined { + for (const output of Object.values(bundle)) { + for (const info of copied) { + if (output.type === 'chunk' && output.facadeModuleId === info.id) { + ok(typeof info.code === 'string', 'expected `info.code`') + + output.code = info.code + output.map = null + + if (output.sourcemapFileName !== null) { + delete bundle[output.sourcemapFileName] + output.sourcemapFileName = null + } + } + } + } + + return void bundle + } + + /** + * Skip `EMPTY_BUNDLE` logs. + * + * @see https://rollupjs.org/plugin-development/#onlog + * + * @this {MinimalPluginContext} + * + * @param {RollupLogLevel} level + * Rollup log level + * @param {RollupLog} log + * Rollup log object + * @return {false | undefined} + * `false` if log will be silenced, `undefined` otherwise + */ + function onLog( + this: MinimalPluginContext, + level: RollupLogLevel, + log: RollupLog + ): false | undefined { + return ifelse(log.code === 'EMPTY_BUNDLE', false, void log) + } + + /** + * Fix the name and file name of copied modules. + * + * @see https://rollupjs.org/plugin-development/#renderchunk + * + * @this {PluginContext} + * + * @param {string} code + * Chunk content + * @param {RenderedChunk} chunk + * The chunk to process + * @return {undefined} + */ + function renderChunk( + this: PluginContext, + code: string, + chunk: RenderedChunk + ): undefined { + for (const info of copied) { + if (chunk.facadeModuleId === info.id) { + chunk.fileName = pathe.changeExt(chunk.fileName, pathe.extname(info.id)) + chunk.name = pathe.changeExt(chunk.fileName, null) + break + } + } + + return void chunk + } + + /** + * Transform `code` using the [esbuild transform api][esbuild-transform]. + * + * [esbuild-transform]: https://esbuild.github.io/api/#transform + * + * @see https://rollupjs.org/plugin-development/#transform + * + * @todo `globalName` + * @todo `ignoreAnnotations` + * @todo `pure` + * @todo `treeShaking` + * + * @this {TransformPluginContext} + * + * @param {string} code + * The code to transform + * @param {string} id + * The id of the module containing `code` + * @return {Promise<TransformResult>} + * Transform result + */ + async function transform( + this: TransformPluginContext, + code: string, + id: string + ): Promise<TransformResult> { + /** + * Transform result. + * + * @var {WithUndefined<Partial<SourceDescription>> | undefined} result + */ + let result: WithUndefined<Partial<SourceDescription>> | undefined + + if (filter(id)) { + /** + * AST of transformed code. + * + * @var {ProgramNode | undefined} ast + */ + let ast: ProgramNode | undefined + + /** + * Content loader. + * + * @var {Loader | undefined} loader + */ + let loader: Loader | undefined = pathe.extToValue(pathe.basename(id), { + '.cjs': 'js', + '.cts': 'ts', + '.d.cts': 'copy', + '.d.mts': 'copy', + '.d.ts': 'copy', + '.js': 'js', + '.json': 'copy', + '.jsx': 'jsx', + '.mjs': 'js', + '.mts': 'ts', + '.ts': 'ts', + '.tsx': 'tsx', + ...opts.loader + }) + + // note: rather than just be a no-op, or work as `empty`, esbuild throws + // an annoying error when the `copy` loader is used with `transform`. + if (loader === 'copy') { + /** + * Module info. + * + * @const {ModuleInfo | null} info + */ + const info: ModuleInfo | null = this.getModuleInfo(id) + + if (info) { + copied.add(info) + info.code = code + } + + ast = { + body: [], + end: 0, + sourceType: 'module', + start: 0, + type: 'Program' + } + + loader = 'empty' + } + + const { transform } = esbuild ??= await import('esbuild') + + /** + * Log level overrides. + * + * @const {Record<string, LogLevel>} logOverride + */ + const logOverride: Record<string, LogLevel> = { ...opts.logOverride } + + ok(typeof opts.sourcesContent === 'boolean', 'expected `sourcesContent`') + + const { + code: transformed, + map, + legalComments, + mangleCache, + warnings + } = await transform(code, { + charset: opts.charset ?? undefined, + color: false, + define: opts.define ?? undefined, + drop: opts.drop ?? undefined, + dropLabels: opts.dropLabels ?? undefined, + format: opts.format, + jsx: opts.jsx ?? undefined, + jsxDev: opts.jsxDev ?? undefined, + jsxFactory: opts.jsxFactory ?? undefined, + jsxFragment: opts.jsxFragment ?? undefined, + jsxImportSource: opts.jsxImportSource ?? undefined, + jsxSideEffects: opts.jsxSideEffects ?? undefined, + keepNames: opts.keepNames ?? undefined, + legalComments: 'external', + lineLimit: opts.lineLimit ?? undefined, + loader, + logLevel: 'silent', + logLimit: 0, + logOverride: Object + .entries(logOverride) + .reduce<Record<string, LogLevel>>((acc, [key, level]) => { + acc[key] = ifelse(level === 'silent', level, 'warning') + return acc + }, {}), + mangleCache: opts.mangleCache ?? undefined, + mangleProps: opts.mangleProps ?? undefined, + mangleQuoted: opts.mangleQuoted ?? undefined, + minify: opts.minify ?? undefined, + minifyIdentifiers: opts.minifyIdentifiers ?? undefined, + minifySyntax: opts.minifySyntax ?? undefined, + minifyWhitespace: opts.minifyWhitespace ?? undefined, + platform: opts.platform ?? undefined, + reserveProps: opts.reserveProps ?? undefined, + sourceRoot: ifelse( + isNIL(opts.sourceRoot), + undefined, + String(opts.sourceRoot) + ), + sourcefile: id, + sourcemap: true, + sourcesContent: opts.sourcesContent, + supported: { + 'dynamic-import': true, + 'import-meta': true, + ...opts.supported + }, + target: typeof opts.target === 'object' + ? [...new Set(opts.target)] + : opts.target, + tsconfigRaw: opts.tsconfigRaw ?? tsconfigRaw + } as TransformOptions) + + for (const message of warnings) { + /** + * Message formatted as rollup log. + * + * @const {RollupLog} log + */ + const log: RollupLog = formatEsbuildMessage( + message, + code, + id, + PLUGIN_NAME, + logOverride[message.id] + ) + + // log message if not silenced + log.level && this[log.level](log, log.loc) + } + + result = { + ast, + code: typeof ast === 'object' ? code : transformed, + map, + meta: { legalComments, mangleCache, warnings } + } + } + + return result as TransformResult + } +} diff --git a/src/plugins/filter/__tests__/plugin.integration.spec.ts b/src/plugins/filter/__tests__/plugin.integration.spec.ts deleted file mode 100644 index 42580a87..00000000 --- a/src/plugins/filter/__tests__/plugin.integration.spec.ts +++ /dev/null @@ -1,37 +0,0 @@ -/** - * @file Integration Tests - filter plugin - * @module mkbuild/plugins/tests/integration/filter - */ - -import ESBUILD_OPTIONS from '#fixtures/options-esbuild' -import pathe from '@flex-development/pathe' -import { keys } from '@flex-development/tutils' -import * as esbuild from 'esbuild' -import testSubject from '../plugin' - -describe('integration:plugins/filter', () => { - describe('esbuild', () => { - it('should filter output files', async () => { - // Arrange - const filter: RegExp = /\.mjs$/ - - // Act - const { metafile, outputFiles } = await esbuild.build({ - ...ESBUILD_OPTIONS, - absWorkingDir: pathe.resolve('__fixtures__/pkg/dbl-linear'), - entryPoints: ['dbl-linear.ts'], - format: 'esm', - loader: { '.mts': 'ts' }, - logLevel: 'silent', - outExtension: { '.js': '.mjs' }, - plugins: [testSubject(filter)], - sourcemap: true, - sourcesContent: false - }) - - // Expect - expect(keys(metafile.outputs)).to.each.match(filter) - expect(outputFiles).to.each.have.property('path').match(filter) - }) - }) -}) diff --git a/src/plugins/filter/__tests__/plugin.spec.ts b/src/plugins/filter/__tests__/plugin.spec.ts deleted file mode 100644 index fa59e426..00000000 --- a/src/plugins/filter/__tests__/plugin.spec.ts +++ /dev/null @@ -1,49 +0,0 @@ -/** - * @file Unit Tests - filter plugin - * @module mkbuild/plugins/tests/unit/write - */ - -import createPluginAPI from '#tests/utils/create-plugin-api' -import { cast } from '@flex-development/tutils' -import type * as esbuild from 'esbuild' -import testSubject from '../plugin' - -describe('unit:plugins/filter', () => { - let subject: esbuild.Plugin - - beforeEach(() => { - subject = testSubject() - }) - - it('should throw if esbuild is writing output files', async () => { - // Arrange - let error!: Error - - // Act - try { - await subject.setup( - createPluginAPI({ initialOptions: { metafile: true, write: true } }) - ) - } catch (e: unknown) { - error = cast(e) - } - - // Expect - expect(error).to.have.property('message', 'write must be disabled') - }) - - it('should throw if metafile is disabled', async () => { - // Arrange - let error!: Error - - // Act - try { - await subject.setup(createPluginAPI()) - } catch (e: unknown) { - error = cast(e) - } - - // Expect - expect(error).to.have.property('message', 'metafile required') - }) -}) diff --git a/src/plugins/filter/plugin.ts b/src/plugins/filter/plugin.ts deleted file mode 100644 index 45987826..00000000 --- a/src/plugins/filter/plugin.ts +++ /dev/null @@ -1,72 +0,0 @@ -/** - * @file Plugins - filter - * @module mkbuild/plugins/filter/plugin - */ - -import type { OutputMetadata } from '#src/types' -import { entries, select } from '@flex-development/tutils' -import type { BuildOptions, BuildResult, Plugin, PluginBuild } from 'esbuild' - -/** - * Plugin-specific build options. - * - * @internal - */ -type SpecificOptions = { metafile: true; write: false } - -/** - * Returns an output file filter plugin. - * - * @param {RegExp} [filter=/.+/] - Output file path filter - * @return {Plugin} Output file path filter plugin - */ -const plugin = (filter: RegExp = /.+/): Plugin => { - /** - * Filters output files. - * - * [1]: https://esbuild.github.io/plugins - * [2]: https://esbuild.github.io/api/#build-api - * - * @param {PluginBuild} build - [esbuild plugin api][1] - * @param {BuildOptions} build.initialOptions - [esbuild build api][2] options - * @param {PluginBuild['onEnd']} build.onEnd - Build end callback - * @return {void} Nothing when complete - * @throws {Error} - */ - const setup = ({ initialOptions, onEnd }: PluginBuild): void => { - // metafile required to filter output metadata from result.metafile - if (!initialOptions.metafile) throw new Error('metafile required') - - // esbuild write must be disabled to filter result.outputFiles - if (initialOptions.write) throw new Error('write must be disabled') - - // filter output files and metadata - return void onEnd((result: BuildResult<SpecificOptions>): void => { - /** - * Output file metadata. - * - * @const {Record<string, OutputMetadata>} outputs - */ - const outputs: Record<string, OutputMetadata> = {} - - // filter output files - result.outputFiles = select(result.outputFiles, o => filter.test(o.path)) - - // filter output file metadata - for (const [outfile, metadata] of entries(result.metafile.outputs)) { - if (result.outputFiles.some(o => o.path.endsWith(outfile))) { - outputs[outfile] = metadata - } - } - - // reset metafile - result.metafile.outputs = outputs - - return void result - }) - } - - return { name: 'filter', setup } -} - -export default plugin diff --git a/src/plugins/fully-specified/__mocks__/plugin.ts b/src/plugins/fully-specified/__mocks__/plugin.ts deleted file mode 100644 index 44d14945..00000000 --- a/src/plugins/fully-specified/__mocks__/plugin.ts +++ /dev/null @@ -1,10 +0,0 @@ -/** - * @file Mock Plugins - fully-specified - * @module mkbuild/plugins/fully-specified/mocks/plugin - */ - -import type { Plugin } from 'esbuild' - -export default vi - .fn((): Plugin => ({ name: 'fully-specified', setup: vi.fn() })) - .mockName('fullySpecified') diff --git a/src/plugins/fully-specified/__snapshots__/plugin.integration.snap b/src/plugins/fully-specified/__snapshots__/plugin.integration.snap deleted file mode 100644 index 6605edd9..00000000 --- a/src/plugins/fully-specified/__snapshots__/plugin.integration.snap +++ /dev/null @@ -1,66 +0,0 @@ -// Vitest Snapshot v1, https://vitest.dev/guide/snapshot.html - -exports[`integration:plugins/fully-specified > esbuild > should fill specifiers in output files 1`] = ` -[ - { - "assertion": "{ type: \\"json\\" }", - "code": "import pkg from \\"#pkg\\" assert { type: \\"json\\" }", - "end": 66, - "imports": [ - "pkg", - ], - "kind": "import", - "specifier": "#pkg", - "specifier_kind": "bare", - "specifier_syntax": "static", - "start": 20, - "syntax": "default", - "type": false, - }, - { - "assertion": "", - "code": "import { ProgramFactory } from \\"@flex-development/nest-commander\\"", - "end": 133, - "imports": [ - "ProgramFactory", - ], - "kind": "import", - "specifier": "@flex-development/nest-commander", - "specifier_kind": "bare", - "specifier_syntax": "static", - "start": 68, - "syntax": "named", - "type": false, - }, - { - "assertion": "", - "code": "import { isFalsy } from \\"@flex-development/tutils\\"", - "end": 185, - "imports": [ - "isFalsy", - ], - "kind": "import", - "specifier": "@flex-development/tutils", - "specifier_kind": "bare", - "specifier_syntax": "static", - "start": 135, - "syntax": "named", - "type": false, - }, - { - "assertion": "", - "code": "import AppModule from \\"./app.module.mjs\\"", - "end": 227, - "imports": [ - "AppModule", - ], - "kind": "import", - "specifier": "./app.module.mjs", - "specifier_kind": "relative", - "specifier_syntax": "static", - "start": 187, - "syntax": "default", - "type": false, - }, -] -`; diff --git a/src/plugins/fully-specified/__tests__/plugin.integration.spec.ts b/src/plugins/fully-specified/__tests__/plugin.integration.spec.ts deleted file mode 100644 index 06cd5536..00000000 --- a/src/plugins/fully-specified/__tests__/plugin.integration.spec.ts +++ /dev/null @@ -1,70 +0,0 @@ -/** - * @file Integration Tests - fully-specified plugin - * @module mkbuild/plugins/tests/integration/fully-specified - */ - -import ESBUILD_OPTIONS from '#fixtures/options-esbuild' -import { - ERR_PACKAGE_IMPORT_NOT_DEFINED, - type NodeError -} from '@flex-development/errnode' -import * as mlly from '@flex-development/mlly' -import { cast } from '@flex-development/tutils' -import * as esbuild from 'esbuild' -import testSubject from '../plugin' - -vi.mock('@flex-development/mlly') - -describe('integration:plugins/fully-specified', () => { - let options: esbuild.BuildOptions & { metafile: true; write: false } - - beforeAll(() => { - options = { - ...ESBUILD_OPTIONS, - entryPoints: ['src/cli/index.ts'], - format: 'esm', - logLevel: 'silent', - outExtension: { '.js': '.mjs' }, - plugins: [testSubject()], - sourcemap: true, - sourcesContent: false - } - }) - - describe('esbuild', () => { - it('should fill specifiers in output files', async () => { - // Act - const { errors, outputFiles, warnings } = await esbuild.build(options) - - // Expect - expect(errors).to.be.an('array').that.is.empty - expect(warnings).to.be.an('array').that.is.empty - expect(mlly.findStaticImports(outputFiles[1]?.text)).toMatchSnapshot() - }) - - it('should throw if error occurs', async () => { - // Arrange - const base: string = import.meta.url - const error: NodeError = new ERR_PACKAGE_IMPORT_NOT_DEFINED('#app', base) - let errors: esbuild.Message[] = [] - - // Act - try { - vi.mocked(mlly.fillModules).mockRejectedValueOnce(error) - await esbuild.build(options) - } catch (e: unknown) { - errors = cast<esbuild.BuildFailure>(e).errors - } - - // Expect - expect(errors).to.be.an('array').of.length(1) - expect(errors[0]).to.have.property('id', error.code) - expect(errors[0]).to.have.property('location', null) - expect(errors[0]).to.have.property('notes').be.an('array').of.length(1) - expect(errors[0]).to.have.property('pluginName', 'fully-specified') - expect(errors[0]).to.have.property('text', error.message) - expect(errors[0]!.notes[0]).to.have.property('location', null) - expect(errors[0]!.notes[0]).to.have.property('text', error.stack) - }) - }) -}) diff --git a/src/plugins/fully-specified/__tests__/plugin.spec.ts b/src/plugins/fully-specified/__tests__/plugin.spec.ts deleted file mode 100644 index 2eed0e74..00000000 --- a/src/plugins/fully-specified/__tests__/plugin.spec.ts +++ /dev/null @@ -1,61 +0,0 @@ -/** - * @file Unit Tests - fully-specified plugin - * @module mkbuild/plugins/tests/unit/fully-specified - */ - -import createPluginAPI from '#tests/utils/create-plugin-api' -import { cast } from '@flex-development/tutils' -import type * as esbuild from 'esbuild' -import testSubject from '../plugin' - -describe('unit:plugins/fully-specified', () => { - let subject: esbuild.Plugin - - beforeEach(() => { - subject = testSubject() - }) - - it('should do nothing if bundling', async () => { - // Arrange - const api: esbuild.PluginBuild = createPluginAPI({ - initialOptions: { bundle: true } - }) - - // Act - await subject.setup(api) - - // Expect - expect(api.onResolve).toHaveBeenCalledTimes(0) - expect(api.onEnd).toHaveBeenCalledTimes(0) - }) - - it('should throw if esbuild is writing output files', async () => { - // Arrange - let error!: Error - - // Act - try { - await subject.setup(createPluginAPI({ initialOptions: { write: true } })) - } catch (e: unknown) { - error = cast(e) - } - - // Expect - expect(error).to.have.property('message', 'write must be disabled') - }) - - it('should throw if metafile is disabled', async () => { - // Arrange - let error!: Error - - // Act - try { - await subject.setup(createPluginAPI()) - } catch (e: unknown) { - error = cast(e) - } - - // Expect - expect(error).to.have.property('message', 'metafile required') - }) -}) diff --git a/src/plugins/fully-specified/plugin.ts b/src/plugins/fully-specified/plugin.ts deleted file mode 100644 index e7ab03a1..00000000 --- a/src/plugins/fully-specified/plugin.ts +++ /dev/null @@ -1,186 +0,0 @@ -/** - * @file Plugins - fully-specified - * @module mkbuild/plugins/fully-specified - */ - -import type { OutputMetadata } from '#src/types' -import type { NodeError } from '@flex-development/errnode' -import * as mlly from '@flex-development/mlly' -import * as pathe from '@flex-development/pathe' -import { at, cast, constant, define, get, keys } from '@flex-development/tutils' -import type { - BuildOptions, - BuildResult, - OnEndResult, - OutputFile, - Plugin, - PluginBuild -} from 'esbuild' -import util from 'node:util' - -/** - * Plugin-specific build options. - * - * @internal - */ -type SpecificOptions = { metafile: true; write: false } - -/** - * Plugin name. - * - * @const {string} PLUGIN_NAME - */ -const PLUGIN_NAME: string = 'fully-specified' - -/** - * Returns a specifier resolver plugin. There are three types of specifiers: - * - * > - *Relative specifiers* like `'./startup.js'` or `'../config.mjs'`. They - * > refer to a path relative to the location of the importing file. *The file - * > extension is always necessary for these.* - * > - *Bare specifiers* like `'some-package'` or `'some-package/shuffle'`. They - * > can refer to the main entry point of a package by the package name, or a - * > specific feature module within a package prefixed by the package name as - * > per the examples respectively. *Including the file extension is only - * > necessary for packages without an [`"exports"`][1] field.* - * > - *Absolute specifiers* like `'file:///opt/nodejs/config.js'`. They refer - * > directly and explicitly to a full path. - * - * The resolver adds file extensions to **absolute** and **relative** specifiers - * in output content. - * - * **Note**: [`--experimental-specifier-resolution=node`][2] can be used to - * customize the ESM specifier resolution algorithm so that file extensions are - * not required. - * - * [1]: https://nodejs.org/api/packages.html#exports - * [2]: https://nodejs.org/api/esm.html#customizing-esm-specifier-resolution-algorithm - * - * @see https://nodejs.org/api/esm.html#terminology - * - * @return {Plugin} Specifier resolver plugin - */ -const plugin = (): Plugin => { - /** - * Adds file extensions to relative specifiers in output file content. - * - * [1]: https://esbuild.github.io/plugins - * [2]: https://esbuild.github.io/api/#build-api - * - * @param {PluginBuild} build - [esbuild plugin api][1] - * @param {BuildOptions} build.initialOptions - [esbuild build api][2] options - * @param {PluginBuild['onEnd']} build.onEnd - Build end callback - * @return {void} Nothing when complete - * @throws {Error} - */ - const setup = ({ initialOptions, onEnd }: PluginBuild): void => { - const { - absWorkingDir = process.cwd(), - bundle, - conditions, - metafile, - outExtension: { '.js': ext = '.js' } = {}, - resolveExtensions, - preserveSymlinks, - write - } = initialOptions - - // bundle output shouldn't contain relative specifiers - if (bundle) return void bundle - - // esbuild write must be disabled to access result.outputFiles - if (write) throw new Error('write must be disabled') - - // metafile required to get output metadata - if (!metafile) throw new Error('metafile required') - - return void onEnd( - async (result: BuildResult<SpecificOptions>): Promise<OnEndResult> => { - /** - * Output file objects. - * - * @const {OutputFile[]} outputFiles - */ - const outputFiles: OutputFile[] = [] - - for (const output of result.outputFiles) { - /** - * {@linkcode output} metadata. - * - * @const {OutputMetadata} metadata - */ - const metadata: OutputMetadata = get( - result.metafile.outputs, - output.path.replace(absWorkingDir, '').replace(/^\//, '') - ) - - /** - * Relative path to source file. - * - * @const {string} entryPoint - */ - const entryPoint: string = get( - metadata, - 'entryPoint', - // because this plugin doesn't handle bundles, the entry point can - // fallback to the first (and only!) key in metadata.inputs - at(keys(metadata.inputs), 0, '') - ) - - // skip output files without entry points - if (!entryPoint) { - outputFiles.push(output) - continue - } - - // reset entry point - metadata.entryPoint = entryPoint - - try { - // redefine output text - define(output, 'text', { - get: constant( - await mlly.fillModules(output.text, { - conditions: new Set(conditions), - ext, - extensions: new Set(resolveExtensions), - parent: mlly.toURL(pathe.join(absWorkingDir, entryPoint)), - preserveSymlinks - }) - ) - }) - - // reset output contents - output.contents = new util.TextEncoder().encode(output.text) - - // add output file with fully specified modules - outputFiles.push(output) - } catch (e: unknown) { - const { code, message, stack = '' } = cast<NodeError>(e) - - return { - errors: [ - { - id: code, - location: null, - notes: [{ location: null, text: stack }], - pluginName: PLUGIN_NAME, - text: message - } - ] - } - } - } - - // reset output files - result.outputFiles = outputFiles - - return {} - } - ) - } - - return { name: PLUGIN_NAME, setup } -} - -export default plugin diff --git a/src/plugins/index.ts b/src/plugins/index.ts deleted file mode 100644 index b5e6a60e..00000000 --- a/src/plugins/index.ts +++ /dev/null @@ -1,14 +0,0 @@ -/** - * @file Entry Point - Plugins - * @module mkbuild/plugins - */ - -export { default as clean } from './clean/plugin' -export { default as createRequire } from './create-require/plugin' -export { default as decorators } from './decorators/plugin' -export { default as dts } from './dts/plugin' -export { default as filter } from './filter/plugin' -export { default as fullySpecified } from './fully-specified/plugin' -export { default as pkgtype } from './pkgtype/plugin' -export { default as tsconfigPaths } from './tsconfig-paths/plugin' -export { default as write } from './write/plugin' diff --git a/src/plugins/metadata.mts b/src/plugins/metadata.mts new file mode 100644 index 00000000..973b5e8f --- /dev/null +++ b/src/plugins/metadata.mts @@ -0,0 +1,75 @@ +/** + * @file Plugins - metadata + * @module mkbuild/plugins/metadata + */ + +import { ksort } from '@flex-development/tutils' +import type { + NormalizedOutputOptions, + OutputBundle, + Plugin, + PluginContext +} from 'rollup' + +/** + * Plugin name. + * + * @internal + * + * @const {string} PLUGIN_NAME + */ +const PLUGIN_NAME: string = 'mkbuild:metadata' + +plugin.PLUGIN_NAME = PLUGIN_NAME +export default plugin + +/** + * Create a build metadata plugin. + * + * @see {@linkcode Plugin} + * + * @internal + * + * @this {void} + * + * @return {Plugin} + * Build metadata plugin + */ +function plugin(this: void): Plugin { + return { generateBundle, name: PLUGIN_NAME } + + /** + * Attach additional metadata to output assets and chunks. + * + * @see https://rollupjs.org/plugin-development/#generatebundle + * + * @this {PluginContext} + * + * @param {NormalizedOutputOptions} options + * Normalized output options + * @param {OutputBundle} bundle + * Output bundle + * @return {undefined} + */ + function generateBundle( + this: PluginContext, + options: NormalizedOutputOptions, + bundle: OutputBundle + ): undefined { + for (const output of Object.values(bundle)) { + /** + * Output file contents. + * + * @const {Uint8Array | string} contents + */ + const contents: Uint8Array | string = 'code' in output + ? output.code + : output.source + + output.bytes = Buffer.byteLength(contents) + ksort(output) + } + + return void this + } +} diff --git a/src/plugins/pkgtype/__tests__/plugin.integration.spec.ts b/src/plugins/pkgtype/__tests__/plugin.integration.spec.ts deleted file mode 100644 index c1400216..00000000 --- a/src/plugins/pkgtype/__tests__/plugin.integration.spec.ts +++ /dev/null @@ -1,45 +0,0 @@ -/** - * @file Integration Tests - pkgtype plugin - * @module mkbuild/plugins/tests/integration/pkgtype - */ - -import ESBUILD_OPTIONS from '#fixtures/options-esbuild' -import * as mlly from '@flex-development/mlly' -import pathe from '@flex-development/pathe' -import togglePkgType from '@flex-development/toggle-pkg-type' -import * as esbuild from 'esbuild' -import testSubject from '../plugin' - -vi.mock('@flex-development/toggle-pkg-type') - -describe('integration:plugins/pkgtype', () => { - let absWorkingDir: string - let options: esbuild.BuildOptions & { metafile: true; write: false } - - beforeAll(() => { - absWorkingDir = pathe.resolve('__fixtures__/pkg/find-uniq') - options = { - ...ESBUILD_OPTIONS, - absWorkingDir, - logLevel: 'silent', - plugins: [testSubject(mlly.readPackageJson(absWorkingDir)!)] - } - }) - - describe('esbuild', () => { - it('should toggle package type', async () => { - // Act - await esbuild.build({ - ...options, - entryPoints: ['find-uniq.cts'], - format: 'cjs', - loader: { '.cts': 'ts' }, - outExtension: { '.js': '.cjs' } - }) - - // Expect - expect(togglePkgType).toHaveBeenCalledTimes(2) - expect(togglePkgType).toHaveBeenCalledWith(null, absWorkingDir) - }) - }) -}) diff --git a/src/plugins/pkgtype/plugin.ts b/src/plugins/pkgtype/plugin.ts deleted file mode 100644 index 6ad1439d..00000000 --- a/src/plugins/pkgtype/plugin.ts +++ /dev/null @@ -1,49 +0,0 @@ -/** - * @file Plugins - pkgtype - * @module mkbuild/plugins/pkgtype/plugin - */ - -import type { PackageJson } from '@flex-development/pkg-types' -import togglePkgType from '@flex-development/toggle-pkg-type' -import type { BuildOptions, Plugin, PluginBuild } from 'esbuild' - -/** - * Returns a plugin to toggle the [`type`][1] field in the given `pkg`. - * - * [1]: https://nodejs.org/api/packages.html#type - * - * @see https://github.com/evanw/esbuild/issues/2026 - * @see https://github.com/flex-development/toggle-pkg-type - * - * @param {PackageJson} pkg - `package.json` object - * @return {Plugin} Package [`type`][1] toggle plugin - */ -const plugin = (pkg: PackageJson): Plugin => { - /** - * Toggles the [`type`][1] field in a `package.json` object. - * - * [1]: https://esbuild.github.io/plugins - * [2]: https://esbuild.github.io/api/#build-api - * - * @param {PluginBuild} build - [esbuild plugin api][1] - * @param {BuildOptions} build.initialOptions - [esbuild build api][2] options - * @param {PluginBuild['onEnd']} build.onEnd - Build end callback - * @param {PluginBuild['onStart']} build.onStart - Build start callback - * @return {void} Nothing when complete - */ - const setup = ({ initialOptions, onEnd, onStart }: PluginBuild): void => { - const { absWorkingDir = process.cwd(), format } = initialOptions - - // enable type field toggling - if (pkg.type === 'module' && format === 'cjs') { - onStart(() => togglePkgType(null, absWorkingDir)) - onEnd(() => togglePkgType(null, absWorkingDir)) - } - - return void 0 - } - - return { name: 'pkgtype', setup } -} - -export default plugin diff --git a/src/plugins/resolve.mts b/src/plugins/resolve.mts new file mode 100644 index 00000000..c2cde39c --- /dev/null +++ b/src/plugins/resolve.mts @@ -0,0 +1,208 @@ +/** + * @file Plugins - resolve + * @module mkbuild/plugins/resolve + */ + +import VIRTUAL_MODULE_RE from '#internal/virtual-module-re' +import type WithUndefined from '#types/with-undefined' +import { isBuiltin } from '@flex-development/is-builtin' +import type { + ResolveIdOptions, + ResolveOptions +} from '@flex-development/mkbuild' +import { + isRelativeSpecifier, + resolveAlias, + resolveModule, + toRelativeSpecifier, + type ResolveModuleOptions +} from '@flex-development/mlly' +import pathe from '@flex-development/pathe' +import { ok } from 'devlop' +import type { + NormalizedInputOptions, + PartialResolvedId, + Plugin, + PluginContext +} from 'rollup' + +/** + * Plugin name. + * + * @internal + * + * @const {string} PLUGIN_NAME + */ +const PLUGIN_NAME: string = 'mkbuild:resolve' + +plugin.PLUGIN_NAME = PLUGIN_NAME +export default plugin + +/** + * Plugin API. + * + * @see {@linkcode ResolveModuleOptions} + * + * @internal + * + * @extends {ResolveModuleOptions} + */ +interface Api extends ResolveModuleOptions { + /** + * URL of root directory. + * + * @override + */ + cwd: URL +} + +/** + * Create a module resolver plugin. + * + * @todo `makeAbsoluteExternalsRelative` support (?) + * + * @internal + * + * @see {@linkcode Api} + * @see {@linkcode Plugin} + * @see {@linkcode ResolveOptions} + * + * @this {void} + * + * @param {ResolveOptions | null | undefined} [options] + * Module resolve options + * @return {Plugin<Api>} + * Module resolver plugin + */ +function plugin( + this: void, + options?: ResolveOptions | null | undefined +): Plugin<Api> { + /** + * Plugin api. + * + * @const {Api} api + */ + const api: Api = { ...options } as Api + + return { + api, + buildStart, + name: PLUGIN_NAME, + resolveId + } + + /** + * Initialize the plugin api. + * + * @this {PluginContext} + * + * @param {NormalizedInputOptions} options + * Normalized input options + * @return {undefined} + */ + function buildStart( + this: PluginContext, + options: NormalizedInputOptions + ): undefined { + ok(typeof options.root === 'string', 'expected `root`') + + api.cwd = pathe.pathToFileURL(options.root) + + api.extensions ??= [ + '.mjs', + '.js', + '.mts', + '.ts', + '.jsx', + '.tsx', + '.json' + ] + + api.fs = options.fs + + return void this + } + + /** + * Resolve `id`. + * + * > 👉 **Note**: Does nothing if `id` follows virtual module naming + * > conventions. + * + * @see https://rollupjs.org/plugin-development/#resolveid + * + * @async + * + * @this {PluginContext} + * + * @param {string} id + * The module specifier to resolve + * @param {string | undefined} importer + * The parent module path + * @param {ResolveIdOptions} options + * Hook options + * @return {Promise<PartialResolvedId | undefined>} + * Resolve result + * @throws {unknown} + */ + async function resolveId( + this: PluginContext, + id: string, + importer: string | undefined, + options: ResolveIdOptions + ): Promise<PartialResolvedId | undefined> { + /** + * Resolve result. + * + * @var {WithUndefined<PartialResolvedId> | undefined} resolved + */ + let resolved: WithUndefined<PartialResolvedId> | undefined + + if (!VIRTUAL_MODULE_RE.test(id)) { + ok(api.cwd, 'expected `api.cwd`') + + /** + * URL of parent module. + * + * @const {URL} parent + */ + const parent: URL = importer ? pathe.pathToFileURL(importer) : api.cwd + + if (isBuiltin(id)) { + resolved = { + external: true, + id: String(await resolveModule(id, parent)) + } + } else { + /** + * Specifier of aliased module. + * + * @const {string | null} url + */ + const aliased: string | null = resolveAlias(id, { + ...api, + absolute: false, + parent + }) + + // reset `id` if path alias match was found + id = aliased ?? id + + /** + * URL of resolved module. + * + * @const {URL} url + */ + const url: URL = await resolveModule(id, parent, api) + + resolved = { + external: !options.isEntry, + id: isRelativeSpecifier(id) ? toRelativeSpecifier(url, parent) : id + } + } + } + + return resolved as PartialResolvedId + } +} diff --git a/src/plugins/tsconfig-paths/__mocks__/plugin.ts b/src/plugins/tsconfig-paths/__mocks__/plugin.ts deleted file mode 100644 index f965a8a9..00000000 --- a/src/plugins/tsconfig-paths/__mocks__/plugin.ts +++ /dev/null @@ -1,10 +0,0 @@ -/** - * @file Mock Plugins - tsconfig-paths - * @module mkbuild/plugins/tsconfig-paths/mocks/plugin - */ - -import type { Plugin } from 'esbuild' - -export default vi - .fn((): Plugin => ({ name: 'tsconfig-paths', setup: vi.fn() })) - .mockName('tsconfigPaths') diff --git a/src/plugins/tsconfig-paths/__snapshots__/plugin.integration.snap b/src/plugins/tsconfig-paths/__snapshots__/plugin.integration.snap deleted file mode 100644 index 7cfabe85..00000000 --- a/src/plugins/tsconfig-paths/__snapshots__/plugin.integration.snap +++ /dev/null @@ -1,36 +0,0 @@ -// Vitest Snapshot v1, https://vitest.dev/guide/snapshot.html - -exports[`integration:plugins/tsconfig-paths > esbuild > should resolve path aliases in output files 1`] = ` -[ - { - "assertion": "", - "code": "import MAX_VALUE from \\"./max-value\\"", - "end": 35, - "imports": [ - "MAX_VALUE", - ], - "kind": "import", - "specifier": "./max-value", - "specifier_kind": "relative", - "specifier_syntax": "static", - "start": 0, - "syntax": "default", - "type": false, - }, - { - "assertion": "", - "code": "import MIN_VALUE from \\"./min-value\\"", - "end": 72, - "imports": [ - "MIN_VALUE", - ], - "kind": "import", - "specifier": "./min-value", - "specifier_kind": "relative", - "specifier_syntax": "static", - "start": 37, - "syntax": "default", - "type": false, - }, -] -`; diff --git a/src/plugins/tsconfig-paths/__tests__/plugin.integration.spec.ts b/src/plugins/tsconfig-paths/__tests__/plugin.integration.spec.ts deleted file mode 100644 index 7e24b47c..00000000 --- a/src/plugins/tsconfig-paths/__tests__/plugin.integration.spec.ts +++ /dev/null @@ -1,73 +0,0 @@ -/** - * @file Integration Tests - tsconfig-paths plugin - * @module mkbuild/plugins/tests/integration/tsconfig-paths - */ - -import ESBUILD_OPTIONS from '#fixtures/options-esbuild' -import { - ERR_INVALID_MODULE_SPECIFIER, - type NodeError -} from '@flex-development/errnode' -import * as mlly from '@flex-development/mlly' -import pathe from '@flex-development/pathe' -import * as tscu from '@flex-development/tsconfig-utils' -import { cast } from '@flex-development/tutils' -import * as esbuild from 'esbuild' -import testSubject from '../plugin' - -vi.mock('@flex-development/tsconfig-utils') - -describe('integration:plugins/tsconfig-paths', () => { - let options: esbuild.BuildOptions & { metafile: true; write: false } - - beforeAll(() => { - options = { - ...ESBUILD_OPTIONS, - absWorkingDir: pathe.resolve('__fixtures__/pkg/reverse'), - entryPoints: ['src/reverse.mts'], - format: 'esm', - loader: { '.mts': 'ts' }, - logLevel: 'silent', - outExtension: { '.js': '.mjs' }, - plugins: [testSubject()], - sourcemap: true, - sourcesContent: false - } - }) - - describe('esbuild', () => { - it('should resolve path aliases in output files', async () => { - // Act - const { errors, outputFiles, warnings } = await esbuild.build(options) - - // Expect - expect(errors).to.be.an('array').that.is.empty - expect(warnings).to.be.an('array').that.is.empty - expect(mlly.findStaticImports(outputFiles[1]?.text)).toMatchSnapshot() - }) - - it('should throw if error occurs', async () => { - // Arrange - const error: NodeError = new ERR_INVALID_MODULE_SPECIFIER('#src\\utils') - let errors: esbuild.Message[] = [] - - // Act - try { - vi.mocked(tscu.resolvePaths).mockRejectedValueOnce(error) - await esbuild.build(options) - } catch (e: unknown) { - errors = cast<esbuild.BuildFailure>(e).errors - } - - // Expect - expect(errors).to.be.an('array').of.length(1) - expect(errors[0]).to.have.property('id', error.code) - expect(errors[0]).to.have.property('location', null) - expect(errors[0]).to.have.property('notes').be.an('array').of.length(1) - expect(errors[0]).to.have.property('pluginName').equal('tsconfig-paths') - expect(errors[0]).to.have.property('text', error.message) - expect(errors[0]!.notes[0]).to.have.property('location', null) - expect(errors[0]!.notes[0]).to.have.property('text', error.stack) - }) - }) -}) diff --git a/src/plugins/tsconfig-paths/__tests__/plugin.spec.ts b/src/plugins/tsconfig-paths/__tests__/plugin.spec.ts deleted file mode 100644 index 96cda20b..00000000 --- a/src/plugins/tsconfig-paths/__tests__/plugin.spec.ts +++ /dev/null @@ -1,61 +0,0 @@ -/** - * @file Unit Tests - tsconfig-paths plugin - * @module mkbuild/plugins/tests/unit/tsconfig-paths - */ - -import createPluginAPI from '#tests/utils/create-plugin-api' -import { cast } from '@flex-development/tutils' -import type * as esbuild from 'esbuild' -import testSubject from '../plugin' - -describe('unit:plugins/tsconfig-paths', () => { - let subject: esbuild.Plugin - - beforeEach(() => { - subject = testSubject() - }) - - it('should do nothing if bundling', async () => { - // Arrange - const api: esbuild.PluginBuild = createPluginAPI({ - initialOptions: { bundle: true } - }) - - // Act - await subject.setup(api) - - // Expect - expect(api.onResolve).toHaveBeenCalledTimes(0) - expect(api.onEnd).toHaveBeenCalledTimes(0) - }) - - it('should throw if esbuild is writing output files', async () => { - // Arrange - let error!: Error - - // Act - try { - await subject.setup(createPluginAPI({ initialOptions: { write: true } })) - } catch (e: unknown) { - error = cast(e) - } - - // Expect - expect(error).to.have.property('message', 'write must be disabled') - }) - - it('should throw if metafile is disabled', async () => { - // Arrange - let error!: Error - - // Act - try { - await subject.setup(createPluginAPI()) - } catch (e: unknown) { - error = cast(e) - } - - // Expect - expect(error).to.have.property('message', 'metafile required') - }) -}) diff --git a/src/plugins/tsconfig-paths/plugin.ts b/src/plugins/tsconfig-paths/plugin.ts deleted file mode 100644 index 8a18826d..00000000 --- a/src/plugins/tsconfig-paths/plugin.ts +++ /dev/null @@ -1,171 +0,0 @@ -/** - * @file Plugins - tsconfig-paths - * @module mkbuild/plugins/tsconfig-paths/plugin - */ - -import type { OutputMetadata } from '#src/types' -import type { NodeError } from '@flex-development/errnode' -import pathe from '@flex-development/pathe' -import * as tscu from '@flex-development/tsconfig-utils' -import { at, cast, constant, define, get, keys } from '@flex-development/tutils' -import type { - BuildOptions, - BuildResult, - OnEndResult, - OutputFile, - Plugin, - PluginBuild -} from 'esbuild' -import util from 'node:util' - -/** - * Plugin-specific build options. - * - * @internal - */ -type SpecificOptions = { metafile: true; write: false } - -/** - * Plugin name. - * - * @const {string} PLUGIN_NAME - */ -const PLUGIN_NAME: string = 'tsconfig-paths' - -/** - * Returns a path alias resolution plugin. - * - * @see https://github.com/flex-development/tsconfig-utils#resolvepathscode-options - * - * @param {tscu.LoadTsconfigOptions} [options] - Plugin options - * @return {Plugin} Path alias resolution plugin - */ -const plugin = ({ file, read }: tscu.LoadTsconfigOptions = {}): Plugin => { - /** - * Resolves path aliases in output file content. - * - * [1]: https://esbuild.github.io/plugins - * [2]: https://esbuild.github.io/api/#build-api - * - * @param {PluginBuild} build - [esbuild plugin api][1] - * @param {BuildOptions} build.initialOptions - [esbuild build api][2] options - * @param {PluginBuild['onEnd']} build.onEnd - Build end callback - * @return {void} Nothing when complete - * @throws {Error} - */ - const setup = ({ initialOptions, onEnd }: PluginBuild): void => { - const { - absWorkingDir = process.cwd(), - bundle, - conditions, - metafile, - resolveExtensions, - preserveSymlinks, - tsconfig = 'tsconfig.json', - write - } = initialOptions - - // esbuild handles path aliases when bundling - if (bundle) return void bundle - - // esbuild write must be disabled to access result.outputFiles - if (write) throw new Error('write must be disabled') - - // metafile required to get output metadata - if (!metafile) throw new Error('metafile required') - - return void onEnd( - async (result: BuildResult<SpecificOptions>): Promise<OnEndResult> => { - /** - * Output file objects. - * - * @const {OutputFile[]} outputFiles - */ - const outputFiles: OutputFile[] = [] - - // resolve path aliases in output content - for (const output of result.outputFiles) { - /** - * {@linkcode output} metadata. - * - * @const {OutputMetadata} metadata - */ - const metadata: OutputMetadata = get( - result.metafile.outputs, - output.path.replace(absWorkingDir, '').replace(/^\//, '') - ) - - /** - * Relative path to source file. - * - * @const {string} entryPoint - */ - const entryPoint: string = get( - metadata, - 'entryPoint', - // because this plugin doesn't handle bundles, the entry point can - // fallback to the first (and only!) key in metadata.inputs - at(keys(metadata.inputs), 0, '') - ) - - // skip output files without entry points - if (!entryPoint) { - outputFiles.push(output) - continue - } - - // reset entry point - metadata.entryPoint = entryPoint - - try { - // replace path aliases - define(output, 'text', { - get: constant( - await tscu.resolvePaths(output.text, { - baseUrl: absWorkingDir, - conditions: new Set(conditions), - ext: '', - extensions: new Set(resolveExtensions), - file, - parent: pathe.resolve(absWorkingDir, entryPoint), - preserveSymlinks, - read, - tsconfig: pathe.resolve(absWorkingDir, tsconfig) - }) - ) - }) - - // reset output contents - output.contents = new util.TextEncoder().encode(output.text) - - // add output file with path aliases replaced - outputFiles.push(output) - } catch (e: unknown) { - const { code, message, stack = '' } = cast<NodeError>(e) - - return { - errors: [ - { - id: code, - location: null, - notes: [{ location: null, text: stack }], - pluginName: PLUGIN_NAME, - text: message - } - ] - } - } - } - - // reset output files - result.outputFiles = outputFiles - - return {} - } - ) - } - - return { name: PLUGIN_NAME, setup } -} - -export { plugin as default } diff --git a/src/plugins/write.mts b/src/plugins/write.mts new file mode 100644 index 00000000..d3890c34 --- /dev/null +++ b/src/plugins/write.mts @@ -0,0 +1,104 @@ +/** + * @file Plugins - write + * @module mkbuild/plugins/write + */ + +import type { FileSystem } from '@flex-development/mkbuild' +import pathe from '@flex-development/pathe' +import { fallback } from '@flex-development/tutils' +import { ok } from 'devlop' +import type { + NormalizedOutputOptions, + OutputBundle, + Plugin, + PluginContext +} from 'rollup' + +/** + * Plugin name. + * + * @internal + * + * @const {string} PLUGIN_NAME + */ +const PLUGIN_NAME: string = 'mkbuild:write' + +plugin.PLUGIN_NAME = PLUGIN_NAME +export default plugin + +/** + * Create an output file writer plugin. + * + * @internal + * + * @see {@linkcode FileSystem} + * @see {@linkcode Plugin} + * + * @this {void} + * + * @return {Plugin} + * Output file writer plugin + */ +function plugin(this: void): Plugin { + return { + generateBundle: { handler: generateBundle, order: 'post' }, + name: PLUGIN_NAME + } + + /** + * Write output files if rollup is not. + * + * @see https://rollupjs.org/plugin-development/#generatebundle + * + * @async + * + * @this {PluginContext} + * + * @param {NormalizedOutputOptions} options + * Normalized output options + * @param {OutputBundle} bundle + * Output bundle + * @param {boolean} isWrite + * Rollup writing output files? + * @return {Promise<undefined>} + */ + async function generateBundle( + this: PluginContext, + options: NormalizedOutputOptions, + bundle: OutputBundle, + isWrite: boolean + ): Promise<undefined> { + ok(typeof options.fs === 'object', 'expected `options.fs`') + ok(typeof options.root === 'string', 'expected `options.root`') + ok(typeof options.write === 'boolean', 'expected `options.write`') + + if (!isWrite && options.root && options.write) { + for (const output of Object.values(bundle)) { + /** + * Absolute path to output file. + * + * @const {string} path + */ + const path: string = pathe.join( + options.root, + fallback(options.dir, ''), + output.fileName + ) + + /** + * Output file contents. + * + * @const {string} contents + */ + const contents: string = 'code' in output + ? output.code + : String(output.source) + + await options.fs.mkdir(pathe.dirname(path), { recursive: true }) + await options.fs.writeFile(path, contents) + } + } + + return void this + } +} diff --git a/src/plugins/write/__mocks__/plugin.ts b/src/plugins/write/__mocks__/plugin.ts deleted file mode 100644 index f833810d..00000000 --- a/src/plugins/write/__mocks__/plugin.ts +++ /dev/null @@ -1,10 +0,0 @@ -/** - * @file Mock Plugins - write - * @module mkbuild/plugins/write/mocks/plugin - */ - -import type { Plugin } from 'esbuild' - -export default vi - .fn((): Plugin => ({ name: 'write', setup: vi.fn() })) - .mockName('write') diff --git a/src/plugins/write/__tests__/options.spec-d.ts b/src/plugins/write/__tests__/options.spec-d.ts deleted file mode 100644 index 444c5a6d..00000000 --- a/src/plugins/write/__tests__/options.spec-d.ts +++ /dev/null @@ -1,28 +0,0 @@ -/** - * @file Type Tests - WritePluginOptions - * @module mkbuild/plugins/tests/unit-d/write/WritePluginOptions - */ - -import type { FileSystemAdapter } from '#src/types' -import type { Optional } from '@flex-development/tutils' -import type TestSubject from '../options' - -describe('unit-d:plugins/write/WritePluginOptions', () => { - it('should match [filter?: Optional<RegExp>]', () => { - expectTypeOf<TestSubject>() - .toHaveProperty('filter') - .toEqualTypeOf<Optional<RegExp>>() - }) - - it('should match [mkdir?: FileSystemAdapter["mkdir"]]', () => { - expectTypeOf<TestSubject>() - .toHaveProperty('mkdir') - .toEqualTypeOf<Optional<FileSystemAdapter['mkdir']>>() - }) - - it('should match [writeFile?: FileSystemAdapter["writeFile"]]', () => { - expectTypeOf<TestSubject>() - .toHaveProperty('writeFile') - .toEqualTypeOf<Optional<FileSystemAdapter['writeFile']>>() - }) -}) diff --git a/src/plugins/write/__tests__/plugin.integration.spec.ts b/src/plugins/write/__tests__/plugin.integration.spec.ts deleted file mode 100644 index 66508872..00000000 --- a/src/plugins/write/__tests__/plugin.integration.spec.ts +++ /dev/null @@ -1,49 +0,0 @@ -/** - * @file Integration Tests - write plugin - * @module mkbuild/plugins/tests/integration/write - */ - -import ESBUILD_OPTIONS from '#fixtures/options-esbuild' -import vfs from '#fixtures/volume' -import pathe from '@flex-development/pathe' -import * as esbuild from 'esbuild' -import testSubject from '../plugin' - -vi.mock('#src/utils/fs') - -describe('integration:plugins/write', () => { - let options: esbuild.BuildOptions & { metafile: true; write: false } - - afterEach(() => { - vfs.reset() - }) - - beforeAll(() => { - options = { - ...ESBUILD_OPTIONS, - logLevel: 'silent', - plugins: [testSubject()] - } - }) - - describe('esbuild', () => { - it('should write output files', async () => { - // Arrange - const absWorkingDir: string = pathe.resolve('__fixtures__/pkg/dbl-linear') - const path: string = pathe.resolve(absWorkingDir, 'dist/dbl-linear.mjs') - - // Act - await esbuild.build({ - ...options, - absWorkingDir, - entryPoints: ['dbl-linear.ts'], - format: 'esm', - loader: { '.mts': 'ts' }, - outExtension: { '.js': '.mjs' } - }) - - // Expect - expect(vfs.toJSON()).to.have.property(path).be.a('string') - }) - }) -}) diff --git a/src/plugins/write/__tests__/plugin.spec.ts b/src/plugins/write/__tests__/plugin.spec.ts deleted file mode 100644 index 505c3201..00000000 --- a/src/plugins/write/__tests__/plugin.spec.ts +++ /dev/null @@ -1,32 +0,0 @@ -/** - * @file Unit Tests - write plugin - * @module mkbuild/plugins/tests/unit/write - */ - -import createPluginAPI from '#tests/utils/create-plugin-api' -import { cast } from '@flex-development/tutils' -import type * as esbuild from 'esbuild' -import testSubject from '../plugin' - -describe('unit:plugins/write', () => { - let subject: esbuild.Plugin - - beforeEach(() => { - subject = testSubject() - }) - - it('should throw if esbuild is writing output files', async () => { - // Arrange - let error!: Error - - // Act - try { - await subject.setup(createPluginAPI({ initialOptions: { write: true } })) - } catch (e: unknown) { - error = cast(e) - } - - // Expect - expect(error).to.have.property('message', 'write must be disabled') - }) -}) diff --git a/src/plugins/write/options.ts b/src/plugins/write/options.ts deleted file mode 100644 index a8bb7352..00000000 --- a/src/plugins/write/options.ts +++ /dev/null @@ -1,37 +0,0 @@ -/** - * @file Plugin Options - write - * @module mkbuild/plugins/write/options - */ - -import type { FileSystemAdapter } from '#src/types' -import type { Optional } from '@flex-development/tutils' - -/** - * Output file writing options. - */ -interface WritePluginOptions { - /** - * Regex pattern matching the `path` of an output file that should be written. - * - * @default /.+/ - */ - filter?: Optional<RegExp> - - /** - * Creates a directory. - * - * If the directory structure does not exist, it will be created. - * - * @default fsa.mkdir - */ - mkdir?: FileSystemAdapter['mkdir'] - - /** - * Writes data to a file. - * - * @default fsa.writeFile - */ - writeFile?: FileSystemAdapter['writeFile'] -} - -export type { WritePluginOptions as default } diff --git a/src/plugins/write/plugin.ts b/src/plugins/write/plugin.ts deleted file mode 100644 index 6d383436..00000000 --- a/src/plugins/write/plugin.ts +++ /dev/null @@ -1,61 +0,0 @@ -/** - * @file Plugins - write - * @module mkbuild/plugins/write/plugin - */ - -import fsa from '#src/utils/fs' -import pathe from '@flex-development/pathe' -import type { BuildOptions, BuildResult, Plugin, PluginBuild } from 'esbuild' -import type Options from './options' - -/** - * Plugin-specific build options. - * - * @internal - */ -type SpecificOptions = { write: false } - -/** - * Returns a output file writer plugin. - * - * @param {Options} [options] - Plugin options - * @return {Plugin} Output file writer plugin - */ -const plugin = ({ - filter = /.+/, - mkdir = fsa.mkdir, - writeFile = fsa.writeFile -}: Options = {}): Plugin => { - /** - * Writes output files. - * - * [1]: https://esbuild.github.io/plugins - * [2]: https://esbuild.github.io/api/#build-api - * - * @param {PluginBuild} build - [esbuild plugin api][1] - * @param {BuildOptions} build.initialOptions - [esbuild build api][2] options - * @param {PluginBuild['onEnd']} build.onEnd - Build end callback - * @return {void} Nothing when complete - * @throws {Error} - */ - const setup = ({ initialOptions, onEnd }: PluginBuild): void => { - // esbuild write must be disabled to access result.outputFiles - if (initialOptions.write) throw new Error('write must be disabled') - - // write output files - return void onEnd( - async (result: BuildResult<SpecificOptions>): Promise<void> => { - for (const output of result.outputFiles) { - if (filter.test(output.path)) { - await mkdir(pathe.dirname(output.path), { recursive: true }) - await writeFile(output.path, output.text, 'utf8') - } - } - } - ) - } - - return { name: 'write', setup } -} - -export { plugin as default, type Options } diff --git a/src/types/__tests__/adapter-file-system.spec-d.ts b/src/types/__tests__/adapter-file-system.spec-d.ts deleted file mode 100644 index f655ef46..00000000 --- a/src/types/__tests__/adapter-file-system.spec-d.ts +++ /dev/null @@ -1,58 +0,0 @@ -/** - * @file Type Tests - FileSystemAdapter - * @module mkbuild/types/tests/unit-d/FileSystemAdapter - */ - -import type fs from 'node:fs' -import type fsp from 'node:fs/promises' -import type TestSubject from '../adapter-file-system' - -describe('unit-d:types/FileSystemAdapter', () => { - it('should match [lstat: (typeof fs)["lstat"]]', () => { - expectTypeOf<TestSubject>() - .toHaveProperty('lstat') - .toEqualTypeOf<(typeof fs)['lstat']>() - }) - - it('should match [mkdir: (typeof fsp)["mkdir"]]', () => { - expectTypeOf<TestSubject>() - .toHaveProperty('mkdir') - .toEqualTypeOf<(typeof fsp)['mkdir']>() - }) - - it('should match [readdir: (typeof fsp)["readdir"]]', () => { - expectTypeOf<TestSubject>() - .toHaveProperty('readdir') - .toEqualTypeOf<(typeof fsp)['readdir']>() - }) - - it('should match [readdirSync: (typeof fs)["readdirSync"]]', () => { - expectTypeOf<TestSubject>() - .toHaveProperty('readdirSync') - .toEqualTypeOf<(typeof fs)['readdirSync']>() - }) - - it('should match [rm: (typeof fsp)["rm"]]', () => { - expectTypeOf<TestSubject>() - .toHaveProperty('rm') - .toEqualTypeOf<(typeof fsp)['rm']>() - }) - - it('should match [stat: (typeof fs)["stat"]]', () => { - expectTypeOf<TestSubject>() - .toHaveProperty('stat') - .toEqualTypeOf<(typeof fs)['stat']>() - }) - - it('should match [unlink: (typeof fsp)["unlink"]]', () => { - expectTypeOf<TestSubject>() - .toHaveProperty('unlink') - .toEqualTypeOf<(typeof fsp)['unlink']>() - }) - - it('should match [writeFile: (typeof fsp)["writeFile"]]', () => { - expectTypeOf<TestSubject>() - .toHaveProperty('writeFile') - .toEqualTypeOf<(typeof fsp)['writeFile']>() - }) -}) diff --git a/src/types/__tests__/asset-file-names-fn.spec-d.mts b/src/types/__tests__/asset-file-names-fn.spec-d.mts new file mode 100644 index 00000000..924cc10d --- /dev/null +++ b/src/types/__tests__/asset-file-names-fn.spec-d.mts @@ -0,0 +1,25 @@ +/** + * @file Type Tests - AssetFileNamesFn + * @module mkbuild/types/tests/unit-d/AssetFileNamesFn + */ + +import type TestSubject from '#types/asset-file-names-fn' +import type { PreRenderedAsset } from 'rollup' + +describe('unit-d:types/AssetFileNamesFn', () => { + it('should match [this: void]', () => { + expectTypeOf<TestSubject>().thisParameter.toEqualTypeOf<void>() + }) + + describe('parameters', () => { + it('should be callable with [PreRenderedAsset]', () => { + expectTypeOf<TestSubject>().parameters.toEqualTypeOf<[PreRenderedAsset]>() + }) + }) + + describe('returns', () => { + it('should return string', () => { + expectTypeOf<TestSubject>().returns.toEqualTypeOf<string>() + }) + }) +}) diff --git a/src/types/__tests__/banner-fn.spec-d.mts b/src/types/__tests__/banner-fn.spec-d.mts new file mode 100644 index 00000000..5e792053 --- /dev/null +++ b/src/types/__tests__/banner-fn.spec-d.mts @@ -0,0 +1,27 @@ +/** + * @file Type Tests - BannerFn + * @module mkbuild/types/tests/unit-d/BannerFn + */ + +import type TestSubject from '#types/banner-fn' +import type { PreRenderedChunk } from 'rollup' + +describe('unit-d:types/BannerFn', () => { + it('should match [this: void]', () => { + expectTypeOf<TestSubject>().thisParameter.toEqualTypeOf<void>() + }) + + describe('parameters', () => { + it('should be callable with [PreRenderedChunk]', () => { + expectTypeOf<TestSubject>().parameters.toEqualTypeOf<[PreRenderedChunk]>() + }) + }) + + describe('returns', () => { + it('should return Promise<string> | string', () => { + expectTypeOf<TestSubject>() + .returns + .toEqualTypeOf<Promise<string> | string>() + }) + }) +}) diff --git a/src/types/__tests__/dts-option.spec-d.mts b/src/types/__tests__/dts-option.spec-d.mts new file mode 100644 index 00000000..48ee3000 --- /dev/null +++ b/src/types/__tests__/dts-option.spec-d.mts @@ -0,0 +1,16 @@ +/** + * @file Type Tests - DTSOption + * @module mkbuild/types/tests/unit-d/DTSOption + */ + +import type TestSubject from '#types/dts-option' + +describe('unit-d:types/DTSOption', () => { + it('should extract "only"', () => { + expectTypeOf<TestSubject>().extract<'only'>().not.toBeNever() + }) + + it('should extract boolean', () => { + expectTypeOf<TestSubject>().extract<boolean>().not.toBeNever() + }) +}) diff --git a/src/types/__tests__/entry-file-names-fn.spec-d.mts b/src/types/__tests__/entry-file-names-fn.spec-d.mts new file mode 100644 index 00000000..d7cf1139 --- /dev/null +++ b/src/types/__tests__/entry-file-names-fn.spec-d.mts @@ -0,0 +1,25 @@ +/** + * @file Type Tests - EntryFileNamesFn + * @module mkbuild/types/tests/unit-d/EntryFileNamesFn + */ + +import type TestSubject from '#types/entry-file-names-fn' +import type { PreRenderedChunk } from 'rollup' + +describe('unit-d:types/EntryFileNamesFn', () => { + it('should match [this: void]', () => { + expectTypeOf<TestSubject>().thisParameter.toEqualTypeOf<void>() + }) + + describe('parameters', () => { + it('should be callable with [PreRenderedChunk]', () => { + expectTypeOf<TestSubject>().parameters.toEqualTypeOf<[PreRenderedChunk]>() + }) + }) + + describe('returns', () => { + it('should return string', () => { + expectTypeOf<TestSubject>().returns.toEqualTypeOf<string>() + }) + }) +}) diff --git a/src/types/__tests__/footer-fn.spec-d.mts b/src/types/__tests__/footer-fn.spec-d.mts new file mode 100644 index 00000000..fb6afb9c --- /dev/null +++ b/src/types/__tests__/footer-fn.spec-d.mts @@ -0,0 +1,27 @@ +/** + * @file Type Tests - FooterFn + * @module mkbuild/types/tests/unit-d/FooterFn + */ + +import type TestSubject from '#types/footer-fn' +import type { PreRenderedChunk } from 'rollup' + +describe('unit-d:types/FooterFn', () => { + it('should match [this: void]', () => { + expectTypeOf<TestSubject>().thisParameter.toEqualTypeOf<void>() + }) + + describe('parameters', () => { + it('should be callable with [PreRenderedChunk]', () => { + expectTypeOf<TestSubject>().parameters.toEqualTypeOf<[PreRenderedChunk]>() + }) + }) + + describe('returns', () => { + it('should return Promise<string> | string', () => { + expectTypeOf<TestSubject>() + .returns + .toEqualTypeOf<Promise<string> | string>() + }) + }) +}) diff --git a/src/types/__tests__/format.spec-d.mts b/src/types/__tests__/format.spec-d.mts new file mode 100644 index 00000000..0f33f3c4 --- /dev/null +++ b/src/types/__tests__/format.spec-d.mts @@ -0,0 +1,20 @@ +/** + * @file Type Tests - Format + * @module mkbuild/types/tests/unit-d/Format + */ + +import type TestSubject from '#types/format' + +describe('unit-d:types/Format', () => { + it('should extract "cjs"', () => { + expectTypeOf<TestSubject>().extract<'cjs'>().not.toBeNever() + }) + + it('should extract "esm"', () => { + expectTypeOf<TestSubject>().extract<'esm'>().not.toBeNever() + }) + + it('should extract "iife"', () => { + expectTypeOf<TestSubject>().extract<'iife'>().not.toBeNever() + }) +}) diff --git a/src/types/__tests__/generated-file-type.spec-d.ts b/src/types/__tests__/generated-file-type.spec-d.ts deleted file mode 100644 index e80f81c2..00000000 --- a/src/types/__tests__/generated-file-type.spec-d.ts +++ /dev/null @@ -1,16 +0,0 @@ -/** - * @file Type Tests - GeneratedFileType - * @module mkbuild/types/tests/unit-d/GeneratedFileType - */ - -import type TestSubject from '../generated-file-type' - -describe('unit-d:types/GeneratedFileType', () => { - it('should extract "css"', () => { - expectTypeOf<TestSubject>().extract<'css'>().not.toBeNever() - }) - - it('should extract "js"', () => { - expectTypeOf<TestSubject>().extract<'js'>().not.toBeNever() - }) -}) diff --git a/src/types/__tests__/input-file.spec-d.mts b/src/types/__tests__/input-file.spec-d.mts new file mode 100644 index 00000000..9e1fb9e5 --- /dev/null +++ b/src/types/__tests__/input-file.spec-d.mts @@ -0,0 +1,12 @@ +/** + * @file Type Tests - InputFile + * @module mkbuild/types/tests/unit-d/InputFile + */ + +import type TestSubject from '#types/input-file' + +describe('unit-d:types/InputFile', () => { + it('should equal string', () => { + expectTypeOf<TestSubject>().toEqualTypeOf<string>() + }) +}) diff --git a/src/types/__tests__/input-list.spec-d.mts b/src/types/__tests__/input-list.spec-d.mts new file mode 100644 index 00000000..17044006 --- /dev/null +++ b/src/types/__tests__/input-list.spec-d.mts @@ -0,0 +1,12 @@ +/** + * @file Type Tests - InputList + * @module mkbuild/types/tests/unit-d/InputList + */ + +import type TestSubject from '#types/input-list' + +describe('unit-d:types/InputList', () => { + it('should equal string[]', () => { + expectTypeOf<TestSubject>().toEqualTypeOf<string[]>() + }) +}) diff --git a/src/types/__tests__/input-map.spec-d.mts b/src/types/__tests__/input-map.spec-d.mts new file mode 100644 index 00000000..586701fa --- /dev/null +++ b/src/types/__tests__/input-map.spec-d.mts @@ -0,0 +1,13 @@ +/** + * @file Type Tests - InputMap + * @module mkbuild/types/tests/unit-d/InputMap + */ + +import type TestSubject from '#types/input-map' +import type { InputFile } from '@flex-development/mkbuild' + +describe('unit-d:types/InputMap', () => { + it('should equal Record<string, InputFile>', () => { + expectTypeOf<TestSubject>().toEqualTypeOf<Record<string, InputFile>>() + }) +}) diff --git a/src/types/__tests__/input.spec-d.mts b/src/types/__tests__/input.spec-d.mts new file mode 100644 index 00000000..2afc8786 --- /dev/null +++ b/src/types/__tests__/input.spec-d.mts @@ -0,0 +1,21 @@ +/** + * @file Type Tests - Input + * @module mkbuild/types/tests/unit-d/Input + */ + +import type TestSubject from '#types/input' +import type { InputFile, InputList, InputMap } from '@flex-development/mkbuild' + +describe('unit-d:types/Input', () => { + it('should extract InputFile', () => { + expectTypeOf<TestSubject>().extract<InputFile>().not.toBeNever() + }) + + it('should extract InputList', () => { + expectTypeOf<TestSubject>().extract<InputList>().not.toBeNever() + }) + + it('should extract InputMap', () => { + expectTypeOf<TestSubject>().extract<InputMap>().not.toBeNever() + }) +}) diff --git a/src/types/__tests__/jsx.spec-d.ts b/src/types/__tests__/jsx-transform.spec-d.mts similarity index 66% rename from src/types/__tests__/jsx.spec-d.ts rename to src/types/__tests__/jsx-transform.spec-d.mts index 6a3cd6ba..a654c1ef 100644 --- a/src/types/__tests__/jsx.spec-d.ts +++ b/src/types/__tests__/jsx-transform.spec-d.mts @@ -1,11 +1,11 @@ /** - * @file Type Tests - Jsx - * @module mkbuild/types/tests/unit-d/Jsx + * @file Type Tests - JsxTransform + * @module mkbuild/types/tests/unit-d/JsxTransform */ -import type TestSubject from '../jsx' +import type TestSubject from '#types/jsx-transform' -describe('unit-d:types/Jsx', () => { +describe('unit-d:types/JsxTransform', () => { it('should extract "automatic"', () => { expectTypeOf<TestSubject>().extract<'automatic'>().not.toBeNever() }) diff --git a/src/types/__tests__/legal-comments.spec-d.ts b/src/types/__tests__/legal-comments.spec-d.ts deleted file mode 100644 index 50f735b9..00000000 --- a/src/types/__tests__/legal-comments.spec-d.ts +++ /dev/null @@ -1,28 +0,0 @@ -/** - * @file Type Tests - LegalComments - * @module mkbuild/types/tests/unit-d/LegalComments - */ - -import type TestSubject from '../legal-comments' - -describe('unit-d:types/LegalComments', () => { - it('should extract "eof"', () => { - expectTypeOf<TestSubject>().extract<'eof'>().not.toBeNever() - }) - - it('should extract "external"', () => { - expectTypeOf<TestSubject>().extract<'external'>().not.toBeNever() - }) - - it('should extract "inline"', () => { - expectTypeOf<TestSubject>().extract<'inline'>().not.toBeNever() - }) - - it('should extract "linked"', () => { - expectTypeOf<TestSubject>().extract<'linked'>().not.toBeNever() - }) - - it('should extract "none"', () => { - expectTypeOf<TestSubject>().extract<'none'>().not.toBeNever() - }) -}) diff --git a/src/types/__tests__/options-esbuild.spec-d.ts b/src/types/__tests__/options-esbuild.spec-d.ts deleted file mode 100644 index accb7531..00000000 --- a/src/types/__tests__/options-esbuild.spec-d.ts +++ /dev/null @@ -1,73 +0,0 @@ -/** - * @file Type Tests - EsbuildOptions - * @module mkbuild/types/tests/unit-d/EsbuildOptions - */ - -import type * as esbuild from 'esbuild' -import type TestSubject from '../options-esbuild' - -describe('unit-d:types/EsbuildOptions', () => { - it('should match type of esbuild.BuildOptions', () => { - expectTypeOf<TestSubject>().toMatchTypeOf<esbuild.BuildOptions>() - }) - - it('should omit "absWorkingDir"', () => { - expectTypeOf<TestSubject>().not.toHaveProperty('absWorkingDir') - }) - - it('should omit "banner"', () => { - expectTypeOf<TestSubject>().not.toHaveProperty('banner') - }) - - it('should omit "conditions"', () => { - expectTypeOf<TestSubject>().not.toHaveProperty('conditions') - }) - - it('should omit "entryNames"', () => { - expectTypeOf<TestSubject>().not.toHaveProperty('entryNames') - }) - - it('should omit "entryPoints"', () => { - expectTypeOf<TestSubject>().not.toHaveProperty('entryPoints') - }) - - it('should omit "footer"', () => { - expectTypeOf<TestSubject>().not.toHaveProperty('footer') - }) - - it('should omit "incremental"', () => { - expectTypeOf<TestSubject>().not.toHaveProperty('incremental') - }) - - it('should omit "loader"', () => { - expectTypeOf<TestSubject>().not.toHaveProperty('loader') - }) - - it('should omit "mainFields"', () => { - expectTypeOf<TestSubject>().not.toHaveProperty('mainFields') - }) - - it('should omit "metafile"', () => { - expectTypeOf<TestSubject>().not.toHaveProperty('metafile') - }) - - it('should omit "outExtension"', () => { - expectTypeOf<TestSubject>().not.toHaveProperty('outExtension') - }) - - it('should omit "outfile"', () => { - expectTypeOf<TestSubject>().not.toHaveProperty('outfile') - }) - - it('should omit "resolveExtensions"', () => { - expectTypeOf<TestSubject>().not.toHaveProperty('resolveExtensions') - }) - - it('should omit "stdin"', () => { - expectTypeOf<TestSubject>().not.toHaveProperty('stdin') - }) - - it('should omit "watch"', () => { - expectTypeOf<TestSubject>().not.toHaveProperty('watch') - }) -}) diff --git a/src/types/__tests__/output-extension.spec-d.ts b/src/types/__tests__/output-extension.spec-d.ts deleted file mode 100644 index 7c0db56c..00000000 --- a/src/types/__tests__/output-extension.spec-d.ts +++ /dev/null @@ -1,58 +0,0 @@ -/** - * @file Type Tests - OutputExtension - * @module mkbuild/types/tests/unit-d/OutputExtension - */ - -import type TestSubject from '../output-extension' - -describe('unit-d:types/OutputExtension', () => { - it('should extract ".cjs"', () => { - expectTypeOf<TestSubject>().extract<'.cjs'>().not.toBeNever() - }) - - it('should extract ".js"', () => { - expectTypeOf<TestSubject>().extract<'.js'>().not.toBeNever() - }) - - it('should extract ".mjs"', () => { - expectTypeOf<TestSubject>().extract<'.mjs'>().not.toBeNever() - }) - - it('should extract "cjs"', () => { - expectTypeOf<TestSubject>().extract<'cjs'>().not.toBeNever() - }) - - it('should extract "js"', () => { - expectTypeOf<TestSubject>().extract<'js'>().not.toBeNever() - }) - - it('should extract "mjs"', () => { - expectTypeOf<TestSubject>().extract<'mjs'>().not.toBeNever() - }) - - describe('min', () => { - it('should extract ".min.cjs"', () => { - expectTypeOf<TestSubject>().extract<'.min.cjs'>().not.toBeNever() - }) - - it('should extract ".min.js"', () => { - expectTypeOf<TestSubject>().extract<'.min.js'>().not.toBeNever() - }) - - it('should extract ".min.mjs"', () => { - expectTypeOf<TestSubject>().extract<'.min.mjs'>().not.toBeNever() - }) - - it('should extract "min.cjs"', () => { - expectTypeOf<TestSubject>().extract<'min.cjs'>().not.toBeNever() - }) - - it('should extract "min.js"', () => { - expectTypeOf<TestSubject>().extract<'min.js'>().not.toBeNever() - }) - - it('should extract "min.mjs"', () => { - expectTypeOf<TestSubject>().extract<'min.mjs'>().not.toBeNever() - }) - }) -}) diff --git a/src/types/__tests__/output-metadata.spec-d.ts b/src/types/__tests__/output-metadata.spec-d.ts deleted file mode 100644 index 81561fdd..00000000 --- a/src/types/__tests__/output-metadata.spec-d.ts +++ /dev/null @@ -1,17 +0,0 @@ -/** - * @file Type Tests - OutputMetadata - * @module mkbuild/types/tests/unit-d/OutputMetadata - */ - -import type * as esbuild from 'esbuild' -import type TestSubject from '../output-metadata' - -describe('unit-d:types/OutputMetadata', () => { - it('should equal type of esbuild.Metafile["outputs"][string]', () => { - // Arrange - type Expect = esbuild.Metafile['outputs'][string] - - // Expect - expectTypeOf<TestSubject>().toEqualTypeOf<Expect>() - }) -}) diff --git a/src/types/__tests__/rollup-code.spec-d.mts b/src/types/__tests__/rollup-code.spec-d.mts new file mode 100644 index 00000000..d5457e9e --- /dev/null +++ b/src/types/__tests__/rollup-code.spec-d.mts @@ -0,0 +1,13 @@ +/** + * @file Type Tests - RollupCode + * @module mkbuild/types/tests/unit-d/RollupCode + */ + +import type TestSubject from '#types/rollup-code' +import type { RollupCodeMap } from '@flex-development/mkbuild' + +describe('unit-d:types/RollupCode', () => { + it('should equal keyof RollupCodeMap', () => { + expectTypeOf<TestSubject>().toEqualTypeOf<keyof RollupCodeMap>() + }) +}) diff --git a/src/types/__tests__/sanitize-file-name-fn.spec-d.mts b/src/types/__tests__/sanitize-file-name-fn.spec-d.mts new file mode 100644 index 00000000..51316575 --- /dev/null +++ b/src/types/__tests__/sanitize-file-name-fn.spec-d.mts @@ -0,0 +1,24 @@ +/** + * @file Type Tests - SanitizeFileNameFn + * @module mkbuild/types/tests/unit-d/SanitizeFileNameFn + */ + +import type TestSubject from '#types/sanitize-file-name-fn' + +describe('unit-d:types/SanitizeFileNameFn', () => { + it('should match [this: void]', () => { + expectTypeOf<TestSubject>().thisParameter.toEqualTypeOf<void>() + }) + + describe('parameters', () => { + it('should be callable with [string]', () => { + expectTypeOf<TestSubject>().parameters.toEqualTypeOf<[string]>() + }) + }) + + describe('returns', () => { + it('should return string', () => { + expectTypeOf<TestSubject>().returns.toEqualTypeOf<string>() + }) + }) +}) diff --git a/src/types/__tests__/sourcemap-file-names-fn.spec-d.mts b/src/types/__tests__/sourcemap-file-names-fn.spec-d.mts new file mode 100644 index 00000000..c7e046d8 --- /dev/null +++ b/src/types/__tests__/sourcemap-file-names-fn.spec-d.mts @@ -0,0 +1,25 @@ +/** + * @file Type Tests - SourcemapFileNamesFn + * @module mkbuild/types/tests/unit-d/SourcemapFileNamesFn + */ + +import type TestSubject from '#types/sourcemap-file-names-fn' +import type { PreRenderedChunk } from 'rollup' + +describe('unit-d:types/SourcemapFileNamesFn', () => { + it('should match [this: void]', () => { + expectTypeOf<TestSubject>().thisParameter.toEqualTypeOf<void>() + }) + + describe('parameters', () => { + it('should be callable with [PreRenderedChunk]', () => { + expectTypeOf<TestSubject>().parameters.toEqualTypeOf<[PreRenderedChunk]>() + }) + }) + + describe('returns', () => { + it('should return string', () => { + expectTypeOf<TestSubject>().returns.toEqualTypeOf<string>() + }) + }) +}) diff --git a/src/types/__tests__/sourcemap-ignore-test.spec-d.mts b/src/types/__tests__/sourcemap-ignore-test.spec-d.mts new file mode 100644 index 00000000..8c3fa34a --- /dev/null +++ b/src/types/__tests__/sourcemap-ignore-test.spec-d.mts @@ -0,0 +1,24 @@ +/** + * @file Type Tests - SourcemapIgnoreTest + * @module mkbuild/types/tests/unit-d/SourcemapIgnoreTest + */ + +import type TestSubject from '#types/sourcemap-ignore-test' + +describe('unit-d:types/SourcemapIgnoreTest', () => { + it('should match [this: void]', () => { + expectTypeOf<TestSubject>().thisParameter.toEqualTypeOf<void>() + }) + + describe('parameters', () => { + it('should be callable with [string, string]', () => { + expectTypeOf<TestSubject>().parameters.toEqualTypeOf<[string, string]>() + }) + }) + + describe('returns', () => { + it('should return boolean', () => { + expectTypeOf<TestSubject>().returns.toEqualTypeOf<boolean>() + }) + }) +}) diff --git a/src/types/__tests__/sourcemap-option.spec-d.mts b/src/types/__tests__/sourcemap-option.spec-d.mts new file mode 100644 index 00000000..fb66e513 --- /dev/null +++ b/src/types/__tests__/sourcemap-option.spec-d.mts @@ -0,0 +1,20 @@ +/** + * @file Type Tests - SourcemapOption + * @module mkbuild/types/tests/unit-d/SourcemapOption + */ + +import type TestSubject from '#types/sourcemap-option' + +describe('unit-d:types/SourcemapOption', () => { + it('should extract "hidden"', () => { + expectTypeOf<TestSubject>().extract<'hidden'>().not.toBeNever() + }) + + it('should extract "inline"', () => { + expectTypeOf<TestSubject>().extract<'inline'>().not.toBeNever() + }) + + it('should extract boolean', () => { + expectTypeOf<TestSubject>().extract<boolean>().not.toBeNever() + }) +}) diff --git a/src/types/__tests__/sourcemap-path-transform.spec-d.mts b/src/types/__tests__/sourcemap-path-transform.spec-d.mts new file mode 100644 index 00000000..cf9158de --- /dev/null +++ b/src/types/__tests__/sourcemap-path-transform.spec-d.mts @@ -0,0 +1,24 @@ +/** + * @file Type Tests - SourcemapPathTransform + * @module mkbuild/types/tests/unit-d/SourcemapPathTransform + */ + +import type TestSubject from '#types/sourcemap-path-transform' + +describe('unit-d:types/SourcemapPathTransform', () => { + it('should match [this: void]', () => { + expectTypeOf<TestSubject>().thisParameter.toEqualTypeOf<void>() + }) + + describe('parameters', () => { + it('should be callable with [string, string]', () => { + expectTypeOf<TestSubject>().parameters.toEqualTypeOf<[string, string]>() + }) + }) + + describe('returns', () => { + it('should return string', () => { + expectTypeOf<TestSubject>().returns.toEqualTypeOf<string>() + }) + }) +}) diff --git a/src/types/__tests__/sourcemap.spec-d.ts b/src/types/__tests__/sourcemap.spec-d.ts deleted file mode 100644 index f1fa7a81..00000000 --- a/src/types/__tests__/sourcemap.spec-d.ts +++ /dev/null @@ -1,24 +0,0 @@ -/** - * @file Type Tests - Sourcemap - * @module mkbuild/types/tests/unit-d/Sourcemap - */ - -import type TestSubject from '../sourcemap' - -describe('unit-d:types/Sourcemap', () => { - it('should extract "both"', () => { - expectTypeOf<TestSubject>().extract<'both'>().not.toBeNever() - }) - - it('should extract "external"', () => { - expectTypeOf<TestSubject>().extract<'external'>().not.toBeNever() - }) - - it('should extract "inline"', () => { - expectTypeOf<TestSubject>().extract<'inline'>().not.toBeNever() - }) - - it('should extract "linked"', () => { - expectTypeOf<TestSubject>().extract<'linked'>().not.toBeNever() - }) -}) diff --git a/src/types/__tests__/with-nil.spec-d.mts b/src/types/__tests__/with-nil.spec-d.mts new file mode 100644 index 00000000..b4c1118d --- /dev/null +++ b/src/types/__tests__/with-nil.spec-d.mts @@ -0,0 +1,29 @@ +/** + * @file Type Tests - WithNil + * @module mkbuild/types/tests/unit-d/WithNil + */ + +import type TestSubject from '#types/with-nil' +import type { Nilable } from '@flex-development/tutils' + +describe('unit-d:types/WithNil', () => { + type Value = string + + it('should add `null | undefined` to each property in `T` (0)', () => { + // Arrange + type T = { 0: Value; 1: Value } + type Expect = { 0: Nilable<Value>; 1: Nilable<Value> } + + // Expect + expectTypeOf<TestSubject<T>>().toEqualTypeOf<Expect>() + }) + + it('should add `null | undefined` to each property in `T` (0)', () => { + // Arrange + type T = { 0?: Value; 1?: Value } + type Expect = { 0?: Nilable<Value>; 1?: Nilable<Value> } + + // Expect + expectTypeOf<TestSubject<T>>().toEqualTypeOf<Expect>() + }) +}) diff --git a/src/types/__tests__/with-undefined.spec-d.mts b/src/types/__tests__/with-undefined.spec-d.mts new file mode 100644 index 00000000..0486a495 --- /dev/null +++ b/src/types/__tests__/with-undefined.spec-d.mts @@ -0,0 +1,29 @@ +/** + * @file Type Tests - WithUndefined + * @module mkbuild/types/tests/unit-d/WithUndefined + */ + +import type TestSubject from '#types/with-undefined' +import type { Optional } from '@flex-development/tutils' + +describe('unit-d:types/WithUndefined', () => { + type Value = string + + it('should ad `undefined` to each property in `T` (0)', () => { + // Arrange + type T = { 0: Value; 1: Value } + type Expect = { 0: Optional<Value>; 1: Optional<Value> } + + // Expect + expectTypeOf<TestSubject<T>>().toEqualTypeOf<Expect>() + }) + + it('should add `undefined` to each property in `T` (0)', () => { + // Arrange + type T = { 0?: Value; 1?: Value } + type Expect = { 0?: Optional<Value>; 1?: Optional<Value> } + + // Expect + expectTypeOf<TestSubject<T>>().toEqualTypeOf<Expect>() + }) +}) diff --git a/src/types/adapter-file-system.ts b/src/types/adapter-file-system.ts deleted file mode 100644 index d89abf1c..00000000 --- a/src/types/adapter-file-system.ts +++ /dev/null @@ -1,27 +0,0 @@ -/** - * @file Type Definitions - FileSystemAdapter - * @module mkbuild/types/FileSystemAdapter - */ - -import type fs from 'node:fs' -import type fsp from 'node:fs/promises' - -/** - * Custom implementations of file system methods. - * - * @todo update documentation - * - * @see https://nodejs.org/api/fs.html - */ -type FileSystemAdapter = { - lstat: (typeof fs)['lstat'] - mkdir: (typeof fsp)['mkdir'] - readdir: (typeof fsp)['readdir'] - readdirSync: (typeof fs)['readdirSync'] - rm: (typeof fsp)['rm'] - stat: (typeof fs)['stat'] - unlink: (typeof fsp)['unlink'] - writeFile: (typeof fsp)['writeFile'] -} - -export type { FileSystemAdapter as default } diff --git a/src/types/asset-file-names-fn.mts b/src/types/asset-file-names-fn.mts new file mode 100644 index 00000000..fa6e75de --- /dev/null +++ b/src/types/asset-file-names-fn.mts @@ -0,0 +1,33 @@ +/** + * @file Type Aliases - AssetFileNamesFn + * @module mkbuild/types/AssetFileNamesFn + */ + +import type { PreRenderedAsset } from 'rollup' + +/** + * Get a pattern to use for naming custom emitted assets. + * + * Patterns support the following placeholders: + * + * - `[ext]`: file extension of the asset, without leading dot (e.g. `css`) + * - `[extname]`: normalized file extension of the asset (e.g. `.css`) + * - `[format]`: normalized rendering format (e.g. `es`, `cjs`) + * - `[hash]`: hash based on content of the asset. the hash length can also be + * specified by appending a colon and length: `[hash:13]` + * - `[name]`: file name of the asset excluding any extension + * + * Forward slashes `/` can be used to place files in sub-directories. + * + * @see {@linkcode PreRenderedAsset} + * + * @this {void} + * + * @param {PreRenderedAsset} asset + * Pre-rendered asset + * @return {string} + * Output file name for `asset` + */ +type AssetFileNamesFn = (this: void, asset: PreRenderedAsset) => string + +export type { AssetFileNamesFn as default } diff --git a/src/types/banner-fn.mts b/src/types/banner-fn.mts new file mode 100644 index 00000000..1a36c813 --- /dev/null +++ b/src/types/banner-fn.mts @@ -0,0 +1,25 @@ +/** + * @file Type Aliases - BannerFn + * @module mkbuild/types/BannerFn + */ + +import type { PreRenderedChunk } from 'rollup' + +/** + * Get a string to prepend to the contents of `chunk`. + * + * @see {@linkcode PreRenderedChunk} + * + * @this {void} + * + * @param {PreRenderedChunk} chunk + * Pre-rendered output chunk + * @return {Promise<string> | string} + * String to prepend to `chunk.code` + */ +type BannerFn = ( + this: void, + chunk: PreRenderedChunk +) => Promise<string> | string + +export type { BannerFn as default } diff --git a/src/types/dts-option.mts b/src/types/dts-option.mts new file mode 100644 index 00000000..e0ce885e --- /dev/null +++ b/src/types/dts-option.mts @@ -0,0 +1,11 @@ +/** + * @file Type Aliases - DTSOption + * @module mkbuild/types/DTSOption + */ + +/** + * Union of TypeScript declaration option values. + */ +type DTSOption = 'only' | boolean + +export type { DTSOption as default } diff --git a/src/types/entry-file-names-fn.mts b/src/types/entry-file-names-fn.mts new file mode 100644 index 00000000..79640849 --- /dev/null +++ b/src/types/entry-file-names-fn.mts @@ -0,0 +1,38 @@ +/** + * @file Type Aliases - EntryFileNamesFn + * @module mkbuild/types/EntryFileNamesFn + */ + +import type { PreRenderedChunk } from 'rollup' + +/** + * Get a pattern to use for naming chunks created from entry points. + * + * Patterns support the following placeholders: + * + * - `{extname}`: normalized output file extension (e.g. `.mjs`, `.cjs`), + * supported by `mkbuild` only + * - `[format]`: normalized rendering format (e.g. `es`, `cjs`) + * - `[hash]`: hash based only on the content of the final generated chunk, + * including transformations in [`renderChunk`][render-chunk] and any + * referenced file hashes. the hash length can also be specified by appending + * a colon and length: `[hash:13]` + * - `[name]`: file name (without extension) of the entry point, unless the + * object form of input was used to define a different name + * + * Forward slashes `/` can be used to place files in sub-directories. + * + * [render-chunk]: https://rollupjs.org/plugin-development/#renderchunk + * + * @see {@linkcode PreRenderedChunk} + * + * @this {void} + * + * @param {PreRenderedChunk} chunk + * Pre-rendered entry chunk + * @return {string} + * Pattern to use for naming `chunk` + */ +type EntryFileNamesFn = (this: void, chunk: PreRenderedChunk) => string + +export type { EntryFileNamesFn as default } diff --git a/src/types/footer-fn.mts b/src/types/footer-fn.mts new file mode 100644 index 00000000..25493439 --- /dev/null +++ b/src/types/footer-fn.mts @@ -0,0 +1,25 @@ +/** + * @file Type Aliases - FooterFn + * @module mkbuild/types/FooterFn + */ + +import type { PreRenderedChunk } from 'rollup' + +/** + * Get a string to append to the contents of `chunk`. + * + * @see {@linkcode PreRenderedChunk} + * + * @this {void} + * + * @param {PreRenderedChunk} chunk + * Pre-rendered output chunk + * @return {Promise<string> | string} + * String to append to `chunk.code` + */ +type FooterFn = ( + this: void, + chunk: PreRenderedChunk +) => Promise<string> | string + +export type { FooterFn as default } diff --git a/src/types/format.mts b/src/types/format.mts new file mode 100644 index 00000000..bed4a83e --- /dev/null +++ b/src/types/format.mts @@ -0,0 +1,11 @@ +/** + * @file Type Aliases - Format + * @module mkbuild/types/Format + */ + +/** + * Union of output file formats. + */ +type Format = 'cjs' | 'esm' | 'iife' + +export type { Format as default } diff --git a/src/types/generated-file-type.ts b/src/types/generated-file-type.ts deleted file mode 100644 index 8137dfd1..00000000 --- a/src/types/generated-file-type.ts +++ /dev/null @@ -1,11 +0,0 @@ -/** - * @file Type Definitions - GeneratedFileType - * @module mkbuild/types/GeneratedFileType - */ - -/** - * File types generated by esbuild. - */ -type GeneratedFileType = 'css' | 'js' - -export type { GeneratedFileType as default } diff --git a/src/types/index.mts b/src/types/index.mts new file mode 100644 index 00000000..3e29929f --- /dev/null +++ b/src/types/index.mts @@ -0,0 +1,30 @@ +/** + * @file Entry Point - Type Aliases + * @module mkbuild/types + */ + +export type { default as AssetFileNamesFn } from '#types/asset-file-names-fn' +export type { default as BannerFn } from '#types/banner-fn' +export type { default as DTSOption } from '#types/dts-option' +export type { default as EntryFileNamesFn } from '#types/entry-file-names-fn' +export type { default as FooterFn } from '#types/footer-fn' +export type { default as Format } from '#types/format' +export type { default as Input } from '#types/input' +export type { default as InputFile } from '#types/input-file' +export type { default as InputList } from '#types/input-list' +export type { default as InputMap } from '#types/input-map' +export type { default as JsxTransform } from '#types/jsx-transform' +export type { default as RollupCode } from '#types/rollup-code' +export type { + default as SanitizeFileNameFn +} from '#types/sanitize-file-name-fn' +export type { + default as SourcemapFileNamesFn +} from '#types/sourcemap-file-names-fn' +export type { + default as SourcemapIgnoreTest +} from '#types/sourcemap-ignore-test' +export type { default as SourcemapOption } from '#types/sourcemap-option' +export type { + default as SourcemapPathTransform +} from '#types/sourcemap-path-transform' diff --git a/src/types/index.ts b/src/types/index.ts deleted file mode 100644 index 04af1bbf..00000000 --- a/src/types/index.ts +++ /dev/null @@ -1,13 +0,0 @@ -/** - * @file Entry Point - Type Definitions - * @module mkbuild/types - */ - -export type { default as FileSystemAdapter } from './adapter-file-system' -export type { default as GeneratedFileType } from './generated-file-type' -export type { default as Jsx } from './jsx' -export type { default as LegalComments } from './legal-comments' -export type { default as EsbuildOptions } from './options-esbuild' -export type { default as OutputExtension } from './output-extension' -export type { default as OutputMetadata } from './output-metadata' -export type { default as Sourcemap } from './sourcemap' diff --git a/src/types/input-file.mts b/src/types/input-file.mts new file mode 100644 index 00000000..9da4e497 --- /dev/null +++ b/src/types/input-file.mts @@ -0,0 +1,11 @@ +/** + * @file Type Aliases - InputFile + * @module mkbuild/types/InputFile + */ + +/** + * An entry point file. + */ +type InputFile = string + +export type { InputFile as default } diff --git a/src/types/input-list.mts b/src/types/input-list.mts new file mode 100644 index 00000000..f0d3e6f3 --- /dev/null +++ b/src/types/input-list.mts @@ -0,0 +1,11 @@ +/** + * @file Type Aliases - InputList + * @module mkbuild/types/InputList + */ + +/** + * A list of entry point files, or patterns matching entry point files. + */ +type InputList = string[] + +export type { InputList as default } diff --git a/src/types/input-map.mts b/src/types/input-map.mts new file mode 100644 index 00000000..1aa45864 --- /dev/null +++ b/src/types/input-map.mts @@ -0,0 +1,15 @@ +/** + * @file Type Aliases - InputMap + * @module mkbuild/types/InputMap + */ + +import type { InputFile } from '@flex-development/mkbuild' + +/** + * An object mapping names to entry point files. + * + * @see {@linkcode InputFile} + */ +type InputMap = Record<string, InputFile> + +export type { InputMap as default } diff --git a/src/types/input.mts b/src/types/input.mts new file mode 100644 index 00000000..259bf0b7 --- /dev/null +++ b/src/types/input.mts @@ -0,0 +1,17 @@ +/** + * @file Type Aliases - Input + * @module mkbuild/types/Input + */ + +import type { InputFile, InputList, InputMap } from '@flex-development/mkbuild' + +/** + * Union of build entry points. + * + * @see {@linkcode InputFile} + * @see {@linkcode InputList} + * @see {@linkcode InputMap} + */ +type Input = InputFile | InputList | InputMap + +export type { Input as default } diff --git a/src/types/jsx-transform.mts b/src/types/jsx-transform.mts new file mode 100644 index 00000000..668e21f9 --- /dev/null +++ b/src/types/jsx-transform.mts @@ -0,0 +1,13 @@ +/** + * @file Type Aliases - JsxTransform + * @module mkbuild/types/JsxTransform + */ + +/** + * Union of JSX transform types. + * + * @see https://esbuild.github.io/api/#jsx + */ +type JsxTransform = 'automatic' | 'preserve' | 'transform' + +export type { JsxTransform as default } diff --git a/src/types/jsx.ts b/src/types/jsx.ts deleted file mode 100644 index d702efdf..00000000 --- a/src/types/jsx.ts +++ /dev/null @@ -1,16 +0,0 @@ -/** - * @file Type Definitions - Jsx - * @module mkbuild/types/Jsx - */ - -import type { Fallback } from '@flex-development/tutils' -import type * as esbuild from 'esbuild' - -/** - * esbuild `jsx` options. - * - * @see https://esbuild.github.io/api/#jsx - */ -type Jsx = Fallback<esbuild.BuildOptions['jsx'], never> - -export type { Jsx as default } diff --git a/src/types/legal-comments.ts b/src/types/legal-comments.ts deleted file mode 100644 index bbc840fa..00000000 --- a/src/types/legal-comments.ts +++ /dev/null @@ -1,16 +0,0 @@ -/** - * @file Type Definitions - LegalComments - * @module mkbuild/types/LegalComments - */ - -import type { Fallback } from '@flex-development/tutils' -import type * as esbuild from 'esbuild' - -/** - * esbuild `legalComments` options. - * - * @see https://esbuild.github.io/api/#legal-comments - */ -type LegalComments = Fallback<esbuild.BuildOptions['legalComments'], never> - -export type { LegalComments as default } diff --git a/src/types/options-esbuild.ts b/src/types/options-esbuild.ts deleted file mode 100644 index d523ef3c..00000000 --- a/src/types/options-esbuild.ts +++ /dev/null @@ -1,33 +0,0 @@ -/** - * @file Type Definitions - EsbuildOptions - * @module mkbuild/types/EsbuildOptions - */ - -import type { Omit } from '@flex-development/tutils' -import type * as esbuild from 'esbuild' - -/** - * Supported [esbuild build api][1] options. - * - * [1]: https://esbuild.github.io/api/#build-api - */ -type EsbuildOptions = Omit< - esbuild.BuildOptions, - | 'absWorkingDir' - | 'banner' - | 'conditions' - | 'entryNames' - | 'entryPoints' - | 'footer' - | 'incremental' - | 'loader' - | 'mainFields' - | 'metafile' - | 'outExtension' - | 'outfile' - | 'resolveExtensions' - | 'stdin' - | 'watch' -> - -export type { EsbuildOptions as default } diff --git a/src/types/output-extension.ts b/src/types/output-extension.ts deleted file mode 100644 index cc73e24e..00000000 --- a/src/types/output-extension.ts +++ /dev/null @@ -1,16 +0,0 @@ -/** - * @file Type Definitions - OutputExtension - * @module mkbuild/types/OutputExtension - */ - -import type { Dot, EmptyString } from '@flex-development/tutils' - -/** - * Output file extensions. - */ -type OutputExtension = `${Dot | EmptyString}${EmptyString | `min${Dot}`}${ - | 'cjs' - | 'js' - | 'mjs'}` - -export type { OutputExtension as default } diff --git a/src/types/output-metadata.ts b/src/types/output-metadata.ts deleted file mode 100644 index 5192196e..00000000 --- a/src/types/output-metadata.ts +++ /dev/null @@ -1,15 +0,0 @@ -/** - * @file Type Definitions - OutputMetadata - * @module mkbuild/types/OutputMetadata - */ - -import type * as esbuild from 'esbuild' - -/** - * Output file metadata. - * - * @see {@linkcode esbuild.Metafile} - */ -type OutputMetadata = esbuild.Metafile['outputs'][string] - -export type { OutputMetadata as default } diff --git a/src/types/rollup-code.mts b/src/types/rollup-code.mts new file mode 100644 index 00000000..7bed9ff9 --- /dev/null +++ b/src/types/rollup-code.mts @@ -0,0 +1,16 @@ +/** + * @file Type Aliases - RollupCode + * @module mkbuild/types/RollupCode + */ + +import type { RollupCodeMap } from '@flex-development/mkbuild' + +/** + * Union of rollup log codes. + * + * To register custom log codes, augment {@linkcode RollupCodeMap}. They will + * be added to this union automatically. + */ +type RollupCode = Extract<keyof RollupCodeMap, string> + +export type { RollupCode as default } diff --git a/src/types/sanitize-file-name-fn.mts b/src/types/sanitize-file-name-fn.mts new file mode 100644 index 00000000..db567409 --- /dev/null +++ b/src/types/sanitize-file-name-fn.mts @@ -0,0 +1,18 @@ +/** + * @file Type Aliases - SanitizeFileNameFn + * @module mkbuild/types/SanitizeFileNameFn + */ + +/** + * Sanitize a chunk name. + * + * @this {void} + * + * @param {string} fileName + * The chunk file name to sanitize + * @return {string} + * Sanitized file name + */ +type SanitizeFileNameFn = (this: void, fileName: string) => string + +export type { SanitizeFileNameFn as default } diff --git a/src/types/sourcemap-file-names-fn.mts b/src/types/sourcemap-file-names-fn.mts new file mode 100644 index 00000000..3f98b8e0 --- /dev/null +++ b/src/types/sourcemap-file-names-fn.mts @@ -0,0 +1,33 @@ +/** + * @file Type Aliases - SourcemapFileNamesFn + * @module mkbuild/types/SourcemapFileNamesFn + */ + +import type { PreRenderedChunk } from 'rollup' + +/** + * Get a pattern to use for naming sourcemaps. + * + * Patterns support the following placeholders: + * + * - `[chunkhash]`: the same hash as the one used for `chunk` + * - `[format]`: normalized rendering format (e.g. `es`, `cjs`) + * - `[hash]`: hash based only on the content of the final generated sourcemap. + * the hash length can also be specified: `[hash:13]` + * - `[name]`: file name (without extension) of the entry point, unless the + * object form of input was used to define a different name + * + * Forward slashes `/` can be used to place files in sub-directories. + * + * @see {@linkcode PreRenderedChunk} + * + * @this {void} + * + * @param {PreRenderedChunk} chunk + * Pre-rendered output chunk + * @return {string} + * Sourcemap file name for `chunk` + */ +type SourcemapFileNamesFn = (this: void, chunk: PreRenderedChunk) => string + +export type { SourcemapFileNamesFn as default } diff --git a/src/types/sourcemap-ignore-test.mts b/src/types/sourcemap-ignore-test.mts new file mode 100644 index 00000000..6573c785 --- /dev/null +++ b/src/types/sourcemap-ignore-test.mts @@ -0,0 +1,24 @@ +/** + * @file Type Aliases - SourcemapIgnoreTest + * @module mkbuild/types/SourcemapIgnoreTest + */ + +/** + * Decide whether or not to ignore-list a source file in a sourcemap. + * + * @this {void} + * + * @param {string} source + * Relative path from generated `.map` file to corresponding source file + * @param {string} map + * Fully resolved path of generated sourcemap file + * @return {boolean} + * `true` if source file should be added to ignore list, `false` otherwise + */ +type SourcemapIgnoreTest = ( + this: void, + source: string, + map: string +) => boolean + +export type { SourcemapIgnoreTest as default } diff --git a/src/types/sourcemap-option.mts b/src/types/sourcemap-option.mts new file mode 100644 index 00000000..99d46309 --- /dev/null +++ b/src/types/sourcemap-option.mts @@ -0,0 +1,16 @@ +/** + * @file Type Aliases - SourcemapOption + * @module mkbuild/types/SourcemapOption + */ + +/** + * Union of generate production source maps. + * + * - `true`: separate sourcemap files will be created + * - `'hidden'`: works like `true`, but sourcemap comments in corresponding + * output files are suppressed + * - `'inline'`: sourcemaps will be appended to output files as data URIs + */ +type SourcemapOption = 'hidden' | 'inline' | boolean + +export type { SourcemapOption as default } diff --git a/src/types/sourcemap-path-transform.mts b/src/types/sourcemap-path-transform.mts new file mode 100644 index 00000000..c36b6038 --- /dev/null +++ b/src/types/sourcemap-path-transform.mts @@ -0,0 +1,24 @@ +/** + * @file Type Aliases - SourcemapPathTransform + * @module mkbuild/types/SourcemapPathTransform + */ + +/** + * Apply a transformation to a path in a sourcemap. + * + * @this {void} + * + * @param {string} source + * Relative path from generated `.map` file to corresponding source file + * @param {string} map + * Fully resolved path of generated sourcemap file + * @return {string} + * New sourcemap path + */ +type SourcemapPathTransform = ( + this: void, + source: string, + map: string +) => string + +export type { SourcemapPathTransform as default } diff --git a/src/types/sourcemap.ts b/src/types/sourcemap.ts deleted file mode 100644 index c561eb4e..00000000 --- a/src/types/sourcemap.ts +++ /dev/null @@ -1,20 +0,0 @@ -/** - * @file Type Definitions - Sourcemap - * @module mkbuild/types/Sourcemap - */ - -import type { Fallback, Optional } from '@flex-development/tutils' -import type * as esbuild from 'esbuild' - -/** - * esbuild `sourcemap` options. - * - * @see https://esbuild.github.io/api/#sourcemap - */ -type Sourcemap = Fallback< - esbuild.BuildOptions['sourcemap'], - never, - Optional<boolean> -> - -export type { Sourcemap as default } diff --git a/src/types/with-nil.mts b/src/types/with-nil.mts new file mode 100644 index 00000000..2c399ae2 --- /dev/null +++ b/src/types/with-nil.mts @@ -0,0 +1,18 @@ +/** + * @file Type Aliases - WithNil + * @module mkbuild/types/WithNil + */ + +/** + * Allow each property in `T` to be `null` or `undefined`. + * + * @internal + * + * @template {Record<string, any>} T + * Object type + */ +type WithNil<T extends Record<string, any>> = { + [K in keyof T]: T[K] | null | undefined +} + +export type { WithNil as default } diff --git a/src/types/with-undefined.mts b/src/types/with-undefined.mts new file mode 100644 index 00000000..b02b87cf --- /dev/null +++ b/src/types/with-undefined.mts @@ -0,0 +1,18 @@ +/** + * @file Type Aliases - WithUndefined + * @module mkbuild/types/WithUndefined + */ + +/** + * Allow each property in `T` to be `undefined`. + * + * @internal + * + * @template {Record<string, any>} T + * Object type + */ +type WithUndefined<T extends Record<string, any>> = { + [K in keyof T]: T[K] | undefined +} + +export type { WithUndefined as default } diff --git a/src/utils/__mocks__/analyze-outputs.ts b/src/utils/__mocks__/analyze-outputs.ts deleted file mode 100644 index a02cff25..00000000 --- a/src/utils/__mocks__/analyze-outputs.ts +++ /dev/null @@ -1,18 +0,0 @@ -/** - * @file Mock Utilities - analyzeOutputs - * @module mkbuild/utils/mocks/analyzeOutputs - */ - -/** - * `analyzeOutputs` module type. - */ -type Actual = typeof import('../analyze-outputs') - -/** - * `analyzeOutputs` module. - * - * @const {Actual} actual - */ -const actual: Actual = await vi.importActual<Actual>('../analyze-outputs') - -export default vi.fn(actual.default) diff --git a/src/utils/__mocks__/fs.ts b/src/utils/__mocks__/fs.ts deleted file mode 100644 index b3cd66c7..00000000 --- a/src/utils/__mocks__/fs.ts +++ /dev/null @@ -1,84 +0,0 @@ -/** - * @file Mock Utilities - fs - * @module mkbuild/utils/mocks/fs - */ - -import volume from '#fixtures/volume' -import { cast, type Optional } from '@flex-development/tutils' -import fsc, { - type MakeDirectoryOptions, - type Mode, - type PathLike, - type RmOptions, - type WriteFileOptions -} from 'node:fs' -import fsp from 'node:fs/promises' - -/** - * Creates a directory. - * - * @see https://nodejs.org/api/fs.html#fspromisesmkdirpath-options - * - * @async - * - * @param {PathLike} directory - Directory to create - * @param {MakeDirectoryOptions | Mode} [options] - Directory creation options - * @return {Promise<Optional<string>>} First directory path created if - * `options.recursive` is `true` or `undefined` if `false` - */ -const mkdir = vi.fn( - async ( - directory: PathLike, - options: MakeDirectoryOptions | Mode - ): Promise<Optional<string>> => { - return volume.mkdirSync(directory, cast(options)) - } -) - -/** - * Removes the file or directory at the given module `id`. - * - * @see https://nodejs.org/api/fs.html#fspromisesrmpath-options - * - * @async - * - * @param {PathLike} id - Module id to evaluate - * @param {RmOptions?} [options] - Removal options - * @return {Promise<void>} Nothing when complete - */ -const rm = vi.fn(async (id: PathLike, options?: RmOptions): Promise<void> => { - return void volume.rmSync(id, cast(options)) -}) - -/** - * Writes the given `data` to `file`, replacing `file` if it already exists. - * - * @see https://nodejs.org/api/fs.html#fspromiseswritefilefile-data-options - * - * @async - * - * @param {PathLike} file - Filename or handle - * @param {Uint8Array | string} data - File content - * @param {WriteFileOptions?} [options] - Write file options - * @return {Promise<void>} Nothing when complete - */ -const writeFile = vi.fn( - async ( - file: PathLike, - data: Uint8Array | string, - options?: WriteFileOptions - ): Promise<void> => { - return void volume.writeFileSync(file, data, cast(options)) - } -) - -export default { - lstat: vi.fn(fsc.lstat.bind(fsc)), - mkdir, - readdir: vi.fn(fsp.readdir.bind(fsp)), - readdirSync: vi.fn(fsc.readdirSync.bind(fsc)), - rm, - stat: vi.fn(fsc.stat.bind(fsc)), - unlink: vi.fn(fsp.unlink.bind(fsp)), - writeFile -} diff --git a/src/utils/__snapshots__/format-to-ext.snap b/src/utils/__snapshots__/format-to-ext.snap new file mode 100644 index 00000000..3136a2a1 --- /dev/null +++ b/src/utils/__snapshots__/format-to-ext.snap @@ -0,0 +1,7 @@ +// Vitest Snapshot v1, https://vitest.dev/guide/snapshot.html + +exports[`unit:utils/formatToExt > should return file extension for \`format\` ("cjs") 1`] = `".cjs"`; + +exports[`unit:utils/formatToExt > should return file extension for \`format\` ("esm") 1`] = `".mjs"`; + +exports[`unit:utils/formatToExt > should return file extension for \`format\` ("iife") 1`] = `".js"`; diff --git a/src/internal/__snapshots__/gitignore.snap b/src/utils/__snapshots__/gitignore.snap similarity index 67% rename from src/internal/__snapshots__/gitignore.snap rename to src/utils/__snapshots__/gitignore.snap index 27b1f204..8f84e819 100644 --- a/src/internal/__snapshots__/gitignore.snap +++ b/src/utils/__snapshots__/gitignore.snap @@ -1,10 +1,10 @@ // Vitest Snapshot v1, https://vitest.dev/guide/snapshot.html -exports[`unit:internal/gitignore > should return set containing .gitignore ignore patterns 1`] = ` +exports[`unit:utils/gitignore > should return list of ignore patterns 1`] = ` Set { "**/._*", "**/.DS_*", - "**/node_modules/", + "**/node_modules/**", "*.log", "*.pid", "*.pid.lock", @@ -25,17 +25,15 @@ Set { "**/.env*.local", "**/.env.repo", "*.tsbuildinfo", - "**/*config.*.timestamp*", - "**/__tests__/report.json", - "**/coverage/", + "**/.vitest-reports/**", + "**/__tests__/reports/*", + "**/coverage/**", "**/tsconfig*temp.json", "*.lcov", "codecov", "**/.eslintcache", - "**/.temp/", - "**/dist/", - "**/RELEASE_NOTES.md", - "**/.vercel/", - "**/scratch.*", + "**/dist/**", + "**/*config.*.timestamp*", + "**/.temp/**", } `; diff --git a/src/utils/__snapshots__/loaders.snap b/src/utils/__snapshots__/loaders.snap deleted file mode 100644 index 5d5e2a41..00000000 --- a/src/utils/__snapshots__/loaders.snap +++ /dev/null @@ -1,125 +0,0 @@ -// Vitest Snapshot v1, https://vitest.dev/guide/snapshot.html - -exports[`unit:utils/loaders > cjs > should return loader configuration for cjs bundle 1`] = ` -{ - ".cjs": "js", - ".css": "css", - ".cts": "ts", - ".d.cts": "copy", - ".d.mts": "copy", - ".d.ts": "copy", - ".data": "binary", - ".eot": "copy", - ".gif": "copy", - ".jpeg": "copy", - ".jpg": "copy", - ".js": "js", - ".json": "json", - ".json5": "json", - ".jsonc": "json", - ".jsx": "jsx", - ".mjs": "js", - ".mts": "ts", - ".otf": "copy", - ".png": "copy", - ".svg": "copy", - ".ts": "ts", - ".tsx": "tsx", - ".txt": "text", - ".woff": "copy", - ".woff2": "copy", -} -`; - -exports[`unit:utils/loaders > cjs > should return loader configuration for cjs transpilation 1`] = ` -{ - ".cjs": "copy", - ".css": "copy", - ".cts": "ts", - ".d.cts": "copy", - ".d.mts": "copy", - ".d.ts": "copy", - ".data": "copy", - ".eot": "copy", - ".gif": "copy", - ".jpeg": "copy", - ".jpg": "copy", - ".js": "js", - ".json": "copy", - ".json5": "copy", - ".jsonc": "copy", - ".jsx": "jsx", - ".mjs": "js", - ".mts": "ts", - ".otf": "copy", - ".png": "copy", - ".svg": "copy", - ".ts": "ts", - ".tsx": "tsx", - ".txt": "copy", - ".woff": "copy", - ".woff2": "copy", -} -`; - -exports[`unit:utils/loaders > esm > should return loader configuration for esm bundle 1`] = ` -{ - ".cjs": "js", - ".css": "css", - ".cts": "ts", - ".d.cts": "copy", - ".d.mts": "copy", - ".d.ts": "copy", - ".data": "binary", - ".eot": "copy", - ".gif": "copy", - ".jpeg": "copy", - ".jpg": "copy", - ".js": "js", - ".json": "json", - ".json5": "json", - ".jsonc": "json", - ".jsx": "jsx", - ".mjs": "js", - ".mts": "ts", - ".otf": "copy", - ".png": "copy", - ".svg": "copy", - ".ts": "ts", - ".tsx": "tsx", - ".txt": "text", - ".woff": "copy", - ".woff2": "copy", -} -`; - -exports[`unit:utils/loaders > esm > should return loader configuration for esm transpilation 1`] = ` -{ - ".cjs": "js", - ".css": "copy", - ".cts": "ts", - ".d.cts": "copy", - ".d.mts": "copy", - ".d.ts": "copy", - ".data": "copy", - ".eot": "copy", - ".gif": "copy", - ".jpeg": "copy", - ".jpg": "copy", - ".js": "js", - ".json": "copy", - ".json5": "copy", - ".jsonc": "copy", - ".jsx": "jsx", - ".mjs": "copy", - ".mts": "ts", - ".otf": "copy", - ".png": "copy", - ".svg": "copy", - ".ts": "ts", - ".tsx": "tsx", - ".txt": "copy", - ".woff": "copy", - ".woff2": "copy", -} -`; diff --git a/src/utils/__snapshots__/merge-task.snap b/src/utils/__snapshots__/merge-task.snap new file mode 100644 index 00000000..02ee0699 --- /dev/null +++ b/src/utils/__snapshots__/merge-task.snap @@ -0,0 +1,94 @@ +// Vitest Snapshot v1, https://vitest.dev/guide/snapshot.html + +exports[`unit:utils/mergeTask > should return merged build task (0) 1`] = ` +{ + "input": [ + "src/*.mts", + ], + "root": "__fixtures__/pkg/reverse", + "sourcemap": true, +} +`; + +exports[`unit:utils/mergeTask > should return merged build task (1) 1`] = ` +{ + "esbuild": { + "logOverride": { + "ambiguous-reexport": "warning", + "assert-to-with": "warning", + "assert-type-json": "warning", + "assign-to-constant": "warning", + "assign-to-define": "warning", + "assign-to-import": "warning", + "call-import-namespace": "warning", + "class-name-will-throw": "warning", + "commonjs-variable-in-esm": "warning", + "css-syntax-error": "warning", + "delete-super-property": "warning", + "different-path-case": "warning", + "direct-eval": "warning", + "duplicate-case": "warning", + "duplicate-class-member": "warning", + "duplicate-object-key": "warning", + "empty-glob": "warning", + "empty-import-meta": "warning", + "equals-nan": "warning", + "equals-negative-zero": "warning", + "equals-new-object": "warning", + "html-comment-in-js": "warning", + "ignored-bare-import": "warning", + "ignored-dynamic-import": "warning", + "import-is-undefined": "warning", + "impossible-typeof": "warning", + "indirect-require": "warning", + "invalid-@charset": "warning", + "invalid-@import": "warning", + "invalid-@layer": "warning", + "invalid-calc": "warning", + "invalid-source-mappings": "warning", + "js-comment-in-css": "warning", + "missing-source-map": "warning", + "package.json": "warning", + "private-name-will-throw": "warning", + "require-resolve-not-external": "warning", + "sections-in-source-map": "warning", + "semicolon-after-return": "warning", + "suspicious-boolean-not": "warning", + "suspicious-define": "warning", + "suspicious-logical-operator": "warning", + "suspicious-nullish-coalescing": "warning", + "this-is-undefined-in-esm": "warning", + "tsconfig.json": "warning", + "undefined-composes-from": "warning", + "unsupported-@charset": "warning", + "unsupported-@namespace": "warning", + "unsupported-css-nesting": "warning", + "unsupported-css-property": "warning", + "unsupported-dynamic-import": "silent", + "unsupported-jsx-comment": "warning", + "unsupported-regexp": "warning", + "unsupported-require-call": "warning", + "unsupported-source-map-comment": "warning", + }, + "target": [ + "es2024", + "node18", + ], + }, + "input": [ + "src/*.mts", + "src/interfaces/*.mts", + "src/types/*.mts", + "src/utils/*.mts", + ], + "resolve": { + "conditions": Set { + "import", + "node", + "mkbuild", + "production", + }, + }, + "tsconfig": "tsconfig.build.json", +} +`; diff --git a/src/utils/__tests__/analyze-outputs.spec.ts b/src/utils/__tests__/analyze-outputs.spec.ts deleted file mode 100644 index deb631b0..00000000 --- a/src/utils/__tests__/analyze-outputs.spec.ts +++ /dev/null @@ -1,39 +0,0 @@ -/** - * @file Unit Tests - analyzeOutputs - * @module mkbuild/utils/tests/unit/analyzeOutputs - */ - -import type { OutputMetadata } from '#src/types' -import { includes, keys } from '@flex-development/tutils' -import testSubject from '../analyze-outputs' - -describe('unit:utils/analyzeOutputs', () => { - it('should return build analysis object', () => { - // Arrange - const outputs: Record<string, Pick<OutputMetadata, 'bytes'>> = { - 'dist/index.d.mts': { bytes: 86 }, - 'dist/index.mjs': { bytes: 30 }, - 'dist/interfaces/entry.d.mts': { bytes: 342 }, - 'dist/interfaces/entry.mjs': { bytes: 0 }, - 'dist/interfaces/index.d.mts': { bytes: 342 }, - 'dist/interfaces/index.mjs': { bytes: 0 }, - 'dist/interfaces/result.d.mts': { bytes: 1206 }, - 'dist/interfaces/result.mjs': { bytes: 0 }, - 'dist/interfaces/source-file.d.mts': { bytes: 583 }, - 'dist/interfaces/source-file.mjs': { bytes: 0 }, - 'dist/interfaces/statement.d.mts': { bytes: 686 }, - 'dist/interfaces/statement.mjs': { bytes: 0 }, - 'dist/utils/analyze-outputs.d.mts': { bytes: 626 }, - 'dist/utils/analyze-outputs.mjs': { bytes: 575 } - } - - // Act - const result = testSubject('dist', outputs) - - // Expect - expect(result).to.have.property('bytes').be.a('number') - expect(keys(outputs)).to.each.satisfy((outfile: string) => { - return includes(result.analysis, outfile) - }) - }) -}) diff --git a/src/utils/__tests__/define-build-config.spec-d.ts b/src/utils/__tests__/define-build-config.spec-d.ts deleted file mode 100644 index bf0d3bd2..00000000 --- a/src/utils/__tests__/define-build-config.spec-d.ts +++ /dev/null @@ -1,22 +0,0 @@ -/** - * @file Type Tests - defineBuildConfig - * @module mkbuild/utils/tests/unit-d/defineBuildConfig - */ - -import type { Config } from '#src/interfaces' -import type { Optional } from '@flex-development/tutils' -import type testSubject from '../define-build-config' - -describe('unit-d:utils/defineBuildConfig', () => { - it('should be callable with [Optional<Config>]', () => { - // Arrange - type Expect = [config?: Optional<Config>] - - // Expect - expectTypeOf<typeof testSubject>().parameters.toEqualTypeOf<Expect>() - }) - - it('should return Config', () => { - expectTypeOf<typeof testSubject>().returns.toEqualTypeOf<Config>() - }) -}) diff --git a/src/utils/__tests__/define-build-config.spec.mts b/src/utils/__tests__/define-build-config.spec.mts new file mode 100644 index 00000000..17482ab0 --- /dev/null +++ b/src/utils/__tests__/define-build-config.spec.mts @@ -0,0 +1,15 @@ +/** + * @file Unit Tests - defineBuildConfig + * @module mkbuild/utils/tests/unit/defineBuildConfig + */ + +import testSubject from '#utils/define-build-config' + +describe('unit:utils/defineBuildConfig', () => { + it.each<Parameters<typeof testSubject>>([ + [], + [{ tasks: [] }] + ])('should return build configuration object (%#)', config => { + expect(testSubject(config)).to.eql(config ?? {}) + }) +}) diff --git a/src/utils/__tests__/define-build-config.spec.ts b/src/utils/__tests__/define-build-config.spec.ts deleted file mode 100644 index e03d1f87..00000000 --- a/src/utils/__tests__/define-build-config.spec.ts +++ /dev/null @@ -1,12 +0,0 @@ -/** - * @file Unit Tests - defineBuildConfig - * @module mkbuild/utils/tests/unit/defineBuildConfig - */ - -import testSubject from '../define-build-config' - -describe('unit:utils/defineBuildConfig', () => { - it('should return build config object', () => { - expect(testSubject({ entries: [] })).to.eql({ entries: [] }) - }) -}) diff --git a/src/utils/__tests__/format-to-ext.spec.mts b/src/utils/__tests__/format-to-ext.spec.mts new file mode 100644 index 00000000..baa344bc --- /dev/null +++ b/src/utils/__tests__/format-to-ext.spec.mts @@ -0,0 +1,16 @@ +/** + * @file Unit Tests - formatToExt + * @module mkbuild/utils/tests/unit/formatToExt + */ + +import testSubject from '#utils/format-to-ext' + +describe('unit:utils/formatToExt', () => { + it.each<Parameters<typeof testSubject>>([ + ['cjs'], + ['esm'], + ['iife'] + ])('should return file extension for `format` (%j)', format => { + expect(testSubject(format)).toMatchSnapshot() + }) +}) diff --git a/src/utils/__tests__/fs.spec.ts b/src/utils/__tests__/fs.spec.ts deleted file mode 100644 index 4300fa39..00000000 --- a/src/utils/__tests__/fs.spec.ts +++ /dev/null @@ -1,56 +0,0 @@ -/** - * @file Unit Tests - fs - * @module mkbuild/utils/tests/unit/fs - */ - -import TestSubject from '../fs' - -describe('unit:utils/fs', () => { - describe('#lstat', () => { - it('should have lstat method', () => { - expect(TestSubject).to.have.property('lstat').be.a('function') - }) - }) - - describe('#mkdir', () => { - it('should have mkdir method', () => { - expect(TestSubject).to.have.property('mkdir').be.a('function') - }) - }) - - describe('#readdir', () => { - it('should have readdir method', () => { - expect(TestSubject).to.have.property('readdir').be.a('function') - }) - }) - - describe('#readdirSync', () => { - it('should have readdirSync method', () => { - expect(TestSubject).to.have.property('readdirSync').be.a('function') - }) - }) - - describe('#rm', () => { - it('should have rm method', () => { - expect(TestSubject).to.have.property('rm').be.a('function') - }) - }) - - describe('#stat', () => { - it('should have stat method', () => { - expect(TestSubject).to.have.property('stat').be.a('function') - }) - }) - - describe('#unlink', () => { - it('should have unlink method', () => { - expect(TestSubject).to.have.property('unlink').be.a('function') - }) - }) - - describe('#writeFile', () => { - it('should have writeFile method', () => { - expect(TestSubject).to.have.property('writeFile').be.a('function') - }) - }) -}) diff --git a/src/utils/__tests__/gitignore.spec.mts b/src/utils/__tests__/gitignore.spec.mts new file mode 100644 index 00000000..f4153035 --- /dev/null +++ b/src/utils/__tests__/gitignore.spec.mts @@ -0,0 +1,35 @@ +/** + * @file Unit Tests - gitignore + * @module mkbuild/utils/tests/unit/gitignore + */ + +import testSubject from '#utils/gitignore' +import pathe from '@flex-development/pathe' +import { constant } from '@flex-development/tutils' + +describe('unit:utils/gitignore', () => { + it('should return empty list if `.gitignore` file is not found', () => { + // Act + const result = testSubject(null, { + statSync: constant({ + isDirectory: constant(false), + isFile: constant(false) + }) + }) + + // Expect + expect(result).to.be.instanceof(Set).and.have.property('size', 0) + }) + + it('should return list of ignore patterns', () => { + // Arrange + const dir: URL = pathe.pathToFileURL('__fixtures__/pkg/tribonacci') + + // Act + const result = testSubject(dir) + + // Expect + expect(result).to.be.instanceof(Set).and.have.property('size').gt(0) + expect(result).toMatchSnapshot() + }) +}) diff --git a/src/utils/__tests__/ignore-patterns.spec.ts b/src/utils/__tests__/ignore-patterns.spec.ts deleted file mode 100644 index 55a762af..00000000 --- a/src/utils/__tests__/ignore-patterns.spec.ts +++ /dev/null @@ -1,108 +0,0 @@ -/** - * @file Unit Tests - IGNORE_PATTERNS - * @module mkbuild/utils/tests/unit/IGNORE_PATTERNS - */ - -import TEST_SUBJECT from '../ignore-patterns' - -describe('unit:utils/IGNORE_PATTERNS', () => { - it('should be an instance of Set', () => { - expect(TEST_SUBJECT).to.be.instanceof(Set) - }) - - it('should contain 23 patterns', () => { - expect(TEST_SUBJECT.size).to.equal(23) - }) - - it('should contain "**/*.mdx"', () => { - expect(TEST_SUBJECT.has('**/*.mdx')).to.be.true - }) - - it('should contain "**/*.stories.*"', () => { - expect(TEST_SUBJECT.has('**/*.stories.*')).to.be.true - }) - - it('should contain "**/.*ignore"', () => { - expect(TEST_SUBJECT.has('**/.*ignore')).to.be.true - }) - - it('should contain "**/.*rc"', () => { - expect(TEST_SUBJECT.has('**/.*rc')).to.be.true - }) - - it('should contain "**/.*rc.*"', () => { - expect(TEST_SUBJECT.has('**/.*rc.*')).to.be.true - }) - - it('should contain "**/.DS_*"', () => { - expect(TEST_SUBJECT.has('**/.DS_*')).to.be.true - }) - - it('should contain "**/.codecov.yml"', () => { - expect(TEST_SUBJECT.has('**/.codecov.yml')).to.be.true - }) - - it('should contain "**/.cspell.json"', () => { - expect(TEST_SUBJECT.has('**/.cspell.json')).to.be.true - }) - - it('should contain "**/.dictionary.txt"', () => { - expect(TEST_SUBJECT.has('**/.dictionary.txt')).to.be.true - }) - - it('should contain "**/.editorconfig"', () => { - expect(TEST_SUBJECT.has('**/.editorconfig')).to.be.true - }) - - it('should contain "**/.env*"', () => { - expect(TEST_SUBJECT.has('**/.env*')).to.be.true - }) - - it('should contain "**/.git*"', () => { - expect(TEST_SUBJECT.has('**/.git*')).to.be.true - }) - - it('should contain "**/Brewfile"', () => { - expect(TEST_SUBJECT.has('**/Brewfile')).to.be.true - }) - - it('should contain "**/__mocks__"', () => { - expect(TEST_SUBJECT.has('**/__mocks__')).to.be.true - }) - - it('should contain "**/__snapshots__"', () => { - expect(TEST_SUBJECT.has('**/__snapshots__')).to.be.true - }) - - it('should contain "**/__tests__"', () => { - expect(TEST_SUBJECT.has('**/__tests__')).to.be.true - }) - - it('should contain "**/build.config.*"', () => { - expect(TEST_SUBJECT.has('**/build.config.*')).to.be.true - }) - - it('should contain "**/package-lock.json"', () => { - expect(TEST_SUBJECT.has('**/package-lock.json')).to.be.true - }) - - it('should contain "**/package.json"', () => { - expect(TEST_SUBJECT.has('**/package.json')).to.be.true - }) - - it('should contain "**/tsconfig*.json"', () => { - expect(TEST_SUBJECT.has('**/tsconfig*.json')).to.be.true - }) - - it('should contain "**/vitest-env.*"', () => { - expect(TEST_SUBJECT.has('**/vitest-env.*')).to.be.true - }) - - it('should contain "**/vitest.config.*"', () => { - expect(TEST_SUBJECT.has('**/vitest.config.*')).to.be.true - }) - - it('should contain "**/yarn.lock"', () => { - expect(TEST_SUBJECT.has('**/yarn.lock')).to.be.true - }) -}) diff --git a/src/utils/__tests__/load-build-config.spec.mts b/src/utils/__tests__/load-build-config.spec.mts new file mode 100644 index 00000000..fe18a33c --- /dev/null +++ b/src/utils/__tests__/load-build-config.spec.mts @@ -0,0 +1,27 @@ +/** + * @file Unit Tests - loadBuildConfig + * @module mkbuild/utils/tests/unit/loadBuildConfig + */ + +import testSubject from '#utils/load-build-config' +import pathe, { type Ext } from '@flex-development/pathe' +import { isObjectPlain } from '@flex-development/tutils' + +describe('unit:utils/loadBuildConfig', () => { + it.each<[Ext, ...Parameters<typeof testSubject>]>([ + ['.jsonc', pathe.pathToFileURL('__fixtures__/pkg/apple-stock')], + ['.mts'] + ])('should return resolved build configuration (%j)', async ( + ext, + location, + fs + ) => { + // Act + const result = await testSubject(location, fs) + + // Expect + expect(result).to.have.property('config').satisfy(isObjectPlain) + expect(result).to.have.property('url').be.instanceof(URL) + expect(String(result.url)).to.endWith(ext) + }) +}) diff --git a/src/utils/__tests__/loaders.spec.ts b/src/utils/__tests__/loaders.spec.ts deleted file mode 100644 index f56ce95f..00000000 --- a/src/utils/__tests__/loaders.spec.ts +++ /dev/null @@ -1,41 +0,0 @@ -/** - * @file Unit Tests - loaders - * @module mkbuild/utils/tests/unit/loaders - */ - -import type * as esbuild from 'esbuild' -import testSubject from '../loaders' - -describe('unit:utils/loaders', () => { - describe('cjs', () => { - let format: esbuild.Format - - beforeAll(() => { - format = 'cjs' - }) - - it('should return loader configuration for cjs bundle', () => { - expect(testSubject(format, true)).toMatchSnapshot() - }) - - it('should return loader configuration for cjs transpilation', () => { - expect(testSubject(format, false)).toMatchSnapshot() - }) - }) - - describe('esm', () => { - let format: esbuild.Format - - beforeAll(() => { - format = 'esm' - }) - - it('should return loader configuration for esm bundle', () => { - expect(testSubject(format, true)).toMatchSnapshot() - }) - - it('should return loader configuration for esm transpilation', () => { - expect(testSubject(format, false)).toMatchSnapshot() - }) - }) -}) diff --git a/src/utils/__tests__/merge-task.spec.mts b/src/utils/__tests__/merge-task.spec.mts new file mode 100644 index 00000000..b6aaee6a --- /dev/null +++ b/src/utils/__tests__/merge-task.spec.mts @@ -0,0 +1,108 @@ +/** + * @file Unit Tests - mergeTask + * @module mkbuild/utils/tests/unit/mergeTask + */ + +import testSubject from '#utils/merge-task' +import tsconfig from '../../../tsconfig.build.json' with { type: 'json' } + +describe('unit:utils/mergeTask', () => { + it.each<Parameters<typeof testSubject>>([ + [ + null, + null, + { + input: ['src/*.mts'], + root: '__fixtures__/pkg/reverse', + sourcemap: true + } + ], + [ + { + esbuild: { + logOverride: { + 'ambiguous-reexport': 'warning', + 'assert-to-with': 'warning', + 'assert-type-json': 'warning', + 'assign-to-constant': 'warning', + 'assign-to-define': 'warning', + 'assign-to-import': 'warning', + 'call-import-namespace': 'warning', + 'class-name-will-throw': 'warning', + 'commonjs-variable-in-esm': 'warning', + 'css-syntax-error': 'warning', + 'delete-super-property': 'warning', + 'different-path-case': 'warning', + 'direct-eval': 'warning', + 'duplicate-case': 'warning', + 'duplicate-class-member': 'warning', + 'duplicate-object-key': 'warning', + 'empty-glob': 'warning', + 'empty-import-meta': 'warning', + 'equals-nan': 'warning', + 'equals-negative-zero': 'warning', + 'equals-new-object': 'warning', + 'html-comment-in-js': 'warning', + 'ignored-bare-import': 'warning', + 'ignored-dynamic-import': 'warning', + 'import-is-undefined': 'warning', + 'impossible-typeof': 'warning', + 'indirect-require': 'warning', + 'invalid-@charset': 'warning', + 'invalid-@import': 'warning', + 'invalid-@layer': 'warning', + 'invalid-calc': 'warning', + 'invalid-source-mappings': 'warning', + 'js-comment-in-css': 'warning', + 'missing-source-map': 'warning', + 'package.json': 'warning', + 'private-name-will-throw': 'warning', + 'require-resolve-not-external': 'warning', + 'sections-in-source-map': 'warning', + 'semicolon-after-return': 'warning', + 'suspicious-boolean-not': 'warning', + 'suspicious-define': 'warning', + 'suspicious-logical-operator': 'warning', + 'suspicious-nullish-coalescing': 'warning', + 'this-is-undefined-in-esm': 'warning', + 'tsconfig.json': 'warning', + 'undefined-composes-from': 'warning', + 'unsupported-@charset': 'warning', + 'unsupported-@namespace': 'warning', + 'unsupported-css-nesting': 'warning', + 'unsupported-css-property': 'warning', + 'unsupported-dynamic-import': 'warning', + 'unsupported-jsx-comment': 'warning', + 'unsupported-regexp': 'warning', + 'unsupported-require-call': 'warning', + 'unsupported-source-map-comment': 'warning' + }, + target: [tsconfig.compilerOptions.target] + }, + resolve: { + conditions: new Set(['import', 'node']) + }, + tsconfig: 'tsconfig.build.json' + }, + { + esbuild: { + logOverride: { + 'unsupported-dynamic-import': 'silent' + }, + target: ['node18'] + }, + input: [ + 'src/*.mts', + 'src/interfaces/*.mts', + 'src/types/*.mts', + 'src/utils/*.mts' + ], + resolve: { + conditions: new Set(tsconfig.compilerOptions.customConditions) + } + } + ] + ])('should return merged build task (%#)', (target, ...tasks) => { + expect(testSubject(target, ...tasks)).toMatchSnapshot() + }) +}) diff --git a/src/utils/__tests__/runnable-task.spec.mts b/src/utils/__tests__/runnable-task.spec.mts new file mode 100644 index 00000000..c117e016 --- /dev/null +++ b/src/utils/__tests__/runnable-task.spec.mts @@ -0,0 +1,141 @@ +/** + * @file Unit Tests - runnableTask + * @module mkbuild/utils/tests/unit/runnableTask + */ + +import IGNORE from '#utils/ignore-patterns' +import testSubject from '#utils/runnable-task' +import type { Result, Task } from '@flex-development/mkbuild' +import pathe from '@flex-development/pathe' +import { constant, isObjectPlain, type Fn } from '@flex-development/tutils' +import { ok } from 'devlop' + +describe('unit:utils/runnableTask', () => { + it('should return runnable build task', () => { + // Arrange + const task: Task = {} + + // Act + const result = testSubject(task) + + // Expect + expect(result).to.satisfy(isObjectPlain).and.not.eq(task) + expect(result).to.have.property('run').be.a('function') + }) + + describe('#run', () => { + it.each<[ + ...Parameters<typeof testSubject>, + Fn<Parameters<typeof testSubject>, Fn<[Result], undefined>>? + ]>([ + [ + null, + null, + function assertion(this: void): Fn<[Result], undefined> { + return function assert(this: void, result: Result): undefined { + expect(result).to.have.property('format', 'esm') + expect(result).to.have.property('messages').of.length(0) + expect(result).to.have.property('outdir', 'dist') + expect(result).to.have.property('outputs').of.length(0) + expect(result).to.have.property('root', pathe.cwd() + pathe.sep) + expect(result).to.have.property('size', 0) + expect(result).to.have.nested.property('task.dts', true) + expect(result).to.have.nested.property('task.format', result.format) + expect(result).to.have.nested.property('task.ignore').eql(IGNORE) + expect(result).to.have.nested.property('task.logLevel', 'info') + expect(result).to.have.nested.property('task.outdir', result.outdir) + expect(result).to.have.nested.property('task.root', result.root) + expect(result).to.have.property('timings', null) + + return void result + } + } + ], + [ + { + input: ['*'], + resolve: {}, + root: '__fixtures__/pkg/browser-usage' + }, + null, + function assertion( + this: void, + task: Task | null | undefined + ): Fn<[Result], undefined> { + ok(task, 'expected `task`') + ok(typeof task.root === 'string', 'expected `task.root`') + + /** + * Expected root. + * + * @const {string} root + */ + const root: string = pathe.resolve(task.root) + pathe.sep + + return function assert(this: void, result: Result): undefined { + expect(result).to.have.property('format', 'cjs') + expect(result).to.have.property('messages').of.length(0) + expect(result).to.have.property('outputs').of.length(1) + expect(result).to.have.property('root', root) + expect(result).to.have.nested.property('task.dts', false) + + return void result + } + } + ], + [ + { + experimental: { perf: true }, + gitignore: false, + input: 'src/*.ts', + root: '__fixtures__/pkg/tribonacci', + sourcemap: true, + tsconfig: 'tsconfig.json' + }, + null, + function assertion(this: void): Fn<[Result], undefined> { + return function assert(this: void, result: Result): undefined { + expect(result).to.have.property('format', 'esm') + expect(result).to.have.property('messages').of.length(0) + expect(result).to.have.property('outputs').of.length(2) + expect(result).to.have.nested.property('task.dts', false) + expect(result).to.have.property('timings').to.not.be.null + + return void result + } + } + ] + ])('should return build result (%#)', async ( + task, + fs, + assert = () => constant(undefined) + ) => { + // Act + const result = await testSubject(task, fs).run() + + // Expect + expect(result).to.have.property('failure', null) + expect(result).to.have.property('format').be.oneOf(['cjs', 'esm', 'iife']) + expect(result).to.have.property('messages').be.an('array') + expect(result).to.have.property('outdir').be.a('string') + expect(result).to.have.property('outputs').be.an('array') + expect(result).to.have.property('root').be.a('string') + expect(result).to.have.property('size').be.a('number') + expect(result).to.have.property('task').satisfy(isObjectPlain) + expect(result).to.have.nested.property('task.plugins').be.an('array') + expect(result).to.have.nested.property('task.plugins').to.not.be.empty + expect(result).to.have.property('timings') + + // Expect (attach `bytes` to output assets and chunks) + if (result.outputs.length) { + expect(result.outputs).to.each.have.property('bytes').be.a('number') + } + + // Expect (mutate `task`) + task && expect(result).to.have.property('task', task) + + // Assert build result + assert(task, fs)(result) + }) + }) +}) diff --git a/src/utils/__tests__/task-plugin-name.spec.mts b/src/utils/__tests__/task-plugin-name.spec.mts new file mode 100644 index 00000000..2bd56eab --- /dev/null +++ b/src/utils/__tests__/task-plugin-name.spec.mts @@ -0,0 +1,12 @@ +/** + * @file Unit Tests - TASK_PLUGIN_NAME + * @module mkbuild/utils/tests/unit/TASK_PLUGIN_NAME + */ + +import TEST_SUBJECT from '#utils/task-plugin-name' + +describe('unit:utils/TASK_PLUGIN_NAME', () => { + it('should equal "mkbuild:task"', () => { + expect(TEST_SUBJECT).to.eq('mkbuild:task') + }) +}) diff --git a/src/utils/analyze-outputs.ts b/src/utils/analyze-outputs.ts deleted file mode 100644 index 1eaad8b8..00000000 --- a/src/utils/analyze-outputs.ts +++ /dev/null @@ -1,58 +0,0 @@ -/** - * @file Utilities - analyzeOutputs - * @module mkbuild/utils/analyzeOutputs - */ - -import type { OutputMetadata } from '#src/types' -import { entries, join, template } from '@flex-development/tutils' -import pb from 'pretty-bytes' -import color from 'tinyrainbow' - -/** - * Generates a build analysis for the given `outputs`. - * - * @param {string} outdir - Output directory name - * @param {Record<string, Pick<OutputMetadata, 'bytes'>>} [outputs={}] - Build - * output map from metafile - * @return {{ analysis: string; bytes: number }} Build output analysis and size - */ -const analyzeOutputs = ( - outdir: string, - outputs: Record<string, Pick<OutputMetadata, 'bytes'>> = {} -): { analysis: string; bytes: number } => { - /** - * Indentation. - * - * @const {string} indent - */ - const indent: string = ' '.repeat(2) - - /** - * Output strings. - * - * @const {string[]} strings - */ - const strings: string[] = [] - - /** - * Total output size. - * - * @const {number} size - */ - const size: number = entries(outputs).reduce((acc, output) => { - const [outfile, metadata] = output - strings.push(color.gray(`${indent}└─ ${outfile} (${pb(metadata.bytes)})`)) - return acc + metadata.bytes - }, 0) - - return { - analysis: template(`${indent}{0} (total size: {1})\n{2}`, { - 0: color.bold(outdir), - 1: color.cyan(pb(size)), - 2: join(strings, '\n') - }), - bytes: size - } -} - -export default analyzeOutputs diff --git a/src/utils/define-build-config.mts b/src/utils/define-build-config.mts new file mode 100644 index 00000000..eafcf4fe --- /dev/null +++ b/src/utils/define-build-config.mts @@ -0,0 +1,30 @@ +/** + * @file Utilities - defineBuildConfig + * @module mkbuild/utils/defineBuildConfig + */ + +import type { Config } from '@flex-development/mkbuild' + +/** + * Helper for defining a build configuration object. + * + * @see {@linkcode Config} + * + * @category + * utils + * + * @this {void} + * + * @param {Config | null | undefined} [config] + * Build configuration + * @return {Config} + * Build configuration + */ +function defineBuildConfig( + this: void, + config?: Config | null | undefined +): Config { + return config ?? {} +} + +export default defineBuildConfig diff --git a/src/utils/define-build-config.ts b/src/utils/define-build-config.ts deleted file mode 100644 index c96ca2bb..00000000 --- a/src/utils/define-build-config.ts +++ /dev/null @@ -1,16 +0,0 @@ -/** - * @file Utilities - defineBuildConfig - * @module mkbuild/utils/defineBuildConfig - */ - -import type { Config } from '#src/interfaces' - -/** - * Helper for defining a build configuration object. - * - * @param {Config} [config={}] - Build configuration options - * @return {Config} `config` - */ -const defineBuildConfig = (config: Config = {}): Config => config - -export default defineBuildConfig diff --git a/src/utils/format-to-ext.mts b/src/utils/format-to-ext.mts new file mode 100644 index 00000000..107967d8 --- /dev/null +++ b/src/utils/format-to-ext.mts @@ -0,0 +1,38 @@ +/** + * @file Utilities - formatToExt + * @module mkbuild/utils/formatToExt + */ + +import type { Format } from '@flex-development/mkbuild' +import type { Ext } from '@flex-development/pathe' + +/** + * Get a file extension for a module `format`. + * + * @see {@linkcode Ext} + * @see {@linkcode Format} + * + * @category + * utils + * + * @this {void} + * + * @param {Format} format + * Module format + * @return {Ext} + * File extension for `format` + */ +function formatToExt(this: void, format: Format): Ext { + // note: if more module formats are added, the switch statement below will + // result in a lint error (@typescript-eslint/switch-exhaustiveness-check) + switch (format) { + case 'cjs': + return '.cjs' + case 'esm': + return '.mjs' + case 'iife': + return '.js' + } +} + +export default formatToExt diff --git a/src/utils/fs.ts b/src/utils/fs.ts deleted file mode 100644 index c80dd8cf..00000000 --- a/src/utils/fs.ts +++ /dev/null @@ -1,26 +0,0 @@ -/** - * @file Utilities - fs - * @module mkbuild/utils/fs - */ - -import type { FileSystemAdapter } from '#src/types' -import fsc from 'node:fs' -import fsp from 'node:fs/promises' - -/** - * File system methods. - * - * @const {FileSystemAdapter} fs - */ -const fs: FileSystemAdapter = { - lstat: fsc.lstat, - mkdir: fsp.mkdir, - readdir: fsp.readdir, - readdirSync: fsc.readdirSync, - rm: fsp.rm, - stat: fsc.stat, - unlink: fsp.unlink, - writeFile: fsp.writeFile -} - -export default fs diff --git a/src/utils/gitignore.mts b/src/utils/gitignore.mts new file mode 100644 index 00000000..e1a2fb66 --- /dev/null +++ b/src/utils/gitignore.mts @@ -0,0 +1,67 @@ +/** + * @file Utilities - gitignore + * @module utils/gitignore + */ + +import dfs from '#internal/fs' +import toPath from '#internal/to-path' +import type { FileSystem } from '@flex-development/mkbuild' +import { isFile } from '@flex-development/mlly' +import pathe from '@flex-development/pathe' +import { ok } from 'devlop' + +/** + * Extract a list of ignore patterns from a `.gitignore` file. + * + * @see {@linkcode FileSystem} + * + * @category + * utils + * + * @this {void} + * + * @param {URL | string | null | undefined} [dir] + * Module id of directory containing `.gitignore` file + * @param {Partial<FileSystem> | null | undefined} [fs] + * File system adapter + * @return {Set<string>} + * List of ignore patterns + */ +function gitignore( + this: void, + dir?: URL | string | null | undefined, + fs?: Partial<FileSystem> | null | undefined +): Set<string> { + fs = { ...dfs, ...fs } + + ok(typeof fs.readFileSync === 'function', 'expected `fs.readFileSync`') + ok(typeof fs.statSync === 'function', 'expected `fs.statSync`') + + /** + * Ignore patterns found in `.gitignore` file. + * + * @const {Set<string>} ignore + */ + const ignore: Set<string> = new Set<string>() + + /** + * Absolute path to `.gitignore` file. + * + * @const {string} path + */ + const path: string = pathe.join(toPath(dir ?? pathe.cwd()), '.gitignore') + + if (isFile(path, fs as FileSystem)) { + for (let line of fs.readFileSync(path, 'utf8').split(/\r?\n/)) { + line = line.trim() + + if (!line || line.startsWith('#') || line.startsWith('!')) continue + if (line.endsWith(pathe.sep)) line += '*'.repeat(2) + ignore.add(line) + } + } + + return ignore +} + +export default gitignore diff --git a/src/utils/ignore-patterns.ts b/src/utils/ignore-patterns.mts similarity index 74% rename from src/utils/ignore-patterns.ts rename to src/utils/ignore-patterns.mts index c5dbaeb5..1b86f9c2 100644 --- a/src/utils/ignore-patterns.ts +++ b/src/utils/ignore-patterns.mts @@ -6,32 +6,32 @@ /** * Default ignore patterns. * - * @see https://github.com/mrmlnc/fast-glob#ignore + * @category + * utils * * @const {Set<string>} IGNORE_PATTERNS */ const IGNORE_PATTERNS: Set<string> = new Set<string>([ - '**/*.mdx', - '**/*.stories.*', '**/.*ignore', '**/.*rc', '**/.*rc.*', '**/.DS_*', - '**/.codecov.yml', - '**/.cspell.json', - '**/.dictionary.txt', - '**/.editorconfig', '**/.env*', '**/.git*', + '**/.husky', + '**/.vitest-reports', + '**/.vscode', + '**/.yarn', '**/Brewfile', '**/__mocks__', '**/__snapshots__', '**/__tests__', '**/build.config.*', + '**/coverage', + '**/node_modules/**', '**/package-lock.json', '**/package.json', '**/tsconfig*.json', - '**/vitest-env.*', '**/vitest.config.*', '**/yarn.lock' ]) diff --git a/src/utils/index.mts b/src/utils/index.mts new file mode 100644 index 00000000..d468180f --- /dev/null +++ b/src/utils/index.mts @@ -0,0 +1,12 @@ +/** + * @file Entry Point - Utilities + * @module mkbuild/utils + */ + +export { default as defineBuildConfig } from '#utils/define-build-config' +export { default as formatToExt } from '#utils/format-to-ext' +export { default as gitignore } from '#utils/gitignore' +export { default as IGNORE_PATTERNS } from '#utils/ignore-patterns' +export { default as loadBuildConfig } from '#utils/load-build-config' +export { default as runnableTask } from '#utils/runnable-task' +export { default as TASK_PLUGIN_NAME } from '#utils/task-plugin-name' diff --git a/src/utils/index.ts b/src/utils/index.ts deleted file mode 100644 index 0afe30af..00000000 --- a/src/utils/index.ts +++ /dev/null @@ -1,10 +0,0 @@ -/** - * @file Entry Point - Utilities - * @module mkbuild/utils - */ - -export { default as analyzeOutputs } from './analyze-outputs' -export { default as defineBuildConfig } from './define-build-config' -export { default as fs } from './fs' -export { default as IGNORE_PATTERNS } from './ignore-patterns' -export { default as loaders } from './loaders' diff --git a/src/utils/load-build-config.mts b/src/utils/load-build-config.mts new file mode 100644 index 00000000..60c513c9 --- /dev/null +++ b/src/utils/load-build-config.mts @@ -0,0 +1,105 @@ +/** + * @file Utilities - loadBuildConfig + * @module mkbuild/utils/loadBuildConfig + */ + +import dfs from '#internal/fs' +import defineBuildConfig from '#utils/define-build-config' +import type { Config, ResolvedConfig } from '@flex-development/mkbuild' +import * as mlly from '@flex-development/mlly' +import pathe, { type Ext } from '@flex-development/pathe' +import json5 from 'json5' + +/** + * Load a build configuration. + * + * @see {@linkcode ResolvedConfig} + * @see {@linkcode mlly.FileSystem} + * @see {@linkcode mlly.ModuleId} + * + * @category + * utils + * + * @async + * + * @this {void} + * + * @param {URL | string | null | undefined} [location] + * Module id of directory to search + * @param {mlly.FileSystem | null | undefined} [fs] + * File system API + * @return {Promise<ResolvedConfig>} + * Resolved build configuration + */ +async function loadBuildConfig( + this: void, + location?: mlly.ModuleId | null | undefined, + fs?: mlly.FileSystem | null | undefined +): Promise<ResolvedConfig> { + if (!location) location = pathe.cwd() + + if (typeof location !== 'string') { + location = String(location) + } else if (!location.startsWith('file:')) { + location = String(pathe.pathToFileURL(location)) + } + + location = new URL(location.replace(/\/$/, '') + pathe.sep) + + /** + * Module extensions to probe for. + * + * @const {Ext[]} extensions + */ + const extensions: Ext[] = [ + '.js', + '.json', + '.json5', + '.jsonc', + '.mjs', + '.mts', + '.ts' + ] + + /** + * List of possible config file URLs. + * + * @const {URL[]} tries + */ + const tries: URL[] = [ + location, + ...extensions.map(ext => new URL('build.config' + ext, location)) + ] + + /** + * Build configuration. + * + * @var {Config | null | undefined} config + */ + let config: Config | null | undefined + + /** + * URL of configuration file. + * + * @var {URL | null} url + */ + let url: URL | null = null + + // search for and load config + for (const id of tries) { + if (mlly.isFile(id, fs)) { + url = id + + // load config + config = pathe.matchesGlob(url.href, '*.json*', { basename: true }) + ? json5.parse(String((fs ?? dfs).readFileSync(url))) + : (await import(url.href) as { default?: Config | null }).default + + break + } + } + + return { config: defineBuildConfig(config), url } +} + +export default loadBuildConfig diff --git a/src/utils/loaders.ts b/src/utils/loaders.ts deleted file mode 100644 index 4f63cdcb..00000000 --- a/src/utils/loaders.ts +++ /dev/null @@ -1,51 +0,0 @@ -/** - * @file Utilities - loaders - * @module mkbuild/utils/loaders - */ - -import type * as pathe from '@flex-development/pathe' -import type * as esbuild from 'esbuild' - -/** - * Returns an esbuild [build api][1] [`loader`][2] configuration. - * - * [1]: https://esbuild.github.io/api/#build-api - * [2]: https://esbuild.github.io/api/#loader - * - * @param {esbuild.Format} [format='esm'] - Output file format - * @param {boolean} [bundle=false] - Bundling enabled? - * @return {Record<pathe.Ext, esbuild.Loader>} `loader` configuration - */ -const loaders = ( - format: esbuild.Format = 'esm', - bundle: boolean = false -): Record<pathe.Ext, esbuild.Loader> => ({ - '.cjs': format === 'cjs' && !bundle ? 'copy' : 'js', - '.css': bundle ? 'css' : 'copy', - '.cts': 'ts', - '.d.cts': 'copy', - '.d.mts': 'copy', - '.d.ts': 'copy', - '.data': bundle ? 'binary' : 'copy', - '.eot': 'copy', - '.gif': 'copy', - '.jpeg': 'copy', - '.jpg': 'copy', - '.js': 'js', - '.json': bundle ? 'json' : 'copy', - '.json5': bundle ? 'json' : 'copy', - '.jsonc': bundle ? 'json' : 'copy', - '.jsx': 'jsx', - '.mjs': format === 'esm' && !bundle ? 'copy' : 'js', - '.mts': 'ts', - '.otf': 'copy', - '.png': 'copy', - '.svg': 'copy', - '.ts': 'ts', - '.tsx': 'tsx', - '.txt': bundle ? 'text' : 'copy', - '.woff': 'copy', - '.woff2': 'copy' -}) - -export default loaders diff --git a/src/utils/merge-task.mts b/src/utils/merge-task.mts new file mode 100644 index 00000000..11452f78 --- /dev/null +++ b/src/utils/merge-task.mts @@ -0,0 +1,88 @@ +/** + * @file Utilities - mergeTask + * @module mkbuild/utils/mergeTask + */ + +import type { Task } from '@flex-development/mkbuild' +import { + isObjectCurly, + ksort, + properties, + sift +} from '@flex-development/tutils' + +export default mergeTask + +/** + * Merge one or more build tasks into a single {@linkcode Task}. + * + * Task source objects are applied from left to right. Subsequent sources + * overwrite property assignments of previous sources. + * + * @see {@linkcode Task} + * + * @category + * utils + * + * @this {void} + * + * @param {Task | null | undefined} target + * Target build task + * @param {ReadonlyArray<Task | null | undefined>} tasks + * Source build task(s) + * @return {Task} + * Merged build task + */ +function mergeTask( + this: void, + target: Task | null | undefined, + ...tasks: readonly (Task | null | undefined)[] +): Task { + return ksort(merge(target ?? {}, ...sift(tasks))) +} + +/** + * @this {void} + * + * @param {Record<PropertyKey, any>} target + * Target object + * @param {Record<PropertyKey, any>[]} sources + * Source object(s) + * @return {Record<PropertyKey, any>} + * Merged object + */ +function merge( + this: void, + target: Record<PropertyKey, any>, + ...sources: Record<PropertyKey, any>[] +): Record<PropertyKey, any> { + return sources.reduce<Record<PropertyKey, any>>((acc, source) => { + return properties(source).reduce((target, property) => { + /** + * Source object value. + * + * @var {any} value + */ + let value: any = source[property] + + if (Object.prototype.hasOwnProperty.call(target, property)) { + /** + * Target object value. + * + * @const {any} targetValue + */ + const targetValue: any = target[property] + + if (Array.isArray(targetValue) && Array.isArray(value)) { + value = [...new Set([...targetValue, ...value])] + } else if (targetValue instanceof Set && value instanceof Set) { + value = new Set([...targetValue, ...value]) + } else if (isObjectCurly(targetValue) && isObjectCurly(value)) { + value = merge(targetValue, value) + } + } + + return target[property] = value, target + }, acc) + }, target) +} diff --git a/src/utils/runnable-task.mts b/src/utils/runnable-task.mts new file mode 100644 index 00000000..a8a992f7 --- /dev/null +++ b/src/utils/runnable-task.mts @@ -0,0 +1,440 @@ +/** + * @file Utilities - runnableTask + * @module mkbuild/utils/runnableTask + */ + +import createEntryFileNames from '#internal/create-entry-file-names' +import createOnLog from '#internal/create-on-log' +import formatLog from '#internal/format-log' +import dfs from '#internal/fs' +import glob from '#internal/glob' +import loadTsconfig from '#internal/load-tsconfig' +import readPackageJson from '#internal/read-package-json' +import toPath from '#internal/to-path' +import withTrailingSlash from '#internal/with-trailing-slash' +import clean from '#plugins/clean' +import dts from '#plugins/dts' +import esbuild from '#plugins/esbuild' +import metadata from '#plugins/metadata' +import resolve from '#plugins/resolve' +import write from '#plugins/write' +import type WithUndefined from '#types/with-undefined' +import formatToExt from '#utils/format-to-ext' +import gitignore from '#utils/gitignore' +import IGNORE_PATTERNS from '#utils/ignore-patterns' +import TASK_PLUGIN_NAME from '#utils/task-plugin-name' +import type { + FileSystem, + Input, + Message, + OutputAsset, + OutputChunk, + Result, + RunnableTask, + Task +} from '@flex-development/mkbuild' +import pathe from '@flex-development/pathe' +import type { PackageJson } from '@flex-development/pkg-types' +import { + ifelse, + isNIL, + ksort +} from '@flex-development/tutils' +import { ok } from 'devlop' +import { + rollup, + type InputOptions, + type InputPluginOption, + type MinimalPluginContext, + type NormalizedInputOptions, + type NormalizedOutputOptions, + type OutputOptions, + type PluginContext, + type RollupBuild +} from 'rollup' +import { createMerger } from 'smob' + +/** + * Create a runnable build task. + * + * @see {@linkcode FileSystem} + * @see {@linkcode RunnableTask} + * @see {@linkcode Task} + * + * @todo bundle mode support + * + * @category + * utils + * + * @this {void} + * + * @param {Task | null | undefined} [task] + * The build task to handle + * @param {Partial<FileSystem> | null | undefined} [fs] + * File system API + * @return {RunnableTask} + * Runnable build task + */ +function runnableTask( + this: void, + task?: Task | null | undefined, + fs?: Partial<FileSystem> | null | undefined +): RunnableTask { + task ??= {} + fs = { ...dfs, ...fs } + + /** + * Entry points. + * + * @var {Input | undefined} input + */ + let input: Input | undefined + + /** + * Build messages. + * + * @var {Message[]} messages + */ + let messages: Message[] + + /** + * Package manifest. + * + * @var {PackageJson} pkg + */ + let pkg: PackageJson + + /** + * Input plugins. + * + * @var {InputPluginOption[]} plugins + */ + let plugins: InputPluginOption[] + + return ksort(Object.assign({}, task, { run }) as RunnableTask) + + /** + * Attach additional data to `options`. + * + * @see https://rollupjs.org/plugin-development/#buildstart + * + * @async + * + * @this {PluginContext} + * + * @param {NormalizedInputOptions} options + * Normalized input options + * @return {Promise<undefined>} + */ + async function buildStart( + this: PluginContext, + options: NormalizedInputOptions + ): Promise<undefined> { + ok(fs, 'expected `fs`') + ok(task, 'expected `task`') + ok(typeof task.root === 'string', 'expected `task.root`') + + options.fs = fs as FileSystem + options.pkg = pkg + options.root = task.root + + options.tsconfig = createMerger({ priority: 'right' })(await loadTsconfig({ + cwd: task.root, + fs: options.fs, + tsconfig: task.tsconfig, + tsconfigRaw: task.tsconfigRaw + }), { + compilerOptions: { + noEmit: false, + noEmitOnError: false, + noErrorTruncation: true + } + }) + + return void this + } + + /** + * Set input options. + * + * @see https://rollupjs.org/plugin-development/#options + * + * @this {MinimalPluginContext} + * + * @param {{ plugins?: InputPluginOption }} options + * Options passed to `rollup` + * @return {WithUndefined<InputOptions>} + * Rollup input options + */ + function options( + this: MinimalPluginContext, + options: { plugins?: InputPluginOption } + ): WithUndefined<InputOptions> { + ok(task, 'expected `task`') + ok(typeof task.format === 'string', 'expected `task.format`') + ok(typeof task.logLevel === 'string', 'expected `task.logLevel`') + ok(typeof task.root === 'string', 'expected `task.root`') + ok(Array.isArray(options.plugins), 'expected `options.plugins`') + + plugins = [] + + task.dts ??= Object.keys({ ...pkg.devDependencies }).includes('typescript') + task.gitignore ??= true + task.ignore ??= new Set(IGNORE_PATTERNS) + task.sourcemapExcludeSources ??= true + task.strictDeprecations ??= true + + if (Array.isArray(input) || typeof input === 'string') { + input = glob({ + fs, + ignore: new Set([ + ...task.gitignore ? gitignore(task.root, fs) : [], + ...task.ignore + ]), + include: input, + root: task.root + }) + } + + plugins.push( + ...options.plugins, + task.plugins, + resolve({ ...task.resolve }), + esbuild({ + ...task.esbuild, + format: task.format, + sourceRoot: task.sourcemapBaseUrl, + sourcesContent: !task.sourcemapExcludeSources + }), + task.dts && dts({ only: task.dts === 'only', path: task.typescriptPath }), + metadata(), + clean(), + write() + ) + + return { + cache: false, + input, + jsx: false, + logLevel: ifelse(task.logLevel === 'silent', undefined, task.logLevel), + makeAbsoluteExternalsRelative: undefined, + maxParallelFileOps: task.maxParallelFileOps ?? 20, + onLog: createOnLog(messages), + perf: task.experimental?.perf ?? undefined, + plugins, + preserveSymlinks: task.resolve?.preserveSymlinks ?? false, + strictDeprecations: task.strictDeprecations, + watch: false + } + } + + /** + * Compare the filenames of `a` and `b`. + * + * @param {OutputAsset | OutputChunk} a + * First output asset or chunk + * @param {OutputAsset | OutputChunk} b + * Second output asset or chunk + * @return {number} + * Comparison result + */ + function outputCompare( + a: OutputAsset | OutputChunk, + b: OutputAsset | OutputChunk + ): number { + return a.fileName.localeCompare(b.fileName) + } + + /** + * Set output options. + * + * @see https://rollupjs.org/plugin-development/#outputoptions + * + * @this {MinimalPluginContext} + * + * @return {WithUndefined<OutputOptions>} + * Rollup output options + */ + function outputOptions( + this: MinimalPluginContext + ): WithUndefined<OutputOptions> { + ok(task, 'expected `task`') + ok(typeof task.format === 'string', 'expected `task.format`') + ok(typeof task.outdir === 'string', 'expected `task.outdir`') + + task.assetFileNames ??= 'assets/[name][extname]' + task.clean ??= true + task.entryFileNames ??= '[name]{extname}' + task.sanitizeFileName ??= true + task.write ??= false + + if (!task.ext) task.ext = formatToExt(task.format) + task.ext = pathe.formatExt(task.ext) + + return { + assetFileNames: task.assetFileNames, + banner: task.banner ?? undefined, + dir: task.outdir, + entryFileNames: createEntryFileNames(task), + footer: task.footer ?? undefined, + format: task.format, + hashCharacters: task.hashCharacters ?? 'base64', + preserveModules: true, + sanitizeFileName: task.sanitizeFileName, + sourcemap: task.sourcemap ?? undefined, + sourcemapBaseUrl: ifelse( + isNIL(task.sourcemapBaseUrl), + undefined, + String(task.sourcemapBaseUrl) + ), + sourcemapExcludeSources: task.sourcemapExcludeSources!, + sourcemapIgnoreList: task.sourcemapIgnoreList ?? undefined, + sourcemapPathTransform: task.sourcemapPathTransform ?? undefined, + validate: task.validate ?? undefined, + virtualDirname: task.virtualDirname ?? undefined + } + } + + /** + * Attach additional data to `output` options. + * + * @see https://rollupjs.org/plugin-development/#renderstart + * + * @this {PluginContext} + * + * @param {NormalizedOutputOptions} output + * Normalized output options + * @return {undefined} + */ + function renderStart( + this: PluginContext, + output: NormalizedOutputOptions + ): undefined { + ok(fs, 'expected `fs`') + ok(task, 'expected `task`') + ok(typeof task.clean === 'boolean', 'expected `task.clean`') + ok(typeof task.root === 'string', 'expected `task.root`') + ok(typeof task.write === 'boolean', 'expected `task.write`') + + output.clean = task.clean + output.fs = fs as FileSystem + output.root = task.root + output.write = task.write + + return void this + } + + /** + * Run {@linkcode task}. + * + * @async + * + * @return {Promise<Result>} + * Build result + */ + async function run(): Promise<Result> { + ok(fs, 'expected `fs`') + ok(task, 'expected `task`') + + task.root = toPath(task.root ?? pathe.cwd()) + task.root = withTrailingSlash(pathe.resolve(task.root)) + + input = task.input ?? undefined + messages = [] + pkg = readPackageJson(task.root, fs as FileSystem) + + task.format ??= pkg.type === 'module' ? 'esm' : 'cjs' + task.logLevel ??= 'info' + task.outdir ??= 'dist' + + /** + * Build result. + * + * @const {Result} result + */ + const result: Result = Object.defineProperties({ + failure: null, + format: task.format, + messages, + outdir: task.outdir, + outputs: [], + pkg, + root: task.root, + size: 0, + task: task as Result['task'], + timings: null + }, { + pkg: { + enumerable: false, + value: pkg, + writable: true + }, + size: { + enumerable: true, + + /** + * Get the size of `this` build result. + * + * @this {Result} + * + * @return {number} + * Build result size in bytes + */ + get(this: Result): number { + return this.outputs.reduce((acc, output) => { + ok(typeof output.bytes === 'number', 'expected `output.bytes`') + return acc + output.bytes + }, 0) + } + } + }) + + try { + /** + * Rollup build. + * + * @const {RollupBuild} build + */ + const build: RollupBuild = await rollup({ + plugins: [ + { + api: { fs, pkg }, + // @ts-expect-error [2353] vite-only option + apply: 'build', + buildStart: { handler: buildStart, order: 'pre', sequential: true }, + name: TASK_PLUGIN_NAME, + onLog: { handler: formatLog, order: 'pre' }, + options: { handler: options, order: 'pre', sequential: true }, + outputOptions: { handler: outputOptions, order: 'pre' }, + renderStart: { handler: renderStart, order: 'pre' } + } + ] + }) + + // generate rollup build outputs and add outputs to build result + result.outputs = (await build.generate({})).output.sort(outputCompare) + + // close rollup build so `closeBundle` hooks are called + void await build.close() + + // add performance timings to build result + if (build.getTimings) result.timings = build.getTimings() + } catch (e: unknown) { + result.failure = e as Error + } + + // rollup will throw if `task.input` is empty, `null`, or `undefined` + if (result.failure?.message.match(/must supply options.input to rollup/)) { + result.failure = null + } + + ok(Array.isArray(plugins), 'expected `plugins`') + + result.task.input = input + result.task.plugins = plugins + + return ksort(result.task), result + } +} + +export default runnableTask diff --git a/src/utils/task-plugin-name.mts b/src/utils/task-plugin-name.mts new file mode 100644 index 00000000..336cfb13 --- /dev/null +++ b/src/utils/task-plugin-name.mts @@ -0,0 +1,16 @@ +/** + * @file Utilities - TASK_PLUGIN_NAME + * @module mkbuild/utils/TASK_PLUGIN_NAME + */ + +/** + * Build task plugin name. + * + * @category + * utils + * + * @const {string} TASK_PLUGIN_NAME + */ +const TASK_PLUGIN_NAME: string = 'mkbuild:task' + +export default TASK_PLUGIN_NAME diff --git a/tsconfig.build.json b/tsconfig.build.json index a8f6603e..931c32c2 100644 --- a/tsconfig.build.json +++ b/tsconfig.build.json @@ -1,11 +1,23 @@ { "compilerOptions": { - "declaration": true, + "allowImportingTsExtensions": false, + "allowJs": false, + "checkJs": false, + "customConditions": ["mkbuild", "production", "import", "node"], + "declarationMap": true, "noEmitOnError": true, - "skipLibCheck": false, - "target": "es2022" + "noUnusedLocals": true, + "outDir": "dist", + "paths": {}, + "rootDir": "src", + "target": "es2024" }, - "exclude": ["**/__mocks__", "**/__tests__"], + "exclude": ["**/__tests__/**"], "extends": "./tsconfig.json", - "include": ["./dist/*", "./src/*"] + "files": [ + "typings/@flex-development/fst-util-from-fs/index.d.mts", + "typings/rollup/index.d.ts", + "typings/typescript/lib.es5.d.ts" + ], + "include": ["dist/**/*", "src/**/**.mts"] } diff --git a/tsconfig.cjs.json b/tsconfig.cjs.json deleted file mode 100644 index dd703e4c..00000000 --- a/tsconfig.cjs.json +++ /dev/null @@ -1,16 +0,0 @@ -{ - "compilerOptions": { - "composite": true, - "customConditions": ["require", "node", "default"], - "declaration": true, - "emitDeclarationOnly": true, - "noEmit": false, - "module": "commonjs", - "moduleResolution": "nodenext", - "outDir": ".", - "verbatimModuleSyntax": false - }, - "exclude": ["**/coverage", "**/dist", "**/node_modules"], - "extends": "./tsconfig.json", - "include": ["**/**.cjs", "**/**.cts", "**/**.json", "**/.*.cjs", "**/.*.cts"] -} diff --git a/tsconfig.json b/tsconfig.json index a561ea9f..d1da44da 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -2,58 +2,33 @@ "compilerOptions": { "allowImportingTsExtensions": true, "allowJs": true, - "allowUnreachableCode": false, - "alwaysStrict": false, - "baseUrl": ".", - "checkJs": false, - "customConditions": ["import", "node", "default"], - "declaration": false, - "declarationMap": false, - "emitDecoratorMetadata": true, - "esModuleInterop": true, - "exactOptionalPropertyTypes": true, - "experimentalDecorators": true, - "forceConsistentCasingInFileNames": true, - "lib": ["dom", "es2022"], + "alwaysStrict": true, + "customConditions": ["mkbuild", "development", "node"], + "declaration": true, + "declarationMap": true, + "lib": ["es2024"], "module": "esnext", "moduleResolution": "bundler", "newLine": "lf", "noEmit": true, "noErrorTruncation": true, - "noFallthroughCasesInSwitch": true, - "noImplicitAny": true, - "noImplicitOverride": true, - "noImplicitReturns": true, - "noUncheckedIndexedAccess": true, + "noUncheckedSideEffectImports": true, "noUnusedLocals": false, "noUnusedParameters": false, - "outDir": "dist", - "paths": { - "#fixtures/*": ["__fixtures__/*"], - "#pkg": ["package.json"], - "#src": ["src/index"], - "#src/*": ["src/*"], - "#tests/*": ["__tests__/*"] - }, - "preserveConstEnums": true, - "preserveSymlinks": false, - "pretty": true, + "paths": {}, "resolveJsonModule": true, - "resolvePackageJsonExports": true, - "resolvePackageJsonImports": true, - "rootDir": ".", - "skipDefaultLibCheck": false, - "skipLibCheck": true, "sourceMap": true, - "strict": true, - "strictNullChecks": true, - "strictPropertyInitialization": true, "target": "esnext", - "useDefineForClassFields": true, - "useUnknownInCatchVariables": true, "verbatimModuleSyntax": true }, - "exclude": ["**/coverage", "**/dist", "**/node_modules"], - "include": ["**/**.js", "**/**.mjs", "**/**.mts", "**/**.ts"], - "references": [{ "path": "./tsconfig.cjs.json" }] + "exclude": ["coverage", "dist", "node_modules"], + "extends": "@tsconfig/strictest/tsconfig", + "include": ["**/**.json", "**/**.mjs", "**/**.mts", "**/**.ts"], + "mdx": { + "plugins": [ + "remark-directive", + "remark-frontmatter", + "remark-gfm" + ] + } } diff --git a/tsconfig.test.json b/tsconfig.test.json new file mode 100644 index 00000000..d2c5e5ed --- /dev/null +++ b/tsconfig.test.json @@ -0,0 +1,6 @@ +{ + "compilerOptions": { + "customConditions": ["mkbuild", "development", "node"] + }, + "extends": "./tsconfig.json" +} diff --git a/tsconfig.typecheck.json b/tsconfig.typecheck.json index 6ed9d5df..9677e935 100644 --- a/tsconfig.typecheck.json +++ b/tsconfig.typecheck.json @@ -1,14 +1,23 @@ { "compilerOptions": { - "target": "es2022" + "allowJs": false, + "checkJs": false, + "customConditions": ["types", "mkbuild"] }, + "exclude": [], "extends": "./tsconfig.json", + "files": [ + "typings/@flex-development/fst-util-from-fs/index.d.mts", + "typings/@faker-js/faker/global.d.ts", + "typings/rollup/index.d.ts", + "typings/typescript/lib.es5.d.ts", + "vitest-env.d.mts" + ], "include": [ - "**/**.cts", - "**/**.mts", - "**/**.ts", - "**/.*.cts", - "**/.*.mts", - "**/.*.ts" + "__fixtures__/**/*", + "__tests__/**/*", + "src/**/**.mts", + "typings/**/*", + "vitest-env.d.mts" ] } diff --git a/typings/@flex-development/fst-util-from-fs/index.d.mts b/typings/@flex-development/fst-util-from-fs/index.d.mts new file mode 100644 index 00000000..41e0dd39 --- /dev/null +++ b/typings/@flex-development/fst-util-from-fs/index.d.mts @@ -0,0 +1,10 @@ +declare module '@flex-development/fst-util-from-fs' { + interface Dirent { + /** + * Path to parent directory. + */ + parentPath: string + } +} + +export {} diff --git a/typings/chai/index.d.ts b/typings/chai/index.d.ts new file mode 100644 index 00000000..6d9ecf62 --- /dev/null +++ b/typings/chai/index.d.ts @@ -0,0 +1,53 @@ +declare global { + namespace Chai { + interface Assertion { + /** + * Execute an expression and check expectations. + * + * @see {@linkcode AssertionError} + * + * @param {unknown} expression + * The expression to be tested + * @param {Function | string} message + * Message to display if expression test fails, or a function that + * returns such a message + * @param {Function | string} negatedMessage + * Message to display if negated expression test fails, or a function + * that returns such a message + * @param {unknown} [expected] + * Expected value + * @param {unknown} [actual] + * Expresssion test result + * @param {boolean | undefined} [showDiff] + * Display diff in addition to message if expression test fails + * @return {undefined} + * @throws {AssertionError} + */ + assert( + expression: unknown, + message: Function | string, + negatedMessage: Function | string, + expected: unknown, + actual?: unknown, + showDiff?: boolean | undefined + ): undefined + + /** + * Assert the return value of `pathe.dirname`. + * + * @param {URL | string} expected + * Expected dirname + * @return {Assertion} + * Assertion object + */ + dirname(expected: URL | string): Assertion + + /** + * Perform assertions on each item in a list. + */ + each: Assertion + } + } +} + +export {} diff --git a/typings/rollup/index.d.ts b/typings/rollup/index.d.ts new file mode 100644 index 00000000..8de47816 --- /dev/null +++ b/typings/rollup/index.d.ts @@ -0,0 +1,34 @@ +import type { FileSystem, MessageLocation } from '@flex-development/mkbuild' +import type { PackageJson } from '@flex-development/pkg-types' +import type { Tsconfig } from '@flex-development/tsconfig-types' + +declare module 'rollup' { + interface NormalizedInputOptions { + fs: FileSystem + pkg: PackageJson + root: string + tsconfig: Tsconfig + } + + interface NormalizedOutputOptions { + clean: boolean + fs: FileSystem + root: string + write: boolean + } + + interface OutputAsset { + bytes: number + } + + interface OutputChunk { + bytes: number + } + + interface RollupLog { + loc?: { column: number; file?: string; line: number } | MessageLocation + level?: LogLevel | 'error' | undefined + } +} + +export {} diff --git a/typings/typescript/lib.es5.d.ts b/typings/typescript/lib.es5.d.ts new file mode 100644 index 00000000..155f25fc --- /dev/null +++ b/typings/typescript/lib.es5.d.ts @@ -0,0 +1,18 @@ +declare global { + interface ArrayConstructor { + /** + * Check if `value` is an array. + * + * @template {any} T + * Array item type + * + * @param {unknown} value + * Value to check + * @return {value is ReadonlyArray<T> | T[]} + * `true` if `value` is an array + */ + isArray<T>(value: unknown): value is T[] | readonly T[] + } +} + +export {} diff --git a/vitest-env.d.ts b/vitest-env.d.mts similarity index 56% rename from vitest-env.d.ts rename to vitest-env.d.mts index 5c135bc7..a2476efb 100644 --- a/vitest-env.d.ts +++ b/vitest-env.d.mts @@ -3,22 +3,20 @@ interface ImportMetaEnv { readonly BASE_URL: string readonly DEV: '1' | import('@flex-development/tutils').EmptyString - readonly LINT_STAGED?: '0' | '1' - readonly MODE: import('@flex-development/tutils').NodeEnv.TEST - readonly NODE_ENV: import('@flex-development/tutils').NodeEnv.TEST + readonly GITHUB_TOKEN: string + readonly MODE: string + readonly NODE_ENV: string readonly PROD: '1' | import('@flex-development/tutils').EmptyString readonly PWD: string readonly SSR: '1' | import('@flex-development/tutils').EmptyString readonly TEST: 'true' - readonly TYPESCRIPT_VERSION?: string readonly USER: string readonly VITEST: 'true' - readonly VITEST_CLI_WRAPPER: 'true' readonly VITEST_MODE: 'DEV' | 'RUN' - readonly VITEST_POOL_ID: `${number}` - readonly VITEST_WORKER_ID: `${number}` + readonly VITEST_POOL_ID: import('@flex-development/tutils').Numeric + readonly VITEST_WORKER_ID: import('@flex-development/tutils').Numeric readonly VITE_ROOT: string - readonly VITE_USER_NODE_ENV: import('@flex-development/tutils').NodeEnv.TEST + readonly VITE_USER_NODE_ENV: string } interface ImportMeta { diff --git a/vitest.config.mts b/vitest.config.mts new file mode 100644 index 00000000..f1b91e9a --- /dev/null +++ b/vitest.config.mts @@ -0,0 +1,156 @@ +/** + * @file Configuration - Vitest + * @module config/vitest + * @see https://vitest.dev/config + */ + +import Notifier from '#tests/reporters/notifier' +import VerboseReporter from '#tests/reporters/verbose' +import pathe from '@flex-development/pathe' +import ci from 'is-ci' +import type { ConfigEnv, ViteUserConfig } from 'vitest/config' +import { BaseSequencer, type TestSpecification } from 'vitest/node' +import tsconfig from './tsconfig.test.json' with { type: 'json' } + +/** + * Create a vitest configuration. + * + * @see {@linkcode ConfigEnv} + * @see {@linkcode ViteUserConfig} + * + * @param {ConfigEnv} env + * Configuration environment + * @return {ViteUserConfig} + * Vitest configuration object + */ +function config(env: ConfigEnv): ViteUserConfig { + return { + ssr: { + resolve: { conditions: tsconfig.compilerOptions.customConditions } + }, + test: { + allowOnly: !ci, + chaiConfig: { + includeStack: true, + showDiff: true, + truncateThreshold: 0 + }, + clearMocks: true, + coverage: { + all: true, + clean: true, + cleanOnRerun: true, + exclude: [ + '**/*.d.mts', + '**/__mocks__/', + '**/__tests__/', + '**/interfaces/', + '**/types/', + '**/index.mts', + '!src/index.mts', + 'src/internal/*.browser.mts' + ], + extension: ['.mts'], + include: ['src'], + provider: 'v8', + reportOnFailure: !ci, + reporter: env.mode === 'reports' + ? ['text'] + : [ci ? 'lcovonly' : 'html', 'json-summary', 'text'], + reportsDirectory: './coverage', + skipFull: false, + thresholds: { 100: true, perFile: true } + }, + environment: 'node', + environmentOptions: {}, + globalSetup: [], + globals: true, + include: ['src/**/__tests__/*.spec.mts'], + mockReset: true, + outputFile: { + blob: `.vitest-reports/${env.mode}.blob.json`, + json: pathe.join('__tests__', 'reports', env.mode + '.json') + }, + passWithNoTests: true, + reporters: JSON.parse(process.env['VITEST_UI'] ?? '0') + ? [new Notifier(), new VerboseReporter(env)] + : env.mode === 'reports' + ? [new VerboseReporter(env)] + : [ + ci ? 'github-actions' : new Notifier(), + 'blob', + 'json', + new VerboseReporter(env) + ], + /** + * Stores snapshots next to `file`'s directory. + * + * @param {string} file + * Path to test file + * @param {string} extension + * Snapshot extension + * @return {string} + * Custom snapshot path + */ + resolveSnapshotPath(file: string, extension: string): string { + return pathe.resolve( + pathe.resolve(pathe.dirname(pathe.dirname(file)), '__snapshots__'), + pathe.basename(file).replace(/\.spec.mts/, '') + extension + ) + }, + restoreMocks: true, + sequence: { + /** + * Sorting and sharding algorithm provider. + * + * @see {@linkcode BaseSequencer} + * + * @extends {BaseSequencer} + */ + sequencer: class Sequencer extends BaseSequencer { + /** + * Determine test file execution order. + * + * @public + * @override + * @async + * + * @param {TestSpecification[]} specs + * List of test file specifications + * @return {Promise<TestSpecification[]>} + * Sorted test files + */ + public override async sort( + specs: TestSpecification[] + ): Promise<TestSpecification[]> { + return new Promise(resolve => { + return void resolve(specs.sort((a, b) => { + return a.moduleId.localeCompare(b.moduleId) + })) + }) + } + } + }, + setupFiles: ['./__tests__/setup/chai.mts', './__tests__/setup/faker.mts'], + snapshotFormat: { + callToJSON: true, + min: false, + printBasicPrototype: false, + printFunctionName: true + }, + snapshotSerializers: ['./__tests__/serializers/cwd.mts'], + typecheck: { + allowJs: false, + checker: 'tsc', + ignoreSourceErrors: false, + include: ['**/__tests__/*.spec-d.mts'], + only: true, + tsconfig: 'tsconfig.typecheck.json' + }, + unstubEnvs: true, + unstubGlobals: true + } + } +} + +export default config diff --git a/vitest.config.ts b/vitest.config.ts deleted file mode 100644 index 0ec5a226..00000000 --- a/vitest.config.ts +++ /dev/null @@ -1,219 +0,0 @@ -/** - * @file Vitest Configuration - * @module config/vitest - * @see https://vitest.dev/config/ - */ - -import { DECORATOR_REGEX } from '@flex-development/decorator-regex' -import pathe from '@flex-development/pathe' -import { cast, split, type Nullable } from '@flex-development/tutils' -import swc from '@swc/core' -import ci from 'is-ci' -import tsconfigpaths from 'vite-tsconfig-paths' -import { - defineConfig, - type UserConfig, - type UserConfigExport -} from 'vitest/config' -import { BaseSequencer, type WorkspaceSpec } from 'vitest/node' -import tsconfig from './tsconfig.json' assert { type: 'json' } - -/** - * Vitest configuration export. - * - * @const {UserConfigExport} config - */ -const config: UserConfigExport = defineConfig((): UserConfig => { - /** - * [`lint-staged`][1] check. - * - * [1]: https://github.com/okonet/lint-staged - * - * @const {boolean} LINT_STAGED - */ - const LINT_STAGED: boolean = !!Number.parseInt(process.env.LINT_STAGED ?? '0') - - return { - define: {}, - plugins: [ - { - enforce: 'pre', - name: 'decorators', - - /** - * Transforms source `code` containing decorators. - * - * @see https://github.com/swc-project/swc/issues/3854 - * - * @param {string} code - Source code - * @param {string} id - Module id of source code - * @return {Promise<Nullable<{ code: string }>>} Transform result - */ - async transform( - code: string, - id: string - ): Promise<Nullable<{ code: string }>> { - // do nothing if source code does not contain decorators - DECORATOR_REGEX.lastIndex = 0 - if (!DECORATOR_REGEX.test(code)) return null - - /** - * Regular expression used to match constructor parameters. - * - * @see https://regex101.com/r/kTq0JK - * - * @const {RegExp} CONSTRUCTOR_PARAMS_REGEX - */ - const CONSTRUCTOR_PARAMS_REGEX: RegExp = - /(?<=constructor\(\s*)([^\n)].+?)(?=\n? *?\) ?{)/gs - - // add "/* c8 ignore next */" before constructor parameters - for (const [match] of code.matchAll(CONSTRUCTOR_PARAMS_REGEX)) { - code = code.replace(match, (params: string): string => { - return split(params, '\n').reduce((acc, param) => { - return acc.replace( - param, - param.replace(/(\S)/, '/* c8 ignore next */ $1') - ) - }, params) - }) - } - - return { - code: ( - await swc.transform(code, { - configFile: false, - filename: id, - inlineSourcesContent: true, - jsc: { - keepClassNames: true, - parser: { - decorators: true, - dynamicImport: true, - syntax: 'typescript', - tsx: pathe.extname(id) === '.tsx' - }, - target: cast<swc.JscTarget>(tsconfig.compilerOptions.target), - transform: { - decoratorMetadata: - tsconfig.compilerOptions.emitDecoratorMetadata, - legacyDecorator: true, - useDefineForClassFields: - tsconfig.compilerOptions.useDefineForClassFields - } - }, - sourceMaps: 'inline', - swcrc: false - }) - ).code - } - } - }, - tsconfigpaths({ projects: [pathe.resolve('tsconfig.json')] }) - ], - test: { - allowOnly: !ci, - benchmark: {}, - chaiConfig: { - includeStack: true, - showDiff: true, - truncateThreshold: 0 - }, - clearMocks: true, - coverage: { - all: !LINT_STAGED, - clean: true, - cleanOnRerun: true, - exclude: [ - '**/__mocks__/**', - '**/__tests__/**', - '**/index.ts', - '**/interfaces/', - '**/types/', - 'src/plugins/**/options.ts' - ], - extension: ['.ts'], - include: ['src'], - provider: 'v8', - reporter: [...(ci ? [] : (['html'] as const)), 'lcovonly', 'text'], - reportsDirectory: './coverage', - skipFull: false - }, - environment: 'node', - environmentOptions: {}, - globalSetup: [], - globals: true, - hookTimeout: 10 * 1000, - include: [ - `**/__tests__/*.${LINT_STAGED ? '{spec,spec-d}' : 'spec'}.{ts,tsx}` - ], - isolate: true, - mockReset: true, - outputFile: { json: './__tests__/report.json' }, - passWithNoTests: true, - reporters: [ - 'json', - 'verbose', - ...(ci ? [] : ['./__tests__/reporters/notifier.ts']) - ], - /** - * Stores snapshots next to `file`'s directory. - * - * @param {string} file - Path to test file - * @param {string} extension - Snapshot extension - * @return {string} Custom snapshot path - */ - resolveSnapshotPath(file: string, extension: string): string { - return pathe.resolve( - pathe.resolve(pathe.dirname(pathe.dirname(file)), '__snapshots__'), - pathe.basename(file).replace(/\.spec.tsx?/, '') + extension - ) - }, - restoreMocks: true, - root: process.cwd(), - sequence: { - sequencer: class Sequencer extends BaseSequencer { - /** - * Determines test file execution order. - * - * @public - * @override - * @async - * - * @param {WorkspaceSpec[]} specs - Workspace spec objects - * @return {Promise<WorkspaceSpec[]>} `files` sorted - */ - public override async sort( - specs: WorkspaceSpec[] - ): Promise<WorkspaceSpec[]> { - return (await super.sort(specs)).sort(([, file1], [, file2]) => { - return file1.localeCompare(file2) - }) - } - } - }, - setupFiles: ['./__tests__/setup/index.ts'], - silent: false, - singleThread: true, - slowTestThreshold: 5000, - snapshotFormat: { - callToJSON: true, - min: false, - printBasicPrototype: false, - printFunctionName: true - }, - testTimeout: 20 * 1000, - typecheck: { - allowJs: false, - checker: 'tsc', - ignoreSourceErrors: false, - include: ['**/__tests__/*.spec-d.ts'], - tsconfig: pathe.resolve('tsconfig.typecheck.json') - }, - unstubEnvs: true, - unstubGlobals: true - } - } -}) - -export default config diff --git a/yarn.lock b/yarn.lock index 9e0663a9..39a49179 100644 --- a/yarn.lock +++ b/yarn.lock @@ -8,1013 +8,1234 @@ __metadata: "@aashutoshrathi/word-wrap@npm:^1.2.3": version: 1.2.6 resolution: "@aashutoshrathi/word-wrap@npm:1.2.6" - checksum: 6eebd12a5cd03cee38fcb915ef9f4ea557df6a06f642dfc7fe8eb4839eb5c9ca55a382f3604d52c14200b0c214c12af5e1f23d2a6d8e23ef2d016b105a9d6c0a + checksum: 10/6eebd12a5cd03cee38fcb915ef9f4ea557df6a06f642dfc7fe8eb4839eb5c9ca55a382f3604d52c14200b0c214c12af5e1f23d2a6d8e23ef2d016b105a9d6c0a languageName: node linkType: hard -"@ampproject/remapping@npm:^2.2.1": - version: 2.2.1 - resolution: "@ampproject/remapping@npm:2.2.1" +"@ampproject/remapping@npm:^2.3.0": + version: 2.3.0 + resolution: "@ampproject/remapping@npm:2.3.0" dependencies: - "@jridgewell/gen-mapping": "npm:^0.3.0" - "@jridgewell/trace-mapping": "npm:^0.3.9" - checksum: e15fecbf3b54c988c8b4fdea8ef514ab482537e8a080b2978cc4b47ccca7140577ca7b65ad3322dcce65bc73ee6e5b90cbfe0bbd8c766dad04d5c62ec9634c42 + "@jridgewell/gen-mapping": "npm:^0.3.5" + "@jridgewell/trace-mapping": "npm:^0.3.24" + checksum: 10/f3451525379c68a73eb0a1e65247fbf28c0cccd126d93af21c75fceff77773d43c0d4a2d51978fb131aff25b5f2cb41a9fe48cc296e61ae65e679c4f6918b0ab languageName: node linkType: hard "@andrewbranch/untar.js@npm:^1.0.3": version: 1.0.3 resolution: "@andrewbranch/untar.js@npm:1.0.3" - checksum: a32de53839fc61af90a394cf93d4368aacd167c9c80f0b3ba0c268460942a6ce2bfe257b6d3f03986b9dcb7368f10b9dc7f66c2f94254d2662da8278454e7d12 + checksum: 10/a32de53839fc61af90a394cf93d4368aacd167c9c80f0b3ba0c268460942a6ce2bfe257b6d3f03986b9dcb7368f10b9dc7f66c2f94254d2662da8278454e7d12 languageName: node linkType: hard -"@arethetypeswrong/cli@npm:0.12.2": - version: 0.12.2 - resolution: "@arethetypeswrong/cli@npm:0.12.2" +"@arethetypeswrong/cli@npm:0.17.3": + version: 0.17.3 + resolution: "@arethetypeswrong/cli@npm:0.17.3" dependencies: - "@arethetypeswrong/core": "npm:0.12.2" + "@arethetypeswrong/core": "npm:0.17.3" chalk: "npm:^4.1.2" cli-table3: "npm:^0.6.3" commander: "npm:^10.0.1" - marked: "npm:^5.1.0" - marked-terminal: "npm:^5.2.0" - node-fetch: "npm:^2.6.4" + marked: "npm:^9.1.2" + marked-terminal: "npm:^7.1.0" semver: "npm:^7.5.4" bin: attw: dist/index.js - checksum: 64932d19dda0a14d25e6d9f44c7f05b7eb1a36ca05289be5078dea1172e3b7e8822f44198ced27dc2caf95688014d8f72314cd89a609beb4bf551ea7c925020c + checksum: 10/c569c86c19d2427b73cd91d100b46e97e222c4c1684b1f946cfb18fa0caa91085ec864c9c966f9ad2fc5e0267d4d11327631f4039accee46a183456eb3c02fec languageName: node linkType: hard -"@arethetypeswrong/core@npm:0.12.2": - version: 0.12.2 - resolution: "@arethetypeswrong/core@npm:0.12.2" +"@arethetypeswrong/core@npm:0.17.3": + version: 0.17.3 + resolution: "@arethetypeswrong/core@npm:0.17.3" dependencies: "@andrewbranch/untar.js": "npm:^1.0.3" - fetch-ponyfill: "npm:^7.1.0" - fflate: "npm:^0.7.4" + cjs-module-lexer: "npm:^1.2.3" + fflate: "npm:^0.8.2" + lru-cache: "npm:^10.4.3" semver: "npm:^7.5.4" - typescript: "npm:^5.2.2" + typescript: "npm:5.6.1-rc" validate-npm-package-name: "npm:^5.0.0" - checksum: 32c20cc9eda855114afa0ded66f9747cb4937d6d3fb8060219b72584ce19ea4e670124de3a614ffdf9f51981188eb06b9dbf9ba7eaeed584973f3c969da76601 + checksum: 10/88dd840629356f555f00210c2df57f35701f46bc3d814cf7253c41adc0e33beb8af8cfdf04b12457cd1220b28fcc0e9cf2289846dbf4d2868101a1ce592879c8 languageName: node linkType: hard -"@babel/code-frame@npm:^7.0.0": - version: 7.22.13 - resolution: "@babel/code-frame@npm:7.22.13" +"@babel/code-frame@npm:^7.0.0, @babel/code-frame@npm:^7.21.4": + version: 7.24.7 + resolution: "@babel/code-frame@npm:7.24.7" dependencies: - "@babel/highlight": "npm:^7.22.13" - chalk: "npm:^2.4.2" - checksum: bf6ae6ba3a510adfda6a211b4a89b0f1c98ca1352b745c077d113f3b568141e0d44ce750b9ac2a80143ba5c8c4080c50fcfc1aa11d86e194ea6785f62520eb5a + "@babel/highlight": "npm:^7.24.7" + picocolors: "npm:^1.0.0" + checksum: 10/4812e94885ba7e3213d49583a155fdffb05292330f0a9b2c41b49288da70cf3c746a3fda0bf1074041a6d741c33f8d7be24be5e96f41ef77395eeddc5c9ff624 languageName: node linkType: hard -"@babel/helper-validator-identifier@npm:^7.22.5": - version: 7.22.15 - resolution: "@babel/helper-validator-identifier@npm:7.22.15" - checksum: 4c142549ab5a1235c638d89b52b612a32a123ae19b7da70708385b1e2522530b3c90c85e38604dc6a5fee6a7928b447edacd55176f48a70e103d232eb0da31e5 +"@babel/helper-string-parser@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/helper-string-parser@npm:7.25.9" + checksum: 10/c28656c52bd48e8c1d9f3e8e68ecafd09d949c57755b0d353739eb4eae7ba4f7e67e92e4036f1cd43378cc1397a2c943ed7bcaf5949b04ab48607def0258b775 languageName: node linkType: hard -"@babel/highlight@npm:^7.22.13": - version: 7.22.13 - resolution: "@babel/highlight@npm:7.22.13" +"@babel/helper-validator-identifier@npm:^7.24.7, @babel/helper-validator-identifier@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/helper-validator-identifier@npm:7.25.9" + checksum: 10/3f9b649be0c2fd457fa1957b694b4e69532a668866b8a0d81eabfa34ba16dbf3107b39e0e7144c55c3c652bf773ec816af8df4a61273a2bb4eb3145ca9cf478e + languageName: node + linkType: hard + +"@babel/highlight@npm:^7.24.7": + version: 7.24.7 + resolution: "@babel/highlight@npm:7.24.7" dependencies: - "@babel/helper-validator-identifier": "npm:^7.22.5" + "@babel/helper-validator-identifier": "npm:^7.24.7" chalk: "npm:^2.4.2" js-tokens: "npm:^4.0.0" - checksum: cb6053267f6485c7e315bad437829d8e9e6df5d29d02c23318199f45b4ac8bf256ed41d70445314041e51fad446a511017b8e6a140993cd2edd748c39bf8d351 + picocolors: "npm:^1.0.0" + checksum: 10/69b73f38cdd4f881b09b939a711e76646da34f4834f4ce141d7a49a6bb1926eab1c594148970a8aa9360398dff800f63aade4e81fafdd7c8d8a8489ea93bfec1 + languageName: node + linkType: hard + +"@babel/parser@npm:^7.25.4": + version: 7.26.2 + resolution: "@babel/parser@npm:7.26.2" + dependencies: + "@babel/types": "npm:^7.26.0" + bin: + parser: ./bin/babel-parser.js + checksum: 10/8baee43752a3678ad9f9e360ec845065eeee806f1fdc8e0f348a8a0e13eef0959dabed4a197c978896c493ea205c804d0a1187cc52e4a1ba017c7935bab4983d + languageName: node + linkType: hard + +"@babel/types@npm:^7.25.4, @babel/types@npm:^7.26.0": + version: 7.26.0 + resolution: "@babel/types@npm:7.26.0" + dependencies: + "@babel/helper-string-parser": "npm:^7.25.9" + "@babel/helper-validator-identifier": "npm:^7.25.9" + checksum: 10/40780741ecec886ed9edae234b5eb4976968cc70d72b4e5a40d55f83ff2cc457de20f9b0f4fe9d858350e43dab0ea496e7ef62e2b2f08df699481a76df02cd6e languageName: node linkType: hard -"@bcoe/v8-coverage@npm:^0.2.3": - version: 0.2.3 - resolution: "@bcoe/v8-coverage@npm:0.2.3" - checksum: 1a1f0e356a3bb30b5f1ced6f79c413e6ebacf130421f15fac5fcd8be5ddf98aedb4404d7f5624e3285b700e041f9ef938321f3ca4d359d5b716f96afa120d88d +"@bcoe/v8-coverage@npm:^1.0.2": + version: 1.0.2 + resolution: "@bcoe/v8-coverage@npm:1.0.2" + checksum: 10/46600b2dde460269b07a8e4f12b72e418eae1337b85c979f43af3336c9a1c65b04e42508ab6b245f1e0e3c64328e1c38d8cd733e4a7cebc4fbf9cf65c6e59937 languageName: node linkType: hard "@colors/colors@npm:1.5.0": version: 1.5.0 resolution: "@colors/colors@npm:1.5.0" - checksum: 9d226461c1e91e95f067be2bdc5e6f99cfe55a721f45afb44122e23e4b8602eeac4ff7325af6b5a369f36396ee1514d3809af3f57769066d80d83790d8e53339 + checksum: 10/9d226461c1e91e95f067be2bdc5e6f99cfe55a721f45afb44122e23e4b8602eeac4ff7325af6b5a369f36396ee1514d3809af3f57769066d80d83790d8e53339 languageName: node linkType: hard -"@commitlint/cli@npm:17.8.0": - version: 17.8.0 - resolution: "@commitlint/cli@npm:17.8.0" +"@commitlint/cli@npm:19.6.1": + version: 19.6.1 + resolution: "@commitlint/cli@npm:19.6.1" dependencies: - "@commitlint/format": "npm:^17.4.4" - "@commitlint/lint": "npm:^17.8.0" - "@commitlint/load": "npm:^17.8.0" - "@commitlint/read": "npm:^17.5.1" - "@commitlint/types": "npm:^17.4.4" - execa: "npm:^5.0.0" - lodash.isfunction: "npm:^3.0.9" - resolve-from: "npm:5.0.0" - resolve-global: "npm:1.0.0" + "@commitlint/format": "npm:^19.5.0" + "@commitlint/lint": "npm:^19.6.0" + "@commitlint/load": "npm:^19.6.1" + "@commitlint/read": "npm:^19.5.0" + "@commitlint/types": "npm:^19.5.0" + tinyexec: "npm:^0.3.0" yargs: "npm:^17.0.0" bin: commitlint: cli.js - checksum: 390f9a052b449b14384f42a0b6b81bd0bf2b1328f4ceda5b7e3fd5c82cf01353a7f2733d41f285d07e880cdfd7e2f72b3dc2099d67e5d0cf28b8b4c2b36c4dc1 + checksum: 10/b63b8a716d943419a0bb0542e752d380d62f2715266ae0bb53911f3fe749ae9c3bf0fd591abd87be6b863e522ca183c7bac6a82ef73255a5c5bbeceb620ecbb1 languageName: node linkType: hard -"@commitlint/config-validator@npm:^17.6.7": - version: 17.6.7 - resolution: "@commitlint/config-validator@npm:17.6.7" +"@commitlint/config-validator@npm:^19.5.0": + version: 19.5.0 + resolution: "@commitlint/config-validator@npm:19.5.0" dependencies: - "@commitlint/types": "npm:^17.4.4" + "@commitlint/types": "npm:^19.5.0" ajv: "npm:^8.11.0" - checksum: e13e512ce9dc788f7ce1c84faf4d2e2d4d3b7c4dc18a7982ecbfc33faa5fe977793efdb868e228061d34ea8825cbbed5fc9e8e69fd5e4f0c0c08f60e21a9214e + checksum: 10/681bfdcabcb0ff794ea65d95128083869c97039c3a352219d6d88a2d4f3d0412b8ec515db77433fc6b0fce072051beb103d16889d42e76ea97873191ec191b23 languageName: node linkType: hard -"@commitlint/ensure@npm:^17.6.7": - version: 17.6.7 - resolution: "@commitlint/ensure@npm:17.6.7" +"@commitlint/ensure@npm:^19.5.0": + version: 19.5.0 + resolution: "@commitlint/ensure@npm:19.5.0" dependencies: - "@commitlint/types": "npm:^17.4.4" + "@commitlint/types": "npm:^19.5.0" lodash.camelcase: "npm:^4.3.0" lodash.kebabcase: "npm:^4.1.1" lodash.snakecase: "npm:^4.1.1" lodash.startcase: "npm:^4.4.0" lodash.upperfirst: "npm:^4.3.1" - checksum: 1ffdce807dbb303e8fa215511a965375abeea2702f64b4f1c4d7823f1e231cb343e82c97633d12d3c89b4f71d2eaf28169db08b4f1d3b052c26c942f4b9d9380 + checksum: 10/a9d575637121221cb63232ee96024a63614052ccc205ec8fdab53feed70104b85608e31b4632f280d2876f10a2243474191d96e448b222abfc8d8ab48f9f8e7e languageName: node linkType: hard -"@commitlint/execute-rule@npm:^17.4.0": - version: 17.4.0 - resolution: "@commitlint/execute-rule@npm:17.4.0" - checksum: 17d8e56ab00bd45fdecb0ed33186d2020ce261250d6a516204b6509610b75af8c930e7226b1111af3de298db32a7e4d0ba2c9cc7ed67db5ba5159eeed634f067 +"@commitlint/execute-rule@npm:^19.5.0": + version: 19.5.0 + resolution: "@commitlint/execute-rule@npm:19.5.0" + checksum: 10/ff05568c3a287ef8564171d5bc5d4510b2e00b552e4703f79db3d62f3cba9d669710717695d199e04c2117d41f9e72d7e43a342d5c1b62d456bc8e8bb7dda1e9 languageName: node linkType: hard -"@commitlint/format@npm:^17.4.4": - version: 17.4.4 - resolution: "@commitlint/format@npm:17.4.4" +"@commitlint/format@npm:^19.5.0": + version: 19.5.0 + resolution: "@commitlint/format@npm:19.5.0" dependencies: - "@commitlint/types": "npm:^17.4.4" - chalk: "npm:^4.1.0" - checksum: 832d9641129f2da8d32389b4a47db59d41eb1adfab742723972cad64b833c4af9e253f96757b27664fedae61644dd4c01d21f775773b45b604bd7f93b23a27d2 + "@commitlint/types": "npm:^19.5.0" + chalk: "npm:^5.3.0" + checksum: 10/685b64ebee936d71bbbf66276b11d50b0227f2ad0df3c00317d5b7e25bce8b1b8dbc65cc7c5c7fafc76cad11a83ad4378a666bf8f12a3eb1c7d6a2a6c6cb25aa languageName: node linkType: hard -"@commitlint/is-ignored@npm:^17.8.0": - version: 17.8.0 - resolution: "@commitlint/is-ignored@npm:17.8.0" +"@commitlint/is-ignored@npm:^19.6.0": + version: 19.6.0 + resolution: "@commitlint/is-ignored@npm:19.6.0" dependencies: - "@commitlint/types": "npm:^17.4.4" - semver: "npm:7.5.4" - checksum: ae18943cae8370476049fcbf08c18256f44e2063c9be553eb282a81231ec50a8aff1b861e93108dc823fe6331e1aedcdd7c74c777b57e564308eeb7f7b9da33c + "@commitlint/types": "npm:^19.5.0" + semver: "npm:^7.6.0" + checksum: 10/07b41573c9247522eb96af118be97ae015f5d0a141ecf5e3c0f67372b0fb7ba57c98adc462c722b7a7f0dd18ddcbacd92b42228e0e62370d3db110b0a35f6120 languageName: node linkType: hard -"@commitlint/lint@npm:^17.8.0": - version: 17.8.0 - resolution: "@commitlint/lint@npm:17.8.0" +"@commitlint/lint@npm:^19.6.0": + version: 19.6.0 + resolution: "@commitlint/lint@npm:19.6.0" dependencies: - "@commitlint/is-ignored": "npm:^17.8.0" - "@commitlint/parse": "npm:^17.7.0" - "@commitlint/rules": "npm:^17.7.0" - "@commitlint/types": "npm:^17.4.4" - checksum: 9d1fb7a9b8d866bd5cb4ba09d6a44cb0f14b7a384329902f60799992c7c7d291e27e534a71910c7d3800662142570f9d50c31bfbdcc157e502f6d321cb809150 + "@commitlint/is-ignored": "npm:^19.6.0" + "@commitlint/parse": "npm:^19.5.0" + "@commitlint/rules": "npm:^19.6.0" + "@commitlint/types": "npm:^19.5.0" + checksum: 10/f50721d8b02cea8cda9e67a57fb2c03377ae94ab708d47395a4e86f6f327d11db9dc84a1ecbcc3fae086f1e100400356826497a69a9d0caee6859238b32260dc languageName: node linkType: hard -"@commitlint/load@npm:^17.8.0": - version: 17.8.0 - resolution: "@commitlint/load@npm:17.8.0" +"@commitlint/load@npm:^19.6.1": + version: 19.6.1 + resolution: "@commitlint/load@npm:19.6.1" dependencies: - "@commitlint/config-validator": "npm:^17.6.7" - "@commitlint/execute-rule": "npm:^17.4.0" - "@commitlint/resolve-extends": "npm:^17.6.7" - "@commitlint/types": "npm:^17.4.4" - "@types/node": "npm:20.5.1" - chalk: "npm:^4.1.0" - cosmiconfig: "npm:^8.0.0" - cosmiconfig-typescript-loader: "npm:^4.0.0" + "@commitlint/config-validator": "npm:^19.5.0" + "@commitlint/execute-rule": "npm:^19.5.0" + "@commitlint/resolve-extends": "npm:^19.5.0" + "@commitlint/types": "npm:^19.5.0" + chalk: "npm:^5.3.0" + cosmiconfig: "npm:^9.0.0" + cosmiconfig-typescript-loader: "npm:^6.1.0" lodash.isplainobject: "npm:^4.0.6" lodash.merge: "npm:^4.6.2" lodash.uniq: "npm:^4.5.0" - resolve-from: "npm:^5.0.0" - ts-node: "npm:^10.8.1" - typescript: "npm:^4.6.4 || ^5.0.0" - checksum: 24287a9dfbf57f7d824ffc7f6a3df2f4771db501ce05219ed93abd00b68dc629a41a70c4d6c142ca05c4f29d38a1cf823353886c2378f5dd77d6e0cf2c540ffc + checksum: 10/f340060751016de8e06f67137373f9ec51aff85ceb7ac8d5eec1bfb3693df38f7ad2c231fd1dd61acf58affb2f514761c12281328aacceaacef455d25d58c2ce languageName: node linkType: hard -"@commitlint/message@npm:^17.4.2": - version: 17.4.2 - resolution: "@commitlint/message@npm:17.4.2" - checksum: 55b6cfeb57f7c9f913e18821aa4d972a6b6faa78c62741390996151f99554396f6df68ccfee86c163d24d8c27a4dbbcb50ef03c2972ab0a7a21d89daa2f9a519 +"@commitlint/message@npm:^19.5.0": + version: 19.5.0 + resolution: "@commitlint/message@npm:19.5.0" + checksum: 10/ad6993476ce3e6ed6ed7ae5327ac8d5116ca70168d9de6dff656a7e6f2b9f01a1c3ac7a13418831b5cdc3148ea9bcd78c32bdb7aa863280108e176ff803f7a51 languageName: node linkType: hard -"@commitlint/parse@npm:^17.7.0": - version: 17.7.0 - resolution: "@commitlint/parse@npm:17.7.0" +"@commitlint/parse@npm:^19.5.0": + version: 19.5.0 + resolution: "@commitlint/parse@npm:19.5.0" dependencies: - "@commitlint/types": "npm:^17.4.4" - conventional-changelog-angular: "npm:^6.0.0" - conventional-commits-parser: "npm:^4.0.0" - checksum: d70d53932576fa30c078099fe9ab00190298ed6aec696648633ab16eb80386e0c1b407c44eb7c548b598573c260ed1bfa890dd8134166d28811f66ed436efbea + "@commitlint/types": "npm:^19.5.0" + conventional-changelog-angular: "npm:^7.0.0" + conventional-commits-parser: "npm:^5.0.0" + checksum: 10/2a6f8bbbd79aa36a7e1128c60cecb322557110aa4aa8757c741c2f79071c540ba56957cef81fb64f4a304535e462d0c48b5c1ef1b2766fea7971d38ec5ad6384 languageName: node linkType: hard -"@commitlint/read@npm:^17.5.1": - version: 17.5.1 - resolution: "@commitlint/read@npm:17.5.1" +"@commitlint/read@npm:^19.5.0": + version: 19.5.0 + resolution: "@commitlint/read@npm:19.5.0" dependencies: - "@commitlint/top-level": "npm:^17.4.0" - "@commitlint/types": "npm:^17.4.4" - fs-extra: "npm:^11.0.0" - git-raw-commits: "npm:^2.0.11" - minimist: "npm:^1.2.6" - checksum: 62ee4f7a47b22a8571ae313bca36b418805a248f4986557f38f06317c44b6d18072889f95e7bc22bbb33a2f2b08236f74596ff28e3dbd0894249477a9df367c3 + "@commitlint/top-level": "npm:^19.5.0" + "@commitlint/types": "npm:^19.5.0" + git-raw-commits: "npm:^4.0.0" + minimist: "npm:^1.2.8" + tinyexec: "npm:^0.3.0" + checksum: 10/0ea2da48ae1bab9add9e831a1659306567755c20ec74cf04e6e50ef1e520970decd259af652995f55eef422a3f1382f0e64e5fbc23606176f766f71076ad872b languageName: node linkType: hard -"@commitlint/resolve-extends@npm:^17.6.7": - version: 17.6.7 - resolution: "@commitlint/resolve-extends@npm:17.6.7" +"@commitlint/resolve-extends@npm:^19.5.0": + version: 19.5.0 + resolution: "@commitlint/resolve-extends@npm:19.5.0" dependencies: - "@commitlint/config-validator": "npm:^17.6.7" - "@commitlint/types": "npm:^17.4.4" - import-fresh: "npm:^3.0.0" + "@commitlint/config-validator": "npm:^19.5.0" + "@commitlint/types": "npm:^19.5.0" + global-directory: "npm:^4.0.1" + import-meta-resolve: "npm:^4.0.0" lodash.mergewith: "npm:^4.6.2" resolve-from: "npm:^5.0.0" - resolve-global: "npm:^1.0.0" - checksum: 3717b4ccef6e46136f8d4a4b8d78d57184b4331401db07e27f89acb049a3903035bb2b0dbd4c07e3cdcc402cbe693b365c244a0da3df47e0f74cbf3ba76be9ec + checksum: 10/71a1c9423570dedb55809f4ad7c35962607cb06921364116e8f2d8c3d37a7ff2a43747ad5a9cd924b58614e6880a42a3fa1510244748bb6997469b52b0fecd78 languageName: node linkType: hard -"@commitlint/rules@npm:^17.7.0": - version: 17.7.0 - resolution: "@commitlint/rules@npm:17.7.0" +"@commitlint/rules@npm:^19.6.0": + version: 19.6.0 + resolution: "@commitlint/rules@npm:19.6.0" dependencies: - "@commitlint/ensure": "npm:^17.6.7" - "@commitlint/message": "npm:^17.4.2" - "@commitlint/to-lines": "npm:^17.4.0" - "@commitlint/types": "npm:^17.4.4" - execa: "npm:^5.0.0" - checksum: bc6af55cb8fab82baac450f87e02fa51d91f44855aadced92d74d05f9af99ccfd90b08c67355b53ca6b4b45f386854bcf52e1a4e5bc003665f4873e785eb7c70 + "@commitlint/ensure": "npm:^19.5.0" + "@commitlint/message": "npm:^19.5.0" + "@commitlint/to-lines": "npm:^19.5.0" + "@commitlint/types": "npm:^19.5.0" + checksum: 10/d9493b5ed450306358197c504ff7bb8ca3ef41ef1067c15497fa30ac4dc3ace9dc8c970cd5d130a7ff0e686a9619a6122ab09b155bc9eacdf8e6a0096748b402 languageName: node linkType: hard -"@commitlint/to-lines@npm:^17.4.0": - version: 17.4.0 - resolution: "@commitlint/to-lines@npm:17.4.0" - checksum: 841f90f606238e145ab4ba02940662d511fc04fe553619900152a8542170fe664031b95d820ffaeb8864d4851344278e662ef29637d763fc19fd828e0f8d139b +"@commitlint/to-lines@npm:^19.5.0": + version: 19.5.0 + resolution: "@commitlint/to-lines@npm:19.5.0" + checksum: 10/68aaca7bf1331b5f2f604e814d57f483ead81a8296f8cff5667249510a5601825dfbbaccade3d02e0aca580b973c01419276d693cc9aa888cbe11022daa9dce6 languageName: node linkType: hard -"@commitlint/top-level@npm:^17.4.0": - version: 17.4.0 - resolution: "@commitlint/top-level@npm:17.4.0" +"@commitlint/top-level@npm:^19.5.0": + version: 19.5.0 + resolution: "@commitlint/top-level@npm:19.5.0" dependencies: - find-up: "npm:^5.0.0" - checksum: 14cd77e982d2dd7989718dafdbf7a2168a5fb387005e0686c2dfa9ffc36bb9a749e5d80a151884459e4d8c88564339688dca26e9c711abe043beeb3f30c3dfd6 + find-up: "npm:^7.0.0" + checksum: 10/f6b5a3746c458e12c7a9e93f7c856ba90fba6e61db614ea1201e6b6e92cb8161dd13e88d8c9b408709ea0c19bc949cffcd1dd356cb6f51fc2ede8df48c1fd410 languageName: node linkType: hard -"@commitlint/types@npm:17.4.4, @commitlint/types@npm:^17.4.4": +"@commitlint/types@npm:17.4.4": version: 17.4.4 resolution: "@commitlint/types@npm:17.4.4" dependencies: chalk: "npm:^4.1.0" - checksum: 03c52429052d161710896d198000196bd2e60be0fd71459b22133dd83dee43e8d05ea8ee703c8369823bc40f77a54881b80d8aa4368ac52aea7f30fb234b73d2 - languageName: node - linkType: hard - -"@cspell/cspell-bundled-dicts@npm:7.3.8": - version: 7.3.8 - resolution: "@cspell/cspell-bundled-dicts@npm:7.3.8" - dependencies: - "@cspell/dict-ada": "npm:^4.0.2" - "@cspell/dict-aws": "npm:^4.0.0" - "@cspell/dict-bash": "npm:^4.1.2" - "@cspell/dict-companies": "npm:^3.0.26" - "@cspell/dict-cpp": "npm:^5.0.8" - "@cspell/dict-cryptocurrencies": "npm:^4.0.0" - "@cspell/dict-csharp": "npm:^4.0.2" - "@cspell/dict-css": "npm:^4.0.12" - "@cspell/dict-dart": "npm:^2.0.3" - "@cspell/dict-django": "npm:^4.1.0" - "@cspell/dict-docker": "npm:^1.1.7" - "@cspell/dict-dotnet": "npm:^5.0.0" - "@cspell/dict-elixir": "npm:^4.0.3" - "@cspell/dict-en-common-misspellings": "npm:^1.0.2" - "@cspell/dict-en-gb": "npm:1.1.33" - "@cspell/dict-en_us": "npm:^4.3.9" - "@cspell/dict-filetypes": "npm:^3.0.1" - "@cspell/dict-fonts": "npm:^4.0.0" - "@cspell/dict-fsharp": "npm:^1.0.0" - "@cspell/dict-fullstack": "npm:^3.1.5" - "@cspell/dict-gaming-terms": "npm:^1.0.4" - "@cspell/dict-git": "npm:^2.0.0" - "@cspell/dict-golang": "npm:^6.0.3" - "@cspell/dict-haskell": "npm:^4.0.1" - "@cspell/dict-html": "npm:^4.0.5" - "@cspell/dict-html-symbol-entities": "npm:^4.0.0" - "@cspell/dict-java": "npm:^5.0.6" - "@cspell/dict-k8s": "npm:^1.0.1" - "@cspell/dict-latex": "npm:^4.0.0" - "@cspell/dict-lorem-ipsum": "npm:^4.0.0" - "@cspell/dict-lua": "npm:^4.0.2" - "@cspell/dict-node": "npm:^4.0.3" - "@cspell/dict-npm": "npm:^5.0.12" - "@cspell/dict-php": "npm:^4.0.3" - "@cspell/dict-powershell": "npm:^5.0.2" - "@cspell/dict-public-licenses": "npm:^2.0.5" - "@cspell/dict-python": "npm:^4.1.9" - "@cspell/dict-r": "npm:^2.0.1" - "@cspell/dict-ruby": "npm:^5.0.1" - "@cspell/dict-rust": "npm:^4.0.1" - "@cspell/dict-scala": "npm:^5.0.0" - "@cspell/dict-software-terms": "npm:^3.3.6" - "@cspell/dict-sql": "npm:^2.1.2" - "@cspell/dict-svelte": "npm:^1.0.2" - "@cspell/dict-swift": "npm:^2.0.1" - "@cspell/dict-typescript": "npm:^3.1.2" - "@cspell/dict-vue": "npm:^3.0.0" - checksum: ee1bd757cea754f9a95e770cf82681d3411a4fd4c8c1892bb9887b6db7ddb19d5dac031bc822736bfb09472ab685fe462a33d1d555628416b5a88175a0148b12 + checksum: 10/03c52429052d161710896d198000196bd2e60be0fd71459b22133dd83dee43e8d05ea8ee703c8369823bc40f77a54881b80d8aa4368ac52aea7f30fb234b73d2 languageName: node linkType: hard -"@cspell/cspell-json-reporter@npm:7.3.8": - version: 7.3.8 - resolution: "@cspell/cspell-json-reporter@npm:7.3.8" +"@commitlint/types@npm:19.5.0, @commitlint/types@npm:^19.5.0": + version: 19.5.0 + resolution: "@commitlint/types@npm:19.5.0" dependencies: - "@cspell/cspell-types": "npm:7.3.8" - checksum: e41c31c7ed22c2dac40ae353b9ed7ba6963c3f886eb198a321d145963e2895016e19426c88640dbffa3d82724ce572bb674c435f0dae6552739fa4130c8b71d8 + "@types/conventional-commits-parser": "npm:^5.0.0" + chalk: "npm:^5.3.0" + checksum: 10/a26f33ec6987d7d93bdbd7e1b177cfac30ca056ea383faf343c6a09c0441aa057a24be1459c3d4e7e91edd2ecf8d6c4dd670948c9d22646d64767137c6db098a + languageName: node + linkType: hard + +"@cspell/cspell-bundled-dicts@npm:8.17.2": + version: 8.17.2 + resolution: "@cspell/cspell-bundled-dicts@npm:8.17.2" + dependencies: + "@cspell/dict-ada": "npm:^4.1.0" + "@cspell/dict-al": "npm:^1.1.0" + "@cspell/dict-aws": "npm:^4.0.9" + "@cspell/dict-bash": "npm:^4.2.0" + "@cspell/dict-companies": "npm:^3.1.12" + "@cspell/dict-cpp": "npm:^6.0.3" + "@cspell/dict-cryptocurrencies": "npm:^5.0.4" + "@cspell/dict-csharp": "npm:^4.0.6" + "@cspell/dict-css": "npm:^4.0.17" + "@cspell/dict-dart": "npm:^2.3.0" + "@cspell/dict-data-science": "npm:^2.0.6" + "@cspell/dict-django": "npm:^4.1.4" + "@cspell/dict-docker": "npm:^1.1.12" + "@cspell/dict-dotnet": "npm:^5.0.9" + "@cspell/dict-elixir": "npm:^4.0.7" + "@cspell/dict-en-common-misspellings": "npm:^2.0.8" + "@cspell/dict-en-gb": "npm:1.1.33" + "@cspell/dict-en_us": "npm:^4.3.29" + "@cspell/dict-filetypes": "npm:^3.0.10" + "@cspell/dict-flutter": "npm:^1.1.0" + "@cspell/dict-fonts": "npm:^4.0.4" + "@cspell/dict-fsharp": "npm:^1.1.0" + "@cspell/dict-fullstack": "npm:^3.2.3" + "@cspell/dict-gaming-terms": "npm:^1.1.0" + "@cspell/dict-git": "npm:^3.0.4" + "@cspell/dict-golang": "npm:^6.0.18" + "@cspell/dict-google": "npm:^1.0.5" + "@cspell/dict-haskell": "npm:^4.0.5" + "@cspell/dict-html": "npm:^4.0.11" + "@cspell/dict-html-symbol-entities": "npm:^4.0.3" + "@cspell/dict-java": "npm:^5.0.11" + "@cspell/dict-julia": "npm:^1.1.0" + "@cspell/dict-k8s": "npm:^1.0.10" + "@cspell/dict-kotlin": "npm:^1.1.0" + "@cspell/dict-latex": "npm:^4.0.3" + "@cspell/dict-lorem-ipsum": "npm:^4.0.4" + "@cspell/dict-lua": "npm:^4.0.7" + "@cspell/dict-makefile": "npm:^1.0.4" + "@cspell/dict-markdown": "npm:^2.0.9" + "@cspell/dict-monkeyc": "npm:^1.0.10" + "@cspell/dict-node": "npm:^5.0.6" + "@cspell/dict-npm": "npm:^5.1.22" + "@cspell/dict-php": "npm:^4.0.14" + "@cspell/dict-powershell": "npm:^5.0.14" + "@cspell/dict-public-licenses": "npm:^2.0.12" + "@cspell/dict-python": "npm:^4.2.14" + "@cspell/dict-r": "npm:^2.1.0" + "@cspell/dict-ruby": "npm:^5.0.7" + "@cspell/dict-rust": "npm:^4.0.11" + "@cspell/dict-scala": "npm:^5.0.7" + "@cspell/dict-shell": "npm:^1.1.0" + "@cspell/dict-software-terms": "npm:^4.2.2" + "@cspell/dict-sql": "npm:^2.2.0" + "@cspell/dict-svelte": "npm:^1.0.6" + "@cspell/dict-swift": "npm:^2.0.5" + "@cspell/dict-terraform": "npm:^1.1.0" + "@cspell/dict-typescript": "npm:^3.2.0" + "@cspell/dict-vue": "npm:^3.0.4" + checksum: 10/4fa2a3d11443c5d1d0d0e7034256dbdfa74f47d4e4eda11c68d203ab2c5a88fb4f92e0b2e5c77c13ed6ec855f45fd98849429e3fd991985f8f6b197d7f405b74 + languageName: node + linkType: hard + +"@cspell/cspell-json-reporter@npm:8.17.2": + version: 8.17.2 + resolution: "@cspell/cspell-json-reporter@npm:8.17.2" + dependencies: + "@cspell/cspell-types": "npm:8.17.2" + checksum: 10/030aacf73256a55d0cde72f489d52cc1c435b612804f11368a37c36baa6235c63250e0011f288aee4750689c0e5fb80c88bf41fca07e7fd69883e2219c3d9aa0 + languageName: node + linkType: hard + +"@cspell/cspell-pipe@npm:8.17.2": + version: 8.17.2 + resolution: "@cspell/cspell-pipe@npm:8.17.2" + checksum: 10/43869e98ad41e4855835502ce56fc874ae799b78f5e77411e8af1769348ffd79d9ed18fb134a1621d25a36078f93843c1ba063d3e24ad0879a80dcb459af975c + languageName: node + linkType: hard + +"@cspell/cspell-resolver@npm:8.17.2": + version: 8.17.2 + resolution: "@cspell/cspell-resolver@npm:8.17.2" + dependencies: + global-directory: "npm:^4.0.1" + checksum: 10/e2248d1968267d949c77cc79f8fa524bde36369ab5c4c61debb339b1767fe965dfce3671f1be2f61862426433b206507b88e2788269db69d1de5bbe014dfb55f + languageName: node + linkType: hard + +"@cspell/cspell-service-bus@npm:8.17.2": + version: 8.17.2 + resolution: "@cspell/cspell-service-bus@npm:8.17.2" + checksum: 10/0d4e30aa0e6dda28c4d379880326c3c5a163e8fbe75b0b50635946f41c2fee3a0b8a91a87672b801d5ab3b23571ea5ba3c8f95b0520983e156a4138924008edd + languageName: node + linkType: hard + +"@cspell/cspell-types@npm:8.17.2": + version: 8.17.2 + resolution: "@cspell/cspell-types@npm:8.17.2" + checksum: 10/c69c089423bb5015cde27c97c8eaa7ff20480ceab1bab593a3fb732dee87248235755140380ba2f2a3dafa3d9568dc4ef819d4de91264b7f2d683387aa198974 + languageName: node + linkType: hard + +"@cspell/dict-ada@npm:^4.1.0": + version: 4.1.0 + resolution: "@cspell/dict-ada@npm:4.1.0" + checksum: 10/f91e05b1d026d2c9498e63bca5d4eb5498320a28901c5c70b90a9b70cb8579e5394e665e097566365ee2765066a777aff8495911a1ac9fef0b615eefd222bd04 + languageName: node + linkType: hard + +"@cspell/dict-al@npm:^1.1.0": + version: 1.1.0 + resolution: "@cspell/dict-al@npm:1.1.0" + checksum: 10/436269555db34f495ced8a23bda126aadff071742498173e6a5eadcf789da65e49a3308be20be657e02d1c41048d8d7d31ea3841cab4b1542a49324b4fa804de languageName: node linkType: hard -"@cspell/cspell-pipe@npm:7.3.8": - version: 7.3.8 - resolution: "@cspell/cspell-pipe@npm:7.3.8" - checksum: cfd58b0b9aa50c3e858bd15b84f70c6e4d104798537fe639c64cf17790350208592a311053bf167e88fa1a0bb4333461a51ea8591eb1423a605d552eb0058b23 +"@cspell/dict-aws@npm:^4.0.9": + version: 4.0.9 + resolution: "@cspell/dict-aws@npm:4.0.9" + checksum: 10/1e96808eca3b7e42fe844e8a8a7bbc0e629de77cb654626847251f9eb5898bfa0c2559dee43dd52b523e1d31973de598c486f553019654a05c2eed97c69e14ec languageName: node linkType: hard -"@cspell/cspell-resolver@npm:7.3.8": - version: 7.3.8 - resolution: "@cspell/cspell-resolver@npm:7.3.8" +"@cspell/dict-bash@npm:^4.2.0": + version: 4.2.0 + resolution: "@cspell/dict-bash@npm:4.2.0" dependencies: - global-dirs: "npm:^3.0.1" - checksum: 80564b9fb3dce90365b62eb8d120c1eec3df56175899ec0c81725a4355a398ad858e06c7ebc6446d00a707076e1389fe28e6cf645be5b0a4be4cba2c88ba7a7d + "@cspell/dict-shell": "npm:1.1.0" + checksum: 10/2a87ebb5f0b1140ceeab0991411ebfe03a05cebb296d30812a3e9f78cf0a56622484fbda5212d5811e59f1b1ca4dacae77341c1f3c0c5fc2efdb19393fddd766 languageName: node linkType: hard -"@cspell/cspell-service-bus@npm:7.3.8": - version: 7.3.8 - resolution: "@cspell/cspell-service-bus@npm:7.3.8" - checksum: d12fbfb4e97764edb2f1e60d435c6df34a1da26df95bfa3ee3f94ce0b5b0c5ff299a43b3b16b4abf8c989343675eed6485b8cf84626dce4ff2138bbfa1d046d1 +"@cspell/dict-companies@npm:^3.1.12": + version: 3.1.13 + resolution: "@cspell/dict-companies@npm:3.1.13" + checksum: 10/9b87927743771a870a6849a3746a6eaae4ddec513f0edbab6d850c4e6ed18e4d6b7c441b28111849ec3d2b2f1f9ee56d44084a25ae4a6e98aa96a810199b1475 languageName: node linkType: hard -"@cspell/cspell-types@npm:7.3.8": - version: 7.3.8 - resolution: "@cspell/cspell-types@npm:7.3.8" - checksum: 2a229b5cd12b1c0999d26afe9b102f90fcdadec86c5813d56f24fa9575d90242bd7d55fdaba9cfc69711bb45784f92b14a12c04ee487c960d15258400ea46a20 +"@cspell/dict-cpp@npm:^6.0.3": + version: 6.0.3 + resolution: "@cspell/dict-cpp@npm:6.0.3" + checksum: 10/8a4cd1c2f3061114790fa7271da48155bfdba7ec40dc94c72afd80d153a6c46a169504c2b4c7e444d8e9a83f36359478a5f6bc63be3813bd76e2a2ca0cd6445a languageName: node linkType: hard -"@cspell/dict-ada@npm:^4.0.2": - version: 4.0.2 - resolution: "@cspell/dict-ada@npm:4.0.2" - checksum: 31b0f0f6b9b324e8d3be4074302ddc9a7e968833d79c0a9f7899de9138b386bd6dcad3f63afdb1d42e87838bba5881c7b7f2b0916621fb1e64c7fdb6a572afe5 +"@cspell/dict-cryptocurrencies@npm:^5.0.4": + version: 5.0.4 + resolution: "@cspell/dict-cryptocurrencies@npm:5.0.4" + checksum: 10/54229c432f70320aa060c5c101a242e64f40f1f5b8404d1e2a5afc867e2f1cb862e1d84b3383c4bdfa3768302cca49f51bf8ea78c5509113b4a1e18ff00abfae languageName: node linkType: hard -"@cspell/dict-aws@npm:^4.0.0": - version: 4.0.0 - resolution: "@cspell/dict-aws@npm:4.0.0" - checksum: d1df39eb1a434c2639a941962894a822173c30d102dc27498b08c09cb3f71fc01375f798d3fcb15678768b4344255281cbc9a1697d55fccf12b01ff694e5f4c2 +"@cspell/dict-csharp@npm:^4.0.6": + version: 4.0.6 + resolution: "@cspell/dict-csharp@npm:4.0.6" + checksum: 10/b86a3c0da979bbc9e0de9d4e9a83158190ac4bd454534ace3d2e48e4162eb1915e1f2f70e017e6df25eb3c017053d745897ad46a3c8d1357fdb4a2723e545154 languageName: node linkType: hard -"@cspell/dict-bash@npm:^4.1.2": - version: 4.1.2 - resolution: "@cspell/dict-bash@npm:4.1.2" - checksum: 2fc6acd6c74c245a7e0c6596f7ae2189569134dff9e95e0f9562812a1e39bbc2c2b39325e8494aba1367b2849656fd3abe6985afc5c51157044c2683b220ba70 +"@cspell/dict-css@npm:^4.0.17": + version: 4.0.17 + resolution: "@cspell/dict-css@npm:4.0.17" + checksum: 10/ae9a2827a5885dbc1c5c411a9fdfa6a9a09ce8a021a94d42c4fc3dba72da393bf5bd684b7786eb4ab8abbf52a01fad393775ef5d63162638e6431d17ba27df30 languageName: node linkType: hard -"@cspell/dict-companies@npm:^3.0.26": - version: 3.0.26 - resolution: "@cspell/dict-companies@npm:3.0.26" - checksum: 2bfe550e8594b18b885cf003ec40d1c02f558f8ba2abd929442c695e5225f9363cf2f833ea605c4b9c4221313c4df3a5ae175e3b9a90aeb668827c18e96a0a06 +"@cspell/dict-dart@npm:^2.3.0": + version: 2.3.0 + resolution: "@cspell/dict-dart@npm:2.3.0" + checksum: 10/9ae3c33585959bcdf2886bd2cbf81a05d36872d8d3a7bdfa72ab3c97549735abf9b82e1aa47c3590953a4621c0250b04fb1330b23d8030a1ae86ac3a6d68b26f languageName: node linkType: hard -"@cspell/dict-cpp@npm:^5.0.8": - version: 5.0.8 - resolution: "@cspell/dict-cpp@npm:5.0.8" - checksum: f584f76053053c21aa942dee3dc0832b649ffe464284537644a280c2af2995298f0d850f9789ebe37c1a59e4c67df5c3b696b10c0c0e40ba2a4722c9d563473a +"@cspell/dict-data-science@npm:^2.0.6, @cspell/dict-data-science@npm:^2.0.7": + version: 2.0.7 + resolution: "@cspell/dict-data-science@npm:2.0.7" + checksum: 10/dce46d2a5eeb84d1d4dc803a0dc5556d8c4dee243d7091a89aea941f3255f4d0bbbdaa527fee0687aba1266b2896ed536e6a1a8a26823c9cc9bc0938a4f3fe0d languageName: node linkType: hard -"@cspell/dict-cryptocurrencies@npm:^4.0.0": - version: 4.0.0 - resolution: "@cspell/dict-cryptocurrencies@npm:4.0.0" - checksum: c565a660b62a5ab2d597abaaef7f277cfba05e0617064dd526aadf9ba64306ab16f9fa4adf5ad8b3e79310cf127f737e5f876d4424efa7da65e403817f4e184c +"@cspell/dict-django@npm:^4.1.4": + version: 4.1.4 + resolution: "@cspell/dict-django@npm:4.1.4" + checksum: 10/eabbc9af5795e79ea9f7e96a54590400894751618bd208ef1b2c0fd7d6b964805ab20bbc4eb699153fa4fd2b73a7e4de158d3bb0ad53a86ac719998701f8f4a4 languageName: node linkType: hard -"@cspell/dict-csharp@npm:^4.0.2": - version: 4.0.2 - resolution: "@cspell/dict-csharp@npm:4.0.2" - checksum: d2ecb2aada51c5f0d6d557fd4f0c6eddb5b299e0955e066c49cd2afe96a1c6fe0afde699fdb885dd3183603a1efbd1d793b6a490b8d039256445b4b154b7375b +"@cspell/dict-docker@npm:^1.1.12": + version: 1.1.12 + resolution: "@cspell/dict-docker@npm:1.1.12" + checksum: 10/835663692c61788a5f22c343a27c49dabf5aa92eae13a34dc70ae80e075ab0eade350bbc370ede58763d2e67632504a8b994a663391394a31cda93f46b28e06d languageName: node linkType: hard -"@cspell/dict-css@npm:^4.0.12": - version: 4.0.12 - resolution: "@cspell/dict-css@npm:4.0.12" - checksum: da812243c92ef07082334d512561606f178e003fa50324332c322655fab0982ed1bea055d75a348b37cea71fbe652224dcfff14dc445d26530cfa3c491b2b324 +"@cspell/dict-dotnet@npm:^5.0.9": + version: 5.0.9 + resolution: "@cspell/dict-dotnet@npm:5.0.9" + checksum: 10/42537b3519b8d9527a2606f265204ef4a0e74e84958a695b72ebc5ab0b9895bb2af928061bd6fe376e96b04414bfeca41347a1f3d5e27c2884787d3d0c5527cb languageName: node linkType: hard -"@cspell/dict-dart@npm:^2.0.3": - version: 2.0.3 - resolution: "@cspell/dict-dart@npm:2.0.3" - checksum: 66bfcfa029baacd0b14b3ff5b6ab7597cf9459f77185d88b25123b42a4babb66df6786806843f1b6506c335326100599a2e1db6e6104e66bd021ede9ccb3cec4 +"@cspell/dict-elixir@npm:^4.0.7": + version: 4.0.7 + resolution: "@cspell/dict-elixir@npm:4.0.7" + checksum: 10/c4b717617603eb6b0b9d3d785f4917b34d187fe1f97e4a65147907da440df2b0a878f6382b621914e3a40336d613d24f011fa17c32aab31ad7183e0f065d8721 languageName: node linkType: hard -"@cspell/dict-data-science@npm:^1.0.11": - version: 1.0.11 - resolution: "@cspell/dict-data-science@npm:1.0.11" - checksum: 513f8f416f584f46576d45be23a4aa354e46d244f10a3d466222ffc13afe475e676639e4a24ab3a1ba157239f9ce23f7eef59c9f4c7a877a044db3a6344b18c6 +"@cspell/dict-en-common-misspellings@npm:^2.0.8": + version: 2.0.9 + resolution: "@cspell/dict-en-common-misspellings@npm:2.0.9" + checksum: 10/7a074812a48e789900b709dd0a3a582b773933cb252ceaf1b6810fd503bbad14fe01da8693493ee5bd049650d9caa9a9fcabfef012e1bbc578c483ab05dfcef8 languageName: node linkType: hard -"@cspell/dict-django@npm:^4.1.0": - version: 4.1.0 - resolution: "@cspell/dict-django@npm:4.1.0" - checksum: d64b830ab761f3610ca5eb81b06447c91a64b988bc3e40bac214fc611de498fa019e1cd76f6f21254ad2d3bfaeb3d10248481f0a02711d6a3ed715df062b2ba6 +"@cspell/dict-en-gb@npm:1.1.33": + version: 1.1.33 + resolution: "@cspell/dict-en-gb@npm:1.1.33" + checksum: 10/72db891c955ce9b24ba756c1baad41e92854a85fe326699f9ab328358b02a76d57b65d26d02afa050c4f96668a51c1dab6fce7eaad51c70c113588bbc2b46756 languageName: node linkType: hard -"@cspell/dict-docker@npm:^1.1.7": - version: 1.1.7 - resolution: "@cspell/dict-docker@npm:1.1.7" - checksum: 307f8b5132edca7cd291ba0ab6ed88f8787df984d6a42401b12a0da1ecb935d50af3a108ede885ce5bede96c445acdc88bb9ea8396de151c565a90a3bf66853e +"@cspell/dict-en_us@npm:^4.3.29": + version: 4.3.30 + resolution: "@cspell/dict-en_us@npm:4.3.30" + checksum: 10/cd9280d0f02aef04ee48c83a653fae3957b03c1b6d64e11e6a4d3aef32c8d7aa2dfccf3043a2617cc772192ba050d543101560d09ec1368d8f1c2d84679db7dd languageName: node linkType: hard -"@cspell/dict-dotnet@npm:^5.0.0": - version: 5.0.0 - resolution: "@cspell/dict-dotnet@npm:5.0.0" - checksum: 470e74c26821426c0136e1f05c37be8a8231565c47d31b37049ba2b3030191359bdbc683e1e7948b6b8a7c570dd82f5fb2fe218ed9b824af29fd5560cf4826c7 +"@cspell/dict-filetypes@npm:^3.0.10": + version: 3.0.10 + resolution: "@cspell/dict-filetypes@npm:3.0.10" + checksum: 10/b080bc9513b0272a54aea089fd555b261fa78003aff7337311f8a54476832f62046323381f8d10f5ef67856f9a955fbd4c55bb2349c738f80b0fc14b3e0ba654 languageName: node linkType: hard -"@cspell/dict-elixir@npm:^4.0.3": - version: 4.0.3 - resolution: "@cspell/dict-elixir@npm:4.0.3" - checksum: f084449b2de5a2fa08076ac699c6073beaa4bb43796a662d681ea8fe5cba31f9efe718f3f98ef432ba75d4ea574316de34ab8422f79f4f2022cfddee7a7b8653 +"@cspell/dict-flutter@npm:^1.1.0": + version: 1.1.0 + resolution: "@cspell/dict-flutter@npm:1.1.0" + checksum: 10/b8944d7c91b8617727dcca2191e2bdea4e97a3c2e76e6b8e015805f31dac99040da8ef74035c917c77646dfb19f1efe916d51e5171c54209850daf4be0db046c languageName: node linkType: hard -"@cspell/dict-en-common-misspellings@npm:^1.0.2": - version: 1.0.2 - resolution: "@cspell/dict-en-common-misspellings@npm:1.0.2" - checksum: 5d3a618ed06aea7bbe9d893e45b6feee9a9cefa42da16e1cfb23d2886627c0a0b0e9ae3501c8fa4a7338181ee36ba910f21d56494a37cc75fe1fc93545cec516 +"@cspell/dict-fonts@npm:^4.0.4": + version: 4.0.4 + resolution: "@cspell/dict-fonts@npm:4.0.4" + checksum: 10/04eeb3558b8903b83f042d8cfe8e9047a2d804591c8877ec6e75efb4f7399c39333190a9c49dab6321c4c41ef9162cdec4e607b9b0a532d0b77a536bb2443678 languageName: node linkType: hard -"@cspell/dict-en-gb@npm:1.1.33": - version: 1.1.33 - resolution: "@cspell/dict-en-gb@npm:1.1.33" - checksum: 72db891c955ce9b24ba756c1baad41e92854a85fe326699f9ab328358b02a76d57b65d26d02afa050c4f96668a51c1dab6fce7eaad51c70c113588bbc2b46756 +"@cspell/dict-fsharp@npm:^1.1.0": + version: 1.1.0 + resolution: "@cspell/dict-fsharp@npm:1.1.0" + checksum: 10/2f667bc9ef55034a603147404f9e55a29b68210acd84938695404d12ede34a060202d109a8c2deada5c863b75b8b5946c2f74e583be18c2e9727423563d914db languageName: node linkType: hard -"@cspell/dict-en_us@npm:^4.3.9": - version: 4.3.9 - resolution: "@cspell/dict-en_us@npm:4.3.9" - checksum: 476e3609d810dd7764abb9a2b6bde68ef804e22b37008d2de7db5f1bc35c82a598cef8e82b0dc69cf3e4cb9e1550e928f780dd1438b7ad0d782573976c038880 +"@cspell/dict-fullstack@npm:^3.2.3": + version: 3.2.3 + resolution: "@cspell/dict-fullstack@npm:3.2.3" + checksum: 10/85aa42f640b1e592d4813e1466fd86826c706908f4c1b5e9f55ac44a5d255d665f4dafbad359b77b9ffe16e2f25db9c7c9901a74ddcba332776688a6d203765c languageName: node linkType: hard -"@cspell/dict-filetypes@npm:^3.0.1": - version: 3.0.1 - resolution: "@cspell/dict-filetypes@npm:3.0.1" - checksum: 43ad696dac5feaee290120216153a25f454302bda5834ce5e86dbab5fca73266a35c7fc00466120ae3b696ec1fa94b4f2b36e036dd07f05d5a4a770db7eb5d0a +"@cspell/dict-gaming-terms@npm:^1.1.0": + version: 1.1.0 + resolution: "@cspell/dict-gaming-terms@npm:1.1.0" + checksum: 10/4e66a43a382a15d5de772bb45c04a91316f2a47979df95845b4cfe4907284e753ad8cda38a27ea42b8d00ddd40d5d33d40429f8eabbdd9b37bc9c0b3b33f7907 languageName: node linkType: hard -"@cspell/dict-fonts@npm:^4.0.0": - version: 4.0.0 - resolution: "@cspell/dict-fonts@npm:4.0.0" - checksum: 894a31f3df8e3a43a3dcf13e1706eb94cb5e83bd6d2aa26b0e9fc79c2de304eb5e9118eec4dff6a673e2a3243c842ca694c8e0f3c0ad78301004f983acf53832 +"@cspell/dict-git@npm:^3.0.4": + version: 3.0.4 + resolution: "@cspell/dict-git@npm:3.0.4" + checksum: 10/23519344e5873acbae47fbc60b3cbdf60ff350ea1dc09518f5b66605cd7409d854cd692127243e9d6912503cd644307e9c7ccbb0730becd9871fa52ce0f7c3b6 languageName: node linkType: hard -"@cspell/dict-fsharp@npm:^1.0.0": - version: 1.0.0 - resolution: "@cspell/dict-fsharp@npm:1.0.0" - checksum: 79141e510c44581cfa5082ab69e9f0fb09f873743f9afb9e9b465e4b74f2e05c18fd89e796649616202527f9cc50603e5f0c8b81f482b22e80a7988d3c856411 +"@cspell/dict-golang@npm:^6.0.18": + version: 6.0.18 + resolution: "@cspell/dict-golang@npm:6.0.18" + checksum: 10/0b2f912497e96b088f31475003491a0e63386fe8d0679e4144c1f3011a9ca617b96606c790e8b37e4fc7964ad14f3f15b0532212c9dc43a815f4dcbfdbcbd9e1 languageName: node linkType: hard -"@cspell/dict-fullstack@npm:^3.1.5": - version: 3.1.5 - resolution: "@cspell/dict-fullstack@npm:3.1.5" - checksum: 01c98a3408d4bf4832f1f110252399e663ce869bb097d681558828bb0e22725c7fe7b43077aa57afc2c3158515eaa744074826c020825af5856a0950219785a6 +"@cspell/dict-google@npm:^1.0.5": + version: 1.0.7 + resolution: "@cspell/dict-google@npm:1.0.7" + checksum: 10/cdbdfe0a1d745e52471464cb97e931118f0d951a9b645122850be2f74f6f9213dc3a411ca7cc36af7b9bdc52bb4b4398b7c804bc1fc8a02c5b3d7717d1f02e68 languageName: node linkType: hard -"@cspell/dict-gaming-terms@npm:^1.0.4": - version: 1.0.4 - resolution: "@cspell/dict-gaming-terms@npm:1.0.4" - checksum: 3e57f5567747a8598b3e4de4f63a3b8090cccf7688f3e91f0a9e005e916645db1224ea600afd5b497b7e8c6a1f9291dfd4cb932278dfd423657107203a2ace0b +"@cspell/dict-haskell@npm:^4.0.5": + version: 4.0.5 + resolution: "@cspell/dict-haskell@npm:4.0.5" + checksum: 10/4f663d904c17f760e10f457669665e2a4c205ef27389e82e61b4017c1bfd1e446db7401ee5fcca74a9441135ae17130e8f92601bdd6b0837850f0636ea170088 languageName: node linkType: hard -"@cspell/dict-git@npm:^2.0.0": - version: 2.0.0 - resolution: "@cspell/dict-git@npm:2.0.0" - checksum: eb3985f1f8717ad4e41e146f1b011e0476d7625ab1ebee55364575b727323300773a89a8dd5a20466c74c57b7d2678e0c92446453bd484a44203be737bc07964 +"@cspell/dict-html-symbol-entities@npm:^4.0.3": + version: 4.0.3 + resolution: "@cspell/dict-html-symbol-entities@npm:4.0.3" + checksum: 10/0cef821bf2400a3f8b0d3c94eb8c5de531cbf3ed409d95faf5aaa7f272774ab1e6fa0f315c0902cc661d81bf52075f134b7687bec9c9f1184d176517b3781671 languageName: node linkType: hard -"@cspell/dict-golang@npm:^6.0.3": - version: 6.0.3 - resolution: "@cspell/dict-golang@npm:6.0.3" - checksum: 73616a57cbbbda16b647d37e5173f335cb10aac34d8a1494e8bc3980ab0186551119acf481483d60c039c5bb7da6a41f4761dbba797565dc64f327f2cc45b22e +"@cspell/dict-html@npm:^4.0.11": + version: 4.0.11 + resolution: "@cspell/dict-html@npm:4.0.11" + checksum: 10/56b44c4ccccd9f702e1108e4a271562fa36062a6cbd53fb37eceb844b88e27fcaeffc1c0452933e959dd92bed1c509377733fc3272c8d2a12b92eb2aad6614e9 languageName: node linkType: hard -"@cspell/dict-haskell@npm:^4.0.1": - version: 4.0.1 - resolution: "@cspell/dict-haskell@npm:4.0.1" - checksum: cfb51e415b60c5eb266a5782d0a4b19a37f1389b9b018d1bbb2ff4358bd739af1f76f68f26a138d4b4bd0ab67146d6eb9032fc3d3c212695237c134e05339c79 +"@cspell/dict-java@npm:^5.0.11": + version: 5.0.11 + resolution: "@cspell/dict-java@npm:5.0.11" + checksum: 10/5ec2186ce067caa92b5af57f3f76b1d60463db2a24a6a3c605556ecd2adb7be07177e2f1b399376ad08e0dbfae4551c94df004b6c4db776f09806cd2bf525f9f languageName: node linkType: hard -"@cspell/dict-html-symbol-entities@npm:^4.0.0": - version: 4.0.0 - resolution: "@cspell/dict-html-symbol-entities@npm:4.0.0" - checksum: 79f05f9080f39dbde703980eb587ed6624b8fc2f5cedc297327bc1b9b7e6022a7c382e6013149b1afe00609b96003ab5c8d18d378979f76f336ab626317183f4 +"@cspell/dict-julia@npm:^1.1.0": + version: 1.1.0 + resolution: "@cspell/dict-julia@npm:1.1.0" + checksum: 10/80a7acd8d81259f6d37e740528743d36ed29229d81352e1b72ca4c1bd13c4a2285f6e0e93de330f537f2fdc9ba02b25c455b7b33995204a6487eb444dbbec062 languageName: node linkType: hard -"@cspell/dict-html@npm:^4.0.5": - version: 4.0.5 - resolution: "@cspell/dict-html@npm:4.0.5" - checksum: 8801b7f77910f6a269efc652c88ecc3299cabedec03566ad6fb661845fdf9a4950bd7a2cdd1216dde982eddc9caf9ec00c6917ac90707fabb7686d02b30b0a5c +"@cspell/dict-k8s@npm:^1.0.10": + version: 1.0.10 + resolution: "@cspell/dict-k8s@npm:1.0.10" + checksum: 10/55df02917f9c1523dca512494ef8309b15ce89d5f6e446572d76669349f9d2510246ba1c4eb52139789409b7f4c7cb7d0649526ef910a6d1af0f5cc2abc0d94e languageName: node linkType: hard -"@cspell/dict-java@npm:^5.0.6": - version: 5.0.6 - resolution: "@cspell/dict-java@npm:5.0.6" - checksum: 0029545c95beb0c3e8dd416671242083734a74af639244556fc72dc323e450ffdf7234afa7e24d15307f57dd4c8f47e7f0acef12eb30df4014b81b2939df5596 +"@cspell/dict-kotlin@npm:^1.1.0": + version: 1.1.0 + resolution: "@cspell/dict-kotlin@npm:1.1.0" + checksum: 10/6127b64037e9c4f0be49fd9be3435c999361001cf52dcf6f47f0467add55df4ca95c0a0056b4bfdcdd1363132892087a30475a664e2176bc487311346a22474e languageName: node linkType: hard -"@cspell/dict-k8s@npm:^1.0.1": - version: 1.0.1 - resolution: "@cspell/dict-k8s@npm:1.0.1" - checksum: 6f42aaa1571bedeed6dda7f08a4f34b54a2b18f7ba21231290300c339f4a684b8470c04b88f48dc141516038dd2419d74fd086a025bc4a816516a6bb9e170ab2 +"@cspell/dict-latex@npm:^4.0.3": + version: 4.0.3 + resolution: "@cspell/dict-latex@npm:4.0.3" + checksum: 10/9dbe412991e5323d8feca08c3fc13c3afb0b330c7c41df71ef19032d988f0bf2469e00ac7595b25c26f4962fcba03efa2eab86c3246d92dc6f86bade03d94528 languageName: node linkType: hard -"@cspell/dict-latex@npm:^4.0.0": - version: 4.0.0 - resolution: "@cspell/dict-latex@npm:4.0.0" - checksum: 7e7a520196d143d0a3185689d09d84bf1e23b5328dfc78187c4e4ab264bd49c3dd695eb92f8d582583e5bc26bcab4ed0976b310b56a000af81d88a7acdea7f8c +"@cspell/dict-lorem-ipsum@npm:^4.0.4": + version: 4.0.4 + resolution: "@cspell/dict-lorem-ipsum@npm:4.0.4" + checksum: 10/f75cca35d89aa407a21875b2c58b5c959c0a06aed1aaea4a8b91a7e42e3d83ae1604a735e184cc7b4b3c294189013be5f46888ee46526284f99b21da391a8ef6 languageName: node linkType: hard -"@cspell/dict-lorem-ipsum@npm:^4.0.0": - version: 4.0.0 - resolution: "@cspell/dict-lorem-ipsum@npm:4.0.0" - checksum: d3575fb7b9684480192d2cd647484312c555f3d1215d6b35371b70de3ecde4273010e5916cc2d130ff1e1223a1a49f75825651671a76d3dabdec98acf67a3902 +"@cspell/dict-lua@npm:^4.0.7": + version: 4.0.7 + resolution: "@cspell/dict-lua@npm:4.0.7" + checksum: 10/ef1ad0f059f5e2c99e6741633c75ed59640bd4c3b421c8c7af124facafc9c4ecb578e1bfe2a180d63e0063c508dec31db2615a864744c2737ed0d47fa4daaaad languageName: node linkType: hard -"@cspell/dict-lua@npm:^4.0.2": - version: 4.0.2 - resolution: "@cspell/dict-lua@npm:4.0.2" - checksum: 570e45e4430fa3b07759dcc4fcaf75995bd1f3c5f335496de67963177da692e89c84fb08f5b5547a582049dee64c768e81294edd4f047dee31807261e85f6f30 +"@cspell/dict-makefile@npm:^1.0.4": + version: 1.0.4 + resolution: "@cspell/dict-makefile@npm:1.0.4" + checksum: 10/1aece9d61e21aabaad8cd8048f7647739d6a48ab532b4637b72b53d4360dc6780dc4be35a14de541a3dd05b076efd9f106af83fa0e7ca3ae149c86143a72b96b languageName: node linkType: hard -"@cspell/dict-node@npm:^4.0.3": - version: 4.0.3 - resolution: "@cspell/dict-node@npm:4.0.3" - checksum: ed2884b7da7474535d85b23a2f80576fbce5682b609bd7f21a7d0f316ac385532838b80900be1af461fa6a20b8020c6054ca1323504e301b4fc72d66b77550eb +"@cspell/dict-markdown@npm:^2.0.9": + version: 2.0.9 + resolution: "@cspell/dict-markdown@npm:2.0.9" + peerDependencies: + "@cspell/dict-css": ^4.0.17 + "@cspell/dict-html": ^4.0.11 + "@cspell/dict-html-symbol-entities": ^4.0.3 + "@cspell/dict-typescript": ^3.2.0 + checksum: 10/1709c02c103c733e5a7beab0988308b0c23e5dd76c7491d0ddc9f9493ec251ff2627c675ee5dbb75d49f6a2ce1b3ad34984e4bcdcf4bf6edc167a77b499eeec3 languageName: node linkType: hard -"@cspell/dict-npm@npm:^5.0.12": - version: 5.0.12 - resolution: "@cspell/dict-npm@npm:5.0.12" - checksum: ac388cbe10426ec3504ca19ac2dfaaeb012a372099e7a8fd1032625fb434fec9157511d09e34c974eb71e5bcb4f26a0027332ce6d754970722ac98835aba07d3 +"@cspell/dict-monkeyc@npm:^1.0.10": + version: 1.0.10 + resolution: "@cspell/dict-monkeyc@npm:1.0.10" + checksum: 10/670443bfc5be5d69a5b4bc22330191f586bbfd29220c00d69473eea4f2c0c94321b42d83c74e98fde6fc0fe4e933425dcffa2941b62111326b50effd101fb2d7 languageName: node linkType: hard -"@cspell/dict-php@npm:^4.0.3": - version: 4.0.3 - resolution: "@cspell/dict-php@npm:4.0.3" - checksum: fe0eef39c76c9754e8c77a791b3084cc73a5675970713868ae745caa3fd6e8a08ce7373b6f31e230c2b3b768e5f6e82f3e6a6c2b9120e09daac9f8639f118847 +"@cspell/dict-node@npm:^5.0.6": + version: 5.0.6 + resolution: "@cspell/dict-node@npm:5.0.6" + checksum: 10/4299abfd1294bdeb74ddd8e3ada2e2d5054280858311aa04d560a6d9934179f0c5f9774bc899c133562a502d57e666bf29800266d95c0097ed9d07071a51375c languageName: node linkType: hard -"@cspell/dict-powershell@npm:^5.0.2": - version: 5.0.2 - resolution: "@cspell/dict-powershell@npm:5.0.2" - checksum: 0591920546caa6965fe1238fe43aa9a9d714594d7149225bebfb0157a337d741603f52f39b2265131d20612617cfccf5da92e04491824d4c395ec664eca98076 +"@cspell/dict-npm@npm:^5.1.22": + version: 5.1.23 + resolution: "@cspell/dict-npm@npm:5.1.23" + checksum: 10/e784479d77ce73c52dacca561aa7d0b4d03f2f6a33aa1b48f325f87cb38c9983eaf918fdcc0d63043b9fde74911c9d9b6064041eedf2c29a95515202b3649b82 languageName: node linkType: hard -"@cspell/dict-public-licenses@npm:^2.0.5": - version: 2.0.5 - resolution: "@cspell/dict-public-licenses@npm:2.0.5" - checksum: 07e647c24ed1a5f0e88828264581e9f8fde179f776a50c4389ac0bc5c09a2bb94280d299c94d1884a8da01fbf112c5640178789b457f06b1a97414b18cda99e0 +"@cspell/dict-php@npm:^4.0.14": + version: 4.0.14 + resolution: "@cspell/dict-php@npm:4.0.14" + checksum: 10/5f245f70076fe637ba89ff45dae3772cb57822d32b84c2a8f511abe22ab9ae746f64c0fa429937940c16ab6c08b41ce03f6aa233c67af11cfb505fd5c813c518 languageName: node linkType: hard -"@cspell/dict-python@npm:^4.1.9": - version: 4.1.9 - resolution: "@cspell/dict-python@npm:4.1.9" +"@cspell/dict-powershell@npm:^5.0.14": + version: 5.0.14 + resolution: "@cspell/dict-powershell@npm:5.0.14" + checksum: 10/7d527250933e8597ee2b694e70d7abf094b3ba5a2058b37934423cb2cb13384f7d79ca660ff723bea2c80390d5a30948e065369bfd2de1cc4281172b703d711f + languageName: node + linkType: hard + +"@cspell/dict-public-licenses@npm:^2.0.12": + version: 2.0.13 + resolution: "@cspell/dict-public-licenses@npm:2.0.13" + checksum: 10/f3aee5da76fca275c139a4a08b46cbfcb41e14cfb2c0933e413b2b3ef116f0421b34f8bd478d6fae69b199ea19ab3f46353c9aae4231492169fdf09823bcba32 + languageName: node + linkType: hard + +"@cspell/dict-python@npm:^4.2.14": + version: 4.2.15 + resolution: "@cspell/dict-python@npm:4.2.15" dependencies: - "@cspell/dict-data-science": "npm:^1.0.11" - checksum: f49417d154430c9a2b8f856e31d817c4d2c1a1b8725578372c29182985ffd8b603057b3b920d5b63c279f30e2887d2a177f0490245ccdbba78caa4e0f4f47377 + "@cspell/dict-data-science": "npm:^2.0.7" + checksum: 10/80b4739514a2d58f8ad3c2b5725913dbfb235477797ad526c52787ebe219e6091c996d04d9e0175408ddc2b1864d0ba6c4e2b80086b23133a29e1a55ec80cfa3 languageName: node linkType: hard -"@cspell/dict-r@npm:^2.0.1": - version: 2.0.1 - resolution: "@cspell/dict-r@npm:2.0.1" - checksum: fe85939ad4c8ada34284a673918be711cca60b6d6f1c48ee98602c27905228dfbaea3462a350094633032c1d6b6bba9548df7019e0b21673cf1cf887c57ca228 +"@cspell/dict-r@npm:^2.1.0": + version: 2.1.0 + resolution: "@cspell/dict-r@npm:2.1.0" + checksum: 10/5ba48ac82578feade56196fa6c236a2bbea5555ce9cade2966a0c2bbd676b37aeac06556079ca7a306189ff8e9f811ca4c1b01c58ddbcdda447a9434277792c9 languageName: node linkType: hard -"@cspell/dict-ruby@npm:^5.0.1": - version: 5.0.1 - resolution: "@cspell/dict-ruby@npm:5.0.1" - checksum: 2d85495b28cb7ea05b85cf3091f8f03f8a51968d532ebb0fc41ea9f8ba31915d66c8a8a2c6146a080f88ef3445a43ae972cf549ec522b2f63bfb8cb11adf8289 +"@cspell/dict-ruby@npm:^5.0.7": + version: 5.0.7 + resolution: "@cspell/dict-ruby@npm:5.0.7" + checksum: 10/cdd1a7e15e4fb0e46f731ce13e76c35bea9529b22b80c61ea6f5b09ea9e217fa78de62c67337c9948a179137cf6b7c616a20afb29030134f7a774964419b0307 languageName: node linkType: hard -"@cspell/dict-rust@npm:^4.0.1": - version: 4.0.1 - resolution: "@cspell/dict-rust@npm:4.0.1" - checksum: 146d3af5d0b1b84ec62059353416cd5d4b53995ed0a0edb47b96ed89f1b8b82881e76c1bac46311318f41d1619eab87d81e0cdc94855f50b79cfa0719333cbb1 +"@cspell/dict-rust@npm:^4.0.11": + version: 4.0.11 + resolution: "@cspell/dict-rust@npm:4.0.11" + checksum: 10/e336ad35129660bfde98efa9498a0b7237374ee9026baf7366a52f73f5c1a85cd0ed9dffcead7af2350155456ba8f1157d63dd17061a6187d1eabedaf33372ef languageName: node linkType: hard -"@cspell/dict-scala@npm:^5.0.0": - version: 5.0.0 - resolution: "@cspell/dict-scala@npm:5.0.0" - checksum: 874312cd63de246f95ca3ab0ae92649c3fd0b5ca4e28f7586b159759deccdc87d78e85a91b962cd9abc2ea0e855763ff00dfae776840980f69ac2d1da169777c +"@cspell/dict-scala@npm:^5.0.7": + version: 5.0.7 + resolution: "@cspell/dict-scala@npm:5.0.7" + checksum: 10/61be6c9e06e28aca7da228e4c09badcf429562fc00ad183de9320d60d21e12fb73ddb6fab7a943fab808cd00ace3cba872971a61d09c3c3bfb9b8d46592c1126 languageName: node linkType: hard -"@cspell/dict-software-terms@npm:^3.3.6": - version: 3.3.6 - resolution: "@cspell/dict-software-terms@npm:3.3.6" - checksum: cc956a0faca87b1bf44297130bc8a8bcea52ecfab3c9b31c6766d9e7be6daf98568dc056ba254f43b1a680e433811ecfe6e1d2a72c8d995b59859d7c7dadd9dc +"@cspell/dict-shell@npm:1.1.0, @cspell/dict-shell@npm:^1.1.0": + version: 1.1.0 + resolution: "@cspell/dict-shell@npm:1.1.0" + checksum: 10/80e17a64b69fcacda061bd0645917fdadbceeaa5a6388417c4193da062ba11eaf19839d79d0d172360eba9ab532571e8fce93cce14a9d383f2c6c56ba9112c43 languageName: node linkType: hard -"@cspell/dict-sql@npm:^2.1.2": - version: 2.1.2 - resolution: "@cspell/dict-sql@npm:2.1.2" - checksum: fffa66d7f3412b559be7d0acd711504b6b3b78a0380ba4e46b397e54d4754305b398e2e931965016aa6ca3c25e4a056c11974d58fbb7b78afd6d38660a2ede0b +"@cspell/dict-software-terms@npm:^4.2.2": + version: 4.2.4 + resolution: "@cspell/dict-software-terms@npm:4.2.4" + checksum: 10/e04dd2c4b3a81e8e5407a8066fb9e93ac3b2b99e666178f369480adcff4e89391c50c9605adf5452770746fd8de0271452fbd308133caaac03a763afaf153f7c languageName: node linkType: hard -"@cspell/dict-svelte@npm:^1.0.2": - version: 1.0.2 - resolution: "@cspell/dict-svelte@npm:1.0.2" - checksum: 5b42989bc6743a26ca5172cc23ebc1449d930695b10c908376048ce1835bf57fef7a0004f02ec5e43219f24a97f154e125041df470441199a045ed0be9e654fc +"@cspell/dict-sql@npm:^2.2.0": + version: 2.2.0 + resolution: "@cspell/dict-sql@npm:2.2.0" + checksum: 10/46a02b2a8086802aaf5b81d7570c56a73f4bbb59ffc97823c41041521a33d85d6f0b065753bbc11776f670fc98846c28ee9496cb03c79f0b87f361f9ffd3c03d languageName: node linkType: hard -"@cspell/dict-swift@npm:^2.0.1": - version: 2.0.1 - resolution: "@cspell/dict-swift@npm:2.0.1" - checksum: 0bbb106266205c5f5e12886a73ebf0db2078bab1bdd2e1f304fe28445cd72d847a4c5072bf4fe8f9e8cdb4bc69d52fffec0806aea19ea9b64b7a87c67ee01175 +"@cspell/dict-svelte@npm:^1.0.6": + version: 1.0.6 + resolution: "@cspell/dict-svelte@npm:1.0.6" + checksum: 10/b6c4fb7738cc3070d3d6aa843e9a0ef9783a8e64368d0d4e0689e4680f6640760feb03db6c20e3a997d72381938cf669359e1d2730a1d14a6daa014c324ad160 languageName: node linkType: hard -"@cspell/dict-typescript@npm:^3.1.2": - version: 3.1.2 - resolution: "@cspell/dict-typescript@npm:3.1.2" - checksum: b7ad45f704272795c6d8594c468fdc3e79db1fa8f8666be708d8a62188f8159c1b973005a901a49a359cddb80506e3af711b50d4fc9441cb224af34ddd17db76 +"@cspell/dict-swift@npm:^2.0.5": + version: 2.0.5 + resolution: "@cspell/dict-swift@npm:2.0.5" + checksum: 10/09c84f12840f1ef000c0a775ba94ee49e7726d552744be4f21000a8fd45ac7608d4142f8cd9e28a111ac9afd0c0a657183cad35ff899178c02254c27593c3704 languageName: node linkType: hard -"@cspell/dict-vue@npm:^3.0.0": - version: 3.0.0 - resolution: "@cspell/dict-vue@npm:3.0.0" - checksum: 4db58b1d6f9be1a523a35678877f2cca2bb04548b136ec5ec4e7186500978dbc32cc8747ced80ade3cad3acc3c80eb23afe980679165810f8f8f26802e952e2f +"@cspell/dict-terraform@npm:^1.1.0": + version: 1.1.0 + resolution: "@cspell/dict-terraform@npm:1.1.0" + checksum: 10/3c5623ee9af897620317b1289a9368c01feca86b97c8b28c8e465f9d1135aa2c30fae1db6e6f28515e834861222e32ab0f47514072025d4dd4d4a05284617033 languageName: node linkType: hard -"@cspell/dynamic-import@npm:7.3.8": - version: 7.3.8 - resolution: "@cspell/dynamic-import@npm:7.3.8" - dependencies: - import-meta-resolve: "npm:^3.0.0" - checksum: 75cb2f8c544c50db75c2fba860a6f8a48dfff1a818723e8381bc5c61605805d02a440ede39d546cdc5f9fcd90b3d0ad95112ad4d70fee1acce71d6f09d4d7369 +"@cspell/dict-typescript@npm:^3.2.0": + version: 3.2.0 + resolution: "@cspell/dict-typescript@npm:3.2.0" + checksum: 10/d3e4e0fda86b208fab4008d931de002f7596bd5ff4fccafe1de142d103c03b9ee1aa593cf86939676fc64e3ad0d450a2f7826a94286d83340afcbec84af5d0ed languageName: node linkType: hard -"@cspell/strong-weak-map@npm:7.3.8": - version: 7.3.8 - resolution: "@cspell/strong-weak-map@npm:7.3.8" - checksum: c91365b3d408de49f3009b96a88be645219550a9f944991a5068a9b54654e963f35ab55fea974d6881435435c19e1a1a7a612bf72923a04ee3b7af19ab8e2d97 +"@cspell/dict-vue@npm:^3.0.4": + version: 3.0.4 + resolution: "@cspell/dict-vue@npm:3.0.4" + checksum: 10/53904dcaf74ac5e20814ebc2aa484ad6cc607091312c8eeaefb81ada060869c20625accda5e35939e53c148261c67c4129f859fbf50da28cfa5b30d70290ee15 languageName: node linkType: hard -"@cspotcode/source-map-support@npm:^0.8.0": - version: 0.8.1 - resolution: "@cspotcode/source-map-support@npm:0.8.1" +"@cspell/dynamic-import@npm:8.17.2": + version: 8.17.2 + resolution: "@cspell/dynamic-import@npm:8.17.2" dependencies: - "@jridgewell/trace-mapping": "npm:0.3.9" - checksum: b6e38a1712fab242c86a241c229cf562195aad985d0564bd352ac404be583029e89e93028ffd2c251d2c407ecac5fb0cbdca94a2d5c10f29ac806ede0508b3ff + "@cspell/url": "npm:8.17.2" + import-meta-resolve: "npm:^4.1.0" + checksum: 10/dd1ed034e03aac8483b43ac1588a93896d517ffdfa7a8e33a075c7bbbb4c487aa87f53876a4c2543a6c6ad8d6f369409a498b5b848afe16678e9363561762c04 + languageName: node + linkType: hard + +"@cspell/filetypes@npm:8.17.2": + version: 8.17.2 + resolution: "@cspell/filetypes@npm:8.17.2" + checksum: 10/f6fa376080bd0d6bad62ef34a5a013e152f304b06a27f16826fbb07e5539bfedbb35609e73f240c6df63fafd0b7f6a32ae069c4c9c1332a4b001f85774edd3f3 + languageName: node + linkType: hard + +"@cspell/strong-weak-map@npm:8.17.2": + version: 8.17.2 + resolution: "@cspell/strong-weak-map@npm:8.17.2" + checksum: 10/d43ad147603d06aa9a446f2dfb149c1e23b8d27d15497b03a1490b3d473dd5e12e3eaba257f1bf106dd7ab88bcb66226d4b595be2469ce0598550e81d6cd0598 languageName: node linkType: hard -"@dprint/darwin-arm64@npm:0.41.0": - version: 0.41.0 - resolution: "@dprint/darwin-arm64@npm:0.41.0" +"@cspell/url@npm:8.17.2": + version: 8.17.2 + resolution: "@cspell/url@npm:8.17.2" + checksum: 10/5d2ccdfbbdb893aa6ae5ca3ac9476250054efe51a1649e6eea7b6738fc7b6828e084cc09ec17ee7c25db179fa974fe4cb546cfd5ff0be7ee9de5bea61eb8689f + languageName: node + linkType: hard + +"@dprint/darwin-arm64@npm:0.48.0": + version: 0.48.0 + resolution: "@dprint/darwin-arm64@npm:0.48.0" conditions: os=darwin & cpu=arm64 languageName: node linkType: hard -"@dprint/darwin-x64@npm:0.41.0": - version: 0.41.0 - resolution: "@dprint/darwin-x64@npm:0.41.0" +"@dprint/darwin-x64@npm:0.48.0": + version: 0.48.0 + resolution: "@dprint/darwin-x64@npm:0.48.0" conditions: os=darwin & cpu=x64 languageName: node linkType: hard -"@dprint/linux-arm64-glibc@npm:0.41.0": - version: 0.41.0 - resolution: "@dprint/linux-arm64-glibc@npm:0.41.0" +"@dprint/linux-arm64-glibc@npm:0.48.0": + version: 0.48.0 + resolution: "@dprint/linux-arm64-glibc@npm:0.48.0" conditions: os=linux & cpu=arm64 & libc=glibc languageName: node linkType: hard -"@dprint/linux-x64-glibc@npm:0.41.0": - version: 0.41.0 - resolution: "@dprint/linux-x64-glibc@npm:0.41.0" +"@dprint/linux-arm64-musl@npm:0.48.0": + version: 0.48.0 + resolution: "@dprint/linux-arm64-musl@npm:0.48.0" + conditions: os=linux & cpu=arm64 & libc=musl + languageName: node + linkType: hard + +"@dprint/linux-riscv64-glibc@npm:0.48.0": + version: 0.48.0 + resolution: "@dprint/linux-riscv64-glibc@npm:0.48.0" + conditions: os=linux & cpu=riscv64 & libc=glibc + languageName: node + linkType: hard + +"@dprint/linux-x64-glibc@npm:0.48.0": + version: 0.48.0 + resolution: "@dprint/linux-x64-glibc@npm:0.48.0" conditions: os=linux & cpu=x64 & libc=glibc languageName: node linkType: hard -"@dprint/linux-x64-musl@npm:0.41.0": - version: 0.41.0 - resolution: "@dprint/linux-x64-musl@npm:0.41.0" +"@dprint/linux-x64-musl@npm:0.48.0": + version: 0.48.0 + resolution: "@dprint/linux-x64-musl@npm:0.48.0" conditions: os=linux & cpu=x64 & libc=musl languageName: node linkType: hard -"@dprint/win32-x64@npm:0.41.0": - version: 0.41.0 - resolution: "@dprint/win32-x64@npm:0.41.0" +"@dprint/win32-arm64@npm:0.48.0": + version: 0.48.0 + resolution: "@dprint/win32-arm64@npm:0.48.0" + conditions: os=win32 & cpu=arm64 + languageName: node + linkType: hard + +"@dprint/win32-x64@npm:0.48.0": + version: 0.48.0 + resolution: "@dprint/win32-x64@npm:0.48.0" conditions: os=win32 & cpu=x64 languageName: node linkType: hard -"@es-joy/jsdoccomment@npm:~0.38.0": - version: 0.38.0 - resolution: "@es-joy/jsdoccomment@npm:0.38.0" +"@es-joy/jsdoccomment@npm:~0.49.0": + version: 0.49.0 + resolution: "@es-joy/jsdoccomment@npm:0.49.0" dependencies: - comment-parser: "npm:1.3.1" - esquery: "npm:^1.5.0" - jsdoc-type-pratt-parser: "npm:~4.0.0" - checksum: 1f31cde49c6573b3cd70d4e9111c815084e1fdc6c1351db4bb3c82d91de5930e2e1ad1f38e3078613e74b1b17edffcc1146747f029c56f0387c725e76983c79b + comment-parser: "npm:1.4.1" + esquery: "npm:^1.6.0" + jsdoc-type-pratt-parser: "npm:~4.1.0" + checksum: 10/d767cef9b09f22d1892b8bd544eee32aa7b55c585edf6b51452e6f377f205b06f46bd319174022f75794d39625b4b0f8ce75c8a4ea0b7fd0f773063506e0ef4d + languageName: node + linkType: hard + +"@esbuild/aix-ppc64@npm:0.24.2": + version: 0.24.2 + resolution: "@esbuild/aix-ppc64@npm:0.24.2" + conditions: os=aix & cpu=ppc64 languageName: node linkType: hard -"@esbuild/android-arm64@npm:0.19.5": - version: 0.19.5 - resolution: "@esbuild/android-arm64@npm:0.19.5" +"@esbuild/android-arm64@npm:0.24.2": + version: 0.24.2 + resolution: "@esbuild/android-arm64@npm:0.24.2" conditions: os=android & cpu=arm64 languageName: node linkType: hard -"@esbuild/android-arm@npm:0.19.5": - version: 0.19.5 - resolution: "@esbuild/android-arm@npm:0.19.5" +"@esbuild/android-arm@npm:0.24.2": + version: 0.24.2 + resolution: "@esbuild/android-arm@npm:0.24.2" conditions: os=android & cpu=arm languageName: node linkType: hard -"@esbuild/android-x64@npm:0.19.5": - version: 0.19.5 - resolution: "@esbuild/android-x64@npm:0.19.5" +"@esbuild/android-x64@npm:0.24.2": + version: 0.24.2 + resolution: "@esbuild/android-x64@npm:0.24.2" conditions: os=android & cpu=x64 languageName: node linkType: hard -"@esbuild/darwin-arm64@npm:0.19.5": - version: 0.19.5 - resolution: "@esbuild/darwin-arm64@npm:0.19.5" +"@esbuild/darwin-arm64@npm:0.24.2": + version: 0.24.2 + resolution: "@esbuild/darwin-arm64@npm:0.24.2" conditions: os=darwin & cpu=arm64 languageName: node linkType: hard -"@esbuild/darwin-x64@npm:0.19.5": - version: 0.19.5 - resolution: "@esbuild/darwin-x64@npm:0.19.5" +"@esbuild/darwin-x64@npm:0.24.2": + version: 0.24.2 + resolution: "@esbuild/darwin-x64@npm:0.24.2" conditions: os=darwin & cpu=x64 languageName: node linkType: hard -"@esbuild/freebsd-arm64@npm:0.19.5": - version: 0.19.5 - resolution: "@esbuild/freebsd-arm64@npm:0.19.5" +"@esbuild/freebsd-arm64@npm:0.24.2": + version: 0.24.2 + resolution: "@esbuild/freebsd-arm64@npm:0.24.2" conditions: os=freebsd & cpu=arm64 languageName: node linkType: hard -"@esbuild/freebsd-x64@npm:0.19.5": - version: 0.19.5 - resolution: "@esbuild/freebsd-x64@npm:0.19.5" +"@esbuild/freebsd-x64@npm:0.24.2": + version: 0.24.2 + resolution: "@esbuild/freebsd-x64@npm:0.24.2" conditions: os=freebsd & cpu=x64 languageName: node linkType: hard -"@esbuild/linux-arm64@npm:0.19.5": - version: 0.19.5 - resolution: "@esbuild/linux-arm64@npm:0.19.5" +"@esbuild/linux-arm64@npm:0.24.2": + version: 0.24.2 + resolution: "@esbuild/linux-arm64@npm:0.24.2" conditions: os=linux & cpu=arm64 languageName: node linkType: hard -"@esbuild/linux-arm@npm:0.19.5": - version: 0.19.5 - resolution: "@esbuild/linux-arm@npm:0.19.5" +"@esbuild/linux-arm@npm:0.24.2": + version: 0.24.2 + resolution: "@esbuild/linux-arm@npm:0.24.2" conditions: os=linux & cpu=arm languageName: node linkType: hard -"@esbuild/linux-ia32@npm:0.19.5": - version: 0.19.5 - resolution: "@esbuild/linux-ia32@npm:0.19.5" +"@esbuild/linux-ia32@npm:0.24.2": + version: 0.24.2 + resolution: "@esbuild/linux-ia32@npm:0.24.2" conditions: os=linux & cpu=ia32 languageName: node linkType: hard -"@esbuild/linux-loong64@npm:0.19.5": - version: 0.19.5 - resolution: "@esbuild/linux-loong64@npm:0.19.5" +"@esbuild/linux-loong64@npm:0.24.2": + version: 0.24.2 + resolution: "@esbuild/linux-loong64@npm:0.24.2" conditions: os=linux & cpu=loong64 languageName: node linkType: hard -"@esbuild/linux-mips64el@npm:0.19.5": - version: 0.19.5 - resolution: "@esbuild/linux-mips64el@npm:0.19.5" +"@esbuild/linux-mips64el@npm:0.24.2": + version: 0.24.2 + resolution: "@esbuild/linux-mips64el@npm:0.24.2" conditions: os=linux & cpu=mips64el languageName: node linkType: hard -"@esbuild/linux-ppc64@npm:0.19.5": - version: 0.19.5 - resolution: "@esbuild/linux-ppc64@npm:0.19.5" +"@esbuild/linux-ppc64@npm:0.24.2": + version: 0.24.2 + resolution: "@esbuild/linux-ppc64@npm:0.24.2" conditions: os=linux & cpu=ppc64 languageName: node linkType: hard -"@esbuild/linux-riscv64@npm:0.19.5": - version: 0.19.5 - resolution: "@esbuild/linux-riscv64@npm:0.19.5" +"@esbuild/linux-riscv64@npm:0.24.2": + version: 0.24.2 + resolution: "@esbuild/linux-riscv64@npm:0.24.2" conditions: os=linux & cpu=riscv64 languageName: node linkType: hard -"@esbuild/linux-s390x@npm:0.19.5": - version: 0.19.5 - resolution: "@esbuild/linux-s390x@npm:0.19.5" +"@esbuild/linux-s390x@npm:0.24.2": + version: 0.24.2 + resolution: "@esbuild/linux-s390x@npm:0.24.2" conditions: os=linux & cpu=s390x languageName: node linkType: hard -"@esbuild/linux-x64@npm:0.19.5": - version: 0.19.5 - resolution: "@esbuild/linux-x64@npm:0.19.5" +"@esbuild/linux-x64@npm:0.24.2": + version: 0.24.2 + resolution: "@esbuild/linux-x64@npm:0.24.2" conditions: os=linux & cpu=x64 languageName: node linkType: hard -"@esbuild/netbsd-x64@npm:0.19.5": - version: 0.19.5 - resolution: "@esbuild/netbsd-x64@npm:0.19.5" +"@esbuild/netbsd-arm64@npm:0.24.2": + version: 0.24.2 + resolution: "@esbuild/netbsd-arm64@npm:0.24.2" + conditions: os=netbsd & cpu=arm64 + languageName: node + linkType: hard + +"@esbuild/netbsd-x64@npm:0.24.2": + version: 0.24.2 + resolution: "@esbuild/netbsd-x64@npm:0.24.2" conditions: os=netbsd & cpu=x64 languageName: node linkType: hard -"@esbuild/openbsd-x64@npm:0.19.5": - version: 0.19.5 - resolution: "@esbuild/openbsd-x64@npm:0.19.5" +"@esbuild/openbsd-arm64@npm:0.24.2": + version: 0.24.2 + resolution: "@esbuild/openbsd-arm64@npm:0.24.2" + conditions: os=openbsd & cpu=arm64 + languageName: node + linkType: hard + +"@esbuild/openbsd-x64@npm:0.24.2": + version: 0.24.2 + resolution: "@esbuild/openbsd-x64@npm:0.24.2" conditions: os=openbsd & cpu=x64 languageName: node linkType: hard -"@esbuild/sunos-x64@npm:0.19.5": - version: 0.19.5 - resolution: "@esbuild/sunos-x64@npm:0.19.5" +"@esbuild/sunos-x64@npm:0.24.2": + version: 0.24.2 + resolution: "@esbuild/sunos-x64@npm:0.24.2" conditions: os=sunos & cpu=x64 languageName: node linkType: hard -"@esbuild/win32-arm64@npm:0.19.5": - version: 0.19.5 - resolution: "@esbuild/win32-arm64@npm:0.19.5" +"@esbuild/win32-arm64@npm:0.24.2": + version: 0.24.2 + resolution: "@esbuild/win32-arm64@npm:0.24.2" conditions: os=win32 & cpu=arm64 languageName: node linkType: hard -"@esbuild/win32-ia32@npm:0.19.5": - version: 0.19.5 - resolution: "@esbuild/win32-ia32@npm:0.19.5" +"@esbuild/win32-ia32@npm:0.24.2": + version: 0.24.2 + resolution: "@esbuild/win32-ia32@npm:0.24.2" conditions: os=win32 & cpu=ia32 languageName: node linkType: hard -"@esbuild/win32-x64@npm:0.19.5": - version: 0.19.5 - resolution: "@esbuild/win32-x64@npm:0.19.5" +"@esbuild/win32-x64@npm:0.24.2": + version: 0.24.2 + resolution: "@esbuild/win32-x64@npm:0.24.2" conditions: os=win32 & cpu=x64 languageName: node linkType: hard -"@eslint-community/eslint-utils@npm:^4.2.0, @eslint-community/eslint-utils@npm:^4.4.0": - version: 4.4.0 - resolution: "@eslint-community/eslint-utils@npm:4.4.0" +"@eslint-community/eslint-utils@npm:^4.1.2, @eslint-community/eslint-utils@npm:^4.2.0, @eslint-community/eslint-utils@npm:^4.4.0, @eslint-community/eslint-utils@npm:^4.4.1": + version: 4.4.1 + resolution: "@eslint-community/eslint-utils@npm:4.4.1" dependencies: - eslint-visitor-keys: "npm:^3.3.0" + eslint-visitor-keys: "npm:^3.4.3" peerDependencies: eslint: ^6.0.0 || ^7.0.0 || >=8.0.0 - checksum: 8d70bcdcd8cd279049183aca747d6c2ed7092a5cf0cf5916faac1ef37ffa74f0c245c2a3a3d3b9979d9dfdd4ca59257b4c5621db699d637b847a2c5e02f491c2 + checksum: 10/ae92a11412674329b4bd38422518601ec9ceae28e251104d1cad83715da9d38e321f68c817c39b64e66d0af7d98df6f9a10ad2dc638911254b47fb8932df00ef languageName: node linkType: hard -"@eslint-community/regexpp@npm:^4.5.1, @eslint-community/regexpp@npm:^4.6.1": - version: 4.8.0 - resolution: "@eslint-community/regexpp@npm:4.8.0" - checksum: bca98aff5fd4236ef6030e91bd323e57b8d42705d4ddcdd56041e3c1ff7f4d9eb4a3f1fffcbf0e0400cba0703ea9e496f521ae0ad65f269024d07c56edfa5e08 +"@eslint-community/regexpp@npm:^4.10.0, @eslint-community/regexpp@npm:^4.11.0, @eslint-community/regexpp@npm:^4.12.1": + version: 4.12.1 + resolution: "@eslint-community/regexpp@npm:4.12.1" + checksum: 10/c08f1dd7dd18fbb60bdd0d85820656d1374dd898af9be7f82cb00451313402a22d5e30569c150315b4385907cdbca78c22389b2a72ab78883b3173be317620cc languageName: node linkType: hard -"@eslint/eslintrc@npm:^2.1.2": - version: 2.1.2 - resolution: "@eslint/eslintrc@npm:2.1.2" +"@eslint/config-array@npm:^0.19.0": + version: 0.19.1 + resolution: "@eslint/config-array@npm:0.19.1" + dependencies: + "@eslint/object-schema": "npm:^2.1.5" + debug: "npm:^4.3.1" + minimatch: "npm:^3.1.2" + checksum: 10/1243b01f463de85c970c18f0994f9d1850dafe8cc8c910edb64105d845edd3cacaa0bbf028bf35a6daaf5a179021140b6a8b1dc7a2f915b42c2d35f022a9c201 + languageName: node + linkType: hard + +"@eslint/core@npm:^0.10.0": + version: 0.10.0 + resolution: "@eslint/core@npm:0.10.0" + dependencies: + "@types/json-schema": "npm:^7.0.15" + checksum: 10/de41d7fa5dc468b70fb15c72829096939fc0217c41b8519af4620bc1089cb42539a15325c4c3ee3832facac1836c8c944c4a0c4d0cc8b33ffd8e95962278ae14 + languageName: node + linkType: hard + +"@eslint/eslintrc@npm:^3.2.0": + version: 3.2.0 + resolution: "@eslint/eslintrc@npm:3.2.0" dependencies: ajv: "npm:^6.12.4" debug: "npm:^4.3.2" - espree: "npm:^9.6.0" - globals: "npm:^13.19.0" + espree: "npm:^10.0.1" + globals: "npm:^14.0.0" ignore: "npm:^5.2.0" import-fresh: "npm:^3.2.1" js-yaml: "npm:^4.1.0" minimatch: "npm:^3.1.2" strip-json-comments: "npm:^3.1.1" - checksum: fa25638f2666cac6810f98ee7d0f4b912f191806467c1b40d72bac759fffef0b3357f12a1869817286837b258e4de3517e0c7408520e156ca860fc53a1fbaed9 + checksum: 10/b32dd90ce7da68e89b88cd729db46b27aac79a2e6cb1fa75d25a6b766d586b443bfbf59622489efbd3c6f696f147b51111e81ec7cd23d70f215c5d474cad0261 languageName: node linkType: hard -"@eslint/js@npm:8.51.0": - version: 8.51.0 - resolution: "@eslint/js@npm:8.51.0" - checksum: 1641f02c787a6477bf4b054afb8113abdca552b8c222520b5ee44d85352294dafd4a34f0e510b1e38a02fc27c1f68547cb6c2abbea891d20688f474440266af3 +"@eslint/js@npm:9.18.0": + version: 9.18.0 + resolution: "@eslint/js@npm:9.18.0" + checksum: 10/364a7d030dad9dbda1458d8dbcea0199fe7d48bcfefe4b49389df6c45cdc5a2449f70e5d8a794e46ed9fb34af3fe5a3f53e30020d306b6ee791e2a1b2b9fa25f languageName: node linkType: hard -"@faker-js/faker@npm:8.2.0": - version: 8.2.0 - resolution: "@faker-js/faker@npm:8.2.0" - checksum: 8be9ce50538b12abdd9c2c94a9e23b991826b42f4706cb703f1d37cac8c9042d6549905959f3fd9abdd3a22f7b6095ddbae6f4269250158bd35a4ca1a5de55e8 +"@eslint/object-schema@npm:^2.1.5": + version: 2.1.5 + resolution: "@eslint/object-schema@npm:2.1.5" + checksum: 10/bb07ec53357047f20de923bcd61f0306d9eee83ef41daa32e633e154a44796b5bd94670169eccb8fd8cb4ff42228a43b86953a6321f789f98194baba8207b640 + languageName: node + linkType: hard + +"@eslint/plugin-kit@npm:^0.2.5": + version: 0.2.5 + resolution: "@eslint/plugin-kit@npm:0.2.5" + dependencies: + "@eslint/core": "npm:^0.10.0" + levn: "npm:^0.4.1" + checksum: 10/82d0142bc7054587bde4f75c2c517f477df7c320e4bdb47a4d5f766899a313ce65e9ce5d59428178d0be473a95292065053f69637042546b811ad89079781cbc + languageName: node + linkType: hard + +"@faker-js/faker@npm:9.4.0": + version: 9.4.0 + resolution: "@faker-js/faker@npm:9.4.0" + checksum: 10/f9f3c984d941a1e086c97bbf35def701e2d35e0e36e321569a6ac2ae0b7d2b1f2bee868362751c011f0eb917204fd85e53f178b1b2a1775df1670dfb30527a5b + languageName: node + linkType: hard + +"@flex-development/aggregate-error-ponyfill@npm:3.1.1": + version: 3.1.1 + resolution: "@flex-development/aggregate-error-ponyfill@npm:3.1.1::__archiveUrl=https%3A%2F%2Fnpm.pkg.github.com%2Fdownload%2F%40flex-development%2Faggregate-error-ponyfill%2F3.1.1%2F06789d036a0573f507331cc4d1068616a4e58c9e" + dependencies: + "@types/es-abstract": "npm:1.17.3" + es-abstract: "npm:1.21.1" + checksum: 10/8fe64d928008289cc48cc6928cbdd18ee5b53e1395e3150c15f40777b6c95ce3b1685cf05a0c4505401c941bd01be156d7491264d4e8709d8e15d565f2788e27 languageName: node linkType: hard "@flex-development/builtin-modules@npm:1.0.0": version: 1.0.0 resolution: "@flex-development/builtin-modules@npm:1.0.0::__archiveUrl=https%3A%2F%2Fnpm.pkg.github.com%2Fdownload%2F%40flex-development%2Fbuiltin-modules%2F1.0.0%2F7f6d30784550e9e03c3e93e9f846d958d016f1c9" - checksum: ee2ad2a85c24d3c39379b631c13996b48c79838a9e6c3e5de4d05733a87c4485f548dbc475551963872a14a10b4d807dda59431e3dbadec7f2d8c8680472eb17 + checksum: 10/ee2ad2a85c24d3c39379b631c13996b48c79838a9e6c3e5de4d05733a87c4485f548dbc475551963872a14a10b4d807dda59431e3dbadec7f2d8c8680472eb17 languageName: node linkType: hard "@flex-development/builtin-modules@npm:2.1.1": version: 2.1.1 resolution: "@flex-development/builtin-modules@npm:2.1.1::__archiveUrl=https%3A%2F%2Fnpm.pkg.github.com%2Fdownload%2F%40flex-development%2Fbuiltin-modules%2F2.1.1%2F03fc38789c4465ed1f2d7973ef4c16a56016e7bd" - checksum: 58a8aff1afaf447fc968c4cc300ae8948c1f7e9f1a22ee431bd1ed689fa8cfde4ee77c65d564325eba65379dd4a47979f3c5c80ee754bd6f6dc6f8cd886e7815 + checksum: 10/58a8aff1afaf447fc968c4cc300ae8948c1f7e9f1a22ee431bd1ed689fa8cfde4ee77c65d564325eba65379dd4a47979f3c5c80ee754bd6f6dc6f8cd886e7815 + languageName: node + linkType: hard + +"@flex-development/builtin-modules@npm:2.1.2": + version: 2.1.2 + resolution: "@flex-development/builtin-modules@npm:2.1.2::__archiveUrl=https%3A%2F%2Fnpm.pkg.github.com%2Fdownload%2F%40flex-development%2Fbuiltin-modules%2F2.1.2%2Ff4d6b61c135889cf80f743e370b1576ee25dfac2" + checksum: 10/62ce59ebf6710e750fc306cf641674ea29c5c4a0d33e3360d99120248fbb7643a944301f438e59e8207ba79319bff566e5a1adb0dc6ac92433097b1fc36e57a8 languageName: node linkType: hard @@ -1027,14 +1248,14 @@ __metadata: "@types/conventional-commits-parser": "npm:3.0.3" consola: "npm:2.15.3" conventional-changelog-conventionalcommits: "npm:5.0.0" - checksum: 0237ea2bb564c114465bb1879ecfad9bead04845edcbf91a27a2d18434e44a373723ab2e48d980181fd082b5079ff8e9d3b44284dcbab6db14d7e6ccc6aa6e62 + checksum: 10/0237ea2bb564c114465bb1879ecfad9bead04845edcbf91a27a2d18434e44a373723ab2e48d980181fd082b5079ff8e9d3b44284dcbab6db14d7e6ccc6aa6e62 languageName: node linkType: hard "@flex-development/decorator-regex@npm:2.0.0": version: 2.0.0 resolution: "@flex-development/decorator-regex@npm:2.0.0::__archiveUrl=https%3A%2F%2Fnpm.pkg.github.com%2Fdownload%2F%40flex-development%2Fdecorator-regex%2F2.0.0%2F84a213063995d5d398005f0b4bbddf451e198c0c" - checksum: 95ab5a4bef6877bb11b5360c3cf3f37b9cfec83acf6235bc32a2c3758cc8c6f076e688d2fc4258b443facf2f88e589decca449d5e74fd39b24049340e734cb19 + checksum: 10/95ab5a4bef6877bb11b5360c3cf3f37b9cfec83acf6235bc32a2c3758cc8c6f076e688d2fc4258b443facf2f88e589decca449d5e74fd39b24049340e734cb19 languageName: node linkType: hard @@ -1046,7 +1267,7 @@ __metadata: node-inspect-extracted: "npm:2.0.0" peerDependencies: "@types/node": ">=14" - checksum: e5507bca640a909680786dda01d95b1d746eb97abf4f07cc4a10b19763024c6720b20af66a98a26cf329cb5477854a8651d0227a39bce82b7d74b957bd3655c7 + checksum: 10/e5507bca640a909680786dda01d95b1d746eb97abf4f07cc4a10b19763024c6720b20af66a98a26cf329cb5477854a8651d0227a39bce82b7d74b957bd3655c7 languageName: node linkType: hard @@ -1058,7 +1279,7 @@ __metadata: node-inspect-extracted: "npm:2.0.0" peerDependencies: "@types/node": ">=14" - checksum: 6b492baa80e520335ba9e4b801faf38f6c737452d1329c177911c9657747e8b1922d2f0cb0bb0a32f6553616ed4f18bea2716e7939ffe0166dbc3971ce9d82c4 + checksum: 10/6b492baa80e520335ba9e4b801faf38f6c737452d1329c177911c9657747e8b1922d2f0cb0bb0a32f6553616ed4f18bea2716e7939ffe0166dbc3971ce9d82c4 languageName: node linkType: hard @@ -1070,32 +1291,32 @@ __metadata: node-inspect-extracted: "npm:2.0.2" peerDependencies: "@types/node": ">=16.18.23" - checksum: 7f49da9dc19b7b367bdd64b53ef600468d99ac3129c5d5090532ac6b8619e24bf4fb3999e5d8bde53f9e7225f5ff384e039d695e4a17915f0d4ce967d4caed25 + checksum: 10/7f49da9dc19b7b367bdd64b53ef600468d99ac3129c5d5090532ac6b8619e24bf4fb3999e5d8bde53f9e7225f5ff384e039d695e4a17915f0d4ce967d4caed25 languageName: node linkType: hard -"@flex-development/esm-types@npm:2.0.0": - version: 2.0.0 - resolution: "@flex-development/esm-types@npm:2.0.0::__archiveUrl=https%3A%2F%2Fnpm.pkg.github.com%2Fdownload%2F%40flex-development%2Fesm-types%2F2.0.0%2Fbd7aef7a92e089250bd8a17e8c73b16bf8ae248c" +"@flex-development/errnode@npm:3.1.1": + version: 3.1.1 + resolution: "@flex-development/errnode@npm:3.1.1::__archiveUrl=https%3A%2F%2Fnpm.pkg.github.com%2Fdownload%2F%40flex-development%2Ferrnode%2F3.1.1%2Fffa22758d40ce0885b8383399109bbc1d5baafa0" dependencies: - "@flex-development/tutils": "npm:6.0.0-alpha.11" - peerDependencies: - "@types/node": ">=16.18.23" - checksum: 5e9030a8528485a6098fea9d4babf1457803bb85b22690f986460c097f62572ae04fd9f37646c55f6a4e449732ec3129e6ed962d8710d6b8230cfeb3f6d562ec + "@flex-development/tutils": "npm:6.0.0-alpha.25" + devlop: "npm:1.1.0" + node-inspect-extracted: "npm:3.0.2" + checksum: 10/b4e61c0f9991c6b37c7102fdb364f2a438701cce9d4d8150137f202ab475e06d259585391511bc6f8e729625028d4cfd1c5d3ebbc02c0550198fec7e84c525f3 languageName: node linkType: hard "@flex-development/export-regex@npm:1.0.2": version: 1.0.2 resolution: "@flex-development/export-regex@npm:1.0.2::__archiveUrl=https%3A%2F%2Fnpm.pkg.github.com%2Fdownload%2F%40flex-development%2Fexport-regex%2F1.0.2%2F9f8b8a1ca3fd1f2e259f9da14d4750f79622ee43" - checksum: 2ddfe0e3de818e617fe697fecaa9dc1928ebe4c569733deb765cd441c5452da59ba5374ad6867db1c2bd8504aa7a085bf3149811c535748fd97d4e2229893f8e + checksum: 10/2ddfe0e3de818e617fe697fecaa9dc1928ebe4c569733deb765cd441c5452da59ba5374ad6867db1c2bd8504aa7a085bf3149811c535748fd97d4e2229893f8e languageName: node linkType: hard "@flex-development/export-regex@npm:2.0.0": version: 2.0.0 resolution: "@flex-development/export-regex@npm:2.0.0::__archiveUrl=https%3A%2F%2Fnpm.pkg.github.com%2Fdownload%2F%40flex-development%2Fexport-regex%2F2.0.0%2F22870ef7f49a1df166fc3acd506d1c62ed4b22a5" - checksum: 9a0aeaa4a5323745a74695e2e11831d2e5341dcfc6b5dedebcfd569afd1bcb91003ff52bc8abd9750748a146963aec2c5af0c26decb2ecbb9e3b4fc57a137336 + checksum: 10/9a0aeaa4a5323745a74695e2e11831d2e5341dcfc6b5dedebcfd569afd1bcb91003ff52bc8abd9750748a146963aec2c5af0c26decb2ecbb9e3b4fc57a137336 languageName: node linkType: hard @@ -1106,21 +1327,79 @@ __metadata: "@flex-development/errnode": "npm:2.0.0" "@flex-development/pathe": "npm:2.0.0" "@flex-development/tutils": "npm:6.0.0-alpha.14" - checksum: e4748c983a94608d089b9dea2026c4a086b12fb3d3cef6ca9b6f62252ea2904a089897cd7a64ce3e78ff56fadaa348638d44ad6c4e597115f10bec5120d1b6d2 + checksum: 10/e4748c983a94608d089b9dea2026c4a086b12fb3d3cef6ca9b6f62252ea2904a089897cd7a64ce3e78ff56fadaa348638d44ad6c4e597115f10bec5120d1b6d2 + languageName: node + linkType: hard + +"@flex-development/fst-util-from-fs@npm:1.0.0-alpha.1": + version: 1.0.0-alpha.1 + resolution: "@flex-development/fst-util-from-fs@npm:1.0.0-alpha.1::__archiveUrl=https%3A%2F%2Fnpm.pkg.github.com%2Fdownload%2F%40flex-development%2Ffst-util-from-fs%2F1.0.0-alpha.1%2F5c60383168bb114fb8629764befa9c386b253c34" + dependencies: + "@flex-development/errnode": "npm:3.1.1" + "@flex-development/fst": "npm:1.0.0" + "@flex-development/pathe": "npm:4.0.1" + "@flex-development/unist-util-builder": "npm:2.0.0" + "@flex-development/unist-util-types": "npm:1.6.1" + devlop: "npm:1.1.0" + checksum: 10/3ad76edc99dab6c2d0764e934fb42513dab828482ea016353b25bacf14a33d3c4c7ab8240970408aed81bf31c72c41fe10588e8f653a228b7ead1df12d68f342 + languageName: node + linkType: hard + +"@flex-development/fst@npm:1.0.0": + version: 1.0.0 + resolution: "@flex-development/fst@npm:1.0.0::__archiveUrl=https%3A%2F%2Fnpm.pkg.github.com%2Fdownload%2F%40flex-development%2Ffst%2F1.0.0%2F07467730b23f6a4ac4fc0fa9e3b5ae4aa94f365f" + dependencies: + "@flex-development/unist-util-types": "npm:1.6.1" + "@types/unist": "npm:3.0.3" + checksum: 10/84423d56e50065208d854eea323993c1f80a22d01a2b2da90fd599581a5088b8efa8e0d44106238fb9f5ddcb909ad7ae5a5ed2570232e53a7b93873c6aae2a9b + languageName: node + linkType: hard + +"@flex-development/grease@npm:3.0.0-alpha.9": + version: 3.0.0-alpha.9 + resolution: "@flex-development/grease@npm:3.0.0-alpha.9::__archiveUrl=https%3A%2F%2Fnpm.pkg.github.com%2Fdownload%2F%40flex-development%2Fgrease%2F3.0.0-alpha.9%2Fc51045c420be8ba7eae41952bf9f721cfd6429cb" + dependencies: + "@flex-development/aggregate-error-ponyfill": "npm:3.1.1" + "@flex-development/commitlint-config": "npm:1.0.1" + "@flex-development/errnode": "npm:2.0.0" + "@flex-development/mkbuild": "npm:1.0.0-alpha.23" + "@flex-development/mlly": "npm:1.0.0-alpha.18" + "@flex-development/pathe": "npm:2.0.0" + "@flex-development/pkg-types": "npm:3.0.0" + "@flex-development/tutils": "npm:6.0.0-alpha.25" + "@nestjs/common": "npm:10.2.7" + "@nestjs/cqrs": "npm:10.2.6" + "@types/node": "npm:20.8.6" + "@types/semver": "npm:7.5.0" + class-validator: "npm:0.14.0" + esbuild: "npm:0.19.5" + fast-glob: "npm:3.3.1" + is-unicode-supported: "npm:2.0.0" + json5: "npm:2.2.3" + node-emoji: "npm:2.1.0" + reflect-metadata: "npm:0.1.13" + rxjs: "npm:7.8.1" + semver: "npm:7.5.4" + string-width: "npm:7.0.0" + tinyrainbow: "npm:1.1.1" + word-wrap: "npm:1.2.5" + bin: + grease: dist/cli.mjs + checksum: 10/24475dae8e003094b5a32c8082d5284c66b44781d82741e9c6e83eafd191a124be41f52256cf55d9305b77b46c111a63b903a5e4892dd35faa99a109a73b1060 languageName: node linkType: hard "@flex-development/import-regex@npm:2.0.3": version: 2.0.3 resolution: "@flex-development/import-regex@npm:2.0.3::__archiveUrl=https%3A%2F%2Fnpm.pkg.github.com%2Fdownload%2F%40flex-development%2Fimport-regex%2F2.0.3%2Fc6f01b00c68004a7d39a562b87e52b4c35db4d49" - checksum: 68e7099b85cc4a124a569979ef4ff288c3c2a41f19b635de49b2ac87ddfb72a2de8fe16895c7a09ee1418fb2809abfce34d578bc37f14e68ad2ade241ac1aad0 + checksum: 10/68e7099b85cc4a124a569979ef4ff288c3c2a41f19b635de49b2ac87ddfb72a2de8fe16895c7a09ee1418fb2809abfce34d578bc37f14e68ad2ade241ac1aad0 languageName: node linkType: hard "@flex-development/import-regex@npm:3.0.0": version: 3.0.0 resolution: "@flex-development/import-regex@npm:3.0.0::__archiveUrl=https%3A%2F%2Fnpm.pkg.github.com%2Fdownload%2F%40flex-development%2Fimport-regex%2F3.0.0%2F7ebf5b55cd40a85b83155f8877507fc965e92fbf" - checksum: 33d12f260b64653421a00d1be1dbbcf593951bd01a3e88bb550e0fe2f77437ad7e1082dda9dce8b9a35b5d28c67b16619c00687cc29b27dcb2dffa0427ec3303 + checksum: 10/33d12f260b64653421a00d1be1dbbcf593951bd01a3e88bb550e0fe2f77437ad7e1082dda9dce8b9a35b5d28c67b16619c00687cc29b27dcb2dffa0427ec3303 languageName: node linkType: hard @@ -1131,7 +1410,7 @@ __metadata: "@flex-development/builtin-modules": "npm:1.0.0" peerDependencies: "@types/node": ">=14.18.36" - checksum: 2141e4a1c1ea080517d01374aff3b6db8abede096c2af2c5ef661d6a0dc1e4d6f2d1c58bcefca936bf3708fd67ce8f64f59240d02b31e3042513c07ffce7b84b + checksum: 10/2141e4a1c1ea080517d01374aff3b6db8abede096c2af2c5ef661d6a0dc1e4d6f2d1c58bcefca936bf3708fd67ce8f64f59240d02b31e3042513c07ffce7b84b languageName: node linkType: hard @@ -1144,117 +1423,215 @@ __metadata: "@flex-development/tutils": "npm:6.0.0-alpha.12" peerDependencies: "@types/node": ">=16.18.23" - checksum: 0705a8176aa44697404d77b0225e5c6026e9b575bdab479c499e2ccd3a1fd4601693da0cafa79b7548899e811360e2b92303e95f68269ec45e558eba8b9dbd4d + checksum: 10/0705a8176aa44697404d77b0225e5c6026e9b575bdab479c499e2ccd3a1fd4601693da0cafa79b7548899e811360e2b92303e95f68269ec45e558eba8b9dbd4d languageName: node linkType: hard -"@flex-development/mkbuild@workspace:.": - version: 0.0.0-use.local - resolution: "@flex-development/mkbuild@workspace:." +"@flex-development/is-builtin@npm:3.2.0": + version: 3.2.0 + resolution: "@flex-development/is-builtin@npm:3.2.0::__archiveUrl=https%3A%2F%2Fnpm.pkg.github.com%2Fdownload%2F%40flex-development%2Fis-builtin%2F3.2.0%2F555baad0f0c1a9b329b3b6e5aaa763490d2394ae" + dependencies: + "@flex-development/builtin-modules": "npm:2.1.2" + checksum: 10/3f52c5bd289b9518720b31d50458f1f9416523e502969f659174d8054b208b17a38d88e5d2e51402f56ca07c4f7d63e786745f6ced558a8f478a55ca0e97d67a + languageName: node + linkType: hard + +"@flex-development/mkbuild@npm:1.0.0-alpha.23": + version: 1.0.0-alpha.23 + resolution: "@flex-development/mkbuild@npm:1.0.0-alpha.23::__archiveUrl=https%3A%2F%2Fnpm.pkg.github.com%2Fdownload%2F%40flex-development%2Fmkbuild%2F1.0.0-alpha.23%2F01fc88d62df2030b9fcc7a780061d20542e086a9" dependencies: - "@arethetypeswrong/cli": "npm:0.12.2" - "@commitlint/cli": "npm:17.8.0" - "@commitlint/types": "npm:17.4.4" - "@faker-js/faker": "npm:8.2.0" - "@flex-development/commitlint-config": "npm:1.0.1" "@flex-development/decorator-regex": "npm:2.0.0" "@flex-development/errnode": "npm:2.0.0" - "@flex-development/esm-types": "npm:2.0.0" "@flex-development/ext-regex": "npm:2.0.0" "@flex-development/mlly": "npm:1.0.0-alpha.18" - "@flex-development/nest-commander": "npm:1.0.0-alpha.1" "@flex-development/pathe": "npm:2.0.0" "@flex-development/pkg-types": "npm:3.0.0" "@flex-development/toggle-pkg-type": "npm:2.0.1" "@flex-development/tsconfig-utils": "npm:2.0.2" "@flex-development/tutils": "npm:6.0.0-alpha.22" - "@nestjs/common": "npm:10.2.7" - "@nestjs/core": "npm:10.2.7" - "@nestjs/testing": "npm:10.2.7" - "@swc/core": "npm:1.3.93" - "@types/chai": "npm:4.3.5" - "@types/chai-fs": "npm:2.0.2" - "@types/chai-string": "npm:1.4.2" - "@types/dateformat": "npm:5.0.0" - "@types/eslint": "npm:8.44.2" - "@types/is-ci": "npm:3.0.0" - "@types/node": "npm:20.6.0" - "@types/node-notifier": "npm:8.0.2" - "@types/semver": "npm:7.5.0" - "@typescript-eslint/eslint-plugin": "npm:6.8.0" - "@typescript-eslint/parser": "npm:6.8.0" - "@vates/toggle-scripts": "npm:1.0.0" - "@vitest/coverage-v8": "npm:0.34.6" - "@vitest/expect": "npm:0.34.6" - chai: "npm:5.0.0-alpha.1" - chai-each: "npm:0.0.1" - chai-fs: "npm:2.0.0" - chai-quantifiers: "npm:1.0.17" - chai-string: "npm:1.5.0" - class-validator: "npm:0.14.0" consola: "npm:3.2.3" - conventional-recommended-bump: "npm:9.0.0" - cosmiconfig: "npm:8.3.6" - cross-env: "npm:7.0.3" - cspell: "npm:7.3.8" - dateformat: "npm:5.0.3" - dprint: "npm:0.41.0" - editorconfig: "npm:2.0.0" - esbuild: "npm:0.19.5" - eslint: "npm:8.51.0" - eslint-import-resolver-typescript: "npm:3.6.1" - eslint-plugin-chai-expect: "npm:3.0.0" - eslint-plugin-import: "npm:2.28.1" - eslint-plugin-jest-formatting: "npm:3.1.0" - eslint-plugin-jsdoc: "npm:44.1.0" - eslint-plugin-jsonc: "npm:2.10.0" - eslint-plugin-markdown: "npm:3.0.1" - eslint-plugin-markdownlint: "npm:0.5.0" - eslint-plugin-node: "npm:11.1.0" - eslint-plugin-promise: "npm:6.1.1" - eslint-plugin-unicorn: "npm:48.0.1" - eslint-plugin-yml: "npm:1.10.0" + cosmiconfig: "npm:8.2.0" exit-hook: "npm:3.2.0" fast-glob: "npm:3.3.1" - growl: "npm:1.10.5" - husky: "npm:8.0.3" - is-ci: "npm:3.0.1" - jsonc-eslint-parser: "npm:2.3.0" - lint-staged: "npm:15.0.1" - lodash-es: "npm:4.17.21" - memfs: "npm:4.6.0" - node-emoji: "npm:2.1.0" - node-notifier: "npm:10.0.1" - pkg-size: "npm:2.4.0" - prettier: "npm:3.0.3" pretty-bytes: "npm:6.1.1" - pretty-format: "npm:29.7.0" - reflect-metadata: "npm:0.1.13" - rxjs: "npm:7.8.1" - semver: "npm:7.5.4" - sh-syntax: "npm:0.4.1" tinyrainbow: "npm:1.1.1" - trash-cli: "npm:5.0.0" - ts-dedent: "npm:2.2.0" - typescript: "npm:5.2.2" - version-bump-prompt: "npm:6.1.0" - vite: "npm:5.0.0-beta.10" - vite-tsconfig-paths: "npm:4.2.1" - vitest: "npm:0.34.6" - yaml-eslint-parser: "npm:1.2.2" peerDependencies: "@types/node": ">=16.18.23" esbuild: ">=0.19.0" typescript: ">=5.0.4" - peerDependenciesMeta: - "@types/node": - optional: true - typescript: - optional: true bin: - mkbuild: ./dist/cli.mjs - languageName: unknown - linkType: soft + mkbuild: dist/cli.mjs + checksum: 10/d756447ea76a39893a3420d2d8d2dc33e38a965865ef24e763b61233e5009d88eb6b63cc6895d02cf7ac1feca1dbaee8506df63d1447f22387d3f5ecff9de41e + languageName: node + linkType: hard + +"@flex-development/mkbuild@workspace:.": + version: 0.0.0-use.local + resolution: "@flex-development/mkbuild@workspace:." + dependencies: + "@arethetypeswrong/cli": "npm:0.17.3" + "@commitlint/cli": "npm:19.6.1" + "@commitlint/types": "npm:19.5.0" + "@eslint/js": "npm:9.18.0" + "@faker-js/faker": "npm:9.4.0" + "@flex-development/commitlint-config": "npm:1.0.1" + "@flex-development/errnode": "npm:3.1.1" + "@flex-development/fst": "npm:1.0.0" + "@flex-development/fst-util-from-fs": "npm:1.0.0-alpha.1" + "@flex-development/grease": "npm:3.0.0-alpha.9" + "@flex-development/is-builtin": "npm:3.2.0" + "@flex-development/mlly": "npm:1.0.0-alpha.20" + "@flex-development/nest-commander": "npm:1.0.0-alpha.1" + "@flex-development/pathe": "npm:4.0.1" + "@flex-development/pkg-types": "npm:4.1.0" + "@flex-development/tsconfig-types": "npm:5.1.0" + "@flex-development/tsconfig-utils": "flex-development/tsconfig-utils#commit=b562e6ef751afe112c799b529dbefaa19e6d7d7f" + "@flex-development/tutils": "npm:6.0.0-alpha.25" + "@flex-development/unist-util-inspect": "npm:1.0.1" + "@flex-development/unist-util-types": "npm:1.6.1" + "@flex-development/vfile-location": "npm:1.1.0" + "@rollup/pluginutils": "npm:5.1.4" + "@stylistic/eslint-plugin": "npm:2.10.0" + "@tsconfig/strictest": "npm:2.0.5" + "@types/chai": "npm:5.0.1" + "@types/chai-string": "npm:1.4.5" + "@types/envinfo": "npm:7.8.4" + "@types/eslint": "npm:9.6.1" + "@types/eslint__js": "npm:8.42.3" + "@types/is-ci": "npm:3.0.4" + "@types/node": "npm:22.10.7" + "@types/node-notifier": "npm:8.0.5" + "@types/rollup": "npm:0.54.0" + "@typescript-eslint/eslint-plugin": "npm:8.21.1-alpha.2" + "@typescript-eslint/parser": "npm:8.21.1-alpha.2" + "@vates/toggle-scripts": "npm:1.0.0" + "@vitest/coverage-v8": "npm:3.0.3" + "@vitest/ui": "npm:3.0.3" + chai: "npm:5.1.2" + chai-string: "npm:1.5.0" + class-validator: "npm:0.14.1" + cross-env: "npm:7.0.3" + cspell: "npm:8.17.2" + devlop: "npm:1.1.0" + dprint: "npm:0.48.0" + editorconfig: "npm:2.0.0" + envinfo: "npm:7.14.0" + esbuild: "npm:0.24.2" + eslint: "npm:9.18.0" + eslint-import-resolver-typescript: "npm:3.7.0" + eslint-mdx: "npm:3.1.5" + eslint-plugin-chai-expect: "npm:3.1.0" + eslint-plugin-import: "npm:2.31.0" + eslint-plugin-jest-formatting: "npm:3.1.0" + eslint-plugin-jsdoc: "npm:50.6.2" + eslint-plugin-jsonc: "npm:2.18.2" + eslint-plugin-mdx: "npm:3.1.5" + eslint-plugin-n: "npm:17.15.1" + eslint-plugin-promise: "npm:7.2.1" + eslint-plugin-unicorn: "npm:56.0.1" + eslint-plugin-yml: "npm:1.16.0" + globals: "npm:15.14.0" + growl: "npm:1.10.5" + husky: "npm:9.1.7" + is-ci: "npm:4.1.0" + json5: "npm:2.2.3" + jsonc-eslint-parser: "npm:2.4.0" + magic-string: "npm:0.30.17" + node-notifier: "npm:10.0.1" + prettier: "npm:3.4.2" + remark: "npm:15.0.1" + remark-cli: "npm:12.0.1" + remark-directive: "npm:3.0.0" + remark-frontmatter: "npm:5.0.0" + remark-gfm: "npm:4.0.0" + remark-lint: "npm:10.0.0" + remark-lint-blockquote-indentation: "npm:4.0.0" + remark-lint-checkbox-character-style: "npm:5.0.0" + remark-lint-checkbox-content-indent: "npm:5.0.0" + remark-lint-code-block-style: "npm:4.0.0" + remark-lint-definition-case: "npm:4.0.0" + remark-lint-definition-spacing: "npm:4.0.0" + remark-lint-emphasis-marker: "npm:4.0.0" + remark-lint-fenced-code-flag: "npm:4.0.0" + remark-lint-fenced-code-marker: "npm:4.0.0" + remark-lint-file-extension: "npm:3.0.0" + remark-lint-final-definition: "npm:4.0.1" + remark-lint-final-newline: "npm:3.0.0" + remark-lint-first-heading-level: "npm:4.0.0" + remark-lint-hard-break-spaces: "npm:4.0.0" + remark-lint-heading-increment: "npm:4.0.0" + remark-lint-heading-style: "npm:4.0.0" + remark-lint-linebreak-style: "npm:4.0.0" + remark-lint-link-title-style: "npm:4.0.0" + remark-lint-list-item-bullet-indent: "npm:5.0.0" + remark-lint-list-item-content-indent: "npm:4.0.0" + remark-lint-list-item-indent: "npm:4.0.0" + remark-lint-list-item-spacing: "npm:5.0.0" + remark-lint-maximum-heading-length: "npm:4.0.0" + remark-lint-maximum-line-length: "npm:4.0.1" + remark-lint-no-blockquote-without-marker: "npm:6.0.0" + remark-lint-no-consecutive-blank-lines: "npm:5.0.0" + remark-lint-no-duplicate-defined-urls: "npm:3.0.0" + remark-lint-no-duplicate-definitions: "npm:4.0.0" + remark-lint-no-duplicate-headings-in-section: "npm:4.0.0" + remark-lint-no-emphasis-as-heading: "npm:4.0.0" + remark-lint-no-empty-url: "npm:4.0.0" + remark-lint-no-file-name-articles: "npm:3.0.0" + remark-lint-no-file-name-consecutive-dashes: "npm:3.0.0" + remark-lint-no-file-name-irregular-characters: "npm:3.0.0" + remark-lint-no-file-name-mixed-case: "npm:3.0.0" + remark-lint-no-file-name-outer-dashes: "npm:3.0.0" + remark-lint-no-heading-content-indent: "npm:5.0.0" + remark-lint-no-heading-indent: "npm:5.0.0" + remark-lint-no-heading-like-paragraph: "npm:4.0.0" + remark-lint-no-heading-punctuation: "npm:4.0.0" + remark-lint-no-literal-urls: "npm:4.0.0" + remark-lint-no-missing-blank-lines: "npm:4.0.0" + remark-lint-no-multiple-toplevel-headings: "npm:4.0.0" + remark-lint-no-paragraph-content-indent: "npm:5.0.0" + remark-lint-no-shell-dollars: "npm:4.0.0" + remark-lint-no-shortcut-reference-image: "npm:4.0.0" + remark-lint-no-shortcut-reference-link: "npm:4.0.0" + remark-lint-no-table-indentation: "npm:5.0.0" + remark-lint-no-tabs: "npm:4.0.0" + remark-lint-no-undefined-references: "npm:5.0.0" + remark-lint-no-unneeded-full-reference-image: "npm:4.0.0" + remark-lint-no-unneeded-full-reference-link: "npm:4.0.0" + remark-lint-no-unused-definitions: "npm:4.0.0" + remark-lint-no-url-trailing-slash: "npm:3.0.1" + remark-lint-ordered-list-marker-style: "npm:4.0.0" + remark-lint-ordered-list-marker-value: "npm:4.0.0" + remark-lint-rule-style: "npm:4.0.0" + remark-lint-strikethrough-marker: "npm:3.0.0" + remark-lint-strong-marker: "npm:4.0.0" + remark-lint-table-cell-padding: "npm:5.0.0" + remark-lint-table-pipe-alignment: "npm:4.0.0" + remark-lint-table-pipes: "npm:5.0.0" + remark-lint-unordered-list-marker-style: "npm:4.0.0" + remark-validate-links: "npm:13.0.2" + rollup: "npm:4.31.0" + sh-syntax: "npm:0.4.2" + smob: "npm:1.5.0" + trash-cli: "npm:6.0.0" + ts-dedent: "npm:2.2.0" + typescript: "npm:5.7.3" + typescript-eslint: "npm:8.21.1-alpha.2" + unified: "npm:11.0.5" + vfile: "npm:6.0.3" + vitest: "npm:3.0.3" + yaml-eslint-parser: "npm:1.2.3" + peerDependencies: + esbuild: ">=0.24.0" + typescript: ">=5.2.2" + peerDependenciesMeta: + esbuild: + optional: true + typescript: + optional: true + bin: + mkbuild: ./dist/cli.mjs + languageName: unknown + linkType: soft "@flex-development/mlly@npm:1.0.0-alpha.15": version: 1.0.0-alpha.15 @@ -1270,7 +1647,7 @@ __metadata: peerDependencies: "@types/node": ">=14.17.0" node-fetch: ">=3.3.0" - checksum: 889c156c9c20b1e6769529c812331e14e2081aa1234da00efe1bbbaa5fdec078f8c6400376d8b37af663a838df2b969c62516b488854a5928e0fd75561041a2b + checksum: 10/889c156c9c20b1e6769529c812331e14e2081aa1234da00efe1bbbaa5fdec078f8c6400376d8b37af663a838df2b969c62516b488854a5928e0fd75561041a2b languageName: node linkType: hard @@ -1288,7 +1665,20 @@ __metadata: peerDependencies: "@types/node": ">=16.18.23" node-fetch: ">=3.3.0" - checksum: 9e5c2f9b8be23e90bc2120a648208f30127602346bdbce5a130710eb8516df954debe4fea7c727f81f9837cb0ca1f778ae4e3174278e22065be2792356c79b7e + checksum: 10/9e5c2f9b8be23e90bc2120a648208f30127602346bdbce5a130710eb8516df954debe4fea7c727f81f9837cb0ca1f778ae4e3174278e22065be2792356c79b7e + languageName: node + linkType: hard + +"@flex-development/mlly@npm:1.0.0-alpha.20": + version: 1.0.0-alpha.20 + resolution: "@flex-development/mlly@npm:1.0.0-alpha.20::__archiveUrl=https%3A%2F%2Fnpm.pkg.github.com%2Fdownload%2F%40flex-development%2Fmlly%2F1.0.0-alpha.20%2F15fca71d9818a3c28b519a77f5209307b64d02d6" + dependencies: + "@flex-development/errnode": "npm:3.1.1" + "@flex-development/is-builtin": "npm:3.2.0" + "@flex-development/pathe": "npm:4.0.1" + "@flex-development/pkg-types": "npm:4.1.0" + devlop: "npm:1.1.0" + checksum: 10/5593d2e89c049218b68c5b0c29e0f3f33120cafd1641f9a71f4206a01bf18d67e33819745b8a1fa6d36166397cea6e1655c6f032f8cbb679976aa776eff2b6e1 languageName: node linkType: hard @@ -1304,7 +1694,7 @@ __metadata: "@nestjs/common": ">=10.0.0" "@nestjs/core": ">=10.0.0" "@nestjs/testing": ">=10.0.0" - checksum: deac8347736a74b4b96e65d215ecabf9b2aa206e677d284d0a3990884dd061be2d8442e3314fec01062c1b399908c7889ba64998139ca9dea0f373feb96e732d + checksum: 10/deac8347736a74b4b96e65d215ecabf9b2aa206e677d284d0a3990884dd061be2d8442e3314fec01062c1b399908c7889ba64998139ca9dea0f373feb96e732d languageName: node linkType: hard @@ -1314,7 +1704,7 @@ __metadata: dependencies: "@flex-development/errnode": "npm:1.2.0" "@flex-development/tutils": "npm:6.0.0-alpha.7" - checksum: 781ca73202dfbeceeb01494772fbd1377f30a83da3abeb87ef4e74634b41dab019c297d447fcd4891c1c979c0d3937ece3e3da17064f85d34c6eddd98dc04e53 + checksum: 10/781ca73202dfbeceeb01494772fbd1377f30a83da3abeb87ef4e74634b41dab019c297d447fcd4891c1c979c0d3937ece3e3da17064f85d34c6eddd98dc04e53 languageName: node linkType: hard @@ -1324,7 +1714,19 @@ __metadata: dependencies: "@flex-development/errnode": "npm:2.0.0" "@flex-development/tutils": "npm:6.0.0-alpha.12" - checksum: c331a5469b96c0941e21ed4506e849b6c17a9eef18f3b31f4aa12c28c8155402e9b11dfa9de8a84745cbbea8263ac66b19a617d2a087cf7a546cdf22b4f0aebd + checksum: 10/c331a5469b96c0941e21ed4506e849b6c17a9eef18f3b31f4aa12c28c8155402e9b11dfa9de8a84745cbbea8263ac66b19a617d2a087cf7a546cdf22b4f0aebd + languageName: node + linkType: hard + +"@flex-development/pathe@npm:4.0.1": + version: 4.0.1 + resolution: "@flex-development/pathe@npm:4.0.1::__archiveUrl=https%3A%2F%2Fnpm.pkg.github.com%2Fdownload%2F%40flex-development%2Fpathe%2F4.0.1%2F4d48670922460d504e2c70cf42da77895ee25c46" + dependencies: + "@flex-development/errnode": "npm:3.1.1" + "@types/micromatch": "npm:4.0.9" + micromatch: "npm:4.0.8" + punycode.js: "npm:2.3.1" + checksum: 10/808e0f66154e70a7eff601268aeac8e7c503a5f3d30477bd06fcbfdb0f39d8f76de352dd031b0aae3af0011751c954be27ea2b38bb81b998168778183d974ef7 languageName: node linkType: hard @@ -1333,7 +1735,7 @@ __metadata: resolution: "@flex-development/pkg-types@npm:2.0.0::__archiveUrl=https%3A%2F%2Fnpm.pkg.github.com%2Fdownload%2F%40flex-development%2Fpkg-types%2F2.0.0%2F58267203fea93d31234e31d65e2058ed566b209a" peerDependencies: "@flex-development/tutils": ">=6.0.0-alpha.7" - checksum: 40ecacdce49666c8655a287f2082bd59ec0fb2ed1643cc13a9506323ca474b29213bb09ad839f1589ecc32ee83ce3450d45daaedf71b1cbd6299788420bd9524 + checksum: 10/40ecacdce49666c8655a287f2082bd59ec0fb2ed1643cc13a9506323ca474b29213bb09ad839f1589ecc32ee83ce3450d45daaedf71b1cbd6299788420bd9524 languageName: node linkType: hard @@ -1342,7 +1744,14 @@ __metadata: resolution: "@flex-development/pkg-types@npm:3.0.0::__archiveUrl=https%3A%2F%2Fnpm.pkg.github.com%2Fdownload%2F%40flex-development%2Fpkg-types%2F3.0.0%2F968008bed3a097659613707916700779e4a204f1" peerDependencies: "@flex-development/tutils": ">=6.0.0-alpha.7" - checksum: 062f48ff66312b63d55f175f766fab81a56dd394b11631ef516c24a3faf4da2ec62b0aeb1bb686044d072a1a7c0158766b4ff4fceae4d1a02286bf0ce4c4731c + checksum: 10/062f48ff66312b63d55f175f766fab81a56dd394b11631ef516c24a3faf4da2ec62b0aeb1bb686044d072a1a7c0158766b4ff4fceae4d1a02286bf0ce4c4731c + languageName: node + linkType: hard + +"@flex-development/pkg-types@npm:4.1.0": + version: 4.1.0 + resolution: "@flex-development/pkg-types@npm:4.1.0::__archiveUrl=https%3A%2F%2Fnpm.pkg.github.com%2Fdownload%2F%40flex-development%2Fpkg-types%2F4.1.0%2F2e1d878d4dc0e935d3ed08eaf3132e925ea5b721" + checksum: 10/9188a373fab25821a56c07d492520a40b72da2e9c90d878514616e619f7ed8ea6c461b85e41b15660d6e625eb7d68668566483c9c94dc49263a0deea9c7a481e languageName: node linkType: hard @@ -1355,7 +1764,7 @@ __metadata: "@flex-development/tutils": "npm:6.0.0-alpha.12" bin: toggle-pkg-type: dist/cli.mjs - checksum: 609ec6c0ce4b0f00e6b15ef6724e24d6de64fb7a16519c73c447b6e05d1dfe2fc9f02461b2ee646823a50125ca8143ced99202c2142f082e75b6dd8b201c9a49 + checksum: 10/609ec6c0ce4b0f00e6b15ef6724e24d6de64fb7a16519c73c447b6e05d1dfe2fc9f02461b2ee646823a50125ca8143ced99202c2142f082e75b6dd8b201c9a49 languageName: node linkType: hard @@ -1365,7 +1774,36 @@ __metadata: dependencies: "@flex-development/pkg-types": "npm:3.0.0" "@flex-development/tutils": "npm:6.0.0-alpha.12" - checksum: eff4173c28090eb42bd6b7b84209bd428f11c1763d2d809ad0323d362fb9d4208a5f34b6802431191ec227fe83c067bde05c5db95a3481227aa5aba74958b7e4 + checksum: 10/eff4173c28090eb42bd6b7b84209bd428f11c1763d2d809ad0323d362fb9d4208a5f34b6802431191ec227fe83c067bde05c5db95a3481227aa5aba74958b7e4 + languageName: node + linkType: hard + +"@flex-development/tsconfig-types@npm:5.1.0": + version: 5.1.0 + resolution: "@flex-development/tsconfig-types@npm:5.1.0::__archiveUrl=https%3A%2F%2Fnpm.pkg.github.com%2Fdownload%2F%40flex-development%2Ftsconfig-types%2F5.1.0%2Fad6aa5905f8122b27b70220f565743869c635af8" + dependencies: + "@flex-development/pkg-types": "npm:4.1.0" + checksum: 10/6e7a48645f1b4b172e20504c9b486f44c7805db07c0b91bca2d75cdcb6e97b74e2ec3c175aac98f890e6ac6a446787d253fde92998fb1f1b50fd70a6b62d7ca2 + languageName: node + linkType: hard + +"@flex-development/tsconfig-utils@flex-development/tsconfig-utils#commit=b562e6ef751afe112c799b529dbefaa19e6d7d7f": + version: 2.0.2 + resolution: "@flex-development/tsconfig-utils@https://github.com/flex-development/tsconfig-utils.git#commit=b562e6ef751afe112c799b529dbefaa19e6d7d7f" + dependencies: + "@flex-development/errnode": "npm:3.1.1" + "@flex-development/fst": "npm:1.0.0" + "@flex-development/fst-util-from-fs": "npm:1.0.0-alpha.1" + "@flex-development/mlly": "npm:1.0.0-alpha.20" + "@flex-development/pathe": "npm:4.0.1" + "@flex-development/pkg-types": "npm:4.1.0" + "@flex-development/tsconfig-types": "npm:5.1.0" + "@flex-development/tutils": "npm:6.0.0-alpha.25" + devlop: "npm:1.1.0" + json5: "npm:2.2.3" + strip-bom: "npm:5.0.0" + strip-json-comments: "npm:5.0.1" + checksum: 10/a25825fb0b5eb27a75c3b41a017d82b690a0d25263d4665d782e3a916f113ba3e30680846e6f0121a485aa77160514cfe7b35b57e5c29bd79b986e5a83e2b3d0 languageName: node linkType: hard @@ -1383,7 +1821,47 @@ __metadata: peerDependencies: "@types/node": ">=16.18.23" typescript: ">=4.7" - checksum: e1402bbfeec39de5581063d1427706e7071513aa44181f7c18d5374061a73ad8ade70c4b4eda88c3785afa08b7df57e1b3b625ccd99917548e2a47b3d4e56e1f + checksum: 10/e1402bbfeec39de5581063d1427706e7071513aa44181f7c18d5374061a73ad8ade70c4b4eda88c3785afa08b7df57e1b3b625ccd99917548e2a47b3d4e56e1f + languageName: node + linkType: hard + +"@flex-development/tutils@npm:6.0.0-alpha.10": + version: 6.0.0-alpha.10 + resolution: "@flex-development/tutils@npm:6.0.0-alpha.10::__archiveUrl=https%3A%2F%2Fnpm.pkg.github.com%2Fdownload%2F%40flex-development%2Ftutils%2F6.0.0-alpha.10%2Fb2085f42d62aedfabfae2ed016c0cc5c47192f81" + peerDependencies: + typescript: ">=4.7" + checksum: 10/2e1c7ff82974da361afbdfe763771c40371bf6fc6eb5dee38028452afcd39062161554315327e4922e7950cb78470b1e625f727967a1096a65ca5918be75e3b9 + languageName: node + linkType: hard + +"@flex-development/tutils@npm:6.0.0-alpha.12": + version: 6.0.0-alpha.12 + resolution: "@flex-development/tutils@npm:6.0.0-alpha.12::__archiveUrl=https%3A%2F%2Fnpm.pkg.github.com%2Fdownload%2F%40flex-development%2Ftutils%2F6.0.0-alpha.12%2F09e3edc5c0533b5a51a88aa87c8b13bf48aeceb9" + dependencies: + dequal: "npm:2.0.3" + peerDependencies: + typescript: ">=5.0.4" + checksum: 10/dd6659f9042cff4e406c7b4ab38d7929c512b9b994a98c222e63a219611cc6a79472490f9769390ae86f12004184250664639e199f8d3c90ce31300a801c895b + languageName: node + linkType: hard + +"@flex-development/tutils@npm:6.0.0-alpha.14": + version: 6.0.0-alpha.14 + resolution: "@flex-development/tutils@npm:6.0.0-alpha.14::__archiveUrl=https%3A%2F%2Fnpm.pkg.github.com%2Fdownload%2F%40flex-development%2Ftutils%2F6.0.0-alpha.14%2F3715445f311171fd0e8215a13ed8b9b66ea14b48" + dependencies: + dequal: "npm:2.0.3" + peerDependencies: + typescript: ">=5.0.4" + checksum: 10/109064df4afc18ef77aee53700d7a9d2dc1b2f81374740978d96607967479f180390d5fb7f9dd6798c98b20c39740a75dc2fc73dde727d6a1faaf46845f33e32 + languageName: node + linkType: hard + +"@flex-development/tutils@npm:6.0.0-alpha.21": + version: 6.0.0-alpha.21 + resolution: "@flex-development/tutils@npm:6.0.0-alpha.21::__archiveUrl=https%3A%2F%2Fnpm.pkg.github.com%2Fdownload%2F%40flex-development%2Ftutils%2F6.0.0-alpha.21%2F168361f3cb7d88a373da7f051abde0b4d512e349" + peerDependencies: + typescript: ">=5.0.4" + checksum: 10/410b8f3501a31aa16b4ebc44521b53aea23780fd3df87611522a0a3c73334eea9f21f6ea75a44e8450ec461cffbe1857b89b1dcfb27f84a2b8388089fd5a98ac languageName: node linkType: hard @@ -1392,7 +1870,75 @@ __metadata: resolution: "@flex-development/tutils@npm:6.0.0-alpha.22::__archiveUrl=https%3A%2F%2Fnpm.pkg.github.com%2Fdownload%2F%40flex-development%2Ftutils%2F6.0.0-alpha.22%2F22f766c2fbcdb4177f61acb9f10ce8abd66b9c01" peerDependencies: typescript: ">=5.0.4" - checksum: 9b8340958dc8b675446c3c6ae609daad11e0182863c1067b7cf3851b87c27c31176f3fbc6775c6ba752fbbb16c52c6bbc74d1344c87ee83e9e77b07fa4982265 + checksum: 10/9b8340958dc8b675446c3c6ae609daad11e0182863c1067b7cf3851b87c27c31176f3fbc6775c6ba752fbbb16c52c6bbc74d1344c87ee83e9e77b07fa4982265 + languageName: node + linkType: hard + +"@flex-development/tutils@npm:6.0.0-alpha.25": + version: 6.0.0-alpha.25 + resolution: "@flex-development/tutils@npm:6.0.0-alpha.25::__archiveUrl=https%3A%2F%2Fnpm.pkg.github.com%2Fdownload%2F%40flex-development%2Ftutils%2F6.0.0-alpha.25%2F514989f908c827de2c4f28c7709873fb8e3fd62a" + peerDependencies: + typescript: ">=5.0.4" + checksum: 10/9f33799b67bad1057ad7da30d7f7d02888ce06f73fd42c8f07ddfc2fe292af14acb4cc3a377edb25f029cbc45e2ded944c3d200a54b549330d869e24f18ec5ef + languageName: node + linkType: hard + +"@flex-development/tutils@npm:6.0.0-alpha.7": + version: 6.0.0-alpha.7 + resolution: "@flex-development/tutils@npm:6.0.0-alpha.7::__archiveUrl=https%3A%2F%2Fnpm.pkg.github.com%2Fdownload%2F%40flex-development%2Ftutils%2F6.0.0-alpha.7%2F786916dcfd30bf076b5ac74cb31ca4031f74e1f0" + peerDependencies: + typescript: ">=4.7" + checksum: 10/161901c611f0049464cc53e128b8285f12a9dc6ef551a8c8a4bd47d9e2d73afcc53c25fbcd18189dcda28a460ea64e8801398159b6daaaff63d0552d140f1f02 + languageName: node + linkType: hard + +"@flex-development/unist-util-builder@npm:2.0.0": + version: 2.0.0 + resolution: "@flex-development/unist-util-builder@npm:2.0.0::__archiveUrl=https%3A%2F%2Fnpm.pkg.github.com%2Fdownload%2F%40flex-development%2Funist-util-builder%2F2.0.0%2F2589c6774a811c50c2d08501dfcd1a5ed551c883" + dependencies: + "@flex-development/unist-util-types": "npm:1.6.1" + "@types/unist": "npm:3.0.2" + checksum: 10/58e6dc90395b636d7c02d5ab5966a8fbdaf0e9a01c8ff99398e98f8570b422b9c08492365968a85517d6d7991f095a11732a37f775a5af8773c2dda2f673de6d + languageName: node + linkType: hard + +"@flex-development/unist-util-inspect@npm:1.0.1": + version: 1.0.1 + resolution: "@flex-development/unist-util-inspect@npm:1.0.1::__archiveUrl=https%3A%2F%2Fnpm.pkg.github.com%2Fdownload%2F%40flex-development%2Funist-util-inspect%2F1.0.1%2F62e4316a7ec1359ea377db40bd063dc83808b75e" + dependencies: + "@flex-development/unist-util-stringify-position": "npm:1.0.1" + "@types/unist": "npm:3.0.2" + checksum: 10/9d4da80d5be62ead6afff50c07a2587c5bf5f51bb3432b38f74863a6b55d0e4c9e854b4f73f1a98746b2c9409e5cc76f40cfe85ba0c7eb634ba825f39eb536dc + languageName: node + linkType: hard + +"@flex-development/unist-util-stringify-position@npm:1.0.1": + version: 1.0.1 + resolution: "@flex-development/unist-util-stringify-position@npm:1.0.1::__archiveUrl=https%3A%2F%2Fnpm.pkg.github.com%2Fdownload%2F%40flex-development%2Funist-util-stringify-position%2F1.0.1%2F573c6a592094d914733e4491a7a68de42c196c8f" + dependencies: + "@flex-development/unist-util-types": "npm:1.6.1" + "@types/unist": "npm:3.0.2" + checksum: 10/86410dc2984ecfb60f2db63d114b1929b056acf09e38dc822aea6b6dbcf92ebfd6e52f59d2392e10d9b60579e65fd21c740061943ffbb56e82d896d78c9ed5a1 + languageName: node + linkType: hard + +"@flex-development/unist-util-types@npm:1.6.1": + version: 1.6.1 + resolution: "@flex-development/unist-util-types@npm:1.6.1::__archiveUrl=https%3A%2F%2Fnpm.pkg.github.com%2Fdownload%2F%40flex-development%2Funist-util-types%2F1.6.1%2F0deabf0a30d32dc9ae23aea394ef67b8f0b806b9" + dependencies: + "@types/unist": "npm:3.0.2" + checksum: 10/fd308bb9673987b588d54afc56821fefaad9233fecf8d76f352a055c339716979f3c2e1b2d145628ffa0d9ac033fbe28d942294a029d98b52334dd9703471f99 + languageName: node + linkType: hard + +"@flex-development/vfile-location@npm:1.1.0": + version: 1.1.0 + resolution: "@flex-development/vfile-location@npm:1.1.0::__archiveUrl=https%3A%2F%2Fnpm.pkg.github.com%2Fdownload%2F%40flex-development%2Fvfile-location%2F1.1.0%2F3cb3d9ff81e6a56c0e5e50048701f90db0eb80e0" + dependencies: + "@flex-development/unist-util-types": "npm:1.6.1" + "@types/unist": "npm:3.0.2" + vfile: "npm:6.0.2" + checksum: 10/3f217ede58e7f8855b412e7f25f78983a4c5e4256c1c3ab330efc7f8dbe0e30ca6983944950c1ac3b74081afba2d23688efef264c9e11bae796593ec85921c52 languageName: node linkType: hard @@ -1404,32 +1950,45 @@ __metadata: peerDependencies: "@nestjs/common": ^10.x "@nestjs/core": ^10.x - checksum: d74cd6075623ffb26c84f21ee4217db04fb79c4de09021896f675892c598efef7be1a841fa815eea6ec145251fd9222380399af6d395f521f7efd9da92dece88 + checksum: 10/d74cd6075623ffb26c84f21ee4217db04fb79c4de09021896f675892c598efef7be1a841fa815eea6ec145251fd9222380399af6d395f521f7efd9da92dece88 + languageName: node + linkType: hard + +"@humanfs/core@npm:^0.19.1": + version: 0.19.1 + resolution: "@humanfs/core@npm:0.19.1" + checksum: 10/270d936be483ab5921702623bc74ce394bf12abbf57d9145a69e8a0d1c87eb1c768bd2d93af16c5705041e257e6d9cc7529311f63a1349f3678abc776fc28523 languageName: node linkType: hard -"@humanwhocodes/config-array@npm:^0.11.11": - version: 0.11.11 - resolution: "@humanwhocodes/config-array@npm:0.11.11" +"@humanfs/node@npm:^0.16.6": + version: 0.16.6 + resolution: "@humanfs/node@npm:0.16.6" dependencies: - "@humanwhocodes/object-schema": "npm:^1.2.1" - debug: "npm:^4.1.1" - minimatch: "npm:^3.0.5" - checksum: 4aad64bc4c68ec99a72c91ad9a8a9070e8da47e8fc4f51eefa2eaf56f4b0cae17dfc3ff82eb9268298f687b5bb3b68669ff542203c77bcd400dc27924d56cad6 + "@humanfs/core": "npm:^0.19.1" + "@humanwhocodes/retry": "npm:^0.3.0" + checksum: 10/6d43c6727463772d05610aa05c83dab2bfbe78291022ee7a92cb50999910b8c720c76cc312822e2dea2b497aa1b3fef5fe9f68803fc45c9d4ed105874a65e339 languageName: node linkType: hard "@humanwhocodes/module-importer@npm:^1.0.1": version: 1.0.1 resolution: "@humanwhocodes/module-importer@npm:1.0.1" - checksum: e993950e346331e5a32eefb27948ecdee2a2c4ab3f072b8f566cd213ef485dd50a3ca497050608db91006f5479e43f91a439aef68d2a313bd3ded06909c7c5b3 + checksum: 10/e993950e346331e5a32eefb27948ecdee2a2c4ab3f072b8f566cd213ef485dd50a3ca497050608db91006f5479e43f91a439aef68d2a313bd3ded06909c7c5b3 languageName: node linkType: hard -"@humanwhocodes/object-schema@npm:^1.2.1": - version: 1.2.1 - resolution: "@humanwhocodes/object-schema@npm:1.2.1" - checksum: b48a8f87fcd5fdc4ac60a31a8bf710d19cc64556050575e6a35a4a48a8543cf8cde1598a65640ff2cdfbfd165b38f9db4fa3782bea7848eb585cc3db824002e6 +"@humanwhocodes/retry@npm:^0.3.0": + version: 0.3.1 + resolution: "@humanwhocodes/retry@npm:0.3.1" + checksum: 10/eb457f699529de7f07649679ec9e0353055eebe443c2efe71c6dd950258892475a038e13c6a8c5e13ed1fb538cdd0a8794faa96b24b6ffc4c87fb1fc9f70ad7f + languageName: node + linkType: hard + +"@humanwhocodes/retry@npm:^0.4.1": + version: 0.4.1 + resolution: "@humanwhocodes/retry@npm:0.4.1" + checksum: 10/39fafc7319e88f61befebd5e1b4f0136534ea6a9bd10d74366698187bd63544210ec5d79a87ed4d91297f1cc64c4c53d45fb0077a2abfdce212cf0d3862d5f04 languageName: node linkType: hard @@ -1443,112 +2002,63 @@ __metadata: strip-ansi-cjs: "npm:strip-ansi@^6.0.1" wrap-ansi: "npm:^8.1.0" wrap-ansi-cjs: "npm:wrap-ansi@^7.0.0" - checksum: e9ed5fd27c3aec1095e3a16e0c0cf148d1fee55a38665c35f7b3f86a9b5d00d042ddaabc98e8a1cb7463b9378c15f22a94eb35e99469c201453eb8375191f243 + checksum: 10/e9ed5fd27c3aec1095e3a16e0c0cf148d1fee55a38665c35f7b3f86a9b5d00d042ddaabc98e8a1cb7463b9378c15f22a94eb35e99469c201453eb8375191f243 languageName: node linkType: hard "@istanbuljs/schema@npm:^0.1.2": version: 0.1.3 resolution: "@istanbuljs/schema@npm:0.1.3" - checksum: a9b1e49acdf5efc2f5b2359f2df7f90c5c725f2656f16099e8b2cd3a000619ecca9fc48cf693ba789cf0fd989f6e0df6a22bc05574be4223ecdbb7997d04384b - languageName: node - linkType: hard - -"@jest/schemas@npm:^29.6.3": - version: 29.6.3 - resolution: "@jest/schemas@npm:29.6.3" - dependencies: - "@sinclair/typebox": "npm:^0.27.8" - checksum: 910040425f0fc93cd13e68c750b7885590b8839066dfa0cd78e7def07bbb708ad869381f725945d66f2284de5663bbecf63e8fdd856e2ae6e261ba30b1687e93 + checksum: 10/a9b1e49acdf5efc2f5b2359f2df7f90c5c725f2656f16099e8b2cd3a000619ecca9fc48cf693ba789cf0fd989f6e0df6a22bc05574be4223ecdbb7997d04384b languageName: node linkType: hard -"@jridgewell/gen-mapping@npm:^0.3.0": - version: 0.3.3 - resolution: "@jridgewell/gen-mapping@npm:0.3.3" +"@jridgewell/gen-mapping@npm:^0.3.5": + version: 0.3.5 + resolution: "@jridgewell/gen-mapping@npm:0.3.5" dependencies: - "@jridgewell/set-array": "npm:^1.0.1" + "@jridgewell/set-array": "npm:^1.2.1" "@jridgewell/sourcemap-codec": "npm:^1.4.10" - "@jridgewell/trace-mapping": "npm:^0.3.9" - checksum: 072ace159c39ab85944bdabe017c3de15c5e046a4a4a772045b00ff05e2ebdcfa3840b88ae27e897d473eb4d4845b37be3c78e28910c779f5aeeeae2fb7f0cc2 + "@jridgewell/trace-mapping": "npm:^0.3.24" + checksum: 10/81587b3c4dd8e6c60252122937cea0c637486311f4ed208b52b62aae2e7a87598f63ec330e6cd0984af494bfb16d3f0d60d3b21d7e5b4aedd2602ff3fe9d32e2 languageName: node linkType: hard -"@jridgewell/resolve-uri@npm:^3.0.3, @jridgewell/resolve-uri@npm:^3.1.0": +"@jridgewell/resolve-uri@npm:^3.1.0": version: 3.1.1 resolution: "@jridgewell/resolve-uri@npm:3.1.1" - checksum: 64d59df8ae1a4e74315eb1b61e012f1c7bc8aac47a3a1e683f6fe7008eab07bc512a742b7aa7c0405685d1421206de58c9c2e6adbfe23832f8bd69408ffc183e - languageName: node - linkType: hard - -"@jridgewell/set-array@npm:^1.0.1": - version: 1.1.2 - resolution: "@jridgewell/set-array@npm:1.1.2" - checksum: 69a84d5980385f396ff60a175f7177af0b8da4ddb81824cb7016a9ef914eee9806c72b6b65942003c63f7983d4f39a5c6c27185bbca88eb4690b62075602e28e + checksum: 10/64d59df8ae1a4e74315eb1b61e012f1c7bc8aac47a3a1e683f6fe7008eab07bc512a742b7aa7c0405685d1421206de58c9c2e6adbfe23832f8bd69408ffc183e languageName: node linkType: hard -"@jridgewell/sourcemap-codec@npm:^1.4.10, @jridgewell/sourcemap-codec@npm:^1.4.14, @jridgewell/sourcemap-codec@npm:^1.4.15": - version: 1.4.15 - resolution: "@jridgewell/sourcemap-codec@npm:1.4.15" - checksum: 89960ac087781b961ad918978975bcdf2051cd1741880469783c42de64239703eab9db5230d776d8e6a09d73bb5e4cb964e07d93ee6e2e7aea5a7d726e865c09 +"@jridgewell/set-array@npm:^1.2.1": + version: 1.2.1 + resolution: "@jridgewell/set-array@npm:1.2.1" + checksum: 10/832e513a85a588f8ed4f27d1279420d8547743cc37fcad5a5a76fc74bb895b013dfe614d0eed9cb860048e6546b798f8f2652020b4b2ba0561b05caa8c654b10 languageName: node linkType: hard -"@jridgewell/trace-mapping@npm:0.3.9": - version: 0.3.9 - resolution: "@jridgewell/trace-mapping@npm:0.3.9" - dependencies: - "@jridgewell/resolve-uri": "npm:^3.0.3" - "@jridgewell/sourcemap-codec": "npm:^1.4.10" - checksum: 83deafb8e7a5ca98993c2c6eeaa93c270f6f647a4c0dc00deb38c9cf9b2d3b7bf15e8839540155247ef034a052c0ec4466f980bf0c9e2ab63b97d16c0cedd3ff +"@jridgewell/sourcemap-codec@npm:^1.4.10, @jridgewell/sourcemap-codec@npm:^1.4.14, @jridgewell/sourcemap-codec@npm:^1.5.0": + version: 1.5.0 + resolution: "@jridgewell/sourcemap-codec@npm:1.5.0" + checksum: 10/4ed6123217569a1484419ac53f6ea0d9f3b57e5b57ab30d7c267bdb27792a27eb0e4b08e84a2680aa55cc2f2b411ffd6ec3db01c44fdc6dc43aca4b55f8374fd languageName: node linkType: hard -"@jridgewell/trace-mapping@npm:^0.3.12, @jridgewell/trace-mapping@npm:^0.3.9": - version: 0.3.19 - resolution: "@jridgewell/trace-mapping@npm:0.3.19" +"@jridgewell/trace-mapping@npm:^0.3.23, @jridgewell/trace-mapping@npm:^0.3.24": + version: 0.3.25 + resolution: "@jridgewell/trace-mapping@npm:0.3.25" dependencies: "@jridgewell/resolve-uri": "npm:^3.1.0" "@jridgewell/sourcemap-codec": "npm:^1.4.14" - checksum: 06a2a4e26e3cc369c41144fad7cbee29ba9ea6aca85acc565ec8f2110e298fdbf93986e17da815afae94539dcc03115cdbdbb575d3bea356e167da6987531e4d - languageName: node - linkType: hard - -"@jsdevtools/ez-spawn@npm:^3.0.4": - version: 3.0.4 - resolution: "@jsdevtools/ez-spawn@npm:3.0.4" - dependencies: - call-me-maybe: "npm:^1.0.1" - cross-spawn: "npm:^7.0.3" - string-argv: "npm:^0.3.1" - type-detect: "npm:^4.0.8" - checksum: 9899acd300980c1e02c063bee116d0b550f8a48e2d5e36484376fd7a9e7cc5888c234a1613a3629be7393f96013ef73fff03d974c3ab73191fc67c7257f7d36e - languageName: node - linkType: hard - -"@jsdevtools/version-bump-prompt@npm:6.1.0": - version: 6.1.0 - resolution: "@jsdevtools/version-bump-prompt@npm:6.1.0" - dependencies: - "@jsdevtools/ez-spawn": "npm:^3.0.4" - command-line-args: "npm:^5.1.1" - detect-indent: "npm:^6.0.0" - detect-newline: "npm:^3.1.0" - globby: "npm:^11.0.1" - inquirer: "npm:^7.3.3" - log-symbols: "npm:^4.0.0" - semver: "npm:^7.3.2" - bin: - bump: bin/bump.js - checksum: 26fb8269d1c04cac486d5e956d7a09463ca9ff81d0d731eca4c440d51c879715504698325b26a0a2aed7ce446f5432ca98d38b904b9028061441efbf1dc18dd2 + checksum: 10/dced32160a44b49d531b80a4a2159dceab6b3ddf0c8e95a0deae4b0e894b172defa63d5ac52a19c2068e1fe7d31ea4ba931fbeec103233ecb4208953967120fc languageName: node linkType: hard "@lukeed/csprng@npm:^1.0.0": version: 1.1.0 resolution: "@lukeed/csprng@npm:1.1.0" - checksum: 926f5f7fc629470ca9a8af355bfcd0271d34535f7be3890f69902432bddc3262029bb5dbe9025542cf6c9883d878692eef2815fc2f3ba5b92e9da1f9eba2e51b + checksum: 10/926f5f7fc629470ca9a8af355bfcd0271d34535f7be3890f69902432bddc3262029bb5dbe9025542cf6c9883d878692eef2815fc2f3ba5b92e9da1f9eba2e51b languageName: node linkType: hard @@ -1569,54 +2079,21 @@ __metadata: optional: true class-validator: optional: true - checksum: 0d1a1ddeeb97493eb71e49fa2db8f312b90434627e60e92f86fcd144100ec81901a0649bcd5558604455436ca60288405f2699825e57702b65d0057aa4f5ad4e - languageName: node - linkType: hard - -"@nestjs/core@npm:10.2.7": - version: 10.2.7 - resolution: "@nestjs/core@npm:10.2.7" - dependencies: - "@nuxtjs/opencollective": "npm:0.3.2" - fast-safe-stringify: "npm:2.1.1" - iterare: "npm:1.2.1" - path-to-regexp: "npm:3.2.0" - tslib: "npm:2.6.2" - uid: "npm:2.0.2" - peerDependencies: - "@nestjs/common": ^10.0.0 - "@nestjs/microservices": ^10.0.0 - "@nestjs/platform-express": ^10.0.0 - "@nestjs/websockets": ^10.0.0 - reflect-metadata: ^0.1.12 - rxjs: ^7.1.0 - peerDependenciesMeta: - "@nestjs/microservices": - optional: true - "@nestjs/platform-express": - optional: true - "@nestjs/websockets": - optional: true - checksum: 4e6a5096a7dc3c4e63e210f857eb1d103d53d48406728a7bfb7d097a343a60b3b200e761493133eab9475150a0d99c06b89bc7ae95346b15b23bb2630dea69a4 + checksum: 10/0d1a1ddeeb97493eb71e49fa2db8f312b90434627e60e92f86fcd144100ec81901a0649bcd5558604455436ca60288405f2699825e57702b65d0057aa4f5ad4e languageName: node linkType: hard -"@nestjs/testing@npm:10.2.7": - version: 10.2.7 - resolution: "@nestjs/testing@npm:10.2.7" +"@nestjs/cqrs@npm:10.2.6": + version: 10.2.6 + resolution: "@nestjs/cqrs@npm:10.2.6" dependencies: - tslib: "npm:2.6.2" + uuid: "npm:9.0.0" peerDependencies: - "@nestjs/common": ^10.0.0 - "@nestjs/core": ^10.0.0 - "@nestjs/microservices": ^10.0.0 - "@nestjs/platform-express": ^10.0.0 - peerDependenciesMeta: - "@nestjs/microservices": - optional: true - "@nestjs/platform-express": - optional: true - checksum: eb19d33f0f36d2dcb478dff4824b13c77af66612d9e8d4c93b5e19e7a875bc93cdf7715c5592ca8ba14246580d8f68423a0a4d65f0fd50b9f3185a822081efe5 + "@nestjs/common": ^9.0.0 || ^10.0.0 + "@nestjs/core": ^9.0.0 || ^10.0.0 + reflect-metadata: 0.1.13 + rxjs: ^7.2.0 + checksum: 10/4987d0e41113d7f9b1cec51fab9fa58e76eccea0cdc86d7f6af7e965835e6615acfe02f7391daecd9efd1215712017b427bb73a6d1dd7e4ecd7dd0118f383efc languageName: node linkType: hard @@ -1626,24 +2103,47 @@ __metadata: dependencies: "@nodelib/fs.stat": "npm:2.0.5" run-parallel: "npm:^1.1.9" - checksum: 6ab2a9b8a1d67b067922c36f259e3b3dfd6b97b219c540877a4944549a4d49ea5ceba5663905ab5289682f1f3c15ff441d02f0447f620a42e1cb5e1937174d4b + checksum: 10/6ab2a9b8a1d67b067922c36f259e3b3dfd6b97b219c540877a4944549a4d49ea5ceba5663905ab5289682f1f3c15ff441d02f0447f620a42e1cb5e1937174d4b languageName: node linkType: hard "@nodelib/fs.stat@npm:2.0.5, @nodelib/fs.stat@npm:^2.0.2": version: 2.0.5 resolution: "@nodelib/fs.stat@npm:2.0.5" - checksum: 012480b5ca9d97bff9261571dbbec7bbc6033f69cc92908bc1ecfad0792361a5a1994bc48674b9ef76419d056a03efadfce5a6cf6dbc0a36559571a7a483f6f0 + checksum: 10/012480b5ca9d97bff9261571dbbec7bbc6033f69cc92908bc1ecfad0792361a5a1994bc48674b9ef76419d056a03efadfce5a6cf6dbc0a36559571a7a483f6f0 languageName: node linkType: hard -"@nodelib/fs.walk@npm:^1.2.3, @nodelib/fs.walk@npm:^1.2.8": +"@nodelib/fs.walk@npm:^1.2.3": version: 1.2.8 resolution: "@nodelib/fs.walk@npm:1.2.8" dependencies: "@nodelib/fs.scandir": "npm:2.1.5" fastq: "npm:^1.6.0" - checksum: 40033e33e96e97d77fba5a238e4bba4487b8284678906a9f616b5579ddaf868a18874c0054a75402c9fbaaa033a25ceae093af58c9c30278e35c23c9479e79b0 + checksum: 10/40033e33e96e97d77fba5a238e4bba4487b8284678906a9f616b5579ddaf868a18874c0054a75402c9fbaaa033a25ceae093af58c9c30278e35c23c9479e79b0 + languageName: node + linkType: hard + +"@nolyfill/is-core-module@npm:1.0.39": + version: 1.0.39 + resolution: "@nolyfill/is-core-module@npm:1.0.39" + checksum: 10/0d6e098b871eca71d875651288e1f0fa770a63478b0b50479c99dc760c64175a56b5b04f58d5581bbcc6b552b8191ab415eada093d8df9597ab3423c8cac1815 + languageName: node + linkType: hard + +"@npmcli/config@npm:^8.0.0": + version: 8.3.4 + resolution: "@npmcli/config@npm:8.3.4" + dependencies: + "@npmcli/map-workspaces": "npm:^3.0.2" + "@npmcli/package-json": "npm:^5.1.1" + ci-info: "npm:^4.0.0" + ini: "npm:^4.1.2" + nopt: "npm:^7.2.1" + proc-log: "npm:^4.2.0" + semver: "npm:^7.3.5" + walk-up-path: "npm:^3.0.1" + checksum: 10/ffe9cc1792aeeb54285f9e9e13d8e91a6b8965ab4f314fac998b3cd4e16eab548b839429a4475d1dd74d59cd8c82f4dd864e31c8b4641449c7b03eddc1306948 languageName: node linkType: hard @@ -1652,139 +2152,265 @@ __metadata: resolution: "@npmcli/fs@npm:3.1.0" dependencies: semver: "npm:^7.3.5" - checksum: f3a7ab3a31de65e42aeb6ed03ed035ef123d2de7af4deb9d4a003d27acc8618b57d9fb9d259fe6c28ca538032a028f37337264388ba27d26d37fff7dde22476e + checksum: 10/f3a7ab3a31de65e42aeb6ed03ed035ef123d2de7af4deb9d4a003d27acc8618b57d9fb9d259fe6c28ca538032a028f37337264388ba27d26d37fff7dde22476e languageName: node linkType: hard -"@nuxtjs/opencollective@npm:0.3.2": - version: 0.3.2 - resolution: "@nuxtjs/opencollective@npm:0.3.2" +"@npmcli/git@npm:^5.0.0": + version: 5.0.8 + resolution: "@npmcli/git@npm:5.0.8" + dependencies: + "@npmcli/promise-spawn": "npm:^7.0.0" + ini: "npm:^4.1.3" + lru-cache: "npm:^10.0.1" + npm-pick-manifest: "npm:^9.0.0" + proc-log: "npm:^4.0.0" + promise-inflight: "npm:^1.0.1" + promise-retry: "npm:^2.0.1" + semver: "npm:^7.3.5" + which: "npm:^4.0.0" + checksum: 10/e6f94175fb9dde13d84849b29b32ffb4c4df968822cc85df2aebfca13bf8ca76f33b1d281911f5bcddc95bccba2f9e795669c736a38de4d9c76efb5047ffb4fb + languageName: node + linkType: hard + +"@npmcli/map-workspaces@npm:^3.0.2": + version: 3.0.6 + resolution: "@npmcli/map-workspaces@npm:3.0.6" dependencies: - chalk: "npm:^4.1.0" - consola: "npm:^2.15.0" - node-fetch: "npm:^2.6.1" - bin: - opencollective: bin/opencollective.js - checksum: 0512871f424a2eae41e9385671ac840f28e8508a209df68c363cc97e009b95a6fd4bdfa2a34c9df78a74fa36d7e171e28792cd11da0b2be28c20ee1806b3ea5e + "@npmcli/name-from-folder": "npm:^2.0.0" + glob: "npm:^10.2.2" + minimatch: "npm:^9.0.0" + read-package-json-fast: "npm:^3.0.0" + checksum: 10/b364b155991a4ff85db5ea5b9f809ab65936350fc36fe1e51d5ab8cd479bba57e69f02e17215c0e2126e383074c2987c268d8e589aacd26c9962e028f4da98f2 + languageName: node + linkType: hard + +"@npmcli/name-from-folder@npm:^2.0.0": + version: 2.0.0 + resolution: "@npmcli/name-from-folder@npm:2.0.0" + checksum: 10/75beb40373f916cfcf7327958b3ab920ab4e32d24217197927dd1c76a325c7645695011fce9cb2a8f93616f8b74946e84eebe3830303e11ed9d400dae623a99b + languageName: node + linkType: hard + +"@npmcli/package-json@npm:^5.1.1": + version: 5.2.0 + resolution: "@npmcli/package-json@npm:5.2.0" + dependencies: + "@npmcli/git": "npm:^5.0.0" + glob: "npm:^10.2.2" + hosted-git-info: "npm:^7.0.0" + json-parse-even-better-errors: "npm:^3.0.0" + normalize-package-data: "npm:^6.0.0" + proc-log: "npm:^4.0.0" + semver: "npm:^7.5.3" + checksum: 10/c3d2218877bfc005bca3b7a11f53825bf16a68811b8e8ed0c9b219cceb8e8e646d70efab8c5d6decbd8007f286076468b3f456dab4d41d648aff73a5f3a6fce2 + languageName: node + linkType: hard + +"@npmcli/promise-spawn@npm:^7.0.0": + version: 7.0.2 + resolution: "@npmcli/promise-spawn@npm:7.0.2" + dependencies: + which: "npm:^4.0.0" + checksum: 10/94cbbbeeb20342026c3b68fc8eb09e1600b7645d4e509f2588ef5ea7cff977eb01e628cc8e014595d04a6af4b4bc5c467c950a8135920f39f7c7b57fba43f4e9 languageName: node linkType: hard "@one-ini/wasm@npm:0.1.1": version: 0.1.1 resolution: "@one-ini/wasm@npm:0.1.1" - checksum: 673c11518dba2e582e42415cbefe928513616f3af25e12f6e4e6b1b98b52b3e6c14bc251a361654af63cd64f208f22a1f7556fa49da2bf7efcf28cb14f16f807 + checksum: 10/673c11518dba2e582e42415cbefe928513616f3af25e12f6e4e6b1b98b52b3e6c14bc251a361654af63cd64f208f22a1f7556fa49da2bf7efcf28cb14f16f807 languageName: node linkType: hard "@pkgjs/parseargs@npm:^0.11.0": version: 0.11.0 resolution: "@pkgjs/parseargs@npm:0.11.0" - checksum: 115e8ceeec6bc69dff2048b35c0ab4f8bbee12d8bb6c1f4af758604586d802b6e669dcb02dda61d078de42c2b4ddce41b3d9e726d7daa6b4b850f4adbf7333ff + checksum: 10/115e8ceeec6bc69dff2048b35c0ab4f8bbee12d8bb6c1f4af758604586d802b6e669dcb02dda61d078de42c2b4ddce41b3d9e726d7daa6b4b850f4adbf7333ff languageName: node linkType: hard -"@rollup/rollup-android-arm-eabi@npm:4.1.4": - version: 4.1.4 - resolution: "@rollup/rollup-android-arm-eabi@npm:4.1.4" +"@pkgr/core@npm:^0.1.0": + version: 0.1.1 + resolution: "@pkgr/core@npm:0.1.1" + checksum: 10/6f25fd2e3008f259c77207ac9915b02f1628420403b2630c92a07ff963129238c9262afc9e84344c7a23b5cc1f3965e2cd17e3798219f5fd78a63d144d3cceba + languageName: node + linkType: hard + +"@polka/url@npm:^1.0.0-next.24": + version: 1.0.0-next.25 + resolution: "@polka/url@npm:1.0.0-next.25" + checksum: 10/4ab1d7a37163139c0e7bfc9d1e3f6a2a0db91a78b9f0a21f571d6aec2cdaeaacced744d47886c117aa7579aa5694b303fe3e0bd1922bb9cb3ce6bf7c2dc09801 + languageName: node + linkType: hard + +"@rollup/pluginutils@npm:5.1.4": + version: 5.1.4 + resolution: "@rollup/pluginutils@npm:5.1.4" + dependencies: + "@types/estree": "npm:^1.0.0" + estree-walker: "npm:^2.0.2" + picomatch: "npm:^4.0.2" + peerDependencies: + rollup: ^1.20.0||^2.0.0||^3.0.0||^4.0.0 + peerDependenciesMeta: + rollup: + optional: true + checksum: 10/598f628988af25541a9a6c6ef154aaf350f8be3238884e500cc0e47138684071abe490563c953f9bda9e8b113ecb1f99c11abfb9dbaf4f72cdd62e257a673fa3 + languageName: node + linkType: hard + +"@rollup/rollup-android-arm-eabi@npm:4.31.0": + version: 4.31.0 + resolution: "@rollup/rollup-android-arm-eabi@npm:4.31.0" conditions: os=android & cpu=arm languageName: node linkType: hard -"@rollup/rollup-android-arm64@npm:4.1.4": - version: 4.1.4 - resolution: "@rollup/rollup-android-arm64@npm:4.1.4" +"@rollup/rollup-android-arm64@npm:4.31.0": + version: 4.31.0 + resolution: "@rollup/rollup-android-arm64@npm:4.31.0" conditions: os=android & cpu=arm64 languageName: node linkType: hard -"@rollup/rollup-darwin-arm64@npm:4.1.4": - version: 4.1.4 - resolution: "@rollup/rollup-darwin-arm64@npm:4.1.4" +"@rollup/rollup-darwin-arm64@npm:4.31.0": + version: 4.31.0 + resolution: "@rollup/rollup-darwin-arm64@npm:4.31.0" conditions: os=darwin & cpu=arm64 languageName: node linkType: hard -"@rollup/rollup-darwin-x64@npm:4.1.4": - version: 4.1.4 - resolution: "@rollup/rollup-darwin-x64@npm:4.1.4" +"@rollup/rollup-darwin-x64@npm:4.31.0": + version: 4.31.0 + resolution: "@rollup/rollup-darwin-x64@npm:4.31.0" conditions: os=darwin & cpu=x64 languageName: node linkType: hard -"@rollup/rollup-linux-arm-gnueabihf@npm:4.1.4": - version: 4.1.4 - resolution: "@rollup/rollup-linux-arm-gnueabihf@npm:4.1.4" - conditions: os=linux & cpu=arm +"@rollup/rollup-freebsd-arm64@npm:4.31.0": + version: 4.31.0 + resolution: "@rollup/rollup-freebsd-arm64@npm:4.31.0" + conditions: os=freebsd & cpu=arm64 languageName: node linkType: hard -"@rollup/rollup-linux-arm64-gnu@npm:4.1.4": - version: 4.1.4 - resolution: "@rollup/rollup-linux-arm64-gnu@npm:4.1.4" +"@rollup/rollup-freebsd-x64@npm:4.31.0": + version: 4.31.0 + resolution: "@rollup/rollup-freebsd-x64@npm:4.31.0" + conditions: os=freebsd & cpu=x64 + languageName: node + linkType: hard + +"@rollup/rollup-linux-arm-gnueabihf@npm:4.31.0": + version: 4.31.0 + resolution: "@rollup/rollup-linux-arm-gnueabihf@npm:4.31.0" + conditions: os=linux & cpu=arm & libc=glibc + languageName: node + linkType: hard + +"@rollup/rollup-linux-arm-musleabihf@npm:4.31.0": + version: 4.31.0 + resolution: "@rollup/rollup-linux-arm-musleabihf@npm:4.31.0" + conditions: os=linux & cpu=arm & libc=musl + languageName: node + linkType: hard + +"@rollup/rollup-linux-arm64-gnu@npm:4.31.0": + version: 4.31.0 + resolution: "@rollup/rollup-linux-arm64-gnu@npm:4.31.0" conditions: os=linux & cpu=arm64 & libc=glibc languageName: node linkType: hard -"@rollup/rollup-linux-arm64-musl@npm:4.1.4": - version: 4.1.4 - resolution: "@rollup/rollup-linux-arm64-musl@npm:4.1.4" +"@rollup/rollup-linux-arm64-musl@npm:4.31.0": + version: 4.31.0 + resolution: "@rollup/rollup-linux-arm64-musl@npm:4.31.0" conditions: os=linux & cpu=arm64 & libc=musl languageName: node linkType: hard -"@rollup/rollup-linux-x64-gnu@npm:4.1.4": - version: 4.1.4 - resolution: "@rollup/rollup-linux-x64-gnu@npm:4.1.4" +"@rollup/rollup-linux-loongarch64-gnu@npm:4.31.0": + version: 4.31.0 + resolution: "@rollup/rollup-linux-loongarch64-gnu@npm:4.31.0" + conditions: os=linux & cpu=loong64 & libc=glibc + languageName: node + linkType: hard + +"@rollup/rollup-linux-powerpc64le-gnu@npm:4.31.0": + version: 4.31.0 + resolution: "@rollup/rollup-linux-powerpc64le-gnu@npm:4.31.0" + conditions: os=linux & cpu=ppc64 & libc=glibc + languageName: node + linkType: hard + +"@rollup/rollup-linux-riscv64-gnu@npm:4.31.0": + version: 4.31.0 + resolution: "@rollup/rollup-linux-riscv64-gnu@npm:4.31.0" + conditions: os=linux & cpu=riscv64 & libc=glibc + languageName: node + linkType: hard + +"@rollup/rollup-linux-s390x-gnu@npm:4.31.0": + version: 4.31.0 + resolution: "@rollup/rollup-linux-s390x-gnu@npm:4.31.0" + conditions: os=linux & cpu=s390x & libc=glibc + languageName: node + linkType: hard + +"@rollup/rollup-linux-x64-gnu@npm:4.31.0": + version: 4.31.0 + resolution: "@rollup/rollup-linux-x64-gnu@npm:4.31.0" conditions: os=linux & cpu=x64 & libc=glibc languageName: node linkType: hard -"@rollup/rollup-linux-x64-musl@npm:4.1.4": - version: 4.1.4 - resolution: "@rollup/rollup-linux-x64-musl@npm:4.1.4" +"@rollup/rollup-linux-x64-musl@npm:4.31.0": + version: 4.31.0 + resolution: "@rollup/rollup-linux-x64-musl@npm:4.31.0" conditions: os=linux & cpu=x64 & libc=musl languageName: node linkType: hard -"@rollup/rollup-win32-arm64-msvc@npm:4.1.4": - version: 4.1.4 - resolution: "@rollup/rollup-win32-arm64-msvc@npm:4.1.4" +"@rollup/rollup-win32-arm64-msvc@npm:4.31.0": + version: 4.31.0 + resolution: "@rollup/rollup-win32-arm64-msvc@npm:4.31.0" conditions: os=win32 & cpu=arm64 languageName: node linkType: hard -"@rollup/rollup-win32-ia32-msvc@npm:4.1.4": - version: 4.1.4 - resolution: "@rollup/rollup-win32-ia32-msvc@npm:4.1.4" +"@rollup/rollup-win32-ia32-msvc@npm:4.31.0": + version: 4.31.0 + resolution: "@rollup/rollup-win32-ia32-msvc@npm:4.31.0" conditions: os=win32 & cpu=ia32 languageName: node linkType: hard -"@rollup/rollup-win32-x64-msvc@npm:4.1.4": - version: 4.1.4 - resolution: "@rollup/rollup-win32-x64-msvc@npm:4.1.4" +"@rollup/rollup-win32-x64-msvc@npm:4.31.0": + version: 4.31.0 + resolution: "@rollup/rollup-win32-x64-msvc@npm:4.31.0" conditions: os=win32 & cpu=x64 languageName: node linkType: hard -"@sinclair/typebox@npm:^0.27.8": - version: 0.27.8 - resolution: "@sinclair/typebox@npm:0.27.8" - checksum: 297f95ff77c82c54de8c9907f186076e715ff2621c5222ba50b8d40a170661c0c5242c763cba2a4791f0f91cb1d8ffa53ea1d7294570cf8cd4694c0e383e484d +"@rtsao/scc@npm:^1.1.0": + version: 1.1.0 + resolution: "@rtsao/scc@npm:1.1.0" + checksum: 10/17d04adf404e04c1e61391ed97bca5117d4c2767a76ae3e879390d6dec7b317fcae68afbf9e98badee075d0b64fa60f287729c4942021b4d19cd01db77385c01 languageName: node linkType: hard -"@sindresorhus/chunkify@npm:^0.2.0": - version: 0.2.0 - resolution: "@sindresorhus/chunkify@npm:0.2.0" - checksum: a17d8a385f1c2381d98eaa69d7fb543b65445a4b990750f1e3e78e3ae5fbcb70ebd2e93da8c11a3ac0cbd7e496e72e594c4519967eb15b1abea5b101acee243e +"@sindresorhus/chunkify@npm:^1.0.0": + version: 1.0.0 + resolution: "@sindresorhus/chunkify@npm:1.0.0" + checksum: 10/1e875c137491be9d873d9703e1105fccc76cabb92ea80950959d8bb0025244d49ae57ef22b9123903dfd21e6dfaca0615a92ec5fc6a0623f198da0878fd92b97 languageName: node linkType: hard "@sindresorhus/df@npm:^1.0.1": version: 1.0.1 resolution: "@sindresorhus/df@npm:1.0.1" - checksum: 0cb43b4ed9fc41e28124362dd4735c1f067d3c8963ccc3cf1684da050c5263bb5f5193e510ca8869e13b782fe4eb6f7ee23e4372193afea932cd0535f4c9ee2b + checksum: 10/0cb43b4ed9fc41e28124362dd4735c1f067d3c8963ccc3cf1684da050c5263bb5f5193e510ca8869e13b782fe4eb6f7ee23e4372193afea932cd0535f4c9ee2b languageName: node linkType: hard @@ -1793,284 +2419,238 @@ __metadata: resolution: "@sindresorhus/df@npm:3.1.1" dependencies: execa: "npm:^2.0.1" - checksum: 6378a8c62a9df024571b655a9f83d5e55351769dc581ed58a2a0a7b25683b7e644540edda7095bf38208b84ccf9cbc7c519fa7bef6a1129a2d8f7c6cbc618023 + checksum: 10/6378a8c62a9df024571b655a9f83d5e55351769dc581ed58a2a0a7b25683b7e644540edda7095bf38208b84ccf9cbc7c519fa7bef6a1129a2d8f7c6cbc618023 languageName: node linkType: hard "@sindresorhus/is@npm:^3.1.2": version: 3.1.2 resolution: "@sindresorhus/is@npm:3.1.2" - checksum: 33780588daef4a66fd11388cb98a9bd3368029d297df16937daa5cd126bfd11d1c08c9da7592f7993bc3241da2c741582d1e15740eb8b9edf60f9be3d2993d72 + checksum: 10/33780588daef4a66fd11388cb98a9bd3368029d297df16937daa5cd126bfd11d1c08c9da7592f7993bc3241da2c741582d1e15740eb8b9edf60f9be3d2993d72 + languageName: node + linkType: hard + +"@sindresorhus/is@npm:^4.6.0": + version: 4.6.0 + resolution: "@sindresorhus/is@npm:4.6.0" + checksum: 10/e7f36ed72abfcd5e0355f7423a72918b9748bb1ef370a59f3e5ad8d40b728b85d63b272f65f63eec1faf417cda89dcb0aeebe94015647b6054659c1442fe5ce0 languageName: node linkType: hard "@stroncium/procfs@npm:^1.2.1": version: 1.2.1 resolution: "@stroncium/procfs@npm:1.2.1" - checksum: bcfd50407c976dc30ca8e15ee2b8ebfef74dcbc49c4226a32fcce071f9fe62ec3016d0e8dbb56be4b277cd7db6133d5c9f27a7ad0790ee4e21c4d3e976514fde + checksum: 10/bcfd50407c976dc30ca8e15ee2b8ebfef74dcbc49c4226a32fcce071f9fe62ec3016d0e8dbb56be4b277cd7db6133d5c9f27a7ad0790ee4e21c4d3e976514fde languageName: node linkType: hard -"@swc/core-darwin-arm64@npm:1.3.93": - version: 1.3.93 - resolution: "@swc/core-darwin-arm64@npm:1.3.93" - conditions: os=darwin & cpu=arm64 +"@stylistic/eslint-plugin@npm:2.10.0": + version: 2.10.0 + resolution: "@stylistic/eslint-plugin@npm:2.10.0" + dependencies: + "@typescript-eslint/utils": "npm:^8.12.2" + eslint-visitor-keys: "npm:^4.2.0" + espree: "npm:^10.3.0" + estraverse: "npm:^5.3.0" + picomatch: "npm:^4.0.2" + peerDependencies: + eslint: ">=8.40.0" + checksum: 10/8a1efc154cd9405e3708058d409cc2839e7225315e024746c5c9f5791ee12babee507e2a6123f85594b3924fa700ea5a2be9578df6d5bfbbfb78cae4caa52f7c languageName: node linkType: hard -"@swc/core-darwin-x64@npm:1.3.93": - version: 1.3.93 - resolution: "@swc/core-darwin-x64@npm:1.3.93" - conditions: os=darwin & cpu=x64 - languageName: node - linkType: hard - -"@swc/core-linux-arm-gnueabihf@npm:1.3.93": - version: 1.3.93 - resolution: "@swc/core-linux-arm-gnueabihf@npm:1.3.93" - conditions: os=linux & cpu=arm - languageName: node - linkType: hard - -"@swc/core-linux-arm64-gnu@npm:1.3.93": - version: 1.3.93 - resolution: "@swc/core-linux-arm64-gnu@npm:1.3.93" - conditions: os=linux & cpu=arm64 & libc=glibc - languageName: node - linkType: hard - -"@swc/core-linux-arm64-musl@npm:1.3.93": - version: 1.3.93 - resolution: "@swc/core-linux-arm64-musl@npm:1.3.93" - conditions: os=linux & cpu=arm64 & libc=musl - languageName: node - linkType: hard - -"@swc/core-linux-x64-gnu@npm:1.3.93": - version: 1.3.93 - resolution: "@swc/core-linux-x64-gnu@npm:1.3.93" - conditions: os=linux & cpu=x64 & libc=glibc - languageName: node - linkType: hard - -"@swc/core-linux-x64-musl@npm:1.3.93": - version: 1.3.93 - resolution: "@swc/core-linux-x64-musl@npm:1.3.93" - conditions: os=linux & cpu=x64 & libc=musl +"@tootallnate/once@npm:2": + version: 2.0.0 + resolution: "@tootallnate/once@npm:2.0.0" + checksum: 10/ad87447820dd3f24825d2d947ebc03072b20a42bfc96cbafec16bff8bbda6c1a81fcb0be56d5b21968560c5359a0af4038a68ba150c3e1694fe4c109a063bed8 languageName: node linkType: hard -"@swc/core-win32-arm64-msvc@npm:1.3.93": - version: 1.3.93 - resolution: "@swc/core-win32-arm64-msvc@npm:1.3.93" - conditions: os=win32 & cpu=arm64 +"@tsconfig/strictest@npm:2.0.5": + version: 2.0.5 + resolution: "@tsconfig/strictest@npm:2.0.5" + checksum: 10/c1dfc581c6b46218034aa05a0ea2d0284ae8dc3508a38bee7014dd6868ed681e6b88d4d13a8e1b7f35221e84cd020ffab18f3991bc9e652ce441775e2fcbad57 languageName: node linkType: hard -"@swc/core-win32-ia32-msvc@npm:1.3.93": - version: 1.3.93 - resolution: "@swc/core-win32-ia32-msvc@npm:1.3.93" - conditions: os=win32 & cpu=ia32 +"@types/acorn@npm:^4.0.0": + version: 4.0.6 + resolution: "@types/acorn@npm:4.0.6" + dependencies: + "@types/estree": "npm:*" + checksum: 10/e00671d5055d06b07feccb8c2841467a4bdd1ab95a29e191d51cacc08c496e1ba1f54edeefab274bb2ba51cb45b0aaaa662a63897650e9d02e9997ad82124ae4 languageName: node linkType: hard -"@swc/core-win32-x64-msvc@npm:1.3.93": - version: 1.3.93 - resolution: "@swc/core-win32-x64-msvc@npm:1.3.93" - conditions: os=win32 & cpu=x64 +"@types/braces@npm:*": + version: 3.0.4 + resolution: "@types/braces@npm:3.0.4" + checksum: 10/7324497b6cc34c963c44d3f8516c67a83b749ab4f18defd9418b231b071af7ee8f0a0f345a52b204e867de80f684cabb21158512e1eaecbcebbabed1d1e357a3 languageName: node linkType: hard -"@swc/core@npm:1.3.93": - version: 1.3.93 - resolution: "@swc/core@npm:1.3.93" +"@types/chai-string@npm:1.4.5": + version: 1.4.5 + resolution: "@types/chai-string@npm:1.4.5" dependencies: - "@swc/core-darwin-arm64": "npm:1.3.93" - "@swc/core-darwin-x64": "npm:1.3.93" - "@swc/core-linux-arm-gnueabihf": "npm:1.3.93" - "@swc/core-linux-arm64-gnu": "npm:1.3.93" - "@swc/core-linux-arm64-musl": "npm:1.3.93" - "@swc/core-linux-x64-gnu": "npm:1.3.93" - "@swc/core-linux-x64-musl": "npm:1.3.93" - "@swc/core-win32-arm64-msvc": "npm:1.3.93" - "@swc/core-win32-ia32-msvc": "npm:1.3.93" - "@swc/core-win32-x64-msvc": "npm:1.3.93" - "@swc/counter": "npm:^0.1.1" - "@swc/types": "npm:^0.1.5" - peerDependencies: - "@swc/helpers": ^0.5.0 - dependenciesMeta: - "@swc/core-darwin-arm64": - optional: true - "@swc/core-darwin-x64": - optional: true - "@swc/core-linux-arm-gnueabihf": - optional: true - "@swc/core-linux-arm64-gnu": - optional: true - "@swc/core-linux-arm64-musl": - optional: true - "@swc/core-linux-x64-gnu": - optional: true - "@swc/core-linux-x64-musl": - optional: true - "@swc/core-win32-arm64-msvc": - optional: true - "@swc/core-win32-ia32-msvc": - optional: true - "@swc/core-win32-x64-msvc": - optional: true - peerDependenciesMeta: - "@swc/helpers": - optional: true - checksum: 0c28523abea3509d0fff7b2940667c9b5bf76b2505deb3ede8ab3ca8505d880cf563fb9d985483bc16065e79e51927001976d0a5e14449fb28715e5b4c6e0ffd + "@types/chai": "npm:*" + checksum: 10/9bfceeab6afa67e904908032f459bd0cac94bd2fdf49160fd765c1b7e585b831bed08b7110904f5fdb6ec18c046f57912ede571c4bd654098ba488588db2476b languageName: node linkType: hard -"@swc/counter@npm:^0.1.1": - version: 0.1.1 - resolution: "@swc/counter@npm:0.1.1" - checksum: bb974babd493ba01c0d4a95ab610c3fc15fbf609c08cb0342798e485f57ecc0950abbf84e07124e63c5fe610b492d9a8dd03701d3b9ef7329d9e8bf3cc44980f +"@types/chai@npm:*, @types/chai@npm:5.0.1": + version: 5.0.1 + resolution: "@types/chai@npm:5.0.1" + dependencies: + "@types/deep-eql": "npm:*" + checksum: 10/0f829d4f4be06d6a32c9d89ac08c356df89bafc4b923d8b7fd56cf78d681f5fddfe7aa3391b747f076c57129428f4df694026f344ad3bf8bda65e2ca50c0fd37 languageName: node linkType: hard -"@swc/types@npm:^0.1.5": - version: 0.1.5 - resolution: "@swc/types@npm:0.1.5" - checksum: 5f4de8c60d2623bed607c7fa1e0cee4ffc682af28d5ffe88dc9ed9903a1c2088ccc39f684689d6bb314595c9fbb560beaec773d633be515fb856ffc81d738822 +"@types/concat-stream@npm:^2.0.0": + version: 2.0.3 + resolution: "@types/concat-stream@npm:2.0.3" + dependencies: + "@types/node": "npm:*" + checksum: 10/e829fde246528665b31a9b8f64c369ffc66aa2a1337d2bab1d38f4d4145701480af7c67e877dd09a7fa97fcbaa0f3baa816ed1b3e71c3ad430930acd37f4eb1f languageName: node linkType: hard -"@tootallnate/once@npm:2": - version: 2.0.0 - resolution: "@tootallnate/once@npm:2.0.0" - checksum: ad87447820dd3f24825d2d947ebc03072b20a42bfc96cbafec16bff8bbda6c1a81fcb0be56d5b21968560c5359a0af4038a68ba150c3e1694fe4c109a063bed8 +"@types/conventional-commits-parser@npm:3.0.3": + version: 3.0.3 + resolution: "@types/conventional-commits-parser@npm:3.0.3" + dependencies: + "@types/node": "npm:*" + checksum: 10/8497e539d1620b5f4a4d9dca3fa940168f6386b599743fdb0b10c51de7b5a3eb6cc127036052d4f68636a8d33b28b05af186f5c4070a8ed7943a762269413077 languageName: node linkType: hard -"@tsconfig/node10@npm:^1.0.7": - version: 1.0.9 - resolution: "@tsconfig/node10@npm:1.0.9" - checksum: a33ae4dc2a621c0678ac8ac4bceb8e512ae75dac65417a2ad9b022d9b5411e863c4c198b6ba9ef659e14b9fb609bbec680841a2e84c1172df7a5ffcf076539df +"@types/conventional-commits-parser@npm:^5.0.0": + version: 5.0.0 + resolution: "@types/conventional-commits-parser@npm:5.0.0" + dependencies: + "@types/node": "npm:*" + checksum: 10/0992617c7274e9ddcbdb30cc5b735fa067343c40e16f539615b3ad9213cacbe9a32483bc8e0302d297c6de9cc7fd3794549635761a66bd9dc220d609822d86e7 languageName: node linkType: hard -"@tsconfig/node12@npm:^1.0.7": - version: 1.0.11 - resolution: "@tsconfig/node12@npm:1.0.11" - checksum: 5ce29a41b13e7897a58b8e2df11269c5395999e588b9a467386f99d1d26f6c77d1af2719e407621412520ea30517d718d5192a32403b8dfcc163bf33e40a338a +"@types/debug@npm:^4.0.0": + version: 4.1.12 + resolution: "@types/debug@npm:4.1.12" + dependencies: + "@types/ms": "npm:*" + checksum: 10/47876a852de8240bfdaf7481357af2b88cb660d30c72e73789abf00c499d6bc7cd5e52f41c915d1b9cd8ec9fef5b05688d7b7aef17f7f272c2d04679508d1053 languageName: node linkType: hard -"@tsconfig/node14@npm:^1.0.0": - version: 1.0.3 - resolution: "@tsconfig/node14@npm:1.0.3" - checksum: 19275fe80c4c8d0ad0abed6a96dbf00642e88b220b090418609c4376e1cef81bf16237bf170ad1b341452feddb8115d8dd2e5acdfdea1b27422071163dc9ba9d +"@types/deep-eql@npm:*": + version: 4.0.2 + resolution: "@types/deep-eql@npm:4.0.2" + checksum: 10/249a27b0bb22f6aa28461db56afa21ec044fa0e303221a62dff81831b20c8530502175f1a49060f7099e7be06181078548ac47c668de79ff9880241968d43d0c languageName: node linkType: hard -"@tsconfig/node16@npm:^1.0.2": - version: 1.0.4 - resolution: "@tsconfig/node16@npm:1.0.4" - checksum: 202319785901f942a6e1e476b872d421baec20cf09f4b266a1854060efbf78cde16a4d256e8bc949d31e6cd9a90f1e8ef8fb06af96a65e98338a2b6b0de0a0ff +"@types/envinfo@npm:7.8.4": + version: 7.8.4 + resolution: "@types/envinfo@npm:7.8.4" + checksum: 10/fb7c89f8ab3bf18571171942a068a2fd8eb4e393fc7154b4abcea13e02cc68c194f2241445f9969cd45c1232528354548dd6ab1036f824542c568621e14ee144 languageName: node linkType: hard -"@types/chai-fs@npm:2.0.2": - version: 2.0.2 - resolution: "@types/chai-fs@npm:2.0.2" +"@types/es-abstract@npm:1.17.3": + version: 1.17.3 + resolution: "@types/es-abstract@npm:1.17.3" dependencies: - "@types/chai": "npm:*" - "@types/node": "npm:*" - checksum: e15d3af86d5f243f469ba5126186e32a19830b4e9b22c1eff394821448880e2452d776948dcdae14b1680da41795f99a2696e6d809262b4d92f368ed72150477 + "@types/es-to-primitive": "npm:*" + checksum: 10/ae9da1ca8c02ad806cdd500ba62389553acd56400f6f8ec594f20f2eb6deb4437744e92c3b4f06f8fb135156a309176819ac637fb54d1ce33b9e4e13f8ac503b languageName: node linkType: hard -"@types/chai-string@npm:1.4.2": - version: 1.4.2 - resolution: "@types/chai-string@npm:1.4.2" - dependencies: - "@types/chai": "npm:*" - checksum: 4f6f6c9d73fb87619008e2423ecd4fc85491004a1701be2c3c8df2f80afd39ab149930a163f3a6d34da407fc4deeac88dd48de97d08de57ba41a47f55e005c1b +"@types/es-to-primitive@npm:*": + version: 1.2.7 + resolution: "@types/es-to-primitive@npm:1.2.7" + checksum: 10/73a7788fe5e1871059fd364c5a0d36ea687e37f535743dd569e7bdb11365c56822e55430a6f5483bbd9c709a69e021629c371b80c284c3923a57a251fbf96f2f languageName: node linkType: hard -"@types/chai-subset@npm:^1.3.3": - version: 1.3.3 - resolution: "@types/chai-subset@npm:1.3.3" +"@types/eslint@npm:*, @types/eslint@npm:9.6.1": + version: 9.6.1 + resolution: "@types/eslint@npm:9.6.1" dependencies: - "@types/chai": "npm:*" - checksum: c83bb9ae7174b47dbef62cb2054c26019d5f32e6f7bd3655039f84bc299a6bdee095bdfba8b6bce91cc9cc201ad6cc6efb78ab93fba79f9d7939b5039de590c8 + "@types/estree": "npm:*" + "@types/json-schema": "npm:*" + checksum: 10/719fcd255760168a43d0e306ef87548e1e15bffe361d5f4022b0f266575637acc0ecb85604ac97879ee8ae83c6a6d0613b0ed31d0209ddf22a0fe6d608fc56fe languageName: node linkType: hard -"@types/chai@npm:*, @types/chai@npm:4.3.5, @types/chai@npm:^4.3.5": - version: 4.3.5 - resolution: "@types/chai@npm:4.3.5" - checksum: 35d96db335724b6a05dd9113722f9cceb2069b5b0905b160f36132585482558fc5261a29b30290140dea7e5068be2f2585a4f4fba55b569222a95eb313e83b1b +"@types/eslint__js@npm:8.42.3": + version: 8.42.3 + resolution: "@types/eslint__js@npm:8.42.3" + dependencies: + "@types/eslint": "npm:*" + checksum: 10/e31f19de642d35a664695d0cab873ce6de19b8a3506755835b91f8a49a8c41099dcace449df49f1a486de6fa6565d21ceb1fa33be6004fc7adef9226e5d256a1 languageName: node linkType: hard -"@types/conventional-commits-parser@npm:3.0.3": - version: 3.0.3 - resolution: "@types/conventional-commits-parser@npm:3.0.3" +"@types/estree-jsx@npm:^1.0.0": + version: 1.0.5 + resolution: "@types/estree-jsx@npm:1.0.5" dependencies: - "@types/node": "npm:*" - checksum: 8497e539d1620b5f4a4d9dca3fa940168f6386b599743fdb0b10c51de7b5a3eb6cc127036052d4f68636a8d33b28b05af186f5c4070a8ed7943a762269413077 + "@types/estree": "npm:*" + checksum: 10/a028ab0cd7b2950168a05c6a86026eb3a36a54a4adfae57f13911d7b49dffe573d9c2b28421b2d029b49b3d02fcd686611be2622dc3dad6d9791166c083f6008 languageName: node linkType: hard -"@types/dateformat@npm:5.0.0": - version: 5.0.0 - resolution: "@types/dateformat@npm:5.0.0" - checksum: fee3fff637675fd55b59fff6a0507a120ae212a0c7ba823c00a45473da617a7d466e6d7d40d2b4b88af9df3f4be3ed80a51e222ea346c7738de688aa2c6747f1 +"@types/estree@npm:*, @types/estree@npm:1.0.6, @types/estree@npm:^1.0.0, @types/estree@npm:^1.0.6": + version: 1.0.6 + resolution: "@types/estree@npm:1.0.6" + checksum: 10/9d35d475095199c23e05b431bcdd1f6fec7380612aed068b14b2a08aa70494de8a9026765a5a91b1073f636fb0368f6d8973f518a31391d519e20c59388ed88d languageName: node linkType: hard -"@types/eslint@npm:8.44.2": - version: 8.44.2 - resolution: "@types/eslint@npm:8.44.2" +"@types/hast@npm:^3.0.0": + version: 3.0.4 + resolution: "@types/hast@npm:3.0.4" dependencies: - "@types/estree": "npm:*" - "@types/json-schema": "npm:*" - checksum: 9fe07d4fba1ab9d53d0da404c5774c056deb4bb37a3712a11d35f40ec4389d5d8cc46f19387cf79a3054754e1b71f5dbb796ee6f7411449e9f2399aff8a94def + "@types/unist": "npm:*" + checksum: 10/732920d81bb7605895776841b7658b4d8cc74a43a8fa176017cc0fb0ecc1a4c82a2b75a4fe6b71aa262b649d3fb62858c6789efa3793ea1d40269953af96ecb5 languageName: node linkType: hard -"@types/estree@npm:*": - version: 1.0.1 - resolution: "@types/estree@npm:1.0.1" - checksum: f252569c002506c61ad913e778aa69415908078c46c78c901ccad77bc66cd34f1e1b9babefb8ff0d27c07a15fb0824755edd7bb3fa7ea828f32ae0fe5faa9962 +"@types/hosted-git-info@npm:^3.0.0": + version: 3.0.5 + resolution: "@types/hosted-git-info@npm:3.0.5" + checksum: 10/c176be62d5982408c0b6062861529a7b27e754814a8312ae39a571afad014064e01e53e42de6f783ac1791212c341921a1d99e4cfcc3a84ec1912e4a454ca541 languageName: node linkType: hard -"@types/is-ci@npm:3.0.0": - version: 3.0.0 - resolution: "@types/is-ci@npm:3.0.0" +"@types/is-ci@npm:3.0.4": + version: 3.0.4 + resolution: "@types/is-ci@npm:3.0.4" dependencies: ci-info: "npm:^3.1.0" - checksum: 7c1f1f16c1fa2134de7400d82766c83fa76057261ba890628af77a09382ebb92d945bb077b98cfcf3d40ab1469c9ffbd2278112867edbe57aa655f53547eb139 + checksum: 10/5cb58dd3b64830bf2ce577017f554139cd35e3250a3feb3c2d5e5a2cb261cca909cf68faab6f31dde0c054719c7b360dd0f46d3a83a05b1e78453a9872d056c5 languageName: node linkType: hard -"@types/istanbul-lib-coverage@npm:^2.0.1": - version: 2.0.4 - resolution: "@types/istanbul-lib-coverage@npm:2.0.4" - checksum: a25d7589ee65c94d31464c16b72a9dc81dfa0bea9d3e105ae03882d616e2a0712a9c101a599ec482d297c3591e16336962878cb3eb1a0a62d5b76d277a890ce7 +"@types/is-empty@npm:^1.0.0": + version: 1.2.3 + resolution: "@types/is-empty@npm:1.2.3" + checksum: 10/b22065de5978dacacb6b7401df03e94b9688a3ce07c7faab1bab5e943adbdd6455b190963079bb0aae12c8e56980e54c49bc6902a5805741b82fb4f7335b0c44 languageName: node linkType: hard -"@types/json-schema@npm:*, @types/json-schema@npm:^7.0.12": - version: 7.0.12 - resolution: "@types/json-schema@npm:7.0.12" - checksum: 7a72ba9cb7d2b45d7bb032e063c9eeb1ce4102d62551761e84c91f99f8273ba5aaffd34be835869456ec7c40761b4389009d9e777c0020a7227ca0f5e3238e94 +"@types/json-schema@npm:*, @types/json-schema@npm:^7.0.15": + version: 7.0.15 + resolution: "@types/json-schema@npm:7.0.15" + checksum: 10/1a3c3e06236e4c4aab89499c428d585527ce50c24fe8259e8b3926d3df4cfbbbcf306cfc73ddfb66cbafc973116efd15967020b0f738f63e09e64c7d260519e7 languageName: node linkType: hard "@types/json5@npm:^0.0.29": version: 0.0.29 resolution: "@types/json5@npm:0.0.29" - checksum: 4e5aed58cabb2bbf6f725da13421aa50a49abb6bc17bfab6c31b8774b073fa7b50d557c61f961a09a85f6056151190f8ac95f13f5b48136ba5841f7d4484ec56 + checksum: 10/4e5aed58cabb2bbf6f725da13421aa50a49abb6bc17bfab6c31b8774b073fa7b50d557c61f961a09a85f6056151190f8ac95f13f5b48136ba5841f7d4484ec56 languageName: node linkType: hard @@ -2079,187 +2659,312 @@ __metadata: resolution: "@types/mdast@npm:3.0.12" dependencies: "@types/unist": "npm:^2" - checksum: 7446c87e3c51db5e3daa7490f9d04c183e619a8f6542f5dbaa263599052adc89af17face06609d4f5c5c49aacee2bff04748bba0342cbc4106904f9cf1121a69 + checksum: 10/7446c87e3c51db5e3daa7490f9d04c183e619a8f6542f5dbaa263599052adc89af17face06609d4f5c5c49aacee2bff04748bba0342cbc4106904f9cf1121a69 languageName: node linkType: hard -"@types/minimist@npm:^1.2.0, @types/minimist@npm:^1.2.2": - version: 1.2.2 - resolution: "@types/minimist@npm:1.2.2" - checksum: b8da83c66eb4aac0440e64674b19564d9d86c80ae273144db9681e5eeff66f238ade9515f5006ffbfa955ceff8b89ad2bd8ec577d7caee74ba101431fb07045d +"@types/mdast@npm:^4.0.0": + version: 4.0.4 + resolution: "@types/mdast@npm:4.0.4" + dependencies: + "@types/unist": "npm:*" + checksum: 10/efe3ec11b9ee0015a396c4fb4cd1b6f31b51b8ae9783c59560e6fc0bf6c2fa1dcc7fccaf45fa09a6c8b3397fab9dc8d431433935cae3835caa70a18f7fc775f8 languageName: node linkType: hard -"@types/node-notifier@npm:8.0.2": - version: 8.0.2 - resolution: "@types/node-notifier@npm:8.0.2" +"@types/micromatch@npm:4.0.9": + version: 4.0.9 + resolution: "@types/micromatch@npm:4.0.9" + dependencies: + "@types/braces": "npm:*" + checksum: 10/324f4bcb4a7caa2048bdd650f442d2c24b5bf6bc95e4d63d4741bd234fdcf3cde140217bd477b2c02c7fb0034c7293037fd7b61429ace84e997dd3b4d3b2b2f7 + languageName: node + linkType: hard + +"@types/ms@npm:*": + version: 0.7.34 + resolution: "@types/ms@npm:0.7.34" + checksum: 10/f38d36e7b6edecd9badc9cf50474159e9da5fa6965a75186cceaf883278611b9df6669dc3a3cc122b7938d317b68a9e3d573d316fcb35d1be47ec9e468c6bd8a + languageName: node + linkType: hard + +"@types/node-notifier@npm:8.0.5": + version: 8.0.5 + resolution: "@types/node-notifier@npm:8.0.5" dependencies: "@types/node": "npm:*" - checksum: eb380e7d6188f3883d7dce75e87f8237474074743f15977f513e25ab9d3a4def6562ee5ce26af71820ef950e32d3804af8e5edee540ada33d223f4c37e1d6528 + checksum: 10/ba8cec2f840f10d6daa901889ac60efedbf9608c8721384d85b4aeea3c85ba842f2ff10222cf62cf0334c4c31877aeddaf3bb1c9fb072c453c634e9a8d861753 + languageName: node + linkType: hard + +"@types/node@npm:*, @types/node@npm:22.10.7": + version: 22.10.7 + resolution: "@types/node@npm:22.10.7" + dependencies: + undici-types: "npm:~6.20.0" + checksum: 10/64cde1c2f5e5f7d597d3bd462f52c3c2d688a66623eb75d25e1d1d63d384ef553a27100635ad0dbb7d74da517048aa636947863eb624cf85f25d2f22370ce474 languageName: node linkType: hard -"@types/node@npm:*, @types/node@npm:20.6.0": - version: 20.6.0 - resolution: "@types/node@npm:20.6.0" - checksum: 8244a0e8ceadbc7e44687b536cb98889002671d9e873127814206ef0a2b9d6190294df794bc3bc57e8c4987fbc6504b2b27b599193aca6acbed4a6a4f535230e +"@types/node@npm:20.8.6": + version: 20.8.6 + resolution: "@types/node@npm:20.8.6" + dependencies: + undici-types: "npm:~5.25.1" + checksum: 10/cdfe0a2d90005323bbaf8fa4002607af98d49016c81898cd7f574d9ec6fc980580ea1b97f7b6ecaa8614be8004cd03898766e99e1869428ba6ed3bcd66a15354 languageName: node linkType: hard -"@types/node@npm:20.5.1": - version: 20.5.1 - resolution: "@types/node@npm:20.5.1" - checksum: e91034ba7eda82171dff73d3b30f584941400a5611b45d73a4d8159dc1fc309d4f1a423fbe84fd22d1ba7833383ee299c81ace6fab035c17affd0f4f0cbe7a89 +"@types/node@npm:^20.0.0": + version: 20.15.0 + resolution: "@types/node@npm:20.15.0" + dependencies: + undici-types: "npm:~6.13.0" + checksum: 10/bec475ee6c54dc575ec4d322753df484af2b96e3afdd3f6f8e594353b3918ca5f420e7c30845225661a14a7522fa421d15294fbf68ed7ae16f4ae7942ca809bd languageName: node linkType: hard "@types/normalize-package-data@npm:^2.4.0": version: 2.4.1 resolution: "@types/normalize-package-data@npm:2.4.1" - checksum: e87bccbf11f95035c89a132b52b79ce69a1e3652fe55962363063c9c0dae0fe2477ebc585e03a9652adc6f381d24ba5589cc5e51849df4ced3d3e004a7d40ed5 + checksum: 10/e87bccbf11f95035c89a132b52b79ce69a1e3652fe55962363063c9c0dae0fe2477ebc585e03a9652adc6f381d24ba5589cc5e51849df4ced3d3e004a7d40ed5 + languageName: node + linkType: hard + +"@types/rollup@npm:0.54.0": + version: 0.54.0 + resolution: "@types/rollup@npm:0.54.0" + dependencies: + rollup: "npm:*" + checksum: 10/4aae5d861b01b3a3d2a0a26800caef58e0658910c8034d16be4a16593ffd0d87ceb6fd63e95efba83218bfc642e24256a2f5e4f9ab08dfa3fb45035b6f2b1a63 languageName: node linkType: hard -"@types/semver@npm:7.5.0, @types/semver@npm:^7.5.0": +"@types/semver@npm:7.5.0": version: 7.5.0 resolution: "@types/semver@npm:7.5.0" - checksum: 8fbfbf79e9c14c3c20160a42145a146cba44d9763d0fac78358b394dc36e41bc2590bc4f0129c6fcbbc9b30f12ea1ba821bfe84b29dc80897f315cc7dd251393 + checksum: 10/8fbfbf79e9c14c3c20160a42145a146cba44d9763d0fac78358b394dc36e41bc2590bc4f0129c6fcbbc9b30f12ea1ba821bfe84b29dc80897f315cc7dd251393 languageName: node linkType: hard -"@types/unist@npm:^2, @types/unist@npm:^2.0.2": - version: 2.0.8 - resolution: "@types/unist@npm:2.0.8" - checksum: f4852d10a6752dc70df363917ef74453e5d2fd42824c0f6d09d19d530618e1402193977b1207366af4415aaec81d4e262c64d00345402020c4ca179216e553c7 +"@types/supports-color@npm:^8.0.0": + version: 8.1.3 + resolution: "@types/supports-color@npm:8.1.3" + checksum: 10/f5a3ca4aa94ac9d45beae8aa06dcba45e6d56b77999707a2708b54a9b042f84c68e619b10ef6e4b6f447f801824adebb9ed4d7a82c0b5d5d7bf29d5ff34d53a9 + languageName: node + linkType: hard + +"@types/text-table@npm:^0.2.0": + version: 0.2.5 + resolution: "@types/text-table@npm:0.2.5" + checksum: 10/4e96313dc25983868d84b75921c6159de569509921234c2c3bc8e2aac7963323f326b07d485d2c38342d5c1e7d2a0a39c2f3996b5f00f57af4b554b5d710f59d + languageName: node + linkType: hard + +"@types/unist@npm:*, @types/unist@npm:3.0.3, @types/unist@npm:^3.0.0": + version: 3.0.3 + resolution: "@types/unist@npm:3.0.3" + checksum: 10/96e6453da9e075aaef1dc22482463898198acdc1eeb99b465e65e34303e2ec1e3b1ed4469a9118275ec284dc98019f63c3f5d49422f0e4ac707e5ab90fb3b71a + languageName: node + linkType: hard + +"@types/unist@npm:3.0.2": + version: 3.0.2 + resolution: "@types/unist@npm:3.0.2" + checksum: 10/3d04d0be69316e5f14599a0d993a208606c12818cf631fd399243d1dc7a9bd8a3917d6066baa6abc290814afbd744621484756803c80cba892c39cd4b4a85616 + languageName: node + linkType: hard + +"@types/unist@npm:^2, @types/unist@npm:^2.0.0, @types/unist@npm:^2.0.2": + version: 2.0.11 + resolution: "@types/unist@npm:2.0.11" + checksum: 10/6d436e832bc35c6dde9f056ac515ebf2b3384a1d7f63679d12358766f9b313368077402e9c1126a14d827f10370a5485e628bf61aa91117cf4fc882423191a4e languageName: node linkType: hard -"@types/validator@npm:^13.7.10": - version: 13.11.1 - resolution: "@types/validator@npm:13.11.1" - checksum: c785435f0e2561648c0091f83b38c045ea199c8d4a0c59ce478e17a82a7f03813869f83b22cb1e97650f350d6d919906296cda9e503aecf4bf2ad7ca04ef2664 +"@types/validator@npm:^13.11.8, @types/validator@npm:^13.7.10": + version: 13.12.0 + resolution: "@types/validator@npm:13.12.0" + checksum: 10/b3344ef630ff9a3ffab4ce10da268e7be98ca2df9cbd956fb5cac860bd661c7ff6e82e0cdc7b253f037a98cf3b233fff3d04d28330bcd3ca2cafb0c52253976e languageName: node linkType: hard -"@typescript-eslint/eslint-plugin@npm:6.8.0": - version: 6.8.0 - resolution: "@typescript-eslint/eslint-plugin@npm:6.8.0" +"@typescript-eslint/eslint-plugin@npm:8.21.1-alpha.2": + version: 8.21.1-alpha.2 + resolution: "@typescript-eslint/eslint-plugin@npm:8.21.1-alpha.2" dependencies: - "@eslint-community/regexpp": "npm:^4.5.1" - "@typescript-eslint/scope-manager": "npm:6.8.0" - "@typescript-eslint/type-utils": "npm:6.8.0" - "@typescript-eslint/utils": "npm:6.8.0" - "@typescript-eslint/visitor-keys": "npm:6.8.0" - debug: "npm:^4.3.4" + "@eslint-community/regexpp": "npm:^4.10.0" + "@typescript-eslint/scope-manager": "npm:8.21.1-alpha.2" + "@typescript-eslint/type-utils": "npm:8.21.1-alpha.2" + "@typescript-eslint/utils": "npm:8.21.1-alpha.2" + "@typescript-eslint/visitor-keys": "npm:8.21.1-alpha.2" graphemer: "npm:^1.4.0" - ignore: "npm:^5.2.4" + ignore: "npm:^5.3.1" natural-compare: "npm:^1.4.0" - semver: "npm:^7.5.4" - ts-api-utils: "npm:^1.0.1" + ts-api-utils: "npm:^2.0.0" peerDependencies: - "@typescript-eslint/parser": ^6.0.0 || ^6.0.0-alpha - eslint: ^7.0.0 || ^8.0.0 - peerDependenciesMeta: - typescript: - optional: true - checksum: dd830b5185e2860ab57d9b81c39184054eb1df2a35650a304e091e696217358d0d5bc1edc4ea578b4f17eda91585e294a4ade8a7590803f4dc583d8cab52573d + "@typescript-eslint/parser": ^8.0.0 || ^8.0.0-alpha.0 + eslint: ^8.57.0 || ^9.0.0 + typescript: ">=4.8.4 <5.8.0" + checksum: 10/c2299aadff8f79886954b07a572552bbce5e432b17fccbdb3d7d602080ae5f39525faba1a450a379afaac99dc5de1b4de34d3c5b66427f7394fa2edc32aab14d languageName: node linkType: hard -"@typescript-eslint/parser@npm:6.8.0": - version: 6.8.0 - resolution: "@typescript-eslint/parser@npm:6.8.0" +"@typescript-eslint/parser@npm:8.21.1-alpha.2": + version: 8.21.1-alpha.2 + resolution: "@typescript-eslint/parser@npm:8.21.1-alpha.2" dependencies: - "@typescript-eslint/scope-manager": "npm:6.8.0" - "@typescript-eslint/types": "npm:6.8.0" - "@typescript-eslint/typescript-estree": "npm:6.8.0" - "@typescript-eslint/visitor-keys": "npm:6.8.0" + "@typescript-eslint/scope-manager": "npm:8.21.1-alpha.2" + "@typescript-eslint/types": "npm:8.21.1-alpha.2" + "@typescript-eslint/typescript-estree": "npm:8.21.1-alpha.2" + "@typescript-eslint/visitor-keys": "npm:8.21.1-alpha.2" debug: "npm:^4.3.4" peerDependencies: - eslint: ^7.0.0 || ^8.0.0 - peerDependenciesMeta: - typescript: - optional: true - checksum: a487e15f788515353022153851a385ddc88cbf6279f48ee5d40f62c81baa6cad6e3b2a7bd0af59e88d2fc77f57aaf104ab37d6f0805d50e16cc2f995e6c07613 + eslint: ^8.57.0 || ^9.0.0 + typescript: ">=4.8.4 <5.8.0" + checksum: 10/1492b629f722581661a92aca548f50b1913f0e068d437a838d77f6c5f8f061bb7512599e667dcee45f00000da6aff423552065c8855c466c480f761972e265bc + languageName: node + linkType: hard + +"@typescript-eslint/scope-manager@npm:8.18.1": + version: 8.18.1 + resolution: "@typescript-eslint/scope-manager@npm:8.18.1" + dependencies: + "@typescript-eslint/types": "npm:8.18.1" + "@typescript-eslint/visitor-keys": "npm:8.18.1" + checksum: 10/14f7c09924c3a006b20752e5204b33c2b6974fc00bea16c23f471e65f2fb089fcbd3fb5296bcfd6727ac95c32ba24ebb15ba84fbf1deadc17b4cc5ca7f41c72a languageName: node linkType: hard -"@typescript-eslint/scope-manager@npm:6.8.0": - version: 6.8.0 - resolution: "@typescript-eslint/scope-manager@npm:6.8.0" +"@typescript-eslint/scope-manager@npm:8.21.1-alpha.2": + version: 8.21.1-alpha.2 + resolution: "@typescript-eslint/scope-manager@npm:8.21.1-alpha.2" dependencies: - "@typescript-eslint/types": "npm:6.8.0" - "@typescript-eslint/visitor-keys": "npm:6.8.0" - checksum: cd5fe9587792a1e61aa280566294643361de8f96990fbdc2b400b26e4fe579e0d5a791fd6732eb0f76a8f7c6b27b6582141be9e4ab4397150974149fd0ce1f99 + "@typescript-eslint/types": "npm:8.21.1-alpha.2" + "@typescript-eslint/visitor-keys": "npm:8.21.1-alpha.2" + checksum: 10/ab91bd9707ef99cd7e23865c93ff503c1a4b5cf20375bc596c6ece276c9b29cf58da54fa4a1aebbd46b905acf36e80b0fa2120d1f8cf1f4e5cc342488f74a410 languageName: node linkType: hard -"@typescript-eslint/type-utils@npm:6.8.0": - version: 6.8.0 - resolution: "@typescript-eslint/type-utils@npm:6.8.0" +"@typescript-eslint/type-utils@npm:8.21.1-alpha.2": + version: 8.21.1-alpha.2 + resolution: "@typescript-eslint/type-utils@npm:8.21.1-alpha.2" dependencies: - "@typescript-eslint/typescript-estree": "npm:6.8.0" - "@typescript-eslint/utils": "npm:6.8.0" + "@typescript-eslint/typescript-estree": "npm:8.21.1-alpha.2" + "@typescript-eslint/utils": "npm:8.21.1-alpha.2" debug: "npm:^4.3.4" - ts-api-utils: "npm:^1.0.1" + ts-api-utils: "npm:^2.0.0" peerDependencies: - eslint: ^7.0.0 || ^8.0.0 - peerDependenciesMeta: - typescript: - optional: true - checksum: 976196864a404f3825ea1bf97cbcfde0fb9f541df927c203ce5d9e95379e947a0680e755b10349bc82a3566962421b3ff02a1c35860eac5acea2c1ba19502d4f + eslint: ^8.57.0 || ^9.0.0 + typescript: ">=4.8.4 <5.8.0" + checksum: 10/e0b1dcf2a75dcd6e2299cd32091c840418aa371217a9b0f6285dbc10fa54c7b4853a908dcadf040e544289666a627c46aa7a5ca972fa12581e14e7847b61ddef + languageName: node + linkType: hard + +"@typescript-eslint/types@npm:8.18.1": + version: 8.18.1 + resolution: "@typescript-eslint/types@npm:8.18.1" + checksum: 10/57a6141ba17be929291a644991f3a76f94fce330376f6a079decb20fb53378d636ad6878f8f9b6fcb8244cf1ca8b118f9e8901ae04cf3de2aa9f9ff57791d97a languageName: node linkType: hard -"@typescript-eslint/types@npm:6.8.0": - version: 6.8.0 - resolution: "@typescript-eslint/types@npm:6.8.0" - checksum: 958534ac84d6d6cda6918ae46cb2f521b2e8736a12c0e697d00f02453f3acf9e7089cdbcfa57e6ddc18ae1536b2c157b7818903e4e632c773168146c327664ed +"@typescript-eslint/types@npm:8.21.1-alpha.2": + version: 8.21.1-alpha.2 + resolution: "@typescript-eslint/types@npm:8.21.1-alpha.2" + checksum: 10/03fd1e2386e22efff7629eda9a72bd5bb88745748a5ffc4fdf259005737f2f8770e6f9acefca89828eda3a4bd8ee243efbae660bb9cc339d85ccdf15d7f760cb languageName: node linkType: hard -"@typescript-eslint/typescript-estree@npm:6.8.0": - version: 6.8.0 - resolution: "@typescript-eslint/typescript-estree@npm:6.8.0" +"@typescript-eslint/typescript-estree@npm:8.18.1": + version: 8.18.1 + resolution: "@typescript-eslint/typescript-estree@npm:8.18.1" dependencies: - "@typescript-eslint/types": "npm:6.8.0" - "@typescript-eslint/visitor-keys": "npm:6.8.0" + "@typescript-eslint/types": "npm:8.18.1" + "@typescript-eslint/visitor-keys": "npm:8.18.1" debug: "npm:^4.3.4" - globby: "npm:^11.1.0" + fast-glob: "npm:^3.3.2" is-glob: "npm:^4.0.3" - semver: "npm:^7.5.4" - ts-api-utils: "npm:^1.0.1" - peerDependenciesMeta: - typescript: - optional: true - checksum: 856b4ae4bfedfb938f98ad0c683e7087c28129a0b89f92f1cb65e4dfa73020ba896031ec6e66034edc5b5a36c0a7201d876ba6ec6af600d9c780486799628057 + minimatch: "npm:^9.0.4" + semver: "npm:^7.6.0" + ts-api-utils: "npm:^1.3.0" + peerDependencies: + typescript: ">=4.8.4 <5.8.0" + checksum: 10/8ecc1b50b9fc32116eee1b3b00f3fb29cf18026c0bbb50ab5f6e01db58ef62b8ac01824f2950f132479be6e1b82466a2bfd1e2cb4525aa8dbce4c27fc2494cfc + languageName: node + linkType: hard + +"@typescript-eslint/typescript-estree@npm:8.21.1-alpha.2": + version: 8.21.1-alpha.2 + resolution: "@typescript-eslint/typescript-estree@npm:8.21.1-alpha.2" + dependencies: + "@typescript-eslint/types": "npm:8.21.1-alpha.2" + "@typescript-eslint/visitor-keys": "npm:8.21.1-alpha.2" + debug: "npm:^4.3.4" + fast-glob: "npm:^3.3.2" + is-glob: "npm:^4.0.3" + minimatch: "npm:^9.0.4" + semver: "npm:^7.6.0" + ts-api-utils: "npm:^2.0.0" + peerDependencies: + typescript: ">=4.8.4 <5.8.0" + checksum: 10/0f49e481427ed83919fd7fba392543125bd2a5afcb5df20708dbb865fa377724d7d537c3cb743618340693534159d8ce90a000c83ee2da58cdcf9b5f6ba1f6f3 languageName: node linkType: hard -"@typescript-eslint/utils@npm:6.8.0": - version: 6.8.0 - resolution: "@typescript-eslint/utils@npm:6.8.0" +"@typescript-eslint/utils@npm:8.21.1-alpha.2": + version: 8.21.1-alpha.2 + resolution: "@typescript-eslint/utils@npm:8.21.1-alpha.2" dependencies: "@eslint-community/eslint-utils": "npm:^4.4.0" - "@types/json-schema": "npm:^7.0.12" - "@types/semver": "npm:^7.5.0" - "@typescript-eslint/scope-manager": "npm:6.8.0" - "@typescript-eslint/types": "npm:6.8.0" - "@typescript-eslint/typescript-estree": "npm:6.8.0" - semver: "npm:^7.5.4" + "@typescript-eslint/scope-manager": "npm:8.21.1-alpha.2" + "@typescript-eslint/types": "npm:8.21.1-alpha.2" + "@typescript-eslint/typescript-estree": "npm:8.21.1-alpha.2" peerDependencies: - eslint: ^7.0.0 || ^8.0.0 - checksum: d4bb23b3d511a6e62d749d33eb41655301664ded8e43ac65e7a382059ff4cedf4e9b621f4c144ae2472244d2b96b6fc95c2d0de606bc78a9a88bb018ce52e9a0 + eslint: ^8.57.0 || ^9.0.0 + typescript: ">=4.8.4 <5.8.0" + checksum: 10/16efea3db24ffa17f93df775510e82c9370413e0957168087ed0553d49b41a4c04b40c0cd57a66a169304a74f235e982337a1a3a2599107712cb1e597c4e1e2d languageName: node linkType: hard -"@typescript-eslint/visitor-keys@npm:6.8.0": - version: 6.8.0 - resolution: "@typescript-eslint/visitor-keys@npm:6.8.0" +"@typescript-eslint/utils@npm:^8.12.2": + version: 8.18.1 + resolution: "@typescript-eslint/utils@npm:8.18.1" dependencies: - "@typescript-eslint/types": "npm:6.8.0" - eslint-visitor-keys: "npm:^3.4.1" - checksum: 9a4245c1737863d57dadc8093fa3eb46c194a73b1979cedc947036df287fe800c6ee5294668ef461f826d62f673ec78f8809dafa41b2f22a73cf8c86d48fed1d + "@eslint-community/eslint-utils": "npm:^4.4.0" + "@typescript-eslint/scope-manager": "npm:8.18.1" + "@typescript-eslint/types": "npm:8.18.1" + "@typescript-eslint/typescript-estree": "npm:8.18.1" + peerDependencies: + eslint: ^8.57.0 || ^9.0.0 + typescript: ">=4.8.4 <5.8.0" + checksum: 10/7b33d2ac273ad606a3dcb776bcf02c901812952550cdc93d4ece272b3b0e5d2a4e05fa92f9bd466f4a296ddd5992902d3b6623aa1c29d09e8e392897103e42a8 + languageName: node + linkType: hard + +"@typescript-eslint/visitor-keys@npm:8.18.1": + version: 8.18.1 + resolution: "@typescript-eslint/visitor-keys@npm:8.18.1" + dependencies: + "@typescript-eslint/types": "npm:8.18.1" + eslint-visitor-keys: "npm:^4.2.0" + checksum: 10/00e88b1640a68c3afea08731395eb09a8216892248fee819cb7526e99093256743239d6b9e880a499f1c0ddfe2ffa4d1ad895d9e778b5d42e702d5880db1a594 + languageName: node + linkType: hard + +"@typescript-eslint/visitor-keys@npm:8.21.1-alpha.2": + version: 8.21.1-alpha.2 + resolution: "@typescript-eslint/visitor-keys@npm:8.21.1-alpha.2" + dependencies: + "@typescript-eslint/types": "npm:8.21.1-alpha.2" + eslint-visitor-keys: "npm:^4.2.0" + checksum: 10/fdfb6175fafa84ee405053bb7626fc6bd47db9a1948b6847a88d78ac055571a26ad01d9ac50b11637887a462c153f23938f60334534dfe237412b5ea58f9977c + languageName: node + linkType: hard + +"@ungap/structured-clone@npm:^1.0.0": + version: 1.2.0 + resolution: "@ungap/structured-clone@npm:1.2.0" + checksum: 10/c6fe89a505e513a7592e1438280db1c075764793a2397877ff1351721fe8792a966a5359769e30242b3cd023f2efb9e63ca2ca88019d73b564488cc20e3eab12 languageName: node linkType: hard @@ -2268,81 +2973,131 @@ __metadata: resolution: "@vates/toggle-scripts@npm:1.0.0" bin: toggle-scripts: index.js - checksum: a842703e9840c7425b6a86637c31f40128323bbb9441807207c1d4b340fc78e10d4c87c2a07e96ed66845b899d2a4b3e5fa3cd7d82e8585c704457df7767b2d1 + checksum: 10/a842703e9840c7425b6a86637c31f40128323bbb9441807207c1d4b340fc78e10d4c87c2a07e96ed66845b899d2a4b3e5fa3cd7d82e8585c704457df7767b2d1 languageName: node linkType: hard -"@vitest/coverage-v8@npm:0.34.6": - version: 0.34.6 - resolution: "@vitest/coverage-v8@npm:0.34.6" +"@vitest/coverage-v8@npm:3.0.3": + version: 3.0.3 + resolution: "@vitest/coverage-v8@npm:3.0.3" dependencies: - "@ampproject/remapping": "npm:^2.2.1" - "@bcoe/v8-coverage": "npm:^0.2.3" - istanbul-lib-coverage: "npm:^3.2.0" + "@ampproject/remapping": "npm:^2.3.0" + "@bcoe/v8-coverage": "npm:^1.0.2" + debug: "npm:^4.4.0" + istanbul-lib-coverage: "npm:^3.2.2" istanbul-lib-report: "npm:^3.0.1" - istanbul-lib-source-maps: "npm:^4.0.1" - istanbul-reports: "npm:^3.1.5" - magic-string: "npm:^0.30.1" - picocolors: "npm:^1.0.0" - std-env: "npm:^3.3.3" - test-exclude: "npm:^6.0.0" - v8-to-istanbul: "npm:^9.1.0" + istanbul-lib-source-maps: "npm:^5.0.6" + istanbul-reports: "npm:^3.1.7" + magic-string: "npm:^0.30.17" + magicast: "npm:^0.3.5" + std-env: "npm:^3.8.0" + test-exclude: "npm:^7.0.1" + tinyrainbow: "npm:^2.0.0" peerDependencies: - vitest: ">=0.32.0 <1" - checksum: f25afdc496d44b387752b88e82e4643557711f72d88d3da363785386cbd523af3f6049f5f91a3e6afc9c2417aa1d97e09801c0e5e62cb96cc9d419cc9629de2a + "@vitest/browser": 3.0.3 + vitest: 3.0.3 + peerDependenciesMeta: + "@vitest/browser": + optional: true + checksum: 10/85f80033a3db55c5724164617dedf20f41bbd13a5c075f0872dcf0129874bb4c99f5fffa922b40e509bb470fd05601b40768963b6cf210fe56c3db79d259071e languageName: node linkType: hard -"@vitest/expect@npm:0.34.6": - version: 0.34.6 - resolution: "@vitest/expect@npm:0.34.6" +"@vitest/expect@npm:3.0.3": + version: 3.0.3 + resolution: "@vitest/expect@npm:3.0.3" dependencies: - "@vitest/spy": "npm:0.34.6" - "@vitest/utils": "npm:0.34.6" - chai: "npm:^4.3.10" - checksum: c5dbd3db4d914857287dcff5dd7084070a2f73ed616197c80acaa54c27e5563cecf7a11e86d6aeef002e38f2ca52626f4b9c765db9b56add736f4e94a7fb0954 + "@vitest/spy": "npm:3.0.3" + "@vitest/utils": "npm:3.0.3" + chai: "npm:^5.1.2" + tinyrainbow: "npm:^2.0.0" + checksum: 10/47e9894a4d72a1b61fbcd6ad489b4d49315950369ecdb20f1653874550bf3c38fe8f494e79abbbfc61b7589227f4c4aca47067d683197619c059c24a907018fe languageName: node linkType: hard -"@vitest/runner@npm:0.34.6": - version: 0.34.6 - resolution: "@vitest/runner@npm:0.34.6" +"@vitest/mocker@npm:3.0.3": + version: 3.0.3 + resolution: "@vitest/mocker@npm:3.0.3" dependencies: - "@vitest/utils": "npm:0.34.6" - p-limit: "npm:^4.0.0" - pathe: "npm:^1.1.1" - checksum: 3525d8e4f8cd8a8b3f8f43a7b2604cda891fe31cfa1604e179628ced89d21114a55d6bb3bf192c02b4419e760eb15188d490e861cb46ddab2786193f8a999b0e + "@vitest/spy": "npm:3.0.3" + estree-walker: "npm:^3.0.3" + magic-string: "npm:^0.30.17" + peerDependencies: + msw: ^2.4.9 + vite: ^5.0.0 || ^6.0.0 + peerDependenciesMeta: + msw: + optional: true + vite: + optional: true + checksum: 10/82477f7093fd4ee0a5477a4b99ab5ac748255c74b89f75453ef2f5f14424167fbc7e699ace247f5b3a2763bf9c9692e340feb627bafaa1829ae14d53feedffe6 + languageName: node + linkType: hard + +"@vitest/pretty-format@npm:3.0.3, @vitest/pretty-format@npm:^3.0.3": + version: 3.0.3 + resolution: "@vitest/pretty-format@npm:3.0.3" + dependencies: + tinyrainbow: "npm:^2.0.0" + checksum: 10/37bfeab77c1daaa0a5208eb991695b8eb3ba183807fa656574072e28e8976dfecc4c77c46f56738911ea49889c6e1394ab384a2940b74afeea57174d3ba9d9ef + languageName: node + linkType: hard + +"@vitest/runner@npm:3.0.3": + version: 3.0.3 + resolution: "@vitest/runner@npm:3.0.3" + dependencies: + "@vitest/utils": "npm:3.0.3" + pathe: "npm:^2.0.1" + checksum: 10/0ba78adb9daf22a0824af9cfe71fd9f20e8e3aef6ca689a8bc4c27d3eceb6a73dc3b9b58625d6d7c77f71e86e88fcb278e503c0290cc2c78df5c706e16a4842b languageName: node linkType: hard -"@vitest/snapshot@npm:0.34.6": - version: 0.34.6 - resolution: "@vitest/snapshot@npm:0.34.6" +"@vitest/snapshot@npm:3.0.3": + version: 3.0.3 + resolution: "@vitest/snapshot@npm:3.0.3" dependencies: - magic-string: "npm:^0.30.1" - pathe: "npm:^1.1.1" - pretty-format: "npm:^29.5.0" - checksum: a9a321a089b22a383253b8cf3092c3af9b35453bb1c0ba0762760644a6ab0f727a4083872c7fd5a7d18c9a4fc4a798c4392872e337858a7c8ccc25ada6bf4d96 + "@vitest/pretty-format": "npm:3.0.3" + magic-string: "npm:^0.30.17" + pathe: "npm:^2.0.1" + checksum: 10/bc154b251aba4e730d412e08865f975a5bcbb4f75cf47efe844dd6526e2519911d940415007b2c1f0d124839370390575328bcd31b60d5b3b2bac4b4dccebfb8 languageName: node linkType: hard -"@vitest/spy@npm:0.34.6": - version: 0.34.6 - resolution: "@vitest/spy@npm:0.34.6" +"@vitest/spy@npm:3.0.3": + version: 3.0.3 + resolution: "@vitest/spy@npm:3.0.3" dependencies: - tinyspy: "npm:^2.1.1" - checksum: 9de152ac928c31e21bb4d8e1262b70db50dd11479efe8babce6bd993cc89957b974a584414a99d66ca188775b50baea1b934fdfb8d0d53c66fc2feb6dc2e348d + tinyspy: "npm:^3.0.2" + checksum: 10/3f408a9d2895d13e16052164084a6dcc21aa57afc8194c3f356f1c32d5cce177e2de4e08bc2e1af53400106a3054496cf39496ddd2a004500597de7f8bef1208 + languageName: node + linkType: hard + +"@vitest/ui@npm:3.0.3": + version: 3.0.3 + resolution: "@vitest/ui@npm:3.0.3" + dependencies: + "@vitest/utils": "npm:3.0.3" + fflate: "npm:^0.8.2" + flatted: "npm:^3.3.2" + pathe: "npm:^2.0.1" + sirv: "npm:^3.0.0" + tinyglobby: "npm:^0.2.10" + tinyrainbow: "npm:^2.0.0" + peerDependencies: + vitest: 3.0.3 + checksum: 10/f733ffa052a54d4dfa014a82e422c25951bc95128614f8bb581b5227a67c5c16b35321b71fb4960dcb70afec8169874526d888cabc068ab2924e6986d487dbbc languageName: node linkType: hard -"@vitest/utils@npm:0.34.6": - version: 0.34.6 - resolution: "@vitest/utils@npm:0.34.6" +"@vitest/utils@npm:3.0.3": + version: 3.0.3 + resolution: "@vitest/utils@npm:3.0.3" dependencies: - diff-sequences: "npm:^29.4.3" - loupe: "npm:^2.3.6" - pretty-format: "npm:^29.5.0" - checksum: 09a1b2122ceb5541b4f3d64410088e363a36d6e4addf208b6458615ac856adf36c1c9b5431a45ea13a78c30e6a7dcb0696854abe69a710089ffa229356a5202b + "@vitest/pretty-format": "npm:3.0.3" + loupe: "npm:^3.1.2" + tinyrainbow: "npm:^2.0.0" + checksum: 10/ae2010a796362558434857bfee7b7916ac1c2c8cc555b79e36ab13b8649f6d934174b5a68d6b7fe389a041317d3de95fe782890ead36067468e982d4a9017fcd languageName: node linkType: hard @@ -2354,39 +3109,39 @@ __metadata: through: "npm:>=2.2.7 <3" bin: JSONStream: ./bin.js - checksum: e30daf7b9b2da23076181d9a0e4bec33bc1d97e8c0385b949f1b16ba3366a1d241ec6f077850c01fe32379b5ebb8b96b65496984bc1545a93a5150bf4c267439 + checksum: 10/e30daf7b9b2da23076181d9a0e4bec33bc1d97e8c0385b949f1b16ba3366a1d241ec6f077850c01fe32379b5ebb8b96b65496984bc1545a93a5150bf4c267439 languageName: node linkType: hard "abbrev@npm:^1.0.0": version: 1.1.1 resolution: "abbrev@npm:1.1.1" - checksum: 2d882941183c66aa665118bafdab82b7a177e9add5eb2776c33e960a4f3c89cff88a1b38aba13a456de01d0dd9d66a8bea7c903268b21ea91dd1097e1e2e8243 + checksum: 10/2d882941183c66aa665118bafdab82b7a177e9add5eb2776c33e960a4f3c89cff88a1b38aba13a456de01d0dd9d66a8bea7c903268b21ea91dd1097e1e2e8243 languageName: node linkType: hard -"acorn-jsx@npm:^5.3.2": +"abbrev@npm:^2.0.0": + version: 2.0.0 + resolution: "abbrev@npm:2.0.0" + checksum: 10/ca0a54e35bea4ece0ecb68a47b312e1a9a6f772408d5bcb9051230aaa94b0460671c5b5c9cb3240eb5b7bc94c52476550eb221f65a0bbd0145bdc9f3113a6707 + languageName: node + linkType: hard + +"acorn-jsx@npm:^5.0.0, acorn-jsx@npm:^5.3.2": version: 5.3.2 resolution: "acorn-jsx@npm:5.3.2" peerDependencies: acorn: ^6.0.0 || ^7.0.0 || ^8.0.0 - checksum: d4371eaef7995530b5b5ca4183ff6f062ca17901a6d3f673c9ac011b01ede37e7a1f7f61f8f5cfe709e88054757bb8f3277dc4061087cdf4f2a1f90ccbcdb977 - languageName: node - linkType: hard - -"acorn-walk@npm:^8.1.1, acorn-walk@npm:^8.2.0": - version: 8.2.0 - resolution: "acorn-walk@npm:8.2.0" - checksum: e69f7234f2adfeb16db3671429a7c80894105bd7534cb2032acf01bb26e6a847952d11a062d071420b43f8d82e33d2e57f26fe87d9cce0853e8143d8910ff1de + checksum: 10/d4371eaef7995530b5b5ca4183ff6f062ca17901a6d3f673c9ac011b01ede37e7a1f7f61f8f5cfe709e88054757bb8f3277dc4061087cdf4f2a1f90ccbcdb977 languageName: node linkType: hard -"acorn@npm:^8.10.0, acorn@npm:^8.4.1, acorn@npm:^8.5.0, acorn@npm:^8.9.0": - version: 8.10.0 - resolution: "acorn@npm:8.10.0" +"acorn@npm:^8.0.0, acorn@npm:^8.11.3, acorn@npm:^8.14.0, acorn@npm:^8.5.0, acorn@npm:^8.9.0": + version: 8.14.0 + resolution: "acorn@npm:8.14.0" bin: acorn: bin/acorn - checksum: 522310c20fdc3c271caed3caf0f06c51d61cb42267279566edd1d58e83dbc12eebdafaab666a0f0be1b7ad04af9c6bc2a6f478690a9e6391c3c8b165ada917dd + checksum: 10/6df29c35556782ca9e632db461a7f97947772c6c1d5438a81f0c873a3da3a792487e83e404d1c6c25f70513e91aa18745f6eafb1fcc3a43ecd1920b21dd173d2 languageName: node linkType: hard @@ -2395,7 +3150,7 @@ __metadata: resolution: "agent-base@npm:6.0.2" dependencies: debug: "npm:4" - checksum: 21fb903e0917e5cb16591b4d0ef6a028a54b83ac30cd1fca58dece3d4e0990512a8723f9f83130d88a41e2af8b1f7be1386fda3ea2d181bb1a62155e75e95e23 + checksum: 10/21fb903e0917e5cb16591b4d0ef6a028a54b83ac30cd1fca58dece3d4e0990512a8723f9f83130d88a41e2af8b1f7be1386fda3ea2d181bb1a62155e75e95e23 languageName: node linkType: hard @@ -2404,7 +3159,7 @@ __metadata: resolution: "agentkeepalive@npm:4.5.0" dependencies: humanize-ms: "npm:^1.2.1" - checksum: dd210ba2a2e2482028f027b1156789744aadbfd773a6c9dd8e4e8001930d5af82382abe19a69240307b1d8003222ce6b0542935038313434b900e351914fc15f + checksum: 10/dd210ba2a2e2482028f027b1156789744aadbfd773a6c9dd8e4e8001930d5af82382abe19a69240307b1d8003222ce6b0542935038313434b900e351914fc15f languageName: node linkType: hard @@ -2414,17 +3169,7 @@ __metadata: dependencies: clean-stack: "npm:^2.0.0" indent-string: "npm:^4.0.0" - checksum: 1101a33f21baa27a2fa8e04b698271e64616b886795fd43c31068c07533c7b3facfcaf4e9e0cab3624bd88f729a592f1c901a1a229c9e490eafce411a8644b79 - languageName: node - linkType: hard - -"aggregate-error@npm:^4.0.0": - version: 4.0.1 - resolution: "aggregate-error@npm:4.0.1" - dependencies: - clean-stack: "npm:^4.0.0" - indent-string: "npm:^5.0.0" - checksum: bb3ffdfd13447800fff237c2cba752c59868ee669104bb995dfbbe0b8320e967d679e683dabb640feb32e4882d60258165cde0baafc4cd467cc7d275a13ad6b5 + checksum: 10/1101a33f21baa27a2fa8e04b698271e64616b886795fd43c31068c07533c7b3facfcaf4e9e0cab3624bd88f729a592f1c901a1a229c9e490eafce411a8644b79 languageName: node linkType: hard @@ -2436,7 +3181,7 @@ __metadata: fast-json-stable-stringify: "npm:^2.0.0" json-schema-traverse: "npm:^0.4.1" uri-js: "npm:^4.2.2" - checksum: 48d6ad21138d12eb4d16d878d630079a2bda25a04e745c07846a4ad768319533031e28872a9b3c5790fa1ec41aabdf2abed30a56e5a03ebc2cf92184b8ee306c + checksum: 10/48d6ad21138d12eb4d16d878d630079a2bda25a04e745c07846a4ad768319533031e28872a9b3c5790fa1ec41aabdf2abed30a56e5a03ebc2cf92184b8ee306c languageName: node linkType: hard @@ -2448,48 +3193,30 @@ __metadata: json-schema-traverse: "npm:^1.0.0" require-from-string: "npm:^2.0.2" uri-js: "npm:^4.2.2" - checksum: b406f3b79b5756ac53bfe2c20852471b08e122bc1ee4cde08ae4d6a800574d9cd78d60c81c69c63ff81e4da7cd0b638fafbb2303ae580d49cf1600b9059efb85 - languageName: node - linkType: hard - -"ansi-escapes@npm:^4.2.1": - version: 4.3.2 - resolution: "ansi-escapes@npm:4.3.2" - dependencies: - type-fest: "npm:^0.21.3" - checksum: 8661034456193ffeda0c15c8c564a9636b0c04094b7f78bd01517929c17c504090a60f7a75f949f5af91289c264d3e1001d91492c1bd58efc8e100500ce04de2 - languageName: node - linkType: hard - -"ansi-escapes@npm:^5.0.0": - version: 5.0.0 - resolution: "ansi-escapes@npm:5.0.0" - dependencies: - type-fest: "npm:^1.0.2" - checksum: cbfb95f9f6d8a1ffc89f50fcda3313effae2d9ac2f357f89f626815b4d95fdc3f10f74e0887614ff850d01f805b7505eb1e7ebfdd26144bbfc26c5de08e19195 + checksum: 10/b406f3b79b5756ac53bfe2c20852471b08e122bc1ee4cde08ae4d6a800574d9cd78d60c81c69c63ff81e4da7cd0b638fafbb2303ae580d49cf1600b9059efb85 languageName: node linkType: hard -"ansi-escapes@npm:^6.2.0": - version: 6.2.0 - resolution: "ansi-escapes@npm:6.2.0" +"ansi-escapes@npm:^7.0.0": + version: 7.0.0 + resolution: "ansi-escapes@npm:7.0.0" dependencies: - type-fest: "npm:^3.0.0" - checksum: 442f91b04650b35bc4815f47c20412d69ddbba5d4bf22f72ec03be352fca2de6819c7e3f4dfd17816ee4e0c6c965fe85e6f1b3f09683996a8d12fd366afd924e + environment: "npm:^1.0.0" + checksum: 10/2d0e2345087bd7ae6bf122b9cc05ee35560d40dcc061146edcdc02bc2d7c7c50143cd12a22e69a0b5c0f62b948b7bc9a4539ee888b80f5bd33cdfd82d01a70ab languageName: node linkType: hard "ansi-regex@npm:^5.0.1": version: 5.0.1 resolution: "ansi-regex@npm:5.0.1" - checksum: 2aa4bb54caf2d622f1afdad09441695af2a83aa3fe8b8afa581d205e57ed4261c183c4d3877cee25794443fde5876417d859c108078ab788d6af7e4fe52eb66b + checksum: 10/2aa4bb54caf2d622f1afdad09441695af2a83aa3fe8b8afa581d205e57ed4261c183c4d3877cee25794443fde5876417d859c108078ab788d6af7e4fe52eb66b languageName: node linkType: hard "ansi-regex@npm:^6.0.1": version: 6.0.1 resolution: "ansi-regex@npm:6.0.1" - checksum: 1ff8b7667cded1de4fa2c9ae283e979fc87036864317da86a2e546725f96406746411d0d85e87a2d12fa5abd715d90006de7fa4fa0477c92321ad3b4c7d4e169 + checksum: 10/1ff8b7667cded1de4fa2c9ae283e979fc87036864317da86a2e546725f96406746411d0d85e87a2d12fa5abd715d90006de7fa4fa0477c92321ad3b4c7d4e169 languageName: node linkType: hard @@ -2498,7 +3225,7 @@ __metadata: resolution: "ansi-styles@npm:3.2.1" dependencies: color-convert: "npm:^1.9.0" - checksum: d85ade01c10e5dd77b6c89f34ed7531da5830d2cb5882c645f330079975b716438cd7ebb81d0d6e6b4f9c577f19ae41ab55f07f19786b02f9dfd9e0377395665 + checksum: 10/d85ade01c10e5dd77b6c89f34ed7531da5830d2cb5882c645f330079975b716438cd7ebb81d0d6e6b4f9c577f19ae41ab55f07f19786b02f9dfd9e0377395665 languageName: node linkType: hard @@ -2507,42 +3234,45 @@ __metadata: resolution: "ansi-styles@npm:4.3.0" dependencies: color-convert: "npm:^2.0.1" - checksum: b4494dfbfc7e4591b4711a396bd27e540f8153914123dccb4cdbbcb514015ada63a3809f362b9d8d4f6b17a706f1d7bea3c6f974b15fa5ae76b5b502070889ff + checksum: 10/b4494dfbfc7e4591b4711a396bd27e540f8153914123dccb4cdbbcb514015ada63a3809f362b9d8d4f6b17a706f1d7bea3c6f974b15fa5ae76b5b502070889ff languageName: node linkType: hard -"ansi-styles@npm:^5.0.0": - version: 5.2.0 - resolution: "ansi-styles@npm:5.2.0" - checksum: d7f4e97ce0623aea6bc0d90dcd28881ee04cba06c570b97fd3391bd7a268eedfd9d5e2dd4fdcbdd82b8105df5faf6f24aaedc08eaf3da898e702db5948f63469 +"ansi-styles@npm:^6.1.0": + version: 6.2.1 + resolution: "ansi-styles@npm:6.2.1" + checksum: 10/70fdf883b704d17a5dfc9cde206e698c16bcd74e7f196ab821511651aee4f9f76c9514bdfa6ca3a27b5e49138b89cb222a28caf3afe4567570139577f991df32 languageName: node linkType: hard -"ansi-styles@npm:^6.0.0, ansi-styles@npm:^6.1.0": - version: 6.2.1 - resolution: "ansi-styles@npm:6.2.1" - checksum: 70fdf883b704d17a5dfc9cde206e698c16bcd74e7f196ab821511651aee4f9f76c9514bdfa6ca3a27b5e49138b89cb222a28caf3afe4567570139577f991df32 +"any-promise@npm:^1.0.0": + version: 1.3.0 + resolution: "any-promise@npm:1.3.0" + checksum: 10/6737469ba353b5becf29e4dc3680736b9caa06d300bda6548812a8fee63ae7d336d756f88572fa6b5219aed36698d808fa55f62af3e7e6845c7a1dc77d240edb languageName: node linkType: hard -"ansicolors@npm:~0.3.2": - version: 0.3.2 - resolution: "ansicolors@npm:0.3.2" - checksum: 0704d1485d84d65a47aacd3d2d26f501f21aeeb509922c8f2496d0ec5d346dc948efa64f3151aef0571d73e5c44eb10fd02f27f59762e9292fe123bb1ea9ff7d +"anymatch@npm:~3.1.2": + version: 3.1.3 + resolution: "anymatch@npm:3.1.3" + dependencies: + normalize-path: "npm:^3.0.0" + picomatch: "npm:^2.0.4" + checksum: 10/3e044fd6d1d26545f235a9fe4d7a534e2029d8e59fa7fd9f2a6eb21230f6b5380ea1eaf55136e60cbf8e613544b3b766e7a6fa2102e2a3a117505466e3025dc2 languageName: node linkType: hard "aproba@npm:^1.0.3 || ^2.0.0": version: 2.0.0 resolution: "aproba@npm:2.0.0" - checksum: c2b9a631298e8d6f3797547e866db642f68493808f5b37cd61da778d5f6ada890d16f668285f7d60bd4fc3b03889bd590ffe62cf81b700e9bb353431238a0a7b + checksum: 10/c2b9a631298e8d6f3797547e866db642f68493808f5b37cd61da778d5f6ada890d16f668285f7d60bd4fc3b03889bd590ffe62cf81b700e9bb353431238a0a7b languageName: node linkType: hard "are-docs-informative@npm:^0.0.2": version: 0.0.2 resolution: "are-docs-informative@npm:0.0.2" - checksum: 12cdae51a4bb369832ef1a35840604247d4ed0cbc8392f2519988d170f92c3f8c60e465844f41acba1ec3062d0edb2e9133fca38cb9c1214309153d50a25fa29 + checksum: 10/12cdae51a4bb369832ef1a35840604247d4ed0cbc8392f2519988d170f92c3f8c60e465844f41acba1ec3062d0edb2e9133fca38cb9c1214309153d50a25fa29 languageName: node linkType: hard @@ -2552,82 +3282,52 @@ __metadata: dependencies: delegates: "npm:^1.0.0" readable-stream: "npm:^3.6.0" - checksum: 390731720e1bf9ed5d0efc635ea7df8cbc4c90308b0645a932f06e8495a0bf1ecc7987d3b97e805f62a17d6c4b634074b25200aa4d149be2a7b17250b9744bc4 - languageName: node - linkType: hard - -"arg@npm:^4.1.0": - version: 4.1.3 - resolution: "arg@npm:4.1.3" - checksum: 969b491082f20cad166649fa4d2073ea9e974a4e5ac36247ca23d2e5a8b3cb12d60e9ff70a8acfe26d76566c71fd351ee5e6a9a6595157eb36f92b1fd64e1599 - languageName: node - linkType: hard - -"arg@npm:^5.0.2": - version: 5.0.2 - resolution: "arg@npm:5.0.2" - checksum: 92fe7de222054a060fd2329e92e867410b3ea260328147ee3fb7855f78efae005f4087e698d4e688a856893c56bb09951588c40f2c901cf6996cd8cd7bcfef2c + checksum: 10/390731720e1bf9ed5d0efc635ea7df8cbc4c90308b0645a932f06e8495a0bf1ecc7987d3b97e805f62a17d6c4b634074b25200aa4d149be2a7b17250b9744bc4 languageName: node linkType: hard "argparse@npm:^2.0.1": version: 2.0.1 resolution: "argparse@npm:2.0.1" - checksum: 18640244e641a417ec75a9bd38b0b2b6b95af5199aa241b131d4b2fb206f334d7ecc600bd194861610a5579084978bfcbb02baa399dbe442d56d0ae5e60dbaef + checksum: 10/18640244e641a417ec75a9bd38b0b2b6b95af5199aa241b131d4b2fb206f334d7ecc600bd194861610a5579084978bfcbb02baa399dbe442d56d0ae5e60dbaef languageName: node linkType: hard -"array-back@npm:^3.0.1, array-back@npm:^3.1.0": - version: 3.1.0 - resolution: "array-back@npm:3.1.0" - checksum: 7205004fcd0f9edd926db921af901b083094608d5b265738d0290092f9822f73accb468e677db74c7c94ef432d39e5ed75a7b1786701e182efb25bbba9734209 +"array-buffer-byte-length@npm:^1.0.1": + version: 1.0.1 + resolution: "array-buffer-byte-length@npm:1.0.1" + dependencies: + call-bind: "npm:^1.0.5" + is-array-buffer: "npm:^3.0.4" + checksum: 10/53524e08f40867f6a9f35318fafe467c32e45e9c682ba67b11943e167344d2febc0f6977a17e699b05699e805c3e8f073d876f8bbf1b559ed494ad2cd0fae09e languageName: node linkType: hard -"array-buffer-byte-length@npm:^1.0.0": +"array-ify@npm:^1.0.0": version: 1.0.0 - resolution: "array-buffer-byte-length@npm:1.0.0" - dependencies: - call-bind: "npm:^1.0.2" - is-array-buffer: "npm:^3.0.1" - checksum: 044e101ce150f4804ad19c51d6c4d4cfa505c5b2577bd179256e4aa3f3f6a0a5e9874c78cd428ee566ac574c8a04d7ce21af9fe52e844abfdccb82b33035a7c3 + resolution: "array-ify@npm:1.0.0" + checksum: 10/c0502015b319c93dd4484f18036bcc4b654eb76a4aa1f04afbcef11ac918859bb1f5d71ba1f0f1141770db9eef1a4f40f1761753650873068010bbf7bcdae4a4 languageName: node linkType: hard -"array-events@npm:^0.2.0": - version: 0.2.0 - resolution: "array-events@npm:0.2.0" - dependencies: - async-arrays: "npm:*" - extended-emitter: "npm:*" - checksum: 8cadeca99dc230a6fe8b44dbd747dd89150dd7d00c5bfa3eba8434b72987617eb483689ae7bc3e8714ef0eb91f7f164bda4421c2020b36cdd2edefedcda49200 - languageName: node - linkType: hard - -"array-ify@npm:^1.0.0": - version: 1.0.0 - resolution: "array-ify@npm:1.0.0" - checksum: c0502015b319c93dd4484f18036bcc4b654eb76a4aa1f04afbcef11ac918859bb1f5d71ba1f0f1141770db9eef1a4f40f1761753650873068010bbf7bcdae4a4 - languageName: node - linkType: hard - -"array-includes@npm:^3.1.6": - version: 3.1.6 - resolution: "array-includes@npm:3.1.6" +"array-includes@npm:^3.1.8": + version: 3.1.8 + resolution: "array-includes@npm:3.1.8" dependencies: - call-bind: "npm:^1.0.2" - define-properties: "npm:^1.1.4" - es-abstract: "npm:^1.20.4" - get-intrinsic: "npm:^1.1.3" + call-bind: "npm:^1.0.7" + define-properties: "npm:^1.2.1" + es-abstract: "npm:^1.23.2" + es-object-atoms: "npm:^1.0.0" + get-intrinsic: "npm:^1.2.4" is-string: "npm:^1.0.7" - checksum: a7168bd16821ec76b95a8f50f73076577a7cbd6c762452043d2b978c8a5fa4afe4f98a025d6f1d5c971b8d0b440b4ee73f6a57fc45382c858b8e17c275015428 + checksum: 10/290b206c9451f181fb2b1f79a3bf1c0b66bb259791290ffbada760c79b284eef6f5ae2aeb4bcff450ebc9690edd25732c4c73a3c2b340fcc0f4563aed83bf488 languageName: node linkType: hard "array-timsort@npm:^1.0.3": version: 1.0.3 resolution: "array-timsort@npm:1.0.3" - checksum: f417f073b3733baec3a80decdf5d45bf763f04676ef3610b0e71f9b1d88c6e4c38154c05b28b31529d308bfd0e043d08059fcd9df966245a1276af15b5584936 + checksum: 10/f417f073b3733baec3a80decdf5d45bf763f04676ef3610b0e71f9b1d88c6e4c38154c05b28b31529d308bfd0e043d08059fcd9df966245a1276af15b5584936 languageName: node linkType: hard @@ -2636,118 +3336,105 @@ __metadata: resolution: "array-union@npm:1.0.2" dependencies: array-uniq: "npm:^1.0.1" - checksum: 82cec6421b6e6766556c484835a6d476a873f1b71cace5ab2b4f1b15b1e3162dc4da0d16f7a2b04d4aec18146c6638fe8f661340b31ba8e469fd811a1b45dc8d - languageName: node - linkType: hard - -"array-union@npm:^2.1.0": - version: 2.1.0 - resolution: "array-union@npm:2.1.0" - checksum: 5bee12395cba82da674931df6d0fea23c4aa4660cb3b338ced9f828782a65caa232573e6bf3968f23e0c5eb301764a382cef2f128b170a9dc59de0e36c39f98d + checksum: 10/82cec6421b6e6766556c484835a6d476a873f1b71cace5ab2b4f1b15b1e3162dc4da0d16f7a2b04d4aec18146c6638fe8f661340b31ba8e469fd811a1b45dc8d languageName: node linkType: hard "array-uniq@npm:^1.0.1": version: 1.0.3 resolution: "array-uniq@npm:1.0.3" - checksum: 1625f06b093d8bf279b81adfec6e72951c0857d65b5e3f65f053fffe9f9dd61c2fc52cff57e38a4700817e7e3f01a4faa433d505ea9e33cdae4514c334e0bf9e + checksum: 10/1625f06b093d8bf279b81adfec6e72951c0857d65b5e3f65f053fffe9f9dd61c2fc52cff57e38a4700817e7e3f01a4faa433d505ea9e33cdae4514c334e0bf9e languageName: node linkType: hard -"array.prototype.findlastindex@npm:^1.2.2": - version: 1.2.3 - resolution: "array.prototype.findlastindex@npm:1.2.3" +"array.prototype.findlastindex@npm:^1.2.5": + version: 1.2.5 + resolution: "array.prototype.findlastindex@npm:1.2.5" dependencies: - call-bind: "npm:^1.0.2" - define-properties: "npm:^1.2.0" - es-abstract: "npm:^1.22.1" - es-shim-unscopables: "npm:^1.0.0" - get-intrinsic: "npm:^1.2.1" - checksum: 063cbab8eeac3aa01f3e980eecb9a8c5d87723032b49f7f814ecc6d75c33c03c17e3f43a458127a62e16303cab412f95d6ad9dc7e0ae6d9dc27a9bb76c24df7a + call-bind: "npm:^1.0.7" + define-properties: "npm:^1.2.1" + es-abstract: "npm:^1.23.2" + es-errors: "npm:^1.3.0" + es-object-atoms: "npm:^1.0.0" + es-shim-unscopables: "npm:^1.0.2" + checksum: 10/7c5c821f357cd53ab6cc305de8086430dd8d7a2485db87b13f843e868055e9582b1fd338f02338f67fc3a1603ceaf9610dd2a470b0b506f9d18934780f95b246 languageName: node linkType: hard -"array.prototype.flat@npm:^1.3.1": - version: 1.3.1 - resolution: "array.prototype.flat@npm:1.3.1" +"array.prototype.flat@npm:^1.3.2": + version: 1.3.2 + resolution: "array.prototype.flat@npm:1.3.2" dependencies: call-bind: "npm:^1.0.2" - define-properties: "npm:^1.1.4" - es-abstract: "npm:^1.20.4" + define-properties: "npm:^1.2.0" + es-abstract: "npm:^1.22.1" es-shim-unscopables: "npm:^1.0.0" - checksum: 787bd3e93887b1c12cfed018864cb819a4fe361728d4aadc7b401b0811cf923121881cca369557432529ffa803a463f01e37eaa4b52e4c13bc574c438cd615cb + checksum: 10/d9d2f6f27584de92ec7995bc931103e6de722cd2498bdbfc4cba814fc3e52f056050a93be883018811f7c0a35875f5056584a0e940603a5e5934f0279896aebe languageName: node linkType: hard -"array.prototype.flatmap@npm:^1.3.1": - version: 1.3.1 - resolution: "array.prototype.flatmap@npm:1.3.1" +"array.prototype.flatmap@npm:^1.3.2": + version: 1.3.2 + resolution: "array.prototype.flatmap@npm:1.3.2" dependencies: call-bind: "npm:^1.0.2" - define-properties: "npm:^1.1.4" - es-abstract: "npm:^1.20.4" + define-properties: "npm:^1.2.0" + es-abstract: "npm:^1.22.1" es-shim-unscopables: "npm:^1.0.0" - checksum: f1f3d8e0610afce06a8622295b4843507dfc2fbbd2c2b2a8d541d9f42871747393c3099d630a3f8266ca086b97b089687db64cd86b6eb7e270ebc8f767eec9fc + checksum: 10/33f20006686e0cbe844fde7fd290971e8366c6c5e3380681c2df15738b1df766dd02c7784034aeeb3b037f65c496ee54de665388288edb323a2008bb550f77ea languageName: node linkType: hard -"arraybuffer.prototype.slice@npm:^1.0.1": - version: 1.0.1 - resolution: "arraybuffer.prototype.slice@npm:1.0.1" - dependencies: - array-buffer-byte-length: "npm:^1.0.0" - call-bind: "npm:^1.0.2" - define-properties: "npm:^1.2.0" - get-intrinsic: "npm:^1.2.1" - is-array-buffer: "npm:^3.0.2" +"arraybuffer.prototype.slice@npm:^1.0.3": + version: 1.0.3 + resolution: "arraybuffer.prototype.slice@npm:1.0.3" + dependencies: + array-buffer-byte-length: "npm:^1.0.1" + call-bind: "npm:^1.0.5" + define-properties: "npm:^1.2.1" + es-abstract: "npm:^1.22.3" + es-errors: "npm:^1.2.1" + get-intrinsic: "npm:^1.2.3" + is-array-buffer: "npm:^3.0.4" is-shared-array-buffer: "npm:^1.0.2" - checksum: e3e9b2a3e988ebfeddce4c7e8f69df730c9e48cb04b0d40ff0874ce3d86b3d1339dd520ffde5e39c02610bc172ecfbd4bc93324b1cabd9554c44a56b131ce0ce - languageName: node - linkType: hard - -"arrify@npm:^1.0.1": - version: 1.0.1 - resolution: "arrify@npm:1.0.1" - checksum: 745075dd4a4624ff0225c331dacb99be501a515d39bcb7c84d24660314a6ec28e68131b137e6f7e16318170842ce97538cd298fc4cd6b2cc798e0b957f2747e7 + checksum: 10/0221f16c1e3ec7b67da870ee0e1f12b825b5f9189835392b59a22990f715827561a4f4cd5330dc7507de272d8df821be6cd4b0cb569babf5ea4be70e365a2f3d languageName: node linkType: hard -"assertion-error@npm:^1.1.0": - version: 1.1.0 - resolution: "assertion-error@npm:1.1.0" - checksum: fd9429d3a3d4fd61782eb3962ae76b6d08aa7383123fca0596020013b3ebd6647891a85b05ce821c47d1471ed1271f00b0545cf6a4326cf2fc91efcc3b0fbecf +"assertion-error@npm:^2.0.1": + version: 2.0.1 + resolution: "assertion-error@npm:2.0.1" + checksum: 10/a0789dd882211b87116e81e2648ccb7f60340b34f19877dd020b39ebb4714e475eb943e14ba3e22201c221ef6645b7bfe10297e76b6ac95b48a9898c1211ce66 languageName: node linkType: hard -"async-arrays@npm:*": - version: 2.0.0 - resolution: "async-arrays@npm:2.0.0" +"available-typed-arrays@npm:^1.0.5, available-typed-arrays@npm:^1.0.7": + version: 1.0.7 + resolution: "available-typed-arrays@npm:1.0.7" dependencies: - sift: "npm:*" - checksum: 652d8626d7cd76642839e5678b069e92bf484b329bfdd02ec85a6249774c649f8df61ab9d3a9c68f519d73a29341ce0752a0229f483fa018027f99614e778388 + possible-typed-array-names: "npm:^1.0.0" + checksum: 10/6c9da3a66caddd83c875010a1ca8ef11eac02ba15fb592dc9418b2b5e7b77b645fa7729380a92d9835c2f05f2ca1b6251f39b993e0feb3f1517c74fa1af02cab languageName: node linkType: hard -"available-typed-arrays@npm:^1.0.5": - version: 1.0.5 - resolution: "available-typed-arrays@npm:1.0.5" - checksum: 4d4d5e86ea0425696f40717882f66a570647b94ac8d273ddc7549a9b61e5da099e149bf431530ccbd776bd74e02039eb8b5edf426e3e2211ee61af16698a9064 +"bail@npm:^2.0.0": + version: 2.0.2 + resolution: "bail@npm:2.0.2" + checksum: 10/aab4e8ccdc8d762bf3fdfce8e706601695620c0c2eda256dd85088dc0be3cfd7ff126f6e99c2bee1f24f5d418414aacf09d7f9702f16d6963df2fa488cda8824 languageName: node linkType: hard "balanced-match@npm:^1.0.0": version: 1.0.2 resolution: "balanced-match@npm:1.0.2" - checksum: 9706c088a283058a8a99e0bf91b0a2f75497f185980d9ffa8b304de1d9e58ebda7c72c07ebf01dadedaac5b2907b2c6f566f660d62bd336c3468e960403b9d65 + checksum: 10/9706c088a283058a8a99e0bf91b0a2f75497f185980d9ffa8b304de1d9e58ebda7c72c07ebf01dadedaac5b2907b2c6f566f660d62bd336c3468e960403b9d65 languageName: node linkType: hard -"bit-mask@npm:^1.0.1": - version: 1.0.2 - resolution: "bit-mask@npm:1.0.2" - dependencies: - array-events: "npm:^0.2.0" - checksum: 170fd3f8f391c02f855da9d19f3a2b8e0b1c78e04e9c8756d81fad8c3b8bcc120363e1ab5a1ace2db7e63bceac822fd280c1658f9aa642db7dc42dc6d23775e3 +"binary-extensions@npm:^2.0.0": + version: 2.3.0 + resolution: "binary-extensions@npm:2.3.0" + checksum: 10/bcad01494e8a9283abf18c1b967af65ee79b0c6a9e6fcfafebfe91dbe6e0fc7272bafb73389e198b310516ae04f7ad17d79aacf6cb4c0d5d5202a7e2e52c7d98 languageName: node linkType: hard @@ -2757,7 +3444,7 @@ __metadata: dependencies: balanced-match: "npm:^1.0.0" concat-map: "npm:0.0.1" - checksum: faf34a7bb0c3fcf4b59c7808bc5d2a96a40988addf2e7e09dfbb67a2251800e0d14cd2bfc1aa79174f2f5095c54ff27f46fb1289fe2d77dac755b5eb3434cc07 + checksum: 10/faf34a7bb0c3fcf4b59c7808bc5d2a96a40988addf2e7e09dfbb67a2251800e0d14cd2bfc1aa79174f2f5095c54ff27f46fb1289fe2d77dac755b5eb3434cc07 languageName: node linkType: hard @@ -2766,23 +3453,44 @@ __metadata: resolution: "brace-expansion@npm:2.0.1" dependencies: balanced-match: "npm:^1.0.0" - checksum: a61e7cd2e8a8505e9f0036b3b6108ba5e926b4b55089eeb5550cd04a471fe216c96d4fe7e4c7f995c728c554ae20ddfc4244cad10aef255e72b62930afd233d1 + checksum: 10/a61e7cd2e8a8505e9f0036b3b6108ba5e926b4b55089eeb5550cd04a471fe216c96d4fe7e4c7f995c728c554ae20ddfc4244cad10aef255e72b62930afd233d1 languageName: node linkType: hard -"braces@npm:^3.0.2": - version: 3.0.2 - resolution: "braces@npm:3.0.2" +"braces@npm:^3.0.3, braces@npm:~3.0.2": + version: 3.0.3 + resolution: "braces@npm:3.0.3" + dependencies: + fill-range: "npm:^7.1.1" + checksum: 10/fad11a0d4697a27162840b02b1fad249c1683cbc510cd5bf1a471f2f8085c046d41094308c577a50a03a579dd99d5a6b3724c4b5e8b14df2c4443844cfcda2c6 + languageName: node + linkType: hard + +"browserslist@npm:^4.23.3": + version: 4.23.3 + resolution: "browserslist@npm:4.23.3" dependencies: - fill-range: "npm:^7.0.1" - checksum: 966b1fb48d193b9d155f810e5efd1790962f2c4e0829f8440b8ad236ba009222c501f70185ef732fef17a4c490bb33a03b90dab0631feafbdf447da91e8165b1 + caniuse-lite: "npm:^1.0.30001646" + electron-to-chromium: "npm:^1.5.4" + node-releases: "npm:^2.0.18" + update-browserslist-db: "npm:^1.1.0" + bin: + browserslist: cli.js + checksum: 10/e266d18c6c6c5becf9a1a7aa264477677b9796387972e8fce34854bb33dc1666194dc28389780e5dc6566e68a95e87ece2ce222e1c4ca93c2b75b61dfebd5f1c + languageName: node + linkType: hard + +"buffer-from@npm:^1.0.0": + version: 1.1.2 + resolution: "buffer-from@npm:1.1.2" + checksum: 10/0448524a562b37d4d7ed9efd91685a5b77a50672c556ea254ac9a6d30e3403a517d8981f10e565db24e8339413b43c97ca2951f10e399c6125a0d8911f5679bb languageName: node linkType: hard "builtin-modules@npm:^3.3.0": version: 3.3.0 resolution: "builtin-modules@npm:3.3.0" - checksum: 62e063ab40c0c1efccbfa9ffa31873e4f9d57408cb396a2649981a0ecbce56aabc93c28feaccbc5658c95aab2703ad1d11980e62ec2e5e72637404e1eb60f39e + checksum: 10/62e063ab40c0c1efccbfa9ffa31873e4f9d57408cb396a2649981a0ecbce56aabc93c28feaccbc5658c95aab2703ad1d11980e62ec2e5e72637404e1eb60f39e languageName: node linkType: hard @@ -2791,14 +3499,14 @@ __metadata: resolution: "builtins@npm:5.0.1" dependencies: semver: "npm:^7.0.0" - checksum: 90136fa0ba98b7a3aea33190b1262a5297164731efb6a323b0231acf60cc2ea0b2b1075dbf107038266b8b77d6045fa9631d1c3f90efc1c594ba61218fbfbb4c + checksum: 10/90136fa0ba98b7a3aea33190b1262a5297164731efb6a323b0231acf60cc2ea0b2b1075dbf107038266b8b77d6045fa9631d1c3f90efc1c594ba61218fbfbb4c languageName: node linkType: hard "cac@npm:^6.7.14": version: 6.7.14 resolution: "cac@npm:6.7.14" - checksum: 002769a0fbfc51c062acd2a59df465a2a947916b02ac50b56c69ec6c018ee99ac3e7f4dd7366334ea847f1ecacf4defaa61bcd2ac283db50156ce1f1d8c8ad42 + checksum: 10/002769a0fbfc51c062acd2a59df465a2a947916b02ac50b56c69ec6c018ee99ac3e7f4dd7366334ea847f1ecacf4defaa61bcd2ac283db50156ce1f1d8c8ad42 languageName: node linkType: hard @@ -2818,108 +3526,41 @@ __metadata: ssri: "npm:^10.0.0" tar: "npm:^6.1.11" unique-filename: "npm:^3.0.0" - checksum: 6e26c788bc6a18ff42f4d4f97db30d5c60a5dfac8e7c10a03b0307a92cf1b647570547cf3cd96463976c051eb9c7258629863f156e224c82018862c1a8ad0e70 + checksum: 10/6e26c788bc6a18ff42f4d4f97db30d5c60a5dfac8e7c10a03b0307a92cf1b647570547cf3cd96463976c051eb9c7258629863f156e224c82018862c1a8ad0e70 languageName: node linkType: hard -"call-bind@npm:^1.0.0, call-bind@npm:^1.0.2": - version: 1.0.2 - resolution: "call-bind@npm:1.0.2" +"call-bind@npm:^1.0.0, call-bind@npm:^1.0.2, call-bind@npm:^1.0.5, call-bind@npm:^1.0.6, call-bind@npm:^1.0.7": + version: 1.0.7 + resolution: "call-bind@npm:1.0.7" dependencies: - function-bind: "npm:^1.1.1" - get-intrinsic: "npm:^1.0.2" - checksum: ca787179c1cbe09e1697b56ad499fd05dc0ae6febe5081d728176ade699ea6b1589240cb1ff1fe11fcf9f61538c1af60ad37e8eb2ceb4ef21cd6085dfd3ccedd - languageName: node - linkType: hard - -"call-me-maybe@npm:^1.0.1": - version: 1.0.2 - resolution: "call-me-maybe@npm:1.0.2" - checksum: 3d375b6f810a82c751157b199daba60452876186c19ac653e81bfc5fc10d1e2ba7aedb8622367c3a8aca6879f0e6a29435a1193b35edb8f7fd8267a67ea32373 + es-define-property: "npm:^1.0.0" + es-errors: "npm:^1.3.0" + function-bind: "npm:^1.1.2" + get-intrinsic: "npm:^1.2.4" + set-function-length: "npm:^1.2.1" + checksum: 10/cd6fe658e007af80985da5185bff7b55e12ef4c2b6f41829a26ed1eef254b1f1c12e3dfd5b2b068c6ba8b86aba62390842d81752e67dcbaec4f6f76e7113b6b7 languageName: node linkType: hard "callsites@npm:^3.0.0, callsites@npm:^3.1.0": version: 3.1.0 resolution: "callsites@npm:3.1.0" - checksum: 072d17b6abb459c2ba96598918b55868af677154bec7e73d222ef95a8fdb9bbf7dae96a8421085cdad8cd190d86653b5b6dc55a4484f2e5b2e27d5e0c3fc15b3 - languageName: node - linkType: hard - -"camelcase-keys@npm:^6.2.2": - version: 6.2.2 - resolution: "camelcase-keys@npm:6.2.2" - dependencies: - camelcase: "npm:^5.3.1" - map-obj: "npm:^4.0.0" - quick-lru: "npm:^4.0.1" - checksum: c1999f5b6d03bee7be9a36e48eef3da9e93e51b000677348ec8d15d51fc4418375890fb6c7155e387322d2ebb2a2cdebf9cd96607a6753d1d6c170d9b1e2eed5 - languageName: node - linkType: hard - -"camelcase-keys@npm:^7.0.0": - version: 7.0.2 - resolution: "camelcase-keys@npm:7.0.2" - dependencies: - camelcase: "npm:^6.3.0" - map-obj: "npm:^4.1.0" - quick-lru: "npm:^5.1.1" - type-fest: "npm:^1.2.1" - checksum: 6f92d969b7fa97456ffc35fe93f0a42d0d0a00fbd94bfc6cac07c84da86e6acfb89fdf04151460d47c583d2dd38a3e9406f980efe9a3d2e143cdfe46a7343083 - languageName: node - linkType: hard - -"camelcase@npm:^5.3.1": - version: 5.3.1 - resolution: "camelcase@npm:5.3.1" - checksum: e6effce26b9404e3c0f301498184f243811c30dfe6d0b9051863bd8e4034d09c8c2923794f280d6827e5aa055f6c434115ff97864a16a963366fb35fd673024b - languageName: node - linkType: hard - -"camelcase@npm:^6.3.0": - version: 6.3.0 - resolution: "camelcase@npm:6.3.0" - checksum: 8c96818a9076434998511251dcb2761a94817ea17dbdc37f47ac080bd088fc62c7369429a19e2178b993497132c8cbcf5cc1f44ba963e76782ba469c0474938d - languageName: node - linkType: hard - -"cardinal@npm:^2.1.1": - version: 2.1.1 - resolution: "cardinal@npm:2.1.1" - dependencies: - ansicolors: "npm:~0.3.2" - redeyed: "npm:~2.1.0" - bin: - cdl: ./bin/cdl.js - checksum: caf0d34739ef7b1d80e1753311f889997b62c4490906819eb5da5bd46e7f5e5caba7a8a96ca401190c7d9c18443a7749e5338630f7f9a1ae98d60cac49b9008e - languageName: node - linkType: hard - -"chai-each@npm:0.0.1": - version: 0.0.1 - resolution: "chai-each@npm:0.0.1" - checksum: bc4dc57fd60687a2dbe212e4a9cfc6e4598931749f66a48d3aa800dd821ec3f7e31bd53937fb16ff6f5936be94e11e50f3baee4b243a838ceeb46e6b7bfa72e3 + checksum: 10/072d17b6abb459c2ba96598918b55868af677154bec7e73d222ef95a8fdb9bbf7dae96a8421085cdad8cd190d86653b5b6dc55a4484f2e5b2e27d5e0c3fc15b3 languageName: node linkType: hard -"chai-fs@npm:2.0.0": - version: 2.0.0 - resolution: "chai-fs@npm:2.0.0" - dependencies: - bit-mask: "npm:^1.0.1" - readdir-enhanced: "npm:^1.4.0" - peerDependencies: - chai: ">= 1.6.1 < 5" - checksum: c5b756b1c9b345f13d138d87aaf85cb9d2133d4651297a18b96bcbd6a1039e92906e4c54e6fb7981b377d947cf89316abc1d3451c6b0b71dd00fab273beac7f4 +"caniuse-lite@npm:^1.0.30001646": + version: 1.0.30001651 + resolution: "caniuse-lite@npm:1.0.30001651" + checksum: 10/fe4857b2a91a9cb77993eec9622de68bea0df17c31cb9584ca5c562f64bb3b8fda316d898aa3b1ee3ee9f7d80f6bf13c42acb09d9a56a1a6c64afaf7381472fa languageName: node linkType: hard -"chai-quantifiers@npm:1.0.17": - version: 1.0.17 - resolution: "chai-quantifiers@npm:1.0.17" - peerDependencies: - chai: ^4.x.x - checksum: 7277203fc7d8a17b44defd3f1f56a50891970b6d86e63a39cd94e926d5f5df7a3c00318919481902fffcb905ebbde25deeca6a0255e3ce418cdbf307d38880b1 +"ccount@npm:^2.0.0": + version: 2.0.1 + resolution: "ccount@npm:2.0.1" + checksum: 10/48193dada54c9e260e0acf57fc16171a225305548f9ad20d5471e0f7a8c026aedd8747091dccb0d900cde7df4e4ddbd235df0d8de4a64c71b12f0d3303eeafd4 languageName: node linkType: hard @@ -2928,21 +3569,20 @@ __metadata: resolution: "chai-string@npm:1.5.0" peerDependencies: chai: ^4.1.2 - checksum: 39b9511525c99b9d378210897caf6352be34976c24f2e773680c2de4173d2071f3010ea0348bf681e2a201564524e28dd5541ebce8a181a455c8aeefe2a7bda3 + checksum: 10/39b9511525c99b9d378210897caf6352be34976c24f2e773680c2de4173d2071f3010ea0348bf681e2a201564524e28dd5541ebce8a181a455c8aeefe2a7bda3 languageName: node linkType: hard -"chai@npm:5.0.0-alpha.1": - version: 5.0.0-alpha.1 - resolution: "chai@npm:5.0.0-alpha.1" +"chai@npm:5.1.2, chai@npm:^5.1.2": + version: 5.1.2 + resolution: "chai@npm:5.1.2" dependencies: - assertion-error: "npm:^1.1.0" - check-error: "npm:^2.0.0" - deep-eql: "npm:^4.1.2" - loupe: "npm:^2.3.1" + assertion-error: "npm:^2.0.1" + check-error: "npm:^2.1.1" + deep-eql: "npm:^5.0.1" + loupe: "npm:^3.1.0" pathval: "npm:^2.0.0" - type-detect: "npm:^4.0.5" - checksum: 5a3cbe4694bc620b9d0e095ccf59e9512a2600f4f883dd32f06fdff221c3b47b79e124f58f634dc3767d90a24a940b3c8054098a386d663c96bc5bf9e175230c + checksum: 10/e8c2bbc83cb5a2f87130d93056d4cfbbe04106e12aa798b504816dbe3fa538a9f68541b472e56cbf0f54558b501d7e31867d74b8218abcd5a8cc8ba536fba46c languageName: node linkType: hard @@ -2951,14 +3591,7 @@ __metadata: resolution: "chalk-template@npm:1.1.0" dependencies: chalk: "npm:^5.2.0" - checksum: 868aae8d4e7556ad2f35de4e04fe65dbe1ea6c5c80ad783f1c156d0a5c33f444c6814f49cbb68fe348c78e99daf2bcf566b47ad7e13603e4691ca78b2f422824 - languageName: node - linkType: hard - -"chalk@npm:5.3.0, chalk@npm:^5.2.0, chalk@npm:^5.3.0": - version: 5.3.0 - resolution: "chalk@npm:5.3.0" - checksum: 6373caaab21bd64c405bfc4bd9672b145647fc9482657b5ea1d549b3b2765054e9d3d928870cdf764fb4aad67555f5061538ff247b8310f110c5c888d92397ea + checksum: 10/868aae8d4e7556ad2f35de4e04fe65dbe1ea6c5c80ad783f1c156d0a5c33f444c6814f49cbb68fe348c78e99daf2bcf566b47ad7e13603e4691ca78b2f422824 languageName: node linkType: hard @@ -2969,7 +3602,7 @@ __metadata: ansi-styles: "npm:^3.2.1" escape-string-regexp: "npm:^1.0.5" supports-color: "npm:^5.3.0" - checksum: 3d1d103433166f6bfe82ac75724951b33769675252d8417317363ef9d54699b7c3b2d46671b772b893a8e50c3ece70c4b933c73c01e81bc60ea4df9b55afa303 + checksum: 10/3d1d103433166f6bfe82ac75724951b33769675252d8417317363ef9d54699b7c3b2d46671b772b893a8e50c3ece70c4b933c73c01e81bc60ea4df9b55afa303 languageName: node linkType: hard @@ -2979,63 +3612,124 @@ __metadata: dependencies: ansi-styles: "npm:^4.1.0" supports-color: "npm:^7.1.0" - checksum: cb3f3e594913d63b1814d7ca7c9bafbf895f75fbf93b92991980610dfd7b48500af4e3a5d4e3a8f337990a96b168d7eb84ee55efdce965e2ee8efc20f8c8f139 + checksum: 10/cb3f3e594913d63b1814d7ca7c9bafbf895f75fbf93b92991980610dfd7b48500af4e3a5d4e3a8f337990a96b168d7eb84ee55efdce965e2ee8efc20f8c8f139 + languageName: node + linkType: hard + +"chalk@npm:^5.0.0, chalk@npm:^5.2.0, chalk@npm:^5.3.0, chalk@npm:^5.4.1": + version: 5.4.1 + resolution: "chalk@npm:5.4.1" + checksum: 10/29df3ffcdf25656fed6e95962e2ef86d14dfe03cd50e7074b06bad9ffbbf6089adbb40f75c00744d843685c8d008adaf3aed31476780312553caf07fa86e5bc7 languageName: node linkType: hard "char-regex@npm:^1.0.2": version: 1.0.2 resolution: "char-regex@npm:1.0.2" - checksum: 1ec5c2906adb9f84e7f6732a40baef05d7c85401b82ffcbc44b85fbd0f7a2b0c2a96f2eb9cf55cae3235dc12d4023003b88f09bcae8be9ae894f52ed746f4d48 + checksum: 10/1ec5c2906adb9f84e7f6732a40baef05d7c85401b82ffcbc44b85fbd0f7a2b0c2a96f2eb9cf55cae3235dc12d4023003b88f09bcae8be9ae894f52ed746f4d48 + languageName: node + linkType: hard + +"character-entities-html4@npm:^2.0.0": + version: 2.1.0 + resolution: "character-entities-html4@npm:2.1.0" + checksum: 10/7034aa7c7fa90309667f6dd50499c8a760c3d3a6fb159adb4e0bada0107d194551cdbad0714302f62d06ce4ed68565c8c2e15fdef2e8f8764eb63fa92b34b11d languageName: node linkType: hard "character-entities-legacy@npm:^1.0.0": version: 1.1.4 resolution: "character-entities-legacy@npm:1.1.4" - checksum: fe03a82c154414da3a0c8ab3188e4237ec68006cbcd681cf23c7cfb9502a0e76cd30ab69a2e50857ca10d984d57de3b307680fff5328ccd427f400e559c3a811 + checksum: 10/fe03a82c154414da3a0c8ab3188e4237ec68006cbcd681cf23c7cfb9502a0e76cd30ab69a2e50857ca10d984d57de3b307680fff5328ccd427f400e559c3a811 + languageName: node + linkType: hard + +"character-entities-legacy@npm:^3.0.0": + version: 3.0.0 + resolution: "character-entities-legacy@npm:3.0.0" + checksum: 10/7582af055cb488b626d364b7d7a4e46b06abd526fb63c0e4eb35bcb9c9799cc4f76b39f34fdccef2d1174ac95e53e9ab355aae83227c1a2505877893fce77731 languageName: node linkType: hard "character-entities@npm:^1.0.0": version: 1.2.4 resolution: "character-entities@npm:1.2.4" - checksum: 7c11641c48d1891aaba7bc800d4500804d91a28f46d64e88c001c38e6ab2e7eae28873a77ae16e6c55d24cac35ddfbb15efe56c3012b86684a3c4e95c70216b7 + checksum: 10/7c11641c48d1891aaba7bc800d4500804d91a28f46d64e88c001c38e6ab2e7eae28873a77ae16e6c55d24cac35ddfbb15efe56c3012b86684a3c4e95c70216b7 + languageName: node + linkType: hard + +"character-entities@npm:^2.0.0": + version: 2.0.2 + resolution: "character-entities@npm:2.0.2" + checksum: 10/c8dd1f4bf1a92fccf7d2fad9673660a88b37854557d30f6076c32fedfb92d1420208298829ff1d3b6b4fa1c7012e8326c45e7f5c3ed1e9a09ec177593c521b2f languageName: node linkType: hard "character-reference-invalid@npm:^1.0.0": version: 1.1.4 resolution: "character-reference-invalid@npm:1.1.4" - checksum: 812ebc5e6e8d08fd2fa5245ae78c1e1a4bea4692e93749d256a135c4a442daf931ca18e067cc61ff4a58a419eae52677126a0bc4f05a511290427d60d3057805 + checksum: 10/812ebc5e6e8d08fd2fa5245ae78c1e1a4bea4692e93749d256a135c4a442daf931ca18e067cc61ff4a58a419eae52677126a0bc4f05a511290427d60d3057805 languageName: node linkType: hard -"chardet@npm:^0.7.0": - version: 0.7.0 - resolution: "chardet@npm:0.7.0" - checksum: b0ec668fba5eeec575ed2559a0917ba41a6481f49063c8445400e476754e0957ee09e44dc032310f526182b8f1bf25e9d4ed371f74050af7be1383e06bc44952 +"character-reference-invalid@npm:^2.0.0": + version: 2.0.1 + resolution: "character-reference-invalid@npm:2.0.1" + checksum: 10/98d3b1a52ae510b7329e6ee7f6210df14f1e318c5415975d4c9e7ee0ef4c07875d47c6e74230c64551f12f556b4a8ccc24d9f3691a2aa197019e72a95e9297ee languageName: node linkType: hard -"check-error@npm:^2.0.0": - version: 2.0.0 - resolution: "check-error@npm:2.0.0" - checksum: 120f252c2e1ad82ef82a616662805345c6c361347bfd6203f8a28c53a158811dd0ea21278f29c8136cc9df12fc7f077d1a07124569d98fb396b3072d08f2f092 +"check-error@npm:^2.1.1": + version: 2.1.1 + resolution: "check-error@npm:2.1.1" + checksum: 10/d785ed17b1d4a4796b6e75c765a9a290098cf52ff9728ce0756e8ffd4293d2e419dd30c67200aee34202463b474306913f2fcfaf1890641026d9fc6966fea27a + languageName: node + linkType: hard + +"chokidar@npm:^3.0.0": + version: 3.6.0 + resolution: "chokidar@npm:3.6.0" + dependencies: + anymatch: "npm:~3.1.2" + braces: "npm:~3.0.2" + fsevents: "npm:~2.3.2" + glob-parent: "npm:~5.1.2" + is-binary-path: "npm:~2.1.0" + is-glob: "npm:~4.0.1" + normalize-path: "npm:~3.0.0" + readdirp: "npm:~3.6.0" + dependenciesMeta: + fsevents: + optional: true + checksum: 10/c327fb07704443f8d15f7b4a7ce93b2f0bc0e6cea07ec28a7570aa22cd51fcf0379df589403976ea956c369f25aa82d84561947e227cd925902e1751371658df languageName: node linkType: hard "chownr@npm:^2.0.0": version: 2.0.0 resolution: "chownr@npm:2.0.0" - checksum: c57cf9dd0791e2f18a5ee9c1a299ae6e801ff58fee96dc8bfd0dcb4738a6ce58dd252a3605b1c93c6418fe4f9d5093b28ffbf4d66648cb2a9c67eaef9679be2f + checksum: 10/c57cf9dd0791e2f18a5ee9c1a299ae6e801ff58fee96dc8bfd0dcb4738a6ce58dd252a3605b1c93c6418fe4f9d5093b28ffbf4d66648cb2a9c67eaef9679be2f languageName: node linkType: hard -"ci-info@npm:^3.1.0, ci-info@npm:^3.2.0, ci-info@npm:^3.8.0": +"ci-info@npm:^3.1.0": version: 3.8.0 resolution: "ci-info@npm:3.8.0" - checksum: b00e9313c1f7042ca8b1297c157c920d6d69f0fbad7b867910235676df228c4b4f4df33d06cacae37f9efba7a160b0a167c6be85492b419ef71d85660e60606b + checksum: 10/b00e9313c1f7042ca8b1297c157c920d6d69f0fbad7b867910235676df228c4b4f4df33d06cacae37f9efba7a160b0a167c6be85492b419ef71d85660e60606b + languageName: node + linkType: hard + +"ci-info@npm:^4.0.0, ci-info@npm:^4.1.0": + version: 4.1.0 + resolution: "ci-info@npm:4.1.0" + checksum: 10/546628efd04e37da3182a58b6995a3313deb86ec7c8112e22ffb644317a61296b89bbfa128219e5bfcce43d9613a434ed89907ed8e752db947f7291e0405125f + languageName: node + linkType: hard + +"cjs-module-lexer@npm:^1.2.3": + version: 1.4.1 + resolution: "cjs-module-lexer@npm:1.4.1" + checksum: 10/6e830a1e00a34d416949bbc1924f3e8da65cef4a6a09e2b7fa35722e2d1c34bf378d3baca987b698d1cbc3eb83e44b044039b4e82755c96f30e0f03d1d227637 languageName: node linkType: hard @@ -3046,7 +3740,18 @@ __metadata: "@types/validator": "npm:^13.7.10" libphonenumber-js: "npm:^1.10.14" validator: "npm:^13.7.0" - checksum: bf550a4ab7b424467737c75e7e6171a45fe010ccab6af50793539d9d2e1f5cce1a35fbc8b11f9a5de4f049852f768232acca16f05cf80993a36369b494560f44 + checksum: 10/bf550a4ab7b424467737c75e7e6171a45fe010ccab6af50793539d9d2e1f5cce1a35fbc8b11f9a5de4f049852f768232acca16f05cf80993a36369b494560f44 + languageName: node + linkType: hard + +"class-validator@npm:0.14.1": + version: 0.14.1 + resolution: "class-validator@npm:0.14.1" + dependencies: + "@types/validator": "npm:^13.11.8" + libphonenumber-js: "npm:^1.10.53" + validator: "npm:^13.9.0" + checksum: 10/0c34592a1cbdd5e9c35cd02f4babd94120339e875fc7627aa2bf5dffb45ecc373275e854389c6ff3d39781cddb85a18193b4e9e8f4d77d6d90e445fd0b8b8e11 languageName: node linkType: hard @@ -3055,23 +3760,14 @@ __metadata: resolution: "clean-regexp@npm:1.0.0" dependencies: escape-string-regexp: "npm:^1.0.5" - checksum: 0b1ce281b07da2463c6882ea2e8409119b6cabbd9f687cdbdcee942c45b2b9049a2084f7b5f228c63ef9f21e722963ae0bfe56a735dbdbdd92512867625a7e40 + checksum: 10/0b1ce281b07da2463c6882ea2e8409119b6cabbd9f687cdbdcee942c45b2b9049a2084f7b5f228c63ef9f21e722963ae0bfe56a735dbdbdd92512867625a7e40 languageName: node linkType: hard "clean-stack@npm:^2.0.0": version: 2.2.0 resolution: "clean-stack@npm:2.2.0" - checksum: 2ac8cd2b2f5ec986a3c743935ec85b07bc174d5421a5efc8017e1f146a1cf5f781ae962618f416352103b32c9cd7e203276e8c28241bbe946160cab16149fb68 - languageName: node - linkType: hard - -"clean-stack@npm:^4.0.0": - version: 4.2.0 - resolution: "clean-stack@npm:4.2.0" - dependencies: - escape-string-regexp: "npm:5.0.0" - checksum: 373f656a31face5c615c0839213b9b542a0a48057abfb1df66900eab4dc2a5c6097628e4a0b5aa559cdfc4e66f8a14ea47be9681773165a44470ef5fb8ccc172 + checksum: 10/2ac8cd2b2f5ec986a3c743935ec85b07bc174d5421a5efc8017e1f146a1cf5f781ae962618f416352103b32c9cd7e203276e8c28241bbe946160cab16149fb68 languageName: node linkType: hard @@ -3081,55 +3777,47 @@ __metadata: dependencies: parent-module: "npm:^2.0.0" resolve-from: "npm:^5.0.0" - checksum: 4931f0c461f5d7b9b79f62c2d1bc31c37f7f1d33b4e95eef7080a83955c0374f4c180f5a96cc4d63bbefc64a9aa5d12b155641109e8e489dfa50fd5820e5101f - languageName: node - linkType: hard - -"cli-cursor@npm:^3.1.0": - version: 3.1.0 - resolution: "cli-cursor@npm:3.1.0" - dependencies: - restore-cursor: "npm:^3.1.0" - checksum: 2692784c6cd2fd85cfdbd11f53aea73a463a6d64a77c3e098b2b4697a20443f430c220629e1ca3b195ea5ac4a97a74c2ee411f3807abf6df2b66211fec0c0a29 + checksum: 10/4931f0c461f5d7b9b79f62c2d1bc31c37f7f1d33b4e95eef7080a83955c0374f4c180f5a96cc4d63bbefc64a9aa5d12b155641109e8e489dfa50fd5820e5101f languageName: node linkType: hard -"cli-cursor@npm:^4.0.0": - version: 4.0.0 - resolution: "cli-cursor@npm:4.0.0" +"cli-highlight@npm:^2.1.11": + version: 2.1.11 + resolution: "cli-highlight@npm:2.1.11" dependencies: - restore-cursor: "npm:^4.0.0" - checksum: ab3f3ea2076e2176a1da29f9d64f72ec3efad51c0960898b56c8a17671365c26e67b735920530eaf7328d61f8bd41c27f46b9cf6e4e10fe2fa44b5e8c0e392cc + chalk: "npm:^4.0.0" + highlight.js: "npm:^10.7.1" + mz: "npm:^2.4.0" + parse5: "npm:^5.1.1" + parse5-htmlparser2-tree-adapter: "npm:^6.0.0" + yargs: "npm:^16.0.0" + bin: + highlight: bin/highlight + checksum: 10/05d2b5beb8a4d3259f693517d013bf53d04ad20f470b77c3d02e051963092fae388388e3127f67d3679884a0c32cb855bf590292017c5e68c0f8d86f4b8e146e languageName: node linkType: hard -"cli-table3@npm:^0.6.3": - version: 0.6.3 - resolution: "cli-table3@npm:0.6.3" +"cli-table3@npm:^0.6.3, cli-table3@npm:^0.6.5": + version: 0.6.5 + resolution: "cli-table3@npm:0.6.5" dependencies: "@colors/colors": "npm:1.5.0" string-width: "npm:^4.2.0" dependenciesMeta: "@colors/colors": optional: true - checksum: 8d82b75be7edc7febb1283dc49582a521536527cba80af62a2e4522a0ee39c252886a1a2f02d05ae9d753204dbcffeb3a40d1358ee10dccd7fe8d935cfad3f85 + checksum: 10/8dca71256f6f1367bab84c33add3f957367c7c43750a9828a4212ebd31b8df76bd7419d386e3391ac7419698a8540c25f1a474584028f35b170841cde2e055c5 languageName: node linkType: hard -"cli-truncate@npm:^3.1.0": - version: 3.1.0 - resolution: "cli-truncate@npm:3.1.0" +"cliui@npm:^7.0.2": + version: 7.0.4 + resolution: "cliui@npm:7.0.4" dependencies: - slice-ansi: "npm:^5.0.0" - string-width: "npm:^5.0.0" - checksum: c3243e41974445691c63f8b405df1d5a24049dc33d324fe448dc572e561a7b772ae982692900b1a5960901cc4fc7def25a629b9c69a4208ee89d12ab3332617a - languageName: node - linkType: hard - -"cli-width@npm:^3.0.0": - version: 3.0.0 - resolution: "cli-width@npm:3.0.0" - checksum: 8730848b04fb189666ab037a35888d191c8f05b630b1d770b0b0e4c920b47bb5cc14bddf6b8ffe5bfc66cee97c8211d4d18e756c1ffcc75d7dbe7e1186cd7826 + string-width: "npm:^4.2.0" + strip-ansi: "npm:^6.0.0" + wrap-ansi: "npm:^7.0.0" + checksum: 10/db858c49af9d59a32d603987e6fddaca2ce716cd4602ba5a2bb3a5af1351eebe82aba8dff3ef3e1b331f7fa9d40ca66e67bdf8e7c327ce0ea959747ead65c0ef languageName: node linkType: hard @@ -3140,7 +3828,21 @@ __metadata: string-width: "npm:^4.2.0" strip-ansi: "npm:^6.0.1" wrap-ansi: "npm:^7.0.0" - checksum: eaa5561aeb3135c2cddf7a3b3f562fc4238ff3b3fc666869ef2adf264be0f372136702f16add9299087fb1907c2e4ec5dbfe83bd24bce815c70a80c6c1a2e950 + checksum: 10/eaa5561aeb3135c2cddf7a3b3f562fc4238ff3b3fc666869ef2adf264be0f372136702f16add9299087fb1907c2e4ec5dbfe83bd24bce815c70a80c6c1a2e950 + languageName: node + linkType: hard + +"co@npm:3.1.0": + version: 3.1.0 + resolution: "co@npm:3.1.0" + checksum: 10/b6d7194a9e58906698f4ecca640a829b5c2b209678e7ff37ab91c84b745bbfa5096ba6dddd9d4bc1c829bea88e3f600d960e2d732473a992cbebce7a585068f6 + languageName: node + linkType: hard + +"collapse-white-space@npm:^2.0.0": + version: 2.1.0 + resolution: "collapse-white-space@npm:2.1.0" + checksum: 10/c1424ae7c5ff370ec06bbff5990382c54ae6e14a021c7568151e4889e514667e110cc3a051fe5d8e17b117f76304fffcfe9f0360cda642cf0201a5ac398bf0e7 languageName: node linkType: hard @@ -3149,7 +3851,7 @@ __metadata: resolution: "color-convert@npm:1.9.3" dependencies: color-name: "npm:1.1.3" - checksum: ffa319025045f2973919d155f25e7c00d08836b6b33ea2d205418c59bd63a665d713c52d9737a9e0fe467fb194b40fbef1d849bae80d674568ee220a31ef3d10 + checksum: 10/ffa319025045f2973919d155f25e7c00d08836b6b33ea2d205418c59bd63a665d713c52d9737a9e0fe467fb194b40fbef1d849bae80d674568ee220a31ef3d10 languageName: node linkType: hard @@ -3158,21 +3860,21 @@ __metadata: resolution: "color-convert@npm:2.0.1" dependencies: color-name: "npm:~1.1.4" - checksum: fa00c91b4332b294de06b443923246bccebe9fab1b253f7fe1772d37b06a2269b4039a85e309abe1fe11b267b11c08d1d0473fda3badd6167f57313af2887a64 + checksum: 10/fa00c91b4332b294de06b443923246bccebe9fab1b253f7fe1772d37b06a2269b4039a85e309abe1fe11b267b11c08d1d0473fda3badd6167f57313af2887a64 languageName: node linkType: hard "color-name@npm:1.1.3": version: 1.1.3 resolution: "color-name@npm:1.1.3" - checksum: 09c5d3e33d2105850153b14466501f2bfb30324a2f76568a408763a3b7433b0e50e5b4ab1947868e65cb101bb7cb75029553f2c333b6d4b8138a73fcc133d69d + checksum: 10/09c5d3e33d2105850153b14466501f2bfb30324a2f76568a408763a3b7433b0e50e5b4ab1947868e65cb101bb7cb75029553f2c333b6d4b8138a73fcc133d69d languageName: node linkType: hard "color-name@npm:~1.1.4": version: 1.1.4 resolution: "color-name@npm:1.1.4" - checksum: b0445859521eb4021cd0fb0cc1a75cecf67fceecae89b63f62b201cca8d345baf8b952c966862a9d9a2632987d4f6581f0ec8d957dfacece86f0a7919316f610 + checksum: 10/b0445859521eb4021cd0fb0cc1a75cecf67fceecae89b63f62b201cca8d345baf8b952c966862a9d9a2632987d4f6581f0ec8d957dfacece86f0a7919316f610 languageName: node linkType: hard @@ -3181,67 +3883,62 @@ __metadata: resolution: "color-support@npm:1.1.3" bin: color-support: bin.js - checksum: 4bcfe30eea1498fe1cabc852bbda6c9770f230ea0e4faf4611c5858b1b9e4dde3730ac485e65f54ca182f4c50b626c1bea7c8441ceda47367a54a818c248aa7a - languageName: node - linkType: hard - -"colorette@npm:^2.0.20": - version: 2.0.20 - resolution: "colorette@npm:2.0.20" - checksum: 0b8de48bfa5d10afc160b8eaa2b9938f34a892530b2f7d7897e0458d9535a066e3998b49da9d21161c78225b272df19ae3a64d6df28b4c9734c0e55bbd02406f + checksum: 10/4bcfe30eea1498fe1cabc852bbda6c9770f230ea0e4faf4611c5858b1b9e4dde3730ac485e65f54ca182f4c50b626c1bea7c8441ceda47367a54a818c248aa7a languageName: node linkType: hard -"command-line-args@npm:^5.1.1": - version: 5.2.1 - resolution: "command-line-args@npm:5.2.1" - dependencies: - array-back: "npm:^3.1.0" - find-replace: "npm:^3.0.0" - lodash.camelcase: "npm:^4.3.0" - typical: "npm:^4.0.0" - checksum: e6a42652ae8843fbb56e2fba1e85da00a16a0482896bb1849092e1bc70b8bf353d945e69732bf4ae98370ff84e8910ff4933af8f2f747806a6b2cb5074799fdb +"comma-separated-tokens@npm:^2.0.0": + version: 2.0.3 + resolution: "comma-separated-tokens@npm:2.0.3" + checksum: 10/e3bf9e0332a5c45f49b90e79bcdb4a7a85f28d6a6f0876a94f1bb9b2bfbdbbb9292aac50e1e742d8c0db1e62a0229a106f57917e2d067fca951d81737651700d languageName: node linkType: hard "commander@npm:11.0.0": version: 11.0.0 resolution: "commander@npm:11.0.0" - checksum: 71cf453771c15d4e94afdd76a1e9bb31597dbc5f33130a1d399a4a7bc14eac765ebca7f0e077f347e5119087f6faa0017fd5e3cb6e4fc5c453853334c26162bc + checksum: 10/71cf453771c15d4e94afdd76a1e9bb31597dbc5f33130a1d399a4a7bc14eac765ebca7f0e077f347e5119087f6faa0017fd5e3cb6e4fc5c453853334c26162bc + languageName: node + linkType: hard + +"commander@npm:^10.0.1": + version: 10.0.1 + resolution: "commander@npm:10.0.1" + checksum: 10/8799faa84a30da985802e661cc9856adfaee324d4b138413013ef7f087e8d7924b144c30a1f1405475f0909f467665cd9e1ce13270a2f41b141dab0b7a58f3fb languageName: node linkType: hard -"commander@npm:11.1.0, commander@npm:^11.0.0, commander@npm:^11.1.0": +"commander@npm:^11.0.0": version: 11.1.0 resolution: "commander@npm:11.1.0" - checksum: 66bd2d8a0547f6cb1d34022efb25f348e433b0e04ad76a65279b1b09da108f59a4d3001ca539c60a7a46ea38bcf399fc17d91adad76a8cf43845d8dcbaf5cda1 + checksum: 10/66bd2d8a0547f6cb1d34022efb25f348e433b0e04ad76a65279b1b09da108f59a4d3001ca539c60a7a46ea38bcf399fc17d91adad76a8cf43845d8dcbaf5cda1 languageName: node linkType: hard -"commander@npm:^10.0.1": - version: 10.0.1 - resolution: "commander@npm:10.0.1" - checksum: 8799faa84a30da985802e661cc9856adfaee324d4b138413013ef7f087e8d7924b144c30a1f1405475f0909f467665cd9e1ce13270a2f41b141dab0b7a58f3fb +"commander@npm:^13.0.0": + version: 13.1.0 + resolution: "commander@npm:13.1.0" + checksum: 10/d3b4b79e6be8471ddadacbb8cd441fe82154d7da7393b50e76165a9e29ccdb74fa911a186437b9a211d0fc071db6051915c94fb8ef16d77511d898e9dbabc6af languageName: node linkType: hard -"comment-json@npm:^4.2.3": - version: 4.2.3 - resolution: "comment-json@npm:4.2.3" +"comment-json@npm:^4.2.5": + version: 4.2.5 + resolution: "comment-json@npm:4.2.5" dependencies: array-timsort: "npm:^1.0.3" core-util-is: "npm:^1.0.3" esprima: "npm:^4.0.1" has-own-prop: "npm:^2.0.0" repeat-string: "npm:^1.6.1" - checksum: 97eb6ff8231653864cea5c7721636e823194f0322cd7f0faa6154a1c5b5eb1cab2ca60526bc36d5b39e7c2bcf7eb175b57fd8e44b1c398f0c70ea8c9a114e834 + checksum: 10/dc347621de15043a16846a1697a6248b427e913ddfb57f3427ca4eedf9c92131000d5e8efc8be9fe191a74dc36b615d73207fc3585bf29ca1b8d32e90d40c801 languageName: node linkType: hard -"comment-parser@npm:1.3.1": - version: 1.3.1 - resolution: "comment-parser@npm:1.3.1" - checksum: d533b527539472a4431f282afa406acd74f792728223984114e1ba10a417c06df91f2364e8aee41a78e9c92243c3bcc57b1ddc9a2a77342326ddb942b56d5060 +"comment-parser@npm:1.4.1": + version: 1.4.1 + resolution: "comment-parser@npm:1.4.1" + checksum: 10/16a3260b5e77819ebd9c99b0b65c7d6723b1ff73487bac9ce2d8f016a2847dd689e8663b88e1fad1444bbea89847c42f785708ac86a2c55f614f7095249bbf6b languageName: node linkType: hard @@ -3251,57 +3948,56 @@ __metadata: dependencies: array-ify: "npm:^1.0.0" dot-prop: "npm:^5.1.0" - checksum: fb71d70632baa1e93283cf9d80f30ac97f003aabee026e0b4426c9716678079ef5fea7519b84d012cbed938c476493866a38a79760564a9e21ae9433e40e6f0d + checksum: 10/fb71d70632baa1e93283cf9d80f30ac97f003aabee026e0b4426c9716678079ef5fea7519b84d012cbed938c476493866a38a79760564a9e21ae9433e40e6f0d languageName: node linkType: hard "concat-map@npm:0.0.1": version: 0.0.1 resolution: "concat-map@npm:0.0.1" - checksum: 9680699c8e2b3af0ae22592cb764acaf973f292a7b71b8a06720233011853a58e256c89216a10cbe889727532fd77f8bcd49a760cedfde271b8e006c20e079f2 + checksum: 10/9680699c8e2b3af0ae22592cb764acaf973f292a7b71b8a06720233011853a58e256c89216a10cbe889727532fd77f8bcd49a760cedfde271b8e006c20e079f2 languageName: node linkType: hard -"configstore@npm:^6.0.0": - version: 6.0.0 - resolution: "configstore@npm:6.0.0" +"concat-stream@npm:^2.0.0": + version: 2.0.0 + resolution: "concat-stream@npm:2.0.0" dependencies: - dot-prop: "npm:^6.0.1" - graceful-fs: "npm:^4.2.6" - unique-string: "npm:^3.0.0" - write-file-atomic: "npm:^3.0.3" - xdg-basedir: "npm:^5.0.1" - checksum: 81995351c10bc04c58507f17748477aeac6f47465109d20e3534cebc881d22e927cfd29e73dd852c46c55f62c2b7be4cd1fe6eb3a93ba51f7f9813c218f9bae0 + buffer-from: "npm:^1.0.0" + inherits: "npm:^2.0.3" + readable-stream: "npm:^3.0.2" + typedarray: "npm:^0.0.6" + checksum: 10/250e576d0617e7c58e1c4b2dd6fe69560f316d2c962a409f9f3aac794018499ddb31948b1e4296f217008e124cd5d526432097745157fe504b5d9f3dc469eadb languageName: node linkType: hard -"consola@npm:2.15.3, consola@npm:^2.15.0": +"consola@npm:2.15.3": version: 2.15.3 resolution: "consola@npm:2.15.3" - checksum: ba5b3c6960b2eafb9d2ff2325444dd1d4eb53115df46eba823a4e7bfe6afbba0eb34747c0de82c7cd8a939db59b0cb5a8b8a54a94bb2e44feeddc26cefde3622 + checksum: 10/ba5b3c6960b2eafb9d2ff2325444dd1d4eb53115df46eba823a4e7bfe6afbba0eb34747c0de82c7cd8a939db59b0cb5a8b8a54a94bb2e44feeddc26cefde3622 languageName: node linkType: hard "consola@npm:3.2.3": version: 3.2.3 resolution: "consola@npm:3.2.3" - checksum: 02972dcb048c337357a3628438e5976b8e45bcec22fdcfbe9cd17622992953c4d695d5152f141464a02deac769b1d23028e8ac87f56483838df7a6bbf8e0f5a2 + checksum: 10/02972dcb048c337357a3628438e5976b8e45bcec22fdcfbe9cd17622992953c4d695d5152f141464a02deac769b1d23028e8ac87f56483838df7a6bbf8e0f5a2 languageName: node linkType: hard "console-control-strings@npm:^1.1.0": version: 1.1.0 resolution: "console-control-strings@npm:1.1.0" - checksum: 27b5fa302bc8e9ae9e98c03c66d76ca289ad0c61ce2fe20ab288d288bee875d217512d2edb2363fc83165e88f1c405180cf3f5413a46e51b4fe1a004840c6cdb + checksum: 10/27b5fa302bc8e9ae9e98c03c66d76ca289ad0c61ce2fe20ab288d288bee875d217512d2edb2363fc83165e88f1c405180cf3f5413a46e51b4fe1a004840c6cdb languageName: node linkType: hard -"conventional-changelog-angular@npm:^6.0.0": - version: 6.0.0 - resolution: "conventional-changelog-angular@npm:6.0.0" +"conventional-changelog-angular@npm:^7.0.0": + version: 7.0.0 + resolution: "conventional-changelog-angular@npm:7.0.0" dependencies: compare-func: "npm:^2.0.0" - checksum: ddc59ead53a45b817d83208200967f5340866782b8362d5e2e34105fdfa3d3a31585ebbdec7750bdb9de53da869f847e8ca96634a9801f51e27ecf4e7ffe2bad + checksum: 10/e7966d2fee5475e76263f30f8b714b2b592b5bf556df225b7091e5090831fc9a20b99598a7d2997e19c2ef8118c0a3150b1eba290786367b0f55a5ccfa804ec9 languageName: node linkType: hard @@ -3312,35 +4008,7 @@ __metadata: compare-func: "npm:^2.0.0" lodash: "npm:^4.17.15" q: "npm:^1.5.1" - checksum: cf67329999ed5798fcca243a5d66479f6f8f2122e61a3144186ae3fd15481e9d6647ed7ca74d59d5cfdc568f8c4298ae4cd90b389aecd285cc6a1ba823d85a96 - languageName: node - linkType: hard - -"conventional-changelog-preset-loader@npm:^4.1.0": - version: 4.1.0 - resolution: "conventional-changelog-preset-loader@npm:4.1.0" - checksum: 8813c34884a9e3f4be9f3a9ffa216012ee40ef8c0eb1593a70fa8ab906e08de09cab9e0b769b187a43456dbcb24b01a517b3798ebc5b8b9264af2e32c976d9c9 - languageName: node - linkType: hard - -"conventional-commits-filter@npm:^4.0.0": - version: 4.0.0 - resolution: "conventional-commits-filter@npm:4.0.0" - checksum: 46d2d90531f024d596f61d353876276e5357adb5c4684e042467bb7d159feb0a2831b74656bd3038ac9ec38d99b0b24ac39f319ad511861e1299c4cdfb5a119a - languageName: node - linkType: hard - -"conventional-commits-parser@npm:^4.0.0": - version: 4.0.0 - resolution: "conventional-commits-parser@npm:4.0.0" - dependencies: - JSONStream: "npm:^1.3.5" - is-text-path: "npm:^1.0.1" - meow: "npm:^8.1.2" - split2: "npm:^3.2.2" - bin: - conventional-commits-parser: cli.js - checksum: d3b7d947b486d3bb40f961808947ee46487429e050be840030211a80aa2eec170e427207c830f2720d8ab898649a652bbbe1825993b8bf0596517e3603f5a1bd + checksum: 10/cf67329999ed5798fcca243a5d66479f6f8f2122e61a3144186ae3fd15481e9d6647ed7ca74d59d5cfdc568f8c4298ae4cd90b389aecd285cc6a1ba823d85a96 languageName: node linkType: hard @@ -3354,85 +4022,65 @@ __metadata: split2: "npm:^4.0.0" bin: conventional-commits-parser: cli.mjs - checksum: 3b56a9313127f18c56b7fc0fdb0c49d2184ec18e0574e64580a0d5a3c3e0f3eecfb8bc3131dce967bfe9fd27debd5f42b7fc1f09e8e541e688e1dd2b57f49278 + checksum: 10/3b56a9313127f18c56b7fc0fdb0c49d2184ec18e0574e64580a0d5a3c3e0f3eecfb8bc3131dce967bfe9fd27debd5f42b7fc1f09e8e541e688e1dd2b57f49278 languageName: node linkType: hard -"conventional-recommended-bump@npm:9.0.0": - version: 9.0.0 - resolution: "conventional-recommended-bump@npm:9.0.0" +"core-js-compat@npm:^3.38.1": + version: 3.38.1 + resolution: "core-js-compat@npm:3.38.1" dependencies: - conventional-changelog-preset-loader: "npm:^4.1.0" - conventional-commits-filter: "npm:^4.0.0" - conventional-commits-parser: "npm:^5.0.0" - git-raw-commits: "npm:^4.0.0" - git-semver-tags: "npm:^7.0.0" - meow: "npm:^12.0.1" - bin: - conventional-recommended-bump: cli.mjs - checksum: a24350a2e1633bf22da884933bd0fffe750547fa9df51d8d3aeaacf5d0447f12d9bc8bf994294b945c6c79beecdfc491f47b5e07d20ebacc663c48c057344b71 - languageName: node - linkType: hard - -"convert-source-map@npm:^1.6.0": - version: 1.9.0 - resolution: "convert-source-map@npm:1.9.0" - checksum: dc55a1f28ddd0e9485ef13565f8f756b342f9a46c4ae18b843fe3c30c675d058d6a4823eff86d472f187b176f0adf51ea7b69ea38be34be4a63cbbf91b0593c8 + browserslist: "npm:^4.23.3" + checksum: 10/4e2f219354fd268895f79486461a12df96f24ed307321482fe2a43529c5a64e7c16bcba654980ba217d603444f5141d43a79058aeac77511085f065c5da72207 languageName: node linkType: hard "core-util-is@npm:^1.0.3": version: 1.0.3 resolution: "core-util-is@npm:1.0.3" - checksum: 9de8597363a8e9b9952491ebe18167e3b36e7707569eed0ebf14f8bba773611376466ae34575bca8cfe3c767890c859c74056084738f09d4e4a6f902b2ad7d99 + checksum: 10/9de8597363a8e9b9952491ebe18167e3b36e7707569eed0ebf14f8bba773611376466ae34575bca8cfe3c767890c859c74056084738f09d4e4a6f902b2ad7d99 languageName: node linkType: hard -"cosmiconfig-typescript-loader@npm:^4.0.0": - version: 4.4.0 - resolution: "cosmiconfig-typescript-loader@npm:4.4.0" +"cosmiconfig-typescript-loader@npm:^6.1.0": + version: 6.1.0 + resolution: "cosmiconfig-typescript-loader@npm:6.1.0" + dependencies: + jiti: "npm:^2.4.1" peerDependencies: "@types/node": "*" - cosmiconfig: ">=7" - ts-node: ">=10" - typescript: ">=4" - checksum: 7450491304cf498aa8bf9bffab5aaa189c1abc3e763e4ca7afca32d7c62cdba9abbc032e754ec2a6980580127c39d7227e9e5ea453c3456f150ab09196ae2661 + cosmiconfig: ">=9" + typescript: ">=5" + checksum: 10/e8b28b08759753c46a991e3d4db675480ea0081da9c098e426a89f4a12395e448c3090536d1ec1cb7adb5d7beb0ea266b7717053e3adbc283806a3b62339b68d languageName: node linkType: hard -"cosmiconfig@npm:8.0.0": - version: 8.0.0 - resolution: "cosmiconfig@npm:8.0.0" +"cosmiconfig@npm:8.2.0": + version: 8.2.0 + resolution: "cosmiconfig@npm:8.2.0" dependencies: import-fresh: "npm:^3.2.1" js-yaml: "npm:^4.1.0" parse-json: "npm:^5.0.0" path-type: "npm:^4.0.0" - checksum: 623c09750d32328383b6d3eaafcb0b9c3d610c142479a594528d8122a97e741725534158cbc6c6c313e66bcdb82dac440f5e32446ed79bab501e55e57a7b3119 + checksum: 10/e0b188f9a672ee7135851bf9d9fc8f0ba00f9769c95fda5af0ebc274804f6aeb713b753e04e706f595e1fbd0fa67c5073840666019068c0296a06057560ab39d languageName: node linkType: hard -"cosmiconfig@npm:8.3.6, cosmiconfig@npm:^8.0.0": - version: 8.3.6 - resolution: "cosmiconfig@npm:8.3.6" +"cosmiconfig@npm:^9.0.0": + version: 9.0.0 + resolution: "cosmiconfig@npm:9.0.0" dependencies: + env-paths: "npm:^2.2.1" import-fresh: "npm:^3.3.0" js-yaml: "npm:^4.1.0" parse-json: "npm:^5.2.0" - path-type: "npm:^4.0.0" peerDependencies: typescript: ">=4.9.5" peerDependenciesMeta: typescript: optional: true - checksum: 91d082baca0f33b1c085bf010f9ded4af43cbedacba8821da0fb5667184d0a848addc52c31fadd080007f904a555319c238cf5f4c03e6d58ece2e4876b2e73d6 - languageName: node - linkType: hard - -"create-require@npm:^1.1.0": - version: 1.1.1 - resolution: "create-require@npm:1.1.1" - checksum: a9a1503d4390d8b59ad86f4607de7870b39cad43d929813599a23714831e81c520bddf61bcdd1f8e30f05fd3a2b71ae8538e946eb2786dc65c2bbc520f692eff + checksum: 10/8bdf1dfbb6fdb3755195b6886dc0649a3c742ec75afa4cb8da7b070936aed22a4f4e5b7359faafe03180358f311dbc300d248fd6586c458203d376a40cc77826 languageName: node linkType: hard @@ -3444,280 +4092,295 @@ __metadata: bin: cross-env: src/bin/cross-env.js cross-env-shell: src/bin/cross-env-shell.js - checksum: e99911f0d31c20e990fd92d6fd001f4b01668a303221227cc5cb42ed155f086351b1b3bd2699b200e527ab13011b032801f8ce638e6f09f854bdf744095e604c + checksum: 10/e99911f0d31c20e990fd92d6fd001f4b01668a303221227cc5cb42ed155f086351b1b3bd2699b200e527ab13011b032801f8ce638e6f09f854bdf744095e604c languageName: node linkType: hard -"cross-spawn@npm:^7.0.0, cross-spawn@npm:^7.0.1, cross-spawn@npm:^7.0.2, cross-spawn@npm:^7.0.3": - version: 7.0.3 - resolution: "cross-spawn@npm:7.0.3" +"cross-spawn@npm:^7.0.0, cross-spawn@npm:^7.0.1, cross-spawn@npm:^7.0.6": + version: 7.0.6 + resolution: "cross-spawn@npm:7.0.6" dependencies: path-key: "npm:^3.1.0" shebang-command: "npm:^2.0.0" which: "npm:^2.0.1" - checksum: e1a13869d2f57d974de0d9ef7acbf69dc6937db20b918525a01dacb5032129bd552d290d886d981e99f1b624cb03657084cc87bd40f115c07ecf376821c729ce + checksum: 10/0d52657d7ae36eb130999dffff1168ec348687b48dd38e2ff59992ed916c88d328cf1d07ff4a4a10bc78de5e1c23f04b306d569e42f7a2293915c081e4dfee86 languageName: node linkType: hard -"crypto-random-string@npm:^4.0.0": - version: 4.0.0 - resolution: "crypto-random-string@npm:4.0.0" +"cspell-config-lib@npm:8.17.2": + version: 8.17.2 + resolution: "cspell-config-lib@npm:8.17.2" dependencies: - type-fest: "npm:^1.0.1" - checksum: cd5d7ae13803de53680aaed4c732f67209af5988cbeec5f6b29082020347c2d8849ca921b2008be7d6bd1d9d198c3c3697e7441d6d0d3da1bf51e9e4d2032149 + "@cspell/cspell-types": "npm:8.17.2" + comment-json: "npm:^4.2.5" + yaml: "npm:^2.7.0" + checksum: 10/c1c547e617c798a9c65628b65fb4c1d52f411cdea26db6320d1641b186b145fd945f2955ffe07c825f2aadb0a8b0f0664962eb76b89d061c5b255644a6772318 languageName: node linkType: hard -"cspell-dictionary@npm:7.3.8": - version: 7.3.8 - resolution: "cspell-dictionary@npm:7.3.8" +"cspell-dictionary@npm:8.17.2": + version: 8.17.2 + resolution: "cspell-dictionary@npm:8.17.2" dependencies: - "@cspell/cspell-pipe": "npm:7.3.8" - "@cspell/cspell-types": "npm:7.3.8" - cspell-trie-lib: "npm:7.3.8" - fast-equals: "npm:^4.0.3" - gensequence: "npm:^6.0.0" - checksum: b34a788d13a0cbc7b830728cef8faa3f9c6a76c6af06dad11a0adb4c91a506f30f095029be4a42e7c636372a9aab6fe6b5a36a2dcd89840b97ac29fab4b56333 + "@cspell/cspell-pipe": "npm:8.17.2" + "@cspell/cspell-types": "npm:8.17.2" + cspell-trie-lib: "npm:8.17.2" + fast-equals: "npm:^5.2.2" + checksum: 10/c3b7e2f6865ecc1084a276fb055e4ba2a6acaa38b2492682ebad2b6884ffdde171ec0372fbe80dff8639e93c035565b279de6c70c33260f140255d2edd1f61e5 languageName: node linkType: hard -"cspell-gitignore@npm:7.3.8": - version: 7.3.8 - resolution: "cspell-gitignore@npm:7.3.8" +"cspell-gitignore@npm:8.17.2": + version: 8.17.2 + resolution: "cspell-gitignore@npm:8.17.2" dependencies: - cspell-glob: "npm:7.3.8" - find-up: "npm:^5.0.0" + "@cspell/url": "npm:8.17.2" + cspell-glob: "npm:8.17.2" + cspell-io: "npm:8.17.2" + find-up-simple: "npm:^1.0.0" bin: cspell-gitignore: bin.mjs - checksum: 823803b31f2f7d585ca59fb9473c1416d07d386c6507ff2738bdde4f0286c6ceeeb22208f9824cc70eb0a45f2e1238a56a3c7a30daf676130d7433776ceed44a + checksum: 10/5964d3438024316231f3f78856205fd986f5dbb8d8aab0fafc53e2b228b09d5061ba1136bd4e4ad1cfd53a818a23bad0fee7f5443a1d2b55dab001f2afbc7333 languageName: node linkType: hard -"cspell-glob@npm:7.3.8": - version: 7.3.8 - resolution: "cspell-glob@npm:7.3.8" +"cspell-glob@npm:8.17.2": + version: 8.17.2 + resolution: "cspell-glob@npm:8.17.2" dependencies: - micromatch: "npm:^4.0.5" - checksum: ffbfc2e5f2641a9835086f5bdd483bb57fc32610c28b80972e42f32835626c9eaa0d5744171691b31f7e21344e88bf3a182a6f93d4eb502fda4721ac6d0f5828 + "@cspell/url": "npm:8.17.2" + micromatch: "npm:^4.0.8" + checksum: 10/5c191e6d51e197d6181af6f84e88269e4b01d8c1dddd6c155dac19268c60923286eb512c2027c6c403f30fa7c8171bab084edf0a3837945ef1ec6b57f20066e3 languageName: node linkType: hard -"cspell-grammar@npm:7.3.8": - version: 7.3.8 - resolution: "cspell-grammar@npm:7.3.8" +"cspell-grammar@npm:8.17.2": + version: 8.17.2 + resolution: "cspell-grammar@npm:8.17.2" dependencies: - "@cspell/cspell-pipe": "npm:7.3.8" - "@cspell/cspell-types": "npm:7.3.8" + "@cspell/cspell-pipe": "npm:8.17.2" + "@cspell/cspell-types": "npm:8.17.2" bin: cspell-grammar: bin.mjs - checksum: 5c48ffcd41448d7641fa6fb57b923f51b17b2722b811dc858ee00fe6479a1d8134fa526f4301908fd7241ea7c5c789ea741f1cfe9e9bf03bacb6dc1505160066 + checksum: 10/6c875453cac0199a28e55a4d54f14e557cb650ac0c3dc5324bee10699659116ce04b164c229751c6a4547c04155396da4988e0a859d77de1256dd17d8978ed57 languageName: node linkType: hard -"cspell-io@npm:7.3.8": - version: 7.3.8 - resolution: "cspell-io@npm:7.3.8" +"cspell-io@npm:8.17.2": + version: 8.17.2 + resolution: "cspell-io@npm:8.17.2" dependencies: - "@cspell/cspell-service-bus": "npm:7.3.8" - node-fetch: "npm:^2.7.0" - checksum: 8f9ba964203ad6772e06d02594f785e079829e750e272c03e4bc484382ecf82ed4cb4f7eadd8ddccf840901e9d49c312d23b01e29ad61bbd7ef3e2623f9734d0 + "@cspell/cspell-service-bus": "npm:8.17.2" + "@cspell/url": "npm:8.17.2" + checksum: 10/d46eba9dcc4ce3589ee8bcf632d278013dca9606f3352eef69211ebe1b2721b724b539f4b86b93af521dc6ce73a7b4d26b09df208f37d3dc1c088cbd0508cf25 languageName: node linkType: hard -"cspell-lib@npm:7.3.8": - version: 7.3.8 - resolution: "cspell-lib@npm:7.3.8" +"cspell-lib@npm:8.17.2": + version: 8.17.2 + resolution: "cspell-lib@npm:8.17.2" dependencies: - "@cspell/cspell-bundled-dicts": "npm:7.3.8" - "@cspell/cspell-pipe": "npm:7.3.8" - "@cspell/cspell-resolver": "npm:7.3.8" - "@cspell/cspell-types": "npm:7.3.8" - "@cspell/dynamic-import": "npm:7.3.8" - "@cspell/strong-weak-map": "npm:7.3.8" + "@cspell/cspell-bundled-dicts": "npm:8.17.2" + "@cspell/cspell-pipe": "npm:8.17.2" + "@cspell/cspell-resolver": "npm:8.17.2" + "@cspell/cspell-types": "npm:8.17.2" + "@cspell/dynamic-import": "npm:8.17.2" + "@cspell/filetypes": "npm:8.17.2" + "@cspell/strong-weak-map": "npm:8.17.2" + "@cspell/url": "npm:8.17.2" clear-module: "npm:^4.1.2" - comment-json: "npm:^4.2.3" - configstore: "npm:^6.0.0" - cosmiconfig: "npm:8.0.0" - cspell-dictionary: "npm:7.3.8" - cspell-glob: "npm:7.3.8" - cspell-grammar: "npm:7.3.8" - cspell-io: "npm:7.3.8" - cspell-trie-lib: "npm:7.3.8" - fast-equals: "npm:^5.0.1" - find-up: "npm:^6.3.0" - gensequence: "npm:^6.0.0" + comment-json: "npm:^4.2.5" + cspell-config-lib: "npm:8.17.2" + cspell-dictionary: "npm:8.17.2" + cspell-glob: "npm:8.17.2" + cspell-grammar: "npm:8.17.2" + cspell-io: "npm:8.17.2" + cspell-trie-lib: "npm:8.17.2" + env-paths: "npm:^3.0.0" + fast-equals: "npm:^5.2.2" + gensequence: "npm:^7.0.0" import-fresh: "npm:^3.3.0" resolve-from: "npm:^5.0.0" - vscode-languageserver-textdocument: "npm:^1.0.11" + vscode-languageserver-textdocument: "npm:^1.0.12" vscode-uri: "npm:^3.0.8" - checksum: e32e326df66a50554c9e13aa531b1af42a483d8aae1bfda97033b6476cfc9c5864334db0a3d9550470355a3e729403e330c1e1e18f111cc019d3407d148d66d9 + xdg-basedir: "npm:^5.1.0" + checksum: 10/aa8c41646b71791b7cf6fe64fe0e990f8ab2d7cc28ca30c0fdbd1130f5f4b9567d179a09ed8f67097117708ef7c99c9177bfa3c52bf245ee5db225cb27b113a5 languageName: node linkType: hard -"cspell-trie-lib@npm:7.3.8": - version: 7.3.8 - resolution: "cspell-trie-lib@npm:7.3.8" +"cspell-trie-lib@npm:8.17.2": + version: 8.17.2 + resolution: "cspell-trie-lib@npm:8.17.2" dependencies: - "@cspell/cspell-pipe": "npm:7.3.8" - "@cspell/cspell-types": "npm:7.3.8" - gensequence: "npm:^6.0.0" - checksum: 1a02f9ca154ce4d399c3eb875d178c14176c38391d28741baa778c83b71a23a982c586ef82e11fa2f880fd26c1d3778420417be50354289c4577ecd138da2b0c + "@cspell/cspell-pipe": "npm:8.17.2" + "@cspell/cspell-types": "npm:8.17.2" + gensequence: "npm:^7.0.0" + checksum: 10/a8020f6faec66f2a84a33929cc28c8de052acfe1cbf9970dcc1b0eb8dcb8a012ff4ab82784eef35cf8cc3bd47dc32d112f6e285cfe95d0d65bac9403108746c9 languageName: node linkType: hard -"cspell@npm:7.3.8": - version: 7.3.8 - resolution: "cspell@npm:7.3.8" +"cspell@npm:8.17.2": + version: 8.17.2 + resolution: "cspell@npm:8.17.2" dependencies: - "@cspell/cspell-json-reporter": "npm:7.3.8" - "@cspell/cspell-pipe": "npm:7.3.8" - "@cspell/cspell-types": "npm:7.3.8" - "@cspell/dynamic-import": "npm:7.3.8" - chalk: "npm:^5.3.0" + "@cspell/cspell-json-reporter": "npm:8.17.2" + "@cspell/cspell-pipe": "npm:8.17.2" + "@cspell/cspell-types": "npm:8.17.2" + "@cspell/dynamic-import": "npm:8.17.2" + "@cspell/url": "npm:8.17.2" + chalk: "npm:^5.4.1" chalk-template: "npm:^1.1.0" - commander: "npm:^11.1.0" - cspell-gitignore: "npm:7.3.8" - cspell-glob: "npm:7.3.8" - cspell-io: "npm:7.3.8" - cspell-lib: "npm:7.3.8" - fast-glob: "npm:^3.3.1" + commander: "npm:^13.0.0" + cspell-dictionary: "npm:8.17.2" + cspell-gitignore: "npm:8.17.2" + cspell-glob: "npm:8.17.2" + cspell-io: "npm:8.17.2" + cspell-lib: "npm:8.17.2" fast-json-stable-stringify: "npm:^2.1.0" - file-entry-cache: "npm:^7.0.1" + file-entry-cache: "npm:^9.1.0" get-stdin: "npm:^9.0.0" - semver: "npm:^7.5.4" - strip-ansi: "npm:^7.1.0" - vscode-uri: "npm:^3.0.8" + semver: "npm:^7.6.3" + tinyglobby: "npm:^0.2.10" bin: cspell: bin.mjs cspell-esm: bin.mjs - checksum: a3d8360a8b43cdc2a748b84d13b255d80af5ad052499fe469d8c0b54672b451fbb808039666413fef401a628b465d1918a770d89183a484eec35205e3d35ec39 - languageName: node - linkType: hard - -"dargs@npm:^7.0.0": - version: 7.0.0 - resolution: "dargs@npm:7.0.0" - checksum: b8f1e3cba59c42e1f13a114ad4848c3fc1cf7470f633ee9e9f1043762429bc97d91ae31b826fb135eefde203a3fdb20deb0c0a0222ac29d937b8046085d668d1 + checksum: 10/cddbc2c9299ba43b5d462eb844c377e5b4208ac49dadbca61d3d4ab6392c4afcbe36ff3fd0659f988462d684293b4fe6da6eac45021ea11cf273b45ff639a5ca languageName: node linkType: hard "dargs@npm:^8.0.0": version: 8.1.0 resolution: "dargs@npm:8.1.0" - checksum: 33f1b8f5f08e72c8a28355a87c0e1a9b6a0fec99252ecd9cf4735e65dd5f2e19747c860251ed5747b38e7204c7915fd7a7146aee5aaef5882c69169aae8b1d09 + checksum: 10/33f1b8f5f08e72c8a28355a87c0e1a9b6a0fec99252ecd9cf4735e65dd5f2e19747c860251ed5747b38e7204c7915fd7a7146aee5aaef5882c69169aae8b1d09 languageName: node linkType: hard -"dateformat@npm:5.0.3": - version: 5.0.3 - resolution: "dateformat@npm:5.0.3" - checksum: e7ef2f48faa8edd8a64c94b4ec1fe700777cd2f9db6411e76115eac7773255eef3cf12142568a90a665dfe90a7832a2af06e3d4ea3a0fac3727c3a7a4eac2568 +"data-view-buffer@npm:^1.0.1": + version: 1.0.1 + resolution: "data-view-buffer@npm:1.0.1" + dependencies: + call-bind: "npm:^1.0.6" + es-errors: "npm:^1.3.0" + is-data-view: "npm:^1.0.1" + checksum: 10/5919a39a18ee919573336158fd162fdf8ada1bc23a139f28543fd45fac48e0ea4a3ad3bfde91de124d4106e65c4a7525f6a84c20ba0797ec890a77a96d13a82a languageName: node linkType: hard -"debug@npm:4, debug@npm:4.3.4, debug@npm:^4.0.0, debug@npm:^4.1.1, debug@npm:^4.3.2, debug@npm:^4.3.3, debug@npm:^4.3.4": - version: 4.3.4 - resolution: "debug@npm:4.3.4" +"data-view-byte-length@npm:^1.0.1": + version: 1.0.1 + resolution: "data-view-byte-length@npm:1.0.1" dependencies: - ms: "npm:2.1.2" - peerDependenciesMeta: - supports-color: - optional: true - checksum: 0073c3bcbd9cb7d71dd5f6b55be8701af42df3e56e911186dfa46fac3a5b9eb7ce7f377dd1d3be6db8977221f8eb333d945216f645cf56f6b688cd484837d255 + call-bind: "npm:^1.0.7" + es-errors: "npm:^1.3.0" + is-data-view: "npm:^1.0.1" + checksum: 10/f33c65e58d8d0432ad79761f2e8a579818d724b5dc6dc4e700489b762d963ab30873c0f1c37d8f2ed12ef51c706d1195f64422856d25f067457aeec50cc40aac languageName: node linkType: hard -"debug@npm:^3.2.7": - version: 3.2.7 - resolution: "debug@npm:3.2.7" +"data-view-byte-offset@npm:^1.0.0": + version: 1.0.0 + resolution: "data-view-byte-offset@npm:1.0.0" dependencies: - ms: "npm:^2.1.1" - checksum: d86fd7be2b85462297ea16f1934dc219335e802f629ca9a69b63ed8ed041dda492389bb2ee039217c02e5b54792b1c51aa96ae954cf28634d363a2360c7a1639 + call-bind: "npm:^1.0.6" + es-errors: "npm:^1.3.0" + is-data-view: "npm:^1.0.1" + checksum: 10/96f34f151bf02affb7b9f98762fb7aca1dd5f4553cb57b80bce750ca609c15d33ca659568ef1d422f7e35680736cbccb893a3d4b012760c758c1446bbdc4c6db languageName: node linkType: hard -"decamelize-keys@npm:^1.1.0": - version: 1.1.1 - resolution: "decamelize-keys@npm:1.1.1" +"debug@npm:4, debug@npm:^4.0.0, debug@npm:^4.1.1, debug@npm:^4.3.1, debug@npm:^4.3.2, debug@npm:^4.3.3, debug@npm:^4.3.4, debug@npm:^4.3.6, debug@npm:^4.3.7, debug@npm:^4.4.0": + version: 4.4.0 + resolution: "debug@npm:4.4.0" dependencies: - decamelize: "npm:^1.1.0" - map-obj: "npm:^1.0.0" - checksum: 71d5898174f17a8d2303cecc98ba0236e842948c4d042a8180d5e749be8442220bca2d16dd93bebd7b49e86c807814273212e4da0fae67be7c58c282ff76057a + ms: "npm:^2.1.3" + peerDependenciesMeta: + supports-color: + optional: true + checksum: 10/1847944c2e3c2c732514b93d11886575625686056cd765336212dc15de2d2b29612b6cd80e1afba767bb8e1803b778caf9973e98169ef1a24a7a7009e1820367 languageName: node linkType: hard -"decamelize@npm:^1.1.0": - version: 1.2.0 - resolution: "decamelize@npm:1.2.0" - checksum: ad8c51a7e7e0720c70ec2eeb1163b66da03e7616d7b98c9ef43cce2416395e84c1e9548dd94f5f6ffecfee9f8b94251fc57121a8b021f2ff2469b2bae247b8aa +"debug@npm:^3.2.7": + version: 3.2.7 + resolution: "debug@npm:3.2.7" + dependencies: + ms: "npm:^2.1.1" + checksum: 10/d86fd7be2b85462297ea16f1934dc219335e802f629ca9a69b63ed8ed041dda492389bb2ee039217c02e5b54792b1c51aa96ae954cf28634d363a2360c7a1639 languageName: node linkType: hard -"decamelize@npm:^5.0.0": - version: 5.0.1 - resolution: "decamelize@npm:5.0.1" - checksum: 643e88804c538a334fae303ae1da8b30193b81dad8689643b35e6ab8ab60a3b03492cab6096d8163bd41fd384d969485f0634c000f80af502aa7f4047258d5b4 +"decode-named-character-reference@npm:^1.0.0": + version: 1.0.2 + resolution: "decode-named-character-reference@npm:1.0.2" + dependencies: + character-entities: "npm:^2.0.0" + checksum: 10/f4c71d3b93105f20076052f9cb1523a22a9c796b8296cd35eef1ca54239c78d182c136a848b83ff8da2071e3ae2b1d300bf29d00650a6d6e675438cc31b11d78 languageName: node linkType: hard -"deep-eql@npm:^4.1.2": - version: 4.1.3 - resolution: "deep-eql@npm:4.1.3" - dependencies: - type-detect: "npm:^4.0.0" - checksum: 12ce93ae63de187e77b076d3d51bfc28b11f98910a22c18714cce112791195e86a94f97788180994614b14562a86c9763f67c69f785e4586f806b5df39bf9301 +"deep-eql@npm:^5.0.1": + version: 5.0.2 + resolution: "deep-eql@npm:5.0.2" + checksum: 10/a529b81e2ef8821621d20a36959a0328873a3e49d393ad11f8efe8559f31239494c2eb889b80342808674c475802ba95b9d6c4c27641b9a029405104c1b59fcf languageName: node linkType: hard "deep-is@npm:^0.1.3": version: 0.1.4 resolution: "deep-is@npm:0.1.4" - checksum: ec12d074aef5ae5e81fa470b9317c313142c9e8e2afe3f8efa124db309720db96d1d222b82b84c834e5f87e7a614b44a4684b6683583118b87c833b3be40d4d8 + checksum: 10/ec12d074aef5ae5e81fa470b9317c313142c9e8e2afe3f8efa124db309720db96d1d222b82b84c834e5f87e7a614b44a4684b6683583118b87c833b3be40d4d8 languageName: node linkType: hard -"define-properties@npm:^1.1.3, define-properties@npm:^1.1.4, define-properties@npm:^1.2.0": - version: 1.2.0 - resolution: "define-properties@npm:1.2.0" +"define-data-property@npm:^1.0.1, define-data-property@npm:^1.1.4": + version: 1.1.4 + resolution: "define-data-property@npm:1.1.4" + dependencies: + es-define-property: "npm:^1.0.0" + es-errors: "npm:^1.3.0" + gopd: "npm:^1.0.1" + checksum: 10/abdcb2505d80a53524ba871273e5da75e77e52af9e15b3aa65d8aad82b8a3a424dad7aee2cc0b71470ac7acf501e08defac362e8b6a73cdb4309f028061df4ae + languageName: node + linkType: hard + +"define-properties@npm:^1.1.3, define-properties@npm:^1.2.0, define-properties@npm:^1.2.1": + version: 1.2.1 + resolution: "define-properties@npm:1.2.1" dependencies: + define-data-property: "npm:^1.0.1" has-property-descriptors: "npm:^1.0.0" object-keys: "npm:^1.1.1" - checksum: e60aee6a19b102df4e2b1f301816804e81ab48bb91f00d0d935f269bf4b3f79c88b39e4f89eaa132890d23267335fd1140dfcd8d5ccd61031a0a2c41a54e33a6 + checksum: 10/b4ccd00597dd46cb2d4a379398f5b19fca84a16f3374e2249201992f36b30f6835949a9429669ee6b41b6e837205a163eadd745e472069e70dfc10f03e5fcc12 languageName: node linkType: hard "delegates@npm:^1.0.0": version: 1.0.0 resolution: "delegates@npm:1.0.0" - checksum: a51744d9b53c164ba9c0492471a1a2ffa0b6727451bdc89e31627fdf4adda9d51277cfcbfb20f0a6f08ccb3c436f341df3e92631a3440226d93a8971724771fd + checksum: 10/a51744d9b53c164ba9c0492471a1a2ffa0b6727451bdc89e31627fdf4adda9d51277cfcbfb20f0a6f08ccb3c436f341df3e92631a3440226d93a8971724771fd languageName: node linkType: hard -"detect-indent@npm:^6.0.0": - version: 6.1.0 - resolution: "detect-indent@npm:6.1.0" - checksum: ab953a73c72dbd4e8fc68e4ed4bfd92c97eb6c43734af3900add963fd3a9316f3bc0578b018b24198d4c31a358571eff5f0656e81a1f3b9ad5c547d58b2d093d - languageName: node - linkType: hard - -"detect-newline@npm:^3.1.0": - version: 3.1.0 - resolution: "detect-newline@npm:3.1.0" - checksum: ae6cd429c41ad01b164c59ea36f264a2c479598e61cba7c99da24175a7ab80ddf066420f2bec9a1c57a6bead411b4655ff15ad7d281c000a89791f48cbe939e7 +"dequal@npm:2.0.3, dequal@npm:^2.0.0": + version: 2.0.3 + resolution: "dequal@npm:2.0.3" + checksum: 10/6ff05a7561f33603df87c45e389c9ac0a95e3c056be3da1a0c4702149e3a7f6fe5ffbb294478687ba51a9e95f3a60e8b6b9005993acd79c292c7d15f71964b6b languageName: node linkType: hard -"diff-sequences@npm:^29.4.3": - version: 29.6.3 - resolution: "diff-sequences@npm:29.6.3" - checksum: 179daf9d2f9af5c57ad66d97cb902a538bcf8ed64963fa7aa0c329b3de3665ce2eb6ffdc2f69f29d445fa4af2517e5e55e5b6e00c00a9ae4f43645f97f7078cb +"devlop@npm:1.1.0, devlop@npm:^1.0.0, devlop@npm:^1.1.0": + version: 1.1.0 + resolution: "devlop@npm:1.1.0" + dependencies: + dequal: "npm:^2.0.0" + checksum: 10/3cc5f903d02d279d6dc4aa71ab6ed9898b9f4d1f861cc5421ce7357893c21b9520de78afb203c92bd650a6977ad0ca98195453a0707a39958cf5fea3b0a8ddd8 languageName: node linkType: hard -"diff@npm:^4.0.1": - version: 4.0.2 - resolution: "diff@npm:4.0.2" - checksum: ec09ec2101934ca5966355a229d77afcad5911c92e2a77413efda5455636c4cf2ce84057e2d7715227a2eeeda04255b849bd3ae3a4dd22eb22e86e76456df069 +"diff@npm:^5.0.0": + version: 5.2.0 + resolution: "diff@npm:5.2.0" + checksum: 10/01b7b440f83a997350a988e9d2f558366c0f90f15be19f4aa7f1bb3109a4e153dfc3b9fbf78e14ea725717017407eeaa2271e3896374a0181e8f52445740846d languageName: node linkType: hard @@ -3726,16 +4389,7 @@ __metadata: resolution: "dir-glob@npm:2.2.2" dependencies: path-type: "npm:^3.0.0" - checksum: 3aa48714a9f7845ffc30ab03a5c674fe760477cc55e67b0847333371549227d93953e6627ec160f75140c5bea5c5f88d13c01de79bd1997a588efbcf06980842 - languageName: node - linkType: hard - -"dir-glob@npm:^3.0.1": - version: 3.0.1 - resolution: "dir-glob@npm:3.0.1" - dependencies: - path-type: "npm:^4.0.0" - checksum: fa05e18324510d7283f55862f3161c6759a3f2f8dbce491a2fc14c8324c498286c54282c1f0e933cb930da8419b30679389499b919122952a4f8592362ef4615 + checksum: 10/3aa48714a9f7845ffc30ab03a5c674fe760477cc55e67b0847333371549227d93953e6627ec160f75140c5bea5c5f88d13c01de79bd1997a588efbcf06980842 languageName: node linkType: hard @@ -3744,16 +4398,7 @@ __metadata: resolution: "doctrine@npm:2.1.0" dependencies: esutils: "npm:^2.0.2" - checksum: 555684f77e791b17173ea86e2eea45ef26c22219cb64670669c4f4bebd26dbc95cd90ec1f4159e9349a6bb9eb892ce4dde8cd0139e77bedd8bf4518238618474 - languageName: node - linkType: hard - -"doctrine@npm:^3.0.0": - version: 3.0.0 - resolution: "doctrine@npm:3.0.0" - dependencies: - esutils: "npm:^2.0.2" - checksum: b4b28f1df5c563f7d876e7461254a4597b8cabe915abe94d7c5d1633fed263fcf9a85e8d3836591fc2d040108e822b0d32758e5ec1fe31c590dc7e08086e3e48 + checksum: 10/555684f77e791b17173ea86e2eea45ef26c22219cb64670669c4f4bebd26dbc95cd90ec1f4159e9349a6bb9eb892ce4dde8cd0139e77bedd8bf4518238618474 languageName: node linkType: hard @@ -3762,29 +4407,23 @@ __metadata: resolution: "dot-prop@npm:5.3.0" dependencies: is-obj: "npm:^2.0.0" - checksum: 33b2561617bd5c73cf9305368ba4638871c5dbf9c8100c8335acd2e2d590a81ec0e75c11cfaea5cc3cf8c2f668cad4beddb52c11856d0c9e666348eee1baf57a - languageName: node - linkType: hard - -"dot-prop@npm:^6.0.1": - version: 6.0.1 - resolution: "dot-prop@npm:6.0.1" - dependencies: - is-obj: "npm:^2.0.0" - checksum: 1200a4f6f81151161b8526c37966d60738cf12619b0ed1f55be01bdb55790bf0a5cd1398b8f2c296dcc07d0a7c2dd0e650baf0b069c367e74bb5df2f6603aba0 + checksum: 10/33b2561617bd5c73cf9305368ba4638871c5dbf9c8100c8335acd2e2d590a81ec0e75c11cfaea5cc3cf8c2f668cad4beddb52c11856d0c9e666348eee1baf57a languageName: node linkType: hard -"dprint@npm:0.41.0": - version: 0.41.0 - resolution: "dprint@npm:0.41.0" +"dprint@npm:0.48.0": + version: 0.48.0 + resolution: "dprint@npm:0.48.0" dependencies: - "@dprint/darwin-arm64": "npm:0.41.0" - "@dprint/darwin-x64": "npm:0.41.0" - "@dprint/linux-arm64-glibc": "npm:0.41.0" - "@dprint/linux-x64-glibc": "npm:0.41.0" - "@dprint/linux-x64-musl": "npm:0.41.0" - "@dprint/win32-x64": "npm:0.41.0" + "@dprint/darwin-arm64": "npm:0.48.0" + "@dprint/darwin-x64": "npm:0.48.0" + "@dprint/linux-arm64-glibc": "npm:0.48.0" + "@dprint/linux-arm64-musl": "npm:0.48.0" + "@dprint/linux-riscv64-glibc": "npm:0.48.0" + "@dprint/linux-x64-glibc": "npm:0.48.0" + "@dprint/linux-x64-musl": "npm:0.48.0" + "@dprint/win32-arm64": "npm:0.48.0" + "@dprint/win32-x64": "npm:0.48.0" dependenciesMeta: "@dprint/darwin-arm64": optional: true @@ -3792,22 +4431,28 @@ __metadata: optional: true "@dprint/linux-arm64-glibc": optional: true + "@dprint/linux-arm64-musl": + optional: true + "@dprint/linux-riscv64-glibc": + optional: true "@dprint/linux-x64-glibc": optional: true "@dprint/linux-x64-musl": optional: true + "@dprint/win32-arm64": + optional: true "@dprint/win32-x64": optional: true bin: dprint: bin.js - checksum: 908d8fbd134841d6109d6b20074a070822690c712714a184610bdd0ffcf9dcf87fc5cda6cd3a1d62bf3f6c1265d0eb23c5f68535c5dfe847ae214b963502f852 + checksum: 10/ae8efe7a531d26f350660d3ecf28438ae3124695be8d7646f97c637545de90478cb61b5c5699746ab00060893c4631fd1c1623237b4d73b5fd98681ccbeb4203 languageName: node linkType: hard "eastasianwidth@npm:^0.2.0": version: 0.2.0 resolution: "eastasianwidth@npm:0.2.0" - checksum: 9b1d3e1baefeaf7d70799db8774149cef33b97183a6addceeba0cf6b85ba23ee2686f302f14482006df32df75d32b17c509c143a3689627929e4a8efaf483952 + checksum: 10/9b1d3e1baefeaf7d70799db8774149cef33b97183a6addceeba0cf6b85ba23ee2686f302f14482006df32df75d32b17c509c143a3689627929e4a8efaf483952 languageName: node linkType: hard @@ -3821,28 +4466,42 @@ __metadata: semver: "npm:^7.5.3" bin: editorconfig: bin/editorconfig - checksum: 897896a0bdc2b3fcf5ed1466943b0e9676fe4a9dac7c71bcd0e6455efeff2e4e358a5a46dd38b24fb047f2599b2dfb23d2f4dba839c5c76cbce670448b68c1c2 + checksum: 10/897896a0bdc2b3fcf5ed1466943b0e9676fe4a9dac7c71bcd0e6455efeff2e4e358a5a46dd38b24fb047f2599b2dfb23d2f4dba839c5c76cbce670448b68c1c2 + languageName: node + linkType: hard + +"electron-to-chromium@npm:^1.5.4": + version: 1.5.9 + resolution: "electron-to-chromium@npm:1.5.9" + checksum: 10/0e51ffc430ff4462102137ec8353d4b4dd3e928b40dec7126896520b3efa32323b0e5c9bf99be076f038cf6e3138951946d892fec9c95179ad4479a5893fe245 + languageName: node + linkType: hard + +"emoji-regex@npm:^10.2.1, emoji-regex@npm:^10.3.0": + version: 10.3.0 + resolution: "emoji-regex@npm:10.3.0" + checksum: 10/b9b084ebe904f13bb4b66ee4c29fb41a7a4a1165adcc33c1ce8056c0194b882cc91ebdc782f1a779b5d7ea7375c5064643a7734893d7c657b44c5c6b9d7bf1e7 languageName: node linkType: hard "emoji-regex@npm:^8.0.0": version: 8.0.0 resolution: "emoji-regex@npm:8.0.0" - checksum: c72d67a6821be15ec11997877c437491c313d924306b8da5d87d2a2bcc2cec9903cb5b04ee1a088460501d8e5b44f10df82fdc93c444101a7610b80c8b6938e1 + checksum: 10/c72d67a6821be15ec11997877c437491c313d924306b8da5d87d2a2bcc2cec9903cb5b04ee1a088460501d8e5b44f10df82fdc93c444101a7610b80c8b6938e1 languageName: node linkType: hard "emoji-regex@npm:^9.2.2": version: 9.2.2 resolution: "emoji-regex@npm:9.2.2" - checksum: 915acf859cea7131dac1b2b5c9c8e35c4849e325a1d114c30adb8cd615970f6dca0e27f64f3a4949d7d6ed86ecd79a1c5c63f02e697513cddd7b5835c90948b8 + checksum: 10/915acf859cea7131dac1b2b5c9c8e35c4849e325a1d114c30adb8cd615970f6dca0e27f64f3a4949d7d6ed86ecd79a1c5c63f02e697513cddd7b5835c90948b8 languageName: node linkType: hard "emojilib@npm:^2.4.0": version: 2.4.0 resolution: "emojilib@npm:2.4.0" - checksum: bef767eca49acaa881388d91bee6936ea57ae367d603d5227ff0a9da3e2d1e774a61c447e5f2f4901797d023c4b5239bc208285b6172a880d3655024a0f44980 + checksum: 10/bef767eca49acaa881388d91bee6936ea57ae367d603d5227ff0a9da3e2d1e774a61c447e5f2f4901797d023c4b5239bc208285b6172a880d3655024a0f44980 languageName: node linkType: hard @@ -3851,7 +4510,7 @@ __metadata: resolution: "encoding@npm:0.1.13" dependencies: iconv-lite: "npm:^0.6.2" - checksum: bb98632f8ffa823996e508ce6a58ffcf5856330fde839ae42c9e1f436cc3b5cc651d4aeae72222916545428e54fd0f6aa8862fd8d25bdbcc4589f1e3f3715e7f + checksum: 10/bb98632f8ffa823996e508ce6a58ffcf5856330fde839ae42c9e1f436cc3b5cc651d4aeae72222916545428e54fd0f6aa8862fd8d25bdbcc4589f1e3f3715e7f languageName: node linkType: hard @@ -3860,62 +4519,77 @@ __metadata: resolution: "end-of-stream@npm:1.4.4" dependencies: once: "npm:^1.4.0" - checksum: 530a5a5a1e517e962854a31693dbb5c0b2fc40b46dad2a56a2deec656ca040631124f4795823acc68238147805f8b021abbe221f4afed5ef3c8e8efc2024908b + checksum: 10/530a5a5a1e517e962854a31693dbb5c0b2fc40b46dad2a56a2deec656ca040631124f4795823acc68238147805f8b021abbe221f4afed5ef3c8e8efc2024908b languageName: node linkType: hard -"enhanced-resolve@npm:^5.12.0": - version: 5.15.0 - resolution: "enhanced-resolve@npm:5.15.0" +"enhanced-resolve@npm:^5.15.0, enhanced-resolve@npm:^5.17.1": + version: 5.17.1 + resolution: "enhanced-resolve@npm:5.17.1" dependencies: graceful-fs: "npm:^4.2.4" tapable: "npm:^2.2.0" - checksum: 180c3f2706f9117bf4dc7982e1df811dad83a8db075723f299245ef4488e0cad7e96859c5f0e410682d28a4ecd4da021ec7d06265f7e4eb6eed30c69ca5f7d3e + checksum: 10/e8e03cb7a4bf3c0250a89afbd29e5ec20e90ba5fcd026066232a0754864d7d0a393fa6fc0e5379314a6529165a1834b36731147080714459d98924520410d8f5 languageName: node linkType: hard -"entities@npm:~3.0.1": - version: 3.0.1 - resolution: "entities@npm:3.0.1" - checksum: 3706e0292ea3f3679720b3d3b1ed6290b164aaeb11116691a922a3acea144503871e0de2170b47671c3b735549b8b7f4741d0d3c2987e8f985ccaa0dd3762eba +"env-paths@npm:^2.2.0, env-paths@npm:^2.2.1": + version: 2.2.1 + resolution: "env-paths@npm:2.2.1" + checksum: 10/65b5df55a8bab92229ab2b40dad3b387fad24613263d103a97f91c9fe43ceb21965cd3392b1ccb5d77088021e525c4e0481adb309625d0cb94ade1d1fb8dc17e languageName: node linkType: hard -"env-paths@npm:^2.2.0": - version: 2.2.1 - resolution: "env-paths@npm:2.2.1" - checksum: 65b5df55a8bab92229ab2b40dad3b387fad24613263d103a97f91c9fe43ceb21965cd3392b1ccb5d77088021e525c4e0481adb309625d0cb94ade1d1fb8dc17e +"env-paths@npm:^3.0.0": + version: 3.0.0 + resolution: "env-paths@npm:3.0.0" + checksum: 10/b2b0a0d0d9931a13d279c22ed94d78648a1cc5f408f05d47ff3e0c1616f0aa0c38fb33deec5e5be50497225d500607d57f9c8652c4d39c2f2b7608cd45768128 + languageName: node + linkType: hard + +"envinfo@npm:7.14.0": + version: 7.14.0 + resolution: "envinfo@npm:7.14.0" + bin: + envinfo: dist/cli.js + checksum: 10/0d9d711f2b6ae02dec89dd768a3390acbcb99ac50d07f20e635a8d2db68447703476db535483592d1ed4656c3d36eee4883032d71a5118c917b4973e2d4fa027 + languageName: node + linkType: hard + +"environment@npm:^1.0.0": + version: 1.1.0 + resolution: "environment@npm:1.1.0" + checksum: 10/dd3c1b9825e7f71f1e72b03c2344799ac73f2e9ef81b78ea8b373e55db021786c6b9f3858ea43a436a2c4611052670ec0afe85bc029c384cc71165feee2f4ba6 languageName: node linkType: hard "err-code@npm:^2.0.2": version: 2.0.3 resolution: "err-code@npm:2.0.3" - checksum: 1d20d825cdcce8d811bfbe86340f4755c02655a7feb2f13f8c880566d9d72a3f6c92c192a6867632e490d6da67b678271f46e01044996a6443e870331100dfdd + checksum: 10/1d20d825cdcce8d811bfbe86340f4755c02655a7feb2f13f8c880566d9d72a3f6c92c192a6867632e490d6da67b678271f46e01044996a6443e870331100dfdd languageName: node linkType: hard -"error-ex@npm:^1.3.1": +"error-ex@npm:^1.3.1, error-ex@npm:^1.3.2": version: 1.3.2 resolution: "error-ex@npm:1.3.2" dependencies: is-arrayish: "npm:^0.2.1" - checksum: d547740aa29c34e753fb6fed2c5de81802438529c12b3673bd37b6bb1fe49b9b7abdc3c11e6062fe625d8a296b3cf769a80f878865e25e685f787763eede3ffb + checksum: 10/d547740aa29c34e753fb6fed2c5de81802438529c12b3673bd37b6bb1fe49b9b7abdc3c11e6062fe625d8a296b3cf769a80f878865e25e685f787763eede3ffb languageName: node linkType: hard -"es-abstract@npm:^1.20.4, es-abstract@npm:^1.22.1": - version: 1.22.1 - resolution: "es-abstract@npm:1.22.1" +"es-abstract@npm:1.21.1": + version: 1.21.1 + resolution: "es-abstract@npm:1.21.1" dependencies: - array-buffer-byte-length: "npm:^1.0.0" - arraybuffer.prototype.slice: "npm:^1.0.1" available-typed-arrays: "npm:^1.0.5" call-bind: "npm:^1.0.2" es-set-tostringtag: "npm:^2.0.1" es-to-primitive: "npm:^1.2.1" + function-bind: "npm:^1.1.1" function.prototype.name: "npm:^1.1.5" - get-intrinsic: "npm:^1.2.1" + get-intrinsic: "npm:^1.1.3" get-symbol-description: "npm:^1.0.0" globalthis: "npm:^1.0.3" gopd: "npm:^1.0.1" @@ -3923,8 +4597,8 @@ __metadata: has-property-descriptors: "npm:^1.0.0" has-proto: "npm:^1.0.1" has-symbols: "npm:^1.0.3" - internal-slot: "npm:^1.0.5" - is-array-buffer: "npm:^3.0.2" + internal-slot: "npm:^1.0.4" + is-array-buffer: "npm:^3.0.1" is-callable: "npm:^1.2.7" is-negative-zero: "npm:^2.0.2" is-regex: "npm:^1.1.4" @@ -3932,42 +4606,123 @@ __metadata: is-string: "npm:^1.0.7" is-typed-array: "npm:^1.1.10" is-weakref: "npm:^1.0.2" - object-inspect: "npm:^1.12.3" + object-inspect: "npm:^1.12.2" object-keys: "npm:^1.1.1" object.assign: "npm:^4.1.4" - regexp.prototype.flags: "npm:^1.5.0" - safe-array-concat: "npm:^1.0.0" + regexp.prototype.flags: "npm:^1.4.3" safe-regex-test: "npm:^1.0.0" - string.prototype.trim: "npm:^1.2.7" string.prototype.trimend: "npm:^1.0.6" string.prototype.trimstart: "npm:^1.0.6" - typed-array-buffer: "npm:^1.0.0" - typed-array-byte-length: "npm:^1.0.0" - typed-array-byte-offset: "npm:^1.0.0" typed-array-length: "npm:^1.0.4" unbox-primitive: "npm:^1.0.2" - which-typed-array: "npm:^1.1.10" - checksum: bd6c243a128ea1cb97cdd11c433a1f712b607b66bb2d40b42e4a4e4c746e679d3c168b59614fefed4bc3b0d7abc106ad202e8f417739371a151b9189d75af72a + which-typed-array: "npm:^1.1.9" + checksum: 10/065c46977cf2371b1f713c2e6dbcd2487caa2c3b10cfe5ec237206907379ae6cf538ad4d59ebe25763c21f9233a0764c44672b1155770f1397c5dba5d4e5c3e0 + languageName: node + linkType: hard + +"es-abstract@npm:^1.22.1, es-abstract@npm:^1.22.3, es-abstract@npm:^1.23.0, es-abstract@npm:^1.23.2": + version: 1.23.3 + resolution: "es-abstract@npm:1.23.3" + dependencies: + array-buffer-byte-length: "npm:^1.0.1" + arraybuffer.prototype.slice: "npm:^1.0.3" + available-typed-arrays: "npm:^1.0.7" + call-bind: "npm:^1.0.7" + data-view-buffer: "npm:^1.0.1" + data-view-byte-length: "npm:^1.0.1" + data-view-byte-offset: "npm:^1.0.0" + es-define-property: "npm:^1.0.0" + es-errors: "npm:^1.3.0" + es-object-atoms: "npm:^1.0.0" + es-set-tostringtag: "npm:^2.0.3" + es-to-primitive: "npm:^1.2.1" + function.prototype.name: "npm:^1.1.6" + get-intrinsic: "npm:^1.2.4" + get-symbol-description: "npm:^1.0.2" + globalthis: "npm:^1.0.3" + gopd: "npm:^1.0.1" + has-property-descriptors: "npm:^1.0.2" + has-proto: "npm:^1.0.3" + has-symbols: "npm:^1.0.3" + hasown: "npm:^2.0.2" + internal-slot: "npm:^1.0.7" + is-array-buffer: "npm:^3.0.4" + is-callable: "npm:^1.2.7" + is-data-view: "npm:^1.0.1" + is-negative-zero: "npm:^2.0.3" + is-regex: "npm:^1.1.4" + is-shared-array-buffer: "npm:^1.0.3" + is-string: "npm:^1.0.7" + is-typed-array: "npm:^1.1.13" + is-weakref: "npm:^1.0.2" + object-inspect: "npm:^1.13.1" + object-keys: "npm:^1.1.1" + object.assign: "npm:^4.1.5" + regexp.prototype.flags: "npm:^1.5.2" + safe-array-concat: "npm:^1.1.2" + safe-regex-test: "npm:^1.0.3" + string.prototype.trim: "npm:^1.2.9" + string.prototype.trimend: "npm:^1.0.8" + string.prototype.trimstart: "npm:^1.0.8" + typed-array-buffer: "npm:^1.0.2" + typed-array-byte-length: "npm:^1.0.1" + typed-array-byte-offset: "npm:^1.0.2" + typed-array-length: "npm:^1.0.6" + unbox-primitive: "npm:^1.0.2" + which-typed-array: "npm:^1.1.15" + checksum: 10/2da795a6a1ac5fc2c452799a409acc2e3692e06dc6440440b076908617188899caa562154d77263e3053bcd9389a07baa978ab10ac3b46acc399bd0c77be04cb languageName: node linkType: hard -"es-set-tostringtag@npm:^2.0.1": - version: 2.0.1 - resolution: "es-set-tostringtag@npm:2.0.1" +"es-define-property@npm:^1.0.0": + version: 1.0.0 + resolution: "es-define-property@npm:1.0.0" dependencies: - get-intrinsic: "npm:^1.1.3" - has: "npm:^1.0.3" - has-tostringtag: "npm:^1.0.0" - checksum: ec416a12948cefb4b2a5932e62093a7cf36ddc3efd58d6c58ca7ae7064475ace556434b869b0bbeb0c365f1032a8ccd577211101234b69837ad83ad204fff884 + get-intrinsic: "npm:^1.2.4" + checksum: 10/f66ece0a887b6dca71848fa71f70461357c0e4e7249696f81bad0a1f347eed7b31262af4a29f5d726dc026426f085483b6b90301855e647aa8e21936f07293c6 + languageName: node + linkType: hard + +"es-errors@npm:^1.2.1, es-errors@npm:^1.3.0": + version: 1.3.0 + resolution: "es-errors@npm:1.3.0" + checksum: 10/96e65d640156f91b707517e8cdc454dd7d47c32833aa3e85d79f24f9eb7ea85f39b63e36216ef0114996581969b59fe609a94e30316b08f5f4df1d44134cf8d5 + languageName: node + linkType: hard + +"es-module-lexer@npm:^1.5.3, es-module-lexer@npm:^1.6.0": + version: 1.6.0 + resolution: "es-module-lexer@npm:1.6.0" + checksum: 10/807ee7020cc46a9c970c78cad1f2f3fc139877e5ebad7f66dbfbb124d451189ba1c48c1c632bd5f8ce1b8af2caef3fca340ba044a410fa890d17b080a59024bb languageName: node linkType: hard -"es-shim-unscopables@npm:^1.0.0": +"es-object-atoms@npm:^1.0.0": version: 1.0.0 - resolution: "es-shim-unscopables@npm:1.0.0" + resolution: "es-object-atoms@npm:1.0.0" dependencies: - has: "npm:^1.0.3" - checksum: ac2db2c70d253cf83bebcdc974d185239e205ca18af743efd3b656bac00cabfee2358a050b18b63b46972dab5cfa10ef3f2597eb3a8d4d6d9417689793665da6 + es-errors: "npm:^1.3.0" + checksum: 10/f8910cf477e53c0615f685c5c96210591841850871b81924fcf256bfbaa68c254457d994a4308c60d15b20805e7f61ce6abc669375e01a5349391a8c1767584f + languageName: node + linkType: hard + +"es-set-tostringtag@npm:^2.0.1, es-set-tostringtag@npm:^2.0.3": + version: 2.0.3 + resolution: "es-set-tostringtag@npm:2.0.3" + dependencies: + get-intrinsic: "npm:^1.2.4" + has-tostringtag: "npm:^1.0.2" + hasown: "npm:^2.0.1" + checksum: 10/7227fa48a41c0ce83e0377b11130d324ac797390688135b8da5c28994c0165be8b252e15cd1de41e1325e5a5412511586960213e88f9ab4a5e7d028895db5129 + languageName: node + linkType: hard + +"es-shim-unscopables@npm:^1.0.0, es-shim-unscopables@npm:^1.0.2": + version: 1.0.2 + resolution: "es-shim-unscopables@npm:1.0.2" + dependencies: + hasown: "npm:^2.0.0" + checksum: 10/6d3bf91f658a27cc7217cd32b407a0d714393a84d125ad576319b9e83a893bea165cf41270c29e9ceaa56d3cf41608945d7e2a2c31fd51c0009b0c31402b91c7 languageName: node linkType: hard @@ -3978,44 +4733,42 @@ __metadata: is-callable: "npm:^1.1.4" is-date-object: "npm:^1.0.1" is-symbol: "npm:^1.0.2" - checksum: 74aeeefe2714cf99bb40cab7ce3012d74e1e2c1bd60d0a913b467b269edde6e176ca644b5ba03a5b865fb044a29bca05671cd445c85ca2cdc2de155d7fc8fe9b - languageName: node - linkType: hard - -"es6-promise@npm:^4.1.0": - version: 4.2.8 - resolution: "es6-promise@npm:4.2.8" - checksum: b250c55523c496c43c9216c2646e58ec182b819e036fe5eb8d83fa16f044ecc6b8dcefc88ace2097be3d3c4d02b6aa8eeae1a66deeaf13e7bee905ebabb350a3 - languageName: node - linkType: hard - -"esbuild@npm:0.19.5": - version: 0.19.5 - resolution: "esbuild@npm:0.19.5" - dependencies: - "@esbuild/android-arm": "npm:0.19.5" - "@esbuild/android-arm64": "npm:0.19.5" - "@esbuild/android-x64": "npm:0.19.5" - "@esbuild/darwin-arm64": "npm:0.19.5" - "@esbuild/darwin-x64": "npm:0.19.5" - "@esbuild/freebsd-arm64": "npm:0.19.5" - "@esbuild/freebsd-x64": "npm:0.19.5" - "@esbuild/linux-arm": "npm:0.19.5" - "@esbuild/linux-arm64": "npm:0.19.5" - "@esbuild/linux-ia32": "npm:0.19.5" - "@esbuild/linux-loong64": "npm:0.19.5" - "@esbuild/linux-mips64el": "npm:0.19.5" - "@esbuild/linux-ppc64": "npm:0.19.5" - "@esbuild/linux-riscv64": "npm:0.19.5" - "@esbuild/linux-s390x": "npm:0.19.5" - "@esbuild/linux-x64": "npm:0.19.5" - "@esbuild/netbsd-x64": "npm:0.19.5" - "@esbuild/openbsd-x64": "npm:0.19.5" - "@esbuild/sunos-x64": "npm:0.19.5" - "@esbuild/win32-arm64": "npm:0.19.5" - "@esbuild/win32-ia32": "npm:0.19.5" - "@esbuild/win32-x64": "npm:0.19.5" + checksum: 10/74aeeefe2714cf99bb40cab7ce3012d74e1e2c1bd60d0a913b467b269edde6e176ca644b5ba03a5b865fb044a29bca05671cd445c85ca2cdc2de155d7fc8fe9b + languageName: node + linkType: hard + +"esbuild@npm:0.24.2": + version: 0.24.2 + resolution: "esbuild@npm:0.24.2" + dependencies: + "@esbuild/aix-ppc64": "npm:0.24.2" + "@esbuild/android-arm": "npm:0.24.2" + "@esbuild/android-arm64": "npm:0.24.2" + "@esbuild/android-x64": "npm:0.24.2" + "@esbuild/darwin-arm64": "npm:0.24.2" + "@esbuild/darwin-x64": "npm:0.24.2" + "@esbuild/freebsd-arm64": "npm:0.24.2" + "@esbuild/freebsd-x64": "npm:0.24.2" + "@esbuild/linux-arm": "npm:0.24.2" + "@esbuild/linux-arm64": "npm:0.24.2" + "@esbuild/linux-ia32": "npm:0.24.2" + "@esbuild/linux-loong64": "npm:0.24.2" + "@esbuild/linux-mips64el": "npm:0.24.2" + "@esbuild/linux-ppc64": "npm:0.24.2" + "@esbuild/linux-riscv64": "npm:0.24.2" + "@esbuild/linux-s390x": "npm:0.24.2" + "@esbuild/linux-x64": "npm:0.24.2" + "@esbuild/netbsd-arm64": "npm:0.24.2" + "@esbuild/netbsd-x64": "npm:0.24.2" + "@esbuild/openbsd-arm64": "npm:0.24.2" + "@esbuild/openbsd-x64": "npm:0.24.2" + "@esbuild/sunos-x64": "npm:0.24.2" + "@esbuild/win32-arm64": "npm:0.24.2" + "@esbuild/win32-ia32": "npm:0.24.2" + "@esbuild/win32-x64": "npm:0.24.2" dependenciesMeta: + "@esbuild/aix-ppc64": + optional: true "@esbuild/android-arm": optional: true "@esbuild/android-arm64": @@ -4048,8 +4801,12 @@ __metadata: optional: true "@esbuild/linux-x64": optional: true + "@esbuild/netbsd-arm64": + optional: true "@esbuild/netbsd-x64": optional: true + "@esbuild/openbsd-arm64": + optional: true "@esbuild/openbsd-x64": optional: true "@esbuild/sunos-x64": @@ -4062,133 +4819,195 @@ __metadata: optional: true bin: esbuild: bin/esbuild - checksum: f8ffe0cbab8a80ec63b6962b7d722da9e3dbe79a57d3cd998e107e35792068facd6f63e58ae19e919891456ed6cb73114a9777f0e7353ec8613b4fc75571d56d - languageName: node - linkType: hard - -"escalade@npm:^3.1.1": - version: 3.1.1 - resolution: "escalade@npm:3.1.1" - checksum: afa618e73362576b63f6ca83c975456621095a1ed42ff068174e3f5cea48afc422814dda548c96e6ebb5333e7265140c7292abcc81bbd6ccb1757d50d3a4e182 + checksum: 10/95425071c9f24ff88bf61e0710b636ec0eb24ddf8bd1f7e1edef3044e1221104bbfa7bbb31c18018c8c36fa7902c5c0b843f829b981ebc89160cf5eebdaa58f4 languageName: node linkType: hard -"escape-string-regexp@npm:5.0.0": - version: 5.0.0 - resolution: "escape-string-regexp@npm:5.0.0" - checksum: 20daabe197f3cb198ec28546deebcf24b3dbb1a5a269184381b3116d12f0532e06007f4bc8da25669d6a7f8efb68db0758df4cd981f57bc5b57f521a3e12c59e +"escalade@npm:^3.1.1, escalade@npm:^3.1.2": + version: 3.1.2 + resolution: "escalade@npm:3.1.2" + checksum: 10/a1e07fea2f15663c30e40b9193d658397846ffe28ce0a3e4da0d8e485fedfeca228ab846aee101a05015829adf39f9934ff45b2a3fca47bed37a29646bd05cd3 languageName: node linkType: hard "escape-string-regexp@npm:^1.0.5": version: 1.0.5 resolution: "escape-string-regexp@npm:1.0.5" - checksum: 6092fda75c63b110c706b6a9bfde8a612ad595b628f0bd2147eea1d3406723020810e591effc7db1da91d80a71a737a313567c5abb3813e8d9c71f4aa595b410 + checksum: 10/6092fda75c63b110c706b6a9bfde8a612ad595b628f0bd2147eea1d3406723020810e591effc7db1da91d80a71a737a313567c5abb3813e8d9c71f4aa595b410 languageName: node linkType: hard "escape-string-regexp@npm:^4.0.0": version: 4.0.0 resolution: "escape-string-regexp@npm:4.0.0" - checksum: 98b48897d93060f2322108bf29db0feba7dd774be96cd069458d1453347b25ce8682ecc39859d4bca2203cc0ab19c237bcc71755eff49a0f8d90beadeeba5cc5 + checksum: 10/98b48897d93060f2322108bf29db0feba7dd774be96cd069458d1453347b25ce8682ecc39859d4bca2203cc0ab19c237bcc71755eff49a0f8d90beadeeba5cc5 + languageName: node + linkType: hard + +"escape-string-regexp@npm:^5.0.0": + version: 5.0.0 + resolution: "escape-string-regexp@npm:5.0.0" + checksum: 10/20daabe197f3cb198ec28546deebcf24b3dbb1a5a269184381b3116d12f0532e06007f4bc8da25669d6a7f8efb68db0758df4cd981f57bc5b57f521a3e12c59e + languageName: node + linkType: hard + +"eslint-compat-utils@npm:^0.5.1": + version: 0.5.1 + resolution: "eslint-compat-utils@npm:0.5.1" + dependencies: + semver: "npm:^7.5.4" + peerDependencies: + eslint: ">=6.0.0" + checksum: 10/ac65ac1c6107cf19f63f5fc17cea361c9cb1336be7356f23dbb0fac10979974b4622e13e950be43cbf431801f2c07f7dab448573181ccf6edc0b86d5b5304511 languageName: node linkType: hard -"eslint-compat-utils@npm:^0.1.0, eslint-compat-utils@npm:^0.1.2": - version: 0.1.2 - resolution: "eslint-compat-utils@npm:0.1.2" +"eslint-compat-utils@npm:^0.6.0": + version: 0.6.4 + resolution: "eslint-compat-utils@npm:0.6.4" + dependencies: + semver: "npm:^7.5.4" peerDependencies: eslint: ">=6.0.0" - checksum: 8c273889485ab863f2b6089c36f042dd2d9bf65d219fa256c1991f9466ea8261f3ab753a017a6d8e93bec84abd568fe3e10216f3fda5b41d05e3dce3b2a5e514 + checksum: 10/97f08f4aa8d9a1bc1087aaeceab46a5fa65a6d70703c1a2f2cd533562381208fdd0a293ce0f63ad607f1e697ddb348ef1076b02f5afa83c70f4a07ca0dcec90e languageName: node linkType: hard -"eslint-import-resolver-node@npm:^0.3.7": +"eslint-import-resolver-node@npm:^0.3.9": version: 0.3.9 resolution: "eslint-import-resolver-node@npm:0.3.9" dependencies: debug: "npm:^3.2.7" is-core-module: "npm:^2.13.0" resolve: "npm:^1.22.4" - checksum: d52e08e1d96cf630957272e4f2644dcfb531e49dcfd1edd2e07e43369eb2ec7a7d4423d417beee613201206ff2efa4eb9a582b5825ee28802fc7c71fcd53ca83 + checksum: 10/d52e08e1d96cf630957272e4f2644dcfb531e49dcfd1edd2e07e43369eb2ec7a7d4423d417beee613201206ff2efa4eb9a582b5825ee28802fc7c71fcd53ca83 languageName: node linkType: hard -"eslint-import-resolver-typescript@npm:3.6.1": - version: 3.6.1 - resolution: "eslint-import-resolver-typescript@npm:3.6.1" +"eslint-import-resolver-typescript@npm:3.7.0": + version: 3.7.0 + resolution: "eslint-import-resolver-typescript@npm:3.7.0" dependencies: - debug: "npm:^4.3.4" - enhanced-resolve: "npm:^5.12.0" - eslint-module-utils: "npm:^2.7.4" - fast-glob: "npm:^3.3.1" - get-tsconfig: "npm:^4.5.0" - is-core-module: "npm:^2.11.0" + "@nolyfill/is-core-module": "npm:1.0.39" + debug: "npm:^4.3.7" + enhanced-resolve: "npm:^5.15.0" + fast-glob: "npm:^3.3.2" + get-tsconfig: "npm:^4.7.5" + is-bun-module: "npm:^1.0.2" is-glob: "npm:^4.0.3" + stable-hash: "npm:^0.0.4" peerDependencies: eslint: "*" eslint-plugin-import: "*" - checksum: 261df24721a7c5e37ee598b63e7e12c54e3d20c9ae5de6dbc132cecced023cb967c481007eef73252da108ac7eabb2e859853ff2e2d5776699a2954466ca716f + eslint-plugin-import-x: "*" + peerDependenciesMeta: + eslint-plugin-import: + optional: true + eslint-plugin-import-x: + optional: true + checksum: 10/8158730c11e562c56ed9bf7236dc75bce35b6992dc32c39ac2f4177ab77fca97b95999850204a6458054243607b54aee88c028a61fed4184f24f425fa1afff01 + languageName: node + linkType: hard + +"eslint-json-compat-utils@npm:^0.2.1": + version: 0.2.1 + resolution: "eslint-json-compat-utils@npm:0.2.1" + dependencies: + esquery: "npm:^1.6.0" + peerDependencies: + eslint: "*" + jsonc-eslint-parser: ^2.4.0 + peerDependenciesMeta: + "@eslint/json": + optional: true + checksum: 10/083272c0cdbc6acd9fe9bfe939e0c76493a426400141203d7f0e76344d5874c5a88535c59300045e4c6f95baa5084eff512013f82bcd9e7426404c785e2ea55d + languageName: node + linkType: hard + +"eslint-mdx@npm:3.1.5, eslint-mdx@npm:^3.1.5": + version: 3.1.5 + resolution: "eslint-mdx@npm:3.1.5" + dependencies: + acorn: "npm:^8.11.3" + acorn-jsx: "npm:^5.3.2" + espree: "npm:^9.6.1" + estree-util-visit: "npm:^2.0.0" + remark-mdx: "npm:^3.0.0" + remark-parse: "npm:^11.0.0" + remark-stringify: "npm:^11.0.0" + synckit: "npm:^0.9.0" + tslib: "npm:^2.6.2" + unified: "npm:^11.0.4" + unified-engine: "npm:^11.2.0" + unist-util-visit: "npm:^5.0.0" + uvu: "npm:^0.5.6" + vfile: "npm:^6.0.1" + peerDependencies: + eslint: ">=8.0.0" + checksum: 10/8218476bf4dde702d7d0bd846163f407fef2c44de5315e08206cb025734f73a29baae7588f32e0c6745ea56bf10fe495ee6efc240083b79b47565b0bcb3096cb languageName: node linkType: hard -"eslint-module-utils@npm:^2.7.4, eslint-module-utils@npm:^2.8.0": - version: 2.8.0 - resolution: "eslint-module-utils@npm:2.8.0" +"eslint-module-utils@npm:^2.12.0": + version: 2.12.0 + resolution: "eslint-module-utils@npm:2.12.0" dependencies: debug: "npm:^3.2.7" peerDependenciesMeta: eslint: optional: true - checksum: a9a7ed93eb858092e3cdc797357d4ead2b3ea06959b0eada31ab13862d46a59eb064b9cb82302214232e547980ce33618c2992f6821138a4934e65710ed9cc29 + checksum: 10/dd27791147eca17366afcb83f47d6825b6ce164abb256681e5de4ec1d7e87d8605641eb869298a0dbc70665e2446dbcc2f40d3e1631a9475dd64dd23d4ca5dee languageName: node linkType: hard -"eslint-plugin-chai-expect@npm:3.0.0": - version: 3.0.0 - resolution: "eslint-plugin-chai-expect@npm:3.0.0" +"eslint-plugin-chai-expect@npm:3.1.0": + version: 3.1.0 + resolution: "eslint-plugin-chai-expect@npm:3.1.0" peerDependencies: - eslint: ">=2.0.0 <= 8.x" - checksum: 8461455f11fd0638cf7fe555922ee528c4560409d50a293d5d8a5bec8c0e45748fba00ac0fad68980bdcb65da59b8c0f5db0942115b94a8ecde864d29a1631d5 + eslint: ">=2.0.0 <= 9.x" + checksum: 10/fc6250a8407b5c35eda5c02fcd830994cbdede2da2d4da2d058b5f3f03df4bc500ab30d3638737b10dfa338109c3a963438ae89426a5bb88224870a018ed30a4 languageName: node linkType: hard -"eslint-plugin-es@npm:^3.0.0": - version: 3.0.1 - resolution: "eslint-plugin-es@npm:3.0.1" +"eslint-plugin-es-x@npm:^7.8.0": + version: 7.8.0 + resolution: "eslint-plugin-es-x@npm:7.8.0" dependencies: - eslint-utils: "npm:^2.0.0" - regexpp: "npm:^3.0.0" + "@eslint-community/eslint-utils": "npm:^4.1.2" + "@eslint-community/regexpp": "npm:^4.11.0" + eslint-compat-utils: "npm:^0.5.1" peerDependencies: - eslint: ">=4.19.1" - checksum: 9814e6305183edfdff7d99cbc0f95f0aed1446045cbd1d4f28e7be0903d0013880f0aaf04486a27de96bfb2f5a746bea97cbb238f9b0035cb378d48d179a0a1b + eslint: ">=8" + checksum: 10/1df8d52c4fadc06854ce801af05b05f2642aa2deb918fb7d37738596eabd70b7f21a22b150b78ec9104bac6a1b6b4fb796adea2364ede91b01d20964849ce5f7 languageName: node linkType: hard -"eslint-plugin-import@npm:2.28.1": - version: 2.28.1 - resolution: "eslint-plugin-import@npm:2.28.1" +"eslint-plugin-import@npm:2.31.0": + version: 2.31.0 + resolution: "eslint-plugin-import@npm:2.31.0" dependencies: - array-includes: "npm:^3.1.6" - array.prototype.findlastindex: "npm:^1.2.2" - array.prototype.flat: "npm:^1.3.1" - array.prototype.flatmap: "npm:^1.3.1" + "@rtsao/scc": "npm:^1.1.0" + array-includes: "npm:^3.1.8" + array.prototype.findlastindex: "npm:^1.2.5" + array.prototype.flat: "npm:^1.3.2" + array.prototype.flatmap: "npm:^1.3.2" debug: "npm:^3.2.7" doctrine: "npm:^2.1.0" - eslint-import-resolver-node: "npm:^0.3.7" - eslint-module-utils: "npm:^2.8.0" - has: "npm:^1.0.3" - is-core-module: "npm:^2.13.0" + eslint-import-resolver-node: "npm:^0.3.9" + eslint-module-utils: "npm:^2.12.0" + hasown: "npm:^2.0.2" + is-core-module: "npm:^2.15.1" is-glob: "npm:^4.0.3" minimatch: "npm:^3.1.2" - object.fromentries: "npm:^2.0.6" - object.groupby: "npm:^1.0.0" - object.values: "npm:^1.1.6" + object.fromentries: "npm:^2.0.8" + object.groupby: "npm:^1.0.3" + object.values: "npm:^1.2.0" semver: "npm:^6.3.1" - tsconfig-paths: "npm:^3.14.2" + string.prototype.trimend: "npm:^1.0.8" + tsconfig-paths: "npm:^3.15.0" peerDependencies: - eslint: ^2 || ^3 || ^4 || ^5 || ^6 || ^7.2.0 || ^8 - checksum: 707dc97f06b12b0f3f91d5248dcea91bcd6a72c1168249a3ba177dd1ab6f31de9d5db829705236207a6ae79ad99a7a03efdfddb4a703da3a85530f9cc7401b2f + eslint: ^2 || ^3 || ^4 || ^5 || ^6 || ^7.2.0 || ^8 || ^9 + checksum: 10/6b76bd009ac2db0615d9019699d18e2a51a86cb8c1d0855a35fb1b418be23b40239e6debdc6e8c92c59f1468ed0ea8d7b85c817117a113d5cc225be8a02ad31c languageName: node linkType: hard @@ -4197,236 +5016,259 @@ __metadata: resolution: "eslint-plugin-jest-formatting@npm:3.1.0" peerDependencies: eslint: ">=0.8.0" - checksum: 5e7a7304df969edb7e7442676b4a7d0e672ca0d9096eeda316e10a3c4de3f4afa391ba963662bf560a7382920ac3f2e6dc42a7955a9ae9f9683b264a36fca536 + checksum: 10/5e7a7304df969edb7e7442676b4a7d0e672ca0d9096eeda316e10a3c4de3f4afa391ba963662bf560a7382920ac3f2e6dc42a7955a9ae9f9683b264a36fca536 languageName: node linkType: hard -"eslint-plugin-jsdoc@npm:44.1.0": - version: 44.1.0 - resolution: "eslint-plugin-jsdoc@npm:44.1.0" +"eslint-plugin-jsdoc@npm:50.6.2": + version: 50.6.2 + resolution: "eslint-plugin-jsdoc@npm:50.6.2" dependencies: - "@es-joy/jsdoccomment": "npm:~0.38.0" + "@es-joy/jsdoccomment": "npm:~0.49.0" are-docs-informative: "npm:^0.0.2" - comment-parser: "npm:1.3.1" - debug: "npm:^4.3.4" + comment-parser: "npm:1.4.1" + debug: "npm:^4.3.6" escape-string-regexp: "npm:^4.0.0" - esquery: "npm:^1.5.0" - semver: "npm:^7.5.0" - spdx-expression-parse: "npm:^3.0.1" + espree: "npm:^10.1.0" + esquery: "npm:^1.6.0" + parse-imports: "npm:^2.1.1" + semver: "npm:^7.6.3" + spdx-expression-parse: "npm:^4.0.0" + synckit: "npm:^0.9.1" peerDependencies: - eslint: ^7.0.0 || ^8.0.0 - checksum: 7dd7ef7f1896288dd60d85b7ba04cb08808a60545972ef5b5b9a82db177a6b1e7de9dd975bdcceb2a23177204592ac577780fe3a3b098be53ad24b155a3bfcf5 + eslint: ^7.0.0 || ^8.0.0 || ^9.0.0 + checksum: 10/604e0ccaa4c43a9c95f072dca3833b2e7274ee89d481247d4beccffc7c6bbb4062169271cedc79e839ed3b770699bf20f13c4e92e006ae5d64f8012bfdfa1cb2 languageName: node linkType: hard -"eslint-plugin-jsonc@npm:2.10.0": - version: 2.10.0 - resolution: "eslint-plugin-jsonc@npm:2.10.0" +"eslint-plugin-jsonc@npm:2.18.2": + version: 2.18.2 + resolution: "eslint-plugin-jsonc@npm:2.18.2" dependencies: "@eslint-community/eslint-utils": "npm:^4.2.0" - eslint-compat-utils: "npm:^0.1.2" + eslint-compat-utils: "npm:^0.6.0" + eslint-json-compat-utils: "npm:^0.2.1" + espree: "npm:^9.6.1" + graphemer: "npm:^1.4.0" jsonc-eslint-parser: "npm:^2.0.4" natural-compare: "npm:^1.4.0" + synckit: "npm:^0.6.0" peerDependencies: eslint: ">=6.0.0" - checksum: e35c40195bf0e087ea63c0526552ba4e1dc48996d5e6a3dfea3e683e2372f4b8215b199b9a176039ed978010d467a51c1ca254cbe4b90fadba5b97e7a8dc7be9 + checksum: 10/7c63d5387d44e70de0a74ba4bc82d3db87d82665e21ac9c73ae28803174e8820dfc607b84e477a0a9871113e3e616ae731f1468944b060e60177f033589e6c4e languageName: node linkType: hard -"eslint-plugin-markdown@npm:3.0.1": +"eslint-plugin-markdown@npm:^3.0.1": version: 3.0.1 resolution: "eslint-plugin-markdown@npm:3.0.1" dependencies: mdast-util-from-markdown: "npm:^0.8.5" peerDependencies: eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 - checksum: 1408ccd48f6358dfc528a0fe7abc1f468c913144c74392cc3ed4926ed6556e7c87524a0a1b8a40174135e872979d213d05dcd3edc90a3ad555f12feb31c3c87d + checksum: 10/1408ccd48f6358dfc528a0fe7abc1f468c913144c74392cc3ed4926ed6556e7c87524a0a1b8a40174135e872979d213d05dcd3edc90a3ad555f12feb31c3c87d languageName: node linkType: hard -"eslint-plugin-markdownlint@npm:0.5.0": - version: 0.5.0 - resolution: "eslint-plugin-markdownlint@npm:0.5.0" - dependencies: - markdownlint: "npm:0.29.0" +"eslint-plugin-mdx@npm:3.1.5": + version: 3.1.5 + resolution: "eslint-plugin-mdx@npm:3.1.5" + dependencies: + eslint-mdx: "npm:^3.1.5" + eslint-plugin-markdown: "npm:^3.0.1" + remark-mdx: "npm:^3.0.0" + remark-parse: "npm:^11.0.0" + remark-stringify: "npm:^11.0.0" + tslib: "npm:^2.6.2" + unified: "npm:^11.0.4" + vfile: "npm:^6.0.1" peerDependencies: - eslint: ">=7.5.0" - checksum: 9f39ce862a818fc45de828e1a1c6cf51a8f0c38f0ad5d85ae9148c369e3b50a54e022a65db8d1b2dcdb2e7f9816ccd373c0cc02ab16c8adeb961f742e5e8a990 + eslint: ">=8.0.0" + checksum: 10/56c4cffb0e7931ed5200084878367f9ee2fc7c1c910509dbea32f227ff911b1451b36b7500bf393ef9b7ca67c8ca7825bbd0e6694bb35360c0182c974581fa80 languageName: node linkType: hard -"eslint-plugin-node@npm:11.1.0": - version: 11.1.0 - resolution: "eslint-plugin-node@npm:11.1.0" - dependencies: - eslint-plugin-es: "npm:^3.0.0" - eslint-utils: "npm:^2.0.0" - ignore: "npm:^5.1.1" - minimatch: "npm:^3.0.4" - resolve: "npm:^1.10.1" - semver: "npm:^6.1.0" +"eslint-plugin-n@npm:17.15.1": + version: 17.15.1 + resolution: "eslint-plugin-n@npm:17.15.1" + dependencies: + "@eslint-community/eslint-utils": "npm:^4.4.1" + enhanced-resolve: "npm:^5.17.1" + eslint-plugin-es-x: "npm:^7.8.0" + get-tsconfig: "npm:^4.8.1" + globals: "npm:^15.11.0" + ignore: "npm:^5.3.2" + minimatch: "npm:^9.0.5" + semver: "npm:^7.6.3" peerDependencies: - eslint: ">=5.16.0" - checksum: bda540f390a84d835989f21f56743f3aa8f41fd9b53359d635c116632c86af92d70d8e6449ddd18860e6241f9cef04fc90c37eb192a9047c3c3a46de6145c30c + eslint: ">=8.23.0" + checksum: 10/43fc161949fa0346ac7063a30580cd0db27e216b8e6a48d73d0bf4f10b88e9b65f263399843b3fe2087f766f264d16f0cbe8f2f898591516842201dc115a2d21 languageName: node linkType: hard -"eslint-plugin-promise@npm:6.1.1": - version: 6.1.1 - resolution: "eslint-plugin-promise@npm:6.1.1" +"eslint-plugin-promise@npm:7.2.1": + version: 7.2.1 + resolution: "eslint-plugin-promise@npm:7.2.1" + dependencies: + "@eslint-community/eslint-utils": "npm:^4.4.0" peerDependencies: - eslint: ^7.0.0 || ^8.0.0 - checksum: 216c4348f796c5e90984224532d42a8f8d0455b8cbb1955bcb328b3aa10a52e9718f6fb044b6fe19825eda3a2d62a32b1042d9cbb10731353cf61b7a6cab2d71 + eslint: ^7.0.0 || ^8.0.0 || ^9.0.0 + checksum: 10/e7447159d52dbc0fdaacfad18571906bb783f9f41f497e73f9b0351e9cc79497f9a9053fbef8141d0c027c16c768a1ef7f8cd4709a4a5cbb14636e862a1ccb34 languageName: node linkType: hard -"eslint-plugin-unicorn@npm:48.0.1": - version: 48.0.1 - resolution: "eslint-plugin-unicorn@npm:48.0.1" +"eslint-plugin-unicorn@npm:56.0.1": + version: 56.0.1 + resolution: "eslint-plugin-unicorn@npm:56.0.1" dependencies: - "@babel/helper-validator-identifier": "npm:^7.22.5" + "@babel/helper-validator-identifier": "npm:^7.24.7" "@eslint-community/eslint-utils": "npm:^4.4.0" - ci-info: "npm:^3.8.0" + ci-info: "npm:^4.0.0" clean-regexp: "npm:^1.0.0" - esquery: "npm:^1.5.0" + core-js-compat: "npm:^3.38.1" + esquery: "npm:^1.6.0" + globals: "npm:^15.9.0" indent-string: "npm:^4.0.0" is-builtin-module: "npm:^3.2.1" jsesc: "npm:^3.0.2" - lodash: "npm:^4.17.21" pluralize: "npm:^8.0.0" read-pkg-up: "npm:^7.0.1" regexp-tree: "npm:^0.1.27" regjsparser: "npm:^0.10.0" - semver: "npm:^7.5.4" + semver: "npm:^7.6.3" strip-indent: "npm:^3.0.0" peerDependencies: - eslint: ">=8.44.0" - checksum: c7ee2d2c031f74bc84ebd44a59462eaee93387fef4df29e9ec9489b2d7d92564962a35626aacc1c4a136c2f92f605c7749f38654ad51fd7a8c4bcc2aa7439b74 + eslint: ">=8.56.0" + checksum: 10/59e13ded0e6bf4eff96018f3156829044d6edc37f66d25bc8ca99ed2b44e0cd3e9959587cf5a111498ff2d267a92bed49ade4f4dad98dcd8544e9edd9f6642b2 languageName: node linkType: hard -"eslint-plugin-yml@npm:1.10.0": - version: 1.10.0 - resolution: "eslint-plugin-yml@npm:1.10.0" +"eslint-plugin-yml@npm:1.16.0": + version: 1.16.0 + resolution: "eslint-plugin-yml@npm:1.16.0" dependencies: debug: "npm:^4.3.2" - eslint-compat-utils: "npm:^0.1.0" + eslint-compat-utils: "npm:^0.6.0" lodash: "npm:^4.17.21" natural-compare: "npm:^1.4.0" yaml-eslint-parser: "npm:^1.2.1" peerDependencies: eslint: ">=6.0.0" - checksum: 4760e11290666056e3fe8f0c9dfc9bc15eed766169826b72cb8ad83469793ed65c3387313a500355d038e8be87487adc0dba2bc52aa8659aacfd23bd856f306b + checksum: 10/523f3016098f2de340a68c1fa11228734b281191d3391b1ab8812c1c446455841f35815b4c4f036c2ab459a5f7b0c6496dd5bc57de912632d8db9da44e45eb44 languageName: node linkType: hard -"eslint-scope@npm:^7.2.2": - version: 7.2.2 - resolution: "eslint-scope@npm:7.2.2" +"eslint-scope@npm:^8.2.0": + version: 8.2.0 + resolution: "eslint-scope@npm:8.2.0" dependencies: esrecurse: "npm:^4.3.0" estraverse: "npm:^5.2.0" - checksum: 5c660fb905d5883ad018a6fea2b49f3cb5b1cbf2cd4bd08e98646e9864f9bc2c74c0839bed2d292e90a4a328833accc197c8f0baed89cbe8d605d6f918465491 - languageName: node - linkType: hard - -"eslint-utils@npm:^2.0.0": - version: 2.1.0 - resolution: "eslint-utils@npm:2.1.0" - dependencies: - eslint-visitor-keys: "npm:^1.1.0" - checksum: a7e43a5154a16a90c021cabeb160c3668cccbcf6474ccb2a7d7762698582398f3b938c5330909b858ef7c21182edfc9786dbf89ed7b294f51b7659a378bf7cec + checksum: 10/cd9ab60d5a68f3a0fcac04d1cff5a7383d0f331964d5f1c446259123caec5b3ccc542284d07846e4f4d1389da77750821cc9a6e1ce18558c674977351666f9a6 languageName: node linkType: hard -"eslint-visitor-keys@npm:^1.1.0": - version: 1.3.0 - resolution: "eslint-visitor-keys@npm:1.3.0" - checksum: 595ab230e0fcb52f86ba0986a9a473b9fcae120f3729b43f1157f88f27f8addb1e545c4e3d444185f2980e281ca15be5ada6f65b4599eec227cf30e41233b762 +"eslint-visitor-keys@npm:^3.0.0, eslint-visitor-keys@npm:^3.4.1, eslint-visitor-keys@npm:^3.4.3": + version: 3.4.3 + resolution: "eslint-visitor-keys@npm:3.4.3" + checksum: 10/3f357c554a9ea794b094a09bd4187e5eacd1bc0d0653c3adeb87962c548e6a1ab8f982b86963ae1337f5d976004146536dcee5d0e2806665b193fbfbf1a9231b languageName: node linkType: hard -"eslint-visitor-keys@npm:^3.0.0, eslint-visitor-keys@npm:^3.3.0, eslint-visitor-keys@npm:^3.4.1, eslint-visitor-keys@npm:^3.4.3": - version: 3.4.3 - resolution: "eslint-visitor-keys@npm:3.4.3" - checksum: 3f357c554a9ea794b094a09bd4187e5eacd1bc0d0653c3adeb87962c548e6a1ab8f982b86963ae1337f5d976004146536dcee5d0e2806665b193fbfbf1a9231b +"eslint-visitor-keys@npm:^4.2.0": + version: 4.2.0 + resolution: "eslint-visitor-keys@npm:4.2.0" + checksum: 10/9651b3356b01760e586b4c631c5268c0e1a85236e3292bf754f0472f465bf9a856c0ddc261fceace155334118c0151778effafbab981413dbf9288349343fa25 languageName: node linkType: hard -"eslint@npm:8.51.0": - version: 8.51.0 - resolution: "eslint@npm:8.51.0" +"eslint@npm:9.18.0": + version: 9.18.0 + resolution: "eslint@npm:9.18.0" dependencies: "@eslint-community/eslint-utils": "npm:^4.2.0" - "@eslint-community/regexpp": "npm:^4.6.1" - "@eslint/eslintrc": "npm:^2.1.2" - "@eslint/js": "npm:8.51.0" - "@humanwhocodes/config-array": "npm:^0.11.11" + "@eslint-community/regexpp": "npm:^4.12.1" + "@eslint/config-array": "npm:^0.19.0" + "@eslint/core": "npm:^0.10.0" + "@eslint/eslintrc": "npm:^3.2.0" + "@eslint/js": "npm:9.18.0" + "@eslint/plugin-kit": "npm:^0.2.5" + "@humanfs/node": "npm:^0.16.6" "@humanwhocodes/module-importer": "npm:^1.0.1" - "@nodelib/fs.walk": "npm:^1.2.8" + "@humanwhocodes/retry": "npm:^0.4.1" + "@types/estree": "npm:^1.0.6" + "@types/json-schema": "npm:^7.0.15" ajv: "npm:^6.12.4" chalk: "npm:^4.0.0" - cross-spawn: "npm:^7.0.2" + cross-spawn: "npm:^7.0.6" debug: "npm:^4.3.2" - doctrine: "npm:^3.0.0" escape-string-regexp: "npm:^4.0.0" - eslint-scope: "npm:^7.2.2" - eslint-visitor-keys: "npm:^3.4.3" - espree: "npm:^9.6.1" - esquery: "npm:^1.4.2" + eslint-scope: "npm:^8.2.0" + eslint-visitor-keys: "npm:^4.2.0" + espree: "npm:^10.3.0" + esquery: "npm:^1.5.0" esutils: "npm:^2.0.2" fast-deep-equal: "npm:^3.1.3" - file-entry-cache: "npm:^6.0.1" + file-entry-cache: "npm:^8.0.0" find-up: "npm:^5.0.0" glob-parent: "npm:^6.0.2" - globals: "npm:^13.19.0" - graphemer: "npm:^1.4.0" ignore: "npm:^5.2.0" imurmurhash: "npm:^0.1.4" is-glob: "npm:^4.0.0" - is-path-inside: "npm:^3.0.3" - js-yaml: "npm:^4.1.0" json-stable-stringify-without-jsonify: "npm:^1.0.1" - levn: "npm:^0.4.1" lodash.merge: "npm:^4.6.2" minimatch: "npm:^3.1.2" natural-compare: "npm:^1.4.0" optionator: "npm:^0.9.3" - strip-ansi: "npm:^6.0.1" - text-table: "npm:^0.2.0" + peerDependencies: + jiti: "*" + peerDependenciesMeta: + jiti: + optional: true bin: eslint: bin/eslint.js - checksum: 1f3720dd2a8e25198815c33720dd66ceee88d7527b3b6f2da57b57d0476440af29da2a1d9f28515660afb3345e4f84438562772d6b5fc19b6fab7c77c478ebca + checksum: 10/85f22991aab4b0809fdfc557ec2bd309062e7211b631674e71827a73c45e44febaa80dedda35150154e331a2d372c3a25e8e5dd4a99dc8a982fe8f7d645d859f + languageName: node + linkType: hard + +"espree@npm:^10.0.1, espree@npm:^10.1.0, espree@npm:^10.3.0": + version: 10.3.0 + resolution: "espree@npm:10.3.0" + dependencies: + acorn: "npm:^8.14.0" + acorn-jsx: "npm:^5.3.2" + eslint-visitor-keys: "npm:^4.2.0" + checksum: 10/3412d44d4204c9e29d6b5dd0277400cfa0cd68495dc09eae1b9ce79d0c8985c1c5cc09cb9ba32a1cd963f48a49b0c46bdb7736afe395a300aa6bb1c0d86837e8 languageName: node linkType: hard -"espree@npm:^9.0.0, espree@npm:^9.6.0, espree@npm:^9.6.1": +"espree@npm:^9.0.0, espree@npm:^9.6.1": version: 9.6.1 resolution: "espree@npm:9.6.1" dependencies: acorn: "npm:^8.9.0" acorn-jsx: "npm:^5.3.2" eslint-visitor-keys: "npm:^3.4.1" - checksum: 255ab260f0d711a54096bdeda93adff0eadf02a6f9b92f02b323e83a2b7fc258797919437ad331efec3930475feb0142c5ecaaf3cdab4befebd336d47d3f3134 + checksum: 10/255ab260f0d711a54096bdeda93adff0eadf02a6f9b92f02b323e83a2b7fc258797919437ad331efec3930475feb0142c5ecaaf3cdab4befebd336d47d3f3134 languageName: node linkType: hard -"esprima@npm:^4.0.1, esprima@npm:~4.0.0": +"esprima@npm:^4.0.1": version: 4.0.1 resolution: "esprima@npm:4.0.1" bin: esparse: ./bin/esparse.js esvalidate: ./bin/esvalidate.js - checksum: f1d3c622ad992421362294f7acf866aa9409fbad4eb2e8fa230bd33944ce371d32279667b242d8b8907ec2b6ad7353a717f3c0e60e748873a34a7905174bc0eb + checksum: 10/f1d3c622ad992421362294f7acf866aa9409fbad4eb2e8fa230bd33944ce371d32279667b242d8b8907ec2b6ad7353a717f3c0e60e748873a34a7905174bc0eb languageName: node linkType: hard -"esquery@npm:^1.4.2, esquery@npm:^1.5.0": - version: 1.5.0 - resolution: "esquery@npm:1.5.0" +"esquery@npm:^1.5.0, esquery@npm:^1.6.0": + version: 1.6.0 + resolution: "esquery@npm:1.6.0" dependencies: estraverse: "npm:^5.1.0" - checksum: e65fcdfc1e0ff5effbf50fb4f31ea20143ae5df92bb2e4953653d8d40aa4bc148e0d06117a592ce4ea53eeab1dafdfded7ea7e22a5be87e82d73757329a1b01d + checksum: 10/c587fb8ec9ed83f2b1bc97cf2f6854cc30bf784a79d62ba08c6e358bf22280d69aee12827521cf38e69ae9761d23fb7fde593ce315610f85655c139d99b05e5a languageName: node linkType: hard @@ -4435,45 +5277,54 @@ __metadata: resolution: "esrecurse@npm:4.3.0" dependencies: estraverse: "npm:^5.2.0" - checksum: 44ffcd89e714ea6b30143e7f119b104fc4d75e77ee913f34d59076b40ef2d21967f84e019f84e1fd0465b42cdbf725db449f232b5e47f29df29ed76194db8e16 + checksum: 10/44ffcd89e714ea6b30143e7f119b104fc4d75e77ee913f34d59076b40ef2d21967f84e019f84e1fd0465b42cdbf725db449f232b5e47f29df29ed76194db8e16 languageName: node linkType: hard -"estraverse@npm:^5.1.0, estraverse@npm:^5.2.0": +"estraverse@npm:^5.1.0, estraverse@npm:^5.2.0, estraverse@npm:^5.3.0": version: 5.3.0 resolution: "estraverse@npm:5.3.0" - checksum: 37cbe6e9a68014d34dbdc039f90d0baf72436809d02edffcc06ba3c2a12eb298048f877511353b130153e532aac8d68ba78430c0dd2f44806ebc7c014b01585e + checksum: 10/37cbe6e9a68014d34dbdc039f90d0baf72436809d02edffcc06ba3c2a12eb298048f877511353b130153e532aac8d68ba78430c0dd2f44806ebc7c014b01585e languageName: node linkType: hard -"esutils@npm:^2.0.2": - version: 2.0.3 - resolution: "esutils@npm:2.0.3" - checksum: b23acd24791db11d8f65be5ea58fd9a6ce2df5120ae2da65c16cfc5331ff59d5ac4ef50af66cd4bde238881503ec839928a0135b99a036a9cdfa22d17fd56cdb +"estree-util-is-identifier-name@npm:^3.0.0": + version: 3.0.0 + resolution: "estree-util-is-identifier-name@npm:3.0.0" + checksum: 10/cdc9187614fdb269d714eddfdf72c270a79daa9ed51e259bb78527983be6dcc68da6a914ccc41175b662194c67fbd2a1cd262f85fac1eef7111cfddfaf6f77f8 languageName: node linkType: hard -"eventemitter3@npm:^5.0.1": - version: 5.0.1 - resolution: "eventemitter3@npm:5.0.1" - checksum: ac6423ec31124629c84c7077eed1e6987f6d66c31cf43c6fcbf6c87791d56317ce808d9ead483652436df171b526fc7220eccdc9f3225df334e81582c3cf7dd5 +"estree-util-visit@npm:^2.0.0": + version: 2.0.0 + resolution: "estree-util-visit@npm:2.0.0" + dependencies: + "@types/estree-jsx": "npm:^1.0.0" + "@types/unist": "npm:^3.0.0" + checksum: 10/e3c39d34c8b42fc2067dfa64d460f754b43cca4b573b031a5e5bb185e02c4efc753353197815bbb094b8149a781ab76f18116bec8056b5ff375162e68bffa0bd languageName: node linkType: hard -"execa@npm:8.0.1": - version: 8.0.1 - resolution: "execa@npm:8.0.1" +"estree-walker@npm:^2.0.2": + version: 2.0.2 + resolution: "estree-walker@npm:2.0.2" + checksum: 10/b02109c5d46bc2ed47de4990eef770f7457b1159a229f0999a09224d2b85ffeed2d7679cffcff90aeb4448e94b0168feb5265b209cdec29aad50a3d6e93d21e2 + languageName: node + linkType: hard + +"estree-walker@npm:^3.0.3": + version: 3.0.3 + resolution: "estree-walker@npm:3.0.3" dependencies: - cross-spawn: "npm:^7.0.3" - get-stream: "npm:^8.0.1" - human-signals: "npm:^5.0.0" - is-stream: "npm:^3.0.0" - merge-stream: "npm:^2.0.0" - npm-run-path: "npm:^5.1.0" - onetime: "npm:^6.0.0" - signal-exit: "npm:^4.1.0" - strip-final-newline: "npm:^3.0.0" - checksum: d2ab5fe1e2bb92b9788864d0713f1fce9a07c4594e272c0c97bc18c90569897ab262e4ea58d27a694d288227a2e24f16f5e2575b44224ad9983b799dc7f1098d + "@types/estree": "npm:^1.0.0" + checksum: 10/a65728d5727b71de172c5df323385755a16c0fdab8234dc756c3854cfee343261ddfbb72a809a5660fac8c75d960bb3e21aa898c2d7e9b19bb298482ca58a3af + languageName: node + linkType: hard + +"esutils@npm:^2.0.2": + version: 2.0.3 + resolution: "esutils@npm:2.0.3" + checksum: 10/b23acd24791db11d8f65be5ea58fd9a6ce2df5120ae2da65c16cfc5331ff59d5ac4ef50af66cd4bde238881503ec839928a0135b99a036a9cdfa22d17fd56cdb languageName: node linkType: hard @@ -4490,84 +5341,53 @@ __metadata: p-finally: "npm:^2.0.0" signal-exit: "npm:^3.0.2" strip-final-newline: "npm:^2.0.0" - checksum: e1280d17f95f18860bb3e6e2c4a096c847d4fbe06d7a49f4c6d2e3832cb66e84cdf5c302d8c63ffd110f870b8cad4927bd3ea596a69b130a5919de21afcd087a - languageName: node - linkType: hard - -"execa@npm:^5.0.0": - version: 5.1.1 - resolution: "execa@npm:5.1.1" - dependencies: - cross-spawn: "npm:^7.0.3" - get-stream: "npm:^6.0.0" - human-signals: "npm:^2.1.0" - is-stream: "npm:^2.0.0" - merge-stream: "npm:^2.0.0" - npm-run-path: "npm:^4.0.1" - onetime: "npm:^5.1.2" - signal-exit: "npm:^3.0.3" - strip-final-newline: "npm:^2.0.0" - checksum: 8ada91f2d70f7dff702c861c2c64f21dfdc1525628f3c0454fd6f02fce65f7b958616cbd2b99ca7fa4d474e461a3d363824e91b3eb881705231abbf387470597 + checksum: 10/e1280d17f95f18860bb3e6e2c4a096c847d4fbe06d7a49f4c6d2e3832cb66e84cdf5c302d8c63ffd110f870b8cad4927bd3ea596a69b130a5919de21afcd087a languageName: node linkType: hard "exit-hook@npm:3.2.0": version: 3.2.0 resolution: "exit-hook@npm:3.2.0" - checksum: 48b7ab6538043eb5b91379852fa01cb301810806f181f2f784fc596a6ce08016bb8b636881b873a3cf0a604f3ec746a6da52081a9c2e02b1858c59481cf00442 + checksum: 10/48b7ab6538043eb5b91379852fa01cb301810806f181f2f784fc596a6ce08016bb8b636881b873a3cf0a604f3ec746a6da52081a9c2e02b1858c59481cf00442 languageName: node linkType: hard -"exponential-backoff@npm:^3.1.1": - version: 3.1.1 - resolution: "exponential-backoff@npm:3.1.1" - checksum: 2d9bbb6473de7051f96790d5f9a678f32e60ed0aa70741dc7fdc96fec8d631124ec3374ac144387604f05afff9500f31a1d45bd9eee4cdc2e4f9ad2d9b9d5dbd +"expect-type@npm:^1.1.0": + version: 1.1.0 + resolution: "expect-type@npm:1.1.0" + checksum: 10/05fca80ddc7d493a89361f783c6b000750fa04a8226bc24701f3b90adb0efc2fb467f2a0baaed4015a02d8b9034ef5bb87521df9dba980f50b1105bd596ef833 languageName: node linkType: hard -"extended-emitter@npm:*": - version: 1.5.1 - resolution: "extended-emitter@npm:1.5.1" - dependencies: - sift: "npm:*" - wolfy87-eventemitter: "npm:*" - checksum: bfba88840fb8b3c4a1f879a8266fd9fc1dd4cce843b83fe9ba61e7a4e0e5b3209cbd9926416206370b9cd237bb85e23e6e0aff74824a103c9233ef8006e9941e +"exponential-backoff@npm:^3.1.1": + version: 3.1.1 + resolution: "exponential-backoff@npm:3.1.1" + checksum: 10/2d9bbb6473de7051f96790d5f9a678f32e60ed0aa70741dc7fdc96fec8d631124ec3374ac144387604f05afff9500f31a1d45bd9eee4cdc2e4f9ad2d9b9d5dbd languageName: node linkType: hard -"external-editor@npm:^3.0.3": - version: 3.1.0 - resolution: "external-editor@npm:3.1.0" - dependencies: - chardet: "npm:^0.7.0" - iconv-lite: "npm:^0.4.24" - tmp: "npm:^0.0.33" - checksum: 776dff1d64a1d28f77ff93e9e75421a81c062983fd1544279d0a32f563c0b18c52abbb211f31262e2827e48edef5c9dc8f960d06dd2d42d1654443b88568056b +"extend@npm:^3.0.0": + version: 3.0.2 + resolution: "extend@npm:3.0.2" + checksum: 10/59e89e2dc798ec0f54b36d82f32a27d5f6472c53974f61ca098db5d4648430b725387b53449a34df38fd0392045434426b012f302b3cc049a6500ccf82877e4e languageName: node linkType: hard "fast-deep-equal@npm:^3.1.1, fast-deep-equal@npm:^3.1.3": version: 3.1.3 resolution: "fast-deep-equal@npm:3.1.3" - checksum: e21a9d8d84f53493b6aa15efc9cfd53dd5b714a1f23f67fb5dc8f574af80df889b3bce25dc081887c6d25457cce704e636395333abad896ccdec03abaf1f3f9d - languageName: node - linkType: hard - -"fast-equals@npm:^4.0.3": - version: 4.0.3 - resolution: "fast-equals@npm:4.0.3" - checksum: 04c1ff47b79923314e9b63ec6c81beeaa5e3b9588ec230ee6aff7ece725ff834a72abf627055055127bd0f53ae8a92cc04c3a6e187783fd932dbef743f9b13bf + checksum: 10/e21a9d8d84f53493b6aa15efc9cfd53dd5b714a1f23f67fb5dc8f574af80df889b3bce25dc081887c6d25457cce704e636395333abad896ccdec03abaf1f3f9d languageName: node linkType: hard -"fast-equals@npm:^5.0.1": - version: 5.0.1 - resolution: "fast-equals@npm:5.0.1" - checksum: 9dc1ef767903600e5694a89a787782fc3a4f56cc04d235afc13616c848c33563b8f415b1c6a248b2a236424f624aa1a7513f46b7fa69590a640e7784f1296bce +"fast-equals@npm:^5.2.2": + version: 5.2.2 + resolution: "fast-equals@npm:5.2.2" + checksum: 10/87939dc01c6634f844369c2d774c9bf82b6c5935eb45c698fdfd2e708439c6c94a67a41c67c7e063759394e319850ee563e717e65776c8f5997566b0cbb17c7a languageName: node linkType: hard -"fast-glob@npm:3.3.1, fast-glob@npm:^3.2.9, fast-glob@npm:^3.3.1": +"fast-glob@npm:3.3.1": version: 3.3.1 resolution: "fast-glob@npm:3.3.1" dependencies: @@ -4576,28 +5396,34 @@ __metadata: glob-parent: "npm:^5.1.2" merge2: "npm:^1.3.0" micromatch: "npm:^4.0.4" - checksum: 51bcd15472879dfe51d4b01c5b70bbc7652724d39cdd082ba11276dbd7d84db0f6b33757e1938af8b2768a4bf485d9be0c89153beae24ee8331d6dcc7550379f + checksum: 10/51bcd15472879dfe51d4b01c5b70bbc7652724d39cdd082ba11276dbd7d84db0f6b33757e1938af8b2768a4bf485d9be0c89153beae24ee8331d6dcc7550379f languageName: node linkType: hard -"fast-json-stable-stringify@npm:^2.0.0, fast-json-stable-stringify@npm:^2.1.0": - version: 2.1.0 - resolution: "fast-json-stable-stringify@npm:2.1.0" - checksum: 2c20055c1fa43c922428f16ca8bb29f2807de63e5c851f665f7ac9790176c01c3b40335257736b299764a8d383388dabc73c8083b8e1bc3d99f0a941444ec60e +"fast-glob@npm:^3.3.2": + version: 3.3.3 + resolution: "fast-glob@npm:3.3.3" + dependencies: + "@nodelib/fs.stat": "npm:^2.0.2" + "@nodelib/fs.walk": "npm:^1.2.3" + glob-parent: "npm:^5.1.2" + merge2: "npm:^1.3.0" + micromatch: "npm:^4.0.8" + checksum: 10/dcc6432b269762dd47381d8b8358bf964d8f4f60286ac6aa41c01ade70bda459ff2001b516690b96d5365f68a49242966112b5d5cc9cd82395fa8f9d017c90ad languageName: node linkType: hard -"fast-levenshtein@npm:^2.0.6": - version: 2.0.6 - resolution: "fast-levenshtein@npm:2.0.6" - checksum: eb7e220ecf2bab5159d157350b81d01f75726a4382f5a9266f42b9150c4523b9795f7f5d9fbbbeaeac09a441b2369f05ee02db48ea938584205530fe5693cfe1 +"fast-json-stable-stringify@npm:^2.0.0, fast-json-stable-stringify@npm:^2.1.0": + version: 2.1.0 + resolution: "fast-json-stable-stringify@npm:2.1.0" + checksum: 10/2c20055c1fa43c922428f16ca8bb29f2807de63e5c851f665f7ac9790176c01c3b40335257736b299764a8d383388dabc73c8083b8e1bc3d99f0a941444ec60e languageName: node linkType: hard -"fast-safe-stringify@npm:2.1.1": - version: 2.1.1 - resolution: "fast-safe-stringify@npm:2.1.1" - checksum: dc1f063c2c6ac9533aee14d406441f86783a8984b2ca09b19c2fe281f9ff59d315298bc7bc22fd1f83d26fe19ef2f20e2ddb68e96b15040292e555c5ced0c1e4 +"fast-levenshtein@npm:^2.0.6": + version: 2.0.6 + resolution: "fast-levenshtein@npm:2.0.6" + checksum: 10/eb7e220ecf2bab5159d157350b81d01f75726a4382f5a9266f42b9150c4523b9795f7f5d9fbbbeaeac09a441b2369f05ee02db48ea938584205530fe5693cfe1 languageName: node linkType: hard @@ -4606,68 +5432,69 @@ __metadata: resolution: "fastq@npm:1.15.0" dependencies: reusify: "npm:^1.0.4" - checksum: 67c01b1c972e2d5b6fea197a1a39d5d582982aea69ff4c504badac71080d8396d4843b165a9686e907c233048f15a86bbccb0e7f83ba771f6fa24bcde059d0c3 + checksum: 10/67c01b1c972e2d5b6fea197a1a39d5d582982aea69ff4c504badac71080d8396d4843b165a9686e907c233048f15a86bbccb0e7f83ba771f6fa24bcde059d0c3 languageName: node linkType: hard -"fetch-ponyfill@npm:^7.1.0": - version: 7.1.0 - resolution: "fetch-ponyfill@npm:7.1.0" +"fault@npm:^2.0.0": + version: 2.0.1 + resolution: "fault@npm:2.0.1" dependencies: - node-fetch: "npm:~2.6.1" - checksum: 787df06a74a708163ef9e1c7967189c885cf9f7f30d63cac9e46e4cfc1f963bdd076ab025f85b58c5e85620d27992ae6714a1888e262b1748e9fdb65d82ac678 + format: "npm:^0.2.0" + checksum: 10/c9b30f47d95769177130a9409976a899ed31eb598450fbad5b0d39f2f5f56d5f4a9ff9257e0bee8407cb0fc3ce37165657888c6aa6d78472e403893104329b72 languageName: node linkType: hard -"fflate@npm:^0.7.4": - version: 0.7.4 - resolution: "fflate@npm:0.7.4" - checksum: 27f61b3536c3a23b0ccdab4b616103be0e8e7241924cda063486822c50ae11930eb1ce6e34dedbfccb2705d04a66380d04e28c67387e1dd48159d41ea14bfda5 +"fdir@npm:^6.4.2": + version: 6.4.2 + resolution: "fdir@npm:6.4.2" + peerDependencies: + picomatch: ^3 || ^4 + peerDependenciesMeta: + picomatch: + optional: true + checksum: 10/5ff80d1d2034e75cc68be175401c9f64c4938a6b2c1e9a0c27f2d211ffbe491fd86d29e4576825d9da8aff9bd465f0283427c2dddc11653457906c46d3bbc448 languageName: node linkType: hard -"figures@npm:^3.0.0": - version: 3.2.0 - resolution: "figures@npm:3.2.0" - dependencies: - escape-string-regexp: "npm:^1.0.5" - checksum: a3bf94e001be51d3770500789157f067218d4bc681a65e1f69d482de15120bcac822dceb1a7b3803f32e4e3a61a46df44f7f2c8ba95d6375e7491502e0dd3d97 +"fflate@npm:^0.8.2": + version: 0.8.2 + resolution: "fflate@npm:0.8.2" + checksum: 10/2bd26ba6d235d428de793c6a0cd1aaa96a06269ebd4e21b46c8fd1bd136abc631acf27e188d47c3936db090bf3e1ede11d15ce9eae9bffdc4bfe1b9dc66ca9cb languageName: node linkType: hard -"file-entry-cache@npm:^6.0.1": - version: 6.0.1 - resolution: "file-entry-cache@npm:6.0.1" +"file-entry-cache@npm:^8.0.0": + version: 8.0.0 + resolution: "file-entry-cache@npm:8.0.0" dependencies: - flat-cache: "npm:^3.0.4" - checksum: 099bb9d4ab332cb93c48b14807a6918a1da87c45dce91d4b61fd40e6505d56d0697da060cb901c729c90487067d93c9243f5da3dc9c41f0358483bfdebca736b + flat-cache: "npm:^4.0.0" + checksum: 10/afe55c4de4e0d226a23c1eae62a7219aafb390859122608a89fa4df6addf55c7fd3f1a2da6f5b41e7cdff496e4cf28bbd215d53eab5c817afa96d2b40c81bfb0 languageName: node linkType: hard -"file-entry-cache@npm:^7.0.1": - version: 7.0.1 - resolution: "file-entry-cache@npm:7.0.1" +"file-entry-cache@npm:^9.1.0": + version: 9.1.0 + resolution: "file-entry-cache@npm:9.1.0" dependencies: - flat-cache: "npm:^3.1.1" - checksum: 52f83f8b880b1d69c0943645a8bf124a129f0381980cfbd9b4606f8f99f4798e7fdc4f470b69d95ca87187da51de908249a205ea61614ee2eeb10ea090c8eba6 + flat-cache: "npm:^5.0.0" + checksum: 10/fd67a9552f272ac4a1731c545e1350bd135e208659144cc5311baac6b8bbf55da7c8c3a0bf25c71ed78eff2bdd26d2a3a8f9ba3d8bec968fe8d1eeba6ab14a96 languageName: node linkType: hard -"fill-range@npm:^7.0.1": - version: 7.0.1 - resolution: "fill-range@npm:7.0.1" +"fill-range@npm:^7.1.1": + version: 7.1.1 + resolution: "fill-range@npm:7.1.1" dependencies: to-regex-range: "npm:^5.0.1" - checksum: e260f7592fd196b4421504d3597cc76f4a1ca7a9488260d533b611fc3cefd61e9a9be1417cb82d3b01ad9f9c0ff2dbf258e1026d2445e26b0cf5148ff4250429 + checksum: 10/a7095cb39e5bc32fada2aa7c7249d3f6b01bd1ce461a61b0adabacccabd9198500c6fb1f68a7c851a657e273fce2233ba869638897f3d7ed2e87a2d89b4436ea languageName: node linkType: hard -"find-replace@npm:^3.0.0": - version: 3.0.0 - resolution: "find-replace@npm:3.0.0" - dependencies: - array-back: "npm:^3.0.1" - checksum: 6b04bcfd79027f5b84aa1dfe100e3295da989bdac4b4de6b277f4d063e78f5c9e92ebc8a1fec6dd3b448c924ba404ee051cc759e14a3ee3e825fa1361025df08 +"find-up-simple@npm:^1.0.0": + version: 1.0.0 + resolution: "find-up-simple@npm:1.0.0" + checksum: 10/91c3d51c1111b5eb4e6e6d71d21438f6571a37a69dc288d4222b98996756e2f472fa5393a4dddb5e1a84929405d87e86f4bdce798ba84ee513b79854960ec140 languageName: node linkType: hard @@ -4677,7 +5504,7 @@ __metadata: dependencies: locate-path: "npm:^5.0.0" path-exists: "npm:^4.0.0" - checksum: 4c172680e8f8c1f78839486e14a43ef82e9decd0e74145f40707cc42e7420506d5ec92d9a11c22bd2c48fb0c384ea05dd30e10dd152fefeec6f2f75282a8b844 + checksum: 10/4c172680e8f8c1f78839486e14a43ef82e9decd0e74145f40707cc42e7420506d5ec92d9a11c22bd2c48fb0c384ea05dd30e10dd152fefeec6f2f75282a8b844 languageName: node linkType: hard @@ -4687,35 +5514,45 @@ __metadata: dependencies: locate-path: "npm:^6.0.0" path-exists: "npm:^4.0.0" - checksum: 07955e357348f34660bde7920783204ff5a26ac2cafcaa28bace494027158a97b9f56faaf2d89a6106211a8174db650dd9f503f9c0d526b1202d5554a00b9095 + checksum: 10/07955e357348f34660bde7920783204ff5a26ac2cafcaa28bace494027158a97b9f56faaf2d89a6106211a8174db650dd9f503f9c0d526b1202d5554a00b9095 languageName: node linkType: hard -"find-up@npm:^6.3.0": - version: 6.3.0 - resolution: "find-up@npm:6.3.0" +"find-up@npm:^7.0.0": + version: 7.0.0 + resolution: "find-up@npm:7.0.0" dependencies: - locate-path: "npm:^7.1.0" + locate-path: "npm:^7.2.0" path-exists: "npm:^5.0.0" - checksum: 4f3bdc30d41778c647e53f4923e72de5e5fb055157031f34501c5b36c2eb59f77b997edf9cb00165c6060cda7eaa2e3da82cb6be2e61d68ad3e07c4bc4cce67e + unicorn-magic: "npm:^0.1.0" + checksum: 10/7e6b08fbc05a10677e25e74bb0a020054a86b31d1806c5e6a9e32e75472bbf177210bc16e5f97453be8bda7ae2e3d97669dbb2901f8c30b39ce53929cbea6746 languageName: node linkType: hard -"flat-cache@npm:^3.0.4, flat-cache@npm:^3.1.1": - version: 3.1.1 - resolution: "flat-cache@npm:3.1.1" +"flat-cache@npm:^4.0.0": + version: 4.0.1 + resolution: "flat-cache@npm:4.0.1" dependencies: flatted: "npm:^3.2.9" - keyv: "npm:^4.5.3" - rimraf: "npm:^3.0.2" - checksum: 04b57c7cb4bd54f1e80a335f037bff467cc7b2479ecc015ff7e78fd41aa12777757d55836e99c7e5faca2271eb204a96bf109b4d98c36c20c3b98cf1372b5592 + keyv: "npm:^4.5.4" + checksum: 10/58ce851d9045fffc7871ce2bd718bc485ad7e777bf748c054904b87c351ff1080c2c11da00788d78738bfb51b71e4d5ea12d13b98eb36e3358851ffe495b62dc + languageName: node + linkType: hard + +"flat-cache@npm:^5.0.0": + version: 5.0.0 + resolution: "flat-cache@npm:5.0.0" + dependencies: + flatted: "npm:^3.3.1" + keyv: "npm:^4.5.4" + checksum: 10/42570762052b17a1dec221d73a1e417d0ba07137de6debaabb51389cac265a12a027a895dc84e1725bc5cdde04fe8b706ad836860b05488e9a04bda9301d2529 languageName: node linkType: hard -"flatted@npm:^3.2.9": - version: 3.2.9 - resolution: "flatted@npm:3.2.9" - checksum: dc2b89e46a2ebde487199de5a4fcb79e8c46f984043fea5c41dbf4661eb881fefac1c939b5bdcd8a09d7f960ec364f516970c7ec44e58ff451239c07fd3d419b +"flatted@npm:^3.2.9, flatted@npm:^3.3.1, flatted@npm:^3.3.2": + version: 3.3.2 + resolution: "flatted@npm:3.3.2" + checksum: 10/ac3c159742e01d0e860a861164bcfd35bb567ccbebb8a0dd041e61cf3c64a435b917dd1e7ed1c380c2ebca85735fb16644485ec33665bc6aafc3b316aa1eed44 languageName: node linkType: hard @@ -4724,7 +5561,7 @@ __metadata: resolution: "for-each@npm:0.3.3" dependencies: is-callable: "npm:^1.1.3" - checksum: fdac0cde1be35610bd635ae958422e8ce0cc1313e8d32ea6d34cfda7b60850940c1fd07c36456ad76bd9c24aef6ff5e03b02beb58c83af5ef6c968a64eada676 + checksum: 10/fdac0cde1be35610bd635ae958422e8ce0cc1313e8d32ea6d34cfda7b60850940c1fd07c36456ad76bd9c24aef6ff5e03b02beb58c83af5ef6c968a64eada676 languageName: node linkType: hard @@ -4734,18 +5571,14 @@ __metadata: dependencies: cross-spawn: "npm:^7.0.0" signal-exit: "npm:^4.0.1" - checksum: 087edd44857d258c4f73ad84cb8df980826569656f2550c341b27adf5335354393eec24ea2fabd43a253233fb27cee177ebe46bd0b7ea129c77e87cb1e9936fb + checksum: 10/087edd44857d258c4f73ad84cb8df980826569656f2550c341b27adf5335354393eec24ea2fabd43a253233fb27cee177ebe46bd0b7ea129c77e87cb1e9936fb languageName: node linkType: hard -"fs-extra@npm:^11.0.0": - version: 11.1.1 - resolution: "fs-extra@npm:11.1.1" - dependencies: - graceful-fs: "npm:^4.2.0" - jsonfile: "npm:^6.0.1" - universalify: "npm:^2.0.0" - checksum: c4e9fabf9762a70d1403316b7faa899f3d3303c8afa765b891c2210fdeba368461e04ae1203920b64ef6a7d066a39ab8cef2160b5ce8d1011bb4368688cd9bb7 +"format@npm:^0.2.0": + version: 0.2.2 + resolution: "format@npm:0.2.2" + checksum: 10/5f878b8fc1a672c8cbefa4f293bdd977c822862577d70d53456a48b4169ec9b51677c0c995bf62c633b4e5cd673624b7c273f57923b28735a6c0c0a72c382a4a languageName: node linkType: hard @@ -4754,7 +5587,7 @@ __metadata: resolution: "fs-minipass@npm:2.1.0" dependencies: minipass: "npm:^3.0.0" - checksum: 03191781e94bc9a54bd376d3146f90fe8e082627c502185dbf7b9b3032f66b0b142c1115f3b2cc5936575fc1b44845ce903dd4c21bec2a8d69f3bd56f9cee9ec + checksum: 10/03191781e94bc9a54bd376d3146f90fe8e082627c502185dbf7b9b3032f66b0b142c1115f3b2cc5936575fc1b44845ce903dd4c21bec2a8d69f3bd56f9cee9ec languageName: node linkType: hard @@ -4763,14 +5596,14 @@ __metadata: resolution: "fs-minipass@npm:3.0.3" dependencies: minipass: "npm:^7.0.3" - checksum: af143246cf6884fe26fa281621d45cfe111d34b30535a475bfa38dafe343dadb466c047a924ffc7d6b7b18265df4110224ce3803806dbb07173bf2087b648d7f + checksum: 10/af143246cf6884fe26fa281621d45cfe111d34b30535a475bfa38dafe343dadb466c047a924ffc7d6b7b18265df4110224ce3803806dbb07173bf2087b648d7f languageName: node linkType: hard "fs.realpath@npm:^1.0.0": version: 1.0.0 resolution: "fs.realpath@npm:1.0.0" - checksum: e703107c28e362d8d7b910bbcbfd371e640a3bb45ae157a362b5952c0030c0b6d4981140ec319b347bce7adc025dd7813da1ff908a945ac214d64f5402a51b96 + checksum: 10/e703107c28e362d8d7b910bbcbfd371e640a3bb45ae157a362b5952c0030c0b6d4981140ec319b347bce7adc025dd7813da1ff908a945ac214d64f5402a51b96 languageName: node linkType: hard @@ -4779,7 +5612,7 @@ __metadata: resolution: "fsevents@npm:2.3.3" dependencies: node-gyp: "npm:latest" - checksum: 4c1ade961ded57cdbfbb5cac5106ec17bc8bccd62e16343c569a0ceeca83b9dfef87550b4dc5cbb89642da412b20c5071f304c8c464b80415446e8e155a038c0 + checksum: 10/4c1ade961ded57cdbfbb5cac5106ec17bc8bccd62e16343c569a0ceeca83b9dfef87550b4dc5cbb89642da412b20c5071f304c8c464b80415446e8e155a038c0 conditions: os=darwin languageName: node linkType: hard @@ -4793,14 +5626,14 @@ __metadata: languageName: node linkType: hard -"function-bind@npm:^1.1.1": - version: 1.1.1 - resolution: "function-bind@npm:1.1.1" - checksum: d83f2968030678f0b8c3f2183d63dcd969344eb8b55b4eb826a94ccac6de8b87c95bebffda37a6386c74f152284eb02956ff2c496897f35d32bdc2628ac68ac5 +"function-bind@npm:^1.1.1, function-bind@npm:^1.1.2": + version: 1.1.2 + resolution: "function-bind@npm:1.1.2" + checksum: 10/185e20d20f10c8d661d59aac0f3b63b31132d492e1b11fcc2a93cb2c47257ebaee7407c38513efd2b35cafdf972d9beb2ea4593c1e0f3bf8f2744836928d7454 languageName: node linkType: hard -"function.prototype.name@npm:^1.1.5": +"function.prototype.name@npm:^1.1.5, function.prototype.name@npm:^1.1.6": version: 1.1.6 resolution: "function.prototype.name@npm:1.1.6" dependencies: @@ -4808,14 +5641,14 @@ __metadata: define-properties: "npm:^1.2.0" es-abstract: "npm:^1.22.1" functions-have-names: "npm:^1.2.3" - checksum: 4d40be44d4609942e4e90c4fff77a811fa936f4985d92d2abfcf44f673ba344e2962bf223a33101f79c1a056465f36f09b072b9c289d7660ca554a12491cd5a2 + checksum: 10/4d40be44d4609942e4e90c4fff77a811fa936f4985d92d2abfcf44f673ba344e2962bf223a33101f79c1a056465f36f09b072b9c289d7660ca554a12491cd5a2 languageName: node linkType: hard "functions-have-names@npm:^1.2.3": version: 1.2.3 resolution: "functions-have-names@npm:1.2.3" - checksum: 0ddfd3ed1066a55984aaecebf5419fbd9344a5c38dd120ffb0739fac4496758dcf371297440528b115e4367fc46e3abc86a2cc0ff44612181b175ae967a11a05 + checksum: 10/0ddfd3ed1066a55984aaecebf5419fbd9344a5c38dd120ffb0739fac4496758dcf371297440528b115e4367fc46e3abc86a2cc0ff44612181b175ae967a11a05 languageName: node linkType: hard @@ -4831,47 +5664,48 @@ __metadata: string-width: "npm:^4.2.3" strip-ansi: "npm:^6.0.1" wide-align: "npm:^1.1.5" - checksum: 09535dd53b5ced6a34482b1fa9f3929efdeac02f9858569cde73cef3ed95050e0f3d095706c1689614059898924b7a74aa14042f51381a1ccc4ee5c29d2389c4 + checksum: 10/09535dd53b5ced6a34482b1fa9f3929efdeac02f9858569cde73cef3ed95050e0f3d095706c1689614059898924b7a74aa14042f51381a1ccc4ee5c29d2389c4 languageName: node linkType: hard -"gensequence@npm:^6.0.0": - version: 6.0.0 - resolution: "gensequence@npm:6.0.0" - checksum: 95bc7233ee3426d266ff6e2b1554245e4dcedc49fde02bfd38465399a03e11d363364fa3b2d512f923b07232839290d689502f22d945ed508c0b679118d4b51e +"gensequence@npm:^7.0.0": + version: 7.0.0 + resolution: "gensequence@npm:7.0.0" + checksum: 10/22e404384349b17952e4102a3dd3a9476772a6fc8f05e36885b489406f710c1fe2ec3c0687a1da554ccd845ce1ab7e418a867d3a1b4cf86cda2f5a7ce4f33bc4 languageName: node linkType: hard "get-caller-file@npm:^2.0.5": version: 2.0.5 resolution: "get-caller-file@npm:2.0.5" - checksum: b9769a836d2a98c3ee734a88ba712e62703f1df31b94b784762c433c27a386dd6029ff55c2a920c392e33657d80191edbf18c61487e198844844516f843496b9 + checksum: 10/b9769a836d2a98c3ee734a88ba712e62703f1df31b94b784762c433c27a386dd6029ff55c2a920c392e33657d80191edbf18c61487e198844844516f843496b9 languageName: node linkType: hard -"get-func-name@npm:^2.0.0": - version: 2.0.2 - resolution: "get-func-name@npm:2.0.2" - checksum: 3f62f4c23647de9d46e6f76d2b3eafe58933a9b3830c60669e4180d6c601ce1b4aa310ba8366143f55e52b139f992087a9f0647274e8745621fa2af7e0acf13b +"get-east-asian-width@npm:^1.0.0": + version: 1.2.0 + resolution: "get-east-asian-width@npm:1.2.0" + checksum: 10/c9b280e7c7c67fb89fa17e867c4a9d1c9f1321aba2a9ee27bff37fb6ca9552bccda328c70a80c1f83a0e39ba1b7e3427e60f47823402d19e7a41b83417ec047a languageName: node linkType: hard -"get-intrinsic@npm:^1.0.2, get-intrinsic@npm:^1.1.1, get-intrinsic@npm:^1.1.3, get-intrinsic@npm:^1.2.0, get-intrinsic@npm:^1.2.1": - version: 1.2.1 - resolution: "get-intrinsic@npm:1.2.1" +"get-intrinsic@npm:^1.0.2, get-intrinsic@npm:^1.1.3, get-intrinsic@npm:^1.2.1, get-intrinsic@npm:^1.2.3, get-intrinsic@npm:^1.2.4": + version: 1.2.4 + resolution: "get-intrinsic@npm:1.2.4" dependencies: - function-bind: "npm:^1.1.1" - has: "npm:^1.0.3" + es-errors: "npm:^1.3.0" + function-bind: "npm:^1.1.2" has-proto: "npm:^1.0.1" has-symbols: "npm:^1.0.3" - checksum: aee631852063f8ad0d4a374970694b5c17c2fb5c92bd1929476d7eb8798ce7aebafbf9a34022c05fd1adaa2ce846d5877a627ce1986f81fc65adf3b81824bd54 + hasown: "npm:^2.0.0" + checksum: 10/85bbf4b234c3940edf8a41f4ecbd4e25ce78e5e6ad4e24ca2f77037d983b9ef943fd72f00f3ee97a49ec622a506b67db49c36246150377efcda1c9eb03e5f06d languageName: node linkType: hard "get-stdin@npm:^9.0.0": version: 9.0.0 resolution: "get-stdin@npm:9.0.0" - checksum: 5972bc34d05932b45512c8e2d67b040f1c1ca8afb95c56cbc480985f2d761b7e37fe90dc8abd22527f062cc5639a6930ff346e9952ae4c11a2d4275869459594 + checksum: 10/5972bc34d05932b45512c8e2d67b040f1c1ca8afb95c56cbc480985f2d761b7e37fe90dc8abd22527f062cc5639a6930ff346e9952ae4c11a2d4275869459594 languageName: node linkType: hard @@ -4880,55 +5714,27 @@ __metadata: resolution: "get-stream@npm:5.2.0" dependencies: pump: "npm:^3.0.0" - checksum: 13a73148dca795e41421013da6e3ebff8ccb7fba4d2f023fd0c6da2c166ec4e789bec9774a73a7b49c08daf2cae552f8a3e914042ac23b5f59dd278cc8f9cbfb - languageName: node - linkType: hard - -"get-stream@npm:^6.0.0": - version: 6.0.1 - resolution: "get-stream@npm:6.0.1" - checksum: 781266d29725f35c59f1d214aedc92b0ae855800a980800e2923b3fbc4e56b3cb6e462c42e09a1cf1a00c64e056a78fa407cbe06c7c92b7e5cd49b4b85c2a497 - languageName: node - linkType: hard - -"get-stream@npm:^8.0.1": - version: 8.0.1 - resolution: "get-stream@npm:8.0.1" - checksum: dde5511e2e65a48e9af80fea64aff11b4921b14b6e874c6f8294c50975095af08f41bfb0b680c887f28b566dd6ec2cb2f960f9d36a323359be324ce98b766e9e + checksum: 10/13a73148dca795e41421013da6e3ebff8ccb7fba4d2f023fd0c6da2c166ec4e789bec9774a73a7b49c08daf2cae552f8a3e914042ac23b5f59dd278cc8f9cbfb languageName: node linkType: hard -"get-symbol-description@npm:^1.0.0": - version: 1.0.0 - resolution: "get-symbol-description@npm:1.0.0" +"get-symbol-description@npm:^1.0.0, get-symbol-description@npm:^1.0.2": + version: 1.0.2 + resolution: "get-symbol-description@npm:1.0.2" dependencies: - call-bind: "npm:^1.0.2" - get-intrinsic: "npm:^1.1.1" - checksum: 7e5f298afe0f0872747dce4a949ce490ebc5d6dd6aefbbe5044543711c9b19a4dfaebdbc627aee99e1299d58a435b2fbfa083458c1d58be6dc03a3bada24d359 + call-bind: "npm:^1.0.5" + es-errors: "npm:^1.3.0" + get-intrinsic: "npm:^1.2.4" + checksum: 10/e1cb53bc211f9dbe9691a4f97a46837a553c4e7caadd0488dc24ac694db8a390b93edd412b48dcdd0b4bbb4c595de1709effc75fc87c0839deedc6968f5bd973 languageName: node linkType: hard -"get-tsconfig@npm:^4.5.0": - version: 4.7.0 - resolution: "get-tsconfig@npm:4.7.0" +"get-tsconfig@npm:^4.7.5, get-tsconfig@npm:^4.8.1": + version: 4.8.1 + resolution: "get-tsconfig@npm:4.8.1" dependencies: resolve-pkg-maps: "npm:^1.0.0" - checksum: acfa48078ab41728281adee0a2dde1d4f437998291af8f189f7c171a766f45ac5ca1cbc335baf8db118a54acf2eb01e7e075c22d3804990048bbf4b94563681a - languageName: node - linkType: hard - -"git-raw-commits@npm:^2.0.11": - version: 2.0.11 - resolution: "git-raw-commits@npm:2.0.11" - dependencies: - dargs: "npm:^7.0.0" - lodash: "npm:^4.17.15" - meow: "npm:^8.0.0" - split2: "npm:^3.0.0" - through2: "npm:^4.0.0" - bin: - git-raw-commits: cli.js - checksum: 04e02b3da7c0e13a55f3e6fa8c1c5f06f7d0d641a9f90d896393ef0144bfcf91aa59beede68d14d61ed56aaf09f2c8dba175563c47ec000a8cf70f9df4877577 + checksum: 10/3fb5a8ad57b9633eaea085d81661e9e5c9f78b35d8f8689eaf8b8b45a2a3ebf3b3422266d4d7df765e308cc1e6231648d114803ab3d018332e29916f2c1de036 languageName: node linkType: hard @@ -4941,28 +5747,23 @@ __metadata: split2: "npm:^4.0.0" bin: git-raw-commits: cli.mjs - checksum: 95546f4afcb33cf00ff638f7fec55ad61d4d927447737900e1f6fcbbdbb341b3f150908424cc62acb6d9faaea6f1e8f55d0697b899f0589af9d2733afb20abfb + checksum: 10/95546f4afcb33cf00ff638f7fec55ad61d4d927447737900e1f6fcbbdbb341b3f150908424cc62acb6d9faaea6f1e8f55d0697b899f0589af9d2733afb20abfb languageName: node linkType: hard -"git-semver-tags@npm:^7.0.0": - version: 7.0.0 - resolution: "git-semver-tags@npm:7.0.0" - dependencies: - meow: "npm:^12.0.1" - semver: "npm:^7.5.2" - bin: - git-semver-tags: cli.mjs - checksum: 4aee82c5f7f6a67697131683533323d0e7b9e3bb258f8cfc9a55106c752c73436622a4f4d1da4dabaa5514e29001637fb2f8d1999276c16d58bab69e0ea5eda6 +"github-slugger@npm:^2.0.0": + version: 2.0.0 + resolution: "github-slugger@npm:2.0.0" + checksum: 10/2fb15d78262eeba1e68671f048c62d05ed21e51281cccc7b1c9e8e089e8510b3037fb648b8ba27290e60534df2cb251312a1e7e813204495df621220192fd600 languageName: node linkType: hard -"glob-parent@npm:^5.1.2": +"glob-parent@npm:^5.1.2, glob-parent@npm:~5.1.2": version: 5.1.2 resolution: "glob-parent@npm:5.1.2" dependencies: is-glob: "npm:^4.0.1" - checksum: 32cd106ce8c0d83731966d31517adb766d02c3812de49c30cfe0675c7c0ae6630c11214c54a5ae67aca882cf738d27fd7768f21aa19118b9245950554be07247 + checksum: 10/32cd106ce8c0d83731966d31517adb766d02c3812de49c30cfe0675c7c0ae6630c11214c54a5ae67aca882cf738d27fd7768f21aa19118b9245950554be07247 languageName: node linkType: hard @@ -4971,29 +5772,23 @@ __metadata: resolution: "glob-parent@npm:6.0.2" dependencies: is-glob: "npm:^4.0.3" - checksum: c13ee97978bef4f55106b71e66428eb1512e71a7466ba49025fc2aec59a5bfb0954d5abd58fc5ee6c9b076eef4e1f6d3375c2e964b88466ca390da4419a786a8 - languageName: node - linkType: hard - -"glob-to-regexp@npm:^0.3.0": - version: 0.3.0 - resolution: "glob-to-regexp@npm:0.3.0" - checksum: a716708f7887a1d3c46188dbbd5baf6b1647fa670e458d49db949369e20eb79fad9828d6601f618455f87fd13041b6087b01233d95ba7092aba7acb7491c9d39 + checksum: 10/c13ee97978bef4f55106b71e66428eb1512e71a7466ba49025fc2aec59a5bfb0954d5abd58fc5ee6c9b076eef4e1f6d3375c2e964b88466ca390da4419a786a8 languageName: node linkType: hard -"glob@npm:^10.2.2": - version: 10.3.4 - resolution: "glob@npm:10.3.4" +"glob@npm:^10.0.0, glob@npm:^10.2.2, glob@npm:^10.4.1": + version: 10.4.5 + resolution: "glob@npm:10.4.5" dependencies: foreground-child: "npm:^3.1.0" - jackspeak: "npm:^2.0.3" - minimatch: "npm:^9.0.1" - minipass: "npm:^5.0.0 || ^6.0.2 || ^7.0.0" - path-scurry: "npm:^1.10.1" + jackspeak: "npm:^3.1.2" + minimatch: "npm:^9.0.4" + minipass: "npm:^7.1.2" + package-json-from-dist: "npm:^1.0.0" + path-scurry: "npm:^1.11.1" bin: - glob: dist/cjs/src/bin.js - checksum: 6375721bcd0c615fe4c1d61faaf9eb93e15d428f26bac6e85739221a84659b42601b2a085b20915142c0eb3d8a7155914884ff80f145d8c9f2397c8b771b8b60 + glob: dist/esm/bin.mjs + checksum: 10/698dfe11828b7efd0514cd11e573eaed26b2dff611f0400907281ce3eab0c1e56143ef9b35adc7c77ecc71fba74717b510c7c223d34ca8a98ec81777b293d4ac languageName: node linkType: hard @@ -5007,34 +5802,30 @@ __metadata: minimatch: "npm:^3.1.1" once: "npm:^1.3.0" path-is-absolute: "npm:^1.0.0" - checksum: 59452a9202c81d4508a43b8af7082ca5c76452b9fcc4a9ab17655822e6ce9b21d4f8fbadabe4fe3faef448294cec249af305e2cd824b7e9aaf689240e5e96a7b + checksum: 10/59452a9202c81d4508a43b8af7082ca5c76452b9fcc4a9ab17655822e6ce9b21d4f8fbadabe4fe3faef448294cec249af305e2cd824b7e9aaf689240e5e96a7b languageName: node linkType: hard -"global-dirs@npm:^0.1.1": - version: 0.1.1 - resolution: "global-dirs@npm:0.1.1" +"global-directory@npm:^4.0.1": + version: 4.0.1 + resolution: "global-directory@npm:4.0.1" dependencies: - ini: "npm:^1.3.4" - checksum: 10624f5a8ddb8634c22804c6b24f93fb591c3639a6bc78e3584e01a238fc6f7b7965824184e57d63f6df36980b6c191484ad7bc6c35a1599b8f1d64be64c2a4a + ini: "npm:4.1.1" + checksum: 10/5b4df24438a4e5f21e43fbdd9e54f5e12bb48dce01a0a83b415d8052ce91be2d3a97e0c8f98a535e69649b2190036155e9f0f7d3c62f9318f31bdc3fd4f235f5 languageName: node linkType: hard -"global-dirs@npm:^3.0.1": - version: 3.0.1 - resolution: "global-dirs@npm:3.0.1" - dependencies: - ini: "npm:2.0.0" - checksum: 70147b80261601fd40ac02a104581432325c1c47329706acd773f3a6ce99bb36d1d996038c85ccacd482ad22258ec233c586b6a91535b1a116b89663d49d6438 +"globals@npm:15.14.0, globals@npm:^15.11.0, globals@npm:^15.9.0": + version: 15.14.0 + resolution: "globals@npm:15.14.0" + checksum: 10/e35ffbdbc024d6381efca906f67211a7bbf935db2af8c14a65155785479e28b3e475950e5933bb6b296eed54b6dcd924e25b26dbc8579b1bde9d5d25916e1c5f languageName: node linkType: hard -"globals@npm:^13.19.0": - version: 13.21.0 - resolution: "globals@npm:13.21.0" - dependencies: - type-fest: "npm:^0.20.2" - checksum: 98ce947dc413e6c8feed236f980dee4bc8d9f4b29790e27bccb277d385fac5d77146e1f9c244c6609aca1d109101642e663caf88c0ba6bff0b069ea82d571441 +"globals@npm:^14.0.0": + version: 14.0.0 + resolution: "globals@npm:14.0.0" + checksum: 10/03939c8af95c6df5014b137cac83aa909090c3a3985caef06ee9a5a669790877af8698ab38007e4c0186873adc14c0b13764acc754b16a754c216cc56aa5f021 languageName: node linkType: hard @@ -5043,21 +5834,7 @@ __metadata: resolution: "globalthis@npm:1.0.3" dependencies: define-properties: "npm:^1.1.3" - checksum: 45ae2f3b40a186600d0368f2a880ae257e8278b4c7704f0417d6024105ad7f7a393661c5c2fa1334669cd485ea44bc883a08fdd4516df2428aec40c99f52aa89 - languageName: node - linkType: hard - -"globby@npm:^11.0.1, globby@npm:^11.1.0": - version: 11.1.0 - resolution: "globby@npm:11.1.0" - dependencies: - array-union: "npm:^2.1.0" - dir-glob: "npm:^3.0.1" - fast-glob: "npm:^3.2.9" - ignore: "npm:^5.2.0" - merge2: "npm:^1.4.1" - slash: "npm:^3.0.0" - checksum: 288e95e310227bbe037076ea81b7c2598ccbc3122d87abc6dab39e1eec309aa14f0e366a98cdc45237ffcfcbad3db597778c0068217dcb1950fef6249104e1b1 + checksum: 10/45ae2f3b40a186600d0368f2a880ae257e8278b4c7704f0417d6024105ad7f7a393661c5c2fa1334669cd485ea44bc883a08fdd4516df2428aec40c99f52aa89 languageName: node linkType: hard @@ -5071,14 +5848,7 @@ __metadata: ignore: "npm:^3.3.5" pify: "npm:^3.0.0" slash: "npm:^1.0.0" - checksum: f0eba08a08ae7c98149a4411661c0bf08c4717d81e6f355cf624fb01880b249737eb8e951bf86124cb3af8ea1c793c0a9d363ed5cdec99bb2c6b68f8a323025f - languageName: node - linkType: hard - -"globrex@npm:^0.1.2": - version: 0.1.2 - resolution: "globrex@npm:0.1.2" - checksum: 81ce62ee6f800d823d6b7da7687f841676d60ee8f51f934ddd862e4057316d26665c4edc0358d4340a923ac00a514f8b67c787e28fe693aae16350f4e60d55e9 + checksum: 10/f0eba08a08ae7c98149a4411661c0bf08c4717d81e6f355cf624fb01880b249737eb8e951bf86124cb3af8ea1c793c0a9d363ed5cdec99bb2c6b68f8a323025f languageName: node linkType: hard @@ -5087,109 +5857,102 @@ __metadata: resolution: "gopd@npm:1.0.1" dependencies: get-intrinsic: "npm:^1.1.3" - checksum: 5fbc7ad57b368ae4cd2f41214bd947b045c1a4be2f194a7be1778d71f8af9dbf4004221f3b6f23e30820eb0d052b4f819fe6ebe8221e2a3c6f0ee4ef173421ca + checksum: 10/5fbc7ad57b368ae4cd2f41214bd947b045c1a4be2f194a7be1778d71f8af9dbf4004221f3b6f23e30820eb0d052b4f819fe6ebe8221e2a3c6f0ee4ef173421ca languageName: node linkType: hard -"graceful-fs@npm:^4.1.6, graceful-fs@npm:^4.2.0, graceful-fs@npm:^4.2.4, graceful-fs@npm:^4.2.6": +"graceful-fs@npm:^4.2.4, graceful-fs@npm:^4.2.6": version: 4.2.11 resolution: "graceful-fs@npm:4.2.11" - checksum: bf152d0ed1dc159239db1ba1f74fdbc40cb02f626770dcd5815c427ce0688c2635a06ed69af364396da4636d0408fcf7d4afdf7881724c3307e46aff30ca49e2 + checksum: 10/bf152d0ed1dc159239db1ba1f74fdbc40cb02f626770dcd5815c427ce0688c2635a06ed69af364396da4636d0408fcf7d4afdf7881724c3307e46aff30ca49e2 languageName: node linkType: hard "graphemer@npm:^1.4.0": version: 1.4.0 resolution: "graphemer@npm:1.4.0" - checksum: 6dd60dba97007b21e3a829fab3f771803cc1292977fe610e240ea72afd67e5690ac9eeaafc4a99710e78962e5936ab5a460787c2a1180f1cb0ccfac37d29f897 + checksum: 10/6dd60dba97007b21e3a829fab3f771803cc1292977fe610e240ea72afd67e5690ac9eeaafc4a99710e78962e5936ab5a460787c2a1180f1cb0ccfac37d29f897 languageName: node linkType: hard "growl@npm:1.10.5": version: 1.10.5 resolution: "growl@npm:1.10.5" - checksum: 1391a9add951964de566adc0aee8b0e2b2321e768c1fdccb7a8e156d6a6cd7ea72782883ba8c2c307baf524e3059519423b72e585eba5e7a5f6e83a1e2359b0d + checksum: 10/1391a9add951964de566adc0aee8b0e2b2321e768c1fdccb7a8e156d6a6cd7ea72782883ba8c2c307baf524e3059519423b72e585eba5e7a5f6e83a1e2359b0d languageName: node linkType: hard "growly@npm:^1.3.0": version: 1.3.0 resolution: "growly@npm:1.3.0" - checksum: 77f9abc3a854ec628580939f004ba8f05c677f9a6c957be817525f20f68f75368c4879c64d12551f262a9a00de33fbefc4deb24f8f2124429c906ef20ec3c678 - languageName: node - linkType: hard - -"hard-rejection@npm:^2.1.0": - version: 2.1.0 - resolution: "hard-rejection@npm:2.1.0" - checksum: 7baaf80a0c7fff4ca79687b4060113f1529589852152fa935e6787a2bc96211e784ad4588fb3048136ff8ffc9dfcf3ae385314a5b24db32de20bea0d1597f9dc + checksum: 10/77f9abc3a854ec628580939f004ba8f05c677f9a6c957be817525f20f68f75368c4879c64d12551f262a9a00de33fbefc4deb24f8f2124429c906ef20ec3c678 languageName: node linkType: hard "has-bigints@npm:^1.0.1, has-bigints@npm:^1.0.2": version: 1.0.2 resolution: "has-bigints@npm:1.0.2" - checksum: 4e0426c900af034d12db14abfece02ce7dbf53f2022d28af1a97913ff4c07adb8799476d57dc44fbca0e07d1dbda2a042c2928b1f33d3f09c15de0640a7fb81b + checksum: 10/4e0426c900af034d12db14abfece02ce7dbf53f2022d28af1a97913ff4c07adb8799476d57dc44fbca0e07d1dbda2a042c2928b1f33d3f09c15de0640a7fb81b languageName: node linkType: hard "has-flag@npm:^3.0.0": version: 3.0.0 resolution: "has-flag@npm:3.0.0" - checksum: 4a15638b454bf086c8148979aae044dd6e39d63904cd452d970374fa6a87623423da485dfb814e7be882e05c096a7ccf1ebd48e7e7501d0208d8384ff4dea73b + checksum: 10/4a15638b454bf086c8148979aae044dd6e39d63904cd452d970374fa6a87623423da485dfb814e7be882e05c096a7ccf1ebd48e7e7501d0208d8384ff4dea73b languageName: node linkType: hard "has-flag@npm:^4.0.0": version: 4.0.0 resolution: "has-flag@npm:4.0.0" - checksum: 261a1357037ead75e338156b1f9452c016a37dcd3283a972a30d9e4a87441ba372c8b81f818cd0fbcd9c0354b4ae7e18b9e1afa1971164aef6d18c2b6095a8ad + checksum: 10/261a1357037ead75e338156b1f9452c016a37dcd3283a972a30d9e4a87441ba372c8b81f818cd0fbcd9c0354b4ae7e18b9e1afa1971164aef6d18c2b6095a8ad languageName: node linkType: hard "has-own-prop@npm:^2.0.0": version: 2.0.0 resolution: "has-own-prop@npm:2.0.0" - checksum: ca6336e85ead2295c9603880cbc199e2d3ff7eaea0e9035d68fbc79892e9cf681abc62c0909520f112c671dad9961be2173b21dff951358cc98425c560e789e0 + checksum: 10/ca6336e85ead2295c9603880cbc199e2d3ff7eaea0e9035d68fbc79892e9cf681abc62c0909520f112c671dad9961be2173b21dff951358cc98425c560e789e0 languageName: node linkType: hard -"has-property-descriptors@npm:^1.0.0": - version: 1.0.0 - resolution: "has-property-descriptors@npm:1.0.0" +"has-property-descriptors@npm:^1.0.0, has-property-descriptors@npm:^1.0.2": + version: 1.0.2 + resolution: "has-property-descriptors@npm:1.0.2" dependencies: - get-intrinsic: "npm:^1.1.1" - checksum: a6d3f0a266d0294d972e354782e872e2fe1b6495b321e6ef678c9b7a06a40408a6891817350c62e752adced73a94ac903c54734fee05bf65b1905ee1368194bb + es-define-property: "npm:^1.0.0" + checksum: 10/2d8c9ab8cebb572e3362f7d06139a4592105983d4317e68f7adba320fe6ddfc8874581e0971e899e633fd5f72e262830edce36d5a0bc863dad17ad20572484b2 languageName: node linkType: hard -"has-proto@npm:^1.0.1": - version: 1.0.1 - resolution: "has-proto@npm:1.0.1" - checksum: eab2ab0ed1eae6d058b9bbc4c1d99d2751b29717be80d02fd03ead8b62675488de0c7359bc1fdd4b87ef6fd11e796a9631ad4d7452d9324fdada70158c2e5be7 +"has-proto@npm:^1.0.1, has-proto@npm:^1.0.3": + version: 1.0.3 + resolution: "has-proto@npm:1.0.3" + checksum: 10/0b67c2c94e3bea37db3e412e3c41f79d59259875e636ba471e94c009cdfb1fa82bf045deeffafc7dbb9c148e36cae6b467055aaa5d9fad4316e11b41e3ba551a languageName: node linkType: hard "has-symbols@npm:^1.0.2, has-symbols@npm:^1.0.3": version: 1.0.3 resolution: "has-symbols@npm:1.0.3" - checksum: 464f97a8202a7690dadd026e6d73b1ceeddd60fe6acfd06151106f050303eaa75855aaa94969df8015c11ff7c505f196114d22f7386b4a471038da5874cf5e9b + checksum: 10/464f97a8202a7690dadd026e6d73b1ceeddd60fe6acfd06151106f050303eaa75855aaa94969df8015c11ff7c505f196114d22f7386b4a471038da5874cf5e9b languageName: node linkType: hard -"has-tostringtag@npm:^1.0.0": - version: 1.0.0 - resolution: "has-tostringtag@npm:1.0.0" +"has-tostringtag@npm:^1.0.0, has-tostringtag@npm:^1.0.2": + version: 1.0.2 + resolution: "has-tostringtag@npm:1.0.2" dependencies: - has-symbols: "npm:^1.0.2" - checksum: 95546e7132efc895a9ae64a8a7cf52588601fc3d52e0304ed228f336992cdf0baaba6f3519d2655e560467db35a1ed79f6420c286cc91a13aa0647a31ed92570 + has-symbols: "npm:^1.0.3" + checksum: 10/c74c5f5ceee3c8a5b8bc37719840dc3749f5b0306d818974141dda2471a1a2ca6c8e46b9d6ac222c5345df7a901c9b6f350b1e6d62763fec877e26609a401bfe languageName: node linkType: hard "has-unicode@npm:^2.0.1": version: 2.0.1 resolution: "has-unicode@npm:2.0.1" - checksum: 041b4293ad6bf391e21c5d85ed03f412506d6623786b801c4ab39e4e6ca54993f13201bceb544d92963f9e0024e6e7fbf0cb1d84c9d6b31cb9c79c8c990d13d8 + checksum: 10/041b4293ad6bf391e21c5d85ed03f412506d6623786b801c4ab39e4e6ca54993f13201bceb544d92963f9e0024e6e7fbf0cb1d84c9d6b31cb9c79c8c990d13d8 languageName: node linkType: hard @@ -5198,37 +5961,53 @@ __metadata: resolution: "has@npm:1.0.3" dependencies: function-bind: "npm:^1.1.1" - checksum: a449f3185b1d165026e8d25f6a8c3390bd25c201ff4b8c1aaf948fc6a5fcfd6507310b8c00c13a3325795ea9791fcc3d79d61eafa313b5750438fc19183df57b + checksum: 10/a449f3185b1d165026e8d25f6a8c3390bd25c201ff4b8c1aaf948fc6a5fcfd6507310b8c00c13a3325795ea9791fcc3d79d61eafa313b5750438fc19183df57b + languageName: node + linkType: hard + +"hasown@npm:^2.0.0, hasown@npm:^2.0.1, hasown@npm:^2.0.2": + version: 2.0.2 + resolution: "hasown@npm:2.0.2" + dependencies: + function-bind: "npm:^1.1.2" + checksum: 10/7898a9c1788b2862cf0f9c345a6bec77ba4a0c0983c7f19d610c382343d4f98fa260686b225dfb1f88393a66679d2ec58ee310c1d6868c081eda7918f32cc70a + languageName: node + linkType: hard + +"highlight.js@npm:^10.7.1": + version: 10.7.3 + resolution: "highlight.js@npm:10.7.3" + checksum: 10/db8d10a541936b058e221dbde77869664b2b45bca75d660aa98065be2cd29f3924755fbc7348213f17fd931aefb6e6597448ba6fe82afba6d8313747a91983ee languageName: node linkType: hard "hosted-git-info@npm:^2.1.4": version: 2.8.9 resolution: "hosted-git-info@npm:2.8.9" - checksum: 96da7d412303704af41c3819207a09ea2cab2de97951db4cf336bb8bce8d8e36b9a6821036ad2e55e67d3be0af8f967a7b57981203fbfb88bc05cd803407b8c3 + checksum: 10/96da7d412303704af41c3819207a09ea2cab2de97951db4cf336bb8bce8d8e36b9a6821036ad2e55e67d3be0af8f967a7b57981203fbfb88bc05cd803407b8c3 languageName: node linkType: hard -"hosted-git-info@npm:^4.0.1": - version: 4.1.0 - resolution: "hosted-git-info@npm:4.1.0" +"hosted-git-info@npm:^7.0.0": + version: 7.0.2 + resolution: "hosted-git-info@npm:7.0.2" dependencies: - lru-cache: "npm:^6.0.0" - checksum: 4dc67022b7ecb12829966bd731fb9a5f14d351547aafc6520ef3c8e7211f4f0e69452d24e29eae3d9b17df924d660052e53d8ca321cf3008418fb7e6c7c47d6f + lru-cache: "npm:^10.0.1" + checksum: 10/8f085df8a4a637d995f357f48b1e3f6fc1f9f92e82b33fb406415b5741834ed431a510a09141071001e8deea2eee43ce72786463e2aa5e5a70db8648c0eedeab languageName: node linkType: hard "html-escaper@npm:^2.0.0": version: 2.0.2 resolution: "html-escaper@npm:2.0.2" - checksum: 034d74029dcca544a34fb6135e98d427acd73019796ffc17383eaa3ec2fe1c0471dcbbc8f8ed39e46e86d43ccd753a160631615e4048285e313569609b66d5b7 + checksum: 10/034d74029dcca544a34fb6135e98d427acd73019796ffc17383eaa3ec2fe1c0471dcbbc8f8ed39e46e86d43ccd753a160631615e4048285e313569609b66d5b7 languageName: node linkType: hard "http-cache-semantics@npm:^4.1.1": version: 4.1.1 resolution: "http-cache-semantics@npm:4.1.1" - checksum: 362d5ed66b12ceb9c0a328fb31200b590ab1b02f4a254a697dc796850cc4385603e75f53ec59f768b2dad3bfa1464bd229f7de278d2899a0e3beffc634b6683f + checksum: 10/362d5ed66b12ceb9c0a328fb31200b590ab1b02f4a254a697dc796850cc4385603e75f53ec59f768b2dad3bfa1464bd229f7de278d2899a0e3beffc634b6683f languageName: node linkType: hard @@ -5239,7 +6018,7 @@ __metadata: "@tootallnate/once": "npm:2" agent-base: "npm:6" debug: "npm:4" - checksum: 5ee19423bc3e0fd5f23ce991b0755699ad2a46a440ce9cec99e8126bb98448ad3479d2c0ea54be5519db5b19a4ffaa69616bac01540db18506dd4dac3dc418f0 + checksum: 10/5ee19423bc3e0fd5f23ce991b0755699ad2a46a440ce9cec99e8126bb98448ad3479d2c0ea54be5519db5b19a4ffaa69616bac01540db18506dd4dac3dc418f0 languageName: node linkType: hard @@ -5249,21 +6028,7 @@ __metadata: dependencies: agent-base: "npm:6" debug: "npm:4" - checksum: f0dce7bdcac5e8eaa0be3c7368bb8836ed010fb5b6349ffb412b172a203efe8f807d9a6681319105ea1b6901e1972c7b5ea899672a7b9aad58309f766dcbe0df - languageName: node - linkType: hard - -"human-signals@npm:^2.1.0": - version: 2.1.0 - resolution: "human-signals@npm:2.1.0" - checksum: df59be9e0af479036798a881d1f136c4a29e0b518d4abb863afbd11bf30efa3eeb1d0425fc65942dcc05ab3bf40205ea436b0ff389f2cd20b75b8643d539bf86 - languageName: node - linkType: hard - -"human-signals@npm:^5.0.0": - version: 5.0.0 - resolution: "human-signals@npm:5.0.0" - checksum: 30f8870d831cdcd2d6ec0486a7d35d49384996742052cee792854273fa9dd9e7d5db06bb7985d4953e337e10714e994e0302e90dc6848069171b05ec836d65b0 + checksum: 10/f0dce7bdcac5e8eaa0be3c7368bb8836ed010fb5b6349ffb412b172a203efe8f807d9a6681319105ea1b6901e1972c7b5ea899672a7b9aad58309f766dcbe0df languageName: node linkType: hard @@ -5272,32 +6037,16 @@ __metadata: resolution: "humanize-ms@npm:1.2.1" dependencies: ms: "npm:^2.0.0" - checksum: 9c7a74a2827f9294c009266c82031030eae811ca87b0da3dceb8d6071b9bde22c9f3daef0469c3c533cc67a97d8a167cd9fc0389350e5f415f61a79b171ded16 + checksum: 10/9c7a74a2827f9294c009266c82031030eae811ca87b0da3dceb8d6071b9bde22c9f3daef0469c3c533cc67a97d8a167cd9fc0389350e5f415f61a79b171ded16 languageName: node linkType: hard -"husky@npm:8.0.3": - version: 8.0.3 - resolution: "husky@npm:8.0.3" +"husky@npm:9.1.7": + version: 9.1.7 + resolution: "husky@npm:9.1.7" bin: - husky: lib/bin.js - checksum: b754cf70fdc97c3b60fec5b80056b9c11436464953b1691bf2b5dcf0081fb6685d2c5f47abb8b2b1c49f504aabea5321fdd6496f8b755d9f6e7525a493406abb - languageName: node - linkType: hard - -"hyperdyperid@npm:^1.2.0": - version: 1.2.0 - resolution: "hyperdyperid@npm:1.2.0" - checksum: 64abb5568ff17aa08ac0175ae55e46e22831c5552be98acdd1692081db0209f36fff58b31432017b4e1772c178962676a2cc3c54e4d5d7f020d7710cec7ad7a6 - languageName: node - linkType: hard - -"iconv-lite@npm:^0.4.24": - version: 0.4.24 - resolution: "iconv-lite@npm:0.4.24" - dependencies: - safer-buffer: "npm:>= 2.1.2 < 3" - checksum: 6d3a2dac6e5d1fb126d25645c25c3a1209f70cceecc68b8ef51ae0da3cdc078c151fade7524a30b12a3094926336831fca09c666ef55b37e2c69638b5d6bd2e3 + husky: bin.js + checksum: 10/c2412753f15695db369634ba70f50f5c0b7e5cb13b673d0826c411ec1bd9ddef08c1dad89ea154f57da2521d2605bd64308af748749b27d08c5f563bcd89975f languageName: node linkType: hard @@ -5306,59 +6055,52 @@ __metadata: resolution: "iconv-lite@npm:0.6.3" dependencies: safer-buffer: "npm:>= 2.1.2 < 3.0.0" - checksum: 24e3292dd3dadaa81d065c6f8c41b274a47098150d444b96e5f53b4638a9a71482921ea6a91a1f59bb71d9796de25e04afd05919fa64c360347ba65d3766f10f + checksum: 10/24e3292dd3dadaa81d065c6f8c41b274a47098150d444b96e5f53b4638a9a71482921ea6a91a1f59bb71d9796de25e04afd05919fa64c360347ba65d3766f10f languageName: node linkType: hard "ignore@npm:^3.3.5": version: 3.3.10 resolution: "ignore@npm:3.3.10" - checksum: 7cbe87d9ed0e6b710ed76f040733f4d1dbed7aa573b579949d6cc25572a72c69d546acda11c2d4bf202691ddda5db8078d32a50a6623eade424d81e6f1d32133 + checksum: 10/7cbe87d9ed0e6b710ed76f040733f4d1dbed7aa573b579949d6cc25572a72c69d546acda11c2d4bf202691ddda5db8078d32a50a6623eade424d81e6f1d32133 languageName: node linkType: hard -"ignore@npm:^5.1.1, ignore@npm:^5.2.0, ignore@npm:^5.2.4": - version: 5.2.4 - resolution: "ignore@npm:5.2.4" - checksum: 4f7caf5d2005da21a382d4bd1d2aa741a3bed51de185c8562dd7f899a81a620ac4fd0619b06f7029a38ae79e4e4c134399db3bd0192c703c3ef54bb82df3086c +"ignore@npm:^5.0.0, ignore@npm:^5.2.0, ignore@npm:^5.3.1, ignore@npm:^5.3.2": + version: 5.3.2 + resolution: "ignore@npm:5.3.2" + checksum: 10/cceb6a457000f8f6a50e1196429750d782afce5680dd878aa4221bd79972d68b3a55b4b1458fc682be978f4d3c6a249046aa0880637367216444ab7b014cfc98 languageName: node linkType: hard -"import-fresh@npm:^3.0.0, import-fresh@npm:^3.2.1, import-fresh@npm:^3.3.0": +"import-fresh@npm:^3.2.1, import-fresh@npm:^3.3.0": version: 3.3.0 resolution: "import-fresh@npm:3.3.0" dependencies: parent-module: "npm:^1.0.0" resolve-from: "npm:^4.0.0" - checksum: 2cacfad06e652b1edc50be650f7ec3be08c5e5a6f6d12d035c440a42a8cc028e60a5b99ca08a77ab4d6b1346da7d971915828f33cdab730d3d42f08242d09baa + checksum: 10/2cacfad06e652b1edc50be650f7ec3be08c5e5a6f6d12d035c440a42a8cc028e60a5b99ca08a77ab4d6b1346da7d971915828f33cdab730d3d42f08242d09baa languageName: node linkType: hard -"import-meta-resolve@npm:^3.0.0": - version: 3.0.0 - resolution: "import-meta-resolve@npm:3.0.0" - checksum: f50697d21c5e4ed00425fc756a84deaf8911954786ce1639874ed6e85565bbecda738dc7554f56f70594bca5c6d67cb329912f97adf4288d216e143f07d6af43 +"import-meta-resolve@npm:^4.0.0, import-meta-resolve@npm:^4.1.0": + version: 4.1.0 + resolution: "import-meta-resolve@npm:4.1.0" + checksum: 10/40162f67eb406c8d5d49266206ef12ff07b54f5fad8cfd806db9efe3a055958e9969be51d6efaf82e34b8bea6758113dcc17bb79ff148292a4badcabc3472f22 languageName: node linkType: hard "imurmurhash@npm:^0.1.4": version: 0.1.4 resolution: "imurmurhash@npm:0.1.4" - checksum: 2d30b157a91fe1c1d7c6f653cbf263f039be6c5bfa959245a16d4ee191fc0f2af86c08545b6e6beeb041c56b574d2d5b9f95343d378ab49c0f37394d541e7fc8 + checksum: 10/2d30b157a91fe1c1d7c6f653cbf263f039be6c5bfa959245a16d4ee191fc0f2af86c08545b6e6beeb041c56b574d2d5b9f95343d378ab49c0f37394d541e7fc8 languageName: node linkType: hard "indent-string@npm:^4.0.0": version: 4.0.0 resolution: "indent-string@npm:4.0.0" - checksum: cd3f5cbc9ca2d624c6a1f53f12e6b341659aba0e2d3254ae2b4464aaea8b4294cdb09616abbc59458f980531f2429784ed6a420d48d245bcad0811980c9efae9 - languageName: node - linkType: hard - -"indent-string@npm:^5.0.0": - version: 5.0.0 - resolution: "indent-string@npm:5.0.0" - checksum: e466c27b6373440e6d84fbc19e750219ce25865cb82d578e41a6053d727e5520dc5725217d6eb1cc76005a1bb1696a0f106d84ce7ebda3033b963a38583fb3b3 + checksum: 10/cd3f5cbc9ca2d624c6a1f53f12e6b341659aba0e2d3254ae2b4464aaea8b4294cdb09616abbc59458f980531f2429784ed6a420d48d245bcad0811980c9efae9 languageName: node linkType: hard @@ -5368,74 +6110,60 @@ __metadata: dependencies: once: "npm:^1.3.0" wrappy: "npm:1" - checksum: d2ebd65441a38c8336c223d1b80b921b9fa737e37ea466fd7e253cb000c64ae1f17fa59e68130ef5bda92cfd8d36b83d37dab0eb0a4558bcfec8e8cdfd2dcb67 + checksum: 10/d2ebd65441a38c8336c223d1b80b921b9fa737e37ea466fd7e253cb000c64ae1f17fa59e68130ef5bda92cfd8d36b83d37dab0eb0a4558bcfec8e8cdfd2dcb67 languageName: node linkType: hard "inherits@npm:2, inherits@npm:^2.0.3": version: 2.0.4 resolution: "inherits@npm:2.0.4" - checksum: cd45e923bee15186c07fa4c89db0aace24824c482fb887b528304694b2aa6ff8a898da8657046a5dcf3e46cd6db6c61629551f9215f208d7c3f157cf9b290521 - languageName: node - linkType: hard - -"ini@npm:2.0.0": - version: 2.0.0 - resolution: "ini@npm:2.0.0" - checksum: 04e24ba05c4f6947e15560824e153b4610bceea2f5a3ab68651d221a4aab3c77d4e3e90a917ebc8bf5ad71a30a8575de56c39d6b4c4b1375a28016b9f3625f9d + checksum: 10/cd45e923bee15186c07fa4c89db0aace24824c482fb887b528304694b2aa6ff8a898da8657046a5dcf3e46cd6db6c61629551f9215f208d7c3f157cf9b290521 languageName: node linkType: hard -"ini@npm:^1.3.4": - version: 1.3.8 - resolution: "ini@npm:1.3.8" - checksum: 314ae176e8d4deb3def56106da8002b462221c174ddb7ce0c49ee72c8cd1f9044f7b10cc555a7d8850982c3b9ca96fc212122749f5234bc2b6fb05fb942ed566 +"ini@npm:4.1.1": + version: 4.1.1 + resolution: "ini@npm:4.1.1" + checksum: 10/64c7102301742a7527bb17257d18451410eacf63b4b5648a20e108816c355c21c4e8a1761bbcbf3fe8c4ded3297f1b832b885d5e3e485d781e293ebfaf56fea6 languageName: node linkType: hard -"inquirer@npm:^7.3.3": - version: 7.3.3 - resolution: "inquirer@npm:7.3.3" - dependencies: - ansi-escapes: "npm:^4.2.1" - chalk: "npm:^4.1.0" - cli-cursor: "npm:^3.1.0" - cli-width: "npm:^3.0.0" - external-editor: "npm:^3.0.3" - figures: "npm:^3.0.0" - lodash: "npm:^4.17.19" - mute-stream: "npm:0.0.8" - run-async: "npm:^2.4.0" - rxjs: "npm:^6.6.0" - string-width: "npm:^4.1.0" - strip-ansi: "npm:^6.0.0" - through: "npm:^2.3.6" - checksum: 052c6fce2d467343ced6500080b4b70eaf2ca996933fc3b5c9b0dd1ea275dd9c2a1070880f5f163f42bd13acf25c1ab8ab384444c1a413050db34aab69112583 +"ini@npm:^4.1.2, ini@npm:^4.1.3": + version: 4.1.3 + resolution: "ini@npm:4.1.3" + checksum: 10/f536b414d1442e5b233429e2b56efcdb354109b2d65ddd489e5939d8f0f5ad23c88aa2b19c92987249d0dd63ba8192e9aeb1a02b0459549c5a9ff31acd729a5d languageName: node linkType: hard -"internal-slot@npm:^1.0.5": - version: 1.0.5 - resolution: "internal-slot@npm:1.0.5" +"internal-slot@npm:^1.0.4, internal-slot@npm:^1.0.7": + version: 1.0.7 + resolution: "internal-slot@npm:1.0.7" dependencies: - get-intrinsic: "npm:^1.2.0" - has: "npm:^1.0.3" + es-errors: "npm:^1.3.0" + hasown: "npm:^2.0.0" side-channel: "npm:^1.0.4" - checksum: e2eb5b348e427957dd4092cb57b9374a2cbcabbf61e5e5b4d99cb68eeaae29394e8efd79f23dc2b1831253346f3c16b82010737b84841225e934d80d04d68643 + checksum: 10/3e66720508831153ecf37d13def9f6856f9f2960989ec8a0a0476c98f887fca9eff0163127466485cb825c900c2d6fc601aa9117b7783b90ffce23a71ea5d053 languageName: node linkType: hard "ip@npm:^2.0.0": version: 2.0.0 resolution: "ip@npm:2.0.0" - checksum: 1270b11e534a466fb4cf4426cbcc3a907c429389f7f4e4e3b288b42823562e88d6a509ceda8141a507de147ca506141f745005c0aa144569d94cf24a54eb52bc + checksum: 10/1270b11e534a466fb4cf4426cbcc3a907c429389f7f4e4e3b288b42823562e88d6a509ceda8141a507de147ca506141f745005c0aa144569d94cf24a54eb52bc languageName: node linkType: hard "is-alphabetical@npm:^1.0.0": version: 1.0.4 resolution: "is-alphabetical@npm:1.0.4" - checksum: 6508cce44fd348f06705d377b260974f4ce68c74000e7da4045f0d919e568226dc3ce9685c5a2af272195384df6930f748ce9213fc9f399b5d31b362c66312cb + checksum: 10/6508cce44fd348f06705d377b260974f4ce68c74000e7da4045f0d919e568226dc3ce9685c5a2af272195384df6930f748ce9213fc9f399b5d31b362c66312cb + languageName: node + linkType: hard + +"is-alphabetical@npm:^2.0.0": + version: 2.0.1 + resolution: "is-alphabetical@npm:2.0.1" + checksum: 10/56207db8d9de0850f0cd30f4966bf731eb82cedfe496cbc2e97e7c3bacaf66fc54a972d2d08c0d93bb679cb84976a05d24c5ad63de56fabbfc60aadae312edaa languageName: node linkType: hard @@ -5445,25 +6173,34 @@ __metadata: dependencies: is-alphabetical: "npm:^1.0.0" is-decimal: "npm:^1.0.0" - checksum: e2e491acc16fcf5b363f7c726f666a9538dba0a043665740feb45bba1652457a73441e7c5179c6768a638ed396db3437e9905f403644ec7c468fb41f4813d03f + checksum: 10/e2e491acc16fcf5b363f7c726f666a9538dba0a043665740feb45bba1652457a73441e7c5179c6768a638ed396db3437e9905f403644ec7c468fb41f4813d03f languageName: node linkType: hard -"is-array-buffer@npm:^3.0.1, is-array-buffer@npm:^3.0.2": - version: 3.0.2 - resolution: "is-array-buffer@npm:3.0.2" +"is-alphanumerical@npm:^2.0.0": + version: 2.0.1 + resolution: "is-alphanumerical@npm:2.0.1" + dependencies: + is-alphabetical: "npm:^2.0.0" + is-decimal: "npm:^2.0.0" + checksum: 10/87acc068008d4c9c4e9f5bd5e251041d42e7a50995c77b1499cf6ed248f971aadeddb11f239cabf09f7975ee58cac7a48ffc170b7890076d8d227b24a68663c9 + languageName: node + linkType: hard + +"is-array-buffer@npm:^3.0.1, is-array-buffer@npm:^3.0.4": + version: 3.0.4 + resolution: "is-array-buffer@npm:3.0.4" dependencies: call-bind: "npm:^1.0.2" - get-intrinsic: "npm:^1.2.0" - is-typed-array: "npm:^1.1.10" - checksum: dcac9dda66ff17df9cabdc58214172bf41082f956eab30bb0d86bc0fab1e44b690fc8e1f855cf2481245caf4e8a5a006a982a71ddccec84032ed41f9d8da8c14 + get-intrinsic: "npm:^1.2.1" + checksum: 10/34a26213d981d58b30724ef37a1e0682f4040d580fa9ff58fdfdd3cefcb2287921718c63971c1c404951e7b747c50fdc7caf6e867e951353fa71b369c04c969b languageName: node linkType: hard "is-arrayish@npm:^0.2.1": version: 0.2.1 resolution: "is-arrayish@npm:0.2.1" - checksum: 73ced84fa35e59e2c57da2d01e12cd01479f381d7f122ce41dcbb713f09dbfc651315832cd2bf8accba7681a69e4d6f1e03941d94dd10040d415086360e7005e + checksum: 10/73ced84fa35e59e2c57da2d01e12cd01479f381d7f122ce41dcbb713f09dbfc651315832cd2bf8accba7681a69e4d6f1e03941d94dd10040d415086360e7005e languageName: node linkType: hard @@ -5472,7 +6209,16 @@ __metadata: resolution: "is-bigint@npm:1.0.4" dependencies: has-bigints: "npm:^1.0.1" - checksum: cc981cf0564c503aaccc1e5f39e994ae16ae2d1a8fcd14721f14ad431809071f39ec568cfceef901cff408045f1a6d6bac90d1b43eeb0b8e3bc34c8eb1bdb4c4 + checksum: 10/cc981cf0564c503aaccc1e5f39e994ae16ae2d1a8fcd14721f14ad431809071f39ec568cfceef901cff408045f1a6d6bac90d1b43eeb0b8e3bc34c8eb1bdb4c4 + languageName: node + linkType: hard + +"is-binary-path@npm:~2.1.0": + version: 2.1.0 + resolution: "is-binary-path@npm:2.1.0" + dependencies: + binary-extensions: "npm:^2.0.0" + checksum: 10/078e51b4f956c2c5fd2b26bb2672c3ccf7e1faff38e0ebdba45612265f4e3d9fc3127a1fa8370bbf09eab61339203c3d3b7af5662cbf8be4030f8fac37745b0e languageName: node linkType: hard @@ -5482,7 +6228,7 @@ __metadata: dependencies: call-bind: "npm:^1.0.2" has-tostringtag: "npm:^1.0.0" - checksum: ba794223b56a49a9f185e945eeeb6b7833b8ea52a335cec087d08196cf27b538940001615d3bb976511287cefe94e5907d55f00bb49580533f9ca9b4515fcc2e + checksum: 10/ba794223b56a49a9f185e945eeeb6b7833b8ea52a335cec087d08196cf27b538940001615d3bb976511287cefe94e5907d55f00bb49580533f9ca9b4515fcc2e languageName: node linkType: hard @@ -5491,34 +6237,52 @@ __metadata: resolution: "is-builtin-module@npm:3.2.1" dependencies: builtin-modules: "npm:^3.3.0" - checksum: e8f0ffc19a98240bda9c7ada84d846486365af88d14616e737d280d378695c8c448a621dcafc8332dbf0fcd0a17b0763b845400709963fa9151ddffece90ae88 + checksum: 10/e8f0ffc19a98240bda9c7ada84d846486365af88d14616e737d280d378695c8c448a621dcafc8332dbf0fcd0a17b0763b845400709963fa9151ddffece90ae88 + languageName: node + linkType: hard + +"is-bun-module@npm:^1.0.2": + version: 1.2.1 + resolution: "is-bun-module@npm:1.2.1" + dependencies: + semver: "npm:^7.6.3" + checksum: 10/1c2cbcf1a76991add1b640d2d7fe09848e8697a76f96e1289dff44133a48c97f5dc601d4a66d3f3a86217a77178d72d33d10d0c9e14194e58e70ec8df3eae41a languageName: node linkType: hard "is-callable@npm:^1.1.3, is-callable@npm:^1.1.4, is-callable@npm:^1.2.7": version: 1.2.7 resolution: "is-callable@npm:1.2.7" - checksum: 48a9297fb92c99e9df48706241a189da362bff3003354aea4048bd5f7b2eb0d823cd16d0a383cece3d76166ba16d85d9659165ac6fcce1ac12e6c649d66dbdb9 + checksum: 10/48a9297fb92c99e9df48706241a189da362bff3003354aea4048bd5f7b2eb0d823cd16d0a383cece3d76166ba16d85d9659165ac6fcce1ac12e6c649d66dbdb9 languageName: node linkType: hard -"is-ci@npm:3.0.1": - version: 3.0.1 - resolution: "is-ci@npm:3.0.1" +"is-ci@npm:4.1.0": + version: 4.1.0 + resolution: "is-ci@npm:4.1.0" dependencies: - ci-info: "npm:^3.2.0" + ci-info: "npm:^4.1.0" bin: is-ci: bin.js - checksum: 192c66dc7826d58f803ecae624860dccf1899fc1f3ac5505284c0a5cf5f889046ffeb958fa651e5725d5705c5bcb14f055b79150ea5fcad7456a9569de60260e + checksum: 10/f63a9e951262b9f4ccea73f47743efb1bfe87de84b5352dc02966c90bf61c2a9e9426a43ef53fdd18bd5f33616015b97bb5ae89251fb0f573e6cf7a01d036295 languageName: node linkType: hard -"is-core-module@npm:^2.11.0, is-core-module@npm:^2.13.0, is-core-module@npm:^2.5.0": - version: 2.13.0 - resolution: "is-core-module@npm:2.13.0" +"is-core-module@npm:^2.13.0, is-core-module@npm:^2.15.1": + version: 2.15.1 + resolution: "is-core-module@npm:2.15.1" dependencies: - has: "npm:^1.0.3" - checksum: 55ccb5ccd208a1e088027065ee6438a99367e4c31c366b52fbaeac8fa23111cd17852111836d904da604801b3286d38d3d1ffa6cd7400231af8587f021099dc6 + hasown: "npm:^2.0.2" + checksum: 10/77316d5891d5743854bcef2cd2f24c5458fb69fbc9705c12ca17d54a2017a67d0693bbf1ba8c77af376c0eef6bf6d1b27a4ab08e4db4e69914c3789bdf2ceec5 + languageName: node + linkType: hard + +"is-data-view@npm:^1.0.1": + version: 1.0.1 + resolution: "is-data-view@npm:1.0.1" + dependencies: + is-typed-array: "npm:^1.1.13" + checksum: 10/4ba4562ac2b2ec005fefe48269d6bd0152785458cd253c746154ffb8a8ab506a29d0cfb3b74af87513843776a88e4981ae25c89457bf640a33748eab1a7216b5 languageName: node linkType: hard @@ -5527,14 +6291,21 @@ __metadata: resolution: "is-date-object@npm:1.0.5" dependencies: has-tostringtag: "npm:^1.0.0" - checksum: cc80b3a4b42238fa0d358b9a6230dae40548b349e64a477cb7c5eff9b176ba194c11f8321daaf6dd157e44073e9b7fd01f87db1f14952a88d5657acdcd3a56e2 + checksum: 10/cc80b3a4b42238fa0d358b9a6230dae40548b349e64a477cb7c5eff9b176ba194c11f8321daaf6dd157e44073e9b7fd01f87db1f14952a88d5657acdcd3a56e2 languageName: node linkType: hard "is-decimal@npm:^1.0.0": version: 1.0.4 resolution: "is-decimal@npm:1.0.4" - checksum: ed483a387517856dc395c68403a10201fddcc1b63dc56513fbe2fe86ab38766120090ecdbfed89223d84ca8b1cd28b0641b93cb6597b6e8f4c097a7c24e3fb96 + checksum: 10/ed483a387517856dc395c68403a10201fddcc1b63dc56513fbe2fe86ab38766120090ecdbfed89223d84ca8b1cd28b0641b93cb6597b6e8f4c097a7c24e3fb96 + languageName: node + linkType: hard + +"is-decimal@npm:^2.0.0": + version: 2.0.1 + resolution: "is-decimal@npm:2.0.1" + checksum: 10/97132de7acdce77caa7b797632970a2ecd649a88e715db0e4dbc00ab0708b5e7574ba5903962c860cd4894a14fd12b100c0c4ac8aed445cf6f55c6cf747a4158 languageName: node linkType: hard @@ -5543,58 +6314,65 @@ __metadata: resolution: "is-docker@npm:2.2.1" bin: is-docker: cli.js - checksum: 3fef7ddbf0be25958e8991ad941901bf5922ab2753c46980b60b05c1bf9c9c2402d35e6dc32e4380b980ef5e1970a5d9d5e5aa2e02d77727c3b6b5e918474c56 + checksum: 10/3fef7ddbf0be25958e8991ad941901bf5922ab2753c46980b60b05c1bf9c9c2402d35e6dc32e4380b980ef5e1970a5d9d5e5aa2e02d77727c3b6b5e918474c56 + languageName: node + linkType: hard + +"is-empty@npm:^1.0.0": + version: 1.2.0 + resolution: "is-empty@npm:1.2.0" + checksum: 10/dc80e0a8ad5439d98d128d126fe69e5dcd6b474e29753107bcfe82fc7d628c9da618d48bb24878a7891f231696405ad0a854dfe3cfc955c23d24e80d9e252e62 languageName: node linkType: hard "is-extglob@npm:^2.1.1": version: 2.1.1 resolution: "is-extglob@npm:2.1.1" - checksum: df033653d06d0eb567461e58a7a8c9f940bd8c22274b94bf7671ab36df5719791aae15eef6d83bbb5e23283967f2f984b8914559d4449efda578c775c4be6f85 + checksum: 10/df033653d06d0eb567461e58a7a8c9f940bd8c22274b94bf7671ab36df5719791aae15eef6d83bbb5e23283967f2f984b8914559d4449efda578c775c4be6f85 languageName: node linkType: hard "is-fullwidth-code-point@npm:^3.0.0": version: 3.0.0 resolution: "is-fullwidth-code-point@npm:3.0.0" - checksum: 44a30c29457c7fb8f00297bce733f0a64cd22eca270f83e58c105e0d015e45c019491a4ab2faef91ab51d4738c670daff901c799f6a700e27f7314029e99e348 - languageName: node - linkType: hard - -"is-fullwidth-code-point@npm:^4.0.0": - version: 4.0.0 - resolution: "is-fullwidth-code-point@npm:4.0.0" - checksum: 8ae89bf5057bdf4f57b346fb6c55e9c3dd2549983d54191d722d5c739397a903012cc41a04ee3403fd872e811243ef91a7c5196da7b5841dc6b6aae31a264a8d + checksum: 10/44a30c29457c7fb8f00297bce733f0a64cd22eca270f83e58c105e0d015e45c019491a4ab2faef91ab51d4738c670daff901c799f6a700e27f7314029e99e348 languageName: node linkType: hard -"is-glob@npm:^4.0.0, is-glob@npm:^4.0.1, is-glob@npm:^4.0.3": +"is-glob@npm:^4.0.0, is-glob@npm:^4.0.1, is-glob@npm:^4.0.3, is-glob@npm:~4.0.1": version: 4.0.3 resolution: "is-glob@npm:4.0.3" dependencies: is-extglob: "npm:^2.1.1" - checksum: 3ed74f2b0cdf4f401f38edb0442ddfde3092d79d7d35c9919c86641efdbcbb32e45aa3c0f70ce5eecc946896cd5a0f26e4188b9f2b881876f7cb6c505b82da11 + checksum: 10/3ed74f2b0cdf4f401f38edb0442ddfde3092d79d7d35c9919c86641efdbcbb32e45aa3c0f70ce5eecc946896cd5a0f26e4188b9f2b881876f7cb6c505b82da11 languageName: node linkType: hard "is-hexadecimal@npm:^1.0.0": version: 1.0.4 resolution: "is-hexadecimal@npm:1.0.4" - checksum: a452e047587b6069332d83130f54d30da4faf2f2ebaa2ce6d073c27b5703d030d58ed9e0b729c8e4e5b52c6f1dab26781bb77b7bc6c7805f14f320e328ff8cd5 + checksum: 10/a452e047587b6069332d83130f54d30da4faf2f2ebaa2ce6d073c27b5703d030d58ed9e0b729c8e4e5b52c6f1dab26781bb77b7bc6c7805f14f320e328ff8cd5 + languageName: node + linkType: hard + +"is-hexadecimal@npm:^2.0.0": + version: 2.0.1 + resolution: "is-hexadecimal@npm:2.0.1" + checksum: 10/66a2ea85994c622858f063f23eda506db29d92b52580709eb6f4c19550552d4dcf3fb81952e52f7cf972097237959e00adc7bb8c9400cd12886e15bf06145321 languageName: node linkType: hard "is-lambda@npm:^1.0.1": version: 1.0.1 resolution: "is-lambda@npm:1.0.1" - checksum: 93a32f01940220532e5948538699ad610d5924ac86093fcee83022252b363eb0cc99ba53ab084a04e4fb62bf7b5731f55496257a4c38adf87af9c4d352c71c35 + checksum: 10/93a32f01940220532e5948538699ad610d5924ac86093fcee83022252b363eb0cc99ba53ab084a04e4fb62bf7b5731f55496257a4c38adf87af9c4d352c71c35 languageName: node linkType: hard -"is-negative-zero@npm:^2.0.2": - version: 2.0.2 - resolution: "is-negative-zero@npm:2.0.2" - checksum: edbec1a9e6454d68bf595a114c3a72343d2d0be7761d8173dae46c0b73d05bb8fe9398c85d121e7794a66467d2f40b4a610b0be84cd804262d234fc634c86131 +"is-negative-zero@npm:^2.0.2, is-negative-zero@npm:^2.0.3": + version: 2.0.3 + resolution: "is-negative-zero@npm:2.0.3" + checksum: 10/8fe5cffd8d4fb2ec7b49d657e1691889778d037494c6f40f4d1a524cadd658b4b53ad7b6b73a59bcb4b143ae9a3d15829af864b2c0f9d65ac1e678c4c80f17e5 languageName: node linkType: hard @@ -5603,42 +6381,35 @@ __metadata: resolution: "is-number-object@npm:1.0.7" dependencies: has-tostringtag: "npm:^1.0.0" - checksum: 8700dcf7f602e0a9625830541345b8615d04953655acbf5c6d379c58eb1af1465e71227e95d501343346e1d49b6f2d53cbc166b1fc686a7ec19151272df582f9 + checksum: 10/8700dcf7f602e0a9625830541345b8615d04953655acbf5c6d379c58eb1af1465e71227e95d501343346e1d49b6f2d53cbc166b1fc686a7ec19151272df582f9 languageName: node linkType: hard "is-number@npm:^7.0.0": version: 7.0.0 resolution: "is-number@npm:7.0.0" - checksum: 6a6c3383f68afa1e05b286af866017c78f1226d43ac8cb064e115ff9ed85eb33f5c4f7216c96a71e4dfea289ef52c5da3aef5bbfade8ffe47a0465d70c0c8e86 + checksum: 10/6a6c3383f68afa1e05b286af866017c78f1226d43ac8cb064e115ff9ed85eb33f5c4f7216c96a71e4dfea289ef52c5da3aef5bbfade8ffe47a0465d70c0c8e86 languageName: node linkType: hard "is-obj@npm:^2.0.0": version: 2.0.0 resolution: "is-obj@npm:2.0.0" - checksum: c9916ac8f4621962a42f5e80e7ffdb1d79a3fab7456ceaeea394cd9e0858d04f985a9ace45be44433bf605673c8be8810540fe4cc7f4266fc7526ced95af5a08 - languageName: node - linkType: hard - -"is-path-inside@npm:^3.0.3": - version: 3.0.3 - resolution: "is-path-inside@npm:3.0.3" - checksum: abd50f06186a052b349c15e55b182326f1936c89a78bf6c8f2b707412517c097ce04bc49a0ca221787bc44e1049f51f09a2ffb63d22899051988d3a618ba13e9 + checksum: 10/c9916ac8f4621962a42f5e80e7ffdb1d79a3fab7456ceaeea394cd9e0858d04f985a9ace45be44433bf605673c8be8810540fe4cc7f4266fc7526ced95af5a08 languageName: node linkType: hard "is-path-inside@npm:^4.0.0": version: 4.0.0 resolution: "is-path-inside@npm:4.0.0" - checksum: 8810fa11c58e6360b82c3e0d6cd7d9c7d0392d3ac9eb10f980b81f9839f40ac6d1d6d6f05d069db0d227759801228f0b072e1b6c343e4469b065ab5fe0b68fe5 + checksum: 10/8810fa11c58e6360b82c3e0d6cd7d9c7d0392d3ac9eb10f980b81f9839f40ac6d1d6d6f05d069db0d227759801228f0b072e1b6c343e4469b065ab5fe0b68fe5 languageName: node linkType: hard -"is-plain-obj@npm:^1.1.0": - version: 1.1.0 - resolution: "is-plain-obj@npm:1.1.0" - checksum: 0ee04807797aad50859652a7467481816cbb57e5cc97d813a7dcd8915da8195dc68c436010bf39d195226cde6a2d352f4b815f16f26b7bf486a5754290629931 +"is-plain-obj@npm:^4.0.0": + version: 4.1.0 + resolution: "is-plain-obj@npm:4.1.0" + checksum: 10/6dc45da70d04a81f35c9310971e78a6a3c7a63547ef782e3a07ee3674695081b6ca4e977fbb8efc48dae3375e0b34558d2bcd722aec9bddfa2d7db5b041be8ce languageName: node linkType: hard @@ -5648,30 +6419,23 @@ __metadata: dependencies: call-bind: "npm:^1.0.2" has-tostringtag: "npm:^1.0.0" - checksum: 36d9174d16d520b489a5e9001d7d8d8624103b387be300c50f860d9414556d0485d74a612fdafc6ebbd5c89213d947dcc6b6bff6b2312093f71ea03cbb19e564 + checksum: 10/36d9174d16d520b489a5e9001d7d8d8624103b387be300c50f860d9414556d0485d74a612fdafc6ebbd5c89213d947dcc6b6bff6b2312093f71ea03cbb19e564 languageName: node linkType: hard -"is-shared-array-buffer@npm:^1.0.2": - version: 1.0.2 - resolution: "is-shared-array-buffer@npm:1.0.2" +"is-shared-array-buffer@npm:^1.0.2, is-shared-array-buffer@npm:^1.0.3": + version: 1.0.3 + resolution: "is-shared-array-buffer@npm:1.0.3" dependencies: - call-bind: "npm:^1.0.2" - checksum: 23d82259d6cd6dbb7c4ff3e4efeff0c30dbc6b7f88698498c17f9821cb3278d17d2b6303a5341cbd638ab925a28f3f086a6c79b3df70ac986cc526c725d43b4f + call-bind: "npm:^1.0.7" + checksum: 10/bc5402900dc62b96ebb2548bf5b0a0bcfacc2db122236fe3ab3b3e3c884293a0d5eb777e73f059bcbf8dc8563bb65eae972fee0fb97e38a9ae27c8678f62bcfe languageName: node linkType: hard "is-stream@npm:^2.0.0": version: 2.0.1 resolution: "is-stream@npm:2.0.1" - checksum: b8e05ccdf96ac330ea83c12450304d4a591f9958c11fd17bed240af8d5ffe08aedafa4c0f4cfccd4d28dc9d4d129daca1023633d5c11601a6cbc77521f6fae66 - languageName: node - linkType: hard - -"is-stream@npm:^3.0.0": - version: 3.0.0 - resolution: "is-stream@npm:3.0.0" - checksum: 172093fe99119ffd07611ab6d1bcccfe8bc4aa80d864b15f43e63e54b7abc71e779acd69afdb854c4e2a67fdc16ae710e370eda40088d1cfc956a50ed82d8f16 + checksum: 10/b8e05ccdf96ac330ea83c12450304d4a591f9958c11fd17bed240af8d5ffe08aedafa4c0f4cfccd4d28dc9d4d129daca1023633d5c11601a6cbc77521f6fae66 languageName: node linkType: hard @@ -5680,7 +6444,7 @@ __metadata: resolution: "is-string@npm:1.0.7" dependencies: has-tostringtag: "npm:^1.0.0" - checksum: 2bc292fe927493fb6dfc3338c099c3efdc41f635727c6ebccf704aeb2a27bca7acb9ce6fd34d103db78692b10b22111a8891de26e12bfa1c5e11e263c99d1fef + checksum: 10/2bc292fe927493fb6dfc3338c099c3efdc41f635727c6ebccf704aeb2a27bca7acb9ce6fd34d103db78692b10b22111a8891de26e12bfa1c5e11e263c99d1fef languageName: node linkType: hard @@ -5689,16 +6453,7 @@ __metadata: resolution: "is-symbol@npm:1.0.4" dependencies: has-symbols: "npm:^1.0.2" - checksum: a47dd899a84322528b71318a89db25c7ecdec73197182dad291df15ffea501e17e3c92c8de0bfb50e63402747399981a687b31c519971b1fa1a27413612be929 - languageName: node - linkType: hard - -"is-text-path@npm:^1.0.1": - version: 1.0.1 - resolution: "is-text-path@npm:1.0.1" - dependencies: - text-extensions: "npm:^1.0.0" - checksum: fb5d78752c22b3f73a7c9540768f765ffcfa38c9e421e2b9af869565307fa1ae5e3d3a2ba016a43549742856846566d327da406e94a5846ec838a288b1704fd2 + checksum: 10/a47dd899a84322528b71318a89db25c7ecdec73197182dad291df15ffea501e17e3c92c8de0bfb50e63402747399981a687b31c519971b1fa1a27413612be929 languageName: node linkType: hard @@ -5707,30 +6462,23 @@ __metadata: resolution: "is-text-path@npm:2.0.0" dependencies: text-extensions: "npm:^2.0.0" - checksum: e26ade26a6aa6b26c3f00c913871c3c1ceb5a2a5ca4380aac3f0e092b151ad8e2ce4cee1060fb7a13a5684fa55ce62c9df04fa7723b180c82a34ae4c0fa34adb + checksum: 10/e26ade26a6aa6b26c3f00c913871c3c1ceb5a2a5ca4380aac3f0e092b151ad8e2ce4cee1060fb7a13a5684fa55ce62c9df04fa7723b180c82a34ae4c0fa34adb languageName: node linkType: hard -"is-typed-array@npm:^1.1.10, is-typed-array@npm:^1.1.9": - version: 1.1.12 - resolution: "is-typed-array@npm:1.1.12" +"is-typed-array@npm:^1.1.10, is-typed-array@npm:^1.1.13": + version: 1.1.13 + resolution: "is-typed-array@npm:1.1.13" dependencies: - which-typed-array: "npm:^1.1.11" - checksum: d953adfd3c41618d5e01b2a10f21817e4cdc9572772fa17211100aebb3811b6e3c2e308a0558cc87d218a30504cb90154b833013437776551bfb70606fb088ca - languageName: node - linkType: hard - -"is-typedarray@npm:^1.0.0": - version: 1.0.0 - resolution: "is-typedarray@npm:1.0.0" - checksum: 4b433bfb0f9026f079f4eb3fbaa4ed2de17c9995c3a0b5c800bec40799b4b2a8b4e051b1ada77749deb9ded4ae52fe2096973f3a93ff83df1a5a7184a669478c + which-typed-array: "npm:^1.1.14" + checksum: 10/f850ba08286358b9a11aee6d93d371a45e3c59b5953549ee1c1a9a55ba5c1dd1bd9952488ae194ad8f32a9cf5e79c8fa5f0cc4d78c00720aa0bbcf238b38062d languageName: node linkType: hard -"is-unicode-supported@npm:^0.1.0": - version: 0.1.0 - resolution: "is-unicode-supported@npm:0.1.0" - checksum: a2aab86ee7712f5c2f999180daaba5f361bdad1efadc9610ff5b8ab5495b86e4f627839d085c6530363c6d6d4ecbde340fb8e54bdb83da4ba8e0865ed5513c52 +"is-unicode-supported@npm:2.0.0": + version: 2.0.0 + resolution: "is-unicode-supported@npm:2.0.0" + checksum: 10/000b80639dedaf59a385f1c0a57f97a4d1435e0723716f24cc19ad94253a7a0a9f838bdc9ac49b10a29ac93b01f52ae9b2ed358a8876caf1eb74d73b4ede92b2 languageName: node linkType: hard @@ -5739,7 +6487,7 @@ __metadata: resolution: "is-weakref@npm:1.0.2" dependencies: call-bind: "npm:^1.0.2" - checksum: 0023fd0e4bdf9c338438ffbe1eed7ebbbff7e7e18fb7cdc227caaf9d4bd024a2dcdf6a8c9f40c92192022eac8391243bb9e66cccebecbf6fe1d8a366108f8513 + checksum: 10/0023fd0e4bdf9c338438ffbe1eed7ebbbff7e7e18fb7cdc227caaf9d4bd024a2dcdf6a8c9f40c92192022eac8391243bb9e66cccebecbf6fe1d8a366108f8513 languageName: node linkType: hard @@ -5748,28 +6496,35 @@ __metadata: resolution: "is-wsl@npm:2.2.0" dependencies: is-docker: "npm:^2.0.0" - checksum: 20849846ae414997d290b75e16868e5261e86ff5047f104027026fd61d8b5a9b0b3ade16239f35e1a067b3c7cc02f70183cb661010ed16f4b6c7c93dad1b19d8 + checksum: 10/20849846ae414997d290b75e16868e5261e86ff5047f104027026fd61d8b5a9b0b3ade16239f35e1a067b3c7cc02f70183cb661010ed16f4b6c7c93dad1b19d8 languageName: node linkType: hard "isarray@npm:^2.0.5": version: 2.0.5 resolution: "isarray@npm:2.0.5" - checksum: 1d8bc7911e13bb9f105b1b3e0b396c787a9e63046af0b8fe0ab1414488ab06b2b099b87a2d8a9e31d21c9a6fad773c7fc8b257c4880f2d957274479d28ca3414 + checksum: 10/1d8bc7911e13bb9f105b1b3e0b396c787a9e63046af0b8fe0ab1414488ab06b2b099b87a2d8a9e31d21c9a6fad773c7fc8b257c4880f2d957274479d28ca3414 languageName: node linkType: hard "isexe@npm:^2.0.0": version: 2.0.0 resolution: "isexe@npm:2.0.0" - checksum: 7c9f715c03aff08f35e98b1fadae1b9267b38f0615d501824f9743f3aab99ef10e303ce7db3f186763a0b70a19de5791ebfc854ff884d5a8c4d92211f642ec92 + checksum: 10/7c9f715c03aff08f35e98b1fadae1b9267b38f0615d501824f9743f3aab99ef10e303ce7db3f186763a0b70a19de5791ebfc854ff884d5a8c4d92211f642ec92 languageName: node linkType: hard -"istanbul-lib-coverage@npm:^3.0.0, istanbul-lib-coverage@npm:^3.2.0": - version: 3.2.0 - resolution: "istanbul-lib-coverage@npm:3.2.0" - checksum: 31621b84ad29339242b63d454243f558a7958ee0b5177749bacf1f74be7d95d3fd93853738ef7eebcddfaf3eab014716e51392a8dbd5aa1bdc1b15c2ebc53c24 +"isexe@npm:^3.1.1": + version: 3.1.1 + resolution: "isexe@npm:3.1.1" + checksum: 10/7fe1931ee4e88eb5aa524cd3ceb8c882537bc3a81b02e438b240e47012eef49c86904d0f0e593ea7c3a9996d18d0f1f3be8d3eaa92333977b0c3a9d353d5563e + languageName: node + linkType: hard + +"istanbul-lib-coverage@npm:^3.0.0, istanbul-lib-coverage@npm:^3.2.2": + version: 3.2.2 + resolution: "istanbul-lib-coverage@npm:3.2.2" + checksum: 10/40bbdd1e937dfd8c830fa286d0f665e81b7a78bdabcd4565f6d5667c99828bda3db7fb7ac6b96a3e2e8a2461ddbc5452d9f8bc7d00cb00075fa6a3e99f5b6a81 languageName: node linkType: hard @@ -5780,55 +6535,64 @@ __metadata: istanbul-lib-coverage: "npm:^3.0.0" make-dir: "npm:^4.0.0" supports-color: "npm:^7.1.0" - checksum: 86a83421ca1cf2109a9f6d193c06c31ef04a45e72a74579b11060b1e7bb9b6337a4e6f04abfb8857e2d569c271273c65e855ee429376a0d7c91ad91db42accd1 + checksum: 10/86a83421ca1cf2109a9f6d193c06c31ef04a45e72a74579b11060b1e7bb9b6337a4e6f04abfb8857e2d569c271273c65e855ee429376a0d7c91ad91db42accd1 languageName: node linkType: hard -"istanbul-lib-source-maps@npm:^4.0.1": - version: 4.0.1 - resolution: "istanbul-lib-source-maps@npm:4.0.1" +"istanbul-lib-source-maps@npm:^5.0.6": + version: 5.0.6 + resolution: "istanbul-lib-source-maps@npm:5.0.6" dependencies: + "@jridgewell/trace-mapping": "npm:^0.3.23" debug: "npm:^4.1.1" istanbul-lib-coverage: "npm:^3.0.0" - source-map: "npm:^0.6.1" - checksum: 5526983462799aced011d776af166e350191b816821ea7bcf71cab3e5272657b062c47dc30697a22a43656e3ced78893a42de677f9ccf276a28c913190953b82 + checksum: 10/569dd0a392ee3464b1fe1accbaef5cc26de3479eacb5b91d8c67ebb7b425d39fd02247d85649c3a0e9c29b600809fa60b5af5a281a75a89c01f385b1e24823a2 languageName: node linkType: hard -"istanbul-reports@npm:^3.1.5": - version: 3.1.6 - resolution: "istanbul-reports@npm:3.1.6" +"istanbul-reports@npm:^3.1.7": + version: 3.1.7 + resolution: "istanbul-reports@npm:3.1.7" dependencies: html-escaper: "npm:^2.0.0" istanbul-lib-report: "npm:^3.0.0" - checksum: 135c178e509b21af5c446a6951fc01c331331bb0fdb1ed1dd7f68a8c875603c2e2ee5c82801db5feb868e5cc35e9babe2d972d322afc50f6de6cce6431b9b2ff + checksum: 10/f1faaa4684efaf57d64087776018d7426312a59aa6eeb4e0e3a777347d23cd286ad18f427e98f0e3dee666103d7404c9d7abc5f240406a912fa16bd6695437fa languageName: node linkType: hard "iterare@npm:1.2.1": version: 1.2.1 resolution: "iterare@npm:1.2.1" - checksum: ee8322dd9d92e86d8653c899df501c58c5b8e90d6767cf2af0b6d6dc5a4b9b7ed8bce936976f4f4c3a55be110a300c8a7d71967d03f72e104e8db66befcfd874 + checksum: 10/ee8322dd9d92e86d8653c899df501c58c5b8e90d6767cf2af0b6d6dc5a4b9b7ed8bce936976f4f4c3a55be110a300c8a7d71967d03f72e104e8db66befcfd874 languageName: node linkType: hard -"jackspeak@npm:^2.0.3": - version: 2.3.1 - resolution: "jackspeak@npm:2.3.1" +"jackspeak@npm:^3.1.2": + version: 3.4.3 + resolution: "jackspeak@npm:3.4.3" dependencies: "@isaacs/cliui": "npm:^8.0.2" "@pkgjs/parseargs": "npm:^0.11.0" dependenciesMeta: "@pkgjs/parseargs": optional: true - checksum: 8a079883ac3978ff3e2f3c060bb906f689c221460bfa2056b8932e405489e0a1fe370592c489ff5c716ccfb379b397a174c90c0c18f62f224741df486370cc28 + checksum: 10/96f8786eaab98e4bf5b2a5d6d9588ea46c4d06bbc4f2eb861fdd7b6b182b16f71d8a70e79820f335d52653b16d4843b29dd9cdcf38ae80406756db9199497cf3 + languageName: node + linkType: hard + +"jiti@npm:^2.4.1": + version: 2.4.2 + resolution: "jiti@npm:2.4.2" + bin: + jiti: lib/jiti-cli.mjs + checksum: 10/e2b07eb2e3fbb245e29ad288dddecab31804967fc84d5e01d39858997d2743b5e248946defcecf99272275a00284ecaf7ec88b8c841331324f0c946d8274414b languageName: node linkType: hard "js-tokens@npm:^4.0.0": version: 4.0.0 resolution: "js-tokens@npm:4.0.0" - checksum: af37d0d913fb56aec6dc0074c163cc71cd23c0b8aad5c2350747b6721d37ba118af35abdd8b33c47ec2800de07dedb16a527ca9c530ee004093e04958bd0cbf2 + checksum: 10/af37d0d913fb56aec6dc0074c163cc71cd23c0b8aad5c2350747b6721d37ba118af35abdd8b33c47ec2800de07dedb16a527ca9c530ee004093e04958bd0cbf2 languageName: node linkType: hard @@ -5839,14 +6603,14 @@ __metadata: argparse: "npm:^2.0.1" bin: js-yaml: bin/js-yaml.js - checksum: c138a34a3fd0d08ebaf71273ad4465569a483b8a639e0b118ff65698d257c2791d3199e3f303631f2cb98213fa7b5f5d6a4621fd0fff819421b990d30d967140 + checksum: 10/c138a34a3fd0d08ebaf71273ad4465569a483b8a639e0b118ff65698d257c2791d3199e3f303631f2cb98213fa7b5f5d6a4621fd0fff819421b990d30d967140 languageName: node linkType: hard -"jsdoc-type-pratt-parser@npm:~4.0.0": - version: 4.0.0 - resolution: "jsdoc-type-pratt-parser@npm:4.0.0" - checksum: a225ab874e56612730dd6c0466ce9f09e8a0e7d85896e9e5f0fa53cfb2e897128a7ec702fd99ed3854b3fbf5a89ad6dce72ca4f4f6149da69f130c2874f06b75 +"jsdoc-type-pratt-parser@npm:~4.1.0": + version: 4.1.0 + resolution: "jsdoc-type-pratt-parser@npm:4.1.0" + checksum: 10/30d88f95f6cbb4a1aa6d4b0d0ae46eb1096e606235ecaf9bab7a3ed5da860516b5d1cd967182765002f292c627526db918f3e56d34637bcf810e6ef84d403f3f languageName: node linkType: hard @@ -5855,7 +6619,7 @@ __metadata: resolution: "jsesc@npm:3.0.2" bin: jsesc: bin/jsesc - checksum: 8e5a7de6b70a8bd71f9cb0b5a7ade6a73ae6ab55e697c74cc997cede97417a3a65ed86c36f7dd6125fe49766e8386c845023d9e213916ca92c9dfdd56e2babf3 + checksum: 10/8e5a7de6b70a8bd71f9cb0b5a7ade6a73ae6ab55e697c74cc997cede97417a3a65ed86c36f7dd6125fe49766e8386c845023d9e213916ca92c9dfdd56e2babf3 languageName: node linkType: hard @@ -5864,130 +6628,113 @@ __metadata: resolution: "jsesc@npm:0.5.0" bin: jsesc: bin/jsesc - checksum: fab949f585c71e169c5cbe00f049f20de74f067081bbd64a55443bad1c71e1b5a5b448f2359bf2fe06f5ed7c07e2e4a9101843b01c823c30b6afc11f5bfaf724 + checksum: 10/fab949f585c71e169c5cbe00f049f20de74f067081bbd64a55443bad1c71e1b5a5b448f2359bf2fe06f5ed7c07e2e4a9101843b01c823c30b6afc11f5bfaf724 languageName: node linkType: hard "json-buffer@npm:3.0.1": version: 3.0.1 resolution: "json-buffer@npm:3.0.1" - checksum: 82876154521b7b68ba71c4f969b91572d1beabadd87bd3a6b236f85fbc7dc4695089191ed60bb59f9340993c51b33d479f45b6ba9f3548beb519705281c32c3c - languageName: node - linkType: hard - -"json-joy@npm:^9.2.0": - version: 9.5.1 - resolution: "json-joy@npm:9.5.1" - dependencies: - arg: "npm:^5.0.2" - hyperdyperid: "npm:^1.2.0" - peerDependencies: - quill-delta: ^5 - rxjs: 7 - tslib: 2 - bin: - json-pack: bin/json-pack.js - json-pack-test: bin/json-pack-test.js - json-patch: bin/json-patch.js - json-patch-test: bin/json-patch-test.js - json-pointer: bin/json-pointer.js - json-pointer-test: bin/json-pointer-test.js - json-unpack: bin/json-unpack.js - checksum: a0f729a0f2130c53bdadc7c87b97515d067e6870f098777ad651e2b4e864ceed1749fd1f51a6e47be03b2a4e33bd97407b0f2c8c354f8e71d77f4077a35b9e7e + checksum: 10/82876154521b7b68ba71c4f969b91572d1beabadd87bd3a6b236f85fbc7dc4695089191ed60bb59f9340993c51b33d479f45b6ba9f3548beb519705281c32c3c languageName: node linkType: hard "json-parse-even-better-errors@npm:^2.3.0": version: 2.3.1 resolution: "json-parse-even-better-errors@npm:2.3.1" - checksum: 5f3a99009ed5f2a5a67d06e2f298cc97bc86d462034173308156f15b43a6e850be8511dc204b9b94566305da2947f7d90289657237d210351a39059ff9d666cf + checksum: 10/5f3a99009ed5f2a5a67d06e2f298cc97bc86d462034173308156f15b43a6e850be8511dc204b9b94566305da2947f7d90289657237d210351a39059ff9d666cf + languageName: node + linkType: hard + +"json-parse-even-better-errors@npm:^3.0.0": + version: 3.0.2 + resolution: "json-parse-even-better-errors@npm:3.0.2" + checksum: 10/6f04ea6c9ccb783630a59297959247e921cc90b917b8351197ca7fd058fccc7079268fd9362be21ba876fc26aa5039369dd0a2280aae49aae425784794a94927 languageName: node linkType: hard "json-schema-traverse@npm:^0.4.1": version: 0.4.1 resolution: "json-schema-traverse@npm:0.4.1" - checksum: 7486074d3ba247769fda17d5181b345c9fb7d12e0da98b22d1d71a5db9698d8b4bd900a3ec1a4ffdd60846fc2556274a5c894d0c48795f14cb03aeae7b55260b + checksum: 10/7486074d3ba247769fda17d5181b345c9fb7d12e0da98b22d1d71a5db9698d8b4bd900a3ec1a4ffdd60846fc2556274a5c894d0c48795f14cb03aeae7b55260b languageName: node linkType: hard "json-schema-traverse@npm:^1.0.0": version: 1.0.0 resolution: "json-schema-traverse@npm:1.0.0" - checksum: 02f2f466cdb0362558b2f1fd5e15cce82ef55d60cd7f8fa828cf35ba74330f8d767fcae5c5c2adb7851fa811766c694b9405810879bc4e1ddd78a7c0e03658ad + checksum: 10/02f2f466cdb0362558b2f1fd5e15cce82ef55d60cd7f8fa828cf35ba74330f8d767fcae5c5c2adb7851fa811766c694b9405810879bc4e1ddd78a7c0e03658ad languageName: node linkType: hard "json-stable-stringify-without-jsonify@npm:^1.0.1": version: 1.0.1 resolution: "json-stable-stringify-without-jsonify@npm:1.0.1" - checksum: 12786c2e2f22c27439e6db0532ba321f1d0617c27ad8cb1c352a0e9249a50182fd1ba8b52a18899291604b0c32eafa8afd09e51203f19109a0537f68db2b652d + checksum: 10/12786c2e2f22c27439e6db0532ba321f1d0617c27ad8cb1c352a0e9249a50182fd1ba8b52a18899291604b0c32eafa8afd09e51203f19109a0537f68db2b652d languageName: node linkType: hard -"json5@npm:^1.0.2": +"json5@npm:2.2.3, json5@npm:^2.0.0": + version: 2.2.3 + resolution: "json5@npm:2.2.3" + bin: + json5: lib/cli.js + checksum: 10/1db67b853ff0de3534085d630691d3247de53a2ed1390ba0ddff681ea43e9b3e30ecbdb65c5e9aab49435e44059c23dbd6fee8ee619419ba37465bb0dd7135da + languageName: node + linkType: hard + +"json5@npm:^1.0.2": version: 1.0.2 resolution: "json5@npm:1.0.2" dependencies: minimist: "npm:^1.2.0" bin: json5: lib/cli.js - checksum: a78d812dbbd5642c4f637dd130954acfd231b074965871c3e28a5bbd571f099d623ecf9161f1960c4ddf68e0cc98dee8bebfdb94a71ad4551f85a1afc94b63f6 + checksum: 10/a78d812dbbd5642c4f637dd130954acfd231b074965871c3e28a5bbd571f099d623ecf9161f1960c4ddf68e0cc98dee8bebfdb94a71ad4551f85a1afc94b63f6 languageName: node linkType: hard -"jsonc-eslint-parser@npm:2.3.0, jsonc-eslint-parser@npm:^2.0.4": - version: 2.3.0 - resolution: "jsonc-eslint-parser@npm:2.3.0" +"jsonc-eslint-parser@npm:2.4.0, jsonc-eslint-parser@npm:^2.0.4": + version: 2.4.0 + resolution: "jsonc-eslint-parser@npm:2.4.0" dependencies: acorn: "npm:^8.5.0" eslint-visitor-keys: "npm:^3.0.0" espree: "npm:^9.0.0" semver: "npm:^7.3.5" - checksum: 499b427f573ca7cfee6021e8f02c5ed28ab789b33f9f36d9bd3caa57ea786ff8b05565a8c3853a8a47d7d69664dc53d8777b7d016ff5aecbadbf5cef180c1919 - languageName: node - linkType: hard - -"jsonc-parser@npm:^3.2.0": - version: 3.2.0 - resolution: "jsonc-parser@npm:3.2.0" - checksum: bd68b902e5f9394f01da97921f49c5084b2dc03a0c5b4fdb2a429f8d6f292686c1bf87badaeb0a8148d024192a88f5ad2e57b2918ba43fe25cf15f3371db64d4 - languageName: node - linkType: hard - -"jsonfile@npm:^6.0.1": - version: 6.1.0 - resolution: "jsonfile@npm:6.1.0" - dependencies: - graceful-fs: "npm:^4.1.6" - universalify: "npm:^2.0.0" - dependenciesMeta: - graceful-fs: - optional: true - checksum: 03014769e7dc77d4cf05fa0b534907270b60890085dd5e4d60a382ff09328580651da0b8b4cdf44d91e4c8ae64d91791d965f05707beff000ed494a38b6fec85 + checksum: 10/bd1d41c852c3488414605a1754617aa7c240ed6730a25a7fd7fb76473e92efdc5ba1728ad3f08f8069de3a19abf1fd275c2b145eb51e2f7f6ca293c8105e1ffe languageName: node linkType: hard "jsonparse@npm:^1.2.0": version: 1.3.1 resolution: "jsonparse@npm:1.3.1" - checksum: 24531e956f0f19d79e22c157cebd81b37af3486ae22f9bc1028f8c2a4d1b70df48b168ff86f8568d9c2248182de9b6da9f50f685d5e4b9d1d2d339d2a29d15bc + checksum: 10/24531e956f0f19d79e22c157cebd81b37af3486ae22f9bc1028f8c2a4d1b70df48b168ff86f8568d9c2248182de9b6da9f50f685d5e4b9d1d2d339d2a29d15bc languageName: node linkType: hard -"keyv@npm:^4.5.3": - version: 4.5.3 - resolution: "keyv@npm:4.5.3" +"keyv@npm:^4.5.4": + version: 4.5.4 + resolution: "keyv@npm:4.5.4" dependencies: json-buffer: "npm:3.0.1" - checksum: 2c96e345ecee2c7bf8876b368190b0067308b8da080c1462486fbe71a5b863242c350f1507ddad8f373c5d886b302c42f491de4d3be725071c6743a2f1188ff2 + checksum: 10/167eb6ef64cc84b6fa0780ee50c9de456b422a1e18802209234f7c2cf7eae648c7741f32e50d7e24ccb22b24c13154070b01563d642755b156c357431a191e75 languageName: node linkType: hard -"kind-of@npm:^6.0.3": - version: 6.0.3 - resolution: "kind-of@npm:6.0.3" - checksum: 5873d303fb36aad875b7538798867da2ae5c9e328d67194b0162a3659a627d22f742fc9c4ae95cd1704132a24b00cae5041fc00c0f6ef937dc17080dc4dbb962 +"kleur@npm:^4.0.3": + version: 4.1.5 + resolution: "kleur@npm:4.1.5" + checksum: 10/44d84cc4eedd4311099402ef6d4acd9b2d16e08e499d6ef3bb92389bd4692d7ef09e35248c26e27f98acac532122acb12a1bfee645994ae3af4f0a37996da7df + languageName: node + linkType: hard + +"levenshtein-edit-distance@npm:^1.0.0": + version: 1.0.0 + resolution: "levenshtein-edit-distance@npm:1.0.0" + bin: + levenshtein-edit-distance: cli.js + checksum: 10/d628c4011a6724e4d6aea1af1c5d9ec8b3ba7f95eec0deb2e40ee77269e12b0433a7027f66e5375a17b803d36f86601c2692dfa4b2e6030aabc14969a2941de6 languageName: node linkType: hard @@ -5997,78 +6744,38 @@ __metadata: dependencies: prelude-ls: "npm:^1.2.1" type-check: "npm:~0.4.0" - checksum: 2e4720ff79f21ae08d42374b0a5c2f664c5be8b6c8f565bb4e1315c96ed3a8acaa9de788ffed82d7f2378cf36958573de07ef92336cb5255ed74d08b8318c9ee - languageName: node - linkType: hard - -"libphonenumber-js@npm:^1.10.14": - version: 1.10.43 - resolution: "libphonenumber-js@npm:1.10.43" - checksum: 1e06c154f2206fe490cf29ef17f419247e1753b21aeb612100c2a300ebe12cae66e6eeed60db2b8b1e70e377abb44cb0ca946bf762fd5c74f6d5915d7fc26212 + checksum: 10/2e4720ff79f21ae08d42374b0a5c2f664c5be8b6c8f565bb4e1315c96ed3a8acaa9de788ffed82d7f2378cf36958573de07ef92336cb5255ed74d08b8318c9ee languageName: node linkType: hard -"lilconfig@npm:2.1.0": - version: 2.1.0 - resolution: "lilconfig@npm:2.1.0" - checksum: b1314a2e55319013d5e7d7d08be39015829d2764a1eaee130129545d40388499d81b1c31b0f9b3417d4db12775a88008b72ec33dd06e0184cf7503b32ca7cc0b +"libphonenumber-js@npm:^1.10.14, libphonenumber-js@npm:^1.10.53": + version: 1.11.7 + resolution: "libphonenumber-js@npm:1.11.7" + checksum: 10/d9b9a413645090f92ded23a352e68cf3f426bd3d943eb4b90bf09a4d964bc0b0d590a430feec6226a493469c5af65fb261e16a67c45430527d33ba98dac07e03 languageName: node linkType: hard "lines-and-columns@npm:^1.1.6": version: 1.2.4 resolution: "lines-and-columns@npm:1.2.4" - checksum: 0c37f9f7fa212b38912b7145e1cd16a5f3cd34d782441c3e6ca653485d326f58b3caccda66efce1c5812bde4961bbde3374fae4b0d11bf1226152337f3894aa5 - languageName: node - linkType: hard - -"linkify-it@npm:^4.0.1": - version: 4.0.1 - resolution: "linkify-it@npm:4.0.1" - dependencies: - uc.micro: "npm:^1.0.1" - checksum: d0a786d2e3f02f46b6f4a9b466af9eb936fb68e86b7cd305933d5457b12fdc53a4d0e0b697b02dc2e7d84a51d2425d719598bb7b47af7e01911e492e07a97957 + checksum: 10/0c37f9f7fa212b38912b7145e1cd16a5f3cd34d782441c3e6ca653485d326f58b3caccda66efce1c5812bde4961bbde3374fae4b0d11bf1226152337f3894aa5 languageName: node linkType: hard -"lint-staged@npm:15.0.1": - version: 15.0.1 - resolution: "lint-staged@npm:15.0.1" - dependencies: - chalk: "npm:5.3.0" - commander: "npm:11.1.0" - debug: "npm:4.3.4" - execa: "npm:8.0.1" - lilconfig: "npm:2.1.0" - listr2: "npm:7.0.1" - micromatch: "npm:4.0.5" - pidtree: "npm:0.6.0" - string-argv: "npm:0.3.2" - yaml: "npm:2.3.2" - bin: - lint-staged: bin/lint-staged.js - checksum: feeede7055d3d863a9f7a552589f2ea789c8596d7faa3750b03fe6061ea4893e718e3fd60a11494a11183649c569e50216c4b2fa798aad1a5afdf9177e3c6f64 +"lines-and-columns@npm:^2.0.3": + version: 2.0.4 + resolution: "lines-and-columns@npm:2.0.4" + checksum: 10/81ac2f943f5428a46bd4ea2561c74ba674a107d8e6cc70cd317d16892a36ff3ba0dc6e599aca8b6f8668d26c85288394c6edf7a40e985ca843acab3701b80d4c languageName: node linkType: hard -"listr2@npm:7.0.1": - version: 7.0.1 - resolution: "listr2@npm:7.0.1" +"load-plugin@npm:^6.0.0": + version: 6.0.3 + resolution: "load-plugin@npm:6.0.3" dependencies: - cli-truncate: "npm:^3.1.0" - colorette: "npm:^2.0.20" - eventemitter3: "npm:^5.0.1" - log-update: "npm:^5.0.1" - rfdc: "npm:^1.3.0" - wrap-ansi: "npm:^8.1.0" - checksum: e94e6e20ebf991f9eae990c97a013a80bc2e22cb0baea708f4100e25ce239163813df46e6c2a01633253c3ec745400563e15812fb38f5f9a70d48ae15b20d54f - languageName: node - linkType: hard - -"local-pkg@npm:^0.4.3": - version: 0.4.3 - resolution: "local-pkg@npm:0.4.3" - checksum: 48f38c12721881370bca50ed3b5e3cc6fef741cfb4de7e48666f6ded07c1aaea53cf770cfef84a89bed286c17631111bf99a86241ddf6f679408c79c56f29560 + "@npmcli/config": "npm:^8.0.0" + import-meta-resolve: "npm:^4.0.0" + checksum: 10/b348f8751508020e9344b29178f7032647f1a1c9614356d6b993c06589cfb08306deb76f560cfe3fce21c976b2378f0206d581b6d1d2563abf550e4468608adc languageName: node linkType: hard @@ -6077,7 +6784,7 @@ __metadata: resolution: "locate-path@npm:5.0.0" dependencies: p-locate: "npm:^4.1.0" - checksum: 83e51725e67517287d73e1ded92b28602e3ae5580b301fe54bfb76c0c723e3f285b19252e375712316774cf52006cb236aed5704692c32db0d5d089b69696e30 + checksum: 10/83e51725e67517287d73e1ded92b28602e3ae5580b301fe54bfb76c0c723e3f285b19252e375712316774cf52006cb236aed5704692c32db0d5d089b69696e30 languageName: node linkType: hard @@ -6086,132 +6793,107 @@ __metadata: resolution: "locate-path@npm:6.0.0" dependencies: p-locate: "npm:^5.0.0" - checksum: 72eb661788a0368c099a184c59d2fee760b3831c9c1c33955e8a19ae4a21b4116e53fa736dc086cdeb9fce9f7cc508f2f92d2d3aae516f133e16a2bb59a39f5a + checksum: 10/72eb661788a0368c099a184c59d2fee760b3831c9c1c33955e8a19ae4a21b4116e53fa736dc086cdeb9fce9f7cc508f2f92d2d3aae516f133e16a2bb59a39f5a languageName: node linkType: hard -"locate-path@npm:^7.1.0": +"locate-path@npm:^7.2.0": version: 7.2.0 resolution: "locate-path@npm:7.2.0" dependencies: p-locate: "npm:^6.0.0" - checksum: 1c6d269d4efec555937081be964e8a9b4a136319c79ca1d45ac6382212a8466113c75bd89e44521ca8ecd1c47fb08523b56eee5c0712bc7d14fec5f729deeb42 - languageName: node - linkType: hard - -"lodash-es@npm:4.17.21": - version: 4.17.21 - resolution: "lodash-es@npm:4.17.21" - checksum: 03f39878ea1e42b3199bd3f478150ab723f93cc8730ad86fec1f2804f4a07c6e30deaac73cad53a88e9c3db33348bb8ceeb274552390e7a75d7849021c02df43 + checksum: 10/1c6d269d4efec555937081be964e8a9b4a136319c79ca1d45ac6382212a8466113c75bd89e44521ca8ecd1c47fb08523b56eee5c0712bc7d14fec5f729deeb42 languageName: node linkType: hard "lodash.camelcase@npm:^4.3.0": version: 4.3.0 resolution: "lodash.camelcase@npm:4.3.0" - checksum: c301cc379310441dc73cd6cebeb91fb254bea74e6ad3027f9346fc43b4174385153df420ffa521654e502fd34c40ef69ca4e7d40ee7129a99e06f306032bfc65 - languageName: node - linkType: hard - -"lodash.isfunction@npm:^3.0.9": - version: 3.0.9 - resolution: "lodash.isfunction@npm:3.0.9" - checksum: 99e54c34b1e8a9ba75c034deb39cedbd2aca7af685815e67a2a8ec4f73ec9748cda6ebee5a07d7de4b938e90d421fd280e9c385cc190f903ac217ac8aff30314 + checksum: 10/c301cc379310441dc73cd6cebeb91fb254bea74e6ad3027f9346fc43b4174385153df420ffa521654e502fd34c40ef69ca4e7d40ee7129a99e06f306032bfc65 languageName: node linkType: hard "lodash.isplainobject@npm:^4.0.6": version: 4.0.6 resolution: "lodash.isplainobject@npm:4.0.6" - checksum: 29c6351f281e0d9a1d58f1a4c8f4400924b4c79f18dfc4613624d7d54784df07efaff97c1ff2659f3e085ecf4fff493300adc4837553104cef2634110b0d5337 + checksum: 10/29c6351f281e0d9a1d58f1a4c8f4400924b4c79f18dfc4613624d7d54784df07efaff97c1ff2659f3e085ecf4fff493300adc4837553104cef2634110b0d5337 languageName: node linkType: hard "lodash.kebabcase@npm:^4.1.1": version: 4.1.1 resolution: "lodash.kebabcase@npm:4.1.1" - checksum: d84ec5441ef8e5c718c50315f35b0a045a77c7e8ee3e54472c06dc31f6f3602e95551a16c0923d689198b51deb8902c4bbc54fc9b965b26c1f86e21df3a05f34 + checksum: 10/d84ec5441ef8e5c718c50315f35b0a045a77c7e8ee3e54472c06dc31f6f3602e95551a16c0923d689198b51deb8902c4bbc54fc9b965b26c1f86e21df3a05f34 languageName: node linkType: hard "lodash.merge@npm:^4.6.2": version: 4.6.2 resolution: "lodash.merge@npm:4.6.2" - checksum: d0ea2dd0097e6201be083865d50c3fb54fbfbdb247d9cc5950e086c991f448b7ab0cdab0d57eacccb43473d3f2acd21e134db39f22dac2d6c9ba6bf26978e3d6 + checksum: 10/d0ea2dd0097e6201be083865d50c3fb54fbfbdb247d9cc5950e086c991f448b7ab0cdab0d57eacccb43473d3f2acd21e134db39f22dac2d6c9ba6bf26978e3d6 languageName: node linkType: hard "lodash.mergewith@npm:^4.6.2": version: 4.6.2 resolution: "lodash.mergewith@npm:4.6.2" - checksum: aea75a4492541a4902ac7e551dc6c54b722da0c187f84385d02e8fc33a7ae3454b837822446e5f63fcd5ad1671534ea408740b776670ea4d9c7890b10105fce0 + checksum: 10/aea75a4492541a4902ac7e551dc6c54b722da0c187f84385d02e8fc33a7ae3454b837822446e5f63fcd5ad1671534ea408740b776670ea4d9c7890b10105fce0 languageName: node linkType: hard "lodash.snakecase@npm:^4.1.1": version: 4.1.1 resolution: "lodash.snakecase@npm:4.1.1" - checksum: 82ed40935d840477ef8fee64f9f263f75989c6cde36b84aae817246d95826228e1b5a7f6093c51de324084f86433634c7af244cb89496633cacfe443071450d0 + checksum: 10/82ed40935d840477ef8fee64f9f263f75989c6cde36b84aae817246d95826228e1b5a7f6093c51de324084f86433634c7af244cb89496633cacfe443071450d0 languageName: node linkType: hard "lodash.startcase@npm:^4.4.0": version: 4.4.0 resolution: "lodash.startcase@npm:4.4.0" - checksum: 3091048a54a2f92bcf2c6441d2bd9a706fb133d5f461ae7c310d6dca1530338a06c91e9e42a5b14b12e875ddae1814d448050dc02afe2cec09b3995d8e836837 + checksum: 10/3091048a54a2f92bcf2c6441d2bd9a706fb133d5f461ae7c310d6dca1530338a06c91e9e42a5b14b12e875ddae1814d448050dc02afe2cec09b3995d8e836837 languageName: node linkType: hard "lodash.uniq@npm:^4.5.0": version: 4.5.0 resolution: "lodash.uniq@npm:4.5.0" - checksum: 86246ca64ac0755c612e5df6d93cfe92f9ecac2e5ff054b965efbbb1d9a647b6310969e78545006f70f52760554b03233ad0103324121ae31474c20d5f7a2812 + checksum: 10/86246ca64ac0755c612e5df6d93cfe92f9ecac2e5ff054b965efbbb1d9a647b6310969e78545006f70f52760554b03233ad0103324121ae31474c20d5f7a2812 languageName: node linkType: hard "lodash.upperfirst@npm:^4.3.1": version: 4.3.1 resolution: "lodash.upperfirst@npm:4.3.1" - checksum: 3e849d4eb4dbf26faee6435edda8e707b65a5dbd2f10f8def5a16a57bbbf38d3b7506950f0dd455e9c46ba73af35f1de75df4ef83952106949413d64eed59333 + checksum: 10/3e849d4eb4dbf26faee6435edda8e707b65a5dbd2f10f8def5a16a57bbbf38d3b7506950f0dd455e9c46ba73af35f1de75df4ef83952106949413d64eed59333 languageName: node linkType: hard -"lodash@npm:^4.17.15, lodash@npm:^4.17.19, lodash@npm:^4.17.21": +"lodash@npm:^4.17.15, lodash@npm:^4.17.21": version: 4.17.21 resolution: "lodash@npm:4.17.21" - checksum: c08619c038846ea6ac754abd6dd29d2568aa705feb69339e836dfa8d8b09abbb2f859371e86863eda41848221f9af43714491467b5b0299122431e202bb0c532 + checksum: 10/c08619c038846ea6ac754abd6dd29d2568aa705feb69339e836dfa8d8b09abbb2f859371e86863eda41848221f9af43714491467b5b0299122431e202bb0c532 languageName: node linkType: hard -"log-symbols@npm:^4.0.0": - version: 4.1.0 - resolution: "log-symbols@npm:4.1.0" - dependencies: - chalk: "npm:^4.1.0" - is-unicode-supported: "npm:^0.1.0" - checksum: fce1497b3135a0198803f9f07464165e9eb83ed02ceb2273930a6f8a508951178d8cf4f0378e9d28300a2ed2bc49050995d2bd5f53ab716bb15ac84d58c6ef74 +"longest-streak@npm:^3.0.0": + version: 3.1.0 + resolution: "longest-streak@npm:3.1.0" + checksum: 10/d7f952ed004cbdb5c8bcfc4f7f5c3d65449e6c5a9e9be4505a656e3df5a57ee125f284286b4bf8ecea0c21a7b3bf2b8f9001ad506c319b9815ad6a63a47d0fd0 languageName: node linkType: hard -"log-update@npm:^5.0.1": - version: 5.0.1 - resolution: "log-update@npm:5.0.1" - dependencies: - ansi-escapes: "npm:^5.0.0" - cli-cursor: "npm:^4.0.0" - slice-ansi: "npm:^5.0.0" - strip-ansi: "npm:^7.0.1" - wrap-ansi: "npm:^8.0.1" - checksum: 0e154e46744125b6d20c30289e90091794d58b83c2f01d7676da2afa2411c6ec2c3ee2c99753b9c6b896b9ee496a9a403a563330a2d5914a3bdb30e836f17cfb +"loupe@npm:^3.1.0, loupe@npm:^3.1.2": + version: 3.1.2 + resolution: "loupe@npm:3.1.2" + checksum: 10/8f5734e53fb64cd914aa7d986e01b6d4c2e3c6c56dcbd5428d71c2703f0ab46b5ab9f9eeaaf2b485e8a1c43f865bdd16ec08ae1a661c8f55acdbd9f4d59c607a languageName: node linkType: hard -"loupe@npm:^2.3.1, loupe@npm:^2.3.6": - version: 2.3.6 - resolution: "loupe@npm:2.3.6" - dependencies: - get-func-name: "npm:^2.0.0" - checksum: 8e695f3c99d9670d524767bc2bcbf799444b865d1d05e974d6dc53d72863c2ce9990103f311f89f04019f064e5ae7bbe70f3fba030a57d65aacfb951aad34d9f +"lru-cache@npm:^10.0.1, lru-cache@npm:^10.2.0, lru-cache@npm:^10.4.3": + version: 10.4.3 + resolution: "lru-cache@npm:10.4.3" + checksum: 10/e6e90267360476720fa8e83cc168aa2bf0311f3f2eea20a6ba78b90a885ae72071d9db132f40fda4129c803e7dcec3a6b6a6fbb44ca90b081630b810b5d6a41a languageName: node linkType: hard @@ -6220,30 +6902,34 @@ __metadata: resolution: "lru-cache@npm:6.0.0" dependencies: yallist: "npm:^4.0.0" - checksum: fc1fe2ee205f7c8855fa0f34c1ab0bcf14b6229e35579ec1fd1079f31d6fc8ef8eb6fd17f2f4d99788d7e339f50e047555551ebd5e434dda503696e7c6591825 + checksum: 10/fc1fe2ee205f7c8855fa0f34c1ab0bcf14b6229e35579ec1fd1079f31d6fc8ef8eb6fd17f2f4d99788d7e339f50e047555551ebd5e434dda503696e7c6591825 languageName: node linkType: hard "lru-cache@npm:^7.7.1": version: 7.18.3 resolution: "lru-cache@npm:7.18.3" - checksum: 6029ca5aba3aacb554e919d7ef804fffd4adfc4c83db00fac8248c7c78811fb6d4b6f70f7fd9d55032b3823446546a007edaa66ad1f2377ae833bd983fac5d98 + checksum: 10/6029ca5aba3aacb554e919d7ef804fffd4adfc4c83db00fac8248c7c78811fb6d4b6f70f7fd9d55032b3823446546a007edaa66ad1f2377ae833bd983fac5d98 languageName: node linkType: hard -"lru-cache@npm:^9.1.1 || ^10.0.0": - version: 10.0.1 - resolution: "lru-cache@npm:10.0.1" - checksum: 5bb91a97a342a41fd049c3494b44d9e21a7d4843f9284d0a0b26f00bb0e436f1f627d0641c78f88be16b86b4231546c5ee4f284733fb530c7960f0bcd7579026 +"magic-string@npm:0.30.17, magic-string@npm:^0.30.17": + version: 0.30.17 + resolution: "magic-string@npm:0.30.17" + dependencies: + "@jridgewell/sourcemap-codec": "npm:^1.5.0" + checksum: 10/2f71af2b0afd78c2e9012a29b066d2c8ba45a9cd0c8070f7fd72de982fb1c403b4e3afdb1dae00691d56885ede66b772ef6bedf765e02e3a7066208fe2fec4aa languageName: node linkType: hard -"magic-string@npm:^0.30.1": - version: 0.30.3 - resolution: "magic-string@npm:0.30.3" +"magicast@npm:^0.3.5": + version: 0.3.5 + resolution: "magicast@npm:0.3.5" dependencies: - "@jridgewell/sourcemap-codec": "npm:^1.4.15" - checksum: f3c546b9be20d0f4b2f0a10fe0ad7b994d438c02e089a0777fd8128a00f76bd2004b13d5cd7219aa5cf445dc5fb84e915e48017d7a4cd20fa98ce8052cc15370 + "@babel/parser": "npm:^7.25.4" + "@babel/types": "npm:^7.25.4" + source-map-js: "npm:^1.2.0" + checksum: 10/3a2dba6b0bdde957797361d09c7931ebdc1b30231705360eeb40ed458d28e1c3112841c3ed4e1b87ceb28f741e333c7673cd961193aa9fdb4f4946b202e6205a languageName: node linkType: hard @@ -6252,14 +6938,7 @@ __metadata: resolution: "make-dir@npm:4.0.0" dependencies: semver: "npm:^7.5.3" - checksum: bf0731a2dd3aab4db6f3de1585cea0b746bb73eb5a02e3d8d72757e376e64e6ada190b1eddcde5b2f24a81b688a9897efd5018737d05e02e2a671dda9cff8a8a - languageName: node - linkType: hard - -"make-error@npm:^1.1.1": - version: 1.3.6 - resolution: "make-error@npm:1.3.6" - checksum: b86e5e0e25f7f777b77fabd8e2cbf15737972869d852a22b7e73c17623928fccb826d8e46b9951501d3f20e51ad74ba8c59ed584f610526a48f8ccf88aaec402 + checksum: 10/bf0731a2dd3aab4db6f3de1585cea0b746bb73eb5a02e3d8d72757e376e64e6ada190b1eddcde5b2f24a81b688a9897efd5018737d05e02e2a671dda9cff8a8a languageName: node linkType: hard @@ -6282,78 +6961,84 @@ __metadata: promise-retry: "npm:^2.0.1" socks-proxy-agent: "npm:^7.0.0" ssri: "npm:^10.0.0" - checksum: b4b442cfaaec81db159f752a5f2e3ee3d7aa682782868fa399200824ec6298502e01bdc456e443dc219bcd5546c8e4471644d54109c8599841dc961d17a805fa + checksum: 10/b4b442cfaaec81db159f752a5f2e3ee3d7aa682782868fa399200824ec6298502e01bdc456e443dc219bcd5546c8e4471644d54109c8599841dc961d17a805fa languageName: node linkType: hard -"map-obj@npm:^1.0.0": - version: 1.0.1 - resolution: "map-obj@npm:1.0.1" - checksum: f8e6fc7f6137329c376c4524f6d25b3c243c17019bc8f621d15a2dcb855919e482a9298a78ae58b00dbd0e76b640bf6533aa343a9e993cfc16e0346a2507e7f8 +"markdown-extensions@npm:^2.0.0": + version: 2.0.0 + resolution: "markdown-extensions@npm:2.0.0" + checksum: 10/ec4ffcb0768f112e778e7ac74cb8ef22a966c168c3e6c29829f007f015b0a0b5c79c73ee8599a0c72e440e7f5cfdbf19e80e2d77b9a313b8f66e180a330cf1b2 languageName: node linkType: hard -"map-obj@npm:^4.0.0, map-obj@npm:^4.1.0": - version: 4.3.0 - resolution: "map-obj@npm:4.3.0" - checksum: fbc554934d1a27a1910e842bc87b177b1a556609dd803747c85ece420692380827c6ae94a95cce4407c054fa0964be3bf8226f7f2cb2e9eeee432c7c1985684e +"markdown-table@npm:^3.0.0": + version: 3.0.3 + resolution: "markdown-table@npm:3.0.3" + checksum: 10/ee6e661935c85734620d2fd10e237a60ae2992ef861713b71aa66135a5d5ae957cf06ce5e15fedf3ed1fce839dd7af1f9e87c5729186490f69fa9469e8e5c3e8 languageName: node linkType: hard -"markdown-it@npm:13.0.1": - version: 13.0.1 - resolution: "markdown-it@npm:13.0.1" +"marked-terminal@npm:^7.1.0": + version: 7.1.0 + resolution: "marked-terminal@npm:7.1.0" dependencies: - argparse: "npm:^2.0.1" - entities: "npm:~3.0.1" - linkify-it: "npm:^4.0.1" - mdurl: "npm:^1.0.1" - uc.micro: "npm:^1.0.5" - bin: - markdown-it: bin/markdown-it.js - checksum: ebe2cfd515c23d2d88692efac41e4070fcd2e932af15e5455e73e1a47f1f86298a4aacb2de3b5cc647a409bed5951739980c02dbf7d34f78e25554d8742751db + ansi-escapes: "npm:^7.0.0" + chalk: "npm:^5.3.0" + cli-highlight: "npm:^2.1.11" + cli-table3: "npm:^0.6.5" + node-emoji: "npm:^2.1.3" + supports-hyperlinks: "npm:^3.0.0" + peerDependencies: + marked: ">=1 <14" + checksum: 10/6afe0781c4935b2985152f55a0fe04a3a3eb5475da4a40a98e50ab3f2c011f554d089cf43736ce0b9e44142f7f3463b7de50af70b8e2169c4c3ac65fff69fd46 languageName: node linkType: hard -"markdownlint-micromark@npm:0.1.5": - version: 0.1.5 - resolution: "markdownlint-micromark@npm:0.1.5" - checksum: 48a69a987c6cd3936126a8c68cc3ac8580a1b342e52853d0dc617ceb82d6c3cb96e3ce3cc9e6f827da61eaa9ab273ebcb7dcc519311ebea45383212ad8b5e6cd +"marked@npm:^9.1.2": + version: 9.1.6 + resolution: "marked@npm:9.1.6" + bin: + marked: bin/marked.js + checksum: 10/29d073500c70b6b53cd35a8d19f5e43df6e2819ddeca8848a31901b87b82ca0ea46a8a831920c656c69c33ad5dce4b75654c4c4ced34a67f4e4e4a31c7620cfe languageName: node linkType: hard -"markdownlint@npm:0.29.0": - version: 0.29.0 - resolution: "markdownlint@npm:0.29.0" +"mdast-comment-marker@npm:^3.0.0": + version: 3.0.0 + resolution: "mdast-comment-marker@npm:3.0.0" dependencies: - markdown-it: "npm:13.0.1" - markdownlint-micromark: "npm:0.1.5" - checksum: 9fca9faf3cf1619acb554f8352500e9f5fe108b21968dd63b65a8b32622c7f44c0e1fc6aaadfd6ccd5e5b48f6bed8046a0626b8c642c5cae1c9aed033a9adc5e + "@types/mdast": "npm:^4.0.0" + mdast-util-mdx-expression: "npm:^2.0.0" + checksum: 10/4a01899f50301c542a054ede974a1bc481de1b7c798c13974bde9e34c006ec744d937c24eb7b7595a26f491f3558848621f6c81e7576702e3b89822b6f923268 languageName: node linkType: hard -"marked-terminal@npm:^5.2.0": - version: 5.2.0 - resolution: "marked-terminal@npm:5.2.0" +"mdast-util-directive@npm:^3.0.0": + version: 3.0.0 + resolution: "mdast-util-directive@npm:3.0.0" dependencies: - ansi-escapes: "npm:^6.2.0" - cardinal: "npm:^2.1.1" - chalk: "npm:^5.2.0" - cli-table3: "npm:^0.6.3" - node-emoji: "npm:^1.11.0" - supports-hyperlinks: "npm:^2.3.0" - peerDependencies: - marked: ^1.0.0 || ^2.0.0 || ^3.0.0 || ^4.0.0 || ^5.0.0 - checksum: 81dc91485f4e987edadb18fded71d36344cabe7ec2e8ced1945c3ad186957a7ac1f3be7fe413383ab51ed474cc1fe81bcfb3de1fd5db7f114f90f195d70df1eb + "@types/mdast": "npm:^4.0.0" + "@types/unist": "npm:^3.0.0" + devlop: "npm:^1.0.0" + mdast-util-from-markdown: "npm:^2.0.0" + mdast-util-to-markdown: "npm:^2.0.0" + parse-entities: "npm:^4.0.0" + stringify-entities: "npm:^4.0.0" + unist-util-visit-parents: "npm:^6.0.0" + checksum: 10/a205af936302467648b6007704b40e31a822016789402cbcb0239d23ce7a48e676db1cd6792c9318c1047a47c5b3956b2bd0053f14c8d257528404d6bf9b9ab4 languageName: node linkType: hard -"marked@npm:^5.1.0": - version: 5.1.2 - resolution: "marked@npm:5.1.2" - bin: - marked: bin/marked.js - checksum: e51d15f79c9b2a93e8bd801cfc0f1924027f0bf9ae12c237300d34363edf9dacdfa27de0659074ade78f2ba747cdb1c8246aef144f9ccf91600ee71c87e4d169 +"mdast-util-find-and-replace@npm:^3.0.0": + version: 3.0.1 + resolution: "mdast-util-find-and-replace@npm:3.0.1" + dependencies: + "@types/mdast": "npm:^4.0.0" + escape-string-regexp: "npm:^5.0.0" + unist-util-is: "npm:^6.0.0" + unist-util-visit-parents: "npm:^6.0.0" + checksum: 10/2a9bbf5508ffd6dc63d9b0067398503a017e909ff60ac8234c518fcdacf9df13a48ea26bd382402bfce398b824ec41b3911b2004785e98f9a2c80ee6b34bb9bd languageName: node linkType: hard @@ -6366,1238 +7051,2870 @@ __metadata: micromark: "npm:~2.11.0" parse-entities: "npm:^2.0.0" unist-util-stringify-position: "npm:^2.0.0" - checksum: f42166eb7a3c2a8cf17dffd868a6dfdab6a77d4e4c8f35d7c3d63247a16ddfeae45a59d9f5fa5eacc48d76d82d18cb0157961d03d1732bc616f9ddf3bb450984 + checksum: 10/f42166eb7a3c2a8cf17dffd868a6dfdab6a77d4e4c8f35d7c3d63247a16ddfeae45a59d9f5fa5eacc48d76d82d18cb0157961d03d1732bc616f9ddf3bb450984 languageName: node linkType: hard -"mdast-util-to-string@npm:^2.0.0": - version: 2.0.0 - resolution: "mdast-util-to-string@npm:2.0.0" - checksum: 0b2113ada10e002fbccb014170506dabe2f2ddacaacbe4bc1045c33f986652c5a162732a2c057c5335cdb58419e2ad23e368e5be226855d4d4e280b81c4e9ec2 +"mdast-util-from-markdown@npm:^2.0.0": + version: 2.0.1 + resolution: "mdast-util-from-markdown@npm:2.0.1" + dependencies: + "@types/mdast": "npm:^4.0.0" + "@types/unist": "npm:^3.0.0" + decode-named-character-reference: "npm:^1.0.0" + devlop: "npm:^1.0.0" + mdast-util-to-string: "npm:^4.0.0" + micromark: "npm:^4.0.0" + micromark-util-decode-numeric-character-reference: "npm:^2.0.0" + micromark-util-decode-string: "npm:^2.0.0" + micromark-util-normalize-identifier: "npm:^2.0.0" + micromark-util-symbol: "npm:^2.0.0" + micromark-util-types: "npm:^2.0.0" + unist-util-stringify-position: "npm:^4.0.0" + checksum: 10/4172759cdd8cf9990701796c5617c8b6a4bd3f9863e730bb4e9689189daec80af3122e77eed2ab09090f1a2d396c4f5754416a41769d7c49efd165a1c0a033c8 languageName: node linkType: hard -"mdurl@npm:^1.0.1": - version: 1.0.1 - resolution: "mdurl@npm:1.0.1" - checksum: ada367d01c9e81d07328101f187d5bd8641b71f33eab075df4caed935a24fa679e625f07108801d8250a5e4a99e5cd4be7679957a11424a3aa3e740d2bb2d5cb +"mdast-util-frontmatter@npm:^2.0.0": + version: 2.0.1 + resolution: "mdast-util-frontmatter@npm:2.0.1" + dependencies: + "@types/mdast": "npm:^4.0.0" + devlop: "npm:^1.0.0" + escape-string-regexp: "npm:^5.0.0" + mdast-util-from-markdown: "npm:^2.0.0" + mdast-util-to-markdown: "npm:^2.0.0" + micromark-extension-frontmatter: "npm:^2.0.0" + checksum: 10/afd9486af6ea74a94d84a225c367ab810ad4439683ecafc1ce9fc7bb0ecacaafac82e0af529974489c145824b242509f9387f833fc01a14a83a978049772ef80 languageName: node linkType: hard -"memfs@npm:4.6.0": - version: 4.6.0 - resolution: "memfs@npm:4.6.0" +"mdast-util-gfm-autolink-literal@npm:^2.0.0": + version: 2.0.0 + resolution: "mdast-util-gfm-autolink-literal@npm:2.0.0" dependencies: - json-joy: "npm:^9.2.0" - thingies: "npm:^1.11.1" - peerDependencies: - tslib: 2 - checksum: 640071c277821a5a1564795caf2cc264e383733b94d259abebc5f21f6832789bdf13ce873468383111685d49657f2e9f29fc85c7bb64ff55757bed186cf074ff + "@types/mdast": "npm:^4.0.0" + ccount: "npm:^2.0.0" + devlop: "npm:^1.0.0" + mdast-util-find-and-replace: "npm:^3.0.0" + micromark-util-character: "npm:^2.0.0" + checksum: 10/08656ea3a5b53376a3a09082c7017e4887c1dde00b2c21aee68440d47d9151485347745db49cc05138ce3b6b7760d9700362212685a3644a170344dc4330b696 languageName: node linkType: hard -"meow@npm:^10.1.2": - version: 10.1.5 - resolution: "meow@npm:10.1.5" +"mdast-util-gfm-footnote@npm:^2.0.0": + version: 2.0.0 + resolution: "mdast-util-gfm-footnote@npm:2.0.0" dependencies: - "@types/minimist": "npm:^1.2.2" - camelcase-keys: "npm:^7.0.0" - decamelize: "npm:^5.0.0" - decamelize-keys: "npm:^1.1.0" - hard-rejection: "npm:^2.1.0" - minimist-options: "npm:4.1.0" - normalize-package-data: "npm:^3.0.2" - read-pkg-up: "npm:^8.0.0" - redent: "npm:^4.0.0" - trim-newlines: "npm:^4.0.2" - type-fest: "npm:^1.2.2" - yargs-parser: "npm:^20.2.9" - checksum: 4d6d4c233b9405bace4fd6c60db0b5806d7186a047852ddce0748e56a57c75d4fef3ab2603a480bd74595e4e8e3a47b932d737397a62e043da1d3187f1240ff4 + "@types/mdast": "npm:^4.0.0" + devlop: "npm:^1.1.0" + mdast-util-from-markdown: "npm:^2.0.0" + mdast-util-to-markdown: "npm:^2.0.0" + micromark-util-normalize-identifier: "npm:^2.0.0" + checksum: 10/9a820ce66575f1dc5bcc1e3269f27777a96f462f84651e72a74319d313f8fe4043fe329169bcc80ec2f210dabb84c832c77fa386ab9b4d23c31379d9bf0f8ff6 languageName: node linkType: hard -"meow@npm:^12.0.1": - version: 12.1.1 - resolution: "meow@npm:12.1.1" - checksum: 8594c319f4671a562c1fef584422902f1bbbad09ea49cdf9bb26dc92f730fa33398dd28a8cf34fcf14167f1d1148d05a867e50911fc4286751a4fb662fdd2dc2 +"mdast-util-gfm-strikethrough@npm:^2.0.0": + version: 2.0.0 + resolution: "mdast-util-gfm-strikethrough@npm:2.0.0" + dependencies: + "@types/mdast": "npm:^4.0.0" + mdast-util-from-markdown: "npm:^2.0.0" + mdast-util-to-markdown: "npm:^2.0.0" + checksum: 10/b1abc137d78270540585ad94a7a4ed1630683312690b902389dae0ede50a6832e26d1be053687f49728e14fa8a379da9384342725d3beb4480fc30b12866ab37 languageName: node linkType: hard -"meow@npm:^8.0.0, meow@npm:^8.1.2": - version: 8.1.2 - resolution: "meow@npm:8.1.2" +"mdast-util-gfm-table@npm:^2.0.0": + version: 2.0.0 + resolution: "mdast-util-gfm-table@npm:2.0.0" dependencies: - "@types/minimist": "npm:^1.2.0" - camelcase-keys: "npm:^6.2.2" - decamelize-keys: "npm:^1.1.0" - hard-rejection: "npm:^2.1.0" - minimist-options: "npm:4.1.0" - normalize-package-data: "npm:^3.0.0" - read-pkg-up: "npm:^7.0.1" - redent: "npm:^3.0.0" - trim-newlines: "npm:^3.0.0" - type-fest: "npm:^0.18.0" - yargs-parser: "npm:^20.2.3" - checksum: d4770f90135c0ef4d0f4fa4f4310a18c07bbbe408221fa79a68fda93944134001ffc24ed605e7668f61e920dd8db30936548e927d2331b0e30699d56247f9873 + "@types/mdast": "npm:^4.0.0" + devlop: "npm:^1.0.0" + markdown-table: "npm:^3.0.0" + mdast-util-from-markdown: "npm:^2.0.0" + mdast-util-to-markdown: "npm:^2.0.0" + checksum: 10/a043d60d723a86f79c49cbdd1d98b80c89f4a8f9f5fa84b3880c53e132f40150972460aba9be1f44a612ef5abd6810d122c5e7e5d9c54f3ac7560cce8c305c75 languageName: node linkType: hard -"merge-stream@npm:^2.0.0": +"mdast-util-gfm-task-list-item@npm:^2.0.0": version: 2.0.0 - resolution: "merge-stream@npm:2.0.0" - checksum: 6fa4dcc8d86629705cea944a4b88ef4cb0e07656ebf223fa287443256414283dd25d91c1cd84c77987f2aec5927af1a9db6085757cb43d90eb170ebf4b47f4f4 + resolution: "mdast-util-gfm-task-list-item@npm:2.0.0" + dependencies: + "@types/mdast": "npm:^4.0.0" + devlop: "npm:^1.0.0" + mdast-util-from-markdown: "npm:^2.0.0" + mdast-util-to-markdown: "npm:^2.0.0" + checksum: 10/679a3ff09b52015c0088cd0616ccecc7cc9d250d56a8762aafdffc640f3f607bbd9fe047d3e7e7078e6a996e83f677be3bfcad7ac7260563825fa80a04f8e09d languageName: node linkType: hard -"merge2@npm:^1.3.0, merge2@npm:^1.4.1": - version: 1.4.1 - resolution: "merge2@npm:1.4.1" - checksum: 7268db63ed5169466540b6fb947aec313200bcf6d40c5ab722c22e242f651994619bcd85601602972d3c85bd2cc45a358a4c61937e9f11a061919a1da569b0c2 +"mdast-util-gfm@npm:^3.0.0": + version: 3.0.0 + resolution: "mdast-util-gfm@npm:3.0.0" + dependencies: + mdast-util-from-markdown: "npm:^2.0.0" + mdast-util-gfm-autolink-literal: "npm:^2.0.0" + mdast-util-gfm-footnote: "npm:^2.0.0" + mdast-util-gfm-strikethrough: "npm:^2.0.0" + mdast-util-gfm-table: "npm:^2.0.0" + mdast-util-gfm-task-list-item: "npm:^2.0.0" + mdast-util-to-markdown: "npm:^2.0.0" + checksum: 10/3e0c8e9982d3df6e9235d862cb4a2a02cf54d11e9e65f9d139d217e9b7973bb49ef4b8ee49ec05d29bdd9fe3e5f7efe1c3ebdf40a950e9f553dfc25235ebbcc2 languageName: node linkType: hard -"micromark@npm:~2.11.0": - version: 2.11.4 - resolution: "micromark@npm:2.11.4" +"mdast-util-heading-style@npm:^3.0.0": + version: 3.0.0 + resolution: "mdast-util-heading-style@npm:3.0.0" dependencies: - debug: "npm:^4.0.0" - parse-entities: "npm:^2.0.0" - checksum: cd3bcbc4c113c74d0897e7787103eb9c92c86974b0af1f87d2079b34f1543511a1e72face3f80c1d47c6614c2eaf860d94eee8c06f80dc48bc2441691576364b + "@types/mdast": "npm:^4.0.0" + checksum: 10/ba6b21f0f778b9328b850b86ec3bf5cb3e1787ec4f2a08f5335a9b261dc86513df687f4dda2a1126e312881619624bb4bb9b2623cb888a6ccc8159fba35efeff languageName: node linkType: hard -"micromatch@npm:4.0.5, micromatch@npm:^4.0.4, micromatch@npm:^4.0.5": - version: 4.0.5 - resolution: "micromatch@npm:4.0.5" +"mdast-util-math@npm:^3.0.0": + version: 3.0.0 + resolution: "mdast-util-math@npm:3.0.0" dependencies: - braces: "npm:^3.0.2" - picomatch: "npm:^2.3.1" - checksum: a749888789fc15cac0e03273844dbd749f9f8e8d64e70c564bcf06a033129554c789bb9e30d7566d7ff6596611a08e58ac12cf2a05f6e3c9c47c50c4c7e12fa2 + "@types/hast": "npm:^3.0.0" + "@types/mdast": "npm:^4.0.0" + devlop: "npm:^1.0.0" + longest-streak: "npm:^3.0.0" + mdast-util-from-markdown: "npm:^2.0.0" + mdast-util-to-markdown: "npm:^2.1.0" + unist-util-remove-position: "npm:^5.0.0" + checksum: 10/26f44933f3ae2bfce85df23e79cd31bcc42ef328eaeef70550f38310e29fc8eece5e79fc404ed1485fd38b9113e1817258ca6c1a602be82a933e0198d812c9af languageName: node linkType: hard -"mimic-fn@npm:^2.1.0": - version: 2.1.0 - resolution: "mimic-fn@npm:2.1.0" - checksum: d2421a3444848ce7f84bd49115ddacff29c15745db73f54041edc906c14b131a38d05298dae3081667627a59b2eb1ca4b436ff2e1b80f69679522410418b478a +"mdast-util-mdx-expression@npm:^2.0.0": + version: 2.0.0 + resolution: "mdast-util-mdx-expression@npm:2.0.0" + dependencies: + "@types/estree-jsx": "npm:^1.0.0" + "@types/hast": "npm:^3.0.0" + "@types/mdast": "npm:^4.0.0" + devlop: "npm:^1.0.0" + mdast-util-from-markdown: "npm:^2.0.0" + mdast-util-to-markdown: "npm:^2.0.0" + checksum: 10/378f3cbc899e95a07f3889e413ed353597331790fdbd6b9efd24bee4fb1eae11e10d35785a86e3967f301ad445b218a4d4f9af4f1453cc58e7c6a6c02a178a8a languageName: node linkType: hard -"mimic-fn@npm:^4.0.0": - version: 4.0.0 - resolution: "mimic-fn@npm:4.0.0" - checksum: 995dcece15ee29aa16e188de6633d43a3db4611bcf93620e7e62109ec41c79c0f34277165b8ce5e361205049766e371851264c21ac64ca35499acb5421c2ba56 +"mdast-util-mdx-jsx@npm:^3.0.0": + version: 3.1.2 + resolution: "mdast-util-mdx-jsx@npm:3.1.2" + dependencies: + "@types/estree-jsx": "npm:^1.0.0" + "@types/hast": "npm:^3.0.0" + "@types/mdast": "npm:^4.0.0" + "@types/unist": "npm:^3.0.0" + ccount: "npm:^2.0.0" + devlop: "npm:^1.1.0" + mdast-util-from-markdown: "npm:^2.0.0" + mdast-util-to-markdown: "npm:^2.0.0" + parse-entities: "npm:^4.0.0" + stringify-entities: "npm:^4.0.0" + unist-util-remove-position: "npm:^5.0.0" + unist-util-stringify-position: "npm:^4.0.0" + vfile-message: "npm:^4.0.0" + checksum: 10/b0b457b0fd8b2c71ff4136eac04428e1cfb5ed65918948c899c5907ba41373fdf790f0c29f5aa0125e03bfde02444589a6c59006929a76a176648a053d79931b + languageName: node + linkType: hard + +"mdast-util-mdx@npm:^3.0.0": + version: 3.0.0 + resolution: "mdast-util-mdx@npm:3.0.0" + dependencies: + mdast-util-from-markdown: "npm:^2.0.0" + mdast-util-mdx-expression: "npm:^2.0.0" + mdast-util-mdx-jsx: "npm:^3.0.0" + mdast-util-mdxjs-esm: "npm:^2.0.0" + mdast-util-to-markdown: "npm:^2.0.0" + checksum: 10/547d928f0d1e60d9087cd8ad301cdf2e1d14b094d2662a00292874b923bcb59323bdad3a29804c7f323ad78f4d3954361bfdaf4a9be765c4e6fe47a815df50c2 languageName: node linkType: hard -"min-indent@npm:^1.0.0, min-indent@npm:^1.0.1": - version: 1.0.1 - resolution: "min-indent@npm:1.0.1" - checksum: bfc6dd03c5eaf623a4963ebd94d087f6f4bbbfd8c41329a7f09706b0cb66969c4ddd336abeb587bc44bc6f08e13bf90f0b374f9d71f9f01e04adc2cd6f083ef1 +"mdast-util-mdxjs-esm@npm:^2.0.0": + version: 2.0.1 + resolution: "mdast-util-mdxjs-esm@npm:2.0.1" + dependencies: + "@types/estree-jsx": "npm:^1.0.0" + "@types/hast": "npm:^3.0.0" + "@types/mdast": "npm:^4.0.0" + devlop: "npm:^1.0.0" + mdast-util-from-markdown: "npm:^2.0.0" + mdast-util-to-markdown: "npm:^2.0.0" + checksum: 10/05474226e163a3f407fccb5780b0d8585a95e548e5da4a85227df43f281b940c7941a9a9d4af1be4f885fe554731647addb057a728e87aa1f503ff9cc72c9163 languageName: node linkType: hard -"minimatch@npm:9.0.2": - version: 9.0.2 - resolution: "minimatch@npm:9.0.2" +"mdast-util-phrasing@npm:^4.0.0": + version: 4.1.0 + resolution: "mdast-util-phrasing@npm:4.1.0" dependencies: - brace-expansion: "npm:^2.0.1" - checksum: b468863a8b5071ffdfd63ad2cbe01c2b708807d80907036102b3c1499502fcc6d8965f571707f8ff820aa23c67784344a77cc2c3e0e9ec7778dab56f76a61595 + "@types/mdast": "npm:^4.0.0" + unist-util-is: "npm:^6.0.0" + checksum: 10/3a97533e8ad104a422f8bebb34b3dde4f17167b8ed3a721cf9263c7416bd3447d2364e6d012a594aada40cac9e949db28a060bb71a982231693609034ed5324e languageName: node linkType: hard -"minimatch@npm:^3.0.4, minimatch@npm:^3.0.5, minimatch@npm:^3.1.1, minimatch@npm:^3.1.2": - version: 3.1.2 - resolution: "minimatch@npm:3.1.2" +"mdast-util-to-hast@npm:^13.0.0": + version: 13.2.0 + resolution: "mdast-util-to-hast@npm:13.2.0" dependencies: - brace-expansion: "npm:^1.1.7" - checksum: e0b25b04cd4ec6732830344e5739b13f8690f8a012d73445a4a19fbc623f5dd481ef7a5827fde25954cd6026fede7574cc54dc4643c99d6c6b653d6203f94634 + "@types/hast": "npm:^3.0.0" + "@types/mdast": "npm:^4.0.0" + "@ungap/structured-clone": "npm:^1.0.0" + devlop: "npm:^1.0.0" + micromark-util-sanitize-uri: "npm:^2.0.0" + trim-lines: "npm:^3.0.0" + unist-util-position: "npm:^5.0.0" + unist-util-visit: "npm:^5.0.0" + vfile: "npm:^6.0.0" + checksum: 10/b17ee338f843af31a1c7a2ebf0df6f0b41c9380b7119a63ab521d271df665456578e1234bb7617883e8d860fe878038dcf2b76ab2f21e0f7451215a096d26cce languageName: node linkType: hard -"minimatch@npm:^9.0.1": - version: 9.0.3 - resolution: "minimatch@npm:9.0.3" +"mdast-util-to-markdown@npm:^2.0.0, mdast-util-to-markdown@npm:^2.1.0": + version: 2.1.0 + resolution: "mdast-util-to-markdown@npm:2.1.0" dependencies: - brace-expansion: "npm:^2.0.1" - checksum: c81b47d28153e77521877649f4bab48348d10938df9e8147a58111fe00ef89559a2938de9f6632910c4f7bf7bb5cd81191a546167e58d357f0cfb1e18cecc1c5 + "@types/mdast": "npm:^4.0.0" + "@types/unist": "npm:^3.0.0" + longest-streak: "npm:^3.0.0" + mdast-util-phrasing: "npm:^4.0.0" + mdast-util-to-string: "npm:^4.0.0" + micromark-util-decode-string: "npm:^2.0.0" + unist-util-visit: "npm:^5.0.0" + zwitch: "npm:^2.0.0" + checksum: 10/1c66462feab6bf574566d8f20912ccb11d43f6658a93dee068610cd39a5d9377dfb34ea7109c9467d485466300a116e74236b174fcb9fc34f1d16fc3917e0d7c languageName: node linkType: hard -"minimist-options@npm:4.1.0": - version: 4.1.0 - resolution: "minimist-options@npm:4.1.0" +"mdast-util-to-string@npm:^2.0.0": + version: 2.0.0 + resolution: "mdast-util-to-string@npm:2.0.0" + checksum: 10/0b2113ada10e002fbccb014170506dabe2f2ddacaacbe4bc1045c33f986652c5a162732a2c057c5335cdb58419e2ad23e368e5be226855d4d4e280b81c4e9ec2 + languageName: node + linkType: hard + +"mdast-util-to-string@npm:^4.0.0": + version: 4.0.0 + resolution: "mdast-util-to-string@npm:4.0.0" dependencies: - arrify: "npm:^1.0.1" - is-plain-obj: "npm:^1.1.0" - kind-of: "npm:^6.0.3" - checksum: 8c040b3068811e79de1140ca2b708d3e203c8003eb9a414c1ab3cd467fc5f17c9ca02a5aef23bedc51a7f8bfbe77f87e9a7e31ec81fba304cda675b019496f4e + "@types/mdast": "npm:^4.0.0" + checksum: 10/f4a5dbb9ea03521d7d3e26a9ba5652a1d6fbd55706dddd2155427517085688830e0ecd3f12418cfd40892640886eb39a4034c3c967d85e01e2fa64cfb53cff05 languageName: node linkType: hard -"minimist@npm:^1.2.0, minimist@npm:^1.2.6": - version: 1.2.8 - resolution: "minimist@npm:1.2.8" - checksum: 908491b6cc15a6c440ba5b22780a0ba89b9810e1aea684e253e43c4e3b8d56ec1dcdd7ea96dde119c29df59c936cde16062159eae4225c691e19c70b432b6e6f +"meow@npm:^12.0.1": + version: 12.1.1 + resolution: "meow@npm:12.1.1" + checksum: 10/8594c319f4671a562c1fef584422902f1bbbad09ea49cdf9bb26dc92f730fa33398dd28a8cf34fcf14167f1d1148d05a867e50911fc4286751a4fb662fdd2dc2 languageName: node linkType: hard -"minipass-collect@npm:^1.0.2": - version: 1.0.2 - resolution: "minipass-collect@npm:1.0.2" - dependencies: - minipass: "npm:^3.0.0" - checksum: 14df761028f3e47293aee72888f2657695ec66bd7d09cae7ad558da30415fdc4752bbfee66287dcc6fd5e6a2fa3466d6c484dc1cbd986525d9393b9523d97f10 +"meow@npm:^13.2.0": + version: 13.2.0 + resolution: "meow@npm:13.2.0" + checksum: 10/4eff5bc921fed0b8a471ad79069d741a0210036d717547d0c7f36fdaf84ef7a3036225f38b6a53830d84dc9cbf8b944b097fde62381b8b5b215119e735ce1063 languageName: node linkType: hard -"minipass-fetch@npm:^3.0.0": - version: 3.0.4 - resolution: "minipass-fetch@npm:3.0.4" - dependencies: - encoding: "npm:^0.1.13" - minipass: "npm:^7.0.3" - minipass-sized: "npm:^1.0.3" - minizlib: "npm:^2.1.2" - dependenciesMeta: - encoding: - optional: true - checksum: 3edf72b900e30598567eafe96c30374432a8709e61bb06b87198fa3192d466777e2ec21c52985a0999044fa6567bd6f04651585983a1cbb27e2c1770a07ed2a2 +"merge-stream@npm:^2.0.0": + version: 2.0.0 + resolution: "merge-stream@npm:2.0.0" + checksum: 10/6fa4dcc8d86629705cea944a4b88ef4cb0e07656ebf223fa287443256414283dd25d91c1cd84c77987f2aec5927af1a9db6085757cb43d90eb170ebf4b47f4f4 languageName: node linkType: hard -"minipass-flush@npm:^1.0.5": - version: 1.0.5 - resolution: "minipass-flush@npm:1.0.5" - dependencies: - minipass: "npm:^3.0.0" - checksum: 56269a0b22bad756a08a94b1ffc36b7c9c5de0735a4dd1ab2b06c066d795cfd1f0ac44a0fcae13eece5589b908ecddc867f04c745c7009be0b566421ea0944cf +"merge2@npm:^1.3.0": + version: 1.4.1 + resolution: "merge2@npm:1.4.1" + checksum: 10/7268db63ed5169466540b6fb947aec313200bcf6d40c5ab722c22e242f651994619bcd85601602972d3c85bd2cc45a358a4c61937e9f11a061919a1da569b0c2 languageName: node linkType: hard -"minipass-pipeline@npm:^1.2.4": - version: 1.2.4 - resolution: "minipass-pipeline@npm:1.2.4" +"micromark-core-commonmark@npm:^2.0.0": + version: 2.0.1 + resolution: "micromark-core-commonmark@npm:2.0.1" + dependencies: + decode-named-character-reference: "npm:^1.0.0" + devlop: "npm:^1.0.0" + micromark-factory-destination: "npm:^2.0.0" + micromark-factory-label: "npm:^2.0.0" + micromark-factory-space: "npm:^2.0.0" + micromark-factory-title: "npm:^2.0.0" + micromark-factory-whitespace: "npm:^2.0.0" + micromark-util-character: "npm:^2.0.0" + micromark-util-chunked: "npm:^2.0.0" + micromark-util-classify-character: "npm:^2.0.0" + micromark-util-html-tag-name: "npm:^2.0.0" + micromark-util-normalize-identifier: "npm:^2.0.0" + micromark-util-resolve-all: "npm:^2.0.0" + micromark-util-subtokenize: "npm:^2.0.0" + micromark-util-symbol: "npm:^2.0.0" + micromark-util-types: "npm:^2.0.0" + checksum: 10/15e788b3222401572ff8f549f8ecba21fa3395c000b8005e47204e8c97200e98bb0652c2c648e357b0996f1b50a7a63cc43e849f2976e4845b4453049040f8cc + languageName: node + linkType: hard + +"micromark-extension-directive@npm:^3.0.0": + version: 3.0.1 + resolution: "micromark-extension-directive@npm:3.0.1" dependencies: - minipass: "npm:^3.0.0" - checksum: b14240dac0d29823c3d5911c286069e36d0b81173d7bdf07a7e4a91ecdef92cdff4baaf31ea3746f1c61e0957f652e641223970870e2353593f382112257971b + devlop: "npm:^1.0.0" + micromark-factory-space: "npm:^2.0.0" + micromark-factory-whitespace: "npm:^2.0.0" + micromark-util-character: "npm:^2.0.0" + micromark-util-symbol: "npm:^2.0.0" + micromark-util-types: "npm:^2.0.0" + parse-entities: "npm:^4.0.0" + checksum: 10/c5ff1c5ab0ddc8d27aee43c1f39b1e39c68d4219ed216322dee05cf77f8cdd324f8024f1c976fd65d69afec0ce5ee350df76b41b11fccf69b130a05b14702a51 languageName: node linkType: hard -"minipass-sized@npm:^1.0.3": - version: 1.0.3 - resolution: "minipass-sized@npm:1.0.3" +"micromark-extension-frontmatter@npm:^2.0.0": + version: 2.0.0 + resolution: "micromark-extension-frontmatter@npm:2.0.0" dependencies: - minipass: "npm:^3.0.0" - checksum: 40982d8d836a52b0f37049a0a7e5d0f089637298e6d9b45df9c115d4f0520682a78258905e5c8b180fb41b593b0a82cc1361d2c74b45f7ada66334f84d1ecfdd + fault: "npm:^2.0.0" + micromark-util-character: "npm:^2.0.0" + micromark-util-symbol: "npm:^2.0.0" + micromark-util-types: "npm:^2.0.0" + checksum: 10/55873937494e9bfe1cc8cba3c8710e14e85ad0c9f3bb859d367268fc2204f3fe2eb70f9f83e496de0d3ea79c468fe6df879f9d475c716644c2daa90056cc8374 languageName: node linkType: hard -"minipass@npm:^3.0.0": - version: 3.3.6 - resolution: "minipass@npm:3.3.6" +"micromark-extension-gfm-autolink-literal@npm:^2.0.0": + version: 2.1.0 + resolution: "micromark-extension-gfm-autolink-literal@npm:2.1.0" dependencies: - yallist: "npm:^4.0.0" - checksum: a5c6ef069f70d9a524d3428af39f2b117ff8cd84172e19b754e7264a33df460873e6eb3d6e55758531580970de50ae950c496256bb4ad3691a2974cddff189f0 + micromark-util-character: "npm:^2.0.0" + micromark-util-sanitize-uri: "npm:^2.0.0" + micromark-util-symbol: "npm:^2.0.0" + micromark-util-types: "npm:^2.0.0" + checksum: 10/933b9b96ca62cd50732d9e58ae90ba446f4314e0ecbff3127e9aae430d9a295346f88fb33b5532acaf648d659b0db92e0c00c2e9f504c0d7b8bb4553318cac50 languageName: node linkType: hard -"minipass@npm:^5.0.0": - version: 5.0.0 - resolution: "minipass@npm:5.0.0" - checksum: 61682162d29f45d3152b78b08bab7fb32ca10899bc5991ffe98afc18c9e9543bd1e3be94f8b8373ba6262497db63607079dc242ea62e43e7b2270837b7347c93 +"micromark-extension-gfm-footnote@npm:^2.0.0": + version: 2.1.0 + resolution: "micromark-extension-gfm-footnote@npm:2.1.0" + dependencies: + devlop: "npm:^1.0.0" + micromark-core-commonmark: "npm:^2.0.0" + micromark-factory-space: "npm:^2.0.0" + micromark-util-character: "npm:^2.0.0" + micromark-util-normalize-identifier: "npm:^2.0.0" + micromark-util-sanitize-uri: "npm:^2.0.0" + micromark-util-symbol: "npm:^2.0.0" + micromark-util-types: "npm:^2.0.0" + checksum: 10/7e019414e31ab53c49c909b7068adbbcb1726433fce82bf735219276fe6e00a42b66288acb5c8831f80e77480fac34880eeeb60b1dc09d5885862b31db4b9ea2 languageName: node linkType: hard -"minipass@npm:^5.0.0 || ^6.0.2 || ^7.0.0, minipass@npm:^7.0.3": - version: 7.0.3 - resolution: "minipass@npm:7.0.3" - checksum: 04d72c8a437de54a024f3758ff17c0226efb532ef37dbdaca1ea6039c7b9b1704e612abbd2e3a0d2c825c64eb0a9ab266c843baa71d18ad1a279baecee28ed97 +"micromark-extension-gfm-strikethrough@npm:^2.0.0": + version: 2.1.0 + resolution: "micromark-extension-gfm-strikethrough@npm:2.1.0" + dependencies: + devlop: "npm:^1.0.0" + micromark-util-chunked: "npm:^2.0.0" + micromark-util-classify-character: "npm:^2.0.0" + micromark-util-resolve-all: "npm:^2.0.0" + micromark-util-symbol: "npm:^2.0.0" + micromark-util-types: "npm:^2.0.0" + checksum: 10/eaf2c7b1e3eb2a7d7f405e8abe561be083cc52b8e027225ed286490939f527d18c120df59c8d8e17fdcf284f8d014502bf3db45d8e36e3109457ece8fb1db29b languageName: node linkType: hard -"minizlib@npm:^2.1.1, minizlib@npm:^2.1.2": - version: 2.1.2 - resolution: "minizlib@npm:2.1.2" +"micromark-extension-gfm-table@npm:^2.0.0": + version: 2.1.0 + resolution: "micromark-extension-gfm-table@npm:2.1.0" dependencies: - minipass: "npm:^3.0.0" - yallist: "npm:^4.0.0" - checksum: ae0f45436fb51344dcb87938446a32fbebb540d0e191d63b35e1c773d47512e17307bf54aa88326cc6d176594d00e4423563a091f7266c2f9a6872cdc1e234d1 + devlop: "npm:^1.0.0" + micromark-factory-space: "npm:^2.0.0" + micromark-util-character: "npm:^2.0.0" + micromark-util-symbol: "npm:^2.0.0" + micromark-util-types: "npm:^2.0.0" + checksum: 10/37385c3b6e4833f9d9a277f98062af40ccf8c70e83726ab0c1ef9d6cb5784dd18489d1df62b241e8289349be11f5ab0ab3337043fe004bc9150f1067f9476c9b languageName: node linkType: hard -"mkdirp@npm:^1.0.3": - version: 1.0.4 - resolution: "mkdirp@npm:1.0.4" - bin: - mkdirp: bin/cmd.js - checksum: d71b8dcd4b5af2fe13ecf3bd24070263489404fe216488c5ba7e38ece1f54daf219e72a833a3a2dc404331e870e9f44963a33399589490956bff003a3404d3b2 +"micromark-extension-gfm-tagfilter@npm:^2.0.0": + version: 2.0.0 + resolution: "micromark-extension-gfm-tagfilter@npm:2.0.0" + dependencies: + micromark-util-types: "npm:^2.0.0" + checksum: 10/c5e3f8cdf22e184de3f55968e6b010876a100dff31f509b7d2975f2b981a7fdda6c2d9e452238b9fe54dc51f5d7b069e86de509d421d4efbdfc9194749b3f132 languageName: node linkType: hard -"mlly@npm:^1.2.0, mlly@npm:^1.4.0": - version: 1.4.1 - resolution: "mlly@npm:1.4.1" +"micromark-extension-gfm-task-list-item@npm:^2.0.0": + version: 2.1.0 + resolution: "micromark-extension-gfm-task-list-item@npm:2.1.0" dependencies: - acorn: "npm:^8.10.0" - pathe: "npm:^1.1.1" - pkg-types: "npm:^1.0.3" - ufo: "npm:^1.3.0" - checksum: 5d5a3a11e1cf36f2768747a4bed22a3149d63439ce2ab2124174190396fca0a254bc451cb11af4f7a151dc32d9ebe5c9d358af999046533b09c44d31958dc38a + devlop: "npm:^1.0.0" + micromark-factory-space: "npm:^2.0.0" + micromark-util-character: "npm:^2.0.0" + micromark-util-symbol: "npm:^2.0.0" + micromark-util-types: "npm:^2.0.0" + checksum: 10/c5f72929f0dca77df01442b721356624de6657364e2264ef50fc7226305976f302a49b670836f9494ce70a9b0335d974b5ef8e6457553c4c200bfc06d6951964 languageName: node linkType: hard -"mount-point@npm:^3.0.0": +"micromark-extension-gfm@npm:^3.0.0": version: 3.0.0 - resolution: "mount-point@npm:3.0.0" + resolution: "micromark-extension-gfm@npm:3.0.0" dependencies: - "@sindresorhus/df": "npm:^1.0.1" - pify: "npm:^2.3.0" - pinkie-promise: "npm:^2.0.1" - checksum: edb588e613020271add5a368404af569d8f5cfc48121be3ebb142ffc939f97de0c407fdd03ae972a7eff0cb880584a71e767993f719a6998cd90f1272def4c25 + micromark-extension-gfm-autolink-literal: "npm:^2.0.0" + micromark-extension-gfm-footnote: "npm:^2.0.0" + micromark-extension-gfm-strikethrough: "npm:^2.0.0" + micromark-extension-gfm-table: "npm:^2.0.0" + micromark-extension-gfm-tagfilter: "npm:^2.0.0" + micromark-extension-gfm-task-list-item: "npm:^2.0.0" + micromark-util-combine-extensions: "npm:^2.0.0" + micromark-util-types: "npm:^2.0.0" + checksum: 10/8493d1041756bf21f9421fa6d357056bff6112aeccebc20595604686cdd908a6816765de297206457ae4c00f85fc58672bdbcbbc36820c25d561b1737af89055 languageName: node linkType: hard -"move-file@npm:^3.0.0": - version: 3.1.0 - resolution: "move-file@npm:3.1.0" +"micromark-extension-mdx-expression@npm:^3.0.0": + version: 3.0.0 + resolution: "micromark-extension-mdx-expression@npm:3.0.0" dependencies: - path-exists: "npm:^5.0.0" - checksum: 335bb0295461500f171164ce2cc1c8996c7fb13dc56d71e34e25242fae79006cfeb3b9b3ba22b77309bd95a25df04ec68f57af3f83c189c49d4b6f766de46d7d + "@types/estree": "npm:^1.0.0" + devlop: "npm:^1.0.0" + micromark-factory-mdx-expression: "npm:^2.0.0" + micromark-factory-space: "npm:^2.0.0" + micromark-util-character: "npm:^2.0.0" + micromark-util-events-to-acorn: "npm:^2.0.0" + micromark-util-symbol: "npm:^2.0.0" + micromark-util-types: "npm:^2.0.0" + checksum: 10/a5592160319d4617362f6b72a6fc44b5570466afa07419d44bcfdd9398a77a5693d7c5f8da7b3ff4682edf6209d4781835f5d2e3166fdf6bba37db456fd2d091 languageName: node linkType: hard -"ms@npm:2.1.2": - version: 2.1.2 - resolution: "ms@npm:2.1.2" - checksum: 673cdb2c3133eb050c745908d8ce632ed2c02d85640e2edb3ace856a2266a813b30c613569bf3354fdf4ea7d1a1494add3bfa95e2713baa27d0c2c71fc44f58f +"micromark-extension-mdx-jsx@npm:^3.0.0": + version: 3.0.0 + resolution: "micromark-extension-mdx-jsx@npm:3.0.0" + dependencies: + "@types/acorn": "npm:^4.0.0" + "@types/estree": "npm:^1.0.0" + devlop: "npm:^1.0.0" + estree-util-is-identifier-name: "npm:^3.0.0" + micromark-factory-mdx-expression: "npm:^2.0.0" + micromark-factory-space: "npm:^2.0.0" + micromark-util-character: "npm:^2.0.0" + micromark-util-symbol: "npm:^2.0.0" + micromark-util-types: "npm:^2.0.0" + vfile-message: "npm:^4.0.0" + checksum: 10/65b3a55b4abc9207e12174caba44d05d2f15e7191161ed9536a1dd558eae9ab5a9d67689bff86869e481f33e181d69e792fc0a3c85ecaf9c11bca9111ebdffec languageName: node linkType: hard -"ms@npm:^2.0.0, ms@npm:^2.1.1": - version: 2.1.3 - resolution: "ms@npm:2.1.3" - checksum: aa92de608021b242401676e35cfa5aa42dd70cbdc082b916da7fb925c542173e36bce97ea3e804923fe92c0ad991434e4a38327e15a1b5b5f945d66df615ae6d +"micromark-extension-mdx-md@npm:^2.0.0": + version: 2.0.0 + resolution: "micromark-extension-mdx-md@npm:2.0.0" + dependencies: + micromark-util-types: "npm:^2.0.0" + checksum: 10/8b364a69b23196075258143c8c19fa58d7d5a91f6811ec0f881b75cf024a4869994be29f84f4d281147275c5a104af8b6a7fcd98abd8fde9f5b534a1acb254e8 languageName: node linkType: hard -"mute-stream@npm:0.0.8": - version: 0.0.8 - resolution: "mute-stream@npm:0.0.8" - checksum: a2d2e79dde87e3424ffc8c334472c7f3d17b072137734ca46e6f221131f1b014201cc593b69a38062e974fb2394d3d1cb4349f80f012bbf8b8ac1b28033e515f +"micromark-extension-mdxjs-esm@npm:^3.0.0": + version: 3.0.0 + resolution: "micromark-extension-mdxjs-esm@npm:3.0.0" + dependencies: + "@types/estree": "npm:^1.0.0" + devlop: "npm:^1.0.0" + micromark-core-commonmark: "npm:^2.0.0" + micromark-util-character: "npm:^2.0.0" + micromark-util-events-to-acorn: "npm:^2.0.0" + micromark-util-symbol: "npm:^2.0.0" + micromark-util-types: "npm:^2.0.0" + unist-util-position-from-estree: "npm:^2.0.0" + vfile-message: "npm:^4.0.0" + checksum: 10/f2e0977f9a65284b0c765d1175d55ec5d1928dae3ae90f65cc36f293cda152a97fe2007977aaf5595b1bc02298b34c96e8ce8b647c9c647c75f1ea53e92d14d2 languageName: node linkType: hard -"nanoid@npm:^3.3.6": - version: 3.3.6 - resolution: "nanoid@npm:3.3.6" - bin: - nanoid: bin/nanoid.cjs - checksum: 67235c39d1bc05851383dadde5cf77ae1c90c2a1d189e845c7f20f646f0488d875ad5f5226bbba072a88cebbb085a3f784a6673117daf785bdf614a852550362 +"micromark-extension-mdxjs@npm:^3.0.0": + version: 3.0.0 + resolution: "micromark-extension-mdxjs@npm:3.0.0" + dependencies: + acorn: "npm:^8.0.0" + acorn-jsx: "npm:^5.0.0" + micromark-extension-mdx-expression: "npm:^3.0.0" + micromark-extension-mdx-jsx: "npm:^3.0.0" + micromark-extension-mdx-md: "npm:^2.0.0" + micromark-extension-mdxjs-esm: "npm:^3.0.0" + micromark-util-combine-extensions: "npm:^2.0.0" + micromark-util-types: "npm:^2.0.0" + checksum: 10/66e0df7b2db05b9c88796600e354e0753594f06760abfddcac706afcd5754586c9085adb89e15447ce1450e6a5f2fa66a75f6da394e0eceb919e9c364475593e languageName: node linkType: hard -"natural-compare@npm:^1.4.0": - version: 1.4.0 - resolution: "natural-compare@npm:1.4.0" - checksum: 23ad088b08f898fc9b53011d7bb78ec48e79de7627e01ab5518e806033861bef68d5b0cd0e2205c2f36690ac9571ff6bcb05eb777ced2eeda8d4ac5b44592c3d +"micromark-factory-destination@npm:^2.0.0": + version: 2.0.0 + resolution: "micromark-factory-destination@npm:2.0.0" + dependencies: + micromark-util-character: "npm:^2.0.0" + micromark-util-symbol: "npm:^2.0.0" + micromark-util-types: "npm:^2.0.0" + checksum: 10/d36e65ed1c072ff4148b016783148ba7c68a078991154625723e24bda3945160268fb91079fb28618e1613c2b6e70390a8ddc544c45410288aa27b413593071a languageName: node linkType: hard -"negotiator@npm:^0.6.3": - version: 0.6.3 - resolution: "negotiator@npm:0.6.3" - checksum: 2723fb822a17ad55c93a588a4bc44d53b22855bf4be5499916ca0cab1e7165409d0b288ba2577d7b029f10ce18cf2ed8e703e5af31c984e1e2304277ef979837 +"micromark-factory-label@npm:^2.0.0": + version: 2.0.0 + resolution: "micromark-factory-label@npm:2.0.0" + dependencies: + devlop: "npm:^1.0.0" + micromark-util-character: "npm:^2.0.0" + micromark-util-symbol: "npm:^2.0.0" + micromark-util-types: "npm:^2.0.0" + checksum: 10/c021dbd0ed367610d35f2bae21209bc804d1a6d1286ffce458fd6a717f4d7fe581a7cba7d5c2d7a63757c44eb927c80d6a571d6ea7969fae1b48ab6461d109c4 languageName: node linkType: hard -"node-emoji@npm:2.1.0": +"micromark-factory-mdx-expression@npm:^2.0.0": + version: 2.0.1 + resolution: "micromark-factory-mdx-expression@npm:2.0.1" + dependencies: + "@types/estree": "npm:^1.0.0" + devlop: "npm:^1.0.0" + micromark-util-character: "npm:^2.0.0" + micromark-util-events-to-acorn: "npm:^2.0.0" + micromark-util-symbol: "npm:^2.0.0" + micromark-util-types: "npm:^2.0.0" + unist-util-position-from-estree: "npm:^2.0.0" + vfile-message: "npm:^4.0.0" + checksum: 10/93cf94ccbe73c22d12dfe724fd43eeab326e29e2b776e3fcc13613ad06ad5ae7fe621955445c3254893008cd205d0df9505b778716c4a75fa5bcdcefaf192673 + languageName: node + linkType: hard + +"micromark-factory-space@npm:^2.0.0": + version: 2.0.0 + resolution: "micromark-factory-space@npm:2.0.0" + dependencies: + micromark-util-character: "npm:^2.0.0" + micromark-util-types: "npm:^2.0.0" + checksum: 10/4ffdcdc2f759887bbb356500cb460b3915ecddcb5d85c3618d7df68ad05d13ed02b1153ee1845677b7d8126df8f388288b84fcf0d943bd9c92bcc71cd7222e37 + languageName: node + linkType: hard + +"micromark-factory-title@npm:^2.0.0": + version: 2.0.0 + resolution: "micromark-factory-title@npm:2.0.0" + dependencies: + micromark-factory-space: "npm:^2.0.0" + micromark-util-character: "npm:^2.0.0" + micromark-util-symbol: "npm:^2.0.0" + micromark-util-types: "npm:^2.0.0" + checksum: 10/39e1ac23af3554e6e652e56065579bc7faf21ade7b8704b29c175871b4152b7109b790bb3cae0f7e088381139c6bac9553b8400772c3d322e4fa635f813a3578 + languageName: node + linkType: hard + +"micromark-factory-whitespace@npm:^2.0.0": + version: 2.0.0 + resolution: "micromark-factory-whitespace@npm:2.0.0" + dependencies: + micromark-factory-space: "npm:^2.0.0" + micromark-util-character: "npm:^2.0.0" + micromark-util-symbol: "npm:^2.0.0" + micromark-util-types: "npm:^2.0.0" + checksum: 10/9587c2546d1a58b4d5472b42adf05463f6212d0449455285662d63cd8eaed89c6b159ac82713fcee5f9dd88628c24307d9533cccd8971a2f3f4d48702f8f850a + languageName: node + linkType: hard + +"micromark-util-character@npm:^2.0.0": version: 2.1.0 - resolution: "node-emoji@npm:2.1.0" + resolution: "micromark-util-character@npm:2.1.0" dependencies: - "@sindresorhus/is": "npm:^3.1.2" - char-regex: "npm:^1.0.2" - emojilib: "npm:^2.4.0" - skin-tone: "npm:^2.0.0" - checksum: 255630d2e948df91b27d82deec0f4a64f215d97d4f43d2c252804dee1b8b1bf6b4638a51745e03b68251a460c9cf43edaa6d758df83a1902113d224ee4a513e8 + micromark-util-symbol: "npm:^2.0.0" + micromark-util-types: "npm:^2.0.0" + checksum: 10/089fe853c2bede2a48fd73d977910fa657c3cf6649eddcd300557a975c6c7f1c73030d01724a483ff1dc69a0d3ac28b43b2ba4210f5ea6414807cdcd0c2fa63c languageName: node linkType: hard -"node-emoji@npm:^1.11.0": - version: 1.11.0 - resolution: "node-emoji@npm:1.11.0" +"micromark-util-chunked@npm:^2.0.0": + version: 2.0.0 + resolution: "micromark-util-chunked@npm:2.0.0" dependencies: - lodash: "npm:^4.17.21" - checksum: 1d7ae9bcb0f23d7cdfcac5c3a90a6fd6ec584e6f7c70ff073f6122bfbed6c06284da7334092500d24e14162f5c4016e5dcd3355753cbd5b7e60de560a973248d + micromark-util-symbol: "npm:^2.0.0" + checksum: 10/324f95cccdae061332a8241936eaba6ef0782a1e355bac5c607ad2564fd3744929be7dc81651315a2921535747a33243e6a5606bcb64b7a56d49b6d74ea1a3d4 languageName: node linkType: hard -"node-fetch@npm:^2.6.1, node-fetch@npm:^2.6.4, node-fetch@npm:^2.7.0": - version: 2.7.0 - resolution: "node-fetch@npm:2.7.0" +"micromark-util-classify-character@npm:^2.0.0": + version: 2.0.0 + resolution: "micromark-util-classify-character@npm:2.0.0" dependencies: - whatwg-url: "npm:^5.0.0" - peerDependencies: - encoding: ^0.1.0 - peerDependenciesMeta: + micromark-util-character: "npm:^2.0.0" + micromark-util-symbol: "npm:^2.0.0" + micromark-util-types: "npm:^2.0.0" + checksum: 10/086e52904deffebb793fb1c08c94aabb8901f76958142dfc3a6282890ebaa983b285e69bd602b9d507f1b758ed38e75a994d2ad9fbbefa7de2584f67a16af405 + languageName: node + linkType: hard + +"micromark-util-combine-extensions@npm:^2.0.0": + version: 2.0.0 + resolution: "micromark-util-combine-extensions@npm:2.0.0" + dependencies: + micromark-util-chunked: "npm:^2.0.0" + micromark-util-types: "npm:^2.0.0" + checksum: 10/107c47700343f365b4ed81551e18bc3458b573c500e56ac052b2490bd548adc475216e41d2271633a8867fac66fc22ba3e0a2d74a31ed79b9870ca947eb4e3ba + languageName: node + linkType: hard + +"micromark-util-decode-numeric-character-reference@npm:^2.0.0": + version: 2.0.1 + resolution: "micromark-util-decode-numeric-character-reference@npm:2.0.1" + dependencies: + micromark-util-symbol: "npm:^2.0.0" + checksum: 10/9512507722efd2033a9f08715eeef787fbfe27e23edf55db21423d46d82ab46f76c89b4f960be3f5e50a2d388d89658afc0647989cf256d051e9ea01277a1adb + languageName: node + linkType: hard + +"micromark-util-decode-string@npm:^2.0.0": + version: 2.0.0 + resolution: "micromark-util-decode-string@npm:2.0.0" + dependencies: + decode-named-character-reference: "npm:^1.0.0" + micromark-util-character: "npm:^2.0.0" + micromark-util-decode-numeric-character-reference: "npm:^2.0.0" + micromark-util-symbol: "npm:^2.0.0" + checksum: 10/a75daf32a4a6b549e9f19b4d833ebfeb09a32a9a1f9ce50f35dec6b6a3e4f9f121f49024ba7f9c91c55ebe792f7c7a332fc9604795181b6a612637df0df5b959 + languageName: node + linkType: hard + +"micromark-util-encode@npm:^2.0.0": + version: 2.0.0 + resolution: "micromark-util-encode@npm:2.0.0" + checksum: 10/853a3f33fce72aaf4ffa60b7f2b6fcfca40b270b3466e1b96561b02185d2bd8c01dd7948bc31a24ac014f4cc854e545ca9a8e9cf7ea46262f9d24c9e88551c66 + languageName: node + linkType: hard + +"micromark-util-events-to-acorn@npm:^2.0.0": + version: 2.0.2 + resolution: "micromark-util-events-to-acorn@npm:2.0.2" + dependencies: + "@types/acorn": "npm:^4.0.0" + "@types/estree": "npm:^1.0.0" + "@types/unist": "npm:^3.0.0" + devlop: "npm:^1.0.0" + estree-util-visit: "npm:^2.0.0" + micromark-util-symbol: "npm:^2.0.0" + micromark-util-types: "npm:^2.0.0" + vfile-message: "npm:^4.0.0" + checksum: 10/475367e716c4d24f2a57464a7f2c8aa507ae36c05b7767fd652895525f3f0a1179ea3219cabccc0f3038bb5e4f9cce5390d530dc56decaa5f1786bda42739810 + languageName: node + linkType: hard + +"micromark-util-html-tag-name@npm:^2.0.0": + version: 2.0.0 + resolution: "micromark-util-html-tag-name@npm:2.0.0" + checksum: 10/d786d4486f93eb0ac5b628779809ca97c5dc60f3c9fc03eb565809831db181cf8cb7f05f9ac76852f3eb35461af0f89fa407b46f3a03f4f97a96754d8dc540d8 + languageName: node + linkType: hard + +"micromark-util-normalize-identifier@npm:^2.0.0": + version: 2.0.0 + resolution: "micromark-util-normalize-identifier@npm:2.0.0" + dependencies: + micromark-util-symbol: "npm:^2.0.0" + checksum: 10/b36da2d3fd102053dadd953ce5c558328df12a63a8ac0e5aad13d4dda8e43b6a5d4a661baafe0a1cd8a260bead4b4a8e6e0e74193dd651e8484225bd4f4e68aa + languageName: node + linkType: hard + +"micromark-util-resolve-all@npm:^2.0.0": + version: 2.0.0 + resolution: "micromark-util-resolve-all@npm:2.0.0" + dependencies: + micromark-util-types: "npm:^2.0.0" + checksum: 10/31fe703b85572cb3f598ebe32750e59516925c7ff1f66cfe6afaebe0771a395a9eaa770787f2523d3c46082ea80e6c14f83643303740b3d650af7c96ebd30ccc + languageName: node + linkType: hard + +"micromark-util-sanitize-uri@npm:^2.0.0": + version: 2.0.0 + resolution: "micromark-util-sanitize-uri@npm:2.0.0" + dependencies: + micromark-util-character: "npm:^2.0.0" + micromark-util-encode: "npm:^2.0.0" + micromark-util-symbol: "npm:^2.0.0" + checksum: 10/7d10622f5a2bb058dda6d2e95b2735c43fdf8daa4f88a0863bc90eef6598f8e10e3df98e034341fcbc090d8021c53501308c463c49d3fe91f41eb64b5bf2766e + languageName: node + linkType: hard + +"micromark-util-subtokenize@npm:^2.0.0": + version: 2.0.1 + resolution: "micromark-util-subtokenize@npm:2.0.1" + dependencies: + devlop: "npm:^1.0.0" + micromark-util-chunked: "npm:^2.0.0" + micromark-util-symbol: "npm:^2.0.0" + micromark-util-types: "npm:^2.0.0" + checksum: 10/8e1cae8859bcc3eed54c0dc896d9c2141c990299696455124205ce538e084caeaafcbe0d459a39b81cd45e761ff874d773dbf235ab6825914190701a15226789 + languageName: node + linkType: hard + +"micromark-util-symbol@npm:^2.0.0": + version: 2.0.0 + resolution: "micromark-util-symbol@npm:2.0.0" + checksum: 10/8c662644c326b384f02a5269974d843d400930cf6f5d6a8e6db1743fc8933f5ecc125b4203ad4ebca25447f5d23eb7e5bf1f75af34570c3fdd925cb618752fcd + languageName: node + linkType: hard + +"micromark-util-types@npm:^2.0.0": + version: 2.0.0 + resolution: "micromark-util-types@npm:2.0.0" + checksum: 10/b88e0eefd4b7c8d86b54dbf4ed0094ef56a3b0c7774d040bd5c8146b8e4e05b1026bbf1cd9308c8fcd05ecdc0784507680c8cee9888a4d3c550e6e574f7aef62 + languageName: node + linkType: hard + +"micromark@npm:^4.0.0": + version: 4.0.0 + resolution: "micromark@npm:4.0.0" + dependencies: + "@types/debug": "npm:^4.0.0" + debug: "npm:^4.0.0" + decode-named-character-reference: "npm:^1.0.0" + devlop: "npm:^1.0.0" + micromark-core-commonmark: "npm:^2.0.0" + micromark-factory-space: "npm:^2.0.0" + micromark-util-character: "npm:^2.0.0" + micromark-util-chunked: "npm:^2.0.0" + micromark-util-combine-extensions: "npm:^2.0.0" + micromark-util-decode-numeric-character-reference: "npm:^2.0.0" + micromark-util-encode: "npm:^2.0.0" + micromark-util-normalize-identifier: "npm:^2.0.0" + micromark-util-resolve-all: "npm:^2.0.0" + micromark-util-sanitize-uri: "npm:^2.0.0" + micromark-util-subtokenize: "npm:^2.0.0" + micromark-util-symbol: "npm:^2.0.0" + micromark-util-types: "npm:^2.0.0" + checksum: 10/a697c1c0c169077f5d5def9af26985baea9d4375395dcb974a96f63761d382b455d4595a60e856c83e653b1272a732e85128d992511d6dc938d61a35bdf98c99 + languageName: node + linkType: hard + +"micromark@npm:~2.11.0": + version: 2.11.4 + resolution: "micromark@npm:2.11.4" + dependencies: + debug: "npm:^4.0.0" + parse-entities: "npm:^2.0.0" + checksum: 10/cd3bcbc4c113c74d0897e7787103eb9c92c86974b0af1f87d2079b34f1543511a1e72face3f80c1d47c6614c2eaf860d94eee8c06f80dc48bc2441691576364b + languageName: node + linkType: hard + +"micromatch@npm:4.0.8, micromatch@npm:^4.0.4, micromatch@npm:^4.0.8": + version: 4.0.8 + resolution: "micromatch@npm:4.0.8" + dependencies: + braces: "npm:^3.0.3" + picomatch: "npm:^2.3.1" + checksum: 10/6bf2a01672e7965eb9941d1f02044fad2bd12486b5553dc1116ff24c09a8723157601dc992e74c911d896175918448762df3b3fd0a6b61037dd1a9766ddfbf58 + languageName: node + linkType: hard + +"mimic-fn@npm:^2.1.0": + version: 2.1.0 + resolution: "mimic-fn@npm:2.1.0" + checksum: 10/d2421a3444848ce7f84bd49115ddacff29c15745db73f54041edc906c14b131a38d05298dae3081667627a59b2eb1ca4b436ff2e1b80f69679522410418b478a + languageName: node + linkType: hard + +"min-indent@npm:^1.0.0": + version: 1.0.1 + resolution: "min-indent@npm:1.0.1" + checksum: 10/bfc6dd03c5eaf623a4963ebd94d087f6f4bbbfd8c41329a7f09706b0cb66969c4ddd336abeb587bc44bc6f08e13bf90f0b374f9d71f9f01e04adc2cd6f083ef1 + languageName: node + linkType: hard + +"minimatch@npm:9.0.2": + version: 9.0.2 + resolution: "minimatch@npm:9.0.2" + dependencies: + brace-expansion: "npm:^2.0.1" + checksum: 10/b468863a8b5071ffdfd63ad2cbe01c2b708807d80907036102b3c1499502fcc6d8965f571707f8ff820aa23c67784344a77cc2c3e0e9ec7778dab56f76a61595 + languageName: node + linkType: hard + +"minimatch@npm:^3.1.1, minimatch@npm:^3.1.2": + version: 3.1.2 + resolution: "minimatch@npm:3.1.2" + dependencies: + brace-expansion: "npm:^1.1.7" + checksum: 10/e0b25b04cd4ec6732830344e5739b13f8690f8a012d73445a4a19fbc623f5dd481ef7a5827fde25954cd6026fede7574cc54dc4643c99d6c6b653d6203f94634 + languageName: node + linkType: hard + +"minimatch@npm:^9.0.0, minimatch@npm:^9.0.4, minimatch@npm:^9.0.5": + version: 9.0.5 + resolution: "minimatch@npm:9.0.5" + dependencies: + brace-expansion: "npm:^2.0.1" + checksum: 10/dd6a8927b063aca6d910b119e1f2df6d2ce7d36eab91de83167dd136bb85e1ebff97b0d3de1cb08bd1f7e018ca170b4962479fefab5b2a69e2ae12cb2edc8348 + languageName: node + linkType: hard + +"minimist@npm:^1.0.0, minimist@npm:^1.2.0, minimist@npm:^1.2.6, minimist@npm:^1.2.8": + version: 1.2.8 + resolution: "minimist@npm:1.2.8" + checksum: 10/908491b6cc15a6c440ba5b22780a0ba89b9810e1aea684e253e43c4e3b8d56ec1dcdd7ea96dde119c29df59c936cde16062159eae4225c691e19c70b432b6e6f + languageName: node + linkType: hard + +"minipass-collect@npm:^1.0.2": + version: 1.0.2 + resolution: "minipass-collect@npm:1.0.2" + dependencies: + minipass: "npm:^3.0.0" + checksum: 10/14df761028f3e47293aee72888f2657695ec66bd7d09cae7ad558da30415fdc4752bbfee66287dcc6fd5e6a2fa3466d6c484dc1cbd986525d9393b9523d97f10 + languageName: node + linkType: hard + +"minipass-fetch@npm:^3.0.0": + version: 3.0.4 + resolution: "minipass-fetch@npm:3.0.4" + dependencies: + encoding: "npm:^0.1.13" + minipass: "npm:^7.0.3" + minipass-sized: "npm:^1.0.3" + minizlib: "npm:^2.1.2" + dependenciesMeta: encoding: optional: true - checksum: b24f8a3dc937f388192e59bcf9d0857d7b6940a2496f328381641cb616efccc9866e89ec43f2ec956bbd6c3d3ee05524ce77fe7b29ccd34692b3a16f237d6676 + checksum: 10/3edf72b900e30598567eafe96c30374432a8709e61bb06b87198fa3192d466777e2ec21c52985a0999044fa6567bd6f04651585983a1cbb27e2c1770a07ed2a2 + languageName: node + linkType: hard + +"minipass-flush@npm:^1.0.5": + version: 1.0.5 + resolution: "minipass-flush@npm:1.0.5" + dependencies: + minipass: "npm:^3.0.0" + checksum: 10/56269a0b22bad756a08a94b1ffc36b7c9c5de0735a4dd1ab2b06c066d795cfd1f0ac44a0fcae13eece5589b908ecddc867f04c745c7009be0b566421ea0944cf + languageName: node + linkType: hard + +"minipass-pipeline@npm:^1.2.4": + version: 1.2.4 + resolution: "minipass-pipeline@npm:1.2.4" + dependencies: + minipass: "npm:^3.0.0" + checksum: 10/b14240dac0d29823c3d5911c286069e36d0b81173d7bdf07a7e4a91ecdef92cdff4baaf31ea3746f1c61e0957f652e641223970870e2353593f382112257971b + languageName: node + linkType: hard + +"minipass-sized@npm:^1.0.3": + version: 1.0.3 + resolution: "minipass-sized@npm:1.0.3" + dependencies: + minipass: "npm:^3.0.0" + checksum: 10/40982d8d836a52b0f37049a0a7e5d0f089637298e6d9b45df9c115d4f0520682a78258905e5c8b180fb41b593b0a82cc1361d2c74b45f7ada66334f84d1ecfdd + languageName: node + linkType: hard + +"minipass@npm:^3.0.0": + version: 3.3.6 + resolution: "minipass@npm:3.3.6" + dependencies: + yallist: "npm:^4.0.0" + checksum: 10/a5c6ef069f70d9a524d3428af39f2b117ff8cd84172e19b754e7264a33df460873e6eb3d6e55758531580970de50ae950c496256bb4ad3691a2974cddff189f0 + languageName: node + linkType: hard + +"minipass@npm:^5.0.0": + version: 5.0.0 + resolution: "minipass@npm:5.0.0" + checksum: 10/61682162d29f45d3152b78b08bab7fb32ca10899bc5991ffe98afc18c9e9543bd1e3be94f8b8373ba6262497db63607079dc242ea62e43e7b2270837b7347c93 + languageName: node + linkType: hard + +"minipass@npm:^5.0.0 || ^6.0.2 || ^7.0.0, minipass@npm:^7.0.3, minipass@npm:^7.1.2": + version: 7.1.2 + resolution: "minipass@npm:7.1.2" + checksum: 10/c25f0ee8196d8e6036661104bacd743785b2599a21de5c516b32b3fa2b83113ac89a2358465bc04956baab37ffb956ae43be679b2262bf7be15fce467ccd7950 + languageName: node + linkType: hard + +"minizlib@npm:^2.1.1, minizlib@npm:^2.1.2": + version: 2.1.2 + resolution: "minizlib@npm:2.1.2" + dependencies: + minipass: "npm:^3.0.0" + yallist: "npm:^4.0.0" + checksum: 10/ae0f45436fb51344dcb87938446a32fbebb540d0e191d63b35e1c773d47512e17307bf54aa88326cc6d176594d00e4423563a091f7266c2f9a6872cdc1e234d1 + languageName: node + linkType: hard + +"mkdirp@npm:^1.0.3": + version: 1.0.4 + resolution: "mkdirp@npm:1.0.4" + bin: + mkdirp: bin/cmd.js + checksum: 10/d71b8dcd4b5af2fe13ecf3bd24070263489404fe216488c5ba7e38ece1f54daf219e72a833a3a2dc404331e870e9f44963a33399589490956bff003a3404d3b2 + languageName: node + linkType: hard + +"mount-point@npm:^3.0.0": + version: 3.0.0 + resolution: "mount-point@npm:3.0.0" + dependencies: + "@sindresorhus/df": "npm:^1.0.1" + pify: "npm:^2.3.0" + pinkie-promise: "npm:^2.0.1" + checksum: 10/edb588e613020271add5a368404af569d8f5cfc48121be3ebb142ffc939f97de0c407fdd03ae972a7eff0cb880584a71e767993f719a6998cd90f1272def4c25 + languageName: node + linkType: hard + +"move-file@npm:^3.1.0": + version: 3.1.0 + resolution: "move-file@npm:3.1.0" + dependencies: + path-exists: "npm:^5.0.0" + checksum: 10/335bb0295461500f171164ce2cc1c8996c7fb13dc56d71e34e25242fae79006cfeb3b9b3ba22b77309bd95a25df04ec68f57af3f83c189c49d4b6f766de46d7d + languageName: node + linkType: hard + +"mri@npm:^1.1.0": + version: 1.2.0 + resolution: "mri@npm:1.2.0" + checksum: 10/6775a1d2228bb9d191ead4efc220bd6be64f943ad3afd4dcb3b3ac8fc7b87034443f666e38805df38e8d047b29f910c3cc7810da0109af83e42c82c73bd3f6bc + languageName: node + linkType: hard + +"mrmime@npm:^2.0.0": + version: 2.0.0 + resolution: "mrmime@npm:2.0.0" + checksum: 10/8d95f714ea200c6cf3e3777cbc6168be04b05ac510090a9b41eef5ec081efeb1d1de3e535ffb9c9689fffcc42f59864fd52a500e84a677274f070adeea615c45 + languageName: node + linkType: hard + +"ms@npm:^2.0.0, ms@npm:^2.1.1, ms@npm:^2.1.3": + version: 2.1.3 + resolution: "ms@npm:2.1.3" + checksum: 10/aa92de608021b242401676e35cfa5aa42dd70cbdc082b916da7fb925c542173e36bce97ea3e804923fe92c0ad991434e4a38327e15a1b5b5f945d66df615ae6d + languageName: node + linkType: hard + +"mz@npm:^2.4.0": + version: 2.7.0 + resolution: "mz@npm:2.7.0" + dependencies: + any-promise: "npm:^1.0.0" + object-assign: "npm:^4.0.1" + thenify-all: "npm:^1.0.0" + checksum: 10/8427de0ece99a07e9faed3c0c6778820d7543e3776f9a84d22cf0ec0a8eb65f6e9aee9c9d353ff9a105ff62d33a9463c6ca638974cc652ee8140cd1e35951c87 + languageName: node + linkType: hard + +"nanoid@npm:^3.3.7": + version: 3.3.7 + resolution: "nanoid@npm:3.3.7" + bin: + nanoid: bin/nanoid.cjs + checksum: 10/ac1eb60f615b272bccb0e2b9cd933720dad30bf9708424f691b8113826bb91aca7e9d14ef5d9415a6ba15c266b37817256f58d8ce980c82b0ba3185352565679 + languageName: node + linkType: hard + +"natural-compare@npm:^1.4.0": + version: 1.4.0 + resolution: "natural-compare@npm:1.4.0" + checksum: 10/23ad088b08f898fc9b53011d7bb78ec48e79de7627e01ab5518e806033861bef68d5b0cd0e2205c2f36690ac9571ff6bcb05eb777ced2eeda8d4ac5b44592c3d + languageName: node + linkType: hard + +"negotiator@npm:^0.6.3": + version: 0.6.3 + resolution: "negotiator@npm:0.6.3" + checksum: 10/2723fb822a17ad55c93a588a4bc44d53b22855bf4be5499916ca0cab1e7165409d0b288ba2577d7b029f10ce18cf2ed8e703e5af31c984e1e2304277ef979837 + languageName: node + linkType: hard + +"node-emoji@npm:2.1.0": + version: 2.1.0 + resolution: "node-emoji@npm:2.1.0" + dependencies: + "@sindresorhus/is": "npm:^3.1.2" + char-regex: "npm:^1.0.2" + emojilib: "npm:^2.4.0" + skin-tone: "npm:^2.0.0" + checksum: 10/255630d2e948df91b27d82deec0f4a64f215d97d4f43d2c252804dee1b8b1bf6b4638a51745e03b68251a460c9cf43edaa6d758df83a1902113d224ee4a513e8 + languageName: node + linkType: hard + +"node-emoji@npm:^2.1.3": + version: 2.1.3 + resolution: "node-emoji@npm:2.1.3" + dependencies: + "@sindresorhus/is": "npm:^4.6.0" + char-regex: "npm:^1.0.2" + emojilib: "npm:^2.4.0" + skin-tone: "npm:^2.0.0" + checksum: 10/e9cff16f557972bc45040c26cb686961935c582af612bd41446f0094834088c1cdf7d4370a39ce5d42b71c1352a35b8d8a7a2fec53922b51abf54f36e56cc614 + languageName: node + linkType: hard + +"node-gyp@npm:latest": + version: 9.4.0 + resolution: "node-gyp@npm:9.4.0" + dependencies: + env-paths: "npm:^2.2.0" + exponential-backoff: "npm:^3.1.1" + glob: "npm:^7.1.4" + graceful-fs: "npm:^4.2.6" + make-fetch-happen: "npm:^11.0.3" + nopt: "npm:^6.0.0" + npmlog: "npm:^6.0.0" + rimraf: "npm:^3.0.2" + semver: "npm:^7.3.5" + tar: "npm:^6.1.2" + which: "npm:^2.0.2" + bin: + node-gyp: bin/node-gyp.js + checksum: 10/458317127c63877365f227b18ef2362b013b7f8440b35ae722935e61b31e6b84ec0e3625ab07f90679e2f41a1d5a7df6c4049fdf8e7b3c81fcf22775147b47ac + languageName: node + linkType: hard + +"node-inspect-extracted@npm:2.0.0": + version: 2.0.0 + resolution: "node-inspect-extracted@npm:2.0.0" + checksum: 10/1809db815b5690ea7b83c8ed18d7c0162bcab0c278a776928022f65aab89594d34b191ab3bd59dc5216a9c5ec92d830c3446d5bea7c87f551f8573d1822c1d8c + languageName: node + linkType: hard + +"node-inspect-extracted@npm:2.0.2": + version: 2.0.2 + resolution: "node-inspect-extracted@npm:2.0.2" + checksum: 10/cc2f9fbbe701193918f176013b93cfadcddf3e15cb501ef4aef206c0f0f8ebd83280489344ccf3912f1ad7303af5c4cfa322b32cea8343be9cebdfc8423c0efb + languageName: node + linkType: hard + +"node-inspect-extracted@npm:3.0.2": + version: 3.0.2 + resolution: "node-inspect-extracted@npm:3.0.2" + checksum: 10/d3bdbd73ac73e38968c596f10abbb4de2dee835d406394e6eb60d74019ec4085d8b9ce286fd21f1b52de39c88185499d8a8ed77e220d175d90a142fa78551f3b + languageName: node + linkType: hard + +"node-notifier@npm:10.0.1": + version: 10.0.1 + resolution: "node-notifier@npm:10.0.1" + dependencies: + growly: "npm:^1.3.0" + is-wsl: "npm:^2.2.0" + semver: "npm:^7.3.5" + shellwords: "npm:^0.1.1" + uuid: "npm:^8.3.2" + which: "npm:^2.0.2" + checksum: 10/b238ffe16fd3b14df4c021e7d2a64483a3ac549b22d93e3c0bcfd9557a12d1c370ce6d8889308bc9c31c7464d99b224e7056dbd8cf4fb37b0f6296185972774a + languageName: node + linkType: hard + +"node-releases@npm:^2.0.18": + version: 2.0.18 + resolution: "node-releases@npm:2.0.18" + checksum: 10/241e5fa9556f1c12bafb83c6c3e94f8cf3d8f2f8f904906ecef6e10bcaa1d59aa61212d4651bec70052015fc54bd3fdcdbe7fc0f638a17e6685aa586c076ec4e + languageName: node + linkType: hard + +"nopt@npm:^6.0.0": + version: 6.0.0 + resolution: "nopt@npm:6.0.0" + dependencies: + abbrev: "npm:^1.0.0" + bin: + nopt: bin/nopt.js + checksum: 10/3c1128e07cd0241ae66d6e6a472170baa9f3e84dd4203950ba8df5bafac4efa2166ce917a57ef02b01ba7c40d18b2cc64b29b225fd3640791fe07b24f0b33a32 + languageName: node + linkType: hard + +"nopt@npm:^7.2.1": + version: 7.2.1 + resolution: "nopt@npm:7.2.1" + dependencies: + abbrev: "npm:^2.0.0" + bin: + nopt: bin/nopt.js + checksum: 10/95a1f6dec8a81cd18cdc2fed93e6f0b4e02cf6bdb4501c848752c6e34f9883d9942f036a5e3b21a699047d8a448562d891e67492df68ec9c373e6198133337ae + languageName: node + linkType: hard + +"normalize-package-data@npm:^2.5.0": + version: 2.5.0 + resolution: "normalize-package-data@npm:2.5.0" + dependencies: + hosted-git-info: "npm:^2.1.4" + resolve: "npm:^1.10.0" + semver: "npm:2 || 3 || 4 || 5" + validate-npm-package-license: "npm:^3.0.1" + checksum: 10/644f830a8bb9b7cc9bf2f6150618727659ee27cdd0840d1c1f97e8e6cab0803a098a2c19f31c6247ad9d3a0792e61521a13a6e8cd87cc6bb676e3150612c03d4 + languageName: node + linkType: hard + +"normalize-package-data@npm:^6.0.0": + version: 6.0.2 + resolution: "normalize-package-data@npm:6.0.2" + dependencies: + hosted-git-info: "npm:^7.0.0" + semver: "npm:^7.3.5" + validate-npm-package-license: "npm:^3.0.4" + checksum: 10/7c4216a2426aa76c0197f8372f06b23a0484d62b3518fb5c0f6ebccb16376bdfab29ceba96f95c75f60506473198f1337fe337b945c8df0541fe32b8049ab4c9 + languageName: node + linkType: hard + +"normalize-path@npm:^3.0.0, normalize-path@npm:~3.0.0": + version: 3.0.0 + resolution: "normalize-path@npm:3.0.0" + checksum: 10/88eeb4da891e10b1318c4b2476b6e2ecbeb5ff97d946815ffea7794c31a89017c70d7f34b3c2ebf23ef4e9fc9fb99f7dffe36da22011b5b5c6ffa34f4873ec20 + languageName: node + linkType: hard + +"npm-install-checks@npm:^6.0.0": + version: 6.3.0 + resolution: "npm-install-checks@npm:6.3.0" + dependencies: + semver: "npm:^7.1.1" + checksum: 10/6c20dadb878a0d2f1f777405217b6b63af1299d0b43e556af9363ee6eefaa98a17dfb7b612a473a473e96faf7e789c58b221e0d8ffdc1d34903c4f71618df3b4 + languageName: node + linkType: hard + +"npm-normalize-package-bin@npm:^3.0.0": + version: 3.0.1 + resolution: "npm-normalize-package-bin@npm:3.0.1" + checksum: 10/de416d720ab22137a36292ff8a333af499ea0933ef2320a8c6f56a73b0f0448227fec4db5c890d702e26d21d04f271415eab6580b5546456861cc0c19498a4bf + languageName: node + linkType: hard + +"npm-package-arg@npm:^11.0.0": + version: 11.0.3 + resolution: "npm-package-arg@npm:11.0.3" + dependencies: + hosted-git-info: "npm:^7.0.0" + proc-log: "npm:^4.0.0" + semver: "npm:^7.3.5" + validate-npm-package-name: "npm:^5.0.0" + checksum: 10/bacc863907edf98940286edc2fd80327901c1e8b34426d538cdc708ed66bc6567f06d742d838eaf35db6804347bb4ba56ca9cef032c4b52743b33e7a22a2678e + languageName: node + linkType: hard + +"npm-pick-manifest@npm:^9.0.0": + version: 9.1.0 + resolution: "npm-pick-manifest@npm:9.1.0" + dependencies: + npm-install-checks: "npm:^6.0.0" + npm-normalize-package-bin: "npm:^3.0.0" + npm-package-arg: "npm:^11.0.0" + semver: "npm:^7.3.5" + checksum: 10/e759e4fe4076da9169cf522964a80bbc096d50cd24c8c44b50b44706c4479bd9d9d018fbdb76c6ea0c6037e012e07c6c917a1ecaa7ae1a1169cddfae1c0f24b6 + languageName: node + linkType: hard + +"npm-run-path@npm:^3.0.0": + version: 3.1.0 + resolution: "npm-run-path@npm:3.1.0" + dependencies: + path-key: "npm:^3.0.0" + checksum: 10/141e0b8f0e3b137347a2896572c9a84701754dda0670d3ceb8c56a87702ee03c26227e4517ab93f2904acfc836547315e740b8289bb24ca0cd8ba2b198043b0f + languageName: node + linkType: hard + +"npmlog@npm:^6.0.0": + version: 6.0.2 + resolution: "npmlog@npm:6.0.2" + dependencies: + are-we-there-yet: "npm:^3.0.0" + console-control-strings: "npm:^1.1.0" + gauge: "npm:^4.0.3" + set-blocking: "npm:^2.0.0" + checksum: 10/82b123677e62deb9e7472e27b92386c09e6e254ee6c8bcd720b3011013e4168bc7088e984f4fbd53cb6e12f8b4690e23e4fa6132689313e0d0dc4feea45489bb + languageName: node + linkType: hard + +"object-assign@npm:^4.0.1": + version: 4.1.1 + resolution: "object-assign@npm:4.1.1" + checksum: 10/fcc6e4ea8c7fe48abfbb552578b1c53e0d194086e2e6bbbf59e0a536381a292f39943c6e9628af05b5528aa5e3318bb30d6b2e53cadaf5b8fe9e12c4b69af23f + languageName: node + linkType: hard + +"object-inspect@npm:^1.12.2, object-inspect@npm:^1.13.1, object-inspect@npm:^1.9.0": + version: 1.13.2 + resolution: "object-inspect@npm:1.13.2" + checksum: 10/7ef65583b6397570a17c56f0c1841e0920e83900f2c94638927abb7b81ac08a19c7aae135bd9dcca96208cac0c7332b4650fb927f027b0cf92d71df2990d0561 + languageName: node + linkType: hard + +"object-keys@npm:^1.1.1": + version: 1.1.1 + resolution: "object-keys@npm:1.1.1" + checksum: 10/3d81d02674115973df0b7117628ea4110d56042e5326413e4b4313f0bcdf7dd78d4a3acef2c831463fa3796a66762c49daef306f4a0ea1af44877d7086d73bde + languageName: node + linkType: hard + +"object.assign@npm:^4.1.4, object.assign@npm:^4.1.5": + version: 4.1.5 + resolution: "object.assign@npm:4.1.5" + dependencies: + call-bind: "npm:^1.0.5" + define-properties: "npm:^1.2.1" + has-symbols: "npm:^1.0.3" + object-keys: "npm:^1.1.1" + checksum: 10/dbb22da4cda82e1658349ea62b80815f587b47131b3dd7a4ab7f84190ab31d206bbd8fe7e26ae3220c55b65725ac4529825f6142154211220302aa6b1518045d + languageName: node + linkType: hard + +"object.fromentries@npm:^2.0.8": + version: 2.0.8 + resolution: "object.fromentries@npm:2.0.8" + dependencies: + call-bind: "npm:^1.0.7" + define-properties: "npm:^1.2.1" + es-abstract: "npm:^1.23.2" + es-object-atoms: "npm:^1.0.0" + checksum: 10/5b2e80f7af1778b885e3d06aeb335dcc86965e39464671adb7167ab06ac3b0f5dd2e637a90d8ebd7426d69c6f135a4753ba3dd7d0fe2a7030cf718dcb910fd92 + languageName: node + linkType: hard + +"object.groupby@npm:^1.0.3": + version: 1.0.3 + resolution: "object.groupby@npm:1.0.3" + dependencies: + call-bind: "npm:^1.0.7" + define-properties: "npm:^1.2.1" + es-abstract: "npm:^1.23.2" + checksum: 10/44cb86dd2c660434be65f7585c54b62f0425b0c96b5c948d2756be253ef06737da7e68d7106e35506ce4a44d16aa85a413d11c5034eb7ce5579ec28752eb42d0 + languageName: node + linkType: hard + +"object.values@npm:^1.2.0": + version: 1.2.0 + resolution: "object.values@npm:1.2.0" + dependencies: + call-bind: "npm:^1.0.7" + define-properties: "npm:^1.2.1" + es-object-atoms: "npm:^1.0.0" + checksum: 10/db2e498019c354428c5dd30d02980d920ac365b155fce4dcf63eb9433f98ccf0f72624309e182ce7cc227c95e45d474e1d483418e60de2293dd23fa3ebe34903 + languageName: node + linkType: hard + +"once@npm:^1.3.0, once@npm:^1.3.1, once@npm:^1.4.0": + version: 1.4.0 + resolution: "once@npm:1.4.0" + dependencies: + wrappy: "npm:1" + checksum: 10/cd0a88501333edd640d95f0d2700fbde6bff20b3d4d9bdc521bdd31af0656b5706570d6c6afe532045a20bb8dc0849f8332d6f2a416e0ba6d3d3b98806c7db68 + languageName: node + linkType: hard + +"onetime@npm:^5.1.0": + version: 5.1.2 + resolution: "onetime@npm:5.1.2" + dependencies: + mimic-fn: "npm:^2.1.0" + checksum: 10/e9fd0695a01cf226652f0385bf16b7a24153dbbb2039f764c8ba6d2306a8506b0e4ce570de6ad99c7a6eb49520743afdb66edd95ee979c1a342554ed49a9aadd + languageName: node + linkType: hard + +"optionator@npm:^0.9.3": + version: 0.9.3 + resolution: "optionator@npm:0.9.3" + dependencies: + "@aashutoshrathi/word-wrap": "npm:^1.2.3" + deep-is: "npm:^0.1.3" + fast-levenshtein: "npm:^2.0.6" + levn: "npm:^0.4.1" + prelude-ls: "npm:^1.2.1" + type-check: "npm:^0.4.0" + checksum: 10/fa28d3016395974f7fc087d6bbf0ac7f58ac3489f4f202a377e9c194969f329a7b88c75f8152b33fb08794a30dcd5c079db6bb465c28151357f113d80bbf67da + languageName: node + linkType: hard + +"os-homedir@npm:^1.0.0": + version: 1.0.2 + resolution: "os-homedir@npm:1.0.2" + checksum: 10/af609f5a7ab72de2f6ca9be6d6b91a599777afc122ac5cad47e126c1f67c176fe9b52516b9eeca1ff6ca0ab8587fe66208bc85e40a3940125f03cdb91408e9d2 + languageName: node + linkType: hard + +"p-finally@npm:^2.0.0": + version: 2.0.1 + resolution: "p-finally@npm:2.0.1" + checksum: 10/6306a2851c3b28f8b603624f395ae84dce76970498fed8aa6aae2d930595053746edf1e4ee0c4b78a97410d84aa4504d63179f5310d555511ecd226f53ed1e8e + languageName: node + linkType: hard + +"p-limit@npm:^2.2.0": + version: 2.3.0 + resolution: "p-limit@npm:2.3.0" + dependencies: + p-try: "npm:^2.0.0" + checksum: 10/84ff17f1a38126c3314e91ecfe56aecbf36430940e2873dadaa773ffe072dc23b7af8e46d4b6485d302a11673fe94c6b67ca2cfbb60c989848b02100d0594ac1 + languageName: node + linkType: hard + +"p-limit@npm:^3.0.2": + version: 3.1.0 + resolution: "p-limit@npm:3.1.0" + dependencies: + yocto-queue: "npm:^0.1.0" + checksum: 10/7c3690c4dbf62ef625671e20b7bdf1cbc9534e83352a2780f165b0d3ceba21907e77ad63401708145ca4e25bfc51636588d89a8c0aeb715e6c37d1c066430360 + languageName: node + linkType: hard + +"p-limit@npm:^4.0.0": + version: 4.0.0 + resolution: "p-limit@npm:4.0.0" + dependencies: + yocto-queue: "npm:^1.0.0" + checksum: 10/01d9d70695187788f984226e16c903475ec6a947ee7b21948d6f597bed788e3112cc7ec2e171c1d37125057a5f45f3da21d8653e04a3a793589e12e9e80e756b + languageName: node + linkType: hard + +"p-locate@npm:^4.1.0": + version: 4.1.0 + resolution: "p-locate@npm:4.1.0" + dependencies: + p-limit: "npm:^2.2.0" + checksum: 10/513bd14a455f5da4ebfcb819ef706c54adb09097703de6aeaa5d26fe5ea16df92b48d1ac45e01e3944ce1e6aa2a66f7f8894742b8c9d6e276e16cd2049a2b870 + languageName: node + linkType: hard + +"p-locate@npm:^5.0.0": + version: 5.0.0 + resolution: "p-locate@npm:5.0.0" + dependencies: + p-limit: "npm:^3.0.2" + checksum: 10/1623088f36cf1cbca58e9b61c4e62bf0c60a07af5ae1ca99a720837356b5b6c5ba3eb1b2127e47a06865fee59dd0453cad7cc844cda9d5a62ac1a5a51b7c86d3 + languageName: node + linkType: hard + +"p-locate@npm:^6.0.0": + version: 6.0.0 + resolution: "p-locate@npm:6.0.0" + dependencies: + p-limit: "npm:^4.0.0" + checksum: 10/2bfe5234efa5e7a4e74b30a5479a193fdd9236f8f6b4d2f3f69e3d286d9a7d7ab0c118a2a50142efcf4e41625def635bd9332d6cbf9cc65d85eb0718c579ab38 + languageName: node + linkType: hard + +"p-map@npm:^4.0.0": + version: 4.0.0 + resolution: "p-map@npm:4.0.0" + dependencies: + aggregate-error: "npm:^3.0.0" + checksum: 10/7ba4a2b1e24c05e1fc14bbaea0fc6d85cf005ae7e9c9425d4575550f37e2e584b1af97bcde78eacd7559208f20995988d52881334db16cf77bc1bcf68e48ed7c + languageName: node + linkType: hard + +"p-map@npm:^7.0.2": + version: 7.0.2 + resolution: "p-map@npm:7.0.2" + checksum: 10/b4a590038b991c17b9c1484aa8c24cb9d3aa8a6167d02b9f9459c9200c7d392202a860c95b6dcd190d51f5f083ed256b32f9cb5976785022b0111bab853ec58b + languageName: node + linkType: hard + +"p-try@npm:^2.0.0": + version: 2.2.0 + resolution: "p-try@npm:2.2.0" + checksum: 10/f8a8e9a7693659383f06aec604ad5ead237c7a261c18048a6e1b5b85a5f8a067e469aa24f5bc009b991ea3b058a87f5065ef4176793a200d4917349881216cae + languageName: node + linkType: hard + +"package-json-from-dist@npm:^1.0.0": + version: 1.0.0 + resolution: "package-json-from-dist@npm:1.0.0" + checksum: 10/ac706ec856a5a03f5261e4e48fa974f24feb044d51f84f8332e2af0af04fbdbdd5bbbfb9cbbe354190409bc8307c83a9e38c6672c3c8855f709afb0006a009ea + languageName: node + linkType: hard + +"parent-module@npm:^1.0.0": + version: 1.0.1 + resolution: "parent-module@npm:1.0.1" + dependencies: + callsites: "npm:^3.0.0" + checksum: 10/6ba8b255145cae9470cf5551eb74be2d22281587af787a2626683a6c20fbb464978784661478dd2a3f1dad74d1e802d403e1b03c1a31fab310259eec8ac560ff + languageName: node + linkType: hard + +"parent-module@npm:^2.0.0": + version: 2.0.0 + resolution: "parent-module@npm:2.0.0" + dependencies: + callsites: "npm:^3.1.0" + checksum: 10/f131f13d687a938556a01033561fb1b274b39921eb4425c7a691f0d91dcfbe9b19759c2b8d425a3ee7c8a46874e57fa418a690643880c3c7c56827aba12f78dd + languageName: node + linkType: hard + +"parse-entities@npm:^2.0.0": + version: 2.0.0 + resolution: "parse-entities@npm:2.0.0" + dependencies: + character-entities: "npm:^1.0.0" + character-entities-legacy: "npm:^1.0.0" + character-reference-invalid: "npm:^1.0.0" + is-alphanumerical: "npm:^1.0.0" + is-decimal: "npm:^1.0.0" + is-hexadecimal: "npm:^1.0.0" + checksum: 10/feb46b516722474797d72331421f3e62856750cfb4f70ba098b36447bf0b169e819cc4fdee53e022874d5f0c81b605d86e1912b9842a70e59a54de2fee81589d + languageName: node + linkType: hard + +"parse-entities@npm:^4.0.0": + version: 4.0.1 + resolution: "parse-entities@npm:4.0.1" + dependencies: + "@types/unist": "npm:^2.0.0" + character-entities: "npm:^2.0.0" + character-entities-legacy: "npm:^3.0.0" + character-reference-invalid: "npm:^2.0.0" + decode-named-character-reference: "npm:^1.0.0" + is-alphanumerical: "npm:^2.0.0" + is-decimal: "npm:^2.0.0" + is-hexadecimal: "npm:^2.0.0" + checksum: 10/71314312d2482422fcf0b6675e020643bab424b11f64c654b7843652cae03842a7802eda1fed194ec435debb5db47a33513eb6b1176888e9e998a0368f01f5c8 + languageName: node + linkType: hard + +"parse-imports@npm:^2.1.1": + version: 2.1.1 + resolution: "parse-imports@npm:2.1.1" + dependencies: + es-module-lexer: "npm:^1.5.3" + slashes: "npm:^3.0.12" + checksum: 10/466cba090fe8b77aa2edc2a7ebcde699a296f34db5384d89f2c78daa5e7a87979adbad8a478634a85f5546ec8b759b597cf1057d825b471db70ce5c1b0c8bbec + languageName: node + linkType: hard + +"parse-json@npm:^5.0.0, parse-json@npm:^5.2.0": + version: 5.2.0 + resolution: "parse-json@npm:5.2.0" + dependencies: + "@babel/code-frame": "npm:^7.0.0" + error-ex: "npm:^1.3.1" + json-parse-even-better-errors: "npm:^2.3.0" + lines-and-columns: "npm:^1.1.6" + checksum: 10/62085b17d64da57f40f6afc2ac1f4d95def18c4323577e1eced571db75d9ab59b297d1d10582920f84b15985cbfc6b6d450ccbf317644cfa176f3ed982ad87e2 + languageName: node + linkType: hard + +"parse-json@npm:^7.0.0": + version: 7.1.1 + resolution: "parse-json@npm:7.1.1" + dependencies: + "@babel/code-frame": "npm:^7.21.4" + error-ex: "npm:^1.3.2" + json-parse-even-better-errors: "npm:^3.0.0" + lines-and-columns: "npm:^2.0.3" + type-fest: "npm:^3.8.0" + checksum: 10/187275c7ac097dcfb3c7420bca2399caa4da33bcd5d5aac3604bda0e2b8eee4df61cc26aa0d79fab97f0d67bf42d41d332baa9f9f56ad27636ad785f1ae639e5 + languageName: node + linkType: hard + +"parse5-htmlparser2-tree-adapter@npm:^6.0.0": + version: 6.0.1 + resolution: "parse5-htmlparser2-tree-adapter@npm:6.0.1" + dependencies: + parse5: "npm:^6.0.1" + checksum: 10/3400a2cd1ad450b2fe148544154f86ea53d3ed6b6eab56c78bb43b9629d3dfe9f580dffd75bbf32be134ffef645b68081fc764bf75c210f236ab9c5c8c38c252 + languageName: node + linkType: hard + +"parse5@npm:^5.1.1": + version: 5.1.1 + resolution: "parse5@npm:5.1.1" + checksum: 10/5b509744cfe81488a33be05578df490c460690e64519fa67f0a0acb9c1bca05914e8acad17a977e2cf5964a000e43959b40024f0c243dd6595dd0cca8a32f71b + languageName: node + linkType: hard + +"parse5@npm:^6.0.1": + version: 6.0.1 + resolution: "parse5@npm:6.0.1" + checksum: 10/dfb110581f62bd1425725a7c784ae022a24669bd0efc24b58c71fc731c4d868193e2ebd85b74cde2dbb965e4dcf07059b1e651adbec1b3b5267531bd132fdb75 + languageName: node + linkType: hard + +"path-exists@npm:^4.0.0": + version: 4.0.0 + resolution: "path-exists@npm:4.0.0" + checksum: 10/505807199dfb7c50737b057dd8d351b82c033029ab94cb10a657609e00c1bc53b951cfdbccab8de04c5584d5eff31128ce6afd3db79281874a5ef2adbba55ed1 + languageName: node + linkType: hard + +"path-exists@npm:^5.0.0": + version: 5.0.0 + resolution: "path-exists@npm:5.0.0" + checksum: 10/8ca842868cab09423994596eb2c5ec2a971c17d1a3cb36dbf060592c730c725cd524b9067d7d2a1e031fef9ba7bd2ac6dc5ec9fb92aa693265f7be3987045254 + languageName: node + linkType: hard + +"path-is-absolute@npm:^1.0.0": + version: 1.0.1 + resolution: "path-is-absolute@npm:1.0.1" + checksum: 10/060840f92cf8effa293bcc1bea81281bd7d363731d214cbe5c227df207c34cd727430f70c6037b5159c8a870b9157cba65e775446b0ab06fd5ecc7e54615a3b8 + languageName: node + linkType: hard + +"path-key@npm:^3.0.0, path-key@npm:^3.1.0": + version: 3.1.1 + resolution: "path-key@npm:3.1.1" + checksum: 10/55cd7a9dd4b343412a8386a743f9c746ef196e57c823d90ca3ab917f90ab9f13dd0ded27252ba49dbdfcab2b091d998bc446f6220cd3cea65db407502a740020 + languageName: node + linkType: hard + +"path-parse@npm:^1.0.7": + version: 1.0.7 + resolution: "path-parse@npm:1.0.7" + checksum: 10/49abf3d81115642938a8700ec580da6e830dde670be21893c62f4e10bd7dd4c3742ddc603fe24f898cba7eb0c6bc1777f8d9ac14185d34540c6d4d80cd9cae8a + languageName: node + linkType: hard + +"path-scurry@npm:^1.11.1": + version: 1.11.1 + resolution: "path-scurry@npm:1.11.1" + dependencies: + lru-cache: "npm:^10.2.0" + minipass: "npm:^5.0.0 || ^6.0.2 || ^7.0.0" + checksum: 10/5e8845c159261adda6f09814d7725683257fcc85a18f329880ab4d7cc1d12830967eae5d5894e453f341710d5484b8fdbbd4d75181b4d6e1eb2f4dc7aeadc434 + languageName: node + linkType: hard + +"path-type@npm:^3.0.0": + version: 3.0.0 + resolution: "path-type@npm:3.0.0" + dependencies: + pify: "npm:^3.0.0" + checksum: 10/735b35e256bad181f38fa021033b1c33cfbe62ead42bb2222b56c210e42938eecb272ae1949f3b6db4ac39597a61b44edd8384623ec4d79bfdc9a9c0f12537a6 + languageName: node + linkType: hard + +"path-type@npm:^4.0.0": + version: 4.0.0 + resolution: "path-type@npm:4.0.0" + checksum: 10/5b1e2daa247062061325b8fdbfd1fb56dde0a448fb1455453276ea18c60685bdad23a445dc148cf87bc216be1573357509b7d4060494a6fd768c7efad833ee45 + languageName: node + linkType: hard + +"pathe@npm:^2.0.1": + version: 2.0.2 + resolution: "pathe@npm:2.0.2" + checksum: 10/027dd246720ec6d3b5567e2b0201f1a815b6a69f2912a4dcafed59620afc729af15b4aff4bc780504c88d11dfb081c051e37327b928a093e714c3e09bf35aff3 + languageName: node + linkType: hard + +"pathval@npm:^2.0.0": + version: 2.0.0 + resolution: "pathval@npm:2.0.0" + checksum: 10/b91575bf9cdf01757afd7b5e521eb8a0b874a49bc972d08e0047cfea0cd3c019f5614521d4bc83d2855e3fcc331db6817dfd533dd8f3d90b16bc76fad2450fc1 + languageName: node + linkType: hard + +"picocolors@npm:^1.0.0, picocolors@npm:^1.0.1, picocolors@npm:^1.1.1": + version: 1.1.1 + resolution: "picocolors@npm:1.1.1" + checksum: 10/e1cf46bf84886c79055fdfa9dcb3e4711ad259949e3565154b004b260cd356c5d54b31a1437ce9782624bf766272fe6b0154f5f0c744fb7af5d454d2b60db045 + languageName: node + linkType: hard + +"picomatch@npm:^2.0.4, picomatch@npm:^2.2.1, picomatch@npm:^2.3.1": + version: 2.3.1 + resolution: "picomatch@npm:2.3.1" + checksum: 10/60c2595003b05e4535394d1da94850f5372c9427ca4413b71210f437f7b2ca091dbd611c45e8b37d10036fa8eade25c1b8951654f9d3973bfa66a2ff4d3b08bc + languageName: node + linkType: hard + +"picomatch@npm:^4.0.2": + version: 4.0.2 + resolution: "picomatch@npm:4.0.2" + checksum: 10/ce617b8da36797d09c0baacb96ca8a44460452c89362d7cb8f70ca46b4158ba8bc3606912de7c818eb4a939f7f9015cef3c766ec8a0c6bfc725fdc078e39c717 + languageName: node + linkType: hard + +"pify@npm:^2.3.0": + version: 2.3.0 + resolution: "pify@npm:2.3.0" + checksum: 10/9503aaeaf4577acc58642ad1d25c45c6d90288596238fb68f82811c08104c800e5a7870398e9f015d82b44ecbcbef3dc3d4251a1cbb582f6e5959fe09884b2ba + languageName: node + linkType: hard + +"pify@npm:^3.0.0": + version: 3.0.0 + resolution: "pify@npm:3.0.0" + checksum: 10/668c1dc8d9fc1b34b9ce3b16ba59deb39d4dc743527bf2ed908d2b914cb8ba40aa5ba6960b27c417c241531c5aafd0598feeac2d50cb15278cf9863fa6b02a77 + languageName: node + linkType: hard + +"pinkie-promise@npm:^2.0.1": + version: 2.0.1 + resolution: "pinkie-promise@npm:2.0.1" + dependencies: + pinkie: "npm:^2.0.0" + checksum: 10/b53a4a2e73bf56b6f421eef711e7bdcb693d6abb474d57c5c413b809f654ba5ee750c6a96dd7225052d4b96c4d053cdcb34b708a86fceed4663303abee52fcca + languageName: node + linkType: hard + +"pinkie@npm:^2.0.0": + version: 2.0.4 + resolution: "pinkie@npm:2.0.4" + checksum: 10/11d207257a044d1047c3755374d36d84dda883a44d030fe98216bf0ea97da05a5c9d64e82495387edeb9ee4f52c455bca97cdb97629932be65e6f54b29f5aec8 + languageName: node + linkType: hard + +"pluralize@npm:^8.0.0": + version: 8.0.0 + resolution: "pluralize@npm:8.0.0" + checksum: 10/17877fdfdb7ddb3639ce257ad73a7c51a30a966091e40f56ea9f2f545b5727ce548d4928f8cb3ce38e7dc0c5150407d318af6a4ed0ea5265d378473b4c2c61ec + languageName: node + linkType: hard + +"possible-typed-array-names@npm:^1.0.0": + version: 1.0.0 + resolution: "possible-typed-array-names@npm:1.0.0" + checksum: 10/8ed3e96dfeea1c5880c1f4c9cb707e5fb26e8be22f14f82ef92df20fd2004e635c62ba47fbe8f2bb63bfd80dac1474be2fb39798da8c2feba2815435d1f749af + languageName: node + linkType: hard + +"postcss@npm:^8.4.49": + version: 8.4.49 + resolution: "postcss@npm:8.4.49" + dependencies: + nanoid: "npm:^3.3.7" + picocolors: "npm:^1.1.1" + source-map-js: "npm:^1.2.1" + checksum: 10/28fe1005b1339870e0a5006375ba5ac1213fd69800f79e7db09c398e074421ba6e162898e94f64942fed554037fd292db3811d87835d25ab5ef7f3c9daacb6ca + languageName: node + linkType: hard + +"prelude-ls@npm:^1.2.1": + version: 1.2.1 + resolution: "prelude-ls@npm:1.2.1" + checksum: 10/0b9d2c76801ca652a7f64892dd37b7e3fab149a37d2424920099bf894acccc62abb4424af2155ab36dea8744843060a2d8ddc983518d0b1e22265a22324b72ed + languageName: node + linkType: hard + +"prettier@npm:3.4.2": + version: 3.4.2 + resolution: "prettier@npm:3.4.2" + bin: + prettier: bin/prettier.cjs + checksum: 10/a3e806fb0b635818964d472d35d27e21a4e17150c679047f5501e1f23bd4aa806adf660f0c0d35214a210d5d440da6896c2e86156da55f221a57938278dc326e + languageName: node + linkType: hard + +"pretty-bytes@npm:6.1.1": + version: 6.1.1 + resolution: "pretty-bytes@npm:6.1.1" + checksum: 10/43d29d909d2d88072da2c3d72f8fd0f2d2523c516bfa640aff6e31f596ea1004b6601f4cabc50d14b2cf10e82635ebe5b7d9378f3d5bae1c0067131829421b8a + languageName: node + linkType: hard + +"proc-log@npm:^4.0.0, proc-log@npm:^4.2.0": + version: 4.2.0 + resolution: "proc-log@npm:4.2.0" + checksum: 10/4e1394491b717f6c1ade15c570ecd4c2b681698474d3ae2d303c1e4b6ab9455bd5a81566211e82890d5a5ae9859718cc6954d5150bb18b09b72ecb297beae90a + languageName: node + linkType: hard + +"promise-inflight@npm:^1.0.1": + version: 1.0.1 + resolution: "promise-inflight@npm:1.0.1" + checksum: 10/1560d413ea20c5a74f3631d39ba8cbd1972b9228072a755d01e1f5ca5110382d9af76a1582d889445adc6e75bb5ac4886b56dc4b6eae51b30145d7bb1ac7505b + languageName: node + linkType: hard + +"promise-retry@npm:^2.0.1": + version: 2.0.1 + resolution: "promise-retry@npm:2.0.1" + dependencies: + err-code: "npm:^2.0.2" + retry: "npm:^0.12.0" + checksum: 10/96e1a82453c6c96eef53a37a1d6134c9f2482f94068f98a59145d0986ca4e497bf110a410adf73857e588165eab3899f0ebcf7b3890c1b3ce802abc0d65967d4 + languageName: node + linkType: hard + +"propose@npm:0.0.5": + version: 0.0.5 + resolution: "propose@npm:0.0.5" + dependencies: + levenshtein-edit-distance: "npm:^1.0.0" + checksum: 10/ee91a0b689fd7b27714d02cd647253cb2a11a972e048765dfb55b1a9146ad50b92f8ed535e45af4fe0544b82b0111ee04aeae27bf54bd3b6806e2e2ff4bc96e4 + languageName: node + linkType: hard + +"pump@npm:^3.0.0": + version: 3.0.0 + resolution: "pump@npm:3.0.0" + dependencies: + end-of-stream: "npm:^1.1.0" + once: "npm:^1.3.1" + checksum: 10/e42e9229fba14732593a718b04cb5e1cfef8254544870997e0ecd9732b189a48e1256e4e5478148ecb47c8511dca2b09eae56b4d0aad8009e6fac8072923cfc9 languageName: node linkType: hard -"node-fetch@npm:~2.6.1": - version: 2.6.13 - resolution: "node-fetch@npm:2.6.13" - dependencies: - whatwg-url: "npm:^5.0.0" - peerDependencies: - encoding: ^0.1.0 - peerDependenciesMeta: - encoding: - optional: true - checksum: 72f94498d547e322207575b2778e7b3d969b0d73f35a19f258c7fb982bf0ae96e5a3a518477300ba1dd2bd22e6b05be074648ed88448c5cf1a9b7d23c6529d1a +"punycode.js@npm:2.3.1": + version: 2.3.1 + resolution: "punycode.js@npm:2.3.1" + checksum: 10/f0e946d1edf063f9e3d30a32ca86d8ff90ed13ca40dad9c75d37510a04473340cfc98db23a905cc1e517b1e9deb0f6021dce6f422ace235c60d3c9ac47c5a16a languageName: node linkType: hard -"node-gyp@npm:latest": - version: 9.4.0 - resolution: "node-gyp@npm:9.4.0" - dependencies: - env-paths: "npm:^2.2.0" - exponential-backoff: "npm:^3.1.1" - glob: "npm:^7.1.4" - graceful-fs: "npm:^4.2.6" - make-fetch-happen: "npm:^11.0.3" - nopt: "npm:^6.0.0" - npmlog: "npm:^6.0.0" - rimraf: "npm:^3.0.2" - semver: "npm:^7.3.5" - tar: "npm:^6.1.2" - which: "npm:^2.0.2" - bin: - node-gyp: bin/node-gyp.js - checksum: 458317127c63877365f227b18ef2362b013b7f8440b35ae722935e61b31e6b84ec0e3625ab07f90679e2f41a1d5a7df6c4049fdf8e7b3c81fcf22775147b47ac +"punycode@npm:^2.1.0": + version: 2.3.0 + resolution: "punycode@npm:2.3.0" + checksum: 10/d4e7fbb96f570c57d64b09a35a1182c879ac32833de7c6926a2c10619632c1377865af3dab5479f59d51da18bcd5035a20a5ef6ceb74020082a3e78025d9a9ca languageName: node linkType: hard -"node-inspect-extracted@npm:2.0.0": - version: 2.0.0 - resolution: "node-inspect-extracted@npm:2.0.0" - checksum: 1809db815b5690ea7b83c8ed18d7c0162bcab0c278a776928022f65aab89594d34b191ab3bd59dc5216a9c5ec92d830c3446d5bea7c87f551f8573d1822c1d8c +"q@npm:^1.5.1": + version: 1.5.1 + resolution: "q@npm:1.5.1" + checksum: 10/70c4a30b300277165cd855889cd3aa681929840a5940413297645c5691e00a3549a2a4153131efdf43fe8277ee8cf5a34c9636dcb649d83ad47f311a015fd380 languageName: node linkType: hard -"node-inspect-extracted@npm:2.0.2": - version: 2.0.2 - resolution: "node-inspect-extracted@npm:2.0.2" - checksum: cc2f9fbbe701193918f176013b93cfadcddf3e15cb501ef4aef206c0f0f8ebd83280489344ccf3912f1ad7303af5c4cfa322b32cea8343be9cebdfc8423c0efb +"queue-microtask@npm:^1.2.2": + version: 1.2.3 + resolution: "queue-microtask@npm:1.2.3" + checksum: 10/72900df0616e473e824202113c3df6abae59150dfb73ed13273503127235320e9c8ca4aaaaccfd58cf417c6ca92a6e68ee9a5c3182886ae949a768639b388a7b languageName: node linkType: hard -"node-notifier@npm:10.0.1": - version: 10.0.1 - resolution: "node-notifier@npm:10.0.1" - dependencies: - growly: "npm:^1.3.0" - is-wsl: "npm:^2.2.0" - semver: "npm:^7.3.5" - shellwords: "npm:^0.1.1" - uuid: "npm:^8.3.2" - which: "npm:^2.0.2" - checksum: b238ffe16fd3b14df4c021e7d2a64483a3ac549b22d93e3c0bcfd9557a12d1c370ce6d8889308bc9c31c7464d99b224e7056dbd8cf4fb37b0f6296185972774a +"quotation@npm:^2.0.0": + version: 2.0.3 + resolution: "quotation@npm:2.0.3" + checksum: 10/73900a34775a868c8eaa2a4fa8f3ef907f9b5b723eb33eba570fefe14fae44f9015f8e8adf6ea5853c90fd76504b699f6235b6b2e7c0bf13f5f641c8e5d785f7 languageName: node linkType: hard -"nopt@npm:^6.0.0": - version: 6.0.0 - resolution: "nopt@npm:6.0.0" +"read-package-json-fast@npm:^3.0.0": + version: 3.0.2 + resolution: "read-package-json-fast@npm:3.0.2" dependencies: - abbrev: "npm:^1.0.0" - bin: - nopt: bin/nopt.js - checksum: 3c1128e07cd0241ae66d6e6a472170baa9f3e84dd4203950ba8df5bafac4efa2166ce917a57ef02b01ba7c40d18b2cc64b29b225fd3640791fe07b24f0b33a32 + json-parse-even-better-errors: "npm:^3.0.0" + npm-normalize-package-bin: "npm:^3.0.0" + checksum: 10/8d406869f045f1d76e2a99865a8fd1c1af9c1dc06200b94d2b07eef87ed734b22703a8d72e1cd36ea36cc48e22020bdd187f88243c7dd0563f72114d38c17072 languageName: node linkType: hard -"normalize-package-data@npm:^2.5.0": - version: 2.5.0 - resolution: "normalize-package-data@npm:2.5.0" +"read-pkg-up@npm:^7.0.1": + version: 7.0.1 + resolution: "read-pkg-up@npm:7.0.1" dependencies: - hosted-git-info: "npm:^2.1.4" - resolve: "npm:^1.10.0" - semver: "npm:2 || 3 || 4 || 5" - validate-npm-package-license: "npm:^3.0.1" - checksum: 644f830a8bb9b7cc9bf2f6150618727659ee27cdd0840d1c1f97e8e6cab0803a098a2c19f31c6247ad9d3a0792e61521a13a6e8cd87cc6bb676e3150612c03d4 + find-up: "npm:^4.1.0" + read-pkg: "npm:^5.2.0" + type-fest: "npm:^0.8.1" + checksum: 10/e4e93ce70e5905b490ca8f883eb9e48b5d3cebc6cd4527c25a0d8f3ae2903bd4121c5ab9c5a3e217ada0141098eeb661313c86fa008524b089b8ed0b7f165e44 languageName: node linkType: hard -"normalize-package-data@npm:^3.0.0, normalize-package-data@npm:^3.0.2": - version: 3.0.3 - resolution: "normalize-package-data@npm:3.0.3" +"read-pkg@npm:^5.2.0": + version: 5.2.0 + resolution: "read-pkg@npm:5.2.0" dependencies: - hosted-git-info: "npm:^4.0.1" - is-core-module: "npm:^2.5.0" - semver: "npm:^7.3.4" - validate-npm-package-license: "npm:^3.0.1" - checksum: 3cd3b438c9c7b15d72ed2d1bbf0f8cc2d07bfe27702fc9e95d039f0af4e069dc75c0646e75068f9f9255a8aae64b59aa4fe2177e65787145fb996c3d38d48acb + "@types/normalize-package-data": "npm:^2.4.0" + normalize-package-data: "npm:^2.5.0" + parse-json: "npm:^5.0.0" + type-fest: "npm:^0.6.0" + checksum: 10/eb696e60528b29aebe10e499ba93f44991908c57d70f2d26f369e46b8b9afc208ef11b4ba64f67630f31df8b6872129e0a8933c8c53b7b4daf0eace536901222 languageName: node linkType: hard -"npm-run-path@npm:^3.0.0": - version: 3.1.0 - resolution: "npm-run-path@npm:3.1.0" +"readable-stream@npm:^3.0.2, readable-stream@npm:^3.6.0": + version: 3.6.2 + resolution: "readable-stream@npm:3.6.2" dependencies: - path-key: "npm:^3.0.0" - checksum: 141e0b8f0e3b137347a2896572c9a84701754dda0670d3ceb8c56a87702ee03c26227e4517ab93f2904acfc836547315e740b8289bb24ca0cd8ba2b198043b0f + inherits: "npm:^2.0.3" + string_decoder: "npm:^1.1.1" + util-deprecate: "npm:^1.0.1" + checksum: 10/d9e3e53193adcdb79d8f10f2a1f6989bd4389f5936c6f8b870e77570853561c362bee69feca2bbb7b32368ce96a85504aa4cedf7cf80f36e6a9de30d64244048 languageName: node linkType: hard -"npm-run-path@npm:^4.0.1": - version: 4.0.1 - resolution: "npm-run-path@npm:4.0.1" +"readdirp@npm:~3.6.0": + version: 3.6.0 + resolution: "readdirp@npm:3.6.0" dependencies: - path-key: "npm:^3.0.0" - checksum: 5374c0cea4b0bbfdfae62da7bbdf1e1558d338335f4cacf2515c282ff358ff27b2ecb91ffa5330a8b14390ac66a1e146e10700440c1ab868208430f56b5f4d23 + picomatch: "npm:^2.2.1" + checksum: 10/196b30ef6ccf9b6e18c4e1724b7334f72a093d011a99f3b5920470f0b3406a51770867b3e1ae9711f227ef7a7065982f6ee2ce316746b2cb42c88efe44297fe7 languageName: node linkType: hard -"npm-run-path@npm:^5.1.0": - version: 5.1.0 - resolution: "npm-run-path@npm:5.1.0" - dependencies: - path-key: "npm:^4.0.0" - checksum: dc184eb5ec239d6a2b990b43236845332ef12f4e0beaa9701de724aa797fe40b6bbd0157fb7639d24d3ab13f5d5cf22d223a19c6300846b8126f335f788bee66 +"reflect-metadata@npm:0.1.13": + version: 0.1.13 + resolution: "reflect-metadata@npm:0.1.13" + checksum: 10/732570da35d2d96f8fdd5aac60fb263aa92f6512eaded5962b052bd9e90f22a9dec5aaf0d7ff4bfe97646c9530e8444e8435c2d80b24d0bdf938b5d47f6f5b83 languageName: node linkType: hard -"npmlog@npm:^6.0.0": - version: 6.0.2 - resolution: "npmlog@npm:6.0.2" - dependencies: - are-we-there-yet: "npm:^3.0.0" - console-control-strings: "npm:^1.1.0" - gauge: "npm:^4.0.3" - set-blocking: "npm:^2.0.0" - checksum: 82b123677e62deb9e7472e27b92386c09e6e254ee6c8bcd720b3011013e4168bc7088e984f4fbd53cb6e12f8b4690e23e4fa6132689313e0d0dc4feea45489bb +"regexp-tree@npm:^0.1.27": + version: 0.1.27 + resolution: "regexp-tree@npm:0.1.27" + bin: + regexp-tree: bin/regexp-tree + checksum: 10/08c70c8adb5a0d4af1061bf9eb05d3b6e1d948c433d6b7008e4b5eb12a49429c2d6ca8e9106339a432aa0d07bd6e1bccc638d8f4ab0d045f3adad22182b300a2 languageName: node linkType: hard -"object-inspect@npm:^1.12.3, object-inspect@npm:^1.9.0": - version: 1.12.3 - resolution: "object-inspect@npm:1.12.3" - checksum: 532b0036f0472f561180fac0d04fe328ee01f57637624c83fb054f81b5bfe966cdf4200612a499ed391a7ca3c46b20a0bc3a55fc8241d944abe687c556a32b39 +"regexp.prototype.flags@npm:^1.4.3, regexp.prototype.flags@npm:^1.5.2": + version: 1.5.2 + resolution: "regexp.prototype.flags@npm:1.5.2" + dependencies: + call-bind: "npm:^1.0.6" + define-properties: "npm:^1.2.1" + es-errors: "npm:^1.3.0" + set-function-name: "npm:^2.0.1" + checksum: 10/9fffc01da9c4e12670ff95bc5204364615fcc12d86fc30642765af908675678ebb0780883c874b2dbd184505fb52fa603d80073ecf69f461ce7f56b15d10be9c languageName: node linkType: hard -"object-keys@npm:^1.1.1": - version: 1.1.1 - resolution: "object-keys@npm:1.1.1" - checksum: 3d81d02674115973df0b7117628ea4110d56042e5326413e4b4313f0bcdf7dd78d4a3acef2c831463fa3796a66762c49daef306f4a0ea1af44877d7086d73bde +"regjsparser@npm:^0.10.0": + version: 0.10.0 + resolution: "regjsparser@npm:0.10.0" + dependencies: + jsesc: "npm:~0.5.0" + bin: + regjsparser: bin/parser + checksum: 10/06f7f0e59598de20769ce5637bbd8879387f67c0eeb8ccc8857331c623332718c25d8d20bd74df210bf636dde061474e8bd365cf73af20470f0b3cb42cd42019 languageName: node linkType: hard -"object.assign@npm:^4.1.4": - version: 4.1.4 - resolution: "object.assign@npm:4.1.4" +"remark-cli@npm:12.0.1": + version: 12.0.1 + resolution: "remark-cli@npm:12.0.1" dependencies: - call-bind: "npm:^1.0.2" - define-properties: "npm:^1.1.4" - has-symbols: "npm:^1.0.3" - object-keys: "npm:^1.1.1" - checksum: fd82d45289df0a952d772817622ecbaeb4ec933d3abb53267aede083ee38f6a395af8fadfbc569ee575115b0b7c9b286e7cfb2b7a2557b1055f7acbce513bc29 + import-meta-resolve: "npm:^4.0.0" + markdown-extensions: "npm:^2.0.0" + remark: "npm:^15.0.0" + unified-args: "npm:^11.0.0" + bin: + remark: cli.js + checksum: 10/30f13cb8f49aa6f973a981ce7cee87b1700951c22af9446dbf1d57923d591b668c9af00c438297250f7e32693bce1fec77599621f6a734ebca1007ebd71e6636 languageName: node linkType: hard -"object.fromentries@npm:^2.0.6": - version: 2.0.7 - resolution: "object.fromentries@npm:2.0.7" +"remark-directive@npm:3.0.0": + version: 3.0.0 + resolution: "remark-directive@npm:3.0.0" dependencies: - call-bind: "npm:^1.0.2" - define-properties: "npm:^1.2.0" - es-abstract: "npm:^1.22.1" - checksum: 1bfbe42a51f8d84e417d193fae78e4b8eebb134514cdd44406480f8e8a0e075071e0717635d8e3eccd50fec08c1d555fe505c38804cbac0808397187653edd59 + "@types/mdast": "npm:^4.0.0" + mdast-util-directive: "npm:^3.0.0" + micromark-extension-directive: "npm:^3.0.0" + unified: "npm:^11.0.0" + checksum: 10/fc23794c0996f5a926d4fd759632bd6fcbc8a1a34c47723d03e1a3aa3a1e5389549ae46fd679cd2ab571ca336b7ed53e76c459616559518200d3019984b5e147 languageName: node linkType: hard -"object.groupby@npm:^1.0.0": - version: 1.0.1 - resolution: "object.groupby@npm:1.0.1" +"remark-frontmatter@npm:5.0.0": + version: 5.0.0 + resolution: "remark-frontmatter@npm:5.0.0" dependencies: - call-bind: "npm:^1.0.2" - define-properties: "npm:^1.2.0" - es-abstract: "npm:^1.22.1" - get-intrinsic: "npm:^1.2.1" - checksum: b7123d91403f95d63978513b23a6079c30f503311f64035fafc863c291c787f287b58df3b21ef002ce1d0b820958c9009dd5a8ab696e0eca325639d345e41524 + "@types/mdast": "npm:^4.0.0" + mdast-util-frontmatter: "npm:^2.0.0" + micromark-extension-frontmatter: "npm:^2.0.0" + unified: "npm:^11.0.0" + checksum: 10/5d859f336e9cd6f6ed02139a76781b35a8cabbbb240d30dd8048e1c74d7b8e8335b98f27290c9787baab3bc5eb935347a046fa85ad307cf0f7ea6c1ecfde8dc4 languageName: node linkType: hard -"object.values@npm:^1.1.6": - version: 1.1.7 - resolution: "object.values@npm:1.1.7" +"remark-gfm@npm:4.0.0": + version: 4.0.0 + resolution: "remark-gfm@npm:4.0.0" dependencies: - call-bind: "npm:^1.0.2" - define-properties: "npm:^1.2.0" - es-abstract: "npm:^1.22.1" - checksum: 20ab42c0bbf984405c80e060114b18cf5d629a40a132c7eac4fb79c5d06deb97496311c19297dcf9c61f45c2539cd4c7f7c5d6230e51db360ff297bbc9910162 + "@types/mdast": "npm:^4.0.0" + mdast-util-gfm: "npm:^3.0.0" + micromark-extension-gfm: "npm:^3.0.0" + remark-parse: "npm:^11.0.0" + remark-stringify: "npm:^11.0.0" + unified: "npm:^11.0.0" + checksum: 10/9f7b17aae0e9dc79ba9c989c2a679baff7161e1831a87307cfa2e0e9b0c492bd8c1900cdf7305855b898a2a9fab9aa8e586d71ce49cbc1ea90f68b714c249c0d languageName: node linkType: hard -"once@npm:^1.3.0, once@npm:^1.3.1, once@npm:^1.4.0": - version: 1.4.0 - resolution: "once@npm:1.4.0" +"remark-lint-blockquote-indentation@npm:4.0.0": + version: 4.0.0 + resolution: "remark-lint-blockquote-indentation@npm:4.0.0" dependencies: - wrappy: "npm:1" - checksum: cd0a88501333edd640d95f0d2700fbde6bff20b3d4d9bdc521bdd31af0656b5706570d6c6afe532045a20bb8dc0849f8332d6f2a416e0ba6d3d3b98806c7db68 + "@types/mdast": "npm:^4.0.0" + mdast-util-phrasing: "npm:^4.0.0" + pluralize: "npm:^8.0.0" + unified-lint-rule: "npm:^3.0.0" + unist-util-position: "npm:^5.0.0" + unist-util-visit-parents: "npm:^6.0.0" + checksum: 10/226f03f452c477f1f4202553b896f96cb7e3901630eb071ebdc4e8023eff0ea85baecc3c0842454efcd451ee3078f60eeeda4b674be1917dab52531df4b130f3 languageName: node linkType: hard -"onetime@npm:^5.1.0, onetime@npm:^5.1.2": - version: 5.1.2 - resolution: "onetime@npm:5.1.2" +"remark-lint-checkbox-character-style@npm:5.0.0": + version: 5.0.0 + resolution: "remark-lint-checkbox-character-style@npm:5.0.0" dependencies: - mimic-fn: "npm:^2.1.0" - checksum: e9fd0695a01cf226652f0385bf16b7a24153dbbb2039f764c8ba6d2306a8506b0e4ce570de6ad99c7a6eb49520743afdb66edd95ee979c1a342554ed49a9aadd + "@types/mdast": "npm:^4.0.0" + mdast-util-phrasing: "npm:^4.0.0" + unified-lint-rule: "npm:^3.0.0" + unist-util-position: "npm:^5.0.0" + unist-util-visit-parents: "npm:^6.0.0" + vfile-message: "npm:^4.0.0" + checksum: 10/e1b06a2b457aa1a462b6ccba4a4df57f8ea9b9e5823adf5e8c6ae3a1e250a5684e1ff709235bdee243a41b30e781eb998347623c16e862041662289e99c3ebaa languageName: node linkType: hard -"onetime@npm:^6.0.0": - version: 6.0.0 - resolution: "onetime@npm:6.0.0" +"remark-lint-checkbox-content-indent@npm:5.0.0": + version: 5.0.0 + resolution: "remark-lint-checkbox-content-indent@npm:5.0.0" dependencies: - mimic-fn: "npm:^4.0.0" - checksum: 0846ce78e440841335d4e9182ef69d5762e9f38aa7499b19f42ea1c4cd40f0b4446094c455c713f9adac3f4ae86f613bb5e30c99e52652764d06a89f709b3788 + "@types/mdast": "npm:^4.0.0" + mdast-util-phrasing: "npm:^4.0.0" + pluralize: "npm:^8.0.0" + unified-lint-rule: "npm:^3.0.0" + unist-util-position: "npm:^5.0.0" + unist-util-visit-parents: "npm:^6.0.0" + checksum: 10/b3ba7a4fef361d7d2ae7cf562a00b6b472234861891aa786da9a44b0e78eb1dc2176a925bb4881f1f82fb69d175e8d13d9c9726d93afbdc3a002dd8a201aaf1f languageName: node linkType: hard -"optionator@npm:^0.9.3": - version: 0.9.3 - resolution: "optionator@npm:0.9.3" +"remark-lint-code-block-style@npm:4.0.0": + version: 4.0.0 + resolution: "remark-lint-code-block-style@npm:4.0.0" dependencies: - "@aashutoshrathi/word-wrap": "npm:^1.2.3" - deep-is: "npm:^0.1.3" - fast-levenshtein: "npm:^2.0.6" - levn: "npm:^0.4.1" - prelude-ls: "npm:^1.2.1" - type-check: "npm:^0.4.0" - checksum: fa28d3016395974f7fc087d6bbf0ac7f58ac3489f4f202a377e9c194969f329a7b88c75f8152b33fb08794a30dcd5c079db6bb465c28151357f113d80bbf67da + "@types/mdast": "npm:^4.0.0" + mdast-util-phrasing: "npm:^4.0.0" + unified-lint-rule: "npm:^3.0.0" + unist-util-position: "npm:^5.0.0" + unist-util-visit-parents: "npm:^6.0.0" + vfile-message: "npm:^4.0.0" + checksum: 10/8bb15c71ff7cab2ff65db7a70170b9f15912527dca7ffa166fd024113882cec7e38d4ba136e2099fd4ec41ed0a5e071d605bb9c73e356a0e20f18b2ceafc22b2 languageName: node linkType: hard -"os-homedir@npm:^1.0.0": - version: 1.0.2 - resolution: "os-homedir@npm:1.0.2" - checksum: af609f5a7ab72de2f6ca9be6d6b91a599777afc122ac5cad47e126c1f67c176fe9b52516b9eeca1ff6ca0ab8587fe66208bc85e40a3940125f03cdb91408e9d2 +"remark-lint-definition-case@npm:4.0.0": + version: 4.0.0 + resolution: "remark-lint-definition-case@npm:4.0.0" + dependencies: + "@types/mdast": "npm:^4.0.0" + mdast-util-phrasing: "npm:^4.0.0" + unified-lint-rule: "npm:^3.0.0" + unist-util-visit-parents: "npm:^6.0.0" + checksum: 10/624f74badbdee0e8d1370be5cebe240b5f24fabde34321938f1b8b7244f669916eeffde63b603df0a93e2813928c7871d1e304606f3650ae3902c05302a17c1c languageName: node linkType: hard -"os-tmpdir@npm:~1.0.2": - version: 1.0.2 - resolution: "os-tmpdir@npm:1.0.2" - checksum: 5666560f7b9f10182548bf7013883265be33620b1c1b4a4d405c25be2636f970c5488ff3e6c48de75b55d02bde037249fe5dbfbb4c0fb7714953d56aed062e6d +"remark-lint-definition-spacing@npm:4.0.0": + version: 4.0.0 + resolution: "remark-lint-definition-spacing@npm:4.0.0" + dependencies: + "@types/mdast": "npm:^4.0.0" + longest-streak: "npm:^3.0.0" + mdast-util-phrasing: "npm:^4.0.0" + pluralize: "npm:^8.0.0" + unified-lint-rule: "npm:^3.0.0" + unist-util-visit-parents: "npm:^6.0.0" + checksum: 10/b826fd8c007c9d899aa80230c2ef1acd539aa5b2874d4dccf0761c06312d92dbd899c15d61433f73db811cf7eb4314ac9ff9e3cc8fe2458e50227c1e5ee9c434 languageName: node linkType: hard -"p-finally@npm:^2.0.0": - version: 2.0.1 - resolution: "p-finally@npm:2.0.1" - checksum: 6306a2851c3b28f8b603624f395ae84dce76970498fed8aa6aae2d930595053746edf1e4ee0c4b78a97410d84aa4504d63179f5310d555511ecd226f53ed1e8e +"remark-lint-emphasis-marker@npm:4.0.0": + version: 4.0.0 + resolution: "remark-lint-emphasis-marker@npm:4.0.0" + dependencies: + "@types/mdast": "npm:^4.0.0" + unified-lint-rule: "npm:^3.0.0" + unist-util-position: "npm:^5.0.0" + unist-util-visit-parents: "npm:^6.0.0" + vfile-message: "npm:^4.0.0" + checksum: 10/804321842f22d2328c8f10c99607b3f0ddc6a6627a9d7d5aed699c7d40d1a9d1646f8d8d8ff2608c91586e129303b708e22a76d2a45558046037e4f8957c1c10 languageName: node linkType: hard -"p-limit@npm:^2.2.0": - version: 2.3.0 - resolution: "p-limit@npm:2.3.0" +"remark-lint-fenced-code-flag@npm:4.0.0": + version: 4.0.0 + resolution: "remark-lint-fenced-code-flag@npm:4.0.0" dependencies: - p-try: "npm:^2.0.0" - checksum: 84ff17f1a38126c3314e91ecfe56aecbf36430940e2873dadaa773ffe072dc23b7af8e46d4b6485d302a11673fe94c6b67ca2cfbb60c989848b02100d0594ac1 + "@types/mdast": "npm:^4.0.0" + mdast-util-phrasing: "npm:^4.0.0" + quotation: "npm:^2.0.0" + unified-lint-rule: "npm:^3.0.0" + unist-util-position: "npm:^5.0.0" + unist-util-visit-parents: "npm:^6.0.0" + checksum: 10/8051ec012e4f05087285d4bf5663c618389374e88bc9bb5f2b7fe3411130c9631f95bba2e167769ce8f2c1e34292a4ddf2736fc59479ad6cb6b7fcfabd79c929 languageName: node linkType: hard -"p-limit@npm:^3.0.2": - version: 3.1.0 - resolution: "p-limit@npm:3.1.0" +"remark-lint-fenced-code-marker@npm:4.0.0": + version: 4.0.0 + resolution: "remark-lint-fenced-code-marker@npm:4.0.0" dependencies: - yocto-queue: "npm:^0.1.0" - checksum: 7c3690c4dbf62ef625671e20b7bdf1cbc9534e83352a2780f165b0d3ceba21907e77ad63401708145ca4e25bfc51636588d89a8c0aeb715e6c37d1c066430360 + "@types/mdast": "npm:^4.0.0" + mdast-util-phrasing: "npm:^4.0.0" + unified-lint-rule: "npm:^3.0.0" + unist-util-position: "npm:^5.0.0" + unist-util-visit-parents: "npm:^6.0.0" + vfile-message: "npm:^4.0.0" + checksum: 10/f4fad9fa02f51cbdcea992bd9a609d5a7dae540f17308676832d124f9ea1c7038d9e7fcdc3f0a3047bdf3cfacdc0421137b938a6b01d322e19aa89749000b872 languageName: node linkType: hard -"p-limit@npm:^4.0.0": - version: 4.0.0 - resolution: "p-limit@npm:4.0.0" +"remark-lint-file-extension@npm:3.0.0": + version: 3.0.0 + resolution: "remark-lint-file-extension@npm:3.0.0" dependencies: - yocto-queue: "npm:^1.0.0" - checksum: 01d9d70695187788f984226e16c903475ec6a947ee7b21948d6f597bed788e3112cc7ec2e171c1d37125057a5f45f3da21d8653e04a3a793589e12e9e80e756b + "@types/mdast": "npm:^4.0.0" + quotation: "npm:^2.0.0" + unified-lint-rule: "npm:^3.0.0" + checksum: 10/e53860eb765864ec6b22e44e1f4b7ee1899f0de627f2ef57fbbec5a9f14135b4d6298d13472e5d5de3824f3771329e497cca37eae81c829f5a0f338254f6ae4e languageName: node linkType: hard -"p-locate@npm:^4.1.0": - version: 4.1.0 - resolution: "p-locate@npm:4.1.0" +"remark-lint-final-definition@npm:4.0.1": + version: 4.0.1 + resolution: "remark-lint-final-definition@npm:4.0.1" dependencies: - p-limit: "npm:^2.2.0" - checksum: 513bd14a455f5da4ebfcb819ef706c54adb09097703de6aeaa5d26fe5ea16df92b48d1ac45e01e3944ce1e6aa2a66f7f8894742b8c9d6e276e16cd2049a2b870 + "@types/mdast": "npm:^4.0.0" + devlop: "npm:^1.0.0" + mdast-util-mdx: "npm:^3.0.0" + mdast-util-phrasing: "npm:^4.0.0" + unified-lint-rule: "npm:^3.0.0" + unist-util-position: "npm:^5.0.0" + unist-util-visit-parents: "npm:^6.0.0" + vfile-message: "npm:^4.0.0" + checksum: 10/90c9b23d2c124b2045181f8e8f5b29808ebf05196804197bbc5731324bcf32abc815649e70ec57ab2dc1cb4761779ab5d47a02e65788a56390c9d859d18b9388 languageName: node linkType: hard -"p-locate@npm:^5.0.0": - version: 5.0.0 - resolution: "p-locate@npm:5.0.0" +"remark-lint-final-newline@npm:3.0.0": + version: 3.0.0 + resolution: "remark-lint-final-newline@npm:3.0.0" dependencies: - p-limit: "npm:^3.0.2" - checksum: 1623088f36cf1cbca58e9b61c4e62bf0c60a07af5ae1ca99a720837356b5b6c5ba3eb1b2127e47a06865fee59dd0453cad7cc844cda9d5a62ac1a5a51b7c86d3 + "@types/mdast": "npm:^4.0.0" + devlop: "npm:^1.0.0" + unified-lint-rule: "npm:^3.0.0" + vfile-location: "npm:^5.0.0" + checksum: 10/9aab2758c5d33a30d80b77f6e8fb3220e6a7dc29f217952a26153d8e04a41a6f9e9e448b9ad272d1ae51005e46e4c94b5a38afa0ffb1079de697cdfbd5ed6818 languageName: node linkType: hard -"p-locate@npm:^6.0.0": - version: 6.0.0 - resolution: "p-locate@npm:6.0.0" +"remark-lint-first-heading-level@npm:4.0.0": + version: 4.0.0 + resolution: "remark-lint-first-heading-level@npm:4.0.0" dependencies: - p-limit: "npm:^4.0.0" - checksum: 2bfe5234efa5e7a4e74b30a5479a193fdd9236f8f6b4d2f3f69e3d286d9a7d7ab0c118a2a50142efcf4e41625def635bd9332d6cbf9cc65d85eb0718c579ab38 + "@types/mdast": "npm:^4.0.0" + mdast-util-mdx: "npm:^3.0.0" + unified-lint-rule: "npm:^3.0.0" + unist-util-visit-parents: "npm:^6.0.0" + checksum: 10/e07933758b74b0b74bc03a38315f98064858e140dd2192259c714445b69a2a4a0591e64278e6922a76c431fdb001f6127e7bf3cf595678d7f152335ccbc0b920 languageName: node linkType: hard -"p-map@npm:^4.0.0": +"remark-lint-hard-break-spaces@npm:4.0.0": version: 4.0.0 - resolution: "p-map@npm:4.0.0" + resolution: "remark-lint-hard-break-spaces@npm:4.0.0" dependencies: - aggregate-error: "npm:^3.0.0" - checksum: 7ba4a2b1e24c05e1fc14bbaea0fc6d85cf005ae7e9c9425d4575550f37e2e584b1af97bcde78eacd7559208f20995988d52881334db16cf77bc1bcf68e48ed7c + "@types/mdast": "npm:^4.0.0" + unified-lint-rule: "npm:^3.0.0" + unist-util-position: "npm:^5.0.0" + unist-util-visit: "npm:^5.0.0" + checksum: 10/3af9df1719267863e61eb86f1cc0a5f7ed2845c576d44f848e376622b5c682f5bbd16fbd590b0375c98b942966ff63066bb9c34cc871891adfd3b66be51b6b8a languageName: node linkType: hard -"p-map@npm:^5.1.0": - version: 5.5.0 - resolution: "p-map@npm:5.5.0" +"remark-lint-heading-increment@npm:4.0.0": + version: 4.0.0 + resolution: "remark-lint-heading-increment@npm:4.0.0" dependencies: - aggregate-error: "npm:^4.0.0" - checksum: 089a709d2525208a965b7907cc8e58af950542629b538198fc142c40e7f36b3b492dd6a46a1279515ccab58bb6f047e04593c0ab5ef4539d312adf7f761edf55 + "@types/mdast": "npm:^4.0.0" + devlop: "npm:^1.0.0" + mdast-util-mdx: "npm:^3.0.0" + unified-lint-rule: "npm:^3.0.0" + unist-util-visit-parents: "npm:^6.0.0" + vfile-message: "npm:^4.0.0" + checksum: 10/898f45cadb3248e21af4a60cf87d6420f67efe3f24dae0b225b2f4eefcb9befd761977bb052643a5cf67d4cc2eafb28c047e15d86eb7f40f5c7625121b6321ed languageName: node linkType: hard -"p-try@npm:^2.0.0": - version: 2.2.0 - resolution: "p-try@npm:2.2.0" - checksum: f8a8e9a7693659383f06aec604ad5ead237c7a261c18048a6e1b5b85a5f8a067e469aa24f5bc009b991ea3b058a87f5065ef4176793a200d4917349881216cae +"remark-lint-heading-style@npm:4.0.0": + version: 4.0.0 + resolution: "remark-lint-heading-style@npm:4.0.0" + dependencies: + "@types/mdast": "npm:^4.0.0" + mdast-util-heading-style: "npm:^3.0.0" + mdast-util-phrasing: "npm:^4.0.0" + unified-lint-rule: "npm:^3.0.0" + unist-util-position: "npm:^5.0.0" + unist-util-visit-parents: "npm:^6.0.0" + vfile-message: "npm:^4.0.0" + checksum: 10/a4b1ec08ebd372e7d60b9893186bb6e25f42f981946adbd272ef71d2982a35b49379f698fa5bcc7c16cada0f36350130a88b238ac0ef8444f8a6f0061102d6f7 languageName: node linkType: hard -"parent-module@npm:^1.0.0": - version: 1.0.1 - resolution: "parent-module@npm:1.0.1" +"remark-lint-linebreak-style@npm:4.0.0": + version: 4.0.0 + resolution: "remark-lint-linebreak-style@npm:4.0.0" dependencies: - callsites: "npm:^3.0.0" - checksum: 6ba8b255145cae9470cf5551eb74be2d22281587af787a2626683a6c20fbb464978784661478dd2a3f1dad74d1e802d403e1b03c1a31fab310259eec8ac560ff + "@types/mdast": "npm:^4.0.0" + devlop: "npm:^1.0.0" + unified-lint-rule: "npm:^3.0.0" + vfile-location: "npm:^5.0.0" + vfile-message: "npm:^4.0.0" + checksum: 10/1e81caa501db8b216e3abf29dbbd11d010d3f79a5ae14c2665ff273f7a84b2d75240e4432b10c311cdb12d62bfcd6e16f1a62ac64c1337d28d636c42d75378be languageName: node linkType: hard -"parent-module@npm:^2.0.0": - version: 2.0.0 - resolution: "parent-module@npm:2.0.0" +"remark-lint-link-title-style@npm:4.0.0": + version: 4.0.0 + resolution: "remark-lint-link-title-style@npm:4.0.0" dependencies: - callsites: "npm:^3.1.0" - checksum: f131f13d687a938556a01033561fb1b274b39921eb4425c7a691f0d91dcfbe9b19759c2b8d425a3ee7c8a46874e57fa418a690643880c3c7c56827aba12f78dd + "@types/mdast": "npm:^4.0.0" + unified-lint-rule: "npm:^3.0.0" + unist-util-position: "npm:^5.0.0" + unist-util-visit-parents: "npm:^6.0.0" + vfile-message: "npm:^4.0.0" + checksum: 10/5ae522ef45a96434c0b02fa46800a5b0e1b298318757af7a5cd4ddf87278a9813ea0711896fb96ea16fb5c548949ad7e1d55a781b794d73655567271e245f5c0 languageName: node linkType: hard -"parse-entities@npm:^2.0.0": - version: 2.0.0 - resolution: "parse-entities@npm:2.0.0" +"remark-lint-list-item-bullet-indent@npm:5.0.0": + version: 5.0.0 + resolution: "remark-lint-list-item-bullet-indent@npm:5.0.0" dependencies: - character-entities: "npm:^1.0.0" - character-entities-legacy: "npm:^1.0.0" - character-reference-invalid: "npm:^1.0.0" - is-alphanumerical: "npm:^1.0.0" - is-decimal: "npm:^1.0.0" - is-hexadecimal: "npm:^1.0.0" - checksum: feb46b516722474797d72331421f3e62856750cfb4f70ba098b36447bf0b169e819cc4fdee53e022874d5f0c81b605d86e1912b9842a70e59a54de2fee81589d + "@types/mdast": "npm:^4.0.0" + pluralize: "npm:^8.0.0" + unified-lint-rule: "npm:^3.0.0" + unist-util-position: "npm:^5.0.0" + checksum: 10/98dd4ea984d1e09ad0fca58490ed006e41a39b6d99fe252c693fbe1bba8ec88da446ec3ef2ca63f1563c6071ea174f8eb55d653710d361c47169b6ad951784d4 languageName: node linkType: hard -"parse-json@npm:^5.0.0, parse-json@npm:^5.2.0": - version: 5.2.0 - resolution: "parse-json@npm:5.2.0" +"remark-lint-list-item-content-indent@npm:4.0.0": + version: 4.0.0 + resolution: "remark-lint-list-item-content-indent@npm:4.0.0" dependencies: - "@babel/code-frame": "npm:^7.0.0" - error-ex: "npm:^1.3.1" - json-parse-even-better-errors: "npm:^2.3.0" - lines-and-columns: "npm:^1.1.6" - checksum: 62085b17d64da57f40f6afc2ac1f4d95def18c4323577e1eced571db75d9ab59b297d1d10582920f84b15985cbfc6b6d450ccbf317644cfa176f3ed982ad87e2 + "@types/mdast": "npm:^4.0.0" + mdast-util-phrasing: "npm:^4.0.0" + pluralize: "npm:^8.0.0" + unified-lint-rule: "npm:^3.0.0" + unist-util-position: "npm:^5.0.0" + unist-util-visit-parents: "npm:^6.0.0" + vfile-message: "npm:^4.0.0" + checksum: 10/295b349fb38fa9514fb4f6d8b63297156f73c7000b3b30ac55aae96d08342defc6c73234dd29c64c8a1d00ef6286de5f6d62342b111825329918df8bfced7ddd languageName: node linkType: hard -"path-exists@npm:^4.0.0": +"remark-lint-list-item-indent@npm:4.0.0": version: 4.0.0 - resolution: "path-exists@npm:4.0.0" - checksum: 505807199dfb7c50737b057dd8d351b82c033029ab94cb10a657609e00c1bc53b951cfdbccab8de04c5584d5eff31128ce6afd3db79281874a5ef2adbba55ed1 + resolution: "remark-lint-list-item-indent@npm:4.0.0" + dependencies: + "@types/mdast": "npm:^4.0.0" + mdast-util-phrasing: "npm:^4.0.0" + pluralize: "npm:^8.0.0" + unified-lint-rule: "npm:^3.0.0" + unist-util-position: "npm:^5.0.0" + unist-util-visit-parents: "npm:^6.0.0" + checksum: 10/68765ebb7352c21fd3f9082e80ca2758d949ae9416aad80262cb4770794e6a3fb092d2698d3645db97f66e70760abe72bbaedcc1d86c85c7c6006dbcaa95e851 + languageName: node + linkType: hard + +"remark-lint-list-item-spacing@npm:5.0.0": + version: 5.0.0 + resolution: "remark-lint-list-item-spacing@npm:5.0.0" + dependencies: + "@types/mdast": "npm:^4.0.0" + mdast-util-phrasing: "npm:^4.0.0" + pluralize: "npm:^8.0.0" + unified-lint-rule: "npm:^3.0.0" + unist-util-position: "npm:^5.0.0" + unist-util-visit-parents: "npm:^6.0.0" + vfile-message: "npm:^4.0.0" + checksum: 10/ddbcc727b3c07be39310117b93ee756ae1dea8f3bd835eb5bbc0f60819c39facaa9368bda9a69d6af1179e9b93fc4500f2fedf7c863aa0e3cb2cd836b9136b71 languageName: node linkType: hard -"path-exists@npm:^5.0.0": - version: 5.0.0 - resolution: "path-exists@npm:5.0.0" - checksum: 8ca842868cab09423994596eb2c5ec2a971c17d1a3cb36dbf060592c730c725cd524b9067d7d2a1e031fef9ba7bd2ac6dc5ec9fb92aa693265f7be3987045254 +"remark-lint-maximum-heading-length@npm:4.0.0": + version: 4.0.0 + resolution: "remark-lint-maximum-heading-length@npm:4.0.0" + dependencies: + "@types/mdast": "npm:^4.0.0" + mdast-util-mdx: "npm:^3.0.0" + mdast-util-to-string: "npm:^4.0.0" + unified-lint-rule: "npm:^3.0.0" + unist-util-position: "npm:^5.0.0" + unist-util-visit-parents: "npm:^6.0.0" + checksum: 10/50a9ff642d11decbccd49dfdc0455495790bb7244476bd110ce36a7f0340309d8143e06ded5cf9f843d4d2932af2fb67d57ae832e96b3a11084f3c26353c5191 languageName: node linkType: hard -"path-is-absolute@npm:^1.0.0": - version: 1.0.1 - resolution: "path-is-absolute@npm:1.0.1" - checksum: 060840f92cf8effa293bcc1bea81281bd7d363731d214cbe5c227df207c34cd727430f70c6037b5159c8a870b9157cba65e775446b0ab06fd5ecc7e54615a3b8 +"remark-lint-maximum-line-length@npm:4.0.1": + version: 4.0.1 + resolution: "remark-lint-maximum-line-length@npm:4.0.1" + dependencies: + "@types/mdast": "npm:^4.0.0" + mdast-util-mdx: "npm:^3.0.0" + pluralize: "npm:^8.0.0" + unified-lint-rule: "npm:^3.0.0" + unist-util-position: "npm:^5.0.0" + unist-util-visit: "npm:^5.0.0" + checksum: 10/c4e251f74f46386540ba045580f7815202b736a2a06f6806356b0eadc501a27e695dc359868bc68040f64d41f5b7ef41d507882520c843ad11edd5830cb80c91 languageName: node linkType: hard -"path-key@npm:^3.0.0, path-key@npm:^3.1.0": - version: 3.1.1 - resolution: "path-key@npm:3.1.1" - checksum: 55cd7a9dd4b343412a8386a743f9c746ef196e57c823d90ca3ab917f90ab9f13dd0ded27252ba49dbdfcab2b091d998bc446f6220cd3cea65db407502a740020 +"remark-lint-no-blockquote-without-marker@npm:6.0.0": + version: 6.0.0 + resolution: "remark-lint-no-blockquote-without-marker@npm:6.0.0" + dependencies: + "@types/mdast": "npm:^4.0.0" + devlop: "npm:^1.0.0" + mdast-util-directive: "npm:^3.0.0" + mdast-util-phrasing: "npm:^4.0.0" + pluralize: "npm:^8.0.0" + unified-lint-rule: "npm:^3.0.0" + unist-util-position: "npm:^5.0.0" + unist-util-visit-parents: "npm:^6.0.0" + vfile-location: "npm:^5.0.0" + checksum: 10/2505913f3c0808a0e16bf57fc9f34f8684b0eaae2528c4d36f96c6469e8af13d69e08d24c890d53f66fe501c70317e8be78422f126f16a15491c904db96c1019 languageName: node linkType: hard -"path-key@npm:^4.0.0": - version: 4.0.0 - resolution: "path-key@npm:4.0.0" - checksum: 8e6c314ae6d16b83e93032c61020129f6f4484590a777eed709c4a01b50e498822b00f76ceaf94bc64dbd90b327df56ceadce27da3d83393790f1219e07721d7 +"remark-lint-no-consecutive-blank-lines@npm:5.0.0": + version: 5.0.0 + resolution: "remark-lint-no-consecutive-blank-lines@npm:5.0.0" + dependencies: + "@types/mdast": "npm:^4.0.0" + mdast-util-directive: "npm:^3.0.0" + mdast-util-mdx: "npm:^3.0.0" + mdast-util-phrasing: "npm:^4.0.0" + pluralize: "npm:^8.0.0" + unified-lint-rule: "npm:^3.0.0" + unist-util-position: "npm:^5.0.0" + unist-util-visit-parents: "npm:^6.0.0" + checksum: 10/9af7a88d48fa1480a0abcfef2744e2f3158fc808369c7e68df713566c6b5bc461fe5d9fad90e65fc7a888f56ca35cb3667986595faff145b0bd4b1155f6dc51d languageName: node linkType: hard -"path-parse@npm:^1.0.7": - version: 1.0.7 - resolution: "path-parse@npm:1.0.7" - checksum: 49abf3d81115642938a8700ec580da6e830dde670be21893c62f4e10bd7dd4c3742ddc603fe24f898cba7eb0c6bc1777f8d9ac14185d34540c6d4d80cd9cae8a +"remark-lint-no-duplicate-defined-urls@npm:3.0.0": + version: 3.0.0 + resolution: "remark-lint-no-duplicate-defined-urls@npm:3.0.0" + dependencies: + "@types/mdast": "npm:^4.0.0" + devlop: "npm:^1.0.0" + mdast-util-phrasing: "npm:^4.0.0" + unified-lint-rule: "npm:^3.0.0" + unist-util-visit-parents: "npm:^6.0.0" + vfile-message: "npm:^4.0.0" + checksum: 10/c6a15920e1f23f7e68c3646b8efeb2d88ffd0a3456efbbd7855523e9fd3b8899db3330b2562a6ee74d56f677162d16bb7ebdb95dbab126c7c3f55eef21c48b77 languageName: node linkType: hard -"path-scurry@npm:^1.10.1": - version: 1.10.1 - resolution: "path-scurry@npm:1.10.1" +"remark-lint-no-duplicate-definitions@npm:4.0.0": + version: 4.0.0 + resolution: "remark-lint-no-duplicate-definitions@npm:4.0.0" dependencies: - lru-cache: "npm:^9.1.1 || ^10.0.0" - minipass: "npm:^5.0.0 || ^6.0.2 || ^7.0.0" - checksum: eebfb8304fef1d4f7e1486df987e4fd77413de4fce16508dea69fcf8eb318c09a6b15a7a2f4c22877cec1cb7ecbd3071d18ca9de79eeece0df874a00f1f0bdc8 + "@types/mdast": "npm:^4.0.0" + devlop: "npm:^1.0.0" + mdast-util-phrasing: "npm:^4.0.0" + unified-lint-rule: "npm:^3.0.0" + unist-util-visit-parents: "npm:^6.0.0" + vfile-message: "npm:^4.0.0" + checksum: 10/c9666507cd04245937813b3d488049a8abd845d5154cc779473a213530991a4a76db0a5500846228ea91efe864006d869924a48b0d71ab55300afbba516399a6 languageName: node linkType: hard -"path-to-regexp@npm:3.2.0": - version: 3.2.0 - resolution: "path-to-regexp@npm:3.2.0" - checksum: 3c86811e0d69719e20908ed6457b6f51d0d66ffc526e04d259cddea5fd777c7b967adb60907658b7e1a98cb7bf1bbbbad3523337a676c98513fd76a7b513075e +"remark-lint-no-duplicate-headings-in-section@npm:4.0.0": + version: 4.0.0 + resolution: "remark-lint-no-duplicate-headings-in-section@npm:4.0.0" + dependencies: + "@types/mdast": "npm:^4.0.0" + devlop: "npm:^1.0.0" + mdast-util-mdx: "npm:^3.0.0" + mdast-util-to-string: "npm:^4.0.0" + unified-lint-rule: "npm:^3.0.0" + unist-util-visit-parents: "npm:^6.0.0" + vfile-message: "npm:^4.0.0" + checksum: 10/e6d7905842473c6796f78fbe3e8dd77856a2ba36ad88c42ae1876b5d3282a58dcde5b2d4a87e274980fe338d4a3e3b9d8649a9b6be66d58fe0f32e45d6a8c581 languageName: node linkType: hard -"path-type@npm:^3.0.0": - version: 3.0.0 - resolution: "path-type@npm:3.0.0" +"remark-lint-no-emphasis-as-heading@npm:4.0.0": + version: 4.0.0 + resolution: "remark-lint-no-emphasis-as-heading@npm:4.0.0" dependencies: - pify: "npm:^3.0.0" - checksum: 735b35e256bad181f38fa021033b1c33cfbe62ead42bb2222b56c210e42938eecb272ae1949f3b6db4ac39597a61b44edd8384623ec4d79bfdc9a9c0f12537a6 + "@types/mdast": "npm:^4.0.0" + mdast-util-phrasing: "npm:^4.0.0" + unified-lint-rule: "npm:^3.0.0" + unist-util-visit-parents: "npm:^6.0.0" + checksum: 10/9cb3a59c2d4e8a9a0ea8f88baad758c48b47917f6379f48c62d055031f15b6acb009d934b99e85689312498a4f93d9508ecbb23ccbb53d24070f4321ec492b4e languageName: node linkType: hard -"path-type@npm:^4.0.0": +"remark-lint-no-empty-url@npm:4.0.0": version: 4.0.0 - resolution: "path-type@npm:4.0.0" - checksum: 5b1e2daa247062061325b8fdbfd1fb56dde0a448fb1455453276ea18c60685bdad23a445dc148cf87bc216be1573357509b7d4060494a6fd768c7efad833ee45 + resolution: "remark-lint-no-empty-url@npm:4.0.0" + dependencies: + "@types/mdast": "npm:^4.0.0" + unified-lint-rule: "npm:^3.0.0" + unist-util-visit-parents: "npm:^6.0.0" + checksum: 10/9cc13bbed95ba6c844d184779569b631726a858bfeb8c6ab961c61e14a31728513b7a488f3b8b43a0f863c1799a8db3a6c8537ac8d4a8c8444d9cd36d9e8fe1f languageName: node linkType: hard -"pathe@npm:^1.1.0, pathe@npm:^1.1.1": - version: 1.1.1 - resolution: "pathe@npm:1.1.1" - checksum: 603decdf751d511f0df10acb8807eab8cc25c1af529e6149e27166916f19db57235a7d374b125452ba6da4dd0f697656fdaf5a9236b3594929bb371726d31602 +"remark-lint-no-file-name-articles@npm:3.0.0": + version: 3.0.0 + resolution: "remark-lint-no-file-name-articles@npm:3.0.0" + dependencies: + "@types/mdast": "npm:^4.0.0" + unified-lint-rule: "npm:^3.0.0" + checksum: 10/d844a186991fdce6d19cbd11b7b42b60bcd36ee5ae1c85b56afe8776014adf4538cc0391e10b23807bd47397528f7c8ec7c4d418c067fdd763e329de941d1d77 languageName: node linkType: hard -"pathval@npm:^2.0.0": - version: 2.0.0 - resolution: "pathval@npm:2.0.0" - checksum: b91575bf9cdf01757afd7b5e521eb8a0b874a49bc972d08e0047cfea0cd3c019f5614521d4bc83d2855e3fcc331db6817dfd533dd8f3d90b16bc76fad2450fc1 +"remark-lint-no-file-name-consecutive-dashes@npm:3.0.0": + version: 3.0.0 + resolution: "remark-lint-no-file-name-consecutive-dashes@npm:3.0.0" + dependencies: + "@types/mdast": "npm:^4.0.0" + unified-lint-rule: "npm:^3.0.0" + checksum: 10/6e09873a27c378ac661e933bc23706c83825374f293a332b93cf59ad2e7b808978ba52d15aa75fc676134726fa60e3b68b98c3395bf36aa9f0b241c36086a7ad languageName: node linkType: hard -"picocolors@npm:^1.0.0": - version: 1.0.0 - resolution: "picocolors@npm:1.0.0" - checksum: a2e8092dd86c8396bdba9f2b5481032848525b3dc295ce9b57896f931e63fc16f79805144321f72976383fc249584672a75cc18d6777c6b757603f372f745981 +"remark-lint-no-file-name-irregular-characters@npm:3.0.0": + version: 3.0.0 + resolution: "remark-lint-no-file-name-irregular-characters@npm:3.0.0" + dependencies: + "@types/mdast": "npm:^4.0.0" + unified-lint-rule: "npm:^3.0.0" + checksum: 10/cefc06a36c35c4877b8331e1ad207ef4f2e5cf15e6631261830808fbca58eec0a57d622d967d0b17808d9d8b5115188f0576ebf5a1c80eef111a77a6683ddf43 languageName: node linkType: hard -"picomatch@npm:^2.3.1": - version: 2.3.1 - resolution: "picomatch@npm:2.3.1" - checksum: 60c2595003b05e4535394d1da94850f5372c9427ca4413b71210f437f7b2ca091dbd611c45e8b37d10036fa8eade25c1b8951654f9d3973bfa66a2ff4d3b08bc +"remark-lint-no-file-name-mixed-case@npm:3.0.0": + version: 3.0.0 + resolution: "remark-lint-no-file-name-mixed-case@npm:3.0.0" + dependencies: + "@types/mdast": "npm:^4.0.0" + unified-lint-rule: "npm:^3.0.0" + checksum: 10/0bb0a440af0c61cb6e7bbf4a056b0f1f2bdc8b2dd14383efb365ab2a08e354ce046fc97686ffcd28fc0ed93ae328ffeb7b252d4c3353300b7b3986ccf6ef4f31 languageName: node linkType: hard -"pidtree@npm:0.6.0": - version: 0.6.0 - resolution: "pidtree@npm:0.6.0" - bin: - pidtree: bin/pidtree.js - checksum: ea67fb3159e170fd069020e0108ba7712df9f0fd13c8db9b2286762856ddce414fb33932e08df4bfe36e91fe860b51852aee49a6f56eb4714b69634343add5df +"remark-lint-no-file-name-outer-dashes@npm:3.0.0": + version: 3.0.0 + resolution: "remark-lint-no-file-name-outer-dashes@npm:3.0.0" + dependencies: + "@types/mdast": "npm:^4.0.0" + unified-lint-rule: "npm:^3.0.0" + checksum: 10/d00358c9a90f6adb098d2801a5c27d544fe6278b394082d13e55e424e6c7ac41a1dbf1121de9b5f14bcc345d8215fad0a386fbbdd5c898855a77a0993b8ede59 languageName: node linkType: hard -"pify@npm:^2.3.0": - version: 2.3.0 - resolution: "pify@npm:2.3.0" - checksum: 9503aaeaf4577acc58642ad1d25c45c6d90288596238fb68f82811c08104c800e5a7870398e9f015d82b44ecbcbef3dc3d4251a1cbb582f6e5959fe09884b2ba +"remark-lint-no-heading-content-indent@npm:5.0.0": + version: 5.0.0 + resolution: "remark-lint-no-heading-content-indent@npm:5.0.0" + dependencies: + "@types/mdast": "npm:^4.0.0" + mdast-util-phrasing: "npm:^4.0.0" + pluralize: "npm:^8.0.0" + unified-lint-rule: "npm:^3.0.0" + unist-util-position: "npm:^5.0.0" + unist-util-visit-parents: "npm:^6.0.0" + checksum: 10/b286fe4b099750daa52d3ed34ccea8838bc2c66ae667dabb9c4f39923f59a51ed606a9f70d03df86d65f4f4e45611ebaf24b1a15bc4bb623349e8b8a8d7933d7 languageName: node linkType: hard -"pify@npm:^3.0.0": - version: 3.0.0 - resolution: "pify@npm:3.0.0" - checksum: 668c1dc8d9fc1b34b9ce3b16ba59deb39d4dc743527bf2ed908d2b914cb8ba40aa5ba6960b27c417c241531c5aafd0598feeac2d50cb15278cf9863fa6b02a77 +"remark-lint-no-heading-indent@npm:5.0.0": + version: 5.0.0 + resolution: "remark-lint-no-heading-indent@npm:5.0.0" + dependencies: + "@types/mdast": "npm:^4.0.0" + mdast-util-phrasing: "npm:^4.0.0" + pluralize: "npm:^8.0.0" + unified-lint-rule: "npm:^3.0.0" + unist-util-position: "npm:^5.0.0" + unist-util-visit-parents: "npm:^6.0.0" + checksum: 10/0c8c56de2cc818218fed83ee9fbadd4fb40593a66c6d17a02e03e631f04b571f6e6a97a2d95d0363d44814be6b53b214e71e6c19b6945d9ec8ffb1b0f52eff6d languageName: node linkType: hard -"pinkie-promise@npm:^2.0.1": - version: 2.0.1 - resolution: "pinkie-promise@npm:2.0.1" +"remark-lint-no-heading-like-paragraph@npm:4.0.0": + version: 4.0.0 + resolution: "remark-lint-no-heading-like-paragraph@npm:4.0.0" dependencies: - pinkie: "npm:^2.0.0" - checksum: b53a4a2e73bf56b6f421eef711e7bdcb693d6abb474d57c5c413b809f654ba5ee750c6a96dd7225052d4b96c4d053cdcb34b708a86fceed4663303abee52fcca + "@types/mdast": "npm:^4.0.0" + mdast-util-phrasing: "npm:^4.0.0" + pluralize: "npm:^8.0.0" + unified-lint-rule: "npm:^3.0.0" + unist-util-position: "npm:^5.0.0" + unist-util-visit-parents: "npm:^6.0.0" + checksum: 10/9d82d8cea696385cee1996cdc4f8550856738f9119acb7d017812a7fd1056ac23dc3a80a13e671313ec977dcc2a34ad60f7e37a8b29e49fd272a14ad371fb763 languageName: node linkType: hard -"pinkie@npm:^2.0.0": - version: 2.0.4 - resolution: "pinkie@npm:2.0.4" - checksum: 11d207257a044d1047c3755374d36d84dda883a44d030fe98216bf0ea97da05a5c9d64e82495387edeb9ee4f52c455bca97cdb97629932be65e6f54b29f5aec8 +"remark-lint-no-heading-punctuation@npm:4.0.0": + version: 4.0.0 + resolution: "remark-lint-no-heading-punctuation@npm:4.0.0" + dependencies: + "@types/mdast": "npm:^4.0.0" + mdast-util-mdx: "npm:^3.0.0" + mdast-util-to-string: "npm:^4.0.0" + unified-lint-rule: "npm:^3.0.0" + unist-util-visit-parents: "npm:^6.0.0" + checksum: 10/b5e39039e3aa7665b291f2a6d9000a4d5c3e3d04339989b20ed09c4ab30fd60a12b8f64df4eb921e54b840770cf962cf719dba7ac6906fc295fb7c73e202737d languageName: node linkType: hard -"pkg-size@npm:2.4.0": - version: 2.4.0 - resolution: "pkg-size@npm:2.4.0" - bin: - pkg-size: bin/cli.js - checksum: 2ba09b2a136494a5402482d924d31977cda359bb8024d382303c1ab8d46fbbdd50aa8f441c4191397de443c6088c74a7b77277426626d01ba0e1e8d68b3bc04f +"remark-lint-no-literal-urls@npm:4.0.0": + version: 4.0.0 + resolution: "remark-lint-no-literal-urls@npm:4.0.0" + dependencies: + "@types/mdast": "npm:^4.0.0" + mdast-util-to-string: "npm:^4.0.0" + micromark-util-character: "npm:^2.0.0" + unified-lint-rule: "npm:^3.0.0" + unist-util-position: "npm:^5.0.0" + unist-util-visit-parents: "npm:^6.0.0" + checksum: 10/e203946757bec9ca2cd85b2a5dd94687d03c88fae50977804709bef814d1e42f6bb306a9ed3a33d08312819abc2aada537f992d434714519822600140da2bf25 languageName: node linkType: hard -"pkg-types@npm:^1.0.3": - version: 1.0.3 - resolution: "pkg-types@npm:1.0.3" +"remark-lint-no-missing-blank-lines@npm:4.0.0": + version: 4.0.0 + resolution: "remark-lint-no-missing-blank-lines@npm:4.0.0" dependencies: - jsonc-parser: "npm:^3.2.0" - mlly: "npm:^1.2.0" - pathe: "npm:^1.1.0" - checksum: e17e1819ce579c9ea390e4c41a9ed9701d8cff14b463f9577cc4f94688da8917c66dabc40feacd47a21eb3de9b532756a78becd882b76add97053af307c1240a + "@types/mdast": "npm:^4.0.0" + mdast-util-directive: "npm:^3.0.0" + mdast-util-math: "npm:^3.0.0" + mdast-util-mdx: "npm:^3.0.0" + mdast-util-phrasing: "npm:^4.0.0" + unified-lint-rule: "npm:^3.0.0" + unist-util-position: "npm:^5.0.0" + unist-util-visit-parents: "npm:^6.0.0" + checksum: 10/127fc51cb93ba5af580c45c7bef43364d97287a4d1ddf07086737e81defbf896c926dd1f89c628f26c1758509e17a7b7c7cfedaaa544ce265a4b4cc7740eb3d4 languageName: node linkType: hard -"pluralize@npm:^8.0.0": - version: 8.0.0 - resolution: "pluralize@npm:8.0.0" - checksum: 17877fdfdb7ddb3639ce257ad73a7c51a30a966091e40f56ea9f2f545b5727ce548d4928f8cb3ce38e7dc0c5150407d318af6a4ed0ea5265d378473b4c2c61ec +"remark-lint-no-multiple-toplevel-headings@npm:4.0.0": + version: 4.0.0 + resolution: "remark-lint-no-multiple-toplevel-headings@npm:4.0.0" + dependencies: + "@types/mdast": "npm:^4.0.0" + devlop: "npm:^1.0.0" + mdast-util-mdx: "npm:^3.0.0" + unified-lint-rule: "npm:^3.0.0" + unist-util-visit-parents: "npm:^6.0.0" + vfile-message: "npm:^4.0.0" + checksum: 10/b87bf23f3043df7febc99b3fdd454a42a56997f224864e13a8fb4e2a43bf15f8ac6e8b7747259bc5e4e36301659617c9a093a74e3137b12a28ef6b689b89b1cc languageName: node linkType: hard -"postcss@npm:^8.4.31": - version: 8.4.31 - resolution: "postcss@npm:8.4.31" +"remark-lint-no-paragraph-content-indent@npm:5.0.0": + version: 5.0.0 + resolution: "remark-lint-no-paragraph-content-indent@npm:5.0.0" dependencies: - nanoid: "npm:^3.3.6" - picocolors: "npm:^1.0.0" - source-map-js: "npm:^1.0.2" - checksum: 1a6653e72105907377f9d4f2cd341d8d90e3fde823a5ddea1e2237aaa56933ea07853f0f2758c28892a1d70c53bbaca200eb8b80f8ed55f13093003dbec5afa0 + "@types/mdast": "npm:^4.0.0" + devlop: "npm:^1.0.0" + mdast-util-phrasing: "npm:^4.0.0" + pluralize: "npm:^8.0.0" + unified-lint-rule: "npm:^3.0.0" + unist-util-position: "npm:^5.0.0" + unist-util-visit-parents: "npm:^6.0.0" + vfile-location: "npm:^5.0.0" + checksum: 10/b9aa35e72a7b0b0f7e997c8e179a28318ba5714b42941da24cdfcb2b1d00750d37cdd463ee60d2340cbc1e37526c01f31e8f1ee3eec088247a3f5182cf601a03 languageName: node linkType: hard -"prelude-ls@npm:^1.2.1": - version: 1.2.1 - resolution: "prelude-ls@npm:1.2.1" - checksum: 0b9d2c76801ca652a7f64892dd37b7e3fab149a37d2424920099bf894acccc62abb4424af2155ab36dea8744843060a2d8ddc983518d0b1e22265a22324b72ed +"remark-lint-no-shell-dollars@npm:4.0.0": + version: 4.0.0 + resolution: "remark-lint-no-shell-dollars@npm:4.0.0" + dependencies: + "@types/mdast": "npm:^4.0.0" + collapse-white-space: "npm:^2.0.0" + mdast-util-phrasing: "npm:^4.0.0" + unified-lint-rule: "npm:^3.0.0" + unist-util-visit-parents: "npm:^6.0.0" + checksum: 10/834e51f731c574932a3466bd8c4d6b6169afd60e474ac4b1657b4c4882a0954c52f71a1ef6ffba3fad75a06be46cd11ae54c8f5f9b8d2e9d5ee4585eb810c39d languageName: node linkType: hard -"prettier@npm:3.0.3": - version: 3.0.3 - resolution: "prettier@npm:3.0.3" - bin: - prettier: bin/prettier.cjs - checksum: ccf1ead9794b017be6b42d0873f459070beef2069eb393c8b4c0d11aa3430acefc54f6d5f44a5b7ce9af05ad8daf694b912f0aa2808d1c22dfa86e61e9d563f8 +"remark-lint-no-shortcut-reference-image@npm:4.0.0": + version: 4.0.0 + resolution: "remark-lint-no-shortcut-reference-image@npm:4.0.0" + dependencies: + "@types/mdast": "npm:^4.0.0" + unified-lint-rule: "npm:^3.0.0" + unist-util-visit-parents: "npm:^6.0.0" + checksum: 10/00c2a36c9666ded399d536eb76b3e170cb668de5da6ef830142b3190cbb1c19f51571ab44ad02f751911b17f00a3d434529a63523b65b659ae2148d602ea0b4d languageName: node linkType: hard -"pretty-bytes@npm:6.1.1": - version: 6.1.1 - resolution: "pretty-bytes@npm:6.1.1" - checksum: 43d29d909d2d88072da2c3d72f8fd0f2d2523c516bfa640aff6e31f596ea1004b6601f4cabc50d14b2cf10e82635ebe5b7d9378f3d5bae1c0067131829421b8a +"remark-lint-no-shortcut-reference-link@npm:4.0.0": + version: 4.0.0 + resolution: "remark-lint-no-shortcut-reference-link@npm:4.0.0" + dependencies: + "@types/mdast": "npm:^4.0.0" + unified-lint-rule: "npm:^3.0.0" + unist-util-visit-parents: "npm:^6.0.0" + checksum: 10/bd384d8cb1a73e4e62fd8b2ea41559ed337bde95db8939dcb5ce18822441ab018ebabd09f5d1c4bc1395824afad2381bda9d45a8eeb323de589b522e5f65091d languageName: node linkType: hard -"pretty-format@npm:29.7.0, pretty-format@npm:^29.5.0": - version: 29.7.0 - resolution: "pretty-format@npm:29.7.0" +"remark-lint-no-table-indentation@npm:5.0.0": + version: 5.0.0 + resolution: "remark-lint-no-table-indentation@npm:5.0.0" dependencies: - "@jest/schemas": "npm:^29.6.3" - ansi-styles: "npm:^5.0.0" - react-is: "npm:^18.0.0" - checksum: dea96bc83c83cd91b2bfc55757b6b2747edcaac45b568e46de29deee80742f17bc76fe8898135a70d904f4928eafd8bb693cd1da4896e8bdd3c5e82cadf1d2bb + "@types/mdast": "npm:^4.0.0" + devlop: "npm:^1.0.0" + mdast-util-phrasing: "npm:^4.0.0" + pluralize: "npm:^8.0.0" + unified-lint-rule: "npm:^3.0.0" + unist-util-position: "npm:^5.0.0" + unist-util-visit-parents: "npm:^6.0.0" + vfile-location: "npm:^5.0.0" + checksum: 10/d3dcba40e240363cf7298131bb65dd15f042c313a1d88ba48a6e0c2f74c5710465894fddb036493754d685544ad74829edbc831a97e3a2eae8f39a74e7790ae5 languageName: node linkType: hard -"promise-retry@npm:^2.0.1": - version: 2.0.1 - resolution: "promise-retry@npm:2.0.1" +"remark-lint-no-tabs@npm:4.0.0": + version: 4.0.0 + resolution: "remark-lint-no-tabs@npm:4.0.0" dependencies: - err-code: "npm:^2.0.2" - retry: "npm:^0.12.0" - checksum: 96e1a82453c6c96eef53a37a1d6134c9f2482f94068f98a59145d0986ca4e497bf110a410adf73857e588165eab3899f0ebcf7b3890c1b3ce802abc0d65967d4 + "@types/mdast": "npm:^4.0.0" + unified-lint-rule: "npm:^3.0.0" + vfile-location: "npm:^5.0.0" + checksum: 10/d1ad3e095cc8274b5570d87aead77fc1b6ea7afbd43c65e0f48cba156f65d14571e5624e7cb6a89fc344c89c35fc347b63055f5c3b169beb97ced3a55748cb84 languageName: node linkType: hard -"pump@npm:^3.0.0": - version: 3.0.0 - resolution: "pump@npm:3.0.0" +"remark-lint-no-undefined-references@npm:5.0.0": + version: 5.0.0 + resolution: "remark-lint-no-undefined-references@npm:5.0.0" dependencies: - end-of-stream: "npm:^1.1.0" - once: "npm:^1.3.1" - checksum: e42e9229fba14732593a718b04cb5e1cfef8254544870997e0ecd9732b189a48e1256e4e5478148ecb47c8511dca2b09eae56b4d0aad8009e6fac8072923cfc9 + "@types/mdast": "npm:^4.0.0" + collapse-white-space: "npm:^2.0.0" + devlop: "npm:^1.0.0" + micromark-util-normalize-identifier: "npm:^2.0.0" + unified-lint-rule: "npm:^3.0.0" + unist-util-position: "npm:^5.0.0" + unist-util-visit-parents: "npm:^6.0.0" + vfile-location: "npm:^5.0.0" + checksum: 10/352b5c0499d8195c98687fa70d0fd0ff7cfc98c97ac2f3c4676e426ca872a4bb795b416391fee6970687bb978859ca7d257f4401b52d3aab6f5dd6e61d418e74 languageName: node linkType: hard -"punycode@npm:^2.1.0": - version: 2.3.0 - resolution: "punycode@npm:2.3.0" - checksum: d4e7fbb96f570c57d64b09a35a1182c879ac32833de7c6926a2c10619632c1377865af3dab5479f59d51da18bcd5035a20a5ef6ceb74020082a3e78025d9a9ca +"remark-lint-no-unneeded-full-reference-image@npm:4.0.0": + version: 4.0.0 + resolution: "remark-lint-no-unneeded-full-reference-image@npm:4.0.0" + dependencies: + "@types/mdast": "npm:^4.0.0" + micromark-util-normalize-identifier: "npm:^2.0.0" + unified-lint-rule: "npm:^3.0.0" + unist-util-position: "npm:^5.0.0" + unist-util-visit-parents: "npm:^6.0.0" + checksum: 10/b2491617d5502b348b2f21d0d9a9aae0d2a4e5dfedbc4c2524a8fd219e8faa747443ab78f9408875729ae3c4bf9183cef729d9a838f883fe63e5bc6e20e2ca0f languageName: node linkType: hard -"q@npm:^1.5.1": - version: 1.5.1 - resolution: "q@npm:1.5.1" - checksum: 70c4a30b300277165cd855889cd3aa681929840a5940413297645c5691e00a3549a2a4153131efdf43fe8277ee8cf5a34c9636dcb649d83ad47f311a015fd380 +"remark-lint-no-unneeded-full-reference-link@npm:4.0.0": + version: 4.0.0 + resolution: "remark-lint-no-unneeded-full-reference-link@npm:4.0.0" + dependencies: + "@types/mdast": "npm:^4.0.0" + micromark-util-normalize-identifier: "npm:^2.0.0" + unified-lint-rule: "npm:^3.0.0" + unist-util-position: "npm:^5.0.0" + unist-util-visit-parents: "npm:^6.0.0" + checksum: 10/92fe421c779222b33bd7dd0266602445d2d80ecbb91e0aa47c9f11c13960ff6924d844a00d44b19fec44da9bdf606c396564cd866ad5d62cf99c2c96c2ece8e1 languageName: node linkType: hard -"queue-microtask@npm:^1.2.2": - version: 1.2.3 - resolution: "queue-microtask@npm:1.2.3" - checksum: 72900df0616e473e824202113c3df6abae59150dfb73ed13273503127235320e9c8ca4aaaaccfd58cf417c6ca92a6e68ee9a5c3182886ae949a768639b388a7b +"remark-lint-no-unused-definitions@npm:4.0.0": + version: 4.0.0 + resolution: "remark-lint-no-unused-definitions@npm:4.0.0" + dependencies: + "@types/mdast": "npm:^4.0.0" + devlop: "npm:^1.0.0" + unified-lint-rule: "npm:^3.0.0" + unist-util-visit: "npm:^5.0.0" + checksum: 10/cd8ef0d0bfbdee19cdd35efb1e35bd8123266ef3527e7b30111b0d5c0ecbe7381009da4204db79a5dd0aa5c24390d839f23a6f7f4d3462ad132148e3a91ab94f languageName: node linkType: hard -"quick-lru@npm:^4.0.1": - version: 4.0.1 - resolution: "quick-lru@npm:4.0.1" - checksum: 5c7c75f1c696750f619b165cc9957382f919e4207dabf04597a64f0298861391cdc5ee91a1dde1a5d460ecf7ee1af7fc36fef6d155bef2be66f05d43fd63d4f0 +"remark-lint-no-url-trailing-slash@npm:3.0.1": + version: 3.0.1 + resolution: "remark-lint-no-url-trailing-slash@npm:3.0.1" + dependencies: + unified-lint-rule: "npm:^1.0.0" + unist-util-visit: "npm:^1.0.0" + checksum: 10/23f845669020f1e99dd40bc0bb23efff89f79496c0cb1d03c0706cb734bc4aa29f4104080a922b276ecdb0976df34c0f0619b696027aedf67ff55ff397bbd00b languageName: node linkType: hard -"quick-lru@npm:^5.1.1": - version: 5.1.1 - resolution: "quick-lru@npm:5.1.1" - checksum: a516faa25574be7947969883e6068dbe4aa19e8ef8e8e0fd96cddd6d36485e9106d85c0041a27153286b0770b381328f4072aa40d3b18a19f5f7d2b78b94b5ed +"remark-lint-ordered-list-marker-style@npm:4.0.0": + version: 4.0.0 + resolution: "remark-lint-ordered-list-marker-style@npm:4.0.0" + dependencies: + "@types/mdast": "npm:^4.0.0" + mdast-util-phrasing: "npm:^4.0.0" + micromark-util-character: "npm:^2.0.0" + unified-lint-rule: "npm:^3.0.0" + unist-util-position: "npm:^5.0.0" + unist-util-visit-parents: "npm:^6.0.0" + vfile-message: "npm:^4.0.0" + checksum: 10/dbe1a2ae41e3749a72ed190fb2f73cfd63030202138643604012fa945b7f318af2c16801258d130db174f9ebf0a95ea2de5c2622cc81f417a4effb2c1a580b2b languageName: node linkType: hard -"react-is@npm:^18.0.0": - version: 18.2.0 - resolution: "react-is@npm:18.2.0" - checksum: 200cd65bf2e0be7ba6055f647091b725a45dd2a6abef03bf2380ce701fd5edccee40b49b9d15edab7ac08a762bf83cb4081e31ec2673a5bfb549a36ba21570df +"remark-lint-ordered-list-marker-value@npm:4.0.0": + version: 4.0.0 + resolution: "remark-lint-ordered-list-marker-value@npm:4.0.0" + dependencies: + "@types/mdast": "npm:^4.0.0" + devlop: "npm:^1.0.0" + mdast-util-phrasing: "npm:^4.0.0" + micromark-util-character: "npm:^2.0.0" + unified-lint-rule: "npm:^3.0.0" + unist-util-position: "npm:^5.0.0" + unist-util-visit-parents: "npm:^6.0.0" + vfile-message: "npm:^4.0.0" + checksum: 10/17b10368fabb64477679b625a16bc00f513127db77e973b996b0c2386909e2436755122d6e1c826bd9707ff133890dfa0ee497f54cb089a3b98468f93222d5f2 languageName: node linkType: hard -"read-pkg-up@npm:^7.0.1": - version: 7.0.1 - resolution: "read-pkg-up@npm:7.0.1" +"remark-lint-rule-style@npm:4.0.0": + version: 4.0.0 + resolution: "remark-lint-rule-style@npm:4.0.0" dependencies: - find-up: "npm:^4.1.0" - read-pkg: "npm:^5.2.0" - type-fest: "npm:^0.8.1" - checksum: e4e93ce70e5905b490ca8f883eb9e48b5d3cebc6cd4527c25a0d8f3ae2903bd4121c5ab9c5a3e217ada0141098eeb661313c86fa008524b089b8ed0b7f165e44 + "@types/mdast": "npm:^4.0.0" + mdast-util-phrasing: "npm:^4.0.0" + unified-lint-rule: "npm:^3.0.0" + unist-util-position: "npm:^5.0.0" + unist-util-visit-parents: "npm:^6.0.0" + vfile-message: "npm:^4.0.0" + checksum: 10/1b19337cc397c509e0b61e65137859f0e56325c2b977e57ed1c662fd90737935a706a50c16c1cd561c8e7ce44dbec8eff929d436013ab5726516a5bd2f33952d languageName: node linkType: hard -"read-pkg-up@npm:^8.0.0": - version: 8.0.0 - resolution: "read-pkg-up@npm:8.0.0" +"remark-lint-strikethrough-marker@npm:3.0.0": + version: 3.0.0 + resolution: "remark-lint-strikethrough-marker@npm:3.0.0" dependencies: - find-up: "npm:^5.0.0" - read-pkg: "npm:^6.0.0" - type-fest: "npm:^1.0.1" - checksum: fe4c80401656b40b408884457fffb5a8015c03b1018cfd8e48f8d82a5e9023e24963603aeb2755608d964593e046c15b34d29b07d35af9c7aa478be81805209c + "@types/mdast": "npm:^4.0.0" + unified-lint-rule: "npm:^3.0.0" + unist-util-position: "npm:^5.0.0" + unist-util-visit-parents: "npm:^6.0.0" + vfile-message: "npm:^4.0.0" + checksum: 10/afa0c3220e8e02b5a1aea2a3f4e1d0e8958a8dce5a90e55c274002b3bc8eea13eab5ed7c9c00fa5e83926f4a24773c0462aafe23ffddeb3ba728baf64e611fa1 languageName: node linkType: hard -"read-pkg@npm:^5.2.0": - version: 5.2.0 - resolution: "read-pkg@npm:5.2.0" +"remark-lint-strong-marker@npm:4.0.0": + version: 4.0.0 + resolution: "remark-lint-strong-marker@npm:4.0.0" dependencies: - "@types/normalize-package-data": "npm:^2.4.0" - normalize-package-data: "npm:^2.5.0" - parse-json: "npm:^5.0.0" - type-fest: "npm:^0.6.0" - checksum: eb696e60528b29aebe10e499ba93f44991908c57d70f2d26f369e46b8b9afc208ef11b4ba64f67630f31df8b6872129e0a8933c8c53b7b4daf0eace536901222 + "@types/mdast": "npm:^4.0.0" + unified-lint-rule: "npm:^3.0.0" + unist-util-position: "npm:^5.0.0" + unist-util-visit-parents: "npm:^6.0.0" + vfile-message: "npm:^4.0.0" + checksum: 10/2e3ad702bd6076157ea19c84ac536e27e4cd7d130f10de2b75987e9beff97607d3cd200f7ddfccaebcf84d2b870d6c824bb62698fe440d95761cb598854b2932 languageName: node linkType: hard -"read-pkg@npm:^6.0.0": - version: 6.0.0 - resolution: "read-pkg@npm:6.0.0" +"remark-lint-table-cell-padding@npm:5.0.0": + version: 5.0.0 + resolution: "remark-lint-table-cell-padding@npm:5.0.0" dependencies: - "@types/normalize-package-data": "npm:^2.4.0" - normalize-package-data: "npm:^3.0.2" - parse-json: "npm:^5.2.0" - type-fest: "npm:^1.0.1" - checksum: 0cebdff381128e923815c643074a87011070e5fc352bee575d327d6485da3317fab6d802a7b03deeb0be7be8d3ad1640397b3d5d2f044452caf4e8d1736bf94f + "@types/mdast": "npm:^4.0.0" + "@types/unist": "npm:^3.0.0" + devlop: "npm:^1.0.0" + mdast-util-phrasing: "npm:^4.0.0" + pluralize: "npm:^8.0.0" + unified-lint-rule: "npm:^3.0.0" + unist-util-position: "npm:^5.0.0" + unist-util-visit-parents: "npm:^6.0.0" + vfile-message: "npm:^4.0.0" + checksum: 10/0d54fce4f3da8f0dfce7a3843c95318eac1b70ac1d1800492995286ccd1d208f1bea42132aaa0ea4636e3eff6f1362533e437a51ddf65ffff0defe16a2708b04 languageName: node linkType: hard -"readable-stream@npm:3, readable-stream@npm:^3.0.0, readable-stream@npm:^3.6.0": - version: 3.6.2 - resolution: "readable-stream@npm:3.6.2" +"remark-lint-table-pipe-alignment@npm:4.0.0": + version: 4.0.0 + resolution: "remark-lint-table-pipe-alignment@npm:4.0.0" dependencies: - inherits: "npm:^2.0.3" - string_decoder: "npm:^1.1.1" - util-deprecate: "npm:^1.0.1" - checksum: d9e3e53193adcdb79d8f10f2a1f6989bd4389f5936c6f8b870e77570853561c362bee69feca2bbb7b32368ce96a85504aa4cedf7cf80f36e6a9de30d64244048 + "@types/mdast": "npm:^4.0.0" + "@types/unist": "npm:^3.0.0" + devlop: "npm:^1.0.0" + mdast-util-phrasing: "npm:^4.0.0" + pluralize: "npm:^8.0.0" + unified-lint-rule: "npm:^3.0.0" + unist-util-position: "npm:^5.0.0" + unist-util-visit-parents: "npm:^6.0.0" + checksum: 10/a91ff0658e70a3c726c5a5d0c095b2f6089e2aa85ea713388a66dd9435bcf629c531c0f41fbd692d59953a69d16936e181482ec6fe6511d90dd9f4caa241e550 languageName: node linkType: hard -"readdir-enhanced@npm:^1.4.0": - version: 1.5.2 - resolution: "readdir-enhanced@npm:1.5.2" +"remark-lint-table-pipes@npm:5.0.0": + version: 5.0.0 + resolution: "remark-lint-table-pipes@npm:5.0.0" dependencies: - call-me-maybe: "npm:^1.0.1" - es6-promise: "npm:^4.1.0" - glob-to-regexp: "npm:^0.3.0" - checksum: 0fe583f1bd215ad46dbb5e121e18be8df4012fddc71a10cdb94693852fed43078d21aca7696d0a62acb37e12ea14cf2ed2c710c7c3486f4b6562c7dc0db58d33 + "@types/mdast": "npm:^4.0.0" + "@types/unist": "npm:^3.0.0" + mdast-util-phrasing: "npm:^4.0.0" + unified-lint-rule: "npm:^3.0.0" + unist-util-position: "npm:^5.0.0" + unist-util-visit-parents: "npm:^6.0.0" + checksum: 10/abdb85a80aedc195c64a0bd8bdff87ba9096dc13e4e3fdfd1bd0437d918479d8dd095c9e4b2720792244da786de5f577dfa71bb6e6e24ffbbf6ff9ea60a25c4a languageName: node linkType: hard -"redent@npm:^3.0.0": - version: 3.0.0 - resolution: "redent@npm:3.0.0" +"remark-lint-unordered-list-marker-style@npm:4.0.0": + version: 4.0.0 + resolution: "remark-lint-unordered-list-marker-style@npm:4.0.0" dependencies: - indent-string: "npm:^4.0.0" - strip-indent: "npm:^3.0.0" - checksum: fa1ef20404a2d399235e83cc80bd55a956642e37dd197b4b612ba7327bf87fa32745aeb4a1634b2bab25467164ab4ed9c15be2c307923dd08b0fe7c52431ae6b + "@types/mdast": "npm:^4.0.0" + mdast-util-phrasing: "npm:^4.0.0" + unified-lint-rule: "npm:^3.0.0" + unist-util-position: "npm:^5.0.0" + unist-util-visit-parents: "npm:^6.0.0" + vfile-message: "npm:^4.0.0" + checksum: 10/b78b25704d8fda4d0747ecd504e8267d06d271dfc7ee7468bd10b8f9e4853b71c8863452eade143210b38ac0db7bebeb87d0fc1a762b0558269ce4e39fe37ee4 languageName: node linkType: hard -"redent@npm:^4.0.0": - version: 4.0.0 - resolution: "redent@npm:4.0.0" +"remark-lint@npm:10.0.0": + version: 10.0.0 + resolution: "remark-lint@npm:10.0.0" dependencies: - indent-string: "npm:^5.0.0" - strip-indent: "npm:^4.0.0" - checksum: 6944e7b1d8f3fd28c2515f5c605b9f7f0ea0f4edddf41890bbbdd4d9ee35abb7540c3b278f03ff827bd278bb6ff4a5bd8692ca406b748c5c1c3ce7355e9fbf8f + "@types/mdast": "npm:^4.0.0" + remark-message-control: "npm:^8.0.0" + unified: "npm:^11.0.0" + checksum: 10/ef64e2e46ebc3ee2f6ac93cf396508cfb9dee3acaf1ac39692d92e32ece75723d997f70fe8961ab5215bfb52a586c824e087d9445ad54bba5af75d0a2c8a6e58 languageName: node linkType: hard -"redeyed@npm:~2.1.0": - version: 2.1.1 - resolution: "redeyed@npm:2.1.1" +"remark-mdx@npm:^3.0.0": + version: 3.0.1 + resolution: "remark-mdx@npm:3.0.1" dependencies: - esprima: "npm:~4.0.0" - checksum: 86880f97d54bb55bbf1c338e27fe28f18f52afc2f5afa808354a09a3777aa79b4f04e04844350d7fec80aa2d299196bde256b21f586e7e5d9b63494bd4a9db27 + mdast-util-mdx: "npm:^3.0.0" + micromark-extension-mdxjs: "npm:^3.0.0" + checksum: 10/aa1d9b8baf62c98d973ff3538402378ee47eef0e7adb10123421b4fde7e187b9c5820f72a11846193b6fe43983221e1078d97ed9cebbcde0938e55cb159d5455 languageName: node linkType: hard -"reflect-metadata@npm:0.1.13": - version: 0.1.13 - resolution: "reflect-metadata@npm:0.1.13" - checksum: 732570da35d2d96f8fdd5aac60fb263aa92f6512eaded5962b052bd9e90f22a9dec5aaf0d7ff4bfe97646c9530e8444e8435c2d80b24d0bdf938b5d47f6f5b83 +"remark-message-control@npm:^8.0.0": + version: 8.0.0 + resolution: "remark-message-control@npm:8.0.0" + dependencies: + "@types/mdast": "npm:^4.0.0" + mdast-comment-marker: "npm:^3.0.0" + unified-message-control: "npm:^5.0.0" + vfile: "npm:^6.0.0" + checksum: 10/a53bccd4004639d685d43b520c14e7c4079cfdd7c297c82d0333ef7bf8e73d197868e933b65cc4dbded82de42cf8d55ff5f82a38a48c5c7e48cbd3b7767c3d85 languageName: node linkType: hard -"regexp-tree@npm:^0.1.27": - version: 0.1.27 - resolution: "regexp-tree@npm:0.1.27" - bin: - regexp-tree: bin/regexp-tree - checksum: 08c70c8adb5a0d4af1061bf9eb05d3b6e1d948c433d6b7008e4b5eb12a49429c2d6ca8e9106339a432aa0d07bd6e1bccc638d8f4ab0d045f3adad22182b300a2 +"remark-parse@npm:^11.0.0": + version: 11.0.0 + resolution: "remark-parse@npm:11.0.0" + dependencies: + "@types/mdast": "npm:^4.0.0" + mdast-util-from-markdown: "npm:^2.0.0" + micromark-util-types: "npm:^2.0.0" + unified: "npm:^11.0.0" + checksum: 10/59d584be56ebc7c05524989c4ed86eb8a7b6e361942b705ca13a37349f60740a6073aedf7783af46ce920d09dd156148942d5e33e8be3dbcd47f818cb4bc410c languageName: node linkType: hard -"regexp.prototype.flags@npm:^1.5.0": - version: 1.5.0 - resolution: "regexp.prototype.flags@npm:1.5.0" +"remark-stringify@npm:^11.0.0": + version: 11.0.0 + resolution: "remark-stringify@npm:11.0.0" dependencies: - call-bind: "npm:^1.0.2" - define-properties: "npm:^1.2.0" - functions-have-names: "npm:^1.2.3" - checksum: c8229ec3f59f8312248268009cb9bf9145a3982117f747499b994e8efb378ac8b62e812fd88df75225d53cb4879d2bb2fe47b2a50776cba076d8ff71fc0b1629 + "@types/mdast": "npm:^4.0.0" + mdast-util-to-markdown: "npm:^2.0.0" + unified: "npm:^11.0.0" + checksum: 10/32b2f6093ba08e713183629b37e633e0999b6981560eec41f04fe957f76fc6f56dcc14c87c6b45419863be844c6f1130eb2dc055085fc0adc0775b1df7340348 languageName: node linkType: hard -"regexpp@npm:^3.0.0": - version: 3.2.0 - resolution: "regexpp@npm:3.2.0" - checksum: 3310010895a906873262f4b494fc99bcef1e71ef6720a0532c5999ca586498cbd4a284c8e3c2423f9d1d37512fd08d6064b7564e0e59508cf938f76dd15ace84 +"remark-validate-links@npm:13.0.2": + version: 13.0.2 + resolution: "remark-validate-links@npm:13.0.2" + dependencies: + "@types/hosted-git-info": "npm:^3.0.0" + "@types/mdast": "npm:^4.0.0" + github-slugger: "npm:^2.0.0" + hosted-git-info: "npm:^7.0.0" + mdast-util-to-hast: "npm:^13.0.0" + mdast-util-to-string: "npm:^4.0.0" + propose: "npm:0.0.5" + trough: "npm:^2.0.0" + unified-engine: "npm:^11.0.0" + unist-util-visit: "npm:^5.0.0" + vfile: "npm:^6.0.0" + checksum: 10/a297233a8762049183f5a994cbf2e90f4edcc65cdff7a4d39713fcc5ac27b701dce9f9719a9eb71b66d60661c6312acb597b5996fceeef5f6fc7c530e7207b4a languageName: node linkType: hard -"regjsparser@npm:^0.10.0": - version: 0.10.0 - resolution: "regjsparser@npm:0.10.0" +"remark@npm:15.0.1, remark@npm:^15.0.0": + version: 15.0.1 + resolution: "remark@npm:15.0.1" dependencies: - jsesc: "npm:~0.5.0" - bin: - regjsparser: bin/parser - checksum: 06f7f0e59598de20769ce5637bbd8879387f67c0eeb8ccc8857331c623332718c25d8d20bd74df210bf636dde061474e8bd365cf73af20470f0b3cb42cd42019 + "@types/mdast": "npm:^4.0.0" + remark-parse: "npm:^11.0.0" + remark-stringify: "npm:^11.0.0" + unified: "npm:^11.0.0" + checksum: 10/671eae3a4482377373cbbae956e2dbc0f8c40df1c3e5e2e1e82efa248b310ef5989340e1a5a8ebe94ff14fcf9c72612f40a29d002ffc0a465e3d6d50de973839 languageName: node linkType: hard "repeat-string@npm:^1.6.1": version: 1.6.1 resolution: "repeat-string@npm:1.6.1" - checksum: 1b809fc6db97decdc68f5b12c4d1a671c8e3f65ec4a40c238bc5200e44e85bcc52a54f78268ab9c29fcf5fe4f1343e805420056d1f30fa9a9ee4c2d93e3cc6c0 + checksum: 10/1b809fc6db97decdc68f5b12c4d1a671c8e3f65ec4a40c238bc5200e44e85bcc52a54f78268ab9c29fcf5fe4f1343e805420056d1f30fa9a9ee4c2d93e3cc6c0 languageName: node linkType: hard "require-directory@npm:^2.1.1": version: 2.1.1 resolution: "require-directory@npm:2.1.1" - checksum: a72468e2589270d91f06c7d36ec97a88db53ae5d6fe3787fadc943f0b0276b10347f89b363b2a82285f650bdcc135ad4a257c61bdd4d00d6df1fa24875b0ddaf + checksum: 10/a72468e2589270d91f06c7d36ec97a88db53ae5d6fe3787fadc943f0b0276b10347f89b363b2a82285f650bdcc135ad4a257c61bdd4d00d6df1fa24875b0ddaf languageName: node linkType: hard "require-from-string@npm:^2.0.2": version: 2.0.2 resolution: "require-from-string@npm:2.0.2" - checksum: 839a3a890102a658f4cb3e7b2aa13a1f80a3a976b512020c3d1efc418491c48a886b6e481ea56afc6c4cb5eef678f23b2a4e70575e7534eccadf5e30ed2e56eb - languageName: node - linkType: hard - -"resolve-from@npm:5.0.0, resolve-from@npm:^5.0.0": - version: 5.0.0 - resolution: "resolve-from@npm:5.0.0" - checksum: be18a5e4d76dd711778664829841cde690971d02b6cbae277735a09c1c28f407b99ef6ef3cd585a1e6546d4097b28df40ed32c4a287b9699dcf6d7f208495e23 + checksum: 10/839a3a890102a658f4cb3e7b2aa13a1f80a3a976b512020c3d1efc418491c48a886b6e481ea56afc6c4cb5eef678f23b2a4e70575e7534eccadf5e30ed2e56eb languageName: node linkType: hard "resolve-from@npm:^4.0.0": version: 4.0.0 resolution: "resolve-from@npm:4.0.0" - checksum: 91eb76ce83621eea7bbdd9b55121a5c1c4a39e54a9ce04a9ad4517f102f8b5131c2cf07622c738a6683991bf54f2ce178f5a42803ecbd527ddc5105f362cc9e3 + checksum: 10/91eb76ce83621eea7bbdd9b55121a5c1c4a39e54a9ce04a9ad4517f102f8b5131c2cf07622c738a6683991bf54f2ce178f5a42803ecbd527ddc5105f362cc9e3 languageName: node linkType: hard -"resolve-global@npm:1.0.0, resolve-global@npm:^1.0.0": - version: 1.0.0 - resolution: "resolve-global@npm:1.0.0" - dependencies: - global-dirs: "npm:^0.1.1" - checksum: c4e11d33e84bde7516b824503ffbe4b6cce863d5ce485680fd3db997b7c64da1df98321b1fd0703b58be8bc9bc83bc96bd83043f96194386b45eb47229efb6b6 +"resolve-from@npm:^5.0.0": + version: 5.0.0 + resolution: "resolve-from@npm:5.0.0" + checksum: 10/be18a5e4d76dd711778664829841cde690971d02b6cbae277735a09c1c28f407b99ef6ef3cd585a1e6546d4097b28df40ed32c4a287b9699dcf6d7f208495e23 languageName: node linkType: hard "resolve-pkg-maps@npm:^1.0.0": version: 1.0.0 resolution: "resolve-pkg-maps@npm:1.0.0" - checksum: 0763150adf303040c304009231314d1e84c6e5ebfa2d82b7d94e96a6e82bacd1dcc0b58ae257315f3c8adb89a91d8d0f12928241cba2df1680fbe6f60bf99b0e + checksum: 10/0763150adf303040c304009231314d1e84c6e5ebfa2d82b7d94e96a6e82bacd1dcc0b58ae257315f3c8adb89a91d8d0f12928241cba2df1680fbe6f60bf99b0e languageName: node linkType: hard -"resolve@npm:^1.10.0, resolve@npm:^1.10.1, resolve@npm:^1.22.4": +"resolve@npm:^1.10.0, resolve@npm:^1.22.4": version: 1.22.4 resolution: "resolve@npm:1.22.4" dependencies: @@ -7606,11 +9923,11 @@ __metadata: supports-preserve-symlinks-flag: "npm:^1.0.0" bin: resolve: bin/resolve - checksum: 5634f87e72888b139a7cb544213504cc0c6dcd82c6f67ce810b4ca6b3367ddb2aeed5f21c9bb6cd8f3115f0b7e6c0980ef25eeb0dcbd188d9590bb5c84d2d253 + checksum: 10/5634f87e72888b139a7cb544213504cc0c6dcd82c6f67ce810b4ca6b3367ddb2aeed5f21c9bb6cd8f3115f0b7e6c0980ef25eeb0dcbd188d9590bb5c84d2d253 languageName: node linkType: hard -"resolve@patch:resolve@npm%3A^1.10.0#optional!builtin<compat/resolve>, resolve@patch:resolve@npm%3A^1.10.1#optional!builtin<compat/resolve>, resolve@patch:resolve@npm%3A^1.22.4#optional!builtin<compat/resolve>": +"resolve@patch:resolve@npm%3A^1.10.0#optional!builtin<compat/resolve>, resolve@patch:resolve@npm%3A^1.22.4#optional!builtin<compat/resolve>": version: 1.22.4 resolution: "resolve@patch:resolve@npm%3A1.22.4#optional!builtin<compat/resolve>::version=1.22.4&hash=c3c19d" dependencies: @@ -7619,48 +9936,21 @@ __metadata: supports-preserve-symlinks-flag: "npm:^1.0.0" bin: resolve: bin/resolve - checksum: 13262490c7b0ac54f6397f1d45ee139ebd2e431781e2ff0d9c27bf41648a349a90bc23a3ab2768f0f821efdd2cba08fb85f21288fc0cc01718c03557fbd285bc - languageName: node - linkType: hard - -"restore-cursor@npm:^3.1.0": - version: 3.1.0 - resolution: "restore-cursor@npm:3.1.0" - dependencies: - onetime: "npm:^5.1.0" - signal-exit: "npm:^3.0.2" - checksum: f877dd8741796b909f2a82454ec111afb84eb45890eb49ac947d87991379406b3b83ff9673a46012fca0d7844bb989f45cc5b788254cf1a39b6b5a9659de0630 - languageName: node - linkType: hard - -"restore-cursor@npm:^4.0.0": - version: 4.0.0 - resolution: "restore-cursor@npm:4.0.0" - dependencies: - onetime: "npm:^5.1.0" - signal-exit: "npm:^3.0.2" - checksum: 5b675c5a59763bf26e604289eab35711525f11388d77f409453904e1e69c0d37ae5889295706b2c81d23bd780165084d040f9b68fffc32cc921519031c4fa4af + checksum: 10/13262490c7b0ac54f6397f1d45ee139ebd2e431781e2ff0d9c27bf41648a349a90bc23a3ab2768f0f821efdd2cba08fb85f21288fc0cc01718c03557fbd285bc languageName: node linkType: hard "retry@npm:^0.12.0": version: 0.12.0 resolution: "retry@npm:0.12.0" - checksum: 1f914879f97e7ee931ad05fe3afa629bd55270fc6cf1c1e589b6a99fab96d15daad0fa1a52a00c729ec0078045fe3e399bd4fd0c93bcc906957bdc17f89cb8e6 + checksum: 10/1f914879f97e7ee931ad05fe3afa629bd55270fc6cf1c1e589b6a99fab96d15daad0fa1a52a00c729ec0078045fe3e399bd4fd0c93bcc906957bdc17f89cb8e6 languageName: node linkType: hard "reusify@npm:^1.0.4": version: 1.0.4 resolution: "reusify@npm:1.0.4" - checksum: 14222c9e1d3f9ae01480c50d96057228a8524706db79cdeb5a2ce5bb7070dd9f409a6f84a02cbef8cdc80d39aef86f2dd03d155188a1300c599b05437dcd2ffb - languageName: node - linkType: hard - -"rfdc@npm:^1.3.0": - version: 1.3.0 - resolution: "rfdc@npm:1.3.0" - checksum: 76dedd9700cdf132947fde7ce1a8838c9cbb7f3e8f9188af0aaf97194cce745f42094dd2cf547426934cc83252ee2c0e432b2e0222a4415ab0db32de82665c69 + checksum: 10/14222c9e1d3f9ae01480c50d96057228a8524706db79cdeb5a2ce5bb7070dd9f409a6f84a02cbef8cdc80d39aef86f2dd03d155188a1300c599b05437dcd2ffb languageName: node linkType: hard @@ -7671,26 +9961,34 @@ __metadata: glob: "npm:^7.1.3" bin: rimraf: bin.js - checksum: 063ffaccaaaca2cfd0ef3beafb12d6a03dd7ff1260d752d62a6077b5dfff6ae81bea571f655bb6b589d366930ec1bdd285d40d560c0dae9b12f125e54eb743d5 - languageName: node - linkType: hard - -"rollup@npm:^4.1.4": - version: 4.1.4 - resolution: "rollup@npm:4.1.4" - dependencies: - "@rollup/rollup-android-arm-eabi": "npm:4.1.4" - "@rollup/rollup-android-arm64": "npm:4.1.4" - "@rollup/rollup-darwin-arm64": "npm:4.1.4" - "@rollup/rollup-darwin-x64": "npm:4.1.4" - "@rollup/rollup-linux-arm-gnueabihf": "npm:4.1.4" - "@rollup/rollup-linux-arm64-gnu": "npm:4.1.4" - "@rollup/rollup-linux-arm64-musl": "npm:4.1.4" - "@rollup/rollup-linux-x64-gnu": "npm:4.1.4" - "@rollup/rollup-linux-x64-musl": "npm:4.1.4" - "@rollup/rollup-win32-arm64-msvc": "npm:4.1.4" - "@rollup/rollup-win32-ia32-msvc": "npm:4.1.4" - "@rollup/rollup-win32-x64-msvc": "npm:4.1.4" + checksum: 10/063ffaccaaaca2cfd0ef3beafb12d6a03dd7ff1260d752d62a6077b5dfff6ae81bea571f655bb6b589d366930ec1bdd285d40d560c0dae9b12f125e54eb743d5 + languageName: node + linkType: hard + +"rollup@npm:*, rollup@npm:4.31.0, rollup@npm:^4.23.0": + version: 4.31.0 + resolution: "rollup@npm:4.31.0" + dependencies: + "@rollup/rollup-android-arm-eabi": "npm:4.31.0" + "@rollup/rollup-android-arm64": "npm:4.31.0" + "@rollup/rollup-darwin-arm64": "npm:4.31.0" + "@rollup/rollup-darwin-x64": "npm:4.31.0" + "@rollup/rollup-freebsd-arm64": "npm:4.31.0" + "@rollup/rollup-freebsd-x64": "npm:4.31.0" + "@rollup/rollup-linux-arm-gnueabihf": "npm:4.31.0" + "@rollup/rollup-linux-arm-musleabihf": "npm:4.31.0" + "@rollup/rollup-linux-arm64-gnu": "npm:4.31.0" + "@rollup/rollup-linux-arm64-musl": "npm:4.31.0" + "@rollup/rollup-linux-loongarch64-gnu": "npm:4.31.0" + "@rollup/rollup-linux-powerpc64le-gnu": "npm:4.31.0" + "@rollup/rollup-linux-riscv64-gnu": "npm:4.31.0" + "@rollup/rollup-linux-s390x-gnu": "npm:4.31.0" + "@rollup/rollup-linux-x64-gnu": "npm:4.31.0" + "@rollup/rollup-linux-x64-musl": "npm:4.31.0" + "@rollup/rollup-win32-arm64-msvc": "npm:4.31.0" + "@rollup/rollup-win32-ia32-msvc": "npm:4.31.0" + "@rollup/rollup-win32-x64-msvc": "npm:4.31.0" + "@types/estree": "npm:1.0.6" fsevents: "npm:~2.3.2" dependenciesMeta: "@rollup/rollup-android-arm-eabi": @@ -7701,12 +9999,26 @@ __metadata: optional: true "@rollup/rollup-darwin-x64": optional: true + "@rollup/rollup-freebsd-arm64": + optional: true + "@rollup/rollup-freebsd-x64": + optional: true "@rollup/rollup-linux-arm-gnueabihf": optional: true + "@rollup/rollup-linux-arm-musleabihf": + optional: true "@rollup/rollup-linux-arm64-gnu": optional: true "@rollup/rollup-linux-arm64-musl": optional: true + "@rollup/rollup-linux-loongarch64-gnu": + optional: true + "@rollup/rollup-linux-powerpc64le-gnu": + optional: true + "@rollup/rollup-linux-riscv64-gnu": + optional: true + "@rollup/rollup-linux-s390x-gnu": + optional: true "@rollup/rollup-linux-x64-gnu": optional: true "@rollup/rollup-linux-x64-musl": @@ -7719,16 +10031,9 @@ __metadata: optional: true fsevents: optional: true - bin: - rollup: dist/bin/rollup - checksum: 355afdbdc0e1c0512a6f3ad45659f9b4357e4adba94976174675c10ae4893ca08a6952e05791d9a485c5edeb3940fbf59cb7758aa68998dc7db9f19216f820e7 - languageName: node - linkType: hard - -"run-async@npm:^2.4.0": - version: 2.4.1 - resolution: "run-async@npm:2.4.1" - checksum: c79551224dafa26ecc281cb1efad3510c82c79116aaf681f8a931ce70fdf4ca880d58f97d3b930a38992c7aad7955a08e065b32ec194e1dd49d7790c874ece50 + bin: + rollup: dist/bin/rollup + checksum: 10/4f5fac0a0df7878ca810512c283df0e81b21d42fed262943b412c488a30beceb0149a4be36dbf2750b6c5cbfa4d4cf5097a134266f1425a9e213c2a2a09853fc languageName: node linkType: hard @@ -7737,7 +10042,7 @@ __metadata: resolution: "run-parallel@npm:1.2.0" dependencies: queue-microtask: "npm:^1.2.2" - checksum: cb4f97ad25a75ebc11a8ef4e33bb962f8af8516bb2001082ceabd8902e15b98f4b84b4f8a9b222e5d57fc3bd1379c483886ed4619367a7680dad65316993021d + checksum: 10/cb4f97ad25a75ebc11a8ef4e33bb962f8af8516bb2001082ceabd8902e15b98f4b84b4f8a9b222e5d57fc3bd1379c483886ed4619367a7680dad65316993021d languageName: node linkType: hard @@ -7746,53 +10051,53 @@ __metadata: resolution: "rxjs@npm:7.8.1" dependencies: tslib: "npm:^2.1.0" - checksum: b10cac1a5258f885e9dd1b70d23c34daeb21b61222ee735d2ec40a8685bdca40429000703a44f0e638c27a684ac139e1c37e835d2a0dc16f6fc061a138ae3abb + checksum: 10/b10cac1a5258f885e9dd1b70d23c34daeb21b61222ee735d2ec40a8685bdca40429000703a44f0e638c27a684ac139e1c37e835d2a0dc16f6fc061a138ae3abb languageName: node linkType: hard -"rxjs@npm:^6.6.0": - version: 6.6.7 - resolution: "rxjs@npm:6.6.7" +"sade@npm:^1.7.3": + version: 1.8.1 + resolution: "sade@npm:1.8.1" dependencies: - tslib: "npm:^1.9.0" - checksum: c8263ebb20da80dd7a91c452b9e96a178331f402344bbb40bc772b56340fcd48d13d1f545a1e3d8e464893008c5e306cc42a1552afe0d562b1a6d4e1e6262b03 + mri: "npm:^1.1.0" + checksum: 10/1c67ba03c94083e0ae307ff5564ecb86c2104c0f558042fdaa40ea0054f91a63a9783f14069870f2f784336adabb70f90f22a84dc457b5a25e859aaadefe0910 languageName: node linkType: hard -"safe-array-concat@npm:^1.0.0": - version: 1.0.0 - resolution: "safe-array-concat@npm:1.0.0" +"safe-array-concat@npm:^1.1.2": + version: 1.1.2 + resolution: "safe-array-concat@npm:1.1.2" dependencies: - call-bind: "npm:^1.0.2" - get-intrinsic: "npm:^1.2.0" + call-bind: "npm:^1.0.7" + get-intrinsic: "npm:^1.2.4" has-symbols: "npm:^1.0.3" isarray: "npm:^2.0.5" - checksum: f43cb98fe3b566327d0c09284de2b15fb85ae964a89495c1b1a5d50c7c8ed484190f4e5e71aacc167e16231940079b326f2c0807aea633d47cc7322f40a6b57f + checksum: 10/a54f8040d7cb696a1ee38d19cc71ab3cfb654b9b81bae00c6459618cfad8214ece7e6666592f9c925aafef43d0a20c5e6fbb3413a2b618e1ce9d516a2e6dcfc5 languageName: node linkType: hard "safe-buffer@npm:~5.2.0": version: 5.2.1 resolution: "safe-buffer@npm:5.2.1" - checksum: 32872cd0ff68a3ddade7a7617b8f4c2ae8764d8b7d884c651b74457967a9e0e886267d3ecc781220629c44a865167b61c375d2da6c720c840ecd73f45d5d9451 + checksum: 10/32872cd0ff68a3ddade7a7617b8f4c2ae8764d8b7d884c651b74457967a9e0e886267d3ecc781220629c44a865167b61c375d2da6c720c840ecd73f45d5d9451 languageName: node linkType: hard -"safe-regex-test@npm:^1.0.0": - version: 1.0.0 - resolution: "safe-regex-test@npm:1.0.0" +"safe-regex-test@npm:^1.0.0, safe-regex-test@npm:^1.0.3": + version: 1.0.3 + resolution: "safe-regex-test@npm:1.0.3" dependencies: - call-bind: "npm:^1.0.2" - get-intrinsic: "npm:^1.1.3" + call-bind: "npm:^1.0.6" + es-errors: "npm:^1.3.0" is-regex: "npm:^1.1.4" - checksum: c7248dfa07891aa634c8b9c55da696e246f8589ca50e7fd14b22b154a106e83209ddf061baf2fa45ebfbd485b094dc7297325acfc50724de6afe7138451b42a9 + checksum: 10/b04de61114b10274d92e25b6de7ccb5de07f11ea15637ff636de4b5190c0f5cd8823fe586dde718504cf78055437d70fd8804976894df502fcf5a210c970afb3 languageName: node linkType: hard -"safer-buffer@npm:>= 2.1.2 < 3, safer-buffer@npm:>= 2.1.2 < 3.0.0": +"safer-buffer@npm:>= 2.1.2 < 3.0.0": version: 2.1.2 resolution: "safer-buffer@npm:2.1.2" - checksum: 7eaf7a0cf37cc27b42fb3ef6a9b1df6e93a1c6d98c6c6702b02fe262d5fcbd89db63320793b99b21cb5348097d0a53de81bd5f4e8b86e20cc9412e3f1cfb4e83 + checksum: 10/7eaf7a0cf37cc27b42fb3ef6a9b1df6e93a1c6d98c6c6702b02fe262d5fcbd89db63320793b99b21cb5348097d0a53de81bd5f4e8b86e20cc9412e3f1cfb4e83 languageName: node linkType: hard @@ -7801,43 +10106,78 @@ __metadata: resolution: "semver@npm:5.7.2" bin: semver: bin/semver - checksum: fca14418a174d4b4ef1fecb32c5941e3412d52a4d3d85165924ce3a47fbc7073372c26faf7484ceb4bbc2bde25880c6b97e492473dc7e9708fdfb1c6a02d546e + checksum: 10/fca14418a174d4b4ef1fecb32c5941e3412d52a4d3d85165924ce3a47fbc7073372c26faf7484ceb4bbc2bde25880c6b97e492473dc7e9708fdfb1c6a02d546e languageName: node linkType: hard -"semver@npm:7.5.4, semver@npm:^7.0.0, semver@npm:^7.3.2, semver@npm:^7.3.4, semver@npm:^7.3.5, semver@npm:^7.5.0, semver@npm:^7.5.2, semver@npm:^7.5.3, semver@npm:^7.5.4": +"semver@npm:7.5.4": version: 7.5.4 resolution: "semver@npm:7.5.4" dependencies: lru-cache: "npm:^6.0.0" bin: semver: bin/semver.js - checksum: 985dec0d372370229a262c737063860fabd4a1c730662c1ea3200a2f649117761a42184c96df62a0e885e76fbd5dace41087d6c1ac0351b13c0df5d6bcb1b5ac + checksum: 10/985dec0d372370229a262c737063860fabd4a1c730662c1ea3200a2f649117761a42184c96df62a0e885e76fbd5dace41087d6c1ac0351b13c0df5d6bcb1b5ac languageName: node linkType: hard -"semver@npm:^6.1.0, semver@npm:^6.3.1": +"semver@npm:^6.3.1": version: 6.3.1 resolution: "semver@npm:6.3.1" bin: semver: bin/semver.js - checksum: 1ef3a85bd02a760c6ef76a45b8c1ce18226de40831e02a00bad78485390b98b6ccaa31046245fc63bba4a47a6a592b6c7eedc65cc47126e60489f9cc1ce3ed7e + checksum: 10/1ef3a85bd02a760c6ef76a45b8c1ce18226de40831e02a00bad78485390b98b6ccaa31046245fc63bba4a47a6a592b6c7eedc65cc47126e60489f9cc1ce3ed7e + languageName: node + linkType: hard + +"semver@npm:^7.0.0, semver@npm:^7.1.1, semver@npm:^7.3.5, semver@npm:^7.5.3, semver@npm:^7.5.4, semver@npm:^7.6.0, semver@npm:^7.6.3": + version: 7.6.3 + resolution: "semver@npm:7.6.3" + bin: + semver: bin/semver.js + checksum: 10/36b1fbe1a2b6f873559cd57b238f1094a053dbfd997ceeb8757d79d1d2089c56d1321b9f1069ce263dc64cfa922fa1d2ad566b39426fe1ac6c723c1487589e10 languageName: node linkType: hard "set-blocking@npm:^2.0.0": version: 2.0.0 resolution: "set-blocking@npm:2.0.0" - checksum: 8980ebf7ae9eb945bb036b6e283c547ee783a1ad557a82babf758a065e2fb6ea337fd82cac30dd565c1e606e423f30024a19fff7afbf4977d784720c4026a8ef + checksum: 10/8980ebf7ae9eb945bb036b6e283c547ee783a1ad557a82babf758a065e2fb6ea337fd82cac30dd565c1e606e423f30024a19fff7afbf4977d784720c4026a8ef languageName: node linkType: hard -"sh-syntax@npm:0.4.1": - version: 0.4.1 - resolution: "sh-syntax@npm:0.4.1" +"set-function-length@npm:^1.2.1": + version: 1.2.2 + resolution: "set-function-length@npm:1.2.2" dependencies: - tslib: "npm:^2.6.0" - checksum: 52ab7923575dc8312df0fad30256dafc6682667f49f0a765666fb94a17fde9eb9712e8d739c4fcc130691c0a17a7da8904d1069894eef5145e5a7df8083b6a6b + define-data-property: "npm:^1.1.4" + es-errors: "npm:^1.3.0" + function-bind: "npm:^1.1.2" + get-intrinsic: "npm:^1.2.4" + gopd: "npm:^1.0.1" + has-property-descriptors: "npm:^1.0.2" + checksum: 10/505d62b8e088468917ca4e3f8f39d0e29f9a563b97dbebf92f4bd2c3172ccfb3c5b8e4566d5fcd00784a00433900e7cb8fbc404e2dbd8c3818ba05bb9d4a8a6d + languageName: node + linkType: hard + +"set-function-name@npm:^2.0.1": + version: 2.0.2 + resolution: "set-function-name@npm:2.0.2" + dependencies: + define-data-property: "npm:^1.1.4" + es-errors: "npm:^1.3.0" + functions-have-names: "npm:^1.2.3" + has-property-descriptors: "npm:^1.0.2" + checksum: 10/c7614154a53ebf8c0428a6c40a3b0b47dac30587c1a19703d1b75f003803f73cdfa6a93474a9ba678fa565ef5fbddc2fae79bca03b7d22ab5fd5163dbe571a74 + languageName: node + linkType: hard + +"sh-syntax@npm:0.4.2": + version: 0.4.2 + resolution: "sh-syntax@npm:0.4.2" + dependencies: + tslib: "npm:^2.6.2" + checksum: 10/12aae8b6f57b86150a5a35975ef241cd6bb882347b732477a0cf562876e043d7a804c14e3ba602c9650c7024bd30a365a53a1538f6c3fa63d5d06d5714a2f2b3 languageName: node linkType: hard @@ -7846,21 +10186,21 @@ __metadata: resolution: "shebang-command@npm:2.0.0" dependencies: shebang-regex: "npm:^3.0.0" - checksum: 6b52fe87271c12968f6a054e60f6bde5f0f3d2db483a1e5c3e12d657c488a15474121a1d55cd958f6df026a54374ec38a4a963988c213b7570e1d51575cea7fa + checksum: 10/6b52fe87271c12968f6a054e60f6bde5f0f3d2db483a1e5c3e12d657c488a15474121a1d55cd958f6df026a54374ec38a4a963988c213b7570e1d51575cea7fa languageName: node linkType: hard "shebang-regex@npm:^3.0.0": version: 3.0.0 resolution: "shebang-regex@npm:3.0.0" - checksum: 1a2bcae50de99034fcd92ad4212d8e01eedf52c7ec7830eedcf886622804fe36884278f2be8be0ea5fde3fd1c23911643a4e0f726c8685b61871c8908af01222 + checksum: 10/1a2bcae50de99034fcd92ad4212d8e01eedf52c7ec7830eedcf886622804fe36884278f2be8be0ea5fde3fd1c23911643a4e0f726c8685b61871c8908af01222 languageName: node linkType: hard "shellwords@npm:^0.1.1": version: 0.1.1 resolution: "shellwords@npm:0.1.1" - checksum: c122808ca53c828747ee69503755a5d35d8c1493e943d15ebfd6fe028517ec1af6f8a4c2dc9d995b0df75bd4246382c0dd2dc792a82ce5a6448307a643fc5a38 + checksum: 10/c122808ca53c828747ee69503755a5d35d8c1493e943d15ebfd6fe028517ec1af6f8a4c2dc9d995b0df75bd4246382c0dd2dc792a82ce5a6448307a643fc5a38 languageName: node linkType: hard @@ -7871,35 +10211,39 @@ __metadata: call-bind: "npm:^1.0.0" get-intrinsic: "npm:^1.0.2" object-inspect: "npm:^1.9.0" - checksum: c4998d9fc530b0e75a7fd791ad868fdc42846f072734f9080ff55cc8dc7d3899abcda24fd896aa6648c3ab7021b4bb478073eb4f44dfd55bce9714bc1a7c5d45 - languageName: node - linkType: hard - -"sift@npm:*": - version: 17.0.1 - resolution: "sift@npm:17.0.1" - checksum: 210e9a3980c3ce3a26c1caec3db70007984994bac3cf148d7dba70c5a77762934b34a8b4c6594afccfda4eaf3b57d00dfacd7209acde81037c6658a0bbb15221 + checksum: 10/c4998d9fc530b0e75a7fd791ad868fdc42846f072734f9080ff55cc8dc7d3899abcda24fd896aa6648c3ab7021b4bb478073eb4f44dfd55bce9714bc1a7c5d45 languageName: node linkType: hard "siginfo@npm:^2.0.0": version: 2.0.0 resolution: "siginfo@npm:2.0.0" - checksum: e93ff66c6531a079af8fb217240df01f980155b5dc408d2d7bebc398dd284e383eb318153bf8acd4db3c4fe799aa5b9a641e38b0ba3b1975700b1c89547ea4e7 + checksum: 10/e93ff66c6531a079af8fb217240df01f980155b5dc408d2d7bebc398dd284e383eb318153bf8acd4db3c4fe799aa5b9a641e38b0ba3b1975700b1c89547ea4e7 languageName: node linkType: hard -"signal-exit@npm:^3.0.2, signal-exit@npm:^3.0.3, signal-exit@npm:^3.0.7": +"signal-exit@npm:^3.0.2, signal-exit@npm:^3.0.7": version: 3.0.7 resolution: "signal-exit@npm:3.0.7" - checksum: a2f098f247adc367dffc27845853e9959b9e88b01cb301658cfe4194352d8d2bb32e18467c786a7fe15f1d44b233ea35633d076d5e737870b7139949d1ab6318 + checksum: 10/a2f098f247adc367dffc27845853e9959b9e88b01cb301658cfe4194352d8d2bb32e18467c786a7fe15f1d44b233ea35633d076d5e737870b7139949d1ab6318 languageName: node linkType: hard -"signal-exit@npm:^4.0.1, signal-exit@npm:^4.1.0": +"signal-exit@npm:^4.0.1": version: 4.1.0 resolution: "signal-exit@npm:4.1.0" - checksum: c9fa63bbbd7431066174a48ba2dd9986dfd930c3a8b59de9c29d7b6854ec1c12a80d15310869ea5166d413b99f041bfa3dd80a7947bcd44ea8e6eb3ffeabfa1f + checksum: 10/c9fa63bbbd7431066174a48ba2dd9986dfd930c3a8b59de9c29d7b6854ec1c12a80d15310869ea5166d413b99f041bfa3dd80a7947bcd44ea8e6eb3ffeabfa1f + languageName: node + linkType: hard + +"sirv@npm:^3.0.0": + version: 3.0.0 + resolution: "sirv@npm:3.0.0" + dependencies: + "@polka/url": "npm:^1.0.0-next.24" + mrmime: "npm:^2.0.0" + totalist: "npm:^3.0.0" + checksum: 10/94dbd5df7cf4965f7c5941767117cbf9709e1d25de1d619a114c3f77fc63c124b5a5255717af2a0de637bb83d0b0defd0822d01420764b56432b53281b1d675d languageName: node linkType: hard @@ -7908,38 +10252,42 @@ __metadata: resolution: "skin-tone@npm:2.0.0" dependencies: unicode-emoji-modifier-base: "npm:^1.0.0" - checksum: 19de157586b8019cacc55eb25d9d640f00fc02415761f3e41a4527142970fd4e7f6af0333bc90e879858766c20a976107bb386ffd4c812289c01d51f2c8d182c + checksum: 10/19de157586b8019cacc55eb25d9d640f00fc02415761f3e41a4527142970fd4e7f6af0333bc90e879858766c20a976107bb386ffd4c812289c01d51f2c8d182c languageName: node linkType: hard "slash@npm:^1.0.0": version: 1.0.0 resolution: "slash@npm:1.0.0" - checksum: 4b6e21b1fba6184a7e2efb1dd173f692d8a845584c1bbf9dc818ff86f5a52fc91b413008223d17cc684604ee8bb9263a420b1182027ad9762e35388434918860 + checksum: 10/4b6e21b1fba6184a7e2efb1dd173f692d8a845584c1bbf9dc818ff86f5a52fc91b413008223d17cc684604ee8bb9263a420b1182027ad9762e35388434918860 languageName: node linkType: hard -"slash@npm:^3.0.0": - version: 3.0.0 - resolution: "slash@npm:3.0.0" - checksum: 94a93fff615f25a999ad4b83c9d5e257a7280c90a32a7cb8b4a87996e4babf322e469c42b7f649fd5796edd8687652f3fb452a86dc97a816f01113183393f11c +"slashes@npm:^3.0.12": + version: 3.0.12 + resolution: "slashes@npm:3.0.12" + checksum: 10/c221d73765013db64f3eaf49dacc6b99a5d5477e63720c1bb71d1af647965dda23ab100ca1eb622e080f11ffe68e1e0a233b7b908073260bed4ec819ff1d3e42 languageName: node linkType: hard -"slice-ansi@npm:^5.0.0": - version: 5.0.0 - resolution: "slice-ansi@npm:5.0.0" - dependencies: - ansi-styles: "npm:^6.0.0" - is-fullwidth-code-point: "npm:^4.0.0" - checksum: 7e600a2a55e333a21ef5214b987c8358fe28bfb03c2867ff2cbf919d62143d1812ac27b4297a077fdaf27a03da3678e49551c93e35f9498a3d90221908a1180e +"sliced@npm:^1.0.1": + version: 1.0.1 + resolution: "sliced@npm:1.0.1" + checksum: 10/4c9f7f783dafc48eb02eda0047a3dbe9920ed36bd50b96f7ecceb07b1b18da27bfc7f24438ccb85b63d353b4978dc130de9d9dd7e84d5ebaf44fe5138ae7b23b languageName: node linkType: hard "smart-buffer@npm:^4.2.0": version: 4.2.0 resolution: "smart-buffer@npm:4.2.0" - checksum: 927484aa0b1640fd9473cee3e0a0bcad6fce93fd7bbc18bac9ad0c33686f5d2e2c422fba24b5899c184524af01e11dd2bd051c2bf2b07e47aff8ca72cbfc60d2 + checksum: 10/927484aa0b1640fd9473cee3e0a0bcad6fce93fd7bbc18bac9ad0c33686f5d2e2c422fba24b5899c184524af01e11dd2bd051c2bf2b07e47aff8ca72cbfc60d2 + languageName: node + linkType: hard + +"smob@npm:1.5.0": + version: 1.5.0 + resolution: "smob@npm:1.5.0" + checksum: 10/a1ea453bcea89989062626ea30a1fcb42c62e96255619c8641ffa1d7ab42baf415975c67c718127036901b9e487d8bf4c46219e50cec54295412c1227700b8fe languageName: node linkType: hard @@ -7950,7 +10298,7 @@ __metadata: agent-base: "npm:^6.0.2" debug: "npm:^4.3.3" socks: "npm:^2.6.2" - checksum: 26c75d9c62a9ed3fd494df60e65e88da442f78e0d4bc19bfd85ac37bd2c67470d6d4bba5202e804561cda6674db52864c9e2a2266775f879bc8d89c1445a5f4c + checksum: 10/26c75d9c62a9ed3fd494df60e65e88da442f78e0d4bc19bfd85ac37bd2c67470d6d4bba5202e804561cda6674db52864c9e2a2266775f879bc8d89c1445a5f4c languageName: node linkType: hard @@ -7960,21 +10308,21 @@ __metadata: dependencies: ip: "npm:^2.0.0" smart-buffer: "npm:^4.2.0" - checksum: 5074f7d6a13b3155fa655191df1c7e7a48ce3234b8ccf99afa2ccb56591c195e75e8bb78486f8e9ea8168e95a29573cbaad55b2b5e195160ae4d2ea6811ba833 + checksum: 10/5074f7d6a13b3155fa655191df1c7e7a48ce3234b8ccf99afa2ccb56591c195e75e8bb78486f8e9ea8168e95a29573cbaad55b2b5e195160ae4d2ea6811ba833 languageName: node linkType: hard -"source-map-js@npm:^1.0.2": - version: 1.0.2 - resolution: "source-map-js@npm:1.0.2" - checksum: 38e2d2dd18d2e331522001fc51b54127ef4a5d473f53b1349c5cca2123562400e0986648b52e9407e348eaaed53bce49248b6e2641e6d793ca57cb2c360d6d51 +"source-map-js@npm:^1.2.0, source-map-js@npm:^1.2.1": + version: 1.2.1 + resolution: "source-map-js@npm:1.2.1" + checksum: 10/ff9d8c8bf096d534a5b7707e0382ef827b4dd360a577d3f34d2b9f48e12c9d230b5747974ee7c607f0df65113732711bb701fe9ece3c7edbd43cb2294d707df3 languageName: node linkType: hard -"source-map@npm:^0.6.1": - version: 0.6.1 - resolution: "source-map@npm:0.6.1" - checksum: 59ef7462f1c29d502b3057e822cdbdae0b0e565302c4dd1a95e11e793d8d9d62006cdc10e0fd99163ca33ff2071360cf50ee13f90440806e7ed57d81cba2f7ff +"space-separated-tokens@npm:^2.0.0": + version: 2.0.2 + resolution: "space-separated-tokens@npm:2.0.2" + checksum: 10/202e97d7ca1ba0758a0aa4fe226ff98142073bcceeff2da3aad037968878552c3bbce3b3231970025375bbba5aee00c5b8206eda408da837ab2dc9c0f26be990 languageName: node linkType: hard @@ -7984,47 +10332,48 @@ __metadata: dependencies: spdx-expression-parse: "npm:^3.0.0" spdx-license-ids: "npm:^3.0.0" - checksum: cc2e4dbef822f6d12142116557d63f5facf3300e92a6bd24e907e4865e17b7e1abd0ee6b67f305cae6790fc2194175a24dc394bfcc01eea84e2bdad728e9ae9a + checksum: 10/cc2e4dbef822f6d12142116557d63f5facf3300e92a6bd24e907e4865e17b7e1abd0ee6b67f305cae6790fc2194175a24dc394bfcc01eea84e2bdad728e9ae9a languageName: node linkType: hard "spdx-exceptions@npm:^2.1.0": version: 2.3.0 resolution: "spdx-exceptions@npm:2.3.0" - checksum: cb69a26fa3b46305637123cd37c85f75610e8c477b6476fa7354eb67c08128d159f1d36715f19be6f9daf4b680337deb8c65acdcae7f2608ba51931540687ac0 + checksum: 10/cb69a26fa3b46305637123cd37c85f75610e8c477b6476fa7354eb67c08128d159f1d36715f19be6f9daf4b680337deb8c65acdcae7f2608ba51931540687ac0 languageName: node linkType: hard -"spdx-expression-parse@npm:^3.0.0, spdx-expression-parse@npm:^3.0.1": +"spdx-expression-parse@npm:^3.0.0": version: 3.0.1 resolution: "spdx-expression-parse@npm:3.0.1" dependencies: spdx-exceptions: "npm:^2.1.0" spdx-license-ids: "npm:^3.0.0" - checksum: a1c6e104a2cbada7a593eaa9f430bd5e148ef5290d4c0409899855ce8b1c39652bcc88a725259491a82601159d6dc790bedefc9016c7472f7de8de7361f8ccde + checksum: 10/a1c6e104a2cbada7a593eaa9f430bd5e148ef5290d4c0409899855ce8b1c39652bcc88a725259491a82601159d6dc790bedefc9016c7472f7de8de7361f8ccde languageName: node linkType: hard -"spdx-license-ids@npm:^3.0.0": - version: 3.0.13 - resolution: "spdx-license-ids@npm:3.0.13" - checksum: 6328c516e958ceee80362dc657a58cab01c7fdb4667a1a4c1a3e91d069983977f87971340ee857eb66f65079b5d8561e56dc91510802cd7bebaae7632a6aa7fa +"spdx-expression-parse@npm:^4.0.0": + version: 4.0.0 + resolution: "spdx-expression-parse@npm:4.0.0" + dependencies: + spdx-exceptions: "npm:^2.1.0" + spdx-license-ids: "npm:^3.0.0" + checksum: 10/936be681fbf5edeec3a79c023136479f70d6edb3fd3875089ac86cd324c6c8c81add47399edead296d1d0af17ae5ce88c7f88885eb150b62c2ff6e535841ca6a languageName: node linkType: hard -"split2@npm:^3.0.0, split2@npm:^3.2.2": - version: 3.2.2 - resolution: "split2@npm:3.2.2" - dependencies: - readable-stream: "npm:^3.0.0" - checksum: a426e1e6718e2f7e50f102d5ec3525063d885e3d9cec021a81175fd3497fdb8b867a89c99e70bef4daeef4f2f5e544f7b92df8c1a30b4254e10a9cfdcc3dae87 +"spdx-license-ids@npm:^3.0.0": + version: 3.0.13 + resolution: "spdx-license-ids@npm:3.0.13" + checksum: 10/6328c516e958ceee80362dc657a58cab01c7fdb4667a1a4c1a3e91d069983977f87971340ee857eb66f65079b5d8561e56dc91510802cd7bebaae7632a6aa7fa languageName: node linkType: hard "split2@npm:^4.0.0": version: 4.2.0 resolution: "split2@npm:4.2.0" - checksum: 09bbefc11bcf03f044584c9764cd31a252d8e52cea29130950b26161287c11f519807c5e54bd9e5804c713b79c02cefe6a98f4688630993386be353e03f534ab + checksum: 10/09bbefc11bcf03f044584c9764cd31a252d8e52cea29130950b26161287c11f519807c5e54bd9e5804c713b79c02cefe6a98f4688630993386be353e03f534ab languageName: node linkType: hard @@ -8033,28 +10382,28 @@ __metadata: resolution: "ssri@npm:10.0.5" dependencies: minipass: "npm:^7.0.3" - checksum: 453f9a1c241c13f5dfceca2ab7b4687bcff354c3ccbc932f35452687b9ef0ccf8983fd13b8a3baa5844c1a4882d6e3ddff48b0e7fd21d743809ef33b80616d79 + checksum: 10/453f9a1c241c13f5dfceca2ab7b4687bcff354c3ccbc932f35452687b9ef0ccf8983fd13b8a3baa5844c1a4882d6e3ddff48b0e7fd21d743809ef33b80616d79 languageName: node linkType: hard -"stackback@npm:0.0.2": - version: 0.0.2 - resolution: "stackback@npm:0.0.2" - checksum: 2d4dc4e64e2db796de4a3c856d5943daccdfa3dd092e452a1ce059c81e9a9c29e0b9badba91b43ef0d5ff5c04ee62feb3bcc559a804e16faf447bac2d883aa99 +"stable-hash@npm:^0.0.4": + version: 0.0.4 + resolution: "stable-hash@npm:0.0.4" + checksum: 10/21c039d21c1cb739cf8342561753a5e007cb95ea682ccd452e76310bbb9c6987a89de8eda023e320b019f3e4691aabda75079cdbb7dadf7ab9013e931f2f23cd languageName: node linkType: hard -"std-env@npm:^3.3.3": - version: 3.4.3 - resolution: "std-env@npm:3.4.3" - checksum: 3087e9b2f6f9f40f1562b765c2d0768ad12f04a4d039fa5848e9e951263266b533590464e5d90e412680ec37e4febabf0c8fb3d15c4c7b8c5eb21ebcb09bf393 +"stackback@npm:0.0.2": + version: 0.0.2 + resolution: "stackback@npm:0.0.2" + checksum: 10/2d4dc4e64e2db796de4a3c856d5943daccdfa3dd092e452a1ce059c81e9a9c29e0b9badba91b43ef0d5ff5c04ee62feb3bcc559a804e16faf447bac2d883aa99 languageName: node linkType: hard -"string-argv@npm:0.3.2, string-argv@npm:^0.3.1": - version: 0.3.2 - resolution: "string-argv@npm:0.3.2" - checksum: f9d3addf887026b4b5f997a271149e93bf71efc8692e7dc0816e8807f960b18bcb9787b45beedf0f97ff459575ee389af3f189d8b649834cac602f2e857e75af +"std-env@npm:^3.8.0": + version: 3.8.0 + resolution: "std-env@npm:3.8.0" + checksum: 10/034176196cfcaaab16dbdd96fc9e925a9544799fb6dc5a3e36fe43270f3a287c7f779d785b89edaf22cef2b5f1dcada2aae67430b8602e785ee74bdb3f671768 languageName: node linkType: hard @@ -8065,51 +10414,74 @@ __metadata: emoji-regex: "npm:^8.0.0" is-fullwidth-code-point: "npm:^3.0.0" strip-ansi: "npm:^6.0.1" - checksum: e52c10dc3fbfcd6c3a15f159f54a90024241d0f149cf8aed2982a2d801d2e64df0bf1dc351cf8e95c3319323f9f220c16e740b06faecd53e2462df1d2b5443fb + checksum: 10/e52c10dc3fbfcd6c3a15f159f54a90024241d0f149cf8aed2982a2d801d2e64df0bf1dc351cf8e95c3319323f9f220c16e740b06faecd53e2462df1d2b5443fb + languageName: node + linkType: hard + +"string-width@npm:7.0.0": + version: 7.0.0 + resolution: "string-width@npm:7.0.0" + dependencies: + emoji-regex: "npm:^10.3.0" + get-east-asian-width: "npm:^1.0.0" + strip-ansi: "npm:^7.1.0" + checksum: 10/bc0de5700a2690895169fce447ec4ed44bc62de80312c2093d5606bfd48319bb88e48a99e97f269dff2bc9577448b91c26b3804c16e7d9b389699795e4655c3b languageName: node linkType: hard -"string-width@npm:^5.0.0, string-width@npm:^5.0.1, string-width@npm:^5.1.2": +"string-width@npm:^5.0.1, string-width@npm:^5.1.2": version: 5.1.2 resolution: "string-width@npm:5.1.2" dependencies: eastasianwidth: "npm:^0.2.0" emoji-regex: "npm:^9.2.2" strip-ansi: "npm:^7.0.1" - checksum: 7369deaa29f21dda9a438686154b62c2c5f661f8dda60449088f9f980196f7908fc39fdd1803e3e01541970287cf5deae336798337e9319a7055af89dafa7193 + checksum: 10/7369deaa29f21dda9a438686154b62c2c5f661f8dda60449088f9f980196f7908fc39fdd1803e3e01541970287cf5deae336798337e9319a7055af89dafa7193 languageName: node linkType: hard -"string.prototype.trim@npm:^1.2.7": - version: 1.2.7 - resolution: "string.prototype.trim@npm:1.2.7" +"string-width@npm:^6.0.0": + version: 6.1.0 + resolution: "string-width@npm:6.1.0" dependencies: - call-bind: "npm:^1.0.2" - define-properties: "npm:^1.1.4" - es-abstract: "npm:^1.20.4" - checksum: a1b795bdb4b4b7d9399e99771e8a36493a30cf18095b0e8b36bcb211aad42dc59186c9a833c774f7a70429dbd3862818133d7e0da1547a0e9f0e1ebddf995635 + eastasianwidth: "npm:^0.2.0" + emoji-regex: "npm:^10.2.1" + strip-ansi: "npm:^7.0.1" + checksum: 10/8aefb456a230c8d7fe254049b1b2d62603da1a3b6c7fc9f3332f6779583cc1c72653f9b6e4cd0c1c92befee1565d4a0a7542d09ba4ceb6d96af02fbd8425bb03 languageName: node linkType: hard -"string.prototype.trimend@npm:^1.0.6": - version: 1.0.6 - resolution: "string.prototype.trimend@npm:1.0.6" +"string.prototype.trim@npm:^1.2.9": + version: 1.2.9 + resolution: "string.prototype.trim@npm:1.2.9" dependencies: - call-bind: "npm:^1.0.2" - define-properties: "npm:^1.1.4" - es-abstract: "npm:^1.20.4" - checksum: 3893db9267e0b8a16658c3947738536e90c400a9b7282de96925d4e210174cfe66c59d6b7eb5b4a9aaa78ef7f5e46afb117e842d93112fbd105c8d19206d8092 + call-bind: "npm:^1.0.7" + define-properties: "npm:^1.2.1" + es-abstract: "npm:^1.23.0" + es-object-atoms: "npm:^1.0.0" + checksum: 10/b2170903de6a2fb5a49bb8850052144e04b67329d49f1343cdc6a87cb24fb4e4b8ad00d3e273a399b8a3d8c32c89775d93a8f43cb42fbff303f25382079fb58a languageName: node linkType: hard -"string.prototype.trimstart@npm:^1.0.6": - version: 1.0.6 - resolution: "string.prototype.trimstart@npm:1.0.6" +"string.prototype.trimend@npm:^1.0.6, string.prototype.trimend@npm:^1.0.8": + version: 1.0.8 + resolution: "string.prototype.trimend@npm:1.0.8" dependencies: - call-bind: "npm:^1.0.2" - define-properties: "npm:^1.1.4" - es-abstract: "npm:^1.20.4" - checksum: 05e2cd06fa5311b17f5b2c7af0a60239fa210f4bb07bbcfce4995215dce330e2b1dd2d8030d371f46252ab637522e14b6e9a78384e8515945b72654c14261d54 + call-bind: "npm:^1.0.7" + define-properties: "npm:^1.2.1" + es-object-atoms: "npm:^1.0.0" + checksum: 10/c2e862ae724f95771da9ea17c27559d4eeced9208b9c20f69bbfcd1b9bc92375adf8af63a103194dba17c4cc4a5cb08842d929f415ff9d89c062d44689c8761b + languageName: node + linkType: hard + +"string.prototype.trimstart@npm:^1.0.6, string.prototype.trimstart@npm:^1.0.8": + version: 1.0.8 + resolution: "string.prototype.trimstart@npm:1.0.8" + dependencies: + call-bind: "npm:^1.0.7" + define-properties: "npm:^1.2.1" + es-object-atoms: "npm:^1.0.0" + checksum: 10/160167dfbd68e6f7cb9f51a16074eebfce1571656fc31d40c3738ca9e30e35496f2c046fe57b6ad49f65f238a152be8c86fd9a2dd58682b5eba39dad995b3674 languageName: node linkType: hard @@ -8118,7 +10490,17 @@ __metadata: resolution: "string_decoder@npm:1.3.0" dependencies: safe-buffer: "npm:~5.2.0" - checksum: 54d23f4a6acae0e93f999a585e673be9e561b65cd4cca37714af1e893ab8cd8dfa52a9e4f58f48f87b4a44918d3a9254326cb80ed194bf2e4c226e2b21767e56 + checksum: 10/54d23f4a6acae0e93f999a585e673be9e561b65cd4cca37714af1e893ab8cd8dfa52a9e4f58f48f87b4a44918d3a9254326cb80ed194bf2e4c226e2b21767e56 + languageName: node + linkType: hard + +"stringify-entities@npm:^4.0.0": + version: 4.0.4 + resolution: "stringify-entities@npm:4.0.4" + dependencies: + character-entities-html4: "npm:^2.0.0" + character-entities-legacy: "npm:^3.0.0" + checksum: 10/42bd2f37528795a7b4386bd39dc4699515fb0f0b8c418a6bb29ae205ce66eaff9e8801a2bee65b8049c918c9475a71c7e5911f6a88c19f1d84ebdcba3d881a2d languageName: node linkType: hard @@ -8127,44 +10509,37 @@ __metadata: resolution: "strip-ansi@npm:6.0.1" dependencies: ansi-regex: "npm:^5.0.1" - checksum: ae3b5436d34fadeb6096367626ce987057713c566e1e7768818797e00ac5d62023d0f198c4e681eae9e20701721980b26a64a8f5b91238869592a9c6800719a2 + checksum: 10/ae3b5436d34fadeb6096367626ce987057713c566e1e7768818797e00ac5d62023d0f198c4e681eae9e20701721980b26a64a8f5b91238869592a9c6800719a2 languageName: node linkType: hard -"strip-ansi@npm:^7.0.1, strip-ansi@npm:^7.1.0": +"strip-ansi@npm:^7.0.0, strip-ansi@npm:^7.0.1, strip-ansi@npm:^7.1.0": version: 7.1.0 resolution: "strip-ansi@npm:7.1.0" dependencies: ansi-regex: "npm:^6.0.1" - checksum: 475f53e9c44375d6e72807284024ac5d668ee1d06010740dec0b9744f2ddf47de8d7151f80e5f6190fc8f384e802fdf9504b76a7e9020c9faee7103623338be2 + checksum: 10/475f53e9c44375d6e72807284024ac5d668ee1d06010740dec0b9744f2ddf47de8d7151f80e5f6190fc8f384e802fdf9504b76a7e9020c9faee7103623338be2 languageName: node linkType: hard "strip-bom@npm:5.0.0": version: 5.0.0 resolution: "strip-bom@npm:5.0.0" - checksum: 60a38bb7565076f6111b64b719720f77826e08b5c93da60179e20be0275a496e1a968ac56091631325ad87ce683611c5dbb8c5b7035f621b0bc15e935e92ef97 + checksum: 10/60a38bb7565076f6111b64b719720f77826e08b5c93da60179e20be0275a496e1a968ac56091631325ad87ce683611c5dbb8c5b7035f621b0bc15e935e92ef97 languageName: node linkType: hard "strip-bom@npm:^3.0.0": version: 3.0.0 resolution: "strip-bom@npm:3.0.0" - checksum: 8d50ff27b7ebe5ecc78f1fe1e00fcdff7af014e73cf724b46fb81ef889eeb1015fc5184b64e81a2efe002180f3ba431bdd77e300da5c6685d702780fbf0c8d5b + checksum: 10/8d50ff27b7ebe5ecc78f1fe1e00fcdff7af014e73cf724b46fb81ef889eeb1015fc5184b64e81a2efe002180f3ba431bdd77e300da5c6685d702780fbf0c8d5b languageName: node linkType: hard "strip-final-newline@npm:^2.0.0": version: 2.0.0 resolution: "strip-final-newline@npm:2.0.0" - checksum: 69412b5e25731e1938184b5d489c32e340605bb611d6140344abc3421b7f3c6f9984b21dff296dfcf056681b82caa3bb4cc996a965ce37bcfad663e92eae9c64 - languageName: node - linkType: hard - -"strip-final-newline@npm:^3.0.0": - version: 3.0.0 - resolution: "strip-final-newline@npm:3.0.0" - checksum: 23ee263adfa2070cd0f23d1ac14e2ed2f000c9b44229aec9c799f1367ec001478469560abefd00c5c99ee6f0b31c137d53ec6029c53e9f32a93804e18c201050 + checksum: 10/69412b5e25731e1938184b5d489c32e340605bb611d6140344abc3421b7f3c6f9984b21dff296dfcf056681b82caa3bb4cc996a965ce37bcfad663e92eae9c64 languageName: node linkType: hard @@ -8173,39 +10548,21 @@ __metadata: resolution: "strip-indent@npm:3.0.0" dependencies: min-indent: "npm:^1.0.0" - checksum: 18f045d57d9d0d90cd16f72b2313d6364fd2cb4bf85b9f593523ad431c8720011a4d5f08b6591c9d580f446e78855c5334a30fb91aa1560f5d9f95ed1b4a0530 - languageName: node - linkType: hard - -"strip-indent@npm:^4.0.0": - version: 4.0.0 - resolution: "strip-indent@npm:4.0.0" - dependencies: - min-indent: "npm:^1.0.1" - checksum: 06cbcd93da721c46bc13caeb1c00af93a9b18146a1c95927672d2decab6a25ad83662772417cea9317a2507fb143253ecc23c4415b64f5828cef9b638a744598 + checksum: 10/18f045d57d9d0d90cd16f72b2313d6364fd2cb4bf85b9f593523ad431c8720011a4d5f08b6591c9d580f446e78855c5334a30fb91aa1560f5d9f95ed1b4a0530 languageName: node linkType: hard "strip-json-comments@npm:5.0.1": version: 5.0.1 resolution: "strip-json-comments@npm:5.0.1" - checksum: b314af70c6666a71133e309a571bdb87687fc878d9fd8b38ebed393a77b89835b92f191aa6b0bc10dfd028ba99eed6b6365985001d64c5aef32a4a82456a156b + checksum: 10/b314af70c6666a71133e309a571bdb87687fc878d9fd8b38ebed393a77b89835b92f191aa6b0bc10dfd028ba99eed6b6365985001d64c5aef32a4a82456a156b languageName: node linkType: hard "strip-json-comments@npm:^3.1.1": version: 3.1.1 resolution: "strip-json-comments@npm:3.1.1" - checksum: 492f73e27268f9b1c122733f28ecb0e7e8d8a531a6662efbd08e22cccb3f9475e90a1b82cab06a392f6afae6d2de636f977e231296400d0ec5304ba70f166443 - languageName: node - linkType: hard - -"strip-literal@npm:^1.0.1": - version: 1.3.0 - resolution: "strip-literal@npm:1.3.0" - dependencies: - acorn: "npm:^8.10.0" - checksum: f5fa7e289df8ebe82e90091fd393974faf8871be087ca50114327506519323cf15f2f8fee6ebe68b5e58bfc795269cae8bdc7cb5a83e27b02b3fe953f37b0a89 + checksum: 10/492f73e27268f9b1c122733f28ecb0e7e8d8a531a6662efbd08e22cccb3f9475e90a1b82cab06a392f6afae6d2de636f977e231296400d0ec5304ba70f166443 languageName: node linkType: hard @@ -8214,7 +10571,7 @@ __metadata: resolution: "supports-color@npm:5.5.0" dependencies: has-flag: "npm:^3.0.0" - checksum: 5f505c6fa3c6e05873b43af096ddeb22159831597649881aeb8572d6fe3b81e798cc10840d0c9735e0026b250368851b7f77b65e84f4e4daa820a4f69947f55b + checksum: 10/5f505c6fa3c6e05873b43af096ddeb22159831597649881aeb8572d6fe3b81e798cc10840d0c9735e0026b250368851b7f77b65e84f4e4daa820a4f69947f55b languageName: node linkType: hard @@ -8223,31 +10580,57 @@ __metadata: resolution: "supports-color@npm:7.2.0" dependencies: has-flag: "npm:^4.0.0" - checksum: c8bb7afd564e3b26b50ca6ee47572c217526a1389fe018d00345856d4a9b08ffbd61fadaf283a87368d94c3dcdb8f5ffe2650a5a65863e21ad2730ca0f05210a + checksum: 10/c8bb7afd564e3b26b50ca6ee47572c217526a1389fe018d00345856d4a9b08ffbd61fadaf283a87368d94c3dcdb8f5ffe2650a5a65863e21ad2730ca0f05210a languageName: node linkType: hard -"supports-hyperlinks@npm:^2.3.0": - version: 2.3.0 - resolution: "supports-hyperlinks@npm:2.3.0" +"supports-color@npm:^9.0.0": + version: 9.4.0 + resolution: "supports-color@npm:9.4.0" + checksum: 10/cb8ff8daeaf1db642156f69a9aa545b6c01dd9c4def4f90a49f46cbf24be0c245d392fcf37acd119cd1819b99dad2cc9b7e3260813f64bcfd7f5b18b5a1eefb8 + languageName: node + linkType: hard + +"supports-hyperlinks@npm:^3.0.0": + version: 3.0.0 + resolution: "supports-hyperlinks@npm:3.0.0" dependencies: has-flag: "npm:^4.0.0" supports-color: "npm:^7.0.0" - checksum: 3e7df6e9eaa177d7bfbbe065c91325e9b482f48de0f7c9133603e3ffa8af31cbceac104a0941cd0266a57f8e691de6eb58b79fec237852dc84ed7ad152b116b0 + checksum: 10/911075a412d8bcfbbca413e8963d56ed0975e35ff98d599ef85301aed4221428653145263828b6c58cb4cb6ff24596be83ead3cca221a88a70428af93d5e2a73 languageName: node linkType: hard "supports-preserve-symlinks-flag@npm:^1.0.0": version: 1.0.0 resolution: "supports-preserve-symlinks-flag@npm:1.0.0" - checksum: a9dc19ae2220c952bd2231d08ddeecb1b0328b61e72071ff4000c8384e145cc07c1c0bdb3b5a1cb06e186a7b2790f1dee793418b332f6ddf320de25d9125be7e + checksum: 10/a9dc19ae2220c952bd2231d08ddeecb1b0328b61e72071ff4000c8384e145cc07c1c0bdb3b5a1cb06e186a7b2790f1dee793418b332f6ddf320de25d9125be7e + languageName: node + linkType: hard + +"synckit@npm:^0.6.0": + version: 0.6.2 + resolution: "synckit@npm:0.6.2" + dependencies: + tslib: "npm:^2.3.1" + checksum: 10/9641f4a4f113b7d6a810c34870947c1f19b7a736b510211c0ea69b05aed530d9aa52cb4942f0988a72514ce9fda61011e913c52fa86c58ebf56901d54c2fe241 + languageName: node + linkType: hard + +"synckit@npm:^0.9.0, synckit@npm:^0.9.1": + version: 0.9.1 + resolution: "synckit@npm:0.9.1" + dependencies: + "@pkgr/core": "npm:^0.1.0" + tslib: "npm:^2.6.2" + checksum: 10/bff3903976baf8b699b5483228116d70223781a93b17c70e685c277ee960cdfd1a09cb5a741e6a9ec35e2428f14f4664baec41ccc99a598f267608b2a54f529b languageName: node linkType: hard "tapable@npm:^2.2.0": version: 2.2.1 resolution: "tapable@npm:2.2.1" - checksum: 1769336dd21481ae6347611ca5fca47add0962fd8e80466515032125eca0084a4f0ede11e65341b9c0018ef4e1cf1ad820adbb0fba7cc99865c6005734000b0a + checksum: 10/1769336dd21481ae6347611ca5fca47add0962fd8e80466515032125eca0084a4f0ede11e65341b9c0018ef4e1cf1ad820adbb0fba7cc99865c6005734000b0a languageName: node linkType: hard @@ -8261,101 +10644,109 @@ __metadata: minizlib: "npm:^2.1.1" mkdirp: "npm:^1.0.3" yallist: "npm:^4.0.0" - checksum: 4848b92da8581e64ce4d8a760b47468dd9d212a4612846d8dd75b5c224a42c66ed5bcf8cfa9e9cd2eb64ebe1351413fb3eac93324a4eee536f0941beefa1f2eb + checksum: 10/4848b92da8581e64ce4d8a760b47468dd9d212a4612846d8dd75b5c224a42c66ed5bcf8cfa9e9cd2eb64ebe1351413fb3eac93324a4eee536f0941beefa1f2eb languageName: node linkType: hard -"test-exclude@npm:^6.0.0": - version: 6.0.0 - resolution: "test-exclude@npm:6.0.0" +"test-exclude@npm:^7.0.1": + version: 7.0.1 + resolution: "test-exclude@npm:7.0.1" dependencies: "@istanbuljs/schema": "npm:^0.1.2" - glob: "npm:^7.1.4" - minimatch: "npm:^3.0.4" - checksum: 8fccb2cb6c8fcb6bb4115394feb833f8b6cf4b9503ec2485c2c90febf435cac62abe882a0c5c51a37b9bbe70640cdd05acf5f45e486ac4583389f4b0855f69e5 - languageName: node - linkType: hard - -"text-extensions@npm:^1.0.0": - version: 1.9.0 - resolution: "text-extensions@npm:1.9.0" - checksum: 56a9962c1b62d39b2bcb369b7558ca85c1b55e554b38dfd725edcc0a1babe5815782a60c17ff6b839093b163dfebb92b804208aaaea616ec7571c8059ae0cf44 + glob: "npm:^10.4.1" + minimatch: "npm:^9.0.4" + checksum: 10/e6f6f4e1df2e7810e082e8d7dfc53be51a931e6e87925f5e1c2ef92cc1165246ba3bf2dae6b5d86251c16925683dba906bd41e40169ebc77120a2d1b5a0dbbe0 languageName: node linkType: hard "text-extensions@npm:^2.0.0": version: 2.4.0 resolution: "text-extensions@npm:2.4.0" - checksum: 9bdbc9959e004ccc86a6ec076d6c5bb6765978263e9d0d5febb640d7675c09919ea912f3fe9d50b68c3c7c43cc865610a7cb24954343abb31f74c205fbae4e45 + checksum: 10/9bdbc9959e004ccc86a6ec076d6c5bb6765978263e9d0d5febb640d7675c09919ea912f3fe9d50b68c3c7c43cc865610a7cb24954343abb31f74c205fbae4e45 languageName: node linkType: hard "text-table@npm:^0.2.0": version: 0.2.0 resolution: "text-table@npm:0.2.0" - checksum: 4383b5baaeffa9bb4cda2ac33a4aa2e6d1f8aaf811848bf73513a9b88fd76372dc461f6fd6d2e9cb5100f48b473be32c6f95bd983509b7d92bb4d92c10747452 + checksum: 10/4383b5baaeffa9bb4cda2ac33a4aa2e6d1f8aaf811848bf73513a9b88fd76372dc461f6fd6d2e9cb5100f48b473be32c6f95bd983509b7d92bb4d92c10747452 languageName: node linkType: hard -"thingies@npm:^1.11.1": - version: 1.12.0 - resolution: "thingies@npm:1.12.0" - peerDependencies: - tslib: ^2 - checksum: 04b75d264e1880676fb9f400b2c0e069abdd00de1fa006d9daee527ad6d899828169fd46bb17e7cabf2802b7dbd64053106e29e7a7aa271659f5b41b3a11657f +"thenify-all@npm:^1.0.0": + version: 1.6.0 + resolution: "thenify-all@npm:1.6.0" + dependencies: + thenify: "npm:>= 3.1.0 < 4" + checksum: 10/dba7cc8a23a154cdcb6acb7f51d61511c37a6b077ec5ab5da6e8b874272015937788402fd271fdfc5f187f8cb0948e38d0a42dcc89d554d731652ab458f5343e languageName: node linkType: hard -"through2@npm:^4.0.0": - version: 4.0.2 - resolution: "through2@npm:4.0.2" +"thenify@npm:>= 3.1.0 < 4": + version: 3.3.1 + resolution: "thenify@npm:3.3.1" dependencies: - readable-stream: "npm:3" - checksum: 72c246233d9a989bbebeb6b698ef0b7b9064cb1c47930f79b25d87b6c867e075432811f69b7b2ac8da00ca308191c507bdab913944be8019ac43b036ce88f6ba + any-promise: "npm:^1.0.0" + checksum: 10/486e1283a867440a904e36741ff1a177faa827cf94d69506f7e3ae4187b9afdf9ec368b3d8da225c192bfe2eb943f3f0080594156bf39f21b57cd1411e2e7f6d languageName: node linkType: hard -"through@npm:>=2.2.7 <3, through@npm:^2.3.6": +"through@npm:>=2.2.7 <3": version: 2.3.8 resolution: "through@npm:2.3.8" - checksum: 5da78346f70139a7d213b65a0106f3c398d6bc5301f9248b5275f420abc2c4b1e77c2abc72d218dedc28c41efb2e7c312cb76a7730d04f9c2d37d247da3f4198 + checksum: 10/5da78346f70139a7d213b65a0106f3c398d6bc5301f9248b5275f420abc2c4b1e77c2abc72d218dedc28c41efb2e7c312cb76a7730d04f9c2d37d247da3f4198 languageName: node linkType: hard -"tinybench@npm:^2.5.0": - version: 2.5.0 - resolution: "tinybench@npm:2.5.0" - checksum: cd71b42c9981bf666d052d6971bee9a0815a8c55825699f290a74ba84f9595d7f2f14d4d01312dac21b3d0beabe1dfd5f51c7a310dba718fa1ab19ebf8e40d52 +"tinybench@npm:^2.9.0": + version: 2.9.0 + resolution: "tinybench@npm:2.9.0" + checksum: 10/cfa1e1418e91289219501703c4693c70708c91ffb7f040fd318d24aef419fb5a43e0c0160df9471499191968b2451d8da7f8087b08c3133c251c40d24aced06c + languageName: node + linkType: hard + +"tinyexec@npm:^0.3.0, tinyexec@npm:^0.3.2": + version: 0.3.2 + resolution: "tinyexec@npm:0.3.2" + checksum: 10/b9d5fed3166fb1acd1e7f9a89afcd97ccbe18b9c1af0278e429455f6976d69271ba2d21797e7c36d57d6b05025e525d2882d88c2ab435b60d1ddf2fea361de57 + languageName: node + linkType: hard + +"tinyglobby@npm:^0.2.10": + version: 0.2.10 + resolution: "tinyglobby@npm:0.2.10" + dependencies: + fdir: "npm:^6.4.2" + picomatch: "npm:^4.0.2" + checksum: 10/10c976866d849702edc47fc3fef27d63f074c40f75ef17171ecc1452967900699fa1e62373681dd58e673ddff2e3f6094bcd0a2101e3e4b30f4c2b9da41397f2 languageName: node linkType: hard -"tinypool@npm:^0.7.0": - version: 0.7.0 - resolution: "tinypool@npm:0.7.0" - checksum: e1fb1f430647525c6bb0bac71acc4c1594c7687fe8e4f08c8f389d9a672fb69746869e9d9818b55f1ab85ea6308d42f92cbc32a9847088abf6bc55a8700be390 +"tinypool@npm:^1.0.2": + version: 1.0.2 + resolution: "tinypool@npm:1.0.2" + checksum: 10/6109322f14b3763f65c8fa49fddab72cd3edd96b82dd50e05e63de74867329ff5353bff4377281ec963213d9314f37f4a353e9ee34bbac85fd4c1e4a568d6076 languageName: node linkType: hard "tinyrainbow@npm:1.1.1": version: 1.1.1 resolution: "tinyrainbow@npm:1.1.1" - checksum: 325b58f4d197c5b7383d9ed2067769027717379e42fc3f099a430c252ec9b0b1c1bbd55780ae520edcefadeddf7f6c5d1672d086d8766547470275db4e1bef12 + checksum: 10/325b58f4d197c5b7383d9ed2067769027717379e42fc3f099a430c252ec9b0b1c1bbd55780ae520edcefadeddf7f6c5d1672d086d8766547470275db4e1bef12 languageName: node linkType: hard -"tinyspy@npm:^2.1.1": - version: 2.1.1 - resolution: "tinyspy@npm:2.1.1" - checksum: eb46c90cfb6359a78cf36d2eb1b80d219e7ce8bb4ce5d5e233f91e21b9a546b28ac55a5ebbeb3717fed21bd487b0cd25909c223acc6db9b37db5ed97baf976c0 +"tinyrainbow@npm:^2.0.0": + version: 2.0.0 + resolution: "tinyrainbow@npm:2.0.0" + checksum: 10/94d4e16246972614a5601eeb169ba94f1d49752426312d3cf8cc4f2cc663a2e354ffc653aa4de4eebccbf9eeebdd0caef52d1150271fdfde65d7ae7f3dcb9eb5 languageName: node linkType: hard -"tmp@npm:^0.0.33": - version: 0.0.33 - resolution: "tmp@npm:0.0.33" - dependencies: - os-tmpdir: "npm:~1.0.2" - checksum: 09c0abfd165cff29b32be42bc35e80b8c64727d97dedde6550022e88fa9fd39a084660415ed8e3ebaa2aca1ee142f86df8b31d4196d4f81c774a3a20fd4b6abf +"tinyspy@npm:^3.0.2": + version: 3.0.2 + resolution: "tinyspy@npm:3.0.2" + checksum: 10/5db671b2ff5cd309de650c8c4761ca945459d7204afb1776db9a04fb4efa28a75f08517a8620c01ee32a577748802231ad92f7d5b194dc003ee7f987a2a06337 languageName: node linkType: hard @@ -8364,383 +10755,545 @@ __metadata: resolution: "to-regex-range@npm:5.0.1" dependencies: is-number: "npm:^7.0.0" - checksum: 10dda13571e1f5ad37546827e9b6d4252d2e0bc176c24a101252153ef435d83696e2557fe128c4678e4e78f5f01e83711c703eef9814eb12dab028580d45980a + checksum: 10/10dda13571e1f5ad37546827e9b6d4252d2e0bc176c24a101252153ef435d83696e2557fe128c4678e4e78f5f01e83711c703eef9814eb12dab028580d45980a languageName: node linkType: hard -"tr46@npm:~0.0.3": - version: 0.0.3 - resolution: "tr46@npm:0.0.3" - checksum: 8f1f5aa6cb232f9e1bdc86f485f916b7aa38caee8a778b378ffec0b70d9307873f253f5cbadbe2955ece2ac5c83d0dc14a77513166ccd0a0c7fe197e21396695 +"totalist@npm:^3.0.0": + version: 3.0.1 + resolution: "totalist@npm:3.0.1" + checksum: 10/5132d562cf88ff93fd710770a92f31dbe67cc19b5c6ccae2efc0da327f0954d211bbfd9456389655d726c624f284b4a23112f56d1da931ca7cfabbe1f45e778a languageName: node linkType: hard -"trash-cli@npm:5.0.0": - version: 5.0.0 - resolution: "trash-cli@npm:5.0.0" +"trash-cli@npm:6.0.0": + version: 6.0.0 + resolution: "trash-cli@npm:6.0.0" dependencies: - meow: "npm:^10.1.2" - trash: "npm:^8.0.0" + meow: "npm:^13.2.0" + trash: "npm:^9.0.0" bin: trash: cli.js - checksum: 1e63f36c3586c910bc2332bf55a8c9ff3307ecb1dfd5f180dea1e82ab751cdd904ffb0478b9d991a07e223cd498a2ccc458c4c8a8cbc2ae9906d9947a559450c + checksum: 10/8075045c772219504b2c467339e910db10f720a020ed57e96bda804480a988738635511524c9973f84fbeec8fb6fcde3ec0fb34918650fb458a4eb0308a5b4f1 languageName: node linkType: hard -"trash@npm:^8.0.0": - version: 8.1.1 - resolution: "trash@npm:8.1.1" +"trash@npm:^9.0.0": + version: 9.0.0 + resolution: "trash@npm:9.0.0" dependencies: - "@sindresorhus/chunkify": "npm:^0.2.0" + "@sindresorhus/chunkify": "npm:^1.0.0" "@stroncium/procfs": "npm:^1.2.1" globby: "npm:^7.1.1" is-path-inside: "npm:^4.0.0" - move-file: "npm:^3.0.0" - p-map: "npm:^5.1.0" - uuid: "npm:^8.3.2" + move-file: "npm:^3.1.0" + p-map: "npm:^7.0.2" xdg-trashdir: "npm:^3.1.0" - checksum: 0f432a5852a05e068b4e70fd83756b5411f7fa51e5702e5645780553522c8e36833d09d42a596c5a6a6656e09dfec4fc9a1ee0e9ab76baef1ab03132093a1c45 + checksum: 10/23c1cda30152b651fc515d65a315397cd969bf9e08371a9bf9a11361bad92ce9ed38934512c36e1e8396dd41c6f174c6413bce38ab6699302238c64b1e0d72fb languageName: node linkType: hard -"trim-newlines@npm:^3.0.0": +"trim-lines@npm:^3.0.0": version: 3.0.1 - resolution: "trim-newlines@npm:3.0.1" - checksum: b530f3fadf78e570cf3c761fb74fef655beff6b0f84b29209bac6c9622db75ad1417f4a7b5d54c96605dcd72734ad44526fef9f396807b90839449eb543c6206 + resolution: "trim-lines@npm:3.0.1" + checksum: 10/7a1325e4ce8ff7e9e52007600e9c9862a166d0db1f1cf0c9357e359e410acab1278fcd91cc279dfa5123fc37b69f080de02f471e91dbbc61b155b9ca92597929 languageName: node linkType: hard -"trim-newlines@npm:^4.0.2": - version: 4.1.1 - resolution: "trim-newlines@npm:4.1.1" - checksum: 5b09f8e329e8f33c1111ef26906332ba7ba7248cde3e26fc054bb3d69f2858bf5feedca9559c572ff91f33e52977c28e0d41c387df6a02a633cbb8c2d8238627 +"trough@npm:^2.0.0": + version: 2.2.0 + resolution: "trough@npm:2.2.0" + checksum: 10/999c1cb3db6ec63e1663f911146a90125065da37f66ba342b031d53edb22a62f56c1f934bbc61a55b2b29dd74207544cfd78875b414665c1ffadcd9a9a009eeb languageName: node linkType: hard -"ts-api-utils@npm:^1.0.1": - version: 1.0.2 - resolution: "ts-api-utils@npm:1.0.2" +"ts-api-utils@npm:^1.3.0": + version: 1.3.0 + resolution: "ts-api-utils@npm:1.3.0" peerDependencies: typescript: ">=4.2.0" - checksum: d095281048ff6423653599f61ce92f6783ba0880d76d081fc7597c5bc672f20079fc4dea9a6ec752ebcb4c90d2baab293ec159270c22e65f49c7abe1078e5d44 + checksum: 10/3ee44faa24410cd649b5c864e068d438aa437ef64e9e4a66a41646a6d3024d3097a695eeb3fb26ee364705d3cb9653a65756d009e6a53badb6066a5f447bf7ed languageName: node linkType: hard -"ts-dedent@npm:2.2.0": - version: 2.2.0 - resolution: "ts-dedent@npm:2.2.0" - checksum: 93ed8f7878b6d5ed3c08d99b740010eede6bccfe64bce61c5a4da06a2c17d6ddbb80a8c49c2d15251de7594a4f93ffa21dd10e7be75ef66a4dc9951b4a94e2af - languageName: node - linkType: hard - -"ts-node@npm:^10.8.1": - version: 10.9.1 - resolution: "ts-node@npm:10.9.1" - dependencies: - "@cspotcode/source-map-support": "npm:^0.8.0" - "@tsconfig/node10": "npm:^1.0.7" - "@tsconfig/node12": "npm:^1.0.7" - "@tsconfig/node14": "npm:^1.0.0" - "@tsconfig/node16": "npm:^1.0.2" - acorn: "npm:^8.4.1" - acorn-walk: "npm:^8.1.1" - arg: "npm:^4.1.0" - create-require: "npm:^1.1.0" - diff: "npm:^4.0.1" - make-error: "npm:^1.1.1" - v8-compile-cache-lib: "npm:^3.0.1" - yn: "npm:3.1.1" +"ts-api-utils@npm:^2.0.0": + version: 2.0.0 + resolution: "ts-api-utils@npm:2.0.0" 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 - bin: - ts-node: dist/bin.js - ts-node-cwd: dist/bin-cwd.js - ts-node-esm: dist/bin-esm.js - ts-node-script: dist/bin-script.js - ts-node-transpile-only: dist/bin-transpile.js - ts-script: dist/bin-script-deprecated.js - checksum: bee56d4dc96ccbafc99dfab7b73fbabc62abab2562af53cdea91c874a301b9d11e42bc33c0a032a6ed6d813dbdc9295ec73dde7b73ea4ebde02b0e22006f7e04 + typescript: ">=4.8.4" + checksum: 10/485bdf8bbba98d58712243d958f4fd44742bbe49e559cd77882fb426d866eec6dd05c67ef91935dc4f8a3c776f235859735e1f05be399e4dc9e7ffd580120974 languageName: node linkType: hard -"tsconfck@npm:^2.1.0": - version: 2.1.2 - resolution: "tsconfck@npm:2.1.2" - peerDependencies: - typescript: ^4.3.5 || ^5.0.0 - peerDependenciesMeta: - typescript: - optional: true - bin: - tsconfck: bin/tsconfck.js - checksum: 61df3b03b334a25eabb0a52e67a0c8d85770c631f2739db7703af8fdd102a2ebd598f1c851cc5fc6d6a59f2497a26c845be71c934ea16d838a3ff95a885034fb +"ts-dedent@npm:2.2.0": + version: 2.2.0 + resolution: "ts-dedent@npm:2.2.0" + checksum: 10/93ed8f7878b6d5ed3c08d99b740010eede6bccfe64bce61c5a4da06a2c17d6ddbb80a8c49c2d15251de7594a4f93ffa21dd10e7be75ef66a4dc9951b4a94e2af languageName: node linkType: hard -"tsconfig-paths@npm:^3.14.2": - version: 3.14.2 - resolution: "tsconfig-paths@npm:3.14.2" +"tsconfig-paths@npm:^3.15.0": + version: 3.15.0 + resolution: "tsconfig-paths@npm:3.15.0" dependencies: "@types/json5": "npm:^0.0.29" json5: "npm:^1.0.2" minimist: "npm:^1.2.6" strip-bom: "npm:^3.0.0" - checksum: 17f23e98612a60cf23b80dc1d3b7b840879e41fcf603868fc3618a30f061ac7b463ef98cad8c28b68733b9bfe0cc40ffa2bcf29e94cf0d26e4f6addf7ac8527d + checksum: 10/2041beaedc6c271fc3bedd12e0da0cc553e65d030d4ff26044b771fac5752d0460944c0b5e680f670c2868c95c664a256cec960ae528888db6ded83524e33a14 + languageName: node + linkType: hard + +"tslib@npm:2.6.2": + version: 2.6.2 + resolution: "tslib@npm:2.6.2" + checksum: 10/bd26c22d36736513980091a1e356378e8b662ded04204453d353a7f34a4c21ed0afc59b5f90719d4ba756e581a162ecbf93118dc9c6be5acf70aa309188166ca + languageName: node + linkType: hard + +"tslib@npm:^2.1.0, tslib@npm:^2.3.1, tslib@npm:^2.6.2": + version: 2.8.1 + resolution: "tslib@npm:2.8.1" + checksum: 10/3e2e043d5c2316461cb54e5c7fe02c30ef6dccb3384717ca22ae5c6b5bc95232a6241df19c622d9c73b809bea33b187f6dbc73030963e29950c2141bc32a79f7 + languageName: node + linkType: hard + +"type-check@npm:^0.4.0, type-check@npm:~0.4.0": + version: 0.4.0 + resolution: "type-check@npm:0.4.0" + dependencies: + prelude-ls: "npm:^1.2.1" + checksum: 10/14687776479d048e3c1dbfe58a2409e00367810d6960c0f619b33793271ff2a27f81b52461f14a162f1f89a9b1d8da1b237fc7c99b0e1fdcec28ec63a86b1fec + languageName: node + linkType: hard + +"type-fest@npm:^0.6.0": + version: 0.6.0 + resolution: "type-fest@npm:0.6.0" + checksum: 10/9ecbf4ba279402b14c1a0614b6761bbe95626fab11377291fecd7e32b196109551e0350dcec6af74d97ced1b000ba8060a23eca33157091e642b409c2054ba82 + languageName: node + linkType: hard + +"type-fest@npm:^0.8.1": + version: 0.8.1 + resolution: "type-fest@npm:0.8.1" + checksum: 10/fd4a91bfb706aeeb0d326ebd2e9a8ea5263979e5dec8d16c3e469a5bd3a946e014a062ef76c02e3086d3d1c7209a56a20a4caafd0e9f9a5c2ab975084ea3d388 + languageName: node + linkType: hard + +"type-fest@npm:^3.8.0": + version: 3.13.1 + resolution: "type-fest@npm:3.13.1" + checksum: 10/9a8a2359ada34c9b3affcaf3a8f73ee14c52779e89950db337ce66fb74c3399776c697c99f2532e9b16e10e61cfdba3b1c19daffb93b338b742f0acd0117ce12 + languageName: node + linkType: hard + +"typed-array-buffer@npm:^1.0.2": + version: 1.0.2 + resolution: "typed-array-buffer@npm:1.0.2" + dependencies: + call-bind: "npm:^1.0.7" + es-errors: "npm:^1.3.0" + is-typed-array: "npm:^1.1.13" + checksum: 10/02ffc185d29c6df07968272b15d5319a1610817916ec8d4cd670ded5d1efe72901541ff2202fcc622730d8a549c76e198a2f74e312eabbfb712ed907d45cbb0b + languageName: node + linkType: hard + +"typed-array-byte-length@npm:^1.0.1": + version: 1.0.1 + resolution: "typed-array-byte-length@npm:1.0.1" + dependencies: + call-bind: "npm:^1.0.7" + for-each: "npm:^0.3.3" + gopd: "npm:^1.0.1" + has-proto: "npm:^1.0.3" + is-typed-array: "npm:^1.1.13" + checksum: 10/e4a38329736fe6a73b52a09222d4a9e8de14caaa4ff6ad8e55217f6705b017d9815b7284c85065b3b8a7704e226ccff1372a72b78c2a5b6b71b7bf662308c903 + languageName: node + linkType: hard + +"typed-array-byte-offset@npm:^1.0.2": + version: 1.0.2 + resolution: "typed-array-byte-offset@npm:1.0.2" + dependencies: + available-typed-arrays: "npm:^1.0.7" + call-bind: "npm:^1.0.7" + for-each: "npm:^0.3.3" + gopd: "npm:^1.0.1" + has-proto: "npm:^1.0.3" + is-typed-array: "npm:^1.1.13" + checksum: 10/ac26d720ebb2aacbc45e231347c359e6649f52e0cfe0e76e62005912f8030d68e4cb7b725b1754e8fdd48e433cb68df5a8620a3e420ad1457d666e8b29bf9150 + languageName: node + linkType: hard + +"typed-array-length@npm:^1.0.4, typed-array-length@npm:^1.0.6": + version: 1.0.6 + resolution: "typed-array-length@npm:1.0.6" + dependencies: + call-bind: "npm:^1.0.7" + for-each: "npm:^0.3.3" + gopd: "npm:^1.0.1" + has-proto: "npm:^1.0.3" + is-typed-array: "npm:^1.1.13" + possible-typed-array-names: "npm:^1.0.0" + checksum: 10/05e96cf4ff836743ebfc593d86133b8c30e83172cb5d16c56814d7bacfed57ce97e87ada9c4b2156d9aaa59f75cdef01c25bd9081c7826e0b869afbefc3e8c39 + languageName: node + linkType: hard + +"typedarray@npm:^0.0.6": + version: 0.0.6 + resolution: "typedarray@npm:0.0.6" + checksum: 10/2cc1bcf7d8c1237f6a16c04efc06637b2c5f2d74e58e84665445cf87668b85a21ab18dd751fa49eee6ae024b70326635d7b79ad37b1c370ed2fec6aeeeb52714 + languageName: node + linkType: hard + +"typescript-eslint@npm:8.21.1-alpha.2": + version: 8.21.1-alpha.2 + resolution: "typescript-eslint@npm:8.21.1-alpha.2" + dependencies: + "@typescript-eslint/eslint-plugin": "npm:8.21.1-alpha.2" + "@typescript-eslint/parser": "npm:8.21.1-alpha.2" + "@typescript-eslint/utils": "npm:8.21.1-alpha.2" + peerDependencies: + eslint: ^8.57.0 || ^9.0.0 + typescript: ">=4.8.4 <5.8.0" + checksum: 10/beb6ba9d75f4ecbc6cb180ae1e0106a5b5aea8a2bc33b45adeb609c1d933d8365047209d3f1c2d052f8d69436301fd45d223643094bc68e390fdb18631c381ce + languageName: node + linkType: hard + +"typescript@npm:5.6.1-rc": + version: 5.6.1-rc + resolution: "typescript@npm:5.6.1-rc" + bin: + tsc: bin/tsc + tsserver: bin/tsserver + checksum: 10/5716659d5baf142b5c84b96209b30730a5e9dcc0202f879349f9974823f7452ec4ef3904397b6d89d861c688acdbb1dad0a449d753163519fae2ee06ea4a68be + languageName: node + linkType: hard + +"typescript@npm:5.7.3": + version: 5.7.3 + resolution: "typescript@npm:5.7.3" + bin: + tsc: bin/tsc + tsserver: bin/tsserver + checksum: 10/6a7e556de91db3d34dc51cd2600e8e91f4c312acd8e52792f243c7818dfadb27bae677175fad6947f9c81efb6c57eb6b2d0c736f196a6ee2f1f7d57b74fc92fa + languageName: node + linkType: hard + +"typescript@patch:typescript@npm%3A5.6.1-rc#optional!builtin<compat/typescript>": + version: 5.6.1-rc + resolution: "typescript@patch:typescript@npm%3A5.6.1-rc#optional!builtin<compat/typescript>::version=5.6.1-rc&hash=8c6c40" + bin: + tsc: bin/tsc + tsserver: bin/tsserver + checksum: 10/462e0bb46c63abfc5bfc43f2bb00b9777a4228f3ed52d8930b46404dce71dbada63c27a99262ff4570b5ff7d01455701bfd36823bd3c766e443b6fa33cd31dea languageName: node linkType: hard -"tslib@npm:2.6.2, tslib@npm:^2.1.0, tslib@npm:^2.6.0": - version: 2.6.2 - resolution: "tslib@npm:2.6.2" - checksum: bd26c22d36736513980091a1e356378e8b662ded04204453d353a7f34a4c21ed0afc59b5f90719d4ba756e581a162ecbf93118dc9c6be5acf70aa309188166ca +"typescript@patch:typescript@npm%3A5.7.3#optional!builtin<compat/typescript>": + version: 5.7.3 + resolution: "typescript@patch:typescript@npm%3A5.7.3#optional!builtin<compat/typescript>::version=5.7.3&hash=5786d5" + bin: + tsc: bin/tsc + tsserver: bin/tsserver + checksum: 10/dc58d777eb4c01973f7fbf1fd808aad49a0efdf545528dab9b07d94fdcb65b8751742804c3057e9619a4627f2d9cc85547fdd49d9f4326992ad0181b49e61d81 languageName: node linkType: hard -"tslib@npm:^1.9.0": - version: 1.14.1 - resolution: "tslib@npm:1.14.1" - checksum: 7dbf34e6f55c6492637adb81b555af5e3b4f9cc6b998fb440dac82d3b42bdc91560a35a5fb75e20e24a076c651438234da6743d139e4feabf0783f3cdfe1dddb +"uid@npm:2.0.2": + version: 2.0.2 + resolution: "uid@npm:2.0.2" + dependencies: + "@lukeed/csprng": "npm:^1.0.0" + checksum: 10/18f6da43d8e1b8643077e8123f877b4506759d9accc15337140a1bf7c99f299a66e88b27ab4c640e66e6a10f19e3a85afa45fdf830dd4bab7570d07a3d51e073 languageName: node linkType: hard -"type-check@npm:^0.4.0, type-check@npm:~0.4.0": - version: 0.4.0 - resolution: "type-check@npm:0.4.0" +"unbox-primitive@npm:^1.0.2": + version: 1.0.2 + resolution: "unbox-primitive@npm:1.0.2" dependencies: - prelude-ls: "npm:^1.2.1" - checksum: 14687776479d048e3c1dbfe58a2409e00367810d6960c0f619b33793271ff2a27f81b52461f14a162f1f89a9b1d8da1b237fc7c99b0e1fdcec28ec63a86b1fec + call-bind: "npm:^1.0.2" + has-bigints: "npm:^1.0.2" + has-symbols: "npm:^1.0.3" + which-boxed-primitive: "npm:^1.0.2" + checksum: 10/06e1ee41c1095e37281cb71a975cb3350f7cb470a0665d2576f02cc9564f623bd90cfc0183693b8a7fdf2d242963dcc3010b509fa3ac683f540c765c0f3e7e43 languageName: node linkType: hard -"type-detect@npm:^4.0.0, type-detect@npm:^4.0.5, type-detect@npm:^4.0.8": - version: 4.0.8 - resolution: "type-detect@npm:4.0.8" - checksum: 5179e3b8ebc51fce1b13efb75fdea4595484433f9683bbc2dca6d99789dba4e602ab7922d2656f2ce8383987467f7770131d4a7f06a26287db0615d2f4c4ce7d +"undici-types@npm:~5.25.1": + version: 5.25.3 + resolution: "undici-types@npm:5.25.3" + checksum: 10/9a57f2dd6fecb2d0f7d9b86aa6f417609a0ffc73247a95aa25c078cf36cbbfe6c164b63b8dace7ad01126e6510f284c185b69c78356bb1d6b279f195acffcaf4 languageName: node linkType: hard -"type-fest@npm:^0.18.0": - version: 0.18.1 - resolution: "type-fest@npm:0.18.1" - checksum: 08844377058435c2b0e633ba01bab6102dba0ed63d85417d8e18feff265eed6f5c9f8f9a25d405ea9db88a41a569be73a3c4c0d4e29150bf89fb145bb23114a2 +"undici-types@npm:~6.13.0": + version: 6.13.0 + resolution: "undici-types@npm:6.13.0" + checksum: 10/da52e37cbc6da3a75da86fa08dd795ca8924430deb91005eb884b840e46e19013ccd4c1c289f70018e8cf0c338add24a500e7c3acfcd49b1ffb27ff9f91e38b9 languageName: node linkType: hard -"type-fest@npm:^0.20.2": - version: 0.20.2 - resolution: "type-fest@npm:0.20.2" - checksum: 8907e16284b2d6cfa4f4817e93520121941baba36b39219ea36acfe64c86b9dbc10c9941af450bd60832c8f43464974d51c0957f9858bc66b952b66b6914cbb9 +"undici-types@npm:~6.20.0": + version: 6.20.0 + resolution: "undici-types@npm:6.20.0" + checksum: 10/583ac7bbf4ff69931d3985f4762cde2690bb607844c16a5e2fbb92ed312fe4fa1b365e953032d469fa28ba8b224e88a595f0b10a449332f83fa77c695e567dbe languageName: node linkType: hard -"type-fest@npm:^0.21.3": - version: 0.21.3 - resolution: "type-fest@npm:0.21.3" - checksum: f4254070d9c3d83a6e573bcb95173008d73474ceadbbf620dd32d273940ca18734dff39c2b2480282df9afe5d1675ebed5499a00d791758748ea81f61a38961f +"unicode-emoji-modifier-base@npm:^1.0.0": + version: 1.0.0 + resolution: "unicode-emoji-modifier-base@npm:1.0.0" + checksum: 10/6e1521d35fa69493207eb8b41f8edb95985d8b3faf07c01d820a1830b5e8403e20002563e2f84683e8e962a49beccae789f0879356bf92a4ec7a4dd8e2d16fdb languageName: node linkType: hard -"type-fest@npm:^0.6.0": - version: 0.6.0 - resolution: "type-fest@npm:0.6.0" - checksum: 9ecbf4ba279402b14c1a0614b6761bbe95626fab11377291fecd7e32b196109551e0350dcec6af74d97ced1b000ba8060a23eca33157091e642b409c2054ba82 +"unicorn-magic@npm:^0.1.0": + version: 0.1.0 + resolution: "unicorn-magic@npm:0.1.0" + checksum: 10/9b4d0e9809807823dc91d0920a4a4c0cff2de3ebc54ee87ac1ee9bc75eafd609b09d1f14495e0173aef26e01118706196b6ab06a75fe0841028b3983a8af313f languageName: node linkType: hard -"type-fest@npm:^0.8.1": - version: 0.8.1 - resolution: "type-fest@npm:0.8.1" - checksum: fd4a91bfb706aeeb0d326ebd2e9a8ea5263979e5dec8d16c3e469a5bd3a946e014a062ef76c02e3086d3d1c7209a56a20a4caafd0e9f9a5c2ab975084ea3d388 +"unified-args@npm:^11.0.0": + version: 11.0.1 + resolution: "unified-args@npm:11.0.1" + dependencies: + "@types/text-table": "npm:^0.2.0" + chalk: "npm:^5.0.0" + chokidar: "npm:^3.0.0" + comma-separated-tokens: "npm:^2.0.0" + json5: "npm:^2.0.0" + minimist: "npm:^1.0.0" + strip-ansi: "npm:^7.0.0" + text-table: "npm:^0.2.0" + unified-engine: "npm:^11.0.0" + checksum: 10/6b93410bd83be54a49fa8ae97f3054443951c8aa91c83b79bf01c81bde96fd106567738cd53b9ba40b59b5420e81c9464516b5802b1e1eebbf77a1bb3b8a21d6 languageName: node linkType: hard -"type-fest@npm:^1.0.1, type-fest@npm:^1.0.2, type-fest@npm:^1.2.1, type-fest@npm:^1.2.2": - version: 1.4.0 - resolution: "type-fest@npm:1.4.0" - checksum: 89875c247564601c2650bacad5ff80b859007fbdb6c9e43713ae3ffa3f584552eea60f33711dd762e16496a1ab4debd409822627be14097d9a17e39c49db591a +"unified-engine@npm:^11.0.0, unified-engine@npm:^11.2.0": + version: 11.2.1 + resolution: "unified-engine@npm:11.2.1" + dependencies: + "@types/concat-stream": "npm:^2.0.0" + "@types/debug": "npm:^4.0.0" + "@types/is-empty": "npm:^1.0.0" + "@types/node": "npm:^20.0.0" + "@types/unist": "npm:^3.0.0" + concat-stream: "npm:^2.0.0" + debug: "npm:^4.0.0" + extend: "npm:^3.0.0" + glob: "npm:^10.0.0" + ignore: "npm:^5.0.0" + is-empty: "npm:^1.0.0" + is-plain-obj: "npm:^4.0.0" + load-plugin: "npm:^6.0.0" + parse-json: "npm:^7.0.0" + trough: "npm:^2.0.0" + unist-util-inspect: "npm:^8.0.0" + vfile: "npm:^6.0.0" + vfile-message: "npm:^4.0.0" + vfile-reporter: "npm:^8.0.0" + vfile-statistics: "npm:^3.0.0" + yaml: "npm:^2.0.0" + checksum: 10/9428a5673d30cf81a45c32fa3909f1529d81214b6bcf0ab56f8205ee00a5481320f50e926935eaa5e1dcb9e36b3c8d797a665fe05b2a98f388fdaa07dcb7714f languageName: node linkType: hard -"type-fest@npm:^3.0.0": - version: 3.13.1 - resolution: "type-fest@npm:3.13.1" - checksum: 9a8a2359ada34c9b3affcaf3a8f73ee14c52779e89950db337ce66fb74c3399776c697c99f2532e9b16e10e61cfdba3b1c19daffb93b338b742f0acd0117ce12 +"unified-lint-rule@npm:^1.0.0": + version: 1.0.6 + resolution: "unified-lint-rule@npm:1.0.6" + dependencies: + wrapped: "npm:^1.0.1" + checksum: 10/fb3fa8a08bab260e8200a40de48180d422cc7beb118cd74352490a6e8e42346ffbaed47e43593df4b5519eead0f67d71d1e4031b1b100a9aaf5f42d7b6135d54 languageName: node linkType: hard -"typed-array-buffer@npm:^1.0.0": - version: 1.0.0 - resolution: "typed-array-buffer@npm:1.0.0" +"unified-lint-rule@npm:^3.0.0": + version: 3.0.0 + resolution: "unified-lint-rule@npm:3.0.0" dependencies: - call-bind: "npm:^1.0.2" - get-intrinsic: "npm:^1.2.1" - is-typed-array: "npm:^1.1.10" - checksum: 3e0281c79b2a40cd97fe715db803884301993f4e8c18e8d79d75fd18f796e8cd203310fec8c7fdb5e6c09bedf0af4f6ab8b75eb3d3a85da69328f28a80456bd3 + "@types/unist": "npm:^3.0.0" + trough: "npm:^2.0.0" + unified: "npm:^11.0.0" + vfile: "npm:^6.0.0" + checksum: 10/6298a35c5fc71de2113cc407c31b69e8560436dc3c02f85d25b56db8485fea4913000dde0268ac45bc9faa5c006d25d79ef0b3db829e989281acd26972e6a761 languageName: node linkType: hard -"typed-array-byte-length@npm:^1.0.0": - version: 1.0.0 - resolution: "typed-array-byte-length@npm:1.0.0" +"unified-message-control@npm:^5.0.0": + version: 5.0.0 + resolution: "unified-message-control@npm:5.0.0" dependencies: - call-bind: "npm:^1.0.2" - for-each: "npm:^0.3.3" - has-proto: "npm:^1.0.1" - is-typed-array: "npm:^1.1.10" - checksum: 6f376bf5d988f00f98ccee41fd551cafc389095a2a307c18fab30f29da7d1464fc3697139cf254cda98b4128bbcb114f4b557bbabdc6d9c2e5039c515b31decf + "@types/unist": "npm:^3.0.0" + devlop: "npm:^1.0.0" + space-separated-tokens: "npm:^2.0.0" + unist-util-is: "npm:^6.0.0" + unist-util-visit: "npm:^5.0.0" + vfile: "npm:^6.0.0" + vfile-location: "npm:^5.0.0" + vfile-message: "npm:^4.0.0" + checksum: 10/58bd80331ba65236e9f026cb8482f24f25c42a550c2d8aed3d7e766a8a1d536c2b2e28b0f0670f1f25c9d450e3d9e7c997f76b406dc8f19b8c5cbbfc91cb8847 languageName: node linkType: hard -"typed-array-byte-offset@npm:^1.0.0": - version: 1.0.0 - resolution: "typed-array-byte-offset@npm:1.0.0" +"unified@npm:11.0.5, unified@npm:^11.0.0, unified@npm:^11.0.4": + version: 11.0.5 + resolution: "unified@npm:11.0.5" dependencies: - available-typed-arrays: "npm:^1.0.5" - call-bind: "npm:^1.0.2" - for-each: "npm:^0.3.3" - has-proto: "npm:^1.0.1" - is-typed-array: "npm:^1.1.10" - checksum: 2d81747faae31ca79f6c597dc18e15ae3d5b7e97f7aaebce3b31f46feeb2a6c1d6c92b9a634d901c83731ffb7ec0b74d05c6ff56076f5ae39db0cd19b16a3f92 + "@types/unist": "npm:^3.0.0" + bail: "npm:^2.0.0" + devlop: "npm:^1.0.0" + extend: "npm:^3.0.0" + is-plain-obj: "npm:^4.0.0" + trough: "npm:^2.0.0" + vfile: "npm:^6.0.0" + checksum: 10/d9e6e88900a075f391b6bbf06f34062d41fa6257798110d1647753cfc2c6a6e2c1d016434e8ee35706c50485f9fb9ae4707a6a4790bd8dc461ec7e7315ed908b languageName: node linkType: hard -"typed-array-length@npm:^1.0.4": - version: 1.0.4 - resolution: "typed-array-length@npm:1.0.4" +"unique-filename@npm:^3.0.0": + version: 3.0.0 + resolution: "unique-filename@npm:3.0.0" dependencies: - call-bind: "npm:^1.0.2" - for-each: "npm:^0.3.3" - is-typed-array: "npm:^1.1.9" - checksum: 0444658acc110b233176cb0b7689dcb828b0cfa099ab1d377da430e8553b6fdcdce882360b7ffe9ae085b6330e1d39383d7b2c61574d6cd8eef651d3e4a87822 + unique-slug: "npm:^4.0.0" + checksum: 10/8e2f59b356cb2e54aab14ff98a51ac6c45781d15ceaab6d4f1c2228b780193dc70fae4463ce9e1df4479cb9d3304d7c2043a3fb905bdeca71cc7e8ce27e063df languageName: node linkType: hard -"typedarray-to-buffer@npm:^3.1.5": - version: 3.1.5 - resolution: "typedarray-to-buffer@npm:3.1.5" +"unique-slug@npm:^4.0.0": + version: 4.0.0 + resolution: "unique-slug@npm:4.0.0" dependencies: - is-typedarray: "npm:^1.0.0" - checksum: 7c850c3433fbdf4d04f04edfc751743b8f577828b8e1eb93b95a3bce782d156e267d83e20fb32b3b47813e69a69ab5e9b5342653332f7d21c7d1210661a7a72c + imurmurhash: "npm:^0.1.4" + checksum: 10/40912a8963fc02fb8b600cf50197df4a275c602c60de4cac4f75879d3c48558cfac48de08a25cc10df8112161f7180b3bbb4d662aadb711568602f9eddee54f0 languageName: node linkType: hard -"typescript@npm:5.2.2, typescript@npm:^4.6.4 || ^5.0.0, typescript@npm:^5.2.2": - version: 5.2.2 - resolution: "typescript@npm:5.2.2" - bin: - tsc: bin/tsc - tsserver: bin/tsserver - checksum: d65e50eb849bd21ff8677e5b9447f9c6e74777e346afd67754934264dcbf4bd59e7d2473f6062d9a015d66bd573311166357e3eb07fea0b52859cf9bb2b58555 +"unist-util-inspect@npm:^8.0.0": + version: 8.1.0 + resolution: "unist-util-inspect@npm:8.1.0" + dependencies: + "@types/unist": "npm:^3.0.0" + checksum: 10/f1d14b2fdf184b08de55e215b67ccce9be59b81ccb72b01295538b1642b2087f093b6e98bd830727dd5d69074dcdce3c471469a2ec8bd0aa4063b1270b23e86f languageName: node linkType: hard -"typescript@patch:typescript@npm%3A5.2.2#optional!builtin<compat/typescript>, typescript@patch:typescript@npm%3A^4.6.4 || ^5.0.0#optional!builtin<compat/typescript>, typescript@patch:typescript@npm%3A^5.2.2#optional!builtin<compat/typescript>": - version: 5.2.2 - resolution: "typescript@patch:typescript@npm%3A5.2.2#optional!builtin<compat/typescript>::version=5.2.2&hash=f3b441" - bin: - tsc: bin/tsc - tsserver: bin/tsserver - checksum: f79cc2ba802c94c2b78dbb00d767a10adb67368ae764709737dc277273ec148aa4558033a03ce901406b35fddf4eac46dabc94a1e1d12d2587e2b9cfe5707b4a +"unist-util-is@npm:^3.0.0": + version: 3.0.0 + resolution: "unist-util-is@npm:3.0.0" + checksum: 10/4cb6af4ad752155da2e79318f781adcd53fa2df3376f9acdee628de536613337f501ded76bf7e4a153be93ee0ff009889882eb71ac1a72ae5496ae278661c143 languageName: node linkType: hard -"typical@npm:^4.0.0": - version: 4.0.0 - resolution: "typical@npm:4.0.0" - checksum: aefe2c24b025cda22534ae2594df4a1df5db05b5fe3692890fd51db741ca4f18937a149f968b8d56d9a7b0756e7cd8843b1907bea21987ff4a06619c54d5a575 +"unist-util-is@npm:^6.0.0": + version: 6.0.0 + resolution: "unist-util-is@npm:6.0.0" + dependencies: + "@types/unist": "npm:^3.0.0" + checksum: 10/edd6a93fb2255addf4b9eeb304c1da63c62179aef793169dd64ab955cf2f6814885fe25f95f8105893e3562dead348af535718d7a84333826e0491c04bf42511 languageName: node linkType: hard -"uc.micro@npm:^1.0.1, uc.micro@npm:^1.0.5": - version: 1.0.6 - resolution: "uc.micro@npm:1.0.6" - checksum: 6898bb556319a38e9cf175e3628689347bd26fec15fc6b29fa38e0045af63075ff3fea4cf1fdba9db46c9f0cbf07f2348cd8844889dd31ebd288c29fe0d27e7a +"unist-util-position-from-estree@npm:^2.0.0": + version: 2.0.0 + resolution: "unist-util-position-from-estree@npm:2.0.0" + dependencies: + "@types/unist": "npm:^3.0.0" + checksum: 10/d3b3048a5727c2367f64ef6dcc5b20c4717215ef8b1372ff9a7c426297c5d1e5776409938acd01531213e2cd2543218d16e73f9f862f318e9496e2c73bb18354 languageName: node linkType: hard -"ufo@npm:^1.3.0": - version: 1.3.0 - resolution: "ufo@npm:1.3.0" - checksum: 347a0c3b6941d12b07bda2abdd8d44b9d1ac569a2567be7a3e5567f811ac8e48704359838058a3442f9f46e020d840efc6b84d8223c0b6b8ab47e32b8c278d9f +"unist-util-position@npm:^5.0.0": + version: 5.0.0 + resolution: "unist-util-position@npm:5.0.0" + dependencies: + "@types/unist": "npm:^3.0.0" + checksum: 10/89d4da00e74618d7562ac7ac288961df9bcd4ccca6df3b5a90650f018eceb6b95de6e771e88bdbef46cc9d96861d456abe57b7ad1108921e0feb67c6292aa29d languageName: node linkType: hard -"uid@npm:2.0.2": - version: 2.0.2 - resolution: "uid@npm:2.0.2" +"unist-util-remove-position@npm:^5.0.0": + version: 5.0.0 + resolution: "unist-util-remove-position@npm:5.0.0" dependencies: - "@lukeed/csprng": "npm:^1.0.0" - checksum: 18f6da43d8e1b8643077e8123f877b4506759d9accc15337140a1bf7c99f299a66e88b27ab4c640e66e6a10f19e3a85afa45fdf830dd4bab7570d07a3d51e073 + "@types/unist": "npm:^3.0.0" + unist-util-visit: "npm:^5.0.0" + checksum: 10/4d89dc25e2091f9d47d92552145a26bf0e4a32d6b453e9cacac7742d730ada186ee1b820579fee3eeaa31e119850c2cb82f8b5898f977a636d7220e998626967 languageName: node linkType: hard -"unbox-primitive@npm:^1.0.2": - version: 1.0.2 - resolution: "unbox-primitive@npm:1.0.2" +"unist-util-stringify-position@npm:^2.0.0": + version: 2.0.3 + resolution: "unist-util-stringify-position@npm:2.0.3" dependencies: - call-bind: "npm:^1.0.2" - has-bigints: "npm:^1.0.2" - has-symbols: "npm:^1.0.3" - which-boxed-primitive: "npm:^1.0.2" - checksum: 06e1ee41c1095e37281cb71a975cb3350f7cb470a0665d2576f02cc9564f623bd90cfc0183693b8a7fdf2d242963dcc3010b509fa3ac683f540c765c0f3e7e43 + "@types/unist": "npm:^2.0.2" + checksum: 10/affbfd151f0df055ce0dddf443fc41353ab3870cdba6b3805865bd6a41ce22d9d8e65be0ed8839a8731d05b61421d2df9fd8c35b67adf86040bf4b1f8a04a42c languageName: node linkType: hard -"unicode-emoji-modifier-base@npm:^1.0.0": - version: 1.0.0 - resolution: "unicode-emoji-modifier-base@npm:1.0.0" - checksum: 6e1521d35fa69493207eb8b41f8edb95985d8b3faf07c01d820a1830b5e8403e20002563e2f84683e8e962a49beccae789f0879356bf92a4ec7a4dd8e2d16fdb +"unist-util-stringify-position@npm:^4.0.0": + version: 4.0.0 + resolution: "unist-util-stringify-position@npm:4.0.0" + dependencies: + "@types/unist": "npm:^3.0.0" + checksum: 10/d15c88aca7a31902d95d5b5355bbe09583cf6f6ff6e59e134ef76c76d3c30bc1021f2d7ea5b7897c6d0858ed5f3770c1b19de9c78274f50d72f95a0d05f1af71 languageName: node linkType: hard -"unique-filename@npm:^3.0.0": - version: 3.0.0 - resolution: "unique-filename@npm:3.0.0" +"unist-util-visit-parents@npm:^2.0.0": + version: 2.1.2 + resolution: "unist-util-visit-parents@npm:2.1.2" dependencies: - unique-slug: "npm:^4.0.0" - checksum: 8e2f59b356cb2e54aab14ff98a51ac6c45781d15ceaab6d4f1c2228b780193dc70fae4463ce9e1df4479cb9d3304d7c2043a3fb905bdeca71cc7e8ce27e063df + unist-util-is: "npm:^3.0.0" + checksum: 10/01ef0b7d369e97c7ec15dde3d70e9016993ebacdf4860ac736cdcfad3991411c6695f55dda128ab2faeb1af616f0509f0741cefe4e2c1a32d6be40b0e5a3d986 languageName: node linkType: hard -"unique-slug@npm:^4.0.0": - version: 4.0.0 - resolution: "unique-slug@npm:4.0.0" +"unist-util-visit-parents@npm:^6.0.0": + version: 6.0.1 + resolution: "unist-util-visit-parents@npm:6.0.1" dependencies: - imurmurhash: "npm:^0.1.4" - checksum: 40912a8963fc02fb8b600cf50197df4a275c602c60de4cac4f75879d3c48558cfac48de08a25cc10df8112161f7180b3bbb4d662aadb711568602f9eddee54f0 + "@types/unist": "npm:^3.0.0" + unist-util-is: "npm:^6.0.0" + checksum: 10/645b3cbc5e923bc692b1eb1a9ca17bffc5aabc25e6090ff3f1489bff8effd1890b28f7a09dc853cb6a7fa0da8581bfebc9b670a68b53c4c086cb9610dfd37701 languageName: node linkType: hard -"unique-string@npm:^3.0.0": - version: 3.0.0 - resolution: "unique-string@npm:3.0.0" +"unist-util-visit@npm:^1.0.0": + version: 1.4.1 + resolution: "unist-util-visit@npm:1.4.1" dependencies: - crypto-random-string: "npm:^4.0.0" - checksum: 1a1e2e7d02eab1bb10f720475da735e1990c8a5ff34edd1a3b6bc31590cb4210b7a1233d779360cc622ce11c211e43afa1628dd658f35d3e6a89964b622940df + unist-util-visit-parents: "npm:^2.0.0" + checksum: 10/e9395205b6908c8d0fe71bc44e65d89d4781d1bb2d453a33cb67ed4124bad0b89d6b1d526ebaecb82a7c48e211bdf6f24351449b8cc115327b345f4617c18728 languageName: node linkType: hard -"unist-util-stringify-position@npm:^2.0.0": - version: 2.0.3 - resolution: "unist-util-stringify-position@npm:2.0.3" +"unist-util-visit@npm:^5.0.0": + version: 5.0.0 + resolution: "unist-util-visit@npm:5.0.0" dependencies: - "@types/unist": "npm:^2.0.2" - checksum: affbfd151f0df055ce0dddf443fc41353ab3870cdba6b3805865bd6a41ce22d9d8e65be0ed8839a8731d05b61421d2df9fd8c35b67adf86040bf4b1f8a04a42c + "@types/unist": "npm:^3.0.0" + unist-util-is: "npm:^6.0.0" + unist-util-visit-parents: "npm:^6.0.0" + checksum: 10/f2bbde23641e9ade7640358c06ddeec0f38342322eb8e7819d9ee380b0f859d25d084dde22bf63db0280b3b2f36575f15aa1d6c23acf276c91c2493cf799e3b0 languageName: node linkType: hard -"universalify@npm:^2.0.0": - version: 2.0.0 - resolution: "universalify@npm:2.0.0" - checksum: 2406a4edf4a8830aa6813278bab1f953a8e40f2f63a37873ffa9a3bc8f9745d06cc8e88f3572cb899b7e509013f7f6fcc3e37e8a6d914167a5381d8440518c44 +"update-browserslist-db@npm:^1.1.0": + version: 1.1.0 + resolution: "update-browserslist-db@npm:1.1.0" + dependencies: + escalade: "npm:^3.1.2" + picocolors: "npm:^1.0.1" + peerDependencies: + browserslist: ">= 4.21.0" + bin: + update-browserslist-db: cli.js + checksum: 10/d70b9efeaf4601aadb1a4f6456a7a5d9118e0063d995866b8e0c5e0cf559482671dab6ce7b079f9536b06758a344fbd83f974b965211e1c6e8d1958540b0c24c languageName: node linkType: hard @@ -8749,7 +11302,7 @@ __metadata: resolution: "uri-js@npm:4.4.1" dependencies: punycode: "npm:^2.1.0" - checksum: b271ca7e3d46b7160222e3afa3e531505161c9a4e097febae9664e4b59912f4cbe94861361a4175edac3a03fee99d91e44b6a58c17a634bc5a664b19fc76fbcb + checksum: 10/b271ca7e3d46b7160222e3afa3e531505161c9a4e097febae9664e4b59912f4cbe94861361a4175edac3a03fee99d91e44b6a58c17a634bc5a664b19fc76fbcb languageName: node linkType: hard @@ -8758,51 +11311,56 @@ __metadata: resolution: "user-home@npm:2.0.0" dependencies: os-homedir: "npm:^1.0.0" - checksum: a3329faa959fcd9e3e01a03347ca974f7f6b8896e6a634f29c61d8d5b61557d853c6fc5a6dff1a28e2da85b400d0e4490368a28de452ba8c41a2bf3a92cb110a + checksum: 10/a3329faa959fcd9e3e01a03347ca974f7f6b8896e6a634f29c61d8d5b61557d853c6fc5a6dff1a28e2da85b400d0e4490368a28de452ba8c41a2bf3a92cb110a languageName: node linkType: hard "util-deprecate@npm:^1.0.1": version: 1.0.2 resolution: "util-deprecate@npm:1.0.2" - checksum: 474acf1146cb2701fe3b074892217553dfcf9a031280919ba1b8d651a068c9b15d863b7303cb15bd00a862b498e6cf4ad7b4a08fb134edd5a6f7641681cb54a2 + checksum: 10/474acf1146cb2701fe3b074892217553dfcf9a031280919ba1b8d651a068c9b15d863b7303cb15bd00a862b498e6cf4ad7b4a08fb134edd5a6f7641681cb54a2 languageName: node linkType: hard -"uuid@npm:^8.3.2": - version: 8.3.2 - resolution: "uuid@npm:8.3.2" +"uuid@npm:9.0.0": + version: 9.0.0 + resolution: "uuid@npm:9.0.0" bin: uuid: dist/bin/uuid - checksum: 9a5f7aa1d6f56dd1e8d5f2478f855f25c645e64e26e347a98e98d95781d5ed20062d6cca2eecb58ba7c84bc3910be95c0451ef4161906abaab44f9cb68ffbdd1 + checksum: 10/23857699a616d1b48224bc2b8440eae6e57d25463c3a0200e514ba8279dfa3bde7e92ea056122237839cfa32045e57d8f8f4a30e581d720fd72935572853ae2e languageName: node linkType: hard -"v8-compile-cache-lib@npm:^3.0.1": - version: 3.0.1 - resolution: "v8-compile-cache-lib@npm:3.0.1" - checksum: 88d3423a52b6aaf1836be779cab12f7016d47ad8430dffba6edf766695e6d90ad4adaa3d8eeb512cc05924f3e246c4a4ca51e089dccf4402caa536b5e5be8961 +"uuid@npm:^8.3.2": + version: 8.3.2 + resolution: "uuid@npm:8.3.2" + bin: + uuid: dist/bin/uuid + checksum: 10/9a5f7aa1d6f56dd1e8d5f2478f855f25c645e64e26e347a98e98d95781d5ed20062d6cca2eecb58ba7c84bc3910be95c0451ef4161906abaab44f9cb68ffbdd1 languageName: node linkType: hard -"v8-to-istanbul@npm:^9.1.0": - version: 9.1.0 - resolution: "v8-to-istanbul@npm:9.1.0" +"uvu@npm:^0.5.6": + version: 0.5.6 + resolution: "uvu@npm:0.5.6" dependencies: - "@jridgewell/trace-mapping": "npm:^0.3.12" - "@types/istanbul-lib-coverage": "npm:^2.0.1" - convert-source-map: "npm:^1.6.0" - checksum: 95811ff2f17a31432c3fc7b3027b7e8c2c6ca5e60a7811c5050ce51920ab2b80df29feb04c52235bbfdaa9a6809acd5a5dd9668292e98c708617c19e087c3f68 + dequal: "npm:^2.0.0" + diff: "npm:^5.0.0" + kleur: "npm:^4.0.3" + sade: "npm:^1.7.3" + bin: + uvu: bin.js + checksum: 10/66ba25afc6732249877f9f4f8b6146f3aaa97538c51cf498f55825d602c33dbb903e02c7e1547cbca6bdfbb609e07eb7ea758b5156002ac2dd5072f00606f8d9 languageName: node linkType: hard -"validate-npm-package-license@npm:^3.0.1": +"validate-npm-package-license@npm:^3.0.1, validate-npm-package-license@npm:^3.0.4": version: 3.0.4 resolution: "validate-npm-package-license@npm:3.0.4" dependencies: spdx-correct: "npm:^3.0.0" spdx-expression-parse: "npm:^3.0.0" - checksum: 86242519b2538bb8aeb12330edebb61b4eb37fd35ef65220ab0b03a26c0592c1c8a7300d32da3cde5abd08d18d95e8dabfad684b5116336f6de9e6f207eec224 + checksum: 10/86242519b2538bb8aeb12330edebb61b4eb37fd35ef65220ab0b03a26c0592c1c8a7300d32da3cde5abd08d18d95e8dabfad684b5116336f6de9e6f207eec224 languageName: node linkType: hard @@ -8811,140 +11369,197 @@ __metadata: resolution: "validate-npm-package-name@npm:5.0.0" dependencies: builtins: "npm:^5.0.0" - checksum: 5342a994986199b3c28e53a8452a14b2bb5085727691ea7aa0d284a6606b127c371e0925ae99b3f1ef7cc7d2c9de75f52eb61a3d1cc45e39bca1e3a9444cbb4e + checksum: 10/5342a994986199b3c28e53a8452a14b2bb5085727691ea7aa0d284a6606b127c371e0925ae99b3f1ef7cc7d2c9de75f52eb61a3d1cc45e39bca1e3a9444cbb4e languageName: node linkType: hard -"validator@npm:^13.7.0": - version: 13.11.0 - resolution: "validator@npm:13.11.0" - checksum: 4bf094641eb71729c06a42d669840e7189597ba655a8264adabac9bf03f95cd6fde5fbc894b0a13ee861bd4a852f56d2afdc9391aeaeb3fc0f9633a974140e12 +"validator@npm:^13.7.0, validator@npm:^13.9.0": + version: 13.12.0 + resolution: "validator@npm:13.12.0" + checksum: 10/db6eb0725e2b67d60d30073ae8573982713b5903195d031dc3c7db7e82df8b74e8c13baef8e2106d146d979599fd61a06cde1fec5c148e4abd53d52817ff0fd9 languageName: node linkType: hard -"version-bump-prompt@npm:6.1.0": - version: 6.1.0 - resolution: "version-bump-prompt@npm:6.1.0" +"vfile-location@npm:^5.0.0": + version: 5.0.3 + resolution: "vfile-location@npm:5.0.3" dependencies: - "@jsdevtools/version-bump-prompt": "npm:6.1.0" - bin: - bump: bump.js - checksum: 9e01b12cd683d8fa39afd2707bf6e53f0b78d5691b1c785690f095777c77c569c2e0aff04483b725367b4ed321547e17e7acfa5a20179a3e5f65274c5b1511a4 + "@types/unist": "npm:^3.0.0" + vfile: "npm:^6.0.0" + checksum: 10/f481d592fd507fe242da9a00d7400ded3c91587931f24e64c54f24752d7b30321721a1c99c0d949be1f6ed5fa7f8b169054fd07c744705b65dbdd10a9e4ebfe0 languageName: node linkType: hard -"vite-node@npm:0.34.6": - version: 0.34.6 - resolution: "vite-node@npm:0.34.6" +"vfile-message@npm:^4.0.0": + version: 4.0.2 + resolution: "vfile-message@npm:4.0.2" dependencies: - cac: "npm:^6.7.14" - debug: "npm:^4.3.4" - mlly: "npm:^1.4.0" - pathe: "npm:^1.1.1" - picocolors: "npm:^1.0.0" - vite: "npm:^3.0.0 || ^4.0.0 || ^5.0.0-0" - bin: - vite-node: vite-node.mjs - checksum: ae49fd24874162196dd41477afe51dd8dc0bd1e8cb4ae885455d1d5569e14f628941f9867044bff263620536446e17d7e2c0828c9ea84b6308b9eb5711e80991 + "@types/unist": "npm:^3.0.0" + unist-util-stringify-position: "npm:^4.0.0" + checksum: 10/1a5a72bf4945a7103750a3001bd979088ce42f6a01efa8590e68b2425e1afc61ddc5c76f2d3c4a7053b40332b24c09982b68743223e99281158fe727135719fc languageName: node linkType: hard -"vite-tsconfig-paths@npm:4.2.1": - version: 4.2.1 - resolution: "vite-tsconfig-paths@npm:4.2.1" +"vfile-reporter@npm:^8.0.0": + version: 8.1.1 + resolution: "vfile-reporter@npm:8.1.1" dependencies: - debug: "npm:^4.1.1" - globrex: "npm:^0.1.2" - tsconfck: "npm:^2.1.0" - peerDependencies: - vite: "*" - peerDependenciesMeta: - vite: - optional: true - checksum: fd21e99a9bcd4ddb995727a9cf7b87ca95308b0b67e69bee2b836024aabe962b2206fbb62e66645638a1298fd171f8a2b0b55202da7cc801a31b3efa41a3fb2f + "@types/supports-color": "npm:^8.0.0" + string-width: "npm:^6.0.0" + supports-color: "npm:^9.0.0" + unist-util-stringify-position: "npm:^4.0.0" + vfile: "npm:^6.0.0" + vfile-message: "npm:^4.0.0" + vfile-sort: "npm:^4.0.0" + vfile-statistics: "npm:^3.0.0" + checksum: 10/caeb1b59d3798d9c098d84da68047e8fa5fb3a245c66dc4a653d16ac1cec5bc8023ef5c529d426a21fed8dafab902ede6adea22958fbcbdc1cb999f44b783f50 + languageName: node + linkType: hard + +"vfile-sort@npm:^4.0.0": + version: 4.0.0 + resolution: "vfile-sort@npm:4.0.0" + dependencies: + vfile: "npm:^6.0.0" + vfile-message: "npm:^4.0.0" + checksum: 10/2d60298ccf30b6f1068560660985670ad3345cfa1f85f1feb66f0d9b74b847a81af94db26fc798e98a09eed58ea4502c7bbd69c969e26848f5badcdb90d28bc8 + languageName: node + linkType: hard + +"vfile-statistics@npm:^3.0.0": + version: 3.0.0 + resolution: "vfile-statistics@npm:3.0.0" + dependencies: + vfile: "npm:^6.0.0" + vfile-message: "npm:^4.0.0" + checksum: 10/0dbbc8adeb73bb24b5f723e947122e1ae7b6bd0c5ff3fd1ae0ef4a3066f74be00425102c95aa4eaa0f529ba05237255fe8342af76661b0ba6aee3f4c16ca135f + languageName: node + linkType: hard + +"vfile@npm:6.0.2": + version: 6.0.2 + resolution: "vfile@npm:6.0.2" + dependencies: + "@types/unist": "npm:^3.0.0" + unist-util-stringify-position: "npm:^4.0.0" + vfile-message: "npm:^4.0.0" + checksum: 10/8c36b4887b071aa9215a16c96916e96e75f3f3516cb87fa7ba1ec79fda3a1d87b66068e56b73f01c249b8fefa897dc52e3a6c736fd1053133ad3920f33482756 + languageName: node + linkType: hard + +"vfile@npm:6.0.3, vfile@npm:^6.0.0, vfile@npm:^6.0.1": + version: 6.0.3 + resolution: "vfile@npm:6.0.3" + dependencies: + "@types/unist": "npm:^3.0.0" + vfile-message: "npm:^4.0.0" + checksum: 10/a5a85293c9eb8787aa42e180edaef00c13199a493d6ed82fecf13ab29a68526850788e22434d77808ea6b17a74e03ff899b9b4711df5b9eee75afcddd7c2e1fb + languageName: node + linkType: hard + +"vite-node@npm:3.0.3": + version: 3.0.3 + resolution: "vite-node@npm:3.0.3" + dependencies: + cac: "npm:^6.7.14" + debug: "npm:^4.4.0" + es-module-lexer: "npm:^1.6.0" + pathe: "npm:^2.0.1" + vite: "npm:^5.0.0 || ^6.0.0" + bin: + vite-node: vite-node.mjs + checksum: 10/271a82f996025337b145593837b46759069d7e9ed994defac539bb348a338e217d40114f79ec874f83bf09a70075dc67181d6a545be6fbada1499eecd34ce091 languageName: node linkType: hard -"vite@npm:5.0.0-beta.10, vite@npm:^3.0.0 || ^4.0.0 || ^5.0.0-0, vite@npm:^3.1.0 || ^4.0.0 || ^5.0.0-0": - version: 5.0.0-beta.10 - resolution: "vite@npm:5.0.0-beta.10" +"vite@npm:^5.0.0 || ^6.0.0": + version: 6.0.5 + resolution: "vite@npm:6.0.5" dependencies: - esbuild: "npm:^0.19.3" + esbuild: "npm:0.24.0" fsevents: "npm:~2.3.3" - postcss: "npm:^8.4.31" - rollup: "npm:^4.1.4" + postcss: "npm:^8.4.49" + rollup: "npm:^4.23.0" peerDependencies: - "@types/node": ^18.0.0 || >=20.0.0 + "@types/node": ^18.0.0 || ^20.0.0 || >=22.0.0 + jiti: ">=1.21.0" less: "*" lightningcss: ^1.21.0 sass: "*" + sass-embedded: "*" stylus: "*" sugarss: "*" - terser: ^5.4.0 + terser: ^5.16.0 + tsx: ^4.8.1 + yaml: ^2.4.2 dependenciesMeta: fsevents: optional: true peerDependenciesMeta: "@types/node": optional: true + jiti: + optional: true less: optional: true lightningcss: optional: true sass: optional: true + sass-embedded: + optional: true stylus: optional: true sugarss: optional: true terser: optional: true + tsx: + optional: true + yaml: + optional: true bin: vite: bin/vite.js - checksum: 133392380456e255a91172c912adaa821c1b470d314e38a4f8b447de041810db80b65ec953f89b1e2b7c8aa82a7109523bbf14c0a599552640828bbc077944cc + checksum: 10/582bc53c14ae8c8dcb6887a1a24fb554ad6f19446ae0f9df18a47e7ab8787a08687e94a2f4c8636001233207640f91d081e31b00cc3ef9d90908a4bae26410b4 languageName: node linkType: hard -"vitest@npm:0.34.6": - version: 0.34.6 - resolution: "vitest@npm:0.34.6" - dependencies: - "@types/chai": "npm:^4.3.5" - "@types/chai-subset": "npm:^1.3.3" - "@types/node": "npm:*" - "@vitest/expect": "npm:0.34.6" - "@vitest/runner": "npm:0.34.6" - "@vitest/snapshot": "npm:0.34.6" - "@vitest/spy": "npm:0.34.6" - "@vitest/utils": "npm:0.34.6" - acorn: "npm:^8.9.0" - acorn-walk: "npm:^8.2.0" - cac: "npm:^6.7.14" - chai: "npm:^4.3.10" - debug: "npm:^4.3.4" - local-pkg: "npm:^0.4.3" - magic-string: "npm:^0.30.1" - pathe: "npm:^1.1.1" - picocolors: "npm:^1.0.0" - std-env: "npm:^3.3.3" - strip-literal: "npm:^1.0.1" - tinybench: "npm:^2.5.0" - tinypool: "npm:^0.7.0" - vite: "npm:^3.1.0 || ^4.0.0 || ^5.0.0-0" - vite-node: "npm:0.34.6" - why-is-node-running: "npm:^2.2.2" +"vitest@npm:3.0.3": + version: 3.0.3 + resolution: "vitest@npm:3.0.3" + dependencies: + "@vitest/expect": "npm:3.0.3" + "@vitest/mocker": "npm:3.0.3" + "@vitest/pretty-format": "npm:^3.0.3" + "@vitest/runner": "npm:3.0.3" + "@vitest/snapshot": "npm:3.0.3" + "@vitest/spy": "npm:3.0.3" + "@vitest/utils": "npm:3.0.3" + chai: "npm:^5.1.2" + debug: "npm:^4.4.0" + expect-type: "npm:^1.1.0" + magic-string: "npm:^0.30.17" + pathe: "npm:^2.0.1" + std-env: "npm:^3.8.0" + tinybench: "npm:^2.9.0" + tinyexec: "npm:^0.3.2" + tinypool: "npm:^1.0.2" + tinyrainbow: "npm:^2.0.0" + vite: "npm:^5.0.0 || ^6.0.0" + vite-node: "npm:3.0.3" + why-is-node-running: "npm:^2.3.0" peerDependencies: "@edge-runtime/vm": "*" - "@vitest/browser": "*" - "@vitest/ui": "*" + "@types/node": ^18.0.0 || ^20.0.0 || >=22.0.0 + "@vitest/browser": 3.0.3 + "@vitest/ui": 3.0.3 happy-dom: "*" jsdom: "*" - playwright: "*" - safaridriver: "*" - webdriverio: "*" peerDependenciesMeta: "@edge-runtime/vm": optional: true + "@types/node": + optional: true "@vitest/browser": optional: true "@vitest/ui": @@ -8953,46 +11568,30 @@ __metadata: optional: true jsdom: optional: true - playwright: - optional: true - safaridriver: - optional: true - webdriverio: - optional: true bin: vitest: vitest.mjs - checksum: 0191422ab979823803aac64e657e288f1b84bb518a2b653fe9928b4f1c931b04efde14990d263ff76a18dc6c35ab34652db3ae7cbecea771cfa36abe547dd705 + checksum: 10/cb9692e344d15695ce1eb667e7a0fa2bf231362723b3fb1db8c6b37c223ace70c9a5a30632a310c2729b7aede8c1929a2ac0c683fae0b6a033afeb6a8b27d0e4 languageName: node linkType: hard -"vscode-languageserver-textdocument@npm:^1.0.11": - version: 1.0.11 - resolution: "vscode-languageserver-textdocument@npm:1.0.11" - checksum: 6096d2a85570e819e01ff406de7c88c48211e6874c6fc71df92193aa8b5aadf40591e44f033d634a95d04975d7aad29049d3eccab617ca41c189ae325aadb913 +"vscode-languageserver-textdocument@npm:^1.0.12": + version: 1.0.12 + resolution: "vscode-languageserver-textdocument@npm:1.0.12" + checksum: 10/2bc0fde952d40f35a31179623d1491b0fafdee156aaf58557f40f5d394a25fc84826763cdde55fa6ce2ed9cd35a931355ad6dd7fe5db82e7f21e5d865f0af8c6 languageName: node linkType: hard "vscode-uri@npm:^3.0.8": version: 3.0.8 resolution: "vscode-uri@npm:3.0.8" - checksum: e882d6b679e0d053cbc042893c0951a135d899a192b62cd07f0a8924f11ae722067a8d6b1b5b147034becf57faf9fff9fb543b17b749fd0f17db1f54f783f07c + checksum: 10/e882d6b679e0d053cbc042893c0951a135d899a192b62cd07f0a8924f11ae722067a8d6b1b5b147034becf57faf9fff9fb543b17b749fd0f17db1f54f783f07c languageName: node linkType: hard -"webidl-conversions@npm:^3.0.0": +"walk-up-path@npm:^3.0.1": version: 3.0.1 - resolution: "webidl-conversions@npm:3.0.1" - checksum: b65b9f8d6854572a84a5c69615152b63371395f0c5dcd6729c45789052296df54314db2bc3e977df41705eacb8bc79c247cee139a63fa695192f95816ed528ad - languageName: node - linkType: hard - -"whatwg-url@npm:^5.0.0": - version: 5.0.0 - resolution: "whatwg-url@npm:5.0.0" - dependencies: - tr46: "npm:~0.0.3" - webidl-conversions: "npm:^3.0.0" - checksum: f95adbc1e80820828b45cc671d97da7cd5e4ef9deb426c31bcd5ab00dc7103042291613b3ef3caec0a2335ed09e0d5ed026c940755dbb6d404e2b27f940fdf07 + resolution: "walk-up-path@npm:3.0.1" + checksum: 10/9ffca02fe30fb65f6db531260582988c5e766f4c739cf86a6109380a7f791236b5d0b92b1dce37a6f73e22dca6bc9d93bf3700413e16251b2bd6bbd1ca2be316 languageName: node linkType: hard @@ -9005,20 +11604,20 @@ __metadata: is-number-object: "npm:^1.0.4" is-string: "npm:^1.0.5" is-symbol: "npm:^1.0.3" - checksum: 9c7ca7855255f25ac47f4ce8b59c4cc33629e713fd7a165c9d77a2bb47bf3d9655a5664660c70337a3221cf96742f3589fae15a3a33639908d33e29aa2941efb + checksum: 10/9c7ca7855255f25ac47f4ce8b59c4cc33629e713fd7a165c9d77a2bb47bf3d9655a5664660c70337a3221cf96742f3589fae15a3a33639908d33e29aa2941efb languageName: node linkType: hard -"which-typed-array@npm:^1.1.10, which-typed-array@npm:^1.1.11": - version: 1.1.11 - resolution: "which-typed-array@npm:1.1.11" +"which-typed-array@npm:^1.1.14, which-typed-array@npm:^1.1.15, which-typed-array@npm:^1.1.9": + version: 1.1.15 + resolution: "which-typed-array@npm:1.1.15" dependencies: - available-typed-arrays: "npm:^1.0.5" - call-bind: "npm:^1.0.2" + available-typed-arrays: "npm:^1.0.7" + call-bind: "npm:^1.0.7" for-each: "npm:^0.3.3" gopd: "npm:^1.0.1" - has-tostringtag: "npm:^1.0.0" - checksum: bc9e8690e71d6c64893c9d88a7daca33af45918861003013faf77574a6a49cc6194d32ca7826e90de341d2f9ef3ac9e3acbe332a8ae73cadf07f59b9c6c6ecad + has-tostringtag: "npm:^1.0.2" + checksum: 10/c3b6a99beadc971baa53c3ee5b749f2b9bdfa3b3b9a70650dd8511a48b61d877288b498d424712e9991d16019633086bd8b5923369460d93463c5825fa36c448 languageName: node linkType: hard @@ -9029,19 +11628,30 @@ __metadata: isexe: "npm:^2.0.0" bin: node-which: ./bin/node-which - checksum: 4782f8a1d6b8fc12c65e968fea49f59752bf6302dc43036c3bf87da718a80710f61a062516e9764c70008b487929a73546125570acea95c5b5dcc8ac3052c70f + checksum: 10/4782f8a1d6b8fc12c65e968fea49f59752bf6302dc43036c3bf87da718a80710f61a062516e9764c70008b487929a73546125570acea95c5b5dcc8ac3052c70f languageName: node linkType: hard -"why-is-node-running@npm:^2.2.2": - version: 2.2.2 - resolution: "why-is-node-running@npm:2.2.2" +"which@npm:^4.0.0": + version: 4.0.0 + resolution: "which@npm:4.0.0" + dependencies: + isexe: "npm:^3.1.1" + bin: + node-which: bin/which.js + checksum: 10/f17e84c042592c21e23c8195108cff18c64050b9efb8459589116999ea9da6dd1509e6a1bac3aeebefd137be00fabbb61b5c2bc0aa0f8526f32b58ee2f545651 + languageName: node + linkType: hard + +"why-is-node-running@npm:^2.3.0": + version: 2.3.0 + resolution: "why-is-node-running@npm:2.3.0" dependencies: siginfo: "npm:^2.0.0" stackback: "npm:0.0.2" bin: why-is-node-running: cli.js - checksum: f3582e0337f4b25537d492b1d40f00b978ce04b1d1eeea8f310bfa8aae8a7d11d118d672e2f0760c164ce3753a620a70aa29ff3620e340197624940cf9c08615 + checksum: 10/0de6e6cd8f2f94a8b5ca44e84cf1751eadcac3ebedcdc6e5fbbe6c8011904afcbc1a2777c53496ec02ced7b81f2e7eda61e76bf8262a8bc3ceaa1f6040508051 languageName: node linkType: hard @@ -9050,14 +11660,14 @@ __metadata: resolution: "wide-align@npm:1.1.5" dependencies: string-width: "npm:^1.0.2 || 2 || 3 || 4" - checksum: d5f8027b9a8255a493a94e4ec1b74a27bff6679d5ffe29316a3215e4712945c84ef73ca4045c7e20ae7d0c72f5f57f296e04a4928e773d4276a2f1222e4c2e99 + checksum: 10/d5f8027b9a8255a493a94e4ec1b74a27bff6679d5ffe29316a3215e4712945c84ef73ca4045c7e20ae7d0c72f5f57f296e04a4928e773d4276a2f1222e4c2e99 languageName: node linkType: hard -"wolfy87-eventemitter@npm:*": - version: 5.2.9 - resolution: "wolfy87-eventemitter@npm:5.2.9" - checksum: ad56d09d2f80d4dcaf851478e8524b6648197e7de91e6a69354b4fbc8b3b15198fb2ca7cd6fd573ab1c74d8ed027f735eb723980c74701a59ad6549f535dddc5 +"word-wrap@npm:1.2.5": + version: 1.2.5 + resolution: "word-wrap@npm:1.2.5" + checksum: 10/1ec6f6089f205f83037be10d0c4b34c9183b0b63fca0834a5b3cee55dd321429d73d40bb44c8fc8471b5203d6e8f8275717f49a8ff4b2b0ab41d7e1b563e0854 languageName: node linkType: hard @@ -9068,51 +11678,49 @@ __metadata: ansi-styles: "npm:^4.0.0" string-width: "npm:^4.1.0" strip-ansi: "npm:^6.0.0" - checksum: cebdaeca3a6880da410f75209e68cd05428580de5ad24535f22696d7d9cab134d1f8498599f344c3cf0fb37c1715807a183778d8c648d6cc0cb5ff2bb4236540 + checksum: 10/cebdaeca3a6880da410f75209e68cd05428580de5ad24535f22696d7d9cab134d1f8498599f344c3cf0fb37c1715807a183778d8c648d6cc0cb5ff2bb4236540 languageName: node linkType: hard -"wrap-ansi@npm:^8.0.1, wrap-ansi@npm:^8.1.0": +"wrap-ansi@npm:^8.1.0": version: 8.1.0 resolution: "wrap-ansi@npm:8.1.0" dependencies: ansi-styles: "npm:^6.1.0" string-width: "npm:^5.0.1" strip-ansi: "npm:^7.0.1" - checksum: 7b1e4b35e9bb2312d2ee9ee7dc95b8cb5f8b4b5a89f7dde5543fe66c1e3715663094defa50d75454ac900bd210f702d575f15f3f17fa9ec0291806d2578d1ddf + checksum: 10/7b1e4b35e9bb2312d2ee9ee7dc95b8cb5f8b4b5a89f7dde5543fe66c1e3715663094defa50d75454ac900bd210f702d575f15f3f17fa9ec0291806d2578d1ddf languageName: node linkType: hard -"wrappy@npm:1": - version: 1.0.2 - resolution: "wrappy@npm:1.0.2" - checksum: 159da4805f7e84a3d003d8841557196034155008f817172d4e986bd591f74aa82aa7db55929a54222309e01079a65a92a9e6414da5a6aa4b01ee44a511ac3ee5 +"wrapped@npm:^1.0.1": + version: 1.0.1 + resolution: "wrapped@npm:1.0.1" + dependencies: + co: "npm:3.1.0" + sliced: "npm:^1.0.1" + checksum: 10/549d3a0dae46f97eae15f749dc9c512cbbb0db716e1f2bc48e3e134123c941750ed008bb2799d154406154e69fb3b2e504964d9bd8e3c63e99ac4991cfd00ae8 languageName: node linkType: hard -"write-file-atomic@npm:^3.0.3": - version: 3.0.3 - resolution: "write-file-atomic@npm:3.0.3" - dependencies: - imurmurhash: "npm:^0.1.4" - is-typedarray: "npm:^1.0.0" - signal-exit: "npm:^3.0.2" - typedarray-to-buffer: "npm:^3.1.5" - checksum: 0955ab94308b74d32bc252afe69d8b42ba4b8a28b8d79f399f3f405969f82623f981e35d13129a52aa2973450f342107c06d86047572637584e85a1c0c246bf3 +"wrappy@npm:1": + version: 1.0.2 + resolution: "wrappy@npm:1.0.2" + checksum: 10/159da4805f7e84a3d003d8841557196034155008f817172d4e986bd591f74aa82aa7db55929a54222309e01079a65a92a9e6414da5a6aa4b01ee44a511ac3ee5 languageName: node linkType: hard "xdg-basedir@npm:^4.0.0": version: 4.0.0 resolution: "xdg-basedir@npm:4.0.0" - checksum: 0073d5b59a37224ed3a5ac0dd2ec1d36f09c49f0afd769008a6e9cd3cd666bd6317bd1c7ce2eab47e1de285a286bad11a9b038196413cd753b79770361855f3c + checksum: 10/0073d5b59a37224ed3a5ac0dd2ec1d36f09c49f0afd769008a6e9cd3cd666bd6317bd1c7ce2eab47e1de285a286bad11a9b038196413cd753b79770361855f3c languageName: node linkType: hard -"xdg-basedir@npm:^5.0.1": +"xdg-basedir@npm:^5.1.0": version: 5.1.0 resolution: "xdg-basedir@npm:5.1.0" - checksum: b60e8a2c663ccb1dac77c2d913f3b96de48dafbfa083657171d3d50e10820b8a04bb4edfe9f00808c8c20e5f5355e1927bea9029f03136e29265cb98291e1fea + checksum: 10/b60e8a2c663ccb1dac77c2d913f3b96de48dafbfa083657171d3d50e10820b8a04bb4edfe9f00808c8c20e5f5355e1927bea9029f03136e29265cb98291e1fea languageName: node linkType: hard @@ -9124,53 +11732,70 @@ __metadata: mount-point: "npm:^3.0.0" user-home: "npm:^2.0.0" xdg-basedir: "npm:^4.0.0" - checksum: 1b8ed9229af43fa17fcc2cbfd7b470459b2286da5eb141046817e25ba78eeee07d3a4ae28d5c32e2106641dd2c23cc18b46a77b813706ff85f6618c1f61b1827 + checksum: 10/1b8ed9229af43fa17fcc2cbfd7b470459b2286da5eb141046817e25ba78eeee07d3a4ae28d5c32e2106641dd2c23cc18b46a77b813706ff85f6618c1f61b1827 languageName: node linkType: hard "y18n@npm:^5.0.5": version: 5.0.8 resolution: "y18n@npm:5.0.8" - checksum: 5f1b5f95e3775de4514edbb142398a2c37849ccfaf04a015be5d75521e9629d3be29bd4432d23c57f37e5b61ade592fb0197022e9993f81a06a5afbdcda9346d + checksum: 10/5f1b5f95e3775de4514edbb142398a2c37849ccfaf04a015be5d75521e9629d3be29bd4432d23c57f37e5b61ade592fb0197022e9993f81a06a5afbdcda9346d languageName: node linkType: hard "yallist@npm:^4.0.0": version: 4.0.0 resolution: "yallist@npm:4.0.0" - checksum: 4cb02b42b8a93b5cf50caf5d8e9beb409400a8a4d85e83bb0685c1457e9ac0b7a00819e9f5991ac25ffabb56a78e2f017c1acc010b3a1babfe6de690ba531abd + checksum: 10/4cb02b42b8a93b5cf50caf5d8e9beb409400a8a4d85e83bb0685c1457e9ac0b7a00819e9f5991ac25ffabb56a78e2f017c1acc010b3a1babfe6de690ba531abd languageName: node linkType: hard -"yaml-eslint-parser@npm:1.2.2, yaml-eslint-parser@npm:^1.2.1": - version: 1.2.2 - resolution: "yaml-eslint-parser@npm:1.2.2" +"yaml-eslint-parser@npm:1.2.3, yaml-eslint-parser@npm:^1.2.1": + version: 1.2.3 + resolution: "yaml-eslint-parser@npm:1.2.3" dependencies: eslint-visitor-keys: "npm:^3.0.0" lodash: "npm:^4.17.21" yaml: "npm:^2.0.0" - checksum: 286de5b26011ff828d726189a38b8cd942a97f3ea5f777a6c87294906c580c438079ce393566d4f490201c5cfd274aef0f878d30f83c8e929d768aa1c47fde66 + checksum: 10/b936470882a38457333591cbecae5ace8e3cdb92cf0754a51429230e5a1fc56f90a8433341474ed8961125fd81047ee57fa3eb053dcd94cde76c8ae35cb58add languageName: node linkType: hard -"yaml@npm:2.3.2, yaml@npm:^2.0.0": - version: 2.3.2 - resolution: "yaml@npm:2.3.2" - checksum: dba78b314c4b713a7dfa4412c88c1168ffe41fe26cdd4363cb3389194765895415b800f5a2d1a5bdfb0b2e31f1ad689f8e8f9cf78153f24142b68172e72afc95 +"yaml@npm:^2.0.0, yaml@npm:^2.7.0": + version: 2.7.0 + resolution: "yaml@npm:2.7.0" + bin: + yaml: bin.mjs + checksum: 10/c8c314c62fbd49244a6a51b06482f6d495b37ab10fa685fcafa1bbaae7841b7233ee7d12cab087bcca5a0b28adc92868b6e437322276430c28d00f1c1732eeec languageName: node linkType: hard -"yargs-parser@npm:^20.2.3, yargs-parser@npm:^20.2.9": +"yargs-parser@npm:^20.2.2": version: 20.2.9 resolution: "yargs-parser@npm:20.2.9" - checksum: 0188f430a0f496551d09df6719a9132a3469e47fe2747208b1dd0ab2bb0c512a95d0b081628bbca5400fb20dbf2fabe63d22badb346cecadffdd948b049f3fcc + checksum: 10/0188f430a0f496551d09df6719a9132a3469e47fe2747208b1dd0ab2bb0c512a95d0b081628bbca5400fb20dbf2fabe63d22badb346cecadffdd948b049f3fcc languageName: node linkType: hard "yargs-parser@npm:^21.1.1": version: 21.1.1 resolution: "yargs-parser@npm:21.1.1" - checksum: 9dc2c217ea3bf8d858041252d43e074f7166b53f3d010a8c711275e09cd3d62a002969a39858b92bbda2a6a63a585c7127014534a560b9c69ed2d923d113406e + checksum: 10/9dc2c217ea3bf8d858041252d43e074f7166b53f3d010a8c711275e09cd3d62a002969a39858b92bbda2a6a63a585c7127014534a560b9c69ed2d923d113406e + languageName: node + linkType: hard + +"yargs@npm:^16.0.0": + version: 16.2.0 + resolution: "yargs@npm:16.2.0" + dependencies: + cliui: "npm:^7.0.2" + escalade: "npm:^3.1.1" + get-caller-file: "npm:^2.0.5" + require-directory: "npm:^2.1.1" + string-width: "npm:^4.2.0" + y18n: "npm:^5.0.5" + yargs-parser: "npm:^20.2.2" + checksum: 10/807fa21211d2117135d557f95fcd3c3d390530cda2eca0c840f1d95f0f40209dcfeb5ec18c785a1f3425896e623e3b2681e8bb7b6600060eda1c3f4804e7957e languageName: node linkType: hard @@ -9185,27 +11810,27 @@ __metadata: string-width: "npm:^4.2.3" y18n: "npm:^5.0.5" yargs-parser: "npm:^21.1.1" - checksum: abb3e37678d6e38ea85485ed86ebe0d1e3464c640d7d9069805ea0da12f69d5a32df8e5625e370f9c96dd1c2dc088ab2d0a4dd32af18222ef3c4224a19471576 - languageName: node - linkType: hard - -"yn@npm:3.1.1": - version: 3.1.1 - resolution: "yn@npm:3.1.1" - checksum: 2c487b0e149e746ef48cda9f8bad10fc83693cd69d7f9dcd8be4214e985de33a29c9e24f3c0d6bcf2288427040a8947406ab27f7af67ee9456e6b84854f02dd6 + checksum: 10/abb3e37678d6e38ea85485ed86ebe0d1e3464c640d7d9069805ea0da12f69d5a32df8e5625e370f9c96dd1c2dc088ab2d0a4dd32af18222ef3c4224a19471576 languageName: node linkType: hard "yocto-queue@npm:^0.1.0": version: 0.1.0 resolution: "yocto-queue@npm:0.1.0" - checksum: f77b3d8d00310def622123df93d4ee654fc6a0096182af8bd60679ddcdfb3474c56c6c7190817c84a2785648cdee9d721c0154eb45698c62176c322fb46fc700 + checksum: 10/f77b3d8d00310def622123df93d4ee654fc6a0096182af8bd60679ddcdfb3474c56c6c7190817c84a2785648cdee9d721c0154eb45698c62176c322fb46fc700 languageName: node linkType: hard "yocto-queue@npm:^1.0.0": version: 1.0.0 resolution: "yocto-queue@npm:1.0.0" - checksum: 2cac84540f65c64ccc1683c267edce396b26b1e931aa429660aefac8fbe0188167b7aee815a3c22fa59a28a58d898d1a2b1825048f834d8d629f4c2a5d443801 + checksum: 10/2cac84540f65c64ccc1683c267edce396b26b1e931aa429660aefac8fbe0188167b7aee815a3c22fa59a28a58d898d1a2b1825048f834d8d629f4c2a5d443801 + languageName: node + linkType: hard + +"zwitch@npm:^2.0.0": + version: 2.0.4 + resolution: "zwitch@npm:2.0.4" + checksum: 10/f22ec5fc2d5f02c423c93d35cdfa83573a3a3bd98c66b927c368ea4d0e7252a500df2a90a6b45522be536a96a73404393c958e945fdba95e6832c200791702b6 languageName: node linkType: hard