From 52bb379b080077408da27be86d740a5e2b95b186 Mon Sep 17 00:00:00 2001 From: Richmond Rice Date: Wed, 22 Apr 2026 17:07:03 +0100 Subject: [PATCH 01/36] update packages and modernise project --- .eslintrc.json | 71 - .github/CODEOWNERS | 1 + .github/dependabot.yml | 23 + .github/workflows/ci.yml | 26 + .github/workflows/codeql.yml | 30 + .github/workflows/release.yml | 29 + .github/workflows/test.js.yaml | 42 - .gitignore | 16 +- ArchiveExemption.md | 1 + CODEOWNERS | 1 - LICENSE | 22 +- README.md | 109 +- babel.config.json | 3 - eslint.config.ts | 73 + jest.config.json | 8 - lib/cjs/blaiseApiClient.d.ts | 76 - lib/cjs/blaiseApiClient.js | 238 - lib/cjs/enums/caseOutcome.d.ts | 41 - lib/cjs/enums/caseOutcome.js | 47 - lib/cjs/enums/editedStatus.d.ts | 7 - lib/cjs/enums/editedStatus.js | 12 - lib/cjs/enums/organisation.d.ts | 6 - lib/cjs/enums/organisation.js | 11 - lib/cjs/functions/caseFunctions.d.ts | 11 - lib/cjs/functions/caseFunctions.js | 106 - lib/cjs/functions/daybatchFunctions.d.ts | 7 - lib/cjs/functions/daybatchFunctions.js | 78 - lib/cjs/functions/diagnosticFunctions.d.ts | 4 - lib/cjs/functions/diagnosticFunctions.js | 48 - lib/cjs/functions/questionnaireFunctions.d.ts | 16 - lib/cjs/functions/questionnaireFunctions.js | 151 - .../questionnaireReportFunctions.d.ts | 4 - .../functions/questionnaireReportFunctions.js | 53 - lib/cjs/functions/userFunctions.d.ts | 11 - lib/cjs/functions/userFunctions.js | 119 - lib/cjs/interfaces/blaiseApi.d.ts | 4 - lib/cjs/interfaces/blaiseApi.js | 2 - lib/cjs/interfaces/blaiseApiConfig.d.ts | 4 - lib/cjs/interfaces/blaiseApiConfig.js | 2 - lib/cjs/interfaces/case.d.ts | 22 - lib/cjs/interfaces/case.js | 2 - lib/cjs/interfaces/daybatch.d.ts | 8 - lib/cjs/interfaces/daybatch.js | 2 - lib/cjs/interfaces/diagnostic.d.ts | 4 - lib/cjs/interfaces/diagnostic.js | 2 - lib/cjs/interfaces/questionnaire.d.ts | 36 - lib/cjs/interfaces/questionnaire.js | 2 - lib/cjs/interfaces/questionnaireReport.d.ts | 6 - lib/cjs/interfaces/questionnaireReport.js | 2 - lib/cjs/interfaces/survey.d.ts | 5 - lib/cjs/interfaces/survey.js | 2 - lib/cjs/interfaces/user.d.ts | 20 - lib/cjs/interfaces/user.js | 2 - lib/cjs/mockObjects/caseMockObjects.d.ts | 4 - lib/cjs/mockObjects/caseMockObjects.js | 65 - lib/cjs/mockObjects/daybatchMockObjects.d.ts | 6 - lib/cjs/mockObjects/daybatchMockObjects.js | 24 - .../mockObjects/diagnosticMockObjects.d.ts | 3 - lib/cjs/mockObjects/diagnosticMockObjects.js | 10 - .../mockObjects/questionnaireMockObjects.d.ts | 6 - .../mockObjects/questionnaireMockObjects.js | 53 - .../questionnaireReportMockObjects.d.ts | 3 - .../questionnaireReportMockObjects.js | 17 - lib/cjs/mockObjects/userMockObjects.d.ts | 3 - lib/cjs/mockObjects/userMockObjects.js | 21 - lib/cjs/types/caseData.d.ts | 1 - lib/cjs/types/caseData.js | 2 - lib/cjs/types/surveyDays.d.ts | 1 - lib/cjs/types/surveyDays.js | 2 - lib/esm/blaiseApiClient.d.ts | 76 - lib/esm/blaiseApiClient.js | 207 - lib/esm/enums/caseOutcome.d.ts | 41 - lib/esm/enums/caseOutcome.js | 44 - lib/esm/enums/editedStatus.d.ts | 7 - lib/esm/enums/editedStatus.js | 9 - lib/esm/enums/organisation.d.ts | 6 - lib/esm/enums/organisation.js | 8 - lib/esm/functions/caseFunctions.d.ts | 11 - lib/esm/functions/caseFunctions.js | 95 - lib/esm/functions/daybatchFunctions.d.ts | 7 - lib/esm/functions/daybatchFunctions.js | 71 - lib/esm/functions/diagnosticFunctions.d.ts | 4 - lib/esm/functions/diagnosticFunctions.js | 44 - lib/esm/functions/questionnaireFunctions.d.ts | 16 - lib/esm/functions/questionnaireFunctions.js | 134 - .../questionnaireReportFunctions.d.ts | 4 - .../functions/questionnaireReportFunctions.js | 49 - lib/esm/functions/userFunctions.d.ts | 11 - lib/esm/functions/userFunctions.js | 107 - lib/esm/interfaces/blaiseApi.d.ts | 4 - lib/esm/interfaces/blaiseApi.js | 1 - lib/esm/interfaces/blaiseApiConfig.d.ts | 4 - lib/esm/interfaces/blaiseApiConfig.js | 1 - lib/esm/interfaces/case.d.ts | 22 - lib/esm/interfaces/case.js | 1 - lib/esm/interfaces/daybatch.d.ts | 8 - lib/esm/interfaces/daybatch.js | 1 - lib/esm/interfaces/diagnostic.d.ts | 4 - lib/esm/interfaces/diagnostic.js | 1 - lib/esm/interfaces/questionnaire.d.ts | 36 - lib/esm/interfaces/questionnaire.js | 1 - lib/esm/interfaces/questionnaireReport.d.ts | 6 - lib/esm/interfaces/questionnaireReport.js | 1 - lib/esm/interfaces/survey.d.ts | 5 - lib/esm/interfaces/survey.js | 1 - lib/esm/interfaces/user.d.ts | 20 - lib/esm/interfaces/user.js | 1 - lib/esm/mockObjects/caseMockObjects.d.ts | 4 - lib/esm/mockObjects/caseMockObjects.js | 62 - lib/esm/mockObjects/daybatchMockObjects.d.ts | 6 - lib/esm/mockObjects/daybatchMockObjects.js | 21 - .../mockObjects/diagnosticMockObjects.d.ts | 3 - lib/esm/mockObjects/diagnosticMockObjects.js | 7 - .../mockObjects/questionnaireMockObjects.d.ts | 6 - .../mockObjects/questionnaireMockObjects.js | 50 - .../questionnaireReportMockObjects.d.ts | 3 - .../questionnaireReportMockObjects.js | 15 - lib/esm/mockObjects/userMockObjects.d.ts | 3 - lib/esm/mockObjects/userMockObjects.js | 18 - lib/esm/types/caseData.d.ts | 1 - lib/esm/types/caseData.js | 1 - lib/esm/types/surveyDays.d.ts | 1 - lib/esm/types/surveyDays.js | 1 - package.json | 79 +- src/blaiseApiClient.ts | 135 +- src/enums/caseOutcome.ts | 86 +- src/enums/editedStatus.ts | 17 +- src/enums/organisation.ts | 15 +- src/enums/userRole.ts | 10 + src/functions/caseFunctions.test.ts | 185 +- src/functions/caseFunctions.ts | 86 +- src/functions/daybatchFunctions.test.ts | 96 +- src/functions/daybatchFunctions.ts | 60 +- src/functions/diagnosticFunctions.test.ts | 29 +- src/functions/diagnosticFunctions.ts | 6 +- src/functions/questionnaireFunctions.test.ts | 380 +- src/functions/questionnaireFunctions.ts | 141 +- .../questionnaireReportFunctions.test.ts | 57 +- src/functions/questionnaireReportFunctions.ts | 20 +- src/functions/userFunctions.test.ts | 217 +- src/functions/userFunctions.ts | 50 +- src/interfaces/blaiseApi.ts | 6 +- src/interfaces/blaiseApiConfig.ts | 6 +- src/interfaces/case.ts | 32 +- src/interfaces/daybatch.ts | 8 +- src/interfaces/diagnostic.ts | 4 +- src/interfaces/questionnaire.ts | 52 +- src/interfaces/questionnaireReport.ts | 11 +- src/interfaces/survey.ts | 6 +- src/interfaces/user.ts | 28 +- src/mockObjects/caseMockObjects.ts | 113 +- src/mockObjects/daybatchMockObjects.ts | 26 +- src/mockObjects/diagnosticMockObjects.ts | 12 +- src/mockObjects/questionnaireMockObjects.ts | 101 +- .../questionnaireReportMockObjects.ts | 15 +- src/mockObjects/userMockObjects.ts | 31 +- src/types/caseData.ts | 11 +- src/types/surveyDays.ts | 1 - tsconfig.build.json | 9 + tsconfig.json | 37 +- tsconfig.test.json | 19 - vitest.config.ts | 13 + yarn.lock | 5657 ++++++----------- 163 files changed, 3236 insertions(+), 7751 deletions(-) delete mode 100644 .eslintrc.json create mode 100644 .github/CODEOWNERS create mode 100644 .github/dependabot.yml create mode 100644 .github/workflows/ci.yml create mode 100644 .github/workflows/codeql.yml create mode 100644 .github/workflows/release.yml delete mode 100644 .github/workflows/test.js.yaml create mode 100644 ArchiveExemption.md delete mode 100644 CODEOWNERS delete mode 100644 babel.config.json create mode 100644 eslint.config.ts delete mode 100644 jest.config.json delete mode 100644 lib/cjs/blaiseApiClient.d.ts delete mode 100644 lib/cjs/blaiseApiClient.js delete mode 100644 lib/cjs/enums/caseOutcome.d.ts delete mode 100644 lib/cjs/enums/caseOutcome.js delete mode 100644 lib/cjs/enums/editedStatus.d.ts delete mode 100644 lib/cjs/enums/editedStatus.js delete mode 100644 lib/cjs/enums/organisation.d.ts delete mode 100644 lib/cjs/enums/organisation.js delete mode 100644 lib/cjs/functions/caseFunctions.d.ts delete mode 100644 lib/cjs/functions/caseFunctions.js delete mode 100644 lib/cjs/functions/daybatchFunctions.d.ts delete mode 100644 lib/cjs/functions/daybatchFunctions.js delete mode 100644 lib/cjs/functions/diagnosticFunctions.d.ts delete mode 100644 lib/cjs/functions/diagnosticFunctions.js delete mode 100644 lib/cjs/functions/questionnaireFunctions.d.ts delete mode 100644 lib/cjs/functions/questionnaireFunctions.js delete mode 100644 lib/cjs/functions/questionnaireReportFunctions.d.ts delete mode 100644 lib/cjs/functions/questionnaireReportFunctions.js delete mode 100644 lib/cjs/functions/userFunctions.d.ts delete mode 100644 lib/cjs/functions/userFunctions.js delete mode 100644 lib/cjs/interfaces/blaiseApi.d.ts delete mode 100644 lib/cjs/interfaces/blaiseApi.js delete mode 100644 lib/cjs/interfaces/blaiseApiConfig.d.ts delete mode 100644 lib/cjs/interfaces/blaiseApiConfig.js delete mode 100644 lib/cjs/interfaces/case.d.ts delete mode 100644 lib/cjs/interfaces/case.js delete mode 100644 lib/cjs/interfaces/daybatch.d.ts delete mode 100644 lib/cjs/interfaces/daybatch.js delete mode 100644 lib/cjs/interfaces/diagnostic.d.ts delete mode 100644 lib/cjs/interfaces/diagnostic.js delete mode 100644 lib/cjs/interfaces/questionnaire.d.ts delete mode 100644 lib/cjs/interfaces/questionnaire.js delete mode 100644 lib/cjs/interfaces/questionnaireReport.d.ts delete mode 100644 lib/cjs/interfaces/questionnaireReport.js delete mode 100644 lib/cjs/interfaces/survey.d.ts delete mode 100644 lib/cjs/interfaces/survey.js delete mode 100644 lib/cjs/interfaces/user.d.ts delete mode 100644 lib/cjs/interfaces/user.js delete mode 100644 lib/cjs/mockObjects/caseMockObjects.d.ts delete mode 100644 lib/cjs/mockObjects/caseMockObjects.js delete mode 100644 lib/cjs/mockObjects/daybatchMockObjects.d.ts delete mode 100644 lib/cjs/mockObjects/daybatchMockObjects.js delete mode 100644 lib/cjs/mockObjects/diagnosticMockObjects.d.ts delete mode 100644 lib/cjs/mockObjects/diagnosticMockObjects.js delete mode 100644 lib/cjs/mockObjects/questionnaireMockObjects.d.ts delete mode 100644 lib/cjs/mockObjects/questionnaireMockObjects.js delete mode 100644 lib/cjs/mockObjects/questionnaireReportMockObjects.d.ts delete mode 100644 lib/cjs/mockObjects/questionnaireReportMockObjects.js delete mode 100644 lib/cjs/mockObjects/userMockObjects.d.ts delete mode 100644 lib/cjs/mockObjects/userMockObjects.js delete mode 100644 lib/cjs/types/caseData.d.ts delete mode 100644 lib/cjs/types/caseData.js delete mode 100644 lib/cjs/types/surveyDays.d.ts delete mode 100644 lib/cjs/types/surveyDays.js delete mode 100644 lib/esm/blaiseApiClient.d.ts delete mode 100644 lib/esm/blaiseApiClient.js delete mode 100644 lib/esm/enums/caseOutcome.d.ts delete mode 100644 lib/esm/enums/caseOutcome.js delete mode 100644 lib/esm/enums/editedStatus.d.ts delete mode 100644 lib/esm/enums/editedStatus.js delete mode 100644 lib/esm/enums/organisation.d.ts delete mode 100644 lib/esm/enums/organisation.js delete mode 100644 lib/esm/functions/caseFunctions.d.ts delete mode 100644 lib/esm/functions/caseFunctions.js delete mode 100644 lib/esm/functions/daybatchFunctions.d.ts delete mode 100644 lib/esm/functions/daybatchFunctions.js delete mode 100644 lib/esm/functions/diagnosticFunctions.d.ts delete mode 100644 lib/esm/functions/diagnosticFunctions.js delete mode 100644 lib/esm/functions/questionnaireFunctions.d.ts delete mode 100644 lib/esm/functions/questionnaireFunctions.js delete mode 100644 lib/esm/functions/questionnaireReportFunctions.d.ts delete mode 100644 lib/esm/functions/questionnaireReportFunctions.js delete mode 100644 lib/esm/functions/userFunctions.d.ts delete mode 100644 lib/esm/functions/userFunctions.js delete mode 100644 lib/esm/interfaces/blaiseApi.d.ts delete mode 100644 lib/esm/interfaces/blaiseApi.js delete mode 100644 lib/esm/interfaces/blaiseApiConfig.d.ts delete mode 100644 lib/esm/interfaces/blaiseApiConfig.js delete mode 100644 lib/esm/interfaces/case.d.ts delete mode 100644 lib/esm/interfaces/case.js delete mode 100644 lib/esm/interfaces/daybatch.d.ts delete mode 100644 lib/esm/interfaces/daybatch.js delete mode 100644 lib/esm/interfaces/diagnostic.d.ts delete mode 100644 lib/esm/interfaces/diagnostic.js delete mode 100644 lib/esm/interfaces/questionnaire.d.ts delete mode 100644 lib/esm/interfaces/questionnaire.js delete mode 100644 lib/esm/interfaces/questionnaireReport.d.ts delete mode 100644 lib/esm/interfaces/questionnaireReport.js delete mode 100644 lib/esm/interfaces/survey.d.ts delete mode 100644 lib/esm/interfaces/survey.js delete mode 100644 lib/esm/interfaces/user.d.ts delete mode 100644 lib/esm/interfaces/user.js delete mode 100644 lib/esm/mockObjects/caseMockObjects.d.ts delete mode 100644 lib/esm/mockObjects/caseMockObjects.js delete mode 100644 lib/esm/mockObjects/daybatchMockObjects.d.ts delete mode 100644 lib/esm/mockObjects/daybatchMockObjects.js delete mode 100644 lib/esm/mockObjects/diagnosticMockObjects.d.ts delete mode 100644 lib/esm/mockObjects/diagnosticMockObjects.js delete mode 100644 lib/esm/mockObjects/questionnaireMockObjects.d.ts delete mode 100644 lib/esm/mockObjects/questionnaireMockObjects.js delete mode 100644 lib/esm/mockObjects/questionnaireReportMockObjects.d.ts delete mode 100644 lib/esm/mockObjects/questionnaireReportMockObjects.js delete mode 100644 lib/esm/mockObjects/userMockObjects.d.ts delete mode 100644 lib/esm/mockObjects/userMockObjects.js delete mode 100644 lib/esm/types/caseData.d.ts delete mode 100644 lib/esm/types/caseData.js delete mode 100644 lib/esm/types/surveyDays.d.ts delete mode 100644 lib/esm/types/surveyDays.js create mode 100644 src/enums/userRole.ts delete mode 100644 src/types/surveyDays.ts create mode 100644 tsconfig.build.json delete mode 100644 tsconfig.test.json create mode 100644 vitest.config.ts diff --git a/.eslintrc.json b/.eslintrc.json deleted file mode 100644 index 999c8db..0000000 --- a/.eslintrc.json +++ /dev/null @@ -1,71 +0,0 @@ -{ - "env": { - "browser": true, - "es2021": true - }, - "extends": [ - "airbnb-base", - "plugin:@typescript-eslint/recommended", - "plugin:@typescript-eslint/recommended-requiring-type-checking" - ], - "parser": "@typescript-eslint/parser", - "parserOptions": { - "project": ["./tsconfig.json"], - "ecmaVersion": "latest", - "sourceType": "module" - }, - "plugins": [ - "@typescript-eslint" - ], - "settings": { - "import/resolver": { - "node": { - "extensions": [".js", ".ts"] - } - } - }, - "ignorePatterns": ["dist/*", ".eslintrc.js", "jest.config.js", "coverage/*", "node_modules/*", "build/*", "lib/*"], - "rules": { - "import/extensions": [ - "error", - "ignorePackages", - { - "js": "never", - "jsx": "never", - "ts": "never", - "tsx": "never" - } - ], - "max-len": ["error", { "code": 175 }], - "linebreak-style": [ - "error", - "unix" - ], - "no-undef": "off" - }, - "overrides": [ - { - "files": [ - "**/*.test.ts", - "**/*.test.tsx" - ], - "env": { - "jest": true - }, - "rules": { - "import/no-extraneous-dependencies": ["error", { "devDependencies": true }] - }, - "parserOptions": { - "project": "tsconfig.test.json" - } - }, - { - "files": [ - "*.js" - ], - "rules": { - "@typescript-eslint/no-var-requires": "off" - } - } - ] -} \ No newline at end of file diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS new file mode 100644 index 0000000..0a0b149 --- /dev/null +++ b/.github/CODEOWNERS @@ -0,0 +1 @@ +* @ONSdigital/blaise5 diff --git a/.github/dependabot.yml b/.github/dependabot.yml new file mode 100644 index 0000000..60beeb2 --- /dev/null +++ b/.github/dependabot.yml @@ -0,0 +1,23 @@ +--- +version: 2 +updates: + - package-ecosystem: "npm" + directory: "/" + schedule: + interval: "weekly" + day: "monday" + time: "06:00" + timezone: "Europe/London" + labels: + - "dependencies" + - "javascript" + - package-ecosystem: "github-actions" + directory: "/" + schedule: + interval: "weekly" + day: "monday" + time: "06:00" + timezone: "Europe/London" + labels: + - "dependencies" + - "github-actions" diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml new file mode 100644 index 0000000..51a37ab --- /dev/null +++ b/.github/workflows/ci.yml @@ -0,0 +1,26 @@ +--- +name: โœ… Run CI Validation +permissions: + contents: read +on: + pull_request: + branches: [main] + push: + branches: [main] +jobs: + run-ci-validation: + runs-on: ubuntu-latest + steps: + - name: ๐Ÿ›Ž๏ธ Checkout Repository + uses: actions/checkout@v6 + - name: ๐Ÿ”ง Setup Node and Cache + uses: actions/setup-node@v6 + with: + node-version: 24.x + cache: yarn + - name: ๐Ÿ“ฆ Install Dependencies + run: yarn install --frozen-lockfile + - name: ๐Ÿงน Run Linter + run: yarn lint + - name: ๐Ÿงช Run Tests and Generate Coverage + run: yarn test diff --git a/.github/workflows/codeql.yml b/.github/workflows/codeql.yml new file mode 100644 index 0000000..cac28cc --- /dev/null +++ b/.github/workflows/codeql.yml @@ -0,0 +1,30 @@ +--- +name: โœ… Run CodeQL Analyser +on: + push: + branches: ["main"] + pull_request: + branches: ["main"] + schedule: + - cron: "0 6 * * 1" +permissions: + contents: read + security-events: write + actions: read +jobs: + run-codeql-analyser: + runs-on: ubuntu-latest + steps: + - name: ๐Ÿ›Ž๏ธ Checkout Repository + uses: actions/checkout@v6 + - name: ๐Ÿ—๏ธ Initialise CodeQL + uses: github/codeql-action/init@v4 + with: + languages: javascript-typescript + queries: security-and-quality + - name: ๐Ÿ“ฆ Autobuild + uses: github/codeql-action/autobuild@v4 + - name: ๐Ÿงช Run CodeQL Analyser + uses: github/codeql-action/analyze@v4 + with: + category: "/language:javascript-typescript" diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml new file mode 100644 index 0000000..31aee1f --- /dev/null +++ b/.github/workflows/release.yml @@ -0,0 +1,29 @@ +--- +name: ๐Ÿ”„ Sync Version +permissions: + contents: write +on: + release: + types: [published] +jobs: + sync-version: + runs-on: ubuntu-latest + steps: + - name: ๐Ÿ›Ž๏ธ Checkout Repository + uses: actions/checkout@v6 + with: + ref: ${{ github.event.release.target_commitish }} + - name: Setup Node ๐Ÿ”ง + uses: actions/setup-node@v6 + with: + node-version: 24.x + - name: ๐Ÿ“ Update package.json Version + run: | + CLEAN_VERSION=$(echo "${{ github.event.release.tag_name }}" | sed 's/^v//') + yarn version --new-version $CLEAN_VERSION --no-git-tag-version + echo "NEW_VERSION=$CLEAN_VERSION" >> $GITHUB_ENV + - name: ๐Ÿš€ Commit and Push Changes + uses: stefanzweifel/git-auto-commit-action@v7 + with: + commit_message: "chore: bump version to ${{ env.NEW_VERSION }}" + file_pattern: "package.json" diff --git a/.github/workflows/test.js.yaml b/.github/workflows/test.js.yaml deleted file mode 100644 index c95424e..0000000 --- a/.github/workflows/test.js.yaml +++ /dev/null @@ -1,42 +0,0 @@ -name: Test report - -on: - pull_request: - branches: [ main ] - push: - branches: [ main ] - -jobs: - test: - permissions: - contents: read - pull-requests: write - runs-on: ubuntu-latest - strategy: - matrix: - node-version: [ 22.12.0 ] - steps: - - uses: actions/checkout@v2 - - name: Use Node.js ${{ matrix.node-version }} - uses: actions/setup-node@v1 - with: - node-version: ${{ matrix.node-version }} - - run: yarn install - - run: yarn run test --silent --runInBand - - lint: - permissions: - contents: read - pull-requests: write - runs-on: ubuntu-latest - strategy: - matrix: - node-version: [ 22.12.0 ] - steps: - - uses: actions/checkout@v2 - - name: Use Node.js ${{ matrix.node-version }} - uses: actions/setup-node@v1 - with: - node-version: ${{ matrix.node-version }} - - run: yarn install - - run: yarn run lint \ No newline at end of file diff --git a/.gitignore b/.gitignore index 879c118..1d4310a 100644 --- a/.gitignore +++ b/.gitignore @@ -1,9 +1,7 @@ -/.idea/ -/node_modules/ -.DS_Store -.env -/build/ -/dist/ -/coverage/ -/yarn-error.log -/.eslintcache \ No newline at end of file +.idea/ +.vscode/ +coverage/ +dist/ +docs-build/ +node_modules/ +*.log diff --git a/ArchiveExemption.md b/ArchiveExemption.md new file mode 100644 index 0000000..684b2f8 --- /dev/null +++ b/ArchiveExemption.md @@ -0,0 +1 @@ +This is an active repository supporting the Blaise 5 architecture. diff --git a/CODEOWNERS b/CODEOWNERS deleted file mode 100644 index e2f886b..0000000 --- a/CODEOWNERS +++ /dev/null @@ -1 +0,0 @@ -* @ONSdigital/blaise5 \ No newline at end of file diff --git a/LICENSE b/LICENSE index 1da6077..09fe244 100644 --- a/LICENSE +++ b/LICENSE @@ -1,21 +1,9 @@ -MIT License +The MIT License (MIT) -Copyright (c) 2021 ONS Digital +Copyright (c) 2021 - 2026 Crown Copyright (Office for National Statistics) -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: +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 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. +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. diff --git a/README.md b/README.md index 1f0b5c2..884b188 100644 --- a/README.md +++ b/README.md @@ -1,86 +1,101 @@ -# Blaise REST Api node client +# Blaise REST API Node Client -This library facilitates calling the Blaise REST Api and supports ESM and Common JS. To use -the library you need to do the following: +A robust, type-safe Node.js client for interacting with our Blaise REST API. Designed for high-reliability service-to-service communication, this library provides immutable data contracts and standardised interaction patterns for Blaise resources. -### Creating new endpoints +## ๐Ÿ“ Usage -Add new endpoints and tests as required. +Add this repository to your project as a dependency: -Run tests: -``` -yarn test +```shell +yarn add git+https://github.com/ONSdigital/blaise-api-node-client# ``` -Build package: -``` -yarn build -``` +Release versions can be found on this repo's [GitHub releases](https://github.com/ONSdigital/blaise-api-node-client/releases). -Git add, commit and push ensuring you've added the build files. +### Implementation Example -### Consuming +The client is designed for dependency injection. It exposes strongly-typed methods and interfaces, ensuring that data structures returned by the API are consistent and immutable. -Add a dependency to your package.json file: -``` -"blaise-api-node-client": "ONSdigital/blaise-api-node-client" -``` +```typescript +import BlaiseApiClient from "blaise-api-node-client"; +// Initialise the client with the Base URL of your Blaise REST API +const BLAISE_API_URL = process.env.BLAISE_API_URL || ""; +const TIMEOUT_MS = 1000; -Add an import statement where you wish to consume the client and interfaces: -``` -import BlaiseApiRest, { Questionnaire } from "blaise-api-node-client"; -``` +// The client accepts an optional timeout in milliseconds +const blaiseApiClient = new BlaiseApiClient(`http://${BLAISE_API_URL}`, TIMEOUT_MS); -Declare and consume the client by passing the URL of the rest api: -``` -const blaiseApiClient = new BlaiseApiClient(`http://${BLAISE_API_URL}`); +export async function fetchQuestionnaires() { + try { + // Methods are strongly typed, returning immutable interfaces + const questionnaires = await blaiseApiClient.getQuestionnaires("gusty"); + return questionnaires; + } catch (error) { + console.error("Failed to fetch questionnaires", error); + throw error; + } +} ``` -Declare timeout for the HTTP client: -``` -The client accpets a timeout in milliseconds (timeoutInMs) number parameter if you wish to explicitly set -a timeout for the client. If this parameter is not passed then the default is used. +### Type-Safe Mocks + +To support local testing and ensure your mock data stays in sync with production contracts, the library exports validated mock objects. These are defined using readonly modifiers to prevent state pollution between tests. -To specify a timeout you need to instantiate the client as follows, where 1000 is the -timeout required: +```typescript +import { QuestionnaireListMockObject } from "blaise-api-node-client"; -const blaiseApiClient = new BlaiseApiClient(`http://${BLAISE_API_URL}`, 1000); +console.log(QuestionnaireListMockObject[0].name); ``` -### Mock objects +## ๐Ÿ› ๏ธ Development + +### Getting Started -Mock objects are available for use in tests +Clone the repository: +```shell +git clone https://github.com/ONSdigital/blaise-api-node-client.git ``` -const {DiagnosticMockObject, QuestionnaireListMockObject, QuestionnaireMockObject} = jest.requireActual("blaise-api-node-client"); + +Install dependencies: + +```shell +yarn install ``` -### Local testing +### Architectural Principles -Install the dependencies +This library follows strict clean-code principles: -``` -yarn -``` +* **Immutability**: Interfaces and mock responses utilise `readonly` modifiers to enforce data integrity. -Tests can be run via the following package.json script +* **Strict Typing**: Union types and strict mapping are used for dynamic values (e.g., `UserRole` and `CaseOutcome`), providing IDE autocomplete and compile-time safety. -``` +* **Decoupled Logic**: Domain interfaces are kept in `interfaces/`, while foundational data structures reside in `types/` to prevent unnecessary coupling. + +### Quality Control + +Ensure any changes to token management or caching logic are covered by unit tests. + +To run tests: + +```Shell yarn test ``` -Linting can be assessed with... +To run linting: -``` +```Shell yarn lint ``` -...and subsequent fixes can be applied with +To automatically fix standard linting issues: -``` +```Shell yarn lint-fix ``` +### Releasing - +After merging to main, [create a new release](https://docs.github.com/en/repositories/releasing-projects-on-github/managing-releases-in-a-repository) with appropriate release notes. The `package.json` version is automatically updated via GitHub Actions when a release is published. diff --git a/babel.config.json b/babel.config.json deleted file mode 100644 index ff3059c..0000000 --- a/babel.config.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "presets": ["@babel/preset-env"] -} \ No newline at end of file diff --git a/eslint.config.ts b/eslint.config.ts new file mode 100644 index 0000000..d8666ff --- /dev/null +++ b/eslint.config.ts @@ -0,0 +1,73 @@ +import js from "@eslint/js"; +import globals from "globals"; +import tseslint from "typescript-eslint"; +import pluginImport from "eslint-plugin-import"; +import pluginPrettier from "eslint-plugin-prettier"; +import configPrettier from "eslint-config-prettier"; + +export default tseslint.config( + { ignores: ["coverage/**", "dist/**", "node_modules/**"] }, + + js.configs.recommended, + ...tseslint.configs.recommended, + + { + languageOptions: { + ecmaVersion: "latest", + globals: { ...globals.node }, + }, + settings: { + "import/resolver": { + typescript: { project: ["./tsconfig.json"] }, + }, + }, + }, + + { + files: ["src/**/*.ts", "mocks/**/*.ts"], + plugins: { + import: pluginImport, + prettier: pluginPrettier, + }, + rules: { + "no-trailing-spaces": "error", + "eol-last": ["error", "always"], + "no-multiple-empty-lines": ["error", { max: 1, maxEOF: 0, maxBOF: 0 }], + "padding-line-between-statements": [ + "error", + { blankLine: "always", prev: "*", next: "return" }, + { blankLine: "always", prev: "import", next: "*" }, + { blankLine: "any", prev: "import", next: "import" }, + { blankLine: "always", prev: ["const", "let", "var"], next: "*" }, + { blankLine: "any", prev: ["const", "let", "var"], next: ["const", "let", "var"] }, + { blankLine: "always", prev: "*", next: ["class", "function", "export"] }, + ], + "prettier/prettier": [ + "error", + { + singleQuote: false, + semi: true, + tabWidth: 2, + useTabs: false, + trailingComma: "all", + printWidth: 100, + bracketSpacing: true, + arrowParens: "always", + singleAttributePerLine: true, + endOfLine: "lf", + }, + ], + "@typescript-eslint/no-explicit-any": "warn", + "@typescript-eslint/no-unused-vars": ["error", { argsIgnorePattern: "^_" }], + "no-unused-vars": "off", + "no-constant-condition": "error", + "no-unreachable": "error", + "import/no-extraneous-dependencies": [ + "error", + { devDependencies: ["src/**/*.test.ts", "src/**/*.spec.ts", "mocks/**"] }, + ], + }, + }, + + configPrettier, +); diff --git a/jest.config.json b/jest.config.json deleted file mode 100644 index 1dd62ca..0000000 --- a/jest.config.json +++ /dev/null @@ -1,8 +0,0 @@ - { - "preset": "ts-jest", - "transform": { - "^.+\\.(ts|tsx)?$": "ts-jest", - "^.+\\.(js|jsx)$": "babel-jest" - }, - "modulePathIgnorePatterns": ["node_modules", "lib"] -} diff --git a/lib/cjs/blaiseApiClient.d.ts b/lib/cjs/blaiseApiClient.d.ts deleted file mode 100644 index 3be8283..0000000 --- a/lib/cjs/blaiseApiClient.d.ts +++ /dev/null @@ -1,76 +0,0 @@ -import { AxiosInstance } from 'axios'; -import BlaiseIapNodeProvider from 'blaise-iap-node-provider'; -import { BlaiseApiConfig } from './interfaces/blaiseApiConfig'; -import { BlaiseApi } from './interfaces/blaiseApi'; -import * as users from './functions/userFunctions'; -import * as questionnaires from './functions/questionnaireFunctions'; -import * as cases from './functions/caseFunctions'; -import * as diagnostics from './functions/diagnosticFunctions'; -import * as daybatch from './functions/daybatchFunctions'; -import * as reports from './functions/questionnaireReportFunctions'; -declare class BlaiseApiClient implements BlaiseApi { - blaiseApiUrl: string; - blaiseIapProvider?: BlaiseIapNodeProvider; - httpClient: AxiosInstance; - constructor(blaiseApiUrl: string, config?: BlaiseApiConfig); - getUser: typeof users.getUser; - getUsers: typeof users.getUsers; - validatePassword: typeof users.validatePassword; - createUser: typeof users.createUser; - deleteUser: typeof users.deleteUser; - getUserRoles: typeof users.getUserRoles; - changePassword: typeof users.changePassword; - changeUserRole: typeof users.changeUserRole; - changeUserServerParks: typeof users.changeUserServerParks; - getAllQuestionnairesWithCatiData: typeof questionnaires.getAllQuestionnairesWithCatiData; - getQuestionnairesWithCatiData: typeof questionnaires.getQuestionnairesWithCatiData; - getQuestionnaireWithCatiData: typeof questionnaires.getQuestionnaireWithCatiData; - getQuestionnaires: typeof questionnaires.getQuestionnaires; - questionnaireExists: typeof questionnaires.questionnaireExists; - doesQuestionnaireHaveMode: typeof questionnaires.doesQuestionnaireHaveMode; - getQuestionnaire: typeof questionnaires.getQuestionnaire; - installQuestionnaire: typeof questionnaires.installQuestionnaire; - deleteQuestionnaire: typeof questionnaires.deleteQuestionnaire; - getQuestionnaireCaseIds: typeof questionnaires.getQuestionnaireCaseIds; - getQuestionnaireModes: typeof questionnaires.getQuestionnaireModes; - getQuestionnaireSettings: typeof questionnaires.getQuestionnaireSettings; - activateQuestionnaire: typeof questionnaires.activateQuestionnaire; - deactivateQuestionnaire: typeof questionnaires.deactivateQuestionnaire; - getDaybatch: typeof daybatch.getDaybatch; - addDaybatch: typeof daybatch.addDaybatch; - getSurveyDays: typeof daybatch.getSurveyDays; - addSurveyDays: typeof daybatch.addSurveyDays; - getCase: typeof cases.getCase; - getCaseMultikey: typeof cases.getCaseMultikey; - addCase: typeof cases.addCase; - updateCase: typeof cases.updateCase; - addCaseMultikey: typeof cases.addCaseMultikey; - getMultikeyQueryString: typeof cases.getMultikeyQueryString; - getCaseStatus: typeof cases.getCaseStatus; - getCaseEditInformation: typeof cases.getCaseEditInformation; - getDiagnostics: typeof diagnostics.getDiagnostics; - getQuestionnaireReportData: typeof reports.getQuestionnaireReportData; - private url; - protected get(url: string): Promise; - protected post(url: string, data: any): Promise; - protected delete(url: string): Promise; - protected patch(url: string, data?: any | undefined): Promise; - private axiosConfig; -} -export default BlaiseApiClient; -export * from './interfaces/questionnaire'; -export * from './interfaces/diagnostic'; -export * from './interfaces/case'; -export * from './interfaces/user'; -export * from './interfaces/daybatch'; -export * from './interfaces/questionnaireReport'; -export * from './enums/caseOutcome'; -export * from './enums/editedStatus'; -export * from './types/caseData'; -export * from './types/surveyDays'; -export * from './mockObjects/caseMockObjects'; -export * from './mockObjects/diagnosticMockObjects'; -export * from './mockObjects/questionnaireMockObjects'; -export * from './mockObjects/userMockObjects'; -export * from './mockObjects/daybatchMockObjects'; -export * from './mockObjects/questionnaireReportMockObjects'; diff --git a/lib/cjs/blaiseApiClient.js b/lib/cjs/blaiseApiClient.js deleted file mode 100644 index 5c10c21..0000000 --- a/lib/cjs/blaiseApiClient.js +++ /dev/null @@ -1,238 +0,0 @@ -"use strict"; -var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { - if (k2 === undefined) k2 = k; - var desc = Object.getOwnPropertyDescriptor(m, k); - if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { - desc = { enumerable: true, get: function() { return m[k]; } }; - } - Object.defineProperty(o, k2, desc); -}) : (function(o, m, k, k2) { - if (k2 === undefined) k2 = k; - o[k2] = m[k]; -})); -var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { - Object.defineProperty(o, "default", { enumerable: true, value: v }); -}) : function(o, v) { - o["default"] = v; -}); -var __importStar = (this && this.__importStar) || function (mod) { - if (mod && mod.__esModule) return mod; - var result = {}; - if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); - __setModuleDefault(result, mod); - return result; -}; -var __exportStar = (this && this.__exportStar) || function(m, exports) { - for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p); -}; -var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { - function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } - return new (P || (P = Promise))(function (resolve, reject) { - function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } - function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } - function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } - step((generator = generator.apply(thisArg, _arguments || [])).next()); - }); -}; -var __generator = (this && this.__generator) || function (thisArg, body) { - var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g; - return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g; - function verb(n) { return function (v) { return step([n, v]); }; } - function step(op) { - if (f) throw new TypeError("Generator is already executing."); - while (g && (g = 0, op[0] && (_ = 0)), _) try { - if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t; - if (y = 0, t) op = [op[0] & 2, t.value]; - switch (op[0]) { - case 0: case 1: t = op; break; - case 4: _.label++; return { value: op[1], done: false }; - case 5: _.label++; y = op[1]; op = [0]; continue; - case 7: op = _.ops.pop(); _.trys.pop(); continue; - default: - if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; } - if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; } - if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; } - if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; } - if (t[2]) _.ops.pop(); - _.trys.pop(); continue; - } - op = body.call(thisArg, _); - } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; } - if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true }; - } -}; -var __importDefault = (this && this.__importDefault) || function (mod) { - return (mod && mod.__esModule) ? mod : { "default": mod }; -}; -Object.defineProperty(exports, "__esModule", { value: true }); -var axios_1 = __importDefault(require("axios")); -var blaise_iap_node_provider_1 = __importDefault(require("blaise-iap-node-provider")); -var users = __importStar(require("./functions/userFunctions")); -var questionnaires = __importStar(require("./functions/questionnaireFunctions")); -var cases = __importStar(require("./functions/caseFunctions")); -var diagnostics = __importStar(require("./functions/diagnosticFunctions")); -var daybatch = __importStar(require("./functions/daybatchFunctions")); -var reports = __importStar(require("./functions/questionnaireReportFunctions")); -var BlaiseApiClient = /** @class */ (function () { - function BlaiseApiClient(blaiseApiUrl, config) { - this.getUser = users.getUser; - this.getUsers = users.getUsers; - this.validatePassword = users.validatePassword; - this.createUser = users.createUser; - this.deleteUser = users.deleteUser; - this.getUserRoles = users.getUserRoles; - this.changePassword = users.changePassword; - this.changeUserRole = users.changeUserRole; - this.changeUserServerParks = users.changeUserServerParks; - this.getAllQuestionnairesWithCatiData = questionnaires.getAllQuestionnairesWithCatiData; - this.getQuestionnairesWithCatiData = questionnaires.getQuestionnairesWithCatiData; - this.getQuestionnaireWithCatiData = questionnaires.getQuestionnaireWithCatiData; - this.getQuestionnaires = questionnaires.getQuestionnaires; - this.questionnaireExists = questionnaires.questionnaireExists; - this.doesQuestionnaireHaveMode = questionnaires.doesQuestionnaireHaveMode; - this.getQuestionnaire = questionnaires.getQuestionnaire; - this.installQuestionnaire = questionnaires.installQuestionnaire; - this.deleteQuestionnaire = questionnaires.deleteQuestionnaire; - this.getQuestionnaireCaseIds = questionnaires.getQuestionnaireCaseIds; - this.getQuestionnaireModes = questionnaires.getQuestionnaireModes; - this.getQuestionnaireSettings = questionnaires.getQuestionnaireSettings; - this.activateQuestionnaire = questionnaires.activateQuestionnaire; - this.deactivateQuestionnaire = questionnaires.deactivateQuestionnaire; - this.getDaybatch = daybatch.getDaybatch; - this.addDaybatch = daybatch.addDaybatch; - this.getSurveyDays = daybatch.getSurveyDays; - this.addSurveyDays = daybatch.addSurveyDays; - this.getCase = cases.getCase; - this.getCaseMultikey = cases.getCaseMultikey; - this.addCase = cases.addCase; - this.updateCase = cases.updateCase; - this.addCaseMultikey = cases.addCaseMultikey; - this.getMultikeyQueryString = cases.getMultikeyQueryString; - this.getCaseStatus = cases.getCaseStatus; - this.getCaseEditInformation = cases.getCaseEditInformation; - this.getDiagnostics = diagnostics.getDiagnostics; - this.getQuestionnaireReportData = reports.getQuestionnaireReportData; - this.blaiseApiUrl = blaiseApiUrl; - this.httpClient = axios_1.default.create(); - if ((config === null || config === void 0 ? void 0 : config.timeoutInMs) !== undefined) { - this.httpClient.defaults.timeout = config.timeoutInMs; - } - if (config === null || config === void 0 ? void 0 : config.blaiseApiClientId) { - this.blaiseIapProvider = new blaise_iap_node_provider_1.default(config.blaiseApiClientId); - } - } - // eslint-disable-next-line class-methods-use-this - BlaiseApiClient.prototype.url = function (url) { - var formattedUrl = url; - if (!formattedUrl.startsWith('/')) { - formattedUrl = "/".concat(formattedUrl); - } - return formattedUrl; - }; - // eslint-disable-next-line @typescript-eslint/no-explicit-any - BlaiseApiClient.prototype.get = function (url) { - return __awaiter(this, void 0, void 0, function () { - var config, response; - return __generator(this, function (_a) { - switch (_a.label) { - case 0: return [4 /*yield*/, this.axiosConfig()]; - case 1: - config = _a.sent(); - return [4 /*yield*/, this.httpClient.get("".concat(this.blaiseApiUrl).concat(this.url(url)), config)]; - case 2: - response = _a.sent(); - return [2 /*return*/, response.data]; - } - }); - }); - }; - // eslint-disable-next-line @typescript-eslint/no-explicit-any, @typescript-eslint/explicit-module-boundary-types - BlaiseApiClient.prototype.post = function (url, data) { - return __awaiter(this, void 0, void 0, function () { - var config, response; - return __generator(this, function (_a) { - switch (_a.label) { - case 0: return [4 /*yield*/, this.axiosConfig()]; - case 1: - config = _a.sent(); - return [4 /*yield*/, this.httpClient.post("".concat(this.blaiseApiUrl).concat(this.url(url)), data, config)]; - case 2: - response = _a.sent(); - return [2 /*return*/, response.data]; - } - }); - }); - }; - // eslint-disable-next-line @typescript-eslint/no-explicit-any - BlaiseApiClient.prototype.delete = function (url) { - return __awaiter(this, void 0, void 0, function () { - var config, response; - return __generator(this, function (_a) { - switch (_a.label) { - case 0: return [4 /*yield*/, this.axiosConfig()]; - case 1: - config = _a.sent(); - return [4 /*yield*/, this.httpClient.delete("".concat(this.blaiseApiUrl).concat(this.url(url)), config)]; - case 2: - response = _a.sent(); - return [2 /*return*/, response.data]; - } - }); - }); - }; - // eslint-disable-next-line @typescript-eslint/no-explicit-any, @typescript-eslint/no-redundant-type-constituents - BlaiseApiClient.prototype.patch = function (url, data) { - if (data === void 0) { data = undefined; } - return __awaiter(this, void 0, void 0, function () { - var config, response; - return __generator(this, function (_a) { - switch (_a.label) { - case 0: return [4 /*yield*/, this.axiosConfig()]; - case 1: - config = _a.sent(); - return [4 /*yield*/, this.httpClient.patch("".concat(this.blaiseApiUrl).concat(this.url(url)), data, config)]; - case 2: - response = _a.sent(); - return [2 /*return*/, response.data]; - } - }); - }); - }; - BlaiseApiClient.prototype.axiosConfig = function () { - return __awaiter(this, void 0, void 0, function () { - var config; - var _a; - return __generator(this, function (_b) { - switch (_b.label) { - case 0: - config = {}; - if (!this.blaiseIapProvider) return [3 /*break*/, 2]; - _a = {}; - return [4 /*yield*/, this.blaiseIapProvider.getAuthHeader()]; - case 1: - config = (_a.headers = _b.sent(), _a); - _b.label = 2; - case 2: return [2 /*return*/, config]; - } - }); - }); - }; - return BlaiseApiClient; -}()); -exports.default = BlaiseApiClient; -__exportStar(require("./interfaces/questionnaire"), exports); -__exportStar(require("./interfaces/diagnostic"), exports); -__exportStar(require("./interfaces/case"), exports); -__exportStar(require("./interfaces/user"), exports); -__exportStar(require("./interfaces/daybatch"), exports); -__exportStar(require("./interfaces/questionnaireReport"), exports); -__exportStar(require("./enums/caseOutcome"), exports); -__exportStar(require("./enums/editedStatus"), exports); -__exportStar(require("./types/caseData"), exports); -__exportStar(require("./types/surveyDays"), exports); -__exportStar(require("./mockObjects/caseMockObjects"), exports); -__exportStar(require("./mockObjects/diagnosticMockObjects"), exports); -__exportStar(require("./mockObjects/questionnaireMockObjects"), exports); -__exportStar(require("./mockObjects/userMockObjects"), exports); -__exportStar(require("./mockObjects/daybatchMockObjects"), exports); -__exportStar(require("./mockObjects/questionnaireReportMockObjects"), exports); diff --git a/lib/cjs/enums/caseOutcome.d.ts b/lib/cjs/enums/caseOutcome.d.ts deleted file mode 100644 index 49b6890..0000000 --- a/lib/cjs/enums/caseOutcome.d.ts +++ /dev/null @@ -1,41 +0,0 @@ -export declare enum CaseOutcome { - None = 0, - Completed = 110, - CompletedNudge = 120, - CompletedProxy = 130, - Partial = 210, - AppointmentMade = 300, - NonContact = 310, - HQRefusal = 430, - NotAvailable = 440, - HardRefusal = 460, - SoftRefusal = 461, - LanguageDifficultiesHeadOffice = 541, - LanguageDifficultiesInterviewer = 542, - WrongNumber = 542, - DeleteRequestedCompleted = 561, - DeleteRequestedPartial = 562, - IneligibleVacant = 540, - IneligibleNonResidential = 551, - IneligibleInstitution = 560, - IneligibleSecondHome = 580, - ConcernsWontTakePart = 360, - RejectTandCs = 380, - LostAccessCode = 373, - UnableToComplete = 370, - NoInternetAccess = 371, - RequestedDifferentMode = 372, - NoTraceOfAddress = 510, - Under16 = 631, - WrongAddress = 640, - BrailleRequested = 411, - LargePrintRequested = 412, - OtherFormat = 413, - DeleteRequested = 390, - RequestedCopyOfData = 791, - ClarificationOnStudyRequested = 792, - AssistanceRequested = 793, - RequestForContext = 794, - QuestionProblem = 795 -} -export default CaseOutcome; diff --git a/lib/cjs/enums/caseOutcome.js b/lib/cjs/enums/caseOutcome.js deleted file mode 100644 index b4e75b3..0000000 --- a/lib/cjs/enums/caseOutcome.js +++ /dev/null @@ -1,47 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.CaseOutcome = void 0; -// eslint-disable-next-line no-shadow -var CaseOutcome; -(function (CaseOutcome) { - CaseOutcome[CaseOutcome["None"] = 0] = "None"; - CaseOutcome[CaseOutcome["Completed"] = 110] = "Completed"; - CaseOutcome[CaseOutcome["CompletedNudge"] = 120] = "CompletedNudge"; - CaseOutcome[CaseOutcome["CompletedProxy"] = 130] = "CompletedProxy"; - CaseOutcome[CaseOutcome["Partial"] = 210] = "Partial"; - CaseOutcome[CaseOutcome["AppointmentMade"] = 300] = "AppointmentMade"; - CaseOutcome[CaseOutcome["NonContact"] = 310] = "NonContact"; - CaseOutcome[CaseOutcome["HQRefusal"] = 430] = "HQRefusal"; - CaseOutcome[CaseOutcome["NotAvailable"] = 440] = "NotAvailable"; - CaseOutcome[CaseOutcome["HardRefusal"] = 460] = "HardRefusal"; - CaseOutcome[CaseOutcome["SoftRefusal"] = 461] = "SoftRefusal"; - CaseOutcome[CaseOutcome["LanguageDifficultiesHeadOffice"] = 541] = "LanguageDifficultiesHeadOffice"; - CaseOutcome[CaseOutcome["LanguageDifficultiesInterviewer"] = 542] = "LanguageDifficultiesInterviewer"; - // eslint-disable-next-line @typescript-eslint/no-duplicate-enum-values - CaseOutcome[CaseOutcome["WrongNumber"] = 542] = "WrongNumber"; - CaseOutcome[CaseOutcome["DeleteRequestedCompleted"] = 561] = "DeleteRequestedCompleted"; - CaseOutcome[CaseOutcome["DeleteRequestedPartial"] = 562] = "DeleteRequestedPartial"; - CaseOutcome[CaseOutcome["IneligibleVacant"] = 540] = "IneligibleVacant"; - CaseOutcome[CaseOutcome["IneligibleNonResidential"] = 551] = "IneligibleNonResidential"; - CaseOutcome[CaseOutcome["IneligibleInstitution"] = 560] = "IneligibleInstitution"; - CaseOutcome[CaseOutcome["IneligibleSecondHome"] = 580] = "IneligibleSecondHome"; - CaseOutcome[CaseOutcome["ConcernsWontTakePart"] = 360] = "ConcernsWontTakePart"; - CaseOutcome[CaseOutcome["RejectTandCs"] = 380] = "RejectTandCs"; - CaseOutcome[CaseOutcome["LostAccessCode"] = 373] = "LostAccessCode"; - CaseOutcome[CaseOutcome["UnableToComplete"] = 370] = "UnableToComplete"; - CaseOutcome[CaseOutcome["NoInternetAccess"] = 371] = "NoInternetAccess"; - CaseOutcome[CaseOutcome["RequestedDifferentMode"] = 372] = "RequestedDifferentMode"; - CaseOutcome[CaseOutcome["NoTraceOfAddress"] = 510] = "NoTraceOfAddress"; - CaseOutcome[CaseOutcome["Under16"] = 631] = "Under16"; - CaseOutcome[CaseOutcome["WrongAddress"] = 640] = "WrongAddress"; - CaseOutcome[CaseOutcome["BrailleRequested"] = 411] = "BrailleRequested"; - CaseOutcome[CaseOutcome["LargePrintRequested"] = 412] = "LargePrintRequested"; - CaseOutcome[CaseOutcome["OtherFormat"] = 413] = "OtherFormat"; - CaseOutcome[CaseOutcome["DeleteRequested"] = 390] = "DeleteRequested"; - CaseOutcome[CaseOutcome["RequestedCopyOfData"] = 791] = "RequestedCopyOfData"; - CaseOutcome[CaseOutcome["ClarificationOnStudyRequested"] = 792] = "ClarificationOnStudyRequested"; - CaseOutcome[CaseOutcome["AssistanceRequested"] = 793] = "AssistanceRequested"; - CaseOutcome[CaseOutcome["RequestForContext"] = 794] = "RequestForContext"; - CaseOutcome[CaseOutcome["QuestionProblem"] = 795] = "QuestionProblem"; -})(CaseOutcome = exports.CaseOutcome || (exports.CaseOutcome = {})); -exports.default = CaseOutcome; diff --git a/lib/cjs/enums/editedStatus.d.ts b/lib/cjs/enums/editedStatus.d.ts deleted file mode 100644 index 4ab6f7b..0000000 --- a/lib/cjs/enums/editedStatus.d.ts +++ /dev/null @@ -1,7 +0,0 @@ -export declare enum EditedStatus { - NotStarted = 0, - Started = 1, - Query = 2, - Finished = 3 -} -export default EditedStatus; diff --git a/lib/cjs/enums/editedStatus.js b/lib/cjs/enums/editedStatus.js deleted file mode 100644 index ceba97e..0000000 --- a/lib/cjs/enums/editedStatus.js +++ /dev/null @@ -1,12 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.EditedStatus = void 0; -// eslint-disable-next-line no-shadow -var EditedStatus; -(function (EditedStatus) { - EditedStatus[EditedStatus["NotStarted"] = 0] = "NotStarted"; - EditedStatus[EditedStatus["Started"] = 1] = "Started"; - EditedStatus[EditedStatus["Query"] = 2] = "Query"; - EditedStatus[EditedStatus["Finished"] = 3] = "Finished"; -})(EditedStatus = exports.EditedStatus || (exports.EditedStatus = {})); -exports.default = EditedStatus; diff --git a/lib/cjs/enums/organisation.d.ts b/lib/cjs/enums/organisation.d.ts deleted file mode 100644 index fbee909..0000000 --- a/lib/cjs/enums/organisation.d.ts +++ /dev/null @@ -1,6 +0,0 @@ -export declare enum Organisation { - ONS = 1, - NatCen = 2, - Nisra = 3 -} -export default Organisation; diff --git a/lib/cjs/enums/organisation.js b/lib/cjs/enums/organisation.js deleted file mode 100644 index 6f1e199..0000000 --- a/lib/cjs/enums/organisation.js +++ /dev/null @@ -1,11 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.Organisation = void 0; -// eslint-disable-next-line no-shadow -var Organisation; -(function (Organisation) { - Organisation[Organisation["ONS"] = 1] = "ONS"; - Organisation[Organisation["NatCen"] = 2] = "NatCen"; - Organisation[Organisation["Nisra"] = 3] = "Nisra"; -})(Organisation = exports.Organisation || (exports.Organisation = {})); -exports.default = Organisation; diff --git a/lib/cjs/functions/caseFunctions.d.ts b/lib/cjs/functions/caseFunctions.d.ts deleted file mode 100644 index 6236798..0000000 --- a/lib/cjs/functions/caseFunctions.d.ts +++ /dev/null @@ -1,11 +0,0 @@ -import BlaiseApiClient from '../blaiseApiClient'; -import { CaseEditInformation, CaseResponse, CaseStatus } from '../interfaces/case'; -import { CaseData } from '../types/caseData'; -export declare function getCase(this: BlaiseApiClient, serverpark: string, questionnaireName: string, caseId: string): Promise; -export declare function getMultikeyQueryString(multiKeyValueMap: Map): string; -export declare function getCaseMultikey(this: BlaiseApiClient, serverpark: string, questionnaireName: string, multiKeyValueMap: Map): Promise; -export declare function addCase(this: BlaiseApiClient, serverpark: string, questionnaireName: string, caseId: string, caseFields: CaseData): Promise; -export declare function updateCase(this: BlaiseApiClient, serverpark: string, questionnaireName: string, caseId: string, caseFields: CaseData): Promise; -export declare function addCaseMultikey(this: BlaiseApiClient, serverpark: string, questionnaireName: string, multiKeyValueMap: Map, caseFields: CaseData): Promise; -export declare function getCaseStatus(this: BlaiseApiClient, serverpark: string, questionnaireName: string): Promise; -export declare function getCaseEditInformation(this: BlaiseApiClient, serverpark: string, questionnaireName: string): Promise; diff --git a/lib/cjs/functions/caseFunctions.js b/lib/cjs/functions/caseFunctions.js deleted file mode 100644 index 3250c56..0000000 --- a/lib/cjs/functions/caseFunctions.js +++ /dev/null @@ -1,106 +0,0 @@ -"use strict"; -var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { - function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } - return new (P || (P = Promise))(function (resolve, reject) { - function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } - function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } - function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } - step((generator = generator.apply(thisArg, _arguments || [])).next()); - }); -}; -var __generator = (this && this.__generator) || function (thisArg, body) { - var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g; - return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g; - function verb(n) { return function (v) { return step([n, v]); }; } - function step(op) { - if (f) throw new TypeError("Generator is already executing."); - while (g && (g = 0, op[0] && (_ = 0)), _) try { - if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t; - if (y = 0, t) op = [op[0] & 2, t.value]; - switch (op[0]) { - case 0: case 1: t = op; break; - case 4: _.label++; return { value: op[1], done: false }; - case 5: _.label++; y = op[1]; op = [0]; continue; - case 7: op = _.ops.pop(); _.trys.pop(); continue; - default: - if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; } - if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; } - if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; } - if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; } - if (t[2]) _.ops.pop(); - _.trys.pop(); continue; - } - op = body.call(thisArg, _); - } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; } - if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true }; - } -}; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.getCaseEditInformation = exports.getCaseStatus = exports.addCaseMultikey = exports.updateCase = exports.addCase = exports.getCaseMultikey = exports.getMultikeyQueryString = exports.getCase = void 0; -function getCase(serverpark, questionnaireName, caseId) { - return __awaiter(this, void 0, void 0, function () { - return __generator(this, function (_a) { - return [2 /*return*/, this.get("api/v2/serverparks/".concat(serverpark, "/questionnaires/").concat(questionnaireName, "/cases/").concat(caseId))]; - }); - }); -} -exports.getCase = getCase; -function getMultikeyQueryString(multiKeyValueMap) { - var keyNamesQueryString = "keyNames=".concat(Array.from(multiKeyValueMap.keys()).join('&keyNames=')); - var keyValuesQueryString = "keyValues=".concat(Array.from(multiKeyValueMap.values()).join('&keyValues=')); - var keyValueQueryString = "".concat(keyNamesQueryString, "&").concat(keyValuesQueryString); - return keyValueQueryString; -} -exports.getMultikeyQueryString = getMultikeyQueryString; -function getCaseMultikey(serverpark, questionnaireName, multiKeyValueMap) { - return __awaiter(this, void 0, void 0, function () { - var queryString; - return __generator(this, function (_a) { - queryString = getMultikeyQueryString(multiKeyValueMap); - return [2 /*return*/, this.get("api/v2/serverparks/".concat(serverpark, "/questionnaires/").concat(questionnaireName, "/cases/multikey?").concat(queryString))]; - }); - }); -} -exports.getCaseMultikey = getCaseMultikey; -function addCase(serverpark, questionnaireName, caseId, caseFields) { - return __awaiter(this, void 0, void 0, function () { - return __generator(this, function (_a) { - return [2 /*return*/, this.post("api/v2/serverparks/".concat(serverpark, "/questionnaires/").concat(questionnaireName, "/cases/").concat(caseId), caseFields)]; - }); - }); -} -exports.addCase = addCase; -function updateCase(serverpark, questionnaireName, caseId, caseFields) { - return __awaiter(this, void 0, void 0, function () { - return __generator(this, function (_a) { - return [2 /*return*/, this.patch("api/v2/serverparks/".concat(serverpark, "/questionnaires/").concat(questionnaireName, "/cases/").concat(caseId), caseFields)]; - }); - }); -} -exports.updateCase = updateCase; -function addCaseMultikey(serverpark, questionnaireName, multiKeyValueMap, caseFields) { - return __awaiter(this, void 0, void 0, function () { - var queryString; - return __generator(this, function (_a) { - queryString = getMultikeyQueryString(multiKeyValueMap); - return [2 /*return*/, this.post("api/v2/serverparks/".concat(serverpark, "/questionnaires/").concat(questionnaireName, "/cases/multikey?").concat(queryString), caseFields)]; - }); - }); -} -exports.addCaseMultikey = addCaseMultikey; -function getCaseStatus(serverpark, questionnaireName) { - return __awaiter(this, void 0, void 0, function () { - return __generator(this, function (_a) { - return [2 /*return*/, this.get("api/v2/serverparks/".concat(serverpark, "/questionnaires/").concat(questionnaireName, "/cases/status"))]; - }); - }); -} -exports.getCaseStatus = getCaseStatus; -function getCaseEditInformation(serverpark, questionnaireName) { - return __awaiter(this, void 0, void 0, function () { - return __generator(this, function (_a) { - return [2 /*return*/, this.get("api/v2/serverparks/".concat(serverpark, "/questionnaires/").concat(questionnaireName, "/cases/edit"))]; - }); - }); -} -exports.getCaseEditInformation = getCaseEditInformation; diff --git a/lib/cjs/functions/daybatchFunctions.d.ts b/lib/cjs/functions/daybatchFunctions.d.ts deleted file mode 100644 index 551226a..0000000 --- a/lib/cjs/functions/daybatchFunctions.d.ts +++ /dev/null @@ -1,7 +0,0 @@ -import BlaiseApiClient from '../blaiseApiClient'; -import { DaybatchResponse, DaybatchSettings } from '../interfaces/daybatch'; -import { SurveyDays } from '../types/surveyDays'; -export declare function getDaybatch(this: BlaiseApiClient, serverpark: string, questionnaireName: string): Promise; -export declare function addDaybatch(this: BlaiseApiClient, serverpark: string, questionnaireName: string, daybatchSettings: DaybatchSettings): Promise; -export declare function getSurveyDays(this: BlaiseApiClient, serverpark: string, questionnaireName: string): Promise; -export declare function addSurveyDays(this: BlaiseApiClient, serverpark: string, questionnaireName: string, surveyDays: SurveyDays): Promise; diff --git a/lib/cjs/functions/daybatchFunctions.js b/lib/cjs/functions/daybatchFunctions.js deleted file mode 100644 index cb17b27..0000000 --- a/lib/cjs/functions/daybatchFunctions.js +++ /dev/null @@ -1,78 +0,0 @@ -"use strict"; -var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { - function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } - return new (P || (P = Promise))(function (resolve, reject) { - function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } - function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } - function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } - step((generator = generator.apply(thisArg, _arguments || [])).next()); - }); -}; -var __generator = (this && this.__generator) || function (thisArg, body) { - var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g; - return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g; - function verb(n) { return function (v) { return step([n, v]); }; } - function step(op) { - if (f) throw new TypeError("Generator is already executing."); - while (g && (g = 0, op[0] && (_ = 0)), _) try { - if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t; - if (y = 0, t) op = [op[0] & 2, t.value]; - switch (op[0]) { - case 0: case 1: t = op; break; - case 4: _.label++; return { value: op[1], done: false }; - case 5: _.label++; y = op[1]; op = [0]; continue; - case 7: op = _.ops.pop(); _.trys.pop(); continue; - default: - if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; } - if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; } - if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; } - if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; } - if (t[2]) _.ops.pop(); - _.trys.pop(); continue; - } - op = body.call(thisArg, _); - } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; } - if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true }; - } -}; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.addSurveyDays = exports.getSurveyDays = exports.addDaybatch = exports.getDaybatch = void 0; -function getDaybatch(serverpark, questionnaireName) { - return __awaiter(this, void 0, void 0, function () { - return __generator(this, function (_a) { - return [2 /*return*/, this.get("/api/v2/cati/serverparks/".concat(serverpark, "/questionnaires/").concat(questionnaireName, "/daybatch"))]; - }); - }); -} -exports.getDaybatch = getDaybatch; -function addDaybatch(serverpark, questionnaireName, daybatchSettings) { - return __awaiter(this, void 0, void 0, function () { - return __generator(this, function (_a) { - return [2 /*return*/, this.post("/api/v2/cati/serverparks/".concat(serverpark, "/questionnaires/").concat(questionnaireName, "/daybatch"), daybatchSettings)]; - }); - }); -} -exports.addDaybatch = addDaybatch; -function getSurveyDays(serverpark, questionnaireName) { - return __awaiter(this, void 0, void 0, function () { - return __generator(this, function (_a) { - return [2 /*return*/, this.get("api/v2/cati/serverparks/".concat(serverpark, "/questionnaires/").concat(questionnaireName, "/surveydays"))]; - }); - }); -} -exports.getSurveyDays = getSurveyDays; -function addSurveyDays(serverpark, questionnaireName, surveyDays) { - return __awaiter(this, void 0, void 0, function () { - var formattedSurveyDays; - return __generator(this, function (_a) { - formattedSurveyDays = surveyDays.map(function (surveyDay) { - if (surveyDay instanceof Date) { - return surveyDay.toISOString(); - } - return surveyDay; - }); - return [2 /*return*/, this.post("api/v2/cati/serverparks/".concat(serverpark, "/questionnaires/").concat(questionnaireName, "/surveydays"), formattedSurveyDays)]; - }); - }); -} -exports.addSurveyDays = addSurveyDays; diff --git a/lib/cjs/functions/diagnosticFunctions.d.ts b/lib/cjs/functions/diagnosticFunctions.d.ts deleted file mode 100644 index b408f20..0000000 --- a/lib/cjs/functions/diagnosticFunctions.d.ts +++ /dev/null @@ -1,4 +0,0 @@ -import BlaiseApiClient from '../blaiseApiClient'; -import { Diagnostic } from '../interfaces/diagnostic'; -export declare function getDiagnostics(this: BlaiseApiClient): Promise; -export default getDiagnostics; diff --git a/lib/cjs/functions/diagnosticFunctions.js b/lib/cjs/functions/diagnosticFunctions.js deleted file mode 100644 index d67a34e..0000000 --- a/lib/cjs/functions/diagnosticFunctions.js +++ /dev/null @@ -1,48 +0,0 @@ -"use strict"; -var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { - function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } - return new (P || (P = Promise))(function (resolve, reject) { - function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } - function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } - function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } - step((generator = generator.apply(thisArg, _arguments || [])).next()); - }); -}; -var __generator = (this && this.__generator) || function (thisArg, body) { - var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g; - return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g; - function verb(n) { return function (v) { return step([n, v]); }; } - function step(op) { - if (f) throw new TypeError("Generator is already executing."); - while (g && (g = 0, op[0] && (_ = 0)), _) try { - if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t; - if (y = 0, t) op = [op[0] & 2, t.value]; - switch (op[0]) { - case 0: case 1: t = op; break; - case 4: _.label++; return { value: op[1], done: false }; - case 5: _.label++; y = op[1]; op = [0]; continue; - case 7: op = _.ops.pop(); _.trys.pop(); continue; - default: - if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; } - if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; } - if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; } - if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; } - if (t[2]) _.ops.pop(); - _.trys.pop(); continue; - } - op = body.call(thisArg, _); - } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; } - if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true }; - } -}; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.getDiagnostics = void 0; -function getDiagnostics() { - return __awaiter(this, void 0, void 0, function () { - return __generator(this, function (_a) { - return [2 /*return*/, this.get('/api/v2/health/diagnosis')]; - }); - }); -} -exports.getDiagnostics = getDiagnostics; -exports.default = getDiagnostics; diff --git a/lib/cjs/functions/questionnaireFunctions.d.ts b/lib/cjs/functions/questionnaireFunctions.d.ts deleted file mode 100644 index ee385e5..0000000 --- a/lib/cjs/functions/questionnaireFunctions.d.ts +++ /dev/null @@ -1,16 +0,0 @@ -import BlaiseApiClient from '../blaiseApiClient'; -import { InstallQuestionnaire, InstallQuestionnaireResponse, Questionnaire, QuestionnaireSettings } from '../interfaces/questionnaire'; -export declare function getAllQuestionnairesWithCatiData(this: BlaiseApiClient): Promise; -export declare function getQuestionnairesWithCatiData(this: BlaiseApiClient, serverpark: string): Promise; -export declare function getQuestionnaireWithCatiData(this: BlaiseApiClient, serverpark: string, questionnaireName: string): Promise; -export declare function getQuestionnaires(this: BlaiseApiClient, serverpark: string): Promise; -export declare function questionnaireExists(this: BlaiseApiClient, serverpark: string, questionnaireName: string): Promise; -export declare function doesQuestionnaireHaveMode(this: BlaiseApiClient, serverpark: string, questionnaireName: string, mode: string): Promise; -export declare function getQuestionnaire(this: BlaiseApiClient, serverpark: string, questionnaireName: string): Promise; -export declare function installQuestionnaire(this: BlaiseApiClient, serverpark: string, questionnaire: InstallQuestionnaire): Promise; -export declare function deleteQuestionnaire(this: BlaiseApiClient, serverpark: string, questionnaireName: string): Promise; -export declare function getQuestionnaireCaseIds(this: BlaiseApiClient, serverpark: string, questionnaireName: string): Promise; -export declare function getQuestionnaireModes(this: BlaiseApiClient, serverpark: string, questionnaireName: string): Promise; -export declare function getQuestionnaireSettings(this: BlaiseApiClient, serverpark: string, questionnaireName: string): Promise; -export declare function activateQuestionnaire(this: BlaiseApiClient, serverpark: string, questionnaireName: string): Promise; -export declare function deactivateQuestionnaire(this: BlaiseApiClient, serverpark: string, questionnaireName: string): Promise; diff --git a/lib/cjs/functions/questionnaireFunctions.js b/lib/cjs/functions/questionnaireFunctions.js deleted file mode 100644 index 36516e4..0000000 --- a/lib/cjs/functions/questionnaireFunctions.js +++ /dev/null @@ -1,151 +0,0 @@ -"use strict"; -var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { - function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } - return new (P || (P = Promise))(function (resolve, reject) { - function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } - function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } - function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } - step((generator = generator.apply(thisArg, _arguments || [])).next()); - }); -}; -var __generator = (this && this.__generator) || function (thisArg, body) { - var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g; - return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g; - function verb(n) { return function (v) { return step([n, v]); }; } - function step(op) { - if (f) throw new TypeError("Generator is already executing."); - while (g && (g = 0, op[0] && (_ = 0)), _) try { - if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t; - if (y = 0, t) op = [op[0] & 2, t.value]; - switch (op[0]) { - case 0: case 1: t = op; break; - case 4: _.label++; return { value: op[1], done: false }; - case 5: _.label++; y = op[1]; op = [0]; continue; - case 7: op = _.ops.pop(); _.trys.pop(); continue; - default: - if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; } - if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; } - if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; } - if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; } - if (t[2]) _.ops.pop(); - _.trys.pop(); continue; - } - op = body.call(thisArg, _); - } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; } - if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true }; - } -}; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.deactivateQuestionnaire = exports.activateQuestionnaire = exports.getQuestionnaireSettings = exports.getQuestionnaireModes = exports.getQuestionnaireCaseIds = exports.deleteQuestionnaire = exports.installQuestionnaire = exports.getQuestionnaire = exports.doesQuestionnaireHaveMode = exports.questionnaireExists = exports.getQuestionnaires = exports.getQuestionnaireWithCatiData = exports.getQuestionnairesWithCatiData = exports.getAllQuestionnairesWithCatiData = void 0; -function getAllQuestionnairesWithCatiData() { - return __awaiter(this, void 0, void 0, function () { - return __generator(this, function (_a) { - return [2 /*return*/, this.get('/api/v2/cati/questionnaires')]; - }); - }); -} -exports.getAllQuestionnairesWithCatiData = getAllQuestionnairesWithCatiData; -function getQuestionnairesWithCatiData(serverpark) { - return __awaiter(this, void 0, void 0, function () { - return __generator(this, function (_a) { - return [2 /*return*/, this.get("/api/v2/cati/serverparks/".concat(serverpark, "/questionnaires"))]; - }); - }); -} -exports.getQuestionnairesWithCatiData = getQuestionnairesWithCatiData; -function getQuestionnaireWithCatiData(serverpark, questionnaireName) { - return __awaiter(this, void 0, void 0, function () { - return __generator(this, function (_a) { - return [2 /*return*/, this.get("/api/v2/cati/serverparks/".concat(serverpark, "/questionnaires/").concat(questionnaireName))]; - }); - }); -} -exports.getQuestionnaireWithCatiData = getQuestionnaireWithCatiData; -function getQuestionnaires(serverpark) { - return __awaiter(this, void 0, void 0, function () { - return __generator(this, function (_a) { - return [2 /*return*/, this.get("/api/v2/serverparks/".concat(serverpark, "/questionnaires"))]; - }); - }); -} -exports.getQuestionnaires = getQuestionnaires; -function questionnaireExists(serverpark, questionnaireName) { - return __awaiter(this, void 0, void 0, function () { - return __generator(this, function (_a) { - return [2 /*return*/, this.get("/api/v2/serverparks/".concat(serverpark, "/questionnaires/").concat(questionnaireName, "/exists"))]; - }); - }); -} -exports.questionnaireExists = questionnaireExists; -function doesQuestionnaireHaveMode(serverpark, questionnaireName, mode) { - return __awaiter(this, void 0, void 0, function () { - return __generator(this, function (_a) { - return [2 /*return*/, this.get("/api/v2/serverparks/".concat(serverpark, "/questionnaires/").concat(questionnaireName, "/modes/").concat(mode))]; - }); - }); -} -exports.doesQuestionnaireHaveMode = doesQuestionnaireHaveMode; -function getQuestionnaire(serverpark, questionnaireName) { - return __awaiter(this, void 0, void 0, function () { - return __generator(this, function (_a) { - return [2 /*return*/, this.get("/api/v2/serverparks/".concat(serverpark, "/questionnaires/").concat(questionnaireName))]; - }); - }); -} -exports.getQuestionnaire = getQuestionnaire; -function installQuestionnaire(serverpark, questionnaire) { - return __awaiter(this, void 0, void 0, function () { - return __generator(this, function (_a) { - return [2 /*return*/, this.post("/api/v2/serverparks/".concat(serverpark, "/questionnaires"), questionnaire)]; - }); - }); -} -exports.installQuestionnaire = installQuestionnaire; -function deleteQuestionnaire(serverpark, questionnaireName) { - return __awaiter(this, void 0, void 0, function () { - return __generator(this, function (_a) { - return [2 /*return*/, this.delete("/api/v2/serverparks/".concat(serverpark, "/questionnaires/").concat(questionnaireName, "?name=").concat(questionnaireName))]; - }); - }); -} -exports.deleteQuestionnaire = deleteQuestionnaire; -function getQuestionnaireCaseIds(serverpark, questionnaireName) { - return __awaiter(this, void 0, void 0, function () { - return __generator(this, function (_a) { - return [2 /*return*/, this.get("/api/v2/serverparks/".concat(serverpark, "/questionnaires/").concat(questionnaireName, "/cases/ids"))]; - }); - }); -} -exports.getQuestionnaireCaseIds = getQuestionnaireCaseIds; -function getQuestionnaireModes(serverpark, questionnaireName) { - return __awaiter(this, void 0, void 0, function () { - return __generator(this, function (_a) { - return [2 /*return*/, this.get("/api/v2/serverparks/".concat(serverpark, "/questionnaires/").concat(questionnaireName, "/modes"))]; - }); - }); -} -exports.getQuestionnaireModes = getQuestionnaireModes; -function getQuestionnaireSettings(serverpark, questionnaireName) { - return __awaiter(this, void 0, void 0, function () { - return __generator(this, function (_a) { - return [2 /*return*/, this.get("/api/v2/serverparks/".concat(serverpark, "/questionnaires/").concat(questionnaireName, "/settings"))]; - }); - }); -} -exports.getQuestionnaireSettings = getQuestionnaireSettings; -function activateQuestionnaire(serverpark, questionnaireName) { - return __awaiter(this, void 0, void 0, function () { - return __generator(this, function (_a) { - return [2 /*return*/, this.patch("api/v2/serverparks/".concat(serverpark, "/questionnaires/").concat(questionnaireName, "/activate"))]; - }); - }); -} -exports.activateQuestionnaire = activateQuestionnaire; -function deactivateQuestionnaire(serverpark, questionnaireName) { - return __awaiter(this, void 0, void 0, function () { - return __generator(this, function (_a) { - return [2 /*return*/, this.patch("api/v2/serverparks/".concat(serverpark, "/questionnaires/").concat(questionnaireName, "/deactivate"))]; - }); - }); -} -exports.deactivateQuestionnaire = deactivateQuestionnaire; diff --git a/lib/cjs/functions/questionnaireReportFunctions.d.ts b/lib/cjs/functions/questionnaireReportFunctions.d.ts deleted file mode 100644 index 3416c07..0000000 --- a/lib/cjs/functions/questionnaireReportFunctions.d.ts +++ /dev/null @@ -1,4 +0,0 @@ -import BlaiseApiClient from '../blaiseApiClient'; -import { QuestionnaireReport } from '../interfaces/questionnaireReport'; -export declare function getQuestionnaireReportData(this: BlaiseApiClient, serverpark: string, questionnaireName: string, fieldIds: string[]): Promise; -export default getQuestionnaireReportData; diff --git a/lib/cjs/functions/questionnaireReportFunctions.js b/lib/cjs/functions/questionnaireReportFunctions.js deleted file mode 100644 index c15ed92..0000000 --- a/lib/cjs/functions/questionnaireReportFunctions.js +++ /dev/null @@ -1,53 +0,0 @@ -"use strict"; -var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { - function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } - return new (P || (P = Promise))(function (resolve, reject) { - function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } - function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } - function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } - step((generator = generator.apply(thisArg, _arguments || [])).next()); - }); -}; -var __generator = (this && this.__generator) || function (thisArg, body) { - var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g; - return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g; - function verb(n) { return function (v) { return step([n, v]); }; } - function step(op) { - if (f) throw new TypeError("Generator is already executing."); - while (g && (g = 0, op[0] && (_ = 0)), _) try { - if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t; - if (y = 0, t) op = [op[0] & 2, t.value]; - switch (op[0]) { - case 0: case 1: t = op; break; - case 4: _.label++; return { value: op[1], done: false }; - case 5: _.label++; y = op[1]; op = [0]; continue; - case 7: op = _.ops.pop(); _.trys.pop(); continue; - default: - if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; } - if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; } - if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; } - if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; } - if (t[2]) _.ops.pop(); - _.trys.pop(); continue; - } - op = body.call(thisArg, _); - } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; } - if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true }; - } -}; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.getQuestionnaireReportData = void 0; -function getQuestionnaireReportData(serverpark, questionnaireName, fieldIds) { - return __awaiter(this, void 0, void 0, function () { - var queryArray; - return __generator(this, function (_a) { - queryArray = []; - fieldIds.forEach(function (fieldId) { - queryArray.push("fieldIds=".concat(fieldId)); - }); - return [2 /*return*/, this.get("/api/v2/serverparks/".concat(serverpark, "/questionnaires/").concat(questionnaireName, "/report?").concat(queryArray.join('&')))]; - }); - }); -} -exports.getQuestionnaireReportData = getQuestionnaireReportData; -exports.default = getQuestionnaireReportData; diff --git a/lib/cjs/functions/userFunctions.d.ts b/lib/cjs/functions/userFunctions.d.ts deleted file mode 100644 index 4d284b5..0000000 --- a/lib/cjs/functions/userFunctions.d.ts +++ /dev/null @@ -1,11 +0,0 @@ -import BlaiseApiClient from '../blaiseApiClient'; -import { NewUser, User, UserRole } from '../interfaces/user'; -export declare function getUser(this: BlaiseApiClient, username: string): Promise; -export declare function getUsers(this: BlaiseApiClient): Promise; -export declare function validatePassword(this: BlaiseApiClient, username: string, password: string): Promise; -export declare function createUser(this: BlaiseApiClient, user: NewUser): Promise; -export declare function deleteUser(this: BlaiseApiClient, username: string): Promise; -export declare function getUserRoles(this: BlaiseApiClient): Promise; -export declare function changeUserRole(this: BlaiseApiClient, username: string, role: string): Promise; -export declare function changeUserServerParks(this: BlaiseApiClient, username: string, serverParks: string[], defaultServerPark: string): Promise; -export declare function changePassword(this: BlaiseApiClient, username: string, password: string): Promise; diff --git a/lib/cjs/functions/userFunctions.js b/lib/cjs/functions/userFunctions.js deleted file mode 100644 index b58ce6d..0000000 --- a/lib/cjs/functions/userFunctions.js +++ /dev/null @@ -1,119 +0,0 @@ -"use strict"; -var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { - function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } - return new (P || (P = Promise))(function (resolve, reject) { - function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } - function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } - function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } - step((generator = generator.apply(thisArg, _arguments || [])).next()); - }); -}; -var __generator = (this && this.__generator) || function (thisArg, body) { - var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g; - return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g; - function verb(n) { return function (v) { return step([n, v]); }; } - function step(op) { - if (f) throw new TypeError("Generator is already executing."); - while (g && (g = 0, op[0] && (_ = 0)), _) try { - if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t; - if (y = 0, t) op = [op[0] & 2, t.value]; - switch (op[0]) { - case 0: case 1: t = op; break; - case 4: _.label++; return { value: op[1], done: false }; - case 5: _.label++; y = op[1]; op = [0]; continue; - case 7: op = _.ops.pop(); _.trys.pop(); continue; - default: - if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; } - if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; } - if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; } - if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; } - if (t[2]) _.ops.pop(); - _.trys.pop(); continue; - } - op = body.call(thisArg, _); - } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; } - if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true }; - } -}; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.changePassword = exports.changeUserServerParks = exports.changeUserRole = exports.getUserRoles = exports.deleteUser = exports.createUser = exports.validatePassword = exports.getUsers = exports.getUser = void 0; -function getUser(username) { - return __awaiter(this, void 0, void 0, function () { - return __generator(this, function (_a) { - return [2 /*return*/, this.get("api/v2/users/".concat(username))]; - }); - }); -} -exports.getUser = getUser; -function getUsers() { - return __awaiter(this, void 0, void 0, function () { - return __generator(this, function (_a) { - return [2 /*return*/, this.get('api/v2/users')]; - }); - }); -} -exports.getUsers = getUsers; -function validatePassword(username, password) { - return __awaiter(this, void 0, void 0, function () { - var validationRequest; - return __generator(this, function (_a) { - validationRequest = { password: password }; - return [2 /*return*/, this.post("api/v2/users/".concat(username, "/validate"), validationRequest)]; - }); - }); -} -exports.validatePassword = validatePassword; -function createUser(user) { - return __awaiter(this, void 0, void 0, function () { - return __generator(this, function (_a) { - return [2 /*return*/, this.post('/api/v2/users', user)]; - }); - }); -} -exports.createUser = createUser; -function deleteUser(username) { - return __awaiter(this, void 0, void 0, function () { - return __generator(this, function (_a) { - return [2 /*return*/, this.delete("/api/v2/users/".concat(username))]; - }); - }); -} -exports.deleteUser = deleteUser; -function getUserRoles() { - return __awaiter(this, void 0, void 0, function () { - return __generator(this, function (_a) { - return [2 /*return*/, this.get('/api/v2/userroles')]; - }); - }); -} -exports.getUserRoles = getUserRoles; -function changeUserRole(username, role) { - return __awaiter(this, void 0, void 0, function () { - var roleRequest; - return __generator(this, function (_a) { - roleRequest = { role: role }; - return [2 /*return*/, this.patch("/api/v2/users/".concat(username, "/role"), roleRequest)]; - }); - }); -} -exports.changeUserRole = changeUserRole; -function changeUserServerParks(username, serverParks, defaultServerPark) { - return __awaiter(this, void 0, void 0, function () { - var serverParksRequest; - return __generator(this, function (_a) { - serverParksRequest = { serverParks: serverParks, defaultServerPark: defaultServerPark }; - return [2 /*return*/, this.patch("/api/v2/users/".concat(username, "/serverparks"), serverParksRequest)]; - }); - }); -} -exports.changeUserServerParks = changeUserServerParks; -function changePassword(username, password) { - return __awaiter(this, void 0, void 0, function () { - var passwordRequest; - return __generator(this, function (_a) { - passwordRequest = { password: password }; - return [2 /*return*/, this.patch("/api/v2/users/".concat(username, "/password"), passwordRequest)]; - }); - }); -} -exports.changePassword = changePassword; diff --git a/lib/cjs/interfaces/blaiseApi.d.ts b/lib/cjs/interfaces/blaiseApi.d.ts deleted file mode 100644 index d672c06..0000000 --- a/lib/cjs/interfaces/blaiseApi.d.ts +++ /dev/null @@ -1,4 +0,0 @@ -import { Questionnaire } from './questionnaire'; -export interface BlaiseApi { - getQuestionnaires(serverPark: string): Promise; -} diff --git a/lib/cjs/interfaces/blaiseApi.js b/lib/cjs/interfaces/blaiseApi.js deleted file mode 100644 index c8ad2e5..0000000 --- a/lib/cjs/interfaces/blaiseApi.js +++ /dev/null @@ -1,2 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); diff --git a/lib/cjs/interfaces/blaiseApiConfig.d.ts b/lib/cjs/interfaces/blaiseApiConfig.d.ts deleted file mode 100644 index bfe11b0..0000000 --- a/lib/cjs/interfaces/blaiseApiConfig.d.ts +++ /dev/null @@ -1,4 +0,0 @@ -export interface BlaiseApiConfig { - timeoutInMs?: number; - blaiseApiClientId?: string; -} diff --git a/lib/cjs/interfaces/blaiseApiConfig.js b/lib/cjs/interfaces/blaiseApiConfig.js deleted file mode 100644 index c8ad2e5..0000000 --- a/lib/cjs/interfaces/blaiseApiConfig.js +++ /dev/null @@ -1,2 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); diff --git a/lib/cjs/interfaces/case.d.ts b/lib/cjs/interfaces/case.d.ts deleted file mode 100644 index 9751407..0000000 --- a/lib/cjs/interfaces/case.d.ts +++ /dev/null @@ -1,22 +0,0 @@ -import { EditedStatus } from '../blaiseApiClient'; -import { CaseOutcome } from '../enums/caseOutcome'; -import Organisation from '../enums/organisation'; -import { CaseData } from '../types/caseData'; -export interface CaseResponse { - caseId: string; - fieldData: CaseData; -} -export interface CaseStatus { - primaryKey: string; - outcome: CaseOutcome; -} -export interface CaseEditInformation { - primaryKey: string; - outcome: CaseOutcome; - assignedTo: string; - interviewer: string; - editedStatus: EditedStatus; - organisation: Organisation; - editUrl: string; - readOnlyUrl: string; -} diff --git a/lib/cjs/interfaces/case.js b/lib/cjs/interfaces/case.js deleted file mode 100644 index c8ad2e5..0000000 --- a/lib/cjs/interfaces/case.js +++ /dev/null @@ -1,2 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); diff --git a/lib/cjs/interfaces/daybatch.d.ts b/lib/cjs/interfaces/daybatch.d.ts deleted file mode 100644 index 973b236..0000000 --- a/lib/cjs/interfaces/daybatch.d.ts +++ /dev/null @@ -1,8 +0,0 @@ -export interface DaybatchResponse { - dayBatchDate: string; - caseIds: string[]; -} -export interface DaybatchSettings { - dayBatchDate: string; - checkForTreatedCases: boolean; -} diff --git a/lib/cjs/interfaces/daybatch.js b/lib/cjs/interfaces/daybatch.js deleted file mode 100644 index c8ad2e5..0000000 --- a/lib/cjs/interfaces/daybatch.js +++ /dev/null @@ -1,2 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); diff --git a/lib/cjs/interfaces/diagnostic.d.ts b/lib/cjs/interfaces/diagnostic.d.ts deleted file mode 100644 index 6de4b1a..0000000 --- a/lib/cjs/interfaces/diagnostic.d.ts +++ /dev/null @@ -1,4 +0,0 @@ -export interface Diagnostic { - 'health check type': string; - status: string; -} diff --git a/lib/cjs/interfaces/diagnostic.js b/lib/cjs/interfaces/diagnostic.js deleted file mode 100644 index c8ad2e5..0000000 --- a/lib/cjs/interfaces/diagnostic.js +++ /dev/null @@ -1,2 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); diff --git a/lib/cjs/interfaces/questionnaire.d.ts b/lib/cjs/interfaces/questionnaire.d.ts deleted file mode 100644 index 92c0e5b..0000000 --- a/lib/cjs/interfaces/questionnaire.d.ts +++ /dev/null @@ -1,36 +0,0 @@ -export interface Node { - nodeName: string; - nodeStatus: string; -} -export interface Questionnaire { - installDate: string; - name: string; - expired?: boolean; - serverParkName: string; - activeToday?: boolean; - surveyDays?: string[]; - link?: string; - fieldPeriod?: string; - surveyTla?: string; - dataRecordCount?: number; - status?: string; - hasData?: boolean; - nodes?: Node[]; - active?: boolean; - blaiseVersion?: string; -} -export interface InstallQuestionnaire { - questionnaireFile: string; -} -export interface InstallQuestionnaireResponse { - questionnaireFile: string; -} -export interface QuestionnaireSettings { - type: string; - saveSessionOnTimeout: boolean; - saveSessionOnQuit: boolean; - deleteSessionOnTimeout: boolean; - deleteSessionOnQuit: boolean; - sessionTimeout: number; - applyRecordLocking: boolean; -} diff --git a/lib/cjs/interfaces/questionnaire.js b/lib/cjs/interfaces/questionnaire.js deleted file mode 100644 index c8ad2e5..0000000 --- a/lib/cjs/interfaces/questionnaire.js +++ /dev/null @@ -1,2 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); diff --git a/lib/cjs/interfaces/questionnaireReport.d.ts b/lib/cjs/interfaces/questionnaireReport.d.ts deleted file mode 100644 index 01f1ec3..0000000 --- a/lib/cjs/interfaces/questionnaireReport.d.ts +++ /dev/null @@ -1,6 +0,0 @@ -import { CaseData } from '../types/caseData'; -export interface QuestionnaireReport { - questionnaireName: string; - questionnaireId: string; - reportingData: CaseData[]; -} diff --git a/lib/cjs/interfaces/questionnaireReport.js b/lib/cjs/interfaces/questionnaireReport.js deleted file mode 100644 index c8ad2e5..0000000 --- a/lib/cjs/interfaces/questionnaireReport.js +++ /dev/null @@ -1,2 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); diff --git a/lib/cjs/interfaces/survey.d.ts b/lib/cjs/interfaces/survey.d.ts deleted file mode 100644 index 9ff2bfc..0000000 --- a/lib/cjs/interfaces/survey.d.ts +++ /dev/null @@ -1,5 +0,0 @@ -import { Questionnaire } from './questionnaire'; -export interface Survey { - questionnaires: Questionnaire[]; - survey: string; -} diff --git a/lib/cjs/interfaces/survey.js b/lib/cjs/interfaces/survey.js deleted file mode 100644 index c8ad2e5..0000000 --- a/lib/cjs/interfaces/survey.js +++ /dev/null @@ -1,2 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); diff --git a/lib/cjs/interfaces/user.d.ts b/lib/cjs/interfaces/user.d.ts deleted file mode 100644 index 17e2c7a..0000000 --- a/lib/cjs/interfaces/user.d.ts +++ /dev/null @@ -1,20 +0,0 @@ -export interface User { - name: string; - role: string; - serverParks: string[]; - defaultServerPark: string; -} -export interface PasswordRequest { - password: string; -} -export interface RoleRequest { - role: string; -} -export interface UserRole { - name: string; - description: string; - permissions: string[]; -} -export interface NewUser extends User { - password: string; -} diff --git a/lib/cjs/interfaces/user.js b/lib/cjs/interfaces/user.js deleted file mode 100644 index c8ad2e5..0000000 --- a/lib/cjs/interfaces/user.js +++ /dev/null @@ -1,2 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); diff --git a/lib/cjs/mockObjects/caseMockObjects.d.ts b/lib/cjs/mockObjects/caseMockObjects.d.ts deleted file mode 100644 index 4a073fa..0000000 --- a/lib/cjs/mockObjects/caseMockObjects.d.ts +++ /dev/null @@ -1,4 +0,0 @@ -import { CaseEditInformation, CaseResponse, CaseStatus } from '../interfaces/case'; -export declare const CaseStatusListMockObject: CaseStatus[]; -export declare const CaseResponseMockObject: CaseResponse; -export declare const CaseEditInformationListMockObject: CaseEditInformation[]; diff --git a/lib/cjs/mockObjects/caseMockObjects.js b/lib/cjs/mockObjects/caseMockObjects.js deleted file mode 100644 index b7a84af..0000000 --- a/lib/cjs/mockObjects/caseMockObjects.js +++ /dev/null @@ -1,65 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.CaseEditInformationListMockObject = exports.CaseResponseMockObject = exports.CaseStatusListMockObject = void 0; -exports.CaseStatusListMockObject = [{ - primaryKey: '1', - outcome: 110, - }, { - primaryKey: '2', - outcome: 310, - }, { - primaryKey: '3', - outcome: 0, - }]; -exports.CaseResponseMockObject = { - caseId: '1', - fieldData: { - 'qiD.Serial_Number': '1', - 'qDataBag.Prem1': 'Flat 1', - 'qDataBag.Prem2': 'Richmond House', - 'qDataBag.Prem3': 'Rice Road', - 'qDataBag.Prem4': '', - 'qDataBag.District': 'Gwent', - 'qDataBag.PostTown': 'Newport', - 'qDataBag.PostCode': 'NZ11 4PD', - 'qhAdmin.HOut': '100', - 'qhAdmin.Interviewer[1]': 'rich', - 'dmName[1]': 'Richmond Ricecake', - 'dmDteOfBth[1]': '1980-01-15', - 'dmName[2]': 'Richmond Junior', - 'dmDteOfBth[2]': '2005-04-12', - dmhSize: '2', - }, -}; -exports.CaseEditInformationListMockObject = [ - { - primaryKey: '100101', - outcome: 110, - assignedTo: 'Rich', - interviewer: 'Jane Doe', - editedStatus: 3, - organisation: 1, - editUrl: '', - readOnlyUrl: '', - }, - { - primaryKey: '100102', - outcome: 210, - assignedTo: 'Jake', - interviewer: 'Bob Roberts', - editedStatus: 3, - organisation: 1, - editUrl: '', - readOnlyUrl: '', - }, - { - primaryKey: '100113', - outcome: 430, - assignedTo: 'Jamie', - interviewer: 'Frank Frankinson', - editedStatus: 3, - organisation: 1, - editUrl: '', - readOnlyUrl: '', - }, -]; diff --git a/lib/cjs/mockObjects/daybatchMockObjects.d.ts b/lib/cjs/mockObjects/daybatchMockObjects.d.ts deleted file mode 100644 index 5902f2f..0000000 --- a/lib/cjs/mockObjects/daybatchMockObjects.d.ts +++ /dev/null @@ -1,6 +0,0 @@ -import { DaybatchResponse, DaybatchSettings } from '../interfaces/daybatch'; -import { SurveyDays } from '../types/surveyDays'; -export declare const QuestionnaireDaybatchCasesMock: DaybatchResponse[]; -export declare const AddDaybatchMock: DaybatchSettings; -export declare const SurveyDaysMock: string[]; -export declare const SurveyDaysDatesMock: SurveyDays; diff --git a/lib/cjs/mockObjects/daybatchMockObjects.js b/lib/cjs/mockObjects/daybatchMockObjects.js deleted file mode 100644 index 5c68ac5..0000000 --- a/lib/cjs/mockObjects/daybatchMockObjects.js +++ /dev/null @@ -1,24 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.SurveyDaysDatesMock = exports.SurveyDaysMock = exports.AddDaybatchMock = exports.QuestionnaireDaybatchCasesMock = void 0; -exports.QuestionnaireDaybatchCasesMock = [ - { - dayBatchDate: '2021-01-15T14:41:29.4399898+00:00', - caseIds: [ - '100101', - '100102', - '100103', - '100104', - ], - }, -]; -exports.AddDaybatchMock = { - dayBatchDate: '2021-01-15T14:41:29.4399898+00:00', - checkForTreatedCases: true, -}; -exports.SurveyDaysMock = [ - '2021-01-15T14:41:29.4399898+00:00', -]; -exports.SurveyDaysDatesMock = [ - new Date('2021-01-15T14:41:29.4399898+00:00'), -]; diff --git a/lib/cjs/mockObjects/diagnosticMockObjects.d.ts b/lib/cjs/mockObjects/diagnosticMockObjects.d.ts deleted file mode 100644 index 60a9781..0000000 --- a/lib/cjs/mockObjects/diagnosticMockObjects.d.ts +++ /dev/null @@ -1,3 +0,0 @@ -import { Diagnostic } from '../interfaces/diagnostic'; -export declare const DiagnosticMockObject: Diagnostic[]; -export default DiagnosticMockObject; diff --git a/lib/cjs/mockObjects/diagnosticMockObjects.js b/lib/cjs/mockObjects/diagnosticMockObjects.js deleted file mode 100644 index 9902f66..0000000 --- a/lib/cjs/mockObjects/diagnosticMockObjects.js +++ /dev/null @@ -1,10 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.DiagnosticMockObject = void 0; -exports.DiagnosticMockObject = [ - { 'health check type': 'Connection model', status: 'OK' }, - { 'health check type': 'Blaise connection', status: 'OK' }, - { 'health check type': 'Remote data server connection', status: 'OK' }, - { 'health check type': 'Remote Cati management connection', status: 'OK' }, -]; -exports.default = exports.DiagnosticMockObject; diff --git a/lib/cjs/mockObjects/questionnaireMockObjects.d.ts b/lib/cjs/mockObjects/questionnaireMockObjects.d.ts deleted file mode 100644 index 5441cae..0000000 --- a/lib/cjs/mockObjects/questionnaireMockObjects.d.ts +++ /dev/null @@ -1,6 +0,0 @@ -import { InstallQuestionnaire, InstallQuestionnaireResponse, Questionnaire, QuestionnaireSettings } from '../interfaces/questionnaire'; -export declare const QuestionnaireListMockObject: Questionnaire[]; -export declare const QuestionnaireMockObject: Questionnaire; -export declare const InstallQuestionnaireMockObject: InstallQuestionnaire; -export declare const InstallQuestionnaireResponseMockObject: InstallQuestionnaireResponse; -export declare const QuestionnaireSettingsMockList: QuestionnaireSettings[]; diff --git a/lib/cjs/mockObjects/questionnaireMockObjects.js b/lib/cjs/mockObjects/questionnaireMockObjects.js deleted file mode 100644 index 46a6619..0000000 --- a/lib/cjs/mockObjects/questionnaireMockObjects.js +++ /dev/null @@ -1,53 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.QuestionnaireSettingsMockList = exports.InstallQuestionnaireResponseMockObject = exports.InstallQuestionnaireMockObject = exports.QuestionnaireMockObject = exports.QuestionnaireListMockObject = void 0; -exports.QuestionnaireListMockObject = [{ - name: 'OPN2101A', - serverParkName: 'gusty', - installDate: '2021-01-15T14:41:29.4399898+00:00', - status: 'Active', - dataRecordCount: 0, - hasData: false, - active: false, - }, { - name: 'OPN2007T', - serverParkName: 'gusty', - installDate: '2021-01-15T15:18:40.1503617+00:00', - status: 'Active', - dataRecordCount: 10, - hasData: true, - active: true, - }, { - name: 'LMS2101_AA1', - serverParkName: 'gusty', - installDate: '2021-01-15T15:26:43.4233454+00:00', - status: 'Active', - dataRecordCount: 0, - hasData: false, - active: false, - }]; -exports.QuestionnaireMockObject = { - name: 'OPN2101A', - serverParkName: 'gusty', - installDate: '2021-01-15T14:41:29.4399898+00:00', - status: 'Active', - dataRecordCount: 0, - hasData: false, - active: false, - blaiseVersion: '5.9.9.2735', -}; -exports.InstallQuestionnaireMockObject = { - questionnaireFile: 'OPN2004A.bpkg', -}; -exports.InstallQuestionnaireResponseMockObject = { - questionnaireFile: 'OPN2004A.bpkg', -}; -exports.QuestionnaireSettingsMockList = [{ - type: 'StrictInterviewing', - saveSessionOnTimeout: true, - saveSessionOnQuit: true, - deleteSessionOnTimeout: true, - deleteSessionOnQuit: true, - sessionTimeout: 15, - applyRecordLocking: true, - }]; diff --git a/lib/cjs/mockObjects/questionnaireReportMockObjects.d.ts b/lib/cjs/mockObjects/questionnaireReportMockObjects.d.ts deleted file mode 100644 index 5af847b..0000000 --- a/lib/cjs/mockObjects/questionnaireReportMockObjects.d.ts +++ /dev/null @@ -1,3 +0,0 @@ -import { QuestionnaireReport } from '../interfaces/questionnaireReport'; -declare const reportMockObject: QuestionnaireReport; -export default reportMockObject; diff --git a/lib/cjs/mockObjects/questionnaireReportMockObjects.js b/lib/cjs/mockObjects/questionnaireReportMockObjects.js deleted file mode 100644 index 6429166..0000000 --- a/lib/cjs/mockObjects/questionnaireReportMockObjects.js +++ /dev/null @@ -1,17 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -var reportMockObject = { - questionnaireName: 'FRS2211A', - questionnaireId: '00000000-0000-0000-0000-000000000000', - reportingData: [ - { - 'qiD.Serial_Number': '1', - 'qhAdmin.HOut': '210', - }, - { - 'qiD.Serial_Number': '2', - 'qhAdmin.HOut': '110', - }, - ], -}; -exports.default = reportMockObject; diff --git a/lib/cjs/mockObjects/userMockObjects.d.ts b/lib/cjs/mockObjects/userMockObjects.d.ts deleted file mode 100644 index 5ba43a9..0000000 --- a/lib/cjs/mockObjects/userMockObjects.d.ts +++ /dev/null @@ -1,3 +0,0 @@ -import { NewUser } from '../interfaces/user'; -export declare const CreateUserMockObject: NewUser; -export declare const CreateUserResponseMockObject: NewUser; diff --git a/lib/cjs/mockObjects/userMockObjects.js b/lib/cjs/mockObjects/userMockObjects.js deleted file mode 100644 index 016f776..0000000 --- a/lib/cjs/mockObjects/userMockObjects.js +++ /dev/null @@ -1,21 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.CreateUserResponseMockObject = exports.CreateUserMockObject = void 0; -exports.CreateUserMockObject = { - password: 'somethingVerySecure', - name: 'Beyonce', - role: 'DST', - serverParks: [ - 'gusty', - ], - defaultServerPark: 'gusty', -}; -exports.CreateUserResponseMockObject = { - password: 'somethingVerySecure', - name: 'Beyonce', - role: 'DST', - serverParks: [ - 'gusty', - ], - defaultServerPark: 'gusty', -}; diff --git a/lib/cjs/types/caseData.d.ts b/lib/cjs/types/caseData.d.ts deleted file mode 100644 index 8ebe586..0000000 --- a/lib/cjs/types/caseData.d.ts +++ /dev/null @@ -1 +0,0 @@ -export type CaseData = Record; diff --git a/lib/cjs/types/caseData.js b/lib/cjs/types/caseData.js deleted file mode 100644 index c8ad2e5..0000000 --- a/lib/cjs/types/caseData.js +++ /dev/null @@ -1,2 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); diff --git a/lib/cjs/types/surveyDays.d.ts b/lib/cjs/types/surveyDays.d.ts deleted file mode 100644 index 071133c..0000000 --- a/lib/cjs/types/surveyDays.d.ts +++ /dev/null @@ -1 +0,0 @@ -export type SurveyDays = string[] | Date[]; diff --git a/lib/cjs/types/surveyDays.js b/lib/cjs/types/surveyDays.js deleted file mode 100644 index c8ad2e5..0000000 --- a/lib/cjs/types/surveyDays.js +++ /dev/null @@ -1,2 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); diff --git a/lib/esm/blaiseApiClient.d.ts b/lib/esm/blaiseApiClient.d.ts deleted file mode 100644 index 3be8283..0000000 --- a/lib/esm/blaiseApiClient.d.ts +++ /dev/null @@ -1,76 +0,0 @@ -import { AxiosInstance } from 'axios'; -import BlaiseIapNodeProvider from 'blaise-iap-node-provider'; -import { BlaiseApiConfig } from './interfaces/blaiseApiConfig'; -import { BlaiseApi } from './interfaces/blaiseApi'; -import * as users from './functions/userFunctions'; -import * as questionnaires from './functions/questionnaireFunctions'; -import * as cases from './functions/caseFunctions'; -import * as diagnostics from './functions/diagnosticFunctions'; -import * as daybatch from './functions/daybatchFunctions'; -import * as reports from './functions/questionnaireReportFunctions'; -declare class BlaiseApiClient implements BlaiseApi { - blaiseApiUrl: string; - blaiseIapProvider?: BlaiseIapNodeProvider; - httpClient: AxiosInstance; - constructor(blaiseApiUrl: string, config?: BlaiseApiConfig); - getUser: typeof users.getUser; - getUsers: typeof users.getUsers; - validatePassword: typeof users.validatePassword; - createUser: typeof users.createUser; - deleteUser: typeof users.deleteUser; - getUserRoles: typeof users.getUserRoles; - changePassword: typeof users.changePassword; - changeUserRole: typeof users.changeUserRole; - changeUserServerParks: typeof users.changeUserServerParks; - getAllQuestionnairesWithCatiData: typeof questionnaires.getAllQuestionnairesWithCatiData; - getQuestionnairesWithCatiData: typeof questionnaires.getQuestionnairesWithCatiData; - getQuestionnaireWithCatiData: typeof questionnaires.getQuestionnaireWithCatiData; - getQuestionnaires: typeof questionnaires.getQuestionnaires; - questionnaireExists: typeof questionnaires.questionnaireExists; - doesQuestionnaireHaveMode: typeof questionnaires.doesQuestionnaireHaveMode; - getQuestionnaire: typeof questionnaires.getQuestionnaire; - installQuestionnaire: typeof questionnaires.installQuestionnaire; - deleteQuestionnaire: typeof questionnaires.deleteQuestionnaire; - getQuestionnaireCaseIds: typeof questionnaires.getQuestionnaireCaseIds; - getQuestionnaireModes: typeof questionnaires.getQuestionnaireModes; - getQuestionnaireSettings: typeof questionnaires.getQuestionnaireSettings; - activateQuestionnaire: typeof questionnaires.activateQuestionnaire; - deactivateQuestionnaire: typeof questionnaires.deactivateQuestionnaire; - getDaybatch: typeof daybatch.getDaybatch; - addDaybatch: typeof daybatch.addDaybatch; - getSurveyDays: typeof daybatch.getSurveyDays; - addSurveyDays: typeof daybatch.addSurveyDays; - getCase: typeof cases.getCase; - getCaseMultikey: typeof cases.getCaseMultikey; - addCase: typeof cases.addCase; - updateCase: typeof cases.updateCase; - addCaseMultikey: typeof cases.addCaseMultikey; - getMultikeyQueryString: typeof cases.getMultikeyQueryString; - getCaseStatus: typeof cases.getCaseStatus; - getCaseEditInformation: typeof cases.getCaseEditInformation; - getDiagnostics: typeof diagnostics.getDiagnostics; - getQuestionnaireReportData: typeof reports.getQuestionnaireReportData; - private url; - protected get(url: string): Promise; - protected post(url: string, data: any): Promise; - protected delete(url: string): Promise; - protected patch(url: string, data?: any | undefined): Promise; - private axiosConfig; -} -export default BlaiseApiClient; -export * from './interfaces/questionnaire'; -export * from './interfaces/diagnostic'; -export * from './interfaces/case'; -export * from './interfaces/user'; -export * from './interfaces/daybatch'; -export * from './interfaces/questionnaireReport'; -export * from './enums/caseOutcome'; -export * from './enums/editedStatus'; -export * from './types/caseData'; -export * from './types/surveyDays'; -export * from './mockObjects/caseMockObjects'; -export * from './mockObjects/diagnosticMockObjects'; -export * from './mockObjects/questionnaireMockObjects'; -export * from './mockObjects/userMockObjects'; -export * from './mockObjects/daybatchMockObjects'; -export * from './mockObjects/questionnaireReportMockObjects'; diff --git a/lib/esm/blaiseApiClient.js b/lib/esm/blaiseApiClient.js deleted file mode 100644 index 0878057..0000000 --- a/lib/esm/blaiseApiClient.js +++ /dev/null @@ -1,207 +0,0 @@ -var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { - function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } - return new (P || (P = Promise))(function (resolve, reject) { - function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } - function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } - function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } - step((generator = generator.apply(thisArg, _arguments || [])).next()); - }); -}; -var __generator = (this && this.__generator) || function (thisArg, body) { - var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g; - return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g; - function verb(n) { return function (v) { return step([n, v]); }; } - function step(op) { - if (f) throw new TypeError("Generator is already executing."); - while (g && (g = 0, op[0] && (_ = 0)), _) try { - if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t; - if (y = 0, t) op = [op[0] & 2, t.value]; - switch (op[0]) { - case 0: case 1: t = op; break; - case 4: _.label++; return { value: op[1], done: false }; - case 5: _.label++; y = op[1]; op = [0]; continue; - case 7: op = _.ops.pop(); _.trys.pop(); continue; - default: - if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; } - if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; } - if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; } - if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; } - if (t[2]) _.ops.pop(); - _.trys.pop(); continue; - } - op = body.call(thisArg, _); - } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; } - if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true }; - } -}; -import axios from 'axios'; -import BlaiseIapNodeProvider from 'blaise-iap-node-provider'; -import * as users from './functions/userFunctions'; -import * as questionnaires from './functions/questionnaireFunctions'; -import * as cases from './functions/caseFunctions'; -import * as diagnostics from './functions/diagnosticFunctions'; -import * as daybatch from './functions/daybatchFunctions'; -import * as reports from './functions/questionnaireReportFunctions'; -var BlaiseApiClient = /** @class */ (function () { - function BlaiseApiClient(blaiseApiUrl, config) { - this.getUser = users.getUser; - this.getUsers = users.getUsers; - this.validatePassword = users.validatePassword; - this.createUser = users.createUser; - this.deleteUser = users.deleteUser; - this.getUserRoles = users.getUserRoles; - this.changePassword = users.changePassword; - this.changeUserRole = users.changeUserRole; - this.changeUserServerParks = users.changeUserServerParks; - this.getAllQuestionnairesWithCatiData = questionnaires.getAllQuestionnairesWithCatiData; - this.getQuestionnairesWithCatiData = questionnaires.getQuestionnairesWithCatiData; - this.getQuestionnaireWithCatiData = questionnaires.getQuestionnaireWithCatiData; - this.getQuestionnaires = questionnaires.getQuestionnaires; - this.questionnaireExists = questionnaires.questionnaireExists; - this.doesQuestionnaireHaveMode = questionnaires.doesQuestionnaireHaveMode; - this.getQuestionnaire = questionnaires.getQuestionnaire; - this.installQuestionnaire = questionnaires.installQuestionnaire; - this.deleteQuestionnaire = questionnaires.deleteQuestionnaire; - this.getQuestionnaireCaseIds = questionnaires.getQuestionnaireCaseIds; - this.getQuestionnaireModes = questionnaires.getQuestionnaireModes; - this.getQuestionnaireSettings = questionnaires.getQuestionnaireSettings; - this.activateQuestionnaire = questionnaires.activateQuestionnaire; - this.deactivateQuestionnaire = questionnaires.deactivateQuestionnaire; - this.getDaybatch = daybatch.getDaybatch; - this.addDaybatch = daybatch.addDaybatch; - this.getSurveyDays = daybatch.getSurveyDays; - this.addSurveyDays = daybatch.addSurveyDays; - this.getCase = cases.getCase; - this.getCaseMultikey = cases.getCaseMultikey; - this.addCase = cases.addCase; - this.updateCase = cases.updateCase; - this.addCaseMultikey = cases.addCaseMultikey; - this.getMultikeyQueryString = cases.getMultikeyQueryString; - this.getCaseStatus = cases.getCaseStatus; - this.getCaseEditInformation = cases.getCaseEditInformation; - this.getDiagnostics = diagnostics.getDiagnostics; - this.getQuestionnaireReportData = reports.getQuestionnaireReportData; - this.blaiseApiUrl = blaiseApiUrl; - this.httpClient = axios.create(); - if ((config === null || config === void 0 ? void 0 : config.timeoutInMs) !== undefined) { - this.httpClient.defaults.timeout = config.timeoutInMs; - } - if (config === null || config === void 0 ? void 0 : config.blaiseApiClientId) { - this.blaiseIapProvider = new BlaiseIapNodeProvider(config.blaiseApiClientId); - } - } - // eslint-disable-next-line class-methods-use-this - BlaiseApiClient.prototype.url = function (url) { - var formattedUrl = url; - if (!formattedUrl.startsWith('/')) { - formattedUrl = "/".concat(formattedUrl); - } - return formattedUrl; - }; - // eslint-disable-next-line @typescript-eslint/no-explicit-any - BlaiseApiClient.prototype.get = function (url) { - return __awaiter(this, void 0, void 0, function () { - var config, response; - return __generator(this, function (_a) { - switch (_a.label) { - case 0: return [4 /*yield*/, this.axiosConfig()]; - case 1: - config = _a.sent(); - return [4 /*yield*/, this.httpClient.get("".concat(this.blaiseApiUrl).concat(this.url(url)), config)]; - case 2: - response = _a.sent(); - return [2 /*return*/, response.data]; - } - }); - }); - }; - // eslint-disable-next-line @typescript-eslint/no-explicit-any, @typescript-eslint/explicit-module-boundary-types - BlaiseApiClient.prototype.post = function (url, data) { - return __awaiter(this, void 0, void 0, function () { - var config, response; - return __generator(this, function (_a) { - switch (_a.label) { - case 0: return [4 /*yield*/, this.axiosConfig()]; - case 1: - config = _a.sent(); - return [4 /*yield*/, this.httpClient.post("".concat(this.blaiseApiUrl).concat(this.url(url)), data, config)]; - case 2: - response = _a.sent(); - return [2 /*return*/, response.data]; - } - }); - }); - }; - // eslint-disable-next-line @typescript-eslint/no-explicit-any - BlaiseApiClient.prototype.delete = function (url) { - return __awaiter(this, void 0, void 0, function () { - var config, response; - return __generator(this, function (_a) { - switch (_a.label) { - case 0: return [4 /*yield*/, this.axiosConfig()]; - case 1: - config = _a.sent(); - return [4 /*yield*/, this.httpClient.delete("".concat(this.blaiseApiUrl).concat(this.url(url)), config)]; - case 2: - response = _a.sent(); - return [2 /*return*/, response.data]; - } - }); - }); - }; - // eslint-disable-next-line @typescript-eslint/no-explicit-any, @typescript-eslint/no-redundant-type-constituents - BlaiseApiClient.prototype.patch = function (url, data) { - if (data === void 0) { data = undefined; } - return __awaiter(this, void 0, void 0, function () { - var config, response; - return __generator(this, function (_a) { - switch (_a.label) { - case 0: return [4 /*yield*/, this.axiosConfig()]; - case 1: - config = _a.sent(); - return [4 /*yield*/, this.httpClient.patch("".concat(this.blaiseApiUrl).concat(this.url(url)), data, config)]; - case 2: - response = _a.sent(); - return [2 /*return*/, response.data]; - } - }); - }); - }; - BlaiseApiClient.prototype.axiosConfig = function () { - return __awaiter(this, void 0, void 0, function () { - var config; - var _a; - return __generator(this, function (_b) { - switch (_b.label) { - case 0: - config = {}; - if (!this.blaiseIapProvider) return [3 /*break*/, 2]; - _a = {}; - return [4 /*yield*/, this.blaiseIapProvider.getAuthHeader()]; - case 1: - config = (_a.headers = _b.sent(), _a); - _b.label = 2; - case 2: return [2 /*return*/, config]; - } - }); - }); - }; - return BlaiseApiClient; -}()); -export default BlaiseApiClient; -export * from './interfaces/questionnaire'; -export * from './interfaces/diagnostic'; -export * from './interfaces/case'; -export * from './interfaces/user'; -export * from './interfaces/daybatch'; -export * from './interfaces/questionnaireReport'; -export * from './enums/caseOutcome'; -export * from './enums/editedStatus'; -export * from './types/caseData'; -export * from './types/surveyDays'; -export * from './mockObjects/caseMockObjects'; -export * from './mockObjects/diagnosticMockObjects'; -export * from './mockObjects/questionnaireMockObjects'; -export * from './mockObjects/userMockObjects'; -export * from './mockObjects/daybatchMockObjects'; -export * from './mockObjects/questionnaireReportMockObjects'; diff --git a/lib/esm/enums/caseOutcome.d.ts b/lib/esm/enums/caseOutcome.d.ts deleted file mode 100644 index 49b6890..0000000 --- a/lib/esm/enums/caseOutcome.d.ts +++ /dev/null @@ -1,41 +0,0 @@ -export declare enum CaseOutcome { - None = 0, - Completed = 110, - CompletedNudge = 120, - CompletedProxy = 130, - Partial = 210, - AppointmentMade = 300, - NonContact = 310, - HQRefusal = 430, - NotAvailable = 440, - HardRefusal = 460, - SoftRefusal = 461, - LanguageDifficultiesHeadOffice = 541, - LanguageDifficultiesInterviewer = 542, - WrongNumber = 542, - DeleteRequestedCompleted = 561, - DeleteRequestedPartial = 562, - IneligibleVacant = 540, - IneligibleNonResidential = 551, - IneligibleInstitution = 560, - IneligibleSecondHome = 580, - ConcernsWontTakePart = 360, - RejectTandCs = 380, - LostAccessCode = 373, - UnableToComplete = 370, - NoInternetAccess = 371, - RequestedDifferentMode = 372, - NoTraceOfAddress = 510, - Under16 = 631, - WrongAddress = 640, - BrailleRequested = 411, - LargePrintRequested = 412, - OtherFormat = 413, - DeleteRequested = 390, - RequestedCopyOfData = 791, - ClarificationOnStudyRequested = 792, - AssistanceRequested = 793, - RequestForContext = 794, - QuestionProblem = 795 -} -export default CaseOutcome; diff --git a/lib/esm/enums/caseOutcome.js b/lib/esm/enums/caseOutcome.js deleted file mode 100644 index 4509f3f..0000000 --- a/lib/esm/enums/caseOutcome.js +++ /dev/null @@ -1,44 +0,0 @@ -// eslint-disable-next-line no-shadow -export var CaseOutcome; -(function (CaseOutcome) { - CaseOutcome[CaseOutcome["None"] = 0] = "None"; - CaseOutcome[CaseOutcome["Completed"] = 110] = "Completed"; - CaseOutcome[CaseOutcome["CompletedNudge"] = 120] = "CompletedNudge"; - CaseOutcome[CaseOutcome["CompletedProxy"] = 130] = "CompletedProxy"; - CaseOutcome[CaseOutcome["Partial"] = 210] = "Partial"; - CaseOutcome[CaseOutcome["AppointmentMade"] = 300] = "AppointmentMade"; - CaseOutcome[CaseOutcome["NonContact"] = 310] = "NonContact"; - CaseOutcome[CaseOutcome["HQRefusal"] = 430] = "HQRefusal"; - CaseOutcome[CaseOutcome["NotAvailable"] = 440] = "NotAvailable"; - CaseOutcome[CaseOutcome["HardRefusal"] = 460] = "HardRefusal"; - CaseOutcome[CaseOutcome["SoftRefusal"] = 461] = "SoftRefusal"; - CaseOutcome[CaseOutcome["LanguageDifficultiesHeadOffice"] = 541] = "LanguageDifficultiesHeadOffice"; - CaseOutcome[CaseOutcome["LanguageDifficultiesInterviewer"] = 542] = "LanguageDifficultiesInterviewer"; - // eslint-disable-next-line @typescript-eslint/no-duplicate-enum-values - CaseOutcome[CaseOutcome["WrongNumber"] = 542] = "WrongNumber"; - CaseOutcome[CaseOutcome["DeleteRequestedCompleted"] = 561] = "DeleteRequestedCompleted"; - CaseOutcome[CaseOutcome["DeleteRequestedPartial"] = 562] = "DeleteRequestedPartial"; - CaseOutcome[CaseOutcome["IneligibleVacant"] = 540] = "IneligibleVacant"; - CaseOutcome[CaseOutcome["IneligibleNonResidential"] = 551] = "IneligibleNonResidential"; - CaseOutcome[CaseOutcome["IneligibleInstitution"] = 560] = "IneligibleInstitution"; - CaseOutcome[CaseOutcome["IneligibleSecondHome"] = 580] = "IneligibleSecondHome"; - CaseOutcome[CaseOutcome["ConcernsWontTakePart"] = 360] = "ConcernsWontTakePart"; - CaseOutcome[CaseOutcome["RejectTandCs"] = 380] = "RejectTandCs"; - CaseOutcome[CaseOutcome["LostAccessCode"] = 373] = "LostAccessCode"; - CaseOutcome[CaseOutcome["UnableToComplete"] = 370] = "UnableToComplete"; - CaseOutcome[CaseOutcome["NoInternetAccess"] = 371] = "NoInternetAccess"; - CaseOutcome[CaseOutcome["RequestedDifferentMode"] = 372] = "RequestedDifferentMode"; - CaseOutcome[CaseOutcome["NoTraceOfAddress"] = 510] = "NoTraceOfAddress"; - CaseOutcome[CaseOutcome["Under16"] = 631] = "Under16"; - CaseOutcome[CaseOutcome["WrongAddress"] = 640] = "WrongAddress"; - CaseOutcome[CaseOutcome["BrailleRequested"] = 411] = "BrailleRequested"; - CaseOutcome[CaseOutcome["LargePrintRequested"] = 412] = "LargePrintRequested"; - CaseOutcome[CaseOutcome["OtherFormat"] = 413] = "OtherFormat"; - CaseOutcome[CaseOutcome["DeleteRequested"] = 390] = "DeleteRequested"; - CaseOutcome[CaseOutcome["RequestedCopyOfData"] = 791] = "RequestedCopyOfData"; - CaseOutcome[CaseOutcome["ClarificationOnStudyRequested"] = 792] = "ClarificationOnStudyRequested"; - CaseOutcome[CaseOutcome["AssistanceRequested"] = 793] = "AssistanceRequested"; - CaseOutcome[CaseOutcome["RequestForContext"] = 794] = "RequestForContext"; - CaseOutcome[CaseOutcome["QuestionProblem"] = 795] = "QuestionProblem"; -})(CaseOutcome || (CaseOutcome = {})); -export default CaseOutcome; diff --git a/lib/esm/enums/editedStatus.d.ts b/lib/esm/enums/editedStatus.d.ts deleted file mode 100644 index 4ab6f7b..0000000 --- a/lib/esm/enums/editedStatus.d.ts +++ /dev/null @@ -1,7 +0,0 @@ -export declare enum EditedStatus { - NotStarted = 0, - Started = 1, - Query = 2, - Finished = 3 -} -export default EditedStatus; diff --git a/lib/esm/enums/editedStatus.js b/lib/esm/enums/editedStatus.js deleted file mode 100644 index 8b02420..0000000 --- a/lib/esm/enums/editedStatus.js +++ /dev/null @@ -1,9 +0,0 @@ -// eslint-disable-next-line no-shadow -export var EditedStatus; -(function (EditedStatus) { - EditedStatus[EditedStatus["NotStarted"] = 0] = "NotStarted"; - EditedStatus[EditedStatus["Started"] = 1] = "Started"; - EditedStatus[EditedStatus["Query"] = 2] = "Query"; - EditedStatus[EditedStatus["Finished"] = 3] = "Finished"; -})(EditedStatus || (EditedStatus = {})); -export default EditedStatus; diff --git a/lib/esm/enums/organisation.d.ts b/lib/esm/enums/organisation.d.ts deleted file mode 100644 index fbee909..0000000 --- a/lib/esm/enums/organisation.d.ts +++ /dev/null @@ -1,6 +0,0 @@ -export declare enum Organisation { - ONS = 1, - NatCen = 2, - Nisra = 3 -} -export default Organisation; diff --git a/lib/esm/enums/organisation.js b/lib/esm/enums/organisation.js deleted file mode 100644 index 2dc3bfc..0000000 --- a/lib/esm/enums/organisation.js +++ /dev/null @@ -1,8 +0,0 @@ -// eslint-disable-next-line no-shadow -export var Organisation; -(function (Organisation) { - Organisation[Organisation["ONS"] = 1] = "ONS"; - Organisation[Organisation["NatCen"] = 2] = "NatCen"; - Organisation[Organisation["Nisra"] = 3] = "Nisra"; -})(Organisation || (Organisation = {})); -export default Organisation; diff --git a/lib/esm/functions/caseFunctions.d.ts b/lib/esm/functions/caseFunctions.d.ts deleted file mode 100644 index 6236798..0000000 --- a/lib/esm/functions/caseFunctions.d.ts +++ /dev/null @@ -1,11 +0,0 @@ -import BlaiseApiClient from '../blaiseApiClient'; -import { CaseEditInformation, CaseResponse, CaseStatus } from '../interfaces/case'; -import { CaseData } from '../types/caseData'; -export declare function getCase(this: BlaiseApiClient, serverpark: string, questionnaireName: string, caseId: string): Promise; -export declare function getMultikeyQueryString(multiKeyValueMap: Map): string; -export declare function getCaseMultikey(this: BlaiseApiClient, serverpark: string, questionnaireName: string, multiKeyValueMap: Map): Promise; -export declare function addCase(this: BlaiseApiClient, serverpark: string, questionnaireName: string, caseId: string, caseFields: CaseData): Promise; -export declare function updateCase(this: BlaiseApiClient, serverpark: string, questionnaireName: string, caseId: string, caseFields: CaseData): Promise; -export declare function addCaseMultikey(this: BlaiseApiClient, serverpark: string, questionnaireName: string, multiKeyValueMap: Map, caseFields: CaseData): Promise; -export declare function getCaseStatus(this: BlaiseApiClient, serverpark: string, questionnaireName: string): Promise; -export declare function getCaseEditInformation(this: BlaiseApiClient, serverpark: string, questionnaireName: string): Promise; diff --git a/lib/esm/functions/caseFunctions.js b/lib/esm/functions/caseFunctions.js deleted file mode 100644 index efc16e0..0000000 --- a/lib/esm/functions/caseFunctions.js +++ /dev/null @@ -1,95 +0,0 @@ -var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { - function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } - return new (P || (P = Promise))(function (resolve, reject) { - function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } - function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } - function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } - step((generator = generator.apply(thisArg, _arguments || [])).next()); - }); -}; -var __generator = (this && this.__generator) || function (thisArg, body) { - var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g; - return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g; - function verb(n) { return function (v) { return step([n, v]); }; } - function step(op) { - if (f) throw new TypeError("Generator is already executing."); - while (g && (g = 0, op[0] && (_ = 0)), _) try { - if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t; - if (y = 0, t) op = [op[0] & 2, t.value]; - switch (op[0]) { - case 0: case 1: t = op; break; - case 4: _.label++; return { value: op[1], done: false }; - case 5: _.label++; y = op[1]; op = [0]; continue; - case 7: op = _.ops.pop(); _.trys.pop(); continue; - default: - if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; } - if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; } - if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; } - if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; } - if (t[2]) _.ops.pop(); - _.trys.pop(); continue; - } - op = body.call(thisArg, _); - } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; } - if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true }; - } -}; -export function getCase(serverpark, questionnaireName, caseId) { - return __awaiter(this, void 0, void 0, function () { - return __generator(this, function (_a) { - return [2 /*return*/, this.get("api/v2/serverparks/".concat(serverpark, "/questionnaires/").concat(questionnaireName, "/cases/").concat(caseId))]; - }); - }); -} -export function getMultikeyQueryString(multiKeyValueMap) { - var keyNamesQueryString = "keyNames=".concat(Array.from(multiKeyValueMap.keys()).join('&keyNames=')); - var keyValuesQueryString = "keyValues=".concat(Array.from(multiKeyValueMap.values()).join('&keyValues=')); - var keyValueQueryString = "".concat(keyNamesQueryString, "&").concat(keyValuesQueryString); - return keyValueQueryString; -} -export function getCaseMultikey(serverpark, questionnaireName, multiKeyValueMap) { - return __awaiter(this, void 0, void 0, function () { - var queryString; - return __generator(this, function (_a) { - queryString = getMultikeyQueryString(multiKeyValueMap); - return [2 /*return*/, this.get("api/v2/serverparks/".concat(serverpark, "/questionnaires/").concat(questionnaireName, "/cases/multikey?").concat(queryString))]; - }); - }); -} -export function addCase(serverpark, questionnaireName, caseId, caseFields) { - return __awaiter(this, void 0, void 0, function () { - return __generator(this, function (_a) { - return [2 /*return*/, this.post("api/v2/serverparks/".concat(serverpark, "/questionnaires/").concat(questionnaireName, "/cases/").concat(caseId), caseFields)]; - }); - }); -} -export function updateCase(serverpark, questionnaireName, caseId, caseFields) { - return __awaiter(this, void 0, void 0, function () { - return __generator(this, function (_a) { - return [2 /*return*/, this.patch("api/v2/serverparks/".concat(serverpark, "/questionnaires/").concat(questionnaireName, "/cases/").concat(caseId), caseFields)]; - }); - }); -} -export function addCaseMultikey(serverpark, questionnaireName, multiKeyValueMap, caseFields) { - return __awaiter(this, void 0, void 0, function () { - var queryString; - return __generator(this, function (_a) { - queryString = getMultikeyQueryString(multiKeyValueMap); - return [2 /*return*/, this.post("api/v2/serverparks/".concat(serverpark, "/questionnaires/").concat(questionnaireName, "/cases/multikey?").concat(queryString), caseFields)]; - }); - }); -} -export function getCaseStatus(serverpark, questionnaireName) { - return __awaiter(this, void 0, void 0, function () { - return __generator(this, function (_a) { - return [2 /*return*/, this.get("api/v2/serverparks/".concat(serverpark, "/questionnaires/").concat(questionnaireName, "/cases/status"))]; - }); - }); -} -export function getCaseEditInformation(serverpark, questionnaireName) { - return __awaiter(this, void 0, void 0, function () { - return __generator(this, function (_a) { - return [2 /*return*/, this.get("api/v2/serverparks/".concat(serverpark, "/questionnaires/").concat(questionnaireName, "/cases/edit"))]; - }); - }); -} diff --git a/lib/esm/functions/daybatchFunctions.d.ts b/lib/esm/functions/daybatchFunctions.d.ts deleted file mode 100644 index 551226a..0000000 --- a/lib/esm/functions/daybatchFunctions.d.ts +++ /dev/null @@ -1,7 +0,0 @@ -import BlaiseApiClient from '../blaiseApiClient'; -import { DaybatchResponse, DaybatchSettings } from '../interfaces/daybatch'; -import { SurveyDays } from '../types/surveyDays'; -export declare function getDaybatch(this: BlaiseApiClient, serverpark: string, questionnaireName: string): Promise; -export declare function addDaybatch(this: BlaiseApiClient, serverpark: string, questionnaireName: string, daybatchSettings: DaybatchSettings): Promise; -export declare function getSurveyDays(this: BlaiseApiClient, serverpark: string, questionnaireName: string): Promise; -export declare function addSurveyDays(this: BlaiseApiClient, serverpark: string, questionnaireName: string, surveyDays: SurveyDays): Promise; diff --git a/lib/esm/functions/daybatchFunctions.js b/lib/esm/functions/daybatchFunctions.js deleted file mode 100644 index fe01c1a..0000000 --- a/lib/esm/functions/daybatchFunctions.js +++ /dev/null @@ -1,71 +0,0 @@ -var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { - function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } - return new (P || (P = Promise))(function (resolve, reject) { - function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } - function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } - function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } - step((generator = generator.apply(thisArg, _arguments || [])).next()); - }); -}; -var __generator = (this && this.__generator) || function (thisArg, body) { - var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g; - return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g; - function verb(n) { return function (v) { return step([n, v]); }; } - function step(op) { - if (f) throw new TypeError("Generator is already executing."); - while (g && (g = 0, op[0] && (_ = 0)), _) try { - if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t; - if (y = 0, t) op = [op[0] & 2, t.value]; - switch (op[0]) { - case 0: case 1: t = op; break; - case 4: _.label++; return { value: op[1], done: false }; - case 5: _.label++; y = op[1]; op = [0]; continue; - case 7: op = _.ops.pop(); _.trys.pop(); continue; - default: - if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; } - if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; } - if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; } - if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; } - if (t[2]) _.ops.pop(); - _.trys.pop(); continue; - } - op = body.call(thisArg, _); - } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; } - if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true }; - } -}; -export function getDaybatch(serverpark, questionnaireName) { - return __awaiter(this, void 0, void 0, function () { - return __generator(this, function (_a) { - return [2 /*return*/, this.get("/api/v2/cati/serverparks/".concat(serverpark, "/questionnaires/").concat(questionnaireName, "/daybatch"))]; - }); - }); -} -export function addDaybatch(serverpark, questionnaireName, daybatchSettings) { - return __awaiter(this, void 0, void 0, function () { - return __generator(this, function (_a) { - return [2 /*return*/, this.post("/api/v2/cati/serverparks/".concat(serverpark, "/questionnaires/").concat(questionnaireName, "/daybatch"), daybatchSettings)]; - }); - }); -} -export function getSurveyDays(serverpark, questionnaireName) { - return __awaiter(this, void 0, void 0, function () { - return __generator(this, function (_a) { - return [2 /*return*/, this.get("api/v2/cati/serverparks/".concat(serverpark, "/questionnaires/").concat(questionnaireName, "/surveydays"))]; - }); - }); -} -export function addSurveyDays(serverpark, questionnaireName, surveyDays) { - return __awaiter(this, void 0, void 0, function () { - var formattedSurveyDays; - return __generator(this, function (_a) { - formattedSurveyDays = surveyDays.map(function (surveyDay) { - if (surveyDay instanceof Date) { - return surveyDay.toISOString(); - } - return surveyDay; - }); - return [2 /*return*/, this.post("api/v2/cati/serverparks/".concat(serverpark, "/questionnaires/").concat(questionnaireName, "/surveydays"), formattedSurveyDays)]; - }); - }); -} diff --git a/lib/esm/functions/diagnosticFunctions.d.ts b/lib/esm/functions/diagnosticFunctions.d.ts deleted file mode 100644 index b408f20..0000000 --- a/lib/esm/functions/diagnosticFunctions.d.ts +++ /dev/null @@ -1,4 +0,0 @@ -import BlaiseApiClient from '../blaiseApiClient'; -import { Diagnostic } from '../interfaces/diagnostic'; -export declare function getDiagnostics(this: BlaiseApiClient): Promise; -export default getDiagnostics; diff --git a/lib/esm/functions/diagnosticFunctions.js b/lib/esm/functions/diagnosticFunctions.js deleted file mode 100644 index 7bf1113..0000000 --- a/lib/esm/functions/diagnosticFunctions.js +++ /dev/null @@ -1,44 +0,0 @@ -var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { - function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } - return new (P || (P = Promise))(function (resolve, reject) { - function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } - function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } - function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } - step((generator = generator.apply(thisArg, _arguments || [])).next()); - }); -}; -var __generator = (this && this.__generator) || function (thisArg, body) { - var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g; - return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g; - function verb(n) { return function (v) { return step([n, v]); }; } - function step(op) { - if (f) throw new TypeError("Generator is already executing."); - while (g && (g = 0, op[0] && (_ = 0)), _) try { - if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t; - if (y = 0, t) op = [op[0] & 2, t.value]; - switch (op[0]) { - case 0: case 1: t = op; break; - case 4: _.label++; return { value: op[1], done: false }; - case 5: _.label++; y = op[1]; op = [0]; continue; - case 7: op = _.ops.pop(); _.trys.pop(); continue; - default: - if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; } - if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; } - if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; } - if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; } - if (t[2]) _.ops.pop(); - _.trys.pop(); continue; - } - op = body.call(thisArg, _); - } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; } - if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true }; - } -}; -export function getDiagnostics() { - return __awaiter(this, void 0, void 0, function () { - return __generator(this, function (_a) { - return [2 /*return*/, this.get('/api/v2/health/diagnosis')]; - }); - }); -} -export default getDiagnostics; diff --git a/lib/esm/functions/questionnaireFunctions.d.ts b/lib/esm/functions/questionnaireFunctions.d.ts deleted file mode 100644 index ee385e5..0000000 --- a/lib/esm/functions/questionnaireFunctions.d.ts +++ /dev/null @@ -1,16 +0,0 @@ -import BlaiseApiClient from '../blaiseApiClient'; -import { InstallQuestionnaire, InstallQuestionnaireResponse, Questionnaire, QuestionnaireSettings } from '../interfaces/questionnaire'; -export declare function getAllQuestionnairesWithCatiData(this: BlaiseApiClient): Promise; -export declare function getQuestionnairesWithCatiData(this: BlaiseApiClient, serverpark: string): Promise; -export declare function getQuestionnaireWithCatiData(this: BlaiseApiClient, serverpark: string, questionnaireName: string): Promise; -export declare function getQuestionnaires(this: BlaiseApiClient, serverpark: string): Promise; -export declare function questionnaireExists(this: BlaiseApiClient, serverpark: string, questionnaireName: string): Promise; -export declare function doesQuestionnaireHaveMode(this: BlaiseApiClient, serverpark: string, questionnaireName: string, mode: string): Promise; -export declare function getQuestionnaire(this: BlaiseApiClient, serverpark: string, questionnaireName: string): Promise; -export declare function installQuestionnaire(this: BlaiseApiClient, serverpark: string, questionnaire: InstallQuestionnaire): Promise; -export declare function deleteQuestionnaire(this: BlaiseApiClient, serverpark: string, questionnaireName: string): Promise; -export declare function getQuestionnaireCaseIds(this: BlaiseApiClient, serverpark: string, questionnaireName: string): Promise; -export declare function getQuestionnaireModes(this: BlaiseApiClient, serverpark: string, questionnaireName: string): Promise; -export declare function getQuestionnaireSettings(this: BlaiseApiClient, serverpark: string, questionnaireName: string): Promise; -export declare function activateQuestionnaire(this: BlaiseApiClient, serverpark: string, questionnaireName: string): Promise; -export declare function deactivateQuestionnaire(this: BlaiseApiClient, serverpark: string, questionnaireName: string): Promise; diff --git a/lib/esm/functions/questionnaireFunctions.js b/lib/esm/functions/questionnaireFunctions.js deleted file mode 100644 index 147e8bc..0000000 --- a/lib/esm/functions/questionnaireFunctions.js +++ /dev/null @@ -1,134 +0,0 @@ -var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { - function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } - return new (P || (P = Promise))(function (resolve, reject) { - function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } - function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } - function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } - step((generator = generator.apply(thisArg, _arguments || [])).next()); - }); -}; -var __generator = (this && this.__generator) || function (thisArg, body) { - var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g; - return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g; - function verb(n) { return function (v) { return step([n, v]); }; } - function step(op) { - if (f) throw new TypeError("Generator is already executing."); - while (g && (g = 0, op[0] && (_ = 0)), _) try { - if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t; - if (y = 0, t) op = [op[0] & 2, t.value]; - switch (op[0]) { - case 0: case 1: t = op; break; - case 4: _.label++; return { value: op[1], done: false }; - case 5: _.label++; y = op[1]; op = [0]; continue; - case 7: op = _.ops.pop(); _.trys.pop(); continue; - default: - if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; } - if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; } - if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; } - if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; } - if (t[2]) _.ops.pop(); - _.trys.pop(); continue; - } - op = body.call(thisArg, _); - } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; } - if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true }; - } -}; -export function getAllQuestionnairesWithCatiData() { - return __awaiter(this, void 0, void 0, function () { - return __generator(this, function (_a) { - return [2 /*return*/, this.get('/api/v2/cati/questionnaires')]; - }); - }); -} -export function getQuestionnairesWithCatiData(serverpark) { - return __awaiter(this, void 0, void 0, function () { - return __generator(this, function (_a) { - return [2 /*return*/, this.get("/api/v2/cati/serverparks/".concat(serverpark, "/questionnaires"))]; - }); - }); -} -export function getQuestionnaireWithCatiData(serverpark, questionnaireName) { - return __awaiter(this, void 0, void 0, function () { - return __generator(this, function (_a) { - return [2 /*return*/, this.get("/api/v2/cati/serverparks/".concat(serverpark, "/questionnaires/").concat(questionnaireName))]; - }); - }); -} -export function getQuestionnaires(serverpark) { - return __awaiter(this, void 0, void 0, function () { - return __generator(this, function (_a) { - return [2 /*return*/, this.get("/api/v2/serverparks/".concat(serverpark, "/questionnaires"))]; - }); - }); -} -export function questionnaireExists(serverpark, questionnaireName) { - return __awaiter(this, void 0, void 0, function () { - return __generator(this, function (_a) { - return [2 /*return*/, this.get("/api/v2/serverparks/".concat(serverpark, "/questionnaires/").concat(questionnaireName, "/exists"))]; - }); - }); -} -export function doesQuestionnaireHaveMode(serverpark, questionnaireName, mode) { - return __awaiter(this, void 0, void 0, function () { - return __generator(this, function (_a) { - return [2 /*return*/, this.get("/api/v2/serverparks/".concat(serverpark, "/questionnaires/").concat(questionnaireName, "/modes/").concat(mode))]; - }); - }); -} -export function getQuestionnaire(serverpark, questionnaireName) { - return __awaiter(this, void 0, void 0, function () { - return __generator(this, function (_a) { - return [2 /*return*/, this.get("/api/v2/serverparks/".concat(serverpark, "/questionnaires/").concat(questionnaireName))]; - }); - }); -} -export function installQuestionnaire(serverpark, questionnaire) { - return __awaiter(this, void 0, void 0, function () { - return __generator(this, function (_a) { - return [2 /*return*/, this.post("/api/v2/serverparks/".concat(serverpark, "/questionnaires"), questionnaire)]; - }); - }); -} -export function deleteQuestionnaire(serverpark, questionnaireName) { - return __awaiter(this, void 0, void 0, function () { - return __generator(this, function (_a) { - return [2 /*return*/, this.delete("/api/v2/serverparks/".concat(serverpark, "/questionnaires/").concat(questionnaireName, "?name=").concat(questionnaireName))]; - }); - }); -} -export function getQuestionnaireCaseIds(serverpark, questionnaireName) { - return __awaiter(this, void 0, void 0, function () { - return __generator(this, function (_a) { - return [2 /*return*/, this.get("/api/v2/serverparks/".concat(serverpark, "/questionnaires/").concat(questionnaireName, "/cases/ids"))]; - }); - }); -} -export function getQuestionnaireModes(serverpark, questionnaireName) { - return __awaiter(this, void 0, void 0, function () { - return __generator(this, function (_a) { - return [2 /*return*/, this.get("/api/v2/serverparks/".concat(serverpark, "/questionnaires/").concat(questionnaireName, "/modes"))]; - }); - }); -} -export function getQuestionnaireSettings(serverpark, questionnaireName) { - return __awaiter(this, void 0, void 0, function () { - return __generator(this, function (_a) { - return [2 /*return*/, this.get("/api/v2/serverparks/".concat(serverpark, "/questionnaires/").concat(questionnaireName, "/settings"))]; - }); - }); -} -export function activateQuestionnaire(serverpark, questionnaireName) { - return __awaiter(this, void 0, void 0, function () { - return __generator(this, function (_a) { - return [2 /*return*/, this.patch("api/v2/serverparks/".concat(serverpark, "/questionnaires/").concat(questionnaireName, "/activate"))]; - }); - }); -} -export function deactivateQuestionnaire(serverpark, questionnaireName) { - return __awaiter(this, void 0, void 0, function () { - return __generator(this, function (_a) { - return [2 /*return*/, this.patch("api/v2/serverparks/".concat(serverpark, "/questionnaires/").concat(questionnaireName, "/deactivate"))]; - }); - }); -} diff --git a/lib/esm/functions/questionnaireReportFunctions.d.ts b/lib/esm/functions/questionnaireReportFunctions.d.ts deleted file mode 100644 index 3416c07..0000000 --- a/lib/esm/functions/questionnaireReportFunctions.d.ts +++ /dev/null @@ -1,4 +0,0 @@ -import BlaiseApiClient from '../blaiseApiClient'; -import { QuestionnaireReport } from '../interfaces/questionnaireReport'; -export declare function getQuestionnaireReportData(this: BlaiseApiClient, serverpark: string, questionnaireName: string, fieldIds: string[]): Promise; -export default getQuestionnaireReportData; diff --git a/lib/esm/functions/questionnaireReportFunctions.js b/lib/esm/functions/questionnaireReportFunctions.js deleted file mode 100644 index 15d9642..0000000 --- a/lib/esm/functions/questionnaireReportFunctions.js +++ /dev/null @@ -1,49 +0,0 @@ -var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { - function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } - return new (P || (P = Promise))(function (resolve, reject) { - function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } - function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } - function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } - step((generator = generator.apply(thisArg, _arguments || [])).next()); - }); -}; -var __generator = (this && this.__generator) || function (thisArg, body) { - var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g; - return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g; - function verb(n) { return function (v) { return step([n, v]); }; } - function step(op) { - if (f) throw new TypeError("Generator is already executing."); - while (g && (g = 0, op[0] && (_ = 0)), _) try { - if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t; - if (y = 0, t) op = [op[0] & 2, t.value]; - switch (op[0]) { - case 0: case 1: t = op; break; - case 4: _.label++; return { value: op[1], done: false }; - case 5: _.label++; y = op[1]; op = [0]; continue; - case 7: op = _.ops.pop(); _.trys.pop(); continue; - default: - if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; } - if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; } - if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; } - if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; } - if (t[2]) _.ops.pop(); - _.trys.pop(); continue; - } - op = body.call(thisArg, _); - } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; } - if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true }; - } -}; -export function getQuestionnaireReportData(serverpark, questionnaireName, fieldIds) { - return __awaiter(this, void 0, void 0, function () { - var queryArray; - return __generator(this, function (_a) { - queryArray = []; - fieldIds.forEach(function (fieldId) { - queryArray.push("fieldIds=".concat(fieldId)); - }); - return [2 /*return*/, this.get("/api/v2/serverparks/".concat(serverpark, "/questionnaires/").concat(questionnaireName, "/report?").concat(queryArray.join('&')))]; - }); - }); -} -export default getQuestionnaireReportData; diff --git a/lib/esm/functions/userFunctions.d.ts b/lib/esm/functions/userFunctions.d.ts deleted file mode 100644 index 4d284b5..0000000 --- a/lib/esm/functions/userFunctions.d.ts +++ /dev/null @@ -1,11 +0,0 @@ -import BlaiseApiClient from '../blaiseApiClient'; -import { NewUser, User, UserRole } from '../interfaces/user'; -export declare function getUser(this: BlaiseApiClient, username: string): Promise; -export declare function getUsers(this: BlaiseApiClient): Promise; -export declare function validatePassword(this: BlaiseApiClient, username: string, password: string): Promise; -export declare function createUser(this: BlaiseApiClient, user: NewUser): Promise; -export declare function deleteUser(this: BlaiseApiClient, username: string): Promise; -export declare function getUserRoles(this: BlaiseApiClient): Promise; -export declare function changeUserRole(this: BlaiseApiClient, username: string, role: string): Promise; -export declare function changeUserServerParks(this: BlaiseApiClient, username: string, serverParks: string[], defaultServerPark: string): Promise; -export declare function changePassword(this: BlaiseApiClient, username: string, password: string): Promise; diff --git a/lib/esm/functions/userFunctions.js b/lib/esm/functions/userFunctions.js deleted file mode 100644 index 6775e1b..0000000 --- a/lib/esm/functions/userFunctions.js +++ /dev/null @@ -1,107 +0,0 @@ -var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { - function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } - return new (P || (P = Promise))(function (resolve, reject) { - function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } - function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } - function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } - step((generator = generator.apply(thisArg, _arguments || [])).next()); - }); -}; -var __generator = (this && this.__generator) || function (thisArg, body) { - var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g; - return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g; - function verb(n) { return function (v) { return step([n, v]); }; } - function step(op) { - if (f) throw new TypeError("Generator is already executing."); - while (g && (g = 0, op[0] && (_ = 0)), _) try { - if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t; - if (y = 0, t) op = [op[0] & 2, t.value]; - switch (op[0]) { - case 0: case 1: t = op; break; - case 4: _.label++; return { value: op[1], done: false }; - case 5: _.label++; y = op[1]; op = [0]; continue; - case 7: op = _.ops.pop(); _.trys.pop(); continue; - default: - if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; } - if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; } - if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; } - if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; } - if (t[2]) _.ops.pop(); - _.trys.pop(); continue; - } - op = body.call(thisArg, _); - } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; } - if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true }; - } -}; -export function getUser(username) { - return __awaiter(this, void 0, void 0, function () { - return __generator(this, function (_a) { - return [2 /*return*/, this.get("api/v2/users/".concat(username))]; - }); - }); -} -export function getUsers() { - return __awaiter(this, void 0, void 0, function () { - return __generator(this, function (_a) { - return [2 /*return*/, this.get('api/v2/users')]; - }); - }); -} -export function validatePassword(username, password) { - return __awaiter(this, void 0, void 0, function () { - var validationRequest; - return __generator(this, function (_a) { - validationRequest = { password: password }; - return [2 /*return*/, this.post("api/v2/users/".concat(username, "/validate"), validationRequest)]; - }); - }); -} -export function createUser(user) { - return __awaiter(this, void 0, void 0, function () { - return __generator(this, function (_a) { - return [2 /*return*/, this.post('/api/v2/users', user)]; - }); - }); -} -export function deleteUser(username) { - return __awaiter(this, void 0, void 0, function () { - return __generator(this, function (_a) { - return [2 /*return*/, this.delete("/api/v2/users/".concat(username))]; - }); - }); -} -export function getUserRoles() { - return __awaiter(this, void 0, void 0, function () { - return __generator(this, function (_a) { - return [2 /*return*/, this.get('/api/v2/userroles')]; - }); - }); -} -export function changeUserRole(username, role) { - return __awaiter(this, void 0, void 0, function () { - var roleRequest; - return __generator(this, function (_a) { - roleRequest = { role: role }; - return [2 /*return*/, this.patch("/api/v2/users/".concat(username, "/role"), roleRequest)]; - }); - }); -} -export function changeUserServerParks(username, serverParks, defaultServerPark) { - return __awaiter(this, void 0, void 0, function () { - var serverParksRequest; - return __generator(this, function (_a) { - serverParksRequest = { serverParks: serverParks, defaultServerPark: defaultServerPark }; - return [2 /*return*/, this.patch("/api/v2/users/".concat(username, "/serverparks"), serverParksRequest)]; - }); - }); -} -export function changePassword(username, password) { - return __awaiter(this, void 0, void 0, function () { - var passwordRequest; - return __generator(this, function (_a) { - passwordRequest = { password: password }; - return [2 /*return*/, this.patch("/api/v2/users/".concat(username, "/password"), passwordRequest)]; - }); - }); -} diff --git a/lib/esm/interfaces/blaiseApi.d.ts b/lib/esm/interfaces/blaiseApi.d.ts deleted file mode 100644 index d672c06..0000000 --- a/lib/esm/interfaces/blaiseApi.d.ts +++ /dev/null @@ -1,4 +0,0 @@ -import { Questionnaire } from './questionnaire'; -export interface BlaiseApi { - getQuestionnaires(serverPark: string): Promise; -} diff --git a/lib/esm/interfaces/blaiseApi.js b/lib/esm/interfaces/blaiseApi.js deleted file mode 100644 index cb0ff5c..0000000 --- a/lib/esm/interfaces/blaiseApi.js +++ /dev/null @@ -1 +0,0 @@ -export {}; diff --git a/lib/esm/interfaces/blaiseApiConfig.d.ts b/lib/esm/interfaces/blaiseApiConfig.d.ts deleted file mode 100644 index bfe11b0..0000000 --- a/lib/esm/interfaces/blaiseApiConfig.d.ts +++ /dev/null @@ -1,4 +0,0 @@ -export interface BlaiseApiConfig { - timeoutInMs?: number; - blaiseApiClientId?: string; -} diff --git a/lib/esm/interfaces/blaiseApiConfig.js b/lib/esm/interfaces/blaiseApiConfig.js deleted file mode 100644 index cb0ff5c..0000000 --- a/lib/esm/interfaces/blaiseApiConfig.js +++ /dev/null @@ -1 +0,0 @@ -export {}; diff --git a/lib/esm/interfaces/case.d.ts b/lib/esm/interfaces/case.d.ts deleted file mode 100644 index 9751407..0000000 --- a/lib/esm/interfaces/case.d.ts +++ /dev/null @@ -1,22 +0,0 @@ -import { EditedStatus } from '../blaiseApiClient'; -import { CaseOutcome } from '../enums/caseOutcome'; -import Organisation from '../enums/organisation'; -import { CaseData } from '../types/caseData'; -export interface CaseResponse { - caseId: string; - fieldData: CaseData; -} -export interface CaseStatus { - primaryKey: string; - outcome: CaseOutcome; -} -export interface CaseEditInformation { - primaryKey: string; - outcome: CaseOutcome; - assignedTo: string; - interviewer: string; - editedStatus: EditedStatus; - organisation: Organisation; - editUrl: string; - readOnlyUrl: string; -} diff --git a/lib/esm/interfaces/case.js b/lib/esm/interfaces/case.js deleted file mode 100644 index cb0ff5c..0000000 --- a/lib/esm/interfaces/case.js +++ /dev/null @@ -1 +0,0 @@ -export {}; diff --git a/lib/esm/interfaces/daybatch.d.ts b/lib/esm/interfaces/daybatch.d.ts deleted file mode 100644 index 973b236..0000000 --- a/lib/esm/interfaces/daybatch.d.ts +++ /dev/null @@ -1,8 +0,0 @@ -export interface DaybatchResponse { - dayBatchDate: string; - caseIds: string[]; -} -export interface DaybatchSettings { - dayBatchDate: string; - checkForTreatedCases: boolean; -} diff --git a/lib/esm/interfaces/daybatch.js b/lib/esm/interfaces/daybatch.js deleted file mode 100644 index cb0ff5c..0000000 --- a/lib/esm/interfaces/daybatch.js +++ /dev/null @@ -1 +0,0 @@ -export {}; diff --git a/lib/esm/interfaces/diagnostic.d.ts b/lib/esm/interfaces/diagnostic.d.ts deleted file mode 100644 index 6de4b1a..0000000 --- a/lib/esm/interfaces/diagnostic.d.ts +++ /dev/null @@ -1,4 +0,0 @@ -export interface Diagnostic { - 'health check type': string; - status: string; -} diff --git a/lib/esm/interfaces/diagnostic.js b/lib/esm/interfaces/diagnostic.js deleted file mode 100644 index cb0ff5c..0000000 --- a/lib/esm/interfaces/diagnostic.js +++ /dev/null @@ -1 +0,0 @@ -export {}; diff --git a/lib/esm/interfaces/questionnaire.d.ts b/lib/esm/interfaces/questionnaire.d.ts deleted file mode 100644 index 92c0e5b..0000000 --- a/lib/esm/interfaces/questionnaire.d.ts +++ /dev/null @@ -1,36 +0,0 @@ -export interface Node { - nodeName: string; - nodeStatus: string; -} -export interface Questionnaire { - installDate: string; - name: string; - expired?: boolean; - serverParkName: string; - activeToday?: boolean; - surveyDays?: string[]; - link?: string; - fieldPeriod?: string; - surveyTla?: string; - dataRecordCount?: number; - status?: string; - hasData?: boolean; - nodes?: Node[]; - active?: boolean; - blaiseVersion?: string; -} -export interface InstallQuestionnaire { - questionnaireFile: string; -} -export interface InstallQuestionnaireResponse { - questionnaireFile: string; -} -export interface QuestionnaireSettings { - type: string; - saveSessionOnTimeout: boolean; - saveSessionOnQuit: boolean; - deleteSessionOnTimeout: boolean; - deleteSessionOnQuit: boolean; - sessionTimeout: number; - applyRecordLocking: boolean; -} diff --git a/lib/esm/interfaces/questionnaire.js b/lib/esm/interfaces/questionnaire.js deleted file mode 100644 index cb0ff5c..0000000 --- a/lib/esm/interfaces/questionnaire.js +++ /dev/null @@ -1 +0,0 @@ -export {}; diff --git a/lib/esm/interfaces/questionnaireReport.d.ts b/lib/esm/interfaces/questionnaireReport.d.ts deleted file mode 100644 index 01f1ec3..0000000 --- a/lib/esm/interfaces/questionnaireReport.d.ts +++ /dev/null @@ -1,6 +0,0 @@ -import { CaseData } from '../types/caseData'; -export interface QuestionnaireReport { - questionnaireName: string; - questionnaireId: string; - reportingData: CaseData[]; -} diff --git a/lib/esm/interfaces/questionnaireReport.js b/lib/esm/interfaces/questionnaireReport.js deleted file mode 100644 index cb0ff5c..0000000 --- a/lib/esm/interfaces/questionnaireReport.js +++ /dev/null @@ -1 +0,0 @@ -export {}; diff --git a/lib/esm/interfaces/survey.d.ts b/lib/esm/interfaces/survey.d.ts deleted file mode 100644 index 9ff2bfc..0000000 --- a/lib/esm/interfaces/survey.d.ts +++ /dev/null @@ -1,5 +0,0 @@ -import { Questionnaire } from './questionnaire'; -export interface Survey { - questionnaires: Questionnaire[]; - survey: string; -} diff --git a/lib/esm/interfaces/survey.js b/lib/esm/interfaces/survey.js deleted file mode 100644 index cb0ff5c..0000000 --- a/lib/esm/interfaces/survey.js +++ /dev/null @@ -1 +0,0 @@ -export {}; diff --git a/lib/esm/interfaces/user.d.ts b/lib/esm/interfaces/user.d.ts deleted file mode 100644 index 17e2c7a..0000000 --- a/lib/esm/interfaces/user.d.ts +++ /dev/null @@ -1,20 +0,0 @@ -export interface User { - name: string; - role: string; - serverParks: string[]; - defaultServerPark: string; -} -export interface PasswordRequest { - password: string; -} -export interface RoleRequest { - role: string; -} -export interface UserRole { - name: string; - description: string; - permissions: string[]; -} -export interface NewUser extends User { - password: string; -} diff --git a/lib/esm/interfaces/user.js b/lib/esm/interfaces/user.js deleted file mode 100644 index cb0ff5c..0000000 --- a/lib/esm/interfaces/user.js +++ /dev/null @@ -1 +0,0 @@ -export {}; diff --git a/lib/esm/mockObjects/caseMockObjects.d.ts b/lib/esm/mockObjects/caseMockObjects.d.ts deleted file mode 100644 index 4a073fa..0000000 --- a/lib/esm/mockObjects/caseMockObjects.d.ts +++ /dev/null @@ -1,4 +0,0 @@ -import { CaseEditInformation, CaseResponse, CaseStatus } from '../interfaces/case'; -export declare const CaseStatusListMockObject: CaseStatus[]; -export declare const CaseResponseMockObject: CaseResponse; -export declare const CaseEditInformationListMockObject: CaseEditInformation[]; diff --git a/lib/esm/mockObjects/caseMockObjects.js b/lib/esm/mockObjects/caseMockObjects.js deleted file mode 100644 index 303c485..0000000 --- a/lib/esm/mockObjects/caseMockObjects.js +++ /dev/null @@ -1,62 +0,0 @@ -export var CaseStatusListMockObject = [{ - primaryKey: '1', - outcome: 110, - }, { - primaryKey: '2', - outcome: 310, - }, { - primaryKey: '3', - outcome: 0, - }]; -export var CaseResponseMockObject = { - caseId: '1', - fieldData: { - 'qiD.Serial_Number': '1', - 'qDataBag.Prem1': 'Flat 1', - 'qDataBag.Prem2': 'Richmond House', - 'qDataBag.Prem3': 'Rice Road', - 'qDataBag.Prem4': '', - 'qDataBag.District': 'Gwent', - 'qDataBag.PostTown': 'Newport', - 'qDataBag.PostCode': 'NZ11 4PD', - 'qhAdmin.HOut': '100', - 'qhAdmin.Interviewer[1]': 'rich', - 'dmName[1]': 'Richmond Ricecake', - 'dmDteOfBth[1]': '1980-01-15', - 'dmName[2]': 'Richmond Junior', - 'dmDteOfBth[2]': '2005-04-12', - dmhSize: '2', - }, -}; -export var CaseEditInformationListMockObject = [ - { - primaryKey: '100101', - outcome: 110, - assignedTo: 'Rich', - interviewer: 'Jane Doe', - editedStatus: 3, - organisation: 1, - editUrl: '', - readOnlyUrl: '', - }, - { - primaryKey: '100102', - outcome: 210, - assignedTo: 'Jake', - interviewer: 'Bob Roberts', - editedStatus: 3, - organisation: 1, - editUrl: '', - readOnlyUrl: '', - }, - { - primaryKey: '100113', - outcome: 430, - assignedTo: 'Jamie', - interviewer: 'Frank Frankinson', - editedStatus: 3, - organisation: 1, - editUrl: '', - readOnlyUrl: '', - }, -]; diff --git a/lib/esm/mockObjects/daybatchMockObjects.d.ts b/lib/esm/mockObjects/daybatchMockObjects.d.ts deleted file mode 100644 index 5902f2f..0000000 --- a/lib/esm/mockObjects/daybatchMockObjects.d.ts +++ /dev/null @@ -1,6 +0,0 @@ -import { DaybatchResponse, DaybatchSettings } from '../interfaces/daybatch'; -import { SurveyDays } from '../types/surveyDays'; -export declare const QuestionnaireDaybatchCasesMock: DaybatchResponse[]; -export declare const AddDaybatchMock: DaybatchSettings; -export declare const SurveyDaysMock: string[]; -export declare const SurveyDaysDatesMock: SurveyDays; diff --git a/lib/esm/mockObjects/daybatchMockObjects.js b/lib/esm/mockObjects/daybatchMockObjects.js deleted file mode 100644 index acf6591..0000000 --- a/lib/esm/mockObjects/daybatchMockObjects.js +++ /dev/null @@ -1,21 +0,0 @@ -export var QuestionnaireDaybatchCasesMock = [ - { - dayBatchDate: '2021-01-15T14:41:29.4399898+00:00', - caseIds: [ - '100101', - '100102', - '100103', - '100104', - ], - }, -]; -export var AddDaybatchMock = { - dayBatchDate: '2021-01-15T14:41:29.4399898+00:00', - checkForTreatedCases: true, -}; -export var SurveyDaysMock = [ - '2021-01-15T14:41:29.4399898+00:00', -]; -export var SurveyDaysDatesMock = [ - new Date('2021-01-15T14:41:29.4399898+00:00'), -]; diff --git a/lib/esm/mockObjects/diagnosticMockObjects.d.ts b/lib/esm/mockObjects/diagnosticMockObjects.d.ts deleted file mode 100644 index 60a9781..0000000 --- a/lib/esm/mockObjects/diagnosticMockObjects.d.ts +++ /dev/null @@ -1,3 +0,0 @@ -import { Diagnostic } from '../interfaces/diagnostic'; -export declare const DiagnosticMockObject: Diagnostic[]; -export default DiagnosticMockObject; diff --git a/lib/esm/mockObjects/diagnosticMockObjects.js b/lib/esm/mockObjects/diagnosticMockObjects.js deleted file mode 100644 index e6bf783..0000000 --- a/lib/esm/mockObjects/diagnosticMockObjects.js +++ /dev/null @@ -1,7 +0,0 @@ -export var DiagnosticMockObject = [ - { 'health check type': 'Connection model', status: 'OK' }, - { 'health check type': 'Blaise connection', status: 'OK' }, - { 'health check type': 'Remote data server connection', status: 'OK' }, - { 'health check type': 'Remote Cati management connection', status: 'OK' }, -]; -export default DiagnosticMockObject; diff --git a/lib/esm/mockObjects/questionnaireMockObjects.d.ts b/lib/esm/mockObjects/questionnaireMockObjects.d.ts deleted file mode 100644 index 5441cae..0000000 --- a/lib/esm/mockObjects/questionnaireMockObjects.d.ts +++ /dev/null @@ -1,6 +0,0 @@ -import { InstallQuestionnaire, InstallQuestionnaireResponse, Questionnaire, QuestionnaireSettings } from '../interfaces/questionnaire'; -export declare const QuestionnaireListMockObject: Questionnaire[]; -export declare const QuestionnaireMockObject: Questionnaire; -export declare const InstallQuestionnaireMockObject: InstallQuestionnaire; -export declare const InstallQuestionnaireResponseMockObject: InstallQuestionnaireResponse; -export declare const QuestionnaireSettingsMockList: QuestionnaireSettings[]; diff --git a/lib/esm/mockObjects/questionnaireMockObjects.js b/lib/esm/mockObjects/questionnaireMockObjects.js deleted file mode 100644 index 5e52a5c..0000000 --- a/lib/esm/mockObjects/questionnaireMockObjects.js +++ /dev/null @@ -1,50 +0,0 @@ -export var QuestionnaireListMockObject = [{ - name: 'OPN2101A', - serverParkName: 'gusty', - installDate: '2021-01-15T14:41:29.4399898+00:00', - status: 'Active', - dataRecordCount: 0, - hasData: false, - active: false, - }, { - name: 'OPN2007T', - serverParkName: 'gusty', - installDate: '2021-01-15T15:18:40.1503617+00:00', - status: 'Active', - dataRecordCount: 10, - hasData: true, - active: true, - }, { - name: 'LMS2101_AA1', - serverParkName: 'gusty', - installDate: '2021-01-15T15:26:43.4233454+00:00', - status: 'Active', - dataRecordCount: 0, - hasData: false, - active: false, - }]; -export var QuestionnaireMockObject = { - name: 'OPN2101A', - serverParkName: 'gusty', - installDate: '2021-01-15T14:41:29.4399898+00:00', - status: 'Active', - dataRecordCount: 0, - hasData: false, - active: false, - blaiseVersion: '5.9.9.2735', -}; -export var InstallQuestionnaireMockObject = { - questionnaireFile: 'OPN2004A.bpkg', -}; -export var InstallQuestionnaireResponseMockObject = { - questionnaireFile: 'OPN2004A.bpkg', -}; -export var QuestionnaireSettingsMockList = [{ - type: 'StrictInterviewing', - saveSessionOnTimeout: true, - saveSessionOnQuit: true, - deleteSessionOnTimeout: true, - deleteSessionOnQuit: true, - sessionTimeout: 15, - applyRecordLocking: true, - }]; diff --git a/lib/esm/mockObjects/questionnaireReportMockObjects.d.ts b/lib/esm/mockObjects/questionnaireReportMockObjects.d.ts deleted file mode 100644 index 5af847b..0000000 --- a/lib/esm/mockObjects/questionnaireReportMockObjects.d.ts +++ /dev/null @@ -1,3 +0,0 @@ -import { QuestionnaireReport } from '../interfaces/questionnaireReport'; -declare const reportMockObject: QuestionnaireReport; -export default reportMockObject; diff --git a/lib/esm/mockObjects/questionnaireReportMockObjects.js b/lib/esm/mockObjects/questionnaireReportMockObjects.js deleted file mode 100644 index ec7d475..0000000 --- a/lib/esm/mockObjects/questionnaireReportMockObjects.js +++ /dev/null @@ -1,15 +0,0 @@ -var reportMockObject = { - questionnaireName: 'FRS2211A', - questionnaireId: '00000000-0000-0000-0000-000000000000', - reportingData: [ - { - 'qiD.Serial_Number': '1', - 'qhAdmin.HOut': '210', - }, - { - 'qiD.Serial_Number': '2', - 'qhAdmin.HOut': '110', - }, - ], -}; -export default reportMockObject; diff --git a/lib/esm/mockObjects/userMockObjects.d.ts b/lib/esm/mockObjects/userMockObjects.d.ts deleted file mode 100644 index 5ba43a9..0000000 --- a/lib/esm/mockObjects/userMockObjects.d.ts +++ /dev/null @@ -1,3 +0,0 @@ -import { NewUser } from '../interfaces/user'; -export declare const CreateUserMockObject: NewUser; -export declare const CreateUserResponseMockObject: NewUser; diff --git a/lib/esm/mockObjects/userMockObjects.js b/lib/esm/mockObjects/userMockObjects.js deleted file mode 100644 index a1c477d..0000000 --- a/lib/esm/mockObjects/userMockObjects.js +++ /dev/null @@ -1,18 +0,0 @@ -export var CreateUserMockObject = { - password: 'somethingVerySecure', - name: 'Beyonce', - role: 'DST', - serverParks: [ - 'gusty', - ], - defaultServerPark: 'gusty', -}; -export var CreateUserResponseMockObject = { - password: 'somethingVerySecure', - name: 'Beyonce', - role: 'DST', - serverParks: [ - 'gusty', - ], - defaultServerPark: 'gusty', -}; diff --git a/lib/esm/types/caseData.d.ts b/lib/esm/types/caseData.d.ts deleted file mode 100644 index 8ebe586..0000000 --- a/lib/esm/types/caseData.d.ts +++ /dev/null @@ -1 +0,0 @@ -export type CaseData = Record; diff --git a/lib/esm/types/caseData.js b/lib/esm/types/caseData.js deleted file mode 100644 index cb0ff5c..0000000 --- a/lib/esm/types/caseData.js +++ /dev/null @@ -1 +0,0 @@ -export {}; diff --git a/lib/esm/types/surveyDays.d.ts b/lib/esm/types/surveyDays.d.ts deleted file mode 100644 index 071133c..0000000 --- a/lib/esm/types/surveyDays.d.ts +++ /dev/null @@ -1 +0,0 @@ -export type SurveyDays = string[] | Date[]; diff --git a/lib/esm/types/surveyDays.js b/lib/esm/types/surveyDays.js deleted file mode 100644 index cb0ff5c..0000000 --- a/lib/esm/types/surveyDays.js +++ /dev/null @@ -1 +0,0 @@ -export {}; diff --git a/package.json b/package.json index 33af7f2..b8b6d04 100644 --- a/package.json +++ b/package.json @@ -1,50 +1,49 @@ { "name": "blaise-api-node-client", "version": "1.0.0", - "module": "lib/esm/blaiseApiClient.js", - "main": "lib/cjs/blaiseApiClient.js", - "types": "lib/esm/blaiseApiClient.d.ts", "license": "MIT", + "engines": { + "node": ">=24.0.0" + }, + "type": "module", + "types": "dist/esm/blaiseApiClient.d.ts", + "exports": { + ".": { + "types": "./dist/esm/blaiseApiClient.d.ts", + "import": "./dist/esm/blaiseApiClient.js" + } + }, + "files": [ + "dist" + ], + "sideEffects": false, "scripts": { - "build": "yarn build:esm && yarn build:cjs", - "build:esm": "tsc", - "build:cjs": "tsc --module commonjs --outDir lib/cjs", - "test": "jest --coverage --watchAll=false", - "lint": "node_modules/.bin/eslint .", - "lint-fix": "node_modules/.bin/eslint . --fix" + "prepare": "yarn build", + "build": "tsc -p tsconfig.build.json", + "test": "vitest run --coverage", + "test-watch": "vitest", + "lint": "eslint .", + "lint-fix": "eslint . --fix" }, "dependencies": { - "@babel/preset-env": "^7.26.9", - "axios": "^1.12.0", - "blaise-iap-node-provider": "git+https://github.com/ONSdigital/blaise-iap-node-provider.git#2.0.2", - "browserslist": "^4.22.2", - "eslint-config-airbnb-base": "^15.0.0", - "eslint-plugin-import": "^2.29.1", - "regenerator-runtime": "^0.14.1" + "@types/node": "^25.6.0", + "axios": "^1.7.0", + "blaise-iap-node-provider": "git+https://github.com/ONSdigital/blaise-iap-node-provider.git#BLAIS5-5177", + "typescript": "^6.0.3" }, "devDependencies": { - "@babel/core": "^7.26.9", - "@babel/preset-typescript": "^7.26.0", - "@types/jest": "^27.0.1", - "@types/node": "^16.7.13", - "@types/regenerator-runtime": "^0.13.5", - "@typescript-eslint/eslint-plugin": "^6.20.0", - "@typescript-eslint/parser": "^6.20.0", - "axios-mock-adapter": "^1.21.5", - "babel-jest": "^29.7.0", - "eslint": "^8.8.0", - "jest": "^29.7.0", - "ts-jest": "^29.1.1", - "typescript": "^4.9.5" - }, - "resolutions": { - "@babel/traverse": "^7.23.2", - "@babel/runtime": "^7.26.10", - "js-yaml": "^4.1.1", - "brace-expansion": "^2.0.2" - }, - "files": [ - "/lib", - "/mocks" - ] + "@eslint/js": "^10.0.1", + "@vitest/coverage-v8": "^4.1.4", + "axios-mock-adapter": "^1.22.0", + "eslint": "^10.2.1", + "eslint-config-prettier": "^10.1.8", + "eslint-import-resolver-typescript": "^4.4.4", + "eslint-plugin-import": "^2.32.0", + "eslint-plugin-prettier": "^5.5.5", + "globals": "^17.5.0", + "jiti": "^2.6.1", + "prettier": "^3.8.3", + "typescript-eslint": "^8.59.0", + "vitest": "^4.1.4" + } } diff --git a/src/blaiseApiClient.ts b/src/blaiseApiClient.ts index 8dc8b23..6b713cb 100644 --- a/src/blaiseApiClient.ts +++ b/src/blaiseApiClient.ts @@ -1,13 +1,13 @@ -import axios, { AxiosInstance, AxiosRequestConfig } from 'axios'; -import BlaiseIapNodeProvider from 'blaise-iap-node-provider'; -import { BlaiseApiConfig } from './interfaces/blaiseApiConfig'; -import { BlaiseApi } from './interfaces/blaiseApi'; -import * as users from './functions/userFunctions'; -import * as questionnaires from './functions/questionnaireFunctions'; -import * as cases from './functions/caseFunctions'; -import * as diagnostics from './functions/diagnosticFunctions'; -import * as daybatch from './functions/daybatchFunctions'; -import * as reports from './functions/questionnaireReportFunctions'; +import axios, { AxiosInstance } from "axios"; +import BlaiseIapNodeProvider from "blaise-iap-node-provider"; +import { BlaiseApiConfig } from "./interfaces/blaiseApiConfig.js"; +import { BlaiseApi } from "./interfaces/blaiseApi.js"; +import * as users from "./functions/userFunctions.js"; +import * as questionnaires from "./functions/questionnaireFunctions.js"; +import * as cases from "./functions/caseFunctions.js"; +import * as diagnostics from "./functions/diagnosticFunctions.js"; +import * as daybatch from "./functions/daybatchFunctions.js"; +import * as reports from "./functions/questionnaireReportFunctions.js"; class BlaiseApiClient implements BlaiseApi { blaiseApiUrl: string; @@ -19,15 +19,24 @@ class BlaiseApiClient implements BlaiseApi { constructor(blaiseApiUrl: string, config?: BlaiseApiConfig) { this.blaiseApiUrl = blaiseApiUrl; - this.httpClient = axios.create(); - - if (config?.timeoutInMs !== undefined) { - this.httpClient.defaults.timeout = config.timeoutInMs; - } - if (config?.blaiseApiClientId) { this.blaiseIapProvider = new BlaiseIapNodeProvider(config.blaiseApiClientId); } + + this.httpClient = axios.create({ + baseURL: blaiseApiUrl, + timeout: config?.timeoutInMs, + }); + + this.httpClient.interceptors.request.use(async (requestConfig) => { + if (this.blaiseIapProvider) { + const authHeaders = await this.blaiseIapProvider.getAuthHeader(); + + Object.assign(requestConfig.headers, authHeaders); + } + + return requestConfig; + }); } getUser = users.getUser; @@ -104,69 +113,59 @@ class BlaiseApiClient implements BlaiseApi { getQuestionnaireReportData = reports.getQuestionnaireReportData; - // eslint-disable-next-line class-methods-use-this - private url(url: string): string { - let formattedUrl = url; - if (!formattedUrl.startsWith('/')) { - formattedUrl = `/${formattedUrl}`; - } - return formattedUrl; - } - - // eslint-disable-next-line @typescript-eslint/no-explicit-any protected async get(url: string): Promise { - const config = await this.axiosConfig(); - const response = await this.httpClient.get(`${this.blaiseApiUrl}${this.url(url)}`, config); - return response.data as T; + const response = await this.httpClient.get(url); + + return response.data; } - // eslint-disable-next-line @typescript-eslint/no-explicit-any, @typescript-eslint/explicit-module-boundary-types - protected async post(url: string, data: any): Promise { - const config = await this.axiosConfig(); - const response = await this.httpClient.post(`${this.blaiseApiUrl}${this.url(url)}`, data, config); - return response.data as T; + protected async post(url: string, data: unknown): Promise { + const response = await this.httpClient.post(url, data); + + return response.data; } - // eslint-disable-next-line @typescript-eslint/no-explicit-any protected async delete(url: string): Promise { - const config = await this.axiosConfig(); - const response = await this.httpClient.delete(`${this.blaiseApiUrl}${this.url(url)}`, config); - return response.data as T; - } + const response = await this.httpClient.delete(url); - // eslint-disable-next-line @typescript-eslint/no-explicit-any, @typescript-eslint/no-redundant-type-constituents - protected async patch(url: string, data: any | undefined = undefined): Promise { - const config = await this.axiosConfig(); - const response = await this.httpClient.patch(`${this.blaiseApiUrl}${this.url(url)}`, data, config); - return response.data as T; + return response.data; } - private async axiosConfig(): Promise { - let config = {}; - if (this.blaiseIapProvider) { - config = { headers: await this.blaiseIapProvider.getAuthHeader() }; - } - return config; + protected async patch(url: string, data?: unknown): Promise { + const response = await this.httpClient.patch(url, data); + + return response.data; } } export default BlaiseApiClient; -export * from './interfaces/questionnaire'; -export * from './interfaces/diagnostic'; -export * from './interfaces/case'; -export * from './interfaces/user'; -export * from './interfaces/daybatch'; -export * from './interfaces/questionnaireReport'; - -export * from './enums/caseOutcome'; -export * from './enums/editedStatus'; -export * from './types/caseData'; -export * from './types/surveyDays'; - -export * from './mockObjects/caseMockObjects'; -export * from './mockObjects/diagnosticMockObjects'; -export * from './mockObjects/questionnaireMockObjects'; -export * from './mockObjects/userMockObjects'; -export * from './mockObjects/daybatchMockObjects'; -export * from './mockObjects/questionnaireReportMockObjects'; +export * from "./interfaces/questionnaire.js"; + +export * from "./interfaces/diagnostic.js"; + +export * from "./interfaces/case.js"; + +export * from "./interfaces/user.js"; + +export * from "./interfaces/daybatch.js"; + +export * from "./interfaces/questionnaireReport.js"; + +export * from "./enums/caseOutcome.js"; + +export * from "./enums/editedStatus.js"; + +export * from "./types/caseData.js"; + +export * from "./mockObjects/caseMockObjects.js"; + +export * from "./mockObjects/diagnosticMockObjects.js"; + +export * from "./mockObjects/questionnaireMockObjects.js"; + +export * from "./mockObjects/userMockObjects.js"; + +export * from "./mockObjects/daybatchMockObjects.js"; + +export * from "./mockObjects/questionnaireReportMockObjects.js"; diff --git a/src/enums/caseOutcome.ts b/src/enums/caseOutcome.ts index df1a025..a3e8322 100644 --- a/src/enums/caseOutcome.ts +++ b/src/enums/caseOutcome.ts @@ -1,44 +1,46 @@ -// eslint-disable-next-line no-shadow -export enum CaseOutcome { - None = 0, - Completed = 110, - CompletedNudge = 120, - CompletedProxy = 130, - Partial = 210, - AppointmentMade = 300, - NonContact = 310, - HQRefusal = 430, - NotAvailable = 440, - HardRefusal = 460, - SoftRefusal = 461, - LanguageDifficultiesHeadOffice = 541, - LanguageDifficultiesInterviewer = 542, - // eslint-disable-next-line @typescript-eslint/no-duplicate-enum-values - WrongNumber = 542, - DeleteRequestedCompleted = 561, - DeleteRequestedPartial = 562, - IneligibleVacant = 540, - IneligibleNonResidential = 551, - IneligibleInstitution = 560, - IneligibleSecondHome = 580, - ConcernsWontTakePart = 360, - RejectTandCs = 380, - LostAccessCode = 373, - UnableToComplete = 370, - NoInternetAccess = 371, - RequestedDifferentMode = 372, - NoTraceOfAddress = 510, - Under16 = 631, - WrongAddress = 640, - BrailleRequested = 411, - LargePrintRequested = 412, - OtherFormat = 413, - DeleteRequested = 390, - RequestedCopyOfData = 791, - ClarificationOnStudyRequested = 792, - AssistanceRequested = 793, - RequestForContext = 794, - QuestionProblem = 795 -} +const CaseOutcome = { + None: 0, + Completed: 110, + CompletedNudge: 120, + CompletedProxy: 130, + Partial: 210, + AppointmentMade: 300, + NonContact: 310, + HQRefusal: 430, + NotAvailable: 440, + HardRefusal: 460, + SoftRefusal: 461, + LanguageDifficultiesHeadOffice: 541, + LanguageDifficultiesInterviewer: 542, + WrongNumber: 542, + DeleteRequestedCompleted: 561, + DeleteRequestedPartial: 562, + IneligibleVacant: 540, + IneligibleNonResidential: 551, + IneligibleInstitution: 560, + IneligibleSecondHome: 580, + ConcernsWontTakePart: 360, + RejectTandCs: 380, + LostAccessCode: 373, + UnableToComplete: 370, + NoInternetAccess: 371, + RequestedDifferentMode: 372, + NoTraceOfAddress: 510, + Under16: 631, + WrongAddress: 640, + BrailleRequested: 411, + LargePrintRequested: 412, + OtherFormat: 413, + DeleteRequested: 390, + RequestedCopyOfData: 791, + ClarificationOnStudyRequested: 792, + AssistanceRequested: 793, + RequestForContext: 794, + QuestionProblem: 795, +} as const; + +export type CaseOutcome = (typeof CaseOutcome)[keyof typeof CaseOutcome]; + +export { CaseOutcome }; export default CaseOutcome; diff --git a/src/enums/editedStatus.ts b/src/enums/editedStatus.ts index 154bc3e..b32f773 100644 --- a/src/enums/editedStatus.ts +++ b/src/enums/editedStatus.ts @@ -1,9 +1,12 @@ -// eslint-disable-next-line no-shadow -export enum EditedStatus { - NotStarted = 0, - Started = 1, - Query = 2, - Finished = 3, -} +const EditedStatus = { + NotStarted: 0, + Started: 1, + Query: 2, + Finished: 3, +} as const; + +export type EditedStatus = (typeof EditedStatus)[keyof typeof EditedStatus]; + +export { EditedStatus }; export default EditedStatus; diff --git a/src/enums/organisation.ts b/src/enums/organisation.ts index 4ef29d7..4ae2f71 100644 --- a/src/enums/organisation.ts +++ b/src/enums/organisation.ts @@ -1,8 +1,11 @@ -// eslint-disable-next-line no-shadow -export enum Organisation { - ONS = 1, - NatCen = 2, - Nisra = 3, -} +const Organisation = { + ONS: 1, + NatCen: 2, + Nisra: 3, +} as const; + +export type Organisation = (typeof Organisation)[keyof typeof Organisation]; + +export { Organisation }; export default Organisation; diff --git a/src/enums/userRole.ts b/src/enums/userRole.ts new file mode 100644 index 0000000..ea1facd --- /dev/null +++ b/src/enums/userRole.ts @@ -0,0 +1,10 @@ +const UserRole = { + DST: "DST", + BDSS: "BDSS", +} as const; + +export type UserRole = (typeof UserRole)[keyof typeof UserRole]; + +export { UserRole }; + +export default UserRole; diff --git a/src/functions/caseFunctions.test.ts b/src/functions/caseFunctions.test.ts index cce0e40..1d286ac 100644 --- a/src/functions/caseFunctions.test.ts +++ b/src/functions/caseFunctions.test.ts @@ -1,187 +1,198 @@ -import MockAdapter from 'axios-mock-adapter'; -import axios from 'axios'; -import 'regenerator-runtime/runtime'; -import BlaiseApiClient, { CaseEditInformationListMockObject, CaseStatusListMockObject } from '../blaiseApiClient'; +import { describe, it, expect, beforeEach, afterEach } from "vitest"; +import MockAdapter from "axios-mock-adapter"; +import axios from "axios"; +import BlaiseApiClient, { + CaseEditInformationListMockObject, + CaseStatusListMockObject, +} from "../blaiseApiClient.js"; -const mock = new MockAdapter(axios, { onNoMatch: 'throwException' }); -const blaiseApiUrl = 'testUri'; +const mock = new MockAdapter(axios, { onNoMatch: "throwException" }); +const blaiseApiUrl = "testUri"; const blaiseApiClient = new BlaiseApiClient(`http://${blaiseApiUrl}`); -describe('blaiseApiClient', () => { - describe('get case', () => { - const serverpark = 'test'; - const questionnaireName = 'dst2108t'; - const caseId = '100101;'; +describe("blaiseApiClient", () => { + describe("get case", () => { + const serverpark = "test"; + const questionnaireName = "dst2108t"; + const caseId = "100101;"; beforeEach(() => { - mock.onGet(`http://${blaiseApiUrl}/api/v2/serverparks/${serverpark}/questionnaires/${questionnaireName}/cases/${caseId}`).reply(200, { - caseId, - fieldData: {}, - }); + mock + .onGet( + `/api/v2/serverparks/${serverpark}/questionnaires/${questionnaireName}/cases/${caseId}`, + ) + .reply(200, { + caseId, + fieldData: {}, + }); }); afterEach(() => { mock.reset(); }); - it('returns a case', async () => { + it("returns a case", async () => { const caseResponse = await blaiseApiClient.getCase(serverpark, questionnaireName, caseId); expect(caseResponse.caseId).toEqual(caseId); - expect(caseResponse.fieldData).toEqual({}); }); }); - describe('get case multikey', () => { - const serverpark = 'test'; - const questionnaireName = 'dst2108t'; - const caseId = '100101;'; - const keyValueMap = new Map(); - keyValueMap.set('key1', 'value1'); - keyValueMap.set('key2', 'value2'); + describe("get case multikey", () => { + const serverpark = "test"; + const questionnaireName = "dst2108t"; + const caseId = "100101;"; + const keyValueMap = new Map([ + ["key1", "value1"], + ["key2", "value2"], + ]); const queryString = blaiseApiClient.getMultikeyQueryString(keyValueMap); beforeEach(() => { - mock.onGet(`http://${blaiseApiUrl}/api/v2/serverparks/${serverpark}/questionnaires/${questionnaireName}/cases/multikey?${queryString}`).reply(200, { - caseId, - fieldData: {}, - }); + mock + .onGet( + `/api/v2/serverparks/${serverpark}/questionnaires/${questionnaireName}/cases/multikey?${queryString}`, + ) + .reply(200, { caseId, fieldData: {} }); }); afterEach(() => { mock.reset(); }); - it('returns a case', async () => { - const caseResponse = await blaiseApiClient.getCaseMultikey(serverpark, questionnaireName, keyValueMap); + it("returns a case", async () => { + const caseResponse = await blaiseApiClient.getCaseMultikey( + serverpark, + questionnaireName, + keyValueMap, + ); expect(caseResponse.caseId).toEqual(caseId); - expect(caseResponse.fieldData).toEqual({}); }); }); - describe('add case', () => { - const serverpark = 'test'; - const questionnaireName = 'dst2108t'; - const caseId = '100101;'; + describe("add case", () => { + const serverpark = "test"; + const questionnaireName = "dst2108t"; + const caseId = "100101;"; beforeEach(() => { - mock.onPost(`http://${blaiseApiUrl}/api/v2/serverparks/${serverpark}/questionnaires/${questionnaireName}/cases/${caseId}`).reply(200, { - caseId, - fieldData: {}, - }); + mock + .onPost( + `/api/v2/serverparks/${serverpark}/questionnaires/${questionnaireName}/cases/${caseId}`, + ) + .reply(200, { caseId, fieldData: {} }); }); afterEach(() => { mock.reset(); }); - it('adds a case', async () => { + it("adds a case", async () => { const caseResponse = await blaiseApiClient.addCase(serverpark, questionnaireName, caseId, {}); expect(caseResponse.caseId).toEqual(caseId); - expect(caseResponse.fieldData).toEqual({}); }); }); - describe('update case', () => { - const serverpark = 'test'; - const questionnaireName = 'dst2108t'; - const caseId = '100101;'; + describe("update case", () => { + const serverpark = "test"; + const questionnaireName = "dst2108t"; + const caseId = "100101;"; beforeEach(() => { - mock.onPatch(`http://${blaiseApiUrl}/api/v2/serverparks/${serverpark}/questionnaires/${questionnaireName}/cases/${caseId}`).reply(204, null); + mock + .onPatch( + `/api/v2/serverparks/${serverpark}/questionnaires/${questionnaireName}/cases/${caseId}`, + ) + .reply(204, null); }); afterEach(() => { mock.reset(); }); - it('updates a case', async () => { + it("updates a case", async () => { const result = await blaiseApiClient.updateCase(serverpark, questionnaireName, caseId, {}); expect(result).toBeNull(); }); }); - describe('add case multikey', () => { - const serverpark = 'test'; - const questionnaireName = 'dst2108t'; - const caseId = '100101;'; - const keyValueMap = new Map(); - keyValueMap.set('key1', 'value1'); - keyValueMap.set('key2', 'value2'); + describe("add case multikey", () => { + const serverpark = "test"; + const questionnaireName = "dst2108t"; + const caseId = "100101;"; + const keyValueMap = new Map([ + ["key1", "value1"], + ["key2", "value2"], + ]); const queryString = blaiseApiClient.getMultikeyQueryString(keyValueMap); beforeEach(() => { - mock.onPost(`http://${blaiseApiUrl}/api/v2/serverparks/${serverpark}/questionnaires/${questionnaireName}/cases/multikey?${queryString}`).reply(200, { - caseId, - fieldData: {}, - }); + mock + .onPost( + `/api/v2/serverparks/${serverpark}/questionnaires/${questionnaireName}/cases/multikey?${queryString}`, + ) + .reply(200, { caseId, fieldData: {} }); }); afterEach(() => { mock.reset(); }); - it('adds a case with multiple keys', async () => { - const caseResponse = await blaiseApiClient.addCaseMultikey(serverpark, questionnaireName, keyValueMap, {}); + it("adds a case with multiple keys", async () => { + const caseResponse = await blaiseApiClient.addCaseMultikey( + serverpark, + questionnaireName, + keyValueMap, + {}, + ); expect(caseResponse.caseId).toEqual(caseId); - expect(caseResponse.fieldData).toEqual({}); }); }); - describe('get cases status', () => { - const serverpark = 'test'; - const questionnaireName = 'dst2108t'; + describe("get cases status", () => { + const serverpark = "test"; + const questionnaireName = "dst2108t"; beforeEach(() => { - mock.onGet(`http://${blaiseApiUrl}/api/v2/serverparks/${serverpark}/questionnaires/${questionnaireName}/cases/status`).reply( - 200, - CaseStatusListMockObject, - ); + mock + .onGet(`/api/v2/serverparks/${serverpark}/questionnaires/${questionnaireName}/cases/status`) + .reply(200, CaseStatusListMockObject); }); afterEach(() => { mock.reset(); }); - it('gets all cases and outcome codes for a given questionnaire', async () => { + it("gets all cases and outcome codes", async () => { const result = await blaiseApiClient.getCaseStatus(serverpark, questionnaireName); expect(result).toEqual(CaseStatusListMockObject); }); }); - describe('get case edit information', () => { - const serverpark = 'test'; - const questionnaireName = 'FRS2108A'; + describe("get case edit information", () => { + const serverpark = "test"; + const questionnaireName = "FRS2108A"; beforeEach(() => { - mock.onGet(`http://${blaiseApiUrl}/api/v2/serverparks/${serverpark}/questionnaires/${questionnaireName}/cases/edit`).reply( - 200, - CaseEditInformationListMockObject, - ); + mock + .onGet(`/api/v2/serverparks/${serverpark}/questionnaires/${questionnaireName}/cases/edit`) + .reply(200, CaseEditInformationListMockObject); }); afterEach(() => { mock.reset(); }); - it('returns editing details for a case', async () => { - const editingDetailsListResponse = await blaiseApiClient.getCaseEditInformation(serverpark, questionnaireName); + it("returns editing details for a case", async () => { + const response = await blaiseApiClient.getCaseEditInformation(serverpark, questionnaireName); - editingDetailsListResponse.forEach((editingDetailsResponse, index) => { - expect(editingDetailsResponse.primaryKey).toEqual(CaseEditInformationListMockObject[index].primaryKey); - expect(editingDetailsResponse.outcome).toEqual(CaseEditInformationListMockObject[index].outcome); - expect(editingDetailsResponse.assignedTo).toEqual(CaseEditInformationListMockObject[index].assignedTo); - expect(editingDetailsResponse.editedStatus).toEqual(CaseEditInformationListMockObject[index].editedStatus); - expect(editingDetailsResponse.interviewer).toEqual(CaseEditInformationListMockObject[index].interviewer); - expect(editingDetailsResponse.editUrl).toEqual(''); - expect(editingDetailsResponse.readOnlyUrl).toEqual(''); - }); + expect(response).toEqual(CaseEditInformationListMockObject); }); }); }); diff --git a/src/functions/caseFunctions.ts b/src/functions/caseFunctions.ts index 613bd43..6e8f539 100644 --- a/src/functions/caseFunctions.ts +++ b/src/functions/caseFunctions.ts @@ -1,29 +1,63 @@ -import BlaiseApiClient from '../blaiseApiClient'; -import { CaseEditInformation, CaseResponse, CaseStatus } from '../interfaces/case'; -import { CaseData } from '../types/caseData'; +import BlaiseApiClient from "../blaiseApiClient.js"; +import { CaseEditInformation, CaseResponse, CaseStatus } from "../interfaces/case.js"; +import { CaseData } from "../types/caseData.js"; -export async function getCase(this: BlaiseApiClient, serverpark: string, questionnaireName: string, caseId: string): Promise { - return this.get(`api/v2/serverparks/${serverpark}/questionnaires/${questionnaireName}/cases/${caseId}`); +export async function getCase( + this: BlaiseApiClient, + serverpark: string, + questionnaireName: string, + caseId: string, +): Promise { + return this.get( + `api/v2/serverparks/${serverpark}/questionnaires/${questionnaireName}/cases/${caseId}`, + ); } export function getMultikeyQueryString(multiKeyValueMap: Map) { - const keyNamesQueryString = `keyNames=${Array.from(multiKeyValueMap.keys()).join('&keyNames=')}`; - const keyValuesQueryString = `keyValues=${Array.from(multiKeyValueMap.values()).join('&keyValues=')}`; + const keyNamesQueryString = `keyNames=${Array.from(multiKeyValueMap.keys()).join("&keyNames=")}`; + const keyValuesQueryString = `keyValues=${Array.from(multiKeyValueMap.values()).join("&keyValues=")}`; const keyValueQueryString = `${keyNamesQueryString}&${keyValuesQueryString}`; + return keyValueQueryString; } -export async function getCaseMultikey(this: BlaiseApiClient, serverpark: string, questionnaireName: string, multiKeyValueMap: Map): Promise { +export async function getCaseMultikey( + this: BlaiseApiClient, + serverpark: string, + questionnaireName: string, + multiKeyValueMap: Map, +): Promise { const queryString = getMultikeyQueryString(multiKeyValueMap); - return this.get(`api/v2/serverparks/${serverpark}/questionnaires/${questionnaireName}/cases/multikey?${queryString}`); + + return this.get( + `api/v2/serverparks/${serverpark}/questionnaires/${questionnaireName}/cases/multikey?${queryString}`, + ); } -export async function addCase(this: BlaiseApiClient, serverpark: string, questionnaireName: string, caseId: string, caseFields: CaseData): Promise { - return this.post(`api/v2/serverparks/${serverpark}/questionnaires/${questionnaireName}/cases/${caseId}`, caseFields); +export async function addCase( + this: BlaiseApiClient, + serverpark: string, + questionnaireName: string, + caseId: string, + caseFields: CaseData, +): Promise { + return this.post( + `api/v2/serverparks/${serverpark}/questionnaires/${questionnaireName}/cases/${caseId}`, + caseFields, + ); } -export async function updateCase(this: BlaiseApiClient, serverpark: string, questionnaireName: string, caseId: string, caseFields: CaseData): Promise { - return this.patch(`api/v2/serverparks/${serverpark}/questionnaires/${questionnaireName}/cases/${caseId}`, caseFields); +export async function updateCase( + this: BlaiseApiClient, + serverpark: string, + questionnaireName: string, + caseId: string, + caseFields: CaseData, +): Promise { + return this.patch( + `api/v2/serverparks/${serverpark}/questionnaires/${questionnaireName}/cases/${caseId}`, + caseFields, + ); } export async function addCaseMultikey( @@ -34,13 +68,29 @@ export async function addCaseMultikey( caseFields: CaseData, ): Promise { const queryString = getMultikeyQueryString(multiKeyValueMap); - return this.post(`api/v2/serverparks/${serverpark}/questionnaires/${questionnaireName}/cases/multikey?${queryString}`, caseFields); + + return this.post( + `api/v2/serverparks/${serverpark}/questionnaires/${questionnaireName}/cases/multikey?${queryString}`, + caseFields, + ); } -export async function getCaseStatus(this: BlaiseApiClient, serverpark: string, questionnaireName: string): Promise { - return this.get(`api/v2/serverparks/${serverpark}/questionnaires/${questionnaireName}/cases/status`); +export async function getCaseStatus( + this: BlaiseApiClient, + serverpark: string, + questionnaireName: string, +): Promise { + return this.get( + `api/v2/serverparks/${serverpark}/questionnaires/${questionnaireName}/cases/status`, + ); } -export async function getCaseEditInformation(this: BlaiseApiClient, serverpark: string, questionnaireName: string): Promise { - return this.get(`api/v2/serverparks/${serverpark}/questionnaires/${questionnaireName}/cases/edit`); +export async function getCaseEditInformation( + this: BlaiseApiClient, + serverpark: string, + questionnaireName: string, +): Promise { + return this.get( + `api/v2/serverparks/${serverpark}/questionnaires/${questionnaireName}/cases/edit`, + ); } diff --git a/src/functions/daybatchFunctions.test.ts b/src/functions/daybatchFunctions.test.ts index 5b0dafb..f2fcf08 100644 --- a/src/functions/daybatchFunctions.test.ts +++ b/src/functions/daybatchFunctions.test.ts @@ -1,100 +1,118 @@ -import MockAdapter from 'axios-mock-adapter'; -import axios from 'axios'; -import 'regenerator-runtime/runtime'; +import { describe, it, expect, beforeEach, afterEach } from "vitest"; +import MockAdapter from "axios-mock-adapter"; +import axios from "axios"; import BlaiseApiClient, { - QuestionnaireDaybatchCasesMock, AddDaybatchMock, - SurveyDaysMock, SurveyDaysDatesMock, -} from '../blaiseApiClient'; + QuestionnaireDaybatchCasesMock, + AddDaybatchMock, + SurveyDaysMock, + SurveyDaysDatesMock, +} from "../blaiseApiClient.js"; -const mock = new MockAdapter(axios, { onNoMatch: 'throwException' }); -const blaiseApiUrl = 'testUri'; +const mock = new MockAdapter(axios, { onNoMatch: "throwException" }); +const blaiseApiUrl = "testUri"; const blaiseApiClient = new BlaiseApiClient(`http://${blaiseApiUrl}`); -describe('blaiseApiClient', () => { - describe('get daybatch', () => { - const serverpark = 'test'; - const questionnaireName = 'dst2108t'; +describe("blaiseApiClient", () => { + const basePath = "api/v2/cati/serverparks"; + + describe("get daybatch", () => { + const serverpark = "test"; + const questionnaireName = "dst2108t"; beforeEach(() => { - mock.onGet(`http://${blaiseApiUrl}/api/v2/cati/serverparks/${serverpark}/questionnaires/${questionnaireName}/daybatch`).reply(200, QuestionnaireDaybatchCasesMock); + mock + .onGet(`${basePath}/${serverpark}/questionnaires/${questionnaireName}/daybatch`) + .reply(200, QuestionnaireDaybatchCasesMock); }); afterEach(() => { mock.reset(); }); - it('returns a list of case IDs in the current daybatch', async () => { + it("returns a list of case IDs in the current daybatch", async () => { const daybatch = await blaiseApiClient.getDaybatch(serverpark, questionnaireName); expect(daybatch).toEqual(QuestionnaireDaybatchCasesMock); }); }); - describe('add daybatch', () => { - const serverpark = 'test'; - const questionnaireName = 'dst2108t'; + describe("add daybatch", () => { + const serverpark = "test"; + const questionnaireName = "dst2108t"; beforeEach(() => { - mock.onPost(`http://${blaiseApiUrl}/api/v2/cati/serverparks/${serverpark}/questionnaires/${questionnaireName}/daybatch`).reply( - 201, - QuestionnaireDaybatchCasesMock, - ); + mock + .onPost(`${basePath}/${serverpark}/questionnaires/${questionnaireName}/daybatch`) + .reply(201, QuestionnaireDaybatchCasesMock); }); afterEach(() => { mock.reset(); }); - it('installs an questionnaire and returns the questionnaire file', async () => { - const daybatch = await blaiseApiClient.addDaybatch(serverpark, questionnaireName, AddDaybatchMock); + it("installs a questionnaire and returns the questionnaire file", async () => { + const daybatch = await blaiseApiClient.addDaybatch( + serverpark, + questionnaireName, + AddDaybatchMock, + ); expect(daybatch).toEqual(QuestionnaireDaybatchCasesMock); }); }); - describe('get survey days', () => { - const serverpark = 'test'; - const questionnaireName = 'dst2108t'; + describe("get survey days", () => { + const serverpark = "test"; + const questionnaireName = "dst2108t"; beforeEach(() => { - mock.onGet(`http://${blaiseApiUrl}/api/v2/cati/serverparks/${serverpark}/questionnaires/${questionnaireName}/surveydays`).reply(200, SurveyDaysMock); + mock + .onGet(`${basePath}/${serverpark}/questionnaires/${questionnaireName}/surveydays`) + .reply(200, SurveyDaysMock); }); afterEach(() => { mock.reset(); }); - it('returns a list of surveydays', async () => { + it("returns a list of surveydays", async () => { const surveyDays = await blaiseApiClient.getSurveyDays(serverpark, questionnaireName); expect(surveyDays).toEqual(SurveyDaysMock); }); }); - describe('add survey days', () => { - const serverpark = 'test'; - const questionnaireName = 'dst2108t'; + describe("add survey days", () => { + const serverpark = "test"; + const questionnaireName = "dst2108t"; beforeEach(() => { - mock.onPost(`http://${blaiseApiUrl}/api/v2/cati/serverparks/${serverpark}/questionnaires/${questionnaireName}/surveydays`).reply( - 201, - SurveyDaysMock, - ); + mock + .onPost(`${basePath}/${serverpark}/questionnaires/${questionnaireName}/surveydays`) + .reply(201, SurveyDaysMock); }); afterEach(() => { mock.reset(); }); - it('adds surveydays by strings', async () => { - const surveyDays = await blaiseApiClient.addSurveyDays(serverpark, questionnaireName, SurveyDaysMock); + it("adds surveydays by strings", async () => { + const surveyDays = await blaiseApiClient.addSurveyDays( + serverpark, + questionnaireName, + SurveyDaysMock, + ); expect(surveyDays).toEqual(SurveyDaysMock); }); - it('adds surveydays by dates', async () => { - const surveyDays = await blaiseApiClient.addSurveyDays(serverpark, questionnaireName, SurveyDaysDatesMock); + it("adds surveydays by dates", async () => { + const surveyDays = await blaiseApiClient.addSurveyDays( + serverpark, + questionnaireName, + SurveyDaysDatesMock, + ); expect(surveyDays).toEqual(SurveyDaysMock); }); diff --git a/src/functions/daybatchFunctions.ts b/src/functions/daybatchFunctions.ts index 3456f76..ccdf5b4 100644 --- a/src/functions/daybatchFunctions.ts +++ b/src/functions/daybatchFunctions.ts @@ -1,25 +1,51 @@ -import BlaiseApiClient from '../blaiseApiClient'; -import { DaybatchResponse, DaybatchSettings } from '../interfaces/daybatch'; -import { SurveyDays } from '../types/surveyDays'; +import BlaiseApiClient from "../blaiseApiClient.js"; +import { DaybatchResponse, DaybatchSettings } from "../interfaces/daybatch.js"; -export async function getDaybatch(this: BlaiseApiClient, serverpark: string, questionnaireName: string): Promise { - return this.get(`/api/v2/cati/serverparks/${serverpark}/questionnaires/${questionnaireName}/daybatch`); +const formatDate = (date: string | Date): string => + date instanceof Date ? date.toISOString() : date; + +export async function getDaybatch( + this: BlaiseApiClient, + serverpark: string, + questionnaireName: string, +): Promise { + return this.get( + `api/v2/cati/serverparks/${serverpark}/questionnaires/${questionnaireName}/daybatch`, + ); } -export async function addDaybatch(this: BlaiseApiClient, serverpark: string, questionnaireName: string, daybatchSettings: DaybatchSettings): Promise { - return this.post(`/api/v2/cati/serverparks/${serverpark}/questionnaires/${questionnaireName}/daybatch`, daybatchSettings); +export async function addDaybatch( + this: BlaiseApiClient, + serverpark: string, + questionnaireName: string, + daybatchSettings: DaybatchSettings, +): Promise { + return this.post( + `api/v2/cati/serverparks/${serverpark}/questionnaires/${questionnaireName}/daybatch`, + daybatchSettings, + ); } -export async function getSurveyDays(this: BlaiseApiClient, serverpark: string, questionnaireName: string): Promise { - return this.get(`api/v2/cati/serverparks/${serverpark}/questionnaires/${questionnaireName}/surveydays`); +export async function getSurveyDays( + this: BlaiseApiClient, + serverpark: string, + questionnaireName: string, +): Promise { + return this.get( + `api/v2/cati/serverparks/${serverpark}/questionnaires/${questionnaireName}/surveydays`, + ); } -export async function addSurveyDays(this: BlaiseApiClient, serverpark: string, questionnaireName: string, surveyDays: SurveyDays): Promise { - const formattedSurveyDays = surveyDays.map((surveyDay: string | Date) => { - if (surveyDay instanceof Date) { - return surveyDay.toISOString(); - } - return surveyDay; - }); - return this.post(`api/v2/cati/serverparks/${serverpark}/questionnaires/${questionnaireName}/surveydays`, formattedSurveyDays); +export async function addSurveyDays( + this: BlaiseApiClient, + serverpark: string, + questionnaireName: string, + surveyDays: ReadonlyArray, +): Promise { + const formattedSurveyDays = surveyDays.map(formatDate); + + return this.post( + `api/v2/cati/serverparks/${serverpark}/questionnaires/${questionnaireName}/surveydays`, + formattedSurveyDays, + ); } diff --git a/src/functions/diagnosticFunctions.test.ts b/src/functions/diagnosticFunctions.test.ts index e808190..5892a6c 100644 --- a/src/functions/diagnosticFunctions.test.ts +++ b/src/functions/diagnosticFunctions.test.ts @@ -1,33 +1,30 @@ -import MockAdapter from 'axios-mock-adapter'; -import axios from 'axios'; -import 'regenerator-runtime/runtime'; -import BlaiseApiClient from '../blaiseApiClient'; -import { DiagnosticMockObject } from '../mockObjects/diagnosticMockObjects'; +import { describe, it, expect, beforeAll, afterAll } from "vitest"; +import MockAdapter from "axios-mock-adapter"; +import axios from "axios"; +import BlaiseApiClient from "../blaiseApiClient.js"; +import { DiagnosticMockObject } from "../mockObjects/diagnosticMockObjects.js"; -const mock = new MockAdapter(axios, { onNoMatch: 'throwException' }); -const blaiseApiUrl = 'testUri'; +const mock = new MockAdapter(axios, { onNoMatch: "throwException" }); +const blaiseApiUrl = "testUri"; const blaiseApiClient = new BlaiseApiClient(`http://${blaiseApiUrl}`); -describe('BlaiseRestapiClient', () => { - describe('get health Check from API', () => { +describe("BlaiseRestapiClient", () => { + describe("get health Check from API", () => { beforeAll(() => { - mock.onGet(`http://${blaiseApiUrl}/api/v2/health/diagnosis`).reply( - 200, - DiagnosticMockObject, - ); + mock.onGet("api/v2/health/diagnosis").reply(200, DiagnosticMockObject); }); afterAll(() => { mock.reset(); }); - it('returns a list of diagnostics', async () => { + it("returns a list of diagnostics", async () => { const diagnostics = await blaiseApiClient.getDiagnostics(); expect(diagnostics).toHaveLength(4); - expect(diagnostics[0].status).toEqual('OK'); - expect(diagnostics[0]['health check type']).toEqual('Connection model'); + expect(diagnostics[0].status).toEqual("OK"); + expect(diagnostics[0].healthCheckType).toEqual("Connection model"); }); }); }); diff --git a/src/functions/diagnosticFunctions.ts b/src/functions/diagnosticFunctions.ts index 10a82ca..b7e8a52 100644 --- a/src/functions/diagnosticFunctions.ts +++ b/src/functions/diagnosticFunctions.ts @@ -1,8 +1,8 @@ -import BlaiseApiClient from '../blaiseApiClient'; -import { Diagnostic } from '../interfaces/diagnostic'; +import BlaiseApiClient from "../blaiseApiClient.js"; +import { Diagnostic } from "../interfaces/diagnostic.js"; export async function getDiagnostics(this: BlaiseApiClient): Promise { - return this.get('/api/v2/health/diagnosis'); + return this.get("api/v2/health/diagnosis"); } export default getDiagnostics; diff --git a/src/functions/questionnaireFunctions.test.ts b/src/functions/questionnaireFunctions.test.ts index b16795d..e1629c7 100644 --- a/src/functions/questionnaireFunctions.test.ts +++ b/src/functions/questionnaireFunctions.test.ts @@ -1,309 +1,267 @@ -import MockAdapter from 'axios-mock-adapter'; -import axios from 'axios'; -import 'regenerator-runtime/runtime'; +import { describe, it, expect, afterEach } from "vitest"; +import MockAdapter from "axios-mock-adapter"; +import axios from "axios"; import BlaiseApiClient, { QuestionnaireListMockObject, QuestionnaireMockObject, InstallQuestionnaireMockObject, - InstallQuestionnaireResponseMockObject, QuestionnaireSettingsMockList, -} from '../blaiseApiClient'; + InstallQuestionnaireResponseMockObject, + QuestionnaireSettingsMockList, +} from "../blaiseApiClient.js"; -const mock = new MockAdapter(axios, { onNoMatch: 'throwException' }); -const blaiseApiUrl = 'testUri'; +const mock = new MockAdapter(axios, { onNoMatch: "throwException" }); +const blaiseApiClient = new BlaiseApiClient("http://testUri"); -const blaiseApiClient = new BlaiseApiClient(`http://${blaiseApiUrl}`); - -describe('blaiseApiClient', () => { - describe('get all questionnaires with Cati data', () => { - beforeEach(() => { - mock.onGet(`http://${blaiseApiUrl}/api/v2/cati/questionnaires`).reply( - 200, - QuestionnaireListMockObject, - ); - }); - - afterEach(() => { - mock.reset(); - }); +describe("blaiseApiClient", () => { + afterEach(() => { + mock.reset(); + }); - it('returns a list of all questionnaires including CATI data', async () => { + describe("get all questionnaires with Cati data", () => { + it("returns a list of all questionnaires including CATI data", async () => { + mock.onGet("api/v2/cati/questionnaires").reply(200, QuestionnaireListMockObject); const questionnaires = await blaiseApiClient.getAllQuestionnairesWithCatiData(); expect(questionnaires).toEqual(QuestionnaireListMockObject); }); }); - describe('get questionnaires with Cati data', () => { - const serverpark = 'test'; + describe("get questionnaires with Cati data", () => { + const serverpark = "test"; - beforeEach(() => { - mock.onGet(`http://${blaiseApiUrl}/api/v2/cati/serverparks/${serverpark}/questionnaires`).reply( - 200, - QuestionnaireListMockObject, - ); - }); - - afterEach(() => { - mock.reset(); - }); - - it('returns a list of all questionnaires including CATI data within a serverpark', async () => { + it("returns a list of all questionnaires including CATI data within a serverpark", async () => { + mock + .onGet(`api/v2/cati/serverparks/${serverpark}/questionnaires`) + .reply(200, QuestionnaireListMockObject); const questionnaires = await blaiseApiClient.getQuestionnairesWithCatiData(serverpark); expect(questionnaires).toEqual(QuestionnaireListMockObject); }); }); - describe('get questionnaire with Cati data', () => { - const serverpark = 'test'; - - beforeEach(() => { - mock.onGet(`http://${blaiseApiUrl}/api/v2/cati/serverparks/${serverpark}/questionnaires/${QuestionnaireMockObject.name}`).reply( - 200, - QuestionnaireMockObject, + describe("get questionnaire with Cati data", () => { + const serverpark = "test"; + + it("returns an questionnaire including CATI data", async () => { + mock + .onGet( + `api/v2/cati/serverparks/${serverpark}/questionnaires/${QuestionnaireMockObject.name}`, + ) + .reply(200, QuestionnaireMockObject); + const questionnaire = await blaiseApiClient.getQuestionnaireWithCatiData( + serverpark, + QuestionnaireMockObject.name, ); - }); - - afterEach(() => { - mock.reset(); - }); - - it('returns an questionnaire including CATI data', async () => { - const questionnaire = await blaiseApiClient.getQuestionnaireWithCatiData(serverpark, QuestionnaireMockObject.name); expect(questionnaire).toEqual(QuestionnaireMockObject); }); }); - describe('get questionnaires', () => { - const serverpark = 'test'; - - beforeEach(() => { - mock.onGet(`http://${blaiseApiUrl}/api/v2/serverparks/${serverpark}/questionnaires`).reply( - 200, - QuestionnaireListMockObject, - ); - }); + describe("get questionnaires", () => { + const serverpark = "test"; - afterEach(() => { - mock.reset(); - }); - - it('returns a list of questionnaires in a serverpark', async () => { + it("returns a list of questionnaires in a serverpark", async () => { + mock + .onGet(`api/v2/serverparks/${serverpark}/questionnaires`) + .reply(200, QuestionnaireListMockObject); const questionnaires = await blaiseApiClient.getQuestionnaires(serverpark); expect(questionnaires).toEqual(QuestionnaireListMockObject); }); }); - describe('get questionnaire', () => { - const serverpark = 'test'; + describe("get questionnaire", () => { + const serverpark = "test"; - beforeEach(() => { - mock.onGet(`http://${blaiseApiUrl}/api/v2/serverparks/${serverpark}/questionnaires/${QuestionnaireMockObject.name}`).reply( - 200, - QuestionnaireMockObject, + it("returns a questionnaire", async () => { + mock + .onGet(`api/v2/serverparks/${serverpark}/questionnaires/${QuestionnaireMockObject.name}`) + .reply(200, QuestionnaireMockObject); + const questionnaire = await blaiseApiClient.getQuestionnaire( + serverpark, + QuestionnaireMockObject.name, ); - }); - - afterEach(() => { - mock.reset(); - }); - - it('returns a questionnaire', async () => { - const questionnaire = await blaiseApiClient.getQuestionnaire(serverpark, QuestionnaireMockObject.name); expect(questionnaire).toEqual(QuestionnaireMockObject); }); }); - describe('get whether questionnaire exists', () => { - const serverpark = 'test'; - const questionnaireInstalled = 'OPN2101A'; - const questionnaireNotInstalled = 'OPN2102B'; - - beforeEach(() => { - mock.onGet(`http://${blaiseApiUrl}/api/v2/serverparks/${serverpark}/questionnaires/${questionnaireInstalled}/exists`).reply(200, true); - mock.onGet(`http://${blaiseApiUrl}/api/v2/serverparks/${serverpark}/questionnaires/${questionnaireNotInstalled}/exists`).reply(200, false); - }); - - afterEach(() => { - mock.reset(); - }); + describe("get whether questionnaire exists", () => { + const serverpark = "test"; + const questionnaireInstalled = "OPN2101A"; + const questionnaireNotInstalled = "OPN2102B"; - it('returns true if it exists', async () => { + it("returns true if it exists", async () => { + mock + .onGet(`api/v2/serverparks/${serverpark}/questionnaires/${questionnaireInstalled}/exists`) + .reply(200, true); const exists = await blaiseApiClient.questionnaireExists(serverpark, questionnaireInstalled); expect(exists).toEqual(true); }); - it('returns false if it does not exist', async () => { - const exists = await blaiseApiClient.questionnaireExists(serverpark, questionnaireNotInstalled); + it("returns false if it does not exist", async () => { + mock + .onGet( + `api/v2/serverparks/${serverpark}/questionnaires/${questionnaireNotInstalled}/exists`, + ) + .reply(200, false); + const exists = await blaiseApiClient.questionnaireExists( + serverpark, + questionnaireNotInstalled, + ); expect(exists).toEqual(false); }); }); - describe('get whether questionnaire has mode', () => { - const serverpark = 'test'; - const hasMode = 'CATI'; - const doesntHaveMode = 'WEB'; - - beforeEach(() => { - mock.onGet(`http://${blaiseApiUrl}/api/v2/serverparks/${serverpark}/questionnaires/${QuestionnaireMockObject.name}/modes/${hasMode}`).reply(200, true); - mock.onGet(`http://${blaiseApiUrl}/api/v2/serverparks/${serverpark}/questionnaires/${QuestionnaireMockObject.name}/modes/${doesntHaveMode}`).reply(200, false); - }); - - afterEach(() => { - mock.reset(); - }); - - it('returns true if questionnaire has mode', async () => { - const exists = await blaiseApiClient.doesQuestionnaireHaveMode(serverpark, QuestionnaireMockObject.name, hasMode); + describe("get whether questionnaire has mode", () => { + const serverpark = "test"; + const hasMode = "CATI"; + const doesntHaveMode = "WEB"; + + it("returns true if questionnaire has mode", async () => { + mock + .onGet( + `api/v2/serverparks/${serverpark}/questionnaires/${QuestionnaireMockObject.name}/modes/${hasMode}`, + ) + .reply(200, true); + const exists = await blaiseApiClient.doesQuestionnaireHaveMode( + serverpark, + QuestionnaireMockObject.name, + hasMode, + ); expect(exists).toEqual(true); }); - it('returns false if questionnaire does not have mode', async () => { - const exists = await blaiseApiClient.doesQuestionnaireHaveMode(serverpark, QuestionnaireMockObject.name, doesntHaveMode); + it("returns false if questionnaire does not have mode", async () => { + mock + .onGet( + `api/v2/serverparks/${serverpark}/questionnaires/${QuestionnaireMockObject.name}/modes/${doesntHaveMode}`, + ) + .reply(200, false); + const exists = await blaiseApiClient.doesQuestionnaireHaveMode( + serverpark, + QuestionnaireMockObject.name, + doesntHaveMode, + ); expect(exists).toEqual(false); }); }); - describe('installquestionnaire', () => { - const serverpark = 'test'; + describe("install questionnaire", () => { + const serverpark = "test"; - beforeEach(() => { - mock.onPost(`http://${blaiseApiUrl}/api/v2/serverparks/${serverpark}/questionnaires`).reply( - 201, - InstallQuestionnaireResponseMockObject, + it("installs an questionnaire and returns the questionnaire file", async () => { + mock + .onPost(`api/v2/serverparks/${serverpark}/questionnaires`) + .reply(201, InstallQuestionnaireResponseMockObject); + const questionnaire = await blaiseApiClient.installQuestionnaire( + serverpark, + InstallQuestionnaireMockObject, ); - }); - - afterEach(() => { - mock.reset(); - }); - - it('installs an questionnaire and returns the questionnaire file', async () => { - const questionnaire = await blaiseApiClient.installQuestionnaire(serverpark, InstallQuestionnaireMockObject); expect(questionnaire).toEqual(InstallQuestionnaireResponseMockObject); }); }); - describe('delete questionnaire', () => { - const serverpark = 'test'; - const questionnaireName = 'OPN2004A'; - - beforeEach(() => { - mock.onDelete(`http://${blaiseApiUrl}/api/v2/serverparks/${serverpark}/questionnaires/${questionnaireName}?name=${questionnaireName}`).reply( - 204, - null, - ); - }); - - afterEach(() => { - mock.reset(); - }); + describe("delete questionnaire", () => { + const serverpark = "test"; + const questionnaireName = "OPN2004A"; - it('deletes an questionnaire', async () => { + it("deletes an questionnaire", async () => { + mock + .onDelete( + `api/v2/serverparks/${serverpark}/questionnaires/${questionnaireName}?name=${questionnaireName}`, + ) + .reply(204, null); const result = await blaiseApiClient.deleteQuestionnaire(serverpark, questionnaireName); expect(result).toBeNull(); }); }); - describe('get a list of case ids for in questionnaire', () => { - const serverpark = 'test'; - const questionnaireInstalled = 'OPN2101A'; - - const expectedCaseIds = ['100002', '100003']; - - beforeEach(() => { - mock.onGet(`http://${blaiseApiUrl}/api/v2/serverparks/${serverpark}/questionnaires/${questionnaireInstalled}/cases/ids`).reply(200, expectedCaseIds); - }); - - afterEach(() => { - mock.reset(); - }); - - it('returns expected list of ids', async () => { - const caseIds = await blaiseApiClient.getQuestionnaireCaseIds(serverpark, questionnaireInstalled); + describe("get a list of case ids for in questionnaire", () => { + const serverpark = "test"; + const questionnaireInstalled = "OPN2101A"; + const expectedCaseIds = ["100002", "100003"]; + + it("returns expected list of ids", async () => { + mock + .onGet( + `api/v2/serverparks/${serverpark}/questionnaires/${questionnaireInstalled}/cases/ids`, + ) + .reply(200, expectedCaseIds); + const caseIds = await blaiseApiClient.getQuestionnaireCaseIds( + serverpark, + questionnaireInstalled, + ); expect(caseIds).toEqual(expectedCaseIds); }); }); - describe('get questionnaire modes', () => { - const serverpark = 'test'; - - beforeEach(() => { - mock.onGet(`http://${blaiseApiUrl}/api/v2/serverparks/${serverpark}/questionnaires/${QuestionnaireMockObject.name}/modes`).reply(200, ['CATI', 'CAWI']); - }); - - afterEach(() => { - mock.reset(); - }); - - it('returns list of modes for questionnaire', async () => { - const exists = await blaiseApiClient.getQuestionnaireModes(serverpark, QuestionnaireMockObject.name); + describe("get questionnaire modes", () => { + const serverpark = "test"; + + it("returns list of modes for questionnaire", async () => { + mock + .onGet( + `api/v2/serverparks/${serverpark}/questionnaires/${QuestionnaireMockObject.name}/modes`, + ) + .reply(200, ["CATI", "CAWI"]); + const modes = await blaiseApiClient.getQuestionnaireModes( + serverpark, + QuestionnaireMockObject.name, + ); - expect(exists).toContain('CATI'); - expect(exists).toContain('CAWI'); + expect(modes).toContain("CATI"); + expect(modes).toContain("CAWI"); }); }); - describe('get questionnaire settings', () => { - const serverpark = 'test'; - - beforeEach(() => { - mock.onGet(`http://${blaiseApiUrl}/api/v2/serverparks/${serverpark}/questionnaires/${QuestionnaireMockObject.name}/settings`).reply(200, QuestionnaireSettingsMockList); - }); - - afterEach(() => { - mock.reset(); - }); - - it('returns list of settings for questionnaire', async () => { - const exists = await blaiseApiClient.getQuestionnaireSettings(serverpark, QuestionnaireMockObject.name); + describe("get questionnaire settings", () => { + const serverpark = "test"; + + it("returns list of settings for questionnaire", async () => { + mock + .onGet( + `api/v2/serverparks/${serverpark}/questionnaires/${QuestionnaireMockObject.name}/settings`, + ) + .reply(200, QuestionnaireSettingsMockList); + const settings = await blaiseApiClient.getQuestionnaireSettings( + serverpark, + QuestionnaireMockObject.name, + ); - expect(exists).toEqual(QuestionnaireSettingsMockList); + expect(settings).toEqual(QuestionnaireSettingsMockList); }); }); - describe('activate questionnaire', () => { - const serverpark = 'test'; - const questionnaireName = 'dst2108t'; - - beforeEach(() => { - mock.onPatch(`http://${blaiseApiUrl}/api/v2/serverparks/${serverpark}/questionnaires/${questionnaireName}/activate`).reply(204, null); - }); - - afterEach(() => { - mock.reset(); - }); + describe("activate questionnaire", () => { + const serverpark = "test"; + const questionnaireName = "dst2108t"; - it('activates an questionnaire', async () => { + it("activates an questionnaire", async () => { + mock + .onPatch(`api/v2/serverparks/${serverpark}/questionnaires/${questionnaireName}/activate`) + .reply(204, null); const result = await blaiseApiClient.activateQuestionnaire(serverpark, questionnaireName); expect(result).toBeNull(); }); }); - describe('deactivate questionnaire', () => { - const serverpark = 'test'; - const questionnaireName = 'dst2108t'; - - beforeEach(() => { - mock.onPatch(`http://${blaiseApiUrl}/api/v2/serverparks/${serverpark}/questionnaires/${questionnaireName}/deactivate`).reply(204, null); - }); - - afterEach(() => { - mock.reset(); - }); + describe("deactivate questionnaire", () => { + const serverpark = "test"; + const questionnaireName = "dst2108t"; - it('deactivates an questionnaire', async () => { + it("deactivates an questionnaire", async () => { + mock + .onPatch(`api/v2/serverparks/${serverpark}/questionnaires/${questionnaireName}/deactivate`) + .reply(204, null); const result = await blaiseApiClient.deactivateQuestionnaire(serverpark, questionnaireName); expect(result).toBeNull(); diff --git a/src/functions/questionnaireFunctions.ts b/src/functions/questionnaireFunctions.ts index cfb62c1..ba82c96 100644 --- a/src/functions/questionnaireFunctions.ts +++ b/src/functions/questionnaireFunctions.ts @@ -1,60 +1,139 @@ -import BlaiseApiClient from '../blaiseApiClient'; +import BlaiseApiClient from "../blaiseApiClient.js"; import { - InstallQuestionnaire, InstallQuestionnaireResponse, Questionnaire, QuestionnaireSettings, -} from '../interfaces/questionnaire'; + InstallQuestionnaire, + InstallQuestionnaireResponse, + Questionnaire, + QuestionnaireSettings, +} from "../interfaces/questionnaire.js"; -export async function getAllQuestionnairesWithCatiData(this: BlaiseApiClient): Promise { - return this.get('/api/v2/cati/questionnaires'); +export async function getAllQuestionnairesWithCatiData( + this: BlaiseApiClient, +): Promise { + return this.get("api/v2/cati/questionnaires"); } -export async function getQuestionnairesWithCatiData(this: BlaiseApiClient, serverpark: string): Promise { - return this.get(`/api/v2/cati/serverparks/${serverpark}/questionnaires`); +export async function getQuestionnairesWithCatiData( + this: BlaiseApiClient, + serverpark: string, +): Promise { + return this.get(`api/v2/cati/serverparks/${serverpark}/questionnaires`); } -export async function getQuestionnaireWithCatiData(this: BlaiseApiClient, serverpark: string, questionnaireName: string): Promise { - return this.get(`/api/v2/cati/serverparks/${serverpark}/questionnaires/${questionnaireName}`); +export async function getQuestionnaireWithCatiData( + this: BlaiseApiClient, + serverpark: string, + questionnaireName: string, +): Promise { + return this.get( + `api/v2/cati/serverparks/${serverpark}/questionnaires/${questionnaireName}`, + ); } -export async function getQuestionnaires(this: BlaiseApiClient, serverpark: string): Promise { - return this.get(`/api/v2/serverparks/${serverpark}/questionnaires`); +export async function getQuestionnaires( + this: BlaiseApiClient, + serverpark: string, +): Promise { + return this.get(`api/v2/serverparks/${serverpark}/questionnaires`); } -export async function questionnaireExists(this: BlaiseApiClient, serverpark: string, questionnaireName: string): Promise { - return this.get(`/api/v2/serverparks/${serverpark}/questionnaires/${questionnaireName}/exists`); +export async function questionnaireExists( + this: BlaiseApiClient, + serverpark: string, + questionnaireName: string, +): Promise { + return this.get( + `api/v2/serverparks/${serverpark}/questionnaires/${questionnaireName}/exists`, + ); } -export async function doesQuestionnaireHaveMode(this: BlaiseApiClient, serverpark: string, questionnaireName: string, mode: string): Promise { - return this.get(`/api/v2/serverparks/${serverpark}/questionnaires/${questionnaireName}/modes/${mode}`); +export async function doesQuestionnaireHaveMode( + this: BlaiseApiClient, + serverpark: string, + questionnaireName: string, + mode: string, +): Promise { + return this.get( + `api/v2/serverparks/${serverpark}/questionnaires/${questionnaireName}/modes/${mode}`, + ); } -export async function getQuestionnaire(this: BlaiseApiClient, serverpark: string, questionnaireName: string): Promise { - return this.get(`/api/v2/serverparks/${serverpark}/questionnaires/${questionnaireName}`); +export async function getQuestionnaire( + this: BlaiseApiClient, + serverpark: string, + questionnaireName: string, +): Promise { + return this.get( + `api/v2/serverparks/${serverpark}/questionnaires/${questionnaireName}`, + ); } -export async function installQuestionnaire(this: BlaiseApiClient, serverpark: string, questionnaire: InstallQuestionnaire): Promise { - return this.post(`/api/v2/serverparks/${serverpark}/questionnaires`, questionnaire); +export async function installQuestionnaire( + this: BlaiseApiClient, + serverpark: string, + questionnaire: InstallQuestionnaire, +): Promise { + return this.post( + `api/v2/serverparks/${serverpark}/questionnaires`, + questionnaire, + ); } -export async function deleteQuestionnaire(this: BlaiseApiClient, serverpark: string, questionnaireName: string): Promise { - return this.delete(`/api/v2/serverparks/${serverpark}/questionnaires/${questionnaireName}?name=${questionnaireName}`); +export async function deleteQuestionnaire( + this: BlaiseApiClient, + serverpark: string, + questionnaireName: string, +): Promise { + return this.delete( + `api/v2/serverparks/${serverpark}/questionnaires/${questionnaireName}?name=${questionnaireName}`, + ); } -export async function getQuestionnaireCaseIds(this: BlaiseApiClient, serverpark: string, questionnaireName: string): Promise { - return this.get(`/api/v2/serverparks/${serverpark}/questionnaires/${questionnaireName}/cases/ids`); +export async function getQuestionnaireCaseIds( + this: BlaiseApiClient, + serverpark: string, + questionnaireName: string, +): Promise { + return this.get( + `api/v2/serverparks/${serverpark}/questionnaires/${questionnaireName}/cases/ids`, + ); } -export async function getQuestionnaireModes(this: BlaiseApiClient, serverpark: string, questionnaireName: string): Promise { - return this.get(`/api/v2/serverparks/${serverpark}/questionnaires/${questionnaireName}/modes`); +export async function getQuestionnaireModes( + this: BlaiseApiClient, + serverpark: string, + questionnaireName: string, +): Promise { + return this.get( + `api/v2/serverparks/${serverpark}/questionnaires/${questionnaireName}/modes`, + ); } -export async function getQuestionnaireSettings(this: BlaiseApiClient, serverpark: string, questionnaireName: string): Promise { - return this.get(`/api/v2/serverparks/${serverpark}/questionnaires/${questionnaireName}/settings`); +export async function getQuestionnaireSettings( + this: BlaiseApiClient, + serverpark: string, + questionnaireName: string, +): Promise { + return this.get( + `api/v2/serverparks/${serverpark}/questionnaires/${questionnaireName}/settings`, + ); } -export async function activateQuestionnaire(this: BlaiseApiClient, serverpark: string, questionnaireName: string): Promise { - return this.patch(`api/v2/serverparks/${serverpark}/questionnaires/${questionnaireName}/activate`); +export async function activateQuestionnaire( + this: BlaiseApiClient, + serverpark: string, + questionnaireName: string, +): Promise { + return this.patch( + `api/v2/serverparks/${serverpark}/questionnaires/${questionnaireName}/activate`, + ); } -export async function deactivateQuestionnaire(this: BlaiseApiClient, serverpark: string, questionnaireName: string): Promise { - return this.patch(`api/v2/serverparks/${serverpark}/questionnaires/${questionnaireName}/deactivate`); +export async function deactivateQuestionnaire( + this: BlaiseApiClient, + serverpark: string, + questionnaireName: string, +): Promise { + return this.patch( + `api/v2/serverparks/${serverpark}/questionnaires/${questionnaireName}/deactivate`, + ); } diff --git a/src/functions/questionnaireReportFunctions.test.ts b/src/functions/questionnaireReportFunctions.test.ts index 72b3fba..9888f11 100644 --- a/src/functions/questionnaireReportFunctions.test.ts +++ b/src/functions/questionnaireReportFunctions.test.ts @@ -1,35 +1,38 @@ -import MockAdapter from 'axios-mock-adapter'; -import axios from 'axios'; -import 'regenerator-runtime/runtime'; -import BlaiseApiClient from '../blaiseApiClient'; -import reportMockObject from '../mockObjects/questionnaireReportMockObjects'; - -const mock = new MockAdapter(axios, { onNoMatch: 'throwException' }); -const blaiseApiUrl = 'testUri'; - -const blaiseApiClient = new BlaiseApiClient(`http://${blaiseApiUrl}`); - -const fieldIds = ['qhadmin.hout', 'allocation.toeditor']; - -describe('BlaiseRestapiClient', () => { - describe('get reporting data from API', () => { - const serverpark = 'test'; - const questionnaireName = 'dst2108t'; - const expectedQueryString = `?fieldIds=${fieldIds[0]}&fieldIds=${fieldIds[1]}`; - - beforeAll(() => { - mock.onGet(`http://${blaiseApiUrl}/api/v2/serverparks/${serverpark}/questionnaires/${questionnaireName}/report${expectedQueryString}`).reply( - 200, - reportMockObject, - ); +import { describe, it, expect, beforeEach, afterEach } from "vitest"; +import MockAdapter from "axios-mock-adapter"; +import axios from "axios"; +import BlaiseApiClient from "../blaiseApiClient.js"; +import reportMockObject from "../mockObjects/questionnaireReportMockObjects.js"; + +const mock = new MockAdapter(axios, { onNoMatch: "throwException" }); +const blaiseApiClient = new BlaiseApiClient("http://testUri"); + +const fieldIds = ["qhadmin.hout", "allocation.toeditor"]; + +describe("BlaiseRestapiClient", () => { + describe("get reporting data from API", () => { + const serverpark = "test"; + const questionnaireName = "dst2108t"; + const expectedQueryString = `fieldIds=${fieldIds[0]}&fieldIds=${fieldIds[1]}`; + + beforeEach(() => { + mock + .onGet( + `api/v2/serverparks/${serverpark}/questionnaires/${questionnaireName}/report?${expectedQueryString}`, + ) + .reply(200, reportMockObject); }); - afterAll(() => { + afterEach(() => { mock.reset(); }); - it('returns an expect report', async () => { - const reportData = await blaiseApiClient.getQuestionnaireReportData(serverpark, questionnaireName, fieldIds); + it("returns an expected report", async () => { + const reportData = await blaiseApiClient.getQuestionnaireReportData( + serverpark, + questionnaireName, + fieldIds, + ); expect(reportData).toEqual(reportMockObject); }); diff --git a/src/functions/questionnaireReportFunctions.ts b/src/functions/questionnaireReportFunctions.ts index 9fd1ccf..a2a652a 100644 --- a/src/functions/questionnaireReportFunctions.ts +++ b/src/functions/questionnaireReportFunctions.ts @@ -1,13 +1,17 @@ -import BlaiseApiClient from '../blaiseApiClient'; -import { QuestionnaireReport } from '../interfaces/questionnaireReport'; +import BlaiseApiClient from "../blaiseApiClient.js"; +import { QuestionnaireReport } from "../interfaces/questionnaireReport.js"; -export async function getQuestionnaireReportData(this: BlaiseApiClient, serverpark: string, questionnaireName: string, fieldIds:string[]): Promise { - const queryArray:string[] = []; - fieldIds.forEach((fieldId) => { - queryArray.push(`fieldIds=${fieldId}`); - }); +export async function getQuestionnaireReportData( + this: BlaiseApiClient, + serverpark: string, + questionnaireName: string, + fieldIds: string[], +): Promise { + const queryParams = fieldIds.map((fieldId) => `fieldIds=${fieldId}`).join("&"); - return this.get(`/api/v2/serverparks/${serverpark}/questionnaires/${questionnaireName}/report?${queryArray.join('&')}`); + return this.get( + `api/v2/serverparks/${serverpark}/questionnaires/${questionnaireName}/report?${queryParams}`, + ); } export default getQuestionnaireReportData; diff --git a/src/functions/userFunctions.test.ts b/src/functions/userFunctions.test.ts index a61b341..1bceaf7 100644 --- a/src/functions/userFunctions.test.ts +++ b/src/functions/userFunctions.test.ts @@ -1,204 +1,117 @@ -import MockAdapter from 'axios-mock-adapter'; -import axios from 'axios'; -import 'regenerator-runtime/runtime'; -import BlaiseApiClient from '../blaiseApiClient'; -import { CreateUserMockObject, CreateUserResponseMockObject } from '../mockObjects/userMockObjects'; - -const mock = new MockAdapter(axios, { onNoMatch: 'throwException' }); -const blaiseApiUrl = 'testUri'; - -const blaiseApiClient = new BlaiseApiClient(`http://${blaiseApiUrl}`); +import { describe, it, expect, afterEach } from "vitest"; +import MockAdapter from "axios-mock-adapter"; +import axios from "axios"; +import BlaiseApiClient, { + CreateUserMockObject, + CreateUserResponseMockObject, +} from "../blaiseApiClient.js"; + +const mock = new MockAdapter(axios, { onNoMatch: "throwException" }); +const blaiseApiClient = new BlaiseApiClient("http://testUri"); + +describe("blaiseApiClient users", () => { + afterEach(() => { + mock.reset(); + }); -describe('blaiseApiClient users', () => { - describe('get user', () => { - const username = 'test-user'; + describe("get user", () => { + const username = "test-user"; - beforeEach(() => { - mock.onGet(`http://${blaiseApiUrl}/api/v2/users/${username}`).reply(200, { + it("returns the user details", async () => { + mock.onGet(`api/v2/users/${username}`).reply(200, { name: username, - role: 'DST', - serverParks: ['gusty'], - defaultServerPark: 'gusty', + role: "DST", + serverParks: ["gusty"], + defaultServerPark: "gusty", }); - }); - - afterEach(() => { - mock.reset(); - }); - it('returns the user details', async () => { const result = await blaiseApiClient.getUser(username); expect(result.name).toEqual(username); - expect(result.role).toEqual('DST'); + expect(result.role).toEqual("DST"); }); }); - describe('get users', () => { - beforeEach(() => { - mock.onGet(`http://${blaiseApiUrl}/api/v2/users`).reply(200, [ - { - name: 'test-user', - role: 'DST', - serverParks: ['gusty'], - defaultServerPark: 'gusty', - }, - ]); - }); + describe("get users", () => { + it("returns the user details", async () => { + mock + .onGet("api/v2/users") + .reply(200, [ + { name: "test-user", role: "DST", serverParks: ["gusty"], defaultServerPark: "gusty" }, + ]); - afterEach(() => { - mock.reset(); - }); - - it('returns the user details', async () => { const result = await blaiseApiClient.getUsers(); expect(result).toEqual([ - { - name: 'test-user', - role: 'DST', - serverParks: ['gusty'], - defaultServerPark: 'gusty', - }, + { name: "test-user", role: "DST", serverParks: ["gusty"], defaultServerPark: "gusty" }, ]); }); }); - describe('validate password - valid', () => { - const username = 'test-user'; - const password = 'test-password'; - - beforeEach(() => { - mock.onPost(`http://${blaiseApiUrl}/api/v2/users/${username}/validate`).reply(200, true); - }); - - afterEach(() => { - mock.reset(); - }); - - it('returns true', async () => { - expect(await blaiseApiClient.validatePassword(username, password)).toBeTruthy(); - }); - }); - - describe('validate password - invalid', () => { - const username = 'test-user'; - const password = 'test-password'; - - beforeEach(() => { - mock.onPost(`http://${blaiseApiUrl}/api/v2/users/${username}/validate`).reply(200, false); - }); + describe("validate password", () => { + const username = "test-user"; + const password = "test-password"; - afterEach(() => { - mock.reset(); + it("returns true for valid password", async () => { + mock.onPost(`api/v2/users/${username}/validate`).reply(200, true); + expect(await blaiseApiClient.validatePassword(username, password)).toBe(true); }); - it('returns false', async () => { - expect(await blaiseApiClient.validatePassword(username, password)).toBeFalsy(); + it("returns false for invalid password", async () => { + mock.onPost(`api/v2/users/${username}/validate`).reply(200, false); + expect(await blaiseApiClient.validatePassword(username, password)).toBe(false); }); }); - describe('create user', () => { - beforeEach(() => { - mock.onPost(`http://${blaiseApiUrl}/api/v2/users`).reply( - 201, - CreateUserResponseMockObject, - ); - }); - - afterEach(() => { - mock.reset(); - }); - - it('creates a user and returns a response', async () => { + describe("create user", () => { + it("creates a user and returns a response", async () => { + mock.onPost("api/v2/users").reply(201, CreateUserResponseMockObject); const createUser = await blaiseApiClient.createUser(CreateUserMockObject); - expect(createUser.name).toEqual('Beyonce'); - expect(createUser.role).toEqual('DST'); + expect(createUser.name).toEqual("Beyonce"); + expect(createUser.role).toEqual("DST"); expect(createUser.serverParks).toHaveLength(1); - expect(createUser.defaultServerPark).toEqual('gusty'); }); }); - describe('delete user', () => { - const userName = 'Beyonce'; - - beforeEach(() => { - mock.onDelete(`http://${blaiseApiUrl}/api/v2/users/${userName}`).reply( - 204, - null, - ); - }); - - afterEach(() => { - mock.reset(); - }); + describe("delete user", () => { + const userName = "Beyonce"; - it('deletes a user', async () => { + it("deletes a user", async () => { + mock.onDelete(`api/v2/users/${userName}`).reply(204, null); const result = await blaiseApiClient.deleteUser(userName); expect(result).toBeNull(); }); }); - describe('get user roles', () => { - beforeEach(() => { - mock.onGet(`http://${blaiseApiUrl}/api/v2/userroles`).reply(200, [ - { - name: 'test-role', - description: 'test', - permissions: ['test'], - }, - ]); - }); - - afterEach(() => { - mock.reset(); - }); - - it('returns the user details', async () => { + describe("get user roles", () => { + it("returns the user details", async () => { + mock + .onGet("api/v2/userroles") + .reply(200, [{ name: "test-role", description: "test", permissions: ["test"] }]); const result = await blaiseApiClient.getUserRoles(); - expect(result).toEqual([ - { - name: 'test-role', - description: 'test', - permissions: ['test'], - }, - ]); + expect(result).toEqual([{ name: "test-role", description: "test", permissions: ["test"] }]); }); }); - describe('change password ', () => { - const username = 'test-user'; - const password = 'test-password'; - - beforeEach(() => { - mock.onPatch(`http://${blaiseApiUrl}/api/v2/users/${username}/password`).reply(204, null); - }); - - afterEach(() => { - mock.reset(); - }); + describe("change password", () => { + const username = "test-user"; + const password = "test-password"; - it('returns null', async () => { + it("returns null", async () => { + mock.onPatch(`api/v2/users/${username}/password`).reply(204, null); expect(await blaiseApiClient.changePassword(username, password)).toBeNull(); }); }); - describe('change user role ', () => { - const username = 'test-user'; - const role = 'test-role'; - - beforeEach(() => { - mock.onPatch(`http://${blaiseApiUrl}/api/v2/users/${username}/role`).reply(204, null); - }); - - afterEach(() => { - mock.reset(); - }); + describe("change user role", () => { + const username = "test-user"; + const role = "test-role"; - it('returns null', async () => { + it("returns null", async () => { + mock.onPatch(`api/v2/users/${username}/role`).reply(204, null); expect(await blaiseApiClient.changeUserRole(username, role)).toBeNull(); }); }); diff --git a/src/functions/userFunctions.ts b/src/functions/userFunctions.ts index c07aa11..981f9a6 100644 --- a/src/functions/userFunctions.ts +++ b/src/functions/userFunctions.ts @@ -1,45 +1,63 @@ -import BlaiseApiClient from '../blaiseApiClient'; -import { - NewUser, User, UserRole, PasswordRequest, - RoleRequest, -} from '../interfaces/user'; +import BlaiseApiClient from "../blaiseApiClient.js"; +import { NewUser, User, UserRole, PasswordRequest, RoleRequest } from "../interfaces/user.js"; export async function getUser(this: BlaiseApiClient, username: string): Promise { return this.get(`api/v2/users/${username}`); } export async function getUsers(this: BlaiseApiClient): Promise { - return this.get('api/v2/users'); + return this.get("api/v2/users"); } -export async function validatePassword(this: BlaiseApiClient, username: string, password: string): Promise { +export async function validatePassword( + this: BlaiseApiClient, + username: string, + password: string, +): Promise { const validationRequest: PasswordRequest = { password }; + return this.post(`api/v2/users/${username}/validate`, validationRequest); } export async function createUser(this: BlaiseApiClient, user: NewUser): Promise { - return this.post('/api/v2/users', user); + return this.post("api/v2/users", user); } export async function deleteUser(this: BlaiseApiClient, username: string): Promise { - return this.delete(`/api/v2/users/${username}`); + return this.delete(`api/v2/users/${username}`); } export async function getUserRoles(this: BlaiseApiClient): Promise { - return this.get('/api/v2/userroles'); + return this.get("api/v2/userroles"); } -export async function changeUserRole(this: BlaiseApiClient, username: string, role: string): Promise { +export async function changeUserRole( + this: BlaiseApiClient, + username: string, + role: string, +): Promise { const roleRequest: RoleRequest = { role }; - return this.patch(`/api/v2/users/${username}/role`, roleRequest); + + return this.patch(`api/v2/users/${username}/role`, roleRequest); } -export async function changeUserServerParks(this: BlaiseApiClient, username: string, serverParks: string[], defaultServerPark: string): Promise { +export async function changeUserServerParks( + this: BlaiseApiClient, + username: string, + serverParks: string[], + defaultServerPark: string, +): Promise { const serverParksRequest = { serverParks, defaultServerPark }; - return this.patch(`/api/v2/users/${username}/serverparks`, serverParksRequest); + + return this.patch(`api/v2/users/${username}/serverparks`, serverParksRequest); } -export async function changePassword(this: BlaiseApiClient, username: string, password: string): Promise { +export async function changePassword( + this: BlaiseApiClient, + username: string, + password: string, +): Promise { const passwordRequest: PasswordRequest = { password }; - return this.patch(`/api/v2/users/${username}/password`, passwordRequest); + + return this.patch(`api/v2/users/${username}/password`, passwordRequest); } diff --git a/src/interfaces/blaiseApi.ts b/src/interfaces/blaiseApi.ts index f72e305..5efe85c 100644 --- a/src/interfaces/blaiseApi.ts +++ b/src/interfaces/blaiseApi.ts @@ -1,5 +1,5 @@ -import { Questionnaire } from './questionnaire'; +import { Questionnaire } from "./questionnaire.js"; export interface BlaiseApi { - getQuestionnaires(serverPark: string): Promise - } + getQuestionnaires(serverPark: string): Promise; +} diff --git a/src/interfaces/blaiseApiConfig.ts b/src/interfaces/blaiseApiConfig.ts index 8c8c57e..6215cc2 100644 --- a/src/interfaces/blaiseApiConfig.ts +++ b/src/interfaces/blaiseApiConfig.ts @@ -1,4 +1,4 @@ export interface BlaiseApiConfig { - timeoutInMs?: number; - blaiseApiClientId?: string; - } + timeoutInMs?: number; + blaiseApiClientId?: string; +} diff --git a/src/interfaces/case.ts b/src/interfaces/case.ts index 6838f3a..eca6bad 100644 --- a/src/interfaces/case.ts +++ b/src/interfaces/case.ts @@ -1,25 +1,25 @@ -import { EditedStatus } from '../blaiseApiClient'; -import { CaseOutcome } from '../enums/caseOutcome'; -import Organisation from '../enums/organisation'; -import { CaseData } from '../types/caseData'; +import type { CaseOutcome } from "../enums/caseOutcome.js"; +import type { EditedStatus } from "../enums/editedStatus.js"; +import type { Organisation } from "../enums/organisation.js"; +import type { CaseData } from "../types/caseData.js"; export interface CaseResponse { - caseId: string - fieldData: CaseData + readonly caseId: string; + readonly fieldData: CaseData; } export interface CaseStatus { - primaryKey: string, - outcome: CaseOutcome + readonly primaryKey: string; + readonly outcome: CaseOutcome; } export interface CaseEditInformation { - primaryKey: string, - outcome: CaseOutcome, - assignedTo: string, - interviewer: string, - editedStatus: EditedStatus, - organisation: Organisation, - editUrl: string, - readOnlyUrl: string + readonly primaryKey: string; + readonly outcome: CaseOutcome; + readonly assignedTo: string; + readonly interviewer: string; + readonly editedStatus: EditedStatus; + readonly organisation: Organisation; + readonly editUrl: string; + readonly readOnlyUrl: string; } diff --git a/src/interfaces/daybatch.ts b/src/interfaces/daybatch.ts index b1eeabb..48c4146 100644 --- a/src/interfaces/daybatch.ts +++ b/src/interfaces/daybatch.ts @@ -1,9 +1,9 @@ export interface DaybatchResponse { - dayBatchDate: string - caseIds: string[] + dayBatchDate: string; + caseIds: string[]; } export interface DaybatchSettings { - dayBatchDate: string - checkForTreatedCases: boolean + dayBatchDate: string; + checkForTreatedCases: boolean; } diff --git a/src/interfaces/diagnostic.ts b/src/interfaces/diagnostic.ts index d7a063c..b453a39 100644 --- a/src/interfaces/diagnostic.ts +++ b/src/interfaces/diagnostic.ts @@ -1,4 +1,4 @@ export interface Diagnostic { - 'health check type': string - status: string + readonly healthCheckType: string; + readonly status: string; } diff --git a/src/interfaces/questionnaire.ts b/src/interfaces/questionnaire.ts index 7c9b7e6..853c6ad 100644 --- a/src/interfaces/questionnaire.ts +++ b/src/interfaces/questionnaire.ts @@ -1,40 +1,40 @@ export interface Node { - nodeName: string; - nodeStatus: string; + nodeName: string; + nodeStatus: string; } export interface Questionnaire { - installDate: string - name: string - expired?: boolean - serverParkName: string - activeToday?: boolean // deprecated - surveyDays?: string[] // deprecated - link?: string - fieldPeriod?: string - surveyTla?: string - dataRecordCount?: number - status?: string - hasData?: boolean - nodes?: Node[] - active?: boolean // deprecated - blaiseVersion?: string + installDate: string; + name: string; + expired?: boolean; + serverParkName: string; + activeToday?: boolean; // deprecated + surveyDays?: string[]; // deprecated + link?: string; + fieldPeriod?: string; + surveyTla?: string; + dataRecordCount?: number; + status?: string; + hasData?: boolean; + nodes?: Node[]; + active?: boolean; // deprecated + blaiseVersion?: string; } export interface InstallQuestionnaire { - questionnaireFile: string + questionnaireFile: string; } export interface InstallQuestionnaireResponse { - questionnaireFile: string + questionnaireFile: string; } export interface QuestionnaireSettings { - type: string - saveSessionOnTimeout: boolean - saveSessionOnQuit: boolean - deleteSessionOnTimeout: boolean - deleteSessionOnQuit: boolean - sessionTimeout: number - applyRecordLocking: boolean + type: string; + saveSessionOnTimeout: boolean; + saveSessionOnQuit: boolean; + deleteSessionOnTimeout: boolean; + deleteSessionOnQuit: boolean; + sessionTimeout: number; + applyRecordLocking: boolean; } diff --git a/src/interfaces/questionnaireReport.ts b/src/interfaces/questionnaireReport.ts index ec4ee82..6c05c03 100644 --- a/src/interfaces/questionnaireReport.ts +++ b/src/interfaces/questionnaireReport.ts @@ -1,8 +1,7 @@ -import { CaseData } from '../types/caseData'; +import { CaseData } from "../types/caseData.js"; -export interface QuestionnaireReport -{ - questionnaireName: string, - questionnaireId: string, - reportingData: CaseData[] +export interface QuestionnaireReport { + questionnaireName: string; + questionnaireId: string; + reportingData: CaseData[]; } diff --git a/src/interfaces/survey.ts b/src/interfaces/survey.ts index 10d2d3f..b9d821a 100644 --- a/src/interfaces/survey.ts +++ b/src/interfaces/survey.ts @@ -1,6 +1,6 @@ -import { Questionnaire } from './questionnaire'; +import { Questionnaire } from "./questionnaire.js"; export interface Survey { - questionnaires: Questionnaire[] - survey: string + questionnaires: Questionnaire[]; + survey: string; } diff --git a/src/interfaces/user.ts b/src/interfaces/user.ts index 0a8ebee..b82ab73 100644 --- a/src/interfaces/user.ts +++ b/src/interfaces/user.ts @@ -1,24 +1,26 @@ +import type { UserRole as UserRoleUnion } from "../enums/userRole.js"; + +export interface UserRole { + readonly name: string; + readonly description: string; + readonly permissions: readonly string[]; +} + export interface User { - name: string, - role: string, - serverParks: string[], - defaultServerPark: string + readonly name: string; + readonly role: UserRoleUnion | string; + readonly serverParks: readonly string[]; + readonly defaultServerPark: string; } export interface PasswordRequest { - password: string + readonly password: string; } export interface RoleRequest { - role: string -} - -export interface UserRole { - name: string, - description: string, - permissions: string[] + readonly role: string; } export interface NewUser extends User { - password: string + readonly password: string; } diff --git a/src/mockObjects/caseMockObjects.ts b/src/mockObjects/caseMockObjects.ts index b720cbd..6068397 100644 --- a/src/mockObjects/caseMockObjects.ts +++ b/src/mockObjects/caseMockObjects.ts @@ -1,66 +1,73 @@ -import { CaseEditInformation, CaseResponse, CaseStatus } from '../interfaces/case'; +import { CaseEditInformation, CaseResponse, CaseStatus } from "../interfaces/case.js"; +import CaseOutcome from "../enums/caseOutcome.js"; +import EditedStatus from "../enums/editedStatus.js"; +import Organisation from "../enums/organisation.js"; -export const CaseStatusListMockObject:CaseStatus[] = [{ - primaryKey: '1', - outcome: 110, -}, { - primaryKey: '2', - outcome: 310, -}, { - primaryKey: '3', - outcome: 0, -}]; +export const CaseStatusListMockObject: CaseStatus[] = [ + { + primaryKey: "1", + outcome: CaseOutcome.Completed, + }, + { + primaryKey: "2", + outcome: CaseOutcome.NonContact, + }, + { + primaryKey: "3", + outcome: CaseOutcome.None, + }, +]; -export const CaseResponseMockObject:CaseResponse = { - caseId: '1', +export const CaseResponseMockObject: CaseResponse = { + caseId: "1", fieldData: { - 'qiD.Serial_Number': '1', - 'qDataBag.Prem1': 'Flat 1', - 'qDataBag.Prem2': 'Richmond House', - 'qDataBag.Prem3': 'Rice Road', - 'qDataBag.Prem4': '', - 'qDataBag.District': 'Gwent', - 'qDataBag.PostTown': 'Newport', - 'qDataBag.PostCode': 'NZ11 4PD', - 'qhAdmin.HOut': '100', - 'qhAdmin.Interviewer[1]': 'rich', - 'dmName[1]': 'Richmond Ricecake', - 'dmDteOfBth[1]': '1980-01-15', - 'dmName[2]': 'Richmond Junior', - 'dmDteOfBth[2]': '2005-04-12', - dmhSize: '2', + "qiD.Serial_Number": "1", + "qDataBag.Prem1": "Flat 1", + "qDataBag.Prem2": "Richmond House", + "qDataBag.Prem3": "Rice Road", + "qDataBag.Prem4": "", + "qDataBag.District": "Gwent", + "qDataBag.PostTown": "Newport", + "qDataBag.PostCode": "NZ11 4PD", + "qhAdmin.HOut": "100", + "qhAdmin.Interviewer[1]": "rich", + "dmName[1]": "Richmond Ricecake", + "dmDteOfBth[1]": "1980-01-15", + "dmName[2]": "Richmond Junior", + "dmDteOfBth[2]": "2005-04-12", + dmhSize: "2", }, }; -export const CaseEditInformationListMockObject:CaseEditInformation[] = [ +export const CaseEditInformationListMockObject: CaseEditInformation[] = [ { - primaryKey: '100101', - outcome: 110, - assignedTo: 'Rich', - interviewer: 'Jane Doe', - editedStatus: 3, - organisation: 1, - editUrl: '', - readOnlyUrl: '', + primaryKey: "100101", + outcome: CaseOutcome.Completed, + assignedTo: "Rich", + interviewer: "Jane Doe", + editedStatus: EditedStatus.Finished, + organisation: Organisation.ONS, + editUrl: "", + readOnlyUrl: "", }, { - primaryKey: '100102', - outcome: 210, - assignedTo: 'Jake', - interviewer: 'Bob Roberts', - editedStatus: 3, - organisation: 1, - editUrl: '', - readOnlyUrl: '', + primaryKey: "100102", + outcome: CaseOutcome.Partial, + assignedTo: "Jake", + interviewer: "Bob Roberts", + editedStatus: EditedStatus.Finished, + organisation: Organisation.ONS, + editUrl: "", + readOnlyUrl: "", }, { - primaryKey: '100113', - outcome: 430, - assignedTo: 'Jamie', - interviewer: 'Frank Frankinson', - editedStatus: 3, - organisation: 1, - editUrl: '', - readOnlyUrl: '', + primaryKey: "100113", + outcome: CaseOutcome.HQRefusal, + assignedTo: "Jamie", + interviewer: "Frank Frankinson", + editedStatus: EditedStatus.Finished, + organisation: Organisation.ONS, + editUrl: "", + readOnlyUrl: "", }, ]; diff --git a/src/mockObjects/daybatchMockObjects.ts b/src/mockObjects/daybatchMockObjects.ts index 55ff5d9..7e39906 100644 --- a/src/mockObjects/daybatchMockObjects.ts +++ b/src/mockObjects/daybatchMockObjects.ts @@ -1,27 +1,19 @@ -import { DaybatchResponse, DaybatchSettings } from '../interfaces/daybatch'; -import { SurveyDays } from '../types/surveyDays'; +import { DaybatchResponse, DaybatchSettings } from "../interfaces/daybatch.js"; -export const QuestionnaireDaybatchCasesMock:DaybatchResponse[] = [ +export const QuestionnaireDaybatchCasesMock: ReadonlyArray = [ { - dayBatchDate: '2021-01-15T14:41:29.4399898+00:00', - caseIds: [ - '100101', - '100102', - '100103', - '100104', - ], + dayBatchDate: "2021-01-15T14:41:29.4399898+00:00", + caseIds: ["100101", "100102", "100103", "100104"], }, ]; -export const AddDaybatchMock:DaybatchSettings = { - dayBatchDate: '2021-01-15T14:41:29.4399898+00:00', +export const AddDaybatchMock: DaybatchSettings = { + dayBatchDate: "2021-01-15T14:41:29.4399898+00:00", checkForTreatedCases: true, }; -export const SurveyDaysMock = [ - '2021-01-15T14:41:29.4399898+00:00', -]; +export const SurveyDaysMock: ReadonlyArray = ["2021-01-15T14:41:29.4399898+00:00"]; -export const SurveyDaysDatesMock:SurveyDays = [ - new Date('2021-01-15T14:41:29.4399898+00:00'), +export const SurveyDaysDatesMock: ReadonlyArray = [ + new Date("2021-01-15T14:41:29.4399898+00:00"), ]; diff --git a/src/mockObjects/diagnosticMockObjects.ts b/src/mockObjects/diagnosticMockObjects.ts index 63496a1..c5b34d1 100644 --- a/src/mockObjects/diagnosticMockObjects.ts +++ b/src/mockObjects/diagnosticMockObjects.ts @@ -1,10 +1,10 @@ -import { Diagnostic } from '../interfaces/diagnostic'; +import { Diagnostic } from "../interfaces/diagnostic.js"; -export const DiagnosticMockObject:Diagnostic[] = [ - { 'health check type': 'Connection model', status: 'OK' }, - { 'health check type': 'Blaise connection', status: 'OK' }, - { 'health check type': 'Remote data server connection', status: 'OK' }, - { 'health check type': 'Remote Cati management connection', status: 'OK' }, +export const DiagnosticMockObject: readonly Diagnostic[] = [ + { healthCheckType: "Connection model", status: "OK" }, + { healthCheckType: "Blaise connection", status: "OK" }, + { healthCheckType: "Remote data server connection", status: "OK" }, + { healthCheckType: "Remote Cati management connection", status: "OK" }, ]; export default DiagnosticMockObject; diff --git a/src/mockObjects/questionnaireMockObjects.ts b/src/mockObjects/questionnaireMockObjects.ts index 917dd70..8d281c8 100644 --- a/src/mockObjects/questionnaireMockObjects.ts +++ b/src/mockObjects/questionnaireMockObjects.ts @@ -1,58 +1,67 @@ import { - InstallQuestionnaire, InstallQuestionnaireResponse, Questionnaire, QuestionnaireSettings, -} from '../interfaces/questionnaire'; + InstallQuestionnaire, + InstallQuestionnaireResponse, + Questionnaire, + QuestionnaireSettings, +} from "../interfaces/questionnaire.js"; -export const QuestionnaireListMockObject:Questionnaire[] = [{ - name: 'OPN2101A', - serverParkName: 'gusty', - installDate: '2021-01-15T14:41:29.4399898+00:00', - status: 'Active', - dataRecordCount: 0, - hasData: false, - active: false, -}, { - name: 'OPN2007T', - serverParkName: 'gusty', - installDate: '2021-01-15T15:18:40.1503617+00:00', - status: 'Active', - dataRecordCount: 10, - hasData: true, - active: true, -}, { - name: 'LMS2101_AA1', - serverParkName: 'gusty', - installDate: '2021-01-15T15:26:43.4233454+00:00', - status: 'Active', - dataRecordCount: 0, - hasData: false, - active: false, -}]; +export const QuestionnaireListMockObject: readonly Questionnaire[] = [ + { + name: "OPN2101A", + serverParkName: "gusty", + installDate: "2021-01-15T14:41:29.4399898+00:00", + status: "Active", + dataRecordCount: 0, + hasData: false, + active: false, + }, + { + name: "OPN2007T", + serverParkName: "gusty", + installDate: "2021-01-15T15:18:40.1503617+00:00", + status: "Active", + dataRecordCount: 10, + hasData: true, + active: true, + }, + { + name: "LMS2101_AA1", + serverParkName: "gusty", + installDate: "2021-01-15T15:26:43.4233454+00:00", + status: "Active", + dataRecordCount: 0, + hasData: false, + active: false, + }, +]; -export const QuestionnaireMockObject:Questionnaire = { - name: 'OPN2101A', - serverParkName: 'gusty', - installDate: '2021-01-15T14:41:29.4399898+00:00', - status: 'Active', +export const QuestionnaireMockObject: Questionnaire = { + name: "OPN2101A", + serverParkName: "gusty", + installDate: "2021-01-15T14:41:29.4399898+00:00", + status: "Active", dataRecordCount: 0, hasData: false, active: false, - blaiseVersion: '5.9.9.2735', + blaiseVersion: "5.9.9.2735", }; -export const InstallQuestionnaireMockObject:InstallQuestionnaire = { - questionnaireFile: 'OPN2004A.bpkg', +export const InstallQuestionnaireMockObject: InstallQuestionnaire = { + questionnaireFile: "OPN2004A.bpkg", }; -export const InstallQuestionnaireResponseMockObject:InstallQuestionnaireResponse = { - questionnaireFile: 'OPN2004A.bpkg', +export const InstallQuestionnaireResponseMockObject: InstallQuestionnaireResponse = { + questionnaireFile: "OPN2004A.bpkg", }; -export const QuestionnaireSettingsMockList:QuestionnaireSettings[] = [{ - type: 'StrictInterviewing', - saveSessionOnTimeout: true, - saveSessionOnQuit: true, - deleteSessionOnTimeout: true, - deleteSessionOnQuit: true, - sessionTimeout: 15, - applyRecordLocking: true, -}]; +export const QuestionnaireSettingsMockList: readonly QuestionnaireSettings[] = [ + { + type: "StrictInterviewing", + saveSessionOnTimeout: true, + saveSessionOnQuit: true, + deleteSessionOnTimeout: true, + deleteSessionOnQuit: true, + sessionTimeout: 15, + applyRecordLocking: true, + }, +]; diff --git a/src/mockObjects/questionnaireReportMockObjects.ts b/src/mockObjects/questionnaireReportMockObjects.ts index 071ddff..26a6600 100644 --- a/src/mockObjects/questionnaireReportMockObjects.ts +++ b/src/mockObjects/questionnaireReportMockObjects.ts @@ -1,16 +1,17 @@ -import { QuestionnaireReport } from '../interfaces/questionnaireReport'; +import { QuestionnaireReport } from "../interfaces/questionnaireReport.js"; +import CaseOutcome from "../enums/caseOutcome.js"; const reportMockObject: QuestionnaireReport = { - questionnaireName: 'FRS2211A', - questionnaireId: '00000000-0000-0000-0000-000000000000', + questionnaireName: "FRS2211A", + questionnaireId: "00000000-0000-0000-0000-000000000000", reportingData: [ { - 'qiD.Serial_Number': '1', - 'qhAdmin.HOut': '210', + "qiD.Serial_Number": "1", + "qhAdmin.HOut": CaseOutcome.Partial.toString(), }, { - 'qiD.Serial_Number': '2', - 'qhAdmin.HOut': '110', + "qiD.Serial_Number": "2", + "qhAdmin.HOut": CaseOutcome.Completed.toString(), }, ], }; diff --git a/src/mockObjects/userMockObjects.ts b/src/mockObjects/userMockObjects.ts index 72fb682..f95f425 100644 --- a/src/mockObjects/userMockObjects.ts +++ b/src/mockObjects/userMockObjects.ts @@ -1,21 +1,18 @@ -import { NewUser } from '../interfaces/user'; +import { NewUser } from "../interfaces/user.js"; +import UserRole from "../enums/userRole.js"; -export const CreateUserMockObject:NewUser = { - password: 'somethingVerySecure', - name: 'Beyonce', - role: 'DST', - serverParks: [ - 'gusty', - ], - defaultServerPark: 'gusty', +export const CreateUserMockObject: NewUser = { + password: "somethingVerySecure", + name: "Beyonce", + role: UserRole.DST, + serverParks: ["gusty"], + defaultServerPark: "gusty", }; -export const CreateUserResponseMockObject:NewUser = { - password: 'somethingVerySecure', - name: 'Beyonce', - role: 'DST', - serverParks: [ - 'gusty', - ], - defaultServerPark: 'gusty', +export const CreateUserResponseMockObject: NewUser = { + password: "somethingVerySecure", + name: "Beyonce", + role: UserRole.DST, + serverParks: ["gusty"], + defaultServerPark: "gusty", }; diff --git a/src/types/caseData.ts b/src/types/caseData.ts index 61e2a2f..175e481 100644 --- a/src/types/caseData.ts +++ b/src/types/caseData.ts @@ -1,2 +1,9 @@ -// eslint-disable-next-line @typescript-eslint/no-explicit-any -export type CaseData = Record +export type JSONValue = + | string + | number + | boolean + | null + | JSONValue[] + | { [key: string]: JSONValue }; + +export type CaseData = Record; diff --git a/src/types/surveyDays.ts b/src/types/surveyDays.ts deleted file mode 100644 index f8214c1..0000000 --- a/src/types/surveyDays.ts +++ /dev/null @@ -1 +0,0 @@ -export type SurveyDays = string[] | Date[] diff --git a/tsconfig.build.json b/tsconfig.build.json new file mode 100644 index 0000000..32b08eb --- /dev/null +++ b/tsconfig.build.json @@ -0,0 +1,9 @@ +{ + "extends": "./tsconfig.json", + "exclude": [ + "coverage", + "dist", + "node_modules", + "src/**/*.test.ts", + ] +} diff --git a/tsconfig.json b/tsconfig.json index cd300e2..3a7f40b 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -1,20 +1,31 @@ { "compilerOptions": { - "outDir": "lib/esm", - "module": "esnext", - "target": "es5", - "lib": ["es6", "dom", "es2016", "es2017"], + "strict": true, + "forceConsistentCasingInFileNames": true, + "noFallthroughCasesInSwitch": true, + "skipLibCheck": true, + "target": "ESNext", + "module": "ESNext", + "moduleResolution": "bundler", + "resolveJsonModule": true, + "isolatedModules": true, + "types": [ + "vitest/globals", + "node" + ], "declaration": true, - "moduleResolution": "node", - "noUnusedLocals": true, - "noUnusedParameters": true, + "sourceMap": true, + "outDir": "dist/esm", + "rootDir": "src", "esModuleInterop": true, - "noImplicitReturns": true, - "noImplicitThis": true, - "noImplicitAny": true, - "strictNullChecks": true, "allowSyntheticDefaultImports": true }, - "include": ["src"], - "exclude": ["node_modules", "lib", "src/**/*.spec.ts", "src/**/*.test.ts"] + "include": [ + "src" + ], + "exclude": [ + "coverage", + "dist", + "node_modules" + ] } diff --git a/tsconfig.test.json b/tsconfig.test.json deleted file mode 100644 index c37c5d7..0000000 --- a/tsconfig.test.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "compilerOptions": { - "outDir": "lib/esm", - "module": "esnext", - "target": "es5", - "lib": ["es6", "dom", "es2016", "es2017"], - "declaration": true, - "moduleResolution": "node", - "noUnusedLocals": true, - "noUnusedParameters": true, - "esModuleInterop": true, - "noImplicitReturns": true, - "noImplicitThis": true, - "noImplicitAny": true, - "strictNullChecks": true, - "allowSyntheticDefaultImports": true - }, - "include": ["src/**/*.spec.ts", "src/**/*.test.ts"], -} diff --git a/vitest.config.ts b/vitest.config.ts new file mode 100644 index 0000000..133c16b --- /dev/null +++ b/vitest.config.ts @@ -0,0 +1,13 @@ +import { defineConfig } from "vitest/config"; + +export default defineConfig({ + test: { + environment: "node", + coverage: { + provider: "v8", + reporter: ["text", "json", "html"], + include: ["src/**/*.ts"], + exclude: ["src/**/*.test.ts", "src/**/*.spec.ts", "mocks/**"], + }, + }, +}); diff --git a/yarn.lock b/yarn.lock index 4f3c90a..24b0269 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2,1627 +2,736 @@ # yarn lockfile v1 -"@ampproject/remapping@^2.2.0": - version "2.3.0" - resolved "https://registry.yarnpkg.com/@ampproject/remapping/-/remapping-2.3.0.tgz#ed441b6fa600072520ce18b43d2c8cc8caecc7f4" - integrity sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw== - dependencies: - "@jridgewell/gen-mapping" "^0.3.5" - "@jridgewell/trace-mapping" "^0.3.24" - -"@babel/code-frame@^7.0.0", "@babel/code-frame@^7.12.13", "@babel/code-frame@^7.26.2": - version "7.26.2" - resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.26.2.tgz#4b5fab97d33338eff916235055f0ebc21e573a85" - integrity sha512-RJlIHRueQgwWitWgF8OdFYGZX328Ax5BCemNGlqHfplnRT9ESi8JkFlvaVYbS+UubVY6dpv87Fs2u5M29iNFVQ== - dependencies: - "@babel/helper-validator-identifier" "^7.25.9" - js-tokens "^4.0.0" - picocolors "^1.0.0" - -"@babel/compat-data@^7.22.6", "@babel/compat-data@^7.26.5", "@babel/compat-data@^7.26.8": - version "7.26.8" - resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.26.8.tgz#821c1d35641c355284d4a870b8a4a7b0c141e367" - integrity sha512-oH5UPLMWR3L2wEFLnFJ1TZXqHufiTKAiLfqw5zkhS4dKXLJ10yVztfil/twG8EDTA4F/tvVNw9nOl4ZMslB8rQ== - -"@babel/core@^7.11.6", "@babel/core@^7.12.3", "@babel/core@^7.23.9", "@babel/core@^7.26.9": - version "7.26.9" - resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.26.9.tgz#71838542a4b1e49dfed353d7acbc6eb89f4a76f2" - integrity sha512-lWBYIrF7qK5+GjY5Uy+/hEgp8OJWOD/rpy74GplYRhEauvbHDeFB8t5hPOZxCZ0Oxf4Cc36tK51/l3ymJysrKw== - dependencies: - "@ampproject/remapping" "^2.2.0" - "@babel/code-frame" "^7.26.2" - "@babel/generator" "^7.26.9" - "@babel/helper-compilation-targets" "^7.26.5" - "@babel/helper-module-transforms" "^7.26.0" - "@babel/helpers" "^7.26.9" - "@babel/parser" "^7.26.9" - "@babel/template" "^7.26.9" - "@babel/traverse" "^7.26.9" - "@babel/types" "^7.26.9" - convert-source-map "^2.0.0" - debug "^4.1.0" - gensync "^1.0.0-beta.2" - json5 "^2.2.3" - semver "^6.3.1" - -"@babel/generator@^7.26.9", "@babel/generator@^7.7.2": - version "7.26.9" - resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.26.9.tgz#75a9482ad3d0cc7188a537aa4910bc59db67cbca" - integrity sha512-kEWdzjOAUMW4hAyrzJ0ZaTOu9OmpyDIQicIh0zg0EEcEkYXZb2TjtBhnHi2ViX7PKwZqF4xwqfAm299/QMP3lg== - dependencies: - "@babel/parser" "^7.26.9" - "@babel/types" "^7.26.9" - "@jridgewell/gen-mapping" "^0.3.5" - "@jridgewell/trace-mapping" "^0.3.25" - jsesc "^3.0.2" - -"@babel/helper-annotate-as-pure@^7.25.9": - version "7.25.9" - resolved "https://registry.yarnpkg.com/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.25.9.tgz#d8eac4d2dc0d7b6e11fa6e535332e0d3184f06b4" - integrity sha512-gv7320KBUFJz1RnylIg5WWYPRXKZ884AGkYpgpWW02TH66Dl+HaC1t1CKd0z3R4b6hdYEcmrNZHUmfCP+1u3/g== - dependencies: - "@babel/types" "^7.25.9" - -"@babel/helper-compilation-targets@^7.22.6", "@babel/helper-compilation-targets@^7.25.9", "@babel/helper-compilation-targets@^7.26.5": - version "7.26.5" - resolved "https://registry.yarnpkg.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.26.5.tgz#75d92bb8d8d51301c0d49e52a65c9a7fe94514d8" - integrity sha512-IXuyn5EkouFJscIDuFF5EsiSolseme1s0CZB+QxVugqJLYmKdxI1VfIBOst0SUu4rnk2Z7kqTwmoO1lp3HIfnA== - dependencies: - "@babel/compat-data" "^7.26.5" - "@babel/helper-validator-option" "^7.25.9" - browserslist "^4.24.0" - lru-cache "^5.1.1" - semver "^6.3.1" - -"@babel/helper-create-class-features-plugin@^7.25.9": - version "7.26.9" - resolved "https://registry.yarnpkg.com/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.26.9.tgz#d6f83e3039547fbb39967e78043cd3c8b7820c71" - integrity sha512-ubbUqCofvxPRurw5L8WTsCLSkQiVpov4Qx0WMA+jUN+nXBK8ADPlJO1grkFw5CWKC5+sZSOfuGMdX1aI1iT9Sg== - dependencies: - "@babel/helper-annotate-as-pure" "^7.25.9" - "@babel/helper-member-expression-to-functions" "^7.25.9" - "@babel/helper-optimise-call-expression" "^7.25.9" - "@babel/helper-replace-supers" "^7.26.5" - "@babel/helper-skip-transparent-expression-wrappers" "^7.25.9" - "@babel/traverse" "^7.26.9" - semver "^6.3.1" - -"@babel/helper-create-regexp-features-plugin@^7.18.6", "@babel/helper-create-regexp-features-plugin@^7.25.9": - version "7.26.3" - resolved "https://registry.yarnpkg.com/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.26.3.tgz#5169756ecbe1d95f7866b90bb555b022595302a0" - integrity sha512-G7ZRb40uUgdKOQqPLjfD12ZmGA54PzqDFUv2BKImnC9QIfGhIHKvVML0oN8IUiDq4iRqpq74ABpvOaerfWdong== - dependencies: - "@babel/helper-annotate-as-pure" "^7.25.9" - regexpu-core "^6.2.0" - semver "^6.3.1" - -"@babel/helper-define-polyfill-provider@^0.6.3": - version "0.6.3" - resolved "https://registry.yarnpkg.com/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.6.3.tgz#f4f2792fae2ef382074bc2d713522cf24e6ddb21" - integrity sha512-HK7Bi+Hj6H+VTHA3ZvBis7V/6hu9QuTrnMXNybfUf2iiuU/N97I8VjB+KbhFF8Rld/Lx5MzoCwPCpPjfK+n8Cg== - dependencies: - "@babel/helper-compilation-targets" "^7.22.6" - "@babel/helper-plugin-utils" "^7.22.5" - debug "^4.1.1" - lodash.debounce "^4.0.8" - resolve "^1.14.2" - -"@babel/helper-member-expression-to-functions@^7.25.9": - version "7.25.9" - resolved "https://registry.yarnpkg.com/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.25.9.tgz#9dfffe46f727005a5ea29051ac835fb735e4c1a3" - integrity sha512-wbfdZ9w5vk0C0oyHqAJbc62+vet5prjj01jjJ8sKn3j9h3MQQlflEdXYvuqRWjHnM12coDEqiC1IRCi0U/EKwQ== - dependencies: - "@babel/traverse" "^7.25.9" - "@babel/types" "^7.25.9" - -"@babel/helper-module-imports@^7.25.9": - version "7.25.9" - resolved "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.25.9.tgz#e7f8d20602ebdbf9ebbea0a0751fb0f2a4141715" - integrity sha512-tnUA4RsrmflIM6W6RFTLFSXITtl0wKjgpnLgXyowocVPrbYrLUXSBXDgTs8BlbmIzIdlBySRQjINYs2BAkiLtw== - dependencies: - "@babel/traverse" "^7.25.9" - "@babel/types" "^7.25.9" - -"@babel/helper-module-transforms@^7.25.9", "@babel/helper-module-transforms@^7.26.0": - version "7.26.0" - resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.26.0.tgz#8ce54ec9d592695e58d84cd884b7b5c6a2fdeeae" - integrity sha512-xO+xu6B5K2czEnQye6BHA7DolFFmS3LB7stHZFaOLb1pAwO1HWLS8fXA+eh0A2yIvltPVmx3eNNDBJA2SLHXFw== - dependencies: - "@babel/helper-module-imports" "^7.25.9" - "@babel/helper-validator-identifier" "^7.25.9" - "@babel/traverse" "^7.25.9" - -"@babel/helper-optimise-call-expression@^7.25.9": - version "7.25.9" - resolved "https://registry.yarnpkg.com/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.25.9.tgz#3324ae50bae7e2ab3c33f60c9a877b6a0146b54e" - integrity sha512-FIpuNaz5ow8VyrYcnXQTDRGvV6tTjkNtCK/RYNDXGSLlUD6cBuQTSw43CShGxjvfBTfcUA/r6UhUCbtYqkhcuQ== - dependencies: - "@babel/types" "^7.25.9" - -"@babel/helper-plugin-utils@^7.0.0", "@babel/helper-plugin-utils@^7.10.4", "@babel/helper-plugin-utils@^7.12.13", "@babel/helper-plugin-utils@^7.14.5", "@babel/helper-plugin-utils@^7.18.6", "@babel/helper-plugin-utils@^7.22.5", "@babel/helper-plugin-utils@^7.25.9", "@babel/helper-plugin-utils@^7.26.5", "@babel/helper-plugin-utils@^7.8.0": - version "7.26.5" - resolved "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.26.5.tgz#18580d00c9934117ad719392c4f6585c9333cc35" - integrity sha512-RS+jZcRdZdRFzMyr+wcsaqOmld1/EqTghfaBGQQd/WnRdzdlvSZ//kF7U8VQTxf1ynZ4cjUcYgjVGx13ewNPMg== - -"@babel/helper-remap-async-to-generator@^7.25.9": - version "7.25.9" - resolved "https://registry.yarnpkg.com/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.25.9.tgz#e53956ab3d5b9fb88be04b3e2f31b523afd34b92" - integrity sha512-IZtukuUeBbhgOcaW2s06OXTzVNJR0ybm4W5xC1opWFFJMZbwRj5LCk+ByYH7WdZPZTt8KnFwA8pvjN2yqcPlgw== - dependencies: - "@babel/helper-annotate-as-pure" "^7.25.9" - "@babel/helper-wrap-function" "^7.25.9" - "@babel/traverse" "^7.25.9" - -"@babel/helper-replace-supers@^7.25.9", "@babel/helper-replace-supers@^7.26.5": - version "7.26.5" - resolved "https://registry.yarnpkg.com/@babel/helper-replace-supers/-/helper-replace-supers-7.26.5.tgz#6cb04e82ae291dae8e72335dfe438b0725f14c8d" - integrity sha512-bJ6iIVdYX1YooY2X7w1q6VITt+LnUILtNk7zT78ykuwStx8BauCzxvFqFaHjOpW1bVnSUM1PN1f0p5P21wHxvg== - dependencies: - "@babel/helper-member-expression-to-functions" "^7.25.9" - "@babel/helper-optimise-call-expression" "^7.25.9" - "@babel/traverse" "^7.26.5" - -"@babel/helper-skip-transparent-expression-wrappers@^7.25.9": - version "7.25.9" - resolved "https://registry.yarnpkg.com/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.25.9.tgz#0b2e1b62d560d6b1954893fd2b705dc17c91f0c9" - integrity sha512-K4Du3BFa3gvyhzgPcntrkDgZzQaq6uozzcpGbOO1OEJaI+EJdqWIMTLgFgQf6lrfiDFo5FU+BxKepI9RmZqahA== - dependencies: - "@babel/traverse" "^7.25.9" - "@babel/types" "^7.25.9" - -"@babel/helper-string-parser@^7.25.9": - version "7.25.9" - resolved "https://registry.yarnpkg.com/@babel/helper-string-parser/-/helper-string-parser-7.25.9.tgz#1aabb72ee72ed35789b4bbcad3ca2862ce614e8c" - integrity sha512-4A/SCr/2KLd5jrtOMFzaKjVtAei3+2r/NChoBNoZ3EyP/+GlhoaEGoWOZUmFmoITP7zOJyHIMm+DYRd8o3PvHA== - -"@babel/helper-validator-identifier@^7.25.9": - version "7.25.9" - resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.25.9.tgz#24b64e2c3ec7cd3b3c547729b8d16871f22cbdc7" - integrity sha512-Ed61U6XJc3CVRfkERJWDz4dJwKe7iLmmJsbOGu9wSloNSFttHV0I8g6UAgb7qnK5ly5bGLPd4oXZlxCdANBOWQ== - -"@babel/helper-validator-option@^7.25.9": - version "7.25.9" - resolved "https://registry.yarnpkg.com/@babel/helper-validator-option/-/helper-validator-option-7.25.9.tgz#86e45bd8a49ab7e03f276577f96179653d41da72" - integrity sha512-e/zv1co8pp55dNdEcCynfj9X7nyUKUXoUEwfXqaZt0omVOmDe9oOTdKStH4GmAw6zxMFs50ZayuMfHDKlO7Tfw== - -"@babel/helper-wrap-function@^7.25.9": - version "7.25.9" - resolved "https://registry.yarnpkg.com/@babel/helper-wrap-function/-/helper-wrap-function-7.25.9.tgz#d99dfd595312e6c894bd7d237470025c85eea9d0" - integrity sha512-ETzz9UTjQSTmw39GboatdymDq4XIQbR8ySgVrylRhPOFpsd+JrKHIuF0de7GCWmem+T4uC5z7EZguod7Wj4A4g== - dependencies: - "@babel/template" "^7.25.9" - "@babel/traverse" "^7.25.9" - "@babel/types" "^7.25.9" - -"@babel/helpers@^7.26.9": - version "7.26.9" - resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.26.9.tgz#28f3fb45252fc88ef2dc547c8a911c255fc9fef6" - integrity sha512-Mz/4+y8udxBKdmzt/UjPACs4G3j5SshJJEFFKxlCGPydG4JAHXxjWjAwjd09tf6oINvl1VfMJo+nB7H2YKQ0dA== - dependencies: - "@babel/template" "^7.26.9" - "@babel/types" "^7.26.9" - -"@babel/parser@^7.1.0", "@babel/parser@^7.14.7", "@babel/parser@^7.20.7", "@babel/parser@^7.23.9", "@babel/parser@^7.26.9": - version "7.26.9" - resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.26.9.tgz#d9e78bee6dc80f9efd8f2349dcfbbcdace280fd5" - integrity sha512-81NWa1njQblgZbQHxWHpxxCzNsa3ZwvFqpUg7P+NNUU6f3UU2jBEg4OlF/J6rl8+PQGh1q6/zWScd001YwcA5A== - dependencies: - "@babel/types" "^7.26.9" - -"@babel/plugin-bugfix-firefox-class-in-computed-class-key@^7.25.9": - version "7.25.9" - resolved "https://registry.yarnpkg.com/@babel/plugin-bugfix-firefox-class-in-computed-class-key/-/plugin-bugfix-firefox-class-in-computed-class-key-7.25.9.tgz#cc2e53ebf0a0340777fff5ed521943e253b4d8fe" - integrity sha512-ZkRyVkThtxQ/J6nv3JFYv1RYY+JT5BvU0y3k5bWrmuG4woXypRa4PXmm9RhOwodRkYFWqC0C0cqcJ4OqR7kW+g== - dependencies: - "@babel/helper-plugin-utils" "^7.25.9" - "@babel/traverse" "^7.25.9" - -"@babel/plugin-bugfix-safari-class-field-initializer-scope@^7.25.9": - version "7.25.9" - resolved "https://registry.yarnpkg.com/@babel/plugin-bugfix-safari-class-field-initializer-scope/-/plugin-bugfix-safari-class-field-initializer-scope-7.25.9.tgz#af9e4fb63ccb8abcb92375b2fcfe36b60c774d30" - integrity sha512-MrGRLZxLD/Zjj0gdU15dfs+HH/OXvnw/U4jJD8vpcP2CJQapPEv1IWwjc/qMg7ItBlPwSv1hRBbb7LeuANdcnw== - dependencies: - "@babel/helper-plugin-utils" "^7.25.9" - -"@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@^7.25.9": - version "7.25.9" - resolved "https://registry.yarnpkg.com/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.25.9.tgz#e8dc26fcd616e6c5bf2bd0d5a2c151d4f92a9137" - integrity sha512-2qUwwfAFpJLZqxd02YW9btUCZHl+RFvdDkNfZwaIJrvB8Tesjsk8pEQkTvGwZXLqXUx/2oyY3ySRhm6HOXuCug== - dependencies: - "@babel/helper-plugin-utils" "^7.25.9" - -"@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@^7.25.9": - version "7.25.9" - resolved "https://registry.yarnpkg.com/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.25.9.tgz#807a667f9158acac6f6164b4beb85ad9ebc9e1d1" - integrity sha512-6xWgLZTJXwilVjlnV7ospI3xi+sl8lN8rXXbBD6vYn3UYDlGsag8wrZkKcSI8G6KgqKP7vNFaDgeDnfAABq61g== - dependencies: - "@babel/helper-plugin-utils" "^7.25.9" - "@babel/helper-skip-transparent-expression-wrappers" "^7.25.9" - "@babel/plugin-transform-optional-chaining" "^7.25.9" +"@babel/helper-string-parser@^7.27.1": + version "7.27.1" + resolved "https://registry.yarnpkg.com/@babel/helper-string-parser/-/helper-string-parser-7.27.1.tgz#54da796097ab19ce67ed9f88b47bb2ec49367687" + integrity sha512-qMlSxKbpRlAridDExk92nSobyDdpPijUq2DW6oDnUqd0iOGxmQjyqhMIihI9+zv4LPyZdRje2cavWPbCbWm3eA== -"@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly@^7.25.9": - version "7.25.9" - resolved "https://registry.yarnpkg.com/@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly/-/plugin-bugfix-v8-static-class-fields-redefine-readonly-7.25.9.tgz#de7093f1e7deaf68eadd7cc6b07f2ab82543269e" - integrity sha512-aLnMXYPnzwwqhYSCyXfKkIkYgJ8zv9RK+roo9DkTXz38ynIhd9XCbN08s3MGvqL2MYGVUGdRQLL/JqBIeJhJBg== - dependencies: - "@babel/helper-plugin-utils" "^7.25.9" - "@babel/traverse" "^7.25.9" - -"@babel/plugin-proposal-private-property-in-object@7.21.0-placeholder-for-preset-env.2": - version "7.21.0-placeholder-for-preset-env.2" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.21.0-placeholder-for-preset-env.2.tgz#7844f9289546efa9febac2de4cfe358a050bd703" - integrity sha512-SOSkfJDddaM7mak6cPEpswyTRnuRltl429hMraQEglW+OkovnCzsiszTmsrlY//qLFjCpQDFRvjdm2wA5pPm9w== - -"@babel/plugin-syntax-async-generators@^7.8.4": - version "7.8.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz#a983fb1aeb2ec3f6ed042a210f640e90e786fe0d" - integrity sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw== - dependencies: - "@babel/helper-plugin-utils" "^7.8.0" - -"@babel/plugin-syntax-bigint@^7.8.3": - version "7.8.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-bigint/-/plugin-syntax-bigint-7.8.3.tgz#4c9a6f669f5d0cdf1b90a1671e9a146be5300cea" - integrity sha512-wnTnFlG+YxQm3vDxpGE57Pj0srRU4sHE/mDkt1qv2YJJSeUAec2ma4WLUnUPeKjyrfntVwe/N6dCXpU+zL3Npg== - dependencies: - "@babel/helper-plugin-utils" "^7.8.0" +"@babel/helper-validator-identifier@^7.28.5": + version "7.28.5" + resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.28.5.tgz#010b6938fab7cb7df74aa2bbc06aa503b8fe5fb4" + integrity sha512-qSs4ifwzKJSV39ucNjsvc6WVHs6b7S03sOh2OcHF9UHfVPqWWALUsNUVzhSBiItjRZoLHx7nIarVjqKVusUZ1Q== -"@babel/plugin-syntax-class-properties@^7.12.13": - version "7.12.13" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.13.tgz#b5c987274c4a3a82b89714796931a6b53544ae10" - integrity sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA== +"@babel/parser@^7.29.0": + version "7.29.2" + resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.29.2.tgz#58bd50b9a7951d134988a1ae177a35ef9a703ba1" + integrity sha512-4GgRzy/+fsBa72/RZVJmGKPmZu9Byn8o4MoLpmNe1m8ZfYnz5emHLQz3U4gLud6Zwl0RZIcgiLD7Uq7ySFuDLA== dependencies: - "@babel/helper-plugin-utils" "^7.12.13" + "@babel/types" "^7.29.0" -"@babel/plugin-syntax-class-static-block@^7.14.5": - version "7.14.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-class-static-block/-/plugin-syntax-class-static-block-7.14.5.tgz#195df89b146b4b78b3bf897fd7a257c84659d406" - integrity sha512-b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw== +"@babel/types@^7.29.0": + version "7.29.0" + resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.29.0.tgz#9f5b1e838c446e72cf3cd4b918152b8c605e37c7" + integrity sha512-LwdZHpScM4Qz8Xw2iKSzS+cfglZzJGvofQICy7W7v4caru4EaAmyUuO6BGrbyQ2mYV11W0U8j5mBhd14dd3B0A== dependencies: - "@babel/helper-plugin-utils" "^7.14.5" + "@babel/helper-string-parser" "^7.27.1" + "@babel/helper-validator-identifier" "^7.28.5" -"@babel/plugin-syntax-import-assertions@^7.26.0": - version "7.26.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-import-assertions/-/plugin-syntax-import-assertions-7.26.0.tgz#620412405058efa56e4a564903b79355020f445f" - integrity sha512-QCWT5Hh830hK5EQa7XzuqIkQU9tT/whqbDz7kuaZMHFl1inRRg7JnuAEOQ0Ur0QUl0NufCk1msK2BeY79Aj/eg== - dependencies: - "@babel/helper-plugin-utils" "^7.25.9" +"@bcoe/v8-coverage@^1.0.2": + version "1.0.2" + resolved "https://registry.yarnpkg.com/@bcoe/v8-coverage/-/v8-coverage-1.0.2.tgz#bbe12dca5b4ef983a0d0af4b07b9bc90ea0ababa" + integrity sha512-6zABk/ECA/QYSCQ1NGiVwwbQerUCZ+TQbp64Q3AgmfNvurHH0j8TtXa1qbShXA6qqkpAj4V5W8pP6mLe1mcMqA== -"@babel/plugin-syntax-import-attributes@^7.24.7", "@babel/plugin-syntax-import-attributes@^7.26.0": - version "7.26.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-import-attributes/-/plugin-syntax-import-attributes-7.26.0.tgz#3b1412847699eea739b4f2602c74ce36f6b0b0f7" - integrity sha512-e2dttdsJ1ZTpi3B9UYGLw41hifAubg19AtCu/2I/F1QNVclOBr1dYpTdmdyZ84Xiz43BS/tCUkMAZNLv12Pi+A== +"@emnapi/core@1.9.2": + version "1.9.2" + resolved "https://registry.yarnpkg.com/@emnapi/core/-/core-1.9.2.tgz#3870265ecffc7352d01ead62d8d83d8358a2d034" + integrity sha512-UC+ZhH3XtczQYfOlu3lNEkdW/p4dsJ1r/bP7H8+rhao3TTTMO1ATq/4DdIi23XuGoFY+Cz0JmCbdVl0hz9jZcA== dependencies: - "@babel/helper-plugin-utils" "^7.25.9" + "@emnapi/wasi-threads" "1.2.1" + tslib "^2.4.0" -"@babel/plugin-syntax-import-meta@^7.10.4": - version "7.10.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-import-meta/-/plugin-syntax-import-meta-7.10.4.tgz#ee601348c370fa334d2207be158777496521fd51" - integrity sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g== +"@emnapi/core@^1.4.3": + version "1.10.0" + resolved "https://registry.yarnpkg.com/@emnapi/core/-/core-1.10.0.tgz#380ccc8f2412ea22d1d972df7f8ee23a3b9c7467" + integrity sha512-yq6OkJ4p82CAfPl0u9mQebQHKPJkY7WrIuk205cTYnYe+k2Z8YBh11FrbRG/H6ihirqcacOgl2BIO8oyMQLeXw== dependencies: - "@babel/helper-plugin-utils" "^7.10.4" + "@emnapi/wasi-threads" "1.2.1" + tslib "^2.4.0" -"@babel/plugin-syntax-json-strings@^7.8.3": - version "7.8.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz#01ca21b668cd8218c9e640cb6dd88c5412b2c96a" - integrity sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA== +"@emnapi/runtime@1.9.2": + version "1.9.2" + resolved "https://registry.yarnpkg.com/@emnapi/runtime/-/runtime-1.9.2.tgz#8b469a3db160817cadb1de9050211a9d1ea84fa2" + integrity sha512-3U4+MIWHImeyu1wnmVygh5WlgfYDtyf0k8AbLhMFxOipihf6nrWC4syIm/SwEeec0mNSafiiNnMJwbza/Is6Lw== dependencies: - "@babel/helper-plugin-utils" "^7.8.0" + tslib "^2.4.0" -"@babel/plugin-syntax-jsx@^7.25.9", "@babel/plugin-syntax-jsx@^7.7.2": - version "7.25.9" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.25.9.tgz#a34313a178ea56f1951599b929c1ceacee719290" - integrity sha512-ld6oezHQMZsZfp6pWtbjaNDF2tiiCYYDqQszHt5VV437lewP9aSi2Of99CK0D0XB21k7FLgnLcmQKyKzynfeAA== +"@emnapi/runtime@^1.4.3": + version "1.10.0" + resolved "https://registry.yarnpkg.com/@emnapi/runtime/-/runtime-1.10.0.tgz#4b260c0d3534204e98c6110b8db1a987d26ec87c" + integrity sha512-ewvYlk86xUoGI0zQRNq/mC+16R1QeDlKQy21Ki3oSYXNgLb45GV1P6A0M+/s6nyCuNDqe5VpaY84BzXGwVbwFA== dependencies: - "@babel/helper-plugin-utils" "^7.25.9" + tslib "^2.4.0" -"@babel/plugin-syntax-logical-assignment-operators@^7.10.4": - version "7.10.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz#ca91ef46303530448b906652bac2e9fe9941f699" - integrity sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig== +"@emnapi/wasi-threads@1.2.1": + version "1.2.1" + resolved "https://registry.yarnpkg.com/@emnapi/wasi-threads/-/wasi-threads-1.2.1.tgz#28fed21a1ba1ce797c44a070abc94d42f3ae8548" + integrity sha512-uTII7OYF+/Mes/MrcIOYp5yOtSMLBWSIoLPpcgwipoiKbli6k322tcoFsxoIIxPDqW01SQGAgko4EzZi2BNv2w== dependencies: - "@babel/helper-plugin-utils" "^7.10.4" + tslib "^2.4.0" -"@babel/plugin-syntax-nullish-coalescing-operator@^7.8.3": - version "7.8.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz#167ed70368886081f74b5c36c65a88c03b66d1a9" - integrity sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ== +"@eslint-community/eslint-utils@^4.8.0", "@eslint-community/eslint-utils@^4.9.1": + version "4.9.1" + resolved "https://registry.yarnpkg.com/@eslint-community/eslint-utils/-/eslint-utils-4.9.1.tgz#4e90af67bc51ddee6cdef5284edf572ec376b595" + integrity sha512-phrYmNiYppR7znFEdqgfWHXR6NCkZEK7hwWDHZUjit/2/U0r6XvkDl0SYnoM51Hq7FhCGdLDT6zxCCOY1hexsQ== dependencies: - "@babel/helper-plugin-utils" "^7.8.0" + eslint-visitor-keys "^3.4.3" -"@babel/plugin-syntax-numeric-separator@^7.10.4": - version "7.10.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.4.tgz#b9b070b3e33570cd9fd07ba7fa91c0dd37b9af97" - integrity sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug== - dependencies: - "@babel/helper-plugin-utils" "^7.10.4" +"@eslint-community/regexpp@^4.12.2": + version "4.12.2" + resolved "https://registry.yarnpkg.com/@eslint-community/regexpp/-/regexpp-4.12.2.tgz#bccdf615bcf7b6e8db830ec0b8d21c9a25de597b" + integrity sha512-EriSTlt5OC9/7SXkRSCAhfSxxoSUgBm33OH+IkwbdpgoqsSsUg7y3uh+IICI/Qg4BBWr3U2i39RpmycbxMq4ew== -"@babel/plugin-syntax-object-rest-spread@^7.8.3": - version "7.8.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz#60e225edcbd98a640332a2e72dd3e66f1af55871" - integrity sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA== +"@eslint/config-array@^0.23.5": + version "0.23.5" + resolved "https://registry.yarnpkg.com/@eslint/config-array/-/config-array-0.23.5.tgz#56e86d243049195d8acc0c06a1b3dfdc3fa3de95" + integrity sha512-Y3kKLvC1dvTOT+oGlqNQ1XLqK6D1HU2YXPc52NmAlJZbMMWDzGYXMiPRJ8TYD39muD/OTjlZmNJ4ib7dvSrMBA== dependencies: - "@babel/helper-plugin-utils" "^7.8.0" - -"@babel/plugin-syntax-optional-catch-binding@^7.8.3": - version "7.8.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz#6111a265bcfb020eb9efd0fdfd7d26402b9ed6c1" - integrity sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q== - dependencies: - "@babel/helper-plugin-utils" "^7.8.0" + "@eslint/object-schema" "^3.0.5" + debug "^4.3.1" + minimatch "^10.2.4" -"@babel/plugin-syntax-optional-chaining@^7.8.3": - version "7.8.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz#4f69c2ab95167e0180cd5336613f8c5788f7d48a" - integrity sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg== +"@eslint/config-helpers@^0.5.5": + version "0.5.5" + resolved "https://registry.yarnpkg.com/@eslint/config-helpers/-/config-helpers-0.5.5.tgz#ae16134e4792ac5fbdc533548a24ac1ea9f7f3ae" + integrity sha512-eIJYKTCECbP/nsKaaruF6LW967mtbQbsw4JTtSVkUQc9MneSkbrgPJAbKl9nWr0ZeowV8BfsarBmPpBzGelA2w== dependencies: - "@babel/helper-plugin-utils" "^7.8.0" + "@eslint/core" "^1.2.1" -"@babel/plugin-syntax-private-property-in-object@^7.14.5": - version "7.14.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-private-property-in-object/-/plugin-syntax-private-property-in-object-7.14.5.tgz#0dc6671ec0ea22b6e94a1114f857970cd39de1ad" - integrity sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg== +"@eslint/core@^1.2.1": + version "1.2.1" + resolved "https://registry.yarnpkg.com/@eslint/core/-/core-1.2.1.tgz#c1da7cd1b82fa8787f98b5629fb811848a1b63ce" + integrity sha512-MwcE1P+AZ4C6DWlpin/OmOA54mmIZ/+xZuJiQd4SyB29oAJjN30UW9wkKNptW2ctp4cEsvhlLY/CsQ1uoHDloQ== dependencies: - "@babel/helper-plugin-utils" "^7.14.5" + "@types/json-schema" "^7.0.15" -"@babel/plugin-syntax-top-level-await@^7.14.5": - version "7.14.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.14.5.tgz#c1cfdadc35a646240001f06138247b741c34d94c" - integrity sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw== - dependencies: - "@babel/helper-plugin-utils" "^7.14.5" +"@eslint/js@^10.0.1": + version "10.0.1" + resolved "https://registry.yarnpkg.com/@eslint/js/-/js-10.0.1.tgz#1e8a876f50117af8ab67e47d5ad94d38d6622583" + integrity sha512-zeR9k5pd4gxjZ0abRoIaxdc7I3nDktoXZk2qOv9gCNWx3mVwEn32VRhyLaRsDiJjTs0xq/T8mfPtyuXu7GWBcA== -"@babel/plugin-syntax-typescript@^7.25.9", "@babel/plugin-syntax-typescript@^7.7.2": - version "7.25.9" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.25.9.tgz#67dda2b74da43727cf21d46cf9afef23f4365399" - integrity sha512-hjMgRy5hb8uJJjUcdWunWVcoi9bGpJp8p5Ol1229PoN6aytsLwNMgmdftO23wnCLMfVmTwZDWMPNq/D1SY60JQ== - dependencies: - "@babel/helper-plugin-utils" "^7.25.9" +"@eslint/object-schema@^3.0.5": + version "3.0.5" + resolved "https://registry.yarnpkg.com/@eslint/object-schema/-/object-schema-3.0.5.tgz#88e9bf4d11d2b19c082e78ebe7ce88724a5eb091" + integrity sha512-vqTaUEgxzm+YDSdElad6PiRoX4t8VGDjCtt05zn4nU810UIx/uNEV7/lZJ6KwFThKZOzOxzXy48da+No7HZaMw== -"@babel/plugin-syntax-unicode-sets-regex@^7.18.6": - version "7.18.6" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-unicode-sets-regex/-/plugin-syntax-unicode-sets-regex-7.18.6.tgz#d49a3b3e6b52e5be6740022317580234a6a47357" - integrity sha512-727YkEAPwSIQTv5im8QHz3upqp92JTWhidIC81Tdx4VJYIte/VndKf1qKrfnnhPLiPghStWfvC/iFaMCQu7Nqg== +"@eslint/plugin-kit@^0.7.1": + version "0.7.1" + resolved "https://registry.yarnpkg.com/@eslint/plugin-kit/-/plugin-kit-0.7.1.tgz#c4125fd015eceeb09b793109fdbcd4dd0a02d346" + integrity sha512-rZAP3aVgB9ds9KOeUSL+zZ21hPmo8dh6fnIFwRQj5EAZl9gzR7wxYbYXYysAM8CTqGmUGyp2S4kUdV17MnGuWQ== dependencies: - "@babel/helper-create-regexp-features-plugin" "^7.18.6" - "@babel/helper-plugin-utils" "^7.18.6" + "@eslint/core" "^1.2.1" + levn "^0.4.1" -"@babel/plugin-transform-arrow-functions@^7.25.9": - version "7.25.9" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.25.9.tgz#7821d4410bee5daaadbb4cdd9a6649704e176845" - integrity sha512-6jmooXYIwn9ca5/RylZADJ+EnSxVUS5sjeJ9UPk6RWRzXCmOJCy6dqItPJFpw2cuCangPK4OYr5uhGKcmrm5Qg== +"@humanfs/core@^0.19.2": + version "0.19.2" + resolved "https://registry.yarnpkg.com/@humanfs/core/-/core-0.19.2.tgz#a8272ca03b2acf492670222b2320b6c421bfde60" + integrity sha512-UhXNm+CFMWcbChXywFwkmhqjs3PRCmcSa/hfBgLIb7oQ5HNb1wS0icWsGtSAUNgefHeI+eBrA8I1fxmbHsGdvA== dependencies: - "@babel/helper-plugin-utils" "^7.25.9" + "@humanfs/types" "^0.15.0" -"@babel/plugin-transform-async-generator-functions@^7.26.8": - version "7.26.8" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-async-generator-functions/-/plugin-transform-async-generator-functions-7.26.8.tgz#5e3991135e3b9c6eaaf5eff56d1ae5a11df45ff8" - integrity sha512-He9Ej2X7tNf2zdKMAGOsmg2MrFc+hfoAhd3po4cWfo/NWjzEAKa0oQruj1ROVUdl0e6fb6/kE/G3SSxE0lRJOg== +"@humanfs/node@^0.16.6": + version "0.16.8" + resolved "https://registry.yarnpkg.com/@humanfs/node/-/node-0.16.8.tgz#8f800cccc13f4f8cd3116e2d9c0a94939da3e3ed" + integrity sha512-gE1eQNZ3R++kTzFUpdGlpmy8kDZD/MLyHqDwqjkVQI0JMdI1D51sy1H958PNXYkM2rAac7e5/CnIKZrHtPh3BQ== dependencies: - "@babel/helper-plugin-utils" "^7.26.5" - "@babel/helper-remap-async-to-generator" "^7.25.9" - "@babel/traverse" "^7.26.8" + "@humanfs/core" "^0.19.2" + "@humanfs/types" "^0.15.0" + "@humanwhocodes/retry" "^0.4.0" -"@babel/plugin-transform-async-to-generator@^7.25.9": - version "7.25.9" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.25.9.tgz#c80008dacae51482793e5a9c08b39a5be7e12d71" - integrity sha512-NT7Ejn7Z/LjUH0Gv5KsBCxh7BH3fbLTV0ptHvpeMvrt3cPThHfJfst9Wrb7S8EvJ7vRTFI7z+VAvFVEQn/m5zQ== - dependencies: - "@babel/helper-module-imports" "^7.25.9" - "@babel/helper-plugin-utils" "^7.25.9" - "@babel/helper-remap-async-to-generator" "^7.25.9" +"@humanfs/types@^0.15.0": + version "0.15.0" + resolved "https://registry.yarnpkg.com/@humanfs/types/-/types-0.15.0.tgz#f2a09f62012390b2bff3fc6fb248ddec8c09a090" + integrity sha512-ZZ1w0aoQkwuUuC7Yf+7sdeaNfqQiiLcSRbfI08oAxqLtpXQr9AIVX7Ay7HLDuiLYAaFPu8oBYNq/QIi9URHJ3Q== -"@babel/plugin-transform-block-scoped-functions@^7.26.5": - version "7.26.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.26.5.tgz#3dc4405d31ad1cbe45293aa57205a6e3b009d53e" - integrity sha512-chuTSY+hq09+/f5lMj8ZSYgCFpppV2CbYrhNFJ1BFoXpiWPnnAb7R0MqrafCpN8E1+YRrtM1MXZHJdIx8B6rMQ== - dependencies: - "@babel/helper-plugin-utils" "^7.26.5" +"@humanwhocodes/module-importer@^1.0.1": + version "1.0.1" + resolved "https://registry.yarnpkg.com/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz#af5b2691a22b44be847b0ca81641c5fb6ad0172c" + integrity sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA== -"@babel/plugin-transform-block-scoping@^7.25.9": - version "7.25.9" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.25.9.tgz#c33665e46b06759c93687ca0f84395b80c0473a1" - integrity sha512-1F05O7AYjymAtqbsFETboN1NvBdcnzMerO+zlMyJBEz6WkMdejvGWw9p05iTSjC85RLlBseHHQpYaM4gzJkBGg== - dependencies: - "@babel/helper-plugin-utils" "^7.25.9" +"@humanwhocodes/retry@^0.4.0", "@humanwhocodes/retry@^0.4.2": + version "0.4.3" + resolved "https://registry.yarnpkg.com/@humanwhocodes/retry/-/retry-0.4.3.tgz#c2b9d2e374ee62c586d3adbea87199b1d7a7a6ba" + integrity sha512-bV0Tgo9K4hfPCek+aMAn81RppFKv2ySDQeMoSZuvTASywNTnVJCArCZE2FWqpvIatKu7VMRLWlR1EazvVhDyhQ== -"@babel/plugin-transform-class-properties@^7.25.9": - version "7.25.9" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-class-properties/-/plugin-transform-class-properties-7.25.9.tgz#a8ce84fedb9ad512549984101fa84080a9f5f51f" - integrity sha512-bbMAII8GRSkcd0h0b4X+36GksxuheLFjP65ul9w6C3KgAamI3JqErNgSrosX6ZPj+Mpim5VvEbawXxJCyEUV3Q== - dependencies: - "@babel/helper-create-class-features-plugin" "^7.25.9" - "@babel/helper-plugin-utils" "^7.25.9" +"@jridgewell/resolve-uri@^3.1.0": + version "3.1.2" + resolved "https://registry.yarnpkg.com/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz#7a0ee601f60f99a20c7c7c5ff0c80388c1189bd6" + integrity sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw== -"@babel/plugin-transform-class-static-block@^7.26.0": - version "7.26.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-class-static-block/-/plugin-transform-class-static-block-7.26.0.tgz#6c8da219f4eb15cae9834ec4348ff8e9e09664a0" - integrity sha512-6J2APTs7BDDm+UMqP1useWqhcRAXo0WIoVj26N7kPFB6S73Lgvyka4KTZYIxtgYXiN5HTyRObA72N2iu628iTQ== - dependencies: - "@babel/helper-create-class-features-plugin" "^7.25.9" - "@babel/helper-plugin-utils" "^7.25.9" +"@jridgewell/sourcemap-codec@^1.4.14", "@jridgewell/sourcemap-codec@^1.5.5": + version "1.5.5" + resolved "https://registry.yarnpkg.com/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.5.tgz#6912b00d2c631c0d15ce1a7ab57cd657f2a8f8ba" + integrity sha512-cYQ9310grqxueWbl+WuIUIaiUaDcj7WOq5fVhEljNVgRfOUhY9fy2zTvfoqWsnebh8Sl70VScFbICvJnLKB0Og== -"@babel/plugin-transform-classes@^7.25.9": - version "7.25.9" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-classes/-/plugin-transform-classes-7.25.9.tgz#7152457f7880b593a63ade8a861e6e26a4469f52" - integrity sha512-mD8APIXmseE7oZvZgGABDyM34GUmK45Um2TXiBUt7PnuAxrgoSVf123qUzPxEr/+/BHrRn5NMZCdE2m/1F8DGg== +"@jridgewell/trace-mapping@^0.3.31": + version "0.3.31" + resolved "https://registry.yarnpkg.com/@jridgewell/trace-mapping/-/trace-mapping-0.3.31.tgz#db15d6781c931f3a251a3dac39501c98a6082fd0" + integrity sha512-zzNR+SdQSDJzc8joaeP8QQoCQr8NuYx2dIIytl1QeBEZHJ9uW6hebsrYgbz8hJwUQao3TWCMtmfV8Nu1twOLAw== dependencies: - "@babel/helper-annotate-as-pure" "^7.25.9" - "@babel/helper-compilation-targets" "^7.25.9" - "@babel/helper-plugin-utils" "^7.25.9" - "@babel/helper-replace-supers" "^7.25.9" - "@babel/traverse" "^7.25.9" - globals "^11.1.0" + "@jridgewell/resolve-uri" "^3.1.0" + "@jridgewell/sourcemap-codec" "^1.4.14" -"@babel/plugin-transform-computed-properties@^7.25.9": - version "7.25.9" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.25.9.tgz#db36492c78460e534b8852b1d5befe3c923ef10b" - integrity sha512-HnBegGqXZR12xbcTHlJ9HGxw1OniltT26J5YpfruGqtUHlz/xKf/G2ak9e+t0rVqrjXa9WOhvYPz1ERfMj23AA== +"@napi-rs/wasm-runtime@^0.2.11": + version "0.2.12" + resolved "https://registry.yarnpkg.com/@napi-rs/wasm-runtime/-/wasm-runtime-0.2.12.tgz#3e78a8b96e6c33a6c517e1894efbd5385a7cb6f2" + integrity sha512-ZVWUcfwY4E/yPitQJl481FjFo3K22D6qF0DuFH6Y/nbnE11GY5uguDxZMGXPQ8WQ0128MXQD7TnfHyK4oWoIJQ== dependencies: - "@babel/helper-plugin-utils" "^7.25.9" - "@babel/template" "^7.25.9" + "@emnapi/core" "^1.4.3" + "@emnapi/runtime" "^1.4.3" + "@tybys/wasm-util" "^0.10.0" -"@babel/plugin-transform-destructuring@^7.25.9": - version "7.25.9" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.25.9.tgz#966ea2595c498224340883602d3cfd7a0c79cea1" - integrity sha512-WkCGb/3ZxXepmMiX101nnGiU+1CAdut8oHyEOHxkKuS1qKpU2SMXE2uSvfz8PBuLd49V6LEsbtyPhWC7fnkgvQ== - dependencies: - "@babel/helper-plugin-utils" "^7.25.9" +"@napi-rs/wasm-runtime@^1.1.4": + version "1.1.4" + resolved "https://registry.yarnpkg.com/@napi-rs/wasm-runtime/-/wasm-runtime-1.1.4.tgz#a46bbfedc29751b7170c5d23bc1d8ee8c7e3c1e1" + integrity sha512-3NQNNgA1YSlJb/kMH1ildASP9HW7/7kYnRI2szWJaofaS1hWmbGI4H+d3+22aGzXXN9IJ+n+GiFVcGipJP18ow== + dependencies: + "@tybys/wasm-util" "^0.10.1" + +"@oxc-project/types@=0.126.0": + version "0.126.0" + resolved "https://registry.yarnpkg.com/@oxc-project/types/-/types-0.126.0.tgz#9d9fa6fe9af5bc6c45996c6d9b9a3b3a4cd500e5" + integrity sha512-oGfVtjAgwQVVpfBrbtk4e1XDyWHRFta6BS3GWVzrF8xYBT2VGQAk39yJS/wFSMrZqoiCU4oghT3Ch0HaHGIHcQ== + +"@pkgr/core@^0.2.9": + version "0.2.9" + resolved "https://registry.yarnpkg.com/@pkgr/core/-/core-0.2.9.tgz#d229a7b7f9dac167a156992ef23c7f023653f53b" + integrity sha512-QNqXyfVS2wm9hweSYD2O7F0G06uurj9kZ96TRQE5Y9hU7+tgdZwIkbAKc5Ocy1HxEY2kuDQa6cQ1WRs/O5LFKA== + +"@rolldown/binding-android-arm64@1.0.0-rc.16": + version "1.0.0-rc.16" + resolved "https://registry.yarnpkg.com/@rolldown/binding-android-arm64/-/binding-android-arm64-1.0.0-rc.16.tgz#9af7872d363738e7a2aaa1c1be8cad57adf75798" + integrity sha512-rhY3k7Bsae9qQfOtph2Pm2jZEA+s8Gmjoz4hhmx70K9iMQ/ddeae+xhRQcM5IuVx5ry1+bGfkvMn7D6MJggVSA== + +"@rolldown/binding-darwin-arm64@1.0.0-rc.16": + version "1.0.0-rc.16" + resolved "https://registry.yarnpkg.com/@rolldown/binding-darwin-arm64/-/binding-darwin-arm64-1.0.0-rc.16.tgz#88f394f20c664ac2c51fe5d5d364b94bbf8ef430" + integrity sha512-rNz0yK078yrNn3DrdgN+PKiMOW8HfQ92jQiXxwX8yW899ayV00MLVdaCNeVBhG/TbH3ouYVObo8/yrkiectkcQ== + +"@rolldown/binding-darwin-x64@1.0.0-rc.16": + version "1.0.0-rc.16" + resolved "https://registry.yarnpkg.com/@rolldown/binding-darwin-x64/-/binding-darwin-x64-1.0.0-rc.16.tgz#d5350b1d3d13fddb1bc5abb00cadc07787a5d6fa" + integrity sha512-r/OmdR00HmD4i79Z//xO06uEPOq5hRXdhw7nzkxQxwSavs3PSHa1ijntdpOiZ2mzOQ3fVVu8C1M19FoNM+dMUQ== + +"@rolldown/binding-freebsd-x64@1.0.0-rc.16": + version "1.0.0-rc.16" + resolved "https://registry.yarnpkg.com/@rolldown/binding-freebsd-x64/-/binding-freebsd-x64-1.0.0-rc.16.tgz#116fe2b906ef658e913bd1419775114dee97c35f" + integrity sha512-KcRE5w8h0OnjUatG8pldyD14/CQ5Phs1oxfR+3pKDjboHRo9+MkqQaiIZlZRpsxC15paeXme/I127tUa9TXJ6g== + +"@rolldown/binding-linux-arm-gnueabihf@1.0.0-rc.16": + version "1.0.0-rc.16" + resolved "https://registry.yarnpkg.com/@rolldown/binding-linux-arm-gnueabihf/-/binding-linux-arm-gnueabihf-1.0.0-rc.16.tgz#3a72b393936c580b40aa66230cdc30ac20fb0409" + integrity sha512-bT0guA1bpxEJ/ZhTRniQf7rNF8ybvXOuWbNIeLABaV5NGjx4EtOWBTSRGWFU9ZWVkPOZ+HNFP8RMcBokBiZ0Kg== + +"@rolldown/binding-linux-arm64-gnu@1.0.0-rc.16": + version "1.0.0-rc.16" + resolved "https://registry.yarnpkg.com/@rolldown/binding-linux-arm64-gnu/-/binding-linux-arm64-gnu-1.0.0-rc.16.tgz#3ec9b2dce7b5c29d37272fa3a1aee6159badfb76" + integrity sha512-+tHktCHWV8BDQSjemUqm/Jl/TPk3QObCTIjmdDy/nlupcujZghmKK2962LYrqFpWu+ai01AN/REOH3NEpqvYQg== + +"@rolldown/binding-linux-arm64-musl@1.0.0-rc.16": + version "1.0.0-rc.16" + resolved "https://registry.yarnpkg.com/@rolldown/binding-linux-arm64-musl/-/binding-linux-arm64-musl-1.0.0-rc.16.tgz#4103d75b7e7f2650d32fef0df01ff5441657b6ee" + integrity sha512-3fPzdREH806oRLxpTWW1Gt4tQHs0TitZFOECB2xzCFLPKnSOy90gwA7P29cksYilFO6XVRY1kzga0cL2nRjKPg== + +"@rolldown/binding-linux-ppc64-gnu@1.0.0-rc.16": + version "1.0.0-rc.16" + resolved "https://registry.yarnpkg.com/@rolldown/binding-linux-ppc64-gnu/-/binding-linux-ppc64-gnu-1.0.0-rc.16.tgz#4bff51a9d0c4c5ec402ac10f41cef22d6a21889c" + integrity sha512-EKwI1tSrLs7YVw+JPJT/G2dJQ1jl9qlTTTEG0V2Ok/RdOenRfBw2PQdLPyjhIu58ocdBfP7vIRN/pvMsPxs/AQ== + +"@rolldown/binding-linux-s390x-gnu@1.0.0-rc.16": + version "1.0.0-rc.16" + resolved "https://registry.yarnpkg.com/@rolldown/binding-linux-s390x-gnu/-/binding-linux-s390x-gnu-1.0.0-rc.16.tgz#7b9399eda0b2e49c7e5d2b98172196565de3709f" + integrity sha512-Uknladnb3Sxqu6SEcqBldQyJUpk8NleooZEc0MbRBJ4inEhRYWZX0NJu12vNf2mqAq7gsofAxHrGghiUYjhaLQ== + +"@rolldown/binding-linux-x64-gnu@1.0.0-rc.16": + version "1.0.0-rc.16" + resolved "https://registry.yarnpkg.com/@rolldown/binding-linux-x64-gnu/-/binding-linux-x64-gnu-1.0.0-rc.16.tgz#82b64f4c9aa018718c27a11fc5f8e9141f1c3276" + integrity sha512-FIb8+uG49sZBtLTn+zt1AJ20TqVcqWeSIyoVt0or7uAWesgKaHbiBh6OpA/k9v0LTt+PTrb1Lao133kP4uVxkg== + +"@rolldown/binding-linux-x64-musl@1.0.0-rc.16": + version "1.0.0-rc.16" + resolved "https://registry.yarnpkg.com/@rolldown/binding-linux-x64-musl/-/binding-linux-x64-musl-1.0.0-rc.16.tgz#710c4bf32715d5564fd7bb39bfbe9195f0e8b9a6" + integrity sha512-RuERhF9/EgWxZEXYWCOaViUWHIboceK4/ivdtQ3R0T44NjLkIIlGIAVAuCddFxsZ7vnRHtNQUrt2vR2n2slB2w== + +"@rolldown/binding-openharmony-arm64@1.0.0-rc.16": + version "1.0.0-rc.16" + resolved "https://registry.yarnpkg.com/@rolldown/binding-openharmony-arm64/-/binding-openharmony-arm64-1.0.0-rc.16.tgz#ab5cc4736ff363c4fad67c017edf4634c036e82a" + integrity sha512-mXcXnvd9GpazCxeUCCnZ2+YF7nut+ZOEbE4GtaiPtyY6AkhZWbK70y1KK3j+RDhjVq5+U8FySkKRb/+w0EeUwA== + +"@rolldown/binding-wasm32-wasi@1.0.0-rc.16": + version "1.0.0-rc.16" + resolved "https://registry.yarnpkg.com/@rolldown/binding-wasm32-wasi/-/binding-wasm32-wasi-1.0.0-rc.16.tgz#906dec98ca584cec655a336fca870ac7095fbe93" + integrity sha512-3Q2KQxnC8IJOLqXmUMoYwyIPZU9hzRbnHaoV3Euz+VVnjZKcY8ktnNP8T9R4/GGQtb27C/UYKABxesKWb8lsvQ== + dependencies: + "@emnapi/core" "1.9.2" + "@emnapi/runtime" "1.9.2" + "@napi-rs/wasm-runtime" "^1.1.4" + +"@rolldown/binding-win32-arm64-msvc@1.0.0-rc.16": + version "1.0.0-rc.16" + resolved "https://registry.yarnpkg.com/@rolldown/binding-win32-arm64-msvc/-/binding-win32-arm64-msvc-1.0.0-rc.16.tgz#19dd3cf898727fad4f9209cf2aae829a789a9348" + integrity sha512-tj7XRemQcOcFwv7qhpUxMTBbI5mWMlE4c1Omhg5+h8GuLXzyj8HviYgR+bB2DMDgRqUE+jiDleqSCRjx4aYk/Q== + +"@rolldown/binding-win32-x64-msvc@1.0.0-rc.16": + version "1.0.0-rc.16" + resolved "https://registry.yarnpkg.com/@rolldown/binding-win32-x64-msvc/-/binding-win32-x64-msvc-1.0.0-rc.16.tgz#94f8930ac50d62c5d9a1a14855125aa945a14234" + integrity sha512-PH5DRZT+F4f2PTXRXR8uJxnBq2po/xFtddyabTJVJs/ZYVHqXPEgNIr35IHTEa6bpa0Q8Awg+ymkTaGnKITw4g== + +"@rolldown/pluginutils@1.0.0-rc.16": + version "1.0.0-rc.16" + resolved "https://registry.yarnpkg.com/@rolldown/pluginutils/-/pluginutils-1.0.0-rc.16.tgz#bc27c8f906309b57c6c10eddb21043fd8e86b87e" + integrity sha512-45+YtqxLYKDWQouLKCrpIZhke+nXxhsw+qAHVzHDVwttyBlHNBVs2K25rDXrZzhpTp9w1FlAlvweV1H++fdZoA== + +"@rtsao/scc@^1.1.0": + version "1.1.0" + resolved "https://registry.yarnpkg.com/@rtsao/scc/-/scc-1.1.0.tgz#927dd2fae9bc3361403ac2c7a00c32ddce9ad7e8" + integrity sha512-zt6OdqaDoOnJ1ZYsCYGt9YmWzDXl4vQdKTyJev62gFhRGKdx7mcT54V9KIjg+d2wi9EXsPvAPKe7i7WjfVWB8g== -"@babel/plugin-transform-dotall-regex@^7.25.9": - version "7.25.9" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.25.9.tgz#bad7945dd07734ca52fe3ad4e872b40ed09bb09a" - integrity sha512-t7ZQ7g5trIgSRYhI9pIJtRl64KHotutUJsh4Eze5l7olJv+mRSg4/MmbZ0tv1eeqRbdvo/+trvJD/Oc5DmW2cA== - dependencies: - "@babel/helper-create-regexp-features-plugin" "^7.25.9" - "@babel/helper-plugin-utils" "^7.25.9" +"@standard-schema/spec@^1.1.0": + version "1.1.0" + resolved "https://registry.yarnpkg.com/@standard-schema/spec/-/spec-1.1.0.tgz#a79b55dbaf8604812f52d140b2c9ab41bc150bb8" + integrity sha512-l2aFy5jALhniG5HgqrD6jXLi/rUWrKvqN/qJx6yoJsgKhblVd+iqqU4RCXavm/jPityDo5TCvKMnpjKnOriy0w== -"@babel/plugin-transform-duplicate-keys@^7.25.9": - version "7.25.9" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.25.9.tgz#8850ddf57dce2aebb4394bb434a7598031059e6d" - integrity sha512-LZxhJ6dvBb/f3x8xwWIuyiAHy56nrRG3PeYTpBkkzkYRRQ6tJLu68lEF5VIqMUZiAV7a8+Tb78nEoMCMcqjXBw== +"@tybys/wasm-util@^0.10.0", "@tybys/wasm-util@^0.10.1": + version "0.10.1" + resolved "https://registry.yarnpkg.com/@tybys/wasm-util/-/wasm-util-0.10.1.tgz#ecddd3205cf1e2d5274649ff0eedd2991ed7f414" + integrity sha512-9tTaPJLSiejZKx+Bmog4uSubteqTvFrVrURwkmHixBo0G4seD0zUxp98E1DzUBJxLQ3NPwXrGKDiVjwx/DpPsg== dependencies: - "@babel/helper-plugin-utils" "^7.25.9" + tslib "^2.4.0" -"@babel/plugin-transform-duplicate-named-capturing-groups-regex@^7.25.9": - version "7.25.9" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-duplicate-named-capturing-groups-regex/-/plugin-transform-duplicate-named-capturing-groups-regex-7.25.9.tgz#6f7259b4de127721a08f1e5165b852fcaa696d31" - integrity sha512-0UfuJS0EsXbRvKnwcLjFtJy/Sxc5J5jhLHnFhy7u4zih97Hz6tJkLU+O+FMMrNZrosUPxDi6sYxJ/EA8jDiAog== +"@types/chai@^5.2.2": + version "5.2.3" + resolved "https://registry.yarnpkg.com/@types/chai/-/chai-5.2.3.tgz#8e9cd9e1c3581fa6b341a5aed5588eb285be0b4a" + integrity sha512-Mw558oeA9fFbv65/y4mHtXDs9bPnFMZAL/jxdPFUpOHHIXX91mcgEHbS5Lahr+pwZFR8A7GQleRWeI6cGFC2UA== dependencies: - "@babel/helper-create-regexp-features-plugin" "^7.25.9" - "@babel/helper-plugin-utils" "^7.25.9" + "@types/deep-eql" "*" + assertion-error "^2.0.1" -"@babel/plugin-transform-dynamic-import@^7.25.9": - version "7.25.9" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-dynamic-import/-/plugin-transform-dynamic-import-7.25.9.tgz#23e917de63ed23c6600c5dd06d94669dce79f7b8" - integrity sha512-GCggjexbmSLaFhqsojeugBpeaRIgWNTcgKVq/0qIteFEqY2A+b9QidYadrWlnbWQUrW5fn+mCvf3tr7OeBFTyg== - dependencies: - "@babel/helper-plugin-utils" "^7.25.9" +"@types/deep-eql@*": + version "4.0.2" + resolved "https://registry.yarnpkg.com/@types/deep-eql/-/deep-eql-4.0.2.tgz#334311971d3a07121e7eb91b684a605e7eea9cbd" + integrity sha512-c9h9dVVMigMPc4bwTvC5dxqtqJZwQPePsWjPlpSOnojbor6pGqdk541lfA7AqFQr5pB1BRdq0juY9db81BwyFw== -"@babel/plugin-transform-exponentiation-operator@^7.26.3": - version "7.26.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.26.3.tgz#e29f01b6de302c7c2c794277a48f04a9ca7f03bc" - integrity sha512-7CAHcQ58z2chuXPWblnn1K6rLDnDWieghSOEmqQsrBenH0P9InCUtOJYD89pvngljmZlJcz3fcmgYsXFNGa1ZQ== - dependencies: - "@babel/helper-plugin-utils" "^7.25.9" +"@types/esrecurse@^4.3.1": + version "4.3.1" + resolved "https://registry.yarnpkg.com/@types/esrecurse/-/esrecurse-4.3.1.tgz#6f636af962fbe6191b830bd676ba5986926bccec" + integrity sha512-xJBAbDifo5hpffDBuHl0Y8ywswbiAp/Wi7Y/GtAgSlZyIABppyurxVueOPE8LUQOxdlgi6Zqce7uoEpqNTeiUw== -"@babel/plugin-transform-export-namespace-from@^7.25.9": - version "7.25.9" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-export-namespace-from/-/plugin-transform-export-namespace-from-7.25.9.tgz#90745fe55053394f554e40584cda81f2c8a402a2" - integrity sha512-2NsEz+CxzJIVOPx2o9UsW1rXLqtChtLoVnwYHHiB04wS5sgn7mrV45fWMBX0Kk+ub9uXytVYfNP2HjbVbCB3Ww== - dependencies: - "@babel/helper-plugin-utils" "^7.25.9" +"@types/estree@^1.0.0", "@types/estree@^1.0.6", "@types/estree@^1.0.8": + version "1.0.8" + resolved "https://registry.yarnpkg.com/@types/estree/-/estree-1.0.8.tgz#958b91c991b1867ced318bedea0e215ee050726e" + integrity sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w== -"@babel/plugin-transform-for-of@^7.26.9": - version "7.26.9" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.26.9.tgz#27231f79d5170ef33b5111f07fe5cafeb2c96a56" - integrity sha512-Hry8AusVm8LW5BVFgiyUReuoGzPUpdHQQqJY5bZnbbf+ngOHWuCuYFKw/BqaaWlvEUrF91HMhDtEaI1hZzNbLg== - dependencies: - "@babel/helper-plugin-utils" "^7.26.5" - "@babel/helper-skip-transparent-expression-wrappers" "^7.25.9" +"@types/json-schema@^7.0.15": + version "7.0.15" + resolved "https://registry.yarnpkg.com/@types/json-schema/-/json-schema-7.0.15.tgz#596a1747233694d50f6ad8a7869fcb6f56cf5841" + integrity sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA== -"@babel/plugin-transform-function-name@^7.25.9": - version "7.25.9" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.25.9.tgz#939d956e68a606661005bfd550c4fc2ef95f7b97" - integrity sha512-8lP+Yxjv14Vc5MuWBpJsoUCd3hD6V9DgBon2FVYL4jJgbnVQ9fTgYmonchzZJOVNgzEgbxp4OwAf6xz6M/14XA== - dependencies: - "@babel/helper-compilation-targets" "^7.25.9" - "@babel/helper-plugin-utils" "^7.25.9" - "@babel/traverse" "^7.25.9" +"@types/json5@^0.0.29": + version "0.0.29" + resolved "https://registry.yarnpkg.com/@types/json5/-/json5-0.0.29.tgz#ee28707ae94e11d2b827bcbe5270bcea7f3e71ee" + integrity sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ== -"@babel/plugin-transform-json-strings@^7.25.9": - version "7.25.9" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-json-strings/-/plugin-transform-json-strings-7.25.9.tgz#c86db407cb827cded902a90c707d2781aaa89660" - integrity sha512-xoTMk0WXceiiIvsaquQQUaLLXSW1KJ159KP87VilruQm0LNNGxWzahxSS6T6i4Zg3ezp4vA4zuwiNUR53qmQAw== +"@types/node@^25.6.0": + version "25.6.0" + resolved "https://registry.yarnpkg.com/@types/node/-/node-25.6.0.tgz#4e09bad9b469871f2d0f68140198cbd714f4edca" + integrity sha512-+qIYRKdNYJwY3vRCZMdJbPLJAtGjQBudzZzdzwQYkEPQd+PJGixUL5QfvCLDaULoLv+RhT3LDkwEfKaAkgSmNQ== dependencies: - "@babel/helper-plugin-utils" "^7.25.9" + undici-types "~7.19.0" -"@babel/plugin-transform-literals@^7.25.9": - version "7.25.9" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-literals/-/plugin-transform-literals-7.25.9.tgz#1a1c6b4d4aa59bc4cad5b6b3a223a0abd685c9de" - integrity sha512-9N7+2lFziW8W9pBl2TzaNht3+pgMIRP74zizeCSrtnSKVdUl8mAjjOP2OOVQAfZ881P2cNjDj1uAMEdeD50nuQ== +"@typescript-eslint/eslint-plugin@8.59.0": + version "8.59.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.59.0.tgz#fcbe76b693ce2412410cf4d48aefd617d345f2d9" + integrity sha512-HyAZtpdkgZwpq8Sz3FSUvCR4c+ScbuWa9AksK2Jweub7w4M3yTz4O11AqVJzLYjy/B9ZWPyc81I+mOdJU/bDQw== dependencies: - "@babel/helper-plugin-utils" "^7.25.9" + "@eslint-community/regexpp" "^4.12.2" + "@typescript-eslint/scope-manager" "8.59.0" + "@typescript-eslint/type-utils" "8.59.0" + "@typescript-eslint/utils" "8.59.0" + "@typescript-eslint/visitor-keys" "8.59.0" + ignore "^7.0.5" + natural-compare "^1.4.0" + ts-api-utils "^2.5.0" + +"@typescript-eslint/parser@8.59.0": + version "8.59.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-8.59.0.tgz#57a138280b3ceaf07904fbd62c433d5cc1ee1573" + integrity sha512-TI1XGwKbDpo9tRW8UDIXCOeLk55qe9ZFGs8MTKU6/M08HWTw52DD/IYhfQtOEhEdPhLMT26Ka/x7p70nd3dzDg== + dependencies: + "@typescript-eslint/scope-manager" "8.59.0" + "@typescript-eslint/types" "8.59.0" + "@typescript-eslint/typescript-estree" "8.59.0" + "@typescript-eslint/visitor-keys" "8.59.0" + debug "^4.4.3" + +"@typescript-eslint/project-service@8.59.0": + version "8.59.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/project-service/-/project-service-8.59.0.tgz#914bf62069d870faa0389ffd725774a200f511bf" + integrity sha512-Lw5ITrR5s5TbC19YSvlr63ZfLaJoU6vtKTHyB0GQOpX0W7d5/Ir6vUahWi/8Sps/nOukZQ0IB3SmlxZnjaKVnw== + dependencies: + "@typescript-eslint/tsconfig-utils" "^8.59.0" + "@typescript-eslint/types" "^8.59.0" + debug "^4.4.3" + +"@typescript-eslint/scope-manager@8.59.0": + version "8.59.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-8.59.0.tgz#f71be268bd31da1c160815c689e4dde7c9bc9e8e" + integrity sha512-UzR16Ut8IpA3Mc4DbgAShlPPkVm8xXMWafXxB0BocaVRHs8ZGakAxGRskF7FId3sdk9lgGD73GSFaWmWFDE4dg== + dependencies: + "@typescript-eslint/types" "8.59.0" + "@typescript-eslint/visitor-keys" "8.59.0" + +"@typescript-eslint/tsconfig-utils@8.59.0", "@typescript-eslint/tsconfig-utils@^8.59.0": + version "8.59.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/tsconfig-utils/-/tsconfig-utils-8.59.0.tgz#1276077f5ad77e384446ea28a2474e8f8be1af41" + integrity sha512-91Sbl3s4Kb3SybliIY6muFBmHVv+pYXfybC4Oolp3dvk8BvIE3wOPc+403CWIT7mJNkfQRGtdqghzs2+Z91Tqg== + +"@typescript-eslint/type-utils@8.59.0": + version "8.59.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/type-utils/-/type-utils-8.59.0.tgz#2834ea3b179cedfc9244dcd4f74105a27751a439" + integrity sha512-3TRiZaQSltGqGeNrJzzr1+8YcEobKH9rHnqIp/1psfKFmhRQDNMGP5hBufanYTGznwShzVLs3Mz+gDN7HkWfXg== + dependencies: + "@typescript-eslint/types" "8.59.0" + "@typescript-eslint/typescript-estree" "8.59.0" + "@typescript-eslint/utils" "8.59.0" + debug "^4.4.3" + ts-api-utils "^2.5.0" + +"@typescript-eslint/types@8.59.0", "@typescript-eslint/types@^8.59.0": + version "8.59.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-8.59.0.tgz#cfcc643c6e879016479775850d86d84c14492738" + integrity sha512-nLzdsT1gdOgFxxxwrlNVUBzSNBEEHJ86bblmk4QAS6stfig7rcJzWKqCyxFy3YRRHXDWEkb2NralA1nOYkkm/A== + +"@typescript-eslint/typescript-estree@8.59.0": + version "8.59.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-8.59.0.tgz#feba58a70ab6ea7ac53a2f3ae900db28ce3454c2" + integrity sha512-O9Re9P1BmBLFJyikRbQpLku/QA3/AueZNO9WePLBwQrvkixTmDe8u76B6CYUAITRl/rHawggEqUGn5QIkVRLMw== + dependencies: + "@typescript-eslint/project-service" "8.59.0" + "@typescript-eslint/tsconfig-utils" "8.59.0" + "@typescript-eslint/types" "8.59.0" + "@typescript-eslint/visitor-keys" "8.59.0" + debug "^4.4.3" + minimatch "^10.2.2" + semver "^7.7.3" + tinyglobby "^0.2.15" + ts-api-utils "^2.5.0" + +"@typescript-eslint/utils@8.59.0": + version "8.59.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/utils/-/utils-8.59.0.tgz#f50df9bd6967881ef64fba62230111153179ead5" + integrity sha512-I1R/K7V07XsMJ12Oaxg/O9GfrysGTmCRhvZJBv0RE0NcULMzjqVpR5kRRQjHsz3J/bElU7HwCO7zkqL+MSUz+g== + dependencies: + "@eslint-community/eslint-utils" "^4.9.1" + "@typescript-eslint/scope-manager" "8.59.0" + "@typescript-eslint/types" "8.59.0" + "@typescript-eslint/typescript-estree" "8.59.0" + +"@typescript-eslint/visitor-keys@8.59.0": + version "8.59.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-8.59.0.tgz#2e80de30e7e944ed4bd47d751e37dcb04db03795" + integrity sha512-/uejZt4dSere1bx12WLlPfv8GktzcaDtuJ7s42/HEZ5zGj9oxRaD4bj7qwSunXkf+pbAhFt2zjpHYUiT5lHf0Q== + dependencies: + "@typescript-eslint/types" "8.59.0" + eslint-visitor-keys "^5.0.0" + +"@unrs/resolver-binding-android-arm-eabi@1.11.1": + version "1.11.1" + resolved "https://registry.yarnpkg.com/@unrs/resolver-binding-android-arm-eabi/-/resolver-binding-android-arm-eabi-1.11.1.tgz#9f5b04503088e6a354295e8ea8fe3cb99e43af81" + integrity sha512-ppLRUgHVaGRWUx0R0Ut06Mjo9gBaBkg3v/8AxusGLhsIotbBLuRk51rAzqLC8gq6NyyAojEXglNjzf6R948DNw== -"@babel/plugin-transform-logical-assignment-operators@^7.25.9": - version "7.25.9" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-logical-assignment-operators/-/plugin-transform-logical-assignment-operators-7.25.9.tgz#b19441a8c39a2fda0902900b306ea05ae1055db7" - integrity sha512-wI4wRAzGko551Y8eVf6iOY9EouIDTtPb0ByZx+ktDGHwv6bHFimrgJM/2T021txPZ2s4c7bqvHbd+vXG6K948Q== - dependencies: - "@babel/helper-plugin-utils" "^7.25.9" +"@unrs/resolver-binding-android-arm64@1.11.1": + version "1.11.1" + resolved "https://registry.yarnpkg.com/@unrs/resolver-binding-android-arm64/-/resolver-binding-android-arm64-1.11.1.tgz#7414885431bd7178b989aedc4d25cccb3865bc9f" + integrity sha512-lCxkVtb4wp1v+EoN+HjIG9cIIzPkX5OtM03pQYkG+U5O/wL53LC4QbIeazgiKqluGeVEeBlZahHalCaBvU1a2g== -"@babel/plugin-transform-member-expression-literals@^7.25.9": - version "7.25.9" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.25.9.tgz#63dff19763ea64a31f5e6c20957e6a25e41ed5de" - integrity sha512-PYazBVfofCQkkMzh2P6IdIUaCEWni3iYEerAsRWuVd8+jlM1S9S9cz1dF9hIzyoZ8IA3+OwVYIp9v9e+GbgZhA== - dependencies: - "@babel/helper-plugin-utils" "^7.25.9" +"@unrs/resolver-binding-darwin-arm64@1.11.1": + version "1.11.1" + resolved "https://registry.yarnpkg.com/@unrs/resolver-binding-darwin-arm64/-/resolver-binding-darwin-arm64-1.11.1.tgz#b4a8556f42171fb9c9f7bac8235045e82aa0cbdf" + integrity sha512-gPVA1UjRu1Y/IsB/dQEsp2V1pm44Of6+LWvbLc9SDk1c2KhhDRDBUkQCYVWe6f26uJb3fOK8saWMgtX8IrMk3g== -"@babel/plugin-transform-modules-amd@^7.25.9": - version "7.25.9" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.25.9.tgz#49ba478f2295101544abd794486cd3088dddb6c5" - integrity sha512-g5T11tnI36jVClQlMlt4qKDLlWnG5pP9CSM4GhdRciTNMRgkfpo5cR6b4rGIOYPgRRuFAvwjPQ/Yk+ql4dyhbw== - dependencies: - "@babel/helper-module-transforms" "^7.25.9" - "@babel/helper-plugin-utils" "^7.25.9" +"@unrs/resolver-binding-darwin-x64@1.11.1": + version "1.11.1" + resolved "https://registry.yarnpkg.com/@unrs/resolver-binding-darwin-x64/-/resolver-binding-darwin-x64-1.11.1.tgz#fd4d81257b13f4d1a083890a6a17c00de571f0dc" + integrity sha512-cFzP7rWKd3lZaCsDze07QX1SC24lO8mPty9vdP+YVa3MGdVgPmFc59317b2ioXtgCMKGiCLxJ4HQs62oz6GfRQ== -"@babel/plugin-transform-modules-commonjs@^7.25.9", "@babel/plugin-transform-modules-commonjs@^7.26.3": - version "7.26.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.26.3.tgz#8f011d44b20d02c3de44d8850d971d8497f981fb" - integrity sha512-MgR55l4q9KddUDITEzEFYn5ZsGDXMSsU9E+kh7fjRXTIC3RHqfCo8RPRbyReYJh44HQ/yomFkqbOFohXvDCiIQ== - dependencies: - "@babel/helper-module-transforms" "^7.26.0" - "@babel/helper-plugin-utils" "^7.25.9" +"@unrs/resolver-binding-freebsd-x64@1.11.1": + version "1.11.1" + resolved "https://registry.yarnpkg.com/@unrs/resolver-binding-freebsd-x64/-/resolver-binding-freebsd-x64-1.11.1.tgz#d2513084d0f37c407757e22f32bd924a78cfd99b" + integrity sha512-fqtGgak3zX4DCB6PFpsH5+Kmt/8CIi4Bry4rb1ho6Av2QHTREM+47y282Uqiu3ZRF5IQioJQ5qWRV6jduA+iGw== -"@babel/plugin-transform-modules-systemjs@^7.25.9": - version "7.25.9" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.25.9.tgz#8bd1b43836269e3d33307151a114bcf3ba6793f8" - integrity sha512-hyss7iIlH/zLHaehT+xwiymtPOpsiwIIRlCAOwBB04ta5Tt+lNItADdlXw3jAWZ96VJ2jlhl/c+PNIQPKNfvcA== - dependencies: - "@babel/helper-module-transforms" "^7.25.9" - "@babel/helper-plugin-utils" "^7.25.9" - "@babel/helper-validator-identifier" "^7.25.9" - "@babel/traverse" "^7.25.9" +"@unrs/resolver-binding-linux-arm-gnueabihf@1.11.1": + version "1.11.1" + resolved "https://registry.yarnpkg.com/@unrs/resolver-binding-linux-arm-gnueabihf/-/resolver-binding-linux-arm-gnueabihf-1.11.1.tgz#844d2605d057488d77fab09705f2866b86164e0a" + integrity sha512-u92mvlcYtp9MRKmP+ZvMmtPN34+/3lMHlyMj7wXJDeXxuM0Vgzz0+PPJNsro1m3IZPYChIkn944wW8TYgGKFHw== -"@babel/plugin-transform-modules-umd@^7.25.9": - version "7.25.9" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.25.9.tgz#6710079cdd7c694db36529a1e8411e49fcbf14c9" - integrity sha512-bS9MVObUgE7ww36HEfwe6g9WakQ0KF07mQF74uuXdkoziUPfKyu/nIm663kz//e5O1nPInPFx36z7WJmJ4yNEw== - dependencies: - "@babel/helper-module-transforms" "^7.25.9" - "@babel/helper-plugin-utils" "^7.25.9" +"@unrs/resolver-binding-linux-arm-musleabihf@1.11.1": + version "1.11.1" + resolved "https://registry.yarnpkg.com/@unrs/resolver-binding-linux-arm-musleabihf/-/resolver-binding-linux-arm-musleabihf-1.11.1.tgz#204892995cefb6bd1d017d52d097193bc61ddad3" + integrity sha512-cINaoY2z7LVCrfHkIcmvj7osTOtm6VVT16b5oQdS4beibX2SYBwgYLmqhBjA1t51CarSaBuX5YNsWLjsqfW5Cw== -"@babel/plugin-transform-named-capturing-groups-regex@^7.25.9": - version "7.25.9" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.25.9.tgz#454990ae6cc22fd2a0fa60b3a2c6f63a38064e6a" - integrity sha512-oqB6WHdKTGl3q/ItQhpLSnWWOpjUJLsOCLVyeFgeTktkBSCiurvPOsyt93gibI9CmuKvTUEtWmG5VhZD+5T/KA== - dependencies: - "@babel/helper-create-regexp-features-plugin" "^7.25.9" - "@babel/helper-plugin-utils" "^7.25.9" +"@unrs/resolver-binding-linux-arm64-gnu@1.11.1": + version "1.11.1" + resolved "https://registry.yarnpkg.com/@unrs/resolver-binding-linux-arm64-gnu/-/resolver-binding-linux-arm64-gnu-1.11.1.tgz#023eb0c3aac46066a10be7a3f362e7b34f3bdf9d" + integrity sha512-34gw7PjDGB9JgePJEmhEqBhWvCiiWCuXsL9hYphDF7crW7UgI05gyBAi6MF58uGcMOiOqSJ2ybEeCvHcq0BCmQ== -"@babel/plugin-transform-new-target@^7.25.9": - version "7.25.9" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.25.9.tgz#42e61711294b105c248336dcb04b77054ea8becd" - integrity sha512-U/3p8X1yCSoKyUj2eOBIx3FOn6pElFOKvAAGf8HTtItuPyB+ZeOqfn+mvTtg9ZlOAjsPdK3ayQEjqHjU/yLeVQ== - dependencies: - "@babel/helper-plugin-utils" "^7.25.9" +"@unrs/resolver-binding-linux-arm64-musl@1.11.1": + version "1.11.1" + resolved "https://registry.yarnpkg.com/@unrs/resolver-binding-linux-arm64-musl/-/resolver-binding-linux-arm64-musl-1.11.1.tgz#9e6f9abb06424e3140a60ac996139786f5d99be0" + integrity sha512-RyMIx6Uf53hhOtJDIamSbTskA99sPHS96wxVE/bJtePJJtpdKGXO1wY90oRdXuYOGOTuqjT8ACccMc4K6QmT3w== -"@babel/plugin-transform-nullish-coalescing-operator@^7.26.6": - version "7.26.6" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-nullish-coalescing-operator/-/plugin-transform-nullish-coalescing-operator-7.26.6.tgz#fbf6b3c92cb509e7b319ee46e3da89c5bedd31fe" - integrity sha512-CKW8Vu+uUZneQCPtXmSBUC6NCAUdya26hWCElAWh5mVSlSRsmiCPUUDKb3Z0szng1hiAJa098Hkhg9o4SE35Qw== - dependencies: - "@babel/helper-plugin-utils" "^7.26.5" +"@unrs/resolver-binding-linux-ppc64-gnu@1.11.1": + version "1.11.1" + resolved "https://registry.yarnpkg.com/@unrs/resolver-binding-linux-ppc64-gnu/-/resolver-binding-linux-ppc64-gnu-1.11.1.tgz#b111417f17c9d1b02efbec8e08398f0c5527bb44" + integrity sha512-D8Vae74A4/a+mZH0FbOkFJL9DSK2R6TFPC9M+jCWYia/q2einCubX10pecpDiTmkJVUH+y8K3BZClycD8nCShA== -"@babel/plugin-transform-numeric-separator@^7.25.9": - version "7.25.9" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-numeric-separator/-/plugin-transform-numeric-separator-7.25.9.tgz#bfed75866261a8b643468b0ccfd275f2033214a1" - integrity sha512-TlprrJ1GBZ3r6s96Yq8gEQv82s8/5HnCVHtEJScUj90thHQbwe+E5MLhi2bbNHBEJuzrvltXSru+BUxHDoog7Q== - dependencies: - "@babel/helper-plugin-utils" "^7.25.9" +"@unrs/resolver-binding-linux-riscv64-gnu@1.11.1": + version "1.11.1" + resolved "https://registry.yarnpkg.com/@unrs/resolver-binding-linux-riscv64-gnu/-/resolver-binding-linux-riscv64-gnu-1.11.1.tgz#92ffbf02748af3e99873945c9a8a5ead01d508a9" + integrity sha512-frxL4OrzOWVVsOc96+V3aqTIQl1O2TjgExV4EKgRY09AJ9leZpEg8Ak9phadbuX0BA4k8U5qtvMSQQGGmaJqcQ== -"@babel/plugin-transform-object-rest-spread@^7.25.9": - version "7.25.9" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-object-rest-spread/-/plugin-transform-object-rest-spread-7.25.9.tgz#0203725025074164808bcf1a2cfa90c652c99f18" - integrity sha512-fSaXafEE9CVHPweLYw4J0emp1t8zYTXyzN3UuG+lylqkvYd7RMrsOQ8TYx5RF231be0vqtFC6jnx3UmpJmKBYg== - dependencies: - "@babel/helper-compilation-targets" "^7.25.9" - "@babel/helper-plugin-utils" "^7.25.9" - "@babel/plugin-transform-parameters" "^7.25.9" +"@unrs/resolver-binding-linux-riscv64-musl@1.11.1": + version "1.11.1" + resolved "https://registry.yarnpkg.com/@unrs/resolver-binding-linux-riscv64-musl/-/resolver-binding-linux-riscv64-musl-1.11.1.tgz#0bec6f1258fc390e6b305e9ff44256cb207de165" + integrity sha512-mJ5vuDaIZ+l/acv01sHoXfpnyrNKOk/3aDoEdLO/Xtn9HuZlDD6jKxHlkN8ZhWyLJsRBxfv9GYM2utQ1SChKew== -"@babel/plugin-transform-object-super@^7.25.9": - version "7.25.9" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.25.9.tgz#385d5de135162933beb4a3d227a2b7e52bb4cf03" - integrity sha512-Kj/Gh+Rw2RNLbCK1VAWj2U48yxxqL2x0k10nPtSdRa0O2xnHXalD0s+o1A6a0W43gJ00ANo38jxkQreckOzv5A== - dependencies: - "@babel/helper-plugin-utils" "^7.25.9" - "@babel/helper-replace-supers" "^7.25.9" +"@unrs/resolver-binding-linux-s390x-gnu@1.11.1": + version "1.11.1" + resolved "https://registry.yarnpkg.com/@unrs/resolver-binding-linux-s390x-gnu/-/resolver-binding-linux-s390x-gnu-1.11.1.tgz#577843a084c5952f5906770633ccfb89dac9bc94" + integrity sha512-kELo8ebBVtb9sA7rMe1Cph4QHreByhaZ2QEADd9NzIQsYNQpt9UkM9iqr2lhGr5afh885d/cB5QeTXSbZHTYPg== -"@babel/plugin-transform-optional-catch-binding@^7.25.9": - version "7.25.9" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-optional-catch-binding/-/plugin-transform-optional-catch-binding-7.25.9.tgz#10e70d96d52bb1f10c5caaac59ac545ea2ba7ff3" - integrity sha512-qM/6m6hQZzDcZF3onzIhZeDHDO43bkNNlOX0i8n3lR6zLbu0GN2d8qfM/IERJZYauhAHSLHy39NF0Ctdvcid7g== - dependencies: - "@babel/helper-plugin-utils" "^7.25.9" +"@unrs/resolver-binding-linux-x64-gnu@1.11.1": + version "1.11.1" + resolved "https://registry.yarnpkg.com/@unrs/resolver-binding-linux-x64-gnu/-/resolver-binding-linux-x64-gnu-1.11.1.tgz#36fb318eebdd690f6da32ac5e0499a76fa881935" + integrity sha512-C3ZAHugKgovV5YvAMsxhq0gtXuwESUKc5MhEtjBpLoHPLYM+iuwSj3lflFwK3DPm68660rZ7G8BMcwSro7hD5w== -"@babel/plugin-transform-optional-chaining@^7.25.9": - version "7.25.9" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-optional-chaining/-/plugin-transform-optional-chaining-7.25.9.tgz#e142eb899d26ef715435f201ab6e139541eee7dd" - integrity sha512-6AvV0FsLULbpnXeBjrY4dmWF8F7gf8QnvTEoO/wX/5xm/xE1Xo8oPuD3MPS+KS9f9XBEAWN7X1aWr4z9HdOr7A== - dependencies: - "@babel/helper-plugin-utils" "^7.25.9" - "@babel/helper-skip-transparent-expression-wrappers" "^7.25.9" +"@unrs/resolver-binding-linux-x64-musl@1.11.1": + version "1.11.1" + resolved "https://registry.yarnpkg.com/@unrs/resolver-binding-linux-x64-musl/-/resolver-binding-linux-x64-musl-1.11.1.tgz#bfb9af75f783f98f6a22c4244214efe4df1853d6" + integrity sha512-rV0YSoyhK2nZ4vEswT/QwqzqQXw5I6CjoaYMOX0TqBlWhojUf8P94mvI7nuJTeaCkkds3QE4+zS8Ko+GdXuZtA== -"@babel/plugin-transform-parameters@^7.25.9": - version "7.25.9" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.25.9.tgz#b856842205b3e77e18b7a7a1b94958069c7ba257" - integrity sha512-wzz6MKwpnshBAiRmn4jR8LYz/g8Ksg0o80XmwZDlordjwEk9SxBzTWC7F5ef1jhbrbOW2DJ5J6ayRukrJmnr0g== +"@unrs/resolver-binding-wasm32-wasi@1.11.1": + version "1.11.1" + resolved "https://registry.yarnpkg.com/@unrs/resolver-binding-wasm32-wasi/-/resolver-binding-wasm32-wasi-1.11.1.tgz#752c359dd875684b27429500d88226d7cc72f71d" + integrity sha512-5u4RkfxJm+Ng7IWgkzi3qrFOvLvQYnPBmjmZQ8+szTK/b31fQCnleNl1GgEt7nIsZRIf5PLhPwT0WM+q45x/UQ== dependencies: - "@babel/helper-plugin-utils" "^7.25.9" + "@napi-rs/wasm-runtime" "^0.2.11" -"@babel/plugin-transform-private-methods@^7.25.9": - version "7.25.9" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-private-methods/-/plugin-transform-private-methods-7.25.9.tgz#847f4139263577526455d7d3223cd8bda51e3b57" - integrity sha512-D/JUozNpQLAPUVusvqMxyvjzllRaF8/nSrP1s2YGQT/W4LHK4xxsMcHjhOGTS01mp9Hda8nswb+FblLdJornQw== - dependencies: - "@babel/helper-create-class-features-plugin" "^7.25.9" - "@babel/helper-plugin-utils" "^7.25.9" +"@unrs/resolver-binding-win32-arm64-msvc@1.11.1": + version "1.11.1" + resolved "https://registry.yarnpkg.com/@unrs/resolver-binding-win32-arm64-msvc/-/resolver-binding-win32-arm64-msvc-1.11.1.tgz#ce5735e600e4c2fbb409cd051b3b7da4a399af35" + integrity sha512-nRcz5Il4ln0kMhfL8S3hLkxI85BXs3o8EYoattsJNdsX4YUU89iOkVn7g0VHSRxFuVMdM4Q1jEpIId1Ihim/Uw== -"@babel/plugin-transform-private-property-in-object@^7.25.9": - version "7.25.9" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-private-property-in-object/-/plugin-transform-private-property-in-object-7.25.9.tgz#9c8b73e64e6cc3cbb2743633885a7dd2c385fe33" - integrity sha512-Evf3kcMqzXA3xfYJmZ9Pg1OvKdtqsDMSWBDzZOPLvHiTt36E75jLDQo5w1gtRU95Q4E5PDttrTf25Fw8d/uWLw== - dependencies: - "@babel/helper-annotate-as-pure" "^7.25.9" - "@babel/helper-create-class-features-plugin" "^7.25.9" - "@babel/helper-plugin-utils" "^7.25.9" +"@unrs/resolver-binding-win32-ia32-msvc@1.11.1": + version "1.11.1" + resolved "https://registry.yarnpkg.com/@unrs/resolver-binding-win32-ia32-msvc/-/resolver-binding-win32-ia32-msvc-1.11.1.tgz#72fc57bc7c64ec5c3de0d64ee0d1810317bc60a6" + integrity sha512-DCEI6t5i1NmAZp6pFonpD5m7i6aFrpofcp4LA2i8IIq60Jyo28hamKBxNrZcyOwVOZkgsRp9O2sXWBWP8MnvIQ== -"@babel/plugin-transform-property-literals@^7.25.9": - version "7.25.9" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.25.9.tgz#d72d588bd88b0dec8b62e36f6fda91cedfe28e3f" - integrity sha512-IvIUeV5KrS/VPavfSM/Iu+RE6llrHrYIKY1yfCzyO/lMXHQ+p7uGhonmGVisv6tSBSVgWzMBohTcvkC9vQcQFA== - dependencies: - "@babel/helper-plugin-utils" "^7.25.9" +"@unrs/resolver-binding-win32-x64-msvc@1.11.1": + version "1.11.1" + resolved "https://registry.yarnpkg.com/@unrs/resolver-binding-win32-x64-msvc/-/resolver-binding-win32-x64-msvc-1.11.1.tgz#538b1e103bf8d9864e7b85cc96fa8d6fb6c40777" + integrity sha512-lrW200hZdbfRtztbygyaq/6jP6AKE8qQN2KvPcJ+x7wiD038YtnYtZ82IMNJ69GJibV7bwL3y9FgK+5w/pYt6g== -"@babel/plugin-transform-regenerator@^7.25.9": - version "7.25.9" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.25.9.tgz#03a8a4670d6cebae95305ac6defac81ece77740b" - integrity sha512-vwDcDNsgMPDGP0nMqzahDWE5/MLcX8sv96+wfX7as7LoF/kr97Bo/7fI00lXY4wUXYfVmwIIyG80fGZ1uvt2qg== +"@vitest/coverage-v8@^4.1.4": + version "4.1.5" + resolved "https://registry.yarnpkg.com/@vitest/coverage-v8/-/coverage-v8-4.1.5.tgz#26bbdbebecd66be77fa1b63a9ed985dd86a3ba85" + integrity sha512-38C0/Ddb7HcRG0Z4/DUem8x57d2p9jYgp18mkaYswEOQBGsI1CG4f/hjm0ZCeaJfWhSZ4k7jgs29V1Zom7Ki9A== + dependencies: + "@bcoe/v8-coverage" "^1.0.2" + "@vitest/utils" "4.1.5" + ast-v8-to-istanbul "^1.0.0" + istanbul-lib-coverage "^3.2.2" + istanbul-lib-report "^3.0.1" + istanbul-reports "^3.2.0" + magicast "^0.5.2" + obug "^2.1.1" + std-env "^4.0.0-rc.1" + tinyrainbow "^3.1.0" + +"@vitest/expect@4.1.5": + version "4.1.5" + resolved "https://registry.yarnpkg.com/@vitest/expect/-/expect-4.1.5.tgz#5caab19535cfb04fbc37087c5608d46e74dc9292" + integrity sha512-PWBaRY5JoKuRnHlUHfpV/KohFylaDZTupcXN1H9vYryNLOnitSw60Mw9IAE2r67NbwwzBw/Cc/8q9BK3kIX8Kw== dependencies: - "@babel/helper-plugin-utils" "^7.25.9" - regenerator-transform "^0.15.2" + "@standard-schema/spec" "^1.1.0" + "@types/chai" "^5.2.2" + "@vitest/spy" "4.1.5" + "@vitest/utils" "4.1.5" + chai "^6.2.2" + tinyrainbow "^3.1.0" -"@babel/plugin-transform-regexp-modifiers@^7.26.0": - version "7.26.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-regexp-modifiers/-/plugin-transform-regexp-modifiers-7.26.0.tgz#2f5837a5b5cd3842a919d8147e9903cc7455b850" - integrity sha512-vN6saax7lrA2yA/Pak3sCxuD6F5InBjn9IcrIKQPjpsLvuHYLVroTxjdlVRHjjBWxKOqIwpTXDkOssYT4BFdRw== +"@vitest/mocker@4.1.5": + version "4.1.5" + resolved "https://registry.yarnpkg.com/@vitest/mocker/-/mocker-4.1.5.tgz#9d5791733e4866cfb8af2d48ca371b127e7d2e93" + integrity sha512-/x2EmFC4mT4NNzqvC3fmesuV97w5FC903KPmey4gsnJiMQ3Be1IlDKVaDaG8iqaLFHqJ2FVEkxZk5VmeLjIItw== dependencies: - "@babel/helper-create-regexp-features-plugin" "^7.25.9" - "@babel/helper-plugin-utils" "^7.25.9" + "@vitest/spy" "4.1.5" + estree-walker "^3.0.3" + magic-string "^0.30.21" -"@babel/plugin-transform-reserved-words@^7.25.9": - version "7.25.9" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.25.9.tgz#0398aed2f1f10ba3f78a93db219b27ef417fb9ce" - integrity sha512-7DL7DKYjn5Su++4RXu8puKZm2XBPHyjWLUidaPEkCUBbE7IPcsrkRHggAOOKydH1dASWdcUBxrkOGNxUv5P3Jg== - dependencies: - "@babel/helper-plugin-utils" "^7.25.9" - -"@babel/plugin-transform-shorthand-properties@^7.25.9": - version "7.25.9" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.25.9.tgz#bb785e6091f99f826a95f9894fc16fde61c163f2" - integrity sha512-MUv6t0FhO5qHnS/W8XCbHmiRWOphNufpE1IVxhK5kuN3Td9FT1x4rx4K42s3RYdMXCXpfWkGSbCSd0Z64xA7Ng== - dependencies: - "@babel/helper-plugin-utils" "^7.25.9" - -"@babel/plugin-transform-spread@^7.25.9": - version "7.25.9" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-spread/-/plugin-transform-spread-7.25.9.tgz#24a35153931b4ba3d13cec4a7748c21ab5514ef9" - integrity sha512-oNknIB0TbURU5pqJFVbOOFspVlrpVwo2H1+HUIsVDvp5VauGGDP1ZEvO8Nn5xyMEs3dakajOxlmkNW7kNgSm6A== - dependencies: - "@babel/helper-plugin-utils" "^7.25.9" - "@babel/helper-skip-transparent-expression-wrappers" "^7.25.9" - -"@babel/plugin-transform-sticky-regex@^7.25.9": - version "7.25.9" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.25.9.tgz#c7f02b944e986a417817b20ba2c504dfc1453d32" - integrity sha512-WqBUSgeVwucYDP9U/xNRQam7xV8W5Zf+6Eo7T2SRVUFlhRiMNFdFz58u0KZmCVVqs2i7SHgpRnAhzRNmKfi2uA== - dependencies: - "@babel/helper-plugin-utils" "^7.25.9" - -"@babel/plugin-transform-template-literals@^7.26.8": - version "7.26.8" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.26.8.tgz#966b15d153a991172a540a69ad5e1845ced990b5" - integrity sha512-OmGDL5/J0CJPJZTHZbi2XpO0tyT2Ia7fzpW5GURwdtp2X3fMmN8au/ej6peC/T33/+CRiIpA8Krse8hFGVmT5Q== - dependencies: - "@babel/helper-plugin-utils" "^7.26.5" - -"@babel/plugin-transform-typeof-symbol@^7.26.7": - version "7.26.7" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.26.7.tgz#d0e33acd9223744c1e857dbd6fa17bd0a3786937" - integrity sha512-jfoTXXZTgGg36BmhqT3cAYK5qkmqvJpvNrPhaK/52Vgjhw4Rq29s9UqpWWV0D6yuRmgiFH/BUVlkl96zJWqnaw== - dependencies: - "@babel/helper-plugin-utils" "^7.26.5" - -"@babel/plugin-transform-typescript@^7.25.9": - version "7.26.8" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.26.8.tgz#2e9caa870aa102f50d7125240d9dbf91334b0950" - integrity sha512-bME5J9AC8ChwA7aEPJ6zym3w7aObZULHhbNLU0bKUhKsAkylkzUdq+0kdymh9rzi8nlNFl2bmldFBCKNJBUpuw== - dependencies: - "@babel/helper-annotate-as-pure" "^7.25.9" - "@babel/helper-create-class-features-plugin" "^7.25.9" - "@babel/helper-plugin-utils" "^7.26.5" - "@babel/helper-skip-transparent-expression-wrappers" "^7.25.9" - "@babel/plugin-syntax-typescript" "^7.25.9" - -"@babel/plugin-transform-unicode-escapes@^7.25.9": - version "7.25.9" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.25.9.tgz#a75ef3947ce15363fccaa38e2dd9bc70b2788b82" - integrity sha512-s5EDrE6bW97LtxOcGj1Khcx5AaXwiMmi4toFWRDP9/y0Woo6pXC+iyPu/KuhKtfSrNFd7jJB+/fkOtZy6aIC6Q== - dependencies: - "@babel/helper-plugin-utils" "^7.25.9" - -"@babel/plugin-transform-unicode-property-regex@^7.25.9": - version "7.25.9" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-property-regex/-/plugin-transform-unicode-property-regex-7.25.9.tgz#a901e96f2c1d071b0d1bb5dc0d3c880ce8f53dd3" - integrity sha512-Jt2d8Ga+QwRluxRQ307Vlxa6dMrYEMZCgGxoPR8V52rxPyldHu3hdlHspxaqYmE7oID5+kB+UKUB/eWS+DkkWg== - dependencies: - "@babel/helper-create-regexp-features-plugin" "^7.25.9" - "@babel/helper-plugin-utils" "^7.25.9" - -"@babel/plugin-transform-unicode-regex@^7.25.9": - version "7.25.9" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.25.9.tgz#5eae747fe39eacf13a8bd006a4fb0b5d1fa5e9b1" - integrity sha512-yoxstj7Rg9dlNn9UQxzk4fcNivwv4nUYz7fYXBaKxvw/lnmPuOm/ikoELygbYq68Bls3D/D+NBPHiLwZdZZ4HA== - dependencies: - "@babel/helper-create-regexp-features-plugin" "^7.25.9" - "@babel/helper-plugin-utils" "^7.25.9" - -"@babel/plugin-transform-unicode-sets-regex@^7.25.9": - version "7.25.9" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-sets-regex/-/plugin-transform-unicode-sets-regex-7.25.9.tgz#65114c17b4ffc20fa5b163c63c70c0d25621fabe" - integrity sha512-8BYqO3GeVNHtx69fdPshN3fnzUNLrWdHhk/icSwigksJGczKSizZ+Z6SBCxTs723Fr5VSNorTIK7a+R2tISvwQ== - dependencies: - "@babel/helper-create-regexp-features-plugin" "^7.25.9" - "@babel/helper-plugin-utils" "^7.25.9" - -"@babel/preset-env@^7.26.9": - version "7.26.9" - resolved "https://registry.yarnpkg.com/@babel/preset-env/-/preset-env-7.26.9.tgz#2ec64e903d0efe743699f77a10bdf7955c2123c3" - integrity sha512-vX3qPGE8sEKEAZCWk05k3cpTAE3/nOYca++JA+Rd0z2NCNzabmYvEiSShKzm10zdquOIAVXsy2Ei/DTW34KlKQ== - dependencies: - "@babel/compat-data" "^7.26.8" - "@babel/helper-compilation-targets" "^7.26.5" - "@babel/helper-plugin-utils" "^7.26.5" - "@babel/helper-validator-option" "^7.25.9" - "@babel/plugin-bugfix-firefox-class-in-computed-class-key" "^7.25.9" - "@babel/plugin-bugfix-safari-class-field-initializer-scope" "^7.25.9" - "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression" "^7.25.9" - "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining" "^7.25.9" - "@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly" "^7.25.9" - "@babel/plugin-proposal-private-property-in-object" "7.21.0-placeholder-for-preset-env.2" - "@babel/plugin-syntax-import-assertions" "^7.26.0" - "@babel/plugin-syntax-import-attributes" "^7.26.0" - "@babel/plugin-syntax-unicode-sets-regex" "^7.18.6" - "@babel/plugin-transform-arrow-functions" "^7.25.9" - "@babel/plugin-transform-async-generator-functions" "^7.26.8" - "@babel/plugin-transform-async-to-generator" "^7.25.9" - "@babel/plugin-transform-block-scoped-functions" "^7.26.5" - "@babel/plugin-transform-block-scoping" "^7.25.9" - "@babel/plugin-transform-class-properties" "^7.25.9" - "@babel/plugin-transform-class-static-block" "^7.26.0" - "@babel/plugin-transform-classes" "^7.25.9" - "@babel/plugin-transform-computed-properties" "^7.25.9" - "@babel/plugin-transform-destructuring" "^7.25.9" - "@babel/plugin-transform-dotall-regex" "^7.25.9" - "@babel/plugin-transform-duplicate-keys" "^7.25.9" - "@babel/plugin-transform-duplicate-named-capturing-groups-regex" "^7.25.9" - "@babel/plugin-transform-dynamic-import" "^7.25.9" - "@babel/plugin-transform-exponentiation-operator" "^7.26.3" - "@babel/plugin-transform-export-namespace-from" "^7.25.9" - "@babel/plugin-transform-for-of" "^7.26.9" - "@babel/plugin-transform-function-name" "^7.25.9" - "@babel/plugin-transform-json-strings" "^7.25.9" - "@babel/plugin-transform-literals" "^7.25.9" - "@babel/plugin-transform-logical-assignment-operators" "^7.25.9" - "@babel/plugin-transform-member-expression-literals" "^7.25.9" - "@babel/plugin-transform-modules-amd" "^7.25.9" - "@babel/plugin-transform-modules-commonjs" "^7.26.3" - "@babel/plugin-transform-modules-systemjs" "^7.25.9" - "@babel/plugin-transform-modules-umd" "^7.25.9" - "@babel/plugin-transform-named-capturing-groups-regex" "^7.25.9" - "@babel/plugin-transform-new-target" "^7.25.9" - "@babel/plugin-transform-nullish-coalescing-operator" "^7.26.6" - "@babel/plugin-transform-numeric-separator" "^7.25.9" - "@babel/plugin-transform-object-rest-spread" "^7.25.9" - "@babel/plugin-transform-object-super" "^7.25.9" - "@babel/plugin-transform-optional-catch-binding" "^7.25.9" - "@babel/plugin-transform-optional-chaining" "^7.25.9" - "@babel/plugin-transform-parameters" "^7.25.9" - "@babel/plugin-transform-private-methods" "^7.25.9" - "@babel/plugin-transform-private-property-in-object" "^7.25.9" - "@babel/plugin-transform-property-literals" "^7.25.9" - "@babel/plugin-transform-regenerator" "^7.25.9" - "@babel/plugin-transform-regexp-modifiers" "^7.26.0" - "@babel/plugin-transform-reserved-words" "^7.25.9" - "@babel/plugin-transform-shorthand-properties" "^7.25.9" - "@babel/plugin-transform-spread" "^7.25.9" - "@babel/plugin-transform-sticky-regex" "^7.25.9" - "@babel/plugin-transform-template-literals" "^7.26.8" - "@babel/plugin-transform-typeof-symbol" "^7.26.7" - "@babel/plugin-transform-unicode-escapes" "^7.25.9" - "@babel/plugin-transform-unicode-property-regex" "^7.25.9" - "@babel/plugin-transform-unicode-regex" "^7.25.9" - "@babel/plugin-transform-unicode-sets-regex" "^7.25.9" - "@babel/preset-modules" "0.1.6-no-external-plugins" - babel-plugin-polyfill-corejs2 "^0.4.10" - babel-plugin-polyfill-corejs3 "^0.11.0" - babel-plugin-polyfill-regenerator "^0.6.1" - core-js-compat "^3.40.0" - semver "^6.3.1" - -"@babel/preset-modules@0.1.6-no-external-plugins": - version "0.1.6-no-external-plugins" - resolved "https://registry.yarnpkg.com/@babel/preset-modules/-/preset-modules-0.1.6-no-external-plugins.tgz#ccb88a2c49c817236861fee7826080573b8a923a" - integrity sha512-HrcgcIESLm9aIR842yhJ5RWan/gebQUJ6E/E5+rf0y9o6oj7w0Br+sWuL6kEQ/o/AdfvR1Je9jG18/gnpwjEyA== +"@vitest/pretty-format@4.1.5": + version "4.1.5" + resolved "https://registry.yarnpkg.com/@vitest/pretty-format/-/pretty-format-4.1.5.tgz#4c13d77a77e2931e44db95522ed5700bcf0570d4" + integrity sha512-7I3q6l5qr03dVfMX2wCo9FxwSJbPdwKjy2uu/YPpU3wfHvIL4QHwVRp57OfGrDFeUJ8/8QdfBKIV12FTtLn00g== dependencies: - "@babel/helper-plugin-utils" "^7.0.0" - "@babel/types" "^7.4.4" - esutils "^2.0.2" - -"@babel/preset-typescript@^7.26.0": - version "7.26.0" - resolved "https://registry.yarnpkg.com/@babel/preset-typescript/-/preset-typescript-7.26.0.tgz#4a570f1b8d104a242d923957ffa1eaff142a106d" - integrity sha512-NMk1IGZ5I/oHhoXEElcm+xUnL/szL6xflkFZmoEU9xj1qSJXpiS7rsspYo92B4DRCDvZn2erT5LdsCeXAKNCkg== - dependencies: - "@babel/helper-plugin-utils" "^7.25.9" - "@babel/helper-validator-option" "^7.25.9" - "@babel/plugin-syntax-jsx" "^7.25.9" - "@babel/plugin-transform-modules-commonjs" "^7.25.9" - "@babel/plugin-transform-typescript" "^7.25.9" - -"@babel/runtime@^7.26.10", "@babel/runtime@^7.8.4": - version "7.28.4" - resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.28.4.tgz#a70226016fabe25c5783b2f22d3e1c9bc5ca3326" - integrity sha512-Q/N6JNWvIvPnLDvjlE1OUBLPQHH6l3CltCEsHIujp45zQUSSh8K+gHnaEX45yAT1nyngnINhvWtzN+Nb9D8RAQ== - -"@babel/template@^7.25.9", "@babel/template@^7.26.9", "@babel/template@^7.3.3": - version "7.26.9" - resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.26.9.tgz#4577ad3ddf43d194528cff4e1fa6b232fa609bb2" - integrity sha512-qyRplbeIpNZhmzOysF/wFMuP9sctmh2cFzRAZOn1YapxBsE1i9bJIY586R/WBLfLcmcBlM8ROBiQURnnNy+zfA== - dependencies: - "@babel/code-frame" "^7.26.2" - "@babel/parser" "^7.26.9" - "@babel/types" "^7.26.9" - -"@babel/traverse@^7.23.2", "@babel/traverse@^7.25.9", "@babel/traverse@^7.26.5", "@babel/traverse@^7.26.8", "@babel/traverse@^7.26.9": - version "7.26.9" - resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.26.9.tgz#4398f2394ba66d05d988b2ad13c219a2c857461a" - integrity sha512-ZYW7L+pL8ahU5fXmNbPF+iZFHCv5scFak7MZ9bwaRPLUhHh7QQEMjZUg0HevihoqCM5iSYHN61EyCoZvqC+bxg== - dependencies: - "@babel/code-frame" "^7.26.2" - "@babel/generator" "^7.26.9" - "@babel/parser" "^7.26.9" - "@babel/template" "^7.26.9" - "@babel/types" "^7.26.9" - debug "^4.3.1" - globals "^11.1.0" + tinyrainbow "^3.1.0" -"@babel/types@^7.0.0", "@babel/types@^7.20.7", "@babel/types@^7.25.9", "@babel/types@^7.26.9", "@babel/types@^7.3.3", "@babel/types@^7.4.4": - version "7.26.9" - resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.26.9.tgz#08b43dec79ee8e682c2ac631c010bdcac54a21ce" - integrity sha512-Y3IR1cRnOxOCDvMmNiym7XpXQ93iGDDPHx+Zj+NM+rg0fBaShfQLkg+hKPaZCEvg5N/LeCo4+Rj/i3FuJsIQaw== +"@vitest/runner@4.1.5": + version "4.1.5" + resolved "https://registry.yarnpkg.com/@vitest/runner/-/runner-4.1.5.tgz#a14dd2d2f48603f906dd52304a10c7fc623bb1de" + integrity sha512-2D+o7Pr82IEO46YPpoA/YU0neeyr6FTerQb5Ro7BUnBuv6NQtT/kmVnczngiMEBhzgqz2UZYl5gArejsyERDSQ== dependencies: - "@babel/helper-string-parser" "^7.25.9" - "@babel/helper-validator-identifier" "^7.25.9" - -"@bcoe/v8-coverage@^0.2.3": - version "0.2.3" - resolved "https://registry.yarnpkg.com/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz#75a2e8b51cb758a7553d6804a5932d7aace75c39" - integrity sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw== + "@vitest/utils" "4.1.5" + pathe "^2.0.3" -"@eslint-community/eslint-utils@^4.4.0": - version "4.4.1" - resolved "https://registry.yarnpkg.com/@eslint-community/eslint-utils/-/eslint-utils-4.4.1.tgz#d1145bf2c20132d6400495d6df4bf59362fd9d56" - integrity sha512-s3O3waFUrMV8P/XaF/+ZTp1X9XBZW1a4B97ZnjQF2KYWaFD2A8KyFBsrsfSjEmjn3RGWAIuvlneuZm3CUK3jbA== +"@vitest/snapshot@4.1.5": + version "4.1.5" + resolved "https://registry.yarnpkg.com/@vitest/snapshot/-/snapshot-4.1.5.tgz#d07970d1448190ee5a258db6ab79c65b8018c13b" + integrity sha512-zypXEt4KH/XgKGPUz4eC2AvErYx0My5hfL8oDb1HzGFpEk1P62bxSohdyOmvz+d9UJwanI68MKwr2EquOaOgMQ== dependencies: - eslint-visitor-keys "^3.4.3" + "@vitest/pretty-format" "4.1.5" + "@vitest/utils" "4.1.5" + magic-string "^0.30.21" + pathe "^2.0.3" -"@eslint-community/regexpp@^4.5.1": - version "4.12.1" - resolved "https://registry.yarnpkg.com/@eslint-community/regexpp/-/regexpp-4.12.1.tgz#cfc6cffe39df390a3841cde2abccf92eaa7ae0e0" - integrity sha512-CCZCDJuduB9OUkFkY2IgppNZMi2lBQgD2qzwXkEia16cge2pijY/aXi96CJMquDMn3nJdlPV1A5KrJEXwfLNzQ== +"@vitest/spy@4.1.5": + version "4.1.5" + resolved "https://registry.yarnpkg.com/@vitest/spy/-/spy-4.1.5.tgz#fa7858ffab746fa9ac29496e626f5a0caf9a5a7f" + integrity sha512-2lNOsh6+R2Idnf1TCZqSwYlKN2E/iDlD8sgU59kYVl+OMDmvldO1VDk39smRfpUNwYpNRVn3w4YfuC7KfbBnkQ== -"@eslint/eslintrc@^1.0.5": - version "1.0.5" - resolved "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-1.0.5.tgz" - integrity sha512-BLxsnmK3KyPunz5wmCCpqy0YelEoxxGmH73Is+Z74oOTMtExcjkr3dDR6quwrjh1YspA8DH9gnX1o069KiS9AQ== +"@vitest/utils@4.1.5": + version "4.1.5" + resolved "https://registry.yarnpkg.com/@vitest/utils/-/utils-4.1.5.tgz#20d6a6ae651a0dd33f945548921698d49701fa43" + integrity sha512-76wdkrmfXfqGjueGgnb45ITPyUi1ycZ4IHgC2bhPDUfWHklY/q3MdLOAB+TF1e6xfl8NxNY0ZYaPCFNWSsw3Ug== dependencies: - ajv "^6.12.4" - debug "^4.3.2" - espree "^9.2.0" - globals "^13.9.0" - ignore "^4.0.6" - import-fresh "^3.2.1" - js-yaml "^4.1.0" - minimatch "^3.0.4" - strip-json-comments "^3.1.1" - -"@humanwhocodes/config-array@^0.9.2": - version "0.9.3" - resolved "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.9.3.tgz" - integrity sha512-3xSMlXHh03hCcCmFc0rbKp3Ivt2PFEJnQUJDDMTJQ2wkECZWdq4GePs2ctc5H8zV+cHPaq8k2vU8mrQjA6iHdQ== - dependencies: - "@humanwhocodes/object-schema" "^1.2.1" - debug "^4.1.1" - minimatch "^3.0.4" - -"@humanwhocodes/object-schema@^1.2.1": - version "1.2.1" - resolved "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz" - integrity sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA== - -"@isaacs/cliui@^8.0.2": - version "8.0.2" - resolved "https://registry.yarnpkg.com/@isaacs/cliui/-/cliui-8.0.2.tgz#b37667b7bc181c168782259bab42474fbf52b550" - integrity sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA== - dependencies: - string-width "^5.1.2" - string-width-cjs "npm:string-width@^4.2.0" - strip-ansi "^7.0.1" - strip-ansi-cjs "npm:strip-ansi@^6.0.1" - wrap-ansi "^8.1.0" - wrap-ansi-cjs "npm:wrap-ansi@^7.0.0" - -"@istanbuljs/load-nyc-config@^1.0.0": - version "1.1.0" - resolved "https://registry.yarnpkg.com/@istanbuljs/load-nyc-config/-/load-nyc-config-1.1.0.tgz#fd3db1d59ecf7cf121e80650bb86712f9b55eced" - integrity sha512-VjeHSlIzpv/NyD3N0YuHfXOPDIixcA1q2ZV98wsMqcYlPmv2n3Yb2lYP9XMElnaFVXg5A7YLTeLu6V84uQDjmQ== - dependencies: - camelcase "^5.3.1" - find-up "^4.1.0" - get-package-type "^0.1.0" - js-yaml "^3.13.1" - resolve-from "^5.0.0" - -"@istanbuljs/schema@^0.1.2", "@istanbuljs/schema@^0.1.3": - version "0.1.3" - resolved "https://registry.yarnpkg.com/@istanbuljs/schema/-/schema-0.1.3.tgz#e45e384e4b8ec16bce2fd903af78450f6bf7ec98" - integrity sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA== - -"@jest/console@^29.7.0": - version "29.7.0" - resolved "https://registry.yarnpkg.com/@jest/console/-/console-29.7.0.tgz#cd4822dbdb84529265c5a2bdb529a3c9cc950ffc" - integrity sha512-5Ni4CU7XHQi32IJ398EEP4RrB8eV09sXP2ROqD4bksHrnTree52PsxvX8tpL8LvTZ3pFzXyPbNQReSN41CAhOg== - dependencies: - "@jest/types" "^29.6.3" - "@types/node" "*" - chalk "^4.0.0" - jest-message-util "^29.7.0" - jest-util "^29.7.0" - slash "^3.0.0" - -"@jest/core@^29.7.0": - version "29.7.0" - resolved "https://registry.yarnpkg.com/@jest/core/-/core-29.7.0.tgz#b6cccc239f30ff36609658c5a5e2291757ce448f" - integrity sha512-n7aeXWKMnGtDA48y8TLWJPJmLmmZ642Ceo78cYWEpiD7FzDgmNDV/GCVRorPABdXLJZ/9wzzgZAlHjXjxDHGsg== - dependencies: - "@jest/console" "^29.7.0" - "@jest/reporters" "^29.7.0" - "@jest/test-result" "^29.7.0" - "@jest/transform" "^29.7.0" - "@jest/types" "^29.6.3" - "@types/node" "*" - ansi-escapes "^4.2.1" - chalk "^4.0.0" - ci-info "^3.2.0" - exit "^0.1.2" - graceful-fs "^4.2.9" - jest-changed-files "^29.7.0" - jest-config "^29.7.0" - jest-haste-map "^29.7.0" - jest-message-util "^29.7.0" - jest-regex-util "^29.6.3" - jest-resolve "^29.7.0" - jest-resolve-dependencies "^29.7.0" - jest-runner "^29.7.0" - jest-runtime "^29.7.0" - jest-snapshot "^29.7.0" - jest-util "^29.7.0" - jest-validate "^29.7.0" - jest-watcher "^29.7.0" - micromatch "^4.0.4" - pretty-format "^29.7.0" - slash "^3.0.0" - strip-ansi "^6.0.0" - -"@jest/environment@^29.7.0": - version "29.7.0" - resolved "https://registry.yarnpkg.com/@jest/environment/-/environment-29.7.0.tgz#24d61f54ff1f786f3cd4073b4b94416383baf2a7" - integrity sha512-aQIfHDq33ExsN4jP1NWGXhxgQ/wixs60gDiKO+XVMd8Mn0NWPWgc34ZQDTb2jKaUWQ7MuwoitXAsN2XVXNMpAw== - dependencies: - "@jest/fake-timers" "^29.7.0" - "@jest/types" "^29.6.3" - "@types/node" "*" - jest-mock "^29.7.0" - -"@jest/expect-utils@^29.7.0": - version "29.7.0" - resolved "https://registry.yarnpkg.com/@jest/expect-utils/-/expect-utils-29.7.0.tgz#023efe5d26a8a70f21677d0a1afc0f0a44e3a1c6" - integrity sha512-GlsNBWiFQFCVi9QVSx7f5AgMeLxe9YCCs5PuP2O2LdjDAA8Jh9eX7lA1Jq/xdXw3Wb3hyvlFNfZIfcRetSzYcA== - dependencies: - jest-get-type "^29.6.3" - -"@jest/expect@^29.7.0": - version "29.7.0" - resolved "https://registry.yarnpkg.com/@jest/expect/-/expect-29.7.0.tgz#76a3edb0cb753b70dfbfe23283510d3d45432bf2" - integrity sha512-8uMeAMycttpva3P1lBHB8VciS9V0XAr3GymPpipdyQXbBcuhkLQOSe8E/p92RyAdToS6ZD1tFkX+CkhoECE0dQ== - dependencies: - expect "^29.7.0" - jest-snapshot "^29.7.0" - -"@jest/fake-timers@^29.7.0": - version "29.7.0" - resolved "https://registry.yarnpkg.com/@jest/fake-timers/-/fake-timers-29.7.0.tgz#fd91bf1fffb16d7d0d24a426ab1a47a49881a565" - integrity sha512-q4DH1Ha4TTFPdxLsqDXK1d3+ioSL7yL5oCMJZgDYm6i+6CygW5E5xVr/D1HdsGxjt1ZWSfUAs9OxSB/BNelWrQ== - dependencies: - "@jest/types" "^29.6.3" - "@sinonjs/fake-timers" "^10.0.2" - "@types/node" "*" - jest-message-util "^29.7.0" - jest-mock "^29.7.0" - jest-util "^29.7.0" - -"@jest/globals@^29.7.0": - version "29.7.0" - resolved "https://registry.yarnpkg.com/@jest/globals/-/globals-29.7.0.tgz#8d9290f9ec47ff772607fa864ca1d5a2efae1d4d" - integrity sha512-mpiz3dutLbkW2MNFubUGUEVLkTGiqW6yLVTA+JbP6fI6J5iL9Y0Nlg8k95pcF8ctKwCS7WVxteBs29hhfAotzQ== - dependencies: - "@jest/environment" "^29.7.0" - "@jest/expect" "^29.7.0" - "@jest/types" "^29.6.3" - jest-mock "^29.7.0" - -"@jest/reporters@^29.7.0": - version "29.7.0" - resolved "https://registry.yarnpkg.com/@jest/reporters/-/reporters-29.7.0.tgz#04b262ecb3b8faa83b0b3d321623972393e8f4c7" - integrity sha512-DApq0KJbJOEzAFYjHADNNxAE3KbhxQB1y5Kplb5Waqw6zVbuWatSnMjE5gs8FUgEPmNsnZA3NCWl9NG0ia04Pg== - dependencies: - "@bcoe/v8-coverage" "^0.2.3" - "@jest/console" "^29.7.0" - "@jest/test-result" "^29.7.0" - "@jest/transform" "^29.7.0" - "@jest/types" "^29.6.3" - "@jridgewell/trace-mapping" "^0.3.18" - "@types/node" "*" - chalk "^4.0.0" - collect-v8-coverage "^1.0.0" - exit "^0.1.2" - glob "^7.1.3" - graceful-fs "^4.2.9" - istanbul-lib-coverage "^3.0.0" - istanbul-lib-instrument "^6.0.0" - istanbul-lib-report "^3.0.0" - istanbul-lib-source-maps "^4.0.0" - istanbul-reports "^3.1.3" - jest-message-util "^29.7.0" - jest-util "^29.7.0" - jest-worker "^29.7.0" - slash "^3.0.0" - string-length "^4.0.1" - strip-ansi "^6.0.0" - v8-to-istanbul "^9.0.1" - -"@jest/schemas@^29.6.3": - version "29.6.3" - resolved "https://registry.yarnpkg.com/@jest/schemas/-/schemas-29.6.3.tgz#430b5ce8a4e0044a7e3819663305a7b3091c8e03" - integrity sha512-mo5j5X+jIZmJQveBKeS/clAueipV7KgiX1vMgCxam1RNYiqE1w62n0/tJJnHtjW8ZHcQco5gY85jA3mi0L+nSA== - dependencies: - "@sinclair/typebox" "^0.27.8" - -"@jest/source-map@^29.6.3": - version "29.6.3" - resolved "https://registry.yarnpkg.com/@jest/source-map/-/source-map-29.6.3.tgz#d90ba772095cf37a34a5eb9413f1b562a08554c4" - integrity sha512-MHjT95QuipcPrpLM+8JMSzFx6eHp5Bm+4XeFDJlwsvVBjmKNiIAvasGK2fxz2WbGRlnvqehFbh07MMa7n3YJnw== - dependencies: - "@jridgewell/trace-mapping" "^0.3.18" - callsites "^3.0.0" - graceful-fs "^4.2.9" - -"@jest/test-result@^29.7.0": - version "29.7.0" - resolved "https://registry.yarnpkg.com/@jest/test-result/-/test-result-29.7.0.tgz#8db9a80aa1a097bb2262572686734baed9b1657c" - integrity sha512-Fdx+tv6x1zlkJPcWXmMDAG2HBnaR9XPSd5aDWQVsfrZmLVT3lU1cwyxLgRmXR9yrq4NBoEm9BMsfgFzTQAbJYA== - dependencies: - "@jest/console" "^29.7.0" - "@jest/types" "^29.6.3" - "@types/istanbul-lib-coverage" "^2.0.0" - collect-v8-coverage "^1.0.0" - -"@jest/test-sequencer@^29.7.0": - version "29.7.0" - resolved "https://registry.yarnpkg.com/@jest/test-sequencer/-/test-sequencer-29.7.0.tgz#6cef977ce1d39834a3aea887a1726628a6f072ce" - integrity sha512-GQwJ5WZVrKnOJuiYiAF52UNUJXgTZx1NHjFSEB0qEMmSZKAkdMoIzw/Cj6x6NF4AvV23AUqDpFzQkN/eYCYTxw== - dependencies: - "@jest/test-result" "^29.7.0" - graceful-fs "^4.2.9" - jest-haste-map "^29.7.0" - slash "^3.0.0" - -"@jest/transform@^29.7.0": - version "29.7.0" - resolved "https://registry.yarnpkg.com/@jest/transform/-/transform-29.7.0.tgz#df2dd9c346c7d7768b8a06639994640c642e284c" - integrity sha512-ok/BTPFzFKVMwO5eOHRrvnBVHdRy9IrsrW1GpMaQ9MCnilNLXQKmAX8s1YXDFaai9xJpac2ySzV0YeRRECr2Vw== - dependencies: - "@babel/core" "^7.11.6" - "@jest/types" "^29.6.3" - "@jridgewell/trace-mapping" "^0.3.18" - babel-plugin-istanbul "^6.1.1" - chalk "^4.0.0" + "@vitest/pretty-format" "4.1.5" convert-source-map "^2.0.0" - fast-json-stable-stringify "^2.1.0" - graceful-fs "^4.2.9" - jest-haste-map "^29.7.0" - jest-regex-util "^29.6.3" - jest-util "^29.7.0" - micromatch "^4.0.4" - pirates "^4.0.4" - slash "^3.0.0" - write-file-atomic "^4.0.2" - -"@jest/types@^29.6.3": - version "29.6.3" - resolved "https://registry.yarnpkg.com/@jest/types/-/types-29.6.3.tgz#1131f8cf634e7e84c5e77bab12f052af585fba59" - integrity sha512-u3UPsIilWKOM3F9CXtrG8LEJmNxwoCQC/XVj4IKYXvvpx7QIi/Kg1LI5uDmDpKlac62NUtX7eLjRh+jVZcLOzw== - dependencies: - "@jest/schemas" "^29.6.3" - "@types/istanbul-lib-coverage" "^2.0.0" - "@types/istanbul-reports" "^3.0.0" - "@types/node" "*" - "@types/yargs" "^17.0.8" - chalk "^4.0.0" - -"@jridgewell/gen-mapping@^0.3.5": - version "0.3.8" - resolved "https://registry.yarnpkg.com/@jridgewell/gen-mapping/-/gen-mapping-0.3.8.tgz#4f0e06362e01362f823d348f1872b08f666d8142" - integrity sha512-imAbBGkb+ebQyxKgzv5Hu2nmROxoDOXHh80evxdoXNOrvAnVx7zimzc1Oo5h9RlfV4vPXaE2iM5pOFbvOCClWA== - dependencies: - "@jridgewell/set-array" "^1.2.1" - "@jridgewell/sourcemap-codec" "^1.4.10" - "@jridgewell/trace-mapping" "^0.3.24" - -"@jridgewell/resolve-uri@^3.1.0": - version "3.1.2" - resolved "https://registry.yarnpkg.com/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz#7a0ee601f60f99a20c7c7c5ff0c80388c1189bd6" - integrity sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw== - -"@jridgewell/set-array@^1.2.1": - version "1.2.1" - resolved "https://registry.yarnpkg.com/@jridgewell/set-array/-/set-array-1.2.1.tgz#558fb6472ed16a4c850b889530e6b36438c49280" - integrity sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A== - -"@jridgewell/sourcemap-codec@^1.4.10", "@jridgewell/sourcemap-codec@^1.4.14": - version "1.5.0" - resolved "https://registry.yarnpkg.com/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.0.tgz#3188bcb273a414b0d215fd22a58540b989b9409a" - integrity sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ== - -"@jridgewell/trace-mapping@^0.3.12", "@jridgewell/trace-mapping@^0.3.18", "@jridgewell/trace-mapping@^0.3.24", "@jridgewell/trace-mapping@^0.3.25": - version "0.3.25" - resolved "https://registry.yarnpkg.com/@jridgewell/trace-mapping/-/trace-mapping-0.3.25.tgz#15f190e98895f3fc23276ee14bc76b675c2e50f0" - integrity sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ== - dependencies: - "@jridgewell/resolve-uri" "^3.1.0" - "@jridgewell/sourcemap-codec" "^1.4.14" - -"@nodelib/fs.scandir@2.1.5": - version "2.1.5" - resolved "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz" - integrity sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g== - dependencies: - "@nodelib/fs.stat" "2.0.5" - run-parallel "^1.1.9" - -"@nodelib/fs.stat@2.0.5", "@nodelib/fs.stat@^2.0.2": - version "2.0.5" - resolved "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz" - integrity sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A== - -"@nodelib/fs.walk@^1.2.3": - version "1.2.8" - resolved "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz" - integrity sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg== - dependencies: - "@nodelib/fs.scandir" "2.1.5" - fastq "^1.6.0" - -"@pkgjs/parseargs@^0.11.0": - version "0.11.0" - resolved "https://registry.yarnpkg.com/@pkgjs/parseargs/-/parseargs-0.11.0.tgz#a77ea742fab25775145434eb1d2328cf5013ac33" - integrity sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg== - -"@sinclair/typebox@^0.27.8": - version "0.27.8" - resolved "https://registry.yarnpkg.com/@sinclair/typebox/-/typebox-0.27.8.tgz#6667fac16c436b5434a387a34dedb013198f6e6e" - integrity sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA== - -"@sinonjs/commons@^3.0.0": - version "3.0.1" - resolved "https://registry.yarnpkg.com/@sinonjs/commons/-/commons-3.0.1.tgz#1029357e44ca901a615585f6d27738dbc89084cd" - integrity sha512-K3mCHKQ9sVh8o1C9cxkwxaOmXoAMlDxC1mYyHrjqOWEcBjYr76t96zL2zlj5dUGZ3HSw240X1qgH3Mjf1yJWpQ== - dependencies: - type-detect "4.0.8" - -"@sinonjs/fake-timers@^10.0.2": - version "10.3.0" - resolved "https://registry.yarnpkg.com/@sinonjs/fake-timers/-/fake-timers-10.3.0.tgz#55fdff1ecab9f354019129daf4df0dd4d923ea66" - integrity sha512-V4BG07kuYSUkTCSBHG8G8TNhM+F19jXFWnQtzj+we8DrkpSBCee9Z3Ms8yiGer/dlmhe35/Xdgyo3/0rQKg7YA== - dependencies: - "@sinonjs/commons" "^3.0.0" - -"@types/babel__core@^7.1.14": - version "7.20.5" - resolved "https://registry.yarnpkg.com/@types/babel__core/-/babel__core-7.20.5.tgz#3df15f27ba85319caa07ba08d0721889bb39c017" - integrity sha512-qoQprZvz5wQFJwMDqeseRXWv3rqMvhgpbXFfVyWhbx9X47POIA6i/+dXefEmZKoAgOaTdaIgNSMqMIU61yRyzA== - dependencies: - "@babel/parser" "^7.20.7" - "@babel/types" "^7.20.7" - "@types/babel__generator" "*" - "@types/babel__template" "*" - "@types/babel__traverse" "*" - -"@types/babel__generator@*": - version "7.6.8" - resolved "https://registry.yarnpkg.com/@types/babel__generator/-/babel__generator-7.6.8.tgz#f836c61f48b1346e7d2b0d93c6dacc5b9535d3ab" - integrity sha512-ASsj+tpEDsEiFr1arWrlN6V3mdfjRMZt6LtK/Vp/kreFLnr5QH5+DhvD5nINYZXzwJvXeGq+05iUXcAzVrqWtw== - dependencies: - "@babel/types" "^7.0.0" - -"@types/babel__template@*": - version "7.4.4" - resolved "https://registry.yarnpkg.com/@types/babel__template/-/babel__template-7.4.4.tgz#5672513701c1b2199bc6dad636a9d7491586766f" - integrity sha512-h/NUaSyG5EyxBIp8YRxo4RMe2/qQgvyowRwVMzhYhBCONbW8PUsg4lkFMrhgZhUe5z3L3MiLDuvyJ/CaPa2A8A== - dependencies: - "@babel/parser" "^7.1.0" - "@babel/types" "^7.0.0" - -"@types/babel__traverse@*", "@types/babel__traverse@^7.0.6": - version "7.20.6" - resolved "https://registry.yarnpkg.com/@types/babel__traverse/-/babel__traverse-7.20.6.tgz#8dc9f0ae0f202c08d8d4dab648912c8d6038e3f7" - integrity sha512-r1bzfrm0tomOI8g1SzvCaQHo6Lcv6zu0EA+W2kHrt8dyrHQxGzBBL4kdkzIS+jBMV+EYcMAEAqXqYaLJq5rOZg== - dependencies: - "@babel/types" "^7.20.7" - -"@types/graceful-fs@^4.1.3": - version "4.1.9" - resolved "https://registry.yarnpkg.com/@types/graceful-fs/-/graceful-fs-4.1.9.tgz#2a06bc0f68a20ab37b3e36aa238be6abdf49e8b4" - integrity sha512-olP3sd1qOEe5dXTSaFvQG+02VdRXcdytWLAZsAq1PecU8uqQAhkrnbli7DagjtXKW/Bl7YJbUsa8MPcuc8LHEQ== - dependencies: - "@types/node" "*" - -"@types/istanbul-lib-coverage@*", "@types/istanbul-lib-coverage@^2.0.0", "@types/istanbul-lib-coverage@^2.0.1": - version "2.0.6" - resolved "https://registry.yarnpkg.com/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.6.tgz#7739c232a1fee9b4d3ce8985f314c0c6d33549d7" - integrity sha512-2QF/t/auWm0lsy8XtKVPG19v3sSOQlJe/YHZgfjb/KBBHOGSV+J2q/S671rcq9uTBrLAXmZpqJiaQbMT+zNU1w== - -"@types/istanbul-lib-report@*": - version "3.0.3" - resolved "https://registry.yarnpkg.com/@types/istanbul-lib-report/-/istanbul-lib-report-3.0.3.tgz#53047614ae72e19fc0401d872de3ae2b4ce350bf" - integrity sha512-NQn7AHQnk/RSLOxrBbGyJM/aVQ+pjj5HCgasFxc0K/KhoATfQ/47AyUl15I2yBUpihjmas+a+VJBOqecrFH+uA== - dependencies: - "@types/istanbul-lib-coverage" "*" - -"@types/istanbul-reports@^3.0.0": - version "3.0.4" - resolved "https://registry.yarnpkg.com/@types/istanbul-reports/-/istanbul-reports-3.0.4.tgz#0f03e3d2f670fbdac586e34b433783070cc16f54" - integrity sha512-pk2B1NWalF9toCRu6gjBzR69syFjP4Od8WRAX+0mmf9lAjCRicLOWc+ZrxZHx/0XRjotgkF9t6iaMJ+aXcOdZQ== - dependencies: - "@types/istanbul-lib-report" "*" - -"@types/jest@^27.0.1": - version "27.5.2" - resolved "https://registry.yarnpkg.com/@types/jest/-/jest-27.5.2.tgz#ec49d29d926500ffb9fd22b84262e862049c026c" - integrity sha512-mpT8LJJ4CMeeahobofYWIjFo0xonRS/HfxnVEPMPFSQdGUt1uHCnoPT7Zhb+sjDU2wz0oKV0OLUR0WzrHNgfeA== - dependencies: - jest-matcher-utils "^27.0.0" - pretty-format "^27.0.0" - -"@types/json-schema@^7.0.12": - version "7.0.15" - resolved "https://registry.yarnpkg.com/@types/json-schema/-/json-schema-7.0.15.tgz#596a1747233694d50f6ad8a7869fcb6f56cf5841" - integrity sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA== - -"@types/json5@^0.0.29": - version "0.0.29" - resolved "https://registry.npmjs.org/@types/json5/-/json5-0.0.29.tgz" - integrity sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ== + tinyrainbow "^3.1.0" -"@types/jsonwebtoken@^8.5.5": - version "8.5.9" - resolved "https://registry.yarnpkg.com/@types/jsonwebtoken/-/jsonwebtoken-8.5.9.tgz#2c064ecb0b3128d837d2764aa0b117b0ff6e4586" - integrity sha512-272FMnFGzAVMGtu9tkr29hRL6bZj4Zs1KZNeHLnKqAvp06tAIcarTMwOh8/8bz4FmKRcMxZhZNeUAQsNLoiPhg== - dependencies: - "@types/node" "*" - -"@types/node@*": - version "25.0.0" - resolved "https://registry.yarnpkg.com/@types/node/-/node-25.0.0.tgz#c0e0022c3c7b41635c49322e6b3a0279fffa7d62" - integrity sha512-rl78HwuZlaDIUSeUKkmogkhebA+8K1Hy7tddZuJ3D0xV8pZSfsYGTsliGUol1JPzu9EKnTxPC4L1fiWouStRew== - dependencies: - undici-types "~7.16.0" - -"@types/node@^16.7.13": - version "16.18.126" - resolved "https://registry.yarnpkg.com/@types/node/-/node-16.18.126.tgz#27875faa2926c0f475b39a8bb1e546c0176f8d4b" - integrity sha512-OTcgaiwfGFBKacvfwuHzzn1KLxH/er8mluiy8/uM3sGXHaRe73RrSIj01jow9t4kJEW633Ov+cOexXeiApTyAw== - -"@types/regenerator-runtime@^0.13.5": - version "0.13.5" - resolved "https://registry.npmjs.org/@types/regenerator-runtime/-/regenerator-runtime-0.13.5.tgz" - integrity sha512-kuQTuRQB2RafkNk1qimK3zu4KSfy6z47diYGXVDcFcAZ3pVTR25CXiSb3adKry+onx2BBB9DBXxxLdbuglx5mw== - -"@types/semver@^7.5.0": - version "7.5.8" - resolved "https://registry.yarnpkg.com/@types/semver/-/semver-7.5.8.tgz#8268a8c57a3e4abd25c165ecd36237db7948a55e" - integrity sha512-I8EUhyrgfLrcTkzV3TSsGyl1tSuPrEDzr0yd5m90UgNxQkyDXULk3b6MlQqTCpZpNtWe1K0hzclnZkTcLBe2UQ== - -"@types/stack-utils@^2.0.0": - version "2.0.3" - resolved "https://registry.yarnpkg.com/@types/stack-utils/-/stack-utils-2.0.3.tgz#6209321eb2c1712a7e7466422b8cb1fc0d9dd5d8" - integrity sha512-9aEbYZ3TbYMznPdcdr3SmIrLXwC/AKZXQeCf9Pgao5CKb8CyHuEX5jzWPTkvregvhRJHcpRO6BFoGW9ycaOkYw== - -"@types/yargs-parser@*": - version "21.0.3" - resolved "https://registry.yarnpkg.com/@types/yargs-parser/-/yargs-parser-21.0.3.tgz#815e30b786d2e8f0dcd85fd5bcf5e1a04d008f15" - integrity sha512-I4q9QU9MQv4oEOz4tAHJtNz1cwuLxn2F3xcc2iV5WdqLPpUnj30aUuxt1mAxYTG+oe8CZMV/+6rU4S4gRDzqtQ== - -"@types/yargs@^17.0.8": - version "17.0.33" - resolved "https://registry.yarnpkg.com/@types/yargs/-/yargs-17.0.33.tgz#8c32303da83eec050a84b3c7ae7b9f922d13e32d" - integrity sha512-WpxBCKWPLr4xSsHgz511rFJAM+wS28w2zEO1QDNY5zM/S8ok70NNfztH0xwhqKyaK0OHCbN98LDAZuy1ctxDkA== - dependencies: - "@types/yargs-parser" "*" - -"@typescript-eslint/eslint-plugin@^6.20.0": - version "6.21.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-6.21.0.tgz#30830c1ca81fd5f3c2714e524c4303e0194f9cd3" - integrity sha512-oy9+hTPCUFpngkEZUSzbf9MxI65wbKFoQYsgPdILTfbUldp5ovUuphZVe4i30emU9M/kP+T64Di0mxl7dSw3MA== - dependencies: - "@eslint-community/regexpp" "^4.5.1" - "@typescript-eslint/scope-manager" "6.21.0" - "@typescript-eslint/type-utils" "6.21.0" - "@typescript-eslint/utils" "6.21.0" - "@typescript-eslint/visitor-keys" "6.21.0" - debug "^4.3.4" - graphemer "^1.4.0" - ignore "^5.2.4" - natural-compare "^1.4.0" - semver "^7.5.4" - ts-api-utils "^1.0.1" - -"@typescript-eslint/parser@^6.20.0": - version "6.21.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-6.21.0.tgz#af8fcf66feee2edc86bc5d1cf45e33b0630bf35b" - integrity sha512-tbsV1jPne5CkFQCgPBcDOt30ItF7aJoZL997JSF7MhGQqOeT3svWRYxiqlfA5RUdlHN6Fi+EI9bxqbdyAUZjYQ== - dependencies: - "@typescript-eslint/scope-manager" "6.21.0" - "@typescript-eslint/types" "6.21.0" - "@typescript-eslint/typescript-estree" "6.21.0" - "@typescript-eslint/visitor-keys" "6.21.0" - debug "^4.3.4" - -"@typescript-eslint/scope-manager@6.21.0": - version "6.21.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-6.21.0.tgz#ea8a9bfc8f1504a6ac5d59a6df308d3a0630a2b1" - integrity sha512-OwLUIWZJry80O99zvqXVEioyniJMa+d2GrqpUTqi5/v5D5rOrppJVBPa0yKCblcigC0/aYAzxxqQ1B+DS2RYsg== - dependencies: - "@typescript-eslint/types" "6.21.0" - "@typescript-eslint/visitor-keys" "6.21.0" - -"@typescript-eslint/type-utils@6.21.0": - version "6.21.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/type-utils/-/type-utils-6.21.0.tgz#6473281cfed4dacabe8004e8521cee0bd9d4c01e" - integrity sha512-rZQI7wHfao8qMX3Rd3xqeYSMCL3SoiSQLBATSiVKARdFGCYSRvmViieZjqc58jKgs8Y8i9YvVVhRbHSTA4VBag== - dependencies: - "@typescript-eslint/typescript-estree" "6.21.0" - "@typescript-eslint/utils" "6.21.0" - debug "^4.3.4" - ts-api-utils "^1.0.1" - -"@typescript-eslint/types@6.21.0": - version "6.21.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-6.21.0.tgz#205724c5123a8fef7ecd195075fa6e85bac3436d" - integrity sha512-1kFmZ1rOm5epu9NZEZm1kckCDGj5UJEf7P1kliH4LKu/RkwpsfqqGmY2OOcUs18lSlQBKLDYBOGxRVtrMN5lpg== - -"@typescript-eslint/typescript-estree@6.21.0": - version "6.21.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-6.21.0.tgz#c47ae7901db3b8bddc3ecd73daff2d0895688c46" - integrity sha512-6npJTkZcO+y2/kr+z0hc4HwNfrrP4kNYh57ek7yCNlrBjWQ1Y0OS7jiZTkgumrvkX5HkEKXFZkkdFNkaW2wmUQ== - dependencies: - "@typescript-eslint/types" "6.21.0" - "@typescript-eslint/visitor-keys" "6.21.0" - debug "^4.3.4" - globby "^11.1.0" - is-glob "^4.0.3" - minimatch "9.0.3" - semver "^7.5.4" - ts-api-utils "^1.0.1" - -"@typescript-eslint/utils@6.21.0": - version "6.21.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/utils/-/utils-6.21.0.tgz#4714e7a6b39e773c1c8e97ec587f520840cd8134" - integrity sha512-NfWVaC8HP9T8cbKQxHcsJBY5YE1O33+jpMwN45qzWWaPDZgLIbo12toGMWnmhvCpd3sIxkpDw3Wv1B3dYrbDQQ== - dependencies: - "@eslint-community/eslint-utils" "^4.4.0" - "@types/json-schema" "^7.0.12" - "@types/semver" "^7.5.0" - "@typescript-eslint/scope-manager" "6.21.0" - "@typescript-eslint/types" "6.21.0" - "@typescript-eslint/typescript-estree" "6.21.0" - semver "^7.5.4" - -"@typescript-eslint/visitor-keys@6.21.0": - version "6.21.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-6.21.0.tgz#87a99d077aa507e20e238b11d56cc26ade45fe47" - integrity sha512-JJtkDduxLi9bivAB+cYOVMtbkqdPOhZ+ZI5LC47MIRrDV4Yn2o+ZnW10Nkmr28xRpSpdJ6Sm42Hjf2+REYXm0A== - dependencies: - "@typescript-eslint/types" "6.21.0" - eslint-visitor-keys "^3.4.1" - -acorn-jsx@^5.3.1: - version "5.3.1" - resolved "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.1.tgz" - integrity sha512-K0Ptm/47OKfQRpNQ2J/oIN/3QYiK6FwW+eJbILhsdxh2WTLdl+30o8aGdTbm5JbffpFFAg/g+zi1E+jvJha5ng== +acorn-jsx@^5.3.2: + version "5.3.2" + resolved "https://registry.yarnpkg.com/acorn-jsx/-/acorn-jsx-5.3.2.tgz#7ed5bb55908b3b2f1bc55c6af1653bada7f07937" + integrity sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ== -acorn@^8.7.0: - version "8.7.0" - resolved "https://registry.npmjs.org/acorn/-/acorn-8.7.0.tgz" - integrity sha512-V/LGr1APy+PXIwKebEWrkZPwoeoF+w1jiOBUmuxuiUIaOHtob8Qc9BTrYo7VuI5fR8tqsy+buA2WFooR5olqvQ== +acorn@^8.16.0: + version "8.16.0" + resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.16.0.tgz#4ce79c89be40afe7afe8f3adb902a1f1ce9ac08a" + integrity sha512-UVJyE9MttOsBQIDKw1skb9nAwQuR5wuGD3+82K6JgJlm/Y+KI92oNsMNGZCYdDsVtRHSak0pcV5Dno5+4jh9sw== agent-base@^7.1.2: version "7.1.4" resolved "https://registry.yarnpkg.com/agent-base/-/agent-base-7.1.4.tgz#e3cd76d4c548ee895d3c3fd8dc1f6c5b9032e7a8" integrity sha512-MnA+YT8fwfJPgBx3m60MNqakm30XOkyIoH1y6huTQvC0PwZG7ki8NacLBcrPbNoo8vEZy7Jpuk7+jMO+CUovTQ== -ajv@^6.10.0, ajv@^6.12.4: - version "6.12.6" - resolved "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz" - integrity sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g== +ajv@^6.14.0: + version "6.14.0" + resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.14.0.tgz#fd067713e228210636ebb08c60bd3765d6dbe73a" + integrity sha512-IWrosm/yrn43eiKqkfkHis7QioDleaXQHdDVPKg0FSwwd/DuvyX79TZnFOnYpB7dcsFAMmtFztZuXPDvSePkFw== dependencies: fast-deep-equal "^3.1.1" fast-json-stable-stringify "^2.0.0" json-schema-traverse "^0.4.1" uri-js "^4.2.2" -ansi-escapes@^4.2.1: - version "4.3.2" - resolved "https://registry.yarnpkg.com/ansi-escapes/-/ansi-escapes-4.3.2.tgz#6b2291d1db7d98b6521d5f1efa42d0f3a9feb65e" - integrity sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ== +array-buffer-byte-length@^1.0.1, array-buffer-byte-length@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/array-buffer-byte-length/-/array-buffer-byte-length-1.0.2.tgz#384d12a37295aec3769ab022ad323a18a51ccf8b" + integrity sha512-LHE+8BuR7RYGDKvnrmcuSq3tDcKv9OFEXQt/HpbZhY7V6h0zlUXutnAD82GiFx9rdieCMjkvtcsPqBwgUl1Iiw== dependencies: - type-fest "^0.21.3" + call-bound "^1.0.3" + is-array-buffer "^3.0.5" -ansi-regex@^5.0.1: - version "5.0.1" - resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-5.0.1.tgz#082cb2c89c9fe8659a311a53bd6a4dc5301db304" - integrity sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ== - -ansi-regex@^6.0.1: - version "6.2.2" - resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-6.2.2.tgz#60216eea464d864597ce2832000738a0589650c1" - integrity sha512-Bq3SmSpyFHaWjPk8If9yc6svM8c56dB5BAtW4Qbw5jHTwwXXcTLoRMkpDJp6VL0XzlWaCHTXrkFURMYmD0sLqg== +array-includes@^3.1.9: + version "3.1.9" + resolved "https://registry.yarnpkg.com/array-includes/-/array-includes-3.1.9.tgz#1f0ccaa08e90cdbc3eb433210f903ad0f17c3f3a" + integrity sha512-FmeCCAenzH0KH381SPT5FZmiA/TmpndpcaShhfgEN9eCVjnFBqq3l1xrI42y8+PPLI6hypzou4GXw00WHmPBLQ== + dependencies: + call-bind "^1.0.8" + call-bound "^1.0.4" + define-properties "^1.2.1" + es-abstract "^1.24.0" + es-object-atoms "^1.1.1" + get-intrinsic "^1.3.0" + is-string "^1.1.1" + math-intrinsics "^1.1.0" -ansi-styles@^4.0.0, ansi-styles@^4.1.0: - version "4.3.0" - resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-4.3.0.tgz#edd803628ae71c04c85ae7a0906edad34b648937" - integrity sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg== +array.prototype.findlastindex@^1.2.6: + version "1.2.6" + resolved "https://registry.yarnpkg.com/array.prototype.findlastindex/-/array.prototype.findlastindex-1.2.6.tgz#cfa1065c81dcb64e34557c9b81d012f6a421c564" + integrity sha512-F/TKATkzseUExPlfvmwQKGITM3DGTK+vkAsCZoDc5daVygbJBnjEUCbgkAvVFsgfXfX4YIqZ/27G3k3tdXrTxQ== dependencies: - color-convert "^2.0.1" + call-bind "^1.0.8" + call-bound "^1.0.4" + define-properties "^1.2.1" + es-abstract "^1.23.9" + es-errors "^1.3.0" + es-object-atoms "^1.1.1" + es-shim-unscopables "^1.1.0" -ansi-styles@^5.0.0: - version "5.2.0" - resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-5.2.0.tgz#07449690ad45777d1924ac2abb2fc8895dba836b" - integrity sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA== +array.prototype.flat@^1.3.3: + version "1.3.3" + resolved "https://registry.yarnpkg.com/array.prototype.flat/-/array.prototype.flat-1.3.3.tgz#534aaf9e6e8dd79fb6b9a9917f839ef1ec63afe5" + integrity sha512-rwG/ja1neyLqCuGZ5YYrznA62D4mZXg0i1cIskIUKSiqF3Cje9/wXAls9B9s1Wa2fomMsIv8czB8jZcPmxCXFg== + dependencies: + call-bind "^1.0.8" + define-properties "^1.2.1" + es-abstract "^1.23.5" + es-shim-unscopables "^1.0.2" -ansi-styles@^6.1.0: - version "6.2.3" - resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-6.2.3.tgz#c044d5dcc521a076413472597a1acb1f103c4041" - integrity sha512-4Dj6M28JB+oAH8kFkTLUo+a2jwOFkuqb3yucU0CANcRRUbxS0cP0nZYCGjcc3BNXwRIsUVmDGgzawme7zvJHvg== +array.prototype.flatmap@^1.3.3: + version "1.3.3" + resolved "https://registry.yarnpkg.com/array.prototype.flatmap/-/array.prototype.flatmap-1.3.3.tgz#712cc792ae70370ae40586264629e33aab5dd38b" + integrity sha512-Y7Wt51eKJSyi80hFrJCePGGNo5ktJCslFuboqJsbf57CCPcm5zztluPlc4/aD8sWsKvlwatezpV4U1efk8kpjg== + dependencies: + call-bind "^1.0.8" + define-properties "^1.2.1" + es-abstract "^1.23.5" + es-shim-unscopables "^1.0.2" -anymatch@^3.0.3: - version "3.1.3" - resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-3.1.3.tgz#790c58b19ba1720a84205b57c618d5ad8524973e" - integrity sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw== +arraybuffer.prototype.slice@^1.0.4: + version "1.0.4" + resolved "https://registry.yarnpkg.com/arraybuffer.prototype.slice/-/arraybuffer.prototype.slice-1.0.4.tgz#9d760d84dbdd06d0cbf92c8849615a1a7ab3183c" + integrity sha512-BNoCY6SXXPQ7gF2opIP4GBE+Xw7U+pHMYKuzjgCN3GwiaIR09UUeKfheyIry77QtrCBlC0KK0q5/TER/tYh3PQ== dependencies: - normalize-path "^3.0.0" - picomatch "^2.0.4" + array-buffer-byte-length "^1.0.1" + call-bind "^1.0.8" + define-properties "^1.2.1" + es-abstract "^1.23.5" + es-errors "^1.3.0" + get-intrinsic "^1.2.6" + is-array-buffer "^3.0.4" -argparse@^2.0.1: +assertion-error@^2.0.1: version "2.0.1" - resolved "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz" - integrity sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q== + resolved "https://registry.yarnpkg.com/assertion-error/-/assertion-error-2.0.1.tgz#f641a196b335690b1070bf00b6e7593fec190bf7" + integrity sha512-Izi8RQcffqCeNVgFigKli1ssklIbpHnCYc6AknXGYoB6grJqyeby7jv12JUQgmTAnIDnbck1uxksT4dzN3PWBA== -array-buffer-byte-length@^1.0.0: +ast-v8-to-istanbul@^1.0.0: version "1.0.0" - resolved "https://registry.npmjs.org/array-buffer-byte-length/-/array-buffer-byte-length-1.0.0.tgz" - integrity sha512-LPuwb2P+NrQw3XhxGc36+XSvuBPopovXYTR9Ew++Du9Yb/bx5AzBfrIsBoj0EZUifjQU+sHL21sseZ3jerWO/A== + resolved "https://registry.yarnpkg.com/ast-v8-to-istanbul/-/ast-v8-to-istanbul-1.0.0.tgz#d1e8bfc79fa9c452972ff91897633bda4e5e7577" + integrity sha512-1fSfIwuDICFA4LKkCzRPO7F0hzFf0B7+Xqrl27ynQaa+Rh0e1Es0v6kWHPott3lU10AyAr7oKHa65OppjLn3Rg== dependencies: - call-bind "^1.0.2" - is-array-buffer "^3.0.1" + "@jridgewell/trace-mapping" "^0.3.31" + estree-walker "^3.0.3" + js-tokens "^10.0.0" -array-includes@^3.1.7: - version "3.1.7" - resolved "https://registry.npmjs.org/array-includes/-/array-includes-3.1.7.tgz" - integrity sha512-dlcsNBIiWhPkHdOEEKnehA+RNUWDc4UqFtnIXU4uuYDPtA4LDkr7qip2p0VvFAEXNDr0yWZ9PJyIRiGjRLQzwQ== - dependencies: - call-bind "^1.0.2" - define-properties "^1.2.0" - es-abstract "^1.22.1" - get-intrinsic "^1.2.1" - is-string "^1.0.7" - -array-union@^2.1.0: - version "2.1.0" - resolved "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz" - integrity sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw== - -array.prototype.findlastindex@^1.2.3: - version "1.2.3" - resolved "https://registry.npmjs.org/array.prototype.findlastindex/-/array.prototype.findlastindex-1.2.3.tgz" - integrity sha512-LzLoiOMAxvy+Gd3BAq3B7VeIgPdo+Q8hthvKtXybMvRV0jrXfJM/t8mw7nNlpEcVlVUnCnM2KSX4XU5HmpodOA== - dependencies: - call-bind "^1.0.2" - define-properties "^1.2.0" - es-abstract "^1.22.1" - es-shim-unscopables "^1.0.0" - get-intrinsic "^1.2.1" - -array.prototype.flat@^1.3.2: - version "1.3.2" - resolved "https://registry.npmjs.org/array.prototype.flat/-/array.prototype.flat-1.3.2.tgz" - integrity sha512-djYB+Zx2vLewY8RWlNCUdHjDXs2XOgm602S9E7P/UpHgfeHL00cRiIF+IN/G/aUJ7kGPb6yO/ErDI5V2s8iycA== - dependencies: - call-bind "^1.0.2" - define-properties "^1.2.0" - es-abstract "^1.22.1" - es-shim-unscopables "^1.0.0" - -array.prototype.flatmap@^1.3.2: - version "1.3.2" - resolved "https://registry.npmjs.org/array.prototype.flatmap/-/array.prototype.flatmap-1.3.2.tgz" - integrity sha512-Ewyx0c9PmpcsByhSW4r+9zDU7sGjFc86qf/kKtuSCRdhfbk0SNLLkaT5qvcHnRGgc5NP/ly/y+qkXkqONX54CQ== - dependencies: - call-bind "^1.0.2" - define-properties "^1.2.0" - es-abstract "^1.22.1" - es-shim-unscopables "^1.0.0" - -arraybuffer.prototype.slice@^1.0.2: - version "1.0.2" - resolved "https://registry.npmjs.org/arraybuffer.prototype.slice/-/arraybuffer.prototype.slice-1.0.2.tgz" - integrity sha512-yMBKppFur/fbHu9/6USUe03bZ4knMYiwFBcyiaXB8Go0qNehwX6inYPzK9U0NeQvGxKthcmHcaR8P5MStSRBAw== - dependencies: - array-buffer-byte-length "^1.0.0" - call-bind "^1.0.2" - define-properties "^1.2.0" - es-abstract "^1.22.1" - get-intrinsic "^1.2.1" - is-array-buffer "^3.0.2" - is-shared-array-buffer "^1.0.2" - -async@^3.2.3: - version "3.2.6" - resolved "https://registry.yarnpkg.com/async/-/async-3.2.6.tgz#1b0728e14929d51b85b449b7f06e27c1145e38ce" - integrity sha512-htCUDlxyyCLMgaM3xXg0C0LW2xqfuQ6p05pCEIsXuyQ+a1koYKTuBMzRNwmybfLgvJDMd0r1LTn4+E0Ti6C2AA== +async-function@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/async-function/-/async-function-1.0.0.tgz#509c9fca60eaf85034c6829838188e4e4c8ffb2b" + integrity sha512-hsU18Ae8CDTR6Kgu9DYf0EbCr/a5iGL0rytQDobUcdpYOKokk8LEjVphnXkDkgpi0wYVsqrXuP0bZxJaTqdgoA== asynckit@^0.4.0: version "0.4.0" resolved "https://registry.yarnpkg.com/asynckit/-/asynckit-0.4.0.tgz#c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79" integrity sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q== -available-typed-arrays@^1.0.5: - version "1.0.5" - resolved "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.5.tgz" - integrity sha512-DMD0KiN46eipeziST1LPP/STfDU0sufISXmjSgvVsoU2tqxctQeASejWcfNtxYKqETM1UxQ8sp2OrSBWpHY6sw== +available-typed-arrays@^1.0.7: + version "1.0.7" + resolved "https://registry.yarnpkg.com/available-typed-arrays/-/available-typed-arrays-1.0.7.tgz#a5cc375d6a03c2efc87a553f3e0b1522def14846" + integrity sha512-wvUjBtSGN7+7SjNpq/9M2Tg350UZD3q62IFZLbRAR1bSMlCo1ZaeW+BJ+D090e4hIIZLBcTDWe4Mh4jvUDajzQ== + dependencies: + possible-typed-array-names "^1.0.0" -axios-mock-adapter@^1.21.5: +axios-mock-adapter@^1.22.0: version "1.22.0" resolved "https://registry.yarnpkg.com/axios-mock-adapter/-/axios-mock-adapter-1.22.0.tgz#0f3e6be0fc9b55baab06f2d49c0b71157e7c053d" integrity sha512-dmI0KbkyAhntUR05YY96qg2H6gg0XMl2+qTW0xmYg6Up+BFBAJYRLROMXRdDEL06/Wqwa0TJThAYvFtSFdRCZw== @@ -1630,107 +739,25 @@ axios-mock-adapter@^1.21.5: fast-deep-equal "^3.1.3" is-buffer "^2.0.5" -axios@^1.12.0, axios@^1.13.2: - version "1.13.2" - resolved "https://registry.yarnpkg.com/axios/-/axios-1.13.2.tgz#9ada120b7b5ab24509553ec3e40123521117f687" - integrity sha512-VPk9ebNqPcy5lRGuSlKx752IlDatOjT9paPlm8A7yOuW2Fbvp4X3JznJtT4f0GzGLLiWE9W8onz51SqLYwzGaA== - dependencies: - follow-redirects "^1.15.6" - form-data "^4.0.4" - proxy-from-env "^1.1.0" - -babel-jest@^29.7.0: - version "29.7.0" - resolved "https://registry.yarnpkg.com/babel-jest/-/babel-jest-29.7.0.tgz#f4369919225b684c56085998ac63dbd05be020d5" - integrity sha512-BrvGY3xZSwEcCzKvKsCi2GgHqDqsYkOP4/by5xCgIwGXQxIEh+8ew3gmrE1y7XRR6LHZIj6yLYnUi/mm2KXKBg== - dependencies: - "@jest/transform" "^29.7.0" - "@types/babel__core" "^7.1.14" - babel-plugin-istanbul "^6.1.1" - babel-preset-jest "^29.6.3" - chalk "^4.0.0" - graceful-fs "^4.2.9" - slash "^3.0.0" - -babel-plugin-istanbul@^6.1.1: - version "6.1.1" - resolved "https://registry.yarnpkg.com/babel-plugin-istanbul/-/babel-plugin-istanbul-6.1.1.tgz#fa88ec59232fd9b4e36dbbc540a8ec9a9b47da73" - integrity sha512-Y1IQok9821cC9onCx5otgFfRm7Lm+I+wwxOx738M/WLPZ9Q42m4IG5W0FNX8WLL2gYMZo3JkuXIH2DOpWM+qwA== - dependencies: - "@babel/helper-plugin-utils" "^7.0.0" - "@istanbuljs/load-nyc-config" "^1.0.0" - "@istanbuljs/schema" "^0.1.2" - istanbul-lib-instrument "^5.0.4" - test-exclude "^6.0.0" - -babel-plugin-jest-hoist@^29.6.3: - version "29.6.3" - resolved "https://registry.yarnpkg.com/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-29.6.3.tgz#aadbe943464182a8922c3c927c3067ff40d24626" - integrity sha512-ESAc/RJvGTFEzRwOTT4+lNDk/GNHMkKbNzsvT0qKRfDyyYTskxB5rnU2njIDYVxXCBHHEI1c0YwHob3WaYujOg== - dependencies: - "@babel/template" "^7.3.3" - "@babel/types" "^7.3.3" - "@types/babel__core" "^7.1.14" - "@types/babel__traverse" "^7.0.6" - -babel-plugin-polyfill-corejs2@^0.4.10: - version "0.4.12" - resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.4.12.tgz#ca55bbec8ab0edeeef3d7b8ffd75322e210879a9" - integrity sha512-CPWT6BwvhrTO2d8QVorhTCQw9Y43zOu7G9HigcfxvepOU6b8o3tcWad6oVgZIsZCTt42FFv97aA7ZJsbM4+8og== - dependencies: - "@babel/compat-data" "^7.22.6" - "@babel/helper-define-polyfill-provider" "^0.6.3" - semver "^6.3.1" - -babel-plugin-polyfill-corejs3@^0.11.0: - version "0.11.1" - resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.11.1.tgz#4e4e182f1bb37c7ba62e2af81d8dd09df31344f6" - integrity sha512-yGCqvBT4rwMczo28xkH/noxJ6MZ4nJfkVYdoDaC/utLtWrXxv27HVrzAeSbqR8SxDsp46n0YF47EbHoixy6rXQ== +axios@^1.7.0: + version "1.15.2" + resolved "https://registry.yarnpkg.com/axios/-/axios-1.15.2.tgz#eb8fb6d30349abace6ade5b4cb4d9e8a0dc23e5b" + integrity sha512-wLrXxPtcrPTsNlJmKjkPnNPK2Ihe0hn0wGSaTEiHRPxwjvJwT3hKmXF4dpqxmPO9SoNb2FsYXj/xEo0gHN+D5A== dependencies: - "@babel/helper-define-polyfill-provider" "^0.6.3" - core-js-compat "^3.40.0" - -babel-plugin-polyfill-regenerator@^0.6.1: - version "0.6.3" - resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.6.3.tgz#abeb1f3f1c762eace37587f42548b08b57789bc8" - integrity sha512-LiWSbl4CRSIa5x/JAU6jZiG9eit9w6mz+yVMFwDE83LAWvt0AfGBoZ7HS/mkhrKuh2ZlzfVZYKoLjXdqw6Yt7Q== - dependencies: - "@babel/helper-define-polyfill-provider" "^0.6.3" - -babel-preset-current-node-syntax@^1.0.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/babel-preset-current-node-syntax/-/babel-preset-current-node-syntax-1.1.0.tgz#9a929eafece419612ef4ae4f60b1862ebad8ef30" - integrity sha512-ldYss8SbBlWva1bs28q78Ju5Zq1F+8BrqBZZ0VFhLBvhh6lCpC2o3gDJi/5DRLs9FgYZCnmPYIVFU4lRXCkyUw== - dependencies: - "@babel/plugin-syntax-async-generators" "^7.8.4" - "@babel/plugin-syntax-bigint" "^7.8.3" - "@babel/plugin-syntax-class-properties" "^7.12.13" - "@babel/plugin-syntax-class-static-block" "^7.14.5" - "@babel/plugin-syntax-import-attributes" "^7.24.7" - "@babel/plugin-syntax-import-meta" "^7.10.4" - "@babel/plugin-syntax-json-strings" "^7.8.3" - "@babel/plugin-syntax-logical-assignment-operators" "^7.10.4" - "@babel/plugin-syntax-nullish-coalescing-operator" "^7.8.3" - "@babel/plugin-syntax-numeric-separator" "^7.10.4" - "@babel/plugin-syntax-object-rest-spread" "^7.8.3" - "@babel/plugin-syntax-optional-catch-binding" "^7.8.3" - "@babel/plugin-syntax-optional-chaining" "^7.8.3" - "@babel/plugin-syntax-private-property-in-object" "^7.14.5" - "@babel/plugin-syntax-top-level-await" "^7.14.5" - -babel-preset-jest@^29.6.3: - version "29.6.3" - resolved "https://registry.yarnpkg.com/babel-preset-jest/-/babel-preset-jest-29.6.3.tgz#fa05fa510e7d493896d7b0dd2033601c840f171c" - integrity sha512-0B3bhxR6snWXJZtR/RliHTDPRgn1sNHOR0yVtq/IiQFyuOVjFS+wuio/R4gSNkyYmKmJB4wGZv2NZanmKmTnNA== - dependencies: - babel-plugin-jest-hoist "^29.6.3" - babel-preset-current-node-syntax "^1.0.0" + follow-redirects "^1.15.11" + form-data "^4.0.5" + proxy-from-env "^2.1.0" balanced-match@^1.0.0: version "1.0.2" resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.2.tgz#e83e3a7e3f300b34cb9d87f615fa0cbf357690ee" integrity sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw== +balanced-match@^4.0.2: + version "4.0.4" + resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-4.0.4.tgz#bfb10662feed8196a2c62e7c68e17720c274179a" + integrity sha512-BLrgEcRTwX2o6gGxGOCNyMvGSp35YofuYzw9h1IMTRmKqttAZZVU67bdb9Pr2vUHA8+j3i2tJfjO6C6+4myGTA== + base64-js@^1.3.0: version "1.5.1" resolved "https://registry.yarnpkg.com/base64-js/-/base64-js-1.5.1.tgz#1b1b440160a5bf7ad40b650f095963481903930a" @@ -1741,76 +768,36 @@ bignumber.js@^9.0.0: resolved "https://registry.yarnpkg.com/bignumber.js/-/bignumber.js-9.3.1.tgz#759c5aaddf2ffdc4f154f7b493e1c8770f88c4d7" integrity sha512-Ko0uX15oIUS7wJ3Rb30Fs6SkVbLmPBAKdlm7q9+ak9bbIeFf0MwuBsQV6z7+X768/cHsfg+WlysDWJcmthjsjQ== -"blaise-iap-node-provider@git+https://github.com/ONSdigital/blaise-iap-node-provider.git#2.0.2": - version "2.0.2-4894" - resolved "git+https://github.com/ONSdigital/blaise-iap-node-provider.git#6b01fd961794c17fb2162c0520ab79878059c57c" +"blaise-iap-node-provider@git+https://github.com/ONSdigital/blaise-iap-node-provider.git#BLAIS5-5177": + version "1.0.0" + resolved "git+https://github.com/ONSdigital/blaise-iap-node-provider.git#7d713cb32ed200eeac088356ad41291334179909" dependencies: - "@babel/preset-env" "^7.26.9" - "@types/jsonwebtoken" "^8.5.5" - axios "^1.13.2" - google-auth-library "^10.5.0" + "@types/node" "^25.6.0" + google-auth-library "^10.6.2" jsonwebtoken "^9.0.3" - path-parse "^1.0.7" + typescript "^6.0.3" -brace-expansion@^1.1.7, brace-expansion@^2.0.1, brace-expansion@^2.0.2: - version "2.0.2" - resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-2.0.2.tgz#54fc53237a613d854c7bd37463aad17df87214e7" - integrity sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ== +brace-expansion@^1.1.7: + version "1.1.14" + resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.14.tgz#d9de602370d91347cd9ddad1224d4fd701eb348b" + integrity sha512-MWPGfDxnyzKU7rNOW9SP/c50vi3xrmrua/+6hfPbCS2ABNWfx24vPidzvC7krjU/RTo235sV776ymlsMtGKj8g== dependencies: balanced-match "^1.0.0" + concat-map "0.0.1" -braces@^3.0.3: - version "3.0.3" - resolved "https://registry.yarnpkg.com/braces/-/braces-3.0.3.tgz#490332f40919452272d55a8480adc0c441358789" - integrity sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA== - dependencies: - fill-range "^7.1.1" - -browserslist@^4.22.2: - version "4.22.2" - resolved "https://registry.npmjs.org/browserslist/-/browserslist-4.22.2.tgz" - integrity sha512-0UgcrvQmBDvZHFGdYUehrCNIazki7/lUP3kkoi/r3YB2amZbFM9J43ZRkJTXBUZK4gmx56+Sqk9+Vs9mwZx9+A== +brace-expansion@^5.0.5: + version "5.0.5" + resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-5.0.5.tgz#dcc3a37116b79f3e1b46db994ced5d570e930fdb" + integrity sha512-VZznLgtwhn+Mact9tfiwx64fA9erHH/MCXEUfB/0bX/6Fz6ny5EGTXYltMocqg4xFAQZtnO3DHWWXi8RiuN7cQ== dependencies: - caniuse-lite "^1.0.30001565" - electron-to-chromium "^1.4.601" - node-releases "^2.0.14" - update-browserslist-db "^1.0.13" - -browserslist@^4.24.0, browserslist@^4.24.3: - version "4.24.4" - resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.24.4.tgz#c6b2865a3f08bcb860a0e827389003b9fe686e4b" - integrity sha512-KDi1Ny1gSePi1vm0q4oxSF8b4DR44GF4BbmS2YdhPLOEqd8pDviZOGH/GsmRwoWJ2+5Lr085X7naowMwKHDG1A== - dependencies: - caniuse-lite "^1.0.30001688" - electron-to-chromium "^1.5.73" - node-releases "^2.0.19" - update-browserslist-db "^1.1.1" - -bs-logger@^0.2.6: - version "0.2.6" - resolved "https://registry.yarnpkg.com/bs-logger/-/bs-logger-0.2.6.tgz#eb7d365307a72cf974cc6cda76b68354ad336bd8" - integrity sha512-pd8DCoxmbgc7hyPKOvxtqNcjYoOsABPQdcCUjGp3d42VR2CX1ORhk2A87oqqu5R1kk+76nsxZupkmyd+MVtCog== - dependencies: - fast-json-stable-stringify "2.x" - -bser@2.1.1: - version "2.1.1" - resolved "https://registry.yarnpkg.com/bser/-/bser-2.1.1.tgz#e6787da20ece9d07998533cfd9de6f5c38f4bc05" - integrity sha512-gQxTNE/GAfIIrmHLUE3oJyp5FO6HRBfhjnw4/wMmA63ZGDJnWBmgY/lyQBpnDUkGmAhbSe39tx2d/iTOAfglwQ== - dependencies: - node-int64 "^0.4.0" + balanced-match "^4.0.2" buffer-equal-constant-time@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/buffer-equal-constant-time/-/buffer-equal-constant-time-1.0.1.tgz#f8e71132f7ffe6e01a5c9697a4c6f3e48d5cc819" integrity sha512-zRpUiDwd/xk6ADqPMATG8vc9VPrkck7T07OIx0gnjmJAnHnTVXNQG3vfvWNuiZIkwu9KrKdA1iJKfsfTVxE6NA== -buffer-from@^1.0.0: - version "1.1.2" - resolved "https://registry.yarnpkg.com/buffer-from/-/buffer-from-1.1.2.tgz#2b146a6fd72e80b4f55d255f35ed59a3a9a41bd5" - integrity sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ== - -call-bind-apply-helpers@^1.0.0, call-bind-apply-helpers@^1.0.1, call-bind-apply-helpers@^1.0.2: +call-bind-apply-helpers@^1.0.1, call-bind-apply-helpers@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/call-bind-apply-helpers/-/call-bind-apply-helpers-1.0.2.tgz#4b5428c222be985d79c3d82657479dbe0b59b2d6" integrity sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ== @@ -1818,103 +805,28 @@ call-bind-apply-helpers@^1.0.0, call-bind-apply-helpers@^1.0.1, call-bind-apply- es-errors "^1.3.0" function-bind "^1.1.2" -call-bind@^1.0.0: - version "1.0.8" - resolved "https://registry.yarnpkg.com/call-bind/-/call-bind-1.0.8.tgz#0736a9660f537e3388826f440d5ec45f744eaa4c" - integrity sha512-oKlSFMcMwpUg2ednkhQ454wfWiU/ul3CkJe/PEHcTKuiX6RpbehUiFMXu13HalGZxfUwCQzZG747YXBn1im9ww== +call-bind@^1.0.7, call-bind@^1.0.8, call-bind@^1.0.9: + version "1.0.9" + resolved "https://registry.yarnpkg.com/call-bind/-/call-bind-1.0.9.tgz#39a644700c80bc7d0ca9102fc6d1d43b2fd7eee7" + integrity sha512-a/hy+pNsFUTR+Iz8TCJvXudKVLAnz/DyeSUo10I5yvFDQJBFU2s9uqQpoSrJlroHUKoKqzg+epxyP9lqFdzfBQ== dependencies: - call-bind-apply-helpers "^1.0.0" - es-define-property "^1.0.0" - get-intrinsic "^1.2.4" + call-bind-apply-helpers "^1.0.2" + es-define-property "^1.0.1" + get-intrinsic "^1.3.0" set-function-length "^1.2.2" -call-bind@^1.0.2, call-bind@^1.0.4, call-bind@^1.0.5: - version "1.0.5" - resolved "https://registry.npmjs.org/call-bind/-/call-bind-1.0.5.tgz" - integrity sha512-C3nQxfFZxFRVoJoGKKI8y3MOEo129NQ+FgQ08iye+Mk4zNZZGdjfs06bVTr+DBSlA66Q2VEcMki/cUCP4SercQ== - dependencies: - function-bind "^1.1.2" - get-intrinsic "^1.2.1" - set-function-length "^1.1.1" - -callsites@^3.0.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/callsites/-/callsites-3.1.0.tgz#b3630abd8943432f54b3f0519238e33cd7df2f73" - integrity sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ== - -camelcase@^5.3.1: - version "5.3.1" - resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-5.3.1.tgz#e3c9b31569e106811df242f715725a1f4c494320" - integrity sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg== - -camelcase@^6.2.0: - version "6.3.0" - resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-6.3.0.tgz#5685b95eb209ac9c0c177467778c9c84df58ba9a" - integrity sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA== - -caniuse-lite@^1.0.30001565: - version "1.0.30001574" - resolved "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001574.tgz" - integrity sha512-BtYEK4r/iHt/txm81KBudCUcTy7t+s9emrIaHqjYurQ10x71zJ5VQ9x1dYPcz/b+pKSp4y/v1xSI67A+LzpNyg== - -caniuse-lite@^1.0.30001688: - version "1.0.30001701" - resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001701.tgz#ad9c90301f7153cf6b3314d16cc30757285bf9e7" - integrity sha512-faRs/AW3jA9nTwmJBSO1PQ6L/EOgsB5HMQQq4iCu5zhPgVVgO/pZRHlmatwijZKetFw8/Pr4q6dEN8sJuq8qTw== - -chalk@^4.0.0, chalk@^4.0.2: - version "4.1.2" - resolved "https://registry.yarnpkg.com/chalk/-/chalk-4.1.2.tgz#aac4e2b7734a740867aeb16bf02aad556a1e7a01" - integrity sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA== - dependencies: - ansi-styles "^4.1.0" - supports-color "^7.1.0" - -char-regex@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/char-regex/-/char-regex-1.0.2.tgz#d744358226217f981ed58f479b1d6bcc29545dcf" - integrity sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw== - -ci-info@^3.2.0: - version "3.9.0" - resolved "https://registry.yarnpkg.com/ci-info/-/ci-info-3.9.0.tgz#4279a62028a7b1f262f3473fc9605f5e218c59b4" - integrity sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ== - -cjs-module-lexer@^1.0.0: - version "1.4.3" - resolved "https://registry.yarnpkg.com/cjs-module-lexer/-/cjs-module-lexer-1.4.3.tgz#0f79731eb8cfe1ec72acd4066efac9d61991b00d" - integrity sha512-9z8TZaGM1pfswYeXrUpzPrkx8UnWYdhJclsiYMm6x/w5+nN+8Tf/LnAgfLGQCm59qAOxU8WwHEq2vNwF6i4j+Q== - -cliui@^8.0.1: - version "8.0.1" - resolved "https://registry.yarnpkg.com/cliui/-/cliui-8.0.1.tgz#0c04b075db02cbfe60dc8e6cf2f5486b1a3608aa" - integrity sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ== - dependencies: - string-width "^4.2.0" - strip-ansi "^6.0.1" - wrap-ansi "^7.0.0" - -co@^4.6.0: - version "4.6.0" - resolved "https://registry.yarnpkg.com/co/-/co-4.6.0.tgz#6ea6bdf3d853ae54ccb8e47bfa0bf3f9031fb184" - integrity sha512-QVb0dM5HvG+uaxitm8wONl7jltx8dqhfU33DcqtOZcLSVIKSDDLDi7+0LbAKiyI8hD9u42m2YxXSkMGWThaecQ== - -collect-v8-coverage@^1.0.0: - version "1.0.2" - resolved "https://registry.yarnpkg.com/collect-v8-coverage/-/collect-v8-coverage-1.0.2.tgz#c0b29bcd33bcd0779a1344c2136051e6afd3d9e9" - integrity sha512-lHl4d5/ONEbLlJvaJNtsF/Lz+WvB07u2ycqTYbdrq7UypDXailES4valYb2eWiJFxZlVmpGekfqoxQhzyFdT4Q== - -color-convert@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-2.0.1.tgz#72d3a68d598c9bdb3af2ad1e84f21d896abd4de3" - integrity sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ== +call-bound@^1.0.2, call-bound@^1.0.3, call-bound@^1.0.4: + version "1.0.4" + resolved "https://registry.yarnpkg.com/call-bound/-/call-bound-1.0.4.tgz#238de935d2a2a692928c538c7ccfa91067fd062a" + integrity sha512-+ys997U96po4Kx/ABpBCqhA9EuxJaQWDQg7295H4hBphv3IZg0boBKuwYpt4YXp6MZ5AmZQnU/tyMTlRpaSejg== dependencies: - color-name "~1.1.4" + call-bind-apply-helpers "^1.0.2" + get-intrinsic "^1.3.0" -color-name@~1.1.4: - version "1.1.4" - resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.4.tgz#c2a09a87acbde69543de6f63fa3995c826c536a2" - integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA== +chai@^6.2.2: + version "6.2.2" + resolved "https://registry.yarnpkg.com/chai/-/chai-6.2.2.tgz#ae41b52c9aca87734505362717f3255facda360e" + integrity sha512-NUPRluOfOiTKBKvWPtSD4PhFvWCqOi0BGStNWs57X9js7XGTprSmFoz5F0tWhR4WPjNeR9jXqdC7/UpSJTnlRg== combined-stream@^1.0.8: version "1.0.8" @@ -1923,37 +835,17 @@ combined-stream@^1.0.8: dependencies: delayed-stream "~1.0.0" -confusing-browser-globals@^1.0.10: - version "1.0.11" - resolved "https://registry.npmjs.org/confusing-browser-globals/-/confusing-browser-globals-1.0.11.tgz" - integrity sha512-JsPKdmh8ZkmnHxDk55FZ1TqVLvEQTvoByJZRN9jzI0UjxK/QgAmsphz7PGtqgPieQZ/CQcHWXCR7ATDNhGe+YA== +concat-map@0.0.1: + version "0.0.1" + resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" + integrity sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg== convert-source-map@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-2.0.0.tgz#4b560f649fc4e918dd0ab75cf4961e8bc882d82a" integrity sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg== -core-js-compat@^3.40.0: - version "3.40.0" - resolved "https://registry.yarnpkg.com/core-js-compat/-/core-js-compat-3.40.0.tgz#7485912a5a4a4315c2fdb2cbdc623e6881c88b38" - integrity sha512-0XEDpr5y5mijvw8Lbc6E5AkjrHfp7eEoPlu36SWeAbcL8fn1G1ANe8DBlo2XoNN89oVpxWwOjYIPVzR4ZvsKCQ== - dependencies: - browserslist "^4.24.3" - -create-jest@^29.7.0: - version "29.7.0" - resolved "https://registry.yarnpkg.com/create-jest/-/create-jest-29.7.0.tgz#a355c5b3cb1e1af02ba177fe7afd7feee49a5320" - integrity sha512-Adz2bdH0Vq3F53KEMJOoftQFutWCukm6J24wbPWRO4k1kMY7gS7ds/uoJkNuV8wDCtWWnuwGcJwpWcih+zEW1Q== - dependencies: - "@jest/types" "^29.6.3" - chalk "^4.0.0" - exit "^0.1.2" - graceful-fs "^4.2.9" - jest-config "^29.7.0" - jest-util "^29.7.0" - prompts "^2.0.1" - -cross-spawn@^7.0.2, cross-spawn@^7.0.3, cross-spawn@^7.0.6: +cross-spawn@^7.0.6: version "7.0.6" resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-7.0.6.tgz#8a58fe78f00dcd70c370451759dfbfaf03e8ee9f" integrity sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA== @@ -1967,7 +859,34 @@ data-uri-to-buffer@^4.0.0: resolved "https://registry.yarnpkg.com/data-uri-to-buffer/-/data-uri-to-buffer-4.0.1.tgz#d8feb2b2881e6a4f58c2e08acfd0e2834e26222e" integrity sha512-0R9ikRb668HB7QDxT1vkpuUBtqc53YyAwMwGeUFKRojY/NWKvdZ+9UYtRfGmhqNbRkTSVpMbmyhXipFFv2cb/A== -debug@4: +data-view-buffer@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/data-view-buffer/-/data-view-buffer-1.0.2.tgz#211a03ba95ecaf7798a8c7198d79536211f88570" + integrity sha512-EmKO5V3OLXh1rtK2wgXRansaK1/mtVdTUEiEI0W8RkvgT05kfxaH29PliLnpLP73yYO6142Q72QNa8Wx/A5CqQ== + dependencies: + call-bound "^1.0.3" + es-errors "^1.3.0" + is-data-view "^1.0.2" + +data-view-byte-length@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/data-view-byte-length/-/data-view-byte-length-1.0.2.tgz#9e80f7ca52453ce3e93d25a35318767ea7704735" + integrity sha512-tuhGbE6CfTM9+5ANGf+oQb72Ky/0+s3xKUpHvShfiz2RxMFgFPjsXuRLBVMtvMs15awe45SRb83D6wH4ew6wlQ== + dependencies: + call-bound "^1.0.3" + es-errors "^1.3.0" + is-data-view "^1.0.2" + +data-view-byte-offset@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/data-view-byte-offset/-/data-view-byte-offset-1.0.1.tgz#068307f9b71ab76dbbe10291389e020856606191" + integrity sha512-BS8PfmtDGnrgYdOonGZQdLZslWIeCGFP9tpan0hi1Co2Zr2NKADsvGYA8XxuG/4UWgJ6Cjtv+YJnB6MM69QGlQ== + dependencies: + call-bound "^1.0.2" + es-errors "^1.3.0" + is-data-view "^1.0.1" + +debug@4, debug@^4.3.1, debug@^4.3.2, debug@^4.4.1, debug@^4.4.3: version "4.4.3" resolved "https://registry.yarnpkg.com/debug/-/debug-4.4.3.tgz#c6ae432d9bd9662582fce08709b038c58e9e3d6a" integrity sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA== @@ -1976,50 +895,17 @@ debug@4: debug@^3.2.7: version "3.2.7" - resolved "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz" + resolved "https://registry.yarnpkg.com/debug/-/debug-3.2.7.tgz#72580b7e9145fb39b6676f9c5e5fb100b934179a" integrity sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ== dependencies: ms "^2.1.1" -debug@^4.1.0, debug@^4.1.1, debug@^4.3.1, debug@^4.3.4: - version "4.4.0" - resolved "https://registry.yarnpkg.com/debug/-/debug-4.4.0.tgz#2b3f2aea2ffeb776477460267377dc8710faba8a" - integrity sha512-6WTZ/IxCY/T6BALoZHaE4ctp9xm+Z5kY/pzYaCHRFeyVhojxlrm+46y68HA6hr0TcwEssoxNiDEUJQjfPZ/RYA== - dependencies: - ms "^2.1.3" - -debug@^4.3.2: - version "4.3.3" - resolved "https://registry.npmjs.org/debug/-/debug-4.3.3.tgz" - integrity sha512-/zxw5+vh1Tfv+4Qn7a5nsbcJKPaSvCDhojn6FEl9vupwK2VCSDtEiEtqr8DFtzYFOdz63LBkxec7DYuc2jon6Q== - dependencies: - ms "2.1.2" - -dedent@^1.0.0: - version "1.5.3" - resolved "https://registry.yarnpkg.com/dedent/-/dedent-1.5.3.tgz#99aee19eb9bae55a67327717b6e848d0bf777e5a" - integrity sha512-NHQtfOOW68WD8lgypbLA5oT+Bt0xXJhiYvoR6SmmNXZfpzOGXwdKWmcwG8N7PwVVWV3eF/68nmD9BaJSsTBhyQ== - deep-is@^0.1.3: - version "0.1.3" - resolved "https://registry.npmjs.org/deep-is/-/deep-is-0.1.3.tgz" - integrity sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ= - -deepmerge@^4.2.2: - version "4.3.1" - resolved "https://registry.yarnpkg.com/deepmerge/-/deepmerge-4.3.1.tgz#44b5f2147cd3b00d4b56137685966f26fd25dd4a" - integrity sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A== - -define-data-property@^1.0.1, define-data-property@^1.1.1: - version "1.1.1" - resolved "https://registry.npmjs.org/define-data-property/-/define-data-property-1.1.1.tgz" - integrity sha512-E7uGkTzkk1d0ByLeSc6ZsFS79Axg+m1P/VsgYsxHgiuc3tFSj+MjMIwe90FC4lOAZzNBdY7kkO2P2wKdsQ1vgQ== - dependencies: - get-intrinsic "^1.2.1" - gopd "^1.0.1" - has-property-descriptors "^1.0.0" + version "0.1.4" + resolved "https://registry.yarnpkg.com/deep-is/-/deep-is-0.1.4.tgz#a6f2dce612fadd2ef1f519b73551f17e85199831" + integrity sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ== -define-data-property@^1.1.4: +define-data-property@^1.0.1, define-data-property@^1.1.4: version "1.1.4" resolved "https://registry.yarnpkg.com/define-data-property/-/define-data-property-1.1.4.tgz#894dc141bb7d3060ae4366f6a0107e68fbe48c5e" integrity sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A== @@ -2028,9 +914,9 @@ define-data-property@^1.1.4: es-errors "^1.3.0" gopd "^1.0.1" -define-properties@^1.1.3, define-properties@^1.2.0, define-properties@^1.2.1: +define-properties@^1.2.1: version "1.2.1" - resolved "https://registry.npmjs.org/define-properties/-/define-properties-1.2.1.tgz" + resolved "https://registry.yarnpkg.com/define-properties/-/define-properties-1.2.1.tgz#10781cc616eb951a80a034bafcaa7377f6af2b6c" integrity sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg== dependencies: define-data-property "^1.0.1" @@ -2042,43 +928,19 @@ delayed-stream@~1.0.0: resolved "https://registry.yarnpkg.com/delayed-stream/-/delayed-stream-1.0.0.tgz#df3ae199acadfb7d440aaae0b29e2272b24ec619" integrity sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ== -detect-newline@^3.0.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/detect-newline/-/detect-newline-3.1.0.tgz#576f5dfc63ae1a192ff192d8ad3af6308991b651" - integrity sha512-TLz+x/vEXm/Y7P7wn1EJFNLxYpUD4TgMosxY6fAVJUnJMbupHBOncxyWUG9OpTaH9EBD7uFI5LfEgmMOc54DsA== - -diff-sequences@^27.5.1: - version "27.5.1" - resolved "https://registry.yarnpkg.com/diff-sequences/-/diff-sequences-27.5.1.tgz#eaecc0d327fd68c8d9672a1e64ab8dccb2ef5327" - integrity sha512-k1gCAXAsNgLwEL+Y8Wvl+M6oEFj5bgazfZULpS5CneoPPXRaCCW7dm+q21Ky2VEE5X+VeRDBVg1Pcvvsr4TtNQ== - -diff-sequences@^29.6.3: - version "29.6.3" - resolved "https://registry.yarnpkg.com/diff-sequences/-/diff-sequences-29.6.3.tgz#4deaf894d11407c51efc8418012f9e70b84ea921" - integrity sha512-EjePK1srD3P08o2j4f0ExnylqRs5B9tJjcp9t1krH2qRi8CCdsYfwe9JgSLurFBWwq4uOlipzfk5fHNvwFKr8Q== - -dir-glob@^3.0.1: - version "3.0.1" - resolved "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz" - integrity sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA== - dependencies: - path-type "^4.0.0" +detect-libc@^2.0.3: + version "2.1.2" + resolved "https://registry.yarnpkg.com/detect-libc/-/detect-libc-2.1.2.tgz#689c5dcdc1900ef5583a4cb9f6d7b473742074ad" + integrity sha512-Btj2BOOO83o3WyH59e8MgXsxEQVcarkUOpEYrubB0urwnN10yQ364rsiByU11nZlqWYZm05i/of7io4mzihBtQ== doctrine@^2.1.0: version "2.1.0" - resolved "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz" + resolved "https://registry.yarnpkg.com/doctrine/-/doctrine-2.1.0.tgz#5cd01fc101621b42c4cd7f5d1a66243716d3f39d" integrity sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw== dependencies: esutils "^2.0.2" -doctrine@^3.0.0: - version "3.0.0" - resolved "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz" - integrity sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w== - dependencies: - esutils "^2.0.2" - -dunder-proto@^1.0.1: +dunder-proto@^1.0.0, dunder-proto@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/dunder-proto/-/dunder-proto-1.0.1.tgz#d7ae667e1dc83482f8b70fd0f6eefc50da30f58a" integrity sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A== @@ -2087,11 +949,6 @@ dunder-proto@^1.0.1: es-errors "^1.3.0" gopd "^1.2.0" -eastasianwidth@^0.2.0: - version "0.2.0" - resolved "https://registry.yarnpkg.com/eastasianwidth/-/eastasianwidth-0.2.0.tgz#696ce2ec0aa0e6ea93a397ffcf24aa7840c827cb" - integrity sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA== - ecdsa-sig-formatter@1.0.11, ecdsa-sig-formatter@^1.0.11: version "1.0.11" resolved "https://registry.yarnpkg.com/ecdsa-sig-formatter/-/ecdsa-sig-formatter-1.0.11.tgz#ae0f0fa2d85045ef14a817daa3ce9acd0489e5bf" @@ -2099,89 +956,65 @@ ecdsa-sig-formatter@1.0.11, ecdsa-sig-formatter@^1.0.11: dependencies: safe-buffer "^5.0.1" -ejs@^3.1.10: - version "3.1.10" - resolved "https://registry.yarnpkg.com/ejs/-/ejs-3.1.10.tgz#69ab8358b14e896f80cc39e62087b88500c3ac3b" - integrity sha512-UeJmFfOrAQS8OJWPZ4qtgHyWExa088/MtK5UEyoJGFH67cDEXkZSviOiKRCZ4Xij0zxI3JECgYs3oKx+AizQBA== - dependencies: - jake "^10.8.5" - -electron-to-chromium@^1.4.601: - version "1.4.620" - resolved "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.620.tgz" - integrity sha512-a2fcSHOHrqBJsPNXtf6ZCEZpXrFCcbK1FBxfX3txoqWzNgtEDG1f3M59M98iwxhRW4iMKESnSjbJ310/rkrp0g== - -electron-to-chromium@^1.5.73: - version "1.5.107" - resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.5.107.tgz#0a12a0b50e6f925cde8bf9c16c13d514c54c694b" - integrity sha512-dJr1o6yCntRkXElnhsHh1bAV19bo/hKyFf7tCcWgpXbuFIF0Lakjgqv5LRfSDaNzAII8Fnxg2tqgHkgCvxdbxw== - -emittery@^0.13.1: - version "0.13.1" - resolved "https://registry.yarnpkg.com/emittery/-/emittery-0.13.1.tgz#c04b8c3457490e0847ae51fced3af52d338e3dad" - integrity sha512-DeWwawk6r5yR9jFgnDKYt4sLS0LmHJJi3ZOnb5/JdbYwj3nW+FxQnHIjhBKz8YLC7oRNPVM9NQ47I3CVx34eqQ== - -emoji-regex@^8.0.0: - version "8.0.0" - resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-8.0.0.tgz#e818fd69ce5ccfcb404594f842963bf53164cc37" - integrity sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A== - -emoji-regex@^9.2.2: - version "9.2.2" - resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-9.2.2.tgz#840c8803b0d8047f4ff0cf963176b32d4ef3ed72" - integrity sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg== - -error-ex@^1.3.1: - version "1.3.2" - resolved "https://registry.yarnpkg.com/error-ex/-/error-ex-1.3.2.tgz#b4ac40648107fdcdcfae242f428bea8a14d4f1bf" - integrity sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g== - dependencies: - is-arrayish "^0.2.1" - -es-abstract@^1.22.1: - version "1.22.3" - resolved "https://registry.npmjs.org/es-abstract/-/es-abstract-1.22.3.tgz" - integrity sha512-eiiY8HQeYfYH2Con2berK+To6GrK2RxbPawDkGq4UiCQQfZHb6wX9qQqkbpPqaxQFcl8d9QzZqo0tGE0VcrdwA== - dependencies: - array-buffer-byte-length "^1.0.0" - arraybuffer.prototype.slice "^1.0.2" - available-typed-arrays "^1.0.5" - call-bind "^1.0.5" - es-set-tostringtag "^2.0.1" - es-to-primitive "^1.2.1" - function.prototype.name "^1.1.6" - get-intrinsic "^1.2.2" - get-symbol-description "^1.0.0" - globalthis "^1.0.3" - gopd "^1.0.1" - has-property-descriptors "^1.0.0" - has-proto "^1.0.1" - has-symbols "^1.0.3" - hasown "^2.0.0" - internal-slot "^1.0.5" - is-array-buffer "^3.0.2" +es-abstract@^1.23.2, es-abstract@^1.23.5, es-abstract@^1.23.9, es-abstract@^1.24.0: + version "1.24.2" + resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.24.2.tgz#2dbd38c180735ee983f77585140a2706a963ed9a" + integrity sha512-2FpH9Q5i2RRwyEP1AylXe6nYLR5OhaJTZwmlcP0dL/+JCbgg7yyEo/sEK6HeGZRf3dFpWwThaRHVApXSkW3xeg== + dependencies: + array-buffer-byte-length "^1.0.2" + arraybuffer.prototype.slice "^1.0.4" + available-typed-arrays "^1.0.7" + call-bind "^1.0.8" + call-bound "^1.0.4" + data-view-buffer "^1.0.2" + data-view-byte-length "^1.0.2" + data-view-byte-offset "^1.0.1" + es-define-property "^1.0.1" + es-errors "^1.3.0" + es-object-atoms "^1.1.1" + es-set-tostringtag "^2.1.0" + es-to-primitive "^1.3.0" + function.prototype.name "^1.1.8" + get-intrinsic "^1.3.0" + get-proto "^1.0.1" + get-symbol-description "^1.1.0" + globalthis "^1.0.4" + gopd "^1.2.0" + has-property-descriptors "^1.0.2" + has-proto "^1.2.0" + has-symbols "^1.1.0" + hasown "^2.0.2" + internal-slot "^1.1.0" + is-array-buffer "^3.0.5" is-callable "^1.2.7" - is-negative-zero "^2.0.2" - is-regex "^1.1.4" - is-shared-array-buffer "^1.0.2" - is-string "^1.0.7" - is-typed-array "^1.1.12" - is-weakref "^1.0.2" - object-inspect "^1.13.1" + is-data-view "^1.0.2" + is-negative-zero "^2.0.3" + is-regex "^1.2.1" + is-set "^2.0.3" + is-shared-array-buffer "^1.0.4" + is-string "^1.1.1" + is-typed-array "^1.1.15" + is-weakref "^1.1.1" + math-intrinsics "^1.1.0" + object-inspect "^1.13.4" object-keys "^1.1.1" - object.assign "^4.1.4" - regexp.prototype.flags "^1.5.1" - safe-array-concat "^1.0.1" - safe-regex-test "^1.0.0" - string.prototype.trim "^1.2.8" - string.prototype.trimend "^1.0.7" - string.prototype.trimstart "^1.0.7" - typed-array-buffer "^1.0.0" - typed-array-byte-length "^1.0.0" - typed-array-byte-offset "^1.0.0" - typed-array-length "^1.0.4" - unbox-primitive "^1.0.2" - which-typed-array "^1.1.13" + object.assign "^4.1.7" + own-keys "^1.0.1" + regexp.prototype.flags "^1.5.4" + safe-array-concat "^1.1.3" + safe-push-apply "^1.0.0" + safe-regex-test "^1.1.0" + set-proto "^1.0.0" + stop-iteration-iterator "^1.1.0" + string.prototype.trim "^1.2.10" + string.prototype.trimend "^1.0.9" + string.prototype.trimstart "^1.0.8" + typed-array-buffer "^1.0.3" + typed-array-byte-length "^1.0.3" + typed-array-byte-offset "^1.0.4" + typed-array-length "^1.0.7" + unbox-primitive "^1.1.0" + which-typed-array "^1.1.19" es-define-property@^1.0.0, es-define-property@^1.0.1: version "1.0.1" @@ -2193,6 +1026,11 @@ es-errors@^1.3.0: resolved "https://registry.yarnpkg.com/es-errors/-/es-errors-1.3.0.tgz#05f75a25dab98e4fb1dcd5e1472c0546d5057c8f" integrity sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw== +es-module-lexer@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/es-module-lexer/-/es-module-lexer-2.0.0.tgz#f657cd7a9448dcdda9c070a3cb75e5dc1e85f5b1" + integrity sha512-5POEcUuZybH7IdmGsD8wlf0AI55wMecM9rVBTI/qEAy2c1kTOm3DjFYjrBdI2K3BaJjJYfYFeRtM0t9ssnRuxw== + es-object-atoms@^1.0.0, es-object-atoms@^1.1.1: version "1.1.1" resolved "https://registry.yarnpkg.com/es-object-atoms/-/es-object-atoms-1.1.1.tgz#1c4f2c4837327597ce69d2ca190a7fdd172338c1" @@ -2200,15 +1038,6 @@ es-object-atoms@^1.0.0, es-object-atoms@^1.1.1: dependencies: es-errors "^1.3.0" -es-set-tostringtag@^2.0.1: - version "2.0.2" - resolved "https://registry.npmjs.org/es-set-tostringtag/-/es-set-tostringtag-2.0.2.tgz" - integrity sha512-BuDyupZt65P9D2D2vA/zqcI3G5xRsklm5N3xCwuiy+/vKy8i0ifdsQP1sLgO4tZDSCaQUSnmC48khknGMV3D2Q== - dependencies: - get-intrinsic "^1.2.2" - has-tostringtag "^1.0.0" - hasown "^2.0.0" - es-set-tostringtag@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/es-set-tostringtag/-/es-set-tostringtag-2.1.0.tgz#f31dbbe0c183b00a6d26eb6325c810c0fd18bd4d" @@ -2219,220 +1048,202 @@ es-set-tostringtag@^2.1.0: has-tostringtag "^1.0.2" hasown "^2.0.2" -es-shim-unscopables@^1.0.0: - version "1.0.2" - resolved "https://registry.npmjs.org/es-shim-unscopables/-/es-shim-unscopables-1.0.2.tgz" - integrity sha512-J3yBRXCzDu4ULnQwxyToo/OjdMx6akgVC7K6few0a7F/0wLtmKKN7I73AH5T2836UuXRqN7Qg+IIUw/+YJksRw== +es-shim-unscopables@^1.0.2, es-shim-unscopables@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/es-shim-unscopables/-/es-shim-unscopables-1.1.0.tgz#438df35520dac5d105f3943d927549ea3b00f4b5" + integrity sha512-d9T8ucsEhh8Bi1woXCf+TIKDIROLG5WCkxg8geBCbvk22kzwC5G2OnXVMO6FUsvQlgUUXQ2itephWDLqDzbeCw== dependencies: - hasown "^2.0.0" + hasown "^2.0.2" -es-to-primitive@^1.2.1: - version "1.2.1" - resolved "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz" - integrity sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA== +es-to-primitive@^1.3.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/es-to-primitive/-/es-to-primitive-1.3.0.tgz#96c89c82cc49fd8794a24835ba3e1ff87f214e18" + integrity sha512-w+5mJ3GuFL+NjVtJlvydShqE1eN3h3PbI7/5LAsYJP/2qtuMXjfL2LpHSRqo4b4eSF5K/DH1JXKUAHSB2UW50g== dependencies: - is-callable "^1.1.4" - is-date-object "^1.0.1" - is-symbol "^1.0.2" - -escalade@^3.1.1, escalade@^3.2.0: - version "3.2.0" - resolved "https://registry.yarnpkg.com/escalade/-/escalade-3.2.0.tgz#011a3f69856ba189dffa7dc8fcce99d2a87903e5" - integrity sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA== - -escape-string-regexp@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz#a30304e99daa32e23b2fd20f51babd07cffca344" - integrity sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w== + is-callable "^1.2.7" + is-date-object "^1.0.5" + is-symbol "^1.0.4" escape-string-regexp@^4.0.0: version "4.0.0" - resolved "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz" + resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz#14ba83a5d373e3d311e5afca29cf5bfad965bf34" integrity sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA== -eslint-config-airbnb-base@^15.0.0: - version "15.0.0" - resolved "https://registry.npmjs.org/eslint-config-airbnb-base/-/eslint-config-airbnb-base-15.0.0.tgz" - integrity sha512-xaX3z4ZZIcFLvh2oUNvcX5oEofXda7giYmuplVxoOg5A7EXJMrUyqRgR+mhDhPK8LZ4PttFOBvCYDbX3sUoUig== +eslint-config-prettier@^10.1.8: + version "10.1.8" + resolved "https://registry.yarnpkg.com/eslint-config-prettier/-/eslint-config-prettier-10.1.8.tgz#15734ce4af8c2778cc32f0b01b37b0b5cd1ecb97" + integrity sha512-82GZUjRS0p/jganf6q1rEO25VSoHH0hKPCTrgillPjdI/3bgBhAE1QzHrHTizjpRvy6pGAvKjDJtk2pF9NDq8w== + +eslint-import-context@^0.1.8: + version "0.1.9" + resolved "https://registry.yarnpkg.com/eslint-import-context/-/eslint-import-context-0.1.9.tgz#967b0b2f0a90ef4b689125e088f790f0b7756dbe" + integrity sha512-K9Hb+yRaGAGUbwjhFNHvSmmkZs9+zbuoe3kFQ4V1wYjrepUFYM2dZAfNtjbbj3qsPfUfsA68Bx/ICWQMi+C8Eg== dependencies: - confusing-browser-globals "^1.0.10" - object.assign "^4.1.2" - object.entries "^1.1.5" - semver "^6.3.0" + get-tsconfig "^4.10.1" + stable-hash-x "^0.2.0" eslint-import-resolver-node@^0.3.9: - version "0.3.9" - resolved "https://registry.npmjs.org/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.9.tgz" - integrity sha512-WFj2isz22JahUv+B788TlO3N6zL3nNJGU8CcZbPZvVEkBPaJdCV4vy5wyghty5ROFbCRnm132v8BScu5/1BQ8g== + version "0.3.10" + resolved "https://registry.yarnpkg.com/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.10.tgz#84ce3005abfc300588cf23bbac1aabec1fc6e8c1" + integrity sha512-tRrKqFyCaKict5hOd244sL6EQFNycnMQnBe+j8uqGNXYzsImGbGUU4ibtoaBmv5FLwJwcFJNeg1GeVjQfbMrDQ== dependencies: debug "^3.2.7" - is-core-module "^2.13.0" - resolve "^1.22.4" - -eslint-module-utils@^2.8.0: - version "2.8.0" - resolved "https://registry.npmjs.org/eslint-module-utils/-/eslint-module-utils-2.8.0.tgz" - integrity sha512-aWajIYfsqCKRDgUfjEXNN/JlrzauMuSEy5sbd7WXbtW3EH6A6MpwEh42c7qD+MqQo9QMJ6fWLAeIJynx0g6OAw== + is-core-module "^2.16.1" + resolve "^2.0.0-next.6" + +eslint-import-resolver-typescript@^4.4.4: + version "4.4.4" + resolved "https://registry.yarnpkg.com/eslint-import-resolver-typescript/-/eslint-import-resolver-typescript-4.4.4.tgz#3e83a9c25f4a053fe20e1b07b47e04e8519a8720" + integrity sha512-1iM2zeBvrYmUNTj2vSC/90JTHDth+dfOfiNKkxApWRsTJYNrc8rOdxxIf5vazX+BiAXTeOT0UvWpGI/7qIWQOw== + dependencies: + debug "^4.4.1" + eslint-import-context "^0.1.8" + get-tsconfig "^4.10.1" + is-bun-module "^2.0.0" + stable-hash-x "^0.2.0" + tinyglobby "^0.2.14" + unrs-resolver "^1.7.11" + +eslint-module-utils@^2.12.1: + version "2.12.1" + resolved "https://registry.yarnpkg.com/eslint-module-utils/-/eslint-module-utils-2.12.1.tgz#f76d3220bfb83c057651359295ab5854eaad75ff" + integrity sha512-L8jSWTze7K2mTg0vos/RuLRS5soomksDPoJLXIslC7c8Wmut3bx7CPpJijDcBZtxQ5lrbUdM+s0OlNbz0DCDNw== dependencies: debug "^3.2.7" -eslint-plugin-import@^2.29.1: - version "2.29.1" - resolved "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.29.1.tgz" - integrity sha512-BbPC0cuExzhiMo4Ff1BTVwHpjjv28C5R+btTOGaCRC7UEz801up0JadwkeSk5Ued6TG34uaczuVuH6qyy5YUxw== +eslint-plugin-import@^2.32.0: + version "2.32.0" + resolved "https://registry.yarnpkg.com/eslint-plugin-import/-/eslint-plugin-import-2.32.0.tgz#602b55faa6e4caeaa5e970c198b5c00a37708980" + integrity sha512-whOE1HFo/qJDyX4SnXzP4N6zOWn79WhnCUY/iDR0mPfQZO8wcYE4JClzI2oZrhBnnMUCBCHZhO6VQyoBU95mZA== dependencies: - array-includes "^3.1.7" - array.prototype.findlastindex "^1.2.3" - array.prototype.flat "^1.3.2" - array.prototype.flatmap "^1.3.2" + "@rtsao/scc" "^1.1.0" + array-includes "^3.1.9" + array.prototype.findlastindex "^1.2.6" + array.prototype.flat "^1.3.3" + array.prototype.flatmap "^1.3.3" debug "^3.2.7" doctrine "^2.1.0" eslint-import-resolver-node "^0.3.9" - eslint-module-utils "^2.8.0" - hasown "^2.0.0" - is-core-module "^2.13.1" + eslint-module-utils "^2.12.1" + hasown "^2.0.2" + is-core-module "^2.16.1" is-glob "^4.0.3" minimatch "^3.1.2" - object.fromentries "^2.0.7" - object.groupby "^1.0.1" - object.values "^1.1.7" + object.fromentries "^2.0.8" + object.groupby "^1.0.3" + object.values "^1.2.1" semver "^6.3.1" + string.prototype.trimend "^1.0.9" tsconfig-paths "^3.15.0" -eslint-scope@^7.1.0: - version "7.1.0" - resolved "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.1.0.tgz" - integrity sha512-aWwkhnS0qAXqNOgKOK0dJ2nvzEbhEvpy8OlJ9kZ0FeZnA6zpjv1/Vei+puGFFX7zkPCkHHXb7IDX3A+7yPrRWg== +eslint-plugin-prettier@^5.5.5: + version "5.5.5" + resolved "https://registry.yarnpkg.com/eslint-plugin-prettier/-/eslint-plugin-prettier-5.5.5.tgz#9eae11593faa108859c26f9a9c367d619a0769c0" + integrity sha512-hscXkbqUZ2sPithAuLm5MXL+Wph+U7wHngPBv9OMWwlP8iaflyxpjTYZkmdgB4/vPIhemRlBEoLrH7UC1n7aUw== dependencies: - esrecurse "^4.3.0" - estraverse "^5.2.0" + prettier-linter-helpers "^1.0.1" + synckit "^0.11.12" -eslint-utils@^3.0.0: - version "3.0.0" - resolved "https://registry.npmjs.org/eslint-utils/-/eslint-utils-3.0.0.tgz" - integrity sha512-uuQC43IGctw68pJA1RgbQS8/NP7rch6Cwd4j3ZBtgo4/8Flj4eGE7ZYSZRN3iq5pVUv6GPdW5Z1RFleo84uLDA== +eslint-scope@^9.1.2: + version "9.1.2" + resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-9.1.2.tgz#b9de6ace2fab1cff24d2e58d85b74c8fcea39802" + integrity sha512-xS90H51cKw0jltxmvmHy2Iai1LIqrfbw57b79w/J7MfvDfkIkFZ+kj6zC3BjtUwh150HsSSdxXZcsuv72miDFQ== dependencies: - eslint-visitor-keys "^2.0.0" - -eslint-visitor-keys@^2.0.0: - version "2.1.0" - resolved "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz" - integrity sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw== - -eslint-visitor-keys@^3.1.0, eslint-visitor-keys@^3.2.0: - version "3.2.0" - resolved "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.2.0.tgz" - integrity sha512-IOzT0X126zn7ALX0dwFiUQEdsfzrm4+ISsQS8nukaJXwEyYKRSnEIIDULYg1mCtGp7UUXgfGl7BIolXREQK+XQ== + "@types/esrecurse" "^4.3.1" + "@types/estree" "^1.0.8" + esrecurse "^4.3.0" + estraverse "^5.2.0" -eslint-visitor-keys@^3.4.1, eslint-visitor-keys@^3.4.3: +eslint-visitor-keys@^3.4.3: version "3.4.3" resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz#0cd72fe8550e3c2eae156a96a4dddcd1c8ac5800" integrity sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag== -eslint@^8.8.0: - version "8.8.0" - resolved "https://registry.npmjs.org/eslint/-/eslint-8.8.0.tgz" - integrity sha512-H3KXAzQGBH1plhYS3okDix2ZthuYJlQQEGE5k0IKuEqUSiyu4AmxxlJ2MtTYeJ3xB4jDhcYCwGOg2TXYdnDXlQ== - dependencies: - "@eslint/eslintrc" "^1.0.5" - "@humanwhocodes/config-array" "^0.9.2" - ajv "^6.10.0" - chalk "^4.0.0" - cross-spawn "^7.0.2" +eslint-visitor-keys@^5.0.0, eslint-visitor-keys@^5.0.1: + version "5.0.1" + resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-5.0.1.tgz#9e3c9489697824d2d4ce3a8ad12628f91e9f59be" + integrity sha512-tD40eHxA35h0PEIZNeIjkHoDR4YjjJp34biM0mDvplBe//mB+IHCqHDGV7pxF+7MklTvighcCPPZC7ynWyjdTA== + +eslint@^10.2.1: + version "10.2.1" + resolved "https://registry.yarnpkg.com/eslint/-/eslint-10.2.1.tgz#224b2a6caeb34473eddcf918762363e2e063222a" + integrity sha512-wiyGaKsDgqXvF40P8mDwiUp/KQjE1FdrIEJsM8PZ3XCiniTMXS3OHWWUe5FI5agoCnr8x4xPrTDZuxsBlNHl+Q== + dependencies: + "@eslint-community/eslint-utils" "^4.8.0" + "@eslint-community/regexpp" "^4.12.2" + "@eslint/config-array" "^0.23.5" + "@eslint/config-helpers" "^0.5.5" + "@eslint/core" "^1.2.1" + "@eslint/plugin-kit" "^0.7.1" + "@humanfs/node" "^0.16.6" + "@humanwhocodes/module-importer" "^1.0.1" + "@humanwhocodes/retry" "^0.4.2" + "@types/estree" "^1.0.6" + ajv "^6.14.0" + cross-spawn "^7.0.6" debug "^4.3.2" - doctrine "^3.0.0" escape-string-regexp "^4.0.0" - eslint-scope "^7.1.0" - eslint-utils "^3.0.0" - eslint-visitor-keys "^3.2.0" - espree "^9.3.0" - esquery "^1.4.0" + eslint-scope "^9.1.2" + eslint-visitor-keys "^5.0.1" + espree "^11.2.0" + esquery "^1.7.0" esutils "^2.0.2" fast-deep-equal "^3.1.3" - file-entry-cache "^6.0.1" - functional-red-black-tree "^1.0.1" - glob-parent "^6.0.1" - globals "^13.6.0" + file-entry-cache "^8.0.0" + find-up "^5.0.0" + glob-parent "^6.0.2" ignore "^5.2.0" - import-fresh "^3.0.0" imurmurhash "^0.1.4" is-glob "^4.0.0" - js-yaml "^4.1.0" json-stable-stringify-without-jsonify "^1.0.1" - levn "^0.4.1" - lodash.merge "^4.6.2" - minimatch "^3.0.4" + minimatch "^10.2.4" natural-compare "^1.4.0" - optionator "^0.9.1" - regexpp "^3.2.0" - strip-ansi "^6.0.1" - strip-json-comments "^3.1.0" - text-table "^0.2.0" - v8-compile-cache "^2.0.3" - -espree@^9.2.0, espree@^9.3.0: - version "9.3.0" - resolved "https://registry.npmjs.org/espree/-/espree-9.3.0.tgz" - integrity sha512-d/5nCsb0JcqsSEeQzFZ8DH1RmxPcglRWh24EFTlUEmCKoehXGdpsx0RkHDubqUI8LSAIKMQp4r9SzQ3n+sm4HQ== - dependencies: - acorn "^8.7.0" - acorn-jsx "^5.3.1" - eslint-visitor-keys "^3.1.0" - -esquery@^1.4.0: - version "1.4.0" - resolved "https://registry.npmjs.org/esquery/-/esquery-1.4.0.tgz" - integrity sha512-cCDispWt5vHHtwMY2YrAQ4ibFkAL8RbH5YGBnZBc90MolvvfkkQcJro/aZiAQUlQ3qgrYS6D6v8Gc5G5CQsc9w== + optionator "^0.9.3" + +espree@^11.2.0: + version "11.2.0" + resolved "https://registry.yarnpkg.com/espree/-/espree-11.2.0.tgz#01d5e47dc332aaba3059008362454a8cc34ccaa5" + integrity sha512-7p3DrVEIopW1B1avAGLuCSh1jubc01H2JHc8B4qqGblmg5gI9yumBgACjWo4JlIc04ufug4xJ3SQI8HkS/Rgzw== + dependencies: + acorn "^8.16.0" + acorn-jsx "^5.3.2" + eslint-visitor-keys "^5.0.1" + +esquery@^1.7.0: + version "1.7.0" + resolved "https://registry.yarnpkg.com/esquery/-/esquery-1.7.0.tgz#08d048f261f0ddedb5bae95f46809463d9c9496d" + integrity sha512-Ap6G0WQwcU/LHsvLwON1fAQX9Zp0A2Y6Y/cJBl9r/JbW90Zyg4/zbG6zzKa2OTALELarYHmKu0GhpM5EO+7T0g== dependencies: estraverse "^5.1.0" esrecurse@^4.3.0: version "4.3.0" - resolved "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz" + resolved "https://registry.yarnpkg.com/esrecurse/-/esrecurse-4.3.0.tgz#7ad7964d679abb28bee72cec63758b1c5d2c9921" integrity sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag== dependencies: estraverse "^5.2.0" estraverse@^5.1.0, estraverse@^5.2.0: - version "5.2.0" - resolved "https://registry.npmjs.org/estraverse/-/estraverse-5.2.0.tgz" - integrity sha512-BxbNGGNm0RyRYvUdHpIwv9IWzeM9XClbOxwoATuFdOE7ZE6wHL+HQ5T8hoPM+zHvmKzzsEqhgy0GrQ5X13afiQ== + version "5.3.0" + resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-5.3.0.tgz#2eea5290702f26ab8fe5370370ff86c965d21123" + integrity sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA== + +estree-walker@^3.0.3: + version "3.0.3" + resolved "https://registry.yarnpkg.com/estree-walker/-/estree-walker-3.0.3.tgz#67c3e549ec402a487b4fc193d1953a524752340d" + integrity sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g== + dependencies: + "@types/estree" "^1.0.0" esutils@^2.0.2: version "2.0.3" resolved "https://registry.yarnpkg.com/esutils/-/esutils-2.0.3.tgz#74d2eb4de0b8da1293711910d50775b9b710ef64" integrity sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g== -execa@^5.0.0: - version "5.1.1" - resolved "https://registry.yarnpkg.com/execa/-/execa-5.1.1.tgz#f80ad9cbf4298f7bd1d4c9555c21e93741c411dd" - integrity sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg== - dependencies: - cross-spawn "^7.0.3" - get-stream "^6.0.0" - human-signals "^2.1.0" - is-stream "^2.0.0" - merge-stream "^2.0.0" - npm-run-path "^4.0.1" - onetime "^5.1.2" - signal-exit "^3.0.3" - strip-final-newline "^2.0.0" - -exit@^0.1.2: - version "0.1.2" - resolved "https://registry.yarnpkg.com/exit/-/exit-0.1.2.tgz#0632638f8d877cc82107d30a0fff1a17cba1cd0c" - integrity sha512-Zk/eNKV2zbjpKzrsQ+n1G6poVbErQxJ0LBOJXaKZ1EViLzH+hrLu9cdXI4zw9dBQJslwBEpbQ2P1oS7nDxs6jQ== - -expect@^29.7.0: - version "29.7.0" - resolved "https://registry.yarnpkg.com/expect/-/expect-29.7.0.tgz#578874590dcb3214514084c08115d8aee61e11bc" - integrity sha512-2Zks0hf1VLFYI1kbh0I5jP3KHHyCHpkfyHBzsSXRFgl/Bg9mWYfMW8oD+PdMPlEwy5HNsR9JutYy6pMeOh61nw== - dependencies: - "@jest/expect-utils" "^29.7.0" - jest-get-type "^29.6.3" - jest-matcher-utils "^29.7.0" - jest-message-util "^29.7.0" - jest-util "^29.7.0" +expect-type@^1.3.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/expect-type/-/expect-type-1.3.0.tgz#0d58ed361877a31bbc4dd6cf71bbfef7faf6bd68" + integrity sha512-knvyeauYhqjOYvQ66MznSMs83wmHrCycNEN6Ao+2AeYEfxUIkuiVxdEa1qlGEPK+We3n0THiDciYSsCcgW/DoA== extend@^3.0.2: version "3.0.2" @@ -2441,43 +1252,28 @@ extend@^3.0.2: fast-deep-equal@^3.1.1, fast-deep-equal@^3.1.3: version "3.1.3" - resolved "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz" + resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz#3a7d56b559d6cbc3eb512325244e619a65c6c525" integrity sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q== -fast-glob@^3.2.9: - version "3.2.11" - resolved "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.11.tgz" - integrity sha512-xrO3+1bxSo3ZVHAnqzyuewYT6aMFHRAd4Kcs92MAonjwQZLsK9d0SF1IyQ3k5PoirxTW0Oe/RqFgMQ6TcNE5Ew== - dependencies: - "@nodelib/fs.stat" "^2.0.2" - "@nodelib/fs.walk" "^1.2.3" - glob-parent "^5.1.2" - merge2 "^1.3.0" - micromatch "^4.0.4" +fast-diff@^1.1.2: + version "1.3.0" + resolved "https://registry.yarnpkg.com/fast-diff/-/fast-diff-1.3.0.tgz#ece407fa550a64d638536cd727e129c61616e0f0" + integrity sha512-VxPP4NqbUjj6MaAOafWeUn2cXWLcCtljklUtZf0Ind4XQ+QPtmA0b18zZy0jIQx+ExRVCR/ZQpBmik5lXshNsw== -fast-json-stable-stringify@2.x, fast-json-stable-stringify@^2.0.0, fast-json-stable-stringify@^2.1.0: +fast-json-stable-stringify@^2.0.0: version "2.1.0" resolved "https://registry.yarnpkg.com/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz#874bf69c6f404c2b5d99c481341399fd55892633" integrity sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw== fast-levenshtein@^2.0.6: version "2.0.6" - resolved "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz" - integrity sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc= + resolved "https://registry.yarnpkg.com/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz#3d8a5c66883a16a30ca8643e851f19baa7797917" + integrity sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw== -fastq@^1.6.0: - version "1.13.0" - resolved "https://registry.npmjs.org/fastq/-/fastq-1.13.0.tgz" - integrity sha512-YpkpUnK8od0o1hmeSc7UUs/eB/vIPWJYjKck2QKIzAf71Vm1AAQ3EbuZB3g2JIy+pg+ERD0vqI79KyZiB2e2Nw== - dependencies: - reusify "^1.0.4" - -fb-watchman@^2.0.0: - version "2.0.2" - resolved "https://registry.yarnpkg.com/fb-watchman/-/fb-watchman-2.0.2.tgz#e9524ee6b5c77e9e5001af0f85f3adbb8623255c" - integrity sha512-p5161BqbuCaSnB8jIbzQHOlpgsPmK5rJVDfDKO91Axs5NC1uu3HRQm6wt9cd9/+GtQQIO53JdGXXoyDpTAsgYA== - dependencies: - bser "2.1.1" +fdir@^6.5.0: + version "6.5.0" + resolved "https://registry.yarnpkg.com/fdir/-/fdir-6.5.0.tgz#ed2ab967a331ade62f18d077dae192684d50d350" + integrity sha512-tIbYtZbucOs0BRGqPJkshJUYdL+SDH7dVM8gjy+ERp3WAUjLEFJE+02kanyHtwjWOnwrKYBiwAmM0p4kLJAnXg== fetch-blob@^3.1.2, fetch-blob@^3.1.4: version "3.2.0" @@ -2487,69 +1283,47 @@ fetch-blob@^3.1.2, fetch-blob@^3.1.4: node-domexception "^1.0.0" web-streams-polyfill "^3.0.3" -file-entry-cache@^6.0.1: - version "6.0.1" - resolved "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz" - integrity sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg== - dependencies: - flat-cache "^3.0.4" - -filelist@^1.0.4: - version "1.0.4" - resolved "https://registry.yarnpkg.com/filelist/-/filelist-1.0.4.tgz#f78978a1e944775ff9e62e744424f215e58352b5" - integrity sha512-w1cEuf3S+DrLCQL7ET6kz+gmlJdbq9J7yXCSjK/OZCPA+qEN1WyF4ZAf0YYJa4/shHJra2t/d/r8SV4Ji+x+8Q== - dependencies: - minimatch "^5.0.1" - -fill-range@^7.1.1: - version "7.1.1" - resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-7.1.1.tgz#44265d3cac07e3ea7dc247516380643754a05292" - integrity sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg== +file-entry-cache@^8.0.0: + version "8.0.0" + resolved "https://registry.yarnpkg.com/file-entry-cache/-/file-entry-cache-8.0.0.tgz#7787bddcf1131bffb92636c69457bbc0edd6d81f" + integrity sha512-XXTUwCvisa5oacNGRP9SfNtYBNAMi+RPwBFmblZEF7N7swHYQS6/Zfk7SRwx4D5j3CH211YNRco1DEMNVfZCnQ== dependencies: - to-regex-range "^5.0.1" + flat-cache "^4.0.0" -find-up@^4.0.0, find-up@^4.1.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/find-up/-/find-up-4.1.0.tgz#97afe7d6cdc0bc5928584b7c8d7b16e8a9aa5d19" - integrity sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw== +find-up@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/find-up/-/find-up-5.0.0.tgz#4c92819ecb7083561e4f4a240a86be5198f536fc" + integrity sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng== dependencies: - locate-path "^5.0.0" + locate-path "^6.0.0" path-exists "^4.0.0" -flat-cache@^3.0.4: - version "3.0.4" - resolved "https://registry.npmjs.org/flat-cache/-/flat-cache-3.0.4.tgz" - integrity sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg== +flat-cache@^4.0.0: + version "4.0.1" + resolved "https://registry.yarnpkg.com/flat-cache/-/flat-cache-4.0.1.tgz#0ece39fcb14ee012f4b0410bd33dd9c1f011127c" + integrity sha512-f7ccFPK3SXFHpx15UIGyRJ/FJQctuKZ0zVuN3frBo4HnK3cay9VEW0R6yPYFHC0AgqhukPzKjq22t5DmAyqGyw== dependencies: - flatted "^3.1.0" - rimraf "^3.0.2" - -flatted@^3.1.0: - version "3.1.1" - resolved "https://registry.npmjs.org/flatted/-/flatted-3.1.1.tgz" - integrity sha512-zAoAQiudy+r5SvnSw3KJy5os/oRJYHzrzja/tBDqrZtNhUw8bt6y8OBzMWcjWr+8liV8Eb6yOhw8WZ7VFZ5ZzA== + flatted "^3.2.9" + keyv "^4.5.4" -follow-redirects@^1.15.6: - version "1.15.11" - resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.15.11.tgz#777d73d72a92f8ec4d2e410eb47352a56b8e8340" - integrity sha512-deG2P0JfjrTxl50XGCDyfI97ZGVCxIpfKYmfyrQ54n5FO/0gfIES8C/Psl6kWVDolizcaaxZJnTS0QSMxvnsBQ== +flatted@^3.2.9: + version "3.4.2" + resolved "https://registry.yarnpkg.com/flatted/-/flatted-3.4.2.tgz#f5c23c107f0f37de8dbdf24f13722b3b98d52726" + integrity sha512-PjDse7RzhcPkIJwy5t7KPWQSZ9cAbzQXcafsetQoD7sOJRQlGikNbx7yZp2OotDnJyrDcbyRq3Ttb18iYOqkxA== -for-each@^0.3.3: - version "0.3.3" - resolved "https://registry.npmjs.org/for-each/-/for-each-0.3.3.tgz" - integrity sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw== - dependencies: - is-callable "^1.1.3" +follow-redirects@^1.15.11: + version "1.16.0" + resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.16.0.tgz#28474a159d3b9d11ef62050a14ed60e4df6d61bc" + integrity sha512-y5rN/uOsadFT/JfYwhxRS5R7Qce+g3zG97+JrtFZlC9klX/W5hD7iiLzScI4nZqUS7DNUdhPgw4xI8W2LuXlUw== -foreground-child@^3.1.0: - version "3.3.1" - resolved "https://registry.yarnpkg.com/foreground-child/-/foreground-child-3.3.1.tgz#32e8e9ed1b68a3497befb9ac2b6adf92a638576f" - integrity sha512-gIXjKqtFuWEgzFRJA9WCQeSJLZDjgJUOMCMzxtvFq/37KojM1BFGufqsCy0r4qSQmYLsZYMeyRqzIWOMup03sw== +for-each@^0.3.3, for-each@^0.3.5: + version "0.3.5" + resolved "https://registry.yarnpkg.com/for-each/-/for-each-0.3.5.tgz#d650688027826920feeb0af747ee7b9421a41d47" + integrity sha512-dKx12eRCVIzqCxFGplyFKJMPvLEWgmNtUrpTiJIR5u97zEhRG8ySrtboPHZXx7daLxQVrl643cTzbab2tkQjxg== dependencies: - cross-spawn "^7.0.6" - signal-exit "^4.0.1" + is-callable "^1.2.7" -form-data@^4.0.4: +form-data@^4.0.5: version "4.0.5" resolved "https://registry.yarnpkg.com/form-data/-/form-data-4.0.5.tgz#b49e48858045ff4cbf6b03e1805cebcad3679053" integrity sha512-8RipRLol37bNs2bhoV67fiTEvdTrbMUYcFTiy3+wuuOnUog2QBHCZWXDRijWQfAkhBj2Uf5UnVaiWwA5vdd82w== @@ -2567,12 +1341,7 @@ formdata-polyfill@^4.0.10: dependencies: fetch-blob "^3.1.2" -fs.realpath@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f" - integrity sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw== - -fsevents@^2.3.2: +fsevents@~2.3.3: version "2.3.3" resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.3.3.tgz#cac6407785d03675a2a5e1a5305c697b347d90d6" integrity sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw== @@ -2582,37 +1351,33 @@ function-bind@^1.1.2: resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.2.tgz#2c02d864d97f3ea6c8830c464cbd11ab6eab7a1c" integrity sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA== -function.prototype.name@^1.1.6: - version "1.1.6" - resolved "https://registry.npmjs.org/function.prototype.name/-/function.prototype.name-1.1.6.tgz" - integrity sha512-Z5kx79swU5P27WEayXM1tBi5Ze/lbIyiNgU3qyXUOf9b2rgXYyF9Dy9Cx+IQv/Lc8WCG6L82zwUPpSS9hGehIg== +function.prototype.name@^1.1.6, function.prototype.name@^1.1.8: + version "1.1.8" + resolved "https://registry.yarnpkg.com/function.prototype.name/-/function.prototype.name-1.1.8.tgz#e68e1df7b259a5c949eeef95cdbde53edffabb78" + integrity sha512-e5iwyodOHhbMr/yNrc7fDYG4qlbIvI5gajyzPnb5TCwyhjApznQh1BMFou9b30SevY43gCJKXycoCBjMbsuW0Q== dependencies: - call-bind "^1.0.2" - define-properties "^1.2.0" - es-abstract "^1.22.1" + call-bind "^1.0.8" + call-bound "^1.0.3" + define-properties "^1.2.1" functions-have-names "^1.2.3" - -functional-red-black-tree@^1.0.1: - version "1.0.1" - resolved "https://registry.npmjs.org/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz" - integrity sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc= + hasown "^2.0.2" + is-callable "^1.2.7" functions-have-names@^1.2.3: version "1.2.3" - resolved "https://registry.npmjs.org/functions-have-names/-/functions-have-names-1.2.3.tgz" + resolved "https://registry.yarnpkg.com/functions-have-names/-/functions-have-names-1.2.3.tgz#0404fe4ee2ba2f607f0e0ec3c80bae994133b834" integrity sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ== -gaxios@^7.0.0: - version "7.1.3" - resolved "https://registry.yarnpkg.com/gaxios/-/gaxios-7.1.3.tgz#c5312f4254abc1b8ab53aef30c22c5229b80b1e1" - integrity sha512-YGGyuEdVIjqxkxVH1pUTMY/XtmmsApXrCVv5EU25iX6inEPbV+VakJfLealkBtJN69AQmh1eGOdCl9Sm1UP6XQ== +gaxios@^7.0.0, gaxios@^7.1.4: + version "7.1.4" + resolved "https://registry.yarnpkg.com/gaxios/-/gaxios-7.1.4.tgz#33a5b78e2c5c01cf5a5d17f58dd188839867fc9c" + integrity sha512-bTIgTsM2bWn3XklZISBTQX7ZSddGW+IO3bMdGaemHZ3tbqExMENHLx6kKZ/KlejgrMtj8q7wBItt51yegqalrA== dependencies: extend "^3.0.2" https-proxy-agent "^7.0.1" node-fetch "^3.3.2" - rimraf "^5.0.1" -gcp-metadata@^8.0.0: +gcp-metadata@8.1.2: version "8.1.2" resolved "https://registry.yarnpkg.com/gcp-metadata/-/gcp-metadata-8.1.2.tgz#e62e3373ddf41fc727ccc31c55c687b798bee898" integrity sha512-zV/5HKTfCeKWnxG0Dmrw51hEWFGfcF2xiXqcA3+J90WDuP0SvoiSO5ORvcBsifmx/FoIjgQN3oNOGaQ5PhLFkg== @@ -2621,17 +1386,12 @@ gcp-metadata@^8.0.0: google-logging-utils "^1.0.0" json-bigint "^1.0.0" -gensync@^1.0.0-beta.2: - version "1.0.0-beta.2" - resolved "https://registry.yarnpkg.com/gensync/-/gensync-1.0.0-beta.2.tgz#32a6ee76c3d7f52d46b2b1ae5d93fea8580a25e0" - integrity sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg== - -get-caller-file@^2.0.5: - version "2.0.5" - resolved "https://registry.yarnpkg.com/get-caller-file/-/get-caller-file-2.0.5.tgz#4f94412a82db32f36e3b0b9741f8a97feb031f7e" - integrity sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg== +generator-function@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/generator-function/-/generator-function-2.0.1.tgz#0e75dd410d1243687a0ba2e951b94eedb8f737a2" + integrity sha512-SFdFmIJi+ybC0vjlHN0ZGVGHc3lgE0DxPAT0djjVg+kjOnSqclqmj0KQ7ykTOLP6YxoqOvuAODGdcHJn+43q3g== -get-intrinsic@^1.0.2, get-intrinsic@^1.2.4, get-intrinsic@^1.2.6: +get-intrinsic@^1.2.4, get-intrinsic@^1.2.5, get-intrinsic@^1.2.6, get-intrinsic@^1.2.7, get-intrinsic@^1.3.0: version "1.3.0" resolved "https://registry.yarnpkg.com/get-intrinsic/-/get-intrinsic-1.3.0.tgz#743f0e3b6964a93a5491ed1bffaae054d7f98d01" integrity sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ== @@ -2647,21 +1407,6 @@ get-intrinsic@^1.0.2, get-intrinsic@^1.2.4, get-intrinsic@^1.2.6: hasown "^2.0.2" math-intrinsics "^1.1.0" -get-intrinsic@^1.1.1, get-intrinsic@^1.1.3, get-intrinsic@^1.2.0, get-intrinsic@^1.2.1, get-intrinsic@^1.2.2: - version "1.2.2" - resolved "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.2.tgz" - integrity sha512-0gSo4ml/0j98Y3lngkFEot/zhiCeWsbYIlZ+uZOVgzLyLaUw7wxUL+nCTP0XJvJg1AXulJRI3UJi8GsbDuxdGA== - dependencies: - function-bind "^1.1.2" - has-proto "^1.0.1" - has-symbols "^1.0.3" - hasown "^2.0.0" - -get-package-type@^0.1.0: - version "0.1.0" - resolved "https://registry.yarnpkg.com/get-package-type/-/get-package-type-0.1.0.tgz#8de2d803cff44df3bc6c456e6668b36c3926e11a" - integrity sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q== - get-proto@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/get-proto/-/get-proto-1.0.1.tgz#150b3f2743869ef3e851ec0c49d15b1d14d00ee1" @@ -2670,182 +1415,93 @@ get-proto@^1.0.1: dunder-proto "^1.0.1" es-object-atoms "^1.0.0" -get-stream@^6.0.0: - version "6.0.1" - resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-6.0.1.tgz#a262d8eef67aced57c2852ad6167526a43cbf7b7" - integrity sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg== - -get-symbol-description@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/get-symbol-description/-/get-symbol-description-1.0.0.tgz" - integrity sha512-2EmdH1YvIQiZpltCNgkuiUnyukzxM/R6NDJX31Ke3BG1Nq5b0S2PhX59UKi9vZpPDQVdqn+1IcaAwnzTT5vCjw== +get-symbol-description@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/get-symbol-description/-/get-symbol-description-1.1.0.tgz#7bdd54e0befe8ffc9f3b4e203220d9f1e881b6ee" + integrity sha512-w9UMqWwJxHNOvoNzSJ2oPF5wvYcvP7jUvYzhp67yEhTi17ZDBBC1z9pTdGuzjD+EFIqLSYRweZjqfiPzQ06Ebg== dependencies: - call-bind "^1.0.2" - get-intrinsic "^1.1.1" + call-bound "^1.0.3" + es-errors "^1.3.0" + get-intrinsic "^1.2.6" -glob-parent@^5.1.2: - version "5.1.2" - resolved "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz" - integrity sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow== +get-tsconfig@^4.10.1: + version "4.14.0" + resolved "https://registry.yarnpkg.com/get-tsconfig/-/get-tsconfig-4.14.0.tgz#985d85c52a9903864280ccc2448d413fbf1efed8" + integrity sha512-yTb+8DXzDREzgvYmh6s9vHsSVCHeC0G3PI5bEXNBHtmshPnO+S5O7qgLEOn0I5QvMy6kpZN8K1NKGyilLb93wA== dependencies: - is-glob "^4.0.1" + resolve-pkg-maps "^1.0.0" -glob-parent@^6.0.1: +glob-parent@^6.0.2: version "6.0.2" - resolved "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz" + resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-6.0.2.tgz#6d237d99083950c79290f24c7642a3de9a28f9e3" integrity sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A== dependencies: is-glob "^4.0.3" -glob@^10.3.7: - version "10.5.0" - resolved "https://registry.yarnpkg.com/glob/-/glob-10.5.0.tgz#8ec0355919cd3338c28428a23d4f24ecc5fe738c" - integrity sha512-DfXN8DfhJ7NH3Oe7cFmu3NCu1wKbkReJ8TorzSAFbSKrlNaQSKfIzqYqVY8zlbs2NLBbWpRiU52GX2PbaBVNkg== - dependencies: - foreground-child "^3.1.0" - jackspeak "^3.1.2" - minimatch "^9.0.4" - minipass "^7.1.2" - package-json-from-dist "^1.0.0" - path-scurry "^1.11.1" - -glob@^7.1.3, glob@^7.1.4: - version "7.2.3" - resolved "https://registry.yarnpkg.com/glob/-/glob-7.2.3.tgz#b8df0fb802bbfa8e89bd1d938b4e16578ed44f2b" - integrity sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q== - dependencies: - fs.realpath "^1.0.0" - inflight "^1.0.4" - inherits "2" - minimatch "^3.1.1" - once "^1.3.0" - path-is-absolute "^1.0.0" - -globals@^11.1.0: - version "11.12.0" - resolved "https://registry.yarnpkg.com/globals/-/globals-11.12.0.tgz#ab8795338868a0babd8525758018c2a7eb95c42e" - integrity sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA== - -globals@^13.6.0, globals@^13.9.0: - version "13.9.0" - resolved "https://registry.npmjs.org/globals/-/globals-13.9.0.tgz" - integrity sha512-74/FduwI/JaIrr1H8e71UbDE+5x7pIPs1C2rrwC52SszOo043CsWOZEMW7o2Y58xwm9b+0RBKDxY5n2sUpEFxA== - dependencies: - type-fest "^0.20.2" - -globalthis@^1.0.3: - version "1.0.3" - resolved "https://registry.npmjs.org/globalthis/-/globalthis-1.0.3.tgz" - integrity sha512-sFdI5LyBiNTHjRd7cGPWapiHWMOXKyuBNX/cWJ3NfzrZQVa8GI/8cofCl74AOVqq9W5kNmguTIzJ/1s2gyI9wA== - dependencies: - define-properties "^1.1.3" +globals@^17.5.0: + version "17.5.0" + resolved "https://registry.yarnpkg.com/globals/-/globals-17.5.0.tgz#a82c641d898f8dfbe0e81f66fdff7d0de43f88c6" + integrity sha512-qoV+HK2yFl/366t2/Cb3+xxPUo5BuMynomoDmiaZBIdbs+0pYbjfZU+twLhGKp4uCZ/+NbtpVepH5bGCxRyy2g== -globby@^11.1.0: - version "11.1.0" - resolved "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz" - integrity sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g== +globalthis@^1.0.4: + version "1.0.4" + resolved "https://registry.yarnpkg.com/globalthis/-/globalthis-1.0.4.tgz#7430ed3a975d97bfb59bcce41f5cabbafa651236" + integrity sha512-DpLKbNU4WylpxJykQujfCcwYWiV/Jhm50Goo0wrVILAv5jOr9d+H+UR3PhSCD2rCCEIg0uc+G+muBTwD54JhDQ== dependencies: - array-union "^2.1.0" - dir-glob "^3.0.1" - fast-glob "^3.2.9" - ignore "^5.2.0" - merge2 "^1.4.1" - slash "^3.0.0" + define-properties "^1.2.1" + gopd "^1.0.1" -google-auth-library@^10.5.0: - version "10.5.0" - resolved "https://registry.yarnpkg.com/google-auth-library/-/google-auth-library-10.5.0.tgz#3f0ebd47173496b91d2868f572bb8a8180c4b561" - integrity sha512-7ABviyMOlX5hIVD60YOfHw4/CxOfBhyduaYB+wbFWCWoni4N7SLcV46hrVRktuBbZjFC9ONyqamZITN7q3n32w== +google-auth-library@^10.6.2: + version "10.6.2" + resolved "https://registry.yarnpkg.com/google-auth-library/-/google-auth-library-10.6.2.tgz#44557c536aec626b7cda48a85b5d026e2c9b74c4" + integrity sha512-e27Z6EThmVNNvtYASwQxose/G57rkRuaRbQyxM2bvYLLX/GqWZ5chWq2EBoUchJbCc57eC9ArzO5wMsEmWftCw== dependencies: base64-js "^1.3.0" ecdsa-sig-formatter "^1.0.11" - gaxios "^7.0.0" - gcp-metadata "^8.0.0" - google-logging-utils "^1.0.0" - gtoken "^8.0.0" + gaxios "^7.1.4" + gcp-metadata "8.1.2" + google-logging-utils "1.1.3" jws "^4.0.0" -google-logging-utils@^1.0.0: +google-logging-utils@1.1.3, google-logging-utils@^1.0.0: version "1.1.3" resolved "https://registry.yarnpkg.com/google-logging-utils/-/google-logging-utils-1.1.3.tgz#17b71f1f95d266d2ddd356b8f00178433f041b17" integrity sha512-eAmLkjDjAFCVXg7A1unxHsLf961m6y17QFqXqAXGj/gVkKFrEICfStRfwUlGNfeCEjNRa32JEWOUTlYXPyyKvA== -gopd@^1.0.1: - version "1.0.1" - resolved "https://registry.npmjs.org/gopd/-/gopd-1.0.1.tgz" - integrity sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA== - dependencies: - get-intrinsic "^1.1.3" - -gopd@^1.2.0: +gopd@^1.0.1, gopd@^1.2.0: version "1.2.0" resolved "https://registry.yarnpkg.com/gopd/-/gopd-1.2.0.tgz#89f56b8217bdbc8802bd299df6d7f1081d7e51a1" integrity sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg== -graceful-fs@^4.2.9: - version "4.2.11" - resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.11.tgz#4183e4e8bf08bb6e05bbb2f7d2e0c8f712ca40e3" - integrity sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ== - -graphemer@^1.4.0: - version "1.4.0" - resolved "https://registry.yarnpkg.com/graphemer/-/graphemer-1.4.0.tgz#fb2f1d55e0e3a1849aeffc90c4fa0dd53a0e66c6" - integrity sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag== - -gtoken@^8.0.0: - version "8.0.0" - resolved "https://registry.yarnpkg.com/gtoken/-/gtoken-8.0.0.tgz#d67a0e346dd441bfb54ad14040ddc3b632886575" - integrity sha512-+CqsMbHPiSTdtSO14O51eMNlrp9N79gmeqmXeouJOhfucAedHw9noVe/n5uJk3tbKE6a+6ZCQg3RPhVhHByAIw== - dependencies: - gaxios "^7.0.0" - jws "^4.0.0" - -has-bigints@^1.0.1, has-bigints@^1.0.2: - version "1.0.2" - resolved "https://registry.npmjs.org/has-bigints/-/has-bigints-1.0.2.tgz" - integrity sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ== +has-bigints@^1.0.2: + version "1.1.0" + resolved "https://registry.yarnpkg.com/has-bigints/-/has-bigints-1.1.0.tgz#28607e965ac967e03cd2a2c70a2636a1edad49fe" + integrity sha512-R3pbpkcIqv2Pm3dUwgjclDRVmWpTJW2DcMzcIhEXEx1oh/CEMObMm3KLmRJOdvhM7o4uQBnwr8pzRK2sJWIqfg== has-flag@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-4.0.0.tgz#944771fd9c81c81265c4d6941860da06bb59479b" integrity sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ== -has-property-descriptors@^1.0.0: - version "1.0.1" - resolved "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.1.tgz" - integrity sha512-VsX8eaIewvas0xnvinAe9bw4WfIeODpGYikiWYLH+dma0Jw6KHYqWiWfhQlgOVK8D6PvjubK5Uc4P0iIhIcNVg== - dependencies: - get-intrinsic "^1.2.2" - -has-property-descriptors@^1.0.2: +has-property-descriptors@^1.0.0, has-property-descriptors@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/has-property-descriptors/-/has-property-descriptors-1.0.2.tgz#963ed7d071dc7bf5f084c5bfbe0d1b6222586854" integrity sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg== dependencies: es-define-property "^1.0.0" -has-proto@^1.0.1: - version "1.0.1" - resolved "https://registry.npmjs.org/has-proto/-/has-proto-1.0.1.tgz" - integrity sha512-7qE+iP+O+bgF9clE5+UoBFzE65mlBiVj3tKCrlNQ0Ogwm0BjpT/gK4SlLYDMybDh5I3TCTKnPPa0oMG7JDYrhg== - -has-symbols@^1.0.2: - version "1.0.3" - resolved "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz" - integrity sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A== +has-proto@^1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/has-proto/-/has-proto-1.2.0.tgz#5de5a6eabd95fdffd9818b43055e8065e39fe9d5" + integrity sha512-KIL7eQPfHQRC8+XluaIw7BHUwwqL19bQn4hzNgdr+1wXoU0KKj6rufu47lhY7KbJR2C6T6+PfyN0Ea7wkSS+qQ== + dependencies: + dunder-proto "^1.0.0" has-symbols@^1.0.3, has-symbols@^1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/has-symbols/-/has-symbols-1.1.0.tgz#fc9c6a783a084951d0b971fe1018de813707a338" integrity sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ== -has-tostringtag@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.0.tgz" - integrity sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ== - dependencies: - has-symbols "^1.0.2" - has-tostringtag@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/has-tostringtag/-/has-tostringtag-1.0.2.tgz#2cdc42d40bef2e5b4eeab7c01a73c54ce7ab5abc" @@ -2853,17 +1509,10 @@ has-tostringtag@^1.0.2: dependencies: has-symbols "^1.0.3" -hasown@^2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/hasown/-/hasown-2.0.0.tgz" - integrity sha512-vUptKVTpIJhcczKBbgnS+RtcuYMB8+oNzPK2/Hp3hanz8JmpATdmmgLgSaadVREkDm+e2giHwY3ZRkyjSIDDFA== - dependencies: - function-bind "^1.1.2" - hasown@^2.0.2: - version "2.0.2" - resolved "https://registry.yarnpkg.com/hasown/-/hasown-2.0.2.tgz#003eaf91be7adc372e84ec59dc37252cedb80003" - integrity sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ== + version "2.0.3" + resolved "https://registry.yarnpkg.com/hasown/-/hasown-2.0.3.tgz#5e5c2b15b60370a4c7930c383dfb76bf17bc403c" + integrity sha512-ej4AhfhfL2Q2zpMmLo7U1Uv9+PyhIZpgQLGT1F9miIGmiCJIoCgSmczFdrc97mWT4kVY72KA+WnnhJ5pghSvSg== dependencies: function-bind "^1.1.2" @@ -2880,226 +1529,223 @@ https-proxy-agent@^7.0.1: agent-base "^7.1.2" debug "4" -human-signals@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/human-signals/-/human-signals-2.1.0.tgz#dc91fcba42e4d06e4abaed33b3e7a3c02f514ea0" - integrity sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw== - -ignore@^4.0.6: - version "4.0.6" - resolved "https://registry.npmjs.org/ignore/-/ignore-4.0.6.tgz" - integrity sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg== - ignore@^5.2.0: - version "5.2.0" - resolved "https://registry.npmjs.org/ignore/-/ignore-5.2.0.tgz" - integrity sha512-CmxgYGiEPCLhfLnpPp1MoRmifwEIOgjcHXxOBjv7mY96c+eWScsOP9c112ZyLdWHi0FxHjI+4uVhKYp/gcdRmQ== - -ignore@^5.2.4: version "5.3.2" resolved "https://registry.yarnpkg.com/ignore/-/ignore-5.3.2.tgz#3cd40e729f3643fd87cb04e50bf0eb722bc596f5" integrity sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g== -import-fresh@^3.0.0, import-fresh@^3.2.1: - version "3.3.0" - resolved "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz" - integrity sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw== - dependencies: - parent-module "^1.0.0" - resolve-from "^4.0.0" - -import-local@^3.0.2: - version "3.2.0" - resolved "https://registry.yarnpkg.com/import-local/-/import-local-3.2.0.tgz#c3d5c745798c02a6f8b897726aba5100186ee260" - integrity sha512-2SPlun1JUPWoM6t3F0dw0FkCF/jWY8kttcY4f599GLTSjh2OCuuhdTkJQsEcZzBqbXZGKMK2OqW1oZsjtf/gQA== - dependencies: - pkg-dir "^4.2.0" - resolve-cwd "^3.0.0" +ignore@^7.0.5: + version "7.0.5" + resolved "https://registry.yarnpkg.com/ignore/-/ignore-7.0.5.tgz#4cb5f6cd7d4c7ab0365738c7aea888baa6d7efd9" + integrity sha512-Hs59xBNfUIunMFgWAbGX5cq6893IbWg4KnrjbYwX3tx0ztorVgTDA6B2sxf8ejHJ4wz8BqGUMYlnzNBer5NvGg== imurmurhash@^0.1.4: version "0.1.4" resolved "https://registry.yarnpkg.com/imurmurhash/-/imurmurhash-0.1.4.tgz#9218b9b2b928a238b13dc4fb6b6d576f231453ea" integrity sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA== -inflight@^1.0.4: - version "1.0.6" - resolved "https://registry.yarnpkg.com/inflight/-/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9" - integrity sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA== +internal-slot@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/internal-slot/-/internal-slot-1.1.0.tgz#1eac91762947d2f7056bc838d93e13b2e9604961" + integrity sha512-4gd7VpWNQNB4UKKCFFVcp1AVv+FMOgs9NKzjHKusc8jTMhd5eL1NqQqOpE0KzMds804/yHlglp3uxgluOqAPLw== dependencies: - once "^1.3.0" - wrappy "1" - -inherits@2: - version "2.0.4" - resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c" - integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ== + es-errors "^1.3.0" + hasown "^2.0.2" + side-channel "^1.1.0" -internal-slot@^1.0.5: - version "1.0.6" - resolved "https://registry.npmjs.org/internal-slot/-/internal-slot-1.0.6.tgz" - integrity sha512-Xj6dv+PsbtwyPpEflsejS+oIZxmMlV44zAhG479uYu89MsjcYOhCFnNyKrkJrihbsiasQyY0afoCl/9BLR65bg== +is-array-buffer@^3.0.4, is-array-buffer@^3.0.5: + version "3.0.5" + resolved "https://registry.yarnpkg.com/is-array-buffer/-/is-array-buffer-3.0.5.tgz#65742e1e687bd2cc666253068fd8707fe4d44280" + integrity sha512-DDfANUiiG2wC1qawP66qlTugJeL5HyzMpfr8lLK+jMQirGzNod0B12cFB/9q838Ru27sBwfw78/rdoU7RERz6A== dependencies: - get-intrinsic "^1.2.2" - hasown "^2.0.0" - side-channel "^1.0.4" + call-bind "^1.0.8" + call-bound "^1.0.3" + get-intrinsic "^1.2.6" -is-array-buffer@^3.0.1, is-array-buffer@^3.0.2: - version "3.0.2" - resolved "https://registry.npmjs.org/is-array-buffer/-/is-array-buffer-3.0.2.tgz" - integrity sha512-y+FyyR/w8vfIRq4eQcM1EYgSTnmHXPqaF+IgzgraytCFq5Xh8lllDVmAZolPJiZttZLeFSINPYMaEJ7/vWUa1w== +is-async-function@^2.0.0: + version "2.1.1" + resolved "https://registry.yarnpkg.com/is-async-function/-/is-async-function-2.1.1.tgz#3e69018c8e04e73b738793d020bfe884b9fd3523" + integrity sha512-9dgM/cZBnNvjzaMYHVoxxfPj2QXt22Ev7SuuPrs+xav0ukGB0S6d4ydZdEiM48kLx5kDV+QBPrpVnFyefL8kkQ== dependencies: - call-bind "^1.0.2" - get-intrinsic "^1.2.0" - is-typed-array "^1.1.10" - -is-arrayish@^0.2.1: - version "0.2.1" - resolved "https://registry.yarnpkg.com/is-arrayish/-/is-arrayish-0.2.1.tgz#77c99840527aa8ecb1a8ba697b80645a7a926a9d" - integrity sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg== + async-function "^1.0.0" + call-bound "^1.0.3" + get-proto "^1.0.1" + has-tostringtag "^1.0.2" + safe-regex-test "^1.1.0" -is-bigint@^1.0.1: - version "1.0.4" - resolved "https://registry.npmjs.org/is-bigint/-/is-bigint-1.0.4.tgz" - integrity sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg== +is-bigint@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/is-bigint/-/is-bigint-1.1.0.tgz#dda7a3445df57a42583db4228682eba7c4170672" + integrity sha512-n4ZT37wG78iz03xPRKJrHTdZbe3IicyucEtdRsV5yglwc3GyUfbAfpSeD0FJ41NbUNSt5wbhqfp1fS+BgnvDFQ== dependencies: - has-bigints "^1.0.1" + has-bigints "^1.0.2" -is-boolean-object@^1.1.0: - version "1.1.2" - resolved "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.1.2.tgz" - integrity sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA== +is-boolean-object@^1.2.1: + version "1.2.2" + resolved "https://registry.yarnpkg.com/is-boolean-object/-/is-boolean-object-1.2.2.tgz#7067f47709809a393c71ff5bb3e135d8a9215d9e" + integrity sha512-wa56o2/ElJMYqjCjGkXri7it5FbebW5usLw/nPmCMs5DeZ7eziSYZhSmPRn0txqeW4LnAmQQU7FgqLpsEFKM4A== dependencies: - call-bind "^1.0.2" - has-tostringtag "^1.0.0" + call-bound "^1.0.3" + has-tostringtag "^1.0.2" is-buffer@^2.0.5: version "2.0.5" resolved "https://registry.yarnpkg.com/is-buffer/-/is-buffer-2.0.5.tgz#ebc252e400d22ff8d77fa09888821a24a658c191" integrity sha512-i2R6zNFDwgEHJyQUtJEk0XFi1i0dPFn/oqjK3/vPCcDeJvW5NQ83V8QbicfF1SupOaB0h8ntgBC2YiE7dfyctQ== -is-callable@^1.1.3, is-callable@^1.1.4, is-callable@^1.2.7: +is-bun-module@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/is-bun-module/-/is-bun-module-2.0.0.tgz#4d7859a87c0fcac950c95e666730e745eae8bddd" + integrity sha512-gNCGbnnnnFAUGKeZ9PdbyeGYJqewpmc2aKHUEMO5nQPWU9lOmv7jcmQIv+qHD8fXW6W7qfuCwX4rY9LNRjXrkQ== + dependencies: + semver "^7.7.1" + +is-callable@^1.2.7: version "1.2.7" - resolved "https://registry.npmjs.org/is-callable/-/is-callable-1.2.7.tgz" + resolved "https://registry.yarnpkg.com/is-callable/-/is-callable-1.2.7.tgz#3bc2a85ea742d9e36205dcacdd72ca1fdc51b055" integrity sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA== -is-core-module@^2.13.0, is-core-module@^2.13.1: - version "2.13.1" - resolved "https://registry.npmjs.org/is-core-module/-/is-core-module-2.13.1.tgz" - integrity sha512-hHrIjvZsftOsvKSn2TRYl63zvxsgE0K+0mYMoH6gD4omR5IWB2KynivBQczo3+wF1cCkjzvptnI9Q0sPU66ilw== - dependencies: - hasown "^2.0.0" - -is-core-module@^2.16.0: +is-core-module@^2.16.1: version "2.16.1" resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.16.1.tgz#2a98801a849f43e2add644fbb6bc6229b19a4ef4" integrity sha512-UfoeMA6fIJ8wTYFEUjelnaGI67v6+N7qXJEvQuIGa99l4xsCruSYOVSQ0uPANn4dAzm8lkYPaKLrrijLq7x23w== dependencies: hasown "^2.0.2" -is-date-object@^1.0.1: - version "1.0.5" - resolved "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.5.tgz" - integrity sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ== +is-data-view@^1.0.1, is-data-view@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/is-data-view/-/is-data-view-1.0.2.tgz#bae0a41b9688986c2188dda6657e56b8f9e63b8e" + integrity sha512-RKtWF8pGmS87i2D6gqQu/l7EYRlVdfzemCJN/P3UOs//x1QE7mfhvzHIApBTRf7axvT6DMGwSwBXYCT0nfB9xw== + dependencies: + call-bound "^1.0.2" + get-intrinsic "^1.2.6" + is-typed-array "^1.1.13" + +is-date-object@^1.0.5, is-date-object@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/is-date-object/-/is-date-object-1.1.0.tgz#ad85541996fc7aa8b2729701d27b7319f95d82f7" + integrity sha512-PwwhEakHVKTdRNVOw+/Gyh0+MzlCl4R6qKvkhuvLtPMggI1WAHt9sOwZxQLSGpUaDnrdyDsomoRgNnCfKNSXXg== dependencies: - has-tostringtag "^1.0.0" + call-bound "^1.0.2" + has-tostringtag "^1.0.2" is-extglob@^2.1.1: version "2.1.1" - resolved "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz" - integrity sha1-qIwCU1eR8C7TfHahueqXc8gz+MI= - -is-fullwidth-code-point@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz#f116f8064fe90b3f7844a38997c0b75051269f1d" - integrity sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg== + resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-2.1.1.tgz#a88c02535791f02ed37c76a1b9ea9773c833f8c2" + integrity sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ== -is-generator-fn@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/is-generator-fn/-/is-generator-fn-2.1.0.tgz#7d140adc389aaf3011a8f2a2a4cfa6faadffb118" - integrity sha512-cTIB4yPYL/Grw0EaSzASzg6bBy9gqCofvWN8okThAYIxKJZC+udlRAmGbM0XLeniEJSs8uEgHPGuHSe1XsOLSQ== +is-finalizationregistry@^1.1.0: + version "1.1.1" + resolved "https://registry.yarnpkg.com/is-finalizationregistry/-/is-finalizationregistry-1.1.1.tgz#eefdcdc6c94ddd0674d9c85887bf93f944a97c90" + integrity sha512-1pC6N8qWJbWoPtEjgcL2xyhQOP491EQjeUo3qTKcmV8YSDDJrOepfG8pcC7h/QgnQHYSv0mJ3Z/ZWxmatVrysg== + dependencies: + call-bound "^1.0.3" -is-glob@^4.0.0: - version "4.0.1" - resolved "https://registry.npmjs.org/is-glob/-/is-glob-4.0.1.tgz" - integrity sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg== +is-generator-function@^1.0.10: + version "1.1.2" + resolved "https://registry.yarnpkg.com/is-generator-function/-/is-generator-function-1.1.2.tgz#ae3b61e3d5ea4e4839b90bad22b02335051a17d5" + integrity sha512-upqt1SkGkODW9tsGNG5mtXTXtECizwtS2kA161M+gJPc1xdb/Ax629af6YrTwcOeQHbewrPNlE5Dx7kzvXTizA== dependencies: - is-extglob "^2.1.1" + call-bound "^1.0.4" + generator-function "^2.0.0" + get-proto "^1.0.1" + has-tostringtag "^1.0.2" + safe-regex-test "^1.1.0" -is-glob@^4.0.1, is-glob@^4.0.3: +is-glob@^4.0.0, is-glob@^4.0.3: version "4.0.3" - resolved "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz" + resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-4.0.3.tgz#64f61e42cbbb2eec2071a9dac0b28ba1e65d5084" integrity sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg== dependencies: is-extglob "^2.1.1" -is-negative-zero@^2.0.2: - version "2.0.2" - resolved "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.2.tgz" - integrity sha512-dqJvarLawXsFbNDeJW7zAz8ItJ9cd28YufuuFzh0G8pNHjJMnY08Dv7sYX2uF5UpQOwieAeOExEYAWWfu7ZZUA== +is-map@^2.0.3: + version "2.0.3" + resolved "https://registry.yarnpkg.com/is-map/-/is-map-2.0.3.tgz#ede96b7fe1e270b3c4465e3a465658764926d62e" + integrity sha512-1Qed0/Hr2m+YqxnM09CjA2d/i6YZNfF6R2oRAOj36eUdS6qIV/huPJNSEpKbupewFs+ZsJlxsjjPbc0/afW6Lw== -is-number-object@^1.0.4: - version "1.0.7" - resolved "https://registry.npmjs.org/is-number-object/-/is-number-object-1.0.7.tgz" - integrity sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ== - dependencies: - has-tostringtag "^1.0.0" +is-negative-zero@^2.0.3: + version "2.0.3" + resolved "https://registry.yarnpkg.com/is-negative-zero/-/is-negative-zero-2.0.3.tgz#ced903a027aca6381b777a5743069d7376a49747" + integrity sha512-5KoIu2Ngpyek75jXodFvnafB6DJgr3u8uuK0LEZJjrU19DrMD3EVERaR8sjz8CCGgpZvxPl9SuE1GMVPFHx1mw== -is-number@^7.0.0: - version "7.0.0" - resolved "https://registry.yarnpkg.com/is-number/-/is-number-7.0.0.tgz#7535345b896734d5f80c4d06c50955527a14f12b" - integrity sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng== +is-number-object@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/is-number-object/-/is-number-object-1.1.1.tgz#144b21e95a1bc148205dcc2814a9134ec41b2541" + integrity sha512-lZhclumE1G6VYD8VHe35wFaIif+CTy5SJIi5+3y4psDgWu4wPDoBhF8NxUOinEc7pHgiTsT6MaBb92rKhhD+Xw== + dependencies: + call-bound "^1.0.3" + has-tostringtag "^1.0.2" -is-regex@^1.1.4: - version "1.1.4" - resolved "https://registry.npmjs.org/is-regex/-/is-regex-1.1.4.tgz" - integrity sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg== +is-regex@^1.2.1: + version "1.2.1" + resolved "https://registry.yarnpkg.com/is-regex/-/is-regex-1.2.1.tgz#76d70a3ed10ef9be48eb577887d74205bf0cad22" + integrity sha512-MjYsKHO5O7mCsmRGxWcLWheFqN9DJ/2TmngvjKXihe6efViPqc274+Fx/4fYj/r03+ESvBdTXK0V6tA3rgez1g== dependencies: - call-bind "^1.0.2" - has-tostringtag "^1.0.0" + call-bound "^1.0.2" + gopd "^1.2.0" + has-tostringtag "^1.0.2" + hasown "^2.0.2" -is-shared-array-buffer@^1.0.2: - version "1.0.2" - resolved "https://registry.npmjs.org/is-shared-array-buffer/-/is-shared-array-buffer-1.0.2.tgz" - integrity sha512-sqN2UDu1/0y6uvXyStCOzyhAjCSlHceFoMKJW8W9EU9cvic/QdsZ0kEU93HEy3IUEFZIiH/3w+AH/UQbPHNdhA== +is-set@^2.0.3: + version "2.0.3" + resolved "https://registry.yarnpkg.com/is-set/-/is-set-2.0.3.tgz#8ab209ea424608141372ded6e0cb200ef1d9d01d" + integrity sha512-iPAjerrse27/ygGLxw+EBR9agv9Y6uLeYVJMu+QNCoouJ1/1ri0mGrcWpfCqFZuzzx3WjtwxG098X+n4OuRkPg== + +is-shared-array-buffer@^1.0.4: + version "1.0.4" + resolved "https://registry.yarnpkg.com/is-shared-array-buffer/-/is-shared-array-buffer-1.0.4.tgz#9b67844bd9b7f246ba0708c3a93e34269c774f6f" + integrity sha512-ISWac8drv4ZGfwKl5slpHG9OwPNty4jOWPRIhBpxOoD+hqITiwuipOQ2bNthAzwA3B4fIjO4Nln74N0S9byq8A== dependencies: - call-bind "^1.0.2" + call-bound "^1.0.3" -is-stream@^2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-2.0.1.tgz#fac1e3d53b97ad5a9d0ae9cef2389f5810a5c077" - integrity sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg== +is-string@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/is-string/-/is-string-1.1.1.tgz#92ea3f3d5c5b6e039ca8677e5ac8d07ea773cbb9" + integrity sha512-BtEeSsoaQjlSPBemMQIrY1MY0uM6vnS1g5fmufYOtnxLGUZM2178PKbhsk7Ffv58IX+ZtcvoGwccYsh0PglkAA== + dependencies: + call-bound "^1.0.3" + has-tostringtag "^1.0.2" -is-string@^1.0.5, is-string@^1.0.7: - version "1.0.7" - resolved "https://registry.npmjs.org/is-string/-/is-string-1.0.7.tgz" - integrity sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg== +is-symbol@^1.0.4, is-symbol@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/is-symbol/-/is-symbol-1.1.1.tgz#f47761279f532e2b05a7024a7506dbbedacd0634" + integrity sha512-9gGx6GTtCQM73BgmHQXfDmLtfjjTUDSyoxTCbp5WtoixAhfgsDirWIcVQ/IHpvI5Vgd5i/J5F7B9cN/WlVbC/w== dependencies: - has-tostringtag "^1.0.0" + call-bound "^1.0.2" + has-symbols "^1.1.0" + safe-regex-test "^1.1.0" -is-symbol@^1.0.2, is-symbol@^1.0.3: - version "1.0.4" - resolved "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.4.tgz" - integrity sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg== +is-typed-array@^1.1.13, is-typed-array@^1.1.14, is-typed-array@^1.1.15: + version "1.1.15" + resolved "https://registry.yarnpkg.com/is-typed-array/-/is-typed-array-1.1.15.tgz#4bfb4a45b61cee83a5a46fba778e4e8d59c0ce0b" + integrity sha512-p3EcsicXjit7SaskXHs1hA91QxgTw46Fv6EFKKGS5DRFLD8yKnohjF3hxoju94b/OcMZoQukzpPpBE9uLVKzgQ== dependencies: - has-symbols "^1.0.2" + which-typed-array "^1.1.16" -is-typed-array@^1.1.10, is-typed-array@^1.1.12, is-typed-array@^1.1.9: - version "1.1.12" - resolved "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.12.tgz" - integrity sha512-Z14TF2JNG8Lss5/HMqt0//T9JeHXttXy5pH/DBU4vi98ozO2btxzq9MwYDZYnKwU8nRsz/+GVFVRDq3DkVuSPg== +is-weakmap@^2.0.2: + version "2.0.2" + resolved "https://registry.yarnpkg.com/is-weakmap/-/is-weakmap-2.0.2.tgz#bf72615d649dfe5f699079c54b83e47d1ae19cfd" + integrity sha512-K5pXYOm9wqY1RgjpL3YTkF39tni1XajUIkawTLUo9EZEVUFga5gSQJF8nNS7ZwJQ02y+1YCNYcMh+HIf1ZqE+w== + +is-weakref@^1.0.2, is-weakref@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/is-weakref/-/is-weakref-1.1.1.tgz#eea430182be8d64174bd96bffbc46f21bf3f9293" + integrity sha512-6i9mGWSlqzNMEqpCp93KwRS1uUOodk2OJ6b+sq7ZPDSy2WuI5NFIxp/254TytR8ftefexkWn5xNiHUNpPOfSew== dependencies: - which-typed-array "^1.1.11" + call-bound "^1.0.3" -is-weakref@^1.0.2: - version "1.0.2" - resolved "https://registry.npmjs.org/is-weakref/-/is-weakref-1.0.2.tgz" - integrity sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ== +is-weakset@^2.0.3: + version "2.0.4" + resolved "https://registry.yarnpkg.com/is-weakset/-/is-weakset-2.0.4.tgz#c9f5deb0bc1906c6d6f1027f284ddf459249daca" + integrity sha512-mfcwb6IzQyOKTs84CQMrOwW4gQcaTOAWJ0zzJCl2WSPDrWk/OzDaImWFH3djXhb24g4eudZfLRozAvPGw4d9hQ== dependencies: - call-bind "^1.0.2" + call-bound "^1.0.3" + get-intrinsic "^1.2.6" isarray@^2.0.5: version "2.0.5" - resolved "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz" + resolved "https://registry.yarnpkg.com/isarray/-/isarray-2.0.5.tgz#8af1e4c1221244cc62459faf38940d4e644a5723" integrity sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw== isexe@^2.0.0: @@ -3107,34 +1753,12 @@ isexe@^2.0.0: resolved "https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10" integrity sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw== -istanbul-lib-coverage@^3.0.0, istanbul-lib-coverage@^3.2.0: +istanbul-lib-coverage@^3.0.0, istanbul-lib-coverage@^3.2.2: version "3.2.2" resolved "https://registry.yarnpkg.com/istanbul-lib-coverage/-/istanbul-lib-coverage-3.2.2.tgz#2d166c4b0644d43a39f04bf6c2edd1e585f31756" integrity sha512-O8dpsF+r0WV/8MNRKfnmrtCWhuKjxrq2w+jpzBL5UZKTi2LeVWnWOmWRxFlesJONmc+wLAGvKQZEOanko0LFTg== -istanbul-lib-instrument@^5.0.4: - version "5.2.1" - resolved "https://registry.yarnpkg.com/istanbul-lib-instrument/-/istanbul-lib-instrument-5.2.1.tgz#d10c8885c2125574e1c231cacadf955675e1ce3d" - integrity sha512-pzqtp31nLv/XFOzXGuvhCb8qhjmTVo5vjVk19XE4CRlSWz0KoeJ3bw9XsA7nOp9YBf4qHjwBxkDzKcME/J29Yg== - dependencies: - "@babel/core" "^7.12.3" - "@babel/parser" "^7.14.7" - "@istanbuljs/schema" "^0.1.2" - istanbul-lib-coverage "^3.2.0" - semver "^6.3.0" - -istanbul-lib-instrument@^6.0.0: - version "6.0.3" - resolved "https://registry.yarnpkg.com/istanbul-lib-instrument/-/istanbul-lib-instrument-6.0.3.tgz#fa15401df6c15874bcb2105f773325d78c666765" - integrity sha512-Vtgk7L/R2JHyyGW07spoFlB8/lpjiOLTjMdms6AFMraYt3BaJauod/NGrfnVG/y4Ix1JEuMRPDPEj2ua+zz1/Q== - dependencies: - "@babel/core" "^7.23.9" - "@babel/parser" "^7.23.9" - "@istanbuljs/schema" "^0.1.3" - istanbul-lib-coverage "^3.2.0" - semver "^7.5.4" - -istanbul-lib-report@^3.0.0: +istanbul-lib-report@^3.0.0, istanbul-lib-report@^3.0.1: version "3.0.1" resolved "https://registry.yarnpkg.com/istanbul-lib-report/-/istanbul-lib-report-3.0.1.tgz#908305bac9a5bd175ac6a74489eafd0fc2445a7d" integrity sha512-GCfE1mtsHGOELCU8e/Z7YWzpmybrx/+dSTfLrvY8qRmaY6zXTKWn6WQIjaAFw069icm6GVMNkgu0NzI4iPZUNw== @@ -3143,446 +1767,23 @@ istanbul-lib-report@^3.0.0: make-dir "^4.0.0" supports-color "^7.1.0" -istanbul-lib-source-maps@^4.0.0: - version "4.0.1" - resolved "https://registry.yarnpkg.com/istanbul-lib-source-maps/-/istanbul-lib-source-maps-4.0.1.tgz#895f3a709fcfba34c6de5a42939022f3e4358551" - integrity sha512-n3s8EwkdFIJCG3BPKBYvskgXGoy88ARzvegkitk60NxRdwltLOTaH7CUiMRXvwYorl0Q712iEjcWB+fK/MrWVw== - dependencies: - debug "^4.1.1" - istanbul-lib-coverage "^3.0.0" - source-map "^0.6.1" - -istanbul-reports@^3.1.3: - version "3.1.7" - resolved "https://registry.yarnpkg.com/istanbul-reports/-/istanbul-reports-3.1.7.tgz#daed12b9e1dca518e15c056e1e537e741280fa0b" - integrity sha512-BewmUXImeuRk2YY0PVbxgKAysvhRPUQE0h5QRM++nVWyubKGV0l8qQ5op8+B2DOmwSe63Jivj0BjkPQVf8fP5g== +istanbul-reports@^3.2.0: + version "3.2.0" + resolved "https://registry.yarnpkg.com/istanbul-reports/-/istanbul-reports-3.2.0.tgz#cb4535162b5784aa623cee21a7252cf2c807ac93" + integrity sha512-HGYWWS/ehqTV3xN10i23tkPkpH46MLCIMFNCaaKNavAXTF1RkqxawEPtnjnGZ6XKSInBKkiOA5BKS+aZiY3AvA== dependencies: html-escaper "^2.0.0" istanbul-lib-report "^3.0.0" -jackspeak@^3.1.2: - version "3.4.3" - resolved "https://registry.yarnpkg.com/jackspeak/-/jackspeak-3.4.3.tgz#8833a9d89ab4acde6188942bd1c53b6390ed5a8a" - integrity sha512-OGlZQpz2yfahA/Rd1Y8Cd9SIEsqvXkLVoSw/cgwhnhFMDbsQFeZYoJJ7bIZBS9BcamUW96asq/npPWugM+RQBw== - dependencies: - "@isaacs/cliui" "^8.0.2" - optionalDependencies: - "@pkgjs/parseargs" "^0.11.0" - -jake@^10.8.5: - version "10.9.2" - resolved "https://registry.yarnpkg.com/jake/-/jake-10.9.2.tgz#6ae487e6a69afec3a5e167628996b59f35ae2b7f" - integrity sha512-2P4SQ0HrLQ+fw6llpLnOaGAvN2Zu6778SJMrCUwns4fOoG9ayrTiZk3VV8sCPkVZF8ab0zksVpS8FDY5pRCNBA== - dependencies: - async "^3.2.3" - chalk "^4.0.2" - filelist "^1.0.4" - minimatch "^3.1.2" - -jest-changed-files@^29.7.0: - version "29.7.0" - resolved "https://registry.yarnpkg.com/jest-changed-files/-/jest-changed-files-29.7.0.tgz#1c06d07e77c78e1585d020424dedc10d6e17ac3a" - integrity sha512-fEArFiwf1BpQ+4bXSprcDc3/x4HSzL4al2tozwVpDFpsxALjLYdyiIK4e5Vz66GQJIbXJ82+35PtysofptNX2w== - dependencies: - execa "^5.0.0" - jest-util "^29.7.0" - p-limit "^3.1.0" - -jest-circus@^29.7.0: - version "29.7.0" - resolved "https://registry.yarnpkg.com/jest-circus/-/jest-circus-29.7.0.tgz#b6817a45fcc835d8b16d5962d0c026473ee3668a" - integrity sha512-3E1nCMgipcTkCocFwM90XXQab9bS+GMsjdpmPrlelaxwD93Ad8iVEjX/vvHPdLPnFf+L40u+5+iutRdA1N9myw== - dependencies: - "@jest/environment" "^29.7.0" - "@jest/expect" "^29.7.0" - "@jest/test-result" "^29.7.0" - "@jest/types" "^29.6.3" - "@types/node" "*" - chalk "^4.0.0" - co "^4.6.0" - dedent "^1.0.0" - is-generator-fn "^2.0.0" - jest-each "^29.7.0" - jest-matcher-utils "^29.7.0" - jest-message-util "^29.7.0" - jest-runtime "^29.7.0" - jest-snapshot "^29.7.0" - jest-util "^29.7.0" - p-limit "^3.1.0" - pretty-format "^29.7.0" - pure-rand "^6.0.0" - slash "^3.0.0" - stack-utils "^2.0.3" - -jest-cli@^29.7.0: - version "29.7.0" - resolved "https://registry.yarnpkg.com/jest-cli/-/jest-cli-29.7.0.tgz#5592c940798e0cae677eec169264f2d839a37995" - integrity sha512-OVVobw2IubN/GSYsxETi+gOe7Ka59EFMR/twOU3Jb2GnKKeMGJB5SGUUrEz3SFVmJASUdZUzy83sLNNQ2gZslg== - dependencies: - "@jest/core" "^29.7.0" - "@jest/test-result" "^29.7.0" - "@jest/types" "^29.6.3" - chalk "^4.0.0" - create-jest "^29.7.0" - exit "^0.1.2" - import-local "^3.0.2" - jest-config "^29.7.0" - jest-util "^29.7.0" - jest-validate "^29.7.0" - yargs "^17.3.1" - -jest-config@^29.7.0: - version "29.7.0" - resolved "https://registry.yarnpkg.com/jest-config/-/jest-config-29.7.0.tgz#bcbda8806dbcc01b1e316a46bb74085a84b0245f" - integrity sha512-uXbpfeQ7R6TZBqI3/TxCU4q4ttk3u0PJeC+E0zbfSoSjq6bJ7buBPxzQPL0ifrkY4DNu4JUdk0ImlBUYi840eQ== - dependencies: - "@babel/core" "^7.11.6" - "@jest/test-sequencer" "^29.7.0" - "@jest/types" "^29.6.3" - babel-jest "^29.7.0" - chalk "^4.0.0" - ci-info "^3.2.0" - deepmerge "^4.2.2" - glob "^7.1.3" - graceful-fs "^4.2.9" - jest-circus "^29.7.0" - jest-environment-node "^29.7.0" - jest-get-type "^29.6.3" - jest-regex-util "^29.6.3" - jest-resolve "^29.7.0" - jest-runner "^29.7.0" - jest-util "^29.7.0" - jest-validate "^29.7.0" - micromatch "^4.0.4" - parse-json "^5.2.0" - pretty-format "^29.7.0" - slash "^3.0.0" - strip-json-comments "^3.1.1" - -jest-diff@^27.5.1: - version "27.5.1" - resolved "https://registry.yarnpkg.com/jest-diff/-/jest-diff-27.5.1.tgz#a07f5011ac9e6643cf8a95a462b7b1ecf6680def" - integrity sha512-m0NvkX55LDt9T4mctTEgnZk3fmEg3NRYutvMPWM/0iPnkFj2wIeF45O1718cMSOFO1vINkqmxqD8vE37uTEbqw== - dependencies: - chalk "^4.0.0" - diff-sequences "^27.5.1" - jest-get-type "^27.5.1" - pretty-format "^27.5.1" - -jest-diff@^29.7.0: - version "29.7.0" - resolved "https://registry.yarnpkg.com/jest-diff/-/jest-diff-29.7.0.tgz#017934a66ebb7ecf6f205e84699be10afd70458a" - integrity sha512-LMIgiIrhigmPrs03JHpxUh2yISK3vLFPkAodPeo0+BuF7wA2FoQbkEg1u8gBYBThncu7e1oEDUfIXVuTqLRUjw== - dependencies: - chalk "^4.0.0" - diff-sequences "^29.6.3" - jest-get-type "^29.6.3" - pretty-format "^29.7.0" - -jest-docblock@^29.7.0: - version "29.7.0" - resolved "https://registry.yarnpkg.com/jest-docblock/-/jest-docblock-29.7.0.tgz#8fddb6adc3cdc955c93e2a87f61cfd350d5d119a" - integrity sha512-q617Auw3A612guyaFgsbFeYpNP5t2aoUNLwBUbc/0kD1R4t9ixDbyFTHd1nok4epoVFpr7PmeWHrhvuV3XaJ4g== - dependencies: - detect-newline "^3.0.0" - -jest-each@^29.7.0: - version "29.7.0" - resolved "https://registry.yarnpkg.com/jest-each/-/jest-each-29.7.0.tgz#162a9b3f2328bdd991beaabffbb74745e56577d1" - integrity sha512-gns+Er14+ZrEoC5fhOfYCY1LOHHr0TI+rQUHZS8Ttw2l7gl+80eHc/gFf2Ktkw0+SIACDTeWvpFcv3B04VembQ== - dependencies: - "@jest/types" "^29.6.3" - chalk "^4.0.0" - jest-get-type "^29.6.3" - jest-util "^29.7.0" - pretty-format "^29.7.0" - -jest-environment-node@^29.7.0: - version "29.7.0" - resolved "https://registry.yarnpkg.com/jest-environment-node/-/jest-environment-node-29.7.0.tgz#0b93e111dda8ec120bc8300e6d1fb9576e164376" - integrity sha512-DOSwCRqXirTOyheM+4d5YZOrWcdu0LNZ87ewUoywbcb2XR4wKgqiG8vNeYwhjFMbEkfju7wx2GYH0P2gevGvFw== - dependencies: - "@jest/environment" "^29.7.0" - "@jest/fake-timers" "^29.7.0" - "@jest/types" "^29.6.3" - "@types/node" "*" - jest-mock "^29.7.0" - jest-util "^29.7.0" - -jest-get-type@^27.5.1: - version "27.5.1" - resolved "https://registry.yarnpkg.com/jest-get-type/-/jest-get-type-27.5.1.tgz#3cd613c507b0f7ace013df407a1c1cd578bcb4f1" - integrity sha512-2KY95ksYSaK7DMBWQn6dQz3kqAf3BB64y2udeG+hv4KfSOb9qwcYQstTJc1KCbsix+wLZWZYN8t7nwX3GOBLRw== - -jest-get-type@^29.6.3: - version "29.6.3" - resolved "https://registry.yarnpkg.com/jest-get-type/-/jest-get-type-29.6.3.tgz#36f499fdcea197c1045a127319c0481723908fd1" - integrity sha512-zrteXnqYxfQh7l5FHyL38jL39di8H8rHoecLH3JNxH3BwOrBsNeabdap5e0I23lD4HHI8W5VFBZqG4Eaq5LNcw== - -jest-haste-map@^29.7.0: - version "29.7.0" - resolved "https://registry.yarnpkg.com/jest-haste-map/-/jest-haste-map-29.7.0.tgz#3c2396524482f5a0506376e6c858c3bbcc17b104" - integrity sha512-fP8u2pyfqx0K1rGn1R9pyE0/KTn+G7PxktWidOBTqFPLYX0b9ksaMFkhK5vrS3DVun09pckLdlx90QthlW7AmA== - dependencies: - "@jest/types" "^29.6.3" - "@types/graceful-fs" "^4.1.3" - "@types/node" "*" - anymatch "^3.0.3" - fb-watchman "^2.0.0" - graceful-fs "^4.2.9" - jest-regex-util "^29.6.3" - jest-util "^29.7.0" - jest-worker "^29.7.0" - micromatch "^4.0.4" - walker "^1.0.8" - optionalDependencies: - fsevents "^2.3.2" - -jest-leak-detector@^29.7.0: - version "29.7.0" - resolved "https://registry.yarnpkg.com/jest-leak-detector/-/jest-leak-detector-29.7.0.tgz#5b7ec0dadfdfec0ca383dc9aa016d36b5ea4c728" - integrity sha512-kYA8IJcSYtST2BY9I+SMC32nDpBT3J2NvWJx8+JCuCdl/CR1I4EKUJROiP8XtCcxqgTTBGJNdbB1A8XRKbTetw== - dependencies: - jest-get-type "^29.6.3" - pretty-format "^29.7.0" - -jest-matcher-utils@^27.0.0: - version "27.5.1" - resolved "https://registry.yarnpkg.com/jest-matcher-utils/-/jest-matcher-utils-27.5.1.tgz#9c0cdbda8245bc22d2331729d1091308b40cf8ab" - integrity sha512-z2uTx/T6LBaCoNWNFWwChLBKYxTMcGBRjAt+2SbP929/Fflb9aa5LGma654Rz8z9HLxsrUaYzxE9T/EFIL/PAw== - dependencies: - chalk "^4.0.0" - jest-diff "^27.5.1" - jest-get-type "^27.5.1" - pretty-format "^27.5.1" - -jest-matcher-utils@^29.7.0: - version "29.7.0" - resolved "https://registry.yarnpkg.com/jest-matcher-utils/-/jest-matcher-utils-29.7.0.tgz#ae8fec79ff249fd592ce80e3ee474e83a6c44f12" - integrity sha512-sBkD+Xi9DtcChsI3L3u0+N0opgPYnCRPtGcQYrgXmR+hmt/fYfWAL0xRXYU8eWOdfuLgBe0YCW3AFtnRLagq/g== - dependencies: - chalk "^4.0.0" - jest-diff "^29.7.0" - jest-get-type "^29.6.3" - pretty-format "^29.7.0" - -jest-message-util@^29.7.0: - version "29.7.0" - resolved "https://registry.yarnpkg.com/jest-message-util/-/jest-message-util-29.7.0.tgz#8bc392e204e95dfe7564abbe72a404e28e51f7f3" - integrity sha512-GBEV4GRADeP+qtB2+6u61stea8mGcOT4mCtrYISZwfu9/ISHFJ/5zOMXYbpBE9RsS5+Gb63DW4FgmnKJ79Kf6w== - dependencies: - "@babel/code-frame" "^7.12.13" - "@jest/types" "^29.6.3" - "@types/stack-utils" "^2.0.0" - chalk "^4.0.0" - graceful-fs "^4.2.9" - micromatch "^4.0.4" - pretty-format "^29.7.0" - slash "^3.0.0" - stack-utils "^2.0.3" - -jest-mock@^29.7.0: - version "29.7.0" - resolved "https://registry.yarnpkg.com/jest-mock/-/jest-mock-29.7.0.tgz#4e836cf60e99c6fcfabe9f99d017f3fdd50a6347" - integrity sha512-ITOMZn+UkYS4ZFh83xYAOzWStloNzJFO2s8DWrE4lhtGD+AorgnbkiKERe4wQVBydIGPx059g6riW5Btp6Llnw== - dependencies: - "@jest/types" "^29.6.3" - "@types/node" "*" - jest-util "^29.7.0" - -jest-pnp-resolver@^1.2.2: - version "1.2.3" - resolved "https://registry.yarnpkg.com/jest-pnp-resolver/-/jest-pnp-resolver-1.2.3.tgz#930b1546164d4ad5937d5540e711d4d38d4cad2e" - integrity sha512-+3NpwQEnRoIBtx4fyhblQDPgJI0H1IEIkX7ShLUjPGA7TtUTvI1oiKi3SR4oBR0hQhQR80l4WAe5RrXBwWMA8w== - -jest-regex-util@^29.6.3: - version "29.6.3" - resolved "https://registry.yarnpkg.com/jest-regex-util/-/jest-regex-util-29.6.3.tgz#4a556d9c776af68e1c5f48194f4d0327d24e8a52" - integrity sha512-KJJBsRCyyLNWCNBOvZyRDnAIfUiRJ8v+hOBQYGn8gDyF3UegwiP4gwRR3/SDa42g1YbVycTidUF3rKjyLFDWbg== - -jest-resolve-dependencies@^29.7.0: - version "29.7.0" - resolved "https://registry.yarnpkg.com/jest-resolve-dependencies/-/jest-resolve-dependencies-29.7.0.tgz#1b04f2c095f37fc776ff40803dc92921b1e88428" - integrity sha512-un0zD/6qxJ+S0et7WxeI3H5XSe9lTBBR7bOHCHXkKR6luG5mwDDlIzVQ0V5cZCuoTgEdcdwzTghYkTWfubi+nA== - dependencies: - jest-regex-util "^29.6.3" - jest-snapshot "^29.7.0" - -jest-resolve@^29.7.0: - version "29.7.0" - resolved "https://registry.yarnpkg.com/jest-resolve/-/jest-resolve-29.7.0.tgz#64d6a8992dd26f635ab0c01e5eef4399c6bcbc30" - integrity sha512-IOVhZSrg+UvVAshDSDtHyFCCBUl/Q3AAJv8iZ6ZjnZ74xzvwuzLXid9IIIPgTnY62SJjfuupMKZsZQRsCvxEgA== - dependencies: - chalk "^4.0.0" - graceful-fs "^4.2.9" - jest-haste-map "^29.7.0" - jest-pnp-resolver "^1.2.2" - jest-util "^29.7.0" - jest-validate "^29.7.0" - resolve "^1.20.0" - resolve.exports "^2.0.0" - slash "^3.0.0" - -jest-runner@^29.7.0: - version "29.7.0" - resolved "https://registry.yarnpkg.com/jest-runner/-/jest-runner-29.7.0.tgz#809af072d408a53dcfd2e849a4c976d3132f718e" - integrity sha512-fsc4N6cPCAahybGBfTRcq5wFR6fpLznMg47sY5aDpsoejOcVYFb07AHuSnR0liMcPTgBsA3ZJL6kFOjPdoNipQ== - dependencies: - "@jest/console" "^29.7.0" - "@jest/environment" "^29.7.0" - "@jest/test-result" "^29.7.0" - "@jest/transform" "^29.7.0" - "@jest/types" "^29.6.3" - "@types/node" "*" - chalk "^4.0.0" - emittery "^0.13.1" - graceful-fs "^4.2.9" - jest-docblock "^29.7.0" - jest-environment-node "^29.7.0" - jest-haste-map "^29.7.0" - jest-leak-detector "^29.7.0" - jest-message-util "^29.7.0" - jest-resolve "^29.7.0" - jest-runtime "^29.7.0" - jest-util "^29.7.0" - jest-watcher "^29.7.0" - jest-worker "^29.7.0" - p-limit "^3.1.0" - source-map-support "0.5.13" - -jest-runtime@^29.7.0: - version "29.7.0" - resolved "https://registry.yarnpkg.com/jest-runtime/-/jest-runtime-29.7.0.tgz#efecb3141cf7d3767a3a0cc8f7c9990587d3d817" - integrity sha512-gUnLjgwdGqW7B4LvOIkbKs9WGbn+QLqRQQ9juC6HndeDiezIwhDP+mhMwHWCEcfQ5RUXa6OPnFF8BJh5xegwwQ== - dependencies: - "@jest/environment" "^29.7.0" - "@jest/fake-timers" "^29.7.0" - "@jest/globals" "^29.7.0" - "@jest/source-map" "^29.6.3" - "@jest/test-result" "^29.7.0" - "@jest/transform" "^29.7.0" - "@jest/types" "^29.6.3" - "@types/node" "*" - chalk "^4.0.0" - cjs-module-lexer "^1.0.0" - collect-v8-coverage "^1.0.0" - glob "^7.1.3" - graceful-fs "^4.2.9" - jest-haste-map "^29.7.0" - jest-message-util "^29.7.0" - jest-mock "^29.7.0" - jest-regex-util "^29.6.3" - jest-resolve "^29.7.0" - jest-snapshot "^29.7.0" - jest-util "^29.7.0" - slash "^3.0.0" - strip-bom "^4.0.0" - -jest-snapshot@^29.7.0: - version "29.7.0" - resolved "https://registry.yarnpkg.com/jest-snapshot/-/jest-snapshot-29.7.0.tgz#c2c574c3f51865da1bb329036778a69bf88a6be5" - integrity sha512-Rm0BMWtxBcioHr1/OX5YCP8Uov4riHvKPknOGs804Zg9JGZgmIBkbtlxJC/7Z4msKYVbIJtfU+tKb8xlYNfdkw== - dependencies: - "@babel/core" "^7.11.6" - "@babel/generator" "^7.7.2" - "@babel/plugin-syntax-jsx" "^7.7.2" - "@babel/plugin-syntax-typescript" "^7.7.2" - "@babel/types" "^7.3.3" - "@jest/expect-utils" "^29.7.0" - "@jest/transform" "^29.7.0" - "@jest/types" "^29.6.3" - babel-preset-current-node-syntax "^1.0.0" - chalk "^4.0.0" - expect "^29.7.0" - graceful-fs "^4.2.9" - jest-diff "^29.7.0" - jest-get-type "^29.6.3" - jest-matcher-utils "^29.7.0" - jest-message-util "^29.7.0" - jest-util "^29.7.0" - natural-compare "^1.4.0" - pretty-format "^29.7.0" - semver "^7.5.3" - -jest-util@^29.0.0, jest-util@^29.7.0: - version "29.7.0" - resolved "https://registry.yarnpkg.com/jest-util/-/jest-util-29.7.0.tgz#23c2b62bfb22be82b44de98055802ff3710fc0bc" - integrity sha512-z6EbKajIpqGKU56y5KBUgy1dt1ihhQJgWzUlZHArA/+X2ad7Cb5iF+AK1EWVL/Bo7Rz9uurpqw6SiBCefUbCGA== - dependencies: - "@jest/types" "^29.6.3" - "@types/node" "*" - chalk "^4.0.0" - ci-info "^3.2.0" - graceful-fs "^4.2.9" - picomatch "^2.2.3" - -jest-validate@^29.7.0: - version "29.7.0" - resolved "https://registry.yarnpkg.com/jest-validate/-/jest-validate-29.7.0.tgz#7bf705511c64da591d46b15fce41400d52147d9c" - integrity sha512-ZB7wHqaRGVw/9hST/OuFUReG7M8vKeq0/J2egIGLdvjHCmYqGARhzXmtgi+gVeZ5uXFF219aOc3Ls2yLg27tkw== - dependencies: - "@jest/types" "^29.6.3" - camelcase "^6.2.0" - chalk "^4.0.0" - jest-get-type "^29.6.3" - leven "^3.1.0" - pretty-format "^29.7.0" - -jest-watcher@^29.7.0: - version "29.7.0" - resolved "https://registry.yarnpkg.com/jest-watcher/-/jest-watcher-29.7.0.tgz#7810d30d619c3a62093223ce6bb359ca1b28a2f2" - integrity sha512-49Fg7WXkU3Vl2h6LbLtMQ/HyB6rXSIX7SqvBLQmssRBGN9I0PNvPmAmCWSOY6SOvrjhI/F7/bGAv9RtnsPA03g== - dependencies: - "@jest/test-result" "^29.7.0" - "@jest/types" "^29.6.3" - "@types/node" "*" - ansi-escapes "^4.2.1" - chalk "^4.0.0" - emittery "^0.13.1" - jest-util "^29.7.0" - string-length "^4.0.1" - -jest-worker@^29.7.0: - version "29.7.0" - resolved "https://registry.yarnpkg.com/jest-worker/-/jest-worker-29.7.0.tgz#acad073acbbaeb7262bd5389e1bcf43e10058d4a" - integrity sha512-eIz2msL/EzL9UFTFFx7jBTkeZfku0yUAyZZZmJ93H2TYEiroIx2PQjEXcwYtYl8zXCxb+PAmA2hLIt/6ZEkPHw== - dependencies: - "@types/node" "*" - jest-util "^29.7.0" - merge-stream "^2.0.0" - supports-color "^8.0.0" - -jest@^29.7.0: - version "29.7.0" - resolved "https://registry.yarnpkg.com/jest/-/jest-29.7.0.tgz#994676fc24177f088f1c5e3737f5697204ff2613" - integrity sha512-NIy3oAFp9shda19hy4HK0HRTWKtPJmGdnvywu01nOqNC2vZg+Z+fvJDxpMQA88eb2I9EcafcdjYgsDthnYTvGw== - dependencies: - "@jest/core" "^29.7.0" - "@jest/types" "^29.6.3" - import-local "^3.0.2" - jest-cli "^29.7.0" - -js-tokens@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-4.0.0.tgz#19203fb59991df98e3a287050d4647cdeaf32499" - integrity sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ== - -js-yaml@^3.13.1, js-yaml@^4.1.0, js-yaml@^4.1.1: - version "4.1.1" - resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-4.1.1.tgz#854c292467705b699476e1a2decc0c8a3458806b" - integrity sha512-qQKT4zQxXl8lLwBtHMWwaTcGfFOZviOJet3Oy/xmGk2gZH677CJM9EvtfdSkgWcATZhj/55JZ0rmy3myCT5lsA== - dependencies: - argparse "^2.0.1" - -jsesc@^3.0.2: - version "3.1.0" - resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-3.1.0.tgz#74d335a234f67ed19907fdadfac7ccf9d409825d" - integrity sha512-/sM3dO2FOzXjKQhJuo0Q173wf2KOo8t4I8vHy6lF9poUp7bKT0/NHE8fPX23PwfhnykfqnC2xRxOnVw5XuGIaA== +jiti@^2.6.1: + version "2.6.1" + resolved "https://registry.yarnpkg.com/jiti/-/jiti-2.6.1.tgz#178ef2fc9a1a594248c20627cd820187a4d78d92" + integrity sha512-ekilCSN1jwRvIbgeg/57YFh8qQDNbwDb9xT/qu2DAHbFFZUicIl4ygVaAvzveMhMVr3LnpSKTNnwt8PoOfmKhQ== -jsesc@~3.0.2: - version "3.0.2" - resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-3.0.2.tgz#bb8b09a6597ba426425f2e4a07245c3d00b9343e" - integrity sha512-xKqzzWXDttJuOcawBt4KnKHHIf5oQ/Cxax+0PWFG+DFDgHNAdi+TXECADI+RYiFUMmx8792xsMbbgXj4CwnP4g== +js-tokens@^10.0.0: + version "10.0.0" + resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-10.0.0.tgz#dffe7599b4a8bb7fe30aff8d0235234dffb79831" + integrity sha512-lM/UBzQmfJRo9ABXbPWemivdCW8V2G8FHaHdypQaIy523snUjog0W71ayWXTjiR+ixeMyVHN2XcpnTd/liPg/Q== json-bigint@^1.0.0: version "1.0.0" @@ -3591,33 +1792,28 @@ json-bigint@^1.0.0: dependencies: bignumber.js "^9.0.0" -json-parse-even-better-errors@^2.3.0: - version "2.3.1" - resolved "https://registry.yarnpkg.com/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz#7c47805a94319928e05777405dc12e1f7a4ee02d" - integrity sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w== +json-buffer@3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/json-buffer/-/json-buffer-3.0.1.tgz#9338802a30d3b6605fbe0613e094008ca8c05a13" + integrity sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ== json-schema-traverse@^0.4.1: version "0.4.1" - resolved "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz" + resolved "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz#69f6a87d9513ab8bb8fe63bdb0979c448e684660" integrity sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg== json-stable-stringify-without-jsonify@^1.0.1: version "1.0.1" - resolved "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz" - integrity sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE= + resolved "https://registry.yarnpkg.com/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz#9db7b59496ad3f3cfef30a75142d2d930ad72651" + integrity sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw== json5@^1.0.2: version "1.0.2" - resolved "https://registry.npmjs.org/json5/-/json5-1.0.2.tgz" + resolved "https://registry.yarnpkg.com/json5/-/json5-1.0.2.tgz#63d98d60f21b313b77c4d6da18bfa69d80e1d593" integrity sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA== dependencies: minimist "^1.2.0" -json5@^2.2.3: - version "2.2.3" - resolved "https://registry.yarnpkg.com/json5/-/json5-2.2.3.tgz#78cd6f1a19bdc12b73db5ad0c61efd66c1e29283" - integrity sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg== - jsonwebtoken@^9.0.3: version "9.0.3" resolved "https://registry.yarnpkg.com/jsonwebtoken/-/jsonwebtoken-9.0.3.tgz#6cd57ab01e9b0ac07cb847d53d3c9b6ee31f7ae2" @@ -3651,40 +1847,101 @@ jws@^4.0.0, jws@^4.0.1: jwa "^2.0.1" safe-buffer "^5.0.1" -kleur@^3.0.3: - version "3.0.3" - resolved "https://registry.yarnpkg.com/kleur/-/kleur-3.0.3.tgz#a79c9ecc86ee1ce3fa6206d1216c501f147fc07e" - integrity sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w== - -leven@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/leven/-/leven-3.1.0.tgz#77891de834064cccba82ae7842bb6b14a13ed7f2" - integrity sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A== +keyv@^4.5.4: + version "4.5.4" + resolved "https://registry.yarnpkg.com/keyv/-/keyv-4.5.4.tgz#a879a99e29452f942439f2a405e3af8b31d4de93" + integrity sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw== + dependencies: + json-buffer "3.0.1" levn@^0.4.1: version "0.4.1" - resolved "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz" + resolved "https://registry.yarnpkg.com/levn/-/levn-0.4.1.tgz#ae4562c007473b932a6200d403268dd2fffc6ade" integrity sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ== dependencies: prelude-ls "^1.2.1" type-check "~0.4.0" -lines-and-columns@^1.1.6: - version "1.2.4" - resolved "https://registry.yarnpkg.com/lines-and-columns/-/lines-and-columns-1.2.4.tgz#eca284f75d2965079309dc0ad9255abb2ebc1632" - integrity sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg== - -locate-path@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-5.0.0.tgz#1afba396afd676a6d42504d0a67a3a7eb9f62aa0" - integrity sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g== +lightningcss-android-arm64@1.32.0: + version "1.32.0" + resolved "https://registry.yarnpkg.com/lightningcss-android-arm64/-/lightningcss-android-arm64-1.32.0.tgz#f033885116dfefd9c6f54787523e3514b61e1968" + integrity sha512-YK7/ClTt4kAK0vo6w3X+Pnm0D2cf2vPHbhOXdoNti1Ga0al1P4TBZhwjATvjNwLEBCnKvjJc2jQgHXH0NEwlAg== + +lightningcss-darwin-arm64@1.32.0: + version "1.32.0" + resolved "https://registry.yarnpkg.com/lightningcss-darwin-arm64/-/lightningcss-darwin-arm64-1.32.0.tgz#50b71871b01c8199584b649e292547faea7af9b5" + integrity sha512-RzeG9Ju5bag2Bv1/lwlVJvBE3q6TtXskdZLLCyfg5pt+HLz9BqlICO7LZM7VHNTTn/5PRhHFBSjk5lc4cmscPQ== + +lightningcss-darwin-x64@1.32.0: + version "1.32.0" + resolved "https://registry.yarnpkg.com/lightningcss-darwin-x64/-/lightningcss-darwin-x64-1.32.0.tgz#35f3e97332d130b9ca181e11b568ded6aebc6d5e" + integrity sha512-U+QsBp2m/s2wqpUYT/6wnlagdZbtZdndSmut/NJqlCcMLTWp5muCrID+K5UJ6jqD2BFshejCYXniPDbNh73V8w== + +lightningcss-freebsd-x64@1.32.0: + version "1.32.0" + resolved "https://registry.yarnpkg.com/lightningcss-freebsd-x64/-/lightningcss-freebsd-x64-1.32.0.tgz#9777a76472b64ed6ff94342ad64c7bafd794a575" + integrity sha512-JCTigedEksZk3tHTTthnMdVfGf61Fky8Ji2E4YjUTEQX14xiy/lTzXnu1vwiZe3bYe0q+SpsSH/CTeDXK6WHig== + +lightningcss-linux-arm-gnueabihf@1.32.0: + version "1.32.0" + resolved "https://registry.yarnpkg.com/lightningcss-linux-arm-gnueabihf/-/lightningcss-linux-arm-gnueabihf-1.32.0.tgz#13ae652e1ab73b9135d7b7da172f666c410ad53d" + integrity sha512-x6rnnpRa2GL0zQOkt6rts3YDPzduLpWvwAF6EMhXFVZXD4tPrBkEFqzGowzCsIWsPjqSK+tyNEODUBXeeVHSkw== + +lightningcss-linux-arm64-gnu@1.32.0: + version "1.32.0" + resolved "https://registry.yarnpkg.com/lightningcss-linux-arm64-gnu/-/lightningcss-linux-arm64-gnu-1.32.0.tgz#417858795a94592f680123a1b1f9da8a0e1ef335" + integrity sha512-0nnMyoyOLRJXfbMOilaSRcLH3Jw5z9HDNGfT/gwCPgaDjnx0i8w7vBzFLFR1f6CMLKF8gVbebmkUN3fa/kQJpQ== + +lightningcss-linux-arm64-musl@1.32.0: + version "1.32.0" + resolved "https://registry.yarnpkg.com/lightningcss-linux-arm64-musl/-/lightningcss-linux-arm64-musl-1.32.0.tgz#6be36692e810b718040802fd809623cffe732133" + integrity sha512-UpQkoenr4UJEzgVIYpI80lDFvRmPVg6oqboNHfoH4CQIfNA+HOrZ7Mo7KZP02dC6LjghPQJeBsvXhJod/wnIBg== + +lightningcss-linux-x64-gnu@1.32.0: + version "1.32.0" + resolved "https://registry.yarnpkg.com/lightningcss-linux-x64-gnu/-/lightningcss-linux-x64-gnu-1.32.0.tgz#0b7803af4eb21cfd38dd39fe2abbb53c7dd091f6" + integrity sha512-V7Qr52IhZmdKPVr+Vtw8o+WLsQJYCTd8loIfpDaMRWGUZfBOYEJeyJIkqGIDMZPwPx24pUMfwSxxI8phr/MbOA== + +lightningcss-linux-x64-musl@1.32.0: + version "1.32.0" + resolved "https://registry.yarnpkg.com/lightningcss-linux-x64-musl/-/lightningcss-linux-x64-musl-1.32.0.tgz#88dc8ba865ddddb1ac5ef04b0f161804418c163b" + integrity sha512-bYcLp+Vb0awsiXg/80uCRezCYHNg1/l3mt0gzHnWV9XP1W5sKa5/TCdGWaR/zBM2PeF/HbsQv/j2URNOiVuxWg== + +lightningcss-win32-arm64-msvc@1.32.0: + version "1.32.0" + resolved "https://registry.yarnpkg.com/lightningcss-win32-arm64-msvc/-/lightningcss-win32-arm64-msvc-1.32.0.tgz#4f30ba3fa5e925f5b79f945e8cc0d176c3b1ab38" + integrity sha512-8SbC8BR40pS6baCM8sbtYDSwEVQd4JlFTOlaD3gWGHfThTcABnNDBda6eTZeqbofalIJhFx0qKzgHJmcPTnGdw== + +lightningcss-win32-x64-msvc@1.32.0: + version "1.32.0" + resolved "https://registry.yarnpkg.com/lightningcss-win32-x64-msvc/-/lightningcss-win32-x64-msvc-1.32.0.tgz#141aa5605645064928902bb4af045fa7d9f4220a" + integrity sha512-Amq9B/SoZYdDi1kFrojnoqPLxYhQ4Wo5XiL8EVJrVsB8ARoC1PWW6VGtT0WKCemjy8aC+louJnjS7U18x3b06Q== + +lightningcss@^1.32.0: + version "1.32.0" + resolved "https://registry.yarnpkg.com/lightningcss/-/lightningcss-1.32.0.tgz#b85aae96486dcb1bf49a7c8571221273f4f1e4a9" + integrity sha512-NXYBzinNrblfraPGyrbPoD19C1h9lfI/1mzgWYvXUTe414Gz/X1FD2XBZSZM7rRTrMA8JL3OtAaGifrIKhQ5yQ== + dependencies: + detect-libc "^2.0.3" + optionalDependencies: + lightningcss-android-arm64 "1.32.0" + lightningcss-darwin-arm64 "1.32.0" + lightningcss-darwin-x64 "1.32.0" + lightningcss-freebsd-x64 "1.32.0" + lightningcss-linux-arm-gnueabihf "1.32.0" + lightningcss-linux-arm64-gnu "1.32.0" + lightningcss-linux-arm64-musl "1.32.0" + lightningcss-linux-x64-gnu "1.32.0" + lightningcss-linux-x64-musl "1.32.0" + lightningcss-win32-arm64-msvc "1.32.0" + lightningcss-win32-x64-msvc "1.32.0" + +locate-path@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-6.0.0.tgz#55321eb309febbc59c4801d931a72452a681d286" + integrity sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw== dependencies: - p-locate "^4.1.0" - -lodash.debounce@^4.0.8: - version "4.0.8" - resolved "https://registry.yarnpkg.com/lodash.debounce/-/lodash.debounce-4.0.8.tgz#82d79bff30a67c4005ffd5e2515300ad9ca4d7af" - integrity sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow== + p-locate "^5.0.0" lodash.includes@^4.3.0: version "4.3.0" @@ -3716,32 +1973,26 @@ lodash.isstring@^4.0.1: resolved "https://registry.yarnpkg.com/lodash.isstring/-/lodash.isstring-4.0.1.tgz#d527dfb5456eca7cc9bb95d5daeaf88ba54a5451" integrity sha512-0wJxfxH1wgO3GrbuP+dTTk7op+6L41QCXbGINEmD+ny/G/eCqGzxyCsh7159S+mgDDcoarnBw6PC1PS5+wUGgw== -lodash.memoize@^4.1.2: - version "4.1.2" - resolved "https://registry.yarnpkg.com/lodash.memoize/-/lodash.memoize-4.1.2.tgz#bcc6c49a42a2840ed997f323eada5ecd182e0bfe" - integrity sha512-t7j+NzmgnQzTAYXcsHYLgimltOV1MXHtlOWf6GjL9Kj8GK5FInw5JotxvbOs+IvV1/Dzo04/fCGfLVs7aXb4Ag== - -lodash.merge@^4.6.2: - version "4.6.2" - resolved "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz" - integrity sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ== - lodash.once@^4.0.0: version "4.1.1" resolved "https://registry.yarnpkg.com/lodash.once/-/lodash.once-4.1.1.tgz#0dd3971213c7c56df880977d504c88fb471a97ac" integrity sha512-Sb487aTOCr9drQVL8pIxOzVhafOjZN9UU54hiN8PU3uAiSV7lx1yYNpbNmex2PK6dSJoNTSJUUswT651yww3Mg== -lru-cache@^10.2.0: - version "10.4.3" - resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-10.4.3.tgz#410fc8a17b70e598013df257c2446b7f3383f119" - integrity sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ== +magic-string@^0.30.21: + version "0.30.21" + resolved "https://registry.yarnpkg.com/magic-string/-/magic-string-0.30.21.tgz#56763ec09a0fa8091df27879fd94d19078c00d91" + integrity sha512-vd2F4YUyEXKGcLHoq+TEyCjxueSeHnFxyyjNp80yg0XV4vUhnDer/lvvlqM/arB5bXQN5K2/3oinyCRyx8T2CQ== + dependencies: + "@jridgewell/sourcemap-codec" "^1.5.5" -lru-cache@^5.1.1: - version "5.1.1" - resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-5.1.1.tgz#1da27e6710271947695daf6848e847f01d84b920" - integrity sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w== +magicast@^0.5.2: + version "0.5.2" + resolved "https://registry.yarnpkg.com/magicast/-/magicast-0.5.2.tgz#70cea9df729c164485049ea5df85a390281dfb9d" + integrity sha512-E3ZJh4J3S9KfwdjZhe2afj6R9lGIN5Pher1pF39UGrXRqq/VDaGVIGN13BjHd2u8B61hArAGOnso7nBOouW3TQ== dependencies: - yallist "^3.0.2" + "@babel/parser" "^7.29.0" + "@babel/types" "^7.29.0" + source-map-js "^1.2.1" make-dir@^4.0.0: version "4.0.0" @@ -3750,41 +2001,11 @@ make-dir@^4.0.0: dependencies: semver "^7.5.3" -make-error@^1.3.6: - version "1.3.6" - resolved "https://registry.yarnpkg.com/make-error/-/make-error-1.3.6.tgz#2eb2e37ea9b67c4891f684a1394799af484cf7a2" - integrity sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw== - -makeerror@1.0.12: - version "1.0.12" - resolved "https://registry.yarnpkg.com/makeerror/-/makeerror-1.0.12.tgz#3e5dd2079a82e812e983cc6610c4a2cb0eaa801a" - integrity sha512-JmqCvUhmt43madlpFzG4BQzG2Z3m6tvQDNKdClZnO3VbIudJYmxsT0FNJMeiB2+JTSlTQTSbU8QdesVmwJcmLg== - dependencies: - tmpl "1.0.5" - math-intrinsics@^1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/math-intrinsics/-/math-intrinsics-1.1.0.tgz#a0dd74be81e2aa5c2f27e65ce283605ee4e2b7f9" integrity sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g== -merge-stream@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/merge-stream/-/merge-stream-2.0.0.tgz#52823629a14dd00c9770fb6ad47dc6310f2c1f60" - integrity sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w== - -merge2@^1.3.0, merge2@^1.4.1: - version "1.4.1" - resolved "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz" - integrity sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg== - -micromatch@^4.0.4: - version "4.0.8" - resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-4.0.8.tgz#d66fa18f3a47076789320b9b1af32bd86d9fa202" - integrity sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA== - dependencies: - braces "^3.0.3" - picomatch "^2.3.1" - mime-db@1.52.0: version "1.52.0" resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.52.0.tgz#bbabcdc02859f4987301c856e3387ce5ec43bf70" @@ -3797,59 +2018,40 @@ mime-types@^2.1.12: dependencies: mime-db "1.52.0" -mimic-fn@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-2.1.0.tgz#7ed2c2ccccaf84d3ffcb7a69b57711fc2083401b" - integrity sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg== - -minimatch@9.0.3: - version "9.0.3" - resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-9.0.3.tgz#a6e00c3de44c3a542bfaae70abfc22420a6da825" - integrity sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg== +minimatch@^10.2.2, minimatch@^10.2.4: + version "10.2.5" + resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-10.2.5.tgz#bd48687a0be38ed2961399105600f832095861d1" + integrity sha512-MULkVLfKGYDFYejP07QOurDLLQpcjk7Fw+7jXS2R2czRQzR56yHRveU5NDJEOviH+hETZKSkIk5c+T23GjFUMg== dependencies: - brace-expansion "^2.0.1" + brace-expansion "^5.0.5" -minimatch@^3.0.4, minimatch@^3.1.1, minimatch@^3.1.2: - version "3.1.2" - resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.1.2.tgz#19cd194bfd3e428f049a70817c038d89ab4be35b" - integrity sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw== +minimatch@^3.1.2: + version "3.1.5" + resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.1.5.tgz#580c88f8d5445f2bd6aa8f3cadefa0de79fbd69e" + integrity sha512-VgjWUsnnT6n+NUk6eZq77zeFdpW2LWDzP6zFGrCbHXiYNul5Dzqk2HHQ5uFH2DNW5Xbp8+jVzaeNt94ssEEl4w== dependencies: brace-expansion "^1.1.7" -minimatch@^5.0.1: - version "5.1.6" - resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-5.1.6.tgz#1cfcb8cf5522ea69952cd2af95ae09477f122a96" - integrity sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g== - dependencies: - brace-expansion "^2.0.1" - -minimatch@^9.0.4: - version "9.0.5" - resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-9.0.5.tgz#d74f9dd6b57d83d8e98cfb82133b03978bc929e5" - integrity sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow== - dependencies: - brace-expansion "^2.0.1" - minimist@^1.2.0, minimist@^1.2.6: version "1.2.8" resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.8.tgz#c1a464e7693302e082a075cee0c057741ac4772c" integrity sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA== -"minipass@^5.0.0 || ^6.0.2 || ^7.0.0", minipass@^7.1.2: - version "7.1.2" - resolved "https://registry.yarnpkg.com/minipass/-/minipass-7.1.2.tgz#93a9626ce5e5e66bd4db86849e7515e92340a707" - integrity sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw== - -ms@2.1.2: - version "2.1.2" - resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.2.tgz#d09d1f357b443f493382a8eb3ccd183872ae6009" - integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w== - ms@^2.1.1, ms@^2.1.3: version "2.1.3" resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.3.tgz#574c8138ce1d2b5861f0b44579dbadd60c6615b2" integrity sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA== +nanoid@^3.3.11: + version "3.3.11" + resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.3.11.tgz#4f4f112cefbe303202f2199838128936266d185b" + integrity sha512-N8SpfPUnUp1bK+PMYW8qSWdl9U+wwNWI4QKxOYDy9JAro3WMX7p2OeVRF9v+347pnakNevPmiHhNmZ2HbFA76w== + +napi-postinstall@^0.3.0: + version "0.3.4" + resolved "https://registry.yarnpkg.com/napi-postinstall/-/napi-postinstall-0.3.4.tgz#7af256d6588b5f8e952b9190965d6b019653bbb9" + integrity sha512-PHI5f1O0EP5xJ9gQmFGMS6IZcrVvTjpXjz7Na41gTE7eE2hK11lg04CECCYEEjdc17EV4DO+fkGEtt7TpTaTiQ== + natural-compare@^1.4.0: version "1.4.0" resolved "https://registry.yarnpkg.com/natural-compare/-/natural-compare-1.4.0.tgz#4abebfeed7541f2c27acfb29bdbbd15c8d5ba4f7" @@ -3860,6 +2062,16 @@ node-domexception@^1.0.0: resolved "https://registry.yarnpkg.com/node-domexception/-/node-domexception-1.0.0.tgz#6888db46a1f71c0b76b3f7555016b63fe64766e5" integrity sha512-/jKZoMpw0F8GRwl4/eLROPA3cfcXtLApP0QzLmUT/HuPCZWyB7IY9ZrMeKw2O/nFIqPQB3PVM9aYm0F312AXDQ== +node-exports-info@^1.6.0: + version "1.6.0" + resolved "https://registry.yarnpkg.com/node-exports-info/-/node-exports-info-1.6.0.tgz#1aedafb01a966059c9a5e791a94a94d93f5c2a13" + integrity sha512-pyFS63ptit/P5WqUkt+UUfe+4oevH+bFeIiPPdfb0pFeYEu/1ELnJu5l+5EcTKYL5M7zaAa7S8ddywgXypqKCw== + dependencies: + array.prototype.flatmap "^1.3.3" + es-errors "^1.3.0" + object.entries "^1.1.9" + semver "^6.3.1" + node-fetch@^3.3.2: version "3.3.2" resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-3.3.2.tgz#d1e889bacdf733b4ff3b2b243eb7a12866a0b78b" @@ -3869,175 +2081,113 @@ node-fetch@^3.3.2: fetch-blob "^3.1.4" formdata-polyfill "^4.0.10" -node-int64@^0.4.0: - version "0.4.0" - resolved "https://registry.yarnpkg.com/node-int64/-/node-int64-0.4.0.tgz#87a9065cdb355d3182d8f94ce11188b825c68a3b" - integrity sha512-O5lz91xSOeoXP6DulyHfllpq+Eg00MWitZIbtPfoSEvqIHdl5gfcY6hYzDWnj0qD5tz52PI08u9qUvSVeUBeHw== - -node-releases@^2.0.14: - version "2.0.14" - resolved "https://registry.npmjs.org/node-releases/-/node-releases-2.0.14.tgz" - integrity sha512-y10wOWt8yZpqXmOgRo77WaHEmhYQYGNA6y421PKsKYWEK8aW+cqAphborZDhqfyKrbZEN92CN1X2KbafY2s7Yw== - -node-releases@^2.0.19: - version "2.0.19" - resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-2.0.19.tgz#9e445a52950951ec4d177d843af370b411caf314" - integrity sha512-xxOWJsBKtzAq7DY0J+DTzuz58K8e7sJbdgwkbMWQe8UYB6ekmsQ45q0M/tJDsGaZmbC+l7n57UV8Hl5tHxO9uw== - -normalize-path@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-3.0.0.tgz#0dcd69ff23a1c9b11fd0978316644a0388216a65" - integrity sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA== - -npm-run-path@^4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/npm-run-path/-/npm-run-path-4.0.1.tgz#b7ecd1e5ed53da8e37a55e1c2269e0b97ed748ea" - integrity sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw== - dependencies: - path-key "^3.0.0" - -object-inspect@^1.13.1, object-inspect@^1.9.0: - version "1.13.1" - resolved "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.1.tgz" - integrity sha512-5qoj1RUiKOMsCCNLV1CBiPYE10sziTsnmNxkAI/rZhiD63CF7IqdFGC/XzjWjpSgLf0LxXX3bDFIh0E18f6UhQ== +object-inspect@^1.13.3, object-inspect@^1.13.4: + version "1.13.4" + resolved "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.13.4.tgz#8375265e21bc20d0fa582c22e1b13485d6e00213" + integrity sha512-W67iLl4J2EXEGTbfeHCffrjDfitvLANg0UlX3wFUUSTx92KXRFegMHUVgSqE+wvhAbi4WqjGg9czysTV2Epbew== object-keys@^1.1.1: version "1.1.1" resolved "https://registry.yarnpkg.com/object-keys/-/object-keys-1.1.1.tgz#1c47f272df277f3b1daf061677d9c82e2322c60e" integrity sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA== -object.assign@^4.1.2, object.assign@^4.1.4: - version "4.1.5" - resolved "https://registry.npmjs.org/object.assign/-/object.assign-4.1.5.tgz" - integrity sha512-byy+U7gp+FVwmyzKPYhW2h5l3crpmGsxl7X2s8y43IgxvG4g3QZ6CffDtsNQy1WsmZpQbO+ybo0AlW7TY6DcBQ== +object.assign@^4.1.7: + version "4.1.7" + resolved "https://registry.yarnpkg.com/object.assign/-/object.assign-4.1.7.tgz#8c14ca1a424c6a561b0bb2a22f66f5049a945d3d" + integrity sha512-nK28WOo+QIjBkDduTINE4JkF/UJJKyf2EJxvJKfblDpyg0Q+pkOHNTL0Qwy6NP6FhE/EnzV73BxxqcJaXY9anw== dependencies: - call-bind "^1.0.5" + call-bind "^1.0.8" + call-bound "^1.0.3" define-properties "^1.2.1" - has-symbols "^1.0.3" + es-object-atoms "^1.0.0" + has-symbols "^1.1.0" object-keys "^1.1.1" -object.entries@^1.1.5: - version "1.1.7" - resolved "https://registry.npmjs.org/object.entries/-/object.entries-1.1.7.tgz" - integrity sha512-jCBs/0plmPsOnrKAfFQXRG2NFjlhZgjjcBLSmTnEhU8U6vVTsVe8ANeQJCHTl3gSsI4J+0emOoCgoKlmQPMgmA== - dependencies: - call-bind "^1.0.2" - define-properties "^1.2.0" - es-abstract "^1.22.1" - -object.fromentries@^2.0.7: - version "2.0.7" - resolved "https://registry.npmjs.org/object.fromentries/-/object.fromentries-2.0.7.tgz" - integrity sha512-UPbPHML6sL8PI/mOqPwsH4G6iyXcCGzLin8KvEPenOZN5lpCNBZZQ+V62vdjB1mQHrmqGQt5/OJzemUA+KJmEA== +object.entries@^1.1.9: + version "1.1.9" + resolved "https://registry.yarnpkg.com/object.entries/-/object.entries-1.1.9.tgz#e4770a6a1444afb61bd39f984018b5bede25f8b3" + integrity sha512-8u/hfXFRBD1O0hPUjioLhoWFHRmt6tKA4/vZPyckBr18l1KE9uHrFaFaUi8MDRTpi4uak2goyPTSNJLXX2k2Hw== dependencies: - call-bind "^1.0.2" - define-properties "^1.2.0" - es-abstract "^1.22.1" + call-bind "^1.0.8" + call-bound "^1.0.4" + define-properties "^1.2.1" + es-object-atoms "^1.1.1" -object.groupby@^1.0.1: - version "1.0.1" - resolved "https://registry.npmjs.org/object.groupby/-/object.groupby-1.0.1.tgz" - integrity sha512-HqaQtqLnp/8Bn4GL16cj+CUYbnpe1bh0TtEaWvybszDG4tgxCJuRpV8VGuvNaI1fAnI4lUJzDG55MXcOH4JZcQ== +object.fromentries@^2.0.8: + version "2.0.8" + resolved "https://registry.yarnpkg.com/object.fromentries/-/object.fromentries-2.0.8.tgz#f7195d8a9b97bd95cbc1999ea939ecd1a2b00c65" + integrity sha512-k6E21FzySsSK5a21KRADBd/NGneRegFO5pLHfdQLpRDETUNJueLXs3WCzyQ3tFRDYgbq3KHGXfTbi2bs8WQ6rQ== dependencies: - call-bind "^1.0.2" - define-properties "^1.2.0" - es-abstract "^1.22.1" - get-intrinsic "^1.2.1" + call-bind "^1.0.7" + define-properties "^1.2.1" + es-abstract "^1.23.2" + es-object-atoms "^1.0.0" -object.values@^1.1.7: - version "1.1.7" - resolved "https://registry.npmjs.org/object.values/-/object.values-1.1.7.tgz" - integrity sha512-aU6xnDFYT3x17e/f0IiiwlGPTy2jzMySGfUB4fq6z7CV8l85CWHDk5ErhyhpfDHhrOMwGFhSQkhMGHaIotA6Ng== +object.groupby@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/object.groupby/-/object.groupby-1.0.3.tgz#9b125c36238129f6f7b61954a1e7176148d5002e" + integrity sha512-+Lhy3TQTuzXI5hevh8sBGqbmurHbbIjAi0Z4S63nthVLmLxfbj4T54a4CfZrXIrt9iP4mVAPYMo/v99taj3wjQ== dependencies: - call-bind "^1.0.2" - define-properties "^1.2.0" - es-abstract "^1.22.1" + call-bind "^1.0.7" + define-properties "^1.2.1" + es-abstract "^1.23.2" -once@^1.3.0: - version "1.4.0" - resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1" - integrity sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w== +object.values@^1.2.1: + version "1.2.1" + resolved "https://registry.yarnpkg.com/object.values/-/object.values-1.2.1.tgz#deed520a50809ff7f75a7cfd4bc64c7a038c6216" + integrity sha512-gXah6aZrcUxjWg2zR2MwouP2eHlCBzdV4pygudehaKXSGW4v2AsRQUK+lwwXhii6KFZcunEnmSUoYp5CXibxtA== dependencies: - wrappy "1" + call-bind "^1.0.8" + call-bound "^1.0.3" + define-properties "^1.2.1" + es-object-atoms "^1.0.0" -onetime@^5.1.2: - version "5.1.2" - resolved "https://registry.yarnpkg.com/onetime/-/onetime-5.1.2.tgz#d0e96ebb56b07476df1dd9c4806e5237985ca45e" - integrity sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg== - dependencies: - mimic-fn "^2.1.0" +obug@^2.1.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/obug/-/obug-2.1.1.tgz#2cba74ff241beb77d63055ddf4cd1e9f90b538be" + integrity sha512-uTqF9MuPraAQ+IsnPf366RG4cP9RtUi7MLO1N3KEc+wb0a6yKpeL0lmk2IB1jY5KHPAlTc6T/JRdC/YqxHNwkQ== -optionator@^0.9.1: - version "0.9.1" - resolved "https://registry.npmjs.org/optionator/-/optionator-0.9.1.tgz" - integrity sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw== +optionator@^0.9.3: + version "0.9.4" + resolved "https://registry.yarnpkg.com/optionator/-/optionator-0.9.4.tgz#7ea1c1a5d91d764fb282139c88fe11e182a3a734" + integrity sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g== dependencies: deep-is "^0.1.3" fast-levenshtein "^2.0.6" levn "^0.4.1" prelude-ls "^1.2.1" type-check "^0.4.0" - word-wrap "^1.2.3" + word-wrap "^1.2.5" -p-limit@^2.2.0: - version "2.3.0" - resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-2.3.0.tgz#3dd33c647a214fdfffd835933eb086da0dc21db1" - integrity sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w== +own-keys@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/own-keys/-/own-keys-1.0.1.tgz#e4006910a2bf913585289676eebd6f390cf51358" + integrity sha512-qFOyK5PjiWZd+QQIh+1jhdb9LpxTF0qs7Pm8o5QHYZ0M3vKqSqzsZaEB6oWlxZ+q2sJBMI/Ktgd2N5ZwQoRHfg== dependencies: - p-try "^2.0.0" + get-intrinsic "^1.2.6" + object-keys "^1.1.1" + safe-push-apply "^1.0.0" -p-limit@^3.1.0: +p-limit@^3.0.2: version "3.1.0" resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-3.1.0.tgz#e1daccbe78d0d1388ca18c64fea38e3e57e3706b" integrity sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ== dependencies: yocto-queue "^0.1.0" -p-locate@^4.1.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-4.1.0.tgz#a3428bb7088b3a60292f66919278b7c297ad4f07" - integrity sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A== - dependencies: - p-limit "^2.2.0" - -p-try@^2.0.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/p-try/-/p-try-2.2.0.tgz#cb2868540e313d61de58fafbe35ce9004d5540e6" - integrity sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ== - -package-json-from-dist@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/package-json-from-dist/-/package-json-from-dist-1.0.1.tgz#4f1471a010827a86f94cfd9b0727e36d267de505" - integrity sha512-UEZIS3/by4OC8vL3P2dTXRETpebLI2NiI5vIrjaD/5UtrkFX/tNbwjTSRAGC/+7CAo2pIcBaRgWmcBBHcsaCIw== - -parent-module@^1.0.0: - version "1.0.1" - resolved "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz" - integrity sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g== - dependencies: - callsites "^3.0.0" - -parse-json@^5.2.0: - version "5.2.0" - resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-5.2.0.tgz#c76fc66dee54231c962b22bcc8a72cf2f99753cd" - integrity sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg== +p-locate@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-5.0.0.tgz#83c8315c6785005e3bd021839411c9e110e6d834" + integrity sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw== dependencies: - "@babel/code-frame" "^7.0.0" - error-ex "^1.3.1" - json-parse-even-better-errors "^2.3.0" - lines-and-columns "^1.1.6" + p-limit "^3.0.2" path-exists@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-4.0.0.tgz#513bdbe2d3b95d7762e8c1137efa195c6c61b5b3" integrity sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w== -path-is-absolute@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f" - integrity sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg== - -path-key@^3.0.0, path-key@^3.1.0: +path-key@^3.1.0: version "3.1.1" resolved "https://registry.yarnpkg.com/path-key/-/path-key-3.1.1.tgz#581f6ade658cbba65a0d3380de7753295054f375" integrity sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q== @@ -4047,243 +2197,138 @@ path-parse@^1.0.7: resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.7.tgz#fbc114b60ca42b30d9daf5858e4bd68bbedb6735" integrity sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw== -path-scurry@^1.11.1: - version "1.11.1" - resolved "https://registry.yarnpkg.com/path-scurry/-/path-scurry-1.11.1.tgz#7960a668888594a0720b12a911d1a742ab9f11d2" - integrity sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA== - dependencies: - lru-cache "^10.2.0" - minipass "^5.0.0 || ^6.0.2 || ^7.0.0" - -path-type@^4.0.0: - version "4.0.0" - resolved "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz" - integrity sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw== +pathe@^2.0.3: + version "2.0.3" + resolved "https://registry.yarnpkg.com/pathe/-/pathe-2.0.3.tgz#3ecbec55421685b70a9da872b2cff3e1cbed1716" + integrity sha512-WUjGcAqP1gQacoQe+OBJsFA7Ld4DyXuUIjZ5cc75cLHvJ7dtNsTugphxIADwspS+AraAUePCKrSVtPLFj/F88w== -picocolors@^1.0.0, picocolors@^1.1.1: +picocolors@^1.1.1: version "1.1.1" resolved "https://registry.yarnpkg.com/picocolors/-/picocolors-1.1.1.tgz#3d321af3eab939b083c8f929a1d12cda81c26b6b" integrity sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA== -picomatch@^2.0.4, picomatch@^2.2.3, picomatch@^2.3.1: - version "2.3.1" - resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.3.1.tgz#3ba3833733646d9d3e4995946c1365a67fb07a42" - integrity sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA== +picomatch@^4.0.3, picomatch@^4.0.4: + version "4.0.4" + resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-4.0.4.tgz#fd6f5e00a143086e074dffe4c924b8fb293b0589" + integrity sha512-QP88BAKvMam/3NxH6vj2o21R6MjxZUAd6nlwAS/pnGvN9IVLocLHxGYIzFhg6fUQ+5th6P4dv4eW9jX3DSIj7A== -pirates@^4.0.4: - version "4.0.6" - resolved "https://registry.yarnpkg.com/pirates/-/pirates-4.0.6.tgz#3018ae32ecfcff6c29ba2267cbf21166ac1f36b9" - integrity sha512-saLsH7WeYYPiD25LDuLRRY/i+6HaPYr6G1OUlN39otzkSTxKnubR9RTxS3/Kk50s1g2JTgFwWQDQyplC5/SHZg== +possible-typed-array-names@^1.0.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/possible-typed-array-names/-/possible-typed-array-names-1.1.0.tgz#93e3582bc0e5426586d9d07b79ee40fc841de4ae" + integrity sha512-/+5VFTchJDoVj3bhoqi6UeymcD00DAwb1nJwamzPvHEszJ4FpF6SNNbUbOS8yI56qHzdV8eK0qEfOSiodkTdxg== -pkg-dir@^4.2.0: - version "4.2.0" - resolved "https://registry.yarnpkg.com/pkg-dir/-/pkg-dir-4.2.0.tgz#f099133df7ede422e81d1d8448270eeb3e4261f3" - integrity sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ== +postcss@^8.5.10: + version "8.5.10" + resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.5.10.tgz#8992d8c30acf3f12169e7c09514a12fed7e48356" + integrity sha512-pMMHxBOZKFU6HgAZ4eyGnwXF/EvPGGqUr0MnZ5+99485wwW41kW91A4LOGxSHhgugZmSChL5AlElNdwlNgcnLQ== dependencies: - find-up "^4.0.0" + nanoid "^3.3.11" + picocolors "^1.1.1" + source-map-js "^1.2.1" prelude-ls@^1.2.1: version "1.2.1" - resolved "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz" + resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.2.1.tgz#debc6489d7a6e6b0e7611888cec880337d316396" integrity sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g== -pretty-format@^27.0.0, pretty-format@^27.5.1: - version "27.5.1" - resolved "https://registry.yarnpkg.com/pretty-format/-/pretty-format-27.5.1.tgz#2181879fdea51a7a5851fb39d920faa63f01d88e" - integrity sha512-Qb1gy5OrP5+zDf2Bvnzdl3jsTf1qXVMazbvCoKhtKqVs4/YK4ozX4gKQJJVyNe+cajNPn0KoC0MC3FUmaHWEmQ== - dependencies: - ansi-regex "^5.0.1" - ansi-styles "^5.0.0" - react-is "^17.0.1" - -pretty-format@^29.7.0: - version "29.7.0" - resolved "https://registry.yarnpkg.com/pretty-format/-/pretty-format-29.7.0.tgz#ca42c758310f365bfa71a0bda0a807160b776812" - integrity sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ== +prettier-linter-helpers@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/prettier-linter-helpers/-/prettier-linter-helpers-1.0.1.tgz#6a31f88a4bad6c7adda253de12ba4edaea80ebcd" + integrity sha512-SxToR7P8Y2lWmv/kTzVLC1t/GDI2WGjMwNhLLE9qtH8Q13C+aEmuRlzDst4Up4s0Wc8sF2M+J57iB3cMLqftfg== dependencies: - "@jest/schemas" "^29.6.3" - ansi-styles "^5.0.0" - react-is "^18.0.0" + fast-diff "^1.1.2" -prompts@^2.0.1: - version "2.4.2" - resolved "https://registry.yarnpkg.com/prompts/-/prompts-2.4.2.tgz#7b57e73b3a48029ad10ebd44f74b01722a4cb069" - integrity sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q== - dependencies: - kleur "^3.0.3" - sisteransi "^1.0.5" +prettier@^3.8.3: + version "3.8.3" + resolved "https://registry.yarnpkg.com/prettier/-/prettier-3.8.3.tgz#560f2de55bf01b4c0503bc629d5df99b9a1d09b0" + integrity sha512-7igPTM53cGHMW8xWuVTydi2KO233VFiTNyF5hLJqpilHfmn8C8gPf+PS7dUT64YcXFbiMGZxS9pCSxL/Dxm/Jw== -proxy-from-env@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/proxy-from-env/-/proxy-from-env-1.1.0.tgz#e102f16ca355424865755d2c9e8ea4f24d58c3e2" - integrity sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg== +proxy-from-env@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/proxy-from-env/-/proxy-from-env-2.1.0.tgz#a7487568adad577cfaaa7e88c49cab3ab3081aba" + integrity sha512-cJ+oHTW1VAEa8cJslgmUZrc+sjRKgAKl3Zyse6+PV38hZe/V6Z14TbCuXcan9F9ghlz4QrFr2c92TNF82UkYHA== punycode@^2.1.0: - version "2.1.1" - resolved "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz" - integrity sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A== - -pure-rand@^6.0.0: - version "6.1.0" - resolved "https://registry.yarnpkg.com/pure-rand/-/pure-rand-6.1.0.tgz#d173cf23258231976ccbdb05247c9787957604f2" - integrity sha512-bVWawvoZoBYpp6yIoQtQXHZjmz35RSVHnUOTefl8Vcjr8snTPY1wnpSPMWekcFwbxI6gtmT7rSYPFvz71ldiOA== - -queue-microtask@^1.2.2: - version "1.2.3" - resolved "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz" - integrity sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A== - -react-is@^17.0.1: - version "17.0.2" - resolved "https://registry.npmjs.org/react-is/-/react-is-17.0.2.tgz" - integrity sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w== - -react-is@^18.0.0: - version "18.3.1" - resolved "https://registry.yarnpkg.com/react-is/-/react-is-18.3.1.tgz#e83557dc12eae63a99e003a46388b1dcbb44db7e" - integrity sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg== - -regenerate-unicode-properties@^10.2.0: - version "10.2.0" - resolved "https://registry.yarnpkg.com/regenerate-unicode-properties/-/regenerate-unicode-properties-10.2.0.tgz#626e39df8c372338ea9b8028d1f99dc3fd9c3db0" - integrity sha512-DqHn3DwbmmPVzeKj9woBadqmXxLvQoQIwu7nopMc72ztvxVmVk2SBhSnx67zuye5TP+lJsb/TBQsjLKhnDf3MA== - dependencies: - regenerate "^1.4.2" - -regenerate@^1.4.2: - version "1.4.2" - resolved "https://registry.yarnpkg.com/regenerate/-/regenerate-1.4.2.tgz#b9346d8827e8f5a32f7ba29637d398b69014848a" - integrity sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A== - -regenerator-runtime@^0.14.1: - version "0.14.1" - resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.14.1.tgz#356ade10263f685dda125100cd862c1db895327f" - integrity sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw== - -regenerator-transform@^0.15.2: - version "0.15.2" - resolved "https://registry.yarnpkg.com/regenerator-transform/-/regenerator-transform-0.15.2.tgz#5bbae58b522098ebdf09bca2f83838929001c7a4" - integrity sha512-hfMp2BoF0qOk3uc5V20ALGDS2ddjQaLrdl7xrGXvAIow7qeWRM2VA2HuCHkUKk9slq3VwEwLNK3DFBqDfPGYtg== - dependencies: - "@babel/runtime" "^7.8.4" + version "2.3.1" + resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.3.1.tgz#027422e2faec0b25e1549c3e1bd8309b9133b6e5" + integrity sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg== -regexp.prototype.flags@^1.5.1: - version "1.5.1" - resolved "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.5.1.tgz" - integrity sha512-sy6TXMN+hnP/wMy+ISxg3krXx7BAtWVO4UouuCN/ziM9UEne0euamVNafDfvC83bRNr95y0V5iijeDQFUNpvrg== +reflect.getprototypeof@^1.0.6, reflect.getprototypeof@^1.0.9: + version "1.0.10" + resolved "https://registry.yarnpkg.com/reflect.getprototypeof/-/reflect.getprototypeof-1.0.10.tgz#c629219e78a3316d8b604c765ef68996964e7bf9" + integrity sha512-00o4I+DVrefhv+nX0ulyi3biSHCPDe+yLv5o/p6d/UVlirijB8E16FtfwSAi4g3tcqrQ4lRAqQSoFEZJehYEcw== dependencies: - call-bind "^1.0.2" - define-properties "^1.2.0" - set-function-name "^2.0.0" - -regexpp@^3.2.0: - version "3.2.0" - resolved "https://registry.npmjs.org/regexpp/-/regexpp-3.2.0.tgz" - integrity sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg== - -regexpu-core@^6.2.0: - version "6.2.0" - resolved "https://registry.yarnpkg.com/regexpu-core/-/regexpu-core-6.2.0.tgz#0e5190d79e542bf294955dccabae04d3c7d53826" - integrity sha512-H66BPQMrv+V16t8xtmq+UC0CBpiTBA60V8ibS1QVReIp8T1z8hwFxqcGzm9K6lgsN7sB5edVH8a+ze6Fqm4weA== - dependencies: - regenerate "^1.4.2" - regenerate-unicode-properties "^10.2.0" - regjsgen "^0.8.0" - regjsparser "^0.12.0" - unicode-match-property-ecmascript "^2.0.0" - unicode-match-property-value-ecmascript "^2.1.0" - -regjsgen@^0.8.0: - version "0.8.0" - resolved "https://registry.yarnpkg.com/regjsgen/-/regjsgen-0.8.0.tgz#df23ff26e0c5b300a6470cad160a9d090c3a37ab" - integrity sha512-RvwtGe3d7LvWiDQXeQw8p5asZUmfU1G/l6WbUXeHta7Y2PEIvBTwH6E2EfmYUK8pxcxEdEmaomqyp0vZZ7C+3Q== - -regjsparser@^0.12.0: - version "0.12.0" - resolved "https://registry.yarnpkg.com/regjsparser/-/regjsparser-0.12.0.tgz#0e846df6c6530586429377de56e0475583b088dc" - integrity sha512-cnE+y8bz4NhMjISKbgeVJtqNbtf5QpjZP+Bslo+UqkIt9QPnX9q095eiRRASJG1/tz6dlNr6Z5NsBiWYokp6EQ== - dependencies: - jsesc "~3.0.2" - -require-directory@^2.1.1: - version "2.1.1" - resolved "https://registry.yarnpkg.com/require-directory/-/require-directory-2.1.1.tgz#8c64ad5fd30dab1c976e2344ffe7f792a6a6df42" - integrity sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q== + call-bind "^1.0.8" + define-properties "^1.2.1" + es-abstract "^1.23.9" + es-errors "^1.3.0" + es-object-atoms "^1.0.0" + get-intrinsic "^1.2.7" + get-proto "^1.0.1" + which-builtin-type "^1.2.1" -resolve-cwd@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/resolve-cwd/-/resolve-cwd-3.0.0.tgz#0f0075f1bb2544766cf73ba6a6e2adfebcb13f2d" - integrity sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg== +regexp.prototype.flags@^1.5.4: + version "1.5.4" + resolved "https://registry.yarnpkg.com/regexp.prototype.flags/-/regexp.prototype.flags-1.5.4.tgz#1ad6c62d44a259007e55b3970e00f746efbcaa19" + integrity sha512-dYqgNSZbDwkaJ2ceRd9ojCGjBq+mOm9LmtXnAnEGyHhN/5R7iDW2TRw3h+o/jCFxus3P2LfWIIiwowAjANm7IA== dependencies: - resolve-from "^5.0.0" - -resolve-from@^4.0.0: - version "4.0.0" - resolved "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz" - integrity sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g== - -resolve-from@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-5.0.0.tgz#c35225843df8f776df21c57557bc087e9dfdfc69" - integrity sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw== - -resolve.exports@^2.0.0: - version "2.0.3" - resolved "https://registry.yarnpkg.com/resolve.exports/-/resolve.exports-2.0.3.tgz#41955e6f1b4013b7586f873749a635dea07ebe3f" - integrity sha512-OcXjMsGdhL4XnbShKpAcSqPMzQoYkYyhbEaeSko47MjRP9NfEQMhZkXL1DoFlt9LWQn4YttrdnV6X2OiyzBi+A== + call-bind "^1.0.8" + define-properties "^1.2.1" + es-errors "^1.3.0" + get-proto "^1.0.1" + gopd "^1.2.0" + set-function-name "^2.0.2" -resolve@^1.14.2, resolve@^1.20.0: - version "1.22.10" - resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.22.10.tgz#b663e83ffb09bbf2386944736baae803029b8b39" - integrity sha512-NPRy+/ncIMeDlTAsuqwKIiferiawhefFJtkNSW0qZJEqMEb+qBt/77B/jGeeek+F0uOeN05CDa6HXbbIgtVX4w== - dependencies: - is-core-module "^2.16.0" - path-parse "^1.0.7" - supports-preserve-symlinks-flag "^1.0.0" +resolve-pkg-maps@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/resolve-pkg-maps/-/resolve-pkg-maps-1.0.0.tgz#616b3dc2c57056b5588c31cdf4b3d64db133720f" + integrity sha512-seS2Tj26TBVOC2NIc2rOe2y2ZO7efxITtLZcGSOnHHNOQ7CkiUBfw0Iw2ck6xkIhPwLhKNLS8BO+hEpngQlqzw== -resolve@^1.22.4: - version "1.22.8" - resolved "https://registry.npmjs.org/resolve/-/resolve-1.22.8.tgz" - integrity sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw== +resolve@^2.0.0-next.6: + version "2.0.0-next.6" + resolved "https://registry.yarnpkg.com/resolve/-/resolve-2.0.0-next.6.tgz#b3961812be69ace7b3bc35d5bf259434681294af" + integrity sha512-3JmVl5hMGtJ3kMmB3zi3DL25KfkCEyy3Tw7Gmw7z5w8M9WlwoPFnIvwChzu1+cF3iaK3sp18hhPz8ANeimdJfA== dependencies: - is-core-module "^2.13.0" + es-errors "^1.3.0" + is-core-module "^2.16.1" + node-exports-info "^1.6.0" + object-keys "^1.1.1" path-parse "^1.0.7" supports-preserve-symlinks-flag "^1.0.0" -reusify@^1.0.4: - version "1.0.4" - resolved "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz" - integrity sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw== - -rimraf@^3.0.2: - version "3.0.2" - resolved "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz" - integrity sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA== - dependencies: - glob "^7.1.3" - -rimraf@^5.0.1: - version "5.0.10" - resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-5.0.10.tgz#23b9843d3dc92db71f96e1a2ce92e39fd2a8221c" - integrity sha512-l0OE8wL34P4nJH/H2ffoaniAokM2qSmrtXHmlpvYr5AVVX8msAyW0l8NVJFDxlSK4u3Uh/f41cQheDVdnYijwQ== +rolldown@1.0.0-rc.16: + version "1.0.0-rc.16" + resolved "https://registry.yarnpkg.com/rolldown/-/rolldown-1.0.0-rc.16.tgz#47c1e6b088be3f531a9aacbdb8a90e2255f02702" + integrity sha512-rzi5WqKzEZw3SooTt7cgm4eqIoujPIyGcJNGFL7iPEuajQw7vxMHUkXylu4/vhCkJGXsgRmxqMKXUpT6FEgl0g== dependencies: - glob "^10.3.7" - -run-parallel@^1.1.9: - version "1.2.0" - resolved "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz" - integrity sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA== - dependencies: - queue-microtask "^1.2.2" - -safe-array-concat@^1.0.1: - version "1.0.1" - resolved "https://registry.npmjs.org/safe-array-concat/-/safe-array-concat-1.0.1.tgz" - integrity sha512-6XbUAseYE2KtOuGueyeobCySj9L4+66Tn6KQMOPQJrAJEowYKW/YR/MGJZl7FdydUdaFu4LYyDZjxf4/Nmo23Q== + "@oxc-project/types" "=0.126.0" + "@rolldown/pluginutils" "1.0.0-rc.16" + optionalDependencies: + "@rolldown/binding-android-arm64" "1.0.0-rc.16" + "@rolldown/binding-darwin-arm64" "1.0.0-rc.16" + "@rolldown/binding-darwin-x64" "1.0.0-rc.16" + "@rolldown/binding-freebsd-x64" "1.0.0-rc.16" + "@rolldown/binding-linux-arm-gnueabihf" "1.0.0-rc.16" + "@rolldown/binding-linux-arm64-gnu" "1.0.0-rc.16" + "@rolldown/binding-linux-arm64-musl" "1.0.0-rc.16" + "@rolldown/binding-linux-ppc64-gnu" "1.0.0-rc.16" + "@rolldown/binding-linux-s390x-gnu" "1.0.0-rc.16" + "@rolldown/binding-linux-x64-gnu" "1.0.0-rc.16" + "@rolldown/binding-linux-x64-musl" "1.0.0-rc.16" + "@rolldown/binding-openharmony-arm64" "1.0.0-rc.16" + "@rolldown/binding-wasm32-wasi" "1.0.0-rc.16" + "@rolldown/binding-win32-arm64-msvc" "1.0.0-rc.16" + "@rolldown/binding-win32-x64-msvc" "1.0.0-rc.16" + +safe-array-concat@^1.1.3: + version "1.1.4" + resolved "https://registry.yarnpkg.com/safe-array-concat/-/safe-array-concat-1.1.4.tgz#a54cc9b61a57f33b42abad3cbdda3a2b38cc5719" + integrity sha512-wtZlHyOje6OZTGqAoaDKxFkgRtkF9CnHAVnCHKfuj200wAgL+bSJhdsCD2l0Qx/2ekEXjPWcyKkfGb5CPboslg== dependencies: - call-bind "^1.0.2" - get-intrinsic "^1.2.1" - has-symbols "^1.0.3" + call-bind "^1.0.9" + call-bound "^1.0.4" + get-intrinsic "^1.3.0" + has-symbols "^1.1.0" isarray "^2.0.5" safe-buffer@^5.0.1: @@ -4291,39 +2336,32 @@ safe-buffer@^5.0.1: resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.2.1.tgz#1eaf9fa9bdb1fdd4ec75f58f9cdb4e6b7827eec6" integrity sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ== -safe-regex-test@^1.0.0: +safe-push-apply@^1.0.0: version "1.0.0" - resolved "https://registry.npmjs.org/safe-regex-test/-/safe-regex-test-1.0.0.tgz" - integrity sha512-JBUUzyOgEwXQY1NuPtvcj/qcBDbDmEvWufhlnXZIm75DEHp+afM1r1ujJpJsV/gSM4t59tpDyPi1sd6ZaPFfsA== + resolved "https://registry.yarnpkg.com/safe-push-apply/-/safe-push-apply-1.0.0.tgz#01850e981c1602d398c85081f360e4e6d03d27f5" + integrity sha512-iKE9w/Z7xCzUMIZqdBsp6pEQvwuEebH4vdpjcDWnyzaI6yl6O9FHvVpmGelvEHNsoY6wGblkxR6Zty/h00WiSA== + dependencies: + es-errors "^1.3.0" + isarray "^2.0.5" + +safe-regex-test@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/safe-regex-test/-/safe-regex-test-1.1.0.tgz#7f87dfb67a3150782eaaf18583ff5d1711ac10c1" + integrity sha512-x/+Cz4YrimQxQccJf5mKEbIa1NzeCRNI5Ecl/ekmlYaampdNLPalVyIcCZNNH3MvmqBugV5TMYZXv0ljslUlaw== dependencies: - call-bind "^1.0.2" - get-intrinsic "^1.1.3" - is-regex "^1.1.4" + call-bound "^1.0.2" + es-errors "^1.3.0" + is-regex "^1.2.1" -semver@^6.3.0, semver@^6.3.1: +semver@^6.3.1: version "6.3.1" resolved "https://registry.yarnpkg.com/semver/-/semver-6.3.1.tgz#556d2ef8689146e46dcea4bfdd095f3434dffcb4" integrity sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA== -semver@^7.5.3, semver@^7.7.1: - version "7.7.1" - resolved "https://registry.yarnpkg.com/semver/-/semver-7.7.1.tgz#abd5098d82b18c6c81f6074ff2647fd3e7220c9f" - integrity sha512-hlq8tAfn0m/61p4BVRcPzIGr6LKiMwo4VM6dGi6pt4qcRkmNzTcWq6eCEjEh+qXjkMDvPlOFFSGwQjoEa6gyMA== - -semver@^7.5.4: - version "7.7.3" - resolved "https://registry.yarnpkg.com/semver/-/semver-7.7.3.tgz#4b5f4143d007633a8dc671cd0a6ef9147b8bb946" - integrity sha512-SdsKMrI9TdgjdweUSR9MweHA4EJ8YxHn8DFaDisvhVlUOe4BF1tLD7GAj0lIqWVl+dPb/rExr0Btby5loQm20Q== - -set-function-length@^1.1.1: - version "1.1.1" - resolved "https://registry.npmjs.org/set-function-length/-/set-function-length-1.1.1.tgz" - integrity sha512-VoaqjbBJKiWtg4yRcKBQ7g7wnGnLV3M8oLvVWwOk2PdYY6PEFegR1vezXR0tw6fZGF9csVakIRjrJiy2veSBFQ== - dependencies: - define-data-property "^1.1.1" - get-intrinsic "^1.2.1" - gopd "^1.0.1" - has-property-descriptors "^1.0.0" +semver@^7.5.3, semver@^7.5.4, semver@^7.7.1, semver@^7.7.3: + version "7.7.4" + resolved "https://registry.yarnpkg.com/semver/-/semver-7.7.4.tgz#28464e36060e991fa7a11d0279d2d3f3b57a7e8a" + integrity sha512-vFKC2IEtQnVhpT78h1Yp8wzwrf8CM+MzKMHGJZfBtzhZNycRFnXsHk6E5TxIkkMsgNS7mdX3AGB7x2QM2di4lA== set-function-length@^1.2.2: version "1.2.2" @@ -4337,14 +2375,24 @@ set-function-length@^1.2.2: gopd "^1.0.1" has-property-descriptors "^1.0.2" -set-function-name@^2.0.0: - version "2.0.1" - resolved "https://registry.npmjs.org/set-function-name/-/set-function-name-2.0.1.tgz" - integrity sha512-tMNCiqYVkXIZgc2Hnoy2IvC/f8ezc5koaRFkCjrpWzGpCd3qbZXPzVy9MAZzK1ch/X0jvSkojys3oqJN0qCmdA== +set-function-name@^2.0.2: + version "2.0.2" + resolved "https://registry.yarnpkg.com/set-function-name/-/set-function-name-2.0.2.tgz#16a705c5a0dc2f5e638ca96d8a8cd4e1c2b90985" + integrity sha512-7PGFlmtwsEADb0WYyvCMa1t+yke6daIG4Wirafur5kcf+MhUnPms1UeR0CKQdTZD81yESwMHbtn+TR+dMviakQ== dependencies: - define-data-property "^1.0.1" + define-data-property "^1.1.4" + es-errors "^1.3.0" functions-have-names "^1.2.3" - has-property-descriptors "^1.0.0" + has-property-descriptors "^1.0.2" + +set-proto@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/set-proto/-/set-proto-1.0.0.tgz#0760dbcff30b2d7e801fd6e19983e56da337565e" + integrity sha512-RJRdvCo6IAnPdsvP/7m6bsQqNnn1FCBX5ZNtFL98MmFF/4xAIJTIg1YbHW5DC2W5SKZanrC6i4HsJqlajw/dZw== + dependencies: + dunder-proto "^1.0.1" + es-errors "^1.3.0" + es-object-atoms "^1.0.0" shebang-command@^2.0.0: version "2.0.0" @@ -4358,158 +2406,116 @@ shebang-regex@^3.0.0: resolved "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-3.0.0.tgz#ae16f1644d873ecad843b0307b143362d4c42172" integrity sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A== -side-channel@^1.0.4: - version "1.0.4" - resolved "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz" - integrity sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw== +side-channel-list@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/side-channel-list/-/side-channel-list-1.0.1.tgz#c2e0b5a14a540aebee3bbc6c3f8666cc9b509127" + integrity sha512-mjn/0bi/oUURjc5Xl7IaWi/OJJJumuoJFQJfDDyO46+hBWsfaVM65TBHq2eoZBhzl9EchxOijpkbRC8SVBQU0w== dependencies: - call-bind "^1.0.0" - get-intrinsic "^1.0.2" - object-inspect "^1.9.0" - -signal-exit@^3.0.3, signal-exit@^3.0.7: - version "3.0.7" - resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.7.tgz#a9a1767f8af84155114eaabd73f99273c8f59ad9" - integrity sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ== - -signal-exit@^4.0.1: - version "4.1.0" - resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-4.1.0.tgz#952188c1cbd546070e2dd20d0f41c0ae0530cb04" - integrity sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw== - -sisteransi@^1.0.5: - version "1.0.5" - resolved "https://registry.yarnpkg.com/sisteransi/-/sisteransi-1.0.5.tgz#134d681297756437cc05ca01370d3a7a571075ed" - integrity sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg== - -slash@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/slash/-/slash-3.0.0.tgz#6539be870c165adbd5240220dbe361f1bc4d4634" - integrity sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q== + es-errors "^1.3.0" + object-inspect "^1.13.4" -source-map-support@0.5.13: - version "0.5.13" - resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.5.13.tgz#31b24a9c2e73c2de85066c0feb7d44767ed52932" - integrity sha512-SHSKFHadjVA5oR4PPqhtAVdcBWwRYVd6g6cAXnIbRiIwc2EhPrTuKUBdSLvlEKyIP3GCf89fltvcZiP9MMFA1w== +side-channel-map@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/side-channel-map/-/side-channel-map-1.0.1.tgz#d6bb6b37902c6fef5174e5f533fab4c732a26f42" + integrity sha512-VCjCNfgMsby3tTdo02nbjtM/ewra6jPHmpThenkTYh8pG9ucZ/1P8So4u4FGBek/BjpOVsDCMoLA/iuBKIFXRA== dependencies: - buffer-from "^1.0.0" - source-map "^0.6.0" - -source-map@^0.6.0, source-map@^0.6.1: - version "0.6.1" - resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.6.1.tgz#74722af32e9614e9c287a8d0bbde48b5e2f1a263" - integrity sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g== + call-bound "^1.0.2" + es-errors "^1.3.0" + get-intrinsic "^1.2.5" + object-inspect "^1.13.3" -stack-utils@^2.0.3: - version "2.0.6" - resolved "https://registry.yarnpkg.com/stack-utils/-/stack-utils-2.0.6.tgz#aaf0748169c02fc33c8232abccf933f54a1cc34f" - integrity sha512-XlkWvfIm6RmsWtNJx+uqtKLS8eqFbxUg0ZzLXqY0caEy9l7hruX8IpiDnjsLavoBgqCCR71TqWO8MaXYheJ3RQ== +side-channel-weakmap@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/side-channel-weakmap/-/side-channel-weakmap-1.0.2.tgz#11dda19d5368e40ce9ec2bdc1fb0ecbc0790ecea" + integrity sha512-WPS/HvHQTYnHisLo9McqBHOJk2FkHO/tlpvldyrnem4aeQp4hai3gythswg6p01oSoTl58rcpiFAjF2br2Ak2A== dependencies: - escape-string-regexp "^2.0.0" + call-bound "^1.0.2" + es-errors "^1.3.0" + get-intrinsic "^1.2.5" + object-inspect "^1.13.3" + side-channel-map "^1.0.1" -string-length@^4.0.1: - version "4.0.2" - resolved "https://registry.yarnpkg.com/string-length/-/string-length-4.0.2.tgz#a8a8dc7bd5c1a82b9b3c8b87e125f66871b6e57a" - integrity sha512-+l6rNN5fYHNhZZy41RXsYptCjA2Igmq4EG7kZAYFQI1E1VTXarr6ZPXBg6eq7Y6eK4FEhY6AJlyuFIb/v/S0VQ== +side-channel@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/side-channel/-/side-channel-1.1.0.tgz#c3fcff9c4da932784873335ec9765fa94ff66bc9" + integrity sha512-ZX99e6tRweoUXqR+VBrslhda51Nh5MTQwou5tnUDgbtyM0dBgmhEDtWGP/xbKn6hqfPRHujUNwz5fy/wbbhnpw== dependencies: - char-regex "^1.0.2" - strip-ansi "^6.0.0" + es-errors "^1.3.0" + object-inspect "^1.13.3" + side-channel-list "^1.0.0" + side-channel-map "^1.0.1" + side-channel-weakmap "^1.0.2" -"string-width-cjs@npm:string-width@^4.2.0": - version "4.2.3" - resolved "https://registry.yarnpkg.com/string-width/-/string-width-4.2.3.tgz#269c7117d27b05ad2e536830a8ec895ef9c6d010" - integrity sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g== - dependencies: - emoji-regex "^8.0.0" - is-fullwidth-code-point "^3.0.0" - strip-ansi "^6.0.1" +siginfo@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/siginfo/-/siginfo-2.0.0.tgz#32e76c70b79724e3bb567cb9d543eb858ccfaf30" + integrity sha512-ybx0WO1/8bSBLEWXZvEd7gMW3Sn3JFlW3TvX1nREbDLRNQNaeNN8WK0meBwPdAaOI7TtRRRJn/Es1zhrrCHu7g== -string-width@^4.1.0, string-width@^4.2.0, string-width@^4.2.3: - version "4.2.3" - resolved "https://registry.yarnpkg.com/string-width/-/string-width-4.2.3.tgz#269c7117d27b05ad2e536830a8ec895ef9c6d010" - integrity sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g== - dependencies: - emoji-regex "^8.0.0" - is-fullwidth-code-point "^3.0.0" - strip-ansi "^6.0.1" +source-map-js@^1.2.1: + version "1.2.1" + resolved "https://registry.yarnpkg.com/source-map-js/-/source-map-js-1.2.1.tgz#1ce5650fddd87abc099eda37dcff024c2667ae46" + integrity sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA== -string-width@^5.0.1, string-width@^5.1.2: - version "5.1.2" - resolved "https://registry.yarnpkg.com/string-width/-/string-width-5.1.2.tgz#14f8daec6d81e7221d2a357e668cab73bdbca794" - integrity sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA== - dependencies: - eastasianwidth "^0.2.0" - emoji-regex "^9.2.2" - strip-ansi "^7.0.1" +stable-hash-x@^0.2.0: + version "0.2.0" + resolved "https://registry.yarnpkg.com/stable-hash-x/-/stable-hash-x-0.2.0.tgz#dfd76bfa5d839a7470125c6a6b3c8b22061793e9" + integrity sha512-o3yWv49B/o4QZk5ZcsALc6t0+eCelPc44zZsLtCQnZPDwFpDYSWcDnrv2TtMmMbQ7uKo3J0HTURCqckw23czNQ== -string.prototype.trim@^1.2.8: - version "1.2.8" - resolved "https://registry.npmjs.org/string.prototype.trim/-/string.prototype.trim-1.2.8.tgz" - integrity sha512-lfjY4HcixfQXOfaqCvcBuOIapyaroTXhbkfJN3gcB1OtyupngWK4sEET9Knd0cXd28kTUqu/kHoV4HKSJdnjiQ== - dependencies: - call-bind "^1.0.2" - define-properties "^1.2.0" - es-abstract "^1.22.1" +stackback@0.0.2: + version "0.0.2" + resolved "https://registry.yarnpkg.com/stackback/-/stackback-0.0.2.tgz#1ac8a0d9483848d1695e418b6d031a3c3ce68e3b" + integrity sha512-1XMJE5fQo1jGH6Y/7ebnwPOBEkIEnT4QF32d5R1+VXdXveM0IBMJt8zfaxX1P3QhVwrYe+576+jkANtSS2mBbw== -string.prototype.trimend@^1.0.7: - version "1.0.7" - resolved "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.7.tgz" - integrity sha512-Ni79DqeB72ZFq1uH/L6zJ+DKZTkOtPIHovb3YZHQViE+HDouuU4mBrLOLDn5Dde3RF8qw5qVETEjhu9locMLvA== - dependencies: - call-bind "^1.0.2" - define-properties "^1.2.0" - es-abstract "^1.22.1" +std-env@^4.0.0-rc.1: + version "4.1.0" + resolved "https://registry.yarnpkg.com/std-env/-/std-env-4.1.0.tgz#45899abc590d86d682e87f0acd1033a75084cd3f" + integrity sha512-Rq7ybcX2RuC55r9oaPVEW7/xu3tj8u4GeBYHBWCychFtzMIr86A7e3PPEBPT37sHStKX3+TiX/Fr/ACmJLVlLQ== -string.prototype.trimstart@^1.0.7: - version "1.0.7" - resolved "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.7.tgz" - integrity sha512-NGhtDFu3jCEm7B4Fy0DpLewdJQOZcQ0rGbwQ/+stjnrp2i+rlKeCvos9hOIeCmqwratM47OBxY7uFZzjxHXmrg== +stop-iteration-iterator@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/stop-iteration-iterator/-/stop-iteration-iterator-1.1.0.tgz#f481ff70a548f6124d0312c3aa14cbfa7aa542ad" + integrity sha512-eLoXW/DHyl62zxY4SCaIgnRhuMr6ri4juEYARS8E6sCEqzKpOiE521Ucofdx+KnDZl5xmvGYaaKCk5FEOxJCoQ== dependencies: - call-bind "^1.0.2" - define-properties "^1.2.0" - es-abstract "^1.22.1" + es-errors "^1.3.0" + internal-slot "^1.1.0" -"strip-ansi-cjs@npm:strip-ansi@^6.0.1": - version "6.0.1" - resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-6.0.1.tgz#9e26c63d30f53443e9489495b2105d37b67a85d9" - integrity sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A== +string.prototype.trim@^1.2.10: + version "1.2.10" + resolved "https://registry.yarnpkg.com/string.prototype.trim/-/string.prototype.trim-1.2.10.tgz#40b2dd5ee94c959b4dcfb1d65ce72e90da480c81" + integrity sha512-Rs66F0P/1kedk5lyYyH9uBzuiI/kNRmwJAR9quK6VOtIpZ2G+hMZd+HQbbv25MgCA6gEffoMZYxlTod4WcdrKA== dependencies: - ansi-regex "^5.0.1" + call-bind "^1.0.8" + call-bound "^1.0.2" + define-data-property "^1.1.4" + define-properties "^1.2.1" + es-abstract "^1.23.5" + es-object-atoms "^1.0.0" + has-property-descriptors "^1.0.2" -strip-ansi@^6.0.0, strip-ansi@^6.0.1: - version "6.0.1" - resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-6.0.1.tgz#9e26c63d30f53443e9489495b2105d37b67a85d9" - integrity sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A== +string.prototype.trimend@^1.0.9: + version "1.0.9" + resolved "https://registry.yarnpkg.com/string.prototype.trimend/-/string.prototype.trimend-1.0.9.tgz#62e2731272cd285041b36596054e9f66569b6942" + integrity sha512-G7Ok5C6E/j4SGfyLCloXTrngQIQU3PWtXGst3yM7Bea9FRURf1S42ZHlZZtsNque2FN2PoUhfZXYLNWwEr4dLQ== dependencies: - ansi-regex "^5.0.1" + call-bind "^1.0.8" + call-bound "^1.0.2" + define-properties "^1.2.1" + es-object-atoms "^1.0.0" -strip-ansi@^7.0.1: - version "7.1.2" - resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-7.1.2.tgz#132875abde678c7ea8d691533f2e7e22bb744dba" - integrity sha512-gmBGslpoQJtgnMAvOVqGZpEz9dyoKTCzy2nfz/n8aIFhN/jCE/rCmcxabB6jOOHV+0WNnylOxaxBQPSvcWklhA== +string.prototype.trimstart@^1.0.8: + version "1.0.8" + resolved "https://registry.yarnpkg.com/string.prototype.trimstart/-/string.prototype.trimstart-1.0.8.tgz#7ee834dda8c7c17eff3118472bb35bfedaa34dde" + integrity sha512-UXSH262CSZY1tfu3G3Secr6uGLCFVPMhIqHjlgCUtCCcgihYc/xKs9djMTMUOb2j1mVSeU8EU6NWc/iQKU6Gfg== dependencies: - ansi-regex "^6.0.1" + call-bind "^1.0.7" + define-properties "^1.2.1" + es-object-atoms "^1.0.0" strip-bom@^3.0.0: version "3.0.0" - resolved "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz" + resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-3.0.0.tgz#2334c18e9c759f7bdd56fdef7e9ae3d588e68ed3" integrity sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA== -strip-bom@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-4.0.0.tgz#9c3505c1db45bcedca3d9cf7a16f5c5aa3901878" - integrity sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w== - -strip-final-newline@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/strip-final-newline/-/strip-final-newline-2.0.0.tgz#89b852fb2fcbe936f6f4b3187afb0a12c1ab58ad" - integrity sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA== - -strip-json-comments@^3.1.0, strip-json-comments@^3.1.1: - version "3.1.1" - resolved "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz" - integrity sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig== - supports-color@^7.1.0: version "7.2.0" resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-7.2.0.tgz#1b7dcdcb32b8138801b3e478ba6a51caa89648da" @@ -4517,67 +2523,49 @@ supports-color@^7.1.0: dependencies: has-flag "^4.0.0" -supports-color@^8.0.0: - version "8.1.1" - resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-8.1.1.tgz#cd6fc17e28500cff56c1b86c0a7fd4a54a73005c" - integrity sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q== - dependencies: - has-flag "^4.0.0" - supports-preserve-symlinks-flag@^1.0.0: version "1.0.0" - resolved "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz" + resolved "https://registry.yarnpkg.com/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz#6eda4bd344a3c94aea376d4cc31bc77311039e09" integrity sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w== -test-exclude@^6.0.0: - version "6.0.0" - resolved "https://registry.yarnpkg.com/test-exclude/-/test-exclude-6.0.0.tgz#04a8698661d805ea6fa293b6cb9e63ac044ef15e" - integrity sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w== +synckit@^0.11.12: + version "0.11.12" + resolved "https://registry.yarnpkg.com/synckit/-/synckit-0.11.12.tgz#abe74124264fbc00a48011b0d98bdc1cffb64a7b" + integrity sha512-Bh7QjT8/SuKUIfObSXNHNSK6WHo6J1tHCqJsuaFDP7gP0fkzSfTxI8y85JrppZ0h8l0maIgc2tfuZQ6/t3GtnQ== dependencies: - "@istanbuljs/schema" "^0.1.2" - glob "^7.1.4" - minimatch "^3.0.4" + "@pkgr/core" "^0.2.9" -text-table@^0.2.0: - version "0.2.0" - resolved "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz" - integrity sha1-f17oI66AUgfACvLfSoTsP8+lcLQ= +tinybench@^2.9.0: + version "2.9.0" + resolved "https://registry.yarnpkg.com/tinybench/-/tinybench-2.9.0.tgz#103c9f8ba6d7237a47ab6dd1dcff77251863426b" + integrity sha512-0+DUvqWMValLmha6lr4kD8iAMK1HzV0/aKnCtWb9v9641TnP/MFb7Pc2bxoxQjTXAErryXVgUOfv2YqNllqGeg== -tmpl@1.0.5: - version "1.0.5" - resolved "https://registry.yarnpkg.com/tmpl/-/tmpl-1.0.5.tgz#8683e0b902bb9c20c4f726e3c0b69f36518c07cc" - integrity sha512-3f0uOEAQwIqGuWW2MVzYg8fV/QNnc/IpuJNG837rLuczAaLVHslWHZQj4IGiEl5Hs3kkbhwL9Ab7Hrsmuj+Smw== +tinyexec@^1.0.2: + version "1.1.1" + resolved "https://registry.yarnpkg.com/tinyexec/-/tinyexec-1.1.1.tgz#e1ff45dfa60d1dedb91b734956b78f6c2a3e821b" + integrity sha512-VKS/ZaQhhkKFMANmAOhhXVoIfBXblQxGX1myCQ2faQrfmobMftXeJPcZGp0gS07ocvGJWDLZGyOZDadDBqYIJg== -to-regex-range@^5.0.1: - version "5.0.1" - resolved "https://registry.yarnpkg.com/to-regex-range/-/to-regex-range-5.0.1.tgz#1648c44aae7c8d988a326018ed72f5b4dd0392e4" - integrity sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ== - dependencies: - is-number "^7.0.0" - -ts-api-utils@^1.0.1: - version "1.4.3" - resolved "https://registry.yarnpkg.com/ts-api-utils/-/ts-api-utils-1.4.3.tgz#bfc2215fe6528fecab2b0fba570a2e8a4263b064" - integrity sha512-i3eMG77UTMD0hZhgRS562pv83RC6ukSAC2GMNWc+9dieh/+jDM5u5YG+NHX6VNDRHQcHwmsTHctP9LhbC3WxVw== - -ts-jest@^29.1.1: - version "29.2.6" - resolved "https://registry.yarnpkg.com/ts-jest/-/ts-jest-29.2.6.tgz#df53edf8b72fb89de032cfa310abf37582851d9a" - integrity sha512-yTNZVZqc8lSixm+QGVFcPe6+yj7+TWZwIesuOWvfcn4B9bz5x4NDzVCQQjOs7Hfouu36aEqfEbo9Qpo+gq8dDg== - dependencies: - bs-logger "^0.2.6" - ejs "^3.1.10" - fast-json-stable-stringify "^2.1.0" - jest-util "^29.0.0" - json5 "^2.2.3" - lodash.memoize "^4.1.2" - make-error "^1.3.6" - semver "^7.7.1" - yargs-parser "^21.1.1" +tinyglobby@^0.2.14, tinyglobby@^0.2.15, tinyglobby@^0.2.16: + version "0.2.16" + resolved "https://registry.yarnpkg.com/tinyglobby/-/tinyglobby-0.2.16.tgz#1c3b7eb953fce42b226bc5a1ee06428281aff3d6" + integrity sha512-pn99VhoACYR8nFHhxqix+uvsbXineAasWm5ojXoN8xEwK5Kd3/TrhNn1wByuD52UxWRLy8pu+kRMniEi6Eq9Zg== + dependencies: + fdir "^6.5.0" + picomatch "^4.0.4" + +tinyrainbow@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/tinyrainbow/-/tinyrainbow-3.1.0.tgz#1d8a623893f95cf0a2ddb9e5d11150e191409421" + integrity sha512-Bf+ILmBgretUrdJxzXM0SgXLZ3XfiaUuOj/IKQHuTXip+05Xn+uyEYdVg0kYDipTBcLrCVyUzAPz7QmArb0mmw== + +ts-api-utils@^2.5.0: + version "2.5.0" + resolved "https://registry.yarnpkg.com/ts-api-utils/-/ts-api-utils-2.5.0.tgz#4acd4a155e22734990a5ed1fe9e97f113bcb37c1" + integrity sha512-OJ/ibxhPlqrMM0UiNHJ/0CKQkoKF243/AEmplt3qpRgkW8VG7IfOS41h7V8TjITqdByHzrjcS/2si+y4lIh8NA== tsconfig-paths@^3.15.0: version "3.15.0" - resolved "https://registry.npmjs.org/tsconfig-paths/-/tsconfig-paths-3.15.0.tgz" + resolved "https://registry.yarnpkg.com/tsconfig-paths/-/tsconfig-paths-3.15.0.tgz#5299ec605e55b1abb23ec939ef15edaf483070d4" integrity sha512-2Ac2RgzDe/cn48GvOe3M+o82pEFewD3UPbyoUHHdKasHwJKjds4fLXWf/Ux5kATBKN20oaFGu+jbElp1pos0mg== dependencies: "@types/json5" "^0.0.29" @@ -4585,180 +2573,223 @@ tsconfig-paths@^3.15.0: minimist "^1.2.6" strip-bom "^3.0.0" +tslib@^2.4.0: + version "2.8.1" + resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.8.1.tgz#612efe4ed235d567e8aba5f2a5fab70280ade83f" + integrity sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w== + type-check@^0.4.0, type-check@~0.4.0: version "0.4.0" - resolved "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz" + resolved "https://registry.yarnpkg.com/type-check/-/type-check-0.4.0.tgz#07b8203bfa7056c0657050e3ccd2c37730bab8f1" integrity sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew== dependencies: prelude-ls "^1.2.1" -type-detect@4.0.8: - version "4.0.8" - resolved "https://registry.yarnpkg.com/type-detect/-/type-detect-4.0.8.tgz#7646fb5f18871cfbb7749e69bd39a6388eb7450c" - integrity sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g== - -type-fest@^0.20.2: - version "0.20.2" - resolved "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz" - integrity sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ== - -type-fest@^0.21.3: - version "0.21.3" - resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.21.3.tgz#d260a24b0198436e133fa26a524a6d65fa3b2e37" - integrity sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w== - -typed-array-buffer@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/typed-array-buffer/-/typed-array-buffer-1.0.0.tgz" - integrity sha512-Y8KTSIglk9OZEr8zywiIHG/kmQ7KWyjseXs1CbSo8vC42w7hg2HgYTxSWwP0+is7bWDc1H+Fo026CpHFwm8tkw== +typed-array-buffer@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/typed-array-buffer/-/typed-array-buffer-1.0.3.tgz#a72395450a4869ec033fd549371b47af3a2ee536" + integrity sha512-nAYYwfY3qnzX30IkA6AQZjVbtK6duGontcQm1WSG1MD94YLqK0515GNApXkoxKOWMusVssAHWLh9SeaoefYFGw== dependencies: - call-bind "^1.0.2" - get-intrinsic "^1.2.1" - is-typed-array "^1.1.10" + call-bound "^1.0.3" + es-errors "^1.3.0" + is-typed-array "^1.1.14" -typed-array-byte-length@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/typed-array-byte-length/-/typed-array-byte-length-1.0.0.tgz" - integrity sha512-Or/+kvLxNpeQ9DtSydonMxCx+9ZXOswtwJn17SNLvhptaXYDJvkFFP5zbfU/uLmvnBJlI4yrnXRxpdWH/M5tNA== +typed-array-byte-length@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/typed-array-byte-length/-/typed-array-byte-length-1.0.3.tgz#8407a04f7d78684f3d252aa1a143d2b77b4160ce" + integrity sha512-BaXgOuIxz8n8pIq3e7Atg/7s+DpiYrxn4vdot3w9KbnBhcRQq6o3xemQdIfynqSeXeDrF32x+WvfzmOjPiY9lg== dependencies: - call-bind "^1.0.2" + call-bind "^1.0.8" for-each "^0.3.3" - has-proto "^1.0.1" - is-typed-array "^1.1.10" + gopd "^1.2.0" + has-proto "^1.2.0" + is-typed-array "^1.1.14" -typed-array-byte-offset@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/typed-array-byte-offset/-/typed-array-byte-offset-1.0.0.tgz" - integrity sha512-RD97prjEt9EL8YgAgpOkf3O4IF9lhJFr9g0htQkm0rchFp/Vx7LW5Q8fSXXub7BXAODyUQohRMyOc3faCPd0hg== +typed-array-byte-offset@^1.0.4: + version "1.0.4" + resolved "https://registry.yarnpkg.com/typed-array-byte-offset/-/typed-array-byte-offset-1.0.4.tgz#ae3698b8ec91a8ab945016108aef00d5bff12355" + integrity sha512-bTlAFB/FBYMcuX81gbL4OcpH5PmlFHqlCCpAl8AlEzMz5k53oNDvN8p1PNOWLEmI2x4orp3raOFB51tv9X+MFQ== dependencies: - available-typed-arrays "^1.0.5" - call-bind "^1.0.2" + available-typed-arrays "^1.0.7" + call-bind "^1.0.8" for-each "^0.3.3" - has-proto "^1.0.1" - is-typed-array "^1.1.10" + gopd "^1.2.0" + has-proto "^1.2.0" + is-typed-array "^1.1.15" + reflect.getprototypeof "^1.0.9" -typed-array-length@^1.0.4: - version "1.0.4" - resolved "https://registry.npmjs.org/typed-array-length/-/typed-array-length-1.0.4.tgz" - integrity sha512-KjZypGq+I/H7HI5HlOoGHkWUUGq+Q0TPhQurLbyrVrvnKTBgzLhIJ7j6J/XTQOi0d1RjyZ0wdas8bKs2p0x3Ng== +typed-array-length@^1.0.7: + version "1.0.7" + resolved "https://registry.yarnpkg.com/typed-array-length/-/typed-array-length-1.0.7.tgz#ee4deff984b64be1e118b0de8c9c877d5ce73d3d" + integrity sha512-3KS2b+kL7fsuk/eJZ7EQdnEmQoaho/r6KUef7hxvltNA5DR8NAUM+8wJMbJyZ4G9/7i3v5zPBIMN5aybAh2/Jg== dependencies: - call-bind "^1.0.2" + call-bind "^1.0.7" for-each "^0.3.3" - is-typed-array "^1.1.9" - -typescript@^4.9.5: - version "4.9.5" - resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.9.5.tgz#095979f9bcc0d09da324d58d03ce8f8374cbe65a" - integrity sha512-1FXk9E2Hm+QzZQ7z+McJiHL4NW1F2EzMu9Nq9i3zAaGqibafqYwCVU6WyWAuyQRRzOlxou8xZSyXLEN8oKj24g== + gopd "^1.0.1" + is-typed-array "^1.1.13" + possible-typed-array-names "^1.0.0" + reflect.getprototypeof "^1.0.6" -unbox-primitive@^1.0.2: - version "1.0.2" - resolved "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.0.2.tgz" - integrity sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw== +typescript-eslint@^8.59.0: + version "8.59.0" + resolved "https://registry.yarnpkg.com/typescript-eslint/-/typescript-eslint-8.59.0.tgz#d1cc7c63559ce7116aeb66d35ec9dbe0063379fd" + integrity sha512-BU3ONW9X+v90EcCH9ZS6LMackcVtxRLlI3XrYyqZIwVSHIk7Qf7bFw1z0M9Q0IUxhTMZCf8piY9hTYaNEIASrw== dependencies: - call-bind "^1.0.2" - has-bigints "^1.0.2" - has-symbols "^1.0.3" - which-boxed-primitive "^1.0.2" - -undici-types@~7.16.0: - version "7.16.0" - resolved "https://registry.yarnpkg.com/undici-types/-/undici-types-7.16.0.tgz#ffccdff36aea4884cbfce9a750a0580224f58a46" - integrity sha512-Zz+aZWSj8LE6zoxD+xrjh4VfkIG8Ya6LvYkZqtUQGJPZjYl53ypCaUwWqo7eI0x66KBGeRo+mlBEkMSeSZ38Nw== + "@typescript-eslint/eslint-plugin" "8.59.0" + "@typescript-eslint/parser" "8.59.0" + "@typescript-eslint/typescript-estree" "8.59.0" + "@typescript-eslint/utils" "8.59.0" -unicode-canonical-property-names-ecmascript@^2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-2.0.1.tgz#cb3173fe47ca743e228216e4a3ddc4c84d628cc2" - integrity sha512-dA8WbNeb2a6oQzAQ55YlT5vQAWGV9WXOsi3SskE3bcCdM0P4SDd+24zS/OCacdRq5BkdsRj9q3Pg6YyQoxIGqg== +typescript@^6.0.3: + version "6.0.3" + resolved "https://registry.yarnpkg.com/typescript/-/typescript-6.0.3.tgz#90251dc007916e972786cb94d74d15b185577d21" + integrity sha512-y2TvuxSZPDyQakkFRPZHKFm+KKVqIisdg9/CZwm9ftvKXLP8NRWj38/ODjNbr43SsoXqNuAisEf1GdCxqWcdBw== -unicode-match-property-ecmascript@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-2.0.0.tgz#54fd16e0ecb167cf04cf1f756bdcc92eba7976c3" - integrity sha512-5kaZCrbp5mmbz5ulBkDkbY0SsPOjKqVS35VpL9ulMPfSl0J0Xsm+9Evphv9CoIZFwre7aJoa94AY6seMKGVN5Q== +unbox-primitive@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/unbox-primitive/-/unbox-primitive-1.1.0.tgz#8d9d2c9edeea8460c7f35033a88867944934d1e2" + integrity sha512-nWJ91DjeOkej/TA8pXQ3myruKpKEYgqvpw9lz4OPHj/NWFNluYrjbz9j01CJ8yKQd2g4jFoOkINCTW2I5LEEyw== dependencies: - unicode-canonical-property-names-ecmascript "^2.0.0" - unicode-property-aliases-ecmascript "^2.0.0" - -unicode-match-property-value-ecmascript@^2.1.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-2.2.0.tgz#a0401aee72714598f739b68b104e4fe3a0cb3c71" - integrity sha512-4IehN3V/+kkr5YeSSDDQG8QLqO26XpL2XP3GQtqwlT/QYSECAwFztxVHjlbh0+gjJ3XmNLS0zDsbgs9jWKExLg== - -unicode-property-aliases-ecmascript@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-2.1.0.tgz#43d41e3be698bd493ef911077c9b131f827e8ccd" - integrity sha512-6t3foTQI9qne+OZoVQB/8x8rk2k1eVy1gRXhV3oFQ5T6R1dqQ1xtin3XqSlx3+ATBkliTaR/hHyJBm+LVPNM8w== + call-bound "^1.0.3" + has-bigints "^1.0.2" + has-symbols "^1.1.0" + which-boxed-primitive "^1.1.1" -update-browserslist-db@^1.0.13: - version "1.0.13" - resolved "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.13.tgz" - integrity sha512-xebP81SNcPuNpPP3uzeW1NYXxI3rxyJzF3pD6sH4jE7o/IX+WtSpwnVU+qIsDPyk0d3hmFQ7mjqc6AtV604hbg== - dependencies: - escalade "^3.1.1" - picocolors "^1.0.0" +undici-types@~7.19.0: + version "7.19.2" + resolved "https://registry.yarnpkg.com/undici-types/-/undici-types-7.19.2.tgz#1b67fc26d0f157a0cba3a58a5b5c1e2276b8ba2a" + integrity sha512-qYVnV5OEm2AW8cJMCpdV20CDyaN3g0AjDlOGf1OW4iaDEx8MwdtChUp4zu4H0VP3nDRF/8RKWH+IPp9uW0YGZg== -update-browserslist-db@^1.1.1: - version "1.1.3" - resolved "https://registry.yarnpkg.com/update-browserslist-db/-/update-browserslist-db-1.1.3.tgz#348377dd245216f9e7060ff50b15a1b740b75420" - integrity sha512-UxhIZQ+QInVdunkDAaiazvvT/+fXL5Osr0JZlJulepYu6Jd7qJtDZjlur0emRlT71EN3ScPoE7gvsuIKKNavKw== +unrs-resolver@^1.7.11: + version "1.11.1" + resolved "https://registry.yarnpkg.com/unrs-resolver/-/unrs-resolver-1.11.1.tgz#be9cd8686c99ef53ecb96df2a473c64d304048a9" + integrity sha512-bSjt9pjaEBnNiGgc9rUiHGKv5l4/TGzDmYw3RhnkJGtLhbnnA/5qJj7x3dNDCRx/PJxu774LlH8lCOlB4hEfKg== dependencies: - escalade "^3.2.0" - picocolors "^1.1.1" + napi-postinstall "^0.3.0" + optionalDependencies: + "@unrs/resolver-binding-android-arm-eabi" "1.11.1" + "@unrs/resolver-binding-android-arm64" "1.11.1" + "@unrs/resolver-binding-darwin-arm64" "1.11.1" + "@unrs/resolver-binding-darwin-x64" "1.11.1" + "@unrs/resolver-binding-freebsd-x64" "1.11.1" + "@unrs/resolver-binding-linux-arm-gnueabihf" "1.11.1" + "@unrs/resolver-binding-linux-arm-musleabihf" "1.11.1" + "@unrs/resolver-binding-linux-arm64-gnu" "1.11.1" + "@unrs/resolver-binding-linux-arm64-musl" "1.11.1" + "@unrs/resolver-binding-linux-ppc64-gnu" "1.11.1" + "@unrs/resolver-binding-linux-riscv64-gnu" "1.11.1" + "@unrs/resolver-binding-linux-riscv64-musl" "1.11.1" + "@unrs/resolver-binding-linux-s390x-gnu" "1.11.1" + "@unrs/resolver-binding-linux-x64-gnu" "1.11.1" + "@unrs/resolver-binding-linux-x64-musl" "1.11.1" + "@unrs/resolver-binding-wasm32-wasi" "1.11.1" + "@unrs/resolver-binding-win32-arm64-msvc" "1.11.1" + "@unrs/resolver-binding-win32-ia32-msvc" "1.11.1" + "@unrs/resolver-binding-win32-x64-msvc" "1.11.1" uri-js@^4.2.2: version "4.4.1" - resolved "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz" + resolved "https://registry.yarnpkg.com/uri-js/-/uri-js-4.4.1.tgz#9b1a52595225859e55f669d928f88c6c57f2a77e" integrity sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg== dependencies: punycode "^2.1.0" -v8-compile-cache@^2.0.3: - version "2.3.0" - resolved "https://registry.npmjs.org/v8-compile-cache/-/v8-compile-cache-2.3.0.tgz" - integrity sha512-l8lCEmLcLYZh4nbunNZvQCJc5pv7+RCwa8q/LdUx8u7lsWvPDKmpodJAJNwkAhJC//dFY48KuIEmjtd4RViDrA== - -v8-to-istanbul@^9.0.1: - version "9.3.0" - resolved "https://registry.yarnpkg.com/v8-to-istanbul/-/v8-to-istanbul-9.3.0.tgz#b9572abfa62bd556c16d75fdebc1a411d5ff3175" - integrity sha512-kiGUalWN+rgBJ/1OHZsBtU4rXZOfj/7rKQxULKlIzwzQSvMJUUNgPwJEEh7gU6xEVxC0ahoOBvN2YI8GH6FNgA== +"vite@^6.0.0 || ^7.0.0 || ^8.0.0": + version "8.0.9" + resolved "https://registry.yarnpkg.com/vite/-/vite-8.0.9.tgz#69602329ebcea1f281124735a1113be51c45d1da" + integrity sha512-t7g7GVRpMXjNpa67HaVWI/8BWtdVIQPCL2WoozXXA7LBGEFK4AkkKkHx2hAQf5x1GZSlcmEDPkVLSGahxnEEZw== dependencies: - "@jridgewell/trace-mapping" "^0.3.12" - "@types/istanbul-lib-coverage" "^2.0.1" - convert-source-map "^2.0.0" + lightningcss "^1.32.0" + picomatch "^4.0.4" + postcss "^8.5.10" + rolldown "1.0.0-rc.16" + tinyglobby "^0.2.16" + optionalDependencies: + fsevents "~2.3.3" -walker@^1.0.8: - version "1.0.8" - resolved "https://registry.yarnpkg.com/walker/-/walker-1.0.8.tgz#bd498db477afe573dc04185f011d3ab8a8d7653f" - integrity sha512-ts/8E8l5b7kY0vlWLewOkDXMmPdLcVV4GmOQLyxuSswIJsweeFZtAsMF7k1Nszz+TYBQrlYRmzOnr398y1JemQ== - dependencies: - makeerror "1.0.12" +vitest@^4.1.4: + version "4.1.5" + resolved "https://registry.yarnpkg.com/vitest/-/vitest-4.1.5.tgz#cda189c0cd9dd1c920be477c0f371b64ec14782a" + integrity sha512-9Xx1v3/ih3m9hN+SbfkUyy0JAs72ap3r7joc87XL6jwF0jGg6mFBvQ1SrwaX+h8BlkX6Hz9shdd1uo6AF+ZGpg== + dependencies: + "@vitest/expect" "4.1.5" + "@vitest/mocker" "4.1.5" + "@vitest/pretty-format" "4.1.5" + "@vitest/runner" "4.1.5" + "@vitest/snapshot" "4.1.5" + "@vitest/spy" "4.1.5" + "@vitest/utils" "4.1.5" + es-module-lexer "^2.0.0" + expect-type "^1.3.0" + magic-string "^0.30.21" + obug "^2.1.1" + pathe "^2.0.3" + picomatch "^4.0.3" + std-env "^4.0.0-rc.1" + tinybench "^2.9.0" + tinyexec "^1.0.2" + tinyglobby "^0.2.15" + tinyrainbow "^3.1.0" + vite "^6.0.0 || ^7.0.0 || ^8.0.0" + why-is-node-running "^2.3.0" web-streams-polyfill@^3.0.3: version "3.3.3" resolved "https://registry.yarnpkg.com/web-streams-polyfill/-/web-streams-polyfill-3.3.3.tgz#2073b91a2fdb1fbfbd401e7de0ac9f8214cecb4b" integrity sha512-d2JWLCivmZYTSIoge9MsgFCZrt571BikcWGYkjC1khllbTeDlGqZ2D8vD8E/lJa8WGWbb7Plm8/XJYV7IJHZZw== -which-boxed-primitive@^1.0.2: +which-boxed-primitive@^1.1.0, which-boxed-primitive@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/which-boxed-primitive/-/which-boxed-primitive-1.1.1.tgz#d76ec27df7fa165f18d5808374a5fe23c29b176e" + integrity sha512-TbX3mj8n0odCBFVlY8AxkqcHASw3L60jIuF8jFP78az3C2YhmGvqbHBpAjTRH2/xqYunrJ9g1jSyjCjpoWzIAA== + dependencies: + is-bigint "^1.1.0" + is-boolean-object "^1.2.1" + is-number-object "^1.1.1" + is-string "^1.1.1" + is-symbol "^1.1.1" + +which-builtin-type@^1.2.1: + version "1.2.1" + resolved "https://registry.yarnpkg.com/which-builtin-type/-/which-builtin-type-1.2.1.tgz#89183da1b4907ab089a6b02029cc5d8d6574270e" + integrity sha512-6iBczoX+kDQ7a3+YJBnh3T+KZRxM/iYNPXicqk66/Qfm1b93iu+yOImkg0zHbj5LNOcNv1TEADiZ0xa34B4q6Q== + dependencies: + call-bound "^1.0.2" + function.prototype.name "^1.1.6" + has-tostringtag "^1.0.2" + is-async-function "^2.0.0" + is-date-object "^1.1.0" + is-finalizationregistry "^1.1.0" + is-generator-function "^1.0.10" + is-regex "^1.2.1" + is-weakref "^1.0.2" + isarray "^2.0.5" + which-boxed-primitive "^1.1.0" + which-collection "^1.0.2" + which-typed-array "^1.1.16" + +which-collection@^1.0.2: version "1.0.2" - resolved "https://registry.npmjs.org/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz" - integrity sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg== - dependencies: - is-bigint "^1.0.1" - is-boolean-object "^1.1.0" - is-number-object "^1.0.4" - is-string "^1.0.5" - is-symbol "^1.0.3" - -which-typed-array@^1.1.11, which-typed-array@^1.1.13: - version "1.1.13" - resolved "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.13.tgz" - integrity sha512-P5Nra0qjSncduVPEAr7xhoF5guty49ArDTwzJ/yNuPIbZppyRxFQsRCWrocxIY+CnMVG+qfbU2FmDKyvSGClow== - dependencies: - available-typed-arrays "^1.0.5" - call-bind "^1.0.4" - for-each "^0.3.3" - gopd "^1.0.1" - has-tostringtag "^1.0.0" + resolved "https://registry.yarnpkg.com/which-collection/-/which-collection-1.0.2.tgz#627ef76243920a107e7ce8e96191debe4b16c2a0" + integrity sha512-K4jVyjnBdgvc86Y6BkaLZEN933SwYOuBFkdmBu9ZfkcAbdVbpITnDmjvZ/aQjRXQrv5EPkTnD1s39GiiqbngCw== + dependencies: + is-map "^2.0.3" + is-set "^2.0.3" + is-weakmap "^2.0.2" + is-weakset "^2.0.3" + +which-typed-array@^1.1.16, which-typed-array@^1.1.19: + version "1.1.20" + resolved "https://registry.yarnpkg.com/which-typed-array/-/which-typed-array-1.1.20.tgz#3fdb7adfafe0ea69157b1509f3a1cd892bd1d122" + integrity sha512-LYfpUkmqwl0h9A2HL09Mms427Q1RZWuOHsukfVcKRq9q95iQxdw0ix1JQrqbcDR9PH1QDwf5Qo8OZb5lksZ8Xg== + dependencies: + available-typed-arrays "^1.0.7" + call-bind "^1.0.8" + call-bound "^1.0.4" + for-each "^0.3.5" + get-proto "^1.0.1" + gopd "^1.2.0" + has-tostringtag "^1.0.2" which@^2.0.1: version "2.0.2" @@ -4767,79 +2798,19 @@ which@^2.0.1: dependencies: isexe "^2.0.0" -word-wrap@^1.2.3: +why-is-node-running@^2.3.0: + version "2.3.0" + resolved "https://registry.yarnpkg.com/why-is-node-running/-/why-is-node-running-2.3.0.tgz#a3f69a97107f494b3cdc3bdddd883a7d65cebf04" + integrity sha512-hUrmaWBdVDcxvYqnyh09zunKzROWjbZTiNy8dBEjkS7ehEDQibXJ7XvlmtbwuTclUiIyN+CyXQD4Vmko8fNm8w== + dependencies: + siginfo "^2.0.0" + stackback "0.0.2" + +word-wrap@^1.2.5: version "1.2.5" resolved "https://registry.yarnpkg.com/word-wrap/-/word-wrap-1.2.5.tgz#d2c45c6dd4fbce621a66f136cbe328afd0410b34" integrity sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA== -"wrap-ansi-cjs@npm:wrap-ansi@^7.0.0": - version "7.0.0" - resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-7.0.0.tgz#67e145cff510a6a6984bdf1152911d69d2eb9e43" - integrity sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q== - dependencies: - ansi-styles "^4.0.0" - string-width "^4.1.0" - strip-ansi "^6.0.0" - -wrap-ansi@^7.0.0: - version "7.0.0" - resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-7.0.0.tgz#67e145cff510a6a6984bdf1152911d69d2eb9e43" - integrity sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q== - dependencies: - ansi-styles "^4.0.0" - string-width "^4.1.0" - strip-ansi "^6.0.0" - -wrap-ansi@^8.1.0: - version "8.1.0" - resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-8.1.0.tgz#56dc22368ee570face1b49819975d9b9a5ead214" - integrity sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ== - dependencies: - ansi-styles "^6.1.0" - string-width "^5.0.1" - strip-ansi "^7.0.1" - -wrappy@1: - version "1.0.2" - resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" - integrity sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ== - -write-file-atomic@^4.0.2: - version "4.0.2" - resolved "https://registry.yarnpkg.com/write-file-atomic/-/write-file-atomic-4.0.2.tgz#a9df01ae5b77858a027fd2e80768ee433555fcfd" - integrity sha512-7KxauUdBmSdWnmpaGFg+ppNjKF8uNLry8LyzjauQDOVONfFLNKrKvQOxZ/VuTIcS/gge/YNahf5RIIQWTSarlg== - dependencies: - imurmurhash "^0.1.4" - signal-exit "^3.0.7" - -y18n@^5.0.5: - version "5.0.8" - resolved "https://registry.yarnpkg.com/y18n/-/y18n-5.0.8.tgz#7f4934d0f7ca8c56f95314939ddcd2dd91ce1d55" - integrity sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA== - -yallist@^3.0.2: - version "3.1.1" - resolved "https://registry.yarnpkg.com/yallist/-/yallist-3.1.1.tgz#dbb7daf9bfd8bac9ab45ebf602b8cbad0d5d08fd" - integrity sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g== - -yargs-parser@^21.1.1: - version "21.1.1" - resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-21.1.1.tgz#9096bceebf990d21bb31fa9516e0ede294a77d35" - integrity sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw== - -yargs@^17.3.1: - version "17.7.2" - resolved "https://registry.yarnpkg.com/yargs/-/yargs-17.7.2.tgz#991df39aca675a192b816e1e0363f9d75d2aa269" - integrity sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w== - dependencies: - cliui "^8.0.1" - escalade "^3.1.1" - get-caller-file "^2.0.5" - require-directory "^2.1.1" - string-width "^4.2.3" - y18n "^5.0.5" - yargs-parser "^21.1.1" - yocto-queue@^0.1.0: version "0.1.0" resolved "https://registry.yarnpkg.com/yocto-queue/-/yocto-queue-0.1.0.tgz#0294eb3dee05028d31ee1a5fa2c556a6aaf10a1b" From 22766a8733c93f858668d90d189b94a32701e882 Mon Sep 17 00:00:00 2001 From: Richmond Rice Date: Wed, 22 Apr 2026 17:18:03 +0100 Subject: [PATCH 02/36] update packages and modernise project --- package.json | 8 ++++---- yarn.lock | 14 +++++++------- 2 files changed, 11 insertions(+), 11 deletions(-) diff --git a/package.json b/package.json index b8b6d04..9eaf382 100644 --- a/package.json +++ b/package.json @@ -27,14 +27,14 @@ }, "dependencies": { "@types/node": "^25.6.0", - "axios": "^1.7.0", + "axios": "^1.15.2", "blaise-iap-node-provider": "git+https://github.com/ONSdigital/blaise-iap-node-provider.git#BLAIS5-5177", "typescript": "^6.0.3" }, "devDependencies": { "@eslint/js": "^10.0.1", - "@vitest/coverage-v8": "^4.1.4", - "axios-mock-adapter": "^1.22.0", + "@vitest/coverage-v8": "^4.1.5", + "axios-mock-adapter": "^2.1.0", "eslint": "^10.2.1", "eslint-config-prettier": "^10.1.8", "eslint-import-resolver-typescript": "^4.4.4", @@ -44,6 +44,6 @@ "jiti": "^2.6.1", "prettier": "^3.8.3", "typescript-eslint": "^8.59.0", - "vitest": "^4.1.4" + "vitest": "^4.1.5" } } diff --git a/yarn.lock b/yarn.lock index 24b0269..fb62c54 100644 --- a/yarn.lock +++ b/yarn.lock @@ -531,7 +531,7 @@ resolved "https://registry.yarnpkg.com/@unrs/resolver-binding-win32-x64-msvc/-/resolver-binding-win32-x64-msvc-1.11.1.tgz#538b1e103bf8d9864e7b85cc96fa8d6fb6c40777" integrity sha512-lrW200hZdbfRtztbygyaq/6jP6AKE8qQN2KvPcJ+x7wiD038YtnYtZ82IMNJ69GJibV7bwL3y9FgK+5w/pYt6g== -"@vitest/coverage-v8@^4.1.4": +"@vitest/coverage-v8@^4.1.5": version "4.1.5" resolved "https://registry.yarnpkg.com/@vitest/coverage-v8/-/coverage-v8-4.1.5.tgz#26bbdbebecd66be77fa1b63a9ed985dd86a3ba85" integrity sha512-38C0/Ddb7HcRG0Z4/DUem8x57d2p9jYgp18mkaYswEOQBGsI1CG4f/hjm0ZCeaJfWhSZ4k7jgs29V1Zom7Ki9A== @@ -731,15 +731,15 @@ available-typed-arrays@^1.0.7: dependencies: possible-typed-array-names "^1.0.0" -axios-mock-adapter@^1.22.0: - version "1.22.0" - resolved "https://registry.yarnpkg.com/axios-mock-adapter/-/axios-mock-adapter-1.22.0.tgz#0f3e6be0fc9b55baab06f2d49c0b71157e7c053d" - integrity sha512-dmI0KbkyAhntUR05YY96qg2H6gg0XMl2+qTW0xmYg6Up+BFBAJYRLROMXRdDEL06/Wqwa0TJThAYvFtSFdRCZw== +axios-mock-adapter@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/axios-mock-adapter/-/axios-mock-adapter-2.1.0.tgz#25ab2d7558f915e391744a40bbeb7374ad5985a4" + integrity sha512-AZUe4OjECGCNNssH8SOdtneiQELsqTsat3SQQCWLPjN436/H+L9AjWfV7bF+Zg/YL9cgbhrz5671hoh+Tbn98w== dependencies: fast-deep-equal "^3.1.3" is-buffer "^2.0.5" -axios@^1.7.0: +axios@^1.15.2: version "1.15.2" resolved "https://registry.yarnpkg.com/axios/-/axios-1.15.2.tgz#eb8fb6d30349abace6ade5b4cb4d9e8a0dc23e5b" integrity sha512-wLrXxPtcrPTsNlJmKjkPnNPK2Ihe0hn0wGSaTEiHRPxwjvJwT3hKmXF4dpqxmPO9SoNb2FsYXj/xEo0gHN+D5A== @@ -2707,7 +2707,7 @@ uri-js@^4.2.2: optionalDependencies: fsevents "~2.3.3" -vitest@^4.1.4: +vitest@^4.1.5: version "4.1.5" resolved "https://registry.yarnpkg.com/vitest/-/vitest-4.1.5.tgz#cda189c0cd9dd1c920be477c0f371b64ec14782a" integrity sha512-9Xx1v3/ih3m9hN+SbfkUyy0JAs72ap3r7joc87XL6jwF0jGg6mFBvQ1SrwaX+h8BlkX6Hz9shdd1uo6AF+ZGpg== From 277fe46ee8869e9e6ddef0a5cce4652b2a038c6f Mon Sep 17 00:00:00 2001 From: Richmond Rice Date: Thu, 23 Apr 2026 07:43:30 +0100 Subject: [PATCH 03/36] clear gh action cache --- .github/workflows/ci.yml | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 51a37ab..bc2fd71 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -19,7 +19,9 @@ jobs: node-version: 24.x cache: yarn - name: ๐Ÿ“ฆ Install Dependencies - run: yarn install --frozen-lockfile + run: | + yarn cache clean + yarn install --frozen-lockfile - name: ๐Ÿงน Run Linter run: yarn lint - name: ๐Ÿงช Run Tests and Generate Coverage From e682432617d62b4be8b4799f5a3eb05307168ba9 Mon Sep 17 00:00:00 2001 From: Richmond Rice Date: Thu, 23 Apr 2026 07:48:51 +0100 Subject: [PATCH 04/36] gh actiom fix --- .github/workflows/ci.yml | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index bc2fd71..2b9d04e 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -19,9 +19,7 @@ jobs: node-version: 24.x cache: yarn - name: ๐Ÿ“ฆ Install Dependencies - run: | - yarn cache clean - yarn install --frozen-lockfile + run: yarn install --frozen-lockfile --network-concurrency 1 - name: ๐Ÿงน Run Linter run: yarn lint - name: ๐Ÿงช Run Tests and Generate Coverage From cc83a0c13cd00ec03a03d8018de1ed7ffc5f77cc Mon Sep 17 00:00:00 2001 From: Richmond Rice Date: Thu, 23 Apr 2026 17:05:06 +0100 Subject: [PATCH 05/36] naming standards, test coverage --- src/blaiseApiClient.test.ts | 58 +++++++++++++ src/blaiseApiClient.ts | 77 ++--------------- src/index.ts | 37 +++++++++ src/mockObjects/daybatchMockObjects.ts | 19 ----- .../questionnaireReportMockObjects.ts | 19 ----- .../caseMockObjects.ts => mocks/case.mock.ts} | 8 +- src/mocks/daybatch.mock.ts | 19 +++++ .../diagnostic.mock.ts} | 6 +- .../questionnaire.mock.ts} | 12 +-- src/mocks/questionnaireReport.mock.ts | 17 ++++ .../userMockObjects.ts => mocks/user.mock.ts} | 6 +- .../case.test.ts} | 16 ++-- .../caseFunctions.ts => resources/case.ts} | 10 +-- .../daybatch.test.ts} | 39 ++++----- .../daybatch.ts} | 2 +- .../diagnostic.test.ts} | 6 +- .../diagnostic.ts} | 2 +- .../questionnaire.test.ts} | 82 ++++++++----------- .../questionnaire.ts} | 2 +- .../questionnaireReport.test.ts} | 8 +- .../questionnaireReport.ts} | 2 +- .../user.test.ts} | 30 +++++-- .../userFunctions.ts => resources/user.ts} | 2 +- src/{interfaces => types}/blaiseApi.ts | 0 src/{interfaces => types}/blaiseApiConfig.ts | 0 src/{interfaces => types}/case.ts | 4 +- src/types/{caseData.ts => common.ts} | 2 - src/{interfaces => types}/daybatch.ts | 0 src/{interfaces => types}/diagnostic.ts | 0 src/{interfaces => types}/questionnaire.ts | 0 .../questionnaireReport.ts | 4 +- src/{interfaces => types}/survey.ts | 0 src/{interfaces => types}/user.ts | 0 33 files changed, 261 insertions(+), 228 deletions(-) create mode 100644 src/blaiseApiClient.test.ts create mode 100644 src/index.ts delete mode 100644 src/mockObjects/daybatchMockObjects.ts delete mode 100644 src/mockObjects/questionnaireReportMockObjects.ts rename src/{mockObjects/caseMockObjects.ts => mocks/case.mock.ts} (89%) create mode 100644 src/mocks/daybatch.mock.ts rename src/{mockObjects/diagnosticMockObjects.ts => mocks/diagnostic.mock.ts} (62%) rename src/{mockObjects/questionnaireMockObjects.ts => mocks/questionnaire.mock.ts} (75%) create mode 100644 src/mocks/questionnaireReport.mock.ts rename src/{mockObjects/userMockObjects.ts => mocks/user.mock.ts} (67%) rename src/{functions/caseFunctions.test.ts => resources/case.test.ts} (92%) rename src/{functions/caseFunctions.ts => resources/case.ts} (93%) rename src/{functions/daybatchFunctions.test.ts => resources/daybatch.test.ts} (77%) rename src/{functions/daybatchFunctions.ts => resources/daybatch.ts} (94%) rename src/{functions/diagnosticFunctions.test.ts => resources/diagnostic.test.ts} (80%) rename src/{functions/diagnosticFunctions.ts => resources/diagnostic.ts} (80%) rename src/{functions/questionnaireFunctions.test.ts => resources/questionnaire.test.ts} (75%) rename src/{functions/questionnaireFunctions.ts => resources/questionnaire.ts} (98%) rename src/{functions/questionnaireReportFunctions.test.ts => resources/questionnaireReport.test.ts} (80%) rename src/{functions/questionnaireReportFunctions.ts => resources/questionnaireReport.ts} (86%) rename src/{functions/userFunctions.test.ts => resources/user.test.ts} (81%) rename src/{functions/userFunctions.ts => resources/user.ts} (98%) rename src/{interfaces => types}/blaiseApi.ts (100%) rename src/{interfaces => types}/blaiseApiConfig.ts (100%) rename src/{interfaces => types}/case.ts (87%) rename src/types/{caseData.ts => common.ts} (69%) rename src/{interfaces => types}/daybatch.ts (100%) rename src/{interfaces => types}/diagnostic.ts (100%) rename src/{interfaces => types}/questionnaire.ts (100%) rename src/{interfaces => types}/questionnaireReport.ts (52%) rename src/{interfaces => types}/survey.ts (100%) rename src/{interfaces => types}/user.ts (100%) diff --git a/src/blaiseApiClient.test.ts b/src/blaiseApiClient.test.ts new file mode 100644 index 0000000..18f2cd7 --- /dev/null +++ b/src/blaiseApiClient.test.ts @@ -0,0 +1,58 @@ +import { describe, it, expect, vi, afterEach } from "vitest"; +import MockAdapter from "axios-mock-adapter"; +import BlaiseApiClient from "./blaiseApiClient.js"; + +class TestBlaiseApiClient extends BlaiseApiClient { + public async testGet(url: string) { + return this.get(url); + } +} + +describe("BlaiseApiClient internal configuration", () => { + afterEach(() => { + vi.restoreAllMocks(); + }); + + it("injects auth headers when provider is configured", async () => { + const client = new TestBlaiseApiClient("http://testUri", { + blaiseApiClientId: "test-id", + }); + + const getAuthHeaderSpy = vi + .spyOn(client.blaiseIapProvider!, "getAuthHeader") + .mockResolvedValue({ Authorization: "Bearer token" }); + + const mock = new MockAdapter(client.httpClient, { onNoMatch: "throwException" }); + + mock.onGet("/test").reply(200); + + await client.testGet("/test"); + + expect(getAuthHeaderSpy).toHaveBeenCalled(); + }); + + it("does not inject auth headers when provider is missing", async () => { + const client = new TestBlaiseApiClient("http://testUri"); + + const mock = new MockAdapter(client.httpClient, { onNoMatch: "throwException" }); + + mock.onGet("/test").reply(200); + + await client.testGet("/test"); + + expect(client.blaiseIapProvider).toBeUndefined(); + }); + + it("configures the http client with a timeout when provided", () => { + const timeoutInMs = 5000; + const client = new BlaiseApiClient("http://testUri", { timeoutInMs }); + + expect(client.httpClient.defaults.timeout).toBe(timeoutInMs); + }); + + it("does not set a timeout if not provided in config", () => { + const client = new BlaiseApiClient("http://testUri"); + + expect(client.httpClient.defaults.timeout).toBe(0); + }); +}); diff --git a/src/blaiseApiClient.ts b/src/blaiseApiClient.ts index 6b713cb..e2dc2d0 100644 --- a/src/blaiseApiClient.ts +++ b/src/blaiseApiClient.ts @@ -1,13 +1,13 @@ import axios, { AxiosInstance } from "axios"; import BlaiseIapNodeProvider from "blaise-iap-node-provider"; -import { BlaiseApiConfig } from "./interfaces/blaiseApiConfig.js"; -import { BlaiseApi } from "./interfaces/blaiseApi.js"; -import * as users from "./functions/userFunctions.js"; -import * as questionnaires from "./functions/questionnaireFunctions.js"; -import * as cases from "./functions/caseFunctions.js"; -import * as diagnostics from "./functions/diagnosticFunctions.js"; -import * as daybatch from "./functions/daybatchFunctions.js"; -import * as reports from "./functions/questionnaireReportFunctions.js"; +import { BlaiseApiConfig } from "./types/blaiseApiConfig.js"; +import { BlaiseApi } from "./types/blaiseApi.js"; +import * as users from "./resources/user.js"; +import * as questionnaires from "./resources/questionnaire.js"; +import * as cases from "./resources/case.js"; +import * as diagnostics from "./resources/diagnostic.js"; +import * as daybatch from "./resources/daybatch.js"; +import * as reports from "./resources/questionnaireReport.js"; class BlaiseApiClient implements BlaiseApi { blaiseApiUrl: string; @@ -40,73 +40,42 @@ class BlaiseApiClient implements BlaiseApi { } getUser = users.getUser; - getUsers = users.getUsers; - validatePassword = users.validatePassword; - createUser = users.createUser; - deleteUser = users.deleteUser; - getUserRoles = users.getUserRoles; - changePassword = users.changePassword; - changeUserRole = users.changeUserRole; - changeUserServerParks = users.changeUserServerParks; getAllQuestionnairesWithCatiData = questionnaires.getAllQuestionnairesWithCatiData; - getQuestionnairesWithCatiData = questionnaires.getQuestionnairesWithCatiData; - getQuestionnaireWithCatiData = questionnaires.getQuestionnaireWithCatiData; - getQuestionnaires = questionnaires.getQuestionnaires; - questionnaireExists = questionnaires.questionnaireExists; - doesQuestionnaireHaveMode = questionnaires.doesQuestionnaireHaveMode; - getQuestionnaire = questionnaires.getQuestionnaire; - installQuestionnaire = questionnaires.installQuestionnaire; - deleteQuestionnaire = questionnaires.deleteQuestionnaire; - getQuestionnaireCaseIds = questionnaires.getQuestionnaireCaseIds; - getQuestionnaireModes = questionnaires.getQuestionnaireModes; - getQuestionnaireSettings = questionnaires.getQuestionnaireSettings; - activateQuestionnaire = questionnaires.activateQuestionnaire; - deactivateQuestionnaire = questionnaires.deactivateQuestionnaire; getDaybatch = daybatch.getDaybatch; - addDaybatch = daybatch.addDaybatch; - getSurveyDays = daybatch.getSurveyDays; - addSurveyDays = daybatch.addSurveyDays; getCase = cases.getCase; - getCaseMultikey = cases.getCaseMultikey; - addCase = cases.addCase; - updateCase = cases.updateCase; - addCaseMultikey = cases.addCaseMultikey; - getMultikeyQueryString = cases.getMultikeyQueryString; - getCaseStatus = cases.getCaseStatus; - getCaseEditInformation = cases.getCaseEditInformation; getDiagnostics = diagnostics.getDiagnostics; @@ -139,33 +108,3 @@ class BlaiseApiClient implements BlaiseApi { } export default BlaiseApiClient; - -export * from "./interfaces/questionnaire.js"; - -export * from "./interfaces/diagnostic.js"; - -export * from "./interfaces/case.js"; - -export * from "./interfaces/user.js"; - -export * from "./interfaces/daybatch.js"; - -export * from "./interfaces/questionnaireReport.js"; - -export * from "./enums/caseOutcome.js"; - -export * from "./enums/editedStatus.js"; - -export * from "./types/caseData.js"; - -export * from "./mockObjects/caseMockObjects.js"; - -export * from "./mockObjects/diagnosticMockObjects.js"; - -export * from "./mockObjects/questionnaireMockObjects.js"; - -export * from "./mockObjects/userMockObjects.js"; - -export * from "./mockObjects/daybatchMockObjects.js"; - -export * from "./mockObjects/questionnaireReportMockObjects.js"; diff --git a/src/index.ts b/src/index.ts new file mode 100644 index 0000000..24dfc2e --- /dev/null +++ b/src/index.ts @@ -0,0 +1,37 @@ +export { default as BlaiseApiClient } from "./blaiseApiClient.js"; + +export * from "./types/case.js"; + +export * from "./types/daybatch.js"; + +export * from "./types/diagnostic.js"; + +export * from "./types/questionnaire.js"; + +export * from "./types/questionnaireReport.js"; + +export * from "./types/common.js"; + +export * from "./types/blaiseApi.js"; + +export * from "./types/blaiseApiConfig.js"; + +export * from "./enums/caseOutcome.js"; + +export * from "./enums/editedStatus.js"; + +export * from "./enums/organisation.js"; + +export * from "./enums/userRole.js"; + +export * from "./mocks/case.mock.js"; + +export * from "./mocks/diagnostic.mock.js"; + +export * from "./mocks/questionnaire.mock.js"; + +export * from "./mocks/user.mock.js"; + +export * from "./mocks/daybatch.mock.js"; + +export * from "./mocks/questionnaireReport.mock.js"; diff --git a/src/mockObjects/daybatchMockObjects.ts b/src/mockObjects/daybatchMockObjects.ts deleted file mode 100644 index 7e39906..0000000 --- a/src/mockObjects/daybatchMockObjects.ts +++ /dev/null @@ -1,19 +0,0 @@ -import { DaybatchResponse, DaybatchSettings } from "../interfaces/daybatch.js"; - -export const QuestionnaireDaybatchCasesMock: ReadonlyArray = [ - { - dayBatchDate: "2021-01-15T14:41:29.4399898+00:00", - caseIds: ["100101", "100102", "100103", "100104"], - }, -]; - -export const AddDaybatchMock: DaybatchSettings = { - dayBatchDate: "2021-01-15T14:41:29.4399898+00:00", - checkForTreatedCases: true, -}; - -export const SurveyDaysMock: ReadonlyArray = ["2021-01-15T14:41:29.4399898+00:00"]; - -export const SurveyDaysDatesMock: ReadonlyArray = [ - new Date("2021-01-15T14:41:29.4399898+00:00"), -]; diff --git a/src/mockObjects/questionnaireReportMockObjects.ts b/src/mockObjects/questionnaireReportMockObjects.ts deleted file mode 100644 index 26a6600..0000000 --- a/src/mockObjects/questionnaireReportMockObjects.ts +++ /dev/null @@ -1,19 +0,0 @@ -import { QuestionnaireReport } from "../interfaces/questionnaireReport.js"; -import CaseOutcome from "../enums/caseOutcome.js"; - -const reportMockObject: QuestionnaireReport = { - questionnaireName: "FRS2211A", - questionnaireId: "00000000-0000-0000-0000-000000000000", - reportingData: [ - { - "qiD.Serial_Number": "1", - "qhAdmin.HOut": CaseOutcome.Partial.toString(), - }, - { - "qiD.Serial_Number": "2", - "qhAdmin.HOut": CaseOutcome.Completed.toString(), - }, - ], -}; - -export default reportMockObject; diff --git a/src/mockObjects/caseMockObjects.ts b/src/mocks/case.mock.ts similarity index 89% rename from src/mockObjects/caseMockObjects.ts rename to src/mocks/case.mock.ts index 6068397..023aca0 100644 --- a/src/mockObjects/caseMockObjects.ts +++ b/src/mocks/case.mock.ts @@ -1,9 +1,9 @@ -import { CaseEditInformation, CaseResponse, CaseStatus } from "../interfaces/case.js"; +import { CaseEditInformation, CaseResponse, CaseStatus } from "../types/case.js"; import CaseOutcome from "../enums/caseOutcome.js"; import EditedStatus from "../enums/editedStatus.js"; import Organisation from "../enums/organisation.js"; -export const CaseStatusListMockObject: CaseStatus[] = [ +export const mockCaseStatuses: CaseStatus[] = [ { primaryKey: "1", outcome: CaseOutcome.Completed, @@ -18,7 +18,7 @@ export const CaseStatusListMockObject: CaseStatus[] = [ }, ]; -export const CaseResponseMockObject: CaseResponse = { +export const mockCaseResponse: CaseResponse = { caseId: "1", fieldData: { "qiD.Serial_Number": "1", @@ -39,7 +39,7 @@ export const CaseResponseMockObject: CaseResponse = { }, }; -export const CaseEditInformationListMockObject: CaseEditInformation[] = [ +export const mockCaseEditInformationRecords: CaseEditInformation[] = [ { primaryKey: "100101", outcome: CaseOutcome.Completed, diff --git a/src/mocks/daybatch.mock.ts b/src/mocks/daybatch.mock.ts new file mode 100644 index 0000000..ed50634 --- /dev/null +++ b/src/mocks/daybatch.mock.ts @@ -0,0 +1,19 @@ +import { DaybatchResponse, DaybatchSettings } from "../types/daybatch.js"; + +export const mockDaybatchCases: ReadonlyArray = [ + { + dayBatchDate: "2021-01-15T14:41:29.4399898+00:00", + caseIds: ["100101", "100102", "100103", "100104"], + }, +]; + +export const mockAddDaybatchSettings: DaybatchSettings = { + dayBatchDate: "2021-01-15T14:41:29.4399898+00:00", + checkForTreatedCases: true, +}; + +export const mockSurveyDays: ReadonlyArray = ["2021-01-15T14:41:29.4399898+00:00"]; + +export const mockSurveyDayDates: ReadonlyArray = [ + new Date("2021-01-15T14:41:29.4399898+00:00"), +]; diff --git a/src/mockObjects/diagnosticMockObjects.ts b/src/mocks/diagnostic.mock.ts similarity index 62% rename from src/mockObjects/diagnosticMockObjects.ts rename to src/mocks/diagnostic.mock.ts index c5b34d1..15346aa 100644 --- a/src/mockObjects/diagnosticMockObjects.ts +++ b/src/mocks/diagnostic.mock.ts @@ -1,10 +1,8 @@ -import { Diagnostic } from "../interfaces/diagnostic.js"; +import { Diagnostic } from "../types/diagnostic.js"; -export const DiagnosticMockObject: readonly Diagnostic[] = [ +export const mockDiagnostics: readonly Diagnostic[] = [ { healthCheckType: "Connection model", status: "OK" }, { healthCheckType: "Blaise connection", status: "OK" }, { healthCheckType: "Remote data server connection", status: "OK" }, { healthCheckType: "Remote Cati management connection", status: "OK" }, ]; - -export default DiagnosticMockObject; diff --git a/src/mockObjects/questionnaireMockObjects.ts b/src/mocks/questionnaire.mock.ts similarity index 75% rename from src/mockObjects/questionnaireMockObjects.ts rename to src/mocks/questionnaire.mock.ts index 8d281c8..5edc29f 100644 --- a/src/mockObjects/questionnaireMockObjects.ts +++ b/src/mocks/questionnaire.mock.ts @@ -3,9 +3,9 @@ import { InstallQuestionnaireResponse, Questionnaire, QuestionnaireSettings, -} from "../interfaces/questionnaire.js"; +} from "../types/questionnaire.js"; -export const QuestionnaireListMockObject: readonly Questionnaire[] = [ +export const mockQuestionnaires: readonly Questionnaire[] = [ { name: "OPN2101A", serverParkName: "gusty", @@ -35,7 +35,7 @@ export const QuestionnaireListMockObject: readonly Questionnaire[] = [ }, ]; -export const QuestionnaireMockObject: Questionnaire = { +export const mockQuestionnaire: Questionnaire = { name: "OPN2101A", serverParkName: "gusty", installDate: "2021-01-15T14:41:29.4399898+00:00", @@ -46,15 +46,15 @@ export const QuestionnaireMockObject: Questionnaire = { blaiseVersion: "5.9.9.2735", }; -export const InstallQuestionnaireMockObject: InstallQuestionnaire = { +export const mockInstallQuestionnaire: InstallQuestionnaire = { questionnaireFile: "OPN2004A.bpkg", }; -export const InstallQuestionnaireResponseMockObject: InstallQuestionnaireResponse = { +export const mockInstallQuestionnaireResponse: InstallQuestionnaireResponse = { questionnaireFile: "OPN2004A.bpkg", }; -export const QuestionnaireSettingsMockList: readonly QuestionnaireSettings[] = [ +export const mockQuestionnaireSettings: readonly QuestionnaireSettings[] = [ { type: "StrictInterviewing", saveSessionOnTimeout: true, diff --git a/src/mocks/questionnaireReport.mock.ts b/src/mocks/questionnaireReport.mock.ts new file mode 100644 index 0000000..5941c57 --- /dev/null +++ b/src/mocks/questionnaireReport.mock.ts @@ -0,0 +1,17 @@ +import { QuestionnaireReport } from "../types/questionnaireReport.js"; +import CaseOutcome from "../enums/caseOutcome.js"; + +export const mockQuestionnaireReport: QuestionnaireReport = { + questionnaireName: "FRS2211A", + questionnaireId: "00000000-0000-0000-0000-000000000000", + reportingData: [ + { + "qiD.Serial_Number": "1", + "qhAdmin.HOut": CaseOutcome.Partial, + }, + { + "qiD.Serial_Number": "2", + "qhAdmin.HOut": CaseOutcome.Completed, + }, + ], +}; diff --git a/src/mockObjects/userMockObjects.ts b/src/mocks/user.mock.ts similarity index 67% rename from src/mockObjects/userMockObjects.ts rename to src/mocks/user.mock.ts index f95f425..9cf825c 100644 --- a/src/mockObjects/userMockObjects.ts +++ b/src/mocks/user.mock.ts @@ -1,7 +1,7 @@ -import { NewUser } from "../interfaces/user.js"; +import { NewUser } from "../types/user.js"; import UserRole from "../enums/userRole.js"; -export const CreateUserMockObject: NewUser = { +export const mockNewUser: NewUser = { password: "somethingVerySecure", name: "Beyonce", role: UserRole.DST, @@ -9,7 +9,7 @@ export const CreateUserMockObject: NewUser = { defaultServerPark: "gusty", }; -export const CreateUserResponseMockObject: NewUser = { +export const mockNewUserResponse: NewUser = { password: "somethingVerySecure", name: "Beyonce", role: UserRole.DST, diff --git a/src/functions/caseFunctions.test.ts b/src/resources/case.test.ts similarity index 92% rename from src/functions/caseFunctions.test.ts rename to src/resources/case.test.ts index 1d286ac..50257e0 100644 --- a/src/functions/caseFunctions.test.ts +++ b/src/resources/case.test.ts @@ -1,17 +1,15 @@ import { describe, it, expect, beforeEach, afterEach } from "vitest"; import MockAdapter from "axios-mock-adapter"; import axios from "axios"; -import BlaiseApiClient, { - CaseEditInformationListMockObject, - CaseStatusListMockObject, -} from "../blaiseApiClient.js"; +import BlaiseApiClient from "../blaiseApiClient.js"; +import { mockCaseEditInformationRecords, mockCaseStatuses } from "../mocks/case.mock.js"; const mock = new MockAdapter(axios, { onNoMatch: "throwException" }); const blaiseApiUrl = "testUri"; const blaiseApiClient = new BlaiseApiClient(`http://${blaiseApiUrl}`); -describe("blaiseApiClient", () => { +describe("blaiseApiClient case functions", () => { describe("get case", () => { const serverpark = "test"; const questionnaireName = "dst2108t"; @@ -161,7 +159,7 @@ describe("blaiseApiClient", () => { beforeEach(() => { mock .onGet(`/api/v2/serverparks/${serverpark}/questionnaires/${questionnaireName}/cases/status`) - .reply(200, CaseStatusListMockObject); + .reply(200, mockCaseStatuses); }); afterEach(() => { @@ -171,7 +169,7 @@ describe("blaiseApiClient", () => { it("gets all cases and outcome codes", async () => { const result = await blaiseApiClient.getCaseStatus(serverpark, questionnaireName); - expect(result).toEqual(CaseStatusListMockObject); + expect(result).toEqual(mockCaseStatuses); }); }); @@ -182,7 +180,7 @@ describe("blaiseApiClient", () => { beforeEach(() => { mock .onGet(`/api/v2/serverparks/${serverpark}/questionnaires/${questionnaireName}/cases/edit`) - .reply(200, CaseEditInformationListMockObject); + .reply(200, mockCaseEditInformationRecords); }); afterEach(() => { @@ -192,7 +190,7 @@ describe("blaiseApiClient", () => { it("returns editing details for a case", async () => { const response = await blaiseApiClient.getCaseEditInformation(serverpark, questionnaireName); - expect(response).toEqual(CaseEditInformationListMockObject); + expect(response).toEqual(mockCaseEditInformationRecords); }); }); }); diff --git a/src/functions/caseFunctions.ts b/src/resources/case.ts similarity index 93% rename from src/functions/caseFunctions.ts rename to src/resources/case.ts index 6e8f539..81ed81d 100644 --- a/src/functions/caseFunctions.ts +++ b/src/resources/case.ts @@ -1,6 +1,6 @@ import BlaiseApiClient from "../blaiseApiClient.js"; -import { CaseEditInformation, CaseResponse, CaseStatus } from "../interfaces/case.js"; -import { CaseData } from "../types/caseData.js"; +import { CaseEditInformation, CaseResponse, CaseStatus } from "../types/case.js"; +import { JSONValue } from "../types/common.js"; export async function getCase( this: BlaiseApiClient, @@ -39,7 +39,7 @@ export async function addCase( serverpark: string, questionnaireName: string, caseId: string, - caseFields: CaseData, + caseFields: Record, ): Promise { return this.post( `api/v2/serverparks/${serverpark}/questionnaires/${questionnaireName}/cases/${caseId}`, @@ -52,7 +52,7 @@ export async function updateCase( serverpark: string, questionnaireName: string, caseId: string, - caseFields: CaseData, + caseFields: Record, ): Promise { return this.patch( `api/v2/serverparks/${serverpark}/questionnaires/${questionnaireName}/cases/${caseId}`, @@ -65,7 +65,7 @@ export async function addCaseMultikey( serverpark: string, questionnaireName: string, multiKeyValueMap: Map, - caseFields: CaseData, + caseFields: Record, ): Promise { const queryString = getMultikeyQueryString(multiKeyValueMap); diff --git a/src/functions/daybatchFunctions.test.ts b/src/resources/daybatch.test.ts similarity index 77% rename from src/functions/daybatchFunctions.test.ts rename to src/resources/daybatch.test.ts index f2fcf08..7d8c7ef 100644 --- a/src/functions/daybatchFunctions.test.ts +++ b/src/resources/daybatch.test.ts @@ -1,19 +1,20 @@ import { describe, it, expect, beforeEach, afterEach } from "vitest"; import MockAdapter from "axios-mock-adapter"; import axios from "axios"; -import BlaiseApiClient, { - QuestionnaireDaybatchCasesMock, - AddDaybatchMock, - SurveyDaysMock, - SurveyDaysDatesMock, -} from "../blaiseApiClient.js"; +import BlaiseApiClient from "../blaiseApiClient.js"; +import { + mockDaybatchCases, + mockAddDaybatchSettings, + mockSurveyDays, + mockSurveyDayDates, +} from "../mocks/daybatch.mock.js"; const mock = new MockAdapter(axios, { onNoMatch: "throwException" }); const blaiseApiUrl = "testUri"; const blaiseApiClient = new BlaiseApiClient(`http://${blaiseApiUrl}`); -describe("blaiseApiClient", () => { +describe("blaiseApiClient daybatch functions", () => { const basePath = "api/v2/cati/serverparks"; describe("get daybatch", () => { @@ -23,7 +24,7 @@ describe("blaiseApiClient", () => { beforeEach(() => { mock .onGet(`${basePath}/${serverpark}/questionnaires/${questionnaireName}/daybatch`) - .reply(200, QuestionnaireDaybatchCasesMock); + .reply(200, mockDaybatchCases); }); afterEach(() => { @@ -33,7 +34,7 @@ describe("blaiseApiClient", () => { it("returns a list of case IDs in the current daybatch", async () => { const daybatch = await blaiseApiClient.getDaybatch(serverpark, questionnaireName); - expect(daybatch).toEqual(QuestionnaireDaybatchCasesMock); + expect(daybatch).toEqual(mockDaybatchCases); }); }); @@ -44,7 +45,7 @@ describe("blaiseApiClient", () => { beforeEach(() => { mock .onPost(`${basePath}/${serverpark}/questionnaires/${questionnaireName}/daybatch`) - .reply(201, QuestionnaireDaybatchCasesMock); + .reply(201, mockDaybatchCases); }); afterEach(() => { @@ -55,10 +56,10 @@ describe("blaiseApiClient", () => { const daybatch = await blaiseApiClient.addDaybatch( serverpark, questionnaireName, - AddDaybatchMock, + mockAddDaybatchSettings, ); - expect(daybatch).toEqual(QuestionnaireDaybatchCasesMock); + expect(daybatch).toEqual(mockDaybatchCases); }); }); @@ -69,7 +70,7 @@ describe("blaiseApiClient", () => { beforeEach(() => { mock .onGet(`${basePath}/${serverpark}/questionnaires/${questionnaireName}/surveydays`) - .reply(200, SurveyDaysMock); + .reply(200, mockSurveyDays); }); afterEach(() => { @@ -79,7 +80,7 @@ describe("blaiseApiClient", () => { it("returns a list of surveydays", async () => { const surveyDays = await blaiseApiClient.getSurveyDays(serverpark, questionnaireName); - expect(surveyDays).toEqual(SurveyDaysMock); + expect(surveyDays).toEqual(mockSurveyDays); }); }); @@ -90,7 +91,7 @@ describe("blaiseApiClient", () => { beforeEach(() => { mock .onPost(`${basePath}/${serverpark}/questionnaires/${questionnaireName}/surveydays`) - .reply(201, SurveyDaysMock); + .reply(201, mockSurveyDays); }); afterEach(() => { @@ -101,20 +102,20 @@ describe("blaiseApiClient", () => { const surveyDays = await blaiseApiClient.addSurveyDays( serverpark, questionnaireName, - SurveyDaysMock, + mockSurveyDays, ); - expect(surveyDays).toEqual(SurveyDaysMock); + expect(surveyDays).toEqual(mockSurveyDays); }); it("adds surveydays by dates", async () => { const surveyDays = await blaiseApiClient.addSurveyDays( serverpark, questionnaireName, - SurveyDaysDatesMock, + mockSurveyDayDates, ); - expect(surveyDays).toEqual(SurveyDaysMock); + expect(surveyDays).toEqual(mockSurveyDays); }); }); }); diff --git a/src/functions/daybatchFunctions.ts b/src/resources/daybatch.ts similarity index 94% rename from src/functions/daybatchFunctions.ts rename to src/resources/daybatch.ts index ccdf5b4..2157a24 100644 --- a/src/functions/daybatchFunctions.ts +++ b/src/resources/daybatch.ts @@ -1,5 +1,5 @@ import BlaiseApiClient from "../blaiseApiClient.js"; -import { DaybatchResponse, DaybatchSettings } from "../interfaces/daybatch.js"; +import { DaybatchResponse, DaybatchSettings } from "../types/daybatch.js"; const formatDate = (date: string | Date): string => date instanceof Date ? date.toISOString() : date; diff --git a/src/functions/diagnosticFunctions.test.ts b/src/resources/diagnostic.test.ts similarity index 80% rename from src/functions/diagnosticFunctions.test.ts rename to src/resources/diagnostic.test.ts index 5892a6c..087cf59 100644 --- a/src/functions/diagnosticFunctions.test.ts +++ b/src/resources/diagnostic.test.ts @@ -2,17 +2,17 @@ import { describe, it, expect, beforeAll, afterAll } from "vitest"; import MockAdapter from "axios-mock-adapter"; import axios from "axios"; import BlaiseApiClient from "../blaiseApiClient.js"; -import { DiagnosticMockObject } from "../mockObjects/diagnosticMockObjects.js"; +import { mockDiagnostics } from "../mocks/diagnostic.mock.js"; const mock = new MockAdapter(axios, { onNoMatch: "throwException" }); const blaiseApiUrl = "testUri"; const blaiseApiClient = new BlaiseApiClient(`http://${blaiseApiUrl}`); -describe("BlaiseRestapiClient", () => { +describe("BlaiseRestapiClient diagnostic functions", () => { describe("get health Check from API", () => { beforeAll(() => { - mock.onGet("api/v2/health/diagnosis").reply(200, DiagnosticMockObject); + mock.onGet("api/v2/health/diagnosis").reply(200, mockDiagnostics); }); afterAll(() => { diff --git a/src/functions/diagnosticFunctions.ts b/src/resources/diagnostic.ts similarity index 80% rename from src/functions/diagnosticFunctions.ts rename to src/resources/diagnostic.ts index b7e8a52..2579c57 100644 --- a/src/functions/diagnosticFunctions.ts +++ b/src/resources/diagnostic.ts @@ -1,5 +1,5 @@ import BlaiseApiClient from "../blaiseApiClient.js"; -import { Diagnostic } from "../interfaces/diagnostic.js"; +import { Diagnostic } from "../types/diagnostic.js"; export async function getDiagnostics(this: BlaiseApiClient): Promise { return this.get("api/v2/health/diagnosis"); diff --git a/src/functions/questionnaireFunctions.test.ts b/src/resources/questionnaire.test.ts similarity index 75% rename from src/functions/questionnaireFunctions.test.ts rename to src/resources/questionnaire.test.ts index e1629c7..d500ba0 100644 --- a/src/functions/questionnaireFunctions.test.ts +++ b/src/resources/questionnaire.test.ts @@ -1,28 +1,29 @@ import { describe, it, expect, afterEach } from "vitest"; import MockAdapter from "axios-mock-adapter"; import axios from "axios"; -import BlaiseApiClient, { - QuestionnaireListMockObject, - QuestionnaireMockObject, - InstallQuestionnaireMockObject, - InstallQuestionnaireResponseMockObject, - QuestionnaireSettingsMockList, -} from "../blaiseApiClient.js"; +import BlaiseApiClient from "../blaiseApiClient.js"; +import { + mockQuestionnaires, + mockQuestionnaire, + mockInstallQuestionnaire, + mockInstallQuestionnaireResponse, + mockQuestionnaireSettings, +} from "../mocks/questionnaire.mock.js"; const mock = new MockAdapter(axios, { onNoMatch: "throwException" }); const blaiseApiClient = new BlaiseApiClient("http://testUri"); -describe("blaiseApiClient", () => { +describe("blaiseApiClient questionnaire functions", () => { afterEach(() => { mock.reset(); }); describe("get all questionnaires with Cati data", () => { it("returns a list of all questionnaires including CATI data", async () => { - mock.onGet("api/v2/cati/questionnaires").reply(200, QuestionnaireListMockObject); + mock.onGet("api/v2/cati/questionnaires").reply(200, mockQuestionnaires); const questionnaires = await blaiseApiClient.getAllQuestionnairesWithCatiData(); - expect(questionnaires).toEqual(QuestionnaireListMockObject); + expect(questionnaires).toEqual(mockQuestionnaires); }); }); @@ -32,10 +33,10 @@ describe("blaiseApiClient", () => { it("returns a list of all questionnaires including CATI data within a serverpark", async () => { mock .onGet(`api/v2/cati/serverparks/${serverpark}/questionnaires`) - .reply(200, QuestionnaireListMockObject); + .reply(200, mockQuestionnaires); const questionnaires = await blaiseApiClient.getQuestionnairesWithCatiData(serverpark); - expect(questionnaires).toEqual(QuestionnaireListMockObject); + expect(questionnaires).toEqual(mockQuestionnaires); }); }); @@ -44,16 +45,14 @@ describe("blaiseApiClient", () => { it("returns an questionnaire including CATI data", async () => { mock - .onGet( - `api/v2/cati/serverparks/${serverpark}/questionnaires/${QuestionnaireMockObject.name}`, - ) - .reply(200, QuestionnaireMockObject); + .onGet(`api/v2/cati/serverparks/${serverpark}/questionnaires/${mockQuestionnaire.name}`) + .reply(200, mockQuestionnaire); const questionnaire = await blaiseApiClient.getQuestionnaireWithCatiData( serverpark, - QuestionnaireMockObject.name, + mockQuestionnaire.name, ); - expect(questionnaire).toEqual(QuestionnaireMockObject); + expect(questionnaire).toEqual(mockQuestionnaire); }); }); @@ -61,12 +60,10 @@ describe("blaiseApiClient", () => { const serverpark = "test"; it("returns a list of questionnaires in a serverpark", async () => { - mock - .onGet(`api/v2/serverparks/${serverpark}/questionnaires`) - .reply(200, QuestionnaireListMockObject); + mock.onGet(`api/v2/serverparks/${serverpark}/questionnaires`).reply(200, mockQuestionnaires); const questionnaires = await blaiseApiClient.getQuestionnaires(serverpark); - expect(questionnaires).toEqual(QuestionnaireListMockObject); + expect(questionnaires).toEqual(mockQuestionnaires); }); }); @@ -75,14 +72,14 @@ describe("blaiseApiClient", () => { it("returns a questionnaire", async () => { mock - .onGet(`api/v2/serverparks/${serverpark}/questionnaires/${QuestionnaireMockObject.name}`) - .reply(200, QuestionnaireMockObject); + .onGet(`api/v2/serverparks/${serverpark}/questionnaires/${mockQuestionnaire.name}`) + .reply(200, mockQuestionnaire); const questionnaire = await blaiseApiClient.getQuestionnaire( serverpark, - QuestionnaireMockObject.name, + mockQuestionnaire.name, ); - expect(questionnaire).toEqual(QuestionnaireMockObject); + expect(questionnaire).toEqual(mockQuestionnaire); }); }); @@ -123,12 +120,12 @@ describe("blaiseApiClient", () => { it("returns true if questionnaire has mode", async () => { mock .onGet( - `api/v2/serverparks/${serverpark}/questionnaires/${QuestionnaireMockObject.name}/modes/${hasMode}`, + `api/v2/serverparks/${serverpark}/questionnaires/${mockQuestionnaire.name}/modes/${hasMode}`, ) .reply(200, true); const exists = await blaiseApiClient.doesQuestionnaireHaveMode( serverpark, - QuestionnaireMockObject.name, + mockQuestionnaire.name, hasMode, ); @@ -138,12 +135,12 @@ describe("blaiseApiClient", () => { it("returns false if questionnaire does not have mode", async () => { mock .onGet( - `api/v2/serverparks/${serverpark}/questionnaires/${QuestionnaireMockObject.name}/modes/${doesntHaveMode}`, + `api/v2/serverparks/${serverpark}/questionnaires/${mockQuestionnaire.name}/modes/${doesntHaveMode}`, ) .reply(200, false); const exists = await blaiseApiClient.doesQuestionnaireHaveMode( serverpark, - QuestionnaireMockObject.name, + mockQuestionnaire.name, doesntHaveMode, ); @@ -157,13 +154,13 @@ describe("blaiseApiClient", () => { it("installs an questionnaire and returns the questionnaire file", async () => { mock .onPost(`api/v2/serverparks/${serverpark}/questionnaires`) - .reply(201, InstallQuestionnaireResponseMockObject); + .reply(201, mockInstallQuestionnaireResponse); const questionnaire = await blaiseApiClient.installQuestionnaire( serverpark, - InstallQuestionnaireMockObject, + mockInstallQuestionnaire, ); - expect(questionnaire).toEqual(InstallQuestionnaireResponseMockObject); + expect(questionnaire).toEqual(mockInstallQuestionnaireResponse); }); }); @@ -208,14 +205,9 @@ describe("blaiseApiClient", () => { it("returns list of modes for questionnaire", async () => { mock - .onGet( - `api/v2/serverparks/${serverpark}/questionnaires/${QuestionnaireMockObject.name}/modes`, - ) + .onGet(`api/v2/serverparks/${serverpark}/questionnaires/${mockQuestionnaire.name}/modes`) .reply(200, ["CATI", "CAWI"]); - const modes = await blaiseApiClient.getQuestionnaireModes( - serverpark, - QuestionnaireMockObject.name, - ); + const modes = await blaiseApiClient.getQuestionnaireModes(serverpark, mockQuestionnaire.name); expect(modes).toContain("CATI"); expect(modes).toContain("CAWI"); @@ -227,16 +219,14 @@ describe("blaiseApiClient", () => { it("returns list of settings for questionnaire", async () => { mock - .onGet( - `api/v2/serverparks/${serverpark}/questionnaires/${QuestionnaireMockObject.name}/settings`, - ) - .reply(200, QuestionnaireSettingsMockList); + .onGet(`api/v2/serverparks/${serverpark}/questionnaires/${mockQuestionnaire.name}/settings`) + .reply(200, mockQuestionnaireSettings); const settings = await blaiseApiClient.getQuestionnaireSettings( serverpark, - QuestionnaireMockObject.name, + mockQuestionnaire.name, ); - expect(settings).toEqual(QuestionnaireSettingsMockList); + expect(settings).toEqual(mockQuestionnaireSettings); }); }); diff --git a/src/functions/questionnaireFunctions.ts b/src/resources/questionnaire.ts similarity index 98% rename from src/functions/questionnaireFunctions.ts rename to src/resources/questionnaire.ts index ba82c96..f2f2492 100644 --- a/src/functions/questionnaireFunctions.ts +++ b/src/resources/questionnaire.ts @@ -4,7 +4,7 @@ import { InstallQuestionnaireResponse, Questionnaire, QuestionnaireSettings, -} from "../interfaces/questionnaire.js"; +} from "../types/questionnaire.js"; export async function getAllQuestionnairesWithCatiData( this: BlaiseApiClient, diff --git a/src/functions/questionnaireReportFunctions.test.ts b/src/resources/questionnaireReport.test.ts similarity index 80% rename from src/functions/questionnaireReportFunctions.test.ts rename to src/resources/questionnaireReport.test.ts index 9888f11..24ab49b 100644 --- a/src/functions/questionnaireReportFunctions.test.ts +++ b/src/resources/questionnaireReport.test.ts @@ -2,14 +2,14 @@ import { describe, it, expect, beforeEach, afterEach } from "vitest"; import MockAdapter from "axios-mock-adapter"; import axios from "axios"; import BlaiseApiClient from "../blaiseApiClient.js"; -import reportMockObject from "../mockObjects/questionnaireReportMockObjects.js"; +import { mockQuestionnaireReport } from "../mocks/questionnaireReport.mock.js"; const mock = new MockAdapter(axios, { onNoMatch: "throwException" }); const blaiseApiClient = new BlaiseApiClient("http://testUri"); const fieldIds = ["qhadmin.hout", "allocation.toeditor"]; -describe("BlaiseRestapiClient", () => { +describe("BlaiseRestapiClient questionnaire report functions", () => { describe("get reporting data from API", () => { const serverpark = "test"; const questionnaireName = "dst2108t"; @@ -20,7 +20,7 @@ describe("BlaiseRestapiClient", () => { .onGet( `api/v2/serverparks/${serverpark}/questionnaires/${questionnaireName}/report?${expectedQueryString}`, ) - .reply(200, reportMockObject); + .reply(200, mockQuestionnaireReport); }); afterEach(() => { @@ -34,7 +34,7 @@ describe("BlaiseRestapiClient", () => { fieldIds, ); - expect(reportData).toEqual(reportMockObject); + expect(reportData).toEqual(mockQuestionnaireReport); }); }); }); diff --git a/src/functions/questionnaireReportFunctions.ts b/src/resources/questionnaireReport.ts similarity index 86% rename from src/functions/questionnaireReportFunctions.ts rename to src/resources/questionnaireReport.ts index a2a652a..00a497a 100644 --- a/src/functions/questionnaireReportFunctions.ts +++ b/src/resources/questionnaireReport.ts @@ -1,5 +1,5 @@ import BlaiseApiClient from "../blaiseApiClient.js"; -import { QuestionnaireReport } from "../interfaces/questionnaireReport.js"; +import { QuestionnaireReport } from "../types/questionnaireReport.js"; export async function getQuestionnaireReportData( this: BlaiseApiClient, diff --git a/src/functions/userFunctions.test.ts b/src/resources/user.test.ts similarity index 81% rename from src/functions/userFunctions.test.ts rename to src/resources/user.test.ts index 1bceaf7..e6d26ff 100644 --- a/src/functions/userFunctions.test.ts +++ b/src/resources/user.test.ts @@ -1,15 +1,13 @@ import { describe, it, expect, afterEach } from "vitest"; import MockAdapter from "axios-mock-adapter"; import axios from "axios"; -import BlaiseApiClient, { - CreateUserMockObject, - CreateUserResponseMockObject, -} from "../blaiseApiClient.js"; +import BlaiseApiClient from "../blaiseApiClient.js"; +import { mockNewUser, mockNewUserResponse } from "../mocks/user.mock.js"; const mock = new MockAdapter(axios, { onNoMatch: "throwException" }); const blaiseApiClient = new BlaiseApiClient("http://testUri"); -describe("blaiseApiClient users", () => { +describe("blaiseApiClient user functions", () => { afterEach(() => { mock.reset(); }); @@ -65,8 +63,8 @@ describe("blaiseApiClient users", () => { describe("create user", () => { it("creates a user and returns a response", async () => { - mock.onPost("api/v2/users").reply(201, CreateUserResponseMockObject); - const createUser = await blaiseApiClient.createUser(CreateUserMockObject); + mock.onPost("api/v2/users").reply(201, mockNewUserResponse); + const createUser = await blaiseApiClient.createUser(mockNewUser); expect(createUser.name).toEqual("Beyonce"); expect(createUser.role).toEqual("DST"); @@ -115,4 +113,22 @@ describe("blaiseApiClient users", () => { expect(await blaiseApiClient.changeUserRole(username, role)).toBeNull(); }); }); + + describe("change user server parks", () => { + const username = "test-user"; + const serverParks = ["gusty", "local"]; + const defaultServerPark = "gusty"; + + it("returns null", async () => { + mock.onPatch(`api/v2/users/${username}/serverparks`).reply(204, null); + + const result = await blaiseApiClient.changeUserServerParks( + username, + serverParks, + defaultServerPark, + ); + + expect(result).toBeNull(); + }); + }); }); diff --git a/src/functions/userFunctions.ts b/src/resources/user.ts similarity index 98% rename from src/functions/userFunctions.ts rename to src/resources/user.ts index 981f9a6..01e4e6a 100644 --- a/src/functions/userFunctions.ts +++ b/src/resources/user.ts @@ -1,5 +1,5 @@ import BlaiseApiClient from "../blaiseApiClient.js"; -import { NewUser, User, UserRole, PasswordRequest, RoleRequest } from "../interfaces/user.js"; +import { NewUser, User, UserRole, PasswordRequest, RoleRequest } from "../types/user.js"; export async function getUser(this: BlaiseApiClient, username: string): Promise { return this.get(`api/v2/users/${username}`); diff --git a/src/interfaces/blaiseApi.ts b/src/types/blaiseApi.ts similarity index 100% rename from src/interfaces/blaiseApi.ts rename to src/types/blaiseApi.ts diff --git a/src/interfaces/blaiseApiConfig.ts b/src/types/blaiseApiConfig.ts similarity index 100% rename from src/interfaces/blaiseApiConfig.ts rename to src/types/blaiseApiConfig.ts diff --git a/src/interfaces/case.ts b/src/types/case.ts similarity index 87% rename from src/interfaces/case.ts rename to src/types/case.ts index eca6bad..ff9a501 100644 --- a/src/interfaces/case.ts +++ b/src/types/case.ts @@ -1,11 +1,11 @@ import type { CaseOutcome } from "../enums/caseOutcome.js"; import type { EditedStatus } from "../enums/editedStatus.js"; import type { Organisation } from "../enums/organisation.js"; -import type { CaseData } from "../types/caseData.js"; +import type { JSONValue } from "./common.js"; export interface CaseResponse { readonly caseId: string; - readonly fieldData: CaseData; + readonly fieldData: Record; } export interface CaseStatus { diff --git a/src/types/caseData.ts b/src/types/common.ts similarity index 69% rename from src/types/caseData.ts rename to src/types/common.ts index 175e481..1b5e99c 100644 --- a/src/types/caseData.ts +++ b/src/types/common.ts @@ -5,5 +5,3 @@ export type JSONValue = | null | JSONValue[] | { [key: string]: JSONValue }; - -export type CaseData = Record; diff --git a/src/interfaces/daybatch.ts b/src/types/daybatch.ts similarity index 100% rename from src/interfaces/daybatch.ts rename to src/types/daybatch.ts diff --git a/src/interfaces/diagnostic.ts b/src/types/diagnostic.ts similarity index 100% rename from src/interfaces/diagnostic.ts rename to src/types/diagnostic.ts diff --git a/src/interfaces/questionnaire.ts b/src/types/questionnaire.ts similarity index 100% rename from src/interfaces/questionnaire.ts rename to src/types/questionnaire.ts diff --git a/src/interfaces/questionnaireReport.ts b/src/types/questionnaireReport.ts similarity index 52% rename from src/interfaces/questionnaireReport.ts rename to src/types/questionnaireReport.ts index 6c05c03..c6abf2d 100644 --- a/src/interfaces/questionnaireReport.ts +++ b/src/types/questionnaireReport.ts @@ -1,7 +1,7 @@ -import { CaseData } from "../types/caseData.js"; +import { JSONValue } from "./common.js"; export interface QuestionnaireReport { questionnaireName: string; questionnaireId: string; - reportingData: CaseData[]; + reportingData: Record[]; } diff --git a/src/interfaces/survey.ts b/src/types/survey.ts similarity index 100% rename from src/interfaces/survey.ts rename to src/types/survey.ts diff --git a/src/interfaces/user.ts b/src/types/user.ts similarity index 100% rename from src/interfaces/user.ts rename to src/types/user.ts From 36f14d5a30a715f160a99685b88a202485154eb1 Mon Sep 17 00:00:00 2001 From: Richmond Rice Date: Thu, 23 Apr 2026 17:05:51 +0100 Subject: [PATCH 06/36] naming standards, test coverage --- .github/workflows/ci.yml | 1 + README.md | 14 ++++++++------ eslint.config.ts | 4 ++-- package.json | 6 +++--- vitest.config.ts | 2 +- 5 files changed, 15 insertions(+), 12 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 2b9d04e..f292e1d 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -19,6 +19,7 @@ jobs: node-version: 24.x cache: yarn - name: ๐Ÿ“ฆ Install Dependencies + # TODO: remove network-concurrency after yarn upgrade run: yarn install --frozen-lockfile --network-concurrency 1 - name: ๐Ÿงน Run Linter run: yarn lint diff --git a/README.md b/README.md index 884b188..ff528a5 100644 --- a/README.md +++ b/README.md @@ -23,7 +23,7 @@ import BlaiseApiClient from "blaise-api-node-client"; const BLAISE_API_URL = process.env.BLAISE_API_URL || ""; const TIMEOUT_MS = 1000; -// The client accepts an optional timeout in milliseconds +// The client accepts a configuration object for extended settings const blaiseApiClient = new BlaiseApiClient(`http://${BLAISE_API_URL}`, TIMEOUT_MS); export async function fetchQuestionnaires() { @@ -43,9 +43,9 @@ export async function fetchQuestionnaires() { To support local testing and ensure your mock data stays in sync with production contracts, the library exports validated mock objects. These are defined using readonly modifiers to prevent state pollution between tests. ```typescript -import { QuestionnaireListMockObject } from "blaise-api-node-client"; +import { mockQuestionnaires } from "blaise-api-node-client"; -console.log(QuestionnaireListMockObject[0].name); +console.log(mockQuestionnaires[0].name); ``` ## ๐Ÿ› ๏ธ Development @@ -68,11 +68,13 @@ yarn install This library follows strict clean-code principles: -* **Immutability**: Interfaces and mock responses utilise `readonly` modifiers to enforce data integrity. +* **Domain-Driven Layout**: API calls are logically grouped by entity within the resources/ directory (e.g., Cases, Users, Questionnaires), rather than by generic functions. -* **Strict Typing**: Union types and strict mapping are used for dynamic values (e.g., `UserRole` and `CaseOutcome`), providing IDE autocomplete and compile-time safety. +* **Centralised Contracts**: All data contracts (types and interfaces) reside in the types/ directory to prevent circular dependencies and maintain a single source of truth. -* **Decoupled Logic**: Domain interfaces are kept in `interfaces/`, while foundational data structures reside in `types/` to prevent unnecessary coupling. +* **Strict Typing**: Union types and strict mapping are used for dynamic values (e.g., UserRole and CaseOutcome), providing IDE autocomplete and compile-time safety. + +* **Barrel Exports**: The public API surface is strictly controlled via index.ts, ensuring consumers only access intended interfaces, enums, and client classes. ### Quality Control diff --git a/eslint.config.ts b/eslint.config.ts index d8666ff..b7e4d7a 100644 --- a/eslint.config.ts +++ b/eslint.config.ts @@ -24,7 +24,7 @@ export default tseslint.config( }, { - files: ["src/**/*.ts", "mocks/**/*.ts"], + files: ["src/**/*.ts"], plugins: { import: pluginImport, prettier: pluginPrettier, @@ -64,7 +64,7 @@ export default tseslint.config( "no-unreachable": "error", "import/no-extraneous-dependencies": [ "error", - { devDependencies: ["src/**/*.test.ts", "src/**/*.spec.ts", "mocks/**"] }, + { devDependencies: ["src/**/*.test.ts"] }, ], }, }, diff --git a/package.json b/package.json index 9eaf382..e91aab9 100644 --- a/package.json +++ b/package.json @@ -6,11 +6,11 @@ "node": ">=24.0.0" }, "type": "module", - "types": "dist/esm/blaiseApiClient.d.ts", + "types": "dist/esm/index.d.ts", "exports": { ".": { - "types": "./dist/esm/blaiseApiClient.d.ts", - "import": "./dist/esm/blaiseApiClient.js" + "types": "./dist/esm/index.d.ts", + "import": "./dist/esm/index.js" } }, "files": [ diff --git a/vitest.config.ts b/vitest.config.ts index 133c16b..5f3bcbe 100644 --- a/vitest.config.ts +++ b/vitest.config.ts @@ -7,7 +7,7 @@ export default defineConfig({ provider: "v8", reporter: ["text", "json", "html"], include: ["src/**/*.ts"], - exclude: ["src/**/*.test.ts", "src/**/*.spec.ts", "mocks/**"], + exclude: ["src/**/*.test.ts"], }, }, }); From 0ee9c2aa7c32b6a08b0bf09674d21930459c3d99 Mon Sep 17 00:00:00 2001 From: Richmond Rice Date: Thu, 23 Apr 2026 20:53:39 +0100 Subject: [PATCH 07/36] Update index.ts --- src/index.ts | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/src/index.ts b/src/index.ts index 24dfc2e..ad21593 100644 --- a/src/index.ts +++ b/src/index.ts @@ -1,7 +1,13 @@ export { default as BlaiseApiClient } from "./blaiseApiClient.js"; +export * from "./types/blaiseApi.js"; + +export * from "./types/blaiseApiConfig.js"; + export * from "./types/case.js"; +export * from "./types/common.js"; + export * from "./types/daybatch.js"; export * from "./types/diagnostic.js"; @@ -10,11 +16,11 @@ export * from "./types/questionnaire.js"; export * from "./types/questionnaireReport.js"; -export * from "./types/common.js"; +export * from "./types/survey.js"; -export * from "./types/blaiseApi.js"; +export * from "./types/user.js"; -export * from "./types/blaiseApiConfig.js"; +export * from "./types/questionnaireReport.js"; export * from "./enums/caseOutcome.js"; From 28f2177bac0cb0a1d1e8f9d4f08a4b37ce1cdbf9 Mon Sep 17 00:00:00 2001 From: Richmond Rice Date: Thu, 23 Apr 2026 21:05:17 +0100 Subject: [PATCH 08/36] Update index.ts --- src/index.ts | 2 -- 1 file changed, 2 deletions(-) diff --git a/src/index.ts b/src/index.ts index ad21593..a4745c1 100644 --- a/src/index.ts +++ b/src/index.ts @@ -20,8 +20,6 @@ export * from "./types/survey.js"; export * from "./types/user.js"; -export * from "./types/questionnaireReport.js"; - export * from "./enums/caseOutcome.js"; export * from "./enums/editedStatus.js"; From cea413e22c614fff3d29c57602fa64e66892b3aa Mon Sep 17 00:00:00 2001 From: Richmond Rice Date: Thu, 23 Apr 2026 21:54:08 +0100 Subject: [PATCH 09/36] remove non emum --- src/enums/userRole.ts | 10 ---------- src/index.ts | 2 -- src/mocks/user.mock.ts | 5 ++--- src/types/user.ts | 4 +--- 4 files changed, 3 insertions(+), 18 deletions(-) delete mode 100644 src/enums/userRole.ts diff --git a/src/enums/userRole.ts b/src/enums/userRole.ts deleted file mode 100644 index ea1facd..0000000 --- a/src/enums/userRole.ts +++ /dev/null @@ -1,10 +0,0 @@ -const UserRole = { - DST: "DST", - BDSS: "BDSS", -} as const; - -export type UserRole = (typeof UserRole)[keyof typeof UserRole]; - -export { UserRole }; - -export default UserRole; diff --git a/src/index.ts b/src/index.ts index a4745c1..7e1a087 100644 --- a/src/index.ts +++ b/src/index.ts @@ -26,8 +26,6 @@ export * from "./enums/editedStatus.js"; export * from "./enums/organisation.js"; -export * from "./enums/userRole.js"; - export * from "./mocks/case.mock.js"; export * from "./mocks/diagnostic.mock.js"; diff --git a/src/mocks/user.mock.ts b/src/mocks/user.mock.ts index 9cf825c..0d8f347 100644 --- a/src/mocks/user.mock.ts +++ b/src/mocks/user.mock.ts @@ -1,10 +1,9 @@ import { NewUser } from "../types/user.js"; -import UserRole from "../enums/userRole.js"; export const mockNewUser: NewUser = { password: "somethingVerySecure", name: "Beyonce", - role: UserRole.DST, + role: "DST", serverParks: ["gusty"], defaultServerPark: "gusty", }; @@ -12,7 +11,7 @@ export const mockNewUser: NewUser = { export const mockNewUserResponse: NewUser = { password: "somethingVerySecure", name: "Beyonce", - role: UserRole.DST, + role: "DST", serverParks: ["gusty"], defaultServerPark: "gusty", }; diff --git a/src/types/user.ts b/src/types/user.ts index b82ab73..376e329 100644 --- a/src/types/user.ts +++ b/src/types/user.ts @@ -1,5 +1,3 @@ -import type { UserRole as UserRoleUnion } from "../enums/userRole.js"; - export interface UserRole { readonly name: string; readonly description: string; @@ -8,7 +6,7 @@ export interface UserRole { export interface User { readonly name: string; - readonly role: UserRoleUnion | string; + readonly role: UserRole | string; readonly serverParks: readonly string[]; readonly defaultServerPark: string; } From fb995958e4f16c05164256ff775e3e4326c40b61 Mon Sep 17 00:00:00 2001 From: Richmond Rice Date: Sun, 26 Apr 2026 18:20:27 +0100 Subject: [PATCH 10/36] Update eslint.config.ts --- eslint.config.ts | 1 + 1 file changed, 1 insertion(+) diff --git a/eslint.config.ts b/eslint.config.ts index b7e4d7a..a8d3ed0 100644 --- a/eslint.config.ts +++ b/eslint.config.ts @@ -41,6 +41,7 @@ export default tseslint.config( { blankLine: "always", prev: ["const", "let", "var"], next: "*" }, { blankLine: "any", prev: ["const", "let", "var"], next: ["const", "let", "var"] }, { blankLine: "always", prev: "*", next: ["class", "function", "export"] }, + { blankLine: "always", prev: ["block-like", "multiline-block-like"], next: "*" }, ], "prettier/prettier": [ "error", From 5f13d620caeed856b07783587fb53a0cd0a36baa Mon Sep 17 00:00:00 2001 From: Richmond Rice Date: Sun, 26 Apr 2026 18:38:48 +0100 Subject: [PATCH 11/36] Update eslint.config.ts --- eslint.config.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/eslint.config.ts b/eslint.config.ts index a8d3ed0..4c874fa 100644 --- a/eslint.config.ts +++ b/eslint.config.ts @@ -18,13 +18,13 @@ export default tseslint.config( }, settings: { "import/resolver": { - typescript: { project: ["./tsconfig.json"] }, + typescript: { project: "./tsconfig.eslint.json" }, }, }, }, { - files: ["src/**/*.ts"], + files: ["**/*.ts"], plugins: { import: pluginImport, prettier: pluginPrettier, From 082984b43be3a5b0ebc15c0bc3b45c9a6d044646 Mon Sep 17 00:00:00 2001 From: Richmond Rice Date: Sun, 26 Apr 2026 19:10:15 +0100 Subject: [PATCH 12/36] Update eslint.config.ts --- eslint.config.ts | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/eslint.config.ts b/eslint.config.ts index 4c874fa..89fb9d7 100644 --- a/eslint.config.ts +++ b/eslint.config.ts @@ -65,7 +65,9 @@ export default tseslint.config( "no-unreachable": "error", "import/no-extraneous-dependencies": [ "error", - { devDependencies: ["src/**/*.test.ts"] }, + { + devDependencies: ["src/**/*.test.ts", "*.config.ts"], + }, ], }, }, From 77a4502852a673ad3e543a51cee7e3520ca44471 Mon Sep 17 00:00:00 2001 From: Richmond Rice Date: Tue, 28 Apr 2026 09:46:27 +0100 Subject: [PATCH 13/36] upgrade yarn --- .yarn/install-state.gz | Bin 0 -> 366776 bytes .yarnrc.yml | 3 + package.json | 6 +- src/blaiseApiClient.ts | 2 +- yarn.lock | 6890 ++++++++++++++++++++++++---------------- 5 files changed, 4083 insertions(+), 2818 deletions(-) create mode 100644 .yarn/install-state.gz create mode 100644 .yarnrc.yml diff --git a/.yarn/install-state.gz b/.yarn/install-state.gz new file mode 100644 index 0000000000000000000000000000000000000000..0d771026271bfca32b44166cfd4cd67719dc094d GIT binary patch literal 366776 zcmV)GK)$~piwFP!000001FXGU&#g(49%PRPV-CiE1lOZ|g#^*Er zKmQN^`sY9V?r;9b{6qfrkN@WHe*8B7W`6wo$N%=bp8xfC{jYyBKmRYEfA7bC_v7Ep z?|=U3cfbAdYxzHZ_v1hK`47MQ{rvThfBO%WPn>gY_AqbPEXoM2Cx?35Chd9oQhYz= zx8uCDrl)jDUo#)Y-w$76que$cVvz+b3efM0MLo$)i=665-$=~E} ze|q!tAAa}aAKjmR``5qz2S5J9pX>KO{p}xq{_9`=gTMQ;AAkNgKmA<4`|(fzMgIKX z|Mc7b>9_yDmE zT_@*qTo%{Y6FHjB2KNx!$gKyq~#8#`Y)YX*_-+OiHfm z9E+0gT*9A_w)66;ZCApIsl(0W&T+qsjh%~q`JAsmf2_T28=KcLGb2C8-|dn;_geH+ zo#R?dH?Ih#+)iBjdiNz8o4ZGI=bgE^UL4lkm9i<5)Aqi^N8cX5BHN-aEqnK5{^uQ?aY}>ciH%*_61#?%T0~Q%EmQ%vo=$My}Nfn`P85TG!dhfmCCnc?FQ@8t0OUlz{Z7sWgidvTt)iH^CXph#npFj6 z+h=Jp`qvif_r33zTXVL09i1Y7r*<(dIa;D*T9c(Mi+0xW zoZZ&X)in0mv*Xbr+wOJpxx1-w$&KERQ+9dZ@$Tml{&*9+Twm^%xtEH*&aiV)uvKSW zKHuLz)1n!y`C8~^-JW^uvH0=ve9Q6Pt_lkZeU%GuxDMV@9hrC2FgIMX6B)T~*?M07 zCaFJF_i5u5UwPZv(Rb#XiC+8W*Y)?8Pwh)p(8u)DyVd(V>%J{T^Q2#QCAo^z#j!s- z7SZO1ayvKjp1!)mGp1gLtqf7tqqP=m^u47;CsL*??)Lk*_CEUc{6cem^XdCsW+HoX z@zBwJ{8Fr9!o2*_+`Lq^-^QR*z4m@*&KU}^tg^6Z-g+qeoR^p9(rTU+7AO=uWKTpd z&VG;AKJ<0{?YGZ+8GF`ZwtM_FOA$xES|#(T2p-(YVxm>Y(VmhoCqFHD_1TeB%qGw5 z@XFfr);)!5YcnQ=$-Kiv^V(YQ_jZE=Zz01AK$K9_NUj+5#2YNwDhsN>j^uu@9`2xH!J?WuD{!ARSB_O z5^gg-qExQEkMQvo_q|A}&K1JcSL$4U*Qrifnypo&H&@T5dIuxV+7j#BQE7dCk4Rn1 zICL`dhg<9tO-D*) z#d;-gxep&lLw;*UT2xI|O_icRE9>gK*Uj3;>g)bLG<6e+pPt#YWYj4_Lf0aj)NI}T zybi7u33;0ODq8ryCqXMh>ZWn;ohrnlkKEsRPX%BDOP?Kf&c)A|yKbu39V+tv8h_|M zljq5>?c*b;FHAN1R-)y9s%FO)Ekm?ogFw8dj2jrP~`?=^|lxO8~sT7p+L&?ew{ExwP0_?--W)9m)bFWC1OdpVukd`HC@s znfUheTcJpuC-HP}b?mM)93(p=dW$r#NWJf3dURCH;nge3{YX@(69Ig?lV>=mpJN!l z8*PJ4ty1Dqu1?o?{o>!KexJwo_4D7|EICj864yQx#@p_FS7}XVc`#k$i$;g2@38iL z8hphkS2V_UuX}c1=PjY})JA>jjlk^aVHX90qM1*)Hpz^t#`}JLsZ!ZNI{Ua;DAmnk zU^g@5o%EbSi7Kkb8_hlUl78~uVi(+tVU!ss$48EO-q%NBmrL5cqQ<%3xJRd(42SvN zxOAz$?jJ6{z#pi~>0VqT9`m$bjf!Lg3G6qq`RTn2t$cI_@G9Dx)Txi8_@W(t7&A-j z?B07cdd1#yuAXas{iNNJvsN-0=g~M{-=EiG>%=yWSkXJ2#pY~&%VM(KAVZ13;3K#S=(j0g4OpII>k3-{HKo_KNT47u~CN=DAPi zsI1AQJ6WwI?k?gx;m`TFMYnD_#`F1}SntvRB1a?}Uk{mClm)&+ms2lzrA9p6k#_)n z4)rnJPQbTqeT^R;SEH2#@Z%04ghPm;+9wUiccek#L+xHv{J74Q^@tzm2LAl@{KApP zia+PGZ?`T#N#{}RXCra$%37B~0Mw?fSvGl3?MT+xTK?{iM8`AF_am0N_pVDE^1+3c z;6a@I9{b{xu`0zq+r__re*qe(0~ZD)OA?KCxu`lQuSckQ6rbgr%ebB_+bd+Z#G5n> z#wE34POb@kJIJ~4+;8=L`964ii&y(Xg>J1o-5ADpfBpQg`CHr8$Y_{o zRd3fKk*i#^b_M^7|JwWp7%KzyCNWfhlJNu7P|`}=?Pk{kYvPY+*`>9{_mB`p0e$4Wyxcc|Wg z1(Mvy&N2o&Z@LPD+q)>L7XWQPn{`{?8eP`v;9%&U?v@#uPd#=zplrV8k67<{yF|TxP;56}+yB`IXIUTl;NbEX7rEe3Bm^b2nNG04<%@ZQ2sNgQy1O6xL>AV z0`U@gH|GtfO&)r$HF3W@8LK|qt)K0~Z_#2Jtv+7)_G_MTt+$o}kW^j7yzck<4Y%u} zm{);KJ=B8${VSC?;x>ML5d$@j7@+O37&Q7Ob#V-}(L#(@=jPg+AiZbrsRa;%wxzu# zRIA<14jx76mYTWzHU7K@UDsVI>yW&q?*SzDBA?pnrAzazxcYQgyb5I+%as_X?jl~r z9y@Zo+F73O(I~ffn4~#B^FGG;Fhu8vG1$J-!3BQLzjth1dv(*XL8H=J%6t!MRY$35 zf{JsA+J`N!V;qYkWtwFVsJPROT5su$Mu?;z^asRYLt&5W%02827@7l+|!^TT@(cN?0U zt?w;6;M=1*Nc;rFc40eage z6q=6fTuC_=u5D^?Su;uznMOPmr+J5U0pSdA#`FdhLC}R@qRNS~=$Y<%U_o#%`D%Jx z=gjx`33~Uf=K^?JZo54XIz|Ch^86h!md***+a^xuIp`F5bUhz8NzIB_)Y;HNkZDME=1N*~4(qX7XKg$89OjGW?3gX4_A5QM zW!8$j(6w%zTzl}J+7sqt@Y4R|F{iKD5IqDXU146t?viWmw{7zIYybNGy!PSMb?>fE zC&b5RWZ~g|ZXY!o;Yv{zZ;7mU56y*BJb&o*m^16GQeOJX*hG&!Lk){l#N#a7%8uFj zYP?%ecPuLXx_?m4?(=k3Ipg9eTm6!tZCm<)lVqOcD88#XAJs=KH0QL%u2QGRIyPkfdYNy=Qz?_CTXWyJ>s(*wQ=GrQ|F1wN6QY3zqK$y$^17GUmYjE!2OWXy z!>k*Ol2lj0ORT-r*f38~jMhsqlM+I@hbJ91{oq44U(Fz1^YoN9(aCZ(`g(rskRuVw zFXFNDL0hoVJWSgxJjK1-l1_EL2gvY<;)Dym$#hrmd!dY=RatZ6#CD=Z%SoxE-@Xks z*MKPWJ}>x=^co)ix_=H{;KI);CgywN(pwJwk8gl&GCXmNoORV5IU;d#9TT}rdFR4Z z*tSxa((R5UVqf75{DFYCZBOo~RZu5v&01E?Yvc9)`uXph!e_D)WNYbU$=>hDhrypNZj#j0VM4=kS=vtuaBw+oDABeEHX#uN_W)sKB6m-zou)D zai5Jb?!K9~a|PgSTGW4}t^4th{_u1C_>X?|SNN&$%YX8RpMRd;;|KlE{@ri>^7p^~ z^S|Funr*lzSFhZ3ogrpD?rd_|mU^=F%2YcinhR1#$U2;xg6HMtSV3)Tp~x(PfZ@hn z6+#yv!mJ0$2$`LGFUzne?P;1?UteHQ&D?l*s{w$&{b=v<*M{Op(gbycQLygWa!|mR zXSIgC;fFTs*>GGrwQmCx&et8QwpKne3?R3Zzpe>3y%xH#{pNk`S~A%W`6vWzy1CE;SWE} z@A1>&%>BE+|5g2ce>z#!kQDi2o85Xlnzp`c_sw3cHfd*1XDGO{wZ=MgmdL5lY7w@! zr0IRCw(JKpX6L*Rh}`!k2%uK+3`4A@rva;x>zk90SA$)FG&*VbLj#jL%W2^z$w&S@ zaI@((n9lMg7_g!Jh4w;fm_S|@gCNEe_F%??rNfmf>dP8ff%FkMKsdHh`x&ml7uH+W z8T8T{cfUM#@gn-jx+g~Ld=1+wAgS9NDf6IqSZ=>tG*!GCl29ZwLi0?r&w zq~_GR84mr_F_TR!^f(j_T(-*!C^lVQiPk56GiX?7Se^bz<)rP`u*}S_kQcM+Oji)WS`yRCN?xp_Jq5@)# zWcT@ca230$@pg_F&)nL2paQroZ=e(Ox=kf&N?>m3*(1yD^@0g9hwyOM6~JPyI)=U)?InRwk><>*sH`l+hFMg|KoKbR7$PzrOX8JRcJscOq9rGE1e}7}Krg@C<_L!2 zV)*FLo$QdcFMFUjhLml-uD>vGoH!tELv-h{*~B>H7^EP@*mbPid-<-!KryWo5_LYa zA29p7&f3Bc+MgHAA@x=(7`(x}Zus^BI25G9R6uRn7|PDCiMMqO!t2k_BgAVl^h~#* zH?nCq8E8II7bHG&?_M$4^HvYd>9gUVYmgxZ4L?YQJK&1oCERP*A&8{H?W!FZ^!9s2 zZx1Xae*)u>K`BwUmb7H4L-AqIkCM=NBa#FaJFs6!ugPoOGiNe8_|+_H*}AQ*TgUIX zulLaos_r0y!wgo&f|2ctH@$V7(W-&Y{kXu62cAzAX2uLm(5k7U9`_8v0_Z}^r9~z7~-Sz51?B z%wF)EhCz}cuN&62anaecOE(OrkoBKDPH^R=4ez^ZU}Nb^*JgbUoXH+r@RDnt_5+W~ zrn_C)??w}sVFdBo0@^#i53p^NW7Uxv$eRi9o`=^olP8v@Z9FlW2F8J2EuQC|H{(^K5E=}=4F3nsef^nKK!DDB32~;W=_P~R9E&2pr{mu76GxI%gztf;f%zGc;J7`_SnxT}Pf{3dzi;%J< zrh9We6bH(f$kKIs-_;sE+nekixOLGn!y#nK75QFq<`i+Rk7aWo4_*#X>W>N6e*ELV z&ENk#zyI-H{erDv1o_Qh{_=Z&ZvfMaUq;wo&^=i>3^t1&bi5^ExR)+j;K9D zOI^RT$Q{B5F#vU<%hdN_#;%&xzAILOuhR1T!e-+7S(x!>SqxD zOl(qHXp4|lLybHG1dN;n_7`LDY{n|JHln6SnJd8v3J+F0AqhnU)I?&xPH2rU#HHT(8SO$o`tX_}? z`iyPcydi8BseRxOd1#?9yNjF|7aFK}IXmLh!C149trM%}r~SgG6Er7Z$C1-9eQ5$zulb#dRHMIP_E$K_`?| zDLHDagLy*=ro->c1A+gLkM2VHCgLa{#{+!@s_|1AMkniD$?i?t*CHy=5ohsvT2{1U z6kgs-mj&uz1?bmMOh>M#6eMc922%NWv#IaB`Sp0PH;wOSsdA47zmEw>^<3sVbnXgo zg{*C|5+WIB#}3iJayq#Nu;FkQFn4ikJG6kQQk_kf+s#fRzpT!$57E{`J!yv%7Gd;M{g6>M9#Z zh?*t`dNBx^7CB59ecR}q0~z@e>wT#8SZ>~-dz%7*U$05OK0hKor8n!D@Imkatz7#( z09c)~N;Xxm^n!V+?rp?OXbJKhi0TsQbUNMrpxg#dKQn&yAXua-&}^SbUrM8{v;FA< zr$hb6eBnR->-qUNKmGO(e_6l#?fdDU|K61FGlY}s1GnXhC>Ic`2{&HvS&=7EQ1>u>`EA__gr3mf|}YM zU`o)z-;Z#hL(f2w4LigFfnR2+TI5^Jm^l zLWC7k5Bz;l;nr;K_4F!l#vK;dcHe8H&tbQQbcL2A5GMG5HEcg%k`=HZehndQ#xq+2 zt_gZIYnX^Ogqn8;%Y`1rGIGqbDDoU$9$s}U>S&V(hCSXW9og&!z}`66!u>cN43YhCK2jU)Cs20mKT%7idb=kg~` z0bKvt&mArB{CgmnAOFeU{_f{L{Pf$O|B%1=&5!@~xB0g}{pJ7TcmCpE|MvGk|K;!J z=imM2-^}m-V*P5ZU#-8We=+s1e*I_v-tOEBoW3UP=Fs*Bd|>G!q`uxd5I0lygRZh| z6Ty^H@R{E{jG%&oL%O7F3eGTSgD#*0FLqAUiG&3(Pom*TS@~*!9D}6)`pt(RzOV1w zlSRyDpn7{N*rp#8Fpi|R3kvjU$Q2z`!jF45*zq*cF}?JmquTdHn$$R%eR6}6_T7R& zmeA<-qmw(0*M5Hj@E(wm-sZY=kl!IfhsKu58T@tWaCjmRjMUja-rs>JP(AVb*A>iA zPqz4z9rH-fSyzBto`zm4)eX(bpd$e3v+pKI8Tfnhb6*0~v{)B8I@%AzfMXu|IM-eu z4Zh*3JY9mh#|~UcfMX8Pk$cYg`#@!TrJfzYnJ&g%97BZ1G=z{)=JR4q8naj#>glgl z$Ll368#EoX_9YyPu63rFXXvVE59P9XVt8OP8L*a8K^eUA0a^LRulI zxqDz-&_jB~m1_tYZMM(^ti?5F2m5DMT5_b3rZ=0S4N`2hCSP~186I`}KwE<-)yMsO z;5xCZ$R{YPyjlkAQX2A4fJ7f<`#sA=kObuDcxP{I+|$(pw-cY1!5N>`h-R5A4Z0bP zuPp`F)Yp~o^i!F$uBm65?za)Da8jO;trf~Pnhxcvu=hgL&t5QCode&M*qe{WFA|k( zTl7tUNPcabMEd<$Hjrmx%Yug1T%?Pk+I*jS;kR6F8VC-fM4&8KtA6kreNsR*VkIbk z??te& zlgnY)K%q{=bAgTMkH~)sOo)}`m8>rgU9@tQTN>WzJ;z>251f3PO4d7m$q-=ByAwG9 z?N$w&F4J6o+$ws!zZXvl6D+c>Gf#96Nqqb~7-5>5<0+%38X72i8!o@QCl>(C$Fl^= z&>IZfcVEMJ_7Po+KZ6q4<5ks$w!g(i-ss8}d48n%Yx0Mk6i($A68tD>R}M=Y(qO1U zATI*_!M8;ry4jV=uqnaxBQO(sruf-#nQ?DE^fmwuT7#4WVSjg_2Gf{7jt2ECBfjl> z^5HxvpLHpWc#Pl{n3$qO8|lgLmN?im1+wyL$8?Dayd<}+P+ z&wa&n5i%OkLyRaepmR+TI-*YRd-C%LLW_bv@t->C;R>jAA?#DmGJUh4&kK}Yrq!QB zfaW(21S07ocBJ<_9V7xrlQ^zi2l;;%Vx##oM(# zUD^oy@(moA0-mfztYo8oJO-%tTfAPOM9r;PvH}zde-N6ZiHO}-YmHkwLOwp?4E(s8 zdgYDn=RQT?-1p>vHo&8f<(~{kG6XTnNrvU0E?Q4++(ZzCgf9_dV5@!(cn-#on=b0D zvl-Iq4V~w^fkZhnS)b{&HZn+z2_x%{VI}lt|Jf6#~pL_dJEPX^V_la$^;ME-H3O3eNq3Qe4)|p-=~(1 z4f3tx=8c6^K6PZW!}#wdrX3QV*2&jSdmsWRP!3+aXP?CM*dgs#2Y%MZN6i+v^UG#fVbX`D=70~q_3Vs zFED}TyOt1h)p06#pFIFi+J^k(oU56;FL*f5=f}r52*_7Te$DQw9)hVOv}K0M9j7m5I*?Ij7nmLW4-zwHJUqf|oC${{^%cI+&j8BgG6PInlAe$W5kRE7nD`QFK^;Ii-e?R~3jpT6n z0us=BJ2+ot{tRxA^Y%L+nN+V|sk~>~^GKveU0Wgz>oW+DeXO3>@&|Ni0_p~b56)77 zFl{u^JQ(_6NGM&D`}@=*^EmLbBov!UdK-DFf%q9;Z2r(`jdMa-auJx7Ft_cDrw*wC zY@Sb6nspF5I914jc1*ON+Pv0bV}xC_Hgbj#x=-*d-bG*EKe~7oxyOb$zaRky=!Ui| z!_;S+-c?T%>So4{fwxy6t^g~sHZyu2}1CPGUz1qpZ1-}!pa!3v7yAK{-fwES`Py?0y#qD=@ZNwD)F>B6${{IH(e*CAu7?A$|FjK+;1=@oYd?8J7 z!&9Kj1UI6+YY4FjDnd3Wdg2A%Z%&?bpi^7Pp|gPB;ryA#aiG6hj;x|VtR?picOHZ> zt1I%H=3)HEulqaQ23Dd;21!RaYS>3)@2Ac5-Q|79ij!BxNW0h2OXkoMf9B z7#<)A%Y{^J1Sv+9LY()I_N+0?rmr2*)QP6#PmoIT0CUzrLwdv-P-aP9Kq%YbLC=^g zjKk4~a1N`@rCw8u%*ljCI1t*>oCG>htbBm|;>NVTTyywIeXky& zyXx>g=tqKR`AFpI99hP&nM z_}G%;VU~+MknZH&>k41;?^AgWda@@4 zdICwhWNe1y;hsP`OQ-q_h+R5!90PO^pwruMhWe6E81B3)p46lZgQA6{CxG>IoNvEABA_uE~&H-0ZHH##W4k&RY<}LR@(37X z{7cA;aV;vEvi5ZFwdi8|Ej8gIoq(7;H~yYwKtMa~SxJY@R3RlDE!sle+#e(TN=IuHtD zKJj|5J`(C#+E{Ypxz7iHe}$OzXDSy94-n{o1_kS!3n$=gWitKzX`J4LR4CS-{jB4j z=6O>wM)6Q0zMjvt-$syz2$K$opNt(cu|hQ zCDMJc=Sh(tLxBY`XFh?_w&H9&dY3ED*Vcp3rhrruI7UpPtSq{1E1^_w5A&K zRy2t8L0Iz`me$bPIGv2$8xPLkukrQuoby22au~8)LlPpCms7QFARR-_h7198*%>Um zfzrJ-u`UMKoL;b-9dw_HE!XvMj=~u~Rbzib^|JM3;08Ve%Q(ZoIbYwOV`Cl1cYGct zZznZA&(6gPpQGzuCc#hPpG?r$pCr5`${^_(q6vn#Cqzfsk=M2eVi}MPa|cmeqTQg~ zY(t(7fMX9lci(SCfP=bHmDYQP8P;nREkkG^0jAD-e+ej|2VV%H+oTVinpB!jaJ3oB z$UYSB$cY7c27Y%g`0o>>cMoQDW>@B?2bxli;PWFKQG{E9{Oc<2AIgx6bYR zRQ`?qL5geI-iu-6b6ieFF$1KAl`!v&t}?vIvp?$&LK^}EZNljO5XZk_2(}z`T7n?a zs)U8Kbia5P^LMN!G)h&tunf68-}eua$i-q%6gNlSJNt0dsou&5A$JeW`z7a(;0YPa z6DqnJP=q39!&dTpKwBX4l<2;2hrFc)aodFtGV7FLOI-r~*c&d{{N9|otAeAD@^QS8 zOeJZ{HpEO+R^N{eScDRQ z>t%XKL!JuR_IAg)paHEOfBIWf)~UT%e4?X z06{@zzR-MYS?^6|nuD7l0 z*KS}tz#uGN4whGy;j4Ka?|`z2%Dk`v_JLm0rO!o54xHb#OtP>FwCEEbzjqt577gaW zePIaSLuo?b4eZr@UH?91-T#OBtE$L};r&Tt5wUx$yaLPF5Y{)Y$fpGUn~)|itQEeU z2ZV*5mFOr4%We%U67w!dv30!$;OYe(6I{z!FfcxT{NA7iBTk<0Q;k<#j9hu}79v#> zaWjnV0F?%15CgqhmT$qDF6jcgj@0ur8cNft|X)Zx}Db%tQAj{5C{b&Q`y4=`+-!{9ScQ#S1 zU$PdF&VuyrcV1MAV2uD=;RsYcNYOd(JY=)<`+EKjN-WFZ+DoCA-!TxCA_r-~YC>o3 z3FK5fLUx=(vo3ak|C1U_fLP~J+XajZfWcf?Elu= zCdptdMV!4cCNSdHzE8CrW&~RuIU6IWYTS$F&riAD!&SY?4kj)>V<3XzEfhC^S^FSKa)ifGxV2~47iOXK+? z1v)tWvvPhjvIwUg4!bc7UPx122O2HMqCLQh^tsqwc6x+}E$@Nzw)cFNgzYzxXAuF1UgxR_yb%f) zzbDKpC+w+)u^adUTsuIbK@WCg-Q9iq_4(0r1ZY`+g#=s=i?}~PA8U1w)wt91w!tEFau^ZZ-|Gt|bfNkn zUvK-|O~`(S2iy<{Qr9A!-bRAuGQl3ks|Y`thQ-WcVXGvT0b!xYC#wHJE0PG%?gXPr zSnJ7?wCU{iZr|9zj6{JZ1-LN}MoqN>d#dY;U4qpr5 zX%(TBkgxUW@P<`BuqoK1j_DicUTosUhK&lFZLyE!QiTd^Jzo3f1~!N8D7>XCV4_Cq z8C}f12NWaEMkZ()T?o<}lS6tHq)ii#f%SgxOhj1W2*`NxIWNJlhb=5CA=m-zt(W=n zVqw)&2tSJ$1YVnj3#@1p&*EaG;b=mUkK75wJYZ+CBLNYnApgHudz+ozlH|M&1|(XR zE&1;Xd?ub)azy?ohZ<|3TgZsW5Zk7z2{tW(5PTE5Vq@iL$u>}v;;so%MKrq4`M&qv zJ2T>W*5X1iTqp;$vu67pntjSkai2F09_Ewz-f%A^f#X&1*5SUdLdm$~0|;QUe<8Op z)V??SqB!UD)>i9tEK4fv6B{aoPHKFE`Yn${_q5&{I(rLM0OsUAv7X1<3JDCBgE1bz zu$^T%qi)O_vG=w+q9SY0l=%7mdq?YQ$xKFl#(oe~XEP(6L|>Rt`L3ERs(XRJ zVw(#Z1)e;Ne^9iKdzX^AlmJ49T%#AxK6kcbNd>BpyV(;q@NU5PF14u7`5J!Eh$x7% zwM&)|OZkW$L4ql5Z?t*+u96bX`C=3;1{}NfnlwCH1INbz*w~`l*%tg=L4Lkz#_6KV zXUT$5yI*}T&EMnxt|VJ=Pqo4hFK(e+IXEif&h@?c7Sa@s<9!Edjy_PDYs_3rcBfy- zbY!y}Ye#wZoO&t(A8&2PaobvDmZ3z}tQl#ev_0(m`-^xUgIYMd9e*61Y-S3lU9yH9 zTw`%WX2f_mp{$J{;7m-7hxF!?9q(>!@?31OEOzUDFTukE$!S|QTqLf_ zPObcs1MI_3N6OBOcZE1{WSalhQHKc3WH^RVlY%3OzNKu&Uv);PFXN&~s z6O3hX-S+1BtV1D;aZIvwCXA=zOa6V}}93udvcd2Qxd!siT~T_H};fyJFwKj-VE zPoABOtuE`|HpeM*U(DJ5=_ocNw^mD3u&ak93QMSvhh(7;eY3d8GdX}JzN4%{$t=o$jk z+8C?4T_fzA0smy`gpGSgFM4=y_&s#$TayuWLuc6w6JC9|hxPsZux8mEkfHHns_e;m zrQ!&YEM){a8rAe(yPEYg{CDY+AVhlmU@wlNaNEp@iNp zrSpxhlw`i|?}q6x)(sP_b|d89lj21gHOZVf%IxL4(WAlZbI_4Dw2EWzf%@Qh)GfY@ zw26~u-3P2VPKTf7IzD%qQBhBM*7Zb9SHAD>BAm2m=~GFStUXQ1E>Bd!^FWAbDN8DY zHQg`pHVVM4D1$>ES%9h1YcW7KYi!-l;5YO1+wKj!v~eNK_cc~IdHwXW4TJmV@9!LY z*C~rNB1{xDZl{)GO{x1(#-la~2!9&OpL>e30<&FlgAH7^W0zXrC81@tm;L}Uh~4Cb z&+3v%{|b=4)E-vbA@Tk_KcFQC4zOM?lJ7oB1Nm1va==^f4XHEXav{&-WtO+K5}hWS zN*Di_v(b-wj;-w->rI37}uXU2yJ28xP|7z z*%M>Vkhcp{s*#X(h$1;C5Y{S-RaXz9!DSW8fU8_eA57uOd5~oX`#6G?i~-F|2o-aQ zNzMCxe`;nx%qqOrGG-e{DzLECWkf-bpN-uqW(n6u?)MgGfQ?Fa;4oa$q(n|*eKQ(n zhK?3uPs`FN*4iB*C;EE-*BWo*Gq23?`Saf!+?Rws$Re>kbm$r43&<9Cmu2^sX;vj+wrBBijoQ?aWs8`k!HexBRu2k zYBmd{Fk7YhZ17?H0y6Wn$Mu&i6Ho)3^gP!_^i=7)Bc&rFOp`57Ye11ERnWdN$rBr< zyViEk3C`6@A3|dH`~2suW_mz`*EP7Dd%vgHzD~?`FV${*8Tq{CMz=sZW%3N6jWQ)$ zR=g{hnFwMsmM|k&%e0+|{7nxp?}b^-$`FATIO-np`T4(usflm){mD{Pc~ueEgfMymsOfHQpLCfrI*Y8Vg_{N*VHRzQ3U0(UehZL6t;i^ z6zpcA&Vk39oB>qXQj|%zRMt52yHz;a(p;A{346qn8v;`RL%MBU3aO}4%*x)V3ni6< zP4t$f5$zUbJRw-m_0VNLeZ99Gh{#@?K;r>gvpbFY2Jx(|YO#9n-}_;HsR|V!i#5j# zreaJj%ats{{7pL_PC=TloW`%F4?@_dS?!S{UIeo-!k!n~H%qj3Z*8RstiSQ3&f81! zg&JpI_ay#Yzmw$zx1dhmLwl)_Xh1(VOW!OSgu3C{htN*V$#noS7-$O5Azr;u2=y^@ z%--Q#-qL{BZaNUT!D!iNS)oC7A>rj0-hZ01g#7&Hk3o=pzYQtvOis_!D=7eMd$;jK z(vDb+Ywe_2WP=EI>+EJq4(~V%W2Fg{5j_~UhQrsErt8G56}D+^F{|S^`*{c{>vza6 zU7=V$Zl!ZKfMcoz1`&WABvnq*# zzAdD%*erF;pk31omc~3JZ9ad09g^{}f;)t0p@o5)-Jw>K*0#PF0bn2H?`rq{tjAyg zg49L>eGb41lspURs(UyGy-4*D9rys}J296|LcAFS3fzeLegCMv+p3p$SmBse_mC?k zC&O>gM^9TLE7!!n*)kbOgTXz#9^&@&VNPth((vl2EbeIyo{;6(IgU9s^g2;S>=kG+ z+Ci#azvqXK4@TeR5O`sA-p?3ip;=@WZYrnQrY_9Uc+OqiCc5c7b?qso0PtTc**50g zz0TI=*k~Q`y{XsI4oXD3b8oqp6$;Mgm+f zU}`64ZgZV;WbkRxRpktJUpse{7GSK6?U&NMHPGm(S5Cb|62JFPyP`i<82r59qvZQe z+C}sOhZ^0R_9}}9xMb3v;C#8fw*#&BFb%GhNtUX6#=@oqQKKI^$J zGUv_U$$mcn7!E{ksKf8Evu?wkT6SH7x|!BOsZQZnoU=AEFxC>P$XA`ea5;lAMY(3UUK>&fvqDKKoU ztFUd-deM2J0Yn~x%FxqHPlqH!{wM3BD*c(DE*-J{r1016UBZZsdIO9y+hb=MBte+gf~fWZe;8{0q~ zacbwv=6A*^%4isfS!oZ<_Y_pebn2Qle=Yz2wXl`3vAmX_%FHrur;? zuls0nf91XKUu@6+{m+lpKhXCqyT3i7%~fPpws>VWU&9UC%mjC8^Czd-_KMzDy)~}n ztVd?O^vJhaieU&1pXV$U{@k`@T<&GCeR{JhU?m@z)|Abr&HO&F)A_XUW$l5g3p$?* z{nSFXX&kSzX3l=EBW|BUSs_>V_SB+DVb6@K&e`L1NThS#sGvMc@2sEqK^wNw{M7q; zpgOfbE&BHZYdgc-{o+%wmh@(+y|oQTp`$kMPKYe6-A*KZwXt{~FKg}KRq;@QtZPyt zv>1-hu%qz?@CTc>GQ}u%qC5^>KcokB)csu-;WVUDxo7&=Y*|m&M(~HiZRjc*0@^F5 z@kYnymwci(RRQ{wo!3GqKFYSFDfMqr%EM5hLxY;nQ&<8s1Vch#sx_1h-+{EUCh>7j zK0M2#^s_4cyCXEYoAjW5E<|^Y3`HsX5h-Qu)=asK!L+3%zad511%cBvaaKyLhMpI; zd&qd?h07IXEksr8`_F$36xW9&_aHqF$5qPeO1%)xpVM@-AtbfIx6DngZMHRvodF5J zAK+dO(As;6)t!CW3zqHo-lElR>HLQ-#?QI>sRJrH3CPa}j=g8LYT~eQqE`+hne;$$bgHo z>OqBU`8ol54l)u+D7UfpBn2EzYGZ%@`NFoC1q7F6rx`c_GmfS2-QwD;LJlI{jF)ckLs5aB0E$U5! zRv%%zlNIsyfFX%h=JSQK=d}iMjmLL&5!#Qs7+LLwy@nS5MG#4k5JiPq(R(YfXiU>( zHi>rkXl~eMH@}x_cZ;$}P^`6FC0-9rI$9`@U}Gk;$P_Vi1p z`a5tc$J$k{+!TrD?S+SU_@9!}SVihyt8TJ-na2?COvf4rgN6)!gAPmxaW1&>m+_a3 z!xVfGn0hi)?`to(889zqo&36*eFqZesAp~+7OjzbxI>5HF6jmx0iv8{8r^HGe)1Y5 znOl3pAbEaPFp?Mr$n4y5Tcy7WzAkAssYWdhVRJO(*gD99}eA3y*py-PBxZ#CiwEmr;MbeWg{!xZR0 zUAF?ZlNa%?6yARPfT?mNbfB8oAc`O%=+bI=H20S;MP*{zySTW%Zk6 z5Qms`ZKG~qNFRWc0JbC1G>KjEtZK<(Q_zqkSkjjZpWs&vxmS%gPW5c1F+uh1YBD=9 zZPh~wHZ|-NCct?=AL)u;-R!@iux)AswLp7}@W%YNk%&%*hd9;P*Eo8Iq0zz0BX``j zw}a*8*d5iOm6zIEAB)TMLbYKemM;%IiY!G}Kq3?su6i z0#9PkJjXB3h*92x`C5y)lQe*?@|}T~uk=4#jTs#BZ{F0pH%f0}250IPXYV(cNSVpQ zaqI=Q|7xayouUBlaAEcXt_pg-y~eD!TeM4U#x_ZTyo(Y$dEZfYxt|}Y9*I4ZL5Y_x zw;YFujpqZ54YiTwl}`rYz8v_p;j05Lo;OtPbA0D4rSaP!SRX)q4rO6phkABI1yxGY zw6I_V<FQ{VdGP{E>f_8QMREr#|)*_{1^u^j+7fRN9r*$y?xqZ3EJazB6StDAv-nDvrVLf=%>D;_eIGg@o z`TYF&i=PI+|2!-D`ES1+jvAe>T$_R?dIs$amQt#rR25UlF0&tUQJrA;YgO{7x!3g8 zY`5Q&S=-GM6{-{WVBy-`fDm$UvH}L7^kU5WHeI1qHeTP=qUCZsXcr-(RJ|?Mx*H^A zG+x97PgKV0d-lfnIAa)*i}eH2VdC2>+>N6X&>j^T?hba}HjeNa%DR}%~^VU%@vn#?L=g%^01 z8~2P6>Mge1W-;}L#a>$$<%8UEPHOQ+1JmavfaR#Gjd>1`b{H|MN_>|OEKN>W!Df4V zEjzU?*&B{axAFGyFWb8iN7a?*$ti794%iAKr4#R&Sai8L(G!%zg6cjP444(6-|9V> z#iKjFeH&eu@8$Z8L7CWRUSxOD*{>m+5i5IaAY@)vp|9IwPS+ffvlp%{b~pKU&Fhs~ zAT~R&;Yr1jtA5&Pwa>i=BmPzjLN+pwT_NA5ewPnKmQ$tJsypC$*uFTF1v(*^RxJbc zPDi6_fFHL(#aHZPSiPMd%Gp__w$t`=H#zi@1?HHl}lXRK$H^Ie{%kI{#)v1`kE24J|% zZHqL$*j`Y(XJ3t$HmUXk&Uom$z1J#Q$zHBR<1)vYBzmG&^%#D)&85r6{WoZdN&KT2Y!E_6XX`Rzzgi7>#LdptdUuE?9s-U zAk9mcxH-b7=LG70R<=Uu@eEO`{|(0u^rg)07%^)r;!4@REi9-U_o zC=at+OS{c^a*kca@4;nj5{y_j2?OnKued z3mR=|_MRx->O4)CVX=DTyIQ&EpDs?fKBH;39CI!+>C~FIKg6c4$T0+3FTAbArTbm? zsJMVCT?gO%;)-9sYkvv-=gKn+`@8~OXO6yGEWNt;q>LTdPoyXAqIHGxD=`AJhRt0l z7F#>DdTbM}|A|lz=OKc})?yybRAQ06>_JN*L#LS8_i*?lp!AH>=m+aTiiuyVRaSQ( z#6?>zcpcU{tr4;$Jt69~?s}2}RxCfOmvfW}I)dfEbrK7bM>q4M^PK9Z=ye+|Gk_Ar z_wR3;o$lD!wMM-%T$%i36!@>rQi4#)b&#b(}n<_xX7T@{6z1mhULJwV~+Cv4KX zmksnUX?H)Bz4j&iEEtVdcA35OX`jzOV}z=k1GC7kL;(h_ZtW9#Q7c_%UI1I!UV*oe z^3!!s8gixEPaflRDdLCjWNz;1lG}|I>E-S#cMaYS43BDoch>A4>)+u#T+1t6&S-Qt zWQ)vh27iY>9Ce;U-JY`c7^l~iksU;Qsm^t(S*h80o>B*!5i1QTn(&iFq=o=ZaQaOQHOq>pOE9YXVs#8?m#j;qfVp#MMmzl z{Xk{7Kcg7FMmMTMd$+_Xz96da$_utc%r$MXO^%MQX3?M9jlZWXCYJ_>mkmK_iO1|a z+!#%==+Cpo8+HRDfuA{siO9)Uz zPHr?uq#8U`S;)PU>skjGqGfz9x9*ojVuO1tsku3b@Hzy(x^MJL_;s=IZi&!X!*!<&p{H&j`8Z>J4@bK^fwW=J=7Jl4MXg#cc}F zSjz+Cf%JYhN8t<2uKK(cJwis=QV+QP+3R}0m^DL_b5r^}FrvcoiayE@vcaLtYA<`5 zH1SJ7q3mBdfByKVzx*-ozxWS-^#}i}AOFM8;pqSS|M_jxQR{0>u_*U(g8adD@|3pF z)$JMy6Y4UixO$GAStjMii;?`uy?9%f)Y>jE&H};_r|y=!`aR9p=@%+l@VjMd+IFsj0L0b2e_+!mm9cj3+|J-q~;m}9ZM0Aa;;a6+Buh>`T8_wcWfU;IC)?1 zrnZP`$r)I{?DR|Ji(N=pDpqs0W=4{7piI~!TikosylS)3k*VG)28Et2Vo{s_{C2BlwOlzWY-N~UG@Vt) zym`v9h=|n>lBJ2t7Pi(}CSc-0A225o<`(b5duey?WJYHY%imOA*+K3&v@UXelS_};ld1-Z$Qsa}K5-@;aLH(Rk@bIpz-Gm#cS86Iw{OAefsfSqW1VT%;0a_IYa`|DhDXK`a7}{lytNJfQQBQ_s@?N+1$@6 z1p(=JyG|F(o&DH5+YgW1ZdtUw4}vjmcvpERPNWe7*&qSwT2F;IKzgB6F9+B$0so?E ztY}Kxr4(}nOacF@_^++~{_*iY{_QV6{u^Fv?;n5L8x49hSE+ne6=TrWdnCkhzOdXF z?yhI-x&t!fq5?YUw?sPx?iMMS2BfYx*_71}T9Ko(fGi^OnSB)>E~2?+Rr2OI1D1~8 zp$w~cao42#5qoxK4xZ;OrylK5*m0x!-Qcjv+@T#-X%6MNpmN2YvT6Z8QGE%2*~_|| z(uJUE9 zNNIx(egqVe-BwA4*g=+Y%^_jz3{h3fORdvFo6VVs+oK=W)Z0b1mfB_VF8{^W??p-&q^$qv6^QB!sSn1HH0MLD-!-par?MK+FA1XzQD^E zxB;1S(G#bgIj8ly<$a|q2Q>jcKH}Cm4B2WZr5s#+2QKwm`>^qNqr2ghg&ZLG(tYvs ztv0yqB^g1(9tJVdx5@7iBqHp;ZPMkt;N+(D&4lNaagri;1^hl|SGO_8;-x_IRkeC2 z!l+vpR%rG$q;XEUkgMRzj5-SJe-d2m2{?Kf&8ZbP38YQ=4x<}KZ}VQ(-k35DY=lgJ zN)5+sxqIb?4QBUnr9;_%CYX3$-J`Pur1ij>upC_@>IIuNZne#4h&*aF)HFIS+Ybq6 z%`*!k@6Yq1!Wf#hX_&3vqvtxrx_3ogXE`Ye%yQ2i5LfwUTAEDz@2-SQH+|$iv&%eX zjfevkf+aV*`h6+9gG8pwQZWNCDXMX##dn#k^e8vj4|vdCQa-#|R8!*cZG6OOM6H}D zbssX{wOwy#WrR5yHm_0tO!{~%tetQiuQ0!UZOFi$4lR>yIG{c12eB^_Ww)M- zSHeKf*0z~4)tGmD{`{lZpnz;ZL$QN-UtU&gcfG;%0iIfu_JBmtf0lBXoXnnT>t2Ac zv%ZR^f!`|L=Y4(gcOS$rEvIW`h{n}rQSbJv z#kck;Ypot+Zq_&>h|mqov!!A`ZO5byu|%uO%R_gol0#9Uz;@A6#irgnvvnE?Ds9iW z=ex`iOGbUptGaeg&Yx{YpY%AaNGXThBt86vtanYWDt4Z7?X=2+le$@l36T~ul%Kt83f30ct)$g1hnf3; zbh!GZ{jo+HPy^1X1^*P4cYAt*R*%=!dPl{$%);>TUZpbrh%FxNFV^q*{jIoNm5R$vw;72I)m`g(_}&Mxo1&fnZHA~ zY;E$i$ay4LY#l1wabQkZn-Fv@-?p2!BljmS4tic@6s zHLi7f)rtJQY6VtQhVoYKoDs@skF7K@?u<+5w4Uxu?_jTPcyhnPz)N5yHKE6O(ztlr zB^z^@yO%sj7jJ1I%Go%~f{Yv;bkr8ea_2e*S&zx}Z0M?eJa!lD?e#MSuOKFMuTc_v z&s{6^`uB;nzg5`X!ud*LmhD>B@s5ez#~AaD(TY7)mNkY%AO)}%J1;w0q=%dnGl}D# zHCg!+1D@RD`@ETfs0)*uCcj8qd0H43Vr}ly9yp76=2ukIWW4iy`izdxP@S~!u z9KO4rrlMiJ>4K^PUS&?)AV7onsIPV))$D{Bk?1xp0$p%+Ed^?nZ@x28M83-e^R@$W zu{n|fwhxovt@c?#xL!uIgbXH?l-J!^07dt+w73vV3?^a?9W+gM_2eBe&aG!1pR5RW z(c9kB;NhK#AaU>*<@>&Mn)?hM5sR7S-ObCTFEs%bmR$j z_nhC%KD4T_bRVEsr@Uv;isk#VmF2r{HE3E=G4r8wf6tq>1M?}y&mz`jI&fahlaU`% znZ zOW%@n%@gBBPCT+uTYW9?aAgf3f}h`C?RJRqg)_bEWG^F_)i7ejsP>6@|q*_=T>#0>~iGkWtR8tnL#vF2@v~>YtyVaZhdc5^+Xo z*M`HYmqKnPL5|O&4z*@n63=s#qfYgbIL?&Kwf@>^=Q3?^M322hT*hvQX**p|{<>m4 zgC*zfwQd4lw`cwQ{e5{Rn=G$(pQJ6v2uvLOI!@P&c8o)RU5!A*iaD71zurKv?*u(B z`4mwv)3WA38hHAq!57Z9=8+tCZ>%~(7f97XdT!hI^TS3PMkS;+rU~Vx-`XNM(>$7V z8#pTfY;RCkVr%XM&{?mnJKAlagrnNU)H?>@_UhE#@&RGHpIiD!sEEdNogKufn9BP3 z{QRFX4o0^!tCZq%4}k%}%nZHrAs6<#Q}^x!rUmD-hNcU09ah!G&T&fFL2ElsSzbHY zlr;fH)~NXuRI5(sR|cuYWVG1+ef|^D4(>5ygl}}NL~1YM<<)2>>F&7MR+FfWHuFY3 zIjk1HyKJ#)JvLqGn!FNXWBm1gODP~7RWLN8kear%!N^2AE<5P}f4+ZF{DiPx?+Bt{ zB;wq;tvYATTl*ZjL132C+_8t#!6G?yI#rBPH>SMLprpCemeJM&Qtwqp3-K#f%RW%j+ST#M^B^K<4l5@SZPF>&HSWE}kCIH)-9AdqDd{bj%HS-sm|m2pufH zw2^f?mZl&zXzTl}IO^?`ziwF)M1saTur2Vusjm)hoq%0Et9crZsmZE%v4VHI>Jr@t zE{MU?04#=U&L!xC=mL@0*<-JT8pSl$sr=fafExS$R?eY88iHSPT&&M!R4(>8jxQ2r zdeq)jgl+XDNC}-{u$WX0J~xPrr;sAQqu5$tVT7mcSl~aHW!r^LQMHIHaAAno^?b)0 z++hxxd83pO2$Ho1`XP>xv6$ePZT6ylR417M$y6A$#VP__tc~c4~}^yE!k#*wP_~+(qFWcNhaxu&r=nN?Fl|e{7}4t2kCST(V9|09D6Wh z-f}S=%BViPH%Lg{>ZR1y_&|Z78@soA7fIv_Wex=Rw!n`7gKiGf8d0*0KH+9lJl?mQD4me~ zVhh<8Hwp5jlqq;SP5?`M+1eftL&GWi^HvE~Yh7(NdbhKZpW5e)qJRcEWHWEKvmPFx z&}Xk0lkqLb&9f*pOb=pw8YLtcUAZ zVXzYKT;s|y4_n2++A&Qr_CaeS!`Tz4CeaYr(klV zrE_Mmc$yr;15$l+_3x=H`kIZXc>`dhOhyRG@v#|NI?mHq>(4W0X&sUMxUmFXiWiwO zk^$)UlqzYUmFK)IFpeaPyAxF{N_~HeRz@WQ%Z1b6Fn(`ws1lGrx^{ZKUd}@iFd{F@ z54<>Qa{!utzPD=G_p7l^O4!b`F=kn#-tB!&S4ILAtZ=jgOgq|aY2g-#iQ5r!$i00i9){onpyzx?utU;gcnzxao+x3<}F{Jsk)0MPQm4t&rO zDjY1V*49{;!jyxk6xR8chC-%~!|!YKhuHS$l^6VO1@>>N9bV3TFP7R7XW)d@?K9uZ zh>YFmD}Tkd?7LjQcd?0tw(ek6jEoY|^?45Iw#u~!sRzjfjh_^ZZafg)d-xXLWq{rr zfUeKEC2PV1Ck(H&#z`B$R z>D3!H3)Huxr-6m^x-uSOgx+%-=yk@Dl56CtSiBl;xM>DocVI$8%g`@|uJ29uHCu#devAU%y zha}OtRt-GZYMRqFt?4sd-ES9*g(&KNE$6?m6mg#N`fE*9P{W6`J`2kg&|KLF&3bsWBWlAl2L_*Xq4p0$$x? z2#5B#C{${Srn(YlX~YwLu}*z&RpstyF|&>T#_Ql5xHaNJ;lG8mk3wwk7=lB{}3XS7>JE z%RG4VtIve3fYO0&50M$?eCEdB=k~VHKP~%=6aZ7o_;HXuAWXztO*8Mn7Rfo2ZLH=bha{F1cjJQAz>qCwxZWbjsw-RA~c4q51A>SXy;3 z40Ri9YsWgM4H6uB4FSa>t77pMLi%u`YpcnJ*Tfh?VDzE6oV|kY8hu zKK;~9NSF;FjRWEkF8M2mkstr)mp}f^-~D`E@lU_~D-nyB`%TWJ+U9AOof}JV@?I_i z<9(98Tw*oVOm>g!?o2EvlbAGiK#9$f?Z{%%d2f}1bQ|wEPqqGvL;TFj$&)ElZ^ZZc zOe3#uAmDPJTPPWqHflet_0#aypG9Mnxplc>nq$ae;ZQV7(tIhcMH_2hAH?2rEf8sl zo3TOB@dOy9hYC+cg}LTB%OFO7PTjd|u3(*0|hsN!;(i zJj^ZEhYsfzo&X=7_gKahgR6vHm|>HWNCmbw$!;1Uk5VWHY(MS$5oDrHy{l=^Y{#wm z+`HvKM?fh?;H62O2&b)&7<&*iLAQq_yw7f92)Uj%px@3_<029m=+CoN&i5-eIr7tH z(>>ckL!f-_KBw+xJtP6yX3i-xoRNw^^#ElawbR}O2Re7_9{5R-7-Fk4eNl{dS?ksZ z3m@7sFzwrlXIvyXj1+p~OiNru(Z{ZZ2h01>&+`F9VRv<&o0b3mVRmH5?GO*@09{hK z%+wHb$N@?>`kcKrg}(iWGdc#}jcxMT7_@PS!f-hc%v&AM14jp-(;yzd;4pQg<$D_0Rj z7<_)BgM_vKdp+>e0oLjIYeeGT`23j_f^90oJfa@c1hir0oh4<1sSft_p-gqXP4LeH z^EuZeE_ow6haO~>3atawY` zO`KadJ(|IwwZuv;J*{C+H5KVI)zADnh3s?Rn`jDZy*s!Y$n4N#tqPQ@C**z3gLY0c zSoa_WYZf$4ubBoutlpi{W zYv6F@ww-Nnnv4lv3g_{SZMGi;u^t-08_8Pvwba-DujT&Ff1X(1zx?KRbASGe6SK_% zm$=h30cvfDew@IqZEn!G*3)0~1?+qNwBJnH3F`otIRL-#1C&$Lb?qid;mXQZ4j6uB z_Lhh?!E2fJjQ07vv9-vNt%|ZOk5saNNLGWW;U-zS^}wEBKCbwAY%HI)x$n0(u34LG zMQajPWE$P}u}^Pp-L;101Shx<8VOm&`<4L#8uxogHUw@JH~xi;u#D+q1d+G5H8{Vm zJs4m3iU1GsXiPBRURHTfdK!YsM`tfkipssY36u;kg}QwDgOv2K>2IE5aNot}g+uuH zyD@LUdCXO1p}D||S;@hZfC~CLcRs4JCx^5J;&QIUK%H0Djl*M6 zTHRAfOV*KmW*i z-L%n_83U|a1C~<^iFRjS43Zo5MV(hM9!VWNif&>+fq}XOX{oo9N@3IK2iGRZnes~!BmvK>j4k^UY}Kk-*LCr=iSQ-Daat(wc3)6<|#RXj@wu)%tJ40 zNq084vhp_cLzQX1!mz-I)UogNc9>G_6?DUXk`rrnP?j}+t)u@N|NLCK$#8D&<#=DJ z4~Xck;T+waS8gr0wf;N|)}QDcwS*-B+)1{2-fjnk?1jgdXOEt59O;xOws7`UWnx3S z1xD4)$I<$&jeqW1gw&kq9-|00jK>l<6?3*V2sFMkEr;}m#J zT>42jW6>~mh!E4>WlRD|7mG>k+gsYXXXTSVoo%=4kT7;~fTa({x8CRI;y$E)-kn!3 zBjcR9vH_|hD7sl^x}CEINqh<*I8tKTCWQI$ZERF-f(y91TqiANxiP>Tbh&l9muQV< z2xNMgoBJw&zC;etN=%RTow2cR_2PPn;LLoeGr(e-Q&(E46bbp(rqQ$<@J3~p zR*=9n8>J;D%ty_}ScT^9UPeChP&$MjOKZScqt(`!tHy!VcPJ>gQ{=s>=fR=S^_04W z5#RAP`mfn;{^FPO%OC#`|Al__{_S7-Z%*Zb1!)tdr6!jtoE;#^ws}K(I~iwrc>_1> z^7OCI-CE_@BH09sx3O28ZrF@Qn+koP5Ae{UL2N$O$^PUz1hI4tA%8H>cWDd?vFP<& zo3HOZMroC_a6fTYt|hhX&KKb^AWW9XyQ5_Sm8D>{D2QR}CBLbn2+^D&KIc}7+^ej0 zeeXTq>J^$uqv79v?biI`pZx6~|N5`vkN@G9|7?zBA^Mx+k_70pFZ@+142tKj6Ndio z+A)|IegiJ6o;Wv#9WFC_(R9P!CXidK#GgghUS;QH-(!m0m=JN_y3icLj&_9N+3Sg9 z>HfV0JUU_C@i4X1>f*yHW~hBN3#JsFh7J&dJs#vva>D zPDp(Ca1D+eqsE-ON*2+ zEX;sM_Ut;GaBt4cEIsjt;3@VDTY^**;}~sfJ}qAj9kUa zINUqP8xwaT^gJ{Ncy(T$JSEtfXfK<%%523K^Wypa!IX6nC)y>?4Ze3c=P1Iz0@9#^ zO29M9TH~sMnW5V-Z#f2(2sL<}ZkBvA2By7~*fN?P){Ob+a;tFwVKwD96z2MdPV!y4 zBDZAQ9fPXB?LnTiDPr0@QovJI=x?P<_PO?qH9^4sF_7e z?|ucz^A#v-gsh;`Qvs^#Bu&)b4b7KF2FBle&MaJuLQ`v*tseVs6Pq$_y%h0tDT&{> zdsF#1aEiEV3IKZaL5IUM)a#~Wo!SXH5kIf?-gsjlzC(!-!^Fl@uXcuz;iZ=*t@y1{R6mOJE3#0nX9!y|J7;4;b+Z%`qPKIvu1-P$WU?xt;BRLQme( zMxu+d`FdCRu=X`bh(uqqaUCw}I_(`@(IR7$F_7gk`tN`hJP?L-fGB3y%>Y-K{LC8- zd_}X2YPbY0O_pNVvadcz&N2i7Sa19~OXhoI&_ZaKR8Q>D4f^yX{7u^R?tNp?IxmfP z+INV>^%3r>Z`c_)?RAOmt5n*pVm~59VU4pvJx!WWYw7)RK1P^u>R@*2@R=n5``XAZ z*6O@C60bN>mR*#mjURsigC>)3@Z^eQ@{yhWqkK*D($H-G;5W3-i0#Kp=P zD?4=Sw&Y=jf3>oOZ)u&^+oDccyKaD+0{#&0D543^|8kpS5f*<9U4Jd(s z{T^ac=c%cP0%(+6xhKoI?LF%n^DTRQYXi5&slq=>!~XI={l$O$uYUY5|MAB!=il8Q zfBECz{PH*d?qC1mm;dwr?T`QM$G^XS`=>wr@s}TeS^w`p{`lvAbN=qH{`9Z@{$Kym z&)@y=Z}}hjXMg?kpa0e0|C{r7fA#*S{_-FF_@9pZ{nMZRV1Ir8{Ga{P|H@>_Ip%t0 zezcO09yW@|v3D$Md*!i0DF6Z1+SV!QPoj31j$K}k~2sJ}|UL@@DBogi{C8;`3;D|8?klOHB zn=rR{@366Yxw&%yXy^(*5)PU#Gt>)xPfOcYf4W3YcK!$(l}oWf)o(Bnu>vDp>1_l=GiSQWPh4+|VK)A?~X-KTJ~GD%~EwYm?D1L1kLh0^O$BxjJq%qPoI#Y=5K zQb+F>cEhUFc9fd_P0T{~1mL#8SEdqFUfOv{uXYjwcTS&Vcc`Ibc%ws)9KDY*&wOjC zY%@#NT6hLG%JV8L01ajLIei^N_T8<{jx1-6&PQgCVans6co{nG=8r&yps!v!T$4_B zY;X2*h+r5?lh@ivu(hqCb2d3^2VbbrjQ@68@!F7kZ%+1(OUEGXM2fbW2mxW;% z++iJabKh;KC@+3zPjN;)48*TbI(Ztq^jI*ArNAG_HFctuYgXTryhiilzsY;`{$yBm zN?kQ~dno$FJS|vp?A*`j*^E*?QNXOk&QsXMoJkd%JYzj15Bx;kx7-dzW$l#ndcU2q zE6BH@#9S~(vXiq7D_C8gHtvXTI6OTfEjet%u-&o3^Q|F3YDMpOr+J?<_b5lAOxD<) zJ|A6E3i-W}fG-O%XpLgI+#wp24)u zX3n2H35Lrxkk#4AudCcb_=ZT{CfTR-ae-) zGr}FDz0Fh?O79vH-s$wtby{Bvd9B7Md-*KxxgXc4`#9{(k=@t?RkPgozFAjyKT-|> zc;Wy)Xm?UM%CLXi@}vhod!W=&y=9E&A2);XxAY-7RQ&q-)!ql@%4MqEj~@)PFE?>^ zjdzGBJ|AyAxajviZDSvZp9{KFdxMwsN?Ub51zbWE>4#U6?bZn^^&VIQbnnfL*uYr4 zWoKZVZ}%FExVQW3eOT=NeZ1yp_MFnUpVh0+OY=ZR`E@j!aijGd%ry^kTy4yqxe$lh zVGz{UWagYZ*Y(CA?kgO%)j(4g`|O!!U#LCI+l}Vi_xDNh<5d~~7fV670zZL$Lb;H= zJrv?fNRV(3%s<=*zmv^Rp)R?Z67CaEq&5%IIx{^u5x<6D zqD2aQ6Z*zE_4_I&Hx#TM@JkqG;mc-6+f476_k_BhMMHb9YK~eGo@dQTN?y6KzKxM{Ut)3dJrr52PMU&yk~uA6%jguP7WpKhy~P33 zzi&k1J6JlRUT-HZs}6W}qU`jdgi_lTBJypGx+?)>}K?s%RD_FZ-18_7e zqrLB$SOW}dN*tuEydk497dZal>G=B>PZ{Hbq%y08TkgdW;q}{+%ien=Fh)mh>f4D1 zal|hkhIv*Te`g3r$h`HINvzHwk-{yQ%CySERHER8Lu`a7UTbH&TR z(&*#iU+Tur)}XGnJaO7(?!npSKH0mR8(Ul5;$CBXrh9k`Wa@F0dniJZWs3*M21bgJ zN&`x}Y;W`Ps^XH5McIlw4p~ zo<>;D)WK%W@wRvMDeF`%k|06HzrEA1ANT<6`nA9@c-vq;lACP`rySXR3DLa%MsZ2) z_gGwCGIe2iJr{q^)cXO8+n@@(-n#SbloQ`8n>6YuP*gnQx7vQTeRrm}l*R{z9)lE# zC;Y};0_H>JO!djzpNwyR9bO83G8S#K4IM&xc%pSryPOx+h_PG4!jQR}^h9+8d{m^N zp$R~YFwyvs_tk3zM48w1RKXZutKSo*4~1KApGtSm@*+5WW@#soZSIFZX6*ZkgHN_g zM1+sy^Q7LKYTIc8n;+(;-0C?Z)EH)N(!@9%GzJ)R^~R~^Cf_dLE5VFF^0hcRfIAEtelA#h!cAC9J~h>ZaDTv9 zoNU~lfImBz;j!1Xcwga)A`Hm3&XLEu_1AsN;aG0~kj{k;Lz7K;K*L+y1=V}WP;_>7 z?aKHtfJb8u<>}hiT!L+s;5wycEghl(_9x_>yJ7cZFED-+U9T5? zvkfujcCbGF7SA6?v^1Em=6;uDS?hbjyXhUeRg6=IW837J#`prJ$z;p8#%ztN6nya1 zNY+_c?>5h6%PV&@C7BLC7SIO&jSJDO+Tf?KA4S-#F%PhI!o9R>PaObk5qBI%A*K^+E`<TF7YLQy}?_j7LDAOA$&A1=&gTX!A#Uj{U_>_3{uNRA}OWOed zV^r(JT7|h2DUWd}?`=3dt;MK%kQT}RC6ruSFMqKK?Y#9F19q3 z@&1`WVysnTFSKv#!asEzn_WknCS2%9b6wJ!?aZp)3bd$h2!qpnosQ_X+Yu*l5aX_;2HB9)B~Ou<1X^l+V_MdHeSP?m8x85%c=#9x z(f2br3}n6KsH$kpdWVZNb!z*xN{C5X5X+FxbZ2bD-S)Lx-eR;zLHpXRTMH=RIeh0h zM$pU9(m?Oh#>dsfHLBn53KGyD0NuRW-GDxpAG&|1t5Op>7yRs97OVN*~$dj)TW z!~xs1GgFmA=kdE=Naye3yGjA02MOjrXFTwTd?`Qf5jS3Ls;#fbyZItRXmKWDF-Y=` zq3D{jlQR+m`;i9<<4}3o!w?H7a8|0t1~JQE`%m0 z&CV<84kdB|DrDGWvQq79|5X9+|0W$do(-M1ZMVgfn~sKb3bD2+ulp1Gdb_n|Grwo4 z!HK98-YoQsUW68jE@ct_HapqQa^ZfAN@0=fDmxZCiTAaAK;DU!vS>l>@<>W)KsN4b zvBdn@{Q5w*x*e+?e9I0_h{hLUeZ^6nCp=ucvYD9IAUFEyygc3{XDR@dy#Z~S#O5-- z^8ztf;18^fd%!|9J?@x<lRKTXrkMgwbO`_-Fm+ZgK3@z^S)0zTPD0$Egn zp9sm!Z*>yXrUsTg0mK%aL&v|fD&U3)yAYh;cvYT zBIC3}EGn3nCh0Zd7~QsoktDhD<}`EuHh1ifGf25vZ|Va?#XE%Gl2OGCe%?0o?wEH7 zz`%6|tcV4ZQd?R`a0oim0KHEXA#B%NCI#L6+JOsH`qVPGtyFi%;j>I{YVP>73E%Yf ztvv*7K_frx^4{*(=BB)7Z{1-7>Lmq?yB)*w*96pi=8qGbIU&@1e$M||sAx0-*gadYnXy@c3QQd=M?tqponIYeuG7r(@N$}T; zgDsVbfe@pId;50y*uLiGZu-!BVp-b83t$g&2FlZ*_;A)5TMh*0Ve6cJCF6l9jgk*Y zBoFVkFQ<@6j-M%uZ2g{k^aov7wqLHWyFTOi8EMYy#WquNGk9Jt zK&Rq-pRJ?$%QsaWfF!@Sg*uWH;YaX&9|mD=v|eL$n5LAzsa(Zut7h>^ zQ;oPKcc_fQ64ZzHG9FLMZ(}dm^$nezI}Z%|%aB~!9qU^X2IbU|a;Nf9z9z58YxORp zIIKr_C=zaY8by-+p{?|13qHX%SQ(5m+Q3xFSjj)OL_M*&mA@GNtadH}vm?%W`g?SK z&xO-Js$Cz8C-k$%1y{ics0rZo(BzRjM{!PE%G2f|Pu4DAe$_YywUq-)EPAxn+t>+` zgeR`^?|l$aSJPkfX@G!Fm zfeYGPov58I2X8jy(ueGQd5Bx@M~3bYj$`k07L0b@TOe4btf`!!VIDe;j7MjK@$w$z zUqMZ6KCS!|_KB{Z@uUqa^{2-*O1dj+=R<_0S6-F*_FkwwcVqg-nUU?;6SO+Ly+!sM z&(if!ErWLE5?*-@dgcL?%v>lkYw=G4kwp%j<8&Uf;*DPP^~* z<89q9j$u;{<_<*aET&*dYX~LVe3h&{-m)j(I$?a>5)%a3lb2~bNcv8-MkK3g%(0s3 z^UW#i6xHaE#SOjDEc^Zlq!$fKv&3#^()D9?rq+*|j2UWAB8EBCrOPgl;r7%=;j3aR zfV^iSJUfJ%G7C7ltGB}uIHeezH#0xyXiuHdcD|NZ_(m|nKZ|gTak)Pa72n0O#bc>; zMCy#^meRBB&eKt5z#4-URlG^cQWx>9eI7U6sIU5p6Sjbc1i9|kPn#*=>^hl)M_AyS zz5+$I#YtygV&*VZS-g%-BgyV1`7*4I5U$_^o$WmGoZI;w7WeQ)#0l2q=|_8$z1enM zwK3NiEw20Ny?qLL&ezWTYm-*}-Vt&in}%7yOKHrk*XV{CiE7b7XByZJfohZx6k8)w zI#FFhZ4e?XTE0!ms_$ZP7JHrpX{6bx`Y`<)_8HbLPVWqDdGYd#Si+*B7&Q_nLAf&7 zt}rrR7xKa2>(2vW2_|7%*K2jQ^m{i}8z_3{Ca*ahs@iOGRC*NACQ3%e$#lQsL5&Aw zHZoxu)#i7I-;Jobu$bwb5n0$WhVD1DF*Uo&e2~BAT&n!_n(K`LJIH9S?fx9M#k{et zz3Hi!^dwVD@#N*Z`Cj8s>gZ>`jd;RTcloZhGMpRPEtGkDJE=`Qnl0d6AQ4ii7%va} z?_g*LH4=6@511<_=qH@vW*>vLm9A}RU!vyV2gXTRdfiV=h{hv|rg9*pX&+fXX9P7!DuD(ylrfckuA#c(`=u zYN$4N@|#%Sfv|Ds(`#<*f7wlO@kP0C^=RftMhaiHO{~PjM-mz4frd+N@d&8T-u%fd zcvX$f#+GJ<9aMv+f>)04(F|u?`Ml8Pn;GAaEc>0F*5@_DO_dxP7|`A%Hm6y=c|DVxF^qdrbu}Vy(~vJ6w}COpu=)h+cd|wAs-|T6XG@he z?kTLfZy5oOeKt%n)E*w}=-((DE8f=>U$Hf*X7%s0z@*>}uJjg=(-8OM>~@Go&g5gz zzqO)z7LT-bqQlYKNW{Z*5d^#*mmg$crNc+hjepXiN^Q@=R-Z8eo%`*b*G~Xh&~IDI zb#1+s5+V5Q5{)ZiIZ1DsZ)s1i^`C@iWef0*9z|yaxP(*9gEC$2IK}MXKN#`Q%BkvO(`<@G6YbNT$2wpR`UhNm6v>}&^jw8tuXQLkBJ|GJjQK zw>c;D6T!Bmc>;$6xN?2j7rY*-CmX7T`7p3|#H5Vn+1wxlA%T}z=#duDK~GtIwrAcD zHVi;a!|oXTcSessIokRq?7_Zv6M^~0UCyhoZgFZ57I{hANWb9kAoVXBA2IL6l=mfF zcvwB_`<^ox*xc03t-qI|Jq1MobTIg$Q<*qZ(Jk7(ck-Fg*)AG_r!8OgSWMaEZ|t@+Ng22nuN1;3!TH{1et z_}Cl9F-C*e2ET|-8yzQ7Syw0G+W^5=aan<84|W6>@Vvx+?m3TG^SGVxG0JDy_b+BU zyVztXgi46#u|N+>2cN9FlyuRSX+ear#BQxmf_ zPd3q{8iYX%#e4CUjD4Wp9-8*9WNaXa+~IF+(l4xTHj8`g^W57{;~~?IFI1wvikK@y z)wYSkv4cdkxD@U9310u7n#;~=cN^|qbRKu3c_H>o`1#yrkI~9hb}Eg&3E5o;W3XWH z3O=bp?N9l}P=A^LF;NifI%nk1@LSp0NYV#+T&P0c0jy-ZQ_&7Kc zXvcKjELJ2I+qS}8g+dsPivdb*El3NKu9+6Vyf;<_~Frn1L?ojAOj{V%=tL4JGsgx3|v6j z&$q*l$mBM~Pgje&VfI;rcts;8^u|7eOW?hE-gLOw#=2BFHqq1AbDh=Z*c%hfnI@9} zYuex=ZuAH9WAs3~L#=2$UdpdngY5CmufH7h)=$Gw!Y}ppT}aER`p9tE-);ql$y~&kbVh2b2w-NHVSnR(=uZHDc^g0XYK=W7?EJI*uh(8`HHdnydT*MUdveh^pRtH5Tmo1ZHD!c zHctCSH@L)Uf8=atUp*n(KD(23Ut_&DePrw~MN0Ht?m69$^FHM?q3qt9w=@~u0T79d z)HQ<|4G=Z^B7@25YRup>c~9qHQ+@YYeXp!G9OolY0xERk8ga75HxWZftfvxW4X8H{kZ3>@8W_D$@k*Qa5xF_ z`y^Wb*toIXS5eLmDLRzJv3`B0x(A$H5#s=cRTCRTvoi?VUb}I|HSTl$vF+nJ@U7O5%j})P!Q>5_NZR-c z-`9!Zs3YytnQ#Kf+ZlJPc49q#c+vUd@M!W^FnZ+Jn2?EfZ34ay!x~u68fqW-9vhs_ zCo~GS5Z-Yo)6;3Sv&vdXH<%E<6I>T21>(M9o-aQ^&fLUS%Z4?vnDw}QIcSW59sY;# zYYz&eOnA^KmVD*JvDPOwy7NgRlUEflR^xC=97+Hj6n%6&lb4Luo=d*?)tP!d%F>AC&5>Ds>}-8~DHYBhPoJ(D z%G)DRnNc5T_>42K8=q24;2*eO$!xxZTH$>A=1!act(>dwMdyUiY4%<@Bwp`uYo79e z*4YLb#aex7wP+jvabMoX!Yq8)I54Ep^ZHm8*-l;dN_O%jGL_?(k zkVOZvyVxk$dn^RWYczRZE*ARfG*~<)YE{`+c1Oki z<{3!iBa8U<)`ADPk*rz}vn$G5wn^tmpdPLWJ7vDbq?9M-O@36J+E#96@rm9RN zsAydcAQ)2#dJ$XY3!K}X^39qC!6ezvW!2^wJ=b@3OTTXx-Gnx#{3&{$+GMf7Hv4A2mOZFx%Cf36t!!*gI{Gf8riTTt$%q(mD}cAn{dEo zXUj#1w@)lXY={l~qBi3g4Jx6wEHc=fdlxL^h#XAI9k=S{JQsw?M|3(;tf!_Fj5CFJ zTN*C~6U)@c*)fbs)uqY9X(wNPePG}7sFJr@!9@c_WyPrITudi;juD1=J;F}^qKyk+ z!pOTh3q0!4_q6%IRtCKG_PDS9B3WnOO&j9NvS?>}111c@|M0D!ejX^ebgN^;mRGxt zN+K^N zWW6pr$2srN&>V8D$P7#>&%`pW^ezFYG?N)AicJUJ=M( ziFfzGD965Jz`DlH>vFp%6wW>oJ_I2PAYr3I(jjksWAL_R;trdwCU?Ep=vlX{YD&2# z#^dwVgNEO{&KXh{h8|m9GA|}#EYQ*iu(4P~-{d9ypj&%=X~k8Xu+~mC0RdL3>uK|A z1~}0L?%RO>Lr6q}&E~k7RIz(wv-`kTKi}lZ-A!FU}lER z(;)y+OPtjas(?UOCXaDhh6waj#~! z$J>$vrVuM=!1*y03qNHxjD7ewQ7sk(_U5hmECIl%$es*T-zpeR*JsbxgW(I+3&QU` znewjs>NY5@OaoL;I$2a-yHi}v5*bd4| zxy_t|;&#L>?5uV=*bvrx)BS@@dD&R+3l%x-B)yC88Vbt!X0l!!9K7Ulp263p;|>I0 z>6$V>4nbrqVHHP9j*eC}rF2Q`;s_nW1*6uIp6P{dGwNeS6yGOAY+(r%GZJhCpyb__U>bqEOF-XsCG{)mZ+rc z+sdL>0FU<7*R7QU_aCx$b2hgeIbb;5Z?l{-9(0fy+rQg?T^j6VqaV-;Knpy17P%jy zT)Brf8{a=oW4=qpL&wWq2Fd$rRzePKt9W$m4}MVD(Yo_SjJ(P%n_PDME;qEmKGshj zmSjwOH&JU(z6o_2RD|w)sgx}gCK#5&j^=Nkef3&>_yV|Wc1Bl9<`+}~6kldd`oT3< zHUw_F1m9Ln+^zb^eYg?lK;Z?_jr4q5@J$e-CBN(CkcVyd(`(8epSfuY+KjL}IT;h+ zm+^_zZ?)U2wr;bwhyM=oOdiE%=D=s6EmqAwkorA)?KQS-rklusjSVJN_SauMEyu`3 z2&M)~mGk(A*JUd?78cpZq%rlviUVDxD31x{uy~|Y55K&*iqNyj zLwDaydl@}>f?Ht?|3*MN;U+Z>^SZZiBy|(?m;6H3RQ_NOQp0`VhkKGv^dt+4Ga&Q* z?h%G4X|L}uqScc5!1$1Jv~~U<^Q$7R{dJ|J4`q<5jF*)t%<3b%PP#BMz(K93KPT|k z?ugk4M45KHXKj^tU&0`p?hEp0;I~(zj3yZ66ZE+Pi2Q!TfFC~0(RLH^N~ zPRpDDOt=LBR;Io**+!44>WvO!9Az7EbMNKO_}p}YDO^N1Js1!{@5w_8Kpfd-)0(-GJ`_-Gi!$GNm|?y~?-ix(I=WIyI=`Wq;b#Z_`0v zIM?W7KMu=-bT#PtDvtE*60y`DVjLyovRgW2(c(hdbTXNDoxO?t#g}p0_by$Rc(%_+ zQ>2H9ZMGPv$C@k^#$n#h;@k_X`D6&XWekbD*|HTt*G2QTd&~#%!SJ@VxbJ+i#NJzQ zNj=(%S}?fwZC?oaEVkZuVigo(8BpEYmMdq=&2he$2sSQ~-4Zk*4XyW==`cwAK`fVv z?~N5_bEn=)0+Dv_YkiAOW&63f;%*nC+T(cC@_e?T9UNvRK9WsVR!rsY@nMr2y8%K>}6kOJxeE1uoco2DA>?^S0!F(oX9s`$onWTw#hX!OU(+hv@wy&JO_cLm3M!IVslAb#ohGXUqR`=Aq z-)`!Tfpi}FJ0bWEh7)@9g8W1yE9an)$F(=u7z=boXphV+u-Nd(2Ab-|I0rT|OYR}{ zxTK>0YSe@V90c@Jh#ObK4(Z`vy%)$W{0`?sMH7&qz5+40VQeCli;P&55F70=QG2~M zW_)L|{#qUQoU{6LlO1yBy0aOg6yD4})dqmhHO7aVOrEWqe_Q9##FUPk1slB_yg@A- z-vCkoy|{^}ta3;&t`B2;!`nQwAH;3UDdzO@-P)30t&LDTmF_|=8@)q2Anr*O6N@tc z^&%4gYJNQJfN!C9%V4Fy0j=Yw+#;kt8a|apB)S^aq{&Xcn=?OX_ys3LvwQdK%uTqd zg}^{)eyNtT@1{4W2L%8Xua=Wg^sdH7ldH@v@f~p~R%bP^IL?%oMfr?A*$@+mtn?gF z_tFuKO;dB(o>y$veMM~j*`Ivk=*VGy6pQofmFNf-Ow; z`kU9`iwvjnceE@dq)?f%Y{Or}NLIPNlHUWjF-BE(|9zp>7Bg5yXtW>34Q) z`^j3bZ-0&17*58=Pk~bM(wHBSbt_e}M8plZjN{TL33WCz6P6ZN(~~@T@Y?2!M2Ynb zir}noNI;;H1k1afP;jpH+sZH~A>OKa$eHuK1HLM}RG}(4rm3bD2YKFlJ3sc(u3X{L z8aHh5GprM$7=&bJkS+0LHO4ZX#(aV=0(WetWq1J8P7Qt$!?6`K(!U?XK*)ZANM8^- zUrzql^|gmO{MWMssKd-<{E{J)Gk!U3qy|l2kfirrxa)H@Uhf66;2kK>54kA08uZST zy1xN%t|2^FXm9PAXE&PlWIv4r_&v7pcW#<|=q>LAVYz7#5^%C5K-3`0fbsZn1jR@_ zsANC5xv#;J!$7_<*wuMwPXL}H_Lp(vKhOt)kmO$5)#qgW+pM2&3@~_7v3G32NI@2u zL}`nj_nhzY$&-XUBz`_^YJJB~hjirKsOn_*D@3F}(n4)DAGhjlmki7zJ_gB7wyYnzj{fW>QIQu*(p^=pgd zB~_qyI5Rp!HO)GV1((u*Z8Hogh!Ug zch8+rgpHrrRV}Jlox(Ka*%UI>$pDuvBD2NhN%V!a_*qoDcz}N#NRE{k^b1b7XCKDn z@*}xYd>1uoi^-F32EE#KV$gPE@g+Mqz8Yy;+CbUg#gmjDBatZA zBvHus>|Rj*17PcUA{5ivKY}BD-}t5xeGh=DU=~~GxRC)?_YiQD&)+lL0M?xGA<1|; z<{Y+nTcFapXA#xm%yw94kYZ%rj#g^mxmAMi$2nG!m#N?y0seF*0_Ld;FL^9@7#NL* z=NfT}(2&h^#%hDw5>>AxNW?OLzb@bj)<`4SrhyMd^!ZqN)NzN5Wx2K58iXQ6L z!+H^y8-ubJ_hKBmOtlXZE~Vo5oyT!>?Yp!T$fl)y&%^)YtFR;m<};L$*GnblHhHPR zAH2T#P?2AJam^n?ahtG4@UGQrB66`VG&V6n+Ks_4JzVYbp*v)_zSk67L#Kq@mswRTrr0Rqc#{?wTGV zf*#mO2*|Q@Fpt0!fK`2#PrAs9^u*iFP)ANqp%%6#AJemNSuN=wM2!kmutof^jc#Ww zzHH+`wH8QRQy9!G z_+483Ro*_<_>$8TV!gzjva>F~6?%ieByY;jJ$MQB5hn3T#fU_8o6#}TX^SAgvp1Cs zgKdsUvO76-PiKwiBukr&h+dDs3?aAW$~1q(W#~yhlz$$PCZh zbJVFFj6pz~ydZ2w^~FH|*~!BKx*n1CC5v8cPE!ebfJj~ICg+&yJPZJc%9ZLp@6d$$#+`IC<&G#T{H7cj zbkdn{7D4n}z$4NEPUrwZ z23a3UL)?c#XdmY8(6GgWo;qBJAK8juVAbn@fNu5uF?X_kJg%-6TCBkYqG z#KaZknMXCO&Ube4Zy7a}dd$#2TUO482WSKAEENVB8j0ev+0YTbh<7tuE;1M4uQ$xvb3bi9K+n!p67YwzEoVpKoh z5Siz&YVG1dppqAa)n!@^?& z$w;);J$%7zL4o3pc^$*(lWaGz6;db0D}JXT%;>uH)T5lNYLh#a#@AH7wDTq|-Favj z;@{b8x6^v%H}pH_Q2gl>J&~zQkQE@F`aY~Ik;sl;$x*#~_+ zUvOT5$3;JVAFDiVcYqs0RJLFO6$q8ao`7!H`t~ilJ|H$$@=a5`1T+a(W*Oh*zWkDR z^oWo3S4x=aY#nzE!udBT|DdMK`>l)`VP0Nnw*b|WD1Ctc%vlN(qN*5!cE%!+XS<38 z@_~dkhFdL4q(^Nw_PgIbBK9~Ebk5OhdE3`A6k#t*S>Gad_-ygJD+da}oPP1CCU&wg zHKI_2i=PhlfJFg*pR_5mM$5z}I>%SyR24ri^ zZwAfxcsuwl<-NR^I_+=FM#mXCejBWjA$&E{WW=!^72_}GrMk)EaaKhTO%#Qp*`!12 zT=#h?TqG$plTS6_4&OS%n)Pv6-q=z*8HO-9({kDzk5)#GokaWKlboaOFv414!qaD? zaQhZ*HE2EHNF|6@g6!o%Mpw`DvhoY+0&b*bk^9o)IB%QTmurG-eYaAT>qv39<8Twy zY^C$u?*{p0jz2ZtI{biavipv4Iz0dP?HLD`^OZ0>8CZ=>SoMvr*!&2Sezo{;O>9v; zSXuY4H`Rc6$>I?Mxtggmc&er5%pw|jvyGHszg~;u19crz)VF54{eD89J6FwRMrSZ} z&~J5O808dW&Kyw0x%;vAxd{)U&PRp+fO?Y^ynkaoLUO#S*X@jP0cz#oJ0b=~i6h}6 zt8*rs^I=S2wB|M7U~kuH#L^|e7|l!DyA9d#5*LJHZ9S*YKs?q+#qZxrBpZoSz~pTp z0Kv*Ue7C6kfr%seu6}W`HxACuuPw-_EyP&L$kW#d2n}{t3=IjSt}cv(&ChGfC{O!d zkEDz#M6(Lk2KIdx9_cxS_QCS)0Mm}}C#M%#Q2FM-6dQy;?#cW`T|m%KVj`NlCh23c zcFN8rgLlQZ29HlLCwG0XXEhe{T|Rn{=NIEAZlGe(Nh1Ar<0$ zX3jY15E`BwLwk@lAlrgVHrt2tmbN)v4f+(QN^8cs({^9SsYJGqxD z=7+)H)M8HEAj!C>A89d;6My7Ayq4=dxFxcpZ(mK}%h%q;e612)%NT1q2sCI^a=VUz zJ$7lKKs4|M>g?-)eVUN*;ie5sn-dC8)5=fn_0VRCY9g8S+GYN ze37@L6QhmhSY1jf7|%zd>d6_i7ff>S9Pf^X4e&6B<2E&|ve=yX;5I*&!*r+ZUVN<% z2cEbYFep9vsGflfisef ze!dSRKZIoWPzUMGuk~F>GQ!z^ZJv5Tiqc0G3`&Xo)>(IeZ{MG28{inHJJf(DHXfqx z>U|?&YXXJWnh>>)*bZEY$%P2qJ0=H3&K8_%~Rkc>h3}Foa70wX_d!B$ONNGfJ*8M}U2K^AMOQx%cBQz^G&$mZeuP zH4IrTv!BE@d>1-;7I-OQD(kUZSf8g_69q@;T!uO0ofrd^lw)M@5sUl7h9t=xDkKwiF!1|Xn@08=<@~kt#NOz7b@JCsTJw?YGWTvD2^=ItJjxbz@Kp` zmn^pL5=D-^;V^;Js7LmD_jRJPP}5PFfac({)Nr<_6MviIKK=y&)&a51;X|o_yU{&) zBvQwxM2qEPH9eNIlaKpC$R!6{7ljb_BE9{ZpBpDoRKW@af&qc$HlK(b9I|A86s0mN z;}W4dpGqtBY@xnt=67}NAA+;MA5{S=0I^WT>GAIOTaO*8&}`Y0DsR8geV7XPR5|y% zIUU$kSP;%uuo>0$9PU17n9SdRXX-IjXMfl$>Xr;}+(A8+KLa3=0V0wwl$~@d*G%l3Y%yB8qAn74D@V&*$M~p>Peo|WG)V;et^$7ol zgL;s|5j_VRr#H%gU%~YVqq(y_RDH?%AgH<>T^SkJa~r`vW&1G$MZ~IQnHR?CYQ!H3 z*z1S3gJ7%Ya99bSVH7df%Gaqusu@#E$IU~ODL3v{(wIx^!;gM%$`SKiBpq?&j3P5g zz-ldbU2>nW0^N(y*m?5;AT#)#w8^OHc8=A0;_27e zvS8OHv-?M(xTJteIIrF5O!~rPuvZ{#_++cRM)9WB;qeK(3vC^*Z7jBmfOwPZem zaF72Y*+=@)4=od3L<8xwFEMrfWR74WzG7?Ji#<9Id%m(yF{%;P!X?x>T|8o_jlJz* zEUoHa6|ilGKh24VZY+UUr{8yyF2Rt3)`l$rR3at**XEZ-PEII$LlD~aYYf514EEuZ zBmia7rrU%#8BniFIPJ{FzMGK!aspIq;HQa6F86*s0l{VZGTC5(&P@yTo0%#dYb^hz z1Xs5{i!j}JR(?F7-B*nox$ytIz1aS;th!q+J@b#|yY^9doTW^T;kh(Rm{c&CKI%9TI*orF5XMjVV`XUMv0W72yZP~Ydu>yXh^}#TfQ`6>n zFJ~oW`ka_uQUQ(dH!8X({WFli-1gOY4jFUe*8=y7?=GebuQzwH0H0Dxqm?;)7}!4! zf-eOb$#OD%lN0e}2c+M8p=R&l&Wq=#zhNv?uWDD~|=-xZb*-PXRd>Wd%RIA4LSW{>4E&jTTBO#G*S z5V1pInBtUF9Ri#%yxNxxsdBOUY_U-KDE|RqV4skhqm%UbhRI}E7aY$?ufLIk73wP| zICqJDjv=34beI?nZ&FGHM6al=GtH}YY0FV>r)ACfoLc6)Z?a*fmOQ{CBT<yb~X6*+APKbP`QI0y9Kpm))U zX#_3pZjfQR5;bv05d}bssX8QK!Fx8rD-u0C!?Lh1ca_QMv~`8427XL>!UhO@w`VhHKfC8QRmK-K37XZbC4r}A%qj|Rx@Ll30 z8m|6QyA7M0!{r9aaab=W-#OAKD*MsUr6~19v3FFwhhu*9uInq2*H>?B0k9J@NW-02 zaUj)0VXAeho1DJ0Z`ev3DNl4+WF+n!>$WY_iG;9AZyfJ|ZSAVIJNW#ShD6{KePen@;z5iI}c;2Fw|z%o15e+o88%6^Hbry0t3eh9CaApUTWPSJtzl| z{n)qjBWCYa6D}uxd#b}LpS1jNpS4s6KNAuGk9I>4Y~-;f;qP^7nQSwaSsGd9fdT9b zp5FQCK*-1OspJGhyMk6r+~|nbcki>UfQNqZkns2ae8D}Uits`|)^*QtkaE^HrWouV2qjH6_Q)%0-j!t;zr zkCZ3p1x-!}BjJvW9h}!l3J`14HmG^xQh8M-Q-QlCU4)q;lF$L8+8|7a%=rNm0O$+C+rY8p5M;{ z?rVK1m8d$>=&GS67gRD-%kOlK`IN~yly(R>1DQ6J!&bsE|55C_`55YV81+a}*o-Xco$4uWtOEgoc-=yJFy z+|Re%S)IR+zpzp5^8ZmPqg}nE?}na|?(qBurQfo4g9z%o;-j@4Cx3t|rGWGkU1bM{ z7Qz_WGVIAOhEF=a5%#X^8K(`$WN(&diy_Y75FQY`KaH<6Zn`~^Jaz3JH< zR|UDFgaz4Xu+a|{om3ADis7N6=YVV(`B6p`y<|qhOV`EI=we=jR)yieB@aB2O>ktz zql)n`S-AA*J${%VKJOIT^fk1l%nO7pL^3G*Vp>1Yio=J)E;&^Z$aS1AEF4w-;ezkpdi3dW!BV%Q0%zY$>gsINV^LIuj1 z#Oj+d1KbtnOK=G^^_VmuUU^HUeIsU)X?&jHF#xvg=Sdg;R;AW|QXVE}J+{V&jFPVe z2L8-sRF6sLsmc#nTLu@K8u|J}I)?fxluq%Kon{yrIy=B!;88F+e*(vjkYV2Rv$pIr z^LG+oRe5A5qNk#r^_3Z)KyrHQu*huE%f{?XldWhh&AYh*f`9FRwFqT??5MBV`ZR zZ6^1d-SDcP9qnr~E>5`pLXqfqzF$Khpoc2t#_X`i8st3)uKY?44A+lnh$s+|Q)@?f zL9t}u@83@-?#bm_*8F4deR_UPlJqPIdjQ*#!GJ8bZVR!nt0wYaWaNMlwpakNVBx)` z%!tUIV|RBIRW$<^-+)hzu6(Oz)MskEt+I4BwnsCbe$VfDp3L}j-`AaW_Mu#CZ)Z(5 z%8CTp$@W=mBWM`oz{EjAm6fQ&M|mnI)cyqj#nP@ivB{G}RKU0@4!%=I4uY!o)sTfm zPbUs)B=I_N7~>jVKq^0WQ`}N~XNcR-9h^nGKL~`9%?M#ySifsU30TZrl>dIjH+Vi0$TA?u~JOYA67EaMT<6IvMV!5ul)n7uw6XhWWL zITfa_Y~e{M?M=(rja*M-YAvj$Ax97R1SkygG7=U!+Y9iKhBX7Gcu-H?wf8H%rxG)W zm6KnArQI%|ZSonJ4G3$p?K(g*pTYf#dknq?wBP4st3A8(IqGWSx#4X}<5s+HBV8|? z&-#))Y7A=&=gY9$(o$DxcL5A}lFJn`Gb##d^ibuT_l|pSb9Vs$*UR%|wMIEhPAAgW z8@-G}pgkcS11%5rMl2*}ob#A8r(%qu|ao2=~KYUdw|kqAR#|_pFSxD(-@* zWA(6-g$Mygfgnj_T=+Paf)bDsE^M;yE@&N3CpqJ#pE>A;mjJ~|v9fTLU1Xn+1zU!ZCR%8Q2(c&caK0=N)hGmh zAf3LWFrQTbpJhxu6upizZ{nA^{Rt8)doHNE(3}|x@4FB8poo)diNc^Bm%IF+$4lx) zNmEV@dW}{w5s_ee#xo~Sm6EReAic`ESLQee{{d<$1TYZvnWL!cCVo!u!2C}(XwrYx zb~_&_5*mKIH$K-}?-eY(ec#$hPZNSED~rAwz9I^(@9Qc1iMXp4f_%t)eroa4U{M0#8prW~2oWImSvh@(jrmu%_@nYo#chFML-E zMLZ+!giTuj-okO5L^z{7V#T!kdhQ=!c2N)9G=d2=*6J6QsA05UjpGjvy3J!uCS!nl zG1OO!Y%3R|V?5Y!88pTUam+Brjv`sqADO zi&uL=aI8X&0cgKq8_+o2N-mqF3@ z>>iJ1*SJUStd|Kpm(@aM392;E1R4!qUF~-#M32Hu{I%tsA!}Sm@vkvc=13YE=jTvyW57kj&*?o3BCH@urb)Y|3h1N?eyBbgH}{?9dp?26IjPIF3Kx0$IOP~?7kQZ(diF@fNX$J( zK{-S~^*Jm8^-{86@`Tv)5Ieh4IJN2Ut>8d|4$}jd>)t6k3s6#sf1=Il=IX6^)?yL{ zlbBe-sTZc0V9sz3r58qQjPC$r458CL2RF!GFT=Ra-~vRsj32o@ksK&GepUXeN>l*) zVq8gfFqhc?{v9M6F%vp@;Rr)P+7^x?FI)lFM+IiKk20lrs0>AipnVB?5tXwP?r1s05Ib(L3kP75+T}G*F59cCNWVRPx2~lzBYw+Xt$V{7A z4q3u4mZL#}7`I0lqSqJjQ>|aS+FpbS7i3*Slpw&8Y}-9;+qP}nwr$(CZQHhO+n%;| zb`N{_|GhZXrSec!880g`gNG8Kf6Yye3lZ^OZ+$Lg1Oij^1|szjxj)5N$mT~%P(;1c z4q9i(-1jpAZaS2jf=>9c?YCwr-C+ui|M1V207F7E~TEh*I z&IW+bXCMRPDUCaU{^1f^%W|0DcIF)+|Ctz{U7I>tYFC!vTr5hZ3xH4ddD1T^Q1(&E zP8P*HQ?pp@tRe3*N`q5?6m$&Gj?yuLXAs-8%NK|XV)Gl=66{HW0i`SMc*uFT@V8`kgFMPoUmUeq0LO;E^)_V|-u2 zolEAHnKr3tF@T!N_$qT>;HY22=bcV6_c@ywu8H4_S1JlIuV68xvA&B|eUY*#-{job zCKH+E*FKxmz1ap;X^<{AwS%lg{d-V@;K}qzF~r+?G`uFhM|xG!Raq=~WJrK6L;#p}9r+sb!8bY*#Aexz({QdIsc-uJ(UxdF-8+cuo=`~~{nGdn z5nX_LR`lMB?>=X;iquVLWa3 z`fq#>=Dl#%GNBn?{qk*09b$!&NS()CINaKDK%L`NRBP!tK;bf^_c`3N#`Z!|IJT_V z&lQ2>3AOpLeVHM~Lyu|~(6_K^-77-8L{MG(mNhXa{8H_?^{Xw&56*GL86t+~mMkhf zlKYH)QzIxxW}6bjxey4)CxvIMAwByFoI4IwLSzemC_fGYA6-4}ZrsSKE;fU4g#vtG zd(~;Nr0SUw(SRwc)lIw}eKZf!yD&0Sd(p6+W_2wgj?^5*O%HSw;_HDmot4IsKoZHg zxrq<;v?zbQ;AS^%MZQmhuW2y@Jzm9Y;}U6acAPn4u%{9629B0-+yGCc)W&-zfl%bl zf*4g7-;yFhWXL(<@DMMXzS|fRNY{z%0eWxxjwjkj0>`l|0@3b~ut^F=JV#&x{cM1V zN^TOofpQkg_bU-QhytMwjGCaWV#~+ZJj;fm1r&`atx!RXDbx72I&m@}S6?02{_UuF z-u=$%U`WdFv5LQ$Iw&-0ce$=!sXL6r&0GV+!I*jD zwY69LQF*jF{QS@vYaIyAvk)#15%uM463nf{MrH6ai_iwCVte>ewmx1+>>p~d;~|UB z{i8zQJe=gxtEScbtLC^CzkzKv)L=JtW(!xTkE`nMm;^`2HSq`yz3{siK!z0+mr~2R zGlyu|vX*$XZs;ED-8cHZYQgf#wojWhKw7DN2@EdNT`Yv(P8!&0uZufdS{Uc20r+sb z%#9X?tbs$ZOj8ZMNg54zdU(6|-Q_jt<}{$!4)jA;Z^F78WNoa{!1=If7MIOwO8XfTfyIp{xj<5}8M+I9@f zY^L$^@CpmXy*qY2;$xtCBk3Q_8xA%rszyPWX@k*jI`MhhGTe?OC(r_TNp+86j-!khGa7a>`)py!mc-U1#* z=k`;(U1d~f1em$F^aB(ZH}+;qLqriBtQlW%x7;3z@2{gs57IlGZTOIp^Z~15u@G7m z^8bM|cKI4{4425Hv+Jc zZ<*38>bdeHO>(2qJ?n@mUy1R6(@-x9MZk&2KE$C6}(#De75(= zDz%M%?h;FL__GW8au*UK5-Wog-qQ9*io_!bz9}a-yL>XUj{~UkGrJ_nKCu9eY`fsu ztgr!#zO3OB_?Vnx0)$^GB&<46Hvd>%x3@xwn009c-5&iT#^TEzmSDXrgHt+SJbi%b$1Jmp z;qY4A4sc1cMLydqI|=oYT?7QR2ZNz@Qdka6j(r<@2_^W%o3HNGsc=UGxd3lyTD~1f zZ>o<)2Q@z6^qLg$a1n$%umXGx3yw!bt$GN8mrXia71X4epw+l|8^H=6$y~zO_xME^ z{3e4eyCgdiOnpJZLHTZK7oYR_19jXDeajT5sNNDks;Z-{975T3m}TLpsrf3K$CKQc zIwb5v;-H55f0?L^4?g=eHedHZZN-TIbo%rB*CLVelSnI{C= zo57ogK+KlhUb@mTB^iiGt1E&EtRE@WZxx1RA}qcr^QB%$>3YzCCMqz)AMvq=Z1$$S z_rlJ%XZ!(k>_kY?9Qb7M%i#lmu=mRJkS zC)hOab4C2K1vjlh0 z5wZ3?>^OC)`is+dNRaJ~mPLU*ojdA}$vU%CgBbdxUcAgp!VH!a19GsSj!;&w%I#<7 zcOh{p`xFNG;Q1tZayiwKK$S+Vjd?)q5#5ZhpkgBS7c6gYbBG59%U@^Iqpray^~3XR z!W_biIi3y2|K>EeUUGx~Mi+#iqIMNmNS|8ZI-f&NjJ)XE*^_Ay%uSn%;8h&13cf;m zVwMZXT(PrX;Rd@26gl_rCB)*Z->A7G9 zCqX9o73cGi7ZplTqQQ0;gD$vdI{dWJsCA{qQ6t9N2bK5Br1mFBn4)drB-hbYFAWV$ z%|+Du$SHHMH)v|_kB=2MsMNdx^Yq|%Jb&oM49T7!u8oN3cw)dO{-mZcCrnpT97@>s zq~q*6J*9^_i;02>!@FeAmdNQQ-aF9xIgDI@h;J9hR|p$37jeVjp-l$Gm zdE-lhWt+X_#31}*CwI=?A(D@BTsAX9X0a`1BrpRH_*EyM^M+w&=FZk_qk~a_N(O|y zbZ|>(z6J*)RB;PJww%cY+zdl9>>F&i*JtN-vZ~@@p9i@r90P#eX}vORip-FBf`=M-+1`)y zCq;KRFukaSD#8fRqpPug8sOgqQhKm2$TdA5RUmmSz8Uwlg<*{t)yELBjlynY8L;Gw z0r?J-=R&`Lop3K>+7}DpnZAh%5@!QU1>Ep1PJFMjvB8B_uxE- zi3~D(cuZQ#Zd=nNBX&fTULM$0;eRM2Uxy&bB%Jo`u4DNuRzLiudyo?cym8@y+z=An zs^;ZmTJXz=5>!I7rUOaaxQ4Z_=pU}IJ`#q#S;0DULIks2Q2O}l?I6754T`i4}IWgk2#VMx<=c4Ut(2dmtTGm76&zo6qj(aUF1d-puE0ytaa=z zT=+2Pay(h~+H+;YO1B;f$~QZVcq;aUn=icW8LAT0Plrm;EcZfJ()^9MAADZC0@sr{ z)%FGjJ^pT5>eN|khT%u6)^DUAD5{wj6eqZ!*z?vr&-TMTA&cvmfW;e0y>v5INh< zVnMpNhvo-&Iz+;=ymD|4*%L@#QB$$jjU>R5GSL5miz3DGQ6ZxR1^3S5Mfo0#;=`It z@lBB4K06SV2IZ;*^89KiE5i@c-H9I=Er~IxoQdc`q8zL|N;GK`zusMpj6D>-&DqBE z+1q&T<}u0Bij_FhI zi}u_^Qgp+d z+#B*hYTl0ij=cbl|Ei%uZ(zL4$|Y4E(;X*FWPXsPTDVQf6x+C98+RYR1zE)sg0X&+ zOKlw*2F2z}43g*?QT8~<-^+w?>O#zmTT|v1yUQ~V(L#jwv1aYGY(ZQo&+9KBAh3Y) zcUt5e&wY?8G%QHHh?tg^`wbEb2PG1)9^sFr++~A9FI1>XcJqe=CoZ8L>O8DBGIc%l zVTQ-l%OX7@Fsni~+IzI)O}DmYQbR(r9cwTuNWgt9g_y;IM*@;ig#P}Z@m_~(ICw%* z5!N^^7reyI#gYwGk`60;Hp2;$-c3pVUIeGK6iY(4Zuh+Ls}Tnu|VnTxO%AT6TPBK#|~&)rW!P8kf=uI^|8uqo;QS~l$q zr&r^}Vd5m8=%{Xf)l?tRc|{H}Q~~Z=W~U^_Z(LJaG<3`&m?B8xkjB8%V1-Gye_s`$ zenuoS50lgw50P)Pv)}sKomV292I6b15KEx=3N6+`ccOOMfSr0O8_}qi9nXY36+L2V zL{DKei!5H*`hk*Vjo45yL?%Q*7WdoMn9OG%_V_ab40Gtzoe!|{0?D0ugm;~JJdg+w zHNbFxiACrD=9Bb+mx_~rOL zEqXu_2x?92j^4|+Wq_=iBG@*{DlmajDk68hB!jSI! zd_tJ(&=Ew2cE+rV(p_7Vc8CfLzIhu<Q6>3(pu zDY*6b?F$U|pGg1N;e=X*Vj3Wy+qG(15!(e%8oBnw9cU5#`e$m8UKZ40@h4N^4q2>8 zkfJ2JKpZ2+7^HrC4SS?Oz!5~V1iVr{Q7V*o+6&Km#tzh!iLG+hYysgA-I|ubze7(? zCp!|!C2~<)RsZ*El8$!&4^Wuh0}tP3D}x%)z+OzWU|>E~yFQHD8&by54Cx>Y~Uvdm&h4XuA^<&G|!I8f$?6T#p?Acx8Jc{g;G@9oQF|MGNKdLS}IQ0VgqayC2(KhzrBt=B__`@HVBccLZ>1shBtC;(fc5q|;Vm0<8T z6WZrVF9Ub$lkLdW?|kch#dp6-=3+>PM+TOJywz-|)*Z;d>D^i;GgfN#MGeq-@Qb#I zZ{&#lNej|ouUM=-!kBL{#9dANu^8OH0o&?m2j?K4`Id@;F4Fbwn8gtl<(e@+C33`g z#w}C>oaKF-t!&gfaOq8JD!20%i zbkJ$tc3^Fd97ujmnzJEBwxBV>ugypJT*YeFC;_p0Wcs6h}&s#SpBdTd21NGFgj(d zvpxy@j&w-^%|3G^utd6NJ`=?>{^xs{w>|?`Te@(I=Df&n57u3?z=ku~$e;Vyz}sr( z0l4+Exh{+_v1Pw-7Q}8*`=R4C4YQs9WlmM#hj(`f1D+cy!Q6bfQWPx^&j)}o$(#Hmuh+HM;v&E83l!&N?J*PXq_Y7RGS_{u&E2k8v)7p; zw0J+!-s1%U^;DLo{?$GA{@vxGmx{4cvhVdINJLTFWG7~`w_R8>!Z-Ogj5Efb^aqgb z>&sUr)jL(XZ6OW!A>#|ls3ag~IYiX83ZM#d7Y3UliA8aJ&7IIQe=n{G2^)h{FVbq5uyjdYkBr6#(WXC<;5?aE&l$TRWg?o54eAr)g1BTT z;T2AzP3PJ<4hwj#Uw0T)guo@*mp~l@&qtDBowcq+!yV8Jw3VDs0FRrYpUpUY{jw^x z{9eklHBmL-U)ouKSH90Z@VN$zq;(GkkqWHLtN7jGmtAb1C-C4q_Ax2cJ9q z9IScZi;$RM(#qpnB3@_@qICuD}uZCnIV8%~G>gEk^REhv>@7@%3Y5gsxE7U$c`%Gny3WebtV0`LG zk~IeM{*m)Lvn%3GBJ4u(F*x$j$u7PFChU#Ob=@$RBuMLgJsM*wqI!I*~1QC?YbBTGuQ zEo3e!6~hxG~8FlP7y}gK z*Uy6$31i%)S@MUW6AAuCZ(cC7|2%CtxgyvNl5F7N^G1D>B{EqHuNB?qC=pDXOKHZ^_q$g6hJW;%F) zX@r5dP@3YKj(&b&!9RV+BHQjk<7{DSQ-<-H(R&PbhHuU z!E|G=X^1|cm?u`EM`(Z;*o#9dMIm45%2p%p@Yn`ON%xW?l(tQlI`y>s?bN3eVT|~;Cv4{LVWFg{ z3YM5T6%VgEleCrUgBX31cywt=1OJ6_?K1~19L_HCqp5XWg3&0T6D#4Y)R`$-PFdSe zVB1$Mpil&T&ol$Xa8l1!HGd^sQ0Rjuhonizu$#@hdK^z5Qf*UWs@I^=6C-p2-n(fR zLASkGAt8(>&PGRNqQSGgR}gBQE$So&7ptNR$waODVM(BC7y=g_Hz*_BX{fCY%6uBHss7tp858iB<<>)D;p>`}XDB=LE0h!`gJ z3~jK3?BqHza@?2Toia4cWNtacE+H;ib1=qfHPC$=TeZ_e_Uf9#IQRz~fFlUtnrc0i zkblp&2qO>TypO&=s&uCjdIiEUBmAOxhg1QlpcIGuiqKe?m$i{Dd1OXf2dNCD{8Ktc zad?ieZ8I=3!9uvQAjbeifI|Z?1R#A>8B@$OO(gZd9x49?P6z^;Bv^KkxO2BPtSh{QWXw_Mt~-HDpbuZ(0sXsA$5MN}`3{BY#h*zh>l5_)q?Py@^d-&M{t+ zY}rPW8UKAq7zICUgFCP)X4IRpvRH8Rc zh2Qgj{r3B<7S07BvAZ<5v>unD_rdZ^(Xx-B-f)m&L}pGPrmw9W>Z{rf@3#eei1#0s zXCyw1W&jf$kNcBhD2~o5+Q(BzQ){RJp7Wj9g^(E$oBck&XkzC~ccTCxOSAq+a=J{Ag`^e5XV( zYZiKe8lBt^A#wKF*^vQvD0B;lFr0j}lyOTC z9(rv5VB-RsHz(${4(c3orZ9O^NQ6u!5>DPp2mNz`2cD{%@kM*r4MZQ^XoYR?o+>+v z;aUwsg8c3^#=8c{w@qDVNyc`CPNo8;A+U3Ig-g@5Ge7STw4w^XNPIqKIle8{x4s0d zvZ@X%*avq}F>pc#m(#u9fTphSoNkoN=7%BrR6bCyxN)@zkQA9yv!`T^r>I9&&tUZ= zKqP!Nl}*cefCOYS+m|^u65bO3HDNR_Yo+!ME+6p;U6C#TLM%MP~XbJ$PUt`^^XivkI;RJ&{t5Hios1z7!H#J0iPK9N+HT0oKi^4Lht}i!r z1P5xtF-@~Q1a06beKDIkU4{{ zDGWkjWOJ>qUV_1dwZ$h@`94{i7|167S=|t8to3jFG!{=5=$DWvW8m zj?FVrS?1H6q+eT)Tw1?#d8T%1=_N5Q>C0unuta5g^x1EJkZrS#c22jZ-G8;sc@-#A zNG}Ir-M_b8*mQ8wNPE1j4;$OMfSRxVro$^b##>SPnl??~N#dwy8!4($93U{^t&`_z zkeI!94VEc_(`x>(vN-f*pfnyt=3QoDBN%Z+-uawvf?(pIfyvsevXG3_&ZD$m$nY0+ z*@@*xw97o=7vQXnDZezKjw2++HA>^FEc2UN!*~KWxd45;ZDL7LC+OhtUKT z1u*lUL$H3KmPPeK<Y!>inMcM$7JA-*raQ9=`q? ze!@rZbWIQc0lf$7uPObH|9~Bqv|k3)FJdynY1^(C**#D}K^V5ct7AKr_m6 zJ>WnmI#oQ0(lG!nMOCQf!$pbyC6mn$u11`_mKLr7M$sM3x=CzDS$4Q^-B*cZq+ZJ} zs${_{Tl<6$m}%}g+c5Lk*2BoRd6}^oEc_)%35~4gT)lq{_YcLp;TI{{Q`E>h+yuI* z4!D+f+W^AwL|a9*{iJp4_J{S#s2=h|Y!X^E!v&0Zg_1@l$*>Z_)!=d10{ehEKeP{g zq7=z6)>pll>uKA9?y{q#duSzhRHL9&K}Nnf$zjr#|6J-+896#73^_a9pci_-6}05B z$b$denzU#ru@r|gB!$xWv=I%p2Y(}G4%WyH(tLMByApitrZM3X1Jh`==~cN0`l~lNH!n#vl zQ*v6s{@tQ2!mF%ew5rM~A!R%2G)1K;6v_OQHC(xqOElJN6q_g&!O5X0k8drI=nU9!! zU0M)5F_=G}w&>V~AlU8W>a{1q9gD~q=CZRB!>*09JbjSsZ;`+@5<~DBdkuusl%Vlt z#!R^`zDgK4iW<}dB;;n3F3F3>tVQoAK4KS>V1u;^C^y#`(3dLJX;N<7z(^__@Ax*R z9ff$$%<@gGv3+-z5D$2IU<~ATT#F*@R#E8Ksk2H|liUwh9R^I-(R?uG{FM#A2`xY4 zPe7a$`B01U?k&ky3btJ;;SQ@nEXXc^7J*V|tEDunGS0wFCu=EnXjTO!Dof@Ht`R${ zAE7;-XI0m?~`juf?Y$koY}?T?U*I+M%{vt%%SK6n9gNv-)-*sI0f8rr{ZvyNj0cQ*|XL zCV0N*XqTJeU8}k`^g+nIL*6b4Dmn@)F+b27bP6kGB=Ymk+i{DUl`2{00$QUmw&HEq z01=MgRjt#~?3gf4TRbABBxnp9m)3fqugoW8d8OXqe4yFClSKgaXUIs+f|dc_7E4Qv zb@vPP1MDq~<~fabF{_uvz}Qf}JN9F0y4CLp=la?=#K}cQR7A>9v#weEb(MdkbwtB` zHwgUx3%?(3<9gJ(daLVvH4S$Z@40z-4Q7MGe@$enK6;p{#&|8?es(f-`nJQk_66bk zbG{jgXhOf{t7At1VaCYJ} z&)gGQR=41jT`vAo*tf^)DSam1xM9r5v6>z@NF+*Cj`dtDWdF$~H}N787|y9k6?3FY zZj5aeC44jOl-?C3fY}@&wqsTroJgr2|2K~etauE*OI1drO|`e6H>z>d@VQTPjrW$d zO_`6_7I}8vvdfsl_y7U|>dMP%<9biM@5PB#h-9i%i8gAB1&|Nqb(dCDaP}xmi@*X+ zaTU6HrgK7I?R@rotbzWeXHzpxCB-{nqCYd%4ouQtgw}HrRqlpW6J}5!I{jdX+u1$i zHi^uKkuyV&fnPki2hXr)qV(B7(6P9AdcQ1>E}NO@5g{RkpM0`AZT0$r6^-1DsN8Ur zq|TMiiKXjib;Ts!9=%mmFWri>WEr3F{e0Ir>z`9qY?>E>6F>inzWgE>v+hqu#5!wc zE5l2utR1GKN96UTD3+wFG=OoJ>sNOGP1?kX%tL00?5JeSPxyN2lX)pgvFxZx3pNBf zU0#nO?}G{#x|u;Bk7%CmdyxeH{%^AvqY<7muBiw`XVAgW7D!`7_O$)^w`~IIpTYi> zzczYX=lJ7K>T>O40`n1%GTaE*A@KG}tQy^amhjoo(hnL&b6GxdYCOj$2ST&_gj|+! z?}OMl9IChs2n!fkqc9J(Mr)7Ui43-D5YldpdZ<4cs~Zj|vQE(OO!j1;)NJDSP79lA z(o3u9?Fwo4+Bgr?$Yu?@aHyb;$TMWi)eNu)Qk=qfsGK*ogL~D8?8A$N7mQ+BaM(=x z3YD~~iJ6|(2p$`x7GX0$UtcbC<+q4h2rQ!PZ7Yf=&Lb>fh9{ciAZ9x3urmQV=<2qX@#_BGbF6X`(s`7psE8|8pP@C}-9UYSM-@%3r$?HqOBOp*C2 zNW*#g3tee6QE`I4LnYF$Q;gh+vbhhxQdUdWxM_<)?Cm+xbFFy$fJBp9vw^#`O;_bi zp=qV?SOz(QD-BdhSHW1x@Z60oB296%hN%8bqVxE}S%~8YifG#xs6C=5(0N>kZ}C?R z;pv@3t-*I<{folr2@Q_x`|OkL_xuyD_nr30Z{qH|OKuP7=^gKFDEqyeEt8>ZT4@>_ za?2_N$JOa`nby~^&gu$=Ai^iHT)i?U)Go3dlBN5|3QsdiZJ)t>lzx}`|+4zbL^ zHjipE%zCv2+jmS}^@fI(1nQejHBlnAoi6i70o)|G#su@&L84Z{rv2+wuJ_fhSLS_Y z?|bOS=jRkJZ|_EK?@aA;OHS|mAZxtt%PsGJH$BB0)%%X*`#$KqzkAE#d$;{PXnW7{ zyZ7^Z+UfiJ*}8c*)BEl7dvu&!&vUKnovoym`D}<}p3`nyZujwm?6aa6*edYoA;FpfT3l^~h`Panlh_Vd)vo^r@-vysTv0bp}$PdQ6_fwa4{57?~wTTTpLX z&R(LFf++nso=`eXSwKCrXoFe(O?Ya~zMV0guU~Y(-7Htndu*>`Yuiq3Hf8*MKK9o!tc^B-vIOKc66PQPr&TMz&@9s1$2nbvH>ni0&H*>MY&TQ)$Gnm(IbJ~ej?V}K3kz6+G8>{5E|Fl(44=8IKaeKmjD|8PfY zw!hOoMK|HJdaG@;lg_m{O;~~wx($dP;l!$@NoCBe>C$u%dQa!$S>k&?*z?QU`+XDt zrQN%l<6hSLX!|@0(;Qp-Xz32a)VMQQNUf2tsdCU4reZW!b}@ZDY8R$^21CUiO&po5 zl+HCwuHKzMS3Zub!E7H{N(f9P=XR+@<4*vD7FKnxiRxj?= zTI`~-P)fNTa7HQlXQD(#XWEyo#y%rdQ1Ej*w!edes{NSeDhbOVyGfE7DR`s)qJCkm z+T?bfYinBPjHKTEPby8@s;+CDm*0zZ-E4;}4&wK<*N$3O)7?2U$@s9Gks@D)gT{;v zM(ufa;rDvV!ZD=h;#PD(#Kfd$a}KhNo`#GWPbBkgI%{{Jc}%=*PV>(O&8ObY@7WUD zp5ODQ-PfK^i;>@_knbzg+)LUI?C;ygYTZ=a-pwtwYkJlq?s7p-O`%fNjmlSbSFQD{ zrBjMI(W>@`u&_)>#NR!}1JN7tGfH5FnW>z>J~Y>OmUsyv=8 zfj9-%D2FH9)esaWEu7VKdc9Nz>CQF?bMS-lUl&uho;&gi-;uUs}L%#4UCFyLTW zQzqOBWV@_3OPbnO-K+M*8e3EtwbOZ~UFoW=%xxKUJ077OOZtX3p2_v1%6dv_Goqv# zMOikHrvBOH*|}V^B;04iA0FyQvdPP+#6Zf!KNJO@qGyvBY+m&Wr8W__=E9ema^9Wc z+B}_Rw>Yn?Xi7Xrd&{M+C}LnAzbjAp+7IT_ICk&X9zSh-s>69NZFndTZF@dXX?cfc zed~H3X+Q>X)+=V% zG6goJYV_M!39j0v6l&z7ozaoQ`t>(ZlaMr!G|5Rl%}rO!*x2~s)|*r3`xhZn0{p3(R(K6OE{~M;N_)V%_TnB~8V2gGa1d zHJ&r?(*5?nzwH1gD*XM7XGzTDJH_uQ?DL{c&*xL;=YFUx&xgF{q3qdE!6WPDkZu-x6_dqVAD0|%()$={k!sj z?twz*o7<7mREOn5X4O+AAhEU&kFoYXnH^>B+5qkD*h`k*(S#p4U+?}r-`^Xyz3=-K zxA$+hzR#(z+bT7mKC&;SxsS9T3BJ1NkF{@}OUx7T%(F_ZPUpBwf6^}B2{hrgZl zuF5?3B#nP(>uugJbx2=~w{*>>7A+M_ofwWC*HY>pJuU58 z);FvaOPkMctmL%?IxuP?}a{Q?Nu#+=Dmr}TK)h0All6+yVrW?S}^#MX&PFon_ zD)0BThyq;*TO+vY_G+&&r+%+DgZ~5{CKG3QcjQHkGfvQmyK9YV1Bf{1#ybnbEz_=% zbG@VJua+4?urUhJlv?pt(S%hu1>XE8)3hilvrxh$fvyB`)2Uy@W2Q%WwO819c|3c0 zq1t>*pzk4mZG8^Ut9W8s*M!Vz^We_hK}WP}OkNyR?8hlA-!tr~Lv9$IsBoIhfbzHq zDmq$hW)5I-9;BgcqfziLj)HLo@B8qm4Z?c@0mTZhw0Uu@P>zeZCRL$4)eAf-KDw}} z5Kbm{RO&8yKI`DUK2saeLm_LLsGkXzb%&gx648Ef`H;fxJ}o4(ri~6K%s;>Q{`z=H z-{&9K0Y7Ga-#ct(zqe-}6?z|GpVtwybz^c)HApK_akDnt;;yO9tmV`*)p-{l32yW< z1{Z>WkvW*(F6dHQEK)ju+{73X_hl)cYSf^jsAnYAtj?^Hy`WzW1Dc93UcG%mj;@fJ zVUG^aX<|jTN@Kg6Z+&8)PqRCh5TV?Zkw0H*ZualY*im{@^LnAH6wGwpYg{>Qj#t%7 z+g%>va&BmcQVzhOb=5hZn#exfe*e8r+co=ZX(_&!*0z;Il8`TVN+ZCWeNt~(@S`RmL*7EtVG7ml;TemFwwAFCmayoB*3 z^;jZ__^^D?qH-7=R^Q&N9AbQ3Z}Ex>(@lOnPwsnSg|)2D!Z}4NnQ|OmYFay2H#qGB zJ=k5;+MaGV{Vk$WkdeclEBV?nZi_BM3GzGJqxsX$1_!>gW^#Y=zFpLwR`z_eeg^pt z@bY?Ip4It$Yo7KuH|r<_>9-Fj;po|S9&67UsN6cO^iOdwoYYb)s%&)Dpp}#iY+NK` zYto*zaIL)bB23=Dx-`dYe-$LEV)r*{;A;VA76I!0{>(D>O z8uu^v_3iL|UFiMJ{mS9x#4B&s+Mwa`&lvyoq|!$3d!inK3e6g;xeTfYv^Hu97;-nX zd!eRn@L2Z9#WC@~Wii6Eq34%G%d>9pvU-XR(7DzndldQdE~)QUYXMAtF<9)!N{PY}=A#QNJ| z+i>#IRr_u-eoLP{LI2wNZAnU$I$Ob}22`tCOj&hUjRD)Q4~{9$%R^hsAo}CyR>kpN zVVmK9^Ql>37-=4$(O%K7Y2_6B7K#HX=7YBPYf^3&uBpO%+Qj{)^WFR((KY+%J&GG} zG`k~yGL#!`hYNF*H?1q{&h{9}&p2ovBScx<_E%xyw8&909iDX$UG06FyEI)b_6PO1 zWAvF*asVobcf!&by=_lD^!7#Rf_j|Lf%>(^9oRtl3wHTYt2|Nm{CQ80iZw&s%l6aj zrPT)vhh%!%VNDNi-q_Kbbb*j_#>+^v1yG=2)3HfI{+M~2ZIH*a^m}-F=l4d**!NBO zTi3VV_t_EgNcRQot80{khezEdY~lTU#_=O>SMU%Icm<<#OCRSO*BZ%>7FX6hB&X=a za00vBmw0^8OU=bS6s z^StZTkRBM6sag`+mTB|6Bq{Y(z>KxeyJlU2ZDBT^5ZV~?@L*lDJ_@xvSzCmvA4OPl zH1gycs#0~+1pfKT>+`$v9_96$+Hyztx#Y78F(F6gli$;n{AcW#b>VnB< zxTEbv+HS*D;Tm7In!&@9^5ck6@74k|(NlN>vH3W_>2XW3tyP)Amj#5)J%A^>t&FRX(!WceTebcPsAPvMF51 z%Ee~Crig8L(W9i9M!zla`}K@O(WY0^!U)G)Nav|~!&%WhchTZnR)Q~3tzd0LhS}dy z#b6+?04Kqnj)Y_cByZw^Bh1rnwLHx$%_PVT0tFz6XNVv$IW-Tj@7Lb%b?4_*&*vlP z_m+;(PnGT!`uAV>e|7NkD)a7n%qV(4{Czvn#vVA zgVhExn0#;Z%ja^pN~MvQtp-H2JAq1}7zl>Ii~uoxMA6>${(P36mE}UBk)n~5v4X~* zzQ?Qnc}yWI@;?A@K##w~As++%)?M9AX8Mlp+uiK5we}n%1B0--WKnh}^rGi5X_vxx z9m}VVIVz2ivARadDM{D@gbm#nu=kX1D@OGkqmA1l@&CM@>vunW{`B<|r>5`X!^iW3 ze);<0DG(%WjT!&-zE??Xx{qa{6LAr?t5 zzmOhb5Kglf5Nu}5PYe9oesW)8JGC*i$4Ub*oA2;wUOFSPM-~8-+bA>HWq4r9#B`C< zhJcY~q~cuMlYa7U^nWrvGE$G!X`#!t!Mj^iuNtFRW2ST4IA^G&S%T0cJN88bucIz9 zOmo5sH8sCT1-B>S|9bbBf6zx~<7cnp?bDTSN2ucS8Xf8zoC`N+H4q;R%!OJy2CtxM zmaThNK=NgzSZgsdG|R4h)Gsu8l4VP#__=^!*{o9i+tM0WZ?EKqT6RCXj0GCL`|bS| zA_@6b>BaKy4F+AA!-X$zPPx+x>P<>7;^$OGerl^HRW7@^)zocx-eZa8W+vA>e+~#4 z%rrA6&1T6-Hcnf#KGpj2(|OBp%gF!z(bN4=e|prbeey!S_kdfPb(gWhUuK7NTgO~& zhtrIrxqqMrgVC;Tp|%z5E#R9~&V;%(g)!mQ8{yQgy{4?1Y7y!QC->9c-GD*FR_MR6 zTOvdhG1JWhzVH@puT1Z`wy851uI(^)E1*TdJV!@|0H5}RJGe&Ffh=KU_ciM%&4jo& zDC808v=;U7CA(}0^(@ZZ`&?*R=2YiAAh&4$-sb3z@1KAB@G$k=gx#>K z0mOZGF%&83Xr+pHQlkc7aPJp1-<{S1Csi7aGlq3!f-vbMQ79!?!pB0fPGJbNbpSO$ zqMx^Spnv-IkbnGie*VE*PKBh1z#Je4SfjH!O3o4 z;lWI()|o@Ed3V!-lcy|%1Z#{86N8bOUcp_TaNrZIkTjZ3AAY3XRnqD3G*=v)DQR?t ze};LA7iC@j-_84m#Uls6mMKTdZ4=;o{qpJeA0Ir>XRq6R5$ZLozVg8|0-gR;UnK!x zB=RjAsY$0uCQXu*xXAy*T~#)eRpu}R%n3XZ5ji>ANsJ$7?RnZ#W&r?3r!H->pw0HE zBa_8kd4SltJ2PFVcwy{@#wO>5lZ&Asm;nRr?A{jhA%{TvS?s#Oi$;Ddv=S&De0syL z?~)}_yuFN+7`p}l(VLD5I@3j#dCLTqiko%6typ~c@?xJp`?uHi(Pih!>v#8}zQrtB zXQDYVo;*{murV_u#Z-aD${Lbcjw(>k*UlZLl6xmHCtN@lfP>>kJ46m1iO$o2gY4e=%)SaB>9OG)^<^ai0AD$+ zGirEeV?*Kqn9Q;oFLSDrWi$BL9T;M+IhDdj4+)#%I`T1Pn8)wBJAe7%%L_@UM~9~; zFWhar?ya@MeSmlo2;j~seb-s&ij}#vb!iEh&S~9bjE>qyq0NFFZ9rq8R$VQzlcAddX>e%ZkSijFjIv_Y)wlc)_h z2HJ)HW~af?W|a#aT}#S|7q6CpeFvD5Z|u0<8C|l~GdPw!pf?s{PBR(!A(x!`Z3p1T z4OdYPLI04JHSLGx=3-h0~W{4>O zc02wl5O||SgWh!Btgldz6~n@Y@TkzpC_rGB&E+l#Y5C z#DhzunRDx1VVwD>bDnwirsvQG5@e-O;&ffDZi_rd1B!H3>m+T?)zl?Z=mEWlvaF3%hOy)(}r|ezH@EMqk@i0+Poj+QMmQ^cFbhGlH%>0HN7Pg z0LVJA9@R=%U~Z4XhM3w$v_}s#G;9>8k%UTHzwPjVw~SS)qYkmNp~TMS_*XjP>8Uhe zj>?S{old5mxvyF4dFXN5HkpjWG9%y$g^S?!fn5%mG@nfViQ`EntPq3xO+S80o_ag8 z`4?aO$KO3{u0MO-Zi6uL?Rkn=>gok|FMZF6oyv(BT#&uRU|5>E82l0^KeRh=qbTd5 z@n7x05kAvdxavtJL;5!+w zclEg;EuvJMLKhTqBr$6dbGwa?EH0pOX}7mzX{;UU4#jtS7bDG4d@?>L23M4?leR{mW-R zA3nQ%ee`Iby@GF#_V50UjF4Zq4SO8fkAKGr|}s>>s=E>g|%OoUWt~^SnTdgGR{hC3dfkKlLKhNAkvP z1^V@pIu^!dovT4d*K9G?EO8N{%hXUFEx7G<*oRBia^NgC+0_8~EpM&qIRVo*+443I z7ZK!rCA9|j`t}kVpFaQia`dY{c&N`_y8F7sYmBX~VU;m!yhO0Jh;PO~jVvZ*hAU8)*q*%w4fC08Kg}3pCf5EVrEGQhgUG7c*Kr z#xJ};+L$!&V^>iMkvSDiq<5L8pFV&3!yjL`!@l^(-#vP+PhP)wn|0f@_Je`jBFV}J zX$jZ4eO959kXiw=H@tY^TLIg=<%^?hzE?2CYDKX>?~I(2I=WSKu!tZrU2K#}lOxQq z0n;`_OQN89JE!%h(oKK%vfX0}zU{pG@O$lPEgcw26GIZ<^jEcmRdUlH3$LJ&!tw0b`QoF+>!&YS^Y1$oXbzrT%TgxY9h=ggGbxgiZ%?!fFFg z`E9sKsxIEew)WhYXa-*T>Zh<>9f*e@N|}6K%xr)Vt0;z6m9AAvnT!Zno?Q-LcA}=M zp3(iXrWnRsUz?O^OO>Qpudu^#N9=T4Zu-05`q!7Y6Y-;$_Q|XF>$7nEF28Xa*U+s< zNV7CO0?)LMLX;{aWn&nkSJ=}|!!MVC)N`&0ob)o?#HH%NJ2cd^rQCL-`M9d!lC%>{ zX~z^Wl^1c1Mkm$}YwEXE#J-^J(r>h8MnbD9%3_Dffj*}Z9iN(KVm70D89JI?c(oK> zC%x<1nQKG)9VeA06<~Q8EjCi%S>Zg+oqANWnPbdtr1!1d4YU8|iv555ce-;=UcUR{ zaQeoKp|FNbB41j7JxYYfl~Emnvf3^k$g#E-T6zqt46hl7j)i5L2og+>c_H{MjnOw9 z;+3=NtOqaM3MPhvdng8&D@>YO@>}QxjSA+h&QZ;p2gXwRIRo5x%w~+y9^9U!@mf30 zXDO)W)tDx4>8yS-8n`~;Sk9TjC)eH&##ItEr8Q?FU3{B_POz*@o_0I8dE(!E`KtQ| zfB9a&eE;$&Km6?FyWND}STXPqm;u=hWD<9~tVIHL(2DvwLI} zoZ592$tez4bc&<90sh7!4I!K=Q7fWws+m}CsY`Um2=P(R+le|$aQjyFR!UE<6%}EJ zx(VP};aahqq5tm3NUT*bt5cO_?a7OQ{x=u6w7mtfpOMm8#|D^TnKWk41ZO@a7?x3q zY^`mb^|nR#H(x(|{3A`*hxPtvuidY=;0q`6#&=o=P^6*tLajUCZ})LAF}zLGu6w54 zXm`Pq1g4W9i&-%BH>d~*+n?UobXtLGXKumPnE^&N}%K~zI`P%a`T%42#mp(iX zOViQP6O%krn&$wv+}IBHNVn(U-~9aX^Os+;Y7gJl=PutZrE$EKA_$UCWbvzZQa9b! zs7^)f`ej5ZhRM@P7tgyvXwl-wnb-{^NqSZRo8G;*a)DR!X+w|g37@bDEq}K$gw)O% zF&P9V?Y#ir-@dG8Qx&!0p#%@}u09#p_blK~I|qfR2U};|V;mhDu4u};9Eq)!)-7HV zD+e`otFvs11(?ArwBs7o0eV@dcu;sBt{2cY&Rz5MzrS%PUN{%~=a=vOhoAiO!>%D-cv8O0houuvFo z1h%w5X}OnO$rf}C!xi$(nY)|j(+~zn?ngEXXKd|Au5~wh2|DnJ!p{`&=C=u$FMs@K z|N7w}jN-`)_v`Xu`Yz}1@@rs%4|6XGX3J5%emmJ>UmDgrm$#m10%LIDpQtkES7$4m zUSK_2PuZKebH!|Fy^oE-Z=Fw zKxeT)vy2+l^67KUKC_I2bF1#PM=O2|?DlDe117G!s~{T{6hO<24W>GvymtI~F!ggz zP6eUme0$3o$(d3ERmAYNNJ5En zGo`BT>P3)Dov7nLxl>(dYV?uSdkJWVCA~H4{`t?geeySK`S0e-8@c>ZGv~=Gc)tg~ zzOb!irnaetmA#PRqCmyk+ziPO??Su89KPrFu7VD{_a#LmRfXlJn8r7-JGsI*QO0cE zF0Tb|QA~!_>TVeeP3}ebpG%w_>$XXkfQ7bsuoa!cFymyjbd-_t%+)5l?b8wkeF}DK zAh4=Aww2)4+b>Dq-qjY<(4Lt{YAHL;$jQ@ZC6Dak$?`YPnNK(x8J)vQ+MvIw%(gsa z&AvxA%iXarx1D>TDm1i@g|KKF8Kbf~@LqSenX>2Y>nf?tgJ!-l`pu+5Q!AzHscUFb zG0RQR3E?G!zE?5RBVdGC<^_OsHKI|mVxL*Hoyd+kZfi?zjv=7$WVErZ9p*Z^>;h!7 z?Auz?Kf;*!-F*4_>E*+huljNS{D?F0>@~c9VZU8rTg-Myo1bwcs_f=`wt&c$7&iuuLH2DG=9~4^c*op=WuDYrS0hLdJ!ZISZVigmzC<;kOHor3gp5B zRB>2N605FcrFf~HM$g!P0s>yq+sed$dwZfUKYZB#-hTY-WxSuMd)<$RasXA|)^e!zB@a^Y_P$BRn z5lNakIZ9RT8MjTHv|DTd4aee89tT{OMWtNY0Z5=dg7J>A7Pwt1!=&be z(r))$Qkfmn*@l!vbk#+fhME~eV|ZASTI(ee8@1hb0siS%kN2~`!zzCEBHljSUy8-J z;IOln)EWMkUV%z>b0oJrZ@Lc@QkO$$%-YUC+LlW~IWA>_E}?+yP5Ddp41cIcO;r(C zC(kt>ZgNx3-X&M%?`cV5=X?tk(T22nT*Dg^bT|R`jTlqFqUB_l4bVy-$^8{|i~cb) z=}f4i&thoJrnH93OqcdkFn_ODYEn9;#8S&}ZD$M2yQy)EFvhseJpIEj5BK%KKK3;| zcLncX+t*!rbP(Kgv5!!4t^uzyY$e~N3aJCX}~kCUBfl<$lCyqYSJE3&+TjbS3l}+ zKbSs*uRVL^ZcD{)j*!IU7A(1@3=JdGsDK@szUPA-vJS)8U1Euh=6$Ux1ZZbpC{SdesWcz!&iO)-uSB5OIk~Le1gC2?Nhyw7 zntKaAoFG10k9j@2o!L(tEnQ;laZaxtFXyZ?n-{H`itTxV*+plxWq@!F#=pnuX1J9jc zf4PN6H-hK6ox!yqk1d3E)}9hhW7Ka+M!(t|iE^Vg<~<{*oN!!D%NLm%^?PN~BhNO=$z`@3GEKM^rZ&&? zg-CZq9^wP->|Lqp>v<>q^6Z6sd!T>+OQL1R`8L) z*R&=l^Iaaf~Z5#O$SdL*qzR7@ZZDf*wgmfy&^4XeCwjMI*Tu9SdMnnRAQ| zMDH@DDIIR7LI98e6LE@#CEyIZdq@A4cFt%0@Ns|o{Ue(AlNaxP=IZTJnwK6ax*NJ? zlr@^Wr-WlU6;F9xE5hx4lMGAeG)7wL>GdRc>x2;PjX-uXzuAnG%t zKsxT%9E~&VnI&3YvHRSBIy+J66%sX1lZ7s*hZUJY@BcP9(TNLsqh5R(n`zBH%|<$A zdt)dC9d6NK*0$3oAzcLv+Jhdu93VMon4Mmk`7WYm9-3j-02YKzV)Z0pEX-%O<=)t;djB!i3ncVGngz=;1 zwo}VS(Q*S9tA1%HVast}(~bV=C_#^D*yat0GU6m=uhGPv0WfYPvI9+SuRBY1UUqqy zOo|)54mf(}IEbeeOzU{bYGuaZk5WN|$OPyMkgwQYSCDLau7K${)I{!8XLVhBHp)B= z3`tj7GTT#)1NRC$_hT>Z-+h|`xadxgw&^D?;$7Qaz7-j15-|);WQXC1qt#Vf7r1fw zeP^*+$D%x@Mj6xgsvt>eG!p6zZEMslgVSv0TjWLdvQf1(QbpisuN2CfMJhlw-^oq} zVs+Q*DRAU$X&!k*ZIiL*%1lpgj#RGnm4U+dnsz-9kovG7(7D^#VCaVo3ah<9&4DR` zGm&4#D20gX$R^V3Ih6LIS#F%AV_GX!9zWgx{O#$!-<*B+GTz^RzCGT#CI~+l^q*ae z)kK4HU-*)4yY+H3kFs`H=@(G6UB~iXJxsQW_KS?-W2Eqwn)FQ6CBob3XV}P{XNBBv z2?i*MJ|Z{h54TYnW|7&pQuW+RfFVQ-P%Pmhn&Ik7nm7yM#1fb-J@+OHsPP&uc{TFB z{3UYjB+kTQXZnMC=gG7wqWW>syO~*yB|Yj|i7?CK$NOinCmuc2CokT6LzH=QI|Czg zYH!5qp#FC2iqm{GdesC<@DY#=o!(LIEeIT55IR=xrM2UwGW<4HH-(a4x55HVQb%I4 z%FpQx?JEj|m`4Y&?AwQ0fZjzABH7B{yZ0HVuc$4qNI0DVf>D<~x^$oneH@uFtTPB9 zdFILxg>tvxpi-a^kI^u|FrApwvVgV-Ry5@eS#O_YChZqV?af2|n{TeH$G!JwFX8R` zI^OO=?cf_D$HO?wS~6C41gfc}*ip8ZQ8#MtNg{THjIhewb~!q9M6J<|@6~OQ+~{X* zMk=sSc-vto*_K1O3s3tY`LFS1Jh&&gu-b6XAqZG7!XfPXJk3KfU~NZ2rsd zfBsQF#($&?fA;F#er0q2Mm+WIB@K=mb2yo6D%q$y5qdEm(_-Z6miZ2xfo zR_DB+{DL>GG0@7t$+%y+V(iKp@f4eDo|b5zMI9=266bNO?x4=;SV)nd#x z0xty^K0sg&5TSjtwF^;-uH+m_nMyt#tDSVf) zYjvUreVyB*ayu386-C8U#G{4{+T@ZH2dz<`BJ|ZZN`UP^LW6PDXLsT_jth zTZ|)>r9K<>7m{%l)Y+yZJ{qIg)k^OP$Ao_OG8G9hINGh__pFeM5Lfbkuv@ zN?Q@OB6jSy%R&|b{ix+KSE6TDYiqKLnntl)hlCdfj?WU+J}Ro9R=b}Q#Fkn^(*{Q^ zT25*(iz3Y)VY{WyfZZMGiBRr|eFE>F^o12%;crB)Y2X51U8NP<(bkDMUlY4Wr@QXX zh)%1)92Z*dT3c;n!K3#&_AZ-58igyBOc*ffmTgSdY-*Ulw0-{h&tGFuzjzG4e)fkW z0#9DO`&YJq6F%5lWnD93<1C1cTC71DB>gB7WY`Hx6FS=awOi$-5DXqYH7|43tek5~ zV_t@k;SQ5@ng@DYj{FhyYM3vV>cGZ&3|cR@_n+x{-A_;#6=ncz&q25RT(xyJ)N*mk zcBd@EmszUK(hlAA)H--U=H2&{%>ag_5?)?!!6lc`F?<9Pl?`E(tg*ydJrg{$+w|gp z(tmkWPJZ^H{rWrGzsvPoIf_N2Wnv>w+_}YIJ`7uBRCCWciA~WK_+oGloH7)|@?6!M zFQ6_XPYH3eT=aCOl`*gQio28^>Fm52a!H~+x7Kn(&Yq1{>21|sNIA@`}P<9Vx;zXASns}~zvMw(DAfnp;hyn99e zR3>Dfy==E7WBK+S?f9~-t$bxfwhtKe^Gw#2T=M~K!jMWr$yuOE>7KPoM9B2E_sqfj zKp#qSH7t?FsQGLuX0oM&9;j!C=TlM5Ov0BfGsb;85HLMQ%}3ElnIzAu1yRtPwU5p0 zlO>dnCC}72b6OSZ6z$da*|w*hqMgk=xDIV?)IAR9ObYPjbl8bkGM}jLn3b^-zS*fA z+qcs@|JA>k{^T#OXTRT9#imb2NtbRn`0YvyR|p)jsPo<%L%26Tsn_}j2S5Guh zObgNkQxK*?38qM|TP&g*(c3IRoxR4~l;72JI;WHof*P_EX0Fg=@v&@{N`dH>Ps=XN z(h05+tmDcX(z9OyqLV5_pxfy9x4yvZ(doe!{N&a9^;2EH5ESJ!%Y)d>@N@mJx2Rh2 zI!1uWptz}JMyYSUgw z{pvL_7;9HDK9GZ(47eYOD#0K#d%Gd)5IuR!? z{^kGq*&mi3p1p9lm(=m?f#PA~q&$z#Q&5<0x}Q>4Y3y4G`BsX`+*)3<7er0?%&{a! zQG!XQ#@T}N$y90VC;DI76Q`XqX%?e+pn`i0i?8NoIQQx20O(Y}z&a!%?yqK$#q&W2Bg%2vRqy^w1`#5X& z(bQXSM{kunf9YS|o$Pq>!o7!sXP}Ut7rt+%W5DJ2ns-b%Z<_L`H2Z4LV3aQKAWpo3 z5HUd1loT3;TUe0lY^$XsRf9iV9&@chq9q)448S5|_J%BV6(}2b4>Y?+(KC}s+_>V89_Wh&H_t`7>>nA&ZIsZngDLOoaK)%($T`ldSQ(=`X zg?@eA9R+&kcAWW$0B+7zo3_GicIw*q)(-ZqGr;LRwKm#;Pvdo@4EiBPmkFy|gc7e{ zy}84OPrtfqGpZ!(y-3Sv<3=8X5eBVu9qo11-DO6b!*#(v!|^(+!e?XlA)nVdnZV0< zmMTWaoKmS6k@3FqJu9=G;V~b7t1wLmf}$%CVYXJ={ZHD)l=((%%A_c=<^``^SfE)+aCCy}$X} zeMTdeX?ICm10~)F6pt;ykj$pp#rEt>ep#cXfF=$GSgQj7e@Uj1G;t3n$w!eBK2h}mr@G$C@qXBbaHbxnnvrn z<|TRwOILEKOKY4go>j`;$CZiw-pbW?*yzZ$+*TcYaX=7qg{^bt3pq3+(6{A^1hiFF zB|MkebMp(mc+QcQT~E z{qW<@pMU)MGoYVGthFaE-aTvW8xba-)(;HcM9E1?+SLQoXs?Me62QfPu6N4~zUqi% z$(=VNyi7_ln^_VN$mt+*frGM2Y-wZZDAd`l?O0obNmNEj`ZYI14(Cr+t@7-Jd#^SK zVWEzdwtK`GLsA~(;R9^>ngREAa5@41)H@rxdQidS6j#&cXh&V$;hPM60=o5rzPM5pwV{LBzIoA-A_tDmmEQbaSrNMk6ttTp=-w#j$iwALSO8Vg=i+R zuTD&Kr?eh0#w9Sk;-`7+nT3u1KrRo$dM8CC_2;nOwq2h# zyo?2#3vOA;CG%|TZg_Gl^lPBsx|3z~Dls~LfUT7{xAp)4aPnae5^0=`UCZsX&YzM= z=h;hlQ(6Mk^|mKdSxm>2YH73Be6NOb%}=LsEaI`!F^pN*CchN&8zGHB&lhuoiD=*m5R)FbA6uR>w z)UiCpoJXc(UueZwMp`ne4NK;y+v~tjT!A#neWv5i$1e?=E}W@nhGkH-f{9I%E#L0R zfB#Xx{`^^gAotIi_~G9C+y%USS>HP6t)|-DPn+jLBgtsJGor64Rtb^1E{C6trLjYS zlhnKzuCIr%h-b(Nsdiw_h571@a*Zj))iEB5#LDZSGQA|#ezhbS^)1_O(=B0fm{O3o znfxsgb*{#DaW!`Au?IZ0ipZ@dI5~syEPx%}asf&vO!${p2-*+XJ9{c+P24Ss)@O|3 zl6-Hdsf%BJ0BVsny4*Hd|K`(AUq5{Ms9!%lilaSy?QRcH>zhL-mA=|I=M+0(RJ-WN z*TD!q393!aT4ro_rais1Yop88cxqVqTCUOuM9SfQUBcw}ZW%aB?_!KSRbY6&XZ6!Y zJ%{+SpS0TT%SsHkv^Gd{F>LP5m9M2Y28f9Iv zDv~Nfz(N#0fl^#~nU@}bynMs$OV-DzrA=b~zr@l0%avHV9^uQcBE!G=*2j5G4nJzC zKY2la^`Pf>ZM_A;@mX|Wt76cSPQ=la1d^uMcJ_*NLS}P6$wD=?W@clq1I1hlp=1l2 zVaFLt<^bA7PAN&F1P2F1%eh*b$>YfEiAesOv$WgP@Div32Tuy1v6Z$mms}^CaXy|h zA4+v!i_;Qe`W`lk@WqVkT)X%$ zR-N}B^k4j>pT9gzmOgtW-+RIUbKAC!R#?mK_z*e55C-QpClQP&)q zc}b2XxyWWL+I_CPAvc{~OX_w?-bHNmt3z(1uHzHI!e(46vX6o(V&`n2&44ft=9ez0 zL3F9;1X_)f{=+By>;K@LOyaW_^}UDP^T;bIxszH8u1&;8<#_<)bZXqpmzU@u4Brt*Fej!16Q=aSz)&_mzZi zK}~xM_cV%(RnxL_6b}*D^rWI5mHTh#uCh<(y ztv2+4zh;;uGN=~|JEtvc0MO1@xedzVfJz4*<^g_TZbl=GhNMk}WmuT{mD~OLF#p(? zRjD=CoDANskEaczI$fB4Dmp&a1J%l8hiO%j(%-6~1)D*Pr+Jq?W|UF;^I zL;R}a`IsUFAENcv*IdV>rOZ)%N?5C6QMPTtwO9JwCr37qJEe(;tzzaBjE7yf0bFa*qrGP>r^@DYBml(?jJUz9^>|$Lb zJLHtyrbly`x+yu`_6_<8>J7}Sz-y8zs3b)a;qmC5F{*2%X(;~(M`+I&gL|B&?j|Fb zJ;Zdfqe1G5(m}T@&r>fz-kOlMYU_@}b%3P=fp{_jxp!XK&p&_s`0$l|_VT^+R6X*% z%L%&qdyVla>;M}7ehWXj;-&Jy^{%Qh>p4J!fZr@c9N4$yH9GP7; zK=_})*|;tb z6GNaZ=r3xbO}%KT)op3;FPnMN*3O3OS87QFCQ%seNHMGx@Cvm`&pl>Y-b1^NE94wK zrM0XEt45*67stAi?0%pl&6+8K7R4@^NgDA-ur2&VrJlr-Lt~bSu&o0LX$NPAfpbW8 z_TvY{KstJ=BbtlTRiNjDt@x4w!|v~Hg&;N*{s4GK zB4mz111)r2XNA>LlzjM$YP6)cwWZUEJ+(TI^(sXDx7i-b$$p#xeN1|T#k|(=KKm37 z!A8)jL?JsoN;@+b&zRS(_+&B$12U4k)T>r%#M3U5fKXoQYhQAJX}1Gde+?sZ`^Sfm z^w~>y`aEsN=vXb_dVAv~hc#Vo^EbY;OK1>Coy_1sPl>2JZpOlyI*=zT}OZctmfX1+b z1dgOBjl-y+wbrh?1E;vHX$?Uraiwx7v5=2-}#eI+`R6IrU^m^Xr;dBp$fdQVaW0Ic2qJ z9jeb>x{8RSw{NE>J2PGLc^VjmlQu`4wq>eYWGSt2>_WPA^6d@v&!{~-DmOfN)!rWG z|Mg4oKmD)&{lEX$MU{B{SN}G$qs3gBP;qW0OwXypZjf8vt!4-OcbKi1!{~OHAiI~s zK^?W4?KQWJ-KC;XltEhij5PBqGtC_3l+f$v86C~$C@aZkG++AZcLKZZJfS2RFvIEL zK(}m(B$9m;vld3RDVw}GtnXC1HEm6kI9y0o%4Prv{Ek1rp-yntMLp%VP~a`Ws(y#30)U0G*d%W~@5@}BC$EVd2` zI1>@jWitYj)oMyPT6EGIGnd2ub7BM^3`D1?_Hh!}`(mBhmD%*9kz1?FGG0OD)*ZNy zdOv-aq4}CniY47iX8puvdlX+9nm68)J zZ}`sr%4lWyhGR@U&}-a48-P}uu~yd%$)#M(VNVoUW^ifI<(K@^x2}o1Gha64 zrIoX2s*P#8)V!6Yr#6PAT`$9Lx0V%fK^+LqXH9c5@n4eG9(%30I|^S(@edEZE6-lJ zdqnLkvuRJp`^UDPq~>mPt3zTWWtM(v=7K~(?k@XJjqspe@IN*KyQj8U|>jv1)yi;$={t(B(L=9CJg zZ>B-dvs41E9P-)mc3;U z-o2!MZTiCxFZ;vC^C*Y*7v(Uy0HOD#*u!9S=S=%(Pj55LX@}vd+ic57eMB$Y zS0yJJ%|OZ`RXG#Qy3}4_ZFk+(cgDC}#`1kGL_U$8ynzi!9lpd(NgLPB|L`JD%kl*q zc#N9a{y1e}XYrBJwG7^>7PK&Y zs=6%2f?PT<851x`dntc@h{lU>-!)Fc(BtANJ(&edGh3!D(JN$8j0tH0Ssq)MvGLpc zDt`jLJZB4ir`3;;O`0=bJ*uwCi;yPjKI5H}G?JIzF2&%+u%e79&PfBCtAFmLMycgs z32PU1c$)**+m{24@}p?7UA)9CTH?PPj}IUH<)_b|e)7*>KRgsTKYIz^6T~Z+MmT}D&jBZe zcc>!Z*fV72T=u4HZiUMsScX+Ej3KF}j$i8V0HSJ{{T2g5v;5Qk7uu@&_0x}!9_+Ih z@I4#sNyU8^!`qQTw1%`C(AkzCEvdu$TzxRj1#mk>4F?L9T5Xfyo98MKc}35(5)Pxt zKK6>XbBcbVTs9b&o%)#&2qpzO&oLw#q46R`gx#C}#u020q-| zWu^D&C!;sd{iNLhFsEIa-d|ksd^g=&?1WV0lhe}-#j_*R_nx+}2aDb^CjQYr zef*t&{`&Ie)6bvHUw+g_{E%m_;d?;{Iv{x`gloyg({U1QZLK98O;a3i;jvW7J)Sbb zU0dUm5Og`a`U1InB9}SxNjhf=m5girWZOsmIuJ(L+jvUuNL1iw%$T>|SiY>yju@5R z#Hf0QfluEJw(PD^a!P$+a`cTDx!Yu}4fAWysq^3t(3p}KfElQIWedgn--0Eyl&h8WhaYx7l^A4l9{I&$*h)t;6N+3P2oa&hz5_6LyN&#@s+dcPB>g@aMwY&e0zD}phDh0-^lNm27pMw{O z8IyA|11UR+Q{WhTCj&FiNJH)`)}UaLUFu$A>n1zDH>5KMOUU8#n3nF{S0%tx5&!_H zEdkaqIML&llQ*K(F%z*O^Ps4$CFwXiX+2(=Ma^#6wMcj;XlsK$2?yLs_payQHX%K4 zrA&N)ZMB^aLfy%sqY>f5=TS=4uC6{jZ*1LiTXpzb|MH^y%h%8PaH{6ni+95u_^!N- zrt@V+?^NL(pB#NAF(L+JWKS@3$asRCQFfCQQkEwe^j$iYb{04pngsG1MsKSLHru61 z3gh3aLG>u3Rcq&*si_e*(Rz@A{mCDDpS^$pZ$Oa0x3BBl=XA{>CnbgiQy#fU;&*>q zHVyAKL+hzF$>bgoC&Hi^Qv^-U(Xiz0QXMFLKOp+ogaZdVmCcZ1(r(vZDG%)Cn^EhS zg+e;m{M%!1t&DS~IT7fMMYzR!BKaEq0L-g}N}$xucGufpOJ?El+b8GO4jt4GA0VOY zTX+@wgus4Wu$G9lG13U%L$zFnzQH$a&84?j)!+QqzrK9nWiw@NpsaeZB6vTimAT6p?Se3CbX)_7 zixNP;=|EhP(lI=H^vQH?_I3Nd=8GK0MXrET%C*ixw52V@cofBSFxcHGie4Qp*Mo;c z>o7CYY1#qlbsL8dlN^~jWg|(XT7w>{SU)AHcmDf=T~qX|>8IRAfB*W!m-i#0&tAIs z-c%+(X*^cTb?st|O2X0@sibX7v`E`1(STK~tb0kntbVC#vb=YAuEhYSuX8|^Q%>cl zn~Kk(W!r2z>sVS^BrFR4ijhmq8{EdvR+{DiqwYnFYNOgj=&6(xqBbTl4KUsBGtMCvOw|oYWw~G-GxE|w@dD-Y zDE>-WDZA!{NzV|Ob{_#`2cLYCr0bg(IH*ntN2<15kcN%;YL5VgkZBy?k zA2XAs&j~wV^*qLHPY)$b=1)h=T^{7DVd6hBV`A{6laX{MXTm!W&DN>|3q{9YUwuhSPa|n5;YK=t~@8TMbl3^u}%m5gT<+zGt*|Dv<57LFdliq4BEQ5 zMort>ecn=<{@s3gdinAB{nJk$@ZW>CcJGsY^di31;IEkQe}O%-C8P&~kc+Xt4l5L# zbgUwLx7S;hQaS>N{eT1czbWz(VzFr$9KQoPoIAC13HCw590@~;G1pW6P=FC zA}~@xrnA{$&AUVbF%+W(hZHU`0ofa2S}BXv#eE&|1*vnucd(XMAV}@&Smn$NJhe;c zR8BEW9=&N>w!X~5rI%9h>l$-0n#T#jcfGq4Hd%b zd$%jeLi+3x!6mw3_G;9KX)fS}4x^JYf(DNR*UKEFG6Th2LbVee^Ow4*cUz{hTMFu%pysE%g5S$>FBjrYtaxh zTeoqpf1da2qZje5l2|zt#2}#EaE6V*+&MrU)afFF*`yzGkjznm%eV}94d+7Veh{we z{X)GV4k}YkYlOpqmd*97euge{N6Zf&%?-;TesICzzx`faAl_bmAH9l21f0W9-e3pw z$c-#ErGhzIgRkr&U|c5Us*d1V+KtNWpk7%*eWQ{zDM9Ao1Sp?nM?i2=BZr7B*gTLM zDnCc2|HY@@{P6it1g1ZF>25)Y^z8^%M{}cX(dJ~BQUc9ukkvMH-AS8LB7R3(1S{gD z?5H#o6a%}@vyVYH$7BjCe}KO@sE?REs4rScX?+i1zjQYCz570hlgoKqGFeHK?ie&t zEnV?G=poIu0%O-9ioB;aax+~daGnl_uI0M=f;kB6NW~xTOv$pTr6bV;I?+I_Mc~D3 zWBcmaP(V>gYq7wnx;=uAzkGSB=X36D>4TT<^;i0}3XZCaTvSY{jRE>Xpe@&oIpBSz zS-89);e#cxcCHO&t^*RfuAb*uQ9L6v&lp=Z9PJwjHY~;f1A`bbVX#o>Xbx`8kszzQ z740JieVpoN%8BGfnG=P@ifjwFDWo6*_g~JTo)L7hQ8c5@Kt6LZe%*;Rt2&6(1CxegEfx+>*;aioO9Ve1J66BW;>3#5g>~jN)m(jaA~c<&P&f*F9PQNUjP-RLxX%zq zjDJZ$ZFN|aZ3D&*S*~ig27%N$b8;tkYa6K~XE1QjQxQ5#i3pH(+gZZ!^>wGp{;0@f^+dNRk3vKHEWvCE}dd@GPGQKtvvdUP!ipNH*s>fgGo}{Y0h0 zGi%RUB#t=0#DL7$!9&6yPAw2c=3+=;(5_!&ppF2mykj?M%*DN%PIKM{b+lgL#;6_H zLklXQgq3C}vV=C^8CTBu?c?II2Q zr*^4G=Z+#eN>`Q9`lu@`JI_9O#pjl(nX%knqyO&t<%@rapWZ#adyc2i`_sqI_gW8+ zUc|Q)`(s30zXHZA#G4*5!L;juNC581n0V9+1Rx1CNe?$xCj_L;rf0>vaso0DzrLVb zW@TH-v(+3@KF7t*&)!z_5l0(%n+#CsD2uO%b$+?ny*g?aR3Cm;(*d7xC4-zijD0Stoma-(ie6@kP^V9GA-F@chqnGdXm-|(mR;w10CSzcvd&LFC zYANru24B^gqfOu4sf8{S-K}g|>j-O!0}?Aiw$Z>9v^}k^t{PsvLPKla5+8P=!>OdM2NN2X$U zeXEMdkMHC8!!F2Ow%@ZlK6(M)^2LeUqVDhqII`1`Zf4<)Y+(*`K!M~A5bZ&Wxi=ms z&@xEwu;pE7{Iwi!F<|6q3)BDuVHRPtW^boYfd(=|@wQ;R)@rFrYkb?^=PO{UK{5^S zgMr7N4Td53qyW%CV&>`Kt4r@$CasUWT=vUK=jz_Nutz1%J!C1bb|77{h2IXb<34ch zfvkZkPh}Lbx85- z-3@L<*?J(LLO8M*?*!ynDD~kDZYIDCk#@IkkKw<2|NMSGeT75Z+0zHF-7oLf%a`%B z8*J=8VTBj?nsZ!PDl;+g;Df}|z4y|sH7)SNxYfB|*G6QH)9}9UfP!_1Z=-of?gC zQEh5RI^tZTAs)941R5)D(-yVIXov^_Lolh0SdA*G@YdP*Pr0~l@pFQQsGiBZv2J5( z9-uG_!74#K3*eidxzE2~xco)_=+F0Rrw6ay>%`u#Uo1>3RD_=~o(qxOy|y(%gM8w8 zMw)xad-`0^K2cpzEi-LLn2oS_fRr(yAI*|BvBHJuvEYmR_f{t#sxp2x=Z#rbrSO}PpKJ2V!2>(&ur#DW3 z1p;%rh{}yv=N1m36N3?WYA{gXIx*T=;G%;*FuM4y{QGa-`)~Hs{ekPF zSMJRy=CinUN+rAiM_)5A$wI(h(#90&f-_{Mo;D8B?F!|5AVMiR;(<>N-q74P4Vu$D zFYAd`>_l*~`Y6HalG73K<$ESbCYXTVwuTirwA=&q)HZsgr4OXa!=a$QaZ;&H*1(v~ zq^L|2Kf-hkE6)Ug?7Fz{OL74Yim>H43uBWyWJmhQzB(@`57${^q%NXnuZYk8@bc3q z^!i_(^5eU^k)MxVzuPI@_fn~8ZdFXdAV1zCts|Npta{dd`T}0JdBF&M3PA+Ou1it~ zZ=h{HJ;9%b$a!bhWreR05z!39-~Ctp zyD_JqK3av&sO^b>ThOGhlrz}~ucV;~gi#=^67hF~H*>>ZBjy|((H)dcuB}X)rIgr0ZW7>y3WVtK~5xRir z)@@CbGsT60TpN0FLL+{fShv}l=CsZZpG8gG2+Iw8^er6hN@PaGoFO{+-hTg2|I&Ud z-;-24cv0Wl>_idexbLOe!U{TI#ds1KA+lJrz^bzz5REiktFiG9n`<`uar+u;jSzA&nNJv?| zFTj~kNhjH3Fd+?fHzeTD=(A(kO{REv))a_`Ci1(_JR!5?6e0XTNy|205g}F~W@O#NaeQ>RREk147qBjsY`@b7?&~;_pr)78u+F zqS^&GZmf$t4><$Umew>kOrQay9EctOdaIfJhfuCWjDMcIPUvke$)C~lfz+9l2@ZN*cU<8;AS+b6f(2&*eziUY4 z?ga;4VP3p+^m}{#-@mojzrVZFk6zKYk8m_+ui%N+XEYolh^^;|HKP$7Hu;>rvaDws zLa${N*r3j&-o|Xl6uA*1NT%VQI9tg(%*DX&OZKIzS6vCD7`k}mTUExZwAXA1*=V%J zRJcD{-~o)*szvw}+3UT@9sqMsZn|}JR_};}<&&+;STKz!L^PveM5c?Rja7nN4-3T~ z6#ADvfeh6FhBxq;^v7u5|8l4QhgUm&KJOhb^~P2|dP(2fY8i_LHxCTQLi&bGYnpFp z>#qshTHrFDSw1uSa@dyBhO^JwwHC4(IR?;SyJ6sipxp_eM(#DCB9Z~C%K{F3tv#E; z__|j&ewDN0#4gvkfZ{mBf{a$3&4f@F-vv4eSpitt*-;Z(n>bONvf((Wh57bsOfDOU z0n_xo_L_jIW8~|2x-6F7M`Ie$ogRbQtbW!Z|6;5E*H>Hp?)k${zrSj;A3pqq^6bZZ zI^{<%?OR*!rcghxS)fjhedxmXDLe?wI6h(C1~y?ZVu~Qt=QSLXzF1ucNMfb{LT&`E z;j_saXu{K~v2llNL=eNWo@^}~ZFz4#P+#882+>o7d?>Ft*macWlxeF|AkKu(mE(4Z z`NUi`khi@9nHS7m$AlCu7ucE759q+X_g_KHT#N9jl zKm7|^{{E+zcW>_bqu2JWJzt>OBVQBqnX9aw6^ECPBTae-LvXX}M3f$B0bK+PNHMRq zdF&x)FI5ugt{Y!19UqW{g-jXd8WFp4V4m3p>P`&*K%mtnw~sJT6iJ$l!5F5$dpo*)n`Y1$B=C7-4>+Eh(#efOi2G@a-lJy*tueosUB;AMUDRM*Su;=&yli$gZ-xeM~!)A2|#HtXJa<|Qc| zdCu{2YaQW^oZu$$Kqwmn43H#Y)TDa(&p*A zRiGAxP^LFQ0wi}x@8;bL{Pmmrzuazo5ZIHH)4Ji5sXm^d2i|P z-unpMEj=}z_}FT&S$O(2o@+kAr^DoE4_~w8=x1p(IlzV>Wo`+T3ON60ZC;^C#e*>m zx;@fCXkQ=*+a}KCh;fAM4ENbUig|P66|EhDmi#!bcJ!h&`ZdD}(sN|MIasi7&j!y< zV2-ePw%uAzNBgNGZJANs(bt*{`4u|{JbB%tZ!}iAPA&VdGB*&%M5c{ zij*kyAqgoud+6E7$JJH4q4fx1c2OMKNKoltgFx|EkiiuS1jx`Mtq`GeGIM&>s-a_? z&E0DZSRRXRvj$|W5n_-)RSjvOBpX^qVnOCdBDV)^W?epyRUxP+yj@#P4nQKfkfvpPygyw{LFvqZjtA4JX7^ zl>0%}AmVFgA}G=pl3iyalRK@W7Y+JeURhtxWGlfn2FK&5IwZ@8_i%{F*2S?yg2FCP zqXwj;YsM*PXnlG=j}!}t)M(+6uid5gB!x(xIf?d=Rvn?8pP6QCgD9OyxooE5R#n*Cy= zp4K}d)p>yLKcMUs-N-{i%LN`mLFg4VT<6f-?(%|ExwcYBZeO4a^_=bQ4gS`N{xVkk z{aXdwgO~Nq?H=BmSgYNnGu&QaYbx$hNY1+;=%T|(jRp`#Y1y)@aO=sz10eXcQF9*# zd-IY}D4rU+n0a-8Qz@u<_YLg7G$et0ch@%QcDqrG&gHZa*__OW5UirB!H&hFX+rz8 z)$qIf)>ELVk|0S3fJGU}gUHhc&?>w)J_QG)`XC`maKFzQ<@o+bt-i=-q_>7&clR0o zx@rD(yMO<7b^hQ*eQUEfr04>`*L2>oW^xT$ke#wxvq_4ogBx;nmfEJNbUO8uc>9Ab z-$zFaY#`DLCpkVh0=k8nadRu!(^tZ?p?<+iL=$47w~xM8YlWzGIt! zn#y>7AmFxUJ6zjH2h=8Q8Ts+<=sm7iVte>zN9!*9^V(CmEr;)3Ewj2?7`tVO*xfF*`w^e7i!F0x4 z=Fu~D&78Z%Y8VMSq0h=q(RLeU$D|3j*Z^{#!_igxTxRQl9tBj~5^zsO?9S-`2Cwdm z44L0^hb~0<^`B)$f1;WCJAZjU2>}rmk@DxXQ9)@=X`EktI1YV!sa39|? z3GIs8w1fOpZ($huH_zedi_%`i_|$iiiR!e5u~_HOHj^i}OHU~)xqF-4C-+H=D9$?2 zio);N1@cUyI3|?PdufMpE}ORfuX}d??)k%@@6Ya+-`-P!K6+i>ZnFR`wa|&%$b<~| zO46dZBO4Op@S`x}l`e}g06bgNba*^q=Q$~KMn|918XgSHe%6@~GV97oy)QH`$2MrD zZGx)`-Xq{(?Nvy*b0NOK3&g2d=AHXgAX6CUd$}Q+sgP{Yb#!3gR5zFH>I+t0p?Q$m zq}Er7P1twwHd}l}fk(w`#EY#hKX})*M57Kuud(Z2SEPO2?`I$M)^M`j?qJ-g z+T2KEP70Ff*Au`^Sb?~Vo`)UAB{EPJCs43Msgb3iogPf~DdjukzYbX%D z%}rGndqQH}`)*A|yP_pr>J6VA{A*HLGj;=my)_0%v%W?~-Nu{)z}<^0aykYD8`)h_ zy%Z1WSaiV1IXHKhE=g$}04u0+n--F&kuoxOQXd%b1B{IUm%D-nIpG3;iDyHvIN2Rx znm{LQ3D{e19m?mY5BcT!uh5W2^Rl1M|PGnA0~+?QLRulp)KBR2>g zKt@T6#AKSI<Xixk&N=Ix*sBWI9i4IOef+!Um#6*vFGxGT$JBc8+PxKT!vmppH2fQFabAHq1V=RL zoPeIOp9%as1M;a^(59NrbI!t>12L0$qxL+91kk-MbIqC+K=>Vq);FEieXp(ox-Rg8 zeg+MF#UK5%ibQ$v+P${2ekBR)0}UH=XG1oae%W$OpvBQdpXV@41IrYNl+Y!ki!*gD z#?*xYSD4!s*T-y10aX-_36c2}CmWLu*5cM6)?J{@!&=A*UfnvkRr8tB+YUB@*n1B~ z4onb|zY9uH<&ID=Tr#0T@Gzfh3*(!H^i~EkLlM2ofU>sHvg4KHpys9Y<7|WT_;kdv ziOOorPLxNnoqfBf07Uq2_ve>;c8o`_-K}@(yU06oBvfWi4)FHXS|M@-B)EygsT5I%OXdH@*p%(dC(*#Obw@dY~?+NHdaH3`@7 z6$>%t@POeOf?CFNb;&_JKK;M`zQ3&3|^}0a*bA5JEW`U2MS`2%Ob6`)Rq6X1EsK0k<;! zKd0>EM=#y$i}mZbI@MWg)S}4;V2scR81kkU>rfDQB_eHPE&z}q8AC*ix05VLSqJmT z@m5%yVN9$x5FMbiC$hWIbOi?LAd(Ad5Z(sfZ@@Ud%Gv$%g0(+-@$SIdzo#d|+ub`R ztdtb2%nMJdD2ljFjx9BHLDTN8v+pzKf@U0{EORj(*^%ZWBm$y#)aYH0I`caC;f1k< zRuS66KAT@r-5~qwynU@69W{Ev0(GHZ3pvERj*D)=5zL;_iSQOs5ZTdLm7*yzs3s8I zxw|fFG<;4$Y&h5iHMNf%kmn(%KpR4#_9c^3$DeP79c{O^To9uXNYAK-R;8+D#5A5MIn7{Gv z5j5?+H|m}{haQfSbOnuWwxKqVvp&`?WDqvJ`dDkj(ErP0``yR%FZ=0}f4RpRe)Qtq z;s?IFnXk~-2{bEkUq&9yhE&XzTk*&WuvU6Mu&!|I4qZ_nr&Wg<0mL&$;!Da3)oNb5 zwoNBuR=Ck0M>$Zm%EEzKg`Z_fsbK1mu`j~x!H1ldxv71l( z_s=h1?&cglc=6t{s4ub^UPfIUf}eub4(&SN7YWt_RmSaKNNq%B7UrPitiz23;Db~Y z^5L9)tyLgWb>uXSj?Zc#+>!zc#}RXa$#FVjqH8-Q=(j5REm;UZHUZ=geYMk18_EN& z(17(@!hr~tl5rrJj8;RZE;@(Hc>$p28z2?btcijaLo*qrwCQ9X&a%~qEm#+T;80|e zAk5^pb8+7Jm#6gn@!lc)=(T%mPn!+|m;re-8WPY>Mr}d{i(kJn#-@41F7IWdM9#Cd zQNctd(%Rg-cVnUH1R@gm%-JyW=*Roo*@F<6fk*=QI#CYJZV08(eLK`^BpTK!z*!oq z2f15r-nh0%m&F^#&lyr{g3q&#NKOcKbO$wKjU9=vbuI&K5Pf)5%dHI8ZV*~o-B%!< zy<+Ynij)xmNK7(#&CUSg9~+)@ zya}{TOcpTPA=nb5KqME8xl3#qUl&J#6@D$*A zTwk$4;NXBIwZ$M$UFfw{a4|Y!Yu0bv9XIC?>OY|}uSMPE` zH+ErApFl7$Rpuo+Tjc;tLvjUVG0>AYTl$yRmfm~TK6u%F`2w21>iX>yo$P9>d`$cx zrCvTcEsfb$v21U++LlS8f$kWHDz}BFpqI=NIgM-*0w2aKZ|gW-1sRbFhUkV3Z=Qtb zqOVB^qc97sVYF8$wNzlB(>pp6GFxc4Y}#Th#ER&X7Va1IR$B%6Ck^*)gk1zzYxE}uGN^|w8!uURR3e|p;g`6s_Oh<)?| z-a>qSmd3F_yEQ%WNLVn;94J0kYqVR+F+X_MBMzeB9_qkuki^uYKI*Jt2Xl%Dv=Z=t z(egVv5a}mv2O^x1;GzT6eEbyxfATy?`M$kRH@w(12=@U(jt`lui9?{8iyaPocf8bcVSC4!>r%sObOh z+Sp&eeEjhA@&%Dq-$Hty&mZm;!Vg}{w{ZSvP3;@1U*Qf=%F3Ove4z`pfR0y3rg-g! zX%fO9GO4cjnh7BcdRL8Rws9yS(_#=F5(tH9PA5dcwm=N-qR|Z^bw-4ZIcd8sgvm(} zd#MZ1KiDaeWa@%@rz#B5)oA&i8QxhWCh9}SJwE#W)adrmkFmr-@8zMy2;D7bg=jW$i-+SRadfjfT;qTNuNH{uz z3*cTI8y+0I<5s}H=Y1dY)p5rQNCu`d1|5kA>*}MiwBj0dDLe+Eg<*cit9%F#0|{&A zfz{D34^=;uI_5ynG`mnYY#OUthQE^Supy^upbK zp#9shT~9xkQDGc|k=k$@FY@|0NFue=K`j8yMfOqxZ^TOx zcd}t|h~moC$JuD zTUu+)H`v-M-8Ha%i1nYeX)LR8!k~aFLNs;HzlcPh&dJ4whIvFH5QPd#~Ha4$gfCS z@S);>M4gHXG@Z@QIkXX0V=&cXd?<3p8G-=m3zh(@I(`R<%P8e~TRa82=6gF-huSgH zh&Yq@azT5bauwe*V$HRBt5&ACT}5^?GMZKhFyTV28pvY=w`wB`2jFG&1+dM+&}D#R zCP;?sX@!|j+Re`X#k>96d%OAQReS3qZMcmgRNt3k1HauwW&jlR4Kf{6)YoB7(>GCX z8|f`4I*ciHth_6}GI%YqSA({?Kjg#UTg3=H2^o3fVPwjp@q_d`rE zT7^Di9A=%HhgO%vYkPD>4-kgzl;CY=oDJh7t{clrT6zih9Ikh}QZGo)L>L1#K-EY= zJd}=V*c)3z8+pb$>-LTFcb`7*cR$sBdUx;aee~Mh&SU9k1@T1KaP__5Ak3(-yH7z> zME0>UDs+${d54XorERbt7r`@Yy0wTtDrg*p3bjkV0eD|?uzme7&Z5QvtF&p`IXbz_ z>hM4GSI?U!=>YEL1o@=RW`-Z(N+xS-Ae@#DVx>7QFK-;`SzE7~!_cFz18c6$zCAnM zKgE!I0Z}7Owo3_ut{V`DBs@VgRp5>MibDP6o`Mzqlt1qL&0X#AW7qDjfQ^VYMmM?w zCy|ZDb9BD=sMg8A$zH}HkmHnLFoNWO(Kq8?mM7=gKvOOJRAnU`rwL88CJj{dKpHHE zh&zjO9p9kyAs7xXEl|2zw#lcWZ$P4MRU(_yZGtp#s&SN3?nSo&N3bK7OvJ-+lH^_g<(E zUb@$x=~pET1kz|d&H;Kd9KFqVbjU+SgO+?8^y0!hjx>~w#W9j7mTyFG;@dfjKbEnJ z!zav4Xix9yvs-}(g7yJM6o7IqeQVU5jwazCw%uCE2^^~mRLa=;Fa_XTse3_e0`brq3J~Rv;YGY3=Aqe_aJTgvqA55 zCfPr}eEjKi?)U!bDL>X-UjL)l@^+8q+a7Ncyy?3&2sBHn1e3#Y@x>=R>H^(!>~-eS z9@`w&RG@>>sv~A7$8lK*fN`IwQaZs@1yKOoRx;p!d|1vqOUh*#Fu z=d{yGdmub>_CZ1GAbSq2QPfQ(+NIAEKHIX{ZFStUfm;_z%Q8mflS2~HopaBsDhY>*A0es=B+v;NecJJIck z3&PWo0ph{EBQ*eV@zFO`2kW6Dp?kRm?*0&r&?>_5=gtiX@wWoe#v#t$sDr0_tj8#HV;UgR4wLfk~H7@=FR%8fCZ|UD+OA$u)Eq(z( zo66jwedj&7w~MI|fx~|^S$zNl1Y!1Gh_)W>2t)-#y%1n{a-z*0$EsBX9AT(afK2SC zY9td9f(sO8g+_2q&L|70w3F)kL9<=`1yL4PvcVg2cah|NPDq%=?)Am`jnTi)Mv7t&1IrTWu&aP7)YeA!qX#A;!)Q10=kc`MrrK-l-3&ZOa9k6Z zagN4EcOAJ54F`ZBXid{wptW6Fo(na4X}bQ@R(Wn zy9VN)|N64d{cM^1dwAWSKL7OL%k%qtt=~tl;%(3;{i=WCNWx!Dz4z8gA?Mm_oC-F$ zUbxXo;c#vf?%aUUe00;{DjmrnvJPlpHQ}bPFo72DusHaRrvqO`*eN z@GNzTJ$r9;HEGy#ojr9_%z!SNCUTQ6+~zMo*z0hz1A#U7=@@Y+>;Y||H^B%5SPq!F%Grkrxyii52Y~BW)}*w$ym)ikU}*0=xDYeD=3;_! zr7grZHUbO`H=)u(-@=CtpwjtvYWLUhJ-@M|4_>%i5rzD!f89}vhDZJI9k%R9Qzae) zhBhysXU;Zg$r}B1TfU+}8HlO&Md&+w`@z||&uG8`wB9=8I|&Ndm5*2W*`0Ie0_hK8 z0Q?0(piq7lAW05y&AIN+?XAbOAZAn;b_7qNmUA}8^aCD7upiq@#n~Ixz39?WD)hpWZnKKrYqbt`_+IxGs249|2s-Pyqp=ckczKOsqVYRT~80XsvBKTZbX3A%NN0;r@q{ z2fP*q`*C*e_%Q}mCV`Ekgrh(A$aYfYK-X!l)xx2*k0H+B>(JV0j*6a#135W>@F9L_v5!=vBg2 zxj^X=Ih=su^Jz#WVpWW^5o~f|;P)n(t4}0hD{5Tyh#o(0ODs0eudrVo~=oslVz!#az+M8v(9Zs#j75Qatfcje;gfR*+D1 zL?SS48jEDFR5)CWj|CNbQnwA9`uf`Ifinxrr?VNTMZO*_I0!qj*_Q4-*1FY6{5L)zT;5=%3oxN*yxt>Hr=$u zofyZXfv0WTl`gUpT(DrX9dn}8968Pu2*{|A1!o=@tRty@TrEbTiE;JHv7jy!LpIXr z18Ed8i5udHG@Gvpi6ZN5!GwI~+UNPhe){zJD1!{s8=)todn&sr91vK3t zkFLd(fgDqKAj0=;uaW!YRhT`JqGMm)^91LbdnORt8$muoA`Lm??E7%%6h>IciPhRU zfv}LMw&sbYg#~XseL#L(kQW2svFj`}Vl8D4w0e)tac-N({|>?1KQm+A?GHcPHR?Qi z5nnf{zJ9o9WnCYN_fTgLzjw{E`B-H~ba}M}0OEqLfT(PnSA(c|#z><%J4U7mkh)+; z4395{iYoydgLGOwK+Q9loMDn#*7wO6X#c*-X2!LYyw{KlFm6oYYi~$a$jP{gS1?7T8q!g2D?>_J=SR%gGQX&2kgK9 z_SKeu@qg*lee^26`RN*}Y{W|J3!r10kz2n96ME{oq3a`>=)ZfS;p=8bP-`tl99FKl zxR|y3MAXWGKm;UMz-v#;L>@XZmtH|UwYn5sV@R6ub<2mfD(EW(6eQS3hZt`Gx5$$QuN_3WP6{Yf zu^g!lJjV2tWqiiz+u;;iZADvP(LvdZwi{x$LJo|n4fe#1Y24I3cZ|!O7VVa~3Hqo5 zohu*{auWu#gWJdilm)5Pv=R~Wu(VH0!Vd&Z#7(w+dgv;AtfmKkmvzkciaB?K$uW^e zmPmZkBlEE%`TTLMm*QmJ`z_1Cmb(qA;xd7C0FTwfSQmf602dqLVp8|QWS**s0=#n6E z^ko}fP-zXvH2@Ne04M=#xn16mL1E1c(;?ywK zvME8OVDwMzQ)#NE$SvNUxx>uNcokJ|7`mrs$^6=&XpEOnVvkjqTAE<^3kzlk$y^F) zka@kH)tyA5*>PJ_z=@^?}U22}yx?FJ|ht32Ec7F-A0}JQyh8hC8P%M0_H#Z8FHV z^FpMJxzhSj09=*~9cc78t+JKNpw5R=UU6budefnBUd_WoHvIg_4gUMzKEFJF`S|&* zi}}&(`R0ebXvw7ph2#evPF`IT2ySHAwH^k0cPy!)Mu02<0qWfGLsy=N{L*MUJ1?tk z0*T4B@E)UaKj4WkLQe`mb~0p4=-LoRzwEZ2CXxb+qfhAzT(5aDI~1$KVJ+pvSL?7F zkRW|ss4qLzNT-F*+kIbSdOmB8MxDZH+4CS_81tx&nM)Y@D+cbGYue)z)9u zj-P(G_t`#p*={dj{??YHaf}tB?%a%bG<2|M?0{C78*=yLSd8Am&F|!Kaaw_ql#*R= zRb3&Ka{5N#Y=Yei#s&^QSrC*!851=MHlCRn>+C~AeU4XZRsznUP5h+C2ErQXUzdxqI6_di8!eKd@iX`WbL+P=}5MoM%;UQwDHza*i+K z0Z-X=rzgP;nUcA7?jo*|VPIunnbBjQ@wag8pADa<*?`4=hUR3@(&49*4S3!d$ulQg z#O-xku>`^88B{B@Z(gnV3}|f-v!Ky(AD$C1rb;zJW@AGM*3uTzj=90*IAA$;&Zf~X zNA%%N4SCFc1SU5_Hb?zX;p#XfrR-rQA>bBT;50+blJa-bv(#Bc~a zF;TfzEOvwIfi8I32Gri$fF#0E{U=a10BJ+Z&;+@(3lUvH$geE$OQ9zTYok|56poq} zNqIX%81OW0&vhu_=!YqI1F9b2b}vBq6^(dqagZqQgrcZ{@v++|>W%r;4Mp8 zLd`JS9IZ|VSL9XcB!F+#HPN1sA4DDVkr;5{0v!UCF$O=PS3p`Ng3IRtBY<^Nb`eG( z3`LN_1ESeSpR!k53kl>H@15g74}{Sf+opHn>Z+^ypDdmJ@zdvzS5M<*fBx-r-j&Qf zcuC)^o}jerNS!HwBEa_?t8A)_h0Zt7M28@Eu&98_4}GD2@hUBypzm5d!TAVO4!xg& zd~;3*v2d;;T1{i(6$>H-@~hMU$KNN8xiE>@ zl-ny9vy`k8{pdPHvqbR+g42x!q^H>?bpb4m^AdKDwdx^sG2Qm`-DkDhOZK1K>VNq1 zk{>^u=O5neY&?2J-`eSkfL|oN<3}Ta=UGdk!$Snw)DvQmjPdEPe~#!V=kuf?Vlmd5HPilHkXiix`O@?bI_Y8|PfuaIug zgb{Bf)tMboCqo^@9h348dJ?8EC6!h@*D39+9xQC}VXD}=}^#^s1-oR=k!LBB@F zzUgeyxVbZo(yO25HfsqFEoJx^+nE`S9p|Qv2r@ZT1XRy zG;IoALA03M7o#TK5=G|_;XBnK(>F#zvd_3eJ6Q*H@HG+Tlycjl_=no>{13Z;659U$ z?(zHB_4}oQ>i_5N?RqUck~6&<XH4M#IpOZHqCm`ejiWMoE0WL)^iWPBu9BeJSo zr`YVC3;%ZGU8jmo?tM*4FfBwV~A^D(6K4TGcnr((wT%xM-dSXfP>y{2Lxel*tWPB*%dT^Q$iC#swK_< z+clK)&KYY0sVWK!JQC?fx(=|5G7l#5+qoO~`UaicPw$@rQJ?lpHK<1~;A_b#OlU*r zWrsK8{3U250OjeLv1{-?sH4P~0fO8b+aQC&9fZwdYM+*d`0a&xo~NOw+!^)Ib!8Wm zWFFzrrJE08{UI`PcYJ8>Bzk@4!K8bEo`Zh;*o1QkN>6(HnCvm}5}TH10e&@OCQyCb zr5XJ12NlPqsth}uT0<`ow|hvF=0+A~4`PEM-Uk!~)ZG%q#$SpR&-IDVA6H00>ZPmB zqgU^>w*181V(ftcjvPWnc4I)2dn;b)Jcf>`xOue#1Rlu(1P-aR4I`OGEf8{vER{OI zZA}&_bZlz&()EgcA?FqnD&zbN7+ho*IQf2}C;3>6~J2}8( z;8#hEOXIL=1g(ZKbnSY?X`NOOuG7xbV7kNL8byi<{-L$)eUL(=+sU8RhM`$2zEs%4 zhU~T!nXp4UQW-SNGZX~zDmAwf^@+|k0)-wmk+KhkmfH_b`T zsMQWTw(a=EVaRjcxn==;-ueJe78qd`oo9!Llq1Jmn7D2Xf13 zaDs&ZNtToZItPHjuOogYnxT>V$N}rP``GXb-fZ$8_n-FLA1*W_b~oQ#oBks2?ZNB# znlgmUXrr=?0l`+OD+NSv0jky}VgUOfg*%w9+RBJ(Qs~7T05*zbZAW7{qJfOl570qZ zI-Xme4!Ozv_9Y)ha&w;9)TUVsKPFDM}k4hjB50Y{x)Aa8Cztg)#nsoH)k$ zadh7?iyDk3tJehrH~}69uGfbSsxrb<4VfUo$D>QkeVc1V$Z!r2Q zqNA6C0MUVqyvLr1x$VIeXXluBSZ1`&ntM1zgs3IU^%SWhf;dS9q~fvl6vz_XAVGqr z5JP}BJNr+++S#vueILDyuWj$ql!Cx->%vQ*9XraarQwStjYi`QZxD|6lNMc_;Omzs z)QURz0LcQ;(sF04(m|SdR?oErRQ0{uh4-G_#x{)us44Q{+3y^tYmD5BaE}mXm=~g5 zZ2G9Gwp&e@WJk#rJ>J1yf&pB}yX4YN&W__Ld!|M10Ie7!W5S0qkx&wT4QEVVU>E=s z-UK56m{9l|+xz~Ur+NvU@aScHEw>E5XR5SeDH|fCfRPh@?}LvKFtnP%!rPI^iUz+@ zqJe?v|He8R9x+qh18$aV(U#%4LJ9&&3DiU>wHins*PITVM3UL*?!64o{;J*vQhlQt z%qiU=UEw{F163N*>=-NJq zUx|K7+#5RDWv%yCnYL&Rf-kghZOv(EpkGh7Leqc#GDq^OBlDNK)opb7!3%jGU0z>! z*N6+*9_4F;!2+@CJ~3l#v$7*&GxgaR9bzp$p+QIIQm&e|7;O1!WZt5~IunHoT!T$* zNH$beqcse*E6izgj%F}scuBwO5@2A8fFzOtSORkvOOU|kigsjEsIvDYrT_(8R)eLW zfe_9 z;ww6BHLzrJL2SD*oW888x58Kr<^%EN4ixA;OBO^;j6;qfq=D(1wnx_nVl9Bux6kY! zv87Lc`O)A1@XH9v%PP!AujBnA`bH+91~CkmQ|$xp zZ5%Wy$F$L!Y>2eScEIj(Q0oqz9ks9q;($Z3NH+RLy1Y-|9NiAu;gA}R6796I1JJq$ zu0Oh~^l*+Cy$Vw3+ZlSy&+i{Teg6vg`mt;GTH#_EaK2(&1r>An47i7Fq6S@A%7T`? zp@UIpqF0PxCa54@4!T$L9GJssQK>X^4LvXdWbf2ZIW1;PMJi)-qLul`0=6a3>UUfO z#G^FM(M#k)6>JehioL^Pv@@GbZBT7_)#;*6WP6VVQ~FTUBUbE8ZH(f<^wp!0#aQBG z=;8@WKMh!U%=umZqv~^Gl>Xe&k-vNY;U%-_qgU-Ul2~TW1kZG__jdiHJeq}zqlws| zQR$u(mGCt72tO2Eg%JvI1(XXKb@VhwpRz~qm?PZQ0#%|OiMAZ^xn{+I$zQ0eK;H+c z_y2#!_#VBIua+xHHtjVG@dB>MBa8y=%1w3UO)$4TCShFNfqRC66(2GT!!l;EQiH4S z^xD;1M#&I@VUofuwMqm3aF|Jpjp)bdv3lvmDDthl7PVrHMGd2-%^MAZtB2Bz=Y*Yu6J2et#>S?iR7Z0Y|Gx26w?22h&BE%Y9m_lZ^k5(J;Jo zdu;l=!!I729=&w0J+!P-b-w+q#>4~V;y7jIj(Y^ z>kB{fp>@1ra1)x!(SX=Q^9JS>f$XLa)+^k$4I;_jZT96Ef_otW8)9fGMQe71I-wAO z2;^?GA>r$TZp(`Q@b=xO`uJ}D@aE}<_b=6(9=&|8ZEGFOlUQIpZDha#2cNHA^QvRF z+BmmuVe7+&wStPoPpY$InL(0!Ml|X`8jCTASvz_MSI1u&5_S>Hjj!B-KCZLb!f+QS8ri!?4yr44;rgj$lGW2o3~GIe%-NsiIe=`1-w6*4P79pw!cwO%&b)jcGxMhb%lQ~47aIxxA>lS3UvHn7*IRVV-j9J2?({d)Tne*5$W>>;%9UMfgDc=7JP ztooUG5I6>^5xcEx-DDE7}e>>s-FzOJ0m~5Hz#} zFya_R>ln-$dpq<5ECU20@B+W z9a7iY7zs!AzsaF(&BiF{< z<2F$7pWi;cc~{?U)cfE3&-(b%N%+w#cn_-|pP$#>f!%6~91c-KVEZgZ8mA*h5^Hu` z_H@x`crS=wGb;g+$L6L(aI4UbvK;2j`aq{ahj0*v$^=mB!wdEdxJdU>#44#4^WFHn zUOZzF^U+e1B8P?1|^qD z>MPsUTlTe^B5T{N6HbP!P}>K0qUi;kCvOYY#DKjBq_&>wxz`E>&LRmq&{@KV0uKq8 z6qs`B$E3APi3xx$7i4`@+r7h3%BAiL+RvDF$~}NM5`Q*2%Fj2+_2(ITuABwo5CP zVM491eNi(BGUXKvS{h!63pI)8dbPA{LM}6Br=2QWjy35!qOZU--T=FmFe1~=Z9U@m zZ=c@$T>D=?)_LjU`rx&DjsAse#Ks+QF3j&iprQe=_Hd&~_^Dv#=%8RZ43ih3qc-XV zfwy5=bok2m)B*%_<5Qu~j5(qO1*=R;MMo&r!GfL@ z;J7+Del5IbS6el*HuT1z&5gy85Tp_1G_y8&^YA%_^;!&&^9FEfA_TtHgeWXlh2PC) zQLKrca+|?GY>_Ln$s`wgTG^6_|#TRV5}bC=`8^gyXb= z3qXp6>2OryH7y5gVPD!1fqmk(c=)`r-|nZUx8J?!E`9Lw-BM)eb2$Pt2Zl_eb!qAi zv$iV@rJFQ?C3DhsknX$k7$ ziiQB7-^X!+>PZ)02IIAHCeNb=&oswbhQ&Q)5@4Hwh9- z_Dv{dOxS%Jfe1)QA@7NKdm5}Mrhs2Df*2E$ZLVZseit<|z(04`So5I&kAlfk2mKQF z5;vPyg%*}OBCkfbrHI;4P!8lDP~jzFJ!3#xHgwcn6DchSZu$fTNp_BE7|imq%dVDt z-y6{DsY;4wd-roxT!OaY)Vn|uIOwkkXu(do+b-1D`?-t#U$@l{zsjhcANF@ILQ@~S zj`upm&to0i+Yup;=s2bs^lwYu<{7gF@Xy!O1KH|VSR0=!{No;k=DfrYRA32?e8afR z(m0qm(cR)ib-YC*8HDiZlIUEt+2E+0&;{HT5Eb-sG_tC|2Fa-l936ZT9mE!lIPt)^ zPS;-AvS(j`aR}%mkITT&A>!87ra{`{)CJRr$j@AyKirDEU&;q5?QpII2Hn@b#nJ!c z(?0e2rW5bq#eOk4{NN?LKRkUFz9-%c1HE`Bo8{hSwOk1^9J*PfkA}=NH*JBpTz6F3 zMY*@bJE(0e;#zCbc4rx?eiSC`r2)Di((Bqcj=HtEq#AHc$A{9L@Eu^SN~C*(gLd}n z;DZvhV;WO-o4~->tWV)8%j~7+C(MhO<9K6=mYS<%TG`+^AX7EM@DNW z$}nl_O)#^2)>2n=iuf3&&>i2WX-60a$ZW3afu1s9h!?cazAc)ENT-3afztqWtnb_8 zaAL9>0E)w1mM_3hyQeKB#8+n4JYw?*KzbaTaR28V2+eD6-MZEh=YHk)MJTv<15ayn zqpia{=i&oR>h-wbh35%YP*9tX75*Qq+?3Kp`e+)fv+ahFgnyM=D_s>0?~~_D-yn~IYv@elyN_! zllkbj+BVJGoCLUnS_|_nU3DG7Ew+!z6YTXpW&^Y-CVG`I_!zh`Z3AG~z0J*!~yJ1}5=1XQ7| zxF6$i1}rq7v*~W;1SeIYn$;2sd=T&=JJMxm&{xush8ol#O=B$L&b2 z#;k=Kr8P!ucTtNr*9KX#?^y)`;hqg6V(fJLmGwAQCKu+psR83Wp7YecBt}EEkbEY_ zg)0Q9ppkQR5}^*Px5)9B+RP<`0Wf9ywd=jsU?bT-8ArKimap~vpKnu27x5DVs0Z7n=V6aQ1|E)p)4c%8-azQo*4 zS$JQBvINpD2opJjH7NqkHzFno^VfAtXeEMt#GZu!g7w@x3ZnTob#>+oamJHSZXFoR zGaw{f7u-8z-A4ZZj~Dm%>C^uB(s%dKYkB{YexB6PGYdJ}Gijn+>w|1z20v;`l~NMs z^}IEFSNfb=h=Gs0!hzH`4=C#=ycLWiV`Fy4zv-bI@Da5bh~n+44rfDboO-OFEkgHl^aki+FU*r$-vgtwprsCDD&PnfB0@C#fup-B zWE>i&=Q#=UGfb!WRh%|qPU?F_zdca>mtQpmUhnrjdJXUQ_W2f6!$GytjZE%XO)nL$ zA+_L%0X0>)9K|luXz_@GG7BRq1AU4Ml!>GLc?^0q1d!bwhgpN(8rd`fLL_ zYJ9>_o7l@iFkGh_;r8Qw2N;xDb%0borzK3!+HU73|M@q2`_=j9M=#`S8ytP(z-KM9 zF~pk7df%6y(177VZTAGACzCv#W!pSCB=Bu$(|GlS3T_(Sj&WJn&%E@T8kK@+vo;&} z&6NlN837#*gJUk6cRJIG4d!;Ag1KZwGNYf_GZTLcK194aX4RvghVIGOCt@xcW&8S} zJ3y5IZ;qri2{~G4*c=-~a4{*{@YN~_NUXCTJxdP`=69H{`wf0|0{YPl`C7*oOMoXM z*)T$ZWWuqS0eq6#+yRH?CAiwGLYP5veCc5}q_cQBE+5e|F%+W!24c*4W4&(4CG0rb{YK3xvBer{Bpp;HNZ?_v5Tex0M8c0*c5KtE8L@E}LQsm+VQS8&K9YDpEuhG$t z@$4&=$Gr`(TE}H$0@n4mVW57A*iX#9Br(|^G6!bEEfJb%6c|jOnQpPMYNbnh))2x_ zzb#=st%d={S%&ZMAsrFO?Jg3B0l48;z?5rd*{R+{Ts(Q*rY*kt>7Bp-^H-|f{W*enG;}+6qK<4A^HHaO&R8A3Y$M+`d16A5;XJgnDGa;I^ z&+=|GYzyYShs=oxClv~K6I1X=*)%l76X^!DJ(p6Kk;5U&NpF~gw(4-(eYQ$VpLWo4tRFHN7*tN`*!j}nKqGiV&SPJ4FNdxTMgP2 z@<9lIBOsx~r>M2qSNUlTj_s|`9_(Rry6k2c2q(znsrOw`!=-f@#NjIL)yFoXv8TV2`rl-Xe+1JDkJMfCCyDznv;S-@yP+Cgp` zxPSNK+aK#q`irW($1dD&Hk7`dUxq0sFq|WE;W@VfWA{okC4wZk%mXtsIu=Cy;>Tl4Rp3j59Zz^@M=S(0b2S@hu#fGhc%#WWjftOWX6g%4&QF5Gh-aFt+n<+ zlr%$7S3GDKWT4}jsi(K`(qzDcm+wADF3+!BbNowT8cdlX7CR9!fP@`s zoTk!RL+qmu4o53ycy~XXoX0zb=0c7PuP-`wz*vA8?jSuZLI?k$ThJP3$-WbA6Dwix zJZ|HQc%&4jI1D&|xEDmA#`f+y1y-hwwgBPQcYG~qRKS^ac2bm?cpZ3EbYFMIl@e=p z?F!PvS<}QF7)Hjo)E&Gafs&w2JO#_K=rr@y?5U*ys+y?-CPey=ubK}?_)xCEdL zfv8~l4qL{s2=R%*QHZ111fdt`x^6VNdmjZ5{=$bKJ076Ty*a$8O&ijoIO+lSDtmb` zNW+OPd$G=o*+jQ_V;EU+X&FfAL1QxvJg*MfiR>i+Kx6K8m*zTc;Ln272*IR5VfbgIs(~XbOmL90_osY zv<6zY>HtC+J7?pKM*xGe*SJmq$Al~?9;&$zQgXb&ow-dA9h(A{8n^X{f79MRdJXTV zK|TY44xGr8>kQ!#2&rv{*Z>$X+Wv@%o)0IthdU6*C)t17%n6N9{Pk5 z(6H)_KtlG}fx%0In8@2OAggHQCXsy9Dd3;n!Znrg-#SWz0SrW^KAIhlViYnhMV>{IWPu0N4GS; z+g~)|kWKT|3fV&(^#>-}43nk|j zF-4>~Ksi1oVx+*#@@zvmgP6Qa`^Eh6!v22qELDS3E#7Cnc(Qu%THe+x_*?oMHb-pR zSbQphrh%gCZVxsYS&3bPKXJbN1i z!7Y0XxV5uSZC$}Py^4By`-1*=qw9I}y4~t}=I4&j&>@YNEKcew`(Qp|%32`!DQ^!& z#uu!=YZ&>8&z@<6ao*uNmKCU)Iq0NQkqm~@oaa^r_Mtn=vbEqbn}_F`f>C|8Lzr*A z%_NVDMIFquCRgKHjbtNxa;7^eMzK5^pZ;vj-mu-dv~zUIC3;~@Jk`)R8@Ow);lN|f zw*7#&C{`1*j2NS)rtFA4Muo^6w~>qA0VjhP@{5eN$FAIMk>Z!ntbn`2sW}>l%{`Ft z>*ZtesTnFcX8`&KZou&?^BFPcgcMnNOAnXB9XxbasE@WE*v!Py^9a~e+kqyT6prNC zn_(ihx50V`mj^*fT+|NO(vHS>+v{MOpg}GRxWRH7+d--0?AE|Z+6#z6^iIg56)+!M zGPZPYBow&~B*R0=sIdwnNv6YM9fMNbr*Hfl{nbAEYxBqNvg*T|`hR|SXF3%L5L&7?SV!79C88Kr)*Rb8r&KkpYjn2H=h!R}*5vAwd z`%sU>;5RKAAj|`I*Qv|u)p?!8(s0B)dC12e_~ke21pKu6VMl$UayA#a?6)u7 zZ}!tueY`Sn_3`72fwxC5;Qf*Kxu95yWL(<-!vVYv%S|$VL(_Ml?~7tdZ?^lXCT@yo z2Tb*syNlYyKi@%baZ2u_IS3PIA=Y4r+Qqdfi)~QPgXuFMV z0dH@If3o(dG*oN6=20Pm(puG!&8Z~lJFH{CuOy_MC zih*_^K47%9y&Qe5MU~sA6fdyV=B|0AtU+#$j$mI?&n4XL#DpaQ-`HzJ1adMc9)NC7 zHF!Z`!dbz(;=s8@ebC~CI#la*Hy!Q!hy5-p-@K-*eDwO=e_)@9GPyd6opWNW-b5Pb znr-$gSQZNPyl=xYj4mkvnzurK!GK3mo_%oJuzyZyQ*1He=o&SqvDKLs-mViY{&6RI zQ&61`=vQ^zK~VqQ?dzl0@3qb_pTN@^N5THe*3=Bj3`C z=fF7(rc1xePyGIQW(y|pmq-Q=Ub`=Q`uEt=_Sf%gZ3y!dkp*w1F^Jy zB6e_%Q{YbzJur8klI&BE_(N=RMbxO11t0G?fE?BadW4%z%f%bKf@2O;1G?h{x1~Y*O?63p7Jl}dg;oe1(bf=85FV?` zSkNiVMwnE^IqMLMW;FzyJM+|A0N?LE>`&k0tNLOK_OUDXT9GN&)J}75o4&l)H7a4| zoE;#z?1XkFt94iONu* z6WT1Ph*}MldamAzPdt2MsA=_an=RfwTI`H*y841bu? z21+q!Tv)^f@D)Itn7CX)K!W&OvMdi>D1A6=kl!71&O8o-4`K2K+0k3%$bYy(PA?Vv zAG~a@-E5@lY{cJAH5B1CK|$1;u3FOp8eG>10w#6AYVOBus98h78BY(9FT5D0Q|sCm zLfpgMdK$UIDT7V0(gx7jn4#AOQ@$}WHNoAY_&xLwa zyN#GOARaD>ALr&gHO!~#&LczvZ>t5C11V7qM`+6sfuN-hkq#PN6EE;~P>Rc=AScQ4 z4fbN&IS7CLz5<_MLm$EX54z!}C!O2G#Q*v9(}(9r^~1+{s*isvFvfp)`|e*~tqwnW zL0@gKYY^kpZVby$n(C^F#8?mAzeL{lyOJxI$O_a9Sk76pAYEOu)hzGpdph`!F<=I+-qYPbMD|pdS0v!|9w4u ztoZ5WC-~6|_-Z!M+Kv@ts}D#g1|zsTjF8VEw^3Tx%+M~7c?`kKc^2OM1W-HdQndC3 zog3`}d60Ebdv`hwk_|M@4B4ZNd2El1H{2+-V@&wpxA6PXtM}S8B{f6>;pIsR0YD54 zCiQ^Z6zL{z3gb%`quK%j%&d z{g7ymX8^GEpkbrHQP_?N#@%sQ?)Y)zVCt)#4w5A< z1>Hw$7-zuOuhfAbxaIJzNv)g}_#3n+;WP8@p`KQ!RItr>CzL7f^TeS$)(OZ?fB`fuhW5gmH{y? z_$?6W&NIQB936adFy0nSj(yMEd&EZm@9Y$DI))+W-Z0={FnSXv(3iq8@a0JS-~aCW zpMKo$&X?Ek{}S&%zO<{4UcKLjUD~%~pDXCsQLQLX}vsP{8=pzXY` zYcu`{Is%>DS77oM*e$V3>^N-{j+VHi*VTzw?0ZlST?==Rc5w&-5tD9ya-O@e3k*>S zaI+nF5{{e!sGWiO%6ou0x^}>iAt)3@qeQM6mGDK`IaBvR&X^S5-^GGdlYzbDMMNh6 z?~6jAR`Nrn$1dO9zRu5&D=fN9NkB%<4m7|%(t1p^ZF?s$ z$WVO;20OMVYT7ikA*;g}1ME=8v+o7C#}I^g=vW~40c$E+r#0N0b6%QL8WW`xW#mEU zU8O%+w#RZG*+(4+I4d$ogVEVS8z_3FXlK&$f^PK;MA|TTNQm}pFEQ@3cR3PAbKnDO z=?UiS5T<^FK>D&o(la`-g|xXUzEt}E`#)U!`t$eikxKhzcR$vrk1th-AH9gbeHXWH z`HKs9;s_4ylqsg(=jC?vtqlpUNSdHs!0ELqFq6F--066H3a;!{G=xBS$r(1dx-T8+ zbmkab5Ekt^wh-Z$v*&0rPMkeis-HXXlLGpJT$y|FKv$|9zG^g`d81gfJ;|r`y=cd7 zYvw*mF!})m<(im6#g(xWzM24SqDAT1u0fimOaQlSj7@?hKNjZQ9Ry1rx0ImYeR%W3 z``Djel>a_>6hE4?XxoxB$adjXmC~6yu zf4E@76#`W?FPJXna!<69r3mTzflUMlb(4eM%r59@POCdpEOphW>hP?i4(Of6xR|2r zjOpkevxk~Rnfn^L1R^7(rn%2?^<>&~Rk4JldrFRuU$)!AEcu9peVJ=w}Z^_xgb3qnGfvuVO`+_<2IIqo_LY_fYt;H`l0it}d2^7}ds1_>w6j-ENU0e|LV^pFY(~eVj)x+--xde`}w8JE{1CB&T3(t6?yl zb~9MY)5pZH5=LgmtXh~Aiw%CDu3k0IM)f^}Hxl><->EfVa~h-&DI5xhmNB?>R`||A zDZ;eav@7vTNTz=_xxk4gciB(5XJX&%s_u0p2QN|F!<|rxzVNk6pFf%jy@TEgg(N zpbQPDuD3WX2m{o+?Y&WXCRpKyYb_)jp~4`>7r@joK|f7b%L8z7U7B7pGxp0)HBr4y zJ|fk6>nQ)6*4FM`epx~9@R&HZ>@^%qv?p$KY`r#O(g^Pj#dTj!7&sD5sE}OQt*OzN+4P~s3$J*OiwHI8C}e7AGj z0XiEAt%G##jBTC}J_de;FcVMw;xI=-8@9Q)J^NOhkjt~jO7YRqoIL0B3V7og7KJsCJOdsAR|o9b=|#)}A>V28?q!D)I{h65Uyr;fW)V=G8@Gf|w*t_@n?hTDykW{8^Y9xPa$p+0 znHyX0voo)PO#>}p#gM@o1uaAzuZ&*@j4(~TlnTTJc;LB{^`@(mnE?eUd`X^^7?k#=L-K0g?XSy z9v}rp3O41nY0kND>D}$(K6B62_KbmLF0%;2fL`w-v#fUxMvQFQ!kB?OnoQ`i9sHuf zf*36_EoE-7yd#g#z4l!-0{^GMd&j`6^7NS;Vcx;##chvx!l**5qImy~L4Ehj+&~j9 z+2vsU^YcsVoH|>fX3B+0!wLQo8Ga^8K#S~16IehuH`LYd>{#Eud%3*y=ykgtz4-zM z$+D;gL=vx!m&4+ErsSN7n*gSx8#ny@PO+kbJqhg;Egg8QmR$=P)ccs-yDgA{MWf<~ zgW|h|(`)Pw?ZGhI0rpm#Na5Y?r()D>%25_sYqZlWcJFyMHzLtxbL+XhCIhmTAW#X# ziVq~#s2@@+au@(T4>Bium`Bni#~F zzg1y+^b&sA+W!?>`+v7@sp~IOI1_dWnY2(zLqHXH6qGbn#%@;RoO3VIk(wvOhKG#d zLl4DLcXKpFA@c++7Ro;$(*qtb;Zasy#~utmaBq`n;$Amf`dR0;A`Ah^2%LV=jO2Zm z+S#pRqG;t_Em@Md$L6uFWYRpBta(z0X&x2!n7TwKp+ekboIX1#!2d|Vt%F`YE|CH{ z`P!X2oRzVd_g~v_zx(+9had9&&+oo4ZT;=LeEaUZH~U?FeE${zryqr1oXUCZdVbmI zZ=MMv?c4U|V|+``>4}jQ2Z{v7`)(4du`DpIcF8dY6o_*##_f3`8pL}|1Eg_xTrfpO zqFLMyzC6~@c_JOE6N|hr0ziV7m0M0*#>(2$SS2^_yEpUcq1t-xwvL_NtmEv-JTZfO zXr$q&h}?m;vuC8mI4N_Ph@*>+GxNd+TZt0zEx?ud0OV~laNV5^(+?s`cPy~l)E#Mt z34Y9LoBh9i+3egOe}4P!^}T-Za(;EMgW(!)mw`T`j{<<_@Yx`Ev>~G~2_J{aP%vOn zWXTc7UQGy*JTBSF<+>7wyz;J?NKRO#YC6wYV6$e7X$_=EQ?QBT2r}MxTzQgX4y#4) zKpO$8gG@`DAwH*1aG00Uhe>q6KLCvPVhorEb0Gpb zuM-Pi);j+|Bp-XY*# zK=Po&C}Rx(XgJkZlR9DPT{bV{Bh4fNFDOHFd#2(`>K(%wjgjfH#Zk&V)_@B5HWLN1 zNO|;espL`()(fa1MsiWr89op$9SJ!^)dUGB6>5mZxD_Q(#W`ogg{fi$p==?5ljDQe z(2Xr?0sx8dT*G>%_SJV6l~;HAzkb>2^RddG@|CTA^lE-}tNR(k8#AS6Lo$yB%v{cz zn7ap^m6Qh9RBK7WKu8I}qE^4$icSt|Qn(*{cjOSxPif$)?9(@(c*cA2aVo_Rokx4nBguXj6tu}oi=2xFkKeJvW#Rdm<0>@a8Ue5&x-=JcV6@3 zg)wBbN6~1zuok1OW6Jc!yPoj_kl4N#Ztw&2-CRWwaXEXrc;wKJ&p!!@l*&e2HrBD_OmZY zkc%K%RmQ(>YNM>cB$L$OF@?aO+pQmQDIRx<%cTQ>usmhwqCNMrGawlsX+Z*_L6CsqV1y|P`1_d3 z+JeZ3^cFQJKC^wt42czq;fcw$H+p&dBpu*zc))3O*A?7jjhP$5BXjO!(Xhj(VQ^s2 z1xGyZ?A)o{D9i?qVcsg}Ey*O}!o#z0W(0D@4UAs46 z$l|r_{+E}w`^TT2UK*5t^pbvczqNtgI#|b9BtV^%88OmX9&_(0;19SCOlQdHxF9jf z+G7HO*)am?3caV;#wY8zrL;WfpkkXQu3oy3-*louoPv(_X4AY!)#GZan4*@jjd}A4 zDX;I=v+aq_K@Ai(_So&fDcxs_KAbzSd7|mLthzU=>sW_zWK4S=$d3MxZO{~+Mi$9?nkfaSGU{F!iNQS&|0;XMjL@?fSL`6hC11B zc5ofg0D2_M@7Bee%Qc8P8D9Hc;#vtaHgBNz4p9^Ybvw&Mfvw&UyI9*8yupOlX1YDE zwL|FB0|LVwu+TLzHW`Z7duK(cWd{aq5ZQn)5qd1%`C{zMJ!^X`tSF;w2 zK!j}D9D!4KT@;g{O9s)|$f@dh_2d0dzuoRXzxr%HdOg4XY@<{I)fD;aWV0jOxMe58 zyuM{zwZ-8+;1(Pm)22owMq=Iu!K;RU6AZ$fJgZ&9(Y=`pbJ8e`9$d$!1w?=k9D{=s z1SS}PZ@U{ERp=AFFte&qGsN~T*-$g_01FP{0z*C)x^*a*8Y-2hlLtopdbEb4>ORMO zHRWC?WHxw|`YQB7QmFBsu*_F6RMTUkYe=td_8;#z`;`y(qZjn6yNy8KB<-Egnw2YB zktRouTyrOH?(+nsk(i6{Nj@yt`ylBMFS8uxYOX+!fM5rTW*!R4xtblH6H*0rF$kp5 zS{qSt>kPQbZsS|b$O$9QkAeCo5VU9TzyKa&;HY;-M!lgW1R_jRD$@eekk2$g%gPf{QqJ>l@N@Wa1B1pHZhtn76-KX8CzP z{Wv=Q<0UxcqgV6m6}5#yXW!`I9#~AFIB{1&d(?cK3=Cbev3kKG@7yoaQli6zmCq!Z zB_iUh0r1F%*e~v#-TSPfH5H~T96(QXN-m%gSAha~O8}kaXI>v&e55l5^3lT9Pt`6I z)pGjKc9g)}JENgTwjARlPUSgm=mryYdoYI8X!k@jBrz`Hsck~>;ou((I~}z7@QB?x z{BK{vet!FI^e>mNr$4;}ihT5ves#YK0Ja9pQS-iK!M;6{FKkRYW;WHcbWHaiVB(Q? zOew@ADsUS4tm{$CY2)BK!ObT4}sY-3^$b)jM02_cnpLR!rcxix!BaHG1R z@8$c#A{;IsuoW4-dMf|pZ}BNf z0Vex!$`S$U5Mv5s9t2{=^k6t+oLPIbEi7N}eTxx1jK>h^=?0t)x{#RS3L~z9*XcT1 z+& zX5~D7R8ZI422OwgnSeMu4nRATSAT7{|M205pT2wh?zQyEqgV0kb@C2_S=ZeP4rWwg zEZUle_#%)YK*H2vnb~$?It*AYX=ik`&_YTYB=i_-N^AgqLfIwp-=xC#Z5SA1U<_8` zPcRq`iEU#5@HX688}*cpH>)fV0t4ZkxelhEfci?Jf@C6Fb-2%+=jjL03_4;5&F?9^ zqzOtJ;B?w*3l%I{#sNILcZIcccJ$A=)-GC!^ZfkVL8Jfl=_%g7J8!>xHEi_g75!~6 z`&Vfr>8v#}+LVbIyVg&e7}s0}-Isj=q4Z{lC_yA{g9(C_QL8w6=z;xViy@mBP_*H$ z%9M@)z$N&jOH6_8^Z`zTI9I@7*?PvEDUNAZ+uRo@sZGx4aj_V@5_K`A9Rm#9C1RqX zvt#fY#3+?sGh6uu7wciBeM76si2RO&xm-|Zd+yL!GSPxS+OxNs3w24K`)_Xbs~MF? zFXaD6-5WJ&cH?H67dvi`-QHQxcxF9o??!C+z7!+~0>sY&K|soJb(OZN)NReL-*`_} z$=1ot_S}7;u)`O!q)L%_&LM#p&-3OEx6*+(`|7@};iEsnL@vG>$jz4<9)jJd&hCnW zoS!7QhSc#w;+-8<+X6(I@y?r=T4$t@rQs-a#*tyUfEz)3={VxeIS#_{_pdX4oU^5| zUwN>0nu7W^imlaZ==|%M#=(*0TS4O}DD68gtTC8IV^_m{rqt7+F+hqEaH+F)q3lcr z1W23S_K?$E6t1q>`aRqGyAS^1@{?1@4nceHyj z!l6UXM385UV+IEGjhPE#&n1oLxkvB+`p2jE7$4t%{PfyW`slTL>Hhn=r`@bD zl{~9oHuBMQw$fzO%l&Mm8FZ5ZS3}yk*76DWXtR#_bQW4T8%Bb9;YmAo!ck%KndIa= zjwwQ5;IPK@*;jMN$<|($L&6Z+1iTj@JMJ|*X7+itvK2yv0`KDFIsGh$=5d!|(BNR) zNG9SOS+EirX8i}+(~9^yJj!xlUFNM_E_q}RSQRNA4oFsofXARE=E6p$JVS#qf3Uwza$|X}MGd967sWEhx+chZAnF zpmqg5h{ixO-=uU%?E|z7#_d1Ny|+#@Rvqiw6xr2!mF2FcF2={_t^Zy z`={@J`10ZD!}sy|^S>JmeDqr0)MDcs5&)NDlWt9|PhyNvkB0X`nP5uSc!k(;%nsGz zeT_(p4Hyh^4v}0^!+<2v{2A%ZMOth3?qzOy0xD+k`7{XCsWc7Y}CCcrW@TWGmyVTkk?ulkieVe+!HRK z&Qe`vpM7vyY7JqmMpNYe;Qn8~+T(vG5BTV%d~1svTg!p7C=%iT5`j&DnI2Hl@oK=3 zo}JnPIPE6XT@YzPJ_$~7b{gy;nYO_g{jwI(;3I*#Z6xv$7%{-y-e}a2=*k!khYgE+ zk69-4v>TP#)fsjz)5c_UFz$bv)v~>oi&OJ}lr0<)-684w3IYN!)bl8cx{N$5LM66% zjnYlt#w47k6hv>>OiBrl3{$I{}C z+2XLhI8Y7qAT!0(cTnzX7-j^GHB*=t$-z7#WB#oelx)B}opB(&P)thGIh!PC_kL&} zo^*($tIi8_XWphsgJ0co7DH$fJapgvj*tECzuMqGpZj0 zs#|gj#svDxgKUE|9zc=w<-;#n?};-a&04;ZjYYd3Hsv;|jHi zojFIPEcZb#aA?5z9S}Uw_+7~HK%9YB^%yt?<6>||kiY1=gc(Diz{0__L2A)QgU8X(l6LUh~V|Myor{J$3Zd-RIFwbOI25xeu@ zP?6*qya!6$`!dPrbuK^|*dWb3O{8JwfV#CN=WrBkOz7?5ml6ZI@D{j4h88e8V;yQS z3}a7Q+KPj*1e_G+8SOsFY7E0YoNstZhh6v7YI=5^4Ws5q!OlR~~4VCB# z@ZGwiy=%>lpFs`j`>73JWf7lrk*ikYm{9X|hgenZ47Z$j)x!V%`cA(Y7 zT&eqq#AK>Q{Y)Ag3YM;yQ+gIa@|M3Z-Z=f*F1xoLTP6Utok`{ z)MVGQjx7w#7;IU>m~uG--mv@F%_Tkouo2xNGKkxN{D$NSNC34w(2kGZq9oz6*|3Et zxrJ{hnIAAFd^&y;-vpt3nadIJ~Iq0xxIM-I79%*Y^whw1&h(Dna$bC=&p3Osr_ z-`wUNt@va!Q976h#Jnl^_vmg-n_)`_CG%_z@P?^yaW-9ZS4{+wHAE9#{9Fgw#4M~_ zwU!Z~I+r!joO@?2Xxwc$dDh6@>)vVzxQi3HHk%m$z7U3>oVFQ8x>1v~6eT7EKA^G4 z5@rM}d<@soz`tL$b)1z3FbqYssSDobo#Ie(A3kzgmn4=cJ#*v6N$rm6|A$w$`R(k_ zqu27SJ=QkI@n*oG79U9=bwvnApxo zzf;3B|M1m;-`eI8Bn5`xDsFhUAOe^hBRglbtqtp)a45 zeMMK}4PWbpPMr;szo5g6#Tm40-grJ(3D zAQ-dkI}VnZ*aUcn5C)XcZ1g=T6|`KX2NhsL{r2@9k=lm zoQuZ5F#$j`6H!5Qi9mqdsQv5#HxYF~(7k*c=2oXc>xiyMX?sEb!SD0bt(seHcncmb z7-7UP*@799^H5D8YD9Y!I*+(jJO0Hn-u`2L`tquH<-x1?vJvrB{0iPUaO&u?Ai1w9G?NMO z22}J9L!J$+sqJ;qOnY$)XjJhhI7x7EdWi+}4xbqt(#KQ$jm?qBm zvHF-BqyS&VELMpRCp6O`(eP@y7eK05qv`@4dC$O`6(8hHY8`&>FL9XlUCZ%4~6swhC2qWP*?)SR0|XdHHwhUc>wk-+%n^wHENB zSM4P({A*~V3$9U)Am@n|9c2Rz%PFq-`mC4%QEJX>{@_f71qMl>qcTEl*=d+na&)yO zx_ze~C@d!`<6QWhNl{*tW}tuSqB(1Lj?H!-S$4=$9cf1(S3sCk^ztBW8*4fMdH5s} zvK%8uE!;309b}Hxw-U&D9>Z#`LA275gBZ9Rx2c7DWFNw~2VWqiK0x2IB@Tty{mlGd z^7Ff|Z{a`l0)F%wzNx1(D8qP7sJAj#LyQr(<>_P7uDv9OAzPlEpf{b1+-$cc^O6h; z#!?W0#BevUH_p>K_tN4KJj|gP!M}f_X179d(_EwHY1{5kYOst$i{SueZxe!?bxn4Z zC*n%o49WL}iH}Okv1ng6%-9KE;bKHAtHlM($Drq6bxv-22Kf77&|J$3d|LY$P;E(| zJ+XD&3t0d0GU|N)^Q&^Y2d~_(cJ#e}$xeez%CkeL zQ4hka-ElnuuO&JVlY!~M4r+dD4*HH`b(9I>VH+1F+6rN(=J=BwwKf~)2+~OOqPMSm zSRpu`QfVkc$5m!UXZ}bZDQpa`d$9vga7#S??A&Jy?FP>^qciHMzaDJX^^gcj0067+~i|7Z+-4QS%BJ=YNRs2u}k*CNY=*i-EPI8Lz*K@BrKbe ziCMC1b!71G=OiZ3-jxx6&4a_myp*@A!J*9um3dF$BO*A6bkg1OEb$`7%{K}Gq&RI& zS%q%m%wgK+)?mybZ%vyJp{zNg7L^^_4LTd$(O=)xzx?#mhc8cmcx_)Fy?$@)>o_Jy zxk+Js4^vtK{^DhHgs5>wc&`xobp)0vjs5hfa5$Xt_@JJ;m6eQaH6CG(`EY@7~~6THm;dh&}F~e-Y;k@^!T<7MRRp3BZ(1V{g2aaOK(u8jXs&TFR?&+LT0?NM;0A2m(!Ri_C#Ak8 zpwj#d`spWB~pkXU5u&?Ajoqt_X=*$hg2IH>54K zk@pYl-#mSOzO(-EDgX4^$MwOh_tsI^dZNKp#Md=XoV&iMd&ZoBHi!q!-H5Ad^;{LBCKpNvUI0R4Ug%Emnbb4pjwWL1 zO;LgA+I*1-2U&r41Xm!+$cXl@Wd}w(fZDcLFCQvXERlIWhNG8wZ(aisC5;`h*}%Hg z@iWg|9Muc?=(GLa+5PYS>68EbZvRx3pWf}CzvR33`QiI7uPG)Uy^?S3a314h$CjI6 zxD@dhAwJAga)m^oVSQK#D$01H9!9M&gjBHF@c8j^(;9T0sG(&nDUju3vP+RBbj zmqGF<8x9@1vBRhI~O zR@3dL^@9-F477eZ&)B0D^2A~bC5RCXAGV+|XMwi9*Qt9tO{#B*L$8TJ2EC;=4W-C{`upZX0Wg<$!>z7N)p*)^#bEUMT-eS=KRkJDkY|JmEeX zPA9r+g$0d<+I>HJGu(Q!cg(!bj#+zup)!MXOsQ>o4lH_vg|E|jZ9HFUFedB~&6*eu zmK<)fAYeq- z?vJkylstOzUOuf~Gq3w%s-iQvL4EPf7S)&X3B^F_8G`$k&2SxxcnW$>|*hUDTVbuL*RYIX5!%cT9vFz+#Vh-cvtYhQT(aY;p$gIKKI~V6j2(X5(-(m^Yt`4Ogo%E~Y28mlxGg(W z_WQ2A`iCDse*XNl-{(7wk({qjF8*Jy?eU}6@~sjDV$c6U9z96VRXj3%;U3GF}1$&v^kQcjkYOt%cyI%>en5B`sqV_dHVR_^SdAXkNM{AK6({jmWrRB;9ZDh z`B*M9oKVY5*$@hNH~cw3>Gs2Yj@bh-z5+de^u#BzWfN!;3%&vYiLl26%iRd0_NNI~ zlWC+?W@uF$K6K@Id5p6J*D-xnMk60>Jv&PX{SrRbxM`Nn!|t=URJ#PS27^$-_AUg#vJ^$4%!Y z%tI|!3ihFyh$bG)yJ^?cD{0dKb+{YYF)u&1LlrHmL)kExih~e)fP5z_uUB+O-!-Sn zu0pJFGAWYZ=YY>l6qvoA6QE-ZS3z0?=2*4j4&YehEZcUFSx=b9)@;oV1FiYX6xcug z#rB==zdgA>9;{ZWSmSpJ;XAN(7>lIDm$aeQ<*qgtnY5 z5Ob#OV(PpmBU!0BKqfZeN#=B4(6qn0$^ZCulmF=NpN@a|`03sCBR|#Ct9$+EC4I5i z>nm2iN{FNNJ=8|WfNR;BsvTjiZPaxipv;$1?!7~uO;+EbQ?V~oqxt}AZ_y&Sj*eVo zvwfh;I^CsjLbxlT{Ia!8an(#;YD6#CSke?U_Q_R}j+vmnFc7(VtPL);%_Lk9I>{n3 z*cWi1NkKKJMlp&+d#w(w$pJO*3@Oo4$kVxx=BA9Sd z?>_DeF#j6(?6K?j@1R=&m0)C35`)ZyA4DB!$EPGGr0+2T#bmt z9Md|Q-QiwtitFRRj}LkHDdPs(qMow{M!$}XS{kDv1c+hA`vH1vlYs>H!RZNkZh)9^ z@~v$UPx|FZm~DYkw^2-PE(MqGxSrwF-QZ2B)@Y&)gQOJ{ahH1+g?Oz(sCz>iF@^%d z5rMWr&gOXkf+n= ze5Jk66=0aCyc>|2m6wTH|J16fa0>*rdD;$3ei6i`TX@G=)3 z^l`>6?_kScf@tW-?&szI{HGtD;)j2GA$qMi_24D^^=tT=+m+{jffpBDw={gEFjXw& zn`@53c)t=7fk;I+1NN6@M=onY7T1#&Q&Y#R9mT-(DJJv;gX|tnwf6=^nJxHL*10;< zcpF(B#G4}T^+#W8Z-&5Wby(>3a|+%s{{j zYh8PK!{4|}ZK)h{R!qP$D8xU(LpB38K{sZ64<;s|7o#YPwUps&Gai|%|02M; zG(EJeWoJSjM4RG`Ikm^>2a#`?7W8 zV*FFt1=c%4wYQi60|!2YqR|{L+CZP54#a5w;X}UqiGA?uy^Jk>-Bm~w_XOujJhv-N zVW0bO;{YOu@F#V{6q2r_F3eL$z%kd783QXeFoTio`}$@TNG?#q>)4bEF0LqJCO}J( z{O}>noEanUi71^?M-~QC-P`FMx=;hc8L}*lTy!Nx<5i_+>^1gaJfvX98V{h?97iEm z(CkyL zguLfG2|Fk?bSrxxF@UyXE`0%^0-w1{IVhm(fE%%WOv8vPdkA=n()!_8Xuh5=jAxh`#?=8=!o`DaQBzzRiO$&l<%YIN0l7vm**ntu>Zx-R2?!IIrd(*9*O~*Y z4@DO*0w6YKABQ$ZV0a9!!l5W<3?P8JA#9E06RJbvSRe-Ax6*UW)(u*lbALv0WBv1I z;770DD`(*GHL{3bUxvL!BRUw+9nF=!SB{f}A%*U2)a2%|4wkO*Zd_vRQ9U&@>xq`+iW01wEb5CgE{f6=L7RIz*GRVUjYd zdWt|b(Fd9Z5dTTXY=!OxCq-MTbCRA`0SF3&7f|;C1ib-!mo|pz)*=g002$LgFvoj8 zDE-I!_~~7Gyw-Dn^veDEQElIiZ(Tf_Zb&r(f!W}UIyhvX)H-8z)Kr`M!uLDH-JEB~ zAdCj)JXgpe8Vu&>aXYCg162fo?T}7B0O$wdl8n5r;EWd^(A6a@!G0aBWHwwT zV_cac#XqSCm!12L{-2++-e-LI?)&_59e?rMetd08{?Y6B^4lt3iLD8Vy>1A2=3u0J z)7nz$5@Yhgtb`+HauJ=BC%HlmP1Dg zJVO#+9W2KeSDW8fB=ymYcN@(5CE&(*zx4&DeNAB=sbp!IhM;6L;1ki@?6Q|Ow0%8Q z&VnEew2;WiL)Z22R9gav*LChb+S=MYP}rWnwlEqj_~9ZULl(qK`Tl+V%|%ily?$@) z>wsgYK&U<&KzCuW=$Jr+$Bi)0l_BE*;Okt7kqxlx2|Y2}AqX{tOE&|>?9MhAUbt$G zF`7fxb~lh^bPu%29mTsh}#kC3^s- zbr9<7TaTPlOM@?>h9cG`YBN>>*4$5w4!DKUR$M!b_G+NayG5~raQ$sx{}Q|U?$ftW z>fctyRm~K3K2+3 z&WWcWn&LlScKTj@jlE|Q1LLn0_)`W&SNM{t$AVI4bj+)?c7o6d120iFSGl_)u!Ei9 z1QV#mXh$+L<@8;>?q&bq>>=vW>-biIqHQc>4~v{Is({Z6q~69A*#c_KqhmGQP`62v z#s+&b_MRIkV-ff{Ax#5aHq7yU1I7zkK^1ZVRRyZ@s&yTU6oPZ=8hy4GGOFL&efH7o z_sV_t`IS6p!clv{UbjA{t4tYEbXtWd2~x|m#>oT*5ry|XMy^A1V0AYf0Sr7BUt)+g z;u4&0hC4eVhI>xbSe6Z-6eY!i+gbs%>f(cYRH<;TtltR`Rm-q}g0=Eh(ij|1n&}jxz$i;-Qsnrjh7EFTxWa9g<>=jJi zPv1X%`0`q;?a_<(@@b{7jXH|9Mf*6?8M=glx7;D9oSH1{tre`vIb&ZMQeeXST-))E z+YoLLRU&XH`}$N%=+gxw$iCC|GbKRx~7>C4j}UvJhub{XFSD9_prxWv9{8S-9E&M4Rx zj&$Jsq7)4=6|-XigW70K`RH`Ch*8JJk+dQj64jswOn}I9QzJ&uGH0`_>5AE75cv@T zBaAOlzVLPbc4|t)Ae(|^t6$;?1SJgF1<*^ys&CAj zOFI~Jb@NW`-l+S#XDh+GKR$haLWu33^XFH`1RlJIzuw&WuT$+HS-s&g^P zN!n(p`0)GNxEYIK(u&7CV+ok$qBxCEc>}6qOhREs+#K~(sndNKf_mN*(bMfm+Bm(- zKDrM85fhX1WILrT4h)w2w#%lL9f+3T(KC#HiA~&U6}Zwqz5DXRr}XnG%>KcP_-%9l z>bYP+-$wEjMQMloU5^esxixGt<@HOQ1i=9HNeAhqdykHq}N zm(TB?_G=NR2QS;bZO7lHJrJ-x!1pFWV!{dYx0q4@GwiJ9xJ}Ny#uOm7z%Wt(Ycsqq z&3PjqYTmkWLKr9+s02)cMgzXJl<0eMJLp6o03x=?7&2c_>{+X0Kd&&YuSHy2Wi=t* zv4c=Vut1A?(m2<_C}(g@v*nRH3w!YkS)<>*%J0*?n4ncu{;;ZQr3W=d-7=8 zI|HkA-_EDc`7f^>lpeioFT1eM+lew-EC5}}Y__C5b%>od7{S{PABk8EXPn4U#_A1}ooBUTEqD7A#<7^mlu(4wri?zv%`eD%i7c}Jo0 zih5{7w>-NC1{VR-go#3`T>|kc^{df^gm}jUEy7IFr7(Ip5mP&{Pb{0zXnUH?SqF{^ zz`aDU0CBisRO1eK`usy~|M300Px*cR%WK?%2QS~tVal)Dy657Vv=Gx1v=7I|XIv&p z?`IakLbw7bgP?JCC@Y4_lzmrnha8j$>T!dR9jBBwx$T1Exj`zWgKgr%mM4lQ^|kQZ zwwuMiI~UnU+9ZrISD%WAv{@>5RobmU;h1MkQmNAA6)4fg~_hQ6f{`l@a?liA$=z|yT<%T}rS2szR?6Uwi z^U>SD->$)h_ARZs&sxR}LPA4T9hU+{wPzTBtyD8QBsN(Vd$Bua#i(HjxnqK;XDvTb z5Q$?9W9^f%VYv-i^rETW(&bpeY9F&}QEb#AYV?MILt*h<+WS%GcFw8g(u4HO;kJ7< zWH6~SOS!HlrN{?%q>BbVOc4u4aJO`LfEd3w8v^=sbnAVP@;^Q2`oBxC*j^p4d-VFf zyr@1`4GZ8pYSM--jEg$Es_r?gEzfqwY1tcST5@t6-122W)Pd^j?v8rL0-8<_xZ({^ z=xe@Ma<6V#jbZ_3c%qcG?^SIrHHUTfm3@_o@nJ&^wG{chV5y9Ck2U@Ne|-M< z;q6iOM=##5PQ2rn;W{U6DMQAj1>Th*)Fs!zxZ9PKvwaaZy1mkK9E#~-0PU@S zeyH9D_m-1@)!&50#4(M1!}*8DXq2iBypIyNfaHpHKOzxBED5b4DuO&m0ED!>(cZxl zO(tg0-5nmC141pT;PXm)kpa(6ZQ|WmG%m?Y^yBjgsKHkaqENU!%ObqEA@YyTErJPK z_x;5CSNY+O?|$?zKfF5Q{NSa#ACtaOPALFJ?~NSFrJXDymJ4lj+?iZEi}h(Y4nSp#}-SYJ=Q7_Y*#sK=D; z(_sz8tYbJ3BCVZyRv$g#FP@mHYEXh`JL`0W4#cu6)Zge$_h|rB)ZvZ+4j@^!&dD_+ zAro+p(}7%pt8MsHbYAXT`gi#+KYsjxu{nSLZhQRm$9k=E^XNsqe_Ov53q3(H7foJE zF?5^A)7oAeL{5|^Q4XOoeIj`cOGD!}o5w2DczDp6}IC_+ed zjd8XSrtT8A^Ho>RYqk`vWsn=QAue?AHvwGPV(o1n>-fF2^!x8Wp^os=`*-!~6Z_!B z`}L;scl0&WG$tsk2F&`Esy9)Pfr}3<^zfmN1CI%GP~>+r zQO7=JusJO8IiLyy??#T#@{`Hw(kNzOP5ZjPgw5No>;oGMg*c`%I`9H*vt$G87gF-z zvmkFpffRLqDbInMj8sjDgg24G$;KwkZm^d|Z-jBeY}6D8=iN_GKaD5ul#6Q5`xE;g zK79P~wd3!jSMArkY5zK=(cw!O_M9LueYR=VJH`f~9CA!^#-7vceoRWhRvbr`z$ zTo$mz@Zhc3xoK{Un;l|@XMPr(bvx7KqB{jKN_GcjQbw8rGzLRmbdB(LLn8DX9xS}Q}4|JyYm+tRA=O6y~`ULue*X`H)slW7RfNqMKE^3a#imURSZU$^ zLJKikbwc>W2QaZ$IR;f4)LCh)+?o^Pr?z>-eE|J``{J){=A#$wzM1oD3N21AAcUY0 zM_30_X?yfoeN)b+@K4p?4h5)e(JDZ?rFs!rCgy7Ki&(3LbWS*%`*sj=5RhD8HrH<9 z4PYXW_feBZNLPnR+I=$-@IitlCy}&tR**qDu8`X?Wu$;VC>SVm5NYXBG<8zyG-RYdMxj zuiZU>M&I@45>nr*sVvNy^#v_Wbn-PvR&S|bume%B_JMQFYHqEgt53G{fgtTp?R(BF z8nB9NFIL)^43Yu>rFaea1%QIXr033-z~5}E<}XM-Fdt#AtvVi$zNZ#(}^X z9o@ACRt;89SW_2byQo0IIwlPtsWZXu%ZZT_K+*b0O^1|>Ht#?X;Dx9XuPZ-bp6Fh% z&dw-9;t!%SR2C4Cy>!4BL<_h@+JGVo?bPVGV$1|bF~JRpp3Mp?`5@SYA8hK6u&QIuW&g^{E249IrT@a}t^#jFTWLG5{PAet`!@ z;qfwD)t5+u*O*jKU^nh{@r#?J~Zp-~Td$ z{LX*;@%_*5o;ggf<{BQnkZ-bvneQ3rEbo#;%E1cf$owrzA6 zsGP#m546UuS2#~I9iB7h)WcsV})_%nED=IY&^09djK9 zAAr$|=@`?s&Rb6(WnCa8gw=d=!{>&k^oEX1bFK_zjx;vTBa_IK8`{oCO~!z~c*Y8E(_uIJR84!fK@iy94ASPyZu8kJRPyk96 zs&Qu@^SIz5xE25c27zNvOl_&)ZK=)(top(2Vl|{x8Ox3U27Yw`DS`48lThQ}qsjeV zY*^y}sO_^h&+Oj%uEL-cXYX*UW+}i50lvooD|+ie?cSIN-rOin=xkjhA>LT{BN-eu zt~wYXJ(Gcsg_jk7C+1jCb0wRx>)vbo&;OPQ@$UW8=hyc3(M$LytCaEtCL-tDa5`$l zyzmMH24C}z8+|in>WR=eK%7l*?Z@g_VU&SjCoc`Gehd{_$>0F+Db&Y?LGCMPidazi zlAcXt00eyJ9`ZyQEan6?BSQ!^Y`Z>`Q`~*9A!mre88_FxTMw1KFyLF;HlT>6)nRz% ztqVDVQN()*3;e4B(n7>3SyROk@*bDza8!%BR|Ws}S6llBe@(0M=oNhHZ4C8rGeq1x zJ2Ee4B6l%IQKJH4B)IpY4qmZa*OPXGtei4 z7HUOQH4&cY777G0z*H#NsKg$&FrEdtnUL^6csfHW<9=oRufN*aKc)Zk>%05tReUS1 zUqU-U(};r%5LC1n+)=h&XcA1fCPQ$sYu&0er=!2$pmoYcv&WLz3k=OXy{(SlwR50$ z8O`Q6x_LQ%QOQy0?r3fA0SUXcbvK6o);x5NUcQ%bVSSG2Yv@V!c8$O)GFYh3K$;b} zZTG7XxnRRf*xa}OKRhBO;v!@znK=(E$WcoJ${xwo z5T3Jf^PUYtil{KjI0>r_ju`BRGPdw~F?#N@yF*`{Yg=+%gsFj+7RZuo%AnkM^vH(M z84Fd?QyfVIsWG*-n%Y{0G2b(117ns!iih?aZP?B{c8-Cf6!1(}h>68Dc-{}j*wT+5 z-=}|gn=||9C4B2??cy=fil|E-Sna3{8U)Q^BIzOsZT9FbC>uV4ZB6Jooj}0?bhrY|Ti*M0*I0Xy zAH4@g|MuzgyAMD8Vdtl}clOaM_|_;KAdcDl!4nQ?Ozud*QrOrrO{@d`n4)-Np)+U@ z1~7zod!xx)9p`!oTr@~@%rOmfwy4MiUN=Z9Nmh8^GS)7G+zp5y5_eH$=_#%$}wjhOw1UDH1MveOBjjIt3j$lG6qX z9T7VU@G>g5P-AR>eBu7Z(}6*DQWwd20vZW|UG=oW4B7}8m9X#- z3MN1Bl} zI*=}+6sNWO73X)p_ow{ht7XK;uG?GneTn?9Rx^pz3%VbzyF4T{_Ypr$9Hc4p&z}FFWQJOD;3B4YDK}mqAUr7w~Fj|IXUJl2B1=jsUPT3 z4(1Ka?wMdz%&f0AagvduFpE=(0fs4XOrIWYh)j%zVQg^`W*BS*K&43aCg|n}=pWKE zNOdKY?6li%_@w{^q=u^-aoaYLXtT4=V_sReEN!!!pH?Cz80$M zRO{rI#bu$S-_SROQ?Iq(yiMcL>-W|LR(i_n=xEEDt0On!c{EZ?G3s!n@$60dx;VyO zIQjvPDnZnpj!GX23*y;l9`1G;jU|0IWXd4sK_q7bPB>a00SwJqi-AhgbMMKHp$+J} zy#f1JZ6NA1w6q3_Nrf@0(_?s>ea5f`t{N^AKtL`a1Q!TR%(c6s`7JFr$AJ2^+>zmuOnzpJMY{{HEIIv&_h`Tf)9FP~luIX!wI-`e09>e_2e zskoBTr`!(*Aq0y`N?h%~TEds&8~u{m_nO8N%AtcPc`d`xD7cdQT+~QihPpgnriJcW zHbJ9h4laO_j)bD>Iqw_XPIzCZA3fvjq279N=Xo$=*wC~gKY|I2Y2b@BE;PdOO7sWe zfI{8_YR)3lBm2sM#Y*SCCe*TM{+&D{afI65%(Gfq3E8;!WdGaK=Xc-dhx~Mjj{eMh z`O(XGZ_NUu_WWWNSvUcJkm)?4=YVvs#$8ON?i7?n?Y_D`I^% zLJ5K|XVQiEb(3B>mvRSCz2mM|Mg;^(uV$^rm-k;guDvIgR%lOtSxt%4f z(?-Xc0z*dgVE*zLz7`xH4kA5=rhgeD>^HjQTwI`L?j@L8yiPNTLqCg;IV{HRERub& zuuN{Fm+w9;P?v|&GJA&adrU@5K<$9Vjb`VLXf8y}B4-zliEExRQ1;uf>9PrgDqUK3 zSyHqYDOh#Wb87{0}t7w#Mm}o6q(=FjgxpHBiZ}brk=n7#R23_CAQ?%3B)^#BYSf*a) z1K|fD(!d;p0(Vj^XaR#EP{B9EC3y7_cUI|dtttEH<$Ku*c%I~dk_67nmya)iZF#&0Ljh+sdOl^Jv`h7DdtSWm}#~XLI)`bJrWc13L`iC;sX6x z$A#3`4qkn!C zd-&ire5)uGi|8ot5L^RcipAF%;HSoY?mQQ)Y^;R49O0bomoPg;_P+AKV1S{II*o}> z@+K#APjo=4UEE|!gEbquc-x|DanWf<{LK6LiPzjb76#i|JG<~~UglKkj3J5|s=Te} z=mO!>95^OaI0zO|Dm2p8iIWUS9k0b$tB(5)RrN8Krm-gI9IazeBF13MmeZ7ZzX1I% ze)#yO53ddCJbK;U;=G`U!IY3_6>JXc!11%J2x$oHt?88LZMAkNm+P);@4Y?B*U z4TUOlyO6rhU3{2CDGKAq9AkCTY*@w`IVN?aKEX~GQU}zT1HTDp5q?5B6~MF=h|Fu_ zQ?_5sMgEy5^wBGKAHC||KB~x^P>7_pvk9U*VM!{5L&!$S6i>NetTp;1nl)y&7MYlL z^L*xYvmj1cj;jZnSi?5FxDY0ehNJ8VPoCV*0mt3}6&mzn3LphHQ^EK)FjHY7$0pp0 zMTXhl?21yv%y1Yic-Tt{iUHN#24 z#2BAWFFZ;R65tb9N(N-5$8^;2T@>?kNScNZsNzm;gSMK6(>di)m}x$9kEjl_xgeWs zil@7*k2NQN&i7-|U;gax-wF{wc;VinRr>3IK#a2`6qRihSbadzbU?rQO!u+<%-}c}zzw+X0Dow4Y+M$$Gp~>Sz8{d*n&7ae za$XbT9rNN)E)<-Npypm@R4CzVmeFN728XsL?ma-Fv_b z$)htIPegGWfU)|*Kmv$EXly(3VO=pS>Kro!kvDd(y;nSjcFzo=QFy z9HMOq5!k>Z7$eJk6c#uXUit7H7W}QK^!lDYdhOn_wf2T!#Tp9sQ4hiRFGYd5JLnuR zgxVRf^V!9u>z+7-(~xPPO%ot}4vctfivJB_T7Xegtv0}14#^HI-$V}KO6Cv3K$xJ5 zasP}aq4SNTo-0Y^g5*T@@-?_Fc{o0>%>!*z)6p_;{~mOFC;~&$FbV8piRr|eJSQp? zgHp9gSZPLLUf8XTW*4EtzZ*@L? zsE#`rWEi3^Ff9%Q1uIrYI{u;NO9_+UgnTCv?$lh3(*Sk@$<>>q`@K9Bk6gpSp>gbi zR`zfAu>0thyB~JHsnC6+1r`{#q!`_4qI=hKFzOZ%jIX^m9dC+)mEn!gqoHgy1)kCA zR(kAA2*0P&)#^RgAvhcx-QFxI62pL?s@t9hedS!}mb~z^64`Q$k0(wpJgtp=dY^M) zI7&etG{Ec#M^iy>YE>Vd=4rvJ7M}qRPE&w5VyxmsXuK7S<}9gukYXn9SDBi=4N0g%(e|~ zaZ+2NAwN$5vxb87Dr!AXaa*y;_DvXSU*p1?I)(J>1e)(o@v!6plD zJj0MeLtOU$yvmsvT4q?k8{$44r3Xhu{|socafak&G>{7=a39lK?NA~Ci~wgqn7=h= zG|yfT%*YUoDgwCdmkaD@QFDkD2P1wo3ze$y0oFYpySrN%Y{Nh0{_^pk^VO>FgIDh* zis|_+Jktru+uE#Ud*I3i)l-jsnn)aQV=xAuT=+G2P7B@#wP^=)qxExE_TcR^8m-B_ zwkjx}zHmghi5Jwuub;?SIV20I-bLs?+;^3U2z`rh#4{qmR&B- z*MmG$Y#?~KVs=J`0u$(q;J1hBmJ_$0M0M3@*Y?;r2{#^~1EGpOqo6Tf_ZHk=ZU3CY z@BYWDRlx@@-M!*FzQtWmoE;8~(3lXwb8O(e{3Li_2zG*mknp#xNu+3j$OOF0k6Alw zE2f4G3om>4Xmj_FRb|f%&3FM?X`!EM&~3`zlbO}i5s{o_WX)=(ySg$W z{X3r@cL4A6V8~7uzZ^XTsY8e3rB}d($|U@oe4cp}V`c`#kOUD%1RWQ0&fbeuf*p5H zC*C(EFiwDYA}4u*YvW1^Y5^k%0lw>C(F6}tsD-YE@qW1tSKeRGhhM+{!-xLqmp`75 zAKwHsz4s!%(KG*?Q)jy~mU^O=@0ueP@li7t2J!yu%A#k_t3XTLAKr9)w;9CoCHWf@@G$2uS`{ z=-|Kl!};6qe|qcN`rhmIxs%)W6a)ldXLf)o#9_sDU zed#%R>Ih)nU%poVkUxL;V|_gLd^~SXLA>wk{RK1Fe=GZL(=c@J4)N0o0VQXuqu98I zVvG*NE53@@EDCA922WQsMhqyZjUglA!nh`wNk=iu?p`^#3&EG8NYWsw3neiAhKXo> zRq$(IJ3uX<7b03uC*n*Kk%|5qpb7(AELDC=F=xUZt0*`g#dwEP+nGsP=_n;jS5v2DmcMB-5I+7|toV z6tH^LZ0ltsx(bPj1XydXP`+m@p9qY)8dP#64MHhmc1S~2 zy%+7PEz~jaB^VDAysJSD4_Wy6E3LvnzJYD};(fLUzu|BU(*Qds zab*tP3&d*7*pH2=&T9jPCd})|@j+9@D|6iM=5_ks>-M?^@#*u_X@^ibWgnCMw2#@~ z6lBQ5OR|7zWyu9coRB3&TzboajwNp?_B4XJ5_QUoQl8MTjG;)2h>K^zwOG?J7tKUL z0qWVsME5_8o%g+0@oT`BaW^O$qM#D)*`uH2Y#_ULnX9J)Ox3Be~i4OL9S_|)Ax;fequ0lc(V6t3`DKwD>p>AkWpu%CiT zd3pL`IM;SXT}-(g-MHh-Vst`4NWVd2#c=iAj4^K`VewdAfuXb#+A5&iIfhx*Shn>H zatJJLeZ{ZvwH*3;FW%Qa)IC}-e}1nMu)N5%!|c-p8Wa%Oh~cqGr(A1Vd(-IN-RH@$ zAVGgu9%yJD!gbKKiz)fcDbIUs-T^^72CmUMo|%V7+CazYWwh$|@jiX;MSJ}|{d7HT zV9W6po}lV3-P;|BL)eQg5k}ENcARX?XTt_M09 z9OqD)lQ@!SSt@D)IM-oHq3dPw0qLm@Ofw`@C{M&UOZyDIdej8du5x9Waj#?m2M5!+ zDLDaF%RM|I@#aii@6IsVdjN7e3~TGK*NdRiKM&@pfq9_zeSE#5ZT$~F{B+N+|L(i* zf6O2Lbl+6ly!QgW{9wOSm0DnNMa)wdx|hUfV4j$PeVYMVG0n|{@W{pS%n%ovg|hNS zkp{{UD0tcq4_R$`?mg~ZJee;jLXWus=swVr&s{lc*S*m!FN^zVRP0Iw5)Kg>$cF|k zRoL;?Lfa9|wi#&5q2KZp)q>~FHAh1qh8EsLPCrI9CLt1|(NDKspcq+@W0QbEXE0H0 zAdr-sAfb9W`1|F9{q-|5;;m2iomcSn)Y+%|Ov1Iy36>RI#`k@X3Ge5U!znEI2JFEj z*0SaRJ_GOYF~gH3_fZ0S2LHJ95s%8bphyA<;J9+NjwPX6fPRnybZB-M+RgNGqN&h(<9gn0U|HfAf~O*2JQ1E(3xCJ~jd)DX( z#{v0dPD#W3KbZI@`rczR>|(@N)>3ak8XWRI23L^1aCbY?z^yCND-p-n>3ia~d!0xf zNf=`tWG^N56O|UzD7FRx(HRN0v%|`V0Ye%K<(PQhLJX;Rj*zge%CLghK{lc86v4DD zoCgRtda&0j?oXgPv6{OThAL2T`bL-YSTAc!zir09eu9C#)r@=R1^n7q_Ou5S4(RkT z#C1FtAml11fmT4-ZGaW&cMx&RNESRYvps5W9#C$p4k$&=7_=ObMKqxDnZu#EVJH>E z9_oxbgu+M@RF-?bEE+CgC|8g$ojnz8#eC9n4>;kOO+twj^Z0`qU=7(d2mbc#F;|G7 zU0$xaVE>~Vky&u7@Yyj%V-)`H25(CZGq$);VUQ6G`Ionx-#*x%e>mU&_|;tNd#~c_ zukEKOdKg4XxLnkXMCb?eJS70d9Du#11YIH=N=z9ftZjfG^fLei7saqt?;Hhlz`;xd z2Ja3g;RO8?H2!y80i9lpP+J&?g5%G8`RO{cQ|9ZMpiEX1EP<>*cn}S6fN5bUpBqe@ zJm_HXg>Kn%(y4WMVQzb4@O039&M$O;cXuhswBi0-s_@C+Y-OOQZxSAjkN2xz+h38! zc*~OV-V6A(!*RvQUNP{4>>2x*kGA<1oawvhgOXzK1~O=)6iwLy@QUK) zK+F0vo+m~52flCYRAx{(4LqZnk7Ov%Hlx@3@kkzF(>K_n>;chBM?STp$9$cRpiSDc zTcv0ES}fr8=tW3d)|CTB@lBYcbLCRq)LRFdl>w!d%E+ z4fmZnjxZ;O)T?=56<`@91QC*RWXEALOw?y)DpH)b;Z6_@Ug?badw-f;i$$Iajm*7o zaP!5WJFw`1%oyf_!!@Cpp1$;>lvo3@t7 zB8Q6(1oTh==JCKdx@_DM7lRTh8Qe0QFL|g0X}E%px;0FJ%K`qE-~t)b#}c@5jdG*+ z&kLNwi!AUQQ|p>~HS@8TQ~UF1%f)PMqi0Fe6^&5jSMGsgH!#9$glSFj+XyX=vuce= zAwCe@zR}IB=$qm{q|9w2(xKNqts+wUz~DORa-<_BYJFhXc%#PjR&({e7wz@r=x1PB z-HN_z?)13oi+b8P7~5oIdUODwLG9#c9n4-ri6DAGM5^Paam2)_MSZj_Z#Fa8cIRES zd>S_jV=%ka#ytXwpecMc#w*J%;y}>7fdQeXdiB(?W%8-5Nn@t?6F588xcr97!AhF)Yf`}By+-<;cwtZKy#e2YQhn#K4NE})a6FEA-^TpZ1cicf;pabxF*zI7)H%Uw z?F~%6vw=GbpphX+3h+<(z?Y9xi4Y zW8|DQw%-HhU~WoKh|+22!$>OjNVWrS*6o5SL7|*~`7H(B0cBYNKw&g;*^I}3tVi+= z{L-wbhs#QUlx_j|d7~KXQ9&MU=a`v7^rd=wj+@U|k@F!%BtHZL_3H`3;sgch3R-pR zm38c&{kxAJfByBu&%gZixBub8`9r8RG;DG1VA2!<6%#+rz3>gQANYK&nhI zs`|lY%YH&h2oxT4+;LyUI|^Io#K@nt45V9-ds*k$epTQ9pFW*~1?ZBvEq3mbSIY9z$GkBa3y`zJ)-0 zf+&YD?!|#ES*dj%q@R?P4^M;C=6UJRnzr_I0e4XOF$<0LiZuJXoD6>NMf{5o_wNh_ zi)QBO%RpU9w7MdnC8kHgEp{Bpg6D zg*+-8KsXk*pjhwtz+_Xdv0iP;a}9Na(9*_TXFLMs<5y>oZM*7-dcx3&^zrnKX@5X5 zkjx+iSW4)SxuvSg)=yz`AW+!jiQLWQC)d(|u;eglO_5n}X4}j2(?5RRu^%wc|JHQc zJFnf>@BwmzcmN#O!aI>|AKtcOb~)4*R~OupAgREBw)Pg+I+l<6t=7cXD|@Q%8BR1V z24V}xmWLZF;7P49avgv*+-gF}co#36FkS-E5RFo(&UJtdcf2zPh+6YVIj(vn_bh8; z05V#6?A5YpORoVk3rY$(hX{BlwwfSMmzzr#^dq2D0{9*m&%#=utbrPh_UL)pn)^q$ z;!kf{vfp{xzI>ej2p{L?RvdOR@L7jkQ)0O8;AFXLMD-n{2Kg=B?R629SKYq%#4IAGDkTu zT1ME4q57H%vY(a*6Gr+19|$R`E^*fa7zJM!tK14=p>XB_D|&k##Fg%HJ|_bcwNp}T zA_~4Ct9j{0!FczFKmGFkhmSvfy}0z=Yxq?+WEDX1dCkHn(VPwf-!r^*K$s~Kbfxc# zUAW(C=D>mOgy4X33%!n586K`cZOBdcR+w6Z+GYNzUhn{+4qc3KT=YI0 zZ(usgu&;*Vv?Jy_>dy5FWB8neKg16|y@mOB@3ni4`S|S2Ch+2+5w)vhAknb)9SfwX z89H*}EFo;wcDMVO2W2<6aRy@wxuHfqw_+&<(SZ&GD@878!GCt162Q$Z6k^+F$eO;V zo!p~d?!2ZfpqvDzcgOC?O|Xkeopoy%i1%=XA?GU7E=qr;&Dd2H$p~w@qNFC1;Q*b5 zzuE&GyJdHF+pxf~W8Z*J!@nnpU!P)Z2s%WKHqPKZ`jp`cUpgNFP&XeX)b~mp_x{RNc%|dN-W|m^1cQ=z z8Nf6O!pXdK2~a+1p0#Xjex!%T^<{;h6w=#>bD&5>Lb<8rpnpLdwza54VSy-YqEhd3 z?kHUYNmTIho#Iw41Zc+8g-RPw7!c0Nx@fbqqA={WCj8t(CMLBvlpE`n_~yC3-k<(h zf1CC5*O0RByo6tyCAC%zs6x3h3hu1C$z_1)I-Jux?1C{5I#BFOWsGcBfF#uS+(C7p z@#b>44sv5c4iz;}9D0MA4*iZ8uOUkZXAhH(9$r=2+{Zo3Yx@(I5YY{;tuG(YNpAzL-T;qc%r9>MbII`L-*MqQ{XM^E-+S#| zzi2<#ohDig8r$F?PKNnzqsxUPW*Y!eDVVrQ#3=hrM$Y?U%oC5&Wb7}6=?ua+15LkU zA5=_2&{;gI(gx#956i{qS~MQy%q^Dnax*@FreE2~g9gmqlejvnhspWVc& zA!-{?=xh{TZe=!g;8HOc?`!RkVns1oXk*~|QJDRjNC?D8YTN*CT+)tS<0Vh)pY~5b z{P5G?eE6mA_rFwre5;}J-YfX!ll_1Hv%miSmydrsKm40Mdq6irfzFm9G$MQL;|~$V zU^*+g8No1)LW>0=F-;@Eb51yP97vR~h!Kd^+8MZ$2O+eeS`z@sd6i^ri0GR)Ssg?H z#s2jdXt91Nj+D)mo!|k?cAd~ohj&M27TG9 z)W80M+xb$f#~z*ujRdqgOWjio$~>43qhp_Gd*w~Ttq1W+%m(4rZ1Duw9mnmPV=QJF zs49(|9eXodH;rOPZ_(`?usXSc`4Cr?=%+#aQ;7#FY3VtF4$2}3oPr#Ip{`PeJ z_4gm^*Dp`kKgpl|x_&u-s1JYbZ`A?cc@4ijX8-p$_L#|c<1-x`Dr7Jau5HhOh@y+? za23O*jA_piz3??d`b}UT9ogFs4ym6Ce4#e|oO7%;ti|WpK%dJnc&1bU+989I7{SA- zc-0=_WmzxFk`3S>#!IgRL{IPrE;&~)>0*z?VjC=0@(e5n}su|KigN z6J6#0{tq91{-r*C{Qm9f%6DGJZ}_!2zVlB9eLcsrFw9?lj}8oZ09MnwRH6(%S(H&G zxP8yi)S~AFza3rU`fKFEsg+t_Pd}Y_Ov>D1W$IhWE<~^HK+}D2Ppr^cW zf;H4C4*pvWNGp%{R4kt8fG-O-^CJXyU+;;}7qPG2R3s*ukgO3X0yk#XZt$zQ*fJ88 z+U%0z1w0r^K;4Y{S=GxD!T$tA=Oz7C z_c!@YJ~s8?{KDpWDy4s+BB^cA-r$u-k#BQmz-iKFPnT}0Lc#V#Je zq&N@pLvw~9>)X8c#I(UE%wds(Xl|D(~?9kW)Yz^ zHiIU{6*ji>1AOHgv1LI3w?iBmXng0!>8ZrBk3ler=qWKLT4pjL2bwV*$8)|!B?JLE zd3@uez)ddkZn{%8T_BA)??x;PB?rt=_|p;wEW#bZ^TgPpUkr+jyBJd-GzjXR4JH_D z+)Hn4h@E{T!i3ayr^;ACuV{_`;x8Yx|HO;*z1Q(u-O}_s{d_S9nM=kUzEGP|>s}W*;-h>F%L1S)kJvKUWUqD2!LLJgAam~WCCL@-eW0Va* z^-g01Ebprn3D-w#K3$BsHWrUWv6fc~!=a%Fa1UGg! z&j|@pi=;`zPBNc?O}^abbdhTX>rh-hg%e6T1==@hZtr+mi~VPRK8t<$>QnaKOZcrm zW&WM+FSD*!s({13WAlKVk=!pK?d=%+NxXjqs&N9deIwo-M?qS-7yKR{5)CwgB-s*O zdiTICbBF|jbc}&ww?C+GU!P&S3pULLBI%W=FsG09bGJY}Z#OZ`u}CivK8BbN&lcFC z#Es6>T&t(#xp&sW)f1hgB1B5|IeR0Le7NSoX0pqH7?{XVqs33rFuZ^_Z6Nu-+`vAU z(caj=-g(`=)mP)6Yi40gooUEqV*KWyhi{UMz|h2?pc2vojTOWE#blJE-D0Lrv#mLh ziX0eEKDBfT(`r>|H8tT?`^>i5>lqB^rHTJdBQEe-fjPBt>l^K0l*{Hsw@lBDB-}aY z=vB&6osQ8MblnWIkudqpn3u2M-vb9-ufkf#4Zg*pTDZ;Oox5?VEJUT(LX886912>* zFKcH1W#8}L9-DsOReSwh4dOlIEQm7$J`4so@-`H&dWvj@u8G(pE+n{f?+{R)a9zDr zW2{H&2AKY1uQAJxWTxz=<)p2xI1Y(L}gJ&AsoghZyqg>UA-UTH`F4HhWqS$o55OqZW}n zzN7-)SE8!|5($1t`v5zI;Xa%Yl*nEfiWfZob}AT9Kf0LOU~A+~_n3b!PkfGRMZlxR zC7VMTp(a6Iwb`Aj~2?zeynb?640_I8{xwj>33eidEk zIzt`msakLqB?5nnkvpc z^WyK@HH+4P!YQ4?b}nDL0PckL8Oop2$`HR`=BuU**Y(or_Ir7--h0_zKUm_5-RjC% z7c)R`<_0E5AT``IUH^guH!I)byn!^L%jOBfTYNQ6Cx z7g@!uphv^qdIHqx9xorP<~q!MaFoo7d(GgNLEIbgIFSo$`X%5!5f~Z~rT}gzMBJ94 z6O%=cQf=R3=@{dbQ4QE`iefN@55A(k>*^{mKZ&C^$Q&@2qr_n)sH$OXwEKi`meHXhmjWgp}U_D45*Fnr!F=AeK zIPQ6`5|N)?jeq><{^^JMDlPiG7x8s9;@f!4_`C6?=7mm~>>Po#<5Oxrp9Dn#q^ol- z#h`+mg|fE?cM-Q&Jk2Hw}>p@p$W3qyHKcBqOJG$ z8svNLWqZAWaTan2Yi^Vc+H_9VyXf8o@#cuc*`3Q6skAXJz6fGAKphp^eD9tr2ba$i zn6J!vi>C^T)#Bln40zRD1?Vp{EWjsWM%0 z&9-1An&Z6);d>X1~GH}7sdmD@>n(Ft|zTF4MJ_%2Z3EbL6iLW8jY@7h&K(aW- zcv+=?IyGx>Jn}OG(HumqLx>IOP=sof(;ta@cgRD4_1O|u0nVI(+rIgf?=`i0^~7Mg z5IT<@!AB3;N^!??2m%ee@-R>9dWmoOZ%+R7%a0%a{jY!f*8A|Cm+tk$MO(*|1|6lT zD*^~sQlP+)6~v%f$Oedn9i`BNa@%Exy&cGtN-~ECY6hU#$YI)^b!!^1TgK(CkG0k znEp9#>q|`QU;WeHCc*yr$3Ok}{m1|C1?lzqzyGSP}0$m6Ig%w zeCI%OxbEb!dZVR0hhA`UUD`Fhz@>nFR37JzfOc)CE%!cwc?5uL&+<6z*w+1e?pmu| zc%xf$0&1tTaCP7GvS_bpu_>m}bxp7|yJaEJf+^%#vV1~bw`#_nJ}FJ4s^Gq;aqg{= zEfX#iSP|iM*-v-PIOvR#d+Y?h9X5iB?K~*a5@LlBd3?D*zSYJ4^r-!Je=(!;CUo+B z7xayqMHevsu&_%rV6(K`dkkIk9?U33rx(#eTXgO&^@Dgdu&l6#IEI+or>H${LL1ow zu)S0B;3latV)H1GrMM1fJw?BjX2ze2VSlHyy@1aKy?9N`7p-l?6Ky&{6;RI|iy9}3 zstv)<&bfNtfuasZ?9k%`I&OiTG|*o@>;yo|pc) zJ;yqRJOA{}z9~*kB5@lVh%*{BR-8iWFMK#?bB%JenmD>_rlc4Fm5Cig3mgJn`*sk5 z8VDbQkA@_gSxY$Bz#z-QJ@p%K`0J0{U;TW3`Soqd>pQRHxBskN5+G{PSD75xS&61H zC5*%(>oE8eIH_XnZ}9TX8&~Ryq6u$`i4*xAiXJuNu*eQEQZX~4GlOy(nmxV3hv-nl zj05ey>-4L_EAR+Z*p)AGgqQ#uIEjJ%J$T|mJ*zO)I^c&kaN6_o2%d>y7s24DY``9K zA!B&5VMdP~4p1WHRk;Cy46f(m**0YzhmnWr?|s((@*jNsrQV`Vz4xMi`;Q$IOT;J< zW=>|(xHwM7z~|#o_BsHn)p{Ih&ptXHMew2xU^7A(j`0B7^Vrzf&+Q9!-K{`&jtdkX%8v$A@2i~UMDiA~>#mM@3s^kgi$D=*aA0@33eUL!9Z=9pJFa5} z411PBx{_8V{><~V7p--02-MxW^=TCt73n?<^MOr8RtejQ{3ZbX`lI%b@ejU!6Mg5^ ze50=R&gaRO&s(UwX&WHnYLijTTDKVZXF%R@)&^)AUDjCH_=Cu)^$JTrIy(56tJ(xil0;7kNn2dqg_THGv!#v6AQfpA@2T$Gj2O3DEj$AYo z_fEpl>ILuoWpBV?e?2$bWRlTj-=SaM zPMUPU5*r|l(iFS~FkeSVaiinEW^UH(iAH`sKvx(d2NV@?FxMHU;Weu}Vbi7Sf+j5J z>HL%~DPCE$e!p+f_g=`~!J`K4l+0XymDX73#BQ)mMgcUf3Kf+t{0Al9Z8??Q9SKxh z2s%t6^Ag$RK8*@be}L zqTUOv?Y+p;hMrLYsSu*Ic_AMs-lDJKmA|v2*?X_vxB7hj`Dj*xhA^Zka&k?T6`}*J zIbYV}J|Zrp9nE+N}I&l+cD4FQFG%dMlf*0_^TPxe=B_Azr_n!KUF1LCgNnJLr&2lUkJx=5d? zE&RQ2!h`LNK|ZnKgk&1C4jjRz;%1P?yVgdQ158ZqB#a`}aOx&1Szxz7INdiuo{k)~-32A!b(aI(c zaKzlsCYLbIH+dh#V=@s29p)pKBl&HV#{mi+x^R4gYIW6xT(2y7`v#%Z8-g`yA{bvr_CkXnolUH88$-Va-ur7~g z-DdETfTGnr5LJeMhR8@*W|v}yqA(<3e&Kn(&7_MIGqAeaU>_<$>rX}xvS2!$+^0mY zy*jx4PTrvJy=>p;gY|dbpwFZ*JiOjGR}5$Pw;*8lgE$QwzbG|U^Rk{t?&*_F6lM5Q zA=x$I-Wx|^p?3^Hrre7S=iD52k^5Q!y0YYAx_W54b0Z7!GU@a?yK%nv>V2!v*WbBu zI$U+OO~*QDT;D;XgLhnmq(^ZBgzmQQ9bo&F+__6iXjWnq=~j=)y%DN_=Z1BRMX^St z$zbov+K3`fsg1aWFS*;0UZ9uH*FS)l<$JH_>sZ};9~oakek{=NWn}Ws23#o)YK(F@ z9*-0p6o|y6`Z$1c&AJ9J!MchRABs6V27?F#pd1X=SvujcrxmktPZ1zbHY{d`R}RC5 zbI?qC72o{5ye;2*+1|KseiKjDpWl{~5!%wmPP~Zw;Pc1<98-*{DDsdjntSk8n)cY< z0hv>nJTP^1s1qB#(-m+UdgEK{8rR9y*GQx+=7DwC#<(Ok&%8rw*~`}E?>(UM-plz` zBIu3QpwY#5|6|@I9pH)MY{86w}qT zy|#rwM*2A4y81-#Kyh5MigveABV@?r*Iny1;ou)c!S=lu^&5Tc{_YD@9~wu)qS1Q* z`}UaI4y5U-3Ul#&@;I`^4GGx}lgB|W^CZAV8Py8;QC#n|gI zuK`J6uWe)IeJKr&d^EoXbnj8W=1DWgD1>R1<0P#)n@%y5`{9mKt)#+yI=5nVwW|!pCWR(w z!HQ|{a37j*3CSHbwpyLBo2YdRp(@uzjs8 zkLjnf$7IzJYwip{L0_`+@R+@cCw|{m`|?=*f8W+)^=}QH$A9@B|Kq>>x9hk6&wq12 ziuBV(ksO_;?e5ROJHY#Y23%Zb+d6JxQmYksOZ%EDjq-*&`(yxY&iQ{TuicdUO z9420T>EauRzcIu09)`+59-K&Dp4l*fHMp(J8Lp`%C--W< zgD4+J-ECN?1^}$+t)$r6=xG;zhnsWgBLRpt$$4`)>C6J(U6!c)=41M=enes8mtVge z)&A!E`o|By{OQM!-~aJV75Y1`;_G*2oI}WoMhW$Zs5Tn5@~(pHcc89!XW%A;X8z)U z3bQbZ<--GFI|!<>(u@vdWm4wCazJ`84Ij|@+}@^&Mr>VYTZ`diDE$I3{-g%}H~+_f z{jdJnuOEN0z0^4LX00oF)6s1Ye3tML&y^{uT zEILir$pTj_XT*f)Hvo{rxhVFyn{h)Oy-ZzYFCOdMb849cMN7qh}I62aT=4 zV+Rq&@D@6eYYPf*?C6_fN(kHw=&8h3<2$7Rsg7t}yT^e<6Ii6_?8$dbTIrxh)@0NZ zJG}*vk9%CPxshEdLl_?B@r~p29YN(Nv>g(XykhHsI^H`^d@3e_#0AmX!=Kpze-H@H zIM~qwV9-zUnl%J#?L#`ijjl_H`oaVTJ-WcIcEK|^rmCX_f$?f8J0DCx4+-FuzKY{S=E#>C_> zM7J~#KdW%$+EaGC230KF(|g!5cK9LVIoF;{c5r|}O&pd4%`6V*+lt(Z*?{wGA*CHj@lsZ=}vfY0@fm9 z+trMXf@Kv8BS;&9A#E@@^uQ*yN8_QxPjK6-p}@P;O`$kPqFFIot+0KC4it1yk;W<% zv_5pEg`y&(3FFl^jGH=Y0>Lo)Vv2lEh0TNSr4+o$M<|u@0vp^QY6Hl;GB=Ou4Vsaz zZQM?9{0abIN8o7gsyL6iw(U82Y2*~=+_5>IE55TU&>?n+!A{C?!7JNj>n1f8B=M6< zl8%Crxj?p)h@3AXuMyc)T)>ZlKsQE_Q{ws9DTm zn6@4ZQj&9TuA5xFV>zA$;l1___z9Wa{mu@R=9n&L@IAHH>F-(tH-45&vihAnmaM4*Cg)VYWYkX`tnOst+ zQ;@dv^0`ZW4m){ep?U$LG0301V(#>~a894TcZ~!%3Y(-H0P68LTVap!i7(Q%dyNxS zV!?rqR{xllag`p8 zt2-Jdc@}DR^DaaZ9N6|F)B-3M&W@Yv0$rnQaL@KGokvhJ^pLx652uY7RSfuwZ|=I6 zGR+V)DGh2-e>AP3LP5~8=zSq zY<{xWjfJDj`gCML-mjiexkER988qVu{)&d#YB1sbtW*sAs*5&pM z74Jo#+8Zxa8?BTpb7!6D7xy%HAn1;kC;|2OIWP2uCvFoCi+K86d#44+KKtUxV-ECx z-SE;pLv3%S3g;tohd<60-(3r{;5I5SCXQbzp6_v7Lm|2hs{>NsFg$2A>@qS_ScN_p zU2h*37Gekta3?ooox!;194z)Tb%5erI-GquhViAv)yH{_MOVi-Q)Cd{OR?Z6niRSz zYG8>Rysike+1TKZy;M2q!TAuz1MJ$dQQm@wTjiRq6S*2MhYRj5A9x!kfJX-rid?Jo zj(iiT9A7y6#9Y(Es@6J<-LV0*%nHs%dGj8}IVBF| za=i%WuZqcqQrf1BL|xK=av|`|q4_APr7~r5UmaeTS1LMhS%iIyDrS-#od=B{Tu#iT<{7+ES%HV9?kH0{ zS51?I^(wHo!24o%bh_uJ>kOQ36?mWSOI6tZ{BGX^Qj9_xE^PuaP*dG*TwgaVL8U*6 znAoLlqXreSKd9)CK9N~-*fr=>39e1Nbrh6r7~sJ>f)#?5taO)Y^Dkj!$@GdSK~f^9oP!J@G!l zm(sN=VXf<0TXKN1jyYf2Vi*UyVU6Q1G9*%SqRza>S<0LG^gKM~b(_U#{}^`JB^zVH zXF+@{tPPI)V7yw4(Y&pId_+__p4r_kj?Gd>FRn9h)48~MiC4pd(PQ+&3+Aj6g&ly& z1g~(|EC%W<$QpBu(qrgGc?FJrjco+Y_;K#kS$GRKCYK}@t$p_0ozLzVl!*InTDc=Y zR2zXK6Xi*~FEJ&=XN>5JqY`26bLjkw7;I!wf&&dvOgG|VvH+jkes*$n z!BL5m*A*IcpCbz~3LM9Kkz6i72@zsM92`ljx%4Yt{;`OLF7*qc7#`@Wqu61Km~ z+&Ep;${V>U}vlZca@Rj7n8VbdF&id*nv?c^qew9T3T3qc0T8winIv;D_W{lwGQxYFF8rq*~X!)zB5 zfc2r{t~=I3HJOoRgB*Kw>eLaT4ChIi!r$7c*I*LQ!Ur8R3U_=s89nZ*l=DV#}24r(W7 z879(EvUUhvnwR7Kj7m6;!0i##5<0G49Qh{x^$EYr{ziU4 z(y{N9VbKVzje3=H_oAg_b%b%oY3F-#ZA|rN9BNCyT=VNbB2Lz z`<$ej*IT2vZb!@rKvL1pu`l*sd?TWc*u4uM1?Gz`#R@{y?rxrUIw@;2t>R+rl(VdL zEJ5wCVmG9tsGB37IS@PE2WLrnoaveGj2+{d(x7(*ncQ6~YYx@c=F3X9|yQB;-Ig$ZmezmPJy#mW7!3wT)LDO4uc6wkV1#7Ltv|+!-6XqQIXC zT7jNvPa}l(g;ao8>CXH-b3EtUy#<#Hwo5nTNq6G4r3tJP%Mj6fbv_wL< zORHj>KL0;+=Xx%=ssquK5E4j)0|MnA!ughaaya|`x$hZww{7&OTIDf!nl?!oFW&k- zJ9I0ZZP-~=E%NO=Z7y|bC^UCYWo2|tH|w-&qMLz2|6Z(LVsgmT_)z|H#~xJA)!QTO zi3!fO%X6Ze*t(evK1j{z%ACDqCV+4XTv6Nit?fY!*?pG{YGFhTne4_?Jz$InOQEC8 zO8{d)oWGBLllXA-gV&*H3iXDqhu(e^!a6PaCP|IEVQN2YjScgl4$Et4mGyZ%L@`F6(}Bzk7RSf3(APnC#Goh{(`} zI>vOV$E|ZW>82|VNHj*Wd3*zDnrmY386m>a;vrtS-$$h&YK!9g>1|A(2txmAN8-Vi zV(;i?RpLQ7N^j#1+~pH}|Ft?_&ix}}g~?T{B;iQYcAQ1dpxv-LGYB}6(-t%EaxeNi z0*|(<7)!9sYhCPP87xjp@i!(WNN)@X*0ne4>ICXWV1W1GeP}wX9Ua~DHabau-+nwy z;_dflzs$j;AupoU8f~pLr7zKOW3_8*?C9af$no8vNNGmB&|kdSbWLa_U&+6-@7TN- zYG=E|xqRx8vzcy5_wKFMTAn0v9OEN>Gn=L>mj+Py0ZTd4&dqUj40?uVZ0LqOZd6|s z^7AWM?qN)LirkmSGxqEdEBZ;_*KMMm<(kZ6Z}Xszvu~t{6rfmc9_AmdjsC{`_FGc` z{!L9k6wCd+wd*D>pX<}0{_6NpihDM*kC@1y~W9#Tsi!GE<1b%t+@uwx?k zA6j{U(O&m;$*o(c&SDG(`P?pV$7aVxWNzAvQ^xdIHI(zU`5ro2gfRvWna{9#tX;Wk zbNJoGz{0;(UZ1bgEZ4Ph!LTQhtKBntQry+CqS6YH3dNWA{M`Xx|F6WZFYhAvgfyxy+{+AlDQ`}Wa!Xn*)%4&d(Kn@#{N^_1! zWb{UgJyM{{&VCIb&G6i3ej}c;tf9`Z;9__h-J*|} z_{IgV#$#~-)z zPGz>@mZulbPwFN+vhtC6Z?*<2Cjk9OxEngX^4={^>xaSV=<8bze_grkb+5*-bDKzi zXwf8&wM&CaXFZ_$>(O_et*^2*r6iMLatN*J)(d&IkQ{avYdNc{Z0sP2Z;!k^8Dh*? z55LrMaAVUr%odSn!7Kl53oA08#$3Ft9G3leJF*J|S$e@Qx-1@O#m8kjR?aaQJ?+hvYcBzxxWcF40mRPN>h*n3(VNd#}WNr_jT8*bsE3E z+}-o;I&%!Orwox-36_;ZeWb`3mZpGm79`e)io7aoB_P zfVEq9ghpc(|H_hMd-o0YaBHofE|f*cW>v&fGN$VI#Lmt!{TQXqYN@CEk#E8G*_d`j$EG(#5Q6J^36{k@53(=s^>(I9 zcN@IdLJo%zuaCnajaZX!YBb@6_X*XlC;MZbennXKH=$D6I&rqfi;L49BUuZ;70*t^nI z4AEQH+fLg^Wgh?d-V3+q<_XMx2-aju)w4ZbGz7P1&E4u^O}CzVYV(y%slcxu2KZ&f zWlnJZO=eGa!SxfX4YsFqut}o5CSa7> zk;56uT0goh-W|DbITf6yb{B)Xn+Sbp#ghBZKFILS++Ux==Bu*xv191G(S^-G?m{bm zaYWdX<$Op?EybtldheZ~{i~q!O^?DA>jHgg_mLw7C5W!mx1$aXX+B+qj6lUIexg@5 zVHY`{@A)d<$}FblOnr;ZUY*I5XicP4R-2jU2Xl9`DyTQ@?+ zU*K4iLydeMx=&OWvd49e9Kd;yQ}m!qq$hY|JF6jK4K>S}?N%MVzL8emXXrhri|u#n zayyadN-N`IoH4J*2c?`&8~=GOFUA_P?k~<;_fYAno;x3n?v6H@6gD3>cn{r+UieKl z!Zwq&5*^EswbyK0m+gU1N%Gxu@}72xo#ux?FVu7Quc84NIc8jsV39Lu^N^UmC3~?9 zo^IQ7hi7l3TsJ(iLmW5Eaml1Jy7%GB>fcA(2+nNeNt>p9O_sjz0eJ2wcrRG=eX^5q zCqp?p)aC7K+s3@Svg_>C8k5pJ{nohV$7>d;#LphFHlAl4ewA*3iP$?CucRLA71up1 zy@m`WMq9tNc8)c!ey=9e`*zH4wadAXu2OmDZO?jVW??Le#Bj_yJEJ+jgr&8Z#NxuA ztGb;nMOoO+K|{s8JP5Nx1#_vDs*gK&YuP1iLl>a!)=%$9O&Aoe;bFV1?ODzT+b}ZP zMK8W?kY?BdOgVxY&Zv+d5(`)82yJwS@IFV1t=7HcG?EG%b zs^Zd-?HG)G?^q~KZIMmWTKs)r> zb!Nm>GGtr(RGei>1H9)r{NM2E|+_=VK4@)=`W zwfhA$`@GGRgBiKdte3(F00|H28FgY8|7kM+U3ct$?^$X~=cF~Y;ps#|?>^_Jcl-mF zknJwCwy1fx-GUQ~kOC7mAI6K0^`qWPV@&|YzvyKa$QG_cQmcI7sIHvqj z%w>qQg(~uW0<3}G<0~`Zq3N5*AE+xa`N`Vfmz_iaC5QT{!T@ndY75CV(l6qQwufvyPAcZlZ*~ zqxZxbLIkyK6eGRn04`X~T+SX`6V><^1{%yBMDp9*x4MZ_pHOx2({n$Y&6Uw!5K7al zefZi(VYy?Twt8-Z=Q!@!_+XYQ;%oF-cP{pU4_On|bOLY}z7|v3&Y53!Y{Y}_@g3H_ za-2zjac;7baM@qUh6R#}m&Mq)t%6a8HLzX9YQXjOw9zt8qU7T0bMu7zdGaW8 z@yCjhRoj$=L}8!@t{~ngJUxuiCO$cIB=_vP-T~4fJ$^TQc~gVpg+lO?pmpRRn1-B+e`M;!uXRjtb}}r~3k3385;|$k3#`D{9(g4s9|oz} z>YU40ATv(gLzL2E(?kFI0@li6o0#Fp4mF&i^*k$eUSJ;8Vx9#m$h@N)n+QY9#*k~1 z9`F8*Zvk0UMeK)1iNH#n(C18C4X%$OQ+!yX*6-J`2j*+--Z(wp86)|B`aL~|_d3u~ z&fdxz^>`AcJZ$V~SDHS1;vaA9I=eAD=Wom%`&}0cWfCfKYos3;KK&CxqrP3rOZW_J zK_lpq^E4E%$qqQ3S*qUZpsDgK{B+~+z-Hbv#>QWbcghD49d|k7<<6&z@04$0MW+Ii zlFbVd+ZPLs-Ju#t^tb1>5puC0#M@Je;U1WpwAE#IibtZ&HITbp!VHQ7W5RwlEKS=Y zE~t*9`w?`m3(el$&)+91%4t_+<)|>yR+Qe|S7I;6 zdlSiIRWY@Z8;k#{`NV!@(4lw&%|nOG+@CigWFMJup?B6XiXU)bq1bXSS-3w zag?>Y{q9ei6iw_MXExqe^v=k2&zAe5Wv$`&NvO+$`h2bCVK;Ed^m3VONkQ)BeD?E4 zj5%y8@QWF(R2CSw)T1GD1b`NJs~{`g$j%WmX@vjbH|6cElStmNZ;$DBMY5RhUmMC^Tj(SB_2x}xaZHYsVg!T$ zI+k{MMO`b}m_sc59CU2i-b2Du50mRVM5Jv*ZSC^2@ffXMM~AQNjLDUm*E&dFA8EmR zesh=cGc*2yZvg{#Pkie2+p|-zMSJpCbCayM-EI-syN$YASQ1?a2Hj^P18C&BI?sv0 zFb)(%8u9KY+k8is%3kYQpQs4p0Uw4h*h=zKgKucm4Vz6Z4qhz7(FUq+vr#c)77X^=L@DShkZgSe_4uB)YIDU-BWv_ojKQQMXNJnBvOv@d1AO+>!+x#NKRTzMaTP@sSh(O z6g!$sB<6G`t;_6)jBhIg^eCAkUII?Gi7u)2f+NIJ0uxZ*Jq2sPSUVbHl*z1Be8KcM zV{U=)B%d$Oj&RIJ;&teO%KQQoVDRQi0#k7`ml z5jx3Fa8b;S0_aHny$HspcXJc+P|l7{ST+JAfCj)nkySN6jvA)#gXinTVI*(o>~NDf zZ|r(D(Fta!XUD!W*KX(b@WIrmHt#?0+gFXQCfdaGV&O2@X(%H#+@Py7U$(U9vyBf#m~Tchl2I12qeK&fYw z@*Tlj`?dbhF(hpuAc@NaFU|u%V+%tjaFNsK_Spk5v+8W-Bi84gqeE|aE$beFjG(q@ z?8fg%j6oO5QQlJ?Jfy)J$X+T|E!A$Hd#qxP^EO@|UVebRp0>R%h!Sh_LX;cB)$Kke ze`_VyR8F6zIu>UvuGGbe|7ywk-Z{alRW4qpXX9pyxWS&Ux9|zGUqg2EsW?W8Gf(%2 zTHMdky|X`aFXplN5mKYNy$f45-fuo*r;jl|Bb+|lbG4>O>_HuX#lXij zujMky%t^vgjneND+BU-=c^Y!_}@lC{NWqn06`an^nmnT35y5o z!d}B?({S+oLp{$ZtG(tZ2a9%@4RoyU^sc73!Tfe%-DY_Hr^Bt-=Z$tjDd#$G^Ma0v zF?iQ#HWAY|Eb~2vP_$E8C$9Z7o8wMG3$!*qRAaTWCo|pr_HOd!AG~+p!-{_2*qsLH zb1MG5bEvwDTd5Dq1dy zd+z%X5!>)cr0_9YLL^3h#18TB#M|AoB3R1bH_W#Nxs&!;w~7;DIYsIIY){);^C#7f z`Txz}@qeyu#?9_uDvY9nVorVFa&*E6PZB!VqR$SXU~h&F7OYA9P30%vN@+YQ*K7^p zzqb4F7g$QK+OT8ot=>dNbqF48EhjLmp+g%Uy=FK3y^W`W+0YA9@6BZLw$>|>x9z!D z@=D~|b9Ukzc0-ziYHQ?ibAes4zPfmPLJ|X`fo5c3z*J;n*}zskIrFfuJ*LOv+y$cQ zMJ(G$w>qDwKUgPB*Lg&pCcejOkxPK7+*vje9Ca{3hOKtL_HwJV+s*kQI0e~>o&~-8 zs2`}3XAqj_Z{H5T$OcKn=Kx<`$IT>bg&y^ZCJjoHj~diWW0WQvm)S_S>Yq-37z+q` zEvZjvJdSsh;g3s*nvbir4MFh6Z2^Kg2`F7}GD$3EGVSDD>>rR+sUxQgo&el0;0p&< z9YmhvBx_&kNYiUV_DYjmcS`nxsfr0ed+V4k=O$FkYug0+57AXFXowB_>YD?~~xu3nG z)^03WQ<}DJY`veJ*ObK89+$J9u6T5DY~boA?IFMIjgr>K>uX+Ev33;wEqdGb^kecJ zR(a0)8ervJC+yxW=i$hlKR9HoIo6tm+i6SXcSwG1R6eLG2uU7cu(r154Jt_ z0Ad2BaGtX#!p@13>&-TXkISp<8Oq)W07e>*+7t)AQsI4a8k{-nI3MC+H1adnveSQ1 z0fl^~%iRYUIEV8}{pMRla{wZdB{AoFsq$g{Z7J&?{&4{_@ zT?jte>^3FX8%KjpI3=!rjM~Pu)f9OR37|_?7JBbF>xiC5KF|Bx_VJp8Q@q{W0;z=k z-@W0RW3Jty4fD%rgmBFm?NM}?>kU08g99(sJ}L)W?uw`Fn>LP`U(VgAjc#SrV}h)- zV4X&6>^k>;uF{3e?&$m;<4`^#ld|c%Eqic92duL|=KjU&0l65fhr@rES9%q`v|MD{C!BGnfL*EkdY@#;af`>Y6sGv>ay|4>B)qH&3Lh$c39utDPbZ1+h=84I2 zKF3TSlNp{X?pox`s}|sJrP=G8wy)8VEF9w-w{_b%0&k_y(ACV2Z9O>Tz*T(+h)IGZ z?21@g81u|8ZMhP;(EDEX9ZeC@cLtGa`|Mh=z|iq1&}^f|YxU_#`Rfk1V|8E7({iaW z!kAB4x=cZ$N;q^o{+qa2HWMHz<-_0XbDEqAERtNB%>$`K{OGhNh>9N>J#q?LP{-uk zUq@;h)UyKu|1QdCq1ttD&GoQZp?693?hL(6krz|MpSG^79a`ueM@B4 z$WqU1ZQy8vp3-6QV6MgO1X4UYUjgs{kV-ETMhA>%L*hW$vZZo{^IqD~-?N9h=yMnc zZ#%pwzeCLX!=N)O%^F@C?4?8aqd0%FJCenvP1iapx~(Bro<22sQISBcavDhZ@u$Y z`${trVxG-d;P+@_4ybi-Z0ohC&nuH_fokj#4z8I4BS#}R7_zVyW(DM+Lxp$RCw+Ro z(;@n72!)o(mOitOblPE1O{wjE(RU9l#Qx6v&oz$d$jdpHVRZ3BY_fuCBLgG>mjZB( zWjEwW?Dfsz=9|5ZnidUNWtWCKmIK-{+rtZN8};>~>|-`y^U|I*JG?%K0fb( ztpeW#nd8&4AUs0#_1YUb_Z%Bw(4lxTFg3*!fF?%KT`E*;DiR1MBjETqB<`T*Q0ui- zyc0*BlLS0|W{MS+`py-;xoh1W8|XT1ufIX38AgB^P}57w1WUF#+X?vW06Wyy@;0aX z+I4EPYBcsH0ZMQRA~Db1Yz~2HFOOPSW>^T!rp3@_$-0akKU3QK?22gTFi=ynl!%?y zzIh=sd?wr=Mkn*|FG-#KqHnWCWACFCGoVVl=k~tx0&~O_*!tpjh~9uMIh!o?KHoUw4kcCtT~W4-T>z^S8NjN$)tHo%I}+7K|k6 zFoO{dE#03}aJ5ICfz=g#vhjxBw=p2h(GNb71MFgdW=4*!(Pr$nKO7LQ!}Wwjho#ln zvbSa5P#chm35=)-oAn&~@QSn63+$R`ey!h?a;9_X&ji3a9?$r0*hmeQZQ2>E`F)2wod`rd_Mz+@$nb8o==H$jgv%X!iB4u zLev#K<=P#uRTnfC?#+qrCi{)!ppd?_`oa7y$(DoI|Dv;uc0PZ0O!YKmC-+ z$~>n$j?Jf^@p(W)ycY=61$$T-Y$WWHVl#dpnET=^K!lL&m@5D_Q2;*9za04}MK42d z%s`Ev$!UYCmFIx)$98qf1eo?_?YaFMGXjZOE3J$QxAl4~{#Z%;>IG!oHX1V(*sjh7 z1y8xpMlkQ_0PyD>t%g1Sf=$4)ea!>ZQ9^rrCvSQLdUpE~zX)n+4NwsbxO3LJ7cPjw zct!PiS*VJ92nZo4IE!!r!O?S@3Yw{$jd;2b`UY3)rd)w@%0`;4l16_pO-EIIAacKb zn;R&J-f^eFA4PljaN8u=V+hDOJkufQ1=&7-<6Fr7nwA~?_{mXc4;CR3-{0koFmGd- z49+&iSKjx;-Y~-0ZqaVW&SRoq%#t_yAaC8S#+pzKH!nR}zw)uIM`zpQdDZm%ddk-9 z(Y4`*k;ja!>rp}P&!4JX zbGzmn?rBuHkb5SP z-!cHl4S{Rsv^r1VI7O9xXN2X)aa#`-12%sAEu^w82q|i{y*|POz+b!o_@eM4TVhZ5 zCgcQsKKAwcSP$RDXcLt~o?$_{nlyfASmNFM9pu8Ff2Zb9C2Pn(@qpJ-hPQdk{BGC* zZxQ=D+)wN^-)DG#iwbjXY!G6v$NiW(rC-U=n*gg=@4!L_k&&NPdG_+R`9c{UJw{JT zJv2^z*-oGBe|%$VCyb8pYDm0$PlU@LiK4BvM{saVe3w2xj>RE$>az)V{;rFXij^KX ziIkIwxBTNm>`5?MoC~V0uLV_RupF4dvf^X(^n5xLIqB%Iajz+lwGhwFnTk8D0bTYa zq9gT=MUi;r^K9o?anjFJL(`&e%jWe43^ZCu_1kNI-m027(!8&x0P+{b`1>dnk~L)m zFik{6JM&v)6#2wBFAoHAriXB;9t=6G%Sz=Am1PF6V&GjXM>zh_4D~zOwapglnp}X1HFm?L9DO!K~bDS94o4Jl<(JeP2lg`*l+` zB)#QgBle-%2Qo`+_x;U{+!n7k7BBtYEe=Si?=@$x)+AwmuCLX#m3N@I!l5&#!pGeT zV{$rcXDQ;dt)gM@gwd@Get$MHf~nv{@N(Y~qvu`oje7U9diTdN4bZ7LHM0(>cl!mW z1yUp@3ze@PUrkzBaVSBf7=guIvjf_J6OrrO6H(9^%$@ef=Als3kZo$>-4%==!|rymFLi5z&$ zcmqE!WmmOsaGmCO*}iZIJ?m?p&V%Jg;Dv8TFHEeYQd-u=JV}==oy2+FPd=5&`~+ry z;1Z-ZNh4xzh-IKG9+?7}j0_D$O2mv^AfO0rZbH4*y?xwmpma4_`J`rs>59pPkpcui zCl9gXN|iO|3_X;ls(p{qL75HRf8!Dc(NFdzU(9!gz`K6o`@O+G-L$os92Sxvc;(+< zGF`WA_Qh+3t!C^h5J-2Q5aT$Xg(TqcKEDy5=pqG+#anY=d~e}`*1vHH+ZpoR6_={c4cj?fsMnh4|Ga_52ep5i{uEAYqr)ieM-O) zGD_dG;pOmqwqg!I6shpE&UrUs#t*ixugN=7Xwui$*8YJ@(BAf)IqiL$vDehU;gvxE z=rCTbLwhAzXw7wBBl&}1x7(qF%4fVi-tXXjG@#(j1E*zvsk*E_GO21QYo}_xkA|y7 z+woB@|G*{SmPY8kd(KC7Kk2j&kvlx6nD<2w604mQuvUy}VLIdvg>tpy(N!TH(9N)# z_1ipc)X;r{Msy%k##@^QOgA!DQ$t22f8!FyWH@r5NAfP-bVWE+fGL12mU46dx}BVt z<#blnzT2Bn=v#s(Ma%WJVdTs@-z-UDp;?$3Y$BM2GAx}fzX}mD!;blTJO2Nd&?l>` zy@BHPYK#~5qwi|wJyH*o0PT=MY~V}Wo< znf1vQ99qwmk3jm`sv`j|y=K_KCs%MZ!L+u8wZ zTsBvSGBpr6vAy#~(PFl1eGA4rafOROg?;+`+J*mmnvB*};`~g`f8Y{Kx+KeJ;toz` zCmc?`(`Vxsevt5BL2TGDoso8hkS{Rkhdt3blO%K5f9%tP4rj|)c=OJ?g{yN40ZT~c z$1cP)Qf%M*-GAc}lHi?SsS#|`PNrdHN%yvJn7osYs`OrQ?@r*0b$BpI{ervbV_O`GEMm zD;?`uco9PqjDB|^hcNA__<4#D!$d$!-rjW5L!%ddS%4)WQMg%)u=|^6pb7HOR@&EVsGZQmAY8*H@})4b&rV{WhrXO+?WUc8 znl%Oxcpr3y_u>PN#eNU7nEj1!feoQ^202w*<3S3|F-8nTL;A)+tMusmHlm_p714%u zLSrvBFTyzyq4P}Nc6gR|ixz%j?sx0+*lum43W@iX4Xf1|HCKNAh$HWNuVa37aw{Vj zyJ!M!{lP3G@2MD|X;cbue%Ec;xeBOd~0iJoX1L5qGEh z`gTugEq}4cq*F1wZd>K?7kR^FEh+;swA~^C;)`dSL+8*wSYwhei{=3s zECqz)tbBQpA5B)!7gHa);$i?=XCs9qmMi;ZRRoAT=e+^cFF5#FVcpwaqw_fw@z-}b zX?@7yO!7#VD^8Y+iAe(;(it&Q@r>_EiCt}&PNIcEI0M6^{>lghoQqKL>i{3-Gz-t! z=dtmMKu3kowPzAXO+x55`W$um%N^C!W5@ed-{;s#DvX8nryjdVcmSWz9ZGNN1berv zGSCWs8MPPT-DRN86@=8inzHBJ6Ro)rQgx*F`yTK9{XyFQz_&2#9Godl+V*TqAe13Q z1_zL(iCCa!`O@+6NEvM9X5~BB5bTDGC7N?cb$cfaP$p?f;EQwbqY5nK;RS4a5>YEK z8iNn@)sBuA9`E`T4mi)FeSz2|bOM+ad4~9Z37;Bc?Q63UI+vx>!Oasz1(jl-@O?<6RxRntrH|?!4FRkZMcPI*BD7@NjvrSs<$>o*|)-r^Ur+q7tKkzN|`NnR8 zoS(jo)lF|m7K5zOg-1YfKc9V-GOm*q`2^&6d**#MlKf_oR87N6l(;Y(WNGFGEB6|gabrwlkq}X{s5%Z&5j(tCa5TU{Qu$y(b%p3s^ zxVOMOHI(6xe{pxtU2Kxq*h(SKP9K9vKaX$aJ!F5UmaiffC{nf2FNvIPxmP9>KfRQb|bJgt2*y9veZ`G zK!5;C`MSMcq&6(n{Zl;^o3?iSM96>OTWHnb$k>oZFzvIoVg3!N;0Yff2S}6DwG;U+ zVSJVZvi7q!PtL>reY(`=56U*)f&v^UUt36iL{=6ihoJl22vvYYwP3@3PC^I=-I%b# z-{rfR`G5wHu;hdG0t4oIdo3~=iO8%4D$@NigwasU#CV-4d{G>Sc?r=RqkYPs18jP0 zpicHz?u%77=DaT`G$6+K$=TEhC%GRe(6KomU(cXD$lkXM-@qy*C%dydEJA|Grc{Eh zS`MGN;7xzG#{=!spqmp(o*TEuEK&zQvs**kuJ221B^MJ8%6ftl{SeGa1T9PKzL(QT zk{$(r{9v50svaO((Vj7i8ZaNnTm*%G!CMF<%DO>`&y@m@DVo#x^r5>1?$Vc|^u{N} zh74rcRL%P5^d?JWuUVp_Mi*TLAp3$#p8Y+D4oxnwd2&!lGsM3{W+!<$=&FQ#4_Kos z*W2gHhb7AG#C{$0^8PMKAK$m|2QDE5SqCw&xYQm&8)rLxRKR~dXB_NYIjl9QQ4`N= zNWajtZ#mML!o=Tf`fXbxdrnlEG4^dB0}S1WK;E76mdiv*KTr29-z8u;a$Xr=DH};n zG6jJ1I3x0Ft)=SZXv|p~I;PR9mW&!m_aHD;C8ayTb#vcWX*Qf#!J_1luhoLlP0i-lSM%dMt46sr`EvE2Hw_ z?zkfBOjQCdIZKezhftJci}vc0mPk4+j<~OC`V*JX*Jvr&UEZSku_ZH^d9oI5a(wK4 z4!B&xZ1#r{W&Lp`Qp&V(ZIUr3pG(ufxD_MF6cmR^!BJVg-8m%)dV2l>|9)BZm z%C);*EMoZ{1OEVLlZznIZzqJR89svuA8#oo|AYSXbM_OS6aAw}zMiY2kCaI+`p|VQ z_V*iCo1OF3-Pi&j|Ll{T?f4^?Fc&eLi>WsJWUDXMh2!yb(}sz`)+JkQA~r{F=MchW z7i7K%LF-hsv6sPZs`fF1TEtE-z?CNnN}qXO?5#y`V{1Al;HEF;$TF5BC^bzQ4Z8z+ zBiWtjXa=LS^B&AWLk+rsLqL4nbAQnUH@GB*S0j?hnd&0*q3=4lF@P&Hw}HR~&mvrl z=;u8C()Hbr-R?f)jJ=rRx0tq=6}=Dd;lyPKBOG{{FKW>c^t&gibI6~^K=b>>078WD z2BXW-_<}(P@N0(LXWFr+oR=$zg*x}5%0t>ec#i6C5J}L@Q=;i5!4`^m)%k^z z_w@aAcHA>?;*sO-x5pr2POskX8;d*kGbGoHDz(0iGeGVXKlk%GUWgVSEnl~-&A9A? z!=SzR8_5Y!6Bhm!z5J0MMs@*D9^XV@FbTCWhF*bC>XJlJHEJ`kk6K#@5FrmMYe=@$ zMWl{R1x&U(z^+DGtU<0}A^uJv@H-bL?;%fE?* zwHnpNh6w4sJ@)$3vB>*32Z0VI1fUQ{KF52FFdrPP#p(Li3qCO^0HiJ+^p2p!Wl&7l+8dtR?d*Lc=_FSvNdX%fNy`g^#pSjg(MWnmuX}|6=l69Y z)z3*nDwyNg*SSW;XJC^L3&fP}+G9@IXSP_wX*G%90k~^@gy~>i0CXt_QfH(o-UsH1 zddR)y9&Ab*X?S}bwK}N^ROiP4qxJ1#0QkBPf3}BwZgUf;0Tf8_=5sgkTUI?uLHJ6d zmO6WM_ug5oaIe)^SXyG0LHMQe$Flyi+(8j~j&ZoV@{`I}b|hK-ey*f3ZTOlS(%JeO z-$K8qPe{H~BuPK>UiAS&qPrrlpgPpL3A@Fb@*Z|Z?*rxzs+fI0Ecd}2dn=p!qzq-1 zx;L2wERTy&cfc0?8J_Dc*i_#q#pX5stlC1PcqR=*w_XKKHx}elaBJrf3wUIF$n!1@ zaDk1n3Q%g7VVj=OYH_x-{W5$3OAmf9VnH@2C%n~2 z+we9&?lVl+&#w+aK$YACT@vj!7ExC|KvL_Ec-G~lf{-|(#=gkL#c!#8-rei=T3+c! zuIpWMq^qvPZurhKkmd^oc{vjBFOeg#5Uk1ry} z&!CUOb2guy7P$CCcfg#on&x-~?;45Y{d*`Ur`IR{M z5q-V9=4k#KUl8b8h&Bm6VcrA*0DP+`qgdYED|@;;<>;OPmI;Ptd$Ke3r|6OO_|o+H z2Y!6qjJj6QidYz=W~|smh_=?f=nf~rYOoNiK+5$+q#!v8>yw1E8+)#p&UWqEBTV6Z z8(ECk4o$3gD%ti>-n>8x(D48Z&_l^s z{t@n4Ku-Hr-k6IX+wEwlf<$)elolJy$}fc)&A_kaA1G5`nUmsuJxp& z2-bTbYBBXwc3*>i!y%~z5+l>C@1$(8 zWa&*tb z9{YZCG|(cT5Ryd43m7Li^Iy`W>mn0`ptXkDdB;XSuRhZfHxLuiC8w^f;0H?<4LLwK zYjk9o?QS>Mrguxett+4n<wSBd#tB&y;KOe1i99&QXT*O z_g*Lg|82O*veoRHC_^V3sOh(eey?}yBtW!D);Upg{>5%XR^3qaH}-JfM zmxZ|2E*eQd0i6{UzUP(G+82oYUXYsH*cPF0po=$DC|RlxKl)5iVMUI&k`B==bz=ap zscn-NQUiubenyoLfKD%+grlCXZ=S7>i8%<1!OUGXRqe}z1Bnd<2Yxlw1e6Y&|g4Kw77+)YD zqW#A9J129*v#E-(dmSrGEh9dMeq0tE+F5_Z348tOz*v8sWbt$;|yM0mdO{Sb^9AhnXe_O02C{$O6XE{|K!m3v}d(#;ah7|EOE`+Q3{ zXMOYTH}%B2JaGA~HbQl)aolv-4#yT-^y!kaswA zB&KRlb+^g6c|J2yYcu7nx85cNuJXya8Wtq#UVHPrIR%q7O26>ds%?@>gCy8}bY7Ba z!QfilZ^ZGEj6F>3Uv%qZu_~BCTX#y}Yo{~=b~DEdx{L{X(Id?GW_xRnTMzE+_cToXzk8CEW=alLmB+JrkMdB&J7h zdc}8P&pp?cF6sRv?E59X-A zAXYnUk*9l))eqF=Q<3LZ_KUQroSXte!+}6D@bmRm&{(2BM=~odcgsy`9Ak@H7y5oD zv#101z3)!G8=!y9NW`t3=P<6zlYLyEH2F313n10f{YB;pX@Fhk7jtzGNMx)!D0~jL zqsANZsxQlhq><*o9hQ3Y1YvaBVft+LFl{|Z3VgwYR|0Y-kz}nUQoR*-t?qpWK zzBtT^C5iE zC7F2MPflZcP=`gR35Wb#t33}-f6Q@9H8X9Xv?Q}lvfLV4oY{d36dCuwa7O`Jpb0)6 zE&o^klaLI8;xv#i1xHgjOmy@URr2v2|G>9E2iR-G?NAz<67?pe8->v=JD?ouV*`I0b=z<3x1Mbs$Y!XnXGpTh z#`c-g&+_y|9?@ZVthaS^p6n@-BlfNUK^61 zQ5nCRy$=uDjWOnU`@F|1ktAQRxpjCqF_7B;p##2w#tX>z%1|s)>W9eQ-H6l(qWAeOH5+LiR~M$WU^07PWirnnE5Z z9TQ2|`94?@#KMzjagwl`Nhq{-XTFwMq+XMGkg=iEtRCZ&XQA;b3Phwp2M7Q2ToWSx zO^tG6b@M9v%{+&b%x;S{$7$ycnVB8T(Eb~HN~oFOVb^TD^)a13Vq<)djeed1+Vw90 zohSSzpkOC$~4u==7(sj=y`Mg-zv1v`>~LAkscA)!gUX(Pff*$)acz`5KeOOKn9fglFs3 z84Z4#+Q`ll^!5-ZBa$boZrmZ~dp5{RL4+bL0;^ko$q9+pf5hlx=3=+lCU|N{tO5Vj z@5^N9nPSn!9Y4%$OeGLcweda~gKf%#_c;$2k7#aK>o7|rh?TL5HxC$bA_-&^z;pSU z`?388`vwGDqlmuovs))b6_8y;nvi2ybjZ>eV8ZTB6U3dTbiTFr_-+D4$;t6bpzt^z zmmP-$9iZl6x3aQ9byJu%DmSw04;l2frW7}swtbGO>lyBU%_m4?+JJeC6n8=8H z*d41FLeH~!rz7es9yj2hSG&F4IV+4*%_M$ES)VRK3;GwzG`kY-cAc1wjoT_cLm3iEJMP&BaoMylX4?Ti2rL&iT zZ}u|A$sY}78bMdDeb9X0!^b|6Vf}r;{$SyJyGC^KC5m&6r7>3@%m(KdnN_IT0U3=s z*S))pqR8dhnRAmX*&5!RUbl~tom7XLs# zd6?*^v|y9-o1Ko9Z!?1$&@(NlCU{>)cNCPz&#$xAkF=g~z>dHK-4FgXCJIEA0AR1< zAkC(bKS3Hx)B+XtS??Aj9u$~pZTH9wV30HR*krRTVV-(0WL)xXTCSna`0`o)a_;5p zkK8qX!LD)H+6n#ZBM$(cpb}I#K^z~>P=ct8C;CRnnUj~FtF zban$Q{srYgesz%Lbnm2dG$KlPV%P%t01zjA`RHE)q2emqsK;5tjLGP;5l}=7S>{Ld zv2WKU_9bZcu{Bjp;6%E7{Ogl0(ebiH>{uu#+^0NVrhO^ zfeX44S^||}661;P?{|_n1pvu9Ut1d#5TUQRhmsRc|7-on9e!G0SN-hK$LprAk150- zF*I1x5lfEzV54C(Pdi-$h7Ad*P#Oo@HEZ95H}dJ+!|Mfhj-RNA#LGMDc_&(Z3-1ep z&%i{klrJUlr|T}vgekWQ7t zK9lyt&L_)%3B9-z<+$Oyv(W?uj^tzleluauaqc{oE9L+n-Qdtch!$ay9*Bx1h@tNc zw}-s`8vt2AroS+ZST)oe3d{oTfN+6uc#znOa)`HMqfoN>(SvstpkMHod+Rb0IiQo? z%X1K)As0!Un*4_?aa#Q#dlTnE5Wm=bb+5=LA1Y|20SzU?ZCJm3aQ>ilLgX3O|AvZV zS|)pK6k-0+Aadd$VipX3h-OI+eQCy8iS&%cr5&Ptg%uiqD^e+e@=HzRd zwFD48zR&v%Q9VcIVQOdV)3W45M83{ba58v*2QXl|zYPNa)(q9zd^hheXY7vw_`M9f z3Db*FL2{f)zou#2Nx>lqE@uYr!pn5E3j$fY|>M>KLB2hxmE#V`jRuvLf6; zy4Q?=5@ZL^&v!RX&O8OG|8R!=bqCGHP1MDrv2)&>Z)}$KWXVwy)53WgWj^ZHPq-vc zjv&7!BA}4hT?re$dwEP+{eX9TBq4asm0gOtxifdvyKGDF>rX>gEzjEbp2e#+QY^d- z*OH*ph2Q#R+)}5cqkds}8y6F@pS*T7)@wOtPW`CeRaPY&zmbm!3C!)95Ff|Uk#n5} zgiQM$$$E+}6gp?gHh|#cg2>5fl}&Rmvpf|Z1nRTSfl1m8gVy2jhz9-gYX4l1y4a=Uq?}_lUu!x54TCKf zOmyI)N9=Y7vj|nalxW%^lo5Tp*5-@H5lOLp`#jf>&I7f)adWcrg4iiAV#-EOA5SvR zRJ|2hqs=oga?$!;T8K!^W4!vUI{J+yAIGEs`g{fYhe>6#o{xD2`ffS1_Q~;ep5Au0 zI!X8TQ7D8qy-dfs3sIA3Ek1&oTb(q+f-;Kt8nZ;TETsyR!7O#U#an}oh32H3(|r+% zF}dx8s_1-N!`5z-~qV%EE+%XTgYR$m;d1)%u$z-tP((- z4tceTTp=($3A#%uT<%FfG63O~d&)SaoTwtJko+6ymVk@3eKs2DI^FeZ?7O$vZA4rl z@)2ukNC)md6s?D)I1hOr5ME>Mr(*Ew8(wYnxu6H~g^QQ;`@zK~LHR(|wJ{)P@HI~XbZIpVS zKLX&r)-hp20Hf}wr5dngroF^SyD2 z)-432NcxO^wJ~w9dNxn18118CBW9-Xd|(Z*?VPu^@%~bopO}uz-eYiTz#haWkNCry z-QgE*6kD4&7x8yc(hn;i_)2r|53w;$F~@CiPO_Yrl291dERTfzVwj8~L1kY@Lg}p^ z{KRPhyVnk0vv;(py0Q}7sO_SzCL+rNk|^Nr+_`!EWZ6%a{P+hoa&@YH%VTovhgr>P zOU<|Xcwfqyiludx0n`GO@z^p{6N2gKECgmF2mrYi`7%6sxAihqBe9B^w~?aA1=^Kz zSc5Oytp+)9IF9Ew%`(|QgJI|%iK@w7ON6y{Mc%Fra4@P<5D>z-2=mX?zH^`-Fb*7* ztV16Lm|=~hcP&Fb&tz^OUF9mLjSyap9?0d?)vT3L=ffACc6ZpDP}KQ83#G9U8kdQk zxY%;;BmBt{IymR4GkSzQwL{usTrd_$^f>E6usBZ<*9RNXM#`V=0LJA!bu7bWibSZI zO={qm8-HPW7#VLpR_l1CXQN!QOvp_~Z2K>@>+*;nh)5|+5%vc^V6(#ZcEgDjy8*4J zS&DV5tVq_eC~{7rz}XKhZpx38L6v;h=`d#YtLp?!lZi>y(hKHh-?KFST7ZEUFY3c@ zgE61IXJyS#L?p@_bG#YMTvQ_>7P=t>hR$f@5rAhOuNchsozD-N?>;wf6WnF|2xbAk zN8n*6AsmZ1*^g?}Zqt!#!I}14KDw+1CZRzmrk|as-FBwiDwj7c)^|J2*>5$ezT}de zqp!Vvk0}k~5#d!}7`xT-l-gc03`sfNg(E$P&&VaY(>5BieMuH)3+VZS_Xuc0yotK1 zhCFmEh1v=DaV7Iwt(ag63FtKe#4<=rb>l}PFT2)p*s|6?_wl7?-s1orYx%C{N6WsM(DpJr}Dx>&|)oF0q?#~&%#$d8= z?f@(^8FiLFDI6*Q11i$o+c?dtzXUM(9G}vX&;Fp-vJoBzC?0dR2CSFJz+^>&;pX88 z)7d0889ny`r5KVp3R~%G9-}BRtK=XQi>9F&08ck5G#xRlHbBR(Rhl?;lFkX|EbTTr za$o6P%bAxHVVzu;8CJJGDtd};mw(Yq3$ur$asG^E_ZqN|ZG%a9397FHwF)ZEt+!RQ zQI|ES?B3G?Tc=n{k&s&5XyW_Sbb|4#uV3vYu?@Z2T4#1wJBE;6!o@Z@< zuJOtzK0r_CEyEai^NGi=B`#rf|XqY0WvdgHm@DN|mTL`=%lCT~4i zlE5ZQ+vDYZ)=3*vFW4@%2W_yi87Ql}^#vS}sUt6)J92-td}$Xw5`C@E%7_qOFDJw0 zXGfwPWfevLl2!y52iB2Da5%en2Ub2O)Lot{{T4rLF^SotC_~_3C>6I4550&rw;6P6 z+IYY5TVT7o#|CDF3!e4+Jg_DA8<3LmNu-->s#>p8Nh{m|QSzOt8Gck+5q()JLK>=0 z^ovQOvQ>**V=xM8r9oZ-S@F`ZF71P;{lIVG_G8cQv8#%eiCw6sG860|BU#^L`D@OT zsFUyayOptlpv3j7dizQ2Z9GXJEU(&|c5Hg6gbpv+GpsY6ojUlna`<|C1AYr|CwrME z(M%TdI9GKpOek$&u!1qYFy3Kl|~!M(Fp(%$Z6Hvn+A z;^_oqgo0_u6t)(qTQI!r8D5r0*4aiI(X&ty^WKqUI6nfvV>o#o^zm7(Pssz!n+^&l z_jZTbnoKmXBPlAXIcYS8-`4o8rp;}FQMx8`ej<9NMNa~()QEZ|E#t1bR=r7k z__4d{ePq-|32?FF-#{3#rC&~{GoahdrlZ-5g95r=!8O+UWMzNZg^H$f9M+KC?WIVbu_-F}-4!^;*Oc8GwYh!DLvrp7v z2ZDZOOt;V<7APj@nNQ)$SmKtm=U{r<`WyPKR}So_h4g2(raRk7%ZL;CiVaj$T3tjO z*~|HjTZW#MeI}ak968^uiZYi|AnFj=QqgRP`nk%M&zN=m#&3atFZr!(ZA?}h++=m(>w`GF z7wz2u(Ftta7)@(`NC^Xl)E2KkLC?pP=w>gyS*;00Cz&fahf=1;QdjWvj^3`(iNxvn zJoj_mA*1uA;vfCUtDRX!YPTA_^yA?$1W0Yj#J|q{T}u) zCsAfH7ix7D-Ks|f<7LNx+xiiEBaTW8$nQdy2tAp;bh~AbmaQRXn{t*0I~{2p#SwVF0w7NjwKmQH8n?-48r) zT4S}IIt!t3;}aK5p!pesCH1)N`NC?p%N0K^6SW(sl_1F@abBxpRINjaF>f8?mT=l_2dVJ8 zY_;0vK5_0{$}bZ=+8n2sH&`X_ySTq6j=negJjL@!YM|JPy4JIVZfzt<#{zHdr9P43 zY8t)lE8y11BZIjeYn9HAPlEW&+pV+W;!m|=p0WFKY?FZY?!I~kMI)9hgUHLPZlNqb z@0G!rZhJf?0unA5EV{;Nc7(qxpyPe5@E9C}&bVnr(?2(p}5w#KaG?{@jalm8S>{&L% zxY80}TF^~m0F7Fn*V^1Jt6fgBnC(X=TX4={0!Op-Nn?vO>I!QtHcD~{9v-r|$eQ?L zoCDsj`x9U>ilQ7@+F6S8v=;(WnMJ#dkP51%lC2^>S#Q*t2nG8A{p*u*6;b)|fTr6X zyX$y=#E0Y;Ds36ihcs9hF%aGN9syfu(E5TmH7dO2j*~9n!ueaD1}|mg0vD#$#tG^& zT5o9GT#K!8)+3*Z7skXaAk88Cx=r43!TMy27Shg zPuA#JrAhB6g?c+Ju>Ej@yf(^_(x{P4>P83kYKcH6Hx3<=_F5vNmQBriUF}t2v2WHFclX?d&L)6`WkkmwsU9m3+0iZR89Wx zx#!%?7AbnkMO~M!y|t?wtONf=dSUd2p4vuoOrB+-ByVfrkwWpHpkp6@uvBeQHki6l zruY|DHd@GrPMx6-+rL2)sp{56UFQHqKPZ@~GHnK2)GnpwUbc&KO{07Lc2j{@gbvhL z+%V$qWw|6d+gJ&Q(Pyf#!{NMv3L)b zvSS#WDBcC-&J7t*l5RxFVcfMudD2+lp(}$g7T<{8t>!5*nALAC(N#|X+-R|xhLf0v zHoW*C(9DN1k2QGfWe|QqhXZi=bq2#;#tkW& ztvedi!P0}qOfOb9kU~}%3is=&a?b=^NQ8qE-8t8tbqdVd-FUaPXu4g?B)tHzCdZJs65;q$^K$g1c#H8g_X4&IlCFSQhpBCFDP2?F8B)$0TYDF> zzez%foiUoxQy<$qjB<7fxvLwUnAHp8&B}ZqIl^tudW;JlNCwdSli74uf+z%g2Hq=tyQc4KY;(JG ze~cbhPz*yRmM?~kEtvez1%oW!5`I?xt~;<0CaXlXzkOBlEv6#i znmYSUx|YHgem~3-@j=-lY--n8b|bCvi03OzFBlw2Ytt%h;&bJ^Jtffhr(=-v*2brE z&1^5tKJK~b%?i}RJEqld?PEkJ&h}HaZ5rMIz?Rq+m=vpWZ5>AP>S@>l#*OC1zQhd@ z#j!nG_eY_aYsF?{#~yoR11X=k+9I#E+K>eVG>RKr5d1S|b;Q)C9zvgi?%V)>yYJH* zx%#OBEeWX4eP(LR4Lw=CDft{6^E`cq*gM2`WBIbvxIviovx;pvI7WyENqCz~z3&S= z$w|uX6UW!feDbjHCxG&}_X=&e;-vZ5&-Z@$oRSe~2cd5^@?QZe1rfy?^qfkRmbVO< z#6%6Y4BX^FKYK{#6E`5~*RXhUWO<6l2LT=e=T@@#!97M%Ipz|*LW+5GQaIl5DUgmy z7l>9doXPba()@c(^&Mz>@-3tJ;RmH4x@ZLkGBd9Ce3ua^Qp>A4O?KoaWYmLn8W3Z|19o5q+naHI@uLD;6*v1WlL-c~6(W4BR_=_eOs^nJ z8vDMIyH%P@r{YVhZ|GMZQi5gmV?GU`ej)obhSk~jqxBs*>^o7v6J5hN%ikd1k;3_D z89W>aMT5rEm0b!JgkE8M@F{33WSyfvM|HwB+Ie$+%K)A+F;DZ$ECmWj%1WHbXZA%e zi^FnvP^z%p*5%YBg-veaNzKPHloq5L8MM>EF<*f&S>&ZhM@ zehX`r)(8&56w!BDM`KUw-K#i7&*_R3WwH$v5jtaZKluxO$l0t4b5nKi0~erfdRMlk z@yZ=_?-~3mH;9oNNv2@etuAS=>Mf^~tqU~;C!rSADV=c5*g>$%A>Rs6E0|1YEhe3X z1)8>%<&@&YV}_DmK#fBF(`Y?kU(O7eMPChOzLQjV8K)*FBQmP*xxm*OrszhNQh<2% zuD*ranlv~C%mP*>NKo!sOwDRf?#}z>%YmDF>GuiDFBeM0tFj6qmOZ6$LMMVdlyjD{ zrXR+rr2oi|5ZeO-Jy1T*F~kN*rjaukOqiks#3gJmAat6~Jred#wR<5`l9v(??qWQ} z9z2bQJam$qmv5QrY^`i8nGbZaeV@B}jHlE-8BH^Zt8T$_vqcXq+s(efnJ7W+hpt0< z)lCQn2kCr6r@>G*S7>BpIUCntmqU88U8A@Q{~28)5rp$XE}fLi0NQpNdrE#?ae#a* zpZ@9*qOEm-pcvzhQJT!o>%97mxymSo2;#VCQZJw3!R(yA?|%BcIv#=R)x)plAqzf6 z?m4H;yIZ!fsg-))>r?)~kAUlw?{HN=`nY9UnzJ+G;Ye0rnE~#@8-O$)HTm{VUc;(JnamS#TP%0lVtUJro!4Lt`Wk*_X4Ydq)E!3G;6Unm}=5{#hhnO z!!$V&|HhBN)VChHho}nJ>Bc>gWj%O)l6$SlodJ;WP^EKTE`!9H*I>gm=M^T9zIzb; zI=oMHDuHC2Sq*8%9CeLVN|!s@+Q+0^pC;oseuU9uN?p$LSLxb=TJxchR|2*fuxxDp_wxTZX)I$VN%e=?k+xKy2l<-cq8LTG@XtM@Lo`tXRTM z<2Z=2v3&Krp;Bsr=*jN4mB;Q%c7Id{&r_=G zY*Rs`}=ua05m) z5Y6mThVlFCZI8LfDl|y*6}L~}VEe)Y-soo`1uayi$10Jls*cjwUs<~xR#(&qPwf?$ zSKES5B{!9JD1XM$(W$^w16CEr@i}5tKRB3yu@Ii-$}~;u%IG2WRN+4 z{tdm-OQFV|^`T+<5|KIetU4N@vzmPsoHf{JHzNnu5~~5MA9~% z5MS-iM|5CDx0{wOTcP*B(Cse=-IjJ^SW^(B$opCnMQEugb2pjKtngo<7O*a`HLI^S zN{OP=$?{a$!2yPl#`WhGWjh$YaPsa^U3}a=6v8?`JrU4o;}Zf>3tE&?8U50j^(F`W zqzTNI@p5GW4j7N-%ZKjGA3G1w^`_*eA6vs7{{11Q7y~q;;k$q%?@31@KpLf%Q}#OE z0t9P+H)|PV(?^5SKf^TXTAv~jWfq~(MxOO%J6By~E9Ut;YP<^w4AN=yDl#9CkrQoM zH_eoX@(KEJYme3Oa?goziJB#)j1>>S3oIAd(pWc;F@!-czEiiil~|t6f)0(2nE-U` zKJIuZ=dvJ8cDPMwHTsa)Hww+WbdOvuiE0fX-&sp@5Jny6BfyJ*$tCt_l)0EKHspg` zu{&cNm0KOg?JWbh-g0t<;3(0j$6tRpgM`K81C|SZ%wE zQDr5i*z));%n5|K(tNdamKqi-AQ5}FyBnqJns<{d+>cI!uRibY4;sqShLuFJK^p}V zeTDp3Zfj?D?m(nE+VZAzqETS#xcdQGb$Wt3m0E|n)ph(PN38h@0im^Z!svwSTOv61 z`v~dzo@Lc5Vph{$_7P&kWwVxt_jmaF7^!Zh?BX=?qewYvk6GIi3?^}PGtlVQ#9#+Z zt8+C*)>3UiY>7n*`SdrKYwQBO{K#*CwF~gy0pDSlcZ3t)GrNVycM;nMpjD@M&Jmxg zECjIQ;5%3waGu~2}v?4;5?8R@BxbFe&3?tSCp*`rQr*^OajV0;9@)N=r z!%B>JKU(12VP!QD=;7SJ_JVj~@XWnzFmTNu+I4H}QyE23NRH}*8Z=pw!O}S91NJ+V zG^BvUQ`vB1o`WZJbg8{3$#@;-lB^u9ldZ%iGe;pIO5c3}C zSQAZC0^9;+MGT3gAFclX{FOv2!9$g#1j){wWUq*^wZywYBm#Py_r~Ngs6?eE^h;5vaG?$sUvTQpMH5iLY|@ za3(2zadNJSR92Y)R7B*0=Q z*|i{J$D+0N*x!1L`qkN#(aGh~FQWm^dB5#SvPKrKz}Opub8O$~X7#kp;+=jY1syOW zx}Lb=-2U9Bw*y%0%+pA{_ejf&TMw2>)+4;txYk~HWJ$8*DtwDRW;t6ZqWQXDHp!at z`ZBHY^396E%Lro!cRYh&*3{C-j&@$2(XHEh!;J`NJ?9*wp?22HY}5iuDvhWIV}@E= zc^z{sU8L^k*klHPLT+MZ=Wb;^b>Wx<&Uae#wt!2Xrek{D>{j=HimJ&Fnzo^=?He|XYW}=@Wa)5yS{8=V04+a7t%WTwU21@)=9o0Bprg-f5K)5FC6r$6knv~v;ta3<@;Gf>dnl@f!a0Ng^bl#{0tQtSP ztXvLfI!oHwUs~&y4W{E30OQ#c(oeZYY#_RxIF?o!g+kT4aBAe@_J~O^dyT?L^O@~VOIvCjdv)e%nAwhU^FerWZz0; z@|^dq5p^PLKrO{>phC7tYGw($tkqKyXR%%!9eU6(X$)1_OkBos=+zo}Gfq>;3V0*# z=saT^;;yA@a~2@!arjuRuX9iHbgWXZw@z1n#d;Qox@K2?1H8pz>RQKgH~=P+Y=j+c zH@BL5B>cw0V#LL-!Hp}qy(*Baf)|TdDOpr#oobFSkeW#S6q!g=pr+&$fANJvp5Ni2 zRYKiU8kAJ7N&=k_yGh;b^B5x0vev~M`0ehr^=f=0!JrueT0d3|Hd3#*r3N~bRk{j) zW69Z(vNAR5a2vyj6oGS@QEMR?cmRO)Qg}TOrBDZL2jIY0u6L(pIwokd@_22Ik29)v zHcj%!i zch<3@H9h=CNN#z6!u-9P5=A|ri}caS8Zh;0;o3 z?{-1d<62~`&-wB!ZH)&8-?)-Mv$=%hQLpKx&1zIJQOH8x^p8(mpPrfnG22F{x-ogk zbA=+3cy)vjQ=5aEHCv~O_pOiu95mk74zBW`vtzXhmk6f?dwPrSI zx5mo}b0%|OVDZAq zOY6gX*g3btpaQ>smAm31+St04CS--BMsEHNO(eDeqzA+}P}zgG*LzHu=>ki-Ui)wS z7I1~Y;u_3{ffmmhLlVwD?C!zVkxtsZ;LlGmM;IF|N*OG_w=CkZ&>uUWBd}aUFZG~| zX?#=*R@k8()Jx!F=;=Fa!^Y7+te_6yfb&3=r~so1Ngl1W^b8GRy->SqI3G=l@t1f$ z1nS20&>LP=4k&>G4``h+lepT(vMUX)VNyu7a!hzUb)SCn z(ow44GGI?pPZ&#?slAh(KQF;rGA(ev7s@5zwzs?{a2U~yZ8#MLJLTr|G-o5uB9yJ& zOBk1;qQE+O>W0X-;Xz4Fia0yyJG^=?U1`|a*X#8243$X$_0E`gz4YF>PgUF#s!EZT zNxJ}#DP_uS_O7fGT-pe?CX=^pJiSH|#cdY(+bUer`D|dgt@N(i>wn zHn*YAl&KaP@Y2f*8_po(Edds5IsksctugJG>WgD!Rn#pfx~qoFwF!B)_n#-o8lg(g zV;!u~Kt(^EB>{>C69D?8SIq30zS@A3(2RR}`^W>2I6V#pSS4)HyI<}QLP4+)?FSD& z`n}`Ivy8Gdb^Lg2U~SCWdW{FUY0SW*mC@UFgjbVuJikfCZQ2Ry*NS|tV|yO)C=@^N zTOby6iDV#G1ir1kSBblylwsz)#!g3iQ7%Hxm(8K7_Tie@=TO-}?su-Tg<}0q<}{_N z4~%cz%XcXzO2_?Ddn=P>=7LlE>^hC-s#Vp7bM)lCYaeLV=d1&i`8FzPJ23WIS%Axk zwUjdC!p=fVvgSc-VUV@?o8pC{qEmOR0@z_e?VV3X+X09X7aZfOXf*DsfPXpq)QUs< z+~FL6WOGIuL}N)IR?558kU?sBvDyO@qgme*J>P)KbGiVHINor7(9HzdmRAQ^>i$TL zv|yh%Q9GXnFQEf>G>t8U*q%rZVgP|X5H@p7XL@`=$`%TVw~?|Ud4mL39UTUT=d9I z_+B81VyfwG-jQzXaVu>e3%^}AgvUF;PQkBMew$lOV_}rs%Drqg-&_T#7E zsNd+S1~Anay|b9|EbNTl_6HA}9jcxWwCM%vC5yDaeBq>Ii{2)$g5B$5MEaex4EG(e zD2l=#?=Q=|#>hay37jBU5u9D_HX+FbpRo7IjRyZLYvsW1VmbN+7`yX*9BZ6um&%Pa zf4R?9pi*EDlLw=M%x9xBgD*(dvtvtd!6;=A(+fA=l+(q)oa>zsC}XJ7xR{NTS3GJ( zuvI)Ktb2&>@ec9)qiDz?uUe6f&P(e2(_ zTRRAknxDh^wco0nqR9eq70~$DPlRk=pd)U?TZwdvf|c#$As|9nr4U!*&2+#IYS8B1 z6PQR$neD*Eq8WwosEsp-ARAb10)#*;?!y{nTs$ly-f;*Y2YD)fAn9GD@Cqo4FC|QX znGLNH@~RuWRlGkEeIYB_Z@m%Tf?NTeK4j^hPi)iNTJ8AGFQ9I^h+s+!xp`10Y(8NW zL_L%U9=wu=xjuKEexCaaS@IA*BO%;+2X`Tjyx+A}vrn0wl9)9~tIWhU+5A?bytQ6k zV;4fxBKJ7ZmD{u&E{U0(FIGEt`LfB@-Muvk#+<4bhPlV?8sN>+xJNh6bhU6d=lGrr zSftDDWZ@4BH5!YIaI~HdbDcafUN6XGAdpPwUJ2B-!X{FX2M#61kHCN3Z6fs&<%*&6 zg$>~@@q)POzTBKJ!`CE5P8E7#Zto!bS`+wCthv{1w1ov~gT3vtT{E7GpdYAv^LIIf z8xt!nH?qY5i90P+;t5zFN_f01i!<+iGY?yIMvZKQ$kqEg67+!f%sT5ynncd{4*Yy} z)U6Hv+NxOTB;G20B!%dM*}Fe_Dra}R-oObfAc8BYfKu7~zYASF(evi)bR)QC{=6%%PNO~438oB zYc8v!G~{W$(G^3LA|XonYYo+V<9jp(Q;a}bzDl5^V7mNey&wNlF2NyjyzlI}T=XZj}4!VzMJkXe>JB%Q@|{mhKxK=y6~#dJBa zBMQmbG|(Of?1hm-Hmm4k3NnNWG_MN8)RNV>U=fu=%u=l}RydKl0K^qrZZ|^7FcuGd zN}Fi{!&BZ7@%(!*H++?`cRgiknSf7tu7pvu+!7DmS0Tc4G}4+iKuLKtOXPB#3Jzh= zVtX`b7NJcSik*u-Ae>imFN4`F5R-=-_XkTV`&HpPt*y=K2qjzI-U zwM+Ivi?u=-05Ww)xPiUyK5Y)5q1wIQ($?MP7-i(nRhC^Chj@zX5TC4Op2@ja?^Ijg z^^|L3pR%}j9C`S2IEk9W#-)&Q91D|{%aPNjsRJ`A-L`u}?RncpI*u-Sa3IS;dc@EU zaMPIZ+n0b6!i*>H;3hU>5pM}Y!8PqtDp=a8cGGx8OH#!ctyQb+>V z3G5FhtsaJF(WNI8Q}jT>eys(UD6+sX1`dCz9X<{3h=5UMyp^zPaI~8;XkgsdVF2=* z@3Jbz917c=0e_*-)pl8F>oP4k!eSNP_V9gK(Rq}8cM2!mefXM}z8D#BsVV>l@Xg#8 zNKY*&-;(!u2Y#dM|IqUE8%s(=9Ja~aj(Qi!Ro>ckUT!%VEHWMg>Y~9NUhcu;bEHj7 z*wa}tfF>WA1JPWnMc9%cBK+=@QRaGH7qFZpOc+V6^GL$958B%z$A}Bm44ebUmb&3= z0^E9t+_f^51VW%1AWTDgpz#`)4H}=b*u)#oD5ROHX72Vr3lsU;Tx~AnPK-md3E9TJ zzZDFDDkV^gB8ZdVQ7cF}_HB6K8^j*^VT;LQcQAyRSp)dXG`Q8kdoSc+UdbVRx|w{! zFMXedC(h_FYXILs#N-R!dp#GJTy%xw@M5I9i-=b0S1`fGn!8I`vjg&E_*~v8hUZEz zHJG(U-CoLKmo;_*k8V=m#B`LH{?Td1aUC5CFx*lafki4!1#j7KI&8bFu@6t+dEdwz znB*}2?to~?tiGAV!$7dr`8PW3C3ji#YjZL9u^p{KGt-kD@KlUOmZcv4NCdY?sjbDL z;1CY&bB+xJ9>g+SJgW9_g4pQd%D3S+ad_OJVt2a&j2kfSwdnJ>30l~)OCJ>cRHA1x zyZ}C%9q~~uN3a#A0vruaRt+o-nhU}nV+y>o#nqRQH|fBu&CZQ@$qe6X*}Ib{1?W1R??viHEUe2E^89Rzjz zy(rbY4R}(ZJP1WfCS^Lr7R_iYYN3QaypGF4-!Ye1 zCxK-y(lrjuZhg*lJ=zNYd`zORPXF*zbrAdWQ^#-o7I4=sJY=W<7)HsG+53qlyN&my zo*D-z6iJpjv?YZ=66#6H#J;XG0l@XhwW9OdA^AK`n-i!kH@p%^D(9f*41H4gGw$^p zcgk7wP9So4=SJn>a%g-Lyg0tbTNT2S1cXtGcLh{12N{fMjy%dGT8$#i?~^>&lfA4IrAsb1tEWHRqQU8gk3g%>_fM zEVogh5g%YdO6HOkAMHz!DC=ywLb&0jq@tHPHaT`FaeLM`+WDI=815hGN`H&tQuoF8+?LVV@|2vHsZns(5z=KZ|i0G$F_AOl00|j2xNWjf1+3>3bbVGwDPWAjj88+wjNb^*(KGZ4rYCQ)sEmzM-@# z4rtqRutAOxAv!6a7ID9&xz15$eT|j5I}A0Mvs34TvuuYT8Unzmix=PGG<=8Bfj%sP zu|ra+gN1lK8NaP*gLn#ZPKbPCA<+hsKs!hAr{=?fSY9qo9#!onz!5l|USj|$B<4ue zY;kxEcaoM)X6go$z9Pi#?-0=PPUW-q>uj}Bg2ISjW zi1)ZeQ&~x=KFgw|4)*j>u{%N{9)r38ejT6An*|1`W?6nZK3~~=XeTs2VKYy$lHrPF z={1LzZ&Te@CfWjc@Qka9k|Bz52r=xbVcJJb>DvbC%ju5+%%P+_R}5l%^vlf8AxaS^ z-#+@;PExz$lA?SpcN+X6KVYo5O7RS2|F@VZ2*!& zl1i3bs`FHwmMLu!j^Ex)`ZAJ52|s790MXm<3cyc=lDz> ztc6`Uv}CL(x5Akt5H|DSyC|Yz@)>75b3&yPFc(iqx>JWw&ML-NcrDg{)Uspsf)=JT zu~@A$+_HKcYRg0$CL~*D@10U4GskGrsB3_tJh9iTt+*KG$Gddli@%HKD#6nWg|Qi3 zlQD=MA%EXB4Ch+C__FTK=kHzxy1Lvkd{H3SK zyR2;n9`vb)QQzTK7&Y^PBs$j~8V2$pT3%M?z22#y4bQA%r!_!$ zq!pDTZ|~4M!JF|-4w>~_d>HPtl`924BBp~1U8nR+i)mvQydU!i#i0BCY>|rm}u_CZ~O@4$EG5e z1@|y{MO5ppD5`a+j}$;@#U(pZb{TVGBECF%M={P{XNiT7j5(b8G=Ej2# zABHaZ9JU~pFpmMWd(1P!1mwx5u8UZIXqekBVmq`R?tNZV|0ZL?#eeMx*G!f3w_nvy0hic=X`Wrt25+Bx@ zq99f&foG-J#W}Udd1&stxl38^`#h_&*JlQnyR2$&aY4}Tv3ozB{{NH}h@>3Lu= z6jvsZ+^Y`(1r4Iux7M9p(BkAY48D^*DnM9Hf%oFSdveGh_z}ri~05S;w^v_zSBs2-qa3 zjxpT&jUS=pi_YOgMN+-u@e?la?apD=j7p*qR7pXnlT-zQB3JNrG-ekC?x!b-a><}4Y z$}-cC4xqo`+S_gqJi*{Bn6fmiTe(R_ve_ctjAJDl(o*M+2zRP7U@NeFKph6ipiY4X zJT>;Q&6*Qri~+JXue-Y4L}`7fho}l5*#QtO@eKo2Rqvdj;j;-!=Gwd(XgWER^rx>* zOvZve-@1BiAbL1Wj7aSDlTVjki8ow&n>t4n*wGR;>ybO|^or`K) zg^0}%MHlkHi|Z^7kq-XB)+qPIEjD^2ov#`VB7_1nLSKoSQrY=AFU3)wUFQdWge}3U zdKTQTpoGU1R_nW*8Oykg_q+Lv>UEuWx9O`C<#Ufku(bo?~z%s1gv zcSu0%rnbovG}w&3rH0UAgZvx0aL5@KtrIvf7^6#V`;_BzH++Nq7LsZu(l1s$Xoep^ zWjdOfQ;$(5p2WP54ff7$=Lp);HydeBFkPrj$%=;^NCQ;+XJ)qsZ5<29X?>6J$U3gsTXzzS*K(BAyE z`HI{60@y|Q$DI5#yiaQotIHmgKD`l^-7xOO`&O?2dkM|5#Psn*fpnJ$VXr1Fijvbp zVrarTU>4y)2zY?kwYCGMz1{Lm5Co;Qa6nl%+k8rGV4k_9Nxoojze()}nIDQC=ITLn z&B?+A#M%jGq6|eTu&kZ~9V*!qY7R;_)#@9HRxWlw{p!=M?;hOs0_3?iYg zzPHkZ$lDKT93yZw+s@~=1EAtX)YsZ;vQ04L=bDf8iUJBrFJD>9j40RI6pA$)y z!0%KqgGT(wLzx=B57{9oRk-4>9Ss%=n{g_Cy;}EGT-Wbq&Aw>xd25we0kL~{bSsQ@ zBB}qqpv3dxWDgC9vRoO6c5XoI1pH~4qe3q#=V~DTxn0;%rfZPaJ*!(zQVI(Bb-DM% z2gZ+pp^V58XgXwRb~h%P1xtbcXp_#%lBsSJ(8y*Fw8p(8B_Y!L^7u! z&p|HOa3M1XBEFW#%NQPYW1m9zPF!$bKF&*1cmcOl_5mk#CYAFRAwk$wH(wzx{#nML zzK8PIaxexT+g3F$J4xQs^%Fv#d9HjQ=C=3JH8wkhdOl(qISrbgIht7mZSu+1<~8QtE9V^(`K({ko5E@!JQu3`*B8@8hKf}Y)T1)p*jiEV2Gk7#$({D7u7 zO6{u=fWcslk(J^!VGcgZ_v=u?oj6#8#w$c!eX^$?_$~PDxytRgS8QZ+wK@lf&HYF} z?~@SI7wVSTr1!9@?2H9$T9r^ zJx0$tdqvs!zo06N>8s+Z_EOsLX#GsyN~Q7euk#^Jjo0@$Vmwl5j(aT~K1?JhC>UT* z02Cd4<^giAf!MpF>kAH+J>~+N_vp8^K-2KHUqHu{4Oi?rrc$WXyV1dQM{5yxJx!m? z+EtdcErFhsQC7I&XTdwTE*<`uI&co}u|4$|ONB4EMj3hsAz9$d=1Emj8I zBVQH@RJCK6IkMF7Bx64AFpXJBiYk%**vc--z= zxn7&S_US2B_F12=Y-k1%S3m0 z266RlXTZ`L)78)-Kdc~^!L|vWqpRz&FJzoTmddbU5xQz2BEMixoUKot9R2nxz8&@&)vwxU{>(;F#oOaG zMQ^)`k->qt4F_he-b328`;WPEJC0!2wWLb`NCKcaeEM&KB3Uw`Bj)4I+}Y>!mReOL zuvX?V(K8XcOIy+n_nGizrpF`wrr2mX zn}0AOYVe!j$se%JH-K(##y!5eb#R0BF88P&@Iqf|ruLW{Qi+9fa-}*vk&0c9G$!aQexf9gP7a-22P(bQ8mW{QvpWYr#XZz4 zqFp8Z#p4tWWo!_mV-jr|D$xt~VWftI&W>+uL8}cwlWvYfR{>j~Yy+}urT5&J( zPHQ_TYT;agyGT$nX{`vM^u%mD&lnaL8UYL7{oN_$4W@d57FFyR{MD11O&j-ER_D>? z;{4DP#A&TW4bv*!JwbTII-IiZX?;?woa++_(yCsU?#!rydd7;q6-|n?Vw0d2hUm%tC zYOyfdb@>*?CA$Sg3m=-==M--5I`69 zS9Cq#_XOH^BLxkvE{gcrP(8RZkbE4CvRNf4ja!Y>=3J?RmK2C-0tQL^sO|}r0Gv<0 zBqiR+ao;lF^&^DNK4nsp3)V)CP@Nq{V4Y_Pz=$#whcNI*568wHTB-}nf1a3a`{ zXu02N5b}qvi08Nw6S{-&V(l%a6+=y0I9#B>y)0Y+tVav@RH17Ntt;S(y6l?oxkxB7)4XhljvZUr|$dSQ#f=DGI`DA2!+X2?Mm9eQX{F|sr&N< zcSy%6x1N@|>;`D>4Y_F7umMvwlGrH@0c3MQ16LR&h5g1yn2ht1a0mIYHZ+%Xmcm03 zKz5sr+tXq@XbpMYTDj=Xa81}`viDLZ_==XgQXZMJ?cyp#w2qW4JE7Yhp-8Twf(CTZ zJM8B-J^~r3W`_ylNlsiO(Lri3uOWI$d&&Z#>ZMtgL!g=>zF+6fFK9fkIel8ZPoR9K zY5Y70P3?Z8_?^3*<-!o|O3S5(Q^@O0{lG^Mpe02dQ^!8Yz5y@pR^~pXjLOfN*2`{jis-rZo4)?QNAQ}f zw!584_=!=h2~vxGC_`%;&9ljwxd1~G9^Peu;IDh_aw?V~%rV?i#GiVt@YjpD28fZ{ zGgb|PRHTgPbF>28gWCE1jgQb~61T1t2i*_G5wMarX9xUn-q#O6buSR^u^W+9HSGc$ zkL2(B9+AL3__mzYFEv>* zmQHLo2NFS@F{mU-8+Wlq6=TCLyt_IBVe}Ra#8{^(GugAp55FuHUZ9@3s$wj%pF+)ze z@o3k&w=10F7f1nCRbVG7Qd;IyOr|gGj~C1TfsX+4VGluHl9$^*&(lVoF30LVm~%2w zueEJ(wooUiR?rm&7adEN0_?Z8N31iQcxv~1T?FhCCqZT>fXP-dp)No0nay3=`H_zR zf}${XRN;k6jGlenHjuW;WE*?2PPJW3DB)XArZ%nc z4y+?+-{h_+ojT)fu;v?C;L6|l2xXbyJx0k}g|8ubKuSbwqE$2`=H4+?CYqwxq94fi zir#ZiJ$5vgMn}$bwwH3G$tkgx?OKT-H!W*jdc-Ud>xF((p~da`B9}k#5e~%83oCer z0^Y7(s5gZ}Vrg|p30Nk=h+6eCN^~wDi`) z9InPpj9UsVhi!6vtXp?-Uf_q@@z61#PJ@- z-srQK?0v&-z}4eYMSjH`=)7e}YlFBTl12liN_)}RfOIJX%3m}n5D7nXEB4`gR}8RE zKt|7b%Wu9rPCT+1OQtHEzI(U+peUN1=uUT-E-JVza@gJ!nO*zcFe`RhX)I+${0V@v zC0yhbp6TY0Q0sxkx?~FR9k#!V7^eemJ2xx6R9|;g)j7(+YEs67D`Ev*CG{SmwlVIC ztmaJ$_F!}@#cJB5F-N&&41F$QCYa;isWNr6I=tx4l%{}oJAFpv9=Dz-SbOW$@pGD-QTzXqX7li!;?H7GHP=TunMmq0_@!9Tyt8))_q)cc2c^c z1p!cE7~tsHYMjbFVUCti2c`9(r#x3t=mL0@Mv|wv2lo0Ah}}k3j#) zm#)oZ1Jp+?z0bN0CfhbWXLUOJd0;rg($5LYxiw(1k}I|mCKX9CQJ8OQUF|_oiEJV& z>PtI};rgcbJkew~i+m6@m=B`VKw51w<{k5_&byyXaCfTb=d8)G`hD?Xx9%2Z{mQvV zXEvA)wO7#UXBnci#4&06hOj&rUOv5WwP5|TIgHU-R&#y|7mlGdSm3wnTxAO(LWoH{ zRoU_Q(46aRw!H2jf@_YJ@Mejg3ziWU_-Fzf`$l`Q;O?`eA>bO@I>A0HYJT>*D2l+q zooDsF8mn#*%TDS7PvxYP4jU~-0v8IcQ{Rmd^|jM9%2VfMjDbp& zUH+wi4nxiJDJ)tmz!+=m!7>+CPX#z8t+j)Tg@6i(H@w~hCM-a_QAT2TOgUOyA2g^f zlHfLZcTXY77rnTKJnmxQr)RX58osHP? zI0(Tj|1)I)3^Z^lpBeVv?A#Gz7#Pt}_e;6RKqY_3!9jW4X}b^=!wkoSm@)|JN z)9cz2n@&1dVla=DRAu5BXVbY)ug^#J^xR^z9WNL@8G}oO(1}}KmqW5$V^C5l4dVkQ zyvN1?ou9Bol$}7~t34+jXIjlji51L5OS8$1x8CDx9k~t|e}qomyhv?4d}W~~Xma}_ z55S)qM5bO^8-@Bqd$B#aL;()I601lFJf5bOTe#jOeGa*eWq#vty%2+I%;c z)pIh?-jssO73v5i{U>If^PQj>W{m>PJQBW>Mt{rBU=N9~z8qXqkbdTDqm&n9PPr&3 z&5r@FYmzK*1isy4)*ZGaI6H51sj}Mz&9QCSI3VWcxJ*^;m7G}trNH|=gQH>2Q0kFJ zz_ixAVJSe9bpHMxx1_HZt!SJNZ^!cNxLa@S%$O;8w6$SfKw0B_w-ApTa-6dCRi~GgTJ~i1%6?Y(__(FYAa~ZeC*zK8ENA^7g+Zxt7yhhQ&7(+CuQ&kgYC1n$~+in zEN>f77sxGlk51;Vfi~F}^2Uj%d-8B+L0P!avT3Z>{fLRR)%JyMYLiaGxc~9nXq9cM z?AoEdcadllzC8b8+ZG;{u@pL;`}n$Y4U@5fLh6-n<*kdb?z(j*jWJW!(>GjZzDG7k2xFg&eG1o$I0Cub@?Nk;hwE` zIewh+;3=8~<}X$>+vVy)sgtWdXziM?vH3Dj&TgZ%&+45#UQoImozShzo^=SCKmq<) zfwHbjDOd@|c~qeMT9f+5`iMo#M-;8Xqc2}-29XzLL<8i9vk~9nSe(71R|Zc~N6LdM z`YPIEfnf(|+Ger4q?{Q}UQ+vU-8YMg}KHuh<~1!XxBQ1OK5JUv!tMSki_l)1J+Z;s#n zSps^Xn!_nS({W)pBhEn-PbtF`gp;eMgJJXA$I#v2id*P7F6%i1&R|eCrAwQ~41r<7 zXR~4q|E&tTfV-pLd!AcjgYl679jeXd+7B!5&b4_Jnauqeo!U4lKgiBR$)eoaCR z4>z%sClKC}dNxPOHUxK5C#uk%{cyCsGhlDu-nZ`K*|&C1&?6RV5==TgZ%WyW71MN# zQV5eR>M$sQH#nbkN1{y#wUnEiFH6FgePi&Ym77wpI6`)h$kPrmJ4`2sljTF8jzcM6 zE1cCOj5Q9ynp3Z1Wd!2L7G1_;Z0CpPRo{<@R^38pmSkBlmKQQOj3%NEHvl8Or3uI#3^$~y_$T~pDxP%v*$jnO?Fe(eB&S{eK9oblXa zHwv9Pz*}7?{j>x>S@r$ZeO93tw!eES&mYdB=I_@`=Mk>3j|KOqQx`~U{N5|iO&7$= zyKFDefalzmC-dMze99(q_^EA{UM5yCcem<%e$B^^?omgufR3;Ka7#JQ^_iUICod4+KK+=VnRx@Qty2w$B z?H9THfh-GzgK0Mof6cu$aM!^9ZO6mgkvVIseNpg1NO$IjepY9VHM({jbi5vk4ky`* z_x$Z-F;QN<_VL`(i`v`8k6KtiJV))y$9=so8NIGz7)702d>;C594b+-k|AC;X%DwK zp(BH_(IPL&cChTM`sfN=Zr+zcd3QGF;3T>UdhHxo1r+RKnx97P54t=zwg7nYWcLIgaeI<#6=^-+#&;Xj;ow?+#K` z2Z;k1Kmzg~IHa!?#TL+hTs#+beRbxhH@M_t6iTkReM-JG_z!%9ci%)jPv99zCQNRY znGK8UyfYm>cMHa)1jSn#eL_iZuN2{7;t909;>{SyJMaoznt`jr_D*~M`IC%FE^5hC zkIx1#%tx?MTLoguPL*372*P1!c?Q6u@~MZSYIU3 zU$s^#dh^|IsS0`$wr9DbplfP_LlN)b=Dqm7;`t5Pc`URuT z%Y*U~?a_RvrnN!0!~n-hNx66IuewsFz40nU*;2LnQlB1JL-+Qp*T4?b8sjH*@dzo2 z=Hm=!COKoEd-#i|tO2clHn)8;C`Ozp-B0gt;zmN4h_cps?<&@oEj9_dfv-7Er6OQ` zTheHiJ|A%kc_x1?SiKQDe1UOo003Sgd-uUpu+x@qmG<OI3|a;RTRcc()-;+kN3hDIl_EIT+r9o?{cT$4r}ZbG|QAYQKd>NbJpFxMBS$ zrK2Qb6)-xz0!-_?YhT##Ld)RBw@##rMnb+sq15E zDb6FHw?)fzT-2&gLACSSU06;AWsX}GcwE@_v4BIkKf5`ULP9n7o@{$~8Cbw4(Z+4c zU&P{iJ8BgqfH}|hr8K@PB)(X$(ptLda%5U}6Ah=MU7E)>-+;1M}60M#=Fy*(l48Pevj``{;XeSJGXzm8OgADX`Qi z2!~pgBR)7~F>&EizjZYb2Z*VzY~hIGt_$u$swHuOErh###-Kk!9^NcE_<`FuE`wMGLCP8HJJ9 z<{*2oX?F1sNj<@MaW7;g%#n)7e?j_#@7sIjORYdsDLpIP)veiX$jo|^0#|YbNerKr z^PZ}MlMy~qm!s8S-iAEKFgVz)ThEzagyIK&3TcaheNiwu7JQkMg)snLBucaGjac~f zf$OBI14kdcNmfR6Djn+k^~z2<>3PkY3Og%)Bhgbxu|yTW6L}`SFec|?ovL<@x3z}eM350-9*(}5 ze;#L5?Ubm`B=>+1o&d|pi+2h~$?#P{33TqpWurVhZ5xb?!N1n9$6s*4s~)E<%UN$U zWT~C9m(6iVksR0sFQum79i)%q{P(W3Rc#9hoPB4nCurW5b-11aQhW71 z7kI2OrXyk5X%7?B_$C64CmtuWo>{xn5f+M12*VH9m=V~p1Xk<+d-sqyNR4)2? z+`oHRP?biZb-@1c_Sf58&=_UKjSKvnYxCt8{v$tydI{1H9bwPUDKq+TTcXf?TFbNN zdrpByq13hLr1GRus4z?T6flki!?7+lfh@3yGxWmJsB|>Afq~@mfXdMe;(#U1ek5#I z8wRfvP|my(NH?#Pcv(lSq}Iv)V&o$8a3m+D;j7rfti9H0GajZs7tbo}R4b50X=jTz zY)V`*9v4d-iIJF>rH^2i;aXceFkWGV$<_GizDHnG#%9cSod0J8UW|=brMVZ%MH2Dl zFrbcecbS3>Ps(C649)@YrH52SABP}v0{`0QX0y9l6B;tXZ!5zAU@pFkYchk49$oUh z3{APa4<5X>VMr%zW})oGaJLO(udr!u2qIE8uCSG)C=4+el-~HW(A7pKzszb{Cp&KR zf*|I9!&^%VN<`$7&+f9fdCRFChEI@93T&`kOZPYgQH)0}SrKJ8-@1?}_DIMUx$dE? zY%gRCqBriLcJDIBFrb8fUn`d~M{VzBt-Y09`^KZ#tvKiDhu4#DQ;uV4x2Z!wPeqj2M#F0Cer{ogdaTRfQ<(OLA$F@v*bnx% z=7XFCbArtM?4~g{YXsnpb3$XN-BTyAyE8dmt*Zs9Zdw|R=XbeXtTggXB3-AE(Lcn0 zdd?n|^8t5Svkz5Y>zRW%2w(dGlMi%nJjla9=8FKlJa5ASn$d6gWY%u0lMKhWf!K=m zap{DZrXxi{k~ztynD~ZdqR-;t-RBJan};RPTa|hrJPTkTW*-cF#{1z1X`^!I3r>*9 z9zZq0aETl9RWodYm?2*d2L>hmcL=SECA#n1t3V-!Cx-EOZ z<`{9e!wwKr9_EKrDEr+F~*Ys`|cO-jjxo*) zlH4g}KUX*v{Q>5qPW5}CoHA`kEC?*O)-kFNlOjSiunj0ZkgmWz+-E`o$2n&!vC$WZ zRSwsu2{?)oOR$W!=Fy>SJdEXU{1irSqcZ{=GUP=nf!E;`ySt>e*;pPVufXGD^if|9 zju}Gi%;npxFznZjOp}NEcnMmB&=$SSGutGN7qB6-9ebF^MrR}E>((xCiTraEhH_w$ zq)7@JC`?(AVffa%unWvX5(V#p@kLK&4sF-bilxoFc?}tQN$BE3ti7$E7N=C>lkD+T z8u}@d4*NH2s%yc0S$67a2rY3egVLC1%;c*u+p!7)FKlrTEF=)BUgr9^WP4Gjvm$$0 z+^9;Yb)v={Bbck8uCAwWgII-d#yQ8g&Z~F-#!un8&9f^k^-4Thh_^+J+UM0K{ACL^ z-n+Ue3@+$lizlr6K54|Tyy*>%eYQ%Xn699C_b$RaFed+I?f}7JR1oeo1?!P64@qq| zO1)JMw&;dbdHOg;;$t?ZGmw4Av4yuqFI{@y4=~c#g8nQ7)Ybx@(s|aSTu!`Jj*1jE zBWtwPrgy+s${QFf70Al-d{f(nKht%Dxi`ZMrdLfjlhB=4>ewO(ik_+|i2$!#{ZQg1 z6)3$fv@Uz}0F<@3b;GRc6(I}(Cf2|Fl=K3rL#(;A!#5xOeFQLR>|Jx{aErTwd;miW zLi*Ac`^R<8sO`SB#q!w*-m{x3>{>W3)-|tX89SQaj%{H1y0fcxG^-FNqebl{aNmx! zgPEXoc?)Bxd>AqhU+Sbpj;|Z{tSa>e}_C`(OfLFDG7{gS&eW3kbm5sGvltw z?+Sn2X#hiSYx{8ZA)xet0i4l5`)54gRGk9}s@m3hjE7$zx_0ZQMdl_MfrQ@5y~OP& z;4?5)Mj0PuU~g|5(WgPS6$eb%3HNAt+{M3BHPQLG**S*}tK9te3@xucHqhI>`D>Z` zAr1VFSqYA^p~uj4g>IU3Yx`PL%33%Zll^MtSxSD_R$*T|O^e%Fdn{6pDg*Cljzw*r zG1)tOp`{W(>$LB3KWu0AZl)|P@z?_BzPBShrdT;<$@j>zmHiOoE8I4to_k&`5X~|C z1^_SoKJ8)$-w3H;dt^jmZkKTO3ZYol(yDdae|a*>+bX}fLhZL9G|oFhqXcG809?I~Z7 zZFOi?Q=e;Zk`QVg%1zj^1jeM3&Vqe}FxmgC$gFl2*AF&k4H! z>e_<7WyUg(0`dtOE~CtKIa`*-Rj-kX^IE;|LE6I7rlP-bcEoRoTYxmijBj?>quwOb zb;m_AM_ISL3=J#*sBq=vwpOwgnVYz#4%9_}ZSh58|CzP!SMV)koW`Rgd%5pMjCW8F zu(iTfX4ll42NAp9we4~-t#FJOJe*-$>A=isy~q1*B8Rc3n#UX5MVWL7$Qc%8ZlmSn zCLhM8wya$ldYg5=qlCB06|`@{{biu+K74V?sQmVsZFW6P^xI843 zg4v0l zVXKr*N^9JdM4%Ko8xcdW(0q7dGUSyLt8qxc<-@>VT9tWGAaOk0QEG2IQ7DepW|}$QUbnAT zfC& zhVQ$H5(NgEJhw(JsR<^z(lTf-JkUdEN9|*z`s$&J=S1qPjXG-dfdaIhx0E5ksL&>1 z5Ekf^FEdJrbcl9bvZ8(#_-9Is3AJ+`UpiZr-Dg|7#;E)l3jS)ojx95I%AN;rUe7uV zqAA%i^s?!mVPfN?GR7QX6hBy#*Ety9X!Vr0IB&#dOV63ihEBFK>Voh^MvCM<6J-K# z)p&kRn3nt^bk+L)t!R*}Jx*)pd#$QRJvKN!E-toU+cN((xT&N+CuHYFTBt>InX}`Q zpOwEOA(73wMAX~um;-CA*BKfgKFV8?e;GGqiy-Y0CK_+#;>D^~ofn#Yj|cQjPICm^ z94R)X&Zx!v@EstJG#8|Fn?Rf-I=yp?$!Gs{97?L7Au6sx-{A7L0I?7~Yu zVVw1%IlWV=qY0yH_xalT2o`#M7kid(=m1$*j?!;eUa62-CZ+Fx zWo4FgYFrtl7&z1H*JMYBg>DwE-cjF!O369(3>SOoZ|)=a1y2i)5^dB|PaU3P*X5V6 zXW7EsT#|T2}6N*i5E*(U0V(a~^AQI3C7pN{k?2r(IL#0om&X>6LHZNmE{kPJ5X$U7 zo?z9U1@n%v7M{^gVx1Sm<~KK8=9Kqn!Z8?3OL{7CPF?Jl0A$WhNo?I@grA!ylSLiI zkhr&XT~=Alw(jz{9<5>PJcb?_gC!UvLQIt13IoLNHL?ylg3E^Kaok$0*e8a(eQs2_ z<;ld)ATthqn|vB!2_}67U+Sp2#?4wmgqAtrdf&*{q!_#_<^Cv4RXhLpsW(vwgQVN>q!7CP-4|4Yjtpw~ba4`rW=U zk^egGN=~g)ddzF>)e2Fv56}WnNL_)65Bf`9UNb<0WL_nVQY;>!doL_R;MC+)GS8DF zb(iKD1a~A=CKTLfjV%{Qt3TOFKoILFvjrbIkC&FXS9R(X231ic=FQzs!8GXvi{z@ z7=@61MRSG!tmvWRMjZEE_-K2CRJ5XZI)-~gA>3xn!Y;2ai0yGXQ(i_|d0N}%N*?NN zk}LXp)<0m;@P*;?${;V>daF4PuQXzCHUNTL*3bo-FsAUjL#n6jdl3Bw#fH-+qHJ`dl>E3lpL$0n24e1B5)lU?Qk z(%TvylS({mEusr2u9eR{)^;UM`IaT&gh(cF&rWk``r=%BPjYH1TGrU6YSTeH-zBvH zPubKn67}@$F>W8Fwh*VEQ6GrJPPwuyxq7%LEArKF0+r>zF^N~w0-n)%Eu!aHYIsG? zRXOo)pgL*8@DKEh)n`X)tDS6~v^Ecr2&TXV{@xt725=Suc0uL0X0bc?7plZ6=aECu zbaq}O+%`X+$Rh{t!JFKz>^i%-G2$G<5i>lO2>J7RlHPvU z0CLNdlbA;^__@Y{gUQMc@|?g??Q$XNqrItS{ab*w7%iSaF&dnbPFBuRb}|( z0DVQti%4lpGv+6Csgt8)Vi~gHLfr`0Qbmy$1pLSjkxs<<2f5mEFzwKz;A)jw$B|-#%e_rzaUcp7LxbhDH88Y#r1!el zC9cE>MaF0oJIuC2`R}1&)}gX(lhEAt*m%Tvh1ik%;!?&qjo0#1TnB@4%K6^!sI#tD$0!BYt;(os=C1Bn%r#50hAsr2JhY3^{`hOy;f2?^S$fdCT`Vi z^b8kGGsm4quv_yjP&d9mEC{`{CzFO8Jvx7~6IcZ;dd@*7!b-5ZN^jDMkx_WZd_WMi zV|G~U(3P*@lPBz`jNzd(nlRO6%WqNo1=ce2r^g3=W57hB`-zl z;#C?KRvNSeept{z>^+7CfkCChLPB*zlEDH!%F;gHqw#u9!|dj}m!>^2&T%9>EpO%A z*j@<(KRio94SDgt0w9QCST9^Q+*k4bLdk}~B}Cv(b$wUxAus#qsa{Z0y z6rK?6s#K8su1#9+s)UD#m}SJpVc^&a^>txQ);imiDE#rW`tMAodo#9> zSL628av4BcW~}@ota9{;v4`srsHkR+Ua z2|O5KO0>0wc@|ADB>|2th3Iz~(IprX6;M*wV!gBD=9o*X{1^it&^&ConDm=w< zF_*zhIm|+*2j(NUnDnc%FN# zmKbU?`-3H(=(=^z+w8Dug@o?gU+=pbgG-ME30ualr)jC3i@FmDW}Qn!xb1!;Qg>(L zcouJmEJdGAu9EU+YZ1rK_p&x1I4@$5Wl7n*glUEQBZ%)&tn+4;D>W8)-g}VETia{U z1cG-%Nl&J~eh_VW5pzRcRrUFe?tbm-{i+TZRTxdXa86CJv*ytAh%m|@<-wtWU~=Gn z6@l!=P35G_g7R8=+i&~#$Z1>|<^aRUtFQUh>|Vd59$RkK{cJLfb3X>0DjjzcfOq2(OF+N1ZAI@W$#){C1O-c)tSjvdS8S=C2r1S_Xj z$G}{HCsl!*iMfEc6ER3VdZ0JHkAN5UJgA?L>(?C!SOWPLO@!J7f;BE<7V@0H&UCqr zF-wcEOLrd7THYz}!gQ!}YC}0CRg-`&zvy+Dl@}k&^9rh!4=cF1AL=b{P=QWh-@(|A zVmYq8vR+sh(c}wsPiOr+;WjohMVkU}+z!Zn*WTy$aRxlfY)W;!+&!Oo+NIo9>fQDV zV!>4NRXVqftaN0p2P%91o!c1(|F-dZCrLQDUXVj#;@v7fSKv8y!M@@#U3~dEaZ~Re zN>#)+<&oMiTe5_~q9seMWtu}Gbf>kt8F9ECPbItS*(hcE9cQxy=>Z{)T51DenY>>J zxgLssfP~CoOoVHRCzGF>t6AS-C0(a50wljfjdHS2FTxd&cWFY(9OV;#@ihjEFu0B3 zG^AWT(<*?jg3!5?x7df-GlI02J7EiB9(iJ~f~hBYTB;P%?{~bLgP_-14U_~k?3{c)UO{S=V1$3ZjG2Lc7@tJ$JztBo3T8E0ca0+unz5M zo<#KL*(kHEW}>oL<@U#AX*?)9YWqA)tQLgB0gi@sBFPaZKdgn%Ah0w$Y4c@#Y7F32 zIN{Tr*i0ZZ1_o^*Q(_^Utu0=C4oyOev4_K|iJ4UE17~dqUh-b(ub(<>&EWADT^E8U z)NxEp>mFCAK#1*e*5kNDU_yP2F>)FcAgx;`dbTIrk3-FGXt2=nQy3$kjCNv7?nAC` zb5Cb(_X|@Hz){5mi65J@cY1o#=xG8a_&Ayq|G>cgA5dD+?YzmhK;{?X83dd z#(df>)7f^jjrOU23xiBM>Yyc;iC7F)@O>J zxzZ0WE4~YyGj>$yuCmGXSLP{j9i(cTPy|Y`l81^Sm!+dTx9m7N=x5R9Q#m}OYLxpi znbb*NF*&(Z@#f5XHxnC3Gx@sV^n!Qe)P%MAJjfq^g`_FwAgV|#SFZ8qQDozMza8Ag8UD!wG}jFROnpzs+#N0jZ~^UX^VqfaY|e>?C1n|yMW z8pD^%wQ846iz*N36FVv+!&s^sX(}^Dll4kHoq!8Dl_7(oTQctCrO&%Z>Y7ES=5PE( zsF1^>!zv?qK53yxe^(hivz{s(GB`8LcC{%oQqTk5;HeQ7)-xDohy?!!MLEwVCh)jE z0Q|BlqFiWHB=o%^IbN~Zd1XeNDvR1>%fR=GZKfH;E$Z{R|}mRkJ%amhbN` zW%6}o3cxfSt~lsk;&Xu&d5|20S$jBAlD+US z#9=`%n_Eok3@dC?XMs~N7fbXdmnjQBCgilRH82)?1S>C+i6pdAG)u)E9*rjCYB(N< z8{xc?0!7Ag3ib)$jM&Q9+13Unc)N2}oH+(RqjKRkmnQ9H5Rc4m-^6VLgtyHLq(D}h z{2=>QF2{3Bed|g!HSmrOKE~fV+TyV}CaGa4#Ix-O^l6ausp~buO`=aX63<#}Z6&qh zad;P3*D8-fQE-hA!9jXBtg$^*iiYJ1owtOXzK4(>U!C7|Ey7iahFUL;d*8-gbV6F# zJ0R_@CumS{MmiT(2#F;_05Vy)q4)vt{=$azU_r8F_eRlT&9O{}_rt7c$aNvtwqPl8 z)QLu7mn7K**Rxi2{-8(nabW3G#w<*Xb5U%Xvrt6Mdz^@pw*pw!liAdew-R}4PyX)j zd6V^XjufD1oHXFkq*87f<=i)aDhPb;F*pRBNMjxIj1A*=Z7_QqJfB?^H8~Y@5^Mgu zDQ#1p(@H8E{IZ$O^BW&QAjk1?XtOdR?|pX6e*1)+@{~->h`Fc|O3at!T5&pP_)zt= zaNJj>H7Zn!%P9yK7AJ`4Q_ljS*IDc=T8I=2UR{FT=Xuv!gvhl|zKDg*%#WqXNPxGjEhEWjRL*_KI3nVZ3U* zz#;1ZAbQ|6IJDkDPH0_iWF0sR{RXM1dz;Q;aUf^|i*WHA0Y@8%65IPX5kt8Ubi;PW z^86hzx6JyF}~T0X*Jx!@f#oEjWZBVOuhoM zaLWdwrQis`Vu7_FLU8JBci(|PkuN43S%G?iu>0tu@xo;l`0fBvK(4=x$5cWP)ESO4 zndfQgzVj4XzDC!Jjs6QE-{5gom84S_OAp?!Pvl(2CgHw0Xxgoe3v*d)h!asHVFi;x zE7*x?@$$u8b@kkt;F2^lOJ~y9_H-KXxY!h3yCLfC?*xqnfTf|O7Rzy=cCc<=vkJc* zp9IhX=REOgdomcyD_F)rDdQcbdLxkT328jFtQ^uM#*HL&Gq z|2wL_Vm!V4ShP71U>BNYWDZGa@UrHDRrxQl;Gvn}9KL!o28hF&;XNb0b|v`8lMBsv z-*laU4(FQ??R9f6SaI}7phFo~tm1>h_!=myu&V`UfJFaEA}Cs%Q#n@;KGVF2+7o;-?Wi=jqFmwSX=iq3&cqdUba|J z6*BuIyI+$KU!(yo1%i^CRQR8QLI1hzH7kE-g@iVn6rdd?8taLm%LDXirAJ>3mu%Jg zlD$LuBw5kW0}`g%vvItY(R0rV9aRb9u_Wxo13mfU1}8>&`b}4M`X-uEu^e3PF-bDQux469COd;zDb$d*Nog?z z+hgvVc@Q4x5-!>*&KP`B-zCoy9GmvT0}>&coPojMQ(11T7;e)=#-TY&2ESHbAQOHO z;*V3;9q_D56sh?-pge0jMQ}Py49Y%1DIS|XSgt=m<)Y4HYiUv00D7Y<=w>BhiqSxG zGU(G8;n!vuhe^PAOxE0Epp~%Opa!>Ii$I#8fm`l$ZZPut zlr|W+)uW4H$H1?%?-0ACa7nj(1#gmgQ@1hr6YPYi_uYc;DWaVV1DU))w>aa}{vy+) zMG<`{x2HFz0V@AS9opZ)^6Sbt;csrXr_A+Kr}wr~iR%uMlBG`BA{ocM8HbPVET?W| zYI;M#;{tioLvCY0bzzJ-m@C#*MrH8u3Y2`+j^tTaslf1``A*QLxSu*BJ;SXv?d5${dn>GdEC*%+C8SyjV(c9dF~ruqR_CaT0S8U6!K;jg<2~|KIxjZL*QPkV8`T;dSFKNWyfaxMVR({F?TP6- zP{*m%3lr~8a&tV;1Z-J(#F}!=23BMuT_HngBrClQj+FVD6!%%0_$gHSpWXtc*5vd% zl(^!f)|E*_hvAp7uGzc+oRn;NpQO*eDy<^!w%3QD0(FoZBS~WwvrWb?n5u(vV+%j{ zmGIrz^ICmh$M*Pal{PVuG1v@bhPgx_GvJGU3jTvy3%xJ0KG>U~8@%F4H#0)A%6hn7 zYCr`{QsYJyeThBz|E}g#Yd9dzMFNf-`qLK7v2ILohm};M&+-_%z{>jUN5&d6Zk5fFeEVQVWt7#w2`fk+A1;1L5*hXGtA9pmFHXen1-g~Ve7&6 z5Ej6iHCb(@t~Ym*(y3_H{=j{DhH!49JFlY`o(t4C%V%oAF=U-1Ax5OvB2=Dn=&EqK z?r|@NX67TeTufwRI91>InsV}}S-_S+f2%0JiBx^=`1*(LdJ9mQ$D^6Ia+Zh zj>6h{_f}{h!fCL2=OY{9DVeC83pDtvY{TywzUZTqRIOSEHDs(c3orqME|8N9P0(B^ zd#H?&URx&sedW9fJ(MM;?9De1Y|>z)y*asg4zHN`-kp+$<&4Iyb6J1YSQe!qA+j4CfF#tlL+nA_1~j=5>9hSi>>RC;yzQwZ9W$sQYf8IaU9QYtpw zfT57@MHs-Q-Jm7L08vb$`8AA}Ds%#U#OQlyX3SYhMxaMNd@i*Es^dn;Pn z+1~QJH`%LtpNYNOarpL21!f65ts7ZJ?^5P~iDJ|9!7lA`w~Uz$StfB3vf13yn7`54 z*ZKM_jaCJP>^%{nT{2P&D&&dNfpnFE@ccI}bU*MB_Sqb=Nx$XXEkkZ`9Yv$#*p#MI zBjl#!h;izoa_(!8p-c3#c$2Xh>ESY;Dy8z2N3j7H9(rE1 z0|uQ|EGcX@Y+IVsGVmt5_XonL(qy1Zt38Ti?Gwm_wN+$5=ani~nMuNM!(xHA5!+Uo zoHKaIw#gZ`0KeR0JzWQcj&@c`M-RK=Sk7fYnxpJ{cHGq}Rkim=i8smK?`qGztG-+$ zW$@chVS+mrt*at(av=IZ|I=5-uo}sIZ)Oblr)9}2R@NliOeu9Deb=&s5YxTpYMm|I zDDGo}Fn{xfDW;u}c(uNWsAyhlZ1-f2ox8;&Mpvc%rqMge+CiVS8HPHvCH&U1mzg5E z8JwTh%@hAwrFDa>3m17D;QQPSc3ALZ{+fh<5IFgI7cP2*-4w##fuEIL=N%|lHCTYP z7<0|qF4>PH3=9G1xC@ZKl2#Fm5`&Jd!R>lPtzOhB2T z)4%o1X^&TP-iEH!)RkiZrZ^Py4vsfEN4o@Q3Vzsrok&FN%?0c2V-0Z~(LjAH4%Fy) z6X?Q&Yl!2euNzdxB5uvVcgq+GOqY*H@&AGN(d%A*Ua*J^d2HZFYRJ1gLCA`;vN zfLUuVKpmVk>9cZ1DadD5Wts&$Gl5XG7hl-Ha;sGrd=FxLEof#6Q4hW_6WM zqr6YG>}L`<*75?j*6(4fRLEYSc=PW|-ZgX2H474yw3brAd) zn_Bc@rvnR~K`)+jk)?6(elP2)iLZ=o1<9>dPp(EP57Gr)LVnN|d}+BjVWdDu89XuU z2zQ?h9M94Eo0W5<@2|1A6xg5(%--9eG{ISCbLYCrqV@jdkZ4v8-dC;Ln;2MhkR&^l z^c{DZIT-p=i6;mKjSnXQFzm}G^`yE@jo`)z_G&Hz1&LBb=J@1!5@Ga`i88??4F@YU zIQ}Txav#rr+>18?TZcmfrFp^cIJm6T0e}%OiydNOMOk@wl9_n87(wXm`wEnB9Z>pj zmW&{`tUOj=IV4TI7}TbTR_ef=_pUOBMEcrr3W`WUKfr#jH%69w;`H3ikY_*B_iSq^ zPlYinHK~21GLBm_C%WIU>zi>l+SLf&3uMQqKysA?0WvuAJRtKt&oiFd>=wDtA?RhWN5hT_8$R%@e@ zA+3aDGy7^Z3Scf;A~8)b=gqhlaGw&7D6l-h4(x%rsWonS*-=$*b|xf!=|D%tO->f% z&WpFe;^rKWtX`-OW{W&%kjtI{nVzm#!HHQK#z0SLxV2EWi8lwG3vqLX{_xlPkd>yixHdju)K{Lc(zy5YDu`A!qev`51u4vPCT8dfpW?|jN9z0 zDj-f|-JNy4r=X`AKPb03gQE=awc^m3Q5%az;>qCkPM*-hxJ`pQJK+t$2AK*{ypi|f zfd{3kpot(;s~ZO=wY!rwz$@n4uEHgDpOkmnh@LSItR6`N;X>Rh6NnzHqDHi3BzT1k zN@gF%A!bjAb1qXH|9s`3Q|sEtLKc>sC}O+ReLSZ%_J&ifaaU0_jgi(PA>G~Q*%=~2 zS;xAOO#?$i?`C$kLDW)7(1|4n>Nc>MF3KyG55UR9iA#g;h^Ub@h8?S!010OTN+E;A$vTV+NcyhU0|NyEN@v+lk3Zjol*2Y6CJ6W;TdVIX4%fHfj@pPt`hGMyvrn{z9BM7kKsi{S6sAiD(;e#) zL|u%A&LkhveS>V{f+sF!_u91Na2gbu)MVAL3M=gi{YeljF|IE{4@+*kYez1(v}CX) z>A3SYSz`t3BXUcMlxd?W$pYi)tnLyuQ`yL}1tkDS=&jU51BoT#h&%)5y3f5jH(NLn z*n`PGZXTfvpc4f>bEoArR*JlXJgwwJ+iDxUdYtxbeyccqwqvEfs zhzA(?MAU8oHYO3!STNp53{vrtQaM;JzD6CG83hKb9q!?s3TdWk($KOOFBx)QB#33Z zckAa?y~nX~(get=q%c4@k3?EYV|a#LxyBIi-#tlcp8H;GB2F94`qa?md9Lc^F8OYv z(|LmKBf|GQN;FY2oah?hPp#2vmwe9UFDNjYi^^x)vdh}6+sj$DsQc#viHb!VX0%$H zNZ6hilz{2oH{!KzGsULl#u+@unb|9Pk3?1XoHBUT_CUX@7m6dfG zpY*O&3wN1<>SJol$e00k81T&rBWZy8xrBU(crz6kMiG5-7Ug8SC^T`iDm|)Sc|-50 z;F;c_Hf#ClR-|cT<-8&d3fLI$ipKQG;E9#hNGa4W3Mh)69N2pUw`zi=BD{5}UEDhd zC4mh{Yo>+idvWL;yHC?x@Oo1X?Qaqhg)+xQw1zCfPkoilC9SXkfI(17qoxM^F@ zxvvWUZDmdl4ixbOk$kI+$pg}F<*miCshwOcq3slHHEB|8T`;%qAQt7vC@tdRl8HAL zTl=0Nu4IR0R_7M#3j_|?C5?Rr*efAIoE6>+cMdKpz}u^gak$jm4Aw7`q-zv7c$Hc( ziIsg}%z@j$ff!qyJ*gzG-0SVRlf0{~opT^9GH#N|X?0#&xKC(8gCMm3K#ZodX~AGHE-B3ynDVbx_P+J2;Xxgqs)7Ue%7koU{j}tFhTroc5NZJNh;o`l@6-f#2q^l z0#2N=oGyFr^FBkU2A@uLeq|z!Nb(B6LT)+DwA2|39#Ko1m2j?Dl=iq)Z>Tryd9LrT zZ1LVrOCo-5#302fB{5kWHj6jpi!Ai!DEDCBHnTpmWHaM3Asf^)v!bNBNMF+99X#>q za2|Te1^G$!r1cU{OE=zuT^N7~5(kJ~oN|jZN=)P&kk0B(zBQLZO#^8hx1UKhSdMUI zuCpL044bkJt;>S{p>&RS*Ys5y@^(%}sPN3iiOSta)Ug=!Ls>?w$z627cXuVvlUi|3 zaA_^nA-WQpdF)NvCqAVn_p9u4k5xMBIX-lmM=j+tU=5vq`QrIzZTNm87$kZ+0mO4( zU}QBnu_r02zzsQNFmC8j8CgzQO?^CGl$6h^dC$gKJNg z1T+Cc3?WRt`ys4D4q%Pk>NT*ff(vvDCy6x1?r29xgE2D8O}1;m$6gq3=g}HCbYooX z2M5uU{UU@}cI2o~DMPeip#>#&)wC6b3MY>uQH687dD5K>)JsCH^zAXfrC>ncTX4L? zDN`Q4mAAGPSsX5)!49;F!kz^s;U(tduUl5Js}Aq(yG_s=LuQwSkz3S@7H{fq4yAldue64AuUG_e4i^_Zl1Hcb1sAhXyF8ZYFL~{X0bs11+ zhU~7Zj&pmHhl6e&Q<{-Wp{Ryns?!l~vsVt^#Ak0jp1d&*A&M7$uqwv6pcpZsRSMCXusgB3vu?zvG;wlex4?88R#YuxK930e? z02lGDc
Z0uekLumysD9rAOk>nZNjB{$o4964xI`%kvYK(SAmKheJQo@hEAKT_W z76{H1Gqi&Kn2{K$V%aFG*l-WlGXNQo`1M>yf>Ov1c(qh{+N4H}Pbk{7up&&V7ZV94 zzU;o7mux(64^OI8nN+d?xdLHFHm3uLIIWD$TBC~(moibJO`2N1Y!~9rt8LuavJ*5N zXKJ#CCx$yGU}VkRm~Vn6FxrEw5z(Iu=^364C5pod_7T>w>CM|B6Cil=;+NK~u-&Yt>sx*TfcSh|Hg%2a} z7{NMGR=+)K&B{aSkb1(fJbE6tk(fyG*jYxYqa{x&9?IK6AOs%Y7zjfI`CZ77;FP+d zzN@lUOo#1%%WXxGc1bcCXT|-2$yVkmVxe0xuv}?@oAQ_<~ZJJ=8%NeppPiE%C=?L+_2bKnRv11Vqk(# zG^-V>9mPSfo+%gX7R;)EK5-Ch8DPSNF|%7J7rklhfaYvdd%jEms0Y6wwy2Etyf8Wk zO0jYd^GL_L4dv;31fG2haG$xG% z4{)CiIDMC`YzYam=C%CIct)@(#sw91g?0(YW=t(8W9lHJI3c()2DxiRkF@%huGKhT z7aj|?H=T2cEq%`z`im z6-vgmf-K5~HBBbc0QwP74JFrou7d2bTU&ta#YlDIpl_LJ6E$9qG+5*kL@(_5dK~8b zR2FY9u=@RrjM4(l3EqD9qh}$6icRB|hisg)>7tiD>W07({B&-_yKb40v0UC1*^5d( zcvOPa^oX%ql-ZN#%^``;u^hXDab%e;7QyLDG#JLWu#vnbKIUvX*dHIF#?z#dIXk4b ziQ{H8-RVsFS);xg--z6nJ9+T(**1TGm>}rV5Vqu@;HY<*Xw1zSfscA@&vJWUh}gig zRv%-o0$42Q`t~(*=i=|X`@k>K3&MHbbLmWDHlDyEy&*55rOK3j=cbGR+Ndcjc3^bF z&E}St4!4AeK{R+klhREQ{|;y-cCAXRBabak9zJ(ho5~>{b#C2ya#K*i4czKg!LC#} zb)E8Nyo8-V4G1$5&1+q&o?1>$`>~WZ^K3h~`K7Hza_a-BVqMBmCv(CDmSu=>#+hkY z=FW*@WMsEO_+D$uMk0=Sj~MwK76!Y`li!S&kj9Wi*yXruhDEf!(P~PJS4l(noXF_~ z%>+XH31h^eSt&E!@9z~onh%2`ahPeYBbe%HR~ZHFd;|MiWX^$h;^d5pB<1ynyac@Q zY&6Es!&=VSR3kQvqF+_g6B<1Nz?n4GyI3cE?`=2$4;epRn1 zE!%FGjd$X?xYBGh!GlIZxOk4uDs{n`X-SF@jl7OdYo4{UK9Bi<4S z?*b7{!tGxB{=(idy0oH$lOc5SoV#}tK{R_B>ah9--L)SUZr%~?B`(8js> z_4{0XBQCh*HaElNq2fpiFc2oIb8@th#tJTQRXwGROnz=n?pe~t;v{9|inHrp3va;P zQ7hU}E|SGL)~TEjAY9AlM;ZLb4gD79?^P<)OFK_Ql6c}XTEDIq!Vw(H$tz;Sy9tlYSKt8j9xn-5Jfl)Y~ssaB%UQpHDN!FI*;V?#nR<;|o!KqV`~>K;pW2@J^%Q+q&xBgu!ew4rXl;yS9G zWI%vvr96r~o<}_YeIeMgP1`8sys06#Gr2hZ#wO=BUlOp$N}hIm&x!GTP4ukxh%Pro zv_K+HbW#ZV7~TaH;0kGp3u*F`+$eJJCiGnmX32ar?hB%A#LbTqq9TD_!H@3&I%Vuk zPvTBZ;MC+%6D<|$ik+kWxxi7hTY_iiPQ865) zQ1?r9WSvbW1RZPH~{+s4e=#aka`Sxr8>Y(!d(NgWtUu--io_#6lqbhNk6@rJwvwq*nx z%W%9=nZvO`DrO695gSNsNdOYQ7a+G3UQ(*5CZ2?vsKePaWc_cHWR@M5kLWA1aV_m~ z7R~ZX-rW|^s8i5b2nm!ZTSt^ANy8Iw3Upe{XE1<0l7QyYO=z;9Rpfp&+u^uEOAJP{ zofbodg>c8-D~92Sd*^jK0))3YXmPmG#2hp>p2O8P_ARcfig5>q z^5TM0DhsF&p>!=h%s8&ybSzROxj9y~dRpULPM9U>>J5i3$( z#c9r8+<-Dqv^vuz6dv+QJ`+Y3#NN9QQG%^_5zM=%ZoLUImaG%mBNo_HLZ@yi@hE|N z1E#O=V?j4j(d&{V^$AL)Agdl6n{nCcPY$x&!035nKQVnOuIxA+~h2l_MGTP2qH0fn=tgOE64S5NpcTF74 zi7$>Hswz>D6MX>`=KzZ2mh!Oc#HVzo0`X#QUyEwl2Iq@x9CZIGQ?BDV!@sTAPXMZ*Btu4KdlfvuNRRthBOc96(V*M9Jq6s(e+xMIfEn@_K#(~UTN zZPe`@XRah|01^`FnNC2BOPJ(J<#f#@E`e4+xk_=rCv@f96?AbqPSgIh_9)LoY>0dK zj;uGWj_LR>GVKIvIRxAhZCUg|QYyr-93d!%Z`hsUSIQ0cGw=Ro+tD6hmFF`8)yKz_ zV+$7P;`!{x;cZWAgn$HHnm7doXIf&3@mH5r9U)7E&e{Uo7Hq^yP^!RGQ(N^ImO_#b zF1P`6U4yf;1Pr*8BcvJ#W0rUS$hThnRZ^tLU=NkGBSXGsZkzwmx z-EHkt*;69qK67Q-o0}cRSVltVv{`A_c0#g?ooj4g#??0bA~L$9vYquxW@4XHDYO_7 zk}+2-mZlX*P{d+=+n6(TBH&>7dgBTrd`HWah6CF7K8W?y!i->8?&j&m*FW(OKZ^9? zYah&Ci5I_Xy+7akB;J`Hz4y)sAMSX^-+wPY`1Hk(zyG1nPe1(lJFohg-^3R``f;52 zI6m-r@#DY#;m5!H$w$-U-Ip)E`D^jD&?H%-Sn>Vh5XN?4feDj3(pS)#xu zFq)D+uY*rSoH!xYZkJ{z%~K@GCX>fTXLz>KqR(51s9|3^X$N8cM8V)NXzYjE=fgkx z)?-MHu1gGQGh;E|ax*b~QqEtRS$Z~+zW6K0&>hF7F|}Dc7Gtg3CL){0B4}(*jaE4) zLvoj}x)z2vC~2Bu2Oi3E-Bapo+QT2`y*MPzQQe?Br%yW&{mxyGw$*DF9hKX1!6HV% zdULb0vGp_KF#_d;5BO*wZa@&oo4*uh*{ZTAE67*au z{jqv-JhIj5b-Et<*bo00p9t$tV(d635{@hf^uU-0PQN7Cbsj)NmDfqeNCM(MJt~-v zqfLO}V~E1lZGmSH6ML`qhL)<wZj>=Ok8atXwMQq_6Z^+v^x zxC>9$y1PI8$)CEWN53bz2PG;BvK4|H2{oE=(<&yYU#OAtu$#DvlxhU@y>mh9wYVeg zWhdA7Qe<<8QF4%Cx}SodD3Kct3y8<(Wa?lM=iyJ?Zz{BMH0EK;{ZPe#OD($!h+|0l zIAtBV+z<{~yC|NQ$2}lv4uPT1MIicL{gBjspOJwqOq`FEFNhhc@T1LwGcG0#VFM2P{-PjwQqt8p;T@!Sr|y);?_R7v0^TfMPOG`3W35C70lUC729 z6doprep5C(@{H95+Sg2NFg)Ml#(@+1&Z{+9)KzH`gJh>P+wV2I`kpDBK}>@kV)T8g z64uG^VA4|ln=uyH8jZ5*c=#vyjxc8c1RDlDj8g9$y*E0UwIK)Y1)Cxo<%$3oYuG#m zlxD$m#qEIXJ4;fcJ}}_ypzU0Gm&V}JWRT#jba{Ip%>ZCW-Cb6D_$TijoYN&MmE#5( zoAU{QdU$9|_PpK4pvH@;p>eX-vz*Ck5|+h+#X}|lD_z^ImrW=svZS?ZfC*EuW<<=` zL&6C8WnGQJI^5M-HMx3=C{$Z{Ql$>lws!(@LwXKe) zr)VMfmQtXQ&1;tAo=Gk;zkp4cMOR#6kE_*7Ksps2+TC650OL}XkY`@vNe(P>oT)Uh;5y4tRsVMC8Fr(pUs5G(k-1|A$lu7i56HS5{%2K%05NA7x z;$dE*6%f!+yh=WzLtRDpJg-S)A%|1o?-kv}!$0y<@4k5P_D2yP|Gv*Ject_TFW&zA zTIjEePba_m(@+1+@BG2QD7FOMT1s#e6AT?)ITY)Hh+Q-4o>^=AFMgt(#T>^VGpvf3d*4fX! zVtBI7{tM?HeDA|g-uaae{g>aFdw%q3eEf8c{oHTh=hxUj`oTxP@@{@9FVp8%*pI*d z;tKm~Y#Khly#D=v#b5XP{tU}&U?}KWX`AA-Ty;&0j3vZ!soW74&Q|3pXHOT_#nljK zp97K|oiN?AHoBoWQWV5H2S79C2h4?GB5skM`(QsQXbWk`wA~;6nR|1_rGB@~c{5C0 zpn)+@zpr%8N zm%@Ri>oU+Y`tZ-b_3qbR^Ci5A-)aP>cTRJhJe&8j<$}!7x)tr2(D~E}w)ymR;Y4`n zIJc>_O-g&X3%Z?MYE_hA6Th^V!ra3<$K(Kz@-6cnL_>{%^BAW--LgLO%lYi9^y2HE z{-KZJlh3|TU%y|d7eBe<6aVClh5+GU(S=;;+KAkGzhJf-K#8I7)%9hq( z{a)p5Ju8>!onCkoDYF^m^i}fYG%U?I@s`l8HMcT-Y9rd2cfe_C70ub zeO<6|2BtXxgUhLXXCjE&XTGfLRa=Hp3=>8H6wOX3=^_G( z()J`Yn7!IAx3AT1B9$hiKK#pXJt~Zqli|r(7_}!>@a{0vV^Epm;_uB?JCluErhTcx z;c^~XDM>Eezo=Z1;vU9dnZ!)pt>YZ&qmZJs$ToYIYm*oZ_N+?+T+!kPnt<m1)g$InR;KU&GB2G5>exkehKu|0>b8Pe7^X+(~)bEuG99jd6L z`tWZ)-nC|zuEq_qDWQ(WyUE}Y)r&0!<>E0c)E7OBg$eXswS%({|&ONsR zjYIr-xa!c}xps(A0N6?#6m#8JEEk;uo`w6FO-%(L`)cbX3Z?UK^(BHmIUfG)`!w4u z$Yt(qxWGqQLtS74dOf?81ET4=I$K5caAGCy7^i2FH1zOx+yrGykMS-+qrK;0Yb+~Q zlLPU2cKrT1AbRhs`d$TDtVLsbdb$T2DiUS$QtRMZ0lT_W zl)eRI*>deeYGb^M3eQgL)i>;iv#XO~D-}gqE3u^k*T|`E#CCnk!@ql&2UdHDC=diO7T{g437V;kfy6bj&J zJ*|u_bl}@G=w8sslw4MmT-+4dQfh5Q1tHZQ?dV$Iy~|1T{WF7=IYGc6B3}hBQ!I{| z)wyeK*47Yc=95jsbHAL|4hg>TxOI5V{&KasEfPZ7s#l^zM4Sn@?!hTfVBo5rbLSy@ z8WecRK2A|x*Et{@sxqAQH5<)?B6xa@-E~-#1&|Kl(AssGH!#}1YeFlePo@O(`k5}F z6NiqMHrm31T*!*7E6&N$W+Ml=O9_X%kk$?ow27z0MMBoHPHp&t3#c6<9N&t=aE#5^ zx<`(gg>`-}TAzVrCG{^BowG(Y|%K7P&TJ5U^y-A}{j zXyHDf6aX><3kBM?LEqH4%v{QT?$go=yzlA%s(B< zW0H1wM;K^nViMM#e7=KAlvx;e#@t6*lM+YiRjv&@36IJd!D&w?nAX>U3TCzRNKEZn z-7{<>*lQtmxwWy+N(AqK!a`3630XlYcP3yQN}z3=Pe0%1emURyeE))1KGN@ealiC~ zta6Rk?!nq9dWcn5MgiKb);-sGWxV&i$DOZ?_n!CVJQ>}5`Te&X&pgfv`Ls^_D~tO; z0$)}(JA0o6d%Cu9w~#s2O!96NGOTp2R8GkYtMocv2(^o2<7VA^5}>iNcBNPcm59pr z$e?sfnXP{3V@wbEXa4XX{+S28|19^PcK=!LKikXvGTr~x??1TeNSV+-~9`( zT;xCdcy)hqCivoael{^bhhKURd@^AC#uo;RK=-{7h6d|kxLv7E&5n>E zSH9*^NJHkfW9VK*2dzQ&6%Cqk51-r(wPil%=DkkgIS0X(Kg+q;_UrHhS|2nm%SM_M>2p zD`(PzG+V{$Kp^G^eZmg+lZbF@<44`~^fWEZ3ib>kU5X~T)q94rgi5tH*=v(XKTXoZ zAHDgNft6|*l*g08*u?>E<;grsbb+PaC%`Q~4U5sbP0~wN3`c09W3$B1WoC#&YGiJ) zmW?nY=X(-PKObRzUjh#2pUFVsq=*0D&TPUaOlvLF{uSRUCMe!uI%yW;{Qe3B4}3~9Y5;8&oeUa~u*H)8@E^YQ?l*qW zXY&EFHBGI{Xg8R1PCaU#+KCe9m7&N(%oyy4Y~_u`9q=B9Az_%?Fjy+ViGG(;Sr9t! zJxHSED>PbGU`0*Lp#4DhP1CZzdZ75ssjVm9|G)IJ1BSH=_2p%GSw44E|M=_g|IYC2)7<}v?<8`%hQ?(E1B=LMW~`_}X$Zvo2G^Ty zamSrBX%?yD%rfwvRhQIhp7(kfgeQavm&><00h=*VP&wBWsP3ZkWHmzT8(yB5hyVEI zF3TMJq&8Mx23jm&Ln5^c)+>I-vbxEY4I)B>PCzN1QMBSr%$K++z$Ytsxfn2n5m3IA!xCQAViG} zgqu(nT8$`uQ4Fhgg&!hkCvcY%h15CSjEvqnS?w#;Q`}(^_vN}*pbvZaPv5$`{e44I zd(SCT+7V$|JzD|u+|7x2?UwAE0_%HQK=9oI3)So$Gg{pcZ2|Lwf4-DT;BEWZyd&}q zDj5Y@ELU73r9-5f)wezTXZKYkmJLI~GN#s9njBQ|`vj_-wc06{12hD0*y&P;O!tWn zSZa#wob@~KZA$ycv2Rhu+1`k%D@x0IZIQ&}DMmYXf~MGyb^TbFR$qfPWeooSRe zYC@GTVbO9rGimI}b?tOeK+jWYTHD=l~R~WpZ znZ^y-bVKN|T3QeP#ar+GBHM?Dm{yY#SI3vt9D95n_)EPcm{7+A1-9yBF?0zg}(VxzUp84gxcC7HbUU$6w z&L4cuo+WJU+uR&X3HQ}m*NWIR$A~MrqyUz#;*UK@@4kV!b7FhINIMgxCisUBW51Ab z9&1rPv1pXC3v6!EmF46`(w=HjE=6*Fvh~c^Q)0$W?BT%|)*NGIr8yQG-)sigl#*^t zmpF{6XYJiF8)uLy)*ENob-;W|v(!VcZ?s-|#9m3_P|ZIo7i4yN;R}L`z|)ft_qkur zYd_rAX9r&WXuYPEtef52Y1z{bXkd8d-Wb6X`q~(BW6V8vS`D<8uE}v?lYO7oNyoln zYVDcaVXk}ba@{xOOtFL@`f8VuPqZ9~<5jKxbX@e@!_*(nc7K4gU3l=veILOO)G6%~ zKWKX&j$RAesdAGLel9Z8bV7j<{C%al)wIEEqd1>)rOHuVPdgnSxXXLGC9jN0E_2dk z_&lP_#A(XZCm-f>znrH9v_I?HZ$G*+O<6-eopY_T@bn%)q_9v_O4t2pv@EnGfpq~b z2dR>!k6a97Y*-{LD800Vh-XDo!+JQDm9wbkVTnhCyhxIBejN6jk+9D`*5^)1{Z$tQA^g*XSQkWkn+NC zmox>S__0TD8=5Zey~rXtAb{0vtZF|T=l(#(xo%BYJ1TxSMvr^~6V)6kj2iKK^B?28 zKk+@yXJ31zKAFCL$xZ5e8Q}g!U--kX{M-JLulQG={-y8!*cS#pbUiwVhw6DBdczoW z>v3v6tfU^rKEv=5ok6N>Tv3wHW9XwBOl;kl-HpfyMj!U_$%JZn^sQ_%Cv}G;b#EwC z(vs&Er9NFaJa>`yI}3+zeBp5EM}Fy*VefOlZ?6t})64WyK0oYz{EhE(q{9^Phhc(0 z&ljA}{nYra`Vf;oyw56W<(n|f{gm1aUR)c>nRmx489R}GEt4Mh-kz^CS!$)0uZ;Fv zI#LdK;UQV;(FT!*6YEo>_Fg6mzFpFgRN9hecuB{1KE`i8+%Nn0-Z=QiYo9z{^;mlM zYhQSLROAEEh@z%bBxY}9mKoFHn1>xA?SRWcPkDoTC9RX@2-%X`)--!5TY2L+iY*-9 zCP-A3=6{x&8j@J2E$1Vzfj(RAj@jB%R>pHTn!kFh^3lif>8J0#+T(lfH}RFj0efjL z?Q@3%kH7u_^!WB#6lEL8B%yYIhYt^sD1FE}IT0;;wdiHFwr5)fUW*{>JSgBgE{?%t zR;72`DQi?bsWJ*IigJ8S1Gt(4-;}kO9tAi3$`AkLV`vgw7J6B~{*akQI(ZSmYwc_~ zyKz~7LX&!x$9~S7;xZD4vvnX$yNI$B zdHAosw8!TecY~PbkSbB|D4$F+mNp$+&Q-l`ZWdaka{M=}vY}y7EM*_OB?o_QP9fD2 zShy2uK{500jovmJYb%dyq_v5g9?%}EKi&C1_sjXp@vDFM!Fli7zxkzlO=P4i7Ta9Y zWNone&5AWEQdMlE)U+N7D-7EYel!Z0FurWZ5%5nr&ZOj!I4sz4j|Exrp&HBS624BA zROhV6V_OowW`XP?$q#3AKfomutU`<_wAkk`3Vv0{l6MYvuOT@3}Eje zSDG-|I@I62vjdG9lpvDtGUgIkT%h{sc#%$)u^P51Fo>4C>-g@6`OTmIx&HX9y^2Jn zdsK|l>SOFv*LED)W2;oSiH0FB!!lSL)Rau#4{vaW(j%+XH5-|2&T(h09S{qe96x&SVfZ&(sw3ZXrTS!H3ct2Lcr{-zq5P^ovt~ zHvm!dG*tV{FXu~EGk@kAFJ;L)Hyf-pcy^0uzkrJlTFg2po-no}f-~VkYua=4bR=2A zqg=Ac>aDb?%K%lHpVdzrIG)v{=`KZ2yM;|nd9kJUF=s#DJskOqfBxrwrtxL{ncw@k zKqis*^FJpEF2N6XKHtaAXXJJ`{yNkzQ_zs!uJn%FIK|ex+P>&mOi$R>snMdalY`{h zFdNW3#5>x|yPpnebvul|?c`s`nR{U5*k ztuJhnOCD{E1>!E}Ud!|}TjK-feX^d)j>99XQY<*opc_Ml-RewDwl^(l+Ht_5lNJPG zlZvCtgy&d0aQ@c{;Stzi{VkNE8f_kXx=DU+OyFx*36I;!CmZAEe&b&4=-bQs#g6{t zZ+!n-;}JGaqZ7=|-SOup^dwX?zo4Foh9Hw>F-BcFbE)ct>ovd;teva4tV5juBG?D@RGT+mXfBAu~d^V;2{&p zYy+igU9T*U-_#rO)3E3>ziqF~gY;#8sh^t%J^uRtkCTNzx6AEwZ{^$Ty$`;7SAOZg z^vSzFaxcYI#)Js54PjQJ4^q~!Rd!15GPLEWm4bP9Z^xFPKD8A4gw9;&aiZp9HR5)j zOwYQTDb)0P6p7KtDW~U=p-9clqzd{sOt$*U+TfWXsoy>4`nC5yjZeOF&h_K|;jhKV z^V{*xul1)F<#WG*uSqb=7lxFNzyAL3#0{lMOOjBBRTyD&j0TG_6HnR7*J~#P4U(tW zuF))&*~8f8%#(@qpRmFDNGFlp-P(v5Sz89#P};7A<7?yyr#6|SynHN>2@n6x?GdL0 z%Bb&}FdoAW>CClTZqoUrO_!~0iSj~Sz-HRPLVlL#L)N#Z%=2RvAJi8EfPGlP>)WmK zN@F9xS}juS-nEDC?Z!N4ornMSksO=*USlCGKd-(4!A!ONEk+yCcj2*$i9-_0Wq;%*mb~zCxCBt7kfLiAX@S&HY zZYej{A{(~YdYm;8WsJ2m@{lH>ILvmJK9irov{?#i@77we^6)=Ak{}3^ckux zwu77ra7>iE4xz(RTZ(wxK_bi$;4QRrYUi<#DNY#G%{gY>d0Y56fah}^q1T!bSf+H3 zZGE2Yw0W97{EwH-p?O7jMT5%dfOTFu$h2Akn8f&|!>9C;h3&#TD@rGyE?a|Zxe~VW z#%%z5h^jQS);Y&__8Tc?od*{-))8qcGtG*ouRQ!uk6n8k`5YjMTk=?@bCbW+lsG|6 zeJyR%HKM^MYCUb&)M0EG z#Fx4r{^$E0>Bpn0=CbW}OOvP8Q!m#1q??ReW@p%a^U1 zdI4A=-Fn`_-s)&~1ud7X?;fLLXvM%CExewG|K*Xoz3OV$?6Ly!%cyJD^hhSm%yY*q zP!6=!v6^^2Nzsh3CT84|N@Z7`0uRLipp<)WtupbwkBqq)*T}9No{c)ECWAw=-Mp@c z|MjhRfBN-@8X7&7UdHgwA?7wq9Isg|$nNF}GpsOo77dXyO)u3;II*%`Vl+FO2F0op z4Mzw*cWMARml)C2n@#kNr!=qmtPt%CwGl_or(L4wemSq7dw=#Eeoatnc3Dv+oHbwO zGNV639|r#g@e$4V`r7q@C$n0M<+cRB#BO~WFk-6Do{DD6e5%Gie_|+vL{)U=vi-2F zkTe>)`&C3?fjrHS1Gm{t^PtbZa|v1QqjPaiFr<5LpBiSodo^JFJN)n?H?fDuy7z;# zagMFKmMN#vwd$A@(;eq;Yje$3cNG*TIclkAMYUH(q|g0wUi)Fb_4r}_;xDd`Km7IA zm(rW%%zzJ)2(_SkA{2E}t5%O;m}zNfOh{*#X-3N?vo3gIb73plwwf)SLZLEG@2d}Y z2x$q5FpeXLWSpzbShLO*{5K2j!qaG~&^@(nvhgGJ)93Qs@@foxG9mrt*hR(XaW!^K zyE}TVRzZp#2Jk!!m$f`n#wT8a2_!;GCGvK*j&g)ml z-~95A6M7n5UOH>C^1#yPF70Nos6RhjMl)C=~1iHd5KIXGK6jJceyPc-q$v#O}Tdy@5pD9 zNttJPNxC4ewu3TvJ09&_^V8?Sa|86BTxMVUrT0F4@99qZx!+XRH2E94(vm#!bmgg&b=WUOn|C2a;i_)m(L9=e{u=Fb>=6Z zzOy4fdMEzIU!Cv20+D~_ckeaBMtL%9ls9VF_}PtbRYSFxc7u7jy`~Z2tr{yWo0{dM zHdtC3aNO2f+Nmy2<`&va#HYp1D7SXxjT*3@OKp{7$(#G|nA&$9!4qU8@PsSMY^l9M zNO(g}j-L(@pZQIDU1~l*P0i=;|K@jnyg6DqL(It%2@EXa`E8|u7i85ibY_CQa46pE?y!HG`>usqZ`PUnPJP-1RdSch ztE7D2`L^hdEwL8O`)KFkf9F+@%4pUw1+F%AGzga|H^l3eR6A_Q$TB_mvy+JzShe`q z)5Sw)UjQw5@Cxo&#G&~}Ewh)HXad}&QtKvEqN%S)qC zn4hG{%EAwuMAgrwnA=){DASbh!cJsrMv^nMo-#&?Q~crox>#Fi%;yxv)fiNYE5=Dc zXXj!#nCwDGxQD&Dx~kT;wX*;=R(=k(fJ?O$G`fgEG+|@4phzT7q{RIpdY^+#n>zOdD`X?(GPz z@rVES4!L(>y~)gSXN`jboq@bEe_F#CBkCE=7E6W|I(!^upy8>yq#gGJ24Qo~^;AEN z4ey>~FQCa-YG7cox9($WYuPilaN=0u{o!wVn-lk|Nm%>r$f9+?&ziEj9x16o&B8Qo z*(m|<)BD-eFrN0n*a!i|%7O0EnOYYs)&|J=z?q#vLQV#YlVHhiX)ayfIfi8>+VtUX z=2i5V_nTA-2mi(`tT(3eyS7-u8<}US*Y@e~Tykjfo+;xG2Cb>^R3Y-K>x?lxWqh&s zzLF)k%F^m&c5$i3f{LLBeRU~&d4Bj?conJ7nLFP>lkR*7Wf(xmbIb#T%vdAS)?Yz# zI7?Ag5V})S&J)~9-XV?AKi_n^vM19`7<)?{ZX&C##xjnf|A=M9%ivM&x*z`5x8DSy z&foUpXrL>JTNNQ?C8$|7^Nc_Dml zgUzR=N@j~>uT zojn#?@wCwZQ#DN`XRs`+v-!}?Q_f(UWt)T=&Lc`5%*FADE?;z_C&+skzYl*0ufk^J z5i6IxvIF4)J0b%l_8NO~)L`7hK`9I80x8#C=^^(jQzb>>KiNt82#XT=` z4w3QIr&5QUozI5cocDbAyY72I$Agm!%+UEv%|o)IkPku;ZA;HJ?UkCH zYCOEUge!YwL@=Wk?(kBAh1O<0q+Amyq=z3fi3a+!*$k_;XM6a&-+lu&e!s=`p|44U z0}Hm)@I`PD7?}Z{m+3mAPm8nracjxacWkHRsAA0e)Q4 z;^szUA!`S4-wO(B?qcb{ssC;o{O$}M?!NOe79J9D^4y*A-Khl0P3k(kx6Tr!T)yK@ zsirwY3yK2^R)Ry6%PZev=-5g1d^ziq* z{kTlIi>-c&ChBd9lP$okx7kvjrH?&p8D&-N$NKF_jGFmmdYLd00WZj=PX_$1&9i}C zbe)n?F247#T|nyBSR z`~nz59&!PzVG^kr-I&kGO+=(!S!Qw;Zf9aUuV)4Zm~jnxcRjkx_bL{LOon)o zUKEN^FNNp7Z!5i#?HZ-_atw$W+dmW!-f})!eRbGCInpd`Z)>Obhrj>rH^B|@$KJj> z`<)V4G}K7dxe}|F%?PON1A6Ijk&OjvlYIwOolFH)orgdE_M2d+_!IX#QgodboH>mOt(YAVWu;6tFhvun*{owC zo!+-nIjh@1UJss<<+`Y1SARUvKX)Iag0~cXtQAa+p?uT2khUqa2)zvzm-Fx^@2l{$ zrMs%FrnoUq>BIO42lT6G3r71cJIz{B5oXe-*94!+BVbUYJj z*O5-kp@~S^P~uzOjwXhFt?GLCQ*XcfdtaXjXx(+OoyzLOv^i;tJmQqSRd(aEA8Epw?dwh4Wv{eYarE(&O!l7n_R_j1xeDb7x z?w9lWK=hq?zs6RmO%H~;FFb*%uC~e$ZcT&+yvBZ7nR@O6m){EKKd&KEQBW?Sdmbg7 zM`lM>pPM;+3sUab*boe@$_{%oAypqGoz&8-q1skORk z<`h1x02@BkHq$HDxn}Z)!NmG(u{1~8YY${f>YG!Pvx(Nkpf{7E8AZ1Y9jwRB%}w(> z9%(emtb?3cA_3sF+Raxk5qJw7=j`t0CX`PZ&5tMC{mPwyH7PpN#cpR5_W(#QE**82+J9-X84H(hhyRA+|tq_BP zR#m(5*r=nC*qT=kERE_uu%*1u53>JlYu3hDh^*KY?TqR$o#&;I~s6CGf1G#jN17L-GnK z%`VELVwk*uswqw3mSF814e&A;4O;dwlx;!@F(3Yk555LLau5IHHB=q3 zsnrSiYU?8J4TAc{(}P$7hMp>Lk71kJUAc91aiF{({hA5lO}H<&hXkZ6haf#i)CUn- zJ_e52K$i4neL7tfAwZ^w+rvNg!8^Rxyz;-tKy>ih+)hDTAiXTn{w^L6ajdglbZ4_= z1k}75y8NTZsWwER|CiZTwsXvnRGkb^jhf&pYYV8`8B)_DwA9tpFGaiw%Xu(p}Ioz|*&ZCImQHApQWz(NMJS8-d0j#&sdH8br# zLm4+E)I(^aU@tr+`)q@J9YnTGtcmz|hZ+V+SB9+AXAHT&|6xA2@jfPUeF~=f4C0Dq zGF?YI-mgUR)<;adAdsNsqOH|wJ~$jSO~guP3t{jInFL)sQcFRm6dN>O8l%m|ybCK~ z7jz4IGz5BIR4y3C(!DT}T)YQ~Y$mLVZDt zD>bx0dkF{^i;?l?j^Q(H*1c!UQ4EEbW%$w3V_^%ajpm7YtW1G0XyN7=Bir;;v`s&~ z%D?uveovpz=la+FW`D;U`%_wZek{}I*B`}u{#Z`0O{)SJaGpXUDv1mCf$RzK^JVOk=qx4p=R@oLA9IK!IWrP!c+gn)bKnkn1IhKPslq^<%vkkN|9_&U&cRAglQ z?A%YcW}PQKagSP_{dxO>J>uQhU!Rue@BZA|H~G82h@C3_H2 zyRW|U^X~^g(V%gS1?yzQ2;yj@L}0D8zK4Nu+1k{Oq&p)AtxAv1 z7Kr?a(^|;vjlJuDp>ItLX9B5O6D(!l+NeE}O#STKmQQ`+K7U*O;~)Fm{N8tdbg;kw z^5c*GA^AtIJM$m>^qutA=Wo9E zdk~Iq`}1<63-sS81|jB!IuuD3*od{5M0k~T#mk(07ik$gQM3IToOKy!5rrOWYxg2zrm z&;o2Pdw}yR5C6<1;YuTj(|xq=AP>!K0!%xmJjUVKhRA7}V2Hqnpqp7H@PNG$J1VU? zwk&9u1fxqZ=h#j6)?J(#-pV#LM`C->Ccp+Ej*K(+!{5Es)dqjXfpM_WI5HPlCWd>f zcaTadz}8X7)d7l`30@7j^46tP{0$f!;A-2thlNPb2RTH)36n!6PtR$|8(xYmp|2`*l*N*Tm4Bz-P2 z2;|q{-eDywnhsLGtV>m*)*=0YK2Ac=+e8W?3;hs3C<|GCOB49ol<8<-C^b z+98a)2feAOG6?1ij=lA)I0NNI!4Q>2Y!7&0bENB;0HeDE~@V%=&)p7?O?BPxF3leaHEd~;_{ zWS7-P4(DNjnFUS-5C`y<>1_cdX_EldjEV3wDIU`M!f3v!R}u&);=pa0%*N6VkBNCH zWmlLt&lSO?VYHzMhcRQpEw|%*wkP`0YxJG6I&BuDk;bB$Qq_GsQZM@GHpUWo=N9dQ zxQ4p0oVrOu#u-N<`^ct{=35)J;3?s4<|BE|c6mo*kj>T-EU7kHSEe;5erAk(_!qBN z&Y*_dH-`|sQaQYQbPO2+_u$zBqSipexfGTWuG7gKk19$pa_~g6ypdrM%QQep?KP%hpx+*&yE*q!^Gq{% z$gYQqW99%u4ypx1^x47^Reh}~1CqnO7Gc>6Bum#=LSJ+)@N;@j?>fKatNUsS@a`@` zs3VgMhE`Dq?=+D$Ayo~C*vAlAh@%&vB|~Qe(5AvJzN024KbvOnt*7NFpI1iCnl^fL zuu!y(YsvCU0sru?yfe}%jdqe9IqS3((vxfncu`L@QSc8U%bOs{U)wJhuQxa)u85A= zcWu}fF|O0fYIJsY8PvzgHF~3{g9l3B-mR;VD(#G^`}o7Z`oY(L({_s?d*Z{n6&b#H zyPws|@81)vdYS;#9T<%Y4Cf1v)B(y7>S$Rg7H4Sqh~+yj&m;yl3~R?h-4k$RL2KBL zr6QmS4=`eJZ1P2iHYM0`#2wW=!JHOzulTI_{THvBThSwZ_B!9+;k(1=U^+K4K;ZF; z%os@4K4XvEV@OBz)>&&*pM46-l!Uc`55xL0*sg&A(P(JY&$(b8&MR`hb#=v14TP59 zE~r~Of?s9WOnUg&aBrb|+^eky`yIH5P)}nYl86%-+gZWB2$|{c5CCmi-u zdpI}G*{{5P@$!eS{l&|8^@DrrergzCw=R25YUf}o7)#W!VmM0Yg*k+5LZ;Oq7~@-; zG&LsVZZO#lA2ukD5h$TVbV9pqrgW~gA%6k9w+#815a)F~oFJ}_#}>Hv^N89F=<-@;u-C9xjElr5ls10adm+)A`d#>mknZGomNBJs62lfb>_u#rMH*m$f(tuP%rm{S?cl_3&?f@ST6;{=j@@)~d9k zb;#zXaKmGF47ffdCBs1M=Ax@26 zc^QywE#;}ULaiz9^lW8xkHhAP7AM9HiH8s$d4NjU?vwddJj`Ud|5m%f(e{#=sQu&*l{a>cpD+xoCRs<*Fy z_^DLfKfY^nvDu5x*_#ZQN*5io0^{>;+Hfcuybwd+a~GB@r}My`ae!5U2AOq0Uxb0CcFE6@y1(^6&)56+7zXbJ46|cmXAOC~Q$?2@ zAXEtMS-@7!tW!@@EOiMna1wS7@R-lubDx2vx;RGIJ)zx0=X9-Qh{dWkqrt3<24e#s zOR(Y(y}hhYd^mTd5FdR0nf-%5xcjs&Ls{h5qy!Btjg4gvfE`$@x5A!Byp(40#$Faw z?kh*6rJ88>fn7f6Kd|@OX&Z?YB`~mUgO3#*sex`=!cg7^conqU6)Jf1w07I=G-R>z zR`iqDO|VYX8mE^sfZB@9b%*vXf-m0C(SS7+OqT&<@Z&YGBecAGOz?_;BuC)?fObfBf+epY2!ot|!d!=q~LmHGse}Q3RUKy-=VU z9P9{abN8(mMwP&qn3vhTmy8Xpy{xKM4UW@Ma7{a!&kZ~f8>0hK5d%o#)jD8ZJ#wVA z$?I0J1ok1j!#_PepvPQUOF`T3t{raeUL)E#SGYGooFwAo?Dp;ifzc9;cR%C{v73vW zS#_5~x{2Bd>pG(v$G~Dt_9mpplg=Z9&J!Qb-Rt=afBVh-YnezJ--gEub}*|=h_xL` zxdFM+aVSs?T}Y)%ztnm*k76Z764udpIicp|I_&%bEX^lhb9b}>-Cn9QhKHgLY z9!Jc7D!OgB%G#-AAo5rq5fr~FQt4rqGwLvs_M9D>N$)?}djHi2{wzQ5f%!*KdaR#G zmbeokEdoF;&u=-!83Bd^mTn^KX2ieENewxL-KYqAOn`J7?LRSMNYu zazsuHVm&6tVP<$}-P#UDc*0O_O==Su*6dLY@K>P#i(v;0pG`z~*X(H4uQ7sY!AL%? zlu(6hOK%@wT@Yl(f~Q^EYy)fB+#nMo+5|DFG}57@T|4Wd&4IxL?pw!RcJUfm%2K*! zY@f)CC;{Gu6zQHa#duBhlqM8|WtennlO!gS za)ocez1Aira9E+M5ukRkJh0^ggC0~g4~!`xEs+D;gs(Ot(CTBjlZ$P3%Q>)%*_isZ z9xzn|3z+qKTPMwOzkc@dhyKGKyngZB z@7cugS7=*9jLZRz$D0Twa}B164=*pNEwYfPi+a6=cknrC1F zgBX_Bg?tIX5vWMRj)k6fp|63Y%^7WItD;7P&I%JPf<*@v7VwS0 zmK5%?8g4b2j4+=Z8?^J&mJ*}qi4lJj?h02tA!+=~Cg5YDOGdpN&*P0FI~l_Hb}1YM z2yQG|y&nD=ei+xsmE;HeMi?)Cl6N7wiJ^Ips1q&h;7 zK+9Iv7-Iw4wV)9s9TSvUBgn@VK$;8IJ&d$2n%~fVC48P98;qO{x_u@V}NUa1|TTz3ti=o!zl7n$+PiJq6EdO{668P=cCuE-(RM z{@9-FP>0`mVhoB-$V5n263R^YI&UuMm`k+m*bzGy()JV_!bV20{3vhe7bYQve)M#i zqaiTy2;>wIn}C3i!qiZ%et}^ocvicXy@hTVfWOcKu?z5BFoj8;4$|QxNZHdK&V9kz zZ~V!Mm#v(4;*nepX_F0T#(km81D_Uk1;(2BNq+u}cHco=*ecNGt>chEz zb^qcYUm*`@c?#OLMFK3jbC_+$n;&d6v<%_pj8zeNZOKPh=&=b2-Sg6oAF<}`6qcK7 zt3bApbsz`;L)${CwA84ZpB4eWC(787<#Z=xKv`LTh2A}$H z?qAy9{F9Z($UIE%?QCm45HSt1lbyCU9>zHtmdC(MpbQT&C_r7N_<|=i4^(Ol(Xq8n z8%ADu(tWqSV$Xg}FRRvoplr4BoDe>Y#@1HzM`>7>9GR%OsvZD*;MPwQgZ#%+c)$gI3n=-N}<&bFEZ*@A32O6#D^da*|5!<0U>=jlTB>x zM+t;adpP$m@2~$!YUAn*Mlll4dz;p;RLis1Sh9%Vucv6pkM=xUl&QO2hRVK{sBGAt zb0O7ip=FHzQxKrx1YF99q{G>u$WV!O*r34O0=R6?neEQSed=87pS_swJMCj4;*HQp z-a6!T<$%7rV1*q{48p&en+sjJEb5pbKwiDDwE6}-;$Tw@%RC_#R1r>W7SftvGU5kG z7DyViS%(_3zT0sa3H;7w-L@6G3=EnmDWJ+u43M1|;?9%V*UAHsL!`AdPx#2WJZVov zJ0MKjI(NV5yP%59OC%1(XZLZT^FebcOwM8qT>v5=Or$@igg)`%+`p`U;ciuoXbgc5 zYF^F3gH3c(u8G`Gz7kZRy&Q&|%o)<0cMF8;v{s5>OS~tnL9sOu4N(nRf{yI+LL~{= zzl;fpOFs(6rR+fvkuu)Qcdq8Z01P=!Xb0p#D~s1yWF;+_mq#?{b3jEdk(lI z6C4~spc`=~=1vRVNnSk8qDCFvdUd#L0;f?xCEuXwR5V#MY49WH(9<5yjl%E8&e>=0 zdtL3a43UkTp#sUiJ4tP3($3yPn?p;8t*M(qxIY~n9hZ4^yYUd)I&sDf%VWrJS_&_h z+5*%cV?0}!WmQ;Bc><;IA`iGSk+H$P8Fta|-%Bqtx&Qsos&U z)IISJu~}Oehz125CD8DPComglbcFKurZ~tABvNm+@VjI(+fcoIE}!~vZm#5)PS~rR zB~g=*z6#>J>4wiqu~FuWg$Pmq1QT8RTH{no<#gRhTZdd@7%~^uf)fMG=-$&iO=}=7 z%bJ}az4cV&9-vcdM3tb|Z@T5XJheFU)$3F*b$c9i1#AIWKhEZ3Q@`j z`>ApE#-7XaAXr)2hL(KuL2z2s#wJbI*y2C~5E>J(OQN({Fv)`91F2dT9IKghuH2ca zrR;NlCOG_^hyK}UeSG#`^F3Ye`JWEXjL-Tx5X3+BcmAIDckvBA;zuv3n?LyFPxE6x z`7+2eqzX5G^uh0cUNZJKzJL2mf8+PRF!%l&{_*WE|IJVT+0T_WH$U>*H_5i2Zc1-{ z>@Pq1O`lf4H$V70kAB~0EsUF={42LV`MEvQmz<=V>wrJ{_NS2SJD1~w_kZ?fSLN4l zl6fCpoZtSG6>=lpdvtQ%{n%p}!lRS(#eeY2FUw!O9~%56SLd&N+3)?5i}csO?6-f} zwffyJ`3qlq$-eXaQ$qRsV(fjB@^b;R=OF6275EPgEq*|;VI@Z0zzTE~JcV+_bDiTs zNNPmyi9%9F*;J>sH3mR}c{R~>w(g@A&*0`Uj5uwsi5Hw$o*`p(O$~kQiE9a>%{*)K zpu)o6ix-B@pi<1yYYp}dRY7s>1BvZSglNo?27uDu>zFQdxS@PeE;x9Rbm2%7*o&ht zOPk4{m#kX5U&G9(ZFKlRCbL|ByP^hHYf`)~Z@Hhuw_5_wrG z&ORHddV8{VyNt7pz!1kZfIY()KIl*e8Y`opwHNY&dgit@1XxLi1q?MoPsVbCu%;OT zQ|)L|SBHyXO%O+V>=qCI_B+$~BpL#{tDjv^yfZRGsb*oR#XKFtmx=K+G>tpa3g6Yy zi+X1s-@N)5bitpw0EbZN8~J)`$Lt{4wX+JsG~I08fKEVf{ltFwci!3f`J9|*t?q=m z8eiF()mBe5-nqz;Y+b??z9yN21^{w{s~aYUhQy#|WxRYVj0>$WLT+$nkR#PhN1Z9q z(af#J+#tq`wN5#?0~lmV9EaQ@7*UX{$$C+iNuJrqrgs+ zj6@RvCSS}u;fOdqw`~mJHPU3cGV3i-1McHUG%B;=rb~g3 zf%PK?XVs-btK03DgP^@wOEVxd)75>VKpUqYuyfg{DH2`}m3DMX^n}#pnwv1|4X{9| z51`@74;v(Pi2BQc5f5zwZbZi(ifk|JS&^4hU>^AG>*!l=>Z9*JriVZENxQ>wk}rg= zzx(=Ygtz(hL|%y<@BaHo+~JyoF?)gDRIJM;qm3nG97ZwU@lp|@gJvj2z>yfIAVUQT zgEKbJ7XiNzb_7Vp@?#hg3o$NC&u9zrEch1~i7t)pGOMgOw?2x4cplt#Tv8h+-D{?* zQ6``%v}NK|LkM<(o@`)@+2+bXPn`-X-{@!#%+#xV-*zdZ#Rul#2y6zk7IRYzgYK4K zG+P6?kaBYm{(W!WzJBrYyU#y<{p#&2)FaQ|zJBphz1+8V1vq zm&RfJKqHF@kGD;OL-w&6E&TC$=2C6wS-waKY=Cm#NNEC-|YaXLI<5J={w$zKJV=bpPA5$y`&QTNaa z+DgJ>Rcz5&+CZcU#Px}eTF^}cS*#s@@rp^7RjWnP7)Tgk#YzvqXqh8hRUiI?cM*D} z2jyCbbUv%2w;mXK2qc}|okVAwa7m$Po6<%r?uNO+4n%-^*cBE%b2)dX&U#oGxLQO8 zAxSn1A+QkwKg~dpL(Aae(;oiAYk?L`sM>pigieH3($qE%dK-{wH7A$^tSh)T$Z5?| zAZb?=G97mBWv+8wfZY8o$d^q>-kzc(s2Y&eMyn6kS-;;Fs80BMka#P*VJYq@= zyWh^5m;xRUbo`wU#<2rMi1OSW_FL+w;G}`9jEE79iJ20i#La?(?fOe4zjuu&O1D9mNjc*q|*q2dWM8{$QzsL zg5I&hJVJ6G(L%{N90N~KVh$t@(4R-lTmsLj%fo;C4FciMBLd+&-}=*1`kXylqvSb1AD>&J-hKU(uTdyZ0rF4a zSsH?Sy8v{gyhQAT9;Vj%S}IYv}hTZcyvn|xhbD+~i=G-7MB3ZR*PTSzTOLbMcO@?^l!?~+- z{k1oreEjjN*KglE%U2)1dVMeIyl64!jPCo480Iu)cO)X`Zn^VhN4HPdVpuQQ zQklmcBOlFyJ35w_mM&{e2)1k& zcx$?7?_P(`?tN-Uu4Egw85!*8z_BqiB5)fWO+~n@Kzp2ZK{*a2!S-{+8$NkU^YQE8><7IK~tHFFHHguh-z@@ue8^|q|*fa>s?(oP^JJQyfNRhW=P)fGB zL6-v{&9Z4>L?MUjLb%w925iW7UTw=B2U(_D`1S?yGqJEe^*Ot<`O+^?=HGq&=U`#` zPrq5%zFFA5S=hc=*#7hjTfk`q#AI*4vb!NC@G$UHjfs~#+Q{YNyXNk>5(I}~EXxM? zRtazc`BD;n#~+*28bRL8D-YEC5Rsm#B4gGXK0PLdAWi6zAqd8%4eb&pv+r>f?I-_C?*J;J4G@1XiO)j1RCJuw|n&F_}Vx5fYRx%d>X_GYhP765&`* za3V$kkd2y3FHBUekw>O$;tiLym}ZBj;Y=-H+82h)vJkA^Zf`Jt4>2Af8_Wh`dmKr z)b10l_#R`=+zSA5aPb76v(E$7TgkK-A}DFbsTl4&>a;QDOh#GV9{$TqIK&PTl6m9G zzDRWrAf0XbA)1GgCJL_yBkFZR6xbDah4h0rK5L7Iu&u$RHv}CB`I}{A*V( zh0PyfY$Y3f0}WBTg_s;|1@=AM9f(#i$hg!&@88uqq;G=9Vl-fA0=zd2ic(8#poUT) z!q4C|?xi3}V8v_`LUB!KIa;FBMd}+Qmyn&osf)DWXtx~pzjT#RpHq&U5B+f{-4ma} zJF*e^Lc8GI*WVOV-xO1iim9ir8@?%H{`{6P|IL*)(vauY!ojX-I?g&W=Uj#gqAkFr z0MW!%0x537n>!GT$Z!s(6v#|G{j?M75N6S84xaLa|7!A*GgiUm>l;diM&=z9*DCjU z9{$^(g0P83S(n3OG=Q|%1`1>Y%kJr0fwP0pGlvbJDp_SWoyV~y<``3HmLn2-?}=pX zemb0<+uB;I6E6~=_uAHFctZ@G)3o-4X13|A=69c|3Cnviv>zT#XCd#H--!wwp?!eZ z!qqNZAQFOEyypl^VQm}$fDxK0AB7}ETGa+YV8o9hRLY25u!X{6?)m#43 zi#N~WlXD)+exLfhJz6QjPW`;9>D|{~AKCBw`)!9fWLevLmWNLu*Z`47$-8zVSm&$} zpo|Vln}zS0fKX76L`lNl(Ou@UZe!uub|Z#EH;}T(Rm;!LQxI`oP<~Lkl;B=(pJExiwN>=!kwkyU)UY-xw|PS6=d3a;yp2zI9aB6ZaDIC_Z-4? z=*R)Ug7utjizAL_Uj@GN;ag+qZ{I7@KJt%m@4lx#i{I2~-_&W})M?+;XC)S&19&g^h_Pi&2)hiNL=M<14_4Kt`jX81@6QQY_nQAmA^tPMw00ufeI!{8* zuMWg5%2>3w;->?EGwM@)klUGZk=@5y`yd1pJhLsvG0&kN0YiV~(~ByfVy~XK?!Coc zJ@Mh(T-D#KH_zUD@5M*YK6#1ndwh8Jk%a=^xZ~;svS+5PO}QB6Kco>Mx7ND@U#dfz zY^OxZCa!d(AC$ex2X|On)3yhs9bf}jfx?6Q#kopo1I$jNxUIlBNEvN3di*x#zw--U z{dQtfN9UIJ@{{X0w2^yZ2^&U;o$J-8RX6e~?l>oOA;o**?;@OOFVK5}C$)LXL|fEeUNpMRiMM3)?t9Q_2sA}d zEm8!otabptj#9^~PYKzug5ae*D-Sp-HSi*(!-tv_LWCa?iJw{@_cI~adwdlU$%$c< zxx^d^kQF`4S1;ezA3Yx6Jn=bv)EHX||I~+bbF+N=yY=?jr}&h6V#*!ZM0BWS zqai0+av65Lm>Of@nhfw17wDX$xES-_IhZ)ZwnI}Q;vKH=46VE>s*Bt|DdnuHxf_TG zrZfO--IJ1+4VUHo#l40;r}lmanP-E=##k7^&pt%T>-bQb=S+l@Y}CGRq9fO0TTO7o z*YqTx^NLp9G|!AaGoU@CoJaug`=B-3=Vru=ZceF4IX;iha%S(jZ!w)ueKi_x#QGp8e6i#RH&o8?rlsm(^nMIdupV=pj|$KlS0dU=n7f^I>Tp49aBh54*5YfJ8X<~ zdXw9*0$_@UBPeWwiIJmCP@clk{5%t3Lwm(V6*@8%ZLo#*VJ$(>*4Z^i*ouq5xB{!> z2>6$6gJh|(utjD_@d;&T(Z%htDClq6ZPEAChjaV<{&83H9W-mX8kxByXZ1iZ3cEwa ztV0K)?5pO`jRb|54t0`R&<3#c07bgdt>Ci(c?KSP?!F_+WWfF$9dWK>P=p`iu%Wq6 zl$_6cw%@us1no~<0e3t>mV}9nQBHZZpl!cwcKJh-=Hs{5f%^lF?J6h3m z@zFd6!-uXt=9q?DO~eE*2FVjtfM~8`w^)c2RXHc%3`mBp#Zzn`geCi%`67)Ig7di>=zws4t7v|BEl&T=1^{Ocuyj`G&vuWs?jJdsAoDCk- zGH(_#BCrNt|M%VttJy$ME+RpaTAq`FkF(ImAK1jh95w2UHaahzSzrb{{CD>Nia>S0 ztv^3eBdyy(DZV-&d`B@aNU{cWf#b`TWnx>g&ys2T6E9TNzP zBZ3T_lPi(=dxDH5IHeyDad`kK(gew~i*A7<=x7)A!7{B1$-Jl4#Sot3>_aV`&Q6~( z#~@%%6SP@g2WElpdm~t@ox=POpt?B}D*CZ721WYi$;CDb)-*udrgVfAUM?dWw}sF@ z@Muo@;^qF(-@JYCa@QZ-J_}EMF7HfB`Fa1sv=m=|GcEmQTKcuK2;5%MCqA5;OZv<2 zF6paJ?p{+!XLcVwk;cRx*&*ys1`2Hzwy6|At=I;=ud8my$d=E@Wqw6f^l{MXm>k8u zRTWoCv|M~PB9G2mVNgCJU4#+bEn6J4&X|wJr0uzWGXei*0{&A~D*pFSD*9eBh-(Xy zr2BBpE>6!`BVmXJJZHBVf^fPv_GIX@tM4I*3_)EpyY?A?t8&#q%Gua$@3Lep_SF;V zqB64t^qbLC!eoK2-|69h_&V4=Zuj?3d^k6^`CqIz&tApfu6+B<-@f|j-c26ss(wOG zVp@DUA|`T=kv3_cnGlZ?RInBX{@(5IlaHhpLzoS@IQX=onQN^3+~)!Axsi38@5*Lxx3gLJ~V^R zYC2O~XxPa*oyJA-qC&z>ZEDq$PoBYyHwXt1?SKX3gkY>tEP=YNV{->Y9M$;0sjA{nIR<%J3qaK-6s$xiL z>=V7;4yDo9iQ;V`YG(3aitF~(bY5&N_~7~wJ$oaf@Gcgk5rqw zn97lJmek}dT@6JgYqim-#muwk9PGCn&ENVoKH%AhFXGv!p#qPlZcls;@8ZMw1|Rkl zKLKC87@YgMGOn|oYfm-zWyGIk+UFE%vK3i2XM1HWh$af@-)kYq74Hk$2!r+$-AuJW zw-1E4f;{4D9QQ1puE3zOTZQhiPQ%HZd<#Cv9ic4~({gC>D70p`af(C+osQYn!J>{E za*XXGlw2DHZ#m&gQxKGNlD7bRq7!d4ChUDLVul`&20O2faME5j>N>(gMD48@{6b~E zsMpUh_^sE^zE>Z9T(2LAhMxK?-eo=04eR+QCXl1J-WI!82*VR{X;B>JT!irg%_-J3 ziD|Y2B7N zXh<84h}jpkU8WvGjyi&v#YZ$k00h(R20yU}L4+%a;K)%LbfP1Tu)-1Ki;QC$XD#X* zZckEzio_ig$KHz5lO#*Bo$Q8OY{VCA473+a>Z?*vDZPYpit= z+MkTz(O1_FaF2v+z?)Ln2}J1HsR0z1cDl51pd$rVC~nod&pD+ii_F-VP`}{Wua3YZrDH8xgWujn3{4 z9urtyqc@5=hYt+!dR3FimpfzXKK}5(d~kP^{F4b*5$*9V^;*?1D?OP1ChZ=V)g1w~ z2pcZzo(&B0Ra-ly@L<;^_8Hiqp553)2~mW@ zPM|r5;1TOHP&{PLYag7lqmui&9avuex0la8dbL0K@KM?G)aUN52d>?C;J%6p(^Dsr zJp8Xeg@tEmFO#|5khARw-yOLoR=!2P+orZd(NRxyJF3qM>tu+s03oRgM~5z10=~^` zXv&M3I9{!t)8aIMpie)>d!h_ZyhS&nyB`IW|4gL4JoQO?bjy$D?eB-%pxz%%Q=G7B&K7- z+ldYiJyHfr}E-5j-D4HfA0u zBLmq}7vy$u4F?%2WsGA zb48a3y?msaqYTDr9)aC795>WfN2oJ0oe-NmsiK-S)r~->K8K^56}|P-GVsW4_2?Vn zbqPVB^x*1sLXePmtUvs37j+`+M1iWCXYZL*z~+c!W8Y41Qzo4%ZOs5ETyur7muXH_ zB+K!@XlT<0>6W-%Q@dHQnNLT|qj)3Plcu*kb+U;nL`h=|HGTNse+pH%PK;wYTXQmr zDICjzA?Kh2_66gc=!0*b`r189d+#<&rh2+6xhPZAGZ!Vc+2;x92Wa+CH+lTO} zPvG62PrK>)d?lqfhc1?5=IuIpX*m}z&TbgowLP4Z(0T1EYBe-dBW?EK(pS@LpuVP3 zU=;1#pg}29o7sf=njJCqemX^)#)d!;WH=xYd-!?yKkyJ%uI{3(@0BBjK}fCYYI*>G z)>eJZQ8WbLV7221Mloba?^M!BGSug?UFl9!R?yyKhxA^pB21Fo9>{_|<-!_>ZtFZ7 zQMdi@e_knLIU{#7L-6XmYCB3Ce z+ok}?f%ld~aCsbbK+R6_^c-XP#te9-mbHif>w~X8t|SGMp)00yj;VgMIoxz35plf% za&>^1p>jn**DbQngb0|tYHKUQb(Im863 zw;#lkn)%+RDfdgBIdQWD44vG}qUEg^;+K$<^lbZEe^mWF@p-#Lc5gSaT3-Qx2J#f} z4|$DAcwE#d=x+R&NO9T*5J7Y9b&V zcds#;C`>U7k!ua%y~^=ai$DC|c=i}Jh!ph6j?`)vUWguEtqxD^D1T0M325cW!-DQ&!Sbi!af+M(*Bs!M9#>N!N8=i1T@>J)ZhM{Pp z@W?d~swoYchG19DL8;y!ye* zJ9>`Ft{d?DmiUDS-A>F=3<(6FTAkJqF3nw;)`I?rr9qT3R-RE30w+!yvdb3JHU!EZ zV%-fbL*XN%E75fmZ*MIg5rJ=eQtC@CR*6b*lM6D6Fm4hj>QDCQO8o70A?-xv*NxbP|b+90N&*cyQ z-v{6M<*#~Oft(&;<9qjmJv*b?I!TiuL);jUwMykPVYG+_y+op+)MAiJ$BrM(bNIH@ zAbV^YfWj6W^rlxJgfOkyF#eRN&9$<4$-K5vX@yrHys&$^{n zeEXA^`$fKZ_Rec`v$Q<*se3e88P92bexCiU_uu&1wHBo9D#kc0#Db|1svneM*X*e`I8}XK{5Yo=6M8HB$~H9*05k|u>z(*ai8J^82*_`J^eX@GaclLd&)uI{PAE&A>O|zAJ!p1W zsoTmroLvLuc1KimKiHT%SA#SV%|H<~lq-`3 zRmZVotcgC;ZU5=159j_(@^f!K{^31IHzdY*`S~d31@8%_UR;Brr-49sGSxWMW6T;$ z5&8l*9^+b@z;OwAmUU-oU^UJOTBG;qQ@9bLiy&mf2Z}3g77dcqHHn&hNjm6L?+>)ny`v!t*C5v2o@d15UDBgBWC9Iax5=FCxm=eO$}8^~ zq~?7u%W=Y7OHr%=dIG%=(*)id3h^lxJ*^V%mgc9tSQh)LK1j$Q3wK!<@*rA$N{Z_~ z($5J;Jv6rqZrT}u5Z!7sp89ZZYlx5hyD#$DyGZ&wSJk#ssAQe(ZXso-ljW)G13Ay* z6d%djbfT;sI+%-1Qh>|_IFofS_N~iZJv#NY*q3rtW%XRWP!rLNja~>u2(1>Kp2Q>f zXBz!)zc-^xd(QMFiK~|lVwQ{p6n<5k)Sx7qZ7s)|ct(?k9e0~**@|c5ZcvGIoxbpz zFgh_C^nQ$!2;T`g$mScK&jrD%^|^B|AK(SlQr=T^VFYitJ;|p&oV#}PpZn;|y<}ZC zmafu#wM(lU)Fz^)Nqx-&Ne;IW+;l)g-^6!IPj5YS_PO-HVi4yng6y|OO_R>+bd8n0 z9iIW^ECvjQ_V

CcQ0W+G(>}6Z%4=Pb~8q+GZOY?=%>?Sta)B^S}o09=UebS-9in zv@T0Jw&07`;HpaLnz4OmaF&>#ByEZK12HHmK>o5W3H$F-jf8pVR@3p+hjaHz{ybLO zdp5h~@HEfMSz6XCT3S?rCL&N<8=yjo`@w%g%>IB*0!$r0xA)kcI0 zZFabc;4HSBgDThFTTkn;R5j_(v6^Qg#eckrnX=jILk zC6D7-#4SenChW_RmNyr*G(~UIbgl&@C4@f==r1p7o54A<6PPS5HiUmr4er}FSYh0b z9wIr`n2c7NVB#S@-rLz{oh*z6HP7}RQ3Uw8K3~^`1Ska!fN0%d#cdm&Nohm2ZYmh& z%W0hk&7mtRTRV&{j?L^H%(3N*MT!Ycu-)voFyoACVM?Q8fSe<1JszV92x zhW8E6sUp?=-dinkSk<>%Zjb=GZ{3%5-gENg67f902VRMgiPS%qh7oImgZAdz+4Zq6 z=jK7a?QM*4Kyt=8W^p<*(}790=g&DkfA5{5pYy%H`8U6JXFva^`GyhkYrha9 z0)zI33~_z^o1gvq8(PHu-~RTSKe_**AN<aB(BOfhF6|=0ihatSk zI7_T5eHJx|87-o*cFzgNrIHG&LM4jMBnouEBVMH7Kymk8~vi-heRNkFF*d*k3%_@`W* zYB-Q>GE~p(y=X7AA@Z;CvZnMel7-GJ8w4}MnY;Pu&v6?J4h|2^rM1!JHdmW~pU~HUaNn0nKB!?qo zcg@}!a#&WWKyY%JZ@K#yuRuKw4Fd;*(H|ZR@21l0pqAEa#PS}U3rk5DryeN0hmHnd zgl_7XH-Q;zZVOScZB8?FxDJp~?H~{qZ=H;p6lRCBHbml|Z?$$&9Bn;nc#}-Q$YKbSyxDEZi?5yBZ@lY1L2Coz62i#0zKi zV>*ZTL%ZD3vf9)I+GvVm7?c^Xs+r7}aOWTP(_6z*YeDcoc zlXq@fN!lwRRY&$^-)HVYJyDN2_}SQ(?@j!ozeJ3KvvG@QVenUPs5g!ILY$f`-DL|U zD_do-oqJAZLRWyx0LC4&&L{yvUoCH$p}J2eONq-|wPXqmCn7X6`%$Gm$olbZj{ieD zu6z(!eqd3o1f?ZR(kG5bkY*nwyB5eF)3=;13te|46V!rS1iOXAde1twz2!*v;?=Wf z_ZzH_eeb@siR7_2ncwVr-@~4_OrR!mb_IYgr*x`KqFyWo>*w&elMnY@Jv{Y$M2b$A}}9nv{L)uJ)?q^dPqu9|~= z12tpl!jy{xm@^wD)-K#C5V6u7IoC=dwzo&HVY9^so7FfIm8%RYX`N4|Pv7G#l*j27 zskW+J&q``I2&8DoSXb3k4nSZBY^|Xnm~bCVR zKK6;^n^M>RZ6`7`JKWB_^BBR$Zl-*F8d0}x+sE!geJMM+ zcQ4$pNhr{yK%^Nn^^AQ)H*@LHgjCL^g78SkpH9*h8+PB=XRcZY}UYSwC?BN zo3C*c_h=N4dp3e-v3R=|Ng7C=Xn z3ujt@0^i5P^IH8Qc)QZQ&$&C2L&Zzh3R&~0ZV=>ekFQ_t z=&W1E;v?U?hjNqov(v!0-u&PlKv1yAdHEDHjb#jj&a7uKD6=FPABCc@{ZlgqcQ;}VS zop}?UtUdwEBr4f+oYr&h-ssE|V^U5)3X!r$Nz$mL51LDM+1!9lKea8!BZASv(( zVYT0J(#!N%0H2Xf8_(1B9J^t}A=E8rYiu4N0Tcn*=vC6v5cn{uA$g&hgCb4%JrcTN zRn}e`Sd^v0cmD>iB9m}ZCAdTs2^18N0@+4TN#L9~#hFG4n$5G5mI@=vIC~&Ki+IRF zJwiby62jI}R~sa24;+pybmE=q!)k(wbH&G^EQM+D?%#Z^W9&ZobrSh;9@ddsyltj3 z3QN|<8CZ4^u5l{%#Qq^p><*{%px6sutwkN6VWc0Jreg|0=`4XSaX1lHAIw6%NpGpg ze7D>gcmEcy0xCz9)$?+^!bdXan6}_gfU4DfE0%;Ook5I;2d zr198}XtX{YPzc+#kdRm^q$E>di315hwQUUvyZg7VwK5Q-NJFF(vyC~xi6)Ii8qgFf zL26Xa!zs2wxJo^en~^lFsoK@yC)iU)60+(SV5puDWu4w|9P22;unA^UvouZ;0rL|Ge)sRa zP9#}?0@s2oPzHszQ7{-bEDk8!R7qu{%xjz#0lXo|&Qb>n45%px^|=I8mZ8-m2IelHf(ID(jW9?+ z6sqkTM$BE>Vr2PB1FvWj-TjBx=v1P)ye$NaW(SXX&{QZ{Xm=q^Fege)SMOeW_G}w5 z>^esQl_!Z@MNboi`gQO%V>wJvN5W)a*vu_}7AW);yqeEQC&K6A?mxQb&dZI1c}i^) z9-n(f*+52AhmqnU(@sKYx^FGnrv$at6Q+b9pCb!AJA@%;0GhCr6sL8(MR*q4uq9rb zy4wh>N;P+_#-efeAHN=*qp_`hiljGmgUo|7Y9khsVi7x*15ECn6ceg!15{#kib4v^ zIXzeh&voUqDhvQ4)+mI+M{!R8u5+=kW`(191?ce`N4C5F1Xr=_B7oa*_U06Z1QGHS z$7I}a5XarA-E62%BP_1mLkS4K4rY4kKnjTyXh|K|2++azfsP(*QyxBv(6Ka7SXNVI zu)LC#>h3?iR(9`u9^bxqD~@Hb&`m`OM#qENP*h3oikPgz8dYcwAr*yJWaMb`LA$quH+6Dr5*4MqK+t792Wqu(M72kq zE0{hmhKy*x$S;BjARH)H@0DmkNZ>dZcmKtAe(?K$+SAVWfA_Cpr~U^&+o@l9drzPJ z@X1e}K9lz3Q|(Vadimr0N9o47^XI<*4}ReX{l!Ob|LE_1;YXjkw6}foufFAzA3lBd z>eK6LfB5Xx1D|`_xBTPJee~+(hYx)4`)~Q+c~KQFH$M6cT&6$UFP=Z$ukX$;aARIy z=IeX<@E3gB)A;Ns-|`jT_R-H=?340%`oKs3;Xmnb#ns}oKROS5`XBidKaDGX>&L(N zW_|o|zV&AP{uh4o#nYGhZp9jXm4}R}YnV&I7GOUkn1PRFUZAmAfw&s$C&2gLqgx7X9 zX|zLfg`NO{FTrAFPU_*jYf_#yY!^>4UQt~()*BRm0&HkwZMIk{GLdx9ZcTn)Q5e~6 zcE%&$v}ChzbHo;g|p3jwV<|!+JME&Sa{2&O#pig4Y+R_mOx1)q5E8o;)^M7j_mL?t-X#8eB}hkArJGfxvMV z^rEPH`btP@%$a5kv`|Z&(c5UEHGx$aG0;VbAsVME!;9^poPqJIZFIBi0j_(UvLjc{ zbCh)73v6??Gq-IWS>FFT!qdtec zoE^cGEftj-#AliwWkjpTEwugD_Va`W=w4&?v2WX#lM#R~iX1gqYi6z1j)P+}HX(Eh zyiCi2s$uo(oScT&9nc4|adaH847pMSqk6F{?K^vLuMTF0oQ2~R!pfCbo-w#=FVItw zZ8NstCP_T@<=oDR_42K{KO%(N``kV^pujT4x#3^tdVUf zGAU{IvqRQyE!}0Jw9RX{0u_Q>QI=y9BWAXotrxO%Yl*Z@_8^q>J*=5k)?bKpWIR67RbDzzYo?vLdDhW!HqZ%h41Tk`-4uMUA$ip)nTlDL^zJ&$PN z4Y}Q$;_2~vGZv#X54C;6P^>;3qTlLcxTpxmr z2;Blv|C}szI*H+u4c*Xq`u^4OPiGqAq9>pXo{PdJ`!S(ZnpBYApqUa?$?Ah9z$qO)y* ztS+nQ6x|N6_9hJdv18@G_9^$d893lU0LnvrF?Km5af1p z87rVgb2jR=p%10oob5fJ{=$*^ET64&PXU&KfQW9m-LZHMUVTiTCzA`JfA2L%PolmZ2f{X>TpNuSW?NeQ z7*{Pw2u2D+9LWm^_C3bwJFVN2y?fut3xKn1Ksm5GEZ(XThy8XV^4OPi>yFqJuO76! z&_vKFQpS*hajEC$LfnlYu6mVkZb+t0?}dDX@Wm=&Q9zHaK5a^k>VP;P$BXRSVId~nLJ-;q_Lj2@F4nvo`id(QR6ZJN&3r=d!?1_J1P4bB zyjFJ3whJM~`?L^Bo)b~2=96|zsHSp`mAQt2JwS-bB;w9nCS9Sb7U;1i3u?II_8C9+ zC+fQ8_zSv(jNe&>3+4;?l*TcQ*Kn4*~wPK)9)W+2+D zP79YSces-rGXSzosUURg2=mS{A)9W!dyC|lV7hFZb5++^)?rQnNBQJgwU1lQfzyn8 zF87<~%sQJeoS8&GxdM&~!9&kO`(W>da-bpi&Ft8gs?jzf#?0s5rc-1d#SCNwH*fbm zBrB9OJ4(&n#d-{bmTU+Ji(tZ*R_|gI z=@!!0uFi*ij1HVE0sNfJI^wDzqN|uj8zD?Hw&6r2Y_|{ju`lPrhy1PA5BVXGt@$2B zd8AZeh-3A(mx_UTBWG7$s+rd20TA2{Y6vYCu*b26fK*E$aw2iY?IPCkhR~Ewl4guM&I9!PWNho7NC{(o|UutFG>n`5V!&E@yysLaD zp^b$mSJxg0x8Dh>^XUjc>DE&S5z{&cDsR~LgqUb{gcHhIa$602?8|xZVgAKGo`Rpe zey)H0uYc?>UOt%Munx4o8@)4tl`C`EuuZaM4w%=`+hDWcI`g!K2Zl3SL5Y-Km>RfF?L0&@Cr!wj{ zMU40~uUfC09f+Adnbn5&S)_vHtgIYKa(j=$xfCgiCn$&10c#6>sO(Gi^qB3n?RlPK9;(z~R8VGPWOF5`GU>L3EKJK0dB0`(h4@+y zhv~q?gE9?HMu8%eowd%Dw93|SEJw%;!lKMLeNM{U$X=zItr6`Vqi$LMV5ocF?MPb$ zG<_7xKIsr$Xr9vt>a$CrRqix=odaYtxzEvHRlAwt`csW%~7sdbF@YSk2?P()`R z_`nR3-Ln%J)uUyr`_J}~FX!gj{%viPb0vz?y_PSy%IB(L;QKu@ZI3--X>~hNl?M}! z453zDHeUOSui5CBDq`gf0$*lgz~L|#S%@-^ja1Y|bfz?C9(^Ts{O9&SgfwC}=ApIi z60GUx5g781F112hzmj=X~yg3@eUq<1zXNd z)L$pnL#=Fkpg4;$;ZlWgdjli}hE2B1Ei!12MotOMG1C$sI&%ewb!tOH*RI0UQQIrX z1dIcUX+pAxu86$VB|Y}#+)DA@x;f5)iSr2O*|0D`j(sA15tuBwU<>FqmkdT}ji5Il z2n!h<5x}`m!N}jt*pL`27iP!$Jaab3!7aG;vshy_6zZ0DvE6ney&^t$oc+P?{6b+4 zZ@$z`Lc|zW=#D{L_4` z-~ZxIy!G4t?iYXV;V=2UHy?WIhW$oc`#YakM!<;T9XTanDhw%;JYF;HD3YY}SmTAPvOYbp%EB@b0_MNvK{8*z~7O1(6pl z0C-_wMcSwK=~$x|pWV)GK`_$ZSI+!nuj<7;(8^=qwFfj2_BmnI>wkX-@!NAS2uIc+ z;K6p+4qVV_v0?eu&NPn?wBd9#1Y;xDNPJJq5!Aaa1m@K4$gLvOis1+H13~5B?+71rXsM-}^us>N=`{A1s> zFGn^0K2m|b_aJS^WGb6yb;}?}x{PcWMoBg*8Wg}fYbv{(vG}Ao1bxoA)!;`|oC=yX6=aTD@l}_C+#35K+OF-gEi~e{w0?j5 z^ySk}p1*kVH|nSNM&4uJ!FwZb+)!S|yP&+h`;j+wjTsIhlJ>JF4d4mq;O5bq7Qu63 zaW!`k#^|;X?q_`>77W#!O2kcW_H`x<;#K6UHW2VDs{qN1Y6HJi5hR98aL}YSTrSH-uN`A{KxLGALr(({cJ1IWqhl%r2&Twj z^Ch6^S?s|^HmoJIhm?pjFJaPKLEA@9pFRD^Kgl26jSx1AgNDr6IaKEG2C#~s-qQ{(q=97}N*X?og{Po2?1tdf7~*hx4i`ZA$H|57BQ;^%`nrz#$G&g(DLV8) z`|Pm))|(&v85sBf-TUy!j6Om4Ta_!XSXgoeF(V6>^Jo&tgNr_6FN~a;b9JwEPQ$Zk z@aMzj*Lzk2l3d#ab{uXkRR2%cwu4$H2*N;?F8I9!@uA&rRi>@ALr&-$wgrm#K_Y2G zw8#Pyyw--n{LqrU77LUX0$JIF%qWldu6r7sGpE)BW)7%|hDHz}Q5cbX3WGt->?N|Y z2IEC(1*753xc@t!zI>9;U(_3o**&MsBj3D-)Ma|BF4K1-bAM!y>es_E`#`@0{#YDc zDDi)I2y@svDDEo*0DXwGXK#A-Yyu4%A;@iQ<*|~GS~GE^6TR3AP#hd?eG@H#08UIh z^O&3m`m{84MFH6-j1Ni>hnGuI-b)Vy~WeiRr(ga9UesvF!tCK!vwoB z!xX@XLqL`eoCb)stui3mrU~ye&BqCAiwrD4U+8QdHXBW7?llzQ)EnKj3;I=u%NLYl zLLiP_tel0C@9psTtv6Pg^WynO_3V=uPw)F>9{UD9cut--=j8ckz%O(6-+yDS_%m&; zumc4zfl8NkWQ%ztx9u}J%N0=OT*>84Kw;8VX=_U2hE0Hsluv+Zpp5Cb>qa?vfUegp zLH5)EO%2cD*1D^s_gNg^*oxl$58wF;cq+cJcziu99@<)S8Z_%P;B={V!0Sq)NOGmM zxnVY#=)pGzWYgt>Ljn%g(4$lvh4wQhx*igUdtLdz*3kKtABlv{%0M<_BMYtH<3x``cfEv)b3|==gyCk$3sRZclf| z2n3k2EpvhM^eWU`(i&-J!+L5}?h;q%Rw4hZQAaAIh-~KE-VhtAW5Qnkt8jXp)1xl!{z*LLlzgQt4NwDL8eDas2P z)NOTK0B=cWNW{#~UXD-%#Im+NuxpXQhCr{`Hx;1jrY4bm>!thE^Yqz%^6KMzAq|gw z*B)%5&`lHNov=WnDGHO=(SeDO*j(eEI(bdo*h>r@gHXi_(+;kCYmyL6r4`XeYkKTB z&6yBuQ7O>X?vbv3;!G0cYB-Cm+Spf-UbLuHYu){=3vIf_Id-P{7F#gPbh=`CWD;#q z7N^J3HYe0)u?AbPS4GR{vKQdXUa&9DIn|0ePFo;Xvz4Gvuwy397`A5(J;>`hER&~- z*}D6mzVq&L7F$LkKtbjtA1u2e1$Na0A?9jRBgmHKoMWR*JQXont+U3p$uLljJ*a~? z1aNJ1U`4vnQEW%rHehUp0!y1A`K@Iz^<}%fuX|@L#Lt`p?GvuN&=_2ZJQ+rdvM(3| zT3wlWD4;8BJQ>Ebj2wsWR%?!N3IQlhfTbve7H*Khoo81)UcI*k=EbOkH5VB@hx8tX z=iA^;J^9#Q)U$g*6_0)A?!A3_6Op3tA|mB0fCKxQ(8(Tfuj&AIyj)vbIVJTs*gION zP?}I|#TjiOhvMu}IW?SMWI{)2F&p#?ebi!_4(=IyANNGST>@lcYY=D&8ds~p_-M4( zAUMGpJaFX89GF~ZA@F3tVX+`U>uE_@8^tSR#UCBRMOY`eyc7co;S;%?(IyY=y?f`8 zorIHb$H(9G%s+Yc!asbH&p*OMaxdxPk?-CEy0dC&7EM zJq$}gG-}P)xi;k!n%M-`x_S6nb2aaRT@QeO4ad=AvrTc@7d+BWyQ-IpuquZX#?S7F zaYHcDrGoK(J1gOQm)#xY{|xwud!pLBNqukcj0&nJcT>x=jv(mkN}rhwaP*#6Kznad zu@Uli+**&mXF?4;8YM5F|KYy~^4v>@!1zwP*R9I&TTg%Z?D_q{_SiS=fgPiKZq0iA z?_asWHiFjXttN*!2-c}L$1?l(%E$Y2DZn+S~!D`CWCbsYqEj2#^BXTwcH1!s|3 zWmj`=%KYfy(Ke{*U9{cv)8+P;NpfcalL1ov-&Aw5Do5d4}E__I|BM@oFW$z0oJ&O9l zL46`XAf45fBytBpiiy zV~)ib9;1|fM$KAK3=*ULTp27Asp)`+v_t%;t}yMGP^PY6j7&qN{3v0W#h z)2soRD{UNPn<7PXtafzh5xj&G54`!T;!~Tf?{H*GP~Xg>%#go=$cdcr4z`VIJI%JX zBLNX9APW&{vgPi7`Oa5Biu*NG2H!t7$sWnpAYH4CZdZi3BjL=De1TqhH*fQ_Ub}jZ zSxw9LqMFd^FvzCv10pUM>b7;M?z)KNcu*Pa2!|~PK$W>VXQpDIJL5?I{JH5;0{`Q` z^6rbC8-o)2!fprhH6rOJ;VkKU&4p~b)1^QqNAa-^!pIvV@^PXRfR5+2`CEz#h%mC# z_NlJOat_z1eOtTa1RV1(36NOG~IuCm+h{a*%}>)Y|my&zZ8^POKJj?@$qUbiY|~R6^@+XO>}N@V9TLj`?gIZt zWyTy4X_C46K(<_fanzj-YIW$+?(B~Ej#V8o$^h1Iq)txCVWzy}Kp>8ZWgJ)(1M*ZB z{o{xF?VmkVx%8OteBme8IAE_e7*5cpYNliLJ-K-Ly5cOfV24H0CCvhVof>ioG@@rx z$*KTkC-(|ES?9nHi%l>IT2b4a&tYUGj)oR5O%BObQJj)oNHDt!r+Z zA$UEUXl_pi(NIVFwsWMPF$>Ty1x#$ngb~9*=>bOGx|4tzHcQ54o^7IIeHffPQAc#< z-T!(;;Nm>l51=8n6FKSEBOO?WZR5RhB!Hi6Lr{MnSv}2%%W0h_0!|ky?*ldqPH)!X zv9PYLt0lsj%Toj4xrx$ycC9{FBw{>m-~Dg63Uso!5#w|*cQmcF_VJN9L7cI%dccNp zW;pjTVtOD{x3ANQ3J^#~Ja7v?oek->yl_U~w%R7Rw0bGaiXO3tUu#m*+--ZcdG7xA zE3S{HiIWR&_y>qYfdlW9Nbdww7Ky9N+6FiU&B}e`!hE%nEJW2tz&|E@R;q0B4H`vI zc$-&`A{egQHLr?*(Lwq%Pf1^G(%t{@o%cX5KFmFcuKW*R_t16VA1 zU?OVKXb;|~@Q>sUEG{1|nX9jcAo37N0yoB0PIbJG8*!E=S1V-&&kr%7I%&A95((c3 zV9&vcJON@~@OH=qOewms4vLY;6}$UCuPMNgWSvmU`AHMkiHST7@jAP+ozvIIiA3yf zg>o@D@Rw($y9WNwy$e*=rVDebBH{_z+I{6-{WOX(nQ`x>@5NAA7V})AwQP6)*LSYs z5-a*5$l+ARW+CFt);H4;4@{iHYeuZO7SpC}irHw4B5T%wsIifKcUOz%Q)5mk>AiQs z+_|qy8XXXZI%5rOb9362MxS=~e_t7@wGoL+6H=}2GvxHHv%2W!ar!C`bOG8zgmMlH zsw1bw;4h%EgjZ3i(+cl7*wFt*5cA}HxDg`Un;uyE5hyoMU?m7?W~{U3-T!kf4M2u- z^~i~EY?@?t4zfggGrDj~qn~I|J+2JoIE`~d07;2hc#VA!X>60rld*PyYYB>>c5v~0 z>_LZ+SRU3!pNdvh1YC?g?*88^)fSqHv6r7qH8Xb$Pv_NS_gUH+;m8IJDV;;RuSUT1 zk)DL`$qva_mfUQGglE~=3$Koom>Q*67x}md&ee`Hs@*EDR67T+r@BZL7-nrhG zF^4HuS4bDDZFH&G($|thK7G^b?Svq>`*a46?Fvqg=u^8k6$JJ)Wz;lYqe453QHa9r z^DxkFuzfnRr*=v-JAkst3P1OZIt!UUSo(M<3UWvGNyO=n;%?nz^pQx+!)@eIM+tt> z&a=zjbI;zx0vWg+OQ`qNb@nrOx1>HNWE*L%orW+GMNzfLyX`%Yzk7Rnc>2++7azTP z@grQ_t-kn?@7x2kGT+R~{L9bE@4m4aI?PbHkJZ}by${@Udk+M`Au0+~SqnX^e(@W({3<#TwNZO~FcO;!O+Dx#ovGj%SdV4-=NqNJOsu;7Q7 zCPbE+efwmweL(v?&`+*_R`GPXaIkZvoM@2R9xW#y=mQ{|SqD&A1_YA3i-lee#p1pZw_gt52TbPoJK9 zrOC&>rw^7U`KC1a6=Yj1Z-6K^E@=pyGtC4w3KP$?GV!y|_C!NiB{c_x*)zL9F@f|u zTL3rc0&{I9?~=NJXaPq}hw~dEo8e>4z15-7I5bX92tn^Ld{7S54DJJ>oRM~7c(0C= zjWpDgJ2jrO$wql-;((l^5@k@r`KFqz=Bw0Lc%TU5vRaN%FkvOd`#yqTZg)Fiuu9qL zGpO?Po3Z#CANdcT=9^J?Pek;{x9+n;?%Qwd74$*-%%J<#pZ(;Q-+x)N-1~$(YB*@ah|rO1 zD%!@;)+U^%b4#3lWyrx`LR188%negzl)1{YEx59Msgi2ws>62ga+fy*p7 zMwrn2ZXKA^t+lb&M}#RE=|RD0AxMBufU00teRqT{V^8E;I5s>ci?ufug(A1@5y0f! z%I9_s(xOF>am*C=B??dj*kRMQw>~p9WTwXg2AkH<4LUrKr%XWu`IgPuoAim-6(T15 zRc(w08t0z2S5A>!C)U(8XIjmWeeeALYo9!Q_S5>b^1kT%ac|oLYdhbp?fg|-+X)cF zu2qCH>FMh(j0lpXWJkP&tV#{y`E0idkc_#y4|krzw)tva$hy~*!S$~ zO6ObE$X9|})Nr8Bw$Rs*ejLWwDVHKoSD>Rg&W_X5fZ8Pvq>#*B0c-QBhB#N!hP?O~ zeV#r$gWlh}V@k4$S$pN_3yMAw6e#W~gP~7>038{bJ*7&0dv|6voD`OvnPY)*vBgTt z{Gc9$v1Ugi)j+Ljwgy=(>tSt=;dXHrX_H16k4bb{nJ~w|#5*T`$1ERkcfSc``>;N( zd-cu7zI$Iz!1Q|B|GIATsbGM?+CR5nipJMVM6O*9ZaqMO1QPeXf2 zoUsIgN1M$nG55n#qzL{R(~>K4itRzWJ2LdtRCz0w(|-1mwNk%1E#;_SHz3 zq1)3_K*M<~M(|YV)@{JrX#mXA+ah?O8kFBsz*|)21pf!lE7X^b5m6g;)!?w|hdJ2cQf zJi@+}A3puyk6!-Z&%HinK}Jh`?(irpn_A?7jzx=32s4Cc8~wd08zxuiSG&2jwpR|Y zwnK)f^=yiBkMFf*vD<{#+uJ$UL18%pAez|H)IGz{y7EU8$d4Gw^&y?_9Hb8w9x}EPu1$?`t;GQTZ6n0AAP<9M9hItaS`4Qbgd<85Fkh346qNDX?P zwHo)ibZA1^FO|RyRd<8GbY!#bihlknx&%b*1 z;^*nWKc|F2v;Xwj51;t6{o?u4{ls5<^rSqV-rJ);@=d*Or2BwBS91NzWMUs`@Qew$FKg-Uwri5$0#2b+JWfT@`OUJ;KMlB*wsGZuV})25u5UKgMFhq z&IW+nPT}Q4dW{}r5q)jFjFhdE#(<$>In9`8zioq(Lsu^V>l)+Sbh{%Rh!Mr~Wl<<% z1|}GtAshs59W*A($7(S~0}PQ2!d4q+4gj8Ewa}AujjM-e&=(Q%ff$M9Q&2Mi_B>i^ zNa@6((fgs8GloikXpH{lFB+rT9}omS>K%P=1N85CXn<;e??W_g?jE}#!Q5>pke5(v zb$Bnpg1q7t9iCF^+D7Q|QRx?{41K)}v7U5fiXs5L07zSm=F#-E4;X4}L9vY&5|Ggo){l!n7K6`kCKK2cLZzJ^Y ze*W?gUw`p0b%4&G34MG+IeU0|UFXzjVI6?6332O0UVAXwDhI%~1(-o4wT1FYToJq; zh2_$bVTdf~a2$w4=rnBQres)he~cQ(G^DDn|mFy|3ESTu6cSGCdbZ zb6~OKd7!wzWOnEZdCrCnT7*Ox`jpUrNK1pmXHv7+-psoU*djd$3Tj4V{Mze^d;a6F z>CX<(zx1{N`sw}Q`PjGfy$#Rbz8#*QehGt6HQEQJ;9sO@ar_lk>`2 z=S({uZLEzWwfCkM&hD6Yk~s$I{+$ymZ*#Ue6Xl?hyi|2cG+OY~fk*3wOxb&}_E1`j zLFzsgPBaRe3^MIDXtsA*Z*ZO$Rq=8^G&&#qe!kcJ=bP{SB@WLaAQ6+t+^~Xi zWw)BgGQQV{6T9cAF#w3P zonujN4syi^(}ewS%_Wv(JA81=)d#as2Zk9v4c{$y#zVvNuihJ;A3lBd>eK6l^uuSb za7g;mxrf+!k_x}^1k{MN+42D2p`_8+N6uk94$A;gpu` zZJPn_j3QwyR`7?)6!^HBvu{jJFt!cU+#um-IF(%7V8pH)h1lSfH& z>r7g3ILSe zuJpULcf@jT$=ab~FG6D-)0}O^`_P5uLK>=t6Lfm4yGhWP(1Qlx0=+OZZ6vm*(ZHGb zjDcQIVJgA3+b%h-@CvAd+IVx&lzQE$e`kuVZDW3Q=kZ@vEbE$j8u7cciO z@2}WL-_>`vV*km_iv8>!e7$S7Eni6IjlL}%QF|c)C;$*G$2f?H7x(YaUbZ1%cDPChbR9CL(cegXxvd+&IT(2Y7sp zEjrFd?Z&P9YB6N4)~Zipsz41pJB2OaHrQeIEI6uVoJ?nLUReupgA{Ms+Vh z%oE0cLo;%_-EEh?ZIAurlYM{1KKh=1ZF}r>2fp6*s_?V$3Khb^G-@$WEXoP_`T)~J-s{wq0f(gFdfC2ZZlYl$urU%X-Sck0bYb@g~6mCzC zSCBewi7_YW7sUg5ytYIStQxZ+IpLgM8%W*W5*|G!t`MI1%i8KqN9y4LhQ7Q0kXNCTl|2rTI6K`OF>}qAnd4gjUC}1n+M0~?&Pu%4PSP-G$uD> zftVq7inYAMW3)D6{poB%kbmS!*xtn(Lv~bsA@O^`RCLh^Q}y0@{U^VtCb+j^AAMWj z*^2$~?=A|ymNh%;%9bG{+Kdh{Ya((4t~gkZDH~Z$c-}$z**@}&2`P;V(J&1Fue^wD z9BEV6y2#`RHJJ!K#_ukh0_sYHCtM(agZjZOpt^6_FbcEAC+3F1Jt9{o^-R60eG9I zvLT9`eU4bPfiT*hZOul3sS}0;(hPlAMgX`X`efx9;9kihQ}Q{W`L_k@!J3-8JFg_! zu{!TbG5g5u&2!l-J%Dg`5dK zCGwSF?pD6`nSwJ!=JWsP9k{OH03ABRJu>$=Hk79cQgGE4!s+Kk#;hz`4Ckq9*$8&w zrNn$}60silsk>~GRn!E_a|BjyYz2O;LDF${PY6DmN^PNrUHVopI}o{;qu^qVw#Gbk zT5Jvs763vNia@12)C_cnO-{0``4*Q3ke=z>LeZSUg}h4yA%h7t^Fm5Xcx%0{8p!0H z9Vtxk5H@T1hn35}dhrqWH|6rnUq123KKiD<(}~&jkN;ZL23OJ_UXE-^l48T8PeUhw zoF}PN63N^HQ}HVT6U?@QbGrf}-Ii42<5`l@!pFI!%u8&F$fPA=$odM3)M8LNZJeOE zqRwy24YW0VMhCy>Y(WSo{sUwywIkeYuOd$y_|qe;j`ste<(0Ohro4rF4>-M$W|fJ0 zGC+bwGBhhX6n^*wDri2FW)ELGTEl;LcVhNbvGuy#`1M!z7wzi*&-pz|YOHJoW9yIU{nR2zdvqy!Tq7!1w+0w+ykw%!XR zsOd3y09HGr;X!yi2m*AQt0W--xfLJa6H=Jx+BglJ*oa&SAR_1k3n#sP4oD}b$Fby7 z$wz3_8io*%ES~2qDYzz=#R#}uxKF?p7Y=gZ&B0v)A+s(B!4f#$PHcDA>OcM+YxUky z?$NjOoh{aX`|XSMYdOZLA?bKxPMBcfEYKm5zbAw!2dgVi%CIixSZl-xY3n$s2{uuL zZtcZ{5$tGaor?q*$|J|IxxEuj%vCwZkt4%pHPQw(;G%ZhDwB`{0e_qW;@ccSLXHTN zEm*<__Ez2p+I})7TbX7lXXK%|_5w1owjz0gCLk74(J`W!!gYMFv%Gbg01ZcBywQ+t z2DgB6oD1Mhr=3U%7eYLPyrc_cP8?T>R zDVNSTTqxwU;nB^$3#tOar#(&w1Oj>>3R;B>K;*?;!OE3|V%Us$hoNwmI)c_D4M@>2;(5z#pl(hivcWg#3 zFR}=-&E(!07@ag@ItvHY0|7ura9|&<0APyNx?R8?PBA&*Ig`AHIAtxP9>5 z`+A~;aAG(UL92N<=0GxX&|GEPb8P98&)9Yva+r|WJdUHUz-ebNn905~kkE-ZMaWn$zVk=$Y~`2F@S2(q;(uS3*c8Y872-xJ|%wyQ?=eUK@l1-}7%?Se!x z4#76F6^Brsm(^A}Hg3!rue@deuiV*>$!S%p3yfR`{(SM6W3*0N+U-U%^E6X2*t z-p+!Vw+$#CDG9yupsQsa64GI1F2oE@^=-DPEhJ$uBSEn#26|Tn*fI??A!iHCu@ODy zk-H$lPy|oSz1pGM#Gdc|^2Mtsp(&5PWluh2Kq%4|i3p$l#2>$Z5Ks~u2_hB};RVRScCKE6`(V*lu@M9+gbW5Hn$Q1}_r3wSjDKTdBJa?k*!S6` zP$JZrKtxhoN!!|n@cX#ys&+80B{nu&5x`rp_bghaRdv1oB=SbgCSz6r!gzZn=;_Ewneu15GS4-`6@obeJ5W1T7;+M@J3)b=M&XZDpt) zMP`*4dctjYGQ#m zz~?Pkw?!H)9i@njY5M}*BdNV}Kr+-2^O4ZYH=N)`AXarcXb8El{6Z+n=QIo4C@@Dr z6_MkUcz5n|gWVQL{CWPL;VSmk|DKeJ>&=iswTv3TY=Oj1sM%m2vhC6t)vwpGhQ6A1l`9pTG^->9JZi@89*+Z`axG%XL*CX zg1~REI`isqMvuh!Oq$)Mk-WW5mS&ID6f5cL2%W#)7b&qbPS?wA!q<>vFo`;A;Eebg)0FG zzU`)cud`)eaiX}}22l^RJlmG-KEnr1SJQkMiGq-rM^$-)}$qm;drdfB6@^zfT>fMx17m7(Z9g zQ0^KSVoT^`7|7;yJ8+$)w&}VB;RlSbGw}dF6g^;XOW7IWa1()2Eger{DuAA92T4tV zQ<*A6xROfDMK_)WlGy+y*(sG`dKmc^13tx)9I9hH5O3gfdt=5~Aha=}2 zl%(qzHugX(FGgvdKtdQa3R)3u0z(Q8l=|%y<mKiDf~rzDBQ5K`+pdx+j3wuCvCWbNEyj@SO(lM6TDKw$I|(sXQ16+-MCOLl`M{ zYS?hHkKX*|QHJfAzH1re7^8gFz=6Tq0_<@~_tVUdIE`VkPc#U&JcL87?G297paJ;O z+6W7i#^8<*L^!rKcpr^+4xkxS*l#ZJE0G>`y7lKg`f~0*%J08?^_vfVaqnR+fbS`A z@`%AQHlok2rlK`a#lUc(Olpv?v>cehO$U;g#~Nvd$ni5y=>pskj?ZyAvsansGEqG# z3wq)7TzmDi=R84DB>S}6_i_^sbH&hgA}2S47He*ejtwp~C+_ChxdpVgQgc58H>Seo zJX(ST@}pg+Eli0CiDbT^XtQ%EHn2CqLzF`rXLxzqY-iT3vgy&6bN{&V@)tjiPw&5) z2yg{SXmKM&Fw4lwPD>b^DHv*bO+bOur0E*bd*d;nSL)YyagRx8BsJAeOFd~EQVm)g z3cuZKuoor@)eY&lKo!ZMK~7FLPxEY0_;RvV)GqLA*%~V?U5FGY_lC*p>8SA4-FP;! z5p(Z`1L6!C!53(TeK#)5fM>PLe!9E+<_ne0rhtg<%2Li@a~F5HJ+3_Za_+yHukzEE z`RP4a^b|(|X+uih#JO_!1LAW9&6uCDCr4fF%^iF0xd3Ep0Gm%xb0)YtzOQcLYy#&8 z#o#7K%=jF0ZF?bU6b=zvn((Knt{Qao_P}zyZ@k1XvTXH7l-E@HP;q3u$jk3#HvStdQtLmYLC#+^j zcn07YJ+47W$V;EAAFvInwSkYSIePW8Z8Y_j1~R6<^dxccR>UJkWCv|dW@p&iCg^dy zqs?-`?_h1Wxx^@|puaq8hYv=aDR3tO%(d5Q-jipYngDA<6EV1aaPlx@YnNmo^;{;k zy>97gkG`C{Px8+(z4)t_|KeYq{N<~UKmOqEm@BKJ;L&Pxe5M`qc6%XijKuSsvoEo?q ztzZxkA`uMczTy%R04#ZCKG|&_eL44Q+TX;7AKZDAthIKWb#l!;TTf(1j?o#q_Ao)X zzgupV#t<=?07AM?D7ulH!1K{W;!ZIp_=QToY!|4?I}s+jHq6ve6x*DOX8^UktD%^y z+r1X`(HR0c3g~S#d+)>1%LwaI)=_)FxINfLbcDB0bS7oOTms%a?>1%i1Fr&Tt80`E zV~wC}%QuBLnNg9+9v*)}^rxLE;Fe zvtZbj4{iDUjPm{GAZWhsBdlET`BZeu#if8e^uD8SKuZ0x6UYR}8_5vX`+^?c6k#|a zzB+Bw5jfRWJ1!-Jd>qC!&XdOwPhOMz!O+*{?0Z^H&@^D8x*Zok`f_fDV85dYZ+WuF z1=p}g=R(j5{4&8+1II;xDG5D;5l6fXV0hm%^ngXfybxeCfCF|whiZE_1OEuH7lt3k z(EOc+KH>0LjA;HN)_?|i^DzJ6^Y(rpuUka;fBj8^2nNG>kmL$u4Q;r)eVEpSPGchGkzQ92N!VLbXX^I(iEWnsdo3t+Ws z82RO%g;_+=N_*n$eemVnKFhZ>SzvtWP@u@ftJhz>%@Dwxr_{C2y=fco{5)Q(9F zc@{7q*@X>V(+g}isBZ+o_ce3R#LR;Otw%lH3_mwUr~yW9XfbDPMB#(klS>K)(y`ju zAcY4Rr0KkJ7!}0$1F-a4F6*N&=jKWN-iEE?D~#%f>uiTV(L*_C9j!pK74i>ag%i%9 z(=h~k88xW8_w@#IAx~J;$1!NUq51CCFy`HdsZk8Y@0>M3s^rlGG!!+2&cAu2fA=}P zKi)i3nmgM5O|ivpvRXy>3g~M_`9hPBe0`cFD|P{VeDkbK<<|Pt*?4Rq0%8fQ-Wy5k8@*;m=1=t1(wm}7 zE-2J0R~mtOFTF-m$CFXy%4B7uby^zTzMhZ1oSR4a_J*yWz3D`BS_6}>i|H!020ji~ zf6J?oNt%hcrY2`J5Q@e%0y^vr32=mlbclnZrlQ;Kw$g21gPHIUAy;(uo9LW~&}Vjy z&@X&8+xsf-`|Bn=R+V%#hcR7^vBQRDVZ3yfp_s6F9K%EehL1Vu)IP*%tq)e#22cOq zg0L|l!k291O^LQvjmAinc(Wng(tr<#6{GXYKGw7+@WKaQ&TVb`_KxkQ>TP566Kl|# za|SC6U!y5Vm^3f5Oo@hiGdG1A58}Z?XtuAzD&7VVm_B?0J?p3TGF#|Fbo6N{3j{AD zFXncRrQ5c3{P4G5PW}ALxwF|EvmY>$WGF9T6nV==r0%uW8L&MJfxeq3T3IOGgqP{g zZXKgWN`+w10n%y>F!);K?fQOiBq4^a1G>SS$oM=L0Gv+D+ZyQ6mvj4SzO`X%K0)qA z107VRZX5D}p{Eot++eD$ssb5GYkY-YaIKl($E^*+f4AeAjByv*@FUpJ96MBk6VGat zqhC_+-4Uj>P!tXlLTmW9`>eiC_SwU%BO0TJiYj8`sHvdDmhv-}gH3mA5NNM({%ue8xEu&o&t$B*`^kp3e$QTkc6P`9v1UMSk@HYgx~}d{2RV^W(u4_Fe*jnmK^bHLiGJm6?epl% zxvhQP(%8!rt2gHcq+XkTTylg1kPeCEhN19uhy_h@$U^pi4chML_$(-S{ZJ0VVqFui zYFaUfFB%{rd=P?Q>OMhc0UL7IAXd=l_8z}|lKp*ozyJ03e)9eu$H9+(P%rbB`O&MF z|9<=U$3OV^6Nt*=ga7ca|ISao^ONtq#f|XeKmF%dYxAE$TJz=q>c@Zn&tJF7{@I%z z+0C!N>9*Yb^mSIh{W(;XH$V5~)5Fa#epb8O{xLW@-d@FL-^JTM;PnoB^RswWZ~sg@ z^qZgiN1xr4+y4E{Z~Ob7{kHq};mw`Bb35Mr(w%?Kn_s$f!~Tsg{LGpJ@;cW>Me-~8f}`}gL8pWeowy#E=l>@yd~dhyY9M}LbeJ0of=I{3hf&|cK( z(1^qdRR|iT=pY>+>O!m8TywP9hU@m`EPW&nxID6C7%ti>V|fL zk!l`1G-ZIgv<)YXei*_jzEu9xX~Df&t4_t$XC!bqK~YhU=5yY%clyXM>mS;vqXm`}y- zG{9%&c?b@t)B2zty;9(v6I%FvUPWETNTopO*`EIw?_GX@VMimnz@RaZ3pz5aUjYLS z)lke{klk$Cyt!PLXzOPp<1jF0vPrS|Vix!A8DVqt+-Ncl;KP_0R1QT$9uP0vEv8%K z5Uc0^<$KrkO9;2Z-7iHCz_}Z|(BWlgj}g*~#2M}1u~CFg*o7c8aX=Ui7TtX&_#wcp z^MKvmYe$3PN7rCh9FQs(IEg?j4PZg~^chbO+Yi2++t%k#^VPE#AHDkY#YZn+?0Z^O zXbM`>iIfJMMVeIiqqL*awpYjz*yKDcI$9w2JKq1;k4e!N={U-+Cg(wbnLQ( zWUGMM0^xV7!jTv~r|Gq(9WQ7MJs2SuM{|t2;G8vmj~ozsB5tvUbDih^)q6kr!B_6a zSJYuhes3#+MXIX^xXCVfB1T1|M(YA zclJl$xVt;M-0bY~w_s<#Ss{>-+=GKx1X!8{&V${?|$W>m-uHOB7IpLgh80uPSx2q`k{(w z99udwV`5f}lTokP+U{e(yaWzp$2`3ecxxxPFPBkt1y40lD{HmV6YLzbjjS;yY_@*t zi8Q=UN_EiOnXT6}uzwIkO>B13B8bJCV`95e&T|`ZziM|ofX<*ZrKCve*)uwNTWHo} zsB2ML`0iY(nlj*OiZ}x@)wWm9Ubm~{y_5CgqkQ(sryqZkpT2sLPl8(>egE#BJn81- z`BenB7?@!?7Or|AG;s@u5&D0Y<#XDSJiQbai{2L(@)@jeMYK&Gm8+$0Q%N?%%K`z3 z@ALx>1+O+c+WbB~0 z+--ZClpU5B$1rKH-j5}cn+{@~#P${{LSnh;dL~x)Yw@jKs`m?3+-UH~qBi`pejc5fjs&~glcL!X%AwIz7!9RRht<&LUK^xRz z`Ww4#z%@4@f`Y7_XB4n%#z0)X8y{F=Y3lP}{idCXHZZgHK~fY{~<# z>L}>@AsSHx8H)i** z<9bhq9S+fh%p%=uf`;8zOeik}5-hM;ROx+1dE1!3`R&Y4fxqYkI}lY>%f)(I9^ zMkb($T7nwEhONprSaKtTt4;WiG>S7J%_O@JcO?RmS!Np`Fi4xoY7E_V&51xE~9(@<@ME~ggQik1UKk>(Zff^(Iq`|gKNNORoHFVAG zb1n0TqxjggE3wNF{b3-nZ%rU8$C^!mSk={g1cF|X9kfw0Ab#3wc1BnPxbw(daqerJ zI0cme_$<%=yQ>T2>#(Io6OFd!0qQyjrjhNqX&>4}+cd#h!wX~NG1{yYP{W&@wiB)z z6CZ0SpB8f(SK~TzbZOHKiWl-@mIcBu{AjGOa@Xh39>~-Ka`V1AW^;}na99YZG{#@Dw=C*NGTUw{BL?@Ty`_3@ zJD0}u|KZAs8S7BXT98kqz{5CDlkeEEFl|m_&h$x(;KeZM&5%BUCICu!3E4v~?(ZJF zI%qhU#Uov05$(&N0?R<087sv%EDs|9wX7#;3y;2>-}?%G`4?V&n)kf>q7=IJsvga< z&FUTb(Gp}weecd~svs;Nz(_#Eb|G3w2Y0S6REdKYsv4bDoxok1BuE2Vk-5T?4M9!F ziXB?xoU42V54oPLA{l8C_3 zgYXe=*H~#O!lSJnV=?Z!P_skXp%m#b~lq zF7`AgYbSLO)HjW46r4Z0anzg}CK9;wZu~Kl&9uz~B@GE_zQnE_E(F=xCP*P3ys07c zRa#_ipxT6?gT|`>Mr_$?O&1L{kdme#P03naXBkIGqIEf|2?Dhz_?n?PmCvo``_Y$k z_hJ6ZZ!S- zfB6^Cqsfo{1AFai!^idyKURG%Q+d6dZ^S6?y^*PWekX1uDc}8a_^NS?NwyB!waRH^ zBzZ`e`o1!;scNC^!h5zRi1DtPq@}q$i3klGKp8h8+!5Z*9)tX>MZAzhwvmagNzH2% zA@>g+nn zX6_cfNi2eOVE02}Qj>l0$zXl(oqKW+!zR(c zpb7Z?XFu_cYXs0N6=W$G!iktp)rr=41u5^94Eo$bMF&^Rt}B&n?>&4T!a1j3om1$P z;P2*uaAX`^j$JvJSg7>?Q8r^-16_3OU0BihXu?ts)upZX-+`5ivjm zg*423PM+OY?VVi>#ARdCrm!ww)29RH!`ceQ*+LnUb&ww39EnYHtrqjFMKcG2i!hjFX`7@1D>_8F@M_cq8RE0=MLIFd zsfGYwOL$|G*4;DbH=xaNdm?%8<^290;p^|zomwXcG-ay;$U+5Pwl?zcmbvQph_F-U1IzQ&fYkgL_?vFz)~jyq zaUVkW!+0A-Ao_6biQvM#!lKZ@9Xs$T7LV;E+6PBH{~xcWW!KYmO>%`l+QVyaN<+wk zKzXt8#>TL+u5CGb=o9neh7Js&nJhrqF^O2vv{CJ-mYh9gOg;zkuH36HXphbqN09u0 z(B-07&;O_Qe)7X_yJ_Ec)4uJdecMg@wwv~CH|^VQ+TYf0+Te~Hz1b7mmF~lhcJA2+ z!XV*=Hf&l;h`9Ee3=>oKgCv5Y4$962vT0qi@7WD8QfM!9MQ|aA9>)*j!xqk3V;fYb zGEjrdGLLEBB{ArXJ3%i zy#Dbwu9MaUq?LWLs&7 zkAqFR9pyE%Erd;_tij%p27028E{BsKRx_T))CbMEvS%D8M0i3xYV-O3{NBZ}n+k0l zQmZcmoy>NmI3SO|o^RWUzW)L7cH8JY16uht+aA+2w=|l~_~0XfP@hGFaJoXoPUo7$ zYqW``Ty*e|<`sC3&irij{C~k!@U|Hldsg2K^`-2N@Y1m)WKF%2O7@S=iqk0 zFGpH~=766fn}!@%*>*$Jh4*A3HE>1gp2rMGYPsuhxV}6a;O)BjIW;Uchb@k|FPtpuNUcdP1?aTk@TlVDT z?>FSl{#B4S-vN*K!A+*W1)aNF9Py*uc3azKH$Ii%NH+S zy!!alXFt#1+Z%`1;;SRA2WR zM|~>N{T=>rm(yjE?OB*PpV4RyMZWUX!*;d1;116a!n=BqiE)5u&P_7MNgNiD*$Q{U z;wDt#t<4ToG2T{X1p_%T*VZ}g7R4&>^XpVpZVGY)sgmW{$gx&#tf}NSc1Pl!WBm-| zCp$pkd6qhI^vIg@My(xDK{L|L)U7w}fEMYA2}uu)b(BVfkZFVR);7B8h^n*a{|CMf zz|q(2k}zKEvt(L0fYGC@97t8ACKe$@DK?03#O8!^_8{0Fa2li$5439*|K~RW#dG1gt+a*;4{Vb%;cCczFPYY< ztzj%1A|H@4VJ$BN8h+mX{?luHH`qb-^>;}Kc}*LCQnQ9s71Nfz;cjXld*f|xU~dwN z0@-?uTMU5{ns*gRxG(f_n|WK9IE3g_Y{@OI#5y#7+G(BjG!k$Gi;G8>&Cma@_kQvZ z?+-#BJ*@h6cJ>v|&K^AgqCj20%J_D&@-8MT-~Csbto+{L$#-rdY*xr9k7NZW6%ooM zX#OI@)Y`JW4l=)08qB_}6xf$@s77z;XAb}Z;kyl!B^Hga)9xvN=pp_VfWL{tv^Zxv zgqfQ+P{VuO(pr`+TL2OtS~-DgK#)EVC*_8Y&YB^JisxZ-4G;ty4`h{gJXnp*vrx`Yny>oXQ z$#mmLrf;Gn83Jtvg`VU{%2DaIn@rLy?OTPjwzr7pP-E$(VbMuE;v5B=AEI zf}kRLwdufC{m2 ziR!Gl)WygLD%b{4<|;4(KIZZ$kKL#3D^r)oIUuQ_rSqhm1_%T-3b64(*Pn^g z&Jgk{*F6*YR86Ze=2c9`0BD~uSqDfAXWAhzN5gdi*g)GY#gK6okY=2&nsoZ+T$?Mr z#4~yiw3ePgG+xE}AfNp#UjFRaub;@=AAIlb4D0%rHn-P5{^qSYpz+#vmDWfQhT+Jg zf-wPMCuzz@w#brf8G0l-1lKz@CHt=17?g zOc~GAjqjm90k?QbZQ3Gm@mQkmzWNCc93fnbvJXFDy6WKk3hIIakGn1%J^m-m(z53O zJeHDcgSS(gW5s$cKv41x2qIE*+OR&wcSg6{Bix^VnlC^8;FtOAlb`?e*@yATldbO2 zx9@H)T)WAI`vxvM95|BK5a5ib$jU;VB2wjJvA6_!vRfN40xf=oUgCkF3-aL{pHJm+fB{1XYI))r3$BHY2{UKlsP5wQr zv6}4clXnWH2!ON&qZHb+ZH}?Ir<2&wHnBCH;f7Hj0>WxFG=P%G9GR_?HcG3}m$nAX z#eO1zsd)M7*?Cd*Bw_Z!_wCMlv+Kb}NLt?z5&58T zkq=f+@DeKbPF}j_&?IdjyG$f?_Flw!+=~MEX!utS5mLkY)EK+1!Vm<|HH#+_7|@Dx zv!6CmDL2I+u4T=Z)g8QGkbs0M!G89Bq{irhh%dl)ncZdqyp{ts;K5!7m@*-J3R$9S za*no|@n{_fJ@AVUm%1_UTO8m&*dKqmUVN12877eNB+Ka0ckk{l=Qq3DADyF(&yTUr z=~pUnTA`~G%o!pW?0QJE);s!&QbWfW)qw~bD$xxF(rBws=>fo@QQ>_;4bstAMW-ba z;avci2H1Z%`;j-cz96Vy&;RfDe)65KeC_uwH9@x(WDi1(G9aWwx@u(uiBvv@-4OIrL+~Bc6jG~- zc-!eM((wCv^MuA^dYgguK?<ck$2;2Pk=U^S zJ+z;Y6sKhfQapIUke}(A?~`Gqjx>m^Z)0)uRfKO zxM+?BN_*&TWj!LB45bO9D*HD06TqLH+-#n?lLb(s#tv+G*cu)Y%|<{R$nA>yidhpM zNt%?))=mPsW*KY+l<-UFWR6=)cx!vAHn6avH5)aH-F+&;YcC(~GR`Y$)Xsr9dVp=y zTIb<`hiC&VvTC(v5xQl9)cOk==;Rn>kC~dDaW-Nc{ z_KT13^EfQuIj=nS4&L3<+RdK!N7s*6ML%qWIL5ptId}AfN(fPleU3rsZ|Bi6ku*J( z)@^Iw4q79ayrY=~w_^d1avf0W8qmcyyp0&qcFZ7Mn4EMxWdb-X0x8q|$pPcBmvigN z`B}XD_*Wm@LpW`d!!(gMx?_U;o?}*1^bU1mVKrjyT z>cfugskK!KJ8T()W7Sbb>@fitYXU*TP$*daD*Q!GBk4 zp$|8+onAqEM$18gUjIR+WL4@!TC9wq8PXf33{QBq->viFNsz>&Z`qTr!`{~~Z5^+F z{4S23$Z_$-C%wsDjD_624c|${bWZw`)A?))q%@n4DMWGhD6djl0gTxSAe7ma8mMTT zOp)FYNxjvlb_FJqH!8`Pt0O4J-FW2jTNTfvFX!&)`A}Czezd4~peh2vSNX*30fOCj92TRk zBwiR|Ky7cJSR!^>ZYIyog`j!uF<}#!(zmRQSm_|!n0WTZ1I=n07_FSpIaWn08v+Pj zIK(jN^RyFanq;HG?mWmajv0onvkG~<2(`#-CeE#f%c)y=<)bg>_E7Y@o@5go)}sV1 z`*GUj>=-EaMx}d#cf9&Wzugpw^lV0bjnsz>ym{i z_2Z-F5N(BR8v#|8P3D;aE4(yW5wy|l-n6v!CpE@D_%L4m?6)k1C#C44@7~u_ioOFk zUkyEj*It|WaBMMdXqIK4jdAQ?j%H{GuRII%Tidi|Lilk;ubrfaT^vvUNZLw+;swZ7 zG-Ci=j*3v{EeRC1OWWyt zCuSr}y-!Z;?Yb&Ww{SZu=eDQIM84eIyM&dA3~CbvQBb_icgkg@=SsJ-H*uc`iC>~lC zPJ_vs0XAJ7BIm_629@5bG5+4qUVZq%vwXSZlcyW)qi@|E(b<>7A^JBn970YdZ`HfU350JV^}d;>zYYB zs>CJSQGLUTGxk}0TTYe=0>zwjXYt_?y~Q|4`XMHwT0yxf1FBU^n+a+hW43}O$l6A= zj!(9WvLtqnZPx|2!PqV&rf1S2PwHL5A_ES=wONR7m)xJ`%V)7(zWOxwlYEFr-?^s+ z<@;T}xa7Y7*-v~0bMa2O6+m%G{GJ8p5a6 zE{cs0!NNTD(qCncxn|n`&)%EuYL+C~c_7gf8%?rP6d<8>A*u!GLO^7jnY+2071RXv z4!S;onY(#qR7Yk6BBH9RK)#Hid7kHa9-(?V$b>7{Rp}|_a)7A-q8*ihXm{pKny8q#wMspl>7dod`qVv>c zcYpII*PPUlxr7cYs7>F4pvHN6!$!n zFhd+Q7BCumg6xbuh@2X0#~H_Yt7MDF8FzonCm%s3_IDnaxVEJ_F&`U~ zkVWcl$eCXcN49pgB%gZj{hc1eyW*`JiwByhxdzfgmniS)#pn;gc-3|9Ec{^yf*<9~ zYIWz19I2X<4q2dku3OIj{x&xBaRQ_&BzZ6@AX(M14|CXF6`r~TgGL|8cE;4DNT zBM*t|XogPx!HA|O=hfOZ>x8Ii0uXP+85oUC*vNZ`_krK#*!7h5a}?DxV$4s}=xryV za1r%Iq>2r(!Nz^}w_a$SQxI!|UXce0xw9EU=%ny6E&(DZ0ozGN>lV3s%c6B&Cw9}m z>gXcrb4N>Lr~;;dhRy=BNtBi6@B`EQJk_!z{7{WnN$cIu-QRYhb*!}=#>m^km{Z1F zwBamRRYgIiCow-9SKMQ)o;3oEY+XKZegVRTruE$0*AAp&8l0V@pN>Fxz%Q;`Tpuy1hGx?5xrCS*?SPpv*(^N zm4qL@ZTD9Dr#>HlXO8O+ztWw@7@9nJCuCaPJ!P%19DpitqQtdyuA(!LhQY>}*|(0e z@IgWXJ_sTMPRHts;M?AC%o1xd)G|ivnVC?$unbeiPMHtms@psErnbITO(b*lXv}9~ z1VHo9@#edd0^$SkR-`rZrgK#Xtk<(_uC~W0jou*Gv(t=OGH3O^1Pf>m)E}3ITXMG1 z_`>;goO8v-ExPKdFXwi~Qg5EU%pcWy`z+qR{QR*mHUT}En*A(TtqwHkYwbCg8a9*_ zYp*jGg66f+Y2t+wO^h~>u!5r&Ej0CXr><3&+G-8x#v9x|%~e-BG8Inny)8&FhK#?_2oRW4!^0l&)&Yg*QUOW#~2wJ(}m+e zPc&dDNHk=EWIC!C?0~DYRJMvh2Z$%H(%h}uD1`)MefHxo73ATTT{ z@&@|IIj805W=P>Sz%>rCCZ;T12id>eKm(aI+s4RQtpd6_4YY?K-DS1T1&iv~&XV(4+f~N#o$o=l`{Ny7DxWDx)Kk?<<4o`kqZ+~w_{1_&~CK!~+(j}g-)1c3@ zl~zW&H_@~ktmShg3*0$4;A9bQ7vV5UmyjDI2wq0{q z>M@y6?B>jG+Lr?L4Fi`u7Rf<6uGm04J^V9g1g|-JB2J1|+sB8I#2N&EZR0gdd%|G^ zj@0hR3hK%hAR;ZvKI6`8yM?aHVRxF$TK(yYO%wfFQ1!Y5CYI)ecUuK-fjZ zHG@%ZDt@kh636u2HypG$?2r+eL%31CTA%_&fxi0MBXb!1EkZ6cZtnP}6EYd73`Qs2s{_d9^EW+U0}*(yU0MH_}_da;aCqQL&mGw=T1 zk0Ocw@4LD~=!4CL^?S8ON!+yKeQ4-!Z_ttrYC~s&#VvHsR)Qh@5M6$pW>y~E-UvPW z^aWy~UK2NPO9qf?9bhPoYk+M(yW_uTgs`ByzyEqJmf|{dK*$cd+wv8*xm%*OH=V0% zUPOc8()y?tK5R9&#f$ftu<}k2Yx=Q9j|Xg55>=5fvd=YcMRev1S>Q?cmLq^Y@7DE3ivFfS?MXCjtm0? z1gg*KO$Du)9Ag2Bv16cBp55KR((79f%|x4QZ=S5{h)J*AvK{M5I00hgY>VLdSkhE6 zXK+w%_uW5qU4?^yJqh4g9eV?17ZzlgDacH#kMrG zd97n1(XFisD#d9Wc+1J&1C z@!daiHMtrgRI%+UEFvp?xgBQ$HBDwgLdFDMCte#sIcXdYCvUBWw6j9Dj48XFgUZEP z?*oN%Y&m5)$YPS9q8YA4$L{{I ztLXFzg{ZjjgzThHlOQ;bW*l|mBuM^rS;j&`NH&@aW@{pkZu6cjTB9Fc)WLv)b)Ete z6e3L2)FjtxT^8@wPT8>PE$YB7sdxYQC-+TRifRzh0Gl}x@39m{q*@+A(65&n9_L;i zz{qW_(PG)FxWw@O_@F)3K9rjViki!^6w6(LYEqQW0{pX z6>WHc|DpS3cX*etB-g!!&>I>%FRSG#F8{{fL6OSR&Xdo`3;Ab^GDQS!^i(SxR6zLC zMiFOX2A$&8Tk8i`9HpQvHe%PcbzE!`h-U{tNZq%d0yGI3unWV&yMOXZ z3~OC-A`}CZ9X4-ZL_18`l)ZSZE>vvG+yW5HxEikv!apQ}5>O9>VKZ7X2}%oBgmI_} z$Hs05<(kA=0_6qxa2?%;BSh!i{ZpTO1ghWfmmA4X%t`@6X-)_Uz3&0+N-07I0q~i-Ne@> zzSI^rm*Ds#wtXknVPrDO(7S+bUeAm^WSJQHt+9-eBczPAeXPB!HeyL^9Q6hMUb7r> z5;X!KbWl=&gu9M*J<}b8v~`RV;0A!q^X{L;Ra8_C^y+D#HfQehw97Zpz(YZMcc{e- zQQ(3{>{bNvYPKl9dJPhRIi1eQ6I}+$bLPmgI2^SIjC1XTmX3_FQGMy>F6=0wkZHth{+7MW6$wrsIg6F!`_4mh5uI49Z*>btup%c!{u z4Vequj*2R!AApW(igmID+OGxO{qy$)n@erIs)5uPS*}J*fF$d zu5m6P_|Z88FfZ>+AgNo~iYc->a&I;Qun~$g&|2s%5AD?!zF`PpdY?A#{)MZM_jRF8 z<#ZXAh8*MzD>fP358b6_xWf4~y{}+GpM5tfmMJ8Tp5sWsztq|oyn6M>pyL`i;q@fvy{ecZ$ns!JEW;7+_2P_3FXSIHOCk{@P zDiz6eMz+0E7Bblt|Ks!q!B&FO-jAP7T0yHc# zxsY@L&mfcrW83a>_b*?^iFLeuT(QqI9kI^MHjprBV>LoG#i^SXQ=yw|y=^t&F<3TY z1P3DSCjrd1c##l}34SHxz<;)Fs%zgtyLTF6w?lf2 zAzaPjm^0X|Qt_!T=VmMV%kQiBPhY)$`SvATY@fb;{rvNKR4vomq7fyCrRt*+QW7h~ zw!-F#L~aAU*XbN;1+r}ptV0J%KXXicdz+_>woe>!2MH`X(+gwF7)W?!Et=r3ds06a z78xyqe&jry-}^nZV$@F7Se9ZqR$#J~VvJ1)EfYC5vty1mMynIvoY1JQIv7dS80cGs z);X=a?1)u<4wMiky*oh*tUN`aD^4h z2nky<@BTGh1&y}EJln8_TFp|DawBsyAeDAk9tQhT4XFiLPCLgh)5pBJutZ0cnr$Yl zIkDx03rK^m(Y71KVGYr{sVSzQ$~9JRmYN!u59Ern~%<&;Vf=r{ueT>pJgk zTL~*%MA03xaN$+AVgQdY zsFI^NXEbzkQCQ54?-KPof)xr`P-173^6KY;zpPEQW~AJALm0N@euyFWki(;g^$JfU z-tbVDiB%CTm7;!jVMMgXmw2|X!gJr*AJ)q+&hsBWi`TE?XAj(sPkaX-h|%d&X`kxX z#OUvS@Bz>+orBqh5qdQXA;EebI2`FOoQ=_|M!RHkNB9-3xGFAdeFcIS>7)SNlOxDG zPXQrOStJU;xChx%&-gZLbBBrlayWP{QwRI9~dNq4<7!w5z`6Gq^S9*Hr0_=QT-rD z!p^~Q$dw7ECjh)Sd7wFk)CP2_k^=$^5@Z>mg?V=ML2?SKA$(zNh#14gpny|gg4D*W z7D{%zwqCQP-sIG=D_v260NLFjFyEUUI0&Cp^00xhcMYMP2qr5;e!G(5%!{crBdBT$ zuSJ~5y3?Le?esAai3fg3Ai4llXGFLzza?G#>gUftuV?oZlUx4Z6W_Q8OX`I!|N4^p z?gu~rlIl1N#|Dbip%$9~We}Y2Dfn#(L5C8Bxy_17B&q79OzAAMb%@87BW}K%%$Un$ z_6(#P7`FjsK3a6>;T!-=i)QZw_E3YYB<}v*Z^68~CYve3I0hDbRY394_gjdnO`W^e zau}FU!@`F^2wnm85%4|If^!Q+b0Fn6_#pi{Fljc5kWjOv3(#6n{y=1w#Cp>EV7h(q z55_o{$l^{TJcrN*tO=z$6qpPbz&wDwC>W~&`Z@v+aR$Pi4F*S>ORIp$=UjqFAS>R7 zAv8CYkTV3_6SM6-;mV%$LQU~*k;0x z1ghsnGSP8t`?RZ12C79*Td=?*9|0NW2f8}|^}))Tx>|V6v0^tbDbN9y`MLB_J@urZ z+vbB$Ko``uE%Nk8RbID3zwdyc_0~`M#5eHK*a*6bjrb63!l(8Hd~Z|u;5LP)met<< zd!Kv+(AV2i?};zxb{70uy!i_V>M7Bf26^sShcMVZ435ML+uF_ApfiB()g^rgWIncF zASK&FFsC@sB94RE?g*NCtRJO?cK5K36tU6J`G@;8V)ud6#^Tm78GhIpz1O@wwP^5r z4daKTnf}U$Ebok=TcY#Rdus#yf5X`i7}BW+oiI=3`asGOS%Bxw#WUw7M=nr6b!jUsiU zPYjO;rgVd<8H-$TRf8QNraTS?RH>(pfs~6eiLt}*);9WedTg*8mG$)AYmEc*=umIB z@BOcT5wD&WR*SN7zI z$t_xx$9M*&Z(_g-nM|1_oX6Bh0%A!W(}GO+1-CiqM5-PNuvoE-F z8xnMYvck~D#@&B#4KLELyadTILIOH;r7Njc!8V zeO51C)uZRpmR*N7!?V1PoXZm}Y^|W+=*voXF|V_+)N(%!CX<=X2vOWVD}Au6a67CK z1=pYUEJqSy&WmONbdCY3CIK(@V&B5iOdg&`zdSHJHCEz#%EkATi|^Y<-%~FB|4z9; znFdmCUbF6y!g8VeO7k9+E+_Yx2d2sa zbNnfcPz&Xj^$0g1LPe+vBm0A#k*B?!+sgF(_=|;l?VC_-o!JT!h{2;Y2ZA6R(yBHu zQzrZjtK~I-=O)l@^mcXwaZoAd7!cYnoZgs=Xy|~@9xO1}(b0OGt{c+zB0Swh{Sv9F zflF%-zt;Qhb?wdIPQkZQd(XB8OwIceCT==oH=a$kH(817M#Z@eX-S4~Mkw^XXW!H# zvCwU-WUd6+P=lRwwU%nF!v&aW**o3mEl*$p*WG{k$w$B-xZMbz_;PMH0vvlTHSA;J z4~IAoce@e>!t6lO#aY)3$;;1Z(OHx_@2#`?S#x2DvDvHCt;-5HH9ctwqAFKGHb%gg zg8VMvdlI2@Ie{uwZRF5=XAOCPmH2XRe`<)q?RxRVmvh@R`Qgh~k1Z4G1Z}zpOyL6v zcMQxun8^iD1zV;>1NFrLdtIxR%sDU00Si>itqGExYfo;|+C0Hsw+PFrWb3`!*|T?6 zqjIG0%;UNbI>xu(ro7wMpBjL0TZKRI<=mR5Fpqijv(NM8i^sO~9_R3MyzgT-7_JAp zDq1?Dv!cH~5SQD-VVenOC>{@zxV50F&+;P^W`vXAhn8I)xQ)u)_h1;C2pO*G_ZvMZ zivhf~0W11VzPzU%etbWR`LH~Rr*^D> z?)^6HDS#4@c2qHCp1GDT^M&n>a7?2;1K)*jAD-nz3vCCrF{2HqzG${Y^DyJ+0ghpj zmv*&94T9)lfO?++ScHnEw_XiV^15eyS<3(Bum0%u^Zmp6-Forj%c>r<^m_Jryn6LW zs`69c#z%ze?bF8Z3DvJ3{QMnfo@>-0VB%7@t{Lk@_u37uVGF232@bq*_#npWfHX`D zym_kZIcR&#xH_R=rAwjYvM!+TW;+wi_$A#~e9e8>wRn@B+Oulj{YRH!GmR>) zXh5>IA;thlWu`EY*GiiO@2$v|jpDu9S!Ip;unms>6_zl-*AF_R?V@|k-M}wDHHPy< z>|V?|A;ii!dh7|y* zAb{^d7s_p|!qCl50+p7yRinDz7w0-+??7A8)MG?h#4!$s8mC_)R8?JSL93`il~t4yDB z-Od-ck>eCI4U;L(0y>Vy?n68~1w;^LV4`?z5=Q=`Hsxr@n|FuraPv5Qw1de+?p3fh z62uP!4)1{`3Wj@q*jNmGm2D3!%Nn;O!moTDzf;d1NsN8!+xE!gMmLY!2gqB)UhF_; z2yA_T6J&Szf(t?xFbIkS>{Xb?4p#>q5oeNCnE7t5F3_HsGu->C6-Tgyr)@d#=i?gy z4zN1Hj%xEf5GoK7KZPy$?mzi9uH9b}WYf%Oteu-(_3g}=yT`R3Y`Qs7+8BO1dIX`&Oh`mLR`Sp!90D-%%< zpi8Pw&t?mGW%`vT?-ySE&JSOICE|Gbx*q7~pZLB#q9&40{XI1iK7VwJ>>w-yXYQC% z4a_m*Rg1_JLxdR4^rjO|SH)RFY-dbpKeeutDUCViL}pk&IhF)1Ah5P|5<&|o*6f_z zkY{CcUiRm+0gh<0Zd+dicF9%kfUDLx*Idz95pdn1ct2pm4eKNEa!=i;*B0i!q9WqQ zi1_r?(fWjEtY?D_5V2F5NHCLml-pv5K(2F#$h|GdT4~PP_=`XG=EtvIy?p)l&9n9L z#mfgv?Ni^p2M^su6YOgb-TmjEf2jomD>=bgDD6ePjCjN_wWFDrfNJLgB^VromC<2V z7Ua`F+3o9HV(SgZ3jl0jyXg#04R0|9c2u6l8z&_DiE|a{4|hQ?2LSY94C8Dh$Kd>b?SgyA9ElxGs21}agBQZn=X8XLQmZ*=!h6|#*>UPXVP~iw^Sl4-BJ(UmG*+aaz}KGBFa`{2tA_TP zrf2sMX*1WJC7q2M@@>$D$0^+eNk7N>AR3^K9?lj`V@`5mB(=;uJ)vl;t>i5`?4H!u z7QXw>zlEdZhDLIMb%bLI&g_QX%AlhGP!fwKn{{!b zNLqpl0%l8(WvDyT)VA!=Lb5lxYt|N2ABa$!KG-{m6$beQ1G6+U+}hq>j$D58 zkH2{vU+j3jpS@Y1)#vf$Yxw3>JsVJr7Bzwbx%ER8+zZT)7VUyQ-L{@3 zyEV+sCQryd;o=95DHv(3vSm2JI&E~yzCp(vbDdS`sWWR6C&Gvo>t6#z^C{)+IAT#btX(l-J$3crjlFo3lu_ffU2(O2I<&=^F(pDrzUuknZTQEU5aKY1cDX| zsDK<8Qy0z{>Gy0wfPLfYMlQgeCMtuDP8YKXcc1c+zcuN}+ z=K*6w6wc{e@h=|-Rm4*23zj*veg|iStx<_e~(DfNGJM1;0@x0w2pZanhJs5qt06rp$oUyfN zomK-QSmzP4eKef&PdmGofc^ycfq_bdz7>OS)muwfqyr2>*%@tR%**lw<<&$ld0*|b z-4^kg2TfdEkWTp81CfpUtBLy``s?mRt_V=DoXa)=6@s}RS|4*`Shp|`j#kx@!J$+| zuZ3aFXri=LC}_dq$K*gtBA1szqXp+}_^uKmsvVUCO5OrZZZ^X6=9%lZq4?C7b1R(q z#;+0aSPM@DV}=aLz{T9lj`7whY&$8h#C#<(1ZG1!*d@H*VR4g}Vqr2+}<60zW; z05};IlN}J{^&q5(a_+={iSg^r{0da`SKJNs%m3t`{j-1aZhrZvKlR&&KmM6t#KG+U z{l4{^fAmjZ&+u>E|JE;m^H*NJ!uk|1{>DG^hko#f-*>k*(30ns5U@oc&oqi;-#GnFw9m?a#YiFay8=tZ9=Wz1Rg2qJ8Kz>bclUS{k|DK`5=r0C>!Kmj{~ah%Is zTj)V9?o%(9H_y$Vc(;fBYMco*&N>s;qOtS+981v9m*)xMfk!QKa!x_Qpf zz9+JKh|l?sKl@L8_a3O6E=$VSm;%4_?gxJWp8h|F*0fp?*lOllXCuP^n&dHXD^H(O z!<~r_awBLPotgV|c=B`}Jq3mHo(HAx_yF8FU+66s`wwW@I2h>jh}dniT{$>js9yB7KMf z($xV7o5@iH94;&ZGF+l4&M~twi@|JkM71%Phnv<0->VIo+WvNP8@k|rs~>*_ zX=?rS`J1;7DxRmlbANH9Cm+7zp?0-n&uG`|c;tkf8uy}3ASw^mH;ove`gx6nx!;l& zg#LL7+8*lardHmo_3nO7t(C3SX3J4)3t}n|Ux1LhgHRMY)^PJ~hatz5sj_3JeY{#n zZfQ!cncHjF=olFxo^0e$A^j} z;$t9042Rjs-RG%WSZKX@`#SI)K2Uu;^^JR^*lF)QaQB}-x(5zxf0ie;IST$8*oK{2 z!#0P*(WE|sgP+w#sTO-$sM88^bGzUaND4R-k(iXhnKHwxH2~;c&ABg;0agZZLJ7ae z?xafeV2S&<4U#v{+*9AXN5^h*Gj{t3aWQ0*Du$)*nu=;6tTDLebf7OG-Rqo1*pyPI z8IH^taUlBw!-^1wdtcHpaji(yEv-XHjePT#XapdCW)pHMsFea(Wxjmdxg`_LRU@Sk za)c_0awF_|K_-T@#;%u14)F<4_|sBvgYxh)7@6Bd_Q7CM-fDHhSZ&BfGjb0r?t_2QuBx;=vaejBCmJ7oRjFg!*=P`ENcjQq~ua#g6CG3aUN@2-Y zD&Acsu3%Fj&D)&Kko9vbZ6iavDTZ>&w$MxLu8nE~YglkOBDS$3ExjO(6z=VcvD%ol zN-SMVP_!w@#Mj#zpcW4C+9mB>%9v;z3 zJ@uV?MAt^2j`wtJ`26#qqIRISJ`~VMKfU|BGJ+YSP}+w6^d%ky9SoraRpXGCH05&Q zS{BqL`e0jwfy<-vIYw_LquHLDl$cP@ihw>fCeTf>kc*>p-~Crt7+MoEua2Nm=258h zM_`w$q=DGj=E7|cldy>%H@Dz!goFs@4(wB@J6--=gtQXe>|@a=M!e!8Y>W39Gz@79q^!{^L?XnBVg_Uw#v!GR0s zkHUExv1GQma4uCF=KFA2X(Ar5Ih04L8|3M8c=OIBan9X;^T~(D@Sls$JrUTZV=#3c zhUmH!)lNuXM#h*!>kAEIQ{zz`ryxWpojTkQz%i$daS-rx5G@1!@PPs=&O9Aw;8}gg z>ZdWS1JK3p$Q!%uryQia@YV}iiV-%9Djki6QOL`S9t)k^kw`Lg0gMqMSJP~=Ew_PM zI((9}Ko~ZH2$3;wgWGD^VRYZ<)l6;G-3zP~f~0z$LAN-(Uw&P0UcUIrgR=Um@7mYj z|6jk~ap+Te_C@{l?bnxqUwiMz-xH$0NBlfM{9x6kAPjWHy-ZIAyb3T004!I&K`%Yz zZM!pw3P1@b83JZt9PDEo5|8baTOnYkR?3h`L_!mSzX7ocQs_{@uTn;qiqu-;);{{w zmvbv`e-2^$>w5P2%l+dQk12SZk-c*wH#Dp+#EhC_27Lbg%7@X0tQk3*`nFjW(ekv| zS=QSW>O2l=l?~iI!2`lbZ(kl`h|L3wX+ze>G+jCSgq%!)Ydc5Zk86=ndAvh*ICAeZ zXE@mRF;HBV zIttb!>?p@{GHoGbCswt-RZc{ng_pcK+vvJZ-+mYrk7cfouz0mKC0cY?@p;|-cUKZ2 zprD1vukYylRD;}e#y*1?%~~`$;16IZ1^_{KkTBUM(vx`fqoC?8IxEN7XO>UM5yBiH zV!JW^eh6HK*P8tdBrC4j){)Jp-Tn8U{NUF<9J~1UN{xK}#c#d)@QzuGs4a99iM>e- zfSUpYMmH$!4bvgn@N@TtR4)}Ihp{&RXbRD&CVL8=SqR^$wXvfq)a$F}4q>=)CWXO- zGPmLs9g#fw>I~h!Mc5LvUVi>6-hTNc{HY)O;9XVs+h70B{@Tyt&1b*8VAtB;*L~mDec#u8-`9Ol zTld|XH=g)%Zob%0u=+tCad}pse{mk8@BzIU?GS(%@W=;4L?(oXM>9r(sC&FNYz^BUb7v=a0X?>OGQvrk>U zeqT)g0W79(^Vy#Ga&D(Smzd&JV6^=Ri;qNQxVNPR43Tu3QikkXl|YJkjj6d1@#4s6 zs@`|6y0}5201qY71xD|23G}L2E|)H-C}tCN0Fd^cfDM9%E$u)6n{&(9;~_3{Uf=0c zA59))j6Ch-+*d@ z4^&*imaBH?Wrx9+SO2R|eP=bLZvwB24h)-MKzc}*K(&MaX@SI7*_+*`fkb7L| zX@^z^z7q)+#k9A`JdGEUUBntAAA9^#GQ*ZMK`I z=}WWJy#?jgi2ua5?!lbSZ=?wRA*2Wph+wX$3pg(rl;?;@P&Ws76S86*PfWF^HY+uk zLEz8v7%GZi9HPdH@4wZhP>8qGvo?F5eA))s+MzZaO(=LHMs@6^vAXd*cmKmD7aLV# zp9C9K82VAC7M#`&cfvM!d<14;5NzyYc0g9p9R?TdAkVG+Ae-FgoV{z;=>+3lpP9gI zYlxUd<15B0vO!MElE9YDcK1JCn#;c01c|b;9jH4IXb@Q|!4jK>qOunLy@IlmWOh(3 zeWQGo><(XT`3Ax}ki#A&YlUx|$`b6OPGR zQ&?jI4u-hq-sc=h+Hi#ZBAkMb)oOA(EqvCB z#IcXBM&8XpvRkp0kP#24F?4ow*|6?}S3ECbJisG`4iT8p?TjLH1atr!@Z}@-%b)%D z^Z4R?g`v5=sGCRbsc+pQOj90Tf98Ja-4A~L{cm97+g8vOt`05#ib)Zpj^XN$kk}Df zm5{<7q@99FN_sTJs>zhyYF_D8Ye?u0d{@rePwW7TKy<$`l8=-05@HB>a0B>a1I-hu z>+XNKSBOaYUU{0I#-(Q*bhFtFZ1O;}TP)T(=vwwQ7csQjbDjZAp!5xdEwa9N0%Hl7 z<=}8?NTFnA98O~ai%5{pY_P660Zga{K?!E@8)v~+) z?OV{P^wh@N5YvM62_zuaUJLtg-)$PTV*|s6BZ$JyuB{^_ZrX|oIbvnj@HK=C+`R>{ z4X{A~QzADrL+ile1*#pxu7e#RlTX<=4>E*{PY1v#yst*ZaLH?Qvp#0FjY!AVrU)D9 zp@!GE5}U{{Fm07 z6|d^qeTeY0*Y(5t>8l4p=1+VJzpLhhv-a$1@ZXR_eb-wJ)fAFssIigq9Ei9>I35NN zv+oe{?sK#@SL0bnsBug6CWB!EL$WkF57J6)f?7A~Y(oq+d`iO*x`;rT2dQ+kpG6B* z3t}8w3~OEh0iG4RgZj{2@%o4NS&&3ilnSplR%iwYkNt{`!eGZ=b!WpVSv`K6_iwA7~|?`u07d&V64iDIY>B`7Ox7 zM{xC}V!(9_4;ozOl%#fpj=J2AvtytT9uw&b@OcNKf;wHAO@m&UTA-n2W4CI`po8Rn zt^xJla>^#e7*QPB3xR)An#O~nTV9;^Z-cJ1&A-^Fnls(YU+|UjD#kbvoNcpnH=wM(6d1;J4H)Nn>c zL^JGmxqa$t>dS)vk6s1;?|$}jz1&}&HGlDSy?y<&2QJ?yzJrgj$KK~E(8tMDaL;36 zDw`6Ntt+xmk>6Hb2Zti0H|CT>GKid8ZSrUfUz+fYR&A3yjR71jY;qguNst0}_1TNm zMq{L0^u9$@Nc40b4N%tyrmv3}Wp?w#J@uV?q`4tCY0dIMpi~EF_*ErEtQbY7aBHgY z4V~tFQ7*YZI|IXZ75zi?++%K$>$7-`rs2-%UUkO-DYEx3$53?WKK>mCd@Q zY78)ubI-f~<6Bs9+txm$_elt{ntP-lYDn1J>|merKyNreVbLLuVG?{#Bvr}PPA|~m z;W|Eng|RxkQ3NX%0IsebU2)Mm$Vy()5itR8gGhe_aXnO57G^bbD*`7vyc28EUMtf; zJnMVGiH4w=t%jv1DA>nY$R^qsieRp_M@I~kv=G~5p(6@93Z!dy5+se)L?6Fj3C?qw z&+`|;v;Fe@@#?|(>ZxzzgLX^*l;!KwhF^O3gO6|F-85@U^)duvgEMdkx4uP6cc~8LLnx5m)m~=Oj5+ zhwUVgSAo$E?Z7_khwZ_Th zYYLK)HadtcOxGH7?+q7oR(8I91|db<9M}O9^mk-x@j-@B6Rn*mF(nEbXFzFopkzzh zZP;)*2ZMf3ZxvOZJ6g9z*;Drm5yLI~7)45GwxJby8s)HB{1E~nlC0<3qK84}_pOA&kM zNPj1!=;8c(FF1lcEDLa&pgPHlCU%DlA8|8cYC}ic>3;WrqPsg5_o?i@IUqDnXqlJm z1RAgsacgnH*FLQ}QT2?OGmt1d+nBv|U5S?STq9f|m+69WFeDGUaix32p4(%4Z$3uf zM?_oC%5nPL|MhLa&Zl};_lkv0JqJd5HH^r@+Hl`qr#+ime*2W}WaE#f|b&VaG z)-L^imdnheI4%r?VYe}8mgB8;X#?S%97QnduIr7Cf;epq9&;lDrDy38!~%dYYCLYG zb5DIak4~e1@p^V1jhgP)X$wKpj@0=zHyWx&=3H&8gB*F;ymsGfAP;j|^NHZX7=g^f z27W)sAQ&fn6ne=9K$%sa?dr1G+I+fWoY@DaSeg#^wb2cQH8blhWNbEsZ=;+?jJAM1 z(U3cp&5oF;3yPs08HWewCqwZ0in9R@Eh0MjVchIqb?tL^H>bJ3MBgRl8*A zSRU1u5Ac9O*UZKZxsVVZKsw1HrcG0}9%<$se6!w>SKNLtjrcbngRtKHe`B!z+B*j8 z^*jH*2v%cSJy3IZ<$hWWOhwM|G*lgwa01MnYQ5spHig7A8EgnXZ^USKbvuZ%og*g4 z%-tIJr#Qb)y9h^i1S+9(C2rSH+9#3!di&7eX~=WXiOm3>eGEGrpf>=@po(3K2Uz{U z63AE$>fqfBd$EFK!^VBEoY*=}m$O7pcL4gFypA9_e4VD#M)O9TaD(Kg1&euqykYaJ zuU`E4htI!w_B+qtJ`e~z@%?+GQ8?c#-R?hsA5!prNWpDL!L>#MV+N2t&Yj#wCAyG( zGo2P0g^=E|OgBIlH*H9xfbA%nsBh-hsjKfE0~16W35I^_y~C4HeP2^i?U3x%QP&~1 zdCeV&H@$6JJ@w_>Y#G1sqJHw&j^R46>Z}_09*5{og4<1FP;HwL-W&?p6TPCzt`%!~ zwQ!2YW9@mt=A+Lz=SVe#V74gROMxSA2Q#o$;EN5+&G0v9?w%N|o%g>@Oal0RhxowL zQz>(_&Z4)(X)AhIDb(Kpmoo6`+?&wKWfr}!3&6M!AqvJ@9Nm3wTVW~@+%fDaxRi3p zM)WPFZYy|RIw9dg#wJbZ_|D$9$NAD++|Sj{-iyHJJOx-tBZc!PC=i2s7XEXzTvqip zL!%v}Rl%&{6Tc7;aJ)ih2RwH65yNHCh=Vgg;?kB%`IXCQo@+OydCNBXjcaKCqc<4L!TLT6ZmZAsgYWz zGwO!>u8CE^)d-DHoX9H>ofhC}avWV>B;92=404qapbtp%q@&R?bVbh!obYaYn&=fk z{?24Debgs_E}|yEFzzfRctNxMnlRK(gu<;#C#xI zjVT~g?H&yAV9;)C5YY+B{r6)9e*F6RvmZU+qdxUbd!(1tZ+c1n!}OAbdss^YUR>$u z=`IzE@McYJ6AIIDmV*lf`2twO7{0FKXCr>5PlTRl1T;Uk$on#>*a*$Q|9WC=)pB6( z{ZJ*&0TgqtCZu=&_qQ-dN+BP4ticvfSi43j4PMY896H{|+DIa`y*+{zVQWJK7STD` z3PF6n+753mT3@r1pCN5Qzkt;Mv~>g~CP|09Bv&{L-os4R?fmrPJj2~W3ZD3$Js27p zB)MN(Uw`S{4?dm+_RBl@M_`q@{`k%))h9dyN5@3jasJp6!VrccMlH|5(v-$ zu&c}FW%hmF_vI7LzOQyJNEZ3eM6qfbtYnqpsfs`*^5(twAK~GC&hKcMAr~-nwY>wa zy8zAotne-awP5t==q93ZTXMQH3sE?XrhKL%NCh#uhCzGdDW#n)Bw`O|#~$1ewCF|a z*82R9yxH!r)Wj!m;{`wVEqqWq(r=_A-@)n8T85Bo*SXrkF9@TKZHL1!WDZS_a}74~ zh#u#fQWB5`ygu9Mw;FEdV!2aH@`t-@ud)xhE-?azcw*H}f?QO$*oj%dv|Wm+Cgq?}`{CCf&fgpr$n)7xINr_@72?fF0#YzWc-ou+Ji#m zb|XaoE^V}54CngdpgkkB2%+1BlthZ!ikWX|E@XTl#GM_{8pyqwJt1hEpd-!G2^=2Y zRk3_IC=Tb+?kwbJ)Z`s->Yr7Udci0&L7qR0c-}g&zLR~H+qv8$-?CrKHi~+owznZ| z0o^6Of{%!<5~P>oP=kCpMV?AYzT_t=+nk6!Vzo_)6K$+L%uB#lNoZ?*CUt?$~omMR!k+O(eq zPaf;)ot76-Z)L*kMBi#-o{8Vpf%q3rIECGtCLPc@$YzKnFvkr-w6?+#1KJCcq&3Xc z-_}>HHWC8*$h9@NEm&#Kp`Ah#i}QxzF(^s`UEz#FpeUD-;JXRv zr~#`jmy6OU2)p*OOGHIyPG#-hPsWI%RF9<&(0mWp>4i^UYO6LuoI8iNw&ZrJD*q0@ zsJE)dN4{~t7-{df(En>g2h60k0`1*JW_vg zTj(Sl9s?#PZ-=s7>6!y2y<_p`aEiTU+Uiq_rVO;UZVii%{h_{n;V|NTk{?(8gL^%| zN4{|n?w##s?|c{ToyT4SetDLpUy{A^-FH-xAkb2xSr&TS?0p8PC0Y)(*zw5=DSfT= zp_x0NLbhhoyFePaTbs)-qAEsy6I?S*jTv-i%mda)6Y35{f-R-f7TW*o^vZU7(6h}= z#|HKXk!WjEczQSDEvuBE^sI2WF3)LO3{K$|O;2u2h)=80f$oGzwH+W;7IJ~a_W=J= zw}(|Is9reQA>)oVutGh6dc4)e{piKZ{p3e4{l3-tk?-4so7TA5wEo-~pWlM#lG06r_kC-nDUN)oG_UMwUsZXrjt# z#6y;wS1hSLrXWXUDf~d=_I(=-gg3w{#$*^G&XL)9Pq-VoWG)^eNa>5si(9J5B})fi z81lxRIGS&Y#wpAfq&P^FqCqxg-LkMGLER7r@>lAd0yX={FHuuJ`2HnGx>lekUz1Gy z*5?+HHxirsqtnN|n-BE%hkdnn`t{HM;2rQc9@(?=%W5IIzq8?=<^nY>SWCw)6y2vK zdK65E7?D-0$R;KzHtn_k=rbIRe>In;SD(^W1{&$-P&F{XbzImOr;6SBdP6*x8D;cgtFxZARGL;uaP|0F4fAFtc=MpyiBmb{)CqK;1Y+RX5MFea*tA?j z2t<%PG?1rsVlRP=W1EkD0{2*DMIgs$Rh!eXas$6;0|R%(QE!;j)+Wk>yRw0{GwbfZ z`~I5|#-fRC)&%g`HnmgmSs^np&H5<<3oGrw-m zAFeuy9wNNW=KwG~XW>N4)1+BO4j*}|?R@OZ`Nr4n*FJmw^ubbD`|NfEJQ@*N#{?8} zs38tmRf9U)L6X&$tfo{2;x4rQJocR3!q+fzutYF`h8ceKB}h@LX^C^e?z;&|Iu3pr zx@1l4LD<0F_L{9iy7U3|Yy!bO7fzr&nK_zMp5}vq<~^r@tvt7_y`%#Vj&3SuSvfl^ z?;bW-8LT8H+qkF+@*@&|RU+C{{ ziRUG#R$$NCw$aeW>ZZV&Ry*iot)iwIQo3$!^f$P!tgR^nP>pke+PLd#y9)DyHggrv z4g&H}fnEtn&c;3a?c4U)mvfsN|J+}H_R^m{xk4u%Q~^`hE!lQ@Z#_n0XMkLkuH=Nl zEgXFy^Z>DYl{f;2kjz^|Do#2#B@YA2MdxQl< zEVn0a`5cPAqyvDMM}?chV`w^BQJek5z;t-6jh>QQm+s)gY~|)t;# zizdxoF!r&2n!_=X8I)}|;(-}CM(2>ZPLg~3#A9F1Egkput0(^H(rz_z^K|HZaw+aV<0@CC2O| z2?eP~n=?vFglCKN87#I7mx!h|*;vi-?h*J`A?1-3YqrgaJc>PcDt$(qty5}WZoywxLL z&Vvv0uimQ#{@&laSojYeCji!;ve%ihn~ut~Ip9a!jMNHdN65^a(ZR$dGGmzp6$I$% zBF>E06huE+v?b}xVaVTY88B^^Ax-714oYYTXR}k!mFNjN&zt8f)pRsN2usVsu|o7Z zrnwBxQgIx}IC~o)&!M@KNK+9O#9%55ZH)r}*j2Tl^FK{S_|kTOlG_X6Jxa2pNogJ9 zvhJg7@V?z}ANz71e7=A2C(rkR2ilj_8GXN@rQ;<;9L%xPEf6INkG4U zEfhP5b+Vwk$D@1f%lXE7{ny|6NmWQdcN-IDc-ZgJ+`dfNIZoe`Lt-`C65jhUGR#yd zjOl1BB)H(}C_V>^X*4(iyd?+V`NlqUrA5aF308VFWHM80 zwY{QEE=g~(CO6(gEh2CI3Xgp`w|<4UZmWR2$IR@c@M~@&9S8DVvRzlUb8)m13b+6 zx$)M%wBYvk#)FGb3_M%yxb`ChxaL^c--V%JgW?$FC521Ngnm3BlV1nZGth@m7bF>D z4;$dsNzAqy(Jp)_fW?QWqD@_zhZVA6N{26OiJ|*+`vHFB%Xw%b{r0ukWVVV4lAiGf zNG~lojw9hv!7x<~t|?`~DBcf%C1{SI*LB{&ofoh86GHNHc&mTwb8q#V*ZJ$_>K}an^S}Jb zow)geKf3n?H)Y9Q)8-jXm4q2V8@?SLsfL6P$btJbw`i-i4X5Qf zWqL3+UO*Ke+qpehsvjbx%!~t&X3oAnfDW+Y~uLV>Hi4tUR+QMWids*j1 zfJq)t5PRizJNpYSUp#xZU;OCa$nvpo+gD$=-}!7(UPHR>@m>W@pU&t>kR>K#l;Qs^JEn>wyG(BEpDASC%vi z`1wGBn}$@!2t+VG%;O-CTXTAV0Fk}n zq(RN-V6-G-pKb@in{7EEWea=v$Zg4ID`F~vjxWe2+QPJG_P);!gsgNqIe3~fa9E?A zq^`QA=Q1{o-;mukBz)ZcPuK7#x*iK0vx({~n%oK5V%W-;0VS%4OQbQ7dP2g!@~8qb zt)&r1G?qDBB8{Z$WE{vW@yi~TlQ`DTSYrTQgNMX6)|_2(&Nz4f^Y^cj08s@#NuG1< zX#f?(w#8ejR~-&swjou#JhbSS?>!L*umt)zm`o0WrXZawr1XNTr53v3z;DRuDT8^N zj|zyow7~&{b8PCl`(M6)@!t13HFC8A9xWswwlT;q*IHL$?0N=d5ZT1V0HdzO3r%9# zg3RUIhKPcz|AS`aW!_dl=q0z)xhR(wppKjkrEK(Fr%1_7(ajo!t}a`%DAp z$}v2Lu8aIq`y>*YsKc#Nl6{;QNJTNUvsIuDqXvR)-u>^_+u01`tuVlI&VgSa55^nq z<^$BUV(jv8SfUkCW8;;MBHp`Xx<_==rm!m+3E zuzu#e`#*3M5Uhw-4<$xuCSh8g44TZ$DcyM)4=mV;aGHxvv*JuFxZwHd%octkAdWjN zsMvvUK#bxwmM9FSH=ibzy=ud#;|HOlUPiSSAcwSsgvtVNO5{LH<@pxfHpb>-o<3zNAa+;`s)h}Q1p7yhPA zp(?`$+s~m@7;taxfPsqbQH8NxGNz%{*WLep#h;2dz zt=HNc_|`ZRj?GzZR~nD*gOSM5MD$9d6CYFNmbiRI17;Aafd)P8WvsKNE?((&YTW%l z*S$z2nB&}g+LY6WZJljGY`In~2n?c7Bu)U!e9TczAcue!Z`3lxQ|07_fV?f8(hqLA zEo?L1A#pj|8#xSG2p>DWXk?wHY0>WfUtC4UZa=Q4inm}VBicsMq$ofs@j{K@*$&`k zaOO4a!YhUdMX%Vyc>3ynd88n~uA^OD>+D4o0g&a%!vW$QUp}*iX?Z$q{dxCKe}FCm zh-G6SXBSpTs`5My&2B57bxMFbaW-=DWfVom*$(dkBEk}+!NdO(Mv@~ra?D)q=Lh2SnqfL%m)`C^I-CY-wul#X6h4)v(q;l(qbpvf1KN4U4urE(W*KO9q=O&ztzLDmu-AcLSIP$Q{GLOlrt*)sdqA!~y8rb*ditCRU;gBiSAUuhe9u32 z|9hT2eg4^>UElN3^Ur>^AM=xM`Q)=#&mQ=mKfM1v=VevA+Hd(?{^r|$h`;;<*Hs=* zKRyq9<6r+N-}u&F>94)@PG8^kz<2!Mr~jC@+=jn#|GQp%TF*cBm!G_N{^OtLhrM~Q zpZ~C*`O*6G{qn`r{nj7!z+?K6zxsp;|MT?cx!bSU+Mm7UZol=LKK(S`_K1G?*S?8G z@RgGka0L16>4%^E{a2p@33%^`iCV`Jj>xVhjVFQt`^K4q&;Vk}-K@rL2=|LaiHLgm zW*oVMCJE>4);)ZvHL0n?X<(V(r*a`KaOJQ;ZNgU1ZJ!QWY2K65cD|BxF=OnfBKDci zDL}OZ@b$3ViYE=7w34rQPhV$@(?pB1k0C`oD6rwmLOvz;HOiVT9Dc8g=*2 zeQ;GYfRMV-vblTH!<1KMcNAJkO*-0^&{wLO&YXj+H(+x6RKhbTH0T|{>Nd$|z=lzR zs4<|NB|4&n5P>*k`UIMWT8%|5D~8|w^SBD4vD*kkuD8ipzD{O`HHlqn4bXmMJJ^LZ z@FoxHz~{||F?O%AB@;u}E~1e5!lpjPk)2bf@!ldE(-n$+Kw_U;z;i}`%ISV7nA=Q;>ZVt+I>F zU32isxD;<542_4c){NR#?MrF!;Dxi{Xf|x#q@#nJ#Q)TE|Q)e$znd2It$wxpmQvrAjj!oC}2J4_D9gN0jYF53imXe{&yi=c=-FiY^Z0%7LXMDoa6@HduAzy11EzIc9~ ze)PG#?>3m>k#FZOs#wBv)Y7*-`7}>Zr^GSzW2$~PwL5zdr-|hNy>M`NymC`x;ESgIIf%HRW&SN3Hz1A=lVAR2!f}{lT-?oUhirLv9FVqz6r-t=_ z*u)3Icz})H)f;$dHfg4EZ!?YCrdyNbSk=s?E*pgj+(N)EsV5 zx$oG2>>Kw0^`qSov%ZtDWmec(x)Y3prxh$jksXsIq%80p(UIIhfFC!GWkB*4&oELH>d;pIJ7#P6LZc%a9Jp=W=jg2q&CT=Q^~-X zafs>3MQ-=R?|u5>)$4q9uQYz_yY^6N{9&iBm&W*mKYt@}oXHsDH}OlR)^?i#495{` zXSL1D6BfagtmDAamY%UU(kG0Pg}8}N+v0Mj*JV}0?J+`1D{QT!=(IDq!HErA42Yhp zbF@D0{)G>&Na6)cOw?$EelrLw4MG^uImXloZ*2?jP#0F%+M8kudGfePTL+)%s={Cs zgIxk*uW6umvE2p7s^xTa?O2_5hZuk%n{8-g-TjNW3I+wbJPkM?l(dpm2v`Ym2|Fi; zb}%Da9GQDVA+x*7=EL$^uU>riGT~VN6lnJQHKfN$?qjYP$m6qdR)_Cv!Dte@0{ecL_ymIoz}bLQ zk-ImR4j?Oo7n233j^`Pz4bUtsEEwScLy$7Y6Djetao>ByM%%GPQp&^7orfBVf4(KP zLp=`NNutNum|$fV*naeM16|hor6+-Q33a@LuAC5p)sl8XCbUNw!CtXxGhA^<@*zMs zEX6W2IG5$ZxhF@-;;9?nPr40@IofUG_BBR0T*juJ=Ah4f~2Lbf^go4!Vi$! zQ(>mE`kAqiT2!ug|MIo2E>$|~&F2>p*+;5HYk{n**vQBhV3WWUDB6G>Af~V|hNIbg zAwJt35r{AoLn~>m1CrV>$qU%nfxSO{YV6q1KeR?OFF%K#yMN__%T@y_L!eY$U8XAp z&;nL^pNg5_Sr%)#IyFyTJ=39oWG#SG*W9uZJ(Tn6#Ym@@Xd)Rb$D z$jUhlGSM*`T$-vrNU}HRrE;ta?v90S+Ggn3``y2B4Kcx@HVuZXhzu;8*?dIMLiXx3 z5T4;~ZFv->V2cdSz@ zqRcktLZ=`~9RtTLTX*YPBs#QLh2?N+>+avW-cA_!6OVkIfZh(hrG-FR^l9cCmX1<{dVJiFj;$S~{d*CrS9kz!J2J=yXU@`#g95 z_Vq-vv9OllR9ckcL7Z4irPW!j6-o$d=Ukb;Ek$~-eYQA30&EMExzj+Tm&rP2gO&Eo z3hk%ibF{Yc7^Z6<;R2AP(WR&}W4-%#-qfT4n1w*^>0OcAJr^oq;N5VGyW@@PYvn;$ zcekEiBOGZh1TYs0F?PX*MW}Esb3$%U?PzY&Ikp3DTEiEy41ADMoX&I)x%+oN_~GyU z%(ATC{p!B^(-m3&=-0mVn}k)r|Fy6FM(NfcKJeu~RS@)7AG+|jNrC?0flL2s5~@FX z`0IbFR_hPn`ZM05pZfi`+|Rds`R{%0%YVAy?CX!}8-!9n{3}0O0XzD#ZRm0=t9>Lp zL>k2#kv8xHVCSDcR$m662_;tb0fnOnuT3i)Q8H{(ikF1SC}>E#jxsJjI|;~x?t!Wi zsq#8oThd$gx@8^PIfyo)SginNm)#ccxw>K3pF#a_@@TtLhYpyKhMX6nA3F9fy5M|K zocjWyNBv4OWwFtGZk`9Jf~wZ1q3Jk~lD@M`4+2B@i^0cV{QEDT?vLt6_3YUfdZRZd z9vpb`#jd<9XCM1UK7f%NHyFwBT{K?-{L3V#qyE^vpEU-@2`zI*xO>AMoz?uZMRZyu z<%luuGhoGlJf2siP5j+m!mCUOm}$o<6T9pT2zYX}x@XFLdv*Z{PzjUb}&Ae5URLIn|UJ8I8?1uuV%h4GS7{u_KpI5zb+SnAJWp zUztIdB(sC^w;8Q2@CuOJlTHw@AK-QXriBNulgwG8dyi{=`n4DDchjFedjj$66aVzn zXFq=OaXtIAUOs?)f84wH;M+$xZ{NG~8Ztkg!rgZBzh>~L-&JM9ChYFv~ zfRmvbQynIr9G!cw)^G+zb1b&P9=F?>(~$X$SuxV!+Qp04jo9mz>-MpBz-Qlm8VCuu z$y3l92OQQl8jjpB%0*RIMkDKx3;3$kJ;yo=3TVKRnlx0aS1W5Q^1Kx9N;RifFh;IO zmdvc)c+N9;p!){_u(NiiTNHuxCANWD+y(bu|1|yj(h)oaz&_Gh?RB^FklRj};&`7;mc!Q!H`7FJ>Ml%56O`hC;`8vCi_dL<)<68JUO)NrO?g(& zKYIP~J)`&|-@yk7>vTg{e;0cMhRTR0oD-IKWGo81!ZX~o&N9=G+H?l+_jF+uvTdbA zD*CF8LHX>WHoAaFvyFT6m32iz9*$<0flLl~Ylw(s*x4GQX*rJF{d*sL2eyXyJJtK0 z>itgjjXM>zQz9KD|60qh&cRMiZS%}^bSFUAbh<1Sbj4FgV6CHCzyn4sgiL@VVAW;v z)Zht^_c{sj3s8O&puXAWshEx%cz~o?Nw&<}-M@eJ|B;lC=gcd>7(7GEM8`E~LU*}= z2*hVbV{Nx3Ha1q;kY(%Uq z32J8}m?l97SA=N=4FG~;_pBW*Oqp?d5>nGOGbY7kpfo^oW*X{DG$$yuEq7arcqQP2 z4>GU)bgZ&zLRo9{gDCS$Jx#!e{bVD1RSE~MD5rfcjz8Jb(>Z3EDl z-mbVQ7PAQ*%p>;RA))*E4ndyU5i24s`YI{=@f$*{^0{_Q-qZZDIDvmvftU`_YR} zAF9Vx1>~z!*DxnQ5o=D1eKw$UYU&|cfC}vqXUI;U>mM2Oc?5V?zK}|1r!X3ZFf%n3dS;cuO>XV|7Xm9s{hhsn?FXrs4i zK9R^i1E!%NoEwn;%&Dpi_z%n7I(T8UW)dnOg3&A5B|gF!VeP3WHZ41I7DO`D2J!_O zLi}<;6G3z$q_u(1mb9&N#=P|+|Hg~B{QFl##jPFfk?-7t8&kj8n7)HEjXm3(P%rg` zC6Q=`0zQ?w7?DpCrG%aEoP`IteNZ2xAY72Ok82A^zm9C{0?n4wT@81h>@TiBv@R`oj01HIPN4zI^w6r9QYZ zG4*a$eR1_UX`I@tAucsEdfRJuu=Tb}9?LL6z`|a9Z!?1&garIhoTFAI)ULbs9#R27 z-JwFC0P67rU%i8J`wR&&cb959_2COP?&}w8ZLV%(O z-)5)$h4ZTZw4T4dx0F2gZM(OW(1-jXe`P6o^WQ(`Qu2d;=*6o)c_Yudzo?`r9K9mY znL8ZHnu|8zhF+p$cQdf-78y`<1js8Qn73q9>vEO=uXZ_m8?EWAEYqc=&1+(82`Etm zsNFWBM5nbhA;yil`rUu@!MlI`5j+G>;-sY3j(5MDifL{s!^LVt*xPV~2EKK!#haRs z9?(GB>J5m1o>`;CUY9*?Ase|P8!RD1oDf5fe3-=_h}a|B37U{~KRu=l*(p_Vn57r_cZP6>jzVkH7fhzw^T%e*TI1 zlj|G)*2n(p<3HJ_#p%D&AEw(Jqes4++xHIl_Q^*-ekdGunH>>XgUzFAHGmxzfNJNU zKsi=yU}jb)g?xXJ8z|L^%$?R0d{RImf!ig4nF1e@2Q>)#I=?W{yHye#gu zTiDkRna})ny?Xs^?91yw+g~)^oc+NZv9^<#5gKw}u06XO$`Tb|F_BYb2tcQa0MNNz zfofpUQedM7+Ip~wYwWpz@!Yh0@2xfc?0}BBA*U0*kE~l$XPdL3sf3{Qwu9BtHUj1s z#!QGK;n0~)K}#v|w0X^XTf&^H`%EkAS#cQi7}04L34OQS_hl(-+t8wJiwrtZ05RP1 zU<4&!v_XIHz2}HBd-(;s;x_>aeDdDabtW8h!Pe)peTsJLVY!&$81 zK@?RhSRyk$TSaTooGGaha$cl{ZiPZ}81|mI^&+Yq&XZFdVM0AYNtChjrO zP{$BdMr%EKlQYJOyZ`iqci(f$;c(|Bvd|%#79<}Dk98q;F2aW51~noi{Puo;X_RVS zyO;HWXg`Iaf0OtC{P|-1pT!A~-E?Zm9q5$|ZN?scnw=aVn4EsQ91P`Q;NN58*8`Xh z%uVp@A$ZiKX(N)^4_bJ0&O<|R8^uZc8qHgf38C#rmrXx5q$0F79T?8M&~6%q!Wv>| zW$LT3QXp;bw&(QQyPo-vYd?AQ`epei_losLzIhLx``gXA|GP-C0LeV2N1To1V$6-k zCgkD*2$SJ64zh>X&=auZ2f_;UD-S;_G(rdE{GnZ||8O zl6|$;^y{Dh!JmKc*XfLt0KSl$~}0Bbo7F@^AC zHRTPWkYv;79cdLuIyJ--c9=a4xeiWXLtInJu|>MI+fw$iFXzFxlNOLSEo1 zSrcJ*9nMWoS-E6Jz#PFZKf|jAb*cMb_a<+hGU zhJk9{1|4tXI<6e!c57GqPAB-@JBmN&C zs7@>)5O?Un7Nf4>b=nLL zC<}m*F0kJKf0=unjqvZEgo=I+`1`iWe%y!SKt9xA2VDfBUTDwoSk~sDwI@*ZH0Jew z3*ZZ)$WuA+p)TN<`sJ3|J4YV%jhthx+S(wZiIf<|Jm*q&@2#0N?`LrzxAiG6=IyID zSxXTvg?JqVaI6Hi$XksQ99(+Iy*veu{VZf-8xEwvgpW3t#NL+ML5x@k?gL;AgRs&J z#Kf$N;=u{uKeXoBlf3H>qk%G$FJ+ji*sJp>w8A8N4|%@7@Hw-qngg6 zz@Q6A0|zEND-=(AZD`@}i$N&mA%)_*Gfk`5EDLa)-8u*#n`Oecn~sQK!DmY*8W3z{ zEwaxk7kXi#VF115MPg~UFUw! zK-lv}X#LnyxA)4scdoqCh82=J(p0S@Q3N?~9=t(+jOCq>DpsJ?3@$sa%+=R1L4cYE z&uF3tgH(-mwsk|r>+PgWXr@odS_oUxL<2__d`qltO}w;s|Jk?Dy$eG(c_M$W+k)pQ z;=qyJ%Uac*#FY!_vb$5Bjo{Ta7A;yzNM|%)RSyUQWwn^C3WAi01s73WJ_;eWTWEwt zmLaBL#74Ov_ssC$ZRp%Bi1v~1-GeT(e&aIx4r<0)KR`N9ppx(iNd2NHUdv8WR$R#roXZVN~p+A1?7qt7t=zlUQ}D z8Cwm=o=F;Os#qGUH^i+2e&xBR7 zQAj>+>#ESzq$!(i!+9f-`HuLvyv5M|zQ26wKaS7Nsh1yq`trr=7pOTueD&;s$f3u+ zlMj|ia#JF`3pxFuUO6J0s+G6dSN1-eFEW)RJFP?WuMR@g)`dvft)&|=wNM`%=cz*t zW5U>miL!ccj)C7CGb4MB?c}?ot1{w9o_-J|w8QD{KgaxL4h6v%{1mipdpFHyNX0}L z_Yt8!X<`C1wHJ8f!6Mifa*_#4?dgabmT7Zo0tW+lfo|(eZPEgCdRW6Uf}jJW-mE6v z#%4LU0EfrEoZC(POMt^enza+r#{u2VXEy6YwX-bfek-BM&R9o5Ys2;l9#tTWTrk@J zr?*u%9R2`XCaG8==b#0NDDjrqUa@~$jWM~o>ID1C&49TZdB09u*QS1U2>{MJn3ay{ zW}(;%z;fNC?zqafLWd-72;4_SK$`0Y2eh`w=x=Oy=A_=0*{27ya^i_?7M%ei@^-~YN8@#%w&VkAv2GwFgKGFdv``uiUHa&E=&_3DYotJg0*A8ObLNAD$Tv2IM%ff|d_Y>w62nI+j)Izz@#u<1C&sqfN7YrjFU;$|Oga z%jvnl-u>?%5`Q?}AFO^g4_1$DO1^odk9|3}XONHT^^>R1U%!0%{MFNZsJA*dfEIgU zux1R7)7oaUclJV-O2&|yK+2XP<2zKr)lwOK8W_c=@tzem4+{!`E*TIVd9>I&I9lJF z2tYn1(qU^?9l5gck$YZq`cSXOy4H}HHEkd@S;i@wNM%xu-G{W5B(qZR1akTa0QXtUWFn5%m( zn4K)=rOcLjsJtW^%LI?OBPA5-sH)pUgYTsM?$+D#$hYjlV{*GWCVvMtE-3ywov_>> zM~*sc?*I{YBtEjuwhK;nh>?xzE1X$2{z`QUTI5SuP9nCu!|r`#or!s_n-N%+%!L*@ zUlQ5YxW?kqI691Nx9Ww1!yjkgkm9t z!%6~gW|y$VhbzqIF5LoboFn&TXGFsCdR#{rA6nIoxgkN`f_X<^Nq6I;Itocmx$`hh zX(7CI#EDsw^Tdkn@SL2pd!6$zXXf22s<9Il^6>^H>Zj|BbVUjZ?d8EXM0o6d#m38V zqBl|qtAySkW&MH;T~R1&UlMh8XrFtAj|)QOE!4XlB_4TN@;Qsv7;TB&Dykp3_j>E8 zzWU=&-ZaR6+TQ=zxAFbn|9RNB1rsv1R)##rvuB9zGJ^!|aJEj+5vd87F`h&St}>n6d*eP) zoFFG@!djYOppH#^=%y>eA2#$a-#sh#@&UERY8#Hj&L!F=*r&a>QGj1yq^xP(C-dZk zpuC)$DGp|u{gPw*puLt0H#B>ph(X{Xuh2uhZOwsj)!C0PD9?EW@}P9zdrvk-01$l} z@}dx)kST6w_q*+rV*b3QASF#~wwQrr5B)iEmLF6UW)^oyfi^$gGz?O&4K<9CQM`55S zcE`epA=BM|`7Jo)4H1wsizitXqRduw*?u8_s?_^FNC2uak~FD@fRKk=_*8WdC`(5| zC}@VnsX-dTb2isz?oAeLj7PKfilm(=h1zmpkHkh0bf^2xlX zM2}!tXBMdPwps^L*^heWoJvc@$wUbe$?F=9$~hy~9^j1}tgyVJQPiPf+1eNw5%J8t z9q|06uQW*BERwgqkw?CL@9U%Y_0jv@$ot;N``*a=-pJ3q=Y!I{r|Fs^HIuFcWyB_0 zq|G$x2sUKs-k^+&Hdlbj*jdOd7}}amDB&kdG2Y9Ge8G~F!?mJ(&0^Vm77`%gf9*Rv z(BW&`GvSQwTW9vRHv1Iwi)`yPx}Mn)Z6qaUoFO&^(PDae?vUeIxS6dZl6opKbVeYA zdp0b%TAFYKkK=6}je|j*=Jun<`W_SvoByp|^{@D!`qO6~&*}+8gZs@P>7H=)v2Wso zJO8}d`RBWUPbh|i_@Ue8vO%74pdq3mGO~-wUO7DBN{S;3YMH&bFQC?=n=8%P7y4H6 z=1GgUePs7V({a!G+NYwSi?v(#4UcnGuK+pz?!WpL%3jLTZMi2pZFSmZu|qCa#Bp^b zoCktTaY!%mlj+_9bT7nJW4u4~Q@W8yW)Oj2aZj;yZ7BKT4!PGCEQcFQq$UUF{RKHD}2Qv$3y0s3S6 zjIsByi*BVCU&?#*4MB}IP*#joHldxzw%v5Y8`MC(>KfX{)x+c#lrxl%XWaeQmw91N zq+-Jty;RE52|aPL$WAtA7e@ZgK&*G^*rybV8NwN0RqV9cRGr&K;Pi}dj8NLAyqa=I4$uHp4Ou#3WHGX z!{$1zsicq!0nX!#h+9X3320}9Q>3j#9vZ7r-_Y0@vM|BmWn(%#fp!|J=gEUspt??; z3*qAY^|y+?beJyV6FOVreZglg9SGM3VKq$@>QKu$w4ca6Z#ZotX?~C1;7>xP{I=aY zpKT{V$lf@}O!pIdpg|8rr!l59fir6{XfK1Z7v1A-J@)0?%G;m5dV+lbXQ2lk>N!Id ztT~x>7LVbhqKBb!A6fC(Q;6Gl1k<5c zKmH_M+-KK3_MLn1c+hT+2j4-_s%%CWf_4$^1O3Z9I8vi<+Oatsyf0_(^oC!wMYCnL zW^Zi~Lf8zV_^=()r~0fsdk&1>1nF+s(TKYU|JiIh7s4f$#-UuxZc9`5i4>vPOY?&E zu1-r)(;#R1sP~*xf_9glypQQ>d-|D$0d;Zj zJJCN|bB0OkAyCk)A#m)3%KxH74@B26~mYXm?19@HjT$P?f7jJAF9$-G75( z=#rV&Y?>s_y`Q;aNt=k$W7`!C=(@Rw3ZSgUV`jYN+1Yw}Dupe{^bVel! zvpNunOG_~fBlJ2zP^D;jHi*T@vw z7>%PRqgQQ@u(o93@)LQ%SsTC*py-Imj65{ZfPaLqIf#giU>An0BC1Grx98vZe751^jenf+t|D9H zw|7CK>8kpQt$o8LtBUNkbLGm6!yC`5YPF*dYBJoGwgl=Nq`9p`bvvs5)90_By~@w? z*AH|RcV4y+Lq_-rN*_PwO3cTK?z#6&)sJDs>yatMeetrl%>gY|qFpSpjhVKFHB5L*|^*(=S^`0bk(n8bY8u~7JT;3x+u4|le4y-LdN|t zqk7X-zPBRnM<$Saq^joBS~gjyR<{wTWiNd36ZC0Jh!3iP>Zpc5K9tlKx+8Aed`PxY*KSkL_JRp_+n`a6i~x#15T;ci}@l` zU9cZ8r4Bs9mN86l3M^I9j*jLn{o!L~Ki^_|@4Rx41H$PR5dJ$CKXA8BNMra&Qf!2( zJiA45;TXQ80$^P4)IGdP9P)RWcIG)}Q`@KtE`jPB)|35o)@-C01*s0(%T7J(vV?S9 zxvk(ZK>KtLX{?|9mzOO>qDh3)duPL}ba`0W_5sMP?}R)ZP6JLZiz?u5bAswD#ceRU zfp0r{^An=LyyBEzgr4*E>cV|NfkJ&wU{cq1<*5qt>Jb0zzxw3eXHE;m&Xo*}QP;5v zuoGZ}=U#F2&>`~CRn`eo?F&dOUbqT}Q(nRpZl?gDQa_lhshDk8pOD*w^GYeJ%~Vi` ziNUEY8IWu7&f6iTk9~mQp+U@DSMNarbqz3lFM)dV&rj-vCw0P;I^iFII^o_-oF_!j zyGQiAdvR{h*}3+j(MPS3zG&tU#E-gB&~u%0P%SZL)`m8jchqw z9%D)$1kNmpd5R7uO5bGY<`KXo;UzGckUcxKxeXH91|2mzE3ij_x9a8<$IJ4;;PM}T zTT*}i;`LV<4{+!AUc3ikH-F0Q`!LU+eESO@U(a!pLr37l)u*4R9LgB#+-rw||59hd zI&RH*U2BE-y}8bTs@Ym;shH-|W}yc$Rl$dCp*yvv>PDf$W4BmIrj2;y(h9E=dE4b? zYG}%PDY{!d zlpDggnX?@(4P9wS3Rl@2#IYY~=6wC~*;lWgfBF3D=YRV^2z&3!XZ!@zXr)ZaQTPG1_p`6&1%38kBZF_gM}yoOr9=pvyW&Po8j$ioQ&((caxWWXRyF-uw7uAj`q4AcMD6&x@p}u5a z^RU%&+1xfa*F;A;d!t}jYTL1O8OY_r2i#8cg0rF%rm{y|SF&hvnayU<3U`@JO6SZgUT+f;3zwXw(_ugk?TXSmaD}Y} zV{#p6=V37rr%!a;rAxOpyRX~Le;Tm@WRVF$T=`UmherDcs;4&Wymy zjB;Bsz4OXFDmj@ql9S(grt#hHIQEG){l%;r9uu>gBSNHl4Q*SKU_hL_`DB9MIY*Z~ zGE*_`-3~cy^ol}&%vyWp!jdAy(FUrQ_NK!l*QVeC-%Fq@SbX@{ZDnWAV+bZMpqRCqRxX^`L$vquRnYyi{|LXK^=yGZph*>!a{^vfG)uy)Ft?| zR=Ec58yL{Fv|GXEPoBSi_J}pvy%+7rdc3tw1V((13!}3Yl-J%yKLEpZjf9DMRpW)) z%g!Z^`OMh9;A(QZjxdGDRSsfpieY+2O>s3-BBFrBP_tp0XSL+M={6T;A-i!FiNvAiaFZxbQU+&$EdFl;4 z*{wWHIsO|@IX)42e&2{Z_nw~l(G2rEQZL=8b@;ZHzAW53dc{_u0djoq8qGS3Qs;AY z0-Z7gZJafGrtZ}xAav*L6f!X+S-TUORf!-zkv((%qccp zbLEnNui_bfVgSwtp)XauOOgksG0)2KM8By4N^~sK&pJxO=P0v&RwYgIsuK;q_BrXc zoi}0rIAbwYG?-J%MRz8Li!vFp~6r3l;hUiwE zXPA(Ondo7fLR9SGTS2MXJ%fcuB_DyKD5)X)+pJV-84I+bSUmd))~Q9!E5=Od(Q7;T zs7<|lvVdZ>;paJS^~!xKS+*wKyBXs@L!lT}NCdhNDS-Tm+p=dLEyh_5ReL#+oU)*$ z+=I@DtGGtP%=R_bV6lNon$Yc7U^FolY3eutvqO)y_ie%XXQ;#c(q4VnZh4Dr^4^R1 z!TeC~Eoytx*u7(o-Fv{qjcq}>JSE*u)&|4;nzcn48!&^D4gF^GJ$TQv@-%SPDyMBG z8d&n}s8S5vd5#yTf^<=<_o*^8tr`tH5g?!(X@K7uUyDQSP_N&CGA(Vphw-Yw^;?LBa% z@;r@jPL6?RNm-7ca~00ded3(H0|M7Q7M`!|wx)|tdDDg1r6^x^&Dlh_gDHVhv(9cq z7JO?K(5AA2kXefai8lW1e|R6-BJ@@ve@@6&G%aQira{BNymcWnJ2n^6`K1cL0UQ|i zga|D+;PSrrX-?7&RS>CTW7Cngm4LA=j*(OZ?FdBI*@xM1v1NMObsRLkD`gnuv{iNh zw5>`=dwnj4l2dz|4yl6Vq$5XGi?9b5)V~ITu{FcJ)qD2$4@?j`1VH~Zf^`J z&JjE+#5@K@G6EJC0IEkTc0jYhIYLpQA4Bg%YQ|P;n_0%JMCd1;z&>P3Mstb{DXFK` z-mYD#7E;LFS)r@MG_9`({R;ZDKaI5f?jtRG&31@%cSq$=8o{RiD2G)JsL}iBu^>-B zrhT^4S97hY4OOn71TZ?>Lfl81p9auO^|I!IMiW>A4z>8~tEr!KttAtAna>9W?(f2% zdo$*KM98~GzE!K@xzPd{r$GleuqiclT4zY9Vo;WJ+qf%j^IEw}JCSBz)I4{|glTTM zT&k99YUa$gXrI9xP;}2(x?|`zg4>OC!z(5|w=b2yeW_XGJj(V8UuVOL&zf%I72RUs z(jCOuZ?IQjRSYbU!-bI3og3(AP}o!k>-J&NwZR*Bd27Ygfj~;u<`F*U!gz+CF`D$z zT|WDtKKc0{zH>ssIumo*OWo}k5KZ3*Vo6K;+yfM7g|OmtTDMrM6h>sHZih zDb+$Dw2ankABU1JT_w$#3JU(?5;cnzzd3jFMx{qWb$9fp6gA^kD_iRp;VU^rb{qU4 z_j>&{RNlSU?a?A1-4ywLAL`t{fJW!01i4OwZcBzFSQ?| zgJ&A2O__ic&69K7>S_M`4TbD`^4G6lJ^%8-xaytP@R7kP`IPAggH_ir{P=4hPx{v< zHp)j-NcvcLp`-6DI(^RcxgqX_O)8{4G_uy-!+RbaJt8CmFZrM|FpVVW8*0DU4Pz_! zXg?k`p>`BG+*9@-wK<5^H}?3 zRYl{;ZW!cIiX%%{DWb0>vH;-1S==Z5#n1pEgo1R?S)RCgx>q}E?lI=@tRX|7c^-() zfq4@kgiFeN8)klY>NTZCHAx9s>-Oh4Ka3f&F65EOk00GZtb`J(~}&WRY&e(h_CaXr0@wqk{I&YZx%c82Tu*qd^$88d|$S3txiuU_R#4@XVlT+N3p-Y8{H z!c9CkpVRTDeeEP3tJ`GL!i?#3#HFX^(8=ESX)3;|IDT6y{G;z)YWq~5lCj_0WDG-> zd(j&Q3&1jLgpzeT03{<*Z>^&aj7jnli#Dg6lD@`nEgT~4q@{kkb6{Arb8(K7l`w4O zTxU6zqJ~a~>xlPWC|a&;ppx8vuJ?YNn-}|+-|B*|`}Nu1z0^nRDCg)|Ib?OTS`N&J zgEj!JDJX@tmEwmZk6UjN;l&|ybUdkF8x2t$@+8Ds)}VsWVVeRTw?MyGYuvF<95>Kj zNVwYUwZb3VwQmr>fBepe>1`)~NjbC%$C8fag5lcc?1Q5Esht3|0;id)HpUV9;VIe= zi9*e9CwL}syD(PcHb;#Jqux0Bs#!i)`s70+@H>FLDjG1it)P$EQ2KV7{?1GHXpLQN zYV7hPq}oyX?c*EwaAlG+%{;uiSw&)$TppW5r!&p&^0dr94U?H*iG{Zsw{^5xAxKNW(X z3c*i>;NSNFo{yk5_f#r;Z>7R}S8<+-O7E$tbZ>p;lU(#Y$VHi)Y$^BM*tPm2IT1WF`#{5a4L zbvk2CpSSVSy&vcHrGERV{;T}WV=r|#ngD=@Qm*RftfsT48tbr-)_1x{>3jITUK&L^PO-*Ln^hA1KyADf z#S6&O#JuGw0=)TT#ZJ5RDj54vtvwF=#F%}j4MOW&)p?8!wd<9%`r2KFP#?X*=b=6O z-XpGYuwqB98oq(5NO*zaXD}Fw!!iJ9L0;q$vu`$W-0>AXNHSajeT_CD68$f z$Bt_{S*Dbs*0>v({w$Mp&Y5duS2K~(H{Fg?<3`>t!1**Cm@S>mr|Aa7)Vxk_hN^{} z#w6bS;A`H*=qEx?z`KcAQ5Pj$3wEy0Cx*sPkZy+{}R*CYe!hlK%jsrFc>0-`N zA`74PQ7`Q$Y_5uf5gprot}Wm&L{Ij)#9(%Q3#57$`yN}*S+yV3gg*J6 zIm)vy^2O(0|MEfq=FSWF=nXM%ZiuJ;&0YI9+-oq>$V1+JRi^l&;gxfpd0N|sZqDeg zDGueM7^wTk3qs{+t8H`cb2$8E7UMpdM|_E^L?ap2CZ7hK!l1=PksWqD8*Ge6q)Kmm zrvRUIz|u!p9J-+It!>WHm(pTuSrBxMNqo537r8ao#p$PF}kFbih=CyMfho_)4vSnOdjPX@;YaY=_!8nVg>Lx0C+&ew>>Z`&VDR zeEs^lf05sRz0dGlkEIIcEBB7FJ$&{_@bZh|1ybj1u(W7n4UMf~vjOS7#~QVjcEh+L z;J22&?SjKz6b1%on9n}O1!D%qAm-GnTzYIY!^iHNYaQVSJ%{faNmALIclF9Xs`scN zJb2(M*=1+7P?r^RMQVgD?%EgeOjKzFasp}A&Xg@ym(1Gwhiyy!%WSh8wT zb_m&S+nyJu>#J{G|MHoA_0<;-JOJ;#dLIl_aqnvMQ*r#=7su~R+_{ZK?)*46uk;U| zzkXW~!pSiY#?y25A_$>d@;RaqS!A9nHfeKdp=74>cn~jynQSGneP{(y{lP4VuUU{{ z?Q{4z<`qjz^<+IV1SV&w^BRyDOz10?4=D$;Tn_If zZ=+U3Y1f*2SL`0O*x|a4BmOp4{prhJy?E1Kzcr4#^Rhj9CGgFa!0+HnxVPy2NrV4h zH2C+HvOFnk-nFvkBM7U1WKsSj1tolGt6}ufd26~896;9@Jr~;UO&V2Ux(_L*?m+!f zY0NHE-Ga%$4PI+4HupZ-obbXv8JMW%P0qL~46VGho+HVbS9zOE`JwPd+O7&JCbP36 zkWt&kS;yNEDCs%HNob-33S@pc+R8qf&$Z3Yk}-DeMKpOC&R>J}-Y_XzGcYq+B+MN) zS#tw@y=z~@d3lgq;M+1L5{0kZkttM|dA zQum%E_%V+*e5@mt_fDywGW>V%6Cu3m#Kk(Zp{MUU2Ak<2duHX_Dm{j-wS#Q*9D|KU zUOkZAna_qjVa|Eb+lV2$7Fw=^3K{@n~nx-Kd0kY+AA!&xX>vsMx5r{LJD!Hj1vc=ajSi9LLamzST9s zbCBd1p@T29r6?HOcv#nQJDZltF@+Z$_)a@oouO-w;aigCLjJcWd=pL`r|pM(g|@jz zTN4|h0(8T5&5g9ZCY%yIwEJ(J;s55RuU>xf#es*&w}2~juAjg7{MoTrzk2@SnZ5dQ z^ap+ocV5fyU;cmc+fwkeSMe!-Pw?N(RXNdg6LG9Pl}C&kR1Y%JK$&uT?}-oqy!yt1mVZ=(@qx`bYH1hM*wm#r zTLFp(oi=i~S0BE%=~cw)JZ3|TyQ9VG)p|wmDbtrK37~GV+tvjioj}g;wq5$k%`W}* z!##TMmHYsE^v`bh=&wJ(4s8RoYI`Uzgcu_b@So0^ZH{KNlX2DC;@QqT6=OG#(V91y zu;38d?#5^;62PjszK~$X2-qf}wk@++>zM8kQf4iWu7uFz!9{CI(V}@0k+yEN<}M={ zbYvY{bow|9_u<}_qi~{iNywE26rawhV9Yh9vdKys5IYD@BpPe&Ts2ldlzR^(U(1Ar zKs{RUP-}17p@06}4z(BO)ywDSEeGkH7xM#b(x1J2{flqc;Der|4B376Ai(c)JLac{ zHpq3{0;bZfjX?ek>ssm3_om2Q`-m*SC1V2-X?<r<`y$9?V zck@x)sOW4O9o;vha@pNhUv8UP0)fV&=`e8HaT}A$gcGvHq9pU_-A`XY1}xO_#M!ou zf`%%Cy7i56W3C2c+32TxlXEo{%nr^VN8Nte|Mg~_nkUvWXp!> z^~D%gIJr0X#bzFArh|gWXR~8#l;B$KJeD;L!gS7F%`v&{V;hc<@_h!Ks`8m|`GXvE zuC)#0VvYM5TQJ(a=h=L#4iDOZ^7tOHt*S}~HY^5($n@;qvW0cBW>he07NrpAsnA^- z^Pv8O`sB_lj^&ep(k(D_C=nV~Njr;aOS}3MO%B4zrkiWdx9!xw_~B0d>Z=$Xd-b8S z^L>}|1MJfO_-2=0Yw_3r;;+AW?(vJy@z?jhX{&%!ZgX;z!i<%K!^Ne?Dpc49c@?}Z z6S{>gBDl8MrkMgeMDMLPR+s>7-Dd+upqZ*Lk|(n^g^!zCp@4o4luL;u10fgbZRs|B zuWo3xLJgfHL3RLms5xVH#uz};wWvjp3Bjh<@`4SJHFX&?$gSLk2?`R)W+zl7rB7)a znN{*>Meqa9JgvN}P&eGN7ylb>+ShHCBY}#urKJ2EA;mNsS$*O%~UKHvX zymXzgrD#6KaXogB!DOST#*I`XfuX3RP$)@*+1r4Qrg1Pv2wa=S2o%SUu=X^Y@V~6X zg)RYRE$McS7hSs5^cdQG+q<;I4Z2Xu6)454Uul=KAQYA3XDsd93|4q~BKDbbO!m}G zpl)^~Ytd?_u7U{%b|ES+`XL`>w3YN6F;3J#4I047FjetS(1fd1%Y?51oA;`gH72Tw@)4Z8q-SYnMe)0d>~Lt8FJ`8Dc}k&0dU z*5c~F|J|m2`BlF7rM>#{<%{1uUKqIdf_{Kq`&Tbt|KfY=@Ii|M;0nN0FNAZYO>WeJ zCvz(0$(D5pd4SIb2($-gYB2ER(lvRUIo5!Ym3WWGv<_9FD_4gLB-W;;Oemt1H_hNp4z4{;BoUp(C z;GrxEduZ&lFX64?#>a-8HNBx*8XHv@_iMJSN!Ced?l+I^fC>~^^O1IDk z1^vKyn+qkz-WJ4G-jI_=$1MB^S+^Z)m!a)cNJ<0-{K~^z#sSP@du+18i0)n#dX9~S zQK^$V_SD|^@R1-w>TFfp7tJo2JCcN}WF@R0&S2`M7^ceXDl?jz!?5vf8}?@pH|%3E z!M#`W1MJxU@a;SHgG2*PJ9 zq0<7JweA=%J;~GBnB6X)Y~qt~rrXHYn+{$lnvvA-k^O-iiL42Nh+?q1B9~18x(yKD zozskFoMcFp7K}V(!g4#b=N=s#kvgJ1BI55?~r@_Ad3Akrz{4@O?h~BDt5Ro5sw*X=IJNcyVpS#3E)50 zDefdYx$UzsdSRH{I2IW&GDr{~bF3~XNS-|uf;o)H)rO8g_fDwb=9G@&x86=R`qf!v zf<^1>#k$X!G^tNoD_2KzG7W8@N#~eOO@h%MNH|S%ZIBXTBAKCnI!jpL-rtxVFyoxD z3UnO<^xCLJaf(J3jo40qZ_nUY_WH{v_@C#u8}{By`2jZUA7YojS%QbM!44Wr;iu10 zxe5LeFPAyTzWh4ig3YJmb{dxe*Iio7JL^xiwbip~EK{>!h=RcBLg7 zLwgVm>+V^Mw-=DpEJrUr8i9#DwYt#FH!WD4PHr39AptaXUC#g*p4zvT1%g{QU zvl}#*Xr!b`4DU8FxQ)rdb5u4qKigyWF45utnSJGi0ZLQpQ*Zm=_g>@g&Wb;HVP8Fe z_UiR_wk-HQp1u0!#n;aWF*YEdz}^#zpdRD(1(TT?UF0lK@ZE{@@SQ^8b}VVpXj@O?oJ2*&WxBhA z)HgbU?n>=z$bcMsXgBYp#)63`yhsZe3HU}eQc;XR_3Ughr_2bVu~45Zv*xfJ?6HN= z`rD7aQ`v1e&DnPVS7kB#oV_V$-!qmc%0jlPWe@9d@v%D9XgI)8$ZU+ktHYzi5THY- zE!10}*SRnWLgLXEd7}!ZYJJ<;rBkQK1GeYAALqMw`cFaF`0Y*e<^})DfBBYgHEDL9 z0%|<|+V);3JCLXos2bE0%6MPHP8*~$QD(wV3WDz#FqMR18R*4+PPf)14)}pet>Ew4 z#5MLFs1Ns65@Ug{GtX9q;P%aX{U`s)n-K)wGvz=zJqTi*-UeZEZr0kg`cQ*Co+4%K zXR}H!K1QT{9keEfOo~})VY@@$ku7=8AtAPyo3z#vF^@N!NT{I@1r1BRfB&ui{HOnraPn{d>_5AH*8lYT`}XDE z{Pg8lh$8HZ|NLM7lfU`d%^&%89e((ye*W+Nuz!f}PYGq%2`hpYa_pS5r|Z%ILQ!(_ z>SwGm4p?CWA8*Z*H1;eW)>~|kE@Z8_{8ef7mRpFe-`&DYPrcrey}?=9D8RlQs}#3sUnJ?rWdr|qayE4g4>iEY#1O%Y=ppBJ-tZVFH6M^SsBdd~3IOWZ z65w9>;N5M4dc=9*hB!#OO1}+5pog5QlNJ)1l1z)DYIShB!=@C~Gixvdx3$Gnb_=R@ zG}pq8Y`R@BbYUn_%ZV!3L1?>THW+u;Wh4$iRJ?KoE?2<0b@N-b7r!l7|LXaRCT|MX zum3h~cjUcS^8=~cu0{BO`b%DV%H2x07G`UO0wvWEX>)t46Kf#5?eoH|9PdK3M9yho zY^9&WLvxHVd{KcgwqyBKs}&baI4+&bi6P=D*rftDi9Xq)wA-^%(@U==9-4k9+L=~x zjj2ona4e4komG<;>#9Z$Z0 z!y`<3_}{O!c(X~r)ml8VP4B&)A4n+t{cZYz#O#P$vn%dL8BGVq=k^gzxXv_GY1%A^ z0YDM0-VGQG!Q{X^UI4_w56KQ7(r~vB8(`dJSh}#&fZ+Amf#_f`3%59Q=8l#aNWDz} zGOTG^qJt8%5#2*d<(xAVBm+jU6**@}(Vm&j3Y56f66elp)2$?;;AD0NVQOY(wXMy@ z6d!x!wiQ~FhmkLpnzbf~x2m_Giof_iY0rQ2bv}Dp^*SHStlxVTKN!OuY9??DX`Kf6 znuRiaxRpmub}#PPfnMr+c92`gSmdOf2T^T-5P&L#g+Q-&CTJ4eV&n+mg8+M4HN1d0 z9dR(Yzxk+mLlNqByWIP6Znn$M>~HP)7j}bad~Dbm=x7MRWftOAKwNud0k;SfDu<^i zBbAuVG>6b2X_;Z&_4F~d0C*oct+s~FGpg#it=3>5ez~jbX!{uaVkTEgts!pFbwxcg zzy1c-dvE0NkC?#xu{vnpo4|Z4u)p);+|IAp%U93R;+K!S(X|1*L-{mkfUuLB!F_dK z*$&R=)`ZWHIABg;Xf@C34IqhFv0?MDm^Cq=#9Nt%tX4YGW^=Xe-9S+3mya;*W1EQv zoFZCoZ$Esa^lAInKl9%B=pQG|TK84`-3I5NK?!h##5Tq#hR7K!mJ$tsE=o_InviSE z2?A2FWXOS!#-u=C*yd`pjJuu-hnvo;_k>w;@2rdP22ak~dTNQZhctq3`4VoefWs!3 zk&zQO?dMpvOXln~`#M}}GiWz%I%i9GGxHG85jI^9sAo3T9HcZkV495+L>DS5 zC?5|TzHo@rUb1%Pkpeg@)|t^$?08xVhR#MCoDgKi238PXK2iv+4kHM&20&uM^1=9R zuk_wT@E<#%d@+<5#VcLFb3VO0|;&@P1 z6Dr{lYI?kNvop5cB5Y|i*e#)`+YAoWuvPIhTXvh&#@@GLT6yYCnityS0^~ulw@SRgf1^{uPm=2Ss7&X`6z^IN)jXt?C z&3UqeAUl^&C>E1*t_}mfX4D0`<>A@o&}M*XJDt9D79Vt-yEGZJqR-F%Z_ER% z(40a(@T17Fh#j^L{`;3j?&gGTMbIW>T76`@l(cQHzy$M{wg8Xl1$o`nl&upq6b!RU zG*_hs*a33kqw>qBdDf~r0;1kh^uzkbiXIrDH`4|-q>Y9B23F{-J!yfF;I(Bn5Wz$@ zAHL*b$Qs(D4lJ6k(;x-&o(ua59c~BxAt+D54|Ia57;Jst)k-;v7!8D682Q~N; zIJdEFWNA)Bogw&g0#4LgxZ1@Az8{w>Z1iiAcARisg@lyQ^R#PXswp=()(u}F47p-Ian^t`lNJ#|CZXKX ztOK!r0C0{oKak-}=V9H=F$l75~mr@%MI5dNOl*_hwG-e!epSQC&2ljt$>9FfnrIZezfo72%QZ z#??=YkP=-E(BMLRU1mb2wR2=H9+-|e)eUO4QX%d;XE&I-9oLZ?KEHjr3`YQYeB91= z3cPaWoNGEz6l=HDVuGzU$$N4{7qDVu?PaISvLM@wmtc$Z65A`yR<~V&S&cZkl~+$y zVLOaF1U1d~@Bu3sbmz->*;C z{X4$yADxl?oemMh7M|&G1fH0~nJL93cyI6xMdt9X)!BCQK2TDpHbrEC>0NsAsD+1| zi4lhGs1=3r)Zv|LZiP`;g{Dnzv0`HysmpaA$fpt_o(fu|<4hy3*4e zc>ImIJYTElR-Y%lgS8N&^;KGnr)goX{ES#jrpy%fTDpfj^qR2yZSH=k?S70QQP;9| zD>1Owzj+bQ>YEqwSl)2&#rrUZ!|z@!j);KAHC6{dzS(s`NqzPy8Ld{e7I>vA;Hbf; zomAUHR&Q)$>^)pyEQ;y^#P@-!1!GS4!0b;4iu}Egk_kC$JNwE)mrT}^blX*0BagEh z{!?pg-ro=boA8llbSpI)s9s0Kd$`qlF_{9_YpIy^xP?z;&|$ z*OOS_o?-#+HMq;{hp-bW6Kss(l|Y=I24+QHz)otSXobNn-oS@0r!4_YfjRd%y!dj| zn_cFCqoS)sBN^5vMhwGk(Bh)V4k^uUP9krUh}X$pviAX-Uuuto0P?KGZH$uxg_gc( z`Opp_&uTO&Wn4{|6o0GXxyfi$AtC*;JCYKBk9ug}otIN7CpanQNk9IlUPMeyR@*)o!n3M}ra6x_Cr zBa2C^g^~s4q(DY!WNj^Vp{g{^m~H8UeX`FAN8H%BJKjB*ADzlk!;+S5&ZNSTfAwJ| z4CI0Qy#9Y3eXF6`1GZo=lhw7dHwvZ`6PWzgWM!_2(XP|HjNyvL3>Q9$2dDa<{_2;{ zxIVc4@4J5AzyAO5yF^yL7l8ic+h2GZ7<(ERdm0$~N2Uh7ce&?BU3~&lddv|# zD#SeC0TUt07r8YW*f9fUoW~P?13a4*piWz@ZDzSTs=F3Q5rZ;QK)9y3XsS>g?d=K! z%ykybk6A&Kt-e4VdiYNJN1^cj?Ei&4!))%(YjTc&fznzm3lB1S2GuZ*i5C3f4qSZg zu}CZitPpo&7%p|VK&<4&rvR8hXTLA6H^?@NRUzJ|6+CL{WW()z+!vmivMI=(x6Wzz zew^FG0{xM<=@@GxbOBo|HBZnA_gDYc%UDN}bQqnTR@rYwDUkQ}=>XA)J4= zQ^-VwncHlU_PN?PBu)qTFagY}RjM}HHdc4|usz&Z{3JB~y%QR*gM75_hPo13dA!p~ zo9P}ghxk~j?NA|Hki%5VRF3uRi+x0AJ0rk|p1x2D4O%oo&npC;TVzZg-r{W7rLBT$ zY-kZyq4w=v`ugRYGT+zs`D2+q7@*l?L2hXya5clu!zL?HU#ktOfmVZt z^aK4$UxAyS)&bN+yrAV8MLNKMm|CkBtVk2mu--c4|6_GU*kX42(43LnI_1)bpQ-%o zfBNo6#{3+xh(dHS2IAJ9&VA1@iQ1Zm1Fjb>YEabhX6)G^1VOiqe!c>zD%wAfQH`TNz%{0O8%Ps*itu3WnJILeQGVx1fV;Se~d!s#U_ha4VG zK$f9~(k>bFbXe7mlo?LFR-moz)EN!RXz+;xmMpe`eQq87XVp2x#%Q!mqgAa7Up-a8 ztewHvx$RvPRLN;fQ z-Zix+^<2aQG~-q34%bPzl2I>dd!x_V9Sl0uUvyv+LOP}@vQ6mIn9Q@GjF(F0@Yz{o zCq94Ib4_D((5vh6F41;dK=>*0llsCwzuj*4UbY9@t>0|7{&8-%0z2Lt=+kU%l3LW5 zY(y@5Y}C|4mLyW|Gf{4V+XYb8C@<_?V2Wq7<+b-XNZNp#z-6yij=9sh_aMJOzEusz zp`=Vm;yG?n+MR&T?u9`jvgLb@Se%#%&v}3wxg2W9V~i=vA(_H7{h$@RD|DJ(`))-} z;~fgSXQhouaccpDJTXnRqL3!DG+uq7;|w0`?XBqcg}sP8&%U&;;{g!k-i!C>rt3GG z?ssM)zWYsQ*TRpkyGcQ!=G$Erl#_w+QqWj!7HPmCbWkH4>mjgnDikOOOdUd^59tuE zakb@f;%aUN6hwyLgsK3)UwgLP!05Lw=I!>1{c&x&doSLj7pvS{tn%?~y2WE3Zli=J zOKV#ibrLxRP0$uo2gkl^jI*cg=G+S9mD5~@&lUiYH(`fRrKk_|ClQK|g!NaY;~glk z%4O`EZ6lvjrSbo>_pUvECdZi{Hn3%_go~g8FE5$WC__1mh<_1&Nm9Ko78Cdf1a_j5IKJ;7#I+S568osefQmms_Xh)faTmw zx}8%%xmbWIRqxAYXAuO6mBIrs$Jr9h-4=qsSlVp8K@`J`5~xmOmm>*7iL~_tXg|Wv z15ylbG|#bhWWlmfu&4GVG>(wu=G!aXpT?_K5c9lv{^n-)pr3!|(R(oK81?yY%(^$f z{^({M6qpsWBQe`|4QjRl#ac`I5DM`aVCbS}#j7>bT$>SLBZpVEIo3Yj(WU3T;b54{ z`q-nkw0WkN3pGlbnLty(qHb6P`c`@=yoLc1!5)RQeQ`p=jJHL&{ELA{te)Il*DRi-W{t?lKWTZgQUblSedBUWQ8bVYBKi^8KdNV~KY z37W!4hzU9finYOQ7x8hn(ZDquxO+nOd*-l4n+a0qsxEu*i9lL6yx#)h-$;b19Ds#9 zrw=bpB*hv>4_V^7gl%U2J`6!#vuM|V}b*;PNns0yj!Q7G%3nFl5Mv&TGp z?13+=#zJy@yG}iav$vEyI47?R-8n2(7yGom+c-8xAA9DEID*DeTfy2>_-wv#QB()2 zFNjsrT0X!LRI!XRdIeHY$|esv-Fokfg7Z)ehP3G%awOJll!~Rf*Ieke_33G?D>x!P zy7tr-!443)8x@Lku;Z;omVrK%OfF zT`g@euwa7dUF8~^YBdN*IRU^7IQyiRP(O2yM9~5?3d^ZOP#t0#Of@D`)*82>xqCm( zZ=E-9vz;E%&?6A4^WxdP+8HNN>eTh<`UE-owk}tU4^03LZI^ z1eBju3cbgKz;9Y?t$hp{%dP1-C+dPcRdd`(tlmtIH$v+u_F6139T9^jg)U%&p~Z1Q z0rWB4+D?M%TZk2jaI>bi=x2C4*<)5e(GuCcYl=2%iwz=GPeT%xl0s*``yNU=lruaU zQ+xU!fAX_Gc<;60I}i5n>8!mi4c~jpen-pP2iR>RsK-_y;#93!oG3(D@2PW;%RIr- z4V;(7op;daLM=~6GHCO%Zp((%>_XWDLT`oOk_FCjl1oj=x!Q2pOAbvH(ps{RE_Q2) zoNIS24Uz$c!Pa53(6VvbQ^E9N8RRP1eCDwx4VTkXl3Izh?JTVwD$~}2&L!M0de_;q z#~P?&;ANf-7ux}ca*tSne#NlgI{*IB_4`l0i0ARyLxsY12vhET6o2eJzyAXbg1=mwlOdK=R@>*Q>-FQxtjA@h`i3KLpDk;2(4@QzQlUpz zt*NIwPdZX#w&Y{l%{KsPTa4o%fqQCcDR8M`+ZN-EIl`)LwXLYvK;bBR@o8*FiWbqL ziiWVh)**DXwy77y2QWLAR_v{8tyN3G7+1Yfw{$0`rYN-{S{Tf)%?&aJ)3w(|9wrf6 z3h_|A1$F!zpFjKT=dYhXd;VFzdi7+-%fEZ}{7r(}gYxK|$MF%nQ|C|LwL4uu_?L}r z``2E)`s+7;@$WRVZ2_G=%3Guf@Y6cjin3voB`feCq6M zoqRSMPLQ?LS_2UUq@z<&pM6hJ=DNB+%^EeS8I)W6LBcO=s_bs3Z#YZVA?FknYfQ;#(HwJ^Dg#F$CYTg1xactHUijnLz?sZ7@llK9RXvAbT`5^s>jua+_`&+ zMS$p#FBX>|lrN%nR#(CIjT_$8o^y zFsSFC6t+nBhPG9Z0)hDFiTH+t%5!K|+Od<; z=Vr=|s1#k`cY~+m*n-CHblWF&NGUpilvpRzR~zJq5S+UgXpta^_YR*aPfiW=*LUmX z$X5qkY0nOVAxH>#2J@9ehSA1esWDixQBD#-$yaZ&SApi97xv7HLc{?xf zJ(M48UjADT=cUR|{_UT9{%qx6e}@14@JlF|l~xV=MWw?};nw=m@&cuDPQbdNElL`3 z5^>?g)|3ckONaS0VB+0pZ?7R|A-d~ak}vqAMpN1=j1mBIKq3NK{6Ps1@U0C+lDfcZ zI_m7=lz_v?Sf)^&iM%iT`E(9b2TWb0wc3}C3G5!9gFkMzZPyH8bLE$PTEay7m(3wml_8vqKT z;Uj%o=MotNl*Aearvjm{c~CdCvQ(=9MBLofDS@wpH5ICfG#k?i{EpUugP;x&K1ZEi ztsT7$)Z*h&OFeuPg5x@mqZYi}Won|3j8GgFKE9?N&pIj~9a1P&*K8hh;6Ddf4?GB>=cO zivQ4kUu>MtVd=(ANj%r^c6w$_#VFh?iKehJklGp*==HxRtSWCQxSvYu_ zG_o(4=1vL1#(?jk))^5ZT}MZiMZ&PD&Mmr~eY;BUId`vq@)neRX^dT0U#%AV8SN5? zuEmq4F7w*Eb%ZqK(P~?0t&yWRJaysdxlH`v58lEWd+6HP7&WTYMty+8vWI5kG7OVH zR;s-glhD2;4gRxlJ%>IvN$)+DA8eBT}acltvErY!hJs__*lfcwYdM~Bj?axe#1w9JC7Y?Gw#!ETHm^)kN~g)A=$?a&Oe$Bd_ld@O2Z*eceO?TS~p#i&u zvg-(dZI3(Q+=mWftfpGtxpp^PxJg`EMEkpF|7Sq)kaGL5g zR=`KKThp~|Z93@tZ=ML`R)RgbyTx(@nvH6!1Iy4`rAy1F{|UHYJmlgkw3yh8tOhWK zC@aQM?oti(%|nQeP=$bK&%*!78Z?310SuLN&$ZYfm^tkX>^^EPwFS1rm_ERMC=sII zsv0z357*8AK*qv4nrxPvsSIC8{U#zIhyb~OeT}fYV!z3ZXAtCEq8#G z-aJZyPF2)$8{4`dRdHBQ#>gY-J2y=L{n4%%0OlY{D`jW;vhtB_`vhTW^6~A9Kt-{Y z?eXvLk6wQD{PnXh9(;oL9=z}H6TJ82zm0>r^W)qcAO7(5tIwaUM>I%oNX`ylbPOby zUCR=bySmiQ#pr@ zSm}v;9D+CbboIO;E%K*wp_bo!&PQk3`xqbdFoJ}}BZHN%C?2CR!fCZt)p+!@>SHj3 zJWf55#<0=n&RH>Sx6_dakQO;qK>Mq@!gH{9X+sDnyDbtZPf^wL+dffnQpV1H*w%y? zY2xeUUdaFl591zj~YXyKvvFH@Dzhj<@>anHC6+Z*5TD0 zW1r=6PTOs-N9g}bDn7^|L_&QUahL5%5EFW{SoMk$}a9l_y z89+*dPGN)lzLGC%Byy5GTT3{YW9b-H@RrHMrI5U+l1QX=(;m}nUpGFTU>?bkPAi(= zy#4e)`{X^&_@Dj=L-6FyEB(ix{?&T+{I7oVlb`)7Z%(y~+eB0R6nXbVu-O#WK|KRJ z-B_Ik*;F=N*+xV|D|4oZ$2qIfYB40B<(QL3Ll~(GA^}?SbLERInsQo44~gkC+LpY1 z%kkS&tx1ap*uE$()Nol0-*d1-9@$oJ$U{fwl{Gol2&T+29HDC&D0IN}rB* z?4$VgN9Qky+R!hs#M$@;a_u(=(Z(p(#c2vyPfHs{CI@k$Cl0{OXhZipE5=lbMZ+!7 zP00aGJnra(hVz1J6I`DbYb)y>OweoEZgbtr#B=W!5-7Gv?QK03xx)KOyV-Pf_lAv3 z5bz=3Mak^eW~T{TB`~)xOE%$w_O1<>8JhKg%o+ii)z_F^Y%erlmk5pY+GL=c-)_{O z{C4Wmy$A63)h1ty7h#dv;6BGXu__(KVqB*k@w!o!pdXBD+lp0V4`cR2b*im-0l>vY zl&q3{cb$|QhyrMjI0*F?1i#DzvSp*UvKj-XaXay@GoF`ZCT@KNjDbcDz%@vzE$Ys# z1H+CD6gZF`O(tz15}VN8TEm?#W^N>|@&vgZX*GlgnuMvW9uO?|W|Fpf4zY8p$!&q@ zPhb7KRy_agNxt~vi+H{tS?=ySdXLUJx|wzF<09ch7E})&vhv{KgzHRZbHrq&Y~N__ z0gIsrF$U;GTeJrMM5;7JwlQzlrUzJxVbF8s+HV}>U8CH`IQUxwq1aT#p!5|2edp(s!` zYq$XSo#H%(7&bLZ_%27yUUu z*%x@e;Lof!ZK1lQa>l?BnocgoK$hFlxng<}#qOxZR`g~H@VXoYvo@{gVH`zo=Keo_ z_0^YOzIgfi)srt@)~kB?i$ZEPX3gUuuzQc@?<;q%bY1x?&Mi9GbnksHjtLjio{eU# z<-9_`RiB_puhH9HYpX3jlZ96D+}+s#^OTrF_kbVfZ~^eZJabQr@GGYw_nBLd4JnryE6yzv5um|~tNN}@fG;nn79JysPIZtPUrH71b4NC;~HRL;^Zr9Bi2q@oPu zY~}~8t6rvL`?z(_c^vk#HCBvq=GUjrw??qHxRPD<<&*jkAGDtCJ$R3T!1x9P_7O6f zAh9si$P38d-YyylaYnBK^5`dB0^`!Hd?xsx0|Q= z9s<&lPLR_Z;s{74iur)nx1(;s-Q3odPzN=7_wKglZhbxdFFwG2uV*vtY26z1Xb9?( zPFE%uWSy(c4Z*Gzb1JUXfaQ`vtVA7g%^uUIN^Y_}NOlLCQpE+V+=-$$5OBL(;>@0i z05Rex$0u7M*u ze(fBqqvE=~EGLC$FZo-+UcSIT@+pNwxZCO42 zFRv6TUv*G4lU$m6!Dc)WqGCtS%px8TNkzzMC2Fm~XWVOYP4Lw?SN7>m&BqvpBhjh7 z=H`RDKWu|7MGG!usojv+H<)zS<~HNO#Jcn2+)S(=ys9sLQ7<2vRngaBBncII1k(|& zg49&6)ns@b3Fz7pKe+W2ol)j7P%2SLjiogt(Hk@-->KG(Mb4fvSAm^rgT|u9m+SJN zF3r&8cB?V)1$=W>>8Jg2{r~X2V~l7`jfvX?kaie15vc-%;8>K`@J1}iQB=DUmJ~|3 z3`8+n;PPx<1Ejoek+x2|+r_8BamJ{OrBrru5Sv`dq&i^11}uEBb7vodUn44v01~IMd8GD9Q1=ZpOMobS zn9p2}1x+H?ZDQp=tXD59zj_1`c<*t0z9E+ug7vSM%%EBa#~Y9O>K7<7xd7OW7})enz4+!23Pn5R(YX7 zW^~5c38qMeBjt4KQE=u%lF*u!21EoS{9^*AxjIoGLHg({Te<9Aa>Civ|A-(m_C z3F6_1mw?A$Su+pkOGYCbna~#jMkhi%yHEBsiIrG9?fBZ(R2!`W$-B3$qR0|xZ5EXn z(#;xYuz6%{0-mYPZca;_ZV#uKXAMXl=4|Dy$lE?^!!Lp0i-}aA1Qho8PK24d&N&V7 za|_B0cEqR#3H12fpvlA=gzC9~0}m>=d}l##H-T=B#dAy@+V^t5nIeCL!|3aJSgF7B zs6En{ly?e6Z+`vJ6^h16VHu7~0bL3mFk^F~&yPDl><366T?otTGjkwF5?w!pM9T(Y zsf4U&SCXYU76`F@v}k)~0>;zNnC?fy&PG~E&m!rKM({00xmju*g79&TJ)oR8Azr&v zcMxcZ2A$T1o_5k2f{1NVThnw6-lnv%AtV|}ge*!_dz`b=%;MhfF_-Q9rdiek!U#g6;ZvQ?E|Ic#VK zQDfYD{2nMB4NdTG$T5EK_6Hx`%ySz8N*HbN0rd=#jkPo<24kbR93!&%7KO{ZA5sMV z#paGSvmgTS2oAj~kDe}hHNo@%yf$#R!nM~DVpF5yK1Fz^gIXrzp~UqJ4@N5;E=ed6OMD8)l8#Cg3 zYPp(Hn86hGAPnfsub%%Z@se)q<98mmNBZIYMupKoMiqwSEQZA28dU7?KcOr}8?ep{ z#vQ#y3e=*_L3}bH=?BUO#F17Z$R;(cH-xJ2o+U#XDjA0q=aPQyVxveRp?fh03RFpA z(rr6Nvx$x7zFV|ueHEZvj!&MXR*sx;!gC*>AE{)8EeqsF8y>C8$R%dSQo{$=Y{IO> zweyUPbKh1F**vyOckFS8d30H|^xUd2{@`!xSHF0m;=c2cJ#r-+HxWSNcaH$Vx35EB z0qtvzW4%LIX)_SuS%y|q%7F5?F{6u`t;y*kj%yWYr$C+6+0@*$6tD_VoUKJqDC&uN zL=>-?w9gf7Sdl$Y&+j`YKmD&hKr5!i3R?daDCZ6no^wb+4$D~KhNV~ESt3Z@(>9`q z4=fCYpk*y#T_XT6$WwbT@+OXTZnJ>+soBz}Ze#!)k7$6}8d!x?wLtwbiu1k4?!m5(E&Lt-!rLEwbjxgPLcA1Y z+am~p*p4gzI5_FV0Ph7b)Psd@7j)yzAyElSsLKqw5`ICd@SRL<5xwuJJq^X|gf^TC z*(WoRt}U(iGdC8M$z$JEXEhei?`0FT6@*)57<_33YTALPhUWq3YH4RafUV*>f<-A9 zehA~;%dUJ$5O2Xv>KWdKoVarIjw5QC3EE%Z2$l?pwCuzh`7N{VQQz9VhwiaS=ij`; z{NU{me)k3U-iyKS)!Oukc}BB0x0J!Nai3##K1nzmC>!PCgKn;M4~UC=^`(rQRBS;L zsabW7dYci@f7IoYmDHZ_yH8P^v}cs^TMb9L13LWA@e^-I>PF6OqTkUeUkz=sjA|Z#NbF zkMO3jmnkYeGG?P}Bh9-Z2-Zg%!ZsHwK~9_S!mH!TH$;3YY#=yDlCQIPV+|OMvm+G% z@RHS7nuWC(Q26b9Or98PG0=P-}XLI_%8mm3>Rg zys8C?cKt>K->BAdwiQ?i_Q~ws&YRMfc1h=jd4d2m^J774$rXOaj1c*+9eqFj@rz&P zlP_PsfHmdsJv`le{JuHwe*AVHWBcam>5qQ>laFrh9Y?Lm>nPekEQ%eQKz34JE=yUC z7}Un25z@Ov;KHzrL5gM_EVC>kY_g?`sMvupbe(`0PJ-zIdRmNw|449mI#|?FbUf%@ z9)pq-_pw@gAKGMqf%St+-=y7pH&EkK0A^Z-q_Q*ime$ibyC6z2%(sM~ix?(yE&?F( z-sd_H-ta*@8X;z*>uv!SxI&b5TNL@h^LYN^*@MQzy$9{V!Kq_m`)1a~+aG*9)9ve_ z{FBS3cm4CH`8TiL+Vl_=SilD~X@_W_Tf1tHa+KNU#$q%*c`XSYxHZF=QQiO>E%fXP z_&fEv;}V==NE>PaLs8hIwhs=rHd^M$!B%O4!}E8{7&2x9TG7CJq*X$mJA6jHa0sx(1cY6O7P?5smD7&Nhgf zs&0v;+!9Ss?E%Qltt)T!V6YLvG&-yADoKdg33mH41%mH6gnPHj!vns%v-XsQJX?>^ z&bmscGLe|Q&nz+vF+_Ks;bUZoDj}#R5S=aBM{n94r40M}3i_>~GC#s^Jo)PNv(Fzc zdUqbm@3W@9&zgE)SyOClH|Sx;*<5nOCv+z>Bavv^R{={_)7xq%bgM9ds@5)Au&yp4 zY2v$PPl(7{ATPy`WItDHNx6{#1k<6zK|Awk7XwB^4&TDF@BKKx^##BC8?Rs1W3n*; zE_mfS9Hd2ln3WexG)1a$awi`^Fr1h;X|oJxU`zDByYQ*2b0kdSoHLxw{E zH&9TKrKY&R7?>#>03#=zGvf3rFqRSF)axABNX)9p;KmX1TsdMqICb3naen*P{AT%o z_=2?=$Poz{x4>}%{{*c7sRxEyZru-1Gh4DqxoQhBA?j*uSeI7J;T&QGTm|wj=4?~i z=CNrkZ*w%%BVr!xMJh0p)f@s+3Qk2wdC;18 zQnw>UF6erePca_Zp;?axIV-&pt)_{2-&_HFK->bz0mO5bymsxA>i1 z>#NTmTb!Lil4v%0;m_PGAo}`2XynFO7gP~I@OM{(^;25s3Tar8H`=9JbWvp!w_P^+ z$#o^*#p-l*9EhB0>$N72KKeXa2&Nov`mW4VK9#qgk}0i?*m+bsDRmre2Ut`4;SD>Zk^nXS?i=|(HVR>$6lM~s0zV@!%z znQY>T`T?-M(`ZBY2L;Ve#oz7$t>w;-^JwY+*VLeguX)TI1 zyOPIsznf=bZ8=HaIQ>ZPXgjvvl;S8wPhkHgOWMwD1B~MuhFI#PcAzBJH4@|m!2Qr5 z+5OkA`XBr|*LMq~-ym>cnQ}l6E_y}khKvsGRv!A^C$d7*Ga@?4g46G`xDSmKZfin<6SOccGU<8mSJHJzgvsEJ^oi|Rul zQjZ2B!_bLT7>qO{1;xRfVFGxy7FjRJpf#-%(15;H-qr{2{W!N}>Tmrn;q+LR0Ly@7 zkBr1C%AnYH4U_;03^Fj``b>arm;mK$x;m4LF+^i7VN6PH;77z{aqK2K$y(qPhPowQ z>;$}#Kre&jdGz|)gY{3J&QFJZN-F;tF*>2`$S6`<6AOfN zFs30$!~TSwpKyFnPFk=U7jr|)`!pFao6Nz3k2YC`{4(AJ&n0Y23snHqiJ$=8yLSZR z6a)^AH0fI-_njZ-wgUY3f2{CS*Rn~qz3=kX5j+4%4Nq}%m)GzoN`g4 zId2pNb4@Guh4{h+ZJeBe`r<`D&7M%Ib~unhYcI2;iL8Y+{MT>!PyW5XmQUxW@{@m8 zKW*1$`@?^kg4s|1(Z7HFHUH|(bbj&EAHMh!b&>e|KlqRS!B79}?Qi~OB;NfOe)b3N zhVd$EB4W7HLd>|X$T|xiratE&FllO8tJwy!7)ckBPDF{l*=(4J;ug14(~xqg znj7#-mOyZqckVPB1jR!Nup%h+NgAs1qC@(jc3L(W#sZz@?Tiz}HX}l;61bvhP9$y6 z3H%4ZN{Z2;MGim3h4$bTzm=<~$(b@CZNSlLfR&3Lk(0`h%GvNYWS0${x_dok#GGFLW`xkyXv&ls0A+E@P!DL zK%o7zg?BoMo7*Wh*$45otTw@yb4F5k;qWmJe0yzBsU4_zPDeWw$WAT+=LQRQgUM2mQGJA*xC&q3Kc zb4VP^MnJDv5ej`h^O9kpI6XW>0Dv0#^uPP$q6)Q|frUEp5{A2@8lXFLrun=G%!&Hn zSb7q%Kj?PaILHrQRgU{-L+Tlhep_n-^h9%XOK&*B!m!og*B%h@N`a87EumsAefr;j z48WA9{{x<4L`cS-4Uz6l!=#pRmGjy%q8%Crj(hPiG^{Wi=3+?L4|v&V2W3lqGO+dT z;!dY=7kDJYeH|2%15DJlI`>)23LGbB8G6#w|M8OxVFRhFw;C`@75d|6X~W*SLSijD z!p(58)(wnYLl9HWh=!CmD#(0W&+1@+>Hy@p8xcUOw(3})RtkI&8A>(fJ)@tN1JxnX zr~eb4Lb~QK2MHnjb{heZ+Twue3d_x=d3=cZSPY8E#zSKR%GP)%Dg}!g$r*J_t3#_5#o6aXz~1g)b;KEvZtT&4rSA=L$E=)jOT-nm2`0oG+aYM@fCKS@uvf*Si*Os_4IpI@1vfE^f!G7Ar8c&uhH*P=F_pWNS zYOGrb&R=}_;?=8X>+^bo>eha8(fFR=w;ohw?mdu?3O?yZ@c9u6-JKAW%D&gpUS+W> z8W%Zi$|w3j^zYC_7kLFFWb;e~R%Ew1j~DXg43*FvHUO9xr`YZ%7T2P-xta|-W21aA z%WO9e94p#%x^@3!!pweVdYdja_ejdM&GVp_h7DgP3hy{bqD>+;koXxhOQHdO*1d2< zw6F;Z`^HVh)q0;J4@g-EwNHT)V(pA!m9s!nK}_RqD|dhOeAmk-7Xb1B0pQL<_b3It z-B7^aOCfMgUu1#00zoT~QsctP#Fnu((!Pc-9=y=6La7TztN}|_z$YTd7JAUh&1&}D zq4n;0HnPt%_+T$W2Ycb)o98qZGlZKr>_$)jw@*F-a^&|Q%l8hl?B}4wf6N5Y;g!fp z?TRCZp%=P0>A+um`+5^`vRZQln=0GtHgunvvA2=z(H2D8NzJoQT_6PaqoRB$x=u#P zcdj_a&e(Fr z5U`=fSnD*dWc1aR5o$@T+w69t$=J+|Ppviq8$TCYa7;pTY?mE}nwh!ZzRfrAw;#O! z;8iFjnQ0dHCX>;)>mpnC>^6?Jb$Z95SfK_hoF<~EFI}|CZGS`8xP8RBVQb#5-QO4fG zuS`|FvK^x>lv`pb?S%q}%4RUryYFyd_+=5YR+}!R(Myy%Elyk7Pvos;?9YFl4)p5D z&*K;M_@U_DL-=T`s^7G#`p0)DQnH+3ScoSwpT;&^35P6(%$1syh2#~1+>rW2epPR4 z<>bWu5Ur%^rdMW)`T#B|eUhbWmG4%_^z7oI8-k?PBbK&ou_xc2${CG@5&&MPWCF?s zq6;c6NrgJpMo_OhLkA%>6iBTJJFuhbtCuL|^gO`)$<&5ys0bUodWV8=D16AvXrF}y zA{j(&UAM?F*Ee)B>sMd{f0I!YknqdvyJ%dY#NzY!}AxA9+G`4WP$(>6%)L<$R z1WW-2WiXnYIrwbxK(k5e*1(Q7Ku@G9?M`PAtAhVj3x`s(8gp52V?)*HV{xMWSiATRZvHtO^XS<%{&*S;? zda#Dvd+5HK>-jrjgn^WJYY2jvLeThSxz13lNA8yR`h2E}p6-gfH;@-t&mLNW|- ztl|M9YAvUbQ%UN_VAnxIj@^X1d2Dm-qe-wBV#NDGU#ZR9urLQd{og;i!mak6ea1M* z=4k_INMRBPNEJaL3uCF&;~2^h;Z`k*e-&*k*iE0M+WlAj{#v_v7kJ!fBeSVQKv zW-Al_W@S&fYS{;%>QDcVtHUxN!pboeSy-t&4M0ZJWQRsXzdkv~p(H$PEoy1nX0gUu zzB*9rhJLaQSvCa$Q=k4{pFFCs|J?xl&@hW{ULzcckn7{>1Gw(g;#Jj&4+ndleNkN#g6 z$cYP%d0k%J0lk791u!Fo5^Pwf&YmMSf)fLZXqCQpGDu1@*?khoIlj;ilsN=Cf3v<; zo4!V~F(M{pwqGAoSFHLqsrWB{UY~ziFQ5D(K7Y2aP}S>^pPgq9WjXgA&qoNdJU@Mx zAbb7bqq{C80t!}4sGo6m>ti9D0K6Gl5qU}lC$>n4rW$$kW4b{0;B@g8WOLDy?!!)Z z#Lz8uI9iaIoA5^v0#AfnT#b9zwP1hB0#E5yQ>tVEjjo)d70@rNiL9mBaxP%`eH3p` z!*b5-uuaDjFKuU{N+YU~YtD9h&|bC>&3e?1$uySM2~nlERU25et{wf6?KPkSy4l12 z`U1cXj|i}&u}Y8d2)0R+@=O;cVv z!FeYjJO=MZXs`2z$ZaA;05Msbw$UJ%SClGE0<`;_Yb#--TI=edf_t-h0KzyFeWrwB$3te|2y25#=IlyG=Q(F2 z%MLG+nQf@j+=^h_b^1U@6ZS?(;sL2RgR)mRVEaN~X-*j;(SXEONRFy?p_=2-7yGk6 z_yF<4OI0%*!-!=RKz5!Zd&XcDMC$-GAEymxAb$`PxG%CXk2-j1YhQS5aD^aeO0`rP ziN!4Yam5C1JusP(F3A=PnKERixXUyGXu66(jY$ap$Bqw$5qJ=cwGd=;^pd-;F=(Rh2u*LIm4fE_ZpFuY#O+6a@5i}y2w-z~^VL6A z+>k)A%lFx(ph7NIpf?5>dD2E84UR5VwpSu%vdvk3h7gTH`0Oe_Y-G@o^7L8rDkN+J zkYb|+;MgMV3_#61h#fYpfPt9CzJ00fZE<6JUOrkr!aCQ~jXh`shqC9Qu|e(iaTFi~ z$!J6;WM75~V`68kqwBg!&#u~13LsZH$V3IPP{x>Y&~Tzvx+ebhZCJS4!>-)DALn+* ze-)>mysXdamrq{Tt4A&2XSjfF-7k$BvTTGaTWFiWCu%3~Q#?lryrWzB%!$ka@dR|* zr>+oQ!;gv~Xc-t0gf|Uq*!JZ_}r0O~O+f_-x&5`w3#R+F!ikt=j#@Wrrg3xi{B zdK&}!o^26zdol#Z1b9=@jNA|>>+0RX{D5Vz1%NEAu3W&~I$FCMP1?4+($<_Ro2Ee- zZ5!_gRcF5}0a$W%;bkiIuD0y3r`lS!DgsLBbE_-*;d$}$NyS5*=e>vR!G=$t_HWi8 z{_xGOfA(IZLH1AqVjrS^HnV3QkkqI_G z#-VmzzJM(;I!|6_BNC5!sO+^kh{u*hHkCrAs;g$oY3vh75$dPf?V*ql$OV4nl;{!3 zqujLVtTp|_o;}CnnKsd{Mio#1s%%!fYvTa?y+_~1&T+aek~o5305E+D!7iPS4zhlF z_8Obb@c(J1z3Gj?AutpJ3r3NEB&)w=h^duJo(Fd`TE(Tghznt zPg^n?p*mLLVR>j=mmXyGaXJ+Uq>)HSP!pAe-xSG=xJDMF^NZWDk_)_D4lu(E$v0;c z2l^QPG*|_KkXc{0x)+^#aNy*(OgKA3uuPzVk3vN^9A0dLtI|5cIxY=nt6*%Or8tTC z?1=%J@Q*3d{HAw>zXrJRtvSa6rOR?kg9+E$ZWH!y35^QSE?0JG{eklQ&X03@0;pF{ zVj%-KAG<~Dvl^cHz5{O3y(k?!q?P8Y0JAiw=gC1veTyWA!bDMFnZ%d~&>r6oG)RwWwwm2?ruW zI()mizIm}r1T`g^bH>49hDaGDI|f2U0$a@p5$v+2Tk1fbJ>1B(6|BP4WqaoKYGNHX zYAk2)i3jaM9Fp}u%m_*97J*s|x-w|&V|9A^e_y_iFqby1l_tVPCg=jVovT#R(P(KV zi#IOAFd^$Cjs){3y|;wBcx`Bu+iV+h?38guD$SF;#Nt>@6w-PFI&ZCsi#$~y+jTt1 zIJooU+^!g()$6zRqet$6j#B1wq*2buwFJfGI5`ql?DC^Mr12nWdk-s2x@^bBL=3}# zvg*=Y+)k`FTf1&CpMeS- zSpf_z(Fy5B)~-7=JYJ~L8T20<25;dy@C;(y`hw0L%&^sVO&~T11dCWAJy?!2FadKf z=ucY*Too?R%an)+r>FnVCqMhg?>!o!i8U~2-uar3~3hvwrj@ow5cYUf&rG4|V|Xg4bhc*F<@ zg1wtbWWh#1>vC;2h^HW!T?dl{pi4s%>4y0c>H&zQkv%{l*Ge0pX^lKc5zT=JQRELe z5)o%1!3?ev-?EbX*O4&q>TUk~t={HM%k#;X@$%I}q0PMq@-d-}y`v9*`-6{8Xd??; z0Y)&&Dn{|oqa}Y*ht=<4;lfGB~?q9B4hfzUFl-Q3O0-3yW+{sYoN z`v;hrn`OObWJEF}vb&1fXof~;q5n+tJkRqyP$SM4S?tPtUjYI-vTh_5n?y!rAme*} zzw2&pcFyn6xP`Z6H75mTHhi5;S74oNBOnt)x9p~k4##Q+f2EvRyZO;n&`fCLPR}J& z86?})I?K=lQQjCujR&kNB*PkM2SvHFvfnb7{>1aU%OHHGC4TU#y^ze&zSmRz z@as?RZ5sy(6>IGcm3Qxm!wi~73%HvurJ;n4_&Z2VAlsA&qun@2vw*;^$V@1wyl151C#xI`a8Q=0;K!d0W+ID&`#< zf;{vg&OS9dl!AebEYwMRFATzVqe*EEe{k)&*VMC(XAj#9s(G8XV@j0eJU!+Nx-~ca znRogA)vruguRh$_zW?4mdi`E}@A}Pq_c2mLmG|y40kikH(XHTNid4IXeAm6zIZrRq z-l3}5e>HKGji-|0ltjaU8MJe zALrJo_g$0b*n9g`r{+?qcXfNxJ z(OP@|>EiZIwt;ps=AAWsLmY#-UT(!>f?(}LeVKwrgOr_I9k-a-gLq08TV+ec_VE@C zm!ystKrxteJq%~2&sGP?4~Px{EL&E5{x>CRkixbY4Q3~w8& zkA9q+PxsG3ck`=l_|+eNs4sqh4{&{{eF1`0rycb`PK!Dc7&`KWyB~@?ZajK~7e$}S zcv8RmM^JS^wF&K&jov2^z`Mn1OEHzTF^JLram)(#B7+Z)uP*G%>dZg+(dVoUmbt)o z=rH}_GOozf*nt*Q4_GmfUe$(qZ$4!jGJWvb!I4t{Vga;jotgR;9*9TrD24HumM)A* zozw}Wf*GbQ!B6fJn60}Z%dAy^@Dc4LCJ1JMXzTb+U=GKyb-~sB02a7s?b+4w>p%!Y&bfFC8aWOa1CVmq=S%l(gYR#>kWH`r?Jx4Y`udya zub$sO|NdRE_vkhJttmC(9bM|`fQNZFIp&$dQM}m!ENrciaa0HeZknY;3=Je_ zZ9iZ!Vban&%he1^1WehgS}mjVkS^E|2l)}x$$rKhoiv{Qg^RIi>SSijxe#+#2~*Gj z;UIg|5-1-W-J-t7?q{sgbDrWzs4S7P0%`YNtB#>rEDaV9#*uRZmsgC$d3Yj8DGj&M z3j@q*$a{bK7cZ{l#50_RpzTvMTBELxW>1?aZ7J`@S45QwOZdRWIp`*lY7_J z-qzx%8L; z(t)6w*cuV@5--Ela|WUf8aM#A@7fl=8tmKH!PzN+I6i`4^rzsnv5h#AwY8cL?GQy9 z5t3O$nRKlUexedM+^AO-aAiNSw(J~gxwl9ixaQF!Q{@>e4!0V2!uY@W-OtnQ&6gjv z@pr}ZgV*lGM1*#ei0}#SZ`c5Q%&Wfky%9lAr)>{&!!qtzjwzbV22r0*Zfzr+=whxS zjx;ThDS3rqIpQsdthUHTqQvkN$zmO?D$@ufm;wSHbqz`i5)x0Kw6UObFQ_B?hX3rSjVqZ;L+*!8^ zORIGjJeef8mlepx>rM~bzMHc=T3h^C>imOAogXb({Lw2YF<7Z7&K0r`m991-&cvOZ zF6eF`>?+ReE~CNEmTinO9hzBJ!bgjfodn&R$mIeY6@0G)e$lZ-t^^1{IP^Konyh`A z@d@cK_h~+UBfiP$c`&z#lQ9~>SWKO$+A$2L;o>Bvw7E%XTkb|kr(jzJ)0$5nF%Cj{ z4q#ib`s~t7^Xg7Pf+UUV-ek+A!8@Z*U057_9;2n7pOcQyv6&BgO zQ26`W%-rhOna%ZRKYQ+&`v^Cf$d@tVtlj{hOcU~7z5~iUx&u+ zN&P3je)SsN_uE45(W~~t?SXD?4TFpNy#_v*!o~+`4-YUbFn^U-_8X7{4+K z%UZKJj10(-3X}+=tn&iHe-AhvW~6rNN$6M3J~3KB%(q+1gj8eUevnJV(e7Wqj&9&h zke?f~%`u>L+=n~5Umo0UDFKhpAGz((Jip6d+zp!^y=E^ei`tE{=o7pz3v@I9 zDDv!m`jG)CAu)L!-L|Js-(zhpldM2+_1P@DAbOQCv1=@AvD69+B?@091+psIXod(i zhBk;~XPxD=yF%h8F;fUp!CTLL&Zw1@z1QvHL z7_<;jV`FWGKuzbMQG*wa`J;+<^j&F{bZ+TQ>Ct}XNEb$elN>o@)9j}Wi?@!z+;Jmxkn^;v|d zJa*#6<0yI)*+h>FKj1&CCU&|mL!|6F2vF*i6cY)hn1~siu^~=aL^CY7Y$8^vc?z!` zwU^)a0v{cMdGo&gB!BVs+c!Xe+Ur+t@t5A#om2kNEBIm^Id1C6PcSV3AEiRU9}Xn1 z>9WJ2)z?-~aLZ2v$1b&veYTY}2pI8oM609+l>`TmV_47Z%50|D*b9IKLTK)k88&t? z?P?3jjtZx3w7V3SM@Np{rntO$`}N(G<RRLNlJpei%#Ex^Gv~U8a_xjAK(!E%xqyKi&ds2tys=y^T--h z0P;Ym(OP@@S3hc;-*+G8hg{3A-~VBbU!xXG6SNF;pTT8~V>P?%^5YE=7yv`pI-@S6 zjCEvyZ;8?tBRa;cfi^0T##EfhpasMW5#@V;jjdb*qSFu8)JUO_avFQyCWbs(m~`_U z_|wntUcLGDE6;C!0|fWc%lDac_+x0?50DJ|uO+@#={PjGmw26*82jr;K#g8LbQ z`~SVu<$h|@m~h)*^ss%5#a3fE8Jq~V>yVt;PvC+*dUp6=5kYWHH_)UQ5ew6i(ylyh zBJ9QyAW>aZ;&|$51`Qkj>71>a&1_R|{dA8uY2UmjUwkLC{`UFx`{y@T;Okx6>%j~7 zVw@S>#F>3QB|g(|U!vin$C?|KRV0-}M2CxSNhE1)_i;%ffSOEbM?)r(?Adr9n{924 z!>1)jGsnFX7XmtpJllDRt$WLJ_M$ZiCt0`In$w!$D0=wmU;E+{I2=BoRX@a8_2E1E zp%H;XT&u_4aVooxEt5v}5@F+^h~uGd<;p8m~i zElwD%Lua0Gd`xRpjFi>I0*kkBw*wOdvXd!$X9C?1Ptjj7v9PwRRmPE5xb9L+~!b;U4Za5 zW$5fjE%=a?gTev!mIYHQqz95cZOw%HD;M*<_Ul(-k`5itoD-Rbn`rH^M$Fx2&gPs1 zx>UPbBB<`TFNgnJ9;uBzh{76tF_pcQt#XOUcwae8|lZ>Qux>;F>hgD7kcD7`PpM#mrwr=UMt-S zV?#9fmaY<>q6s|K$4ds1txs(%dK+6z9X8xP*Q~vuR-Xjuy(f#M&k9h@mPEmrMed6; z1d)6VGWekbxwBo1GkYIH&(pt)r`TtOOM!F54$%`IRc_^g4fK&9_=kA45eE&mfHdwD4cS_T6%@6qGqG!h-BOs#6Q<=o+iyjP%L0G z*9bysHLGI|e=F^KaMIx|O5xWtUSIt|+F$z0zP@YzK6nXVxYmE4lS3bglk@0%^yh2+ z$G_G;8b|Y)j`Pv!I1k67{(E110x80`c7O*z&dc7eSI=+WeVs27vO&FKNSq)V_eJJ& z&)rt8SyK?xVcMwo156(RWJfb=gF4ccdhE25LmU%MW7%+A&o*cwByD?B={}W03_|CH zTmVoUqLcL_k+xH6!G*h4syG zn$gvh+LJrMSEXPxHB~c)Ds~rqTOCHzLSKz~j0x2@7=p9CHd<=Mx}%3J#daA3 z;a@Mfvfu{z=)44Nt>1?nHLQ$M))pFllE_#6H3@g!blHs&dl_mh%*ToBQs0`}n zMfsg?-<;=ozO%1Cc+u|Qvij35zb>u$o$r3*laq069k`!EdN(`Tz!P0oY-e+CLF!~@ zc(V1(#k)yQEFaXqCKm#r_XRd*A>;-mL*ApP#AoK1N2m-=Fzcs+y2UKS<^`a=S?6dM+~H^Oo^VMouH7<}G&*uDuYN*d+@rI( ztk!{TRdOcywEEb4y3}%L&U;@_?S%2|xIxSqG+YuH1D`#o&z=d!Bts|G1d)C#J2dC} zRQ0`}D+ky=K_)K=!gJ!Eb+V6Egg!$U2>V`3yBN?J4*Kg#2mgQK0>UG1O{{eezkcJ7zJUa8I2Bby-I&~iU@S00gy+KGp|2X2gE~Tp1vfjfWIlqz zlU)W`9>>rKJ??JS45fWj7!kWz=3ctV+0KCq?9gbvX5)2-01OR0nrrb$$8|uPKgV_NYTlIuOTO^=v_3 zw)(EKaj0P;D#(~6abD9$aX$`qDMC=gY!;NDWza8-sJzhDvPNTVXDz#kh&r3N37`+% zC$(N0+MoWTtLYDl=j?8~ZS8$--Hcbj3Xd$d93N%Pz8ggLA%;PQ=^T**7mu*fWzb3A zFa`Hv{hYEWbwz%`h@yQ!3IPaqVilnyS|X|aw5R|02cVrr`ij+^rjF8iydj&ntY@pP zj?5N8_kFg;v7lc_$BhdG4f~K&3Zrw!FXGHxHk)uZ&MP^xttG5nU`|FaNu+x!zCN)I z=G?b_j0Xb~Z)XT7r{2DOo%ZH8NP-`|elLo>`i1x=`2R05tB)@UmfeP6 zAC7~@GGXePWdutFF-%FUZ9&xqgzCs<9gR7TsmjP0AD zok9~XXpM75J7XircaJ^pfDfN~FYwlz{NUw#adJpElf%z~;Lnr8&y&N?lf&P_HK#NTO{;~j7z>>z9$aV}yv z8W=H0TIAf3tmEwH4QL>lxz9lRht6C`xTmQ$+y)rnyN&6!nb*c!l1XiKnp7{G5&T2k z__3+BjVAgkT&6iXmLDB>rd2+>k}Y7*XP)fYoJv97MDv@fm%HrFd|2@#XaK3b*6G}? z!N*iUkxwoiWD+vRj#z6hsAYTH-sIq=Sw`bTfXpL+Ii#i@(}jvr2SI#}o<1rq*aM*c zm{L8bdnRT~n<_eMU`hq=iZ{Fw6S2g)mmEscEAWzPa5i(yUIwM)tzP&~e*Mkcc=h`2 zmv_LF2QS;*(V#a&cKtLHFgk;KvG8do*UZ$Bo2pVz5U~tI<*h~>h{-JKJ*{=wQ#Kqi zeT$Ri+$#p-x;&@EY3ZY;u@QkfI6*$|Z5T{Q=(die1|LS;MSD4o0+%N^$KFVyDT35N zu8BN|WP~U`39>y}gNisJ^bJg?VQ>I zN+Y!O?e?Vko4)+UBJ11Nuj-CN_UM(no69mBV85PH{oQYTa_?MdY@5gXUTZt6t(>q0 zxfdJQ2afn5lWkn|~}d_4b|n<=c4w_SIkhHov_C96WmE?smC$v&*$lbC;WE@iM|Kg`9XA z=c*$JpfFS~tqJO#wRW!N0K9wKaxT>jcbNw{du~d*Ac_zzT3gvN2S{H%5DUH+H95%M z0k5kYVlLXGJm(IU#)zjN8sCZw_-j*!ZZ`;Z|Z==ywcBZ~>e9Pzznv&d$B) zwt{=KWAb)p^T8Y#Z(qO8D@6Cs?e*a0`>naX))Hg2oSawvOQ?Rg$*eFztMXi(QfD6} zVESPw0+4+PK0Y>&CKxV|m$}An9MTRNGm!b&>VbxbuDPz6H~E@eF=CU`j`j4Pd~uQU zL2=!EcbXI9mqdwFZCs#+-N@UTeF*$?F%-Tgm!-oQ-1`)1(bkCSzK`*SZhaN8#4$C*crk6~sy-8vsDgWf z=c(jV!J)GaMJa1Bf}v#OGvP_Upn8Yx=|8=6W7%;U9U$>%*UGge!1}N?xMW5V6lKi< zRGK{@oHt4u{n(g8T(rqfsC5$2Dw%EyL-*YT=>_d{)eP;*+LW@W|EWM3Fx1)q-?3l*~NB2HkaSbFA82+vICrO9@PIE>DkM_4+w;gz|FWeGz%o3OJBCM3D6ETyqMqF=>sqW?msi z3Tw(~5dI!~vHarBAUSxTw;5x&tigcSxG!gJ5<5?uC3;0kv_mQiLfN5O};QZ1+{fo;)R_tB#+c=nPF zi%wZt3_D>E`P9l4oDJ{v{ki#}KW{cS)0&hhDk|2Zz7%W3C_&UHAp3?bi~{O^U9DSa z8z=UlfUMt-f_%8>K=m3dw9H}^inwVt^KuvsfHRK!T60QET)$Or>!3$J&h5wrqxrAD zdHeqDOCi}CR1v&1>C3{Mu_IW81UwMAONTLaX-wzHOs<%LyrzZPS2mb625i&z7JZ72 z$ZfV7^yov8_}xx4$+&!n2KSuDr%XGX0xQ)!Mp`$thjg4hUoR1_vF#o!JGHwZ+m|Cs-EB2>*v2>IIO?PFQ4DN|K^vs zCHtdS@iTk<$566=ibji%Z(mhi&9jbM*D+)aVd{En?mqNj3_k11{RLrfZk1M340yqP zQr6h3sHx;YMI=|=xG}MN4bLJ04Nshogg}1W#&&f+(fT5xybTC@v_0>3I{(%4o9Dms z`q}TG3lCnl-&z9Wqg|VKjD*KN&P(sd*Y@ru-B#b=v7{k|-P$Ur?=CGnxtzT$ch6zA&%$%{4U6cgwn6bo_~~b!5kscTG2N(dsy)8H zflPFPeuxbO9n-eUtFN?_9(mji8U#d!Vk2Ch*^ylZ%Bn(L23s_)^r)!01yA2c=ONKr z)2c~p(RKFO;AiYpPA<4qVznL}Fw^aN<|MvTfIpfF{etV$-u?1T{Ko#_qu1|+^f$Um zfBQJah@0rd){S=6psFBJX|s2qqN_a3=V`RBR4Hh2xA;8a>@+iUAc3|PO#>LTucNV6 zpMBzcQcJeFi&x`KG!UH7#^!^JYZocIwFf`?ac=d3H*d-Pev%ub>Bud6GS8M;7)%e3 zHO}UMWIp5ou{|f z#~x^7wZ3z%ex!~Z8Y?7tR^-%Nv#;*s$Y?T%taTGam#lqgsplfya7v0>9*pdBH$-@^ zXbca9o{4w)RxzyfD;RF~7_19Dl6%CYuDUs-x0xt4p>$&H?ijS@DL?i~uS$XqK> zK#9@qweXYe8{7uIJ$TvfUblIZ$UHyIL}uwzatRCy13#C#TT@K@F;7s}sL`=090YIg za40IwY;UT@3@yB=bnA1Yikx%iA;{fidlW16;1n*rq=U5b}3O$YLMis_F^J+a5lqTspYw%ne#NpNt zA&%}GACCArFxyroGgXH~Tw+BVmsIAK^rJt7*&o;uq*Fn~il~Iu5`4MU34)8KKodh#*8j~cu3iaR=17g zM>~>UFyFiY^?UT9y?8E+n{(k4yz~Xe-sb&a_C13AxWKY>2%d8{r!uuc9qgZM>X}Os zXHtExzH55#ZR!?xfoOiDth9@!B${cBbOyx?6Wd(^wj#Gg_lK4Ec1wD+QRz1nA}_pf zk6ySJU$}nr!u^pwDsY;hzb3 z(-}K8e6Qo$*O)wuC9xul=2>?^Mx*fo6B?p`W(c+g%t}3( zbvrdWYIS&!9>H5QQ1+tg;ecSE?`bFv_oe|1|4g%ksGzn~U94cvUZqpEti`lB-S^l5 zUR7Il%a-_a{@R}3<*R4=`V~GajL3ff`Q%;S;nB#yJM{rvs=uiyRbcYpWG=l4JV z)_)przxv(3@9+Kl&-0hh@9p*P{-z)4r(Zt5{|oWK!?| zak4jSKEo)GnEQRl?Z;4Ottq3GtbqJ2{j#xV8!(BPm+z(|g(FOTg~^z{i70YHs2U7v ztB{Hhc2$C1?ft473! zb-l01!Xv?PtL40*8U%3%T$A8sY0;90S<>^;%5pyaq=^mX~E{z_2M`(B2KC=3`TgZb-+NMr##2X}7n zNno&scBN%w6%FcgTJWmHX9zHX)5$o-D$Z+cisQc|W}AYaa7?LF*+vPC*@Hkaa?+>& z;)-j~BO>4}C@58|0LYe_Fl@#^#IzX3YxmJXaM@m!*2-h{u7?nh6$l9jhzL6g=!d-_ zjk{6Jx)j=0VPj`WlJ}?o^2#L+^2`k$`dk8Qm$x zAU8tX%Nl0Y&gf?`rtm{Xs#q1dIewzKk@Qo4Ei~>ger@mL=RfO`M>B*YvG zs77mX+r)kJm;UC>`pK7X-+uWzU)i_sfBx$AvwvgvHi}2D;2kfD+E4Y@%gEpP?l(R{ zAD4UY#(g>%Hyq_$k_L$KCD(!YQzMsAKUJBU>$nxON zPXG{CAqK?z!Y~{mN$3^u)@mIa_%`oojJ57NxPvOvr+4Zs!Qel(;&uf5hNu4;PXQze z>*BS5QK7c?2y7~f2)L*aC}*o|PYwVR`*2>2OOLjZrw$ridv+eyc9t(VeH$7Zjf>a3 zP!|m#;~ui9P?Hkq7){RVGoSt&JO!=TT_g;c`zz>rahONgY|)T(*H-BmOR-TA{ucy@ z%k;yz9*-t87S5$1HIw&_A#rjoLgZPEdC*CcGoUACcDt(2}m`UKz(Mefd0mSOF;up zf(`qFc*_RCNelF;QJ!+%(YLxJ2ZTTG3pC3{R*ChyxSugdiAa^=vS-r_C{WKmGS#{OnJCbi$ST0c@mI zj>0q~vkk|{DKRW*;K-da8z}QN#wfR}>?UcuRUI}@J2g_`?4_3lWOvZ_I=;eZgA}^z z^i0@Gh%inSv=w_Nzb$Pa{l4Ao&wuL6`1;jX`QDDbw>!?&gO~2^dcSUv6zd})DIUHR z{STkSCh$LA*rPRaj>D0zP|3{$D-x15!3qFksHyGrJQxp~ASAX%cHY#y`99ugIxShd zIt-ZFxbyP4aQ#9p(Y9~`3y3N3B=mo-2~;l(ji3IfFMjqrAH7H$LC6qw>k_20jzUH^ z#y~YuT7bcfV>vtfk)aLq&sng?H~<=_jX+E(wF5r~^`;Aa-+***q3vIr!qK7Hkq}lW z0+Ib>)wpXXKl)B|y9xZ>ySH!tApQN@zm#{rl1DGy-6pVan#%iQG?hPv)9-)2zJ7 zLm(Iv;Vzz1NHi6H`rq&r14oz&a5;rc03_=%*>;8aawbUGIOiOHadgDe206QKk&ay1 z#LWcOI_4#?9t`b*_`kk#X0H!<>x`RAi3FX4N&fLl0JhiD|9;i%ND-LcxHsEFqR$x@ z*veV#!=%X-yY)gWa>;hyIq0x^Up}TYL-dhLVkVWg;~tS~Bq0B|A%Vu`gE#3qXf2$L za|jk%$V#66DxP9>Cek&JG9AUB>BNlm#$mV?0+p@+=!T`mK2`f+7Br zA=HjoQ)`Aa^Tjzjw`xA7h~cR=oOkAk8tznhjHmzOs@bEHD_VAl6JKstr_hCKT+qX3 zEKF`gr=Co)vF7Y-8~)wZz^p!i106jf=yuPTA{)YRIxB~Rq0FPIaI!9jJ{V!h=plpB zexCl%>$rB%_MptESWUWa9TVD_4tZobS0{XTHliIp@x#Pgr;S0b3fC^mgtd?LcE%WI z;Jsa(gm3CfXVy0JH0l?O5}_yBvwr%Dnkyhh*fqvpYPqFaoT3gRKr=AfAVQ^-L*d7A(ITtv9^J>z z?9P|;0lke|#u0sIYOxInKUlN4GDE_qwqTl=rL`h4kwPA)aY0Tsi57Cy6G8y&={-Eg z+62p+NLqDdVf#8ALC8mg4h3uSgl6KbYj-+uY!^P4YUef$3T^_{@*(M$Lu;bYtoK0d*T zy7!vsu>r=6{kt!nSsWF~W7xrAaSEP?Vod*h?qZnwTaw|A-h>i6zt`ww2X7v49yA*{dL&TO6V zCExpauYOpVC}cZ=@F4E;CBg0NfhqRFx37J$Z&BFd+2!f~{sF|)?X2iB!;`769Gv*K z$*W722`&yx7$Gtf(JT`T%ZYu>;Fu#il(BSPBxd9=9wZW~L`6$Vk}m@#xQr%GEu z3%X80x=J>4Le9gBHUfdYs&~0m;&nWDY$Xq5ZHNId&$+F4rO{6JSZYJGj1Has^#6SE z34H5rUeHHB&TY2IWiR$`tMZ!{?oGsdx62i($XUjeKd3sba|Bl<8dDIZyEWGFq}CRV zREAJkk=ugHx7S1qg3yLR9w55yVKdu;S$ekXt+&~0N2%&UgTjJ1{YK0!A7B66Ne+M#;lI`j4m{Gx%I>dLAeB|hHj!D_-ge*ix4Cuv3r}S@oXvfg3)+oPZ;HU z+mT+UJJbxFvS7SEt!)csX?H@*2X}sME$FY`9((umpFY2P^X*su!V&)9)qBx~H*Rcr zpWtN$H2AZNlR`Uo@DMs>t=AaDg(BQ+Tc6RLPPb~&)-?-U*V5!{ArXRd|zn$vs?n+snI+9WxZ*Q>fJ!% z&>d|;tUP+B)>VfQty<`bY8}083O;(=^_$+hH}U%0lXrK9N3Y%sZ{4^_{u-a6)7@dT zX7C42BzE(@HFFRq$P*?M1|+M8A(%wZm=?1N5U7a+VRehIeeC$Bs9D;}Pp`-@Z<}o54SN`F^aG-C1s<@3cdWrTRYI zcekRkJB70EvuGgmhxDv9PflG8Z3dGmh8rBQU|Mlz@{H`ogoN1%!R0B_s`(rI$9Ijd{m zm;)_Li}FYkO4>y#)^;2?v)MrG#St)CfsP5%y?Y9Rs=^|DB3`*QYNY5Fk5kLf!aD>H zh$5jBJ+njEv){r=AFUd=ow@zBjqdB$_Wb5UwE5ku_uwUbv9i;f%1%GMS8wGI4<{b9 z+bH5Ht}ujxo5LIc;#LU)@(n3%@1^MWX$86Ay$6c z?0g2hi>fMSQyF8>In54kXLcCA4+i85-TW1;k)aGZiuSP+vmJvoQA>}kjXr(uYiUqg z44cjS?xGqopZ>w0eEiABRvxj>;^tb|1J*p%F`^YT(^A@)9=;BfO+UUjGzEJB*U_nC zOkr|jIKuQCjoZN%NU$CaT{2k!?VatD?3i{qU#5ZQ3LxmXtt}s|CB8)kd}+UUe*1#3 z;jxSMA|H-#_;4QsArmTizfDNy>eNHKKp5M6_c4T=R}Mt;X7^1gZJ*20+;|rwH#glo z>uv+6lykav{4`xex|3rP559MC9yJ>XJ?+(GUHQ!w{PYj~MDS&(23pkjMc44!ZOF_5C&MdE9l(t z$wM47S)cx4JOuzPa(uOO1^`)Z;FNSg<3?y}9Xn}MnM^Gv!pGSX;lGZ*2vUC@bkrNv zVuowc@eY6ykOQ5YBG6q%E}biEX~~{GVlh^*?CBr*$;X#=;|S@?v}@s7m(0<2ajUt& zNp8bUhY~=*V}zexkm^idf&jh67w*h!Xu+~j6IftdEm_d)3Q9YE7WRLZ5kY4r9CRD_ zIb_=2&I}$rY`Y(P-q|`Hy<#s?8|a4G@G%CT8$-Rm@L&_98>^jF*MQ8;jb&%SR09at z8GE^A&gwgyFIEnZlM|K4rp{Yawqf#NkgDMhroH+e(ng=mTuiIA30&qh(@o>)AN|QE zAO?B*$A0n&%sW4iUqAZz^`md4XD$ZV{`Z9Ws{$l4tN^AMxW z4LYGgc-#;k;lR)nXY!l_7I3g#8W^EKmG|)BIJjn^+R*7ORNC45Rz>ybYW3D7VVaLz87`AN}uo#kKZYP7ce2&&~nNSjH zoelkY=Lv>l`9jzT_I6#>`UrO?Z+#BWb)a9Ls9~zQQr|WyY^d7Np|?WON7re$sXrG~ z2C$f4{PLB3nfF)MN3Y)tb^Q06CG%r6OHfx$lBL>DDxGPxpdd2@BNlCt0_l*yotbVgmTn;u6Is+UYqWT>0rA$0>?z z_$H2l4{erZt0E|s_b|>S9If%OsihrA?UGJ=7SFc1CV_v8(FPxT?@K$N(vzs9HJ~Egn~2Pi3E{Gi9W^@{&xxz6d0u+EcDC>WcDJd}ZR6-uE)8zS zfe&7}7oh(Ad%OOJUw?ADzVs{2T&kZjmkJ#SL|3=z9a9TLq3k1iA;ocmy400HKar1N z4b6us-qvZ(XdL?JfSPJZdNeeoVLVs%u`%YKyNx#C94h--~Z)JQpFX@_qdL zp0xhhg?nKTIKJn||M2TS`gV`vZs2%zaEwPz2hD}x_i4C9ZFcyMb(G}t-a^wI`(+c< z&kjlq^6ieKW^6elnR|o*0k>CJ1m~FxLs5s{W^k|$Sx~9Znos}4b!mdd8s{brs0H?7 zRXyQn)j6T+V07m{MoP8oDu?<9{(uU*kk7{%y=F+ie>~;g;7-`j`n{ zM&g}V+w+WBPygiAwvo;?NF04X+U2oZKT9}mo+Qn-DMJgmAB=y|97w5-14RIC03)BJ ziSp<>)CMra3T&yL)HAA-)FIB_2qN8LJ9V8Ma4C5{{Zl_c+a@WjO@rzK$Y4eWrGp5+ zvQTdf4{Lz6H9)Pqc8sNW&M{gu2_7_#R_Dc2(7o?-oe4OFa32BZO@T;>NNM%9cNxM4 zdUcr0=nn1t=r-YP*EWCgKHr?%um7VL?L{3xztI7Fg1k+p1qm&a`PZBi552;Efw>izE^=xyWzJTIJQuoBjx>d$jnxJ)81r7-~6onUhINks_Q9A9) z4b59~#H0ICH!s_t|4`h#%D?=ry?zyM-@JQoZ{ELp|NPaREa1@#`QoIEZYE`)V!;!t zHgQATL!l!d35ylQyhM@UZ?mzrah5V5dq@l%gxzPK85w5-^PN=tRGS^nYvpRSpb@FY z7=ISxEo{|Za~iQ+q4dyM@@;6|qfghH7w`+fhhBaA&GW1GZ+}Cj{pbb!vC2LB%0`a4 zV>)t6JSd?CBiXW>BU*2+7)0ab^~Fvi(y4$vA{D)wM~vztPG7r#Hk~~>tL(XX&y$={ zT)l{tH!?OibYqZjUlqqg5<8ugE&324$l6?U_! zK7opacEOZ1+CCW$#~Pp0n(M%|d5y7g9VM`Y#(^}=4>W_|#}AndH$3pRW;60Y{ta~Z z_LXxWTZeeeBXBp1PkH*Me{zk@Fh@GJ-8T*g0rz2ZQYW*nrSr5Vi?6`EbNbu}@ynH2 z&;xB2kO1Onl8MDABt4R6wQ5@vV504;bXFK*{OW{5k(-#VgwoSL^8++i&?KZ0jfT$R z;~l-Cqo)-0*T1ai*RSu&-3PDVohSL)~tMSH0k8G%A7~{54(P}yAe%q{ksQWEzeA~b&d3~jb!y>0X@0B2ee@xFyY*fj#`E^8{6*x2 z&A#t6Ja+wlJCevBAWFuUv*PEUWwVV5Ezb-jYBY15lUZkU$fbKo51hw~=2+N-)8NaM zi@1oXbWW}{oAy9w2DY@af|iB==Q>v~7ZkP*aMv7bojWzsgQsS<_4YNxdu z3-{X*B>oVcg|Zse!*P7|_YUzk+(SSvdnnxVSK3?yVADH4tU zo!#=3YS{6Gl1nluK&)a|@080G0yagW_NvCWnhlfPrWmP|A;^5q$i&!01TOSsI7GN? zSL-6qSKLXl)6QA`~Wkvm1J7L$&jCgnBhHcstN z*W1^x-~Pd?Z}L2UlkxsexAExZ`}NoEpZ^TjN9^0x7ZH(fsq2M;^SjWEIV?rZHOKPE`Rw|N+d0XR1LoW|PTkW@`_4J$7|-*2N{b1QnY1r>h#G63xa7X&;R}Bpj{szHx>wRrOUENTR?|@$ zC*uGiZP+pu>)LnA?zLBLR%GdR7>VJRYD_H_^PD8?^me=7LH+`kAtrS<6@%6^bo4sbAxIBFGYsMSge z90abu{?t#xH_b6Ue&qIJPr_$F_L|D0^4YB1ETWNJ(km~#@cfG}zx0$p|LpTG9v``P|K7v3>e_ey z(e*`(tM6H$iY5))vUcAE>{Uhe3AuAj9Tt0bLA*-^2X@Y=46n90l8+QDir6;X&rs8C zI6tpNQC3lb7bg$^HqB~8#{s0&-Z8(rzG%ftC0K4x^)+?NO3^XhwPlMNO^HHAwJKwA zNU_+=vNmQc(UE+FwDfHVB%8#DzTr%A8AG?&Om5zM4yz-UP^?{Qu#G*+p0BF=@4qEp zdKN~uhpgS#>rrp|x;?(GX`V=bTpr$`Pe6XMJ=hM#@Y!>G6tiq3~zY0HD=ulrgj7uAy9Qpi7$AV?(@j#<}D9j_%t-} zsuJF&8}Oi$R-NY~)IsNA_abHDq`Rtj0Vo&^QzQ{FX+h;Ri}Pw)%YbXpd_X!Ng|w|U zb_7u=v1edu5Aj)+b%uNmn~Ur5ZI5r_Vd=_R`!LspA;q#=S%lb4NEkvFyl1wByDa3{ ziYw=ytMtC2g$QFpJ3E}dJEUfrs)A~*OoW$E7fh#P0?=a}A?n-=Hyzr?_9zK z`skfExpX~z(2n1}bN{m+E?Ey>`JFr0ma1OM=rh%;;1(aqZ5e%bh1Ad!EjNH?fTHPj z(y8_v**S0`x6)R^MjAn__aZD-jG2U-aH^po5gUZZ%co6mrCM1rv$X5o&eaHK zn;5lETG4!0BBXuI0p&4MEjt0SUI_Z#?yWdmYl}hA-gbi>-@T zvp_r0YxD#CG^|*?uWfLtCO2*rTjm%YLr5AZ&^dF-MiIf4X4T!IYmsT87=6wpLqJLB zsMb2qCJb@F2!!-@A}F3tqLd;P*k-m~XEaJ5E2;4D%eP>!DP`N4EK=s!lwASb9Nei_ ze6FIrbZtzYNZ=|RAOon>Tu#ZuwVk;qYl)9FnbD4Hp#?oGQ@hGWM_BRdfgR1*!Xcf+ za=7yNm0M>DF46;Aizx4 zui;&kr3tk$Z_f=lM93Z(O>r%V<1;qkx1_sN-bv&t%s72wiZ46ottyevDT!saH?ApLA=eiS+2ig_c%?X-Z z)5=9{TMW=gdRA!HFq%F-dh6WUR$E;Z3Ar&Kgl}s%cu^C=`cN#KOKNa$aG-n30xf0( zZn{X@VDppq5|d`foQ}w>_lAP!+`Q%nqNZ+4g;!xOpzQ2Udv|Z^_^n&#In41C*xUm} z6UMcet@omPZz~N3GvYimw4vFbtloRFAi$TSD*_>^_b8B!j(J*d0ZI(6vX+l9M58iz zd6?*wmF&TDA(Ei!IKKVPGjD%W%w`E=w^{+Z(q%vNMeMscb!>VrgTsrS5!7smSa_)?f8zn==G*lz3K4!0h+zKwWlRmd(4#M9l2UH2A8ESQFpc z=bF9kR>{z%!I@`8Q}g3H@1D>l3)ii6hsd_H3EeBL9?J?vOq|3A!TyoXy0fee;=fUE z(E;|~Te0*lg>0jfdFFyZ)m*U0ad+)wh0$+XS_`bXM-~Pxe?|ILwKm7f7pLxrpbQ&wsEOiR6 zAsw|M4-*-SXhj*T_O=Cc?3g~`mW1A8loIS%+-nFY1#NFpJGZiRpp8+b^no~J5&Vqs zWazSWI3nFK;j!5wuMcFi^?q`-wyX)^>EP@#x4`<@BI@GN5>ux$KHjb{B{j^Bqw4Pymypc(?ChMfWJV;Gy2TQqf4sui9b@f*2iNiv; z@F?iTp+`vBc-Q4zsYcHQcq&^J_Q+9e?E*VE)*?UUQi^Z{SqVx1@ng46YeFebK5IoZ z2%^2$)S%EVO459HTP!(vmSTH)MYE`>&)qW_xZuD!z2W??Y++nxTN}lG>yXT1*8>7+ z*J@U|Eft~*R%{KGq!aI^fxo9%79Ixjlcp5r6v9X--|sFbJ^XFT6LdFZJ&Z`rVQA}d@;2Gv&QD8<^~ zqH}_HogsbJDWQ9CZS0CFzeDC?7)1ywM!Oy#_4cba5bP59;Jr`1@M66D@`J}XL~r;a zUUnb0K5dWoVe!Jh>%;zW_F@0$yO(f*K63X>u2t8XumAY&tBcheK8SB!58n4~fA+!C zU;NTD|K62U2B9)YbF&EVb42#tr)t#Mg&{R)s~{RIihEF$VunebtnBLOok9y@260h^ z%AXKc%OH5j0JgcoRwr%7qPj;fyKGHr32e!z*Gte=d{5bwOjz4#uBhGFC)yQwLPhJA zibB$+6rCe;a4%&}Q^`@H2y_h9bQYxQ?ZqA=d)b46ny+({aO|--%OpdPnn_CNl3w>h z{Dp_t@xgN#$UXI9y!8CD?~fOsI5 zjPq@H7jTtzTIlU&YZO!_rO>V-%42ixjv#pjUA|7JEfzjtjKKFi37-pq{W;g39V{Ilt*^ci#-v#ZW&MiWhd*ZAFENkW_XOze5t(xBc&hE45bBS+hWTo1qt#?rRYbsM1c;>0VZTMl7FI1m|56JD+H22jH?>d7k# zi8k1~xy4wO!=RvYbT@I-E#O3!IR3>|N388N%0NfneU3dKab}K54LRjaLko24R&eTQ zL747LfLpa>h@Dv1rb{|ot+@**FXeV& zA?Us8tUYTL8acb5?lSceyKGn)Q!qr@8b-AC0BviU0jShAu={9up&kR|qlL7#6V&8p zo3P4la*hQbfML!*0rB^($Gk`}ldh3o(m6cg;Hw!EPogpg3dc33erSOOVcd_tLbSM(K?lvpS8pxa^ z2x@8oH;y)SNnK&OdRfQ6zV*!KzCk6#Ucfwp-7;%o?$DRRpcD<|EuWC|J&VHcj#QBa z4I|r-T6Jx~iOkhWrp-hIXRR_x2Vusc(RqeXEE(u&FH`Q-QqPY?HSG9*PM{Bb5HVvH z8)Qm88h~KLwV(vAdnrGY2cOTYoFFgCodmp^-VHtP);+@wDV)MOO9W?^UPZxB`=twKHO3}M#xRp+L+W%!Bl1h6wW9$8t>wpNyJBI zs1!h}6vnm$oT#G!w_+GghB-PzrU_LmrccllBO72!h(YYEw#sYcMH`jFw*yAqa z>zE5Sd5cT zGMv3pmtA`Y5I$=7gjPVp%+5Wi%Iu1n`4XCyw}7}{!EMxOsspp6=*RzZ7F5IzY_5)# zDot9ff%se;x6Tx+Gg$~OLmPtXs9IC4dr+Z1b(>k@wRx6uER7?X9y*5>?=gwMu*4#dAS?@K`q>{mduz9T7 z=H8`GD;Z1r2%Fuy%w@HYHcv4xrvr%@u*narYK(4JKXtO&_4r@$E>cRYS#@^mhDf{4 zm^P2_wxiMFwo$xiFLn4_x%)(*tV^)MDLbSznc3kUY9Y%zGQYSOp%!+0V#Oyl=`u`Z zm@Scw{D@9#l|25*t<#dM(M#Xl5cSwpIxn&wj5`DY6WBN!V6eoox1bLvnD7gRepRJ3 zBx$TZcvf}i>D#@g@8+E;vL* znCFZkZTH>I#(VGE#>`P`r9e_gO_a`+pn{!r1}d!9X_}L5CWc#U+8PQ-%__nz_gWRx zkEUCC)l%>`Ror5WkDt1A2|M+97;QBemVjwfl~_%u3_s5bFvB1BYT_@rHE(^y_<^j?K^##W?UM$?_qsKL``%^?v& zle{(L$F#`|0fQFCCqGB)R{HF-IF2s5;E|<@jK7+~b0Ykbj-R=DMkvcHD0FFzFwF(! z475bUQZvSe#R!wyJ)r3a#1VhL;i2-Jg0_FhJ)1EM+NKh46%mwKRJxK;)7cScA_3iW zAoox(;`J8C&t6HG9Q@)oD+T^Nyq7UnSxuYO7}RImeL-l`hEp+39<_|!A;ZB54`I_* zyLz3NM#17$d5sPN@>=N?O%B3mUh7!A`wj=iriVt$^glW1{v zFv)6Z$3MGTJEv7+#j@Pl78YY@!HPL@(Q4J!rWTIqNIJ6)ZIE>&$9Ec~!`Co}%5t1a zl(^U)+L$Odo`&FU8d+h)o4&ZfzgIR%4m{O#{PXi&pxjW1-p@6foS_5|B(?26p^kMO z&Y&W)TAz@ACGNT!j@Xvvy#X^Jk##VNJeDRrD;kwpRgruo2-R49Wf@-AOx%5itqqFf ze?RxsjR|3$n@$eF30(3D7>u{vB8gZWBYdwRb}M5QtQcuDtzvZVJ7B_I9mt0etJ@3h znHcNVMNMnM5HvjSIax!GEay;a8O+E3ao(L{MIuF3d^O+T%TLqjj?g%R4pD27Hs|Tt zhD!j-w^I>eNM9#k&NcusRz*l5X~tf*2`aSRyzUC&iuBzjcJ0}#QfWI7qdDvGf1W!# zns4|IQ*i7EaHKGK#ldn*R~VBm7!3@WxLvywtzyGZ*L;n>MqN#;u(=HAWwx%+mJD|T zQcZzmcGkX^E-j3TsDrr7yBZ(=*OkDoc=drX8w8#)uy+TIv3C$VS#L2qVTL?PQ0ydR zo;leF0N$}PAO{zvLyE6ix={38J06soB)$hB8`{;J0IC`>He}YTHL1t{ee0ROc%eh1 ze}ZLwo(a8Sx?{onBz^SNs**^MEaVWt3^RM~0oqDM3#Z@~X{NYaQJXC8+*}}j;4!!!KZ$oS@P;t8$Bjoe%9>CvinR)bXOxPSXa+p8 z%c=!@>KH$06N>^d6iPVA0w8VG0I^2<*tv=;M{Y1}im}URAb%Ofs3882MKSB~PcNc9 z@Kbl*q@3%|ec{IkIZs_3JKz1nd=Xl$pLty);AijL|NMuqyzXDU=RFVq+0Wg%F7ZMm zZtjh}N|*`Sa+6dTgvzWN-hOSxMkdfHSwQ|ns%smWi!B(f;WVKJM;ne3>P@;As{(?? zOi3=(D{hKynZ+1Ut7}kirCm2b6yi~!BXgzuda)Arbw;UfngR0o9skCleD+V~}6@l1U5CuuweGEG*@5UWltRcR8 z(2`oo#gnPd72SDlSCfs<_n=zVZh=fZM(5sljh%+zqc&(^e;**?jy(RsIXu~GNpbIy z6DOy-AZyW{@F$`qpWq$HUZ*pn_dWZPI;GS_n-i@uV-+3gv>7g1Fx{;%yeC8i8|zmf?iMM;U?m06o6^?j=0FAG`=* z&xh__!XomQ@4m_5$+i0DEAGCLtmyd4yVqwR*MH)x?%u!k@F!k-?W>`_e*}$JQTxI; zoh4}NvL0o`L^=fx$I62o$+{+SBQAvF_^9k-xJ;-;OX8rsv@KdW+}zR590SpF@E|OO zhhLy6Ei;#zs&%O=R^|S;bGsB}V%mP={9?0wJdHgmif-xruL_X2M zpF9w4j#10rfq}q4_LBtF>14SPDI;jzviUCO%!YgcFkOd56+k|s49ePMn#6|@qmdx{#mdV&^8)o`OtZPb#mN0lYJNvW-$AY(ip zD|V62or$xNP=lsvK!}ca--$3G=+&8<>`iqj9N7xjV45olAHRELm+gD68AYN3IKO)v zb1-?4s%8l@6lM;Uy{({xsvVUE4_FvR53WN!3j<3EPEM)Jo~w@Rx>f}O5sX&vy9CH@ zrRLz4h~kSBKYs7*@?u1i2?*wzkhTBXyRfL(SS|R>e4pBS8wra)5vaTsQ^7zbt?<2flu5Z@2*O+^<}Rq6Avvl8 z)RD1EVjzHzYIDtj^3U0kM`s$dY|MtpdREPn$H&fj%$7En!;iX&0p9Wsvo*tH2>g4I z$vL_%SXEZ=fbt#YKQGN|*>L0ruy9aLW%KMX+im!nFhhU=3+pp{eKt0CV703ZZ$&NK zjxW27`R$~+bM4$gl^dAdJnJ%~dzTJt#XxE*IYcfy&2mq5-O~c=F;spkiD8q$kt{0O z2j;*beJw)Y3lR=Bxym>Zg}e|7i5zDeosTcSeFlrq^GOmhOxCf4S%>3#w;rqFLeeaa zb+vS87AaWVNH-kXMO%?@G#Qui$}xr)%Al)tg(~$1OHU%HZj}}bnk&vdS{2#L>G&Yt zMX@=_@C<^Dh7Uo8azPHQI)X!FtU=OZu8^XjRxu;mYELeNSP6I9Q9Eqic+#PNK*EH# zv3G65wbs>FhkXc!?h#AH1t?H*-p7Y-U&74t2TpZS!1A_dMW3Hhl258S#Y|dX3^XL9 zXhhYD_R8T9qRmhcBXFhx`z96fPIXSGox32{rN9BYl6J#nrdC76F_8)h`5o@TqHxe2 zf93WGlG>DG%iuL;`sAW0SP;A9nav?&t(=_2C2jRwF{75fiF$JNB191V!QX`sUA+)t zicz=LVD+*S4Jvq^Q6(&3KUpT`&}exdfA#hibDBmh5?bViusZXq0~4Y(_JoaGv4&%^ zP~rJ5)T~jnuvRB0(#M^#+~lmjTQBR3iK&Y^0b}dEM?G7=S=UCfSC9pM&hDtx<16qk zChDu&Z3hOGTVy&-8@p(TmsM8Xr}Uz&28PvwGB4XOPE%}()-_t4w!#7px=|{|iQ%iV zS@LA4)5-$IdCfXZKx;lv98mhi@s+pF37Pc18Y&Si^#cj54vRF#Q;X!3!_GbprH*IQBKA)vIXbXi$0CzmLh)7Wyu8}+wRjhaos=^mq709^+R}>R2+~z zpkP5zpN`v#w<9)PVjf?QcM$_U8b)cat#&d{haBm88dabyQc>@mQOR1>NWfvLOSLnP zd7B6}E8oD0G6E*0p~DV6H_j>;&wD3AcE_@|=cXuA`UaZV?D&S;moV4=M!XAf4$)o= ze6SnXo;l2V(;N*F++}E!bd-|~KmxS2X3A{5WHG?CP+OqMHmjp*3t>$oDGO@0wg)l> zhXH_({-)XJ>dP(Kwz~T9_pfjq`=QHxac_?2p}Fj7l|h>yD-*Z+SR~lk*f*+AbH%cY$n6 zD>0fL1r#5pN;W&MRih9MgHoaFHVQJ9xPTQlIEEqCiII9fdgFC`%k5|Wqc_0(n)AX5 zgxFh3$*MtH&>vSaY)vbm2Qb*;7S-mJ3tF>agDBvY4ZaQ$k(PVV?xZvNsz7nz3HD93 z0huff01t=&8bO%3684zmNAF(3gY)0NSp(#s`QisJKREu@-TQy`VQ=yL`fuNT6+-t~ z&+N0|d%XJpAGbbAhD>shXu(fCHH>Cit9ITKlgyQFfkrxnl_NuKB0c~?yA52a6VGfc z3Lge+J)YGVJ2r!()^*i22mlGFOHt}fg&e>egf`dOjcCQs>RKwKS-XhP>dR%WvT1Nf zwa^v99^`(ZtuVwX1)1(6lbCU+N&&Yh@kn!&U7a>1o|BG8W}*Y4=D;(#sdg+Fg@@(3 z&i;Md>xSH~(_r85^}FECqdl$TkNaRd#J8d_d<{NP0h zPX7AoQ$lD+3ACg)g(Q0O6>Zk(b5-I6Dpv$d3t->vCR7@h!bR-8orgcP?)S-V;)Nb% zR!E!S7_1fRredJlq2xXJWq<>BV2=<|cKnSyS7S#z)z`g4GC4LOzfq9x5$Y%%fzA(L z8TVw_UUX>P2rE)l$i1zM(pkc3vX$W_Qzx48>1$Q6jqoW;SwJY2PTYr-aax(x`S_uW z5Z|2h`r%W0$=OcnVQGEY!1RiRCQB)iWp-KVdHlpJ47n~+FZNT|VN8l84GxUILGAEDyTQKWM+-g z7Mz8Xgva%<=1o)Au8%bzqHwPj7dL&;E?DyQ$Hl$14nn^g^dCEx1NRw)g@NJ7HA;gS zyJ&06d@4g>T&thfAGn3iX;SwR1^F)%W+Q79vC2aHwm>GMiB==pnid6|^c-B>66eO_ z@7%foMDy`Yr|lOLNF<7Hkt($o^fhr5)NIqxJDO4&8>HA>NA0KM5KN9NZKE|~%*#Q+ zA0l8{L3Ajm8I6wb z#JdO}JM~%m{%b$Q7}OqKoH5r+w@-TI&ck zhlzqbvX^XY1OrW~NyScwYQZQNQl55v*Eu%g$Y`}f<%5uv#=|j}&=wUW&J#Sn5#Ef! zyTkr~uF*(u8%v}QWkUu+WJ3_5Zo_|HOQR^RR*`(qjQ!Qn?_@4L6)UC#Jv@)^zI_RV z>R&ip;ttdfK(53EAO8V@{%Uky%7yu{&A2GS2 ztvb7tSt+};wGbFrii1X6dTH>Snc-)8_v3rcu~DxD*V{W+Ok_bIo4w(zy>QWTBTl?6 zoOVJmn4-v5=fu6W`cf#cV}X8FCY1)DG;^VbM5ovz6jIHBj@6EXvUnD_6IxB&X}dBH zLz4^++SWVLC5doflvrZLadcZ)ff1LB(TlVB%_xg$2#=arzV3~jq6d|I|EWUqr1KJ`hAKc)(% zWokRgv?Rehs|I&)Eo;m{%s~}n2{7cWoRjOB;65QP5pwm#Kx}7a zQpF-Le4#^n{GC(ezXHFdaIK@qZW#~&%{3}*8>{WMJDOVU%rq1lC6j^Iu8jks4&jc{ z6EQ*sc&1)FrniI)gSwr-o7M^Q!m={a&4S)}W)SZ>jvu=H%zya!)`hvp2-m0s%!*yt zRNN=2Z7u?Q0|K7qqA^aOLO~QGb%)Ml;J7{}0@ak!&W8+C1r5O2PGCU*(ArK9wn6iW z7_PS9I73;urXRn0lFNZWvI)#HZr@sUi0|1^Ieqcff$9^yB95zXF9bE zO~~XbhR%U1Ull>ZDtG|ADB=;ZjX+0W?aZ2lcz>l<>|Ll1YbKo8;Bg`4ZIwhghxA^$ z2Qk)xF2}E*nC7M&8vl!eh7WM+w($e;*F zZ=G~B17>C7!9!dzNE1>R5}Y$zzPBa2M@O&2#_=2H7S~CP=EQ8*<|+|;IK1o%FoHBp zl3VmudY*AwgF#thm=Vj>e+6QvRcN=YbHHCQ>Le1`F_D3iinAG{eFNGx2g-OBuA*c$ z$MJ9OUc#~QH_!W`;e@>x6oZ&hwx68l@b1ivoYOJ~I>Yet>TZUPHck;F6J-74qvt0w(7#&)(>EzrI_?ewHH;7f zGa%~dKG8888~kFFQjiny;8s>?gGR?q;oJmW1Vg$;uujar(N|z&1@R4Oujti*WQP-` zCuNW0x6ZrMV$N0zs{B5em8u9Vn~FUblE1zooRnVExCOv$fw!#E!}dz40KC}oJLfY}aH>Q`OiPHC(4U+*Yo1~^@jf_aX?tZo zvlLswHR9!xbxiV2o6t3`1$Bo+-CYWRVFi*jbiwLK2>OXMdDf`gD|RVQ9E9We-Ln9L zmH?DdD!F_a9K}l~bkuvn6Fwn7^&H*J(|f%N-b8g!1cJBbJK8{EQ9*t*A@Il$E3<~j zoD;HYBCFFC`s3=d2MWLqVOcB3@7=x9?X;6v3Xo5k3~GSw&FxH|5ctulv?jAdCN5pb zaHK|8Z{Q5%@Np&0C8Oh*jRLL;Fev~QYOj!+qqE#y0&|zrXhz|gYh~z28$hnvPW8|qoQGFY_^=9OIs4RHFHCm@KUndALnYG(ooiRktb49BG+2;t zDl~PTS|Cq+0;;T?Y+}UQu_08Dw%71A$RO($SJa$Sdpe}YI6?0^;6bqj>TEpei%=mFK56V2gL z6$zU<3r;k%9ba~)40Ekz3UK-qg!!E-E2b24?25FOf>B11;v@}v8b*K;B1E&Cnu0E; zFalnxGh9j#NI`gxX7{dyb{3GK%Z-aDB!TkxD_Iak7k z7K9@rd{)AVFx}f2o|syJw&*}`;+nn|_#V+6Iy|kUh$qIFwID_ZDY21c7>8vCZvyJ64n!<;aSfRV zGMJ4>yGTF&$~_e3Z$_4ak;d^=_wIkj7r(ThfA09|d-p%{i{=Y2eCbp8>TB-Zf9tC; zGOs*1zV_a0>J{|tkFUFT|MnNges4VW;w$fa`N4DX?)N`;eEq%qpZkT+zYy#kn-_!arKd#}yWUX9Fo<-zfv;E#AXZ~KJH@t*g*|GDGa@4d=yc=sb$ zM?CubKJn^&$G!XSczi<7YZvJ|@4d!)c-?P!?OJ`;z59RRjegI^FWGnB zyMO-;e(Dpi-1ppj=IK{OOAjYvZ@v28r=NRGv4lA*rInZg(~q?YgV1h}ipdfk?y+F> ziMExy8_6iWjJmA>iqphSs|7~4&9FqNROEiF$~%OXS3SAD3u)7J=J2YeDbUcZ6uCA@ zgnx(O`3A|yWe`As$p2V4=i6d{&6On5job8vL*-~V7wu$NVYcAkA zlH7&)^Z=ecbZo5eeO6eN3)%~GJum3b2g1vUQ>XRdbA_y33Jd7kit!pM#N6V5XL zgAvkvl1b1J>p9Pg%bnroz^rDT4QNz11)`P>`CluFNQ_w*5)g2}QyV~$8rp)D@C3--v#!8H)XwFbpQfk#CoJDrUw;|^<*0ytvtv|R z;4*8BdPr!%oxS8FYqv4v)Zh&y%$e=N2;^?HG$7?S%!^cD!rI)ti%C?52q@s6DIM}W zs0-ct%+c!H#;vx!_VL4SSa~8I@@(zyy^v}M9Ym8E5JwCflZI0wOtE2_QUxPzf)qs- zIQv6|>wxwFdntm_b805!id{kE#rJhmDGGwd0DRbVLv72^MC$Ql_fGBSI@#OxgnEw4)9{haF*Aief0OARg7lp-({*Z}Azzw{qyhv5qh_0xJRa ziqsP;22cFyc$DMszS$+~b6$Go1r$jyJ>}0o`}~W?|8(#Ey@zYoweS4+y=#jWc~s0( zctBQ}=&6!!BrLn^lqs_2Nbikyud8A=9M~i4)}_)0$XBe0R7a~TAdF^UPgS6V7F*Vw z+5!j>CR88Xn5u0+tE82@wrJfnhx*#0b?0FX`rPyTm1pCrS6+Vb>`T{|u$#Vuk9YXo zboRrm@w$()g&w}}Cm_!3uU(FxcMMO!DZvZ>Ds@gr@F^Kt~v z<%tt!Ir}?F3+7GuTqBVIu@^k?@Z$~lp|}IH04|NZUvQoaei9@NM4Mtb=tI}>^G}@g zF9fvL0%S>n%oClV=?hv1WMGU1tz>7s6>lA*M4%W#`#>B^56jt?_Ck=uR*vC_aVc6e z5+<#}V-=7I%53LJ&9bF5jH}VWIQ})>MFn80LfB9W1}_kj%v!g2mYt<%LF_?y-H?Fx z%@ImSmjcyd@7|2rvO#ErDXwpsfFQ9|r29=pt}Wz>pXtpiA!+! z{NfXrK!pCKCoaLD_sdUQ!sGiZPh3Ez=<%!Ple%(DsI!Z+!mKaU2lBZGtV!OsWUZ7m z1fUG0uR-TBvUIU+iC$w3B4D2gm^E%O6rXs$_e~Xm4=vosZ$5GV$u~%2J?Ca0ed3Rh)_VNb6ZhZo20!(IST9WfOUJ)` z;t%73|MnBtU0}cS#A^edKkWVe?i2U_;vfEFpYS$+?}_{W!5{v^ufE&gf8vioCI16l z^hc=V#H&x}264t)aO*2FM|RMd{Zv`T;MoR`Jv0gsM$&OG+%lp4uvNDU{O2mLvj8|c z#;MRH0HOK-@`k)Q4h%@Gfc`xaDu~}=o1I4xt%}|}V*B8=G7S1&p;gg74M!QxTf9CY( zUwq$FU;NUSybeTu!`JQcXZkX8@K2otFjy+Kjjx4{6|(1e6ip+G0)by4A2)>!)?h@79MM?mEG`cp55 z*IMwv2F#xbeVS!LVvLND#fa8eY)J;@AxM151$;U{t_a+^3dv8Gz2??#MRoTQQ7UHW4B++CV3dHym#vA4YCL zS5t@WYg22jf!&4jYk;Lch*40DI-{U@?73DeGkmMHRvV~H@F|9(cAOmAtJUVm-+ad< zT%aF*$D2IUzbXkhAG6~}-|=c}`NPG@rDa8d01y*W28IK;g0chdNI0fi6N2p}5^^Ij zgqB-kc!rLJLb`9$@Ze4N=@OQR>kqJJkfCIs>`SxDJYlv%Q<{8%)ryFLyK3tsc z-+m3P{M>V|yzjxwU;1#h`mBeqKlTKF)7SFx3)W3Diyzu(A3=0{#?{wx9Xf?luH(~h zm{jxXy7?H8(bdBF*^h+Jysr0o!&mbSdY?DUT>4|C8{Ih3{A2I9gyzXfH-hVlTeMlA zlm;V4y9Fq`&yJIFD;j12LHl71JDv)UKyYbozC$7r0OAqzV6MZL`3 zB6kAdT?AH@xn@f zP12eR@282KD!;TS9j#LY_@)j$#~TesgMpbQ9EA!`-53>CisL`K2*%QXe#J=+5=~_g z&Aml83^s@tw7LFv$F6JPSG>-7Z4=t<}iYlT_Eu+7!opS z@za^k$A57t?5($7XvOze-+2k0`LB5AB@n>A@|~Bk#eLO9EM;H)&P#Z3zUG~uS~Anu zzw>b%vTu0jAE7h+jqkjcR|(QkX}PH*=D_=Cg`g2c6u|BZDt*axkmE--nZp^tgPH(j zI3bO3LGgr%;;ul3O)_Vl+`Dy_R(W$$XE28P38Lx9HYrW^@L8`NB5wLV{iKJ8w_IJw z>!*jCzKnk=PY*X{N5)op+5V*Cokb<`Ti#_;b!@PCqFep>)&|tah1^z zJ$X$jx{J)56;>Xmh0#MPj1wqvYa$(Vqa7)jCo|9!HfR9c#!wH^0N`FXIu_7=5Qe5? zr`w*0w$@n-P&Tkq_hnTSys;?IRPH{LuFKnRc-En~U(r96^$$i~ zybEK^1G;YQ?2}ze;_-%f3M9zsP*9)Fyg3XBhe$kMDK4Wtjr#bFe- zD~LJ^N733kcHNi>g~bMn7BtJw)Bm5Pz5zm(Q^#&U}rtP>ur~S|N9@GyoA2x zk6ubediU`a>5bQdKYkHa*x!4zcJas5T>s$7Ytw4%D23LNbZ4TXYeN*XDvA>Wg4C#> zodY0r-v$W$$dO1~sH}f9a4u0Qn4LX+ex&XXQ6ey z=DO(#(yiZthEUeo_heh9@?u&Y*a?LR00xzMPWd z#v2L$&7~ARmpa<|$#-2s;qy=5bqTlZPrd6BZkC^Z*QZwa{Or3PSNQzgyRH>JIb@!| zwZX#MH`eoMAQBphZ-JpXu&iS{$7+kK1tMn?j$+XyKtj~bE1U-$LtR1om5uzQ&ETy= zZj-fvGg4=#GTP*%J#}73hTil_an0%ZSuelz)O_K=;|raezI2cGPF+NyL)Xxu^l3te z-uP4b6Sv;T?0NHx=jUI-1^TJa|I~ZIKlAz5dchq>8$kuub`Fqy#NA;yb0nV!Yi~LB zUPuCSmno5n_N0u75c5Gi;Cx2*`9}OloS@9~E{N3N+3RGFDpq+8q?>>tQ8&{}Fkr7c zmu`5D`bke`w_bSh`7aKC`Kg!U#rHq(*G=DV`g%V8i1z=LcW%9!XGIwgFqt75aKNNZ z-W!rV7v4y_4z+4k&6Ux_FW~(#lo$>PFPPf8&EUAvyZ= zO-TsedqYo?&)$g6_s@Ok$3IOz|Dh-6U`xwg3U7r?X6Kbsx*n=Tw?$d%K%UjmDsjLj zq%olwf~x~Lro0-7|qxJljNbxZ`Kqn9yZ!5t&`7+4}fj^U%=Ob@p0(i~0^Z(^xa_!&D8ypCK;YMs-Uwj9)t}j2ib@4bXbdw+zY1KY< z@FcO)V4*hFw7GHF;2a7kAEj9|NP(WbmWDM6MNd*2U4@gt>*G-!)~_p!H(A0jsp{OV z&B_VBgmML{`^hrJHS@kW5Br%grbnI}mDqUBFvD50zQDCRly_G$C**n8}LyyK{`#9-534O!n&5`F=2U1Eq`h#~2L0K)%xgJW zlUn)=Llr{_#f;;9I(A-A?2zxuSYUxvyc+ILQVg#9_CJZw!cF@j!^3O7Wp5q)--tt1 zZkOA&yearUe(~cUtJh9c{>)FIU!Mey90IBjS~Ah3*v5{%2gO<~aJx$x(q_PTt%TL# z?VuL;Vg#iJaGrsM>YeiDYceuK57!m^Z{HBG*Oz;08Sz5{rsDU!v|Ld>lAj- zoZ)M?0}w~8rmMj)4rHswRK*-ly)HfqHrz%laTw%7;%p?r?Q)Y2!%#LrvJUYm2#$%E zsvafHai9{!&>Xeu`L{lB6Np`(JYf|!TA|po(S=)mt)oWFw5f)%qANA4fPbknCOP%! zrT0msnZ%8%6$g=QWRr?o^PF=u1k8wLR49-HaUmC;+z_ZOgN;QqqCEfh(Q9eiz!7qZ zIHU)es}YsD#>}y~uHqsE7_8~7+p2XGamG_#`+%cP+u-bpFUA?Cl?js}w=MD($j zSE4O&{c9cdHS=z@(K!FkjhLYL-4DE7vA;xPIDgDl9riMuteVz4)ea(p%)T;p)mm0D z_!)L|`BHfp2$PiMQHBRsukftVTC7=ED*UejTa*OY8=s(X(^mA)lm*~BnVtXObO4UM zFJbs@J13Q_BO0iO?4!v+0t=AL-~)PK>VVGm+BT`r0n!HpKSjWT<<@qfy<@IA23o(+ zs?#bD2NPv-OwMlHtVpf|KkNL5$1A%e22mSUy;0I?0r3jzE#fN4e%ynptzq+DFo;vt zoD)!LfTWvkPLP>59xJytv=-K?$&L5i%y>&f${cVI8ntX)1!SBkt(-q~x(OTVr?HBi zWuz_xQn?Llb1>O}!v%F!0c4CLD|aL($cSf1S)&V1uBMhd3fR3Muf&8x zxE+^_sqbV^BKloNNvlmqZaG^n5_mDLE%f77e%$8bYO`>_7JkFJ&Sl zx3V#GB^B(0Tou5-dYH!L`A?2};T8K>cF>Y{q=nVhNBFRYrxGI+tC}9bn+E4#kv;JN zX{@?OQqe|xw4uCov;f-}hRKYse|y-`l9??k5{@1wDZ$8Aa-KhPycfQ)ZD~hl>IrMp z&ZQ67m~ttZBBdwe&J*zfOi~N+G<7f7V$|xiex!vR3QZO@%y>k!-9(NF!3umRg8`nN zfr-S)>WO6b{HMn^bxU&!i5~MHSz;hq#_r-?cP zSuGn3Cd*+pdeycdsx>cK=b)7YeOS|*1_H8L8&&V){AXAN_MKr1U({%@=||*d%~{8+ z!mI8uts)E$XQwLIV%FMdbsU|m>$JKt z^Qf2|G<=PFmb$Fl#-84*RFP%2npj<{YzYC@j#3~pM z6JT97AF%N$8MQv-r-n#aU8{*!#Ca(~5{){XxGOIvowd2;(6%&O1E+4ciiQLb zOYyrokEXe?cu@67r&%2a-?1pGOPLrYUWh0wjEPELF}Ws3-;)vQoj;FNznc~zeNe`stbOR(0 z&e#QB`o4%!J;S#dO`Wh^PT#c$mp1$8qx3@Jj^dt$Hzd@)(Enc0CO>DuabHU|G~V~l zn{}e!y3M6L&wq4|x44BaIveolQL9@t^LK-ddaMIu0W_3Jj(^WU8gnU97|Nc>|AV0#LrTAVww z=aN2oZk}is?-_ls;&W|Av|5|tF4)+P#u64(qGZN8fARGE?YEG&uHKuM_*lIB;Bx-b>G^lR zozC@G$2!O%UpZYp`wI|fUcCJLj*mUKfB){~{12zAXX3J6y>oY;|M7J7)Qfi>+&O>s zboJE5E|>GyPFL^4KRz7yR_q=7{Pok-)0YRIxclnm{7JxVF?)e+1tDkv;u=e8Rg%@61$2U(`?|-c^ z_2F{9b$V_6$EyDQ^`DQA{r2lWAB+9Y=`{@Lo7eo^(`!wykCy(u*FWv?!vEv-|MY16 z|9N^%7Q|(I|MibMuI2}LGKVbqSn^tTUOq1D_KTP2-+d^B;k+ICMfH|@f`cbzY19L$ z)r&!|9Sb`}9o?uY0=%%!1~zgDZ%E!%kn!7?h0$jaWUe!1*HXMLOw#1k(CV=g3cM5C z3y{C>a-83F94wm)Ax)`+v}p0yCeOO&^qRk>}X)hM5?TAI7qg6ID^mu zT6M5cBijap+9h?>89SB7$WVv^fT@#lECbD`? z_h}f^-kFg zz3d``1t73JqU)?-qPO4m9u9f}FIJK$L_^UMjhp zmsq99#s#o8j0I2(-t2&WYgK`)aI_>Kd-n-CA6LW+2HI+L1kh`+l3~(q=kif1&g!~q zp&Ucj`I8@fJ96N)Kc+7|cM~4dm$8bbz{Ssp^D90L?R^uWMvzXI6|Ek0@?(&Lymb`p zkdk5d8sLf6P91b!l9o(d8z9BqK_iwWk) z;R-KMMMz!h0Z|hL#A!gLL$AnAK!71(EaQmtSDyP33t>O~_{_bBE%}8P{QfI({_1mAx1RX@qs{sJwddYA z7xMhqpT2tb?tOphm+#z-U;5SXmoBf~JEG|rwe&68`X=mqb1^138P9*YYpo)X0<_qS zSd-kLnPg1veeR8#=j3hb!(CK1jY5k%FEC!gx~i)+#MvDsqTSbo+?C$f7*S>bQ4s)S^CQUs literal 0 HcmV?d00001 diff --git a/.yarnrc.yml b/.yarnrc.yml new file mode 100644 index 0000000..61e7bde --- /dev/null +++ b/.yarnrc.yml @@ -0,0 +1,3 @@ +nodeLinker: node-modules +approvedGitRepositories: + - "https://github.com/ONSdigital/*" diff --git a/package.json b/package.json index e91aab9..86eac82 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,7 @@ { "name": "blaise-api-node-client", "version": "1.0.0", + "private": true, "license": "MIT", "engines": { "node": ">=24.0.0" @@ -43,7 +44,8 @@ "globals": "^17.5.0", "jiti": "^2.6.1", "prettier": "^3.8.3", - "typescript-eslint": "^8.59.0", + "typescript-eslint": "^8.59.1", "vitest": "^4.1.5" - } + }, + "packageManager": "yarn@4.14.1" } diff --git a/src/blaiseApiClient.ts b/src/blaiseApiClient.ts index e2dc2d0..65c8039 100644 --- a/src/blaiseApiClient.ts +++ b/src/blaiseApiClient.ts @@ -1,5 +1,5 @@ import axios, { AxiosInstance } from "axios"; -import BlaiseIapNodeProvider from "blaise-iap-node-provider"; +import { BlaiseIapNodeProvider } from "blaise-iap-node-provider"; import { BlaiseApiConfig } from "./types/blaiseApiConfig.js"; import { BlaiseApi } from "./types/blaiseApi.js"; import * as users from "./resources/user.js"; diff --git a/yarn.lock b/yarn.lock index fb62c54..8b931a9 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1,2817 +1,4077 @@ -# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. -# yarn lockfile v1 - - -"@babel/helper-string-parser@^7.27.1": - version "7.27.1" - resolved "https://registry.yarnpkg.com/@babel/helper-string-parser/-/helper-string-parser-7.27.1.tgz#54da796097ab19ce67ed9f88b47bb2ec49367687" - integrity sha512-qMlSxKbpRlAridDExk92nSobyDdpPijUq2DW6oDnUqd0iOGxmQjyqhMIihI9+zv4LPyZdRje2cavWPbCbWm3eA== - -"@babel/helper-validator-identifier@^7.28.5": - version "7.28.5" - resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.28.5.tgz#010b6938fab7cb7df74aa2bbc06aa503b8fe5fb4" - integrity sha512-qSs4ifwzKJSV39ucNjsvc6WVHs6b7S03sOh2OcHF9UHfVPqWWALUsNUVzhSBiItjRZoLHx7nIarVjqKVusUZ1Q== - -"@babel/parser@^7.29.0": - version "7.29.2" - resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.29.2.tgz#58bd50b9a7951d134988a1ae177a35ef9a703ba1" - integrity sha512-4GgRzy/+fsBa72/RZVJmGKPmZu9Byn8o4MoLpmNe1m8ZfYnz5emHLQz3U4gLud6Zwl0RZIcgiLD7Uq7ySFuDLA== - dependencies: - "@babel/types" "^7.29.0" - -"@babel/types@^7.29.0": - version "7.29.0" - resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.29.0.tgz#9f5b1e838c446e72cf3cd4b918152b8c605e37c7" - integrity sha512-LwdZHpScM4Qz8Xw2iKSzS+cfglZzJGvofQICy7W7v4caru4EaAmyUuO6BGrbyQ2mYV11W0U8j5mBhd14dd3B0A== - dependencies: - "@babel/helper-string-parser" "^7.27.1" - "@babel/helper-validator-identifier" "^7.28.5" - -"@bcoe/v8-coverage@^1.0.2": - version "1.0.2" - resolved "https://registry.yarnpkg.com/@bcoe/v8-coverage/-/v8-coverage-1.0.2.tgz#bbe12dca5b4ef983a0d0af4b07b9bc90ea0ababa" - integrity sha512-6zABk/ECA/QYSCQ1NGiVwwbQerUCZ+TQbp64Q3AgmfNvurHH0j8TtXa1qbShXA6qqkpAj4V5W8pP6mLe1mcMqA== - -"@emnapi/core@1.9.2": - version "1.9.2" - resolved "https://registry.yarnpkg.com/@emnapi/core/-/core-1.9.2.tgz#3870265ecffc7352d01ead62d8d83d8358a2d034" - integrity sha512-UC+ZhH3XtczQYfOlu3lNEkdW/p4dsJ1r/bP7H8+rhao3TTTMO1ATq/4DdIi23XuGoFY+Cz0JmCbdVl0hz9jZcA== - dependencies: - "@emnapi/wasi-threads" "1.2.1" - tslib "^2.4.0" - -"@emnapi/core@^1.4.3": - version "1.10.0" - resolved "https://registry.yarnpkg.com/@emnapi/core/-/core-1.10.0.tgz#380ccc8f2412ea22d1d972df7f8ee23a3b9c7467" - integrity sha512-yq6OkJ4p82CAfPl0u9mQebQHKPJkY7WrIuk205cTYnYe+k2Z8YBh11FrbRG/H6ihirqcacOgl2BIO8oyMQLeXw== - dependencies: - "@emnapi/wasi-threads" "1.2.1" - tslib "^2.4.0" - -"@emnapi/runtime@1.9.2": - version "1.9.2" - resolved "https://registry.yarnpkg.com/@emnapi/runtime/-/runtime-1.9.2.tgz#8b469a3db160817cadb1de9050211a9d1ea84fa2" - integrity sha512-3U4+MIWHImeyu1wnmVygh5WlgfYDtyf0k8AbLhMFxOipihf6nrWC4syIm/SwEeec0mNSafiiNnMJwbza/Is6Lw== - dependencies: - tslib "^2.4.0" - -"@emnapi/runtime@^1.4.3": - version "1.10.0" - resolved "https://registry.yarnpkg.com/@emnapi/runtime/-/runtime-1.10.0.tgz#4b260c0d3534204e98c6110b8db1a987d26ec87c" - integrity sha512-ewvYlk86xUoGI0zQRNq/mC+16R1QeDlKQy21Ki3oSYXNgLb45GV1P6A0M+/s6nyCuNDqe5VpaY84BzXGwVbwFA== - dependencies: - tslib "^2.4.0" - -"@emnapi/wasi-threads@1.2.1": - version "1.2.1" - resolved "https://registry.yarnpkg.com/@emnapi/wasi-threads/-/wasi-threads-1.2.1.tgz#28fed21a1ba1ce797c44a070abc94d42f3ae8548" - integrity sha512-uTII7OYF+/Mes/MrcIOYp5yOtSMLBWSIoLPpcgwipoiKbli6k322tcoFsxoIIxPDqW01SQGAgko4EzZi2BNv2w== - dependencies: - tslib "^2.4.0" - -"@eslint-community/eslint-utils@^4.8.0", "@eslint-community/eslint-utils@^4.9.1": - version "4.9.1" - resolved "https://registry.yarnpkg.com/@eslint-community/eslint-utils/-/eslint-utils-4.9.1.tgz#4e90af67bc51ddee6cdef5284edf572ec376b595" - integrity sha512-phrYmNiYppR7znFEdqgfWHXR6NCkZEK7hwWDHZUjit/2/U0r6XvkDl0SYnoM51Hq7FhCGdLDT6zxCCOY1hexsQ== - dependencies: - eslint-visitor-keys "^3.4.3" - -"@eslint-community/regexpp@^4.12.2": - version "4.12.2" - resolved "https://registry.yarnpkg.com/@eslint-community/regexpp/-/regexpp-4.12.2.tgz#bccdf615bcf7b6e8db830ec0b8d21c9a25de597b" - integrity sha512-EriSTlt5OC9/7SXkRSCAhfSxxoSUgBm33OH+IkwbdpgoqsSsUg7y3uh+IICI/Qg4BBWr3U2i39RpmycbxMq4ew== - -"@eslint/config-array@^0.23.5": - version "0.23.5" - resolved "https://registry.yarnpkg.com/@eslint/config-array/-/config-array-0.23.5.tgz#56e86d243049195d8acc0c06a1b3dfdc3fa3de95" - integrity sha512-Y3kKLvC1dvTOT+oGlqNQ1XLqK6D1HU2YXPc52NmAlJZbMMWDzGYXMiPRJ8TYD39muD/OTjlZmNJ4ib7dvSrMBA== - dependencies: - "@eslint/object-schema" "^3.0.5" - debug "^4.3.1" - minimatch "^10.2.4" - -"@eslint/config-helpers@^0.5.5": - version "0.5.5" - resolved "https://registry.yarnpkg.com/@eslint/config-helpers/-/config-helpers-0.5.5.tgz#ae16134e4792ac5fbdc533548a24ac1ea9f7f3ae" - integrity sha512-eIJYKTCECbP/nsKaaruF6LW967mtbQbsw4JTtSVkUQc9MneSkbrgPJAbKl9nWr0ZeowV8BfsarBmPpBzGelA2w== - dependencies: - "@eslint/core" "^1.2.1" - -"@eslint/core@^1.2.1": - version "1.2.1" - resolved "https://registry.yarnpkg.com/@eslint/core/-/core-1.2.1.tgz#c1da7cd1b82fa8787f98b5629fb811848a1b63ce" - integrity sha512-MwcE1P+AZ4C6DWlpin/OmOA54mmIZ/+xZuJiQd4SyB29oAJjN30UW9wkKNptW2ctp4cEsvhlLY/CsQ1uoHDloQ== - dependencies: - "@types/json-schema" "^7.0.15" - -"@eslint/js@^10.0.1": - version "10.0.1" - resolved "https://registry.yarnpkg.com/@eslint/js/-/js-10.0.1.tgz#1e8a876f50117af8ab67e47d5ad94d38d6622583" - integrity sha512-zeR9k5pd4gxjZ0abRoIaxdc7I3nDktoXZk2qOv9gCNWx3mVwEn32VRhyLaRsDiJjTs0xq/T8mfPtyuXu7GWBcA== - -"@eslint/object-schema@^3.0.5": - version "3.0.5" - resolved "https://registry.yarnpkg.com/@eslint/object-schema/-/object-schema-3.0.5.tgz#88e9bf4d11d2b19c082e78ebe7ce88724a5eb091" - integrity sha512-vqTaUEgxzm+YDSdElad6PiRoX4t8VGDjCtt05zn4nU810UIx/uNEV7/lZJ6KwFThKZOzOxzXy48da+No7HZaMw== - -"@eslint/plugin-kit@^0.7.1": - version "0.7.1" - resolved "https://registry.yarnpkg.com/@eslint/plugin-kit/-/plugin-kit-0.7.1.tgz#c4125fd015eceeb09b793109fdbcd4dd0a02d346" - integrity sha512-rZAP3aVgB9ds9KOeUSL+zZ21hPmo8dh6fnIFwRQj5EAZl9gzR7wxYbYXYysAM8CTqGmUGyp2S4kUdV17MnGuWQ== - dependencies: - "@eslint/core" "^1.2.1" - levn "^0.4.1" - -"@humanfs/core@^0.19.2": - version "0.19.2" - resolved "https://registry.yarnpkg.com/@humanfs/core/-/core-0.19.2.tgz#a8272ca03b2acf492670222b2320b6c421bfde60" - integrity sha512-UhXNm+CFMWcbChXywFwkmhqjs3PRCmcSa/hfBgLIb7oQ5HNb1wS0icWsGtSAUNgefHeI+eBrA8I1fxmbHsGdvA== - dependencies: - "@humanfs/types" "^0.15.0" - -"@humanfs/node@^0.16.6": - version "0.16.8" - resolved "https://registry.yarnpkg.com/@humanfs/node/-/node-0.16.8.tgz#8f800cccc13f4f8cd3116e2d9c0a94939da3e3ed" - integrity sha512-gE1eQNZ3R++kTzFUpdGlpmy8kDZD/MLyHqDwqjkVQI0JMdI1D51sy1H958PNXYkM2rAac7e5/CnIKZrHtPh3BQ== - dependencies: - "@humanfs/core" "^0.19.2" - "@humanfs/types" "^0.15.0" - "@humanwhocodes/retry" "^0.4.0" - -"@humanfs/types@^0.15.0": - version "0.15.0" - resolved "https://registry.yarnpkg.com/@humanfs/types/-/types-0.15.0.tgz#f2a09f62012390b2bff3fc6fb248ddec8c09a090" - integrity sha512-ZZ1w0aoQkwuUuC7Yf+7sdeaNfqQiiLcSRbfI08oAxqLtpXQr9AIVX7Ay7HLDuiLYAaFPu8oBYNq/QIi9URHJ3Q== - -"@humanwhocodes/module-importer@^1.0.1": - version "1.0.1" - resolved "https://registry.yarnpkg.com/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz#af5b2691a22b44be847b0ca81641c5fb6ad0172c" - integrity sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA== - -"@humanwhocodes/retry@^0.4.0", "@humanwhocodes/retry@^0.4.2": - version "0.4.3" - resolved "https://registry.yarnpkg.com/@humanwhocodes/retry/-/retry-0.4.3.tgz#c2b9d2e374ee62c586d3adbea87199b1d7a7a6ba" - integrity sha512-bV0Tgo9K4hfPCek+aMAn81RppFKv2ySDQeMoSZuvTASywNTnVJCArCZE2FWqpvIatKu7VMRLWlR1EazvVhDyhQ== - -"@jridgewell/resolve-uri@^3.1.0": - version "3.1.2" - resolved "https://registry.yarnpkg.com/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz#7a0ee601f60f99a20c7c7c5ff0c80388c1189bd6" - integrity sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw== - -"@jridgewell/sourcemap-codec@^1.4.14", "@jridgewell/sourcemap-codec@^1.5.5": - version "1.5.5" - resolved "https://registry.yarnpkg.com/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.5.tgz#6912b00d2c631c0d15ce1a7ab57cd657f2a8f8ba" - integrity sha512-cYQ9310grqxueWbl+WuIUIaiUaDcj7WOq5fVhEljNVgRfOUhY9fy2zTvfoqWsnebh8Sl70VScFbICvJnLKB0Og== - -"@jridgewell/trace-mapping@^0.3.31": - version "0.3.31" - resolved "https://registry.yarnpkg.com/@jridgewell/trace-mapping/-/trace-mapping-0.3.31.tgz#db15d6781c931f3a251a3dac39501c98a6082fd0" - integrity sha512-zzNR+SdQSDJzc8joaeP8QQoCQr8NuYx2dIIytl1QeBEZHJ9uW6hebsrYgbz8hJwUQao3TWCMtmfV8Nu1twOLAw== - dependencies: - "@jridgewell/resolve-uri" "^3.1.0" - "@jridgewell/sourcemap-codec" "^1.4.14" - -"@napi-rs/wasm-runtime@^0.2.11": - version "0.2.12" - resolved "https://registry.yarnpkg.com/@napi-rs/wasm-runtime/-/wasm-runtime-0.2.12.tgz#3e78a8b96e6c33a6c517e1894efbd5385a7cb6f2" - integrity sha512-ZVWUcfwY4E/yPitQJl481FjFo3K22D6qF0DuFH6Y/nbnE11GY5uguDxZMGXPQ8WQ0128MXQD7TnfHyK4oWoIJQ== - dependencies: - "@emnapi/core" "^1.4.3" - "@emnapi/runtime" "^1.4.3" - "@tybys/wasm-util" "^0.10.0" - -"@napi-rs/wasm-runtime@^1.1.4": - version "1.1.4" - resolved "https://registry.yarnpkg.com/@napi-rs/wasm-runtime/-/wasm-runtime-1.1.4.tgz#a46bbfedc29751b7170c5d23bc1d8ee8c7e3c1e1" - integrity sha512-3NQNNgA1YSlJb/kMH1ildASP9HW7/7kYnRI2szWJaofaS1hWmbGI4H+d3+22aGzXXN9IJ+n+GiFVcGipJP18ow== - dependencies: - "@tybys/wasm-util" "^0.10.1" - -"@oxc-project/types@=0.126.0": - version "0.126.0" - resolved "https://registry.yarnpkg.com/@oxc-project/types/-/types-0.126.0.tgz#9d9fa6fe9af5bc6c45996c6d9b9a3b3a4cd500e5" - integrity sha512-oGfVtjAgwQVVpfBrbtk4e1XDyWHRFta6BS3GWVzrF8xYBT2VGQAk39yJS/wFSMrZqoiCU4oghT3Ch0HaHGIHcQ== - -"@pkgr/core@^0.2.9": - version "0.2.9" - resolved "https://registry.yarnpkg.com/@pkgr/core/-/core-0.2.9.tgz#d229a7b7f9dac167a156992ef23c7f023653f53b" - integrity sha512-QNqXyfVS2wm9hweSYD2O7F0G06uurj9kZ96TRQE5Y9hU7+tgdZwIkbAKc5Ocy1HxEY2kuDQa6cQ1WRs/O5LFKA== - -"@rolldown/binding-android-arm64@1.0.0-rc.16": - version "1.0.0-rc.16" - resolved "https://registry.yarnpkg.com/@rolldown/binding-android-arm64/-/binding-android-arm64-1.0.0-rc.16.tgz#9af7872d363738e7a2aaa1c1be8cad57adf75798" - integrity sha512-rhY3k7Bsae9qQfOtph2Pm2jZEA+s8Gmjoz4hhmx70K9iMQ/ddeae+xhRQcM5IuVx5ry1+bGfkvMn7D6MJggVSA== - -"@rolldown/binding-darwin-arm64@1.0.0-rc.16": - version "1.0.0-rc.16" - resolved "https://registry.yarnpkg.com/@rolldown/binding-darwin-arm64/-/binding-darwin-arm64-1.0.0-rc.16.tgz#88f394f20c664ac2c51fe5d5d364b94bbf8ef430" - integrity sha512-rNz0yK078yrNn3DrdgN+PKiMOW8HfQ92jQiXxwX8yW899ayV00MLVdaCNeVBhG/TbH3ouYVObo8/yrkiectkcQ== - -"@rolldown/binding-darwin-x64@1.0.0-rc.16": - version "1.0.0-rc.16" - resolved "https://registry.yarnpkg.com/@rolldown/binding-darwin-x64/-/binding-darwin-x64-1.0.0-rc.16.tgz#d5350b1d3d13fddb1bc5abb00cadc07787a5d6fa" - integrity sha512-r/OmdR00HmD4i79Z//xO06uEPOq5hRXdhw7nzkxQxwSavs3PSHa1ijntdpOiZ2mzOQ3fVVu8C1M19FoNM+dMUQ== - -"@rolldown/binding-freebsd-x64@1.0.0-rc.16": - version "1.0.0-rc.16" - resolved "https://registry.yarnpkg.com/@rolldown/binding-freebsd-x64/-/binding-freebsd-x64-1.0.0-rc.16.tgz#116fe2b906ef658e913bd1419775114dee97c35f" - integrity sha512-KcRE5w8h0OnjUatG8pldyD14/CQ5Phs1oxfR+3pKDjboHRo9+MkqQaiIZlZRpsxC15paeXme/I127tUa9TXJ6g== - -"@rolldown/binding-linux-arm-gnueabihf@1.0.0-rc.16": - version "1.0.0-rc.16" - resolved "https://registry.yarnpkg.com/@rolldown/binding-linux-arm-gnueabihf/-/binding-linux-arm-gnueabihf-1.0.0-rc.16.tgz#3a72b393936c580b40aa66230cdc30ac20fb0409" - integrity sha512-bT0guA1bpxEJ/ZhTRniQf7rNF8ybvXOuWbNIeLABaV5NGjx4EtOWBTSRGWFU9ZWVkPOZ+HNFP8RMcBokBiZ0Kg== - -"@rolldown/binding-linux-arm64-gnu@1.0.0-rc.16": - version "1.0.0-rc.16" - resolved "https://registry.yarnpkg.com/@rolldown/binding-linux-arm64-gnu/-/binding-linux-arm64-gnu-1.0.0-rc.16.tgz#3ec9b2dce7b5c29d37272fa3a1aee6159badfb76" - integrity sha512-+tHktCHWV8BDQSjemUqm/Jl/TPk3QObCTIjmdDy/nlupcujZghmKK2962LYrqFpWu+ai01AN/REOH3NEpqvYQg== - -"@rolldown/binding-linux-arm64-musl@1.0.0-rc.16": - version "1.0.0-rc.16" - resolved "https://registry.yarnpkg.com/@rolldown/binding-linux-arm64-musl/-/binding-linux-arm64-musl-1.0.0-rc.16.tgz#4103d75b7e7f2650d32fef0df01ff5441657b6ee" - integrity sha512-3fPzdREH806oRLxpTWW1Gt4tQHs0TitZFOECB2xzCFLPKnSOy90gwA7P29cksYilFO6XVRY1kzga0cL2nRjKPg== - -"@rolldown/binding-linux-ppc64-gnu@1.0.0-rc.16": - version "1.0.0-rc.16" - resolved "https://registry.yarnpkg.com/@rolldown/binding-linux-ppc64-gnu/-/binding-linux-ppc64-gnu-1.0.0-rc.16.tgz#4bff51a9d0c4c5ec402ac10f41cef22d6a21889c" - integrity sha512-EKwI1tSrLs7YVw+JPJT/G2dJQ1jl9qlTTTEG0V2Ok/RdOenRfBw2PQdLPyjhIu58ocdBfP7vIRN/pvMsPxs/AQ== - -"@rolldown/binding-linux-s390x-gnu@1.0.0-rc.16": - version "1.0.0-rc.16" - resolved "https://registry.yarnpkg.com/@rolldown/binding-linux-s390x-gnu/-/binding-linux-s390x-gnu-1.0.0-rc.16.tgz#7b9399eda0b2e49c7e5d2b98172196565de3709f" - integrity sha512-Uknladnb3Sxqu6SEcqBldQyJUpk8NleooZEc0MbRBJ4inEhRYWZX0NJu12vNf2mqAq7gsofAxHrGghiUYjhaLQ== - -"@rolldown/binding-linux-x64-gnu@1.0.0-rc.16": - version "1.0.0-rc.16" - resolved "https://registry.yarnpkg.com/@rolldown/binding-linux-x64-gnu/-/binding-linux-x64-gnu-1.0.0-rc.16.tgz#82b64f4c9aa018718c27a11fc5f8e9141f1c3276" - integrity sha512-FIb8+uG49sZBtLTn+zt1AJ20TqVcqWeSIyoVt0or7uAWesgKaHbiBh6OpA/k9v0LTt+PTrb1Lao133kP4uVxkg== - -"@rolldown/binding-linux-x64-musl@1.0.0-rc.16": - version "1.0.0-rc.16" - resolved "https://registry.yarnpkg.com/@rolldown/binding-linux-x64-musl/-/binding-linux-x64-musl-1.0.0-rc.16.tgz#710c4bf32715d5564fd7bb39bfbe9195f0e8b9a6" - integrity sha512-RuERhF9/EgWxZEXYWCOaViUWHIboceK4/ivdtQ3R0T44NjLkIIlGIAVAuCddFxsZ7vnRHtNQUrt2vR2n2slB2w== - -"@rolldown/binding-openharmony-arm64@1.0.0-rc.16": - version "1.0.0-rc.16" - resolved "https://registry.yarnpkg.com/@rolldown/binding-openharmony-arm64/-/binding-openharmony-arm64-1.0.0-rc.16.tgz#ab5cc4736ff363c4fad67c017edf4634c036e82a" - integrity sha512-mXcXnvd9GpazCxeUCCnZ2+YF7nut+ZOEbE4GtaiPtyY6AkhZWbK70y1KK3j+RDhjVq5+U8FySkKRb/+w0EeUwA== - -"@rolldown/binding-wasm32-wasi@1.0.0-rc.16": - version "1.0.0-rc.16" - resolved "https://registry.yarnpkg.com/@rolldown/binding-wasm32-wasi/-/binding-wasm32-wasi-1.0.0-rc.16.tgz#906dec98ca584cec655a336fca870ac7095fbe93" - integrity sha512-3Q2KQxnC8IJOLqXmUMoYwyIPZU9hzRbnHaoV3Euz+VVnjZKcY8ktnNP8T9R4/GGQtb27C/UYKABxesKWb8lsvQ== - dependencies: - "@emnapi/core" "1.9.2" - "@emnapi/runtime" "1.9.2" - "@napi-rs/wasm-runtime" "^1.1.4" - -"@rolldown/binding-win32-arm64-msvc@1.0.0-rc.16": - version "1.0.0-rc.16" - resolved "https://registry.yarnpkg.com/@rolldown/binding-win32-arm64-msvc/-/binding-win32-arm64-msvc-1.0.0-rc.16.tgz#19dd3cf898727fad4f9209cf2aae829a789a9348" - integrity sha512-tj7XRemQcOcFwv7qhpUxMTBbI5mWMlE4c1Omhg5+h8GuLXzyj8HviYgR+bB2DMDgRqUE+jiDleqSCRjx4aYk/Q== - -"@rolldown/binding-win32-x64-msvc@1.0.0-rc.16": - version "1.0.0-rc.16" - resolved "https://registry.yarnpkg.com/@rolldown/binding-win32-x64-msvc/-/binding-win32-x64-msvc-1.0.0-rc.16.tgz#94f8930ac50d62c5d9a1a14855125aa945a14234" - integrity sha512-PH5DRZT+F4f2PTXRXR8uJxnBq2po/xFtddyabTJVJs/ZYVHqXPEgNIr35IHTEa6bpa0Q8Awg+ymkTaGnKITw4g== - -"@rolldown/pluginutils@1.0.0-rc.16": - version "1.0.0-rc.16" - resolved "https://registry.yarnpkg.com/@rolldown/pluginutils/-/pluginutils-1.0.0-rc.16.tgz#bc27c8f906309b57c6c10eddb21043fd8e86b87e" - integrity sha512-45+YtqxLYKDWQouLKCrpIZhke+nXxhsw+qAHVzHDVwttyBlHNBVs2K25rDXrZzhpTp9w1FlAlvweV1H++fdZoA== - -"@rtsao/scc@^1.1.0": - version "1.1.0" - resolved "https://registry.yarnpkg.com/@rtsao/scc/-/scc-1.1.0.tgz#927dd2fae9bc3361403ac2c7a00c32ddce9ad7e8" - integrity sha512-zt6OdqaDoOnJ1ZYsCYGt9YmWzDXl4vQdKTyJev62gFhRGKdx7mcT54V9KIjg+d2wi9EXsPvAPKe7i7WjfVWB8g== - -"@standard-schema/spec@^1.1.0": - version "1.1.0" - resolved "https://registry.yarnpkg.com/@standard-schema/spec/-/spec-1.1.0.tgz#a79b55dbaf8604812f52d140b2c9ab41bc150bb8" - integrity sha512-l2aFy5jALhniG5HgqrD6jXLi/rUWrKvqN/qJx6yoJsgKhblVd+iqqU4RCXavm/jPityDo5TCvKMnpjKnOriy0w== - -"@tybys/wasm-util@^0.10.0", "@tybys/wasm-util@^0.10.1": - version "0.10.1" - resolved "https://registry.yarnpkg.com/@tybys/wasm-util/-/wasm-util-0.10.1.tgz#ecddd3205cf1e2d5274649ff0eedd2991ed7f414" - integrity sha512-9tTaPJLSiejZKx+Bmog4uSubteqTvFrVrURwkmHixBo0G4seD0zUxp98E1DzUBJxLQ3NPwXrGKDiVjwx/DpPsg== - dependencies: - tslib "^2.4.0" - -"@types/chai@^5.2.2": - version "5.2.3" - resolved "https://registry.yarnpkg.com/@types/chai/-/chai-5.2.3.tgz#8e9cd9e1c3581fa6b341a5aed5588eb285be0b4a" - integrity sha512-Mw558oeA9fFbv65/y4mHtXDs9bPnFMZAL/jxdPFUpOHHIXX91mcgEHbS5Lahr+pwZFR8A7GQleRWeI6cGFC2UA== - dependencies: - "@types/deep-eql" "*" - assertion-error "^2.0.1" - -"@types/deep-eql@*": - version "4.0.2" - resolved "https://registry.yarnpkg.com/@types/deep-eql/-/deep-eql-4.0.2.tgz#334311971d3a07121e7eb91b684a605e7eea9cbd" - integrity sha512-c9h9dVVMigMPc4bwTvC5dxqtqJZwQPePsWjPlpSOnojbor6pGqdk541lfA7AqFQr5pB1BRdq0juY9db81BwyFw== - -"@types/esrecurse@^4.3.1": - version "4.3.1" - resolved "https://registry.yarnpkg.com/@types/esrecurse/-/esrecurse-4.3.1.tgz#6f636af962fbe6191b830bd676ba5986926bccec" - integrity sha512-xJBAbDifo5hpffDBuHl0Y8ywswbiAp/Wi7Y/GtAgSlZyIABppyurxVueOPE8LUQOxdlgi6Zqce7uoEpqNTeiUw== - -"@types/estree@^1.0.0", "@types/estree@^1.0.6", "@types/estree@^1.0.8": - version "1.0.8" - resolved "https://registry.yarnpkg.com/@types/estree/-/estree-1.0.8.tgz#958b91c991b1867ced318bedea0e215ee050726e" - integrity sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w== - -"@types/json-schema@^7.0.15": - version "7.0.15" - resolved "https://registry.yarnpkg.com/@types/json-schema/-/json-schema-7.0.15.tgz#596a1747233694d50f6ad8a7869fcb6f56cf5841" - integrity sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA== - -"@types/json5@^0.0.29": - version "0.0.29" - resolved "https://registry.yarnpkg.com/@types/json5/-/json5-0.0.29.tgz#ee28707ae94e11d2b827bcbe5270bcea7f3e71ee" - integrity sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ== - -"@types/node@^25.6.0": - version "25.6.0" - resolved "https://registry.yarnpkg.com/@types/node/-/node-25.6.0.tgz#4e09bad9b469871f2d0f68140198cbd714f4edca" - integrity sha512-+qIYRKdNYJwY3vRCZMdJbPLJAtGjQBudzZzdzwQYkEPQd+PJGixUL5QfvCLDaULoLv+RhT3LDkwEfKaAkgSmNQ== - dependencies: - undici-types "~7.19.0" - -"@typescript-eslint/eslint-plugin@8.59.0": - version "8.59.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.59.0.tgz#fcbe76b693ce2412410cf4d48aefd617d345f2d9" - integrity sha512-HyAZtpdkgZwpq8Sz3FSUvCR4c+ScbuWa9AksK2Jweub7w4M3yTz4O11AqVJzLYjy/B9ZWPyc81I+mOdJU/bDQw== - dependencies: - "@eslint-community/regexpp" "^4.12.2" - "@typescript-eslint/scope-manager" "8.59.0" - "@typescript-eslint/type-utils" "8.59.0" - "@typescript-eslint/utils" "8.59.0" - "@typescript-eslint/visitor-keys" "8.59.0" - ignore "^7.0.5" - natural-compare "^1.4.0" - ts-api-utils "^2.5.0" - -"@typescript-eslint/parser@8.59.0": - version "8.59.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-8.59.0.tgz#57a138280b3ceaf07904fbd62c433d5cc1ee1573" - integrity sha512-TI1XGwKbDpo9tRW8UDIXCOeLk55qe9ZFGs8MTKU6/M08HWTw52DD/IYhfQtOEhEdPhLMT26Ka/x7p70nd3dzDg== - dependencies: - "@typescript-eslint/scope-manager" "8.59.0" - "@typescript-eslint/types" "8.59.0" - "@typescript-eslint/typescript-estree" "8.59.0" - "@typescript-eslint/visitor-keys" "8.59.0" - debug "^4.4.3" - -"@typescript-eslint/project-service@8.59.0": - version "8.59.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/project-service/-/project-service-8.59.0.tgz#914bf62069d870faa0389ffd725774a200f511bf" - integrity sha512-Lw5ITrR5s5TbC19YSvlr63ZfLaJoU6vtKTHyB0GQOpX0W7d5/Ir6vUahWi/8Sps/nOukZQ0IB3SmlxZnjaKVnw== - dependencies: - "@typescript-eslint/tsconfig-utils" "^8.59.0" - "@typescript-eslint/types" "^8.59.0" - debug "^4.4.3" - -"@typescript-eslint/scope-manager@8.59.0": - version "8.59.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-8.59.0.tgz#f71be268bd31da1c160815c689e4dde7c9bc9e8e" - integrity sha512-UzR16Ut8IpA3Mc4DbgAShlPPkVm8xXMWafXxB0BocaVRHs8ZGakAxGRskF7FId3sdk9lgGD73GSFaWmWFDE4dg== - dependencies: - "@typescript-eslint/types" "8.59.0" - "@typescript-eslint/visitor-keys" "8.59.0" - -"@typescript-eslint/tsconfig-utils@8.59.0", "@typescript-eslint/tsconfig-utils@^8.59.0": - version "8.59.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/tsconfig-utils/-/tsconfig-utils-8.59.0.tgz#1276077f5ad77e384446ea28a2474e8f8be1af41" - integrity sha512-91Sbl3s4Kb3SybliIY6muFBmHVv+pYXfybC4Oolp3dvk8BvIE3wOPc+403CWIT7mJNkfQRGtdqghzs2+Z91Tqg== - -"@typescript-eslint/type-utils@8.59.0": - version "8.59.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/type-utils/-/type-utils-8.59.0.tgz#2834ea3b179cedfc9244dcd4f74105a27751a439" - integrity sha512-3TRiZaQSltGqGeNrJzzr1+8YcEobKH9rHnqIp/1psfKFmhRQDNMGP5hBufanYTGznwShzVLs3Mz+gDN7HkWfXg== - dependencies: - "@typescript-eslint/types" "8.59.0" - "@typescript-eslint/typescript-estree" "8.59.0" - "@typescript-eslint/utils" "8.59.0" - debug "^4.4.3" - ts-api-utils "^2.5.0" - -"@typescript-eslint/types@8.59.0", "@typescript-eslint/types@^8.59.0": - version "8.59.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-8.59.0.tgz#cfcc643c6e879016479775850d86d84c14492738" - integrity sha512-nLzdsT1gdOgFxxxwrlNVUBzSNBEEHJ86bblmk4QAS6stfig7rcJzWKqCyxFy3YRRHXDWEkb2NralA1nOYkkm/A== - -"@typescript-eslint/typescript-estree@8.59.0": - version "8.59.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-8.59.0.tgz#feba58a70ab6ea7ac53a2f3ae900db28ce3454c2" - integrity sha512-O9Re9P1BmBLFJyikRbQpLku/QA3/AueZNO9WePLBwQrvkixTmDe8u76B6CYUAITRl/rHawggEqUGn5QIkVRLMw== - dependencies: - "@typescript-eslint/project-service" "8.59.0" - "@typescript-eslint/tsconfig-utils" "8.59.0" - "@typescript-eslint/types" "8.59.0" - "@typescript-eslint/visitor-keys" "8.59.0" - debug "^4.4.3" - minimatch "^10.2.2" - semver "^7.7.3" - tinyglobby "^0.2.15" - ts-api-utils "^2.5.0" - -"@typescript-eslint/utils@8.59.0": - version "8.59.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/utils/-/utils-8.59.0.tgz#f50df9bd6967881ef64fba62230111153179ead5" - integrity sha512-I1R/K7V07XsMJ12Oaxg/O9GfrysGTmCRhvZJBv0RE0NcULMzjqVpR5kRRQjHsz3J/bElU7HwCO7zkqL+MSUz+g== - dependencies: - "@eslint-community/eslint-utils" "^4.9.1" - "@typescript-eslint/scope-manager" "8.59.0" - "@typescript-eslint/types" "8.59.0" - "@typescript-eslint/typescript-estree" "8.59.0" - -"@typescript-eslint/visitor-keys@8.59.0": - version "8.59.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-8.59.0.tgz#2e80de30e7e944ed4bd47d751e37dcb04db03795" - integrity sha512-/uejZt4dSere1bx12WLlPfv8GktzcaDtuJ7s42/HEZ5zGj9oxRaD4bj7qwSunXkf+pbAhFt2zjpHYUiT5lHf0Q== - dependencies: - "@typescript-eslint/types" "8.59.0" - eslint-visitor-keys "^5.0.0" - -"@unrs/resolver-binding-android-arm-eabi@1.11.1": - version "1.11.1" - resolved "https://registry.yarnpkg.com/@unrs/resolver-binding-android-arm-eabi/-/resolver-binding-android-arm-eabi-1.11.1.tgz#9f5b04503088e6a354295e8ea8fe3cb99e43af81" - integrity sha512-ppLRUgHVaGRWUx0R0Ut06Mjo9gBaBkg3v/8AxusGLhsIotbBLuRk51rAzqLC8gq6NyyAojEXglNjzf6R948DNw== - -"@unrs/resolver-binding-android-arm64@1.11.1": - version "1.11.1" - resolved "https://registry.yarnpkg.com/@unrs/resolver-binding-android-arm64/-/resolver-binding-android-arm64-1.11.1.tgz#7414885431bd7178b989aedc4d25cccb3865bc9f" - integrity sha512-lCxkVtb4wp1v+EoN+HjIG9cIIzPkX5OtM03pQYkG+U5O/wL53LC4QbIeazgiKqluGeVEeBlZahHalCaBvU1a2g== - -"@unrs/resolver-binding-darwin-arm64@1.11.1": - version "1.11.1" - resolved "https://registry.yarnpkg.com/@unrs/resolver-binding-darwin-arm64/-/resolver-binding-darwin-arm64-1.11.1.tgz#b4a8556f42171fb9c9f7bac8235045e82aa0cbdf" - integrity sha512-gPVA1UjRu1Y/IsB/dQEsp2V1pm44Of6+LWvbLc9SDk1c2KhhDRDBUkQCYVWe6f26uJb3fOK8saWMgtX8IrMk3g== - -"@unrs/resolver-binding-darwin-x64@1.11.1": - version "1.11.1" - resolved "https://registry.yarnpkg.com/@unrs/resolver-binding-darwin-x64/-/resolver-binding-darwin-x64-1.11.1.tgz#fd4d81257b13f4d1a083890a6a17c00de571f0dc" - integrity sha512-cFzP7rWKd3lZaCsDze07QX1SC24lO8mPty9vdP+YVa3MGdVgPmFc59317b2ioXtgCMKGiCLxJ4HQs62oz6GfRQ== - -"@unrs/resolver-binding-freebsd-x64@1.11.1": - version "1.11.1" - resolved "https://registry.yarnpkg.com/@unrs/resolver-binding-freebsd-x64/-/resolver-binding-freebsd-x64-1.11.1.tgz#d2513084d0f37c407757e22f32bd924a78cfd99b" - integrity sha512-fqtGgak3zX4DCB6PFpsH5+Kmt/8CIi4Bry4rb1ho6Av2QHTREM+47y282Uqiu3ZRF5IQioJQ5qWRV6jduA+iGw== - -"@unrs/resolver-binding-linux-arm-gnueabihf@1.11.1": - version "1.11.1" - resolved "https://registry.yarnpkg.com/@unrs/resolver-binding-linux-arm-gnueabihf/-/resolver-binding-linux-arm-gnueabihf-1.11.1.tgz#844d2605d057488d77fab09705f2866b86164e0a" - integrity sha512-u92mvlcYtp9MRKmP+ZvMmtPN34+/3lMHlyMj7wXJDeXxuM0Vgzz0+PPJNsro1m3IZPYChIkn944wW8TYgGKFHw== - -"@unrs/resolver-binding-linux-arm-musleabihf@1.11.1": - version "1.11.1" - resolved "https://registry.yarnpkg.com/@unrs/resolver-binding-linux-arm-musleabihf/-/resolver-binding-linux-arm-musleabihf-1.11.1.tgz#204892995cefb6bd1d017d52d097193bc61ddad3" - integrity sha512-cINaoY2z7LVCrfHkIcmvj7osTOtm6VVT16b5oQdS4beibX2SYBwgYLmqhBjA1t51CarSaBuX5YNsWLjsqfW5Cw== - -"@unrs/resolver-binding-linux-arm64-gnu@1.11.1": - version "1.11.1" - resolved "https://registry.yarnpkg.com/@unrs/resolver-binding-linux-arm64-gnu/-/resolver-binding-linux-arm64-gnu-1.11.1.tgz#023eb0c3aac46066a10be7a3f362e7b34f3bdf9d" - integrity sha512-34gw7PjDGB9JgePJEmhEqBhWvCiiWCuXsL9hYphDF7crW7UgI05gyBAi6MF58uGcMOiOqSJ2ybEeCvHcq0BCmQ== - -"@unrs/resolver-binding-linux-arm64-musl@1.11.1": - version "1.11.1" - resolved "https://registry.yarnpkg.com/@unrs/resolver-binding-linux-arm64-musl/-/resolver-binding-linux-arm64-musl-1.11.1.tgz#9e6f9abb06424e3140a60ac996139786f5d99be0" - integrity sha512-RyMIx6Uf53hhOtJDIamSbTskA99sPHS96wxVE/bJtePJJtpdKGXO1wY90oRdXuYOGOTuqjT8ACccMc4K6QmT3w== - -"@unrs/resolver-binding-linux-ppc64-gnu@1.11.1": - version "1.11.1" - resolved "https://registry.yarnpkg.com/@unrs/resolver-binding-linux-ppc64-gnu/-/resolver-binding-linux-ppc64-gnu-1.11.1.tgz#b111417f17c9d1b02efbec8e08398f0c5527bb44" - integrity sha512-D8Vae74A4/a+mZH0FbOkFJL9DSK2R6TFPC9M+jCWYia/q2einCubX10pecpDiTmkJVUH+y8K3BZClycD8nCShA== - -"@unrs/resolver-binding-linux-riscv64-gnu@1.11.1": - version "1.11.1" - resolved "https://registry.yarnpkg.com/@unrs/resolver-binding-linux-riscv64-gnu/-/resolver-binding-linux-riscv64-gnu-1.11.1.tgz#92ffbf02748af3e99873945c9a8a5ead01d508a9" - integrity sha512-frxL4OrzOWVVsOc96+V3aqTIQl1O2TjgExV4EKgRY09AJ9leZpEg8Ak9phadbuX0BA4k8U5qtvMSQQGGmaJqcQ== - -"@unrs/resolver-binding-linux-riscv64-musl@1.11.1": - version "1.11.1" - resolved "https://registry.yarnpkg.com/@unrs/resolver-binding-linux-riscv64-musl/-/resolver-binding-linux-riscv64-musl-1.11.1.tgz#0bec6f1258fc390e6b305e9ff44256cb207de165" - integrity sha512-mJ5vuDaIZ+l/acv01sHoXfpnyrNKOk/3aDoEdLO/Xtn9HuZlDD6jKxHlkN8ZhWyLJsRBxfv9GYM2utQ1SChKew== - -"@unrs/resolver-binding-linux-s390x-gnu@1.11.1": - version "1.11.1" - resolved "https://registry.yarnpkg.com/@unrs/resolver-binding-linux-s390x-gnu/-/resolver-binding-linux-s390x-gnu-1.11.1.tgz#577843a084c5952f5906770633ccfb89dac9bc94" - integrity sha512-kELo8ebBVtb9sA7rMe1Cph4QHreByhaZ2QEADd9NzIQsYNQpt9UkM9iqr2lhGr5afh885d/cB5QeTXSbZHTYPg== - -"@unrs/resolver-binding-linux-x64-gnu@1.11.1": - version "1.11.1" - resolved "https://registry.yarnpkg.com/@unrs/resolver-binding-linux-x64-gnu/-/resolver-binding-linux-x64-gnu-1.11.1.tgz#36fb318eebdd690f6da32ac5e0499a76fa881935" - integrity sha512-C3ZAHugKgovV5YvAMsxhq0gtXuwESUKc5MhEtjBpLoHPLYM+iuwSj3lflFwK3DPm68660rZ7G8BMcwSro7hD5w== - -"@unrs/resolver-binding-linux-x64-musl@1.11.1": - version "1.11.1" - resolved "https://registry.yarnpkg.com/@unrs/resolver-binding-linux-x64-musl/-/resolver-binding-linux-x64-musl-1.11.1.tgz#bfb9af75f783f98f6a22c4244214efe4df1853d6" - integrity sha512-rV0YSoyhK2nZ4vEswT/QwqzqQXw5I6CjoaYMOX0TqBlWhojUf8P94mvI7nuJTeaCkkds3QE4+zS8Ko+GdXuZtA== - -"@unrs/resolver-binding-wasm32-wasi@1.11.1": - version "1.11.1" - resolved "https://registry.yarnpkg.com/@unrs/resolver-binding-wasm32-wasi/-/resolver-binding-wasm32-wasi-1.11.1.tgz#752c359dd875684b27429500d88226d7cc72f71d" - integrity sha512-5u4RkfxJm+Ng7IWgkzi3qrFOvLvQYnPBmjmZQ8+szTK/b31fQCnleNl1GgEt7nIsZRIf5PLhPwT0WM+q45x/UQ== - dependencies: - "@napi-rs/wasm-runtime" "^0.2.11" - -"@unrs/resolver-binding-win32-arm64-msvc@1.11.1": - version "1.11.1" - resolved "https://registry.yarnpkg.com/@unrs/resolver-binding-win32-arm64-msvc/-/resolver-binding-win32-arm64-msvc-1.11.1.tgz#ce5735e600e4c2fbb409cd051b3b7da4a399af35" - integrity sha512-nRcz5Il4ln0kMhfL8S3hLkxI85BXs3o8EYoattsJNdsX4YUU89iOkVn7g0VHSRxFuVMdM4Q1jEpIId1Ihim/Uw== - -"@unrs/resolver-binding-win32-ia32-msvc@1.11.1": - version "1.11.1" - resolved "https://registry.yarnpkg.com/@unrs/resolver-binding-win32-ia32-msvc/-/resolver-binding-win32-ia32-msvc-1.11.1.tgz#72fc57bc7c64ec5c3de0d64ee0d1810317bc60a6" - integrity sha512-DCEI6t5i1NmAZp6pFonpD5m7i6aFrpofcp4LA2i8IIq60Jyo28hamKBxNrZcyOwVOZkgsRp9O2sXWBWP8MnvIQ== - -"@unrs/resolver-binding-win32-x64-msvc@1.11.1": - version "1.11.1" - resolved "https://registry.yarnpkg.com/@unrs/resolver-binding-win32-x64-msvc/-/resolver-binding-win32-x64-msvc-1.11.1.tgz#538b1e103bf8d9864e7b85cc96fa8d6fb6c40777" - integrity sha512-lrW200hZdbfRtztbygyaq/6jP6AKE8qQN2KvPcJ+x7wiD038YtnYtZ82IMNJ69GJibV7bwL3y9FgK+5w/pYt6g== - -"@vitest/coverage-v8@^4.1.5": - version "4.1.5" - resolved "https://registry.yarnpkg.com/@vitest/coverage-v8/-/coverage-v8-4.1.5.tgz#26bbdbebecd66be77fa1b63a9ed985dd86a3ba85" - integrity sha512-38C0/Ddb7HcRG0Z4/DUem8x57d2p9jYgp18mkaYswEOQBGsI1CG4f/hjm0ZCeaJfWhSZ4k7jgs29V1Zom7Ki9A== - dependencies: - "@bcoe/v8-coverage" "^1.0.2" - "@vitest/utils" "4.1.5" - ast-v8-to-istanbul "^1.0.0" - istanbul-lib-coverage "^3.2.2" - istanbul-lib-report "^3.0.1" - istanbul-reports "^3.2.0" - magicast "^0.5.2" - obug "^2.1.1" - std-env "^4.0.0-rc.1" - tinyrainbow "^3.1.0" - -"@vitest/expect@4.1.5": - version "4.1.5" - resolved "https://registry.yarnpkg.com/@vitest/expect/-/expect-4.1.5.tgz#5caab19535cfb04fbc37087c5608d46e74dc9292" - integrity sha512-PWBaRY5JoKuRnHlUHfpV/KohFylaDZTupcXN1H9vYryNLOnitSw60Mw9IAE2r67NbwwzBw/Cc/8q9BK3kIX8Kw== - dependencies: - "@standard-schema/spec" "^1.1.0" - "@types/chai" "^5.2.2" - "@vitest/spy" "4.1.5" - "@vitest/utils" "4.1.5" - chai "^6.2.2" - tinyrainbow "^3.1.0" - -"@vitest/mocker@4.1.5": - version "4.1.5" - resolved "https://registry.yarnpkg.com/@vitest/mocker/-/mocker-4.1.5.tgz#9d5791733e4866cfb8af2d48ca371b127e7d2e93" - integrity sha512-/x2EmFC4mT4NNzqvC3fmesuV97w5FC903KPmey4gsnJiMQ3Be1IlDKVaDaG8iqaLFHqJ2FVEkxZk5VmeLjIItw== - dependencies: - "@vitest/spy" "4.1.5" - estree-walker "^3.0.3" - magic-string "^0.30.21" - -"@vitest/pretty-format@4.1.5": - version "4.1.5" - resolved "https://registry.yarnpkg.com/@vitest/pretty-format/-/pretty-format-4.1.5.tgz#4c13d77a77e2931e44db95522ed5700bcf0570d4" - integrity sha512-7I3q6l5qr03dVfMX2wCo9FxwSJbPdwKjy2uu/YPpU3wfHvIL4QHwVRp57OfGrDFeUJ8/8QdfBKIV12FTtLn00g== - dependencies: - tinyrainbow "^3.1.0" - -"@vitest/runner@4.1.5": - version "4.1.5" - resolved "https://registry.yarnpkg.com/@vitest/runner/-/runner-4.1.5.tgz#a14dd2d2f48603f906dd52304a10c7fc623bb1de" - integrity sha512-2D+o7Pr82IEO46YPpoA/YU0neeyr6FTerQb5Ro7BUnBuv6NQtT/kmVnczngiMEBhzgqz2UZYl5gArejsyERDSQ== - dependencies: - "@vitest/utils" "4.1.5" - pathe "^2.0.3" - -"@vitest/snapshot@4.1.5": - version "4.1.5" - resolved "https://registry.yarnpkg.com/@vitest/snapshot/-/snapshot-4.1.5.tgz#d07970d1448190ee5a258db6ab79c65b8018c13b" - integrity sha512-zypXEt4KH/XgKGPUz4eC2AvErYx0My5hfL8oDb1HzGFpEk1P62bxSohdyOmvz+d9UJwanI68MKwr2EquOaOgMQ== - dependencies: - "@vitest/pretty-format" "4.1.5" - "@vitest/utils" "4.1.5" - magic-string "^0.30.21" - pathe "^2.0.3" - -"@vitest/spy@4.1.5": - version "4.1.5" - resolved "https://registry.yarnpkg.com/@vitest/spy/-/spy-4.1.5.tgz#fa7858ffab746fa9ac29496e626f5a0caf9a5a7f" - integrity sha512-2lNOsh6+R2Idnf1TCZqSwYlKN2E/iDlD8sgU59kYVl+OMDmvldO1VDk39smRfpUNwYpNRVn3w4YfuC7KfbBnkQ== - -"@vitest/utils@4.1.5": - version "4.1.5" - resolved "https://registry.yarnpkg.com/@vitest/utils/-/utils-4.1.5.tgz#20d6a6ae651a0dd33f945548921698d49701fa43" - integrity sha512-76wdkrmfXfqGjueGgnb45ITPyUi1ycZ4IHgC2bhPDUfWHklY/q3MdLOAB+TF1e6xfl8NxNY0ZYaPCFNWSsw3Ug== - dependencies: - "@vitest/pretty-format" "4.1.5" - convert-source-map "^2.0.0" - tinyrainbow "^3.1.0" - -acorn-jsx@^5.3.2: - version "5.3.2" - resolved "https://registry.yarnpkg.com/acorn-jsx/-/acorn-jsx-5.3.2.tgz#7ed5bb55908b3b2f1bc55c6af1653bada7f07937" - integrity sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ== - -acorn@^8.16.0: - version "8.16.0" - resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.16.0.tgz#4ce79c89be40afe7afe8f3adb902a1f1ce9ac08a" - integrity sha512-UVJyE9MttOsBQIDKw1skb9nAwQuR5wuGD3+82K6JgJlm/Y+KI92oNsMNGZCYdDsVtRHSak0pcV5Dno5+4jh9sw== - -agent-base@^7.1.2: - version "7.1.4" - resolved "https://registry.yarnpkg.com/agent-base/-/agent-base-7.1.4.tgz#e3cd76d4c548ee895d3c3fd8dc1f6c5b9032e7a8" - integrity sha512-MnA+YT8fwfJPgBx3m60MNqakm30XOkyIoH1y6huTQvC0PwZG7ki8NacLBcrPbNoo8vEZy7Jpuk7+jMO+CUovTQ== - -ajv@^6.14.0: - version "6.14.0" - resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.14.0.tgz#fd067713e228210636ebb08c60bd3765d6dbe73a" - integrity sha512-IWrosm/yrn43eiKqkfkHis7QioDleaXQHdDVPKg0FSwwd/DuvyX79TZnFOnYpB7dcsFAMmtFztZuXPDvSePkFw== - dependencies: - fast-deep-equal "^3.1.1" - fast-json-stable-stringify "^2.0.0" - json-schema-traverse "^0.4.1" - uri-js "^4.2.2" - -array-buffer-byte-length@^1.0.1, array-buffer-byte-length@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/array-buffer-byte-length/-/array-buffer-byte-length-1.0.2.tgz#384d12a37295aec3769ab022ad323a18a51ccf8b" - integrity sha512-LHE+8BuR7RYGDKvnrmcuSq3tDcKv9OFEXQt/HpbZhY7V6h0zlUXutnAD82GiFx9rdieCMjkvtcsPqBwgUl1Iiw== - dependencies: - call-bound "^1.0.3" - is-array-buffer "^3.0.5" - -array-includes@^3.1.9: - version "3.1.9" - resolved "https://registry.yarnpkg.com/array-includes/-/array-includes-3.1.9.tgz#1f0ccaa08e90cdbc3eb433210f903ad0f17c3f3a" - integrity sha512-FmeCCAenzH0KH381SPT5FZmiA/TmpndpcaShhfgEN9eCVjnFBqq3l1xrI42y8+PPLI6hypzou4GXw00WHmPBLQ== - dependencies: - call-bind "^1.0.8" - call-bound "^1.0.4" - define-properties "^1.2.1" - es-abstract "^1.24.0" - es-object-atoms "^1.1.1" - get-intrinsic "^1.3.0" - is-string "^1.1.1" - math-intrinsics "^1.1.0" - -array.prototype.findlastindex@^1.2.6: - version "1.2.6" - resolved "https://registry.yarnpkg.com/array.prototype.findlastindex/-/array.prototype.findlastindex-1.2.6.tgz#cfa1065c81dcb64e34557c9b81d012f6a421c564" - integrity sha512-F/TKATkzseUExPlfvmwQKGITM3DGTK+vkAsCZoDc5daVygbJBnjEUCbgkAvVFsgfXfX4YIqZ/27G3k3tdXrTxQ== - dependencies: - call-bind "^1.0.8" - call-bound "^1.0.4" - define-properties "^1.2.1" - es-abstract "^1.23.9" - es-errors "^1.3.0" - es-object-atoms "^1.1.1" - es-shim-unscopables "^1.1.0" - -array.prototype.flat@^1.3.3: - version "1.3.3" - resolved "https://registry.yarnpkg.com/array.prototype.flat/-/array.prototype.flat-1.3.3.tgz#534aaf9e6e8dd79fb6b9a9917f839ef1ec63afe5" - integrity sha512-rwG/ja1neyLqCuGZ5YYrznA62D4mZXg0i1cIskIUKSiqF3Cje9/wXAls9B9s1Wa2fomMsIv8czB8jZcPmxCXFg== - dependencies: - call-bind "^1.0.8" - define-properties "^1.2.1" - es-abstract "^1.23.5" - es-shim-unscopables "^1.0.2" - -array.prototype.flatmap@^1.3.3: - version "1.3.3" - resolved "https://registry.yarnpkg.com/array.prototype.flatmap/-/array.prototype.flatmap-1.3.3.tgz#712cc792ae70370ae40586264629e33aab5dd38b" - integrity sha512-Y7Wt51eKJSyi80hFrJCePGGNo5ktJCslFuboqJsbf57CCPcm5zztluPlc4/aD8sWsKvlwatezpV4U1efk8kpjg== - dependencies: - call-bind "^1.0.8" - define-properties "^1.2.1" - es-abstract "^1.23.5" - es-shim-unscopables "^1.0.2" - -arraybuffer.prototype.slice@^1.0.4: - version "1.0.4" - resolved "https://registry.yarnpkg.com/arraybuffer.prototype.slice/-/arraybuffer.prototype.slice-1.0.4.tgz#9d760d84dbdd06d0cbf92c8849615a1a7ab3183c" - integrity sha512-BNoCY6SXXPQ7gF2opIP4GBE+Xw7U+pHMYKuzjgCN3GwiaIR09UUeKfheyIry77QtrCBlC0KK0q5/TER/tYh3PQ== - dependencies: - array-buffer-byte-length "^1.0.1" - call-bind "^1.0.8" - define-properties "^1.2.1" - es-abstract "^1.23.5" - es-errors "^1.3.0" - get-intrinsic "^1.2.6" - is-array-buffer "^3.0.4" - -assertion-error@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/assertion-error/-/assertion-error-2.0.1.tgz#f641a196b335690b1070bf00b6e7593fec190bf7" - integrity sha512-Izi8RQcffqCeNVgFigKli1ssklIbpHnCYc6AknXGYoB6grJqyeby7jv12JUQgmTAnIDnbck1uxksT4dzN3PWBA== - -ast-v8-to-istanbul@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/ast-v8-to-istanbul/-/ast-v8-to-istanbul-1.0.0.tgz#d1e8bfc79fa9c452972ff91897633bda4e5e7577" - integrity sha512-1fSfIwuDICFA4LKkCzRPO7F0hzFf0B7+Xqrl27ynQaa+Rh0e1Es0v6kWHPott3lU10AyAr7oKHa65OppjLn3Rg== - dependencies: - "@jridgewell/trace-mapping" "^0.3.31" - estree-walker "^3.0.3" - js-tokens "^10.0.0" - -async-function@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/async-function/-/async-function-1.0.0.tgz#509c9fca60eaf85034c6829838188e4e4c8ffb2b" - integrity sha512-hsU18Ae8CDTR6Kgu9DYf0EbCr/a5iGL0rytQDobUcdpYOKokk8LEjVphnXkDkgpi0wYVsqrXuP0bZxJaTqdgoA== - -asynckit@^0.4.0: - version "0.4.0" - resolved "https://registry.yarnpkg.com/asynckit/-/asynckit-0.4.0.tgz#c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79" - integrity sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q== - -available-typed-arrays@^1.0.7: - version "1.0.7" - resolved "https://registry.yarnpkg.com/available-typed-arrays/-/available-typed-arrays-1.0.7.tgz#a5cc375d6a03c2efc87a553f3e0b1522def14846" - integrity sha512-wvUjBtSGN7+7SjNpq/9M2Tg350UZD3q62IFZLbRAR1bSMlCo1ZaeW+BJ+D090e4hIIZLBcTDWe4Mh4jvUDajzQ== - dependencies: - possible-typed-array-names "^1.0.0" - -axios-mock-adapter@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/axios-mock-adapter/-/axios-mock-adapter-2.1.0.tgz#25ab2d7558f915e391744a40bbeb7374ad5985a4" - integrity sha512-AZUe4OjECGCNNssH8SOdtneiQELsqTsat3SQQCWLPjN436/H+L9AjWfV7bF+Zg/YL9cgbhrz5671hoh+Tbn98w== - dependencies: - fast-deep-equal "^3.1.3" - is-buffer "^2.0.5" - -axios@^1.15.2: - version "1.15.2" - resolved "https://registry.yarnpkg.com/axios/-/axios-1.15.2.tgz#eb8fb6d30349abace6ade5b4cb4d9e8a0dc23e5b" - integrity sha512-wLrXxPtcrPTsNlJmKjkPnNPK2Ihe0hn0wGSaTEiHRPxwjvJwT3hKmXF4dpqxmPO9SoNb2FsYXj/xEo0gHN+D5A== - dependencies: - follow-redirects "^1.15.11" - form-data "^4.0.5" - proxy-from-env "^2.1.0" - -balanced-match@^1.0.0: - version "1.0.2" - resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.2.tgz#e83e3a7e3f300b34cb9d87f615fa0cbf357690ee" - integrity sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw== - -balanced-match@^4.0.2: - version "4.0.4" - resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-4.0.4.tgz#bfb10662feed8196a2c62e7c68e17720c274179a" - integrity sha512-BLrgEcRTwX2o6gGxGOCNyMvGSp35YofuYzw9h1IMTRmKqttAZZVU67bdb9Pr2vUHA8+j3i2tJfjO6C6+4myGTA== - -base64-js@^1.3.0: - version "1.5.1" - resolved "https://registry.yarnpkg.com/base64-js/-/base64-js-1.5.1.tgz#1b1b440160a5bf7ad40b650f095963481903930a" - integrity sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA== - -bignumber.js@^9.0.0: - version "9.3.1" - resolved "https://registry.yarnpkg.com/bignumber.js/-/bignumber.js-9.3.1.tgz#759c5aaddf2ffdc4f154f7b493e1c8770f88c4d7" - integrity sha512-Ko0uX15oIUS7wJ3Rb30Fs6SkVbLmPBAKdlm7q9+ak9bbIeFf0MwuBsQV6z7+X768/cHsfg+WlysDWJcmthjsjQ== +# This file is generated by running "yarn install" inside your project. +# Manual changes might be lost - proceed with caution! + +__metadata: + version: 9 + cacheKey: 10c0 + +"@babel/helper-string-parser@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/helper-string-parser@npm:7.27.1" + checksum: 10c0/8bda3448e07b5583727c103560bcf9c4c24b3c1051a4c516d4050ef69df37bb9a4734a585fe12725b8c2763de0a265aa1e909b485a4e3270b7cfd3e4dbe4b602 + languageName: node + linkType: hard + +"@babel/helper-validator-identifier@npm:^7.28.5": + version: 7.28.5 + resolution: "@babel/helper-validator-identifier@npm:7.28.5" + checksum: 10c0/42aaebed91f739a41f3d80b72752d1f95fd7c72394e8e4bd7cdd88817e0774d80a432451bcba17c2c642c257c483bf1d409dd4548883429ea9493a3bc4ab0847 + languageName: node + linkType: hard + +"@babel/parser@npm:^7.29.0": + version: 7.29.2 + resolution: "@babel/parser@npm:7.29.2" + dependencies: + "@babel/types": "npm:^7.29.0" + bin: + parser: ./bin/babel-parser.js + checksum: 10c0/e5a4e69e3ac7acdde995f37cf299a68458cfe7009dff66bd0962fd04920bef287201169006af365af479c08ff216bfefbb595e331f87f6ae7283858aebbc3317 + languageName: node + linkType: hard + +"@babel/types@npm:^7.29.0": + version: 7.29.0 + resolution: "@babel/types@npm:7.29.0" + dependencies: + "@babel/helper-string-parser": "npm:^7.27.1" + "@babel/helper-validator-identifier": "npm:^7.28.5" + checksum: 10c0/23cc3466e83bcbfab8b9bd0edaafdb5d4efdb88b82b3be6728bbade5ba2f0996f84f63b1c5f7a8c0d67efded28300898a5f930b171bb40b311bca2029c4e9b4f + languageName: node + linkType: hard + +"@bcoe/v8-coverage@npm:^1.0.2": + version: 1.0.2 + resolution: "@bcoe/v8-coverage@npm:1.0.2" + checksum: 10c0/1eb1dc93cc17fb7abdcef21a6e7b867d6aa99a7ec88ec8207402b23d9083ab22a8011213f04b2cf26d535f1d22dc26139b7929e6c2134c254bd1e14ba5e678c3 + languageName: node + linkType: hard + +"@emnapi/core@npm:1.10.0, @emnapi/core@npm:^1.4.3": + version: 1.10.0 + resolution: "@emnapi/core@npm:1.10.0" + dependencies: + "@emnapi/wasi-threads": "npm:1.2.1" + tslib: "npm:^2.4.0" + checksum: 10c0/f51d08227857b60632de7714d708124f0e100a1462dde6df8221760939aa3204a73193830371830fac0716f3ccd2129f2cac1b17cd7d7958bc4da9018a296edb + languageName: node + linkType: hard + +"@emnapi/runtime@npm:1.10.0, @emnapi/runtime@npm:^1.4.3": + version: 1.10.0 + resolution: "@emnapi/runtime@npm:1.10.0" + dependencies: + tslib: "npm:^2.4.0" + checksum: 10c0/953f14991d1aefb92ee6f8eb27dea725e484791a53a0cb5f47d9e0087b9a2c929ff2e92adf95af15d6ad456db6300c6b761ebf72b50a875b874a83520b3ba093 + languageName: node + linkType: hard + +"@emnapi/wasi-threads@npm:1.2.1": + version: 1.2.1 + resolution: "@emnapi/wasi-threads@npm:1.2.1" + dependencies: + tslib: "npm:^2.4.0" + checksum: 10c0/32fcfa81ab396533b2ec1f4082b1ff779a05d9c836bbbd3f4398405b0e6814c0d9503b7993130e37bc6941dbc1ded49f55e9700ae9ca4e803bab2b5bc5deb331 + languageName: node + linkType: hard + +"@eslint-community/eslint-utils@npm:^4.8.0, @eslint-community/eslint-utils@npm:^4.9.1": + version: 4.9.1 + resolution: "@eslint-community/eslint-utils@npm:4.9.1" + dependencies: + eslint-visitor-keys: "npm:^3.4.3" + peerDependencies: + eslint: ^6.0.0 || ^7.0.0 || >=8.0.0 + checksum: 10c0/dc4ab5e3e364ef27e33666b11f4b86e1a6c1d7cbf16f0c6ff87b1619b3562335e9201a3d6ce806221887ff780ec9d828962a290bb910759fd40a674686503f02 + languageName: node + linkType: hard + +"@eslint-community/regexpp@npm:^4.12.2": + version: 4.12.2 + resolution: "@eslint-community/regexpp@npm:4.12.2" + checksum: 10c0/fddcbc66851b308478d04e302a4d771d6917a0b3740dc351513c0da9ca2eab8a1adf99f5e0aa7ab8b13fa0df005c81adeee7e63a92f3effd7d367a163b721c2d + languageName: node + linkType: hard + +"@eslint/config-array@npm:^0.23.5": + version: 0.23.5 + resolution: "@eslint/config-array@npm:0.23.5" + dependencies: + "@eslint/object-schema": "npm:^3.0.5" + debug: "npm:^4.3.1" + minimatch: "npm:^10.2.4" + checksum: 10c0/b24833c4c76e78ee075d306cd3f095db46b2db0f90cc13a6ee6e4275f9889731c05bf5403ab5fefb79c756e07ac9184ed0e04570341382f9eccbccc80e6d1a0c + languageName: node + linkType: hard + +"@eslint/config-helpers@npm:^0.5.5": + version: 0.5.5 + resolution: "@eslint/config-helpers@npm:0.5.5" + dependencies: + "@eslint/core": "npm:^1.2.1" + checksum: 10c0/18889c062cd6bdbd4cd92fe57318c44465ea66184aa0ba204a4420712c66764c64093a7905b6c2ffde23e51b268ca2cec1a39c605d336bebf17ee1ba4f0fc0bb + languageName: node + linkType: hard + +"@eslint/core@npm:^1.2.1": + version: 1.2.1 + resolution: "@eslint/core@npm:1.2.1" + dependencies: + "@types/json-schema": "npm:^7.0.15" + checksum: 10c0/10979b40588ecfef771fcb5013a542a35fb30692cc95a65f3481b0b36fbd89f5679efeb30d57f4eed35203d859aabace2a620177d6c536f71b299a1af2f3398f + languageName: node + linkType: hard + +"@eslint/js@npm:^10.0.1": + version: 10.0.1 + resolution: "@eslint/js@npm:10.0.1" + peerDependencies: + eslint: ^10.0.0 + peerDependenciesMeta: + eslint: + optional: true + checksum: 10c0/9f3fcaf71ba7fdf65d82e8faad6ecfe97e11801cc3c362b306a88ea1ed1344ae0d35330dddb0e8ad18f010f6687a70b75491b9e01c8af57acd7987cee6b3ec6c + languageName: node + linkType: hard + +"@eslint/object-schema@npm:^3.0.5": + version: 3.0.5 + resolution: "@eslint/object-schema@npm:3.0.5" + checksum: 10c0/1db337431f520b99e9edda64ef5fafd7ec6a029843eeb608753025125b6649d861d843cffafafd3c4e37926d7d5f9ec0c6a8e3665c13c3da2144e8132892e92e + languageName: node + linkType: hard + +"@eslint/plugin-kit@npm:^0.7.1": + version: 0.7.1 + resolution: "@eslint/plugin-kit@npm:0.7.1" + dependencies: + "@eslint/core": "npm:^1.2.1" + levn: "npm:^0.4.1" + checksum: 10c0/335b0c1c46fd906cb50bd5ce442b9cee18dc44342ce35c718ba4a63d1aa51d2797f16a517b2f4fe371ccd777b6862fafb2dc8195e00e69197ef4cb17ab32c01b + languageName: node + linkType: hard + +"@humanfs/core@npm:^0.19.2": + version: 0.19.2 + resolution: "@humanfs/core@npm:0.19.2" + dependencies: + "@humanfs/types": "npm:^0.15.0" + checksum: 10c0/d0a1d52d7b30c27d49475a53072d1510b81c5803e44b342fb8faf3887f1aa27593a1e6dc76a45268e7892d3f4e198146659281f6b6d55eacf3fd5a38bac30c5c + languageName: node + linkType: hard + +"@humanfs/node@npm:^0.16.6": + version: 0.16.8 + resolution: "@humanfs/node@npm:0.16.8" + dependencies: + "@humanfs/core": "npm:^0.19.2" + "@humanfs/types": "npm:^0.15.0" + "@humanwhocodes/retry": "npm:^0.4.0" + checksum: 10c0/56140579db811af4e160b195d45d0f29acf644d192c93fe24c9e594ebf06f19dfc157494a07c84540b8a071c0e4b37209c2362765d31734f4d0be869c2422e25 + languageName: node + linkType: hard + +"@humanfs/types@npm:^0.15.0": + version: 0.15.0 + resolution: "@humanfs/types@npm:0.15.0" + checksum: 10c0/fc26b9a024b0e55f7eaf64036df94345bf5d36d6a41ef80ef38e78f1f7430ce26cf435af736adae58913baae18eac3f38c18739054a3d379102015978eae862e + languageName: node + linkType: hard + +"@humanwhocodes/module-importer@npm:^1.0.1": + version: 1.0.1 + resolution: "@humanwhocodes/module-importer@npm:1.0.1" + checksum: 10c0/909b69c3b86d482c26b3359db16e46a32e0fb30bd306a3c176b8313b9e7313dba0f37f519de6aa8b0a1921349e505f259d19475e123182416a506d7f87e7f529 + languageName: node + linkType: hard + +"@humanwhocodes/retry@npm:^0.4.0, @humanwhocodes/retry@npm:^0.4.2": + version: 0.4.3 + resolution: "@humanwhocodes/retry@npm:0.4.3" + checksum: 10c0/3775bb30087d4440b3f7406d5a057777d90e4b9f435af488a4923ef249e93615fb78565a85f173a186a076c7706a81d0d57d563a2624e4de2c5c9c66c486ce42 + languageName: node + linkType: hard + +"@isaacs/fs-minipass@npm:^4.0.0": + version: 4.0.1 + resolution: "@isaacs/fs-minipass@npm:4.0.1" + dependencies: + minipass: "npm:^7.0.4" + checksum: 10c0/c25b6dc1598790d5b55c0947a9b7d111cfa92594db5296c3b907e2f533c033666f692a3939eadac17b1c7c40d362d0b0635dc874cbfe3e70db7c2b07cc97a5d2 + languageName: node + linkType: hard + +"@jridgewell/resolve-uri@npm:^3.1.0": + version: 3.1.2 + resolution: "@jridgewell/resolve-uri@npm:3.1.2" + checksum: 10c0/d502e6fb516b35032331406d4e962c21fe77cdf1cbdb49c6142bcbd9e30507094b18972778a6e27cbad756209cfe34b1a27729e6fa08a2eb92b33943f680cf1e + languageName: node + linkType: hard + +"@jridgewell/sourcemap-codec@npm:^1.4.14, @jridgewell/sourcemap-codec@npm:^1.5.5": + version: 1.5.5 + resolution: "@jridgewell/sourcemap-codec@npm:1.5.5" + checksum: 10c0/f9e538f302b63c0ebc06eecb1dd9918dd4289ed36147a0ddce35d6ea4d7ebbda243cda7b2213b6a5e1d8087a298d5cf630fb2bd39329cdecb82017023f6081a0 + languageName: node + linkType: hard + +"@jridgewell/trace-mapping@npm:^0.3.31": + version: 0.3.31 + resolution: "@jridgewell/trace-mapping@npm:0.3.31" + dependencies: + "@jridgewell/resolve-uri": "npm:^3.1.0" + "@jridgewell/sourcemap-codec": "npm:^1.4.14" + checksum: 10c0/4b30ec8cd56c5fd9a661f088230af01e0c1a3888d11ffb6b47639700f71225be21d1f7e168048d6d4f9449207b978a235c07c8f15c07705685d16dc06280e9d9 + languageName: node + linkType: hard + +"@napi-rs/wasm-runtime@npm:^0.2.11": + version: 0.2.12 + resolution: "@napi-rs/wasm-runtime@npm:0.2.12" + dependencies: + "@emnapi/core": "npm:^1.4.3" + "@emnapi/runtime": "npm:^1.4.3" + "@tybys/wasm-util": "npm:^0.10.0" + checksum: 10c0/6d07922c0613aab30c6a497f4df297ca7c54e5b480e00035e0209b872d5c6aab7162fc49477267556109c2c7ed1eb9c65a174e27e9b87568106a87b0a6e3ca7d + languageName: node + linkType: hard + +"@napi-rs/wasm-runtime@npm:^1.1.4": + version: 1.1.4 + resolution: "@napi-rs/wasm-runtime@npm:1.1.4" + dependencies: + "@tybys/wasm-util": "npm:^0.10.1" + peerDependencies: + "@emnapi/core": ^1.7.1 + "@emnapi/runtime": ^1.7.1 + checksum: 10c0/2e88e1955258949ccf2d18c79975821ad38071b465ef126a5e14110977b97868867b016c1ad046e963cccc42c0bd9db6c8ff5fd1ebb61b87bb3487f339041658 + languageName: node + linkType: hard + +"@oxc-project/types@npm:=0.127.0": + version: 0.127.0 + resolution: "@oxc-project/types@npm:0.127.0" + checksum: 10c0/52c0947ac64a9ca119fe971f947e784a35ecd14a072fa3f542a58a5f6c42010b53f2bf92731e39b9899b83c990a9517bbd29d1e5a5b7b489e52616685c6a9278 + languageName: node + linkType: hard + +"@pkgr/core@npm:^0.2.9": + version: 0.2.9 + resolution: "@pkgr/core@npm:0.2.9" + checksum: 10c0/ac8e4e8138b1a7a4ac6282873aef7389c352f1f8b577b4850778f5182e4a39a5241facbe48361fec817f56d02b51691b383010843fb08b34a8e8ea3614688fd5 + languageName: node + linkType: hard + +"@rolldown/binding-android-arm64@npm:1.0.0-rc.17": + version: 1.0.0-rc.17 + resolution: "@rolldown/binding-android-arm64@npm:1.0.0-rc.17" + conditions: os=android & cpu=arm64 + languageName: node + linkType: hard + +"@rolldown/binding-darwin-arm64@npm:1.0.0-rc.17": + version: 1.0.0-rc.17 + resolution: "@rolldown/binding-darwin-arm64@npm:1.0.0-rc.17" + conditions: os=darwin & cpu=arm64 + languageName: node + linkType: hard + +"@rolldown/binding-darwin-x64@npm:1.0.0-rc.17": + version: 1.0.0-rc.17 + resolution: "@rolldown/binding-darwin-x64@npm:1.0.0-rc.17" + conditions: os=darwin & cpu=x64 + languageName: node + linkType: hard + +"@rolldown/binding-freebsd-x64@npm:1.0.0-rc.17": + version: 1.0.0-rc.17 + resolution: "@rolldown/binding-freebsd-x64@npm:1.0.0-rc.17" + conditions: os=freebsd & cpu=x64 + languageName: node + linkType: hard + +"@rolldown/binding-linux-arm-gnueabihf@npm:1.0.0-rc.17": + version: 1.0.0-rc.17 + resolution: "@rolldown/binding-linux-arm-gnueabihf@npm:1.0.0-rc.17" + conditions: os=linux & cpu=arm + languageName: node + linkType: hard + +"@rolldown/binding-linux-arm64-gnu@npm:1.0.0-rc.17": + version: 1.0.0-rc.17 + resolution: "@rolldown/binding-linux-arm64-gnu@npm:1.0.0-rc.17" + conditions: os=linux & cpu=arm64 & libc=glibc + languageName: node + linkType: hard + +"@rolldown/binding-linux-arm64-musl@npm:1.0.0-rc.17": + version: 1.0.0-rc.17 + resolution: "@rolldown/binding-linux-arm64-musl@npm:1.0.0-rc.17" + conditions: os=linux & cpu=arm64 & libc=musl + languageName: node + linkType: hard + +"@rolldown/binding-linux-ppc64-gnu@npm:1.0.0-rc.17": + version: 1.0.0-rc.17 + resolution: "@rolldown/binding-linux-ppc64-gnu@npm:1.0.0-rc.17" + conditions: os=linux & cpu=ppc64 & libc=glibc + languageName: node + linkType: hard + +"@rolldown/binding-linux-s390x-gnu@npm:1.0.0-rc.17": + version: 1.0.0-rc.17 + resolution: "@rolldown/binding-linux-s390x-gnu@npm:1.0.0-rc.17" + conditions: os=linux & cpu=s390x & libc=glibc + languageName: node + linkType: hard + +"@rolldown/binding-linux-x64-gnu@npm:1.0.0-rc.17": + version: 1.0.0-rc.17 + resolution: "@rolldown/binding-linux-x64-gnu@npm:1.0.0-rc.17" + conditions: os=linux & cpu=x64 & libc=glibc + languageName: node + linkType: hard + +"@rolldown/binding-linux-x64-musl@npm:1.0.0-rc.17": + version: 1.0.0-rc.17 + resolution: "@rolldown/binding-linux-x64-musl@npm:1.0.0-rc.17" + conditions: os=linux & cpu=x64 & libc=musl + languageName: node + linkType: hard + +"@rolldown/binding-openharmony-arm64@npm:1.0.0-rc.17": + version: 1.0.0-rc.17 + resolution: "@rolldown/binding-openharmony-arm64@npm:1.0.0-rc.17" + conditions: os=openharmony & cpu=arm64 + languageName: node + linkType: hard + +"@rolldown/binding-wasm32-wasi@npm:1.0.0-rc.17": + version: 1.0.0-rc.17 + resolution: "@rolldown/binding-wasm32-wasi@npm:1.0.0-rc.17" + dependencies: + "@emnapi/core": "npm:1.10.0" + "@emnapi/runtime": "npm:1.10.0" + "@napi-rs/wasm-runtime": "npm:^1.1.4" + conditions: cpu=wasm32 + languageName: node + linkType: hard + +"@rolldown/binding-win32-arm64-msvc@npm:1.0.0-rc.17": + version: 1.0.0-rc.17 + resolution: "@rolldown/binding-win32-arm64-msvc@npm:1.0.0-rc.17" + conditions: os=win32 & cpu=arm64 + languageName: node + linkType: hard + +"@rolldown/binding-win32-x64-msvc@npm:1.0.0-rc.17": + version: 1.0.0-rc.17 + resolution: "@rolldown/binding-win32-x64-msvc@npm:1.0.0-rc.17" + conditions: os=win32 & cpu=x64 + languageName: node + linkType: hard + +"@rolldown/pluginutils@npm:1.0.0-rc.17": + version: 1.0.0-rc.17 + resolution: "@rolldown/pluginutils@npm:1.0.0-rc.17" + checksum: 10c0/5e840b20cc531910c093c1ca36e550952cf4936465a50d89f0a98fc9d0dfd7d319d06a10a5f4376209d89e9bf4d60af6cc8363ebf0dcc5e60842f7fef438b2f0 + languageName: node + linkType: hard + +"@rtsao/scc@npm:^1.1.0": + version: 1.1.0 + resolution: "@rtsao/scc@npm:1.1.0" + checksum: 10c0/b5bcfb0d87f7d1c1c7c0f7693f53b07866ed9fec4c34a97a8c948fb9a7c0082e416ce4d3b60beb4f5e167cbe04cdeefbf6771320f3ede059b9ce91188c409a5b + languageName: node + linkType: hard + +"@standard-schema/spec@npm:^1.1.0": + version: 1.1.0 + resolution: "@standard-schema/spec@npm:1.1.0" + checksum: 10c0/d90f55acde4b2deb983529c87e8025fa693de1a5e8b49ecc6eb84d1fd96328add0e03d7d551442156c7432fd78165b2c26ff561b970a9a881f046abb78d6a526 + languageName: node + linkType: hard + +"@tybys/wasm-util@npm:^0.10.0, @tybys/wasm-util@npm:^0.10.1": + version: 0.10.1 + resolution: "@tybys/wasm-util@npm:0.10.1" + dependencies: + tslib: "npm:^2.4.0" + checksum: 10c0/b255094f293794c6d2289300c5fbcafbb5532a3aed3a5ffd2f8dc1828e639b88d75f6a376dd8f94347a44813fd7a7149d8463477a9a49525c8b2dcaa38c2d1e8 + languageName: node + linkType: hard + +"@types/chai@npm:^5.2.2": + version: 5.2.3 + resolution: "@types/chai@npm:5.2.3" + dependencies: + "@types/deep-eql": "npm:*" + assertion-error: "npm:^2.0.1" + checksum: 10c0/e0ef1de3b6f8045a5e473e867c8565788c444271409d155588504840ad1a53611011f85072188c2833941189400228c1745d78323dac13fcede9c2b28bacfb2f + languageName: node + linkType: hard + +"@types/deep-eql@npm:*": + version: 4.0.2 + resolution: "@types/deep-eql@npm:4.0.2" + checksum: 10c0/bf3f811843117900d7084b9d0c852da9a044d12eb40e6de73b552598a6843c21291a8a381b0532644574beecd5e3491c5ff3a0365ab86b15d59862c025384844 + languageName: node + linkType: hard + +"@types/esrecurse@npm:^4.3.1": + version: 4.3.1 + resolution: "@types/esrecurse@npm:4.3.1" + checksum: 10c0/90dad74d5da3ad27606d8e8e757322f33171cfeaa15ad558b615cf71bb2a516492d18f55f4816384685a3eb2412142e732bbae9a4a7cd2cf3deb7572aa4ebe03 + languageName: node + linkType: hard + +"@types/estree@npm:^1.0.0, @types/estree@npm:^1.0.6, @types/estree@npm:^1.0.8": + version: 1.0.8 + resolution: "@types/estree@npm:1.0.8" + checksum: 10c0/39d34d1afaa338ab9763f37ad6066e3f349444f9052b9676a7cc0252ef9485a41c6d81c9c4e0d26e9077993354edf25efc853f3224dd4b447175ef62bdcc86a5 + languageName: node + linkType: hard + +"@types/json-schema@npm:^7.0.15": + version: 7.0.15 + resolution: "@types/json-schema@npm:7.0.15" + checksum: 10c0/a996a745e6c5d60292f36731dd41341339d4eeed8180bb09226e5c8d23759067692b1d88e5d91d72ee83dfc00d3aca8e7bd43ea120516c17922cbcb7c3e252db + languageName: node + linkType: hard + +"@types/json5@npm:^0.0.29": + version: 0.0.29 + resolution: "@types/json5@npm:0.0.29" + checksum: 10c0/6bf5337bc447b706bb5b4431d37686aa2ea6d07cfd6f79cc31de80170d6ff9b1c7384a9c0ccbc45b3f512bae9e9f75c2e12109806a15331dc94e8a8db6dbb4ac + languageName: node + linkType: hard + +"@types/node@npm:^25.6.0": + version: 25.6.0 + resolution: "@types/node@npm:25.6.0" + dependencies: + undici-types: "npm:~7.19.0" + checksum: 10c0/d2d2015630ff098a201407f55f5077a20270ae4f465c739b40865cd9933b91b9c5d2b85568eadaf3db0801b91e267333ca7eb39f007428b173d1cdab4b339ac5 + languageName: node + linkType: hard + +"@typescript-eslint/eslint-plugin@npm:8.59.1": + version: 8.59.1 + resolution: "@typescript-eslint/eslint-plugin@npm:8.59.1" + dependencies: + "@eslint-community/regexpp": "npm:^4.12.2" + "@typescript-eslint/scope-manager": "npm:8.59.1" + "@typescript-eslint/type-utils": "npm:8.59.1" + "@typescript-eslint/utils": "npm:8.59.1" + "@typescript-eslint/visitor-keys": "npm:8.59.1" + ignore: "npm:^7.0.5" + natural-compare: "npm:^1.4.0" + ts-api-utils: "npm:^2.5.0" + peerDependencies: + "@typescript-eslint/parser": ^8.59.1 + eslint: ^8.57.0 || ^9.0.0 || ^10.0.0 + typescript: ">=4.8.4 <6.1.0" + checksum: 10c0/6dedd272d1aac960df74ab81e38bb4b398ac11b52118c69493a3aeecd15984c83bd4cae89df2e8362fbc2213f0a6d68c00d71dd53868fa1b5e1011290d4ea7b6 + languageName: node + linkType: hard + +"@typescript-eslint/parser@npm:8.59.1": + version: 8.59.1 + resolution: "@typescript-eslint/parser@npm:8.59.1" + dependencies: + "@typescript-eslint/scope-manager": "npm:8.59.1" + "@typescript-eslint/types": "npm:8.59.1" + "@typescript-eslint/typescript-estree": "npm:8.59.1" + "@typescript-eslint/visitor-keys": "npm:8.59.1" + debug: "npm:^4.4.3" + peerDependencies: + eslint: ^8.57.0 || ^9.0.0 || ^10.0.0 + typescript: ">=4.8.4 <6.1.0" + checksum: 10c0/a20271b96e35fa5a8deea11ec40b30f7987daa5c3402e6e763e474517a25af20749a620490af159c2a65048065dea8a6d5fa3527ccc7a3716c2cd648a05ebc55 + languageName: node + linkType: hard + +"@typescript-eslint/project-service@npm:8.59.1": + version: 8.59.1 + resolution: "@typescript-eslint/project-service@npm:8.59.1" + dependencies: + "@typescript-eslint/tsconfig-utils": "npm:^8.59.1" + "@typescript-eslint/types": "npm:^8.59.1" + debug: "npm:^4.4.3" + peerDependencies: + typescript: ">=4.8.4 <6.1.0" + checksum: 10c0/487e60e9696fbae11070fd0591a009c94b932af2a92d37a1a9d9f9eac5bbc2f56fef83f3d4e72349dfdaadf95473bb5fb7332eb13f9296b87b3f14e842f42747 + languageName: node + linkType: hard + +"@typescript-eslint/scope-manager@npm:8.59.1": + version: 8.59.1 + resolution: "@typescript-eslint/scope-manager@npm:8.59.1" + dependencies: + "@typescript-eslint/types": "npm:8.59.1" + "@typescript-eslint/visitor-keys": "npm:8.59.1" + checksum: 10c0/05c19039bde67691ad7a558ac61260639593ab0ffd8b73903b0f23c770aa3d79868bc8c1a11cdd5b0c8226e5dcef9ab1d679db46b5c5fe019541216170451614 + languageName: node + linkType: hard + +"@typescript-eslint/tsconfig-utils@npm:8.59.1, @typescript-eslint/tsconfig-utils@npm:^8.59.1": + version: 8.59.1 + resolution: "@typescript-eslint/tsconfig-utils@npm:8.59.1" + peerDependencies: + typescript: ">=4.8.4 <6.1.0" + checksum: 10c0/a3d123edbc39e7bfa3f58f722fe755787e71771d97b03ed80ea0706dcf3f25895e217e61b38049db1b05f246a26c6afb4e4a518bad21e7d1e71bb8dc136084ce + languageName: node + linkType: hard + +"@typescript-eslint/type-utils@npm:8.59.1": + version: 8.59.1 + resolution: "@typescript-eslint/type-utils@npm:8.59.1" + dependencies: + "@typescript-eslint/types": "npm:8.59.1" + "@typescript-eslint/typescript-estree": "npm:8.59.1" + "@typescript-eslint/utils": "npm:8.59.1" + debug: "npm:^4.4.3" + ts-api-utils: "npm:^2.5.0" + peerDependencies: + eslint: ^8.57.0 || ^9.0.0 || ^10.0.0 + typescript: ">=4.8.4 <6.1.0" + checksum: 10c0/c5f0f8e53f85ddf796a45b485937b7d5aef5c884fed412ff945392376166242658e4b431bd9633e1e08d6dba7e83b6125283e4866f5a9b4ae61fec355705122d + languageName: node + linkType: hard + +"@typescript-eslint/types@npm:8.59.1, @typescript-eslint/types@npm:^8.59.1": + version: 8.59.1 + resolution: "@typescript-eslint/types@npm:8.59.1" + checksum: 10c0/a0bf98389e8673d4aa1034fdef9bb78f576b3dc6b8f413d4adf07ef6edff4a33fdb916148c3bac2cafdbf282c765eebf253c2a05edf3fda4123b8889921cd518 + languageName: node + linkType: hard + +"@typescript-eslint/typescript-estree@npm:8.59.1": + version: 8.59.1 + resolution: "@typescript-eslint/typescript-estree@npm:8.59.1" + dependencies: + "@typescript-eslint/project-service": "npm:8.59.1" + "@typescript-eslint/tsconfig-utils": "npm:8.59.1" + "@typescript-eslint/types": "npm:8.59.1" + "@typescript-eslint/visitor-keys": "npm:8.59.1" + debug: "npm:^4.4.3" + minimatch: "npm:^10.2.2" + semver: "npm:^7.7.3" + tinyglobby: "npm:^0.2.15" + ts-api-utils: "npm:^2.5.0" + peerDependencies: + typescript: ">=4.8.4 <6.1.0" + checksum: 10c0/80b2624185d303741a710ba90e4fcb4e52320c1fc614f62cce785bfb39dfb9560ea5d325ff590d929c689b7dae7c28a598a26e1862477cc108c4ae4e8fe62c78 + languageName: node + linkType: hard + +"@typescript-eslint/utils@npm:8.59.1": + version: 8.59.1 + resolution: "@typescript-eslint/utils@npm:8.59.1" + dependencies: + "@eslint-community/eslint-utils": "npm:^4.9.1" + "@typescript-eslint/scope-manager": "npm:8.59.1" + "@typescript-eslint/types": "npm:8.59.1" + "@typescript-eslint/typescript-estree": "npm:8.59.1" + peerDependencies: + eslint: ^8.57.0 || ^9.0.0 || ^10.0.0 + typescript: ">=4.8.4 <6.1.0" + checksum: 10c0/82a3fdb52d5f54622f8796eaeca508c630e65bfb94423645c1097b377fd56cf43b2999a83f11f42924e0cbb93b22faca6e572ee27cf550795b99e22193a0d41c + languageName: node + linkType: hard + +"@typescript-eslint/visitor-keys@npm:8.59.1": + version: 8.59.1 + resolution: "@typescript-eslint/visitor-keys@npm:8.59.1" + dependencies: + "@typescript-eslint/types": "npm:8.59.1" + eslint-visitor-keys: "npm:^5.0.0" + checksum: 10c0/1144426dda53e855698301eae6301ae928785915225e6a775f0b51bf5d67b67e90def7b851e851ce76235cff3e1324132d03c7843a33ce2c4f0eb0764cc2b80a + languageName: node + linkType: hard + +"@unrs/resolver-binding-android-arm-eabi@npm:1.11.1": + version: 1.11.1 + resolution: "@unrs/resolver-binding-android-arm-eabi@npm:1.11.1" + conditions: os=android & cpu=arm + languageName: node + linkType: hard + +"@unrs/resolver-binding-android-arm64@npm:1.11.1": + version: 1.11.1 + resolution: "@unrs/resolver-binding-android-arm64@npm:1.11.1" + conditions: os=android & cpu=arm64 + languageName: node + linkType: hard + +"@unrs/resolver-binding-darwin-arm64@npm:1.11.1": + version: 1.11.1 + resolution: "@unrs/resolver-binding-darwin-arm64@npm:1.11.1" + conditions: os=darwin & cpu=arm64 + languageName: node + linkType: hard + +"@unrs/resolver-binding-darwin-x64@npm:1.11.1": + version: 1.11.1 + resolution: "@unrs/resolver-binding-darwin-x64@npm:1.11.1" + conditions: os=darwin & cpu=x64 + languageName: node + linkType: hard + +"@unrs/resolver-binding-freebsd-x64@npm:1.11.1": + version: 1.11.1 + resolution: "@unrs/resolver-binding-freebsd-x64@npm:1.11.1" + conditions: os=freebsd & cpu=x64 + languageName: node + linkType: hard + +"@unrs/resolver-binding-linux-arm-gnueabihf@npm:1.11.1": + version: 1.11.1 + resolution: "@unrs/resolver-binding-linux-arm-gnueabihf@npm:1.11.1" + conditions: os=linux & cpu=arm + languageName: node + linkType: hard + +"@unrs/resolver-binding-linux-arm-musleabihf@npm:1.11.1": + version: 1.11.1 + resolution: "@unrs/resolver-binding-linux-arm-musleabihf@npm:1.11.1" + conditions: os=linux & cpu=arm + languageName: node + linkType: hard + +"@unrs/resolver-binding-linux-arm64-gnu@npm:1.11.1": + version: 1.11.1 + resolution: "@unrs/resolver-binding-linux-arm64-gnu@npm:1.11.1" + conditions: os=linux & cpu=arm64 & libc=glibc + languageName: node + linkType: hard + +"@unrs/resolver-binding-linux-arm64-musl@npm:1.11.1": + version: 1.11.1 + resolution: "@unrs/resolver-binding-linux-arm64-musl@npm:1.11.1" + conditions: os=linux & cpu=arm64 & libc=musl + languageName: node + linkType: hard + +"@unrs/resolver-binding-linux-ppc64-gnu@npm:1.11.1": + version: 1.11.1 + resolution: "@unrs/resolver-binding-linux-ppc64-gnu@npm:1.11.1" + conditions: os=linux & cpu=ppc64 & libc=glibc + languageName: node + linkType: hard + +"@unrs/resolver-binding-linux-riscv64-gnu@npm:1.11.1": + version: 1.11.1 + resolution: "@unrs/resolver-binding-linux-riscv64-gnu@npm:1.11.1" + conditions: os=linux & cpu=riscv64 & libc=glibc + languageName: node + linkType: hard + +"@unrs/resolver-binding-linux-riscv64-musl@npm:1.11.1": + version: 1.11.1 + resolution: "@unrs/resolver-binding-linux-riscv64-musl@npm:1.11.1" + conditions: os=linux & cpu=riscv64 & libc=musl + languageName: node + linkType: hard + +"@unrs/resolver-binding-linux-s390x-gnu@npm:1.11.1": + version: 1.11.1 + resolution: "@unrs/resolver-binding-linux-s390x-gnu@npm:1.11.1" + conditions: os=linux & cpu=s390x & libc=glibc + languageName: node + linkType: hard + +"@unrs/resolver-binding-linux-x64-gnu@npm:1.11.1": + version: 1.11.1 + resolution: "@unrs/resolver-binding-linux-x64-gnu@npm:1.11.1" + conditions: os=linux & cpu=x64 & libc=glibc + languageName: node + linkType: hard + +"@unrs/resolver-binding-linux-x64-musl@npm:1.11.1": + version: 1.11.1 + resolution: "@unrs/resolver-binding-linux-x64-musl@npm:1.11.1" + conditions: os=linux & cpu=x64 & libc=musl + languageName: node + linkType: hard + +"@unrs/resolver-binding-wasm32-wasi@npm:1.11.1": + version: 1.11.1 + resolution: "@unrs/resolver-binding-wasm32-wasi@npm:1.11.1" + dependencies: + "@napi-rs/wasm-runtime": "npm:^0.2.11" + conditions: cpu=wasm32 + languageName: node + linkType: hard + +"@unrs/resolver-binding-win32-arm64-msvc@npm:1.11.1": + version: 1.11.1 + resolution: "@unrs/resolver-binding-win32-arm64-msvc@npm:1.11.1" + conditions: os=win32 & cpu=arm64 + languageName: node + linkType: hard + +"@unrs/resolver-binding-win32-ia32-msvc@npm:1.11.1": + version: 1.11.1 + resolution: "@unrs/resolver-binding-win32-ia32-msvc@npm:1.11.1" + conditions: os=win32 & cpu=ia32 + languageName: node + linkType: hard + +"@unrs/resolver-binding-win32-x64-msvc@npm:1.11.1": + version: 1.11.1 + resolution: "@unrs/resolver-binding-win32-x64-msvc@npm:1.11.1" + conditions: os=win32 & cpu=x64 + languageName: node + linkType: hard + +"@vitest/coverage-v8@npm:^4.1.5": + version: 4.1.5 + resolution: "@vitest/coverage-v8@npm:4.1.5" + dependencies: + "@bcoe/v8-coverage": "npm:^1.0.2" + "@vitest/utils": "npm:4.1.5" + ast-v8-to-istanbul: "npm:^1.0.0" + istanbul-lib-coverage: "npm:^3.2.2" + istanbul-lib-report: "npm:^3.0.1" + istanbul-reports: "npm:^3.2.0" + magicast: "npm:^0.5.2" + obug: "npm:^2.1.1" + std-env: "npm:^4.0.0-rc.1" + tinyrainbow: "npm:^3.1.0" + peerDependencies: + "@vitest/browser": 4.1.5 + vitest: 4.1.5 + peerDependenciesMeta: + "@vitest/browser": + optional: true + checksum: 10c0/71bf669cc1714611855caef5e89b4f3e405e410bdb34e4b2f6fbc9dc5e50dd9e09e73068c1750f6bfa03f0cd9209a2b6e03665c3bdbd34e0adff1ca65c482b7b + languageName: node + linkType: hard + +"@vitest/expect@npm:4.1.5": + version: 4.1.5 + resolution: "@vitest/expect@npm:4.1.5" + dependencies: + "@standard-schema/spec": "npm:^1.1.0" + "@types/chai": "npm:^5.2.2" + "@vitest/spy": "npm:4.1.5" + "@vitest/utils": "npm:4.1.5" + chai: "npm:^6.2.2" + tinyrainbow: "npm:^3.1.0" + checksum: 10c0/5184682304db471aa20024c1154210ad3d6d590afb61646201ce1a15297259f9a35f92f8fad4435bc8a82135e307ddd27c8495f72417d72d9aa139eb281d9e06 + languageName: node + linkType: hard + +"@vitest/mocker@npm:4.1.5": + version: 4.1.5 + resolution: "@vitest/mocker@npm:4.1.5" + dependencies: + "@vitest/spy": "npm:4.1.5" + estree-walker: "npm:^3.0.3" + magic-string: "npm:^0.30.21" + peerDependencies: + msw: ^2.4.9 + vite: ^6.0.0 || ^7.0.0 || ^8.0.0 + peerDependenciesMeta: + msw: + optional: true + vite: + optional: true + checksum: 10c0/bcfe97700476130933c7ea33fa670c8d2768a81de5325ce407f901e55c2f66cabbb88a7b6cffb46ddf33dff7d8fc209d769fb298f568e310fbeead9b36f6fdb9 + languageName: node + linkType: hard + +"@vitest/pretty-format@npm:4.1.5": + version: 4.1.5 + resolution: "@vitest/pretty-format@npm:4.1.5" + dependencies: + tinyrainbow: "npm:^3.1.0" + checksum: 10c0/42b5e9b75e87c0a884d36bee364e2d07ee45e96f413377737a74993e077d90c3a12aa36743855aee5e4e28b78fae20e3e6de5eef8d5344b9aba2bc1e1d5537a1 + languageName: node + linkType: hard + +"@vitest/runner@npm:4.1.5": + version: 4.1.5 + resolution: "@vitest/runner@npm:4.1.5" + dependencies: + "@vitest/utils": "npm:4.1.5" + pathe: "npm:^2.0.3" + checksum: 10c0/6a03b313a121155f6dd9e32eeb103c0e12440f586bc4ba1f0d77444e44c6df4652a44443718552037463115635b8378e11f35902d90ce1326f77743219fca056 + languageName: node + linkType: hard + +"@vitest/snapshot@npm:4.1.5": + version: 4.1.5 + resolution: "@vitest/snapshot@npm:4.1.5" + dependencies: + "@vitest/pretty-format": "npm:4.1.5" + "@vitest/utils": "npm:4.1.5" + magic-string: "npm:^0.30.21" + pathe: "npm:^2.0.3" + checksum: 10c0/e11bf50d06702331290750a40eaef86078c108df3cd9a52bb1be7b84250048790163f36827525be6a383a4bb1994fc35e6d0c24239a41688b0bb68a1d15d172f + languageName: node + linkType: hard + +"@vitest/spy@npm:4.1.5": + version: 4.1.5 + resolution: "@vitest/spy@npm:4.1.5" + checksum: 10c0/fda6b1ee0a2fec1a152d8041aba7a79744c3876863b244d1ed406d02b36e8ccc997edb2e3963d1027d728d3dc5a33813e11bef53a0a14fc7de4de5e721d0f591 + languageName: node + linkType: hard + +"@vitest/utils@npm:4.1.5": + version: 4.1.5 + resolution: "@vitest/utils@npm:4.1.5" + dependencies: + "@vitest/pretty-format": "npm:4.1.5" + convert-source-map: "npm:^2.0.0" + tinyrainbow: "npm:^3.1.0" + checksum: 10c0/72409717e68018e5fe42fa173cc4eff6def8c35bd52013f86ddb414cd28d73fcc425ac62968e01a52371b3fd5a7a775536283d2f1d64432753f628712a6a4908 + languageName: node + linkType: hard + +"abbrev@npm:^4.0.0": + version: 4.0.0 + resolution: "abbrev@npm:4.0.0" + checksum: 10c0/b4cc16935235e80702fc90192e349e32f8ef0ed151ef506aa78c81a7c455ec18375c4125414b99f84b2e055199d66383e787675f0bcd87da7a4dbd59f9eac1d5 + languageName: node + linkType: hard + +"acorn-jsx@npm:^5.3.2": + version: 5.3.2 + resolution: "acorn-jsx@npm:5.3.2" + peerDependencies: + acorn: ^6.0.0 || ^7.0.0 || ^8.0.0 + checksum: 10c0/4c54868fbef3b8d58927d5e33f0a4de35f59012fe7b12cf9dfbb345fb8f46607709e1c4431be869a23fb63c151033d84c4198fa9f79385cec34fcb1dd53974c1 + languageName: node + linkType: hard + +"acorn@npm:^8.16.0": + version: 8.16.0 + resolution: "acorn@npm:8.16.0" + bin: + acorn: bin/acorn + checksum: 10c0/c9c52697227661b68d0debaf972222d4f622aa06b185824164e153438afa7b08273432ca43ea792cadb24dada1d46f6f6bb1ef8de9956979288cc1b96bf9914e + languageName: node + linkType: hard + +"agent-base@npm:^7.1.2": + version: 7.1.4 + resolution: "agent-base@npm:7.1.4" + checksum: 10c0/c2c9ab7599692d594b6a161559ada307b7a624fa4c7b03e3afdb5a5e31cd0e53269115b620fcab024c5ac6a6f37fa5eb2e004f076ad30f5f7e6b8b671f7b35fe + languageName: node + linkType: hard + +"ajv@npm:^6.14.0": + version: 6.15.0 + resolution: "ajv@npm:6.15.0" + dependencies: + fast-deep-equal: "npm:^3.1.1" + fast-json-stable-stringify: "npm:^2.0.0" + json-schema-traverse: "npm:^0.4.1" + uri-js: "npm:^4.2.2" + checksum: 10c0/67966499dd272ecde1c2e467084411132891523d057487587879d39ac04207f4351b7b2324c83198013967fbfa632c1612adc960114a30770fbe07a0773b32c2 + languageName: node + linkType: hard + +"array-buffer-byte-length@npm:^1.0.1, array-buffer-byte-length@npm:^1.0.2": + version: 1.0.2 + resolution: "array-buffer-byte-length@npm:1.0.2" + dependencies: + call-bound: "npm:^1.0.3" + is-array-buffer: "npm:^3.0.5" + checksum: 10c0/74e1d2d996941c7a1badda9cabb7caab8c449db9086407cad8a1b71d2604cc8abf105db8ca4e02c04579ec58b7be40279ddb09aea4784832984485499f48432d + languageName: node + linkType: hard + +"array-includes@npm:^3.1.9": + version: 3.1.9 + resolution: "array-includes@npm:3.1.9" + dependencies: + call-bind: "npm:^1.0.8" + call-bound: "npm:^1.0.4" + define-properties: "npm:^1.2.1" + es-abstract: "npm:^1.24.0" + es-object-atoms: "npm:^1.1.1" + get-intrinsic: "npm:^1.3.0" + is-string: "npm:^1.1.1" + math-intrinsics: "npm:^1.1.0" + checksum: 10c0/0235fa69078abeac05ac4250699c44996bc6f774a9cbe45db48674ce6bd142f09b327d31482ff75cf03344db4ea03eae23edb862d59378b484b47ed842574856 + languageName: node + linkType: hard + +"array.prototype.findlastindex@npm:^1.2.6": + version: 1.2.6 + resolution: "array.prototype.findlastindex@npm:1.2.6" + dependencies: + call-bind: "npm:^1.0.8" + call-bound: "npm:^1.0.4" + define-properties: "npm:^1.2.1" + es-abstract: "npm:^1.23.9" + es-errors: "npm:^1.3.0" + es-object-atoms: "npm:^1.1.1" + es-shim-unscopables: "npm:^1.1.0" + checksum: 10c0/82559310d2e57ec5f8fc53d7df420e3abf0ba497935de0a5570586035478ba7d07618cb18e2d4ada2da514c8fb98a034aaf5c06caa0a57e2f7f4c4adedef5956 + languageName: node + linkType: hard + +"array.prototype.flat@npm:^1.3.3": + version: 1.3.3 + resolution: "array.prototype.flat@npm:1.3.3" + dependencies: + call-bind: "npm:^1.0.8" + define-properties: "npm:^1.2.1" + es-abstract: "npm:^1.23.5" + es-shim-unscopables: "npm:^1.0.2" + checksum: 10c0/d90e04dfbc43bb96b3d2248576753d1fb2298d2d972e29ca7ad5ec621f0d9e16ff8074dae647eac4f31f4fb7d3f561a7ac005fb01a71f51705a13b5af06a7d8a + languageName: node + linkType: hard + +"array.prototype.flatmap@npm:^1.3.3": + version: 1.3.3 + resolution: "array.prototype.flatmap@npm:1.3.3" + dependencies: + call-bind: "npm:^1.0.8" + define-properties: "npm:^1.2.1" + es-abstract: "npm:^1.23.5" + es-shim-unscopables: "npm:^1.0.2" + checksum: 10c0/ba899ea22b9dc9bf276e773e98ac84638ed5e0236de06f13d63a90b18ca9e0ec7c97d622d899796e3773930b946cd2413d098656c0c5d8cc58c6f25c21e6bd54 + languageName: node + linkType: hard + +"arraybuffer.prototype.slice@npm:^1.0.4": + version: 1.0.4 + resolution: "arraybuffer.prototype.slice@npm:1.0.4" + dependencies: + array-buffer-byte-length: "npm:^1.0.1" + call-bind: "npm:^1.0.8" + define-properties: "npm:^1.2.1" + es-abstract: "npm:^1.23.5" + es-errors: "npm:^1.3.0" + get-intrinsic: "npm:^1.2.6" + is-array-buffer: "npm:^3.0.4" + checksum: 10c0/2f2459caa06ae0f7f615003f9104b01f6435cc803e11bd2a655107d52a1781dc040532dc44d93026b694cc18793993246237423e13a5337e86b43ed604932c06 + languageName: node + linkType: hard + +"assertion-error@npm:^2.0.1": + version: 2.0.1 + resolution: "assertion-error@npm:2.0.1" + checksum: 10c0/bbbcb117ac6480138f8c93cf7f535614282dea9dc828f540cdece85e3c665e8f78958b96afac52f29ff883c72638e6a87d469ecc9fe5bc902df03ed24a55dba8 + languageName: node + linkType: hard + +"ast-v8-to-istanbul@npm:^1.0.0": + version: 1.0.0 + resolution: "ast-v8-to-istanbul@npm:1.0.0" + dependencies: + "@jridgewell/trace-mapping": "npm:^0.3.31" + estree-walker: "npm:^3.0.3" + js-tokens: "npm:^10.0.0" + checksum: 10c0/35e57b754ba63287358094d4f7ae8de2de27286fb4e76a1fbf28b2e67e3b670b59c3f511882473d0fd2cdbaa260062e3cd4f216b724c70032e2b09e5cebbd618 + languageName: node + linkType: hard + +"async-function@npm:^1.0.0": + version: 1.0.0 + resolution: "async-function@npm:1.0.0" + checksum: 10c0/669a32c2cb7e45091330c680e92eaeb791bc1d4132d827591e499cd1f776ff5a873e77e5f92d0ce795a8d60f10761dec9ddfe7225a5de680f5d357f67b1aac73 + languageName: node + linkType: hard + +"async-generator-function@npm:^1.0.0": + version: 1.0.0 + resolution: "async-generator-function@npm:1.0.0" + checksum: 10c0/2c50ef856c543ad500d8d8777d347e3c1ba623b93e99c9263ecc5f965c1b12d2a140e2ab6e43c3d0b85366110696f28114649411cbcd10b452a92a2318394186 + languageName: node + linkType: hard + +"asynckit@npm:^0.4.0": + version: 0.4.0 + resolution: "asynckit@npm:0.4.0" + checksum: 10c0/d73e2ddf20c4eb9337e1b3df1a0f6159481050a5de457c55b14ea2e5cb6d90bb69e004c9af54737a5ee0917fcf2c9e25de67777bbe58261847846066ba75bc9d + languageName: node + linkType: hard + +"available-typed-arrays@npm:^1.0.7": + version: 1.0.7 + resolution: "available-typed-arrays@npm:1.0.7" + dependencies: + possible-typed-array-names: "npm:^1.0.0" + checksum: 10c0/d07226ef4f87daa01bd0fe80f8f310982e345f372926da2e5296aecc25c41cab440916bbaa4c5e1034b453af3392f67df5961124e4b586df1e99793a1374bdb2 + languageName: node + linkType: hard + +"axios-mock-adapter@npm:^2.1.0": + version: 2.1.0 + resolution: "axios-mock-adapter@npm:2.1.0" + dependencies: + fast-deep-equal: "npm:^3.1.3" + is-buffer: "npm:^2.0.5" + peerDependencies: + axios: ">= 0.17.0" + checksum: 10c0/37ebd88940245f4e027578734613417f024d06e2279edb1a188ccdf685a15ab4fdfbac7cfe681731722a1ba6c0a5ec15ef0145f79a53687181e4aacbe45e1730 + languageName: node + linkType: hard + +"axios@npm:^1.15.2": + version: 1.15.2 + resolution: "axios@npm:1.15.2" + dependencies: + follow-redirects: "npm:^1.15.11" + form-data: "npm:^4.0.5" + proxy-from-env: "npm:^2.1.0" + checksum: 10c0/4eeae0feeaa7fdc1ef24f81f8b378fdadedf4aebdd6bf224484675160f8744cf17b9b0d1c215279979940f7e8ce463beffa2f713099612e428eac238515c81d5 + languageName: node + linkType: hard + +"balanced-match@npm:^1.0.0": + version: 1.0.2 + resolution: "balanced-match@npm:1.0.2" + checksum: 10c0/9308baf0a7e4838a82bbfd11e01b1cb0f0cf2893bc1676c27c2a8c0e70cbae1c59120c3268517a8ae7fb6376b4639ef81ca22582611dbee4ed28df945134aaee + languageName: node + linkType: hard + +"balanced-match@npm:^4.0.2": + version: 4.0.4 + resolution: "balanced-match@npm:4.0.4" + checksum: 10c0/07e86102a3eb2ee2a6a1a89164f29d0dbaebd28f2ca3f5ca786f36b8b23d9e417eb3be45a4acf754f837be5ac0a2317de90d3fcb7f4f4dc95720a1f36b26a17b + languageName: node + linkType: hard + +"base64-js@npm:^1.3.0": + version: 1.5.1 + resolution: "base64-js@npm:1.5.1" + checksum: 10c0/f23823513b63173a001030fae4f2dabe283b99a9d324ade3ad3d148e218134676f1ee8568c877cd79ec1c53158dcf2d2ba527a97c606618928ba99dd930102bf + languageName: node + linkType: hard + +"bignumber.js@npm:^9.0.0": + version: 9.3.1 + resolution: "bignumber.js@npm:9.3.1" + checksum: 10c0/61342ba5fe1c10887f0ecf5be02ff6709271481aff48631f86b4d37d55a99b87ce441cfd54df3d16d10ee07ceab7e272fc0be430c657ffafbbbf7b7d631efb75 + languageName: node + linkType: hard + +"blaise-api-node-client@workspace:.": + version: 0.0.0-use.local + resolution: "blaise-api-node-client@workspace:." + dependencies: + "@eslint/js": "npm:^10.0.1" + "@types/node": "npm:^25.6.0" + "@vitest/coverage-v8": "npm:^4.1.5" + axios: "npm:^1.15.2" + axios-mock-adapter: "npm:^2.1.0" + blaise-iap-node-provider: "git+https://github.com/ONSdigital/blaise-iap-node-provider.git#BLAIS5-5177" + eslint: "npm:^10.2.1" + eslint-config-prettier: "npm:^10.1.8" + eslint-import-resolver-typescript: "npm:^4.4.4" + eslint-plugin-import: "npm:^2.32.0" + eslint-plugin-prettier: "npm:^5.5.5" + globals: "npm:^17.5.0" + jiti: "npm:^2.6.1" + prettier: "npm:^3.8.3" + typescript: "npm:^6.0.3" + typescript-eslint: "npm:^8.59.1" + vitest: "npm:^4.1.5" + languageName: unknown + linkType: soft "blaise-iap-node-provider@git+https://github.com/ONSdigital/blaise-iap-node-provider.git#BLAIS5-5177": - version "1.0.0" - resolved "git+https://github.com/ONSdigital/blaise-iap-node-provider.git#7d713cb32ed200eeac088356ad41291334179909" - dependencies: - "@types/node" "^25.6.0" - google-auth-library "^10.6.2" - jsonwebtoken "^9.0.3" - typescript "^6.0.3" - -brace-expansion@^1.1.7: - version "1.1.14" - resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.14.tgz#d9de602370d91347cd9ddad1224d4fd701eb348b" - integrity sha512-MWPGfDxnyzKU7rNOW9SP/c50vi3xrmrua/+6hfPbCS2ABNWfx24vPidzvC7krjU/RTo235sV776ymlsMtGKj8g== - dependencies: - balanced-match "^1.0.0" - concat-map "0.0.1" - -brace-expansion@^5.0.5: - version "5.0.5" - resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-5.0.5.tgz#dcc3a37116b79f3e1b46db994ced5d570e930fdb" - integrity sha512-VZznLgtwhn+Mact9tfiwx64fA9erHH/MCXEUfB/0bX/6Fz6ny5EGTXYltMocqg4xFAQZtnO3DHWWXi8RiuN7cQ== - dependencies: - balanced-match "^4.0.2" - -buffer-equal-constant-time@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/buffer-equal-constant-time/-/buffer-equal-constant-time-1.0.1.tgz#f8e71132f7ffe6e01a5c9697a4c6f3e48d5cc819" - integrity sha512-zRpUiDwd/xk6ADqPMATG8vc9VPrkck7T07OIx0gnjmJAnHnTVXNQG3vfvWNuiZIkwu9KrKdA1iJKfsfTVxE6NA== - -call-bind-apply-helpers@^1.0.1, call-bind-apply-helpers@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/call-bind-apply-helpers/-/call-bind-apply-helpers-1.0.2.tgz#4b5428c222be985d79c3d82657479dbe0b59b2d6" - integrity sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ== - dependencies: - es-errors "^1.3.0" - function-bind "^1.1.2" - -call-bind@^1.0.7, call-bind@^1.0.8, call-bind@^1.0.9: - version "1.0.9" - resolved "https://registry.yarnpkg.com/call-bind/-/call-bind-1.0.9.tgz#39a644700c80bc7d0ca9102fc6d1d43b2fd7eee7" - integrity sha512-a/hy+pNsFUTR+Iz8TCJvXudKVLAnz/DyeSUo10I5yvFDQJBFU2s9uqQpoSrJlroHUKoKqzg+epxyP9lqFdzfBQ== - dependencies: - call-bind-apply-helpers "^1.0.2" - es-define-property "^1.0.1" - get-intrinsic "^1.3.0" - set-function-length "^1.2.2" - -call-bound@^1.0.2, call-bound@^1.0.3, call-bound@^1.0.4: - version "1.0.4" - resolved "https://registry.yarnpkg.com/call-bound/-/call-bound-1.0.4.tgz#238de935d2a2a692928c538c7ccfa91067fd062a" - integrity sha512-+ys997U96po4Kx/ABpBCqhA9EuxJaQWDQg7295H4hBphv3IZg0boBKuwYpt4YXp6MZ5AmZQnU/tyMTlRpaSejg== - dependencies: - call-bind-apply-helpers "^1.0.2" - get-intrinsic "^1.3.0" - -chai@^6.2.2: - version "6.2.2" - resolved "https://registry.yarnpkg.com/chai/-/chai-6.2.2.tgz#ae41b52c9aca87734505362717f3255facda360e" - integrity sha512-NUPRluOfOiTKBKvWPtSD4PhFvWCqOi0BGStNWs57X9js7XGTprSmFoz5F0tWhR4WPjNeR9jXqdC7/UpSJTnlRg== - -combined-stream@^1.0.8: - version "1.0.8" - resolved "https://registry.yarnpkg.com/combined-stream/-/combined-stream-1.0.8.tgz#c3d45a8b34fd730631a110a8a2520682b31d5a7f" - integrity sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg== - dependencies: - delayed-stream "~1.0.0" - -concat-map@0.0.1: - version "0.0.1" - resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" - integrity sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg== - -convert-source-map@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-2.0.0.tgz#4b560f649fc4e918dd0ab75cf4961e8bc882d82a" - integrity sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg== - -cross-spawn@^7.0.6: - version "7.0.6" - resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-7.0.6.tgz#8a58fe78f00dcd70c370451759dfbfaf03e8ee9f" - integrity sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA== - dependencies: - path-key "^3.1.0" - shebang-command "^2.0.0" - which "^2.0.1" - -data-uri-to-buffer@^4.0.0: - version "4.0.1" - resolved "https://registry.yarnpkg.com/data-uri-to-buffer/-/data-uri-to-buffer-4.0.1.tgz#d8feb2b2881e6a4f58c2e08acfd0e2834e26222e" - integrity sha512-0R9ikRb668HB7QDxT1vkpuUBtqc53YyAwMwGeUFKRojY/NWKvdZ+9UYtRfGmhqNbRkTSVpMbmyhXipFFv2cb/A== - -data-view-buffer@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/data-view-buffer/-/data-view-buffer-1.0.2.tgz#211a03ba95ecaf7798a8c7198d79536211f88570" - integrity sha512-EmKO5V3OLXh1rtK2wgXRansaK1/mtVdTUEiEI0W8RkvgT05kfxaH29PliLnpLP73yYO6142Q72QNa8Wx/A5CqQ== - dependencies: - call-bound "^1.0.3" - es-errors "^1.3.0" - is-data-view "^1.0.2" - -data-view-byte-length@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/data-view-byte-length/-/data-view-byte-length-1.0.2.tgz#9e80f7ca52453ce3e93d25a35318767ea7704735" - integrity sha512-tuhGbE6CfTM9+5ANGf+oQb72Ky/0+s3xKUpHvShfiz2RxMFgFPjsXuRLBVMtvMs15awe45SRb83D6wH4ew6wlQ== - dependencies: - call-bound "^1.0.3" - es-errors "^1.3.0" - is-data-view "^1.0.2" - -data-view-byte-offset@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/data-view-byte-offset/-/data-view-byte-offset-1.0.1.tgz#068307f9b71ab76dbbe10291389e020856606191" - integrity sha512-BS8PfmtDGnrgYdOonGZQdLZslWIeCGFP9tpan0hi1Co2Zr2NKADsvGYA8XxuG/4UWgJ6Cjtv+YJnB6MM69QGlQ== - dependencies: - call-bound "^1.0.2" - es-errors "^1.3.0" - is-data-view "^1.0.1" - -debug@4, debug@^4.3.1, debug@^4.3.2, debug@^4.4.1, debug@^4.4.3: - version "4.4.3" - resolved "https://registry.yarnpkg.com/debug/-/debug-4.4.3.tgz#c6ae432d9bd9662582fce08709b038c58e9e3d6a" - integrity sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA== - dependencies: - ms "^2.1.3" - -debug@^3.2.7: - version "3.2.7" - resolved "https://registry.yarnpkg.com/debug/-/debug-3.2.7.tgz#72580b7e9145fb39b6676f9c5e5fb100b934179a" - integrity sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ== - dependencies: - ms "^2.1.1" - -deep-is@^0.1.3: - version "0.1.4" - resolved "https://registry.yarnpkg.com/deep-is/-/deep-is-0.1.4.tgz#a6f2dce612fadd2ef1f519b73551f17e85199831" - integrity sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ== - -define-data-property@^1.0.1, define-data-property@^1.1.4: - version "1.1.4" - resolved "https://registry.yarnpkg.com/define-data-property/-/define-data-property-1.1.4.tgz#894dc141bb7d3060ae4366f6a0107e68fbe48c5e" - integrity sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A== - dependencies: - es-define-property "^1.0.0" - es-errors "^1.3.0" - gopd "^1.0.1" - -define-properties@^1.2.1: - version "1.2.1" - resolved "https://registry.yarnpkg.com/define-properties/-/define-properties-1.2.1.tgz#10781cc616eb951a80a034bafcaa7377f6af2b6c" - integrity sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg== - dependencies: - define-data-property "^1.0.1" - has-property-descriptors "^1.0.0" - object-keys "^1.1.1" - -delayed-stream@~1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/delayed-stream/-/delayed-stream-1.0.0.tgz#df3ae199acadfb7d440aaae0b29e2272b24ec619" - integrity sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ== - -detect-libc@^2.0.3: - version "2.1.2" - resolved "https://registry.yarnpkg.com/detect-libc/-/detect-libc-2.1.2.tgz#689c5dcdc1900ef5583a4cb9f6d7b473742074ad" - integrity sha512-Btj2BOOO83o3WyH59e8MgXsxEQVcarkUOpEYrubB0urwnN10yQ364rsiByU11nZlqWYZm05i/of7io4mzihBtQ== - -doctrine@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/doctrine/-/doctrine-2.1.0.tgz#5cd01fc101621b42c4cd7f5d1a66243716d3f39d" - integrity sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw== - dependencies: - esutils "^2.0.2" - -dunder-proto@^1.0.0, dunder-proto@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/dunder-proto/-/dunder-proto-1.0.1.tgz#d7ae667e1dc83482f8b70fd0f6eefc50da30f58a" - integrity sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A== - dependencies: - call-bind-apply-helpers "^1.0.1" - es-errors "^1.3.0" - gopd "^1.2.0" - -ecdsa-sig-formatter@1.0.11, ecdsa-sig-formatter@^1.0.11: - version "1.0.11" - resolved "https://registry.yarnpkg.com/ecdsa-sig-formatter/-/ecdsa-sig-formatter-1.0.11.tgz#ae0f0fa2d85045ef14a817daa3ce9acd0489e5bf" - integrity sha512-nagl3RYrbNv6kQkeJIpt6NJZy8twLB/2vtz6yN9Z4vRKHN4/QZJIEbqohALSgwKdnksuY3k5Addp5lg8sVoVcQ== - dependencies: - safe-buffer "^5.0.1" - -es-abstract@^1.23.2, es-abstract@^1.23.5, es-abstract@^1.23.9, es-abstract@^1.24.0: - version "1.24.2" - resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.24.2.tgz#2dbd38c180735ee983f77585140a2706a963ed9a" - integrity sha512-2FpH9Q5i2RRwyEP1AylXe6nYLR5OhaJTZwmlcP0dL/+JCbgg7yyEo/sEK6HeGZRf3dFpWwThaRHVApXSkW3xeg== - dependencies: - array-buffer-byte-length "^1.0.2" - arraybuffer.prototype.slice "^1.0.4" - available-typed-arrays "^1.0.7" - call-bind "^1.0.8" - call-bound "^1.0.4" - data-view-buffer "^1.0.2" - data-view-byte-length "^1.0.2" - data-view-byte-offset "^1.0.1" - es-define-property "^1.0.1" - es-errors "^1.3.0" - es-object-atoms "^1.1.1" - es-set-tostringtag "^2.1.0" - es-to-primitive "^1.3.0" - function.prototype.name "^1.1.8" - get-intrinsic "^1.3.0" - get-proto "^1.0.1" - get-symbol-description "^1.1.0" - globalthis "^1.0.4" - gopd "^1.2.0" - has-property-descriptors "^1.0.2" - has-proto "^1.2.0" - has-symbols "^1.1.0" - hasown "^2.0.2" - internal-slot "^1.1.0" - is-array-buffer "^3.0.5" - is-callable "^1.2.7" - is-data-view "^1.0.2" - is-negative-zero "^2.0.3" - is-regex "^1.2.1" - is-set "^2.0.3" - is-shared-array-buffer "^1.0.4" - is-string "^1.1.1" - is-typed-array "^1.1.15" - is-weakref "^1.1.1" - math-intrinsics "^1.1.0" - object-inspect "^1.13.4" - object-keys "^1.1.1" - object.assign "^4.1.7" - own-keys "^1.0.1" - regexp.prototype.flags "^1.5.4" - safe-array-concat "^1.1.3" - safe-push-apply "^1.0.0" - safe-regex-test "^1.1.0" - set-proto "^1.0.0" - stop-iteration-iterator "^1.1.0" - string.prototype.trim "^1.2.10" - string.prototype.trimend "^1.0.9" - string.prototype.trimstart "^1.0.8" - typed-array-buffer "^1.0.3" - typed-array-byte-length "^1.0.3" - typed-array-byte-offset "^1.0.4" - typed-array-length "^1.0.7" - unbox-primitive "^1.1.0" - which-typed-array "^1.1.19" - -es-define-property@^1.0.0, es-define-property@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/es-define-property/-/es-define-property-1.0.1.tgz#983eb2f9a6724e9303f61addf011c72e09e0b0fa" - integrity sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g== - -es-errors@^1.3.0: - version "1.3.0" - resolved "https://registry.yarnpkg.com/es-errors/-/es-errors-1.3.0.tgz#05f75a25dab98e4fb1dcd5e1472c0546d5057c8f" - integrity sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw== - -es-module-lexer@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/es-module-lexer/-/es-module-lexer-2.0.0.tgz#f657cd7a9448dcdda9c070a3cb75e5dc1e85f5b1" - integrity sha512-5POEcUuZybH7IdmGsD8wlf0AI55wMecM9rVBTI/qEAy2c1kTOm3DjFYjrBdI2K3BaJjJYfYFeRtM0t9ssnRuxw== - -es-object-atoms@^1.0.0, es-object-atoms@^1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/es-object-atoms/-/es-object-atoms-1.1.1.tgz#1c4f2c4837327597ce69d2ca190a7fdd172338c1" - integrity sha512-FGgH2h8zKNim9ljj7dankFPcICIK9Cp5bm+c2gQSYePhpaG5+esrLODihIorn+Pe6FGJzWhXQotPv73jTaldXA== - dependencies: - es-errors "^1.3.0" - -es-set-tostringtag@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/es-set-tostringtag/-/es-set-tostringtag-2.1.0.tgz#f31dbbe0c183b00a6d26eb6325c810c0fd18bd4d" - integrity sha512-j6vWzfrGVfyXxge+O0x5sh6cvxAog0a/4Rdd2K36zCMV5eJ+/+tOAngRO8cODMNWbVRdVlmGZQL2YS3yR8bIUA== - dependencies: - es-errors "^1.3.0" - get-intrinsic "^1.2.6" - has-tostringtag "^1.0.2" - hasown "^2.0.2" - -es-shim-unscopables@^1.0.2, es-shim-unscopables@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/es-shim-unscopables/-/es-shim-unscopables-1.1.0.tgz#438df35520dac5d105f3943d927549ea3b00f4b5" - integrity sha512-d9T8ucsEhh8Bi1woXCf+TIKDIROLG5WCkxg8geBCbvk22kzwC5G2OnXVMO6FUsvQlgUUXQ2itephWDLqDzbeCw== - dependencies: - hasown "^2.0.2" - -es-to-primitive@^1.3.0: - version "1.3.0" - resolved "https://registry.yarnpkg.com/es-to-primitive/-/es-to-primitive-1.3.0.tgz#96c89c82cc49fd8794a24835ba3e1ff87f214e18" - integrity sha512-w+5mJ3GuFL+NjVtJlvydShqE1eN3h3PbI7/5LAsYJP/2qtuMXjfL2LpHSRqo4b4eSF5K/DH1JXKUAHSB2UW50g== - dependencies: - is-callable "^1.2.7" - is-date-object "^1.0.5" - is-symbol "^1.0.4" - -escape-string-regexp@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz#14ba83a5d373e3d311e5afca29cf5bfad965bf34" - integrity sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA== - -eslint-config-prettier@^10.1.8: - version "10.1.8" - resolved "https://registry.yarnpkg.com/eslint-config-prettier/-/eslint-config-prettier-10.1.8.tgz#15734ce4af8c2778cc32f0b01b37b0b5cd1ecb97" - integrity sha512-82GZUjRS0p/jganf6q1rEO25VSoHH0hKPCTrgillPjdI/3bgBhAE1QzHrHTizjpRvy6pGAvKjDJtk2pF9NDq8w== - -eslint-import-context@^0.1.8: - version "0.1.9" - resolved "https://registry.yarnpkg.com/eslint-import-context/-/eslint-import-context-0.1.9.tgz#967b0b2f0a90ef4b689125e088f790f0b7756dbe" - integrity sha512-K9Hb+yRaGAGUbwjhFNHvSmmkZs9+zbuoe3kFQ4V1wYjrepUFYM2dZAfNtjbbj3qsPfUfsA68Bx/ICWQMi+C8Eg== - dependencies: - get-tsconfig "^4.10.1" - stable-hash-x "^0.2.0" - -eslint-import-resolver-node@^0.3.9: - version "0.3.10" - resolved "https://registry.yarnpkg.com/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.10.tgz#84ce3005abfc300588cf23bbac1aabec1fc6e8c1" - integrity sha512-tRrKqFyCaKict5hOd244sL6EQFNycnMQnBe+j8uqGNXYzsImGbGUU4ibtoaBmv5FLwJwcFJNeg1GeVjQfbMrDQ== - dependencies: - debug "^3.2.7" - is-core-module "^2.16.1" - resolve "^2.0.0-next.6" - -eslint-import-resolver-typescript@^4.4.4: - version "4.4.4" - resolved "https://registry.yarnpkg.com/eslint-import-resolver-typescript/-/eslint-import-resolver-typescript-4.4.4.tgz#3e83a9c25f4a053fe20e1b07b47e04e8519a8720" - integrity sha512-1iM2zeBvrYmUNTj2vSC/90JTHDth+dfOfiNKkxApWRsTJYNrc8rOdxxIf5vazX+BiAXTeOT0UvWpGI/7qIWQOw== - dependencies: - debug "^4.4.1" - eslint-import-context "^0.1.8" - get-tsconfig "^4.10.1" - is-bun-module "^2.0.0" - stable-hash-x "^0.2.0" - tinyglobby "^0.2.14" - unrs-resolver "^1.7.11" - -eslint-module-utils@^2.12.1: - version "2.12.1" - resolved "https://registry.yarnpkg.com/eslint-module-utils/-/eslint-module-utils-2.12.1.tgz#f76d3220bfb83c057651359295ab5854eaad75ff" - integrity sha512-L8jSWTze7K2mTg0vos/RuLRS5soomksDPoJLXIslC7c8Wmut3bx7CPpJijDcBZtxQ5lrbUdM+s0OlNbz0DCDNw== - dependencies: - debug "^3.2.7" - -eslint-plugin-import@^2.32.0: - version "2.32.0" - resolved "https://registry.yarnpkg.com/eslint-plugin-import/-/eslint-plugin-import-2.32.0.tgz#602b55faa6e4caeaa5e970c198b5c00a37708980" - integrity sha512-whOE1HFo/qJDyX4SnXzP4N6zOWn79WhnCUY/iDR0mPfQZO8wcYE4JClzI2oZrhBnnMUCBCHZhO6VQyoBU95mZA== - dependencies: - "@rtsao/scc" "^1.1.0" - array-includes "^3.1.9" - array.prototype.findlastindex "^1.2.6" - array.prototype.flat "^1.3.3" - array.prototype.flatmap "^1.3.3" - debug "^3.2.7" - doctrine "^2.1.0" - eslint-import-resolver-node "^0.3.9" - eslint-module-utils "^2.12.1" - hasown "^2.0.2" - is-core-module "^2.16.1" - is-glob "^4.0.3" - minimatch "^3.1.2" - object.fromentries "^2.0.8" - object.groupby "^1.0.3" - object.values "^1.2.1" - semver "^6.3.1" - string.prototype.trimend "^1.0.9" - tsconfig-paths "^3.15.0" - -eslint-plugin-prettier@^5.5.5: - version "5.5.5" - resolved "https://registry.yarnpkg.com/eslint-plugin-prettier/-/eslint-plugin-prettier-5.5.5.tgz#9eae11593faa108859c26f9a9c367d619a0769c0" - integrity sha512-hscXkbqUZ2sPithAuLm5MXL+Wph+U7wHngPBv9OMWwlP8iaflyxpjTYZkmdgB4/vPIhemRlBEoLrH7UC1n7aUw== - dependencies: - prettier-linter-helpers "^1.0.1" - synckit "^0.11.12" - -eslint-scope@^9.1.2: - version "9.1.2" - resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-9.1.2.tgz#b9de6ace2fab1cff24d2e58d85b74c8fcea39802" - integrity sha512-xS90H51cKw0jltxmvmHy2Iai1LIqrfbw57b79w/J7MfvDfkIkFZ+kj6zC3BjtUwh150HsSSdxXZcsuv72miDFQ== - dependencies: - "@types/esrecurse" "^4.3.1" - "@types/estree" "^1.0.8" - esrecurse "^4.3.0" - estraverse "^5.2.0" - -eslint-visitor-keys@^3.4.3: - version "3.4.3" - resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz#0cd72fe8550e3c2eae156a96a4dddcd1c8ac5800" - integrity sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag== - -eslint-visitor-keys@^5.0.0, eslint-visitor-keys@^5.0.1: - version "5.0.1" - resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-5.0.1.tgz#9e3c9489697824d2d4ce3a8ad12628f91e9f59be" - integrity sha512-tD40eHxA35h0PEIZNeIjkHoDR4YjjJp34biM0mDvplBe//mB+IHCqHDGV7pxF+7MklTvighcCPPZC7ynWyjdTA== - -eslint@^10.2.1: - version "10.2.1" - resolved "https://registry.yarnpkg.com/eslint/-/eslint-10.2.1.tgz#224b2a6caeb34473eddcf918762363e2e063222a" - integrity sha512-wiyGaKsDgqXvF40P8mDwiUp/KQjE1FdrIEJsM8PZ3XCiniTMXS3OHWWUe5FI5agoCnr8x4xPrTDZuxsBlNHl+Q== - dependencies: - "@eslint-community/eslint-utils" "^4.8.0" - "@eslint-community/regexpp" "^4.12.2" - "@eslint/config-array" "^0.23.5" - "@eslint/config-helpers" "^0.5.5" - "@eslint/core" "^1.2.1" - "@eslint/plugin-kit" "^0.7.1" - "@humanfs/node" "^0.16.6" - "@humanwhocodes/module-importer" "^1.0.1" - "@humanwhocodes/retry" "^0.4.2" - "@types/estree" "^1.0.6" - ajv "^6.14.0" - cross-spawn "^7.0.6" - debug "^4.3.2" - escape-string-regexp "^4.0.0" - eslint-scope "^9.1.2" - eslint-visitor-keys "^5.0.1" - espree "^11.2.0" - esquery "^1.7.0" - esutils "^2.0.2" - fast-deep-equal "^3.1.3" - file-entry-cache "^8.0.0" - find-up "^5.0.0" - glob-parent "^6.0.2" - ignore "^5.2.0" - imurmurhash "^0.1.4" - is-glob "^4.0.0" - json-stable-stringify-without-jsonify "^1.0.1" - minimatch "^10.2.4" - natural-compare "^1.4.0" - optionator "^0.9.3" - -espree@^11.2.0: - version "11.2.0" - resolved "https://registry.yarnpkg.com/espree/-/espree-11.2.0.tgz#01d5e47dc332aaba3059008362454a8cc34ccaa5" - integrity sha512-7p3DrVEIopW1B1avAGLuCSh1jubc01H2JHc8B4qqGblmg5gI9yumBgACjWo4JlIc04ufug4xJ3SQI8HkS/Rgzw== - dependencies: - acorn "^8.16.0" - acorn-jsx "^5.3.2" - eslint-visitor-keys "^5.0.1" - -esquery@^1.7.0: - version "1.7.0" - resolved "https://registry.yarnpkg.com/esquery/-/esquery-1.7.0.tgz#08d048f261f0ddedb5bae95f46809463d9c9496d" - integrity sha512-Ap6G0WQwcU/LHsvLwON1fAQX9Zp0A2Y6Y/cJBl9r/JbW90Zyg4/zbG6zzKa2OTALELarYHmKu0GhpM5EO+7T0g== - dependencies: - estraverse "^5.1.0" - -esrecurse@^4.3.0: - version "4.3.0" - resolved "https://registry.yarnpkg.com/esrecurse/-/esrecurse-4.3.0.tgz#7ad7964d679abb28bee72cec63758b1c5d2c9921" - integrity sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag== - dependencies: - estraverse "^5.2.0" - -estraverse@^5.1.0, estraverse@^5.2.0: - version "5.3.0" - resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-5.3.0.tgz#2eea5290702f26ab8fe5370370ff86c965d21123" - integrity sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA== - -estree-walker@^3.0.3: - version "3.0.3" - resolved "https://registry.yarnpkg.com/estree-walker/-/estree-walker-3.0.3.tgz#67c3e549ec402a487b4fc193d1953a524752340d" - integrity sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g== - dependencies: - "@types/estree" "^1.0.0" - -esutils@^2.0.2: - version "2.0.3" - resolved "https://registry.yarnpkg.com/esutils/-/esutils-2.0.3.tgz#74d2eb4de0b8da1293711910d50775b9b710ef64" - integrity sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g== - -expect-type@^1.3.0: - version "1.3.0" - resolved "https://registry.yarnpkg.com/expect-type/-/expect-type-1.3.0.tgz#0d58ed361877a31bbc4dd6cf71bbfef7faf6bd68" - integrity sha512-knvyeauYhqjOYvQ66MznSMs83wmHrCycNEN6Ao+2AeYEfxUIkuiVxdEa1qlGEPK+We3n0THiDciYSsCcgW/DoA== - -extend@^3.0.2: - version "3.0.2" - resolved "https://registry.yarnpkg.com/extend/-/extend-3.0.2.tgz#f8b1136b4071fbd8eb140aff858b1019ec2915fa" - integrity sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g== - -fast-deep-equal@^3.1.1, fast-deep-equal@^3.1.3: - version "3.1.3" - resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz#3a7d56b559d6cbc3eb512325244e619a65c6c525" - integrity sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q== - -fast-diff@^1.1.2: - version "1.3.0" - resolved "https://registry.yarnpkg.com/fast-diff/-/fast-diff-1.3.0.tgz#ece407fa550a64d638536cd727e129c61616e0f0" - integrity sha512-VxPP4NqbUjj6MaAOafWeUn2cXWLcCtljklUtZf0Ind4XQ+QPtmA0b18zZy0jIQx+ExRVCR/ZQpBmik5lXshNsw== - -fast-json-stable-stringify@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz#874bf69c6f404c2b5d99c481341399fd55892633" - integrity sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw== - -fast-levenshtein@^2.0.6: - version "2.0.6" - resolved "https://registry.yarnpkg.com/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz#3d8a5c66883a16a30ca8643e851f19baa7797917" - integrity sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw== - -fdir@^6.5.0: - version "6.5.0" - resolved "https://registry.yarnpkg.com/fdir/-/fdir-6.5.0.tgz#ed2ab967a331ade62f18d077dae192684d50d350" - integrity sha512-tIbYtZbucOs0BRGqPJkshJUYdL+SDH7dVM8gjy+ERp3WAUjLEFJE+02kanyHtwjWOnwrKYBiwAmM0p4kLJAnXg== - -fetch-blob@^3.1.2, fetch-blob@^3.1.4: - version "3.2.0" - resolved "https://registry.yarnpkg.com/fetch-blob/-/fetch-blob-3.2.0.tgz#f09b8d4bbd45adc6f0c20b7e787e793e309dcce9" - integrity sha512-7yAQpD2UMJzLi1Dqv7qFYnPbaPx7ZfFK6PiIxQ4PfkGPyNyl2Ugx+a/umUonmKqjhM4DnfbMvdX6otXq83soQQ== - dependencies: - node-domexception "^1.0.0" - web-streams-polyfill "^3.0.3" - -file-entry-cache@^8.0.0: - version "8.0.0" - resolved "https://registry.yarnpkg.com/file-entry-cache/-/file-entry-cache-8.0.0.tgz#7787bddcf1131bffb92636c69457bbc0edd6d81f" - integrity sha512-XXTUwCvisa5oacNGRP9SfNtYBNAMi+RPwBFmblZEF7N7swHYQS6/Zfk7SRwx4D5j3CH211YNRco1DEMNVfZCnQ== - dependencies: - flat-cache "^4.0.0" - -find-up@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/find-up/-/find-up-5.0.0.tgz#4c92819ecb7083561e4f4a240a86be5198f536fc" - integrity sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng== - dependencies: - locate-path "^6.0.0" - path-exists "^4.0.0" - -flat-cache@^4.0.0: - version "4.0.1" - resolved "https://registry.yarnpkg.com/flat-cache/-/flat-cache-4.0.1.tgz#0ece39fcb14ee012f4b0410bd33dd9c1f011127c" - integrity sha512-f7ccFPK3SXFHpx15UIGyRJ/FJQctuKZ0zVuN3frBo4HnK3cay9VEW0R6yPYFHC0AgqhukPzKjq22t5DmAyqGyw== - dependencies: - flatted "^3.2.9" - keyv "^4.5.4" - -flatted@^3.2.9: - version "3.4.2" - resolved "https://registry.yarnpkg.com/flatted/-/flatted-3.4.2.tgz#f5c23c107f0f37de8dbdf24f13722b3b98d52726" - integrity sha512-PjDse7RzhcPkIJwy5t7KPWQSZ9cAbzQXcafsetQoD7sOJRQlGikNbx7yZp2OotDnJyrDcbyRq3Ttb18iYOqkxA== - -follow-redirects@^1.15.11: - version "1.16.0" - resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.16.0.tgz#28474a159d3b9d11ef62050a14ed60e4df6d61bc" - integrity sha512-y5rN/uOsadFT/JfYwhxRS5R7Qce+g3zG97+JrtFZlC9klX/W5hD7iiLzScI4nZqUS7DNUdhPgw4xI8W2LuXlUw== - -for-each@^0.3.3, for-each@^0.3.5: - version "0.3.5" - resolved "https://registry.yarnpkg.com/for-each/-/for-each-0.3.5.tgz#d650688027826920feeb0af747ee7b9421a41d47" - integrity sha512-dKx12eRCVIzqCxFGplyFKJMPvLEWgmNtUrpTiJIR5u97zEhRG8ySrtboPHZXx7daLxQVrl643cTzbab2tkQjxg== - dependencies: - is-callable "^1.2.7" - -form-data@^4.0.5: - version "4.0.5" - resolved "https://registry.yarnpkg.com/form-data/-/form-data-4.0.5.tgz#b49e48858045ff4cbf6b03e1805cebcad3679053" - integrity sha512-8RipRLol37bNs2bhoV67fiTEvdTrbMUYcFTiy3+wuuOnUog2QBHCZWXDRijWQfAkhBj2Uf5UnVaiWwA5vdd82w== - dependencies: - asynckit "^0.4.0" - combined-stream "^1.0.8" - es-set-tostringtag "^2.1.0" - hasown "^2.0.2" - mime-types "^2.1.12" - -formdata-polyfill@^4.0.10: - version "4.0.10" - resolved "https://registry.yarnpkg.com/formdata-polyfill/-/formdata-polyfill-4.0.10.tgz#24807c31c9d402e002ab3d8c720144ceb8848423" - integrity sha512-buewHzMvYL29jdeQTVILecSaZKnt/RJWjoZCF5OW60Z67/GmSLBkOFM7qh1PI3zFNtJbaZL5eQu1vLfazOwj4g== - dependencies: - fetch-blob "^3.1.2" - -fsevents@~2.3.3: - version "2.3.3" - resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.3.3.tgz#cac6407785d03675a2a5e1a5305c697b347d90d6" - integrity sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw== - -function-bind@^1.1.2: - version "1.1.2" - resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.2.tgz#2c02d864d97f3ea6c8830c464cbd11ab6eab7a1c" - integrity sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA== - -function.prototype.name@^1.1.6, function.prototype.name@^1.1.8: - version "1.1.8" - resolved "https://registry.yarnpkg.com/function.prototype.name/-/function.prototype.name-1.1.8.tgz#e68e1df7b259a5c949eeef95cdbde53edffabb78" - integrity sha512-e5iwyodOHhbMr/yNrc7fDYG4qlbIvI5gajyzPnb5TCwyhjApznQh1BMFou9b30SevY43gCJKXycoCBjMbsuW0Q== - dependencies: - call-bind "^1.0.8" - call-bound "^1.0.3" - define-properties "^1.2.1" - functions-have-names "^1.2.3" - hasown "^2.0.2" - is-callable "^1.2.7" - -functions-have-names@^1.2.3: - version "1.2.3" - resolved "https://registry.yarnpkg.com/functions-have-names/-/functions-have-names-1.2.3.tgz#0404fe4ee2ba2f607f0e0ec3c80bae994133b834" - integrity sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ== - -gaxios@^7.0.0, gaxios@^7.1.4: - version "7.1.4" - resolved "https://registry.yarnpkg.com/gaxios/-/gaxios-7.1.4.tgz#33a5b78e2c5c01cf5a5d17f58dd188839867fc9c" - integrity sha512-bTIgTsM2bWn3XklZISBTQX7ZSddGW+IO3bMdGaemHZ3tbqExMENHLx6kKZ/KlejgrMtj8q7wBItt51yegqalrA== - dependencies: - extend "^3.0.2" - https-proxy-agent "^7.0.1" - node-fetch "^3.3.2" - -gcp-metadata@8.1.2: - version "8.1.2" - resolved "https://registry.yarnpkg.com/gcp-metadata/-/gcp-metadata-8.1.2.tgz#e62e3373ddf41fc727ccc31c55c687b798bee898" - integrity sha512-zV/5HKTfCeKWnxG0Dmrw51hEWFGfcF2xiXqcA3+J90WDuP0SvoiSO5ORvcBsifmx/FoIjgQN3oNOGaQ5PhLFkg== - dependencies: - gaxios "^7.0.0" - google-logging-utils "^1.0.0" - json-bigint "^1.0.0" - -generator-function@^2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/generator-function/-/generator-function-2.0.1.tgz#0e75dd410d1243687a0ba2e951b94eedb8f737a2" - integrity sha512-SFdFmIJi+ybC0vjlHN0ZGVGHc3lgE0DxPAT0djjVg+kjOnSqclqmj0KQ7ykTOLP6YxoqOvuAODGdcHJn+43q3g== - -get-intrinsic@^1.2.4, get-intrinsic@^1.2.5, get-intrinsic@^1.2.6, get-intrinsic@^1.2.7, get-intrinsic@^1.3.0: - version "1.3.0" - resolved "https://registry.yarnpkg.com/get-intrinsic/-/get-intrinsic-1.3.0.tgz#743f0e3b6964a93a5491ed1bffaae054d7f98d01" - integrity sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ== - dependencies: - call-bind-apply-helpers "^1.0.2" - es-define-property "^1.0.1" - es-errors "^1.3.0" - es-object-atoms "^1.1.1" - function-bind "^1.1.2" - get-proto "^1.0.1" - gopd "^1.2.0" - has-symbols "^1.1.0" - hasown "^2.0.2" - math-intrinsics "^1.1.0" - -get-proto@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/get-proto/-/get-proto-1.0.1.tgz#150b3f2743869ef3e851ec0c49d15b1d14d00ee1" - integrity sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g== - dependencies: - dunder-proto "^1.0.1" - es-object-atoms "^1.0.0" - -get-symbol-description@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/get-symbol-description/-/get-symbol-description-1.1.0.tgz#7bdd54e0befe8ffc9f3b4e203220d9f1e881b6ee" - integrity sha512-w9UMqWwJxHNOvoNzSJ2oPF5wvYcvP7jUvYzhp67yEhTi17ZDBBC1z9pTdGuzjD+EFIqLSYRweZjqfiPzQ06Ebg== - dependencies: - call-bound "^1.0.3" - es-errors "^1.3.0" - get-intrinsic "^1.2.6" - -get-tsconfig@^4.10.1: - version "4.14.0" - resolved "https://registry.yarnpkg.com/get-tsconfig/-/get-tsconfig-4.14.0.tgz#985d85c52a9903864280ccc2448d413fbf1efed8" - integrity sha512-yTb+8DXzDREzgvYmh6s9vHsSVCHeC0G3PI5bEXNBHtmshPnO+S5O7qgLEOn0I5QvMy6kpZN8K1NKGyilLb93wA== - dependencies: - resolve-pkg-maps "^1.0.0" - -glob-parent@^6.0.2: - version "6.0.2" - resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-6.0.2.tgz#6d237d99083950c79290f24c7642a3de9a28f9e3" - integrity sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A== - dependencies: - is-glob "^4.0.3" - -globals@^17.5.0: - version "17.5.0" - resolved "https://registry.yarnpkg.com/globals/-/globals-17.5.0.tgz#a82c641d898f8dfbe0e81f66fdff7d0de43f88c6" - integrity sha512-qoV+HK2yFl/366t2/Cb3+xxPUo5BuMynomoDmiaZBIdbs+0pYbjfZU+twLhGKp4uCZ/+NbtpVepH5bGCxRyy2g== - -globalthis@^1.0.4: - version "1.0.4" - resolved "https://registry.yarnpkg.com/globalthis/-/globalthis-1.0.4.tgz#7430ed3a975d97bfb59bcce41f5cabbafa651236" - integrity sha512-DpLKbNU4WylpxJykQujfCcwYWiV/Jhm50Goo0wrVILAv5jOr9d+H+UR3PhSCD2rCCEIg0uc+G+muBTwD54JhDQ== - dependencies: - define-properties "^1.2.1" - gopd "^1.0.1" - -google-auth-library@^10.6.2: - version "10.6.2" - resolved "https://registry.yarnpkg.com/google-auth-library/-/google-auth-library-10.6.2.tgz#44557c536aec626b7cda48a85b5d026e2c9b74c4" - integrity sha512-e27Z6EThmVNNvtYASwQxose/G57rkRuaRbQyxM2bvYLLX/GqWZ5chWq2EBoUchJbCc57eC9ArzO5wMsEmWftCw== - dependencies: - base64-js "^1.3.0" - ecdsa-sig-formatter "^1.0.11" - gaxios "^7.1.4" - gcp-metadata "8.1.2" - google-logging-utils "1.1.3" - jws "^4.0.0" - -google-logging-utils@1.1.3, google-logging-utils@^1.0.0: - version "1.1.3" - resolved "https://registry.yarnpkg.com/google-logging-utils/-/google-logging-utils-1.1.3.tgz#17b71f1f95d266d2ddd356b8f00178433f041b17" - integrity sha512-eAmLkjDjAFCVXg7A1unxHsLf961m6y17QFqXqAXGj/gVkKFrEICfStRfwUlGNfeCEjNRa32JEWOUTlYXPyyKvA== - -gopd@^1.0.1, gopd@^1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/gopd/-/gopd-1.2.0.tgz#89f56b8217bdbc8802bd299df6d7f1081d7e51a1" - integrity sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg== - -has-bigints@^1.0.2: - version "1.1.0" - resolved "https://registry.yarnpkg.com/has-bigints/-/has-bigints-1.1.0.tgz#28607e965ac967e03cd2a2c70a2636a1edad49fe" - integrity sha512-R3pbpkcIqv2Pm3dUwgjclDRVmWpTJW2DcMzcIhEXEx1oh/CEMObMm3KLmRJOdvhM7o4uQBnwr8pzRK2sJWIqfg== - -has-flag@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-4.0.0.tgz#944771fd9c81c81265c4d6941860da06bb59479b" - integrity sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ== - -has-property-descriptors@^1.0.0, has-property-descriptors@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/has-property-descriptors/-/has-property-descriptors-1.0.2.tgz#963ed7d071dc7bf5f084c5bfbe0d1b6222586854" - integrity sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg== - dependencies: - es-define-property "^1.0.0" - -has-proto@^1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/has-proto/-/has-proto-1.2.0.tgz#5de5a6eabd95fdffd9818b43055e8065e39fe9d5" - integrity sha512-KIL7eQPfHQRC8+XluaIw7BHUwwqL19bQn4hzNgdr+1wXoU0KKj6rufu47lhY7KbJR2C6T6+PfyN0Ea7wkSS+qQ== - dependencies: - dunder-proto "^1.0.0" - -has-symbols@^1.0.3, has-symbols@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/has-symbols/-/has-symbols-1.1.0.tgz#fc9c6a783a084951d0b971fe1018de813707a338" - integrity sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ== - -has-tostringtag@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/has-tostringtag/-/has-tostringtag-1.0.2.tgz#2cdc42d40bef2e5b4eeab7c01a73c54ce7ab5abc" - integrity sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw== - dependencies: - has-symbols "^1.0.3" - -hasown@^2.0.2: - version "2.0.3" - resolved "https://registry.yarnpkg.com/hasown/-/hasown-2.0.3.tgz#5e5c2b15b60370a4c7930c383dfb76bf17bc403c" - integrity sha512-ej4AhfhfL2Q2zpMmLo7U1Uv9+PyhIZpgQLGT1F9miIGmiCJIoCgSmczFdrc97mWT4kVY72KA+WnnhJ5pghSvSg== - dependencies: - function-bind "^1.1.2" - -html-escaper@^2.0.0: - version "2.0.2" - resolved "https://registry.yarnpkg.com/html-escaper/-/html-escaper-2.0.2.tgz#dfd60027da36a36dfcbe236262c00a5822681453" - integrity sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg== - -https-proxy-agent@^7.0.1: - version "7.0.6" - resolved "https://registry.yarnpkg.com/https-proxy-agent/-/https-proxy-agent-7.0.6.tgz#da8dfeac7da130b05c2ba4b59c9b6cd66611a6b9" - integrity sha512-vK9P5/iUfdl95AI+JVyUuIcVtd4ofvtrOr3HNtM2yxC9bnMbEdp3x01OhQNnjb8IJYi38VlTE3mBXwcfvywuSw== - dependencies: - agent-base "^7.1.2" - debug "4" - -ignore@^5.2.0: - version "5.3.2" - resolved "https://registry.yarnpkg.com/ignore/-/ignore-5.3.2.tgz#3cd40e729f3643fd87cb04e50bf0eb722bc596f5" - integrity sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g== - -ignore@^7.0.5: - version "7.0.5" - resolved "https://registry.yarnpkg.com/ignore/-/ignore-7.0.5.tgz#4cb5f6cd7d4c7ab0365738c7aea888baa6d7efd9" - integrity sha512-Hs59xBNfUIunMFgWAbGX5cq6893IbWg4KnrjbYwX3tx0ztorVgTDA6B2sxf8ejHJ4wz8BqGUMYlnzNBer5NvGg== - -imurmurhash@^0.1.4: - version "0.1.4" - resolved "https://registry.yarnpkg.com/imurmurhash/-/imurmurhash-0.1.4.tgz#9218b9b2b928a238b13dc4fb6b6d576f231453ea" - integrity sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA== - -internal-slot@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/internal-slot/-/internal-slot-1.1.0.tgz#1eac91762947d2f7056bc838d93e13b2e9604961" - integrity sha512-4gd7VpWNQNB4UKKCFFVcp1AVv+FMOgs9NKzjHKusc8jTMhd5eL1NqQqOpE0KzMds804/yHlglp3uxgluOqAPLw== - dependencies: - es-errors "^1.3.0" - hasown "^2.0.2" - side-channel "^1.1.0" - -is-array-buffer@^3.0.4, is-array-buffer@^3.0.5: - version "3.0.5" - resolved "https://registry.yarnpkg.com/is-array-buffer/-/is-array-buffer-3.0.5.tgz#65742e1e687bd2cc666253068fd8707fe4d44280" - integrity sha512-DDfANUiiG2wC1qawP66qlTugJeL5HyzMpfr8lLK+jMQirGzNod0B12cFB/9q838Ru27sBwfw78/rdoU7RERz6A== - dependencies: - call-bind "^1.0.8" - call-bound "^1.0.3" - get-intrinsic "^1.2.6" - -is-async-function@^2.0.0: - version "2.1.1" - resolved "https://registry.yarnpkg.com/is-async-function/-/is-async-function-2.1.1.tgz#3e69018c8e04e73b738793d020bfe884b9fd3523" - integrity sha512-9dgM/cZBnNvjzaMYHVoxxfPj2QXt22Ev7SuuPrs+xav0ukGB0S6d4ydZdEiM48kLx5kDV+QBPrpVnFyefL8kkQ== - dependencies: - async-function "^1.0.0" - call-bound "^1.0.3" - get-proto "^1.0.1" - has-tostringtag "^1.0.2" - safe-regex-test "^1.1.0" - -is-bigint@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/is-bigint/-/is-bigint-1.1.0.tgz#dda7a3445df57a42583db4228682eba7c4170672" - integrity sha512-n4ZT37wG78iz03xPRKJrHTdZbe3IicyucEtdRsV5yglwc3GyUfbAfpSeD0FJ41NbUNSt5wbhqfp1fS+BgnvDFQ== - dependencies: - has-bigints "^1.0.2" - -is-boolean-object@^1.2.1: - version "1.2.2" - resolved "https://registry.yarnpkg.com/is-boolean-object/-/is-boolean-object-1.2.2.tgz#7067f47709809a393c71ff5bb3e135d8a9215d9e" - integrity sha512-wa56o2/ElJMYqjCjGkXri7it5FbebW5usLw/nPmCMs5DeZ7eziSYZhSmPRn0txqeW4LnAmQQU7FgqLpsEFKM4A== - dependencies: - call-bound "^1.0.3" - has-tostringtag "^1.0.2" - -is-buffer@^2.0.5: - version "2.0.5" - resolved "https://registry.yarnpkg.com/is-buffer/-/is-buffer-2.0.5.tgz#ebc252e400d22ff8d77fa09888821a24a658c191" - integrity sha512-i2R6zNFDwgEHJyQUtJEk0XFi1i0dPFn/oqjK3/vPCcDeJvW5NQ83V8QbicfF1SupOaB0h8ntgBC2YiE7dfyctQ== - -is-bun-module@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/is-bun-module/-/is-bun-module-2.0.0.tgz#4d7859a87c0fcac950c95e666730e745eae8bddd" - integrity sha512-gNCGbnnnnFAUGKeZ9PdbyeGYJqewpmc2aKHUEMO5nQPWU9lOmv7jcmQIv+qHD8fXW6W7qfuCwX4rY9LNRjXrkQ== - dependencies: - semver "^7.7.1" - -is-callable@^1.2.7: - version "1.2.7" - resolved "https://registry.yarnpkg.com/is-callable/-/is-callable-1.2.7.tgz#3bc2a85ea742d9e36205dcacdd72ca1fdc51b055" - integrity sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA== - -is-core-module@^2.16.1: - version "2.16.1" - resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.16.1.tgz#2a98801a849f43e2add644fbb6bc6229b19a4ef4" - integrity sha512-UfoeMA6fIJ8wTYFEUjelnaGI67v6+N7qXJEvQuIGa99l4xsCruSYOVSQ0uPANn4dAzm8lkYPaKLrrijLq7x23w== - dependencies: - hasown "^2.0.2" - -is-data-view@^1.0.1, is-data-view@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/is-data-view/-/is-data-view-1.0.2.tgz#bae0a41b9688986c2188dda6657e56b8f9e63b8e" - integrity sha512-RKtWF8pGmS87i2D6gqQu/l7EYRlVdfzemCJN/P3UOs//x1QE7mfhvzHIApBTRf7axvT6DMGwSwBXYCT0nfB9xw== - dependencies: - call-bound "^1.0.2" - get-intrinsic "^1.2.6" - is-typed-array "^1.1.13" - -is-date-object@^1.0.5, is-date-object@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/is-date-object/-/is-date-object-1.1.0.tgz#ad85541996fc7aa8b2729701d27b7319f95d82f7" - integrity sha512-PwwhEakHVKTdRNVOw+/Gyh0+MzlCl4R6qKvkhuvLtPMggI1WAHt9sOwZxQLSGpUaDnrdyDsomoRgNnCfKNSXXg== - dependencies: - call-bound "^1.0.2" - has-tostringtag "^1.0.2" - -is-extglob@^2.1.1: - version "2.1.1" - resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-2.1.1.tgz#a88c02535791f02ed37c76a1b9ea9773c833f8c2" - integrity sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ== - -is-finalizationregistry@^1.1.0: - version "1.1.1" - resolved "https://registry.yarnpkg.com/is-finalizationregistry/-/is-finalizationregistry-1.1.1.tgz#eefdcdc6c94ddd0674d9c85887bf93f944a97c90" - integrity sha512-1pC6N8qWJbWoPtEjgcL2xyhQOP491EQjeUo3qTKcmV8YSDDJrOepfG8pcC7h/QgnQHYSv0mJ3Z/ZWxmatVrysg== - dependencies: - call-bound "^1.0.3" - -is-generator-function@^1.0.10: - version "1.1.2" - resolved "https://registry.yarnpkg.com/is-generator-function/-/is-generator-function-1.1.2.tgz#ae3b61e3d5ea4e4839b90bad22b02335051a17d5" - integrity sha512-upqt1SkGkODW9tsGNG5mtXTXtECizwtS2kA161M+gJPc1xdb/Ax629af6YrTwcOeQHbewrPNlE5Dx7kzvXTizA== - dependencies: - call-bound "^1.0.4" - generator-function "^2.0.0" - get-proto "^1.0.1" - has-tostringtag "^1.0.2" - safe-regex-test "^1.1.0" - -is-glob@^4.0.0, is-glob@^4.0.3: - version "4.0.3" - resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-4.0.3.tgz#64f61e42cbbb2eec2071a9dac0b28ba1e65d5084" - integrity sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg== - dependencies: - is-extglob "^2.1.1" - -is-map@^2.0.3: - version "2.0.3" - resolved "https://registry.yarnpkg.com/is-map/-/is-map-2.0.3.tgz#ede96b7fe1e270b3c4465e3a465658764926d62e" - integrity sha512-1Qed0/Hr2m+YqxnM09CjA2d/i6YZNfF6R2oRAOj36eUdS6qIV/huPJNSEpKbupewFs+ZsJlxsjjPbc0/afW6Lw== - -is-negative-zero@^2.0.3: - version "2.0.3" - resolved "https://registry.yarnpkg.com/is-negative-zero/-/is-negative-zero-2.0.3.tgz#ced903a027aca6381b777a5743069d7376a49747" - integrity sha512-5KoIu2Ngpyek75jXodFvnafB6DJgr3u8uuK0LEZJjrU19DrMD3EVERaR8sjz8CCGgpZvxPl9SuE1GMVPFHx1mw== - -is-number-object@^1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/is-number-object/-/is-number-object-1.1.1.tgz#144b21e95a1bc148205dcc2814a9134ec41b2541" - integrity sha512-lZhclumE1G6VYD8VHe35wFaIif+CTy5SJIi5+3y4psDgWu4wPDoBhF8NxUOinEc7pHgiTsT6MaBb92rKhhD+Xw== - dependencies: - call-bound "^1.0.3" - has-tostringtag "^1.0.2" - -is-regex@^1.2.1: - version "1.2.1" - resolved "https://registry.yarnpkg.com/is-regex/-/is-regex-1.2.1.tgz#76d70a3ed10ef9be48eb577887d74205bf0cad22" - integrity sha512-MjYsKHO5O7mCsmRGxWcLWheFqN9DJ/2TmngvjKXihe6efViPqc274+Fx/4fYj/r03+ESvBdTXK0V6tA3rgez1g== - dependencies: - call-bound "^1.0.2" - gopd "^1.2.0" - has-tostringtag "^1.0.2" - hasown "^2.0.2" - -is-set@^2.0.3: - version "2.0.3" - resolved "https://registry.yarnpkg.com/is-set/-/is-set-2.0.3.tgz#8ab209ea424608141372ded6e0cb200ef1d9d01d" - integrity sha512-iPAjerrse27/ygGLxw+EBR9agv9Y6uLeYVJMu+QNCoouJ1/1ri0mGrcWpfCqFZuzzx3WjtwxG098X+n4OuRkPg== - -is-shared-array-buffer@^1.0.4: - version "1.0.4" - resolved "https://registry.yarnpkg.com/is-shared-array-buffer/-/is-shared-array-buffer-1.0.4.tgz#9b67844bd9b7f246ba0708c3a93e34269c774f6f" - integrity sha512-ISWac8drv4ZGfwKl5slpHG9OwPNty4jOWPRIhBpxOoD+hqITiwuipOQ2bNthAzwA3B4fIjO4Nln74N0S9byq8A== - dependencies: - call-bound "^1.0.3" - -is-string@^1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/is-string/-/is-string-1.1.1.tgz#92ea3f3d5c5b6e039ca8677e5ac8d07ea773cbb9" - integrity sha512-BtEeSsoaQjlSPBemMQIrY1MY0uM6vnS1g5fmufYOtnxLGUZM2178PKbhsk7Ffv58IX+ZtcvoGwccYsh0PglkAA== - dependencies: - call-bound "^1.0.3" - has-tostringtag "^1.0.2" - -is-symbol@^1.0.4, is-symbol@^1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/is-symbol/-/is-symbol-1.1.1.tgz#f47761279f532e2b05a7024a7506dbbedacd0634" - integrity sha512-9gGx6GTtCQM73BgmHQXfDmLtfjjTUDSyoxTCbp5WtoixAhfgsDirWIcVQ/IHpvI5Vgd5i/J5F7B9cN/WlVbC/w== - dependencies: - call-bound "^1.0.2" - has-symbols "^1.1.0" - safe-regex-test "^1.1.0" - -is-typed-array@^1.1.13, is-typed-array@^1.1.14, is-typed-array@^1.1.15: - version "1.1.15" - resolved "https://registry.yarnpkg.com/is-typed-array/-/is-typed-array-1.1.15.tgz#4bfb4a45b61cee83a5a46fba778e4e8d59c0ce0b" - integrity sha512-p3EcsicXjit7SaskXHs1hA91QxgTw46Fv6EFKKGS5DRFLD8yKnohjF3hxoju94b/OcMZoQukzpPpBE9uLVKzgQ== - dependencies: - which-typed-array "^1.1.16" - -is-weakmap@^2.0.2: - version "2.0.2" - resolved "https://registry.yarnpkg.com/is-weakmap/-/is-weakmap-2.0.2.tgz#bf72615d649dfe5f699079c54b83e47d1ae19cfd" - integrity sha512-K5pXYOm9wqY1RgjpL3YTkF39tni1XajUIkawTLUo9EZEVUFga5gSQJF8nNS7ZwJQ02y+1YCNYcMh+HIf1ZqE+w== - -is-weakref@^1.0.2, is-weakref@^1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/is-weakref/-/is-weakref-1.1.1.tgz#eea430182be8d64174bd96bffbc46f21bf3f9293" - integrity sha512-6i9mGWSlqzNMEqpCp93KwRS1uUOodk2OJ6b+sq7ZPDSy2WuI5NFIxp/254TytR8ftefexkWn5xNiHUNpPOfSew== - dependencies: - call-bound "^1.0.3" - -is-weakset@^2.0.3: - version "2.0.4" - resolved "https://registry.yarnpkg.com/is-weakset/-/is-weakset-2.0.4.tgz#c9f5deb0bc1906c6d6f1027f284ddf459249daca" - integrity sha512-mfcwb6IzQyOKTs84CQMrOwW4gQcaTOAWJ0zzJCl2WSPDrWk/OzDaImWFH3djXhb24g4eudZfLRozAvPGw4d9hQ== - dependencies: - call-bound "^1.0.3" - get-intrinsic "^1.2.6" - -isarray@^2.0.5: - version "2.0.5" - resolved "https://registry.yarnpkg.com/isarray/-/isarray-2.0.5.tgz#8af1e4c1221244cc62459faf38940d4e644a5723" - integrity sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw== - -isexe@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10" - integrity sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw== - -istanbul-lib-coverage@^3.0.0, istanbul-lib-coverage@^3.2.2: - version "3.2.2" - resolved "https://registry.yarnpkg.com/istanbul-lib-coverage/-/istanbul-lib-coverage-3.2.2.tgz#2d166c4b0644d43a39f04bf6c2edd1e585f31756" - integrity sha512-O8dpsF+r0WV/8MNRKfnmrtCWhuKjxrq2w+jpzBL5UZKTi2LeVWnWOmWRxFlesJONmc+wLAGvKQZEOanko0LFTg== - -istanbul-lib-report@^3.0.0, istanbul-lib-report@^3.0.1: - version "3.0.1" - resolved "https://registry.yarnpkg.com/istanbul-lib-report/-/istanbul-lib-report-3.0.1.tgz#908305bac9a5bd175ac6a74489eafd0fc2445a7d" - integrity sha512-GCfE1mtsHGOELCU8e/Z7YWzpmybrx/+dSTfLrvY8qRmaY6zXTKWn6WQIjaAFw069icm6GVMNkgu0NzI4iPZUNw== - dependencies: - istanbul-lib-coverage "^3.0.0" - make-dir "^4.0.0" - supports-color "^7.1.0" - -istanbul-reports@^3.2.0: - version "3.2.0" - resolved "https://registry.yarnpkg.com/istanbul-reports/-/istanbul-reports-3.2.0.tgz#cb4535162b5784aa623cee21a7252cf2c807ac93" - integrity sha512-HGYWWS/ehqTV3xN10i23tkPkpH46MLCIMFNCaaKNavAXTF1RkqxawEPtnjnGZ6XKSInBKkiOA5BKS+aZiY3AvA== - dependencies: - html-escaper "^2.0.0" - istanbul-lib-report "^3.0.0" - -jiti@^2.6.1: - version "2.6.1" - resolved "https://registry.yarnpkg.com/jiti/-/jiti-2.6.1.tgz#178ef2fc9a1a594248c20627cd820187a4d78d92" - integrity sha512-ekilCSN1jwRvIbgeg/57YFh8qQDNbwDb9xT/qu2DAHbFFZUicIl4ygVaAvzveMhMVr3LnpSKTNnwt8PoOfmKhQ== - -js-tokens@^10.0.0: - version "10.0.0" - resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-10.0.0.tgz#dffe7599b4a8bb7fe30aff8d0235234dffb79831" - integrity sha512-lM/UBzQmfJRo9ABXbPWemivdCW8V2G8FHaHdypQaIy523snUjog0W71ayWXTjiR+ixeMyVHN2XcpnTd/liPg/Q== - -json-bigint@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/json-bigint/-/json-bigint-1.0.0.tgz#ae547823ac0cad8398667f8cd9ef4730f5b01ff1" - integrity sha512-SiPv/8VpZuWbvLSMtTDU8hEfrZWg/mH/nV/b4o0CYbSxu1UIQPLdwKOCIyLQX+VIPO5vrLX3i8qtqFyhdPSUSQ== - dependencies: - bignumber.js "^9.0.0" - -json-buffer@3.0.1: - version "3.0.1" - resolved "https://registry.yarnpkg.com/json-buffer/-/json-buffer-3.0.1.tgz#9338802a30d3b6605fbe0613e094008ca8c05a13" - integrity sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ== - -json-schema-traverse@^0.4.1: - version "0.4.1" - resolved "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz#69f6a87d9513ab8bb8fe63bdb0979c448e684660" - integrity sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg== - -json-stable-stringify-without-jsonify@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz#9db7b59496ad3f3cfef30a75142d2d930ad72651" - integrity sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw== - -json5@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/json5/-/json5-1.0.2.tgz#63d98d60f21b313b77c4d6da18bfa69d80e1d593" - integrity sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA== - dependencies: - minimist "^1.2.0" - -jsonwebtoken@^9.0.3: - version "9.0.3" - resolved "https://registry.yarnpkg.com/jsonwebtoken/-/jsonwebtoken-9.0.3.tgz#6cd57ab01e9b0ac07cb847d53d3c9b6ee31f7ae2" - integrity sha512-MT/xP0CrubFRNLNKvxJ2BYfy53Zkm++5bX9dtuPbqAeQpTVe0MQTFhao8+Cp//EmJp244xt6Drw/GVEGCUj40g== - dependencies: - jws "^4.0.1" - lodash.includes "^4.3.0" - lodash.isboolean "^3.0.3" - lodash.isinteger "^4.0.4" - lodash.isnumber "^3.0.3" - lodash.isplainobject "^4.0.6" - lodash.isstring "^4.0.1" - lodash.once "^4.0.0" - ms "^2.1.1" - semver "^7.5.4" - -jwa@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/jwa/-/jwa-2.0.1.tgz#bf8176d1ad0cd72e0f3f58338595a13e110bc804" - integrity sha512-hRF04fqJIP8Abbkq5NKGN0Bbr3JxlQ+qhZufXVr0DvujKy93ZCbXZMHDL4EOtodSbCWxOqR8MS1tXA5hwqCXDg== - dependencies: - buffer-equal-constant-time "^1.0.1" - ecdsa-sig-formatter "1.0.11" - safe-buffer "^5.0.1" - -jws@^4.0.0, jws@^4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/jws/-/jws-4.0.1.tgz#07edc1be8fac20e677b283ece261498bd38f0690" - integrity sha512-EKI/M/yqPncGUUh44xz0PxSidXFr/+r0pA70+gIYhjv+et7yxM+s29Y+VGDkovRofQem0fs7Uvf4+YmAdyRduA== - dependencies: - jwa "^2.0.1" - safe-buffer "^5.0.1" - -keyv@^4.5.4: - version "4.5.4" - resolved "https://registry.yarnpkg.com/keyv/-/keyv-4.5.4.tgz#a879a99e29452f942439f2a405e3af8b31d4de93" - integrity sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw== - dependencies: - json-buffer "3.0.1" - -levn@^0.4.1: - version "0.4.1" - resolved "https://registry.yarnpkg.com/levn/-/levn-0.4.1.tgz#ae4562c007473b932a6200d403268dd2fffc6ade" - integrity sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ== - dependencies: - prelude-ls "^1.2.1" - type-check "~0.4.0" - -lightningcss-android-arm64@1.32.0: - version "1.32.0" - resolved "https://registry.yarnpkg.com/lightningcss-android-arm64/-/lightningcss-android-arm64-1.32.0.tgz#f033885116dfefd9c6f54787523e3514b61e1968" - integrity sha512-YK7/ClTt4kAK0vo6w3X+Pnm0D2cf2vPHbhOXdoNti1Ga0al1P4TBZhwjATvjNwLEBCnKvjJc2jQgHXH0NEwlAg== - -lightningcss-darwin-arm64@1.32.0: - version "1.32.0" - resolved "https://registry.yarnpkg.com/lightningcss-darwin-arm64/-/lightningcss-darwin-arm64-1.32.0.tgz#50b71871b01c8199584b649e292547faea7af9b5" - integrity sha512-RzeG9Ju5bag2Bv1/lwlVJvBE3q6TtXskdZLLCyfg5pt+HLz9BqlICO7LZM7VHNTTn/5PRhHFBSjk5lc4cmscPQ== - -lightningcss-darwin-x64@1.32.0: - version "1.32.0" - resolved "https://registry.yarnpkg.com/lightningcss-darwin-x64/-/lightningcss-darwin-x64-1.32.0.tgz#35f3e97332d130b9ca181e11b568ded6aebc6d5e" - integrity sha512-U+QsBp2m/s2wqpUYT/6wnlagdZbtZdndSmut/NJqlCcMLTWp5muCrID+K5UJ6jqD2BFshejCYXniPDbNh73V8w== - -lightningcss-freebsd-x64@1.32.0: - version "1.32.0" - resolved "https://registry.yarnpkg.com/lightningcss-freebsd-x64/-/lightningcss-freebsd-x64-1.32.0.tgz#9777a76472b64ed6ff94342ad64c7bafd794a575" - integrity sha512-JCTigedEksZk3tHTTthnMdVfGf61Fky8Ji2E4YjUTEQX14xiy/lTzXnu1vwiZe3bYe0q+SpsSH/CTeDXK6WHig== - -lightningcss-linux-arm-gnueabihf@1.32.0: - version "1.32.0" - resolved "https://registry.yarnpkg.com/lightningcss-linux-arm-gnueabihf/-/lightningcss-linux-arm-gnueabihf-1.32.0.tgz#13ae652e1ab73b9135d7b7da172f666c410ad53d" - integrity sha512-x6rnnpRa2GL0zQOkt6rts3YDPzduLpWvwAF6EMhXFVZXD4tPrBkEFqzGowzCsIWsPjqSK+tyNEODUBXeeVHSkw== - -lightningcss-linux-arm64-gnu@1.32.0: - version "1.32.0" - resolved "https://registry.yarnpkg.com/lightningcss-linux-arm64-gnu/-/lightningcss-linux-arm64-gnu-1.32.0.tgz#417858795a94592f680123a1b1f9da8a0e1ef335" - integrity sha512-0nnMyoyOLRJXfbMOilaSRcLH3Jw5z9HDNGfT/gwCPgaDjnx0i8w7vBzFLFR1f6CMLKF8gVbebmkUN3fa/kQJpQ== - -lightningcss-linux-arm64-musl@1.32.0: - version "1.32.0" - resolved "https://registry.yarnpkg.com/lightningcss-linux-arm64-musl/-/lightningcss-linux-arm64-musl-1.32.0.tgz#6be36692e810b718040802fd809623cffe732133" - integrity sha512-UpQkoenr4UJEzgVIYpI80lDFvRmPVg6oqboNHfoH4CQIfNA+HOrZ7Mo7KZP02dC6LjghPQJeBsvXhJod/wnIBg== - -lightningcss-linux-x64-gnu@1.32.0: - version "1.32.0" - resolved "https://registry.yarnpkg.com/lightningcss-linux-x64-gnu/-/lightningcss-linux-x64-gnu-1.32.0.tgz#0b7803af4eb21cfd38dd39fe2abbb53c7dd091f6" - integrity sha512-V7Qr52IhZmdKPVr+Vtw8o+WLsQJYCTd8loIfpDaMRWGUZfBOYEJeyJIkqGIDMZPwPx24pUMfwSxxI8phr/MbOA== - -lightningcss-linux-x64-musl@1.32.0: - version "1.32.0" - resolved "https://registry.yarnpkg.com/lightningcss-linux-x64-musl/-/lightningcss-linux-x64-musl-1.32.0.tgz#88dc8ba865ddddb1ac5ef04b0f161804418c163b" - integrity sha512-bYcLp+Vb0awsiXg/80uCRezCYHNg1/l3mt0gzHnWV9XP1W5sKa5/TCdGWaR/zBM2PeF/HbsQv/j2URNOiVuxWg== - -lightningcss-win32-arm64-msvc@1.32.0: - version "1.32.0" - resolved "https://registry.yarnpkg.com/lightningcss-win32-arm64-msvc/-/lightningcss-win32-arm64-msvc-1.32.0.tgz#4f30ba3fa5e925f5b79f945e8cc0d176c3b1ab38" - integrity sha512-8SbC8BR40pS6baCM8sbtYDSwEVQd4JlFTOlaD3gWGHfThTcABnNDBda6eTZeqbofalIJhFx0qKzgHJmcPTnGdw== - -lightningcss-win32-x64-msvc@1.32.0: - version "1.32.0" - resolved "https://registry.yarnpkg.com/lightningcss-win32-x64-msvc/-/lightningcss-win32-x64-msvc-1.32.0.tgz#141aa5605645064928902bb4af045fa7d9f4220a" - integrity sha512-Amq9B/SoZYdDi1kFrojnoqPLxYhQ4Wo5XiL8EVJrVsB8ARoC1PWW6VGtT0WKCemjy8aC+louJnjS7U18x3b06Q== - -lightningcss@^1.32.0: - version "1.32.0" - resolved "https://registry.yarnpkg.com/lightningcss/-/lightningcss-1.32.0.tgz#b85aae96486dcb1bf49a7c8571221273f4f1e4a9" - integrity sha512-NXYBzinNrblfraPGyrbPoD19C1h9lfI/1mzgWYvXUTe414Gz/X1FD2XBZSZM7rRTrMA8JL3OtAaGifrIKhQ5yQ== - dependencies: - detect-libc "^2.0.3" - optionalDependencies: - lightningcss-android-arm64 "1.32.0" - lightningcss-darwin-arm64 "1.32.0" - lightningcss-darwin-x64 "1.32.0" - lightningcss-freebsd-x64 "1.32.0" - lightningcss-linux-arm-gnueabihf "1.32.0" - lightningcss-linux-arm64-gnu "1.32.0" - lightningcss-linux-arm64-musl "1.32.0" - lightningcss-linux-x64-gnu "1.32.0" - lightningcss-linux-x64-musl "1.32.0" - lightningcss-win32-arm64-msvc "1.32.0" - lightningcss-win32-x64-msvc "1.32.0" - -locate-path@^6.0.0: - version "6.0.0" - resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-6.0.0.tgz#55321eb309febbc59c4801d931a72452a681d286" - integrity sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw== - dependencies: - p-locate "^5.0.0" - -lodash.includes@^4.3.0: - version "4.3.0" - resolved "https://registry.yarnpkg.com/lodash.includes/-/lodash.includes-4.3.0.tgz#60bb98a87cb923c68ca1e51325483314849f553f" - integrity sha512-W3Bx6mdkRTGtlJISOvVD/lbqjTlPPUDTMnlXZFnVwi9NKJ6tiAk6LVdlhZMm17VZisqhKcgzpO5Wz91PCt5b0w== - -lodash.isboolean@^3.0.3: - version "3.0.3" - resolved "https://registry.yarnpkg.com/lodash.isboolean/-/lodash.isboolean-3.0.3.tgz#6c2e171db2a257cd96802fd43b01b20d5f5870f6" - integrity sha512-Bz5mupy2SVbPHURB98VAcw+aHh4vRV5IPNhILUCsOzRmsTmSQ17jIuqopAentWoehktxGd9e/hbIXq980/1QJg== - -lodash.isinteger@^4.0.4: - version "4.0.4" - resolved "https://registry.yarnpkg.com/lodash.isinteger/-/lodash.isinteger-4.0.4.tgz#619c0af3d03f8b04c31f5882840b77b11cd68343" - integrity sha512-DBwtEWN2caHQ9/imiNeEA5ys1JoRtRfY3d7V9wkqtbycnAmTvRRmbHKDV4a0EYc678/dia0jrte4tjYwVBaZUA== - -lodash.isnumber@^3.0.3: - version "3.0.3" - resolved "https://registry.yarnpkg.com/lodash.isnumber/-/lodash.isnumber-3.0.3.tgz#3ce76810c5928d03352301ac287317f11c0b1ffc" - integrity sha512-QYqzpfwO3/CWf3XP+Z+tkQsfaLL/EnUlXWVkIk5FUPc4sBdTehEqZONuyRt2P67PXAk+NXmTBcc97zw9t1FQrw== - -lodash.isplainobject@^4.0.6: - version "4.0.6" - resolved "https://registry.yarnpkg.com/lodash.isplainobject/-/lodash.isplainobject-4.0.6.tgz#7c526a52d89b45c45cc690b88163be0497f550cb" - integrity sha512-oSXzaWypCMHkPC3NvBEaPHf0KsA5mvPrOPgQWDsbg8n7orZ290M0BmC/jgRZ4vcJ6DTAhjrsSYgdsW/F+MFOBA== - -lodash.isstring@^4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/lodash.isstring/-/lodash.isstring-4.0.1.tgz#d527dfb5456eca7cc9bb95d5daeaf88ba54a5451" - integrity sha512-0wJxfxH1wgO3GrbuP+dTTk7op+6L41QCXbGINEmD+ny/G/eCqGzxyCsh7159S+mgDDcoarnBw6PC1PS5+wUGgw== - -lodash.once@^4.0.0: - version "4.1.1" - resolved "https://registry.yarnpkg.com/lodash.once/-/lodash.once-4.1.1.tgz#0dd3971213c7c56df880977d504c88fb471a97ac" - integrity sha512-Sb487aTOCr9drQVL8pIxOzVhafOjZN9UU54hiN8PU3uAiSV7lx1yYNpbNmex2PK6dSJoNTSJUUswT651yww3Mg== - -magic-string@^0.30.21: - version "0.30.21" - resolved "https://registry.yarnpkg.com/magic-string/-/magic-string-0.30.21.tgz#56763ec09a0fa8091df27879fd94d19078c00d91" - integrity sha512-vd2F4YUyEXKGcLHoq+TEyCjxueSeHnFxyyjNp80yg0XV4vUhnDer/lvvlqM/arB5bXQN5K2/3oinyCRyx8T2CQ== - dependencies: - "@jridgewell/sourcemap-codec" "^1.5.5" - -magicast@^0.5.2: - version "0.5.2" - resolved "https://registry.yarnpkg.com/magicast/-/magicast-0.5.2.tgz#70cea9df729c164485049ea5df85a390281dfb9d" - integrity sha512-E3ZJh4J3S9KfwdjZhe2afj6R9lGIN5Pher1pF39UGrXRqq/VDaGVIGN13BjHd2u8B61hArAGOnso7nBOouW3TQ== - dependencies: - "@babel/parser" "^7.29.0" - "@babel/types" "^7.29.0" - source-map-js "^1.2.1" - -make-dir@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/make-dir/-/make-dir-4.0.0.tgz#c3c2307a771277cd9638305f915c29ae741b614e" - integrity sha512-hXdUTZYIVOt1Ex//jAQi+wTZZpUpwBj/0QsOzqegb3rGMMeJiSEu5xLHnYfBrRV4RH2+OCSOO95Is/7x1WJ4bw== - dependencies: - semver "^7.5.3" - -math-intrinsics@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/math-intrinsics/-/math-intrinsics-1.1.0.tgz#a0dd74be81e2aa5c2f27e65ce283605ee4e2b7f9" - integrity sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g== - -mime-db@1.52.0: - version "1.52.0" - resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.52.0.tgz#bbabcdc02859f4987301c856e3387ce5ec43bf70" - integrity sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg== - -mime-types@^2.1.12: - version "2.1.35" - resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.35.tgz#381a871b62a734450660ae3deee44813f70d959a" - integrity sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw== - dependencies: - mime-db "1.52.0" - -minimatch@^10.2.2, minimatch@^10.2.4: - version "10.2.5" - resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-10.2.5.tgz#bd48687a0be38ed2961399105600f832095861d1" - integrity sha512-MULkVLfKGYDFYejP07QOurDLLQpcjk7Fw+7jXS2R2czRQzR56yHRveU5NDJEOviH+hETZKSkIk5c+T23GjFUMg== - dependencies: - brace-expansion "^5.0.5" - -minimatch@^3.1.2: - version "3.1.5" - resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.1.5.tgz#580c88f8d5445f2bd6aa8f3cadefa0de79fbd69e" - integrity sha512-VgjWUsnnT6n+NUk6eZq77zeFdpW2LWDzP6zFGrCbHXiYNul5Dzqk2HHQ5uFH2DNW5Xbp8+jVzaeNt94ssEEl4w== - dependencies: - brace-expansion "^1.1.7" - -minimist@^1.2.0, minimist@^1.2.6: - version "1.2.8" - resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.8.tgz#c1a464e7693302e082a075cee0c057741ac4772c" - integrity sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA== - -ms@^2.1.1, ms@^2.1.3: - version "2.1.3" - resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.3.tgz#574c8138ce1d2b5861f0b44579dbadd60c6615b2" - integrity sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA== - -nanoid@^3.3.11: - version "3.3.11" - resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.3.11.tgz#4f4f112cefbe303202f2199838128936266d185b" - integrity sha512-N8SpfPUnUp1bK+PMYW8qSWdl9U+wwNWI4QKxOYDy9JAro3WMX7p2OeVRF9v+347pnakNevPmiHhNmZ2HbFA76w== - -napi-postinstall@^0.3.0: - version "0.3.4" - resolved "https://registry.yarnpkg.com/napi-postinstall/-/napi-postinstall-0.3.4.tgz#7af256d6588b5f8e952b9190965d6b019653bbb9" - integrity sha512-PHI5f1O0EP5xJ9gQmFGMS6IZcrVvTjpXjz7Na41gTE7eE2hK11lg04CECCYEEjdc17EV4DO+fkGEtt7TpTaTiQ== - -natural-compare@^1.4.0: - version "1.4.0" - resolved "https://registry.yarnpkg.com/natural-compare/-/natural-compare-1.4.0.tgz#4abebfeed7541f2c27acfb29bdbbd15c8d5ba4f7" - integrity sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw== - -node-domexception@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/node-domexception/-/node-domexception-1.0.0.tgz#6888db46a1f71c0b76b3f7555016b63fe64766e5" - integrity sha512-/jKZoMpw0F8GRwl4/eLROPA3cfcXtLApP0QzLmUT/HuPCZWyB7IY9ZrMeKw2O/nFIqPQB3PVM9aYm0F312AXDQ== - -node-exports-info@^1.6.0: - version "1.6.0" - resolved "https://registry.yarnpkg.com/node-exports-info/-/node-exports-info-1.6.0.tgz#1aedafb01a966059c9a5e791a94a94d93f5c2a13" - integrity sha512-pyFS63ptit/P5WqUkt+UUfe+4oevH+bFeIiPPdfb0pFeYEu/1ELnJu5l+5EcTKYL5M7zaAa7S8ddywgXypqKCw== - dependencies: - array.prototype.flatmap "^1.3.3" - es-errors "^1.3.0" - object.entries "^1.1.9" - semver "^6.3.1" - -node-fetch@^3.3.2: - version "3.3.2" - resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-3.3.2.tgz#d1e889bacdf733b4ff3b2b243eb7a12866a0b78b" - integrity sha512-dRB78srN/l6gqWulah9SrxeYnxeddIG30+GOqK/9OlLVyLg3HPnr6SqOWTWOXKRwC2eGYCkZ59NNuSgvSrpgOA== - dependencies: - data-uri-to-buffer "^4.0.0" - fetch-blob "^3.1.4" - formdata-polyfill "^4.0.10" - -object-inspect@^1.13.3, object-inspect@^1.13.4: - version "1.13.4" - resolved "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.13.4.tgz#8375265e21bc20d0fa582c22e1b13485d6e00213" - integrity sha512-W67iLl4J2EXEGTbfeHCffrjDfitvLANg0UlX3wFUUSTx92KXRFegMHUVgSqE+wvhAbi4WqjGg9czysTV2Epbew== - -object-keys@^1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/object-keys/-/object-keys-1.1.1.tgz#1c47f272df277f3b1daf061677d9c82e2322c60e" - integrity sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA== - -object.assign@^4.1.7: - version "4.1.7" - resolved "https://registry.yarnpkg.com/object.assign/-/object.assign-4.1.7.tgz#8c14ca1a424c6a561b0bb2a22f66f5049a945d3d" - integrity sha512-nK28WOo+QIjBkDduTINE4JkF/UJJKyf2EJxvJKfblDpyg0Q+pkOHNTL0Qwy6NP6FhE/EnzV73BxxqcJaXY9anw== - dependencies: - call-bind "^1.0.8" - call-bound "^1.0.3" - define-properties "^1.2.1" - es-object-atoms "^1.0.0" - has-symbols "^1.1.0" - object-keys "^1.1.1" - -object.entries@^1.1.9: - version "1.1.9" - resolved "https://registry.yarnpkg.com/object.entries/-/object.entries-1.1.9.tgz#e4770a6a1444afb61bd39f984018b5bede25f8b3" - integrity sha512-8u/hfXFRBD1O0hPUjioLhoWFHRmt6tKA4/vZPyckBr18l1KE9uHrFaFaUi8MDRTpi4uak2goyPTSNJLXX2k2Hw== - dependencies: - call-bind "^1.0.8" - call-bound "^1.0.4" - define-properties "^1.2.1" - es-object-atoms "^1.1.1" - -object.fromentries@^2.0.8: - version "2.0.8" - resolved "https://registry.yarnpkg.com/object.fromentries/-/object.fromentries-2.0.8.tgz#f7195d8a9b97bd95cbc1999ea939ecd1a2b00c65" - integrity sha512-k6E21FzySsSK5a21KRADBd/NGneRegFO5pLHfdQLpRDETUNJueLXs3WCzyQ3tFRDYgbq3KHGXfTbi2bs8WQ6rQ== - dependencies: - call-bind "^1.0.7" - define-properties "^1.2.1" - es-abstract "^1.23.2" - es-object-atoms "^1.0.0" - -object.groupby@^1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/object.groupby/-/object.groupby-1.0.3.tgz#9b125c36238129f6f7b61954a1e7176148d5002e" - integrity sha512-+Lhy3TQTuzXI5hevh8sBGqbmurHbbIjAi0Z4S63nthVLmLxfbj4T54a4CfZrXIrt9iP4mVAPYMo/v99taj3wjQ== - dependencies: - call-bind "^1.0.7" - define-properties "^1.2.1" - es-abstract "^1.23.2" - -object.values@^1.2.1: - version "1.2.1" - resolved "https://registry.yarnpkg.com/object.values/-/object.values-1.2.1.tgz#deed520a50809ff7f75a7cfd4bc64c7a038c6216" - integrity sha512-gXah6aZrcUxjWg2zR2MwouP2eHlCBzdV4pygudehaKXSGW4v2AsRQUK+lwwXhii6KFZcunEnmSUoYp5CXibxtA== - dependencies: - call-bind "^1.0.8" - call-bound "^1.0.3" - define-properties "^1.2.1" - es-object-atoms "^1.0.0" - -obug@^2.1.1: - version "2.1.1" - resolved "https://registry.yarnpkg.com/obug/-/obug-2.1.1.tgz#2cba74ff241beb77d63055ddf4cd1e9f90b538be" - integrity sha512-uTqF9MuPraAQ+IsnPf366RG4cP9RtUi7MLO1N3KEc+wb0a6yKpeL0lmk2IB1jY5KHPAlTc6T/JRdC/YqxHNwkQ== - -optionator@^0.9.3: - version "0.9.4" - resolved "https://registry.yarnpkg.com/optionator/-/optionator-0.9.4.tgz#7ea1c1a5d91d764fb282139c88fe11e182a3a734" - integrity sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g== - dependencies: - deep-is "^0.1.3" - fast-levenshtein "^2.0.6" - levn "^0.4.1" - prelude-ls "^1.2.1" - type-check "^0.4.0" - word-wrap "^1.2.5" - -own-keys@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/own-keys/-/own-keys-1.0.1.tgz#e4006910a2bf913585289676eebd6f390cf51358" - integrity sha512-qFOyK5PjiWZd+QQIh+1jhdb9LpxTF0qs7Pm8o5QHYZ0M3vKqSqzsZaEB6oWlxZ+q2sJBMI/Ktgd2N5ZwQoRHfg== - dependencies: - get-intrinsic "^1.2.6" - object-keys "^1.1.1" - safe-push-apply "^1.0.0" - -p-limit@^3.0.2: - version "3.1.0" - resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-3.1.0.tgz#e1daccbe78d0d1388ca18c64fea38e3e57e3706b" - integrity sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ== - dependencies: - yocto-queue "^0.1.0" - -p-locate@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-5.0.0.tgz#83c8315c6785005e3bd021839411c9e110e6d834" - integrity sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw== - dependencies: - p-limit "^3.0.2" - -path-exists@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-4.0.0.tgz#513bdbe2d3b95d7762e8c1137efa195c6c61b5b3" - integrity sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w== - -path-key@^3.1.0: - version "3.1.1" - resolved "https://registry.yarnpkg.com/path-key/-/path-key-3.1.1.tgz#581f6ade658cbba65a0d3380de7753295054f375" - integrity sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q== - -path-parse@^1.0.7: - version "1.0.7" - resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.7.tgz#fbc114b60ca42b30d9daf5858e4bd68bbedb6735" - integrity sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw== - -pathe@^2.0.3: - version "2.0.3" - resolved "https://registry.yarnpkg.com/pathe/-/pathe-2.0.3.tgz#3ecbec55421685b70a9da872b2cff3e1cbed1716" - integrity sha512-WUjGcAqP1gQacoQe+OBJsFA7Ld4DyXuUIjZ5cc75cLHvJ7dtNsTugphxIADwspS+AraAUePCKrSVtPLFj/F88w== - -picocolors@^1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/picocolors/-/picocolors-1.1.1.tgz#3d321af3eab939b083c8f929a1d12cda81c26b6b" - integrity sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA== - -picomatch@^4.0.3, picomatch@^4.0.4: - version "4.0.4" - resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-4.0.4.tgz#fd6f5e00a143086e074dffe4c924b8fb293b0589" - integrity sha512-QP88BAKvMam/3NxH6vj2o21R6MjxZUAd6nlwAS/pnGvN9IVLocLHxGYIzFhg6fUQ+5th6P4dv4eW9jX3DSIj7A== - -possible-typed-array-names@^1.0.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/possible-typed-array-names/-/possible-typed-array-names-1.1.0.tgz#93e3582bc0e5426586d9d07b79ee40fc841de4ae" - integrity sha512-/+5VFTchJDoVj3bhoqi6UeymcD00DAwb1nJwamzPvHEszJ4FpF6SNNbUbOS8yI56qHzdV8eK0qEfOSiodkTdxg== - -postcss@^8.5.10: - version "8.5.10" - resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.5.10.tgz#8992d8c30acf3f12169e7c09514a12fed7e48356" - integrity sha512-pMMHxBOZKFU6HgAZ4eyGnwXF/EvPGGqUr0MnZ5+99485wwW41kW91A4LOGxSHhgugZmSChL5AlElNdwlNgcnLQ== - dependencies: - nanoid "^3.3.11" - picocolors "^1.1.1" - source-map-js "^1.2.1" - -prelude-ls@^1.2.1: - version "1.2.1" - resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.2.1.tgz#debc6489d7a6e6b0e7611888cec880337d316396" - integrity sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g== - -prettier-linter-helpers@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/prettier-linter-helpers/-/prettier-linter-helpers-1.0.1.tgz#6a31f88a4bad6c7adda253de12ba4edaea80ebcd" - integrity sha512-SxToR7P8Y2lWmv/kTzVLC1t/GDI2WGjMwNhLLE9qtH8Q13C+aEmuRlzDst4Up4s0Wc8sF2M+J57iB3cMLqftfg== - dependencies: - fast-diff "^1.1.2" - -prettier@^3.8.3: - version "3.8.3" - resolved "https://registry.yarnpkg.com/prettier/-/prettier-3.8.3.tgz#560f2de55bf01b4c0503bc629d5df99b9a1d09b0" - integrity sha512-7igPTM53cGHMW8xWuVTydi2KO233VFiTNyF5hLJqpilHfmn8C8gPf+PS7dUT64YcXFbiMGZxS9pCSxL/Dxm/Jw== - -proxy-from-env@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/proxy-from-env/-/proxy-from-env-2.1.0.tgz#a7487568adad577cfaaa7e88c49cab3ab3081aba" - integrity sha512-cJ+oHTW1VAEa8cJslgmUZrc+sjRKgAKl3Zyse6+PV38hZe/V6Z14TbCuXcan9F9ghlz4QrFr2c92TNF82UkYHA== - -punycode@^2.1.0: - version "2.3.1" - resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.3.1.tgz#027422e2faec0b25e1549c3e1bd8309b9133b6e5" - integrity sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg== - -reflect.getprototypeof@^1.0.6, reflect.getprototypeof@^1.0.9: - version "1.0.10" - resolved "https://registry.yarnpkg.com/reflect.getprototypeof/-/reflect.getprototypeof-1.0.10.tgz#c629219e78a3316d8b604c765ef68996964e7bf9" - integrity sha512-00o4I+DVrefhv+nX0ulyi3biSHCPDe+yLv5o/p6d/UVlirijB8E16FtfwSAi4g3tcqrQ4lRAqQSoFEZJehYEcw== - dependencies: - call-bind "^1.0.8" - define-properties "^1.2.1" - es-abstract "^1.23.9" - es-errors "^1.3.0" - es-object-atoms "^1.0.0" - get-intrinsic "^1.2.7" - get-proto "^1.0.1" - which-builtin-type "^1.2.1" - -regexp.prototype.flags@^1.5.4: - version "1.5.4" - resolved "https://registry.yarnpkg.com/regexp.prototype.flags/-/regexp.prototype.flags-1.5.4.tgz#1ad6c62d44a259007e55b3970e00f746efbcaa19" - integrity sha512-dYqgNSZbDwkaJ2ceRd9ojCGjBq+mOm9LmtXnAnEGyHhN/5R7iDW2TRw3h+o/jCFxus3P2LfWIIiwowAjANm7IA== - dependencies: - call-bind "^1.0.8" - define-properties "^1.2.1" - es-errors "^1.3.0" - get-proto "^1.0.1" - gopd "^1.2.0" - set-function-name "^2.0.2" - -resolve-pkg-maps@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/resolve-pkg-maps/-/resolve-pkg-maps-1.0.0.tgz#616b3dc2c57056b5588c31cdf4b3d64db133720f" - integrity sha512-seS2Tj26TBVOC2NIc2rOe2y2ZO7efxITtLZcGSOnHHNOQ7CkiUBfw0Iw2ck6xkIhPwLhKNLS8BO+hEpngQlqzw== - -resolve@^2.0.0-next.6: - version "2.0.0-next.6" - resolved "https://registry.yarnpkg.com/resolve/-/resolve-2.0.0-next.6.tgz#b3961812be69ace7b3bc35d5bf259434681294af" - integrity sha512-3JmVl5hMGtJ3kMmB3zi3DL25KfkCEyy3Tw7Gmw7z5w8M9WlwoPFnIvwChzu1+cF3iaK3sp18hhPz8ANeimdJfA== - dependencies: - es-errors "^1.3.0" - is-core-module "^2.16.1" - node-exports-info "^1.6.0" - object-keys "^1.1.1" - path-parse "^1.0.7" - supports-preserve-symlinks-flag "^1.0.0" - -rolldown@1.0.0-rc.16: - version "1.0.0-rc.16" - resolved "https://registry.yarnpkg.com/rolldown/-/rolldown-1.0.0-rc.16.tgz#47c1e6b088be3f531a9aacbdb8a90e2255f02702" - integrity sha512-rzi5WqKzEZw3SooTt7cgm4eqIoujPIyGcJNGFL7iPEuajQw7vxMHUkXylu4/vhCkJGXsgRmxqMKXUpT6FEgl0g== - dependencies: - "@oxc-project/types" "=0.126.0" - "@rolldown/pluginutils" "1.0.0-rc.16" - optionalDependencies: - "@rolldown/binding-android-arm64" "1.0.0-rc.16" - "@rolldown/binding-darwin-arm64" "1.0.0-rc.16" - "@rolldown/binding-darwin-x64" "1.0.0-rc.16" - "@rolldown/binding-freebsd-x64" "1.0.0-rc.16" - "@rolldown/binding-linux-arm-gnueabihf" "1.0.0-rc.16" - "@rolldown/binding-linux-arm64-gnu" "1.0.0-rc.16" - "@rolldown/binding-linux-arm64-musl" "1.0.0-rc.16" - "@rolldown/binding-linux-ppc64-gnu" "1.0.0-rc.16" - "@rolldown/binding-linux-s390x-gnu" "1.0.0-rc.16" - "@rolldown/binding-linux-x64-gnu" "1.0.0-rc.16" - "@rolldown/binding-linux-x64-musl" "1.0.0-rc.16" - "@rolldown/binding-openharmony-arm64" "1.0.0-rc.16" - "@rolldown/binding-wasm32-wasi" "1.0.0-rc.16" - "@rolldown/binding-win32-arm64-msvc" "1.0.0-rc.16" - "@rolldown/binding-win32-x64-msvc" "1.0.0-rc.16" - -safe-array-concat@^1.1.3: - version "1.1.4" - resolved "https://registry.yarnpkg.com/safe-array-concat/-/safe-array-concat-1.1.4.tgz#a54cc9b61a57f33b42abad3cbdda3a2b38cc5719" - integrity sha512-wtZlHyOje6OZTGqAoaDKxFkgRtkF9CnHAVnCHKfuj200wAgL+bSJhdsCD2l0Qx/2ekEXjPWcyKkfGb5CPboslg== - dependencies: - call-bind "^1.0.9" - call-bound "^1.0.4" - get-intrinsic "^1.3.0" - has-symbols "^1.1.0" - isarray "^2.0.5" - -safe-buffer@^5.0.1: - version "5.2.1" - resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.2.1.tgz#1eaf9fa9bdb1fdd4ec75f58f9cdb4e6b7827eec6" - integrity sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ== - -safe-push-apply@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/safe-push-apply/-/safe-push-apply-1.0.0.tgz#01850e981c1602d398c85081f360e4e6d03d27f5" - integrity sha512-iKE9w/Z7xCzUMIZqdBsp6pEQvwuEebH4vdpjcDWnyzaI6yl6O9FHvVpmGelvEHNsoY6wGblkxR6Zty/h00WiSA== - dependencies: - es-errors "^1.3.0" - isarray "^2.0.5" - -safe-regex-test@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/safe-regex-test/-/safe-regex-test-1.1.0.tgz#7f87dfb67a3150782eaaf18583ff5d1711ac10c1" - integrity sha512-x/+Cz4YrimQxQccJf5mKEbIa1NzeCRNI5Ecl/ekmlYaampdNLPalVyIcCZNNH3MvmqBugV5TMYZXv0ljslUlaw== - dependencies: - call-bound "^1.0.2" - es-errors "^1.3.0" - is-regex "^1.2.1" - -semver@^6.3.1: - version "6.3.1" - resolved "https://registry.yarnpkg.com/semver/-/semver-6.3.1.tgz#556d2ef8689146e46dcea4bfdd095f3434dffcb4" - integrity sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA== - -semver@^7.5.3, semver@^7.5.4, semver@^7.7.1, semver@^7.7.3: - version "7.7.4" - resolved "https://registry.yarnpkg.com/semver/-/semver-7.7.4.tgz#28464e36060e991fa7a11d0279d2d3f3b57a7e8a" - integrity sha512-vFKC2IEtQnVhpT78h1Yp8wzwrf8CM+MzKMHGJZfBtzhZNycRFnXsHk6E5TxIkkMsgNS7mdX3AGB7x2QM2di4lA== - -set-function-length@^1.2.2: - version "1.2.2" - resolved "https://registry.yarnpkg.com/set-function-length/-/set-function-length-1.2.2.tgz#aac72314198eaed975cf77b2c3b6b880695e5449" - integrity sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg== - dependencies: - define-data-property "^1.1.4" - es-errors "^1.3.0" - function-bind "^1.1.2" - get-intrinsic "^1.2.4" - gopd "^1.0.1" - has-property-descriptors "^1.0.2" - -set-function-name@^2.0.2: - version "2.0.2" - resolved "https://registry.yarnpkg.com/set-function-name/-/set-function-name-2.0.2.tgz#16a705c5a0dc2f5e638ca96d8a8cd4e1c2b90985" - integrity sha512-7PGFlmtwsEADb0WYyvCMa1t+yke6daIG4Wirafur5kcf+MhUnPms1UeR0CKQdTZD81yESwMHbtn+TR+dMviakQ== - dependencies: - define-data-property "^1.1.4" - es-errors "^1.3.0" - functions-have-names "^1.2.3" - has-property-descriptors "^1.0.2" - -set-proto@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/set-proto/-/set-proto-1.0.0.tgz#0760dbcff30b2d7e801fd6e19983e56da337565e" - integrity sha512-RJRdvCo6IAnPdsvP/7m6bsQqNnn1FCBX5ZNtFL98MmFF/4xAIJTIg1YbHW5DC2W5SKZanrC6i4HsJqlajw/dZw== - dependencies: - dunder-proto "^1.0.1" - es-errors "^1.3.0" - es-object-atoms "^1.0.0" - -shebang-command@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/shebang-command/-/shebang-command-2.0.0.tgz#ccd0af4f8835fbdc265b82461aaf0c36663f34ea" - integrity sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA== - dependencies: - shebang-regex "^3.0.0" - -shebang-regex@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-3.0.0.tgz#ae16f1644d873ecad843b0307b143362d4c42172" - integrity sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A== - -side-channel-list@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/side-channel-list/-/side-channel-list-1.0.1.tgz#c2e0b5a14a540aebee3bbc6c3f8666cc9b509127" - integrity sha512-mjn/0bi/oUURjc5Xl7IaWi/OJJJumuoJFQJfDDyO46+hBWsfaVM65TBHq2eoZBhzl9EchxOijpkbRC8SVBQU0w== - dependencies: - es-errors "^1.3.0" - object-inspect "^1.13.4" - -side-channel-map@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/side-channel-map/-/side-channel-map-1.0.1.tgz#d6bb6b37902c6fef5174e5f533fab4c732a26f42" - integrity sha512-VCjCNfgMsby3tTdo02nbjtM/ewra6jPHmpThenkTYh8pG9ucZ/1P8So4u4FGBek/BjpOVsDCMoLA/iuBKIFXRA== - dependencies: - call-bound "^1.0.2" - es-errors "^1.3.0" - get-intrinsic "^1.2.5" - object-inspect "^1.13.3" - -side-channel-weakmap@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/side-channel-weakmap/-/side-channel-weakmap-1.0.2.tgz#11dda19d5368e40ce9ec2bdc1fb0ecbc0790ecea" - integrity sha512-WPS/HvHQTYnHisLo9McqBHOJk2FkHO/tlpvldyrnem4aeQp4hai3gythswg6p01oSoTl58rcpiFAjF2br2Ak2A== - dependencies: - call-bound "^1.0.2" - es-errors "^1.3.0" - get-intrinsic "^1.2.5" - object-inspect "^1.13.3" - side-channel-map "^1.0.1" - -side-channel@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/side-channel/-/side-channel-1.1.0.tgz#c3fcff9c4da932784873335ec9765fa94ff66bc9" - integrity sha512-ZX99e6tRweoUXqR+VBrslhda51Nh5MTQwou5tnUDgbtyM0dBgmhEDtWGP/xbKn6hqfPRHujUNwz5fy/wbbhnpw== - dependencies: - es-errors "^1.3.0" - object-inspect "^1.13.3" - side-channel-list "^1.0.0" - side-channel-map "^1.0.1" - side-channel-weakmap "^1.0.2" - -siginfo@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/siginfo/-/siginfo-2.0.0.tgz#32e76c70b79724e3bb567cb9d543eb858ccfaf30" - integrity sha512-ybx0WO1/8bSBLEWXZvEd7gMW3Sn3JFlW3TvX1nREbDLRNQNaeNN8WK0meBwPdAaOI7TtRRRJn/Es1zhrrCHu7g== - -source-map-js@^1.2.1: - version "1.2.1" - resolved "https://registry.yarnpkg.com/source-map-js/-/source-map-js-1.2.1.tgz#1ce5650fddd87abc099eda37dcff024c2667ae46" - integrity sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA== - -stable-hash-x@^0.2.0: - version "0.2.0" - resolved "https://registry.yarnpkg.com/stable-hash-x/-/stable-hash-x-0.2.0.tgz#dfd76bfa5d839a7470125c6a6b3c8b22061793e9" - integrity sha512-o3yWv49B/o4QZk5ZcsALc6t0+eCelPc44zZsLtCQnZPDwFpDYSWcDnrv2TtMmMbQ7uKo3J0HTURCqckw23czNQ== - -stackback@0.0.2: - version "0.0.2" - resolved "https://registry.yarnpkg.com/stackback/-/stackback-0.0.2.tgz#1ac8a0d9483848d1695e418b6d031a3c3ce68e3b" - integrity sha512-1XMJE5fQo1jGH6Y/7ebnwPOBEkIEnT4QF32d5R1+VXdXveM0IBMJt8zfaxX1P3QhVwrYe+576+jkANtSS2mBbw== - -std-env@^4.0.0-rc.1: - version "4.1.0" - resolved "https://registry.yarnpkg.com/std-env/-/std-env-4.1.0.tgz#45899abc590d86d682e87f0acd1033a75084cd3f" - integrity sha512-Rq7ybcX2RuC55r9oaPVEW7/xu3tj8u4GeBYHBWCychFtzMIr86A7e3PPEBPT37sHStKX3+TiX/Fr/ACmJLVlLQ== - -stop-iteration-iterator@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/stop-iteration-iterator/-/stop-iteration-iterator-1.1.0.tgz#f481ff70a548f6124d0312c3aa14cbfa7aa542ad" - integrity sha512-eLoXW/DHyl62zxY4SCaIgnRhuMr6ri4juEYARS8E6sCEqzKpOiE521Ucofdx+KnDZl5xmvGYaaKCk5FEOxJCoQ== - dependencies: - es-errors "^1.3.0" - internal-slot "^1.1.0" - -string.prototype.trim@^1.2.10: - version "1.2.10" - resolved "https://registry.yarnpkg.com/string.prototype.trim/-/string.prototype.trim-1.2.10.tgz#40b2dd5ee94c959b4dcfb1d65ce72e90da480c81" - integrity sha512-Rs66F0P/1kedk5lyYyH9uBzuiI/kNRmwJAR9quK6VOtIpZ2G+hMZd+HQbbv25MgCA6gEffoMZYxlTod4WcdrKA== - dependencies: - call-bind "^1.0.8" - call-bound "^1.0.2" - define-data-property "^1.1.4" - define-properties "^1.2.1" - es-abstract "^1.23.5" - es-object-atoms "^1.0.0" - has-property-descriptors "^1.0.2" - -string.prototype.trimend@^1.0.9: - version "1.0.9" - resolved "https://registry.yarnpkg.com/string.prototype.trimend/-/string.prototype.trimend-1.0.9.tgz#62e2731272cd285041b36596054e9f66569b6942" - integrity sha512-G7Ok5C6E/j4SGfyLCloXTrngQIQU3PWtXGst3yM7Bea9FRURf1S42ZHlZZtsNque2FN2PoUhfZXYLNWwEr4dLQ== - dependencies: - call-bind "^1.0.8" - call-bound "^1.0.2" - define-properties "^1.2.1" - es-object-atoms "^1.0.0" - -string.prototype.trimstart@^1.0.8: - version "1.0.8" - resolved "https://registry.yarnpkg.com/string.prototype.trimstart/-/string.prototype.trimstart-1.0.8.tgz#7ee834dda8c7c17eff3118472bb35bfedaa34dde" - integrity sha512-UXSH262CSZY1tfu3G3Secr6uGLCFVPMhIqHjlgCUtCCcgihYc/xKs9djMTMUOb2j1mVSeU8EU6NWc/iQKU6Gfg== - dependencies: - call-bind "^1.0.7" - define-properties "^1.2.1" - es-object-atoms "^1.0.0" - -strip-bom@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-3.0.0.tgz#2334c18e9c759f7bdd56fdef7e9ae3d588e68ed3" - integrity sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA== - -supports-color@^7.1.0: - version "7.2.0" - resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-7.2.0.tgz#1b7dcdcb32b8138801b3e478ba6a51caa89648da" - integrity sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw== - dependencies: - has-flag "^4.0.0" - -supports-preserve-symlinks-flag@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz#6eda4bd344a3c94aea376d4cc31bc77311039e09" - integrity sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w== - -synckit@^0.11.12: - version "0.11.12" - resolved "https://registry.yarnpkg.com/synckit/-/synckit-0.11.12.tgz#abe74124264fbc00a48011b0d98bdc1cffb64a7b" - integrity sha512-Bh7QjT8/SuKUIfObSXNHNSK6WHo6J1tHCqJsuaFDP7gP0fkzSfTxI8y85JrppZ0h8l0maIgc2tfuZQ6/t3GtnQ== - dependencies: - "@pkgr/core" "^0.2.9" - -tinybench@^2.9.0: - version "2.9.0" - resolved "https://registry.yarnpkg.com/tinybench/-/tinybench-2.9.0.tgz#103c9f8ba6d7237a47ab6dd1dcff77251863426b" - integrity sha512-0+DUvqWMValLmha6lr4kD8iAMK1HzV0/aKnCtWb9v9641TnP/MFb7Pc2bxoxQjTXAErryXVgUOfv2YqNllqGeg== - -tinyexec@^1.0.2: - version "1.1.1" - resolved "https://registry.yarnpkg.com/tinyexec/-/tinyexec-1.1.1.tgz#e1ff45dfa60d1dedb91b734956b78f6c2a3e821b" - integrity sha512-VKS/ZaQhhkKFMANmAOhhXVoIfBXblQxGX1myCQ2faQrfmobMftXeJPcZGp0gS07ocvGJWDLZGyOZDadDBqYIJg== - -tinyglobby@^0.2.14, tinyglobby@^0.2.15, tinyglobby@^0.2.16: - version "0.2.16" - resolved "https://registry.yarnpkg.com/tinyglobby/-/tinyglobby-0.2.16.tgz#1c3b7eb953fce42b226bc5a1ee06428281aff3d6" - integrity sha512-pn99VhoACYR8nFHhxqix+uvsbXineAasWm5ojXoN8xEwK5Kd3/TrhNn1wByuD52UxWRLy8pu+kRMniEi6Eq9Zg== - dependencies: - fdir "^6.5.0" - picomatch "^4.0.4" - -tinyrainbow@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/tinyrainbow/-/tinyrainbow-3.1.0.tgz#1d8a623893f95cf0a2ddb9e5d11150e191409421" - integrity sha512-Bf+ILmBgretUrdJxzXM0SgXLZ3XfiaUuOj/IKQHuTXip+05Xn+uyEYdVg0kYDipTBcLrCVyUzAPz7QmArb0mmw== - -ts-api-utils@^2.5.0: - version "2.5.0" - resolved "https://registry.yarnpkg.com/ts-api-utils/-/ts-api-utils-2.5.0.tgz#4acd4a155e22734990a5ed1fe9e97f113bcb37c1" - integrity sha512-OJ/ibxhPlqrMM0UiNHJ/0CKQkoKF243/AEmplt3qpRgkW8VG7IfOS41h7V8TjITqdByHzrjcS/2si+y4lIh8NA== - -tsconfig-paths@^3.15.0: - version "3.15.0" - resolved "https://registry.yarnpkg.com/tsconfig-paths/-/tsconfig-paths-3.15.0.tgz#5299ec605e55b1abb23ec939ef15edaf483070d4" - integrity sha512-2Ac2RgzDe/cn48GvOe3M+o82pEFewD3UPbyoUHHdKasHwJKjds4fLXWf/Ux5kATBKN20oaFGu+jbElp1pos0mg== - dependencies: - "@types/json5" "^0.0.29" - json5 "^1.0.2" - minimist "^1.2.6" - strip-bom "^3.0.0" - -tslib@^2.4.0: - version "2.8.1" - resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.8.1.tgz#612efe4ed235d567e8aba5f2a5fab70280ade83f" - integrity sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w== - -type-check@^0.4.0, type-check@~0.4.0: - version "0.4.0" - resolved "https://registry.yarnpkg.com/type-check/-/type-check-0.4.0.tgz#07b8203bfa7056c0657050e3ccd2c37730bab8f1" - integrity sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew== - dependencies: - prelude-ls "^1.2.1" - -typed-array-buffer@^1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/typed-array-buffer/-/typed-array-buffer-1.0.3.tgz#a72395450a4869ec033fd549371b47af3a2ee536" - integrity sha512-nAYYwfY3qnzX30IkA6AQZjVbtK6duGontcQm1WSG1MD94YLqK0515GNApXkoxKOWMusVssAHWLh9SeaoefYFGw== - dependencies: - call-bound "^1.0.3" - es-errors "^1.3.0" - is-typed-array "^1.1.14" - -typed-array-byte-length@^1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/typed-array-byte-length/-/typed-array-byte-length-1.0.3.tgz#8407a04f7d78684f3d252aa1a143d2b77b4160ce" - integrity sha512-BaXgOuIxz8n8pIq3e7Atg/7s+DpiYrxn4vdot3w9KbnBhcRQq6o3xemQdIfynqSeXeDrF32x+WvfzmOjPiY9lg== - dependencies: - call-bind "^1.0.8" - for-each "^0.3.3" - gopd "^1.2.0" - has-proto "^1.2.0" - is-typed-array "^1.1.14" - -typed-array-byte-offset@^1.0.4: - version "1.0.4" - resolved "https://registry.yarnpkg.com/typed-array-byte-offset/-/typed-array-byte-offset-1.0.4.tgz#ae3698b8ec91a8ab945016108aef00d5bff12355" - integrity sha512-bTlAFB/FBYMcuX81gbL4OcpH5PmlFHqlCCpAl8AlEzMz5k53oNDvN8p1PNOWLEmI2x4orp3raOFB51tv9X+MFQ== - dependencies: - available-typed-arrays "^1.0.7" - call-bind "^1.0.8" - for-each "^0.3.3" - gopd "^1.2.0" - has-proto "^1.2.0" - is-typed-array "^1.1.15" - reflect.getprototypeof "^1.0.9" - -typed-array-length@^1.0.7: - version "1.0.7" - resolved "https://registry.yarnpkg.com/typed-array-length/-/typed-array-length-1.0.7.tgz#ee4deff984b64be1e118b0de8c9c877d5ce73d3d" - integrity sha512-3KS2b+kL7fsuk/eJZ7EQdnEmQoaho/r6KUef7hxvltNA5DR8NAUM+8wJMbJyZ4G9/7i3v5zPBIMN5aybAh2/Jg== - dependencies: - call-bind "^1.0.7" - for-each "^0.3.3" - gopd "^1.0.1" - is-typed-array "^1.1.13" - possible-typed-array-names "^1.0.0" - reflect.getprototypeof "^1.0.6" - -typescript-eslint@^8.59.0: - version "8.59.0" - resolved "https://registry.yarnpkg.com/typescript-eslint/-/typescript-eslint-8.59.0.tgz#d1cc7c63559ce7116aeb66d35ec9dbe0063379fd" - integrity sha512-BU3ONW9X+v90EcCH9ZS6LMackcVtxRLlI3XrYyqZIwVSHIk7Qf7bFw1z0M9Q0IUxhTMZCf8piY9hTYaNEIASrw== - dependencies: - "@typescript-eslint/eslint-plugin" "8.59.0" - "@typescript-eslint/parser" "8.59.0" - "@typescript-eslint/typescript-estree" "8.59.0" - "@typescript-eslint/utils" "8.59.0" - -typescript@^6.0.3: - version "6.0.3" - resolved "https://registry.yarnpkg.com/typescript/-/typescript-6.0.3.tgz#90251dc007916e972786cb94d74d15b185577d21" - integrity sha512-y2TvuxSZPDyQakkFRPZHKFm+KKVqIisdg9/CZwm9ftvKXLP8NRWj38/ODjNbr43SsoXqNuAisEf1GdCxqWcdBw== - -unbox-primitive@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/unbox-primitive/-/unbox-primitive-1.1.0.tgz#8d9d2c9edeea8460c7f35033a88867944934d1e2" - integrity sha512-nWJ91DjeOkej/TA8pXQ3myruKpKEYgqvpw9lz4OPHj/NWFNluYrjbz9j01CJ8yKQd2g4jFoOkINCTW2I5LEEyw== - dependencies: - call-bound "^1.0.3" - has-bigints "^1.0.2" - has-symbols "^1.1.0" - which-boxed-primitive "^1.1.1" - -undici-types@~7.19.0: - version "7.19.2" - resolved "https://registry.yarnpkg.com/undici-types/-/undici-types-7.19.2.tgz#1b67fc26d0f157a0cba3a58a5b5c1e2276b8ba2a" - integrity sha512-qYVnV5OEm2AW8cJMCpdV20CDyaN3g0AjDlOGf1OW4iaDEx8MwdtChUp4zu4H0VP3nDRF/8RKWH+IPp9uW0YGZg== - -unrs-resolver@^1.7.11: - version "1.11.1" - resolved "https://registry.yarnpkg.com/unrs-resolver/-/unrs-resolver-1.11.1.tgz#be9cd8686c99ef53ecb96df2a473c64d304048a9" - integrity sha512-bSjt9pjaEBnNiGgc9rUiHGKv5l4/TGzDmYw3RhnkJGtLhbnnA/5qJj7x3dNDCRx/PJxu774LlH8lCOlB4hEfKg== - dependencies: - napi-postinstall "^0.3.0" - optionalDependencies: - "@unrs/resolver-binding-android-arm-eabi" "1.11.1" - "@unrs/resolver-binding-android-arm64" "1.11.1" - "@unrs/resolver-binding-darwin-arm64" "1.11.1" - "@unrs/resolver-binding-darwin-x64" "1.11.1" - "@unrs/resolver-binding-freebsd-x64" "1.11.1" - "@unrs/resolver-binding-linux-arm-gnueabihf" "1.11.1" - "@unrs/resolver-binding-linux-arm-musleabihf" "1.11.1" - "@unrs/resolver-binding-linux-arm64-gnu" "1.11.1" - "@unrs/resolver-binding-linux-arm64-musl" "1.11.1" - "@unrs/resolver-binding-linux-ppc64-gnu" "1.11.1" - "@unrs/resolver-binding-linux-riscv64-gnu" "1.11.1" - "@unrs/resolver-binding-linux-riscv64-musl" "1.11.1" - "@unrs/resolver-binding-linux-s390x-gnu" "1.11.1" - "@unrs/resolver-binding-linux-x64-gnu" "1.11.1" - "@unrs/resolver-binding-linux-x64-musl" "1.11.1" - "@unrs/resolver-binding-wasm32-wasi" "1.11.1" - "@unrs/resolver-binding-win32-arm64-msvc" "1.11.1" - "@unrs/resolver-binding-win32-ia32-msvc" "1.11.1" - "@unrs/resolver-binding-win32-x64-msvc" "1.11.1" - -uri-js@^4.2.2: - version "4.4.1" - resolved "https://registry.yarnpkg.com/uri-js/-/uri-js-4.4.1.tgz#9b1a52595225859e55f669d928f88c6c57f2a77e" - integrity sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg== - dependencies: - punycode "^2.1.0" - -"vite@^6.0.0 || ^7.0.0 || ^8.0.0": - version "8.0.9" - resolved "https://registry.yarnpkg.com/vite/-/vite-8.0.9.tgz#69602329ebcea1f281124735a1113be51c45d1da" - integrity sha512-t7g7GVRpMXjNpa67HaVWI/8BWtdVIQPCL2WoozXXA7LBGEFK4AkkKkHx2hAQf5x1GZSlcmEDPkVLSGahxnEEZw== - dependencies: - lightningcss "^1.32.0" - picomatch "^4.0.4" - postcss "^8.5.10" - rolldown "1.0.0-rc.16" - tinyglobby "^0.2.16" - optionalDependencies: - fsevents "~2.3.3" - -vitest@^4.1.5: - version "4.1.5" - resolved "https://registry.yarnpkg.com/vitest/-/vitest-4.1.5.tgz#cda189c0cd9dd1c920be477c0f371b64ec14782a" - integrity sha512-9Xx1v3/ih3m9hN+SbfkUyy0JAs72ap3r7joc87XL6jwF0jGg6mFBvQ1SrwaX+h8BlkX6Hz9shdd1uo6AF+ZGpg== - dependencies: - "@vitest/expect" "4.1.5" - "@vitest/mocker" "4.1.5" - "@vitest/pretty-format" "4.1.5" - "@vitest/runner" "4.1.5" - "@vitest/snapshot" "4.1.5" - "@vitest/spy" "4.1.5" - "@vitest/utils" "4.1.5" - es-module-lexer "^2.0.0" - expect-type "^1.3.0" - magic-string "^0.30.21" - obug "^2.1.1" - pathe "^2.0.3" - picomatch "^4.0.3" - std-env "^4.0.0-rc.1" - tinybench "^2.9.0" - tinyexec "^1.0.2" - tinyglobby "^0.2.15" - tinyrainbow "^3.1.0" - vite "^6.0.0 || ^7.0.0 || ^8.0.0" - why-is-node-running "^2.3.0" - -web-streams-polyfill@^3.0.3: - version "3.3.3" - resolved "https://registry.yarnpkg.com/web-streams-polyfill/-/web-streams-polyfill-3.3.3.tgz#2073b91a2fdb1fbfbd401e7de0ac9f8214cecb4b" - integrity sha512-d2JWLCivmZYTSIoge9MsgFCZrt571BikcWGYkjC1khllbTeDlGqZ2D8vD8E/lJa8WGWbb7Plm8/XJYV7IJHZZw== - -which-boxed-primitive@^1.1.0, which-boxed-primitive@^1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/which-boxed-primitive/-/which-boxed-primitive-1.1.1.tgz#d76ec27df7fa165f18d5808374a5fe23c29b176e" - integrity sha512-TbX3mj8n0odCBFVlY8AxkqcHASw3L60jIuF8jFP78az3C2YhmGvqbHBpAjTRH2/xqYunrJ9g1jSyjCjpoWzIAA== - dependencies: - is-bigint "^1.1.0" - is-boolean-object "^1.2.1" - is-number-object "^1.1.1" - is-string "^1.1.1" - is-symbol "^1.1.1" - -which-builtin-type@^1.2.1: - version "1.2.1" - resolved "https://registry.yarnpkg.com/which-builtin-type/-/which-builtin-type-1.2.1.tgz#89183da1b4907ab089a6b02029cc5d8d6574270e" - integrity sha512-6iBczoX+kDQ7a3+YJBnh3T+KZRxM/iYNPXicqk66/Qfm1b93iu+yOImkg0zHbj5LNOcNv1TEADiZ0xa34B4q6Q== - dependencies: - call-bound "^1.0.2" - function.prototype.name "^1.1.6" - has-tostringtag "^1.0.2" - is-async-function "^2.0.0" - is-date-object "^1.1.0" - is-finalizationregistry "^1.1.0" - is-generator-function "^1.0.10" - is-regex "^1.2.1" - is-weakref "^1.0.2" - isarray "^2.0.5" - which-boxed-primitive "^1.1.0" - which-collection "^1.0.2" - which-typed-array "^1.1.16" - -which-collection@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/which-collection/-/which-collection-1.0.2.tgz#627ef76243920a107e7ce8e96191debe4b16c2a0" - integrity sha512-K4jVyjnBdgvc86Y6BkaLZEN933SwYOuBFkdmBu9ZfkcAbdVbpITnDmjvZ/aQjRXQrv5EPkTnD1s39GiiqbngCw== - dependencies: - is-map "^2.0.3" - is-set "^2.0.3" - is-weakmap "^2.0.2" - is-weakset "^2.0.3" - -which-typed-array@^1.1.16, which-typed-array@^1.1.19: - version "1.1.20" - resolved "https://registry.yarnpkg.com/which-typed-array/-/which-typed-array-1.1.20.tgz#3fdb7adfafe0ea69157b1509f3a1cd892bd1d122" - integrity sha512-LYfpUkmqwl0h9A2HL09Mms427Q1RZWuOHsukfVcKRq9q95iQxdw0ix1JQrqbcDR9PH1QDwf5Qo8OZb5lksZ8Xg== - dependencies: - available-typed-arrays "^1.0.7" - call-bind "^1.0.8" - call-bound "^1.0.4" - for-each "^0.3.5" - get-proto "^1.0.1" - gopd "^1.2.0" - has-tostringtag "^1.0.2" - -which@^2.0.1: - version "2.0.2" - resolved "https://registry.yarnpkg.com/which/-/which-2.0.2.tgz#7c6a8dd0a636a0327e10b59c9286eee93f3f51b1" - integrity sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA== - dependencies: - isexe "^2.0.0" - -why-is-node-running@^2.3.0: - version "2.3.0" - resolved "https://registry.yarnpkg.com/why-is-node-running/-/why-is-node-running-2.3.0.tgz#a3f69a97107f494b3cdc3bdddd883a7d65cebf04" - integrity sha512-hUrmaWBdVDcxvYqnyh09zunKzROWjbZTiNy8dBEjkS7ehEDQibXJ7XvlmtbwuTclUiIyN+CyXQD4Vmko8fNm8w== - dependencies: - siginfo "^2.0.0" - stackback "0.0.2" - -word-wrap@^1.2.5: - version "1.2.5" - resolved "https://registry.yarnpkg.com/word-wrap/-/word-wrap-1.2.5.tgz#d2c45c6dd4fbce621a66f136cbe328afd0410b34" - integrity sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA== - -yocto-queue@^0.1.0: - version "0.1.0" - resolved "https://registry.yarnpkg.com/yocto-queue/-/yocto-queue-0.1.0.tgz#0294eb3dee05028d31ee1a5fa2c556a6aaf10a1b" - integrity sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q== + version: 1.0.0 + resolution: "blaise-iap-node-provider@https://github.com/ONSdigital/blaise-iap-node-provider.git#commit=78cd6569423ddf238f22bd6ecde20a0b7ca1c4b2" + dependencies: + "@types/node": "npm:^25.6.0" + google-auth-library: "npm:^10.6.2" + jsonwebtoken: "npm:^9.0.3" + typescript: "npm:^6.0.3" + checksum: 10c0/141f4c40952c37d418f589285845bfc1a1a16725f2b384e9a29bffb258a07743fe8aa9a30bde1bb6da96e55144a666d0b0432549d8ce221ef79bb395676c5f14 + languageName: node + linkType: hard + +"brace-expansion@npm:^1.1.7": + version: 1.1.14 + resolution: "brace-expansion@npm:1.1.14" + dependencies: + balanced-match: "npm:^1.0.0" + concat-map: "npm:0.0.1" + checksum: 10c0/b6fdac832bc4e36a753658c9ed052c2e1a2be221763b002df25d1efbf7d21724334e726a6cd5eadc72a4b19ec3efb632d629cc003bc9c62f7af7a7915ffa4385 + languageName: node + linkType: hard + +"brace-expansion@npm:^5.0.5": + version: 5.0.5 + resolution: "brace-expansion@npm:5.0.5" + dependencies: + balanced-match: "npm:^4.0.2" + checksum: 10c0/4d238e14ed4f5cc9c07285550a41cef23121ca08ba99fa9eb5b55b580dcb6bf868b8210aa10526bdc9f8dc97f33ca2a7259039c4cc131a93042beddb424c48e3 + languageName: node + linkType: hard + +"buffer-equal-constant-time@npm:^1.0.1": + version: 1.0.1 + resolution: "buffer-equal-constant-time@npm:1.0.1" + checksum: 10c0/fb2294e64d23c573d0dd1f1e7a466c3e978fe94a4e0f8183937912ca374619773bef8e2aceb854129d2efecbbc515bbd0cc78d2734a3e3031edb0888531bbc8e + languageName: node + linkType: hard + +"call-bind-apply-helpers@npm:^1.0.1, call-bind-apply-helpers@npm:^1.0.2": + version: 1.0.2 + resolution: "call-bind-apply-helpers@npm:1.0.2" + dependencies: + es-errors: "npm:^1.3.0" + function-bind: "npm:^1.1.2" + checksum: 10c0/47bd9901d57b857590431243fea704ff18078b16890a6b3e021e12d279bbf211d039155e27d7566b374d49ee1f8189344bac9833dec7a20cdec370506361c938 + languageName: node + linkType: hard + +"call-bind@npm:^1.0.7, call-bind@npm:^1.0.8, call-bind@npm:^1.0.9": + version: 1.0.9 + resolution: "call-bind@npm:1.0.9" + dependencies: + call-bind-apply-helpers: "npm:^1.0.2" + es-define-property: "npm:^1.0.1" + get-intrinsic: "npm:^1.3.0" + set-function-length: "npm:^1.2.2" + checksum: 10c0/a6621f6da1444481919ce3b4983dff725691e0754d3507ae483ce56e54985f2da7d6f1df512c56dbf28660745cf1ca52553f1fc9aef5557f3ce353ef14fab714 + languageName: node + linkType: hard + +"call-bound@npm:^1.0.2, call-bound@npm:^1.0.3, call-bound@npm:^1.0.4": + version: 1.0.4 + resolution: "call-bound@npm:1.0.4" + dependencies: + call-bind-apply-helpers: "npm:^1.0.2" + get-intrinsic: "npm:^1.3.0" + checksum: 10c0/f4796a6a0941e71c766aea672f63b72bc61234c4f4964dc6d7606e3664c307e7d77845328a8f3359ce39ddb377fed67318f9ee203dea1d47e46165dcf2917644 + languageName: node + linkType: hard + +"chai@npm:^6.2.2": + version: 6.2.2 + resolution: "chai@npm:6.2.2" + checksum: 10c0/e6c69e5f0c11dffe6ea13d0290936ebb68fcc1ad688b8e952e131df6a6d5797d5e860bc55cef1aca2e950c3e1f96daf79e9d5a70fb7dbaab4e46355e2635ed53 + languageName: node + linkType: hard + +"chownr@npm:^3.0.0": + version: 3.0.0 + resolution: "chownr@npm:3.0.0" + checksum: 10c0/43925b87700f7e3893296c8e9c56cc58f926411cce3a6e5898136daaf08f08b9a8eb76d37d3267e707d0dcc17aed2e2ebdf5848c0c3ce95cf910a919935c1b10 + languageName: node + linkType: hard + +"combined-stream@npm:^1.0.8": + version: 1.0.8 + resolution: "combined-stream@npm:1.0.8" + dependencies: + delayed-stream: "npm:~1.0.0" + checksum: 10c0/0dbb829577e1b1e839fa82b40c07ffaf7de8a09b935cadd355a73652ae70a88b4320db322f6634a4ad93424292fa80973ac6480986247f1734a1137debf271d5 + languageName: node + linkType: hard + +"concat-map@npm:0.0.1": + version: 0.0.1 + resolution: "concat-map@npm:0.0.1" + checksum: 10c0/c996b1cfdf95b6c90fee4dae37e332c8b6eb7d106430c17d538034c0ad9a1630cb194d2ab37293b1bdd4d779494beee7786d586a50bd9376fd6f7bcc2bd4c98f + languageName: node + linkType: hard + +"convert-source-map@npm:^2.0.0": + version: 2.0.0 + resolution: "convert-source-map@npm:2.0.0" + checksum: 10c0/8f2f7a27a1a011cc6cc88cc4da2d7d0cfa5ee0369508baae3d98c260bb3ac520691464e5bbe4ae7cdf09860c1d69ecc6f70c63c6e7c7f7e3f18ec08484dc7d9b + languageName: node + linkType: hard + +"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: 10c0/053ea8b2135caff68a9e81470e845613e374e7309a47731e81639de3eaeb90c3d01af0e0b44d2ab9d50b43467223b88567dfeb3262db942dc063b9976718ffc1 + languageName: node + linkType: hard + +"data-uri-to-buffer@npm:^4.0.0": + version: 4.0.1 + resolution: "data-uri-to-buffer@npm:4.0.1" + checksum: 10c0/20a6b93107597530d71d4cb285acee17f66bcdfc03fd81040921a81252f19db27588d87fc8fc69e1950c55cfb0bf8ae40d0e5e21d907230813eb5d5a7f9eb45b + languageName: node + linkType: hard + +"data-view-buffer@npm:^1.0.2": + version: 1.0.2 + resolution: "data-view-buffer@npm:1.0.2" + dependencies: + call-bound: "npm:^1.0.3" + es-errors: "npm:^1.3.0" + is-data-view: "npm:^1.0.2" + checksum: 10c0/7986d40fc7979e9e6241f85db8d17060dd9a71bd53c894fa29d126061715e322a4cd47a00b0b8c710394854183d4120462b980b8554012acc1c0fa49df7ad38c + languageName: node + linkType: hard + +"data-view-byte-length@npm:^1.0.2": + version: 1.0.2 + resolution: "data-view-byte-length@npm:1.0.2" + dependencies: + call-bound: "npm:^1.0.3" + es-errors: "npm:^1.3.0" + is-data-view: "npm:^1.0.2" + checksum: 10c0/f8a4534b5c69384d95ac18137d381f18a5cfae1f0fc1df0ef6feef51ef0d568606d970b69e02ea186c6c0f0eac77fe4e6ad96fec2569cc86c3afcc7475068c55 + languageName: node + linkType: hard + +"data-view-byte-offset@npm:^1.0.1": + version: 1.0.1 + resolution: "data-view-byte-offset@npm:1.0.1" + dependencies: + call-bound: "npm:^1.0.2" + es-errors: "npm:^1.3.0" + is-data-view: "npm:^1.0.1" + checksum: 10c0/fa7aa40078025b7810dcffc16df02c480573b7b53ef1205aa6a61533011005c1890e5ba17018c692ce7c900212b547262d33279fde801ad9843edc0863bf78c4 + languageName: node + linkType: hard + +"debug@npm:4, debug@npm:^4.3.1, debug@npm:^4.3.2, debug@npm:^4.4.1, debug@npm:^4.4.3": + version: 4.4.3 + resolution: "debug@npm:4.4.3" + dependencies: + ms: "npm:^2.1.3" + peerDependenciesMeta: + supports-color: + optional: true + checksum: 10c0/d79136ec6c83ecbefd0f6a5593da6a9c91ec4d7ddc4b54c883d6e71ec9accb5f67a1a5e96d00a328196b5b5c86d365e98d8a3a70856aaf16b4e7b1985e67f5a6 + languageName: node + linkType: hard + +"debug@npm:^3.2.7": + version: 3.2.7 + resolution: "debug@npm:3.2.7" + dependencies: + ms: "npm:^2.1.1" + checksum: 10c0/37d96ae42cbc71c14844d2ae3ba55adf462ec89fd3a999459dec3833944cd999af6007ff29c780f1c61153bcaaf2c842d1e4ce1ec621e4fc4923244942e4a02a + languageName: node + linkType: hard + +"deep-is@npm:^0.1.3": + version: 0.1.4 + resolution: "deep-is@npm:0.1.4" + checksum: 10c0/7f0ee496e0dff14a573dc6127f14c95061b448b87b995fc96c017ce0a1e66af1675e73f1d6064407975bc4ea6ab679497a29fff7b5b9c4e99cb10797c1ad0b4c + languageName: node + linkType: hard + +"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: 10c0/dea0606d1483eb9db8d930d4eac62ca0fa16738b0b3e07046cddfacf7d8c868bbe13fa0cb263eb91c7d0d527960dc3f2f2471a69ed7816210307f6744fe62e37 + languageName: node + linkType: hard + +"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: 10c0/88a152319ffe1396ccc6ded510a3896e77efac7a1bfbaa174a7b00414a1747377e0bb525d303794a47cf30e805c2ec84e575758512c6e44a993076d29fd4e6c3 + languageName: node + linkType: hard + +"delayed-stream@npm:~1.0.0": + version: 1.0.0 + resolution: "delayed-stream@npm:1.0.0" + checksum: 10c0/d758899da03392e6712f042bec80aa293bbe9e9ff1b2634baae6a360113e708b91326594c8a486d475c69d6259afb7efacdc3537bfcda1c6c648e390ce601b19 + languageName: node + linkType: hard + +"detect-libc@npm:^2.0.3": + version: 2.1.2 + resolution: "detect-libc@npm:2.1.2" + checksum: 10c0/acc675c29a5649fa1fb6e255f993b8ee829e510b6b56b0910666949c80c364738833417d0edb5f90e4e46be17228b0f2b66a010513984e18b15deeeac49369c4 + languageName: node + linkType: hard + +"doctrine@npm:^2.1.0": + version: 2.1.0 + resolution: "doctrine@npm:2.1.0" + dependencies: + esutils: "npm:^2.0.2" + checksum: 10c0/b6416aaff1f380bf56c3b552f31fdf7a69b45689368deca72d28636f41c16bb28ec3ebc40ace97db4c1afc0ceeb8120e8492fe0046841c94c2933b2e30a7d5ac + languageName: node + linkType: hard + +"dunder-proto@npm:^1.0.0, dunder-proto@npm:^1.0.1": + version: 1.0.1 + resolution: "dunder-proto@npm:1.0.1" + dependencies: + call-bind-apply-helpers: "npm:^1.0.1" + es-errors: "npm:^1.3.0" + gopd: "npm:^1.2.0" + checksum: 10c0/199f2a0c1c16593ca0a145dbf76a962f8033ce3129f01284d48c45ed4e14fea9bbacd7b3610b6cdc33486cef20385ac054948fefc6272fcce645c09468f93031 + languageName: node + linkType: hard + +"ecdsa-sig-formatter@npm:1.0.11, ecdsa-sig-formatter@npm:^1.0.11": + version: 1.0.11 + resolution: "ecdsa-sig-formatter@npm:1.0.11" + dependencies: + safe-buffer: "npm:^5.0.1" + checksum: 10c0/ebfbf19d4b8be938f4dd4a83b8788385da353d63307ede301a9252f9f7f88672e76f2191618fd8edfc2f24679236064176fab0b78131b161ee73daa37125408c + languageName: node + linkType: hard + +"env-paths@npm:^2.2.0": + version: 2.2.1 + resolution: "env-paths@npm:2.2.1" + checksum: 10c0/285325677bf00e30845e330eec32894f5105529db97496ee3f598478e50f008c5352a41a30e5e72ec9de8a542b5a570b85699cd63bd2bc646dbcb9f311d83bc4 + languageName: node + linkType: hard + +"es-abstract@npm:^1.23.2, es-abstract@npm:^1.23.5, es-abstract@npm:^1.23.9, es-abstract@npm:^1.24.0": + version: 1.24.2 + resolution: "es-abstract@npm:1.24.2" + dependencies: + array-buffer-byte-length: "npm:^1.0.2" + arraybuffer.prototype.slice: "npm:^1.0.4" + available-typed-arrays: "npm:^1.0.7" + call-bind: "npm:^1.0.8" + call-bound: "npm:^1.0.4" + data-view-buffer: "npm:^1.0.2" + data-view-byte-length: "npm:^1.0.2" + data-view-byte-offset: "npm:^1.0.1" + es-define-property: "npm:^1.0.1" + es-errors: "npm:^1.3.0" + es-object-atoms: "npm:^1.1.1" + es-set-tostringtag: "npm:^2.1.0" + es-to-primitive: "npm:^1.3.0" + function.prototype.name: "npm:^1.1.8" + get-intrinsic: "npm:^1.3.0" + get-proto: "npm:^1.0.1" + get-symbol-description: "npm:^1.1.0" + globalthis: "npm:^1.0.4" + gopd: "npm:^1.2.0" + has-property-descriptors: "npm:^1.0.2" + has-proto: "npm:^1.2.0" + has-symbols: "npm:^1.1.0" + hasown: "npm:^2.0.2" + internal-slot: "npm:^1.1.0" + is-array-buffer: "npm:^3.0.5" + is-callable: "npm:^1.2.7" + is-data-view: "npm:^1.0.2" + is-negative-zero: "npm:^2.0.3" + is-regex: "npm:^1.2.1" + is-set: "npm:^2.0.3" + is-shared-array-buffer: "npm:^1.0.4" + is-string: "npm:^1.1.1" + is-typed-array: "npm:^1.1.15" + is-weakref: "npm:^1.1.1" + math-intrinsics: "npm:^1.1.0" + object-inspect: "npm:^1.13.4" + object-keys: "npm:^1.1.1" + object.assign: "npm:^4.1.7" + own-keys: "npm:^1.0.1" + regexp.prototype.flags: "npm:^1.5.4" + safe-array-concat: "npm:^1.1.3" + safe-push-apply: "npm:^1.0.0" + safe-regex-test: "npm:^1.1.0" + set-proto: "npm:^1.0.0" + stop-iteration-iterator: "npm:^1.1.0" + string.prototype.trim: "npm:^1.2.10" + string.prototype.trimend: "npm:^1.0.9" + string.prototype.trimstart: "npm:^1.0.8" + typed-array-buffer: "npm:^1.0.3" + typed-array-byte-length: "npm:^1.0.3" + typed-array-byte-offset: "npm:^1.0.4" + typed-array-length: "npm:^1.0.7" + unbox-primitive: "npm:^1.1.0" + which-typed-array: "npm:^1.1.19" + checksum: 10c0/67a5bf21ef5c7d775e6f6131a836323900b4d87194cf544394ac68fe31c57fa53828b978af4a4f551ef307f83a2f910a16b6b982760ad3ddc3dc471f98d5fd1b + languageName: node + linkType: hard + +"es-define-property@npm:^1.0.0, es-define-property@npm:^1.0.1": + version: 1.0.1 + resolution: "es-define-property@npm:1.0.1" + checksum: 10c0/3f54eb49c16c18707949ff25a1456728c883e81259f045003499efba399c08bad00deebf65cccde8c0e07908c1a225c9d472b7107e558f2a48e28d530e34527c + languageName: node + linkType: hard + +"es-errors@npm:^1.3.0": + version: 1.3.0 + resolution: "es-errors@npm:1.3.0" + checksum: 10c0/0a61325670072f98d8ae3b914edab3559b6caa980f08054a3b872052640d91da01d38df55df797fcc916389d77fc92b8d5906cf028f4db46d7e3003abecbca85 + languageName: node + linkType: hard + +"es-module-lexer@npm:^2.0.0": + version: 2.1.0 + resolution: "es-module-lexer@npm:2.1.0" + checksum: 10c0/93bcf2454fa72d67fe3ccd0abef8ce7933f5840a319513418a643dd8e9c6aa8f49709cecfae02ded722805dd327232d30723a807cc52e6809d6ac697c62c29fb + languageName: node + linkType: hard + +"es-object-atoms@npm:^1.0.0, es-object-atoms@npm:^1.1.1": + version: 1.1.1 + resolution: "es-object-atoms@npm:1.1.1" + dependencies: + es-errors: "npm:^1.3.0" + checksum: 10c0/65364812ca4daf48eb76e2a3b7a89b3f6a2e62a1c420766ce9f692665a29d94fe41fe88b65f24106f449859549711e4b40d9fb8002d862dfd7eb1c512d10be0c + languageName: node + linkType: hard + +"es-set-tostringtag@npm:^2.1.0": + version: 2.1.0 + resolution: "es-set-tostringtag@npm:2.1.0" + dependencies: + es-errors: "npm:^1.3.0" + get-intrinsic: "npm:^1.2.6" + has-tostringtag: "npm:^1.0.2" + hasown: "npm:^2.0.2" + checksum: 10c0/ef2ca9ce49afe3931cb32e35da4dcb6d86ab02592cfc2ce3e49ced199d9d0bb5085fc7e73e06312213765f5efa47cc1df553a6a5154584b21448e9fb8355b1af + languageName: node + linkType: hard + +"es-shim-unscopables@npm:^1.0.2, es-shim-unscopables@npm:^1.1.0": + version: 1.1.0 + resolution: "es-shim-unscopables@npm:1.1.0" + dependencies: + hasown: "npm:^2.0.2" + checksum: 10c0/1b9702c8a1823fc3ef39035a4e958802cf294dd21e917397c561d0b3e195f383b978359816b1732d02b255ccf63e1e4815da0065b95db8d7c992037be3bbbcdb + languageName: node + linkType: hard + +"es-to-primitive@npm:^1.3.0": + version: 1.3.0 + resolution: "es-to-primitive@npm:1.3.0" + dependencies: + is-callable: "npm:^1.2.7" + is-date-object: "npm:^1.0.5" + is-symbol: "npm:^1.0.4" + checksum: 10c0/c7e87467abb0b438639baa8139f701a06537d2b9bc758f23e8622c3b42fd0fdb5bde0f535686119e446dd9d5e4c0f238af4e14960f4771877cf818d023f6730b + languageName: node + linkType: hard + +"escape-string-regexp@npm:^4.0.0": + version: 4.0.0 + resolution: "escape-string-regexp@npm:4.0.0" + checksum: 10c0/9497d4dd307d845bd7f75180d8188bb17ea8c151c1edbf6b6717c100e104d629dc2dfb687686181b0f4b7d732c7dfdc4d5e7a8ff72de1b0ca283a75bbb3a9cd9 + languageName: node + linkType: hard + +"eslint-config-prettier@npm:^10.1.8": + version: 10.1.8 + resolution: "eslint-config-prettier@npm:10.1.8" + peerDependencies: + eslint: ">=7.0.0" + bin: + eslint-config-prettier: bin/cli.js + checksum: 10c0/e1bcfadc9eccd526c240056b1e59c5cd26544fe59feb85f38f4f1f116caed96aea0b3b87868e68b3099e55caaac3f2e5b9f58110f85db893e83a332751192682 + languageName: node + linkType: hard + +"eslint-import-context@npm:^0.1.8": + version: 0.1.9 + resolution: "eslint-import-context@npm:0.1.9" + dependencies: + get-tsconfig: "npm:^4.10.1" + stable-hash-x: "npm:^0.2.0" + peerDependencies: + unrs-resolver: ^1.0.0 + peerDependenciesMeta: + unrs-resolver: + optional: true + checksum: 10c0/07851103443b70af681c5988e2702e681ff9b956e055e11d4bd9b2322847fa0d9e8da50c18fc7cb1165106b043f34fbd0384d7011c239465c4645c52132e56f3 + languageName: node + linkType: hard + +"eslint-import-resolver-node@npm:^0.3.9": + version: 0.3.10 + resolution: "eslint-import-resolver-node@npm:0.3.10" + dependencies: + debug: "npm:^3.2.7" + is-core-module: "npm:^2.16.1" + resolve: "npm:^2.0.0-next.6" + checksum: 10c0/2e05bdb148fe10a25b9a6fec3c4986a2e09e98bb99208491df82a9df7725f7bb312482d585404c440d42e58ab60debe7a48d9c992191851385b18d33a146e3c3 + languageName: node + linkType: hard + +"eslint-import-resolver-typescript@npm:^4.4.4": + version: 4.4.4 + resolution: "eslint-import-resolver-typescript@npm:4.4.4" + dependencies: + debug: "npm:^4.4.1" + eslint-import-context: "npm:^0.1.8" + get-tsconfig: "npm:^4.10.1" + is-bun-module: "npm:^2.0.0" + stable-hash-x: "npm:^0.2.0" + tinyglobby: "npm:^0.2.14" + unrs-resolver: "npm:^1.7.11" + peerDependencies: + eslint: "*" + eslint-plugin-import: "*" + eslint-plugin-import-x: "*" + peerDependenciesMeta: + eslint-plugin-import: + optional: true + eslint-plugin-import-x: + optional: true + checksum: 10c0/3bf8ad77c21660f77a0e455555ab179420f68ae7a132906c85a217ccce51cb6680cf70027cab32a358d193e5b9e476f6ba2e595585242aa97d4f6435ca22104e + languageName: node + linkType: hard + +"eslint-module-utils@npm:^2.12.1": + version: 2.12.1 + resolution: "eslint-module-utils@npm:2.12.1" + dependencies: + debug: "npm:^3.2.7" + peerDependenciesMeta: + eslint: + optional: true + checksum: 10c0/6f4efbe7a91ae49bf67b4ab3644cb60bc5bd7db4cb5521de1b65be0847ffd3fb6bce0dd68f0995e1b312d137f768e2a1f842ee26fe73621afa05f850628fdc40 + languageName: node + linkType: hard + +"eslint-plugin-import@npm:^2.32.0": + version: 2.32.0 + resolution: "eslint-plugin-import@npm:2.32.0" + dependencies: + "@rtsao/scc": "npm:^1.1.0" + array-includes: "npm:^3.1.9" + array.prototype.findlastindex: "npm:^1.2.6" + array.prototype.flat: "npm:^1.3.3" + array.prototype.flatmap: "npm:^1.3.3" + debug: "npm:^3.2.7" + doctrine: "npm:^2.1.0" + eslint-import-resolver-node: "npm:^0.3.9" + eslint-module-utils: "npm:^2.12.1" + hasown: "npm:^2.0.2" + is-core-module: "npm:^2.16.1" + is-glob: "npm:^4.0.3" + minimatch: "npm:^3.1.2" + object.fromentries: "npm:^2.0.8" + object.groupby: "npm:^1.0.3" + object.values: "npm:^1.2.1" + semver: "npm:^6.3.1" + string.prototype.trimend: "npm:^1.0.9" + tsconfig-paths: "npm:^3.15.0" + peerDependencies: + eslint: ^2 || ^3 || ^4 || ^5 || ^6 || ^7.2.0 || ^8 || ^9 + checksum: 10c0/bfb1b8fc8800398e62ddfefbf3638d185286edfed26dfe00875cc2846d954491b4f5112457831588b757fa789384e1ae585f812614c4797f0499fa234fd4a48b + languageName: node + linkType: hard + +"eslint-plugin-prettier@npm:^5.5.5": + version: 5.5.5 + resolution: "eslint-plugin-prettier@npm:5.5.5" + dependencies: + prettier-linter-helpers: "npm:^1.0.1" + synckit: "npm:^0.11.12" + peerDependencies: + "@types/eslint": ">=8.0.0" + eslint: ">=8.0.0" + eslint-config-prettier: ">= 7.0.0 <10.0.0 || >=10.1.0" + prettier: ">=3.0.0" + peerDependenciesMeta: + "@types/eslint": + optional: true + eslint-config-prettier: + optional: true + checksum: 10c0/091449b28c77ab2efbbf674e977181f2c8453d95a4df68218bddd87a4dfaa9ecc4eda60164e416f5986fb5d577e66e8d8e1e23d81e8555f8d735375598b03257 + languageName: node + linkType: hard + +"eslint-scope@npm:^9.1.2": + version: 9.1.2 + resolution: "eslint-scope@npm:9.1.2" + dependencies: + "@types/esrecurse": "npm:^4.3.1" + "@types/estree": "npm:^1.0.8" + esrecurse: "npm:^4.3.0" + estraverse: "npm:^5.2.0" + checksum: 10c0/9fb8bca5a73e5741efb6cec84467027b6cb6f4203ff9b43a938e272c5cd30800bde46a5c20dfd1609f840225f0b62b7673be391b20acadf8658ca9fa4729b3dd + languageName: node + linkType: hard + +"eslint-visitor-keys@npm:^3.4.3": + version: 3.4.3 + resolution: "eslint-visitor-keys@npm:3.4.3" + checksum: 10c0/92708e882c0a5ffd88c23c0b404ac1628cf20104a108c745f240a13c332a11aac54f49a22d5762efbffc18ecbc9a580d1b7ad034bf5f3cc3307e5cbff2ec9820 + languageName: node + linkType: hard + +"eslint-visitor-keys@npm:^5.0.0, eslint-visitor-keys@npm:^5.0.1": + version: 5.0.1 + resolution: "eslint-visitor-keys@npm:5.0.1" + checksum: 10c0/16190bdf2cbae40a1109384c94450c526a79b0b9c3cb21e544256ed85ac48a4b84db66b74a6561d20fe6ab77447f150d711c2ad5ad74df4fcc133736bce99678 + languageName: node + linkType: hard + +"eslint@npm:^10.2.1": + version: 10.2.1 + resolution: "eslint@npm:10.2.1" + dependencies: + "@eslint-community/eslint-utils": "npm:^4.8.0" + "@eslint-community/regexpp": "npm:^4.12.2" + "@eslint/config-array": "npm:^0.23.5" + "@eslint/config-helpers": "npm:^0.5.5" + "@eslint/core": "npm:^1.2.1" + "@eslint/plugin-kit": "npm:^0.7.1" + "@humanfs/node": "npm:^0.16.6" + "@humanwhocodes/module-importer": "npm:^1.0.1" + "@humanwhocodes/retry": "npm:^0.4.2" + "@types/estree": "npm:^1.0.6" + ajv: "npm:^6.14.0" + cross-spawn: "npm:^7.0.6" + debug: "npm:^4.3.2" + escape-string-regexp: "npm:^4.0.0" + eslint-scope: "npm:^9.1.2" + eslint-visitor-keys: "npm:^5.0.1" + espree: "npm:^11.2.0" + esquery: "npm:^1.7.0" + esutils: "npm:^2.0.2" + fast-deep-equal: "npm:^3.1.3" + file-entry-cache: "npm:^8.0.0" + find-up: "npm:^5.0.0" + glob-parent: "npm:^6.0.2" + ignore: "npm:^5.2.0" + imurmurhash: "npm:^0.1.4" + is-glob: "npm:^4.0.0" + json-stable-stringify-without-jsonify: "npm:^1.0.1" + minimatch: "npm:^10.2.4" + natural-compare: "npm:^1.4.0" + optionator: "npm:^0.9.3" + peerDependencies: + jiti: "*" + peerDependenciesMeta: + jiti: + optional: true + bin: + eslint: bin/eslint.js + checksum: 10c0/176795a3794a785502fa5cd14a9609264c2be5405552d20fed3e499bd465c29639c91ac44619ae66787b0fb7494e72d112550a2136a735d92a26bc6a7af4915c + languageName: node + linkType: hard + +"espree@npm:^11.2.0": + version: 11.2.0 + resolution: "espree@npm:11.2.0" + dependencies: + acorn: "npm:^8.16.0" + acorn-jsx: "npm:^5.3.2" + eslint-visitor-keys: "npm:^5.0.1" + checksum: 10c0/cf87e18ffd9dc113eb8d16588e7757701bc10c9934a71cce8b89c2611d51672681a918307bd6b19ac3ccd0e7ba1cbccc2f815b36b52fa7e73097b251014c3d81 + languageName: node + linkType: hard + +"esquery@npm:^1.7.0": + version: 1.7.0 + resolution: "esquery@npm:1.7.0" + dependencies: + estraverse: "npm:^5.1.0" + checksum: 10c0/77d5173db450b66f3bc685d11af4c90cffeedb340f34a39af96d43509a335ce39c894fd79233df32d38f5e4e219fa0f7076f6ec90bae8320170ba082c0db4793 + languageName: node + linkType: hard + +"esrecurse@npm:^4.3.0": + version: 4.3.0 + resolution: "esrecurse@npm:4.3.0" + dependencies: + estraverse: "npm:^5.2.0" + checksum: 10c0/81a37116d1408ded88ada45b9fb16dbd26fba3aadc369ce50fcaf82a0bac12772ebd7b24cd7b91fc66786bf2c1ac7b5f196bc990a473efff972f5cb338877cf5 + languageName: node + linkType: hard + +"estraverse@npm:^5.1.0, estraverse@npm:^5.2.0": + version: 5.3.0 + resolution: "estraverse@npm:5.3.0" + checksum: 10c0/1ff9447b96263dec95d6d67431c5e0771eb9776427421260a3e2f0fdd5d6bd4f8e37a7338f5ad2880c9f143450c9b1e4fc2069060724570a49cf9cf0312bd107 + languageName: node + linkType: hard + +"estree-walker@npm:^3.0.3": + version: 3.0.3 + resolution: "estree-walker@npm:3.0.3" + dependencies: + "@types/estree": "npm:^1.0.0" + checksum: 10c0/c12e3c2b2642d2bcae7d5aa495c60fa2f299160946535763969a1c83fc74518ffa9c2cd3a8b69ac56aea547df6a8aac25f729a342992ef0bbac5f1c73e78995d + languageName: node + linkType: hard + +"esutils@npm:^2.0.2": + version: 2.0.3 + resolution: "esutils@npm:2.0.3" + checksum: 10c0/9a2fe69a41bfdade834ba7c42de4723c97ec776e40656919c62cbd13607c45e127a003f05f724a1ea55e5029a4cf2de444b13009f2af71271e42d93a637137c7 + languageName: node + linkType: hard + +"expect-type@npm:^1.3.0": + version: 1.3.0 + resolution: "expect-type@npm:1.3.0" + checksum: 10c0/8412b3fe4f392c420ab41dae220b09700e4e47c639a29ba7ba2e83cc6cffd2b4926f7ac9e47d7e277e8f4f02acda76fd6931cb81fd2b382fa9477ef9ada953fd + languageName: node + linkType: hard + +"exponential-backoff@npm:^3.1.1": + version: 3.1.3 + resolution: "exponential-backoff@npm:3.1.3" + checksum: 10c0/77e3ae682b7b1f4972f563c6dbcd2b0d54ac679e62d5d32f3e5085feba20483cf28bd505543f520e287a56d4d55a28d7874299941faf637e779a1aa5994d1267 + languageName: node + linkType: hard + +"extend@npm:^3.0.2": + version: 3.0.2 + resolution: "extend@npm:3.0.2" + checksum: 10c0/73bf6e27406e80aa3e85b0d1c4fd987261e628064e170ca781125c0b635a3dabad5e05adbf07595ea0cf1e6c5396cacb214af933da7cbaf24fe75ff14818e8f9 + 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: 10c0/40dedc862eb8992c54579c66d914635afbec43350afbbe991235fdcb4e3a8d5af1b23ae7e79bef7d4882d0ecee06c3197488026998fb19f72dc95acff1d1b1d0 + languageName: node + linkType: hard + +"fast-diff@npm:^1.1.2": + version: 1.3.0 + resolution: "fast-diff@npm:1.3.0" + checksum: 10c0/5c19af237edb5d5effda008c891a18a585f74bf12953be57923f17a3a4d0979565fc64dbc73b9e20926b9d895f5b690c618cbb969af0cf022e3222471220ad29 + languageName: node + linkType: hard + +"fast-json-stable-stringify@npm:^2.0.0": + version: 2.1.0 + resolution: "fast-json-stable-stringify@npm:2.1.0" + checksum: 10c0/7f081eb0b8a64e0057b3bb03f974b3ef00135fbf36c1c710895cd9300f13c94ba809bb3a81cf4e1b03f6e5285610a61abbd7602d0652de423144dfee5a389c9b + languageName: node + linkType: hard + +"fast-levenshtein@npm:^2.0.6": + version: 2.0.6 + resolution: "fast-levenshtein@npm:2.0.6" + checksum: 10c0/111972b37338bcb88f7d9e2c5907862c280ebf4234433b95bc611e518d192ccb2d38119c4ac86e26b668d75f7f3894f4ff5c4982899afced7ca78633b08287c4 + languageName: node + linkType: hard + +"fdir@npm:^6.5.0": + version: 6.5.0 + resolution: "fdir@npm:6.5.0" + peerDependencies: + picomatch: ^3 || ^4 + peerDependenciesMeta: + picomatch: + optional: true + checksum: 10c0/e345083c4306b3aed6cb8ec551e26c36bab5c511e99ea4576a16750ddc8d3240e63826cc624f5ae17ad4dc82e68a253213b60d556c11bfad064b7607847ed07f + languageName: node + linkType: hard + +"fetch-blob@npm:^3.1.2, fetch-blob@npm:^3.1.4": + version: 3.2.0 + resolution: "fetch-blob@npm:3.2.0" + dependencies: + node-domexception: "npm:^1.0.0" + web-streams-polyfill: "npm:^3.0.3" + checksum: 10c0/60054bf47bfa10fb0ba6cb7742acec2f37c1f56344f79a70bb8b1c48d77675927c720ff3191fa546410a0442c998d27ab05e9144c32d530d8a52fbe68f843b69 + languageName: node + linkType: hard + +"file-entry-cache@npm:^8.0.0": + version: 8.0.0 + resolution: "file-entry-cache@npm:8.0.0" + dependencies: + flat-cache: "npm:^4.0.0" + checksum: 10c0/9e2b5938b1cd9b6d7e3612bdc533afd4ac17b2fc646569e9a8abbf2eb48e5eb8e316bc38815a3ef6a1b456f4107f0d0f055a614ca613e75db6bf9ff4d72c1638 + languageName: node + linkType: hard + +"find-up@npm:^5.0.0": + version: 5.0.0 + resolution: "find-up@npm:5.0.0" + dependencies: + locate-path: "npm:^6.0.0" + path-exists: "npm:^4.0.0" + checksum: 10c0/062c5a83a9c02f53cdd6d175a37ecf8f87ea5bbff1fdfb828f04bfa021441bc7583e8ebc0872a4c1baab96221fb8a8a275a19809fb93fbc40bd69ec35634069a + languageName: node + linkType: hard + +"flat-cache@npm:^4.0.0": + version: 4.0.1 + resolution: "flat-cache@npm:4.0.1" + dependencies: + flatted: "npm:^3.2.9" + keyv: "npm:^4.5.4" + checksum: 10c0/2c59d93e9faa2523e4fda6b4ada749bed432cfa28c8e251f33b25795e426a1c6dbada777afb1f74fcfff33934fdbdea921ee738fcc33e71adc9d6eca984a1cfc + languageName: node + linkType: hard + +"flatted@npm:^3.2.9": + version: 3.4.2 + resolution: "flatted@npm:3.4.2" + checksum: 10c0/a65b67aae7172d6cdf63691be7de6c5cd5adbdfdfe2e9da1a09b617c9512ed794037741ee53d93114276bff3f93cd3b0d97d54f9b316e1e4885dde6e9ffdf7ed + languageName: node + linkType: hard + +"follow-redirects@npm:^1.15.11": + version: 1.16.0 + resolution: "follow-redirects@npm:1.16.0" + peerDependenciesMeta: + debug: + optional: true + checksum: 10c0/a1e2900163e6f1b4d1ed5c221b607f41decbab65534c63fe7e287e40a5d552a6496e7d9d7d976fa4ba77b4c51c11e5e9f683f10b43011ea11e442ff128d0e181 + languageName: node + linkType: hard + +"for-each@npm:^0.3.3, for-each@npm:^0.3.5": + version: 0.3.5 + resolution: "for-each@npm:0.3.5" + dependencies: + is-callable: "npm:^1.2.7" + checksum: 10c0/0e0b50f6a843a282637d43674d1fb278dda1dd85f4f99b640024cfb10b85058aac0cc781bf689d5fe50b4b7f638e91e548560723a4e76e04fe96ae35ef039cee + languageName: node + linkType: hard + +"form-data@npm:^4.0.5": + version: 4.0.5 + resolution: "form-data@npm:4.0.5" + dependencies: + asynckit: "npm:^0.4.0" + combined-stream: "npm:^1.0.8" + es-set-tostringtag: "npm:^2.1.0" + hasown: "npm:^2.0.2" + mime-types: "npm:^2.1.12" + checksum: 10c0/dd6b767ee0bbd6d84039db12a0fa5a2028160ffbfaba1800695713b46ae974a5f6e08b3356c3195137f8530dcd9dfcb5d5ae1eeff53d0db1e5aad863b619ce3b + languageName: node + linkType: hard + +"formdata-polyfill@npm:^4.0.10": + version: 4.0.10 + resolution: "formdata-polyfill@npm:4.0.10" + dependencies: + fetch-blob: "npm:^3.1.2" + checksum: 10c0/5392ec484f9ce0d5e0d52fb5a78e7486637d516179b0eb84d81389d7eccf9ca2f663079da56f761355c0a65792810e3b345dc24db9a8bbbcf24ef3c8c88570c6 + languageName: node + linkType: hard + +"fsevents@npm:~2.3.3": + version: 2.3.3 + resolution: "fsevents@npm:2.3.3" + dependencies: + node-gyp: "npm:latest" + checksum: 10c0/a1f0c44595123ed717febbc478aa952e47adfc28e2092be66b8ab1635147254ca6cfe1df792a8997f22716d4cbafc73309899ff7bfac2ac3ad8cf2e4ecc3ec60 + conditions: os=darwin + languageName: node + linkType: hard + +"fsevents@patch:fsevents@npm%3A~2.3.3#optional!builtin": + version: 2.3.3 + resolution: "fsevents@patch:fsevents@npm%3A2.3.3#optional!builtin::version=2.3.3&hash=df0bf1" + dependencies: + node-gyp: "npm:latest" + conditions: os=darwin + languageName: node + linkType: hard + +"function-bind@npm:^1.1.2": + version: 1.1.2 + resolution: "function-bind@npm:1.1.2" + checksum: 10c0/d8680ee1e5fcd4c197e4ac33b2b4dce03c71f4d91717292785703db200f5c21f977c568d28061226f9b5900cbcd2c84463646134fd5337e7925e0942bc3f46d5 + languageName: node + linkType: hard + +"function.prototype.name@npm:^1.1.6, function.prototype.name@npm:^1.1.8": + version: 1.1.8 + resolution: "function.prototype.name@npm:1.1.8" + dependencies: + call-bind: "npm:^1.0.8" + call-bound: "npm:^1.0.3" + define-properties: "npm:^1.2.1" + functions-have-names: "npm:^1.2.3" + hasown: "npm:^2.0.2" + is-callable: "npm:^1.2.7" + checksum: 10c0/e920a2ab52663005f3cbe7ee3373e3c71c1fb5558b0b0548648cdf3e51961085032458e26c71ff1a8c8c20e7ee7caeb03d43a5d1fa8610c459333323a2e71253 + languageName: node + linkType: hard + +"functions-have-names@npm:^1.2.3": + version: 1.2.3 + resolution: "functions-have-names@npm:1.2.3" + checksum: 10c0/33e77fd29bddc2d9bb78ab3eb854c165909201f88c75faa8272e35899e2d35a8a642a15e7420ef945e1f64a9670d6aa3ec744106b2aa42be68ca5114025954ca + languageName: node + linkType: hard + +"gaxios@npm:^7.0.0, gaxios@npm:^7.1.4": + version: 7.1.4 + resolution: "gaxios@npm:7.1.4" + dependencies: + extend: "npm:^3.0.2" + https-proxy-agent: "npm:^7.0.1" + node-fetch: "npm:^3.3.2" + checksum: 10c0/147adf5f2606442945d8b19df1e9fe2833a5ec30af00743d0c44292899c5eef1c0a77b74ff07d9dfdc6b009c08af1f3f3d1d5d772109fde50c92435533795803 + languageName: node + linkType: hard + +"gcp-metadata@npm:8.1.2": + version: 8.1.2 + resolution: "gcp-metadata@npm:8.1.2" + dependencies: + gaxios: "npm:^7.0.0" + google-logging-utils: "npm:^1.0.0" + json-bigint: "npm:^1.0.0" + checksum: 10c0/15a61231a9410dc11c2828d2c9fdc8b0a939f1af746195c44edc6f2ffea0acab52cef3a7b9828069a36fd5d68bda730f7328a415fe42a01258f6e249dfba6908 + languageName: node + linkType: hard + +"generator-function@npm:^2.0.0": + version: 2.0.1 + resolution: "generator-function@npm:2.0.1" + checksum: 10c0/8a9f59df0f01cfefafdb3b451b80555e5cf6d76487095db91ac461a0e682e4ff7a9dbce15f4ecec191e53586d59eece01949e05a4b4492879600bbbe8e28d6b8 + languageName: node + linkType: hard + +"get-intrinsic@npm:^1.2.4, get-intrinsic@npm:^1.2.5, get-intrinsic@npm:^1.2.6, get-intrinsic@npm:^1.2.7, get-intrinsic@npm:^1.3.0": + version: 1.3.1 + resolution: "get-intrinsic@npm:1.3.1" + dependencies: + async-function: "npm:^1.0.0" + async-generator-function: "npm:^1.0.0" + call-bind-apply-helpers: "npm:^1.0.2" + es-define-property: "npm:^1.0.1" + es-errors: "npm:^1.3.0" + es-object-atoms: "npm:^1.1.1" + function-bind: "npm:^1.1.2" + generator-function: "npm:^2.0.0" + get-proto: "npm:^1.0.1" + gopd: "npm:^1.2.0" + has-symbols: "npm:^1.1.0" + hasown: "npm:^2.0.2" + math-intrinsics: "npm:^1.1.0" + checksum: 10c0/9f4ab0cf7efe0fd2c8185f52e6f637e708f3a112610c88869f8f041bb9ecc2ce44bf285dfdbdc6f4f7c277a5b88d8e94a432374d97cca22f3de7fc63795deb5d + languageName: node + linkType: hard + +"get-proto@npm:^1.0.1": + version: 1.0.1 + resolution: "get-proto@npm:1.0.1" + dependencies: + dunder-proto: "npm:^1.0.1" + es-object-atoms: "npm:^1.0.0" + checksum: 10c0/9224acb44603c5526955e83510b9da41baf6ae73f7398875fba50edc5e944223a89c4a72b070fcd78beb5f7bdda58ecb6294adc28f7acfc0da05f76a2399643c + languageName: node + linkType: hard + +"get-symbol-description@npm:^1.1.0": + version: 1.1.0 + resolution: "get-symbol-description@npm:1.1.0" + dependencies: + call-bound: "npm:^1.0.3" + es-errors: "npm:^1.3.0" + get-intrinsic: "npm:^1.2.6" + checksum: 10c0/d6a7d6afca375779a4b307738c9e80dbf7afc0bdbe5948768d54ab9653c865523d8920e670991a925936eb524b7cb6a6361d199a760b21d0ca7620194455aa4b + languageName: node + linkType: hard + +"get-tsconfig@npm:^4.10.1": + version: 4.14.0 + resolution: "get-tsconfig@npm:4.14.0" + dependencies: + resolve-pkg-maps: "npm:^1.0.0" + checksum: 10c0/abc2b9275468eb589079a0b7a95eb5107c14fdd0ca6dda1bff116fe774ea1f79975421dcb22a0c86b4f820fcc69a7655dddf9b6d6a8a2c06fcb59e19794c0724 + languageName: node + linkType: hard + +"glob-parent@npm:^6.0.2": + version: 6.0.2 + resolution: "glob-parent@npm:6.0.2" + dependencies: + is-glob: "npm:^4.0.3" + checksum: 10c0/317034d88654730230b3f43bb7ad4f7c90257a426e872ea0bf157473ac61c99bf5d205fad8f0185f989be8d2fa6d3c7dce1645d99d545b6ea9089c39f838e7f8 + languageName: node + linkType: hard + +"globals@npm:^17.5.0": + version: 17.5.0 + resolution: "globals@npm:17.5.0" + checksum: 10c0/92828102ed2f5637907725f0478038bed02fc83e9fc89300bb753639ba7c022b6c02576fc772117302b431b204591db1f2fa909d26f3f0a9852cc856a941df3f + languageName: node + linkType: hard + +"globalthis@npm:^1.0.4": + version: 1.0.4 + resolution: "globalthis@npm:1.0.4" + dependencies: + define-properties: "npm:^1.2.1" + gopd: "npm:^1.0.1" + checksum: 10c0/9d156f313af79d80b1566b93e19285f481c591ad6d0d319b4be5e03750d004dde40a39a0f26f7e635f9007a3600802f53ecd85a759b86f109e80a5f705e01846 + languageName: node + linkType: hard + +"google-auth-library@npm:^10.6.2": + version: 10.6.2 + resolution: "google-auth-library@npm:10.6.2" + dependencies: + base64-js: "npm:^1.3.0" + ecdsa-sig-formatter: "npm:^1.0.11" + gaxios: "npm:^7.1.4" + gcp-metadata: "npm:8.1.2" + google-logging-utils: "npm:1.1.3" + jws: "npm:^4.0.0" + checksum: 10c0/4878d9070e751202eff8adca7a78a41f045c460f611a62d8c0c14ac4bd33d66afc5d788ef82225873dadc7cde401d47f223f3c109f1a192564164fdd44a36614 + languageName: node + linkType: hard + +"google-logging-utils@npm:1.1.3, google-logging-utils@npm:^1.0.0": + version: 1.1.3 + resolution: "google-logging-utils@npm:1.1.3" + checksum: 10c0/e65201c7e96543bd1423b9324013736646b9eed60941e0bfa47b9bfd146d2f09cf3df1c99ca60b7d80a726075263ead049ee72de53372cb8458c3bc55c2c1e59 + languageName: node + linkType: hard + +"gopd@npm:^1.0.1, gopd@npm:^1.2.0": + version: 1.2.0 + resolution: "gopd@npm:1.2.0" + checksum: 10c0/50fff1e04ba2b7737c097358534eacadad1e68d24cccee3272e04e007bed008e68d2614f3987788428fd192a5ae3889d08fb2331417e4fc4a9ab366b2043cead + languageName: node + linkType: hard + +"graceful-fs@npm:^4.2.6": + version: 4.2.11 + resolution: "graceful-fs@npm:4.2.11" + checksum: 10c0/386d011a553e02bc594ac2ca0bd6d9e4c22d7fa8cfbfc448a6d148c59ea881b092db9dbe3547ae4b88e55f1b01f7c4a2ecc53b310c042793e63aa44cf6c257f2 + languageName: node + linkType: hard + +"has-bigints@npm:^1.0.2": + version: 1.1.0 + resolution: "has-bigints@npm:1.1.0" + checksum: 10c0/2de0cdc4a1ccf7a1e75ffede1876994525ac03cc6f5ae7392d3415dd475cd9eee5bceec63669ab61aa997ff6cceebb50ef75561c7002bed8988de2b9d1b40788 + languageName: node + linkType: hard + +"has-flag@npm:^4.0.0": + version: 4.0.0 + resolution: "has-flag@npm:4.0.0" + checksum: 10c0/2e789c61b7888d66993e14e8331449e525ef42aac53c627cc53d1c3334e768bcb6abdc4f5f0de1478a25beec6f0bd62c7549058b7ac53e924040d4f301f02fd1 + languageName: node + linkType: hard + +"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: + es-define-property: "npm:^1.0.0" + checksum: 10c0/253c1f59e80bb476cf0dde8ff5284505d90c3bdb762983c3514d36414290475fe3fd6f574929d84de2a8eec00d35cf07cb6776205ff32efd7c50719125f00236 + languageName: node + linkType: hard + +"has-proto@npm:^1.2.0": + version: 1.2.0 + resolution: "has-proto@npm:1.2.0" + dependencies: + dunder-proto: "npm:^1.0.0" + checksum: 10c0/46538dddab297ec2f43923c3d35237df45d8c55a6fc1067031e04c13ed8a9a8f94954460632fd4da84c31a1721eefee16d901cbb1ae9602bab93bb6e08f93b95 + languageName: node + linkType: hard + +"has-symbols@npm:^1.0.3, has-symbols@npm:^1.1.0": + version: 1.1.0 + resolution: "has-symbols@npm:1.1.0" + checksum: 10c0/dde0a734b17ae51e84b10986e651c664379018d10b91b6b0e9b293eddb32f0f069688c841fb40f19e9611546130153e0a2a48fd7f512891fb000ddfa36f5a20e + languageName: node + linkType: hard + +"has-tostringtag@npm:^1.0.2": + version: 1.0.2 + resolution: "has-tostringtag@npm:1.0.2" + dependencies: + has-symbols: "npm:^1.0.3" + checksum: 10c0/a8b166462192bafe3d9b6e420a1d581d93dd867adb61be223a17a8d6dad147aa77a8be32c961bb2f27b3ef893cae8d36f564ab651f5e9b7938ae86f74027c48c + languageName: node + linkType: hard + +"hasown@npm:^2.0.2": + version: 2.0.3 + resolution: "hasown@npm:2.0.3" + dependencies: + function-bind: "npm:^1.1.2" + checksum: 10c0/f5eb28c3fd0d3e4facd821c1eeee3836c37b70ab0b0fc532e8a39976e18fef43652415dadc52f8c7a5ff6d5ac93b7bef128789aa6f90f4e9b9a9083dce74ab38 + languageName: node + linkType: hard + +"html-escaper@npm:^2.0.0": + version: 2.0.2 + resolution: "html-escaper@npm:2.0.2" + checksum: 10c0/208e8a12de1a6569edbb14544f4567e6ce8ecc30b9394fcaa4e7bb1e60c12a7c9a1ed27e31290817157e8626f3a4f29e76c8747030822eb84a6abb15c255f0a0 + languageName: node + linkType: hard + +"https-proxy-agent@npm:^7.0.1": + version: 7.0.6 + resolution: "https-proxy-agent@npm:7.0.6" + dependencies: + agent-base: "npm:^7.1.2" + debug: "npm:4" + checksum: 10c0/f729219bc735edb621fa30e6e84e60ee5d00802b8247aac0d7b79b0bd6d4b3294737a337b93b86a0bd9e68099d031858a39260c976dc14cdbba238ba1f8779ac + languageName: node + linkType: hard + +"ignore@npm:^5.2.0": + version: 5.3.2 + resolution: "ignore@npm:5.3.2" + checksum: 10c0/f9f652c957983634ded1e7f02da3b559a0d4cc210fca3792cb67f1b153623c9c42efdc1c4121af171e295444459fc4a9201101fb041b1104a3c000bccb188337 + languageName: node + linkType: hard + +"ignore@npm:^7.0.5": + version: 7.0.5 + resolution: "ignore@npm:7.0.5" + checksum: 10c0/ae00db89fe873064a093b8999fe4cc284b13ef2a178636211842cceb650b9c3e390d3339191acb145d81ed5379d2074840cf0c33a20bdbd6f32821f79eb4ad5d + languageName: node + linkType: hard + +"imurmurhash@npm:^0.1.4": + version: 0.1.4 + resolution: "imurmurhash@npm:0.1.4" + checksum: 10c0/8b51313850dd33605c6c9d3fd9638b714f4c4c40250cff658209f30d40da60f78992fb2df5dabee4acf589a6a82bbc79ad5486550754bd9ec4e3fc0d4a57d6a6 + languageName: node + linkType: hard + +"internal-slot@npm:^1.1.0": + version: 1.1.0 + resolution: "internal-slot@npm:1.1.0" + dependencies: + es-errors: "npm:^1.3.0" + hasown: "npm:^2.0.2" + side-channel: "npm:^1.1.0" + checksum: 10c0/03966f5e259b009a9bf1a78d60da920df198af4318ec004f57b8aef1dd3fe377fbc8cce63a96e8c810010302654de89f9e19de1cd8ad0061d15be28a695465c7 + languageName: node + linkType: hard + +"is-array-buffer@npm:^3.0.4, is-array-buffer@npm:^3.0.5": + version: 3.0.5 + resolution: "is-array-buffer@npm:3.0.5" + dependencies: + call-bind: "npm:^1.0.8" + call-bound: "npm:^1.0.3" + get-intrinsic: "npm:^1.2.6" + checksum: 10c0/c5c9f25606e86dbb12e756694afbbff64bc8b348d1bc989324c037e1068695131930199d6ad381952715dad3a9569333817f0b1a72ce5af7f883ce802e49c83d + languageName: node + linkType: hard + +"is-async-function@npm:^2.0.0": + version: 2.1.1 + resolution: "is-async-function@npm:2.1.1" + dependencies: + async-function: "npm:^1.0.0" + call-bound: "npm:^1.0.3" + get-proto: "npm:^1.0.1" + has-tostringtag: "npm:^1.0.2" + safe-regex-test: "npm:^1.1.0" + checksum: 10c0/d70c236a5e82de6fc4d44368ffd0c2fee2b088b893511ce21e679da275a5ecc6015ff59a7d7e1bdd7ca39f71a8dbdd253cf8cce5c6b3c91cdd5b42b5ce677298 + languageName: node + linkType: hard + +"is-bigint@npm:^1.1.0": + version: 1.1.0 + resolution: "is-bigint@npm:1.1.0" + dependencies: + has-bigints: "npm:^1.0.2" + checksum: 10c0/f4f4b905ceb195be90a6ea7f34323bf1c18e3793f18922e3e9a73c684c29eeeeff5175605c3a3a74cc38185fe27758f07efba3dbae812e5c5afbc0d2316b40e4 + languageName: node + linkType: hard + +"is-boolean-object@npm:^1.2.1": + version: 1.2.2 + resolution: "is-boolean-object@npm:1.2.2" + dependencies: + call-bound: "npm:^1.0.3" + has-tostringtag: "npm:^1.0.2" + checksum: 10c0/36ff6baf6bd18b3130186990026f5a95c709345c39cd368468e6c1b6ab52201e9fd26d8e1f4c066357b4938b0f0401e1a5000e08257787c1a02f3a719457001e + languageName: node + linkType: hard + +"is-buffer@npm:^2.0.5": + version: 2.0.5 + resolution: "is-buffer@npm:2.0.5" + checksum: 10c0/e603f6fced83cf94c53399cff3bda1a9f08e391b872b64a73793b0928be3e5f047f2bcece230edb7632eaea2acdbfcb56c23b33d8a20c820023b230f1485679a + languageName: node + linkType: hard + +"is-bun-module@npm:^2.0.0": + version: 2.0.0 + resolution: "is-bun-module@npm:2.0.0" + dependencies: + semver: "npm:^7.7.1" + checksum: 10c0/7d27a0679cfa5be1f5052650391f9b11040cd70c48d45112e312c56bc6b6ca9c9aea70dcce6cc40b1e8947bfff8567a5c5715d3b066fb478522dab46ea379240 + languageName: node + linkType: hard + +"is-callable@npm:^1.2.7": + version: 1.2.7 + resolution: "is-callable@npm:1.2.7" + checksum: 10c0/ceebaeb9d92e8adee604076971dd6000d38d6afc40bb843ea8e45c5579b57671c3f3b50d7f04869618242c6cee08d1b67806a8cb8edaaaf7c0748b3720d6066f + languageName: node + linkType: hard + +"is-core-module@npm:^2.16.1": + version: 2.16.1 + resolution: "is-core-module@npm:2.16.1" + dependencies: + hasown: "npm:^2.0.2" + checksum: 10c0/898443c14780a577e807618aaae2b6f745c8538eca5c7bc11388a3f2dc6de82b9902bcc7eb74f07be672b11bbe82dd6a6edded44a00cb3d8f933d0459905eedd + languageName: node + linkType: hard + +"is-data-view@npm:^1.0.1, is-data-view@npm:^1.0.2": + version: 1.0.2 + resolution: "is-data-view@npm:1.0.2" + dependencies: + call-bound: "npm:^1.0.2" + get-intrinsic: "npm:^1.2.6" + is-typed-array: "npm:^1.1.13" + checksum: 10c0/ef3548a99d7e7f1370ce21006baca6d40c73e9f15c941f89f0049c79714c873d03b02dae1c64b3f861f55163ecc16da06506c5b8a1d4f16650b3d9351c380153 + languageName: node + linkType: hard + +"is-date-object@npm:^1.0.5, is-date-object@npm:^1.1.0": + version: 1.1.0 + resolution: "is-date-object@npm:1.1.0" + dependencies: + call-bound: "npm:^1.0.2" + has-tostringtag: "npm:^1.0.2" + checksum: 10c0/1a4d199c8e9e9cac5128d32e6626fa7805175af9df015620ac0d5d45854ccf348ba494679d872d37301032e35a54fc7978fba1687e8721b2139aea7870cafa2f + languageName: node + linkType: hard + +"is-extglob@npm:^2.1.1": + version: 2.1.1 + resolution: "is-extglob@npm:2.1.1" + checksum: 10c0/5487da35691fbc339700bbb2730430b07777a3c21b9ebaecb3072512dfd7b4ba78ac2381a87e8d78d20ea08affb3f1971b4af629173a6bf435ff8a4c47747912 + languageName: node + linkType: hard + +"is-finalizationregistry@npm:^1.1.0": + version: 1.1.1 + resolution: "is-finalizationregistry@npm:1.1.1" + dependencies: + call-bound: "npm:^1.0.3" + checksum: 10c0/818dff679b64f19e228a8205a1e2d09989a98e98def3a817f889208cfcbf918d321b251aadf2c05918194803ebd2eb01b14fc9d0b2bea53d984f4137bfca5e97 + languageName: node + linkType: hard + +"is-generator-function@npm:^1.0.10": + version: 1.1.2 + resolution: "is-generator-function@npm:1.1.2" + dependencies: + call-bound: "npm:^1.0.4" + generator-function: "npm:^2.0.0" + get-proto: "npm:^1.0.1" + has-tostringtag: "npm:^1.0.2" + safe-regex-test: "npm:^1.1.0" + checksum: 10c0/83da102e89c3e3b71d67b51d47c9f9bc862bceb58f87201727e27f7fa19d1d90b0ab223644ecaee6fc6e3d2d622bb25c966fbdaf87c59158b01ce7c0fe2fa372 + languageName: node + linkType: hard + +"is-glob@npm:^4.0.0, is-glob@npm:^4.0.3": + version: 4.0.3 + resolution: "is-glob@npm:4.0.3" + dependencies: + is-extglob: "npm:^2.1.1" + checksum: 10c0/17fb4014e22be3bbecea9b2e3a76e9e34ff645466be702f1693e8f1ee1adac84710d0be0bd9f967d6354036fd51ab7c2741d954d6e91dae6bb69714de92c197a + languageName: node + linkType: hard + +"is-map@npm:^2.0.3": + version: 2.0.3 + resolution: "is-map@npm:2.0.3" + checksum: 10c0/2c4d431b74e00fdda7162cd8e4b763d6f6f217edf97d4f8538b94b8702b150610e2c64961340015fe8df5b1fcee33ccd2e9b62619c4a8a3a155f8de6d6d355fc + languageName: node + linkType: hard + +"is-negative-zero@npm:^2.0.3": + version: 2.0.3 + resolution: "is-negative-zero@npm:2.0.3" + checksum: 10c0/bcdcf6b8b9714063ffcfa9929c575ac69bfdabb8f4574ff557dfc086df2836cf07e3906f5bbc4f2a5c12f8f3ba56af640c843cdfc74da8caed86c7c7d66fd08e + languageName: node + linkType: hard + +"is-number-object@npm:^1.1.1": + version: 1.1.1 + resolution: "is-number-object@npm:1.1.1" + dependencies: + call-bound: "npm:^1.0.3" + has-tostringtag: "npm:^1.0.2" + checksum: 10c0/97b451b41f25135ff021d85c436ff0100d84a039bb87ffd799cbcdbea81ef30c464ced38258cdd34f080be08fc3b076ca1f472086286d2aa43521d6ec6a79f53 + languageName: node + linkType: hard + +"is-regex@npm:^1.2.1": + version: 1.2.1 + resolution: "is-regex@npm:1.2.1" + dependencies: + call-bound: "npm:^1.0.2" + gopd: "npm:^1.2.0" + has-tostringtag: "npm:^1.0.2" + hasown: "npm:^2.0.2" + checksum: 10c0/1d3715d2b7889932349241680032e85d0b492cfcb045acb75ffc2c3085e8d561184f1f7e84b6f8321935b4aea39bc9c6ba74ed595b57ce4881a51dfdbc214e04 + languageName: node + linkType: hard + +"is-set@npm:^2.0.3": + version: 2.0.3 + resolution: "is-set@npm:2.0.3" + checksum: 10c0/f73732e13f099b2dc879c2a12341cfc22ccaca8dd504e6edae26484bd5707a35d503fba5b4daad530a9b088ced1ae6c9d8200fd92e09b428fe14ea79ce8080b7 + languageName: node + linkType: hard + +"is-shared-array-buffer@npm:^1.0.4": + version: 1.0.4 + resolution: "is-shared-array-buffer@npm:1.0.4" + dependencies: + call-bound: "npm:^1.0.3" + checksum: 10c0/65158c2feb41ff1edd6bbd6fd8403a69861cf273ff36077982b5d4d68e1d59278c71691216a4a64632bd76d4792d4d1d2553901b6666d84ade13bba5ea7bc7db + languageName: node + linkType: hard + +"is-string@npm:^1.1.1": + version: 1.1.1 + resolution: "is-string@npm:1.1.1" + dependencies: + call-bound: "npm:^1.0.3" + has-tostringtag: "npm:^1.0.2" + checksum: 10c0/2f518b4e47886bb81567faba6ffd0d8a8333cf84336e2e78bf160693972e32ad00fe84b0926491cc598dee576fdc55642c92e62d0cbe96bf36f643b6f956f94d + languageName: node + linkType: hard + +"is-symbol@npm:^1.0.4, is-symbol@npm:^1.1.1": + version: 1.1.1 + resolution: "is-symbol@npm:1.1.1" + dependencies: + call-bound: "npm:^1.0.2" + has-symbols: "npm:^1.1.0" + safe-regex-test: "npm:^1.1.0" + checksum: 10c0/f08f3e255c12442e833f75a9e2b84b2d4882fdfd920513cf2a4a2324f0a5b076c8fd913778e3ea5d258d5183e9d92c0cd20e04b03ab3df05316b049b2670af1e + languageName: node + linkType: hard + +"is-typed-array@npm:^1.1.13, is-typed-array@npm:^1.1.14, is-typed-array@npm:^1.1.15": + version: 1.1.15 + resolution: "is-typed-array@npm:1.1.15" + dependencies: + which-typed-array: "npm:^1.1.16" + checksum: 10c0/415511da3669e36e002820584e264997ffe277ff136643a3126cc949197e6ca3334d0f12d084e83b1994af2e9c8141275c741cf2b7da5a2ff62dd0cac26f76c4 + languageName: node + linkType: hard + +"is-weakmap@npm:^2.0.2": + version: 2.0.2 + resolution: "is-weakmap@npm:2.0.2" + checksum: 10c0/443c35bb86d5e6cc5929cd9c75a4024bb0fff9586ed50b092f94e700b89c43a33b186b76dbc6d54f3d3d09ece689ab38dcdc1af6a482cbe79c0f2da0a17f1299 + languageName: node + linkType: hard + +"is-weakref@npm:^1.0.2, is-weakref@npm:^1.1.1": + version: 1.1.1 + resolution: "is-weakref@npm:1.1.1" + dependencies: + call-bound: "npm:^1.0.3" + checksum: 10c0/8e0a9c07b0c780949a100e2cab2b5560a48ecd4c61726923c1a9b77b6ab0aa0046c9e7fb2206042296817045376dee2c8ab1dabe08c7c3dfbf195b01275a085b + languageName: node + linkType: hard + +"is-weakset@npm:^2.0.3": + version: 2.0.4 + resolution: "is-weakset@npm:2.0.4" + dependencies: + call-bound: "npm:^1.0.3" + get-intrinsic: "npm:^1.2.6" + checksum: 10c0/6491eba08acb8dc9532da23cb226b7d0192ede0b88f16199e592e4769db0a077119c1f5d2283d1e0d16d739115f70046e887e477eb0e66cd90e1bb29f28ba647 + languageName: node + linkType: hard + +"isarray@npm:^2.0.5": + version: 2.0.5 + resolution: "isarray@npm:2.0.5" + checksum: 10c0/4199f14a7a13da2177c66c31080008b7124331956f47bca57dd0b6ea9f11687aa25e565a2c7a2b519bc86988d10398e3049a1f5df13c9f6b7664154690ae79fd + languageName: node + linkType: hard + +"isexe@npm:^2.0.0": + version: 2.0.0 + resolution: "isexe@npm:2.0.0" + checksum: 10c0/228cfa503fadc2c31596ab06ed6aa82c9976eec2bfd83397e7eaf06d0ccf42cd1dfd6743bf9aeb01aebd4156d009994c5f76ea898d2832c1fe342da923ca457d + languageName: node + linkType: hard + +"isexe@npm:^4.0.0": + version: 4.0.0 + resolution: "isexe@npm:4.0.0" + checksum: 10c0/5884815115bceac452877659a9c7726382531592f43dc29e5d48b7c4100661aed54018cb90bd36cb2eaeba521092570769167acbb95c18d39afdccbcca06c5ce + 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: 10c0/6c7ff2106769e5f592ded1fb418f9f73b4411fd5a084387a5410538332b6567cd1763ff6b6cadca9b9eb2c443cce2f7ea7d7f1b8d315f9ce58539793b1e0922b + languageName: node + linkType: hard + +"istanbul-lib-report@npm:^3.0.0, istanbul-lib-report@npm:^3.0.1": + version: 3.0.1 + resolution: "istanbul-lib-report@npm:3.0.1" + dependencies: + istanbul-lib-coverage: "npm:^3.0.0" + make-dir: "npm:^4.0.0" + supports-color: "npm:^7.1.0" + checksum: 10c0/84323afb14392de8b6a5714bd7e9af845cfbd56cfe71ed276cda2f5f1201aea673c7111901227ee33e68e4364e288d73861eb2ed48f6679d1e69a43b6d9b3ba7 + languageName: node + linkType: hard + +"istanbul-reports@npm:^3.2.0": + version: 3.2.0 + resolution: "istanbul-reports@npm:3.2.0" + dependencies: + html-escaper: "npm:^2.0.0" + istanbul-lib-report: "npm:^3.0.0" + checksum: 10c0/d596317cfd9c22e1394f22a8d8ba0303d2074fe2e971887b32d870e4b33f8464b10f8ccbe6847808f7db485f084eba09e6c2ed706b3a978e4b52f07085b8f9bc + languageName: node + linkType: hard + +"jiti@npm:^2.6.1": + version: 2.6.1 + resolution: "jiti@npm:2.6.1" + bin: + jiti: lib/jiti-cli.mjs + checksum: 10c0/79b2e96a8e623f66c1b703b98ec1b8be4500e1d217e09b09e343471bbb9c105381b83edbb979d01cef18318cc45ce6e153571b6c83122170eefa531c64b6789b + languageName: node + linkType: hard + +"js-tokens@npm:^10.0.0": + version: 10.0.0 + resolution: "js-tokens@npm:10.0.0" + checksum: 10c0/a93498747812ba3e0c8626f95f75ab29319f2a13613a0de9e610700405760931624433a0de59eb7c27ff8836e526768fb20783861b86ef89be96676f2c996b64 + languageName: node + linkType: hard + +"json-bigint@npm:^1.0.0": + version: 1.0.0 + resolution: "json-bigint@npm:1.0.0" + dependencies: + bignumber.js: "npm:^9.0.0" + checksum: 10c0/e3f34e43be3284b573ea150a3890c92f06d54d8ded72894556357946aeed9877fd795f62f37fe16509af189fd314ab1104d0fd0f163746ad231b9f378f5b33f4 + languageName: node + linkType: hard + +"json-buffer@npm:3.0.1": + version: 3.0.1 + resolution: "json-buffer@npm:3.0.1" + checksum: 10c0/0d1c91569d9588e7eef2b49b59851f297f3ab93c7b35c7c221e288099322be6b562767d11e4821da500f3219542b9afd2e54c5dc573107c1126ed1080f8e96d7 + languageName: node + linkType: hard + +"json-schema-traverse@npm:^0.4.1": + version: 0.4.1 + resolution: "json-schema-traverse@npm:0.4.1" + checksum: 10c0/108fa90d4cc6f08243aedc6da16c408daf81793bf903e9fd5ab21983cda433d5d2da49e40711da016289465ec2e62e0324dcdfbc06275a607fe3233fde4942ce + 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: 10c0/cb168b61fd4de83e58d09aaa6425ef71001bae30d260e2c57e7d09a5fd82223e2f22a042dedaab8db23b7d9ae46854b08bb1f91675a8be11c5cffebef5fb66a5 + 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: 10c0/9ee316bf21f000b00752e6c2a3b79ecf5324515a5c60ee88983a1910a45426b643a4f3461657586e8aeca87aaf96f0a519b0516d2ae527a6c3e7eed80f68717f + languageName: node + linkType: hard + +"jsonwebtoken@npm:^9.0.3": + version: 9.0.3 + resolution: "jsonwebtoken@npm:9.0.3" + dependencies: + jws: "npm:^4.0.1" + lodash.includes: "npm:^4.3.0" + lodash.isboolean: "npm:^3.0.3" + lodash.isinteger: "npm:^4.0.4" + lodash.isnumber: "npm:^3.0.3" + lodash.isplainobject: "npm:^4.0.6" + lodash.isstring: "npm:^4.0.1" + lodash.once: "npm:^4.0.0" + ms: "npm:^2.1.1" + semver: "npm:^7.5.4" + checksum: 10c0/6ca7f1e54886ea3bde7146a5a22b53847c46e25453c7f7307a69818b9a6ad48c390b2e59d5690fcfd03c529b01960060cc4bb0c686991d6edae2285dfd30f4ba + languageName: node + linkType: hard + +"jwa@npm:^2.0.1": + version: 2.0.1 + resolution: "jwa@npm:2.0.1" + dependencies: + buffer-equal-constant-time: "npm:^1.0.1" + ecdsa-sig-formatter: "npm:1.0.11" + safe-buffer: "npm:^5.0.1" + checksum: 10c0/ab3ebc6598e10dc11419d4ed675c9ca714a387481466b10e8a6f3f65d8d9c9237e2826f2505280a739cf4cbcf511cb288eeec22b5c9c63286fc5a2e4f97e78cf + languageName: node + linkType: hard + +"jws@npm:^4.0.0, jws@npm:^4.0.1": + version: 4.0.1 + resolution: "jws@npm:4.0.1" + dependencies: + jwa: "npm:^2.0.1" + safe-buffer: "npm:^5.0.1" + checksum: 10c0/6be1ed93023aef570ccc5ea8d162b065840f3ef12f0d1bb3114cade844de7a357d5dc558201d9a65101e70885a6fa56b17462f520e6b0d426195510618a154d0 + languageName: node + linkType: hard + +"keyv@npm:^4.5.4": + version: 4.5.4 + resolution: "keyv@npm:4.5.4" + dependencies: + json-buffer: "npm:3.0.1" + checksum: 10c0/aa52f3c5e18e16bb6324876bb8b59dd02acf782a4b789c7b2ae21107fab95fab3890ed448d4f8dba80ce05391eeac4bfabb4f02a20221342982f806fa2cf271e + languageName: node + linkType: hard + +"levn@npm:^0.4.1": + version: 0.4.1 + resolution: "levn@npm:0.4.1" + dependencies: + prelude-ls: "npm:^1.2.1" + type-check: "npm:~0.4.0" + checksum: 10c0/effb03cad7c89dfa5bd4f6989364bfc79994c2042ec5966cb9b95990e2edee5cd8969ddf42616a0373ac49fac1403437deaf6e9050fbbaa3546093a59b9ac94e + languageName: node + linkType: hard + +"lightningcss-android-arm64@npm:1.32.0": + version: 1.32.0 + resolution: "lightningcss-android-arm64@npm:1.32.0" + conditions: os=android & cpu=arm64 + languageName: node + linkType: hard + +"lightningcss-darwin-arm64@npm:1.32.0": + version: 1.32.0 + resolution: "lightningcss-darwin-arm64@npm:1.32.0" + conditions: os=darwin & cpu=arm64 + languageName: node + linkType: hard + +"lightningcss-darwin-x64@npm:1.32.0": + version: 1.32.0 + resolution: "lightningcss-darwin-x64@npm:1.32.0" + conditions: os=darwin & cpu=x64 + languageName: node + linkType: hard + +"lightningcss-freebsd-x64@npm:1.32.0": + version: 1.32.0 + resolution: "lightningcss-freebsd-x64@npm:1.32.0" + conditions: os=freebsd & cpu=x64 + languageName: node + linkType: hard + +"lightningcss-linux-arm-gnueabihf@npm:1.32.0": + version: 1.32.0 + resolution: "lightningcss-linux-arm-gnueabihf@npm:1.32.0" + conditions: os=linux & cpu=arm + languageName: node + linkType: hard + +"lightningcss-linux-arm64-gnu@npm:1.32.0": + version: 1.32.0 + resolution: "lightningcss-linux-arm64-gnu@npm:1.32.0" + conditions: os=linux & cpu=arm64 & libc=glibc + languageName: node + linkType: hard + +"lightningcss-linux-arm64-musl@npm:1.32.0": + version: 1.32.0 + resolution: "lightningcss-linux-arm64-musl@npm:1.32.0" + conditions: os=linux & cpu=arm64 & libc=musl + languageName: node + linkType: hard + +"lightningcss-linux-x64-gnu@npm:1.32.0": + version: 1.32.0 + resolution: "lightningcss-linux-x64-gnu@npm:1.32.0" + conditions: os=linux & cpu=x64 & libc=glibc + languageName: node + linkType: hard + +"lightningcss-linux-x64-musl@npm:1.32.0": + version: 1.32.0 + resolution: "lightningcss-linux-x64-musl@npm:1.32.0" + conditions: os=linux & cpu=x64 & libc=musl + languageName: node + linkType: hard + +"lightningcss-win32-arm64-msvc@npm:1.32.0": + version: 1.32.0 + resolution: "lightningcss-win32-arm64-msvc@npm:1.32.0" + conditions: os=win32 & cpu=arm64 + languageName: node + linkType: hard + +"lightningcss-win32-x64-msvc@npm:1.32.0": + version: 1.32.0 + resolution: "lightningcss-win32-x64-msvc@npm:1.32.0" + conditions: os=win32 & cpu=x64 + languageName: node + linkType: hard + +"lightningcss@npm:^1.32.0": + version: 1.32.0 + resolution: "lightningcss@npm:1.32.0" + dependencies: + detect-libc: "npm:^2.0.3" + lightningcss-android-arm64: "npm:1.32.0" + lightningcss-darwin-arm64: "npm:1.32.0" + lightningcss-darwin-x64: "npm:1.32.0" + lightningcss-freebsd-x64: "npm:1.32.0" + lightningcss-linux-arm-gnueabihf: "npm:1.32.0" + lightningcss-linux-arm64-gnu: "npm:1.32.0" + lightningcss-linux-arm64-musl: "npm:1.32.0" + lightningcss-linux-x64-gnu: "npm:1.32.0" + lightningcss-linux-x64-musl: "npm:1.32.0" + lightningcss-win32-arm64-msvc: "npm:1.32.0" + lightningcss-win32-x64-msvc: "npm:1.32.0" + dependenciesMeta: + lightningcss-android-arm64: + optional: true + lightningcss-darwin-arm64: + optional: true + lightningcss-darwin-x64: + optional: true + lightningcss-freebsd-x64: + optional: true + lightningcss-linux-arm-gnueabihf: + optional: true + lightningcss-linux-arm64-gnu: + optional: true + lightningcss-linux-arm64-musl: + optional: true + lightningcss-linux-x64-gnu: + optional: true + lightningcss-linux-x64-musl: + optional: true + lightningcss-win32-arm64-msvc: + optional: true + lightningcss-win32-x64-msvc: + optional: true + checksum: 10c0/70945bd55097af46fc9fab7f5ed09cd5869d85940a2acab7ee06d0117004a1d68155708a2d462531cea2fc3c67aefc9333a7068c80b0b78dd404c16838809e03 + languageName: node + linkType: hard + +"locate-path@npm:^6.0.0": + version: 6.0.0 + resolution: "locate-path@npm:6.0.0" + dependencies: + p-locate: "npm:^5.0.0" + checksum: 10c0/d3972ab70dfe58ce620e64265f90162d247e87159b6126b01314dd67be43d50e96a50b517bce2d9452a79409c7614054c277b5232377de50416564a77ac7aad3 + languageName: node + linkType: hard + +"lodash.includes@npm:^4.3.0": + version: 4.3.0 + resolution: "lodash.includes@npm:4.3.0" + checksum: 10c0/7ca498b9b75bf602d04e48c0adb842dfc7d90f77bcb2a91a2b2be34a723ad24bc1c8b3683ec6b2552a90f216c723cdea530ddb11a3320e08fa38265703978f4b + languageName: node + linkType: hard + +"lodash.isboolean@npm:^3.0.3": + version: 3.0.3 + resolution: "lodash.isboolean@npm:3.0.3" + checksum: 10c0/0aac604c1ef7e72f9a6b798e5b676606042401dd58e49f051df3cc1e3adb497b3d7695635a5cbec4ae5f66456b951fdabe7d6b387055f13267cde521f10ec7f7 + languageName: node + linkType: hard + +"lodash.isinteger@npm:^4.0.4": + version: 4.0.4 + resolution: "lodash.isinteger@npm:4.0.4" + checksum: 10c0/4c3e023a2373bf65bf366d3b8605b97ec830bca702a926939bcaa53f8e02789b6a176e7f166b082f9365bfec4121bfeb52e86e9040cb8d450e64c858583f61b7 + languageName: node + linkType: hard + +"lodash.isnumber@npm:^3.0.3": + version: 3.0.3 + resolution: "lodash.isnumber@npm:3.0.3" + checksum: 10c0/2d01530513a1ee4f72dd79528444db4e6360588adcb0e2ff663db2b3f642d4bb3d687051ae1115751ca9082db4fdef675160071226ca6bbf5f0c123dbf0aa12d + languageName: node + linkType: hard + +"lodash.isplainobject@npm:^4.0.6": + version: 4.0.6 + resolution: "lodash.isplainobject@npm:4.0.6" + checksum: 10c0/afd70b5c450d1e09f32a737bed06ff85b873ecd3d3d3400458725283e3f2e0bb6bf48e67dbe7a309eb371a822b16a26cca4a63c8c52db3fc7dc9d5f9dd324cbb + languageName: node + linkType: hard + +"lodash.isstring@npm:^4.0.1": + version: 4.0.1 + resolution: "lodash.isstring@npm:4.0.1" + checksum: 10c0/09eaf980a283f9eef58ef95b30ec7fee61df4d6bf4aba3b5f096869cc58f24c9da17900febc8ffd67819b4e29de29793190e88dc96983db92d84c95fa85d1c92 + languageName: node + linkType: hard + +"lodash.once@npm:^4.0.0": + version: 4.1.1 + resolution: "lodash.once@npm:4.1.1" + checksum: 10c0/46a9a0a66c45dd812fcc016e46605d85ad599fe87d71a02f6736220554b52ffbe82e79a483ad40f52a8a95755b0d1077fba259da8bfb6694a7abbf4a48f1fc04 + languageName: node + linkType: hard + +"magic-string@npm:^0.30.21": + version: 0.30.21 + resolution: "magic-string@npm:0.30.21" + dependencies: + "@jridgewell/sourcemap-codec": "npm:^1.5.5" + checksum: 10c0/299378e38f9a270069fc62358522ddfb44e94244baa0d6a8980ab2a9b2490a1d03b236b447eee309e17eb3bddfa482c61259d47960eb018a904f0ded52780c4a + languageName: node + linkType: hard + +"magicast@npm:^0.5.2": + version: 0.5.2 + resolution: "magicast@npm:0.5.2" + dependencies: + "@babel/parser": "npm:^7.29.0" + "@babel/types": "npm:^7.29.0" + source-map-js: "npm:^1.2.1" + checksum: 10c0/924af677643c5a0a7d6cdb3247c0eb96fa7611b2ba6a5e720d35d81c503d3d9f5948eb5227f80f90f82ea3e7d38cffd10bb988f3fc09020db428e14f26e960d7 + languageName: node + linkType: hard + +"make-dir@npm:^4.0.0": + version: 4.0.0 + resolution: "make-dir@npm:4.0.0" + dependencies: + semver: "npm:^7.5.3" + checksum: 10c0/69b98a6c0b8e5c4fe9acb61608a9fbcfca1756d910f51e5dbe7a9e5cfb74fca9b8a0c8a0ffdf1294a740826c1ab4871d5bf3f62f72a3049e5eac6541ddffed68 + languageName: node + linkType: hard + +"math-intrinsics@npm:^1.1.0": + version: 1.1.0 + resolution: "math-intrinsics@npm:1.1.0" + checksum: 10c0/7579ff94e899e2f76ab64491d76cf606274c874d8f2af4a442c016bd85688927fcfca157ba6bf74b08e9439dc010b248ce05b96cc7c126a354c3bae7fcb48b7f + languageName: node + linkType: hard + +"mime-db@npm:1.52.0": + version: 1.52.0 + resolution: "mime-db@npm:1.52.0" + checksum: 10c0/0557a01deebf45ac5f5777fe7740b2a5c309c6d62d40ceab4e23da9f821899ce7a900b7ac8157d4548ddbb7beffe9abc621250e6d182b0397ec7f10c7b91a5aa + languageName: node + linkType: hard + +"mime-types@npm:^2.1.12": + version: 2.1.35 + resolution: "mime-types@npm:2.1.35" + dependencies: + mime-db: "npm:1.52.0" + checksum: 10c0/82fb07ec56d8ff1fc999a84f2f217aa46cb6ed1033fefaabd5785b9a974ed225c90dc72fff460259e66b95b73648596dbcc50d51ed69cdf464af2d237d3149b2 + languageName: node + linkType: hard + +"minimatch@npm:^10.2.2, minimatch@npm:^10.2.4": + version: 10.2.5 + resolution: "minimatch@npm:10.2.5" + dependencies: + brace-expansion: "npm:^5.0.5" + checksum: 10c0/6bb058bd6324104b9ec2f763476a35386d05079c1f5fe4fbf1f324a25237cd4534d6813ecd71f48208f4e635c1221899bef94c3c89f7df55698fe373aaae20fd + languageName: node + linkType: hard + +"minimatch@npm:^3.1.2": + version: 3.1.5 + resolution: "minimatch@npm:3.1.5" + dependencies: + brace-expansion: "npm:^1.1.7" + checksum: 10c0/2ecbdc0d33f07bddb0315a8b5afbcb761307a8778b48f0b312418ccbced99f104a2d17d8aca7573433c70e8ccd1c56823a441897a45e384ea76ef401a26ace70 + 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: 10c0/19d3fcdca050087b84c2029841a093691a91259a47def2f18222f41e7645a0b7c44ef4b40e88a1e58a40c84d2ef0ee6047c55594d298146d0eb3f6b737c20ce6 + languageName: node + linkType: hard + +"minipass@npm:^7.0.4, minipass@npm:^7.1.2": + version: 7.1.3 + resolution: "minipass@npm:7.1.3" + checksum: 10c0/539da88daca16533211ea5a9ee98dc62ff5742f531f54640dd34429e621955e91cc280a91a776026264b7f9f6735947629f920944e9c1558369e8bf22eb33fbb + languageName: node + linkType: hard + +"minizlib@npm:^3.1.0": + version: 3.1.0 + resolution: "minizlib@npm:3.1.0" + dependencies: + minipass: "npm:^7.1.2" + checksum: 10c0/5aad75ab0090b8266069c9aabe582c021ae53eb33c6c691054a13a45db3b4f91a7fb1bd79151e6b4e9e9a86727b522527c0a06ec7d45206b745d54cd3097bcec + languageName: node + linkType: hard + +"ms@npm:^2.1.1, ms@npm:^2.1.3": + version: 2.1.3 + resolution: "ms@npm:2.1.3" + checksum: 10c0/d924b57e7312b3b63ad21fc5b3dc0af5e78d61a1fc7cfb5457edaf26326bf62be5307cc87ffb6862ef1c2b33b0233cdb5d4f01c4c958cc0d660948b65a287a48 + languageName: node + linkType: hard + +"nanoid@npm:^3.3.11": + version: 3.3.11 + resolution: "nanoid@npm:3.3.11" + bin: + nanoid: bin/nanoid.cjs + checksum: 10c0/40e7f70b3d15f725ca072dfc4f74e81fcf1fbb02e491cf58ac0c79093adc9b0a73b152bcde57df4b79cd097e13023d7504acb38404a4da7bc1cd8e887b82fe0b + languageName: node + linkType: hard + +"napi-postinstall@npm:^0.3.0": + version: 0.3.4 + resolution: "napi-postinstall@npm:0.3.4" + bin: + napi-postinstall: lib/cli.js + checksum: 10c0/b33d64150828bdade3a5d07368a8b30da22ee393f8dd8432f1b9e5486867be21c84ec443dd875dd3ef3c7401a079a7ab7e2aa9d3538a889abbcd96495d5104fe + languageName: node + linkType: hard + +"natural-compare@npm:^1.4.0": + version: 1.4.0 + resolution: "natural-compare@npm:1.4.0" + checksum: 10c0/f5f9a7974bfb28a91afafa254b197f0f22c684d4a1731763dda960d2c8e375b36c7d690e0d9dc8fba774c537af14a7e979129bca23d88d052fbeb9466955e447 + languageName: node + linkType: hard + +"node-domexception@npm:^1.0.0": + version: 1.0.0 + resolution: "node-domexception@npm:1.0.0" + checksum: 10c0/5e5d63cda29856402df9472335af4bb13875e1927ad3be861dc5ebde38917aecbf9ae337923777af52a48c426b70148815e890a5d72760f1b4d758cc671b1a2b + languageName: node + linkType: hard + +"node-exports-info@npm:^1.6.0": + version: 1.6.0 + resolution: "node-exports-info@npm:1.6.0" + dependencies: + array.prototype.flatmap: "npm:^1.3.3" + es-errors: "npm:^1.3.0" + object.entries: "npm:^1.1.9" + semver: "npm:^6.3.1" + checksum: 10c0/3613f21c60b047e66f168d3499a6be0060d89fb01ddceaa7032c2fb318aff12e4b9b111449c1a9aeb3b848bfdc1d4b6bc8fab327af692319597d21a1e7063692 + languageName: node + linkType: hard + +"node-fetch@npm:^3.3.2": + version: 3.3.2 + resolution: "node-fetch@npm:3.3.2" + dependencies: + data-uri-to-buffer: "npm:^4.0.0" + fetch-blob: "npm:^3.1.4" + formdata-polyfill: "npm:^4.0.10" + checksum: 10c0/f3d5e56190562221398c9f5750198b34cf6113aa304e34ee97c94fd300ec578b25b2c2906edba922050fce983338fde0d5d34fcb0fc3336ade5bd0e429ad7538 + languageName: node + linkType: hard + +"node-gyp@npm:latest": + version: 12.3.0 + resolution: "node-gyp@npm:12.3.0" + dependencies: + env-paths: "npm:^2.2.0" + exponential-backoff: "npm:^3.1.1" + graceful-fs: "npm:^4.2.6" + nopt: "npm:^9.0.0" + proc-log: "npm:^6.0.0" + semver: "npm:^7.3.5" + tar: "npm:^7.5.4" + tinyglobby: "npm:^0.2.12" + undici: "npm:^6.25.0" + which: "npm:^6.0.0" + bin: + node-gyp: bin/node-gyp.js + checksum: 10c0/9d9032b405cbe42f72a105259d9eb679376470c102df4a2dbaa51e07d59bf741dcffb85897087ea9d8318b9cabb824a8978af51508ae142f0239ae1e6a3c2329 + languageName: node + linkType: hard + +"nopt@npm:^9.0.0": + version: 9.0.0 + resolution: "nopt@npm:9.0.0" + dependencies: + abbrev: "npm:^4.0.0" + bin: + nopt: bin/nopt.js + checksum: 10c0/1822eb6f9b020ef6f7a7516d7b64a8036e09666ea55ac40416c36e4b2b343122c3cff0e2f085675f53de1d2db99a2a89a60ccea1d120bcd6a5347bf6ceb4a7fd + languageName: node + linkType: hard + +"object-inspect@npm:^1.13.3, object-inspect@npm:^1.13.4": + version: 1.13.4 + resolution: "object-inspect@npm:1.13.4" + checksum: 10c0/d7f8711e803b96ea3191c745d6f8056ce1f2496e530e6a19a0e92d89b0fa3c76d910c31f0aa270432db6bd3b2f85500a376a83aaba849a8d518c8845b3211692 + languageName: node + linkType: hard + +"object-keys@npm:^1.1.1": + version: 1.1.1 + resolution: "object-keys@npm:1.1.1" + checksum: 10c0/b11f7ccdbc6d406d1f186cdadb9d54738e347b2692a14439ca5ac70c225fa6db46db809711b78589866d47b25fc3e8dee0b4c722ac751e11180f9380e3d8601d + languageName: node + linkType: hard + +"object.assign@npm:^4.1.7": + version: 4.1.7 + resolution: "object.assign@npm:4.1.7" + dependencies: + call-bind: "npm:^1.0.8" + call-bound: "npm:^1.0.3" + define-properties: "npm:^1.2.1" + es-object-atoms: "npm:^1.0.0" + has-symbols: "npm:^1.1.0" + object-keys: "npm:^1.1.1" + checksum: 10c0/3b2732bd860567ea2579d1567525168de925a8d852638612846bd8082b3a1602b7b89b67b09913cbb5b9bd6e95923b2ae73580baa9d99cb4e990564e8cbf5ddc + languageName: node + linkType: hard + +"object.entries@npm:^1.1.9": + version: 1.1.9 + resolution: "object.entries@npm:1.1.9" + dependencies: + call-bind: "npm:^1.0.8" + call-bound: "npm:^1.0.4" + define-properties: "npm:^1.2.1" + es-object-atoms: "npm:^1.1.1" + checksum: 10c0/d4b8c1e586650407da03370845f029aa14076caca4e4d4afadbc69cfb5b78035fd3ee7be417141abdb0258fa142e59b11923b4c44d8b1255b28f5ffcc50da7db + 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: 10c0/cd4327e6c3369cfa805deb4cbbe919bfb7d3aeebf0bcaba291bb568ea7169f8f8cdbcabe2f00b40db0c20cd20f08e11b5f3a5a36fb7dd3fe04850c50db3bf83b + 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: 10c0/60d0455c85c736fbfeda0217d1a77525956f76f7b2495edeca9e9bbf8168a45783199e77b894d30638837c654d0cc410e0e02cbfcf445bc8de71c3da1ede6a9c + languageName: node + linkType: hard + +"object.values@npm:^1.2.1": + version: 1.2.1 + resolution: "object.values@npm:1.2.1" + dependencies: + call-bind: "npm:^1.0.8" + call-bound: "npm:^1.0.3" + define-properties: "npm:^1.2.1" + es-object-atoms: "npm:^1.0.0" + checksum: 10c0/3c47814fdc64842ae3d5a74bc9d06bdd8d21563c04d9939bf6716a9c00596a4ebc342552f8934013d1ec991c74e3671b26710a0c51815f0b603795605ab6b2c9 + languageName: node + linkType: hard + +"obug@npm:^2.1.1": + version: 2.1.1 + resolution: "obug@npm:2.1.1" + checksum: 10c0/59dccd7de72a047e08f8649e94c1015ec72f94eefb6ddb57fb4812c4b425a813bc7e7cd30c9aca20db3c59abc3c85cc7a62bb656a968741d770f4e8e02bc2e78 + languageName: node + linkType: hard + +"optionator@npm:^0.9.3": + version: 0.9.4 + resolution: "optionator@npm:0.9.4" + dependencies: + deep-is: "npm:^0.1.3" + fast-levenshtein: "npm:^2.0.6" + levn: "npm:^0.4.1" + prelude-ls: "npm:^1.2.1" + type-check: "npm:^0.4.0" + word-wrap: "npm:^1.2.5" + checksum: 10c0/4afb687a059ee65b61df74dfe87d8d6815cd6883cb8b3d5883a910df72d0f5d029821f37025e4bccf4048873dbdb09acc6d303d27b8f76b1a80dd5a7d5334675 + languageName: node + linkType: hard + +"own-keys@npm:^1.0.1": + version: 1.0.1 + resolution: "own-keys@npm:1.0.1" + dependencies: + get-intrinsic: "npm:^1.2.6" + object-keys: "npm:^1.1.1" + safe-push-apply: "npm:^1.0.0" + checksum: 10c0/6dfeb3455bff92ec3f16a982d4e3e65676345f6902d9f5ded1d8265a6318d0200ce461956d6d1c70053c7fe9f9fe65e552faac03f8140d37ef0fdd108e67013a + 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: 10c0/9db675949dbdc9c3763c89e748d0ef8bdad0afbb24d49ceaf4c46c02c77d30db4e0652ed36d0a0a7a95154335fab810d95c86153105bb73b3a90448e2bb14e1a + 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: 10c0/2290d627ab7903b8b70d11d384fee714b797f6040d9278932754a6860845c4d3190603a0772a663c8cb5a7b21d1b16acb3a6487ebcafa9773094edc3dfe6009a + languageName: node + linkType: hard + +"path-exists@npm:^4.0.0": + version: 4.0.0 + resolution: "path-exists@npm:4.0.0" + checksum: 10c0/8c0bd3f5238188197dc78dced15207a4716c51cc4e3624c44fc97acf69558f5ebb9a2afff486fe1b4ee148e0c133e96c5e11a9aa5c48a3006e3467da070e5e1b + languageName: node + linkType: hard + +"path-key@npm:^3.1.0": + version: 3.1.1 + resolution: "path-key@npm:3.1.1" + checksum: 10c0/748c43efd5a569c039d7a00a03b58eecd1d75f3999f5a28303d75f521288df4823bc057d8784eb72358b2895a05f29a070bc9f1f17d28226cc4e62494cc58c4c + languageName: node + linkType: hard + +"path-parse@npm:^1.0.7": + version: 1.0.7 + resolution: "path-parse@npm:1.0.7" + checksum: 10c0/11ce261f9d294cc7a58d6a574b7f1b935842355ec66fba3c3fd79e0f036462eaf07d0aa95bb74ff432f9afef97ce1926c720988c6a7451d8a584930ae7de86e1 + languageName: node + linkType: hard + +"pathe@npm:^2.0.3": + version: 2.0.3 + resolution: "pathe@npm:2.0.3" + checksum: 10c0/c118dc5a8b5c4166011b2b70608762e260085180bb9e33e80a50dcdb1e78c010b1624f4280c492c92b05fc276715a4c357d1f9edc570f8f1b3d90b6839ebaca1 + languageName: node + linkType: hard + +"picocolors@npm:^1.1.1": + version: 1.1.1 + resolution: "picocolors@npm:1.1.1" + checksum: 10c0/e2e3e8170ab9d7c7421969adaa7e1b31434f789afb9b3f115f6b96d91945041ac3ceb02e9ec6fe6510ff036bcc0bf91e69a1772edc0b707e12b19c0f2d6bcf58 + languageName: node + linkType: hard + +"picomatch@npm:^4.0.3, picomatch@npm:^4.0.4": + version: 4.0.4 + resolution: "picomatch@npm:4.0.4" + checksum: 10c0/e2c6023372cc7b5764719a5ffb9da0f8e781212fa7ca4bd0562db929df8e117460f00dff3cb7509dacfc06b86de924b247f504d0ce1806a37fac4633081466b0 + languageName: node + linkType: hard + +"possible-typed-array-names@npm:^1.0.0": + version: 1.1.0 + resolution: "possible-typed-array-names@npm:1.1.0" + checksum: 10c0/c810983414142071da1d644662ce4caebce890203eb2bc7bf119f37f3fe5796226e117e6cca146b521921fa6531072674174a3325066ac66fce089a53e1e5196 + languageName: node + linkType: hard + +"postcss@npm:^8.5.10": + version: 8.5.12 + resolution: "postcss@npm:8.5.12" + dependencies: + nanoid: "npm:^3.3.11" + picocolors: "npm:^1.1.1" + source-map-js: "npm:^1.2.1" + checksum: 10c0/5baebaf574c567bc1b3d61197f38af4ce5920b8f611c887fb6bc3dcc14af00253c169dbf19897bc889cce0b0d9818ab5eb4ea0caedf02b0bab10da8a43ce8c12 + languageName: node + linkType: hard + +"prelude-ls@npm:^1.2.1": + version: 1.2.1 + resolution: "prelude-ls@npm:1.2.1" + checksum: 10c0/b00d617431e7886c520a6f498a2e14c75ec58f6d93ba48c3b639cf241b54232d90daa05d83a9e9b9fef6baa63cb7e1e4602c2372fea5bc169668401eb127d0cd + languageName: node + linkType: hard + +"prettier-linter-helpers@npm:^1.0.1": + version: 1.0.1 + resolution: "prettier-linter-helpers@npm:1.0.1" + dependencies: + fast-diff: "npm:^1.1.2" + checksum: 10c0/91cea965681bc5f62c9d26bd3ca6358b81557261d4802e96ec1cf0acbd99d4b61632d53320cd2c3ec7d7f7805a81345644108a41ef46ddc9688e783a9ac792d1 + languageName: node + linkType: hard + +"prettier@npm:^3.8.3": + version: 3.8.3 + resolution: "prettier@npm:3.8.3" + bin: + prettier: bin/prettier.cjs + checksum: 10c0/754816fd7593eb80f6376d7476d463e832c38a12f32775a82683adb6e35b772b1f484d65f19401507b983a8c8a7cd5a4a9f12006bd56491e8f35503473f77473 + languageName: node + linkType: hard + +"proc-log@npm:^6.0.0": + version: 6.1.0 + resolution: "proc-log@npm:6.1.0" + checksum: 10c0/4f178d4062733ead9d71a9b1ab24ebcecdfe2250916a5b1555f04fe2eda972a0ec76fbaa8df1ad9c02707add6749219d118a4fc46dc56bdfe4dde4b47d80bb82 + languageName: node + linkType: hard + +"proxy-from-env@npm:^2.1.0": + version: 2.1.0 + resolution: "proxy-from-env@npm:2.1.0" + checksum: 10c0/ed01729fd4d094eab619cd7e17ce3698b3413b31eb102c4904f9875e677cd207392795d5b4adee9cec359dfd31c44d5ad7595a3a3ad51c40250e141512281c58 + languageName: node + linkType: hard + +"punycode@npm:^2.1.0": + version: 2.3.1 + resolution: "punycode@npm:2.3.1" + checksum: 10c0/14f76a8206bc3464f794fb2e3d3cc665ae416c01893ad7a02b23766eb07159144ee612ad67af5e84fa4479ccfe67678c4feb126b0485651b302babf66f04f9e9 + languageName: node + linkType: hard + +"reflect.getprototypeof@npm:^1.0.6, reflect.getprototypeof@npm:^1.0.9": + version: 1.0.10 + resolution: "reflect.getprototypeof@npm:1.0.10" + dependencies: + call-bind: "npm:^1.0.8" + define-properties: "npm:^1.2.1" + es-abstract: "npm:^1.23.9" + es-errors: "npm:^1.3.0" + es-object-atoms: "npm:^1.0.0" + get-intrinsic: "npm:^1.2.7" + get-proto: "npm:^1.0.1" + which-builtin-type: "npm:^1.2.1" + checksum: 10c0/7facec28c8008876f8ab98e80b7b9cb4b1e9224353fd4756dda5f2a4ab0d30fa0a5074777c6df24e1e0af463a2697513b0a11e548d99cf52f21f7bc6ba48d3ac + languageName: node + linkType: hard + +"regexp.prototype.flags@npm:^1.5.4": + version: 1.5.4 + resolution: "regexp.prototype.flags@npm:1.5.4" + dependencies: + call-bind: "npm:^1.0.8" + define-properties: "npm:^1.2.1" + es-errors: "npm:^1.3.0" + get-proto: "npm:^1.0.1" + gopd: "npm:^1.2.0" + set-function-name: "npm:^2.0.2" + checksum: 10c0/83b88e6115b4af1c537f8dabf5c3744032cb875d63bc05c288b1b8c0ef37cbe55353f95d8ca817e8843806e3e150b118bc624e4279b24b4776b4198232735a77 + languageName: node + linkType: hard + +"resolve-pkg-maps@npm:^1.0.0": + version: 1.0.0 + resolution: "resolve-pkg-maps@npm:1.0.0" + checksum: 10c0/fb8f7bbe2ca281a73b7ef423a1cbc786fb244bd7a95cbe5c3fba25b27d327150beca8ba02f622baea65919a57e061eb5005204daa5f93ed590d9b77463a567ab + languageName: node + linkType: hard + +"resolve@npm:^2.0.0-next.6": + version: 2.0.0-next.6 + resolution: "resolve@npm:2.0.0-next.6" + dependencies: + es-errors: "npm:^1.3.0" + is-core-module: "npm:^2.16.1" + node-exports-info: "npm:^1.6.0" + object-keys: "npm:^1.1.1" + path-parse: "npm:^1.0.7" + supports-preserve-symlinks-flag: "npm:^1.0.0" + bin: + resolve: bin/resolve + checksum: 10c0/4e44cb84aa9a3c7c82d4a98e8111879671150496160a53ca6cdbed6101bf239f19105f8b8b84e40c0b76d46b0d9626813510b19a80e01f4ae18692e9d0b47749 + languageName: node + linkType: hard + +"resolve@patch:resolve@npm%3A^2.0.0-next.6#optional!builtin": + version: 2.0.0-next.6 + resolution: "resolve@patch:resolve@npm%3A2.0.0-next.6#optional!builtin::version=2.0.0-next.6&hash=c3c19d" + dependencies: + es-errors: "npm:^1.3.0" + is-core-module: "npm:^2.16.1" + node-exports-info: "npm:^1.6.0" + object-keys: "npm:^1.1.1" + path-parse: "npm:^1.0.7" + supports-preserve-symlinks-flag: "npm:^1.0.0" + bin: + resolve: bin/resolve + checksum: 10c0/dca533e38820b0d8d636f269824cef3b7435802ab7401211c6f10af03be0e2f7e216047234e1623046c0a6791577079767e0c04f0d36e42c7f567b1bff7b0742 + languageName: node + linkType: hard + +"rolldown@npm:1.0.0-rc.17": + version: 1.0.0-rc.17 + resolution: "rolldown@npm:1.0.0-rc.17" + dependencies: + "@oxc-project/types": "npm:=0.127.0" + "@rolldown/binding-android-arm64": "npm:1.0.0-rc.17" + "@rolldown/binding-darwin-arm64": "npm:1.0.0-rc.17" + "@rolldown/binding-darwin-x64": "npm:1.0.0-rc.17" + "@rolldown/binding-freebsd-x64": "npm:1.0.0-rc.17" + "@rolldown/binding-linux-arm-gnueabihf": "npm:1.0.0-rc.17" + "@rolldown/binding-linux-arm64-gnu": "npm:1.0.0-rc.17" + "@rolldown/binding-linux-arm64-musl": "npm:1.0.0-rc.17" + "@rolldown/binding-linux-ppc64-gnu": "npm:1.0.0-rc.17" + "@rolldown/binding-linux-s390x-gnu": "npm:1.0.0-rc.17" + "@rolldown/binding-linux-x64-gnu": "npm:1.0.0-rc.17" + "@rolldown/binding-linux-x64-musl": "npm:1.0.0-rc.17" + "@rolldown/binding-openharmony-arm64": "npm:1.0.0-rc.17" + "@rolldown/binding-wasm32-wasi": "npm:1.0.0-rc.17" + "@rolldown/binding-win32-arm64-msvc": "npm:1.0.0-rc.17" + "@rolldown/binding-win32-x64-msvc": "npm:1.0.0-rc.17" + "@rolldown/pluginutils": "npm:1.0.0-rc.17" + dependenciesMeta: + "@rolldown/binding-android-arm64": + optional: true + "@rolldown/binding-darwin-arm64": + optional: true + "@rolldown/binding-darwin-x64": + optional: true + "@rolldown/binding-freebsd-x64": + optional: true + "@rolldown/binding-linux-arm-gnueabihf": + optional: true + "@rolldown/binding-linux-arm64-gnu": + optional: true + "@rolldown/binding-linux-arm64-musl": + optional: true + "@rolldown/binding-linux-ppc64-gnu": + optional: true + "@rolldown/binding-linux-s390x-gnu": + optional: true + "@rolldown/binding-linux-x64-gnu": + optional: true + "@rolldown/binding-linux-x64-musl": + optional: true + "@rolldown/binding-openharmony-arm64": + optional: true + "@rolldown/binding-wasm32-wasi": + optional: true + "@rolldown/binding-win32-arm64-msvc": + optional: true + "@rolldown/binding-win32-x64-msvc": + optional: true + bin: + rolldown: bin/cli.mjs + checksum: 10c0/bb99abc62ece4e34edd06d2b8eb9ffb7194dc2f0465a4329bb106cbde3006a10f1575e3580b198b793341109a2109581aed623c537c12b0c3a4ba0d72169b2fb + languageName: node + linkType: hard + +"safe-array-concat@npm:^1.1.3": + version: 1.1.4 + resolution: "safe-array-concat@npm:1.1.4" + dependencies: + call-bind: "npm:^1.0.9" + call-bound: "npm:^1.0.4" + get-intrinsic: "npm:^1.3.0" + has-symbols: "npm:^1.1.0" + isarray: "npm:^2.0.5" + checksum: 10c0/95fb4904ab1d9360a666fe5ba6d88f1c4a3a39682739e4512cff809fc6b5722a94bd95189211015bfb45859a7ffbc3340ea303ae22721c91c59e8946d310975a + languageName: node + linkType: hard + +"safe-buffer@npm:^5.0.1": + version: 5.2.1 + resolution: "safe-buffer@npm:5.2.1" + checksum: 10c0/6501914237c0a86e9675d4e51d89ca3c21ffd6a31642efeba25ad65720bce6921c9e7e974e5be91a786b25aa058b5303285d3c15dbabf983a919f5f630d349f3 + languageName: node + linkType: hard + +"safe-push-apply@npm:^1.0.0": + version: 1.0.0 + resolution: "safe-push-apply@npm:1.0.0" + dependencies: + es-errors: "npm:^1.3.0" + isarray: "npm:^2.0.5" + checksum: 10c0/831f1c9aae7436429e7862c7e46f847dfe490afac20d0ee61bae06108dbf5c745a0de3568ada30ccdd3eeb0864ca8331b2eef703abd69bfea0745b21fd320750 + languageName: node + linkType: hard + +"safe-regex-test@npm:^1.1.0": + version: 1.1.0 + resolution: "safe-regex-test@npm:1.1.0" + dependencies: + call-bound: "npm:^1.0.2" + es-errors: "npm:^1.3.0" + is-regex: "npm:^1.2.1" + checksum: 10c0/f2c25281bbe5d39cddbbce7f86fca5ea9b3ce3354ea6cd7c81c31b006a5a9fff4286acc5450a3b9122c56c33eba69c56b9131ad751457b2b4a585825e6a10665 + languageName: node + linkType: hard + +"semver@npm:^6.3.1": + version: 6.3.1 + resolution: "semver@npm:6.3.1" + bin: + semver: bin/semver.js + checksum: 10c0/e3d79b609071caa78bcb6ce2ad81c7966a46a7431d9d58b8800cfa9cb6a63699b3899a0e4bcce36167a284578212d9ae6942b6929ba4aa5015c079a67751d42d + languageName: node + linkType: hard + +"semver@npm:^7.3.5, semver@npm:^7.5.3, semver@npm:^7.5.4, semver@npm:^7.7.1, semver@npm:^7.7.3": + version: 7.7.4 + resolution: "semver@npm:7.7.4" + bin: + semver: bin/semver.js + checksum: 10c0/5215ad0234e2845d4ea5bb9d836d42b03499546ddafb12075566899fc617f68794bb6f146076b6881d755de17d6c6cc73372555879ec7dce2c2feee947866ad2 + languageName: node + linkType: hard + +"set-function-length@npm:^1.2.2": + version: 1.2.2 + resolution: "set-function-length@npm:1.2.2" + dependencies: + 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: 10c0/82850e62f412a258b71e123d4ed3873fa9377c216809551192bb6769329340176f109c2eeae8c22a8d386c76739855f78e8716515c818bcaef384b51110f0f3c + languageName: node + linkType: hard + +"set-function-name@npm:^2.0.2": + 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: 10c0/fce59f90696c450a8523e754abb305e2b8c73586452619c2bad5f7bf38c7b6b4651895c9db895679c5bef9554339cf3ef1c329b66ece3eda7255785fbe299316 + languageName: node + linkType: hard + +"set-proto@npm:^1.0.0": + version: 1.0.0 + resolution: "set-proto@npm:1.0.0" + dependencies: + dunder-proto: "npm:^1.0.1" + es-errors: "npm:^1.3.0" + es-object-atoms: "npm:^1.0.0" + checksum: 10c0/ca5c3ccbba479d07c30460e367e66337cec825560b11e8ba9c5ebe13a2a0d6021ae34eddf94ff3dfe17a3104dc1f191519cb6c48378b503e5c3f36393938776a + languageName: node + linkType: hard + +"shebang-command@npm:^2.0.0": + version: 2.0.0 + resolution: "shebang-command@npm:2.0.0" + dependencies: + shebang-regex: "npm:^3.0.0" + checksum: 10c0/a41692e7d89a553ef21d324a5cceb5f686d1f3c040759c50aab69688634688c5c327f26f3ecf7001ebfd78c01f3c7c0a11a7c8bfd0a8bc9f6240d4f40b224e4e + languageName: node + linkType: hard + +"shebang-regex@npm:^3.0.0": + version: 3.0.0 + resolution: "shebang-regex@npm:3.0.0" + checksum: 10c0/1dbed0726dd0e1152a92696c76c7f06084eb32a90f0528d11acd764043aacf76994b2fb30aa1291a21bd019d6699164d048286309a278855ee7bec06cf6fb690 + languageName: node + linkType: hard + +"side-channel-list@npm:^1.0.0": + version: 1.0.1 + resolution: "side-channel-list@npm:1.0.1" + dependencies: + es-errors: "npm:^1.3.0" + object-inspect: "npm:^1.13.4" + checksum: 10c0/d346c787fd2f9f1c2fdea14f00e8250118db0e7596d85a6cb9faa75f105d31a73a8f7a341c93d7df2a2429098c3d37a77bd3be9e88c37094b8c01807bc77c7a2 + languageName: node + linkType: hard + +"side-channel-map@npm:^1.0.1": + version: 1.0.1 + resolution: "side-channel-map@npm:1.0.1" + dependencies: + call-bound: "npm:^1.0.2" + es-errors: "npm:^1.3.0" + get-intrinsic: "npm:^1.2.5" + object-inspect: "npm:^1.13.3" + checksum: 10c0/010584e6444dd8a20b85bc926d934424bd809e1a3af941cace229f7fdcb751aada0fb7164f60c2e22292b7fa3c0ff0bce237081fd4cdbc80de1dc68e95430672 + languageName: node + linkType: hard + +"side-channel-weakmap@npm:^1.0.2": + version: 1.0.2 + resolution: "side-channel-weakmap@npm:1.0.2" + dependencies: + call-bound: "npm:^1.0.2" + es-errors: "npm:^1.3.0" + get-intrinsic: "npm:^1.2.5" + object-inspect: "npm:^1.13.3" + side-channel-map: "npm:^1.0.1" + checksum: 10c0/71362709ac233e08807ccd980101c3e2d7efe849edc51455030327b059f6c4d292c237f94dc0685031dd11c07dd17a68afde235d6cf2102d949567f98ab58185 + languageName: node + linkType: hard + +"side-channel@npm:^1.1.0": + version: 1.1.0 + resolution: "side-channel@npm:1.1.0" + dependencies: + es-errors: "npm:^1.3.0" + object-inspect: "npm:^1.13.3" + side-channel-list: "npm:^1.0.0" + side-channel-map: "npm:^1.0.1" + side-channel-weakmap: "npm:^1.0.2" + checksum: 10c0/cb20dad41eb032e6c24c0982e1e5a24963a28aa6122b4f05b3f3d6bf8ae7fd5474ef382c8f54a6a3ab86e0cac4d41a23bd64ede3970e5bfb50326ba02a7996e6 + languageName: node + linkType: hard + +"siginfo@npm:^2.0.0": + version: 2.0.0 + resolution: "siginfo@npm:2.0.0" + checksum: 10c0/3def8f8e516fbb34cb6ae415b07ccc5d9c018d85b4b8611e3dc6f8be6d1899f693a4382913c9ed51a06babb5201639d76453ab297d1c54a456544acf5c892e34 + languageName: node + linkType: hard + +"source-map-js@npm:^1.2.1": + version: 1.2.1 + resolution: "source-map-js@npm:1.2.1" + checksum: 10c0/7bda1fc4c197e3c6ff17de1b8b2c20e60af81b63a52cb32ec5a5d67a20a7d42651e2cb34ebe93833c5a2a084377e17455854fee3e21e7925c64a51b6a52b0faf + languageName: node + linkType: hard + +"stable-hash-x@npm:^0.2.0": + version: 0.2.0 + resolution: "stable-hash-x@npm:0.2.0" + checksum: 10c0/c757df58366ee4bb266a9486b8932eab7c1ba730469eaf4b68d2dee404814e9f84089c44c9b5205f8c7d99a0ab036cce2af69139ce5ed44b635923c011a8aea8 + languageName: node + linkType: hard + +"stackback@npm:0.0.2": + version: 0.0.2 + resolution: "stackback@npm:0.0.2" + checksum: 10c0/89a1416668f950236dd5ac9f9a6b2588e1b9b62b1b6ad8dff1bfc5d1a15dbf0aafc9b52d2226d00c28dffff212da464eaeebfc6b7578b9d180cef3e3782c5983 + languageName: node + linkType: hard + +"std-env@npm:^4.0.0-rc.1": + version: 4.1.0 + resolution: "std-env@npm:4.1.0" + checksum: 10c0/2e14b6b490db34cb969a48d9cf7c35bca4a47653914aac2814221baae7b867a5b15940d133625c391621971f98cd2266a5dc7036669960e883f1081db2a56558 + languageName: node + linkType: hard + +"stop-iteration-iterator@npm:^1.1.0": + version: 1.1.0 + resolution: "stop-iteration-iterator@npm:1.1.0" + dependencies: + es-errors: "npm:^1.3.0" + internal-slot: "npm:^1.1.0" + checksum: 10c0/de4e45706bb4c0354a4b1122a2b8cc45a639e86206807ce0baf390ee9218d3ef181923fa4d2b67443367c491aa255c5fbaa64bb74648e3c5b48299928af86c09 + languageName: node + linkType: hard + +"string.prototype.trim@npm:^1.2.10": + version: 1.2.10 + resolution: "string.prototype.trim@npm:1.2.10" + dependencies: + call-bind: "npm:^1.0.8" + call-bound: "npm:^1.0.2" + define-data-property: "npm:^1.1.4" + define-properties: "npm:^1.2.1" + es-abstract: "npm:^1.23.5" + es-object-atoms: "npm:^1.0.0" + has-property-descriptors: "npm:^1.0.2" + checksum: 10c0/8a8854241c4b54a948e992eb7dd6b8b3a97185112deb0037a134f5ba57541d8248dd610c966311887b6c2fd1181a3877bffb14d873ce937a344535dabcc648f8 + languageName: node + linkType: hard + +"string.prototype.trimend@npm:^1.0.9": + version: 1.0.9 + resolution: "string.prototype.trimend@npm:1.0.9" + dependencies: + call-bind: "npm:^1.0.8" + call-bound: "npm:^1.0.2" + define-properties: "npm:^1.2.1" + es-object-atoms: "npm:^1.0.0" + checksum: 10c0/59e1a70bf9414cb4c536a6e31bef5553c8ceb0cf44d8b4d0ed65c9653358d1c64dd0ec203b100df83d0413bbcde38b8c5d49e14bc4b86737d74adc593a0d35b6 + languageName: node + linkType: hard + +"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: 10c0/d53af1899959e53c83b64a5fd120be93e067da740e7e75acb433849aa640782fb6c7d4cd5b84c954c84413745a3764df135a8afeb22908b86a835290788d8366 + languageName: node + linkType: hard + +"strip-bom@npm:^3.0.0": + version: 3.0.0 + resolution: "strip-bom@npm:3.0.0" + checksum: 10c0/51201f50e021ef16672593d7434ca239441b7b760e905d9f33df6e4f3954ff54ec0e0a06f100d028af0982d6f25c35cd5cda2ce34eaebccd0250b8befb90d8f1 + languageName: node + linkType: hard + +"supports-color@npm:^7.1.0": + version: 7.2.0 + resolution: "supports-color@npm:7.2.0" + dependencies: + has-flag: "npm:^4.0.0" + checksum: 10c0/afb4c88521b8b136b5f5f95160c98dee7243dc79d5432db7efc27efb219385bbc7d9427398e43dd6cc730a0f87d5085ce1652af7efbe391327bc0a7d0f7fc124 + 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: 10c0/6c4032340701a9950865f7ae8ef38578d8d7053f5e10518076e6554a9381fa91bd9c6850193695c141f32b21f979c985db07265a758867bac95de05f7d8aeb39 + languageName: node + linkType: hard + +"synckit@npm:^0.11.12": + version: 0.11.12 + resolution: "synckit@npm:0.11.12" + dependencies: + "@pkgr/core": "npm:^0.2.9" + checksum: 10c0/cc4d446806688ae0d728ae7bb3f53176d065cf9536647fb85bdd721dcefbd7bf94874df6799ff61580f2b03a392659219b778a9254ad499f9a1f56c34787c235 + languageName: node + linkType: hard + +"tar@npm:^7.5.4": + version: 7.5.13 + resolution: "tar@npm:7.5.13" + dependencies: + "@isaacs/fs-minipass": "npm:^4.0.0" + chownr: "npm:^3.0.0" + minipass: "npm:^7.1.2" + minizlib: "npm:^3.1.0" + yallist: "npm:^5.0.0" + checksum: 10c0/5c65b8084799bde7a791593a1c1a45d3d6ee98182e3700b24c247b7b8f8654df4191642abbdb07ff25043d45dcff35620827c3997b88ae6c12040f64bed5076b + languageName: node + linkType: hard + +"tinybench@npm:^2.9.0": + version: 2.9.0 + resolution: "tinybench@npm:2.9.0" + checksum: 10c0/c3500b0f60d2eb8db65250afe750b66d51623057ee88720b7f064894a6cb7eb93360ca824a60a31ab16dab30c7b1f06efe0795b352e37914a9d4bad86386a20c + languageName: node + linkType: hard + +"tinyexec@npm:^1.0.2": + version: 1.1.1 + resolution: "tinyexec@npm:1.1.1" + checksum: 10c0/48433cb32573a767e2b63bb92343cbbae4240d05a19a63f7869f9447491305e7bd82d11daccb79b2628b596ad703a25798226c50bfd1d8e63477fb42af6a5b35 + languageName: node + linkType: hard + +"tinyglobby@npm:^0.2.12, tinyglobby@npm:^0.2.14, tinyglobby@npm:^0.2.15, tinyglobby@npm:^0.2.16": + version: 0.2.16 + resolution: "tinyglobby@npm:0.2.16" + dependencies: + fdir: "npm:^6.5.0" + picomatch: "npm:^4.0.4" + checksum: 10c0/f2e09fd93dd95c41e522113b686ff6f7c13020962f8698a864a257f3d7737599afc47722b7ab726e12f8a813f779906187911ff8ee6701ede65072671a7e934b + languageName: node + linkType: hard + +"tinyrainbow@npm:^3.1.0": + version: 3.1.0 + resolution: "tinyrainbow@npm:3.1.0" + checksum: 10c0/f11cf387a26c5c9255bec141a90ac511b26172981b10c3e50053bc6700ea7d2336edcc4a3a21dbb8412fe7c013477d2ba4d7e4877800f3f8107be5105aad6511 + languageName: node + linkType: hard + +"ts-api-utils@npm:^2.5.0": + version: 2.5.0 + resolution: "ts-api-utils@npm:2.5.0" + peerDependencies: + typescript: ">=4.8.4" + checksum: 10c0/767849383c114e7f1971fa976b20e73ac28fd0c70d8d65c0004790bf4d8f89888c7e4cf6d5949f9c1beae9bc3c64835bef77bbe27fddf45a3c7b60cebcf85c8c + languageName: node + linkType: hard + +"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: 10c0/5b4f301a2b7a3766a986baf8fc0e177eb80bdba6e396792ff92dc23b5bca8bb279fc96517dcaaef63a3b49bebc6c4c833653ec58155780bc906bdbcf7dda0ef5 + languageName: node + linkType: hard + +"tslib@npm:^2.4.0": + version: 2.8.1 + resolution: "tslib@npm:2.8.1" + checksum: 10c0/9c4759110a19c53f992d9aae23aac5ced636e99887b51b9e61def52611732872ff7668757d4e4c61f19691e36f4da981cd9485e869b4a7408d689f6bf1f14e62 + 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: 10c0/7b3fd0ed43891e2080bf0c5c504b418fbb3e5c7b9708d3d015037ba2e6323a28152ec163bcb65212741fa5d2022e3075ac3c76440dbd344c9035f818e8ecee58 + languageName: node + linkType: hard + +"typed-array-buffer@npm:^1.0.3": + version: 1.0.3 + resolution: "typed-array-buffer@npm:1.0.3" + dependencies: + call-bound: "npm:^1.0.3" + es-errors: "npm:^1.3.0" + is-typed-array: "npm:^1.1.14" + checksum: 10c0/1105071756eb248774bc71646bfe45b682efcad93b55532c6ffa4518969fb6241354e4aa62af679ae83899ec296d69ef88f1f3763657cdb3a4d29321f7b83079 + languageName: node + linkType: hard + +"typed-array-byte-length@npm:^1.0.3": + version: 1.0.3 + resolution: "typed-array-byte-length@npm:1.0.3" + dependencies: + call-bind: "npm:^1.0.8" + for-each: "npm:^0.3.3" + gopd: "npm:^1.2.0" + has-proto: "npm:^1.2.0" + is-typed-array: "npm:^1.1.14" + checksum: 10c0/6ae083c6f0354f1fce18b90b243343b9982affd8d839c57bbd2c174a5d5dc71be9eb7019ffd12628a96a4815e7afa85d718d6f1e758615151d5f35df841ffb3e + languageName: node + linkType: hard + +"typed-array-byte-offset@npm:^1.0.4": + version: 1.0.4 + resolution: "typed-array-byte-offset@npm:1.0.4" + dependencies: + available-typed-arrays: "npm:^1.0.7" + call-bind: "npm:^1.0.8" + for-each: "npm:^0.3.3" + gopd: "npm:^1.2.0" + has-proto: "npm:^1.2.0" + is-typed-array: "npm:^1.1.15" + reflect.getprototypeof: "npm:^1.0.9" + checksum: 10c0/3d805b050c0c33b51719ee52de17c1cd8e6a571abdf0fffb110e45e8dd87a657e8b56eee94b776b13006d3d347a0c18a730b903cf05293ab6d92e99ff8f77e53 + languageName: node + linkType: hard + +"typed-array-length@npm:^1.0.7": + version: 1.0.7 + resolution: "typed-array-length@npm:1.0.7" + dependencies: + call-bind: "npm:^1.0.7" + for-each: "npm:^0.3.3" + gopd: "npm:^1.0.1" + is-typed-array: "npm:^1.1.13" + possible-typed-array-names: "npm:^1.0.0" + reflect.getprototypeof: "npm:^1.0.6" + checksum: 10c0/e38f2ae3779584c138a2d8adfa8ecf749f494af3cd3cdafe4e688ce51418c7d2c5c88df1bd6be2bbea099c3f7cea58c02ca02ed438119e91f162a9de23f61295 + languageName: node + linkType: hard + +"typescript-eslint@npm:^8.59.1": + version: 8.59.1 + resolution: "typescript-eslint@npm:8.59.1" + dependencies: + "@typescript-eslint/eslint-plugin": "npm:8.59.1" + "@typescript-eslint/parser": "npm:8.59.1" + "@typescript-eslint/typescript-estree": "npm:8.59.1" + "@typescript-eslint/utils": "npm:8.59.1" + peerDependencies: + eslint: ^8.57.0 || ^9.0.0 || ^10.0.0 + typescript: ">=4.8.4 <6.1.0" + checksum: 10c0/93f3d66e2a2427a719a19f7bfd5d21c76a6bdcf9cfe82ba14d37f869434893f7d4d62c75671a87a93a3ef13816636d2bfe79b2f145d6cbcda5efbfddd90c1c2d + languageName: node + linkType: hard + +"typescript@npm:^6.0.3": + version: 6.0.3 + resolution: "typescript@npm:6.0.3" + bin: + tsc: bin/tsc + tsserver: bin/tsserver + checksum: 10c0/4a25ff5045b984370f48f196b3a0120779b1b343d40b9a68d114ea5e5fff099809b2bb777576991a63a5cd59cf7bffd96ff6fe10afcefbcb8bd6fb96ad4b6606 + languageName: node + linkType: hard + +"typescript@patch:typescript@npm%3A^6.0.3#optional!builtin": + version: 6.0.3 + resolution: "typescript@patch:typescript@npm%3A6.0.3#optional!builtin::version=6.0.3&hash=5786d5" + bin: + tsc: bin/tsc + tsserver: bin/tsserver + checksum: 10c0/2f25c74e65663c248fa1ade2b8459d9ce5372ff9dad07067310f132966ebec1d93f6c42f0baf77a6b6a7a91460463f708e6887013aaade22111037457c6b25df + languageName: node + linkType: hard + +"unbox-primitive@npm:^1.1.0": + version: 1.1.0 + resolution: "unbox-primitive@npm:1.1.0" + dependencies: + call-bound: "npm:^1.0.3" + has-bigints: "npm:^1.0.2" + has-symbols: "npm:^1.1.0" + which-boxed-primitive: "npm:^1.1.1" + checksum: 10c0/7dbd35ab02b0e05fe07136c72cb9355091242455473ec15057c11430129bab38b7b3624019b8778d02a881c13de44d63cd02d122ee782fb519e1de7775b5b982 + languageName: node + linkType: hard + +"undici-types@npm:~7.19.0": + version: 7.19.2 + resolution: "undici-types@npm:7.19.2" + checksum: 10c0/7159f10546f9f6c47d36776bb1bbf8671e87c1e587a6fee84ae1f111ae8de4f914efa8ca0dfcd224f4f4a9dfc3f6028f627ccb5ddaccf82d7fd54671b89fac3e + languageName: node + linkType: hard + +"undici@npm:^6.25.0": + version: 6.25.0 + resolution: "undici@npm:6.25.0" + checksum: 10c0/2597cc6689bdb02c210c557b1f85febbfda65becae6e6fc1061508e2f33734d25207f81cd8af56ada9956329eb3a7bd7431e87dcfeceba20ee87059b57dcf985 + languageName: node + linkType: hard + +"unrs-resolver@npm:^1.7.11": + version: 1.11.1 + resolution: "unrs-resolver@npm:1.11.1" + dependencies: + "@unrs/resolver-binding-android-arm-eabi": "npm:1.11.1" + "@unrs/resolver-binding-android-arm64": "npm:1.11.1" + "@unrs/resolver-binding-darwin-arm64": "npm:1.11.1" + "@unrs/resolver-binding-darwin-x64": "npm:1.11.1" + "@unrs/resolver-binding-freebsd-x64": "npm:1.11.1" + "@unrs/resolver-binding-linux-arm-gnueabihf": "npm:1.11.1" + "@unrs/resolver-binding-linux-arm-musleabihf": "npm:1.11.1" + "@unrs/resolver-binding-linux-arm64-gnu": "npm:1.11.1" + "@unrs/resolver-binding-linux-arm64-musl": "npm:1.11.1" + "@unrs/resolver-binding-linux-ppc64-gnu": "npm:1.11.1" + "@unrs/resolver-binding-linux-riscv64-gnu": "npm:1.11.1" + "@unrs/resolver-binding-linux-riscv64-musl": "npm:1.11.1" + "@unrs/resolver-binding-linux-s390x-gnu": "npm:1.11.1" + "@unrs/resolver-binding-linux-x64-gnu": "npm:1.11.1" + "@unrs/resolver-binding-linux-x64-musl": "npm:1.11.1" + "@unrs/resolver-binding-wasm32-wasi": "npm:1.11.1" + "@unrs/resolver-binding-win32-arm64-msvc": "npm:1.11.1" + "@unrs/resolver-binding-win32-ia32-msvc": "npm:1.11.1" + "@unrs/resolver-binding-win32-x64-msvc": "npm:1.11.1" + napi-postinstall: "npm:^0.3.0" + dependenciesMeta: + "@unrs/resolver-binding-android-arm-eabi": + optional: true + "@unrs/resolver-binding-android-arm64": + optional: true + "@unrs/resolver-binding-darwin-arm64": + optional: true + "@unrs/resolver-binding-darwin-x64": + optional: true + "@unrs/resolver-binding-freebsd-x64": + optional: true + "@unrs/resolver-binding-linux-arm-gnueabihf": + optional: true + "@unrs/resolver-binding-linux-arm-musleabihf": + optional: true + "@unrs/resolver-binding-linux-arm64-gnu": + optional: true + "@unrs/resolver-binding-linux-arm64-musl": + optional: true + "@unrs/resolver-binding-linux-ppc64-gnu": + optional: true + "@unrs/resolver-binding-linux-riscv64-gnu": + optional: true + "@unrs/resolver-binding-linux-riscv64-musl": + optional: true + "@unrs/resolver-binding-linux-s390x-gnu": + optional: true + "@unrs/resolver-binding-linux-x64-gnu": + optional: true + "@unrs/resolver-binding-linux-x64-musl": + optional: true + "@unrs/resolver-binding-wasm32-wasi": + optional: true + "@unrs/resolver-binding-win32-arm64-msvc": + optional: true + "@unrs/resolver-binding-win32-ia32-msvc": + optional: true + "@unrs/resolver-binding-win32-x64-msvc": + optional: true + checksum: 10c0/c91b112c71a33d6b24e5c708dab43ab80911f2df8ee65b87cd7a18fb5af446708e98c4b415ca262026ad8df326debcc7ca6a801b2935504d87fd6f0b9d70dce1 + languageName: node + linkType: hard + +"uri-js@npm:^4.2.2": + version: 4.4.1 + resolution: "uri-js@npm:4.4.1" + dependencies: + punycode: "npm:^2.1.0" + checksum: 10c0/4ef57b45aa820d7ac6496e9208559986c665e49447cb072744c13b66925a362d96dd5a46c4530a6b8e203e5db5fe849369444440cb22ecfc26c679359e5dfa3c + languageName: node + linkType: hard + +"vite@npm:^6.0.0 || ^7.0.0 || ^8.0.0": + version: 8.0.10 + resolution: "vite@npm:8.0.10" + dependencies: + fsevents: "npm:~2.3.3" + lightningcss: "npm:^1.32.0" + picomatch: "npm:^4.0.4" + postcss: "npm:^8.5.10" + rolldown: "npm:1.0.0-rc.17" + tinyglobby: "npm:^0.2.16" + peerDependencies: + "@types/node": ^20.19.0 || >=22.12.0 + "@vitejs/devtools": ^0.1.0 + esbuild: ^0.27.0 || ^0.28.0 + jiti: ">=1.21.0" + less: ^4.0.0 + sass: ^1.70.0 + sass-embedded: ^1.70.0 + stylus: ">=0.54.8" + sugarss: ^5.0.0 + terser: ^5.16.0 + tsx: ^4.8.1 + yaml: ^2.4.2 + dependenciesMeta: + fsevents: + optional: true + peerDependenciesMeta: + "@types/node": + optional: true + "@vitejs/devtools": + optional: true + esbuild: + optional: true + jiti: + optional: true + less: + 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: 10c0/92188b82654f856dbe562a1b679de695bb6ca18c0f43c4c276f84a869fb78e22dedb7c2df83b5617d6afdca979c059d654b5f61a0936a45f49917f352b9325ca + languageName: node + linkType: hard + +"vitest@npm:^4.1.5": + version: 4.1.5 + resolution: "vitest@npm:4.1.5" + dependencies: + "@vitest/expect": "npm:4.1.5" + "@vitest/mocker": "npm:4.1.5" + "@vitest/pretty-format": "npm:4.1.5" + "@vitest/runner": "npm:4.1.5" + "@vitest/snapshot": "npm:4.1.5" + "@vitest/spy": "npm:4.1.5" + "@vitest/utils": "npm:4.1.5" + es-module-lexer: "npm:^2.0.0" + expect-type: "npm:^1.3.0" + magic-string: "npm:^0.30.21" + obug: "npm:^2.1.1" + pathe: "npm:^2.0.3" + picomatch: "npm:^4.0.3" + std-env: "npm:^4.0.0-rc.1" + tinybench: "npm:^2.9.0" + tinyexec: "npm:^1.0.2" + tinyglobby: "npm:^0.2.15" + tinyrainbow: "npm:^3.1.0" + vite: "npm:^6.0.0 || ^7.0.0 || ^8.0.0" + why-is-node-running: "npm:^2.3.0" + peerDependencies: + "@edge-runtime/vm": "*" + "@opentelemetry/api": ^1.9.0 + "@types/node": ^20.0.0 || ^22.0.0 || >=24.0.0 + "@vitest/browser-playwright": 4.1.5 + "@vitest/browser-preview": 4.1.5 + "@vitest/browser-webdriverio": 4.1.5 + "@vitest/coverage-istanbul": 4.1.5 + "@vitest/coverage-v8": 4.1.5 + "@vitest/ui": 4.1.5 + happy-dom: "*" + jsdom: "*" + vite: ^6.0.0 || ^7.0.0 || ^8.0.0 + peerDependenciesMeta: + "@edge-runtime/vm": + optional: true + "@opentelemetry/api": + optional: true + "@types/node": + optional: true + "@vitest/browser-playwright": + optional: true + "@vitest/browser-preview": + optional: true + "@vitest/browser-webdriverio": + optional: true + "@vitest/coverage-istanbul": + optional: true + "@vitest/coverage-v8": + optional: true + "@vitest/ui": + optional: true + happy-dom: + optional: true + jsdom: + optional: true + vite: + optional: false + bin: + vitest: vitest.mjs + checksum: 10c0/196eaf5e95b45a3f6d3001a2408d7dc6f146c29c873ed4e42e1ad4c9327122934fb3793a12b6ce3b7c25d355e738b20123acc0894ce30358c3370b15f4bd0865 + languageName: node + linkType: hard + +"web-streams-polyfill@npm:^3.0.3": + version: 3.3.3 + resolution: "web-streams-polyfill@npm:3.3.3" + checksum: 10c0/64e855c47f6c8330b5436147db1c75cb7e7474d924166800e8e2aab5eb6c76aac4981a84261dd2982b3e754490900b99791c80ae1407a9fa0dcff74f82ea3a7f + languageName: node + linkType: hard + +"which-boxed-primitive@npm:^1.1.0, which-boxed-primitive@npm:^1.1.1": + version: 1.1.1 + resolution: "which-boxed-primitive@npm:1.1.1" + dependencies: + is-bigint: "npm:^1.1.0" + is-boolean-object: "npm:^1.2.1" + is-number-object: "npm:^1.1.1" + is-string: "npm:^1.1.1" + is-symbol: "npm:^1.1.1" + checksum: 10c0/aceea8ede3b08dede7dce168f3883323f7c62272b49801716e8332ff750e7ae59a511ae088840bc6874f16c1b7fd296c05c949b0e5b357bfe3c431b98c417abe + languageName: node + linkType: hard + +"which-builtin-type@npm:^1.2.1": + version: 1.2.1 + resolution: "which-builtin-type@npm:1.2.1" + dependencies: + call-bound: "npm:^1.0.2" + function.prototype.name: "npm:^1.1.6" + has-tostringtag: "npm:^1.0.2" + is-async-function: "npm:^2.0.0" + is-date-object: "npm:^1.1.0" + is-finalizationregistry: "npm:^1.1.0" + is-generator-function: "npm:^1.0.10" + is-regex: "npm:^1.2.1" + is-weakref: "npm:^1.0.2" + isarray: "npm:^2.0.5" + which-boxed-primitive: "npm:^1.1.0" + which-collection: "npm:^1.0.2" + which-typed-array: "npm:^1.1.16" + checksum: 10c0/8dcf323c45e5c27887800df42fbe0431d0b66b1163849bb7d46b5a730ad6a96ee8bfe827d078303f825537844ebf20c02459de41239a0a9805e2fcb3cae0d471 + languageName: node + linkType: hard + +"which-collection@npm:^1.0.2": + version: 1.0.2 + resolution: "which-collection@npm:1.0.2" + dependencies: + is-map: "npm:^2.0.3" + is-set: "npm:^2.0.3" + is-weakmap: "npm:^2.0.2" + is-weakset: "npm:^2.0.3" + checksum: 10c0/3345fde20964525a04cdf7c4a96821f85f0cc198f1b2ecb4576e08096746d129eb133571998fe121c77782ac8f21cbd67745a3d35ce100d26d4e684c142ea1f2 + languageName: node + linkType: hard + +"which-typed-array@npm:^1.1.16, which-typed-array@npm:^1.1.19": + version: 1.1.20 + resolution: "which-typed-array@npm:1.1.20" + dependencies: + available-typed-arrays: "npm:^1.0.7" + call-bind: "npm:^1.0.8" + call-bound: "npm:^1.0.4" + for-each: "npm:^0.3.5" + get-proto: "npm:^1.0.1" + gopd: "npm:^1.2.0" + has-tostringtag: "npm:^1.0.2" + checksum: 10c0/16fcdada95c8afb821cd1117f0ab50b4d8551677ac08187f21d4e444530913c9ffd2dac634f0c1183345f96344b69280f40f9a8bc52164ef409e555567c2604b + languageName: node + linkType: hard + +"which@npm:^2.0.1": + version: 2.0.2 + resolution: "which@npm:2.0.2" + dependencies: + isexe: "npm:^2.0.0" + bin: + node-which: ./bin/node-which + checksum: 10c0/66522872a768b60c2a65a57e8ad184e5372f5b6a9ca6d5f033d4b0dc98aff63995655a7503b9c0a2598936f532120e81dd8cc155e2e92ed662a2b9377cc4374f + languageName: node + linkType: hard + +"which@npm:^6.0.0": + version: 6.0.1 + resolution: "which@npm:6.0.1" + dependencies: + isexe: "npm:^4.0.0" + bin: + node-which: bin/which.js + checksum: 10c0/7e710e54ea36d2d6183bee2f9caa27a3b47b9baf8dee55a199b736fcf85eab3b9df7556fca3d02b50af7f3dfba5ea3a45644189836df06267df457e354da66d5 + 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: 10c0/1cde0b01b827d2cf4cb11db962f3958b9175d5d9e7ac7361d1a7b0e2dc6069a263e69118bd974c4f6d0a890ef4eedfe34cf3d5167ec14203dbc9a18620537054 + languageName: node + linkType: hard + +"word-wrap@npm:^1.2.5": + version: 1.2.5 + resolution: "word-wrap@npm:1.2.5" + checksum: 10c0/e0e4a1ca27599c92a6ca4c32260e8a92e8a44f4ef6ef93f803f8ed823f486e0889fc0b93be4db59c8d51b3064951d25e43d434e95dc8c960cc3a63d65d00ba20 + languageName: node + linkType: hard + +"yallist@npm:^5.0.0": + version: 5.0.0 + resolution: "yallist@npm:5.0.0" + checksum: 10c0/a499c81ce6d4a1d260d4ea0f6d49ab4da09681e32c3f0472dee16667ed69d01dae63a3b81745a24bd78476ec4fcf856114cb4896ace738e01da34b2c42235416 + languageName: node + linkType: hard + +"yocto-queue@npm:^0.1.0": + version: 0.1.0 + resolution: "yocto-queue@npm:0.1.0" + checksum: 10c0/dceb44c28578b31641e13695d200d34ec4ab3966a5729814d5445b194933c096b7ced71494ce53a0e8820685d1d010df8b2422e5bf2cdea7e469d97ffbea306f + languageName: node + linkType: hard From ddcede867f422228efb37afab420c9c9a5268130 Mon Sep 17 00:00:00 2001 From: Richmond Rice Date: Tue, 28 Apr 2026 10:59:05 +0100 Subject: [PATCH 14/36] Update package.json --- package.json | 1 + 1 file changed, 1 insertion(+) diff --git a/package.json b/package.json index 86eac82..58d7411 100644 --- a/package.json +++ b/package.json @@ -19,6 +19,7 @@ ], "sideEffects": false, "scripts": { + "prepack": "yarn build", "prepare": "yarn build", "build": "tsc -p tsconfig.build.json", "test": "vitest run --coverage", From f578478520ab06485576b4e66a3378506e82a416 Mon Sep 17 00:00:00 2001 From: Richmond Rice Date: Tue, 28 Apr 2026 12:56:33 +0100 Subject: [PATCH 15/36] Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index ff528a5..e9904cc 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,4 @@ -# Blaise REST API Node Client +# Blaise REST API Node Client ๐ŸŒ A robust, type-safe Node.js client for interacting with our Blaise REST API. Designed for high-reliability service-to-service communication, this library provides immutable data contracts and standardised interaction patterns for Blaise resources. From 61f54e42c3c383ca4897bb8d290b0bb3639d5fd3 Mon Sep 17 00:00:00 2001 From: Richmond Rice Date: Tue, 28 Apr 2026 17:35:30 +0100 Subject: [PATCH 16/36] tidy exports, tidy comments, test ci gh with new yarn --- .github/workflows/ci.yml | 3 ++- src/resources/diagnostic.ts | 2 -- src/resources/questionnaireReport.ts | 2 -- src/types/questionnaire.ts | 6 +++--- 4 files changed, 5 insertions(+), 8 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index f292e1d..c99efa2 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -20,7 +20,8 @@ jobs: cache: yarn - name: ๐Ÿ“ฆ Install Dependencies # TODO: remove network-concurrency after yarn upgrade - run: yarn install --frozen-lockfile --network-concurrency 1 + # run: yarn install --frozen-lockfile --network-concurrency 1 + run: yarn install --frozen-lockfile # check... - name: ๐Ÿงน Run Linter run: yarn lint - name: ๐Ÿงช Run Tests and Generate Coverage diff --git a/src/resources/diagnostic.ts b/src/resources/diagnostic.ts index 2579c57..63abce0 100644 --- a/src/resources/diagnostic.ts +++ b/src/resources/diagnostic.ts @@ -4,5 +4,3 @@ import { Diagnostic } from "../types/diagnostic.js"; export async function getDiagnostics(this: BlaiseApiClient): Promise { return this.get("api/v2/health/diagnosis"); } - -export default getDiagnostics; diff --git a/src/resources/questionnaireReport.ts b/src/resources/questionnaireReport.ts index 00a497a..aa62489 100644 --- a/src/resources/questionnaireReport.ts +++ b/src/resources/questionnaireReport.ts @@ -13,5 +13,3 @@ export async function getQuestionnaireReportData( `api/v2/serverparks/${serverpark}/questionnaires/${questionnaireName}/report?${queryParams}`, ); } - -export default getQuestionnaireReportData; diff --git a/src/types/questionnaire.ts b/src/types/questionnaire.ts index 853c6ad..cea738d 100644 --- a/src/types/questionnaire.ts +++ b/src/types/questionnaire.ts @@ -8,8 +8,8 @@ export interface Questionnaire { name: string; expired?: boolean; serverParkName: string; - activeToday?: boolean; // deprecated - surveyDays?: string[]; // deprecated + activeToday?: boolean; // TODO: deprecated? + surveyDays?: string[]; // TODO: deprecated? link?: string; fieldPeriod?: string; surveyTla?: string; @@ -17,7 +17,7 @@ export interface Questionnaire { status?: string; hasData?: boolean; nodes?: Node[]; - active?: boolean; // deprecated + active?: boolean; // TODO: deprecated? blaiseVersion?: string; } From d058b0d093760621e51a84bb6002237e563b9006 Mon Sep 17 00:00:00 2001 From: Richmond Rice Date: Tue, 28 Apr 2026 20:17:50 +0100 Subject: [PATCH 17/36] use new naming --- .yarn/install-state.gz | Bin 366776 -> 369402 bytes src/blaiseApiClient.ts | 6 +++--- yarn.lock | 4 ++-- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/.yarn/install-state.gz b/.yarn/install-state.gz index 0d771026271bfca32b44166cfd4cd67719dc094d..2f227cba22a24a851db325bc07e0012d45d1c4ee 100644 GIT binary patch delta 355214 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

    @o|kBp4*8Jp?=>5UNeQo~nBjet0zbP!eo4$cD)Z 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 z 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

  1. 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

    az*QU;~0r?=ff|`EqXY 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 Date: Wed, 29 Apr 2026 09:26:59 +0100 Subject: [PATCH 18/36] lint gh action ymls --- .github/dependabot.yml | 40 +++++++++++++-------------- .github/workflows/ci.yml | 49 ++++++++++++++++++---------------- .github/workflows/codeql.yml | 48 ++++++++++++++++----------------- .github/workflows/release.yml | 48 ++++++++++++++++----------------- .gitignore | 2 +- .yarn/install-state.gz | Bin 369402 -> 0 bytes package.json | 1 - 7 files changed, 94 insertions(+), 94 deletions(-) delete mode 100644 .yarn/install-state.gz diff --git a/.github/dependabot.yml b/.github/dependabot.yml index 60beeb2..f66c050 100644 --- a/.github/dependabot.yml +++ b/.github/dependabot.yml @@ -1,23 +1,23 @@ --- version: 2 updates: - - package-ecosystem: "npm" - directory: "/" - schedule: - interval: "weekly" - day: "monday" - time: "06:00" - timezone: "Europe/London" - labels: - - "dependencies" - - "javascript" - - package-ecosystem: "github-actions" - directory: "/" - schedule: - interval: "weekly" - day: "monday" - time: "06:00" - timezone: "Europe/London" - labels: - - "dependencies" - - "github-actions" + - package-ecosystem: npm + directory: / + schedule: + interval: weekly + day: monday + time: '06:00' + timezone: Europe/London + labels: + - dependencies + - javascript + - package-ecosystem: github-actions + directory: / + schedule: + interval: weekly + day: monday + time: '06:00' + timezone: Europe/London + labels: + - dependencies + - github-actions diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index c99efa2..b13fe49 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -1,28 +1,31 @@ --- name: โœ… Run CI Validation permissions: - contents: read + contents: read on: - pull_request: - branches: [main] - push: - branches: [main] + pull_request: + branches: [main] + push: + branches: [main] jobs: - run-ci-validation: - runs-on: ubuntu-latest - steps: - - name: ๐Ÿ›Ž๏ธ Checkout Repository - uses: actions/checkout@v6 - - name: ๐Ÿ”ง Setup Node and Cache - uses: actions/setup-node@v6 - with: - node-version: 24.x - cache: yarn - - name: ๐Ÿ“ฆ Install Dependencies - # TODO: remove network-concurrency after yarn upgrade - # run: yarn install --frozen-lockfile --network-concurrency 1 - run: yarn install --frozen-lockfile # check... - - name: ๐Ÿงน Run Linter - run: yarn lint - - name: ๐Ÿงช Run Tests and Generate Coverage - run: yarn test + run-ci-validation: + runs-on: ubuntu-latest + steps: + - name: ๐Ÿ›Ž๏ธ Checkout Repository + uses: actions/checkout@v6 + - name: ๐Ÿ”ง Enable Corepack + run: corepack enable + - name: ๐Ÿ”ง Setup Node and Cache + uses: actions/setup-node@v6 + with: + node-version: 24.x + cache: yarn + cache-dependency-path: yarn.lock + - name: ๐Ÿ“ฆ Install Dependencies + run: yarn install --immutable + - name: ๐Ÿงน Run Linter + run: yarn lint + - name: ๐Ÿงช Run Tests and Generate Coverage + run: yarn test + - name: ๐Ÿ—๏ธ Run Build + run: yarn build diff --git a/.github/workflows/codeql.yml b/.github/workflows/codeql.yml index cac28cc..cc7149c 100644 --- a/.github/workflows/codeql.yml +++ b/.github/workflows/codeql.yml @@ -1,30 +1,28 @@ --- name: โœ… Run CodeQL Analyser on: - push: - branches: ["main"] - pull_request: - branches: ["main"] - schedule: - - cron: "0 6 * * 1" + push: + branches: [main] + pull_request: + branches: [main] + schedule: + - cron: '0 6 * * 1' permissions: - contents: read - security-events: write - actions: read + contents: read + security-events: write + actions: read jobs: - run-codeql-analyser: - runs-on: ubuntu-latest - steps: - - name: ๐Ÿ›Ž๏ธ Checkout Repository - uses: actions/checkout@v6 - - name: ๐Ÿ—๏ธ Initialise CodeQL - uses: github/codeql-action/init@v4 - with: - languages: javascript-typescript - queries: security-and-quality - - name: ๐Ÿ“ฆ Autobuild - uses: github/codeql-action/autobuild@v4 - - name: ๐Ÿงช Run CodeQL Analyser - uses: github/codeql-action/analyze@v4 - with: - category: "/language:javascript-typescript" + run-codeql-analyser: + runs-on: ubuntu-latest + steps: + - name: ๐Ÿ›Ž๏ธ Checkout Repository + uses: actions/checkout@v6 + - name: ๐Ÿ—๏ธ Initialise CodeQL + uses: github/codeql-action/init@v4 + with: + languages: javascript-typescript + queries: security-and-quality + - name: ๐Ÿงช Run CodeQL Analyser + uses: github/codeql-action/analyze@v4 + with: + category: /language:javascript-typescript diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 31aee1f..ae219cf 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -1,29 +1,29 @@ --- name: ๐Ÿ”„ Sync Version permissions: - contents: write + contents: write on: - release: - types: [published] + release: + types: [published] jobs: - sync-version: - runs-on: ubuntu-latest - steps: - - name: ๐Ÿ›Ž๏ธ Checkout Repository - uses: actions/checkout@v6 - with: - ref: ${{ github.event.release.target_commitish }} - - name: Setup Node ๐Ÿ”ง - uses: actions/setup-node@v6 - with: - node-version: 24.x - - name: ๐Ÿ“ Update package.json Version - run: | - CLEAN_VERSION=$(echo "${{ github.event.release.tag_name }}" | sed 's/^v//') - yarn version --new-version $CLEAN_VERSION --no-git-tag-version - echo "NEW_VERSION=$CLEAN_VERSION" >> $GITHUB_ENV - - name: ๐Ÿš€ Commit and Push Changes - uses: stefanzweifel/git-auto-commit-action@v7 - with: - commit_message: "chore: bump version to ${{ env.NEW_VERSION }}" - file_pattern: "package.json" + sync-version: + runs-on: ubuntu-latest + steps: + - name: ๐Ÿ›Ž๏ธ Checkout Repository + uses: actions/checkout@v6 + with: + ref: ${{ github.event.release.target_commitish }} + - name: ๐Ÿ”ง Setup Node + uses: actions/setup-node@v6 + with: + node-version: 24.x + - name: ๐Ÿ“ Update package.json Version + run: | + CLEAN_VERSION=$(echo "${{ github.event.release.tag_name }}" | sed 's/^v//') + npm version $CLEAN_VERSION --no-git-tag-version + echo "NEW_VERSION=$CLEAN_VERSION" >> $GITHUB_ENV + - name: ๐Ÿš€ Commit and Push Changes + uses: stefanzweifel/git-auto-commit-action@v7 + with: + commit_message: "chore: bump version to ${{ env.NEW_VERSION }}" + file_pattern: package.json diff --git a/.gitignore b/.gitignore index 1d4310a..1d870fb 100644 --- a/.gitignore +++ b/.gitignore @@ -1,7 +1,7 @@ .idea/ .vscode/ +.yarn/ coverage/ dist/ -docs-build/ node_modules/ *.log diff --git a/.yarn/install-state.gz b/.yarn/install-state.gz deleted file mode 100644 index 2f227cba22a24a851db325bc07e0012d45d1c4ee..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 369402 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%0A7djL;O#;v(F-EQKaou3Ut?-(&2Ue6%s%BI({l{ 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%0DMOVuNlm;pBLSp1jpqCaNnph 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%0DOcH~MSnDmz2CeF` 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

    pe{>f2^x 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 diff --git a/package.json b/package.json index 58d7411..828315f 100644 --- a/package.json +++ b/package.json @@ -20,7 +20,6 @@ "sideEffects": false, "scripts": { "prepack": "yarn build", - "prepare": "yarn build", "build": "tsc -p tsconfig.build.json", "test": "vitest run --coverage", "test-watch": "vitest", From 66709724312b723405005faa6fd03bf18b890dc7 Mon Sep 17 00:00:00 2001 From: Richmond Rice Date: Wed, 29 Apr 2026 09:32:06 +0100 Subject: [PATCH 19/36] lint gh action ymls --- .github/dependabot.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/dependabot.yml b/.github/dependabot.yml index f66c050..d5cacaf 100644 --- a/.github/dependabot.yml +++ b/.github/dependabot.yml @@ -7,7 +7,7 @@ updates: interval: weekly day: monday time: '06:00' - timezone: Europe/London + timezone: Europe/London labels: - dependencies - javascript @@ -17,7 +17,7 @@ updates: interval: weekly day: monday time: '06:00' - timezone: Europe/London + timezone: Europe/London labels: - dependencies - github-actions From 675a071f769e4dbe5bc37113073f504c87467214 Mon Sep 17 00:00:00 2001 From: Richmond Rice Date: Wed, 29 Apr 2026 11:02:24 +0100 Subject: [PATCH 20/36] Update dependabot.yml --- .github/dependabot.yml | 6 ------ 1 file changed, 6 deletions(-) diff --git a/.github/dependabot.yml b/.github/dependabot.yml index d5cacaf..bd5ad84 100644 --- a/.github/dependabot.yml +++ b/.github/dependabot.yml @@ -8,9 +8,6 @@ updates: day: monday time: '06:00' timezone: Europe/London - labels: - - dependencies - - javascript - package-ecosystem: github-actions directory: / schedule: @@ -18,6 +15,3 @@ updates: day: monday time: '06:00' timezone: Europe/London - labels: - - dependencies - - github-actions From 56635b2e2cacbd223d91a0c1faf4b42aff5c119c Mon Sep 17 00:00:00 2001 From: Richmond Rice Date: Wed, 29 Apr 2026 11:06:10 +0100 Subject: [PATCH 21/36] Update codeql.yml --- .github/workflows/codeql.yml | 2 -- 1 file changed, 2 deletions(-) diff --git a/.github/workflows/codeql.yml b/.github/workflows/codeql.yml index cc7149c..3228a6e 100644 --- a/.github/workflows/codeql.yml +++ b/.github/workflows/codeql.yml @@ -24,5 +24,3 @@ jobs: queries: security-and-quality - name: ๐Ÿงช Run CodeQL Analyser uses: github/codeql-action/analyze@v4 - with: - category: /language:javascript-typescript From b09bcd05d693843888d5dd81455749900e07a6b1 Mon Sep 17 00:00:00 2001 From: Richmond Rice Date: Sat, 2 May 2026 21:55:24 +0100 Subject: [PATCH 22/36] standardise configs --- .github/dependabot.yml | 4 +- .github/workflows/codeql.yml | 2 +- .prettierrc.json | 22 + README.md | 8 +- cspell.json | 4 + eslint.config.ts | 68 +- knip.jsonc | 4 + package.json | 107 +-- tsconfig.build.json | 12 +- tsconfig.eslint.json | 7 + tsconfig.json | 53 +- yarn.lock | 1592 ++++++++++++++++++++++++++++++++-- 12 files changed, 1683 insertions(+), 200 deletions(-) create mode 100644 .prettierrc.json create mode 100644 cspell.json create mode 100644 knip.jsonc create mode 100644 tsconfig.eslint.json diff --git a/.github/dependabot.yml b/.github/dependabot.yml index bd5ad84..bbf147b 100644 --- a/.github/dependabot.yml +++ b/.github/dependabot.yml @@ -6,12 +6,12 @@ updates: schedule: interval: weekly day: monday - time: '06:00' + time: "06:00" timezone: Europe/London - package-ecosystem: github-actions directory: / schedule: interval: weekly day: monday - time: '06:00' + time: "06:00" timezone: Europe/London diff --git a/.github/workflows/codeql.yml b/.github/workflows/codeql.yml index 3228a6e..66077de 100644 --- a/.github/workflows/codeql.yml +++ b/.github/workflows/codeql.yml @@ -6,7 +6,7 @@ on: pull_request: branches: [main] schedule: - - cron: '0 6 * * 1' + - cron: "0 6 * * 1" permissions: contents: read security-events: write diff --git a/.prettierrc.json b/.prettierrc.json new file mode 100644 index 0000000..adc5ff4 --- /dev/null +++ b/.prettierrc.json @@ -0,0 +1,22 @@ +{ + "arrowParens": "always", + "bracketSameLine": false, + "bracketSpacing": true, + "endOfLine": "lf", + "jsxSingleQuote": false, + "overrides": [ + { + "files": ["*.json", "*.jsonc"], + "options": { + "trailingComma": "none" + } + } + ], + "printWidth": 100, + "semi": true, + "singleAttributePerLine": true, + "singleQuote": false, + "tabWidth": 2, + "trailingComma": "all", + "useTabs": false +} diff --git a/README.md b/README.md index e9904cc..91b15f4 100644 --- a/README.md +++ b/README.md @@ -68,13 +68,13 @@ yarn install This library follows strict clean-code principles: -* **Domain-Driven Layout**: API calls are logically grouped by entity within the resources/ directory (e.g., Cases, Users, Questionnaires), rather than by generic functions. +- **Domain-Driven Layout**: API calls are logically grouped by entity within the resources/ directory (e.g., Cases, Users, Questionnaires), rather than by generic functions. -* **Centralised Contracts**: All data contracts (types and interfaces) reside in the types/ directory to prevent circular dependencies and maintain a single source of truth. +- **Centralised Contracts**: All data contracts (types and interfaces) reside in the types/ directory to prevent circular dependencies and maintain a single source of truth. -* **Strict Typing**: Union types and strict mapping are used for dynamic values (e.g., UserRole and CaseOutcome), providing IDE autocomplete and compile-time safety. +- **Strict Typing**: Union types and strict mapping are used for dynamic values (e.g., UserRole and CaseOutcome), providing IDE autocomplete and compile-time safety. -* **Barrel Exports**: The public API surface is strictly controlled via index.ts, ensuring consumers only access intended interfaces, enums, and client classes. +- **Barrel Exports**: The public API surface is strictly controlled via index.ts, ensuring consumers only access intended interfaces, enums, and client classes. ### Quality Control diff --git a/cspell.json b/cspell.json new file mode 100644 index 0000000..26e66e2 --- /dev/null +++ b/cspell.json @@ -0,0 +1,4 @@ +{ + "language": "en-GB", + "words": ["blaise", "onsdigital"] +} diff --git a/eslint.config.ts b/eslint.config.ts index 89fb9d7..147ce9a 100644 --- a/eslint.config.ts +++ b/eslint.config.ts @@ -2,8 +2,9 @@ import js from "@eslint/js"; import globals from "globals"; import tseslint from "typescript-eslint"; import pluginImport from "eslint-plugin-import"; -import pluginPrettier from "eslint-plugin-prettier"; import configPrettier from "eslint-config-prettier"; +import pluginJsonc from "eslint-plugin-jsonc"; +import * as jsoncParser from "jsonc-eslint-parser"; export default tseslint.config( { ignores: ["coverage/**", "dist/**", "node_modules/**"] }, @@ -27,12 +28,8 @@ export default tseslint.config( files: ["**/*.ts"], plugins: { import: pluginImport, - prettier: pluginPrettier, }, rules: { - "no-trailing-spaces": "error", - "eol-last": ["error", "always"], - "no-multiple-empty-lines": ["error", { max: 1, maxEOF: 0, maxBOF: 0 }], "padding-line-between-statements": [ "error", { blankLine: "always", prev: "*", next: "return" }, @@ -43,21 +40,6 @@ export default tseslint.config( { blankLine: "always", prev: "*", next: ["class", "function", "export"] }, { blankLine: "always", prev: ["block-like", "multiline-block-like"], next: "*" }, ], - "prettier/prettier": [ - "error", - { - singleQuote: false, - semi: true, - tabWidth: 2, - useTabs: false, - trailingComma: "all", - printWidth: 100, - bracketSpacing: true, - arrowParens: "always", - singleAttributePerLine: true, - endOfLine: "lf", - }, - ], "@typescript-eslint/no-explicit-any": "warn", "@typescript-eslint/no-unused-vars": ["error", { argsIgnorePattern: "^_" }], "no-unused-vars": "off", @@ -72,5 +54,51 @@ export default tseslint.config( }, }, + ...pluginJsonc.configs["flat/recommended-with-jsonc"], + { + files: ["**/*.json", "**/*.jsonc"], + languageOptions: { + parser: jsoncParser, + }, + rules: { + "jsonc/sort-keys": ["error", { pathPattern: "^$", order: { type: "asc" } }], + }, + }, + { + files: ["package.json"], + rules: { + "jsonc/sort-keys": [ + "error", + { + pathPattern: "^$", + order: [ + "name", + "version", + "private", + "description", + "author", + "license", + "engines", + "type", + "types", + "main", + "exports", + "files", + "sideEffects", + "scripts", + "peerDependencies", + "dependencies", + "devDependencies", + "packageManager", + ], + }, + { + pathPattern: "^(?:dev|peer|optional|bundled)?[Dd]ependencies$|^scripts$|^exports$", + order: { type: "asc" }, + }, + ], + }, + }, + configPrettier, ); diff --git a/knip.jsonc b/knip.jsonc new file mode 100644 index 0000000..91b2b0b --- /dev/null +++ b/knip.jsonc @@ -0,0 +1,4 @@ +{ + "entry": ["src/**/*.test.ts"], + "project": ["src/**/*.ts", "*.config.ts"] +} diff --git a/package.json b/package.json index 828315f..86b77fc 100644 --- a/package.json +++ b/package.json @@ -1,51 +1,56 @@ -{ - "name": "blaise-api-node-client", - "version": "1.0.0", - "private": true, - "license": "MIT", - "engines": { - "node": ">=24.0.0" - }, - "type": "module", - "types": "dist/esm/index.d.ts", - "exports": { - ".": { - "types": "./dist/esm/index.d.ts", - "import": "./dist/esm/index.js" - } - }, - "files": [ - "dist" - ], - "sideEffects": false, - "scripts": { - "prepack": "yarn build", - "build": "tsc -p tsconfig.build.json", - "test": "vitest run --coverage", - "test-watch": "vitest", - "lint": "eslint .", - "lint-fix": "eslint . --fix" - }, - "dependencies": { - "@types/node": "^25.6.0", - "axios": "^1.15.2", - "blaise-iap-node-provider": "git+https://github.com/ONSdigital/blaise-iap-node-provider.git#BLAIS5-5177", - "typescript": "^6.0.3" - }, - "devDependencies": { - "@eslint/js": "^10.0.1", - "@vitest/coverage-v8": "^4.1.5", - "axios-mock-adapter": "^2.1.0", - "eslint": "^10.2.1", - "eslint-config-prettier": "^10.1.8", - "eslint-import-resolver-typescript": "^4.4.4", - "eslint-plugin-import": "^2.32.0", - "eslint-plugin-prettier": "^5.5.5", - "globals": "^17.5.0", - "jiti": "^2.6.1", - "prettier": "^3.8.3", - "typescript-eslint": "^8.59.1", - "vitest": "^4.1.5" - }, - "packageManager": "yarn@4.14.1" -} +{ + "name": "blaise-api-node-client", + "version": "1.0.0", + "private": true, + "license": "MIT", + "engines": { + "node": ">=24.0.0" + }, + "type": "module", + "types": "dist/esm/index.d.ts", + "exports": { + ".": { + "import": "./dist/esm/index.js", + "types": "./dist/esm/index.d.ts" + } + }, + "files": [ + "dist" + ], + "sideEffects": false, + "scripts": { + "build": "tsc -p tsconfig.build.json", + "lint": "yarn typecheck && eslint . && prettier --check . && knip", + "lint-fix": "eslint . --fix && prettier --write . && knip --fix", + "prepack": "yarn build", + "spellcheck": "cspell \"**/*.{ts,tsx,json,jsonc,yml,yaml,md}\" --no-progress --no-summary", + "test": "vitest run --coverage", + "test-watch": "vitest", + "typecheck": "tsc --noEmit && tsc --project tsconfig.build.json --noEmit" + }, + "dependencies": { + "axios": "^1.16.0", + "blaise-iap-node-provider": "git+https://github.com/ONSdigital/blaise-iap-node-provider.git#BLAIS5-5177" + }, + "devDependencies": { + "@eslint/js": "^10.0.1", + "@types/node": "^25.6.0", + "@vitest/coverage-v8": "^4.1.5", + "axios-mock-adapter": "^2.1.0", + "cspell": "^10.0.0", + "eslint": "^10.3.0", + "eslint-config-prettier": "^10.1.8", + "eslint-import-resolver-typescript": "^4.4.4", + "eslint-plugin-import": "^2.32.0", + "eslint-plugin-jsonc": "^3.1.2", + "globals": "^17.6.0", + "jiti": "^2.6.1", + "jsonc-eslint-parser": "^3.1.0", + "knip": "^6.11.0", + "prettier": "^3.8.3", + "typescript": "^6.0.3", + "typescript-eslint": "^8.59.1", + "vitest": "^4.1.5" + }, + "packageManager": "yarn@4.14.1" +} diff --git a/tsconfig.build.json b/tsconfig.build.json index 32b08eb..023123b 100644 --- a/tsconfig.build.json +++ b/tsconfig.build.json @@ -1,9 +1,7 @@ { - "extends": "./tsconfig.json", - "exclude": [ - "coverage", - "dist", - "node_modules", - "src/**/*.test.ts", - ] + "compilerOptions": { + "types": [] + }, + "exclude": ["coverage", "dist", "node_modules", "src/**/*.test.ts"], + "extends": "./tsconfig.json" } diff --git a/tsconfig.eslint.json b/tsconfig.eslint.json new file mode 100644 index 0000000..77740c1 --- /dev/null +++ b/tsconfig.eslint.json @@ -0,0 +1,7 @@ +{ + "compilerOptions": { + "noEmit": true + }, + "extends": "./tsconfig.json", + "include": ["src", "eslint.config.ts", "vite.config.ts"] +} diff --git a/tsconfig.json b/tsconfig.json index 3a7f40b..c9c5569 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -1,31 +1,22 @@ -{ - "compilerOptions": { - "strict": true, - "forceConsistentCasingInFileNames": true, - "noFallthroughCasesInSwitch": true, - "skipLibCheck": true, - "target": "ESNext", - "module": "ESNext", - "moduleResolution": "bundler", - "resolveJsonModule": true, - "isolatedModules": true, - "types": [ - "vitest/globals", - "node" - ], - "declaration": true, - "sourceMap": true, - "outDir": "dist/esm", - "rootDir": "src", - "esModuleInterop": true, - "allowSyntheticDefaultImports": true - }, - "include": [ - "src" - ], - "exclude": [ - "coverage", - "dist", - "node_modules" - ] -} +{ + "compilerOptions": { + "strict": true, + "forceConsistentCasingInFileNames": true, + "noFallthroughCasesInSwitch": true, + "skipLibCheck": true, + "target": "ESNext", + "module": "ESNext", + "moduleResolution": "bundler", + "resolveJsonModule": true, + "isolatedModules": true, + "types": ["vitest/globals", "node"], + "declaration": true, + "sourceMap": true, + "outDir": "dist/esm", + "rootDir": "src", + "esModuleInterop": true, + "allowSyntheticDefaultImports": true + }, + "exclude": ["coverage", "dist", "node_modules"], + "include": ["src"] +} diff --git a/yarn.lock b/yarn.lock index 00ea301..4e5c42b 100644 --- a/yarn.lock +++ b/yarn.lock @@ -20,13 +20,13 @@ __metadata: linkType: hard "@babel/parser@npm:^7.29.0": - version: 7.29.2 - resolution: "@babel/parser@npm:7.29.2" + version: 7.29.3 + resolution: "@babel/parser@npm:7.29.3" dependencies: "@babel/types": "npm:^7.29.0" bin: parser: ./bin/babel-parser.js - checksum: 10c0/e5a4e69e3ac7acdde995f37cf299a68458cfe7009dff66bd0962fd04920bef287201169006af365af479c08ff216bfefbb595e331f87f6ae7283858aebbc3317 + checksum: 10c0/f06920c819550c0db689e4c5b626bf55ba3cebf80ebe9ccfa434e134036cf3de50951fe759f74abb2dae381989239860bde46d4600328578ad1f7114c3711a6d languageName: node linkType: hard @@ -47,6 +47,588 @@ __metadata: languageName: node linkType: hard +"@cspell/cspell-bundled-dicts@npm:10.0.0": + version: 10.0.0 + resolution: "@cspell/cspell-bundled-dicts@npm:10.0.0" + dependencies: + "@cspell/dict-ada": "npm:^4.1.1" + "@cspell/dict-al": "npm:^1.1.1" + "@cspell/dict-aws": "npm:^4.0.17" + "@cspell/dict-bash": "npm:^4.2.2" + "@cspell/dict-companies": "npm:^3.2.11" + "@cspell/dict-cpp": "npm:^7.0.2" + "@cspell/dict-cryptocurrencies": "npm:^5.0.5" + "@cspell/dict-csharp": "npm:^4.0.8" + "@cspell/dict-css": "npm:^4.1.1" + "@cspell/dict-dart": "npm:^2.3.2" + "@cspell/dict-data-science": "npm:^2.0.13" + "@cspell/dict-django": "npm:^4.1.6" + "@cspell/dict-docker": "npm:^1.1.17" + "@cspell/dict-dotnet": "npm:^5.0.13" + "@cspell/dict-elixir": "npm:^4.0.8" + "@cspell/dict-en-common-misspellings": "npm:^2.1.12" + "@cspell/dict-en-gb-mit": "npm:^3.1.22" + "@cspell/dict-en_us": "npm:^4.4.33" + "@cspell/dict-filetypes": "npm:^3.0.18" + "@cspell/dict-flutter": "npm:^1.1.1" + "@cspell/dict-fonts": "npm:^4.0.6" + "@cspell/dict-fsharp": "npm:^1.1.1" + "@cspell/dict-fullstack": "npm:^3.2.9" + "@cspell/dict-gaming-terms": "npm:^1.1.2" + "@cspell/dict-git": "npm:^3.1.0" + "@cspell/dict-golang": "npm:^6.0.26" + "@cspell/dict-google": "npm:^1.0.9" + "@cspell/dict-haskell": "npm:^4.0.6" + "@cspell/dict-html": "npm:^4.0.15" + "@cspell/dict-html-symbol-entities": "npm:^4.0.5" + "@cspell/dict-java": "npm:^5.0.12" + "@cspell/dict-julia": "npm:^1.1.1" + "@cspell/dict-k8s": "npm:^1.0.12" + "@cspell/dict-kotlin": "npm:^1.1.1" + "@cspell/dict-latex": "npm:^5.1.0" + "@cspell/dict-lorem-ipsum": "npm:^4.0.5" + "@cspell/dict-lua": "npm:^4.0.8" + "@cspell/dict-makefile": "npm:^1.0.5" + "@cspell/dict-markdown": "npm:^2.0.16" + "@cspell/dict-monkeyc": "npm:^1.0.12" + "@cspell/dict-node": "npm:^5.0.9" + "@cspell/dict-npm": "npm:^5.2.38" + "@cspell/dict-php": "npm:^4.1.1" + "@cspell/dict-powershell": "npm:^5.0.15" + "@cspell/dict-public-licenses": "npm:^2.0.16" + "@cspell/dict-python": "npm:^4.2.26" + "@cspell/dict-r": "npm:^2.1.1" + "@cspell/dict-ruby": "npm:^5.1.1" + "@cspell/dict-rust": "npm:^4.1.2" + "@cspell/dict-scala": "npm:^5.0.9" + "@cspell/dict-shell": "npm:^1.1.2" + "@cspell/dict-software-terms": "npm:^5.2.2" + "@cspell/dict-sql": "npm:^2.2.1" + "@cspell/dict-svelte": "npm:^1.0.7" + "@cspell/dict-swift": "npm:^2.0.6" + "@cspell/dict-terraform": "npm:^1.1.3" + "@cspell/dict-typescript": "npm:^3.2.3" + "@cspell/dict-vue": "npm:^3.0.5" + "@cspell/dict-zig": "npm:^1.0.0" + checksum: 10c0/9fc90a2aa2f4f7370de37d8efab24a444eb95d5a8084dcd7410ee6a5a0797be48c43999e83566b9f77da73d677785d3845e3689e21cf8c59c659a3028025781a + languageName: node + linkType: hard + +"@cspell/cspell-json-reporter@npm:10.0.0": + version: 10.0.0 + resolution: "@cspell/cspell-json-reporter@npm:10.0.0" + dependencies: + "@cspell/cspell-types": "npm:10.0.0" + checksum: 10c0/d8b6ba8b081f235a93ec5685c40721e82263194f771d49968024e33dfb0a55b28589e6430eba83af45247ca7c121f8d1e725bb086c5e7e2fbba9fde935d547ec + languageName: node + linkType: hard + +"@cspell/cspell-performance-monitor@npm:10.0.0": + version: 10.0.0 + resolution: "@cspell/cspell-performance-monitor@npm:10.0.0" + checksum: 10c0/6c6f2905a6a4652ba6c0b414336de1e788bbcd995aed3cbebeec3e18ffaee34f08618af1672eba4ab8de2bd408c33e877ed75a679f30e6ed6b09ed6403122bc4 + languageName: node + linkType: hard + +"@cspell/cspell-pipe@npm:10.0.0": + version: 10.0.0 + resolution: "@cspell/cspell-pipe@npm:10.0.0" + checksum: 10c0/153614da4bd1e6e5702fcd4b9fa1577586652b942148607d4be6d477c1c14bcdd60daea044a17766e6e9b0762725574d8df3ffbf3013b2c8425fb3e9e7de6915 + languageName: node + linkType: hard + +"@cspell/cspell-resolver@npm:10.0.0": + version: 10.0.0 + resolution: "@cspell/cspell-resolver@npm:10.0.0" + dependencies: + global-directory: "npm:^5.0.0" + checksum: 10c0/a23acedbab5111af0c778a8305e965e9edfa5dc5e9c564b99a0dc126d0748bfd24e216c166fd0870adeb09ac30683ebf584ccb62e1289eefe1ccf5074748bc41 + languageName: node + linkType: hard + +"@cspell/cspell-service-bus@npm:10.0.0": + version: 10.0.0 + resolution: "@cspell/cspell-service-bus@npm:10.0.0" + checksum: 10c0/833279699282e993bf1195128e5c9fcc80a55be33fa30fd0de45664307387cd2996b709ca65223e3bb391b1f452f7ae3df8078b5776f80c30c95abba4f4a9528 + languageName: node + linkType: hard + +"@cspell/cspell-types@npm:10.0.0": + version: 10.0.0 + resolution: "@cspell/cspell-types@npm:10.0.0" + checksum: 10c0/f55ddee79160d3f06572850428c65726facf702676eee0fd2fdb77d827e9efbb946faffc025e57aefab3f8bbc026b0a2439952bb221d8aa357e0e05148f85e97 + languageName: node + linkType: hard + +"@cspell/cspell-worker@npm:10.0.0": + version: 10.0.0 + resolution: "@cspell/cspell-worker@npm:10.0.0" + dependencies: + cspell-lib: "npm:10.0.0" + checksum: 10c0/eae66e913542cef04873b3e4d7817f4606429670a9b4f302b4b42fa86c8a6c0f9abea7f1a527f746935d00bc8bdae312b6b2de9e0a64d69cb820e94b2a138c6b + languageName: node + linkType: hard + +"@cspell/dict-ada@npm:^4.1.1": + version: 4.1.1 + resolution: "@cspell/dict-ada@npm:4.1.1" + checksum: 10c0/4943399b5dd7dbed220b92ddcc6d3c55d0b00f141b52a39f35b9235e8f8cad8c0e63cab6af3f8f9e6ea669e672799215e50320059cae972fcd34174f4cbf38c7 + languageName: node + linkType: hard + +"@cspell/dict-al@npm:^1.1.1": + version: 1.1.1 + resolution: "@cspell/dict-al@npm:1.1.1" + checksum: 10c0/a6bd4d57a3027f91a44bd37f29f449beb684032cc88ba742a7b1576a3fac3f9d93c57b0a3b45eea732efb50c322ce2b8de386e1b15f605372ed312d4db6bc292 + languageName: node + linkType: hard + +"@cspell/dict-aws@npm:^4.0.17": + version: 4.0.17 + resolution: "@cspell/dict-aws@npm:4.0.17" + checksum: 10c0/d421a78aee8cc3db78a0bdffad2ceda9ca8e476498398809f2975bae9f03233df1112e713f2d699239600a9019d5e8f11ca60dfcb49fdce56815d5e794285c7b + languageName: node + linkType: hard + +"@cspell/dict-bash@npm:^4.2.2": + version: 4.2.2 + resolution: "@cspell/dict-bash@npm:4.2.2" + dependencies: + "@cspell/dict-shell": "npm:1.1.2" + checksum: 10c0/51b0552319cf190ab75841e7ea5d8919ecb2f165d8c1b9d3b26c90c5e30b9769e6a21212194b20db64a03a4c3f084d17be1f9957ecd733e90b2770e011d0e89b + languageName: node + linkType: hard + +"@cspell/dict-companies@npm:^3.2.11": + version: 3.2.11 + resolution: "@cspell/dict-companies@npm:3.2.11" + checksum: 10c0/9aa941967bbc48e171cb862b250d274fdc4234449a96f146b4814b0927897af827a056adb244ab110ca9a4ea5837819a4031eef2c7de0f0791a4d30a408b16a6 + languageName: node + linkType: hard + +"@cspell/dict-cpp@npm:^7.0.2": + version: 7.0.2 + resolution: "@cspell/dict-cpp@npm:7.0.2" + checksum: 10c0/a2926a6e896f04aa795edcd5fe3ac72cf1e05b97719946388cf31cf91737cfee816ffdd220e1960af60d7049daa37262787e76534afa5479fe10691af096b54c + languageName: node + linkType: hard + +"@cspell/dict-cryptocurrencies@npm:^5.0.5": + version: 5.0.5 + resolution: "@cspell/dict-cryptocurrencies@npm:5.0.5" + checksum: 10c0/d28c05f26d500bf05d08d725b43b5c1d740177b31ebdfcd03ae9929988b7878c3a6c94b99d8e355a5b20201f8af4b71713fb7f417548b69d621129ad6863be51 + languageName: node + linkType: hard + +"@cspell/dict-csharp@npm:^4.0.8": + version: 4.0.8 + resolution: "@cspell/dict-csharp@npm:4.0.8" + checksum: 10c0/b55dbe323b973e0e98d76a17205b103fbb52dec01d45d55aa06a14f1acc6c8bec259f7923bbe6138d1af2b11463969d920214ce0fc6e89eaf6fa08f86b10184e + languageName: node + linkType: hard + +"@cspell/dict-css@npm:^4.1.1": + version: 4.1.1 + resolution: "@cspell/dict-css@npm:4.1.1" + checksum: 10c0/979058aeaf695664255326b09d7fddbea57cb187484ae45e4741b6f6b92650b0ef9ce52d32651ba1927a6c2af3098ffa87edcad9f6f552e2c90c7c553ce2aac1 + languageName: node + linkType: hard + +"@cspell/dict-dart@npm:^2.3.2": + version: 2.3.2 + resolution: "@cspell/dict-dart@npm:2.3.2" + checksum: 10c0/1c0842ff09785aaf2bc2e68f4c05ec5e20331f3fce1503ef5a87305feb223f6e23404c68e4991bb90c6473825a7f8cd65b3ed86eef0d8032d43b13558ddb1753 + languageName: node + linkType: hard + +"@cspell/dict-data-science@npm:^2.0.13": + version: 2.0.13 + resolution: "@cspell/dict-data-science@npm:2.0.13" + checksum: 10c0/63d8291ef0e62defbf4b98e58bd1039747efdb6348fa64c128a01a0b28b93ce1724e878e945b1ca7d8f568a49446a46ed65ef71531130c7b1b1fddb5328a1a0e + languageName: node + linkType: hard + +"@cspell/dict-django@npm:^4.1.6": + version: 4.1.6 + resolution: "@cspell/dict-django@npm:4.1.6" + checksum: 10c0/76f71cba5a692df48554a3cd7cff7e27df85ab826e2cddf0594c21062e5c96de3090508314659a9ec708913a4afd61afb0f044ae8c41a1ec573583d516056f2d + languageName: node + linkType: hard + +"@cspell/dict-docker@npm:^1.1.17": + version: 1.1.17 + resolution: "@cspell/dict-docker@npm:1.1.17" + checksum: 10c0/1aaa4ffba7842b9044d1c4c6ae704907e6be3d8407c7feb986b3b7efa2e0139fc2ea3c3ad955d7ba4c92b5f577e05648ffc00a2a27b76d2bb93acde431452e58 + languageName: node + linkType: hard + +"@cspell/dict-dotnet@npm:^5.0.13": + version: 5.0.13 + resolution: "@cspell/dict-dotnet@npm:5.0.13" + checksum: 10c0/b34792ea2b1258f4e215487c4ff61de2fb3c9c6e0381fec03c4fb8132f2decd2b7b73a6450c507e8a3211e616282a3ace94e7d99363503e0efa4ef2cb6f2fcca + languageName: node + linkType: hard + +"@cspell/dict-elixir@npm:^4.0.8": + version: 4.0.8 + resolution: "@cspell/dict-elixir@npm:4.0.8" + checksum: 10c0/fe63aace353de8a134102764a58344fe755f27276fddcdf7e858d250ee13732a58f37f940c13bae7080fc286cb5b327ed168d201758da49243a1e45f42512c5f + languageName: node + linkType: hard + +"@cspell/dict-en-common-misspellings@npm:^2.1.12": + version: 2.1.12 + resolution: "@cspell/dict-en-common-misspellings@npm:2.1.12" + checksum: 10c0/5b7acd175ba76f164dcb5f5b7e910511dbd005bbab77fb5ae082603b01112d352af84bcd8d3ddef020db187b51056c4ce6a02dab8aebfcf0aa0dc416a66729a5 + languageName: node + linkType: hard + +"@cspell/dict-en-gb-mit@npm:^3.1.22": + version: 3.1.22 + resolution: "@cspell/dict-en-gb-mit@npm:3.1.22" + checksum: 10c0/78501fafeae62b966579c10de1f4fc24dedd57f83bdcafc72e314c9b781490858423890932b974f370dc8da2943cc8fdae435a289b13a397d8aa7986aa391d07 + languageName: node + linkType: hard + +"@cspell/dict-en_us@npm:^4.4.33": + version: 4.4.33 + resolution: "@cspell/dict-en_us@npm:4.4.33" + checksum: 10c0/c2b226f6879a58cfeecfa209116a241aabb9482b7fe56cac115b46bfefd557ec4f06efa33ae96c4d6e883cae70b5fdde83063315504c1dc4e4fb7916a46c2045 + languageName: node + linkType: hard + +"@cspell/dict-filetypes@npm:^3.0.18": + version: 3.0.18 + resolution: "@cspell/dict-filetypes@npm:3.0.18" + checksum: 10c0/b7a223eacef51770ed844b48b64d92b05b41a0a2ecbb6856ba8758fe8e444ca5f4252ecc511ac00ec1d12c1b12aef1198865f612cceaaf6d304c92b049a739cb + languageName: node + linkType: hard + +"@cspell/dict-flutter@npm:^1.1.1": + version: 1.1.1 + resolution: "@cspell/dict-flutter@npm:1.1.1" + checksum: 10c0/77e4533e6e7a38261ba2d744ca0c3aabb78f79b1ba6a2fde32169e475e5f940a526503097e520807155a0d8d0c16db346968873a32f1e99393be687da505e1b4 + languageName: node + linkType: hard + +"@cspell/dict-fonts@npm:^4.0.6": + version: 4.0.6 + resolution: "@cspell/dict-fonts@npm:4.0.6" + checksum: 10c0/73095a5bb3ec6ca24c7f01298b8344646005c0c05857b24ae106d7f795acf0b7107f4aaa677224c899d7aad7d0383f9f82dddd11a6b4cf3b26e3e5166b222674 + languageName: node + linkType: hard + +"@cspell/dict-fsharp@npm:^1.1.1": + version: 1.1.1 + resolution: "@cspell/dict-fsharp@npm:1.1.1" + checksum: 10c0/919de1f2a29d646781cb3114985f2730cc5ee0a253dc03c225c4430e73659e1189891fa7fa09c43179437e7386f4094e41d23d754b0a99a342344986094e2846 + languageName: node + linkType: hard + +"@cspell/dict-fullstack@npm:^3.2.9": + version: 3.2.9 + resolution: "@cspell/dict-fullstack@npm:3.2.9" + checksum: 10c0/a13d08099d1048797fe37d2a654846ff5086193bd29d57b62423ebc74f6c08c9f3b52c49f08b73d6bd09cdb393b70351f85f151893a20a5f8c858e474dd42e75 + languageName: node + linkType: hard + +"@cspell/dict-gaming-terms@npm:^1.1.2": + version: 1.1.2 + resolution: "@cspell/dict-gaming-terms@npm:1.1.2" + checksum: 10c0/eba9c672d352e54011704d97f5467158c02c238fa1639e64177ee1cd0d2c52deb57f0c9ae5f3c64d1742fd6a479515d0d8de5d1fc4ef8c5db58affb9947c90ea + languageName: node + linkType: hard + +"@cspell/dict-git@npm:^3.1.0": + version: 3.1.0 + resolution: "@cspell/dict-git@npm:3.1.0" + checksum: 10c0/161a9bd35f44173993c84ec2bc394c5fab4fe7d69070daa170be4922e295d60a3e34cecb04869a8b685b761c7ace83241ff4d60db93d2850368d769733a58de9 + languageName: node + linkType: hard + +"@cspell/dict-golang@npm:^6.0.26": + version: 6.0.26 + resolution: "@cspell/dict-golang@npm:6.0.26" + checksum: 10c0/514c54dc72620975e552ad91ecc8d98143611224e7fe3606fc6041f3248e9f9457be1f25027ff1d9bc2961459c5759dff3a01251054aab83bbcc9f927648b755 + languageName: node + linkType: hard + +"@cspell/dict-google@npm:^1.0.9": + version: 1.0.9 + resolution: "@cspell/dict-google@npm:1.0.9" + checksum: 10c0/f7e10353f97910a884f1d5ea4e60d4dd5a475ab27b669e97ade88669b1726eb4ed7c4f2ae5e3a227da77a15433ca3b6faba8d8700ff431b31c812d3c5329c8e4 + languageName: node + linkType: hard + +"@cspell/dict-haskell@npm:^4.0.6": + version: 4.0.6 + resolution: "@cspell/dict-haskell@npm:4.0.6" + checksum: 10c0/cb8a179e26190ca333789dcbd1dae3c03ec28a8d4dd99756e770c9cf837e66a78f291e6db0d8ea7763cdbb968b0369998c593978a3bb52a9b38aaa4ce8746b3a + languageName: node + linkType: hard + +"@cspell/dict-html-symbol-entities@npm:^4.0.5": + version: 4.0.5 + resolution: "@cspell/dict-html-symbol-entities@npm:4.0.5" + checksum: 10c0/8278b8cca06e6d3654e81b1809227ff1d64e053f79308966ea601194ce51fa3a385dde6844509b26223de70d034e60a85c604a729f021c0de63f8a5e6f29b0ce + languageName: node + linkType: hard + +"@cspell/dict-html@npm:^4.0.15": + version: 4.0.15 + resolution: "@cspell/dict-html@npm:4.0.15" + checksum: 10c0/0812ae7f11ea2160ab4df8039b0f5af023c102d8806dc6ea9b8a90f96cc564b00dad167c3eb1a6685a244980ac203cc168438b352c84918a215147ef632aca10 + languageName: node + linkType: hard + +"@cspell/dict-java@npm:^5.0.12": + version: 5.0.12 + resolution: "@cspell/dict-java@npm:5.0.12" + checksum: 10c0/aba65f3762350c7e9381f5dc174d3cd1292379eef6b426e1561aeca3476c63268a10b99cfcd7b8cd15bbaef8dfa7abb914a3f34f211c504064a22409a1441923 + languageName: node + linkType: hard + +"@cspell/dict-julia@npm:^1.1.1": + version: 1.1.1 + resolution: "@cspell/dict-julia@npm:1.1.1" + checksum: 10c0/6dbc4c17bbee1a95491bf77b9438924852e9393699ac24e02a0b6846fdaf00a6ed5baafa94aa91a6f50016c3ab43c399ac814afa6504518da7e2f26a97ff3d0e + languageName: node + linkType: hard + +"@cspell/dict-k8s@npm:^1.0.12": + version: 1.0.12 + resolution: "@cspell/dict-k8s@npm:1.0.12" + checksum: 10c0/53ca1b0d86f8432fb9548982edfde402985a1dc7c0b778374968a9b657e53bace638ef188551c0847588e2bf6ad147d2cd0ee92d5a37b71b0791e63971bfd2d1 + languageName: node + linkType: hard + +"@cspell/dict-kotlin@npm:^1.1.1": + version: 1.1.1 + resolution: "@cspell/dict-kotlin@npm:1.1.1" + checksum: 10c0/45d0efc3701007b87e562d434eae8b05a16f730b28dd6d3ec237014d1b87dfa49075b57fad1acdb7b7939c64777f5238b991379debd9a45d91a3193a1e3481fc + languageName: node + linkType: hard + +"@cspell/dict-latex@npm:^5.1.0": + version: 5.1.0 + resolution: "@cspell/dict-latex@npm:5.1.0" + checksum: 10c0/e806722c0ff1581a069245cb297b954f8e24fb6e1942f2547b0fee7783fc9b59d08fe2d2c7ddf3f7f9eef60d783ac9a4290f37956b9723b13e21c9422d7962b0 + languageName: node + linkType: hard + +"@cspell/dict-lorem-ipsum@npm:^4.0.5": + version: 4.0.5 + resolution: "@cspell/dict-lorem-ipsum@npm:4.0.5" + checksum: 10c0/dd28957e60f4f68baec72fb69196394b9993fcadadcf018c58de75bf89434e4cd49e694cd33dccfcd18d4f65e489f37d284044ef75615613369e0a72dd2ec974 + languageName: node + linkType: hard + +"@cspell/dict-lua@npm:^4.0.8": + version: 4.0.8 + resolution: "@cspell/dict-lua@npm:4.0.8" + checksum: 10c0/24dd577a75bcc5fcd194a337fdcb7a443f239b1b22f7392787ed8e9fd82f03f14b524a5f49a394c2d372ba493ab6cb3aebe7219da69e4565404b11cc29a909a3 + languageName: node + linkType: hard + +"@cspell/dict-makefile@npm:^1.0.5": + version: 1.0.5 + resolution: "@cspell/dict-makefile@npm:1.0.5" + checksum: 10c0/ee6ae5472493cb5fde7326c4ecb9e036b8a3cd348c3c06c2cbe5ce420a13776bd8f6fb0709f2f5bb62f745ea4d1fa63d59e533fbce13bde07743867f77818e86 + languageName: node + linkType: hard + +"@cspell/dict-markdown@npm:^2.0.16": + version: 2.0.16 + resolution: "@cspell/dict-markdown@npm:2.0.16" + peerDependencies: + "@cspell/dict-css": ^4.1.1 + "@cspell/dict-html": ^4.0.15 + "@cspell/dict-html-symbol-entities": ^4.0.5 + "@cspell/dict-typescript": ^3.2.3 + checksum: 10c0/563414ae9d6b0a12ba89c54ec62ada59c1fbc0b7199a85d607d9aae22e6446f2fb1757a737b0d631843989888b611bf39eebf79eef1a43e37e0584181274248c + languageName: node + linkType: hard + +"@cspell/dict-monkeyc@npm:^1.0.12": + version: 1.0.12 + resolution: "@cspell/dict-monkeyc@npm:1.0.12" + checksum: 10c0/97250565f808cbf37d66f2585db7accf449bc1836c72b3fac0449896fe17b8dfa3e5dc15f27f4e5cbe61dc7c24e9b17c1d7f475c934cd7c68b1aa597386a5bc0 + languageName: node + linkType: hard + +"@cspell/dict-node@npm:^5.0.9": + version: 5.0.9 + resolution: "@cspell/dict-node@npm:5.0.9" + checksum: 10c0/129fa7cd204e26769829912a8a64225af45b5cf0438f597329966e1c3db5ffca04b4c426d9cee594f271d14500e11319bc7ed371207cb18d73966000303e3072 + languageName: node + linkType: hard + +"@cspell/dict-npm@npm:^5.2.38": + version: 5.2.38 + resolution: "@cspell/dict-npm@npm:5.2.38" + checksum: 10c0/6eeeb9a0fd114fedaf7b8599f899484b20acd4e67a008056833b5791d59098c023023ac7afcbe5f35e7863ff6f64dad5012fbfaa8edb8695775d8f5635d53395 + languageName: node + linkType: hard + +"@cspell/dict-php@npm:^4.1.1": + version: 4.1.1 + resolution: "@cspell/dict-php@npm:4.1.1" + checksum: 10c0/e11e2a3799b2c9ea590ce8b2e69838965f3d8f83020961720afde9c9c57b6ccdb013d54346900766ccf422c548c916dd2aaa890563d36cf12498ad3ddfe67d7a + languageName: node + linkType: hard + +"@cspell/dict-powershell@npm:^5.0.15": + version: 5.0.15 + resolution: "@cspell/dict-powershell@npm:5.0.15" + checksum: 10c0/be9219dcaaa85ce3c8c51330cab3464b3dc3ea333ef96e98cca16375f80a807ee590f41fc0630e97460292f6a73d4ccb0d7c44b032a7c2fdaa168fe951631797 + languageName: node + linkType: hard + +"@cspell/dict-public-licenses@npm:^2.0.16": + version: 2.0.16 + resolution: "@cspell/dict-public-licenses@npm:2.0.16" + checksum: 10c0/473a29eb6fa8cf0d64fffcac0a686c492777dca9a0d6be4c890bcb0e98cb2f01a4afbbfcb88e903a5895593567ec6f2646097f07b0453b689fd70272088aa2a0 + languageName: node + linkType: hard + +"@cspell/dict-python@npm:^4.2.26": + version: 4.2.26 + resolution: "@cspell/dict-python@npm:4.2.26" + dependencies: + "@cspell/dict-data-science": "npm:^2.0.13" + checksum: 10c0/3773c7856b47648f5f54c92cf5660f121fbafc98ecca5d6ab6767e2a8b297598b0c51e43f404faac9eef7a72adbf8c49312aea3d16399cee14a11746a2277e09 + languageName: node + linkType: hard + +"@cspell/dict-r@npm:^2.1.1": + version: 2.1.1 + resolution: "@cspell/dict-r@npm:2.1.1" + checksum: 10c0/ff36a7f8669dde33e09d824de487bbab584c0105c61c97f38375835664a42566874051891d8ede7ac134bab4bd84c12bd333800d9c548386086ac496a87fd576 + languageName: node + linkType: hard + +"@cspell/dict-ruby@npm:^5.1.1": + version: 5.1.1 + resolution: "@cspell/dict-ruby@npm:5.1.1" + checksum: 10c0/ec23c736a4e5588c8c55a44b5c31eb7238a199ac4f2a84fd9aa6558a80f6416c42d7eaa7337e30590b66bbaac5523b6d64519f7e33eadc4cf1d878f20bb86fc0 + languageName: node + linkType: hard + +"@cspell/dict-rust@npm:^4.1.2": + version: 4.1.2 + resolution: "@cspell/dict-rust@npm:4.1.2" + checksum: 10c0/ccee1ef1652f8855f2fee1c5b7c173eda9660f0c7f1eadb550ab2e4e8e2ee2e31eee903e294a32052996fed4045907b0a53383f6fe74d28a04de94a4ac69a29d + languageName: node + linkType: hard + +"@cspell/dict-scala@npm:^5.0.9": + version: 5.0.9 + resolution: "@cspell/dict-scala@npm:5.0.9" + checksum: 10c0/f6b214f4cebcb68a270f4e5cb4163fdd59b58afb28894ac6f523025f411792454c6645c0c616d00af10ea541d5fbd25d34ad7986ddef1bb2181003e39140abbe + languageName: node + linkType: hard + +"@cspell/dict-shell@npm:1.1.2, @cspell/dict-shell@npm:^1.1.2": + version: 1.1.2 + resolution: "@cspell/dict-shell@npm:1.1.2" + checksum: 10c0/5c05d24e6944abee63f6726630967691d175376152c98f8ed82a149d8f2065b507dd1fbbb542b8df01c19280b23737ed786c9c527d6a3b3386f525ec6478eafc + languageName: node + linkType: hard + +"@cspell/dict-software-terms@npm:^5.2.2": + version: 5.2.2 + resolution: "@cspell/dict-software-terms@npm:5.2.2" + checksum: 10c0/eca6c5ee91a21c76b9d735c5777521287c896bd03e448c8512b61b75e926a269aef5e03dd0ea3cd2b8291ea56e6f140742f4a4826045603fffdeaba228272557 + languageName: node + linkType: hard + +"@cspell/dict-sql@npm:^2.2.1": + version: 2.2.1 + resolution: "@cspell/dict-sql@npm:2.2.1" + checksum: 10c0/0e4e763a81669226cd54888546b0cffb12b66be0f945e97c1ea11638a3e4a074408bafeac10a7cf455781a0e5d55b41f5b0ff6fb0d58ae0b043dc1f37e792d51 + languageName: node + linkType: hard + +"@cspell/dict-svelte@npm:^1.0.7": + version: 1.0.7 + resolution: "@cspell/dict-svelte@npm:1.0.7" + checksum: 10c0/08aaf8818c6626bb330359d9682893daade5884105421db6916636a54423f043b706d49a3ad0b07fe05e7751753f9fa8dda1ac6c11662d6f16741c87f30d0c2a + languageName: node + linkType: hard + +"@cspell/dict-swift@npm:^2.0.6": + version: 2.0.6 + resolution: "@cspell/dict-swift@npm:2.0.6" + checksum: 10c0/ef8e5a6a63dd29055fd614a4d29e50b81fb88db166bb239a15279583def70786f6f3eb63e0071f771efe35b94739d22e5d48ccb4542dd0f217b71229f93a6377 + languageName: node + linkType: hard + +"@cspell/dict-terraform@npm:^1.1.3": + version: 1.1.3 + resolution: "@cspell/dict-terraform@npm:1.1.3" + checksum: 10c0/3964295ef52ab787d42360c48f312614034181f3b63c9a567a724c07af35872d6e2c96f765f2f9ba87e8a40451961844307459c40e066506b549cd55e1746ece + languageName: node + linkType: hard + +"@cspell/dict-typescript@npm:^3.2.3": + version: 3.2.3 + resolution: "@cspell/dict-typescript@npm:3.2.3" + checksum: 10c0/b4bb34efa2f3ce120cf5a7d4aab4a49ffcb2aaa59c5d81aa5e2550e06d61738399e015c9e1447c1beb9fadbf6b084523be696ae9d5f9d3b63ea6f6189d280316 + languageName: node + linkType: hard + +"@cspell/dict-vue@npm:^3.0.5": + version: 3.0.5 + resolution: "@cspell/dict-vue@npm:3.0.5" + checksum: 10c0/da4a1778095c8f56953d1f1934f41369e4e5c9b83e0862cd37782aae875820e8404f8dd3cd4cb2ea5be46370dd1698966f69b50121c75a50b8652414dc26f2cc + languageName: node + linkType: hard + +"@cspell/dict-zig@npm:^1.0.0": + version: 1.0.0 + resolution: "@cspell/dict-zig@npm:1.0.0" + checksum: 10c0/bc302e117002c9d6ebfb5d3e085d9a6f2e65d63440deb9f137dce1d8a75650593f5b83d47488ab394cfbc173be032661dc36bc74c85b9826f60a7d2fc7955ffc + languageName: node + linkType: hard + +"@cspell/dynamic-import@npm:10.0.0": + version: 10.0.0 + resolution: "@cspell/dynamic-import@npm:10.0.0" + dependencies: + "@cspell/url": "npm:10.0.0" + import-meta-resolve: "npm:^4.2.0" + checksum: 10c0/8ea1134ae75a2ffd2101017036437562eff03cc773864b2d69a1fa7ab304494d06ebfe5b5e59159d42c8a40dc1c623992642e2ab6d66a2b11f12f97b5e620bfb + languageName: node + linkType: hard + +"@cspell/filetypes@npm:10.0.0": + version: 10.0.0 + resolution: "@cspell/filetypes@npm:10.0.0" + checksum: 10c0/e66d285756f2390341318c9045ba12c0e05e704d74eb715023cfd56fcb368a51b5c4a6c835103c8f9f8fb1cfbe17d443736c3aa0df4f3848acf69bf75ffeca19 + languageName: node + linkType: hard + +"@cspell/rpc@npm:10.0.0": + version: 10.0.0 + resolution: "@cspell/rpc@npm:10.0.0" + checksum: 10c0/394f52040f062fa2335dd0a8e34ff7679553af6abd4d97bb7b0fbcde100b26f728ea3239a16953567815612270bdb13d236b2ce2689f530511aa117e4c081d6e + languageName: node + linkType: hard + +"@cspell/strong-weak-map@npm:10.0.0": + version: 10.0.0 + resolution: "@cspell/strong-weak-map@npm:10.0.0" + checksum: 10c0/bfdff730f5adff3b42c49ce35eece42f7e193843c8e69a9f87276eb1ba29144caaf72eabedcb6564e117905053161e8e59432963ccfcc0319707a98d127a80ff + languageName: node + linkType: hard + +"@cspell/url@npm:10.0.0": + version: 10.0.0 + resolution: "@cspell/url@npm:10.0.0" + checksum: 10c0/78bd9075bc0b9457c51ccbc1294220e35d159d1e5687501d0f28706ad331c9ee8f9869098e0aaab27d608594e55b9434efd94123d64205d8a2343938c089b20d + languageName: node + linkType: hard + "@emnapi/core@npm:1.10.0, @emnapi/core@npm:^1.4.3": version: 1.10.0 resolution: "@emnapi/core@npm:1.10.0" @@ -75,7 +657,7 @@ __metadata: languageName: node linkType: hard -"@eslint-community/eslint-utils@npm:^4.8.0, @eslint-community/eslint-utils@npm:^4.9.1": +"@eslint-community/eslint-utils@npm:^4.5.1, @eslint-community/eslint-utils@npm:^4.8.0, @eslint-community/eslint-utils@npm:^4.9.1": version: 4.9.1 resolution: "@eslint-community/eslint-utils@npm:4.9.1" dependencies: @@ -113,7 +695,7 @@ __metadata: languageName: node linkType: hard -"@eslint/core@npm:^1.2.1": +"@eslint/core@npm:^1.0.1, @eslint/core@npm:^1.1.1, @eslint/core@npm:^1.2.1": version: 1.2.1 resolution: "@eslint/core@npm:1.2.1" dependencies: @@ -141,6 +723,16 @@ __metadata: languageName: node linkType: hard +"@eslint/plugin-kit@npm:^0.6.0": + version: 0.6.1 + resolution: "@eslint/plugin-kit@npm:0.6.1" + dependencies: + "@eslint/core": "npm:^1.1.1" + levn: "npm:^0.4.1" + checksum: 10c0/f8354a7b92cc41e7a55d51986d192134be84f9dc0c91b5e649d075d733b56981c4ca8bf4460d54120c4c87b47984167bad2cb9bceb303f11b0a3bad22b3ed06a + languageName: node + linkType: hard + "@eslint/plugin-kit@npm:^0.7.1": version: 0.7.1 resolution: "@eslint/plugin-kit@npm:0.7.1" @@ -236,22 +828,322 @@ __metadata: languageName: node linkType: hard -"@napi-rs/wasm-runtime@npm:^1.1.4": - version: 1.1.4 - resolution: "@napi-rs/wasm-runtime@npm:1.1.4" +"@napi-rs/wasm-runtime@npm:^1.1.1, @napi-rs/wasm-runtime@npm:^1.1.4": + version: 1.1.4 + resolution: "@napi-rs/wasm-runtime@npm:1.1.4" + dependencies: + "@tybys/wasm-util": "npm:^0.10.1" + peerDependencies: + "@emnapi/core": ^1.7.1 + "@emnapi/runtime": ^1.7.1 + checksum: 10c0/2e88e1955258949ccf2d18c79975821ad38071b465ef126a5e14110977b97868867b016c1ad046e963cccc42c0bd9db6c8ff5fd1ebb61b87bb3487f339041658 + languageName: node + linkType: hard + +"@ota-meshi/ast-token-store@npm:^0.3.0": + version: 0.3.0 + resolution: "@ota-meshi/ast-token-store@npm:0.3.0" + checksum: 10c0/cb36d5b3e1379901e197d03869772f96d6505be8c06701dd56a02123a9a5484cfe8d759610622058675434ee2dcdba37b939cc249abe9babefcd400a63a77e9a + languageName: node + linkType: hard + +"@oxc-parser/binding-android-arm-eabi@npm:0.128.0": + version: 0.128.0 + resolution: "@oxc-parser/binding-android-arm-eabi@npm:0.128.0" + conditions: os=android & cpu=arm + languageName: node + linkType: hard + +"@oxc-parser/binding-android-arm64@npm:0.128.0": + version: 0.128.0 + resolution: "@oxc-parser/binding-android-arm64@npm:0.128.0" + conditions: os=android & cpu=arm64 + languageName: node + linkType: hard + +"@oxc-parser/binding-darwin-arm64@npm:0.128.0": + version: 0.128.0 + resolution: "@oxc-parser/binding-darwin-arm64@npm:0.128.0" + conditions: os=darwin & cpu=arm64 + languageName: node + linkType: hard + +"@oxc-parser/binding-darwin-x64@npm:0.128.0": + version: 0.128.0 + resolution: "@oxc-parser/binding-darwin-x64@npm:0.128.0" + conditions: os=darwin & cpu=x64 + languageName: node + linkType: hard + +"@oxc-parser/binding-freebsd-x64@npm:0.128.0": + version: 0.128.0 + resolution: "@oxc-parser/binding-freebsd-x64@npm:0.128.0" + conditions: os=freebsd & cpu=x64 + languageName: node + linkType: hard + +"@oxc-parser/binding-linux-arm-gnueabihf@npm:0.128.0": + version: 0.128.0 + resolution: "@oxc-parser/binding-linux-arm-gnueabihf@npm:0.128.0" + conditions: os=linux & cpu=arm + languageName: node + linkType: hard + +"@oxc-parser/binding-linux-arm-musleabihf@npm:0.128.0": + version: 0.128.0 + resolution: "@oxc-parser/binding-linux-arm-musleabihf@npm:0.128.0" + conditions: os=linux & cpu=arm + languageName: node + linkType: hard + +"@oxc-parser/binding-linux-arm64-gnu@npm:0.128.0": + version: 0.128.0 + resolution: "@oxc-parser/binding-linux-arm64-gnu@npm:0.128.0" + conditions: os=linux & cpu=arm64 & libc=glibc + languageName: node + linkType: hard + +"@oxc-parser/binding-linux-arm64-musl@npm:0.128.0": + version: 0.128.0 + resolution: "@oxc-parser/binding-linux-arm64-musl@npm:0.128.0" + conditions: os=linux & cpu=arm64 & libc=musl + languageName: node + linkType: hard + +"@oxc-parser/binding-linux-ppc64-gnu@npm:0.128.0": + version: 0.128.0 + resolution: "@oxc-parser/binding-linux-ppc64-gnu@npm:0.128.0" + conditions: os=linux & cpu=ppc64 & libc=glibc + languageName: node + linkType: hard + +"@oxc-parser/binding-linux-riscv64-gnu@npm:0.128.0": + version: 0.128.0 + resolution: "@oxc-parser/binding-linux-riscv64-gnu@npm:0.128.0" + conditions: os=linux & cpu=riscv64 & libc=glibc + languageName: node + linkType: hard + +"@oxc-parser/binding-linux-riscv64-musl@npm:0.128.0": + version: 0.128.0 + resolution: "@oxc-parser/binding-linux-riscv64-musl@npm:0.128.0" + conditions: os=linux & cpu=riscv64 & libc=musl + languageName: node + linkType: hard + +"@oxc-parser/binding-linux-s390x-gnu@npm:0.128.0": + version: 0.128.0 + resolution: "@oxc-parser/binding-linux-s390x-gnu@npm:0.128.0" + conditions: os=linux & cpu=s390x & libc=glibc + languageName: node + linkType: hard + +"@oxc-parser/binding-linux-x64-gnu@npm:0.128.0": + version: 0.128.0 + resolution: "@oxc-parser/binding-linux-x64-gnu@npm:0.128.0" + conditions: os=linux & cpu=x64 & libc=glibc + languageName: node + linkType: hard + +"@oxc-parser/binding-linux-x64-musl@npm:0.128.0": + version: 0.128.0 + resolution: "@oxc-parser/binding-linux-x64-musl@npm:0.128.0" + conditions: os=linux & cpu=x64 & libc=musl + languageName: node + linkType: hard + +"@oxc-parser/binding-openharmony-arm64@npm:0.128.0": + version: 0.128.0 + resolution: "@oxc-parser/binding-openharmony-arm64@npm:0.128.0" + conditions: os=openharmony & cpu=arm64 + languageName: node + linkType: hard + +"@oxc-parser/binding-wasm32-wasi@npm:0.128.0": + version: 0.128.0 + resolution: "@oxc-parser/binding-wasm32-wasi@npm:0.128.0" + dependencies: + "@emnapi/core": "npm:1.10.0" + "@emnapi/runtime": "npm:1.10.0" + "@napi-rs/wasm-runtime": "npm:^1.1.4" + conditions: cpu=wasm32 + languageName: node + linkType: hard + +"@oxc-parser/binding-win32-arm64-msvc@npm:0.128.0": + version: 0.128.0 + resolution: "@oxc-parser/binding-win32-arm64-msvc@npm:0.128.0" + conditions: os=win32 & cpu=arm64 + languageName: node + linkType: hard + +"@oxc-parser/binding-win32-ia32-msvc@npm:0.128.0": + version: 0.128.0 + resolution: "@oxc-parser/binding-win32-ia32-msvc@npm:0.128.0" + conditions: os=win32 & cpu=ia32 + languageName: node + linkType: hard + +"@oxc-parser/binding-win32-x64-msvc@npm:0.128.0": + version: 0.128.0 + resolution: "@oxc-parser/binding-win32-x64-msvc@npm:0.128.0" + conditions: os=win32 & cpu=x64 + languageName: node + linkType: hard + +"@oxc-project/types@npm:=0.127.0": + version: 0.127.0 + resolution: "@oxc-project/types@npm:0.127.0" + checksum: 10c0/52c0947ac64a9ca119fe971f947e784a35ecd14a072fa3f542a58a5f6c42010b53f2bf92731e39b9899b83c990a9517bbd29d1e5a5b7b489e52616685c6a9278 + languageName: node + linkType: hard + +"@oxc-project/types@npm:^0.128.0": + version: 0.128.0 + resolution: "@oxc-project/types@npm:0.128.0" + checksum: 10c0/b6999b1b6b012d979364231a2c0c9204bca814a73f8417234edd39bf352a081779dad72aaf18ac60a676fb904c1408b63553e4e1230d7408a4f885002d66c809 + languageName: node + linkType: hard + +"@oxc-resolver/binding-android-arm-eabi@npm:11.19.1": + version: 11.19.1 + resolution: "@oxc-resolver/binding-android-arm-eabi@npm:11.19.1" + conditions: os=android & cpu=arm + languageName: node + linkType: hard + +"@oxc-resolver/binding-android-arm64@npm:11.19.1": + version: 11.19.1 + resolution: "@oxc-resolver/binding-android-arm64@npm:11.19.1" + conditions: os=android & cpu=arm64 + languageName: node + linkType: hard + +"@oxc-resolver/binding-darwin-arm64@npm:11.19.1": + version: 11.19.1 + resolution: "@oxc-resolver/binding-darwin-arm64@npm:11.19.1" + conditions: os=darwin & cpu=arm64 + languageName: node + linkType: hard + +"@oxc-resolver/binding-darwin-x64@npm:11.19.1": + version: 11.19.1 + resolution: "@oxc-resolver/binding-darwin-x64@npm:11.19.1" + conditions: os=darwin & cpu=x64 + languageName: node + linkType: hard + +"@oxc-resolver/binding-freebsd-x64@npm:11.19.1": + version: 11.19.1 + resolution: "@oxc-resolver/binding-freebsd-x64@npm:11.19.1" + conditions: os=freebsd & cpu=x64 + languageName: node + linkType: hard + +"@oxc-resolver/binding-linux-arm-gnueabihf@npm:11.19.1": + version: 11.19.1 + resolution: "@oxc-resolver/binding-linux-arm-gnueabihf@npm:11.19.1" + conditions: os=linux & cpu=arm + languageName: node + linkType: hard + +"@oxc-resolver/binding-linux-arm-musleabihf@npm:11.19.1": + version: 11.19.1 + resolution: "@oxc-resolver/binding-linux-arm-musleabihf@npm:11.19.1" + conditions: os=linux & cpu=arm + languageName: node + linkType: hard + +"@oxc-resolver/binding-linux-arm64-gnu@npm:11.19.1": + version: 11.19.1 + resolution: "@oxc-resolver/binding-linux-arm64-gnu@npm:11.19.1" + conditions: os=linux & cpu=arm64 & libc=glibc + languageName: node + linkType: hard + +"@oxc-resolver/binding-linux-arm64-musl@npm:11.19.1": + version: 11.19.1 + resolution: "@oxc-resolver/binding-linux-arm64-musl@npm:11.19.1" + conditions: os=linux & cpu=arm64 & libc=musl + languageName: node + linkType: hard + +"@oxc-resolver/binding-linux-ppc64-gnu@npm:11.19.1": + version: 11.19.1 + resolution: "@oxc-resolver/binding-linux-ppc64-gnu@npm:11.19.1" + conditions: os=linux & cpu=ppc64 & libc=glibc + languageName: node + linkType: hard + +"@oxc-resolver/binding-linux-riscv64-gnu@npm:11.19.1": + version: 11.19.1 + resolution: "@oxc-resolver/binding-linux-riscv64-gnu@npm:11.19.1" + conditions: os=linux & cpu=riscv64 & libc=glibc + languageName: node + linkType: hard + +"@oxc-resolver/binding-linux-riscv64-musl@npm:11.19.1": + version: 11.19.1 + resolution: "@oxc-resolver/binding-linux-riscv64-musl@npm:11.19.1" + conditions: os=linux & cpu=riscv64 & libc=musl + languageName: node + linkType: hard + +"@oxc-resolver/binding-linux-s390x-gnu@npm:11.19.1": + version: 11.19.1 + resolution: "@oxc-resolver/binding-linux-s390x-gnu@npm:11.19.1" + conditions: os=linux & cpu=s390x & libc=glibc + languageName: node + linkType: hard + +"@oxc-resolver/binding-linux-x64-gnu@npm:11.19.1": + version: 11.19.1 + resolution: "@oxc-resolver/binding-linux-x64-gnu@npm:11.19.1" + conditions: os=linux & cpu=x64 & libc=glibc + languageName: node + linkType: hard + +"@oxc-resolver/binding-linux-x64-musl@npm:11.19.1": + version: 11.19.1 + resolution: "@oxc-resolver/binding-linux-x64-musl@npm:11.19.1" + conditions: os=linux & cpu=x64 & libc=musl + languageName: node + linkType: hard + +"@oxc-resolver/binding-openharmony-arm64@npm:11.19.1": + version: 11.19.1 + resolution: "@oxc-resolver/binding-openharmony-arm64@npm:11.19.1" + conditions: os=openharmony & cpu=arm64 + languageName: node + linkType: hard + +"@oxc-resolver/binding-wasm32-wasi@npm:11.19.1": + version: 11.19.1 + resolution: "@oxc-resolver/binding-wasm32-wasi@npm:11.19.1" dependencies: - "@tybys/wasm-util": "npm:^0.10.1" - peerDependencies: - "@emnapi/core": ^1.7.1 - "@emnapi/runtime": ^1.7.1 - checksum: 10c0/2e88e1955258949ccf2d18c79975821ad38071b465ef126a5e14110977b97868867b016c1ad046e963cccc42c0bd9db6c8ff5fd1ebb61b87bb3487f339041658 + "@napi-rs/wasm-runtime": "npm:^1.1.1" + conditions: cpu=wasm32 languageName: node linkType: hard -"@oxc-project/types@npm:=0.127.0": - version: 0.127.0 - resolution: "@oxc-project/types@npm:0.127.0" - checksum: 10c0/52c0947ac64a9ca119fe971f947e784a35ecd14a072fa3f542a58a5f6c42010b53f2bf92731e39b9899b83c990a9517bbd29d1e5a5b7b489e52616685c6a9278 +"@oxc-resolver/binding-win32-arm64-msvc@npm:11.19.1": + version: 11.19.1 + resolution: "@oxc-resolver/binding-win32-arm64-msvc@npm:11.19.1" + conditions: os=win32 & cpu=arm64 + languageName: node + linkType: hard + +"@oxc-resolver/binding-win32-ia32-msvc@npm:11.19.1": + version: 11.19.1 + resolution: "@oxc-resolver/binding-win32-ia32-msvc@npm:11.19.1" + conditions: os=win32 & cpu=ia32 + languageName: node + linkType: hard + +"@oxc-resolver/binding-win32-x64-msvc@npm:11.19.1": + version: 11.19.1 + resolution: "@oxc-resolver/binding-win32-x64-msvc@npm:11.19.1" + conditions: os=win32 & cpu=x64 languageName: node linkType: hard @@ -847,7 +1739,7 @@ __metadata: languageName: node linkType: hard -"acorn@npm:^8.16.0": +"acorn@npm:^8.16.0, acorn@npm:^8.5.0": version: 8.16.0 resolution: "acorn@npm:8.16.0" bin: @@ -875,6 +1767,13 @@ __metadata: languageName: node linkType: hard +"ansi-regex@npm:^6.2.2": + version: 6.2.2 + resolution: "ansi-regex@npm:6.2.2" + checksum: 10c0/05d4acb1d2f59ab2cf4b794339c7b168890d44dda4bf0ce01152a8da0213aca207802f930442ce8cd22d7a92f44907664aac6508904e75e038fa944d2601b30f + languageName: node + linkType: hard + "array-buffer-byte-length@npm:^1.0.1, array-buffer-byte-length@npm:^1.0.2": version: 1.0.2 resolution: "array-buffer-byte-length@npm:1.0.2" @@ -901,6 +1800,13 @@ __metadata: languageName: node linkType: hard +"array-timsort@npm:^1.0.3": + version: 1.0.3 + resolution: "array-timsort@npm:1.0.3" + checksum: 10c0/bd3a1707b621947265c89867e67c9102b9b9f4c50f5b3974220112290d8b60d26ce60595edec5deed3325207b759d70b758bed3cd310b5ddadb835657ffb6d12 + languageName: node + linkType: hard + "array.prototype.findlastindex@npm:^1.2.6": version: 1.2.6 resolution: "array.prototype.findlastindex@npm:1.2.6" @@ -1015,14 +1921,14 @@ __metadata: languageName: node linkType: hard -"axios@npm:^1.15.2": - version: 1.15.2 - resolution: "axios@npm:1.15.2" +"axios@npm:^1.16.0": + version: 1.16.0 + resolution: "axios@npm:1.16.0" dependencies: - follow-redirects: "npm:^1.15.11" + follow-redirects: "npm:^1.16.0" form-data: "npm:^4.0.5" proxy-from-env: "npm:^2.1.0" - checksum: 10c0/4eeae0feeaa7fdc1ef24f81f8b378fdadedf4aebdd6bf224484675160f8744cf17b9b0d1c215279979940f7e8ce463beffa2f713099612e428eac238515c81d5 + checksum: 10c0/1c91a5221b77b76072026b4cc95ecdf38f7c3e33e63423abec09a85e6e9a12279637dcc9ac2ba1fc333e0c447fb3b0f46d7965acb5d7cea02d188e9c6d425c0b languageName: node linkType: hard @@ -1061,16 +1967,19 @@ __metadata: "@eslint/js": "npm:^10.0.1" "@types/node": "npm:^25.6.0" "@vitest/coverage-v8": "npm:^4.1.5" - axios: "npm:^1.15.2" + axios: "npm:^1.16.0" axios-mock-adapter: "npm:^2.1.0" blaise-iap-node-provider: "git+https://github.com/ONSdigital/blaise-iap-node-provider.git#BLAIS5-5177" - eslint: "npm:^10.2.1" + cspell: "npm:^10.0.0" + eslint: "npm:^10.3.0" eslint-config-prettier: "npm:^10.1.8" eslint-import-resolver-typescript: "npm:^4.4.4" eslint-plugin-import: "npm:^2.32.0" - eslint-plugin-prettier: "npm:^5.5.5" - globals: "npm:^17.5.0" + eslint-plugin-jsonc: "npm:^3.1.2" + globals: "npm:^17.6.0" jiti: "npm:^2.6.1" + jsonc-eslint-parser: "npm:^3.1.0" + knip: "npm:^6.11.0" prettier: "npm:^3.8.3" typescript: "npm:^6.0.3" typescript-eslint: "npm:^8.59.1" @@ -1080,13 +1989,11 @@ __metadata: "blaise-iap-node-provider@git+https://github.com/ONSdigital/blaise-iap-node-provider.git#BLAIS5-5177": version: 1.0.0 - resolution: "blaise-iap-node-provider@https://github.com/ONSdigital/blaise-iap-node-provider.git#commit=3e1b8df5c30c798f28dcc8ea448d509d1e8f6a7a" + resolution: "blaise-iap-node-provider@https://github.com/ONSdigital/blaise-iap-node-provider.git#commit=4a83409851a428ad0284ea8630305834275cedc8" dependencies: - "@types/node": "npm:^25.6.0" google-auth-library: "npm:^10.6.2" jsonwebtoken: "npm:^9.0.3" - typescript: "npm:^6.0.3" - checksum: 10c0/8c618ddc14813bf48f0facdc2afab3a0070f6c201bcce5bdd795d6759a5ed968acd8b4befd8bd59745aad5f60beed4ed9ee0da74ec01eb8de0c28f7131290568 + checksum: 10c0/7bac91cf8de6237ee96ae48414973e337f6d0100ce715a70109b4cbf53bd8846636dafd0311c77f1b01f3f2763631c03de3af4e8c975b477378d2d661f0c5833 languageName: node linkType: hard @@ -1155,6 +2062,22 @@ __metadata: languageName: node linkType: hard +"chalk-template@npm:^1.1.2": + version: 1.1.2 + resolution: "chalk-template@npm:1.1.2" + dependencies: + chalk: "npm:^5.2.0" + checksum: 10c0/6d29b185c613cb117ae87c67cef80f531ae860ffb798f94dbf46597c3abaf69eb55bea5e57a99713086933c461ccff918bb70c6af491b83b109654da8b2c006f + languageName: node + linkType: hard + +"chalk@npm:^5.2.0, chalk@npm:^5.6.2": + version: 5.6.2 + resolution: "chalk@npm:5.6.2" + checksum: 10c0/99a4b0f0e7991796b1e7e3f52dceb9137cae2a9dfc8fc0784a550dc4c558e15ab32ed70b14b21b52beb2679b4892b41a0aa44249bcb996f01e125d58477c6976 + languageName: node + linkType: hard + "chownr@npm:^3.0.0": version: 3.0.0 resolution: "chownr@npm:3.0.0" @@ -1171,6 +2094,23 @@ __metadata: languageName: node linkType: hard +"commander@npm:^14.0.3": + version: 14.0.3 + resolution: "commander@npm:14.0.3" + checksum: 10c0/755652564bbf56ff2ff083313912b326450d3f8d8c85f4b71416539c9a05c3c67dbd206821ca72635bf6b160e2afdefcb458e86b317827d5cb333b69ce7f1a24 + languageName: node + linkType: hard + +"comment-json@npm:^4.6.2": + version: 4.6.2 + resolution: "comment-json@npm:4.6.2" + dependencies: + array-timsort: "npm:^1.0.3" + esprima: "npm:^4.0.1" + checksum: 10c0/8965ec6c40612aa0cc66d4324ff5819cf205c997f3a84dd82dffe4e6398449e37bbc5765184bc9149e95d15994f0c2740cee82284828fa1c0f733a669022d3dd + languageName: node + linkType: hard + "concat-map@npm:0.0.1": version: 0.0.1 resolution: "concat-map@npm:0.0.1" @@ -1196,6 +2136,148 @@ __metadata: languageName: node linkType: hard +"cspell-config-lib@npm:10.0.0": + version: 10.0.0 + resolution: "cspell-config-lib@npm:10.0.0" + dependencies: + "@cspell/cspell-types": "npm:10.0.0" + comment-json: "npm:^4.6.2" + smol-toml: "npm:^1.6.1" + yaml: "npm:^2.8.3" + checksum: 10c0/85737bbcd860db79772af3895d4d8f368c6d312dfcfbe7f03fc6e788ed48567639ef9c49f99f30382d6e849a9631dcad0db4e136054993d29f5e5f990125423d + languageName: node + linkType: hard + +"cspell-dictionary@npm:10.0.0": + version: 10.0.0 + resolution: "cspell-dictionary@npm:10.0.0" + dependencies: + "@cspell/cspell-performance-monitor": "npm:10.0.0" + "@cspell/cspell-pipe": "npm:10.0.0" + "@cspell/cspell-types": "npm:10.0.0" + cspell-trie-lib: "npm:10.0.0" + fast-equals: "npm:^6.0.0" + checksum: 10c0/1b74b1fa3a10906ad89ee3089b854f5d9ac979bee2875c771abb071cc13fc84d3c491711e261e4bcf39a78c5c73f8bdde48fc0ed4cb5e0c29d416bf079bd261c + languageName: node + linkType: hard + +"cspell-gitignore@npm:10.0.0": + version: 10.0.0 + resolution: "cspell-gitignore@npm:10.0.0" + dependencies: + "@cspell/url": "npm:10.0.0" + cspell-glob: "npm:10.0.0" + cspell-io: "npm:10.0.0" + bin: + cspell-gitignore: bin.mjs + checksum: 10c0/ac2558253a75702ab7bcac981be058a644ea3b407bf4e63ce3957016a6df38108ffb3afd3b7fe964b4a21f3c488ef25ca2f9fc6df56323350edecac19472ddc8 + languageName: node + linkType: hard + +"cspell-glob@npm:10.0.0": + version: 10.0.0 + resolution: "cspell-glob@npm:10.0.0" + dependencies: + "@cspell/url": "npm:10.0.0" + picomatch: "npm:^4.0.4" + checksum: 10c0/029a5dc601126e6ad19b41525a2c6aac21c8f052b0459b553610272b4b5bfa6b3c322f48f0ab88bdbbb3a4c68c2c29843f1db0415ccfcf62c974a6e3fa5b5ed7 + languageName: node + linkType: hard + +"cspell-grammar@npm:10.0.0": + version: 10.0.0 + resolution: "cspell-grammar@npm:10.0.0" + dependencies: + "@cspell/cspell-pipe": "npm:10.0.0" + "@cspell/cspell-types": "npm:10.0.0" + bin: + cspell-grammar: bin.mjs + checksum: 10c0/c85d1026fbe6dad5d0fdf16eca6a4a5c8f1854290f3e5f2bc5ccd36eafcc2b19f1928d29769784bc63dfa5c861a0a35e80aa6cc74a0a52d94becbf248505ad71 + languageName: node + linkType: hard + +"cspell-io@npm:10.0.0": + version: 10.0.0 + resolution: "cspell-io@npm:10.0.0" + dependencies: + "@cspell/cspell-service-bus": "npm:10.0.0" + "@cspell/url": "npm:10.0.0" + checksum: 10c0/c2ad84c3694542e5c99fe94ae8977603817852d4f91f215755e45adaaa4a305e24f13c075318b415cb57ebe55667c551b5ecffd97c93302db07c8d342175ffe2 + languageName: node + linkType: hard + +"cspell-lib@npm:10.0.0": + version: 10.0.0 + resolution: "cspell-lib@npm:10.0.0" + dependencies: + "@cspell/cspell-bundled-dicts": "npm:10.0.0" + "@cspell/cspell-performance-monitor": "npm:10.0.0" + "@cspell/cspell-pipe": "npm:10.0.0" + "@cspell/cspell-resolver": "npm:10.0.0" + "@cspell/cspell-types": "npm:10.0.0" + "@cspell/dynamic-import": "npm:10.0.0" + "@cspell/filetypes": "npm:10.0.0" + "@cspell/rpc": "npm:10.0.0" + "@cspell/strong-weak-map": "npm:10.0.0" + "@cspell/url": "npm:10.0.0" + cspell-config-lib: "npm:10.0.0" + cspell-dictionary: "npm:10.0.0" + cspell-glob: "npm:10.0.0" + cspell-grammar: "npm:10.0.0" + cspell-io: "npm:10.0.0" + cspell-trie-lib: "npm:10.0.0" + env-paths: "npm:^4.0.0" + gensequence: "npm:^8.0.8" + import-fresh: "npm:^4.0.0" + resolve-from: "npm:^5.0.0" + vscode-languageserver-textdocument: "npm:^1.0.12" + vscode-uri: "npm:^3.1.0" + xdg-basedir: "npm:^5.1.0" + checksum: 10c0/9d267bdc454f5f78e0b8580b4b2974b00c997014cfe570020a1ba12f8a416bd2337b6efc743cea2e06481ab33a5d91c6f01d8cf1a95553521b571d6eebed995f + languageName: node + linkType: hard + +"cspell-trie-lib@npm:10.0.0": + version: 10.0.0 + resolution: "cspell-trie-lib@npm:10.0.0" + peerDependencies: + "@cspell/cspell-types": 10.0.0 + checksum: 10c0/9f163593c17e812a3b1e63b21b7632275ecba27321a1eaee433c97ef31b2019f4e00c80d5f8a54be9dbb43fb703eb1fbac0adcce30f9426a419fcee47f3b0d1f + languageName: node + linkType: hard + +"cspell@npm:^10.0.0": + version: 10.0.0 + resolution: "cspell@npm:10.0.0" + dependencies: + "@cspell/cspell-json-reporter": "npm:10.0.0" + "@cspell/cspell-performance-monitor": "npm:10.0.0" + "@cspell/cspell-pipe": "npm:10.0.0" + "@cspell/cspell-types": "npm:10.0.0" + "@cspell/cspell-worker": "npm:10.0.0" + "@cspell/dynamic-import": "npm:10.0.0" + "@cspell/url": "npm:10.0.0" + ansi-regex: "npm:^6.2.2" + chalk: "npm:^5.6.2" + chalk-template: "npm:^1.1.2" + commander: "npm:^14.0.3" + cspell-config-lib: "npm:10.0.0" + cspell-dictionary: "npm:10.0.0" + cspell-gitignore: "npm:10.0.0" + cspell-glob: "npm:10.0.0" + cspell-io: "npm:10.0.0" + cspell-lib: "npm:10.0.0" + fast-json-stable-stringify: "npm:^2.1.0" + flatted: "npm:^3.4.2" + semver: "npm:^7.7.4" + tinyglobby: "npm:^0.2.15" + bin: + cspell: bin.mjs + cspell-esm: bin.mjs + checksum: 10c0/de7eb540045595acd97306be7d83e1aca74faedc72c883c41eb7cfe319024330d0629086a9b8a46201ef823bc29f0f028e769fec658c16b99d53b9ed5e502840 + languageName: node + linkType: hard + "data-uri-to-buffer@npm:^4.0.0": version: 4.0.1 resolution: "data-uri-to-buffer@npm:4.0.1" @@ -1300,6 +2382,13 @@ __metadata: languageName: node linkType: hard +"diff-sequences@npm:^29.6.3": + version: 29.6.3 + resolution: "diff-sequences@npm:29.6.3" + checksum: 10c0/32e27ac7dbffdf2fb0eb5a84efd98a9ad084fbabd5ac9abb8757c6770d5320d2acd172830b28c4add29bb873d59420601dfc805ac4064330ce59b1adfd0593b2 + languageName: node + linkType: hard + "doctrine@npm:^2.1.0": version: 2.1.0 resolution: "doctrine@npm:2.1.0" @@ -1336,6 +2425,15 @@ __metadata: languageName: node linkType: hard +"env-paths@npm:^4.0.0": + version: 4.0.0 + resolution: "env-paths@npm:4.0.0" + dependencies: + is-safe-filename: "npm:^0.1.0" + checksum: 10c0/13ee7fa4047786ca28f1fbf2239606f8a53304bdf71bfc426e95f806e429060181205316f2c45b4ac560e81c854ded5a45fd9dc3105414c01d504b3469a1294b + languageName: node + linkType: hard + "es-abstract@npm:^1.23.2, es-abstract@npm:^1.23.5, es-abstract@npm:^1.23.9, es-abstract@npm:^1.24.0": version: 1.24.2 resolution: "es-abstract@npm:1.24.2" @@ -1528,6 +2626,21 @@ __metadata: languageName: node linkType: hard +"eslint-json-compat-utils@npm:^0.2.3": + version: 0.2.3 + resolution: "eslint-json-compat-utils@npm:0.2.3" + dependencies: + esquery: "npm:^1.6.0" + peerDependencies: + eslint: "*" + jsonc-eslint-parser: ^2.4.0 || ^3.0.0 + peerDependenciesMeta: + "@eslint/json": + optional: true + checksum: 10c0/3af895890d72228b157f24a94efaee6ae4fb7ec5e7d9e17b51ae477d0efd03a1938ae810b2ae65fdb8a6d81c68c1b49dc207ee2398883a29ffeb1105ecc169ef + languageName: node + linkType: hard + "eslint-module-utils@npm:^2.12.1": version: 2.12.1 resolution: "eslint-module-utils@npm:2.12.1" @@ -1569,23 +2682,22 @@ __metadata: languageName: node linkType: hard -"eslint-plugin-prettier@npm:^5.5.5": - version: 5.5.5 - resolution: "eslint-plugin-prettier@npm:5.5.5" - dependencies: - prettier-linter-helpers: "npm:^1.0.1" +"eslint-plugin-jsonc@npm:^3.1.2": + version: 3.1.2 + resolution: "eslint-plugin-jsonc@npm:3.1.2" + dependencies: + "@eslint-community/eslint-utils": "npm:^4.5.1" + "@eslint/core": "npm:^1.0.1" + "@eslint/plugin-kit": "npm:^0.6.0" + "@ota-meshi/ast-token-store": "npm:^0.3.0" + diff-sequences: "npm:^29.6.3" + eslint-json-compat-utils: "npm:^0.2.3" + jsonc-eslint-parser: "npm:^3.1.0" + natural-compare: "npm:^1.4.0" synckit: "npm:^0.11.12" peerDependencies: - "@types/eslint": ">=8.0.0" - eslint: ">=8.0.0" - eslint-config-prettier: ">= 7.0.0 <10.0.0 || >=10.1.0" - prettier: ">=3.0.0" - peerDependenciesMeta: - "@types/eslint": - optional: true - eslint-config-prettier: - optional: true - checksum: 10c0/091449b28c77ab2efbbf674e977181f2c8453d95a4df68218bddd87a4dfaa9ecc4eda60164e416f5986fb5d577e66e8d8e1e23d81e8555f8d735375598b03257 + eslint: ">=9.38.0" + checksum: 10c0/1812555eb1cfb28a67ea29ea444ac25aeb922a7c5fb3b5c85ccb1021d90284270a5ba360d78b9fec821c7d20e50ff2551806a0f8aef1d13307a0f1a271f91ffe languageName: node linkType: hard @@ -1615,9 +2727,9 @@ __metadata: languageName: node linkType: hard -"eslint@npm:^10.2.1": - version: 10.2.1 - resolution: "eslint@npm:10.2.1" +"eslint@npm:^10.3.0": + version: 10.3.0 + resolution: "eslint@npm:10.3.0" dependencies: "@eslint-community/eslint-utils": "npm:^4.8.0" "@eslint-community/regexpp": "npm:^4.12.2" @@ -1656,7 +2768,7 @@ __metadata: optional: true bin: eslint: bin/eslint.js - checksum: 10c0/176795a3794a785502fa5cd14a9609264c2be5405552d20fed3e499bd465c29639c91ac44619ae66787b0fb7494e72d112550a2136a735d92a26bc6a7af4915c + checksum: 10c0/81e3ceba949f62d1b530660279db86cf814f5dc43d7cc3759a8008fe4fc679d46568279fe1cceb7ddbbc98ab57a96ae524f6e811ffc6897b49b90ea08aa785e5 languageName: node linkType: hard @@ -1671,7 +2783,17 @@ __metadata: languageName: node linkType: hard -"esquery@npm:^1.7.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: 10c0/ad4bab9ead0808cf56501750fd9d3fb276f6b105f987707d059005d57e182d18a7c9ec7f3a01794ebddcca676773e42ca48a32d67a250c9d35e009ca613caba3 + languageName: node + linkType: hard + +"esquery@npm:^1.6.0, esquery@npm:^1.7.0": version: 1.7.0 resolution: "esquery@npm:1.7.0" dependencies: @@ -1740,14 +2862,14 @@ __metadata: languageName: node linkType: hard -"fast-diff@npm:^1.1.2": - version: 1.3.0 - resolution: "fast-diff@npm:1.3.0" - checksum: 10c0/5c19af237edb5d5effda008c891a18a585f74bf12953be57923f17a3a4d0979565fc64dbc73b9e20926b9d895f5b690c618cbb969af0cf022e3222471220ad29 +"fast-equals@npm:^6.0.0": + version: 6.0.0 + resolution: "fast-equals@npm:6.0.0" + checksum: 10c0/aae54699ce848726679a947c8bbea78f2ea0384e4e1ee213c98f10881a17bb376bd11085eda4d6c89db5285635ee2f809b126d773532fcf602be355008a9d5ed languageName: node linkType: hard -"fast-json-stable-stringify@npm:^2.0.0": +"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: 10c0/7f081eb0b8a64e0057b3bb03f974b3ef00135fbf36c1c710895cd9300f13c94ba809bb3a81cf4e1b03f6e5285610a61abbd7602d0652de423144dfee5a389c9b @@ -1761,6 +2883,15 @@ __metadata: languageName: node linkType: hard +"fd-package-json@npm:^2.0.0": + version: 2.0.0 + resolution: "fd-package-json@npm:2.0.0" + dependencies: + walk-up-path: "npm:^4.0.0" + checksum: 10c0/a0a48745257bc09c939486608dad9f2ced238f0c64266222cc881618ed4c8f6aa0ccfe45a1e6d4f9ce828509e8d617cec60e2a114851bebb1ff4886dc5ed5112 + languageName: node + linkType: hard + "fdir@npm:^6.5.0": version: 6.5.0 resolution: "fdir@npm:6.5.0" @@ -1812,14 +2943,14 @@ __metadata: languageName: node linkType: hard -"flatted@npm:^3.2.9": +"flatted@npm:^3.2.9, flatted@npm:^3.4.2": version: 3.4.2 resolution: "flatted@npm:3.4.2" checksum: 10c0/a65b67aae7172d6cdf63691be7de6c5cd5adbdfdfe2e9da1a09b617c9512ed794037741ee53d93114276bff3f93cd3b0d97d54f9b316e1e4885dde6e9ffdf7ed languageName: node linkType: hard -"follow-redirects@npm:^1.15.11": +"follow-redirects@npm:^1.16.0": version: 1.16.0 resolution: "follow-redirects@npm:1.16.0" peerDependenciesMeta: @@ -1851,6 +2982,17 @@ __metadata: languageName: node linkType: hard +"formatly@npm:^0.3.0": + version: 0.3.0 + resolution: "formatly@npm:0.3.0" + dependencies: + fd-package-json: "npm:^2.0.0" + bin: + formatly: bin/index.mjs + checksum: 10c0/ef9dbd3cdaee649e9604ea060d8d62d8131eb81117634336592ee2193fc7c98a3f1f1b5d09a045dbd36287ba88edf868ef179d39fbda2f34fbe2be70c42dd014 + languageName: node + linkType: hard + "formdata-polyfill@npm:^4.0.10": version: 4.0.10 resolution: "formdata-polyfill@npm:4.0.10" @@ -1936,6 +3078,13 @@ __metadata: languageName: node linkType: hard +"gensequence@npm:^8.0.8": + version: 8.0.8 + resolution: "gensequence@npm:8.0.8" + checksum: 10c0/a1315a9c366c4becda7720c8ecb986cbab912352e8fe25fdb57325d4a8fb3cce816cc227acd7bf2141283656f1e04229655240a2cc70d75836eec13ed8a96425 + languageName: node + linkType: hard + "get-intrinsic@npm:^1.2.4, get-intrinsic@npm:^1.2.5, get-intrinsic@npm:^1.2.6, get-intrinsic@npm:^1.2.7, get-intrinsic@npm:^1.3.0": version: 1.3.1 resolution: "get-intrinsic@npm:1.3.1" @@ -1978,7 +3127,7 @@ __metadata: languageName: node linkType: hard -"get-tsconfig@npm:^4.10.1": +"get-tsconfig@npm:4.14.0, get-tsconfig@npm:^4.10.1": version: 4.14.0 resolution: "get-tsconfig@npm:4.14.0" dependencies: @@ -1996,10 +3145,19 @@ __metadata: languageName: node linkType: hard -"globals@npm:^17.5.0": - version: 17.5.0 - resolution: "globals@npm:17.5.0" - checksum: 10c0/92828102ed2f5637907725f0478038bed02fc83e9fc89300bb753639ba7c022b6c02576fc772117302b431b204591db1f2fa909d26f3f0a9852cc856a941df3f +"global-directory@npm:^5.0.0": + version: 5.0.0 + resolution: "global-directory@npm:5.0.0" + dependencies: + ini: "npm:6.0.0" + checksum: 10c0/2b90eea8975bb332db7e8c9096ff310f0deb617d17e47e93b921d1c69f7677c1759a07009f2581f050d3ea08a3e079bf4ffdb9c34c94d48dc369c6577b3d45f4 + languageName: node + linkType: hard + +"globals@npm:^17.6.0": + version: 17.6.0 + resolution: "globals@npm:17.6.0" + checksum: 10c0/cf94fb4329cc5c68cf81018fd68324f413181ee169f0235b0b33b82bc93fe7825a21beea951f83a80e8e4bbdad9c0c80515a145b5fd4b5cb52f2a80db899a93f languageName: node linkType: hard @@ -2136,6 +3294,20 @@ __metadata: languageName: node linkType: hard +"import-fresh@npm:^4.0.0": + version: 4.0.0 + resolution: "import-fresh@npm:4.0.0" + checksum: 10c0/537fb037c046ed594edcf2b60f438e70a07fa70fe14fbf35650870a414dc28c3332a11095f7782edfc814d3b997d204eaa3912cd6e3c62c296ee41c6caea9a8d + languageName: node + linkType: hard + +"import-meta-resolve@npm:^4.2.0": + version: 4.2.0 + resolution: "import-meta-resolve@npm:4.2.0" + checksum: 10c0/3ee8aeecb61d19b49d2703987f977e9d1c7d4ba47db615a570eaa02fe414f40dfa63f7b953e842cbe8470d26df6371332bfcf21b2fd92b0112f9fea80dde2c4c + languageName: node + linkType: hard + "imurmurhash@npm:^0.1.4": version: 0.1.4 resolution: "imurmurhash@npm:0.1.4" @@ -2143,6 +3315,13 @@ __metadata: languageName: node linkType: hard +"ini@npm:6.0.0": + version: 6.0.0 + resolution: "ini@npm:6.0.0" + checksum: 10c0/9a7f55f306e2b25b41ae67c8b526e8f4673f057b70852b9025816ef4f15f07bf1ba35ed68ea4471ff7b31718f7ef1bc50d709f8d03cb012e10a3135eb99c7206 + languageName: node + linkType: hard + "internal-slot@npm:^1.1.0": version: 1.1.0 resolution: "internal-slot@npm:1.1.0" @@ -2324,6 +3503,13 @@ __metadata: languageName: node linkType: hard +"is-safe-filename@npm:^0.1.0": + version: 0.1.1 + resolution: "is-safe-filename@npm:0.1.1" + checksum: 10c0/45c35d2253b96348e2c26590e14feed51d1e6b72aaa567930ccb34e68c0eef00ebcf3b7e01b46bf45e578a27355cd8f5bc12f7d6d79a34d33dc93d4560c0f6b6 + languageName: node + linkType: hard + "is-set@npm:^2.0.3": version: 2.0.3 resolution: "is-set@npm:2.0.3" @@ -2445,7 +3631,7 @@ __metadata: languageName: node linkType: hard -"jiti@npm:^2.6.1": +"jiti@npm:^2.6.0, jiti@npm:^2.6.1": version: 2.6.1 resolution: "jiti@npm:2.6.1" bin: @@ -2502,6 +3688,17 @@ __metadata: languageName: node linkType: hard +"jsonc-eslint-parser@npm:^3.1.0": + version: 3.1.0 + resolution: "jsonc-eslint-parser@npm:3.1.0" + dependencies: + acorn: "npm:^8.5.0" + eslint-visitor-keys: "npm:^5.0.0" + semver: "npm:^7.3.5" + checksum: 10c0/9af0aa3abf946f306ce823ccde33ab7d91cf215e1af26d33b2f65e9e230552bfa40aa93859b91aabf96738c66357a598cc7b2275ba99839ef4afd84edda3b11e + languageName: node + linkType: hard + "jsonwebtoken@npm:^9.0.3": version: 9.0.3 resolution: "jsonwebtoken@npm:9.0.3" @@ -2550,6 +3747,31 @@ __metadata: languageName: node linkType: hard +"knip@npm:^6.11.0": + version: 6.11.0 + resolution: "knip@npm:6.11.0" + dependencies: + fdir: "npm:^6.5.0" + formatly: "npm:^0.3.0" + get-tsconfig: "npm:4.14.0" + jiti: "npm:^2.6.0" + minimist: "npm:^1.2.8" + oxc-parser: "npm:^0.128.0" + oxc-resolver: "npm:^11.19.1" + picomatch: "npm:^4.0.4" + smol-toml: "npm:^1.6.1" + strip-json-comments: "npm:5.0.3" + tinyglobby: "npm:^0.2.16" + unbash: "npm:^3.0.0" + yaml: "npm:^2.8.2" + zod: "npm:^4.1.11" + bin: + knip: bin/knip.js + knip-bun: bin/knip-bun.js + checksum: 10c0/d4951a6336bfdbdf92bdf3df1d55b4f64fe3f7b7078700d53d9e90b0dd1713d1368b6f6b15ea587233bf8ec6c49af8da8cb9dbf871272f6d5e2ff365e0883824 + languageName: node + linkType: hard + "levn@npm:^0.4.1": version: 0.4.1 resolution: "levn@npm:0.4.1" @@ -2808,7 +4030,7 @@ __metadata: languageName: node linkType: hard -"minimist@npm:^1.2.0, minimist@npm:^1.2.6": +"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: 10c0/19d3fcdca050087b84c2029841a093691a91259a47def2f18222f41e7645a0b7c44ef4b40e88a1e58a40c84d2ef0ee6047c55594d298146d0eb3f6b737c20ce6 @@ -2839,11 +4061,11 @@ __metadata: linkType: hard "nanoid@npm:^3.3.11": - version: 3.3.11 - resolution: "nanoid@npm:3.3.11" + version: 3.3.12 + resolution: "nanoid@npm:3.3.12" bin: nanoid: bin/nanoid.cjs - checksum: 10c0/40e7f70b3d15f725ca072dfc4f74e81fcf1fbb02e491cf58ac0c79093adc9b0a73b152bcde57df4b79cd097e13023d7504acb38404a4da7bc1cd8e887b82fe0b + checksum: 10c0/ba142b7b39e11e80c16dd74b0365d407880c87c1cf7e1480956981ae940ee36060fa5b6f092cd1e315184dd19244c657bd017d03327bd3c62247d691c5e8edfb languageName: node linkType: hard @@ -3031,6 +4253,145 @@ __metadata: languageName: node linkType: hard +"oxc-parser@npm:^0.128.0": + version: 0.128.0 + resolution: "oxc-parser@npm:0.128.0" + dependencies: + "@oxc-parser/binding-android-arm-eabi": "npm:0.128.0" + "@oxc-parser/binding-android-arm64": "npm:0.128.0" + "@oxc-parser/binding-darwin-arm64": "npm:0.128.0" + "@oxc-parser/binding-darwin-x64": "npm:0.128.0" + "@oxc-parser/binding-freebsd-x64": "npm:0.128.0" + "@oxc-parser/binding-linux-arm-gnueabihf": "npm:0.128.0" + "@oxc-parser/binding-linux-arm-musleabihf": "npm:0.128.0" + "@oxc-parser/binding-linux-arm64-gnu": "npm:0.128.0" + "@oxc-parser/binding-linux-arm64-musl": "npm:0.128.0" + "@oxc-parser/binding-linux-ppc64-gnu": "npm:0.128.0" + "@oxc-parser/binding-linux-riscv64-gnu": "npm:0.128.0" + "@oxc-parser/binding-linux-riscv64-musl": "npm:0.128.0" + "@oxc-parser/binding-linux-s390x-gnu": "npm:0.128.0" + "@oxc-parser/binding-linux-x64-gnu": "npm:0.128.0" + "@oxc-parser/binding-linux-x64-musl": "npm:0.128.0" + "@oxc-parser/binding-openharmony-arm64": "npm:0.128.0" + "@oxc-parser/binding-wasm32-wasi": "npm:0.128.0" + "@oxc-parser/binding-win32-arm64-msvc": "npm:0.128.0" + "@oxc-parser/binding-win32-ia32-msvc": "npm:0.128.0" + "@oxc-parser/binding-win32-x64-msvc": "npm:0.128.0" + "@oxc-project/types": "npm:^0.128.0" + dependenciesMeta: + "@oxc-parser/binding-android-arm-eabi": + optional: true + "@oxc-parser/binding-android-arm64": + optional: true + "@oxc-parser/binding-darwin-arm64": + optional: true + "@oxc-parser/binding-darwin-x64": + optional: true + "@oxc-parser/binding-freebsd-x64": + optional: true + "@oxc-parser/binding-linux-arm-gnueabihf": + optional: true + "@oxc-parser/binding-linux-arm-musleabihf": + optional: true + "@oxc-parser/binding-linux-arm64-gnu": + optional: true + "@oxc-parser/binding-linux-arm64-musl": + optional: true + "@oxc-parser/binding-linux-ppc64-gnu": + optional: true + "@oxc-parser/binding-linux-riscv64-gnu": + optional: true + "@oxc-parser/binding-linux-riscv64-musl": + optional: true + "@oxc-parser/binding-linux-s390x-gnu": + optional: true + "@oxc-parser/binding-linux-x64-gnu": + optional: true + "@oxc-parser/binding-linux-x64-musl": + optional: true + "@oxc-parser/binding-openharmony-arm64": + optional: true + "@oxc-parser/binding-wasm32-wasi": + optional: true + "@oxc-parser/binding-win32-arm64-msvc": + optional: true + "@oxc-parser/binding-win32-ia32-msvc": + optional: true + "@oxc-parser/binding-win32-x64-msvc": + optional: true + checksum: 10c0/c750d5d205353efd67276019d50a315cab1fe68f10067a892154e9fa81ba62844760aa8536ae0008580e421e10fb8d2d419455744de862eb0037499b4760c1c9 + languageName: node + linkType: hard + +"oxc-resolver@npm:^11.19.1": + version: 11.19.1 + resolution: "oxc-resolver@npm:11.19.1" + dependencies: + "@oxc-resolver/binding-android-arm-eabi": "npm:11.19.1" + "@oxc-resolver/binding-android-arm64": "npm:11.19.1" + "@oxc-resolver/binding-darwin-arm64": "npm:11.19.1" + "@oxc-resolver/binding-darwin-x64": "npm:11.19.1" + "@oxc-resolver/binding-freebsd-x64": "npm:11.19.1" + "@oxc-resolver/binding-linux-arm-gnueabihf": "npm:11.19.1" + "@oxc-resolver/binding-linux-arm-musleabihf": "npm:11.19.1" + "@oxc-resolver/binding-linux-arm64-gnu": "npm:11.19.1" + "@oxc-resolver/binding-linux-arm64-musl": "npm:11.19.1" + "@oxc-resolver/binding-linux-ppc64-gnu": "npm:11.19.1" + "@oxc-resolver/binding-linux-riscv64-gnu": "npm:11.19.1" + "@oxc-resolver/binding-linux-riscv64-musl": "npm:11.19.1" + "@oxc-resolver/binding-linux-s390x-gnu": "npm:11.19.1" + "@oxc-resolver/binding-linux-x64-gnu": "npm:11.19.1" + "@oxc-resolver/binding-linux-x64-musl": "npm:11.19.1" + "@oxc-resolver/binding-openharmony-arm64": "npm:11.19.1" + "@oxc-resolver/binding-wasm32-wasi": "npm:11.19.1" + "@oxc-resolver/binding-win32-arm64-msvc": "npm:11.19.1" + "@oxc-resolver/binding-win32-ia32-msvc": "npm:11.19.1" + "@oxc-resolver/binding-win32-x64-msvc": "npm:11.19.1" + dependenciesMeta: + "@oxc-resolver/binding-android-arm-eabi": + optional: true + "@oxc-resolver/binding-android-arm64": + optional: true + "@oxc-resolver/binding-darwin-arm64": + optional: true + "@oxc-resolver/binding-darwin-x64": + optional: true + "@oxc-resolver/binding-freebsd-x64": + optional: true + "@oxc-resolver/binding-linux-arm-gnueabihf": + optional: true + "@oxc-resolver/binding-linux-arm-musleabihf": + optional: true + "@oxc-resolver/binding-linux-arm64-gnu": + optional: true + "@oxc-resolver/binding-linux-arm64-musl": + optional: true + "@oxc-resolver/binding-linux-ppc64-gnu": + optional: true + "@oxc-resolver/binding-linux-riscv64-gnu": + optional: true + "@oxc-resolver/binding-linux-riscv64-musl": + optional: true + "@oxc-resolver/binding-linux-s390x-gnu": + optional: true + "@oxc-resolver/binding-linux-x64-gnu": + optional: true + "@oxc-resolver/binding-linux-x64-musl": + optional: true + "@oxc-resolver/binding-openharmony-arm64": + optional: true + "@oxc-resolver/binding-wasm32-wasi": + optional: true + "@oxc-resolver/binding-win32-arm64-msvc": + optional: true + "@oxc-resolver/binding-win32-ia32-msvc": + optional: true + "@oxc-resolver/binding-win32-x64-msvc": + optional: true + checksum: 10c0/8ac4eaffa9c0bcbb9f4f4a2b43786457ec5a68684d8776cb78b5a15ce3d1a79d3e67262aa3c635f98a0c1cd6cd56a31fcb05bffb9a286100056e4ab06b928833 + languageName: node + linkType: hard + "p-limit@npm:^3.0.2": version: 3.1.0 resolution: "p-limit@npm:3.1.0" @@ -3099,13 +4460,13 @@ __metadata: linkType: hard "postcss@npm:^8.5.10": - version: 8.5.12 - resolution: "postcss@npm:8.5.12" + version: 8.5.13 + resolution: "postcss@npm:8.5.13" dependencies: nanoid: "npm:^3.3.11" picocolors: "npm:^1.1.1" source-map-js: "npm:^1.2.1" - checksum: 10c0/5baebaf574c567bc1b3d61197f38af4ce5920b8f611c887fb6bc3dcc14af00253c169dbf19897bc889cce0b0d9818ab5eb4ea0caedf02b0bab10da8a43ce8c12 + checksum: 10c0/3aa7c8cbdfbfd99b34406a433cef56d164dd135fc9cb9e63d487cc363291f877a55ec7b8ff6ec15348c17c2d98a43be46bfad671e6340403041a3e79f70c2f2f languageName: node linkType: hard @@ -3116,15 +4477,6 @@ __metadata: languageName: node linkType: hard -"prettier-linter-helpers@npm:^1.0.1": - version: 1.0.1 - resolution: "prettier-linter-helpers@npm:1.0.1" - dependencies: - fast-diff: "npm:^1.1.2" - checksum: 10c0/91cea965681bc5f62c9d26bd3ca6358b81557261d4802e96ec1cf0acbd99d4b61632d53320cd2c3ec7d7f7805a81345644108a41ef46ddc9688e783a9ac792d1 - languageName: node - linkType: hard - "prettier@npm:^3.8.3": version: 3.8.3 resolution: "prettier@npm:3.8.3" @@ -3185,6 +4537,13 @@ __metadata: languageName: node linkType: hard +"resolve-from@npm:^5.0.0": + version: 5.0.0 + resolution: "resolve-from@npm:5.0.0" + checksum: 10c0/b21cb7f1fb746de8107b9febab60095187781137fd803e6a59a76d421444b1531b641bba5857f5dc011974d8a5c635d61cec49e6bd3b7fc20e01f0fafc4efbf2 + languageName: node + linkType: hard + "resolve-pkg-maps@npm:^1.0.0": version: 1.0.0 resolution: "resolve-pkg-maps@npm:1.0.0" @@ -3332,7 +4691,7 @@ __metadata: languageName: node linkType: hard -"semver@npm:^7.3.5, semver@npm:^7.5.3, semver@npm:^7.5.4, semver@npm:^7.7.1, semver@npm:^7.7.3": +"semver@npm:^7.3.5, semver@npm:^7.5.3, semver@npm:^7.5.4, semver@npm:^7.7.1, semver@npm:^7.7.3, semver@npm:^7.7.4": version: 7.7.4 resolution: "semver@npm:7.7.4" bin: @@ -3449,6 +4808,13 @@ __metadata: languageName: node linkType: hard +"smol-toml@npm:^1.6.1": + version: 1.6.1 + resolution: "smol-toml@npm:1.6.1" + checksum: 10c0/511a78722f99c7616fdb46af708de3d7e81434b5a3d58061166da73f28bfc6cae4f0cd04683f60515b9c490cd10152fce72287c960b337419c0299cc1f0f2a22 + languageName: node + linkType: hard + "source-map-js@npm:^1.2.1": version: 1.2.1 resolution: "source-map-js@npm:1.2.1" @@ -3532,6 +4898,13 @@ __metadata: languageName: node linkType: hard +"strip-json-comments@npm:5.0.3": + version: 5.0.3 + resolution: "strip-json-comments@npm:5.0.3" + checksum: 10c0/daaf20b29f69fb51112698f4a9a662490dbb78d5baf6127c75a0a83c2ac6c078a8c0f74b389ad5e0519d6fc359c4a57cb9971b1ae201aef62ce45a13247791e0 + languageName: node + linkType: hard + "supports-color@npm:^7.1.0": version: 7.2.0 resolution: "supports-color@npm:7.2.0" @@ -3578,9 +4951,9 @@ __metadata: linkType: hard "tinyexec@npm:^1.0.2": - version: 1.1.1 - resolution: "tinyexec@npm:1.1.1" - checksum: 10c0/48433cb32573a767e2b63bb92343cbbae4240d05a19a63f7869f9447491305e7bd82d11daccb79b2628b596ad703a25798226c50bfd1d8e63477fb42af6a5b35 + version: 1.1.2 + resolution: "tinyexec@npm:1.1.2" + checksum: 10c0/9e0ef6c001ce54688cf16833a02f70a339276219ca947b88930b124267de2cffc764ff44e87e7369384b1d75ab63491465412cbbdf06f2437956b9ab66ab4491 languageName: node linkType: hard @@ -3726,6 +5099,13 @@ __metadata: languageName: node linkType: hard +"unbash@npm:^3.0.0": + version: 3.0.0 + resolution: "unbash@npm:3.0.0" + checksum: 10c0/8d237237805c8d23a6a7ba9ba1dac612b79431f2458aaa7975c472eba9f429991e46417fd8cdb14c1ad88adffbc0b914d0556ad5978bc42bbd2fa9b0942a4f91 + languageName: node + linkType: hard + "unbox-primitive@npm:^1.1.0": version: 1.1.0 resolution: "unbox-primitive@npm:1.1.0" @@ -3953,6 +5333,27 @@ __metadata: languageName: node linkType: hard +"vscode-languageserver-textdocument@npm:^1.0.12": + version: 1.0.12 + resolution: "vscode-languageserver-textdocument@npm:1.0.12" + checksum: 10c0/534349894b059602c4d97615a1147b6c4c031141c2093e59657f54e38570f5989c21b376836f13b9375419869242e9efb4066643208b21ab1e1dee111a0f00fb + languageName: node + linkType: hard + +"vscode-uri@npm:^3.1.0": + version: 3.1.0 + resolution: "vscode-uri@npm:3.1.0" + checksum: 10c0/5f6c9c10fd9b1664d71fab4e9fbbae6be93c7f75bb3a1d9d74399a88ab8649e99691223fd7cef4644376cac6e94fa2c086d802521b9a8e31c5af3e60f0f35624 + languageName: node + linkType: hard + +"walk-up-path@npm:^4.0.0": + version: 4.0.0 + resolution: "walk-up-path@npm:4.0.0" + checksum: 10c0/fabe344f91387d1d41df230af962ef18bf703dd4178006d55cd6412caacd187b54440002d4d53a982d4f7f0455567dcffb6d3884533c8b2268928eca3ebd8a19 + languageName: node + linkType: hard + "web-streams-polyfill@npm:^3.0.3": version: 3.3.3 resolution: "web-streams-polyfill@npm:3.3.3" @@ -4062,6 +5463,13 @@ __metadata: languageName: node linkType: hard +"xdg-basedir@npm:^5.1.0": + version: 5.1.0 + resolution: "xdg-basedir@npm:5.1.0" + checksum: 10c0/c88efabc71ffd996ba9ad8923a8cc1c7c020a03e2c59f0ffa72e06be9e724ad2a0fccef488757bc6ed3d8849d753dd25082d1035d95cb179e79eae4d034d0b80 + languageName: node + linkType: hard + "yallist@npm:^5.0.0": version: 5.0.0 resolution: "yallist@npm:5.0.0" @@ -4069,9 +5477,25 @@ __metadata: languageName: node linkType: hard +"yaml@npm:^2.8.2, yaml@npm:^2.8.3": + version: 2.8.4 + resolution: "yaml@npm:2.8.4" + bin: + yaml: bin.mjs + checksum: 10c0/0a33a1fa28d4bc79f61a12ec7ef7a2bce0ce5f8e80c6eaecfb4a0c88c08767dd1ede372b6a3bcd70891213b8c9f3169b355c97e77026d3b3459e10d2cccaef1e + languageName: node + linkType: hard + "yocto-queue@npm:^0.1.0": version: 0.1.0 resolution: "yocto-queue@npm:0.1.0" checksum: 10c0/dceb44c28578b31641e13695d200d34ec4ab3966a5729814d5445b194933c096b7ced71494ce53a0e8820685d1d010df8b2422e5bf2cdea7e469d97ffbea306f languageName: node linkType: hard + +"zod@npm:^4.1.11": + version: 4.4.2 + resolution: "zod@npm:4.4.2" + checksum: 10c0/aa5097464c41cf22d715cbc29873ae6feaaf56e687b81d140458d7c01201e7b9de1ee46c8567b5458ee3c0068b8a82b2652535b5d39589fcb5562d861c83ded3 + languageName: node + linkType: hard From 6f21f8309ea5e35ebc1b0aa1aa408b1f497d2acb Mon Sep 17 00:00:00 2001 From: Richmond Rice Date: Wed, 6 May 2026 14:57:29 +0100 Subject: [PATCH 23/36] configs and naming --- .prettierignore | 3 + LICENSE | 2 +- README.md | 6 +- eslint.config.ts | 77 +- package.json | 36 +- src/blaiseApiClient.test.ts | 9 +- src/blaiseApiClient.ts | 28 +- src/enums/caseOutcome.ts | 2 - src/enums/editedStatus.ts | 2 - src/enums/organisation.ts | 2 - src/index.ts | 22 +- src/mocks/case.mock.ts | 9 +- src/mocks/daybatch.mock.ts | 2 +- src/mocks/diagnostic.mock.ts | 2 +- src/mocks/questionnaire.mock.ts | 4 +- src/mocks/questionnaireReport.mock.ts | 5 +- src/mocks/user.mock.ts | 2 +- src/resources/case.test.ts | 7 +- src/resources/case.ts | 6 +- src/resources/daybatch.test.ts | 11 +- src/resources/daybatch.ts | 4 +- src/resources/diagnostic.test.ts | 7 +- src/resources/diagnostic.ts | 4 +- src/resources/questionnaire.test.ts | 11 +- src/resources/questionnaire.ts | 6 +- src/resources/questionnaireReport.test.ts | 7 +- src/resources/questionnaireReport.ts | 4 +- src/resources/user.test.ts | 7 +- src/resources/user.ts | 4 +- .../{blaiseApi.ts => blaiseApi.types.ts} | 2 +- ...eApiConfig.ts => blaiseApiConfig.types.ts} | 0 src/types/{case.ts => case.types.ts} | 2 +- src/types/{common.ts => common.types.ts} | 0 src/types/{daybatch.ts => daybatch.types.ts} | 0 .../{diagnostic.ts => diagnostic.types.ts} | 0 ...uestionnaire.ts => questionnaire.types.ts} | 0 ...Report.ts => questionnaireReport.types.ts} | 2 +- src/types/{survey.ts => survey.types.ts} | 2 +- src/types/{user.ts => user.types.ts} | 0 tsconfig.build.json | 4 +- tsconfig.eslint.json | 2 +- tsconfig.json | 23 +- vitest.config.ts | 4 +- yarn.lock | 1464 +++-------------- 44 files changed, 385 insertions(+), 1411 deletions(-) create mode 100644 .prettierignore rename src/types/{blaiseApi.ts => blaiseApi.types.ts} (61%) rename src/types/{blaiseApiConfig.ts => blaiseApiConfig.types.ts} (100%) rename src/types/{case.ts => case.types.ts} (93%) rename src/types/{common.ts => common.types.ts} (100%) rename src/types/{daybatch.ts => daybatch.types.ts} (100%) rename src/types/{diagnostic.ts => diagnostic.types.ts} (100%) rename src/types/{questionnaire.ts => questionnaire.types.ts} (100%) rename src/types/{questionnaireReport.ts => questionnaireReport.types.ts} (73%) rename src/types/{survey.ts => survey.types.ts} (56%) rename src/types/{user.ts => user.types.ts} (100%) diff --git a/.prettierignore b/.prettierignore new file mode 100644 index 0000000..18f2b36 --- /dev/null +++ b/.prettierignore @@ -0,0 +1,3 @@ +coverage +dist +node_modules diff --git a/LICENSE b/LICENSE index 09fe244..d58dfef 100644 --- a/LICENSE +++ b/LICENSE @@ -1,6 +1,6 @@ The MIT License (MIT) -Copyright (c) 2021 - 2026 Crown Copyright (Office for National Statistics) +Copyright (c) 2021 Crown Copyright (Office for National Statistics) 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: diff --git a/README.md b/README.md index 91b15f4..29c09f1 100644 --- a/README.md +++ b/README.md @@ -17,14 +17,16 @@ Release versions can be found on this repo's [GitHub releases](https://github.co The client is designed for dependency injection. It exposes strongly-typed methods and interfaces, ensuring that data structures returned by the API are consistent and immutable. ```typescript -import BlaiseApiClient from "blaise-api-node-client"; +import { BlaiseApiClient } from "blaise-api-node-client"; // Initialise the client with the Base URL of your Blaise REST API const BLAISE_API_URL = process.env.BLAISE_API_URL || ""; const TIMEOUT_MS = 1000; // The client accepts a configuration object for extended settings -const blaiseApiClient = new BlaiseApiClient(`http://${BLAISE_API_URL}`, TIMEOUT_MS); +const blaiseApiClient = new BlaiseApiClient(`http://${BLAISE_API_URL}`, { + timeoutInMs: TIMEOUT_MS, +}); export async function fetchQuestionnaires() { try { diff --git a/eslint.config.ts b/eslint.config.ts index 147ce9a..af8253a 100644 --- a/eslint.config.ts +++ b/eslint.config.ts @@ -1,13 +1,15 @@ import js from "@eslint/js"; -import globals from "globals"; -import tseslint from "typescript-eslint"; -import pluginImport from "eslint-plugin-import"; import configPrettier from "eslint-config-prettier"; +import pluginImportX from "eslint-plugin-import-x"; import pluginJsonc from "eslint-plugin-jsonc"; +import globals from "globals"; import * as jsoncParser from "jsonc-eslint-parser"; +import tseslint from "typescript-eslint"; export default tseslint.config( - { ignores: ["coverage/**", "dist/**", "node_modules/**"] }, + { + ignores: ["coverage/**", "dist/**", "node_modules/**"], + }, js.configs.recommended, ...tseslint.configs.recommended, @@ -18,7 +20,7 @@ export default tseslint.config( globals: { ...globals.node }, }, settings: { - "import/resolver": { + "import-x/resolver": { typescript: { project: "./tsconfig.eslint.json" }, }, }, @@ -27,7 +29,7 @@ export default tseslint.config( { files: ["**/*.ts"], plugins: { - import: pluginImport, + "import-x": pluginImportX, }, rules: { "padding-line-between-statements": [ @@ -42,28 +44,81 @@ export default tseslint.config( ], "@typescript-eslint/no-explicit-any": "warn", "@typescript-eslint/no-unused-vars": ["error", { argsIgnorePattern: "^_" }], + "@typescript-eslint/consistent-type-imports": [ + "error", + { + prefer: "type-imports", + fixStyle: "inline-type-imports", + }, + ], + "sort-imports": [ + "error", + { + ignoreCase: true, + ignoreDeclarationSort: true, + ignoreMemberSort: false, + }, + ], + "import-x/order": [ + "error", + { + groups: [ + "builtin", + "external", + "internal", + "parent", + "sibling", + "index", + "object", + "type", + ], + "newlines-between": "always", + alphabetize: { order: "asc", caseInsensitive: true }, + }, + ], "no-unused-vars": "off", "no-constant-condition": "error", "no-unreachable": "error", - "import/no-extraneous-dependencies": [ + "import-x/extensions": [ "error", + "ignorePackages", { - devDependencies: ["src/**/*.test.ts", "*.config.ts"], + js: "always", + jsx: "never", + ts: "never", + tsx: "never", + }, + ], + "import-x/no-extraneous-dependencies": [ + "error", + { + devDependencies: [ + "src/**/*.mock.ts", + "src/**/*.test.ts", + "src/setupTests.ts", + "*.config.ts", + ], }, ], }, }, ...pluginJsonc.configs["flat/recommended-with-jsonc"], + { files: ["**/*.json", "**/*.jsonc"], languageOptions: { parser: jsoncParser, }, rules: { - "jsonc/sort-keys": ["error", { pathPattern: "^$", order: { type: "asc" } }], + "jsonc/sort-keys": [ + "error", + { pathPattern: "^$", order: { type: "asc" } }, + { pathPattern: "^compilerOptions$", order: { type: "asc" } }, + ], }, }, + { files: ["package.json"], rules: { @@ -78,10 +133,10 @@ export default tseslint.config( "description", "author", "license", + "repository", "engines", "type", "types", - "main", "exports", "files", "sideEffects", @@ -93,7 +148,7 @@ export default tseslint.config( ], }, { - pathPattern: "^(?:dev|peer|optional|bundled)?[Dd]ependencies$|^scripts$|^exports$", + pathPattern: "^(?:dev|peer|optional|bundled)?[Dd]ependencies$|^scripts$", order: { type: "asc" }, }, ], diff --git a/package.json b/package.json index 86b77fc..3765eba 100644 --- a/package.json +++ b/package.json @@ -3,30 +3,35 @@ "version": "1.0.0", "private": true, "license": "MIT", + "repository": { + "type": "git", + "url": "git+https://github.com/ONSdigital/blaise-api-node-client.git" + }, "engines": { "node": ">=24.0.0" }, "type": "module", - "types": "dist/esm/index.d.ts", + "types": "dist/index.d.ts", "exports": { ".": { - "import": "./dist/esm/index.js", - "types": "./dist/esm/index.d.ts" - } + "types": "./dist/index.d.ts", + "import": "./dist/index.js" + }, + "./package.json": "./package.json" }, "files": [ "dist" ], "sideEffects": false, "scripts": { - "build": "tsc -p tsconfig.build.json", - "lint": "yarn typecheck && eslint . && prettier --check . && knip", - "lint-fix": "eslint . --fix && prettier --write . && knip --fix", + "build": "yarn tsc -p tsconfig.build.json && yarn publint --pack npm", + "lint": "yarn typecheck && yarn eslint . && yarn prettier --check . && yarn knip", + "lint-fix": "yarn eslint . --fix && yarn prettier --write . && yarn knip --fix", "prepack": "yarn build", - "spellcheck": "cspell \"**/*.{ts,tsx,json,jsonc,yml,yaml,md}\" --no-progress --no-summary", - "test": "vitest run --coverage", - "test-watch": "vitest", - "typecheck": "tsc --noEmit && tsc --project tsconfig.build.json --noEmit" + "spellcheck": "yarn cspell \"**/*.{ts,tsx,json,jsonc,yml,yaml,md}\" --no-progress --no-summary", + "test": "yarn vitest run --coverage", + "test-watch": "yarn vitest", + "typecheck": "yarn tsc --noEmit && yarn tsc --project tsconfig.build.json --noEmit" }, "dependencies": { "axios": "^1.16.0", @@ -41,15 +46,16 @@ "eslint": "^10.3.0", "eslint-config-prettier": "^10.1.8", "eslint-import-resolver-typescript": "^4.4.4", - "eslint-plugin-import": "^2.32.0", + "eslint-plugin-import-x": "^4.16.2", "eslint-plugin-jsonc": "^3.1.2", "globals": "^17.6.0", - "jiti": "^2.6.1", + "jiti": "^2.7.0", "jsonc-eslint-parser": "^3.1.0", - "knip": "^6.11.0", + "knip": "^6.12.0", "prettier": "^3.8.3", + "publint": "^0.3.19", "typescript": "^6.0.3", - "typescript-eslint": "^8.59.1", + "typescript-eslint": "^8.59.2", "vitest": "^4.1.5" }, "packageManager": "yarn@4.14.1" diff --git a/src/blaiseApiClient.test.ts b/src/blaiseApiClient.test.ts index 18f2cd7..a2855a5 100644 --- a/src/blaiseApiClient.test.ts +++ b/src/blaiseApiClient.test.ts @@ -1,6 +1,7 @@ -import { describe, it, expect, vi, afterEach } from "vitest"; import MockAdapter from "axios-mock-adapter"; -import BlaiseApiClient from "./blaiseApiClient.js"; +import { afterEach, describe, expect, it, vi } from "vitest"; + +import { BlaiseApiClient } from "./blaiseApiClient.js"; class TestBlaiseApiClient extends BlaiseApiClient { public async testGet(url: string) { @@ -19,7 +20,7 @@ describe("BlaiseApiClient internal configuration", () => { }); const getAuthHeaderSpy = vi - .spyOn(client.blaiseIapProvider!, "getAuthHeader") + .spyOn(client.iapProvider!, "getAuthHeader") .mockResolvedValue({ Authorization: "Bearer token" }); const mock = new MockAdapter(client.httpClient, { onNoMatch: "throwException" }); @@ -40,7 +41,7 @@ describe("BlaiseApiClient internal configuration", () => { await client.testGet("/test"); - expect(client.blaiseIapProvider).toBeUndefined(); + expect(client.iapProvider).toBeUndefined(); }); it("configures the http client with a timeout when provided", () => { diff --git a/src/blaiseApiClient.ts b/src/blaiseApiClient.ts index 53781f4..bd6aa4c 100644 --- a/src/blaiseApiClient.ts +++ b/src/blaiseApiClient.ts @@ -1,18 +1,20 @@ -import axios, { AxiosInstance } from "axios"; -import { BlaiseIapProvider } from "blaise-iap-node-provider"; -import { BlaiseApiConfig } from "./types/blaiseApiConfig.js"; -import { BlaiseApi } from "./types/blaiseApi.js"; -import * as users from "./resources/user.js"; -import * as questionnaires from "./resources/questionnaire.js"; +import axios, { type AxiosInstance } from "axios"; +import { IapProvider } from "blaise-iap-node-provider"; + import * as cases from "./resources/case.js"; -import * as diagnostics from "./resources/diagnostic.js"; import * as daybatch from "./resources/daybatch.js"; +import * as diagnostics from "./resources/diagnostic.js"; +import * as questionnaires from "./resources/questionnaire.js"; import * as reports from "./resources/questionnaireReport.js"; +import * as users from "./resources/user.js"; -class BlaiseApiClient implements BlaiseApi { +import type { BlaiseApi } from "./types/blaiseApi.types.js"; +import type { BlaiseApiConfig } from "./types/blaiseApiConfig.types.js"; + +export class BlaiseApiClient implements BlaiseApi { blaiseApiUrl: string; - blaiseIapProvider?: BlaiseIapProvider; + iapProvider?: IapProvider; httpClient: AxiosInstance; @@ -20,7 +22,7 @@ class BlaiseApiClient implements BlaiseApi { this.blaiseApiUrl = blaiseApiUrl; if (config?.blaiseApiClientId) { - this.blaiseIapProvider = new BlaiseIapProvider(config.blaiseApiClientId); + this.iapProvider = new IapProvider(config.blaiseApiClientId); } this.httpClient = axios.create({ @@ -29,8 +31,8 @@ class BlaiseApiClient implements BlaiseApi { }); this.httpClient.interceptors.request.use(async (requestConfig) => { - if (this.blaiseIapProvider) { - const authHeaders = await this.blaiseIapProvider.getAuthHeader(); + if (this.iapProvider) { + const authHeaders = await this.iapProvider.getAuthHeader(); Object.assign(requestConfig.headers, authHeaders); } @@ -106,5 +108,3 @@ class BlaiseApiClient implements BlaiseApi { return response.data; } } - -export default BlaiseApiClient; diff --git a/src/enums/caseOutcome.ts b/src/enums/caseOutcome.ts index a3e8322..7a04016 100644 --- a/src/enums/caseOutcome.ts +++ b/src/enums/caseOutcome.ts @@ -42,5 +42,3 @@ const CaseOutcome = { export type CaseOutcome = (typeof CaseOutcome)[keyof typeof CaseOutcome]; export { CaseOutcome }; - -export default CaseOutcome; diff --git a/src/enums/editedStatus.ts b/src/enums/editedStatus.ts index b32f773..fc5483b 100644 --- a/src/enums/editedStatus.ts +++ b/src/enums/editedStatus.ts @@ -8,5 +8,3 @@ const EditedStatus = { export type EditedStatus = (typeof EditedStatus)[keyof typeof EditedStatus]; export { EditedStatus }; - -export default EditedStatus; diff --git a/src/enums/organisation.ts b/src/enums/organisation.ts index 4ae2f71..1603796 100644 --- a/src/enums/organisation.ts +++ b/src/enums/organisation.ts @@ -7,5 +7,3 @@ const Organisation = { export type Organisation = (typeof Organisation)[keyof typeof Organisation]; export { Organisation }; - -export default Organisation; diff --git a/src/index.ts b/src/index.ts index 7e1a087..192c45f 100644 --- a/src/index.ts +++ b/src/index.ts @@ -1,24 +1,24 @@ -export { default as BlaiseApiClient } from "./blaiseApiClient.js"; +export { BlaiseApiClient } from "./blaiseApiClient.js"; -export * from "./types/blaiseApi.js"; +export * from "./types/blaiseApi.types.js"; -export * from "./types/blaiseApiConfig.js"; +export * from "./types/blaiseApiConfig.types.js"; -export * from "./types/case.js"; +export * from "./types/case.types.js"; -export * from "./types/common.js"; +export * from "./types/common.types.js"; -export * from "./types/daybatch.js"; +export * from "./types/daybatch.types.js"; -export * from "./types/diagnostic.js"; +export * from "./types/diagnostic.types.js"; -export * from "./types/questionnaire.js"; +export * from "./types/questionnaire.types.js"; -export * from "./types/questionnaireReport.js"; +export * from "./types/questionnaireReport.types.js"; -export * from "./types/survey.js"; +export * from "./types/survey.types.js"; -export * from "./types/user.js"; +export * from "./types/user.types.js"; export * from "./enums/caseOutcome.js"; diff --git a/src/mocks/case.mock.ts b/src/mocks/case.mock.ts index 023aca0..4a89110 100644 --- a/src/mocks/case.mock.ts +++ b/src/mocks/case.mock.ts @@ -1,7 +1,8 @@ -import { CaseEditInformation, CaseResponse, CaseStatus } from "../types/case.js"; -import CaseOutcome from "../enums/caseOutcome.js"; -import EditedStatus from "../enums/editedStatus.js"; -import Organisation from "../enums/organisation.js"; +import { CaseOutcome } from "../enums/caseOutcome.js"; +import { EditedStatus } from "../enums/editedStatus.js"; +import { Organisation } from "../enums/organisation.js"; + +import type { CaseEditInformation, CaseResponse, CaseStatus } from "../types/case.types.js"; export const mockCaseStatuses: CaseStatus[] = [ { diff --git a/src/mocks/daybatch.mock.ts b/src/mocks/daybatch.mock.ts index ed50634..8bee8b6 100644 --- a/src/mocks/daybatch.mock.ts +++ b/src/mocks/daybatch.mock.ts @@ -1,4 +1,4 @@ -import { DaybatchResponse, DaybatchSettings } from "../types/daybatch.js"; +import type { DaybatchResponse, DaybatchSettings } from "../types/daybatch.types.js"; export const mockDaybatchCases: ReadonlyArray = [ { diff --git a/src/mocks/diagnostic.mock.ts b/src/mocks/diagnostic.mock.ts index 15346aa..aa3631f 100644 --- a/src/mocks/diagnostic.mock.ts +++ b/src/mocks/diagnostic.mock.ts @@ -1,4 +1,4 @@ -import { Diagnostic } from "../types/diagnostic.js"; +import type { Diagnostic } from "../types/diagnostic.types.js"; export const mockDiagnostics: readonly Diagnostic[] = [ { healthCheckType: "Connection model", status: "OK" }, diff --git a/src/mocks/questionnaire.mock.ts b/src/mocks/questionnaire.mock.ts index 5edc29f..e7b22a3 100644 --- a/src/mocks/questionnaire.mock.ts +++ b/src/mocks/questionnaire.mock.ts @@ -1,9 +1,9 @@ -import { +import type { InstallQuestionnaire, InstallQuestionnaireResponse, Questionnaire, QuestionnaireSettings, -} from "../types/questionnaire.js"; +} from "../types/questionnaire.types.js"; export const mockQuestionnaires: readonly Questionnaire[] = [ { diff --git a/src/mocks/questionnaireReport.mock.ts b/src/mocks/questionnaireReport.mock.ts index 5941c57..4924b7f 100644 --- a/src/mocks/questionnaireReport.mock.ts +++ b/src/mocks/questionnaireReport.mock.ts @@ -1,5 +1,6 @@ -import { QuestionnaireReport } from "../types/questionnaireReport.js"; -import CaseOutcome from "../enums/caseOutcome.js"; +import { CaseOutcome } from "../enums/caseOutcome.js"; + +import type { QuestionnaireReport } from "../types/questionnaireReport.types.js"; export const mockQuestionnaireReport: QuestionnaireReport = { questionnaireName: "FRS2211A", diff --git a/src/mocks/user.mock.ts b/src/mocks/user.mock.ts index 0d8f347..4545290 100644 --- a/src/mocks/user.mock.ts +++ b/src/mocks/user.mock.ts @@ -1,4 +1,4 @@ -import { NewUser } from "../types/user.js"; +import type { NewUser } from "../types/user.types.js"; export const mockNewUser: NewUser = { password: "somethingVerySecure", diff --git a/src/resources/case.test.ts b/src/resources/case.test.ts index 50257e0..bc6a4b2 100644 --- a/src/resources/case.test.ts +++ b/src/resources/case.test.ts @@ -1,7 +1,8 @@ -import { describe, it, expect, beforeEach, afterEach } from "vitest"; -import MockAdapter from "axios-mock-adapter"; import axios from "axios"; -import BlaiseApiClient from "../blaiseApiClient.js"; +import MockAdapter from "axios-mock-adapter"; +import { afterEach, beforeEach, describe, expect, it } from "vitest"; + +import { BlaiseApiClient } from "../blaiseApiClient.js"; import { mockCaseEditInformationRecords, mockCaseStatuses } from "../mocks/case.mock.js"; const mock = new MockAdapter(axios, { onNoMatch: "throwException" }); diff --git a/src/resources/case.ts b/src/resources/case.ts index 81ed81d..d262d61 100644 --- a/src/resources/case.ts +++ b/src/resources/case.ts @@ -1,6 +1,6 @@ -import BlaiseApiClient from "../blaiseApiClient.js"; -import { CaseEditInformation, CaseResponse, CaseStatus } from "../types/case.js"; -import { JSONValue } from "../types/common.js"; +import type { BlaiseApiClient } from "../blaiseApiClient.js"; +import type { CaseEditInformation, CaseResponse, CaseStatus } from "../types/case.types.js"; +import type { JSONValue } from "../types/common.types.js"; export async function getCase( this: BlaiseApiClient, diff --git a/src/resources/daybatch.test.ts b/src/resources/daybatch.test.ts index 7d8c7ef..c9dce75 100644 --- a/src/resources/daybatch.test.ts +++ b/src/resources/daybatch.test.ts @@ -1,12 +1,13 @@ -import { describe, it, expect, beforeEach, afterEach } from "vitest"; -import MockAdapter from "axios-mock-adapter"; import axios from "axios"; -import BlaiseApiClient from "../blaiseApiClient.js"; +import MockAdapter from "axios-mock-adapter"; +import { afterEach, beforeEach, describe, expect, it } from "vitest"; + +import { BlaiseApiClient } from "../blaiseApiClient.js"; import { - mockDaybatchCases, mockAddDaybatchSettings, - mockSurveyDays, + mockDaybatchCases, mockSurveyDayDates, + mockSurveyDays, } from "../mocks/daybatch.mock.js"; const mock = new MockAdapter(axios, { onNoMatch: "throwException" }); diff --git a/src/resources/daybatch.ts b/src/resources/daybatch.ts index 2157a24..1ab8354 100644 --- a/src/resources/daybatch.ts +++ b/src/resources/daybatch.ts @@ -1,5 +1,5 @@ -import BlaiseApiClient from "../blaiseApiClient.js"; -import { DaybatchResponse, DaybatchSettings } from "../types/daybatch.js"; +import type { BlaiseApiClient } from "../blaiseApiClient.js"; +import type { DaybatchResponse, DaybatchSettings } from "../types/daybatch.types.js"; const formatDate = (date: string | Date): string => date instanceof Date ? date.toISOString() : date; diff --git a/src/resources/diagnostic.test.ts b/src/resources/diagnostic.test.ts index 087cf59..d30c342 100644 --- a/src/resources/diagnostic.test.ts +++ b/src/resources/diagnostic.test.ts @@ -1,7 +1,8 @@ -import { describe, it, expect, beforeAll, afterAll } from "vitest"; -import MockAdapter from "axios-mock-adapter"; import axios from "axios"; -import BlaiseApiClient from "../blaiseApiClient.js"; +import MockAdapter from "axios-mock-adapter"; +import { afterAll, beforeAll, describe, expect, it } from "vitest"; + +import { BlaiseApiClient } from "../blaiseApiClient.js"; import { mockDiagnostics } from "../mocks/diagnostic.mock.js"; const mock = new MockAdapter(axios, { onNoMatch: "throwException" }); diff --git a/src/resources/diagnostic.ts b/src/resources/diagnostic.ts index 63abce0..0d394fc 100644 --- a/src/resources/diagnostic.ts +++ b/src/resources/diagnostic.ts @@ -1,5 +1,5 @@ -import BlaiseApiClient from "../blaiseApiClient.js"; -import { Diagnostic } from "../types/diagnostic.js"; +import type { BlaiseApiClient } from "../blaiseApiClient.js"; +import type { Diagnostic } from "../types/diagnostic.types.js"; export async function getDiagnostics(this: BlaiseApiClient): Promise { return this.get("api/v2/health/diagnosis"); diff --git a/src/resources/questionnaire.test.ts b/src/resources/questionnaire.test.ts index d500ba0..e73b600 100644 --- a/src/resources/questionnaire.test.ts +++ b/src/resources/questionnaire.test.ts @@ -1,12 +1,13 @@ -import { describe, it, expect, afterEach } from "vitest"; -import MockAdapter from "axios-mock-adapter"; import axios from "axios"; -import BlaiseApiClient from "../blaiseApiClient.js"; +import MockAdapter from "axios-mock-adapter"; +import { afterEach, describe, expect, it } from "vitest"; + +import { BlaiseApiClient } from "../blaiseApiClient.js"; import { - mockQuestionnaires, - mockQuestionnaire, mockInstallQuestionnaire, mockInstallQuestionnaireResponse, + mockQuestionnaire, + mockQuestionnaires, mockQuestionnaireSettings, } from "../mocks/questionnaire.mock.js"; diff --git a/src/resources/questionnaire.ts b/src/resources/questionnaire.ts index f2f2492..e0a9568 100644 --- a/src/resources/questionnaire.ts +++ b/src/resources/questionnaire.ts @@ -1,10 +1,10 @@ -import BlaiseApiClient from "../blaiseApiClient.js"; -import { +import type { BlaiseApiClient } from "../blaiseApiClient.js"; +import type { InstallQuestionnaire, InstallQuestionnaireResponse, Questionnaire, QuestionnaireSettings, -} from "../types/questionnaire.js"; +} from "../types/questionnaire.types.js"; export async function getAllQuestionnairesWithCatiData( this: BlaiseApiClient, diff --git a/src/resources/questionnaireReport.test.ts b/src/resources/questionnaireReport.test.ts index 24ab49b..e507175 100644 --- a/src/resources/questionnaireReport.test.ts +++ b/src/resources/questionnaireReport.test.ts @@ -1,7 +1,8 @@ -import { describe, it, expect, beforeEach, afterEach } from "vitest"; -import MockAdapter from "axios-mock-adapter"; import axios from "axios"; -import BlaiseApiClient from "../blaiseApiClient.js"; +import MockAdapter from "axios-mock-adapter"; +import { afterEach, beforeEach, describe, expect, it } from "vitest"; + +import { BlaiseApiClient } from "../blaiseApiClient.js"; import { mockQuestionnaireReport } from "../mocks/questionnaireReport.mock.js"; const mock = new MockAdapter(axios, { onNoMatch: "throwException" }); diff --git a/src/resources/questionnaireReport.ts b/src/resources/questionnaireReport.ts index aa62489..fc225f2 100644 --- a/src/resources/questionnaireReport.ts +++ b/src/resources/questionnaireReport.ts @@ -1,5 +1,5 @@ -import BlaiseApiClient from "../blaiseApiClient.js"; -import { QuestionnaireReport } from "../types/questionnaireReport.js"; +import type { BlaiseApiClient } from "../blaiseApiClient.js"; +import type { QuestionnaireReport } from "../types/questionnaireReport.types.js"; export async function getQuestionnaireReportData( this: BlaiseApiClient, diff --git a/src/resources/user.test.ts b/src/resources/user.test.ts index e6d26ff..63b7015 100644 --- a/src/resources/user.test.ts +++ b/src/resources/user.test.ts @@ -1,7 +1,8 @@ -import { describe, it, expect, afterEach } from "vitest"; -import MockAdapter from "axios-mock-adapter"; import axios from "axios"; -import BlaiseApiClient from "../blaiseApiClient.js"; +import MockAdapter from "axios-mock-adapter"; +import { afterEach, describe, expect, it } from "vitest"; + +import { BlaiseApiClient } from "../blaiseApiClient.js"; import { mockNewUser, mockNewUserResponse } from "../mocks/user.mock.js"; const mock = new MockAdapter(axios, { onNoMatch: "throwException" }); diff --git a/src/resources/user.ts b/src/resources/user.ts index 01e4e6a..2258bdf 100644 --- a/src/resources/user.ts +++ b/src/resources/user.ts @@ -1,5 +1,5 @@ -import BlaiseApiClient from "../blaiseApiClient.js"; -import { NewUser, User, UserRole, PasswordRequest, RoleRequest } from "../types/user.js"; +import type { BlaiseApiClient } from "../blaiseApiClient.js"; +import type { NewUser, PasswordRequest, RoleRequest, User, UserRole } from "../types/user.types.js"; export async function getUser(this: BlaiseApiClient, username: string): Promise { return this.get(`api/v2/users/${username}`); diff --git a/src/types/blaiseApi.ts b/src/types/blaiseApi.types.ts similarity index 61% rename from src/types/blaiseApi.ts rename to src/types/blaiseApi.types.ts index 5efe85c..9b3afb9 100644 --- a/src/types/blaiseApi.ts +++ b/src/types/blaiseApi.types.ts @@ -1,4 +1,4 @@ -import { Questionnaire } from "./questionnaire.js"; +import { type Questionnaire } from "./questionnaire.types.js"; export interface BlaiseApi { getQuestionnaires(serverPark: string): Promise; diff --git a/src/types/blaiseApiConfig.ts b/src/types/blaiseApiConfig.types.ts similarity index 100% rename from src/types/blaiseApiConfig.ts rename to src/types/blaiseApiConfig.types.ts diff --git a/src/types/case.ts b/src/types/case.types.ts similarity index 93% rename from src/types/case.ts rename to src/types/case.types.ts index ff9a501..d4df2ff 100644 --- a/src/types/case.ts +++ b/src/types/case.types.ts @@ -1,7 +1,7 @@ +import type { JSONValue } from "./common.types.js"; import type { CaseOutcome } from "../enums/caseOutcome.js"; import type { EditedStatus } from "../enums/editedStatus.js"; import type { Organisation } from "../enums/organisation.js"; -import type { JSONValue } from "./common.js"; export interface CaseResponse { readonly caseId: string; diff --git a/src/types/common.ts b/src/types/common.types.ts similarity index 100% rename from src/types/common.ts rename to src/types/common.types.ts diff --git a/src/types/daybatch.ts b/src/types/daybatch.types.ts similarity index 100% rename from src/types/daybatch.ts rename to src/types/daybatch.types.ts diff --git a/src/types/diagnostic.ts b/src/types/diagnostic.types.ts similarity index 100% rename from src/types/diagnostic.ts rename to src/types/diagnostic.types.ts diff --git a/src/types/questionnaire.ts b/src/types/questionnaire.types.ts similarity index 100% rename from src/types/questionnaire.ts rename to src/types/questionnaire.types.ts diff --git a/src/types/questionnaireReport.ts b/src/types/questionnaireReport.types.ts similarity index 73% rename from src/types/questionnaireReport.ts rename to src/types/questionnaireReport.types.ts index c6abf2d..5f9dea5 100644 --- a/src/types/questionnaireReport.ts +++ b/src/types/questionnaireReport.types.ts @@ -1,4 +1,4 @@ -import { JSONValue } from "./common.js"; +import { type JSONValue } from "./common.types.js"; export interface QuestionnaireReport { questionnaireName: string; diff --git a/src/types/survey.ts b/src/types/survey.types.ts similarity index 56% rename from src/types/survey.ts rename to src/types/survey.types.ts index b9d821a..14ff205 100644 --- a/src/types/survey.ts +++ b/src/types/survey.types.ts @@ -1,4 +1,4 @@ -import { Questionnaire } from "./questionnaire.js"; +import { type Questionnaire } from "./questionnaire.types.js"; export interface Survey { questionnaires: Questionnaire[]; diff --git a/src/types/user.ts b/src/types/user.types.ts similarity index 100% rename from src/types/user.ts rename to src/types/user.types.ts diff --git a/tsconfig.build.json b/tsconfig.build.json index 023123b..ab2f203 100644 --- a/tsconfig.build.json +++ b/tsconfig.build.json @@ -1,7 +1,7 @@ { "compilerOptions": { - "types": [] + "types": ["node"] }, - "exclude": ["coverage", "dist", "node_modules", "src/**/*.test.ts"], + "exclude": ["src/**/*.mock.ts", "src/**/*.test.ts", "src/**/*.types.ts"], "extends": "./tsconfig.json" } diff --git a/tsconfig.eslint.json b/tsconfig.eslint.json index 77740c1..d83c09e 100644 --- a/tsconfig.eslint.json +++ b/tsconfig.eslint.json @@ -3,5 +3,5 @@ "noEmit": true }, "extends": "./tsconfig.json", - "include": ["src", "eslint.config.ts", "vite.config.ts"] + "include": ["src", "*.config.ts"] } diff --git a/tsconfig.json b/tsconfig.json index c9c5569..3cf728b 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -1,21 +1,20 @@ { "compilerOptions": { - "strict": true, + "declaration": true, + "declarationMap": true, "forceConsistentCasingInFileNames": true, + "module": "NodeNext", + "moduleResolution": "NodeNext", "noFallthroughCasesInSwitch": true, - "skipLibCheck": true, - "target": "ESNext", - "module": "ESNext", - "moduleResolution": "bundler", + "outDir": "dist", "resolveJsonModule": true, - "isolatedModules": true, - "types": ["vitest/globals", "node"], - "declaration": true, - "sourceMap": true, - "outDir": "dist/esm", "rootDir": "src", - "esModuleInterop": true, - "allowSyntheticDefaultImports": true + "skipLibCheck": true, + "sourceMap": true, + "strict": true, + "target": "ES2022", + "types": ["vitest/globals", "node"], + "verbatimModuleSyntax": true }, "exclude": ["coverage", "dist", "node_modules"], "include": ["src"] diff --git a/vitest.config.ts b/vitest.config.ts index 5f3bcbe..9974817 100644 --- a/vitest.config.ts +++ b/vitest.config.ts @@ -3,11 +3,13 @@ import { defineConfig } from "vitest/config"; export default defineConfig({ test: { environment: "node", + globals: true, + clearMocks: true, coverage: { provider: "v8", reporter: ["text", "json", "html"], include: ["src/**/*.ts"], - exclude: ["src/**/*.test.ts"], + exclude: ["src/**/*.mock.ts", "src/**/*.test.ts", "src/**/*.types.ts", "src/index.ts"], }, }, }); diff --git a/yarn.lock b/yarn.lock index 4e5c42b..486ef04 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1147,6 +1147,13 @@ __metadata: languageName: node linkType: hard +"@package-json/types@npm:^0.0.12": + version: 0.0.12 + resolution: "@package-json/types@npm:0.0.12" + checksum: 10c0/d9bba086efe7b9901f02f1cff7a68ab23269aeddfb7ee92a16930e219f705bfc188b9fec2dd47265033dbda45ed1514d8a46f46363f38f1ad56bc993754126da + languageName: node + linkType: hard + "@pkgr/core@npm:^0.2.9": version: 0.2.9 resolution: "@pkgr/core@npm:0.2.9" @@ -1154,6 +1161,13 @@ __metadata: languageName: node linkType: hard +"@publint/pack@npm:^0.1.4": + version: 0.1.4 + resolution: "@publint/pack@npm:0.1.4" + checksum: 10c0/f70b2c8951b5d312ecfd40534e1dd1b0a4fe0fd207879a73c168e3f6979df6202b8b4d4f9a0ee9de6443f0bfb95ef47a0c27c7138c083d9224ef27c67adddefd + languageName: node + linkType: hard + "@rolldown/binding-android-arm64@npm:1.0.0-rc.17": version: 1.0.0-rc.17 resolution: "@rolldown/binding-android-arm64@npm:1.0.0-rc.17" @@ -1270,13 +1284,6 @@ __metadata: languageName: node linkType: hard -"@rtsao/scc@npm:^1.1.0": - version: 1.1.0 - resolution: "@rtsao/scc@npm:1.1.0" - checksum: 10c0/b5bcfb0d87f7d1c1c7c0f7693f53b07866ed9fec4c34a97a8c948fb9a7c0082e416ce4d3b60beb4f5e167cbe04cdeefbf6771320f3ede059b9ce91188c409a5b - languageName: node - linkType: hard - "@standard-schema/spec@npm:^1.1.0": version: 1.1.0 resolution: "@standard-schema/spec@npm:1.1.0" @@ -1285,11 +1292,11 @@ __metadata: linkType: hard "@tybys/wasm-util@npm:^0.10.0, @tybys/wasm-util@npm:^0.10.1": - version: 0.10.1 - resolution: "@tybys/wasm-util@npm:0.10.1" + version: 0.10.2 + resolution: "@tybys/wasm-util@npm:0.10.2" dependencies: tslib: "npm:^2.4.0" - checksum: 10c0/b255094f293794c6d2289300c5fbcafbb5532a3aed3a5ffd2f8dc1828e639b88d75f6a376dd8f94347a44813fd7a7149d8463477a9a49525c8b2dcaa38c2d1e8 + checksum: 10c0/26165bcd1fd7269f42d7fbe3de318f854a8968de8397e89fc9a423bb3e2da35a52150f382e6323b3367595beb16d9800a6f35971a5599daf76da1742ec3afc25 languageName: node linkType: hard @@ -1331,13 +1338,6 @@ __metadata: languageName: node linkType: hard -"@types/json5@npm:^0.0.29": - version: 0.0.29 - resolution: "@types/json5@npm:0.0.29" - checksum: 10c0/6bf5337bc447b706bb5b4431d37686aa2ea6d07cfd6f79cc31de80170d6ff9b1c7384a9c0ccbc45b3f512bae9e9f75c2e12109806a15331dc94e8a8db6dbb4ac - languageName: node - linkType: hard - "@types/node@npm:^25.6.0": version: 25.6.0 resolution: "@types/node@npm:25.6.0" @@ -1347,105 +1347,105 @@ __metadata: languageName: node linkType: hard -"@typescript-eslint/eslint-plugin@npm:8.59.1": - version: 8.59.1 - resolution: "@typescript-eslint/eslint-plugin@npm:8.59.1" +"@typescript-eslint/eslint-plugin@npm:8.59.2": + version: 8.59.2 + resolution: "@typescript-eslint/eslint-plugin@npm:8.59.2" dependencies: "@eslint-community/regexpp": "npm:^4.12.2" - "@typescript-eslint/scope-manager": "npm:8.59.1" - "@typescript-eslint/type-utils": "npm:8.59.1" - "@typescript-eslint/utils": "npm:8.59.1" - "@typescript-eslint/visitor-keys": "npm:8.59.1" + "@typescript-eslint/scope-manager": "npm:8.59.2" + "@typescript-eslint/type-utils": "npm:8.59.2" + "@typescript-eslint/utils": "npm:8.59.2" + "@typescript-eslint/visitor-keys": "npm:8.59.2" ignore: "npm:^7.0.5" natural-compare: "npm:^1.4.0" ts-api-utils: "npm:^2.5.0" peerDependencies: - "@typescript-eslint/parser": ^8.59.1 + "@typescript-eslint/parser": ^8.59.2 eslint: ^8.57.0 || ^9.0.0 || ^10.0.0 typescript: ">=4.8.4 <6.1.0" - checksum: 10c0/6dedd272d1aac960df74ab81e38bb4b398ac11b52118c69493a3aeecd15984c83bd4cae89df2e8362fbc2213f0a6d68c00d71dd53868fa1b5e1011290d4ea7b6 + checksum: 10c0/c4c2a67d0ae47ab27e47c46a4cd59eb9941592595d3440cd4dcbccc1983a08c5c9bd276304797964fa2c9276be4cd60077f3087efc6a5370d5b8869720759bc8 languageName: node linkType: hard -"@typescript-eslint/parser@npm:8.59.1": - version: 8.59.1 - resolution: "@typescript-eslint/parser@npm:8.59.1" +"@typescript-eslint/parser@npm:8.59.2": + version: 8.59.2 + resolution: "@typescript-eslint/parser@npm:8.59.2" dependencies: - "@typescript-eslint/scope-manager": "npm:8.59.1" - "@typescript-eslint/types": "npm:8.59.1" - "@typescript-eslint/typescript-estree": "npm:8.59.1" - "@typescript-eslint/visitor-keys": "npm:8.59.1" + "@typescript-eslint/scope-manager": "npm:8.59.2" + "@typescript-eslint/types": "npm:8.59.2" + "@typescript-eslint/typescript-estree": "npm:8.59.2" + "@typescript-eslint/visitor-keys": "npm:8.59.2" debug: "npm:^4.4.3" peerDependencies: eslint: ^8.57.0 || ^9.0.0 || ^10.0.0 typescript: ">=4.8.4 <6.1.0" - checksum: 10c0/a20271b96e35fa5a8deea11ec40b30f7987daa5c3402e6e763e474517a25af20749a620490af159c2a65048065dea8a6d5fa3527ccc7a3716c2cd648a05ebc55 + checksum: 10c0/baf8da8ad233908f00bdfe5835c1e03fd7c9256f675a27b0d10d40d0245c158efc847dee1331c61992fbb152d55bfda3111795f8422e9d341f09ec9729364800 languageName: node linkType: hard -"@typescript-eslint/project-service@npm:8.59.1": - version: 8.59.1 - resolution: "@typescript-eslint/project-service@npm:8.59.1" +"@typescript-eslint/project-service@npm:8.59.2": + version: 8.59.2 + resolution: "@typescript-eslint/project-service@npm:8.59.2" dependencies: - "@typescript-eslint/tsconfig-utils": "npm:^8.59.1" - "@typescript-eslint/types": "npm:^8.59.1" + "@typescript-eslint/tsconfig-utils": "npm:^8.59.2" + "@typescript-eslint/types": "npm:^8.59.2" debug: "npm:^4.4.3" peerDependencies: typescript: ">=4.8.4 <6.1.0" - checksum: 10c0/487e60e9696fbae11070fd0591a009c94b932af2a92d37a1a9d9f9eac5bbc2f56fef83f3d4e72349dfdaadf95473bb5fb7332eb13f9296b87b3f14e842f42747 + checksum: 10c0/0228f01c61e5ef9022b06510f79f97e37daafd165c592927b640e3587d5cec65a8394a541e1fd21bf65df9f6f1948523569966c9e2181d9cfe911240969cebdb languageName: node linkType: hard -"@typescript-eslint/scope-manager@npm:8.59.1": - version: 8.59.1 - resolution: "@typescript-eslint/scope-manager@npm:8.59.1" +"@typescript-eslint/scope-manager@npm:8.59.2": + version: 8.59.2 + resolution: "@typescript-eslint/scope-manager@npm:8.59.2" dependencies: - "@typescript-eslint/types": "npm:8.59.1" - "@typescript-eslint/visitor-keys": "npm:8.59.1" - checksum: 10c0/05c19039bde67691ad7a558ac61260639593ab0ffd8b73903b0f23c770aa3d79868bc8c1a11cdd5b0c8226e5dcef9ab1d679db46b5c5fe019541216170451614 + "@typescript-eslint/types": "npm:8.59.2" + "@typescript-eslint/visitor-keys": "npm:8.59.2" + checksum: 10c0/eec819a96442e98879a66d908a9a388502dc4398005af360dd177907f021ee12e4f2967413b123c4ad4567e7f294b177cf6ee559eed2e86d38ab1af3ed5588a5 languageName: node linkType: hard -"@typescript-eslint/tsconfig-utils@npm:8.59.1, @typescript-eslint/tsconfig-utils@npm:^8.59.1": - version: 8.59.1 - resolution: "@typescript-eslint/tsconfig-utils@npm:8.59.1" +"@typescript-eslint/tsconfig-utils@npm:8.59.2, @typescript-eslint/tsconfig-utils@npm:^8.59.2": + version: 8.59.2 + resolution: "@typescript-eslint/tsconfig-utils@npm:8.59.2" peerDependencies: typescript: ">=4.8.4 <6.1.0" - checksum: 10c0/a3d123edbc39e7bfa3f58f722fe755787e71771d97b03ed80ea0706dcf3f25895e217e61b38049db1b05f246a26c6afb4e4a518bad21e7d1e71bb8dc136084ce + checksum: 10c0/ca7f386cdc9fa4b8c5de3622e2019b9729b8f5682292e01cc42b7cee4a7fc13005642b9dde733b429ad4e6f8600608930d9c33711d8c20c4f9d0af6520ba78d8 languageName: node linkType: hard -"@typescript-eslint/type-utils@npm:8.59.1": - version: 8.59.1 - resolution: "@typescript-eslint/type-utils@npm:8.59.1" +"@typescript-eslint/type-utils@npm:8.59.2": + version: 8.59.2 + resolution: "@typescript-eslint/type-utils@npm:8.59.2" dependencies: - "@typescript-eslint/types": "npm:8.59.1" - "@typescript-eslint/typescript-estree": "npm:8.59.1" - "@typescript-eslint/utils": "npm:8.59.1" + "@typescript-eslint/types": "npm:8.59.2" + "@typescript-eslint/typescript-estree": "npm:8.59.2" + "@typescript-eslint/utils": "npm:8.59.2" debug: "npm:^4.4.3" ts-api-utils: "npm:^2.5.0" peerDependencies: eslint: ^8.57.0 || ^9.0.0 || ^10.0.0 typescript: ">=4.8.4 <6.1.0" - checksum: 10c0/c5f0f8e53f85ddf796a45b485937b7d5aef5c884fed412ff945392376166242658e4b431bd9633e1e08d6dba7e83b6125283e4866f5a9b4ae61fec355705122d + checksum: 10c0/373ea2b03363e0c16ba75946327f01a130820f8b65976e831294c9e931d22d88d40f67a651a2151f0fcc9c91744019311fddadb608fe63ff6c0a65130417c34e languageName: node linkType: hard -"@typescript-eslint/types@npm:8.59.1, @typescript-eslint/types@npm:^8.59.1": - version: 8.59.1 - resolution: "@typescript-eslint/types@npm:8.59.1" - checksum: 10c0/a0bf98389e8673d4aa1034fdef9bb78f576b3dc6b8f413d4adf07ef6edff4a33fdb916148c3bac2cafdbf282c765eebf253c2a05edf3fda4123b8889921cd518 +"@typescript-eslint/types@npm:8.59.2, @typescript-eslint/types@npm:^8.56.0, @typescript-eslint/types@npm:^8.59.2": + version: 8.59.2 + resolution: "@typescript-eslint/types@npm:8.59.2" + checksum: 10c0/ee6889a22b237ef426c45f11dc167f7f220007c2a8f77c8b1ab9e57ac32a2b47fad29f53c4230847cbe49bcd30a35fc2f276e01611d0dab9918d7ef72334f423 languageName: node linkType: hard -"@typescript-eslint/typescript-estree@npm:8.59.1": - version: 8.59.1 - resolution: "@typescript-eslint/typescript-estree@npm:8.59.1" +"@typescript-eslint/typescript-estree@npm:8.59.2": + version: 8.59.2 + resolution: "@typescript-eslint/typescript-estree@npm:8.59.2" dependencies: - "@typescript-eslint/project-service": "npm:8.59.1" - "@typescript-eslint/tsconfig-utils": "npm:8.59.1" - "@typescript-eslint/types": "npm:8.59.1" - "@typescript-eslint/visitor-keys": "npm:8.59.1" + "@typescript-eslint/project-service": "npm:8.59.2" + "@typescript-eslint/tsconfig-utils": "npm:8.59.2" + "@typescript-eslint/types": "npm:8.59.2" + "@typescript-eslint/visitor-keys": "npm:8.59.2" debug: "npm:^4.4.3" minimatch: "npm:^10.2.2" semver: "npm:^7.7.3" @@ -1453,32 +1453,32 @@ __metadata: ts-api-utils: "npm:^2.5.0" peerDependencies: typescript: ">=4.8.4 <6.1.0" - checksum: 10c0/80b2624185d303741a710ba90e4fcb4e52320c1fc614f62cce785bfb39dfb9560ea5d325ff590d929c689b7dae7c28a598a26e1862477cc108c4ae4e8fe62c78 + checksum: 10c0/8bde0e7d184e4e9d98b1ef32b8692b433c8dc5c54439f4a34ae49cf4cb6117435b86d8d891b58a73676fbcf1162717365945053d48139cafb265f775e6c8d2af languageName: node linkType: hard -"@typescript-eslint/utils@npm:8.59.1": - version: 8.59.1 - resolution: "@typescript-eslint/utils@npm:8.59.1" +"@typescript-eslint/utils@npm:8.59.2": + version: 8.59.2 + resolution: "@typescript-eslint/utils@npm:8.59.2" dependencies: "@eslint-community/eslint-utils": "npm:^4.9.1" - "@typescript-eslint/scope-manager": "npm:8.59.1" - "@typescript-eslint/types": "npm:8.59.1" - "@typescript-eslint/typescript-estree": "npm:8.59.1" + "@typescript-eslint/scope-manager": "npm:8.59.2" + "@typescript-eslint/types": "npm:8.59.2" + "@typescript-eslint/typescript-estree": "npm:8.59.2" peerDependencies: eslint: ^8.57.0 || ^9.0.0 || ^10.0.0 typescript: ">=4.8.4 <6.1.0" - checksum: 10c0/82a3fdb52d5f54622f8796eaeca508c630e65bfb94423645c1097b377fd56cf43b2999a83f11f42924e0cbb93b22faca6e572ee27cf550795b99e22193a0d41c + checksum: 10c0/d972d6f2ade6639088e3d2acf319c82cd981455a282d245dd715c5d77365647240d2cb34be00ab0d3a3c16593fb5050fcd698d399ff8451801825211d653ce64 languageName: node linkType: hard -"@typescript-eslint/visitor-keys@npm:8.59.1": - version: 8.59.1 - resolution: "@typescript-eslint/visitor-keys@npm:8.59.1" +"@typescript-eslint/visitor-keys@npm:8.59.2": + version: 8.59.2 + resolution: "@typescript-eslint/visitor-keys@npm:8.59.2" dependencies: - "@typescript-eslint/types": "npm:8.59.1" + "@typescript-eslint/types": "npm:8.59.2" eslint-visitor-keys: "npm:^5.0.0" - checksum: 10c0/1144426dda53e855698301eae6301ae928785915225e6a775f0b51bf5d67b67e90def7b851e851ce76235cff3e1324132d03c7843a33ce2c4f0eb0764cc2b80a + checksum: 10c0/5863ea98ac642d94fd100f0077c5cfcbe168c3e2ac9bd05da7fc9878c32c20b6d4fc6916df44ffe79c538c4f367a083489d70dab07aa09c51e4e7729716d106e languageName: node linkType: hard @@ -1774,32 +1774,6 @@ __metadata: languageName: node linkType: hard -"array-buffer-byte-length@npm:^1.0.1, array-buffer-byte-length@npm:^1.0.2": - version: 1.0.2 - resolution: "array-buffer-byte-length@npm:1.0.2" - dependencies: - call-bound: "npm:^1.0.3" - is-array-buffer: "npm:^3.0.5" - checksum: 10c0/74e1d2d996941c7a1badda9cabb7caab8c449db9086407cad8a1b71d2604cc8abf105db8ca4e02c04579ec58b7be40279ddb09aea4784832984485499f48432d - languageName: node - linkType: hard - -"array-includes@npm:^3.1.9": - version: 3.1.9 - resolution: "array-includes@npm:3.1.9" - dependencies: - call-bind: "npm:^1.0.8" - call-bound: "npm:^1.0.4" - define-properties: "npm:^1.2.1" - es-abstract: "npm:^1.24.0" - es-object-atoms: "npm:^1.1.1" - get-intrinsic: "npm:^1.3.0" - is-string: "npm:^1.1.1" - math-intrinsics: "npm:^1.1.0" - checksum: 10c0/0235fa69078abeac05ac4250699c44996bc6f774a9cbe45db48674ce6bd142f09b327d31482ff75cf03344db4ea03eae23edb862d59378b484b47ed842574856 - languageName: node - linkType: hard - "array-timsort@npm:^1.0.3": version: 1.0.3 resolution: "array-timsort@npm:1.0.3" @@ -1807,60 +1781,6 @@ __metadata: languageName: node linkType: hard -"array.prototype.findlastindex@npm:^1.2.6": - version: 1.2.6 - resolution: "array.prototype.findlastindex@npm:1.2.6" - dependencies: - call-bind: "npm:^1.0.8" - call-bound: "npm:^1.0.4" - define-properties: "npm:^1.2.1" - es-abstract: "npm:^1.23.9" - es-errors: "npm:^1.3.0" - es-object-atoms: "npm:^1.1.1" - es-shim-unscopables: "npm:^1.1.0" - checksum: 10c0/82559310d2e57ec5f8fc53d7df420e3abf0ba497935de0a5570586035478ba7d07618cb18e2d4ada2da514c8fb98a034aaf5c06caa0a57e2f7f4c4adedef5956 - languageName: node - linkType: hard - -"array.prototype.flat@npm:^1.3.3": - version: 1.3.3 - resolution: "array.prototype.flat@npm:1.3.3" - dependencies: - call-bind: "npm:^1.0.8" - define-properties: "npm:^1.2.1" - es-abstract: "npm:^1.23.5" - es-shim-unscopables: "npm:^1.0.2" - checksum: 10c0/d90e04dfbc43bb96b3d2248576753d1fb2298d2d972e29ca7ad5ec621f0d9e16ff8074dae647eac4f31f4fb7d3f561a7ac005fb01a71f51705a13b5af06a7d8a - languageName: node - linkType: hard - -"array.prototype.flatmap@npm:^1.3.3": - version: 1.3.3 - resolution: "array.prototype.flatmap@npm:1.3.3" - dependencies: - call-bind: "npm:^1.0.8" - define-properties: "npm:^1.2.1" - es-abstract: "npm:^1.23.5" - es-shim-unscopables: "npm:^1.0.2" - checksum: 10c0/ba899ea22b9dc9bf276e773e98ac84638ed5e0236de06f13d63a90b18ca9e0ec7c97d622d899796e3773930b946cd2413d098656c0c5d8cc58c6f25c21e6bd54 - languageName: node - linkType: hard - -"arraybuffer.prototype.slice@npm:^1.0.4": - version: 1.0.4 - resolution: "arraybuffer.prototype.slice@npm:1.0.4" - dependencies: - array-buffer-byte-length: "npm:^1.0.1" - call-bind: "npm:^1.0.8" - define-properties: "npm:^1.2.1" - es-abstract: "npm:^1.23.5" - es-errors: "npm:^1.3.0" - get-intrinsic: "npm:^1.2.6" - is-array-buffer: "npm:^3.0.4" - checksum: 10c0/2f2459caa06ae0f7f615003f9104b01f6435cc803e11bd2a655107d52a1781dc040532dc44d93026b694cc18793993246237423e13a5337e86b43ed604932c06 - languageName: node - linkType: hard - "assertion-error@npm:^2.0.1": version: 2.0.1 resolution: "assertion-error@npm:2.0.1" @@ -1900,15 +1820,6 @@ __metadata: languageName: node linkType: hard -"available-typed-arrays@npm:^1.0.7": - version: 1.0.7 - resolution: "available-typed-arrays@npm:1.0.7" - dependencies: - possible-typed-array-names: "npm:^1.0.0" - checksum: 10c0/d07226ef4f87daa01bd0fe80f8f310982e345f372926da2e5296aecc25c41cab440916bbaa4c5e1034b453af3392f67df5961124e4b586df1e99793a1374bdb2 - languageName: node - linkType: hard - "axios-mock-adapter@npm:^2.1.0": version: 2.1.0 resolution: "axios-mock-adapter@npm:2.1.0" @@ -1932,13 +1843,6 @@ __metadata: languageName: node linkType: hard -"balanced-match@npm:^1.0.0": - version: 1.0.2 - resolution: "balanced-match@npm:1.0.2" - checksum: 10c0/9308baf0a7e4838a82bbfd11e01b1cb0f0cf2893bc1676c27c2a8c0e70cbae1c59120c3268517a8ae7fb6376b4639ef81ca22582611dbee4ed28df945134aaee - languageName: node - linkType: hard - "balanced-match@npm:^4.0.2": version: 4.0.4 resolution: "balanced-match@npm:4.0.4" @@ -1974,36 +1878,27 @@ __metadata: eslint: "npm:^10.3.0" eslint-config-prettier: "npm:^10.1.8" eslint-import-resolver-typescript: "npm:^4.4.4" - eslint-plugin-import: "npm:^2.32.0" + eslint-plugin-import-x: "npm:^4.16.2" eslint-plugin-jsonc: "npm:^3.1.2" globals: "npm:^17.6.0" - jiti: "npm:^2.6.1" + jiti: "npm:^2.7.0" jsonc-eslint-parser: "npm:^3.1.0" - knip: "npm:^6.11.0" + knip: "npm:^6.12.0" prettier: "npm:^3.8.3" + publint: "npm:^0.3.19" typescript: "npm:^6.0.3" - typescript-eslint: "npm:^8.59.1" + typescript-eslint: "npm:^8.59.2" vitest: "npm:^4.1.5" languageName: unknown linkType: soft "blaise-iap-node-provider@git+https://github.com/ONSdigital/blaise-iap-node-provider.git#BLAIS5-5177": version: 1.0.0 - resolution: "blaise-iap-node-provider@https://github.com/ONSdigital/blaise-iap-node-provider.git#commit=4a83409851a428ad0284ea8630305834275cedc8" + resolution: "blaise-iap-node-provider@https://github.com/ONSdigital/blaise-iap-node-provider.git#commit=58c7c8ec082d01be6c83213848b05922401cdc67" dependencies: google-auth-library: "npm:^10.6.2" jsonwebtoken: "npm:^9.0.3" - checksum: 10c0/7bac91cf8de6237ee96ae48414973e337f6d0100ce715a70109b4cbf53bd8846636dafd0311c77f1b01f3f2763631c03de3af4e8c975b477378d2d661f0c5833 - languageName: node - linkType: hard - -"brace-expansion@npm:^1.1.7": - version: 1.1.14 - resolution: "brace-expansion@npm:1.1.14" - dependencies: - balanced-match: "npm:^1.0.0" - concat-map: "npm:0.0.1" - checksum: 10c0/b6fdac832bc4e36a753658c9ed052c2e1a2be221763b002df25d1efbf7d21724334e726a6cd5eadc72a4b19ec3efb632d629cc003bc9c62f7af7a7915ffa4385 + checksum: 10c0/0d52faac76e85524d474735dd7fc643ad9d7f091bf7fda95bcfe5046346e31c03f856dac178168a7cb841f81ad377e2c36690dea2dfe497e3b8a0f63fe014836 languageName: node linkType: hard @@ -2033,28 +1928,6 @@ __metadata: languageName: node linkType: hard -"call-bind@npm:^1.0.7, call-bind@npm:^1.0.8, call-bind@npm:^1.0.9": - version: 1.0.9 - resolution: "call-bind@npm:1.0.9" - dependencies: - call-bind-apply-helpers: "npm:^1.0.2" - es-define-property: "npm:^1.0.1" - get-intrinsic: "npm:^1.3.0" - set-function-length: "npm:^1.2.2" - checksum: 10c0/a6621f6da1444481919ce3b4983dff725691e0754d3507ae483ce56e54985f2da7d6f1df512c56dbf28660745cf1ca52553f1fc9aef5557f3ce353ef14fab714 - languageName: node - linkType: hard - -"call-bound@npm:^1.0.2, call-bound@npm:^1.0.3, call-bound@npm:^1.0.4": - version: 1.0.4 - resolution: "call-bound@npm:1.0.4" - dependencies: - call-bind-apply-helpers: "npm:^1.0.2" - get-intrinsic: "npm:^1.3.0" - checksum: 10c0/f4796a6a0941e71c766aea672f63b72bc61234c4f4964dc6d7606e3664c307e7d77845328a8f3359ce39ddb377fed67318f9ee203dea1d47e46165dcf2917644 - languageName: node - linkType: hard - "chai@npm:^6.2.2": version: 6.2.2 resolution: "chai@npm:6.2.2" @@ -2111,10 +1984,10 @@ __metadata: languageName: node linkType: hard -"concat-map@npm:0.0.1": - version: 0.0.1 - resolution: "concat-map@npm:0.0.1" - checksum: 10c0/c996b1cfdf95b6c90fee4dae37e332c8b6eb7d106430c17d538034c0ad9a1630cb194d2ab37293b1bdd4d779494beee7786d586a50bd9376fd6f7bcc2bd4c98f +"comment-parser@npm:^1.4.1": + version: 1.4.6 + resolution: "comment-parser@npm:1.4.6" + checksum: 10c0/10837626fc1cb84531564a5ec145f5818b3830393c09744ebfea4105319824e277bdb60ffcf38f44e165e002909fda835b21e20d032a8f8d068834aaef8af0ca languageName: node linkType: hard @@ -2285,39 +2158,6 @@ __metadata: languageName: node linkType: hard -"data-view-buffer@npm:^1.0.2": - version: 1.0.2 - resolution: "data-view-buffer@npm:1.0.2" - dependencies: - call-bound: "npm:^1.0.3" - es-errors: "npm:^1.3.0" - is-data-view: "npm:^1.0.2" - checksum: 10c0/7986d40fc7979e9e6241f85db8d17060dd9a71bd53c894fa29d126061715e322a4cd47a00b0b8c710394854183d4120462b980b8554012acc1c0fa49df7ad38c - languageName: node - linkType: hard - -"data-view-byte-length@npm:^1.0.2": - version: 1.0.2 - resolution: "data-view-byte-length@npm:1.0.2" - dependencies: - call-bound: "npm:^1.0.3" - es-errors: "npm:^1.3.0" - is-data-view: "npm:^1.0.2" - checksum: 10c0/f8a4534b5c69384d95ac18137d381f18a5cfae1f0fc1df0ef6feef51ef0d568606d970b69e02ea186c6c0f0eac77fe4e6ad96fec2569cc86c3afcc7475068c55 - languageName: node - linkType: hard - -"data-view-byte-offset@npm:^1.0.1": - version: 1.0.1 - resolution: "data-view-byte-offset@npm:1.0.1" - dependencies: - call-bound: "npm:^1.0.2" - es-errors: "npm:^1.3.0" - is-data-view: "npm:^1.0.1" - checksum: 10c0/fa7aa40078025b7810dcffc16df02c480573b7b53ef1205aa6a61533011005c1890e5ba17018c692ce7c900212b547262d33279fde801ad9843edc0863bf78c4 - languageName: node - linkType: hard - "debug@npm:4, debug@npm:^4.3.1, debug@npm:^4.3.2, debug@npm:^4.4.1, debug@npm:^4.4.3": version: 4.4.3 resolution: "debug@npm:4.4.3" @@ -2330,15 +2170,6 @@ __metadata: languageName: node linkType: hard -"debug@npm:^3.2.7": - version: 3.2.7 - resolution: "debug@npm:3.2.7" - dependencies: - ms: "npm:^2.1.1" - checksum: 10c0/37d96ae42cbc71c14844d2ae3ba55adf462ec89fd3a999459dec3833944cd999af6007ff29c780f1c61153bcaaf2c842d1e4ce1ec621e4fc4923244942e4a02a - languageName: node - linkType: hard - "deep-is@npm:^0.1.3": version: 0.1.4 resolution: "deep-is@npm:0.1.4" @@ -2346,28 +2177,6 @@ __metadata: languageName: node linkType: hard -"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: 10c0/dea0606d1483eb9db8d930d4eac62ca0fa16738b0b3e07046cddfacf7d8c868bbe13fa0cb263eb91c7d0d527960dc3f2f2471a69ed7816210307f6744fe62e37 - languageName: node - linkType: hard - -"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: 10c0/88a152319ffe1396ccc6ded510a3896e77efac7a1bfbaa174a7b00414a1747377e0bb525d303794a47cf30e805c2ec84e575758512c6e44a993076d29fd4e6c3 - languageName: node - linkType: hard - "delayed-stream@npm:~1.0.0": version: 1.0.0 resolution: "delayed-stream@npm:1.0.0" @@ -2389,16 +2198,7 @@ __metadata: languageName: node linkType: hard -"doctrine@npm:^2.1.0": - version: 2.1.0 - resolution: "doctrine@npm:2.1.0" - dependencies: - esutils: "npm:^2.0.2" - checksum: 10c0/b6416aaff1f380bf56c3b552f31fdf7a69b45689368deca72d28636f41c16bb28ec3ebc40ace97db4c1afc0ceeb8120e8492fe0046841c94c2933b2e30a7d5ac - languageName: node - linkType: hard - -"dunder-proto@npm:^1.0.0, dunder-proto@npm:^1.0.1": +"dunder-proto@npm:^1.0.1": version: 1.0.1 resolution: "dunder-proto@npm:1.0.1" dependencies: @@ -2434,69 +2234,7 @@ __metadata: languageName: node linkType: hard -"es-abstract@npm:^1.23.2, es-abstract@npm:^1.23.5, es-abstract@npm:^1.23.9, es-abstract@npm:^1.24.0": - version: 1.24.2 - resolution: "es-abstract@npm:1.24.2" - dependencies: - array-buffer-byte-length: "npm:^1.0.2" - arraybuffer.prototype.slice: "npm:^1.0.4" - available-typed-arrays: "npm:^1.0.7" - call-bind: "npm:^1.0.8" - call-bound: "npm:^1.0.4" - data-view-buffer: "npm:^1.0.2" - data-view-byte-length: "npm:^1.0.2" - data-view-byte-offset: "npm:^1.0.1" - es-define-property: "npm:^1.0.1" - es-errors: "npm:^1.3.0" - es-object-atoms: "npm:^1.1.1" - es-set-tostringtag: "npm:^2.1.0" - es-to-primitive: "npm:^1.3.0" - function.prototype.name: "npm:^1.1.8" - get-intrinsic: "npm:^1.3.0" - get-proto: "npm:^1.0.1" - get-symbol-description: "npm:^1.1.0" - globalthis: "npm:^1.0.4" - gopd: "npm:^1.2.0" - has-property-descriptors: "npm:^1.0.2" - has-proto: "npm:^1.2.0" - has-symbols: "npm:^1.1.0" - hasown: "npm:^2.0.2" - internal-slot: "npm:^1.1.0" - is-array-buffer: "npm:^3.0.5" - is-callable: "npm:^1.2.7" - is-data-view: "npm:^1.0.2" - is-negative-zero: "npm:^2.0.3" - is-regex: "npm:^1.2.1" - is-set: "npm:^2.0.3" - is-shared-array-buffer: "npm:^1.0.4" - is-string: "npm:^1.1.1" - is-typed-array: "npm:^1.1.15" - is-weakref: "npm:^1.1.1" - math-intrinsics: "npm:^1.1.0" - object-inspect: "npm:^1.13.4" - object-keys: "npm:^1.1.1" - object.assign: "npm:^4.1.7" - own-keys: "npm:^1.0.1" - regexp.prototype.flags: "npm:^1.5.4" - safe-array-concat: "npm:^1.1.3" - safe-push-apply: "npm:^1.0.0" - safe-regex-test: "npm:^1.1.0" - set-proto: "npm:^1.0.0" - stop-iteration-iterator: "npm:^1.1.0" - string.prototype.trim: "npm:^1.2.10" - string.prototype.trimend: "npm:^1.0.9" - string.prototype.trimstart: "npm:^1.0.8" - typed-array-buffer: "npm:^1.0.3" - typed-array-byte-length: "npm:^1.0.3" - typed-array-byte-offset: "npm:^1.0.4" - typed-array-length: "npm:^1.0.7" - unbox-primitive: "npm:^1.1.0" - which-typed-array: "npm:^1.1.19" - checksum: 10c0/67a5bf21ef5c7d775e6f6131a836323900b4d87194cf544394ac68fe31c57fa53828b978af4a4f551ef307f83a2f910a16b6b982760ad3ddc3dc471f98d5fd1b - languageName: node - linkType: hard - -"es-define-property@npm:^1.0.0, es-define-property@npm:^1.0.1": +"es-define-property@npm:^1.0.1": version: 1.0.1 resolution: "es-define-property@npm:1.0.1" checksum: 10c0/3f54eb49c16c18707949ff25a1456728c883e81259f045003499efba399c08bad00deebf65cccde8c0e07908c1a225c9d472b7107e558f2a48e28d530e34527c @@ -2538,26 +2276,6 @@ __metadata: languageName: node linkType: hard -"es-shim-unscopables@npm:^1.0.2, es-shim-unscopables@npm:^1.1.0": - version: 1.1.0 - resolution: "es-shim-unscopables@npm:1.1.0" - dependencies: - hasown: "npm:^2.0.2" - checksum: 10c0/1b9702c8a1823fc3ef39035a4e958802cf294dd21e917397c561d0b3e195f383b978359816b1732d02b255ccf63e1e4815da0065b95db8d7c992037be3bbbcdb - languageName: node - linkType: hard - -"es-to-primitive@npm:^1.3.0": - version: 1.3.0 - resolution: "es-to-primitive@npm:1.3.0" - dependencies: - is-callable: "npm:^1.2.7" - is-date-object: "npm:^1.0.5" - is-symbol: "npm:^1.0.4" - checksum: 10c0/c7e87467abb0b438639baa8139f701a06537d2b9bc758f23e8622c3b42fd0fdb5bde0f535686119e446dd9d5e4c0f238af4e14960f4771877cf818d023f6730b - languageName: node - linkType: hard - "escape-string-regexp@npm:^4.0.0": version: 4.0.0 resolution: "escape-string-regexp@npm:4.0.0" @@ -2576,7 +2294,7 @@ __metadata: languageName: node linkType: hard -"eslint-import-context@npm:^0.1.8": +"eslint-import-context@npm:^0.1.8, eslint-import-context@npm:^0.1.9": version: 0.1.9 resolution: "eslint-import-context@npm:0.1.9" dependencies: @@ -2591,17 +2309,6 @@ __metadata: languageName: node linkType: hard -"eslint-import-resolver-node@npm:^0.3.9": - version: 0.3.10 - resolution: "eslint-import-resolver-node@npm:0.3.10" - dependencies: - debug: "npm:^3.2.7" - is-core-module: "npm:^2.16.1" - resolve: "npm:^2.0.0-next.6" - checksum: 10c0/2e05bdb148fe10a25b9a6fec3c4986a2e09e98bb99208491df82a9df7725f7bb312482d585404c440d42e58ab60debe7a48d9c992191851385b18d33a146e3c3 - languageName: node - linkType: hard - "eslint-import-resolver-typescript@npm:^4.4.4": version: 4.4.4 resolution: "eslint-import-resolver-typescript@npm:4.4.4" @@ -2641,44 +2348,30 @@ __metadata: languageName: node linkType: hard -"eslint-module-utils@npm:^2.12.1": - version: 2.12.1 - resolution: "eslint-module-utils@npm:2.12.1" - dependencies: - debug: "npm:^3.2.7" - peerDependenciesMeta: - eslint: - optional: true - checksum: 10c0/6f4efbe7a91ae49bf67b4ab3644cb60bc5bd7db4cb5521de1b65be0847ffd3fb6bce0dd68f0995e1b312d137f768e2a1f842ee26fe73621afa05f850628fdc40 - languageName: node - linkType: hard - -"eslint-plugin-import@npm:^2.32.0": - version: 2.32.0 - resolution: "eslint-plugin-import@npm:2.32.0" +"eslint-plugin-import-x@npm:^4.16.2": + version: 4.16.2 + resolution: "eslint-plugin-import-x@npm:4.16.2" dependencies: - "@rtsao/scc": "npm:^1.1.0" - array-includes: "npm:^3.1.9" - array.prototype.findlastindex: "npm:^1.2.6" - array.prototype.flat: "npm:^1.3.3" - array.prototype.flatmap: "npm:^1.3.3" - debug: "npm:^3.2.7" - doctrine: "npm:^2.1.0" - eslint-import-resolver-node: "npm:^0.3.9" - eslint-module-utils: "npm:^2.12.1" - hasown: "npm:^2.0.2" - is-core-module: "npm:^2.16.1" + "@package-json/types": "npm:^0.0.12" + "@typescript-eslint/types": "npm:^8.56.0" + comment-parser: "npm:^1.4.1" + debug: "npm:^4.4.1" + eslint-import-context: "npm:^0.1.9" is-glob: "npm:^4.0.3" - minimatch: "npm:^3.1.2" - object.fromentries: "npm:^2.0.8" - object.groupby: "npm:^1.0.3" - object.values: "npm:^1.2.1" - semver: "npm:^6.3.1" - string.prototype.trimend: "npm:^1.0.9" - tsconfig-paths: "npm:^3.15.0" + minimatch: "npm:^9.0.3 || ^10.1.2" + semver: "npm:^7.7.2" + stable-hash-x: "npm:^0.2.0" + unrs-resolver: "npm:^1.9.2" peerDependencies: - eslint: ^2 || ^3 || ^4 || ^5 || ^6 || ^7.2.0 || ^8 || ^9 - checksum: 10c0/bfb1b8fc8800398e62ddfefbf3638d185286edfed26dfe00875cc2846d954491b4f5112457831588b757fa789384e1ae585f812614c4797f0499fa234fd4a48b + "@typescript-eslint/utils": ^8.56.0 + eslint: ^8.57.0 || ^9.0.0 || ^10.0.0 + eslint-import-resolver-node: "*" + peerDependenciesMeta: + "@typescript-eslint/utils": + optional: true + eslint-import-resolver-node: + optional: true + checksum: 10c0/b51b814323a6005c5230fccdffef9a8adc3691ad7a475de6ba635f5ef776fc1f5d1a1c7e65e2c98c6033155cc7e8f8b9f2f507fe31fc038972d535355673e83e languageName: node linkType: hard @@ -2960,15 +2653,6 @@ __metadata: languageName: node linkType: hard -"for-each@npm:^0.3.3, for-each@npm:^0.3.5": - version: 0.3.5 - resolution: "for-each@npm:0.3.5" - dependencies: - is-callable: "npm:^1.2.7" - checksum: 10c0/0e0b50f6a843a282637d43674d1fb278dda1dd85f4f99b640024cfb10b85058aac0cc781bf689d5fe50b4b7f638e91e548560723a4e76e04fe96ae35ef039cee - languageName: node - linkType: hard - "form-data@npm:^4.0.5": version: 4.0.5 resolution: "form-data@npm:4.0.5" @@ -3028,27 +2712,6 @@ __metadata: languageName: node linkType: hard -"function.prototype.name@npm:^1.1.6, function.prototype.name@npm:^1.1.8": - version: 1.1.8 - resolution: "function.prototype.name@npm:1.1.8" - dependencies: - call-bind: "npm:^1.0.8" - call-bound: "npm:^1.0.3" - define-properties: "npm:^1.2.1" - functions-have-names: "npm:^1.2.3" - hasown: "npm:^2.0.2" - is-callable: "npm:^1.2.7" - checksum: 10c0/e920a2ab52663005f3cbe7ee3373e3c71c1fb5558b0b0548648cdf3e51961085032458e26c71ff1a8c8c20e7ee7caeb03d43a5d1fa8610c459333323a2e71253 - languageName: node - linkType: hard - -"functions-have-names@npm:^1.2.3": - version: 1.2.3 - resolution: "functions-have-names@npm:1.2.3" - checksum: 10c0/33e77fd29bddc2d9bb78ab3eb854c165909201f88c75faa8272e35899e2d35a8a642a15e7420ef945e1f64a9670d6aa3ec744106b2aa42be68ca5114025954ca - languageName: node - linkType: hard - "gaxios@npm:^7.0.0, gaxios@npm:^7.1.4": version: 7.1.4 resolution: "gaxios@npm:7.1.4" @@ -3085,7 +2748,7 @@ __metadata: languageName: node linkType: hard -"get-intrinsic@npm:^1.2.4, get-intrinsic@npm:^1.2.5, get-intrinsic@npm:^1.2.6, get-intrinsic@npm:^1.2.7, get-intrinsic@npm:^1.3.0": +"get-intrinsic@npm:^1.2.6": version: 1.3.1 resolution: "get-intrinsic@npm:1.3.1" dependencies: @@ -3116,17 +2779,6 @@ __metadata: languageName: node linkType: hard -"get-symbol-description@npm:^1.1.0": - version: 1.1.0 - resolution: "get-symbol-description@npm:1.1.0" - dependencies: - call-bound: "npm:^1.0.3" - es-errors: "npm:^1.3.0" - get-intrinsic: "npm:^1.2.6" - checksum: 10c0/d6a7d6afca375779a4b307738c9e80dbf7afc0bdbe5948768d54ab9653c865523d8920e670991a925936eb524b7cb6a6361d199a760b21d0ca7620194455aa4b - languageName: node - linkType: hard - "get-tsconfig@npm:4.14.0, get-tsconfig@npm:^4.10.1": version: 4.14.0 resolution: "get-tsconfig@npm:4.14.0" @@ -3161,16 +2813,6 @@ __metadata: languageName: node linkType: hard -"globalthis@npm:^1.0.4": - version: 1.0.4 - resolution: "globalthis@npm:1.0.4" - dependencies: - define-properties: "npm:^1.2.1" - gopd: "npm:^1.0.1" - checksum: 10c0/9d156f313af79d80b1566b93e19285f481c591ad6d0d319b4be5e03750d004dde40a39a0f26f7e635f9007a3600802f53ecd85a759b86f109e80a5f705e01846 - languageName: node - linkType: hard - "google-auth-library@npm:^10.6.2": version: 10.6.2 resolution: "google-auth-library@npm:10.6.2" @@ -3192,7 +2834,7 @@ __metadata: languageName: node linkType: hard -"gopd@npm:^1.0.1, gopd@npm:^1.2.0": +"gopd@npm:^1.2.0": version: 1.2.0 resolution: "gopd@npm:1.2.0" checksum: 10c0/50fff1e04ba2b7737c097358534eacadad1e68d24cccee3272e04e007bed008e68d2614f3987788428fd192a5ae3889d08fb2331417e4fc4a9ab366b2043cead @@ -3206,13 +2848,6 @@ __metadata: languageName: node linkType: hard -"has-bigints@npm:^1.0.2": - version: 1.1.0 - resolution: "has-bigints@npm:1.1.0" - checksum: 10c0/2de0cdc4a1ccf7a1e75ffede1876994525ac03cc6f5ae7392d3415dd475cd9eee5bceec63669ab61aa997ff6cceebb50ef75561c7002bed8988de2b9d1b40788 - languageName: node - linkType: hard - "has-flag@npm:^4.0.0": version: 4.0.0 resolution: "has-flag@npm:4.0.0" @@ -3220,24 +2855,6 @@ __metadata: languageName: node linkType: hard -"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: - es-define-property: "npm:^1.0.0" - checksum: 10c0/253c1f59e80bb476cf0dde8ff5284505d90c3bdb762983c3514d36414290475fe3fd6f574929d84de2a8eec00d35cf07cb6776205ff32efd7c50719125f00236 - languageName: node - linkType: hard - -"has-proto@npm:^1.2.0": - version: 1.2.0 - resolution: "has-proto@npm:1.2.0" - dependencies: - dunder-proto: "npm:^1.0.0" - checksum: 10c0/46538dddab297ec2f43923c3d35237df45d8c55a6fc1067031e04c13ed8a9a8f94954460632fd4da84c31a1721eefee16d901cbb1ae9602bab93bb6e08f93b95 - languageName: node - linkType: hard - "has-symbols@npm:^1.0.3, has-symbols@npm:^1.1.0": version: 1.1.0 resolution: "has-symbols@npm:1.1.0" @@ -3322,60 +2939,6 @@ __metadata: languageName: node linkType: hard -"internal-slot@npm:^1.1.0": - version: 1.1.0 - resolution: "internal-slot@npm:1.1.0" - dependencies: - es-errors: "npm:^1.3.0" - hasown: "npm:^2.0.2" - side-channel: "npm:^1.1.0" - checksum: 10c0/03966f5e259b009a9bf1a78d60da920df198af4318ec004f57b8aef1dd3fe377fbc8cce63a96e8c810010302654de89f9e19de1cd8ad0061d15be28a695465c7 - languageName: node - linkType: hard - -"is-array-buffer@npm:^3.0.4, is-array-buffer@npm:^3.0.5": - version: 3.0.5 - resolution: "is-array-buffer@npm:3.0.5" - dependencies: - call-bind: "npm:^1.0.8" - call-bound: "npm:^1.0.3" - get-intrinsic: "npm:^1.2.6" - checksum: 10c0/c5c9f25606e86dbb12e756694afbbff64bc8b348d1bc989324c037e1068695131930199d6ad381952715dad3a9569333817f0b1a72ce5af7f883ce802e49c83d - languageName: node - linkType: hard - -"is-async-function@npm:^2.0.0": - version: 2.1.1 - resolution: "is-async-function@npm:2.1.1" - dependencies: - async-function: "npm:^1.0.0" - call-bound: "npm:^1.0.3" - get-proto: "npm:^1.0.1" - has-tostringtag: "npm:^1.0.2" - safe-regex-test: "npm:^1.1.0" - checksum: 10c0/d70c236a5e82de6fc4d44368ffd0c2fee2b088b893511ce21e679da275a5ecc6015ff59a7d7e1bdd7ca39f71a8dbdd253cf8cce5c6b3c91cdd5b42b5ce677298 - languageName: node - linkType: hard - -"is-bigint@npm:^1.1.0": - version: 1.1.0 - resolution: "is-bigint@npm:1.1.0" - dependencies: - has-bigints: "npm:^1.0.2" - checksum: 10c0/f4f4b905ceb195be90a6ea7f34323bf1c18e3793f18922e3e9a73c684c29eeeeff5175605c3a3a74cc38185fe27758f07efba3dbae812e5c5afbc0d2316b40e4 - languageName: node - linkType: hard - -"is-boolean-object@npm:^1.2.1": - version: 1.2.2 - resolution: "is-boolean-object@npm:1.2.2" - dependencies: - call-bound: "npm:^1.0.3" - has-tostringtag: "npm:^1.0.2" - checksum: 10c0/36ff6baf6bd18b3130186990026f5a95c709345c39cd368468e6c1b6ab52201e9fd26d8e1f4c066357b4938b0f0401e1a5000e08257787c1a02f3a719457001e - languageName: node - linkType: hard - "is-buffer@npm:^2.0.5": version: 2.0.5 resolution: "is-buffer@npm:2.0.5" @@ -3392,43 +2955,6 @@ __metadata: languageName: node linkType: hard -"is-callable@npm:^1.2.7": - version: 1.2.7 - resolution: "is-callable@npm:1.2.7" - checksum: 10c0/ceebaeb9d92e8adee604076971dd6000d38d6afc40bb843ea8e45c5579b57671c3f3b50d7f04869618242c6cee08d1b67806a8cb8edaaaf7c0748b3720d6066f - languageName: node - linkType: hard - -"is-core-module@npm:^2.16.1": - version: 2.16.1 - resolution: "is-core-module@npm:2.16.1" - dependencies: - hasown: "npm:^2.0.2" - checksum: 10c0/898443c14780a577e807618aaae2b6f745c8538eca5c7bc11388a3f2dc6de82b9902bcc7eb74f07be672b11bbe82dd6a6edded44a00cb3d8f933d0459905eedd - languageName: node - linkType: hard - -"is-data-view@npm:^1.0.1, is-data-view@npm:^1.0.2": - version: 1.0.2 - resolution: "is-data-view@npm:1.0.2" - dependencies: - call-bound: "npm:^1.0.2" - get-intrinsic: "npm:^1.2.6" - is-typed-array: "npm:^1.1.13" - checksum: 10c0/ef3548a99d7e7f1370ce21006baca6d40c73e9f15c941f89f0049c79714c873d03b02dae1c64b3f861f55163ecc16da06506c5b8a1d4f16650b3d9351c380153 - languageName: node - linkType: hard - -"is-date-object@npm:^1.0.5, is-date-object@npm:^1.1.0": - version: 1.1.0 - resolution: "is-date-object@npm:1.1.0" - dependencies: - call-bound: "npm:^1.0.2" - has-tostringtag: "npm:^1.0.2" - checksum: 10c0/1a4d199c8e9e9cac5128d32e6626fa7805175af9df015620ac0d5d45854ccf348ba494679d872d37301032e35a54fc7978fba1687e8721b2139aea7870cafa2f - languageName: node - linkType: hard - "is-extglob@npm:^2.1.1": version: 2.1.1 resolution: "is-extglob@npm:2.1.1" @@ -3436,28 +2962,6 @@ __metadata: languageName: node linkType: hard -"is-finalizationregistry@npm:^1.1.0": - version: 1.1.1 - resolution: "is-finalizationregistry@npm:1.1.1" - dependencies: - call-bound: "npm:^1.0.3" - checksum: 10c0/818dff679b64f19e228a8205a1e2d09989a98e98def3a817f889208cfcbf918d321b251aadf2c05918194803ebd2eb01b14fc9d0b2bea53d984f4137bfca5e97 - languageName: node - linkType: hard - -"is-generator-function@npm:^1.0.10": - version: 1.1.2 - resolution: "is-generator-function@npm:1.1.2" - dependencies: - call-bound: "npm:^1.0.4" - generator-function: "npm:^2.0.0" - get-proto: "npm:^1.0.1" - has-tostringtag: "npm:^1.0.2" - safe-regex-test: "npm:^1.1.0" - checksum: 10c0/83da102e89c3e3b71d67b51d47c9f9bc862bceb58f87201727e27f7fa19d1d90b0ab223644ecaee6fc6e3d2d622bb25c966fbdaf87c59158b01ce7c0fe2fa372 - languageName: node - linkType: hard - "is-glob@npm:^4.0.0, is-glob@npm:^4.0.3": version: 4.0.3 resolution: "is-glob@npm:4.0.3" @@ -3467,125 +2971,10 @@ __metadata: languageName: node linkType: hard -"is-map@npm:^2.0.3": - version: 2.0.3 - resolution: "is-map@npm:2.0.3" - checksum: 10c0/2c4d431b74e00fdda7162cd8e4b763d6f6f217edf97d4f8538b94b8702b150610e2c64961340015fe8df5b1fcee33ccd2e9b62619c4a8a3a155f8de6d6d355fc - languageName: node - linkType: hard - -"is-negative-zero@npm:^2.0.3": - version: 2.0.3 - resolution: "is-negative-zero@npm:2.0.3" - checksum: 10c0/bcdcf6b8b9714063ffcfa9929c575ac69bfdabb8f4574ff557dfc086df2836cf07e3906f5bbc4f2a5c12f8f3ba56af640c843cdfc74da8caed86c7c7d66fd08e - languageName: node - linkType: hard - -"is-number-object@npm:^1.1.1": - version: 1.1.1 - resolution: "is-number-object@npm:1.1.1" - dependencies: - call-bound: "npm:^1.0.3" - has-tostringtag: "npm:^1.0.2" - checksum: 10c0/97b451b41f25135ff021d85c436ff0100d84a039bb87ffd799cbcdbea81ef30c464ced38258cdd34f080be08fc3b076ca1f472086286d2aa43521d6ec6a79f53 - languageName: node - linkType: hard - -"is-regex@npm:^1.2.1": - version: 1.2.1 - resolution: "is-regex@npm:1.2.1" - dependencies: - call-bound: "npm:^1.0.2" - gopd: "npm:^1.2.0" - has-tostringtag: "npm:^1.0.2" - hasown: "npm:^2.0.2" - checksum: 10c0/1d3715d2b7889932349241680032e85d0b492cfcb045acb75ffc2c3085e8d561184f1f7e84b6f8321935b4aea39bc9c6ba74ed595b57ce4881a51dfdbc214e04 - languageName: node - linkType: hard - -"is-safe-filename@npm:^0.1.0": - version: 0.1.1 - resolution: "is-safe-filename@npm:0.1.1" - checksum: 10c0/45c35d2253b96348e2c26590e14feed51d1e6b72aaa567930ccb34e68c0eef00ebcf3b7e01b46bf45e578a27355cd8f5bc12f7d6d79a34d33dc93d4560c0f6b6 - languageName: node - linkType: hard - -"is-set@npm:^2.0.3": - version: 2.0.3 - resolution: "is-set@npm:2.0.3" - checksum: 10c0/f73732e13f099b2dc879c2a12341cfc22ccaca8dd504e6edae26484bd5707a35d503fba5b4daad530a9b088ced1ae6c9d8200fd92e09b428fe14ea79ce8080b7 - languageName: node - linkType: hard - -"is-shared-array-buffer@npm:^1.0.4": - version: 1.0.4 - resolution: "is-shared-array-buffer@npm:1.0.4" - dependencies: - call-bound: "npm:^1.0.3" - checksum: 10c0/65158c2feb41ff1edd6bbd6fd8403a69861cf273ff36077982b5d4d68e1d59278c71691216a4a64632bd76d4792d4d1d2553901b6666d84ade13bba5ea7bc7db - languageName: node - linkType: hard - -"is-string@npm:^1.1.1": - version: 1.1.1 - resolution: "is-string@npm:1.1.1" - dependencies: - call-bound: "npm:^1.0.3" - has-tostringtag: "npm:^1.0.2" - checksum: 10c0/2f518b4e47886bb81567faba6ffd0d8a8333cf84336e2e78bf160693972e32ad00fe84b0926491cc598dee576fdc55642c92e62d0cbe96bf36f643b6f956f94d - languageName: node - linkType: hard - -"is-symbol@npm:^1.0.4, is-symbol@npm:^1.1.1": - version: 1.1.1 - resolution: "is-symbol@npm:1.1.1" - dependencies: - call-bound: "npm:^1.0.2" - has-symbols: "npm:^1.1.0" - safe-regex-test: "npm:^1.1.0" - checksum: 10c0/f08f3e255c12442e833f75a9e2b84b2d4882fdfd920513cf2a4a2324f0a5b076c8fd913778e3ea5d258d5183e9d92c0cd20e04b03ab3df05316b049b2670af1e - languageName: node - linkType: hard - -"is-typed-array@npm:^1.1.13, is-typed-array@npm:^1.1.14, is-typed-array@npm:^1.1.15": - version: 1.1.15 - resolution: "is-typed-array@npm:1.1.15" - dependencies: - which-typed-array: "npm:^1.1.16" - checksum: 10c0/415511da3669e36e002820584e264997ffe277ff136643a3126cc949197e6ca3334d0f12d084e83b1994af2e9c8141275c741cf2b7da5a2ff62dd0cac26f76c4 - languageName: node - linkType: hard - -"is-weakmap@npm:^2.0.2": - version: 2.0.2 - resolution: "is-weakmap@npm:2.0.2" - checksum: 10c0/443c35bb86d5e6cc5929cd9c75a4024bb0fff9586ed50b092f94e700b89c43a33b186b76dbc6d54f3d3d09ece689ab38dcdc1af6a482cbe79c0f2da0a17f1299 - languageName: node - linkType: hard - -"is-weakref@npm:^1.0.2, is-weakref@npm:^1.1.1": - version: 1.1.1 - resolution: "is-weakref@npm:1.1.1" - dependencies: - call-bound: "npm:^1.0.3" - checksum: 10c0/8e0a9c07b0c780949a100e2cab2b5560a48ecd4c61726923c1a9b77b6ab0aa0046c9e7fb2206042296817045376dee2c8ab1dabe08c7c3dfbf195b01275a085b - languageName: node - linkType: hard - -"is-weakset@npm:^2.0.3": - version: 2.0.4 - resolution: "is-weakset@npm:2.0.4" - dependencies: - call-bound: "npm:^1.0.3" - get-intrinsic: "npm:^1.2.6" - checksum: 10c0/6491eba08acb8dc9532da23cb226b7d0192ede0b88f16199e592e4769db0a077119c1f5d2283d1e0d16d739115f70046e887e477eb0e66cd90e1bb29f28ba647 - languageName: node - linkType: hard - -"isarray@npm:^2.0.5": - version: 2.0.5 - resolution: "isarray@npm:2.0.5" - checksum: 10c0/4199f14a7a13da2177c66c31080008b7124331956f47bca57dd0b6ea9f11687aa25e565a2c7a2b519bc86988d10398e3049a1f5df13c9f6b7664154690ae79fd +"is-safe-filename@npm:^0.1.0": + version: 0.1.1 + resolution: "is-safe-filename@npm:0.1.1" + checksum: 10c0/45c35d2253b96348e2c26590e14feed51d1e6b72aaa567930ccb34e68c0eef00ebcf3b7e01b46bf45e578a27355cd8f5bc12f7d6d79a34d33dc93d4560c0f6b6 languageName: node linkType: hard @@ -3631,12 +3020,12 @@ __metadata: languageName: node linkType: hard -"jiti@npm:^2.6.0, jiti@npm:^2.6.1": - version: 2.6.1 - resolution: "jiti@npm:2.6.1" +"jiti@npm:^2.6.0, jiti@npm:^2.7.0": + version: 2.7.0 + resolution: "jiti@npm:2.7.0" bin: jiti: lib/jiti-cli.mjs - checksum: 10c0/79b2e96a8e623f66c1b703b98ec1b8be4500e1d217e09b09e343471bbb9c105381b83edbb979d01cef18318cc45ce6e153571b6c83122170eefa531c64b6789b + checksum: 10c0/1b1e2310a490dce1aeea3da5f5dfe18273516c20ce48be2e98eb8ea452d5f3dcc8fd0cfd6d28b4052a24c5dbab6e3089b2d7e79f0bce7915b10d750929563c42 languageName: node linkType: hard @@ -3677,17 +3066,6 @@ __metadata: 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: 10c0/9ee316bf21f000b00752e6c2a3b79ecf5324515a5c60ee88983a1910a45426b643a4f3461657586e8aeca87aaf96f0a519b0516d2ae527a6c3e7eed80f68717f - languageName: node - linkType: hard - "jsonc-eslint-parser@npm:^3.1.0": version: 3.1.0 resolution: "jsonc-eslint-parser@npm:3.1.0" @@ -3747,9 +3125,9 @@ __metadata: languageName: node linkType: hard -"knip@npm:^6.11.0": - version: 6.11.0 - resolution: "knip@npm:6.11.0" +"knip@npm:^6.12.0": + version: 6.12.0 + resolution: "knip@npm:6.12.0" dependencies: fdir: "npm:^6.5.0" formatly: "npm:^0.3.0" @@ -3768,7 +3146,7 @@ __metadata: bin: knip: bin/knip.js knip-bun: bin/knip-bun.js - checksum: 10c0/d4951a6336bfdbdf92bdf3df1d55b4f64fe3f7b7078700d53d9e90b0dd1713d1368b6f6b15ea587233bf8ec6c49af8da8cb9dbf871272f6d5e2ff365e0883824 + checksum: 10c0/758f725f09b516a3cd92e5dcda4338c6f1395a6b4ac88a2dc6dc312c63e3653127d97b640b5d4226b74df1945c648f3a4bb46799d783977d513516a4b5e75fc6 languageName: node linkType: hard @@ -4012,7 +3390,7 @@ __metadata: languageName: node linkType: hard -"minimatch@npm:^10.2.2, minimatch@npm:^10.2.4": +"minimatch@npm:^10.2.2, minimatch@npm:^10.2.4, minimatch@npm:^9.0.3 || ^10.1.2": version: 10.2.5 resolution: "minimatch@npm:10.2.5" dependencies: @@ -4021,16 +3399,7 @@ __metadata: languageName: node linkType: hard -"minimatch@npm:^3.1.2": - version: 3.1.5 - resolution: "minimatch@npm:3.1.5" - dependencies: - brace-expansion: "npm:^1.1.7" - checksum: 10c0/2ecbdc0d33f07bddb0315a8b5afbcb761307a8778b48f0b312418ccbced99f104a2d17d8aca7573433c70e8ccd1c56823a441897a45e384ea76ef401a26ace70 - languageName: node - linkType: hard - -"minimist@npm:^1.2.0, minimist@npm:^1.2.6, minimist@npm:^1.2.8": +"minimist@npm:^1.2.8": version: 1.2.8 resolution: "minimist@npm:1.2.8" checksum: 10c0/19d3fcdca050087b84c2029841a093691a91259a47def2f18222f41e7645a0b7c44ef4b40e88a1e58a40c84d2ef0ee6047c55594d298146d0eb3f6b737c20ce6 @@ -4053,6 +3422,13 @@ __metadata: languageName: node linkType: hard +"mri@npm:^1.1.0": + version: 1.2.0 + resolution: "mri@npm:1.2.0" + checksum: 10c0/a3d32379c2554cf7351db6237ddc18dc9e54e4214953f3da105b97dc3babe0deb3ffe99cf409b38ea47cc29f9430561ba6b53b24ab8f9ce97a4b50409e4a50e7 + languageName: node + linkType: hard + "ms@npm:^2.1.1, ms@npm:^2.1.3": version: 2.1.3 resolution: "ms@npm:2.1.3" @@ -4092,18 +3468,6 @@ __metadata: languageName: node linkType: hard -"node-exports-info@npm:^1.6.0": - version: 1.6.0 - resolution: "node-exports-info@npm:1.6.0" - dependencies: - array.prototype.flatmap: "npm:^1.3.3" - es-errors: "npm:^1.3.0" - object.entries: "npm:^1.1.9" - semver: "npm:^6.3.1" - checksum: 10c0/3613f21c60b047e66f168d3499a6be0060d89fb01ddceaa7032c2fb318aff12e4b9b111449c1a9aeb3b848bfdc1d4b6bc8fab327af692319597d21a1e7063692 - languageName: node - linkType: hard - "node-fetch@npm:^3.3.2": version: 3.3.2 resolution: "node-fetch@npm:3.3.2" @@ -4146,81 +3510,6 @@ __metadata: languageName: node linkType: hard -"object-inspect@npm:^1.13.3, object-inspect@npm:^1.13.4": - version: 1.13.4 - resolution: "object-inspect@npm:1.13.4" - checksum: 10c0/d7f8711e803b96ea3191c745d6f8056ce1f2496e530e6a19a0e92d89b0fa3c76d910c31f0aa270432db6bd3b2f85500a376a83aaba849a8d518c8845b3211692 - languageName: node - linkType: hard - -"object-keys@npm:^1.1.1": - version: 1.1.1 - resolution: "object-keys@npm:1.1.1" - checksum: 10c0/b11f7ccdbc6d406d1f186cdadb9d54738e347b2692a14439ca5ac70c225fa6db46db809711b78589866d47b25fc3e8dee0b4c722ac751e11180f9380e3d8601d - languageName: node - linkType: hard - -"object.assign@npm:^4.1.7": - version: 4.1.7 - resolution: "object.assign@npm:4.1.7" - dependencies: - call-bind: "npm:^1.0.8" - call-bound: "npm:^1.0.3" - define-properties: "npm:^1.2.1" - es-object-atoms: "npm:^1.0.0" - has-symbols: "npm:^1.1.0" - object-keys: "npm:^1.1.1" - checksum: 10c0/3b2732bd860567ea2579d1567525168de925a8d852638612846bd8082b3a1602b7b89b67b09913cbb5b9bd6e95923b2ae73580baa9d99cb4e990564e8cbf5ddc - languageName: node - linkType: hard - -"object.entries@npm:^1.1.9": - version: 1.1.9 - resolution: "object.entries@npm:1.1.9" - dependencies: - call-bind: "npm:^1.0.8" - call-bound: "npm:^1.0.4" - define-properties: "npm:^1.2.1" - es-object-atoms: "npm:^1.1.1" - checksum: 10c0/d4b8c1e586650407da03370845f029aa14076caca4e4d4afadbc69cfb5b78035fd3ee7be417141abdb0258fa142e59b11923b4c44d8b1255b28f5ffcc50da7db - 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: 10c0/cd4327e6c3369cfa805deb4cbbe919bfb7d3aeebf0bcaba291bb568ea7169f8f8cdbcabe2f00b40db0c20cd20f08e11b5f3a5a36fb7dd3fe04850c50db3bf83b - 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: 10c0/60d0455c85c736fbfeda0217d1a77525956f76f7b2495edeca9e9bbf8168a45783199e77b894d30638837c654d0cc410e0e02cbfcf445bc8de71c3da1ede6a9c - languageName: node - linkType: hard - -"object.values@npm:^1.2.1": - version: 1.2.1 - resolution: "object.values@npm:1.2.1" - dependencies: - call-bind: "npm:^1.0.8" - call-bound: "npm:^1.0.3" - define-properties: "npm:^1.2.1" - es-object-atoms: "npm:^1.0.0" - checksum: 10c0/3c47814fdc64842ae3d5a74bc9d06bdd8d21563c04d9939bf6716a9c00596a4ebc342552f8934013d1ec991c74e3671b26710a0c51815f0b603795605ab6b2c9 - languageName: node - linkType: hard - "obug@npm:^2.1.1": version: 2.1.1 resolution: "obug@npm:2.1.1" @@ -4242,17 +3531,6 @@ __metadata: languageName: node linkType: hard -"own-keys@npm:^1.0.1": - version: 1.0.1 - resolution: "own-keys@npm:1.0.1" - dependencies: - get-intrinsic: "npm:^1.2.6" - object-keys: "npm:^1.1.1" - safe-push-apply: "npm:^1.0.0" - checksum: 10c0/6dfeb3455bff92ec3f16a982d4e3e65676345f6902d9f5ded1d8265a6318d0200ce461956d6d1c70053c7fe9f9fe65e552faac03f8140d37ef0fdd108e67013a - languageName: node - linkType: hard - "oxc-parser@npm:^0.128.0": version: 0.128.0 resolution: "oxc-parser@npm:0.128.0" @@ -4410,6 +3688,13 @@ __metadata: languageName: node linkType: hard +"package-manager-detector@npm:^1.6.0": + version: 1.6.0 + resolution: "package-manager-detector@npm:1.6.0" + checksum: 10c0/6419d0b840be64fd45bcdcb7a19f09b81b65456d5e7f7a3daac305a4c90643052122f6ac0308afe548ffee75e36148532a2002ea9d292754f1e385aa2e1ea03b + languageName: node + linkType: hard + "path-exists@npm:^4.0.0": version: 4.0.0 resolution: "path-exists@npm:4.0.0" @@ -4424,13 +3709,6 @@ __metadata: languageName: node linkType: hard -"path-parse@npm:^1.0.7": - version: 1.0.7 - resolution: "path-parse@npm:1.0.7" - checksum: 10c0/11ce261f9d294cc7a58d6a574b7f1b935842355ec66fba3c3fd79e0f036462eaf07d0aa95bb74ff432f9afef97ce1926c720988c6a7451d8a584930ae7de86e1 - languageName: node - linkType: hard - "pathe@npm:^2.0.3": version: 2.0.3 resolution: "pathe@npm:2.0.3" @@ -4452,21 +3730,14 @@ __metadata: languageName: node linkType: hard -"possible-typed-array-names@npm:^1.0.0": - version: 1.1.0 - resolution: "possible-typed-array-names@npm:1.1.0" - checksum: 10c0/c810983414142071da1d644662ce4caebce890203eb2bc7bf119f37f3fe5796226e117e6cca146b521921fa6531072674174a3325066ac66fce089a53e1e5196 - languageName: node - linkType: hard - "postcss@npm:^8.5.10": - version: 8.5.13 - resolution: "postcss@npm:8.5.13" + version: 8.5.14 + resolution: "postcss@npm:8.5.14" dependencies: nanoid: "npm:^3.3.11" picocolors: "npm:^1.1.1" source-map-js: "npm:^1.2.1" - checksum: 10c0/3aa7c8cbdfbfd99b34406a433cef56d164dd135fc9cb9e63d487cc363291f877a55ec7b8ff6ec15348c17c2d98a43be46bfad671e6340403041a3e79f70c2f2f + checksum: 10c0/48138207cf5ef5581be1bfe2cb65ccfe0ac75e43888ba045afc8ed6043d7b56aeb3b9a9fe5b353ff554be943cd0cc15d826ccb991525159175971e5ee8ab0237 languageName: node linkType: hard @@ -4500,40 +3771,24 @@ __metadata: languageName: node linkType: hard -"punycode@npm:^2.1.0": - version: 2.3.1 - resolution: "punycode@npm:2.3.1" - checksum: 10c0/14f76a8206bc3464f794fb2e3d3cc665ae416c01893ad7a02b23766eb07159144ee612ad67af5e84fa4479ccfe67678c4feb126b0485651b302babf66f04f9e9 - languageName: node - linkType: hard - -"reflect.getprototypeof@npm:^1.0.6, reflect.getprototypeof@npm:^1.0.9": - version: 1.0.10 - resolution: "reflect.getprototypeof@npm:1.0.10" +"publint@npm:^0.3.19": + version: 0.3.19 + resolution: "publint@npm:0.3.19" dependencies: - call-bind: "npm:^1.0.8" - define-properties: "npm:^1.2.1" - es-abstract: "npm:^1.23.9" - es-errors: "npm:^1.3.0" - es-object-atoms: "npm:^1.0.0" - get-intrinsic: "npm:^1.2.7" - get-proto: "npm:^1.0.1" - which-builtin-type: "npm:^1.2.1" - checksum: 10c0/7facec28c8008876f8ab98e80b7b9cb4b1e9224353fd4756dda5f2a4ab0d30fa0a5074777c6df24e1e0af463a2697513b0a11e548d99cf52f21f7bc6ba48d3ac + "@publint/pack": "npm:^0.1.4" + package-manager-detector: "npm:^1.6.0" + picocolors: "npm:^1.1.1" + sade: "npm:^1.8.1" + bin: + publint: src/cli.js + checksum: 10c0/1436ac33f40a2db7c8d632026a7ec19e604af54cfc816d37250bf9db303e53ed879f3bfc36208a0696bd30778a14507a5e06fbf2a153f2902feafb6835cc8ac8 languageName: node linkType: hard -"regexp.prototype.flags@npm:^1.5.4": - version: 1.5.4 - resolution: "regexp.prototype.flags@npm:1.5.4" - dependencies: - call-bind: "npm:^1.0.8" - define-properties: "npm:^1.2.1" - es-errors: "npm:^1.3.0" - get-proto: "npm:^1.0.1" - gopd: "npm:^1.2.0" - set-function-name: "npm:^2.0.2" - checksum: 10c0/83b88e6115b4af1c537f8dabf5c3744032cb875d63bc05c288b1b8c0ef37cbe55353f95d8ca817e8843806e3e150b118bc624e4279b24b4776b4198232735a77 +"punycode@npm:^2.1.0": + version: 2.3.1 + resolution: "punycode@npm:2.3.1" + checksum: 10c0/14f76a8206bc3464f794fb2e3d3cc665ae416c01893ad7a02b23766eb07159144ee612ad67af5e84fa4479ccfe67678c4feb126b0485651b302babf66f04f9e9 languageName: node linkType: hard @@ -4551,38 +3806,6 @@ __metadata: languageName: node linkType: hard -"resolve@npm:^2.0.0-next.6": - version: 2.0.0-next.6 - resolution: "resolve@npm:2.0.0-next.6" - dependencies: - es-errors: "npm:^1.3.0" - is-core-module: "npm:^2.16.1" - node-exports-info: "npm:^1.6.0" - object-keys: "npm:^1.1.1" - path-parse: "npm:^1.0.7" - supports-preserve-symlinks-flag: "npm:^1.0.0" - bin: - resolve: bin/resolve - checksum: 10c0/4e44cb84aa9a3c7c82d4a98e8111879671150496160a53ca6cdbed6101bf239f19105f8b8b84e40c0b76d46b0d9626813510b19a80e01f4ae18692e9d0b47749 - languageName: node - linkType: hard - -"resolve@patch:resolve@npm%3A^2.0.0-next.6#optional!builtin": - version: 2.0.0-next.6 - resolution: "resolve@patch:resolve@npm%3A2.0.0-next.6#optional!builtin::version=2.0.0-next.6&hash=c3c19d" - dependencies: - es-errors: "npm:^1.3.0" - is-core-module: "npm:^2.16.1" - node-exports-info: "npm:^1.6.0" - object-keys: "npm:^1.1.1" - path-parse: "npm:^1.0.7" - supports-preserve-symlinks-flag: "npm:^1.0.0" - bin: - resolve: bin/resolve - checksum: 10c0/dca533e38820b0d8d636f269824cef3b7435802ab7401211c6f10af03be0e2f7e216047234e1623046c0a6791577079767e0c04f0d36e42c7f567b1bff7b0742 - languageName: node - linkType: hard - "rolldown@npm:1.0.0-rc.17": version: 1.0.0-rc.17 resolution: "rolldown@npm:1.0.0-rc.17" @@ -4641,16 +3864,12 @@ __metadata: languageName: node linkType: hard -"safe-array-concat@npm:^1.1.3": - version: 1.1.4 - resolution: "safe-array-concat@npm:1.1.4" +"sade@npm:^1.8.1": + version: 1.8.1 + resolution: "sade@npm:1.8.1" dependencies: - call-bind: "npm:^1.0.9" - call-bound: "npm:^1.0.4" - get-intrinsic: "npm:^1.3.0" - has-symbols: "npm:^1.1.0" - isarray: "npm:^2.0.5" - checksum: 10c0/95fb4904ab1d9360a666fe5ba6d88f1c4a3a39682739e4512cff809fc6b5722a94bd95189211015bfb45859a7ffbc3340ea303ae22721c91c59e8946d310975a + mri: "npm:^1.1.0" + checksum: 10c0/da8a3a5d667ad5ce3bf6d4f054bbb9f711103e5df21003c5a5c1a8a77ce12b640ed4017dd423b13c2307ea7e645adee7c2ae3afe8051b9db16a6f6d3da3f90b1 languageName: node linkType: hard @@ -4661,37 +3880,7 @@ __metadata: languageName: node linkType: hard -"safe-push-apply@npm:^1.0.0": - version: 1.0.0 - resolution: "safe-push-apply@npm:1.0.0" - dependencies: - es-errors: "npm:^1.3.0" - isarray: "npm:^2.0.5" - checksum: 10c0/831f1c9aae7436429e7862c7e46f847dfe490afac20d0ee61bae06108dbf5c745a0de3568ada30ccdd3eeb0864ca8331b2eef703abd69bfea0745b21fd320750 - languageName: node - linkType: hard - -"safe-regex-test@npm:^1.1.0": - version: 1.1.0 - resolution: "safe-regex-test@npm:1.1.0" - dependencies: - call-bound: "npm:^1.0.2" - es-errors: "npm:^1.3.0" - is-regex: "npm:^1.2.1" - checksum: 10c0/f2c25281bbe5d39cddbbce7f86fca5ea9b3ce3354ea6cd7c81c31b006a5a9fff4286acc5450a3b9122c56c33eba69c56b9131ad751457b2b4a585825e6a10665 - languageName: node - linkType: hard - -"semver@npm:^6.3.1": - version: 6.3.1 - resolution: "semver@npm:6.3.1" - bin: - semver: bin/semver.js - checksum: 10c0/e3d79b609071caa78bcb6ce2ad81c7966a46a7431d9d58b8800cfa9cb6a63699b3899a0e4bcce36167a284578212d9ae6942b6929ba4aa5015c079a67751d42d - languageName: node - linkType: hard - -"semver@npm:^7.3.5, semver@npm:^7.5.3, semver@npm:^7.5.4, semver@npm:^7.7.1, semver@npm:^7.7.3, semver@npm:^7.7.4": +"semver@npm:^7.3.5, semver@npm:^7.5.3, semver@npm:^7.5.4, semver@npm:^7.7.1, semver@npm:^7.7.2, semver@npm:^7.7.3, semver@npm:^7.7.4": version: 7.7.4 resolution: "semver@npm:7.7.4" bin: @@ -4700,43 +3889,6 @@ __metadata: languageName: node linkType: hard -"set-function-length@npm:^1.2.2": - version: 1.2.2 - resolution: "set-function-length@npm:1.2.2" - dependencies: - 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: 10c0/82850e62f412a258b71e123d4ed3873fa9377c216809551192bb6769329340176f109c2eeae8c22a8d386c76739855f78e8716515c818bcaef384b51110f0f3c - languageName: node - linkType: hard - -"set-function-name@npm:^2.0.2": - 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: 10c0/fce59f90696c450a8523e754abb305e2b8c73586452619c2bad5f7bf38c7b6b4651895c9db895679c5bef9554339cf3ef1c329b66ece3eda7255785fbe299316 - languageName: node - linkType: hard - -"set-proto@npm:^1.0.0": - version: 1.0.0 - resolution: "set-proto@npm:1.0.0" - dependencies: - dunder-proto: "npm:^1.0.1" - es-errors: "npm:^1.3.0" - es-object-atoms: "npm:^1.0.0" - checksum: 10c0/ca5c3ccbba479d07c30460e367e66337cec825560b11e8ba9c5ebe13a2a0d6021ae34eddf94ff3dfe17a3104dc1f191519cb6c48378b503e5c3f36393938776a - languageName: node - linkType: hard - "shebang-command@npm:^2.0.0": version: 2.0.0 resolution: "shebang-command@npm:2.0.0" @@ -4753,54 +3905,6 @@ __metadata: languageName: node linkType: hard -"side-channel-list@npm:^1.0.0": - version: 1.0.1 - resolution: "side-channel-list@npm:1.0.1" - dependencies: - es-errors: "npm:^1.3.0" - object-inspect: "npm:^1.13.4" - checksum: 10c0/d346c787fd2f9f1c2fdea14f00e8250118db0e7596d85a6cb9faa75f105d31a73a8f7a341c93d7df2a2429098c3d37a77bd3be9e88c37094b8c01807bc77c7a2 - languageName: node - linkType: hard - -"side-channel-map@npm:^1.0.1": - version: 1.0.1 - resolution: "side-channel-map@npm:1.0.1" - dependencies: - call-bound: "npm:^1.0.2" - es-errors: "npm:^1.3.0" - get-intrinsic: "npm:^1.2.5" - object-inspect: "npm:^1.13.3" - checksum: 10c0/010584e6444dd8a20b85bc926d934424bd809e1a3af941cace229f7fdcb751aada0fb7164f60c2e22292b7fa3c0ff0bce237081fd4cdbc80de1dc68e95430672 - languageName: node - linkType: hard - -"side-channel-weakmap@npm:^1.0.2": - version: 1.0.2 - resolution: "side-channel-weakmap@npm:1.0.2" - dependencies: - call-bound: "npm:^1.0.2" - es-errors: "npm:^1.3.0" - get-intrinsic: "npm:^1.2.5" - object-inspect: "npm:^1.13.3" - side-channel-map: "npm:^1.0.1" - checksum: 10c0/71362709ac233e08807ccd980101c3e2d7efe849edc51455030327b059f6c4d292c237f94dc0685031dd11c07dd17a68afde235d6cf2102d949567f98ab58185 - languageName: node - linkType: hard - -"side-channel@npm:^1.1.0": - version: 1.1.0 - resolution: "side-channel@npm:1.1.0" - dependencies: - es-errors: "npm:^1.3.0" - object-inspect: "npm:^1.13.3" - side-channel-list: "npm:^1.0.0" - side-channel-map: "npm:^1.0.1" - side-channel-weakmap: "npm:^1.0.2" - checksum: 10c0/cb20dad41eb032e6c24c0982e1e5a24963a28aa6122b4f05b3f3d6bf8ae7fd5474ef382c8f54a6a3ab86e0cac4d41a23bd64ede3970e5bfb50326ba02a7996e6 - languageName: node - linkType: hard - "siginfo@npm:^2.0.0": version: 2.0.0 resolution: "siginfo@npm:2.0.0" @@ -4843,61 +3947,6 @@ __metadata: languageName: node linkType: hard -"stop-iteration-iterator@npm:^1.1.0": - version: 1.1.0 - resolution: "stop-iteration-iterator@npm:1.1.0" - dependencies: - es-errors: "npm:^1.3.0" - internal-slot: "npm:^1.1.0" - checksum: 10c0/de4e45706bb4c0354a4b1122a2b8cc45a639e86206807ce0baf390ee9218d3ef181923fa4d2b67443367c491aa255c5fbaa64bb74648e3c5b48299928af86c09 - languageName: node - linkType: hard - -"string.prototype.trim@npm:^1.2.10": - version: 1.2.10 - resolution: "string.prototype.trim@npm:1.2.10" - dependencies: - call-bind: "npm:^1.0.8" - call-bound: "npm:^1.0.2" - define-data-property: "npm:^1.1.4" - define-properties: "npm:^1.2.1" - es-abstract: "npm:^1.23.5" - es-object-atoms: "npm:^1.0.0" - has-property-descriptors: "npm:^1.0.2" - checksum: 10c0/8a8854241c4b54a948e992eb7dd6b8b3a97185112deb0037a134f5ba57541d8248dd610c966311887b6c2fd1181a3877bffb14d873ce937a344535dabcc648f8 - languageName: node - linkType: hard - -"string.prototype.trimend@npm:^1.0.9": - version: 1.0.9 - resolution: "string.prototype.trimend@npm:1.0.9" - dependencies: - call-bind: "npm:^1.0.8" - call-bound: "npm:^1.0.2" - define-properties: "npm:^1.2.1" - es-object-atoms: "npm:^1.0.0" - checksum: 10c0/59e1a70bf9414cb4c536a6e31bef5553c8ceb0cf44d8b4d0ed65c9653358d1c64dd0ec203b100df83d0413bbcde38b8c5d49e14bc4b86737d74adc593a0d35b6 - languageName: node - linkType: hard - -"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: 10c0/d53af1899959e53c83b64a5fd120be93e067da740e7e75acb433849aa640782fb6c7d4cd5b84c954c84413745a3764df135a8afeb22908b86a835290788d8366 - languageName: node - linkType: hard - -"strip-bom@npm:^3.0.0": - version: 3.0.0 - resolution: "strip-bom@npm:3.0.0" - checksum: 10c0/51201f50e021ef16672593d7434ca239441b7b760e905d9f33df6e4f3954ff54ec0e0a06f100d028af0982d6f25c35cd5cda2ce34eaebccd0250b8befb90d8f1 - languageName: node - linkType: hard - "strip-json-comments@npm:5.0.3": version: 5.0.3 resolution: "strip-json-comments@npm:5.0.3" @@ -4914,13 +3963,6 @@ __metadata: 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: 10c0/6c4032340701a9950865f7ae8ef38578d8d7053f5e10518076e6554a9381fa91bd9c6850193695c141f32b21f979c985db07265a758867bac95de05f7d8aeb39 - languageName: node - linkType: hard - "synckit@npm:^0.11.12": version: 0.11.12 resolution: "synckit@npm:0.11.12" @@ -4931,15 +3973,15 @@ __metadata: linkType: hard "tar@npm:^7.5.4": - version: 7.5.13 - resolution: "tar@npm:7.5.13" + version: 7.5.14 + resolution: "tar@npm:7.5.14" dependencies: "@isaacs/fs-minipass": "npm:^4.0.0" chownr: "npm:^3.0.0" minipass: "npm:^7.1.2" minizlib: "npm:^3.1.0" yallist: "npm:^5.0.0" - checksum: 10c0/5c65b8084799bde7a791593a1c1a45d3d6ee98182e3700b24c247b7b8f8654df4191642abbdb07ff25043d45dcff35620827c3997b88ae6c12040f64bed5076b + checksum: 10c0/619573265fa45295ff0b378f1097ab43187ab7b66e9483d3ad8f467c287674fb182ec878ef50a08761b8ab487863cb429902cf65fe361d47e330a95bfc4ca9e8 languageName: node linkType: hard @@ -4983,18 +4025,6 @@ __metadata: languageName: node linkType: hard -"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: 10c0/5b4f301a2b7a3766a986baf8fc0e177eb80bdba6e396792ff92dc23b5bca8bb279fc96517dcaaef63a3b49bebc6c4c833653ec58155780bc906bdbcf7dda0ef5 - languageName: node - linkType: hard - "tslib@npm:^2.4.0": version: 2.8.1 resolution: "tslib@npm:2.8.1" @@ -5011,71 +4041,18 @@ __metadata: languageName: node linkType: hard -"typed-array-buffer@npm:^1.0.3": - version: 1.0.3 - resolution: "typed-array-buffer@npm:1.0.3" - dependencies: - call-bound: "npm:^1.0.3" - es-errors: "npm:^1.3.0" - is-typed-array: "npm:^1.1.14" - checksum: 10c0/1105071756eb248774bc71646bfe45b682efcad93b55532c6ffa4518969fb6241354e4aa62af679ae83899ec296d69ef88f1f3763657cdb3a4d29321f7b83079 - languageName: node - linkType: hard - -"typed-array-byte-length@npm:^1.0.3": - version: 1.0.3 - resolution: "typed-array-byte-length@npm:1.0.3" - dependencies: - call-bind: "npm:^1.0.8" - for-each: "npm:^0.3.3" - gopd: "npm:^1.2.0" - has-proto: "npm:^1.2.0" - is-typed-array: "npm:^1.1.14" - checksum: 10c0/6ae083c6f0354f1fce18b90b243343b9982affd8d839c57bbd2c174a5d5dc71be9eb7019ffd12628a96a4815e7afa85d718d6f1e758615151d5f35df841ffb3e - languageName: node - linkType: hard - -"typed-array-byte-offset@npm:^1.0.4": - version: 1.0.4 - resolution: "typed-array-byte-offset@npm:1.0.4" +"typescript-eslint@npm:^8.59.2": + version: 8.59.2 + resolution: "typescript-eslint@npm:8.59.2" dependencies: - available-typed-arrays: "npm:^1.0.7" - call-bind: "npm:^1.0.8" - for-each: "npm:^0.3.3" - gopd: "npm:^1.2.0" - has-proto: "npm:^1.2.0" - is-typed-array: "npm:^1.1.15" - reflect.getprototypeof: "npm:^1.0.9" - checksum: 10c0/3d805b050c0c33b51719ee52de17c1cd8e6a571abdf0fffb110e45e8dd87a657e8b56eee94b776b13006d3d347a0c18a730b903cf05293ab6d92e99ff8f77e53 - languageName: node - linkType: hard - -"typed-array-length@npm:^1.0.7": - version: 1.0.7 - resolution: "typed-array-length@npm:1.0.7" - dependencies: - call-bind: "npm:^1.0.7" - for-each: "npm:^0.3.3" - gopd: "npm:^1.0.1" - is-typed-array: "npm:^1.1.13" - possible-typed-array-names: "npm:^1.0.0" - reflect.getprototypeof: "npm:^1.0.6" - checksum: 10c0/e38f2ae3779584c138a2d8adfa8ecf749f494af3cd3cdafe4e688ce51418c7d2c5c88df1bd6be2bbea099c3f7cea58c02ca02ed438119e91f162a9de23f61295 - languageName: node - linkType: hard - -"typescript-eslint@npm:^8.59.1": - version: 8.59.1 - resolution: "typescript-eslint@npm:8.59.1" - dependencies: - "@typescript-eslint/eslint-plugin": "npm:8.59.1" - "@typescript-eslint/parser": "npm:8.59.1" - "@typescript-eslint/typescript-estree": "npm:8.59.1" - "@typescript-eslint/utils": "npm:8.59.1" + "@typescript-eslint/eslint-plugin": "npm:8.59.2" + "@typescript-eslint/parser": "npm:8.59.2" + "@typescript-eslint/typescript-estree": "npm:8.59.2" + "@typescript-eslint/utils": "npm:8.59.2" peerDependencies: eslint: ^8.57.0 || ^9.0.0 || ^10.0.0 typescript: ">=4.8.4 <6.1.0" - checksum: 10c0/93f3d66e2a2427a719a19f7bfd5d21c76a6bdcf9cfe82ba14d37f869434893f7d4d62c75671a87a93a3ef13816636d2bfe79b2f145d6cbcda5efbfddd90c1c2d + checksum: 10c0/c2736b839fa268da75df0ca8a1b8cfd658a6c6210c676412ed902c7ff8fea716f36a7e135133000a8f72091255f395d7c85783c4d6a9b1be79e8989abde1cd43 languageName: node linkType: hard @@ -5106,18 +4083,6 @@ __metadata: languageName: node linkType: hard -"unbox-primitive@npm:^1.1.0": - version: 1.1.0 - resolution: "unbox-primitive@npm:1.1.0" - dependencies: - call-bound: "npm:^1.0.3" - has-bigints: "npm:^1.0.2" - has-symbols: "npm:^1.1.0" - which-boxed-primitive: "npm:^1.1.1" - checksum: 10c0/7dbd35ab02b0e05fe07136c72cb9355091242455473ec15057c11430129bab38b7b3624019b8778d02a881c13de44d63cd02d122ee782fb519e1de7775b5b982 - languageName: node - linkType: hard - "undici-types@npm:~7.19.0": version: 7.19.2 resolution: "undici-types@npm:7.19.2" @@ -5132,7 +4097,7 @@ __metadata: languageName: node linkType: hard -"unrs-resolver@npm:^1.7.11": +"unrs-resolver@npm:^1.7.11, unrs-resolver@npm:^1.9.2": version: 1.11.1 resolution: "unrs-resolver@npm:1.11.1" dependencies: @@ -5361,67 +4326,6 @@ __metadata: languageName: node linkType: hard -"which-boxed-primitive@npm:^1.1.0, which-boxed-primitive@npm:^1.1.1": - version: 1.1.1 - resolution: "which-boxed-primitive@npm:1.1.1" - dependencies: - is-bigint: "npm:^1.1.0" - is-boolean-object: "npm:^1.2.1" - is-number-object: "npm:^1.1.1" - is-string: "npm:^1.1.1" - is-symbol: "npm:^1.1.1" - checksum: 10c0/aceea8ede3b08dede7dce168f3883323f7c62272b49801716e8332ff750e7ae59a511ae088840bc6874f16c1b7fd296c05c949b0e5b357bfe3c431b98c417abe - languageName: node - linkType: hard - -"which-builtin-type@npm:^1.2.1": - version: 1.2.1 - resolution: "which-builtin-type@npm:1.2.1" - dependencies: - call-bound: "npm:^1.0.2" - function.prototype.name: "npm:^1.1.6" - has-tostringtag: "npm:^1.0.2" - is-async-function: "npm:^2.0.0" - is-date-object: "npm:^1.1.0" - is-finalizationregistry: "npm:^1.1.0" - is-generator-function: "npm:^1.0.10" - is-regex: "npm:^1.2.1" - is-weakref: "npm:^1.0.2" - isarray: "npm:^2.0.5" - which-boxed-primitive: "npm:^1.1.0" - which-collection: "npm:^1.0.2" - which-typed-array: "npm:^1.1.16" - checksum: 10c0/8dcf323c45e5c27887800df42fbe0431d0b66b1163849bb7d46b5a730ad6a96ee8bfe827d078303f825537844ebf20c02459de41239a0a9805e2fcb3cae0d471 - languageName: node - linkType: hard - -"which-collection@npm:^1.0.2": - version: 1.0.2 - resolution: "which-collection@npm:1.0.2" - dependencies: - is-map: "npm:^2.0.3" - is-set: "npm:^2.0.3" - is-weakmap: "npm:^2.0.2" - is-weakset: "npm:^2.0.3" - checksum: 10c0/3345fde20964525a04cdf7c4a96821f85f0cc198f1b2ecb4576e08096746d129eb133571998fe121c77782ac8f21cbd67745a3d35ce100d26d4e684c142ea1f2 - languageName: node - linkType: hard - -"which-typed-array@npm:^1.1.16, which-typed-array@npm:^1.1.19": - version: 1.1.20 - resolution: "which-typed-array@npm:1.1.20" - dependencies: - available-typed-arrays: "npm:^1.0.7" - call-bind: "npm:^1.0.8" - call-bound: "npm:^1.0.4" - for-each: "npm:^0.3.5" - get-proto: "npm:^1.0.1" - gopd: "npm:^1.2.0" - has-tostringtag: "npm:^1.0.2" - checksum: 10c0/16fcdada95c8afb821cd1117f0ab50b4d8551677ac08187f21d4e444530913c9ffd2dac634f0c1183345f96344b69280f40f9a8bc52164ef409e555567c2604b - languageName: node - linkType: hard - "which@npm:^2.0.1": version: 2.0.2 resolution: "which@npm:2.0.2" @@ -5494,8 +4398,8 @@ __metadata: linkType: hard "zod@npm:^4.1.11": - version: 4.4.2 - resolution: "zod@npm:4.4.2" - checksum: 10c0/aa5097464c41cf22d715cbc29873ae6feaaf56e687b81d140458d7c01201e7b9de1ee46c8567b5458ee3c0068b8a82b2652535b5d39589fcb5562d861c83ded3 + version: 4.4.3 + resolution: "zod@npm:4.4.3" + checksum: 10c0/7ea31b558e88f9faf44f31dd185e2e1cbf51fed3081787fb96cc2534749b50c0acfc6da7f0922a7353ed092dd358c7d50c28ea96c94d04af64191bd33152eca3 languageName: node linkType: hard From 29a7d8b2ed495efde8751c0ce2fbe83a9fe6ab92 Mon Sep 17 00:00:00 2001 From: Richmond Rice Date: Thu, 14 May 2026 08:06:15 +0100 Subject: [PATCH 24/36] package updates --- package.json | 14 +- yarn.lock | 540 +++++++++++++++++++++++++++------------------------ 2 files changed, 295 insertions(+), 259 deletions(-) diff --git a/package.json b/package.json index 3765eba..9faf7de 100644 --- a/package.json +++ b/package.json @@ -34,13 +34,13 @@ "typecheck": "yarn tsc --noEmit && yarn tsc --project tsconfig.build.json --noEmit" }, "dependencies": { - "axios": "^1.16.0", + "axios": "^1.16.1", "blaise-iap-node-provider": "git+https://github.com/ONSdigital/blaise-iap-node-provider.git#BLAIS5-5177" }, "devDependencies": { "@eslint/js": "^10.0.1", - "@types/node": "^25.6.0", - "@vitest/coverage-v8": "^4.1.5", + "@types/node": "^25.7.0", + "@vitest/coverage-v8": "^4.1.6", "axios-mock-adapter": "^2.1.0", "cspell": "^10.0.0", "eslint": "^10.3.0", @@ -51,12 +51,12 @@ "globals": "^17.6.0", "jiti": "^2.7.0", "jsonc-eslint-parser": "^3.1.0", - "knip": "^6.12.0", + "knip": "^6.13.1", "prettier": "^3.8.3", - "publint": "^0.3.19", + "publint": "^0.3.21", "typescript": "^6.0.3", - "typescript-eslint": "^8.59.2", - "vitest": "^4.1.5" + "typescript-eslint": "^8.59.3", + "vitest": "^4.1.6" }, "packageManager": "yarn@4.14.1" } diff --git a/yarn.lock b/yarn.lock index 486ef04..1910e0a 100644 --- a/yarn.lock +++ b/yarn.lock @@ -847,121 +847,121 @@ __metadata: languageName: node linkType: hard -"@oxc-parser/binding-android-arm-eabi@npm:0.128.0": - version: 0.128.0 - resolution: "@oxc-parser/binding-android-arm-eabi@npm:0.128.0" +"@oxc-parser/binding-android-arm-eabi@npm:0.130.0": + version: 0.130.0 + resolution: "@oxc-parser/binding-android-arm-eabi@npm:0.130.0" conditions: os=android & cpu=arm languageName: node linkType: hard -"@oxc-parser/binding-android-arm64@npm:0.128.0": - version: 0.128.0 - resolution: "@oxc-parser/binding-android-arm64@npm:0.128.0" +"@oxc-parser/binding-android-arm64@npm:0.130.0": + version: 0.130.0 + resolution: "@oxc-parser/binding-android-arm64@npm:0.130.0" conditions: os=android & cpu=arm64 languageName: node linkType: hard -"@oxc-parser/binding-darwin-arm64@npm:0.128.0": - version: 0.128.0 - resolution: "@oxc-parser/binding-darwin-arm64@npm:0.128.0" +"@oxc-parser/binding-darwin-arm64@npm:0.130.0": + version: 0.130.0 + resolution: "@oxc-parser/binding-darwin-arm64@npm:0.130.0" conditions: os=darwin & cpu=arm64 languageName: node linkType: hard -"@oxc-parser/binding-darwin-x64@npm:0.128.0": - version: 0.128.0 - resolution: "@oxc-parser/binding-darwin-x64@npm:0.128.0" +"@oxc-parser/binding-darwin-x64@npm:0.130.0": + version: 0.130.0 + resolution: "@oxc-parser/binding-darwin-x64@npm:0.130.0" conditions: os=darwin & cpu=x64 languageName: node linkType: hard -"@oxc-parser/binding-freebsd-x64@npm:0.128.0": - version: 0.128.0 - resolution: "@oxc-parser/binding-freebsd-x64@npm:0.128.0" +"@oxc-parser/binding-freebsd-x64@npm:0.130.0": + version: 0.130.0 + resolution: "@oxc-parser/binding-freebsd-x64@npm:0.130.0" conditions: os=freebsd & cpu=x64 languageName: node linkType: hard -"@oxc-parser/binding-linux-arm-gnueabihf@npm:0.128.0": - version: 0.128.0 - resolution: "@oxc-parser/binding-linux-arm-gnueabihf@npm:0.128.0" +"@oxc-parser/binding-linux-arm-gnueabihf@npm:0.130.0": + version: 0.130.0 + resolution: "@oxc-parser/binding-linux-arm-gnueabihf@npm:0.130.0" conditions: os=linux & cpu=arm languageName: node linkType: hard -"@oxc-parser/binding-linux-arm-musleabihf@npm:0.128.0": - version: 0.128.0 - resolution: "@oxc-parser/binding-linux-arm-musleabihf@npm:0.128.0" +"@oxc-parser/binding-linux-arm-musleabihf@npm:0.130.0": + version: 0.130.0 + resolution: "@oxc-parser/binding-linux-arm-musleabihf@npm:0.130.0" conditions: os=linux & cpu=arm languageName: node linkType: hard -"@oxc-parser/binding-linux-arm64-gnu@npm:0.128.0": - version: 0.128.0 - resolution: "@oxc-parser/binding-linux-arm64-gnu@npm:0.128.0" +"@oxc-parser/binding-linux-arm64-gnu@npm:0.130.0": + version: 0.130.0 + resolution: "@oxc-parser/binding-linux-arm64-gnu@npm:0.130.0" conditions: os=linux & cpu=arm64 & libc=glibc languageName: node linkType: hard -"@oxc-parser/binding-linux-arm64-musl@npm:0.128.0": - version: 0.128.0 - resolution: "@oxc-parser/binding-linux-arm64-musl@npm:0.128.0" +"@oxc-parser/binding-linux-arm64-musl@npm:0.130.0": + version: 0.130.0 + resolution: "@oxc-parser/binding-linux-arm64-musl@npm:0.130.0" conditions: os=linux & cpu=arm64 & libc=musl languageName: node linkType: hard -"@oxc-parser/binding-linux-ppc64-gnu@npm:0.128.0": - version: 0.128.0 - resolution: "@oxc-parser/binding-linux-ppc64-gnu@npm:0.128.0" +"@oxc-parser/binding-linux-ppc64-gnu@npm:0.130.0": + version: 0.130.0 + resolution: "@oxc-parser/binding-linux-ppc64-gnu@npm:0.130.0" conditions: os=linux & cpu=ppc64 & libc=glibc languageName: node linkType: hard -"@oxc-parser/binding-linux-riscv64-gnu@npm:0.128.0": - version: 0.128.0 - resolution: "@oxc-parser/binding-linux-riscv64-gnu@npm:0.128.0" +"@oxc-parser/binding-linux-riscv64-gnu@npm:0.130.0": + version: 0.130.0 + resolution: "@oxc-parser/binding-linux-riscv64-gnu@npm:0.130.0" conditions: os=linux & cpu=riscv64 & libc=glibc languageName: node linkType: hard -"@oxc-parser/binding-linux-riscv64-musl@npm:0.128.0": - version: 0.128.0 - resolution: "@oxc-parser/binding-linux-riscv64-musl@npm:0.128.0" +"@oxc-parser/binding-linux-riscv64-musl@npm:0.130.0": + version: 0.130.0 + resolution: "@oxc-parser/binding-linux-riscv64-musl@npm:0.130.0" conditions: os=linux & cpu=riscv64 & libc=musl languageName: node linkType: hard -"@oxc-parser/binding-linux-s390x-gnu@npm:0.128.0": - version: 0.128.0 - resolution: "@oxc-parser/binding-linux-s390x-gnu@npm:0.128.0" +"@oxc-parser/binding-linux-s390x-gnu@npm:0.130.0": + version: 0.130.0 + resolution: "@oxc-parser/binding-linux-s390x-gnu@npm:0.130.0" conditions: os=linux & cpu=s390x & libc=glibc languageName: node linkType: hard -"@oxc-parser/binding-linux-x64-gnu@npm:0.128.0": - version: 0.128.0 - resolution: "@oxc-parser/binding-linux-x64-gnu@npm:0.128.0" +"@oxc-parser/binding-linux-x64-gnu@npm:0.130.0": + version: 0.130.0 + resolution: "@oxc-parser/binding-linux-x64-gnu@npm:0.130.0" conditions: os=linux & cpu=x64 & libc=glibc languageName: node linkType: hard -"@oxc-parser/binding-linux-x64-musl@npm:0.128.0": - version: 0.128.0 - resolution: "@oxc-parser/binding-linux-x64-musl@npm:0.128.0" +"@oxc-parser/binding-linux-x64-musl@npm:0.130.0": + version: 0.130.0 + resolution: "@oxc-parser/binding-linux-x64-musl@npm:0.130.0" conditions: os=linux & cpu=x64 & libc=musl languageName: node linkType: hard -"@oxc-parser/binding-openharmony-arm64@npm:0.128.0": - version: 0.128.0 - resolution: "@oxc-parser/binding-openharmony-arm64@npm:0.128.0" +"@oxc-parser/binding-openharmony-arm64@npm:0.130.0": + version: 0.130.0 + resolution: "@oxc-parser/binding-openharmony-arm64@npm:0.130.0" conditions: os=openharmony & cpu=arm64 languageName: node linkType: hard -"@oxc-parser/binding-wasm32-wasi@npm:0.128.0": - version: 0.128.0 - resolution: "@oxc-parser/binding-wasm32-wasi@npm:0.128.0" +"@oxc-parser/binding-wasm32-wasi@npm:0.130.0": + version: 0.130.0 + resolution: "@oxc-parser/binding-wasm32-wasi@npm:0.130.0" dependencies: "@emnapi/core": "npm:1.10.0" "@emnapi/runtime": "npm:1.10.0" @@ -970,23 +970,23 @@ __metadata: languageName: node linkType: hard -"@oxc-parser/binding-win32-arm64-msvc@npm:0.128.0": - version: 0.128.0 - resolution: "@oxc-parser/binding-win32-arm64-msvc@npm:0.128.0" +"@oxc-parser/binding-win32-arm64-msvc@npm:0.130.0": + version: 0.130.0 + resolution: "@oxc-parser/binding-win32-arm64-msvc@npm:0.130.0" conditions: os=win32 & cpu=arm64 languageName: node linkType: hard -"@oxc-parser/binding-win32-ia32-msvc@npm:0.128.0": - version: 0.128.0 - resolution: "@oxc-parser/binding-win32-ia32-msvc@npm:0.128.0" +"@oxc-parser/binding-win32-ia32-msvc@npm:0.130.0": + version: 0.130.0 + resolution: "@oxc-parser/binding-win32-ia32-msvc@npm:0.130.0" conditions: os=win32 & cpu=ia32 languageName: node linkType: hard -"@oxc-parser/binding-win32-x64-msvc@npm:0.128.0": - version: 0.128.0 - resolution: "@oxc-parser/binding-win32-x64-msvc@npm:0.128.0" +"@oxc-parser/binding-win32-x64-msvc@npm:0.130.0": + version: 0.130.0 + resolution: "@oxc-parser/binding-win32-x64-msvc@npm:0.130.0" conditions: os=win32 & cpu=x64 languageName: node linkType: hard @@ -998,10 +998,10 @@ __metadata: languageName: node linkType: hard -"@oxc-project/types@npm:^0.128.0": - version: 0.128.0 - resolution: "@oxc-project/types@npm:0.128.0" - checksum: 10c0/b6999b1b6b012d979364231a2c0c9204bca814a73f8417234edd39bf352a081779dad72aaf18ac60a676fb904c1408b63553e4e1230d7408a4f885002d66c809 +"@oxc-project/types@npm:^0.130.0": + version: 0.130.0 + resolution: "@oxc-project/types@npm:0.130.0" + checksum: 10c0/7ec8c03407b0bcb235b930c62859e6efcb3fe5cbaa5db98770d760df5c3e6b3e28a0ad22c2e35d1addede8065b40000c3822c5235dde2959af226639eb870000 languageName: node linkType: hard @@ -1338,114 +1338,121 @@ __metadata: languageName: node linkType: hard -"@types/node@npm:^25.6.0": - version: 25.6.0 - resolution: "@types/node@npm:25.6.0" +"@types/node@npm:^25.7.0": + version: 25.7.0 + resolution: "@types/node@npm:25.7.0" dependencies: - undici-types: "npm:~7.19.0" - checksum: 10c0/d2d2015630ff098a201407f55f5077a20270ae4f465c739b40865cd9933b91b9c5d2b85568eadaf3db0801b91e267333ca7eb39f007428b173d1cdab4b339ac5 + undici-types: "npm:~7.21.0" + checksum: 10c0/47ec7eaca154c36ad6d1ac0270e6e254eedf20b9dc49afe3bc76e4f7eba29ceac705f8903b162aeaf40e3941101ffe76ffb374989359ea3ef8c8509d8b443f55 languageName: node linkType: hard -"@typescript-eslint/eslint-plugin@npm:8.59.2": - version: 8.59.2 - resolution: "@typescript-eslint/eslint-plugin@npm:8.59.2" +"@typescript-eslint/eslint-plugin@npm:8.59.3": + version: 8.59.3 + resolution: "@typescript-eslint/eslint-plugin@npm:8.59.3" dependencies: "@eslint-community/regexpp": "npm:^4.12.2" - "@typescript-eslint/scope-manager": "npm:8.59.2" - "@typescript-eslint/type-utils": "npm:8.59.2" - "@typescript-eslint/utils": "npm:8.59.2" - "@typescript-eslint/visitor-keys": "npm:8.59.2" + "@typescript-eslint/scope-manager": "npm:8.59.3" + "@typescript-eslint/type-utils": "npm:8.59.3" + "@typescript-eslint/utils": "npm:8.59.3" + "@typescript-eslint/visitor-keys": "npm:8.59.3" ignore: "npm:^7.0.5" natural-compare: "npm:^1.4.0" ts-api-utils: "npm:^2.5.0" peerDependencies: - "@typescript-eslint/parser": ^8.59.2 + "@typescript-eslint/parser": ^8.59.3 eslint: ^8.57.0 || ^9.0.0 || ^10.0.0 typescript: ">=4.8.4 <6.1.0" - checksum: 10c0/c4c2a67d0ae47ab27e47c46a4cd59eb9941592595d3440cd4dcbccc1983a08c5c9bd276304797964fa2c9276be4cd60077f3087efc6a5370d5b8869720759bc8 + checksum: 10c0/c316ba4af95c7408c65279005099386c1547c184929b7027a1041a2450537d5ce7bd9276e0d6774ae384f9e4482e392dc3305686442d64777c448d76f39fd665 languageName: node linkType: hard -"@typescript-eslint/parser@npm:8.59.2": - version: 8.59.2 - resolution: "@typescript-eslint/parser@npm:8.59.2" +"@typescript-eslint/parser@npm:8.59.3": + version: 8.59.3 + resolution: "@typescript-eslint/parser@npm:8.59.3" dependencies: - "@typescript-eslint/scope-manager": "npm:8.59.2" - "@typescript-eslint/types": "npm:8.59.2" - "@typescript-eslint/typescript-estree": "npm:8.59.2" - "@typescript-eslint/visitor-keys": "npm:8.59.2" + "@typescript-eslint/scope-manager": "npm:8.59.3" + "@typescript-eslint/types": "npm:8.59.3" + "@typescript-eslint/typescript-estree": "npm:8.59.3" + "@typescript-eslint/visitor-keys": "npm:8.59.3" debug: "npm:^4.4.3" peerDependencies: eslint: ^8.57.0 || ^9.0.0 || ^10.0.0 typescript: ">=4.8.4 <6.1.0" - checksum: 10c0/baf8da8ad233908f00bdfe5835c1e03fd7c9256f675a27b0d10d40d0245c158efc847dee1331c61992fbb152d55bfda3111795f8422e9d341f09ec9729364800 + checksum: 10c0/a5e16163e6fdeff411272e8fa2e26b48c28aae3003ff2a6b52e7c7727061170afde11261feefba0b578399774a6c9b26e5d58d593e66b25f88a4552e6012d9e2 languageName: node linkType: hard -"@typescript-eslint/project-service@npm:8.59.2": - version: 8.59.2 - resolution: "@typescript-eslint/project-service@npm:8.59.2" +"@typescript-eslint/project-service@npm:8.59.3": + version: 8.59.3 + resolution: "@typescript-eslint/project-service@npm:8.59.3" dependencies: - "@typescript-eslint/tsconfig-utils": "npm:^8.59.2" - "@typescript-eslint/types": "npm:^8.59.2" + "@typescript-eslint/tsconfig-utils": "npm:^8.59.3" + "@typescript-eslint/types": "npm:^8.59.3" debug: "npm:^4.4.3" peerDependencies: typescript: ">=4.8.4 <6.1.0" - checksum: 10c0/0228f01c61e5ef9022b06510f79f97e37daafd165c592927b640e3587d5cec65a8394a541e1fd21bf65df9f6f1948523569966c9e2181d9cfe911240969cebdb + checksum: 10c0/14caf773ce7198e097e7cf1ba65b0dfd0553696b5ffc1842f0f5bbc877450d1aab599dd0209b1bca66e4a03ba176051dfa13e30005b8f0a96453d7a01e8d8ba6 languageName: node linkType: hard -"@typescript-eslint/scope-manager@npm:8.59.2": - version: 8.59.2 - resolution: "@typescript-eslint/scope-manager@npm:8.59.2" +"@typescript-eslint/scope-manager@npm:8.59.3": + version: 8.59.3 + resolution: "@typescript-eslint/scope-manager@npm:8.59.3" dependencies: - "@typescript-eslint/types": "npm:8.59.2" - "@typescript-eslint/visitor-keys": "npm:8.59.2" - checksum: 10c0/eec819a96442e98879a66d908a9a388502dc4398005af360dd177907f021ee12e4f2967413b123c4ad4567e7f294b177cf6ee559eed2e86d38ab1af3ed5588a5 + "@typescript-eslint/types": "npm:8.59.3" + "@typescript-eslint/visitor-keys": "npm:8.59.3" + checksum: 10c0/716c342e3e4963431696f4a68c616e0afdb619a94fabf448d032a9a676d75d39d60926cd6b47ccd712c722f7cf549a2f623f97049017f36e953dd9b7b348e9bd languageName: node linkType: hard -"@typescript-eslint/tsconfig-utils@npm:8.59.2, @typescript-eslint/tsconfig-utils@npm:^8.59.2": - version: 8.59.2 - resolution: "@typescript-eslint/tsconfig-utils@npm:8.59.2" +"@typescript-eslint/tsconfig-utils@npm:8.59.3, @typescript-eslint/tsconfig-utils@npm:^8.59.3": + version: 8.59.3 + resolution: "@typescript-eslint/tsconfig-utils@npm:8.59.3" peerDependencies: typescript: ">=4.8.4 <6.1.0" - checksum: 10c0/ca7f386cdc9fa4b8c5de3622e2019b9729b8f5682292e01cc42b7cee4a7fc13005642b9dde733b429ad4e6f8600608930d9c33711d8c20c4f9d0af6520ba78d8 + checksum: 10c0/326c07ae30e04734b28830ff74fbc8478f58671f0111a540854064d5a1cd15ed22056453165200ce342de9758e4ce45c827068017701dfb8390ec1c6b3c990ab languageName: node linkType: hard -"@typescript-eslint/type-utils@npm:8.59.2": - version: 8.59.2 - resolution: "@typescript-eslint/type-utils@npm:8.59.2" +"@typescript-eslint/type-utils@npm:8.59.3": + version: 8.59.3 + resolution: "@typescript-eslint/type-utils@npm:8.59.3" dependencies: - "@typescript-eslint/types": "npm:8.59.2" - "@typescript-eslint/typescript-estree": "npm:8.59.2" - "@typescript-eslint/utils": "npm:8.59.2" + "@typescript-eslint/types": "npm:8.59.3" + "@typescript-eslint/typescript-estree": "npm:8.59.3" + "@typescript-eslint/utils": "npm:8.59.3" debug: "npm:^4.4.3" ts-api-utils: "npm:^2.5.0" peerDependencies: eslint: ^8.57.0 || ^9.0.0 || ^10.0.0 typescript: ">=4.8.4 <6.1.0" - checksum: 10c0/373ea2b03363e0c16ba75946327f01a130820f8b65976e831294c9e931d22d88d40f67a651a2151f0fcc9c91744019311fddadb608fe63ff6c0a65130417c34e + checksum: 10c0/ff0dfb47fafe6046c0cf08b1790db41dc8e0b93dfa5bdd69f78d1cb58880b85bfb7930079c417664498a203b894381b228141efc27f427d1969c6aecc25e63b9 languageName: node linkType: hard -"@typescript-eslint/types@npm:8.59.2, @typescript-eslint/types@npm:^8.56.0, @typescript-eslint/types@npm:^8.59.2": +"@typescript-eslint/types@npm:8.59.3, @typescript-eslint/types@npm:^8.59.3": + version: 8.59.3 + resolution: "@typescript-eslint/types@npm:8.59.3" + checksum: 10c0/3f7836ce108c3098935180221abce6d9dbf3583216b895525b0a1fc8d0207ebe1ba9e571dbb45eddacd14ef99563350b9b51df3091258211f8d267f02b9a80c1 + languageName: node + linkType: hard + +"@typescript-eslint/types@npm:^8.56.0": version: 8.59.2 resolution: "@typescript-eslint/types@npm:8.59.2" checksum: 10c0/ee6889a22b237ef426c45f11dc167f7f220007c2a8f77c8b1ab9e57ac32a2b47fad29f53c4230847cbe49bcd30a35fc2f276e01611d0dab9918d7ef72334f423 languageName: node linkType: hard -"@typescript-eslint/typescript-estree@npm:8.59.2": - version: 8.59.2 - resolution: "@typescript-eslint/typescript-estree@npm:8.59.2" +"@typescript-eslint/typescript-estree@npm:8.59.3": + version: 8.59.3 + resolution: "@typescript-eslint/typescript-estree@npm:8.59.3" dependencies: - "@typescript-eslint/project-service": "npm:8.59.2" - "@typescript-eslint/tsconfig-utils": "npm:8.59.2" - "@typescript-eslint/types": "npm:8.59.2" - "@typescript-eslint/visitor-keys": "npm:8.59.2" + "@typescript-eslint/project-service": "npm:8.59.3" + "@typescript-eslint/tsconfig-utils": "npm:8.59.3" + "@typescript-eslint/types": "npm:8.59.3" + "@typescript-eslint/visitor-keys": "npm:8.59.3" debug: "npm:^4.4.3" minimatch: "npm:^10.2.2" semver: "npm:^7.7.3" @@ -1453,32 +1460,32 @@ __metadata: ts-api-utils: "npm:^2.5.0" peerDependencies: typescript: ">=4.8.4 <6.1.0" - checksum: 10c0/8bde0e7d184e4e9d98b1ef32b8692b433c8dc5c54439f4a34ae49cf4cb6117435b86d8d891b58a73676fbcf1162717365945053d48139cafb265f775e6c8d2af + checksum: 10c0/d23d4efa17ebfceaca741e0656f4cc69f6429fad0bba87fa79cf08b6b67e487282241fd4211ae69d1b9eae1e5746db849e2e29518a385ee981a55f297db58906 languageName: node linkType: hard -"@typescript-eslint/utils@npm:8.59.2": - version: 8.59.2 - resolution: "@typescript-eslint/utils@npm:8.59.2" +"@typescript-eslint/utils@npm:8.59.3": + version: 8.59.3 + resolution: "@typescript-eslint/utils@npm:8.59.3" dependencies: "@eslint-community/eslint-utils": "npm:^4.9.1" - "@typescript-eslint/scope-manager": "npm:8.59.2" - "@typescript-eslint/types": "npm:8.59.2" - "@typescript-eslint/typescript-estree": "npm:8.59.2" + "@typescript-eslint/scope-manager": "npm:8.59.3" + "@typescript-eslint/types": "npm:8.59.3" + "@typescript-eslint/typescript-estree": "npm:8.59.3" peerDependencies: eslint: ^8.57.0 || ^9.0.0 || ^10.0.0 typescript: ">=4.8.4 <6.1.0" - checksum: 10c0/d972d6f2ade6639088e3d2acf319c82cd981455a282d245dd715c5d77365647240d2cb34be00ab0d3a3c16593fb5050fcd698d399ff8451801825211d653ce64 + checksum: 10c0/a8299781be03e43f9a0f4006e607cfaa1094e2d5b1a208e7f2b994841884f08b557ce51d97d128b892b335a99b1bffa151eb4c0173aafec5d012783656e222f0 languageName: node linkType: hard -"@typescript-eslint/visitor-keys@npm:8.59.2": - version: 8.59.2 - resolution: "@typescript-eslint/visitor-keys@npm:8.59.2" +"@typescript-eslint/visitor-keys@npm:8.59.3": + version: 8.59.3 + resolution: "@typescript-eslint/visitor-keys@npm:8.59.3" dependencies: - "@typescript-eslint/types": "npm:8.59.2" + "@typescript-eslint/types": "npm:8.59.3" eslint-visitor-keys: "npm:^5.0.0" - checksum: 10c0/5863ea98ac642d94fd100f0077c5cfcbe168c3e2ac9bd05da7fc9878c32c20b6d4fc6916df44ffe79c538c4f367a083489d70dab07aa09c51e4e7729716d106e + checksum: 10c0/124c1ecece3f1ea954a05b150f8ec89b1c790276baa6e60c542a006cf3e14ce2c6152f95f06740e73609c36c6db0eeba98caba572d19db0befaef8aaba6f9569 languageName: node linkType: hard @@ -1617,12 +1624,12 @@ __metadata: languageName: node linkType: hard -"@vitest/coverage-v8@npm:^4.1.5": - version: 4.1.5 - resolution: "@vitest/coverage-v8@npm:4.1.5" +"@vitest/coverage-v8@npm:^4.1.6": + version: 4.1.6 + resolution: "@vitest/coverage-v8@npm:4.1.6" dependencies: "@bcoe/v8-coverage": "npm:^1.0.2" - "@vitest/utils": "npm:4.1.5" + "@vitest/utils": "npm:4.1.6" ast-v8-to-istanbul: "npm:^1.0.0" istanbul-lib-coverage: "npm:^3.2.2" istanbul-lib-report: "npm:^3.0.1" @@ -1632,34 +1639,34 @@ __metadata: std-env: "npm:^4.0.0-rc.1" tinyrainbow: "npm:^3.1.0" peerDependencies: - "@vitest/browser": 4.1.5 - vitest: 4.1.5 + "@vitest/browser": 4.1.6 + vitest: 4.1.6 peerDependenciesMeta: "@vitest/browser": optional: true - checksum: 10c0/71bf669cc1714611855caef5e89b4f3e405e410bdb34e4b2f6fbc9dc5e50dd9e09e73068c1750f6bfa03f0cd9209a2b6e03665c3bdbd34e0adff1ca65c482b7b + checksum: 10c0/5cc45784200a13ccab166c5d2ed0a4026ab0e28c395a654f046d91ff344a02d38db77b1022d7aa6d07973966c64844a6b62756c88c33609529535c12cc8b1af4 languageName: node linkType: hard -"@vitest/expect@npm:4.1.5": - version: 4.1.5 - resolution: "@vitest/expect@npm:4.1.5" +"@vitest/expect@npm:4.1.6": + version: 4.1.6 + resolution: "@vitest/expect@npm:4.1.6" dependencies: "@standard-schema/spec": "npm:^1.1.0" "@types/chai": "npm:^5.2.2" - "@vitest/spy": "npm:4.1.5" - "@vitest/utils": "npm:4.1.5" + "@vitest/spy": "npm:4.1.6" + "@vitest/utils": "npm:4.1.6" chai: "npm:^6.2.2" tinyrainbow: "npm:^3.1.0" - checksum: 10c0/5184682304db471aa20024c1154210ad3d6d590afb61646201ce1a15297259f9a35f92f8fad4435bc8a82135e307ddd27c8495f72417d72d9aa139eb281d9e06 + checksum: 10c0/a6767bdf586c82f64674998bf74987e99aa106ac5d0b5c4c2c1d3924e145b34fd80e138c65568a8fc2544aa71c85b1272f9607fe5ef6a7060ece1c232db46655 languageName: node linkType: hard -"@vitest/mocker@npm:4.1.5": - version: 4.1.5 - resolution: "@vitest/mocker@npm:4.1.5" +"@vitest/mocker@npm:4.1.6": + version: 4.1.6 + resolution: "@vitest/mocker@npm:4.1.6" dependencies: - "@vitest/spy": "npm:4.1.5" + "@vitest/spy": "npm:4.1.6" estree-walker: "npm:^3.0.3" magic-string: "npm:^0.30.21" peerDependencies: @@ -1670,56 +1677,56 @@ __metadata: optional: true vite: optional: true - checksum: 10c0/bcfe97700476130933c7ea33fa670c8d2768a81de5325ce407f901e55c2f66cabbb88a7b6cffb46ddf33dff7d8fc209d769fb298f568e310fbeead9b36f6fdb9 + checksum: 10c0/d9f3236940e160467edb7a2552fa014451347c4f08c13d26220fcfe7e12b385fd4975c6a81a6b174117650772cf3c45195b3a1838f8ee28fc8e6c37e07b99b2d languageName: node linkType: hard -"@vitest/pretty-format@npm:4.1.5": - version: 4.1.5 - resolution: "@vitest/pretty-format@npm:4.1.5" +"@vitest/pretty-format@npm:4.1.6": + version: 4.1.6 + resolution: "@vitest/pretty-format@npm:4.1.6" dependencies: tinyrainbow: "npm:^3.1.0" - checksum: 10c0/42b5e9b75e87c0a884d36bee364e2d07ee45e96f413377737a74993e077d90c3a12aa36743855aee5e4e28b78fae20e3e6de5eef8d5344b9aba2bc1e1d5537a1 + checksum: 10c0/f818a6abff9b7cf642edc2d0fe84d4f124911696bc7591f2af9ab6d88685b72133a1e9f87499e9b4dc2314dff85403ea66c64f7b408b2eb39f9880c6d3517ca0 languageName: node linkType: hard -"@vitest/runner@npm:4.1.5": - version: 4.1.5 - resolution: "@vitest/runner@npm:4.1.5" +"@vitest/runner@npm:4.1.6": + version: 4.1.6 + resolution: "@vitest/runner@npm:4.1.6" dependencies: - "@vitest/utils": "npm:4.1.5" + "@vitest/utils": "npm:4.1.6" pathe: "npm:^2.0.3" - checksum: 10c0/6a03b313a121155f6dd9e32eeb103c0e12440f586bc4ba1f0d77444e44c6df4652a44443718552037463115635b8378e11f35902d90ce1326f77743219fca056 + checksum: 10c0/8047051d730de66b7cde8e6803ea718eaa8342ffbe55ff3d787fe7085a2b824a979689782d5303e464411fe67b556384b0c5af337e3e335cf140bf7adf5f6aa0 languageName: node linkType: hard -"@vitest/snapshot@npm:4.1.5": - version: 4.1.5 - resolution: "@vitest/snapshot@npm:4.1.5" +"@vitest/snapshot@npm:4.1.6": + version: 4.1.6 + resolution: "@vitest/snapshot@npm:4.1.6" dependencies: - "@vitest/pretty-format": "npm:4.1.5" - "@vitest/utils": "npm:4.1.5" + "@vitest/pretty-format": "npm:4.1.6" + "@vitest/utils": "npm:4.1.6" magic-string: "npm:^0.30.21" pathe: "npm:^2.0.3" - checksum: 10c0/e11bf50d06702331290750a40eaef86078c108df3cd9a52bb1be7b84250048790163f36827525be6a383a4bb1994fc35e6d0c24239a41688b0bb68a1d15d172f + checksum: 10c0/596d7cd2fe12b57516e983e550d238c324a3cefaac826e557b0903cfbb11f6ff79582bf2df6dc3163cf604c305ffe3840e47f03a95b8fb8d7bf6200462e8cfea languageName: node linkType: hard -"@vitest/spy@npm:4.1.5": - version: 4.1.5 - resolution: "@vitest/spy@npm:4.1.5" - checksum: 10c0/fda6b1ee0a2fec1a152d8041aba7a79744c3876863b244d1ed406d02b36e8ccc997edb2e3963d1027d728d3dc5a33813e11bef53a0a14fc7de4de5e721d0f591 +"@vitest/spy@npm:4.1.6": + version: 4.1.6 + resolution: "@vitest/spy@npm:4.1.6" + checksum: 10c0/908034532fb10888f759603194b11058bdabdf9bb86ef7839feec98f809e4802cf8d74c279c521ef2df12fa9ab97d0aec7c886e1e6910c5c9dfb10ba00913d91 languageName: node linkType: hard -"@vitest/utils@npm:4.1.5": - version: 4.1.5 - resolution: "@vitest/utils@npm:4.1.5" +"@vitest/utils@npm:4.1.6": + version: 4.1.6 + resolution: "@vitest/utils@npm:4.1.6" dependencies: - "@vitest/pretty-format": "npm:4.1.5" + "@vitest/pretty-format": "npm:4.1.6" convert-source-map: "npm:^2.0.0" tinyrainbow: "npm:^3.1.0" - checksum: 10c0/72409717e68018e5fe42fa173cc4eff6def8c35bd52013f86ddb414cd28d73fcc425ac62968e01a52371b3fd5a7a775536283d2f1d64432753f628712a6a4908 + checksum: 10c0/36437888088a1aae8565e62b9f145de9fb1599725574924477c655c7617ad677b575ac0eb3f2b3288854ed1aafff914a0417dffbb7f5244c821f157119701227 languageName: node linkType: hard @@ -1748,6 +1755,15 @@ __metadata: languageName: node linkType: hard +"agent-base@npm:6": + version: 6.0.2 + resolution: "agent-base@npm:6.0.2" + dependencies: + debug: "npm:4" + checksum: 10c0/dc4f757e40b5f3e3d674bc9beb4f1048f4ee83af189bae39be99f57bf1f48dde166a8b0a5342a84b5944ee8e6ed1e5a9d801858f4ad44764e84957122fe46261 + languageName: node + linkType: hard + "agent-base@npm:^7.1.2": version: 7.1.4 resolution: "agent-base@npm:7.1.4" @@ -1832,14 +1848,15 @@ __metadata: languageName: node linkType: hard -"axios@npm:^1.16.0": - version: 1.16.0 - resolution: "axios@npm:1.16.0" +"axios@npm:^1.16.1": + version: 1.16.1 + resolution: "axios@npm:1.16.1" dependencies: follow-redirects: "npm:^1.16.0" form-data: "npm:^4.0.5" + https-proxy-agent: "npm:^5.0.1" proxy-from-env: "npm:^2.1.0" - checksum: 10c0/1c91a5221b77b76072026b4cc95ecdf38f7c3e33e63423abec09a85e6e9a12279637dcc9ac2ba1fc333e0c447fb3b0f46d7965acb5d7cea02d188e9c6d425c0b + checksum: 10c0/2f77e37e6552bbff8a772d058fb09500198e9188c6b20dc799d82dbe12a8cb506f6eed4e4e62a9ba612a35cbab496faa26d68f9bff14a53af6d15c3e136391a7 languageName: node linkType: hard @@ -1869,9 +1886,9 @@ __metadata: resolution: "blaise-api-node-client@workspace:." dependencies: "@eslint/js": "npm:^10.0.1" - "@types/node": "npm:^25.6.0" - "@vitest/coverage-v8": "npm:^4.1.5" - axios: "npm:^1.16.0" + "@types/node": "npm:^25.7.0" + "@vitest/coverage-v8": "npm:^4.1.6" + axios: "npm:^1.16.1" axios-mock-adapter: "npm:^2.1.0" blaise-iap-node-provider: "git+https://github.com/ONSdigital/blaise-iap-node-provider.git#BLAIS5-5177" cspell: "npm:^10.0.0" @@ -1883,12 +1900,12 @@ __metadata: globals: "npm:^17.6.0" jiti: "npm:^2.7.0" jsonc-eslint-parser: "npm:^3.1.0" - knip: "npm:^6.12.0" + knip: "npm:^6.13.1" prettier: "npm:^3.8.3" - publint: "npm:^0.3.19" + publint: "npm:^0.3.21" typescript: "npm:^6.0.3" - typescript-eslint: "npm:^8.59.2" - vitest: "npm:^4.1.5" + typescript-eslint: "npm:^8.59.3" + vitest: "npm:^4.1.6" languageName: unknown linkType: soft @@ -2887,6 +2904,16 @@ __metadata: languageName: node linkType: hard +"https-proxy-agent@npm:^5.0.1": + version: 5.0.1 + resolution: "https-proxy-agent@npm:5.0.1" + dependencies: + agent-base: "npm:6" + debug: "npm:4" + checksum: 10c0/6dd639f03434003577c62b27cafdb864784ef19b2de430d8ae2a1d45e31c4fd60719e5637b44db1a88a046934307da7089e03d6089ec3ddacc1189d8de8897d1 + languageName: node + linkType: hard + "https-proxy-agent@npm:^7.0.1": version: 7.0.6 resolution: "https-proxy-agent@npm:7.0.6" @@ -3020,7 +3047,7 @@ __metadata: languageName: node linkType: hard -"jiti@npm:^2.6.0, jiti@npm:^2.7.0": +"jiti@npm:^2.7.0": version: 2.7.0 resolution: "jiti@npm:2.7.0" bin: @@ -3125,28 +3152,28 @@ __metadata: languageName: node linkType: hard -"knip@npm:^6.12.0": - version: 6.12.0 - resolution: "knip@npm:6.12.0" +"knip@npm:^6.13.1": + version: 6.13.1 + resolution: "knip@npm:6.13.1" dependencies: fdir: "npm:^6.5.0" formatly: "npm:^0.3.0" get-tsconfig: "npm:4.14.0" - jiti: "npm:^2.6.0" + jiti: "npm:^2.7.0" minimist: "npm:^1.2.8" - oxc-parser: "npm:^0.128.0" + oxc-parser: "npm:^0.130.0" oxc-resolver: "npm:^11.19.1" picomatch: "npm:^4.0.4" smol-toml: "npm:^1.6.1" strip-json-comments: "npm:5.0.3" tinyglobby: "npm:^0.2.16" unbash: "npm:^3.0.0" - yaml: "npm:^2.8.2" + yaml: "npm:^2.9.0" zod: "npm:^4.1.11" bin: knip: bin/knip.js knip-bun: bin/knip-bun.js - checksum: 10c0/758f725f09b516a3cd92e5dcda4338c6f1395a6b4ac88a2dc6dc312c63e3653127d97b640b5d4226b74df1945c648f3a4bb46799d783977d513516a4b5e75fc6 + checksum: 10c0/c6264d84c8b0cea5578bf56dcff9394ed7ca1c5055f519b64cd2842cb7180925b5dd13f04df6bcd8332a24291fe237b9157ed4c5b483043dcbd6a325d4770277 languageName: node linkType: hard @@ -3531,31 +3558,31 @@ __metadata: languageName: node linkType: hard -"oxc-parser@npm:^0.128.0": - version: 0.128.0 - resolution: "oxc-parser@npm:0.128.0" - dependencies: - "@oxc-parser/binding-android-arm-eabi": "npm:0.128.0" - "@oxc-parser/binding-android-arm64": "npm:0.128.0" - "@oxc-parser/binding-darwin-arm64": "npm:0.128.0" - "@oxc-parser/binding-darwin-x64": "npm:0.128.0" - "@oxc-parser/binding-freebsd-x64": "npm:0.128.0" - "@oxc-parser/binding-linux-arm-gnueabihf": "npm:0.128.0" - "@oxc-parser/binding-linux-arm-musleabihf": "npm:0.128.0" - "@oxc-parser/binding-linux-arm64-gnu": "npm:0.128.0" - "@oxc-parser/binding-linux-arm64-musl": "npm:0.128.0" - "@oxc-parser/binding-linux-ppc64-gnu": "npm:0.128.0" - "@oxc-parser/binding-linux-riscv64-gnu": "npm:0.128.0" - "@oxc-parser/binding-linux-riscv64-musl": "npm:0.128.0" - "@oxc-parser/binding-linux-s390x-gnu": "npm:0.128.0" - "@oxc-parser/binding-linux-x64-gnu": "npm:0.128.0" - "@oxc-parser/binding-linux-x64-musl": "npm:0.128.0" - "@oxc-parser/binding-openharmony-arm64": "npm:0.128.0" - "@oxc-parser/binding-wasm32-wasi": "npm:0.128.0" - "@oxc-parser/binding-win32-arm64-msvc": "npm:0.128.0" - "@oxc-parser/binding-win32-ia32-msvc": "npm:0.128.0" - "@oxc-parser/binding-win32-x64-msvc": "npm:0.128.0" - "@oxc-project/types": "npm:^0.128.0" +"oxc-parser@npm:^0.130.0": + version: 0.130.0 + resolution: "oxc-parser@npm:0.130.0" + dependencies: + "@oxc-parser/binding-android-arm-eabi": "npm:0.130.0" + "@oxc-parser/binding-android-arm64": "npm:0.130.0" + "@oxc-parser/binding-darwin-arm64": "npm:0.130.0" + "@oxc-parser/binding-darwin-x64": "npm:0.130.0" + "@oxc-parser/binding-freebsd-x64": "npm:0.130.0" + "@oxc-parser/binding-linux-arm-gnueabihf": "npm:0.130.0" + "@oxc-parser/binding-linux-arm-musleabihf": "npm:0.130.0" + "@oxc-parser/binding-linux-arm64-gnu": "npm:0.130.0" + "@oxc-parser/binding-linux-arm64-musl": "npm:0.130.0" + "@oxc-parser/binding-linux-ppc64-gnu": "npm:0.130.0" + "@oxc-parser/binding-linux-riscv64-gnu": "npm:0.130.0" + "@oxc-parser/binding-linux-riscv64-musl": "npm:0.130.0" + "@oxc-parser/binding-linux-s390x-gnu": "npm:0.130.0" + "@oxc-parser/binding-linux-x64-gnu": "npm:0.130.0" + "@oxc-parser/binding-linux-x64-musl": "npm:0.130.0" + "@oxc-parser/binding-openharmony-arm64": "npm:0.130.0" + "@oxc-parser/binding-wasm32-wasi": "npm:0.130.0" + "@oxc-parser/binding-win32-arm64-msvc": "npm:0.130.0" + "@oxc-parser/binding-win32-ia32-msvc": "npm:0.130.0" + "@oxc-parser/binding-win32-x64-msvc": "npm:0.130.0" + "@oxc-project/types": "npm:^0.130.0" dependenciesMeta: "@oxc-parser/binding-android-arm-eabi": optional: true @@ -3597,7 +3624,7 @@ __metadata: optional: true "@oxc-parser/binding-win32-x64-msvc": optional: true - checksum: 10c0/c750d5d205353efd67276019d50a315cab1fe68f10067a892154e9fa81ba62844760aa8536ae0008580e421e10fb8d2d419455744de862eb0037499b4760c1c9 + checksum: 10c0/7b6b3fee853429520f5c61765add938b57d1b6fdb0f86dc806f2c2ba13f6f007a22316561c4c98754b272aac3ac3c7b92051bb1a8e0fa699ef68982c4f257f7e languageName: node linkType: hard @@ -3771,9 +3798,9 @@ __metadata: languageName: node linkType: hard -"publint@npm:^0.3.19": - version: 0.3.19 - resolution: "publint@npm:0.3.19" +"publint@npm:^0.3.21": + version: 0.3.21 + resolution: "publint@npm:0.3.21" dependencies: "@publint/pack": "npm:^0.1.4" package-manager-detector: "npm:^1.6.0" @@ -3781,7 +3808,7 @@ __metadata: sade: "npm:^1.8.1" bin: publint: src/cli.js - checksum: 10c0/1436ac33f40a2db7c8d632026a7ec19e604af54cfc816d37250bf9db303e53ed879f3bfc36208a0696bd30778a14507a5e06fbf2a153f2902feafb6835cc8ac8 + checksum: 10c0/46f54061b112f852523e8b1357c5b454633008056de86f6acbbabcb155a8ab758d3e575df9f82fa37b7ba4a25bde8e68f98866763929eaef8c6d96ff1f761cea languageName: node linkType: hard @@ -4041,18 +4068,18 @@ __metadata: languageName: node linkType: hard -"typescript-eslint@npm:^8.59.2": - version: 8.59.2 - resolution: "typescript-eslint@npm:8.59.2" +"typescript-eslint@npm:^8.59.3": + version: 8.59.3 + resolution: "typescript-eslint@npm:8.59.3" dependencies: - "@typescript-eslint/eslint-plugin": "npm:8.59.2" - "@typescript-eslint/parser": "npm:8.59.2" - "@typescript-eslint/typescript-estree": "npm:8.59.2" - "@typescript-eslint/utils": "npm:8.59.2" + "@typescript-eslint/eslint-plugin": "npm:8.59.3" + "@typescript-eslint/parser": "npm:8.59.3" + "@typescript-eslint/typescript-estree": "npm:8.59.3" + "@typescript-eslint/utils": "npm:8.59.3" peerDependencies: eslint: ^8.57.0 || ^9.0.0 || ^10.0.0 typescript: ">=4.8.4 <6.1.0" - checksum: 10c0/c2736b839fa268da75df0ca8a1b8cfd658a6c6210c676412ed902c7ff8fea716f36a7e135133000a8f72091255f395d7c85783c4d6a9b1be79e8989abde1cd43 + checksum: 10c0/7bd251921d583be5a29565118a5babc068e7c1e893d30a0dbea4215ed20cebcad186b419ba747e001b48339e18c4a2cf6c936e013a77b225692f7f48331839f6 languageName: node linkType: hard @@ -4083,10 +4110,10 @@ __metadata: languageName: node linkType: hard -"undici-types@npm:~7.19.0": - version: 7.19.2 - resolution: "undici-types@npm:7.19.2" - checksum: 10c0/7159f10546f9f6c47d36776bb1bbf8671e87c1e587a6fee84ae1f111ae8de4f914efa8ca0dfcd224f4f4a9dfc3f6028f627ccb5ddaccf82d7fd54671b89fac3e +"undici-types@npm:~7.21.0": + version: 7.21.0 + resolution: "undici-types@npm:7.21.0" + checksum: 10c0/c3b4ae5f066c398acb1962505b56214ecd72843f7d7827fcc2df7a48a63d1639d3608c580ac09f836253d21fa7ba8f1a04440569ed9d332474ad01b8a010db87 languageName: node linkType: hard @@ -4230,17 +4257,17 @@ __metadata: languageName: node linkType: hard -"vitest@npm:^4.1.5": - version: 4.1.5 - resolution: "vitest@npm:4.1.5" - dependencies: - "@vitest/expect": "npm:4.1.5" - "@vitest/mocker": "npm:4.1.5" - "@vitest/pretty-format": "npm:4.1.5" - "@vitest/runner": "npm:4.1.5" - "@vitest/snapshot": "npm:4.1.5" - "@vitest/spy": "npm:4.1.5" - "@vitest/utils": "npm:4.1.5" +"vitest@npm:^4.1.6": + version: 4.1.6 + resolution: "vitest@npm:4.1.6" + dependencies: + "@vitest/expect": "npm:4.1.6" + "@vitest/mocker": "npm:4.1.6" + "@vitest/pretty-format": "npm:4.1.6" + "@vitest/runner": "npm:4.1.6" + "@vitest/snapshot": "npm:4.1.6" + "@vitest/spy": "npm:4.1.6" + "@vitest/utils": "npm:4.1.6" es-module-lexer: "npm:^2.0.0" expect-type: "npm:^1.3.0" magic-string: "npm:^0.30.21" @@ -4258,12 +4285,12 @@ __metadata: "@edge-runtime/vm": "*" "@opentelemetry/api": ^1.9.0 "@types/node": ^20.0.0 || ^22.0.0 || >=24.0.0 - "@vitest/browser-playwright": 4.1.5 - "@vitest/browser-preview": 4.1.5 - "@vitest/browser-webdriverio": 4.1.5 - "@vitest/coverage-istanbul": 4.1.5 - "@vitest/coverage-v8": 4.1.5 - "@vitest/ui": 4.1.5 + "@vitest/browser-playwright": 4.1.6 + "@vitest/browser-preview": 4.1.6 + "@vitest/browser-webdriverio": 4.1.6 + "@vitest/coverage-istanbul": 4.1.6 + "@vitest/coverage-v8": 4.1.6 + "@vitest/ui": 4.1.6 happy-dom: "*" jsdom: "*" vite: ^6.0.0 || ^7.0.0 || ^8.0.0 @@ -4294,7 +4321,7 @@ __metadata: optional: false bin: vitest: vitest.mjs - checksum: 10c0/196eaf5e95b45a3f6d3001a2408d7dc6f146c29c873ed4e42e1ad4c9327122934fb3793a12b6ce3b7c25d355e738b20123acc0894ce30358c3370b15f4bd0865 + checksum: 10c0/1da4c23f02cd39cb20a857d48462d1d6100eeb4644fc0defc7c6eef9d481f85d2598b72d39eb4a8d271fafa8328ac3ffcca11b27865385e88d9d65c8b29b8091 languageName: node linkType: hard @@ -4381,7 +4408,7 @@ __metadata: languageName: node linkType: hard -"yaml@npm:^2.8.2, yaml@npm:^2.8.3": +"yaml@npm:^2.8.3": version: 2.8.4 resolution: "yaml@npm:2.8.4" bin: @@ -4390,6 +4417,15 @@ __metadata: languageName: node linkType: hard +"yaml@npm:^2.9.0": + version: 2.9.0 + resolution: "yaml@npm:2.9.0" + bin: + yaml: bin.mjs + checksum: 10c0/f340718df45e97a9551b9bf9dac61c80050bc464513b710debfb5067c380c8472e3b67809cffacb4ab5ffb5e66ef9310816c88b05f371cec60abfedd8c88e0a2 + languageName: node + linkType: hard + "yocto-queue@npm:^0.1.0": version: 0.1.0 resolution: "yocto-queue@npm:0.1.0" From 5210bf4eb36a089ca79a07df5e6b4d497e56c0ca Mon Sep 17 00:00:00 2001 From: Richmond Rice Date: Mon, 18 May 2026 00:11:38 +0100 Subject: [PATCH 25/36] package update --- package.json | 6 +++--- yarn.lock | 50 +++++++++++++++++++++++++------------------------- 2 files changed, 28 insertions(+), 28 deletions(-) diff --git a/package.json b/package.json index 9faf7de..3de287c 100644 --- a/package.json +++ b/package.json @@ -39,11 +39,11 @@ }, "devDependencies": { "@eslint/js": "^10.0.1", - "@types/node": "^25.7.0", + "@types/node": "^25.8.0", "@vitest/coverage-v8": "^4.1.6", "axios-mock-adapter": "^2.1.0", "cspell": "^10.0.0", - "eslint": "^10.3.0", + "eslint": "^10.4.0", "eslint-config-prettier": "^10.1.8", "eslint-import-resolver-typescript": "^4.4.4", "eslint-plugin-import-x": "^4.16.2", @@ -51,7 +51,7 @@ "globals": "^17.6.0", "jiti": "^2.7.0", "jsonc-eslint-parser": "^3.1.0", - "knip": "^6.13.1", + "knip": "^6.14.1", "prettier": "^3.8.3", "publint": "^0.3.21", "typescript": "^6.0.3", diff --git a/yarn.lock b/yarn.lock index 1910e0a..b94f011 100644 --- a/yarn.lock +++ b/yarn.lock @@ -686,12 +686,12 @@ __metadata: languageName: node linkType: hard -"@eslint/config-helpers@npm:^0.5.5": - version: 0.5.5 - resolution: "@eslint/config-helpers@npm:0.5.5" +"@eslint/config-helpers@npm:^0.6.0": + version: 0.6.0 + resolution: "@eslint/config-helpers@npm:0.6.0" dependencies: "@eslint/core": "npm:^1.2.1" - checksum: 10c0/18889c062cd6bdbd4cd92fe57318c44465ea66184aa0ba204a4420712c66764c64093a7905b6c2ffde23e51b268ca2cec1a39c605d336bebf17ee1ba4f0fc0bb + checksum: 10c0/f9af20e8b60b0ba27edb74b8eb40c0c5d51a9bf9baf9e053bb57833a87cb0a1c49b4dfaad88fc24d49c907ad1324c8a0b668684fa9c321351dac4bc9155ec10a languageName: node linkType: hard @@ -1338,12 +1338,12 @@ __metadata: languageName: node linkType: hard -"@types/node@npm:^25.7.0": - version: 25.7.0 - resolution: "@types/node@npm:25.7.0" +"@types/node@npm:^25.8.0": + version: 25.8.0 + resolution: "@types/node@npm:25.8.0" dependencies: - undici-types: "npm:~7.21.0" - checksum: 10c0/47ec7eaca154c36ad6d1ac0270e6e254eedf20b9dc49afe3bc76e4f7eba29ceac705f8903b162aeaf40e3941101ffe76ffb374989359ea3ef8c8509d8b443f55 + undici-types: "npm:>=7.24.0 <7.24.7" + checksum: 10c0/ff53e5428309d2e6060190ec5e02afd0e4a7369456b16130a7f5898f12a6ad0efd62d752830f2f7355d714ae429bc0acbb2dc0cbf761cadb03e88c4996cdf1dc languageName: node linkType: hard @@ -1886,13 +1886,13 @@ __metadata: resolution: "blaise-api-node-client@workspace:." dependencies: "@eslint/js": "npm:^10.0.1" - "@types/node": "npm:^25.7.0" + "@types/node": "npm:^25.8.0" "@vitest/coverage-v8": "npm:^4.1.6" axios: "npm:^1.16.1" axios-mock-adapter: "npm:^2.1.0" blaise-iap-node-provider: "git+https://github.com/ONSdigital/blaise-iap-node-provider.git#BLAIS5-5177" cspell: "npm:^10.0.0" - eslint: "npm:^10.3.0" + eslint: "npm:^10.4.0" eslint-config-prettier: "npm:^10.1.8" eslint-import-resolver-typescript: "npm:^4.4.4" eslint-plugin-import-x: "npm:^4.16.2" @@ -1900,7 +1900,7 @@ __metadata: globals: "npm:^17.6.0" jiti: "npm:^2.7.0" jsonc-eslint-parser: "npm:^3.1.0" - knip: "npm:^6.13.1" + knip: "npm:^6.14.1" prettier: "npm:^3.8.3" publint: "npm:^0.3.21" typescript: "npm:^6.0.3" @@ -2437,14 +2437,14 @@ __metadata: languageName: node linkType: hard -"eslint@npm:^10.3.0": - version: 10.3.0 - resolution: "eslint@npm:10.3.0" +"eslint@npm:^10.4.0": + version: 10.4.0 + resolution: "eslint@npm:10.4.0" dependencies: "@eslint-community/eslint-utils": "npm:^4.8.0" "@eslint-community/regexpp": "npm:^4.12.2" "@eslint/config-array": "npm:^0.23.5" - "@eslint/config-helpers": "npm:^0.5.5" + "@eslint/config-helpers": "npm:^0.6.0" "@eslint/core": "npm:^1.2.1" "@eslint/plugin-kit": "npm:^0.7.1" "@humanfs/node": "npm:^0.16.6" @@ -2478,7 +2478,7 @@ __metadata: optional: true bin: eslint: bin/eslint.js - checksum: 10c0/81e3ceba949f62d1b530660279db86cf814f5dc43d7cc3759a8008fe4fc679d46568279fe1cceb7ddbbc98ab57a96ae524f6e811ffc6897b49b90ea08aa785e5 + checksum: 10c0/6bf644dc08fa5a6b23157d23a4a4638d45823d03a67da1daac8dc1085b03934fa98013efd2eac2cd6ec90fe88d36b336bdf38d5f000325f22d823a15f2031426 languageName: node linkType: hard @@ -3152,9 +3152,9 @@ __metadata: languageName: node linkType: hard -"knip@npm:^6.13.1": - version: 6.13.1 - resolution: "knip@npm:6.13.1" +"knip@npm:^6.14.1": + version: 6.14.1 + resolution: "knip@npm:6.14.1" dependencies: fdir: "npm:^6.5.0" formatly: "npm:^0.3.0" @@ -3173,7 +3173,7 @@ __metadata: bin: knip: bin/knip.js knip-bun: bin/knip-bun.js - checksum: 10c0/c6264d84c8b0cea5578bf56dcff9394ed7ca1c5055f519b64cd2842cb7180925b5dd13f04df6bcd8332a24291fe237b9157ed4c5b483043dcbd6a325d4770277 + checksum: 10c0/d0221aa904b801a38a38503133d4d67ea4036de045691e127972ddedfde2da37fe1be0648d966f72061cb0dcf8b3e35131038c37401e24d15f1c483920bb4989 languageName: node linkType: hard @@ -4110,10 +4110,10 @@ __metadata: languageName: node linkType: hard -"undici-types@npm:~7.21.0": - version: 7.21.0 - resolution: "undici-types@npm:7.21.0" - checksum: 10c0/c3b4ae5f066c398acb1962505b56214ecd72843f7d7827fcc2df7a48a63d1639d3608c580ac09f836253d21fa7ba8f1a04440569ed9d332474ad01b8a010db87 +"undici-types@npm:>=7.24.0 <7.24.7": + version: 7.24.6 + resolution: "undici-types@npm:7.24.6" + checksum: 10c0/d9cd8befb643ac904615c280a095ba4240531f6bb4a5e75a22a7483630ca8d3f1016d2ab6ace6ceda1f63b3a2db2fe037fafe121d6917a0187573aa548ff78ca languageName: node linkType: hard From b988ac9cf7c82e6aaf3cec55a314c8c630e86e6e Mon Sep 17 00:00:00 2001 From: Richmond Rice Date: Mon, 18 May 2026 12:59:22 +0100 Subject: [PATCH 26/36] flat config --- eslint.config.ts | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/eslint.config.ts b/eslint.config.ts index af8253a..002e2cb 100644 --- a/eslint.config.ts +++ b/eslint.config.ts @@ -1,5 +1,6 @@ import js from "@eslint/js"; import configPrettier from "eslint-config-prettier"; +import { createTypeScriptImportResolver } from "eslint-import-resolver-typescript"; import pluginImportX from "eslint-plugin-import-x"; import pluginJsonc from "eslint-plugin-jsonc"; import globals from "globals"; @@ -20,9 +21,7 @@ export default tseslint.config( globals: { ...globals.node }, }, settings: { - "import-x/resolver": { - typescript: { project: "./tsconfig.eslint.json" }, - }, + "import-x/resolver-next": [createTypeScriptImportResolver({ project: "./tsconfig.eslint.json" })], }, }, From 785840a44de4a275628e9359bfb0a3d5a56903e9 Mon Sep 17 00:00:00 2001 From: Richmond Rice Date: Mon, 18 May 2026 13:18:10 +0100 Subject: [PATCH 27/36] flat config --- eslint.config.ts | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/eslint.config.ts b/eslint.config.ts index 002e2cb..6edd039 100644 --- a/eslint.config.ts +++ b/eslint.config.ts @@ -21,7 +21,9 @@ export default tseslint.config( globals: { ...globals.node }, }, settings: { - "import-x/resolver-next": [createTypeScriptImportResolver({ project: "./tsconfig.eslint.json" })], + "import-x/resolver-next": [ + createTypeScriptImportResolver({ project: "./tsconfig.eslint.json" }), + ], }, }, From 5ea9e0c692714179b8ce2ce467a3cbfc3ab21c4f Mon Sep 17 00:00:00 2001 From: Richmond Rice Date: Wed, 20 May 2026 20:38:30 +0100 Subject: [PATCH 28/36] code improvements --- README.md | 13 ++- package.json | 4 + src/blaiseApiClient.test.ts | 54 +++++++-- src/blaiseApiClient.ts | 47 ++++++-- src/index.ts | 12 -- src/mocks.ts | 11 ++ src/mocks/case.mock.ts | 12 +- src/mocks/daybatch.mock.ts | 22 ++-- src/mocks/diagnostic.mock.ts | 4 +- src/mocks/questionnaire.mock.ts | 20 ++-- src/mocks/questionnaireReport.mock.ts | 4 +- src/mocks/user.mock.ts | 12 +- src/requestPath.ts | 32 +++++ src/resources/case.test.ts | 78 ++++++++----- src/resources/case.ts | 85 +++++++------- src/resources/daybatch.test.ts | 45 ++++---- src/resources/daybatch.ts | 38 +++--- src/resources/diagnostic.test.ts | 9 +- src/resources/diagnostic.ts | 4 +- src/resources/questionnaire.test.ts | 135 ++++++++++++++-------- src/resources/questionnaire.ts | 87 +++++++------- src/resources/questionnaireReport.test.ts | 33 +++++- src/resources/questionnaireReport.ts | 10 +- src/resources/user.test.ts | 28 ++++- src/resources/user.ts | 26 +++-- src/types/blaiseApi.types.ts | 104 ++++++++++++++++- src/types/blaiseApiConfig.types.ts | 4 +- src/types/case.types.ts | 2 +- src/types/common.types.ts | 4 +- src/types/daybatch.types.ts | 8 +- src/types/questionnaire.types.ts | 57 ++++----- src/types/questionnaireReport.types.ts | 6 +- src/types/survey.types.ts | 4 +- tsconfig.json | 2 +- vitest.config.ts | 1 - 35 files changed, 670 insertions(+), 347 deletions(-) create mode 100644 src/mocks.ts create mode 100644 src/requestPath.ts diff --git a/README.md b/README.md index 29c09f1..386f956 100644 --- a/README.md +++ b/README.md @@ -20,11 +20,16 @@ The client is designed for dependency injection. It exposes strongly-typed metho import { BlaiseApiClient } from "blaise-api-node-client"; // Initialise the client with the Base URL of your Blaise REST API -const BLAISE_API_URL = process.env.BLAISE_API_URL || ""; -const TIMEOUT_MS = 1000; +const BLAISE_API_URL = process.env.BLAISE_API_URL; + +if (!BLAISE_API_URL) { + throw new Error("BLAISE_API_URL is required"); +} + +const TIMEOUT_MS = 10_000; // The client accepts a configuration object for extended settings -const blaiseApiClient = new BlaiseApiClient(`http://${BLAISE_API_URL}`, { +const blaiseApiClient = new BlaiseApiClient(BLAISE_API_URL, { timeoutInMs: TIMEOUT_MS, }); @@ -45,7 +50,7 @@ export async function fetchQuestionnaires() { To support local testing and ensure your mock data stays in sync with production contracts, the library exports validated mock objects. These are defined using readonly modifiers to prevent state pollution between tests. ```typescript -import { mockQuestionnaires } from "blaise-api-node-client"; +import { mockQuestionnaires } from "blaise-api-node-client/mocks"; console.log(mockQuestionnaires[0].name); ``` diff --git a/package.json b/package.json index 3de287c..c036e40 100644 --- a/package.json +++ b/package.json @@ -17,6 +17,10 @@ "types": "./dist/index.d.ts", "import": "./dist/index.js" }, + "./mocks": { + "types": "./dist/mocks.d.ts", + "import": "./dist/mocks.js" + }, "./package.json": "./package.json" }, "files": [ diff --git a/src/blaiseApiClient.test.ts b/src/blaiseApiClient.test.ts index a2855a5..11cddc3 100644 --- a/src/blaiseApiClient.test.ts +++ b/src/blaiseApiClient.test.ts @@ -7,6 +7,18 @@ class TestBlaiseApiClient extends BlaiseApiClient { public async testGet(url: string) { return this.get(url); } + + public createMockAdapter() { + return new MockAdapter(this.httpClient, { onNoMatch: "throwException" }); + } + + public getIapProvider() { + return this.iapProvider; + } + + public getTimeoutInMs() { + return this.httpClient.defaults.timeout; + } } describe("BlaiseApiClient internal configuration", () => { @@ -20,10 +32,10 @@ describe("BlaiseApiClient internal configuration", () => { }); const getAuthHeaderSpy = vi - .spyOn(client.iapProvider!, "getAuthHeader") + .spyOn(client.getIapProvider()!, "getAuthHeader") .mockResolvedValue({ Authorization: "Bearer token" }); - const mock = new MockAdapter(client.httpClient, { onNoMatch: "throwException" }); + const mock = client.createMockAdapter(); mock.onGet("/test").reply(200); @@ -35,25 +47,49 @@ describe("BlaiseApiClient internal configuration", () => { it("does not inject auth headers when provider is missing", async () => { const client = new TestBlaiseApiClient("http://testUri"); - const mock = new MockAdapter(client.httpClient, { onNoMatch: "throwException" }); + const mock = client.createMockAdapter(); mock.onGet("/test").reply(200); await client.testGet("/test"); - expect(client.iapProvider).toBeUndefined(); + expect(client.getIapProvider()).toBeUndefined(); }); it("configures the http client with a timeout when provided", () => { const timeoutInMs = 5000; - const client = new BlaiseApiClient("http://testUri", { timeoutInMs }); + const client = new TestBlaiseApiClient("http://testUri", { timeoutInMs }); + + expect(client.getTimeoutInMs()).toBe(timeoutInMs); + }); - expect(client.httpClient.defaults.timeout).toBe(timeoutInMs); + it("uses a safe default timeout if not provided in config", () => { + const client = new TestBlaiseApiClient("http://testUri"); + + expect(client.getTimeoutInMs()).toBe(30_000); + }); + + it("allows explicitly disabling the timeout", () => { + const client = new TestBlaiseApiClient("http://testUri", { timeoutInMs: 0 }); + + expect(client.getTimeoutInMs()).toBe(0); + }); + + it("rejects an empty API URL", () => { + expect(() => new BlaiseApiClient(" ")).toThrow( + "blaiseApiUrl must be a non-empty absolute http(s) URL", + ); }); - it("does not set a timeout if not provided in config", () => { - const client = new BlaiseApiClient("http://testUri"); + it("rejects unsupported API URL protocols", () => { + expect(() => new BlaiseApiClient("ftp://testUri")).toThrow( + "blaiseApiUrl must use the http or https protocol", + ); + }); - expect(client.httpClient.defaults.timeout).toBe(0); + it("rejects invalid timeout values", () => { + expect(() => new BlaiseApiClient("http://testUri", { timeoutInMs: -1 })).toThrow( + "timeoutInMs must be a non-negative finite number", + ); }); }); diff --git a/src/blaiseApiClient.ts b/src/blaiseApiClient.ts index bd6aa4c..b24af2c 100644 --- a/src/blaiseApiClient.ts +++ b/src/blaiseApiClient.ts @@ -1,4 +1,4 @@ -import axios, { type AxiosInstance } from "axios"; +import axios, { AxiosHeaders, type AxiosInstance } from "axios"; import { IapProvider } from "blaise-iap-node-provider"; import * as cases from "./resources/case.js"; @@ -11,30 +11,60 @@ import * as users from "./resources/user.js"; import type { BlaiseApi } from "./types/blaiseApi.types.js"; import type { BlaiseApiConfig } from "./types/blaiseApiConfig.types.js"; +const DEFAULT_TIMEOUT_IN_MS = 30_000; + +const getApiUrl = (rawApiUrl: string): string => { + const apiUrl = rawApiUrl.trim(); + + if (apiUrl.length === 0) { + throw new TypeError("blaiseApiUrl must be a non-empty absolute http(s) URL"); + } + + const parsedApiUrl = new URL(apiUrl); + + if (parsedApiUrl.protocol !== "http:" && parsedApiUrl.protocol !== "https:") { + throw new TypeError("blaiseApiUrl must use the http or https protocol"); + } + + return apiUrl; +}; + +const getTimeoutInMs = (timeoutInMs?: number): number => { + if (timeoutInMs === undefined) { + return DEFAULT_TIMEOUT_IN_MS; + } + + if (!Number.isFinite(timeoutInMs) || timeoutInMs < 0) { + throw new TypeError("timeoutInMs must be a non-negative finite number"); + } + + return timeoutInMs; +}; + export class BlaiseApiClient implements BlaiseApi { - blaiseApiUrl: string; + protected readonly blaiseApiUrl: string; - iapProvider?: IapProvider; + protected readonly iapProvider?: IapProvider; - httpClient: AxiosInstance; + protected readonly httpClient: AxiosInstance; constructor(blaiseApiUrl: string, config?: BlaiseApiConfig) { - this.blaiseApiUrl = blaiseApiUrl; + this.blaiseApiUrl = getApiUrl(blaiseApiUrl); if (config?.blaiseApiClientId) { this.iapProvider = new IapProvider(config.blaiseApiClientId); } this.httpClient = axios.create({ - baseURL: blaiseApiUrl, - timeout: config?.timeoutInMs, + baseURL: this.blaiseApiUrl, + timeout: getTimeoutInMs(config?.timeoutInMs), }); this.httpClient.interceptors.request.use(async (requestConfig) => { if (this.iapProvider) { const authHeaders = await this.iapProvider.getAuthHeader(); - Object.assign(requestConfig.headers, authHeaders); + requestConfig.headers = AxiosHeaders.from({ ...requestConfig.headers, ...authHeaders }); } return requestConfig; @@ -76,7 +106,6 @@ export class BlaiseApiClient implements BlaiseApi { addCase = cases.addCase; updateCase = cases.updateCase; addCaseMultikey = cases.addCaseMultikey; - getMultikeyQueryString = cases.getMultikeyQueryString; getCaseStatus = cases.getCaseStatus; getCaseEditInformation = cases.getCaseEditInformation; diff --git a/src/index.ts b/src/index.ts index 192c45f..0154b89 100644 --- a/src/index.ts +++ b/src/index.ts @@ -25,15 +25,3 @@ export * from "./enums/caseOutcome.js"; export * from "./enums/editedStatus.js"; export * from "./enums/organisation.js"; - -export * from "./mocks/case.mock.js"; - -export * from "./mocks/diagnostic.mock.js"; - -export * from "./mocks/questionnaire.mock.js"; - -export * from "./mocks/user.mock.js"; - -export * from "./mocks/daybatch.mock.js"; - -export * from "./mocks/questionnaireReport.mock.js"; diff --git a/src/mocks.ts b/src/mocks.ts new file mode 100644 index 0000000..7472203 --- /dev/null +++ b/src/mocks.ts @@ -0,0 +1,11 @@ +export * from "./mocks/case.mock.js"; + +export * from "./mocks/daybatch.mock.js"; + +export * from "./mocks/diagnostic.mock.js"; + +export * from "./mocks/questionnaire.mock.js"; + +export * from "./mocks/questionnaireReport.mock.js"; + +export * from "./mocks/user.mock.js"; diff --git a/src/mocks/case.mock.ts b/src/mocks/case.mock.ts index 4a89110..898bf55 100644 --- a/src/mocks/case.mock.ts +++ b/src/mocks/case.mock.ts @@ -4,7 +4,7 @@ import { Organisation } from "../enums/organisation.js"; import type { CaseEditInformation, CaseResponse, CaseStatus } from "../types/case.types.js"; -export const mockCaseStatuses: CaseStatus[] = [ +export const mockCaseStatuses = [ { primaryKey: "1", outcome: CaseOutcome.Completed, @@ -17,9 +17,9 @@ export const mockCaseStatuses: CaseStatus[] = [ primaryKey: "3", outcome: CaseOutcome.None, }, -]; +] as const satisfies readonly CaseStatus[]; -export const mockCaseResponse: CaseResponse = { +export const mockCaseResponse = { caseId: "1", fieldData: { "qiD.Serial_Number": "1", @@ -38,9 +38,9 @@ export const mockCaseResponse: CaseResponse = { "dmDteOfBth[2]": "2005-04-12", dmhSize: "2", }, -}; +} as const satisfies CaseResponse; -export const mockCaseEditInformationRecords: CaseEditInformation[] = [ +export const mockCaseEditInformationRecords = [ { primaryKey: "100101", outcome: CaseOutcome.Completed, @@ -71,4 +71,4 @@ export const mockCaseEditInformationRecords: CaseEditInformation[] = [ editUrl: "", readOnlyUrl: "", }, -]; +] as const satisfies readonly CaseEditInformation[]; diff --git a/src/mocks/daybatch.mock.ts b/src/mocks/daybatch.mock.ts index 8bee8b6..c0f8f82 100644 --- a/src/mocks/daybatch.mock.ts +++ b/src/mocks/daybatch.mock.ts @@ -1,19 +1,19 @@ import type { DaybatchResponse, DaybatchSettings } from "../types/daybatch.types.js"; -export const mockDaybatchCases: ReadonlyArray = [ - { - dayBatchDate: "2021-01-15T14:41:29.4399898+00:00", - caseIds: ["100101", "100102", "100103", "100104"], - }, -]; +export const mockDaybatch = { + dayBatchDate: "2021-01-15T14:41:29.4399898+00:00", + caseIds: ["100101", "100102", "100103", "100104"], +} as const satisfies DaybatchResponse; -export const mockAddDaybatchSettings: DaybatchSettings = { +export const mockAddDaybatchSettings = { dayBatchDate: "2021-01-15T14:41:29.4399898+00:00", checkForTreatedCases: true, -}; +} as const satisfies DaybatchSettings; -export const mockSurveyDays: ReadonlyArray = ["2021-01-15T14:41:29.4399898+00:00"]; +export const mockSurveyDays = [ + "2021-01-15T14:41:29.4399898+00:00", +] as const satisfies readonly string[]; -export const mockSurveyDayDates: ReadonlyArray = [ +export const mockSurveyDayDates = [ new Date("2021-01-15T14:41:29.4399898+00:00"), -]; +] as const satisfies readonly Date[]; diff --git a/src/mocks/diagnostic.mock.ts b/src/mocks/diagnostic.mock.ts index aa3631f..63c3a3d 100644 --- a/src/mocks/diagnostic.mock.ts +++ b/src/mocks/diagnostic.mock.ts @@ -1,8 +1,8 @@ import type { Diagnostic } from "../types/diagnostic.types.js"; -export const mockDiagnostics: readonly Diagnostic[] = [ +export const mockDiagnostics = [ { healthCheckType: "Connection model", status: "OK" }, { healthCheckType: "Blaise connection", status: "OK" }, { healthCheckType: "Remote data server connection", status: "OK" }, { healthCheckType: "Remote Cati management connection", status: "OK" }, -]; +] as const satisfies readonly Diagnostic[]; diff --git a/src/mocks/questionnaire.mock.ts b/src/mocks/questionnaire.mock.ts index e7b22a3..817fff1 100644 --- a/src/mocks/questionnaire.mock.ts +++ b/src/mocks/questionnaire.mock.ts @@ -5,7 +5,7 @@ import type { QuestionnaireSettings, } from "../types/questionnaire.types.js"; -export const mockQuestionnaires: readonly Questionnaire[] = [ +export const mockQuestionnaires = [ { name: "OPN2101A", serverParkName: "gusty", @@ -33,9 +33,9 @@ export const mockQuestionnaires: readonly Questionnaire[] = [ hasData: false, active: false, }, -]; +] as const satisfies readonly Questionnaire[]; -export const mockQuestionnaire: Questionnaire = { +export const mockQuestionnaire = { name: "OPN2101A", serverParkName: "gusty", installDate: "2021-01-15T14:41:29.4399898+00:00", @@ -44,17 +44,17 @@ export const mockQuestionnaire: Questionnaire = { hasData: false, active: false, blaiseVersion: "5.9.9.2735", -}; +} as const satisfies Questionnaire; -export const mockInstallQuestionnaire: InstallQuestionnaire = { +export const mockInstallQuestionnaire = { questionnaireFile: "OPN2004A.bpkg", -}; +} as const satisfies InstallQuestionnaire; -export const mockInstallQuestionnaireResponse: InstallQuestionnaireResponse = { +export const mockInstallQuestionnaireResponse = { questionnaireFile: "OPN2004A.bpkg", -}; +} as const satisfies InstallQuestionnaireResponse; -export const mockQuestionnaireSettings: readonly QuestionnaireSettings[] = [ +export const mockQuestionnaireSettings = [ { type: "StrictInterviewing", saveSessionOnTimeout: true, @@ -64,4 +64,4 @@ export const mockQuestionnaireSettings: readonly QuestionnaireSettings[] = [ sessionTimeout: 15, applyRecordLocking: true, }, -]; +] as const satisfies readonly QuestionnaireSettings[]; diff --git a/src/mocks/questionnaireReport.mock.ts b/src/mocks/questionnaireReport.mock.ts index 4924b7f..c7fe629 100644 --- a/src/mocks/questionnaireReport.mock.ts +++ b/src/mocks/questionnaireReport.mock.ts @@ -2,7 +2,7 @@ import { CaseOutcome } from "../enums/caseOutcome.js"; import type { QuestionnaireReport } from "../types/questionnaireReport.types.js"; -export const mockQuestionnaireReport: QuestionnaireReport = { +export const mockQuestionnaireReport = { questionnaireName: "FRS2211A", questionnaireId: "00000000-0000-0000-0000-000000000000", reportingData: [ @@ -15,4 +15,4 @@ export const mockQuestionnaireReport: QuestionnaireReport = { "qhAdmin.HOut": CaseOutcome.Completed, }, ], -}; +} as const satisfies QuestionnaireReport; diff --git a/src/mocks/user.mock.ts b/src/mocks/user.mock.ts index 4545290..4146aba 100644 --- a/src/mocks/user.mock.ts +++ b/src/mocks/user.mock.ts @@ -1,17 +1,9 @@ import type { NewUser } from "../types/user.types.js"; -export const mockNewUser: NewUser = { +export const mockNewUser = { password: "somethingVerySecure", name: "Beyonce", role: "DST", serverParks: ["gusty"], defaultServerPark: "gusty", -}; - -export const mockNewUserResponse: NewUser = { - password: "somethingVerySecure", - name: "Beyonce", - role: "DST", - serverParks: ["gusty"], - defaultServerPark: "gusty", -}; +} as const satisfies NewUser; diff --git a/src/requestPath.ts b/src/requestPath.ts new file mode 100644 index 0000000..1fa7600 --- /dev/null +++ b/src/requestPath.ts @@ -0,0 +1,32 @@ +export const encodePathSegment = (value: string): string => encodeURIComponent(value); + +export const getServerParkQuestionnairesPath = (serverPark: string): string => + `api/v2/serverparks/${encodePathSegment(serverPark)}/questionnaires`; + +export const getServerParkQuestionnairePath = ( + serverPark: string, + questionnaireName: string, +): string => + `${getServerParkQuestionnairesPath(serverPark)}/${encodePathSegment(questionnaireName)}`; + +export const getCatiServerParkQuestionnairesPath = (serverPark: string): string => + `api/v2/cati/serverparks/${encodePathSegment(serverPark)}/questionnaires`; + +export const getCatiServerParkQuestionnairePath = ( + serverPark: string, + questionnaireName: string, +): string => + `${getCatiServerParkQuestionnairesPath(serverPark)}/${encodePathSegment(questionnaireName)}`; + +export const buildRepeatedQueryString = ( + parameterName: string, + values: Iterable, +): string => { + const queryParams = new URLSearchParams(); + + for (const value of values) { + queryParams.append(parameterName, value); + } + + return queryParams.toString(); +}; diff --git a/src/resources/case.test.ts b/src/resources/case.test.ts index bc6a4b2..c177bcf 100644 --- a/src/resources/case.test.ts +++ b/src/resources/case.test.ts @@ -1,25 +1,31 @@ -import axios from "axios"; import MockAdapter from "axios-mock-adapter"; import { afterEach, beforeEach, describe, expect, it } from "vitest"; import { BlaiseApiClient } from "../blaiseApiClient.js"; import { mockCaseEditInformationRecords, mockCaseStatuses } from "../mocks/case.mock.js"; -const mock = new MockAdapter(axios, { onNoMatch: "throwException" }); +class TestBlaiseApiClient extends BlaiseApiClient { + readonly mock = new MockAdapter(this.httpClient, { onNoMatch: "throwException" }); +} + const blaiseApiUrl = "testUri"; -const blaiseApiClient = new BlaiseApiClient(`http://${blaiseApiUrl}`); +const blaiseApiClient = new TestBlaiseApiClient(`http://${blaiseApiUrl}`); +const { mock } = blaiseApiClient; + +const multikeyQueryString = "keyNames=key1&keyNames=key2&keyValues=value1&keyValues=value2"; describe("blaiseApiClient case functions", () => { describe("get case", () => { - const serverpark = "test"; + const serverPark = "test"; const questionnaireName = "dst2108t"; const caseId = "100101;"; + const encodedCaseId = encodeURIComponent(caseId); beforeEach(() => { mock .onGet( - `/api/v2/serverparks/${serverpark}/questionnaires/${questionnaireName}/cases/${caseId}`, + `/api/v2/serverparks/${serverPark}/questionnaires/${questionnaireName}/cases/${encodedCaseId}`, ) .reply(200, { caseId, @@ -32,26 +38,25 @@ describe("blaiseApiClient case functions", () => { }); it("returns a case", async () => { - const caseResponse = await blaiseApiClient.getCase(serverpark, questionnaireName, caseId); + const caseResponse = await blaiseApiClient.getCase(serverPark, questionnaireName, caseId); expect(caseResponse.caseId).toEqual(caseId); }); }); describe("get case multikey", () => { - const serverpark = "test"; + const serverPark = "test"; const questionnaireName = "dst2108t"; const caseId = "100101;"; const keyValueMap = new Map([ ["key1", "value1"], ["key2", "value2"], ]); - const queryString = blaiseApiClient.getMultikeyQueryString(keyValueMap); beforeEach(() => { mock .onGet( - `/api/v2/serverparks/${serverpark}/questionnaires/${questionnaireName}/cases/multikey?${queryString}`, + `/api/v2/serverparks/${serverPark}/questionnaires/${questionnaireName}/cases/multikey?${multikeyQueryString}`, ) .reply(200, { caseId, fieldData: {} }); }); @@ -62,24 +67,45 @@ describe("blaiseApiClient case functions", () => { it("returns a case", async () => { const caseResponse = await blaiseApiClient.getCaseMultikey( - serverpark, + serverPark, questionnaireName, keyValueMap, ); expect(caseResponse.caseId).toEqual(caseId); }); + + it("encodes reserved characters in multikey query values", async () => { + const reservedCharactersKeyValueMap = new Map([ + ["serial/id", "name=value&two"], + ]); + + mock + .onGet( + `/api/v2/serverparks/${serverPark}/questionnaires/${questionnaireName}/cases/multikey?keyNames=serial%2Fid&keyValues=name%3Dvalue%26two`, + ) + .reply(200, { caseId, fieldData: {} }); + + const caseResponse = await blaiseApiClient.getCaseMultikey( + serverPark, + questionnaireName, + reservedCharactersKeyValueMap, + ); + + expect(caseResponse.caseId).toEqual(caseId); + }); }); describe("add case", () => { - const serverpark = "test"; + const serverPark = "test"; const questionnaireName = "dst2108t"; const caseId = "100101;"; + const encodedCaseId = encodeURIComponent(caseId); beforeEach(() => { mock .onPost( - `/api/v2/serverparks/${serverpark}/questionnaires/${questionnaireName}/cases/${caseId}`, + `/api/v2/serverparks/${serverPark}/questionnaires/${questionnaireName}/cases/${encodedCaseId}`, ) .reply(200, { caseId, fieldData: {} }); }); @@ -89,21 +115,22 @@ describe("blaiseApiClient case functions", () => { }); it("adds a case", async () => { - const caseResponse = await blaiseApiClient.addCase(serverpark, questionnaireName, caseId, {}); + const caseResponse = await blaiseApiClient.addCase(serverPark, questionnaireName, caseId, {}); expect(caseResponse.caseId).toEqual(caseId); }); }); describe("update case", () => { - const serverpark = "test"; + const serverPark = "test"; const questionnaireName = "dst2108t"; const caseId = "100101;"; + const encodedCaseId = encodeURIComponent(caseId); beforeEach(() => { mock .onPatch( - `/api/v2/serverparks/${serverpark}/questionnaires/${questionnaireName}/cases/${caseId}`, + `/api/v2/serverparks/${serverPark}/questionnaires/${questionnaireName}/cases/${encodedCaseId}`, ) .reply(204, null); }); @@ -113,26 +140,25 @@ describe("blaiseApiClient case functions", () => { }); it("updates a case", async () => { - const result = await blaiseApiClient.updateCase(serverpark, questionnaireName, caseId, {}); + const result = await blaiseApiClient.updateCase(serverPark, questionnaireName, caseId, {}); expect(result).toBeNull(); }); }); describe("add case multikey", () => { - const serverpark = "test"; + const serverPark = "test"; const questionnaireName = "dst2108t"; const caseId = "100101;"; const keyValueMap = new Map([ ["key1", "value1"], ["key2", "value2"], ]); - const queryString = blaiseApiClient.getMultikeyQueryString(keyValueMap); beforeEach(() => { mock .onPost( - `/api/v2/serverparks/${serverpark}/questionnaires/${questionnaireName}/cases/multikey?${queryString}`, + `/api/v2/serverparks/${serverPark}/questionnaires/${questionnaireName}/cases/multikey?${multikeyQueryString}`, ) .reply(200, { caseId, fieldData: {} }); }); @@ -143,7 +169,7 @@ describe("blaiseApiClient case functions", () => { it("adds a case with multiple keys", async () => { const caseResponse = await blaiseApiClient.addCaseMultikey( - serverpark, + serverPark, questionnaireName, keyValueMap, {}, @@ -154,12 +180,12 @@ describe("blaiseApiClient case functions", () => { }); describe("get cases status", () => { - const serverpark = "test"; + const serverPark = "test"; const questionnaireName = "dst2108t"; beforeEach(() => { mock - .onGet(`/api/v2/serverparks/${serverpark}/questionnaires/${questionnaireName}/cases/status`) + .onGet(`/api/v2/serverparks/${serverPark}/questionnaires/${questionnaireName}/cases/status`) .reply(200, mockCaseStatuses); }); @@ -168,19 +194,19 @@ describe("blaiseApiClient case functions", () => { }); it("gets all cases and outcome codes", async () => { - const result = await blaiseApiClient.getCaseStatus(serverpark, questionnaireName); + const result = await blaiseApiClient.getCaseStatus(serverPark, questionnaireName); expect(result).toEqual(mockCaseStatuses); }); }); describe("get case edit information", () => { - const serverpark = "test"; + const serverPark = "test"; const questionnaireName = "FRS2108A"; beforeEach(() => { mock - .onGet(`/api/v2/serverparks/${serverpark}/questionnaires/${questionnaireName}/cases/edit`) + .onGet(`/api/v2/serverparks/${serverPark}/questionnaires/${questionnaireName}/cases/edit`) .reply(200, mockCaseEditInformationRecords); }); @@ -189,7 +215,7 @@ describe("blaiseApiClient case functions", () => { }); it("returns editing details for a case", async () => { - const response = await blaiseApiClient.getCaseEditInformation(serverpark, questionnaireName); + const response = await blaiseApiClient.getCaseEditInformation(serverPark, questionnaireName); expect(response).toEqual(mockCaseEditInformationRecords); }); diff --git a/src/resources/case.ts b/src/resources/case.ts index d262d61..50ab703 100644 --- a/src/resources/case.ts +++ b/src/resources/case.ts @@ -1,96 +1,95 @@ +import { + buildRepeatedQueryString, + encodePathSegment, + getServerParkQuestionnairePath, +} from "../requestPath.js"; + import type { BlaiseApiClient } from "../blaiseApiClient.js"; import type { CaseEditInformation, CaseResponse, CaseStatus } from "../types/case.types.js"; import type { JSONValue } from "../types/common.types.js"; +const getCasesPath = (serverPark: string, questionnaireName: string): string => + `${getServerParkQuestionnairePath(serverPark, questionnaireName)}/cases`; + +const getCasePath = (serverPark: string, questionnaireName: string, caseId: string): string => + `${getCasesPath(serverPark, questionnaireName)}/${encodePathSegment(caseId)}`; + +const getMultikeyQueryString = (multiKeyValueMap: ReadonlyMap): string => { + const queryParts = [ + buildRepeatedQueryString("keyNames", multiKeyValueMap.keys()), + buildRepeatedQueryString("keyValues", multiKeyValueMap.values()), + ]; + + return queryParts.filter((queryPart) => queryPart.length > 0).join("&"); +}; + export async function getCase( this: BlaiseApiClient, - serverpark: string, + serverPark: string, questionnaireName: string, caseId: string, ): Promise { - return this.get( - `api/v2/serverparks/${serverpark}/questionnaires/${questionnaireName}/cases/${caseId}`, - ); -} - -export function getMultikeyQueryString(multiKeyValueMap: Map) { - const keyNamesQueryString = `keyNames=${Array.from(multiKeyValueMap.keys()).join("&keyNames=")}`; - const keyValuesQueryString = `keyValues=${Array.from(multiKeyValueMap.values()).join("&keyValues=")}`; - const keyValueQueryString = `${keyNamesQueryString}&${keyValuesQueryString}`; - - return keyValueQueryString; + return this.get(getCasePath(serverPark, questionnaireName, caseId)); } export async function getCaseMultikey( this: BlaiseApiClient, - serverpark: string, + serverPark: string, questionnaireName: string, - multiKeyValueMap: Map, + multiKeyValueMap: ReadonlyMap, ): Promise { const queryString = getMultikeyQueryString(multiKeyValueMap); - return this.get( - `api/v2/serverparks/${serverpark}/questionnaires/${questionnaireName}/cases/multikey?${queryString}`, - ); + return this.get(`${getCasesPath(serverPark, questionnaireName)}/multikey?${queryString}`); } export async function addCase( this: BlaiseApiClient, - serverpark: string, + serverPark: string, questionnaireName: string, caseId: string, - caseFields: Record, + caseFields: Readonly>, ): Promise { - return this.post( - `api/v2/serverparks/${serverpark}/questionnaires/${questionnaireName}/cases/${caseId}`, - caseFields, - ); + return this.post(getCasePath(serverPark, questionnaireName, caseId), caseFields); } export async function updateCase( this: BlaiseApiClient, - serverpark: string, + serverPark: string, questionnaireName: string, caseId: string, - caseFields: Record, + caseFields: Readonly>, ): Promise { - return this.patch( - `api/v2/serverparks/${serverpark}/questionnaires/${questionnaireName}/cases/${caseId}`, - caseFields, - ); + return this.patch(getCasePath(serverPark, questionnaireName, caseId), caseFields); } export async function addCaseMultikey( this: BlaiseApiClient, - serverpark: string, + serverPark: string, questionnaireName: string, - multiKeyValueMap: Map, - caseFields: Record, + multiKeyValueMap: ReadonlyMap, + caseFields: Readonly>, ): Promise { const queryString = getMultikeyQueryString(multiKeyValueMap); return this.post( - `api/v2/serverparks/${serverpark}/questionnaires/${questionnaireName}/cases/multikey?${queryString}`, + `${getCasesPath(serverPark, questionnaireName)}/multikey?${queryString}`, caseFields, ); } export async function getCaseStatus( this: BlaiseApiClient, - serverpark: string, + serverPark: string, questionnaireName: string, -): Promise { - return this.get( - `api/v2/serverparks/${serverpark}/questionnaires/${questionnaireName}/cases/status`, - ); +): Promise { + return this.get(`${getCasesPath(serverPark, questionnaireName)}/status`); } export async function getCaseEditInformation( this: BlaiseApiClient, - serverpark: string, + serverPark: string, questionnaireName: string, -): Promise { - return this.get( - `api/v2/serverparks/${serverpark}/questionnaires/${questionnaireName}/cases/edit`, - ); +): Promise { + return this.get(`${getCasesPath(serverPark, questionnaireName)}/edit`); } diff --git a/src/resources/daybatch.test.ts b/src/resources/daybatch.test.ts index c9dce75..189ffc0 100644 --- a/src/resources/daybatch.test.ts +++ b/src/resources/daybatch.test.ts @@ -1,31 +1,34 @@ -import axios from "axios"; import MockAdapter from "axios-mock-adapter"; import { afterEach, beforeEach, describe, expect, it } from "vitest"; import { BlaiseApiClient } from "../blaiseApiClient.js"; import { mockAddDaybatchSettings, - mockDaybatchCases, + mockDaybatch, mockSurveyDayDates, mockSurveyDays, } from "../mocks/daybatch.mock.js"; -const mock = new MockAdapter(axios, { onNoMatch: "throwException" }); +class TestBlaiseApiClient extends BlaiseApiClient { + readonly mock = new MockAdapter(this.httpClient, { onNoMatch: "throwException" }); +} + const blaiseApiUrl = "testUri"; -const blaiseApiClient = new BlaiseApiClient(`http://${blaiseApiUrl}`); +const blaiseApiClient = new TestBlaiseApiClient(`http://${blaiseApiUrl}`); +const { mock } = blaiseApiClient; describe("blaiseApiClient daybatch functions", () => { const basePath = "api/v2/cati/serverparks"; describe("get daybatch", () => { - const serverpark = "test"; + const serverPark = "test"; const questionnaireName = "dst2108t"; beforeEach(() => { mock - .onGet(`${basePath}/${serverpark}/questionnaires/${questionnaireName}/daybatch`) - .reply(200, mockDaybatchCases); + .onGet(`${basePath}/${serverPark}/questionnaires/${questionnaireName}/daybatch`) + .reply(200, mockDaybatch); }); afterEach(() => { @@ -33,20 +36,20 @@ describe("blaiseApiClient daybatch functions", () => { }); it("returns a list of case IDs in the current daybatch", async () => { - const daybatch = await blaiseApiClient.getDaybatch(serverpark, questionnaireName); + const daybatch = await blaiseApiClient.getDaybatch(serverPark, questionnaireName); - expect(daybatch).toEqual(mockDaybatchCases); + expect(daybatch).toEqual(mockDaybatch); }); }); describe("add daybatch", () => { - const serverpark = "test"; + const serverPark = "test"; const questionnaireName = "dst2108t"; beforeEach(() => { mock - .onPost(`${basePath}/${serverpark}/questionnaires/${questionnaireName}/daybatch`) - .reply(201, mockDaybatchCases); + .onPost(`${basePath}/${serverPark}/questionnaires/${questionnaireName}/daybatch`) + .reply(201, mockDaybatch); }); afterEach(() => { @@ -55,22 +58,22 @@ describe("blaiseApiClient daybatch functions", () => { it("installs a questionnaire and returns the questionnaire file", async () => { const daybatch = await blaiseApiClient.addDaybatch( - serverpark, + serverPark, questionnaireName, mockAddDaybatchSettings, ); - expect(daybatch).toEqual(mockDaybatchCases); + expect(daybatch).toEqual(mockDaybatch); }); }); describe("get survey days", () => { - const serverpark = "test"; + const serverPark = "test"; const questionnaireName = "dst2108t"; beforeEach(() => { mock - .onGet(`${basePath}/${serverpark}/questionnaires/${questionnaireName}/surveydays`) + .onGet(`${basePath}/${serverPark}/questionnaires/${questionnaireName}/surveydays`) .reply(200, mockSurveyDays); }); @@ -79,19 +82,19 @@ describe("blaiseApiClient daybatch functions", () => { }); it("returns a list of surveydays", async () => { - const surveyDays = await blaiseApiClient.getSurveyDays(serverpark, questionnaireName); + const surveyDays = await blaiseApiClient.getSurveyDays(serverPark, questionnaireName); expect(surveyDays).toEqual(mockSurveyDays); }); }); describe("add survey days", () => { - const serverpark = "test"; + const serverPark = "test"; const questionnaireName = "dst2108t"; beforeEach(() => { mock - .onPost(`${basePath}/${serverpark}/questionnaires/${questionnaireName}/surveydays`) + .onPost(`${basePath}/${serverPark}/questionnaires/${questionnaireName}/surveydays`) .reply(201, mockSurveyDays); }); @@ -101,7 +104,7 @@ describe("blaiseApiClient daybatch functions", () => { it("adds surveydays by strings", async () => { const surveyDays = await blaiseApiClient.addSurveyDays( - serverpark, + serverPark, questionnaireName, mockSurveyDays, ); @@ -111,7 +114,7 @@ describe("blaiseApiClient daybatch functions", () => { it("adds surveydays by dates", async () => { const surveyDays = await blaiseApiClient.addSurveyDays( - serverpark, + serverPark, questionnaireName, mockSurveyDayDates, ); diff --git a/src/resources/daybatch.ts b/src/resources/daybatch.ts index 1ab8354..5f0f382 100644 --- a/src/resources/daybatch.ts +++ b/src/resources/daybatch.ts @@ -1,51 +1,49 @@ +import { getCatiServerParkQuestionnairePath } from "../requestPath.js"; + import type { BlaiseApiClient } from "../blaiseApiClient.js"; import type { DaybatchResponse, DaybatchSettings } from "../types/daybatch.types.js"; const formatDate = (date: string | Date): string => date instanceof Date ? date.toISOString() : date; +const getDaybatchPath = (serverPark: string, questionnaireName: string): string => + `${getCatiServerParkQuestionnairePath(serverPark, questionnaireName)}/daybatch`; + +const getSurveyDaysPath = (serverPark: string, questionnaireName: string): string => + `${getCatiServerParkQuestionnairePath(serverPark, questionnaireName)}/surveydays`; + export async function getDaybatch( this: BlaiseApiClient, - serverpark: string, + serverPark: string, questionnaireName: string, ): Promise { - return this.get( - `api/v2/cati/serverparks/${serverpark}/questionnaires/${questionnaireName}/daybatch`, - ); + return this.get(getDaybatchPath(serverPark, questionnaireName)); } export async function addDaybatch( this: BlaiseApiClient, - serverpark: string, + serverPark: string, questionnaireName: string, daybatchSettings: DaybatchSettings, ): Promise { - return this.post( - `api/v2/cati/serverparks/${serverpark}/questionnaires/${questionnaireName}/daybatch`, - daybatchSettings, - ); + return this.post(getDaybatchPath(serverPark, questionnaireName), daybatchSettings); } export async function getSurveyDays( this: BlaiseApiClient, - serverpark: string, + serverPark: string, questionnaireName: string, -): Promise { - return this.get( - `api/v2/cati/serverparks/${serverpark}/questionnaires/${questionnaireName}/surveydays`, - ); +): Promise { + return this.get(getSurveyDaysPath(serverPark, questionnaireName)); } export async function addSurveyDays( this: BlaiseApiClient, - serverpark: string, + serverPark: string, questionnaireName: string, surveyDays: ReadonlyArray, -): Promise { +): Promise { const formattedSurveyDays = surveyDays.map(formatDate); - return this.post( - `api/v2/cati/serverparks/${serverpark}/questionnaires/${questionnaireName}/surveydays`, - formattedSurveyDays, - ); + return this.post(getSurveyDaysPath(serverPark, questionnaireName), formattedSurveyDays); } diff --git a/src/resources/diagnostic.test.ts b/src/resources/diagnostic.test.ts index d30c342..cbc1f1a 100644 --- a/src/resources/diagnostic.test.ts +++ b/src/resources/diagnostic.test.ts @@ -1,14 +1,17 @@ -import axios from "axios"; import MockAdapter from "axios-mock-adapter"; import { afterAll, beforeAll, describe, expect, it } from "vitest"; import { BlaiseApiClient } from "../blaiseApiClient.js"; import { mockDiagnostics } from "../mocks/diagnostic.mock.js"; -const mock = new MockAdapter(axios, { onNoMatch: "throwException" }); +class TestBlaiseApiClient extends BlaiseApiClient { + readonly mock = new MockAdapter(this.httpClient, { onNoMatch: "throwException" }); +} + const blaiseApiUrl = "testUri"; -const blaiseApiClient = new BlaiseApiClient(`http://${blaiseApiUrl}`); +const blaiseApiClient = new TestBlaiseApiClient(`http://${blaiseApiUrl}`); +const { mock } = blaiseApiClient; describe("BlaiseRestapiClient diagnostic functions", () => { describe("get health Check from API", () => { diff --git a/src/resources/diagnostic.ts b/src/resources/diagnostic.ts index 0d394fc..f46b5ca 100644 --- a/src/resources/diagnostic.ts +++ b/src/resources/diagnostic.ts @@ -1,6 +1,6 @@ import type { BlaiseApiClient } from "../blaiseApiClient.js"; import type { Diagnostic } from "../types/diagnostic.types.js"; -export async function getDiagnostics(this: BlaiseApiClient): Promise { - return this.get("api/v2/health/diagnosis"); +export async function getDiagnostics(this: BlaiseApiClient): Promise { + return this.get("api/v2/health/diagnosis"); } diff --git a/src/resources/questionnaire.test.ts b/src/resources/questionnaire.test.ts index e73b600..c47df18 100644 --- a/src/resources/questionnaire.test.ts +++ b/src/resources/questionnaire.test.ts @@ -1,4 +1,3 @@ -import axios from "axios"; import MockAdapter from "axios-mock-adapter"; import { afterEach, describe, expect, it } from "vitest"; @@ -11,8 +10,12 @@ import { mockQuestionnaireSettings, } from "../mocks/questionnaire.mock.js"; -const mock = new MockAdapter(axios, { onNoMatch: "throwException" }); -const blaiseApiClient = new BlaiseApiClient("http://testUri"); +class TestBlaiseApiClient extends BlaiseApiClient { + readonly mock = new MockAdapter(this.httpClient, { onNoMatch: "throwException" }); +} + +const blaiseApiClient = new TestBlaiseApiClient("http://testUri"); +const { mock } = blaiseApiClient; describe("blaiseApiClient questionnaire functions", () => { afterEach(() => { @@ -29,27 +32,27 @@ describe("blaiseApiClient questionnaire functions", () => { }); describe("get questionnaires with Cati data", () => { - const serverpark = "test"; + const serverPark = "test"; it("returns a list of all questionnaires including CATI data within a serverpark", async () => { mock - .onGet(`api/v2/cati/serverparks/${serverpark}/questionnaires`) + .onGet(`api/v2/cati/serverparks/${serverPark}/questionnaires`) .reply(200, mockQuestionnaires); - const questionnaires = await blaiseApiClient.getQuestionnairesWithCatiData(serverpark); + const questionnaires = await blaiseApiClient.getQuestionnairesWithCatiData(serverPark); expect(questionnaires).toEqual(mockQuestionnaires); }); }); describe("get questionnaire with Cati data", () => { - const serverpark = "test"; + const serverPark = "test"; it("returns an questionnaire including CATI data", async () => { mock - .onGet(`api/v2/cati/serverparks/${serverpark}/questionnaires/${mockQuestionnaire.name}`) + .onGet(`api/v2/cati/serverparks/${serverPark}/questionnaires/${mockQuestionnaire.name}`) .reply(200, mockQuestionnaire); const questionnaire = await blaiseApiClient.getQuestionnaireWithCatiData( - serverpark, + serverPark, mockQuestionnaire.name, ); @@ -58,25 +61,25 @@ describe("blaiseApiClient questionnaire functions", () => { }); describe("get questionnaires", () => { - const serverpark = "test"; + const serverPark = "test"; it("returns a list of questionnaires in a serverpark", async () => { - mock.onGet(`api/v2/serverparks/${serverpark}/questionnaires`).reply(200, mockQuestionnaires); - const questionnaires = await blaiseApiClient.getQuestionnaires(serverpark); + mock.onGet(`api/v2/serverparks/${serverPark}/questionnaires`).reply(200, mockQuestionnaires); + const questionnaires = await blaiseApiClient.getQuestionnaires(serverPark); expect(questionnaires).toEqual(mockQuestionnaires); }); }); describe("get questionnaire", () => { - const serverpark = "test"; + const serverPark = "test"; it("returns a questionnaire", async () => { mock - .onGet(`api/v2/serverparks/${serverpark}/questionnaires/${mockQuestionnaire.name}`) + .onGet(`api/v2/serverparks/${serverPark}/questionnaires/${mockQuestionnaire.name}`) .reply(200, mockQuestionnaire); const questionnaire = await blaiseApiClient.getQuestionnaire( - serverpark, + serverPark, mockQuestionnaire.name, ); @@ -85,15 +88,15 @@ describe("blaiseApiClient questionnaire functions", () => { }); describe("get whether questionnaire exists", () => { - const serverpark = "test"; + const serverPark = "test"; const questionnaireInstalled = "OPN2101A"; const questionnaireNotInstalled = "OPN2102B"; it("returns true if it exists", async () => { mock - .onGet(`api/v2/serverparks/${serverpark}/questionnaires/${questionnaireInstalled}/exists`) + .onGet(`api/v2/serverparks/${serverPark}/questionnaires/${questionnaireInstalled}/exists`) .reply(200, true); - const exists = await blaiseApiClient.questionnaireExists(serverpark, questionnaireInstalled); + const exists = await blaiseApiClient.questionnaireExists(serverPark, questionnaireInstalled); expect(exists).toEqual(true); }); @@ -101,11 +104,11 @@ describe("blaiseApiClient questionnaire functions", () => { it("returns false if it does not exist", async () => { mock .onGet( - `api/v2/serverparks/${serverpark}/questionnaires/${questionnaireNotInstalled}/exists`, + `api/v2/serverparks/${serverPark}/questionnaires/${questionnaireNotInstalled}/exists`, ) .reply(200, false); const exists = await blaiseApiClient.questionnaireExists( - serverpark, + serverPark, questionnaireNotInstalled, ); @@ -114,18 +117,18 @@ describe("blaiseApiClient questionnaire functions", () => { }); describe("get whether questionnaire has mode", () => { - const serverpark = "test"; + const serverPark = "test"; const hasMode = "CATI"; const doesntHaveMode = "WEB"; it("returns true if questionnaire has mode", async () => { mock .onGet( - `api/v2/serverparks/${serverpark}/questionnaires/${mockQuestionnaire.name}/modes/${hasMode}`, + `api/v2/serverparks/${serverPark}/questionnaires/${mockQuestionnaire.name}/modes/${hasMode}`, ) .reply(200, true); const exists = await blaiseApiClient.doesQuestionnaireHaveMode( - serverpark, + serverPark, mockQuestionnaire.name, hasMode, ); @@ -136,28 +139,47 @@ describe("blaiseApiClient questionnaire functions", () => { it("returns false if questionnaire does not have mode", async () => { mock .onGet( - `api/v2/serverparks/${serverpark}/questionnaires/${mockQuestionnaire.name}/modes/${doesntHaveMode}`, + `api/v2/serverparks/${serverPark}/questionnaires/${mockQuestionnaire.name}/modes/${doesntHaveMode}`, ) .reply(200, false); const exists = await blaiseApiClient.doesQuestionnaireHaveMode( - serverpark, + serverPark, mockQuestionnaire.name, doesntHaveMode, ); expect(exists).toEqual(false); }); + + it("encodes reserved characters in mode values", async () => { + const questionnaireName = "OPN/2101A"; + const mode = "CATI/WEB?preview=true"; + + mock + .onGet( + `api/v2/serverparks/${serverPark}/questionnaires/${encodeURIComponent(questionnaireName)}/modes/${encodeURIComponent(mode)}`, + ) + .reply(200, true); + + const exists = await blaiseApiClient.doesQuestionnaireHaveMode( + serverPark, + questionnaireName, + mode, + ); + + expect(exists).toEqual(true); + }); }); describe("install questionnaire", () => { - const serverpark = "test"; + const serverPark = "test"; it("installs an questionnaire and returns the questionnaire file", async () => { mock - .onPost(`api/v2/serverparks/${serverpark}/questionnaires`) + .onPost(`api/v2/serverparks/${serverPark}/questionnaires`) .reply(201, mockInstallQuestionnaireResponse); const questionnaire = await blaiseApiClient.installQuestionnaire( - serverpark, + serverPark, mockInstallQuestionnaire, ); @@ -166,34 +188,55 @@ describe("blaiseApiClient questionnaire functions", () => { }); describe("delete questionnaire", () => { - const serverpark = "test"; + const serverPark = "test"; const questionnaireName = "OPN2004A"; it("deletes an questionnaire", async () => { mock .onDelete( - `api/v2/serverparks/${serverpark}/questionnaires/${questionnaireName}?name=${questionnaireName}`, + `api/v2/serverparks/${serverPark}/questionnaires/${questionnaireName}?name=${questionnaireName}`, + ) + .reply(204, null); + const result = await blaiseApiClient.deleteQuestionnaire(serverPark, questionnaireName); + + expect(result).toBeNull(); + }); + + it("encodes reserved characters in questionnaire names", async () => { + const reservedCharacterQuestionnaireName = "OPN/2004A?preview=true"; + const encodedQuestionnaireName = encodeURIComponent(reservedCharacterQuestionnaireName); + const encodedQueryString = new URLSearchParams({ + name: reservedCharacterQuestionnaireName, + }).toString(); + + mock + .onDelete( + `api/v2/serverparks/${serverPark}/questionnaires/${encodedQuestionnaireName}?${encodedQueryString}`, ) .reply(204, null); - const result = await blaiseApiClient.deleteQuestionnaire(serverpark, questionnaireName); + + const result = await blaiseApiClient.deleteQuestionnaire( + serverPark, + reservedCharacterQuestionnaireName, + ); expect(result).toBeNull(); }); }); describe("get a list of case ids for in questionnaire", () => { - const serverpark = "test"; + const serverPark = "test"; const questionnaireInstalled = "OPN2101A"; const expectedCaseIds = ["100002", "100003"]; it("returns expected list of ids", async () => { mock .onGet( - `api/v2/serverparks/${serverpark}/questionnaires/${questionnaireInstalled}/cases/ids`, + `api/v2/serverparks/${serverPark}/questionnaires/${questionnaireInstalled}/cases/ids`, ) .reply(200, expectedCaseIds); const caseIds = await blaiseApiClient.getQuestionnaireCaseIds( - serverpark, + serverPark, questionnaireInstalled, ); @@ -202,13 +245,13 @@ describe("blaiseApiClient questionnaire functions", () => { }); describe("get questionnaire modes", () => { - const serverpark = "test"; + const serverPark = "test"; it("returns list of modes for questionnaire", async () => { mock - .onGet(`api/v2/serverparks/${serverpark}/questionnaires/${mockQuestionnaire.name}/modes`) + .onGet(`api/v2/serverparks/${serverPark}/questionnaires/${mockQuestionnaire.name}/modes`) .reply(200, ["CATI", "CAWI"]); - const modes = await blaiseApiClient.getQuestionnaireModes(serverpark, mockQuestionnaire.name); + const modes = await blaiseApiClient.getQuestionnaireModes(serverPark, mockQuestionnaire.name); expect(modes).toContain("CATI"); expect(modes).toContain("CAWI"); @@ -216,14 +259,14 @@ describe("blaiseApiClient questionnaire functions", () => { }); describe("get questionnaire settings", () => { - const serverpark = "test"; + const serverPark = "test"; it("returns list of settings for questionnaire", async () => { mock - .onGet(`api/v2/serverparks/${serverpark}/questionnaires/${mockQuestionnaire.name}/settings`) + .onGet(`api/v2/serverparks/${serverPark}/questionnaires/${mockQuestionnaire.name}/settings`) .reply(200, mockQuestionnaireSettings); const settings = await blaiseApiClient.getQuestionnaireSettings( - serverpark, + serverPark, mockQuestionnaire.name, ); @@ -232,28 +275,28 @@ describe("blaiseApiClient questionnaire functions", () => { }); describe("activate questionnaire", () => { - const serverpark = "test"; + const serverPark = "test"; const questionnaireName = "dst2108t"; it("activates an questionnaire", async () => { mock - .onPatch(`api/v2/serverparks/${serverpark}/questionnaires/${questionnaireName}/activate`) + .onPatch(`api/v2/serverparks/${serverPark}/questionnaires/${questionnaireName}/activate`) .reply(204, null); - const result = await blaiseApiClient.activateQuestionnaire(serverpark, questionnaireName); + const result = await blaiseApiClient.activateQuestionnaire(serverPark, questionnaireName); expect(result).toBeNull(); }); }); describe("deactivate questionnaire", () => { - const serverpark = "test"; + const serverPark = "test"; const questionnaireName = "dst2108t"; it("deactivates an questionnaire", async () => { mock - .onPatch(`api/v2/serverparks/${serverpark}/questionnaires/${questionnaireName}/deactivate`) + .onPatch(`api/v2/serverparks/${serverPark}/questionnaires/${questionnaireName}/deactivate`) .reply(204, null); - const result = await blaiseApiClient.deactivateQuestionnaire(serverpark, questionnaireName); + const result = await blaiseApiClient.deactivateQuestionnaire(serverPark, questionnaireName); expect(result).toBeNull(); }); diff --git a/src/resources/questionnaire.ts b/src/resources/questionnaire.ts index e0a9568..ab0fab6 100644 --- a/src/resources/questionnaire.ts +++ b/src/resources/questionnaire.ts @@ -1,3 +1,11 @@ +import { + encodePathSegment, + getCatiServerParkQuestionnairePath, + getCatiServerParkQuestionnairesPath, + getServerParkQuestionnairePath, + getServerParkQuestionnairesPath, +} from "../requestPath.js"; + import type { BlaiseApiClient } from "../blaiseApiClient.js"; import type { InstallQuestionnaire, @@ -8,132 +16,131 @@ import type { export async function getAllQuestionnairesWithCatiData( this: BlaiseApiClient, -): Promise { - return this.get("api/v2/cati/questionnaires"); +): Promise { + return this.get("api/v2/cati/questionnaires"); } export async function getQuestionnairesWithCatiData( this: BlaiseApiClient, - serverpark: string, -): Promise { - return this.get(`api/v2/cati/serverparks/${serverpark}/questionnaires`); + serverPark: string, +): Promise { + return this.get(getCatiServerParkQuestionnairesPath(serverPark)); } export async function getQuestionnaireWithCatiData( this: BlaiseApiClient, - serverpark: string, + serverPark: string, questionnaireName: string, ): Promise { - return this.get( - `api/v2/cati/serverparks/${serverpark}/questionnaires/${questionnaireName}`, - ); + return this.get(getCatiServerParkQuestionnairePath(serverPark, questionnaireName)); } export async function getQuestionnaires( this: BlaiseApiClient, - serverpark: string, -): Promise { - return this.get(`api/v2/serverparks/${serverpark}/questionnaires`); + serverPark: string, +): Promise { + return this.get(getServerParkQuestionnairesPath(serverPark)); } export async function questionnaireExists( this: BlaiseApiClient, - serverpark: string, + serverPark: string, questionnaireName: string, ): Promise { return this.get( - `api/v2/serverparks/${serverpark}/questionnaires/${questionnaireName}/exists`, + `${getServerParkQuestionnairePath(serverPark, questionnaireName)}/exists`, ); } export async function doesQuestionnaireHaveMode( this: BlaiseApiClient, - serverpark: string, + serverPark: string, questionnaireName: string, mode: string, ): Promise { return this.get( - `api/v2/serverparks/${serverpark}/questionnaires/${questionnaireName}/modes/${mode}`, + `${getServerParkQuestionnairePath(serverPark, questionnaireName)}/modes/${encodePathSegment(mode)}`, ); } export async function getQuestionnaire( this: BlaiseApiClient, - serverpark: string, + serverPark: string, questionnaireName: string, ): Promise { - return this.get( - `api/v2/serverparks/${serverpark}/questionnaires/${questionnaireName}`, - ); + return this.get(getServerParkQuestionnairePath(serverPark, questionnaireName)); } export async function installQuestionnaire( this: BlaiseApiClient, - serverpark: string, + serverPark: string, questionnaire: InstallQuestionnaire, ): Promise { return this.post( - `api/v2/serverparks/${serverpark}/questionnaires`, + getServerParkQuestionnairesPath(serverPark), questionnaire, ); } export async function deleteQuestionnaire( this: BlaiseApiClient, - serverpark: string, + serverPark: string, questionnaireName: string, ): Promise { + // The Blaise API requires the questionnaire name as both a path segment and a query parameter. + const queryString = new URLSearchParams({ name: questionnaireName }).toString(); + return this.delete( - `api/v2/serverparks/${serverpark}/questionnaires/${questionnaireName}?name=${questionnaireName}`, + `${getServerParkQuestionnairePath(serverPark, questionnaireName)}?${queryString}`, ); } export async function getQuestionnaireCaseIds( this: BlaiseApiClient, - serverpark: string, + serverPark: string, questionnaireName: string, -): Promise { - return this.get( - `api/v2/serverparks/${serverpark}/questionnaires/${questionnaireName}/cases/ids`, +): Promise { + return this.get( + `${getServerParkQuestionnairePath(serverPark, questionnaireName)}/cases/ids`, ); } export async function getQuestionnaireModes( this: BlaiseApiClient, - serverpark: string, + serverPark: string, questionnaireName: string, -): Promise { - return this.get( - `api/v2/serverparks/${serverpark}/questionnaires/${questionnaireName}/modes`, +): Promise { + return this.get( + `${getServerParkQuestionnairePath(serverPark, questionnaireName)}/modes`, ); } export async function getQuestionnaireSettings( this: BlaiseApiClient, - serverpark: string, + serverPark: string, questionnaireName: string, -): Promise { - return this.get( - `api/v2/serverparks/${serverpark}/questionnaires/${questionnaireName}/settings`, +): Promise { + return this.get( + `${getServerParkQuestionnairePath(serverPark, questionnaireName)}/settings`, ); } export async function activateQuestionnaire( this: BlaiseApiClient, - serverpark: string, + serverPark: string, questionnaireName: string, ): Promise { return this.patch( - `api/v2/serverparks/${serverpark}/questionnaires/${questionnaireName}/activate`, + `${getServerParkQuestionnairePath(serverPark, questionnaireName)}/activate`, ); } export async function deactivateQuestionnaire( this: BlaiseApiClient, - serverpark: string, + serverPark: string, questionnaireName: string, ): Promise { return this.patch( - `api/v2/serverparks/${serverpark}/questionnaires/${questionnaireName}/deactivate`, + `${getServerParkQuestionnairePath(serverPark, questionnaireName)}/deactivate`, ); } diff --git a/src/resources/questionnaireReport.test.ts b/src/resources/questionnaireReport.test.ts index e507175..ae6dcc2 100644 --- a/src/resources/questionnaireReport.test.ts +++ b/src/resources/questionnaireReport.test.ts @@ -1,25 +1,28 @@ -import axios from "axios"; import MockAdapter from "axios-mock-adapter"; import { afterEach, beforeEach, describe, expect, it } from "vitest"; import { BlaiseApiClient } from "../blaiseApiClient.js"; import { mockQuestionnaireReport } from "../mocks/questionnaireReport.mock.js"; -const mock = new MockAdapter(axios, { onNoMatch: "throwException" }); -const blaiseApiClient = new BlaiseApiClient("http://testUri"); +class TestBlaiseApiClient extends BlaiseApiClient { + readonly mock = new MockAdapter(this.httpClient, { onNoMatch: "throwException" }); +} + +const blaiseApiClient = new TestBlaiseApiClient("http://testUri"); +const { mock } = blaiseApiClient; const fieldIds = ["qhadmin.hout", "allocation.toeditor"]; describe("BlaiseRestapiClient questionnaire report functions", () => { describe("get reporting data from API", () => { - const serverpark = "test"; + const serverPark = "test"; const questionnaireName = "dst2108t"; const expectedQueryString = `fieldIds=${fieldIds[0]}&fieldIds=${fieldIds[1]}`; beforeEach(() => { mock .onGet( - `api/v2/serverparks/${serverpark}/questionnaires/${questionnaireName}/report?${expectedQueryString}`, + `api/v2/serverparks/${serverPark}/questionnaires/${questionnaireName}/report?${expectedQueryString}`, ) .reply(200, mockQuestionnaireReport); }); @@ -30,12 +33,30 @@ describe("BlaiseRestapiClient questionnaire report functions", () => { it("returns an expected report", async () => { const reportData = await blaiseApiClient.getQuestionnaireReportData( - serverpark, + serverPark, questionnaireName, fieldIds, ); expect(reportData).toEqual(mockQuestionnaireReport); }); + + it("encodes reserved characters in field ids", async () => { + const reservedCharacterFieldIds = ["field/id", "allocation=to&editor"]; + + mock + .onGet( + `api/v2/serverparks/${serverPark}/questionnaires/${questionnaireName}/report?fieldIds=field%2Fid&fieldIds=allocation%3Dto%26editor`, + ) + .reply(200, mockQuestionnaireReport); + + const reportData = await blaiseApiClient.getQuestionnaireReportData( + serverPark, + questionnaireName, + reservedCharacterFieldIds, + ); + + expect(reportData).toEqual(mockQuestionnaireReport); + }); }); }); diff --git a/src/resources/questionnaireReport.ts b/src/resources/questionnaireReport.ts index fc225f2..0d15f9d 100644 --- a/src/resources/questionnaireReport.ts +++ b/src/resources/questionnaireReport.ts @@ -1,15 +1,17 @@ +import { buildRepeatedQueryString, getServerParkQuestionnairePath } from "../requestPath.js"; + import type { BlaiseApiClient } from "../blaiseApiClient.js"; import type { QuestionnaireReport } from "../types/questionnaireReport.types.js"; export async function getQuestionnaireReportData( this: BlaiseApiClient, - serverpark: string, + serverPark: string, questionnaireName: string, - fieldIds: string[], + fieldIds: readonly string[], ): Promise { - const queryParams = fieldIds.map((fieldId) => `fieldIds=${fieldId}`).join("&"); + const queryParams = buildRepeatedQueryString("fieldIds", fieldIds); return this.get( - `api/v2/serverparks/${serverpark}/questionnaires/${questionnaireName}/report?${queryParams}`, + `${getServerParkQuestionnairePath(serverPark, questionnaireName)}/report?${queryParams}`, ); } diff --git a/src/resources/user.test.ts b/src/resources/user.test.ts index 63b7015..ca60a1c 100644 --- a/src/resources/user.test.ts +++ b/src/resources/user.test.ts @@ -1,12 +1,15 @@ -import axios from "axios"; import MockAdapter from "axios-mock-adapter"; import { afterEach, describe, expect, it } from "vitest"; import { BlaiseApiClient } from "../blaiseApiClient.js"; -import { mockNewUser, mockNewUserResponse } from "../mocks/user.mock.js"; +import { mockNewUser } from "../mocks/user.mock.js"; -const mock = new MockAdapter(axios, { onNoMatch: "throwException" }); -const blaiseApiClient = new BlaiseApiClient("http://testUri"); +class TestBlaiseApiClient extends BlaiseApiClient { + readonly mock = new MockAdapter(this.httpClient, { onNoMatch: "throwException" }); +} + +const blaiseApiClient = new TestBlaiseApiClient("http://testUri"); +const { mock } = blaiseApiClient; describe("blaiseApiClient user functions", () => { afterEach(() => { @@ -29,6 +32,21 @@ describe("blaiseApiClient user functions", () => { expect(result.name).toEqual(username); expect(result.role).toEqual("DST"); }); + + it("encodes reserved characters in usernames", async () => { + const reservedCharacterUsername = "test/user?preview=true"; + + mock.onGet(`api/v2/users/${encodeURIComponent(reservedCharacterUsername)}`).reply(200, { + name: reservedCharacterUsername, + role: "DST", + serverParks: ["gusty"], + defaultServerPark: "gusty", + }); + + const result = await blaiseApiClient.getUser(reservedCharacterUsername); + + expect(result.name).toEqual(reservedCharacterUsername); + }); }); describe("get users", () => { @@ -64,7 +82,7 @@ describe("blaiseApiClient user functions", () => { describe("create user", () => { it("creates a user and returns a response", async () => { - mock.onPost("api/v2/users").reply(201, mockNewUserResponse); + mock.onPost("api/v2/users").reply(201, mockNewUser); const createUser = await blaiseApiClient.createUser(mockNewUser); expect(createUser.name).toEqual("Beyonce"); diff --git a/src/resources/user.ts b/src/resources/user.ts index 2258bdf..a33e3d6 100644 --- a/src/resources/user.ts +++ b/src/resources/user.ts @@ -1,12 +1,16 @@ +import { encodePathSegment } from "../requestPath.js"; + import type { BlaiseApiClient } from "../blaiseApiClient.js"; import type { NewUser, PasswordRequest, RoleRequest, User, UserRole } from "../types/user.types.js"; +const getUserPath = (username: string): string => `api/v2/users/${encodePathSegment(username)}`; + export async function getUser(this: BlaiseApiClient, username: string): Promise { - return this.get(`api/v2/users/${username}`); + return this.get(getUserPath(username)); } -export async function getUsers(this: BlaiseApiClient): Promise { - return this.get("api/v2/users"); +export async function getUsers(this: BlaiseApiClient): Promise { + return this.get("api/v2/users"); } export async function validatePassword( @@ -16,7 +20,7 @@ export async function validatePassword( ): Promise { const validationRequest: PasswordRequest = { password }; - return this.post(`api/v2/users/${username}/validate`, validationRequest); + return this.post(`${getUserPath(username)}/validate`, validationRequest); } export async function createUser(this: BlaiseApiClient, user: NewUser): Promise { @@ -24,11 +28,11 @@ export async function createUser(this: BlaiseApiClient, user: NewUser): Promise< } export async function deleteUser(this: BlaiseApiClient, username: string): Promise { - return this.delete(`api/v2/users/${username}`); + return this.delete(getUserPath(username)); } -export async function getUserRoles(this: BlaiseApiClient): Promise { - return this.get("api/v2/userroles"); +export async function getUserRoles(this: BlaiseApiClient): Promise { + return this.get("api/v2/userroles"); } export async function changeUserRole( @@ -38,18 +42,18 @@ export async function changeUserRole( ): Promise { const roleRequest: RoleRequest = { role }; - return this.patch(`api/v2/users/${username}/role`, roleRequest); + return this.patch(`${getUserPath(username)}/role`, roleRequest); } export async function changeUserServerParks( this: BlaiseApiClient, username: string, - serverParks: string[], + serverParks: ReadonlyArray, defaultServerPark: string, ): Promise { const serverParksRequest = { serverParks, defaultServerPark }; - return this.patch(`api/v2/users/${username}/serverparks`, serverParksRequest); + return this.patch(`${getUserPath(username)}/serverparks`, serverParksRequest); } export async function changePassword( @@ -59,5 +63,5 @@ export async function changePassword( ): Promise { const passwordRequest: PasswordRequest = { password }; - return this.patch(`api/v2/users/${username}/password`, passwordRequest); + return this.patch(`${getUserPath(username)}/password`, passwordRequest); } diff --git a/src/types/blaiseApi.types.ts b/src/types/blaiseApi.types.ts index 9b3afb9..61ba8a2 100644 --- a/src/types/blaiseApi.types.ts +++ b/src/types/blaiseApi.types.ts @@ -1,5 +1,105 @@ -import { type Questionnaire } from "./questionnaire.types.js"; +import type { CaseEditInformation, CaseResponse, CaseStatus } from "./case.types.js"; +import type { JSONValue } from "./common.types.js"; +import type { DaybatchResponse, DaybatchSettings } from "./daybatch.types.js"; +import type { Diagnostic } from "./diagnostic.types.js"; +import type { + InstallQuestionnaire, + InstallQuestionnaireResponse, + Questionnaire, + QuestionnaireSettings, +} from "./questionnaire.types.js"; +import type { QuestionnaireReport } from "./questionnaireReport.types.js"; +import type { NewUser, User, UserRole } from "./user.types.js"; export interface BlaiseApi { - getQuestionnaires(serverPark: string): Promise; + getUser(username: string): Promise; + getUsers(): Promise; + validatePassword(username: string, password: string): Promise; + createUser(user: NewUser): Promise; + deleteUser(username: string): Promise; + getUserRoles(): Promise; + changePassword(username: string, password: string): Promise; + changeUserRole(username: string, role: string): Promise; + changeUserServerParks( + username: string, + serverParks: readonly string[], + defaultServerPark: string, + ): Promise; + getAllQuestionnairesWithCatiData(): Promise; + getQuestionnairesWithCatiData(serverPark: string): Promise; + getQuestionnaireWithCatiData( + serverPark: string, + questionnaireName: string, + ): Promise; + getQuestionnaires(serverPark: string): Promise; + questionnaireExists(serverPark: string, questionnaireName: string): Promise; + doesQuestionnaireHaveMode( + serverPark: string, + questionnaireName: string, + mode: string, + ): Promise; + getQuestionnaire(serverPark: string, questionnaireName: string): Promise; + installQuestionnaire( + serverPark: string, + questionnaire: InstallQuestionnaire, + ): Promise; + deleteQuestionnaire(serverPark: string, questionnaireName: string): Promise; + getQuestionnaireCaseIds( + serverPark: string, + questionnaireName: string, + ): Promise; + getQuestionnaireModes(serverPark: string, questionnaireName: string): Promise; + getQuestionnaireSettings( + serverPark: string, + questionnaireName: string, + ): Promise; + activateQuestionnaire(serverPark: string, questionnaireName: string): Promise; + deactivateQuestionnaire(serverPark: string, questionnaireName: string): Promise; + getDaybatch(serverPark: string, questionnaireName: string): Promise; + addDaybatch( + serverPark: string, + questionnaireName: string, + daybatchSettings: DaybatchSettings, + ): Promise; + getSurveyDays(serverPark: string, questionnaireName: string): Promise; + addSurveyDays( + serverPark: string, + questionnaireName: string, + surveyDays: readonly (string | Date)[], + ): Promise; + getCase(serverPark: string, questionnaireName: string, caseId: string): Promise; + getCaseMultikey( + serverPark: string, + questionnaireName: string, + multiKeyValueMap: ReadonlyMap, + ): Promise; + addCase( + serverPark: string, + questionnaireName: string, + caseId: string, + caseFields: Readonly>, + ): Promise; + updateCase( + serverPark: string, + questionnaireName: string, + caseId: string, + caseFields: Readonly>, + ): Promise; + addCaseMultikey( + serverPark: string, + questionnaireName: string, + multiKeyValueMap: ReadonlyMap, + caseFields: Readonly>, + ): Promise; + getCaseStatus(serverPark: string, questionnaireName: string): Promise; + getCaseEditInformation( + serverPark: string, + questionnaireName: string, + ): Promise; + getDiagnostics(): Promise; + getQuestionnaireReportData( + serverPark: string, + questionnaireName: string, + fieldIds: readonly string[], + ): Promise; } diff --git a/src/types/blaiseApiConfig.types.ts b/src/types/blaiseApiConfig.types.ts index 6215cc2..2bee053 100644 --- a/src/types/blaiseApiConfig.types.ts +++ b/src/types/blaiseApiConfig.types.ts @@ -1,4 +1,4 @@ export interface BlaiseApiConfig { - timeoutInMs?: number; - blaiseApiClientId?: string; + readonly timeoutInMs?: number; + readonly blaiseApiClientId?: string; } diff --git a/src/types/case.types.ts b/src/types/case.types.ts index d4df2ff..28c887c 100644 --- a/src/types/case.types.ts +++ b/src/types/case.types.ts @@ -5,7 +5,7 @@ import type { Organisation } from "../enums/organisation.js"; export interface CaseResponse { readonly caseId: string; - readonly fieldData: Record; + readonly fieldData: Readonly>; } export interface CaseStatus { diff --git a/src/types/common.types.ts b/src/types/common.types.ts index 1b5e99c..00c52d6 100644 --- a/src/types/common.types.ts +++ b/src/types/common.types.ts @@ -3,5 +3,5 @@ export type JSONValue = | number | boolean | null - | JSONValue[] - | { [key: string]: JSONValue }; + | readonly JSONValue[] + | { readonly [key: string]: JSONValue }; diff --git a/src/types/daybatch.types.ts b/src/types/daybatch.types.ts index 48c4146..689aedd 100644 --- a/src/types/daybatch.types.ts +++ b/src/types/daybatch.types.ts @@ -1,9 +1,9 @@ export interface DaybatchResponse { - dayBatchDate: string; - caseIds: string[]; + readonly dayBatchDate: string; + readonly caseIds: readonly string[]; } export interface DaybatchSettings { - dayBatchDate: string; - checkForTreatedCases: boolean; + readonly dayBatchDate: string; + readonly checkForTreatedCases: boolean; } diff --git a/src/types/questionnaire.types.ts b/src/types/questionnaire.types.ts index cea738d..62a26d3 100644 --- a/src/types/questionnaire.types.ts +++ b/src/types/questionnaire.types.ts @@ -1,40 +1,43 @@ -export interface Node { - nodeName: string; - nodeStatus: string; +export interface QuestionnaireNode { + readonly nodeName: string; + readonly nodeStatus: string; } export interface Questionnaire { - installDate: string; - name: string; - expired?: boolean; - serverParkName: string; - activeToday?: boolean; // TODO: deprecated? - surveyDays?: string[]; // TODO: deprecated? - link?: string; - fieldPeriod?: string; - surveyTla?: string; - dataRecordCount?: number; - status?: string; - hasData?: boolean; - nodes?: Node[]; - active?: boolean; // TODO: deprecated? - blaiseVersion?: string; + readonly installDate: string; + readonly name: string; + readonly expired?: boolean; + readonly serverParkName: string; + /** @deprecated */ + readonly activeToday?: boolean; + /** @deprecated */ + readonly surveyDays?: readonly string[]; + readonly link?: string; + readonly fieldPeriod?: string; + readonly surveyTla?: string; + readonly dataRecordCount?: number; + readonly status?: string; + readonly hasData?: boolean; + readonly nodes?: readonly QuestionnaireNode[]; + /** @deprecated */ + readonly active?: boolean; + readonly blaiseVersion?: string; } export interface InstallQuestionnaire { - questionnaireFile: string; + readonly questionnaireFile: string; } export interface InstallQuestionnaireResponse { - questionnaireFile: string; + readonly questionnaireFile: string; } export interface QuestionnaireSettings { - type: string; - saveSessionOnTimeout: boolean; - saveSessionOnQuit: boolean; - deleteSessionOnTimeout: boolean; - deleteSessionOnQuit: boolean; - sessionTimeout: number; - applyRecordLocking: boolean; + readonly type: string; + readonly saveSessionOnTimeout: boolean; + readonly saveSessionOnQuit: boolean; + readonly deleteSessionOnTimeout: boolean; + readonly deleteSessionOnQuit: boolean; + readonly sessionTimeout: number; + readonly applyRecordLocking: boolean; } diff --git a/src/types/questionnaireReport.types.ts b/src/types/questionnaireReport.types.ts index 5f9dea5..3714e02 100644 --- a/src/types/questionnaireReport.types.ts +++ b/src/types/questionnaireReport.types.ts @@ -1,7 +1,7 @@ import { type JSONValue } from "./common.types.js"; export interface QuestionnaireReport { - questionnaireName: string; - questionnaireId: string; - reportingData: Record[]; + readonly questionnaireName: string; + readonly questionnaireId: string; + readonly reportingData: readonly Readonly>[]; } diff --git a/src/types/survey.types.ts b/src/types/survey.types.ts index 14ff205..5ccb667 100644 --- a/src/types/survey.types.ts +++ b/src/types/survey.types.ts @@ -1,6 +1,6 @@ import { type Questionnaire } from "./questionnaire.types.js"; export interface Survey { - questionnaires: Questionnaire[]; - survey: string; + readonly questionnaires: readonly Questionnaire[]; + readonly survey: string; } diff --git a/tsconfig.json b/tsconfig.json index 3cf728b..fa603b0 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -13,7 +13,7 @@ "sourceMap": true, "strict": true, "target": "ES2022", - "types": ["vitest/globals", "node"], + "types": ["node"], "verbatimModuleSyntax": true }, "exclude": ["coverage", "dist", "node_modules"], diff --git a/vitest.config.ts b/vitest.config.ts index 9974817..ff2cee6 100644 --- a/vitest.config.ts +++ b/vitest.config.ts @@ -3,7 +3,6 @@ import { defineConfig } from "vitest/config"; export default defineConfig({ test: { environment: "node", - globals: true, clearMocks: true, coverage: { provider: "v8", From f458aa6cfa3fe219d942cbd3335c867c8556c897 Mon Sep 17 00:00:00 2001 From: Richmond Rice Date: Wed, 20 May 2026 20:39:31 +0100 Subject: [PATCH 29/36] pkg update --- package.json | 8 +- yarn.lock | 800 +++++++++++++++++++++++---------------------------- 2 files changed, 369 insertions(+), 439 deletions(-) diff --git a/package.json b/package.json index c036e40..55758bf 100644 --- a/package.json +++ b/package.json @@ -43,8 +43,8 @@ }, "devDependencies": { "@eslint/js": "^10.0.1", - "@types/node": "^25.8.0", - "@vitest/coverage-v8": "^4.1.6", + "@types/node": "^25.9.1", + "@vitest/coverage-v8": "^4.1.7", "axios-mock-adapter": "^2.1.0", "cspell": "^10.0.0", "eslint": "^10.4.0", @@ -59,8 +59,8 @@ "prettier": "^3.8.3", "publint": "^0.3.21", "typescript": "^6.0.3", - "typescript-eslint": "^8.59.3", - "vitest": "^4.1.6" + "typescript-eslint": "^8.59.4", + "vitest": "^4.1.7" }, "packageManager": "yarn@4.14.1" } diff --git a/yarn.lock b/yarn.lock index b94f011..9d961c3 100644 --- a/yarn.lock +++ b/yarn.lock @@ -19,7 +19,7 @@ __metadata: languageName: node linkType: hard -"@babel/parser@npm:^7.29.0": +"@babel/parser@npm:^7.29.3": version: 7.29.3 resolution: "@babel/parser@npm:7.29.3" dependencies: @@ -629,7 +629,7 @@ __metadata: languageName: node linkType: hard -"@emnapi/core@npm:1.10.0, @emnapi/core@npm:^1.4.3": +"@emnapi/core@npm:1.10.0": version: 1.10.0 resolution: "@emnapi/core@npm:1.10.0" dependencies: @@ -639,7 +639,7 @@ __metadata: languageName: node linkType: hard -"@emnapi/runtime@npm:1.10.0, @emnapi/runtime@npm:^1.4.3": +"@emnapi/runtime@npm:1.10.0": version: 1.10.0 resolution: "@emnapi/runtime@npm:1.10.0" dependencies: @@ -817,17 +817,6 @@ __metadata: languageName: node linkType: hard -"@napi-rs/wasm-runtime@npm:^0.2.11": - version: 0.2.12 - resolution: "@napi-rs/wasm-runtime@npm:0.2.12" - dependencies: - "@emnapi/core": "npm:^1.4.3" - "@emnapi/runtime": "npm:^1.4.3" - "@tybys/wasm-util": "npm:^0.10.0" - checksum: 10c0/6d07922c0613aab30c6a497f4df297ca7c54e5b480e00035e0209b872d5c6aab7162fc49477267556109c2c7ed1eb9c65a174e27e9b87568106a87b0a6e3ca7d - languageName: node - linkType: hard - "@napi-rs/wasm-runtime@npm:^1.1.1, @napi-rs/wasm-runtime@npm:^1.1.4": version: 1.1.4 resolution: "@napi-rs/wasm-runtime@npm:1.1.4" @@ -991,14 +980,7 @@ __metadata: languageName: node linkType: hard -"@oxc-project/types@npm:=0.127.0": - version: 0.127.0 - resolution: "@oxc-project/types@npm:0.127.0" - checksum: 10c0/52c0947ac64a9ca119fe971f947e784a35ecd14a072fa3f542a58a5f6c42010b53f2bf92731e39b9899b83c990a9517bbd29d1e5a5b7b489e52616685c6a9278 - languageName: node - linkType: hard - -"@oxc-project/types@npm:^0.130.0": +"@oxc-project/types@npm:=0.130.0, @oxc-project/types@npm:^0.130.0": version: 0.130.0 resolution: "@oxc-project/types@npm:0.130.0" checksum: 10c0/7ec8c03407b0bcb235b930c62859e6efcb3fe5cbaa5db98770d760df5c3e6b3e28a0ad22c2e35d1addede8065b40000c3822c5235dde2959af226639eb870000 @@ -1168,93 +1150,93 @@ __metadata: languageName: node linkType: hard -"@rolldown/binding-android-arm64@npm:1.0.0-rc.17": - version: 1.0.0-rc.17 - resolution: "@rolldown/binding-android-arm64@npm:1.0.0-rc.17" +"@rolldown/binding-android-arm64@npm:1.0.1": + version: 1.0.1 + resolution: "@rolldown/binding-android-arm64@npm:1.0.1" conditions: os=android & cpu=arm64 languageName: node linkType: hard -"@rolldown/binding-darwin-arm64@npm:1.0.0-rc.17": - version: 1.0.0-rc.17 - resolution: "@rolldown/binding-darwin-arm64@npm:1.0.0-rc.17" +"@rolldown/binding-darwin-arm64@npm:1.0.1": + version: 1.0.1 + resolution: "@rolldown/binding-darwin-arm64@npm:1.0.1" conditions: os=darwin & cpu=arm64 languageName: node linkType: hard -"@rolldown/binding-darwin-x64@npm:1.0.0-rc.17": - version: 1.0.0-rc.17 - resolution: "@rolldown/binding-darwin-x64@npm:1.0.0-rc.17" +"@rolldown/binding-darwin-x64@npm:1.0.1": + version: 1.0.1 + resolution: "@rolldown/binding-darwin-x64@npm:1.0.1" conditions: os=darwin & cpu=x64 languageName: node linkType: hard -"@rolldown/binding-freebsd-x64@npm:1.0.0-rc.17": - version: 1.0.0-rc.17 - resolution: "@rolldown/binding-freebsd-x64@npm:1.0.0-rc.17" +"@rolldown/binding-freebsd-x64@npm:1.0.1": + version: 1.0.1 + resolution: "@rolldown/binding-freebsd-x64@npm:1.0.1" conditions: os=freebsd & cpu=x64 languageName: node linkType: hard -"@rolldown/binding-linux-arm-gnueabihf@npm:1.0.0-rc.17": - version: 1.0.0-rc.17 - resolution: "@rolldown/binding-linux-arm-gnueabihf@npm:1.0.0-rc.17" +"@rolldown/binding-linux-arm-gnueabihf@npm:1.0.1": + version: 1.0.1 + resolution: "@rolldown/binding-linux-arm-gnueabihf@npm:1.0.1" conditions: os=linux & cpu=arm languageName: node linkType: hard -"@rolldown/binding-linux-arm64-gnu@npm:1.0.0-rc.17": - version: 1.0.0-rc.17 - resolution: "@rolldown/binding-linux-arm64-gnu@npm:1.0.0-rc.17" +"@rolldown/binding-linux-arm64-gnu@npm:1.0.1": + version: 1.0.1 + resolution: "@rolldown/binding-linux-arm64-gnu@npm:1.0.1" conditions: os=linux & cpu=arm64 & libc=glibc languageName: node linkType: hard -"@rolldown/binding-linux-arm64-musl@npm:1.0.0-rc.17": - version: 1.0.0-rc.17 - resolution: "@rolldown/binding-linux-arm64-musl@npm:1.0.0-rc.17" +"@rolldown/binding-linux-arm64-musl@npm:1.0.1": + version: 1.0.1 + resolution: "@rolldown/binding-linux-arm64-musl@npm:1.0.1" conditions: os=linux & cpu=arm64 & libc=musl languageName: node linkType: hard -"@rolldown/binding-linux-ppc64-gnu@npm:1.0.0-rc.17": - version: 1.0.0-rc.17 - resolution: "@rolldown/binding-linux-ppc64-gnu@npm:1.0.0-rc.17" +"@rolldown/binding-linux-ppc64-gnu@npm:1.0.1": + version: 1.0.1 + resolution: "@rolldown/binding-linux-ppc64-gnu@npm:1.0.1" conditions: os=linux & cpu=ppc64 & libc=glibc languageName: node linkType: hard -"@rolldown/binding-linux-s390x-gnu@npm:1.0.0-rc.17": - version: 1.0.0-rc.17 - resolution: "@rolldown/binding-linux-s390x-gnu@npm:1.0.0-rc.17" +"@rolldown/binding-linux-s390x-gnu@npm:1.0.1": + version: 1.0.1 + resolution: "@rolldown/binding-linux-s390x-gnu@npm:1.0.1" conditions: os=linux & cpu=s390x & libc=glibc languageName: node linkType: hard -"@rolldown/binding-linux-x64-gnu@npm:1.0.0-rc.17": - version: 1.0.0-rc.17 - resolution: "@rolldown/binding-linux-x64-gnu@npm:1.0.0-rc.17" +"@rolldown/binding-linux-x64-gnu@npm:1.0.1": + version: 1.0.1 + resolution: "@rolldown/binding-linux-x64-gnu@npm:1.0.1" conditions: os=linux & cpu=x64 & libc=glibc languageName: node linkType: hard -"@rolldown/binding-linux-x64-musl@npm:1.0.0-rc.17": - version: 1.0.0-rc.17 - resolution: "@rolldown/binding-linux-x64-musl@npm:1.0.0-rc.17" +"@rolldown/binding-linux-x64-musl@npm:1.0.1": + version: 1.0.1 + resolution: "@rolldown/binding-linux-x64-musl@npm:1.0.1" conditions: os=linux & cpu=x64 & libc=musl languageName: node linkType: hard -"@rolldown/binding-openharmony-arm64@npm:1.0.0-rc.17": - version: 1.0.0-rc.17 - resolution: "@rolldown/binding-openharmony-arm64@npm:1.0.0-rc.17" +"@rolldown/binding-openharmony-arm64@npm:1.0.1": + version: 1.0.1 + resolution: "@rolldown/binding-openharmony-arm64@npm:1.0.1" conditions: os=openharmony & cpu=arm64 languageName: node linkType: hard -"@rolldown/binding-wasm32-wasi@npm:1.0.0-rc.17": - version: 1.0.0-rc.17 - resolution: "@rolldown/binding-wasm32-wasi@npm:1.0.0-rc.17" +"@rolldown/binding-wasm32-wasi@npm:1.0.1": + version: 1.0.1 + resolution: "@rolldown/binding-wasm32-wasi@npm:1.0.1" dependencies: "@emnapi/core": "npm:1.10.0" "@emnapi/runtime": "npm:1.10.0" @@ -1263,24 +1245,24 @@ __metadata: languageName: node linkType: hard -"@rolldown/binding-win32-arm64-msvc@npm:1.0.0-rc.17": - version: 1.0.0-rc.17 - resolution: "@rolldown/binding-win32-arm64-msvc@npm:1.0.0-rc.17" +"@rolldown/binding-win32-arm64-msvc@npm:1.0.1": + version: 1.0.1 + resolution: "@rolldown/binding-win32-arm64-msvc@npm:1.0.1" conditions: os=win32 & cpu=arm64 languageName: node linkType: hard -"@rolldown/binding-win32-x64-msvc@npm:1.0.0-rc.17": - version: 1.0.0-rc.17 - resolution: "@rolldown/binding-win32-x64-msvc@npm:1.0.0-rc.17" +"@rolldown/binding-win32-x64-msvc@npm:1.0.1": + version: 1.0.1 + resolution: "@rolldown/binding-win32-x64-msvc@npm:1.0.1" conditions: os=win32 & cpu=x64 languageName: node linkType: hard -"@rolldown/pluginutils@npm:1.0.0-rc.17": - version: 1.0.0-rc.17 - resolution: "@rolldown/pluginutils@npm:1.0.0-rc.17" - checksum: 10c0/5e840b20cc531910c093c1ca36e550952cf4936465a50d89f0a98fc9d0dfd7d319d06a10a5f4376209d89e9bf4d60af6cc8363ebf0dcc5e60842f7fef438b2f0 +"@rolldown/pluginutils@npm:^1.0.0": + version: 1.0.1 + resolution: "@rolldown/pluginutils@npm:1.0.1" + checksum: 10c0/99d9b06d90196823e4d8c841f258db7a16e5dbba5824a2962b05d907b79f1ba929d56f22dd744fd530936e568c865ee56a719dc31e57e13bc0a8eb4764a8d8dd languageName: node linkType: hard @@ -1291,7 +1273,7 @@ __metadata: languageName: node linkType: hard -"@tybys/wasm-util@npm:^0.10.0, @tybys/wasm-util@npm:^0.10.1": +"@tybys/wasm-util@npm:^0.10.1": version: 0.10.2 resolution: "@tybys/wasm-util@npm:0.10.2" dependencies: @@ -1325,9 +1307,9 @@ __metadata: linkType: hard "@types/estree@npm:^1.0.0, @types/estree@npm:^1.0.6, @types/estree@npm:^1.0.8": - version: 1.0.8 - resolution: "@types/estree@npm:1.0.8" - checksum: 10c0/39d34d1afaa338ab9763f37ad6066e3f349444f9052b9676a7cc0252ef9485a41c6d81c9c4e0d26e9077993354edf25efc853f3224dd4b447175ef62bdcc86a5 + version: 1.0.9 + resolution: "@types/estree@npm:1.0.9" + checksum: 10c0/3ad3286ca2988cd550dafb8f2ad599c8474868e954fa601a36655bdfefd8039f7c714b8c1c7f2ae219ffbd58bd4660e66fa7479a0120fc02d4777057d4865387 languageName: node linkType: hard @@ -1338,121 +1320,114 @@ __metadata: languageName: node linkType: hard -"@types/node@npm:^25.8.0": - version: 25.8.0 - resolution: "@types/node@npm:25.8.0" +"@types/node@npm:^25.9.1": + version: 25.9.1 + resolution: "@types/node@npm:25.9.1" dependencies: undici-types: "npm:>=7.24.0 <7.24.7" - checksum: 10c0/ff53e5428309d2e6060190ec5e02afd0e4a7369456b16130a7f5898f12a6ad0efd62d752830f2f7355d714ae429bc0acbb2dc0cbf761cadb03e88c4996cdf1dc + checksum: 10c0/9a04682842bebbcf21a1779dfeab9aa733d7bd7bbc0a0edb641ab3a9a3d43eac543225acf669c334f458f1956443ebc072bc3c72840c543b8b356cab5c82d456 languageName: node linkType: hard -"@typescript-eslint/eslint-plugin@npm:8.59.3": - version: 8.59.3 - resolution: "@typescript-eslint/eslint-plugin@npm:8.59.3" +"@typescript-eslint/eslint-plugin@npm:8.59.4": + version: 8.59.4 + resolution: "@typescript-eslint/eslint-plugin@npm:8.59.4" dependencies: "@eslint-community/regexpp": "npm:^4.12.2" - "@typescript-eslint/scope-manager": "npm:8.59.3" - "@typescript-eslint/type-utils": "npm:8.59.3" - "@typescript-eslint/utils": "npm:8.59.3" - "@typescript-eslint/visitor-keys": "npm:8.59.3" + "@typescript-eslint/scope-manager": "npm:8.59.4" + "@typescript-eslint/type-utils": "npm:8.59.4" + "@typescript-eslint/utils": "npm:8.59.4" + "@typescript-eslint/visitor-keys": "npm:8.59.4" ignore: "npm:^7.0.5" natural-compare: "npm:^1.4.0" ts-api-utils: "npm:^2.5.0" peerDependencies: - "@typescript-eslint/parser": ^8.59.3 + "@typescript-eslint/parser": ^8.59.4 eslint: ^8.57.0 || ^9.0.0 || ^10.0.0 typescript: ">=4.8.4 <6.1.0" - checksum: 10c0/c316ba4af95c7408c65279005099386c1547c184929b7027a1041a2450537d5ce7bd9276e0d6774ae384f9e4482e392dc3305686442d64777c448d76f39fd665 + checksum: 10c0/53639bb5cbb5cb22d5e8d52c404a217cb1af4b1c3a8f6f3bb15824807b4db4bed49008d3b3f7688295285e764c7aff3b682b56dece3013a81de83f47bdf2b36c languageName: node linkType: hard -"@typescript-eslint/parser@npm:8.59.3": - version: 8.59.3 - resolution: "@typescript-eslint/parser@npm:8.59.3" +"@typescript-eslint/parser@npm:8.59.4": + version: 8.59.4 + resolution: "@typescript-eslint/parser@npm:8.59.4" dependencies: - "@typescript-eslint/scope-manager": "npm:8.59.3" - "@typescript-eslint/types": "npm:8.59.3" - "@typescript-eslint/typescript-estree": "npm:8.59.3" - "@typescript-eslint/visitor-keys": "npm:8.59.3" + "@typescript-eslint/scope-manager": "npm:8.59.4" + "@typescript-eslint/types": "npm:8.59.4" + "@typescript-eslint/typescript-estree": "npm:8.59.4" + "@typescript-eslint/visitor-keys": "npm:8.59.4" debug: "npm:^4.4.3" peerDependencies: eslint: ^8.57.0 || ^9.0.0 || ^10.0.0 typescript: ">=4.8.4 <6.1.0" - checksum: 10c0/a5e16163e6fdeff411272e8fa2e26b48c28aae3003ff2a6b52e7c7727061170afde11261feefba0b578399774a6c9b26e5d58d593e66b25f88a4552e6012d9e2 + checksum: 10c0/7dccab1bec898aee2c8aa8e08560ce6d439ef174358e98d5d92ee3f8a9fc0b044534ce0eecf57521f284858f937ec968941200c1df9ffd0baa0795bffa3de97d languageName: node linkType: hard -"@typescript-eslint/project-service@npm:8.59.3": - version: 8.59.3 - resolution: "@typescript-eslint/project-service@npm:8.59.3" +"@typescript-eslint/project-service@npm:8.59.4": + version: 8.59.4 + resolution: "@typescript-eslint/project-service@npm:8.59.4" dependencies: - "@typescript-eslint/tsconfig-utils": "npm:^8.59.3" - "@typescript-eslint/types": "npm:^8.59.3" + "@typescript-eslint/tsconfig-utils": "npm:^8.59.4" + "@typescript-eslint/types": "npm:^8.59.4" debug: "npm:^4.4.3" peerDependencies: typescript: ">=4.8.4 <6.1.0" - checksum: 10c0/14caf773ce7198e097e7cf1ba65b0dfd0553696b5ffc1842f0f5bbc877450d1aab599dd0209b1bca66e4a03ba176051dfa13e30005b8f0a96453d7a01e8d8ba6 + checksum: 10c0/ba466e3b4091f79bd9ae8c29591d4858760293c2bc5d355642b9bf04b9c6fcd4418ff255485aaaf005edb84f6aaefeb53a3c1627bbbb70a905a4786d20f0b06a languageName: node linkType: hard -"@typescript-eslint/scope-manager@npm:8.59.3": - version: 8.59.3 - resolution: "@typescript-eslint/scope-manager@npm:8.59.3" +"@typescript-eslint/scope-manager@npm:8.59.4": + version: 8.59.4 + resolution: "@typescript-eslint/scope-manager@npm:8.59.4" dependencies: - "@typescript-eslint/types": "npm:8.59.3" - "@typescript-eslint/visitor-keys": "npm:8.59.3" - checksum: 10c0/716c342e3e4963431696f4a68c616e0afdb619a94fabf448d032a9a676d75d39d60926cd6b47ccd712c722f7cf549a2f623f97049017f36e953dd9b7b348e9bd + "@typescript-eslint/types": "npm:8.59.4" + "@typescript-eslint/visitor-keys": "npm:8.59.4" + checksum: 10c0/0e4701f8c3384c7406f372cb06762d6bf943aba3afe2c231e4e942ee2e8b4cd4e9e7667ec503502dc4a159b826892dbe1487e2a8d143e190c850744b2a329857 languageName: node linkType: hard -"@typescript-eslint/tsconfig-utils@npm:8.59.3, @typescript-eslint/tsconfig-utils@npm:^8.59.3": - version: 8.59.3 - resolution: "@typescript-eslint/tsconfig-utils@npm:8.59.3" +"@typescript-eslint/tsconfig-utils@npm:8.59.4, @typescript-eslint/tsconfig-utils@npm:^8.59.4": + version: 8.59.4 + resolution: "@typescript-eslint/tsconfig-utils@npm:8.59.4" peerDependencies: typescript: ">=4.8.4 <6.1.0" - checksum: 10c0/326c07ae30e04734b28830ff74fbc8478f58671f0111a540854064d5a1cd15ed22056453165200ce342de9758e4ce45c827068017701dfb8390ec1c6b3c990ab + checksum: 10c0/ef6cf20eb93cb5e12439bc9713f5d9c619d516aefd3ecd4f111d9b23ef9f36e5c13f1bbcd55faa6a4b788b146b2a8724a418504107d4d377d0463f419fe9e1f3 languageName: node linkType: hard -"@typescript-eslint/type-utils@npm:8.59.3": - version: 8.59.3 - resolution: "@typescript-eslint/type-utils@npm:8.59.3" +"@typescript-eslint/type-utils@npm:8.59.4": + version: 8.59.4 + resolution: "@typescript-eslint/type-utils@npm:8.59.4" dependencies: - "@typescript-eslint/types": "npm:8.59.3" - "@typescript-eslint/typescript-estree": "npm:8.59.3" - "@typescript-eslint/utils": "npm:8.59.3" + "@typescript-eslint/types": "npm:8.59.4" + "@typescript-eslint/typescript-estree": "npm:8.59.4" + "@typescript-eslint/utils": "npm:8.59.4" debug: "npm:^4.4.3" ts-api-utils: "npm:^2.5.0" peerDependencies: eslint: ^8.57.0 || ^9.0.0 || ^10.0.0 typescript: ">=4.8.4 <6.1.0" - checksum: 10c0/ff0dfb47fafe6046c0cf08b1790db41dc8e0b93dfa5bdd69f78d1cb58880b85bfb7930079c417664498a203b894381b228141efc27f427d1969c6aecc25e63b9 - languageName: node - linkType: hard - -"@typescript-eslint/types@npm:8.59.3, @typescript-eslint/types@npm:^8.59.3": - version: 8.59.3 - resolution: "@typescript-eslint/types@npm:8.59.3" - checksum: 10c0/3f7836ce108c3098935180221abce6d9dbf3583216b895525b0a1fc8d0207ebe1ba9e571dbb45eddacd14ef99563350b9b51df3091258211f8d267f02b9a80c1 + checksum: 10c0/93b1a96c395b22da81990655d2fc86d627f5ad815d33faa474b83463c27d34de86a8efedce6cd911d479fcfdc5a758476efa350933f5f97a4181fd226c4ccb6d languageName: node linkType: hard -"@typescript-eslint/types@npm:^8.56.0": - version: 8.59.2 - resolution: "@typescript-eslint/types@npm:8.59.2" - checksum: 10c0/ee6889a22b237ef426c45f11dc167f7f220007c2a8f77c8b1ab9e57ac32a2b47fad29f53c4230847cbe49bcd30a35fc2f276e01611d0dab9918d7ef72334f423 +"@typescript-eslint/types@npm:8.59.4, @typescript-eslint/types@npm:^8.56.0, @typescript-eslint/types@npm:^8.59.4": + version: 8.59.4 + resolution: "@typescript-eslint/types@npm:8.59.4" + checksum: 10c0/5bb831f9acf98057b3dce6ebfc1df5f1796e701cdf035e71fdee6d0bb7f7e7d9c428bac38f46db4e08381ad8903424fcfbe55bcae223a6244b9133de8e0be190 languageName: node linkType: hard -"@typescript-eslint/typescript-estree@npm:8.59.3": - version: 8.59.3 - resolution: "@typescript-eslint/typescript-estree@npm:8.59.3" +"@typescript-eslint/typescript-estree@npm:8.59.4": + version: 8.59.4 + resolution: "@typescript-eslint/typescript-estree@npm:8.59.4" dependencies: - "@typescript-eslint/project-service": "npm:8.59.3" - "@typescript-eslint/tsconfig-utils": "npm:8.59.3" - "@typescript-eslint/types": "npm:8.59.3" - "@typescript-eslint/visitor-keys": "npm:8.59.3" + "@typescript-eslint/project-service": "npm:8.59.4" + "@typescript-eslint/tsconfig-utils": "npm:8.59.4" + "@typescript-eslint/types": "npm:8.59.4" + "@typescript-eslint/visitor-keys": "npm:8.59.4" debug: "npm:^4.4.3" minimatch: "npm:^10.2.2" semver: "npm:^7.7.3" @@ -1460,176 +1435,199 @@ __metadata: ts-api-utils: "npm:^2.5.0" peerDependencies: typescript: ">=4.8.4 <6.1.0" - checksum: 10c0/d23d4efa17ebfceaca741e0656f4cc69f6429fad0bba87fa79cf08b6b67e487282241fd4211ae69d1b9eae1e5746db849e2e29518a385ee981a55f297db58906 + checksum: 10c0/2f427f9ba3ea1c7d1f476883f9769827c7082ff3cefcb189dcdb2dc33b16fa459e40894152d42583df90d0ed1041a1043830ecba5326c0b1de6becb9cf22fcee languageName: node linkType: hard -"@typescript-eslint/utils@npm:8.59.3": - version: 8.59.3 - resolution: "@typescript-eslint/utils@npm:8.59.3" +"@typescript-eslint/utils@npm:8.59.4": + version: 8.59.4 + resolution: "@typescript-eslint/utils@npm:8.59.4" dependencies: "@eslint-community/eslint-utils": "npm:^4.9.1" - "@typescript-eslint/scope-manager": "npm:8.59.3" - "@typescript-eslint/types": "npm:8.59.3" - "@typescript-eslint/typescript-estree": "npm:8.59.3" + "@typescript-eslint/scope-manager": "npm:8.59.4" + "@typescript-eslint/types": "npm:8.59.4" + "@typescript-eslint/typescript-estree": "npm:8.59.4" peerDependencies: eslint: ^8.57.0 || ^9.0.0 || ^10.0.0 typescript: ">=4.8.4 <6.1.0" - checksum: 10c0/a8299781be03e43f9a0f4006e607cfaa1094e2d5b1a208e7f2b994841884f08b557ce51d97d128b892b335a99b1bffa151eb4c0173aafec5d012783656e222f0 + checksum: 10c0/f2e7f6237defd49e578731762e8736e7316e4873e326d48ec56651dcd0204962367f3e91692939e1636f443a8ded524336b7ee0874b6267940e77f5dc8fce175 languageName: node linkType: hard -"@typescript-eslint/visitor-keys@npm:8.59.3": - version: 8.59.3 - resolution: "@typescript-eslint/visitor-keys@npm:8.59.3" +"@typescript-eslint/visitor-keys@npm:8.59.4": + version: 8.59.4 + resolution: "@typescript-eslint/visitor-keys@npm:8.59.4" dependencies: - "@typescript-eslint/types": "npm:8.59.3" + "@typescript-eslint/types": "npm:8.59.4" eslint-visitor-keys: "npm:^5.0.0" - checksum: 10c0/124c1ecece3f1ea954a05b150f8ec89b1c790276baa6e60c542a006cf3e14ce2c6152f95f06740e73609c36c6db0eeba98caba572d19db0befaef8aaba6f9569 + checksum: 10c0/fcef4078988d725f0e56104038cc903d78cb5527e10e4da2c29ae7cb65e5b46c6a8f3f20d2be3e83b4cbaf27a723d1d2b31027006b5f1d43bf1fb0baed8e7641 languageName: node linkType: hard -"@unrs/resolver-binding-android-arm-eabi@npm:1.11.1": - version: 1.11.1 - resolution: "@unrs/resolver-binding-android-arm-eabi@npm:1.11.1" +"@unrs/resolver-binding-android-arm-eabi@npm:1.12.2": + version: 1.12.2 + resolution: "@unrs/resolver-binding-android-arm-eabi@npm:1.12.2" conditions: os=android & cpu=arm languageName: node linkType: hard -"@unrs/resolver-binding-android-arm64@npm:1.11.1": - version: 1.11.1 - resolution: "@unrs/resolver-binding-android-arm64@npm:1.11.1" +"@unrs/resolver-binding-android-arm64@npm:1.12.2": + version: 1.12.2 + resolution: "@unrs/resolver-binding-android-arm64@npm:1.12.2" conditions: os=android & cpu=arm64 languageName: node linkType: hard -"@unrs/resolver-binding-darwin-arm64@npm:1.11.1": - version: 1.11.1 - resolution: "@unrs/resolver-binding-darwin-arm64@npm:1.11.1" +"@unrs/resolver-binding-darwin-arm64@npm:1.12.2": + version: 1.12.2 + resolution: "@unrs/resolver-binding-darwin-arm64@npm:1.12.2" conditions: os=darwin & cpu=arm64 languageName: node linkType: hard -"@unrs/resolver-binding-darwin-x64@npm:1.11.1": - version: 1.11.1 - resolution: "@unrs/resolver-binding-darwin-x64@npm:1.11.1" +"@unrs/resolver-binding-darwin-x64@npm:1.12.2": + version: 1.12.2 + resolution: "@unrs/resolver-binding-darwin-x64@npm:1.12.2" conditions: os=darwin & cpu=x64 languageName: node linkType: hard -"@unrs/resolver-binding-freebsd-x64@npm:1.11.1": - version: 1.11.1 - resolution: "@unrs/resolver-binding-freebsd-x64@npm:1.11.1" +"@unrs/resolver-binding-freebsd-x64@npm:1.12.2": + version: 1.12.2 + resolution: "@unrs/resolver-binding-freebsd-x64@npm:1.12.2" conditions: os=freebsd & cpu=x64 languageName: node linkType: hard -"@unrs/resolver-binding-linux-arm-gnueabihf@npm:1.11.1": - version: 1.11.1 - resolution: "@unrs/resolver-binding-linux-arm-gnueabihf@npm:1.11.1" +"@unrs/resolver-binding-linux-arm-gnueabihf@npm:1.12.2": + version: 1.12.2 + resolution: "@unrs/resolver-binding-linux-arm-gnueabihf@npm:1.12.2" conditions: os=linux & cpu=arm languageName: node linkType: hard -"@unrs/resolver-binding-linux-arm-musleabihf@npm:1.11.1": - version: 1.11.1 - resolution: "@unrs/resolver-binding-linux-arm-musleabihf@npm:1.11.1" +"@unrs/resolver-binding-linux-arm-musleabihf@npm:1.12.2": + version: 1.12.2 + resolution: "@unrs/resolver-binding-linux-arm-musleabihf@npm:1.12.2" conditions: os=linux & cpu=arm languageName: node linkType: hard -"@unrs/resolver-binding-linux-arm64-gnu@npm:1.11.1": - version: 1.11.1 - resolution: "@unrs/resolver-binding-linux-arm64-gnu@npm:1.11.1" +"@unrs/resolver-binding-linux-arm64-gnu@npm:1.12.2": + version: 1.12.2 + resolution: "@unrs/resolver-binding-linux-arm64-gnu@npm:1.12.2" conditions: os=linux & cpu=arm64 & libc=glibc languageName: node linkType: hard -"@unrs/resolver-binding-linux-arm64-musl@npm:1.11.1": - version: 1.11.1 - resolution: "@unrs/resolver-binding-linux-arm64-musl@npm:1.11.1" +"@unrs/resolver-binding-linux-arm64-musl@npm:1.12.2": + version: 1.12.2 + resolution: "@unrs/resolver-binding-linux-arm64-musl@npm:1.12.2" conditions: os=linux & cpu=arm64 & libc=musl languageName: node linkType: hard -"@unrs/resolver-binding-linux-ppc64-gnu@npm:1.11.1": - version: 1.11.1 - resolution: "@unrs/resolver-binding-linux-ppc64-gnu@npm:1.11.1" +"@unrs/resolver-binding-linux-loong64-gnu@npm:1.12.2": + version: 1.12.2 + resolution: "@unrs/resolver-binding-linux-loong64-gnu@npm:1.12.2" + conditions: os=linux & cpu=loong64 & libc=glibc + languageName: node + linkType: hard + +"@unrs/resolver-binding-linux-loong64-musl@npm:1.12.2": + version: 1.12.2 + resolution: "@unrs/resolver-binding-linux-loong64-musl@npm:1.12.2" + conditions: os=linux & cpu=loong64 & libc=musl + languageName: node + linkType: hard + +"@unrs/resolver-binding-linux-ppc64-gnu@npm:1.12.2": + version: 1.12.2 + resolution: "@unrs/resolver-binding-linux-ppc64-gnu@npm:1.12.2" conditions: os=linux & cpu=ppc64 & libc=glibc languageName: node linkType: hard -"@unrs/resolver-binding-linux-riscv64-gnu@npm:1.11.1": - version: 1.11.1 - resolution: "@unrs/resolver-binding-linux-riscv64-gnu@npm:1.11.1" +"@unrs/resolver-binding-linux-riscv64-gnu@npm:1.12.2": + version: 1.12.2 + resolution: "@unrs/resolver-binding-linux-riscv64-gnu@npm:1.12.2" conditions: os=linux & cpu=riscv64 & libc=glibc languageName: node linkType: hard -"@unrs/resolver-binding-linux-riscv64-musl@npm:1.11.1": - version: 1.11.1 - resolution: "@unrs/resolver-binding-linux-riscv64-musl@npm:1.11.1" +"@unrs/resolver-binding-linux-riscv64-musl@npm:1.12.2": + version: 1.12.2 + resolution: "@unrs/resolver-binding-linux-riscv64-musl@npm:1.12.2" conditions: os=linux & cpu=riscv64 & libc=musl languageName: node linkType: hard -"@unrs/resolver-binding-linux-s390x-gnu@npm:1.11.1": - version: 1.11.1 - resolution: "@unrs/resolver-binding-linux-s390x-gnu@npm:1.11.1" +"@unrs/resolver-binding-linux-s390x-gnu@npm:1.12.2": + version: 1.12.2 + resolution: "@unrs/resolver-binding-linux-s390x-gnu@npm:1.12.2" conditions: os=linux & cpu=s390x & libc=glibc languageName: node linkType: hard -"@unrs/resolver-binding-linux-x64-gnu@npm:1.11.1": - version: 1.11.1 - resolution: "@unrs/resolver-binding-linux-x64-gnu@npm:1.11.1" +"@unrs/resolver-binding-linux-x64-gnu@npm:1.12.2": + version: 1.12.2 + resolution: "@unrs/resolver-binding-linux-x64-gnu@npm:1.12.2" conditions: os=linux & cpu=x64 & libc=glibc languageName: node linkType: hard -"@unrs/resolver-binding-linux-x64-musl@npm:1.11.1": - version: 1.11.1 - resolution: "@unrs/resolver-binding-linux-x64-musl@npm:1.11.1" +"@unrs/resolver-binding-linux-x64-musl@npm:1.12.2": + version: 1.12.2 + resolution: "@unrs/resolver-binding-linux-x64-musl@npm:1.12.2" conditions: os=linux & cpu=x64 & libc=musl languageName: node linkType: hard -"@unrs/resolver-binding-wasm32-wasi@npm:1.11.1": - version: 1.11.1 - resolution: "@unrs/resolver-binding-wasm32-wasi@npm:1.11.1" +"@unrs/resolver-binding-openharmony-arm64@npm:1.12.2": + version: 1.12.2 + resolution: "@unrs/resolver-binding-openharmony-arm64@npm:1.12.2" + conditions: os=openharmony & cpu=arm64 + languageName: node + linkType: hard + +"@unrs/resolver-binding-wasm32-wasi@npm:1.12.2": + version: 1.12.2 + resolution: "@unrs/resolver-binding-wasm32-wasi@npm:1.12.2" dependencies: - "@napi-rs/wasm-runtime": "npm:^0.2.11" + "@emnapi/core": "npm:1.10.0" + "@emnapi/runtime": "npm:1.10.0" + "@napi-rs/wasm-runtime": "npm:^1.1.4" conditions: cpu=wasm32 languageName: node linkType: hard -"@unrs/resolver-binding-win32-arm64-msvc@npm:1.11.1": - version: 1.11.1 - resolution: "@unrs/resolver-binding-win32-arm64-msvc@npm:1.11.1" +"@unrs/resolver-binding-win32-arm64-msvc@npm:1.12.2": + version: 1.12.2 + resolution: "@unrs/resolver-binding-win32-arm64-msvc@npm:1.12.2" conditions: os=win32 & cpu=arm64 languageName: node linkType: hard -"@unrs/resolver-binding-win32-ia32-msvc@npm:1.11.1": - version: 1.11.1 - resolution: "@unrs/resolver-binding-win32-ia32-msvc@npm:1.11.1" +"@unrs/resolver-binding-win32-ia32-msvc@npm:1.12.2": + version: 1.12.2 + resolution: "@unrs/resolver-binding-win32-ia32-msvc@npm:1.12.2" conditions: os=win32 & cpu=ia32 languageName: node linkType: hard -"@unrs/resolver-binding-win32-x64-msvc@npm:1.11.1": - version: 1.11.1 - resolution: "@unrs/resolver-binding-win32-x64-msvc@npm:1.11.1" +"@unrs/resolver-binding-win32-x64-msvc@npm:1.12.2": + version: 1.12.2 + resolution: "@unrs/resolver-binding-win32-x64-msvc@npm:1.12.2" conditions: os=win32 & cpu=x64 languageName: node linkType: hard -"@vitest/coverage-v8@npm:^4.1.6": - version: 4.1.6 - resolution: "@vitest/coverage-v8@npm:4.1.6" +"@vitest/coverage-v8@npm:^4.1.7": + version: 4.1.7 + resolution: "@vitest/coverage-v8@npm:4.1.7" dependencies: "@bcoe/v8-coverage": "npm:^1.0.2" - "@vitest/utils": "npm:4.1.6" + "@vitest/utils": "npm:4.1.7" ast-v8-to-istanbul: "npm:^1.0.0" istanbul-lib-coverage: "npm:^3.2.2" istanbul-lib-report: "npm:^3.0.1" @@ -1639,34 +1637,34 @@ __metadata: std-env: "npm:^4.0.0-rc.1" tinyrainbow: "npm:^3.1.0" peerDependencies: - "@vitest/browser": 4.1.6 - vitest: 4.1.6 + "@vitest/browser": 4.1.7 + vitest: 4.1.7 peerDependenciesMeta: "@vitest/browser": optional: true - checksum: 10c0/5cc45784200a13ccab166c5d2ed0a4026ab0e28c395a654f046d91ff344a02d38db77b1022d7aa6d07973966c64844a6b62756c88c33609529535c12cc8b1af4 + checksum: 10c0/288fa77cfec00d84528154be90727ee0a868b91a32847b57e078fa4f3061711a53036a68d78bb4ea15e5c65b4644af6d2b7ad28b68b9301e9145426cdc27c0cd languageName: node linkType: hard -"@vitest/expect@npm:4.1.6": - version: 4.1.6 - resolution: "@vitest/expect@npm:4.1.6" +"@vitest/expect@npm:4.1.7": + version: 4.1.7 + resolution: "@vitest/expect@npm:4.1.7" dependencies: "@standard-schema/spec": "npm:^1.1.0" "@types/chai": "npm:^5.2.2" - "@vitest/spy": "npm:4.1.6" - "@vitest/utils": "npm:4.1.6" + "@vitest/spy": "npm:4.1.7" + "@vitest/utils": "npm:4.1.7" chai: "npm:^6.2.2" tinyrainbow: "npm:^3.1.0" - checksum: 10c0/a6767bdf586c82f64674998bf74987e99aa106ac5d0b5c4c2c1d3924e145b34fd80e138c65568a8fc2544aa71c85b1272f9607fe5ef6a7060ece1c232db46655 + checksum: 10c0/1a72387c6d3cac1e12cd4df382e666d96560b38001ea0133f1e0a22825f71ccf1640ccce13244296b0054c15cf04442f3adbd67dfc57fe542bd35a46cd805487 languageName: node linkType: hard -"@vitest/mocker@npm:4.1.6": - version: 4.1.6 - resolution: "@vitest/mocker@npm:4.1.6" +"@vitest/mocker@npm:4.1.7": + version: 4.1.7 + resolution: "@vitest/mocker@npm:4.1.7" dependencies: - "@vitest/spy": "npm:4.1.6" + "@vitest/spy": "npm:4.1.7" estree-walker: "npm:^3.0.3" magic-string: "npm:^0.30.21" peerDependencies: @@ -1677,56 +1675,56 @@ __metadata: optional: true vite: optional: true - checksum: 10c0/d9f3236940e160467edb7a2552fa014451347c4f08c13d26220fcfe7e12b385fd4975c6a81a6b174117650772cf3c45195b3a1838f8ee28fc8e6c37e07b99b2d + checksum: 10c0/e03dbbba435543e3cfa5e034ba8ade371de5e398255f75366ebc370ff8dd78d45f7d7cc9daa76eb1d399b31e659e47d3cbb710566e64ceeeba3f99b418e4b955 languageName: node linkType: hard -"@vitest/pretty-format@npm:4.1.6": - version: 4.1.6 - resolution: "@vitest/pretty-format@npm:4.1.6" +"@vitest/pretty-format@npm:4.1.7": + version: 4.1.7 + resolution: "@vitest/pretty-format@npm:4.1.7" dependencies: tinyrainbow: "npm:^3.1.0" - checksum: 10c0/f818a6abff9b7cf642edc2d0fe84d4f124911696bc7591f2af9ab6d88685b72133a1e9f87499e9b4dc2314dff85403ea66c64f7b408b2eb39f9880c6d3517ca0 + checksum: 10c0/49ef801171708e3a92214e8720efbedbd6e0e6baf17971aaf4feb7422e5c9eba82262c24a9e6dd4d41a31fae77bd31d5b37cf140d13e0ac4ce29a7457bdc692f languageName: node linkType: hard -"@vitest/runner@npm:4.1.6": - version: 4.1.6 - resolution: "@vitest/runner@npm:4.1.6" +"@vitest/runner@npm:4.1.7": + version: 4.1.7 + resolution: "@vitest/runner@npm:4.1.7" dependencies: - "@vitest/utils": "npm:4.1.6" + "@vitest/utils": "npm:4.1.7" pathe: "npm:^2.0.3" - checksum: 10c0/8047051d730de66b7cde8e6803ea718eaa8342ffbe55ff3d787fe7085a2b824a979689782d5303e464411fe67b556384b0c5af337e3e335cf140bf7adf5f6aa0 + checksum: 10c0/63474c6fc088d75b5d7fe735195504f923c694b83a22eb9caa53d6486c923974304c2e3ef4d5bcd808d88082174f38434be320fc4fe649a8cf33f0459a0576e3 languageName: node linkType: hard -"@vitest/snapshot@npm:4.1.6": - version: 4.1.6 - resolution: "@vitest/snapshot@npm:4.1.6" +"@vitest/snapshot@npm:4.1.7": + version: 4.1.7 + resolution: "@vitest/snapshot@npm:4.1.7" dependencies: - "@vitest/pretty-format": "npm:4.1.6" - "@vitest/utils": "npm:4.1.6" + "@vitest/pretty-format": "npm:4.1.7" + "@vitest/utils": "npm:4.1.7" magic-string: "npm:^0.30.21" pathe: "npm:^2.0.3" - checksum: 10c0/596d7cd2fe12b57516e983e550d238c324a3cefaac826e557b0903cfbb11f6ff79582bf2df6dc3163cf604c305ffe3840e47f03a95b8fb8d7bf6200462e8cfea + checksum: 10c0/6fa49c4242a4acc0557ee6a20552db41f4f4c9d2d4c05993181c3f5f19e66579e08f63d34f792b79400547ab791ef500a9955b77390c381e45c3bb8e33717793 languageName: node linkType: hard -"@vitest/spy@npm:4.1.6": - version: 4.1.6 - resolution: "@vitest/spy@npm:4.1.6" - checksum: 10c0/908034532fb10888f759603194b11058bdabdf9bb86ef7839feec98f809e4802cf8d74c279c521ef2df12fa9ab97d0aec7c886e1e6910c5c9dfb10ba00913d91 +"@vitest/spy@npm:4.1.7": + version: 4.1.7 + resolution: "@vitest/spy@npm:4.1.7" + checksum: 10c0/be2a95d5c5c438b57c9b33cef1289fb02659214754b5e946cb4b8183e2b5089e49e3fda6ca05981f3ea9872b207595db109e25072668c0a671203f69fddbbe99 languageName: node linkType: hard -"@vitest/utils@npm:4.1.6": - version: 4.1.6 - resolution: "@vitest/utils@npm:4.1.6" +"@vitest/utils@npm:4.1.7": + version: 4.1.7 + resolution: "@vitest/utils@npm:4.1.7" dependencies: - "@vitest/pretty-format": "npm:4.1.6" + "@vitest/pretty-format": "npm:4.1.7" convert-source-map: "npm:^2.0.0" tinyrainbow: "npm:^3.1.0" - checksum: 10c0/36437888088a1aae8565e62b9f145de9fb1599725574924477c655c7617ad677b575ac0eb3f2b3288854ed1aafff914a0417dffbb7f5244c821f157119701227 + checksum: 10c0/aa0079d8923506300527dc23ff68cf090ffcb2c6a9549e598ae22ba0eb8a6bb4448b10724b38bc6b077f9957333302a857d791ad2f7abd807bb6263c9a218833 languageName: node linkType: hard @@ -1886,8 +1884,8 @@ __metadata: resolution: "blaise-api-node-client@workspace:." dependencies: "@eslint/js": "npm:^10.0.1" - "@types/node": "npm:^25.8.0" - "@vitest/coverage-v8": "npm:^4.1.6" + "@types/node": "npm:^25.9.1" + "@vitest/coverage-v8": "npm:^4.1.7" axios: "npm:^1.16.1" axios-mock-adapter: "npm:^2.1.0" blaise-iap-node-provider: "git+https://github.com/ONSdigital/blaise-iap-node-provider.git#BLAIS5-5177" @@ -1904,27 +1902,26 @@ __metadata: prettier: "npm:^3.8.3" publint: "npm:^0.3.21" typescript: "npm:^6.0.3" - typescript-eslint: "npm:^8.59.3" - vitest: "npm:^4.1.6" + typescript-eslint: "npm:^8.59.4" + vitest: "npm:^4.1.7" languageName: unknown linkType: soft "blaise-iap-node-provider@git+https://github.com/ONSdigital/blaise-iap-node-provider.git#BLAIS5-5177": version: 1.0.0 - resolution: "blaise-iap-node-provider@https://github.com/ONSdigital/blaise-iap-node-provider.git#commit=58c7c8ec082d01be6c83213848b05922401cdc67" + resolution: "blaise-iap-node-provider@https://github.com/ONSdigital/blaise-iap-node-provider.git#commit=56d9e0840639f823bc810780bd1eb42f87c99634" dependencies: google-auth-library: "npm:^10.6.2" - jsonwebtoken: "npm:^9.0.3" - checksum: 10c0/0d52faac76e85524d474735dd7fc643ad9d7f091bf7fda95bcfe5046346e31c03f856dac178168a7cb841f81ad377e2c36690dea2dfe497e3b8a0f63fe014836 + checksum: 10c0/704f488d394a7f6a92f5455a8b47c3a70da201db6ac066c183ffa2707cc2469cd15096f685405ab91f8e2d9ad641370fd47cdd91fdf734847c9e054939a7d232 languageName: node linkType: hard "brace-expansion@npm:^5.0.5": - version: 5.0.5 - resolution: "brace-expansion@npm:5.0.5" + version: 5.0.6 + resolution: "brace-expansion@npm:5.0.6" dependencies: balanced-match: "npm:^4.0.2" - checksum: 10c0/4d238e14ed4f5cc9c07285550a41cef23121ca08ba99fa9eb5b55b580dcb6bf868b8210aa10526bdc9f8dc97f33ca2a7259039c4cc131a93042beddb424c48e3 + checksum: 10c0/8c919869b90f61d533b341d3340be5ee4413232ea89b8246cbc2f38eb014f1d8182785c98a006eaf6111d02dc9eeffefdc240d5ac158625b2ed084dccd4bbf9b languageName: node linkType: hard @@ -3104,24 +3101,6 @@ __metadata: languageName: node linkType: hard -"jsonwebtoken@npm:^9.0.3": - version: 9.0.3 - resolution: "jsonwebtoken@npm:9.0.3" - dependencies: - jws: "npm:^4.0.1" - lodash.includes: "npm:^4.3.0" - lodash.isboolean: "npm:^3.0.3" - lodash.isinteger: "npm:^4.0.4" - lodash.isnumber: "npm:^3.0.3" - lodash.isplainobject: "npm:^4.0.6" - lodash.isstring: "npm:^4.0.1" - lodash.once: "npm:^4.0.0" - ms: "npm:^2.1.1" - semver: "npm:^7.5.4" - checksum: 10c0/6ca7f1e54886ea3bde7146a5a22b53847c46e25453c7f7307a69818b9a6ad48c390b2e59d5690fcfd03c529b01960060cc4bb0c686991d6edae2285dfd30f4ba - languageName: node - linkType: hard - "jwa@npm:^2.0.1": version: 2.0.1 resolution: "jwa@npm:2.0.1" @@ -3133,7 +3112,7 @@ __metadata: languageName: node linkType: hard -"jws@npm:^4.0.0, jws@npm:^4.0.1": +"jws@npm:^4.0.0": version: 4.0.1 resolution: "jws@npm:4.0.1" dependencies: @@ -3316,55 +3295,6 @@ __metadata: languageName: node linkType: hard -"lodash.includes@npm:^4.3.0": - version: 4.3.0 - resolution: "lodash.includes@npm:4.3.0" - checksum: 10c0/7ca498b9b75bf602d04e48c0adb842dfc7d90f77bcb2a91a2b2be34a723ad24bc1c8b3683ec6b2552a90f216c723cdea530ddb11a3320e08fa38265703978f4b - languageName: node - linkType: hard - -"lodash.isboolean@npm:^3.0.3": - version: 3.0.3 - resolution: "lodash.isboolean@npm:3.0.3" - checksum: 10c0/0aac604c1ef7e72f9a6b798e5b676606042401dd58e49f051df3cc1e3adb497b3d7695635a5cbec4ae5f66456b951fdabe7d6b387055f13267cde521f10ec7f7 - languageName: node - linkType: hard - -"lodash.isinteger@npm:^4.0.4": - version: 4.0.4 - resolution: "lodash.isinteger@npm:4.0.4" - checksum: 10c0/4c3e023a2373bf65bf366d3b8605b97ec830bca702a926939bcaa53f8e02789b6a176e7f166b082f9365bfec4121bfeb52e86e9040cb8d450e64c858583f61b7 - languageName: node - linkType: hard - -"lodash.isnumber@npm:^3.0.3": - version: 3.0.3 - resolution: "lodash.isnumber@npm:3.0.3" - checksum: 10c0/2d01530513a1ee4f72dd79528444db4e6360588adcb0e2ff663db2b3f642d4bb3d687051ae1115751ca9082db4fdef675160071226ca6bbf5f0c123dbf0aa12d - languageName: node - linkType: hard - -"lodash.isplainobject@npm:^4.0.6": - version: 4.0.6 - resolution: "lodash.isplainobject@npm:4.0.6" - checksum: 10c0/afd70b5c450d1e09f32a737bed06ff85b873ecd3d3d3400458725283e3f2e0bb6bf48e67dbe7a309eb371a822b16a26cca4a63c8c52db3fc7dc9d5f9dd324cbb - languageName: node - linkType: hard - -"lodash.isstring@npm:^4.0.1": - version: 4.0.1 - resolution: "lodash.isstring@npm:4.0.1" - checksum: 10c0/09eaf980a283f9eef58ef95b30ec7fee61df4d6bf4aba3b5f096869cc58f24c9da17900febc8ffd67819b4e29de29793190e88dc96983db92d84c95fa85d1c92 - languageName: node - linkType: hard - -"lodash.once@npm:^4.0.0": - version: 4.1.1 - resolution: "lodash.once@npm:4.1.1" - checksum: 10c0/46a9a0a66c45dd812fcc016e46605d85ad599fe87d71a02f6736220554b52ffbe82e79a483ad40f52a8a95755b0d1077fba259da8bfb6694a7abbf4a48f1fc04 - languageName: node - linkType: hard - "magic-string@npm:^0.30.21": version: 0.30.21 resolution: "magic-string@npm:0.30.21" @@ -3375,13 +3305,13 @@ __metadata: linkType: hard "magicast@npm:^0.5.2": - version: 0.5.2 - resolution: "magicast@npm:0.5.2" + version: 0.5.3 + resolution: "magicast@npm:0.5.3" dependencies: - "@babel/parser": "npm:^7.29.0" + "@babel/parser": "npm:^7.29.3" "@babel/types": "npm:^7.29.0" source-map-js: "npm:^1.2.1" - checksum: 10c0/924af677643c5a0a7d6cdb3247c0eb96fa7611b2ba6a5e720d35d81c503d3d9f5948eb5227f80f90f82ea3e7d38cffd10bb988f3fc09020db428e14f26e960d7 + checksum: 10c0/e288c027ae5f2a794a59148cb114f4b60f1d5c03090de6c60b4d187f12d1de9158779cd7c39cea391609f4f10cd7ea737929f25f7ce44f7a96ba96ec1a477e39 languageName: node linkType: hard @@ -3456,14 +3386,14 @@ __metadata: languageName: node linkType: hard -"ms@npm:^2.1.1, ms@npm:^2.1.3": +"ms@npm:^2.1.3": version: 2.1.3 resolution: "ms@npm:2.1.3" checksum: 10c0/d924b57e7312b3b63ad21fc5b3dc0af5e78d61a1fc7cfb5457edaf26326bf62be5307cc87ffb6862ef1c2b33b0233cdb5d4f01c4c958cc0d660948b65a287a48 languageName: node linkType: hard -"nanoid@npm:^3.3.11": +"nanoid@npm:^3.3.12": version: 3.3.12 resolution: "nanoid@npm:3.3.12" bin: @@ -3472,7 +3402,7 @@ __metadata: languageName: node linkType: hard -"napi-postinstall@npm:^0.3.0": +"napi-postinstall@npm:^0.3.4": version: 0.3.4 resolution: "napi-postinstall@npm:0.3.4" bin: @@ -3757,14 +3687,14 @@ __metadata: languageName: node linkType: hard -"postcss@npm:^8.5.10": - version: 8.5.14 - resolution: "postcss@npm:8.5.14" +"postcss@npm:^8.5.14": + version: 8.5.15 + resolution: "postcss@npm:8.5.15" dependencies: - nanoid: "npm:^3.3.11" + nanoid: "npm:^3.3.12" picocolors: "npm:^1.1.1" source-map-js: "npm:^1.2.1" - checksum: 10c0/48138207cf5ef5581be1bfe2cb65ccfe0ac75e43888ba045afc8ed6043d7b56aeb3b9a9fe5b353ff554be943cd0cc15d826ccb991525159175971e5ee8ab0237 + checksum: 10c0/7f2e63ae22fbe43aace1bf652bd99da4e90737c64194d49e51ddc9cd0f9e51ff2861a7d734379b494deffa03a880a5c65eec70bc29ee9ebaa7136dde3eee8f31 languageName: node linkType: hard @@ -3833,27 +3763,27 @@ __metadata: languageName: node linkType: hard -"rolldown@npm:1.0.0-rc.17": - version: 1.0.0-rc.17 - resolution: "rolldown@npm:1.0.0-rc.17" - dependencies: - "@oxc-project/types": "npm:=0.127.0" - "@rolldown/binding-android-arm64": "npm:1.0.0-rc.17" - "@rolldown/binding-darwin-arm64": "npm:1.0.0-rc.17" - "@rolldown/binding-darwin-x64": "npm:1.0.0-rc.17" - "@rolldown/binding-freebsd-x64": "npm:1.0.0-rc.17" - "@rolldown/binding-linux-arm-gnueabihf": "npm:1.0.0-rc.17" - "@rolldown/binding-linux-arm64-gnu": "npm:1.0.0-rc.17" - "@rolldown/binding-linux-arm64-musl": "npm:1.0.0-rc.17" - "@rolldown/binding-linux-ppc64-gnu": "npm:1.0.0-rc.17" - "@rolldown/binding-linux-s390x-gnu": "npm:1.0.0-rc.17" - "@rolldown/binding-linux-x64-gnu": "npm:1.0.0-rc.17" - "@rolldown/binding-linux-x64-musl": "npm:1.0.0-rc.17" - "@rolldown/binding-openharmony-arm64": "npm:1.0.0-rc.17" - "@rolldown/binding-wasm32-wasi": "npm:1.0.0-rc.17" - "@rolldown/binding-win32-arm64-msvc": "npm:1.0.0-rc.17" - "@rolldown/binding-win32-x64-msvc": "npm:1.0.0-rc.17" - "@rolldown/pluginutils": "npm:1.0.0-rc.17" +"rolldown@npm:1.0.1": + version: 1.0.1 + resolution: "rolldown@npm:1.0.1" + dependencies: + "@oxc-project/types": "npm:=0.130.0" + "@rolldown/binding-android-arm64": "npm:1.0.1" + "@rolldown/binding-darwin-arm64": "npm:1.0.1" + "@rolldown/binding-darwin-x64": "npm:1.0.1" + "@rolldown/binding-freebsd-x64": "npm:1.0.1" + "@rolldown/binding-linux-arm-gnueabihf": "npm:1.0.1" + "@rolldown/binding-linux-arm64-gnu": "npm:1.0.1" + "@rolldown/binding-linux-arm64-musl": "npm:1.0.1" + "@rolldown/binding-linux-ppc64-gnu": "npm:1.0.1" + "@rolldown/binding-linux-s390x-gnu": "npm:1.0.1" + "@rolldown/binding-linux-x64-gnu": "npm:1.0.1" + "@rolldown/binding-linux-x64-musl": "npm:1.0.1" + "@rolldown/binding-openharmony-arm64": "npm:1.0.1" + "@rolldown/binding-wasm32-wasi": "npm:1.0.1" + "@rolldown/binding-win32-arm64-msvc": "npm:1.0.1" + "@rolldown/binding-win32-x64-msvc": "npm:1.0.1" + "@rolldown/pluginutils": "npm:^1.0.0" dependenciesMeta: "@rolldown/binding-android-arm64": optional: true @@ -3887,7 +3817,7 @@ __metadata: optional: true bin: rolldown: bin/cli.mjs - checksum: 10c0/bb99abc62ece4e34edd06d2b8eb9ffb7194dc2f0465a4329bb106cbde3006a10f1575e3580b198b793341109a2109581aed623c537c12b0c3a4ba0d72169b2fb + checksum: 10c0/0631c071874e1471c33923905061fa514fce2bd43c2e741adcddcaa4d9beaa2ba7a5d14af130d53753d838823e15b59f5acef7d24fb83ffb7aef15933b78e7d3 languageName: node linkType: hard @@ -3907,12 +3837,12 @@ __metadata: languageName: node linkType: hard -"semver@npm:^7.3.5, semver@npm:^7.5.3, semver@npm:^7.5.4, semver@npm:^7.7.1, semver@npm:^7.7.2, semver@npm:^7.7.3, semver@npm:^7.7.4": - version: 7.7.4 - resolution: "semver@npm:7.7.4" +"semver@npm:^7.3.5, semver@npm:^7.5.3, semver@npm:^7.7.1, semver@npm:^7.7.2, semver@npm:^7.7.3, semver@npm:^7.7.4": + version: 7.8.0 + resolution: "semver@npm:7.8.0" bin: semver: bin/semver.js - checksum: 10c0/5215ad0234e2845d4ea5bb9d836d42b03499546ddafb12075566899fc617f68794bb6f146076b6881d755de17d6c6cc73372555879ec7dce2c2feee947866ad2 + checksum: 10c0/8f096ca9b80ffd47b308d03f9ce8c873e27e2983f36023c559cdc92c51e8433fc23ebbfe57ec9623fc155636a6961ee989501099841ae4bb1babc8d2b3f048cd languageName: node linkType: hard @@ -4000,15 +3930,15 @@ __metadata: linkType: hard "tar@npm:^7.5.4": - version: 7.5.14 - resolution: "tar@npm:7.5.14" + version: 7.5.15 + resolution: "tar@npm:7.5.15" dependencies: "@isaacs/fs-minipass": "npm:^4.0.0" chownr: "npm:^3.0.0" minipass: "npm:^7.1.2" minizlib: "npm:^3.1.0" yallist: "npm:^5.0.0" - checksum: 10c0/619573265fa45295ff0b378f1097ab43187ab7b66e9483d3ad8f467c287674fb182ec878ef50a08761b8ab487863cb429902cf65fe361d47e330a95bfc4ca9e8 + checksum: 10c0/8f039edb1d12fdd7df6c6f9877d125afe9f3da3f5f9317df326fdd090d48793d6998cede1506a1471f3e3a250db270a89dace28005eb5e99c5a9132d704ac956 languageName: node linkType: hard @@ -4068,18 +3998,18 @@ __metadata: languageName: node linkType: hard -"typescript-eslint@npm:^8.59.3": - version: 8.59.3 - resolution: "typescript-eslint@npm:8.59.3" +"typescript-eslint@npm:^8.59.4": + version: 8.59.4 + resolution: "typescript-eslint@npm:8.59.4" dependencies: - "@typescript-eslint/eslint-plugin": "npm:8.59.3" - "@typescript-eslint/parser": "npm:8.59.3" - "@typescript-eslint/typescript-estree": "npm:8.59.3" - "@typescript-eslint/utils": "npm:8.59.3" + "@typescript-eslint/eslint-plugin": "npm:8.59.4" + "@typescript-eslint/parser": "npm:8.59.4" + "@typescript-eslint/typescript-estree": "npm:8.59.4" + "@typescript-eslint/utils": "npm:8.59.4" peerDependencies: eslint: ^8.57.0 || ^9.0.0 || ^10.0.0 typescript: ">=4.8.4 <6.1.0" - checksum: 10c0/7bd251921d583be5a29565118a5babc068e7c1e893d30a0dbea4215ed20cebcad186b419ba747e001b48339e18c4a2cf6c936e013a77b225692f7f48331839f6 + checksum: 10c0/96241e50eac4e646e56b7950405aa861ff2f744e4268c98e240ee702db0b45463a1e9146f09fbc71bfd8dc53b2b3c43c2f1fab6a92154c7e1c2b7373bcd5c90e languageName: node linkType: hard @@ -4125,29 +4055,32 @@ __metadata: linkType: hard "unrs-resolver@npm:^1.7.11, unrs-resolver@npm:^1.9.2": - version: 1.11.1 - resolution: "unrs-resolver@npm:1.11.1" - dependencies: - "@unrs/resolver-binding-android-arm-eabi": "npm:1.11.1" - "@unrs/resolver-binding-android-arm64": "npm:1.11.1" - "@unrs/resolver-binding-darwin-arm64": "npm:1.11.1" - "@unrs/resolver-binding-darwin-x64": "npm:1.11.1" - "@unrs/resolver-binding-freebsd-x64": "npm:1.11.1" - "@unrs/resolver-binding-linux-arm-gnueabihf": "npm:1.11.1" - "@unrs/resolver-binding-linux-arm-musleabihf": "npm:1.11.1" - "@unrs/resolver-binding-linux-arm64-gnu": "npm:1.11.1" - "@unrs/resolver-binding-linux-arm64-musl": "npm:1.11.1" - "@unrs/resolver-binding-linux-ppc64-gnu": "npm:1.11.1" - "@unrs/resolver-binding-linux-riscv64-gnu": "npm:1.11.1" - "@unrs/resolver-binding-linux-riscv64-musl": "npm:1.11.1" - "@unrs/resolver-binding-linux-s390x-gnu": "npm:1.11.1" - "@unrs/resolver-binding-linux-x64-gnu": "npm:1.11.1" - "@unrs/resolver-binding-linux-x64-musl": "npm:1.11.1" - "@unrs/resolver-binding-wasm32-wasi": "npm:1.11.1" - "@unrs/resolver-binding-win32-arm64-msvc": "npm:1.11.1" - "@unrs/resolver-binding-win32-ia32-msvc": "npm:1.11.1" - "@unrs/resolver-binding-win32-x64-msvc": "npm:1.11.1" - napi-postinstall: "npm:^0.3.0" + version: 1.12.2 + resolution: "unrs-resolver@npm:1.12.2" + dependencies: + "@unrs/resolver-binding-android-arm-eabi": "npm:1.12.2" + "@unrs/resolver-binding-android-arm64": "npm:1.12.2" + "@unrs/resolver-binding-darwin-arm64": "npm:1.12.2" + "@unrs/resolver-binding-darwin-x64": "npm:1.12.2" + "@unrs/resolver-binding-freebsd-x64": "npm:1.12.2" + "@unrs/resolver-binding-linux-arm-gnueabihf": "npm:1.12.2" + "@unrs/resolver-binding-linux-arm-musleabihf": "npm:1.12.2" + "@unrs/resolver-binding-linux-arm64-gnu": "npm:1.12.2" + "@unrs/resolver-binding-linux-arm64-musl": "npm:1.12.2" + "@unrs/resolver-binding-linux-loong64-gnu": "npm:1.12.2" + "@unrs/resolver-binding-linux-loong64-musl": "npm:1.12.2" + "@unrs/resolver-binding-linux-ppc64-gnu": "npm:1.12.2" + "@unrs/resolver-binding-linux-riscv64-gnu": "npm:1.12.2" + "@unrs/resolver-binding-linux-riscv64-musl": "npm:1.12.2" + "@unrs/resolver-binding-linux-s390x-gnu": "npm:1.12.2" + "@unrs/resolver-binding-linux-x64-gnu": "npm:1.12.2" + "@unrs/resolver-binding-linux-x64-musl": "npm:1.12.2" + "@unrs/resolver-binding-openharmony-arm64": "npm:1.12.2" + "@unrs/resolver-binding-wasm32-wasi": "npm:1.12.2" + "@unrs/resolver-binding-win32-arm64-msvc": "npm:1.12.2" + "@unrs/resolver-binding-win32-ia32-msvc": "npm:1.12.2" + "@unrs/resolver-binding-win32-x64-msvc": "npm:1.12.2" + napi-postinstall: "npm:^0.3.4" dependenciesMeta: "@unrs/resolver-binding-android-arm-eabi": optional: true @@ -4167,6 +4100,10 @@ __metadata: optional: true "@unrs/resolver-binding-linux-arm64-musl": optional: true + "@unrs/resolver-binding-linux-loong64-gnu": + optional: true + "@unrs/resolver-binding-linux-loong64-musl": + optional: true "@unrs/resolver-binding-linux-ppc64-gnu": optional: true "@unrs/resolver-binding-linux-riscv64-gnu": @@ -4179,6 +4116,8 @@ __metadata: optional: true "@unrs/resolver-binding-linux-x64-musl": optional: true + "@unrs/resolver-binding-openharmony-arm64": + optional: true "@unrs/resolver-binding-wasm32-wasi": optional: true "@unrs/resolver-binding-win32-arm64-msvc": @@ -4187,7 +4126,7 @@ __metadata: optional: true "@unrs/resolver-binding-win32-x64-msvc": optional: true - checksum: 10c0/c91b112c71a33d6b24e5c708dab43ab80911f2df8ee65b87cd7a18fb5af446708e98c4b415ca262026ad8df326debcc7ca6a801b2935504d87fd6f0b9d70dce1 + checksum: 10c0/ddc27f6d920eabdafeac0077ebff9fd799c895cea025751dc17b360bf9be7c93c471fafebf65f205eec476f90d7daa36aef889d47362b2dd4705d68852bcfea4 languageName: node linkType: hard @@ -4201,18 +4140,18 @@ __metadata: linkType: hard "vite@npm:^6.0.0 || ^7.0.0 || ^8.0.0": - version: 8.0.10 - resolution: "vite@npm:8.0.10" + version: 8.0.13 + resolution: "vite@npm:8.0.13" dependencies: fsevents: "npm:~2.3.3" lightningcss: "npm:^1.32.0" picomatch: "npm:^4.0.4" - postcss: "npm:^8.5.10" - rolldown: "npm:1.0.0-rc.17" + postcss: "npm:^8.5.14" + rolldown: "npm:1.0.1" tinyglobby: "npm:^0.2.16" peerDependencies: "@types/node": ^20.19.0 || >=22.12.0 - "@vitejs/devtools": ^0.1.0 + "@vitejs/devtools": ^0.1.18 esbuild: ^0.27.0 || ^0.28.0 jiti: ">=1.21.0" less: ^4.0.0 @@ -4253,21 +4192,21 @@ __metadata: optional: true bin: vite: bin/vite.js - checksum: 10c0/92188b82654f856dbe562a1b679de695bb6ca18c0f43c4c276f84a869fb78e22dedb7c2df83b5617d6afdca979c059d654b5f61a0936a45f49917f352b9325ca + checksum: 10c0/8f4d6fd30c3be710f76dba8ee7cd156902200e649884911cfa8e6e5f7ad4dd5b6933bdd4f0c46c0169c49ddce9ce1bfab6d395df9d176c0d959e3ba0e5ee54e4 languageName: node linkType: hard -"vitest@npm:^4.1.6": - version: 4.1.6 - resolution: "vitest@npm:4.1.6" - dependencies: - "@vitest/expect": "npm:4.1.6" - "@vitest/mocker": "npm:4.1.6" - "@vitest/pretty-format": "npm:4.1.6" - "@vitest/runner": "npm:4.1.6" - "@vitest/snapshot": "npm:4.1.6" - "@vitest/spy": "npm:4.1.6" - "@vitest/utils": "npm:4.1.6" +"vitest@npm:^4.1.7": + version: 4.1.7 + resolution: "vitest@npm:4.1.7" + dependencies: + "@vitest/expect": "npm:4.1.7" + "@vitest/mocker": "npm:4.1.7" + "@vitest/pretty-format": "npm:4.1.7" + "@vitest/runner": "npm:4.1.7" + "@vitest/snapshot": "npm:4.1.7" + "@vitest/spy": "npm:4.1.7" + "@vitest/utils": "npm:4.1.7" es-module-lexer: "npm:^2.0.0" expect-type: "npm:^1.3.0" magic-string: "npm:^0.30.21" @@ -4285,12 +4224,12 @@ __metadata: "@edge-runtime/vm": "*" "@opentelemetry/api": ^1.9.0 "@types/node": ^20.0.0 || ^22.0.0 || >=24.0.0 - "@vitest/browser-playwright": 4.1.6 - "@vitest/browser-preview": 4.1.6 - "@vitest/browser-webdriverio": 4.1.6 - "@vitest/coverage-istanbul": 4.1.6 - "@vitest/coverage-v8": 4.1.6 - "@vitest/ui": 4.1.6 + "@vitest/browser-playwright": 4.1.7 + "@vitest/browser-preview": 4.1.7 + "@vitest/browser-webdriverio": 4.1.7 + "@vitest/coverage-istanbul": 4.1.7 + "@vitest/coverage-v8": 4.1.7 + "@vitest/ui": 4.1.7 happy-dom: "*" jsdom: "*" vite: ^6.0.0 || ^7.0.0 || ^8.0.0 @@ -4321,7 +4260,7 @@ __metadata: optional: false bin: vitest: vitest.mjs - checksum: 10c0/1da4c23f02cd39cb20a857d48462d1d6100eeb4644fc0defc7c6eef9d481f85d2598b72d39eb4a8d271fafa8328ac3ffcca11b27865385e88d9d65c8b29b8091 + checksum: 10c0/5328eab211161bdb854159154b02d7b2beab0cf1e26a1c13f6a64b0f1402029d41f19987cf60684051c09a6925030285195ecbe57271c2033e1d4f7a666590d0 languageName: node linkType: hard @@ -4408,16 +4347,7 @@ __metadata: languageName: node linkType: hard -"yaml@npm:^2.8.3": - version: 2.8.4 - resolution: "yaml@npm:2.8.4" - bin: - yaml: bin.mjs - checksum: 10c0/0a33a1fa28d4bc79f61a12ec7ef7a2bce0ce5f8e80c6eaecfb4a0c88c08767dd1ede372b6a3bcd70891213b8c9f3169b355c97e77026d3b3459e10d2cccaef1e - languageName: node - linkType: hard - -"yaml@npm:^2.9.0": +"yaml@npm:^2.8.3, yaml@npm:^2.9.0": version: 2.9.0 resolution: "yaml@npm:2.9.0" bin: From 01e2427d885d1578fe309bd3e8015703b9c30f6c Mon Sep 17 00:00:00 2001 From: Richmond Rice Date: Wed, 20 May 2026 22:21:42 +0100 Subject: [PATCH 30/36] pkg update --- yarn.lock | 4371 ----------------------------------------------------- 1 file changed, 4371 deletions(-) delete mode 100644 yarn.lock diff --git a/yarn.lock b/yarn.lock deleted file mode 100644 index 9d961c3..0000000 --- a/yarn.lock +++ /dev/null @@ -1,4371 +0,0 @@ -# This file is generated by running "yarn install" inside your project. -# Manual changes might be lost - proceed with caution! - -__metadata: - version: 9 - cacheKey: 10c0 - -"@babel/helper-string-parser@npm:^7.27.1": - version: 7.27.1 - resolution: "@babel/helper-string-parser@npm:7.27.1" - checksum: 10c0/8bda3448e07b5583727c103560bcf9c4c24b3c1051a4c516d4050ef69df37bb9a4734a585fe12725b8c2763de0a265aa1e909b485a4e3270b7cfd3e4dbe4b602 - languageName: node - linkType: hard - -"@babel/helper-validator-identifier@npm:^7.28.5": - version: 7.28.5 - resolution: "@babel/helper-validator-identifier@npm:7.28.5" - checksum: 10c0/42aaebed91f739a41f3d80b72752d1f95fd7c72394e8e4bd7cdd88817e0774d80a432451bcba17c2c642c257c483bf1d409dd4548883429ea9493a3bc4ab0847 - languageName: node - linkType: hard - -"@babel/parser@npm:^7.29.3": - version: 7.29.3 - resolution: "@babel/parser@npm:7.29.3" - dependencies: - "@babel/types": "npm:^7.29.0" - bin: - parser: ./bin/babel-parser.js - checksum: 10c0/f06920c819550c0db689e4c5b626bf55ba3cebf80ebe9ccfa434e134036cf3de50951fe759f74abb2dae381989239860bde46d4600328578ad1f7114c3711a6d - languageName: node - linkType: hard - -"@babel/types@npm:^7.29.0": - version: 7.29.0 - resolution: "@babel/types@npm:7.29.0" - dependencies: - "@babel/helper-string-parser": "npm:^7.27.1" - "@babel/helper-validator-identifier": "npm:^7.28.5" - checksum: 10c0/23cc3466e83bcbfab8b9bd0edaafdb5d4efdb88b82b3be6728bbade5ba2f0996f84f63b1c5f7a8c0d67efded28300898a5f930b171bb40b311bca2029c4e9b4f - languageName: node - linkType: hard - -"@bcoe/v8-coverage@npm:^1.0.2": - version: 1.0.2 - resolution: "@bcoe/v8-coverage@npm:1.0.2" - checksum: 10c0/1eb1dc93cc17fb7abdcef21a6e7b867d6aa99a7ec88ec8207402b23d9083ab22a8011213f04b2cf26d535f1d22dc26139b7929e6c2134c254bd1e14ba5e678c3 - languageName: node - linkType: hard - -"@cspell/cspell-bundled-dicts@npm:10.0.0": - version: 10.0.0 - resolution: "@cspell/cspell-bundled-dicts@npm:10.0.0" - dependencies: - "@cspell/dict-ada": "npm:^4.1.1" - "@cspell/dict-al": "npm:^1.1.1" - "@cspell/dict-aws": "npm:^4.0.17" - "@cspell/dict-bash": "npm:^4.2.2" - "@cspell/dict-companies": "npm:^3.2.11" - "@cspell/dict-cpp": "npm:^7.0.2" - "@cspell/dict-cryptocurrencies": "npm:^5.0.5" - "@cspell/dict-csharp": "npm:^4.0.8" - "@cspell/dict-css": "npm:^4.1.1" - "@cspell/dict-dart": "npm:^2.3.2" - "@cspell/dict-data-science": "npm:^2.0.13" - "@cspell/dict-django": "npm:^4.1.6" - "@cspell/dict-docker": "npm:^1.1.17" - "@cspell/dict-dotnet": "npm:^5.0.13" - "@cspell/dict-elixir": "npm:^4.0.8" - "@cspell/dict-en-common-misspellings": "npm:^2.1.12" - "@cspell/dict-en-gb-mit": "npm:^3.1.22" - "@cspell/dict-en_us": "npm:^4.4.33" - "@cspell/dict-filetypes": "npm:^3.0.18" - "@cspell/dict-flutter": "npm:^1.1.1" - "@cspell/dict-fonts": "npm:^4.0.6" - "@cspell/dict-fsharp": "npm:^1.1.1" - "@cspell/dict-fullstack": "npm:^3.2.9" - "@cspell/dict-gaming-terms": "npm:^1.1.2" - "@cspell/dict-git": "npm:^3.1.0" - "@cspell/dict-golang": "npm:^6.0.26" - "@cspell/dict-google": "npm:^1.0.9" - "@cspell/dict-haskell": "npm:^4.0.6" - "@cspell/dict-html": "npm:^4.0.15" - "@cspell/dict-html-symbol-entities": "npm:^4.0.5" - "@cspell/dict-java": "npm:^5.0.12" - "@cspell/dict-julia": "npm:^1.1.1" - "@cspell/dict-k8s": "npm:^1.0.12" - "@cspell/dict-kotlin": "npm:^1.1.1" - "@cspell/dict-latex": "npm:^5.1.0" - "@cspell/dict-lorem-ipsum": "npm:^4.0.5" - "@cspell/dict-lua": "npm:^4.0.8" - "@cspell/dict-makefile": "npm:^1.0.5" - "@cspell/dict-markdown": "npm:^2.0.16" - "@cspell/dict-monkeyc": "npm:^1.0.12" - "@cspell/dict-node": "npm:^5.0.9" - "@cspell/dict-npm": "npm:^5.2.38" - "@cspell/dict-php": "npm:^4.1.1" - "@cspell/dict-powershell": "npm:^5.0.15" - "@cspell/dict-public-licenses": "npm:^2.0.16" - "@cspell/dict-python": "npm:^4.2.26" - "@cspell/dict-r": "npm:^2.1.1" - "@cspell/dict-ruby": "npm:^5.1.1" - "@cspell/dict-rust": "npm:^4.1.2" - "@cspell/dict-scala": "npm:^5.0.9" - "@cspell/dict-shell": "npm:^1.1.2" - "@cspell/dict-software-terms": "npm:^5.2.2" - "@cspell/dict-sql": "npm:^2.2.1" - "@cspell/dict-svelte": "npm:^1.0.7" - "@cspell/dict-swift": "npm:^2.0.6" - "@cspell/dict-terraform": "npm:^1.1.3" - "@cspell/dict-typescript": "npm:^3.2.3" - "@cspell/dict-vue": "npm:^3.0.5" - "@cspell/dict-zig": "npm:^1.0.0" - checksum: 10c0/9fc90a2aa2f4f7370de37d8efab24a444eb95d5a8084dcd7410ee6a5a0797be48c43999e83566b9f77da73d677785d3845e3689e21cf8c59c659a3028025781a - languageName: node - linkType: hard - -"@cspell/cspell-json-reporter@npm:10.0.0": - version: 10.0.0 - resolution: "@cspell/cspell-json-reporter@npm:10.0.0" - dependencies: - "@cspell/cspell-types": "npm:10.0.0" - checksum: 10c0/d8b6ba8b081f235a93ec5685c40721e82263194f771d49968024e33dfb0a55b28589e6430eba83af45247ca7c121f8d1e725bb086c5e7e2fbba9fde935d547ec - languageName: node - linkType: hard - -"@cspell/cspell-performance-monitor@npm:10.0.0": - version: 10.0.0 - resolution: "@cspell/cspell-performance-monitor@npm:10.0.0" - checksum: 10c0/6c6f2905a6a4652ba6c0b414336de1e788bbcd995aed3cbebeec3e18ffaee34f08618af1672eba4ab8de2bd408c33e877ed75a679f30e6ed6b09ed6403122bc4 - languageName: node - linkType: hard - -"@cspell/cspell-pipe@npm:10.0.0": - version: 10.0.0 - resolution: "@cspell/cspell-pipe@npm:10.0.0" - checksum: 10c0/153614da4bd1e6e5702fcd4b9fa1577586652b942148607d4be6d477c1c14bcdd60daea044a17766e6e9b0762725574d8df3ffbf3013b2c8425fb3e9e7de6915 - languageName: node - linkType: hard - -"@cspell/cspell-resolver@npm:10.0.0": - version: 10.0.0 - resolution: "@cspell/cspell-resolver@npm:10.0.0" - dependencies: - global-directory: "npm:^5.0.0" - checksum: 10c0/a23acedbab5111af0c778a8305e965e9edfa5dc5e9c564b99a0dc126d0748bfd24e216c166fd0870adeb09ac30683ebf584ccb62e1289eefe1ccf5074748bc41 - languageName: node - linkType: hard - -"@cspell/cspell-service-bus@npm:10.0.0": - version: 10.0.0 - resolution: "@cspell/cspell-service-bus@npm:10.0.0" - checksum: 10c0/833279699282e993bf1195128e5c9fcc80a55be33fa30fd0de45664307387cd2996b709ca65223e3bb391b1f452f7ae3df8078b5776f80c30c95abba4f4a9528 - languageName: node - linkType: hard - -"@cspell/cspell-types@npm:10.0.0": - version: 10.0.0 - resolution: "@cspell/cspell-types@npm:10.0.0" - checksum: 10c0/f55ddee79160d3f06572850428c65726facf702676eee0fd2fdb77d827e9efbb946faffc025e57aefab3f8bbc026b0a2439952bb221d8aa357e0e05148f85e97 - languageName: node - linkType: hard - -"@cspell/cspell-worker@npm:10.0.0": - version: 10.0.0 - resolution: "@cspell/cspell-worker@npm:10.0.0" - dependencies: - cspell-lib: "npm:10.0.0" - checksum: 10c0/eae66e913542cef04873b3e4d7817f4606429670a9b4f302b4b42fa86c8a6c0f9abea7f1a527f746935d00bc8bdae312b6b2de9e0a64d69cb820e94b2a138c6b - languageName: node - linkType: hard - -"@cspell/dict-ada@npm:^4.1.1": - version: 4.1.1 - resolution: "@cspell/dict-ada@npm:4.1.1" - checksum: 10c0/4943399b5dd7dbed220b92ddcc6d3c55d0b00f141b52a39f35b9235e8f8cad8c0e63cab6af3f8f9e6ea669e672799215e50320059cae972fcd34174f4cbf38c7 - languageName: node - linkType: hard - -"@cspell/dict-al@npm:^1.1.1": - version: 1.1.1 - resolution: "@cspell/dict-al@npm:1.1.1" - checksum: 10c0/a6bd4d57a3027f91a44bd37f29f449beb684032cc88ba742a7b1576a3fac3f9d93c57b0a3b45eea732efb50c322ce2b8de386e1b15f605372ed312d4db6bc292 - languageName: node - linkType: hard - -"@cspell/dict-aws@npm:^4.0.17": - version: 4.0.17 - resolution: "@cspell/dict-aws@npm:4.0.17" - checksum: 10c0/d421a78aee8cc3db78a0bdffad2ceda9ca8e476498398809f2975bae9f03233df1112e713f2d699239600a9019d5e8f11ca60dfcb49fdce56815d5e794285c7b - languageName: node - linkType: hard - -"@cspell/dict-bash@npm:^4.2.2": - version: 4.2.2 - resolution: "@cspell/dict-bash@npm:4.2.2" - dependencies: - "@cspell/dict-shell": "npm:1.1.2" - checksum: 10c0/51b0552319cf190ab75841e7ea5d8919ecb2f165d8c1b9d3b26c90c5e30b9769e6a21212194b20db64a03a4c3f084d17be1f9957ecd733e90b2770e011d0e89b - languageName: node - linkType: hard - -"@cspell/dict-companies@npm:^3.2.11": - version: 3.2.11 - resolution: "@cspell/dict-companies@npm:3.2.11" - checksum: 10c0/9aa941967bbc48e171cb862b250d274fdc4234449a96f146b4814b0927897af827a056adb244ab110ca9a4ea5837819a4031eef2c7de0f0791a4d30a408b16a6 - languageName: node - linkType: hard - -"@cspell/dict-cpp@npm:^7.0.2": - version: 7.0.2 - resolution: "@cspell/dict-cpp@npm:7.0.2" - checksum: 10c0/a2926a6e896f04aa795edcd5fe3ac72cf1e05b97719946388cf31cf91737cfee816ffdd220e1960af60d7049daa37262787e76534afa5479fe10691af096b54c - languageName: node - linkType: hard - -"@cspell/dict-cryptocurrencies@npm:^5.0.5": - version: 5.0.5 - resolution: "@cspell/dict-cryptocurrencies@npm:5.0.5" - checksum: 10c0/d28c05f26d500bf05d08d725b43b5c1d740177b31ebdfcd03ae9929988b7878c3a6c94b99d8e355a5b20201f8af4b71713fb7f417548b69d621129ad6863be51 - languageName: node - linkType: hard - -"@cspell/dict-csharp@npm:^4.0.8": - version: 4.0.8 - resolution: "@cspell/dict-csharp@npm:4.0.8" - checksum: 10c0/b55dbe323b973e0e98d76a17205b103fbb52dec01d45d55aa06a14f1acc6c8bec259f7923bbe6138d1af2b11463969d920214ce0fc6e89eaf6fa08f86b10184e - languageName: node - linkType: hard - -"@cspell/dict-css@npm:^4.1.1": - version: 4.1.1 - resolution: "@cspell/dict-css@npm:4.1.1" - checksum: 10c0/979058aeaf695664255326b09d7fddbea57cb187484ae45e4741b6f6b92650b0ef9ce52d32651ba1927a6c2af3098ffa87edcad9f6f552e2c90c7c553ce2aac1 - languageName: node - linkType: hard - -"@cspell/dict-dart@npm:^2.3.2": - version: 2.3.2 - resolution: "@cspell/dict-dart@npm:2.3.2" - checksum: 10c0/1c0842ff09785aaf2bc2e68f4c05ec5e20331f3fce1503ef5a87305feb223f6e23404c68e4991bb90c6473825a7f8cd65b3ed86eef0d8032d43b13558ddb1753 - languageName: node - linkType: hard - -"@cspell/dict-data-science@npm:^2.0.13": - version: 2.0.13 - resolution: "@cspell/dict-data-science@npm:2.0.13" - checksum: 10c0/63d8291ef0e62defbf4b98e58bd1039747efdb6348fa64c128a01a0b28b93ce1724e878e945b1ca7d8f568a49446a46ed65ef71531130c7b1b1fddb5328a1a0e - languageName: node - linkType: hard - -"@cspell/dict-django@npm:^4.1.6": - version: 4.1.6 - resolution: "@cspell/dict-django@npm:4.1.6" - checksum: 10c0/76f71cba5a692df48554a3cd7cff7e27df85ab826e2cddf0594c21062e5c96de3090508314659a9ec708913a4afd61afb0f044ae8c41a1ec573583d516056f2d - languageName: node - linkType: hard - -"@cspell/dict-docker@npm:^1.1.17": - version: 1.1.17 - resolution: "@cspell/dict-docker@npm:1.1.17" - checksum: 10c0/1aaa4ffba7842b9044d1c4c6ae704907e6be3d8407c7feb986b3b7efa2e0139fc2ea3c3ad955d7ba4c92b5f577e05648ffc00a2a27b76d2bb93acde431452e58 - languageName: node - linkType: hard - -"@cspell/dict-dotnet@npm:^5.0.13": - version: 5.0.13 - resolution: "@cspell/dict-dotnet@npm:5.0.13" - checksum: 10c0/b34792ea2b1258f4e215487c4ff61de2fb3c9c6e0381fec03c4fb8132f2decd2b7b73a6450c507e8a3211e616282a3ace94e7d99363503e0efa4ef2cb6f2fcca - languageName: node - linkType: hard - -"@cspell/dict-elixir@npm:^4.0.8": - version: 4.0.8 - resolution: "@cspell/dict-elixir@npm:4.0.8" - checksum: 10c0/fe63aace353de8a134102764a58344fe755f27276fddcdf7e858d250ee13732a58f37f940c13bae7080fc286cb5b327ed168d201758da49243a1e45f42512c5f - languageName: node - linkType: hard - -"@cspell/dict-en-common-misspellings@npm:^2.1.12": - version: 2.1.12 - resolution: "@cspell/dict-en-common-misspellings@npm:2.1.12" - checksum: 10c0/5b7acd175ba76f164dcb5f5b7e910511dbd005bbab77fb5ae082603b01112d352af84bcd8d3ddef020db187b51056c4ce6a02dab8aebfcf0aa0dc416a66729a5 - languageName: node - linkType: hard - -"@cspell/dict-en-gb-mit@npm:^3.1.22": - version: 3.1.22 - resolution: "@cspell/dict-en-gb-mit@npm:3.1.22" - checksum: 10c0/78501fafeae62b966579c10de1f4fc24dedd57f83bdcafc72e314c9b781490858423890932b974f370dc8da2943cc8fdae435a289b13a397d8aa7986aa391d07 - languageName: node - linkType: hard - -"@cspell/dict-en_us@npm:^4.4.33": - version: 4.4.33 - resolution: "@cspell/dict-en_us@npm:4.4.33" - checksum: 10c0/c2b226f6879a58cfeecfa209116a241aabb9482b7fe56cac115b46bfefd557ec4f06efa33ae96c4d6e883cae70b5fdde83063315504c1dc4e4fb7916a46c2045 - languageName: node - linkType: hard - -"@cspell/dict-filetypes@npm:^3.0.18": - version: 3.0.18 - resolution: "@cspell/dict-filetypes@npm:3.0.18" - checksum: 10c0/b7a223eacef51770ed844b48b64d92b05b41a0a2ecbb6856ba8758fe8e444ca5f4252ecc511ac00ec1d12c1b12aef1198865f612cceaaf6d304c92b049a739cb - languageName: node - linkType: hard - -"@cspell/dict-flutter@npm:^1.1.1": - version: 1.1.1 - resolution: "@cspell/dict-flutter@npm:1.1.1" - checksum: 10c0/77e4533e6e7a38261ba2d744ca0c3aabb78f79b1ba6a2fde32169e475e5f940a526503097e520807155a0d8d0c16db346968873a32f1e99393be687da505e1b4 - languageName: node - linkType: hard - -"@cspell/dict-fonts@npm:^4.0.6": - version: 4.0.6 - resolution: "@cspell/dict-fonts@npm:4.0.6" - checksum: 10c0/73095a5bb3ec6ca24c7f01298b8344646005c0c05857b24ae106d7f795acf0b7107f4aaa677224c899d7aad7d0383f9f82dddd11a6b4cf3b26e3e5166b222674 - languageName: node - linkType: hard - -"@cspell/dict-fsharp@npm:^1.1.1": - version: 1.1.1 - resolution: "@cspell/dict-fsharp@npm:1.1.1" - checksum: 10c0/919de1f2a29d646781cb3114985f2730cc5ee0a253dc03c225c4430e73659e1189891fa7fa09c43179437e7386f4094e41d23d754b0a99a342344986094e2846 - languageName: node - linkType: hard - -"@cspell/dict-fullstack@npm:^3.2.9": - version: 3.2.9 - resolution: "@cspell/dict-fullstack@npm:3.2.9" - checksum: 10c0/a13d08099d1048797fe37d2a654846ff5086193bd29d57b62423ebc74f6c08c9f3b52c49f08b73d6bd09cdb393b70351f85f151893a20a5f8c858e474dd42e75 - languageName: node - linkType: hard - -"@cspell/dict-gaming-terms@npm:^1.1.2": - version: 1.1.2 - resolution: "@cspell/dict-gaming-terms@npm:1.1.2" - checksum: 10c0/eba9c672d352e54011704d97f5467158c02c238fa1639e64177ee1cd0d2c52deb57f0c9ae5f3c64d1742fd6a479515d0d8de5d1fc4ef8c5db58affb9947c90ea - languageName: node - linkType: hard - -"@cspell/dict-git@npm:^3.1.0": - version: 3.1.0 - resolution: "@cspell/dict-git@npm:3.1.0" - checksum: 10c0/161a9bd35f44173993c84ec2bc394c5fab4fe7d69070daa170be4922e295d60a3e34cecb04869a8b685b761c7ace83241ff4d60db93d2850368d769733a58de9 - languageName: node - linkType: hard - -"@cspell/dict-golang@npm:^6.0.26": - version: 6.0.26 - resolution: "@cspell/dict-golang@npm:6.0.26" - checksum: 10c0/514c54dc72620975e552ad91ecc8d98143611224e7fe3606fc6041f3248e9f9457be1f25027ff1d9bc2961459c5759dff3a01251054aab83bbcc9f927648b755 - languageName: node - linkType: hard - -"@cspell/dict-google@npm:^1.0.9": - version: 1.0.9 - resolution: "@cspell/dict-google@npm:1.0.9" - checksum: 10c0/f7e10353f97910a884f1d5ea4e60d4dd5a475ab27b669e97ade88669b1726eb4ed7c4f2ae5e3a227da77a15433ca3b6faba8d8700ff431b31c812d3c5329c8e4 - languageName: node - linkType: hard - -"@cspell/dict-haskell@npm:^4.0.6": - version: 4.0.6 - resolution: "@cspell/dict-haskell@npm:4.0.6" - checksum: 10c0/cb8a179e26190ca333789dcbd1dae3c03ec28a8d4dd99756e770c9cf837e66a78f291e6db0d8ea7763cdbb968b0369998c593978a3bb52a9b38aaa4ce8746b3a - languageName: node - linkType: hard - -"@cspell/dict-html-symbol-entities@npm:^4.0.5": - version: 4.0.5 - resolution: "@cspell/dict-html-symbol-entities@npm:4.0.5" - checksum: 10c0/8278b8cca06e6d3654e81b1809227ff1d64e053f79308966ea601194ce51fa3a385dde6844509b26223de70d034e60a85c604a729f021c0de63f8a5e6f29b0ce - languageName: node - linkType: hard - -"@cspell/dict-html@npm:^4.0.15": - version: 4.0.15 - resolution: "@cspell/dict-html@npm:4.0.15" - checksum: 10c0/0812ae7f11ea2160ab4df8039b0f5af023c102d8806dc6ea9b8a90f96cc564b00dad167c3eb1a6685a244980ac203cc168438b352c84918a215147ef632aca10 - languageName: node - linkType: hard - -"@cspell/dict-java@npm:^5.0.12": - version: 5.0.12 - resolution: "@cspell/dict-java@npm:5.0.12" - checksum: 10c0/aba65f3762350c7e9381f5dc174d3cd1292379eef6b426e1561aeca3476c63268a10b99cfcd7b8cd15bbaef8dfa7abb914a3f34f211c504064a22409a1441923 - languageName: node - linkType: hard - -"@cspell/dict-julia@npm:^1.1.1": - version: 1.1.1 - resolution: "@cspell/dict-julia@npm:1.1.1" - checksum: 10c0/6dbc4c17bbee1a95491bf77b9438924852e9393699ac24e02a0b6846fdaf00a6ed5baafa94aa91a6f50016c3ab43c399ac814afa6504518da7e2f26a97ff3d0e - languageName: node - linkType: hard - -"@cspell/dict-k8s@npm:^1.0.12": - version: 1.0.12 - resolution: "@cspell/dict-k8s@npm:1.0.12" - checksum: 10c0/53ca1b0d86f8432fb9548982edfde402985a1dc7c0b778374968a9b657e53bace638ef188551c0847588e2bf6ad147d2cd0ee92d5a37b71b0791e63971bfd2d1 - languageName: node - linkType: hard - -"@cspell/dict-kotlin@npm:^1.1.1": - version: 1.1.1 - resolution: "@cspell/dict-kotlin@npm:1.1.1" - checksum: 10c0/45d0efc3701007b87e562d434eae8b05a16f730b28dd6d3ec237014d1b87dfa49075b57fad1acdb7b7939c64777f5238b991379debd9a45d91a3193a1e3481fc - languageName: node - linkType: hard - -"@cspell/dict-latex@npm:^5.1.0": - version: 5.1.0 - resolution: "@cspell/dict-latex@npm:5.1.0" - checksum: 10c0/e806722c0ff1581a069245cb297b954f8e24fb6e1942f2547b0fee7783fc9b59d08fe2d2c7ddf3f7f9eef60d783ac9a4290f37956b9723b13e21c9422d7962b0 - languageName: node - linkType: hard - -"@cspell/dict-lorem-ipsum@npm:^4.0.5": - version: 4.0.5 - resolution: "@cspell/dict-lorem-ipsum@npm:4.0.5" - checksum: 10c0/dd28957e60f4f68baec72fb69196394b9993fcadadcf018c58de75bf89434e4cd49e694cd33dccfcd18d4f65e489f37d284044ef75615613369e0a72dd2ec974 - languageName: node - linkType: hard - -"@cspell/dict-lua@npm:^4.0.8": - version: 4.0.8 - resolution: "@cspell/dict-lua@npm:4.0.8" - checksum: 10c0/24dd577a75bcc5fcd194a337fdcb7a443f239b1b22f7392787ed8e9fd82f03f14b524a5f49a394c2d372ba493ab6cb3aebe7219da69e4565404b11cc29a909a3 - languageName: node - linkType: hard - -"@cspell/dict-makefile@npm:^1.0.5": - version: 1.0.5 - resolution: "@cspell/dict-makefile@npm:1.0.5" - checksum: 10c0/ee6ae5472493cb5fde7326c4ecb9e036b8a3cd348c3c06c2cbe5ce420a13776bd8f6fb0709f2f5bb62f745ea4d1fa63d59e533fbce13bde07743867f77818e86 - languageName: node - linkType: hard - -"@cspell/dict-markdown@npm:^2.0.16": - version: 2.0.16 - resolution: "@cspell/dict-markdown@npm:2.0.16" - peerDependencies: - "@cspell/dict-css": ^4.1.1 - "@cspell/dict-html": ^4.0.15 - "@cspell/dict-html-symbol-entities": ^4.0.5 - "@cspell/dict-typescript": ^3.2.3 - checksum: 10c0/563414ae9d6b0a12ba89c54ec62ada59c1fbc0b7199a85d607d9aae22e6446f2fb1757a737b0d631843989888b611bf39eebf79eef1a43e37e0584181274248c - languageName: node - linkType: hard - -"@cspell/dict-monkeyc@npm:^1.0.12": - version: 1.0.12 - resolution: "@cspell/dict-monkeyc@npm:1.0.12" - checksum: 10c0/97250565f808cbf37d66f2585db7accf449bc1836c72b3fac0449896fe17b8dfa3e5dc15f27f4e5cbe61dc7c24e9b17c1d7f475c934cd7c68b1aa597386a5bc0 - languageName: node - linkType: hard - -"@cspell/dict-node@npm:^5.0.9": - version: 5.0.9 - resolution: "@cspell/dict-node@npm:5.0.9" - checksum: 10c0/129fa7cd204e26769829912a8a64225af45b5cf0438f597329966e1c3db5ffca04b4c426d9cee594f271d14500e11319bc7ed371207cb18d73966000303e3072 - languageName: node - linkType: hard - -"@cspell/dict-npm@npm:^5.2.38": - version: 5.2.38 - resolution: "@cspell/dict-npm@npm:5.2.38" - checksum: 10c0/6eeeb9a0fd114fedaf7b8599f899484b20acd4e67a008056833b5791d59098c023023ac7afcbe5f35e7863ff6f64dad5012fbfaa8edb8695775d8f5635d53395 - languageName: node - linkType: hard - -"@cspell/dict-php@npm:^4.1.1": - version: 4.1.1 - resolution: "@cspell/dict-php@npm:4.1.1" - checksum: 10c0/e11e2a3799b2c9ea590ce8b2e69838965f3d8f83020961720afde9c9c57b6ccdb013d54346900766ccf422c548c916dd2aaa890563d36cf12498ad3ddfe67d7a - languageName: node - linkType: hard - -"@cspell/dict-powershell@npm:^5.0.15": - version: 5.0.15 - resolution: "@cspell/dict-powershell@npm:5.0.15" - checksum: 10c0/be9219dcaaa85ce3c8c51330cab3464b3dc3ea333ef96e98cca16375f80a807ee590f41fc0630e97460292f6a73d4ccb0d7c44b032a7c2fdaa168fe951631797 - languageName: node - linkType: hard - -"@cspell/dict-public-licenses@npm:^2.0.16": - version: 2.0.16 - resolution: "@cspell/dict-public-licenses@npm:2.0.16" - checksum: 10c0/473a29eb6fa8cf0d64fffcac0a686c492777dca9a0d6be4c890bcb0e98cb2f01a4afbbfcb88e903a5895593567ec6f2646097f07b0453b689fd70272088aa2a0 - languageName: node - linkType: hard - -"@cspell/dict-python@npm:^4.2.26": - version: 4.2.26 - resolution: "@cspell/dict-python@npm:4.2.26" - dependencies: - "@cspell/dict-data-science": "npm:^2.0.13" - checksum: 10c0/3773c7856b47648f5f54c92cf5660f121fbafc98ecca5d6ab6767e2a8b297598b0c51e43f404faac9eef7a72adbf8c49312aea3d16399cee14a11746a2277e09 - languageName: node - linkType: hard - -"@cspell/dict-r@npm:^2.1.1": - version: 2.1.1 - resolution: "@cspell/dict-r@npm:2.1.1" - checksum: 10c0/ff36a7f8669dde33e09d824de487bbab584c0105c61c97f38375835664a42566874051891d8ede7ac134bab4bd84c12bd333800d9c548386086ac496a87fd576 - languageName: node - linkType: hard - -"@cspell/dict-ruby@npm:^5.1.1": - version: 5.1.1 - resolution: "@cspell/dict-ruby@npm:5.1.1" - checksum: 10c0/ec23c736a4e5588c8c55a44b5c31eb7238a199ac4f2a84fd9aa6558a80f6416c42d7eaa7337e30590b66bbaac5523b6d64519f7e33eadc4cf1d878f20bb86fc0 - languageName: node - linkType: hard - -"@cspell/dict-rust@npm:^4.1.2": - version: 4.1.2 - resolution: "@cspell/dict-rust@npm:4.1.2" - checksum: 10c0/ccee1ef1652f8855f2fee1c5b7c173eda9660f0c7f1eadb550ab2e4e8e2ee2e31eee903e294a32052996fed4045907b0a53383f6fe74d28a04de94a4ac69a29d - languageName: node - linkType: hard - -"@cspell/dict-scala@npm:^5.0.9": - version: 5.0.9 - resolution: "@cspell/dict-scala@npm:5.0.9" - checksum: 10c0/f6b214f4cebcb68a270f4e5cb4163fdd59b58afb28894ac6f523025f411792454c6645c0c616d00af10ea541d5fbd25d34ad7986ddef1bb2181003e39140abbe - languageName: node - linkType: hard - -"@cspell/dict-shell@npm:1.1.2, @cspell/dict-shell@npm:^1.1.2": - version: 1.1.2 - resolution: "@cspell/dict-shell@npm:1.1.2" - checksum: 10c0/5c05d24e6944abee63f6726630967691d175376152c98f8ed82a149d8f2065b507dd1fbbb542b8df01c19280b23737ed786c9c527d6a3b3386f525ec6478eafc - languageName: node - linkType: hard - -"@cspell/dict-software-terms@npm:^5.2.2": - version: 5.2.2 - resolution: "@cspell/dict-software-terms@npm:5.2.2" - checksum: 10c0/eca6c5ee91a21c76b9d735c5777521287c896bd03e448c8512b61b75e926a269aef5e03dd0ea3cd2b8291ea56e6f140742f4a4826045603fffdeaba228272557 - languageName: node - linkType: hard - -"@cspell/dict-sql@npm:^2.2.1": - version: 2.2.1 - resolution: "@cspell/dict-sql@npm:2.2.1" - checksum: 10c0/0e4e763a81669226cd54888546b0cffb12b66be0f945e97c1ea11638a3e4a074408bafeac10a7cf455781a0e5d55b41f5b0ff6fb0d58ae0b043dc1f37e792d51 - languageName: node - linkType: hard - -"@cspell/dict-svelte@npm:^1.0.7": - version: 1.0.7 - resolution: "@cspell/dict-svelte@npm:1.0.7" - checksum: 10c0/08aaf8818c6626bb330359d9682893daade5884105421db6916636a54423f043b706d49a3ad0b07fe05e7751753f9fa8dda1ac6c11662d6f16741c87f30d0c2a - languageName: node - linkType: hard - -"@cspell/dict-swift@npm:^2.0.6": - version: 2.0.6 - resolution: "@cspell/dict-swift@npm:2.0.6" - checksum: 10c0/ef8e5a6a63dd29055fd614a4d29e50b81fb88db166bb239a15279583def70786f6f3eb63e0071f771efe35b94739d22e5d48ccb4542dd0f217b71229f93a6377 - languageName: node - linkType: hard - -"@cspell/dict-terraform@npm:^1.1.3": - version: 1.1.3 - resolution: "@cspell/dict-terraform@npm:1.1.3" - checksum: 10c0/3964295ef52ab787d42360c48f312614034181f3b63c9a567a724c07af35872d6e2c96f765f2f9ba87e8a40451961844307459c40e066506b549cd55e1746ece - languageName: node - linkType: hard - -"@cspell/dict-typescript@npm:^3.2.3": - version: 3.2.3 - resolution: "@cspell/dict-typescript@npm:3.2.3" - checksum: 10c0/b4bb34efa2f3ce120cf5a7d4aab4a49ffcb2aaa59c5d81aa5e2550e06d61738399e015c9e1447c1beb9fadbf6b084523be696ae9d5f9d3b63ea6f6189d280316 - languageName: node - linkType: hard - -"@cspell/dict-vue@npm:^3.0.5": - version: 3.0.5 - resolution: "@cspell/dict-vue@npm:3.0.5" - checksum: 10c0/da4a1778095c8f56953d1f1934f41369e4e5c9b83e0862cd37782aae875820e8404f8dd3cd4cb2ea5be46370dd1698966f69b50121c75a50b8652414dc26f2cc - languageName: node - linkType: hard - -"@cspell/dict-zig@npm:^1.0.0": - version: 1.0.0 - resolution: "@cspell/dict-zig@npm:1.0.0" - checksum: 10c0/bc302e117002c9d6ebfb5d3e085d9a6f2e65d63440deb9f137dce1d8a75650593f5b83d47488ab394cfbc173be032661dc36bc74c85b9826f60a7d2fc7955ffc - languageName: node - linkType: hard - -"@cspell/dynamic-import@npm:10.0.0": - version: 10.0.0 - resolution: "@cspell/dynamic-import@npm:10.0.0" - dependencies: - "@cspell/url": "npm:10.0.0" - import-meta-resolve: "npm:^4.2.0" - checksum: 10c0/8ea1134ae75a2ffd2101017036437562eff03cc773864b2d69a1fa7ab304494d06ebfe5b5e59159d42c8a40dc1c623992642e2ab6d66a2b11f12f97b5e620bfb - languageName: node - linkType: hard - -"@cspell/filetypes@npm:10.0.0": - version: 10.0.0 - resolution: "@cspell/filetypes@npm:10.0.0" - checksum: 10c0/e66d285756f2390341318c9045ba12c0e05e704d74eb715023cfd56fcb368a51b5c4a6c835103c8f9f8fb1cfbe17d443736c3aa0df4f3848acf69bf75ffeca19 - languageName: node - linkType: hard - -"@cspell/rpc@npm:10.0.0": - version: 10.0.0 - resolution: "@cspell/rpc@npm:10.0.0" - checksum: 10c0/394f52040f062fa2335dd0a8e34ff7679553af6abd4d97bb7b0fbcde100b26f728ea3239a16953567815612270bdb13d236b2ce2689f530511aa117e4c081d6e - languageName: node - linkType: hard - -"@cspell/strong-weak-map@npm:10.0.0": - version: 10.0.0 - resolution: "@cspell/strong-weak-map@npm:10.0.0" - checksum: 10c0/bfdff730f5adff3b42c49ce35eece42f7e193843c8e69a9f87276eb1ba29144caaf72eabedcb6564e117905053161e8e59432963ccfcc0319707a98d127a80ff - languageName: node - linkType: hard - -"@cspell/url@npm:10.0.0": - version: 10.0.0 - resolution: "@cspell/url@npm:10.0.0" - checksum: 10c0/78bd9075bc0b9457c51ccbc1294220e35d159d1e5687501d0f28706ad331c9ee8f9869098e0aaab27d608594e55b9434efd94123d64205d8a2343938c089b20d - languageName: node - linkType: hard - -"@emnapi/core@npm:1.10.0": - version: 1.10.0 - resolution: "@emnapi/core@npm:1.10.0" - dependencies: - "@emnapi/wasi-threads": "npm:1.2.1" - tslib: "npm:^2.4.0" - checksum: 10c0/f51d08227857b60632de7714d708124f0e100a1462dde6df8221760939aa3204a73193830371830fac0716f3ccd2129f2cac1b17cd7d7958bc4da9018a296edb - languageName: node - linkType: hard - -"@emnapi/runtime@npm:1.10.0": - version: 1.10.0 - resolution: "@emnapi/runtime@npm:1.10.0" - dependencies: - tslib: "npm:^2.4.0" - checksum: 10c0/953f14991d1aefb92ee6f8eb27dea725e484791a53a0cb5f47d9e0087b9a2c929ff2e92adf95af15d6ad456db6300c6b761ebf72b50a875b874a83520b3ba093 - languageName: node - linkType: hard - -"@emnapi/wasi-threads@npm:1.2.1": - version: 1.2.1 - resolution: "@emnapi/wasi-threads@npm:1.2.1" - dependencies: - tslib: "npm:^2.4.0" - checksum: 10c0/32fcfa81ab396533b2ec1f4082b1ff779a05d9c836bbbd3f4398405b0e6814c0d9503b7993130e37bc6941dbc1ded49f55e9700ae9ca4e803bab2b5bc5deb331 - languageName: node - linkType: hard - -"@eslint-community/eslint-utils@npm:^4.5.1, @eslint-community/eslint-utils@npm:^4.8.0, @eslint-community/eslint-utils@npm:^4.9.1": - version: 4.9.1 - resolution: "@eslint-community/eslint-utils@npm:4.9.1" - dependencies: - eslint-visitor-keys: "npm:^3.4.3" - peerDependencies: - eslint: ^6.0.0 || ^7.0.0 || >=8.0.0 - checksum: 10c0/dc4ab5e3e364ef27e33666b11f4b86e1a6c1d7cbf16f0c6ff87b1619b3562335e9201a3d6ce806221887ff780ec9d828962a290bb910759fd40a674686503f02 - languageName: node - linkType: hard - -"@eslint-community/regexpp@npm:^4.12.2": - version: 4.12.2 - resolution: "@eslint-community/regexpp@npm:4.12.2" - checksum: 10c0/fddcbc66851b308478d04e302a4d771d6917a0b3740dc351513c0da9ca2eab8a1adf99f5e0aa7ab8b13fa0df005c81adeee7e63a92f3effd7d367a163b721c2d - languageName: node - linkType: hard - -"@eslint/config-array@npm:^0.23.5": - version: 0.23.5 - resolution: "@eslint/config-array@npm:0.23.5" - dependencies: - "@eslint/object-schema": "npm:^3.0.5" - debug: "npm:^4.3.1" - minimatch: "npm:^10.2.4" - checksum: 10c0/b24833c4c76e78ee075d306cd3f095db46b2db0f90cc13a6ee6e4275f9889731c05bf5403ab5fefb79c756e07ac9184ed0e04570341382f9eccbccc80e6d1a0c - languageName: node - linkType: hard - -"@eslint/config-helpers@npm:^0.6.0": - version: 0.6.0 - resolution: "@eslint/config-helpers@npm:0.6.0" - dependencies: - "@eslint/core": "npm:^1.2.1" - checksum: 10c0/f9af20e8b60b0ba27edb74b8eb40c0c5d51a9bf9baf9e053bb57833a87cb0a1c49b4dfaad88fc24d49c907ad1324c8a0b668684fa9c321351dac4bc9155ec10a - languageName: node - linkType: hard - -"@eslint/core@npm:^1.0.1, @eslint/core@npm:^1.1.1, @eslint/core@npm:^1.2.1": - version: 1.2.1 - resolution: "@eslint/core@npm:1.2.1" - dependencies: - "@types/json-schema": "npm:^7.0.15" - checksum: 10c0/10979b40588ecfef771fcb5013a542a35fb30692cc95a65f3481b0b36fbd89f5679efeb30d57f4eed35203d859aabace2a620177d6c536f71b299a1af2f3398f - languageName: node - linkType: hard - -"@eslint/js@npm:^10.0.1": - version: 10.0.1 - resolution: "@eslint/js@npm:10.0.1" - peerDependencies: - eslint: ^10.0.0 - peerDependenciesMeta: - eslint: - optional: true - checksum: 10c0/9f3fcaf71ba7fdf65d82e8faad6ecfe97e11801cc3c362b306a88ea1ed1344ae0d35330dddb0e8ad18f010f6687a70b75491b9e01c8af57acd7987cee6b3ec6c - languageName: node - linkType: hard - -"@eslint/object-schema@npm:^3.0.5": - version: 3.0.5 - resolution: "@eslint/object-schema@npm:3.0.5" - checksum: 10c0/1db337431f520b99e9edda64ef5fafd7ec6a029843eeb608753025125b6649d861d843cffafafd3c4e37926d7d5f9ec0c6a8e3665c13c3da2144e8132892e92e - languageName: node - linkType: hard - -"@eslint/plugin-kit@npm:^0.6.0": - version: 0.6.1 - resolution: "@eslint/plugin-kit@npm:0.6.1" - dependencies: - "@eslint/core": "npm:^1.1.1" - levn: "npm:^0.4.1" - checksum: 10c0/f8354a7b92cc41e7a55d51986d192134be84f9dc0c91b5e649d075d733b56981c4ca8bf4460d54120c4c87b47984167bad2cb9bceb303f11b0a3bad22b3ed06a - languageName: node - linkType: hard - -"@eslint/plugin-kit@npm:^0.7.1": - version: 0.7.1 - resolution: "@eslint/plugin-kit@npm:0.7.1" - dependencies: - "@eslint/core": "npm:^1.2.1" - levn: "npm:^0.4.1" - checksum: 10c0/335b0c1c46fd906cb50bd5ce442b9cee18dc44342ce35c718ba4a63d1aa51d2797f16a517b2f4fe371ccd777b6862fafb2dc8195e00e69197ef4cb17ab32c01b - languageName: node - linkType: hard - -"@humanfs/core@npm:^0.19.2": - version: 0.19.2 - resolution: "@humanfs/core@npm:0.19.2" - dependencies: - "@humanfs/types": "npm:^0.15.0" - checksum: 10c0/d0a1d52d7b30c27d49475a53072d1510b81c5803e44b342fb8faf3887f1aa27593a1e6dc76a45268e7892d3f4e198146659281f6b6d55eacf3fd5a38bac30c5c - languageName: node - linkType: hard - -"@humanfs/node@npm:^0.16.6": - version: 0.16.8 - resolution: "@humanfs/node@npm:0.16.8" - dependencies: - "@humanfs/core": "npm:^0.19.2" - "@humanfs/types": "npm:^0.15.0" - "@humanwhocodes/retry": "npm:^0.4.0" - checksum: 10c0/56140579db811af4e160b195d45d0f29acf644d192c93fe24c9e594ebf06f19dfc157494a07c84540b8a071c0e4b37209c2362765d31734f4d0be869c2422e25 - languageName: node - linkType: hard - -"@humanfs/types@npm:^0.15.0": - version: 0.15.0 - resolution: "@humanfs/types@npm:0.15.0" - checksum: 10c0/fc26b9a024b0e55f7eaf64036df94345bf5d36d6a41ef80ef38e78f1f7430ce26cf435af736adae58913baae18eac3f38c18739054a3d379102015978eae862e - languageName: node - linkType: hard - -"@humanwhocodes/module-importer@npm:^1.0.1": - version: 1.0.1 - resolution: "@humanwhocodes/module-importer@npm:1.0.1" - checksum: 10c0/909b69c3b86d482c26b3359db16e46a32e0fb30bd306a3c176b8313b9e7313dba0f37f519de6aa8b0a1921349e505f259d19475e123182416a506d7f87e7f529 - languageName: node - linkType: hard - -"@humanwhocodes/retry@npm:^0.4.0, @humanwhocodes/retry@npm:^0.4.2": - version: 0.4.3 - resolution: "@humanwhocodes/retry@npm:0.4.3" - checksum: 10c0/3775bb30087d4440b3f7406d5a057777d90e4b9f435af488a4923ef249e93615fb78565a85f173a186a076c7706a81d0d57d563a2624e4de2c5c9c66c486ce42 - languageName: node - linkType: hard - -"@isaacs/fs-minipass@npm:^4.0.0": - version: 4.0.1 - resolution: "@isaacs/fs-minipass@npm:4.0.1" - dependencies: - minipass: "npm:^7.0.4" - checksum: 10c0/c25b6dc1598790d5b55c0947a9b7d111cfa92594db5296c3b907e2f533c033666f692a3939eadac17b1c7c40d362d0b0635dc874cbfe3e70db7c2b07cc97a5d2 - languageName: node - linkType: hard - -"@jridgewell/resolve-uri@npm:^3.1.0": - version: 3.1.2 - resolution: "@jridgewell/resolve-uri@npm:3.1.2" - checksum: 10c0/d502e6fb516b35032331406d4e962c21fe77cdf1cbdb49c6142bcbd9e30507094b18972778a6e27cbad756209cfe34b1a27729e6fa08a2eb92b33943f680cf1e - languageName: node - linkType: hard - -"@jridgewell/sourcemap-codec@npm:^1.4.14, @jridgewell/sourcemap-codec@npm:^1.5.5": - version: 1.5.5 - resolution: "@jridgewell/sourcemap-codec@npm:1.5.5" - checksum: 10c0/f9e538f302b63c0ebc06eecb1dd9918dd4289ed36147a0ddce35d6ea4d7ebbda243cda7b2213b6a5e1d8087a298d5cf630fb2bd39329cdecb82017023f6081a0 - languageName: node - linkType: hard - -"@jridgewell/trace-mapping@npm:^0.3.31": - version: 0.3.31 - resolution: "@jridgewell/trace-mapping@npm:0.3.31" - dependencies: - "@jridgewell/resolve-uri": "npm:^3.1.0" - "@jridgewell/sourcemap-codec": "npm:^1.4.14" - checksum: 10c0/4b30ec8cd56c5fd9a661f088230af01e0c1a3888d11ffb6b47639700f71225be21d1f7e168048d6d4f9449207b978a235c07c8f15c07705685d16dc06280e9d9 - languageName: node - linkType: hard - -"@napi-rs/wasm-runtime@npm:^1.1.1, @napi-rs/wasm-runtime@npm:^1.1.4": - version: 1.1.4 - resolution: "@napi-rs/wasm-runtime@npm:1.1.4" - dependencies: - "@tybys/wasm-util": "npm:^0.10.1" - peerDependencies: - "@emnapi/core": ^1.7.1 - "@emnapi/runtime": ^1.7.1 - checksum: 10c0/2e88e1955258949ccf2d18c79975821ad38071b465ef126a5e14110977b97868867b016c1ad046e963cccc42c0bd9db6c8ff5fd1ebb61b87bb3487f339041658 - languageName: node - linkType: hard - -"@ota-meshi/ast-token-store@npm:^0.3.0": - version: 0.3.0 - resolution: "@ota-meshi/ast-token-store@npm:0.3.0" - checksum: 10c0/cb36d5b3e1379901e197d03869772f96d6505be8c06701dd56a02123a9a5484cfe8d759610622058675434ee2dcdba37b939cc249abe9babefcd400a63a77e9a - languageName: node - linkType: hard - -"@oxc-parser/binding-android-arm-eabi@npm:0.130.0": - version: 0.130.0 - resolution: "@oxc-parser/binding-android-arm-eabi@npm:0.130.0" - conditions: os=android & cpu=arm - languageName: node - linkType: hard - -"@oxc-parser/binding-android-arm64@npm:0.130.0": - version: 0.130.0 - resolution: "@oxc-parser/binding-android-arm64@npm:0.130.0" - conditions: os=android & cpu=arm64 - languageName: node - linkType: hard - -"@oxc-parser/binding-darwin-arm64@npm:0.130.0": - version: 0.130.0 - resolution: "@oxc-parser/binding-darwin-arm64@npm:0.130.0" - conditions: os=darwin & cpu=arm64 - languageName: node - linkType: hard - -"@oxc-parser/binding-darwin-x64@npm:0.130.0": - version: 0.130.0 - resolution: "@oxc-parser/binding-darwin-x64@npm:0.130.0" - conditions: os=darwin & cpu=x64 - languageName: node - linkType: hard - -"@oxc-parser/binding-freebsd-x64@npm:0.130.0": - version: 0.130.0 - resolution: "@oxc-parser/binding-freebsd-x64@npm:0.130.0" - conditions: os=freebsd & cpu=x64 - languageName: node - linkType: hard - -"@oxc-parser/binding-linux-arm-gnueabihf@npm:0.130.0": - version: 0.130.0 - resolution: "@oxc-parser/binding-linux-arm-gnueabihf@npm:0.130.0" - conditions: os=linux & cpu=arm - languageName: node - linkType: hard - -"@oxc-parser/binding-linux-arm-musleabihf@npm:0.130.0": - version: 0.130.0 - resolution: "@oxc-parser/binding-linux-arm-musleabihf@npm:0.130.0" - conditions: os=linux & cpu=arm - languageName: node - linkType: hard - -"@oxc-parser/binding-linux-arm64-gnu@npm:0.130.0": - version: 0.130.0 - resolution: "@oxc-parser/binding-linux-arm64-gnu@npm:0.130.0" - conditions: os=linux & cpu=arm64 & libc=glibc - languageName: node - linkType: hard - -"@oxc-parser/binding-linux-arm64-musl@npm:0.130.0": - version: 0.130.0 - resolution: "@oxc-parser/binding-linux-arm64-musl@npm:0.130.0" - conditions: os=linux & cpu=arm64 & libc=musl - languageName: node - linkType: hard - -"@oxc-parser/binding-linux-ppc64-gnu@npm:0.130.0": - version: 0.130.0 - resolution: "@oxc-parser/binding-linux-ppc64-gnu@npm:0.130.0" - conditions: os=linux & cpu=ppc64 & libc=glibc - languageName: node - linkType: hard - -"@oxc-parser/binding-linux-riscv64-gnu@npm:0.130.0": - version: 0.130.0 - resolution: "@oxc-parser/binding-linux-riscv64-gnu@npm:0.130.0" - conditions: os=linux & cpu=riscv64 & libc=glibc - languageName: node - linkType: hard - -"@oxc-parser/binding-linux-riscv64-musl@npm:0.130.0": - version: 0.130.0 - resolution: "@oxc-parser/binding-linux-riscv64-musl@npm:0.130.0" - conditions: os=linux & cpu=riscv64 & libc=musl - languageName: node - linkType: hard - -"@oxc-parser/binding-linux-s390x-gnu@npm:0.130.0": - version: 0.130.0 - resolution: "@oxc-parser/binding-linux-s390x-gnu@npm:0.130.0" - conditions: os=linux & cpu=s390x & libc=glibc - languageName: node - linkType: hard - -"@oxc-parser/binding-linux-x64-gnu@npm:0.130.0": - version: 0.130.0 - resolution: "@oxc-parser/binding-linux-x64-gnu@npm:0.130.0" - conditions: os=linux & cpu=x64 & libc=glibc - languageName: node - linkType: hard - -"@oxc-parser/binding-linux-x64-musl@npm:0.130.0": - version: 0.130.0 - resolution: "@oxc-parser/binding-linux-x64-musl@npm:0.130.0" - conditions: os=linux & cpu=x64 & libc=musl - languageName: node - linkType: hard - -"@oxc-parser/binding-openharmony-arm64@npm:0.130.0": - version: 0.130.0 - resolution: "@oxc-parser/binding-openharmony-arm64@npm:0.130.0" - conditions: os=openharmony & cpu=arm64 - languageName: node - linkType: hard - -"@oxc-parser/binding-wasm32-wasi@npm:0.130.0": - version: 0.130.0 - resolution: "@oxc-parser/binding-wasm32-wasi@npm:0.130.0" - dependencies: - "@emnapi/core": "npm:1.10.0" - "@emnapi/runtime": "npm:1.10.0" - "@napi-rs/wasm-runtime": "npm:^1.1.4" - conditions: cpu=wasm32 - languageName: node - linkType: hard - -"@oxc-parser/binding-win32-arm64-msvc@npm:0.130.0": - version: 0.130.0 - resolution: "@oxc-parser/binding-win32-arm64-msvc@npm:0.130.0" - conditions: os=win32 & cpu=arm64 - languageName: node - linkType: hard - -"@oxc-parser/binding-win32-ia32-msvc@npm:0.130.0": - version: 0.130.0 - resolution: "@oxc-parser/binding-win32-ia32-msvc@npm:0.130.0" - conditions: os=win32 & cpu=ia32 - languageName: node - linkType: hard - -"@oxc-parser/binding-win32-x64-msvc@npm:0.130.0": - version: 0.130.0 - resolution: "@oxc-parser/binding-win32-x64-msvc@npm:0.130.0" - conditions: os=win32 & cpu=x64 - languageName: node - linkType: hard - -"@oxc-project/types@npm:=0.130.0, @oxc-project/types@npm:^0.130.0": - version: 0.130.0 - resolution: "@oxc-project/types@npm:0.130.0" - checksum: 10c0/7ec8c03407b0bcb235b930c62859e6efcb3fe5cbaa5db98770d760df5c3e6b3e28a0ad22c2e35d1addede8065b40000c3822c5235dde2959af226639eb870000 - languageName: node - linkType: hard - -"@oxc-resolver/binding-android-arm-eabi@npm:11.19.1": - version: 11.19.1 - resolution: "@oxc-resolver/binding-android-arm-eabi@npm:11.19.1" - conditions: os=android & cpu=arm - languageName: node - linkType: hard - -"@oxc-resolver/binding-android-arm64@npm:11.19.1": - version: 11.19.1 - resolution: "@oxc-resolver/binding-android-arm64@npm:11.19.1" - conditions: os=android & cpu=arm64 - languageName: node - linkType: hard - -"@oxc-resolver/binding-darwin-arm64@npm:11.19.1": - version: 11.19.1 - resolution: "@oxc-resolver/binding-darwin-arm64@npm:11.19.1" - conditions: os=darwin & cpu=arm64 - languageName: node - linkType: hard - -"@oxc-resolver/binding-darwin-x64@npm:11.19.1": - version: 11.19.1 - resolution: "@oxc-resolver/binding-darwin-x64@npm:11.19.1" - conditions: os=darwin & cpu=x64 - languageName: node - linkType: hard - -"@oxc-resolver/binding-freebsd-x64@npm:11.19.1": - version: 11.19.1 - resolution: "@oxc-resolver/binding-freebsd-x64@npm:11.19.1" - conditions: os=freebsd & cpu=x64 - languageName: node - linkType: hard - -"@oxc-resolver/binding-linux-arm-gnueabihf@npm:11.19.1": - version: 11.19.1 - resolution: "@oxc-resolver/binding-linux-arm-gnueabihf@npm:11.19.1" - conditions: os=linux & cpu=arm - languageName: node - linkType: hard - -"@oxc-resolver/binding-linux-arm-musleabihf@npm:11.19.1": - version: 11.19.1 - resolution: "@oxc-resolver/binding-linux-arm-musleabihf@npm:11.19.1" - conditions: os=linux & cpu=arm - languageName: node - linkType: hard - -"@oxc-resolver/binding-linux-arm64-gnu@npm:11.19.1": - version: 11.19.1 - resolution: "@oxc-resolver/binding-linux-arm64-gnu@npm:11.19.1" - conditions: os=linux & cpu=arm64 & libc=glibc - languageName: node - linkType: hard - -"@oxc-resolver/binding-linux-arm64-musl@npm:11.19.1": - version: 11.19.1 - resolution: "@oxc-resolver/binding-linux-arm64-musl@npm:11.19.1" - conditions: os=linux & cpu=arm64 & libc=musl - languageName: node - linkType: hard - -"@oxc-resolver/binding-linux-ppc64-gnu@npm:11.19.1": - version: 11.19.1 - resolution: "@oxc-resolver/binding-linux-ppc64-gnu@npm:11.19.1" - conditions: os=linux & cpu=ppc64 & libc=glibc - languageName: node - linkType: hard - -"@oxc-resolver/binding-linux-riscv64-gnu@npm:11.19.1": - version: 11.19.1 - resolution: "@oxc-resolver/binding-linux-riscv64-gnu@npm:11.19.1" - conditions: os=linux & cpu=riscv64 & libc=glibc - languageName: node - linkType: hard - -"@oxc-resolver/binding-linux-riscv64-musl@npm:11.19.1": - version: 11.19.1 - resolution: "@oxc-resolver/binding-linux-riscv64-musl@npm:11.19.1" - conditions: os=linux & cpu=riscv64 & libc=musl - languageName: node - linkType: hard - -"@oxc-resolver/binding-linux-s390x-gnu@npm:11.19.1": - version: 11.19.1 - resolution: "@oxc-resolver/binding-linux-s390x-gnu@npm:11.19.1" - conditions: os=linux & cpu=s390x & libc=glibc - languageName: node - linkType: hard - -"@oxc-resolver/binding-linux-x64-gnu@npm:11.19.1": - version: 11.19.1 - resolution: "@oxc-resolver/binding-linux-x64-gnu@npm:11.19.1" - conditions: os=linux & cpu=x64 & libc=glibc - languageName: node - linkType: hard - -"@oxc-resolver/binding-linux-x64-musl@npm:11.19.1": - version: 11.19.1 - resolution: "@oxc-resolver/binding-linux-x64-musl@npm:11.19.1" - conditions: os=linux & cpu=x64 & libc=musl - languageName: node - linkType: hard - -"@oxc-resolver/binding-openharmony-arm64@npm:11.19.1": - version: 11.19.1 - resolution: "@oxc-resolver/binding-openharmony-arm64@npm:11.19.1" - conditions: os=openharmony & cpu=arm64 - languageName: node - linkType: hard - -"@oxc-resolver/binding-wasm32-wasi@npm:11.19.1": - version: 11.19.1 - resolution: "@oxc-resolver/binding-wasm32-wasi@npm:11.19.1" - dependencies: - "@napi-rs/wasm-runtime": "npm:^1.1.1" - conditions: cpu=wasm32 - languageName: node - linkType: hard - -"@oxc-resolver/binding-win32-arm64-msvc@npm:11.19.1": - version: 11.19.1 - resolution: "@oxc-resolver/binding-win32-arm64-msvc@npm:11.19.1" - conditions: os=win32 & cpu=arm64 - languageName: node - linkType: hard - -"@oxc-resolver/binding-win32-ia32-msvc@npm:11.19.1": - version: 11.19.1 - resolution: "@oxc-resolver/binding-win32-ia32-msvc@npm:11.19.1" - conditions: os=win32 & cpu=ia32 - languageName: node - linkType: hard - -"@oxc-resolver/binding-win32-x64-msvc@npm:11.19.1": - version: 11.19.1 - resolution: "@oxc-resolver/binding-win32-x64-msvc@npm:11.19.1" - conditions: os=win32 & cpu=x64 - languageName: node - linkType: hard - -"@package-json/types@npm:^0.0.12": - version: 0.0.12 - resolution: "@package-json/types@npm:0.0.12" - checksum: 10c0/d9bba086efe7b9901f02f1cff7a68ab23269aeddfb7ee92a16930e219f705bfc188b9fec2dd47265033dbda45ed1514d8a46f46363f38f1ad56bc993754126da - languageName: node - linkType: hard - -"@pkgr/core@npm:^0.2.9": - version: 0.2.9 - resolution: "@pkgr/core@npm:0.2.9" - checksum: 10c0/ac8e4e8138b1a7a4ac6282873aef7389c352f1f8b577b4850778f5182e4a39a5241facbe48361fec817f56d02b51691b383010843fb08b34a8e8ea3614688fd5 - languageName: node - linkType: hard - -"@publint/pack@npm:^0.1.4": - version: 0.1.4 - resolution: "@publint/pack@npm:0.1.4" - checksum: 10c0/f70b2c8951b5d312ecfd40534e1dd1b0a4fe0fd207879a73c168e3f6979df6202b8b4d4f9a0ee9de6443f0bfb95ef47a0c27c7138c083d9224ef27c67adddefd - languageName: node - linkType: hard - -"@rolldown/binding-android-arm64@npm:1.0.1": - version: 1.0.1 - resolution: "@rolldown/binding-android-arm64@npm:1.0.1" - conditions: os=android & cpu=arm64 - languageName: node - linkType: hard - -"@rolldown/binding-darwin-arm64@npm:1.0.1": - version: 1.0.1 - resolution: "@rolldown/binding-darwin-arm64@npm:1.0.1" - conditions: os=darwin & cpu=arm64 - languageName: node - linkType: hard - -"@rolldown/binding-darwin-x64@npm:1.0.1": - version: 1.0.1 - resolution: "@rolldown/binding-darwin-x64@npm:1.0.1" - conditions: os=darwin & cpu=x64 - languageName: node - linkType: hard - -"@rolldown/binding-freebsd-x64@npm:1.0.1": - version: 1.0.1 - resolution: "@rolldown/binding-freebsd-x64@npm:1.0.1" - conditions: os=freebsd & cpu=x64 - languageName: node - linkType: hard - -"@rolldown/binding-linux-arm-gnueabihf@npm:1.0.1": - version: 1.0.1 - resolution: "@rolldown/binding-linux-arm-gnueabihf@npm:1.0.1" - conditions: os=linux & cpu=arm - languageName: node - linkType: hard - -"@rolldown/binding-linux-arm64-gnu@npm:1.0.1": - version: 1.0.1 - resolution: "@rolldown/binding-linux-arm64-gnu@npm:1.0.1" - conditions: os=linux & cpu=arm64 & libc=glibc - languageName: node - linkType: hard - -"@rolldown/binding-linux-arm64-musl@npm:1.0.1": - version: 1.0.1 - resolution: "@rolldown/binding-linux-arm64-musl@npm:1.0.1" - conditions: os=linux & cpu=arm64 & libc=musl - languageName: node - linkType: hard - -"@rolldown/binding-linux-ppc64-gnu@npm:1.0.1": - version: 1.0.1 - resolution: "@rolldown/binding-linux-ppc64-gnu@npm:1.0.1" - conditions: os=linux & cpu=ppc64 & libc=glibc - languageName: node - linkType: hard - -"@rolldown/binding-linux-s390x-gnu@npm:1.0.1": - version: 1.0.1 - resolution: "@rolldown/binding-linux-s390x-gnu@npm:1.0.1" - conditions: os=linux & cpu=s390x & libc=glibc - languageName: node - linkType: hard - -"@rolldown/binding-linux-x64-gnu@npm:1.0.1": - version: 1.0.1 - resolution: "@rolldown/binding-linux-x64-gnu@npm:1.0.1" - conditions: os=linux & cpu=x64 & libc=glibc - languageName: node - linkType: hard - -"@rolldown/binding-linux-x64-musl@npm:1.0.1": - version: 1.0.1 - resolution: "@rolldown/binding-linux-x64-musl@npm:1.0.1" - conditions: os=linux & cpu=x64 & libc=musl - languageName: node - linkType: hard - -"@rolldown/binding-openharmony-arm64@npm:1.0.1": - version: 1.0.1 - resolution: "@rolldown/binding-openharmony-arm64@npm:1.0.1" - conditions: os=openharmony & cpu=arm64 - languageName: node - linkType: hard - -"@rolldown/binding-wasm32-wasi@npm:1.0.1": - version: 1.0.1 - resolution: "@rolldown/binding-wasm32-wasi@npm:1.0.1" - dependencies: - "@emnapi/core": "npm:1.10.0" - "@emnapi/runtime": "npm:1.10.0" - "@napi-rs/wasm-runtime": "npm:^1.1.4" - conditions: cpu=wasm32 - languageName: node - linkType: hard - -"@rolldown/binding-win32-arm64-msvc@npm:1.0.1": - version: 1.0.1 - resolution: "@rolldown/binding-win32-arm64-msvc@npm:1.0.1" - conditions: os=win32 & cpu=arm64 - languageName: node - linkType: hard - -"@rolldown/binding-win32-x64-msvc@npm:1.0.1": - version: 1.0.1 - resolution: "@rolldown/binding-win32-x64-msvc@npm:1.0.1" - conditions: os=win32 & cpu=x64 - languageName: node - linkType: hard - -"@rolldown/pluginutils@npm:^1.0.0": - version: 1.0.1 - resolution: "@rolldown/pluginutils@npm:1.0.1" - checksum: 10c0/99d9b06d90196823e4d8c841f258db7a16e5dbba5824a2962b05d907b79f1ba929d56f22dd744fd530936e568c865ee56a719dc31e57e13bc0a8eb4764a8d8dd - languageName: node - linkType: hard - -"@standard-schema/spec@npm:^1.1.0": - version: 1.1.0 - resolution: "@standard-schema/spec@npm:1.1.0" - checksum: 10c0/d90f55acde4b2deb983529c87e8025fa693de1a5e8b49ecc6eb84d1fd96328add0e03d7d551442156c7432fd78165b2c26ff561b970a9a881f046abb78d6a526 - languageName: node - linkType: hard - -"@tybys/wasm-util@npm:^0.10.1": - version: 0.10.2 - resolution: "@tybys/wasm-util@npm:0.10.2" - dependencies: - tslib: "npm:^2.4.0" - checksum: 10c0/26165bcd1fd7269f42d7fbe3de318f854a8968de8397e89fc9a423bb3e2da35a52150f382e6323b3367595beb16d9800a6f35971a5599daf76da1742ec3afc25 - languageName: node - linkType: hard - -"@types/chai@npm:^5.2.2": - version: 5.2.3 - resolution: "@types/chai@npm:5.2.3" - dependencies: - "@types/deep-eql": "npm:*" - assertion-error: "npm:^2.0.1" - checksum: 10c0/e0ef1de3b6f8045a5e473e867c8565788c444271409d155588504840ad1a53611011f85072188c2833941189400228c1745d78323dac13fcede9c2b28bacfb2f - languageName: node - linkType: hard - -"@types/deep-eql@npm:*": - version: 4.0.2 - resolution: "@types/deep-eql@npm:4.0.2" - checksum: 10c0/bf3f811843117900d7084b9d0c852da9a044d12eb40e6de73b552598a6843c21291a8a381b0532644574beecd5e3491c5ff3a0365ab86b15d59862c025384844 - languageName: node - linkType: hard - -"@types/esrecurse@npm:^4.3.1": - version: 4.3.1 - resolution: "@types/esrecurse@npm:4.3.1" - checksum: 10c0/90dad74d5da3ad27606d8e8e757322f33171cfeaa15ad558b615cf71bb2a516492d18f55f4816384685a3eb2412142e732bbae9a4a7cd2cf3deb7572aa4ebe03 - languageName: node - linkType: hard - -"@types/estree@npm:^1.0.0, @types/estree@npm:^1.0.6, @types/estree@npm:^1.0.8": - version: 1.0.9 - resolution: "@types/estree@npm:1.0.9" - checksum: 10c0/3ad3286ca2988cd550dafb8f2ad599c8474868e954fa601a36655bdfefd8039f7c714b8c1c7f2ae219ffbd58bd4660e66fa7479a0120fc02d4777057d4865387 - languageName: node - linkType: hard - -"@types/json-schema@npm:^7.0.15": - version: 7.0.15 - resolution: "@types/json-schema@npm:7.0.15" - checksum: 10c0/a996a745e6c5d60292f36731dd41341339d4eeed8180bb09226e5c8d23759067692b1d88e5d91d72ee83dfc00d3aca8e7bd43ea120516c17922cbcb7c3e252db - languageName: node - linkType: hard - -"@types/node@npm:^25.9.1": - version: 25.9.1 - resolution: "@types/node@npm:25.9.1" - dependencies: - undici-types: "npm:>=7.24.0 <7.24.7" - checksum: 10c0/9a04682842bebbcf21a1779dfeab9aa733d7bd7bbc0a0edb641ab3a9a3d43eac543225acf669c334f458f1956443ebc072bc3c72840c543b8b356cab5c82d456 - languageName: node - linkType: hard - -"@typescript-eslint/eslint-plugin@npm:8.59.4": - version: 8.59.4 - resolution: "@typescript-eslint/eslint-plugin@npm:8.59.4" - dependencies: - "@eslint-community/regexpp": "npm:^4.12.2" - "@typescript-eslint/scope-manager": "npm:8.59.4" - "@typescript-eslint/type-utils": "npm:8.59.4" - "@typescript-eslint/utils": "npm:8.59.4" - "@typescript-eslint/visitor-keys": "npm:8.59.4" - ignore: "npm:^7.0.5" - natural-compare: "npm:^1.4.0" - ts-api-utils: "npm:^2.5.0" - peerDependencies: - "@typescript-eslint/parser": ^8.59.4 - eslint: ^8.57.0 || ^9.0.0 || ^10.0.0 - typescript: ">=4.8.4 <6.1.0" - checksum: 10c0/53639bb5cbb5cb22d5e8d52c404a217cb1af4b1c3a8f6f3bb15824807b4db4bed49008d3b3f7688295285e764c7aff3b682b56dece3013a81de83f47bdf2b36c - languageName: node - linkType: hard - -"@typescript-eslint/parser@npm:8.59.4": - version: 8.59.4 - resolution: "@typescript-eslint/parser@npm:8.59.4" - dependencies: - "@typescript-eslint/scope-manager": "npm:8.59.4" - "@typescript-eslint/types": "npm:8.59.4" - "@typescript-eslint/typescript-estree": "npm:8.59.4" - "@typescript-eslint/visitor-keys": "npm:8.59.4" - debug: "npm:^4.4.3" - peerDependencies: - eslint: ^8.57.0 || ^9.0.0 || ^10.0.0 - typescript: ">=4.8.4 <6.1.0" - checksum: 10c0/7dccab1bec898aee2c8aa8e08560ce6d439ef174358e98d5d92ee3f8a9fc0b044534ce0eecf57521f284858f937ec968941200c1df9ffd0baa0795bffa3de97d - languageName: node - linkType: hard - -"@typescript-eslint/project-service@npm:8.59.4": - version: 8.59.4 - resolution: "@typescript-eslint/project-service@npm:8.59.4" - dependencies: - "@typescript-eslint/tsconfig-utils": "npm:^8.59.4" - "@typescript-eslint/types": "npm:^8.59.4" - debug: "npm:^4.4.3" - peerDependencies: - typescript: ">=4.8.4 <6.1.0" - checksum: 10c0/ba466e3b4091f79bd9ae8c29591d4858760293c2bc5d355642b9bf04b9c6fcd4418ff255485aaaf005edb84f6aaefeb53a3c1627bbbb70a905a4786d20f0b06a - languageName: node - linkType: hard - -"@typescript-eslint/scope-manager@npm:8.59.4": - version: 8.59.4 - resolution: "@typescript-eslint/scope-manager@npm:8.59.4" - dependencies: - "@typescript-eslint/types": "npm:8.59.4" - "@typescript-eslint/visitor-keys": "npm:8.59.4" - checksum: 10c0/0e4701f8c3384c7406f372cb06762d6bf943aba3afe2c231e4e942ee2e8b4cd4e9e7667ec503502dc4a159b826892dbe1487e2a8d143e190c850744b2a329857 - languageName: node - linkType: hard - -"@typescript-eslint/tsconfig-utils@npm:8.59.4, @typescript-eslint/tsconfig-utils@npm:^8.59.4": - version: 8.59.4 - resolution: "@typescript-eslint/tsconfig-utils@npm:8.59.4" - peerDependencies: - typescript: ">=4.8.4 <6.1.0" - checksum: 10c0/ef6cf20eb93cb5e12439bc9713f5d9c619d516aefd3ecd4f111d9b23ef9f36e5c13f1bbcd55faa6a4b788b146b2a8724a418504107d4d377d0463f419fe9e1f3 - languageName: node - linkType: hard - -"@typescript-eslint/type-utils@npm:8.59.4": - version: 8.59.4 - resolution: "@typescript-eslint/type-utils@npm:8.59.4" - dependencies: - "@typescript-eslint/types": "npm:8.59.4" - "@typescript-eslint/typescript-estree": "npm:8.59.4" - "@typescript-eslint/utils": "npm:8.59.4" - debug: "npm:^4.4.3" - ts-api-utils: "npm:^2.5.0" - peerDependencies: - eslint: ^8.57.0 || ^9.0.0 || ^10.0.0 - typescript: ">=4.8.4 <6.1.0" - checksum: 10c0/93b1a96c395b22da81990655d2fc86d627f5ad815d33faa474b83463c27d34de86a8efedce6cd911d479fcfdc5a758476efa350933f5f97a4181fd226c4ccb6d - languageName: node - linkType: hard - -"@typescript-eslint/types@npm:8.59.4, @typescript-eslint/types@npm:^8.56.0, @typescript-eslint/types@npm:^8.59.4": - version: 8.59.4 - resolution: "@typescript-eslint/types@npm:8.59.4" - checksum: 10c0/5bb831f9acf98057b3dce6ebfc1df5f1796e701cdf035e71fdee6d0bb7f7e7d9c428bac38f46db4e08381ad8903424fcfbe55bcae223a6244b9133de8e0be190 - languageName: node - linkType: hard - -"@typescript-eslint/typescript-estree@npm:8.59.4": - version: 8.59.4 - resolution: "@typescript-eslint/typescript-estree@npm:8.59.4" - dependencies: - "@typescript-eslint/project-service": "npm:8.59.4" - "@typescript-eslint/tsconfig-utils": "npm:8.59.4" - "@typescript-eslint/types": "npm:8.59.4" - "@typescript-eslint/visitor-keys": "npm:8.59.4" - debug: "npm:^4.4.3" - minimatch: "npm:^10.2.2" - semver: "npm:^7.7.3" - tinyglobby: "npm:^0.2.15" - ts-api-utils: "npm:^2.5.0" - peerDependencies: - typescript: ">=4.8.4 <6.1.0" - checksum: 10c0/2f427f9ba3ea1c7d1f476883f9769827c7082ff3cefcb189dcdb2dc33b16fa459e40894152d42583df90d0ed1041a1043830ecba5326c0b1de6becb9cf22fcee - languageName: node - linkType: hard - -"@typescript-eslint/utils@npm:8.59.4": - version: 8.59.4 - resolution: "@typescript-eslint/utils@npm:8.59.4" - dependencies: - "@eslint-community/eslint-utils": "npm:^4.9.1" - "@typescript-eslint/scope-manager": "npm:8.59.4" - "@typescript-eslint/types": "npm:8.59.4" - "@typescript-eslint/typescript-estree": "npm:8.59.4" - peerDependencies: - eslint: ^8.57.0 || ^9.0.0 || ^10.0.0 - typescript: ">=4.8.4 <6.1.0" - checksum: 10c0/f2e7f6237defd49e578731762e8736e7316e4873e326d48ec56651dcd0204962367f3e91692939e1636f443a8ded524336b7ee0874b6267940e77f5dc8fce175 - languageName: node - linkType: hard - -"@typescript-eslint/visitor-keys@npm:8.59.4": - version: 8.59.4 - resolution: "@typescript-eslint/visitor-keys@npm:8.59.4" - dependencies: - "@typescript-eslint/types": "npm:8.59.4" - eslint-visitor-keys: "npm:^5.0.0" - checksum: 10c0/fcef4078988d725f0e56104038cc903d78cb5527e10e4da2c29ae7cb65e5b46c6a8f3f20d2be3e83b4cbaf27a723d1d2b31027006b5f1d43bf1fb0baed8e7641 - languageName: node - linkType: hard - -"@unrs/resolver-binding-android-arm-eabi@npm:1.12.2": - version: 1.12.2 - resolution: "@unrs/resolver-binding-android-arm-eabi@npm:1.12.2" - conditions: os=android & cpu=arm - languageName: node - linkType: hard - -"@unrs/resolver-binding-android-arm64@npm:1.12.2": - version: 1.12.2 - resolution: "@unrs/resolver-binding-android-arm64@npm:1.12.2" - conditions: os=android & cpu=arm64 - languageName: node - linkType: hard - -"@unrs/resolver-binding-darwin-arm64@npm:1.12.2": - version: 1.12.2 - resolution: "@unrs/resolver-binding-darwin-arm64@npm:1.12.2" - conditions: os=darwin & cpu=arm64 - languageName: node - linkType: hard - -"@unrs/resolver-binding-darwin-x64@npm:1.12.2": - version: 1.12.2 - resolution: "@unrs/resolver-binding-darwin-x64@npm:1.12.2" - conditions: os=darwin & cpu=x64 - languageName: node - linkType: hard - -"@unrs/resolver-binding-freebsd-x64@npm:1.12.2": - version: 1.12.2 - resolution: "@unrs/resolver-binding-freebsd-x64@npm:1.12.2" - conditions: os=freebsd & cpu=x64 - languageName: node - linkType: hard - -"@unrs/resolver-binding-linux-arm-gnueabihf@npm:1.12.2": - version: 1.12.2 - resolution: "@unrs/resolver-binding-linux-arm-gnueabihf@npm:1.12.2" - conditions: os=linux & cpu=arm - languageName: node - linkType: hard - -"@unrs/resolver-binding-linux-arm-musleabihf@npm:1.12.2": - version: 1.12.2 - resolution: "@unrs/resolver-binding-linux-arm-musleabihf@npm:1.12.2" - conditions: os=linux & cpu=arm - languageName: node - linkType: hard - -"@unrs/resolver-binding-linux-arm64-gnu@npm:1.12.2": - version: 1.12.2 - resolution: "@unrs/resolver-binding-linux-arm64-gnu@npm:1.12.2" - conditions: os=linux & cpu=arm64 & libc=glibc - languageName: node - linkType: hard - -"@unrs/resolver-binding-linux-arm64-musl@npm:1.12.2": - version: 1.12.2 - resolution: "@unrs/resolver-binding-linux-arm64-musl@npm:1.12.2" - conditions: os=linux & cpu=arm64 & libc=musl - languageName: node - linkType: hard - -"@unrs/resolver-binding-linux-loong64-gnu@npm:1.12.2": - version: 1.12.2 - resolution: "@unrs/resolver-binding-linux-loong64-gnu@npm:1.12.2" - conditions: os=linux & cpu=loong64 & libc=glibc - languageName: node - linkType: hard - -"@unrs/resolver-binding-linux-loong64-musl@npm:1.12.2": - version: 1.12.2 - resolution: "@unrs/resolver-binding-linux-loong64-musl@npm:1.12.2" - conditions: os=linux & cpu=loong64 & libc=musl - languageName: node - linkType: hard - -"@unrs/resolver-binding-linux-ppc64-gnu@npm:1.12.2": - version: 1.12.2 - resolution: "@unrs/resolver-binding-linux-ppc64-gnu@npm:1.12.2" - conditions: os=linux & cpu=ppc64 & libc=glibc - languageName: node - linkType: hard - -"@unrs/resolver-binding-linux-riscv64-gnu@npm:1.12.2": - version: 1.12.2 - resolution: "@unrs/resolver-binding-linux-riscv64-gnu@npm:1.12.2" - conditions: os=linux & cpu=riscv64 & libc=glibc - languageName: node - linkType: hard - -"@unrs/resolver-binding-linux-riscv64-musl@npm:1.12.2": - version: 1.12.2 - resolution: "@unrs/resolver-binding-linux-riscv64-musl@npm:1.12.2" - conditions: os=linux & cpu=riscv64 & libc=musl - languageName: node - linkType: hard - -"@unrs/resolver-binding-linux-s390x-gnu@npm:1.12.2": - version: 1.12.2 - resolution: "@unrs/resolver-binding-linux-s390x-gnu@npm:1.12.2" - conditions: os=linux & cpu=s390x & libc=glibc - languageName: node - linkType: hard - -"@unrs/resolver-binding-linux-x64-gnu@npm:1.12.2": - version: 1.12.2 - resolution: "@unrs/resolver-binding-linux-x64-gnu@npm:1.12.2" - conditions: os=linux & cpu=x64 & libc=glibc - languageName: node - linkType: hard - -"@unrs/resolver-binding-linux-x64-musl@npm:1.12.2": - version: 1.12.2 - resolution: "@unrs/resolver-binding-linux-x64-musl@npm:1.12.2" - conditions: os=linux & cpu=x64 & libc=musl - languageName: node - linkType: hard - -"@unrs/resolver-binding-openharmony-arm64@npm:1.12.2": - version: 1.12.2 - resolution: "@unrs/resolver-binding-openharmony-arm64@npm:1.12.2" - conditions: os=openharmony & cpu=arm64 - languageName: node - linkType: hard - -"@unrs/resolver-binding-wasm32-wasi@npm:1.12.2": - version: 1.12.2 - resolution: "@unrs/resolver-binding-wasm32-wasi@npm:1.12.2" - dependencies: - "@emnapi/core": "npm:1.10.0" - "@emnapi/runtime": "npm:1.10.0" - "@napi-rs/wasm-runtime": "npm:^1.1.4" - conditions: cpu=wasm32 - languageName: node - linkType: hard - -"@unrs/resolver-binding-win32-arm64-msvc@npm:1.12.2": - version: 1.12.2 - resolution: "@unrs/resolver-binding-win32-arm64-msvc@npm:1.12.2" - conditions: os=win32 & cpu=arm64 - languageName: node - linkType: hard - -"@unrs/resolver-binding-win32-ia32-msvc@npm:1.12.2": - version: 1.12.2 - resolution: "@unrs/resolver-binding-win32-ia32-msvc@npm:1.12.2" - conditions: os=win32 & cpu=ia32 - languageName: node - linkType: hard - -"@unrs/resolver-binding-win32-x64-msvc@npm:1.12.2": - version: 1.12.2 - resolution: "@unrs/resolver-binding-win32-x64-msvc@npm:1.12.2" - conditions: os=win32 & cpu=x64 - languageName: node - linkType: hard - -"@vitest/coverage-v8@npm:^4.1.7": - version: 4.1.7 - resolution: "@vitest/coverage-v8@npm:4.1.7" - dependencies: - "@bcoe/v8-coverage": "npm:^1.0.2" - "@vitest/utils": "npm:4.1.7" - ast-v8-to-istanbul: "npm:^1.0.0" - istanbul-lib-coverage: "npm:^3.2.2" - istanbul-lib-report: "npm:^3.0.1" - istanbul-reports: "npm:^3.2.0" - magicast: "npm:^0.5.2" - obug: "npm:^2.1.1" - std-env: "npm:^4.0.0-rc.1" - tinyrainbow: "npm:^3.1.0" - peerDependencies: - "@vitest/browser": 4.1.7 - vitest: 4.1.7 - peerDependenciesMeta: - "@vitest/browser": - optional: true - checksum: 10c0/288fa77cfec00d84528154be90727ee0a868b91a32847b57e078fa4f3061711a53036a68d78bb4ea15e5c65b4644af6d2b7ad28b68b9301e9145426cdc27c0cd - languageName: node - linkType: hard - -"@vitest/expect@npm:4.1.7": - version: 4.1.7 - resolution: "@vitest/expect@npm:4.1.7" - dependencies: - "@standard-schema/spec": "npm:^1.1.0" - "@types/chai": "npm:^5.2.2" - "@vitest/spy": "npm:4.1.7" - "@vitest/utils": "npm:4.1.7" - chai: "npm:^6.2.2" - tinyrainbow: "npm:^3.1.0" - checksum: 10c0/1a72387c6d3cac1e12cd4df382e666d96560b38001ea0133f1e0a22825f71ccf1640ccce13244296b0054c15cf04442f3adbd67dfc57fe542bd35a46cd805487 - languageName: node - linkType: hard - -"@vitest/mocker@npm:4.1.7": - version: 4.1.7 - resolution: "@vitest/mocker@npm:4.1.7" - dependencies: - "@vitest/spy": "npm:4.1.7" - estree-walker: "npm:^3.0.3" - magic-string: "npm:^0.30.21" - peerDependencies: - msw: ^2.4.9 - vite: ^6.0.0 || ^7.0.0 || ^8.0.0 - peerDependenciesMeta: - msw: - optional: true - vite: - optional: true - checksum: 10c0/e03dbbba435543e3cfa5e034ba8ade371de5e398255f75366ebc370ff8dd78d45f7d7cc9daa76eb1d399b31e659e47d3cbb710566e64ceeeba3f99b418e4b955 - languageName: node - linkType: hard - -"@vitest/pretty-format@npm:4.1.7": - version: 4.1.7 - resolution: "@vitest/pretty-format@npm:4.1.7" - dependencies: - tinyrainbow: "npm:^3.1.0" - checksum: 10c0/49ef801171708e3a92214e8720efbedbd6e0e6baf17971aaf4feb7422e5c9eba82262c24a9e6dd4d41a31fae77bd31d5b37cf140d13e0ac4ce29a7457bdc692f - languageName: node - linkType: hard - -"@vitest/runner@npm:4.1.7": - version: 4.1.7 - resolution: "@vitest/runner@npm:4.1.7" - dependencies: - "@vitest/utils": "npm:4.1.7" - pathe: "npm:^2.0.3" - checksum: 10c0/63474c6fc088d75b5d7fe735195504f923c694b83a22eb9caa53d6486c923974304c2e3ef4d5bcd808d88082174f38434be320fc4fe649a8cf33f0459a0576e3 - languageName: node - linkType: hard - -"@vitest/snapshot@npm:4.1.7": - version: 4.1.7 - resolution: "@vitest/snapshot@npm:4.1.7" - dependencies: - "@vitest/pretty-format": "npm:4.1.7" - "@vitest/utils": "npm:4.1.7" - magic-string: "npm:^0.30.21" - pathe: "npm:^2.0.3" - checksum: 10c0/6fa49c4242a4acc0557ee6a20552db41f4f4c9d2d4c05993181c3f5f19e66579e08f63d34f792b79400547ab791ef500a9955b77390c381e45c3bb8e33717793 - languageName: node - linkType: hard - -"@vitest/spy@npm:4.1.7": - version: 4.1.7 - resolution: "@vitest/spy@npm:4.1.7" - checksum: 10c0/be2a95d5c5c438b57c9b33cef1289fb02659214754b5e946cb4b8183e2b5089e49e3fda6ca05981f3ea9872b207595db109e25072668c0a671203f69fddbbe99 - languageName: node - linkType: hard - -"@vitest/utils@npm:4.1.7": - version: 4.1.7 - resolution: "@vitest/utils@npm:4.1.7" - dependencies: - "@vitest/pretty-format": "npm:4.1.7" - convert-source-map: "npm:^2.0.0" - tinyrainbow: "npm:^3.1.0" - checksum: 10c0/aa0079d8923506300527dc23ff68cf090ffcb2c6a9549e598ae22ba0eb8a6bb4448b10724b38bc6b077f9957333302a857d791ad2f7abd807bb6263c9a218833 - languageName: node - linkType: hard - -"abbrev@npm:^4.0.0": - version: 4.0.0 - resolution: "abbrev@npm:4.0.0" - checksum: 10c0/b4cc16935235e80702fc90192e349e32f8ef0ed151ef506aa78c81a7c455ec18375c4125414b99f84b2e055199d66383e787675f0bcd87da7a4dbd59f9eac1d5 - languageName: node - linkType: hard - -"acorn-jsx@npm:^5.3.2": - version: 5.3.2 - resolution: "acorn-jsx@npm:5.3.2" - peerDependencies: - acorn: ^6.0.0 || ^7.0.0 || ^8.0.0 - checksum: 10c0/4c54868fbef3b8d58927d5e33f0a4de35f59012fe7b12cf9dfbb345fb8f46607709e1c4431be869a23fb63c151033d84c4198fa9f79385cec34fcb1dd53974c1 - languageName: node - linkType: hard - -"acorn@npm:^8.16.0, acorn@npm:^8.5.0": - version: 8.16.0 - resolution: "acorn@npm:8.16.0" - bin: - acorn: bin/acorn - checksum: 10c0/c9c52697227661b68d0debaf972222d4f622aa06b185824164e153438afa7b08273432ca43ea792cadb24dada1d46f6f6bb1ef8de9956979288cc1b96bf9914e - languageName: node - linkType: hard - -"agent-base@npm:6": - version: 6.0.2 - resolution: "agent-base@npm:6.0.2" - dependencies: - debug: "npm:4" - checksum: 10c0/dc4f757e40b5f3e3d674bc9beb4f1048f4ee83af189bae39be99f57bf1f48dde166a8b0a5342a84b5944ee8e6ed1e5a9d801858f4ad44764e84957122fe46261 - languageName: node - linkType: hard - -"agent-base@npm:^7.1.2": - version: 7.1.4 - resolution: "agent-base@npm:7.1.4" - checksum: 10c0/c2c9ab7599692d594b6a161559ada307b7a624fa4c7b03e3afdb5a5e31cd0e53269115b620fcab024c5ac6a6f37fa5eb2e004f076ad30f5f7e6b8b671f7b35fe - languageName: node - linkType: hard - -"ajv@npm:^6.14.0": - version: 6.15.0 - resolution: "ajv@npm:6.15.0" - dependencies: - fast-deep-equal: "npm:^3.1.1" - fast-json-stable-stringify: "npm:^2.0.0" - json-schema-traverse: "npm:^0.4.1" - uri-js: "npm:^4.2.2" - checksum: 10c0/67966499dd272ecde1c2e467084411132891523d057487587879d39ac04207f4351b7b2324c83198013967fbfa632c1612adc960114a30770fbe07a0773b32c2 - languageName: node - linkType: hard - -"ansi-regex@npm:^6.2.2": - version: 6.2.2 - resolution: "ansi-regex@npm:6.2.2" - checksum: 10c0/05d4acb1d2f59ab2cf4b794339c7b168890d44dda4bf0ce01152a8da0213aca207802f930442ce8cd22d7a92f44907664aac6508904e75e038fa944d2601b30f - languageName: node - linkType: hard - -"array-timsort@npm:^1.0.3": - version: 1.0.3 - resolution: "array-timsort@npm:1.0.3" - checksum: 10c0/bd3a1707b621947265c89867e67c9102b9b9f4c50f5b3974220112290d8b60d26ce60595edec5deed3325207b759d70b758bed3cd310b5ddadb835657ffb6d12 - languageName: node - linkType: hard - -"assertion-error@npm:^2.0.1": - version: 2.0.1 - resolution: "assertion-error@npm:2.0.1" - checksum: 10c0/bbbcb117ac6480138f8c93cf7f535614282dea9dc828f540cdece85e3c665e8f78958b96afac52f29ff883c72638e6a87d469ecc9fe5bc902df03ed24a55dba8 - languageName: node - linkType: hard - -"ast-v8-to-istanbul@npm:^1.0.0": - version: 1.0.0 - resolution: "ast-v8-to-istanbul@npm:1.0.0" - dependencies: - "@jridgewell/trace-mapping": "npm:^0.3.31" - estree-walker: "npm:^3.0.3" - js-tokens: "npm:^10.0.0" - checksum: 10c0/35e57b754ba63287358094d4f7ae8de2de27286fb4e76a1fbf28b2e67e3b670b59c3f511882473d0fd2cdbaa260062e3cd4f216b724c70032e2b09e5cebbd618 - languageName: node - linkType: hard - -"async-function@npm:^1.0.0": - version: 1.0.0 - resolution: "async-function@npm:1.0.0" - checksum: 10c0/669a32c2cb7e45091330c680e92eaeb791bc1d4132d827591e499cd1f776ff5a873e77e5f92d0ce795a8d60f10761dec9ddfe7225a5de680f5d357f67b1aac73 - languageName: node - linkType: hard - -"async-generator-function@npm:^1.0.0": - version: 1.0.0 - resolution: "async-generator-function@npm:1.0.0" - checksum: 10c0/2c50ef856c543ad500d8d8777d347e3c1ba623b93e99c9263ecc5f965c1b12d2a140e2ab6e43c3d0b85366110696f28114649411cbcd10b452a92a2318394186 - languageName: node - linkType: hard - -"asynckit@npm:^0.4.0": - version: 0.4.0 - resolution: "asynckit@npm:0.4.0" - checksum: 10c0/d73e2ddf20c4eb9337e1b3df1a0f6159481050a5de457c55b14ea2e5cb6d90bb69e004c9af54737a5ee0917fcf2c9e25de67777bbe58261847846066ba75bc9d - languageName: node - linkType: hard - -"axios-mock-adapter@npm:^2.1.0": - version: 2.1.0 - resolution: "axios-mock-adapter@npm:2.1.0" - dependencies: - fast-deep-equal: "npm:^3.1.3" - is-buffer: "npm:^2.0.5" - peerDependencies: - axios: ">= 0.17.0" - checksum: 10c0/37ebd88940245f4e027578734613417f024d06e2279edb1a188ccdf685a15ab4fdfbac7cfe681731722a1ba6c0a5ec15ef0145f79a53687181e4aacbe45e1730 - languageName: node - linkType: hard - -"axios@npm:^1.16.1": - version: 1.16.1 - resolution: "axios@npm:1.16.1" - dependencies: - follow-redirects: "npm:^1.16.0" - form-data: "npm:^4.0.5" - https-proxy-agent: "npm:^5.0.1" - proxy-from-env: "npm:^2.1.0" - checksum: 10c0/2f77e37e6552bbff8a772d058fb09500198e9188c6b20dc799d82dbe12a8cb506f6eed4e4e62a9ba612a35cbab496faa26d68f9bff14a53af6d15c3e136391a7 - languageName: node - linkType: hard - -"balanced-match@npm:^4.0.2": - version: 4.0.4 - resolution: "balanced-match@npm:4.0.4" - checksum: 10c0/07e86102a3eb2ee2a6a1a89164f29d0dbaebd28f2ca3f5ca786f36b8b23d9e417eb3be45a4acf754f837be5ac0a2317de90d3fcb7f4f4dc95720a1f36b26a17b - languageName: node - linkType: hard - -"base64-js@npm:^1.3.0": - version: 1.5.1 - resolution: "base64-js@npm:1.5.1" - checksum: 10c0/f23823513b63173a001030fae4f2dabe283b99a9d324ade3ad3d148e218134676f1ee8568c877cd79ec1c53158dcf2d2ba527a97c606618928ba99dd930102bf - languageName: node - linkType: hard - -"bignumber.js@npm:^9.0.0": - version: 9.3.1 - resolution: "bignumber.js@npm:9.3.1" - checksum: 10c0/61342ba5fe1c10887f0ecf5be02ff6709271481aff48631f86b4d37d55a99b87ce441cfd54df3d16d10ee07ceab7e272fc0be430c657ffafbbbf7b7d631efb75 - languageName: node - linkType: hard - -"blaise-api-node-client@workspace:.": - version: 0.0.0-use.local - resolution: "blaise-api-node-client@workspace:." - dependencies: - "@eslint/js": "npm:^10.0.1" - "@types/node": "npm:^25.9.1" - "@vitest/coverage-v8": "npm:^4.1.7" - axios: "npm:^1.16.1" - axios-mock-adapter: "npm:^2.1.0" - blaise-iap-node-provider: "git+https://github.com/ONSdigital/blaise-iap-node-provider.git#BLAIS5-5177" - cspell: "npm:^10.0.0" - eslint: "npm:^10.4.0" - eslint-config-prettier: "npm:^10.1.8" - eslint-import-resolver-typescript: "npm:^4.4.4" - eslint-plugin-import-x: "npm:^4.16.2" - eslint-plugin-jsonc: "npm:^3.1.2" - globals: "npm:^17.6.0" - jiti: "npm:^2.7.0" - jsonc-eslint-parser: "npm:^3.1.0" - knip: "npm:^6.14.1" - prettier: "npm:^3.8.3" - publint: "npm:^0.3.21" - typescript: "npm:^6.0.3" - typescript-eslint: "npm:^8.59.4" - vitest: "npm:^4.1.7" - languageName: unknown - linkType: soft - -"blaise-iap-node-provider@git+https://github.com/ONSdigital/blaise-iap-node-provider.git#BLAIS5-5177": - version: 1.0.0 - resolution: "blaise-iap-node-provider@https://github.com/ONSdigital/blaise-iap-node-provider.git#commit=56d9e0840639f823bc810780bd1eb42f87c99634" - dependencies: - google-auth-library: "npm:^10.6.2" - checksum: 10c0/704f488d394a7f6a92f5455a8b47c3a70da201db6ac066c183ffa2707cc2469cd15096f685405ab91f8e2d9ad641370fd47cdd91fdf734847c9e054939a7d232 - languageName: node - linkType: hard - -"brace-expansion@npm:^5.0.5": - version: 5.0.6 - resolution: "brace-expansion@npm:5.0.6" - dependencies: - balanced-match: "npm:^4.0.2" - checksum: 10c0/8c919869b90f61d533b341d3340be5ee4413232ea89b8246cbc2f38eb014f1d8182785c98a006eaf6111d02dc9eeffefdc240d5ac158625b2ed084dccd4bbf9b - languageName: node - linkType: hard - -"buffer-equal-constant-time@npm:^1.0.1": - version: 1.0.1 - resolution: "buffer-equal-constant-time@npm:1.0.1" - checksum: 10c0/fb2294e64d23c573d0dd1f1e7a466c3e978fe94a4e0f8183937912ca374619773bef8e2aceb854129d2efecbbc515bbd0cc78d2734a3e3031edb0888531bbc8e - languageName: node - linkType: hard - -"call-bind-apply-helpers@npm:^1.0.1, call-bind-apply-helpers@npm:^1.0.2": - version: 1.0.2 - resolution: "call-bind-apply-helpers@npm:1.0.2" - dependencies: - es-errors: "npm:^1.3.0" - function-bind: "npm:^1.1.2" - checksum: 10c0/47bd9901d57b857590431243fea704ff18078b16890a6b3e021e12d279bbf211d039155e27d7566b374d49ee1f8189344bac9833dec7a20cdec370506361c938 - languageName: node - linkType: hard - -"chai@npm:^6.2.2": - version: 6.2.2 - resolution: "chai@npm:6.2.2" - checksum: 10c0/e6c69e5f0c11dffe6ea13d0290936ebb68fcc1ad688b8e952e131df6a6d5797d5e860bc55cef1aca2e950c3e1f96daf79e9d5a70fb7dbaab4e46355e2635ed53 - languageName: node - linkType: hard - -"chalk-template@npm:^1.1.2": - version: 1.1.2 - resolution: "chalk-template@npm:1.1.2" - dependencies: - chalk: "npm:^5.2.0" - checksum: 10c0/6d29b185c613cb117ae87c67cef80f531ae860ffb798f94dbf46597c3abaf69eb55bea5e57a99713086933c461ccff918bb70c6af491b83b109654da8b2c006f - languageName: node - linkType: hard - -"chalk@npm:^5.2.0, chalk@npm:^5.6.2": - version: 5.6.2 - resolution: "chalk@npm:5.6.2" - checksum: 10c0/99a4b0f0e7991796b1e7e3f52dceb9137cae2a9dfc8fc0784a550dc4c558e15ab32ed70b14b21b52beb2679b4892b41a0aa44249bcb996f01e125d58477c6976 - languageName: node - linkType: hard - -"chownr@npm:^3.0.0": - version: 3.0.0 - resolution: "chownr@npm:3.0.0" - checksum: 10c0/43925b87700f7e3893296c8e9c56cc58f926411cce3a6e5898136daaf08f08b9a8eb76d37d3267e707d0dcc17aed2e2ebdf5848c0c3ce95cf910a919935c1b10 - languageName: node - linkType: hard - -"combined-stream@npm:^1.0.8": - version: 1.0.8 - resolution: "combined-stream@npm:1.0.8" - dependencies: - delayed-stream: "npm:~1.0.0" - checksum: 10c0/0dbb829577e1b1e839fa82b40c07ffaf7de8a09b935cadd355a73652ae70a88b4320db322f6634a4ad93424292fa80973ac6480986247f1734a1137debf271d5 - languageName: node - linkType: hard - -"commander@npm:^14.0.3": - version: 14.0.3 - resolution: "commander@npm:14.0.3" - checksum: 10c0/755652564bbf56ff2ff083313912b326450d3f8d8c85f4b71416539c9a05c3c67dbd206821ca72635bf6b160e2afdefcb458e86b317827d5cb333b69ce7f1a24 - languageName: node - linkType: hard - -"comment-json@npm:^4.6.2": - version: 4.6.2 - resolution: "comment-json@npm:4.6.2" - dependencies: - array-timsort: "npm:^1.0.3" - esprima: "npm:^4.0.1" - checksum: 10c0/8965ec6c40612aa0cc66d4324ff5819cf205c997f3a84dd82dffe4e6398449e37bbc5765184bc9149e95d15994f0c2740cee82284828fa1c0f733a669022d3dd - languageName: node - linkType: hard - -"comment-parser@npm:^1.4.1": - version: 1.4.6 - resolution: "comment-parser@npm:1.4.6" - checksum: 10c0/10837626fc1cb84531564a5ec145f5818b3830393c09744ebfea4105319824e277bdb60ffcf38f44e165e002909fda835b21e20d032a8f8d068834aaef8af0ca - languageName: node - linkType: hard - -"convert-source-map@npm:^2.0.0": - version: 2.0.0 - resolution: "convert-source-map@npm:2.0.0" - checksum: 10c0/8f2f7a27a1a011cc6cc88cc4da2d7d0cfa5ee0369508baae3d98c260bb3ac520691464e5bbe4ae7cdf09860c1d69ecc6f70c63c6e7c7f7e3f18ec08484dc7d9b - languageName: node - linkType: hard - -"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: 10c0/053ea8b2135caff68a9e81470e845613e374e7309a47731e81639de3eaeb90c3d01af0e0b44d2ab9d50b43467223b88567dfeb3262db942dc063b9976718ffc1 - languageName: node - linkType: hard - -"cspell-config-lib@npm:10.0.0": - version: 10.0.0 - resolution: "cspell-config-lib@npm:10.0.0" - dependencies: - "@cspell/cspell-types": "npm:10.0.0" - comment-json: "npm:^4.6.2" - smol-toml: "npm:^1.6.1" - yaml: "npm:^2.8.3" - checksum: 10c0/85737bbcd860db79772af3895d4d8f368c6d312dfcfbe7f03fc6e788ed48567639ef9c49f99f30382d6e849a9631dcad0db4e136054993d29f5e5f990125423d - languageName: node - linkType: hard - -"cspell-dictionary@npm:10.0.0": - version: 10.0.0 - resolution: "cspell-dictionary@npm:10.0.0" - dependencies: - "@cspell/cspell-performance-monitor": "npm:10.0.0" - "@cspell/cspell-pipe": "npm:10.0.0" - "@cspell/cspell-types": "npm:10.0.0" - cspell-trie-lib: "npm:10.0.0" - fast-equals: "npm:^6.0.0" - checksum: 10c0/1b74b1fa3a10906ad89ee3089b854f5d9ac979bee2875c771abb071cc13fc84d3c491711e261e4bcf39a78c5c73f8bdde48fc0ed4cb5e0c29d416bf079bd261c - languageName: node - linkType: hard - -"cspell-gitignore@npm:10.0.0": - version: 10.0.0 - resolution: "cspell-gitignore@npm:10.0.0" - dependencies: - "@cspell/url": "npm:10.0.0" - cspell-glob: "npm:10.0.0" - cspell-io: "npm:10.0.0" - bin: - cspell-gitignore: bin.mjs - checksum: 10c0/ac2558253a75702ab7bcac981be058a644ea3b407bf4e63ce3957016a6df38108ffb3afd3b7fe964b4a21f3c488ef25ca2f9fc6df56323350edecac19472ddc8 - languageName: node - linkType: hard - -"cspell-glob@npm:10.0.0": - version: 10.0.0 - resolution: "cspell-glob@npm:10.0.0" - dependencies: - "@cspell/url": "npm:10.0.0" - picomatch: "npm:^4.0.4" - checksum: 10c0/029a5dc601126e6ad19b41525a2c6aac21c8f052b0459b553610272b4b5bfa6b3c322f48f0ab88bdbbb3a4c68c2c29843f1db0415ccfcf62c974a6e3fa5b5ed7 - languageName: node - linkType: hard - -"cspell-grammar@npm:10.0.0": - version: 10.0.0 - resolution: "cspell-grammar@npm:10.0.0" - dependencies: - "@cspell/cspell-pipe": "npm:10.0.0" - "@cspell/cspell-types": "npm:10.0.0" - bin: - cspell-grammar: bin.mjs - checksum: 10c0/c85d1026fbe6dad5d0fdf16eca6a4a5c8f1854290f3e5f2bc5ccd36eafcc2b19f1928d29769784bc63dfa5c861a0a35e80aa6cc74a0a52d94becbf248505ad71 - languageName: node - linkType: hard - -"cspell-io@npm:10.0.0": - version: 10.0.0 - resolution: "cspell-io@npm:10.0.0" - dependencies: - "@cspell/cspell-service-bus": "npm:10.0.0" - "@cspell/url": "npm:10.0.0" - checksum: 10c0/c2ad84c3694542e5c99fe94ae8977603817852d4f91f215755e45adaaa4a305e24f13c075318b415cb57ebe55667c551b5ecffd97c93302db07c8d342175ffe2 - languageName: node - linkType: hard - -"cspell-lib@npm:10.0.0": - version: 10.0.0 - resolution: "cspell-lib@npm:10.0.0" - dependencies: - "@cspell/cspell-bundled-dicts": "npm:10.0.0" - "@cspell/cspell-performance-monitor": "npm:10.0.0" - "@cspell/cspell-pipe": "npm:10.0.0" - "@cspell/cspell-resolver": "npm:10.0.0" - "@cspell/cspell-types": "npm:10.0.0" - "@cspell/dynamic-import": "npm:10.0.0" - "@cspell/filetypes": "npm:10.0.0" - "@cspell/rpc": "npm:10.0.0" - "@cspell/strong-weak-map": "npm:10.0.0" - "@cspell/url": "npm:10.0.0" - cspell-config-lib: "npm:10.0.0" - cspell-dictionary: "npm:10.0.0" - cspell-glob: "npm:10.0.0" - cspell-grammar: "npm:10.0.0" - cspell-io: "npm:10.0.0" - cspell-trie-lib: "npm:10.0.0" - env-paths: "npm:^4.0.0" - gensequence: "npm:^8.0.8" - import-fresh: "npm:^4.0.0" - resolve-from: "npm:^5.0.0" - vscode-languageserver-textdocument: "npm:^1.0.12" - vscode-uri: "npm:^3.1.0" - xdg-basedir: "npm:^5.1.0" - checksum: 10c0/9d267bdc454f5f78e0b8580b4b2974b00c997014cfe570020a1ba12f8a416bd2337b6efc743cea2e06481ab33a5d91c6f01d8cf1a95553521b571d6eebed995f - languageName: node - linkType: hard - -"cspell-trie-lib@npm:10.0.0": - version: 10.0.0 - resolution: "cspell-trie-lib@npm:10.0.0" - peerDependencies: - "@cspell/cspell-types": 10.0.0 - checksum: 10c0/9f163593c17e812a3b1e63b21b7632275ecba27321a1eaee433c97ef31b2019f4e00c80d5f8a54be9dbb43fb703eb1fbac0adcce30f9426a419fcee47f3b0d1f - languageName: node - linkType: hard - -"cspell@npm:^10.0.0": - version: 10.0.0 - resolution: "cspell@npm:10.0.0" - dependencies: - "@cspell/cspell-json-reporter": "npm:10.0.0" - "@cspell/cspell-performance-monitor": "npm:10.0.0" - "@cspell/cspell-pipe": "npm:10.0.0" - "@cspell/cspell-types": "npm:10.0.0" - "@cspell/cspell-worker": "npm:10.0.0" - "@cspell/dynamic-import": "npm:10.0.0" - "@cspell/url": "npm:10.0.0" - ansi-regex: "npm:^6.2.2" - chalk: "npm:^5.6.2" - chalk-template: "npm:^1.1.2" - commander: "npm:^14.0.3" - cspell-config-lib: "npm:10.0.0" - cspell-dictionary: "npm:10.0.0" - cspell-gitignore: "npm:10.0.0" - cspell-glob: "npm:10.0.0" - cspell-io: "npm:10.0.0" - cspell-lib: "npm:10.0.0" - fast-json-stable-stringify: "npm:^2.1.0" - flatted: "npm:^3.4.2" - semver: "npm:^7.7.4" - tinyglobby: "npm:^0.2.15" - bin: - cspell: bin.mjs - cspell-esm: bin.mjs - checksum: 10c0/de7eb540045595acd97306be7d83e1aca74faedc72c883c41eb7cfe319024330d0629086a9b8a46201ef823bc29f0f028e769fec658c16b99d53b9ed5e502840 - languageName: node - linkType: hard - -"data-uri-to-buffer@npm:^4.0.0": - version: 4.0.1 - resolution: "data-uri-to-buffer@npm:4.0.1" - checksum: 10c0/20a6b93107597530d71d4cb285acee17f66bcdfc03fd81040921a81252f19db27588d87fc8fc69e1950c55cfb0bf8ae40d0e5e21d907230813eb5d5a7f9eb45b - languageName: node - linkType: hard - -"debug@npm:4, debug@npm:^4.3.1, debug@npm:^4.3.2, debug@npm:^4.4.1, debug@npm:^4.4.3": - version: 4.4.3 - resolution: "debug@npm:4.4.3" - dependencies: - ms: "npm:^2.1.3" - peerDependenciesMeta: - supports-color: - optional: true - checksum: 10c0/d79136ec6c83ecbefd0f6a5593da6a9c91ec4d7ddc4b54c883d6e71ec9accb5f67a1a5e96d00a328196b5b5c86d365e98d8a3a70856aaf16b4e7b1985e67f5a6 - languageName: node - linkType: hard - -"deep-is@npm:^0.1.3": - version: 0.1.4 - resolution: "deep-is@npm:0.1.4" - checksum: 10c0/7f0ee496e0dff14a573dc6127f14c95061b448b87b995fc96c017ce0a1e66af1675e73f1d6064407975bc4ea6ab679497a29fff7b5b9c4e99cb10797c1ad0b4c - languageName: node - linkType: hard - -"delayed-stream@npm:~1.0.0": - version: 1.0.0 - resolution: "delayed-stream@npm:1.0.0" - checksum: 10c0/d758899da03392e6712f042bec80aa293bbe9e9ff1b2634baae6a360113e708b91326594c8a486d475c69d6259afb7efacdc3537bfcda1c6c648e390ce601b19 - languageName: node - linkType: hard - -"detect-libc@npm:^2.0.3": - version: 2.1.2 - resolution: "detect-libc@npm:2.1.2" - checksum: 10c0/acc675c29a5649fa1fb6e255f993b8ee829e510b6b56b0910666949c80c364738833417d0edb5f90e4e46be17228b0f2b66a010513984e18b15deeeac49369c4 - languageName: node - linkType: hard - -"diff-sequences@npm:^29.6.3": - version: 29.6.3 - resolution: "diff-sequences@npm:29.6.3" - checksum: 10c0/32e27ac7dbffdf2fb0eb5a84efd98a9ad084fbabd5ac9abb8757c6770d5320d2acd172830b28c4add29bb873d59420601dfc805ac4064330ce59b1adfd0593b2 - languageName: node - linkType: hard - -"dunder-proto@npm:^1.0.1": - version: 1.0.1 - resolution: "dunder-proto@npm:1.0.1" - dependencies: - call-bind-apply-helpers: "npm:^1.0.1" - es-errors: "npm:^1.3.0" - gopd: "npm:^1.2.0" - checksum: 10c0/199f2a0c1c16593ca0a145dbf76a962f8033ce3129f01284d48c45ed4e14fea9bbacd7b3610b6cdc33486cef20385ac054948fefc6272fcce645c09468f93031 - languageName: node - linkType: hard - -"ecdsa-sig-formatter@npm:1.0.11, ecdsa-sig-formatter@npm:^1.0.11": - version: 1.0.11 - resolution: "ecdsa-sig-formatter@npm:1.0.11" - dependencies: - safe-buffer: "npm:^5.0.1" - checksum: 10c0/ebfbf19d4b8be938f4dd4a83b8788385da353d63307ede301a9252f9f7f88672e76f2191618fd8edfc2f24679236064176fab0b78131b161ee73daa37125408c - languageName: node - linkType: hard - -"env-paths@npm:^2.2.0": - version: 2.2.1 - resolution: "env-paths@npm:2.2.1" - checksum: 10c0/285325677bf00e30845e330eec32894f5105529db97496ee3f598478e50f008c5352a41a30e5e72ec9de8a542b5a570b85699cd63bd2bc646dbcb9f311d83bc4 - languageName: node - linkType: hard - -"env-paths@npm:^4.0.0": - version: 4.0.0 - resolution: "env-paths@npm:4.0.0" - dependencies: - is-safe-filename: "npm:^0.1.0" - checksum: 10c0/13ee7fa4047786ca28f1fbf2239606f8a53304bdf71bfc426e95f806e429060181205316f2c45b4ac560e81c854ded5a45fd9dc3105414c01d504b3469a1294b - languageName: node - linkType: hard - -"es-define-property@npm:^1.0.1": - version: 1.0.1 - resolution: "es-define-property@npm:1.0.1" - checksum: 10c0/3f54eb49c16c18707949ff25a1456728c883e81259f045003499efba399c08bad00deebf65cccde8c0e07908c1a225c9d472b7107e558f2a48e28d530e34527c - languageName: node - linkType: hard - -"es-errors@npm:^1.3.0": - version: 1.3.0 - resolution: "es-errors@npm:1.3.0" - checksum: 10c0/0a61325670072f98d8ae3b914edab3559b6caa980f08054a3b872052640d91da01d38df55df797fcc916389d77fc92b8d5906cf028f4db46d7e3003abecbca85 - languageName: node - linkType: hard - -"es-module-lexer@npm:^2.0.0": - version: 2.1.0 - resolution: "es-module-lexer@npm:2.1.0" - checksum: 10c0/93bcf2454fa72d67fe3ccd0abef8ce7933f5840a319513418a643dd8e9c6aa8f49709cecfae02ded722805dd327232d30723a807cc52e6809d6ac697c62c29fb - languageName: node - linkType: hard - -"es-object-atoms@npm:^1.0.0, es-object-atoms@npm:^1.1.1": - version: 1.1.1 - resolution: "es-object-atoms@npm:1.1.1" - dependencies: - es-errors: "npm:^1.3.0" - checksum: 10c0/65364812ca4daf48eb76e2a3b7a89b3f6a2e62a1c420766ce9f692665a29d94fe41fe88b65f24106f449859549711e4b40d9fb8002d862dfd7eb1c512d10be0c - languageName: node - linkType: hard - -"es-set-tostringtag@npm:^2.1.0": - version: 2.1.0 - resolution: "es-set-tostringtag@npm:2.1.0" - dependencies: - es-errors: "npm:^1.3.0" - get-intrinsic: "npm:^1.2.6" - has-tostringtag: "npm:^1.0.2" - hasown: "npm:^2.0.2" - checksum: 10c0/ef2ca9ce49afe3931cb32e35da4dcb6d86ab02592cfc2ce3e49ced199d9d0bb5085fc7e73e06312213765f5efa47cc1df553a6a5154584b21448e9fb8355b1af - languageName: node - linkType: hard - -"escape-string-regexp@npm:^4.0.0": - version: 4.0.0 - resolution: "escape-string-regexp@npm:4.0.0" - checksum: 10c0/9497d4dd307d845bd7f75180d8188bb17ea8c151c1edbf6b6717c100e104d629dc2dfb687686181b0f4b7d732c7dfdc4d5e7a8ff72de1b0ca283a75bbb3a9cd9 - languageName: node - linkType: hard - -"eslint-config-prettier@npm:^10.1.8": - version: 10.1.8 - resolution: "eslint-config-prettier@npm:10.1.8" - peerDependencies: - eslint: ">=7.0.0" - bin: - eslint-config-prettier: bin/cli.js - checksum: 10c0/e1bcfadc9eccd526c240056b1e59c5cd26544fe59feb85f38f4f1f116caed96aea0b3b87868e68b3099e55caaac3f2e5b9f58110f85db893e83a332751192682 - languageName: node - linkType: hard - -"eslint-import-context@npm:^0.1.8, eslint-import-context@npm:^0.1.9": - version: 0.1.9 - resolution: "eslint-import-context@npm:0.1.9" - dependencies: - get-tsconfig: "npm:^4.10.1" - stable-hash-x: "npm:^0.2.0" - peerDependencies: - unrs-resolver: ^1.0.0 - peerDependenciesMeta: - unrs-resolver: - optional: true - checksum: 10c0/07851103443b70af681c5988e2702e681ff9b956e055e11d4bd9b2322847fa0d9e8da50c18fc7cb1165106b043f34fbd0384d7011c239465c4645c52132e56f3 - languageName: node - linkType: hard - -"eslint-import-resolver-typescript@npm:^4.4.4": - version: 4.4.4 - resolution: "eslint-import-resolver-typescript@npm:4.4.4" - dependencies: - debug: "npm:^4.4.1" - eslint-import-context: "npm:^0.1.8" - get-tsconfig: "npm:^4.10.1" - is-bun-module: "npm:^2.0.0" - stable-hash-x: "npm:^0.2.0" - tinyglobby: "npm:^0.2.14" - unrs-resolver: "npm:^1.7.11" - peerDependencies: - eslint: "*" - eslint-plugin-import: "*" - eslint-plugin-import-x: "*" - peerDependenciesMeta: - eslint-plugin-import: - optional: true - eslint-plugin-import-x: - optional: true - checksum: 10c0/3bf8ad77c21660f77a0e455555ab179420f68ae7a132906c85a217ccce51cb6680cf70027cab32a358d193e5b9e476f6ba2e595585242aa97d4f6435ca22104e - languageName: node - linkType: hard - -"eslint-json-compat-utils@npm:^0.2.3": - version: 0.2.3 - resolution: "eslint-json-compat-utils@npm:0.2.3" - dependencies: - esquery: "npm:^1.6.0" - peerDependencies: - eslint: "*" - jsonc-eslint-parser: ^2.4.0 || ^3.0.0 - peerDependenciesMeta: - "@eslint/json": - optional: true - checksum: 10c0/3af895890d72228b157f24a94efaee6ae4fb7ec5e7d9e17b51ae477d0efd03a1938ae810b2ae65fdb8a6d81c68c1b49dc207ee2398883a29ffeb1105ecc169ef - languageName: node - linkType: hard - -"eslint-plugin-import-x@npm:^4.16.2": - version: 4.16.2 - resolution: "eslint-plugin-import-x@npm:4.16.2" - dependencies: - "@package-json/types": "npm:^0.0.12" - "@typescript-eslint/types": "npm:^8.56.0" - comment-parser: "npm:^1.4.1" - debug: "npm:^4.4.1" - eslint-import-context: "npm:^0.1.9" - is-glob: "npm:^4.0.3" - minimatch: "npm:^9.0.3 || ^10.1.2" - semver: "npm:^7.7.2" - stable-hash-x: "npm:^0.2.0" - unrs-resolver: "npm:^1.9.2" - peerDependencies: - "@typescript-eslint/utils": ^8.56.0 - eslint: ^8.57.0 || ^9.0.0 || ^10.0.0 - eslint-import-resolver-node: "*" - peerDependenciesMeta: - "@typescript-eslint/utils": - optional: true - eslint-import-resolver-node: - optional: true - checksum: 10c0/b51b814323a6005c5230fccdffef9a8adc3691ad7a475de6ba635f5ef776fc1f5d1a1c7e65e2c98c6033155cc7e8f8b9f2f507fe31fc038972d535355673e83e - languageName: node - linkType: hard - -"eslint-plugin-jsonc@npm:^3.1.2": - version: 3.1.2 - resolution: "eslint-plugin-jsonc@npm:3.1.2" - dependencies: - "@eslint-community/eslint-utils": "npm:^4.5.1" - "@eslint/core": "npm:^1.0.1" - "@eslint/plugin-kit": "npm:^0.6.0" - "@ota-meshi/ast-token-store": "npm:^0.3.0" - diff-sequences: "npm:^29.6.3" - eslint-json-compat-utils: "npm:^0.2.3" - jsonc-eslint-parser: "npm:^3.1.0" - natural-compare: "npm:^1.4.0" - synckit: "npm:^0.11.12" - peerDependencies: - eslint: ">=9.38.0" - checksum: 10c0/1812555eb1cfb28a67ea29ea444ac25aeb922a7c5fb3b5c85ccb1021d90284270a5ba360d78b9fec821c7d20e50ff2551806a0f8aef1d13307a0f1a271f91ffe - languageName: node - linkType: hard - -"eslint-scope@npm:^9.1.2": - version: 9.1.2 - resolution: "eslint-scope@npm:9.1.2" - dependencies: - "@types/esrecurse": "npm:^4.3.1" - "@types/estree": "npm:^1.0.8" - esrecurse: "npm:^4.3.0" - estraverse: "npm:^5.2.0" - checksum: 10c0/9fb8bca5a73e5741efb6cec84467027b6cb6f4203ff9b43a938e272c5cd30800bde46a5c20dfd1609f840225f0b62b7673be391b20acadf8658ca9fa4729b3dd - languageName: node - linkType: hard - -"eslint-visitor-keys@npm:^3.4.3": - version: 3.4.3 - resolution: "eslint-visitor-keys@npm:3.4.3" - checksum: 10c0/92708e882c0a5ffd88c23c0b404ac1628cf20104a108c745f240a13c332a11aac54f49a22d5762efbffc18ecbc9a580d1b7ad034bf5f3cc3307e5cbff2ec9820 - languageName: node - linkType: hard - -"eslint-visitor-keys@npm:^5.0.0, eslint-visitor-keys@npm:^5.0.1": - version: 5.0.1 - resolution: "eslint-visitor-keys@npm:5.0.1" - checksum: 10c0/16190bdf2cbae40a1109384c94450c526a79b0b9c3cb21e544256ed85ac48a4b84db66b74a6561d20fe6ab77447f150d711c2ad5ad74df4fcc133736bce99678 - languageName: node - linkType: hard - -"eslint@npm:^10.4.0": - version: 10.4.0 - resolution: "eslint@npm:10.4.0" - dependencies: - "@eslint-community/eslint-utils": "npm:^4.8.0" - "@eslint-community/regexpp": "npm:^4.12.2" - "@eslint/config-array": "npm:^0.23.5" - "@eslint/config-helpers": "npm:^0.6.0" - "@eslint/core": "npm:^1.2.1" - "@eslint/plugin-kit": "npm:^0.7.1" - "@humanfs/node": "npm:^0.16.6" - "@humanwhocodes/module-importer": "npm:^1.0.1" - "@humanwhocodes/retry": "npm:^0.4.2" - "@types/estree": "npm:^1.0.6" - ajv: "npm:^6.14.0" - cross-spawn: "npm:^7.0.6" - debug: "npm:^4.3.2" - escape-string-regexp: "npm:^4.0.0" - eslint-scope: "npm:^9.1.2" - eslint-visitor-keys: "npm:^5.0.1" - espree: "npm:^11.2.0" - esquery: "npm:^1.7.0" - esutils: "npm:^2.0.2" - fast-deep-equal: "npm:^3.1.3" - file-entry-cache: "npm:^8.0.0" - find-up: "npm:^5.0.0" - glob-parent: "npm:^6.0.2" - ignore: "npm:^5.2.0" - imurmurhash: "npm:^0.1.4" - is-glob: "npm:^4.0.0" - json-stable-stringify-without-jsonify: "npm:^1.0.1" - minimatch: "npm:^10.2.4" - natural-compare: "npm:^1.4.0" - optionator: "npm:^0.9.3" - peerDependencies: - jiti: "*" - peerDependenciesMeta: - jiti: - optional: true - bin: - eslint: bin/eslint.js - checksum: 10c0/6bf644dc08fa5a6b23157d23a4a4638d45823d03a67da1daac8dc1085b03934fa98013efd2eac2cd6ec90fe88d36b336bdf38d5f000325f22d823a15f2031426 - languageName: node - linkType: hard - -"espree@npm:^11.2.0": - version: 11.2.0 - resolution: "espree@npm:11.2.0" - dependencies: - acorn: "npm:^8.16.0" - acorn-jsx: "npm:^5.3.2" - eslint-visitor-keys: "npm:^5.0.1" - checksum: 10c0/cf87e18ffd9dc113eb8d16588e7757701bc10c9934a71cce8b89c2611d51672681a918307bd6b19ac3ccd0e7ba1cbccc2f815b36b52fa7e73097b251014c3d81 - languageName: node - linkType: hard - -"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: 10c0/ad4bab9ead0808cf56501750fd9d3fb276f6b105f987707d059005d57e182d18a7c9ec7f3a01794ebddcca676773e42ca48a32d67a250c9d35e009ca613caba3 - languageName: node - linkType: hard - -"esquery@npm:^1.6.0, esquery@npm:^1.7.0": - version: 1.7.0 - resolution: "esquery@npm:1.7.0" - dependencies: - estraverse: "npm:^5.1.0" - checksum: 10c0/77d5173db450b66f3bc685d11af4c90cffeedb340f34a39af96d43509a335ce39c894fd79233df32d38f5e4e219fa0f7076f6ec90bae8320170ba082c0db4793 - languageName: node - linkType: hard - -"esrecurse@npm:^4.3.0": - version: 4.3.0 - resolution: "esrecurse@npm:4.3.0" - dependencies: - estraverse: "npm:^5.2.0" - checksum: 10c0/81a37116d1408ded88ada45b9fb16dbd26fba3aadc369ce50fcaf82a0bac12772ebd7b24cd7b91fc66786bf2c1ac7b5f196bc990a473efff972f5cb338877cf5 - languageName: node - linkType: hard - -"estraverse@npm:^5.1.0, estraverse@npm:^5.2.0": - version: 5.3.0 - resolution: "estraverse@npm:5.3.0" - checksum: 10c0/1ff9447b96263dec95d6d67431c5e0771eb9776427421260a3e2f0fdd5d6bd4f8e37a7338f5ad2880c9f143450c9b1e4fc2069060724570a49cf9cf0312bd107 - languageName: node - linkType: hard - -"estree-walker@npm:^3.0.3": - version: 3.0.3 - resolution: "estree-walker@npm:3.0.3" - dependencies: - "@types/estree": "npm:^1.0.0" - checksum: 10c0/c12e3c2b2642d2bcae7d5aa495c60fa2f299160946535763969a1c83fc74518ffa9c2cd3a8b69ac56aea547df6a8aac25f729a342992ef0bbac5f1c73e78995d - languageName: node - linkType: hard - -"esutils@npm:^2.0.2": - version: 2.0.3 - resolution: "esutils@npm:2.0.3" - checksum: 10c0/9a2fe69a41bfdade834ba7c42de4723c97ec776e40656919c62cbd13607c45e127a003f05f724a1ea55e5029a4cf2de444b13009f2af71271e42d93a637137c7 - languageName: node - linkType: hard - -"expect-type@npm:^1.3.0": - version: 1.3.0 - resolution: "expect-type@npm:1.3.0" - checksum: 10c0/8412b3fe4f392c420ab41dae220b09700e4e47c639a29ba7ba2e83cc6cffd2b4926f7ac9e47d7e277e8f4f02acda76fd6931cb81fd2b382fa9477ef9ada953fd - languageName: node - linkType: hard - -"exponential-backoff@npm:^3.1.1": - version: 3.1.3 - resolution: "exponential-backoff@npm:3.1.3" - checksum: 10c0/77e3ae682b7b1f4972f563c6dbcd2b0d54ac679e62d5d32f3e5085feba20483cf28bd505543f520e287a56d4d55a28d7874299941faf637e779a1aa5994d1267 - languageName: node - linkType: hard - -"extend@npm:^3.0.2": - version: 3.0.2 - resolution: "extend@npm:3.0.2" - checksum: 10c0/73bf6e27406e80aa3e85b0d1c4fd987261e628064e170ca781125c0b635a3dabad5e05adbf07595ea0cf1e6c5396cacb214af933da7cbaf24fe75ff14818e8f9 - 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: 10c0/40dedc862eb8992c54579c66d914635afbec43350afbbe991235fdcb4e3a8d5af1b23ae7e79bef7d4882d0ecee06c3197488026998fb19f72dc95acff1d1b1d0 - languageName: node - linkType: hard - -"fast-equals@npm:^6.0.0": - version: 6.0.0 - resolution: "fast-equals@npm:6.0.0" - checksum: 10c0/aae54699ce848726679a947c8bbea78f2ea0384e4e1ee213c98f10881a17bb376bd11085eda4d6c89db5285635ee2f809b126d773532fcf602be355008a9d5ed - 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: 10c0/7f081eb0b8a64e0057b3bb03f974b3ef00135fbf36c1c710895cd9300f13c94ba809bb3a81cf4e1b03f6e5285610a61abbd7602d0652de423144dfee5a389c9b - languageName: node - linkType: hard - -"fast-levenshtein@npm:^2.0.6": - version: 2.0.6 - resolution: "fast-levenshtein@npm:2.0.6" - checksum: 10c0/111972b37338bcb88f7d9e2c5907862c280ebf4234433b95bc611e518d192ccb2d38119c4ac86e26b668d75f7f3894f4ff5c4982899afced7ca78633b08287c4 - languageName: node - linkType: hard - -"fd-package-json@npm:^2.0.0": - version: 2.0.0 - resolution: "fd-package-json@npm:2.0.0" - dependencies: - walk-up-path: "npm:^4.0.0" - checksum: 10c0/a0a48745257bc09c939486608dad9f2ced238f0c64266222cc881618ed4c8f6aa0ccfe45a1e6d4f9ce828509e8d617cec60e2a114851bebb1ff4886dc5ed5112 - languageName: node - linkType: hard - -"fdir@npm:^6.5.0": - version: 6.5.0 - resolution: "fdir@npm:6.5.0" - peerDependencies: - picomatch: ^3 || ^4 - peerDependenciesMeta: - picomatch: - optional: true - checksum: 10c0/e345083c4306b3aed6cb8ec551e26c36bab5c511e99ea4576a16750ddc8d3240e63826cc624f5ae17ad4dc82e68a253213b60d556c11bfad064b7607847ed07f - languageName: node - linkType: hard - -"fetch-blob@npm:^3.1.2, fetch-blob@npm:^3.1.4": - version: 3.2.0 - resolution: "fetch-blob@npm:3.2.0" - dependencies: - node-domexception: "npm:^1.0.0" - web-streams-polyfill: "npm:^3.0.3" - checksum: 10c0/60054bf47bfa10fb0ba6cb7742acec2f37c1f56344f79a70bb8b1c48d77675927c720ff3191fa546410a0442c998d27ab05e9144c32d530d8a52fbe68f843b69 - languageName: node - linkType: hard - -"file-entry-cache@npm:^8.0.0": - version: 8.0.0 - resolution: "file-entry-cache@npm:8.0.0" - dependencies: - flat-cache: "npm:^4.0.0" - checksum: 10c0/9e2b5938b1cd9b6d7e3612bdc533afd4ac17b2fc646569e9a8abbf2eb48e5eb8e316bc38815a3ef6a1b456f4107f0d0f055a614ca613e75db6bf9ff4d72c1638 - languageName: node - linkType: hard - -"find-up@npm:^5.0.0": - version: 5.0.0 - resolution: "find-up@npm:5.0.0" - dependencies: - locate-path: "npm:^6.0.0" - path-exists: "npm:^4.0.0" - checksum: 10c0/062c5a83a9c02f53cdd6d175a37ecf8f87ea5bbff1fdfb828f04bfa021441bc7583e8ebc0872a4c1baab96221fb8a8a275a19809fb93fbc40bd69ec35634069a - languageName: node - linkType: hard - -"flat-cache@npm:^4.0.0": - version: 4.0.1 - resolution: "flat-cache@npm:4.0.1" - dependencies: - flatted: "npm:^3.2.9" - keyv: "npm:^4.5.4" - checksum: 10c0/2c59d93e9faa2523e4fda6b4ada749bed432cfa28c8e251f33b25795e426a1c6dbada777afb1f74fcfff33934fdbdea921ee738fcc33e71adc9d6eca984a1cfc - languageName: node - linkType: hard - -"flatted@npm:^3.2.9, flatted@npm:^3.4.2": - version: 3.4.2 - resolution: "flatted@npm:3.4.2" - checksum: 10c0/a65b67aae7172d6cdf63691be7de6c5cd5adbdfdfe2e9da1a09b617c9512ed794037741ee53d93114276bff3f93cd3b0d97d54f9b316e1e4885dde6e9ffdf7ed - languageName: node - linkType: hard - -"follow-redirects@npm:^1.16.0": - version: 1.16.0 - resolution: "follow-redirects@npm:1.16.0" - peerDependenciesMeta: - debug: - optional: true - checksum: 10c0/a1e2900163e6f1b4d1ed5c221b607f41decbab65534c63fe7e287e40a5d552a6496e7d9d7d976fa4ba77b4c51c11e5e9f683f10b43011ea11e442ff128d0e181 - languageName: node - linkType: hard - -"form-data@npm:^4.0.5": - version: 4.0.5 - resolution: "form-data@npm:4.0.5" - dependencies: - asynckit: "npm:^0.4.0" - combined-stream: "npm:^1.0.8" - es-set-tostringtag: "npm:^2.1.0" - hasown: "npm:^2.0.2" - mime-types: "npm:^2.1.12" - checksum: 10c0/dd6b767ee0bbd6d84039db12a0fa5a2028160ffbfaba1800695713b46ae974a5f6e08b3356c3195137f8530dcd9dfcb5d5ae1eeff53d0db1e5aad863b619ce3b - languageName: node - linkType: hard - -"formatly@npm:^0.3.0": - version: 0.3.0 - resolution: "formatly@npm:0.3.0" - dependencies: - fd-package-json: "npm:^2.0.0" - bin: - formatly: bin/index.mjs - checksum: 10c0/ef9dbd3cdaee649e9604ea060d8d62d8131eb81117634336592ee2193fc7c98a3f1f1b5d09a045dbd36287ba88edf868ef179d39fbda2f34fbe2be70c42dd014 - languageName: node - linkType: hard - -"formdata-polyfill@npm:^4.0.10": - version: 4.0.10 - resolution: "formdata-polyfill@npm:4.0.10" - dependencies: - fetch-blob: "npm:^3.1.2" - checksum: 10c0/5392ec484f9ce0d5e0d52fb5a78e7486637d516179b0eb84d81389d7eccf9ca2f663079da56f761355c0a65792810e3b345dc24db9a8bbbcf24ef3c8c88570c6 - languageName: node - linkType: hard - -"fsevents@npm:~2.3.3": - version: 2.3.3 - resolution: "fsevents@npm:2.3.3" - dependencies: - node-gyp: "npm:latest" - checksum: 10c0/a1f0c44595123ed717febbc478aa952e47adfc28e2092be66b8ab1635147254ca6cfe1df792a8997f22716d4cbafc73309899ff7bfac2ac3ad8cf2e4ecc3ec60 - conditions: os=darwin - languageName: node - linkType: hard - -"fsevents@patch:fsevents@npm%3A~2.3.3#optional!builtin": - version: 2.3.3 - resolution: "fsevents@patch:fsevents@npm%3A2.3.3#optional!builtin::version=2.3.3&hash=df0bf1" - dependencies: - node-gyp: "npm:latest" - conditions: os=darwin - languageName: node - linkType: hard - -"function-bind@npm:^1.1.2": - version: 1.1.2 - resolution: "function-bind@npm:1.1.2" - checksum: 10c0/d8680ee1e5fcd4c197e4ac33b2b4dce03c71f4d91717292785703db200f5c21f977c568d28061226f9b5900cbcd2c84463646134fd5337e7925e0942bc3f46d5 - languageName: node - linkType: hard - -"gaxios@npm:^7.0.0, gaxios@npm:^7.1.4": - version: 7.1.4 - resolution: "gaxios@npm:7.1.4" - dependencies: - extend: "npm:^3.0.2" - https-proxy-agent: "npm:^7.0.1" - node-fetch: "npm:^3.3.2" - checksum: 10c0/147adf5f2606442945d8b19df1e9fe2833a5ec30af00743d0c44292899c5eef1c0a77b74ff07d9dfdc6b009c08af1f3f3d1d5d772109fde50c92435533795803 - languageName: node - linkType: hard - -"gcp-metadata@npm:8.1.2": - version: 8.1.2 - resolution: "gcp-metadata@npm:8.1.2" - dependencies: - gaxios: "npm:^7.0.0" - google-logging-utils: "npm:^1.0.0" - json-bigint: "npm:^1.0.0" - checksum: 10c0/15a61231a9410dc11c2828d2c9fdc8b0a939f1af746195c44edc6f2ffea0acab52cef3a7b9828069a36fd5d68bda730f7328a415fe42a01258f6e249dfba6908 - languageName: node - linkType: hard - -"generator-function@npm:^2.0.0": - version: 2.0.1 - resolution: "generator-function@npm:2.0.1" - checksum: 10c0/8a9f59df0f01cfefafdb3b451b80555e5cf6d76487095db91ac461a0e682e4ff7a9dbce15f4ecec191e53586d59eece01949e05a4b4492879600bbbe8e28d6b8 - languageName: node - linkType: hard - -"gensequence@npm:^8.0.8": - version: 8.0.8 - resolution: "gensequence@npm:8.0.8" - checksum: 10c0/a1315a9c366c4becda7720c8ecb986cbab912352e8fe25fdb57325d4a8fb3cce816cc227acd7bf2141283656f1e04229655240a2cc70d75836eec13ed8a96425 - languageName: node - linkType: hard - -"get-intrinsic@npm:^1.2.6": - version: 1.3.1 - resolution: "get-intrinsic@npm:1.3.1" - dependencies: - async-function: "npm:^1.0.0" - async-generator-function: "npm:^1.0.0" - call-bind-apply-helpers: "npm:^1.0.2" - es-define-property: "npm:^1.0.1" - es-errors: "npm:^1.3.0" - es-object-atoms: "npm:^1.1.1" - function-bind: "npm:^1.1.2" - generator-function: "npm:^2.0.0" - get-proto: "npm:^1.0.1" - gopd: "npm:^1.2.0" - has-symbols: "npm:^1.1.0" - hasown: "npm:^2.0.2" - math-intrinsics: "npm:^1.1.0" - checksum: 10c0/9f4ab0cf7efe0fd2c8185f52e6f637e708f3a112610c88869f8f041bb9ecc2ce44bf285dfdbdc6f4f7c277a5b88d8e94a432374d97cca22f3de7fc63795deb5d - languageName: node - linkType: hard - -"get-proto@npm:^1.0.1": - version: 1.0.1 - resolution: "get-proto@npm:1.0.1" - dependencies: - dunder-proto: "npm:^1.0.1" - es-object-atoms: "npm:^1.0.0" - checksum: 10c0/9224acb44603c5526955e83510b9da41baf6ae73f7398875fba50edc5e944223a89c4a72b070fcd78beb5f7bdda58ecb6294adc28f7acfc0da05f76a2399643c - languageName: node - linkType: hard - -"get-tsconfig@npm:4.14.0, get-tsconfig@npm:^4.10.1": - version: 4.14.0 - resolution: "get-tsconfig@npm:4.14.0" - dependencies: - resolve-pkg-maps: "npm:^1.0.0" - checksum: 10c0/abc2b9275468eb589079a0b7a95eb5107c14fdd0ca6dda1bff116fe774ea1f79975421dcb22a0c86b4f820fcc69a7655dddf9b6d6a8a2c06fcb59e19794c0724 - languageName: node - linkType: hard - -"glob-parent@npm:^6.0.2": - version: 6.0.2 - resolution: "glob-parent@npm:6.0.2" - dependencies: - is-glob: "npm:^4.0.3" - checksum: 10c0/317034d88654730230b3f43bb7ad4f7c90257a426e872ea0bf157473ac61c99bf5d205fad8f0185f989be8d2fa6d3c7dce1645d99d545b6ea9089c39f838e7f8 - languageName: node - linkType: hard - -"global-directory@npm:^5.0.0": - version: 5.0.0 - resolution: "global-directory@npm:5.0.0" - dependencies: - ini: "npm:6.0.0" - checksum: 10c0/2b90eea8975bb332db7e8c9096ff310f0deb617d17e47e93b921d1c69f7677c1759a07009f2581f050d3ea08a3e079bf4ffdb9c34c94d48dc369c6577b3d45f4 - languageName: node - linkType: hard - -"globals@npm:^17.6.0": - version: 17.6.0 - resolution: "globals@npm:17.6.0" - checksum: 10c0/cf94fb4329cc5c68cf81018fd68324f413181ee169f0235b0b33b82bc93fe7825a21beea951f83a80e8e4bbdad9c0c80515a145b5fd4b5cb52f2a80db899a93f - languageName: node - linkType: hard - -"google-auth-library@npm:^10.6.2": - version: 10.6.2 - resolution: "google-auth-library@npm:10.6.2" - dependencies: - base64-js: "npm:^1.3.0" - ecdsa-sig-formatter: "npm:^1.0.11" - gaxios: "npm:^7.1.4" - gcp-metadata: "npm:8.1.2" - google-logging-utils: "npm:1.1.3" - jws: "npm:^4.0.0" - checksum: 10c0/4878d9070e751202eff8adca7a78a41f045c460f611a62d8c0c14ac4bd33d66afc5d788ef82225873dadc7cde401d47f223f3c109f1a192564164fdd44a36614 - languageName: node - linkType: hard - -"google-logging-utils@npm:1.1.3, google-logging-utils@npm:^1.0.0": - version: 1.1.3 - resolution: "google-logging-utils@npm:1.1.3" - checksum: 10c0/e65201c7e96543bd1423b9324013736646b9eed60941e0bfa47b9bfd146d2f09cf3df1c99ca60b7d80a726075263ead049ee72de53372cb8458c3bc55c2c1e59 - languageName: node - linkType: hard - -"gopd@npm:^1.2.0": - version: 1.2.0 - resolution: "gopd@npm:1.2.0" - checksum: 10c0/50fff1e04ba2b7737c097358534eacadad1e68d24cccee3272e04e007bed008e68d2614f3987788428fd192a5ae3889d08fb2331417e4fc4a9ab366b2043cead - languageName: node - linkType: hard - -"graceful-fs@npm:^4.2.6": - version: 4.2.11 - resolution: "graceful-fs@npm:4.2.11" - checksum: 10c0/386d011a553e02bc594ac2ca0bd6d9e4c22d7fa8cfbfc448a6d148c59ea881b092db9dbe3547ae4b88e55f1b01f7c4a2ecc53b310c042793e63aa44cf6c257f2 - languageName: node - linkType: hard - -"has-flag@npm:^4.0.0": - version: 4.0.0 - resolution: "has-flag@npm:4.0.0" - checksum: 10c0/2e789c61b7888d66993e14e8331449e525ef42aac53c627cc53d1c3334e768bcb6abdc4f5f0de1478a25beec6f0bd62c7549058b7ac53e924040d4f301f02fd1 - languageName: node - linkType: hard - -"has-symbols@npm:^1.0.3, has-symbols@npm:^1.1.0": - version: 1.1.0 - resolution: "has-symbols@npm:1.1.0" - checksum: 10c0/dde0a734b17ae51e84b10986e651c664379018d10b91b6b0e9b293eddb32f0f069688c841fb40f19e9611546130153e0a2a48fd7f512891fb000ddfa36f5a20e - languageName: node - linkType: hard - -"has-tostringtag@npm:^1.0.2": - version: 1.0.2 - resolution: "has-tostringtag@npm:1.0.2" - dependencies: - has-symbols: "npm:^1.0.3" - checksum: 10c0/a8b166462192bafe3d9b6e420a1d581d93dd867adb61be223a17a8d6dad147aa77a8be32c961bb2f27b3ef893cae8d36f564ab651f5e9b7938ae86f74027c48c - languageName: node - linkType: hard - -"hasown@npm:^2.0.2": - version: 2.0.3 - resolution: "hasown@npm:2.0.3" - dependencies: - function-bind: "npm:^1.1.2" - checksum: 10c0/f5eb28c3fd0d3e4facd821c1eeee3836c37b70ab0b0fc532e8a39976e18fef43652415dadc52f8c7a5ff6d5ac93b7bef128789aa6f90f4e9b9a9083dce74ab38 - languageName: node - linkType: hard - -"html-escaper@npm:^2.0.0": - version: 2.0.2 - resolution: "html-escaper@npm:2.0.2" - checksum: 10c0/208e8a12de1a6569edbb14544f4567e6ce8ecc30b9394fcaa4e7bb1e60c12a7c9a1ed27e31290817157e8626f3a4f29e76c8747030822eb84a6abb15c255f0a0 - languageName: node - linkType: hard - -"https-proxy-agent@npm:^5.0.1": - version: 5.0.1 - resolution: "https-proxy-agent@npm:5.0.1" - dependencies: - agent-base: "npm:6" - debug: "npm:4" - checksum: 10c0/6dd639f03434003577c62b27cafdb864784ef19b2de430d8ae2a1d45e31c4fd60719e5637b44db1a88a046934307da7089e03d6089ec3ddacc1189d8de8897d1 - languageName: node - linkType: hard - -"https-proxy-agent@npm:^7.0.1": - version: 7.0.6 - resolution: "https-proxy-agent@npm:7.0.6" - dependencies: - agent-base: "npm:^7.1.2" - debug: "npm:4" - checksum: 10c0/f729219bc735edb621fa30e6e84e60ee5d00802b8247aac0d7b79b0bd6d4b3294737a337b93b86a0bd9e68099d031858a39260c976dc14cdbba238ba1f8779ac - languageName: node - linkType: hard - -"ignore@npm:^5.2.0": - version: 5.3.2 - resolution: "ignore@npm:5.3.2" - checksum: 10c0/f9f652c957983634ded1e7f02da3b559a0d4cc210fca3792cb67f1b153623c9c42efdc1c4121af171e295444459fc4a9201101fb041b1104a3c000bccb188337 - languageName: node - linkType: hard - -"ignore@npm:^7.0.5": - version: 7.0.5 - resolution: "ignore@npm:7.0.5" - checksum: 10c0/ae00db89fe873064a093b8999fe4cc284b13ef2a178636211842cceb650b9c3e390d3339191acb145d81ed5379d2074840cf0c33a20bdbd6f32821f79eb4ad5d - languageName: node - linkType: hard - -"import-fresh@npm:^4.0.0": - version: 4.0.0 - resolution: "import-fresh@npm:4.0.0" - checksum: 10c0/537fb037c046ed594edcf2b60f438e70a07fa70fe14fbf35650870a414dc28c3332a11095f7782edfc814d3b997d204eaa3912cd6e3c62c296ee41c6caea9a8d - languageName: node - linkType: hard - -"import-meta-resolve@npm:^4.2.0": - version: 4.2.0 - resolution: "import-meta-resolve@npm:4.2.0" - checksum: 10c0/3ee8aeecb61d19b49d2703987f977e9d1c7d4ba47db615a570eaa02fe414f40dfa63f7b953e842cbe8470d26df6371332bfcf21b2fd92b0112f9fea80dde2c4c - languageName: node - linkType: hard - -"imurmurhash@npm:^0.1.4": - version: 0.1.4 - resolution: "imurmurhash@npm:0.1.4" - checksum: 10c0/8b51313850dd33605c6c9d3fd9638b714f4c4c40250cff658209f30d40da60f78992fb2df5dabee4acf589a6a82bbc79ad5486550754bd9ec4e3fc0d4a57d6a6 - languageName: node - linkType: hard - -"ini@npm:6.0.0": - version: 6.0.0 - resolution: "ini@npm:6.0.0" - checksum: 10c0/9a7f55f306e2b25b41ae67c8b526e8f4673f057b70852b9025816ef4f15f07bf1ba35ed68ea4471ff7b31718f7ef1bc50d709f8d03cb012e10a3135eb99c7206 - languageName: node - linkType: hard - -"is-buffer@npm:^2.0.5": - version: 2.0.5 - resolution: "is-buffer@npm:2.0.5" - checksum: 10c0/e603f6fced83cf94c53399cff3bda1a9f08e391b872b64a73793b0928be3e5f047f2bcece230edb7632eaea2acdbfcb56c23b33d8a20c820023b230f1485679a - languageName: node - linkType: hard - -"is-bun-module@npm:^2.0.0": - version: 2.0.0 - resolution: "is-bun-module@npm:2.0.0" - dependencies: - semver: "npm:^7.7.1" - checksum: 10c0/7d27a0679cfa5be1f5052650391f9b11040cd70c48d45112e312c56bc6b6ca9c9aea70dcce6cc40b1e8947bfff8567a5c5715d3b066fb478522dab46ea379240 - languageName: node - linkType: hard - -"is-extglob@npm:^2.1.1": - version: 2.1.1 - resolution: "is-extglob@npm:2.1.1" - checksum: 10c0/5487da35691fbc339700bbb2730430b07777a3c21b9ebaecb3072512dfd7b4ba78ac2381a87e8d78d20ea08affb3f1971b4af629173a6bf435ff8a4c47747912 - languageName: node - linkType: hard - -"is-glob@npm:^4.0.0, is-glob@npm:^4.0.3": - version: 4.0.3 - resolution: "is-glob@npm:4.0.3" - dependencies: - is-extglob: "npm:^2.1.1" - checksum: 10c0/17fb4014e22be3bbecea9b2e3a76e9e34ff645466be702f1693e8f1ee1adac84710d0be0bd9f967d6354036fd51ab7c2741d954d6e91dae6bb69714de92c197a - languageName: node - linkType: hard - -"is-safe-filename@npm:^0.1.0": - version: 0.1.1 - resolution: "is-safe-filename@npm:0.1.1" - checksum: 10c0/45c35d2253b96348e2c26590e14feed51d1e6b72aaa567930ccb34e68c0eef00ebcf3b7e01b46bf45e578a27355cd8f5bc12f7d6d79a34d33dc93d4560c0f6b6 - languageName: node - linkType: hard - -"isexe@npm:^2.0.0": - version: 2.0.0 - resolution: "isexe@npm:2.0.0" - checksum: 10c0/228cfa503fadc2c31596ab06ed6aa82c9976eec2bfd83397e7eaf06d0ccf42cd1dfd6743bf9aeb01aebd4156d009994c5f76ea898d2832c1fe342da923ca457d - languageName: node - linkType: hard - -"isexe@npm:^4.0.0": - version: 4.0.0 - resolution: "isexe@npm:4.0.0" - checksum: 10c0/5884815115bceac452877659a9c7726382531592f43dc29e5d48b7c4100661aed54018cb90bd36cb2eaeba521092570769167acbb95c18d39afdccbcca06c5ce - 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: 10c0/6c7ff2106769e5f592ded1fb418f9f73b4411fd5a084387a5410538332b6567cd1763ff6b6cadca9b9eb2c443cce2f7ea7d7f1b8d315f9ce58539793b1e0922b - languageName: node - linkType: hard - -"istanbul-lib-report@npm:^3.0.0, istanbul-lib-report@npm:^3.0.1": - version: 3.0.1 - resolution: "istanbul-lib-report@npm:3.0.1" - dependencies: - istanbul-lib-coverage: "npm:^3.0.0" - make-dir: "npm:^4.0.0" - supports-color: "npm:^7.1.0" - checksum: 10c0/84323afb14392de8b6a5714bd7e9af845cfbd56cfe71ed276cda2f5f1201aea673c7111901227ee33e68e4364e288d73861eb2ed48f6679d1e69a43b6d9b3ba7 - languageName: node - linkType: hard - -"istanbul-reports@npm:^3.2.0": - version: 3.2.0 - resolution: "istanbul-reports@npm:3.2.0" - dependencies: - html-escaper: "npm:^2.0.0" - istanbul-lib-report: "npm:^3.0.0" - checksum: 10c0/d596317cfd9c22e1394f22a8d8ba0303d2074fe2e971887b32d870e4b33f8464b10f8ccbe6847808f7db485f084eba09e6c2ed706b3a978e4b52f07085b8f9bc - languageName: node - linkType: hard - -"jiti@npm:^2.7.0": - version: 2.7.0 - resolution: "jiti@npm:2.7.0" - bin: - jiti: lib/jiti-cli.mjs - checksum: 10c0/1b1e2310a490dce1aeea3da5f5dfe18273516c20ce48be2e98eb8ea452d5f3dcc8fd0cfd6d28b4052a24c5dbab6e3089b2d7e79f0bce7915b10d750929563c42 - languageName: node - linkType: hard - -"js-tokens@npm:^10.0.0": - version: 10.0.0 - resolution: "js-tokens@npm:10.0.0" - checksum: 10c0/a93498747812ba3e0c8626f95f75ab29319f2a13613a0de9e610700405760931624433a0de59eb7c27ff8836e526768fb20783861b86ef89be96676f2c996b64 - languageName: node - linkType: hard - -"json-bigint@npm:^1.0.0": - version: 1.0.0 - resolution: "json-bigint@npm:1.0.0" - dependencies: - bignumber.js: "npm:^9.0.0" - checksum: 10c0/e3f34e43be3284b573ea150a3890c92f06d54d8ded72894556357946aeed9877fd795f62f37fe16509af189fd314ab1104d0fd0f163746ad231b9f378f5b33f4 - languageName: node - linkType: hard - -"json-buffer@npm:3.0.1": - version: 3.0.1 - resolution: "json-buffer@npm:3.0.1" - checksum: 10c0/0d1c91569d9588e7eef2b49b59851f297f3ab93c7b35c7c221e288099322be6b562767d11e4821da500f3219542b9afd2e54c5dc573107c1126ed1080f8e96d7 - languageName: node - linkType: hard - -"json-schema-traverse@npm:^0.4.1": - version: 0.4.1 - resolution: "json-schema-traverse@npm:0.4.1" - checksum: 10c0/108fa90d4cc6f08243aedc6da16c408daf81793bf903e9fd5ab21983cda433d5d2da49e40711da016289465ec2e62e0324dcdfbc06275a607fe3233fde4942ce - 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: 10c0/cb168b61fd4de83e58d09aaa6425ef71001bae30d260e2c57e7d09a5fd82223e2f22a042dedaab8db23b7d9ae46854b08bb1f91675a8be11c5cffebef5fb66a5 - languageName: node - linkType: hard - -"jsonc-eslint-parser@npm:^3.1.0": - version: 3.1.0 - resolution: "jsonc-eslint-parser@npm:3.1.0" - dependencies: - acorn: "npm:^8.5.0" - eslint-visitor-keys: "npm:^5.0.0" - semver: "npm:^7.3.5" - checksum: 10c0/9af0aa3abf946f306ce823ccde33ab7d91cf215e1af26d33b2f65e9e230552bfa40aa93859b91aabf96738c66357a598cc7b2275ba99839ef4afd84edda3b11e - languageName: node - linkType: hard - -"jwa@npm:^2.0.1": - version: 2.0.1 - resolution: "jwa@npm:2.0.1" - dependencies: - buffer-equal-constant-time: "npm:^1.0.1" - ecdsa-sig-formatter: "npm:1.0.11" - safe-buffer: "npm:^5.0.1" - checksum: 10c0/ab3ebc6598e10dc11419d4ed675c9ca714a387481466b10e8a6f3f65d8d9c9237e2826f2505280a739cf4cbcf511cb288eeec22b5c9c63286fc5a2e4f97e78cf - languageName: node - linkType: hard - -"jws@npm:^4.0.0": - version: 4.0.1 - resolution: "jws@npm:4.0.1" - dependencies: - jwa: "npm:^2.0.1" - safe-buffer: "npm:^5.0.1" - checksum: 10c0/6be1ed93023aef570ccc5ea8d162b065840f3ef12f0d1bb3114cade844de7a357d5dc558201d9a65101e70885a6fa56b17462f520e6b0d426195510618a154d0 - languageName: node - linkType: hard - -"keyv@npm:^4.5.4": - version: 4.5.4 - resolution: "keyv@npm:4.5.4" - dependencies: - json-buffer: "npm:3.0.1" - checksum: 10c0/aa52f3c5e18e16bb6324876bb8b59dd02acf782a4b789c7b2ae21107fab95fab3890ed448d4f8dba80ce05391eeac4bfabb4f02a20221342982f806fa2cf271e - languageName: node - linkType: hard - -"knip@npm:^6.14.1": - version: 6.14.1 - resolution: "knip@npm:6.14.1" - dependencies: - fdir: "npm:^6.5.0" - formatly: "npm:^0.3.0" - get-tsconfig: "npm:4.14.0" - jiti: "npm:^2.7.0" - minimist: "npm:^1.2.8" - oxc-parser: "npm:^0.130.0" - oxc-resolver: "npm:^11.19.1" - picomatch: "npm:^4.0.4" - smol-toml: "npm:^1.6.1" - strip-json-comments: "npm:5.0.3" - tinyglobby: "npm:^0.2.16" - unbash: "npm:^3.0.0" - yaml: "npm:^2.9.0" - zod: "npm:^4.1.11" - bin: - knip: bin/knip.js - knip-bun: bin/knip-bun.js - checksum: 10c0/d0221aa904b801a38a38503133d4d67ea4036de045691e127972ddedfde2da37fe1be0648d966f72061cb0dcf8b3e35131038c37401e24d15f1c483920bb4989 - languageName: node - linkType: hard - -"levn@npm:^0.4.1": - version: 0.4.1 - resolution: "levn@npm:0.4.1" - dependencies: - prelude-ls: "npm:^1.2.1" - type-check: "npm:~0.4.0" - checksum: 10c0/effb03cad7c89dfa5bd4f6989364bfc79994c2042ec5966cb9b95990e2edee5cd8969ddf42616a0373ac49fac1403437deaf6e9050fbbaa3546093a59b9ac94e - languageName: node - linkType: hard - -"lightningcss-android-arm64@npm:1.32.0": - version: 1.32.0 - resolution: "lightningcss-android-arm64@npm:1.32.0" - conditions: os=android & cpu=arm64 - languageName: node - linkType: hard - -"lightningcss-darwin-arm64@npm:1.32.0": - version: 1.32.0 - resolution: "lightningcss-darwin-arm64@npm:1.32.0" - conditions: os=darwin & cpu=arm64 - languageName: node - linkType: hard - -"lightningcss-darwin-x64@npm:1.32.0": - version: 1.32.0 - resolution: "lightningcss-darwin-x64@npm:1.32.0" - conditions: os=darwin & cpu=x64 - languageName: node - linkType: hard - -"lightningcss-freebsd-x64@npm:1.32.0": - version: 1.32.0 - resolution: "lightningcss-freebsd-x64@npm:1.32.0" - conditions: os=freebsd & cpu=x64 - languageName: node - linkType: hard - -"lightningcss-linux-arm-gnueabihf@npm:1.32.0": - version: 1.32.0 - resolution: "lightningcss-linux-arm-gnueabihf@npm:1.32.0" - conditions: os=linux & cpu=arm - languageName: node - linkType: hard - -"lightningcss-linux-arm64-gnu@npm:1.32.0": - version: 1.32.0 - resolution: "lightningcss-linux-arm64-gnu@npm:1.32.0" - conditions: os=linux & cpu=arm64 & libc=glibc - languageName: node - linkType: hard - -"lightningcss-linux-arm64-musl@npm:1.32.0": - version: 1.32.0 - resolution: "lightningcss-linux-arm64-musl@npm:1.32.0" - conditions: os=linux & cpu=arm64 & libc=musl - languageName: node - linkType: hard - -"lightningcss-linux-x64-gnu@npm:1.32.0": - version: 1.32.0 - resolution: "lightningcss-linux-x64-gnu@npm:1.32.0" - conditions: os=linux & cpu=x64 & libc=glibc - languageName: node - linkType: hard - -"lightningcss-linux-x64-musl@npm:1.32.0": - version: 1.32.0 - resolution: "lightningcss-linux-x64-musl@npm:1.32.0" - conditions: os=linux & cpu=x64 & libc=musl - languageName: node - linkType: hard - -"lightningcss-win32-arm64-msvc@npm:1.32.0": - version: 1.32.0 - resolution: "lightningcss-win32-arm64-msvc@npm:1.32.0" - conditions: os=win32 & cpu=arm64 - languageName: node - linkType: hard - -"lightningcss-win32-x64-msvc@npm:1.32.0": - version: 1.32.0 - resolution: "lightningcss-win32-x64-msvc@npm:1.32.0" - conditions: os=win32 & cpu=x64 - languageName: node - linkType: hard - -"lightningcss@npm:^1.32.0": - version: 1.32.0 - resolution: "lightningcss@npm:1.32.0" - dependencies: - detect-libc: "npm:^2.0.3" - lightningcss-android-arm64: "npm:1.32.0" - lightningcss-darwin-arm64: "npm:1.32.0" - lightningcss-darwin-x64: "npm:1.32.0" - lightningcss-freebsd-x64: "npm:1.32.0" - lightningcss-linux-arm-gnueabihf: "npm:1.32.0" - lightningcss-linux-arm64-gnu: "npm:1.32.0" - lightningcss-linux-arm64-musl: "npm:1.32.0" - lightningcss-linux-x64-gnu: "npm:1.32.0" - lightningcss-linux-x64-musl: "npm:1.32.0" - lightningcss-win32-arm64-msvc: "npm:1.32.0" - lightningcss-win32-x64-msvc: "npm:1.32.0" - dependenciesMeta: - lightningcss-android-arm64: - optional: true - lightningcss-darwin-arm64: - optional: true - lightningcss-darwin-x64: - optional: true - lightningcss-freebsd-x64: - optional: true - lightningcss-linux-arm-gnueabihf: - optional: true - lightningcss-linux-arm64-gnu: - optional: true - lightningcss-linux-arm64-musl: - optional: true - lightningcss-linux-x64-gnu: - optional: true - lightningcss-linux-x64-musl: - optional: true - lightningcss-win32-arm64-msvc: - optional: true - lightningcss-win32-x64-msvc: - optional: true - checksum: 10c0/70945bd55097af46fc9fab7f5ed09cd5869d85940a2acab7ee06d0117004a1d68155708a2d462531cea2fc3c67aefc9333a7068c80b0b78dd404c16838809e03 - languageName: node - linkType: hard - -"locate-path@npm:^6.0.0": - version: 6.0.0 - resolution: "locate-path@npm:6.0.0" - dependencies: - p-locate: "npm:^5.0.0" - checksum: 10c0/d3972ab70dfe58ce620e64265f90162d247e87159b6126b01314dd67be43d50e96a50b517bce2d9452a79409c7614054c277b5232377de50416564a77ac7aad3 - languageName: node - linkType: hard - -"magic-string@npm:^0.30.21": - version: 0.30.21 - resolution: "magic-string@npm:0.30.21" - dependencies: - "@jridgewell/sourcemap-codec": "npm:^1.5.5" - checksum: 10c0/299378e38f9a270069fc62358522ddfb44e94244baa0d6a8980ab2a9b2490a1d03b236b447eee309e17eb3bddfa482c61259d47960eb018a904f0ded52780c4a - languageName: node - linkType: hard - -"magicast@npm:^0.5.2": - version: 0.5.3 - resolution: "magicast@npm:0.5.3" - dependencies: - "@babel/parser": "npm:^7.29.3" - "@babel/types": "npm:^7.29.0" - source-map-js: "npm:^1.2.1" - checksum: 10c0/e288c027ae5f2a794a59148cb114f4b60f1d5c03090de6c60b4d187f12d1de9158779cd7c39cea391609f4f10cd7ea737929f25f7ce44f7a96ba96ec1a477e39 - languageName: node - linkType: hard - -"make-dir@npm:^4.0.0": - version: 4.0.0 - resolution: "make-dir@npm:4.0.0" - dependencies: - semver: "npm:^7.5.3" - checksum: 10c0/69b98a6c0b8e5c4fe9acb61608a9fbcfca1756d910f51e5dbe7a9e5cfb74fca9b8a0c8a0ffdf1294a740826c1ab4871d5bf3f62f72a3049e5eac6541ddffed68 - languageName: node - linkType: hard - -"math-intrinsics@npm:^1.1.0": - version: 1.1.0 - resolution: "math-intrinsics@npm:1.1.0" - checksum: 10c0/7579ff94e899e2f76ab64491d76cf606274c874d8f2af4a442c016bd85688927fcfca157ba6bf74b08e9439dc010b248ce05b96cc7c126a354c3bae7fcb48b7f - languageName: node - linkType: hard - -"mime-db@npm:1.52.0": - version: 1.52.0 - resolution: "mime-db@npm:1.52.0" - checksum: 10c0/0557a01deebf45ac5f5777fe7740b2a5c309c6d62d40ceab4e23da9f821899ce7a900b7ac8157d4548ddbb7beffe9abc621250e6d182b0397ec7f10c7b91a5aa - languageName: node - linkType: hard - -"mime-types@npm:^2.1.12": - version: 2.1.35 - resolution: "mime-types@npm:2.1.35" - dependencies: - mime-db: "npm:1.52.0" - checksum: 10c0/82fb07ec56d8ff1fc999a84f2f217aa46cb6ed1033fefaabd5785b9a974ed225c90dc72fff460259e66b95b73648596dbcc50d51ed69cdf464af2d237d3149b2 - languageName: node - linkType: hard - -"minimatch@npm:^10.2.2, minimatch@npm:^10.2.4, minimatch@npm:^9.0.3 || ^10.1.2": - version: 10.2.5 - resolution: "minimatch@npm:10.2.5" - dependencies: - brace-expansion: "npm:^5.0.5" - checksum: 10c0/6bb058bd6324104b9ec2f763476a35386d05079c1f5fe4fbf1f324a25237cd4534d6813ecd71f48208f4e635c1221899bef94c3c89f7df55698fe373aaae20fd - languageName: node - linkType: hard - -"minimist@npm:^1.2.8": - version: 1.2.8 - resolution: "minimist@npm:1.2.8" - checksum: 10c0/19d3fcdca050087b84c2029841a093691a91259a47def2f18222f41e7645a0b7c44ef4b40e88a1e58a40c84d2ef0ee6047c55594d298146d0eb3f6b737c20ce6 - languageName: node - linkType: hard - -"minipass@npm:^7.0.4, minipass@npm:^7.1.2": - version: 7.1.3 - resolution: "minipass@npm:7.1.3" - checksum: 10c0/539da88daca16533211ea5a9ee98dc62ff5742f531f54640dd34429e621955e91cc280a91a776026264b7f9f6735947629f920944e9c1558369e8bf22eb33fbb - languageName: node - linkType: hard - -"minizlib@npm:^3.1.0": - version: 3.1.0 - resolution: "minizlib@npm:3.1.0" - dependencies: - minipass: "npm:^7.1.2" - checksum: 10c0/5aad75ab0090b8266069c9aabe582c021ae53eb33c6c691054a13a45db3b4f91a7fb1bd79151e6b4e9e9a86727b522527c0a06ec7d45206b745d54cd3097bcec - languageName: node - linkType: hard - -"mri@npm:^1.1.0": - version: 1.2.0 - resolution: "mri@npm:1.2.0" - checksum: 10c0/a3d32379c2554cf7351db6237ddc18dc9e54e4214953f3da105b97dc3babe0deb3ffe99cf409b38ea47cc29f9430561ba6b53b24ab8f9ce97a4b50409e4a50e7 - languageName: node - linkType: hard - -"ms@npm:^2.1.3": - version: 2.1.3 - resolution: "ms@npm:2.1.3" - checksum: 10c0/d924b57e7312b3b63ad21fc5b3dc0af5e78d61a1fc7cfb5457edaf26326bf62be5307cc87ffb6862ef1c2b33b0233cdb5d4f01c4c958cc0d660948b65a287a48 - languageName: node - linkType: hard - -"nanoid@npm:^3.3.12": - version: 3.3.12 - resolution: "nanoid@npm:3.3.12" - bin: - nanoid: bin/nanoid.cjs - checksum: 10c0/ba142b7b39e11e80c16dd74b0365d407880c87c1cf7e1480956981ae940ee36060fa5b6f092cd1e315184dd19244c657bd017d03327bd3c62247d691c5e8edfb - languageName: node - linkType: hard - -"napi-postinstall@npm:^0.3.4": - version: 0.3.4 - resolution: "napi-postinstall@npm:0.3.4" - bin: - napi-postinstall: lib/cli.js - checksum: 10c0/b33d64150828bdade3a5d07368a8b30da22ee393f8dd8432f1b9e5486867be21c84ec443dd875dd3ef3c7401a079a7ab7e2aa9d3538a889abbcd96495d5104fe - languageName: node - linkType: hard - -"natural-compare@npm:^1.4.0": - version: 1.4.0 - resolution: "natural-compare@npm:1.4.0" - checksum: 10c0/f5f9a7974bfb28a91afafa254b197f0f22c684d4a1731763dda960d2c8e375b36c7d690e0d9dc8fba774c537af14a7e979129bca23d88d052fbeb9466955e447 - languageName: node - linkType: hard - -"node-domexception@npm:^1.0.0": - version: 1.0.0 - resolution: "node-domexception@npm:1.0.0" - checksum: 10c0/5e5d63cda29856402df9472335af4bb13875e1927ad3be861dc5ebde38917aecbf9ae337923777af52a48c426b70148815e890a5d72760f1b4d758cc671b1a2b - languageName: node - linkType: hard - -"node-fetch@npm:^3.3.2": - version: 3.3.2 - resolution: "node-fetch@npm:3.3.2" - dependencies: - data-uri-to-buffer: "npm:^4.0.0" - fetch-blob: "npm:^3.1.4" - formdata-polyfill: "npm:^4.0.10" - checksum: 10c0/f3d5e56190562221398c9f5750198b34cf6113aa304e34ee97c94fd300ec578b25b2c2906edba922050fce983338fde0d5d34fcb0fc3336ade5bd0e429ad7538 - languageName: node - linkType: hard - -"node-gyp@npm:latest": - version: 12.3.0 - resolution: "node-gyp@npm:12.3.0" - dependencies: - env-paths: "npm:^2.2.0" - exponential-backoff: "npm:^3.1.1" - graceful-fs: "npm:^4.2.6" - nopt: "npm:^9.0.0" - proc-log: "npm:^6.0.0" - semver: "npm:^7.3.5" - tar: "npm:^7.5.4" - tinyglobby: "npm:^0.2.12" - undici: "npm:^6.25.0" - which: "npm:^6.0.0" - bin: - node-gyp: bin/node-gyp.js - checksum: 10c0/9d9032b405cbe42f72a105259d9eb679376470c102df4a2dbaa51e07d59bf741dcffb85897087ea9d8318b9cabb824a8978af51508ae142f0239ae1e6a3c2329 - languageName: node - linkType: hard - -"nopt@npm:^9.0.0": - version: 9.0.0 - resolution: "nopt@npm:9.0.0" - dependencies: - abbrev: "npm:^4.0.0" - bin: - nopt: bin/nopt.js - checksum: 10c0/1822eb6f9b020ef6f7a7516d7b64a8036e09666ea55ac40416c36e4b2b343122c3cff0e2f085675f53de1d2db99a2a89a60ccea1d120bcd6a5347bf6ceb4a7fd - languageName: node - linkType: hard - -"obug@npm:^2.1.1": - version: 2.1.1 - resolution: "obug@npm:2.1.1" - checksum: 10c0/59dccd7de72a047e08f8649e94c1015ec72f94eefb6ddb57fb4812c4b425a813bc7e7cd30c9aca20db3c59abc3c85cc7a62bb656a968741d770f4e8e02bc2e78 - languageName: node - linkType: hard - -"optionator@npm:^0.9.3": - version: 0.9.4 - resolution: "optionator@npm:0.9.4" - dependencies: - deep-is: "npm:^0.1.3" - fast-levenshtein: "npm:^2.0.6" - levn: "npm:^0.4.1" - prelude-ls: "npm:^1.2.1" - type-check: "npm:^0.4.0" - word-wrap: "npm:^1.2.5" - checksum: 10c0/4afb687a059ee65b61df74dfe87d8d6815cd6883cb8b3d5883a910df72d0f5d029821f37025e4bccf4048873dbdb09acc6d303d27b8f76b1a80dd5a7d5334675 - languageName: node - linkType: hard - -"oxc-parser@npm:^0.130.0": - version: 0.130.0 - resolution: "oxc-parser@npm:0.130.0" - dependencies: - "@oxc-parser/binding-android-arm-eabi": "npm:0.130.0" - "@oxc-parser/binding-android-arm64": "npm:0.130.0" - "@oxc-parser/binding-darwin-arm64": "npm:0.130.0" - "@oxc-parser/binding-darwin-x64": "npm:0.130.0" - "@oxc-parser/binding-freebsd-x64": "npm:0.130.0" - "@oxc-parser/binding-linux-arm-gnueabihf": "npm:0.130.0" - "@oxc-parser/binding-linux-arm-musleabihf": "npm:0.130.0" - "@oxc-parser/binding-linux-arm64-gnu": "npm:0.130.0" - "@oxc-parser/binding-linux-arm64-musl": "npm:0.130.0" - "@oxc-parser/binding-linux-ppc64-gnu": "npm:0.130.0" - "@oxc-parser/binding-linux-riscv64-gnu": "npm:0.130.0" - "@oxc-parser/binding-linux-riscv64-musl": "npm:0.130.0" - "@oxc-parser/binding-linux-s390x-gnu": "npm:0.130.0" - "@oxc-parser/binding-linux-x64-gnu": "npm:0.130.0" - "@oxc-parser/binding-linux-x64-musl": "npm:0.130.0" - "@oxc-parser/binding-openharmony-arm64": "npm:0.130.0" - "@oxc-parser/binding-wasm32-wasi": "npm:0.130.0" - "@oxc-parser/binding-win32-arm64-msvc": "npm:0.130.0" - "@oxc-parser/binding-win32-ia32-msvc": "npm:0.130.0" - "@oxc-parser/binding-win32-x64-msvc": "npm:0.130.0" - "@oxc-project/types": "npm:^0.130.0" - dependenciesMeta: - "@oxc-parser/binding-android-arm-eabi": - optional: true - "@oxc-parser/binding-android-arm64": - optional: true - "@oxc-parser/binding-darwin-arm64": - optional: true - "@oxc-parser/binding-darwin-x64": - optional: true - "@oxc-parser/binding-freebsd-x64": - optional: true - "@oxc-parser/binding-linux-arm-gnueabihf": - optional: true - "@oxc-parser/binding-linux-arm-musleabihf": - optional: true - "@oxc-parser/binding-linux-arm64-gnu": - optional: true - "@oxc-parser/binding-linux-arm64-musl": - optional: true - "@oxc-parser/binding-linux-ppc64-gnu": - optional: true - "@oxc-parser/binding-linux-riscv64-gnu": - optional: true - "@oxc-parser/binding-linux-riscv64-musl": - optional: true - "@oxc-parser/binding-linux-s390x-gnu": - optional: true - "@oxc-parser/binding-linux-x64-gnu": - optional: true - "@oxc-parser/binding-linux-x64-musl": - optional: true - "@oxc-parser/binding-openharmony-arm64": - optional: true - "@oxc-parser/binding-wasm32-wasi": - optional: true - "@oxc-parser/binding-win32-arm64-msvc": - optional: true - "@oxc-parser/binding-win32-ia32-msvc": - optional: true - "@oxc-parser/binding-win32-x64-msvc": - optional: true - checksum: 10c0/7b6b3fee853429520f5c61765add938b57d1b6fdb0f86dc806f2c2ba13f6f007a22316561c4c98754b272aac3ac3c7b92051bb1a8e0fa699ef68982c4f257f7e - languageName: node - linkType: hard - -"oxc-resolver@npm:^11.19.1": - version: 11.19.1 - resolution: "oxc-resolver@npm:11.19.1" - dependencies: - "@oxc-resolver/binding-android-arm-eabi": "npm:11.19.1" - "@oxc-resolver/binding-android-arm64": "npm:11.19.1" - "@oxc-resolver/binding-darwin-arm64": "npm:11.19.1" - "@oxc-resolver/binding-darwin-x64": "npm:11.19.1" - "@oxc-resolver/binding-freebsd-x64": "npm:11.19.1" - "@oxc-resolver/binding-linux-arm-gnueabihf": "npm:11.19.1" - "@oxc-resolver/binding-linux-arm-musleabihf": "npm:11.19.1" - "@oxc-resolver/binding-linux-arm64-gnu": "npm:11.19.1" - "@oxc-resolver/binding-linux-arm64-musl": "npm:11.19.1" - "@oxc-resolver/binding-linux-ppc64-gnu": "npm:11.19.1" - "@oxc-resolver/binding-linux-riscv64-gnu": "npm:11.19.1" - "@oxc-resolver/binding-linux-riscv64-musl": "npm:11.19.1" - "@oxc-resolver/binding-linux-s390x-gnu": "npm:11.19.1" - "@oxc-resolver/binding-linux-x64-gnu": "npm:11.19.1" - "@oxc-resolver/binding-linux-x64-musl": "npm:11.19.1" - "@oxc-resolver/binding-openharmony-arm64": "npm:11.19.1" - "@oxc-resolver/binding-wasm32-wasi": "npm:11.19.1" - "@oxc-resolver/binding-win32-arm64-msvc": "npm:11.19.1" - "@oxc-resolver/binding-win32-ia32-msvc": "npm:11.19.1" - "@oxc-resolver/binding-win32-x64-msvc": "npm:11.19.1" - dependenciesMeta: - "@oxc-resolver/binding-android-arm-eabi": - optional: true - "@oxc-resolver/binding-android-arm64": - optional: true - "@oxc-resolver/binding-darwin-arm64": - optional: true - "@oxc-resolver/binding-darwin-x64": - optional: true - "@oxc-resolver/binding-freebsd-x64": - optional: true - "@oxc-resolver/binding-linux-arm-gnueabihf": - optional: true - "@oxc-resolver/binding-linux-arm-musleabihf": - optional: true - "@oxc-resolver/binding-linux-arm64-gnu": - optional: true - "@oxc-resolver/binding-linux-arm64-musl": - optional: true - "@oxc-resolver/binding-linux-ppc64-gnu": - optional: true - "@oxc-resolver/binding-linux-riscv64-gnu": - optional: true - "@oxc-resolver/binding-linux-riscv64-musl": - optional: true - "@oxc-resolver/binding-linux-s390x-gnu": - optional: true - "@oxc-resolver/binding-linux-x64-gnu": - optional: true - "@oxc-resolver/binding-linux-x64-musl": - optional: true - "@oxc-resolver/binding-openharmony-arm64": - optional: true - "@oxc-resolver/binding-wasm32-wasi": - optional: true - "@oxc-resolver/binding-win32-arm64-msvc": - optional: true - "@oxc-resolver/binding-win32-ia32-msvc": - optional: true - "@oxc-resolver/binding-win32-x64-msvc": - optional: true - checksum: 10c0/8ac4eaffa9c0bcbb9f4f4a2b43786457ec5a68684d8776cb78b5a15ce3d1a79d3e67262aa3c635f98a0c1cd6cd56a31fcb05bffb9a286100056e4ab06b928833 - 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: 10c0/9db675949dbdc9c3763c89e748d0ef8bdad0afbb24d49ceaf4c46c02c77d30db4e0652ed36d0a0a7a95154335fab810d95c86153105bb73b3a90448e2bb14e1a - 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: 10c0/2290d627ab7903b8b70d11d384fee714b797f6040d9278932754a6860845c4d3190603a0772a663c8cb5a7b21d1b16acb3a6487ebcafa9773094edc3dfe6009a - languageName: node - linkType: hard - -"package-manager-detector@npm:^1.6.0": - version: 1.6.0 - resolution: "package-manager-detector@npm:1.6.0" - checksum: 10c0/6419d0b840be64fd45bcdcb7a19f09b81b65456d5e7f7a3daac305a4c90643052122f6ac0308afe548ffee75e36148532a2002ea9d292754f1e385aa2e1ea03b - languageName: node - linkType: hard - -"path-exists@npm:^4.0.0": - version: 4.0.0 - resolution: "path-exists@npm:4.0.0" - checksum: 10c0/8c0bd3f5238188197dc78dced15207a4716c51cc4e3624c44fc97acf69558f5ebb9a2afff486fe1b4ee148e0c133e96c5e11a9aa5c48a3006e3467da070e5e1b - languageName: node - linkType: hard - -"path-key@npm:^3.1.0": - version: 3.1.1 - resolution: "path-key@npm:3.1.1" - checksum: 10c0/748c43efd5a569c039d7a00a03b58eecd1d75f3999f5a28303d75f521288df4823bc057d8784eb72358b2895a05f29a070bc9f1f17d28226cc4e62494cc58c4c - languageName: node - linkType: hard - -"pathe@npm:^2.0.3": - version: 2.0.3 - resolution: "pathe@npm:2.0.3" - checksum: 10c0/c118dc5a8b5c4166011b2b70608762e260085180bb9e33e80a50dcdb1e78c010b1624f4280c492c92b05fc276715a4c357d1f9edc570f8f1b3d90b6839ebaca1 - languageName: node - linkType: hard - -"picocolors@npm:^1.1.1": - version: 1.1.1 - resolution: "picocolors@npm:1.1.1" - checksum: 10c0/e2e3e8170ab9d7c7421969adaa7e1b31434f789afb9b3f115f6b96d91945041ac3ceb02e9ec6fe6510ff036bcc0bf91e69a1772edc0b707e12b19c0f2d6bcf58 - languageName: node - linkType: hard - -"picomatch@npm:^4.0.3, picomatch@npm:^4.0.4": - version: 4.0.4 - resolution: "picomatch@npm:4.0.4" - checksum: 10c0/e2c6023372cc7b5764719a5ffb9da0f8e781212fa7ca4bd0562db929df8e117460f00dff3cb7509dacfc06b86de924b247f504d0ce1806a37fac4633081466b0 - languageName: node - linkType: hard - -"postcss@npm:^8.5.14": - version: 8.5.15 - resolution: "postcss@npm:8.5.15" - dependencies: - nanoid: "npm:^3.3.12" - picocolors: "npm:^1.1.1" - source-map-js: "npm:^1.2.1" - checksum: 10c0/7f2e63ae22fbe43aace1bf652bd99da4e90737c64194d49e51ddc9cd0f9e51ff2861a7d734379b494deffa03a880a5c65eec70bc29ee9ebaa7136dde3eee8f31 - languageName: node - linkType: hard - -"prelude-ls@npm:^1.2.1": - version: 1.2.1 - resolution: "prelude-ls@npm:1.2.1" - checksum: 10c0/b00d617431e7886c520a6f498a2e14c75ec58f6d93ba48c3b639cf241b54232d90daa05d83a9e9b9fef6baa63cb7e1e4602c2372fea5bc169668401eb127d0cd - languageName: node - linkType: hard - -"prettier@npm:^3.8.3": - version: 3.8.3 - resolution: "prettier@npm:3.8.3" - bin: - prettier: bin/prettier.cjs - checksum: 10c0/754816fd7593eb80f6376d7476d463e832c38a12f32775a82683adb6e35b772b1f484d65f19401507b983a8c8a7cd5a4a9f12006bd56491e8f35503473f77473 - languageName: node - linkType: hard - -"proc-log@npm:^6.0.0": - version: 6.1.0 - resolution: "proc-log@npm:6.1.0" - checksum: 10c0/4f178d4062733ead9d71a9b1ab24ebcecdfe2250916a5b1555f04fe2eda972a0ec76fbaa8df1ad9c02707add6749219d118a4fc46dc56bdfe4dde4b47d80bb82 - languageName: node - linkType: hard - -"proxy-from-env@npm:^2.1.0": - version: 2.1.0 - resolution: "proxy-from-env@npm:2.1.0" - checksum: 10c0/ed01729fd4d094eab619cd7e17ce3698b3413b31eb102c4904f9875e677cd207392795d5b4adee9cec359dfd31c44d5ad7595a3a3ad51c40250e141512281c58 - languageName: node - linkType: hard - -"publint@npm:^0.3.21": - version: 0.3.21 - resolution: "publint@npm:0.3.21" - dependencies: - "@publint/pack": "npm:^0.1.4" - package-manager-detector: "npm:^1.6.0" - picocolors: "npm:^1.1.1" - sade: "npm:^1.8.1" - bin: - publint: src/cli.js - checksum: 10c0/46f54061b112f852523e8b1357c5b454633008056de86f6acbbabcb155a8ab758d3e575df9f82fa37b7ba4a25bde8e68f98866763929eaef8c6d96ff1f761cea - languageName: node - linkType: hard - -"punycode@npm:^2.1.0": - version: 2.3.1 - resolution: "punycode@npm:2.3.1" - checksum: 10c0/14f76a8206bc3464f794fb2e3d3cc665ae416c01893ad7a02b23766eb07159144ee612ad67af5e84fa4479ccfe67678c4feb126b0485651b302babf66f04f9e9 - languageName: node - linkType: hard - -"resolve-from@npm:^5.0.0": - version: 5.0.0 - resolution: "resolve-from@npm:5.0.0" - checksum: 10c0/b21cb7f1fb746de8107b9febab60095187781137fd803e6a59a76d421444b1531b641bba5857f5dc011974d8a5c635d61cec49e6bd3b7fc20e01f0fafc4efbf2 - languageName: node - linkType: hard - -"resolve-pkg-maps@npm:^1.0.0": - version: 1.0.0 - resolution: "resolve-pkg-maps@npm:1.0.0" - checksum: 10c0/fb8f7bbe2ca281a73b7ef423a1cbc786fb244bd7a95cbe5c3fba25b27d327150beca8ba02f622baea65919a57e061eb5005204daa5f93ed590d9b77463a567ab - languageName: node - linkType: hard - -"rolldown@npm:1.0.1": - version: 1.0.1 - resolution: "rolldown@npm:1.0.1" - dependencies: - "@oxc-project/types": "npm:=0.130.0" - "@rolldown/binding-android-arm64": "npm:1.0.1" - "@rolldown/binding-darwin-arm64": "npm:1.0.1" - "@rolldown/binding-darwin-x64": "npm:1.0.1" - "@rolldown/binding-freebsd-x64": "npm:1.0.1" - "@rolldown/binding-linux-arm-gnueabihf": "npm:1.0.1" - "@rolldown/binding-linux-arm64-gnu": "npm:1.0.1" - "@rolldown/binding-linux-arm64-musl": "npm:1.0.1" - "@rolldown/binding-linux-ppc64-gnu": "npm:1.0.1" - "@rolldown/binding-linux-s390x-gnu": "npm:1.0.1" - "@rolldown/binding-linux-x64-gnu": "npm:1.0.1" - "@rolldown/binding-linux-x64-musl": "npm:1.0.1" - "@rolldown/binding-openharmony-arm64": "npm:1.0.1" - "@rolldown/binding-wasm32-wasi": "npm:1.0.1" - "@rolldown/binding-win32-arm64-msvc": "npm:1.0.1" - "@rolldown/binding-win32-x64-msvc": "npm:1.0.1" - "@rolldown/pluginutils": "npm:^1.0.0" - dependenciesMeta: - "@rolldown/binding-android-arm64": - optional: true - "@rolldown/binding-darwin-arm64": - optional: true - "@rolldown/binding-darwin-x64": - optional: true - "@rolldown/binding-freebsd-x64": - optional: true - "@rolldown/binding-linux-arm-gnueabihf": - optional: true - "@rolldown/binding-linux-arm64-gnu": - optional: true - "@rolldown/binding-linux-arm64-musl": - optional: true - "@rolldown/binding-linux-ppc64-gnu": - optional: true - "@rolldown/binding-linux-s390x-gnu": - optional: true - "@rolldown/binding-linux-x64-gnu": - optional: true - "@rolldown/binding-linux-x64-musl": - optional: true - "@rolldown/binding-openharmony-arm64": - optional: true - "@rolldown/binding-wasm32-wasi": - optional: true - "@rolldown/binding-win32-arm64-msvc": - optional: true - "@rolldown/binding-win32-x64-msvc": - optional: true - bin: - rolldown: bin/cli.mjs - checksum: 10c0/0631c071874e1471c33923905061fa514fce2bd43c2e741adcddcaa4d9beaa2ba7a5d14af130d53753d838823e15b59f5acef7d24fb83ffb7aef15933b78e7d3 - languageName: node - linkType: hard - -"sade@npm:^1.8.1": - version: 1.8.1 - resolution: "sade@npm:1.8.1" - dependencies: - mri: "npm:^1.1.0" - checksum: 10c0/da8a3a5d667ad5ce3bf6d4f054bbb9f711103e5df21003c5a5c1a8a77ce12b640ed4017dd423b13c2307ea7e645adee7c2ae3afe8051b9db16a6f6d3da3f90b1 - languageName: node - linkType: hard - -"safe-buffer@npm:^5.0.1": - version: 5.2.1 - resolution: "safe-buffer@npm:5.2.1" - checksum: 10c0/6501914237c0a86e9675d4e51d89ca3c21ffd6a31642efeba25ad65720bce6921c9e7e974e5be91a786b25aa058b5303285d3c15dbabf983a919f5f630d349f3 - languageName: node - linkType: hard - -"semver@npm:^7.3.5, semver@npm:^7.5.3, semver@npm:^7.7.1, semver@npm:^7.7.2, semver@npm:^7.7.3, semver@npm:^7.7.4": - version: 7.8.0 - resolution: "semver@npm:7.8.0" - bin: - semver: bin/semver.js - checksum: 10c0/8f096ca9b80ffd47b308d03f9ce8c873e27e2983f36023c559cdc92c51e8433fc23ebbfe57ec9623fc155636a6961ee989501099841ae4bb1babc8d2b3f048cd - languageName: node - linkType: hard - -"shebang-command@npm:^2.0.0": - version: 2.0.0 - resolution: "shebang-command@npm:2.0.0" - dependencies: - shebang-regex: "npm:^3.0.0" - checksum: 10c0/a41692e7d89a553ef21d324a5cceb5f686d1f3c040759c50aab69688634688c5c327f26f3ecf7001ebfd78c01f3c7c0a11a7c8bfd0a8bc9f6240d4f40b224e4e - languageName: node - linkType: hard - -"shebang-regex@npm:^3.0.0": - version: 3.0.0 - resolution: "shebang-regex@npm:3.0.0" - checksum: 10c0/1dbed0726dd0e1152a92696c76c7f06084eb32a90f0528d11acd764043aacf76994b2fb30aa1291a21bd019d6699164d048286309a278855ee7bec06cf6fb690 - languageName: node - linkType: hard - -"siginfo@npm:^2.0.0": - version: 2.0.0 - resolution: "siginfo@npm:2.0.0" - checksum: 10c0/3def8f8e516fbb34cb6ae415b07ccc5d9c018d85b4b8611e3dc6f8be6d1899f693a4382913c9ed51a06babb5201639d76453ab297d1c54a456544acf5c892e34 - languageName: node - linkType: hard - -"smol-toml@npm:^1.6.1": - version: 1.6.1 - resolution: "smol-toml@npm:1.6.1" - checksum: 10c0/511a78722f99c7616fdb46af708de3d7e81434b5a3d58061166da73f28bfc6cae4f0cd04683f60515b9c490cd10152fce72287c960b337419c0299cc1f0f2a22 - languageName: node - linkType: hard - -"source-map-js@npm:^1.2.1": - version: 1.2.1 - resolution: "source-map-js@npm:1.2.1" - checksum: 10c0/7bda1fc4c197e3c6ff17de1b8b2c20e60af81b63a52cb32ec5a5d67a20a7d42651e2cb34ebe93833c5a2a084377e17455854fee3e21e7925c64a51b6a52b0faf - languageName: node - linkType: hard - -"stable-hash-x@npm:^0.2.0": - version: 0.2.0 - resolution: "stable-hash-x@npm:0.2.0" - checksum: 10c0/c757df58366ee4bb266a9486b8932eab7c1ba730469eaf4b68d2dee404814e9f84089c44c9b5205f8c7d99a0ab036cce2af69139ce5ed44b635923c011a8aea8 - languageName: node - linkType: hard - -"stackback@npm:0.0.2": - version: 0.0.2 - resolution: "stackback@npm:0.0.2" - checksum: 10c0/89a1416668f950236dd5ac9f9a6b2588e1b9b62b1b6ad8dff1bfc5d1a15dbf0aafc9b52d2226d00c28dffff212da464eaeebfc6b7578b9d180cef3e3782c5983 - languageName: node - linkType: hard - -"std-env@npm:^4.0.0-rc.1": - version: 4.1.0 - resolution: "std-env@npm:4.1.0" - checksum: 10c0/2e14b6b490db34cb969a48d9cf7c35bca4a47653914aac2814221baae7b867a5b15940d133625c391621971f98cd2266a5dc7036669960e883f1081db2a56558 - languageName: node - linkType: hard - -"strip-json-comments@npm:5.0.3": - version: 5.0.3 - resolution: "strip-json-comments@npm:5.0.3" - checksum: 10c0/daaf20b29f69fb51112698f4a9a662490dbb78d5baf6127c75a0a83c2ac6c078a8c0f74b389ad5e0519d6fc359c4a57cb9971b1ae201aef62ce45a13247791e0 - languageName: node - linkType: hard - -"supports-color@npm:^7.1.0": - version: 7.2.0 - resolution: "supports-color@npm:7.2.0" - dependencies: - has-flag: "npm:^4.0.0" - checksum: 10c0/afb4c88521b8b136b5f5f95160c98dee7243dc79d5432db7efc27efb219385bbc7d9427398e43dd6cc730a0f87d5085ce1652af7efbe391327bc0a7d0f7fc124 - languageName: node - linkType: hard - -"synckit@npm:^0.11.12": - version: 0.11.12 - resolution: "synckit@npm:0.11.12" - dependencies: - "@pkgr/core": "npm:^0.2.9" - checksum: 10c0/cc4d446806688ae0d728ae7bb3f53176d065cf9536647fb85bdd721dcefbd7bf94874df6799ff61580f2b03a392659219b778a9254ad499f9a1f56c34787c235 - languageName: node - linkType: hard - -"tar@npm:^7.5.4": - version: 7.5.15 - resolution: "tar@npm:7.5.15" - dependencies: - "@isaacs/fs-minipass": "npm:^4.0.0" - chownr: "npm:^3.0.0" - minipass: "npm:^7.1.2" - minizlib: "npm:^3.1.0" - yallist: "npm:^5.0.0" - checksum: 10c0/8f039edb1d12fdd7df6c6f9877d125afe9f3da3f5f9317df326fdd090d48793d6998cede1506a1471f3e3a250db270a89dace28005eb5e99c5a9132d704ac956 - languageName: node - linkType: hard - -"tinybench@npm:^2.9.0": - version: 2.9.0 - resolution: "tinybench@npm:2.9.0" - checksum: 10c0/c3500b0f60d2eb8db65250afe750b66d51623057ee88720b7f064894a6cb7eb93360ca824a60a31ab16dab30c7b1f06efe0795b352e37914a9d4bad86386a20c - languageName: node - linkType: hard - -"tinyexec@npm:^1.0.2": - version: 1.1.2 - resolution: "tinyexec@npm:1.1.2" - checksum: 10c0/9e0ef6c001ce54688cf16833a02f70a339276219ca947b88930b124267de2cffc764ff44e87e7369384b1d75ab63491465412cbbdf06f2437956b9ab66ab4491 - languageName: node - linkType: hard - -"tinyglobby@npm:^0.2.12, tinyglobby@npm:^0.2.14, tinyglobby@npm:^0.2.15, tinyglobby@npm:^0.2.16": - version: 0.2.16 - resolution: "tinyglobby@npm:0.2.16" - dependencies: - fdir: "npm:^6.5.0" - picomatch: "npm:^4.0.4" - checksum: 10c0/f2e09fd93dd95c41e522113b686ff6f7c13020962f8698a864a257f3d7737599afc47722b7ab726e12f8a813f779906187911ff8ee6701ede65072671a7e934b - languageName: node - linkType: hard - -"tinyrainbow@npm:^3.1.0": - version: 3.1.0 - resolution: "tinyrainbow@npm:3.1.0" - checksum: 10c0/f11cf387a26c5c9255bec141a90ac511b26172981b10c3e50053bc6700ea7d2336edcc4a3a21dbb8412fe7c013477d2ba4d7e4877800f3f8107be5105aad6511 - languageName: node - linkType: hard - -"ts-api-utils@npm:^2.5.0": - version: 2.5.0 - resolution: "ts-api-utils@npm:2.5.0" - peerDependencies: - typescript: ">=4.8.4" - checksum: 10c0/767849383c114e7f1971fa976b20e73ac28fd0c70d8d65c0004790bf4d8f89888c7e4cf6d5949f9c1beae9bc3c64835bef77bbe27fddf45a3c7b60cebcf85c8c - languageName: node - linkType: hard - -"tslib@npm:^2.4.0": - version: 2.8.1 - resolution: "tslib@npm:2.8.1" - checksum: 10c0/9c4759110a19c53f992d9aae23aac5ced636e99887b51b9e61def52611732872ff7668757d4e4c61f19691e36f4da981cd9485e869b4a7408d689f6bf1f14e62 - 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: 10c0/7b3fd0ed43891e2080bf0c5c504b418fbb3e5c7b9708d3d015037ba2e6323a28152ec163bcb65212741fa5d2022e3075ac3c76440dbd344c9035f818e8ecee58 - languageName: node - linkType: hard - -"typescript-eslint@npm:^8.59.4": - version: 8.59.4 - resolution: "typescript-eslint@npm:8.59.4" - dependencies: - "@typescript-eslint/eslint-plugin": "npm:8.59.4" - "@typescript-eslint/parser": "npm:8.59.4" - "@typescript-eslint/typescript-estree": "npm:8.59.4" - "@typescript-eslint/utils": "npm:8.59.4" - peerDependencies: - eslint: ^8.57.0 || ^9.0.0 || ^10.0.0 - typescript: ">=4.8.4 <6.1.0" - checksum: 10c0/96241e50eac4e646e56b7950405aa861ff2f744e4268c98e240ee702db0b45463a1e9146f09fbc71bfd8dc53b2b3c43c2f1fab6a92154c7e1c2b7373bcd5c90e - languageName: node - linkType: hard - -"typescript@npm:^6.0.3": - version: 6.0.3 - resolution: "typescript@npm:6.0.3" - bin: - tsc: bin/tsc - tsserver: bin/tsserver - checksum: 10c0/4a25ff5045b984370f48f196b3a0120779b1b343d40b9a68d114ea5e5fff099809b2bb777576991a63a5cd59cf7bffd96ff6fe10afcefbcb8bd6fb96ad4b6606 - languageName: node - linkType: hard - -"typescript@patch:typescript@npm%3A^6.0.3#optional!builtin": - version: 6.0.3 - resolution: "typescript@patch:typescript@npm%3A6.0.3#optional!builtin::version=6.0.3&hash=5786d5" - bin: - tsc: bin/tsc - tsserver: bin/tsserver - checksum: 10c0/2f25c74e65663c248fa1ade2b8459d9ce5372ff9dad07067310f132966ebec1d93f6c42f0baf77a6b6a7a91460463f708e6887013aaade22111037457c6b25df - languageName: node - linkType: hard - -"unbash@npm:^3.0.0": - version: 3.0.0 - resolution: "unbash@npm:3.0.0" - checksum: 10c0/8d237237805c8d23a6a7ba9ba1dac612b79431f2458aaa7975c472eba9f429991e46417fd8cdb14c1ad88adffbc0b914d0556ad5978bc42bbd2fa9b0942a4f91 - languageName: node - linkType: hard - -"undici-types@npm:>=7.24.0 <7.24.7": - version: 7.24.6 - resolution: "undici-types@npm:7.24.6" - checksum: 10c0/d9cd8befb643ac904615c280a095ba4240531f6bb4a5e75a22a7483630ca8d3f1016d2ab6ace6ceda1f63b3a2db2fe037fafe121d6917a0187573aa548ff78ca - languageName: node - linkType: hard - -"undici@npm:^6.25.0": - version: 6.25.0 - resolution: "undici@npm:6.25.0" - checksum: 10c0/2597cc6689bdb02c210c557b1f85febbfda65becae6e6fc1061508e2f33734d25207f81cd8af56ada9956329eb3a7bd7431e87dcfeceba20ee87059b57dcf985 - languageName: node - linkType: hard - -"unrs-resolver@npm:^1.7.11, unrs-resolver@npm:^1.9.2": - version: 1.12.2 - resolution: "unrs-resolver@npm:1.12.2" - dependencies: - "@unrs/resolver-binding-android-arm-eabi": "npm:1.12.2" - "@unrs/resolver-binding-android-arm64": "npm:1.12.2" - "@unrs/resolver-binding-darwin-arm64": "npm:1.12.2" - "@unrs/resolver-binding-darwin-x64": "npm:1.12.2" - "@unrs/resolver-binding-freebsd-x64": "npm:1.12.2" - "@unrs/resolver-binding-linux-arm-gnueabihf": "npm:1.12.2" - "@unrs/resolver-binding-linux-arm-musleabihf": "npm:1.12.2" - "@unrs/resolver-binding-linux-arm64-gnu": "npm:1.12.2" - "@unrs/resolver-binding-linux-arm64-musl": "npm:1.12.2" - "@unrs/resolver-binding-linux-loong64-gnu": "npm:1.12.2" - "@unrs/resolver-binding-linux-loong64-musl": "npm:1.12.2" - "@unrs/resolver-binding-linux-ppc64-gnu": "npm:1.12.2" - "@unrs/resolver-binding-linux-riscv64-gnu": "npm:1.12.2" - "@unrs/resolver-binding-linux-riscv64-musl": "npm:1.12.2" - "@unrs/resolver-binding-linux-s390x-gnu": "npm:1.12.2" - "@unrs/resolver-binding-linux-x64-gnu": "npm:1.12.2" - "@unrs/resolver-binding-linux-x64-musl": "npm:1.12.2" - "@unrs/resolver-binding-openharmony-arm64": "npm:1.12.2" - "@unrs/resolver-binding-wasm32-wasi": "npm:1.12.2" - "@unrs/resolver-binding-win32-arm64-msvc": "npm:1.12.2" - "@unrs/resolver-binding-win32-ia32-msvc": "npm:1.12.2" - "@unrs/resolver-binding-win32-x64-msvc": "npm:1.12.2" - napi-postinstall: "npm:^0.3.4" - dependenciesMeta: - "@unrs/resolver-binding-android-arm-eabi": - optional: true - "@unrs/resolver-binding-android-arm64": - optional: true - "@unrs/resolver-binding-darwin-arm64": - optional: true - "@unrs/resolver-binding-darwin-x64": - optional: true - "@unrs/resolver-binding-freebsd-x64": - optional: true - "@unrs/resolver-binding-linux-arm-gnueabihf": - optional: true - "@unrs/resolver-binding-linux-arm-musleabihf": - optional: true - "@unrs/resolver-binding-linux-arm64-gnu": - optional: true - "@unrs/resolver-binding-linux-arm64-musl": - optional: true - "@unrs/resolver-binding-linux-loong64-gnu": - optional: true - "@unrs/resolver-binding-linux-loong64-musl": - optional: true - "@unrs/resolver-binding-linux-ppc64-gnu": - optional: true - "@unrs/resolver-binding-linux-riscv64-gnu": - optional: true - "@unrs/resolver-binding-linux-riscv64-musl": - optional: true - "@unrs/resolver-binding-linux-s390x-gnu": - optional: true - "@unrs/resolver-binding-linux-x64-gnu": - optional: true - "@unrs/resolver-binding-linux-x64-musl": - optional: true - "@unrs/resolver-binding-openharmony-arm64": - optional: true - "@unrs/resolver-binding-wasm32-wasi": - optional: true - "@unrs/resolver-binding-win32-arm64-msvc": - optional: true - "@unrs/resolver-binding-win32-ia32-msvc": - optional: true - "@unrs/resolver-binding-win32-x64-msvc": - optional: true - checksum: 10c0/ddc27f6d920eabdafeac0077ebff9fd799c895cea025751dc17b360bf9be7c93c471fafebf65f205eec476f90d7daa36aef889d47362b2dd4705d68852bcfea4 - languageName: node - linkType: hard - -"uri-js@npm:^4.2.2": - version: 4.4.1 - resolution: "uri-js@npm:4.4.1" - dependencies: - punycode: "npm:^2.1.0" - checksum: 10c0/4ef57b45aa820d7ac6496e9208559986c665e49447cb072744c13b66925a362d96dd5a46c4530a6b8e203e5db5fe849369444440cb22ecfc26c679359e5dfa3c - languageName: node - linkType: hard - -"vite@npm:^6.0.0 || ^7.0.0 || ^8.0.0": - version: 8.0.13 - resolution: "vite@npm:8.0.13" - dependencies: - fsevents: "npm:~2.3.3" - lightningcss: "npm:^1.32.0" - picomatch: "npm:^4.0.4" - postcss: "npm:^8.5.14" - rolldown: "npm:1.0.1" - tinyglobby: "npm:^0.2.16" - peerDependencies: - "@types/node": ^20.19.0 || >=22.12.0 - "@vitejs/devtools": ^0.1.18 - esbuild: ^0.27.0 || ^0.28.0 - jiti: ">=1.21.0" - less: ^4.0.0 - sass: ^1.70.0 - sass-embedded: ^1.70.0 - stylus: ">=0.54.8" - sugarss: ^5.0.0 - terser: ^5.16.0 - tsx: ^4.8.1 - yaml: ^2.4.2 - dependenciesMeta: - fsevents: - optional: true - peerDependenciesMeta: - "@types/node": - optional: true - "@vitejs/devtools": - optional: true - esbuild: - optional: true - jiti: - optional: true - less: - 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: 10c0/8f4d6fd30c3be710f76dba8ee7cd156902200e649884911cfa8e6e5f7ad4dd5b6933bdd4f0c46c0169c49ddce9ce1bfab6d395df9d176c0d959e3ba0e5ee54e4 - languageName: node - linkType: hard - -"vitest@npm:^4.1.7": - version: 4.1.7 - resolution: "vitest@npm:4.1.7" - dependencies: - "@vitest/expect": "npm:4.1.7" - "@vitest/mocker": "npm:4.1.7" - "@vitest/pretty-format": "npm:4.1.7" - "@vitest/runner": "npm:4.1.7" - "@vitest/snapshot": "npm:4.1.7" - "@vitest/spy": "npm:4.1.7" - "@vitest/utils": "npm:4.1.7" - es-module-lexer: "npm:^2.0.0" - expect-type: "npm:^1.3.0" - magic-string: "npm:^0.30.21" - obug: "npm:^2.1.1" - pathe: "npm:^2.0.3" - picomatch: "npm:^4.0.3" - std-env: "npm:^4.0.0-rc.1" - tinybench: "npm:^2.9.0" - tinyexec: "npm:^1.0.2" - tinyglobby: "npm:^0.2.15" - tinyrainbow: "npm:^3.1.0" - vite: "npm:^6.0.0 || ^7.0.0 || ^8.0.0" - why-is-node-running: "npm:^2.3.0" - peerDependencies: - "@edge-runtime/vm": "*" - "@opentelemetry/api": ^1.9.0 - "@types/node": ^20.0.0 || ^22.0.0 || >=24.0.0 - "@vitest/browser-playwright": 4.1.7 - "@vitest/browser-preview": 4.1.7 - "@vitest/browser-webdriverio": 4.1.7 - "@vitest/coverage-istanbul": 4.1.7 - "@vitest/coverage-v8": 4.1.7 - "@vitest/ui": 4.1.7 - happy-dom: "*" - jsdom: "*" - vite: ^6.0.0 || ^7.0.0 || ^8.0.0 - peerDependenciesMeta: - "@edge-runtime/vm": - optional: true - "@opentelemetry/api": - optional: true - "@types/node": - optional: true - "@vitest/browser-playwright": - optional: true - "@vitest/browser-preview": - optional: true - "@vitest/browser-webdriverio": - optional: true - "@vitest/coverage-istanbul": - optional: true - "@vitest/coverage-v8": - optional: true - "@vitest/ui": - optional: true - happy-dom: - optional: true - jsdom: - optional: true - vite: - optional: false - bin: - vitest: vitest.mjs - checksum: 10c0/5328eab211161bdb854159154b02d7b2beab0cf1e26a1c13f6a64b0f1402029d41f19987cf60684051c09a6925030285195ecbe57271c2033e1d4f7a666590d0 - languageName: node - linkType: hard - -"vscode-languageserver-textdocument@npm:^1.0.12": - version: 1.0.12 - resolution: "vscode-languageserver-textdocument@npm:1.0.12" - checksum: 10c0/534349894b059602c4d97615a1147b6c4c031141c2093e59657f54e38570f5989c21b376836f13b9375419869242e9efb4066643208b21ab1e1dee111a0f00fb - languageName: node - linkType: hard - -"vscode-uri@npm:^3.1.0": - version: 3.1.0 - resolution: "vscode-uri@npm:3.1.0" - checksum: 10c0/5f6c9c10fd9b1664d71fab4e9fbbae6be93c7f75bb3a1d9d74399a88ab8649e99691223fd7cef4644376cac6e94fa2c086d802521b9a8e31c5af3e60f0f35624 - languageName: node - linkType: hard - -"walk-up-path@npm:^4.0.0": - version: 4.0.0 - resolution: "walk-up-path@npm:4.0.0" - checksum: 10c0/fabe344f91387d1d41df230af962ef18bf703dd4178006d55cd6412caacd187b54440002d4d53a982d4f7f0455567dcffb6d3884533c8b2268928eca3ebd8a19 - languageName: node - linkType: hard - -"web-streams-polyfill@npm:^3.0.3": - version: 3.3.3 - resolution: "web-streams-polyfill@npm:3.3.3" - checksum: 10c0/64e855c47f6c8330b5436147db1c75cb7e7474d924166800e8e2aab5eb6c76aac4981a84261dd2982b3e754490900b99791c80ae1407a9fa0dcff74f82ea3a7f - languageName: node - linkType: hard - -"which@npm:^2.0.1": - version: 2.0.2 - resolution: "which@npm:2.0.2" - dependencies: - isexe: "npm:^2.0.0" - bin: - node-which: ./bin/node-which - checksum: 10c0/66522872a768b60c2a65a57e8ad184e5372f5b6a9ca6d5f033d4b0dc98aff63995655a7503b9c0a2598936f532120e81dd8cc155e2e92ed662a2b9377cc4374f - languageName: node - linkType: hard - -"which@npm:^6.0.0": - version: 6.0.1 - resolution: "which@npm:6.0.1" - dependencies: - isexe: "npm:^4.0.0" - bin: - node-which: bin/which.js - checksum: 10c0/7e710e54ea36d2d6183bee2f9caa27a3b47b9baf8dee55a199b736fcf85eab3b9df7556fca3d02b50af7f3dfba5ea3a45644189836df06267df457e354da66d5 - 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: 10c0/1cde0b01b827d2cf4cb11db962f3958b9175d5d9e7ac7361d1a7b0e2dc6069a263e69118bd974c4f6d0a890ef4eedfe34cf3d5167ec14203dbc9a18620537054 - languageName: node - linkType: hard - -"word-wrap@npm:^1.2.5": - version: 1.2.5 - resolution: "word-wrap@npm:1.2.5" - checksum: 10c0/e0e4a1ca27599c92a6ca4c32260e8a92e8a44f4ef6ef93f803f8ed823f486e0889fc0b93be4db59c8d51b3064951d25e43d434e95dc8c960cc3a63d65d00ba20 - languageName: node - linkType: hard - -"xdg-basedir@npm:^5.1.0": - version: 5.1.0 - resolution: "xdg-basedir@npm:5.1.0" - checksum: 10c0/c88efabc71ffd996ba9ad8923a8cc1c7c020a03e2c59f0ffa72e06be9e724ad2a0fccef488757bc6ed3d8849d753dd25082d1035d95cb179e79eae4d034d0b80 - languageName: node - linkType: hard - -"yallist@npm:^5.0.0": - version: 5.0.0 - resolution: "yallist@npm:5.0.0" - checksum: 10c0/a499c81ce6d4a1d260d4ea0f6d49ab4da09681e32c3f0472dee16667ed69d01dae63a3b81745a24bd78476ec4fcf856114cb4896ace738e01da34b2c42235416 - languageName: node - linkType: hard - -"yaml@npm:^2.8.3, yaml@npm:^2.9.0": - version: 2.9.0 - resolution: "yaml@npm:2.9.0" - bin: - yaml: bin.mjs - checksum: 10c0/f340718df45e97a9551b9bf9dac61c80050bc464513b710debfb5067c380c8472e3b67809cffacb4ab5ffb5e66ef9310816c88b05f371cec60abfedd8c88e0a2 - languageName: node - linkType: hard - -"yocto-queue@npm:^0.1.0": - version: 0.1.0 - resolution: "yocto-queue@npm:0.1.0" - checksum: 10c0/dceb44c28578b31641e13695d200d34ec4ab3966a5729814d5445b194933c096b7ced71494ce53a0e8820685d1d010df8b2422e5bf2cdea7e469d97ffbea306f - languageName: node - linkType: hard - -"zod@npm:^4.1.11": - version: 4.4.3 - resolution: "zod@npm:4.4.3" - checksum: 10c0/7ea31b558e88f9faf44f31dd185e2e1cbf51fed3081787fb96cc2534749b50c0acfc6da7f0922a7353ed092dd358c7d50c28ea96c94d04af64191bd33152eca3 - languageName: node - linkType: hard From cb39b4181cf49e4152a4febb3bfecf2394703f04 Mon Sep 17 00:00:00 2001 From: Richmond Rice Date: Wed, 20 May 2026 23:08:26 +0100 Subject: [PATCH 31/36] pkg update --- yarn.lock | 4371 +++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 4371 insertions(+) create mode 100644 yarn.lock diff --git a/yarn.lock b/yarn.lock new file mode 100644 index 0000000..548f59b --- /dev/null +++ b/yarn.lock @@ -0,0 +1,4371 @@ +# This file is generated by running "yarn install" inside your project. +# Manual changes might be lost - proceed with caution! + +__metadata: + version: 9 + cacheKey: 10c0 + +"@babel/helper-string-parser@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/helper-string-parser@npm:7.27.1" + checksum: 10c0/8bda3448e07b5583727c103560bcf9c4c24b3c1051a4c516d4050ef69df37bb9a4734a585fe12725b8c2763de0a265aa1e909b485a4e3270b7cfd3e4dbe4b602 + languageName: node + linkType: hard + +"@babel/helper-validator-identifier@npm:^7.28.5": + version: 7.28.5 + resolution: "@babel/helper-validator-identifier@npm:7.28.5" + checksum: 10c0/42aaebed91f739a41f3d80b72752d1f95fd7c72394e8e4bd7cdd88817e0774d80a432451bcba17c2c642c257c483bf1d409dd4548883429ea9493a3bc4ab0847 + languageName: node + linkType: hard + +"@babel/parser@npm:^7.29.3": + version: 7.29.3 + resolution: "@babel/parser@npm:7.29.3" + dependencies: + "@babel/types": "npm:^7.29.0" + bin: + parser: ./bin/babel-parser.js + checksum: 10c0/f06920c819550c0db689e4c5b626bf55ba3cebf80ebe9ccfa434e134036cf3de50951fe759f74abb2dae381989239860bde46d4600328578ad1f7114c3711a6d + languageName: node + linkType: hard + +"@babel/types@npm:^7.29.0": + version: 7.29.0 + resolution: "@babel/types@npm:7.29.0" + dependencies: + "@babel/helper-string-parser": "npm:^7.27.1" + "@babel/helper-validator-identifier": "npm:^7.28.5" + checksum: 10c0/23cc3466e83bcbfab8b9bd0edaafdb5d4efdb88b82b3be6728bbade5ba2f0996f84f63b1c5f7a8c0d67efded28300898a5f930b171bb40b311bca2029c4e9b4f + languageName: node + linkType: hard + +"@bcoe/v8-coverage@npm:^1.0.2": + version: 1.0.2 + resolution: "@bcoe/v8-coverage@npm:1.0.2" + checksum: 10c0/1eb1dc93cc17fb7abdcef21a6e7b867d6aa99a7ec88ec8207402b23d9083ab22a8011213f04b2cf26d535f1d22dc26139b7929e6c2134c254bd1e14ba5e678c3 + languageName: node + linkType: hard + +"@cspell/cspell-bundled-dicts@npm:10.0.0": + version: 10.0.0 + resolution: "@cspell/cspell-bundled-dicts@npm:10.0.0" + dependencies: + "@cspell/dict-ada": "npm:^4.1.1" + "@cspell/dict-al": "npm:^1.1.1" + "@cspell/dict-aws": "npm:^4.0.17" + "@cspell/dict-bash": "npm:^4.2.2" + "@cspell/dict-companies": "npm:^3.2.11" + "@cspell/dict-cpp": "npm:^7.0.2" + "@cspell/dict-cryptocurrencies": "npm:^5.0.5" + "@cspell/dict-csharp": "npm:^4.0.8" + "@cspell/dict-css": "npm:^4.1.1" + "@cspell/dict-dart": "npm:^2.3.2" + "@cspell/dict-data-science": "npm:^2.0.13" + "@cspell/dict-django": "npm:^4.1.6" + "@cspell/dict-docker": "npm:^1.1.17" + "@cspell/dict-dotnet": "npm:^5.0.13" + "@cspell/dict-elixir": "npm:^4.0.8" + "@cspell/dict-en-common-misspellings": "npm:^2.1.12" + "@cspell/dict-en-gb-mit": "npm:^3.1.22" + "@cspell/dict-en_us": "npm:^4.4.33" + "@cspell/dict-filetypes": "npm:^3.0.18" + "@cspell/dict-flutter": "npm:^1.1.1" + "@cspell/dict-fonts": "npm:^4.0.6" + "@cspell/dict-fsharp": "npm:^1.1.1" + "@cspell/dict-fullstack": "npm:^3.2.9" + "@cspell/dict-gaming-terms": "npm:^1.1.2" + "@cspell/dict-git": "npm:^3.1.0" + "@cspell/dict-golang": "npm:^6.0.26" + "@cspell/dict-google": "npm:^1.0.9" + "@cspell/dict-haskell": "npm:^4.0.6" + "@cspell/dict-html": "npm:^4.0.15" + "@cspell/dict-html-symbol-entities": "npm:^4.0.5" + "@cspell/dict-java": "npm:^5.0.12" + "@cspell/dict-julia": "npm:^1.1.1" + "@cspell/dict-k8s": "npm:^1.0.12" + "@cspell/dict-kotlin": "npm:^1.1.1" + "@cspell/dict-latex": "npm:^5.1.0" + "@cspell/dict-lorem-ipsum": "npm:^4.0.5" + "@cspell/dict-lua": "npm:^4.0.8" + "@cspell/dict-makefile": "npm:^1.0.5" + "@cspell/dict-markdown": "npm:^2.0.16" + "@cspell/dict-monkeyc": "npm:^1.0.12" + "@cspell/dict-node": "npm:^5.0.9" + "@cspell/dict-npm": "npm:^5.2.38" + "@cspell/dict-php": "npm:^4.1.1" + "@cspell/dict-powershell": "npm:^5.0.15" + "@cspell/dict-public-licenses": "npm:^2.0.16" + "@cspell/dict-python": "npm:^4.2.26" + "@cspell/dict-r": "npm:^2.1.1" + "@cspell/dict-ruby": "npm:^5.1.1" + "@cspell/dict-rust": "npm:^4.1.2" + "@cspell/dict-scala": "npm:^5.0.9" + "@cspell/dict-shell": "npm:^1.1.2" + "@cspell/dict-software-terms": "npm:^5.2.2" + "@cspell/dict-sql": "npm:^2.2.1" + "@cspell/dict-svelte": "npm:^1.0.7" + "@cspell/dict-swift": "npm:^2.0.6" + "@cspell/dict-terraform": "npm:^1.1.3" + "@cspell/dict-typescript": "npm:^3.2.3" + "@cspell/dict-vue": "npm:^3.0.5" + "@cspell/dict-zig": "npm:^1.0.0" + checksum: 10c0/9fc90a2aa2f4f7370de37d8efab24a444eb95d5a8084dcd7410ee6a5a0797be48c43999e83566b9f77da73d677785d3845e3689e21cf8c59c659a3028025781a + languageName: node + linkType: hard + +"@cspell/cspell-json-reporter@npm:10.0.0": + version: 10.0.0 + resolution: "@cspell/cspell-json-reporter@npm:10.0.0" + dependencies: + "@cspell/cspell-types": "npm:10.0.0" + checksum: 10c0/d8b6ba8b081f235a93ec5685c40721e82263194f771d49968024e33dfb0a55b28589e6430eba83af45247ca7c121f8d1e725bb086c5e7e2fbba9fde935d547ec + languageName: node + linkType: hard + +"@cspell/cspell-performance-monitor@npm:10.0.0": + version: 10.0.0 + resolution: "@cspell/cspell-performance-monitor@npm:10.0.0" + checksum: 10c0/6c6f2905a6a4652ba6c0b414336de1e788bbcd995aed3cbebeec3e18ffaee34f08618af1672eba4ab8de2bd408c33e877ed75a679f30e6ed6b09ed6403122bc4 + languageName: node + linkType: hard + +"@cspell/cspell-pipe@npm:10.0.0": + version: 10.0.0 + resolution: "@cspell/cspell-pipe@npm:10.0.0" + checksum: 10c0/153614da4bd1e6e5702fcd4b9fa1577586652b942148607d4be6d477c1c14bcdd60daea044a17766e6e9b0762725574d8df3ffbf3013b2c8425fb3e9e7de6915 + languageName: node + linkType: hard + +"@cspell/cspell-resolver@npm:10.0.0": + version: 10.0.0 + resolution: "@cspell/cspell-resolver@npm:10.0.0" + dependencies: + global-directory: "npm:^5.0.0" + checksum: 10c0/a23acedbab5111af0c778a8305e965e9edfa5dc5e9c564b99a0dc126d0748bfd24e216c166fd0870adeb09ac30683ebf584ccb62e1289eefe1ccf5074748bc41 + languageName: node + linkType: hard + +"@cspell/cspell-service-bus@npm:10.0.0": + version: 10.0.0 + resolution: "@cspell/cspell-service-bus@npm:10.0.0" + checksum: 10c0/833279699282e993bf1195128e5c9fcc80a55be33fa30fd0de45664307387cd2996b709ca65223e3bb391b1f452f7ae3df8078b5776f80c30c95abba4f4a9528 + languageName: node + linkType: hard + +"@cspell/cspell-types@npm:10.0.0": + version: 10.0.0 + resolution: "@cspell/cspell-types@npm:10.0.0" + checksum: 10c0/f55ddee79160d3f06572850428c65726facf702676eee0fd2fdb77d827e9efbb946faffc025e57aefab3f8bbc026b0a2439952bb221d8aa357e0e05148f85e97 + languageName: node + linkType: hard + +"@cspell/cspell-worker@npm:10.0.0": + version: 10.0.0 + resolution: "@cspell/cspell-worker@npm:10.0.0" + dependencies: + cspell-lib: "npm:10.0.0" + checksum: 10c0/eae66e913542cef04873b3e4d7817f4606429670a9b4f302b4b42fa86c8a6c0f9abea7f1a527f746935d00bc8bdae312b6b2de9e0a64d69cb820e94b2a138c6b + languageName: node + linkType: hard + +"@cspell/dict-ada@npm:^4.1.1": + version: 4.1.1 + resolution: "@cspell/dict-ada@npm:4.1.1" + checksum: 10c0/4943399b5dd7dbed220b92ddcc6d3c55d0b00f141b52a39f35b9235e8f8cad8c0e63cab6af3f8f9e6ea669e672799215e50320059cae972fcd34174f4cbf38c7 + languageName: node + linkType: hard + +"@cspell/dict-al@npm:^1.1.1": + version: 1.1.1 + resolution: "@cspell/dict-al@npm:1.1.1" + checksum: 10c0/a6bd4d57a3027f91a44bd37f29f449beb684032cc88ba742a7b1576a3fac3f9d93c57b0a3b45eea732efb50c322ce2b8de386e1b15f605372ed312d4db6bc292 + languageName: node + linkType: hard + +"@cspell/dict-aws@npm:^4.0.17": + version: 4.0.17 + resolution: "@cspell/dict-aws@npm:4.0.17" + checksum: 10c0/d421a78aee8cc3db78a0bdffad2ceda9ca8e476498398809f2975bae9f03233df1112e713f2d699239600a9019d5e8f11ca60dfcb49fdce56815d5e794285c7b + languageName: node + linkType: hard + +"@cspell/dict-bash@npm:^4.2.2": + version: 4.2.2 + resolution: "@cspell/dict-bash@npm:4.2.2" + dependencies: + "@cspell/dict-shell": "npm:1.1.2" + checksum: 10c0/51b0552319cf190ab75841e7ea5d8919ecb2f165d8c1b9d3b26c90c5e30b9769e6a21212194b20db64a03a4c3f084d17be1f9957ecd733e90b2770e011d0e89b + languageName: node + linkType: hard + +"@cspell/dict-companies@npm:^3.2.11": + version: 3.2.11 + resolution: "@cspell/dict-companies@npm:3.2.11" + checksum: 10c0/9aa941967bbc48e171cb862b250d274fdc4234449a96f146b4814b0927897af827a056adb244ab110ca9a4ea5837819a4031eef2c7de0f0791a4d30a408b16a6 + languageName: node + linkType: hard + +"@cspell/dict-cpp@npm:^7.0.2": + version: 7.0.2 + resolution: "@cspell/dict-cpp@npm:7.0.2" + checksum: 10c0/a2926a6e896f04aa795edcd5fe3ac72cf1e05b97719946388cf31cf91737cfee816ffdd220e1960af60d7049daa37262787e76534afa5479fe10691af096b54c + languageName: node + linkType: hard + +"@cspell/dict-cryptocurrencies@npm:^5.0.5": + version: 5.0.5 + resolution: "@cspell/dict-cryptocurrencies@npm:5.0.5" + checksum: 10c0/d28c05f26d500bf05d08d725b43b5c1d740177b31ebdfcd03ae9929988b7878c3a6c94b99d8e355a5b20201f8af4b71713fb7f417548b69d621129ad6863be51 + languageName: node + linkType: hard + +"@cspell/dict-csharp@npm:^4.0.8": + version: 4.0.8 + resolution: "@cspell/dict-csharp@npm:4.0.8" + checksum: 10c0/b55dbe323b973e0e98d76a17205b103fbb52dec01d45d55aa06a14f1acc6c8bec259f7923bbe6138d1af2b11463969d920214ce0fc6e89eaf6fa08f86b10184e + languageName: node + linkType: hard + +"@cspell/dict-css@npm:^4.1.1": + version: 4.1.1 + resolution: "@cspell/dict-css@npm:4.1.1" + checksum: 10c0/979058aeaf695664255326b09d7fddbea57cb187484ae45e4741b6f6b92650b0ef9ce52d32651ba1927a6c2af3098ffa87edcad9f6f552e2c90c7c553ce2aac1 + languageName: node + linkType: hard + +"@cspell/dict-dart@npm:^2.3.2": + version: 2.3.2 + resolution: "@cspell/dict-dart@npm:2.3.2" + checksum: 10c0/1c0842ff09785aaf2bc2e68f4c05ec5e20331f3fce1503ef5a87305feb223f6e23404c68e4991bb90c6473825a7f8cd65b3ed86eef0d8032d43b13558ddb1753 + languageName: node + linkType: hard + +"@cspell/dict-data-science@npm:^2.0.13": + version: 2.0.13 + resolution: "@cspell/dict-data-science@npm:2.0.13" + checksum: 10c0/63d8291ef0e62defbf4b98e58bd1039747efdb6348fa64c128a01a0b28b93ce1724e878e945b1ca7d8f568a49446a46ed65ef71531130c7b1b1fddb5328a1a0e + languageName: node + linkType: hard + +"@cspell/dict-django@npm:^4.1.6": + version: 4.1.6 + resolution: "@cspell/dict-django@npm:4.1.6" + checksum: 10c0/76f71cba5a692df48554a3cd7cff7e27df85ab826e2cddf0594c21062e5c96de3090508314659a9ec708913a4afd61afb0f044ae8c41a1ec573583d516056f2d + languageName: node + linkType: hard + +"@cspell/dict-docker@npm:^1.1.17": + version: 1.1.17 + resolution: "@cspell/dict-docker@npm:1.1.17" + checksum: 10c0/1aaa4ffba7842b9044d1c4c6ae704907e6be3d8407c7feb986b3b7efa2e0139fc2ea3c3ad955d7ba4c92b5f577e05648ffc00a2a27b76d2bb93acde431452e58 + languageName: node + linkType: hard + +"@cspell/dict-dotnet@npm:^5.0.13": + version: 5.0.13 + resolution: "@cspell/dict-dotnet@npm:5.0.13" + checksum: 10c0/b34792ea2b1258f4e215487c4ff61de2fb3c9c6e0381fec03c4fb8132f2decd2b7b73a6450c507e8a3211e616282a3ace94e7d99363503e0efa4ef2cb6f2fcca + languageName: node + linkType: hard + +"@cspell/dict-elixir@npm:^4.0.8": + version: 4.0.8 + resolution: "@cspell/dict-elixir@npm:4.0.8" + checksum: 10c0/fe63aace353de8a134102764a58344fe755f27276fddcdf7e858d250ee13732a58f37f940c13bae7080fc286cb5b327ed168d201758da49243a1e45f42512c5f + languageName: node + linkType: hard + +"@cspell/dict-en-common-misspellings@npm:^2.1.12": + version: 2.1.12 + resolution: "@cspell/dict-en-common-misspellings@npm:2.1.12" + checksum: 10c0/5b7acd175ba76f164dcb5f5b7e910511dbd005bbab77fb5ae082603b01112d352af84bcd8d3ddef020db187b51056c4ce6a02dab8aebfcf0aa0dc416a66729a5 + languageName: node + linkType: hard + +"@cspell/dict-en-gb-mit@npm:^3.1.22": + version: 3.1.22 + resolution: "@cspell/dict-en-gb-mit@npm:3.1.22" + checksum: 10c0/78501fafeae62b966579c10de1f4fc24dedd57f83bdcafc72e314c9b781490858423890932b974f370dc8da2943cc8fdae435a289b13a397d8aa7986aa391d07 + languageName: node + linkType: hard + +"@cspell/dict-en_us@npm:^4.4.33": + version: 4.4.33 + resolution: "@cspell/dict-en_us@npm:4.4.33" + checksum: 10c0/c2b226f6879a58cfeecfa209116a241aabb9482b7fe56cac115b46bfefd557ec4f06efa33ae96c4d6e883cae70b5fdde83063315504c1dc4e4fb7916a46c2045 + languageName: node + linkType: hard + +"@cspell/dict-filetypes@npm:^3.0.18": + version: 3.0.18 + resolution: "@cspell/dict-filetypes@npm:3.0.18" + checksum: 10c0/b7a223eacef51770ed844b48b64d92b05b41a0a2ecbb6856ba8758fe8e444ca5f4252ecc511ac00ec1d12c1b12aef1198865f612cceaaf6d304c92b049a739cb + languageName: node + linkType: hard + +"@cspell/dict-flutter@npm:^1.1.1": + version: 1.1.1 + resolution: "@cspell/dict-flutter@npm:1.1.1" + checksum: 10c0/77e4533e6e7a38261ba2d744ca0c3aabb78f79b1ba6a2fde32169e475e5f940a526503097e520807155a0d8d0c16db346968873a32f1e99393be687da505e1b4 + languageName: node + linkType: hard + +"@cspell/dict-fonts@npm:^4.0.6": + version: 4.0.6 + resolution: "@cspell/dict-fonts@npm:4.0.6" + checksum: 10c0/73095a5bb3ec6ca24c7f01298b8344646005c0c05857b24ae106d7f795acf0b7107f4aaa677224c899d7aad7d0383f9f82dddd11a6b4cf3b26e3e5166b222674 + languageName: node + linkType: hard + +"@cspell/dict-fsharp@npm:^1.1.1": + version: 1.1.1 + resolution: "@cspell/dict-fsharp@npm:1.1.1" + checksum: 10c0/919de1f2a29d646781cb3114985f2730cc5ee0a253dc03c225c4430e73659e1189891fa7fa09c43179437e7386f4094e41d23d754b0a99a342344986094e2846 + languageName: node + linkType: hard + +"@cspell/dict-fullstack@npm:^3.2.9": + version: 3.2.9 + resolution: "@cspell/dict-fullstack@npm:3.2.9" + checksum: 10c0/a13d08099d1048797fe37d2a654846ff5086193bd29d57b62423ebc74f6c08c9f3b52c49f08b73d6bd09cdb393b70351f85f151893a20a5f8c858e474dd42e75 + languageName: node + linkType: hard + +"@cspell/dict-gaming-terms@npm:^1.1.2": + version: 1.1.2 + resolution: "@cspell/dict-gaming-terms@npm:1.1.2" + checksum: 10c0/eba9c672d352e54011704d97f5467158c02c238fa1639e64177ee1cd0d2c52deb57f0c9ae5f3c64d1742fd6a479515d0d8de5d1fc4ef8c5db58affb9947c90ea + languageName: node + linkType: hard + +"@cspell/dict-git@npm:^3.1.0": + version: 3.1.0 + resolution: "@cspell/dict-git@npm:3.1.0" + checksum: 10c0/161a9bd35f44173993c84ec2bc394c5fab4fe7d69070daa170be4922e295d60a3e34cecb04869a8b685b761c7ace83241ff4d60db93d2850368d769733a58de9 + languageName: node + linkType: hard + +"@cspell/dict-golang@npm:^6.0.26": + version: 6.0.26 + resolution: "@cspell/dict-golang@npm:6.0.26" + checksum: 10c0/514c54dc72620975e552ad91ecc8d98143611224e7fe3606fc6041f3248e9f9457be1f25027ff1d9bc2961459c5759dff3a01251054aab83bbcc9f927648b755 + languageName: node + linkType: hard + +"@cspell/dict-google@npm:^1.0.9": + version: 1.0.9 + resolution: "@cspell/dict-google@npm:1.0.9" + checksum: 10c0/f7e10353f97910a884f1d5ea4e60d4dd5a475ab27b669e97ade88669b1726eb4ed7c4f2ae5e3a227da77a15433ca3b6faba8d8700ff431b31c812d3c5329c8e4 + languageName: node + linkType: hard + +"@cspell/dict-haskell@npm:^4.0.6": + version: 4.0.6 + resolution: "@cspell/dict-haskell@npm:4.0.6" + checksum: 10c0/cb8a179e26190ca333789dcbd1dae3c03ec28a8d4dd99756e770c9cf837e66a78f291e6db0d8ea7763cdbb968b0369998c593978a3bb52a9b38aaa4ce8746b3a + languageName: node + linkType: hard + +"@cspell/dict-html-symbol-entities@npm:^4.0.5": + version: 4.0.5 + resolution: "@cspell/dict-html-symbol-entities@npm:4.0.5" + checksum: 10c0/8278b8cca06e6d3654e81b1809227ff1d64e053f79308966ea601194ce51fa3a385dde6844509b26223de70d034e60a85c604a729f021c0de63f8a5e6f29b0ce + languageName: node + linkType: hard + +"@cspell/dict-html@npm:^4.0.15": + version: 4.0.15 + resolution: "@cspell/dict-html@npm:4.0.15" + checksum: 10c0/0812ae7f11ea2160ab4df8039b0f5af023c102d8806dc6ea9b8a90f96cc564b00dad167c3eb1a6685a244980ac203cc168438b352c84918a215147ef632aca10 + languageName: node + linkType: hard + +"@cspell/dict-java@npm:^5.0.12": + version: 5.0.12 + resolution: "@cspell/dict-java@npm:5.0.12" + checksum: 10c0/aba65f3762350c7e9381f5dc174d3cd1292379eef6b426e1561aeca3476c63268a10b99cfcd7b8cd15bbaef8dfa7abb914a3f34f211c504064a22409a1441923 + languageName: node + linkType: hard + +"@cspell/dict-julia@npm:^1.1.1": + version: 1.1.1 + resolution: "@cspell/dict-julia@npm:1.1.1" + checksum: 10c0/6dbc4c17bbee1a95491bf77b9438924852e9393699ac24e02a0b6846fdaf00a6ed5baafa94aa91a6f50016c3ab43c399ac814afa6504518da7e2f26a97ff3d0e + languageName: node + linkType: hard + +"@cspell/dict-k8s@npm:^1.0.12": + version: 1.0.12 + resolution: "@cspell/dict-k8s@npm:1.0.12" + checksum: 10c0/53ca1b0d86f8432fb9548982edfde402985a1dc7c0b778374968a9b657e53bace638ef188551c0847588e2bf6ad147d2cd0ee92d5a37b71b0791e63971bfd2d1 + languageName: node + linkType: hard + +"@cspell/dict-kotlin@npm:^1.1.1": + version: 1.1.1 + resolution: "@cspell/dict-kotlin@npm:1.1.1" + checksum: 10c0/45d0efc3701007b87e562d434eae8b05a16f730b28dd6d3ec237014d1b87dfa49075b57fad1acdb7b7939c64777f5238b991379debd9a45d91a3193a1e3481fc + languageName: node + linkType: hard + +"@cspell/dict-latex@npm:^5.1.0": + version: 5.1.0 + resolution: "@cspell/dict-latex@npm:5.1.0" + checksum: 10c0/e806722c0ff1581a069245cb297b954f8e24fb6e1942f2547b0fee7783fc9b59d08fe2d2c7ddf3f7f9eef60d783ac9a4290f37956b9723b13e21c9422d7962b0 + languageName: node + linkType: hard + +"@cspell/dict-lorem-ipsum@npm:^4.0.5": + version: 4.0.5 + resolution: "@cspell/dict-lorem-ipsum@npm:4.0.5" + checksum: 10c0/dd28957e60f4f68baec72fb69196394b9993fcadadcf018c58de75bf89434e4cd49e694cd33dccfcd18d4f65e489f37d284044ef75615613369e0a72dd2ec974 + languageName: node + linkType: hard + +"@cspell/dict-lua@npm:^4.0.8": + version: 4.0.8 + resolution: "@cspell/dict-lua@npm:4.0.8" + checksum: 10c0/24dd577a75bcc5fcd194a337fdcb7a443f239b1b22f7392787ed8e9fd82f03f14b524a5f49a394c2d372ba493ab6cb3aebe7219da69e4565404b11cc29a909a3 + languageName: node + linkType: hard + +"@cspell/dict-makefile@npm:^1.0.5": + version: 1.0.5 + resolution: "@cspell/dict-makefile@npm:1.0.5" + checksum: 10c0/ee6ae5472493cb5fde7326c4ecb9e036b8a3cd348c3c06c2cbe5ce420a13776bd8f6fb0709f2f5bb62f745ea4d1fa63d59e533fbce13bde07743867f77818e86 + languageName: node + linkType: hard + +"@cspell/dict-markdown@npm:^2.0.16": + version: 2.0.16 + resolution: "@cspell/dict-markdown@npm:2.0.16" + peerDependencies: + "@cspell/dict-css": ^4.1.1 + "@cspell/dict-html": ^4.0.15 + "@cspell/dict-html-symbol-entities": ^4.0.5 + "@cspell/dict-typescript": ^3.2.3 + checksum: 10c0/563414ae9d6b0a12ba89c54ec62ada59c1fbc0b7199a85d607d9aae22e6446f2fb1757a737b0d631843989888b611bf39eebf79eef1a43e37e0584181274248c + languageName: node + linkType: hard + +"@cspell/dict-monkeyc@npm:^1.0.12": + version: 1.0.12 + resolution: "@cspell/dict-monkeyc@npm:1.0.12" + checksum: 10c0/97250565f808cbf37d66f2585db7accf449bc1836c72b3fac0449896fe17b8dfa3e5dc15f27f4e5cbe61dc7c24e9b17c1d7f475c934cd7c68b1aa597386a5bc0 + languageName: node + linkType: hard + +"@cspell/dict-node@npm:^5.0.9": + version: 5.0.9 + resolution: "@cspell/dict-node@npm:5.0.9" + checksum: 10c0/129fa7cd204e26769829912a8a64225af45b5cf0438f597329966e1c3db5ffca04b4c426d9cee594f271d14500e11319bc7ed371207cb18d73966000303e3072 + languageName: node + linkType: hard + +"@cspell/dict-npm@npm:^5.2.38": + version: 5.2.38 + resolution: "@cspell/dict-npm@npm:5.2.38" + checksum: 10c0/6eeeb9a0fd114fedaf7b8599f899484b20acd4e67a008056833b5791d59098c023023ac7afcbe5f35e7863ff6f64dad5012fbfaa8edb8695775d8f5635d53395 + languageName: node + linkType: hard + +"@cspell/dict-php@npm:^4.1.1": + version: 4.1.1 + resolution: "@cspell/dict-php@npm:4.1.1" + checksum: 10c0/e11e2a3799b2c9ea590ce8b2e69838965f3d8f83020961720afde9c9c57b6ccdb013d54346900766ccf422c548c916dd2aaa890563d36cf12498ad3ddfe67d7a + languageName: node + linkType: hard + +"@cspell/dict-powershell@npm:^5.0.15": + version: 5.0.15 + resolution: "@cspell/dict-powershell@npm:5.0.15" + checksum: 10c0/be9219dcaaa85ce3c8c51330cab3464b3dc3ea333ef96e98cca16375f80a807ee590f41fc0630e97460292f6a73d4ccb0d7c44b032a7c2fdaa168fe951631797 + languageName: node + linkType: hard + +"@cspell/dict-public-licenses@npm:^2.0.16": + version: 2.0.16 + resolution: "@cspell/dict-public-licenses@npm:2.0.16" + checksum: 10c0/473a29eb6fa8cf0d64fffcac0a686c492777dca9a0d6be4c890bcb0e98cb2f01a4afbbfcb88e903a5895593567ec6f2646097f07b0453b689fd70272088aa2a0 + languageName: node + linkType: hard + +"@cspell/dict-python@npm:^4.2.26": + version: 4.2.26 + resolution: "@cspell/dict-python@npm:4.2.26" + dependencies: + "@cspell/dict-data-science": "npm:^2.0.13" + checksum: 10c0/3773c7856b47648f5f54c92cf5660f121fbafc98ecca5d6ab6767e2a8b297598b0c51e43f404faac9eef7a72adbf8c49312aea3d16399cee14a11746a2277e09 + languageName: node + linkType: hard + +"@cspell/dict-r@npm:^2.1.1": + version: 2.1.1 + resolution: "@cspell/dict-r@npm:2.1.1" + checksum: 10c0/ff36a7f8669dde33e09d824de487bbab584c0105c61c97f38375835664a42566874051891d8ede7ac134bab4bd84c12bd333800d9c548386086ac496a87fd576 + languageName: node + linkType: hard + +"@cspell/dict-ruby@npm:^5.1.1": + version: 5.1.1 + resolution: "@cspell/dict-ruby@npm:5.1.1" + checksum: 10c0/ec23c736a4e5588c8c55a44b5c31eb7238a199ac4f2a84fd9aa6558a80f6416c42d7eaa7337e30590b66bbaac5523b6d64519f7e33eadc4cf1d878f20bb86fc0 + languageName: node + linkType: hard + +"@cspell/dict-rust@npm:^4.1.2": + version: 4.1.2 + resolution: "@cspell/dict-rust@npm:4.1.2" + checksum: 10c0/ccee1ef1652f8855f2fee1c5b7c173eda9660f0c7f1eadb550ab2e4e8e2ee2e31eee903e294a32052996fed4045907b0a53383f6fe74d28a04de94a4ac69a29d + languageName: node + linkType: hard + +"@cspell/dict-scala@npm:^5.0.9": + version: 5.0.9 + resolution: "@cspell/dict-scala@npm:5.0.9" + checksum: 10c0/f6b214f4cebcb68a270f4e5cb4163fdd59b58afb28894ac6f523025f411792454c6645c0c616d00af10ea541d5fbd25d34ad7986ddef1bb2181003e39140abbe + languageName: node + linkType: hard + +"@cspell/dict-shell@npm:1.1.2, @cspell/dict-shell@npm:^1.1.2": + version: 1.1.2 + resolution: "@cspell/dict-shell@npm:1.1.2" + checksum: 10c0/5c05d24e6944abee63f6726630967691d175376152c98f8ed82a149d8f2065b507dd1fbbb542b8df01c19280b23737ed786c9c527d6a3b3386f525ec6478eafc + languageName: node + linkType: hard + +"@cspell/dict-software-terms@npm:^5.2.2": + version: 5.2.2 + resolution: "@cspell/dict-software-terms@npm:5.2.2" + checksum: 10c0/eca6c5ee91a21c76b9d735c5777521287c896bd03e448c8512b61b75e926a269aef5e03dd0ea3cd2b8291ea56e6f140742f4a4826045603fffdeaba228272557 + languageName: node + linkType: hard + +"@cspell/dict-sql@npm:^2.2.1": + version: 2.2.1 + resolution: "@cspell/dict-sql@npm:2.2.1" + checksum: 10c0/0e4e763a81669226cd54888546b0cffb12b66be0f945e97c1ea11638a3e4a074408bafeac10a7cf455781a0e5d55b41f5b0ff6fb0d58ae0b043dc1f37e792d51 + languageName: node + linkType: hard + +"@cspell/dict-svelte@npm:^1.0.7": + version: 1.0.7 + resolution: "@cspell/dict-svelte@npm:1.0.7" + checksum: 10c0/08aaf8818c6626bb330359d9682893daade5884105421db6916636a54423f043b706d49a3ad0b07fe05e7751753f9fa8dda1ac6c11662d6f16741c87f30d0c2a + languageName: node + linkType: hard + +"@cspell/dict-swift@npm:^2.0.6": + version: 2.0.6 + resolution: "@cspell/dict-swift@npm:2.0.6" + checksum: 10c0/ef8e5a6a63dd29055fd614a4d29e50b81fb88db166bb239a15279583def70786f6f3eb63e0071f771efe35b94739d22e5d48ccb4542dd0f217b71229f93a6377 + languageName: node + linkType: hard + +"@cspell/dict-terraform@npm:^1.1.3": + version: 1.1.3 + resolution: "@cspell/dict-terraform@npm:1.1.3" + checksum: 10c0/3964295ef52ab787d42360c48f312614034181f3b63c9a567a724c07af35872d6e2c96f765f2f9ba87e8a40451961844307459c40e066506b549cd55e1746ece + languageName: node + linkType: hard + +"@cspell/dict-typescript@npm:^3.2.3": + version: 3.2.3 + resolution: "@cspell/dict-typescript@npm:3.2.3" + checksum: 10c0/b4bb34efa2f3ce120cf5a7d4aab4a49ffcb2aaa59c5d81aa5e2550e06d61738399e015c9e1447c1beb9fadbf6b084523be696ae9d5f9d3b63ea6f6189d280316 + languageName: node + linkType: hard + +"@cspell/dict-vue@npm:^3.0.5": + version: 3.0.5 + resolution: "@cspell/dict-vue@npm:3.0.5" + checksum: 10c0/da4a1778095c8f56953d1f1934f41369e4e5c9b83e0862cd37782aae875820e8404f8dd3cd4cb2ea5be46370dd1698966f69b50121c75a50b8652414dc26f2cc + languageName: node + linkType: hard + +"@cspell/dict-zig@npm:^1.0.0": + version: 1.0.0 + resolution: "@cspell/dict-zig@npm:1.0.0" + checksum: 10c0/bc302e117002c9d6ebfb5d3e085d9a6f2e65d63440deb9f137dce1d8a75650593f5b83d47488ab394cfbc173be032661dc36bc74c85b9826f60a7d2fc7955ffc + languageName: node + linkType: hard + +"@cspell/dynamic-import@npm:10.0.0": + version: 10.0.0 + resolution: "@cspell/dynamic-import@npm:10.0.0" + dependencies: + "@cspell/url": "npm:10.0.0" + import-meta-resolve: "npm:^4.2.0" + checksum: 10c0/8ea1134ae75a2ffd2101017036437562eff03cc773864b2d69a1fa7ab304494d06ebfe5b5e59159d42c8a40dc1c623992642e2ab6d66a2b11f12f97b5e620bfb + languageName: node + linkType: hard + +"@cspell/filetypes@npm:10.0.0": + version: 10.0.0 + resolution: "@cspell/filetypes@npm:10.0.0" + checksum: 10c0/e66d285756f2390341318c9045ba12c0e05e704d74eb715023cfd56fcb368a51b5c4a6c835103c8f9f8fb1cfbe17d443736c3aa0df4f3848acf69bf75ffeca19 + languageName: node + linkType: hard + +"@cspell/rpc@npm:10.0.0": + version: 10.0.0 + resolution: "@cspell/rpc@npm:10.0.0" + checksum: 10c0/394f52040f062fa2335dd0a8e34ff7679553af6abd4d97bb7b0fbcde100b26f728ea3239a16953567815612270bdb13d236b2ce2689f530511aa117e4c081d6e + languageName: node + linkType: hard + +"@cspell/strong-weak-map@npm:10.0.0": + version: 10.0.0 + resolution: "@cspell/strong-weak-map@npm:10.0.0" + checksum: 10c0/bfdff730f5adff3b42c49ce35eece42f7e193843c8e69a9f87276eb1ba29144caaf72eabedcb6564e117905053161e8e59432963ccfcc0319707a98d127a80ff + languageName: node + linkType: hard + +"@cspell/url@npm:10.0.0": + version: 10.0.0 + resolution: "@cspell/url@npm:10.0.0" + checksum: 10c0/78bd9075bc0b9457c51ccbc1294220e35d159d1e5687501d0f28706ad331c9ee8f9869098e0aaab27d608594e55b9434efd94123d64205d8a2343938c089b20d + languageName: node + linkType: hard + +"@emnapi/core@npm:1.10.0": + version: 1.10.0 + resolution: "@emnapi/core@npm:1.10.0" + dependencies: + "@emnapi/wasi-threads": "npm:1.2.1" + tslib: "npm:^2.4.0" + checksum: 10c0/f51d08227857b60632de7714d708124f0e100a1462dde6df8221760939aa3204a73193830371830fac0716f3ccd2129f2cac1b17cd7d7958bc4da9018a296edb + languageName: node + linkType: hard + +"@emnapi/runtime@npm:1.10.0": + version: 1.10.0 + resolution: "@emnapi/runtime@npm:1.10.0" + dependencies: + tslib: "npm:^2.4.0" + checksum: 10c0/953f14991d1aefb92ee6f8eb27dea725e484791a53a0cb5f47d9e0087b9a2c929ff2e92adf95af15d6ad456db6300c6b761ebf72b50a875b874a83520b3ba093 + languageName: node + linkType: hard + +"@emnapi/wasi-threads@npm:1.2.1": + version: 1.2.1 + resolution: "@emnapi/wasi-threads@npm:1.2.1" + dependencies: + tslib: "npm:^2.4.0" + checksum: 10c0/32fcfa81ab396533b2ec1f4082b1ff779a05d9c836bbbd3f4398405b0e6814c0d9503b7993130e37bc6941dbc1ded49f55e9700ae9ca4e803bab2b5bc5deb331 + languageName: node + linkType: hard + +"@eslint-community/eslint-utils@npm:^4.5.1, @eslint-community/eslint-utils@npm:^4.8.0, @eslint-community/eslint-utils@npm:^4.9.1": + version: 4.9.1 + resolution: "@eslint-community/eslint-utils@npm:4.9.1" + dependencies: + eslint-visitor-keys: "npm:^3.4.3" + peerDependencies: + eslint: ^6.0.0 || ^7.0.0 || >=8.0.0 + checksum: 10c0/dc4ab5e3e364ef27e33666b11f4b86e1a6c1d7cbf16f0c6ff87b1619b3562335e9201a3d6ce806221887ff780ec9d828962a290bb910759fd40a674686503f02 + languageName: node + linkType: hard + +"@eslint-community/regexpp@npm:^4.12.2": + version: 4.12.2 + resolution: "@eslint-community/regexpp@npm:4.12.2" + checksum: 10c0/fddcbc66851b308478d04e302a4d771d6917a0b3740dc351513c0da9ca2eab8a1adf99f5e0aa7ab8b13fa0df005c81adeee7e63a92f3effd7d367a163b721c2d + languageName: node + linkType: hard + +"@eslint/config-array@npm:^0.23.5": + version: 0.23.5 + resolution: "@eslint/config-array@npm:0.23.5" + dependencies: + "@eslint/object-schema": "npm:^3.0.5" + debug: "npm:^4.3.1" + minimatch: "npm:^10.2.4" + checksum: 10c0/b24833c4c76e78ee075d306cd3f095db46b2db0f90cc13a6ee6e4275f9889731c05bf5403ab5fefb79c756e07ac9184ed0e04570341382f9eccbccc80e6d1a0c + languageName: node + linkType: hard + +"@eslint/config-helpers@npm:^0.6.0": + version: 0.6.0 + resolution: "@eslint/config-helpers@npm:0.6.0" + dependencies: + "@eslint/core": "npm:^1.2.1" + checksum: 10c0/f9af20e8b60b0ba27edb74b8eb40c0c5d51a9bf9baf9e053bb57833a87cb0a1c49b4dfaad88fc24d49c907ad1324c8a0b668684fa9c321351dac4bc9155ec10a + languageName: node + linkType: hard + +"@eslint/core@npm:^1.0.1, @eslint/core@npm:^1.1.1, @eslint/core@npm:^1.2.1": + version: 1.2.1 + resolution: "@eslint/core@npm:1.2.1" + dependencies: + "@types/json-schema": "npm:^7.0.15" + checksum: 10c0/10979b40588ecfef771fcb5013a542a35fb30692cc95a65f3481b0b36fbd89f5679efeb30d57f4eed35203d859aabace2a620177d6c536f71b299a1af2f3398f + languageName: node + linkType: hard + +"@eslint/js@npm:^10.0.1": + version: 10.0.1 + resolution: "@eslint/js@npm:10.0.1" + peerDependencies: + eslint: ^10.0.0 + peerDependenciesMeta: + eslint: + optional: true + checksum: 10c0/9f3fcaf71ba7fdf65d82e8faad6ecfe97e11801cc3c362b306a88ea1ed1344ae0d35330dddb0e8ad18f010f6687a70b75491b9e01c8af57acd7987cee6b3ec6c + languageName: node + linkType: hard + +"@eslint/object-schema@npm:^3.0.5": + version: 3.0.5 + resolution: "@eslint/object-schema@npm:3.0.5" + checksum: 10c0/1db337431f520b99e9edda64ef5fafd7ec6a029843eeb608753025125b6649d861d843cffafafd3c4e37926d7d5f9ec0c6a8e3665c13c3da2144e8132892e92e + languageName: node + linkType: hard + +"@eslint/plugin-kit@npm:^0.6.0": + version: 0.6.1 + resolution: "@eslint/plugin-kit@npm:0.6.1" + dependencies: + "@eslint/core": "npm:^1.1.1" + levn: "npm:^0.4.1" + checksum: 10c0/f8354a7b92cc41e7a55d51986d192134be84f9dc0c91b5e649d075d733b56981c4ca8bf4460d54120c4c87b47984167bad2cb9bceb303f11b0a3bad22b3ed06a + languageName: node + linkType: hard + +"@eslint/plugin-kit@npm:^0.7.1": + version: 0.7.1 + resolution: "@eslint/plugin-kit@npm:0.7.1" + dependencies: + "@eslint/core": "npm:^1.2.1" + levn: "npm:^0.4.1" + checksum: 10c0/335b0c1c46fd906cb50bd5ce442b9cee18dc44342ce35c718ba4a63d1aa51d2797f16a517b2f4fe371ccd777b6862fafb2dc8195e00e69197ef4cb17ab32c01b + languageName: node + linkType: hard + +"@humanfs/core@npm:^0.19.2": + version: 0.19.2 + resolution: "@humanfs/core@npm:0.19.2" + dependencies: + "@humanfs/types": "npm:^0.15.0" + checksum: 10c0/d0a1d52d7b30c27d49475a53072d1510b81c5803e44b342fb8faf3887f1aa27593a1e6dc76a45268e7892d3f4e198146659281f6b6d55eacf3fd5a38bac30c5c + languageName: node + linkType: hard + +"@humanfs/node@npm:^0.16.6": + version: 0.16.8 + resolution: "@humanfs/node@npm:0.16.8" + dependencies: + "@humanfs/core": "npm:^0.19.2" + "@humanfs/types": "npm:^0.15.0" + "@humanwhocodes/retry": "npm:^0.4.0" + checksum: 10c0/56140579db811af4e160b195d45d0f29acf644d192c93fe24c9e594ebf06f19dfc157494a07c84540b8a071c0e4b37209c2362765d31734f4d0be869c2422e25 + languageName: node + linkType: hard + +"@humanfs/types@npm:^0.15.0": + version: 0.15.0 + resolution: "@humanfs/types@npm:0.15.0" + checksum: 10c0/fc26b9a024b0e55f7eaf64036df94345bf5d36d6a41ef80ef38e78f1f7430ce26cf435af736adae58913baae18eac3f38c18739054a3d379102015978eae862e + languageName: node + linkType: hard + +"@humanwhocodes/module-importer@npm:^1.0.1": + version: 1.0.1 + resolution: "@humanwhocodes/module-importer@npm:1.0.1" + checksum: 10c0/909b69c3b86d482c26b3359db16e46a32e0fb30bd306a3c176b8313b9e7313dba0f37f519de6aa8b0a1921349e505f259d19475e123182416a506d7f87e7f529 + languageName: node + linkType: hard + +"@humanwhocodes/retry@npm:^0.4.0, @humanwhocodes/retry@npm:^0.4.2": + version: 0.4.3 + resolution: "@humanwhocodes/retry@npm:0.4.3" + checksum: 10c0/3775bb30087d4440b3f7406d5a057777d90e4b9f435af488a4923ef249e93615fb78565a85f173a186a076c7706a81d0d57d563a2624e4de2c5c9c66c486ce42 + languageName: node + linkType: hard + +"@isaacs/fs-minipass@npm:^4.0.0": + version: 4.0.1 + resolution: "@isaacs/fs-minipass@npm:4.0.1" + dependencies: + minipass: "npm:^7.0.4" + checksum: 10c0/c25b6dc1598790d5b55c0947a9b7d111cfa92594db5296c3b907e2f533c033666f692a3939eadac17b1c7c40d362d0b0635dc874cbfe3e70db7c2b07cc97a5d2 + languageName: node + linkType: hard + +"@jridgewell/resolve-uri@npm:^3.1.0": + version: 3.1.2 + resolution: "@jridgewell/resolve-uri@npm:3.1.2" + checksum: 10c0/d502e6fb516b35032331406d4e962c21fe77cdf1cbdb49c6142bcbd9e30507094b18972778a6e27cbad756209cfe34b1a27729e6fa08a2eb92b33943f680cf1e + languageName: node + linkType: hard + +"@jridgewell/sourcemap-codec@npm:^1.4.14, @jridgewell/sourcemap-codec@npm:^1.5.5": + version: 1.5.5 + resolution: "@jridgewell/sourcemap-codec@npm:1.5.5" + checksum: 10c0/f9e538f302b63c0ebc06eecb1dd9918dd4289ed36147a0ddce35d6ea4d7ebbda243cda7b2213b6a5e1d8087a298d5cf630fb2bd39329cdecb82017023f6081a0 + languageName: node + linkType: hard + +"@jridgewell/trace-mapping@npm:^0.3.31": + version: 0.3.31 + resolution: "@jridgewell/trace-mapping@npm:0.3.31" + dependencies: + "@jridgewell/resolve-uri": "npm:^3.1.0" + "@jridgewell/sourcemap-codec": "npm:^1.4.14" + checksum: 10c0/4b30ec8cd56c5fd9a661f088230af01e0c1a3888d11ffb6b47639700f71225be21d1f7e168048d6d4f9449207b978a235c07c8f15c07705685d16dc06280e9d9 + languageName: node + linkType: hard + +"@napi-rs/wasm-runtime@npm:^1.1.1, @napi-rs/wasm-runtime@npm:^1.1.4": + version: 1.1.4 + resolution: "@napi-rs/wasm-runtime@npm:1.1.4" + dependencies: + "@tybys/wasm-util": "npm:^0.10.1" + peerDependencies: + "@emnapi/core": ^1.7.1 + "@emnapi/runtime": ^1.7.1 + checksum: 10c0/2e88e1955258949ccf2d18c79975821ad38071b465ef126a5e14110977b97868867b016c1ad046e963cccc42c0bd9db6c8ff5fd1ebb61b87bb3487f339041658 + languageName: node + linkType: hard + +"@ota-meshi/ast-token-store@npm:^0.3.0": + version: 0.3.0 + resolution: "@ota-meshi/ast-token-store@npm:0.3.0" + checksum: 10c0/cb36d5b3e1379901e197d03869772f96d6505be8c06701dd56a02123a9a5484cfe8d759610622058675434ee2dcdba37b939cc249abe9babefcd400a63a77e9a + languageName: node + linkType: hard + +"@oxc-parser/binding-android-arm-eabi@npm:0.130.0": + version: 0.130.0 + resolution: "@oxc-parser/binding-android-arm-eabi@npm:0.130.0" + conditions: os=android & cpu=arm + languageName: node + linkType: hard + +"@oxc-parser/binding-android-arm64@npm:0.130.0": + version: 0.130.0 + resolution: "@oxc-parser/binding-android-arm64@npm:0.130.0" + conditions: os=android & cpu=arm64 + languageName: node + linkType: hard + +"@oxc-parser/binding-darwin-arm64@npm:0.130.0": + version: 0.130.0 + resolution: "@oxc-parser/binding-darwin-arm64@npm:0.130.0" + conditions: os=darwin & cpu=arm64 + languageName: node + linkType: hard + +"@oxc-parser/binding-darwin-x64@npm:0.130.0": + version: 0.130.0 + resolution: "@oxc-parser/binding-darwin-x64@npm:0.130.0" + conditions: os=darwin & cpu=x64 + languageName: node + linkType: hard + +"@oxc-parser/binding-freebsd-x64@npm:0.130.0": + version: 0.130.0 + resolution: "@oxc-parser/binding-freebsd-x64@npm:0.130.0" + conditions: os=freebsd & cpu=x64 + languageName: node + linkType: hard + +"@oxc-parser/binding-linux-arm-gnueabihf@npm:0.130.0": + version: 0.130.0 + resolution: "@oxc-parser/binding-linux-arm-gnueabihf@npm:0.130.0" + conditions: os=linux & cpu=arm + languageName: node + linkType: hard + +"@oxc-parser/binding-linux-arm-musleabihf@npm:0.130.0": + version: 0.130.0 + resolution: "@oxc-parser/binding-linux-arm-musleabihf@npm:0.130.0" + conditions: os=linux & cpu=arm + languageName: node + linkType: hard + +"@oxc-parser/binding-linux-arm64-gnu@npm:0.130.0": + version: 0.130.0 + resolution: "@oxc-parser/binding-linux-arm64-gnu@npm:0.130.0" + conditions: os=linux & cpu=arm64 & libc=glibc + languageName: node + linkType: hard + +"@oxc-parser/binding-linux-arm64-musl@npm:0.130.0": + version: 0.130.0 + resolution: "@oxc-parser/binding-linux-arm64-musl@npm:0.130.0" + conditions: os=linux & cpu=arm64 & libc=musl + languageName: node + linkType: hard + +"@oxc-parser/binding-linux-ppc64-gnu@npm:0.130.0": + version: 0.130.0 + resolution: "@oxc-parser/binding-linux-ppc64-gnu@npm:0.130.0" + conditions: os=linux & cpu=ppc64 & libc=glibc + languageName: node + linkType: hard + +"@oxc-parser/binding-linux-riscv64-gnu@npm:0.130.0": + version: 0.130.0 + resolution: "@oxc-parser/binding-linux-riscv64-gnu@npm:0.130.0" + conditions: os=linux & cpu=riscv64 & libc=glibc + languageName: node + linkType: hard + +"@oxc-parser/binding-linux-riscv64-musl@npm:0.130.0": + version: 0.130.0 + resolution: "@oxc-parser/binding-linux-riscv64-musl@npm:0.130.0" + conditions: os=linux & cpu=riscv64 & libc=musl + languageName: node + linkType: hard + +"@oxc-parser/binding-linux-s390x-gnu@npm:0.130.0": + version: 0.130.0 + resolution: "@oxc-parser/binding-linux-s390x-gnu@npm:0.130.0" + conditions: os=linux & cpu=s390x & libc=glibc + languageName: node + linkType: hard + +"@oxc-parser/binding-linux-x64-gnu@npm:0.130.0": + version: 0.130.0 + resolution: "@oxc-parser/binding-linux-x64-gnu@npm:0.130.0" + conditions: os=linux & cpu=x64 & libc=glibc + languageName: node + linkType: hard + +"@oxc-parser/binding-linux-x64-musl@npm:0.130.0": + version: 0.130.0 + resolution: "@oxc-parser/binding-linux-x64-musl@npm:0.130.0" + conditions: os=linux & cpu=x64 & libc=musl + languageName: node + linkType: hard + +"@oxc-parser/binding-openharmony-arm64@npm:0.130.0": + version: 0.130.0 + resolution: "@oxc-parser/binding-openharmony-arm64@npm:0.130.0" + conditions: os=openharmony & cpu=arm64 + languageName: node + linkType: hard + +"@oxc-parser/binding-wasm32-wasi@npm:0.130.0": + version: 0.130.0 + resolution: "@oxc-parser/binding-wasm32-wasi@npm:0.130.0" + dependencies: + "@emnapi/core": "npm:1.10.0" + "@emnapi/runtime": "npm:1.10.0" + "@napi-rs/wasm-runtime": "npm:^1.1.4" + conditions: cpu=wasm32 + languageName: node + linkType: hard + +"@oxc-parser/binding-win32-arm64-msvc@npm:0.130.0": + version: 0.130.0 + resolution: "@oxc-parser/binding-win32-arm64-msvc@npm:0.130.0" + conditions: os=win32 & cpu=arm64 + languageName: node + linkType: hard + +"@oxc-parser/binding-win32-ia32-msvc@npm:0.130.0": + version: 0.130.0 + resolution: "@oxc-parser/binding-win32-ia32-msvc@npm:0.130.0" + conditions: os=win32 & cpu=ia32 + languageName: node + linkType: hard + +"@oxc-parser/binding-win32-x64-msvc@npm:0.130.0": + version: 0.130.0 + resolution: "@oxc-parser/binding-win32-x64-msvc@npm:0.130.0" + conditions: os=win32 & cpu=x64 + languageName: node + linkType: hard + +"@oxc-project/types@npm:=0.130.0, @oxc-project/types@npm:^0.130.0": + version: 0.130.0 + resolution: "@oxc-project/types@npm:0.130.0" + checksum: 10c0/7ec8c03407b0bcb235b930c62859e6efcb3fe5cbaa5db98770d760df5c3e6b3e28a0ad22c2e35d1addede8065b40000c3822c5235dde2959af226639eb870000 + languageName: node + linkType: hard + +"@oxc-resolver/binding-android-arm-eabi@npm:11.19.1": + version: 11.19.1 + resolution: "@oxc-resolver/binding-android-arm-eabi@npm:11.19.1" + conditions: os=android & cpu=arm + languageName: node + linkType: hard + +"@oxc-resolver/binding-android-arm64@npm:11.19.1": + version: 11.19.1 + resolution: "@oxc-resolver/binding-android-arm64@npm:11.19.1" + conditions: os=android & cpu=arm64 + languageName: node + linkType: hard + +"@oxc-resolver/binding-darwin-arm64@npm:11.19.1": + version: 11.19.1 + resolution: "@oxc-resolver/binding-darwin-arm64@npm:11.19.1" + conditions: os=darwin & cpu=arm64 + languageName: node + linkType: hard + +"@oxc-resolver/binding-darwin-x64@npm:11.19.1": + version: 11.19.1 + resolution: "@oxc-resolver/binding-darwin-x64@npm:11.19.1" + conditions: os=darwin & cpu=x64 + languageName: node + linkType: hard + +"@oxc-resolver/binding-freebsd-x64@npm:11.19.1": + version: 11.19.1 + resolution: "@oxc-resolver/binding-freebsd-x64@npm:11.19.1" + conditions: os=freebsd & cpu=x64 + languageName: node + linkType: hard + +"@oxc-resolver/binding-linux-arm-gnueabihf@npm:11.19.1": + version: 11.19.1 + resolution: "@oxc-resolver/binding-linux-arm-gnueabihf@npm:11.19.1" + conditions: os=linux & cpu=arm + languageName: node + linkType: hard + +"@oxc-resolver/binding-linux-arm-musleabihf@npm:11.19.1": + version: 11.19.1 + resolution: "@oxc-resolver/binding-linux-arm-musleabihf@npm:11.19.1" + conditions: os=linux & cpu=arm + languageName: node + linkType: hard + +"@oxc-resolver/binding-linux-arm64-gnu@npm:11.19.1": + version: 11.19.1 + resolution: "@oxc-resolver/binding-linux-arm64-gnu@npm:11.19.1" + conditions: os=linux & cpu=arm64 & libc=glibc + languageName: node + linkType: hard + +"@oxc-resolver/binding-linux-arm64-musl@npm:11.19.1": + version: 11.19.1 + resolution: "@oxc-resolver/binding-linux-arm64-musl@npm:11.19.1" + conditions: os=linux & cpu=arm64 & libc=musl + languageName: node + linkType: hard + +"@oxc-resolver/binding-linux-ppc64-gnu@npm:11.19.1": + version: 11.19.1 + resolution: "@oxc-resolver/binding-linux-ppc64-gnu@npm:11.19.1" + conditions: os=linux & cpu=ppc64 & libc=glibc + languageName: node + linkType: hard + +"@oxc-resolver/binding-linux-riscv64-gnu@npm:11.19.1": + version: 11.19.1 + resolution: "@oxc-resolver/binding-linux-riscv64-gnu@npm:11.19.1" + conditions: os=linux & cpu=riscv64 & libc=glibc + languageName: node + linkType: hard + +"@oxc-resolver/binding-linux-riscv64-musl@npm:11.19.1": + version: 11.19.1 + resolution: "@oxc-resolver/binding-linux-riscv64-musl@npm:11.19.1" + conditions: os=linux & cpu=riscv64 & libc=musl + languageName: node + linkType: hard + +"@oxc-resolver/binding-linux-s390x-gnu@npm:11.19.1": + version: 11.19.1 + resolution: "@oxc-resolver/binding-linux-s390x-gnu@npm:11.19.1" + conditions: os=linux & cpu=s390x & libc=glibc + languageName: node + linkType: hard + +"@oxc-resolver/binding-linux-x64-gnu@npm:11.19.1": + version: 11.19.1 + resolution: "@oxc-resolver/binding-linux-x64-gnu@npm:11.19.1" + conditions: os=linux & cpu=x64 & libc=glibc + languageName: node + linkType: hard + +"@oxc-resolver/binding-linux-x64-musl@npm:11.19.1": + version: 11.19.1 + resolution: "@oxc-resolver/binding-linux-x64-musl@npm:11.19.1" + conditions: os=linux & cpu=x64 & libc=musl + languageName: node + linkType: hard + +"@oxc-resolver/binding-openharmony-arm64@npm:11.19.1": + version: 11.19.1 + resolution: "@oxc-resolver/binding-openharmony-arm64@npm:11.19.1" + conditions: os=openharmony & cpu=arm64 + languageName: node + linkType: hard + +"@oxc-resolver/binding-wasm32-wasi@npm:11.19.1": + version: 11.19.1 + resolution: "@oxc-resolver/binding-wasm32-wasi@npm:11.19.1" + dependencies: + "@napi-rs/wasm-runtime": "npm:^1.1.1" + conditions: cpu=wasm32 + languageName: node + linkType: hard + +"@oxc-resolver/binding-win32-arm64-msvc@npm:11.19.1": + version: 11.19.1 + resolution: "@oxc-resolver/binding-win32-arm64-msvc@npm:11.19.1" + conditions: os=win32 & cpu=arm64 + languageName: node + linkType: hard + +"@oxc-resolver/binding-win32-ia32-msvc@npm:11.19.1": + version: 11.19.1 + resolution: "@oxc-resolver/binding-win32-ia32-msvc@npm:11.19.1" + conditions: os=win32 & cpu=ia32 + languageName: node + linkType: hard + +"@oxc-resolver/binding-win32-x64-msvc@npm:11.19.1": + version: 11.19.1 + resolution: "@oxc-resolver/binding-win32-x64-msvc@npm:11.19.1" + conditions: os=win32 & cpu=x64 + languageName: node + linkType: hard + +"@package-json/types@npm:^0.0.12": + version: 0.0.12 + resolution: "@package-json/types@npm:0.0.12" + checksum: 10c0/d9bba086efe7b9901f02f1cff7a68ab23269aeddfb7ee92a16930e219f705bfc188b9fec2dd47265033dbda45ed1514d8a46f46363f38f1ad56bc993754126da + languageName: node + linkType: hard + +"@pkgr/core@npm:^0.2.9": + version: 0.2.9 + resolution: "@pkgr/core@npm:0.2.9" + checksum: 10c0/ac8e4e8138b1a7a4ac6282873aef7389c352f1f8b577b4850778f5182e4a39a5241facbe48361fec817f56d02b51691b383010843fb08b34a8e8ea3614688fd5 + languageName: node + linkType: hard + +"@publint/pack@npm:^0.1.4": + version: 0.1.4 + resolution: "@publint/pack@npm:0.1.4" + checksum: 10c0/f70b2c8951b5d312ecfd40534e1dd1b0a4fe0fd207879a73c168e3f6979df6202b8b4d4f9a0ee9de6443f0bfb95ef47a0c27c7138c083d9224ef27c67adddefd + languageName: node + linkType: hard + +"@rolldown/binding-android-arm64@npm:1.0.1": + version: 1.0.1 + resolution: "@rolldown/binding-android-arm64@npm:1.0.1" + conditions: os=android & cpu=arm64 + languageName: node + linkType: hard + +"@rolldown/binding-darwin-arm64@npm:1.0.1": + version: 1.0.1 + resolution: "@rolldown/binding-darwin-arm64@npm:1.0.1" + conditions: os=darwin & cpu=arm64 + languageName: node + linkType: hard + +"@rolldown/binding-darwin-x64@npm:1.0.1": + version: 1.0.1 + resolution: "@rolldown/binding-darwin-x64@npm:1.0.1" + conditions: os=darwin & cpu=x64 + languageName: node + linkType: hard + +"@rolldown/binding-freebsd-x64@npm:1.0.1": + version: 1.0.1 + resolution: "@rolldown/binding-freebsd-x64@npm:1.0.1" + conditions: os=freebsd & cpu=x64 + languageName: node + linkType: hard + +"@rolldown/binding-linux-arm-gnueabihf@npm:1.0.1": + version: 1.0.1 + resolution: "@rolldown/binding-linux-arm-gnueabihf@npm:1.0.1" + conditions: os=linux & cpu=arm + languageName: node + linkType: hard + +"@rolldown/binding-linux-arm64-gnu@npm:1.0.1": + version: 1.0.1 + resolution: "@rolldown/binding-linux-arm64-gnu@npm:1.0.1" + conditions: os=linux & cpu=arm64 & libc=glibc + languageName: node + linkType: hard + +"@rolldown/binding-linux-arm64-musl@npm:1.0.1": + version: 1.0.1 + resolution: "@rolldown/binding-linux-arm64-musl@npm:1.0.1" + conditions: os=linux & cpu=arm64 & libc=musl + languageName: node + linkType: hard + +"@rolldown/binding-linux-ppc64-gnu@npm:1.0.1": + version: 1.0.1 + resolution: "@rolldown/binding-linux-ppc64-gnu@npm:1.0.1" + conditions: os=linux & cpu=ppc64 & libc=glibc + languageName: node + linkType: hard + +"@rolldown/binding-linux-s390x-gnu@npm:1.0.1": + version: 1.0.1 + resolution: "@rolldown/binding-linux-s390x-gnu@npm:1.0.1" + conditions: os=linux & cpu=s390x & libc=glibc + languageName: node + linkType: hard + +"@rolldown/binding-linux-x64-gnu@npm:1.0.1": + version: 1.0.1 + resolution: "@rolldown/binding-linux-x64-gnu@npm:1.0.1" + conditions: os=linux & cpu=x64 & libc=glibc + languageName: node + linkType: hard + +"@rolldown/binding-linux-x64-musl@npm:1.0.1": + version: 1.0.1 + resolution: "@rolldown/binding-linux-x64-musl@npm:1.0.1" + conditions: os=linux & cpu=x64 & libc=musl + languageName: node + linkType: hard + +"@rolldown/binding-openharmony-arm64@npm:1.0.1": + version: 1.0.1 + resolution: "@rolldown/binding-openharmony-arm64@npm:1.0.1" + conditions: os=openharmony & cpu=arm64 + languageName: node + linkType: hard + +"@rolldown/binding-wasm32-wasi@npm:1.0.1": + version: 1.0.1 + resolution: "@rolldown/binding-wasm32-wasi@npm:1.0.1" + dependencies: + "@emnapi/core": "npm:1.10.0" + "@emnapi/runtime": "npm:1.10.0" + "@napi-rs/wasm-runtime": "npm:^1.1.4" + conditions: cpu=wasm32 + languageName: node + linkType: hard + +"@rolldown/binding-win32-arm64-msvc@npm:1.0.1": + version: 1.0.1 + resolution: "@rolldown/binding-win32-arm64-msvc@npm:1.0.1" + conditions: os=win32 & cpu=arm64 + languageName: node + linkType: hard + +"@rolldown/binding-win32-x64-msvc@npm:1.0.1": + version: 1.0.1 + resolution: "@rolldown/binding-win32-x64-msvc@npm:1.0.1" + conditions: os=win32 & cpu=x64 + languageName: node + linkType: hard + +"@rolldown/pluginutils@npm:^1.0.0": + version: 1.0.1 + resolution: "@rolldown/pluginutils@npm:1.0.1" + checksum: 10c0/99d9b06d90196823e4d8c841f258db7a16e5dbba5824a2962b05d907b79f1ba929d56f22dd744fd530936e568c865ee56a719dc31e57e13bc0a8eb4764a8d8dd + languageName: node + linkType: hard + +"@standard-schema/spec@npm:^1.1.0": + version: 1.1.0 + resolution: "@standard-schema/spec@npm:1.1.0" + checksum: 10c0/d90f55acde4b2deb983529c87e8025fa693de1a5e8b49ecc6eb84d1fd96328add0e03d7d551442156c7432fd78165b2c26ff561b970a9a881f046abb78d6a526 + languageName: node + linkType: hard + +"@tybys/wasm-util@npm:^0.10.1": + version: 0.10.2 + resolution: "@tybys/wasm-util@npm:0.10.2" + dependencies: + tslib: "npm:^2.4.0" + checksum: 10c0/26165bcd1fd7269f42d7fbe3de318f854a8968de8397e89fc9a423bb3e2da35a52150f382e6323b3367595beb16d9800a6f35971a5599daf76da1742ec3afc25 + languageName: node + linkType: hard + +"@types/chai@npm:^5.2.2": + version: 5.2.3 + resolution: "@types/chai@npm:5.2.3" + dependencies: + "@types/deep-eql": "npm:*" + assertion-error: "npm:^2.0.1" + checksum: 10c0/e0ef1de3b6f8045a5e473e867c8565788c444271409d155588504840ad1a53611011f85072188c2833941189400228c1745d78323dac13fcede9c2b28bacfb2f + languageName: node + linkType: hard + +"@types/deep-eql@npm:*": + version: 4.0.2 + resolution: "@types/deep-eql@npm:4.0.2" + checksum: 10c0/bf3f811843117900d7084b9d0c852da9a044d12eb40e6de73b552598a6843c21291a8a381b0532644574beecd5e3491c5ff3a0365ab86b15d59862c025384844 + languageName: node + linkType: hard + +"@types/esrecurse@npm:^4.3.1": + version: 4.3.1 + resolution: "@types/esrecurse@npm:4.3.1" + checksum: 10c0/90dad74d5da3ad27606d8e8e757322f33171cfeaa15ad558b615cf71bb2a516492d18f55f4816384685a3eb2412142e732bbae9a4a7cd2cf3deb7572aa4ebe03 + languageName: node + linkType: hard + +"@types/estree@npm:^1.0.0, @types/estree@npm:^1.0.6, @types/estree@npm:^1.0.8": + version: 1.0.9 + resolution: "@types/estree@npm:1.0.9" + checksum: 10c0/3ad3286ca2988cd550dafb8f2ad599c8474868e954fa601a36655bdfefd8039f7c714b8c1c7f2ae219ffbd58bd4660e66fa7479a0120fc02d4777057d4865387 + languageName: node + linkType: hard + +"@types/json-schema@npm:^7.0.15": + version: 7.0.15 + resolution: "@types/json-schema@npm:7.0.15" + checksum: 10c0/a996a745e6c5d60292f36731dd41341339d4eeed8180bb09226e5c8d23759067692b1d88e5d91d72ee83dfc00d3aca8e7bd43ea120516c17922cbcb7c3e252db + languageName: node + linkType: hard + +"@types/node@npm:^25.9.1": + version: 25.9.1 + resolution: "@types/node@npm:25.9.1" + dependencies: + undici-types: "npm:>=7.24.0 <7.24.7" + checksum: 10c0/9a04682842bebbcf21a1779dfeab9aa733d7bd7bbc0a0edb641ab3a9a3d43eac543225acf669c334f458f1956443ebc072bc3c72840c543b8b356cab5c82d456 + languageName: node + linkType: hard + +"@typescript-eslint/eslint-plugin@npm:8.59.4": + version: 8.59.4 + resolution: "@typescript-eslint/eslint-plugin@npm:8.59.4" + dependencies: + "@eslint-community/regexpp": "npm:^4.12.2" + "@typescript-eslint/scope-manager": "npm:8.59.4" + "@typescript-eslint/type-utils": "npm:8.59.4" + "@typescript-eslint/utils": "npm:8.59.4" + "@typescript-eslint/visitor-keys": "npm:8.59.4" + ignore: "npm:^7.0.5" + natural-compare: "npm:^1.4.0" + ts-api-utils: "npm:^2.5.0" + peerDependencies: + "@typescript-eslint/parser": ^8.59.4 + eslint: ^8.57.0 || ^9.0.0 || ^10.0.0 + typescript: ">=4.8.4 <6.1.0" + checksum: 10c0/53639bb5cbb5cb22d5e8d52c404a217cb1af4b1c3a8f6f3bb15824807b4db4bed49008d3b3f7688295285e764c7aff3b682b56dece3013a81de83f47bdf2b36c + languageName: node + linkType: hard + +"@typescript-eslint/parser@npm:8.59.4": + version: 8.59.4 + resolution: "@typescript-eslint/parser@npm:8.59.4" + dependencies: + "@typescript-eslint/scope-manager": "npm:8.59.4" + "@typescript-eslint/types": "npm:8.59.4" + "@typescript-eslint/typescript-estree": "npm:8.59.4" + "@typescript-eslint/visitor-keys": "npm:8.59.4" + debug: "npm:^4.4.3" + peerDependencies: + eslint: ^8.57.0 || ^9.0.0 || ^10.0.0 + typescript: ">=4.8.4 <6.1.0" + checksum: 10c0/7dccab1bec898aee2c8aa8e08560ce6d439ef174358e98d5d92ee3f8a9fc0b044534ce0eecf57521f284858f937ec968941200c1df9ffd0baa0795bffa3de97d + languageName: node + linkType: hard + +"@typescript-eslint/project-service@npm:8.59.4": + version: 8.59.4 + resolution: "@typescript-eslint/project-service@npm:8.59.4" + dependencies: + "@typescript-eslint/tsconfig-utils": "npm:^8.59.4" + "@typescript-eslint/types": "npm:^8.59.4" + debug: "npm:^4.4.3" + peerDependencies: + typescript: ">=4.8.4 <6.1.0" + checksum: 10c0/ba466e3b4091f79bd9ae8c29591d4858760293c2bc5d355642b9bf04b9c6fcd4418ff255485aaaf005edb84f6aaefeb53a3c1627bbbb70a905a4786d20f0b06a + languageName: node + linkType: hard + +"@typescript-eslint/scope-manager@npm:8.59.4": + version: 8.59.4 + resolution: "@typescript-eslint/scope-manager@npm:8.59.4" + dependencies: + "@typescript-eslint/types": "npm:8.59.4" + "@typescript-eslint/visitor-keys": "npm:8.59.4" + checksum: 10c0/0e4701f8c3384c7406f372cb06762d6bf943aba3afe2c231e4e942ee2e8b4cd4e9e7667ec503502dc4a159b826892dbe1487e2a8d143e190c850744b2a329857 + languageName: node + linkType: hard + +"@typescript-eslint/tsconfig-utils@npm:8.59.4, @typescript-eslint/tsconfig-utils@npm:^8.59.4": + version: 8.59.4 + resolution: "@typescript-eslint/tsconfig-utils@npm:8.59.4" + peerDependencies: + typescript: ">=4.8.4 <6.1.0" + checksum: 10c0/ef6cf20eb93cb5e12439bc9713f5d9c619d516aefd3ecd4f111d9b23ef9f36e5c13f1bbcd55faa6a4b788b146b2a8724a418504107d4d377d0463f419fe9e1f3 + languageName: node + linkType: hard + +"@typescript-eslint/type-utils@npm:8.59.4": + version: 8.59.4 + resolution: "@typescript-eslint/type-utils@npm:8.59.4" + dependencies: + "@typescript-eslint/types": "npm:8.59.4" + "@typescript-eslint/typescript-estree": "npm:8.59.4" + "@typescript-eslint/utils": "npm:8.59.4" + debug: "npm:^4.4.3" + ts-api-utils: "npm:^2.5.0" + peerDependencies: + eslint: ^8.57.0 || ^9.0.0 || ^10.0.0 + typescript: ">=4.8.4 <6.1.0" + checksum: 10c0/93b1a96c395b22da81990655d2fc86d627f5ad815d33faa474b83463c27d34de86a8efedce6cd911d479fcfdc5a758476efa350933f5f97a4181fd226c4ccb6d + languageName: node + linkType: hard + +"@typescript-eslint/types@npm:8.59.4, @typescript-eslint/types@npm:^8.56.0, @typescript-eslint/types@npm:^8.59.4": + version: 8.59.4 + resolution: "@typescript-eslint/types@npm:8.59.4" + checksum: 10c0/5bb831f9acf98057b3dce6ebfc1df5f1796e701cdf035e71fdee6d0bb7f7e7d9c428bac38f46db4e08381ad8903424fcfbe55bcae223a6244b9133de8e0be190 + languageName: node + linkType: hard + +"@typescript-eslint/typescript-estree@npm:8.59.4": + version: 8.59.4 + resolution: "@typescript-eslint/typescript-estree@npm:8.59.4" + dependencies: + "@typescript-eslint/project-service": "npm:8.59.4" + "@typescript-eslint/tsconfig-utils": "npm:8.59.4" + "@typescript-eslint/types": "npm:8.59.4" + "@typescript-eslint/visitor-keys": "npm:8.59.4" + debug: "npm:^4.4.3" + minimatch: "npm:^10.2.2" + semver: "npm:^7.7.3" + tinyglobby: "npm:^0.2.15" + ts-api-utils: "npm:^2.5.0" + peerDependencies: + typescript: ">=4.8.4 <6.1.0" + checksum: 10c0/2f427f9ba3ea1c7d1f476883f9769827c7082ff3cefcb189dcdb2dc33b16fa459e40894152d42583df90d0ed1041a1043830ecba5326c0b1de6becb9cf22fcee + languageName: node + linkType: hard + +"@typescript-eslint/utils@npm:8.59.4": + version: 8.59.4 + resolution: "@typescript-eslint/utils@npm:8.59.4" + dependencies: + "@eslint-community/eslint-utils": "npm:^4.9.1" + "@typescript-eslint/scope-manager": "npm:8.59.4" + "@typescript-eslint/types": "npm:8.59.4" + "@typescript-eslint/typescript-estree": "npm:8.59.4" + peerDependencies: + eslint: ^8.57.0 || ^9.0.0 || ^10.0.0 + typescript: ">=4.8.4 <6.1.0" + checksum: 10c0/f2e7f6237defd49e578731762e8736e7316e4873e326d48ec56651dcd0204962367f3e91692939e1636f443a8ded524336b7ee0874b6267940e77f5dc8fce175 + languageName: node + linkType: hard + +"@typescript-eslint/visitor-keys@npm:8.59.4": + version: 8.59.4 + resolution: "@typescript-eslint/visitor-keys@npm:8.59.4" + dependencies: + "@typescript-eslint/types": "npm:8.59.4" + eslint-visitor-keys: "npm:^5.0.0" + checksum: 10c0/fcef4078988d725f0e56104038cc903d78cb5527e10e4da2c29ae7cb65e5b46c6a8f3f20d2be3e83b4cbaf27a723d1d2b31027006b5f1d43bf1fb0baed8e7641 + languageName: node + linkType: hard + +"@unrs/resolver-binding-android-arm-eabi@npm:1.12.2": + version: 1.12.2 + resolution: "@unrs/resolver-binding-android-arm-eabi@npm:1.12.2" + conditions: os=android & cpu=arm + languageName: node + linkType: hard + +"@unrs/resolver-binding-android-arm64@npm:1.12.2": + version: 1.12.2 + resolution: "@unrs/resolver-binding-android-arm64@npm:1.12.2" + conditions: os=android & cpu=arm64 + languageName: node + linkType: hard + +"@unrs/resolver-binding-darwin-arm64@npm:1.12.2": + version: 1.12.2 + resolution: "@unrs/resolver-binding-darwin-arm64@npm:1.12.2" + conditions: os=darwin & cpu=arm64 + languageName: node + linkType: hard + +"@unrs/resolver-binding-darwin-x64@npm:1.12.2": + version: 1.12.2 + resolution: "@unrs/resolver-binding-darwin-x64@npm:1.12.2" + conditions: os=darwin & cpu=x64 + languageName: node + linkType: hard + +"@unrs/resolver-binding-freebsd-x64@npm:1.12.2": + version: 1.12.2 + resolution: "@unrs/resolver-binding-freebsd-x64@npm:1.12.2" + conditions: os=freebsd & cpu=x64 + languageName: node + linkType: hard + +"@unrs/resolver-binding-linux-arm-gnueabihf@npm:1.12.2": + version: 1.12.2 + resolution: "@unrs/resolver-binding-linux-arm-gnueabihf@npm:1.12.2" + conditions: os=linux & cpu=arm + languageName: node + linkType: hard + +"@unrs/resolver-binding-linux-arm-musleabihf@npm:1.12.2": + version: 1.12.2 + resolution: "@unrs/resolver-binding-linux-arm-musleabihf@npm:1.12.2" + conditions: os=linux & cpu=arm + languageName: node + linkType: hard + +"@unrs/resolver-binding-linux-arm64-gnu@npm:1.12.2": + version: 1.12.2 + resolution: "@unrs/resolver-binding-linux-arm64-gnu@npm:1.12.2" + conditions: os=linux & cpu=arm64 & libc=glibc + languageName: node + linkType: hard + +"@unrs/resolver-binding-linux-arm64-musl@npm:1.12.2": + version: 1.12.2 + resolution: "@unrs/resolver-binding-linux-arm64-musl@npm:1.12.2" + conditions: os=linux & cpu=arm64 & libc=musl + languageName: node + linkType: hard + +"@unrs/resolver-binding-linux-loong64-gnu@npm:1.12.2": + version: 1.12.2 + resolution: "@unrs/resolver-binding-linux-loong64-gnu@npm:1.12.2" + conditions: os=linux & cpu=loong64 & libc=glibc + languageName: node + linkType: hard + +"@unrs/resolver-binding-linux-loong64-musl@npm:1.12.2": + version: 1.12.2 + resolution: "@unrs/resolver-binding-linux-loong64-musl@npm:1.12.2" + conditions: os=linux & cpu=loong64 & libc=musl + languageName: node + linkType: hard + +"@unrs/resolver-binding-linux-ppc64-gnu@npm:1.12.2": + version: 1.12.2 + resolution: "@unrs/resolver-binding-linux-ppc64-gnu@npm:1.12.2" + conditions: os=linux & cpu=ppc64 & libc=glibc + languageName: node + linkType: hard + +"@unrs/resolver-binding-linux-riscv64-gnu@npm:1.12.2": + version: 1.12.2 + resolution: "@unrs/resolver-binding-linux-riscv64-gnu@npm:1.12.2" + conditions: os=linux & cpu=riscv64 & libc=glibc + languageName: node + linkType: hard + +"@unrs/resolver-binding-linux-riscv64-musl@npm:1.12.2": + version: 1.12.2 + resolution: "@unrs/resolver-binding-linux-riscv64-musl@npm:1.12.2" + conditions: os=linux & cpu=riscv64 & libc=musl + languageName: node + linkType: hard + +"@unrs/resolver-binding-linux-s390x-gnu@npm:1.12.2": + version: 1.12.2 + resolution: "@unrs/resolver-binding-linux-s390x-gnu@npm:1.12.2" + conditions: os=linux & cpu=s390x & libc=glibc + languageName: node + linkType: hard + +"@unrs/resolver-binding-linux-x64-gnu@npm:1.12.2": + version: 1.12.2 + resolution: "@unrs/resolver-binding-linux-x64-gnu@npm:1.12.2" + conditions: os=linux & cpu=x64 & libc=glibc + languageName: node + linkType: hard + +"@unrs/resolver-binding-linux-x64-musl@npm:1.12.2": + version: 1.12.2 + resolution: "@unrs/resolver-binding-linux-x64-musl@npm:1.12.2" + conditions: os=linux & cpu=x64 & libc=musl + languageName: node + linkType: hard + +"@unrs/resolver-binding-openharmony-arm64@npm:1.12.2": + version: 1.12.2 + resolution: "@unrs/resolver-binding-openharmony-arm64@npm:1.12.2" + conditions: os=openharmony & cpu=arm64 + languageName: node + linkType: hard + +"@unrs/resolver-binding-wasm32-wasi@npm:1.12.2": + version: 1.12.2 + resolution: "@unrs/resolver-binding-wasm32-wasi@npm:1.12.2" + dependencies: + "@emnapi/core": "npm:1.10.0" + "@emnapi/runtime": "npm:1.10.0" + "@napi-rs/wasm-runtime": "npm:^1.1.4" + conditions: cpu=wasm32 + languageName: node + linkType: hard + +"@unrs/resolver-binding-win32-arm64-msvc@npm:1.12.2": + version: 1.12.2 + resolution: "@unrs/resolver-binding-win32-arm64-msvc@npm:1.12.2" + conditions: os=win32 & cpu=arm64 + languageName: node + linkType: hard + +"@unrs/resolver-binding-win32-ia32-msvc@npm:1.12.2": + version: 1.12.2 + resolution: "@unrs/resolver-binding-win32-ia32-msvc@npm:1.12.2" + conditions: os=win32 & cpu=ia32 + languageName: node + linkType: hard + +"@unrs/resolver-binding-win32-x64-msvc@npm:1.12.2": + version: 1.12.2 + resolution: "@unrs/resolver-binding-win32-x64-msvc@npm:1.12.2" + conditions: os=win32 & cpu=x64 + languageName: node + linkType: hard + +"@vitest/coverage-v8@npm:^4.1.7": + version: 4.1.7 + resolution: "@vitest/coverage-v8@npm:4.1.7" + dependencies: + "@bcoe/v8-coverage": "npm:^1.0.2" + "@vitest/utils": "npm:4.1.7" + ast-v8-to-istanbul: "npm:^1.0.0" + istanbul-lib-coverage: "npm:^3.2.2" + istanbul-lib-report: "npm:^3.0.1" + istanbul-reports: "npm:^3.2.0" + magicast: "npm:^0.5.2" + obug: "npm:^2.1.1" + std-env: "npm:^4.0.0-rc.1" + tinyrainbow: "npm:^3.1.0" + peerDependencies: + "@vitest/browser": 4.1.7 + vitest: 4.1.7 + peerDependenciesMeta: + "@vitest/browser": + optional: true + checksum: 10c0/288fa77cfec00d84528154be90727ee0a868b91a32847b57e078fa4f3061711a53036a68d78bb4ea15e5c65b4644af6d2b7ad28b68b9301e9145426cdc27c0cd + languageName: node + linkType: hard + +"@vitest/expect@npm:4.1.7": + version: 4.1.7 + resolution: "@vitest/expect@npm:4.1.7" + dependencies: + "@standard-schema/spec": "npm:^1.1.0" + "@types/chai": "npm:^5.2.2" + "@vitest/spy": "npm:4.1.7" + "@vitest/utils": "npm:4.1.7" + chai: "npm:^6.2.2" + tinyrainbow: "npm:^3.1.0" + checksum: 10c0/1a72387c6d3cac1e12cd4df382e666d96560b38001ea0133f1e0a22825f71ccf1640ccce13244296b0054c15cf04442f3adbd67dfc57fe542bd35a46cd805487 + languageName: node + linkType: hard + +"@vitest/mocker@npm:4.1.7": + version: 4.1.7 + resolution: "@vitest/mocker@npm:4.1.7" + dependencies: + "@vitest/spy": "npm:4.1.7" + estree-walker: "npm:^3.0.3" + magic-string: "npm:^0.30.21" + peerDependencies: + msw: ^2.4.9 + vite: ^6.0.0 || ^7.0.0 || ^8.0.0 + peerDependenciesMeta: + msw: + optional: true + vite: + optional: true + checksum: 10c0/e03dbbba435543e3cfa5e034ba8ade371de5e398255f75366ebc370ff8dd78d45f7d7cc9daa76eb1d399b31e659e47d3cbb710566e64ceeeba3f99b418e4b955 + languageName: node + linkType: hard + +"@vitest/pretty-format@npm:4.1.7": + version: 4.1.7 + resolution: "@vitest/pretty-format@npm:4.1.7" + dependencies: + tinyrainbow: "npm:^3.1.0" + checksum: 10c0/49ef801171708e3a92214e8720efbedbd6e0e6baf17971aaf4feb7422e5c9eba82262c24a9e6dd4d41a31fae77bd31d5b37cf140d13e0ac4ce29a7457bdc692f + languageName: node + linkType: hard + +"@vitest/runner@npm:4.1.7": + version: 4.1.7 + resolution: "@vitest/runner@npm:4.1.7" + dependencies: + "@vitest/utils": "npm:4.1.7" + pathe: "npm:^2.0.3" + checksum: 10c0/63474c6fc088d75b5d7fe735195504f923c694b83a22eb9caa53d6486c923974304c2e3ef4d5bcd808d88082174f38434be320fc4fe649a8cf33f0459a0576e3 + languageName: node + linkType: hard + +"@vitest/snapshot@npm:4.1.7": + version: 4.1.7 + resolution: "@vitest/snapshot@npm:4.1.7" + dependencies: + "@vitest/pretty-format": "npm:4.1.7" + "@vitest/utils": "npm:4.1.7" + magic-string: "npm:^0.30.21" + pathe: "npm:^2.0.3" + checksum: 10c0/6fa49c4242a4acc0557ee6a20552db41f4f4c9d2d4c05993181c3f5f19e66579e08f63d34f792b79400547ab791ef500a9955b77390c381e45c3bb8e33717793 + languageName: node + linkType: hard + +"@vitest/spy@npm:4.1.7": + version: 4.1.7 + resolution: "@vitest/spy@npm:4.1.7" + checksum: 10c0/be2a95d5c5c438b57c9b33cef1289fb02659214754b5e946cb4b8183e2b5089e49e3fda6ca05981f3ea9872b207595db109e25072668c0a671203f69fddbbe99 + languageName: node + linkType: hard + +"@vitest/utils@npm:4.1.7": + version: 4.1.7 + resolution: "@vitest/utils@npm:4.1.7" + dependencies: + "@vitest/pretty-format": "npm:4.1.7" + convert-source-map: "npm:^2.0.0" + tinyrainbow: "npm:^3.1.0" + checksum: 10c0/aa0079d8923506300527dc23ff68cf090ffcb2c6a9549e598ae22ba0eb8a6bb4448b10724b38bc6b077f9957333302a857d791ad2f7abd807bb6263c9a218833 + languageName: node + linkType: hard + +"abbrev@npm:^4.0.0": + version: 4.0.0 + resolution: "abbrev@npm:4.0.0" + checksum: 10c0/b4cc16935235e80702fc90192e349e32f8ef0ed151ef506aa78c81a7c455ec18375c4125414b99f84b2e055199d66383e787675f0bcd87da7a4dbd59f9eac1d5 + languageName: node + linkType: hard + +"acorn-jsx@npm:^5.3.2": + version: 5.3.2 + resolution: "acorn-jsx@npm:5.3.2" + peerDependencies: + acorn: ^6.0.0 || ^7.0.0 || ^8.0.0 + checksum: 10c0/4c54868fbef3b8d58927d5e33f0a4de35f59012fe7b12cf9dfbb345fb8f46607709e1c4431be869a23fb63c151033d84c4198fa9f79385cec34fcb1dd53974c1 + languageName: node + linkType: hard + +"acorn@npm:^8.16.0, acorn@npm:^8.5.0": + version: 8.16.0 + resolution: "acorn@npm:8.16.0" + bin: + acorn: bin/acorn + checksum: 10c0/c9c52697227661b68d0debaf972222d4f622aa06b185824164e153438afa7b08273432ca43ea792cadb24dada1d46f6f6bb1ef8de9956979288cc1b96bf9914e + languageName: node + linkType: hard + +"agent-base@npm:6": + version: 6.0.2 + resolution: "agent-base@npm:6.0.2" + dependencies: + debug: "npm:4" + checksum: 10c0/dc4f757e40b5f3e3d674bc9beb4f1048f4ee83af189bae39be99f57bf1f48dde166a8b0a5342a84b5944ee8e6ed1e5a9d801858f4ad44764e84957122fe46261 + languageName: node + linkType: hard + +"agent-base@npm:^7.1.2": + version: 7.1.4 + resolution: "agent-base@npm:7.1.4" + checksum: 10c0/c2c9ab7599692d594b6a161559ada307b7a624fa4c7b03e3afdb5a5e31cd0e53269115b620fcab024c5ac6a6f37fa5eb2e004f076ad30f5f7e6b8b671f7b35fe + languageName: node + linkType: hard + +"ajv@npm:^6.14.0": + version: 6.15.0 + resolution: "ajv@npm:6.15.0" + dependencies: + fast-deep-equal: "npm:^3.1.1" + fast-json-stable-stringify: "npm:^2.0.0" + json-schema-traverse: "npm:^0.4.1" + uri-js: "npm:^4.2.2" + checksum: 10c0/67966499dd272ecde1c2e467084411132891523d057487587879d39ac04207f4351b7b2324c83198013967fbfa632c1612adc960114a30770fbe07a0773b32c2 + languageName: node + linkType: hard + +"ansi-regex@npm:^6.2.2": + version: 6.2.2 + resolution: "ansi-regex@npm:6.2.2" + checksum: 10c0/05d4acb1d2f59ab2cf4b794339c7b168890d44dda4bf0ce01152a8da0213aca207802f930442ce8cd22d7a92f44907664aac6508904e75e038fa944d2601b30f + languageName: node + linkType: hard + +"array-timsort@npm:^1.0.3": + version: 1.0.3 + resolution: "array-timsort@npm:1.0.3" + checksum: 10c0/bd3a1707b621947265c89867e67c9102b9b9f4c50f5b3974220112290d8b60d26ce60595edec5deed3325207b759d70b758bed3cd310b5ddadb835657ffb6d12 + languageName: node + linkType: hard + +"assertion-error@npm:^2.0.1": + version: 2.0.1 + resolution: "assertion-error@npm:2.0.1" + checksum: 10c0/bbbcb117ac6480138f8c93cf7f535614282dea9dc828f540cdece85e3c665e8f78958b96afac52f29ff883c72638e6a87d469ecc9fe5bc902df03ed24a55dba8 + languageName: node + linkType: hard + +"ast-v8-to-istanbul@npm:^1.0.0": + version: 1.0.0 + resolution: "ast-v8-to-istanbul@npm:1.0.0" + dependencies: + "@jridgewell/trace-mapping": "npm:^0.3.31" + estree-walker: "npm:^3.0.3" + js-tokens: "npm:^10.0.0" + checksum: 10c0/35e57b754ba63287358094d4f7ae8de2de27286fb4e76a1fbf28b2e67e3b670b59c3f511882473d0fd2cdbaa260062e3cd4f216b724c70032e2b09e5cebbd618 + languageName: node + linkType: hard + +"async-function@npm:^1.0.0": + version: 1.0.0 + resolution: "async-function@npm:1.0.0" + checksum: 10c0/669a32c2cb7e45091330c680e92eaeb791bc1d4132d827591e499cd1f776ff5a873e77e5f92d0ce795a8d60f10761dec9ddfe7225a5de680f5d357f67b1aac73 + languageName: node + linkType: hard + +"async-generator-function@npm:^1.0.0": + version: 1.0.0 + resolution: "async-generator-function@npm:1.0.0" + checksum: 10c0/2c50ef856c543ad500d8d8777d347e3c1ba623b93e99c9263ecc5f965c1b12d2a140e2ab6e43c3d0b85366110696f28114649411cbcd10b452a92a2318394186 + languageName: node + linkType: hard + +"asynckit@npm:^0.4.0": + version: 0.4.0 + resolution: "asynckit@npm:0.4.0" + checksum: 10c0/d73e2ddf20c4eb9337e1b3df1a0f6159481050a5de457c55b14ea2e5cb6d90bb69e004c9af54737a5ee0917fcf2c9e25de67777bbe58261847846066ba75bc9d + languageName: node + linkType: hard + +"axios-mock-adapter@npm:^2.1.0": + version: 2.1.0 + resolution: "axios-mock-adapter@npm:2.1.0" + dependencies: + fast-deep-equal: "npm:^3.1.3" + is-buffer: "npm:^2.0.5" + peerDependencies: + axios: ">= 0.17.0" + checksum: 10c0/37ebd88940245f4e027578734613417f024d06e2279edb1a188ccdf685a15ab4fdfbac7cfe681731722a1ba6c0a5ec15ef0145f79a53687181e4aacbe45e1730 + languageName: node + linkType: hard + +"axios@npm:^1.16.1": + version: 1.16.1 + resolution: "axios@npm:1.16.1" + dependencies: + follow-redirects: "npm:^1.16.0" + form-data: "npm:^4.0.5" + https-proxy-agent: "npm:^5.0.1" + proxy-from-env: "npm:^2.1.0" + checksum: 10c0/2f77e37e6552bbff8a772d058fb09500198e9188c6b20dc799d82dbe12a8cb506f6eed4e4e62a9ba612a35cbab496faa26d68f9bff14a53af6d15c3e136391a7 + languageName: node + linkType: hard + +"balanced-match@npm:^4.0.2": + version: 4.0.4 + resolution: "balanced-match@npm:4.0.4" + checksum: 10c0/07e86102a3eb2ee2a6a1a89164f29d0dbaebd28f2ca3f5ca786f36b8b23d9e417eb3be45a4acf754f837be5ac0a2317de90d3fcb7f4f4dc95720a1f36b26a17b + languageName: node + linkType: hard + +"base64-js@npm:^1.3.0": + version: 1.5.1 + resolution: "base64-js@npm:1.5.1" + checksum: 10c0/f23823513b63173a001030fae4f2dabe283b99a9d324ade3ad3d148e218134676f1ee8568c877cd79ec1c53158dcf2d2ba527a97c606618928ba99dd930102bf + languageName: node + linkType: hard + +"bignumber.js@npm:^9.0.0": + version: 9.3.1 + resolution: "bignumber.js@npm:9.3.1" + checksum: 10c0/61342ba5fe1c10887f0ecf5be02ff6709271481aff48631f86b4d37d55a99b87ce441cfd54df3d16d10ee07ceab7e272fc0be430c657ffafbbbf7b7d631efb75 + languageName: node + linkType: hard + +"blaise-api-node-client@workspace:.": + version: 0.0.0-use.local + resolution: "blaise-api-node-client@workspace:." + dependencies: + "@eslint/js": "npm:^10.0.1" + "@types/node": "npm:^25.9.1" + "@vitest/coverage-v8": "npm:^4.1.7" + axios: "npm:^1.16.1" + axios-mock-adapter: "npm:^2.1.0" + blaise-iap-node-provider: "git+https://github.com/ONSdigital/blaise-iap-node-provider.git#BLAIS5-5177" + cspell: "npm:^10.0.0" + eslint: "npm:^10.4.0" + eslint-config-prettier: "npm:^10.1.8" + eslint-import-resolver-typescript: "npm:^4.4.4" + eslint-plugin-import-x: "npm:^4.16.2" + eslint-plugin-jsonc: "npm:^3.1.2" + globals: "npm:^17.6.0" + jiti: "npm:^2.7.0" + jsonc-eslint-parser: "npm:^3.1.0" + knip: "npm:^6.14.1" + prettier: "npm:^3.8.3" + publint: "npm:^0.3.21" + typescript: "npm:^6.0.3" + typescript-eslint: "npm:^8.59.4" + vitest: "npm:^4.1.7" + languageName: unknown + linkType: soft + +"blaise-iap-node-provider@git+https://github.com/ONSdigital/blaise-iap-node-provider.git#BLAIS5-5177": + version: 1.0.0 + resolution: "blaise-iap-node-provider@https://github.com/ONSdigital/blaise-iap-node-provider.git#commit=0f41dd2986ee543c79b46b500426d1f60a54cbbe" + dependencies: + google-auth-library: "npm:^10.6.2" + checksum: 10c0/704f488d394a7f6a92f5455a8b47c3a70da201db6ac066c183ffa2707cc2469cd15096f685405ab91f8e2d9ad641370fd47cdd91fdf734847c9e054939a7d232 + languageName: node + linkType: hard + +"brace-expansion@npm:^5.0.5": + version: 5.0.6 + resolution: "brace-expansion@npm:5.0.6" + dependencies: + balanced-match: "npm:^4.0.2" + checksum: 10c0/8c919869b90f61d533b341d3340be5ee4413232ea89b8246cbc2f38eb014f1d8182785c98a006eaf6111d02dc9eeffefdc240d5ac158625b2ed084dccd4bbf9b + languageName: node + linkType: hard + +"buffer-equal-constant-time@npm:^1.0.1": + version: 1.0.1 + resolution: "buffer-equal-constant-time@npm:1.0.1" + checksum: 10c0/fb2294e64d23c573d0dd1f1e7a466c3e978fe94a4e0f8183937912ca374619773bef8e2aceb854129d2efecbbc515bbd0cc78d2734a3e3031edb0888531bbc8e + languageName: node + linkType: hard + +"call-bind-apply-helpers@npm:^1.0.1, call-bind-apply-helpers@npm:^1.0.2": + version: 1.0.2 + resolution: "call-bind-apply-helpers@npm:1.0.2" + dependencies: + es-errors: "npm:^1.3.0" + function-bind: "npm:^1.1.2" + checksum: 10c0/47bd9901d57b857590431243fea704ff18078b16890a6b3e021e12d279bbf211d039155e27d7566b374d49ee1f8189344bac9833dec7a20cdec370506361c938 + languageName: node + linkType: hard + +"chai@npm:^6.2.2": + version: 6.2.2 + resolution: "chai@npm:6.2.2" + checksum: 10c0/e6c69e5f0c11dffe6ea13d0290936ebb68fcc1ad688b8e952e131df6a6d5797d5e860bc55cef1aca2e950c3e1f96daf79e9d5a70fb7dbaab4e46355e2635ed53 + languageName: node + linkType: hard + +"chalk-template@npm:^1.1.2": + version: 1.1.2 + resolution: "chalk-template@npm:1.1.2" + dependencies: + chalk: "npm:^5.2.0" + checksum: 10c0/6d29b185c613cb117ae87c67cef80f531ae860ffb798f94dbf46597c3abaf69eb55bea5e57a99713086933c461ccff918bb70c6af491b83b109654da8b2c006f + languageName: node + linkType: hard + +"chalk@npm:^5.2.0, chalk@npm:^5.6.2": + version: 5.6.2 + resolution: "chalk@npm:5.6.2" + checksum: 10c0/99a4b0f0e7991796b1e7e3f52dceb9137cae2a9dfc8fc0784a550dc4c558e15ab32ed70b14b21b52beb2679b4892b41a0aa44249bcb996f01e125d58477c6976 + languageName: node + linkType: hard + +"chownr@npm:^3.0.0": + version: 3.0.0 + resolution: "chownr@npm:3.0.0" + checksum: 10c0/43925b87700f7e3893296c8e9c56cc58f926411cce3a6e5898136daaf08f08b9a8eb76d37d3267e707d0dcc17aed2e2ebdf5848c0c3ce95cf910a919935c1b10 + languageName: node + linkType: hard + +"combined-stream@npm:^1.0.8": + version: 1.0.8 + resolution: "combined-stream@npm:1.0.8" + dependencies: + delayed-stream: "npm:~1.0.0" + checksum: 10c0/0dbb829577e1b1e839fa82b40c07ffaf7de8a09b935cadd355a73652ae70a88b4320db322f6634a4ad93424292fa80973ac6480986247f1734a1137debf271d5 + languageName: node + linkType: hard + +"commander@npm:^14.0.3": + version: 14.0.3 + resolution: "commander@npm:14.0.3" + checksum: 10c0/755652564bbf56ff2ff083313912b326450d3f8d8c85f4b71416539c9a05c3c67dbd206821ca72635bf6b160e2afdefcb458e86b317827d5cb333b69ce7f1a24 + languageName: node + linkType: hard + +"comment-json@npm:^4.6.2": + version: 4.6.2 + resolution: "comment-json@npm:4.6.2" + dependencies: + array-timsort: "npm:^1.0.3" + esprima: "npm:^4.0.1" + checksum: 10c0/8965ec6c40612aa0cc66d4324ff5819cf205c997f3a84dd82dffe4e6398449e37bbc5765184bc9149e95d15994f0c2740cee82284828fa1c0f733a669022d3dd + languageName: node + linkType: hard + +"comment-parser@npm:^1.4.1": + version: 1.4.6 + resolution: "comment-parser@npm:1.4.6" + checksum: 10c0/10837626fc1cb84531564a5ec145f5818b3830393c09744ebfea4105319824e277bdb60ffcf38f44e165e002909fda835b21e20d032a8f8d068834aaef8af0ca + languageName: node + linkType: hard + +"convert-source-map@npm:^2.0.0": + version: 2.0.0 + resolution: "convert-source-map@npm:2.0.0" + checksum: 10c0/8f2f7a27a1a011cc6cc88cc4da2d7d0cfa5ee0369508baae3d98c260bb3ac520691464e5bbe4ae7cdf09860c1d69ecc6f70c63c6e7c7f7e3f18ec08484dc7d9b + languageName: node + linkType: hard + +"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: 10c0/053ea8b2135caff68a9e81470e845613e374e7309a47731e81639de3eaeb90c3d01af0e0b44d2ab9d50b43467223b88567dfeb3262db942dc063b9976718ffc1 + languageName: node + linkType: hard + +"cspell-config-lib@npm:10.0.0": + version: 10.0.0 + resolution: "cspell-config-lib@npm:10.0.0" + dependencies: + "@cspell/cspell-types": "npm:10.0.0" + comment-json: "npm:^4.6.2" + smol-toml: "npm:^1.6.1" + yaml: "npm:^2.8.3" + checksum: 10c0/85737bbcd860db79772af3895d4d8f368c6d312dfcfbe7f03fc6e788ed48567639ef9c49f99f30382d6e849a9631dcad0db4e136054993d29f5e5f990125423d + languageName: node + linkType: hard + +"cspell-dictionary@npm:10.0.0": + version: 10.0.0 + resolution: "cspell-dictionary@npm:10.0.0" + dependencies: + "@cspell/cspell-performance-monitor": "npm:10.0.0" + "@cspell/cspell-pipe": "npm:10.0.0" + "@cspell/cspell-types": "npm:10.0.0" + cspell-trie-lib: "npm:10.0.0" + fast-equals: "npm:^6.0.0" + checksum: 10c0/1b74b1fa3a10906ad89ee3089b854f5d9ac979bee2875c771abb071cc13fc84d3c491711e261e4bcf39a78c5c73f8bdde48fc0ed4cb5e0c29d416bf079bd261c + languageName: node + linkType: hard + +"cspell-gitignore@npm:10.0.0": + version: 10.0.0 + resolution: "cspell-gitignore@npm:10.0.0" + dependencies: + "@cspell/url": "npm:10.0.0" + cspell-glob: "npm:10.0.0" + cspell-io: "npm:10.0.0" + bin: + cspell-gitignore: bin.mjs + checksum: 10c0/ac2558253a75702ab7bcac981be058a644ea3b407bf4e63ce3957016a6df38108ffb3afd3b7fe964b4a21f3c488ef25ca2f9fc6df56323350edecac19472ddc8 + languageName: node + linkType: hard + +"cspell-glob@npm:10.0.0": + version: 10.0.0 + resolution: "cspell-glob@npm:10.0.0" + dependencies: + "@cspell/url": "npm:10.0.0" + picomatch: "npm:^4.0.4" + checksum: 10c0/029a5dc601126e6ad19b41525a2c6aac21c8f052b0459b553610272b4b5bfa6b3c322f48f0ab88bdbbb3a4c68c2c29843f1db0415ccfcf62c974a6e3fa5b5ed7 + languageName: node + linkType: hard + +"cspell-grammar@npm:10.0.0": + version: 10.0.0 + resolution: "cspell-grammar@npm:10.0.0" + dependencies: + "@cspell/cspell-pipe": "npm:10.0.0" + "@cspell/cspell-types": "npm:10.0.0" + bin: + cspell-grammar: bin.mjs + checksum: 10c0/c85d1026fbe6dad5d0fdf16eca6a4a5c8f1854290f3e5f2bc5ccd36eafcc2b19f1928d29769784bc63dfa5c861a0a35e80aa6cc74a0a52d94becbf248505ad71 + languageName: node + linkType: hard + +"cspell-io@npm:10.0.0": + version: 10.0.0 + resolution: "cspell-io@npm:10.0.0" + dependencies: + "@cspell/cspell-service-bus": "npm:10.0.0" + "@cspell/url": "npm:10.0.0" + checksum: 10c0/c2ad84c3694542e5c99fe94ae8977603817852d4f91f215755e45adaaa4a305e24f13c075318b415cb57ebe55667c551b5ecffd97c93302db07c8d342175ffe2 + languageName: node + linkType: hard + +"cspell-lib@npm:10.0.0": + version: 10.0.0 + resolution: "cspell-lib@npm:10.0.0" + dependencies: + "@cspell/cspell-bundled-dicts": "npm:10.0.0" + "@cspell/cspell-performance-monitor": "npm:10.0.0" + "@cspell/cspell-pipe": "npm:10.0.0" + "@cspell/cspell-resolver": "npm:10.0.0" + "@cspell/cspell-types": "npm:10.0.0" + "@cspell/dynamic-import": "npm:10.0.0" + "@cspell/filetypes": "npm:10.0.0" + "@cspell/rpc": "npm:10.0.0" + "@cspell/strong-weak-map": "npm:10.0.0" + "@cspell/url": "npm:10.0.0" + cspell-config-lib: "npm:10.0.0" + cspell-dictionary: "npm:10.0.0" + cspell-glob: "npm:10.0.0" + cspell-grammar: "npm:10.0.0" + cspell-io: "npm:10.0.0" + cspell-trie-lib: "npm:10.0.0" + env-paths: "npm:^4.0.0" + gensequence: "npm:^8.0.8" + import-fresh: "npm:^4.0.0" + resolve-from: "npm:^5.0.0" + vscode-languageserver-textdocument: "npm:^1.0.12" + vscode-uri: "npm:^3.1.0" + xdg-basedir: "npm:^5.1.0" + checksum: 10c0/9d267bdc454f5f78e0b8580b4b2974b00c997014cfe570020a1ba12f8a416bd2337b6efc743cea2e06481ab33a5d91c6f01d8cf1a95553521b571d6eebed995f + languageName: node + linkType: hard + +"cspell-trie-lib@npm:10.0.0": + version: 10.0.0 + resolution: "cspell-trie-lib@npm:10.0.0" + peerDependencies: + "@cspell/cspell-types": 10.0.0 + checksum: 10c0/9f163593c17e812a3b1e63b21b7632275ecba27321a1eaee433c97ef31b2019f4e00c80d5f8a54be9dbb43fb703eb1fbac0adcce30f9426a419fcee47f3b0d1f + languageName: node + linkType: hard + +"cspell@npm:^10.0.0": + version: 10.0.0 + resolution: "cspell@npm:10.0.0" + dependencies: + "@cspell/cspell-json-reporter": "npm:10.0.0" + "@cspell/cspell-performance-monitor": "npm:10.0.0" + "@cspell/cspell-pipe": "npm:10.0.0" + "@cspell/cspell-types": "npm:10.0.0" + "@cspell/cspell-worker": "npm:10.0.0" + "@cspell/dynamic-import": "npm:10.0.0" + "@cspell/url": "npm:10.0.0" + ansi-regex: "npm:^6.2.2" + chalk: "npm:^5.6.2" + chalk-template: "npm:^1.1.2" + commander: "npm:^14.0.3" + cspell-config-lib: "npm:10.0.0" + cspell-dictionary: "npm:10.0.0" + cspell-gitignore: "npm:10.0.0" + cspell-glob: "npm:10.0.0" + cspell-io: "npm:10.0.0" + cspell-lib: "npm:10.0.0" + fast-json-stable-stringify: "npm:^2.1.0" + flatted: "npm:^3.4.2" + semver: "npm:^7.7.4" + tinyglobby: "npm:^0.2.15" + bin: + cspell: bin.mjs + cspell-esm: bin.mjs + checksum: 10c0/de7eb540045595acd97306be7d83e1aca74faedc72c883c41eb7cfe319024330d0629086a9b8a46201ef823bc29f0f028e769fec658c16b99d53b9ed5e502840 + languageName: node + linkType: hard + +"data-uri-to-buffer@npm:^4.0.0": + version: 4.0.1 + resolution: "data-uri-to-buffer@npm:4.0.1" + checksum: 10c0/20a6b93107597530d71d4cb285acee17f66bcdfc03fd81040921a81252f19db27588d87fc8fc69e1950c55cfb0bf8ae40d0e5e21d907230813eb5d5a7f9eb45b + languageName: node + linkType: hard + +"debug@npm:4, debug@npm:^4.3.1, debug@npm:^4.3.2, debug@npm:^4.4.1, debug@npm:^4.4.3": + version: 4.4.3 + resolution: "debug@npm:4.4.3" + dependencies: + ms: "npm:^2.1.3" + peerDependenciesMeta: + supports-color: + optional: true + checksum: 10c0/d79136ec6c83ecbefd0f6a5593da6a9c91ec4d7ddc4b54c883d6e71ec9accb5f67a1a5e96d00a328196b5b5c86d365e98d8a3a70856aaf16b4e7b1985e67f5a6 + languageName: node + linkType: hard + +"deep-is@npm:^0.1.3": + version: 0.1.4 + resolution: "deep-is@npm:0.1.4" + checksum: 10c0/7f0ee496e0dff14a573dc6127f14c95061b448b87b995fc96c017ce0a1e66af1675e73f1d6064407975bc4ea6ab679497a29fff7b5b9c4e99cb10797c1ad0b4c + languageName: node + linkType: hard + +"delayed-stream@npm:~1.0.0": + version: 1.0.0 + resolution: "delayed-stream@npm:1.0.0" + checksum: 10c0/d758899da03392e6712f042bec80aa293bbe9e9ff1b2634baae6a360113e708b91326594c8a486d475c69d6259afb7efacdc3537bfcda1c6c648e390ce601b19 + languageName: node + linkType: hard + +"detect-libc@npm:^2.0.3": + version: 2.1.2 + resolution: "detect-libc@npm:2.1.2" + checksum: 10c0/acc675c29a5649fa1fb6e255f993b8ee829e510b6b56b0910666949c80c364738833417d0edb5f90e4e46be17228b0f2b66a010513984e18b15deeeac49369c4 + languageName: node + linkType: hard + +"diff-sequences@npm:^29.6.3": + version: 29.6.3 + resolution: "diff-sequences@npm:29.6.3" + checksum: 10c0/32e27ac7dbffdf2fb0eb5a84efd98a9ad084fbabd5ac9abb8757c6770d5320d2acd172830b28c4add29bb873d59420601dfc805ac4064330ce59b1adfd0593b2 + languageName: node + linkType: hard + +"dunder-proto@npm:^1.0.1": + version: 1.0.1 + resolution: "dunder-proto@npm:1.0.1" + dependencies: + call-bind-apply-helpers: "npm:^1.0.1" + es-errors: "npm:^1.3.0" + gopd: "npm:^1.2.0" + checksum: 10c0/199f2a0c1c16593ca0a145dbf76a962f8033ce3129f01284d48c45ed4e14fea9bbacd7b3610b6cdc33486cef20385ac054948fefc6272fcce645c09468f93031 + languageName: node + linkType: hard + +"ecdsa-sig-formatter@npm:1.0.11, ecdsa-sig-formatter@npm:^1.0.11": + version: 1.0.11 + resolution: "ecdsa-sig-formatter@npm:1.0.11" + dependencies: + safe-buffer: "npm:^5.0.1" + checksum: 10c0/ebfbf19d4b8be938f4dd4a83b8788385da353d63307ede301a9252f9f7f88672e76f2191618fd8edfc2f24679236064176fab0b78131b161ee73daa37125408c + languageName: node + linkType: hard + +"env-paths@npm:^2.2.0": + version: 2.2.1 + resolution: "env-paths@npm:2.2.1" + checksum: 10c0/285325677bf00e30845e330eec32894f5105529db97496ee3f598478e50f008c5352a41a30e5e72ec9de8a542b5a570b85699cd63bd2bc646dbcb9f311d83bc4 + languageName: node + linkType: hard + +"env-paths@npm:^4.0.0": + version: 4.0.0 + resolution: "env-paths@npm:4.0.0" + dependencies: + is-safe-filename: "npm:^0.1.0" + checksum: 10c0/13ee7fa4047786ca28f1fbf2239606f8a53304bdf71bfc426e95f806e429060181205316f2c45b4ac560e81c854ded5a45fd9dc3105414c01d504b3469a1294b + languageName: node + linkType: hard + +"es-define-property@npm:^1.0.1": + version: 1.0.1 + resolution: "es-define-property@npm:1.0.1" + checksum: 10c0/3f54eb49c16c18707949ff25a1456728c883e81259f045003499efba399c08bad00deebf65cccde8c0e07908c1a225c9d472b7107e558f2a48e28d530e34527c + languageName: node + linkType: hard + +"es-errors@npm:^1.3.0": + version: 1.3.0 + resolution: "es-errors@npm:1.3.0" + checksum: 10c0/0a61325670072f98d8ae3b914edab3559b6caa980f08054a3b872052640d91da01d38df55df797fcc916389d77fc92b8d5906cf028f4db46d7e3003abecbca85 + languageName: node + linkType: hard + +"es-module-lexer@npm:^2.0.0": + version: 2.1.0 + resolution: "es-module-lexer@npm:2.1.0" + checksum: 10c0/93bcf2454fa72d67fe3ccd0abef8ce7933f5840a319513418a643dd8e9c6aa8f49709cecfae02ded722805dd327232d30723a807cc52e6809d6ac697c62c29fb + languageName: node + linkType: hard + +"es-object-atoms@npm:^1.0.0, es-object-atoms@npm:^1.1.1": + version: 1.1.1 + resolution: "es-object-atoms@npm:1.1.1" + dependencies: + es-errors: "npm:^1.3.0" + checksum: 10c0/65364812ca4daf48eb76e2a3b7a89b3f6a2e62a1c420766ce9f692665a29d94fe41fe88b65f24106f449859549711e4b40d9fb8002d862dfd7eb1c512d10be0c + languageName: node + linkType: hard + +"es-set-tostringtag@npm:^2.1.0": + version: 2.1.0 + resolution: "es-set-tostringtag@npm:2.1.0" + dependencies: + es-errors: "npm:^1.3.0" + get-intrinsic: "npm:^1.2.6" + has-tostringtag: "npm:^1.0.2" + hasown: "npm:^2.0.2" + checksum: 10c0/ef2ca9ce49afe3931cb32e35da4dcb6d86ab02592cfc2ce3e49ced199d9d0bb5085fc7e73e06312213765f5efa47cc1df553a6a5154584b21448e9fb8355b1af + languageName: node + linkType: hard + +"escape-string-regexp@npm:^4.0.0": + version: 4.0.0 + resolution: "escape-string-regexp@npm:4.0.0" + checksum: 10c0/9497d4dd307d845bd7f75180d8188bb17ea8c151c1edbf6b6717c100e104d629dc2dfb687686181b0f4b7d732c7dfdc4d5e7a8ff72de1b0ca283a75bbb3a9cd9 + languageName: node + linkType: hard + +"eslint-config-prettier@npm:^10.1.8": + version: 10.1.8 + resolution: "eslint-config-prettier@npm:10.1.8" + peerDependencies: + eslint: ">=7.0.0" + bin: + eslint-config-prettier: bin/cli.js + checksum: 10c0/e1bcfadc9eccd526c240056b1e59c5cd26544fe59feb85f38f4f1f116caed96aea0b3b87868e68b3099e55caaac3f2e5b9f58110f85db893e83a332751192682 + languageName: node + linkType: hard + +"eslint-import-context@npm:^0.1.8, eslint-import-context@npm:^0.1.9": + version: 0.1.9 + resolution: "eslint-import-context@npm:0.1.9" + dependencies: + get-tsconfig: "npm:^4.10.1" + stable-hash-x: "npm:^0.2.0" + peerDependencies: + unrs-resolver: ^1.0.0 + peerDependenciesMeta: + unrs-resolver: + optional: true + checksum: 10c0/07851103443b70af681c5988e2702e681ff9b956e055e11d4bd9b2322847fa0d9e8da50c18fc7cb1165106b043f34fbd0384d7011c239465c4645c52132e56f3 + languageName: node + linkType: hard + +"eslint-import-resolver-typescript@npm:^4.4.4": + version: 4.4.4 + resolution: "eslint-import-resolver-typescript@npm:4.4.4" + dependencies: + debug: "npm:^4.4.1" + eslint-import-context: "npm:^0.1.8" + get-tsconfig: "npm:^4.10.1" + is-bun-module: "npm:^2.0.0" + stable-hash-x: "npm:^0.2.0" + tinyglobby: "npm:^0.2.14" + unrs-resolver: "npm:^1.7.11" + peerDependencies: + eslint: "*" + eslint-plugin-import: "*" + eslint-plugin-import-x: "*" + peerDependenciesMeta: + eslint-plugin-import: + optional: true + eslint-plugin-import-x: + optional: true + checksum: 10c0/3bf8ad77c21660f77a0e455555ab179420f68ae7a132906c85a217ccce51cb6680cf70027cab32a358d193e5b9e476f6ba2e595585242aa97d4f6435ca22104e + languageName: node + linkType: hard + +"eslint-json-compat-utils@npm:^0.2.3": + version: 0.2.3 + resolution: "eslint-json-compat-utils@npm:0.2.3" + dependencies: + esquery: "npm:^1.6.0" + peerDependencies: + eslint: "*" + jsonc-eslint-parser: ^2.4.0 || ^3.0.0 + peerDependenciesMeta: + "@eslint/json": + optional: true + checksum: 10c0/3af895890d72228b157f24a94efaee6ae4fb7ec5e7d9e17b51ae477d0efd03a1938ae810b2ae65fdb8a6d81c68c1b49dc207ee2398883a29ffeb1105ecc169ef + languageName: node + linkType: hard + +"eslint-plugin-import-x@npm:^4.16.2": + version: 4.16.2 + resolution: "eslint-plugin-import-x@npm:4.16.2" + dependencies: + "@package-json/types": "npm:^0.0.12" + "@typescript-eslint/types": "npm:^8.56.0" + comment-parser: "npm:^1.4.1" + debug: "npm:^4.4.1" + eslint-import-context: "npm:^0.1.9" + is-glob: "npm:^4.0.3" + minimatch: "npm:^9.0.3 || ^10.1.2" + semver: "npm:^7.7.2" + stable-hash-x: "npm:^0.2.0" + unrs-resolver: "npm:^1.9.2" + peerDependencies: + "@typescript-eslint/utils": ^8.56.0 + eslint: ^8.57.0 || ^9.0.0 || ^10.0.0 + eslint-import-resolver-node: "*" + peerDependenciesMeta: + "@typescript-eslint/utils": + optional: true + eslint-import-resolver-node: + optional: true + checksum: 10c0/b51b814323a6005c5230fccdffef9a8adc3691ad7a475de6ba635f5ef776fc1f5d1a1c7e65e2c98c6033155cc7e8f8b9f2f507fe31fc038972d535355673e83e + languageName: node + linkType: hard + +"eslint-plugin-jsonc@npm:^3.1.2": + version: 3.1.2 + resolution: "eslint-plugin-jsonc@npm:3.1.2" + dependencies: + "@eslint-community/eslint-utils": "npm:^4.5.1" + "@eslint/core": "npm:^1.0.1" + "@eslint/plugin-kit": "npm:^0.6.0" + "@ota-meshi/ast-token-store": "npm:^0.3.0" + diff-sequences: "npm:^29.6.3" + eslint-json-compat-utils: "npm:^0.2.3" + jsonc-eslint-parser: "npm:^3.1.0" + natural-compare: "npm:^1.4.0" + synckit: "npm:^0.11.12" + peerDependencies: + eslint: ">=9.38.0" + checksum: 10c0/1812555eb1cfb28a67ea29ea444ac25aeb922a7c5fb3b5c85ccb1021d90284270a5ba360d78b9fec821c7d20e50ff2551806a0f8aef1d13307a0f1a271f91ffe + languageName: node + linkType: hard + +"eslint-scope@npm:^9.1.2": + version: 9.1.2 + resolution: "eslint-scope@npm:9.1.2" + dependencies: + "@types/esrecurse": "npm:^4.3.1" + "@types/estree": "npm:^1.0.8" + esrecurse: "npm:^4.3.0" + estraverse: "npm:^5.2.0" + checksum: 10c0/9fb8bca5a73e5741efb6cec84467027b6cb6f4203ff9b43a938e272c5cd30800bde46a5c20dfd1609f840225f0b62b7673be391b20acadf8658ca9fa4729b3dd + languageName: node + linkType: hard + +"eslint-visitor-keys@npm:^3.4.3": + version: 3.4.3 + resolution: "eslint-visitor-keys@npm:3.4.3" + checksum: 10c0/92708e882c0a5ffd88c23c0b404ac1628cf20104a108c745f240a13c332a11aac54f49a22d5762efbffc18ecbc9a580d1b7ad034bf5f3cc3307e5cbff2ec9820 + languageName: node + linkType: hard + +"eslint-visitor-keys@npm:^5.0.0, eslint-visitor-keys@npm:^5.0.1": + version: 5.0.1 + resolution: "eslint-visitor-keys@npm:5.0.1" + checksum: 10c0/16190bdf2cbae40a1109384c94450c526a79b0b9c3cb21e544256ed85ac48a4b84db66b74a6561d20fe6ab77447f150d711c2ad5ad74df4fcc133736bce99678 + languageName: node + linkType: hard + +"eslint@npm:^10.4.0": + version: 10.4.0 + resolution: "eslint@npm:10.4.0" + dependencies: + "@eslint-community/eslint-utils": "npm:^4.8.0" + "@eslint-community/regexpp": "npm:^4.12.2" + "@eslint/config-array": "npm:^0.23.5" + "@eslint/config-helpers": "npm:^0.6.0" + "@eslint/core": "npm:^1.2.1" + "@eslint/plugin-kit": "npm:^0.7.1" + "@humanfs/node": "npm:^0.16.6" + "@humanwhocodes/module-importer": "npm:^1.0.1" + "@humanwhocodes/retry": "npm:^0.4.2" + "@types/estree": "npm:^1.0.6" + ajv: "npm:^6.14.0" + cross-spawn: "npm:^7.0.6" + debug: "npm:^4.3.2" + escape-string-regexp: "npm:^4.0.0" + eslint-scope: "npm:^9.1.2" + eslint-visitor-keys: "npm:^5.0.1" + espree: "npm:^11.2.0" + esquery: "npm:^1.7.0" + esutils: "npm:^2.0.2" + fast-deep-equal: "npm:^3.1.3" + file-entry-cache: "npm:^8.0.0" + find-up: "npm:^5.0.0" + glob-parent: "npm:^6.0.2" + ignore: "npm:^5.2.0" + imurmurhash: "npm:^0.1.4" + is-glob: "npm:^4.0.0" + json-stable-stringify-without-jsonify: "npm:^1.0.1" + minimatch: "npm:^10.2.4" + natural-compare: "npm:^1.4.0" + optionator: "npm:^0.9.3" + peerDependencies: + jiti: "*" + peerDependenciesMeta: + jiti: + optional: true + bin: + eslint: bin/eslint.js + checksum: 10c0/6bf644dc08fa5a6b23157d23a4a4638d45823d03a67da1daac8dc1085b03934fa98013efd2eac2cd6ec90fe88d36b336bdf38d5f000325f22d823a15f2031426 + languageName: node + linkType: hard + +"espree@npm:^11.2.0": + version: 11.2.0 + resolution: "espree@npm:11.2.0" + dependencies: + acorn: "npm:^8.16.0" + acorn-jsx: "npm:^5.3.2" + eslint-visitor-keys: "npm:^5.0.1" + checksum: 10c0/cf87e18ffd9dc113eb8d16588e7757701bc10c9934a71cce8b89c2611d51672681a918307bd6b19ac3ccd0e7ba1cbccc2f815b36b52fa7e73097b251014c3d81 + languageName: node + linkType: hard + +"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: 10c0/ad4bab9ead0808cf56501750fd9d3fb276f6b105f987707d059005d57e182d18a7c9ec7f3a01794ebddcca676773e42ca48a32d67a250c9d35e009ca613caba3 + languageName: node + linkType: hard + +"esquery@npm:^1.6.0, esquery@npm:^1.7.0": + version: 1.7.0 + resolution: "esquery@npm:1.7.0" + dependencies: + estraverse: "npm:^5.1.0" + checksum: 10c0/77d5173db450b66f3bc685d11af4c90cffeedb340f34a39af96d43509a335ce39c894fd79233df32d38f5e4e219fa0f7076f6ec90bae8320170ba082c0db4793 + languageName: node + linkType: hard + +"esrecurse@npm:^4.3.0": + version: 4.3.0 + resolution: "esrecurse@npm:4.3.0" + dependencies: + estraverse: "npm:^5.2.0" + checksum: 10c0/81a37116d1408ded88ada45b9fb16dbd26fba3aadc369ce50fcaf82a0bac12772ebd7b24cd7b91fc66786bf2c1ac7b5f196bc990a473efff972f5cb338877cf5 + languageName: node + linkType: hard + +"estraverse@npm:^5.1.0, estraverse@npm:^5.2.0": + version: 5.3.0 + resolution: "estraverse@npm:5.3.0" + checksum: 10c0/1ff9447b96263dec95d6d67431c5e0771eb9776427421260a3e2f0fdd5d6bd4f8e37a7338f5ad2880c9f143450c9b1e4fc2069060724570a49cf9cf0312bd107 + languageName: node + linkType: hard + +"estree-walker@npm:^3.0.3": + version: 3.0.3 + resolution: "estree-walker@npm:3.0.3" + dependencies: + "@types/estree": "npm:^1.0.0" + checksum: 10c0/c12e3c2b2642d2bcae7d5aa495c60fa2f299160946535763969a1c83fc74518ffa9c2cd3a8b69ac56aea547df6a8aac25f729a342992ef0bbac5f1c73e78995d + languageName: node + linkType: hard + +"esutils@npm:^2.0.2": + version: 2.0.3 + resolution: "esutils@npm:2.0.3" + checksum: 10c0/9a2fe69a41bfdade834ba7c42de4723c97ec776e40656919c62cbd13607c45e127a003f05f724a1ea55e5029a4cf2de444b13009f2af71271e42d93a637137c7 + languageName: node + linkType: hard + +"expect-type@npm:^1.3.0": + version: 1.3.0 + resolution: "expect-type@npm:1.3.0" + checksum: 10c0/8412b3fe4f392c420ab41dae220b09700e4e47c639a29ba7ba2e83cc6cffd2b4926f7ac9e47d7e277e8f4f02acda76fd6931cb81fd2b382fa9477ef9ada953fd + languageName: node + linkType: hard + +"exponential-backoff@npm:^3.1.1": + version: 3.1.3 + resolution: "exponential-backoff@npm:3.1.3" + checksum: 10c0/77e3ae682b7b1f4972f563c6dbcd2b0d54ac679e62d5d32f3e5085feba20483cf28bd505543f520e287a56d4d55a28d7874299941faf637e779a1aa5994d1267 + languageName: node + linkType: hard + +"extend@npm:^3.0.2": + version: 3.0.2 + resolution: "extend@npm:3.0.2" + checksum: 10c0/73bf6e27406e80aa3e85b0d1c4fd987261e628064e170ca781125c0b635a3dabad5e05adbf07595ea0cf1e6c5396cacb214af933da7cbaf24fe75ff14818e8f9 + 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: 10c0/40dedc862eb8992c54579c66d914635afbec43350afbbe991235fdcb4e3a8d5af1b23ae7e79bef7d4882d0ecee06c3197488026998fb19f72dc95acff1d1b1d0 + languageName: node + linkType: hard + +"fast-equals@npm:^6.0.0": + version: 6.0.0 + resolution: "fast-equals@npm:6.0.0" + checksum: 10c0/aae54699ce848726679a947c8bbea78f2ea0384e4e1ee213c98f10881a17bb376bd11085eda4d6c89db5285635ee2f809b126d773532fcf602be355008a9d5ed + 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: 10c0/7f081eb0b8a64e0057b3bb03f974b3ef00135fbf36c1c710895cd9300f13c94ba809bb3a81cf4e1b03f6e5285610a61abbd7602d0652de423144dfee5a389c9b + languageName: node + linkType: hard + +"fast-levenshtein@npm:^2.0.6": + version: 2.0.6 + resolution: "fast-levenshtein@npm:2.0.6" + checksum: 10c0/111972b37338bcb88f7d9e2c5907862c280ebf4234433b95bc611e518d192ccb2d38119c4ac86e26b668d75f7f3894f4ff5c4982899afced7ca78633b08287c4 + languageName: node + linkType: hard + +"fd-package-json@npm:^2.0.0": + version: 2.0.0 + resolution: "fd-package-json@npm:2.0.0" + dependencies: + walk-up-path: "npm:^4.0.0" + checksum: 10c0/a0a48745257bc09c939486608dad9f2ced238f0c64266222cc881618ed4c8f6aa0ccfe45a1e6d4f9ce828509e8d617cec60e2a114851bebb1ff4886dc5ed5112 + languageName: node + linkType: hard + +"fdir@npm:^6.5.0": + version: 6.5.0 + resolution: "fdir@npm:6.5.0" + peerDependencies: + picomatch: ^3 || ^4 + peerDependenciesMeta: + picomatch: + optional: true + checksum: 10c0/e345083c4306b3aed6cb8ec551e26c36bab5c511e99ea4576a16750ddc8d3240e63826cc624f5ae17ad4dc82e68a253213b60d556c11bfad064b7607847ed07f + languageName: node + linkType: hard + +"fetch-blob@npm:^3.1.2, fetch-blob@npm:^3.1.4": + version: 3.2.0 + resolution: "fetch-blob@npm:3.2.0" + dependencies: + node-domexception: "npm:^1.0.0" + web-streams-polyfill: "npm:^3.0.3" + checksum: 10c0/60054bf47bfa10fb0ba6cb7742acec2f37c1f56344f79a70bb8b1c48d77675927c720ff3191fa546410a0442c998d27ab05e9144c32d530d8a52fbe68f843b69 + languageName: node + linkType: hard + +"file-entry-cache@npm:^8.0.0": + version: 8.0.0 + resolution: "file-entry-cache@npm:8.0.0" + dependencies: + flat-cache: "npm:^4.0.0" + checksum: 10c0/9e2b5938b1cd9b6d7e3612bdc533afd4ac17b2fc646569e9a8abbf2eb48e5eb8e316bc38815a3ef6a1b456f4107f0d0f055a614ca613e75db6bf9ff4d72c1638 + languageName: node + linkType: hard + +"find-up@npm:^5.0.0": + version: 5.0.0 + resolution: "find-up@npm:5.0.0" + dependencies: + locate-path: "npm:^6.0.0" + path-exists: "npm:^4.0.0" + checksum: 10c0/062c5a83a9c02f53cdd6d175a37ecf8f87ea5bbff1fdfb828f04bfa021441bc7583e8ebc0872a4c1baab96221fb8a8a275a19809fb93fbc40bd69ec35634069a + languageName: node + linkType: hard + +"flat-cache@npm:^4.0.0": + version: 4.0.1 + resolution: "flat-cache@npm:4.0.1" + dependencies: + flatted: "npm:^3.2.9" + keyv: "npm:^4.5.4" + checksum: 10c0/2c59d93e9faa2523e4fda6b4ada749bed432cfa28c8e251f33b25795e426a1c6dbada777afb1f74fcfff33934fdbdea921ee738fcc33e71adc9d6eca984a1cfc + languageName: node + linkType: hard + +"flatted@npm:^3.2.9, flatted@npm:^3.4.2": + version: 3.4.2 + resolution: "flatted@npm:3.4.2" + checksum: 10c0/a65b67aae7172d6cdf63691be7de6c5cd5adbdfdfe2e9da1a09b617c9512ed794037741ee53d93114276bff3f93cd3b0d97d54f9b316e1e4885dde6e9ffdf7ed + languageName: node + linkType: hard + +"follow-redirects@npm:^1.16.0": + version: 1.16.0 + resolution: "follow-redirects@npm:1.16.0" + peerDependenciesMeta: + debug: + optional: true + checksum: 10c0/a1e2900163e6f1b4d1ed5c221b607f41decbab65534c63fe7e287e40a5d552a6496e7d9d7d976fa4ba77b4c51c11e5e9f683f10b43011ea11e442ff128d0e181 + languageName: node + linkType: hard + +"form-data@npm:^4.0.5": + version: 4.0.5 + resolution: "form-data@npm:4.0.5" + dependencies: + asynckit: "npm:^0.4.0" + combined-stream: "npm:^1.0.8" + es-set-tostringtag: "npm:^2.1.0" + hasown: "npm:^2.0.2" + mime-types: "npm:^2.1.12" + checksum: 10c0/dd6b767ee0bbd6d84039db12a0fa5a2028160ffbfaba1800695713b46ae974a5f6e08b3356c3195137f8530dcd9dfcb5d5ae1eeff53d0db1e5aad863b619ce3b + languageName: node + linkType: hard + +"formatly@npm:^0.3.0": + version: 0.3.0 + resolution: "formatly@npm:0.3.0" + dependencies: + fd-package-json: "npm:^2.0.0" + bin: + formatly: bin/index.mjs + checksum: 10c0/ef9dbd3cdaee649e9604ea060d8d62d8131eb81117634336592ee2193fc7c98a3f1f1b5d09a045dbd36287ba88edf868ef179d39fbda2f34fbe2be70c42dd014 + languageName: node + linkType: hard + +"formdata-polyfill@npm:^4.0.10": + version: 4.0.10 + resolution: "formdata-polyfill@npm:4.0.10" + dependencies: + fetch-blob: "npm:^3.1.2" + checksum: 10c0/5392ec484f9ce0d5e0d52fb5a78e7486637d516179b0eb84d81389d7eccf9ca2f663079da56f761355c0a65792810e3b345dc24db9a8bbbcf24ef3c8c88570c6 + languageName: node + linkType: hard + +"fsevents@npm:~2.3.3": + version: 2.3.3 + resolution: "fsevents@npm:2.3.3" + dependencies: + node-gyp: "npm:latest" + checksum: 10c0/a1f0c44595123ed717febbc478aa952e47adfc28e2092be66b8ab1635147254ca6cfe1df792a8997f22716d4cbafc73309899ff7bfac2ac3ad8cf2e4ecc3ec60 + conditions: os=darwin + languageName: node + linkType: hard + +"fsevents@patch:fsevents@npm%3A~2.3.3#optional!builtin": + version: 2.3.3 + resolution: "fsevents@patch:fsevents@npm%3A2.3.3#optional!builtin::version=2.3.3&hash=df0bf1" + dependencies: + node-gyp: "npm:latest" + conditions: os=darwin + languageName: node + linkType: hard + +"function-bind@npm:^1.1.2": + version: 1.1.2 + resolution: "function-bind@npm:1.1.2" + checksum: 10c0/d8680ee1e5fcd4c197e4ac33b2b4dce03c71f4d91717292785703db200f5c21f977c568d28061226f9b5900cbcd2c84463646134fd5337e7925e0942bc3f46d5 + languageName: node + linkType: hard + +"gaxios@npm:^7.0.0, gaxios@npm:^7.1.4": + version: 7.1.4 + resolution: "gaxios@npm:7.1.4" + dependencies: + extend: "npm:^3.0.2" + https-proxy-agent: "npm:^7.0.1" + node-fetch: "npm:^3.3.2" + checksum: 10c0/147adf5f2606442945d8b19df1e9fe2833a5ec30af00743d0c44292899c5eef1c0a77b74ff07d9dfdc6b009c08af1f3f3d1d5d772109fde50c92435533795803 + languageName: node + linkType: hard + +"gcp-metadata@npm:8.1.2": + version: 8.1.2 + resolution: "gcp-metadata@npm:8.1.2" + dependencies: + gaxios: "npm:^7.0.0" + google-logging-utils: "npm:^1.0.0" + json-bigint: "npm:^1.0.0" + checksum: 10c0/15a61231a9410dc11c2828d2c9fdc8b0a939f1af746195c44edc6f2ffea0acab52cef3a7b9828069a36fd5d68bda730f7328a415fe42a01258f6e249dfba6908 + languageName: node + linkType: hard + +"generator-function@npm:^2.0.0": + version: 2.0.1 + resolution: "generator-function@npm:2.0.1" + checksum: 10c0/8a9f59df0f01cfefafdb3b451b80555e5cf6d76487095db91ac461a0e682e4ff7a9dbce15f4ecec191e53586d59eece01949e05a4b4492879600bbbe8e28d6b8 + languageName: node + linkType: hard + +"gensequence@npm:^8.0.8": + version: 8.0.8 + resolution: "gensequence@npm:8.0.8" + checksum: 10c0/a1315a9c366c4becda7720c8ecb986cbab912352e8fe25fdb57325d4a8fb3cce816cc227acd7bf2141283656f1e04229655240a2cc70d75836eec13ed8a96425 + languageName: node + linkType: hard + +"get-intrinsic@npm:^1.2.6": + version: 1.3.1 + resolution: "get-intrinsic@npm:1.3.1" + dependencies: + async-function: "npm:^1.0.0" + async-generator-function: "npm:^1.0.0" + call-bind-apply-helpers: "npm:^1.0.2" + es-define-property: "npm:^1.0.1" + es-errors: "npm:^1.3.0" + es-object-atoms: "npm:^1.1.1" + function-bind: "npm:^1.1.2" + generator-function: "npm:^2.0.0" + get-proto: "npm:^1.0.1" + gopd: "npm:^1.2.0" + has-symbols: "npm:^1.1.0" + hasown: "npm:^2.0.2" + math-intrinsics: "npm:^1.1.0" + checksum: 10c0/9f4ab0cf7efe0fd2c8185f52e6f637e708f3a112610c88869f8f041bb9ecc2ce44bf285dfdbdc6f4f7c277a5b88d8e94a432374d97cca22f3de7fc63795deb5d + languageName: node + linkType: hard + +"get-proto@npm:^1.0.1": + version: 1.0.1 + resolution: "get-proto@npm:1.0.1" + dependencies: + dunder-proto: "npm:^1.0.1" + es-object-atoms: "npm:^1.0.0" + checksum: 10c0/9224acb44603c5526955e83510b9da41baf6ae73f7398875fba50edc5e944223a89c4a72b070fcd78beb5f7bdda58ecb6294adc28f7acfc0da05f76a2399643c + languageName: node + linkType: hard + +"get-tsconfig@npm:4.14.0, get-tsconfig@npm:^4.10.1": + version: 4.14.0 + resolution: "get-tsconfig@npm:4.14.0" + dependencies: + resolve-pkg-maps: "npm:^1.0.0" + checksum: 10c0/abc2b9275468eb589079a0b7a95eb5107c14fdd0ca6dda1bff116fe774ea1f79975421dcb22a0c86b4f820fcc69a7655dddf9b6d6a8a2c06fcb59e19794c0724 + languageName: node + linkType: hard + +"glob-parent@npm:^6.0.2": + version: 6.0.2 + resolution: "glob-parent@npm:6.0.2" + dependencies: + is-glob: "npm:^4.0.3" + checksum: 10c0/317034d88654730230b3f43bb7ad4f7c90257a426e872ea0bf157473ac61c99bf5d205fad8f0185f989be8d2fa6d3c7dce1645d99d545b6ea9089c39f838e7f8 + languageName: node + linkType: hard + +"global-directory@npm:^5.0.0": + version: 5.0.0 + resolution: "global-directory@npm:5.0.0" + dependencies: + ini: "npm:6.0.0" + checksum: 10c0/2b90eea8975bb332db7e8c9096ff310f0deb617d17e47e93b921d1c69f7677c1759a07009f2581f050d3ea08a3e079bf4ffdb9c34c94d48dc369c6577b3d45f4 + languageName: node + linkType: hard + +"globals@npm:^17.6.0": + version: 17.6.0 + resolution: "globals@npm:17.6.0" + checksum: 10c0/cf94fb4329cc5c68cf81018fd68324f413181ee169f0235b0b33b82bc93fe7825a21beea951f83a80e8e4bbdad9c0c80515a145b5fd4b5cb52f2a80db899a93f + languageName: node + linkType: hard + +"google-auth-library@npm:^10.6.2": + version: 10.6.2 + resolution: "google-auth-library@npm:10.6.2" + dependencies: + base64-js: "npm:^1.3.0" + ecdsa-sig-formatter: "npm:^1.0.11" + gaxios: "npm:^7.1.4" + gcp-metadata: "npm:8.1.2" + google-logging-utils: "npm:1.1.3" + jws: "npm:^4.0.0" + checksum: 10c0/4878d9070e751202eff8adca7a78a41f045c460f611a62d8c0c14ac4bd33d66afc5d788ef82225873dadc7cde401d47f223f3c109f1a192564164fdd44a36614 + languageName: node + linkType: hard + +"google-logging-utils@npm:1.1.3, google-logging-utils@npm:^1.0.0": + version: 1.1.3 + resolution: "google-logging-utils@npm:1.1.3" + checksum: 10c0/e65201c7e96543bd1423b9324013736646b9eed60941e0bfa47b9bfd146d2f09cf3df1c99ca60b7d80a726075263ead049ee72de53372cb8458c3bc55c2c1e59 + languageName: node + linkType: hard + +"gopd@npm:^1.2.0": + version: 1.2.0 + resolution: "gopd@npm:1.2.0" + checksum: 10c0/50fff1e04ba2b7737c097358534eacadad1e68d24cccee3272e04e007bed008e68d2614f3987788428fd192a5ae3889d08fb2331417e4fc4a9ab366b2043cead + languageName: node + linkType: hard + +"graceful-fs@npm:^4.2.6": + version: 4.2.11 + resolution: "graceful-fs@npm:4.2.11" + checksum: 10c0/386d011a553e02bc594ac2ca0bd6d9e4c22d7fa8cfbfc448a6d148c59ea881b092db9dbe3547ae4b88e55f1b01f7c4a2ecc53b310c042793e63aa44cf6c257f2 + languageName: node + linkType: hard + +"has-flag@npm:^4.0.0": + version: 4.0.0 + resolution: "has-flag@npm:4.0.0" + checksum: 10c0/2e789c61b7888d66993e14e8331449e525ef42aac53c627cc53d1c3334e768bcb6abdc4f5f0de1478a25beec6f0bd62c7549058b7ac53e924040d4f301f02fd1 + languageName: node + linkType: hard + +"has-symbols@npm:^1.0.3, has-symbols@npm:^1.1.0": + version: 1.1.0 + resolution: "has-symbols@npm:1.1.0" + checksum: 10c0/dde0a734b17ae51e84b10986e651c664379018d10b91b6b0e9b293eddb32f0f069688c841fb40f19e9611546130153e0a2a48fd7f512891fb000ddfa36f5a20e + languageName: node + linkType: hard + +"has-tostringtag@npm:^1.0.2": + version: 1.0.2 + resolution: "has-tostringtag@npm:1.0.2" + dependencies: + has-symbols: "npm:^1.0.3" + checksum: 10c0/a8b166462192bafe3d9b6e420a1d581d93dd867adb61be223a17a8d6dad147aa77a8be32c961bb2f27b3ef893cae8d36f564ab651f5e9b7938ae86f74027c48c + languageName: node + linkType: hard + +"hasown@npm:^2.0.2": + version: 2.0.3 + resolution: "hasown@npm:2.0.3" + dependencies: + function-bind: "npm:^1.1.2" + checksum: 10c0/f5eb28c3fd0d3e4facd821c1eeee3836c37b70ab0b0fc532e8a39976e18fef43652415dadc52f8c7a5ff6d5ac93b7bef128789aa6f90f4e9b9a9083dce74ab38 + languageName: node + linkType: hard + +"html-escaper@npm:^2.0.0": + version: 2.0.2 + resolution: "html-escaper@npm:2.0.2" + checksum: 10c0/208e8a12de1a6569edbb14544f4567e6ce8ecc30b9394fcaa4e7bb1e60c12a7c9a1ed27e31290817157e8626f3a4f29e76c8747030822eb84a6abb15c255f0a0 + languageName: node + linkType: hard + +"https-proxy-agent@npm:^5.0.1": + version: 5.0.1 + resolution: "https-proxy-agent@npm:5.0.1" + dependencies: + agent-base: "npm:6" + debug: "npm:4" + checksum: 10c0/6dd639f03434003577c62b27cafdb864784ef19b2de430d8ae2a1d45e31c4fd60719e5637b44db1a88a046934307da7089e03d6089ec3ddacc1189d8de8897d1 + languageName: node + linkType: hard + +"https-proxy-agent@npm:^7.0.1": + version: 7.0.6 + resolution: "https-proxy-agent@npm:7.0.6" + dependencies: + agent-base: "npm:^7.1.2" + debug: "npm:4" + checksum: 10c0/f729219bc735edb621fa30e6e84e60ee5d00802b8247aac0d7b79b0bd6d4b3294737a337b93b86a0bd9e68099d031858a39260c976dc14cdbba238ba1f8779ac + languageName: node + linkType: hard + +"ignore@npm:^5.2.0": + version: 5.3.2 + resolution: "ignore@npm:5.3.2" + checksum: 10c0/f9f652c957983634ded1e7f02da3b559a0d4cc210fca3792cb67f1b153623c9c42efdc1c4121af171e295444459fc4a9201101fb041b1104a3c000bccb188337 + languageName: node + linkType: hard + +"ignore@npm:^7.0.5": + version: 7.0.5 + resolution: "ignore@npm:7.0.5" + checksum: 10c0/ae00db89fe873064a093b8999fe4cc284b13ef2a178636211842cceb650b9c3e390d3339191acb145d81ed5379d2074840cf0c33a20bdbd6f32821f79eb4ad5d + languageName: node + linkType: hard + +"import-fresh@npm:^4.0.0": + version: 4.0.0 + resolution: "import-fresh@npm:4.0.0" + checksum: 10c0/537fb037c046ed594edcf2b60f438e70a07fa70fe14fbf35650870a414dc28c3332a11095f7782edfc814d3b997d204eaa3912cd6e3c62c296ee41c6caea9a8d + languageName: node + linkType: hard + +"import-meta-resolve@npm:^4.2.0": + version: 4.2.0 + resolution: "import-meta-resolve@npm:4.2.0" + checksum: 10c0/3ee8aeecb61d19b49d2703987f977e9d1c7d4ba47db615a570eaa02fe414f40dfa63f7b953e842cbe8470d26df6371332bfcf21b2fd92b0112f9fea80dde2c4c + languageName: node + linkType: hard + +"imurmurhash@npm:^0.1.4": + version: 0.1.4 + resolution: "imurmurhash@npm:0.1.4" + checksum: 10c0/8b51313850dd33605c6c9d3fd9638b714f4c4c40250cff658209f30d40da60f78992fb2df5dabee4acf589a6a82bbc79ad5486550754bd9ec4e3fc0d4a57d6a6 + languageName: node + linkType: hard + +"ini@npm:6.0.0": + version: 6.0.0 + resolution: "ini@npm:6.0.0" + checksum: 10c0/9a7f55f306e2b25b41ae67c8b526e8f4673f057b70852b9025816ef4f15f07bf1ba35ed68ea4471ff7b31718f7ef1bc50d709f8d03cb012e10a3135eb99c7206 + languageName: node + linkType: hard + +"is-buffer@npm:^2.0.5": + version: 2.0.5 + resolution: "is-buffer@npm:2.0.5" + checksum: 10c0/e603f6fced83cf94c53399cff3bda1a9f08e391b872b64a73793b0928be3e5f047f2bcece230edb7632eaea2acdbfcb56c23b33d8a20c820023b230f1485679a + languageName: node + linkType: hard + +"is-bun-module@npm:^2.0.0": + version: 2.0.0 + resolution: "is-bun-module@npm:2.0.0" + dependencies: + semver: "npm:^7.7.1" + checksum: 10c0/7d27a0679cfa5be1f5052650391f9b11040cd70c48d45112e312c56bc6b6ca9c9aea70dcce6cc40b1e8947bfff8567a5c5715d3b066fb478522dab46ea379240 + languageName: node + linkType: hard + +"is-extglob@npm:^2.1.1": + version: 2.1.1 + resolution: "is-extglob@npm:2.1.1" + checksum: 10c0/5487da35691fbc339700bbb2730430b07777a3c21b9ebaecb3072512dfd7b4ba78ac2381a87e8d78d20ea08affb3f1971b4af629173a6bf435ff8a4c47747912 + languageName: node + linkType: hard + +"is-glob@npm:^4.0.0, is-glob@npm:^4.0.3": + version: 4.0.3 + resolution: "is-glob@npm:4.0.3" + dependencies: + is-extglob: "npm:^2.1.1" + checksum: 10c0/17fb4014e22be3bbecea9b2e3a76e9e34ff645466be702f1693e8f1ee1adac84710d0be0bd9f967d6354036fd51ab7c2741d954d6e91dae6bb69714de92c197a + languageName: node + linkType: hard + +"is-safe-filename@npm:^0.1.0": + version: 0.1.1 + resolution: "is-safe-filename@npm:0.1.1" + checksum: 10c0/45c35d2253b96348e2c26590e14feed51d1e6b72aaa567930ccb34e68c0eef00ebcf3b7e01b46bf45e578a27355cd8f5bc12f7d6d79a34d33dc93d4560c0f6b6 + languageName: node + linkType: hard + +"isexe@npm:^2.0.0": + version: 2.0.0 + resolution: "isexe@npm:2.0.0" + checksum: 10c0/228cfa503fadc2c31596ab06ed6aa82c9976eec2bfd83397e7eaf06d0ccf42cd1dfd6743bf9aeb01aebd4156d009994c5f76ea898d2832c1fe342da923ca457d + languageName: node + linkType: hard + +"isexe@npm:^4.0.0": + version: 4.0.0 + resolution: "isexe@npm:4.0.0" + checksum: 10c0/5884815115bceac452877659a9c7726382531592f43dc29e5d48b7c4100661aed54018cb90bd36cb2eaeba521092570769167acbb95c18d39afdccbcca06c5ce + 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: 10c0/6c7ff2106769e5f592ded1fb418f9f73b4411fd5a084387a5410538332b6567cd1763ff6b6cadca9b9eb2c443cce2f7ea7d7f1b8d315f9ce58539793b1e0922b + languageName: node + linkType: hard + +"istanbul-lib-report@npm:^3.0.0, istanbul-lib-report@npm:^3.0.1": + version: 3.0.1 + resolution: "istanbul-lib-report@npm:3.0.1" + dependencies: + istanbul-lib-coverage: "npm:^3.0.0" + make-dir: "npm:^4.0.0" + supports-color: "npm:^7.1.0" + checksum: 10c0/84323afb14392de8b6a5714bd7e9af845cfbd56cfe71ed276cda2f5f1201aea673c7111901227ee33e68e4364e288d73861eb2ed48f6679d1e69a43b6d9b3ba7 + languageName: node + linkType: hard + +"istanbul-reports@npm:^3.2.0": + version: 3.2.0 + resolution: "istanbul-reports@npm:3.2.0" + dependencies: + html-escaper: "npm:^2.0.0" + istanbul-lib-report: "npm:^3.0.0" + checksum: 10c0/d596317cfd9c22e1394f22a8d8ba0303d2074fe2e971887b32d870e4b33f8464b10f8ccbe6847808f7db485f084eba09e6c2ed706b3a978e4b52f07085b8f9bc + languageName: node + linkType: hard + +"jiti@npm:^2.7.0": + version: 2.7.0 + resolution: "jiti@npm:2.7.0" + bin: + jiti: lib/jiti-cli.mjs + checksum: 10c0/1b1e2310a490dce1aeea3da5f5dfe18273516c20ce48be2e98eb8ea452d5f3dcc8fd0cfd6d28b4052a24c5dbab6e3089b2d7e79f0bce7915b10d750929563c42 + languageName: node + linkType: hard + +"js-tokens@npm:^10.0.0": + version: 10.0.0 + resolution: "js-tokens@npm:10.0.0" + checksum: 10c0/a93498747812ba3e0c8626f95f75ab29319f2a13613a0de9e610700405760931624433a0de59eb7c27ff8836e526768fb20783861b86ef89be96676f2c996b64 + languageName: node + linkType: hard + +"json-bigint@npm:^1.0.0": + version: 1.0.0 + resolution: "json-bigint@npm:1.0.0" + dependencies: + bignumber.js: "npm:^9.0.0" + checksum: 10c0/e3f34e43be3284b573ea150a3890c92f06d54d8ded72894556357946aeed9877fd795f62f37fe16509af189fd314ab1104d0fd0f163746ad231b9f378f5b33f4 + languageName: node + linkType: hard + +"json-buffer@npm:3.0.1": + version: 3.0.1 + resolution: "json-buffer@npm:3.0.1" + checksum: 10c0/0d1c91569d9588e7eef2b49b59851f297f3ab93c7b35c7c221e288099322be6b562767d11e4821da500f3219542b9afd2e54c5dc573107c1126ed1080f8e96d7 + languageName: node + linkType: hard + +"json-schema-traverse@npm:^0.4.1": + version: 0.4.1 + resolution: "json-schema-traverse@npm:0.4.1" + checksum: 10c0/108fa90d4cc6f08243aedc6da16c408daf81793bf903e9fd5ab21983cda433d5d2da49e40711da016289465ec2e62e0324dcdfbc06275a607fe3233fde4942ce + 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: 10c0/cb168b61fd4de83e58d09aaa6425ef71001bae30d260e2c57e7d09a5fd82223e2f22a042dedaab8db23b7d9ae46854b08bb1f91675a8be11c5cffebef5fb66a5 + languageName: node + linkType: hard + +"jsonc-eslint-parser@npm:^3.1.0": + version: 3.1.0 + resolution: "jsonc-eslint-parser@npm:3.1.0" + dependencies: + acorn: "npm:^8.5.0" + eslint-visitor-keys: "npm:^5.0.0" + semver: "npm:^7.3.5" + checksum: 10c0/9af0aa3abf946f306ce823ccde33ab7d91cf215e1af26d33b2f65e9e230552bfa40aa93859b91aabf96738c66357a598cc7b2275ba99839ef4afd84edda3b11e + languageName: node + linkType: hard + +"jwa@npm:^2.0.1": + version: 2.0.1 + resolution: "jwa@npm:2.0.1" + dependencies: + buffer-equal-constant-time: "npm:^1.0.1" + ecdsa-sig-formatter: "npm:1.0.11" + safe-buffer: "npm:^5.0.1" + checksum: 10c0/ab3ebc6598e10dc11419d4ed675c9ca714a387481466b10e8a6f3f65d8d9c9237e2826f2505280a739cf4cbcf511cb288eeec22b5c9c63286fc5a2e4f97e78cf + languageName: node + linkType: hard + +"jws@npm:^4.0.0": + version: 4.0.1 + resolution: "jws@npm:4.0.1" + dependencies: + jwa: "npm:^2.0.1" + safe-buffer: "npm:^5.0.1" + checksum: 10c0/6be1ed93023aef570ccc5ea8d162b065840f3ef12f0d1bb3114cade844de7a357d5dc558201d9a65101e70885a6fa56b17462f520e6b0d426195510618a154d0 + languageName: node + linkType: hard + +"keyv@npm:^4.5.4": + version: 4.5.4 + resolution: "keyv@npm:4.5.4" + dependencies: + json-buffer: "npm:3.0.1" + checksum: 10c0/aa52f3c5e18e16bb6324876bb8b59dd02acf782a4b789c7b2ae21107fab95fab3890ed448d4f8dba80ce05391eeac4bfabb4f02a20221342982f806fa2cf271e + languageName: node + linkType: hard + +"knip@npm:^6.14.1": + version: 6.14.1 + resolution: "knip@npm:6.14.1" + dependencies: + fdir: "npm:^6.5.0" + formatly: "npm:^0.3.0" + get-tsconfig: "npm:4.14.0" + jiti: "npm:^2.7.0" + minimist: "npm:^1.2.8" + oxc-parser: "npm:^0.130.0" + oxc-resolver: "npm:^11.19.1" + picomatch: "npm:^4.0.4" + smol-toml: "npm:^1.6.1" + strip-json-comments: "npm:5.0.3" + tinyglobby: "npm:^0.2.16" + unbash: "npm:^3.0.0" + yaml: "npm:^2.9.0" + zod: "npm:^4.1.11" + bin: + knip: bin/knip.js + knip-bun: bin/knip-bun.js + checksum: 10c0/d0221aa904b801a38a38503133d4d67ea4036de045691e127972ddedfde2da37fe1be0648d966f72061cb0dcf8b3e35131038c37401e24d15f1c483920bb4989 + languageName: node + linkType: hard + +"levn@npm:^0.4.1": + version: 0.4.1 + resolution: "levn@npm:0.4.1" + dependencies: + prelude-ls: "npm:^1.2.1" + type-check: "npm:~0.4.0" + checksum: 10c0/effb03cad7c89dfa5bd4f6989364bfc79994c2042ec5966cb9b95990e2edee5cd8969ddf42616a0373ac49fac1403437deaf6e9050fbbaa3546093a59b9ac94e + languageName: node + linkType: hard + +"lightningcss-android-arm64@npm:1.32.0": + version: 1.32.0 + resolution: "lightningcss-android-arm64@npm:1.32.0" + conditions: os=android & cpu=arm64 + languageName: node + linkType: hard + +"lightningcss-darwin-arm64@npm:1.32.0": + version: 1.32.0 + resolution: "lightningcss-darwin-arm64@npm:1.32.0" + conditions: os=darwin & cpu=arm64 + languageName: node + linkType: hard + +"lightningcss-darwin-x64@npm:1.32.0": + version: 1.32.0 + resolution: "lightningcss-darwin-x64@npm:1.32.0" + conditions: os=darwin & cpu=x64 + languageName: node + linkType: hard + +"lightningcss-freebsd-x64@npm:1.32.0": + version: 1.32.0 + resolution: "lightningcss-freebsd-x64@npm:1.32.0" + conditions: os=freebsd & cpu=x64 + languageName: node + linkType: hard + +"lightningcss-linux-arm-gnueabihf@npm:1.32.0": + version: 1.32.0 + resolution: "lightningcss-linux-arm-gnueabihf@npm:1.32.0" + conditions: os=linux & cpu=arm + languageName: node + linkType: hard + +"lightningcss-linux-arm64-gnu@npm:1.32.0": + version: 1.32.0 + resolution: "lightningcss-linux-arm64-gnu@npm:1.32.0" + conditions: os=linux & cpu=arm64 & libc=glibc + languageName: node + linkType: hard + +"lightningcss-linux-arm64-musl@npm:1.32.0": + version: 1.32.0 + resolution: "lightningcss-linux-arm64-musl@npm:1.32.0" + conditions: os=linux & cpu=arm64 & libc=musl + languageName: node + linkType: hard + +"lightningcss-linux-x64-gnu@npm:1.32.0": + version: 1.32.0 + resolution: "lightningcss-linux-x64-gnu@npm:1.32.0" + conditions: os=linux & cpu=x64 & libc=glibc + languageName: node + linkType: hard + +"lightningcss-linux-x64-musl@npm:1.32.0": + version: 1.32.0 + resolution: "lightningcss-linux-x64-musl@npm:1.32.0" + conditions: os=linux & cpu=x64 & libc=musl + languageName: node + linkType: hard + +"lightningcss-win32-arm64-msvc@npm:1.32.0": + version: 1.32.0 + resolution: "lightningcss-win32-arm64-msvc@npm:1.32.0" + conditions: os=win32 & cpu=arm64 + languageName: node + linkType: hard + +"lightningcss-win32-x64-msvc@npm:1.32.0": + version: 1.32.0 + resolution: "lightningcss-win32-x64-msvc@npm:1.32.0" + conditions: os=win32 & cpu=x64 + languageName: node + linkType: hard + +"lightningcss@npm:^1.32.0": + version: 1.32.0 + resolution: "lightningcss@npm:1.32.0" + dependencies: + detect-libc: "npm:^2.0.3" + lightningcss-android-arm64: "npm:1.32.0" + lightningcss-darwin-arm64: "npm:1.32.0" + lightningcss-darwin-x64: "npm:1.32.0" + lightningcss-freebsd-x64: "npm:1.32.0" + lightningcss-linux-arm-gnueabihf: "npm:1.32.0" + lightningcss-linux-arm64-gnu: "npm:1.32.0" + lightningcss-linux-arm64-musl: "npm:1.32.0" + lightningcss-linux-x64-gnu: "npm:1.32.0" + lightningcss-linux-x64-musl: "npm:1.32.0" + lightningcss-win32-arm64-msvc: "npm:1.32.0" + lightningcss-win32-x64-msvc: "npm:1.32.0" + dependenciesMeta: + lightningcss-android-arm64: + optional: true + lightningcss-darwin-arm64: + optional: true + lightningcss-darwin-x64: + optional: true + lightningcss-freebsd-x64: + optional: true + lightningcss-linux-arm-gnueabihf: + optional: true + lightningcss-linux-arm64-gnu: + optional: true + lightningcss-linux-arm64-musl: + optional: true + lightningcss-linux-x64-gnu: + optional: true + lightningcss-linux-x64-musl: + optional: true + lightningcss-win32-arm64-msvc: + optional: true + lightningcss-win32-x64-msvc: + optional: true + checksum: 10c0/70945bd55097af46fc9fab7f5ed09cd5869d85940a2acab7ee06d0117004a1d68155708a2d462531cea2fc3c67aefc9333a7068c80b0b78dd404c16838809e03 + languageName: node + linkType: hard + +"locate-path@npm:^6.0.0": + version: 6.0.0 + resolution: "locate-path@npm:6.0.0" + dependencies: + p-locate: "npm:^5.0.0" + checksum: 10c0/d3972ab70dfe58ce620e64265f90162d247e87159b6126b01314dd67be43d50e96a50b517bce2d9452a79409c7614054c277b5232377de50416564a77ac7aad3 + languageName: node + linkType: hard + +"magic-string@npm:^0.30.21": + version: 0.30.21 + resolution: "magic-string@npm:0.30.21" + dependencies: + "@jridgewell/sourcemap-codec": "npm:^1.5.5" + checksum: 10c0/299378e38f9a270069fc62358522ddfb44e94244baa0d6a8980ab2a9b2490a1d03b236b447eee309e17eb3bddfa482c61259d47960eb018a904f0ded52780c4a + languageName: node + linkType: hard + +"magicast@npm:^0.5.2": + version: 0.5.3 + resolution: "magicast@npm:0.5.3" + dependencies: + "@babel/parser": "npm:^7.29.3" + "@babel/types": "npm:^7.29.0" + source-map-js: "npm:^1.2.1" + checksum: 10c0/e288c027ae5f2a794a59148cb114f4b60f1d5c03090de6c60b4d187f12d1de9158779cd7c39cea391609f4f10cd7ea737929f25f7ce44f7a96ba96ec1a477e39 + languageName: node + linkType: hard + +"make-dir@npm:^4.0.0": + version: 4.0.0 + resolution: "make-dir@npm:4.0.0" + dependencies: + semver: "npm:^7.5.3" + checksum: 10c0/69b98a6c0b8e5c4fe9acb61608a9fbcfca1756d910f51e5dbe7a9e5cfb74fca9b8a0c8a0ffdf1294a740826c1ab4871d5bf3f62f72a3049e5eac6541ddffed68 + languageName: node + linkType: hard + +"math-intrinsics@npm:^1.1.0": + version: 1.1.0 + resolution: "math-intrinsics@npm:1.1.0" + checksum: 10c0/7579ff94e899e2f76ab64491d76cf606274c874d8f2af4a442c016bd85688927fcfca157ba6bf74b08e9439dc010b248ce05b96cc7c126a354c3bae7fcb48b7f + languageName: node + linkType: hard + +"mime-db@npm:1.52.0": + version: 1.52.0 + resolution: "mime-db@npm:1.52.0" + checksum: 10c0/0557a01deebf45ac5f5777fe7740b2a5c309c6d62d40ceab4e23da9f821899ce7a900b7ac8157d4548ddbb7beffe9abc621250e6d182b0397ec7f10c7b91a5aa + languageName: node + linkType: hard + +"mime-types@npm:^2.1.12": + version: 2.1.35 + resolution: "mime-types@npm:2.1.35" + dependencies: + mime-db: "npm:1.52.0" + checksum: 10c0/82fb07ec56d8ff1fc999a84f2f217aa46cb6ed1033fefaabd5785b9a974ed225c90dc72fff460259e66b95b73648596dbcc50d51ed69cdf464af2d237d3149b2 + languageName: node + linkType: hard + +"minimatch@npm:^10.2.2, minimatch@npm:^10.2.4, minimatch@npm:^9.0.3 || ^10.1.2": + version: 10.2.5 + resolution: "minimatch@npm:10.2.5" + dependencies: + brace-expansion: "npm:^5.0.5" + checksum: 10c0/6bb058bd6324104b9ec2f763476a35386d05079c1f5fe4fbf1f324a25237cd4534d6813ecd71f48208f4e635c1221899bef94c3c89f7df55698fe373aaae20fd + languageName: node + linkType: hard + +"minimist@npm:^1.2.8": + version: 1.2.8 + resolution: "minimist@npm:1.2.8" + checksum: 10c0/19d3fcdca050087b84c2029841a093691a91259a47def2f18222f41e7645a0b7c44ef4b40e88a1e58a40c84d2ef0ee6047c55594d298146d0eb3f6b737c20ce6 + languageName: node + linkType: hard + +"minipass@npm:^7.0.4, minipass@npm:^7.1.2": + version: 7.1.3 + resolution: "minipass@npm:7.1.3" + checksum: 10c0/539da88daca16533211ea5a9ee98dc62ff5742f531f54640dd34429e621955e91cc280a91a776026264b7f9f6735947629f920944e9c1558369e8bf22eb33fbb + languageName: node + linkType: hard + +"minizlib@npm:^3.1.0": + version: 3.1.0 + resolution: "minizlib@npm:3.1.0" + dependencies: + minipass: "npm:^7.1.2" + checksum: 10c0/5aad75ab0090b8266069c9aabe582c021ae53eb33c6c691054a13a45db3b4f91a7fb1bd79151e6b4e9e9a86727b522527c0a06ec7d45206b745d54cd3097bcec + languageName: node + linkType: hard + +"mri@npm:^1.1.0": + version: 1.2.0 + resolution: "mri@npm:1.2.0" + checksum: 10c0/a3d32379c2554cf7351db6237ddc18dc9e54e4214953f3da105b97dc3babe0deb3ffe99cf409b38ea47cc29f9430561ba6b53b24ab8f9ce97a4b50409e4a50e7 + languageName: node + linkType: hard + +"ms@npm:^2.1.3": + version: 2.1.3 + resolution: "ms@npm:2.1.3" + checksum: 10c0/d924b57e7312b3b63ad21fc5b3dc0af5e78d61a1fc7cfb5457edaf26326bf62be5307cc87ffb6862ef1c2b33b0233cdb5d4f01c4c958cc0d660948b65a287a48 + languageName: node + linkType: hard + +"nanoid@npm:^3.3.12": + version: 3.3.12 + resolution: "nanoid@npm:3.3.12" + bin: + nanoid: bin/nanoid.cjs + checksum: 10c0/ba142b7b39e11e80c16dd74b0365d407880c87c1cf7e1480956981ae940ee36060fa5b6f092cd1e315184dd19244c657bd017d03327bd3c62247d691c5e8edfb + languageName: node + linkType: hard + +"napi-postinstall@npm:^0.3.4": + version: 0.3.4 + resolution: "napi-postinstall@npm:0.3.4" + bin: + napi-postinstall: lib/cli.js + checksum: 10c0/b33d64150828bdade3a5d07368a8b30da22ee393f8dd8432f1b9e5486867be21c84ec443dd875dd3ef3c7401a079a7ab7e2aa9d3538a889abbcd96495d5104fe + languageName: node + linkType: hard + +"natural-compare@npm:^1.4.0": + version: 1.4.0 + resolution: "natural-compare@npm:1.4.0" + checksum: 10c0/f5f9a7974bfb28a91afafa254b197f0f22c684d4a1731763dda960d2c8e375b36c7d690e0d9dc8fba774c537af14a7e979129bca23d88d052fbeb9466955e447 + languageName: node + linkType: hard + +"node-domexception@npm:^1.0.0": + version: 1.0.0 + resolution: "node-domexception@npm:1.0.0" + checksum: 10c0/5e5d63cda29856402df9472335af4bb13875e1927ad3be861dc5ebde38917aecbf9ae337923777af52a48c426b70148815e890a5d72760f1b4d758cc671b1a2b + languageName: node + linkType: hard + +"node-fetch@npm:^3.3.2": + version: 3.3.2 + resolution: "node-fetch@npm:3.3.2" + dependencies: + data-uri-to-buffer: "npm:^4.0.0" + fetch-blob: "npm:^3.1.4" + formdata-polyfill: "npm:^4.0.10" + checksum: 10c0/f3d5e56190562221398c9f5750198b34cf6113aa304e34ee97c94fd300ec578b25b2c2906edba922050fce983338fde0d5d34fcb0fc3336ade5bd0e429ad7538 + languageName: node + linkType: hard + +"node-gyp@npm:latest": + version: 12.3.0 + resolution: "node-gyp@npm:12.3.0" + dependencies: + env-paths: "npm:^2.2.0" + exponential-backoff: "npm:^3.1.1" + graceful-fs: "npm:^4.2.6" + nopt: "npm:^9.0.0" + proc-log: "npm:^6.0.0" + semver: "npm:^7.3.5" + tar: "npm:^7.5.4" + tinyglobby: "npm:^0.2.12" + undici: "npm:^6.25.0" + which: "npm:^6.0.0" + bin: + node-gyp: bin/node-gyp.js + checksum: 10c0/9d9032b405cbe42f72a105259d9eb679376470c102df4a2dbaa51e07d59bf741dcffb85897087ea9d8318b9cabb824a8978af51508ae142f0239ae1e6a3c2329 + languageName: node + linkType: hard + +"nopt@npm:^9.0.0": + version: 9.0.0 + resolution: "nopt@npm:9.0.0" + dependencies: + abbrev: "npm:^4.0.0" + bin: + nopt: bin/nopt.js + checksum: 10c0/1822eb6f9b020ef6f7a7516d7b64a8036e09666ea55ac40416c36e4b2b343122c3cff0e2f085675f53de1d2db99a2a89a60ccea1d120bcd6a5347bf6ceb4a7fd + languageName: node + linkType: hard + +"obug@npm:^2.1.1": + version: 2.1.1 + resolution: "obug@npm:2.1.1" + checksum: 10c0/59dccd7de72a047e08f8649e94c1015ec72f94eefb6ddb57fb4812c4b425a813bc7e7cd30c9aca20db3c59abc3c85cc7a62bb656a968741d770f4e8e02bc2e78 + languageName: node + linkType: hard + +"optionator@npm:^0.9.3": + version: 0.9.4 + resolution: "optionator@npm:0.9.4" + dependencies: + deep-is: "npm:^0.1.3" + fast-levenshtein: "npm:^2.0.6" + levn: "npm:^0.4.1" + prelude-ls: "npm:^1.2.1" + type-check: "npm:^0.4.0" + word-wrap: "npm:^1.2.5" + checksum: 10c0/4afb687a059ee65b61df74dfe87d8d6815cd6883cb8b3d5883a910df72d0f5d029821f37025e4bccf4048873dbdb09acc6d303d27b8f76b1a80dd5a7d5334675 + languageName: node + linkType: hard + +"oxc-parser@npm:^0.130.0": + version: 0.130.0 + resolution: "oxc-parser@npm:0.130.0" + dependencies: + "@oxc-parser/binding-android-arm-eabi": "npm:0.130.0" + "@oxc-parser/binding-android-arm64": "npm:0.130.0" + "@oxc-parser/binding-darwin-arm64": "npm:0.130.0" + "@oxc-parser/binding-darwin-x64": "npm:0.130.0" + "@oxc-parser/binding-freebsd-x64": "npm:0.130.0" + "@oxc-parser/binding-linux-arm-gnueabihf": "npm:0.130.0" + "@oxc-parser/binding-linux-arm-musleabihf": "npm:0.130.0" + "@oxc-parser/binding-linux-arm64-gnu": "npm:0.130.0" + "@oxc-parser/binding-linux-arm64-musl": "npm:0.130.0" + "@oxc-parser/binding-linux-ppc64-gnu": "npm:0.130.0" + "@oxc-parser/binding-linux-riscv64-gnu": "npm:0.130.0" + "@oxc-parser/binding-linux-riscv64-musl": "npm:0.130.0" + "@oxc-parser/binding-linux-s390x-gnu": "npm:0.130.0" + "@oxc-parser/binding-linux-x64-gnu": "npm:0.130.0" + "@oxc-parser/binding-linux-x64-musl": "npm:0.130.0" + "@oxc-parser/binding-openharmony-arm64": "npm:0.130.0" + "@oxc-parser/binding-wasm32-wasi": "npm:0.130.0" + "@oxc-parser/binding-win32-arm64-msvc": "npm:0.130.0" + "@oxc-parser/binding-win32-ia32-msvc": "npm:0.130.0" + "@oxc-parser/binding-win32-x64-msvc": "npm:0.130.0" + "@oxc-project/types": "npm:^0.130.0" + dependenciesMeta: + "@oxc-parser/binding-android-arm-eabi": + optional: true + "@oxc-parser/binding-android-arm64": + optional: true + "@oxc-parser/binding-darwin-arm64": + optional: true + "@oxc-parser/binding-darwin-x64": + optional: true + "@oxc-parser/binding-freebsd-x64": + optional: true + "@oxc-parser/binding-linux-arm-gnueabihf": + optional: true + "@oxc-parser/binding-linux-arm-musleabihf": + optional: true + "@oxc-parser/binding-linux-arm64-gnu": + optional: true + "@oxc-parser/binding-linux-arm64-musl": + optional: true + "@oxc-parser/binding-linux-ppc64-gnu": + optional: true + "@oxc-parser/binding-linux-riscv64-gnu": + optional: true + "@oxc-parser/binding-linux-riscv64-musl": + optional: true + "@oxc-parser/binding-linux-s390x-gnu": + optional: true + "@oxc-parser/binding-linux-x64-gnu": + optional: true + "@oxc-parser/binding-linux-x64-musl": + optional: true + "@oxc-parser/binding-openharmony-arm64": + optional: true + "@oxc-parser/binding-wasm32-wasi": + optional: true + "@oxc-parser/binding-win32-arm64-msvc": + optional: true + "@oxc-parser/binding-win32-ia32-msvc": + optional: true + "@oxc-parser/binding-win32-x64-msvc": + optional: true + checksum: 10c0/7b6b3fee853429520f5c61765add938b57d1b6fdb0f86dc806f2c2ba13f6f007a22316561c4c98754b272aac3ac3c7b92051bb1a8e0fa699ef68982c4f257f7e + languageName: node + linkType: hard + +"oxc-resolver@npm:^11.19.1": + version: 11.19.1 + resolution: "oxc-resolver@npm:11.19.1" + dependencies: + "@oxc-resolver/binding-android-arm-eabi": "npm:11.19.1" + "@oxc-resolver/binding-android-arm64": "npm:11.19.1" + "@oxc-resolver/binding-darwin-arm64": "npm:11.19.1" + "@oxc-resolver/binding-darwin-x64": "npm:11.19.1" + "@oxc-resolver/binding-freebsd-x64": "npm:11.19.1" + "@oxc-resolver/binding-linux-arm-gnueabihf": "npm:11.19.1" + "@oxc-resolver/binding-linux-arm-musleabihf": "npm:11.19.1" + "@oxc-resolver/binding-linux-arm64-gnu": "npm:11.19.1" + "@oxc-resolver/binding-linux-arm64-musl": "npm:11.19.1" + "@oxc-resolver/binding-linux-ppc64-gnu": "npm:11.19.1" + "@oxc-resolver/binding-linux-riscv64-gnu": "npm:11.19.1" + "@oxc-resolver/binding-linux-riscv64-musl": "npm:11.19.1" + "@oxc-resolver/binding-linux-s390x-gnu": "npm:11.19.1" + "@oxc-resolver/binding-linux-x64-gnu": "npm:11.19.1" + "@oxc-resolver/binding-linux-x64-musl": "npm:11.19.1" + "@oxc-resolver/binding-openharmony-arm64": "npm:11.19.1" + "@oxc-resolver/binding-wasm32-wasi": "npm:11.19.1" + "@oxc-resolver/binding-win32-arm64-msvc": "npm:11.19.1" + "@oxc-resolver/binding-win32-ia32-msvc": "npm:11.19.1" + "@oxc-resolver/binding-win32-x64-msvc": "npm:11.19.1" + dependenciesMeta: + "@oxc-resolver/binding-android-arm-eabi": + optional: true + "@oxc-resolver/binding-android-arm64": + optional: true + "@oxc-resolver/binding-darwin-arm64": + optional: true + "@oxc-resolver/binding-darwin-x64": + optional: true + "@oxc-resolver/binding-freebsd-x64": + optional: true + "@oxc-resolver/binding-linux-arm-gnueabihf": + optional: true + "@oxc-resolver/binding-linux-arm-musleabihf": + optional: true + "@oxc-resolver/binding-linux-arm64-gnu": + optional: true + "@oxc-resolver/binding-linux-arm64-musl": + optional: true + "@oxc-resolver/binding-linux-ppc64-gnu": + optional: true + "@oxc-resolver/binding-linux-riscv64-gnu": + optional: true + "@oxc-resolver/binding-linux-riscv64-musl": + optional: true + "@oxc-resolver/binding-linux-s390x-gnu": + optional: true + "@oxc-resolver/binding-linux-x64-gnu": + optional: true + "@oxc-resolver/binding-linux-x64-musl": + optional: true + "@oxc-resolver/binding-openharmony-arm64": + optional: true + "@oxc-resolver/binding-wasm32-wasi": + optional: true + "@oxc-resolver/binding-win32-arm64-msvc": + optional: true + "@oxc-resolver/binding-win32-ia32-msvc": + optional: true + "@oxc-resolver/binding-win32-x64-msvc": + optional: true + checksum: 10c0/8ac4eaffa9c0bcbb9f4f4a2b43786457ec5a68684d8776cb78b5a15ce3d1a79d3e67262aa3c635f98a0c1cd6cd56a31fcb05bffb9a286100056e4ab06b928833 + 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: 10c0/9db675949dbdc9c3763c89e748d0ef8bdad0afbb24d49ceaf4c46c02c77d30db4e0652ed36d0a0a7a95154335fab810d95c86153105bb73b3a90448e2bb14e1a + 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: 10c0/2290d627ab7903b8b70d11d384fee714b797f6040d9278932754a6860845c4d3190603a0772a663c8cb5a7b21d1b16acb3a6487ebcafa9773094edc3dfe6009a + languageName: node + linkType: hard + +"package-manager-detector@npm:^1.6.0": + version: 1.6.0 + resolution: "package-manager-detector@npm:1.6.0" + checksum: 10c0/6419d0b840be64fd45bcdcb7a19f09b81b65456d5e7f7a3daac305a4c90643052122f6ac0308afe548ffee75e36148532a2002ea9d292754f1e385aa2e1ea03b + languageName: node + linkType: hard + +"path-exists@npm:^4.0.0": + version: 4.0.0 + resolution: "path-exists@npm:4.0.0" + checksum: 10c0/8c0bd3f5238188197dc78dced15207a4716c51cc4e3624c44fc97acf69558f5ebb9a2afff486fe1b4ee148e0c133e96c5e11a9aa5c48a3006e3467da070e5e1b + languageName: node + linkType: hard + +"path-key@npm:^3.1.0": + version: 3.1.1 + resolution: "path-key@npm:3.1.1" + checksum: 10c0/748c43efd5a569c039d7a00a03b58eecd1d75f3999f5a28303d75f521288df4823bc057d8784eb72358b2895a05f29a070bc9f1f17d28226cc4e62494cc58c4c + languageName: node + linkType: hard + +"pathe@npm:^2.0.3": + version: 2.0.3 + resolution: "pathe@npm:2.0.3" + checksum: 10c0/c118dc5a8b5c4166011b2b70608762e260085180bb9e33e80a50dcdb1e78c010b1624f4280c492c92b05fc276715a4c357d1f9edc570f8f1b3d90b6839ebaca1 + languageName: node + linkType: hard + +"picocolors@npm:^1.1.1": + version: 1.1.1 + resolution: "picocolors@npm:1.1.1" + checksum: 10c0/e2e3e8170ab9d7c7421969adaa7e1b31434f789afb9b3f115f6b96d91945041ac3ceb02e9ec6fe6510ff036bcc0bf91e69a1772edc0b707e12b19c0f2d6bcf58 + languageName: node + linkType: hard + +"picomatch@npm:^4.0.3, picomatch@npm:^4.0.4": + version: 4.0.4 + resolution: "picomatch@npm:4.0.4" + checksum: 10c0/e2c6023372cc7b5764719a5ffb9da0f8e781212fa7ca4bd0562db929df8e117460f00dff3cb7509dacfc06b86de924b247f504d0ce1806a37fac4633081466b0 + languageName: node + linkType: hard + +"postcss@npm:^8.5.14": + version: 8.5.15 + resolution: "postcss@npm:8.5.15" + dependencies: + nanoid: "npm:^3.3.12" + picocolors: "npm:^1.1.1" + source-map-js: "npm:^1.2.1" + checksum: 10c0/7f2e63ae22fbe43aace1bf652bd99da4e90737c64194d49e51ddc9cd0f9e51ff2861a7d734379b494deffa03a880a5c65eec70bc29ee9ebaa7136dde3eee8f31 + languageName: node + linkType: hard + +"prelude-ls@npm:^1.2.1": + version: 1.2.1 + resolution: "prelude-ls@npm:1.2.1" + checksum: 10c0/b00d617431e7886c520a6f498a2e14c75ec58f6d93ba48c3b639cf241b54232d90daa05d83a9e9b9fef6baa63cb7e1e4602c2372fea5bc169668401eb127d0cd + languageName: node + linkType: hard + +"prettier@npm:^3.8.3": + version: 3.8.3 + resolution: "prettier@npm:3.8.3" + bin: + prettier: bin/prettier.cjs + checksum: 10c0/754816fd7593eb80f6376d7476d463e832c38a12f32775a82683adb6e35b772b1f484d65f19401507b983a8c8a7cd5a4a9f12006bd56491e8f35503473f77473 + languageName: node + linkType: hard + +"proc-log@npm:^6.0.0": + version: 6.1.0 + resolution: "proc-log@npm:6.1.0" + checksum: 10c0/4f178d4062733ead9d71a9b1ab24ebcecdfe2250916a5b1555f04fe2eda972a0ec76fbaa8df1ad9c02707add6749219d118a4fc46dc56bdfe4dde4b47d80bb82 + languageName: node + linkType: hard + +"proxy-from-env@npm:^2.1.0": + version: 2.1.0 + resolution: "proxy-from-env@npm:2.1.0" + checksum: 10c0/ed01729fd4d094eab619cd7e17ce3698b3413b31eb102c4904f9875e677cd207392795d5b4adee9cec359dfd31c44d5ad7595a3a3ad51c40250e141512281c58 + languageName: node + linkType: hard + +"publint@npm:^0.3.21": + version: 0.3.21 + resolution: "publint@npm:0.3.21" + dependencies: + "@publint/pack": "npm:^0.1.4" + package-manager-detector: "npm:^1.6.0" + picocolors: "npm:^1.1.1" + sade: "npm:^1.8.1" + bin: + publint: src/cli.js + checksum: 10c0/46f54061b112f852523e8b1357c5b454633008056de86f6acbbabcb155a8ab758d3e575df9f82fa37b7ba4a25bde8e68f98866763929eaef8c6d96ff1f761cea + languageName: node + linkType: hard + +"punycode@npm:^2.1.0": + version: 2.3.1 + resolution: "punycode@npm:2.3.1" + checksum: 10c0/14f76a8206bc3464f794fb2e3d3cc665ae416c01893ad7a02b23766eb07159144ee612ad67af5e84fa4479ccfe67678c4feb126b0485651b302babf66f04f9e9 + languageName: node + linkType: hard + +"resolve-from@npm:^5.0.0": + version: 5.0.0 + resolution: "resolve-from@npm:5.0.0" + checksum: 10c0/b21cb7f1fb746de8107b9febab60095187781137fd803e6a59a76d421444b1531b641bba5857f5dc011974d8a5c635d61cec49e6bd3b7fc20e01f0fafc4efbf2 + languageName: node + linkType: hard + +"resolve-pkg-maps@npm:^1.0.0": + version: 1.0.0 + resolution: "resolve-pkg-maps@npm:1.0.0" + checksum: 10c0/fb8f7bbe2ca281a73b7ef423a1cbc786fb244bd7a95cbe5c3fba25b27d327150beca8ba02f622baea65919a57e061eb5005204daa5f93ed590d9b77463a567ab + languageName: node + linkType: hard + +"rolldown@npm:1.0.1": + version: 1.0.1 + resolution: "rolldown@npm:1.0.1" + dependencies: + "@oxc-project/types": "npm:=0.130.0" + "@rolldown/binding-android-arm64": "npm:1.0.1" + "@rolldown/binding-darwin-arm64": "npm:1.0.1" + "@rolldown/binding-darwin-x64": "npm:1.0.1" + "@rolldown/binding-freebsd-x64": "npm:1.0.1" + "@rolldown/binding-linux-arm-gnueabihf": "npm:1.0.1" + "@rolldown/binding-linux-arm64-gnu": "npm:1.0.1" + "@rolldown/binding-linux-arm64-musl": "npm:1.0.1" + "@rolldown/binding-linux-ppc64-gnu": "npm:1.0.1" + "@rolldown/binding-linux-s390x-gnu": "npm:1.0.1" + "@rolldown/binding-linux-x64-gnu": "npm:1.0.1" + "@rolldown/binding-linux-x64-musl": "npm:1.0.1" + "@rolldown/binding-openharmony-arm64": "npm:1.0.1" + "@rolldown/binding-wasm32-wasi": "npm:1.0.1" + "@rolldown/binding-win32-arm64-msvc": "npm:1.0.1" + "@rolldown/binding-win32-x64-msvc": "npm:1.0.1" + "@rolldown/pluginutils": "npm:^1.0.0" + dependenciesMeta: + "@rolldown/binding-android-arm64": + optional: true + "@rolldown/binding-darwin-arm64": + optional: true + "@rolldown/binding-darwin-x64": + optional: true + "@rolldown/binding-freebsd-x64": + optional: true + "@rolldown/binding-linux-arm-gnueabihf": + optional: true + "@rolldown/binding-linux-arm64-gnu": + optional: true + "@rolldown/binding-linux-arm64-musl": + optional: true + "@rolldown/binding-linux-ppc64-gnu": + optional: true + "@rolldown/binding-linux-s390x-gnu": + optional: true + "@rolldown/binding-linux-x64-gnu": + optional: true + "@rolldown/binding-linux-x64-musl": + optional: true + "@rolldown/binding-openharmony-arm64": + optional: true + "@rolldown/binding-wasm32-wasi": + optional: true + "@rolldown/binding-win32-arm64-msvc": + optional: true + "@rolldown/binding-win32-x64-msvc": + optional: true + bin: + rolldown: bin/cli.mjs + checksum: 10c0/0631c071874e1471c33923905061fa514fce2bd43c2e741adcddcaa4d9beaa2ba7a5d14af130d53753d838823e15b59f5acef7d24fb83ffb7aef15933b78e7d3 + languageName: node + linkType: hard + +"sade@npm:^1.8.1": + version: 1.8.1 + resolution: "sade@npm:1.8.1" + dependencies: + mri: "npm:^1.1.0" + checksum: 10c0/da8a3a5d667ad5ce3bf6d4f054bbb9f711103e5df21003c5a5c1a8a77ce12b640ed4017dd423b13c2307ea7e645adee7c2ae3afe8051b9db16a6f6d3da3f90b1 + languageName: node + linkType: hard + +"safe-buffer@npm:^5.0.1": + version: 5.2.1 + resolution: "safe-buffer@npm:5.2.1" + checksum: 10c0/6501914237c0a86e9675d4e51d89ca3c21ffd6a31642efeba25ad65720bce6921c9e7e974e5be91a786b25aa058b5303285d3c15dbabf983a919f5f630d349f3 + languageName: node + linkType: hard + +"semver@npm:^7.3.5, semver@npm:^7.5.3, semver@npm:^7.7.1, semver@npm:^7.7.2, semver@npm:^7.7.3, semver@npm:^7.7.4": + version: 7.8.0 + resolution: "semver@npm:7.8.0" + bin: + semver: bin/semver.js + checksum: 10c0/8f096ca9b80ffd47b308d03f9ce8c873e27e2983f36023c559cdc92c51e8433fc23ebbfe57ec9623fc155636a6961ee989501099841ae4bb1babc8d2b3f048cd + languageName: node + linkType: hard + +"shebang-command@npm:^2.0.0": + version: 2.0.0 + resolution: "shebang-command@npm:2.0.0" + dependencies: + shebang-regex: "npm:^3.0.0" + checksum: 10c0/a41692e7d89a553ef21d324a5cceb5f686d1f3c040759c50aab69688634688c5c327f26f3ecf7001ebfd78c01f3c7c0a11a7c8bfd0a8bc9f6240d4f40b224e4e + languageName: node + linkType: hard + +"shebang-regex@npm:^3.0.0": + version: 3.0.0 + resolution: "shebang-regex@npm:3.0.0" + checksum: 10c0/1dbed0726dd0e1152a92696c76c7f06084eb32a90f0528d11acd764043aacf76994b2fb30aa1291a21bd019d6699164d048286309a278855ee7bec06cf6fb690 + languageName: node + linkType: hard + +"siginfo@npm:^2.0.0": + version: 2.0.0 + resolution: "siginfo@npm:2.0.0" + checksum: 10c0/3def8f8e516fbb34cb6ae415b07ccc5d9c018d85b4b8611e3dc6f8be6d1899f693a4382913c9ed51a06babb5201639d76453ab297d1c54a456544acf5c892e34 + languageName: node + linkType: hard + +"smol-toml@npm:^1.6.1": + version: 1.6.1 + resolution: "smol-toml@npm:1.6.1" + checksum: 10c0/511a78722f99c7616fdb46af708de3d7e81434b5a3d58061166da73f28bfc6cae4f0cd04683f60515b9c490cd10152fce72287c960b337419c0299cc1f0f2a22 + languageName: node + linkType: hard + +"source-map-js@npm:^1.2.1": + version: 1.2.1 + resolution: "source-map-js@npm:1.2.1" + checksum: 10c0/7bda1fc4c197e3c6ff17de1b8b2c20e60af81b63a52cb32ec5a5d67a20a7d42651e2cb34ebe93833c5a2a084377e17455854fee3e21e7925c64a51b6a52b0faf + languageName: node + linkType: hard + +"stable-hash-x@npm:^0.2.0": + version: 0.2.0 + resolution: "stable-hash-x@npm:0.2.0" + checksum: 10c0/c757df58366ee4bb266a9486b8932eab7c1ba730469eaf4b68d2dee404814e9f84089c44c9b5205f8c7d99a0ab036cce2af69139ce5ed44b635923c011a8aea8 + languageName: node + linkType: hard + +"stackback@npm:0.0.2": + version: 0.0.2 + resolution: "stackback@npm:0.0.2" + checksum: 10c0/89a1416668f950236dd5ac9f9a6b2588e1b9b62b1b6ad8dff1bfc5d1a15dbf0aafc9b52d2226d00c28dffff212da464eaeebfc6b7578b9d180cef3e3782c5983 + languageName: node + linkType: hard + +"std-env@npm:^4.0.0-rc.1": + version: 4.1.0 + resolution: "std-env@npm:4.1.0" + checksum: 10c0/2e14b6b490db34cb969a48d9cf7c35bca4a47653914aac2814221baae7b867a5b15940d133625c391621971f98cd2266a5dc7036669960e883f1081db2a56558 + languageName: node + linkType: hard + +"strip-json-comments@npm:5.0.3": + version: 5.0.3 + resolution: "strip-json-comments@npm:5.0.3" + checksum: 10c0/daaf20b29f69fb51112698f4a9a662490dbb78d5baf6127c75a0a83c2ac6c078a8c0f74b389ad5e0519d6fc359c4a57cb9971b1ae201aef62ce45a13247791e0 + languageName: node + linkType: hard + +"supports-color@npm:^7.1.0": + version: 7.2.0 + resolution: "supports-color@npm:7.2.0" + dependencies: + has-flag: "npm:^4.0.0" + checksum: 10c0/afb4c88521b8b136b5f5f95160c98dee7243dc79d5432db7efc27efb219385bbc7d9427398e43dd6cc730a0f87d5085ce1652af7efbe391327bc0a7d0f7fc124 + languageName: node + linkType: hard + +"synckit@npm:^0.11.12": + version: 0.11.12 + resolution: "synckit@npm:0.11.12" + dependencies: + "@pkgr/core": "npm:^0.2.9" + checksum: 10c0/cc4d446806688ae0d728ae7bb3f53176d065cf9536647fb85bdd721dcefbd7bf94874df6799ff61580f2b03a392659219b778a9254ad499f9a1f56c34787c235 + languageName: node + linkType: hard + +"tar@npm:^7.5.4": + version: 7.5.15 + resolution: "tar@npm:7.5.15" + dependencies: + "@isaacs/fs-minipass": "npm:^4.0.0" + chownr: "npm:^3.0.0" + minipass: "npm:^7.1.2" + minizlib: "npm:^3.1.0" + yallist: "npm:^5.0.0" + checksum: 10c0/8f039edb1d12fdd7df6c6f9877d125afe9f3da3f5f9317df326fdd090d48793d6998cede1506a1471f3e3a250db270a89dace28005eb5e99c5a9132d704ac956 + languageName: node + linkType: hard + +"tinybench@npm:^2.9.0": + version: 2.9.0 + resolution: "tinybench@npm:2.9.0" + checksum: 10c0/c3500b0f60d2eb8db65250afe750b66d51623057ee88720b7f064894a6cb7eb93360ca824a60a31ab16dab30c7b1f06efe0795b352e37914a9d4bad86386a20c + languageName: node + linkType: hard + +"tinyexec@npm:^1.0.2": + version: 1.1.2 + resolution: "tinyexec@npm:1.1.2" + checksum: 10c0/9e0ef6c001ce54688cf16833a02f70a339276219ca947b88930b124267de2cffc764ff44e87e7369384b1d75ab63491465412cbbdf06f2437956b9ab66ab4491 + languageName: node + linkType: hard + +"tinyglobby@npm:^0.2.12, tinyglobby@npm:^0.2.14, tinyglobby@npm:^0.2.15, tinyglobby@npm:^0.2.16": + version: 0.2.16 + resolution: "tinyglobby@npm:0.2.16" + dependencies: + fdir: "npm:^6.5.0" + picomatch: "npm:^4.0.4" + checksum: 10c0/f2e09fd93dd95c41e522113b686ff6f7c13020962f8698a864a257f3d7737599afc47722b7ab726e12f8a813f779906187911ff8ee6701ede65072671a7e934b + languageName: node + linkType: hard + +"tinyrainbow@npm:^3.1.0": + version: 3.1.0 + resolution: "tinyrainbow@npm:3.1.0" + checksum: 10c0/f11cf387a26c5c9255bec141a90ac511b26172981b10c3e50053bc6700ea7d2336edcc4a3a21dbb8412fe7c013477d2ba4d7e4877800f3f8107be5105aad6511 + languageName: node + linkType: hard + +"ts-api-utils@npm:^2.5.0": + version: 2.5.0 + resolution: "ts-api-utils@npm:2.5.0" + peerDependencies: + typescript: ">=4.8.4" + checksum: 10c0/767849383c114e7f1971fa976b20e73ac28fd0c70d8d65c0004790bf4d8f89888c7e4cf6d5949f9c1beae9bc3c64835bef77bbe27fddf45a3c7b60cebcf85c8c + languageName: node + linkType: hard + +"tslib@npm:^2.4.0": + version: 2.8.1 + resolution: "tslib@npm:2.8.1" + checksum: 10c0/9c4759110a19c53f992d9aae23aac5ced636e99887b51b9e61def52611732872ff7668757d4e4c61f19691e36f4da981cd9485e869b4a7408d689f6bf1f14e62 + 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: 10c0/7b3fd0ed43891e2080bf0c5c504b418fbb3e5c7b9708d3d015037ba2e6323a28152ec163bcb65212741fa5d2022e3075ac3c76440dbd344c9035f818e8ecee58 + languageName: node + linkType: hard + +"typescript-eslint@npm:^8.59.4": + version: 8.59.4 + resolution: "typescript-eslint@npm:8.59.4" + dependencies: + "@typescript-eslint/eslint-plugin": "npm:8.59.4" + "@typescript-eslint/parser": "npm:8.59.4" + "@typescript-eslint/typescript-estree": "npm:8.59.4" + "@typescript-eslint/utils": "npm:8.59.4" + peerDependencies: + eslint: ^8.57.0 || ^9.0.0 || ^10.0.0 + typescript: ">=4.8.4 <6.1.0" + checksum: 10c0/96241e50eac4e646e56b7950405aa861ff2f744e4268c98e240ee702db0b45463a1e9146f09fbc71bfd8dc53b2b3c43c2f1fab6a92154c7e1c2b7373bcd5c90e + languageName: node + linkType: hard + +"typescript@npm:^6.0.3": + version: 6.0.3 + resolution: "typescript@npm:6.0.3" + bin: + tsc: bin/tsc + tsserver: bin/tsserver + checksum: 10c0/4a25ff5045b984370f48f196b3a0120779b1b343d40b9a68d114ea5e5fff099809b2bb777576991a63a5cd59cf7bffd96ff6fe10afcefbcb8bd6fb96ad4b6606 + languageName: node + linkType: hard + +"typescript@patch:typescript@npm%3A^6.0.3#optional!builtin": + version: 6.0.3 + resolution: "typescript@patch:typescript@npm%3A6.0.3#optional!builtin::version=6.0.3&hash=5786d5" + bin: + tsc: bin/tsc + tsserver: bin/tsserver + checksum: 10c0/2f25c74e65663c248fa1ade2b8459d9ce5372ff9dad07067310f132966ebec1d93f6c42f0baf77a6b6a7a91460463f708e6887013aaade22111037457c6b25df + languageName: node + linkType: hard + +"unbash@npm:^3.0.0": + version: 3.0.0 + resolution: "unbash@npm:3.0.0" + checksum: 10c0/8d237237805c8d23a6a7ba9ba1dac612b79431f2458aaa7975c472eba9f429991e46417fd8cdb14c1ad88adffbc0b914d0556ad5978bc42bbd2fa9b0942a4f91 + languageName: node + linkType: hard + +"undici-types@npm:>=7.24.0 <7.24.7": + version: 7.24.6 + resolution: "undici-types@npm:7.24.6" + checksum: 10c0/d9cd8befb643ac904615c280a095ba4240531f6bb4a5e75a22a7483630ca8d3f1016d2ab6ace6ceda1f63b3a2db2fe037fafe121d6917a0187573aa548ff78ca + languageName: node + linkType: hard + +"undici@npm:^6.25.0": + version: 6.25.0 + resolution: "undici@npm:6.25.0" + checksum: 10c0/2597cc6689bdb02c210c557b1f85febbfda65becae6e6fc1061508e2f33734d25207f81cd8af56ada9956329eb3a7bd7431e87dcfeceba20ee87059b57dcf985 + languageName: node + linkType: hard + +"unrs-resolver@npm:^1.7.11, unrs-resolver@npm:^1.9.2": + version: 1.12.2 + resolution: "unrs-resolver@npm:1.12.2" + dependencies: + "@unrs/resolver-binding-android-arm-eabi": "npm:1.12.2" + "@unrs/resolver-binding-android-arm64": "npm:1.12.2" + "@unrs/resolver-binding-darwin-arm64": "npm:1.12.2" + "@unrs/resolver-binding-darwin-x64": "npm:1.12.2" + "@unrs/resolver-binding-freebsd-x64": "npm:1.12.2" + "@unrs/resolver-binding-linux-arm-gnueabihf": "npm:1.12.2" + "@unrs/resolver-binding-linux-arm-musleabihf": "npm:1.12.2" + "@unrs/resolver-binding-linux-arm64-gnu": "npm:1.12.2" + "@unrs/resolver-binding-linux-arm64-musl": "npm:1.12.2" + "@unrs/resolver-binding-linux-loong64-gnu": "npm:1.12.2" + "@unrs/resolver-binding-linux-loong64-musl": "npm:1.12.2" + "@unrs/resolver-binding-linux-ppc64-gnu": "npm:1.12.2" + "@unrs/resolver-binding-linux-riscv64-gnu": "npm:1.12.2" + "@unrs/resolver-binding-linux-riscv64-musl": "npm:1.12.2" + "@unrs/resolver-binding-linux-s390x-gnu": "npm:1.12.2" + "@unrs/resolver-binding-linux-x64-gnu": "npm:1.12.2" + "@unrs/resolver-binding-linux-x64-musl": "npm:1.12.2" + "@unrs/resolver-binding-openharmony-arm64": "npm:1.12.2" + "@unrs/resolver-binding-wasm32-wasi": "npm:1.12.2" + "@unrs/resolver-binding-win32-arm64-msvc": "npm:1.12.2" + "@unrs/resolver-binding-win32-ia32-msvc": "npm:1.12.2" + "@unrs/resolver-binding-win32-x64-msvc": "npm:1.12.2" + napi-postinstall: "npm:^0.3.4" + dependenciesMeta: + "@unrs/resolver-binding-android-arm-eabi": + optional: true + "@unrs/resolver-binding-android-arm64": + optional: true + "@unrs/resolver-binding-darwin-arm64": + optional: true + "@unrs/resolver-binding-darwin-x64": + optional: true + "@unrs/resolver-binding-freebsd-x64": + optional: true + "@unrs/resolver-binding-linux-arm-gnueabihf": + optional: true + "@unrs/resolver-binding-linux-arm-musleabihf": + optional: true + "@unrs/resolver-binding-linux-arm64-gnu": + optional: true + "@unrs/resolver-binding-linux-arm64-musl": + optional: true + "@unrs/resolver-binding-linux-loong64-gnu": + optional: true + "@unrs/resolver-binding-linux-loong64-musl": + optional: true + "@unrs/resolver-binding-linux-ppc64-gnu": + optional: true + "@unrs/resolver-binding-linux-riscv64-gnu": + optional: true + "@unrs/resolver-binding-linux-riscv64-musl": + optional: true + "@unrs/resolver-binding-linux-s390x-gnu": + optional: true + "@unrs/resolver-binding-linux-x64-gnu": + optional: true + "@unrs/resolver-binding-linux-x64-musl": + optional: true + "@unrs/resolver-binding-openharmony-arm64": + optional: true + "@unrs/resolver-binding-wasm32-wasi": + optional: true + "@unrs/resolver-binding-win32-arm64-msvc": + optional: true + "@unrs/resolver-binding-win32-ia32-msvc": + optional: true + "@unrs/resolver-binding-win32-x64-msvc": + optional: true + checksum: 10c0/ddc27f6d920eabdafeac0077ebff9fd799c895cea025751dc17b360bf9be7c93c471fafebf65f205eec476f90d7daa36aef889d47362b2dd4705d68852bcfea4 + languageName: node + linkType: hard + +"uri-js@npm:^4.2.2": + version: 4.4.1 + resolution: "uri-js@npm:4.4.1" + dependencies: + punycode: "npm:^2.1.0" + checksum: 10c0/4ef57b45aa820d7ac6496e9208559986c665e49447cb072744c13b66925a362d96dd5a46c4530a6b8e203e5db5fe849369444440cb22ecfc26c679359e5dfa3c + languageName: node + linkType: hard + +"vite@npm:^6.0.0 || ^7.0.0 || ^8.0.0": + version: 8.0.13 + resolution: "vite@npm:8.0.13" + dependencies: + fsevents: "npm:~2.3.3" + lightningcss: "npm:^1.32.0" + picomatch: "npm:^4.0.4" + postcss: "npm:^8.5.14" + rolldown: "npm:1.0.1" + tinyglobby: "npm:^0.2.16" + peerDependencies: + "@types/node": ^20.19.0 || >=22.12.0 + "@vitejs/devtools": ^0.1.18 + esbuild: ^0.27.0 || ^0.28.0 + jiti: ">=1.21.0" + less: ^4.0.0 + sass: ^1.70.0 + sass-embedded: ^1.70.0 + stylus: ">=0.54.8" + sugarss: ^5.0.0 + terser: ^5.16.0 + tsx: ^4.8.1 + yaml: ^2.4.2 + dependenciesMeta: + fsevents: + optional: true + peerDependenciesMeta: + "@types/node": + optional: true + "@vitejs/devtools": + optional: true + esbuild: + optional: true + jiti: + optional: true + less: + 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: 10c0/8f4d6fd30c3be710f76dba8ee7cd156902200e649884911cfa8e6e5f7ad4dd5b6933bdd4f0c46c0169c49ddce9ce1bfab6d395df9d176c0d959e3ba0e5ee54e4 + languageName: node + linkType: hard + +"vitest@npm:^4.1.7": + version: 4.1.7 + resolution: "vitest@npm:4.1.7" + dependencies: + "@vitest/expect": "npm:4.1.7" + "@vitest/mocker": "npm:4.1.7" + "@vitest/pretty-format": "npm:4.1.7" + "@vitest/runner": "npm:4.1.7" + "@vitest/snapshot": "npm:4.1.7" + "@vitest/spy": "npm:4.1.7" + "@vitest/utils": "npm:4.1.7" + es-module-lexer: "npm:^2.0.0" + expect-type: "npm:^1.3.0" + magic-string: "npm:^0.30.21" + obug: "npm:^2.1.1" + pathe: "npm:^2.0.3" + picomatch: "npm:^4.0.3" + std-env: "npm:^4.0.0-rc.1" + tinybench: "npm:^2.9.0" + tinyexec: "npm:^1.0.2" + tinyglobby: "npm:^0.2.15" + tinyrainbow: "npm:^3.1.0" + vite: "npm:^6.0.0 || ^7.0.0 || ^8.0.0" + why-is-node-running: "npm:^2.3.0" + peerDependencies: + "@edge-runtime/vm": "*" + "@opentelemetry/api": ^1.9.0 + "@types/node": ^20.0.0 || ^22.0.0 || >=24.0.0 + "@vitest/browser-playwright": 4.1.7 + "@vitest/browser-preview": 4.1.7 + "@vitest/browser-webdriverio": 4.1.7 + "@vitest/coverage-istanbul": 4.1.7 + "@vitest/coverage-v8": 4.1.7 + "@vitest/ui": 4.1.7 + happy-dom: "*" + jsdom: "*" + vite: ^6.0.0 || ^7.0.0 || ^8.0.0 + peerDependenciesMeta: + "@edge-runtime/vm": + optional: true + "@opentelemetry/api": + optional: true + "@types/node": + optional: true + "@vitest/browser-playwright": + optional: true + "@vitest/browser-preview": + optional: true + "@vitest/browser-webdriverio": + optional: true + "@vitest/coverage-istanbul": + optional: true + "@vitest/coverage-v8": + optional: true + "@vitest/ui": + optional: true + happy-dom: + optional: true + jsdom: + optional: true + vite: + optional: false + bin: + vitest: vitest.mjs + checksum: 10c0/5328eab211161bdb854159154b02d7b2beab0cf1e26a1c13f6a64b0f1402029d41f19987cf60684051c09a6925030285195ecbe57271c2033e1d4f7a666590d0 + languageName: node + linkType: hard + +"vscode-languageserver-textdocument@npm:^1.0.12": + version: 1.0.12 + resolution: "vscode-languageserver-textdocument@npm:1.0.12" + checksum: 10c0/534349894b059602c4d97615a1147b6c4c031141c2093e59657f54e38570f5989c21b376836f13b9375419869242e9efb4066643208b21ab1e1dee111a0f00fb + languageName: node + linkType: hard + +"vscode-uri@npm:^3.1.0": + version: 3.1.0 + resolution: "vscode-uri@npm:3.1.0" + checksum: 10c0/5f6c9c10fd9b1664d71fab4e9fbbae6be93c7f75bb3a1d9d74399a88ab8649e99691223fd7cef4644376cac6e94fa2c086d802521b9a8e31c5af3e60f0f35624 + languageName: node + linkType: hard + +"walk-up-path@npm:^4.0.0": + version: 4.0.0 + resolution: "walk-up-path@npm:4.0.0" + checksum: 10c0/fabe344f91387d1d41df230af962ef18bf703dd4178006d55cd6412caacd187b54440002d4d53a982d4f7f0455567dcffb6d3884533c8b2268928eca3ebd8a19 + languageName: node + linkType: hard + +"web-streams-polyfill@npm:^3.0.3": + version: 3.3.3 + resolution: "web-streams-polyfill@npm:3.3.3" + checksum: 10c0/64e855c47f6c8330b5436147db1c75cb7e7474d924166800e8e2aab5eb6c76aac4981a84261dd2982b3e754490900b99791c80ae1407a9fa0dcff74f82ea3a7f + languageName: node + linkType: hard + +"which@npm:^2.0.1": + version: 2.0.2 + resolution: "which@npm:2.0.2" + dependencies: + isexe: "npm:^2.0.0" + bin: + node-which: ./bin/node-which + checksum: 10c0/66522872a768b60c2a65a57e8ad184e5372f5b6a9ca6d5f033d4b0dc98aff63995655a7503b9c0a2598936f532120e81dd8cc155e2e92ed662a2b9377cc4374f + languageName: node + linkType: hard + +"which@npm:^6.0.0": + version: 6.0.1 + resolution: "which@npm:6.0.1" + dependencies: + isexe: "npm:^4.0.0" + bin: + node-which: bin/which.js + checksum: 10c0/7e710e54ea36d2d6183bee2f9caa27a3b47b9baf8dee55a199b736fcf85eab3b9df7556fca3d02b50af7f3dfba5ea3a45644189836df06267df457e354da66d5 + 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: 10c0/1cde0b01b827d2cf4cb11db962f3958b9175d5d9e7ac7361d1a7b0e2dc6069a263e69118bd974c4f6d0a890ef4eedfe34cf3d5167ec14203dbc9a18620537054 + languageName: node + linkType: hard + +"word-wrap@npm:^1.2.5": + version: 1.2.5 + resolution: "word-wrap@npm:1.2.5" + checksum: 10c0/e0e4a1ca27599c92a6ca4c32260e8a92e8a44f4ef6ef93f803f8ed823f486e0889fc0b93be4db59c8d51b3064951d25e43d434e95dc8c960cc3a63d65d00ba20 + languageName: node + linkType: hard + +"xdg-basedir@npm:^5.1.0": + version: 5.1.0 + resolution: "xdg-basedir@npm:5.1.0" + checksum: 10c0/c88efabc71ffd996ba9ad8923a8cc1c7c020a03e2c59f0ffa72e06be9e724ad2a0fccef488757bc6ed3d8849d753dd25082d1035d95cb179e79eae4d034d0b80 + languageName: node + linkType: hard + +"yallist@npm:^5.0.0": + version: 5.0.0 + resolution: "yallist@npm:5.0.0" + checksum: 10c0/a499c81ce6d4a1d260d4ea0f6d49ab4da09681e32c3f0472dee16667ed69d01dae63a3b81745a24bd78476ec4fcf856114cb4896ace738e01da34b2c42235416 + languageName: node + linkType: hard + +"yaml@npm:^2.8.3, yaml@npm:^2.9.0": + version: 2.9.0 + resolution: "yaml@npm:2.9.0" + bin: + yaml: bin.mjs + checksum: 10c0/f340718df45e97a9551b9bf9dac61c80050bc464513b710debfb5067c380c8472e3b67809cffacb4ab5ffb5e66ef9310816c88b05f371cec60abfedd8c88e0a2 + languageName: node + linkType: hard + +"yocto-queue@npm:^0.1.0": + version: 0.1.0 + resolution: "yocto-queue@npm:0.1.0" + checksum: 10c0/dceb44c28578b31641e13695d200d34ec4ab3966a5729814d5445b194933c096b7ced71494ce53a0e8820685d1d010df8b2422e5bf2cdea7e469d97ffbea306f + languageName: node + linkType: hard + +"zod@npm:^4.1.11": + version: 4.4.3 + resolution: "zod@npm:4.4.3" + checksum: 10c0/7ea31b558e88f9faf44f31dd185e2e1cbf51fed3081787fb96cc2534749b50c0acfc6da7f0922a7353ed092dd358c7d50c28ea96c94d04af64191bd33152eca3 + languageName: node + linkType: hard From ccb986d2b2b0857ffb2ccaa89984649da474a270 Mon Sep 17 00:00:00 2001 From: Richmond Rice Date: Thu, 21 May 2026 17:21:37 +0100 Subject: [PATCH 32/36] pkg update --- yarn.lock | 157 ++++++++++++++++++++++++++++-------------------------- 1 file changed, 82 insertions(+), 75 deletions(-) diff --git a/yarn.lock b/yarn.lock index 548f59b..cd8e6cd 100644 --- a/yarn.lock +++ b/yarn.lock @@ -980,7 +980,14 @@ __metadata: languageName: node linkType: hard -"@oxc-project/types@npm:=0.130.0, @oxc-project/types@npm:^0.130.0": +"@oxc-project/types@npm:=0.132.0": + version: 0.132.0 + resolution: "@oxc-project/types@npm:0.132.0" + checksum: 10c0/d0ca5e98be0b873d69e4f0f743eb35026833603dac11db9d55f2b5438251b381b886dc556fe3175a17b673f8e2073c49bde88d7e6e702aa09298c22b8b5504e1 + languageName: node + linkType: hard + +"@oxc-project/types@npm:^0.130.0": version: 0.130.0 resolution: "@oxc-project/types@npm:0.130.0" checksum: 10c0/7ec8c03407b0bcb235b930c62859e6efcb3fe5cbaa5db98770d760df5c3e6b3e28a0ad22c2e35d1addede8065b40000c3822c5235dde2959af226639eb870000 @@ -1150,93 +1157,93 @@ __metadata: languageName: node linkType: hard -"@rolldown/binding-android-arm64@npm:1.0.1": - version: 1.0.1 - resolution: "@rolldown/binding-android-arm64@npm:1.0.1" +"@rolldown/binding-android-arm64@npm:1.0.2": + version: 1.0.2 + resolution: "@rolldown/binding-android-arm64@npm:1.0.2" conditions: os=android & cpu=arm64 languageName: node linkType: hard -"@rolldown/binding-darwin-arm64@npm:1.0.1": - version: 1.0.1 - resolution: "@rolldown/binding-darwin-arm64@npm:1.0.1" +"@rolldown/binding-darwin-arm64@npm:1.0.2": + version: 1.0.2 + resolution: "@rolldown/binding-darwin-arm64@npm:1.0.2" conditions: os=darwin & cpu=arm64 languageName: node linkType: hard -"@rolldown/binding-darwin-x64@npm:1.0.1": - version: 1.0.1 - resolution: "@rolldown/binding-darwin-x64@npm:1.0.1" +"@rolldown/binding-darwin-x64@npm:1.0.2": + version: 1.0.2 + resolution: "@rolldown/binding-darwin-x64@npm:1.0.2" conditions: os=darwin & cpu=x64 languageName: node linkType: hard -"@rolldown/binding-freebsd-x64@npm:1.0.1": - version: 1.0.1 - resolution: "@rolldown/binding-freebsd-x64@npm:1.0.1" +"@rolldown/binding-freebsd-x64@npm:1.0.2": + version: 1.0.2 + resolution: "@rolldown/binding-freebsd-x64@npm:1.0.2" conditions: os=freebsd & cpu=x64 languageName: node linkType: hard -"@rolldown/binding-linux-arm-gnueabihf@npm:1.0.1": - version: 1.0.1 - resolution: "@rolldown/binding-linux-arm-gnueabihf@npm:1.0.1" +"@rolldown/binding-linux-arm-gnueabihf@npm:1.0.2": + version: 1.0.2 + resolution: "@rolldown/binding-linux-arm-gnueabihf@npm:1.0.2" conditions: os=linux & cpu=arm languageName: node linkType: hard -"@rolldown/binding-linux-arm64-gnu@npm:1.0.1": - version: 1.0.1 - resolution: "@rolldown/binding-linux-arm64-gnu@npm:1.0.1" +"@rolldown/binding-linux-arm64-gnu@npm:1.0.2": + version: 1.0.2 + resolution: "@rolldown/binding-linux-arm64-gnu@npm:1.0.2" conditions: os=linux & cpu=arm64 & libc=glibc languageName: node linkType: hard -"@rolldown/binding-linux-arm64-musl@npm:1.0.1": - version: 1.0.1 - resolution: "@rolldown/binding-linux-arm64-musl@npm:1.0.1" +"@rolldown/binding-linux-arm64-musl@npm:1.0.2": + version: 1.0.2 + resolution: "@rolldown/binding-linux-arm64-musl@npm:1.0.2" conditions: os=linux & cpu=arm64 & libc=musl languageName: node linkType: hard -"@rolldown/binding-linux-ppc64-gnu@npm:1.0.1": - version: 1.0.1 - resolution: "@rolldown/binding-linux-ppc64-gnu@npm:1.0.1" +"@rolldown/binding-linux-ppc64-gnu@npm:1.0.2": + version: 1.0.2 + resolution: "@rolldown/binding-linux-ppc64-gnu@npm:1.0.2" conditions: os=linux & cpu=ppc64 & libc=glibc languageName: node linkType: hard -"@rolldown/binding-linux-s390x-gnu@npm:1.0.1": - version: 1.0.1 - resolution: "@rolldown/binding-linux-s390x-gnu@npm:1.0.1" +"@rolldown/binding-linux-s390x-gnu@npm:1.0.2": + version: 1.0.2 + resolution: "@rolldown/binding-linux-s390x-gnu@npm:1.0.2" conditions: os=linux & cpu=s390x & libc=glibc languageName: node linkType: hard -"@rolldown/binding-linux-x64-gnu@npm:1.0.1": - version: 1.0.1 - resolution: "@rolldown/binding-linux-x64-gnu@npm:1.0.1" +"@rolldown/binding-linux-x64-gnu@npm:1.0.2": + version: 1.0.2 + resolution: "@rolldown/binding-linux-x64-gnu@npm:1.0.2" conditions: os=linux & cpu=x64 & libc=glibc languageName: node linkType: hard -"@rolldown/binding-linux-x64-musl@npm:1.0.1": - version: 1.0.1 - resolution: "@rolldown/binding-linux-x64-musl@npm:1.0.1" +"@rolldown/binding-linux-x64-musl@npm:1.0.2": + version: 1.0.2 + resolution: "@rolldown/binding-linux-x64-musl@npm:1.0.2" conditions: os=linux & cpu=x64 & libc=musl languageName: node linkType: hard -"@rolldown/binding-openharmony-arm64@npm:1.0.1": - version: 1.0.1 - resolution: "@rolldown/binding-openharmony-arm64@npm:1.0.1" +"@rolldown/binding-openharmony-arm64@npm:1.0.2": + version: 1.0.2 + resolution: "@rolldown/binding-openharmony-arm64@npm:1.0.2" conditions: os=openharmony & cpu=arm64 languageName: node linkType: hard -"@rolldown/binding-wasm32-wasi@npm:1.0.1": - version: 1.0.1 - resolution: "@rolldown/binding-wasm32-wasi@npm:1.0.1" +"@rolldown/binding-wasm32-wasi@npm:1.0.2": + version: 1.0.2 + resolution: "@rolldown/binding-wasm32-wasi@npm:1.0.2" dependencies: "@emnapi/core": "npm:1.10.0" "@emnapi/runtime": "npm:1.10.0" @@ -1245,16 +1252,16 @@ __metadata: languageName: node linkType: hard -"@rolldown/binding-win32-arm64-msvc@npm:1.0.1": - version: 1.0.1 - resolution: "@rolldown/binding-win32-arm64-msvc@npm:1.0.1" +"@rolldown/binding-win32-arm64-msvc@npm:1.0.2": + version: 1.0.2 + resolution: "@rolldown/binding-win32-arm64-msvc@npm:1.0.2" conditions: os=win32 & cpu=arm64 languageName: node linkType: hard -"@rolldown/binding-win32-x64-msvc@npm:1.0.1": - version: 1.0.1 - resolution: "@rolldown/binding-win32-x64-msvc@npm:1.0.1" +"@rolldown/binding-win32-x64-msvc@npm:1.0.2": + version: 1.0.2 + resolution: "@rolldown/binding-win32-x64-msvc@npm:1.0.2" conditions: os=win32 & cpu=x64 languageName: node linkType: hard @@ -1909,7 +1916,7 @@ __metadata: "blaise-iap-node-provider@git+https://github.com/ONSdigital/blaise-iap-node-provider.git#BLAIS5-5177": version: 1.0.0 - resolution: "blaise-iap-node-provider@https://github.com/ONSdigital/blaise-iap-node-provider.git#commit=0f41dd2986ee543c79b46b500426d1f60a54cbbe" + resolution: "blaise-iap-node-provider@https://github.com/ONSdigital/blaise-iap-node-provider.git#commit=e58a98ca4a4ac383e942ab698db6c4f1e9678d41" dependencies: google-auth-library: "npm:^10.6.2" checksum: 10c0/704f488d394a7f6a92f5455a8b47c3a70da201db6ac066c183ffa2707cc2469cd15096f685405ab91f8e2d9ad641370fd47cdd91fdf734847c9e054939a7d232 @@ -3687,7 +3694,7 @@ __metadata: languageName: node linkType: hard -"postcss@npm:^8.5.14": +"postcss@npm:^8.5.15": version: 8.5.15 resolution: "postcss@npm:8.5.15" dependencies: @@ -3763,26 +3770,26 @@ __metadata: languageName: node linkType: hard -"rolldown@npm:1.0.1": - version: 1.0.1 - resolution: "rolldown@npm:1.0.1" - dependencies: - "@oxc-project/types": "npm:=0.130.0" - "@rolldown/binding-android-arm64": "npm:1.0.1" - "@rolldown/binding-darwin-arm64": "npm:1.0.1" - "@rolldown/binding-darwin-x64": "npm:1.0.1" - "@rolldown/binding-freebsd-x64": "npm:1.0.1" - "@rolldown/binding-linux-arm-gnueabihf": "npm:1.0.1" - "@rolldown/binding-linux-arm64-gnu": "npm:1.0.1" - "@rolldown/binding-linux-arm64-musl": "npm:1.0.1" - "@rolldown/binding-linux-ppc64-gnu": "npm:1.0.1" - "@rolldown/binding-linux-s390x-gnu": "npm:1.0.1" - "@rolldown/binding-linux-x64-gnu": "npm:1.0.1" - "@rolldown/binding-linux-x64-musl": "npm:1.0.1" - "@rolldown/binding-openharmony-arm64": "npm:1.0.1" - "@rolldown/binding-wasm32-wasi": "npm:1.0.1" - "@rolldown/binding-win32-arm64-msvc": "npm:1.0.1" - "@rolldown/binding-win32-x64-msvc": "npm:1.0.1" +"rolldown@npm:1.0.2": + version: 1.0.2 + resolution: "rolldown@npm:1.0.2" + dependencies: + "@oxc-project/types": "npm:=0.132.0" + "@rolldown/binding-android-arm64": "npm:1.0.2" + "@rolldown/binding-darwin-arm64": "npm:1.0.2" + "@rolldown/binding-darwin-x64": "npm:1.0.2" + "@rolldown/binding-freebsd-x64": "npm:1.0.2" + "@rolldown/binding-linux-arm-gnueabihf": "npm:1.0.2" + "@rolldown/binding-linux-arm64-gnu": "npm:1.0.2" + "@rolldown/binding-linux-arm64-musl": "npm:1.0.2" + "@rolldown/binding-linux-ppc64-gnu": "npm:1.0.2" + "@rolldown/binding-linux-s390x-gnu": "npm:1.0.2" + "@rolldown/binding-linux-x64-gnu": "npm:1.0.2" + "@rolldown/binding-linux-x64-musl": "npm:1.0.2" + "@rolldown/binding-openharmony-arm64": "npm:1.0.2" + "@rolldown/binding-wasm32-wasi": "npm:1.0.2" + "@rolldown/binding-win32-arm64-msvc": "npm:1.0.2" + "@rolldown/binding-win32-x64-msvc": "npm:1.0.2" "@rolldown/pluginutils": "npm:^1.0.0" dependenciesMeta: "@rolldown/binding-android-arm64": @@ -3816,8 +3823,8 @@ __metadata: "@rolldown/binding-win32-x64-msvc": optional: true bin: - rolldown: bin/cli.mjs - checksum: 10c0/0631c071874e1471c33923905061fa514fce2bd43c2e741adcddcaa4d9beaa2ba7a5d14af130d53753d838823e15b59f5acef7d24fb83ffb7aef15933b78e7d3 + rolldown: ./bin/cli.mjs + checksum: 10c0/628327a6e3122c0b62880f1c87d54095394e5138a6af2e6e7b2f67ef4c4b11f1421db68c9a5bb4e1be161465a863ab4f68f15076ce895cd4bb3d0ba18a3b20b1 languageName: node linkType: hard @@ -4140,14 +4147,14 @@ __metadata: linkType: hard "vite@npm:^6.0.0 || ^7.0.0 || ^8.0.0": - version: 8.0.13 - resolution: "vite@npm:8.0.13" + version: 8.0.14 + resolution: "vite@npm:8.0.14" dependencies: fsevents: "npm:~2.3.3" lightningcss: "npm:^1.32.0" picomatch: "npm:^4.0.4" - postcss: "npm:^8.5.14" - rolldown: "npm:1.0.1" + postcss: "npm:^8.5.15" + rolldown: "npm:1.0.2" tinyglobby: "npm:^0.2.16" peerDependencies: "@types/node": ^20.19.0 || >=22.12.0 @@ -4192,7 +4199,7 @@ __metadata: optional: true bin: vite: bin/vite.js - checksum: 10c0/8f4d6fd30c3be710f76dba8ee7cd156902200e649884911cfa8e6e5f7ad4dd5b6933bdd4f0c46c0169c49ddce9ce1bfab6d395df9d176c0d959e3ba0e5ee54e4 + checksum: 10c0/1ff99b4daadc64aed5f9e40387ecf39fd3bca45c1a5c4fa4aa82197de901930f0507af8d75c54715e2744c99575913947efb625653a78ef6df3997c5613970bd languageName: node linkType: hard From 1a0632246de4321da52a31fdc30fe6385c549f80 Mon Sep 17 00:00:00 2001 From: Richmond Rice Date: Thu, 21 May 2026 22:52:45 +0100 Subject: [PATCH 33/36] dead code --- src/mocks/questionnaire.mock.ts | 4 ---- src/types/questionnaire.types.ts | 6 ------ 2 files changed, 10 deletions(-) diff --git a/src/mocks/questionnaire.mock.ts b/src/mocks/questionnaire.mock.ts index 817fff1..04d7d63 100644 --- a/src/mocks/questionnaire.mock.ts +++ b/src/mocks/questionnaire.mock.ts @@ -13,7 +13,6 @@ export const mockQuestionnaires = [ status: "Active", dataRecordCount: 0, hasData: false, - active: false, }, { name: "OPN2007T", @@ -22,7 +21,6 @@ export const mockQuestionnaires = [ status: "Active", dataRecordCount: 10, hasData: true, - active: true, }, { name: "LMS2101_AA1", @@ -31,7 +29,6 @@ export const mockQuestionnaires = [ status: "Active", dataRecordCount: 0, hasData: false, - active: false, }, ] as const satisfies readonly Questionnaire[]; @@ -42,7 +39,6 @@ export const mockQuestionnaire = { status: "Active", dataRecordCount: 0, hasData: false, - active: false, blaiseVersion: "5.9.9.2735", } as const satisfies Questionnaire; diff --git a/src/types/questionnaire.types.ts b/src/types/questionnaire.types.ts index 62a26d3..e48c9d6 100644 --- a/src/types/questionnaire.types.ts +++ b/src/types/questionnaire.types.ts @@ -8,10 +8,6 @@ export interface Questionnaire { readonly name: string; readonly expired?: boolean; readonly serverParkName: string; - /** @deprecated */ - readonly activeToday?: boolean; - /** @deprecated */ - readonly surveyDays?: readonly string[]; readonly link?: string; readonly fieldPeriod?: string; readonly surveyTla?: string; @@ -19,8 +15,6 @@ export interface Questionnaire { readonly status?: string; readonly hasData?: boolean; readonly nodes?: readonly QuestionnaireNode[]; - /** @deprecated */ - readonly active?: boolean; readonly blaiseVersion?: string; } From 122a3bd521998ec55a26665c44309632d55579c5 Mon Sep 17 00:00:00 2001 From: Richmond Rice Date: Thu, 21 May 2026 22:58:56 +0100 Subject: [PATCH 34/36] pkg update --- yarn.lock | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/yarn.lock b/yarn.lock index cd8e6cd..f3dd610 100644 --- a/yarn.lock +++ b/yarn.lock @@ -3845,11 +3845,11 @@ __metadata: linkType: hard "semver@npm:^7.3.5, semver@npm:^7.5.3, semver@npm:^7.7.1, semver@npm:^7.7.2, semver@npm:^7.7.3, semver@npm:^7.7.4": - version: 7.8.0 - resolution: "semver@npm:7.8.0" + version: 7.8.1 + resolution: "semver@npm:7.8.1" bin: semver: bin/semver.js - checksum: 10c0/8f096ca9b80ffd47b308d03f9ce8c873e27e2983f36023c559cdc92c51e8433fc23ebbfe57ec9623fc155636a6961ee989501099841ae4bb1babc8d2b3f048cd + checksum: 10c0/92d6871d6347e1f99d0ba396a70f2545ccf2a032cda3d378fa0699edf7506b5c6d266aed55c8b88e72bd91a30d2351e4f39db479375374430fcdc4b58f4e3c1a languageName: node linkType: hard From c1172d556e24da0ea2382a7bc47740beb938a1d3 Mon Sep 17 00:00:00 2001 From: Richmond Rice Date: Fri, 22 May 2026 00:28:17 +0100 Subject: [PATCH 35/36] Update package.json --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 55758bf..4ecbea4 100644 --- a/package.json +++ b/package.json @@ -29,7 +29,7 @@ "sideEffects": false, "scripts": { "build": "yarn tsc -p tsconfig.build.json && yarn publint --pack npm", - "lint": "yarn typecheck && yarn eslint . && yarn prettier --check . && yarn knip", + "lint": "yarn typecheck && yarn eslint . --max-warnings 0 && yarn prettier --check . && yarn knip", "lint-fix": "yarn eslint . --fix && yarn prettier --write . && yarn knip --fix", "prepack": "yarn build", "spellcheck": "yarn cspell \"**/*.{ts,tsx,json,jsonc,yml,yaml,md}\" --no-progress --no-summary", From 0ddc5af02c6a45bb5119d98059a8ab76bb8626b1 Mon Sep 17 00:00:00 2001 From: Richmond Rice Date: Wed, 27 May 2026 13:14:55 +0100 Subject: [PATCH 36/36] pkg update --- package.json | 4 +- yarn.lock | 232 +++++++++++++++++++++++++-------------------------- 2 files changed, 118 insertions(+), 118 deletions(-) diff --git a/package.json b/package.json index 4ecbea4..44b8472 100644 --- a/package.json +++ b/package.json @@ -55,11 +55,11 @@ "globals": "^17.6.0", "jiti": "^2.7.0", "jsonc-eslint-parser": "^3.1.0", - "knip": "^6.14.1", + "knip": "^6.14.2", "prettier": "^3.8.3", "publint": "^0.3.21", "typescript": "^6.0.3", - "typescript-eslint": "^8.59.4", + "typescript-eslint": "^8.60.0", "vitest": "^4.1.7" }, "packageManager": "yarn@4.14.1" diff --git a/yarn.lock b/yarn.lock index f3dd610..0fc8034 100644 --- a/yarn.lock +++ b/yarn.lock @@ -5,38 +5,38 @@ __metadata: version: 9 cacheKey: 10c0 -"@babel/helper-string-parser@npm:^7.27.1": - version: 7.27.1 - resolution: "@babel/helper-string-parser@npm:7.27.1" - checksum: 10c0/8bda3448e07b5583727c103560bcf9c4c24b3c1051a4c516d4050ef69df37bb9a4734a585fe12725b8c2763de0a265aa1e909b485a4e3270b7cfd3e4dbe4b602 +"@babel/helper-string-parser@npm:^7.29.7": + version: 7.29.7 + resolution: "@babel/helper-string-parser@npm:7.29.7" + checksum: 10c0/194bc0f1716e396d5ffde56ad6119745fb9557662c98611590e5e454906783a4ccb21ce93056b8eb69a4909044834e45d96e50ac695bbe9e3221648fe033c06c languageName: node linkType: hard -"@babel/helper-validator-identifier@npm:^7.28.5": - version: 7.28.5 - resolution: "@babel/helper-validator-identifier@npm:7.28.5" - checksum: 10c0/42aaebed91f739a41f3d80b72752d1f95fd7c72394e8e4bd7cdd88817e0774d80a432451bcba17c2c642c257c483bf1d409dd4548883429ea9493a3bc4ab0847 +"@babel/helper-validator-identifier@npm:^7.29.7": + version: 7.29.7 + resolution: "@babel/helper-validator-identifier@npm:7.29.7" + checksum: 10c0/4795354e7ae0dcafa72de1cd04ec51252dc1498517170beaf019e03effc5b7bf13c6b21a3949a77e07b8125be7f106ed1131350d8ebd4566ae874094a726d62b languageName: node linkType: hard "@babel/parser@npm:^7.29.3": - version: 7.29.3 - resolution: "@babel/parser@npm:7.29.3" + version: 7.29.7 + resolution: "@babel/parser@npm:7.29.7" dependencies: - "@babel/types": "npm:^7.29.0" + "@babel/types": "npm:^7.29.7" bin: parser: ./bin/babel-parser.js - checksum: 10c0/f06920c819550c0db689e4c5b626bf55ba3cebf80ebe9ccfa434e134036cf3de50951fe759f74abb2dae381989239860bde46d4600328578ad1f7114c3711a6d + checksum: 10c0/65133038f80b54a714d6027cb77cee3f9a6b5c4c6842ce674301e13947cbcbfa8055e63acaf1b84c085d34226a14425b2c2b97b829e0e226d2e8f1299942a51d languageName: node linkType: hard -"@babel/types@npm:^7.29.0": - version: 7.29.0 - resolution: "@babel/types@npm:7.29.0" +"@babel/types@npm:^7.29.0, @babel/types@npm:^7.29.7": + version: 7.29.7 + resolution: "@babel/types@npm:7.29.7" dependencies: - "@babel/helper-string-parser": "npm:^7.27.1" - "@babel/helper-validator-identifier": "npm:^7.28.5" - checksum: 10c0/23cc3466e83bcbfab8b9bd0edaafdb5d4efdb88b82b3be6728bbade5ba2f0996f84f63b1c5f7a8c0d67efded28300898a5f930b171bb40b311bca2029c4e9b4f + "@babel/helper-string-parser": "npm:^7.29.7" + "@babel/helper-validator-identifier": "npm:^7.29.7" + checksum: 10c0/b6623994c69717fa27294f5fa46d59140338e2d86c6c1c13085c84ef7d53086ee357fbf4fe9abe3dd3da75734dc77c4c0df2f90fb29e667558bb3b3fb705e88f languageName: node linkType: hard @@ -1336,105 +1336,105 @@ __metadata: languageName: node linkType: hard -"@typescript-eslint/eslint-plugin@npm:8.59.4": - version: 8.59.4 - resolution: "@typescript-eslint/eslint-plugin@npm:8.59.4" +"@typescript-eslint/eslint-plugin@npm:8.60.0": + version: 8.60.0 + resolution: "@typescript-eslint/eslint-plugin@npm:8.60.0" dependencies: "@eslint-community/regexpp": "npm:^4.12.2" - "@typescript-eslint/scope-manager": "npm:8.59.4" - "@typescript-eslint/type-utils": "npm:8.59.4" - "@typescript-eslint/utils": "npm:8.59.4" - "@typescript-eslint/visitor-keys": "npm:8.59.4" + "@typescript-eslint/scope-manager": "npm:8.60.0" + "@typescript-eslint/type-utils": "npm:8.60.0" + "@typescript-eslint/utils": "npm:8.60.0" + "@typescript-eslint/visitor-keys": "npm:8.60.0" ignore: "npm:^7.0.5" natural-compare: "npm:^1.4.0" ts-api-utils: "npm:^2.5.0" peerDependencies: - "@typescript-eslint/parser": ^8.59.4 + "@typescript-eslint/parser": ^8.60.0 eslint: ^8.57.0 || ^9.0.0 || ^10.0.0 typescript: ">=4.8.4 <6.1.0" - checksum: 10c0/53639bb5cbb5cb22d5e8d52c404a217cb1af4b1c3a8f6f3bb15824807b4db4bed49008d3b3f7688295285e764c7aff3b682b56dece3013a81de83f47bdf2b36c + checksum: 10c0/76dc44d21879a8977d916ab652b86a30e5b69493a0da4ce43ec403442da041320666b5987d6af7d4c9888d52c603e0bb51809b802f98a95d5ee37ca0e8ca5ac3 languageName: node linkType: hard -"@typescript-eslint/parser@npm:8.59.4": - version: 8.59.4 - resolution: "@typescript-eslint/parser@npm:8.59.4" +"@typescript-eslint/parser@npm:8.60.0": + version: 8.60.0 + resolution: "@typescript-eslint/parser@npm:8.60.0" dependencies: - "@typescript-eslint/scope-manager": "npm:8.59.4" - "@typescript-eslint/types": "npm:8.59.4" - "@typescript-eslint/typescript-estree": "npm:8.59.4" - "@typescript-eslint/visitor-keys": "npm:8.59.4" + "@typescript-eslint/scope-manager": "npm:8.60.0" + "@typescript-eslint/types": "npm:8.60.0" + "@typescript-eslint/typescript-estree": "npm:8.60.0" + "@typescript-eslint/visitor-keys": "npm:8.60.0" debug: "npm:^4.4.3" peerDependencies: eslint: ^8.57.0 || ^9.0.0 || ^10.0.0 typescript: ">=4.8.4 <6.1.0" - checksum: 10c0/7dccab1bec898aee2c8aa8e08560ce6d439ef174358e98d5d92ee3f8a9fc0b044534ce0eecf57521f284858f937ec968941200c1df9ffd0baa0795bffa3de97d + checksum: 10c0/1012911e3eca8b3f3a3ca11424c32859ac38b4968bdb4c385c485ce545781da3ad964eceae86177a9aca2cfcbefd03ecf49507d221c7a70918fe0fa6cb8764e7 languageName: node linkType: hard -"@typescript-eslint/project-service@npm:8.59.4": - version: 8.59.4 - resolution: "@typescript-eslint/project-service@npm:8.59.4" +"@typescript-eslint/project-service@npm:8.60.0": + version: 8.60.0 + resolution: "@typescript-eslint/project-service@npm:8.60.0" dependencies: - "@typescript-eslint/tsconfig-utils": "npm:^8.59.4" - "@typescript-eslint/types": "npm:^8.59.4" + "@typescript-eslint/tsconfig-utils": "npm:^8.60.0" + "@typescript-eslint/types": "npm:^8.60.0" debug: "npm:^4.4.3" peerDependencies: typescript: ">=4.8.4 <6.1.0" - checksum: 10c0/ba466e3b4091f79bd9ae8c29591d4858760293c2bc5d355642b9bf04b9c6fcd4418ff255485aaaf005edb84f6aaefeb53a3c1627bbbb70a905a4786d20f0b06a + checksum: 10c0/8f72c2f10254787084d19fc73aebd7970bd3f163836c006e5d6997d874a36550d4a6c35b4762a36117be6fa6b84e13268db0a6b572c29b3e7c8c89f25bbb8b65 languageName: node linkType: hard -"@typescript-eslint/scope-manager@npm:8.59.4": - version: 8.59.4 - resolution: "@typescript-eslint/scope-manager@npm:8.59.4" +"@typescript-eslint/scope-manager@npm:8.60.0": + version: 8.60.0 + resolution: "@typescript-eslint/scope-manager@npm:8.60.0" dependencies: - "@typescript-eslint/types": "npm:8.59.4" - "@typescript-eslint/visitor-keys": "npm:8.59.4" - checksum: 10c0/0e4701f8c3384c7406f372cb06762d6bf943aba3afe2c231e4e942ee2e8b4cd4e9e7667ec503502dc4a159b826892dbe1487e2a8d143e190c850744b2a329857 + "@typescript-eslint/types": "npm:8.60.0" + "@typescript-eslint/visitor-keys": "npm:8.60.0" + checksum: 10c0/d64c7c45f9e045fa10905b6703195735b19314f872811e1fd903b6197fb33528a49192ef6ca3183e406601b8d29e8d0096fabfc3e8a99320476e5108d4739f52 languageName: node linkType: hard -"@typescript-eslint/tsconfig-utils@npm:8.59.4, @typescript-eslint/tsconfig-utils@npm:^8.59.4": - version: 8.59.4 - resolution: "@typescript-eslint/tsconfig-utils@npm:8.59.4" +"@typescript-eslint/tsconfig-utils@npm:8.60.0, @typescript-eslint/tsconfig-utils@npm:^8.60.0": + version: 8.60.0 + resolution: "@typescript-eslint/tsconfig-utils@npm:8.60.0" peerDependencies: typescript: ">=4.8.4 <6.1.0" - checksum: 10c0/ef6cf20eb93cb5e12439bc9713f5d9c619d516aefd3ecd4f111d9b23ef9f36e5c13f1bbcd55faa6a4b788b146b2a8724a418504107d4d377d0463f419fe9e1f3 + checksum: 10c0/701eae9a5064c5501e9dccd5a8e0baf365ef9a09da4d523873df303ef139644fad43e3d91b03f9a6ebbb141c0e066fc26ad0c40d5113b7c0d6c9ba69450c2520 languageName: node linkType: hard -"@typescript-eslint/type-utils@npm:8.59.4": - version: 8.59.4 - resolution: "@typescript-eslint/type-utils@npm:8.59.4" +"@typescript-eslint/type-utils@npm:8.60.0": + version: 8.60.0 + resolution: "@typescript-eslint/type-utils@npm:8.60.0" dependencies: - "@typescript-eslint/types": "npm:8.59.4" - "@typescript-eslint/typescript-estree": "npm:8.59.4" - "@typescript-eslint/utils": "npm:8.59.4" + "@typescript-eslint/types": "npm:8.60.0" + "@typescript-eslint/typescript-estree": "npm:8.60.0" + "@typescript-eslint/utils": "npm:8.60.0" debug: "npm:^4.4.3" ts-api-utils: "npm:^2.5.0" peerDependencies: eslint: ^8.57.0 || ^9.0.0 || ^10.0.0 typescript: ">=4.8.4 <6.1.0" - checksum: 10c0/93b1a96c395b22da81990655d2fc86d627f5ad815d33faa474b83463c27d34de86a8efedce6cd911d479fcfdc5a758476efa350933f5f97a4181fd226c4ccb6d + checksum: 10c0/2b6d8efe6b8e6f63ecfcca218c255c3f846b78b9567579bec3d16ea97563edebd9d25e7ab3cdf82332c9ded45b7dbfdc1e6540c4503f4716ae8cbd93ab78f605 languageName: node linkType: hard -"@typescript-eslint/types@npm:8.59.4, @typescript-eslint/types@npm:^8.56.0, @typescript-eslint/types@npm:^8.59.4": - version: 8.59.4 - resolution: "@typescript-eslint/types@npm:8.59.4" - checksum: 10c0/5bb831f9acf98057b3dce6ebfc1df5f1796e701cdf035e71fdee6d0bb7f7e7d9c428bac38f46db4e08381ad8903424fcfbe55bcae223a6244b9133de8e0be190 +"@typescript-eslint/types@npm:8.60.0, @typescript-eslint/types@npm:^8.56.0, @typescript-eslint/types@npm:^8.60.0": + version: 8.60.0 + resolution: "@typescript-eslint/types@npm:8.60.0" + checksum: 10c0/d2b6d46081a6521f204fda30e8f03712480b788d80b62b311e0f33764752d3db3bd415dd4e1f8d28495931316da1dfb5ee259e40c5de970367fbaa1efe97223f languageName: node linkType: hard -"@typescript-eslint/typescript-estree@npm:8.59.4": - version: 8.59.4 - resolution: "@typescript-eslint/typescript-estree@npm:8.59.4" +"@typescript-eslint/typescript-estree@npm:8.60.0": + version: 8.60.0 + resolution: "@typescript-eslint/typescript-estree@npm:8.60.0" dependencies: - "@typescript-eslint/project-service": "npm:8.59.4" - "@typescript-eslint/tsconfig-utils": "npm:8.59.4" - "@typescript-eslint/types": "npm:8.59.4" - "@typescript-eslint/visitor-keys": "npm:8.59.4" + "@typescript-eslint/project-service": "npm:8.60.0" + "@typescript-eslint/tsconfig-utils": "npm:8.60.0" + "@typescript-eslint/types": "npm:8.60.0" + "@typescript-eslint/visitor-keys": "npm:8.60.0" debug: "npm:^4.4.3" minimatch: "npm:^10.2.2" semver: "npm:^7.7.3" @@ -1442,32 +1442,32 @@ __metadata: ts-api-utils: "npm:^2.5.0" peerDependencies: typescript: ">=4.8.4 <6.1.0" - checksum: 10c0/2f427f9ba3ea1c7d1f476883f9769827c7082ff3cefcb189dcdb2dc33b16fa459e40894152d42583df90d0ed1041a1043830ecba5326c0b1de6becb9cf22fcee + checksum: 10c0/9a24a3c47646886cc5c9bd984afdf5974d07033a5743318a4c649f9595d620cc1a409366ecb87beaddb9cd4b32e1fc7fc18c0531bda08eacd78025c3636d6c72 languageName: node linkType: hard -"@typescript-eslint/utils@npm:8.59.4": - version: 8.59.4 - resolution: "@typescript-eslint/utils@npm:8.59.4" +"@typescript-eslint/utils@npm:8.60.0": + version: 8.60.0 + resolution: "@typescript-eslint/utils@npm:8.60.0" dependencies: "@eslint-community/eslint-utils": "npm:^4.9.1" - "@typescript-eslint/scope-manager": "npm:8.59.4" - "@typescript-eslint/types": "npm:8.59.4" - "@typescript-eslint/typescript-estree": "npm:8.59.4" + "@typescript-eslint/scope-manager": "npm:8.60.0" + "@typescript-eslint/types": "npm:8.60.0" + "@typescript-eslint/typescript-estree": "npm:8.60.0" peerDependencies: eslint: ^8.57.0 || ^9.0.0 || ^10.0.0 typescript: ">=4.8.4 <6.1.0" - checksum: 10c0/f2e7f6237defd49e578731762e8736e7316e4873e326d48ec56651dcd0204962367f3e91692939e1636f443a8ded524336b7ee0874b6267940e77f5dc8fce175 + checksum: 10c0/c1fe25bc90a62d9f67c1dd3a23bf32c2b1d3fc81bfa34cb41e5cadaeaa825c83c7c69a4abc9bc132f1ee39c7e71e367271a16c47573ed621421a2fa2f0e98dd0 languageName: node linkType: hard -"@typescript-eslint/visitor-keys@npm:8.59.4": - version: 8.59.4 - resolution: "@typescript-eslint/visitor-keys@npm:8.59.4" +"@typescript-eslint/visitor-keys@npm:8.60.0": + version: 8.60.0 + resolution: "@typescript-eslint/visitor-keys@npm:8.60.0" dependencies: - "@typescript-eslint/types": "npm:8.59.4" + "@typescript-eslint/types": "npm:8.60.0" eslint-visitor-keys: "npm:^5.0.0" - checksum: 10c0/fcef4078988d725f0e56104038cc903d78cb5527e10e4da2c29ae7cb65e5b46c6a8f3f20d2be3e83b4cbaf27a723d1d2b31027006b5f1d43bf1fb0baed8e7641 + checksum: 10c0/5ff775fe5352d359e25ed47ce27d8d61dea7aa9aa4d21a3556a9ee02957673e8d4787ad1d0c325977f47cca56ecdce401417864de0c773b6167053fe36bf9e65 languageName: node linkType: hard @@ -1810,13 +1810,13 @@ __metadata: linkType: hard "ast-v8-to-istanbul@npm:^1.0.0": - version: 1.0.0 - resolution: "ast-v8-to-istanbul@npm:1.0.0" + version: 1.0.2 + resolution: "ast-v8-to-istanbul@npm:1.0.2" dependencies: "@jridgewell/trace-mapping": "npm:^0.3.31" estree-walker: "npm:^3.0.3" js-tokens: "npm:^10.0.0" - checksum: 10c0/35e57b754ba63287358094d4f7ae8de2de27286fb4e76a1fbf28b2e67e3b670b59c3f511882473d0fd2cdbaa260062e3cd4f216b724c70032e2b09e5cebbd618 + checksum: 10c0/52bc4e105a20fe5b678b1eeeef6b480b92bc9fba5dd3ce448394f0a7cac15106e23685ac3a9f85f63dd22bc6ad25ea94dc77c4d8ffe0713fba4df7f47ec4b5e2 languageName: node linkType: hard @@ -1905,21 +1905,21 @@ __metadata: globals: "npm:^17.6.0" jiti: "npm:^2.7.0" jsonc-eslint-parser: "npm:^3.1.0" - knip: "npm:^6.14.1" + knip: "npm:^6.14.2" prettier: "npm:^3.8.3" publint: "npm:^0.3.21" typescript: "npm:^6.0.3" - typescript-eslint: "npm:^8.59.4" + typescript-eslint: "npm:^8.60.0" vitest: "npm:^4.1.7" languageName: unknown linkType: soft "blaise-iap-node-provider@git+https://github.com/ONSdigital/blaise-iap-node-provider.git#BLAIS5-5177": version: 1.0.0 - resolution: "blaise-iap-node-provider@https://github.com/ONSdigital/blaise-iap-node-provider.git#commit=e58a98ca4a4ac383e942ab698db6c4f1e9678d41" + resolution: "blaise-iap-node-provider@https://github.com/ONSdigital/blaise-iap-node-provider.git#commit=1ebe030e5d8006eb25768a9ee7ee814c6ddac1a5" dependencies: google-auth-library: "npm:^10.6.2" - checksum: 10c0/704f488d394a7f6a92f5455a8b47c3a70da201db6ac066c183ffa2707cc2469cd15096f685405ab91f8e2d9ad641370fd47cdd91fdf734847c9e054939a7d232 + checksum: 10c0/d414e550159dfa7d6740b7efb4112f7789173d53af0f9d50f3bd53a7a047106dafa71ea7111ec3f6b287fa88126fcc7dc3892b95e6d707a94544c0e51c06aa2d languageName: node linkType: hard @@ -2006,9 +2006,9 @@ __metadata: linkType: hard "comment-parser@npm:^1.4.1": - version: 1.4.6 - resolution: "comment-parser@npm:1.4.6" - checksum: 10c0/10837626fc1cb84531564a5ec145f5818b3830393c09744ebfea4105319824e277bdb60ffcf38f44e165e002909fda835b21e20d032a8f8d068834aaef8af0ca + version: 1.4.7 + resolution: "comment-parser@npm:1.4.7" + checksum: 10c0/09a8e6cc4a9f92e8828bbd8819d8b025cb1bf03d8d611e372627380f55b6401bb0009cf1b7940a028794f150891bfe855185b94173eb89f14b824e847335278d languageName: node linkType: hard @@ -2277,11 +2277,11 @@ __metadata: linkType: hard "es-object-atoms@npm:^1.0.0, es-object-atoms@npm:^1.1.1": - version: 1.1.1 - resolution: "es-object-atoms@npm:1.1.1" + version: 1.1.2 + resolution: "es-object-atoms@npm:1.1.2" dependencies: es-errors: "npm:^1.3.0" - checksum: 10c0/65364812ca4daf48eb76e2a3b7a89b3f6a2e62a1c420766ce9f692665a29d94fe41fe88b65f24106f449859549711e4b40d9fb8002d862dfd7eb1c512d10be0c + checksum: 10c0/1772861f094f739d6f41b579cfb9a18579daffeb434552a370a5fbef50a32d22227e27b63fdbb757b7ddd429d1b42fe52ccae7966d9302a2ec221b6f1b41bbc4 languageName: node linkType: hard @@ -3138,9 +3138,9 @@ __metadata: languageName: node linkType: hard -"knip@npm:^6.14.1": - version: 6.14.1 - resolution: "knip@npm:6.14.1" +"knip@npm:^6.14.2": + version: 6.14.2 + resolution: "knip@npm:6.14.2" dependencies: fdir: "npm:^6.5.0" formatly: "npm:^0.3.0" @@ -3159,7 +3159,7 @@ __metadata: bin: knip: bin/knip.js knip-bun: bin/knip-bun.js - checksum: 10c0/d0221aa904b801a38a38503133d4d67ea4036de045691e127972ddedfde2da37fe1be0648d966f72061cb0dcf8b3e35131038c37401e24d15f1c483920bb4989 + checksum: 10c0/02263901b05a0717efde2ae38ae430da9dce3987714873957bfe33323e57736621d03d85940e0b8cd7e8f542c2f87535a101acccc3c26261b0101c9c3fc565c2 languageName: node linkType: hard @@ -3957,9 +3957,9 @@ __metadata: linkType: hard "tinyexec@npm:^1.0.2": - version: 1.1.2 - resolution: "tinyexec@npm:1.1.2" - checksum: 10c0/9e0ef6c001ce54688cf16833a02f70a339276219ca947b88930b124267de2cffc764ff44e87e7369384b1d75ab63491465412cbbdf06f2437956b9ab66ab4491 + version: 1.2.2 + resolution: "tinyexec@npm:1.2.2" + checksum: 10c0/8bcb4969c572c21d570c033e29cb896e26d96e49e58f4fe07a532d3d65e10bdfae59733bf8a6a0fd9b611543c4ed3b890c939c3234489599296fb92515eb4625 languageName: node linkType: hard @@ -4005,18 +4005,18 @@ __metadata: languageName: node linkType: hard -"typescript-eslint@npm:^8.59.4": - version: 8.59.4 - resolution: "typescript-eslint@npm:8.59.4" +"typescript-eslint@npm:^8.60.0": + version: 8.60.0 + resolution: "typescript-eslint@npm:8.60.0" dependencies: - "@typescript-eslint/eslint-plugin": "npm:8.59.4" - "@typescript-eslint/parser": "npm:8.59.4" - "@typescript-eslint/typescript-estree": "npm:8.59.4" - "@typescript-eslint/utils": "npm:8.59.4" + "@typescript-eslint/eslint-plugin": "npm:8.60.0" + "@typescript-eslint/parser": "npm:8.60.0" + "@typescript-eslint/typescript-estree": "npm:8.60.0" + "@typescript-eslint/utils": "npm:8.60.0" peerDependencies: eslint: ^8.57.0 || ^9.0.0 || ^10.0.0 typescript: ">=4.8.4 <6.1.0" - checksum: 10c0/96241e50eac4e646e56b7950405aa861ff2f744e4268c98e240ee702db0b45463a1e9146f09fbc71bfd8dc53b2b3c43c2f1fab6a92154c7e1c2b7373bcd5c90e + checksum: 10c0/6968de79ab61b1c56d7233260a3092daf578399117d804c46b34dcedf0317b33cd3025ba34789b8dc4567f30f6d62d0d11691c9dca278173abe91772741ab79d languageName: node linkType: hard @@ -4055,9 +4055,9 @@ __metadata: linkType: hard "undici@npm:^6.25.0": - version: 6.25.0 - resolution: "undici@npm:6.25.0" - checksum: 10c0/2597cc6689bdb02c210c557b1f85febbfda65becae6e6fc1061508e2f33734d25207f81cd8af56ada9956329eb3a7bd7431e87dcfeceba20ee87059b57dcf985 + version: 6.26.0 + resolution: "undici@npm:6.26.0" + checksum: 10c0/cf2b4caf58c33d6582970991290cc7a6486d6e738845f25dcdd16952d708ec844815c6d30362919764fcaf30f719891289341f1ada496f003ce2700310453a47 languageName: node linkType: hard @@ -4272,9 +4272,9 @@ __metadata: linkType: hard "vscode-languageserver-textdocument@npm:^1.0.12": - version: 1.0.12 - resolution: "vscode-languageserver-textdocument@npm:1.0.12" - checksum: 10c0/534349894b059602c4d97615a1147b6c4c031141c2093e59657f54e38570f5989c21b376836f13b9375419869242e9efb4066643208b21ab1e1dee111a0f00fb + version: 1.0.13 + resolution: "vscode-languageserver-textdocument@npm:1.0.13" + checksum: 10c0/1de174f1de3bfa9e1660a4b3c1b1c711497196d761e33f4d00785fdbfc556ae5a1f440db04771cbc0f6bd66c2a6f303062bc17d8dc46e76820e39fa2d5626564 languageName: node linkType: hard

  2. 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 }dp^LOFjeQj0*z-gCdrzVTb|4Gm{f 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